diff --git a/COPYRIGHT b/COPYRIGHT index c38873a2f07..534770f0f75 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -16,6 +16,7 @@ AdoDb-Date 0.33 Modified BSD License Yes ChromePHP 4.1.0 Apache Software License 2.0 Yes Return server log to chrome browser console CKEditor 4.3.3 LGPL-2.1+ Yes Editor WYSIWYG EvalMath 1.0 BSD Yes Safe math expressions evaluation +FirePHPCore 0.4.0 MIT License Yes Send logs to Firefox Firebug console FPDI 1.5.2 Apache Software License 2.0 Yes PDF templates management GeoIP 1.4 LGPL-2.1+ Yes Sample code to make geoip convert (not into deb package) Mobiledetect 2.8.3 MIT License Yes Detect mobile devices browsers diff --git a/ChangeLog b/ChangeLog index ff8a5763008..e9bd9ffe3b3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,13 @@ Upgrading to any other version or any other database system is abolutely require make a Dolibarr upgrade. +***** ChangeLog for 3.9 compared to 3.8.* ***** + +WARNING: Following changes may create regression for some external modules, but were necessary to make +Dolibarr better: +- Deprecated hidden option MAIN_USE_CUSTOM_TRANSLATION has been removed. Use MAIN_OVERWRITE_TRANS_xx_YY instead. + + ***** ChangeLog for 3.8 compared to 3.7.* ***** For users: FIX: #2519 @@ -271,11 +278,11 @@ FIX send mail, copy sendto don't read the list of contact FIX Properly escape untrusted data to prevent HTML injection. FIX send mail, copy sendto don't read the list of contact -Path to save photos of products was moved in 3.7.0 to match path of other attached files. If you had loose +Path to save photos of products was moved in 3.7.0 to match path of other attached files. If you had loose your photo on the photo tab of products, you can set the constant "PRODUCT_USE_OLD_PATH_FOR_PHOTO" to restore old path. -WARNING: +WARNING: Do not try to make any Dolibarr upgrade if you are running Mysql version 5.5.40. Mysql version 5.5.40 has a very critical bug making your data beeing definitely lost. @@ -285,7 +292,7 @@ make a Dolibarr upgrade. ***** ChangeLog for 3.7 compared to 3.6.* ***** For users: -- New: Match other auth system: Login can be done entering login or user +- New: Match other auth system: Login can be done entering login or user email (this open the road for SSO). - New: Agenda export by project #1967. - New: Increase length of thirdparty to 128 chars. @@ -306,14 +313,14 @@ For users: - New: Can filter on status on interventions. - New: Add help info of field type into dictionary of payment types. - New: Add proposals into referer page of thirdparty. -- New: On contact list can set filter on both active and not active (no more exclusive select). +- New: On contact list can set filter on both active and not active (no more exclusive select). - New: Intervention documents are now available in ECM module. - New: Can attach supplier order to a customer order. -- New: Supervisor is now visible into user list. +- New: Supervisor is now visible into user list. - New: Add user of creation and validation on invoice export. - New: Add info page about browser. - New: Enable feature developed for 3.6 we forgot to enabled: Adding prefix - on uploaded file names. + on uploaded file names. - New: No more dependency between contract and service module. - New: [ task #867 ] Remove ESAEB external module code from core. - New: Can create proposal from an intervention. @@ -344,7 +351,7 @@ For users: Use accesskey on form search. - New: Intervention documents are now available in ECM module. - New: Add attachments on user card + in ECM module. -- New: Can add __PROJECT_REF__ and __TIHRPARTY_NAME__ into email topic or content template. +- New: Can add __PROJECT_REF__ and __TIHRPARTY_NAME__ into email topic or content template. - New: [ task #1204 ] add Numering contrat module free (like leopard in product module). - New: [ task #712 ] Add warning when creating invoice from proposal or order, when there is already one invoice. - New: Enable supplier price log table. @@ -352,8 +359,8 @@ For users: - New: [ task #1218 ] Can drag and drop an event from calendar to change its day. - New: Optimize size of image static resources. - New: Add hourly and daily amount on user card. Add weekly working hours and salary on user card. -- New: Content of predefined email come firstly from table llx_c_email_template, then translation key. -- New: Add option MAIN_GENERATE_INVOICES_WITH_PICTURE to show picture +- New: Content of predefined email come firstly from table llx_c_email_template, then translation key. +- New: Add option MAIN_GENERATE_INVOICES_WITH_PICTURE to show picture onto PDF like MAIN_GENERATE_PROPOSALS_WITH_PICTURE dir for proposals. - New: Add more search field in list of cheque deposits. - New: Add feature to order to invoice on supplier part. @@ -456,8 +463,8 @@ Dolibarr better: - Deprecated module "oscommerce" were removed. - Changed the way parameters are provided to scripts sync_xxx_ldap2dolibarr.php - Some field into database were renamed from "libelle" to "label". -- Table llx_c_pays were renamed into llx_c_country. -- Triggers *_BUILDDOC are removed. Building a doc is not a business event. For action after +- Table llx_c_pays were renamed into llx_c_country. +- Triggers *_BUILDDOC are removed. Building a doc is not a business event. For action after creation of a pdf or odt, hook "afterPDFCreation" or "afterODTCreation" must be used instead. - A lot of pages named fiche.php were renamed into card.php - A lot of pages named liste.php were renamed into list.php @@ -618,7 +625,7 @@ For users: - Fix: Add actions events not implemented. - Fix: Price min of composition is not supplier price min by quantity. - Fix: [ bug #1356 ] Bank accountancy number is limited to 8 numbers. -- Fix: [ bug #1439 ] impossible to remove a a translation (multilanguage-feature) +- Fix: [ bug #1439 ] impossible to remove a a translation (multilanguage-feature) - New: If multilangue is enabled, mail (from propal, invoice, etc...) message is pre-defaulted in Customer language - Fix: [ bug #1459 ] _ADD_CONTACT and _DEL_CONTACT triggers do not intercept insertion when reported an error - Fix: [ bug #1478 ] BILL_PAYED trigger action does not intercept failure under some circumstances @@ -648,8 +655,8 @@ For developers: - New: A module can disable a standard ECM view. - New: Add multilang support into product webservice. - New: Add hooks on project card page. -- New: Add call_trigger method on CommonObject class. So new trigger call within object is just : -$result = $this->call_trigger($trigger_name, $user) +- New: Add call_trigger method on CommonObject class. So new trigger call within object is just : +$result = $this->call_trigger($trigger_name, $user) WARNING: Following change may create regression for some external modules, but was necessary to make Dolibarr better: diff --git a/build/debian/apache/dolibarr.conf b/build/debian/apache/dolibarr.conf index 95eaae21190..bdbb6e1b4c3 100644 --- a/build/debian/apache/dolibarr.conf +++ b/build/debian/apache/dolibarr.conf @@ -15,7 +15,7 @@ Alias /dolibarr /usr/share/dolibarr/htdocs # Require all granted # # -# Order allow, deny +# Order allow,deny # Allow from all # # @@ -27,7 +27,7 @@ Alias /dolibarr /usr/share/dolibarr/htdocs Require all granted - Order allow, deny + Order allow,deny Allow from all diff --git a/build/exe/doliwamp/UsedPort.cpp b/build/exe/doliwamp/UsedPort.cpp index 15d2978b3bb..e2724b831a1 100644 --- a/build/exe/doliwamp/UsedPort.cpp +++ b/build/exe/doliwamp/UsedPort.cpp @@ -277,7 +277,7 @@ help=!(Port > 0); Usage: if (help) { printf("----- %s V%s (c)Laurent Destailleur -----\n",PROG,VERSION); - printf("%s is a software that allows you to know if a TCP/IP port is used\n",PROG); + printf("%s is software that allows you to know if a TCP/IP port is used\n",PROG); printf("%s sources can be compiled for WIN32 (VC++, GCC CYGWIN, MINGW) or for\n"); printf("Unix/Linux (GCC)\n",PROG); printf("\n"); diff --git a/build/generate_filecheck_xml.php b/build/generate_filecheck_xml.php index 04970b667f5..dbe96b4c0e9 100644 --- a/build/generate_filecheck_xml.php +++ b/build/generate_filecheck_xml.php @@ -39,12 +39,14 @@ parse_str($argv[1]); $outputfile=dirname(__FILE__).'/../htdocs/install/filelist.xml'; $fp = fopen($outputfile,'w'); fputs($fp, ''."\n"); -fputs($fp, ''."\n"); -fputs($fp, ''."\n"); -$dir_iterator = new RecursiveDirectoryIterator(dirname(__FILE__).'/../htdocs/'); -$iterator = new RecursiveIteratorIterator($dir_iterator); +fputs($fp, ''."\n"); + +fputs($fp, ''."\n"); + +$dir_iterator1 = new RecursiveDirectoryIterator(dirname(__FILE__).'/../htdocs/'); +$iterator1 = new RecursiveIteratorIterator($dir_iterator1); // need to ignore document custom etc -$files = new RegexIterator($iterator, '#^(?:[A-Z]:)?(?:/(?!(?:custom|documents|conf|install|nltechno))[^/]+)+/[^/]+\.(?:php|css|html|js|json|tpl|jpg|png|gif|sql|lang)$#i'); +$files = new RegexIterator($iterator1, '#^(?:[A-Z]:)?(?:/(?!(?:custom|documents|conf|install|nltechno))[^/]+)+/[^/]+\.(?:php|css|html|js|json|tpl|jpg|png|gif|sql|lang)$#i'); $dir=''; $needtoclose=0; foreach ($files as $file) { @@ -61,7 +63,34 @@ foreach ($files as $file) { } } fputs($fp, ''."\n"); -fputs($fp, ''."\n"); +fputs($fp, ''."\n"); + + +fputs($fp, ''."\n"); + +$dir_iterator2 = new RecursiveDirectoryIterator(dirname(__FILE__).'/../scripts/'); +$iterator2 = new RecursiveIteratorIterator($dir_iterator2); +// need to ignore document custom etc +$files = new RegexIterator($iterator2, '#^(?:[A-Z]:)?(?:/(?!(?:custom|documents|conf|install|nltechno))[^/]+)+/[^/]+\.(?:php|css|html|js|json|tpl|jpg|png|gif|sql|lang)$#i'); +$dir=''; +$needtoclose=0; +foreach ($files as $file) { + $newdir = str_replace(dirname(__FILE__).'/../scripts', '', dirname($file)); + if ($newdir!=$dir) { + if ($needtoclose) + fputs($fp, ''."\n"); + fputs($fp, ''."\n"); + $dir = $newdir; + $needtoclose=1; + } + if (filetype($file)=="file") { + fputs($fp, ''.md5_file($file).''."\n"); + } +} +fputs($fp, ''."\n"); +fputs($fp, ''."\n"); + + fputs($fp, ''."\n"); fclose($fp); diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 2b31d1f26a6..99ec7b3543a 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -467,6 +467,7 @@ if ($nboftargetok) { # Removed known external modules to avoid any error when packaging from env where external modules are tested $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/custom/*`; # For custom we want to keep dir + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/allscreens*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/ancotec*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/cabinetmed*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/calling*`; @@ -481,8 +482,8 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/pos*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/teclib*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/timesheet*`; - # Removed other test files $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/themes/oblyon*`; + # Removed other test files $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/themes/eldy/*.new`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/public/api/explorer`; # This is a dev tool $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/public/test`; diff --git a/build/makepack-howto.txt b/build/makepack-howto.txt index 173c01c6f8b..813db9bb4b8 100644 --- a/build/makepack-howto.txt +++ b/build/makepack-howto.txt @@ -10,13 +10,12 @@ beta version of Dolibarr, step by step. - Check all files are commited. - Update version/info in ChangeLog. To generate a changelog, you can do "git log `git merge-base 3.7.0 origin/develop`.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^FIX\|NEW' | sort -u | sed 's/FIXED:/FIX:/g' | sed 's/FIXED :/FIX:/g' | sed 's/FIX :/FIX:/g' | sed 's/FIX /FIX: /g' | sed 's/NEW :/NEW:/g' | sed 's/NEW /NEW: /g' > /tmp/aaa" - Update version number with x.y.z-w in htdocs/filefunc.inc.php -- Update version number with x.y.z-w in build/debian/changelog - Commit all changes. -- Add a Tag (x.y.z-beta) and push it: git push --tags -- Create a branch (x.y). - Run makepack-dolibarr.pl to generate all packages. +- Create a branch (x.y), if version seems stable enough. + - Move build files into www.dolibarr.org web site (/home/dolibarr/wwwroot/files/lastbuild). @@ -31,7 +30,6 @@ complete release of Dolibarr, step by step. - Check all files are commited. - Update version/info in ChangeLog. To generate a changelog, you can do "git log `git merge-base 3.7.0 origin/develop`.. --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^FIX\|NEW' | sort -u | sed 's/FIXED:/FIX:/g' | sed 's/FIXED :/FIX:/g' | sed 's/FIX :/FIX:/g' | sed 's/FIX /FIX: /g' | sed 's/NEW :/NEW:/g' | sed 's/NEW /NEW: /g' > /tmp/aaa" - Update version number with x.y.z in htdocs/filefunc.inc.php -- Update version number with x.y.z in build/debian/changelog - Commit all changes. - Run makepack-dolibarr.pl to generate all packages. diff --git a/composer.json b/composer.json index cddc166bb42..80e55b6a221 100644 --- a/composer.json +++ b/composer.json @@ -21,7 +21,8 @@ "phpoffice/phpexcel": "1.8.0", "restler/framework": "^3.0", "tecnick.com/tcpdf": "6.2.6", - "raven/raven": "^0.12.0" + "raven/raven": "^0.12.0", + "firephp/firephp-core": "^0.4.0" }, "suggest": { "ext-mysqlnd": "To use with MySQL or MariaDB", diff --git a/composer.lock b/composer.lock index 81c767d5e9b..f178ec4f419 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "2ab34d0ff69b48500c20621330c1bfd7", + "hash": "f441e6348ae7862942693cab10810418", "packages": [ { "name": "ccampbell/chromephp", @@ -90,6 +90,42 @@ ], "time": "2014-02-26 15:34:37" }, + { + "name": "firephp/firephp-core", + "version": "v0.4.0", + "source": { + "type": "git", + "url": "https://github.com/firephp/firephp-core.git", + "reference": "fabad0f2503f9577fe8dd2cb1d1c7cd73ed2aacf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/firephp/firephp-core/zipball/fabad0f2503f9577fe8dd2cb1d1c7cd73ed2aacf", + "reference": "fabad0f2503f9577fe8dd2cb1d1c7cd73ed2aacf", + "shasum": "" + }, + "type": "library", + "autoload": { + "classmap": [ + "lib/FirePHPCore/FirePHP.class.php", + "lib/FirePHPCore/fb.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christoph Dorn", + "email": "christoph@christophdorn.com", + "homepage": "http://christophdorn.com" + } + ], + "description": "Traditional FirePHPCore library for sending PHP variables to the browser.", + "homepage": "https://github.com/firephp/firephp-core", + "time": "2013-04-23 15:28:20" + }, { "name": "mobiledetect/mobiledetectlib", "version": "2.8.3", diff --git a/dev/skeletons/build_class_from_table.php b/dev/skeletons/build_class_from_table.php index 6dac857ac11..f4f25c84391 100755 --- a/dev/skeletons/build_class_from_table.php +++ b/dev/skeletons/build_class_from_table.php @@ -50,16 +50,16 @@ print "***** $script_file ($version) *****\n"; // -------------------- START OF BUILD_CLASS_FROM_TABLE SCRIPT -------------------- // Check parameters -if (! isset($argv[1]) || (isset($argv[2]) && ! isset($argv[6]))) +if (! isset($argv[1]) || ! isset($argv[2]) || (isset($argv[3]) && ! isset($argv[7]))) { - print "Usage: $script_file tablename [server port databasename user pass]\n"; + print "Usage: $script_file tablename modulename [server port databasename user pass]\n"; exit; } -if (isset($argv[2]) && isset($argv[3]) && isset($argv[4]) && isset($argv[5]) && isset($argv[6])) +if (isset($argv[3]) && isset($argv[4]) && isset($argv[5]) && isset($argv[6]) && isset($argv[7])) { print 'Use specific database ids'."\n"; - $db=getDoliDBInstance('mysqli',$argv[2],$argv[5],$argv[6],$argv[4],$argv[3]); + $db=getDoliDBInstance('mysqli',$argv[3],$argv[6],$argv[7],$argv[5],$argv[4]); } if ($db->type != 'mysql' && $db->type != 'mysqli') @@ -68,15 +68,18 @@ if ($db->type != 'mysql' && $db->type != 'mysqli') exit; } +$table=$argv[1]; +$module=$argv[2]; + // Show parameters -print 'Tablename: '.$argv[1]."\n"; +print 'Tablename: '.$table."\n"; +print 'Modulename: '.$module."\n"; print "Current dir: ".getcwd()."\n"; print "Database name: ".$db->database_name."\n"; // Define array with list of properties $property=array(); -$table=$argv[1]; $foundprimary=0; $resql=$db->DDLDescTable($table); if ($resql) @@ -160,7 +163,7 @@ foreach($property as $key => $prop) // Define working variables $table=strtolower($table); -$tablenoprefix=preg_replace('/'.preg_quote(MAIN_DB_PREFIX).'/i','',$table); +$tablenoprefix=preg_replace('/'.preg_quote(MAIN_DB_PREFIX,'/').'/i','',$table); $classname=preg_replace('/_/','',ucfirst($tablenoprefix)); $classmin=preg_replace('/_/','',strtolower($classname)); @@ -180,11 +183,18 @@ if (! $sourcecontent) $outfile='out.'.$classmin.'.class.php'; $targetcontent=$sourcecontent; +// Substitute module name +$targetcontent=preg_replace('/dev\/skeletons/', $module, $targetcontent); +$targetcontent=preg_replace('/mymodule othermodule1 othermodule2/', $module, $targetcontent); +$targetcontent=preg_replace('/mymodule/', $module, $targetcontent); + // Substitute class name $targetcontent=preg_replace('/skeleton_class\.class\.php/', $classmin.'.class.php', $targetcontent); $targetcontent=preg_replace('/\$element = \'skeleton\'/', '\$element = \''.$classmin.'\'', $targetcontent); $targetcontent=preg_replace('/\$table_element = \'skeleton\'/', '\$table_element = \''.$tablenoprefix.'\'', $targetcontent); $targetcontent=preg_replace('/Skeleton_Class/', $classname, $targetcontent); +$targetcontent=preg_replace('/skeletons/', $classmin, $targetcontent); +$targetcontent=preg_replace('/skeleton/', $classmin, $targetcontent); // Substitute comments $targetcontent=preg_replace('/This file is an example to create a new class file/', 'Put here description of this class', $targetcontent); @@ -208,8 +218,8 @@ foreach($property as $key => $prop) $varprop.="\n"; } } -$targetcontent=preg_replace('/public \$prop1;/', $varprop, $targetcontent); -$targetcontent=preg_replace('/public \$prop2;/', '', $targetcontent); +$targetcontent=preg_replace('/'.preg_quote('public $prop1;','/').'/', $varprop, $targetcontent); +$targetcontent=preg_replace('/'.preg_quote('public $prop2;','/').'/', '', $targetcontent); $targetcontent=preg_replace('/\*((\s|\n|\r|\t)*)\@var mixed Sample property 1((\s|\n|\r|\t)*)/', '', $targetcontent); $targetcontent=preg_replace('/\*((\s|\n|\r|\t)*)\@var mixed Sample property 2((\s|\n|\r|\t)*)/', '', $targetcontent); @@ -284,7 +294,7 @@ foreach($property as $key => $prop) elseif ($prop['istime']) { $varprop.='\'.(! isset($this->'.$prop['field'].') || dol_strlen($this->'.$prop['field'].')==0?\'NULL\':"\'".$this->db->idate('; - $varprop.="\$this->".$prop['field'].""; + $varprop.="\$this->".$prop['field']; $varprop.=").\"'\")"; } elseif ($prop['ischar']) @@ -300,14 +310,14 @@ foreach($property as $key => $prop) elseif ($prop['isint']) { $varprop.='\'.(! isset($this->'.$prop['field'].')?\'NULL\':'; - $varprop.="\$this->".$prop['field'].""; + $varprop.="\$this->".$prop['field']; $varprop.=')'; } else { $varprop.='\'.(! isset($this->'.$prop['field'].')?\'NULL\':"\'".'; - $varprop.="\$this->".$prop['field'].""; - $varprop.='"\'")'; + $varprop.="\$this->".$prop['field']; + $varprop.='."\'")'; } if ($i < (count($property)-$no_output_field)) $varprop.=".','"; @@ -439,6 +449,7 @@ if ($fp) else $error++; + //-------------------------------- // Build skeleton_script.php //-------------------------------- @@ -458,12 +469,19 @@ if (! $sourcecontent) $outfile='out.'.$classmin.'_script.php'; $targetcontent=$sourcecontent; +// Substitute module name +$targetcontent=preg_replace('/dev\/skeletons/', $module, $targetcontent); +$targetcontent=preg_replace('/mymodule othermodule1 othermodule2/', $module, $targetcontent); +$targetcontent=preg_replace('/mymodule/', $module, $targetcontent); + // Substitute class name $targetcontent=preg_replace('/skeleton_class\.class\.php/', $classmin.'.class.php', $targetcontent); $targetcontent=preg_replace('/skeleton_script\.php/', $classmin.'_script.php', $targetcontent); $targetcontent=preg_replace('/\$element = \'skeleton\'/', '\$element=\''.$classmin.'\'', $targetcontent); $targetcontent=preg_replace('/\$table_element = \'skeleton\'/', '\$table_element=\''.$classmin.'\'', $targetcontent); $targetcontent=preg_replace('/Skeleton_Class/', $classname, $targetcontent); +$targetcontent=preg_replace('/skeletons/', $classmin, $targetcontent); +$targetcontent=preg_replace('/skeleton/', $classmin, $targetcontent); // Substitute comments $targetcontent=preg_replace('/This file is an example to create a new class file/', 'Put here description of this class', $targetcontent); @@ -504,13 +522,19 @@ if (! $sourcecontent) $outfile='out.'.$classmin.'_page.php'; $targetcontent=$sourcecontent; +// Substitute module name +$targetcontent=preg_replace('/dev\/skeletons/', $module, $targetcontent); +$targetcontent=preg_replace('/mymodule othermodule1 othermodule2/', $module, $targetcontent); +$targetcontent=preg_replace('/mymodule/', $module, $targetcontent); + // Substitute class name $targetcontent=preg_replace('/skeleton_class\.class\.php/', $classmin.'.class.php', $targetcontent); $targetcontent=preg_replace('/skeleton_script\.php/', $classmin.'_script.php', $targetcontent); $targetcontent=preg_replace('/\$element = \'skeleton\'/', '\$element=\''.$classmin.'\'', $targetcontent); $targetcontent=preg_replace('/\$table_element = \'skeleton\'/', '\$table_element=\''.$classmin.'\'', $targetcontent); $targetcontent=preg_replace('/Skeleton_Class/', $classname, $targetcontent); -$targetcontent=preg_replace('/skeleton/', $classname, $targetcontent); +$targetcontent=preg_replace('/skeletons/', $classmin, $targetcontent); +$targetcontent=preg_replace('/skeleton/', $classmin, $targetcontent); // Substitute comments $targetcontent=preg_replace('/This file is an example to create a new class file/', 'Put here description of this class', $targetcontent); @@ -520,9 +544,79 @@ $targetcontent=preg_replace('/Put here some comments/','Initialy built by build_ // Substitute table name $targetcontent=preg_replace('/MAIN_DB_PREFIX."mytable/', 'MAIN_DB_PREFIX."'.$tablenoprefix, $targetcontent); +// Substitute GETPOST search_fieldx +$varprop="\n"; +$cleanparam=''; +foreach($property as $key => $prop) +{ + if ($prop['field'] != 'rowid' && $prop['field'] != 'id' && ! $prop['istime']) + { + if ($prop['isint']) $varprop.='$search_'.$prop['field']."=GETPOST('search_".$prop['field']."','int');\n"; + else $varprop.='$search_'.$prop['field']."=GETPOST('search_".$prop['field']."','alpha');\n"; + } +} +$targetcontent=preg_replace('/'.preg_quote('$search_field1=GETPOST("search_field1");','/').'/', $varprop, $targetcontent); +$targetcontent=preg_replace('/'.preg_quote('$search_field2=GETPOST("search_field2");','/').'/', '', $targetcontent); + +// Substitute GETPOST fieldx +$varprop="\n"; +$cleanparam=''; +foreach($property as $key => $prop) +{ + if ($prop['field'] != 'rowid' && $prop['field'] != 'id' && ! $prop['istime']) + { + if ($prop['isint']) $varprop.="\t\$object->".$prop['field']."=GETPOST('".$prop['field']."','int');\n"; + else $varprop.="\t\$object->".$prop['field']."=GETPOST('".$prop['field']."','alpha');\n"; + } +} +$targetcontent=preg_replace('/'.preg_quote('$object->prop1=GETPOST("field1");','/').'/', $varprop, $targetcontent); +$targetcontent=preg_replace('/'.preg_quote('$object->prop2=GETPOST("field2");','/').'/', '', $targetcontent); + // Substitute fetch/select parameters -$targetcontent=preg_replace('/\$sql \.= " t\.field1,";/', $varpropselect, $targetcontent); -$targetcontent=preg_replace('/\$sql \.= " t\.field2";/', '', $targetcontent); +$targetcontent=preg_replace('/\$sql\s*\.= " t\.field1,";/', $varpropselect, $targetcontent); +$targetcontent=preg_replace('/\$sql\s*\.= " t\.field2";/', '', $targetcontent); + +// Substitute where for search +$varprop="\n"; +$cleanparam=''; +foreach($property as $key => $prop) +{ + if ($prop['field'] != 'rowid' && $prop['field'] != 'id' && ! $prop['istime']) + { + $varprop.='if ($search_'.$prop['field'].') $sql.= natural_search("'.$prop['field'].'",$search_'.$prop['field'].');'."\n"; + } +} +$targetcontent=preg_replace('/'.preg_quote('if ($search_field1) $sql.= natural_search("field1",$search_field1);','/').'/', $varprop, $targetcontent); +$targetcontent=preg_replace('/'.preg_quote('if ($search_field2) $sql.= natural_search("field2",$search_field2);','/').'/', '', $targetcontent); + +// Substitute print_liste_field_titre +$varprop="\n"; +$cleanparam=''; +foreach($property as $key => $prop) +{ + if ($prop['field'] != 'rowid' && $prop['field'] != 'id' && ! $prop['istime']) + { + $varprop.="print_liste_field_titre(\$langs->trans('".$prop['field']."'),\$_SERVER['PHP_SELF'],'t.".$prop['field']."','',\$param,'',\$sortfield,\$sortorder);\n"; + } +} + +$targetcontent=preg_replace('/'.preg_quote("print_liste_field_titre(\$langs->trans('field1'),\$_SERVER['PHP_SELF'],'t.field1','',\$param,'',\$sortfield,\$sortorder);",'/').'/', $varprop, $targetcontent); +$targetcontent=preg_replace('/'.preg_quote("print_liste_field_titre(\$langs->trans('field2'),\$_SERVER['PHP_SELF'],'t.field1','',\$param,'',\$sortfield,\$sortorder);",'/').'/', '', $targetcontent); + +// Substitute where for .fieldx. +$varprop="\n"; +$cleanparam=''; +foreach($property as $key => $prop) +{ + if ($prop['field'] != 'rowid' && $prop['field'] != 'id' && ! $prop['istime']) + { + $varprop.="print ''.\$obj->".$prop['field'].".'';\n"; + } +} +$targetcontent=preg_replace('/'.preg_quote("print ''.\$obj->field1.'';",'/').'/', $varprop, $targetcontent); +$targetcontent=preg_replace('/'.preg_quote("print ''.\$obj->field2.'';",'/').'/', '', $targetcontent); + + // Build file $fp=fopen($outfile,"w"); diff --git a/dev/skeletons/modMyModule.class.php b/dev/skeletons/modMyModule.class.php index 8c55edc3d1a..518b4f4d018 100644 --- a/dev/skeletons/modMyModule.class.php +++ b/dev/skeletons/modMyModule.class.php @@ -228,11 +228,14 @@ class modMyModule extends DolibarrModules // Example: // $this->export_code[$r]=$this->rights_class.'_'.$r; - // $this->export_label[$r]='CustomersInvoicesAndInvoiceLines'; // Translation key (used only if key ExportDataset_xxx_z not found) + // $this->export_label[$r]='MyModule'; // Translation key (used only if key ExportDataset_xxx_z not found) // $this->export_enabled[$r]='1'; // Condition to show export in list (ie: '$user->id==3'). Set to 1 to always show when module is enabled. - // $this->export_permission[$r]=array(array("facture","facture","export")); + // $this->export_icon[$r]='generic:MyModule'; + // $this->export_permission[$r]=array(array("mymodule","level1","level2")); // $this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','s.fk_pays'=>'Country','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.total'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note'=>"InvoiceNote",'fd.rowid'=>'LineId','fd.description'=>"LineDescription",'fd.price'=>"LineUnitPrice",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.total_ht'=>"LineTotalHT",'fd.total_tva'=>"LineTotalTVA",'fd.total_ttc'=>"LineTotalTTC",'fd.date_start'=>"DateStart",'fd.date_end'=>"DateEnd",'fd.fk_product'=>'ProductId','p.ref'=>'ProductRef'); + // $this->export_TypeFields_array[$r]=array('t.date'=>'Date', 't.qte'=>'Numeric', 't.poids'=>'Numeric', 't.fad'=>'Numeric', 't.paq'=>'Numeric', 't.stockage'=>'Numeric', 't.fadparliv'=>'Numeric', 't.livau100'=>'Numeric', 't.forfait'=>'Numeric', 's.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Numeric",'f.total_ttc'=>"Numeric",'f.tva'=>"Numeric",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_private'=>"Text",'f.note_public'=>"Text",'fd.description'=>"Text",'fd.subprice'=>"Numeric",'fd.tva_tx'=>"Numeric",'fd.qty'=>"Numeric",'fd.total_ht'=>"Numeric",'fd.total_tva'=>"Numeric",'fd.total_ttc'=>"Numeric",'fd.date_start'=>"Date",'fd.date_end'=>"Date",'fd.special_code'=>'Numeric','fd.product_type'=>"Numeric",'fd.fk_product'=>'List:product:label','p.ref'=>'Text','p.label'=>'Text','p.accountancy_code_sell'=>'Text'); // $this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','s.fk_pays'=>'company','s.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.total'=>"invoice",'f.total_ttc'=>"invoice",'f.tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note'=>"invoice",'fd.rowid'=>'invoice_line','fd.description'=>"invoice_line",'fd.price'=>"invoice_line",'fd.total_ht'=>"invoice_line",'fd.total_tva'=>"invoice_line",'fd.total_ttc'=>"invoice_line",'fd.tva_tx'=>"invoice_line",'fd.qty'=>"invoice_line",'fd.date_start'=>"invoice_line",'fd.date_end'=>"invoice_line",'fd.fk_product'=>'product','p.ref'=>'product'); + // $this->export_dependencies_array[$r]=array('invoice_line'=>'fd.rowid','product'=>'fd.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them // $this->export_sql_start[$r]='SELECT DISTINCT '; // $this->export_sql_end[$r] =' FROM ('.MAIN_DB_PREFIX.'facture as f, '.MAIN_DB_PREFIX.'facturedet as fd, '.MAIN_DB_PREFIX.'societe as s)'; // $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product as p on (fd.fk_product = p.rowid)'; diff --git a/dev/skeletons/skeleton_class.class.php b/dev/skeletons/skeleton_class.class.php index 2f8c78556e1..1903d6f4572 100644 --- a/dev/skeletons/skeleton_class.class.php +++ b/dev/skeletons/skeleton_class.class.php @@ -35,19 +35,10 @@ require_once DOL_DOCUMENT_ROOT . '/core/class/commonobject.class.php'; * Class Skeleton_Class * * Put here description of your class + * @see CommonObject */ class Skeleton_Class extends CommonObject { - /** - * @var string Error code (or message) - * @deprecated - * @see Skeleton_Class::errors - */ - public $error; - /** - * @var string[] Error codes (or messages) - */ - public $errors = array(); /** * @var string Id to identify managed objects */ @@ -62,10 +53,6 @@ class Skeleton_Class extends CommonObject */ public $lines = array(); - /** - * @var int ID - */ - public $id; /** * @var mixed Sample property 1 */ diff --git a/dev/skeletons/skeleton_page.php b/dev/skeletons/skeleton_page.php index a74088b3702..0eb3b01589c 100644 --- a/dev/skeletons/skeleton_page.php +++ b/dev/skeletons/skeleton_page.php @@ -44,7 +44,7 @@ if (! $res && file_exists("../../../../dolibarr/htdocs/main.inc.php")) $res=@inc if (! $res) die("Include of main fails"); // Change this following line to use the correct relative path from htdocs include_once(DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'); -dol_include_once('/module/class/skeleton_class.class.php'); +dol_include_once('/mymodule/class/skeleton_class.class.php'); // Load traductions files requiredby by page $langs->load("companies"); @@ -56,6 +56,9 @@ $action = GETPOST('action','alpha'); $backtopage = GETPOST('backtopage'); $myparam = GETPOST('myparam','alpha'); +$search_field1=GETPOST("search_field1"); +$search_field2=GETPOST("search_field2"); + // Protection if external user if ($user->societe_id > 0) { @@ -95,7 +98,7 @@ if (empty($reshook)) { if (GETPOST('cancel')) { - $urltogo=$backtopage?$backtopage:dol_buildpath('/buildingmanagement/list.php',1); + $urltogo=$backtopage?$backtopage:dol_buildpath('/mymodule/list.php',1); header("Location: ".$urltogo); exit; } @@ -149,7 +152,7 @@ if (empty($reshook)) if (empty($object->ref)) { $error++; - setEventMessages($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Ref")),null,'errors'); + setEventMessages($langs->transnoentitiesnoconv("ErrorFieldRequired",$langs->transnoentitiesnoconv("Ref")),null,'errors'); } if (! $error) @@ -180,7 +183,7 @@ if (empty($reshook)) if ($result > 0) { // Delete OK - setEventMessages($langs->trans("RecordDeleted"), null, 'mesgs'); + setEventMessages("RecordDeleted", null, 'mesgs'); header("Location: ".dol_buildpath('/buildingmanagement/list.php',1)); exit; } @@ -227,7 +230,10 @@ jQuery(document).ready(function() { // Part to show a list if ($action == 'list' || (empty($id) && $action != 'create')) { - $sql = "SELECT"; + // Put here content of your page + print load_fiche_titre('PageTitle'); + + $sql = "SELECT"; $sql.= " t.rowid,"; $sql.= " t.field1,"; $sql.= " t.field2"; @@ -238,55 +244,73 @@ if ($action == 'list' || (empty($id) && $action != 'create')) $reshook=$hookmanager->executeHooks('printFieldListSelect',$parameters); // Note that $action and $object may have been modified by hook $sql.=$hookmanager->resPrint; $sql.= " FROM ".MAIN_DB_PREFIX."mytable as t"; - $sql.= " WHERE field3 = 'xxx'"; + $sql.= " WHERE 1 = 1"; + if ($search_field1) $sql.= natural_search("field1",$search_field1); + if ($search_field2) $sql.= natural_search("field2",$search_field2); + // Add where from hooks $parameters=array(); $reshook=$hookmanager->executeHooks('printFieldListWhere',$parameters); // Note that $action and $object may have been modified by hook $sql.=$hookmanager->resPrint; - $sql.=$db->order($sortfield, $sortorder); - - print '
'; - - if (! empty($moreforfilter)) - { - print '
'; - print $moreforfilter; - $parameters=array(); - $reshook=$hookmanager->executeHooks('printFieldPreListTitle',$parameters); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; - print '
'; - } - - print ''."\n"; - - // Fields title - print ''; - print_liste_field_titre($langs->trans('field1'),$_SERVER['PHP_SELF'],'t.field1','',$param,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans('field2'),$_SERVER['PHP_SELF'],'t.field2','',$param,'',$sortfield,$sortorder); - $parameters=array(); - $reshook=$hookmanager->executeHooks('printFieldListTitle',$parameters); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; - print ''."\n"; - - // Fields title search - print ''; - print ''; - print ''; - $parameters=array(); - $reshook=$hookmanager->executeHooks('printFieldListOption',$parameters); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; - print ''."\n"; + // Count total nb of records + $nbtotalofrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) + { + $result = $db->query($sql); + $nbtotalofrecords = $db->num_rows($result); + } + + $sql.= $db->order($sortfield, $sortorder); + $sql.= $db->plimit($conf->liste_limit+1, $offset); + dol_syslog($script_file, LOG_DEBUG); $resql=$db->query($sql); if ($resql) { $num = $db->num_rows($resql); + + $params=''; + $params.= '&search_field1='.urlencode($search_field1); + $params.= '&search_field2='.urlencode($search_field2); + + print_barre_liste($title, $page, $_SERVER["PHP_SELF"],$params,$sortfield,$sortorder,'',$num,$nbtotalofrecords,'title_companies'); + + + print ''; + + if (! empty($moreforfilter)) + { + print '
'; + print $moreforfilter; + $parameters=array(); + $reshook=$hookmanager->executeHooks('printFieldPreListTitle',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + print '
'; + } + + print '
'; - print ''; - print ''; - print ''; - print '
'."\n"; + + // Fields title + print ''; + print_liste_field_titre($langs->trans('field1'),$_SERVER['PHP_SELF'],'t.field1','',$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans('field2'),$_SERVER['PHP_SELF'],'t.field2','',$param,'',$sortfield,$sortorder); + $parameters=array(); + $reshook=$hookmanager->executeHooks('printFieldListTitle',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + print ''."\n"; + + // Fields title search + print ''; + print ''; + print ''; + $parameters=array(); + $reshook=$hookmanager->executeHooks('printFieldListOption',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + print ''."\n"; + + $i = 0; while ($i < $num) { @@ -295,11 +319,8 @@ if ($action == 'list' || (empty($id) && $action != 'create')) { // You can use here results print ''; - print ''; + print ''; + print ''; $parameters=array('obj' => $obj); $reshook=$hookmanager->executeHooks('printFieldListValue',$parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; @@ -307,21 +328,22 @@ if ($action == 'list' || (empty($id) && $action != 'create')) } $i++; } + + $db->free($resql); + + $parameters=array('sql' => $sql); + $reshook=$hookmanager->executeHooks('printFieldListFooter',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + + print "
'; - print $obj->field1; - print ''; - print $obj->field2; - print ''.$obj->field1.''.$obj->field2.'
\n"; + print "
\n"; + } else { $error++; dol_print_error($db); } - - $db->free($resql); - - $parameters=array('sql' => $sql); - $reshook=$hookmanager->executeHooks('printFieldListFooter',$parameters); // Note that $action and $object may have been modified by hook - print $hookmanager->resPrint; - - print "\n"; - print "\n"; } @@ -329,7 +351,7 @@ if ($action == 'list' || (empty($id) && $action != 'create')) // Part to create if ($action == 'create') { - print_fiche_titre($langs->trans("NewSkeleton")); + print load_fiche_titre($langs->trans("NewSkeleton")); print '
'; print ''; diff --git a/htdocs/.gitignore b/htdocs/.gitignore index 0b4d7b82790..b0b84be129e 100644 --- a/htdocs/.gitignore +++ b/htdocs/.gitignore @@ -1,7 +1,11 @@ +/allscreens* /ancot* /bootstrap* +/dolimed* +/ecommerce* /extensions* /google* +/lead /multicompany* /ndf* /numberingpack* @@ -11,5 +15,3 @@ /teclib* /test.php /ultimatepdf* -/lead -/dolimed* diff --git a/htdocs/accountancy/admin/card.php b/htdocs/accountancy/admin/card.php index 51c6a5c6715..925bf818137 100644 --- a/htdocs/accountancy/admin/card.php +++ b/htdocs/accountancy/admin/card.php @@ -139,7 +139,7 @@ $htmlacc = new FormVentilation($db); if ($action == 'create') { - print_fiche_titre($langs->trans('NewAccount')); + print load_fiche_titre($langs->trans('NewAccount')); print '' . "\n"; print ''; diff --git a/htdocs/accountancy/admin/export.php b/htdocs/accountancy/admin/export.php index 856670e18e2..9bde2d23c14 100644 --- a/htdocs/accountancy/admin/export.php +++ b/htdocs/accountancy/admin/export.php @@ -4,7 +4,7 @@ * Copyright (C) 2014 Florian Henry * Copyright (C) 2014 Marcos García * Copyright (C) 2014 Juanjo Menent - * Copyright (C) 2015 Jean-François Ferry + * Copyright (C) 2015 Jean-François Ferry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -43,8 +43,12 @@ if (!$user->admin) $action = GETPOST('action', 'alpha'); -// Other parameters ACCOUNTING_EXPORT_* -$list = array ( +// Parameters ACCOUNTING_EXPORT_* +$main_option = array ( + 'ACCOUNTING_EXPORT_PREFIX_SPEC' +); + +$model_option = array ( 'ACCOUNTING_EXPORT_SEPARATORCSV', 'ACCOUNTING_EXPORT_DATE', 'ACCOUNTING_EXPORT_PIECE', @@ -60,10 +64,18 @@ $list = array ( if ($action == 'update') { $error = 0; + $format = GETPOST('format', 'alpha'); $modelcsv = GETPOST('modelcsv', 'int'); + + if (! empty($format)) { + if (! dolibarr_set_const($db, 'ACCOUNTING_EXPORT_FORMAT', $format, 'chaine', 0, '', $conf->entity)) { + $error ++; + } + } else { + $error ++; + } if (! empty($modelcsv)) { - if (! dolibarr_set_const($db, 'ACCOUNTING_EXPORT_MODELCSV', $modelcsv, 'chaine', 0, '', $conf->entity)) { $error ++; } @@ -71,7 +83,15 @@ if ($action == 'update') { $error ++; } - foreach ( $list as $constname ) { + foreach ($main_option as $constname) { + $constvalue = GETPOST($constname, 'alpha'); + + if (! dolibarr_set_const($db, $constname, $constvalue, 'chaine', 0, '', $conf->entity)) { + $error ++; + } + } + + foreach ($model_option as $constname) { $constvalue = GETPOST($constname, 'alpha'); if (! dolibarr_set_const($db, $constname, $constvalue, 'chaine', 0, '', $conf->entity)) { @@ -95,7 +115,7 @@ llxHeader(); $form = new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans('ConfigAccountingExpert'),$linkback,'title_setup'); +print load_fiche_titre($langs->trans('ConfigAccountingExpert'),$linkback,'title_setup'); $head = admin_accounting_prepare_head(); @@ -106,9 +126,67 @@ print ''; dol_fiche_head($head, 'export', $langs->trans("Configuration"), 0, 'cron'); -print ''; $var = true; +/* + * Main Options + */ +print '
'; +print ''; +print ''; +print "\n"; + +$var = ! $var; + +print ''; +print ''; +if (! $conf->use_javascript_ajax) +{ + print '"; +} +else +{ + print ''; +} +print ""; + +$num = count($main_option); +if ($num) +{ + foreach ($main_option as $key) { + $var = ! $var; + + print ''; + + // Param + $label = $langs->trans($key); + print ''; + + // Value + print ''; + } +} + +print "
' . $langs->trans('MainOptions') . '
' . $langs->trans("Selectformat") . ''; + print $langs->trans("NotAvailableWhenAjaxDisabled"); + print "'; + $listformat=array( + 'csv'=>$langs->trans("csv"), + 'txt'=>$langs->trans("txt") + ); + print $form->selectarray("format",$listformat,$conf->global->ACCOUNTING_EXPORT_FORMAT,0); + + print '
' . $label . ''; + print ''; + print '
\n"; + +print "
\n"; + +/* + * Export model + */ +print ''; + print ''; print ''; print ''; @@ -143,8 +221,8 @@ print "
\n"; * Parameters */ -$num = count($list); -if ($num) +$num2 = count($model_option); +if ($num2) { print '
' . $langs->trans("Modelcsv") . '
'; print ''; @@ -152,7 +230,7 @@ if ($num) print "\n"; if ($conf->global->ACCOUNTING_EXPORT_MODELCSV > 1) print ''; - foreach ( $list as $key ) { + foreach ($model_option as $key) { $var = ! $var; print ''; diff --git a/htdocs/accountancy/admin/fiscalyear.php b/htdocs/accountancy/admin/fiscalyear.php index bd530eaa8d7..31ec91958c9 100644 --- a/htdocs/accountancy/admin/fiscalyear.php +++ b/htdocs/accountancy/admin/fiscalyear.php @@ -63,7 +63,7 @@ $title = $langs->trans('FiscalYears'); llxHeader('',$title,LOG_ERR); -print_fiche_titre($langs->trans('FiscalYears')); +print load_fiche_titre($langs->trans('FiscalYears')); $sql = "SELECT f.rowid, f.label, f.date_start, f.date_end, f.statut, f.entity"; $sql.= " FROM ".MAIN_DB_PREFIX."accounting_fiscalyear as f"; diff --git a/htdocs/accountancy/admin/fiscalyear_card.php b/htdocs/accountancy/admin/fiscalyear_card.php index a1692878c55..0e39776946a 100644 --- a/htdocs/accountancy/admin/fiscalyear_card.php +++ b/htdocs/accountancy/admin/fiscalyear_card.php @@ -170,7 +170,7 @@ $form = new Form($db); */ if ($action == 'create') { - print_fiche_titre($langs->trans("NewFiscalYear")); + print load_fiche_titre($langs->trans("NewFiscalYear")); print ''; print ''; diff --git a/htdocs/accountancy/admin/index.php b/htdocs/accountancy/admin/index.php index 44b2268dc06..af0bccdf00c 100644 --- a/htdocs/accountancy/admin/index.php +++ b/htdocs/accountancy/admin/index.php @@ -153,7 +153,7 @@ llxHeader(); $form = new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans('ConfigAccountingExpert'),$linkback,'title_setup'); +print load_fiche_titre($langs->trans('ConfigAccountingExpert'),$linkback,'title_setup'); $head = admin_accounting_prepare_head($accounting); diff --git a/htdocs/accountancy/admin/journal.php b/htdocs/accountancy/admin/journal.php index e1d4894788a..b55728ee080 100644 --- a/htdocs/accountancy/admin/journal.php +++ b/htdocs/accountancy/admin/journal.php @@ -83,7 +83,7 @@ llxHeader(); $form = new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans('ConfigAccountingExpert'),$linkback,'title_setup'); +print load_fiche_titre($langs->trans('ConfigAccountingExpert'),$linkback,'title_setup'); $head = admin_accounting_prepare_head(null); diff --git a/htdocs/accountancy/bookkeeping/balancebymonth.php b/htdocs/accountancy/bookkeeping/balancebymonth.php index 54c239f2db9..c1902c16fee 100644 --- a/htdocs/accountancy/bookkeeping/balancebymonth.php +++ b/htdocs/accountancy/bookkeeping/balancebymonth.php @@ -56,7 +56,7 @@ llxHeader('', $langs->trans("Bookkeeping")); $textprevyear = '' . img_previous() . ''; $textnextyear = ' ' . img_next() . ''; -print_fiche_titre($langs->trans("AccountBalanceByMonth") . ' ' . $textprevyear . ' ' . $langs->trans("Year") . ' ' . $year_start . ' ' . $textnextyear); +print load_fiche_titre($langs->trans("AccountBalanceByMonth") . ' ' . $textprevyear . ' ' . $langs->trans("Year") . ' ' . $year_start . ' ' . $textnextyear); $sql = "SELECT count(*) FROM " . MAIN_DB_PREFIX . "facturedet as fd"; $sql .= " , " . MAIN_DB_PREFIX . "facture as f"; diff --git a/htdocs/accountancy/bookkeeping/card.php b/htdocs/accountancy/bookkeeping/card.php index 515b9898c23..d1bf69a8eee 100644 --- a/htdocs/accountancy/bookkeeping/card.php +++ b/htdocs/accountancy/bookkeeping/card.php @@ -189,7 +189,7 @@ if ($action == 'delete') { } if ($action == 'create') { - print_fiche_titre($langs->trans("CreateMvts")); + print load_fiche_titre($langs->trans("CreateMvts")); $code_journal_array = array ( $conf->global->ACCOUNTING_SELL_JOURNAL => $conf->global->ACCOUNTING_SELL_JOURNAL, @@ -250,7 +250,7 @@ if ($action == 'create') { } if (! empty($book->piece_num)) { - print_fiche_titre($langs->trans("UpdateMvts")); + print load_fiche_titre($langs->trans("UpdateMvts")); print '
' . $langs->trans('OptionsDeactivatedForThisExportModel') . '
'; print ''; @@ -280,7 +280,7 @@ if ($action == 'create') { setEventMessage($book->errors, 'errors'); } else { - print_fiche_titre($langs->trans("ListeMvts")); + print load_fiche_titre($langs->trans("ListeMvts")); print "
"; if (count($book->linesmvt) > 0) { @@ -367,7 +367,7 @@ if ($action == 'create') { } } else { - print_fiche_titre($langs->trans("NoRecords")); + print load_fiche_titre($langs->trans("NoRecords")); } } diff --git a/htdocs/accountancy/class/accountingaccount.class.php b/htdocs/accountancy/class/accountingaccount.class.php index 856306c3304..9277bcd9a70 100644 --- a/htdocs/accountancy/class/accountingaccount.class.php +++ b/htdocs/accountancy/class/accountingaccount.class.php @@ -30,11 +30,6 @@ */ class AccountingAccount extends CommonObject { - var $db; - var $error; - var $errors; - - var $id; var $rowid; var $datec; // Creation date diff --git a/htdocs/accountancy/class/bookkeeping.class.php b/htdocs/accountancy/class/bookkeeping.class.php index a36ca8c1825..141b122690c 100644 --- a/htdocs/accountancy/class/bookkeeping.class.php +++ b/htdocs/accountancy/class/bookkeeping.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2013-2014 Olivier Geffroy - * Copyright (C) 2013-2014 Alexandre Spangaro + * Copyright (C) 2013-2015 Alexandre Spangaro * Copyright (C) 2013-2014 Florian Henry * * This program is free software; you can redistribute it and/or modify @@ -29,11 +29,6 @@ */ class BookKeeping extends CommonObject { - var $db; - var $error; - var $errors; - - var $id; var $doc_date; var $doc_type; var $doc_ref; @@ -225,6 +220,8 @@ class BookKeeping extends CommonObject */ function create($user='') { + global $conf; + $this->piece_num = 0; // first check if line not yet in bookkeeping @@ -278,13 +275,45 @@ class BookKeeping extends CommonObject $this->date_create = $now; } - $sql = "INSERT INTO " . MAIN_DB_PREFIX . "accounting_bookkeeping (doc_date, "; - $sql .= "doc_type, doc_ref,fk_doc,fk_docdet,code_tiers,numero_compte,label_compte,"; - $sql .= "debit,credit,montant,sens,fk_user_author,import_key,code_journal,piece_num)"; - $sql .= " VALUES ('" . $this->doc_date . "','" . $this->doc_type . "','" . $this->doc_ref . "'," . $this->fk_doc . ","; - $sql .= $this->fk_docdet . ",'" . $this->code_tiers . "','" . $this->numero_compte . "','" . $this->db->escape($this->label_compte) . "',"; - $sql .= $this->debit . "," . $this->credit . "," . $this->montant . ",'" . $this->sens . "'," . $user->id . ", '"; - $sql .= $this->date_create . "','" . $this->code_journal . "'," . $this->piece_num . ")"; + $sql = "INSERT INTO " . MAIN_DB_PREFIX . "accounting_bookkeeping ("; + + $sql .= "doc_date"; + $sql .= ", doc_type"; + $sql .= ", doc_ref"; + $sql .= ", fk_doc"; + $sql .= ", fk_docdet"; + $sql .= ", code_tiers"; + $sql .= ", numero_compte"; + $sql .= ", label_compte"; + $sql .= ", debit"; + $sql .= ", credit"; + $sql .= ", montant"; + $sql .= ", sens"; + $sql .= ", fk_user_author"; + $sql .= ", import_key"; + $sql .= ", code_journal"; + $sql .= ", piece_num"; + + $sql .= ") VALUES ("; + + $sql .= "'" . $this->doc_date . "'"; + $sql .= ",'" . $this->doc_type . "'"; + $sql .= ",'" . $this->doc_ref . "'"; + $sql .= "," . $this->fk_doc; + $sql .= "," . $this->fk_docdet; + $sql .= ",'" . $this->code_tiers . "'"; + $sql .= ",'" . $this->numero_compte . "'"; + $sql .= ",'" . $this->db->escape($this->label_compte) . "'"; + $sql .= "," . $this->debit; + $sql .= "," . $this->credit; + $sql .= "," . $this->montant; + $sql .= ",'" . $this->sens . "'"; + $sql .= ",'" . $this->fk_user_author."'"; + $sql .= ",'" . $this->date_create . "'"; + $sql .= ",'" . $this->code_journal . "'"; + $sql .= "," . $this->piece_num; + + $sql .= ")"; dol_syslog(get_class($this) . ":: create sql=" . $sql, LOG_DEBUG); $resql = $this->db->query($sql); @@ -296,19 +325,19 @@ class BookKeeping extends CommonObject $result = 0; } else { $result = - 2; - dol_syslog("BookKeeping::Create Erreur $result lecture ID"); + dol_syslog("BookKeeping::Create Error $result lecture ID"); } } else { $result = - 1; - dol_syslog("BookKeeping::Create Erreur $result INSERT Mysql"); + dol_syslog("BookKeeping::Create Error $result INSERT Mysql"); } } else { $result = - 3; - dol_syslog("BookKeeping::Create Erreur $result SELECT Mysql"); + dol_syslog("BookKeeping::Create Error $result SELECT Mysql"); } } else { $result = - 5; - dol_syslog("BookKeeping::Create Erreur $result SELECT Mysql"); + dol_syslog("BookKeeping::Create Error $result SELECT Mysql"); } return $result; diff --git a/htdocs/accountancy/customer/card.php b/htdocs/accountancy/customer/card.php index 74083cbb215..09e8b24a8ea 100644 --- a/htdocs/accountancy/customer/card.php +++ b/htdocs/accountancy/customer/card.php @@ -108,7 +108,7 @@ if (! empty($id)) { print ''; print ''; - print_fiche_titre($langs->trans('CustomersVentilation'),'','title_setup'); + print load_fiche_titre($langs->trans('CustomersVentilation'),'','title_setup'); dol_fiche_head(); diff --git a/htdocs/accountancy/customer/index.php b/htdocs/accountancy/customer/index.php index e4c6104fd1b..ea37f237455 100644 --- a/htdocs/accountancy/customer/index.php +++ b/htdocs/accountancy/customer/index.php @@ -98,7 +98,7 @@ llxHeader('', $langs->trans("CustomersVentilation")); $textprevyear = '' . img_previous() . ''; $textnextyear = ' ' . img_next() . ''; -print_fiche_titre($langs->trans("CustomersVentilation") . " " . $textprevyear . " " . $langs->trans("Year") . " " . $year_start . " " . $textnextyear); +print load_fiche_titre($langs->trans("CustomersVentilation") . " " . $textprevyear . " " . $langs->trans("Year") . " " . $year_start . " " . $textnextyear); print '' . $langs->trans("DescVentilCustomer") . ''; print ''; diff --git a/htdocs/accountancy/customer/lines.php b/htdocs/accountancy/customer/lines.php index 5108a6c1f67..01f34e700cc 100644 --- a/htdocs/accountancy/customer/lines.php +++ b/htdocs/accountancy/customer/lines.php @@ -184,6 +184,14 @@ if (strlen(trim($search_vat))) if (! empty($conf->multicompany->enabled)) { $sql .= " AND f.entity IN (" . getEntity("facture", 1) . ")"; } +// Count total nb of records with no order and no limits +$nbtotalofrecords = 0; +if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) +{ + $resql = $db->query($sql); + if ($resql) $nbtotalofrecords = $db->num_rows($resql); + else dol_print_error($db); +} $sql.= $db->order($sortfield,$sortorder); $sql.= $db->plimit($limit + 1,$offset); @@ -192,9 +200,16 @@ $result = $db->query($sql); if ($result) { $num_lines = $db->num_rows($result); $i = 0; - - print_barre_liste($langs->trans("InvoiceLinesDone"), $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorder, '', $num_lines); - + + $param=""; + if ($search_facture) $param.="&search_facture=".$search_facture; + if ($search_ref) $param.="&search_ref=".$search_ref; + if ($search_label) $param.="&search_label=".$search_label; + if ($search_desc) $param.="&search_desc=".$search_desc; + if ($search_account) $param.="&search_account=".$search_account; + if ($filter) $param.="&filter=".$filter; + + print_barre_liste($langs->trans("InvoiceLinesDone"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num_lines,$nbtotalofrecords); print ''; print ''; @@ -277,5 +292,10 @@ if ($result) { print "
' . $langs->trans("DescVentilDoneCustomer") . '
"; + if ($num_lines > $conf->liste_limit) + { + print_barre_liste('',$page,$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num_lines,$nbtotalofrecords,''); + } + llxFooter(); $db->close(); diff --git a/htdocs/accountancy/journal/bankjournal.php b/htdocs/accountancy/journal/bankjournal.php index 250d9001679..812acf5c923 100644 --- a/htdocs/accountancy/journal/bankjournal.php +++ b/htdocs/accountancy/journal/bankjournal.php @@ -16,7 +16,7 @@ * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * GNU General Public License fr more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . @@ -25,7 +25,7 @@ /** * \file htdocs/accountancy/journal/bankjournal.php * \ingroup Accounting Expert - * \brief Page with sells journal + * \brief Page with bank journal */ require '../../main.inc.php'; @@ -66,6 +66,8 @@ $date_endday = GETPOST('date_endday'); $date_endyear = GETPOST('date_endyear'); $action = GETPOST('action'); +$now = dol_now(); + // Security check if ($user->societe_id > 0) accessforbidden(); @@ -300,6 +302,7 @@ if ($action == 'writeBookKeeping') $bookkeeping->debit = ($mt >= 0 ? $mt : 0); $bookkeeping->credit = ($mt < 0 ? - $mt : 0); $bookkeeping->code_journal = $conf->global->ACCOUNTING_BANK_JOURNAL; + $bookkeeping->fk_user_author = $user->id; if ($tabtype[$key] == 'payment') { @@ -350,6 +353,7 @@ if ($action == 'writeBookKeeping') $bookkeeping->debit = ($mt < 0 ? - $mt : 0); $bookkeeping->credit = ($mt >= 0) ? $mt : 0; $bookkeeping->code_journal = $conf->global->ACCOUNTING_BANK_JOURNAL; + $bookkeeping->fk_user_author = $user->id; if ($tabtype[$key] == 'sc') { $bookkeeping->code_tiers = ''; @@ -414,17 +418,16 @@ if ($action == 'writeBookKeeping') } if (empty($error)) { - setEventMessage($langs->trans('Success'), 'mesgs'); + setEventMessage($langs->trans("GeneralLedgerIsWritten"),'mesgs'); } } // Export if ($action == 'export_csv') { $sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV; - $bank_journal = $conf->global->ACCOUNTING_BANK_JOURNAL; + $journal = $conf->global->ACCOUNTING_BANK_JOURNAL; - header('Content-Type: text/csv'); - header('Content-Disposition: attachment;filename=journal_banque.csv'); + include DOL_DOCUMENT_ROOT.'/accountancy/tpl/export_journal.tpl.php'; $companystatic = new Client($db); diff --git a/htdocs/accountancy/journal/purchasesjournal.php b/htdocs/accountancy/journal/purchasesjournal.php index 16f6b49de87..28b2dc736b6 100644 --- a/htdocs/accountancy/journal/purchasesjournal.php +++ b/htdocs/accountancy/journal/purchasesjournal.php @@ -3,7 +3,7 @@ * Copyright (C) 2007-2010 Jean Heimburger * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2012 Regis Houssin - * Copyright (C) 2013-2014 Alexandre Spangaro + * Copyright (C) 2013-2015 Alexandre Spangaro * Copyright (C) 2013-2014 Olivier Geffroy * Copyright (C) 2013-2014 Florian Henry * @@ -52,6 +52,8 @@ $date_endmonth = GETPOST('date_endmonth'); $date_endday = GETPOST('date_endday'); $date_endyear = GETPOST('date_endyear'); +$now = dol_now(); + // Security check if ($user->societe_id > 0) accessforbidden(); @@ -157,6 +159,7 @@ if ($result) { // Bookkeeping Write if ($action == 'writebookkeeping') { $now = dol_now(); + $error = 0; foreach ( $tabfac as $key => $val ) { foreach ( $tabttc[$key] as $k => $mt ) { @@ -177,8 +180,13 @@ if ($action == 'writebookkeeping') { $bookkeeping->debit = ($mt <= 0) ? $mt : 0; $bookkeeping->credit = ($mt > 0) ? $mt : 0; $bookkeeping->code_journal = $conf->global->ACCOUNTING_PURCHASE_JOURNAL; + $bookkeeping->fk_user_author = $user->id; - $bookkeeping->create(); + $result = $bookkeeping->create(); + if ($result < 0) { + $error ++; + setEventMessage($object->errors, 'errors'); + } } // Product / Service @@ -202,8 +210,13 @@ if ($action == 'writebookkeeping') { $bookkeeping->debit = ($mt > 0) ? $mt : 0; $bookkeeping->credit = ($mt <= 0) ? $mt : 0; $bookkeeping->code_journal = $conf->global->ACCOUNTING_PURCHASE_JOURNAL; + $bookkeeping->fk_user_author = $user->id; - $bookkeeping->create(); + $result = $bookkeeping->create(); + if ($result < 0) { + $error ++; + setEventMessage($object->errors, 'errors'); + } } } } @@ -228,11 +241,20 @@ if ($action == 'writebookkeeping') { $bookkeeping->debit = ($mt > 0) ? $mt : 0; $bookkeeping->credit = ($mt <= 0) ? $mt : 0; $bookkeeping->code_journal = $conf->global->ACCOUNTING_PURCHASE_JOURNAL; + $bookkeeping->fk_user_author = $user->id; - $bookkeeping->create(); + $result = $bookkeeping->create(); + if ($result < 0) { + $error ++; + setEventMessage($object->errors, 'errors'); + } } } } + + if (empty($error)) { + setEventMessage($langs->trans("GeneralLedgerIsWritten"),'mesgs'); + } } @@ -246,15 +268,10 @@ $companystatic = new Fournisseur($db); if ($action == 'export_csv') { $sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV; - $purchase_journal = $conf->global->ACCOUNTING_PURCHASE_JOURNAL; - - header('Content-Type: text/csv'); - if ($conf->global->EXPORT_PREFIX_SPEC) - $filename=$conf->global->EXPORT_PREFIX_SPEC."_"."journal_achats.csv"; - else - $filename="journal_achats.csv"; - header('Content-Disposition: attachment;filename='.$filename); - + $journal = $conf->global->ACCOUNTING_PURCHASE_JOURNAL; + + include DOL_DOCUMENT_ROOT.'/accountancy/tpl/export_journal.tpl.php'; + if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 2) // Model Cegid Expert Export { $sep = ";"; diff --git a/htdocs/accountancy/journal/sellsjournal.php b/htdocs/accountancy/journal/sellsjournal.php index 3138eee60c8..4437535738a 100644 --- a/htdocs/accountancy/journal/sellsjournal.php +++ b/htdocs/accountancy/journal/sellsjournal.php @@ -54,6 +54,8 @@ $date_endmonth = GETPOST('date_endmonth'); $date_endday = GETPOST('date_endday'); $date_endyear = GETPOST('date_endyear'); +$now = dol_now(); + // Security check if ($user->societe_id > 0) accessforbidden(); @@ -192,6 +194,7 @@ if ($result) { if ($action == 'writebookkeeping') { $now = dol_now(); + $error = 0; foreach ($tabfac as $key => $val) { @@ -212,8 +215,13 @@ if ($action == 'writebookkeeping') $bookkeeping->debit = ($mt >= 0) ? $mt : 0; $bookkeeping->credit = ($mt < 0) ? $mt : 0; $bookkeeping->code_journal = $conf->global->ACCOUNTING_SELL_JOURNAL; + $bookkeeping->fk_user_author = $user->id; - $bookkeeping->create(); + $result = $bookkeeping->create(); + if ($result < 0) { + $error ++; + setEventMessage($object->errors, 'errors'); + } } // Product / Service @@ -237,8 +245,13 @@ if ($action == 'writebookkeeping') $bookkeeping->debit = ($mt < 0) ? $mt : 0; $bookkeeping->credit = ($mt >= 0) ? $mt : 0; $bookkeeping->code_journal = $conf->global->ACCOUNTING_SELL_JOURNAL; + $bookkeeping->fk_user_author = $user->id; - $bookkeeping->create(); + $result = $bookkeeping->create(); + if ($result < 0) { + $error ++; + setEventMessage($object->errors, 'errors'); + } } } } @@ -264,25 +277,29 @@ if ($action == 'writebookkeeping') $bookkeeping->debit = ($mt < 0) ? $mt : 0; $bookkeeping->credit = ($mt >= 0) ? $mt : 0; $bookkeeping->code_journal = $conf->global->ACCOUNTING_SELL_JOURNAL; + $bookkeeping->fk_user_author = $user->id; - $bookkeeping->create(); + $result = $bookkeeping->create(); + if ($result < 0) { + $error ++; + setEventMessage($object->errors, 'errors'); + } } } } + + if (empty($error)) { + setEventMessage($langs->trans("GeneralLedgerIsWritten"),'mesgs'); + } } // Export if ($action == 'export_csv') { $sep = $conf->global->ACCOUNTING_EXPORT_SEPARATORCSV; - $sell_journal = $conf->global->ACCOUNTING_SELL_JOURNAL; + $journal = $conf->global->ACCOUNTING_SELL_JOURNAL; - header('Content-Type: text/csv'); - if ($conf->global->EXPORT_PREFIX_SPEC) - $filename=$conf->global->EXPORT_PREFIX_SPEC."_"."journal_ventes.csv"; - else - $filename="journal_ventes.csv"; - header('Content-Disposition: attachment;filename='.$filename); + include DOL_DOCUMENT_ROOT.'/accountancy/tpl/export_journal.tpl.php'; $companystatic = new Client($db); diff --git a/htdocs/accountancy/supplier/card.php b/htdocs/accountancy/supplier/card.php index 4ba2666973c..f0747c8d29c 100644 --- a/htdocs/accountancy/supplier/card.php +++ b/htdocs/accountancy/supplier/card.php @@ -107,7 +107,7 @@ if (! empty($id)) { print ''; print ''; - print_fiche_titre($langs->trans('SuppliersVentilation'),'','title_setup'); + print load_fiche_titre($langs->trans('SuppliersVentilation'),'','title_setup'); dol_fiche_head(); diff --git a/htdocs/accountancy/supplier/index.php b/htdocs/accountancy/supplier/index.php index 8eaf6681676..954eb60300c 100644 --- a/htdocs/accountancy/supplier/index.php +++ b/htdocs/accountancy/supplier/index.php @@ -95,7 +95,7 @@ llxHeader('', $langs->trans("SuppliersVentilation")); $textprevyear = '' . img_previous() . ''; $textnextyear = ' ' . img_next() . ''; -print_fiche_titre($langs->trans("SuppliersVentilation") . " " . $textprevyear . " " . $langs->trans("Year") . " " . $year_start . " " . $textnextyear); +print load_fiche_titre($langs->trans("SuppliersVentilation") . " " . $textprevyear . " " . $langs->trans("Year") . " " . $year_start . " " . $textnextyear); print '' . $langs->trans("DescVentilSupplier") . ''; print ''; diff --git a/htdocs/accountancy/tpl/export_journal.tpl.php b/htdocs/accountancy/tpl/export_journal.tpl.php new file mode 100644 index 00000000000..c1ac19912ae --- /dev/null +++ b/htdocs/accountancy/tpl/export_journal.tpl.php @@ -0,0 +1,28 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +$prefix = $conf->global->ACCOUNTING_EXPORT_PREFIX_SPEC; +$format = $conf->global->ACCOUNTING_EXPORT_FORMAT; + +$date_export = dol_print_date($now, '%Y%m%d%H%M%S'); + +header('Content-Type: text/csv'); +if ($prefix) + $filename = $prefix . "_" . "journal_" . $journal . $date_export . "." . $format; +else + $filename = "journal_" . $journal . $date_export . "." . $format; +header('Content-Disposition: attachment;filename='.$filename); \ No newline at end of file diff --git a/htdocs/theme/amarok/ckeditor/index.html b/htdocs/accountancy/tpl/index.html similarity index 100% rename from htdocs/theme/amarok/ckeditor/index.html rename to htdocs/accountancy/tpl/index.html diff --git a/htdocs/adherents/admin/adherent.php b/htdocs/adherents/admin/adherent.php index 877c8d785e8..5827e1d22d7 100644 --- a/htdocs/adherents/admin/adherent.php +++ b/htdocs/adherents/admin/adherent.php @@ -111,14 +111,14 @@ llxHeader('',$langs->trans("MembersSetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("MembersSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("MembersSetup"),$linkback,'title_setup'); $head = member_admin_prepare_head(); dol_fiche_head($head, 'general', $langs->trans("Members"), 0, 'user'); -print_fiche_titre($langs->trans("MemberMainOptions"),'',''); +print load_fiche_titre($langs->trans("MemberMainOptions"),'',''); print ''; print ''; print ''; @@ -245,7 +245,7 @@ $constantes=array( 'ADHERENT_CARD_FOOTER_TEXT' ); -print_fiche_titre($langs->trans("MembersCards"),'',''); +print load_fiche_titre($langs->trans("MembersCards"),'',''); form_constantes($constantes); @@ -263,7 +263,7 @@ print '
'; */ $constantes=array('ADHERENT_ETIQUETTE_TYPE','ADHERENT_ETIQUETTE_TEXT'); -print_fiche_titre($langs->trans("MembersTickets"),'',''); +print load_fiche_titre($langs->trans("MembersTickets"),'',''); form_constantes($constantes); @@ -293,7 +293,7 @@ $constantes=array( 'ADHERENT_MAIL_FROM', ); -print_fiche_titre($langs->trans("Other"),'',''); +print load_fiche_titre($langs->trans("Other"),'',''); form_constantes($constantes); diff --git a/htdocs/adherents/admin/adherent_extrafields.php b/htdocs/adherents/admin/adherent_extrafields.php index 6ac36cac022..32bf1c87b11 100644 --- a/htdocs/adherents/admin/adherent_extrafields.php +++ b/htdocs/adherents/admin/adherent_extrafields.php @@ -65,7 +65,7 @@ llxHeader('',$langs->trans("MembersSetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("MembersSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("MembersSetup"),$linkback,'title_setup'); $head = member_admin_prepare_head(); @@ -95,7 +95,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -108,7 +108,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/adherents/admin/adherent_type_extrafields.php b/htdocs/adherents/admin/adherent_type_extrafields.php index 19695a2ef6d..835bd05ea5f 100644 --- a/htdocs/adherents/admin/adherent_type_extrafields.php +++ b/htdocs/adherents/admin/adherent_type_extrafields.php @@ -68,7 +68,7 @@ llxHeader('',$langs->trans("MembersSetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("MembersSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("MembersSetup"),$linkback,'title_setup'); $head = member_admin_prepare_head(); @@ -98,7 +98,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -111,7 +111,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/adherents/admin/public.php b/htdocs/adherents/admin/public.php index 187f71e93a8..3d88d3bb171 100644 --- a/htdocs/adherents/admin/public.php +++ b/htdocs/adherents/admin/public.php @@ -80,7 +80,7 @@ llxHeader('',$langs->trans("MembersSetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("MembersSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("MembersSetup"),$linkback,'title_setup'); $head = member_admin_prepare_head(); diff --git a/htdocs/adherents/canvas/actions_adherentcard_common.class.php b/htdocs/adherents/canvas/actions_adherentcard_common.class.php index 6a8660c7f46..06574f7ae10 100644 --- a/htdocs/adherents/canvas/actions_adherentcard_common.class.php +++ b/htdocs/adherents/canvas/actions_adherentcard_common.class.php @@ -211,7 +211,7 @@ abstract class ActionsAdherentCardCommon { $this->object->fetch($_POST["adherentid"]); - $this->object->oldcopy=dol_clone($this->object); + $this->object->oldcopy = clone $this->object; $this->assign_post(); @@ -434,4 +434,3 @@ abstract class ActionsAdherentCardCommon } } - diff --git a/htdocs/adherents/canvas/default/actions_adherentcard_default.class.php b/htdocs/adherents/canvas/default/actions_adherentcard_default.class.php index 5c40cb22954..7e0b1291998 100644 --- a/htdocs/adherents/canvas/default/actions_adherentcard_default.class.php +++ b/htdocs/adherents/canvas/default/actions_adherentcard_default.class.php @@ -30,12 +30,6 @@ include_once DOL_DOCUMENT_ROOT.'/adherents/canvas/actions_adherentcard_common.cl */ class ActionsAdherentCardDefault extends ActionsAdherentCardCommon { - var $db; - var $dirmodule; - var $targetmodule; - var $canvas; - var $card; - /** * Constructor * diff --git a/htdocs/adherents/canvas/default/tpl/adherentcard_create.tpl.php b/htdocs/adherents/canvas/default/tpl/adherentcard_create.tpl.php index 8c44bc48a3f..23059889571 100644 --- a/htdocs/adherents/canvas/default/tpl/adherentcard_create.tpl.php +++ b/htdocs/adherents/canvas/default/tpl/adherentcard_create.tpl.php @@ -21,7 +21,7 @@ control->tpl['title']); +print load_fiche_titre($this->control->tpl['title']); dol_htmloutput_errors((is_numeric($object->error)?'':$object->error),$object->errors); diff --git a/htdocs/adherents/canvas/default/tpl/adherentcard_edit.tpl.php b/htdocs/adherents/canvas/default/tpl/adherentcard_edit.tpl.php index 47c144c238f..1d7f7892276 100644 --- a/htdocs/adherents/canvas/default/tpl/adherentcard_edit.tpl.php +++ b/htdocs/adherents/canvas/default/tpl/adherentcard_edit.tpl.php @@ -24,7 +24,7 @@ $contact = $GLOBALS['objcanvas']->control->object; control->tpl['title']); +print load_fiche_titre($this->control->tpl['title']); dol_htmloutput_errors($this->control->tpl['error'],$this->control->tpl['errors']); diff --git a/htdocs/adherents/card.php b/htdocs/adherents/card.php index a74e19648ea..2afa92de068 100644 --- a/htdocs/adherents/card.php +++ b/htdocs/adherents/card.php @@ -268,7 +268,7 @@ if (empty($reshook)) // Create new object if ($result > 0 && ! $error) { - $object->oldcopy=dol_clone($object); + $object->oldcopy = clone $object; // Change values $object->civility_id = trim($_POST["civility_id"]); @@ -779,7 +779,7 @@ else $adht = new AdherentType($db); - print_fiche_titre($langs->trans("NewMember")); + print load_fiche_titre($langs->trans("NewMember")); if ($conf->use_javascript_ajax) { diff --git a/htdocs/adherents/card_subscriptions.php b/htdocs/adherents/card_subscriptions.php index 87f1b3f14d9..92af9c5981e 100644 --- a/htdocs/adherents/card_subscriptions.php +++ b/htdocs/adherents/card_subscriptions.php @@ -621,7 +621,9 @@ if ($rowid > 0) if ($object->datefin) { print dol_print_date($object->datefin,'day'); - if ($object->datefin < ($now - $conf->adherent->cotisation->warning_delay) && $object->statut > 0) print " ".img_warning($langs->trans("Late")); // Affiche picto retard uniquement si non brouillon et non resilie + if ($object->hasDelay()) { + print " ".img_warning($langs->trans("Late")); + } } else { @@ -825,7 +827,7 @@ if ($rowid > 0) { print '
'; - print_fiche_titre($langs->trans("NewCotisation")); + print load_fiche_titre($langs->trans("NewCotisation")); // Define default choice to select $bankdirect=0; // 1 means option by default is write to bank direct with no invoice diff --git a/htdocs/adherents/cartes/carte.php b/htdocs/adherents/cartes/carte.php index 98f5e908e16..dc1b6563c53 100644 --- a/htdocs/adherents/cartes/carte.php +++ b/htdocs/adherents/cartes/carte.php @@ -219,7 +219,7 @@ $form=new Form($db); llxHeader('',$langs->trans("MembersCards")); -print_fiche_titre($langs->trans("LinkToGeneratedPages")); +print load_fiche_titre($langs->trans("LinkToGeneratedPages")); print '
'; print $langs->trans("LinkToGeneratedPagesDesc").'
'; diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index 58bb8283029..445ec659f5a 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -44,18 +44,8 @@ class Adherent extends CommonObject public $table_element='adherent'; protected $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe - var $error; - var $errors; var $mesgs; - var $id; - - var $ref; - public $ref_ext; - - var $civility_id; - var $firstname; - var $lastname; var $login; var $pass; var $societe; @@ -68,10 +58,6 @@ class Adherent extends CommonObject var $state_code; // Code of department var $state; // Label of department - var $country_id; - var $country_code; - var $country; - var $email; var $skype; var $phone; @@ -80,8 +66,6 @@ class Adherent extends CommonObject var $morphy; var $public; - var $note_private; // Private note - var $note_public; // Public note var $statut; // -1:brouillon, 0:resilie, >=1:valide,paye var $photo; @@ -99,7 +83,6 @@ class Adherent extends CommonObject var $user_login; var $fk_soc; - var $thirdparty; // Loaded by ->fetch_thirdparty() // Fields loaded by fetch_subscriptions() var $first_subscription_date; @@ -110,9 +93,6 @@ class Adherent extends CommonObject var $last_subscription_amount; var $subscriptions=array(); - // var $public; - var $array_options; - var $oldcopy; // To contains a clone of this when we need to save old properties of object public $entity; @@ -1741,7 +1721,7 @@ class Adherent extends CommonObject $now=dol_now(); - $sql = "SELECT a.rowid, a.datefin"; + $sql = "SELECT a.rowid, a.datefin, a.statut"; $sql.= " FROM ".MAIN_DB_PREFIX."adherent as a"; $sql.= " WHERE a.statut = 1"; $sql.= " AND a.entity IN (".getEntity('adherent', 1).")"; @@ -1758,11 +1738,16 @@ class Adherent extends CommonObject $response->url=DOL_URL_ROOT.'/adherents/list.php?mainmenu=members&statut=1'; $response->img=img_object($langs->trans("Members"),"user"); + $adherentstatic = new Adherent($this->db); + while ($obj=$this->db->fetch_object($resql)) { $response->nbtodo++; - if ($this->db->jdate($obj->datefin) < ($now - $conf->adherent->cotisation->warning_delay)) { + $adherentstatic->datefin = $this->db->jdate($obj->datefin); + $adherentstatic->statut = $obj->statut; + + if ($adherentstatic->hasDelay()) { $response->nbtodolate++; } } @@ -1974,4 +1959,18 @@ class Adherent extends CommonObject return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); } + public function hasDelay() + { + global $conf; + + //Only valid members + if ($this->statut <= 0) { + return false; + } + + $now = dol_now(); + + return $this->datefin < ($now - $conf->adherent->cotisation->warning_delay); + } + } diff --git a/htdocs/adherents/class/adherent_type.class.php b/htdocs/adherents/class/adherent_type.class.php index 23ecfd6ea03..af98d7162da 100644 --- a/htdocs/adherents/class/adherent_type.class.php +++ b/htdocs/adherents/class/adherent_type.class.php @@ -35,18 +35,9 @@ class AdherentType extends CommonObject public $table_element = 'adherent_type'; public $element = 'adherent_type'; - var $id; - - /** - * @var int - */ - public $ref; - var $libelle; - var $statut; var $cotisation; // Soumis a la cotisation var $vote; // droit de vote - var $note; // commentaire var $mail_valid; //mail envoye lors de la validation diff --git a/htdocs/adherents/class/cotisation.class.php b/htdocs/adherents/class/cotisation.class.php index ee9358b51da..40527e6e22e 100644 --- a/htdocs/adherents/class/cotisation.class.php +++ b/htdocs/adherents/class/cotisation.class.php @@ -33,16 +33,12 @@ class Cotisation extends CommonObject public $element='subscription'; public $table_element='cotisation'; - var $id; - var $ref; - var $datec; // Date creation var $datem; // Date modification var $dateh; // Subscription start date (date subscription) var $datef; // Subscription end date var $fk_adherent; var $amount; - var $note; var $fk_bank; diff --git a/htdocs/adherents/index.php b/htdocs/adherents/index.php index 9f404fe1510..d6c17337176 100644 --- a/htdocs/adherents/index.php +++ b/htdocs/adherents/index.php @@ -46,7 +46,7 @@ $staticmember=new Adherent($db); $statictype=new AdherentType($db); $subscriptionstatic=new Cotisation($db); -print_fiche_titre($langs->trans("MembersArea")); +print load_fiche_titre($langs->trans("MembersArea")); $var=True; diff --git a/htdocs/adherents/ldap.php b/htdocs/adherents/ldap.php index c05dc78af83..89572525c32 100644 --- a/htdocs/adherents/ldap.php +++ b/htdocs/adherents/ldap.php @@ -173,7 +173,7 @@ if (! empty($conf->global->LDAP_MEMBER_ACTIVE) && $conf->global->LDAP_MEMBER_ACT // Affichage attributs LDAP -print_titre($langs->trans("LDAPInformationsForThisMember")); +print load_fiche_titre($langs->trans("LDAPInformationsForThisMember")); print '
'.$langs->trans("Description").'
'; diff --git a/htdocs/adherents/list.php b/htdocs/adherents/list.php index 1cf2a8e5e09..9799ea2ecef 100644 --- a/htdocs/adherents/list.php +++ b/htdocs/adherents/list.php @@ -271,6 +271,8 @@ if ($resql) $memberstatic->ref=$objp->rowid; $memberstatic->lastname=$objp->lastname; $memberstatic->firstname=$objp->firstname; + $memberstatic->statut=$objp->statut; + $memberstatic->datefin= $datefin; if (! empty($objp->fk_soc)) { $memberstatic->socid = $objp->fk_soc; @@ -325,7 +327,9 @@ if ($resql) { print ''; } else diff --git a/htdocs/adherents/stats/byproperties.php b/htdocs/adherents/stats/byproperties.php index fdb9153ba88..6f5edf529d9 100644 --- a/htdocs/adherents/stats/byproperties.php +++ b/htdocs/adherents/stats/byproperties.php @@ -58,7 +58,7 @@ llxHeader('','','','',0,0,array('http://www.google.com/jsapi')); $title=$langs->trans("MembersStatisticsByProperties"); -print_fiche_titre($title, $mesg); +print load_fiche_titre($title, $mesg); dol_mkdir($dir); @@ -112,7 +112,7 @@ if (! count($data)) } else { - print_fiche_titre($langs->trans("MembersByNature"),'',''); + print load_fiche_titre($langs->trans("MembersByNature"),'',''); } // Print array diff --git a/htdocs/adherents/stats/geo.php b/htdocs/adherents/stats/geo.php index 938e3e172b2..3b2ca4c3ecd 100644 --- a/htdocs/adherents/stats/geo.php +++ b/htdocs/adherents/stats/geo.php @@ -64,7 +64,7 @@ if ($mode == 'memberbytown') $title=$langs->trans("MembersStatisticsByTown"); if ($mode == 'memberbyregion') $title=$langs->trans("MembersStatisticsByRegion"); -print_fiche_titre($title, $mesg); +print load_fiche_titre($title, $mesg); dol_mkdir($dir); diff --git a/htdocs/adherents/stats/index.php b/htdocs/adherents/stats/index.php index 41305d3949d..a3c8fd69aad 100644 --- a/htdocs/adherents/stats/index.php +++ b/htdocs/adherents/stats/index.php @@ -58,7 +58,7 @@ $form=new Form($db); llxHeader(); -print_fiche_titre($langs->trans("SubscriptionsStatistics"), $mesg); +print load_fiche_titre($langs->trans("SubscriptionsStatistics"), $mesg); $dir=$conf->adherent->dir_temp; diff --git a/htdocs/adherents/type.php b/htdocs/adherents/type.php index 6c9423b6178..75102ed9f50 100644 --- a/htdocs/adherents/type.php +++ b/htdocs/adherents/type.php @@ -166,7 +166,7 @@ $form=new Form($db); if (! $rowid && $action != 'create' && $action != 'edit') { - print_fiche_titre($langs->trans("MembersTypes")); + print load_fiche_titre($langs->trans("MembersTypes")); dol_fiche_head(''); @@ -238,7 +238,7 @@ if ($action == 'create') { $object = new AdherentType($db); - print_fiche_titre($langs->trans("NewMemberType")); + print load_fiche_titre($langs->trans("NewMemberType")); print ''; print ''; diff --git a/htdocs/admin/agenda.php b/htdocs/admin/agenda.php index 16608a5fae2..287f2a897eb 100644 --- a/htdocs/admin/agenda.php +++ b/htdocs/admin/agenda.php @@ -133,7 +133,7 @@ if (preg_match('/del_(.*)/',$action,$reg)) llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("AgendaSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("AgendaSetup"),$linkback,'title_setup'); print "
\n"; diff --git a/htdocs/admin/agenda_extrafields.php b/htdocs/admin/agenda_extrafields.php index d7af0bc8d9e..9007ef5ad91 100644 --- a/htdocs/admin/agenda_extrafields.php +++ b/htdocs/admin/agenda_extrafields.php @@ -70,7 +70,7 @@ $textobject=$langs->transnoentitiesnoconv("Agenda"); llxHeader('',$langs->trans("AgendaSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("AgendaSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("AgendaSetup"),$linkback,'title_setup'); print "
\n"; $head=agenda_prepare_head(); @@ -100,7 +100,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -113,7 +113,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/admin/agenda_extsites.php b/htdocs/admin/agenda_extsites.php index 2e113f22430..9356674921e 100644 --- a/htdocs/admin/agenda_extsites.php +++ b/htdocs/admin/agenda_extsites.php @@ -127,7 +127,7 @@ $arrayofcss=array(); llxHeader('',$langs->trans("AgendaSetup"),'','',0,0,$arrayofjs,$arrayofcss); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("AgendaSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("AgendaSetup"),$linkback,'title_setup'); print '
'; print ''; diff --git a/htdocs/admin/agenda_other.php b/htdocs/admin/agenda_other.php index f892fe7149a..b9051f6f33a 100644 --- a/htdocs/admin/agenda_other.php +++ b/htdocs/admin/agenda_other.php @@ -74,8 +74,9 @@ if (preg_match('/del_(.*)/',$action,$reg)) if ($action == 'set') { - dolibarr_set_const($db, 'AGENDA_DEFAULT_FILTER_TYPE', GETPOST('AGENDA_DEFAULT_FILTER_TYPE'), 'chaine', 0, '', $conf->entity); - dolibarr_set_const($db, 'AGENDA_DEFAULT_FILTER_STATUS', GETPOST('AGENDA_DEFAULT_FILTER_STATUS'), 'chaine', 0, '', $conf->entity); + dolibarr_set_const($db, 'AGENDA_USE_EVENT_TYPE_DEFAULT', GETPOST('AGENDA_USE_EVENT_TYPE_DEFAULT'), 'chaine', 0, '', $conf->entity); + dolibarr_set_const($db, 'AGENDA_DEFAULT_FILTER_TYPE', GETPOST('AGENDA_DEFAULT_FILTER_TYPE'), 'chaine', 0, '', $conf->entity); + dolibarr_set_const($db, 'AGENDA_DEFAULT_FILTER_STATUS', GETPOST('AGENDA_DEFAULT_FILTER_STATUS'), 'chaine', 0, '', $conf->entity); dolibarr_set_const($db, 'AGENDA_DEFAULT_VIEW', GETPOST('AGENDA_DEFAULT_VIEW'), 'chaine', 0, '', $conf->entity); } @@ -89,7 +90,7 @@ $formactions=new FormActions($db); llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("AgendaSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("AgendaSetup"),$linkback,'title_setup'); print "
\n"; @@ -127,6 +128,17 @@ else } print ''."\n"; +if (! empty($conf->global->AGENDA_USE_EVENT_TYPE)) +{ + $var=!$var; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; +} + // AGENDA_DEFAULT_FILTER_TYPE $var=!$var; print ''."\n"; diff --git a/htdocs/admin/agenda_xcal.php b/htdocs/admin/agenda_xcal.php index f7abde2280e..dfdac2a8f0f 100644 --- a/htdocs/admin/agenda_xcal.php +++ b/htdocs/admin/agenda_xcal.php @@ -74,7 +74,7 @@ if (! isset($conf->global->MAIN_AGENDA_EXPORT_PAST_DELAY)) $conf->global->MAIN_A llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("AgendaSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("AgendaSetup"),$linkback,'title_setup'); print '
'; diff --git a/htdocs/admin/askpricesupplier.php b/htdocs/admin/askpricesupplier.php index ed73898278e..5644605e625 100644 --- a/htdocs/admin/askpricesupplier.php +++ b/htdocs/admin/askpricesupplier.php @@ -240,7 +240,7 @@ $form=new Form($db); //if ($mesg) print $mesg; $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("AskPriceSupplierSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("AskPriceSupplierSetup"),$linkback,'title_setup'); $head = askpricesupplier_admin_prepare_head(); @@ -249,7 +249,7 @@ dol_fiche_head($head, 'general', $langs->trans("CommRequests"), 0, 'askpricesupp /* * Module numerotation */ -print_titre($langs->trans("AskPriceSupplierNumberingModules")); +print load_fiche_titre($langs->trans("AskPriceSupplierNumberingModules")); print '
'; print dol_print_date($datefin,'day'); - if ($datefin < ($now - $conf->adherent->cotisation->warning_delay) && $objp->statut > 0) print " ".img_warning($langs->trans("SubscriptionLate")); + if ($memberstatic->hasDelay()) { + print " ".img_warning($langs->trans("SubscriptionLate")); + } print '
'.$langs->trans("AGENDA_USE_EVENT_TYPE_DEFAULT").' '."\n"; + $formactions->select_type_actions($conf->global->AGENDA_USE_EVENT_TYPE_DEFAULT, "AGENDA_USE_EVENT_TYPE_DEFAULT", '', 0, 1); + print '
'; print ''; @@ -351,7 +351,7 @@ print "

\n"; * Document templates generators */ -print_titre($langs->trans("AskPriceSupplierPDFModules")); +print load_fiche_titre($langs->trans("AskPriceSupplierPDFModules")); // Load array def with activated templates $def = array(); @@ -513,7 +513,7 @@ print '
'; * Other options * */ -print_titre($langs->trans("OtherOptions")); +print load_fiche_titre($langs->trans("OtherOptions")); $var=true; print ""; @@ -529,7 +529,17 @@ print ''; print ''; print '\n"; @@ -584,7 +594,7 @@ print '
'; print $langs->trans("FreeLegalTextOnAskPriceSupplier").' ('.$langs->trans("AddCRIfTooLong").')
'; -print ''; +$variablename='ASKPRICESUPPLIER_FREE_TEXT'; +if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) +{ + print ''; +} +else +{ + include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; + $doleditor=new DolEditor($variablename, $conf->global->$variablename,'',80,'dolibarr_details'); + print $doleditor->Create(); +} print '
'; print ''; print "
'; * Directory */ print '
'; -print_titre($langs->trans("PathToDocuments")); +print load_fiche_titre($langs->trans("PathToDocuments")); print "\n"; print "\n"; diff --git a/htdocs/admin/bank.php b/htdocs/admin/bank.php index dee635c1778..8214755fd2b 100644 --- a/htdocs/admin/bank.php +++ b/htdocs/admin/bank.php @@ -87,7 +87,7 @@ llxHeader("",$langs->trans("BankSetupModule")); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("BankSetupModule"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("BankSetupModule"),$linkback,'title_setup'); print ''; @@ -109,7 +109,17 @@ $var=! $var; print '\n"; @@ -132,7 +142,7 @@ print ''; //Show bank account order -print_titre($langs->trans("BankOrderShow")); +print load_fiche_titre($langs->trans("BankOrderShow")); print '
'; print $langs->trans("FreeLegalTextOnChequeReceipts").' ('.$langs->trans("AddCRIfTooLong").')
'; -print ''; +$variablename='BANK_CHEQUERECEIPT_FREE_TEXT'; +if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) +{ + print ''; +} +else +{ + include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; + $doleditor=new DolEditor($variablename, $conf->global->$variablename,'',80,'dolibarr_details'); + print $doleditor->Create(); +} print '
'; print ''; print "
'; print ''; diff --git a/htdocs/admin/bank_extrafields.php b/htdocs/admin/bank_extrafields.php index d8155c57f1c..849cbd9f485 100644 --- a/htdocs/admin/bank_extrafields.php +++ b/htdocs/admin/bank_extrafields.php @@ -66,7 +66,7 @@ llxHeader('',$langs->trans("BankSetupModule"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("BankSetupModule"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("BankSetupModule"),$linkback,'title_setup'); $head = bank_admin_prepare_head(null); @@ -96,7 +96,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -109,7 +109,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/admin/barcode.php b/htdocs/admin/barcode.php index 7be66a40d4a..1d51e552280 100644 --- a/htdocs/admin/barcode.php +++ b/htdocs/admin/barcode.php @@ -130,7 +130,7 @@ $help_url='EN:Module_Barcode|FR:Module_Codes_Barre|ES:Módulo Código de barra'; llxHeader('',$langs->trans("BarcodeSetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("BarcodeSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("BarcodeSetup"),$linkback,'title_setup'); // Detect bar codes modules $barcodelist=array(); @@ -188,7 +188,7 @@ foreach($dirbarcode as $reldir) $var=true; print '
'; -print_titre($langs->trans("BarcodeEncodeModule")); +print load_fiche_titre($langs->trans("BarcodeEncodeModule")); print '
'; print ''; @@ -288,7 +288,7 @@ print "
"; * Autres options * */ -print_titre($langs->trans("OtherOptions")); +print load_fiche_titre($langs->trans("OtherOptions")); print ""; print ''; @@ -358,7 +358,7 @@ print '
'; // Select barcode numbering module if ($conf->produit->enabled) { - print_titre($langs->trans("BarCodeNumberManager")." (".$langs->trans("Product").")"); + print load_fiche_titre($langs->trans("BarCodeNumberManager")." (".$langs->trans("Product").")"); print '
'; print ''; diff --git a/htdocs/admin/boxes.php b/htdocs/admin/boxes.php index 18c63a48798..6b1eb71fafe 100644 --- a/htdocs/admin/boxes.php +++ b/htdocs/admin/boxes.php @@ -219,7 +219,7 @@ $form=new Form($db); llxHeader('',$langs->trans("Boxes")); -print_fiche_titre($langs->trans("Boxes"),'','title_setup'); +print load_fiche_titre($langs->trans("Boxes"),'','title_setup'); print $langs->trans("BoxesDesc")." ".$langs->trans("OnlyActiveElementsAreShown")."
\n"; @@ -323,7 +323,7 @@ $boxtoadd=InfoBox::listBoxes($db,'available',-1,null,$actives); print "
\n"; print "\n\n".''."\n"; -print_titre($langs->trans("BoxesAvailable")); +print load_fiche_titre($langs->trans("BoxesAvailable")); print ''."\n"; print ''."\n"; @@ -385,7 +385,7 @@ print "\n".''."\n"; $boxactivated=InfoBox::listBoxes($db,'activated',-1,null); //var_dump($boxactivated); print "
\n\n"; -print_titre($langs->trans("BoxesActivated")); +print load_fiche_titre($langs->trans("BoxesActivated")); print '
'; print ''; @@ -446,7 +446,7 @@ print '

'; // Other parameters print "\n\n".''."\n"; -print_titre($langs->trans("Other")); +print load_fiche_titre($langs->trans("Other")); print ''; print ''; print ''; diff --git a/htdocs/admin/clicktodial.php b/htdocs/admin/clicktodial.php index b6d7e8b3449..1550c0ebef7 100644 --- a/htdocs/admin/clicktodial.php +++ b/htdocs/admin/clicktodial.php @@ -60,7 +60,7 @@ $wikihelp='EN:Module_ClickToDial_En|FR:Module_ClickToDial|ES:Módulo_ClickTodial llxHeader('',$langs->trans("ClickToDialSetup"),$wikihelp); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ClickToDialSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("ClickToDialSetup"),$linkback,'title_setup'); print $langs->trans("ClickToDialDesc")."
\n"; diff --git a/htdocs/admin/commande.php b/htdocs/admin/commande.php index a569632cc02..c83247a9bbf 100644 --- a/htdocs/admin/commande.php +++ b/htdocs/admin/commande.php @@ -263,7 +263,7 @@ llxHeader("",$langs->trans("OrdersSetup")); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("OrdersSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("OrdersSetup"),$linkback,'title_setup'); $head = order_admin_prepare_head(); @@ -273,7 +273,7 @@ dol_fiche_head($head, 'general', $langs->trans("Orders"), 0, 'order'); * Orders Numbering model */ -print_titre($langs->trans("OrdersNumberingModules")); +print load_fiche_titre($langs->trans("OrdersNumberingModules")); print ''; print ''; @@ -377,7 +377,7 @@ print "

\n"; * Document templates generators */ -print_titre($langs->trans("OrdersModelModule")); +print load_fiche_titre($langs->trans("OrdersModelModule")); // Load array def with activated templates $def = array(); @@ -540,7 +540,7 @@ print "
"; * */ -print_titre($langs->trans("OtherOptions")); +print load_fiche_titre($langs->trans("OtherOptions")); print ''; print ''; print ''; @@ -555,7 +555,17 @@ print ''; print ''; print '\n"; @@ -628,7 +638,7 @@ print '
'; * Notifications */ -print_titre($langs->trans("Notifications")); +print load_fiche_titre($langs->trans("Notifications")); print '
'.$langs->trans("Parameter").'
'; print $langs->trans("FreeLegalTextOnOrders").' ('.$langs->trans("AddCRIfTooLong").')
'; -print ''; +$variablename='COMMANDE_FREE_TEXT'; +if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) +{ + print ''; +} +else +{ + include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; + $doleditor=new DolEditor($variablename, $conf->global->$variablename,'',80,'dolibarr_details'); + print $doleditor->Create(); +} print '
'; print ''; print "
'; print ''; print ''; diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index 17c1414106e..eb78ead387b 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -277,7 +277,7 @@ $formcompany=new FormCompany($db); $countrynotdefined=''.$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')'; -print_fiche_titre($langs->trans("CompanyFoundation"),'','title_setup'); +print load_fiche_titre($langs->trans("CompanyFoundation"),'','title_setup'); print $langs->trans("CompanyFundationDesc")."
\n"; print "
\n"; @@ -414,9 +414,9 @@ if ($action == 'edit' || $action == 'updateedit') // Forme juridique $var=!$var; - print '
'.$langs->trans("Parameter").'
'; + print '
'; if ($mysoc->country_code) { - print $formcompany->select_juridicalstatus($conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE, $mysoc->country_code, '', 'legal_form'); + print $formcompany->select_juridicalstatus($conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE, $mysoc->country_code, '', 'forme_juridique_code'); } else { print $countrynotdefined; } diff --git a/htdocs/admin/compta.php b/htdocs/admin/compta.php index 6020cb7947e..633f88b9cfb 100644 --- a/htdocs/admin/compta.php +++ b/htdocs/admin/compta.php @@ -104,7 +104,7 @@ llxHeader(); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans('ComptaSetup'),$linkback,'title_setup'); +print load_fiche_titre($langs->trans('ComptaSetup'),$linkback,'title_setup'); print '
'; diff --git a/htdocs/admin/confexped.php b/htdocs/admin/confexped.php index a6ed0acae30..f8d13421b24 100644 --- a/htdocs/admin/confexped.php +++ b/htdocs/admin/confexped.php @@ -74,7 +74,7 @@ $form=new Form($db); llxHeader("",""); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SendingsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("SendingsSetup"),$linkback,'title_setup'); print '
'; $h = 0; diff --git a/htdocs/admin/const.php b/htdocs/admin/const.php index 0f9213fc252..c1eff57571a 100644 --- a/htdocs/admin/const.php +++ b/htdocs/admin/const.php @@ -172,7 +172,7 @@ jQuery(document).ready(function() { trans("OtherSetup"),'','title_setup'); +print load_fiche_titre($langs->trans("OtherSetup"),'','title_setup'); print $langs->trans("ConstDesc")."
\n"; print "
\n"; diff --git a/htdocs/admin/contract.php b/htdocs/admin/contract.php index c77d71a9af9..cf93977fc8b 100644 --- a/htdocs/admin/contract.php +++ b/htdocs/admin/contract.php @@ -184,7 +184,7 @@ else if ($action == 'setmod') else if ($action == 'set_other') { - $freetext= GETPOST('CONTRACT_FREE_TEXT','alpha'); + $freetext= GETPOST('CONTRACT_FREE_TEXT'); // No alpha here, we want exact string $res1 = dolibarr_set_const($db, "CONTRACT_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity); $draft= GETPOST('CONTRACT_DRAFT_WATERMARK','alpha'); @@ -214,7 +214,7 @@ llxHeader(); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ContractsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("ContractsSetup"),$linkback,'title_setup'); print "
"; @@ -226,7 +226,7 @@ dol_fiche_head($head, 'contract', $langs->trans("Contracts"), 0, 'contract'); * Contracts Numbering model */ -print_titre($langs->trans("ContractsNumberingModules")); +print load_fiche_titre($langs->trans("ContractsNumberingModules")); print ''; print ''; @@ -329,7 +329,7 @@ print '

'; * Documents models for Contracts */ -print_titre($langs->trans("TemplatePDFContracts")); +print load_fiche_titre($langs->trans("TemplatePDFContracts")); // Defini tableau def des modeles $def = array(); @@ -494,7 +494,7 @@ print ''; print ''; print ''; -print_titre($langs->trans("OtherOptions")); +print load_fiche_titre($langs->trans("OtherOptions")); print ''; print ''; print ''; @@ -505,7 +505,17 @@ $var=true; $var=! $var; print ''."\n"; //Use draft Watermark diff --git a/htdocs/admin/delais.php b/htdocs/admin/delais.php index 1a96bac49ad..d569173aafe 100644 --- a/htdocs/admin/delais.php +++ b/htdocs/admin/delais.php @@ -133,7 +133,7 @@ $form = new Form($db); llxHeader(); -print_fiche_titre($langs->trans("DelaysOfToleranceBeforeWarning"),'','title_setup'); +print load_fiche_titre($langs->trans("DelaysOfToleranceBeforeWarning"),'','title_setup'); print $langs->transnoentities("DelaysOfToleranceDesc",img_warning()); print " ".$langs->trans("OnlyActiveElementsAreShown",DOL_URL_ROOT.'/admin/modules.php')."
\n"; diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php index f9137a06acf..e2f4b03754c 100644 --- a/htdocs/admin/dict.php +++ b/htdocs/admin/dict.php @@ -151,7 +151,7 @@ $tabsql[8] = "SELECT t.id as rowid, t.code as code, t.libelle, t.fk_country a $tabsql[9] = "SELECT c.code_iso as code, c.label, c.unicode, c.active FROM ".MAIN_DB_PREFIX."c_currencies AS c"; $tabsql[10]= "SELECT t.rowid, t.taux, t.localtax1_type, t.localtax1, t.localtax2_type, t.localtax2, c.label as country, c.code as country_code, t.fk_pays as country_id, t.recuperableonly, t.note, t.active, t.accountancy_code_sell, t.accountancy_code_buy FROM ".MAIN_DB_PREFIX."c_tva as t, ".MAIN_DB_PREFIX."c_country as c WHERE t.fk_pays=c.rowid"; $tabsql[11]= "SELECT t.rowid as rowid, element, source, code, libelle, active FROM ".MAIN_DB_PREFIX."c_type_contact AS t"; -$tabsql[12]= "SELECT c.rowid as rowid, c.code, c.sortorder, c.libelle, c.libelle_facture, nbjour, fdm, decalage, active FROM ".MAIN_DB_PREFIX.'c_payment_term AS c'; +$tabsql[12]= "SELECT c.rowid as rowid, c.code, c.libelle, c.libelle_facture, c.nbjour, c.fdm, c.decalage, c.active, c.sortorder FROM ".MAIN_DB_PREFIX.'c_payment_term AS c'; $tabsql[13]= "SELECT c.id as rowid, c.code, c.libelle, c.type, c.active, c.accountancy_code FROM ".MAIN_DB_PREFIX."c_paiement AS c"; $tabsql[14]= "SELECT e.rowid as rowid, e.code as code, e.libelle, e.price, e.organization, e.fk_pays as country_id, c.code as country_code, c.label as country, e.active FROM ".MAIN_DB_PREFIX."c_ecotaxe AS e, ".MAIN_DB_PREFIX."c_country as c WHERE e.fk_pays=c.rowid and c.active=1"; $tabsql[15]= "SELECT rowid as rowid, code, label as libelle, width, height, unit, active FROM ".MAIN_DB_PREFIX."c_paper_format"; @@ -215,7 +215,7 @@ $tabfield[8] = "code,libelle,country_id,country"; $tabfield[9] = "code,label,unicode"; $tabfield[10]= "country_id,country,taux,recuperableonly,localtax1_type,localtax1,localtax2_type,localtax2,accountancy_code_sell,accountancy_code_buy,note"; $tabfield[11]= "element,source,code,libelle"; -$tabfield[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage"; +$tabfield[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage,sortorder"; $tabfield[13]= "code,libelle,type,accountancy_code"; $tabfield[14]= "code,libelle,price,organization,country_id,country"; $tabfield[15]= "code,libelle,width,height,unit"; @@ -247,7 +247,7 @@ $tabfieldvalue[8] = "code,libelle,country"; $tabfieldvalue[9] = "code,label,unicode"; $tabfieldvalue[10]= "country,taux,recuperableonly,localtax1_type,localtax1,localtax2_type,localtax2,accountancy_code_sell,accountancy_code_buy,note"; $tabfieldvalue[11]= "element,source,code,libelle"; -$tabfieldvalue[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage"; +$tabfieldvalue[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage,sortorder"; $tabfieldvalue[13]= "code,libelle,type,accountancy_code"; $tabfieldvalue[14]= "code,libelle,price,organization,country"; $tabfieldvalue[15]= "code,libelle,width,height,unit"; @@ -279,7 +279,7 @@ $tabfieldinsert[8] = "code,libelle,fk_country"; $tabfieldinsert[9] = "code_iso,label,unicode"; $tabfieldinsert[10]= "fk_pays,taux,recuperableonly,localtax1_type,localtax1,localtax2_type,localtax2,accountancy_code_sell,accountancy_code_buy,note"; $tabfieldinsert[11]= "element,source,code,libelle"; -$tabfieldinsert[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage"; +$tabfieldinsert[12]= "code,libelle,libelle_facture,nbjour,fdm,decalage,sortorder"; $tabfieldinsert[13]= "code,libelle,type,accountancy_code"; $tabfieldinsert[14]= "code,libelle,price,organization,fk_pays"; $tabfieldinsert[15]= "code,label,width,height,unit"; @@ -445,6 +445,7 @@ if ($id == 11) $langs->load("interventions"); $elementList = array( '' => '', + 'societe' => $langs->trans('ThirdParty'), // 'proposal' => $langs->trans('Proposal'), // 'order' => $langs->trans('Order'), // 'invoice' => $langs->trans('Bill'), @@ -812,7 +813,7 @@ if ($id) $titre.=' - '.$langs->trans($tablib[$id]); $linkback=''.$langs->trans("BackToDictionaryList").''; } -print_fiche_titre($titre,$linkback,'title_setup'); +print load_fiche_titre($titre,$linkback,'title_setup'); if (empty($id)) { @@ -1594,6 +1595,7 @@ function fieldList($fieldlist, $obj='', $tabname='', $context='') if ($fieldlist[$field]=='accountancy_code') $size='size="10" '; if ($fieldlist[$field]=='accountancy_code_sell') $size='size="10" '; if ($fieldlist[$field]=='accountancy_code_buy') $size='size="10" '; + if ($fieldlist[$field]=='sortorder') $size='size="2" '; print ''; print ''; } diff --git a/htdocs/admin/ecm.php b/htdocs/admin/ecm.php index ed75fd141f9..41824fea4c6 100644 --- a/htdocs/admin/ecm.php +++ b/htdocs/admin/ecm.php @@ -70,7 +70,7 @@ $help_url=''; llxHeader('',$langs->trans("ECMSetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ECMSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("ECMSetup"),$linkback,'title_setup'); print '
'; print '
'.$langs->trans("Parameter").'
'; print $langs->trans("FreeLegalTextOnContracts").' ('.$langs->trans("AddCRIfTooLong").')
'; -print ''; +$variablename='CONTRACT_FREE_TEXT'; +if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) +{ + print ''; +} +else +{ + include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; + $doleditor=new DolEditor($variablename, $conf->global->$variablename,'',80,'dolibarr_details'); + print $doleditor->Create(); +} print '
'; diff --git a/htdocs/admin/events.php b/htdocs/admin/events.php index ed2a70f1b58..04a46071142 100644 --- a/htdocs/admin/events.php +++ b/htdocs/admin/events.php @@ -73,7 +73,7 @@ if ($action == "save") llxHeader('',$langs->trans("Audit")); //$linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); +print load_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); print $langs->trans("LogEventDesc")."
\n"; print "
\n"; diff --git a/htdocs/admin/expedition.php b/htdocs/admin/expedition.php index e3842921d7f..9710929ee17 100644 --- a/htdocs/admin/expedition.php +++ b/htdocs/admin/expedition.php @@ -73,7 +73,7 @@ if ($action == 'updateMask') else if ($action == 'set_SHIPPING_FREE_TEXT') { - $freetext=GETPOST('SHIPPING_FREE_TEXT','alpha'); + $freetext=GETPOST('SHIPPING_FREE_TEXT'); // No alpha here, we want exact string $res = dolibarr_set_const($db, "SHIPPING_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity); if ($res > 0) @@ -217,7 +217,7 @@ $form=new Form($db); llxHeader("",""); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SendingsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("SendingsSetup"),$linkback,'title_setup'); print '
'; @@ -248,7 +248,7 @@ dol_fiche_head($head, $hselected, $langs->trans("ModuleSetup")); * Expedition numbering model */ -print_titre($langs->trans("SendingsNumberingModules")); +print load_fiche_titre($langs->trans("SendingsNumberingModules")); print '
'; print ''; @@ -354,7 +354,7 @@ print '

'; /* * Documents models for Sendings Receipt */ -print_titre($langs->trans("SendingsReceiptModel")); +print load_fiche_titre($langs->trans("SendingsReceiptModel")); // Defini tableau def de modele invoice $type="shipping"; @@ -516,7 +516,7 @@ print '
'; * Other options * */ -print_titre($langs->trans("OtherOptions")); +print load_fiche_titre($langs->trans("OtherOptions")); $var=true; print ""; @@ -532,7 +532,17 @@ print ''; print ''; print '\n"; diff --git a/htdocs/admin/expensereport.php b/htdocs/admin/expensereport.php index 15c810f46c5..f1b5eeb1427 100644 --- a/htdocs/admin/expensereport.php +++ b/htdocs/admin/expensereport.php @@ -189,7 +189,7 @@ else if ($action == 'setmod') else if ($action == 'set_EXPENSEREPORT_FREE_TEXT') { - $freetext= GETPOST('EXPENSEREPORT_FREE_TEXT','alpha'); + $freetext= GETPOST('EXPENSEREPORT_FREE_TEXT'); // No alpha here, we want exact string $res = dolibarr_set_const($db, "EXPENSEREPORT_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity); if (! $res > 0) $error++; @@ -235,7 +235,7 @@ llxHeader(); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ExpenseReportsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("ExpenseReportsSetup"),$linkback,'title_setup'); $head=expensereport_admin_prepare_head(); @@ -244,7 +244,7 @@ dol_fiche_head($head, 'expensereport', $langs->trans("ExpenseReports"), 0, 'trip // Interventions numbering model /* -print_titre($langs->trans("FicheinterNumberingModules")); +print load_fiche_titre($langs->trans("FicheinterNumberingModules")); print '
'; print $langs->trans("FreeLegalTextOnShippings").' ('.$langs->trans("AddCRIfTooLong").')
'; -print ''; +$variablename='SHIPPING_FREE_TEXT'; +if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) +{ + print ''; +} +else +{ + include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; + $doleditor=new DolEditor($variablename, $conf->global->$variablename,'',80,'dolibarr_details'); + print $doleditor->Create(); +} print '
'; print ''; print "
'; print ''; @@ -346,7 +346,7 @@ print '

'; * Documents models for Interventions */ -print_titre($langs->trans("TemplatePDFExpenseReports")); +print load_fiche_titre($langs->trans("TemplatePDFExpenseReports")); // Defini tableau def des modeles $type='expensereport'; diff --git a/htdocs/admin/external_rss.php b/htdocs/admin/external_rss.php index e067b5dcb6e..81f6c093d5e 100644 --- a/htdocs/admin/external_rss.php +++ b/htdocs/admin/external_rss.php @@ -189,7 +189,7 @@ if ($_POST["delete"]) llxHeader('',$langs->trans("ExternalRSSSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ExternalRSSSetup"), $linkback, 'title_setup'); +print load_fiche_titre($langs->trans("ExternalRSSSetup"), $linkback, 'title_setup'); print '
'; // Formulaire ajout diff --git a/htdocs/admin/facture.php b/htdocs/admin/facture.php index e993d2c276c..b77df2a7f12 100644 --- a/htdocs/admin/facture.php +++ b/htdocs/admin/facture.php @@ -293,7 +293,7 @@ $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("BillsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("BillsSetup"),$linkback,'title_setup'); $head = invoice_admin_prepare_head(); dol_fiche_head($head, 'general', $langs->trans("Invoices"), 0, 'invoice'); @@ -302,7 +302,7 @@ dol_fiche_head($head, 'general', $langs->trans("Invoices"), 0, 'invoice'); * Numbering module */ -print_titre($langs->trans("BillsNumberingModule")); +print load_fiche_titre($langs->trans("BillsNumberingModule")); print ''; print ''; @@ -471,7 +471,7 @@ print '
'; * Document templates generators */ print '
'; -print_titre($langs->trans("BillsPDFModules")); +print load_fiche_titre($langs->trans("BillsPDFModules")); // Load array def with activated templates $type='invoice'; @@ -631,7 +631,7 @@ print '
'; * Modes de reglement */ print '
'; -print_titre($langs->trans("SuggestedPaymentModesIfNotDefinedInInvoice")); +print load_fiche_titre($langs->trans("SuggestedPaymentModesIfNotDefinedInInvoice")); print ''; print ''; @@ -726,7 +726,7 @@ print ""; print "
"; -print_titre($langs->trans("OtherOptions")); +print load_fiche_titre($langs->trans("OtherOptions")); print ''; print ''; @@ -756,7 +756,17 @@ print ''; print ''; print '\n"; @@ -795,7 +805,7 @@ print '
'; print $langs->trans("FreeLegalTextOnInvoices").' ('.$langs->trans("AddCRIfTooLong").')
'; -print ''; +$variablename='FACTURE_FREE_TEXT'; +if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) +{ + print ''; +} +else +{ + include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; + $doleditor=new DolEditor($variablename, $conf->global->$variablename,'',80,'dolibarr_details'); + print $doleditor->Create(); +} print '
'; print ''; print "
'; * Repertoire */ print '
'; -print_titre($langs->trans("PathToDocuments")); +print load_fiche_titre($langs->trans("PathToDocuments")); print ''."\n"; print ''."\n"; @@ -813,7 +823,7 @@ print "
\n"; * Notifications */ print '
'; -print_titre($langs->trans("Notifications")); +print load_fiche_titre($langs->trans("Notifications")); print ''; print ''; print ''; diff --git a/htdocs/admin/fckeditor.php b/htdocs/admin/fckeditor.php index 7fbe4415b2b..b605da7e07b 100644 --- a/htdocs/admin/fckeditor.php +++ b/htdocs/admin/fckeditor.php @@ -25,6 +25,7 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/doleditor.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; $langs->load("admin"); @@ -98,13 +99,36 @@ foreach($modules as $const => $desc) if (GETPOST('save','alpha')) { - $res=dolibarr_set_const($db, "FCKEDITOR_TEST", GETPOST('formtestfield'),'chaine',0,'',$conf->entity); + $error = 0; - if ($res > 0) setEventMessage($langs->trans("RecordModifiedSuccessfully")); + $fckeditor_skin = GETPOST('fckeditor_skin', 'alpha'); + if (! empty($fckeditor_skin)) { + if (! dolibarr_set_const($db, 'FCKEDITOR_SKIN', $fckeditor_skin, 'chaine', 0, '', $conf->entity)) { + $error ++; + } + } else { + $error ++; + } + + $fckeditor_test = GETPOST('formtestfield'); + if (! empty($fckeditor_test)) { + if (! dolibarr_set_const($db, 'FCKEDITOR_TEST', $fckeditor_test, 'chaine', 0, '', $conf->entity)) { + $error ++; + } + } else { + $error ++; + } + + if (! $error) + { + setEventMessage($langs->trans("SetupSaved")); + } + else + { + setEventMessage($langs->trans("Error"),'errors'); + } } - - /* * View */ @@ -112,7 +136,7 @@ if (GETPOST('save','alpha')) llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("AdvancedEditor"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("AdvancedEditor"),$linkback,'title_setup'); print '
'; $var=true; @@ -157,9 +181,15 @@ else print '
'.$langs->trans("Parameter").'
'."\n"; + print '
'."\n"; + + print '
'."\n"; + + // Skins + show_skin(null,1); print '
'."\n"; - print_fiche_titre($langs->trans("TestSubmitForm"),'(mode='.$mode.')',''); - print ''."\n"; + + print load_fiche_titre($langs->trans("TestSubmitForm"),'(mode='.$mode.')',''); print ''; $uselocalbrowser=true; $readonly=($mode=='dolibarr_readonly'?1:0); diff --git a/htdocs/admin/fichinter.php b/htdocs/admin/fichinter.php index 1e0e78db868..ca5e18a4103 100644 --- a/htdocs/admin/fichinter.php +++ b/htdocs/admin/fichinter.php @@ -185,7 +185,7 @@ else if ($action == 'setmod') else if ($action == 'set_FICHINTER_FREE_TEXT') { - $freetext= GETPOST('FICHINTER_FREE_TEXT','alpha'); + $freetext= GETPOST('FICHINTER_FREE_TEXT'); // No alpha here, we want exact string $res = dolibarr_set_const($db, "FICHINTER_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity); if (! $res > 0) $error++; @@ -247,7 +247,7 @@ llxHeader(); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("InterventionsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("InterventionsSetup"),$linkback,'title_setup'); $head=fichinter_admin_prepare_head(); @@ -256,7 +256,7 @@ dol_fiche_head($head, 'ficheinter', $langs->trans("Interventions"), 0, 'interven // Interventions numbering model -print_titre($langs->trans("FicheinterNumberingModules")); +print load_fiche_titre($langs->trans("FicheinterNumberingModules")); print ''; print ''; @@ -358,7 +358,7 @@ print '

'; * Documents models for Interventions */ -print_titre($langs->trans("TemplatePDFInterventions")); +print load_fiche_titre($langs->trans("TemplatePDFInterventions")); // Defini tableau def des modeles $type='ficheinter'; @@ -512,7 +512,7 @@ print "
"; * */ -print_titre($langs->trans("OtherOptions")); +print load_fiche_titre($langs->trans("OtherOptions")); print ''; print ''; print ''; @@ -527,7 +527,17 @@ print ''; print ''; print '\n"; diff --git a/htdocs/admin/geoipmaxmind.php b/htdocs/admin/geoipmaxmind.php index 119f97ac840..5e4c9de6fd7 100644 --- a/htdocs/admin/geoipmaxmind.php +++ b/htdocs/admin/geoipmaxmind.php @@ -76,7 +76,7 @@ $form=new Form($db); llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("GeoIPMaxmindSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("GeoIPMaxmindSetup"),$linkback,'title_setup'); print '
'; $version=''; diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php index 20e05482685..8d93dfc950c 100644 --- a/htdocs/admin/ihm.php +++ b/htdocs/admin/ihm.php @@ -63,8 +63,7 @@ if ($action == 'update') dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_DAYS", $_POST["MAIN_DEFAULT_WORKING_DAYS"],'chaine',0,'',$conf->entity); dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_HOURS", $_POST["MAIN_DEFAULT_WORKING_HOURS"],'chaine',0,'',$conf->entity); dolibarr_set_const($db, "MAIN_SHOW_LOGO", $_POST["MAIN_SHOW_LOGO"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_ACTIVATE_HTML5", $_POST["MAIN_ACTIVATE_HTML5"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_ACTIVATE_FILECACHE", $_POST["MAIN_ACTIVATE_FILECACHE"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_ACTIVATE_FILECACHE", $_POST["MAIN_ACTIVATE_FILECACHE"],'chaine',0,'',$conf->entity); dolibarr_set_const($db, "MAIN_FIRSTNAME_NAME_POSITION", $_POST["MAIN_FIRSTNAME_NAME_POSITION"],'chaine',0,'',$conf->entity); dolibarr_set_const($db, "MAIN_THEME", $_POST["main_theme"],'chaine',0,'',$conf->entity); @@ -90,8 +89,8 @@ if ($action == 'update') dolibarr_set_const($db, "MAIN_HELP_DISABLELINK", $_POST["MAIN_HELP_DISABLELINK"],'chaine',0,'',0); // Param for all entities dolibarr_set_const($db, "MAIN_BUGTRACK_ENABLELINK", $_POST["MAIN_BUGTRACK_ENABLELINK"],'chaine',0,'',$conf->entity); - if (GETPOST('check_THEME_ELDY_USE_HOVER') == 'on') dolibarr_set_const($db,"THEME_ELDY_USE_HOVER", 1,'chaine',0,'',$conf->entity); - else dolibarr_set_const($db,"THEME_ELDY_USE_HOVER",0,'chaine',0,'',$conf->entity); + if (GETPOST('THEME_ELDY_USE_HOVER') == '') dolibarr_del_const($db, "THEME_ELDY_USE_HOVER", $conf->entity); + else dolibarr_set_const($db, "THEME_ELDY_USE_HOVER", $_POST["THEME_ELDY_USE_HOVER"], 'chaine', 0, '', $conf->entity); // This one is not always defined if (isset($_POST["MAIN_USE_PREVIEW_TABS"])) dolibarr_set_const($db, "MAIN_USE_PREVIEW_TABS", $_POST["MAIN_USE_PREVIEW_TABS"],'chaine',0,'',$conf->entity); @@ -114,7 +113,7 @@ $form=new Form($db); $formother=new FormOther($db); $formadmin=new FormAdmin($db); -print_fiche_titre($langs->trans("GUISetup"),'','title_setup'); +print load_fiche_titre($langs->trans("GUISetup"),'','title_setup'); print $langs->trans("DisplayDesc")."
\n"; print "
\n"; @@ -132,7 +131,7 @@ if ($action == 'edit') // Edit clearstatcache(); $var=true; - print_fiche_titre($langs->trans("Language"),'',''); + print load_fiche_titre($langs->trans("Language"),'',''); print '
'; print '
'.$langs->trans("Parameter").'
'; print $langs->trans("FreeLegalTextOnInterventions").' ('.$langs->trans("AddCRIfTooLong").')
'; -print ''; +$variablename='FICHINTER_FREE_TEXT'; +if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) +{ + print ''; +} +else +{ + include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; + $doleditor=new DolEditor($variablename, $conf->global->$variablename,'',80,'dolibarr_details'); + print $doleditor->Create(); +} print '
'; print ''; print "
'; print ''; @@ -189,17 +188,6 @@ if ($action == 'edit') // Edit print ''; print ''; - // Activate Html5 - Developement - Only available on Eldy template - if ($conf->global->MAIN_FEATURES_LEVEL == 2 || ! empty($conf->global->MAIN_ACTIVATE_HTML5)) - { - $var=!$var; - print ''; - print ''; - print ''; - } - // Activate FileCache - Developement if ($conf->global->MAIN_FEATURES_LEVEL == 2 || ! empty($conf->global->MAIN_ACTIVATE_FILECACHE)) { $var=!$var; @@ -343,7 +331,7 @@ else // Show print ($conf->global->MAIN_LANG_DEFAULT=='auto'?$langs->trans("AutoDetectLang"):$langs->trans("Language_".$conf->global->MAIN_LANG_DEFAULT)); print ''; print ''; print ""; @@ -385,15 +373,6 @@ else // Show print ''; print ""; - // Activate Html5 - Developement - Only available on Eldy template - if ($conf->global->MAIN_FEATURES_LEVEL == 2 || ! empty($conf->global->MAIN_ACTIVATE_HTML5)) - { - $var=!$var; - print ''; - print ''; - print ""; - } - // Activate FileCache - Developement if ($conf->global->MAIN_FEATURES_LEVEL == 2 || ! empty($conf->global->MAIN_ACTIVATE_FILECACHE)) { $var=!$var; diff --git a/htdocs/admin/index.php b/htdocs/admin/index.php index 2d47206d6ad..6778f618265 100644 --- a/htdocs/admin/index.php +++ b/htdocs/admin/index.php @@ -43,7 +43,7 @@ llxHeader('',$langs->trans("Setup"),$wikihelp); $form = new Form($db); -print_fiche_titre($langs->trans("SetupArea"),'','title_setup.png'); +print load_fiche_titre($langs->trans("SetupArea"),'','title_setup.png'); if (! empty($conf->global->MAIN_MOTD_SETUPPAGE)) diff --git a/htdocs/admin/ldap.php b/htdocs/admin/ldap.php index ce4ba172583..cd55cddbf45 100644 --- a/htdocs/admin/ldap.php +++ b/htdocs/admin/ldap.php @@ -82,7 +82,7 @@ llxHeader('',$langs->trans("LDAPSetup"),'EN:Module_LDAP_En|FR:Module_LDAP|ES:M&o $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("LDAPSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("LDAPSetup"),$linkback,'title_setup'); $head = ldap_prepare_head(); @@ -263,7 +263,7 @@ if (function_exists("ldap_connect")) $ldap = new Ldap(); // Les parametres sont passes et recuperes via $conf $result = $ldap->connect_bind(); - if ($result) + if ($result > 0) { // Test ldap connect and bind print img_picto('','info').' '; diff --git a/htdocs/admin/ldap_contacts.php b/htdocs/admin/ldap_contacts.php index a92943b63ba..d24147417e3 100644 --- a/htdocs/admin/ldap_contacts.php +++ b/htdocs/admin/ldap_contacts.php @@ -95,7 +95,7 @@ if ($action == 'setvalue' && $user->admin) llxHeader('',$langs->trans("LDAPSetup"),'EN:Module_LDAP_En|FR:Module_LDAP|ES:Módulo_LDAP'); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("LDAPSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("LDAPSetup"),$linkback,'title_setup'); $head = ldap_prepare_head(); diff --git a/htdocs/admin/ldap_groups.php b/htdocs/admin/ldap_groups.php index f9ced81adba..765a1549038 100644 --- a/htdocs/admin/ldap_groups.php +++ b/htdocs/admin/ldap_groups.php @@ -86,7 +86,7 @@ if ($action == 'setvalue' && $user->admin) llxHeader('',$langs->trans("LDAPSetup"),'EN:Module_LDAP_En|FR:Module_LDAP|ES:Módulo_LDAP'); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("LDAPSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("LDAPSetup"),$linkback,'title_setup'); $head = ldap_prepare_head(); diff --git a/htdocs/admin/ldap_members.php b/htdocs/admin/ldap_members.php index 37b0250d04a..ae92c8f38cd 100644 --- a/htdocs/admin/ldap_members.php +++ b/htdocs/admin/ldap_members.php @@ -110,7 +110,7 @@ if ($action == 'setvalue' && $user->admin) llxHeader('',$langs->trans("LDAPSetup"),'EN:Module_LDAP_En|FR:Module_LDAP|ES:Módulo_LDAP'); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("LDAPSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("LDAPSetup"),$linkback,'title_setup'); $head = ldap_prepare_head(); diff --git a/htdocs/admin/ldap_users.php b/htdocs/admin/ldap_users.php index 0a293022581..096f844436f 100644 --- a/htdocs/admin/ldap_users.php +++ b/htdocs/admin/ldap_users.php @@ -96,7 +96,7 @@ if ($action == 'setvalue' && $user->admin) llxHeader('',$langs->trans("LDAPSetup"),'EN:Module_LDAP_En|FR:Module_LDAP|ES:Módulo_LDAP'); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("LDAPSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("LDAPSetup"),$linkback,'title_setup'); $head = ldap_prepare_head(); diff --git a/htdocs/admin/limits.php b/htdocs/admin/limits.php index 9bfb8f801ed..8949fba6d3c 100644 --- a/htdocs/admin/limits.php +++ b/htdocs/admin/limits.php @@ -88,7 +88,7 @@ $form=new Form($db); llxHeader(); -print_fiche_titre($langs->trans("LimitsSetup"),'','title_setup'); +print load_fiche_titre($langs->trans("LimitsSetup"),'','title_setup'); print $langs->trans("LimitsDesc")."
\n"; diff --git a/htdocs/admin/livraison.php b/htdocs/admin/livraison.php index 2accd8236d4..9257aada029 100644 --- a/htdocs/admin/livraison.php +++ b/htdocs/admin/livraison.php @@ -68,7 +68,7 @@ if ($action == 'updateMask') if ($action == 'set_DELIVERY_FREE_TEXT') { - $free=GETPOST('DELIVERY_FREE_TEXT','alpha'); + $free=GETPOST('DELIVERY_FREE_TEXT'); // No alpha here, we want exact string $res=dolibarr_set_const($db, "DELIVERY_FREE_TEXT",$free,'chaine',0,'',$conf->entity); if (! $res > 0) $error++; @@ -208,7 +208,7 @@ llxHeader("",""); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SendingsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("SendingsSetup"),$linkback,'title_setup'); print '
'; @@ -237,7 +237,7 @@ dol_fiche_head($head, $hselected, $langs->trans("ModuleSetup")); * Livraison numbering model */ -print_titre($langs->trans("DeliveryOrderNumberingModules")); +print load_fiche_titre($langs->trans("DeliveryOrderNumberingModules")); print '
'.$langs->trans("Parameters").''.$langs->trans("Value").' 
'.$langs->trans("EnableHtml5").''; - print $form->selectyesno('MAIN_ACTIVATE_HTML5',$conf->global->MAIN_ACTIVATE_HTML5,1); - print ' 
'; - if ($user->admin && $conf->global->MAIN_LANG_DEFAULT!='auto') print info_admin($langs->trans("SubmitTranslation",$conf->global->MAIN_LANG_DEFAULT),1); + if ($user->admin && $conf->global->MAIN_LANG_DEFAULT!='auto') print info_admin($langs->trans("SubmitTranslation".($conf->global->MAIN_LANG_DEFAULT=='en_US'?'ENUS':''),$conf->global->MAIN_LANG_DEFAULT),1); print '
 
'.$langs->trans("EnableHtml5").'' . yn($conf->global->MAIN_ACTIVATE_HTML5) . ' 
'; print ''; @@ -340,7 +340,7 @@ print '
'; * Documents Models for delivery */ print '
'; -print_titre($langs->trans("DeliveryOrderModel")); +print load_fiche_titre($langs->trans("DeliveryOrderModel")); // Defini tableau def de modele $type="delivery"; @@ -487,7 +487,7 @@ print ''; * Autres Options */ print "
"; -print_titre($langs->trans("OtherOptions")); +print load_fiche_titre($langs->trans("OtherOptions")); print ''; print ''; @@ -504,6 +504,16 @@ print ''; print '\n"; diff --git a/htdocs/admin/loan.php b/htdocs/admin/loan.php index a98e44539b9..a966b751955 100644 --- a/htdocs/admin/loan.php +++ b/htdocs/admin/loan.php @@ -78,7 +78,7 @@ llxHeader(); $form = new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans('ConfigLoan'),$linkback,'title_setup'); +print load_fiche_titre($langs->trans('ConfigLoan'),$linkback,'title_setup'); print ''; print ''; diff --git a/htdocs/admin/mailing.php b/htdocs/admin/mailing.php index c934a46b8e0..8c4769780fd 100644 --- a/htdocs/admin/mailing.php +++ b/htdocs/admin/mailing.php @@ -81,7 +81,7 @@ if ($action == 'setvalue') llxHeader('',$langs->trans("MailingSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("MailingSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("MailingSetup"),$linkback,'title_setup'); if (! empty($conf->use_javascript_ajax)) { diff --git a/htdocs/admin/mailman.php b/htdocs/admin/mailman.php index dc8cf57aa53..686da7fc68c 100644 --- a/htdocs/admin/mailman.php +++ b/htdocs/admin/mailman.php @@ -152,7 +152,7 @@ llxHeader('',$langs->trans("MailmanSpipSetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("MailmanSpipSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("MailmanSpipSetup"),$linkback,'title_setup'); $head = mailmanspip_admin_prepare_head(); @@ -175,7 +175,7 @@ if (! empty($conf->global->ADHERENT_USE_MAILMAN)) 'ADHERENT_MAILMAN_LISTS' ); - print_fiche_titre($langs->trans('MailmanTitle'), $link,''); + print load_fiche_titre($langs->trans('MailmanTitle'), $link,''); print '
'; @@ -211,7 +211,7 @@ else //$link.=img_$langs->trans("Activate") $link.=img_picto($langs->trans("Disabled"),'switch_off'); $link.=''; - print_fiche_titre($langs->trans('MailmanTitle'), $link,''); + print load_fiche_titre($langs->trans('MailmanTitle'), $link,''); } dol_fiche_end(); diff --git a/htdocs/admin/mails.php b/htdocs/admin/mails.php index 148fcf76268..654d85b572b 100644 --- a/htdocs/admin/mails.php +++ b/htdocs/admin/mails.php @@ -244,7 +244,7 @@ if (! $server) $server='127.0.0.1'; $wikihelp='EN:Setup EMails|FR:Paramétrage EMails|ES:Configuración EMails'; llxHeader('',$langs->trans("Setup"),$wikihelp); -print_fiche_titre($langs->trans("EMailsSetup"),'','title_setup'); +print load_fiche_titre($langs->trans("EMailsSetup"),'','title_setup'); print $langs->trans("EMailsDesc")."
\n"; print "
\n"; @@ -660,7 +660,7 @@ else if ($action == 'testconnect') { print '
'; - print_titre($langs->trans("DoTestServerAvailability")); + print load_fiche_titre($langs->trans("DoTestServerAvailability")); // If we use SSL/TLS if (! empty($conf->global->MAIN_MAIL_EMAIL_TLS) && function_exists('openssl_open')) $server='ssl://'.$server; @@ -686,7 +686,7 @@ else if ($action == 'test' || $action == 'testhtml') { print '
'; - print_titre($action == 'testhtml'?$langs->trans("DoTestSendHTML"):$langs->trans("DoTestSend")); + print load_fiche_titre($action == 'testhtml'?$langs->trans("DoTestSendHTML"):$langs->trans("DoTestSend")); // Cree l'objet formulaire mail include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; diff --git a/htdocs/admin/menus.php b/htdocs/admin/menus.php index ad83def9ce8..c0ac9a3df8c 100644 --- a/htdocs/admin/menus.php +++ b/htdocs/admin/menus.php @@ -131,7 +131,7 @@ $formadmin=new FormAdmin($db); $wikihelp='EN:First_setup|FR:Premiers_paramétrages|ES:Primeras_configuraciones'; llxHeader('',$langs->trans("Setup"),$wikihelp); -print_fiche_titre($langs->trans("Menus"),'','title_setup'); +print load_fiche_titre($langs->trans("Menus"),'','title_setup'); $h = 0; diff --git a/htdocs/admin/menus/edit.php b/htdocs/admin/menus/edit.php index 4ab41c7991e..7c22a17c553 100644 --- a/htdocs/admin/menus/edit.php +++ b/htdocs/admin/menus/edit.php @@ -270,7 +270,7 @@ if ($action == 'create') }); '; - print_fiche_titre($langs->trans("NewMenu"),'','title_setup'); + print load_fiche_titre($langs->trans("NewMenu"),'','title_setup'); print ''; print ''; @@ -379,7 +379,7 @@ if ($action == 'create') } elseif ($action == 'edit') { - print_fiche_titre($langs->trans("ModifMenu"),'','title_setup'); + print load_fiche_titre($langs->trans("ModifMenu"),'','title_setup'); print '
'; print ''; diff --git a/htdocs/admin/menus/index.php b/htdocs/admin/menus/index.php index 62bf0bbd617..c8699209268 100644 --- a/htdocs/admin/menus/index.php +++ b/htdocs/admin/menus/index.php @@ -214,7 +214,7 @@ $arrayofcss=array('/includes/jquery/plugins/jquerytreeview/jquery.treeview.css') llxHeader('',$langs->trans("Menus"),'','',0,0,$arrayofjs,$arrayofcss); -print_fiche_titre($langs->trans("Menus"),'','title_setup'); +print load_fiche_titre($langs->trans("Menus"),'','title_setup'); $h = 0; diff --git a/htdocs/admin/menus/other.php b/htdocs/admin/menus/other.php index 8a893b21321..73dc0fe3b85 100644 --- a/htdocs/admin/menus/other.php +++ b/htdocs/admin/menus/other.php @@ -71,7 +71,7 @@ else if ($action == 'disable_layoutmenu') llxHeader('',$langs->trans("Setup")); -print_fiche_titre($langs->trans("Menus"),'','title_setup'); +print load_fiche_titre($langs->trans("Menus"),'','title_setup'); $h = 0; diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index 398dd8036fb..cf974990f01 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -1,11 +1,12 @@ - * Copyright (C) 2003 Jean-Louis Bergamo - * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 2011 Juanjo Menent - * Copyright (C) 2015 Jean-François Ferry +/* Copyright (C) 2003-2007 Rodolphe Quiedeville + * Copyright (C) 2003 Jean-Louis Bergamo + * Copyright (C) 2004-2013 Laurent Destailleur + * Copyright (C) 2004 Eric Seigne + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2011 Juanjo Menent + * Copyright (C) 2015 Jean-François Ferry + * Copyright (C) 2015 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,6 +29,7 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/functions2.lib.php'; $langs->load("errors"); $langs->load("admin"); @@ -76,28 +78,7 @@ llxHeader('',$langs->trans("Setup"),$help_url); // Search modules dirs -$modulesdir = array(); -foreach ($conf->file->dol_document_root as $type => $dirroot) -{ - $modulesdir[$dirroot . '/core/modules/'] = $dirroot . '/core/modules/'; - - $handle=@opendir($dirroot); - if (is_resource($handle)) - { - while (($file = readdir($handle))!==false) - { - if (is_dir($dirroot.'/'.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS' && $file != 'includes') - { - if (is_dir($dirroot . '/' . $file . '/core/modules/')) - { - $modulesdir[$dirroot . '/' . $file . '/core/modules/'] = $dirroot . '/' . $file . '/core/modules/'; - } - } - } - closedir($handle); - } -} -//var_dump($modulesdir); +$modulesdir = dolGetModulesDirs(); $filename = array(); diff --git a/htdocs/admin/notification.php b/htdocs/admin/notification.php index bab6db29959..fca545e83cd 100644 --- a/htdocs/admin/notification.php +++ b/htdocs/admin/notification.php @@ -115,7 +115,7 @@ $notify = new Notify($db); llxHeader('',$langs->trans("NotificationSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("NotificationSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("NotificationSetup"),$linkback,'title_setup'); print $langs->trans("NotificationsDesc").'

'; @@ -143,7 +143,7 @@ print '
'; if ($conf->societe->enabled) { - print_fiche_titre($langs->trans("ListOfNotificationsPerContact"),'',''); + print load_fiche_titre($langs->trans("ListOfNotificationsPerContact"),'',''); print '
'; print $langs->trans("FreeLegalTextOnDeliveryReceipts").' ('.$langs->trans("AddCRIfTooLong").')
'; print ''; +if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) +{ + print ''; +} +else +{ + include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; + $doleditor=new DolEditor($variablename, $conf->global->$variablename,'',80,'dolibarr_details'); + print $doleditor->Create(); +} print '
'; print ''; print "
'; print ''; @@ -186,7 +186,7 @@ if ($conf->societe->enabled) } -print_fiche_titre($langs->trans("ListOfFixedNotifications"),'',''); +print load_fiche_titre($langs->trans("ListOfFixedNotifications"),'',''); print '
'; print ''; diff --git a/htdocs/admin/order_extrafields.php b/htdocs/admin/order_extrafields.php index 0c71c3285ad..ea0f99021cf 100644 --- a/htdocs/admin/order_extrafields.php +++ b/htdocs/admin/order_extrafields.php @@ -70,7 +70,7 @@ $textobject=$langs->transnoentitiesnoconv("Orders"); llxHeader('',$langs->trans("OrdersSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("OrdersSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("OrdersSetup"),$linkback,'title_setup'); print "
\n"; $head = order_admin_prepare_head(); @@ -100,7 +100,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -113,7 +113,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/admin/orderdet_extrafields.php b/htdocs/admin/orderdet_extrafields.php index 9f16d7934b1..8e542e3d871 100644 --- a/htdocs/admin/orderdet_extrafields.php +++ b/htdocs/admin/orderdet_extrafields.php @@ -71,7 +71,7 @@ $textobject=$langs->transnoentitiesnoconv("OrderLines"); llxHeader('',$langs->trans("OrdersSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("OrdersSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("OrdersSetup"),$linkback,'title_setup'); print "
\n"; $head = order_admin_prepare_head(); @@ -101,7 +101,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -114,7 +114,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/admin/pdf.php b/htdocs/admin/pdf.php index 9f12c98e1d8..7bd46ac9684 100644 --- a/htdocs/admin/pdf.php +++ b/htdocs/admin/pdf.php @@ -93,7 +93,7 @@ $form=new Form($db); $formother=new FormOther($db); $formadmin=new FormAdmin($db); -print_fiche_titre($langs->trans("PDF"),'','title_setup'); +print load_fiche_titre($langs->trans("PDF"),'','title_setup'); print $langs->trans("PDFDesc")."
\n"; print "
\n"; @@ -110,7 +110,7 @@ if ($action == 'edit') // Edit // Misc options - print_fiche_titre($langs->trans("DictionaryPaperFormat"),'','').'
'; + print load_fiche_titre($langs->trans("DictionaryPaperFormat"),'','').'
'; $var=true; print '
'; print ''; @@ -130,7 +130,7 @@ if ($action == 'edit') // Edit // Addresses - print_fiche_titre($langs->trans("PDFAddressForging"),'','').'
'; + print load_fiche_titre($langs->trans("PDFAddressForging"),'','').'
'; $var=true; print '
'.$langs->trans("Parameter").''.$langs->trans("Value").'
'; print ''; @@ -212,7 +212,7 @@ if ($action == 'edit') // Edit print '
'; // Other - print_fiche_titre($langs->trans("Other"),'','').'
'; + print load_fiche_titre($langs->trans("Other"),'','').'
'; $var=true; print '
'.$langs->trans("Parameter").''.$langs->trans("Value").'
'; print ''; @@ -262,7 +262,7 @@ else // Show $var=true; // Misc options - print_fiche_titre($langs->trans("DictionaryPaperFormat"),'','').'
'; + print load_fiche_titre($langs->trans("DictionaryPaperFormat"),'','').'
'; $var=true; print '
'.$langs->trans("Parameter").''.$langs->trans("Value").'
'; print ''; @@ -299,7 +299,7 @@ else // Show print '
'; - print_fiche_titre($langs->trans("PDFAddressForging"),'','').'
'; + print load_fiche_titre($langs->trans("PDFAddressForging"),'','').'
'; print '
'.$langs->trans("Parameter").''.$langs->trans("Value").'
'; print ''; @@ -380,7 +380,7 @@ else // Show print '
'; // Other - print_fiche_titre($langs->trans("Other"),'','').'
'; + print load_fiche_titre($langs->trans("Other"),'','').'
'; $var=true; print '
'.$langs->trans("Parameter").''.$langs->trans("Value").'
'; print ''; @@ -453,7 +453,7 @@ else // Show * Library */ print '
'; - print_titre($langs->trans("Library")); + print load_fiche_titre($langs->trans("Library")); print '
'.$langs->trans("Parameter").''.$langs->trans("Value").'
'."\n"; diff --git a/htdocs/admin/perms.php b/htdocs/admin/perms.php index 5bb526352f6..cf9dce45c08 100644 --- a/htdocs/admin/perms.php +++ b/htdocs/admin/perms.php @@ -64,7 +64,7 @@ if ($action == 'remove') llxHeader('',$langs->trans("DefaultRights")); -print_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); +print load_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); print $langs->trans("DefaultRightsDesc"); print " ".$langs->trans("OnlyActiveElementsAreShown")."

\n"; diff --git a/htdocs/admin/prelevement.php b/htdocs/admin/prelevement.php index 31c1e5e7dba..56aa69e9943 100644 --- a/htdocs/admin/prelevement.php +++ b/htdocs/admin/prelevement.php @@ -119,7 +119,7 @@ llxHeader('',$langs->trans("WithdrawalsSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("WithdrawalsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("WithdrawalsSetup"),$linkback,'title_setup'); print '
'; print ''; @@ -178,7 +178,7 @@ print '
'; if (! empty($conf->global->MAIN_MODULE_NOTIFICATION)) { $langs->load("mails"); - print_titre($langs->trans("Notifications")); + print load_fiche_titre($langs->trans("Notifications")); $sql = "SELECT u.rowid, u.lastname, u.firstname, u.fk_soc, u.email"; $sql.= " FROM ".MAIN_DB_PREFIX."user as u"; @@ -238,11 +238,11 @@ if (! empty($conf->global->MAIN_MODULE_NOTIFICATION)) print "\n"; print ''; print ''; print ''; diff --git a/htdocs/admin/propal.php b/htdocs/admin/propal.php index b407f5bc6f8..1294888ceb1 100644 --- a/htdocs/admin/propal.php +++ b/htdocs/admin/propal.php @@ -261,7 +261,7 @@ $form=new Form($db); //if ($mesg) print $mesg; $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("PropalSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("PropalSetup"),$linkback,'title_setup'); $head = propal_admin_prepare_head(); @@ -270,7 +270,7 @@ dol_fiche_head($head, 'general', $langs->trans("Proposals"), 0, 'propal'); /* * Module numerotation */ -print_titre($langs->trans("ProposalsNumberingModules")); +print load_fiche_titre($langs->trans("ProposalsNumberingModules")); print '
'; - print $form->selectarray('user',$internalusers);// select_users(0,'user',0); + print $form->selectarray('user',$internalusers);// select_dolusers(0,'user',0); print ''; - print $form->selectarray('action',$actions);// select_users(0,'user',0); + print $form->selectarray('action',$actions);// select_dolusers(0,'user',0); print '
'; print ''; @@ -374,7 +374,7 @@ print "

\n"; * Document templates generators */ -print_titre($langs->trans("ProposalsPDFModules")); +print load_fiche_titre($langs->trans("ProposalsPDFModules")); // Load array def with activated templates $def = array(); @@ -536,7 +536,7 @@ print '
'; * Other options * */ -print_titre($langs->trans("OtherOptions")); +print load_fiche_titre($langs->trans("OtherOptions")); $var=true; print ""; @@ -578,7 +578,17 @@ print ''; print ''; print '\n"; @@ -633,7 +643,7 @@ print '
'; print $langs->trans("FreeLegalTextOnProposal").' ('.$langs->trans("AddCRIfTooLong").')
'; -print ''; +$variablename='PROPALE_FREE_TEXT'; +if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) +{ + print ''; +} +else +{ + include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; + $doleditor=new DolEditor($variablename, $conf->global->$variablename,'',80,'dolibarr_details'); + print $doleditor->Create(); +} print '
'; print ''; print "
'; * Directory */ print '
'; -print_titre($langs->trans("PathToDocuments")); +print load_fiche_titre($langs->trans("PathToDocuments")); print "\n"; print "\n"; @@ -648,7 +658,7 @@ print "
\n
"; * Notifications */ -print_titre($langs->trans("Notifications")); +print load_fiche_titre($langs->trans("Notifications")); print ''; print ''; print ''; diff --git a/htdocs/admin/proxy.php b/htdocs/admin/proxy.php index 00d66944c97..100da221ce6 100644 --- a/htdocs/admin/proxy.php +++ b/htdocs/admin/proxy.php @@ -81,7 +81,7 @@ $form = new Form($db); llxHeader('',$langs->trans("Proxy")); -print_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); +print load_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); print $langs->trans("ProxyDesc")."
\n"; print "
\n"; diff --git a/htdocs/admin/salaries.php b/htdocs/admin/salaries.php index 291c3848a63..bb37e73fc88 100644 --- a/htdocs/admin/salaries.php +++ b/htdocs/admin/salaries.php @@ -77,7 +77,7 @@ llxHeader('',$langs->trans('SalariesSetup')); $form = new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans('SalariesSetup'),$linkback,'title_setup'); +print load_fiche_titre($langs->trans('SalariesSetup'),$linkback,'title_setup'); print ''; print ''; diff --git a/htdocs/admin/security.php b/htdocs/admin/security.php index 0eeef2cbe15..77e5e75f58d 100644 --- a/htdocs/admin/security.php +++ b/htdocs/admin/security.php @@ -185,7 +185,7 @@ $form = new Form($db); llxHeader('',$langs->trans("Passwords")); -print_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); +print load_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); print $langs->trans("GeneratedPasswordDesc")."
\n"; print "
\n"; diff --git a/htdocs/admin/security_file.php b/htdocs/admin/security_file.php index e72ece4375c..a7afaf0ef0a 100644 --- a/htdocs/admin/security_file.php +++ b/htdocs/admin/security_file.php @@ -111,7 +111,7 @@ $form = new Form($db); llxHeader('',$langs->trans("Files")); -print_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); +print load_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); //print $langs->trans("FilesDesc")."
\n"; //print "
\n"; diff --git a/htdocs/admin/security_other.php b/htdocs/admin/security_other.php index 74101f29710..6c040e8d6d6 100644 --- a/htdocs/admin/security_other.php +++ b/htdocs/admin/security_other.php @@ -89,7 +89,7 @@ $form = new Form($db); llxHeader('',$langs->trans("Miscellaneous")); -print_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); +print load_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); print $langs->trans("MiscellaneousDesc")."
\n"; print "
\n"; diff --git a/htdocs/admin/sms.php b/htdocs/admin/sms.php index 44bab100730..4b7818ecadb 100644 --- a/htdocs/admin/sms.php +++ b/htdocs/admin/sms.php @@ -147,7 +147,7 @@ if (preg_match('/^mac/i',PHP_OS)) $linuxlike=0; $wikihelp='EN:Setup Sms|FR:Paramétrage Sms|ES:Configuración Sms'; llxHeader('',$langs->trans("Setup"),$wikihelp); -print_fiche_titre($langs->trans("SmsSetup"),'','title_setup'); +print load_fiche_titre($langs->trans("SmsSetup"),'','title_setup'); print $langs->trans("SmsDesc")."
\n"; print "
\n"; @@ -289,7 +289,7 @@ else if ($_GET["action"] == 'testconnect') { print '
'; - print_titre($langs->trans("DoTestServerAvailability")); + print load_fiche_titre($langs->trans("DoTestServerAvailability")); // If we use SSL/TLS if (! empty($conf->global->MAIN_MAIL_EMAIL_TLS) && function_exists('openssl_open')) $server='ssl://'.$server; @@ -311,7 +311,7 @@ else if ($action == 'test') { print '
'; - print_titre($langs->trans("DoTestSend")); + print load_fiche_titre($langs->trans("DoTestSend")); // Cree l'objet formulaire mail include_once DOL_DOCUMENT_ROOT.'/core/class/html.formsms.class.php'; diff --git a/htdocs/admin/spip.php b/htdocs/admin/spip.php index 753fef37be6..e46d9b8f5b7 100644 --- a/htdocs/admin/spip.php +++ b/htdocs/admin/spip.php @@ -110,7 +110,7 @@ llxHeader('',$langs->trans("MailmanSpipSetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("MailmanSpipSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("MailmanSpipSetup"),$linkback,'title_setup'); $head = mailmanspip_admin_prepare_head(); @@ -137,7 +137,7 @@ if (! empty($conf->global->ADHERENT_USE_SPIP)) 'ADHERENT_SPIP_PASS' ); - print_fiche_titre($langs->trans('SPIPTitle'), $link, ''); + print load_fiche_titre($langs->trans('SPIPTitle'), $link, ''); print '
'; form_constantes($constantes); print '
'; @@ -148,7 +148,7 @@ else //$link.=$langs->trans("Activate"); $link.=img_picto($langs->trans("Disabled"),'switch_off'); $link.=''; - print_fiche_titre($langs->trans('SPIPTitle'), $link, ''); + print load_fiche_titre($langs->trans('SPIPTitle'), $link, ''); } diff --git a/htdocs/admin/stock.php b/htdocs/admin/stock.php index 0f6560ad055..2ed2f4f869e 100644 --- a/htdocs/admin/stock.php +++ b/htdocs/admin/stock.php @@ -113,7 +113,7 @@ if($action) llxHeader('',$langs->trans("StockSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("StockSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("StockSetup"),$linkback,'title_setup'); $form=new Form($db); diff --git a/htdocs/admin/supplier_invoice.php b/htdocs/admin/supplier_invoice.php index 9c70ecc5e4c..694247e7b81 100644 --- a/htdocs/admin/supplier_invoice.php +++ b/htdocs/admin/supplier_invoice.php @@ -194,7 +194,7 @@ llxHeader("",""); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); print "
"; @@ -205,7 +205,7 @@ dol_fiche_head($head, 'invoice', $langs->trans("Suppliers"), 0, 'company'); // Supplier invoice numbering module -print_titre($langs->trans("SuppliersInvoiceNumberingModel")); +print load_fiche_titre($langs->trans("SuppliersInvoiceNumberingModel")); print '
'.$langs->trans("Parameter").'
'; print ''; @@ -311,7 +311,7 @@ print '

'; * Modeles documents for supplier invoices */ -print_titre($langs->trans("BillsPDFModules")); +print load_fiche_titre($langs->trans("BillsPDFModules")); // Defini tableau def de modele $def = array(); @@ -453,7 +453,7 @@ print ''; print ''; print ''; -print_titre($langs->trans("OtherOptions")); +print load_fiche_titre($langs->trans("OtherOptions")); print ''; print ''; print ''; @@ -463,7 +463,17 @@ print "\n"; print '\n"; @@ -477,7 +487,7 @@ print ''; * Notifications */ -print_titre($langs->trans("Notifications")); +print load_fiche_titre($langs->trans("Notifications")); print '
'.$langs->trans("Parameter").'
'; print $langs->trans("FreeLegalTextOnInvoices").' ('.$langs->trans("AddCRIfTooLong").')
'; -print ''; +$variablename='SUPPLIER_INVOICE_FREE_TEXT'; +if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) +{ + print ''; +} +else +{ + include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; + $doleditor=new DolEditor($variablename, $conf->global->$variablename,'',80,'dolibarr_details'); + print $doleditor->Create(); +} print '
'; print ''; print "
'; print ''; print ''; diff --git a/htdocs/admin/supplier_order.php b/htdocs/admin/supplier_order.php index 4b39b2381f7..861e94c881b 100644 --- a/htdocs/admin/supplier_order.php +++ b/htdocs/admin/supplier_order.php @@ -210,7 +210,7 @@ $dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']); llxHeader("",""); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); print "
"; @@ -221,7 +221,7 @@ dol_fiche_head($head, 'order', $langs->trans("Suppliers"), 0, 'company'); // Supplier order numbering module -print_titre($langs->trans("OrdersNumberingModules")); +print load_fiche_titre($langs->trans("OrdersNumberingModules")); print '
'.$langs->trans("Parameter").'
'; print ''; @@ -325,7 +325,7 @@ print '

'; * Documents models for supplier orders */ -print_titre($langs->trans("OrdersModelModule")); +print load_fiche_titre($langs->trans("OrdersModelModule")); // Defini tableau def de modele $def = array(); @@ -464,7 +464,7 @@ print '
'; print ''; print ''; -print_titre($langs->trans("OtherOptions")); +print load_fiche_titre($langs->trans("OtherOptions")); print ''; print ''; print ''; @@ -487,7 +487,17 @@ if ($conf->global->MAIN_FEATURES_LEVEL > 0) print '\n"; @@ -502,7 +512,7 @@ print ''; * Notifications */ -print_titre($langs->trans("Notifications")); +print load_fiche_titre($langs->trans("Notifications")); print '
'.$langs->trans("Parameter").'
'; print $langs->trans("FreeLegalTextOnOrders").' ('.$langs->trans("AddCRIfTooLong").')
'; -print ''; +$variablename='SUPPLIER_ORDER_FREE_TEXT'; +if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) +{ + print ''; +} +else +{ + include_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; + $doleditor=new DolEditor($variablename, $conf->global->$variablename,'',80,'dolibarr_details'); + print $doleditor->Create(); +} print '
'; print ''; print "
'; print ''; print ''; diff --git a/htdocs/admin/supplierinvoice_extrafields.php b/htdocs/admin/supplierinvoice_extrafields.php index 4e9f1fce9ae..315a88788c2 100644 --- a/htdocs/admin/supplierinvoice_extrafields.php +++ b/htdocs/admin/supplierinvoice_extrafields.php @@ -74,7 +74,7 @@ $textobject=$langs->transnoentitiesnoconv("BillsSuppliers"); llxHeader('',$langs->trans("SuppliersSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); print "
\n"; $head = supplierorder_admin_prepare_head(); @@ -104,7 +104,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -117,7 +117,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/admin/supplierinvoicedet_extrafields.php b/htdocs/admin/supplierinvoicedet_extrafields.php index b6f71ecc00c..7e0f0f500fd 100644 --- a/htdocs/admin/supplierinvoicedet_extrafields.php +++ b/htdocs/admin/supplierinvoicedet_extrafields.php @@ -74,7 +74,7 @@ $textobject=$langs->transnoentitiesnoconv("BillsSuppliers"); llxHeader('',$langs->trans("SuppliersSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); print "
\n"; $head = supplierorder_admin_prepare_head(); @@ -104,7 +104,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -117,7 +117,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/admin/supplierorder_extrafields.php b/htdocs/admin/supplierorder_extrafields.php index 135e02a92b4..4dbb8f54760 100644 --- a/htdocs/admin/supplierorder_extrafields.php +++ b/htdocs/admin/supplierorder_extrafields.php @@ -70,7 +70,7 @@ $textobject=$langs->transnoentitiesnoconv("SuppliersOrders"); llxHeader('',$langs->trans("SuppliersSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); print "
\n"; $head = supplierorder_admin_prepare_head(); @@ -100,7 +100,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -113,7 +113,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/admin/supplierorderdet_extrafields.php b/htdocs/admin/supplierorderdet_extrafields.php index 6d422de4d31..8518c77a8e4 100644 --- a/htdocs/admin/supplierorderdet_extrafields.php +++ b/htdocs/admin/supplierorderdet_extrafields.php @@ -71,7 +71,7 @@ $textobject=$langs->transnoentitiesnoconv("SuppliersOrders"); llxHeader('',$langs->trans("SuppliersSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); print "
\n"; $head = supplierorder_admin_prepare_head(); @@ -101,7 +101,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -114,7 +114,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/admin/syslog.php b/htdocs/admin/syslog.php index 44002dc4c74..59921dd3687 100644 --- a/htdocs/admin/syslog.php +++ b/htdocs/admin/syslog.php @@ -157,7 +157,7 @@ llxHeader(); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SyslogSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("SyslogSetup"),$linkback,'title_setup'); print '
'; $def = array(); @@ -178,7 +178,7 @@ if ($conf->global->MAIN_MODULE_MULTICOMPANY && $user->entity) //print "conf->global->MAIN_FEATURES_LEVEL = ".$conf->global->MAIN_FEATURES_LEVEL."

\n"; // Output mode -print_titre($langs->trans("SyslogOutput")); +print load_fiche_titre($langs->trans("SyslogOutput")); // Mode print ''; @@ -240,7 +240,7 @@ print "\n"; print '
'."\n\n"; -print_titre($langs->trans("SyslogLevel")); +print load_fiche_titre($langs->trans("SyslogLevel")); // Level print ''; diff --git a/htdocs/admin/system/about.php b/htdocs/admin/system/about.php index e4bd9d77928..737e0712ea6 100644 --- a/htdocs/admin/system/about.php +++ b/htdocs/admin/system/about.php @@ -38,7 +38,7 @@ $langs->load("members"); llxHeader(); -print_fiche_titre("Dolibarr",'','title_setup'); +print load_fiche_titre("Dolibarr",'','title_setup'); print '
'.img_picto_common('', 'dolibarr_box.png','height="120"').'
'; diff --git a/htdocs/admin/system/browser.php b/htdocs/admin/system/browser.php index 1a68133127d..30ecc448e4d 100644 --- a/htdocs/admin/system/browser.php +++ b/htdocs/admin/system/browser.php @@ -42,7 +42,7 @@ $form=new Form($db); llxHeader(); -print_fiche_titre($langs->trans("InfoBrowser"),'','title_setup'); +print load_fiche_titre($langs->trans("InfoBrowser"),'','title_setup'); $tmp=getBrowserInfo($_SERVER["HTTP_USER_AGENT"]); diff --git a/htdocs/admin/system/constall.php b/htdocs/admin/system/constall.php index 16c63b1b1fd..1ff005e88b2 100644 --- a/htdocs/admin/system/constall.php +++ b/htdocs/admin/system/constall.php @@ -39,10 +39,10 @@ if (!$user->admin) llxHeader(); -print_fiche_titre($langs->trans("SummaryConst"),'','title_setup'); +print load_fiche_titre($langs->trans("SummaryConst"),'','title_setup'); -print_titre($langs->trans("ConfigurationFile").' ('.$conffiletoshowshort.')'); +print load_fiche_titre($langs->trans("ConfigurationFile").' ('.$conffiletoshowshort.')'); // Parameters in conf.php file (when a parameter start with ?, it is shown only if defined) $configfileparameters=array( 'dolibarr_main_url_root', @@ -200,7 +200,7 @@ print '
'; // Parameters in database -print_titre($langs->trans("Database")); +print load_fiche_titre($langs->trans("Database")); print '
'.$langs->trans("Parameter").'
'; print ''; print ''; diff --git a/htdocs/admin/system/database-tables.php b/htdocs/admin/system/database-tables.php index 9650b32bd5c..31d35d3f01d 100644 --- a/htdocs/admin/system/database-tables.php +++ b/htdocs/admin/system/database-tables.php @@ -46,7 +46,7 @@ if ($action == 'convert') llxHeader(); -print_fiche_titre($langs->trans("Tables")." ".ucfirst($conf->db->type),'','title_setup'); +print load_fiche_titre($langs->trans("Tables")." ".ucfirst($conf->db->type),'','title_setup'); // Define request to get table description diff --git a/htdocs/admin/system/database.php b/htdocs/admin/system/database.php index e6fc31c4426..365cfaa449d 100644 --- a/htdocs/admin/system/database.php +++ b/htdocs/admin/system/database.php @@ -39,7 +39,7 @@ $form=new Form($db); llxHeader(); -print_fiche_titre($langs->trans("InfoDatabase"),'','title_setup'); +print load_fiche_titre($langs->trans("InfoDatabase"),'','title_setup'); // Database print '
'.$langs->trans("Parameter").'
'; diff --git a/htdocs/admin/system/dbtable.php b/htdocs/admin/system/dbtable.php index b2e01f65ebb..3fc10bb0f3f 100644 --- a/htdocs/admin/system/dbtable.php +++ b/htdocs/admin/system/dbtable.php @@ -41,7 +41,7 @@ $table=GETPOST('table','alpha'); llxHeader(); -print_fiche_titre($langs->trans("Table") . " ".$table,'','title_setup'); +print load_fiche_titre($langs->trans("Table") . " ".$table,'','title_setup'); // Define request to get table description $base=0; diff --git a/htdocs/admin/system/dolibarr.php b/htdocs/admin/system/dolibarr.php index a3788e04023..eeea93a2fea 100644 --- a/htdocs/admin/system/dolibarr.php +++ b/htdocs/admin/system/dolibarr.php @@ -42,7 +42,7 @@ $form=new Form($db); llxHeader(); -print_fiche_titre($langs->trans("InfoDolibarr"),'','title_setup'); +print load_fiche_titre($langs->trans("InfoDolibarr"),'','title_setup'); // Version $var=true; diff --git a/htdocs/admin/system/filecheck.php b/htdocs/admin/system/filecheck.php index f8876a7ea30..9b7dfb76689 100644 --- a/htdocs/admin/system/filecheck.php +++ b/htdocs/admin/system/filecheck.php @@ -31,6 +31,8 @@ $langs->load("admin"); if (!$user->admin) accessforbidden(); +$error=0; + /* * View @@ -38,7 +40,7 @@ if (!$user->admin) llxHeader(); -print_fiche_titre($langs->trans("FileCheckDolibarr"),'','title_setup'); +print load_fiche_titre($langs->trans("FileCheckDolibarr"),'','title_setup'); // Version $var = true; @@ -77,67 +79,91 @@ if (file_exists($xmlfile)) $xml = simplexml_load_file($xmlfile); if ($xml) { - $file_list = array(); - $ret = getFilesUpdated($file_list, $xml->dolibarr_root_dir[0]); // Fill array $file_list - - print '
'; - print ''; - print ''; - print ''; - print ''."\n"; - $var = true; - $tmpfilelist = dol_sort_array($file_list['missing'], 'filename'); - if (is_array($tmpfilelist)) + if (is_object($xml->dolibarr_htdocs_dir[0])) { - foreach ($tmpfilelist as $file) - { - $var = !$var; - print ''; - print '' . "\n"; - print '' . "\n"; - print "\n"; - } + $file_list = array(); + $ret = getFilesUpdated($file_list, $xml->dolibarr_htdocs_dir[0]); // Fill array $file_list + + print '
' . $langs->trans("FilesMissing") . '' . $langs->trans("ExpectedChecksum") . '
'.$file['filename'].''.$file['expectedmd5'].'
'; + print ''; + print ''; + print ''; + print ''."\n"; + $var = true; + $tmpfilelist = dol_sort_array($file_list['missing'], 'filename'); + if (is_array($tmpfilelist) && count($tmpfilelist)) + { + foreach ($tmpfilelist as $file) + { + $var = !$var; + print ''; + print '' . "\n"; + print '' . "\n"; + print "\n"; + } + } + else + { + print ''; + } + print '
' . $langs->trans("FilesMissing") . '' . $langs->trans("ExpectedChecksum") . '
'.$file['filename'].''.$file['expectedmd5'].'
'.$langs->trans("None").'
'; + + print '
'; + + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''."\n"; + $var = true; + $tmpfilelist = dol_sort_array($file_list['updated'], 'filename'); + if (is_array($tmpfilelist) && count($tmpfilelist)) + { + foreach ($tmpfilelist as $file) + { + $var = !$var; + print ''; + print '' . "\n"; + print '' . "\n"; + print '' . "\n"; + print '' . "\n"; + print '' . "\n"; + print "\n"; + } + } + else + { + print ''; + } + print '
' . $langs->trans("FilesUpdated") . '' . $langs->trans("ExpectedChecksum") . '' . $langs->trans("CurrentChecksum") . '' . $langs->trans("Size") . '' . $langs->trans("DateModification") . '
'.$file['filename'].''.$file['expectedmd5'].''.$file['md5'].''.dol_print_size(dol_filesize(DOL_DOCUMENT_ROOT.'/'.$file['filename'])).''.dol_print_date(dol_filemtime(DOL_DOCUMENT_ROOT.'/'.$file['filename']),'dayhour').'
'.$langs->trans("None").'
'; } - print ''; - - print '
'; - - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''."\n"; - $var = true; - $tmpfilelist = dol_sort_array($file_list['updated'], 'filename'); - if (is_array($tmpfilelist)) + else { - foreach ($tmpfilelist as $file) - { - $var = !$var; - print ''; - print '' . "\n"; - print '' . "\n"; - print '' . "\n"; - print '' . "\n"; - print '' . "\n"; - print "\n"; - } + print 'Error: Failed to found dolibarr_htdocs_dir into XML file '.$xmlfile; + $error++; } - print '
' . $langs->trans("FilesUpdated") . '' . $langs->trans("ExpectedChecksum") . '' . $langs->trans("CurrentChecksum") . '' . $langs->trans("Size") . '' . $langs->trans("DateModification") . '
'.$file['filename'].''.$file['expectedmd5'].''.$file['md5'].''.dol_print_size(dol_filesize(DOL_DOCUMENT_ROOT.'/'.$file['filename'])).''.dol_print_date(dol_filemtime(DOL_DOCUMENT_ROOT.'/'.$file['filename']),'dayhour').'
'; + } + else + { + print 'Error: Failed to parse XML for input file '.$xmlfile; + $error++; } } else { print $langs->trans('XmlNotFound') . ': ' . $xmlfile; + $error++; } llxFooter(); $db->close(); +exit($error); + /** * Function to get list of updated or modified files. diff --git a/htdocs/admin/system/index.php b/htdocs/admin/system/index.php index 133b6cfbfff..3d473640618 100644 --- a/htdocs/admin/system/index.php +++ b/htdocs/admin/system/index.php @@ -45,7 +45,7 @@ if (! $user->admin) accessforbidden(); llxHeader(); -print_fiche_titre($langs->trans("SummarySystem"),'','title_setup'); +print load_fiche_titre($langs->trans("SummarySystem"),'','title_setup'); print ''; diff --git a/htdocs/admin/system/modules.php b/htdocs/admin/system/modules.php index 1014beba184..d812f6c29ed 100644 --- a/htdocs/admin/system/modules.php +++ b/htdocs/admin/system/modules.php @@ -39,7 +39,7 @@ if (! $user->admin) llxHeader(); -print_fiche_titre($langs->trans("AvailableModules"),'','title_setup'); +print load_fiche_titre($langs->trans("AvailableModules"),'','title_setup'); print $langs->trans("ToActivateModule").'
'; print "
\n"; diff --git a/htdocs/admin/system/os.php b/htdocs/admin/system/os.php index 5c20fda1cd4..2e9e56565c0 100644 --- a/htdocs/admin/system/os.php +++ b/htdocs/admin/system/os.php @@ -35,7 +35,7 @@ if (!$user->admin) llxHeader(); -print_fiche_titre($langs->trans("InfoOS"),'','title_setup'); +print load_fiche_titre($langs->trans("InfoOS"),'','title_setup'); print '
'; print ''; diff --git a/htdocs/admin/system/perf.php b/htdocs/admin/system/perf.php index b53c666f2af..b993b1ea276 100644 --- a/htdocs/admin/system/perf.php +++ b/htdocs/admin/system/perf.php @@ -48,7 +48,7 @@ $nowstring=dol_print_date(dol_now(),'dayhourlog'); llxHeader(); -print_fiche_titre($langs->trans("PerfDolibarr"),'','title_setup'); +print load_fiche_titre($langs->trans("PerfDolibarr"),'','title_setup'); print $langs->trans("YouMayFindPerfAdviceHere",'http://wiki.dolibarr.org/index.php/FAQ_Increase_Performance').' ('.$langs->trans("Reload").')
'; @@ -108,6 +108,14 @@ if (! $foundcache && $test) $foundcache++; print img_picto('','tick.png').' '.$langs->trans("EAcceleratorInstalled"); } +$test=function_exists('opcache_get_status'); +if (! $foundcache && $test) +{ + $foundcache++; + print img_picto('','tick.png').' '.$langs->trans("ZendOPCacheInstalled"); // Should be by defautl starting with PHP 5.5 + //$tmp=opcache_get_status(); + //var_dump($tmp); +} $test=function_exists('apc_cache_info'); if (! $foundcache && $test) { diff --git a/htdocs/admin/system/phpinfo.php b/htdocs/admin/system/phpinfo.php index 89b0f8cd8dc..dfb897ba27c 100644 --- a/htdocs/admin/system/phpinfo.php +++ b/htdocs/admin/system/phpinfo.php @@ -43,7 +43,7 @@ $title='InfoPHP'; if (isset($title)) { - print_fiche_titre($langs->trans($title), '', 'title_setup'); + print load_fiche_titre($langs->trans($title), '', 'title_setup'); } @@ -67,7 +67,7 @@ print '
'; $phparray=phpinfo_array(); foreach($phparray as $key => $value) { - //print_titre($key); + //print load_fiche_titre($key); print '
'.$langs->trans("Parameter").''.$langs->trans("Value").'
'; print ''; //print ''; diff --git a/htdocs/admin/system/web.php b/htdocs/admin/system/web.php index 2d51344b68c..d1864b1b409 100644 --- a/htdocs/admin/system/web.php +++ b/htdocs/admin/system/web.php @@ -42,7 +42,7 @@ if (!$user->admin) accessforbidden(); llxHeader(); -print_fiche_titre($langs->trans("InfoWebServer"),'','title_setup'); +print load_fiche_titre($langs->trans("InfoWebServer"),'','title_setup'); print '
'.$langs->trans("Parameter").'
'; print "\n"; diff --git a/htdocs/admin/system/xcache.php b/htdocs/admin/system/xcache.php index e6c0f7ae477..361be2b461a 100644 --- a/htdocs/admin/system/xcache.php +++ b/htdocs/admin/system/xcache.php @@ -35,7 +35,7 @@ $action=GETPOST('action'); llxHeader(); -print_fiche_titre("XCache",'','title_setup'); +print load_fiche_titre("XCache",'','title_setup'); print "
\n"; diff --git a/htdocs/admin/system/xdebug.php b/htdocs/admin/system/xdebug.php index 501f74b414b..4236d8c6019 100644 --- a/htdocs/admin/system/xdebug.php +++ b/htdocs/admin/system/xdebug.php @@ -34,7 +34,7 @@ accessforbidden(); llxHeader(); -print_fiche_titre("XDebug",'','title_setup'); +print load_fiche_titre("XDebug",'','title_setup'); print "
\n"; diff --git a/htdocs/admin/taxes.php b/htdocs/admin/taxes.php index 0802b2230ec..36c2f66aa51 100644 --- a/htdocs/admin/taxes.php +++ b/htdocs/admin/taxes.php @@ -114,7 +114,7 @@ llxHeader(); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans('TaxSetup'),$linkback,'title_setup'); +print load_fiche_titre($langs->trans('TaxSetup'),$linkback,'title_setup'); dol_fiche_head(); @@ -143,7 +143,7 @@ else print "
".$langs->trans("Parameter")."".$langs->trans("Value")."
\n"; print '
'; - print_fiche_titre($langs->trans("SummaryOfVatExigibilityUsedByDefault"),'',''); + print load_fiche_titre($langs->trans("SummaryOfVatExigibilityUsedByDefault"),'',''); //print ' ('.$langs->trans("CanBeChangedWhenMakingInvoice").')'; print ''; diff --git a/htdocs/admin/tools/dolibarr_export.php b/htdocs/admin/tools/dolibarr_export.php index 6f1783e5d11..a460f667e2a 100644 --- a/htdocs/admin/tools/dolibarr_export.php +++ b/htdocs/admin/tools/dolibarr_export.php @@ -110,7 +110,7 @@ jQuery(document).ready(function() { trans("Backup"),'','title_setup'); +print load_fiche_titre($langs->trans("Backup"),'','title_setup'); print $langs->trans("BackupDesc",DOL_DATA_ROOT).'

'; @@ -133,7 +133,7 @@ print '
'; trans("BackupDumpWizard")); +print load_fiche_titre($title?$title:$langs->trans("BackupDumpWizard")); print '
'; print ''; diff --git a/htdocs/admin/tools/dolibarr_import.php b/htdocs/admin/tools/dolibarr_import.php index 0826eec832a..e1de295eba5 100644 --- a/htdocs/admin/tools/dolibarr_import.php +++ b/htdocs/admin/tools/dolibarr_import.php @@ -63,7 +63,7 @@ jQuery(document).ready(function() { trans("Restore"),'','title_setup'); +print load_fiche_titre($langs->trans("Restore"),'','title_setup'); print $langs->trans("RestoreDesc",DOL_DATA_ROOT).'

'; ?> diff --git a/htdocs/admin/tools/eaccelerator.php b/htdocs/admin/tools/eaccelerator.php index da168eec510..588170fbb90 100644 --- a/htdocs/admin/tools/eaccelerator.php +++ b/htdocs/admin/tools/eaccelerator.php @@ -227,7 +227,7 @@ function create_key_table($list) $form=new Form($db); -print_fiche_titre('Dolibarr eAccelerator '.$info['version'].' control panel','','title_setup'); +print load_fiche_titre('Dolibarr eAccelerator '.$info['version'].' control panel','','title_setup'); $var=true; diff --git a/htdocs/admin/tools/export.php b/htdocs/admin/tools/export.php index f3f21388cc1..500c766ed77 100644 --- a/htdocs/admin/tools/export.php +++ b/htdocs/admin/tools/export.php @@ -95,7 +95,7 @@ $formfile = new FormFile($db); //$help_url='EN:Backups|FR:Sauvegardes|ES:Copias_de_seguridad'; //llxHeader('','',$help_url); -//print_fiche_titre($langs->trans("Backup"),'','title_setup'); +//print load_fiche_titre($langs->trans("Backup"),'','title_setup'); // Start with empty buffer diff --git a/htdocs/admin/tools/index.php b/htdocs/admin/tools/index.php index 4ea716c322b..6d7082728f3 100644 --- a/htdocs/admin/tools/index.php +++ b/htdocs/admin/tools/index.php @@ -42,7 +42,7 @@ if (GETPOST('leftmenu') == 'modulesadmintools') $title=$langs->trans("ModulesSys llxHeader(array(),$title); -print_fiche_titre($title,'','title_setup'); +print load_fiche_titre($title,'','title_setup'); print $langs->trans("SystemToolsAreaDesc").'
'; print "
"; diff --git a/htdocs/admin/tools/purge.php b/htdocs/admin/tools/purge.php index 9bd700a7c9e..0c5915fd326 100644 --- a/htdocs/admin/tools/purge.php +++ b/htdocs/admin/tools/purge.php @@ -117,7 +117,7 @@ llxHeader(); $form=new Form($db); -print_fiche_titre($langs->trans("Purge"),'','title_setup'); +print load_fiche_titre($langs->trans("Purge"),'','title_setup'); print $langs->trans("PurgeAreaDesc",$dolibarr_main_data_root).'
'; print '
'; diff --git a/htdocs/admin/tools/update.php b/htdocs/admin/tools/update.php index b391ffa0d2a..54a6cab9cbd 100644 --- a/htdocs/admin/tools/update.php +++ b/htdocs/admin/tools/update.php @@ -163,7 +163,7 @@ $dirins_ok=(dol_is_dir($dirins)); $wikihelp='EN:Installation_-_Upgrade|FR:Installation_-_Mise_à_jour|ES:Instalación_-_Actualización'; llxHeader('',$langs->trans("Upgrade"),$wikihelp); -print_fiche_titre($langs->trans("Upgrade"),'','title_setup'); +print load_fiche_titre($langs->trans("Upgrade"),'','title_setup'); print $langs->trans("CurrentVersion").' : '.DOL_VERSION.'
'; diff --git a/htdocs/admin/translation.php b/htdocs/admin/translation.php index cdea31fd7c4..0528d090c52 100644 --- a/htdocs/admin/translation.php +++ b/htdocs/admin/translation.php @@ -52,7 +52,7 @@ $action=GETPOST('action'); $wikihelp='EN:Setup|FR:Paramétrage|ES:Configuración'; llxHeader('',$langs->trans("Setup"),$wikihelp); -print_fiche_titre($langs->trans("TranslationSetup"),'','title_setup'); +print load_fiche_titre($langs->trans("TranslationSetup"),'','title_setup'); print $langs->trans("TranslationDesc")."
\n"; print "
\n"; diff --git a/htdocs/admin/triggers.php b/htdocs/admin/triggers.php index fb7085a6ba8..de59c9136b2 100644 --- a/htdocs/admin/triggers.php +++ b/htdocs/admin/triggers.php @@ -42,7 +42,7 @@ llxHeader("",""); $form = new Form($db); -print_fiche_titre($langs->trans("TriggersAvailable"),'','title_setup'); +print load_fiche_titre($langs->trans("TriggersAvailable"),'','title_setup'); print $langs->trans("TriggersDesc")."
"; print "
\n"; diff --git a/htdocs/admin/user.php b/htdocs/admin/user.php index dc21790ec32..85ea8501107 100644 --- a/htdocs/admin/user.php +++ b/htdocs/admin/user.php @@ -95,7 +95,7 @@ $help_url='EN:Module_Users|FR:Module_Utilisateurs|ES:Módulo_Usuarios'; llxHeader('',$langs->trans("UsersSetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("UsersSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("UsersSetup"),$linkback,'title_setup'); $head=user_admin_prepare_head(); diff --git a/htdocs/admin/workflow.php b/htdocs/admin/workflow.php index 255fc0f6d9c..bdd84a50a7f 100644 --- a/htdocs/admin/workflow.php +++ b/htdocs/admin/workflow.php @@ -61,7 +61,7 @@ if (preg_match('/del(.*)/',$action,$reg)) llxHeader('',$langs->trans("WorkflowSetup"),''); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("WorkflowSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("WorkflowSetup"),$linkback,'title_setup'); print $langs->trans("WorkflowDesc").'
'; print "
"; diff --git a/htdocs/api/admin/api.php b/htdocs/api/admin/api.php index 740d3eb7e8d..4d3768070ef 100644 --- a/htdocs/api/admin/api.php +++ b/htdocs/api/admin/api.php @@ -59,7 +59,7 @@ if ($action == 'setproductionmode') llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ApiSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("ApiSetup"),$linkback,'title_setup'); print $langs->trans("ApiDesc")."
\n"; print "
\n"; diff --git a/htdocs/api/class/api_access.class.php b/htdocs/api/class/api_access.class.php index 027c9dcf5f4..3a130fe35d2 100644 --- a/htdocs/api/class/api_access.class.php +++ b/htdocs/api/class/api_access.class.php @@ -60,7 +60,8 @@ class DolibarrApiAccess implements iAuthenticate $userClass = Defaults::$userIdentifierClass; - if (isset($_GET['api_key'])) { + if (isset($_GET['api_key'])) + { $sql = "SELECT u.login, u.datec, u.api_key, "; $sql.= " u.tms as date_modification, u.entity"; $sql.= " FROM ".MAIN_DB_PREFIX."user as u"; @@ -100,7 +101,9 @@ class DolibarrApiAccess implements iAuthenticate } else { - return false; + throw new RestException(401, "Failed to login to API. No parameter 'api_key' provided"); + //dol_syslog("Failed to login to API. No parameter key provided", LOG_DEBUG); + //return false; } $userClass::setCacheIdentifier(static::$role); diff --git a/htdocs/api/restler.php b/htdocs/api/restler.php new file mode 100644 index 00000000000..ae891386b31 --- /dev/null +++ b/htdocs/api/restler.php @@ -0,0 +1,8 @@ +trans("MassBarcodeInit")); -print_fiche_titre($langs->trans("MassBarcodeInit")); +print load_fiche_titre($langs->trans("MassBarcodeInit")); print '
'; print $langs->trans("MassBarcodeInitDesc").'
'; @@ -211,7 +211,7 @@ if ($conf->societe->enabled) { $nbno=$nbtotal=0; - print_fiche_titre($langs->trans("BarcodeInitForThirdparties"),'','object_company'); + print load_fiche_titre($langs->trans("BarcodeInitForThirdparties"),'','object_company'); print '
'."\n"; $sql="SELECT count(rowid) as nb FROM ".MAIN_DB_PREFIX."societe where barcode IS NULL or barcode = ''"; $resql=$db->query($sql); @@ -252,7 +252,7 @@ if ($conf->product->enabled || $conf->product->service) $nbno=$nbtotal=0; - print_fiche_titre($langs->trans("BarcodeInitForProductsOrServices"),'','object_product'); + print load_fiche_titre($langs->trans("BarcodeInitForProductsOrServices"),'','object_product'); print '
'."\n"; $sql ="SELECT count(rowid) as nb, fk_product_type, datec"; diff --git a/htdocs/barcode/printsheet.php b/htdocs/barcode/printsheet.php index b535eb7765d..68673d9c83b 100644 --- a/htdocs/barcode/printsheet.php +++ b/htdocs/barcode/printsheet.php @@ -261,7 +261,7 @@ $form=new Form($db); llxHeader('',$langs->trans("BarCodePrintsheet")); -print_fiche_titre($langs->trans("BarCodePrintsheet")); +print load_fiche_titre($langs->trans("BarCodePrintsheet")); print '
'; print $langs->trans("PageToGenerateBarCodeSheets",$langs->transnoentitiesnoconv("BuildPageToPrint")).'
'; diff --git a/htdocs/bookmarks/admin/bookmark.php b/htdocs/bookmarks/admin/bookmark.php index 51274716eda..05691a227b7 100644 --- a/htdocs/bookmarks/admin/bookmark.php +++ b/htdocs/bookmarks/admin/bookmark.php @@ -59,7 +59,7 @@ if ($action == 'setvalue') llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("BookmarkSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("BookmarkSetup"),$linkback,'title_setup'); print $langs->trans("BookmarkDesc")."
\n"; diff --git a/htdocs/bookmarks/card.php b/htdocs/bookmarks/card.php index a821cf8e94f..33a0f383fde 100644 --- a/htdocs/bookmarks/card.php +++ b/htdocs/bookmarks/card.php @@ -149,7 +149,7 @@ if ($action == 'create') print ''; print ''; - print_fiche_titre($langs->trans("NewBookmark")); + print load_fiche_titre($langs->trans("NewBookmark")); dol_fiche_head($head, $hselected, $langs->trans("Bookmark"),0,'bookmark'); @@ -165,7 +165,7 @@ if ($action == 'create') print ''; print ''; // Position @@ -262,7 +262,7 @@ if ($id > 0 && ! preg_match('/^add/i',$action)) print '\n"; + + diff --git a/htdocs/cashdesk/javascript/dhtml.js b/htdocs/cashdesk/javascript/dhtml.js index a2af98d65a8..7f5df55a767 100644 --- a/htdocs/cashdesk/javascript/dhtml.js +++ b/htdocs/cashdesk/javascript/dhtml.js @@ -60,10 +60,10 @@ function afficheDonnees(aId, aTexte) { // aCible : id du bloc de destination; aCode : argument a passer a la page php chargee du traitement et de l'affichage -function verifResultat(aCible, aCode, iLimit = 1) { +function verifResultat(aCible, aCode, iLimit) { if (aCode != '' && aCode.length >= iLimit) { - if (texte = file ('facturation_dhtml.php?code='+escape(aCode))) { + if (texte = file('facturation_dhtml.php?code='+escape(aCode))) { afficheDonnees (aCible, texte); diff --git a/htdocs/cashdesk/tpl/facturation1.tpl.php b/htdocs/cashdesk/tpl/facturation1.tpl.php index 02465625478..f9ef89e909c 100644 --- a/htdocs/cashdesk/tpl/facturation1.tpl.php +++ b/htdocs/cashdesk/tpl/facturation1.tpl.php @@ -116,13 +116,13 @@ $langs->load("cashdesk"); - + - + '; + // Color + print ''; + // Parent category print ''; print ''; // Login @@ -641,7 +641,7 @@ function formCategory($db,$object,$typeid,$socid=0,$showclassifyform=1) } print '
'; - print_fiche_titre($title,$linktocreate,''); + print load_fiche_titre($title,$linktocreate,''); // Form to add record into a category if ($showclassifyform) diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index e79abfd9d3d..845313c5d36 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -112,10 +112,16 @@ class Categorie extends CommonObject public $element='category'; public $table_element='categories'; - var $id; var $fk_parent; var $label; var $description; + /** + * @var string Color + */ + var $color; + /** + * @var ??? + */ var $socid; /** * @var int Category type @@ -127,7 +133,6 @@ class Categorie extends CommonObject * @see Categorie::TYPE_CONTACT */ var $type; - var $import_key; var $cats=array(); // Tableau en memoire des categories var $motherof=array(); @@ -156,7 +161,7 @@ class Categorie extends CommonObject // Check parameters if (empty($id) && empty($label)) return -1; - $sql = "SELECT rowid, fk_parent, entity, label, description, fk_soc, visible, type"; + $sql = "SELECT rowid, fk_parent, entity, label, description, color, fk_soc, visible, type"; $sql.= " FROM ".MAIN_DB_PREFIX."categorie"; if ($id) { @@ -180,6 +185,7 @@ class Categorie extends CommonObject $this->fk_parent = $res['fk_parent']; $this->label = $res['label']; $this->description = $res['description']; + $this->color = $res['color']; $this->socid = $res['fk_soc']; $this->visible = $res['visible']; $this->type = $res['type']; @@ -222,9 +228,12 @@ class Categorie extends CommonObject $error=0; + dol_syslog(get_class($this).'::create', LOG_DEBUG); + // Clean parameters $this->label = trim($this->label); $this->description = trim($this->description); + $this->color = trim($this->color); $this->import_key = trim($this->import_key); if (empty($this->visible)) $this->visible=0; $this->fk_parent = ($this->fk_parent != "" ? intval($this->fk_parent) : 0); @@ -239,11 +248,11 @@ class Categorie extends CommonObject $this->db->begin(); - dol_syslog(get_class($this).'::create', LOG_DEBUG); $sql = "INSERT INTO ".MAIN_DB_PREFIX."categorie ("; $sql.= "fk_parent,"; $sql.= " label,"; $sql.= " description,"; + $sql.= " color,"; if (! empty($conf->global->CATEGORY_ASSIGNED_TO_A_CUSTOMER)) { $sql.= "fk_soc,"; @@ -256,6 +265,7 @@ class Categorie extends CommonObject $sql.= $this->fk_parent.","; $sql.= "'".$this->db->escape($this->label)."',"; $sql.= "'".$this->db->escape($this->description)."',"; + $sql.= "'".$this->db->escape($this->color)."',"; if (! empty($conf->global->CATEGORY_ASSIGNED_TO_A_CUSTOMER)) { $sql.= ($this->socid != -1 ? $this->socid : 'null').","; @@ -266,7 +276,6 @@ class Categorie extends CommonObject $sql.= $conf->entity; $sql.= ")"; - dol_syslog(get_class($this).'::create', LOG_DEBUG); $res = $this->db->query($sql); if ($res) { @@ -357,7 +366,8 @@ class Categorie extends CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX."categorie"; $sql.= " SET label = '".$this->db->escape($this->label)."',"; - $sql.= " description = '".$this->db->escape($this->description)."'"; + $sql.= " description = '".$this->db->escape($this->description)."',"; + $sql.= " color = '".$this->db->escape($this->color)."'"; if (! empty($conf->global->CATEGORY_ASSIGNED_TO_A_CUSTOMER)) { $sql .= ", fk_soc = ".($this->socid != -1 ? $this->socid : 'null'); @@ -562,14 +572,15 @@ class Categorie extends CommonObject if ($this->id == -1) return -2; // For backward compatibility - if ($type == 'societe') { + if ($type == 'societe') + { $type = 'customer'; - dol_syslog( get_class( $this ) . "::add_type(): type 'societe' is deprecated, please use 'customer' instead", - LOG_WARNING ); - } elseif ($type == 'fournisseur') { + dol_syslog(get_class($this) . "::add_type(): type 'societe' is deprecated, please use 'customer' instead", LOG_WARNING); + } + elseif ($type == 'fournisseur') + { $type = 'supplier'; - dol_syslog( get_class( $this ) . "::add_type(): type 'fournisseur' is deprecated, please use 'supplier' instead", - LOG_WARNING ); + dol_syslog(get_class($this) . "::add_type(): type 'fournisseur' is deprecated, please use 'supplier' instead", LOG_WARNING); } $this->db->begin(); @@ -876,7 +887,7 @@ class Categorie extends CommonObject $current_lang = $langs->getDefaultLang(); // Init $this->cats array - $sql = "SELECT DISTINCT c.rowid, c.label, c.description, c.fk_parent"; // Distinct reduce pb with old tables with duplicates + $sql = "SELECT DISTINCT c.rowid, c.label, c.description, c.color, c.fk_parent"; // Distinct reduce pb with old tables with duplicates if (! empty($conf->global->MAIN_MULTILANGS)) $sql.= ", t.label as label_trans, t.description as description_trans"; $sql.= " FROM ".MAIN_DB_PREFIX."categorie as c"; if (! empty($conf->global->MAIN_MULTILANGS)) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie_lang as t ON t.fk_category=c.rowid AND t.lang='".$current_lang."'"; @@ -895,6 +906,7 @@ class Categorie extends CommonObject $this->cats[$obj->rowid]['fk_parent'] = $obj->fk_parent; $this->cats[$obj->rowid]['label'] = ! empty($obj->label_trans) ? $obj->label_trans : $obj->label; $this->cats[$obj->rowid]['description'] = ! empty($obj->description_trans) ? $obj->description_trans : $obj->description; + $this->cats[$obj->rowid]['color'] = $obj->color; $i++; } } diff --git a/htdocs/categories/edit.php b/htdocs/categories/edit.php index 362c2b324a1..836970e7a3c 100644 --- a/htdocs/categories/edit.php +++ b/htdocs/categories/edit.php @@ -27,6 +27,7 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; $langs->load("categories"); @@ -39,6 +40,7 @@ $confirm=GETPOST('confirm'); $socid=GETPOST('socid','int'); $label=GETPOST('label'); $description=GETPOST('description'); +$color=GETPOST('color','alpha'); $visible=GETPOST('visible'); $parent=GETPOST('parent'); @@ -71,6 +73,7 @@ if ($action == 'update' && $user->rights->categorie->creer) $categorie->label = $label; $categorie->description = dol_htmlcleanlastbr($description); + $categorie->color = $color; $categorie->socid = ($socid ? $socid : 'null'); $categorie->visible = $visible; @@ -82,20 +85,16 @@ if ($action == 'update' && $user->rights->categorie->creer) if (empty($categorie->label)) { - $action = 'create'; + $error++; + $action = 'edit'; setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("Label")), 'errors'); } - if (empty($categorie->description)) - { - $action = 'create'; - setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("Description")), 'errors'); - } - if (empty($categorie->error)) + if (! $error && empty($categorie->error)) { $ret = $extrafields->setOptionalsFromPost($extralabels,$categorie); if ($ret < 0) $error++; - if ($categorie->update($user) > 0) + if (! $error && $categorie->update($user) > 0) { header('Location: '.DOL_URL_ROOT.'/categories/viewcat.php?id='.$categorie->id.'&type='.$type); exit; @@ -118,10 +117,11 @@ if ($action == 'update' && $user->rights->categorie->creer) */ $form = new Form($db); +$formother = new FormOther($db); llxHeader("","",$langs->trans("Categories")); -print_fiche_titre($langs->trans("ModifCat")); +print load_fiche_titre($langs->trans("ModifCat")); $object->fetch($id); @@ -138,20 +138,27 @@ dol_fiche_head(''); print '
'.$langs->trans("ChooseIfANewWindowMustBeOpenedOnClickOnBookmark").'
'.$langs->trans("Owner").''; - $form->select_users(isset($_POST['userid'])?$_POST['userid']:$user->id,'userid',1); + $form->select_dolusers(isset($_POST['userid'])?$_POST['userid']:$user->id,'userid',1); print ' 
'.$langs->trans("Owner").''; if ($action == 'edit' && $user->admin) { - $form->select_users(isset($_POST['userid'])?$_POST['userid']:($bookmark->fk_user?$bookmark->fk_user:''),'userid',1); + $form->select_dolusers(isset($_POST['userid'])?$_POST['userid']:($bookmark->fk_user?$bookmark->fk_user:''),'userid',1); } else { diff --git a/htdocs/bookmarks/list.php b/htdocs/bookmarks/list.php index 7512785d78b..c54111239b9 100644 --- a/htdocs/bookmarks/list.php +++ b/htdocs/bookmarks/list.php @@ -72,7 +72,7 @@ $userstatic=new User($db); llxHeader(); -print_fiche_titre($langs->trans("Bookmarks")); +print load_fiche_titre($langs->trans("Bookmarks")); $sql = "SELECT b.fk_soc as rowid, b.dateb, b.rowid as bid, b.fk_user, b.url, b.target, b.title, b.favicon, b.position,"; $sql.= " u.login, u.lastname, u.firstname"; diff --git a/htdocs/cashdesk/admin/cashdesk.php b/htdocs/cashdesk/admin/cashdesk.php index 48804958b20..74560e8ff6a 100644 --- a/htdocs/cashdesk/admin/cashdesk.php +++ b/htdocs/cashdesk/admin/cashdesk.php @@ -85,7 +85,7 @@ $formproduct=new FormProduct($db); llxHeader('',$langs->trans("CashDeskSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("CashDeskSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("CashDeskSetup"),$linkback,'title_setup'); print '
'; diff --git a/htdocs/cashdesk/affContenu.php b/htdocs/cashdesk/affContenu.php index 6d8f5ca83ee..3f27d19c7f3 100644 --- a/htdocs/cashdesk/affContenu.php +++ b/htdocs/cashdesk/affContenu.php @@ -56,6 +56,7 @@ exit;*/ // Left area with selected articles (area for article, amount and payments) +print '
'; print '
'; $page=GETPOST('menu','alpha'); @@ -78,16 +79,17 @@ else } print '
'; - +print '
'; // Right area with selected articles (shopping cart) +print '
'; print '
'; require ('tpl/liste_articles.tpl.php'); print '
'; - +print '
'; $_SESSION['serObjFacturation'] = serialize($obj_facturation); diff --git a/htdocs/cashdesk/css/style.css b/htdocs/cashdesk/css/style.css index f62a9193830..d639230564b 100644 --- a/htdocs/cashdesk/css/style.css +++ b/htdocs/cashdesk/css/style.css @@ -15,7 +15,7 @@ */ body { - background: #eee; + background: #fff; color: #333; margin: 0; padding: 0; @@ -30,9 +30,9 @@ p { .conteneur { background: #fff; text-align: left; - max-width: 770px; - margin: 10px auto; - border: 2px solid #000; + /*max-width: 770px;*/ + /*margin: 10px auto; + border: 2px solid #000;*/ } .conteneur_img_gauche { @@ -43,6 +43,11 @@ p { /* background: url("../img/bg_conteneur_droite.png") top right repeat-y; */ } +.contenu { + width: 100%; + text-align: center; +} + /* ------------------- Header ------------------- */ .entete { height: 15px; @@ -138,6 +143,7 @@ li.menu_choix0 { margin-right: 20px; border: 1px dotted #5ca64d; padding-bottom: 10px; + vertical-align: middle; } p.titre { @@ -192,8 +198,10 @@ p.titre { /* ------------------- Contenu ------------------- */ .principal_login { - margin: 30px; + margin: 10px; padding: 0; + max-width: 800px; + text-align: left; } .formulaire_login { @@ -221,8 +229,7 @@ p.titre { float: left; margin: 0 15px; padding: 0; - max-width: 500px; - width: 100%; + max-width: 900px; } .titre1 { diff --git a/htdocs/cashdesk/index.php b/htdocs/cashdesk/index.php index fa1c6723d20..44d096ab478 100644 --- a/htdocs/cashdesk/index.php +++ b/htdocs/cashdesk/index.php @@ -60,10 +60,11 @@ top_htmlhead('','',0,0,'',$arrayofcss);

-
currency; ?> currency; ?> @@ -171,48 +171,42 @@ $langs->load("cashdesk");
trans("PaymentMode"); ?> - - +
'; + print '
'; if (empty($_SESSION['CASHDESK_ID_BANKACCOUNT_CASH']) || $_SESSION['CASHDESK_ID_BANKACCOUNT_CASH'] < 0) { $langs->load("errors"); print ''; } else print ''; - print ''; - print '
'; - print ''; + print ''; + print '
'; + print '
'; ?> -
-
'; + print ''; + print '
'; if (empty($_SESSION['CASHDESK_ID_BANKACCOUNT_CHEQUE']) || $_SESSION['CASHDESK_ID_BANKACCOUNT_CHEQUE'] < 0) { $langs->load("errors"); print ''; } else print ''; - print '
'; + print ''; + print '
'; if (empty($_SESSION['CASHDESK_ID_BANKACCOUNT_CB']) || $_SESSION['CASHDESK_ID_BANKACCOUNT_CB'] < 0) { $langs->load("errors"); print ''; } else print ''; - print '
- - - - - -
" onclick="javascript: verifClic('DIF');" /> - trans("DateEcheance").' :'; - print $form->select_date(-1,'txtDatePaiement',0,0,0,'paymentmode',1,0,1); - ?> -
+ trans("DateEcheance").' :'; + print $form->select_date(-1,'txtDatePaiement',0,0,0,'paymentmode',1,0,1); + print ''; + ?> +
diff --git a/htdocs/categories/admin/categorie.php b/htdocs/categories/admin/categorie.php index 23ebc01f3e2..37ed08703f8 100644 --- a/htdocs/categories/admin/categorie.php +++ b/htdocs/categories/admin/categorie.php @@ -77,7 +77,7 @@ $linkback=''.$langs->trans("BackToM llxHeader('',$langs->trans("Categories"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("CategoriesSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("CategoriesSetup"),$linkback,'title_setup'); $head=categoriesadmin_prepare_head(); diff --git a/htdocs/categories/admin/categorie_extrafields.php b/htdocs/categories/admin/categorie_extrafields.php index df31e07d95b..87e907c696e 100644 --- a/htdocs/categories/admin/categorie_extrafields.php +++ b/htdocs/categories/admin/categorie_extrafields.php @@ -64,7 +64,7 @@ llxHeader('',$langs->trans("Categories"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("CategoriesSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("CategoriesSetup"),$linkback,'title_setup'); $head = categoriesadmin_prepare_head(); @@ -93,7 +93,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -106,7 +106,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/categories/card.php b/htdocs/categories/card.php index 814badf95a7..5bd73202f15 100644 --- a/htdocs/categories/card.php +++ b/htdocs/categories/card.php @@ -29,6 +29,7 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; $langs->load("categories"); @@ -46,6 +47,7 @@ $urlfrom = GETPOST('urlfrom','alpha'); $socid=GETPOST('socid','int'); $label=GETPOST('label'); $description=GETPOST('description'); +$color=GETPOST('color'); $visible=GETPOST('visible'); $parent=GETPOST('parent'); @@ -124,6 +126,7 @@ if ($action == 'add' && $user->rights->categorie->creer) $object->label = $label; + $object->color = $color; $object->description = dol_htmlcleanlastbr($description); $object->socid = ($socid ? $socid : 'null'); $object->visible = $visible; @@ -210,6 +213,7 @@ if (($action == 'add' || $action == 'confirmed') && $user->rights->categorie->cr */ $form = new Form($db); +$formother = new FormOther($db); llxHeader("","",$langs->trans("Categories")); @@ -232,7 +236,7 @@ if ($user->rights->categorie->creer) if ($origin) print ''; if ($catorigin) print ''; - print_fiche_titre($langs->trans("CreateCat")); + print load_fiche_titre($langs->trans("CreateCat")); dol_fiche_head(''); @@ -250,6 +254,11 @@ if ($user->rights->categorie->creer) $doleditor->Create(); print '
'.$langs->trans("Color").''; + print $formother->selectColor($color,'color'); + print '
'.$langs->trans("AddIn").''; print $form->select_all_categories($type, $catorigin); diff --git a/htdocs/categories/categorie.php b/htdocs/categories/categorie.php index 083edbf6b7e..aca45c5ca52 100644 --- a/htdocs/categories/categorie.php +++ b/htdocs/categories/categorie.php @@ -419,7 +419,7 @@ else if ($id || $ref) // Ref print '
'.$langs->trans("Ref").''; - print $form->showrefnav($member,'id'); + print $form->showrefnav($member,'id','','1','rowid','ref','','&type='.$type); print '
'; // Ref -print ''; print ''; // Description print ''; -print ''; +print ''; print ''; +// Color +print ''; +print ''; +print ''; + // Parent category print '
'; +print '
'; print $langs->trans("Ref").''; print '
'.$langs->trans("Description").''.$langs->trans("Description").''; require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; $doleditor=new DolEditor('description',$object->description,'',200,'dolibarr_notes','',false,true,$conf->fckeditor->enabled,ROWS_6,50); $doleditor->Create(); print '
'.$langs->trans("Color").''; +print $formother->selectColor($object->color, 'color'); +print '
'.$langs->trans("In").''; print $form->select_all_categories($type,$object->fk_parent,'parent',64,$object->id); diff --git a/htdocs/categories/index.php b/htdocs/categories/index.php index b22b1989673..ff585212dff 100644 --- a/htdocs/categories/index.php +++ b/htdocs/categories/index.php @@ -61,7 +61,7 @@ $arrayofcss=array('/includes/jquery/plugins/jquerytreeview/jquery.treeview.css') llxHeader('',$title,'','',0,0,$arrayofjs,$arrayofcss); -print_fiche_titre($title); +print load_fiche_titre($title); //print ''; //print ''; // Description -print ''; +// Color +print ''; + $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook if (empty($reshook) && ! empty($extrafields->attribute_label)) { diff --git a/htdocs/comm/action/card.php b/htdocs/comm/action/card.php index b442a6266ec..daeab2ba408 100644 --- a/htdocs/comm/action/card.php +++ b/htdocs/comm/action/card.php @@ -407,7 +407,7 @@ if ($action == 'update') if (! $datef && $percentage == 100) { $error++; $donotclearsession=1; - setEventMessages($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("DateEnd")),$object->errors,'errors'); + setEventMessages($langs->transnoentitiesnoconv("ErrorFieldRequired",$langs->transnoentitiesnoconv("DateEnd")),$object->errors,'errors'); $action = 'edit'; } @@ -636,8 +636,8 @@ if ($action == 'create') if ($backtopage) print ''; if (empty($conf->global->AGENDA_USE_EVENT_TYPE)) print ''; - if (GETPOST("actioncode") == 'AC_RDV') print_fiche_titre($langs->trans("AddActionRendezVous")); - else print_fiche_titre($langs->trans("AddAnAction")); + if (GETPOST("actioncode") == 'AC_RDV') print load_fiche_titre($langs->trans("AddActionRendezVous")); + else print load_fiche_titre($langs->trans("AddAnAction")); dol_fiche_head(); @@ -647,7 +647,8 @@ if ($action == 'create') if (! empty($conf->global->AGENDA_USE_EVENT_TYPE)) { print ''; } diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index b4336936181..2b347036a58 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -107,7 +107,6 @@ class ActionComm extends CommonObject var $transparency; // Transparency (ical standard). Used to say if people assigned to event are busy or not by event. 0=available, 1=busy, 2=busy (refused events) var $priority; // Small int (0 By default) - var $note; // Description var $userassigned = array(); // Array of user ids var $userownerid; // Id of user owner = fk_user_action into table @@ -148,12 +147,6 @@ class ActionComm extends CommonObject */ var $contact; - /** - * Id of project (optional) - * @var int - */ - var $fk_project; - // Properties for links to other objects var $fk_element; // Id of record var $elementtype; // Type of record. This if property ->element of object linked to. @@ -409,8 +402,8 @@ class ActionComm extends CommonObject $this->db->begin(); - // Load source object - $objFrom = dol_clone($this); + // Load source object + $objFrom = clone $this; $this->fetch_optionals(); $this->fetch_userassigned(); @@ -882,7 +875,7 @@ class ActionComm extends CommonObject $resql=$this->db->query($sql); if ($resql) { - $now = dol_now(); + $agenda_static = new ActionComm($this->db); $response = new WorkboardResponse(); $response->warning_delay = $conf->actions->warning_delay/60/60/24; @@ -895,7 +888,9 @@ class ActionComm extends CommonObject { $response->nbtodo++; - if (isset($obj->dp) && $this->db->jdate($obj->dp) < ($now - $conf->actions->warning_delay)) { + $agenda_static->datep = $this->db->jdate($obj->dp); + + if ($agenda_static->hasDelay()) { $response->nbtodolate++; } } @@ -1361,5 +1356,19 @@ class ActionComm extends CommonObject return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); } + /** + * Is the action delayed? + * + * @return bool + */ + public function hasDelay() + { + global $conf; + + $now = dol_now(); + + return $this->datep && ($this->datep < ($now - $conf->actions->warning_delay)); + } + } diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php index f445c7f3596..58159b59b75 100644 --- a/htdocs/comm/action/index.php +++ b/htdocs/comm/action/index.php @@ -414,7 +414,7 @@ else // If javascript off $link.=''; } -print_fiche_titre($s, $link.'     '.$nav, ''); +print load_fiche_titre($s, $link.'     '.$nav, ''); // Load events from database into $eventarray @@ -1210,7 +1210,7 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa // We decide to choose color of owner of event (event->userownerid is user id of owner, event->userassigned contains all users assigned to event) if (! empty($cacheusers[$event->userownerid]->color)) $color=$cacheusers[$event->userownerid]->color; } - else if ($event->type_code == 'ICALEVENT') + else if ($event->type_code == 'ICALEVENT') // Event come from external ical file { $numical++; if (! empty($event->icalname)) { @@ -1220,7 +1220,7 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa $numicals[dol_string_nospecial($event->icalname)]++; } $color=$event->icalcolor; - $cssclass=(! empty($event->icalname)?'family_ext'.md5($event->icalname):'family_other unmovable'); + $cssclass=(! empty($event->icalname)?'family_ext'.md5($event->icalname):'family_other'); } else if ($event->type_code == 'BIRTHDAY') { @@ -1266,6 +1266,10 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa { $cssclass.= " unmovable"; } + else if ($event->type_code == 'ICALEVENT') + { + $cssclass.= " unmovable"; + } else if ($event->date_end_in_calendar && date('Ymd',$event->date_start_in_calendar) != date('Ymd',$event->date_end_in_calendar)) { $tmpyearend = date('Y',$event->date_end_in_calendar); diff --git a/htdocs/comm/action/peruser.php b/htdocs/comm/action/peruser.php index 5f8ce1563de..41270d7996e 100644 --- a/htdocs/comm/action/peruser.php +++ b/htdocs/comm/action/peruser.php @@ -337,7 +337,7 @@ if ($conf->use_javascript_ajax) $link=''; -print_fiche_titre($s, $link.'     '.$nav, ''); +print load_fiche_titre($s, $link.'     '.$nav, ''); // Get event in an array diff --git a/htdocs/comm/address.php b/htdocs/comm/address.php index 963847aee18..eb3c51b1760 100644 --- a/htdocs/comm/address.php +++ b/htdocs/comm/address.php @@ -211,7 +211,7 @@ if ($action == 'create') $object->country = $tmparray['label']; } - print_fiche_titre($langs->trans("AddAddress")); + print load_fiche_titre($langs->trans("AddAddress")); print "
\n"; @@ -306,7 +306,7 @@ elseif ($action == 'edit') dol_fiche_head($head, 'card', $societe->name); - print_titre($langs->trans("EditAddress")); + print load_fiche_titre($langs->trans("EditAddress")); print "
\n"; if ($socid) diff --git a/htdocs/comm/admin/askpricesupplier_extrafields.php b/htdocs/comm/admin/askpricesupplier_extrafields.php index 4342549c46a..0fb0554203f 100644 --- a/htdocs/comm/admin/askpricesupplier_extrafields.php +++ b/htdocs/comm/admin/askpricesupplier_extrafields.php @@ -60,7 +60,7 @@ llxHeader('',$langs->trans("AskPriceSupplierSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("AskPriceSupplierSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("AskPriceSupplierSetup"),$linkback,'title_setup'); $head = askpricesupplier_admin_prepare_head(); @@ -128,7 +128,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -141,7 +141,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/comm/admin/askpricesupplierdet_extrafields.php b/htdocs/comm/admin/askpricesupplierdet_extrafields.php index e419b6a3168..09c215d1f3d 100644 --- a/htdocs/comm/admin/askpricesupplierdet_extrafields.php +++ b/htdocs/comm/admin/askpricesupplierdet_extrafields.php @@ -66,7 +66,7 @@ $textobject=$langs->transnoentitiesnoconv("CommRequests"); llxHeader('',$langs->trans("AskPriceSupplierSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("AskPriceSupplierSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("AskPriceSupplierSetup"),$linkback,'title_setup'); $head = askpricesupplier_admin_prepare_head(); @@ -130,7 +130,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -143,7 +143,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/comm/admin/propal_extrafields.php b/htdocs/comm/admin/propal_extrafields.php index bd0ce34329d..9c55c606e81 100644 --- a/htdocs/comm/admin/propal_extrafields.php +++ b/htdocs/comm/admin/propal_extrafields.php @@ -64,7 +64,7 @@ $textobject=$langs->transnoentitiesnoconv("Proposals"); llxHeader('',$langs->trans("PropalSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("PropalSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("PropalSetup"),$linkback,'title_setup'); $head = propal_admin_prepare_head(); @@ -94,7 +94,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -107,7 +107,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/comm/admin/propaldet_extrafields.php b/htdocs/comm/admin/propaldet_extrafields.php index 58ab3adf109..97d4763ace3 100644 --- a/htdocs/comm/admin/propaldet_extrafields.php +++ b/htdocs/comm/admin/propaldet_extrafields.php @@ -72,7 +72,7 @@ $textobject=$langs->transnoentitiesnoconv("Proposals"); llxHeader('',$langs->trans("PropalSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("PropalSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("PropalSetup"),$linkback,'title_setup'); $head = propal_admin_prepare_head(); @@ -101,7 +101,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -114,7 +114,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/comm/askpricesupplier/card.php b/htdocs/comm/askpricesupplier/card.php index 22732c1a19d..5b8bd88a920 100644 --- a/htdocs/comm/askpricesupplier/card.php +++ b/htdocs/comm/askpricesupplier/card.php @@ -29,6 +29,7 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formaskpricesupplier.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formmargin.class.php'; require_once DOL_DOCUMENT_ROOT . '/comm/askpricesupplier/class/askpricesupplier.class.php'; require_once DOL_DOCUMENT_ROOT . '/comm/action/class/actioncomm.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/modules/askpricesupplier/modules_askpricesupplier.php'; @@ -977,6 +978,7 @@ $form = new Form($db); $formother = new FormOther($db); $formfile = new FormFile($db); $formaskpricesupplier = new FormAskPriceSupplier($db); +$formmargin = new FormMargin($this->db); $companystatic = new Societe($db); $now = dol_now(); @@ -984,7 +986,7 @@ $now = dol_now(); // Add new askprice if ($action == 'create') { - print_fiche_titre($langs->trans("NewAskPrice")); + print load_fiche_titre($langs->trans("NewAskPrice")); $soc = new Societe($db); if ($socid > 0) @@ -1263,7 +1265,7 @@ if ($action == 'create') print '
'; $title = $langs->trans('ProductsAndServices'); - print_titre($title); + print load_fiche_titre($title); print '
'; diff --git a/htdocs/categories/viewcat.php b/htdocs/categories/viewcat.php index 87d6dc57d63..bf86c1d496c 100644 --- a/htdocs/categories/viewcat.php +++ b/htdocs/categories/viewcat.php @@ -29,6 +29,7 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/categories.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; $langs->load("categories"); @@ -159,6 +160,7 @@ if ($type == Categorie::TYPE_PRODUCT && $elemid && $action == 'addintocategory' */ $form = new Form($db); +$formother = new FormOther($db); llxHeader("","",$langs->trans("Categories")); @@ -197,11 +199,17 @@ foreach ($ways as $way) print '
'; +print '
'; print $langs->trans("Description").''; print dol_htmlentitiesbr($object->description); print '
'; +print $langs->trans("Color").''; +print $formother->showColor($object->color); +print '
'.$langs->trans("Type").''; - $formactions->select_type_actions(GETPOST("actioncode")?GETPOST("actioncode"):$object->type_code, "actioncode","systemauto"); + $default=(empty($conf->global->AGENDA_USE_EVENT_TYPE_DEFAULT)?'':$conf->global->AGENDA_USE_EVENT_TYPE_DEFAULT); + $formactions->select_type_actions(GETPOST("actioncode")?GETPOST("actioncode"):($object->type_code?$object->type_code:$default), "actioncode","systemauto"); print '
'; @@ -1500,7 +1502,7 @@ if ($action == 'create') // Margin Infos if (! empty($conf->margin->enabled)) { print ''; } print ''; @@ -1770,7 +1772,7 @@ if ($action == 'create') print '
'; print '
'; - print_fiche_titre($langs->trans('SendAskByMail')); + print load_fiche_titre($langs->trans('SendAskByMail')); dol_fiche_head(''); diff --git a/htdocs/comm/askpricesupplier/class/askpricesupplier.class.php b/htdocs/comm/askpricesupplier/class/askpricesupplier.class.php index 2854a0a0d4b..971b53a3534 100644 --- a/htdocs/comm/askpricesupplier/class/askpricesupplier.class.php +++ b/htdocs/comm/askpricesupplier/class/askpricesupplier.class.php @@ -53,18 +53,13 @@ class AskPriceSupplier extends CommonObject */ protected $table_ref_field = 'ref'; - var $id; - var $socid; // Id client - var $client; // Objet societe client (a charger par fetch_client) - var $fk_project; /** * @deprecated * @see user_author_id */ var $author; - var $ref; var $ref_fourn; //Reference saisie lors de l'ajout d'une ligne à la demande var $statut; // 0 (draft), 1 (validated), 2 (signed), 3 (not signed), 4 (billed) var $date; // Date of proposal @@ -99,12 +94,6 @@ class AskPriceSupplier extends CommonObject var $user_valid_id; var $user_close_id; - var $total_ht; // Total net of tax - var $total_tva; // Total VAT - var $total_localtax1; // Total Local Taxes 1 - var $total_localtax2; // Total Local Taxes 2 - var $total_ttc; // Total with tax - /** * @deprecated * @see price_ht @@ -121,22 +110,11 @@ class AskPriceSupplier extends CommonObject */ var $total; - var $cond_reglement_id; var $cond_reglement_code; - var $fk_account; // Id of bank account - var $mode_reglement_id; var $mode_reglement_code; var $remise; var $remise_percent; var $remise_absolue; - /** - * @deprecated - * @see note_public, note_private - */ - var $note; - var $note_private; - var $note_public; - var $shipping_method_id; var $products=array(); var $extraparams=array(); @@ -144,9 +122,6 @@ class AskPriceSupplier extends CommonObject var $lines = array(); var $line; - var $origin; - var $origin_id; - var $labelstatut=array(); var $labelstatut_short=array(); @@ -757,8 +732,8 @@ class AskPriceSupplier extends CommonObject $sql.= $this->socid; $sql.= ", 0"; $sql.= ", ".$this->remise; - $sql.= ", ".($this->remise_percent?$this->remise_percent:'null'); - $sql.= ", ".($this->remise_absolue?$this->remise_absolue:'null'); + $sql.= ", ".($this->remise_percent?$this->db->escape($this->remise_percent):'null'); + $sql.= ", ".($this->remise_absolue?$this->db->escape($this->remise_absolue):'null'); $sql.= ", 0"; $sql.= ", 0"; $sql.= ", '".$this->db->idate($now)."'"; @@ -766,7 +741,7 @@ class AskPriceSupplier extends CommonObject $sql.= ", ".($user->id > 0 ? "'".$user->id."'":"null"); $sql.= ", '".$this->db->escape($this->note_private)."'"; $sql.= ", '".$this->db->escape($this->note_public)."'"; - $sql.= ", '".$this->modelpdf."'"; + $sql.= ", '".$this->db->escape($this->modelpdf)."'"; $sql.= ", ".$this->cond_reglement_id; $sql.= ", ".$this->mode_reglement_id; $sql.= ", ".($this->fk_account>0?$this->fk_account:'NULL'); @@ -950,8 +925,8 @@ class AskPriceSupplier extends CommonObject foreach($this->lines as $line) $line->fetch_optionals($line->rowid); - // Load source object - $objFrom = dol_clone($this); + // Load source object + $objFrom = clone $this; $objsoc=new Societe($this->db); diff --git a/htdocs/comm/askpricesupplier/index.php b/htdocs/comm/askpricesupplier/index.php index 681a889ed25..6936defda49 100644 --- a/htdocs/comm/askpricesupplier/index.php +++ b/htdocs/comm/askpricesupplier/index.php @@ -52,7 +52,7 @@ $help_url="EN:Module_Ask_Price_Supplier|FR:Module_Demande_de_prix_fournisseur"; llxHeader("",$langs->trans("AskPriceSupplierArea"),$help_url); -print_fiche_titre($langs->trans("AskPriceSupplierArea")); +print load_fiche_titre($langs->trans("AskPriceSupplierArea")); print '
'; diff --git a/htdocs/comm/askpricesupplier/tpl/linkedobjectblock.tpl.php b/htdocs/comm/askpricesupplier/tpl/linkedobjectblock.tpl.php index 48d916c6a5c..bf16d01fa1e 100644 --- a/htdocs/comm/askpricesupplier/tpl/linkedobjectblock.tpl.php +++ b/htdocs/comm/askpricesupplier/tpl/linkedobjectblock.tpl.php @@ -29,7 +29,7 @@ $langs = $GLOBALS['langs']; $linkedObjectBlock = $GLOBALS['linkedObjectBlock']; echo '
'; -print_titre($langs->trans('RelatedAskPriceSupplier')); +print load_fiche_titre($langs->trans('RelatedAskPriceSupplier')); ?>
'; - $object->displayMarginInfos(); + $formmargin->displayMarginInfos($object); print '
diff --git a/htdocs/comm/card.php b/htdocs/comm/card.php index d6ff35f8af5..a9164676716 100644 --- a/htdocs/comm/card.php +++ b/htdocs/comm/card.php @@ -965,25 +965,25 @@ if ($id > 0) print '
'; - if (! empty($conf->propal->enabled) && $user->rights->propal->creer) + if (! empty($conf->propal->enabled) && $user->rights->propal->creer && $object->status==1) { $langs->load("propal"); print ''; } - if (! empty($conf->commande->enabled) && $user->rights->commande->creer) + if (! empty($conf->commande->enabled) && $user->rights->commande->creer && $object->status==1) { $langs->load("orders"); print ''; } - if ($user->rights->contrat->creer) + if ($user->rights->contrat->creer && $object->status==1) { $langs->load("contracts"); print ''; } - if (! empty($conf->ficheinter->enabled) && $user->rights->ficheinter->creer) + if (! empty($conf->ficheinter->enabled) && $user->rights->ficheinter->creer && $object->status==1) { $langs->load("fichinter"); print ''; @@ -992,7 +992,7 @@ if ($id > 0) // Add invoice if ($user->societe_id == 0) { - if (! empty($conf->deplacement->enabled)) + if (! empty($conf->deplacement->enabled) && $object->status==1) { $langs->load("trips"); print ''; @@ -1000,7 +1000,7 @@ if ($id > 0) if (! empty($conf->facture->enabled)) { - if ($user->rights->facture->creer) + if ($user->rights->facture->creer && $object->status==1) { $langs->load("bills"); $langs->load("orders"); diff --git a/htdocs/comm/index.php b/htdocs/comm/index.php index 7dc359b4568..6aee0fe939c 100644 --- a/htdocs/comm/index.php +++ b/htdocs/comm/index.php @@ -68,7 +68,7 @@ if (! empty($conf->commande->enabled)) $orderstatic=new Commande($db); llxHeader(); -print_fiche_titre($langs->trans("CommercialArea"),'','title_commercial.png'); +print load_fiche_titre($langs->trans("CommercialArea"),'','title_commercial.png'); print '
'; diff --git a/htdocs/comm/list.php b/htdocs/comm/list.php index 126ffc5f470..9752abd31cb 100644 --- a/htdocs/comm/list.php +++ b/htdocs/comm/list.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Cédric Salvador - * Copyright (C) 2013 Florian Henry + * Copyright (C) 2013-2015 Florian Henry * Copyright (C) 2015 Jean-François Ferry * Copyright (C) 2015 Marcos García * @@ -29,6 +29,8 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; $langs->load("companies"); $langs->load("customers"); @@ -50,12 +52,14 @@ $pagenext = $page + 1; if (! $sortorder) $sortorder="ASC"; if (! $sortfield) $sortfield="s.nom"; -$search_company=GETPOST("search_company"); -$search_zipcode=GETPOST("search_zipcode"); -$search_town=GETPOST("search_town"); -$search_code=GETPOST("search_code"); -$search_compta=GETPOST("search_compta"); -$search_status= GETPOST("search_status",'int'); +$search_company = GETPOST("search_company"); +$search_zipcode = GETPOST("search_zipcode"); +$search_town = GETPOST("search_town"); +$search_code = GETPOST("search_code"); +$search_compta = GETPOST("search_compta"); +$search_status = GETPOST("search_status",'int'); +$search_country = GETPOST("search_country",'int'); +$search_type_thirdparty = GETPOST("search_type_thirdparty",'int'); // Load sale and categ filters $search_sale = GETPOST("search_sale",'int'); @@ -89,6 +93,8 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both $search_code=''; $search_compta=''; $search_status=''; + $search_country=""; + $search_type_thirdparty=''; } if ($search_status=='') $search_status=1; // always display activ customer first @@ -101,12 +107,15 @@ if ($search_status=='') $search_status=1; // always display activ customer first $formother=new FormOther($db); $form = new Form($db); $thirdpartystatic=new Societe($db); +$formcompany=new FormCompany($db); $help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; llxHeader('',$langs->trans("ThirdParty"),$help_url); $sql = "SELECT s.rowid, s.nom as name, s.name_alias, s.client, s.zip, s.town, st.libelle as stcomm, s.prefix_comm, s.code_client, s.code_compta, s.status as status,"; $sql.= " s.datec, s.canvas"; +$sql.= ",s.fk_pays"; +$sql.= ",typent.code as typent_code"; if ((!$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql .= ", sc.fk_soc, sc.fk_user"; // We need these fields in order to filter by sale (including the case where the user can only see his prospects) // Add fields for extrafields foreach ($extrafields->attribute_list as $key => $val) $sql.=",ef.".$key.' as options_'.$key; @@ -116,12 +125,14 @@ $reshook=$hookmanager->executeHooks('printFieldListSelect',$parameters); // N $sql.=$hookmanager->resPrint; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; if (! empty($search_categ) || ! empty($catid)) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_societe as cs ON s.rowid = cs.fk_soc"; // We need this table joined to the select in order to filter by categ -if ((!$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as country on (country.rowid = s.fk_pays) "; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_typent as typent on (typent.id = s.fk_typent) "; +if ((!$user->rights->societe->client->voir && !$socid) || $search_sale) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale $sql.= ", ".MAIN_DB_PREFIX."c_stcomm as st"; $sql.= " WHERE s.fk_stcomm = st.id"; $sql.= " AND s.client IN (1, 3)"; $sql.= ' AND s.entity IN ('.getEntity('societe', 1).')'; -if ((!$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= " AND s.rowid = sc.fk_soc"; +if ((!$user->rights->societe->client->voir && !$socid) || $search_sale) $sql.= " AND s.rowid = sc.fk_soc"; if ($socid) $sql.= " AND s.rowid = ".$socid; if ($search_sale > 0) $sql.= " AND s.rowid = sc.fk_soc"; // Join for the needed table to filter by sale if ($catid > 0) $sql.= " AND cs.fk_categorie = ".$catid; @@ -134,6 +145,8 @@ if ($search_town) $sql.= natural_search('s.town', $search_town); if ($search_code) $sql.= natural_search("s.code_client", $search_code); if ($search_compta) $sql.= natural_search("s.code_compta", $search_compta); if ($search_status!='') $sql.= " AND s.status = ".$db->escape($search_status); +if ($search_country) $sql .= " AND s.fk_pays IN (".$search_country.')'; +if ($search_type_thirdparty) $sql .= " AND s.fk_typent IN (".$search_type_thirdparty.')'; if ($search_sale > 0) $sql.= " AND sc.fk_user = ".$search_sale; // Add where from hooks $parameters=array(); @@ -157,10 +170,15 @@ if ($result) { $num = $db->num_rows($result); - $param = "&search_company=".$search_company."&search_code=".$search_code."&search_zipcode=".$search_zipcode."&search_town=".$search_town; - if ($search_categ != '') $param.='&search_categ='.$search_categ; - if ($search_sale > 0) $param.='&search_sale='.$search_sale; - if ($search_status != '') $param.='&search_status='.$search_status; + $param = "&search_company=".htmlspecialchars($search_company); + $param.="&search_code=".htmlspecialchars($search_code); + $param.="&search_zipcode=".htmlspecialchars($search_zipcode); + $param.="&search_town=".htmlspecialchars($search_town); + if ($search_categ != '') $param.='&search_categ='.htmlspecialchars($search_categ); + if ($search_sale > 0) $param.='&search_sale='.htmlspecialchars($search_sale); + if ($search_status != '') $param.='&search_status='.htmlspecialchars($search_status); + if ($search_country != '') $param.='&search_country='.htmlspecialchars($search_country); + if ($search_type_thirdparty != '') $param.='&search_type_thirdparty='.htmlspecialchars($search_type_thirdparty); print_barre_liste($langs->trans("ListOfCustomers"), $page, $_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecords,'title_companies.png'); @@ -198,6 +216,8 @@ if ($result) print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Zip"),$_SERVER["PHP_SELF"],"s.zip","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Town"),$_SERVER["PHP_SELF"],"s.town","",$param,"",$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Country"),$_SERVER["PHP_SELF"],"country.code_iso","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("ThirdPartyType"),$_SERVER["PHP_SELF"],"typent.code","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("CustomerCode"),$_SERVER["PHP_SELF"],"s.code_client","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("AccountancyCode"),$_SERVER["PHP_SELF"],"s.code_compta","",$param,'align="left"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DateCreation"),$_SERVER["PHP_SELF"],"datec","",$param,'align="right"',$sortfield,$sortorder); @@ -222,6 +242,14 @@ if ($result) print ''; print ''; + print '
'; + + print ''; + print ''; @@ -270,6 +298,16 @@ if ($result) print ''; print ''; print ''; + //Country + print ''; + //Type ent + print ''; print ''; print ''; print ''; diff --git a/htdocs/comm/mailing/card.php b/htdocs/comm/mailing/card.php index b7d4f909fa7..fde56efb25e 100644 --- a/htdocs/comm/mailing/card.php +++ b/htdocs/comm/mailing/card.php @@ -673,7 +673,7 @@ if ($action == 'create') print ''; print ''; - print_fiche_titre($langs->trans("NewMailing")); + print load_fiche_titre($langs->trans("NewMailing")); dol_fiche_head(); @@ -958,7 +958,7 @@ else // Affichage formulaire de TEST if ($action == 'test') { - print_titre($langs->trans("TestMailing")); + print load_fiche_titre($langs->trans("TestMailing")); // Create l'objet formulaire mail include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; @@ -991,7 +991,7 @@ else } // Print mail content - print_fiche_titre($langs->trans("EMail"),'',''); + print load_fiche_titre($langs->trans("EMail"),'',''); dol_fiche_head(''); @@ -1102,7 +1102,7 @@ else print ''; // Print mail content - print_fiche_titre($langs->trans("EMail"),'',''); + print load_fiche_titre($langs->trans("EMail"),'',''); print '
'; + print $form->select_country($search_country,'search_country'); + print ''; + print $form->selectarray("search_type_thirdparty", $formcompany->typent_array(0), $search_type_thirdparty, 0, 0, 0, '', 0, 0, 0, (empty($conf->global->SOCIETE_SORT_ON_TYPEENT)?'ASC':$conf->global->SOCIETE_SORT_ON_TYPEENT)); + print ''; print ''; print ''.$obj->zip.''.$obj->town.''; + $tmparray=getCountry($obj->fk_pays,'all'); + print $tmparray['label']; + print ''; + if (count($typenArray)==0) $typenArray = $formcompany->typent_array(1); + print $typenArray[$obj->typent_code]; + print ''.$obj->code_client.''.$obj->code_compta.''.dol_print_date($db->jdate($obj->datec),'day').'
'; // Subject diff --git a/htdocs/comm/mailing/cibles.php b/htdocs/comm/mailing/cibles.php index 99c73dc4837..cd3ff7b00ee 100644 --- a/htdocs/comm/mailing/cibles.php +++ b/htdocs/comm/mailing/cibles.php @@ -223,7 +223,7 @@ if ($object->fetch($id) >= 0) // Show email selectors if ($allowaddtarget && $user->rights->mailing->creer) { - print_fiche_titre($langs->trans("ToAddRecipientsChooseHere"),($user->admin?info_admin($langs->trans("YouCanAddYourOwnPredefindedListHere"),1):''),''); + print load_fiche_titre($langs->trans("ToAddRecipientsChooseHere"),($user->admin?info_admin($langs->trans("YouCanAddYourOwnPredefindedListHere"),1):''),''); print '
'; print ''; diff --git a/htdocs/comm/mailing/class/mailing.class.php b/htdocs/comm/mailing/class/mailing.class.php index 1df5a7ad18f..f3866f80b96 100644 --- a/htdocs/comm/mailing/class/mailing.class.php +++ b/htdocs/comm/mailing/class/mailing.class.php @@ -34,8 +34,6 @@ class Mailing extends CommonObject public $element='mailing'; public $table_element='mailing'; - var $id; - var $statut; var $titre; var $sujet; var $body; diff --git a/htdocs/comm/mailing/index.php b/htdocs/comm/mailing/index.php index 5c6ae896e42..59753ee1904 100644 --- a/htdocs/comm/mailing/index.php +++ b/htdocs/comm/mailing/index.php @@ -42,7 +42,7 @@ $result=restrictedArea($user,'mailing'); $help_url='EN:Module_EMailing|FR:Module_Mailing|ES:Módulo_Mailing'; llxHeader('','EMailing',$help_url); -print_fiche_titre($langs->trans("MailingArea")); +print load_fiche_titre($langs->trans("MailingArea")); //print '
'; //print ''; } else { print ''; } print '' . "\n"; @@ -1414,11 +1412,7 @@ if ($action == 'create') print ''; print ''; print ''; print ''; print '
'; diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index 3549b122baa..e05c5a63dd9 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -35,6 +35,7 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formpropal.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formmargin.class.php'; require_once DOL_DOCUMENT_ROOT . '/comm/propal/class/propal.class.php'; require_once DOL_DOCUMENT_ROOT . '/comm/action/class/actioncomm.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/modules/propale/modules_propale.php'; @@ -195,22 +196,18 @@ if (empty($reshook)) { if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { - // Define output language - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { - $outputlangs = $langs; - $newlang = ''; - if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); - if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; - if (! empty($newlang)) { - $outputlangs = new Translate("", $conf); - $outputlangs->setDefaultLang($newlang); - } - $model=$object->modelpdf; - $ret = $object->fetch($id); // Reload to get new records - - $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); + $outputlangs = $langs; + $newlang = ''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; + if (! empty($newlang)) { + $outputlangs = new Translate("", $conf); + $outputlangs->setDefaultLang($newlang); } + $model=$object->modelpdf; + $ret = $object->fetch($id); // Reload to get new records + + $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); } } else { $langs->load("errors"); @@ -1187,6 +1184,7 @@ $form = new Form($db); $formother = new FormOther($db); $formfile = new FormFile($db); $formpropal = new FormPropal($db); +$formmargin = new FormMargin($this->db); $companystatic = new Societe($db); if (! empty($conf->projet->enabled)) { $formproject = new FormProjets($db); } @@ -1195,7 +1193,7 @@ $now = dol_now(); // Add new proposal if ($action == 'create') { - print_fiche_titre($langs->trans("NewProp")); + print load_fiche_titre($langs->trans("NewProp")); $soc = new Societe($db); if ($socid > 0) @@ -1290,7 +1288,7 @@ if ($action == 'create') print ''; - print $form->select_company('', 'socid', 's.client = 1 OR s.client = 2 OR s.client = 3', 1); + print $form->select_company('', 'socid', '(s.client = 1 OR s.client = 2 OR s.client = 3) AND status=1', 1); print '
' . $langs->trans('NotePublic') . ''; - $note_public = ''; - if (is_object($objectsrc)) // Take value from source object - { - $note_public = $objectsrc->note_public; - } + $note_public = $object->getDefaultCreateValueFor('note_public', (is_object($objectsrc)?$objectsrc->note_public:null)); $doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); print $doleditor->Create(1); @@ -1428,11 +1422,7 @@ if ($action == 'create') print '
' . $langs->trans('NotePrivate') . ''; - $note_private = ''; - if (! empty($origin) && ! empty($originid) && is_object($objectsrc)) // Take value from source object - { - $note_private = $objectsrc->note_private; - } + $note_private = $object->getDefaultCreateValueFor('note_private', ((! empty($origin) && ! empty($originid) && is_object($objectsrc))?$objectsrc->note_private:null)); $doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); print $doleditor->Create(1); // print ' @@ -1591,7 +1581,7 @@ if ($action == 'create') print '
'; $title = $langs->trans('ProductsAndServices'); - print_titre($title); + print load_fiche_titre($title); print ''; @@ -1998,7 +1988,7 @@ if ($action == 'create') // Margin Infos if (! empty($conf->margin->enabled)) { print ''; } print ''; @@ -2131,18 +2121,20 @@ if ($action == 'create') if ($action != 'statut' && $action != 'editline') { // Validate - if ($object->statut == Propal::STATUS_DRAFT && $object->total_ttc >= 0 && count($object->lines) > 0 && - ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->propal->creer)) + if ($object->statut == Propal::STATUS_DRAFT && $object->total_ttc >= 0 && count($object->lines) > 0) + { + if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->propal->creer)) || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->propal->propal_advance->validate))) - ) { - if (count($object->lines) > 0) + { print ''; - // else print ''.$langs->trans('Validate').''; + } + else + print ''; } // Create event if ($conf->agenda->enabled && ! empty($conf->global->MAIN_ADD_EVENT_ON_ELEMENT_CARD)) // Add hidden condition because this is not a "workflow" action so should appears somewhere else on page. { - print '' . $langs->trans("AddAction") . ''; + print ''; } // Edit if ($object->statut == Propal::STATUS_VALIDATED && $user->rights->propal->creer) { @@ -2299,7 +2291,7 @@ if ($action == 'create') print '
'; print '
'; - print_fiche_titre($langs->trans('SendPropalByMail')); + print load_fiche_titre($langs->trans('SendPropalByMail')); dol_fiche_head(''); diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index 77c4e5c6f76..2645f39968b 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -54,23 +54,14 @@ class Propal extends CommonObject */ protected $table_ref_field = 'ref'; - var $id; - /** * ID of the client * @var int */ var $socid; - /** - * Client (loaded by fetch_client) - * @var Societe - */ - var $client; var $contactid; - var $fk_project; var $author; - var $ref; var $ref_client; /** @@ -122,12 +113,6 @@ class Propal extends CommonObject var $user_valid_id; var $user_close_id; - var $total_ht; // Total net of tax - var $total_tva; // Total VAT - var $total_localtax1; // Total Local Taxes 1 - var $total_localtax2; // Total Local Taxes 2 - var $total_ttc; // Total with tax - /** * @deprecated * @see total_ht @@ -144,29 +129,14 @@ class Propal extends CommonObject */ var $total; - var $cond_reglement_id; var $cond_reglement_code; - var $fk_account; // Id of bank account - var $mode_reglement_id; var $mode_reglement_code; var $remise; var $remise_percent; var $remise_absolue; - /** - * @deprecated - * @see note_private, note_public - */ - var $note; - var $note_private; - var $note_public; - /** - * @deprecated - */ - var $fk_delivery_address; var $fk_address; var $address_type; var $address; - var $shipping_method_id; var $availability_id; var $availability_code; var $demand_reason_id; @@ -181,19 +151,11 @@ class Propal extends CommonObject var $lines = array(); var $line; - var $origin; - var $origin_id; - var $labelstatut=array(); var $labelstatut_short=array(); var $specimen; - //Incorterms - var $fk_incoterms; - var $location_incoterms; - var $libelle_incoterms; //Used into tooltip - /** * Draft status */ @@ -647,7 +609,7 @@ class Propal extends CommonObject $line = new PropaleLigne($this->db); $line->fetch($rowid); - $staticline = clone $line; + $staticline = clone $line; $line->oldline = $staticline; $this->line = $line; @@ -858,8 +820,8 @@ class Propal extends CommonObject $sql.= $this->socid; $sql.= ", 0"; $sql.= ", ".$this->remise; - $sql.= ", ".($this->remise_percent?$this->remise_percent:'null'); - $sql.= ", ".($this->remise_absolue?$this->remise_absolue:'null'); + $sql.= ", ".($this->remise_percent?$this->db->escape($this->remise_percent):'null'); + $sql.= ", ".($this->remise_absolue?$this->db->escape($this->remise_absolue):'null'); $sql.= ", 0"; $sql.= ", 0"; $sql.= ", '".$this->db->idate($this->date)."'"; @@ -868,7 +830,7 @@ class Propal extends CommonObject $sql.= ", ".($user->id > 0 ? "'".$user->id."'":"null"); $sql.= ", '".$this->db->escape($this->note_private)."'"; $sql.= ", '".$this->db->escape($this->note_public)."'"; - $sql.= ", '".$this->modelpdf."'"; + $sql.= ", '".$this->db->escape($this->modelpdf)."'"; $sql.= ", ".($this->fin_validite!=''?"'".$this->db->idate($this->fin_validite)."'":"null"); $sql.= ", ".$this->cond_reglement_id; $sql.= ", ".$this->mode_reglement_id; @@ -1077,7 +1039,7 @@ class Propal extends CommonObject $line->fetch_optionals($line->rowid); // Load source object - $objFrom = dol_clone($this); + $objFrom = clone $this; $objsoc=new Societe($this->db); diff --git a/htdocs/comm/propal/index.php b/htdocs/comm/propal/index.php index 8fc50f853c6..1bcbec9723d 100644 --- a/htdocs/comm/propal/index.php +++ b/htdocs/comm/propal/index.php @@ -52,7 +52,7 @@ $help_url="EN:Module_Commercial_Proposals|FR:Module_Propositions_commerciales|ES llxHeader("",$langs->trans("ProspectionArea"),$help_url); -print_fiche_titre($langs->trans("ProspectionArea")); +print load_fiche_titre($langs->trans("ProspectionArea")); //print '
'; - $object->displayMarginInfos(); + $formmargin->displayMarginInfos($object); print '
'; //print '
'; diff --git a/htdocs/comm/propal/stats/index.php b/htdocs/comm/propal/stats/index.php index 9a2a712e339..e99c7122a10 100644 --- a/htdocs/comm/propal/stats/index.php +++ b/htdocs/comm/propal/stats/index.php @@ -65,7 +65,7 @@ $langs->load('other'); llxHeader('', $langs->trans("ProposalsStatistics")); -print_fiche_titre($langs->trans("ProposalsStatistics"),'','title_commercial.png'); +print load_fiche_titre($langs->trans("ProposalsStatistics"),'','title_commercial.png'); $dir=$conf->propal->dir_temp; diff --git a/htdocs/comm/propal/tpl/linkedobjectblock.tpl.php b/htdocs/comm/propal/tpl/linkedobjectblock.tpl.php index 66cde8692ce..6f53fd37a95 100644 --- a/htdocs/comm/propal/tpl/linkedobjectblock.tpl.php +++ b/htdocs/comm/propal/tpl/linkedobjectblock.tpl.php @@ -34,7 +34,7 @@ $langs = $GLOBALS['langs']; $linkedObjectBlock = $GLOBALS['linkedObjectBlock']; echo '
'; -print_titre($langs->trans('RelatedCommercialProposals')); +print load_fiche_titre($langs->trans('RelatedCommercialProposals')); ?> diff --git a/htdocs/comm/prospect/index.php b/htdocs/comm/prospect/index.php index f5f600ddd08..fba2fe9d1cd 100644 --- a/htdocs/comm/prospect/index.php +++ b/htdocs/comm/prospect/index.php @@ -44,7 +44,7 @@ $companystatic=new Societe($db); llxHeader(); -print_fiche_titre($langs->trans("ProspectionArea")); +print load_fiche_titre($langs->trans("ProspectionArea")); //print '
'; //print ''; + print ''; + print ''; print ''; @@ -502,6 +528,16 @@ if ($resql) print ""; print ""; print ''; + //Country + print ''; + //Type ent + print ''; // Creation date print ''; // Level diff --git a/htdocs/comm/remise.php b/htdocs/comm/remise.php index 6d0d1dedb2a..ea9e1382d40 100644 --- a/htdocs/comm/remise.php +++ b/htdocs/comm/remise.php @@ -124,7 +124,7 @@ if ($socid > 0) print '
'; diff --git a/htdocs/comm/prospect/list.php b/htdocs/comm/prospect/list.php index 5d795775eb4..b7a48331dd9 100644 --- a/htdocs/comm/prospect/list.php +++ b/htdocs/comm/prospect/list.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011 Philippe Grand - * Copyright (C) 2013 Florian Henry + * Copyright (C) 2013-2015 Florian Henry * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2015 Jean-François Ferry * Copyright (C) 2015 Raphaël Doursenaud @@ -32,6 +32,8 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/societe/class/client.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; $langs->load("propal"); $langs->load("companies"); @@ -53,6 +55,8 @@ $search_datec = GETPOST("search_datec"); $search_categ = GETPOST("search_categ",'int'); $search_status = GETPOST("search_status",'int'); $catid = GETPOST("catid",'int'); +$search_country = GETPOST("search_country",'int'); +$search_type_thirdparty = GETPOST("search_type_thirdparty",'int'); $sortfield = GETPOST("sortfield",'alpha'); $sortorder = GETPOST("sortorder",'alpha'); @@ -175,6 +179,8 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both $search_datec=""; $search_categ=""; $search_status=""; + $search_country=""; + $search_type_thirdparty=""; $search_array_options=array(); } @@ -211,6 +217,7 @@ if (empty($reshook)) $formother=new FormOther($db); $form=new Form($db); +$formcompany=new FormCompany($db); $prospectstatic=new Client($db); $prospectstatic->client=2; $prospectstatic->loadCacheOfProspStatus(); @@ -219,6 +226,8 @@ $sql = "SELECT s.rowid as socid, s.nom as name, s.name_alias, s.zip, s.town, s.d $sql.= " s.prefix_comm, s.fk_prospectlevel, s.fk_stcomm as stcomm_id,"; $sql.= " st.libelle as stcomm_label,"; $sql.= " d.nom as departement"; +$sql.= " ,s.fk_pays"; +$sql.= " ,typent.code as typent_code"; if ((!$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql .= ", sc.fk_soc, sc.fk_user"; // We need these fields in order to filter by sale (including the case where the user can only see his prospects) // Add fields for extrafields if (is_array($extrafields->attribute_list) && count($extrafields->attribute_list)) foreach ($extrafields->attribute_list as $key => $val) $sql.=",ef.".$key.' as options_'.$key; @@ -230,6 +239,8 @@ $sql .= " FROM ".MAIN_DB_PREFIX."c_stcomm as st"; $sql.= ", ".MAIN_DB_PREFIX."societe as s"; if (is_array($extrafields->attribute_list) && count($extrafields->attribute_list)) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_extrafields as ef on (s.rowid = ef.fk_object)"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_departements as d on (d.rowid = s.fk_departement)"; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as country on (country.rowid = s.fk_pays) "; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_typent as typent on (typent.id = s.fk_typent) "; if (! empty($search_categ) || ! empty($catid)) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_societe as cs ON s.rowid = cs.fk_soc"; // We need this table joined to the select in order to filter by categ if ((!$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale $sql.= " WHERE s.fk_stcomm = st.id"; @@ -250,6 +261,8 @@ if ($search_datec) $sql .= " AND s.datec LIKE '%".$db->escape($search_datec)." if ($search_status!='') $sql .= " AND s.status = ".$db->escape($search_status); // Insert levels filters if ($search_levels) $sql .= " AND s.fk_prospectlevel IN (".$search_levels.')'; +if ($search_country) $sql .= " AND s.fk_pays IN (".$search_country.')'; +if ($search_type_thirdparty) $sql .= " AND s.fk_typent IN (".$search_type_thirdparty.')'; // Insert sale filter if ($search_sale > 0) $sql .= " AND sc.fk_user = ".$db->escape($search_sale); if ($socname) @@ -304,7 +317,10 @@ if ($resql) llxHeader('',$langs->trans("ThirdParty"),$help_url); } - $param='&search_stcomm='.$search_stcomm.'&search_nom='.urlencode($search_nom).'&search_zipcode='.urlencode($search_zipcode).'&search_town='.urlencode($search_town); + $param='&search_stcomm='.$search_stcomm; + $param.='&search_nom='.urlencode($search_nom); + $param.='&search_zipcode='.urlencode($search_zipcode); + $param.='&search_town='.urlencode($search_town); // Store the status filter in the URL if (isSet($search_setstcomm)) { @@ -321,6 +337,8 @@ if ($resql) if ($search_categ != '') $param.='&search_categ='.urlencode($search_categ); if ($search_sale > 0) $param.='&search_sale='.$search_sale; if ($search_status != '') $param.='&search_status='.$search_status; + if ($search_country != '') $param.='&search_country='.$search_country; + if ($search_type_thirdparty != '') $param.='&search_type_thirdparty='.$search_type_thirdparty; foreach ($search_array_options as $key => $val) { $crit=$val; @@ -368,6 +386,8 @@ if ($resql) print_liste_field_titre($langs->trans("Zip"),$_SERVER["PHP_SELF"],"s.zip","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Town"),$_SERVER["PHP_SELF"],"s.town","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("State"),$_SERVER["PHP_SELF"],"s.fk_departement","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Country"),$_SERVER["PHP_SELF"],"country.code_iso","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("ThirdPartyType"),$_SERVER["PHP_SELF"],"typent.code","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DateCreation"),$_SERVER["PHP_SELF"],"s.datec","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("ProspectLevelShort"),$_SERVER["PHP_SELF"],"s.fk_prospectlevel","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("StatusProsp"),$_SERVER["PHP_SELF"],"s.fk_stcomm","",$param,'align="center"',$sortfield,$sortorder); @@ -406,6 +426,12 @@ if ($resql) print ''; print ''; print ''; + print $form->select_country($search_country,'search_country'); + print ''; + print $form->selectarray("search_type_thirdparty", $formcompany->typent_array(0), $search_type_thirdparty, 0, 0, 0, '', 0, 0, 0, (empty($conf->global->SOCIETE_SORT_ON_TYPEENT)?'ASC':$conf->global->SOCIETE_SORT_ON_TYPEENT)); + print ''; print ''; print '".$obj->zip."".$obj->town."'.$obj->departement.''; + $tmparray=getCountry($obj->fk_pays,'all'); + print $tmparray['label']; + print ''; + if (count($typenArray)==0) $typenArray = $formcompany->typent_array(1); + print $typenArray[$obj->typent_code]; + print ''.dol_print_date($db->jdate($obj->datec)).'
'; print '
'; - print_fiche_titre($langs->trans("NewRelativeDiscount"),'',''); + print load_fiche_titre($langs->trans("NewRelativeDiscount"),'',''); print ''; diff --git a/htdocs/comm/remx.php b/htdocs/comm/remx.php index 471232ef708..957f109268a 100644 --- a/htdocs/comm/remx.php +++ b/htdocs/comm/remx.php @@ -264,7 +264,7 @@ if ($socid > 0) print '
'; print '
'; - print_fiche_titre($langs->trans("NewGlobalDiscount"),'',''); + print load_fiche_titre($langs->trans("NewGlobalDiscount"),'',''); print ''; print ''; print '
'.$langs->trans("AmountHT").''; @@ -317,7 +317,7 @@ if ($socid > 0) $resql=$db->query($sql); if ($resql) { - print_titre($langs->trans("DiscountStillRemaining")); + print load_fiche_titre($langs->trans("DiscountStillRemaining")); print ''; print ''; print ''; // Need 120+ for format with AM/PM @@ -457,7 +457,7 @@ if ($socid > 0) if ($resql) $resql2=$db->query($sql2); if ($resql2) { - print_titre($langs->trans("DiscountAlreadyCounted")); + print load_fiche_titre($langs->trans("DiscountAlreadyCounted")); print '
'.$langs->trans("Date").'
'; print ''; print ''; // Need 120+ for format with AM/PM diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index bd76ec1646d..d5f3427b77c 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -36,6 +36,7 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formorder.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formmargin.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/modules/commande/modules_commande.php'; require_once DOL_DOCUMENT_ROOT . '/commande/class/commande.class.php'; require_once DOL_DOCUMENT_ROOT . '/comm/action/class/actioncomm.class.php'; @@ -129,7 +130,7 @@ if (empty($reshook)) if ($object->id > 0) { // Because createFromClone modifies the object, we must clone it so that we can restore it later - $orig = dol_clone($object); + $orig = clone $object; $result=$object->createFromClone($socid); if ($result > 0) @@ -1165,8 +1166,10 @@ if (empty($reshook)) - if (! $error && ! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->commande->creer) { - if ($action == 'addcontact') { + if (! $error && ! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->commande->creer) + { + if ($action == 'addcontact') + { if ($object->id > 0) { $contactid = (GETPOST('userid') ? GETPOST('userid') : GETPOST('contactid')); $result = $object->add_contact($contactid, GETPOST('type'), GETPOST('source')); @@ -1186,7 +1189,8 @@ if (empty($reshook)) } // bascule du statut d'un contact - else if ($action == 'swapstatut') { + else if ($action == 'swapstatut') + { if ($object->id > 0) { $result = $object->swapContactStatus(GETPOST('ligne')); } else { @@ -1195,7 +1199,8 @@ if (empty($reshook)) } // Efface un contact - else if ($action == 'deletecontact') { + else if ($action == 'deletecontact') + { $result = $object->delete_contact($lineid); if ($result >= 0) { @@ -1218,6 +1223,7 @@ llxHeader('', $langs->trans('Order'), 'EN:Customers_Orders|FR:Commandes_Clients| $form = new Form($db); $formfile = new FormFile($db); $formorder = new FormOrder($db); +$formmargin = new FormMargin($db); if (! empty($conf->projet->enabled)) { $formproject = new FormProjets($db); } /** @@ -1229,7 +1235,7 @@ if (! empty($conf->projet->enabled)) { $formproject = new FormProjets($db); } */ if ($action == 'create' && $user->rights->commande->creer) { - print_fiche_titre($langs->trans('CreateOrder'),'','title_commercial.png'); + print load_fiche_titre($langs->trans('CreateOrder'),'','title_commercial.png'); $soc = new Societe($db); if ($socid > 0) @@ -1288,8 +1294,8 @@ if ($action == 'create' && $user->rights->commande->creer) $datedelivery = (! empty($objectsrc->date_livraison) ? $objectsrc->date_livraison : ''); - $note_private = (! empty($objectsrc->note_private) ? $objectsrc->note_private : (! empty($objectsrc->note_private) ? $objectsrc->note_private : '')); - $note_public = (! empty($objectsrc->note_public) ? $objectsrc->note_public : ''); + $note_private = $object->getDefaultCreateValueFor('note_private', (! empty($objectsrc->note_private) ? $objectsrc->note_private : null)); + $note_public = $object->getDefaultCreateValueFor('note_public', (! empty($objectsrc->note_public) ? $objectsrc->note_public : null)); // Object source contacts list $srccontactslist = $objectsrc->liste_contact(- 1, 'external', 1); @@ -1307,6 +1313,9 @@ if ($action == 'create' && $user->rights->commande->creer) $remise_absolue = 0; $dateorder = empty($conf->global->MAIN_AUTOFILL_DATE_ORDER)?-1:''; $projectid = 0; + + $note_private = $object->getDefaultCreateValueFor('note_private'); + $note_public = $object->getDefaultCreateValueFor('note_public'); } $absolute_discount=$soc->getAvailableDiscounts(); @@ -1567,7 +1576,7 @@ if ($action == 'create' && $user->rights->commande->creer) // Show origin lines if (! empty($origin) && ! empty($originid) && is_object($objectsrc)) { $title = $langs->trans('ProductsAndServices'); - print_titre($title); + print load_fiche_titre($title); print '
'.$langs->trans("Date").'
'; @@ -2077,7 +2086,7 @@ if ($action == 'create' && $user->rights->commande->creer) // Margin Infos if (! empty($conf->margin->enabled)) { print ''; } else print ''; @@ -2369,7 +2378,7 @@ if ($action == 'create' && $user->rights->commande->creer) print '
'; print '
'; - print_fiche_titre($langs->trans('SendOrderByMail')); + print load_fiche_titre($langs->trans('SendOrderByMail')); dol_fiche_head(''); diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 4a037ba486a..a50e18fe0d4 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -51,26 +51,15 @@ class Commande extends CommonOrder */ protected $table_ref_field = 'ref'; - var $id; - /** * Client ID * @var int */ var $socid; - /** - * Client (loaded by fetch_client) - * @var Societe - */ - var $client; - - var $ref; var $ref_client; - var $ref_ext; var $ref_int; var $contactid; - var $fk_project; /** * Status of the order. Check the following constants: @@ -86,16 +75,12 @@ class Commande extends CommonOrder var $billed; // billed or not var $brouillon; - var $cond_reglement_id; var $cond_reglement_code; - var $fk_account; - var $mode_reglement_id; var $mode_reglement_code; var $availability_id; var $availability_code; var $demand_reason_id; var $demand_reason_code; - var $fk_delivery_address; var $address; var $date; // Date commande /** @@ -104,31 +89,15 @@ class Commande extends CommonOrder */ var $date_commande; var $date_livraison; // Date livraison souhaitee - var $shipping_method_id; var $fk_remise_except; var $remise_percent; - var $total_ht; // Total net of tax - var $total_ttc; // Total with tax - var $total_tva; // Total VAT - var $total_localtax1; // Total Local tax 1 - var $total_localtax2; // Total Local tax 2 var $remise_absolue; - var $modelpdf; var $info_bits; var $rang; var $special_code; var $source; // Origin of order - /** - * @deprecated - * @see note_private, note_public - */ - var $note; - var $note_private; - var $note_public; var $extraparams=array(); - var $origin; - var $origin_id; var $linked_objects=array(); var $user_author_id; @@ -138,11 +107,6 @@ class Commande extends CommonOrder */ var $lines = array(); - //Incorterms - var $fk_incoterms; - var $location_incoterms; - var $libelle_incoterms; //Used into tooltip - // Pour board var $nbtodo; var $nbtodolate; @@ -745,13 +709,13 @@ class Commande extends CommonOrder $sql.= " VALUES ('(PROV)',".$this->socid.", '".$this->db->idate($now)."', ".$user->id; $sql.= ", ".($this->fk_project>0?$this->fk_project:"null"); $sql.= ", '".$this->db->idate($date)."'"; - $sql.= ", ".($this->source>=0 && $this->source != '' ?$this->source:'null'); + $sql.= ", ".($this->source>=0 && $this->source != '' ?$this->db->escape($this->source):'null'); $sql.= ", '".$this->db->escape($this->note_private)."'"; $sql.= ", '".$this->db->escape($this->note_public)."'"; $sql.= ", ".($this->ref_ext?"'".$this->db->escape($this->ref_ext)."'":"null"); $sql.= ", ".($this->ref_client?"'".$this->db->escape($this->ref_client)."'":"null"); $sql.= ", ".($this->ref_int?"'".$this->db->escape($this->ref_int)."'":"null"); - $sql.= ", '".$this->modelpdf."'"; + $sql.= ", '".$this->db->escape($this->modelpdf)."'"; $sql.= ", ".($this->cond_reglement_id>0?"'".$this->cond_reglement_id."'":"null"); $sql.= ", ".($this->mode_reglement_id>0?"'".$this->mode_reglement_id."'":"null"); $sql.= ", ".($this->fk_account>0?$this->fk_account:'NULL'); @@ -760,8 +724,8 @@ class Commande extends CommonOrder $sql.= ", ".($this->date_livraison?"'".$this->db->idate($this->date_livraison)."'":"null"); $sql.= ", ".($this->fk_delivery_address>0?$this->fk_delivery_address:'NULL'); $sql.= ", ".($this->shipping_method_id>0?$this->shipping_method_id:'NULL'); - $sql.= ", ".($this->remise_absolue>0?$this->remise_absolue:'NULL'); - $sql.= ", ".($this->remise_percent>0?$this->remise_percent:0); + $sql.= ", ".($this->remise_absolue>0?$this->db->escape($this->remise_absolue):'NULL'); + $sql.= ", ".($this->remise_percent>0?$this->db->escape($this->remise_percent):0); $sql.= ", ".(int) $this->fk_incoterms; $sql.= ", '".$this->db->escape($this->location_incoterms)."'"; $sql.= ", ".$conf->entity; @@ -958,7 +922,7 @@ class Commande extends CommonOrder $line->fetch_optionals($line->rowid); // Load source object - $objFrom = dol_clone($this); + $objFrom = clone $this; // Change socid if needed if (! empty($socid) && $socid != $this->socid) @@ -2846,7 +2810,7 @@ class Commande extends CommonOrder $clause = " WHERE"; - $sql = "SELECT c.rowid, c.date_creation as datec, c.date_livraison as delivery_date, c.fk_statut"; + $sql = "SELECT c.rowid, c.date_creation as datec, c.date_commande, c.date_livraison as delivery_date, c.fk_statut"; $sql.= " FROM ".MAIN_DB_PREFIX."commande as c"; if (!$user->rights->societe->client->voir && !$user->societe_id) { @@ -2862,21 +2826,22 @@ class Commande extends CommonOrder $resql=$this->db->query($sql); if ($resql) { - $now=dol_now(); - $response = new WorkboardResponse(); $response->warning_delay=$conf->commande->client->warning_delay/60/60/24; $response->label=$langs->trans("OrdersToProcess"); $response->url=DOL_URL_ROOT.'/commande/list.php?viewstatut=-3'; $response->img=img_object($langs->trans("Orders"),"order"); + $generic_commande = new Commande($this->db); + while ($obj=$this->db->fetch_object($resql)) { - $response->nbtodo++; + $response->nbtodo++; - $date_to_test = empty($obj->delivery_date) ? $obj->datec : $obj->delivery_date; + $generic_commande->statut = $obj->fk_statut; + $generic_commande->date_livraison = $obj->delivery_date; - if ($obj->fk_statut != 3 && $this->db->jdate($date_to_test) < ($now - $conf->commande->client->warning_delay)) { + if ($generic_commande->hasDelay()) { $response->nbtodolate++; } } @@ -3341,6 +3306,24 @@ class Commande extends CommonOrder return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); } + + /** + * Is the customer order delayed? + * + * @return bool + */ + public function hasDelay() + { + global $conf; + + if (!($this->statut > Commande::STATUS_DRAFT) && ($this->statut < Commande::STATUS_CLOSED)) { + return false; + } + + $now = dol_now(); + + return max($this->date_commande, $this->date_livraison) < ($now - $conf->commande->client->warning_delay); + } } diff --git a/htdocs/commande/index.php b/htdocs/commande/index.php index 5baa7b7c30f..d6432a257ba 100644 --- a/htdocs/commande/index.php +++ b/htdocs/commande/index.php @@ -53,7 +53,7 @@ $help_url="EN:Module_Customers_Orders|FR:Module_Commandes_Clients|ES:Módulo_Ped llxHeader("",$langs->trans("Orders"),$help_url); -print_fiche_titre($langs->trans("OrdersArea")); +print load_fiche_titre($langs->trans("OrdersArea")); //print '
'; - $object->displayMarginInfos(); + $formmargin->displayMarginInfos($object); print '
'; //print ''; print ''; print ''; print '
'; diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 6af44d4a7d6..7b431ff1944 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -338,7 +338,7 @@ if ($resql) print ''; $liststatus=array('0'=>$langs->trans("StatusOrderDraftShort"), '1'=>$langs->trans("StatusOrderValidated"), '2'=>$langs->trans("StatusOrderSentShort"), '3'=>$langs->trans("StatusOrderToBill"), '4'=>$langs->trans("StatusOrderProcessed"), '-1'=>$langs->trans("StatusOrderCanceledShort")); - print $form->selectarray('viewstatut', $liststatus, $viewstatut, 1); + print $form->selectarray('viewstatut', $liststatus, $viewstatut, -4); print ''; print ''; @@ -357,9 +357,11 @@ if ($resql) $var=!$var; print '
'; - $generic_commande->id=$objp->rowid; $generic_commande->ref=$objp->ref; + $generic_commande->statut = $objp->fk_statut; + $generic_commande->date_commande = $db->jdate($objp->date_commande); + $generic_commande->date_livraison = $db->jdate($objp->date_delivery); $generic_commande->ref_client = $objp->ref_client; $generic_commande->total_ht = $objp->total_ht; $generic_commande->total_tva = $objp->total_tva; @@ -444,8 +446,9 @@ if ($resql) // warning late icon print ''; - if (($objp->fk_statut > 0) && ($objp->fk_statut < 3) && max($db->jdate($objp->date_commande),$db->jdate($objp->date_delivery)) < ($now - $conf->commande->client->warning_delay)) - print img_picto($langs->trans("Late"),"warning"); + if ($generic_commande->hasDelay()) { + print img_picto($langs->trans("Late"), "warning"); + } if(!empty($objp->note_private)) { print ' '; diff --git a/htdocs/commande/orderstoinvoice.php b/htdocs/commande/orderstoinvoice.php index cb3ede38f24..136ac6c1b89 100644 --- a/htdocs/commande/orderstoinvoice.php +++ b/htdocs/commande/orderstoinvoice.php @@ -370,7 +370,7 @@ if ($action == 'create' && !$error) $facturestatic=new Facture($db); llxHeader(); - print_fiche_titre($langs->trans('NewBill')); + print load_fiche_titre($langs->trans('NewBill')); $soc = new Societe($db); if ($socid) $res=$soc->fetch($socid); @@ -570,7 +570,7 @@ if (($action != 'create' && $action != 'add') || ($action == 'create' && $error) $title = $langs->trans('ListOfOrders'); $title.=' - '.$langs->trans('StatusOrderValidated').', '.$langs->trans("StatusOrderSent").', '.$langs->trans('StatusOrderToBill'); $num = $db->num_rows($resql); - print_fiche_titre($title); + print load_fiche_titre($title); $i = 0; $period=$html->select_date($date_start,'date_start',0,0,1,'',1,0,1).' - '.$html->select_date($date_end,'date_end',0,0,1,'',1,0,1); $periodely=$html->select_date($date_starty,'date_start_dely',0,0,1,'',1,0,1).' - '.$html->select_date($date_endy,'date_end_dely',0,0,1,'',1,0,1); @@ -640,6 +640,9 @@ if (($action != 'create' && $action != 'add') || ($action == 'create' && $error) $generic_commande->id=$objp->rowid; $generic_commande->ref=$objp->ref; + $generic_commande->statut = $objp->fk_statut; + $generic_commande->date_commande = $db->jdate($objp->date_commande); + $generic_commande->date_livraison = $db->jdate($objp->date_livraison); print ''; print ''; print ''; print '
'; @@ -647,7 +650,9 @@ if (($action != 'create' && $action != 'add') || ($action == 'create' && $error) print ''; - if (($objp->fk_statut > 0) && ($objp->fk_statut < 3) && $db->jdate($objp->date_valid) < ($now - $conf->commande->client->warning_delay)) print img_picto($langs->trans("Late"),"warning"); + if ($generic_commande->hasDelay()) { + print img_picto($langs->trans("Late"),"warning"); + } print ''; diff --git a/htdocs/commande/stats/index.php b/htdocs/commande/stats/index.php index ea781a4828f..c4d48d8f72e 100644 --- a/htdocs/commande/stats/index.php +++ b/htdocs/commande/stats/index.php @@ -77,7 +77,7 @@ if ($mode == 'supplier') $dir=$conf->fournisseur->dir_output.'/commande/temp'; } -print_fiche_titre($title,'','title_commercial.png'); +print load_fiche_titre($title,'','title_commercial.png'); dol_mkdir($dir); diff --git a/htdocs/commande/tpl/linkedobjectblock.tpl.php b/htdocs/commande/tpl/linkedobjectblock.tpl.php index a661013802d..bf399c250d9 100644 --- a/htdocs/commande/tpl/linkedobjectblock.tpl.php +++ b/htdocs/commande/tpl/linkedobjectblock.tpl.php @@ -30,7 +30,7 @@ $linkedObjectBlock = $GLOBALS['linkedObjectBlock']; $langs->load("orders"); echo '
'; -print_titre($langs->trans('RelatedCustomerOrders')); +print load_fiche_titre($langs->trans('RelatedCustomerOrders')); ?> diff --git a/htdocs/compta/bank/account.php b/htdocs/compta/bank/account.php index 10e9674ec8d..deed3b1b97a 100644 --- a/htdocs/compta/bank/account.php +++ b/htdocs/compta/bank/account.php @@ -469,7 +469,7 @@ if ($id > 0 || ! empty($ref)) // Form to add a transaction with no invoice if ($user->rights->banque->modifier && $action == 'addline') { - print_fiche_titre($langs->trans("AddBankRecordLong"),'',''); + print load_fiche_titre($langs->trans("AddBankRecordLong"),'',''); print '
'; print ''; diff --git a/htdocs/compta/bank/bilan.php b/htdocs/compta/bank/bilan.php index edfc84c23cc..7e44778b9bd 100644 --- a/htdocs/compta/bank/bilan.php +++ b/htdocs/compta/bank/bilan.php @@ -58,7 +58,7 @@ function valeur($sql) llxHeader(); -print_titre("Bilan"); +print load_fiche_titre("Bilan"); print '
'; print '
'; diff --git a/htdocs/compta/bank/budget.php b/htdocs/compta/bank/budget.php index f22ce342bf0..c35dec41e7d 100644 --- a/htdocs/compta/bank/budget.php +++ b/htdocs/compta/bank/budget.php @@ -44,7 +44,7 @@ $companystatic=new Societe($db); llxHeader(); // List movements bu category for bank transactions -print_fiche_titre($langs->trans("BankTransactionByCategories"), '', 'title_bank.png'); +print load_fiche_titre($langs->trans("BankTransactionByCategories"), '', 'title_bank.png'); print '
'; print ""; diff --git a/htdocs/compta/bank/card.php b/htdocs/compta/bank/card.php index c6c34d87129..063fee8ca78 100644 --- a/htdocs/compta/bank/card.php +++ b/htdocs/compta/bank/card.php @@ -243,7 +243,7 @@ if ($action == 'create') { $account=new Account($db); - print_fiche_titre($langs->trans("NewFinancialAccount"), '', 'title_bank.png'); + print load_fiche_titre($langs->trans("NewFinancialAccount"), '', 'title_bank.png'); if ($conf->use_javascript_ajax) { @@ -777,7 +777,7 @@ else $account = new Account($db); $account->fetch(GETPOST('id','int')); - print_fiche_titre($langs->trans("EditFinancialAccount"), '', 'title_bank.png'); + print load_fiche_titre($langs->trans("EditFinancialAccount"), '', 'title_bank.png'); if ($conf->use_javascript_ajax) { diff --git a/htdocs/compta/bank/categ.php b/htdocs/compta/bank/categ.php index 00755959ab9..1d9da7f9f59 100644 --- a/htdocs/compta/bank/categ.php +++ b/htdocs/compta/bank/categ.php @@ -108,7 +108,7 @@ if ($action == 'delete') llxHeader(); -print_fiche_titre($langs->trans("Rubriques"), '', 'title_bank.png'); +print load_fiche_titre($langs->trans("Rubriques"), '', 'title_bank.png'); print ''; print ''; diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index 887fc57f089..e8978310ca3 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -44,9 +44,7 @@ class Account extends CommonObject * @see id */ var $rowid; - var $id; - var $ref; var $label; //! 1=Compte courant/check/carte, 2=Compte liquide, 0=Compte épargne var $courant; @@ -75,10 +73,6 @@ class Account extends CommonObject var $state_code; var $state; - var $country_id; - var $country_code; - var $country; - var $type_lib=array(); var $account_number; @@ -1148,6 +1142,10 @@ class AccountLine extends CommonObject var $ref; var $datec; var $dateo; + + /** + * Value date + */ var $datev; var $amount; var $label; diff --git a/htdocs/compta/bank/document.php b/htdocs/compta/bank/document.php index 0b588fa64d0..2290edd8cc5 100644 --- a/htdocs/compta/bank/document.php +++ b/htdocs/compta/bank/document.php @@ -200,7 +200,7 @@ if ($id > 0 || !empty($ref)) { * Confirmation suppression fichier */ if ($action == 'delete') { - $ret = $form->form_confirm($_SERVER["PHP_SELF"] . '?id=' . $object->id . '&urlfile=' . urlencode($_GET["urlfile"]), + $ret = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id . '&urlfile=' . urlencode($_GET["urlfile"]), $langs->trans('DeleteFile'), $langs->trans('ConfirmDeleteFile'), 'confirm_deletefile', '', 0, 1); diff --git a/htdocs/compta/bank/index.php b/htdocs/compta/bank/index.php index ac175b5b7d7..46b382ed080 100644 --- a/htdocs/compta/bank/index.php +++ b/htdocs/compta/bank/index.php @@ -51,7 +51,7 @@ llxHeader('',$langs->trans('AccountsArea'),$help_url); $link=''; if ($statut == '') $link=''.$langs->trans("IncludeClosedAccount").''; if ($statut == 'all') $link=''.$langs->trans("OnlyOpenedAccount").''; -print_fiche_titre($langs->trans("AccountsArea"),$link, 'title_bank.png'); +print load_fiche_titre($langs->trans("AccountsArea"),$link, 'title_bank.png'); // On charge tableau des comptes financiers (ouverts par defaut) diff --git a/htdocs/compta/bank/ligne.php b/htdocs/compta/bank/ligne.php index 4186dae5561..45a87fea87c 100644 --- a/htdocs/compta/bank/ligne.php +++ b/htdocs/compta/bank/ligne.php @@ -553,7 +553,7 @@ if ($result) if ($acct->canBeConciliated() > 0) // Si compte rapprochable { print '
'."\n"; - print_fiche_titre($langs->trans("Reconciliation"), '', 'title_bank.png'); + print load_fiche_titre($langs->trans("Reconciliation"), '', 'title_bank.png'); print ''; print ''; print ''; diff --git a/htdocs/compta/bank/rappro.php b/htdocs/compta/bank/rappro.php index 8468bfbd5fb..aa9f043b2d5 100644 --- a/htdocs/compta/bank/rappro.php +++ b/htdocs/compta/bank/rappro.php @@ -182,7 +182,7 @@ if ($resql) $var=True; $num = $db->num_rows($resql); - print_fiche_titre($langs->trans("Reconciliation").': '.$acct->label.'', '', 'title_bank.png'); + print load_fiche_titre($langs->trans("Reconciliation").': '.$acct->label.'', '', 'title_bank.png'); print '
'; // Show last bank receipts diff --git a/htdocs/compta/bank/releve.php b/htdocs/compta/bank/releve.php index 73fd8df531a..9620b00098b 100644 --- a/htdocs/compta/bank/releve.php +++ b/htdocs/compta/bank/releve.php @@ -285,7 +285,7 @@ else $mesprevnext ="id\">".img_previous()."  "; $mesprevnext.= $langs->trans("AccountStatement")." $num"; $mesprevnext.="   id\">".img_next().""; - print_fiche_titre($langs->trans("AccountStatement").' '.$num.', '.$langs->trans("BankAccount").' : '.$object->getNomUrl(0),$mesprevnext, 'title_bank.png'); + print load_fiche_titre($langs->trans("AccountStatement").' '.$num.', '.$langs->trans("BankAccount").' : '.$object->getNomUrl(0),$mesprevnext, 'title_bank.png'); print '
'; print ""; diff --git a/htdocs/compta/bank/virement.php b/htdocs/compta/bank/virement.php index d81390a0205..3a64d0cc3d1 100644 --- a/htdocs/compta/bank/virement.php +++ b/htdocs/compta/bank/virement.php @@ -152,7 +152,7 @@ if($error) $amount = GETPOST('amount','int'); } -print_fiche_titre($langs->trans("BankTransfer"), '', 'title_bank.png'); +print load_fiche_titre($langs->trans("BankTransfer"), '', 'title_bank.png'); print $langs->trans("TransferDesc"); print "

"; diff --git a/htdocs/compta/charges/index.php b/htdocs/compta/charges/index.php index 45b10f2363c..69b95d16e03 100644 --- a/htdocs/compta/charges/index.php +++ b/htdocs/compta/charges/index.php @@ -75,7 +75,7 @@ if (GETPOST("mode") == 'sconly') $param='&mode=sconly'; if ($sortfield) $param.='&sortfield='.$sortfield; if ($sortorder) $param.='&sortorder='.$sortorder; -print_fiche_titre($title, ($year?"".img_previous()." ".$langs->trans("Year")." $year ".img_next()."":""), 'title_accountancy.png'); +print load_fiche_titre($title, ($year?"".img_previous()." ".$langs->trans("Year")." $year ".img_next()."":""), 'title_accountancy.png'); if ($year) $param.='&year='.$year; @@ -92,7 +92,7 @@ if ($conf->salaries->enabled) { $sal = new PaymentSalary($db); - print_fiche_titre($langs->trans("SalariesPayments").($year?' ('.$langs->trans("Year").' '.$year.')':''), '', ''); + print load_fiche_titre($langs->trans("SalariesPayments").($year?' ('.$langs->trans("Year").' '.$year.')':''), '', ''); $sql = "SELECT s.rowid, s.amount, s.label, s.datep as datep, s.datev as datev, s.datesp, s.dateep, s.salary, u.salary as current_salary"; $sql.= " FROM ".MAIN_DB_PREFIX."payment_salary as s, ".MAIN_DB_PREFIX."user as u"; @@ -172,7 +172,7 @@ if ($conf->tax->enabled) // Social contributions only if (GETPOST("mode") != 'sconly') { - print_fiche_titre($langs->trans("SocialContributionsPayments").($year?' ('.$langs->trans("Year").' '.$year.')':''), '', ''); + print load_fiche_titre($langs->trans("SocialContributionsPayments").($year?' ('.$langs->trans("Year").' '.$year.')':''), '', ''); } print '
'; @@ -286,7 +286,7 @@ if ($conf->tax->enabled) $tva = new Tva($db); - print_fiche_titre($langs->trans("VATPayments").($year?' ('.$langs->trans("Year").' '.$year.')':''), '', ''); + print load_fiche_titre($langs->trans("VATPayments").($year?' ('.$langs->trans("Year").' '.$year.')':''), '', ''); $sql = "SELECT pv.rowid, pv.amount, pv.label, pv.datev as dm"; $sql.= " FROM ".MAIN_DB_PREFIX."tva as pv"; @@ -386,7 +386,7 @@ while($j<$numlt) $tva = new Tva($db); - print_fiche_titre($langs->transcountry(($j==1?"LT1Payments":"LT2Payments"),$mysoc->country_code).($year?' ('.$langs->trans("Year").' '.$year.')':''), '', ''); + print load_fiche_titre($langs->transcountry(($j==1?"LT1Payments":"LT2Payments"),$mysoc->country_code).($year?' ('.$langs->trans("Year").' '.$year.')':''), '', ''); $sql = "SELECT pv.rowid, pv.amount, pv.label, pv.datev as dm, pv.datep as dp"; diff --git a/htdocs/compta/deplacement/card.php b/htdocs/compta/deplacement/card.php index 083aeb48986..d4858d5ab29 100644 --- a/htdocs/compta/deplacement/card.php +++ b/htdocs/compta/deplacement/card.php @@ -240,7 +240,7 @@ if ($action == 'create') //WYSIWYG Editor require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - print_fiche_titre($langs->trans("NewTrip")); + print load_fiche_titre($langs->trans("NewTrip")); $datec = dol_mktime(12, 0, 0, GETPOST('remonth','int'), GETPOST('reday','int'), GETPOST('reyear','int')); diff --git a/htdocs/compta/deplacement/class/deplacement.class.php b/htdocs/compta/deplacement/class/deplacement.class.php index f09875456c2..4b2dce9f14e 100644 --- a/htdocs/compta/deplacement/class/deplacement.class.php +++ b/htdocs/compta/deplacement/class/deplacement.class.php @@ -37,23 +37,13 @@ class Deplacement extends CommonObject public $fk_element = ''; protected $ismultientitymanaged = 0; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe - var $id; - var $datec; // Creation date var $dated; var $fk_user_author; var $fk_user; var $km; - /** - * @deprecated - * @see note_private, note_public - */ - var $note; // TODO deprecated - var $note_private; - var $note_public; var $socid; var $statut; // 0=draft, 1=validated - var $fk_project; var $extraparams=array(); var $statuts=array(); diff --git a/htdocs/compta/deplacement/index.php b/htdocs/compta/deplacement/index.php index b8920bb45a4..0d9d63e8bb2 100644 --- a/htdocs/compta/deplacement/index.php +++ b/htdocs/compta/deplacement/index.php @@ -91,7 +91,7 @@ if ($result) } -print_fiche_titre($langs->trans("ExpensesArea")); +print load_fiche_titre($langs->trans("ExpensesArea")); print '
'; diff --git a/htdocs/compta/deplacement/stats/index.php b/htdocs/compta/deplacement/stats/index.php index 0d0a32a877c..1d9f7b70201 100644 --- a/htdocs/compta/deplacement/stats/index.php +++ b/htdocs/compta/deplacement/stats/index.php @@ -78,7 +78,7 @@ llxHeader(); $title=$langs->trans("TripsAndExpensesStatistics"); $dir=$conf->deplacement->dir_temp; -print_fiche_titre($title, $mesg); +print load_fiche_titre($title, $mesg); dol_mkdir($dir); diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php index a4a3c8a1e83..e23f1f9414a 100644 --- a/htdocs/compta/facture.php +++ b/htdocs/compta/facture.php @@ -42,6 +42,7 @@ require_once DOL_DOCUMENT_ROOT . '/core/modules/facture/modules_facture.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/discount.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formmargin.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/invoice.lib.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/functions2.lib.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/date.lib.php'; @@ -923,7 +924,11 @@ if (empty($reshook)) $exp = new Expedition($db); $exp->fetch($object->origin_id); $exp->fetchObjectLinked(); - if (count($exp->linkedObjectsIds['commande']) > 0) $object->linked_objects['commande'] = $exp->linkedObjectsIds['commande'][0]; + if (count($exp->linkedObjectsIds['commande']) > 0) { + foreach ($exp->linkedObjectsIds['commande'] as $key => $value){ + $object->linked_objects['commande'] = $value; + } + } } if (is_array($_POST['other_linked_objects']) && ! empty($_POST['other_linked_objects'])) @@ -1718,61 +1723,7 @@ if (empty($reshook)) else setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), 'errors'); $action = ''; } - } - - include DOL_DOCUMENT_ROOT.'/core/actions_printing.inc.php'; - - if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->facture->creer) - { - if ($action == 'addcontact') - { - $result = $object->fetch($id); - - if ($result > 0 && $id > 0) { - $contactid = (GETPOST('userid') ? GETPOST('userid') : GETPOST('contactid')); - $result = $object->add_contact($contactid, $_POST["type"], $_POST["source"]); - } - - if ($result >= 0) { - header("Location: " . $_SERVER['PHP_SELF'] . "?id=" . $object->id); - exit(); - } else { - if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') { - $langs->load("errors"); - setEventMessage($langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType"), 'errors'); - } else { - setEventMessage($object->error, 'errors'); - } - } - } - - // bascule du statut d'un contact - else if ($action == 'swapstatut') - { - if ($object->fetch($id)) { - $result = $object->swapContactStatus(GETPOST('ligne')); - } else { - dol_print_error($db); - } - } - - // Efface un contact - else if ($action == 'deletecontact') - { - $object->fetch($id); - $result = $object->delete_contact($lineid); - - if ($result >= 0) { - header("Location: " . $_SERVER['PHP_SELF'] . "?id=" . $object->id); - exit(); - } else { - dol_print_error($db); - } - } - - - if ($action == 'update_extras') - { + } elseif ($action == 'update_extras') { // Fill array 'array_options' with data from add form $extralabels = $extrafields->fetch_name_optionals_label($object->table_element); $ret = $extrafields->setOptionalsFromPost($extralabels, $object, GETPOST('attribute')); @@ -1784,18 +1735,60 @@ if (empty($reshook)) $hookmanager->initHooks(array('invoicedao')); $parameters = array('id' => $object->id); $reshook = $hookmanager->executeHooks('insertExtraFields', $parameters, $object, $action); // Note that $action and $object may have been modified by - // some hooks + // some hooks if (empty($reshook)) { - $result = $object->insertExtraFields(); - if ($result < 0) { - $error ++; - } - } else if ($reshook < 0) + $result = $object->insertExtraFields(); + if ($result < 0) { $error ++; + } + } else if ($reshook < 0) + $error ++; + } + + if ($error) + $action = 'edit_extras'; + } + + include DOL_DOCUMENT_ROOT.'/core/actions_printing.inc.php'; + + if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB) && $user->rights->facture->creer) { + if ($action == 'addcontact') { + $result = $object->fetch($id); + + if ($result > 0 && $id > 0) { + $contactid = (GETPOST('userid') ? GETPOST('userid') : GETPOST('contactid')); + $result = $object->add_contact($contactid, $_POST["type"], $_POST["source"]); } - if ($error) - $action = 'edit_extras'; + if ($result >= 0) { + header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); + exit(); + } else { + if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') { + $langs->load("errors"); + setEventMessage($langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType"), 'errors'); + } else { + setEventMessage($object->error, 'errors'); + } + } + } // bascule du statut d'un contact + elseif ($action == 'swapstatut') { + if ($object->fetch($id)) { + $result = $object->swapContactStatus(GETPOST('ligne')); + } else { + dol_print_error($db); + } + } // Efface un contact + elseif ($action == 'deletecontact') { + $object->fetch($id); + $result = $object->delete_contact($lineid); + + if ($result >= 0) { + header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); + exit(); + } else { + dol_print_error($db); + } } } } @@ -1808,6 +1801,7 @@ if (empty($reshook)) $form = new Form($db); $formother = new FormOther($db); $formfile = new FormFile($db); +$formmargin = new FormMargin($this->db); $bankaccountstatic = new Account($db); if (! empty($conf->projet->enabled)) { $formproject = new FormProjets($db); } @@ -1830,7 +1824,7 @@ if ($action == 'create') $facturestatic = new Facture($db); $extralabels = $extrafields->fetch_name_optionals_label($facturestatic->table_element); - print_fiche_titre($langs->trans('NewBill')); + print load_fiche_titre($langs->trans('NewBill')); $soc = new Societe($db); if ($socid > 0) @@ -2182,9 +2176,9 @@ if ($action == 'create') $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceAvoirDesc"), 1, 'help', '', 0, 3); print $desc; - print '
'; - print '    0 ? 'checked':'').' /> "; - print '
    0 ? 'checked':'').' /> "; + print '
'; + print '    0 ? 'checked':'').' /> "; + print '
    0 ? 'checked':'').' /> "; print '
'; print '
'; @@ -2293,11 +2287,7 @@ if ($action == 'create') print '
'; print ''; print ''; print ''; print '
' . $langs->trans('NotePublic') . ''; - $note_public = ''; - if (is_object($objectsrc)) // Take value from source object - { - $note_public = $objectsrc->note_public; - } + $note_public = $object->getDefaultCreateValueFor('note_public', (is_object($objectsrc)?$objectsrc->note_public:null)); $doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); print $doleditor->Create(1); @@ -2307,11 +2297,7 @@ if ($action == 'create') print '
' . $langs->trans('NotePrivate') . ''; - $note_private = ''; - if (! empty($origin) && ! empty($originid) && is_object($objectsrc)) // Take value from source object - { - $note_private = $objectsrc->note_private; - } + $note_private = $object->getDefaultCreateValueFor('note_private', ((! empty($origin) && ! empty($originid) && is_object($objectsrc))?$objectsrc->note_private:null)); $doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); print $doleditor->Create(1); // print ' @@ -2451,7 +2437,7 @@ if ($action == 'create') print '
'; $title = $langs->trans('ProductsAndServices'); - print_titre($title); + print load_fiche_titre($title); print ''; @@ -3182,7 +3168,7 @@ else if ($id > 0 || ! empty($ref)) if (! empty($conf->margin->enabled)) { print '
'; - $object->displayMarginInfos($object->statut > 0); + $formmargin->displayMarginInfos($object, $object->statut > 0); } print ''; @@ -3223,8 +3209,9 @@ else if ($id > 0 || ! empty($ref)) $form->form_date($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->date_lim_reglement, 'paymentterm'); } else { print dol_print_date($object->date_lim_reglement, 'daytext'); - if ($object->date_lim_reglement < ($now - $conf->facture->client->warning_delay) && ! $object->paye && $object->statut == 1 && ! isset($object->am)) + if ($object->hasDelay()) { print img_warning($langs->trans('Late')); + } } } else { print ' '; @@ -3819,7 +3806,7 @@ else if ($id > 0 || ! empty($ref)) print '
'; print '
'; - print_fiche_titre($langs->trans($titreform)); + print load_fiche_titre($langs->trans($titreform)); // Cree l'objet formulaire mail dol_fiche_head(); diff --git a/htdocs/compta/facture/admin/facture_cust_extrafields.php b/htdocs/compta/facture/admin/facture_cust_extrafields.php index 58d4e46f8dd..fa2c3ba3a1e 100644 --- a/htdocs/compta/facture/admin/facture_cust_extrafields.php +++ b/htdocs/compta/facture/admin/facture_cust_extrafields.php @@ -65,7 +65,7 @@ $textobject=strtolower($langs->transnoentitiesnoconv("BillsCustomers")); llxHeader('',$langs->trans("BillsSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("BillsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("BillsSetup"),$linkback,'title_setup'); print '
'; $head = invoice_admin_prepare_head(); @@ -95,7 +95,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -110,7 +110,7 @@ if ($action == 'edit' && ! empty($attrname)) $langs->load("members"); print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/compta/facture/admin/facturedet_cust_extrafields.php b/htdocs/compta/facture/admin/facturedet_cust_extrafields.php index e69060aa3cf..50749f89ab1 100644 --- a/htdocs/compta/facture/admin/facturedet_cust_extrafields.php +++ b/htdocs/compta/facture/admin/facturedet_cust_extrafields.php @@ -66,7 +66,7 @@ $textobject=strtolower($langs->transnoentitiesnoconv("BillsCustomers")); llxHeader('',$langs->trans("BillsSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("BillsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("BillsSetup"),$linkback,'title_setup'); print '
'; $head = invoice_admin_prepare_head(); @@ -96,7 +96,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -109,7 +109,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/compta/facture/class/facture-rec.class.php b/htdocs/compta/facture/class/facture-rec.class.php index 7d0de20ce0b..204092b257a 100644 --- a/htdocs/compta/facture/class/facture-rec.class.php +++ b/htdocs/compta/facture/class/facture-rec.class.php @@ -42,35 +42,20 @@ class FactureRec extends Facture public $table_element_line='facturedet_rec'; public $fk_element='fk_facture'; - var $id; - - //! Id customer - var $socid; - //! Customer object (charging by fetch_client) - var $client; - var $number; - var $author; var $date; - var $ref; var $amount; var $remise; var $tva; var $total; - var $note_private; - var $note_public; var $db_table; var $propalid; - var $fk_project; var $rang; var $special_code; var $usenewprice=0; - var $lines=array(); - - /** * Constructor * diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 2d70166a49f..d9e0e198456 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -58,27 +58,15 @@ class Facture extends CommonInvoice */ protected $table_ref_field = 'facnumber'; - var $id; - //! Id client var $socid; - //! Objet societe client (to load with fetch_client method) - /** - * Customer - * @var Societe - */ - var $client; var $author; var $fk_user_author; var $fk_user_valid; - //! Invoice date - var $date; // Invoice date var $date_creation; // Creation date var $date_validation; // Validation date var $datem; - var $ref; var $ref_client; - var $ref_ext; var $ref_int; //Check constants for types var $type = self::TYPE_STANDARD; @@ -90,20 +78,7 @@ class Facture extends CommonInvoice var $total_tva=0; var $total_ttc=0; var $revenuestamp; - /** - * @deprecated - * @see note_private, note_public - */ - var $note; - var $note_private; - var $note_public; - /** - * Invoice status - * @var int - * @see Facture::STATUS_DRAFT, Facture::STATUS_VALIDATED, Facture::STATUS_PAID, Facture::STATUS_ABANDONED - */ - var $statut; //! Fermeture apres paiement partiel: discount_vat, badcustomer, abandon //! Fermeture alors que aucun paiement: replaced (si remplace), abandon var $close_code; @@ -113,18 +88,11 @@ class Facture extends CommonInvoice var $paye; //! id of source invoice if replacement invoice or credit note var $fk_facture_source; - var $origin; - var $origin_id; var $linked_objects=array(); - var $fk_project; var $date_lim_reglement; - var $cond_reglement_id; // Id in llx_c_paiement var $cond_reglement_code; // Code in llx_c_paiement - var $mode_reglement_id; // Id in llx_c_paiement var $mode_reglement_code; // Code in llx_c_paiement - var $fk_account; // Id of bank account var $fk_bank; // Field to store bank id to use when payment mode is withdraw - var $modelpdf; /** * @deprecated */ @@ -139,11 +107,6 @@ class Facture extends CommonInvoice var $fac_rec; - //Incoterms - var $fk_incoterms; - var $location_incoterms; - var $libelle_incoterms; //Used into tooltip - /** * @var int Situation cycle reference number */ @@ -159,64 +122,6 @@ class Facture extends CommonInvoice */ public $situation_final; - /** - * Standard invoice - */ - const TYPE_STANDARD = 0; - - /** - * Replacement invoice - */ - const TYPE_REPLACEMENT = 1; - - /** - * Credit note invoice - */ - const TYPE_CREDIT_NOTE = 2; - - /** - * Deposit invoice - */ - const TYPE_DEPOSIT = 3; - - /** - * Proforma invoice - */ - const TYPE_PROFORMA = 4; - - /** - * Situation invoice - */ - const TYPE_SITUATION = 5; - - /** - * Draft - */ - const STATUS_DRAFT = 0; - - /** - * Validated (need to be paid) - */ - const STATUS_VALIDATED = 1; - - /** - * Classified paid. - * If paid partially, $this->close_code can be: - * - CLOSECODE_DISCOUNTVAT - * - CLOSECODE_BADDEBT - * If paid completelly, this->close_code will be null - */ - const STATUS_CLOSED = 2; - - /** - * Classified abandoned and no payment done. - * $this->close_code can be: - * - CLOSECODE_BADDEBT - * - CLOSECODE_ABANDONED - * - CLOSECODE_REPLACED - */ - const STATUS_ABANDONED = 3; - const CLOSECODE_DISCOUNTVAT = 'discount_vat'; const CLOSECODE_BADDEBT = 'badcustomer'; const CLOSECODE_ABANDONED = 'abandon'; @@ -332,7 +237,7 @@ class Facture extends CommonInvoice $sql.= "'(PROV)'"; $sql.= ", ".$conf->entity; $sql.= ", ".($this->ref_ext?"'".$this->db->escape($this->ref_ext)."'":"null"); - $sql.= ", '".$this->type."'"; + $sql.= ", '".$this->db->escape($this->type)."'"; $sql.= ", '".$socid."'"; $sql.= ", '".$this->db->idate($now)."'"; $sql.= ", ".($this->remise_absolue>0?$this->remise_absolue:'NULL'); @@ -348,7 +253,7 @@ class Facture extends CommonInvoice $sql.= ", ".($this->fk_project?$this->fk_project:"null"); $sql.= ", ".$this->cond_reglement_id; $sql.= ", ".$this->mode_reglement_id; - $sql.= ", '".$this->db->idate($datelim)."', '".$this->modelpdf."'"; + $sql.= ", '".$this->db->idate($datelim)."', '".$this->db->escape($this->modelpdf)."'"; $sql.= ", ".($this->situation_cycle_ref?"'".$this->db->escape($this->situation_cycle_ref)."'":"null"); $sql.= ", ".($this->situation_counter?"'".$this->db->escape($this->situation_counter)."'":"null"); $sql.= ", ".($this->situation_final?$this->situation_final:0); @@ -701,7 +606,7 @@ class Facture extends CommonInvoice $line->fetch_optionals($line->rowid); // Load source object - $objFrom = dol_clone($this); + $objFrom = clone $this; @@ -2765,15 +2670,16 @@ class Facture extends CommonInvoice $numref = ""; $numref = $obj->getNextValue($soc,$this,$mode); - if ($numref != "") - { - return $numref; - } - else - { + /** + * $numref can be empty in case we ask for the last value because if there is no invoice created with the + * set up mask. + */ + if ($mode != 'last' && !$numref) { dol_print_error($db,"Facture::getNextNumRef ".$obj->error); return ""; } + + return $numref; } else { @@ -3246,11 +3152,15 @@ class Facture extends CommonInvoice $response->url=DOL_URL_ROOT.'/compta/facture/list.php?search_status=1'; $response->img=img_object($langs->trans("Bills"),"bill"); + $generic_facture = new Facture($this->db); + while ($obj=$this->db->fetch_object($resql)) { + $generic_facture->date_lim_reglement = $this->db->jdate($obj->datefin); + $response->nbtodo++; - if ($this->db->jdate($obj->datefin) < ($now - $conf->facture->client->warning_delay)) { + if ($generic_facture->hasDelay()) { $response->nbtodolate++; } } @@ -3707,6 +3617,25 @@ class Facture extends CommonInvoice return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); } + + /** + * Is the customer invoice delayed? + * + * @return bool + */ + public function hasDelay() + { + global $conf; + + $now = dol_now(); + + //Paid invoices have status STATUS_CLOSED + if (!$this->statut != Facture::STATUS_VALIDATED) { + return false; + } + + return $this->date_lim_reglement < ($now - $conf->facture->client->warning_delay); + } } /** diff --git a/htdocs/compta/facture/fiche-rec.php b/htdocs/compta/facture/fiche-rec.php index 460c0bffcab..f01c288e29e 100644 --- a/htdocs/compta/facture/fiche-rec.php +++ b/htdocs/compta/facture/fiche-rec.php @@ -118,7 +118,7 @@ $companystatic = new Societe($db); */ if ($action == 'create') { - print_fiche_titre($langs->trans("CreateRepeatableInvoice"),'','title_accountancy.png'); + print load_fiche_titre($langs->trans("CreateRepeatableInvoice"),'','title_accountancy.png'); $object = new Facture($db); // Source invoice $product_static = new Product($db); @@ -191,7 +191,7 @@ if ($action == 'create') else if (empty($conf->product->enabled)) $title = $langs->trans("Services"); - print_titre($title); + print load_fiche_titre($title); /* * Invoice lines @@ -456,7 +456,7 @@ else else if (empty($conf->product->enabled)) $title = $langs->trans("Services"); - print_titre($title); + print load_fiche_titre($title); print '
'; print ''; diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index d88f72f171e..83066e21df6 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -3,7 +3,7 @@ * Copyright (C) 2004 Eric Seigne * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2010-2012 Juanjo Menent * Copyright (C) 2012 Christophe Battarel @@ -69,7 +69,7 @@ $search_refcustomer=GETPOST('search_refcustomer','alpha'); $search_societe=GETPOST('search_societe','alpha'); $search_montant_ht=GETPOST('search_montant_ht','alpha'); $search_montant_ttc=GETPOST('search_montant_ttc','alpha'); -$search_status=GETPOST('search_status','alpha'); +$search_status=GETPOST('search_status','int'); $sortfield = GETPOST("sortfield",'alpha'); $sortorder = GETPOST("sortorder",'alpha'); @@ -191,7 +191,7 @@ if ($search_refcustomer) $sql .= natural_search('f.ref_client', $search_refcusto if ($search_societe) $sql .= natural_search('s.nom', $search_societe); if ($search_montant_ht != '') $sql.= natural_search('f.total', $search_montant_ht, 1); if ($search_montant_ttc != '') $sql.= natural_search('f.total_ttc', $search_montant_ttc, 1); -if ($search_status != '') $sql.= " AND f.fk_statut = '".$db->escape($search_status)."'"; +if ($search_status != '') $sql.= " AND f.fk_statut = ".$db->escape($search_status); if ($month > 0) { if ($year > 0 && empty($day)) @@ -379,6 +379,8 @@ if ($resql) $facturestatic->id=$objp->facid; $facturestatic->ref=$objp->facnumber; $facturestatic->type=$objp->type; + $facturestatic->statut = $objp->fk_statut; + $facturestatic->date_lim_reglement = $db->jdate($objp->datelimite); $notetoshow=dol_string_nohtmltag(($user->societe_id>0?$objp->note_public:$objp->note),1); $paiement = $facturestatic->getSommePaiement(); @@ -418,7 +420,7 @@ if ($resql) // Date limit print '
'.dol_print_date($datelimit,'day'); - if ($datelimit < ($now - $conf->facture->client->warning_delay) && ! $objp->paye && $objp->fk_statut == 1 && ! $paiement) + if ($facturestatic->hasDelay()) { print img_warning($langs->trans('Late')); } diff --git a/htdocs/compta/facture/mergepdftool.php b/htdocs/compta/facture/mergepdftool.php index 5acca49d1b1..72276b77069 100644 --- a/htdocs/compta/facture/mergepdftool.php +++ b/htdocs/compta/facture/mergepdftool.php @@ -544,7 +544,7 @@ if ($resql) $param.=(! empty($option)?"&option=".$option:""); - print_fiche_titre($titre,$link); + print load_fiche_titre($titre,$link); //print_barre_liste($titre,$page,$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',0); // We don't want pagination on this page print ''; @@ -734,6 +734,8 @@ if ($resql) $facturestatic->id=$objp->facid; $facturestatic->ref=$objp->facnumber; $facturestatic->type=$objp->type; + $facturestatic->statut=$objp->fk_statut; + $facturestatic->date_lim_reglement= $db->jdate($objp->datelimite); print ''; @@ -744,7 +746,9 @@ if ($resql) // Warning picto print ''; // PDF Picto diff --git a/htdocs/compta/facture/prelevement.php b/htdocs/compta/facture/prelevement.php index be78b422fe6..78a93d7da0d 100644 --- a/htdocs/compta/facture/prelevement.php +++ b/htdocs/compta/facture/prelevement.php @@ -356,7 +356,9 @@ if ($object->id > 0) else { print dol_print_date($object->date_lim_reglement,'daytext'); - if ($object->date_lim_reglement < ($now - $conf->facture->client->warning_delay) && ! $object->paye && $object->statut == Facture::STATUS_VALIDATED && ! isset($object->am)) print img_warning($langs->trans('Late')); + if ($object->hasDelay()) { + print img_warning($langs->trans('Late')); + } } } else diff --git a/htdocs/compta/facture/stats/index.php b/htdocs/compta/facture/stats/index.php index f86fb1d975b..f61e92687f6 100644 --- a/htdocs/compta/facture/stats/index.php +++ b/htdocs/compta/facture/stats/index.php @@ -75,7 +75,7 @@ if ($mode == 'supplier') $dir=$conf->fournisseur->dir_output.'/facture/temp'; } -print_fiche_titre($title, $mesg, 'title_accountancy.png'); +print load_fiche_titre($title, $mesg, 'title_accountancy.png'); dol_mkdir($dir); diff --git a/htdocs/compta/facture/tpl/linkedobjectblock.tpl.php b/htdocs/compta/facture/tpl/linkedobjectblock.tpl.php index b295e72f19e..b0c28efe4c0 100644 --- a/htdocs/compta/facture/tpl/linkedobjectblock.tpl.php +++ b/htdocs/compta/facture/tpl/linkedobjectblock.tpl.php @@ -30,7 +30,7 @@ $linkedObjectBlock = $GLOBALS['linkedObjectBlock']; $langs->load("bills"); echo '
'; -print_titre($langs->trans("RelatedCustomerInvoices")); +print load_fiche_titre($langs->trans("RelatedCustomerInvoices")); ?>
'; - if ($date_limit < ($now - $conf->facture->client->warning_delay) && ! $objp->paye && $objp->fk_statut == 1) print img_warning($langs->trans("Late")); + if ($facturestatic->hasDelay()) { + print img_warning($langs->trans("Late")); + } print '
diff --git a/htdocs/compta/hrm.php b/htdocs/compta/hrm.php index 4e931ef2b9d..12b410e29af 100644 --- a/htdocs/compta/hrm.php +++ b/htdocs/compta/hrm.php @@ -67,7 +67,7 @@ $childids[]=$user->id; llxHeader(array(),$langs->trans('HRMArea')); -print_fiche_titre($langs->trans("HRMArea"),'', 'title_hrm.png'); +print load_fiche_titre($langs->trans("HRMArea"),'', 'title_hrm.png'); print '
'; diff --git a/htdocs/compta/index.php b/htdocs/compta/index.php index 5fb1d638a88..8dbd132297e 100644 --- a/htdocs/compta/index.php +++ b/htdocs/compta/index.php @@ -81,7 +81,7 @@ $thirdpartystatic = new Societe($db); llxHeader("",$langs->trans("AccountancyTreasuryArea")); -print_fiche_titre($langs->trans("AccountancyTreasuryArea"),'','title_accountancy.png'); +print load_fiche_titre($langs->trans("AccountancyTreasuryArea"),'','title_accountancy.png'); print '
'; @@ -359,11 +359,15 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) $facturestatic->total_ht=$obj->total_ht; $facturestatic->total_tva=$obj->total_tva; $facturestatic->total_ttc=$obj->total_ttc; + $facturestatic->statut = $obj->fk_statut; + $facturestatic->date_lim_reglement = $db->jdate($obj->datelimite); $facturestatic->type=$obj->type; print $facturestatic->getNomUrl(1,''); print ''; print '
'; print '
'; - if ($obj->fk_statut == 1 && ! $obj->paye && $db->jdate($obj->datelimite) < ($now - $conf->facture->client->warning_delay)) print img_warning($langs->trans("Late")); + if ($facturestatic->hasDelay()) { + print img_warning($langs->trans("Late")); + } print ''; $filename=dol_sanitizeFileName($obj->facnumber); @@ -777,6 +781,7 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) print ''; print ''; + print ''; if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''; print ''; print ''; @@ -801,10 +806,14 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) $facturestatic->total_tva=$obj->total_tva; $facturestatic->total_ttc=$obj->total_ttc; $facturestatic->type=$obj->type; + $facturestatic->statut = $obj->fk_statut; + $facturestatic->date_lim_reglement = $db->jdate($obj->datelimite); print $facturestatic->getNomUrl(1,''); print ''; print ''; print ''; + print ''; if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''; print ''; print ''; @@ -836,6 +846,7 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) } print ''; + print ''; if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''; print ''; print ''; @@ -844,7 +855,7 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) } else { - $colspan=5; + $colspan=6; if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) $colspan++; print ''; } @@ -865,6 +876,7 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture- $facstatic=new FactureFournisseur($db); $sql = "SELECT ff.rowid, ff.ref, ff.fk_statut, ff.libelle, ff.total_ht, ff.total_tva, ff.total_ttc, ff.paye"; + $sql.= ", ff.date_lim_reglement"; $sql.= ", s.nom as name"; $sql.= ", s.rowid as socid"; $sql.= ", s.code_client"; @@ -881,6 +893,7 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture- if ($socid) $sql.= " AND ff.fk_soc = ".$socid; $sql.= " GROUP BY ff.rowid, ff.ref, ff.fk_statut, ff.libelle, ff.total_ht, ff.tva, ff.total_tva, ff.total_ttc, ff.paye,"; $sql.= " s.nom, s.rowid, s.code_client, s.code_fournisseur"; + $sql.= " ORDER BY ff.date_lim_reglement ASC"; $resql=$db->query($sql); if ($resql) @@ -890,6 +903,7 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture- print '
'.$langs->trans("BillsCustomersUnpaid",$num).' '.$num.''.$langs->trans("DateDue").''.$langs->trans("AmountHT").''.$langs->trans("AmountTTC").''.$langs->trans("Received").''; - if ($db->jdate($obj->datelimite) < ($now - $conf->facture->client->warning_delay)) print img_warning($langs->trans("Late")); + if ($facturestatic->hasDelay()) { + print img_warning($langs->trans("Late")); + } print ''; $filename=dol_sanitizeFileName($obj->facnumber); @@ -822,6 +831,7 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) $societestatic->code_fournisseur = $obj->code_fournisseur; print $societestatic->getNomUrl(1,'customer',44); print ''.$obj->datelimite.''.price($obj->total_ht).''.price($obj->total_ttc).''.price($obj->am).'
'.$langs->trans("Total").'   ('.$langs->trans("RemainderToTake").': '.price($total_ttc-$totalam).')  '.price($total).''.price($total_ttc).''.price($totalam).'
'.$langs->trans("NoInvoice").'
'; print ''; + print ''; if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''; print ''; print ''; @@ -918,6 +932,7 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture- $societestatic->code_client = $obj->code_client; $societestatic->code_fournisseur = $obj->code_fournisseur; print ''; + print ''; if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''; print ''; print ''; @@ -931,6 +946,7 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture- } print ''; + print ''; if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''; print ''; print ''; @@ -939,7 +955,7 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture- } else { - $colspan=5; + $colspan=6; if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) $colspan++; print ''; } diff --git a/htdocs/compta/localtax/card.php b/htdocs/compta/localtax/card.php index 308bcac6dc9..579d80ea919 100644 --- a/htdocs/compta/localtax/card.php +++ b/htdocs/compta/localtax/card.php @@ -154,7 +154,7 @@ if ($_GET["action"] == 'create') print ''; print ''; - print_fiche_titre($langs->transcountry($lttype==2?"newLT2Payment":"newLT1Payment",$mysoc->country_code)); + print load_fiche_titre($langs->transcountry($lttype==2?"newLT2Payment":"newLT1Payment",$mysoc->country_code)); if ($mesg) print $mesg; diff --git a/htdocs/compta/localtax/class/localtax.class.php b/htdocs/compta/localtax/class/localtax.class.php index 04461117271..067c8dc9cbe 100644 --- a/htdocs/compta/localtax/class/localtax.class.php +++ b/htdocs/compta/localtax/class/localtax.class.php @@ -29,15 +29,12 @@ require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; */ class Localtax extends CommonObject { - var $id; - var $ref; var $ltt; var $tms; var $datep; var $datev; var $amount; var $label; - var $note; var $fk_bank; var $fk_user_creat; var $fk_user_modif; diff --git a/htdocs/compta/localtax/index.php b/htdocs/compta/localtax/index.php index 1e8570d7378..c3512fdcc1e 100644 --- a/htdocs/compta/localtax/index.php +++ b/htdocs/compta/localtax/index.php @@ -122,7 +122,7 @@ if($localTaxType==1) { $textprevyear="".img_previous().""; $textnextyear=" ".img_next().""; -print_fiche_titre($langs->transcountry($LT,$mysoc->country_code),"$textprevyear ".$langs->trans("Year")." $year_start $textnextyear"); +print load_fiche_titre($langs->transcountry($LT,$mysoc->country_code),"$textprevyear ".$langs->trans("Year")." $year_start $textnextyear"); print $langs->trans("LTReportBuildWithOptionDefinedInModule").'
'; print '('.$langs->trans("TaxModuleSetupToModifyRulesLT",DOL_URL_ROOT.'/admin/company.php').')
'; @@ -130,10 +130,10 @@ print '
'; print '
'.$langs->trans("BillsSuppliersUnpaid",$num).' '.$num.''.$langs->trans("DateDue").''.$langs->trans("AmountHT").''.$langs->trans("AmountTTC").''.$langs->trans("Paid").''.$societestatic->getNomUrl(1, 'supplier', 44).''.$obj->date_lim_reglement.''.price($obj->total_ht).''.price($obj->total_ttc).''.price($obj->am).'
'.$langs->trans("Total").'   ('.$langs->trans("RemainderToPay").': '.price($total_ttc-$totalam).')  '.price($total).''.price($total_ttc).''.price($totalam).'
'.$langs->trans("NoInvoice").'
'; print ''; print '
'; -print_titre($langs->transcountry($LTSummary,$mysoc->country_code)); +print load_fiche_titre($langs->transcountry($LTSummary,$mysoc->country_code)); print ' '; -print_titre($langs->transcountry($LTPaid,$mysoc->country_code)); +print load_fiche_titre($langs->transcountry($LTPaid,$mysoc->country_code)); print '
'; diff --git a/htdocs/compta/localtax/quadri_detail.php b/htdocs/compta/localtax/quadri_detail.php index 7396c625165..0e88980796b 100644 --- a/htdocs/compta/localtax/quadri_detail.php +++ b/htdocs/compta/localtax/quadri_detail.php @@ -116,7 +116,7 @@ $product_static=new Product($db); $payment_static=new Paiement($db); $paymentfourn_static=new PaiementFourn($db); -//print_fiche_titre($langs->trans("VAT"),""); +//print load_fiche_titre($langs->trans("VAT"),""); //$fsearch.='
'; $fsearch.=' '; diff --git a/htdocs/compta/localtax/reglement.php b/htdocs/compta/localtax/reglement.php index 6d8c1bc7a9c..bfe0cb828c0 100644 --- a/htdocs/compta/localtax/reglement.php +++ b/htdocs/compta/localtax/reglement.php @@ -41,7 +41,7 @@ llxHeader(); $localtax_static = new Localtax($db); -print_fiche_titre($langs->transcountry($ltt==2?"LT2Payments":"LT1Payments",$mysoc->country_code)); +print load_fiche_titre($langs->transcountry($ltt==2?"LT2Payments":"LT1Payments",$mysoc->country_code)); $sql = "SELECT rowid, amount, label, f.datev as dm"; $sql.= " FROM ".MAIN_DB_PREFIX."localtax as f "; diff --git a/htdocs/compta/paiement.php b/htdocs/compta/paiement.php index aaebcf697f3..5534468da35 100644 --- a/htdocs/compta/paiement.php +++ b/htdocs/compta/paiement.php @@ -277,7 +277,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie $title=''; if ($facture->type != 2) $title.=$langs->trans("EnterPaymentReceivedFromCustomer"); if ($facture->type == 2) $title.=$langs->trans("EnterPaymentDueToCustomer"); - print_fiche_titre($title); + print load_fiche_titre($title); // Initialize data for confirmation (this is used because data can be change during confirmation) if ($action == 'add_paiement') @@ -658,7 +658,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie $text.='
'.$langs->trans("AllCompletelyPayedInvoiceWillBeClosed"); print ''; } - $form->form_confirm($_SERVER['PHP_SELF'].'?facid='.$facture->id.'&socid='.$facture->socid.'&type='.$facture->type,$langs->trans('ReceivedCustomersPayments'),$text,'confirm_paiement',$formquestion,$preselectedchoice); + $form->formconfirm($_SERVER['PHP_SELF'].'?facid='.$facture->id.'&socid='.$facture->socid.'&type='.$facture->type,$langs->trans('ReceivedCustomersPayments'),$text,'confirm_paiement',$formquestion,$preselectedchoice); } print "\n"; diff --git a/htdocs/compta/paiement/card.php b/htdocs/compta/paiement/card.php index d0e15307be5..71d32404c94 100644 --- a/htdocs/compta/paiement/card.php +++ b/htdocs/compta/paiement/card.php @@ -201,27 +201,27 @@ if ($action == 'valide') print ''; // Ref -print ''; +print ''; // Date payment -print ''; // Payment type (VIR, LIQ, ...) $labeltype=$langs->trans("PaymentType".$object->type_code)!=("PaymentType".$object->type_code)?$langs->trans("PaymentType".$object->type_code):$object->type_libelle; -print ''; +print ''; // Payment numero -print ''; // Amount -print ''; +print ''; // Note -print ''; @@ -250,7 +250,8 @@ if (! empty($conf->banque->enabled)) print ''; print ''; - if($object->type_code == 'CHQ' && $bankline->fk_bordereau > 0) { + if ($object->type_code == 'CHQ' && $bankline->fk_bordereau > 0) + { dol_include_once('/compta/paiement/cheque/class/remisecheque.class.php'); $bordereau = new RemiseCheque($db); $bordereau->fetch($bankline->fk_bordereau); diff --git a/htdocs/compta/paiement/cheque/card.php b/htdocs/compta/paiement/cheque/card.php index e53aec7bfea..bf6ed4f807a 100644 --- a/htdocs/compta/paiement/cheque/card.php +++ b/htdocs/compta/paiement/cheque/card.php @@ -227,16 +227,18 @@ if ($action == 'confirm_reject_check' && $confirm == 'yes' && $user->rights->ban $rejected_check = GETPOST('bankid'); $object->fetch($id); - $paiement_id = $object->reject_check($rejected_check, $reject_date); + $paiement_id = $object->rejectCheck($rejected_check, $reject_date); if ($paiement_id > 0) { setEventMessage($langs->trans("CheckRejectedAndInvoicesReopened")); - header("Location: ".DOL_URL_ROOT.'/compta/paiement/card.php?id='.$paiement_id); - exit; + //header("Location: ".DOL_URL_ROOT.'/compta/paiement/card.php?id='.$paiement_id); + //exit; + $action=''; } else { - setEventMessage($object->error, 'errors'); + setEventMessages($object->error, $object->errors, 'errors'); + $action=''; } } @@ -310,7 +312,7 @@ if ($action == 'new') $hselected = $h; $h++; - print_fiche_titre($langs->trans("Cheques")); + print load_fiche_titre($langs->trans("Cheques")); } else { @@ -367,6 +369,9 @@ $accounts = array(); if ($action == 'new') { + $paymentstatic=new Paiement($db); + $accountlinestatic=new AccountLine($db); + $lines = array(); $now=dol_now(); @@ -402,9 +407,11 @@ if ($action == 'new') print ''; print '
'; - $sql = "SELECT ba.rowid as bid, b.datec as datec, b.dateo as date, b.rowid as chqid, "; - $sql.= " b.amount, ba.label, b.emetteur, b.num_chq, b.banque"; + $sql = "SELECT ba.rowid as bid, b.datec as datec, b.dateo as date, b.rowid as transactionid, "; + $sql.= " b.amount, ba.label, b.emetteur, b.num_chq, b.banque,"; + $sql.= " p.rowid as paymentid"; $sql.= " FROM ".MAIN_DB_PREFIX."bank as b"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiement as p ON p.fk_bank = b.rowid"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank_account as ba ON (b.fk_account = ba.rowid)"; $sql.= " WHERE b.fk_type = 'CHQ'"; $sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; @@ -426,7 +433,8 @@ if ($action == 'new') $lines[$obj->bid][$i]["emetteur"] = $obj->emetteur; $lines[$obj->bid][$i]["numero"] = $obj->num_chq; $lines[$obj->bid][$i]["banque"] = $obj->banque; - $lines[$obj->bid][$i]["id"] = $obj->chqid; + $lines[$obj->bid][$i]["id"] = $obj->transactionid; + $lines[$obj->bid][$i]["paymentid"] = $obj->paymentid; $i++; } @@ -469,6 +477,8 @@ if ($action == 'new') print '\n"; print '\n"; print '\n"; + print '\n"; + print '\n"; print ''; @@ -491,7 +501,34 @@ if ($action == 'new') print '\n"; print '\n"; print '\n"; - print ''; + print ''; + + // Link to payment + print ''; + // Link to bank transaction + print ''; + print '' ; @@ -644,6 +681,7 @@ else print '
'.$langs->trans('Ref').''.$object->id.'
'.$langs->trans('Ref').''.$object->id.'
'.$form->editfieldkey("Date",'datep',$object->date,$object,$user->rights->facture->paiement).''; +print '
'.$form->editfieldkey("Date",'datep',$object->date,$object,$user->rights->facture->paiement).''; print $form->editfieldval("Date",'datep',$object->date,$object,$user->rights->facture->paiement,'datepicker','',null,$langs->trans('PaymentDateUpdateSucceeded')); print '
'.$langs->trans('PaymentMode').''.$labeltype.'
'.$langs->trans('PaymentMode').''.$labeltype.'
'.$form->editfieldkey("Numero",'num_paiement',$object->numero,$object,$object->statut == 0 && $user->rights->fournisseur->facture->creer).''; +print '
'.$form->editfieldkey("Numero",'num_paiement',$object->numero,$object,$object->statut == 0 && $user->rights->fournisseur->facture->creer).''; print $form->editfieldval("Numero",'num_paiement',$object->numero,$object,$object->statut == 0 && $user->rights->fournisseur->facture->creer,'string','',null,$langs->trans('PaymentNumberUpdateSucceeded')); print '
'.$langs->trans('Amount').''.price($object->montant,'',$langs,0,0,-1,$conf->currency).'
'.$langs->trans('Amount').''.price($object->montant,'',$langs,0,0,-1,$conf->currency).'
'.$form->editfieldkey("Note",'note',$object->note,$object,$user->rights->facture->paiement).''; +print '
'.$form->editfieldkey("Note",'note',$object->note,$object,$user->rights->facture->paiement).''; print $form->editfieldval("Note",'note',$object->note,$object,$user->rights->facture->paiement,'textarea'); print '
'.$langs->trans("CheckTransmitter")."'.$langs->trans("Bank")."'.$langs->trans("Amount")."'.$langs->trans("Payment")."'.$langs->trans("LineRecord")."'.$langs->trans("Select")."
"; if ($conf->use_javascript_ajax) print ''.$langs->trans("All").' / '.$langs->trans("None").''; print '
'.$value["numero"]."'.$value["emetteur"]."'.$value["banque"]."'.price($value["amount"]).''.price($value["amount"], 0, $langs, 1, -1, -1, $conf->currency).''; + $paymentstatic->id=$value["paymentid"]; + $paymentstatic->ref=$value["paymentid"]; + if ($paymentstatic->id) + { + print $paymentstatic->getNomUrl(1); + } + else + { + print ' '; + } + print ''; + $accountlinestatic->rowid=$value["id"]; + if ($accountlinestatic->rowid) + { + print $accountlinestatic->getNomUrl(1); + } + else + { + print ' '; + } + print ''; print ''; print '
'; $param="&id=".$object->id; + print ''; print_liste_field_titre($langs->trans("Cheques"),'','','','','width="30"'); print_liste_field_titre($langs->trans("DateChequeReceived"),$_SERVER["PHP_SELF"],"b.dateo,b.rowid", "",$param,'align="center"',$sortfield,$sortorder); @@ -651,8 +689,9 @@ else print_liste_field_titre($langs->trans("CheckTransmitter"),$_SERVER["PHP_SELF"],"b.emetteur", "",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Bank"),$_SERVER["PHP_SELF"],"b.banque", "",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"b.amount", "",$param,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("LineRecord"),$_SERVER["PHP_SELF"],"b.rowid", "",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Payment"),$_SERVER["PHP_SELF"],"p.rowid", "",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("LineRecord"),$_SERVER["PHP_SELF"],"b.rowid", "",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre(''); print "\n"; $i=1; $var=false; @@ -670,17 +709,7 @@ else print ''; print ''; print ''; - print ''; + // Link to payment print ''; + // Link to bank transaction + print ''; + // Action button + print ''; + print 'rowid.'">'.img_delete().''; } - else if($objp->statut == 2) { - print ''; + if ($object->statut == 1 && $objp->statut != 2) + { + print 'rowid.'">'.img_picto($langs->trans("RejectCheck"),'disable').''; + } + if ($objp->statut == 2) + { + print '   '.img_picto($langs->trans('CheckRejected'),'statut8').''; } + print ''; print ''; $var=!$var; $i++; diff --git a/htdocs/compta/paiement/cheque/class/remisecheque.class.php b/htdocs/compta/paiement/cheque/class/remisecheque.class.php index df401f4c35d..e70993bcaed 100644 --- a/htdocs/compta/paiement/cheque/class/remisecheque.class.php +++ b/htdocs/compta/paiement/cheque/class/remisecheque.class.php @@ -36,14 +36,18 @@ class RemiseCheque extends CommonObject public $element='chequereceipt'; public $table_element='bordereau_cheque'; - var $id; var $num; var $intitule; - var $ref_ext; //! Numero d'erreur Plage 1024-1279 var $errno; - public $statut; + public $amount; + public $date_bordereau; + public $account_id; + public $account_label; + public $author_id; + public $nbcheque; + public $number; /** * Constructor @@ -661,23 +665,38 @@ class RemiseCheque extends CommonObject } /** - * Check rejection management - * Reopen linked invoices and saves a new negative payment + * Check return management + * Reopen linked invoices and create a new negative payment. * - * @param int $bank_id Id of bank line concerned - * @param date $rejection_date Date to use on the negative payment - * @return int + * @param int $bank_id Id of bank transaction line concerned + * @param date $rejection_date Date to use on the negative payment + * @return int Id of negative payment line created */ - function reject_check($bank_id, $rejection_date) + function rejectCheck($bank_id, $rejection_date) { global $db, $user; $payment = new Paiement($db); $payment->fetch(0,0,$bank_id); + $bankline = new AccountLine($db); + $bankline->fetch($bank_id); + + /* Conciliation is allowed because when check is returned, a new line is created onto bank transaction log. + if ($bankline->rappro) + { + $this->error='ActionRefusedLineAlreadyConciliated'; + return -1; + }*/ + + $this->db->begin(); + + // Not conciliated, we can delete it + //$bankline->delete($user); // We delete + $bankaccount = $payment->fk_account; - // Get invoice list to reopen them + // Get invoices list to reopen them $sql = 'SELECT pf.fk_facture, pf.amount'; $sql.= ' FROM '.MAIN_DB_PREFIX.'paiement_facture as pf'; $sql.= ' WHERE pf.fk_paiement = '.$payment->id; @@ -700,27 +719,45 @@ class RemiseCheque extends CommonObject $rejectedPayment->amounts[$obj->fk_facture] = price2num($obj->amount) * -1; } - if ($rejectedPayment->create($user) > 0) + $result = $rejectedPayment->create($user); + if ($result > 0) { - $result=$rejectedPayment->addPaymentToBank($user,'payment','(CheckRejected)',$bankaccount,'',''); + // We created a negative payment, we also add the line as bank transaction + $result=$rejectedPayment->addPaymentToBank($user,'payment','(CheckRejected)',$bankaccount,'',''); if ($result > 0) { - $payment->reject(); - return $rejectedPayment->id; + $result = $payment->reject(); + if ($result > 0) + { + $this->db->commit(); + return $rejectedPayment->id; + } + else + { + $this->db->rollback(); + return -1; + } } else { + $this->error = $rejectedPayment->error; + $this->errors = $rejectedPayment->errors; + $this->db->rollback(); return -1; } } else { + $this->error = $rejectedPayment->error; + $this->errors = $rejectedPayment->errors; + $this->db->rollback(); return -1; } } else { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); + $this->db->rollback(); return -1; } } diff --git a/htdocs/compta/paiement/cheque/index.php b/htdocs/compta/paiement/cheque/index.php index 362493b7f19..ebe9f6e8461 100644 --- a/htdocs/compta/paiement/cheque/index.php +++ b/htdocs/compta/paiement/cheque/index.php @@ -47,7 +47,7 @@ $accountstatic=new Account($db); llxHeader('',$langs->trans("ChequesArea")); -print_fiche_titre($langs->trans("ChequesArea")); +print load_fiche_titre($langs->trans("ChequesArea")); //print '
'.dol_trunc($objp->emetteur,24).''.dol_trunc($objp->banque,24).''.price($objp->amount).''; - $accountlinestatic->rowid=$objp->rowid; - if ($accountlinestatic->rowid) - { - print $accountlinestatic->getNomUrl(1); - } - else - { - print ' '; - } - print ''; $paymentstatic->id=$objp->pid; $paymentstatic->ref=$objp->pid; @@ -693,14 +722,33 @@ else print ' '; } print ''; + $accountlinestatic->rowid=$objp->rowid; + if ($accountlinestatic->rowid) + { + print $accountlinestatic->getNomUrl(1); + } + else + { + print ' '; + } + print ''; if ($object->statut == 0) { - print 'rowid.'">'.img_delete().''; - print 'rowid.'">'.img_picto($langs->trans("RejectCheck"),'disable').''.img_picto($langs->trans('CheckRejected'),'statut8').'
'; //print '
'; diff --git a/htdocs/compta/paiement/cheque/list.php b/htdocs/compta/paiement/cheque/list.php index 8f1e4cbb0ef..d44aef51dce 100644 --- a/htdocs/compta/paiement/cheque/list.php +++ b/htdocs/compta/paiement/cheque/list.php @@ -120,7 +120,7 @@ if ($resql) print ''; print ''; print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"bc.number","",$params,"",$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"dp","",$params,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("DateCreation"),$_SERVER["PHP_SELF"],"dp","",$params,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Account"),$_SERVER["PHP_SELF"],"ba.label","",$params,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("NbOfCheques"),$_SERVER["PHP_SELF"],"bc.nbcheque","",$params,'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"bc.amount","",$params,'align="right"',$sortfield,$sortorder); @@ -164,7 +164,7 @@ if ($resql) print ''; // Date - print ''; + print ''; // TODO Use date hour // Bank print '
'.dol_print_date($db->jdate($objp->dp),'day').''.dol_print_date($db->jdate($objp->dp),'day').''; diff --git a/htdocs/compta/paiement/class/paiement.class.php b/htdocs/compta/paiement/class/paiement.class.php index e45d0936bcc..7e92a608c52 100644 --- a/htdocs/compta/paiement/class/paiement.class.php +++ b/htdocs/compta/paiement/class/paiement.class.php @@ -36,8 +36,6 @@ class Paiement extends CommonObject public $element='payment'; public $table_element='paiement'; - var $id; - var $ref; var $facid; var $datepaye; /** @@ -59,8 +57,6 @@ class Paiement extends CommonObject var $num_paiement; // Numero du CHQ, VIR, etc... var $bank_account; // Id compte bancaire du paiement var $bank_line; // Id de la ligne d'ecriture bancaire - var $fk_account; // Id of bank account - var $note; // fk_paiement dans llx_paiement est l'id du type de paiement (7 pour CHQ, ...) // fk_paiement dans llx_paiement_facture est le rowid du paiement @@ -697,9 +693,11 @@ class Paiement extends CommonObject } } - /* - * \brief Information sur l'objet - * \param id id du paiement dont il faut afficher les infos + /** + * Information sur l'objet + * + * @param int $id id du paiement dont il faut afficher les infos + * @return void */ function info($id) { diff --git a/htdocs/compta/paiement/index.php b/htdocs/compta/paiement/index.php index 89a57fdc79f..8575db70288 100644 --- a/htdocs/compta/paiement/index.php +++ b/htdocs/compta/paiement/index.php @@ -29,7 +29,7 @@ if (!$user->admin && $user->societe_id > 0) llxHeader(); -print_fiche_titre("Payments"); +print load_fiche_titre("Payments"); diff --git a/htdocs/compta/paiement/rapport.php b/htdocs/compta/paiement/rapport.php index 142ea7b5a4a..8f23036f6af 100644 --- a/htdocs/compta/paiement/rapport.php +++ b/htdocs/compta/paiement/rapport.php @@ -88,7 +88,7 @@ $formother=new FormOther($db); llxHeader(); $titre=($year?$langs->trans("PaymentsReportsForYear",$year):$langs->trans("PaymentsReports")); -print_fiche_titre($titre,'','title_accountancy.png'); +print load_fiche_titre($titre,'','title_accountancy.png'); // Formulaire de generation print '
'; diff --git a/htdocs/compta/paiement_charge.php b/htdocs/compta/paiement_charge.php index 173226f6ab5..30a3d17ab3f 100644 --- a/htdocs/compta/paiement_charge.php +++ b/htdocs/compta/paiement_charge.php @@ -162,7 +162,7 @@ if ($_GET["action"] == 'create') $total = $charge->amount; - print_fiche_titre($langs->trans("DoPayment")); + print load_fiche_titre($langs->trans("DoPayment")); print "
\n"; if ($mesg) diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index 3f813e00938..38f83c5ac54 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -37,8 +37,6 @@ require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; */ class BonPrelevement extends CommonObject { - var $db; - var $date_echeance; var $raison_sociale; var $reference_remise; diff --git a/htdocs/compta/prelevement/create.php b/htdocs/compta/prelevement/create.php index 64ec4ad1895..7e81e181d11 100644 --- a/htdocs/compta/prelevement/create.php +++ b/htdocs/compta/prelevement/create.php @@ -106,7 +106,7 @@ $h++; dol_fiche_head($head, $hselected, $langs->trans("StandingOrders"), 0, 'payment'); */ -print_fiche_titre($langs->trans("NewStandingOrder")); +print load_fiche_titre($langs->trans("NewStandingOrder")); dol_fiche_head(); @@ -183,7 +183,7 @@ if ($resql) $num = $db->num_rows($resql); $i = 0; - print_fiche_titre($langs->trans("InvoiceWaitingWithdraw").($num > 0?' ('.$num.')':''),'',''); + print load_fiche_titre($langs->trans("InvoiceWaitingWithdraw").($num > 0?' ('.$num.')':''),'',''); print ''; print ''; @@ -248,7 +248,7 @@ else */ $limit=5; -print_fiche_titre($langs->trans("LastWithdrawalReceipts",$limit),'',''); +print load_fiche_titre($langs->trans("LastWithdrawalReceipts",$limit),'',''); $sql = "SELECT p.rowid, p.ref, p.amount, p.statut"; $sql.= ", p.datec"; diff --git a/htdocs/compta/prelevement/fiche-stat.php b/htdocs/compta/prelevement/fiche-stat.php index 0e9174ef034..83de06bc13c 100644 --- a/htdocs/compta/prelevement/fiche-stat.php +++ b/htdocs/compta/prelevement/fiche-stat.php @@ -120,7 +120,7 @@ if ($prev_id) $num = $db->num_rows($resql); $i = 0; - print_fiche_titre($langs->trans("StatisticsByLineStatus"),'',''); + print load_fiche_titre($langs->trans("StatisticsByLineStatus"),'',''); print"\n\n"; print '
'; diff --git a/htdocs/compta/prelevement/index.php b/htdocs/compta/prelevement/index.php index 36e4ed71341..7c700dfeabb 100644 --- a/htdocs/compta/prelevement/index.php +++ b/htdocs/compta/prelevement/index.php @@ -64,7 +64,7 @@ if (prelevement_check_config() < 0) print ''; } -print_fiche_titre($langs->trans("CustomersStandingOrdersArea")); +print load_fiche_titre($langs->trans("CustomersStandingOrdersArea")); print '
'; diff --git a/htdocs/compta/prelevement/stats.php b/htdocs/compta/prelevement/stats.php index c3667f8b69f..5e20815469c 100644 --- a/htdocs/compta/prelevement/stats.php +++ b/htdocs/compta/prelevement/stats.php @@ -45,7 +45,7 @@ $result = restrictedArea($user, 'prelevement','','','bons'); llxHeader('',$langs->trans("WithdrawStatistics")); -print_fiche_titre($langs->trans("Statistics")); +print load_fiche_titre($langs->trans("Statistics")); // Define total and nbtotal $sql = "SELECT sum(pl.amount), count(pl.amount)"; @@ -73,7 +73,7 @@ if ($resql) */ print '
'; -print_titre($langs->trans("WithdrawStatistics")); +print load_fiche_titre($langs->trans("WithdrawStatistics")); $ligne=new LignePrelevement($db,$user); @@ -143,7 +143,7 @@ else * */ print '
'; -print_titre($langs->trans("WithdrawRejectStatistics")); +print load_fiche_titre($langs->trans("WithdrawRejectStatistics")); // Define total and nbtotal diff --git a/htdocs/compta/recap-compta.php b/htdocs/compta/recap-compta.php index 19ac5705ef1..cfcd0a6f746 100644 --- a/htdocs/compta/recap-compta.php +++ b/htdocs/compta/recap-compta.php @@ -84,7 +84,7 @@ if ($socid > 0) if (! empty($conf->facture->enabled) && $user->rights->facture->lire) { // Factures - print_fiche_titre($langs->trans("CustomerPreview")); + print load_fiche_titre($langs->trans("CustomerPreview")); print '
'; diff --git a/htdocs/compta/salaries/card.php b/htdocs/compta/salaries/card.php index f96531b059c..04fc8db5b28 100644 --- a/htdocs/compta/salaries/card.php +++ b/htdocs/compta/salaries/card.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011-2015 Alexandre Spangaro * Copyright (C) 2014 Laurent Destailleur * Copyright (C) 2015 Jean-François Ferry * Copyright (C) 2015 Charlie BENKE @@ -83,7 +83,7 @@ if ($action == 'add' && $_POST["cancel"] <> $langs->trans("Cancel")) $object->note=GETPOST("note"); $object->type_payment=GETPOST("paymenttype"); $object->num_payment=GETPOST("num_payment"); - $object->fk_user_creat=$user->id; + $object->fk_user_author=$user->id; // Set user current salary as ref salaray for the payment $fuser=new User($db); @@ -225,52 +225,52 @@ if ($action == 'create') print ''; print ''; - print_fiche_titre($langs->trans("NewSalaryPayment"),'', 'title_accountancy.png'); + print load_fiche_titre($langs->trans("NewSalaryPayment"),'', 'title_accountancy.png'); dol_fiche_head('', ''); print '
'; print ""; - print ''; - print ''; // Employee print ""; - print ''; // Label - print ''; + print ''; print ""; - print ''; - print ''; // Amount - print ''; + print ''; // Bank if (! empty($conf->banque->enabled)) { - print ''; } // Type payment - print '\n"; print ""; @@ -278,9 +278,10 @@ if ($action == 'create') if (! empty($conf->banque->enabled)) { // Number - print ''."\n"; + print ''; + print ''."\n"; } // Other attributes @@ -314,7 +315,6 @@ if ($id) dol_fiche_head($head, 'card', $langs->trans("SalaryPayment"), 0, 'payment'); - print '
'.$langs->trans("DatePayment").''; + print ''; print $form->select_date((empty($datep)?-1:$datep),"datep",'','','','add',1,1); print '
'.$langs->trans("DateValue").''; + print '
'; print $form->select_date((empty($datev)?-1:$datev),"datev",'','','','add',1,1); print '
'.$langs->trans("Employee").''; + print ''; print $form->select_dolusers(GETPOST('fk_user','int'),'fk_user',1); print '
'.$langs->trans("Label").'trans("SalaryPayment")).'">
trans("SalaryPayment")).'">
'.$langs->trans("DateStartPeriod").''; + print ''; print $form->select_date($datesp,"datesp",'','','','add'); print '
'.$langs->trans("DateEndPeriod").''; + print '
'; print $form->select_date($dateep,"dateep",'','','','add'); print '
'.$langs->trans("Amount").'
'.$langs->trans("Account").''; + print '
'; $form->select_comptes($_POST["accountid"],"accountid",0,'',1); // Affiche liste des comptes courant print '
'.$langs->trans("PaymentMode").''; + print '
'; $form->select_types_paiements(GETPOST("paymenttype"), "paymenttype"); print "
'.$langs->trans('Numero'); + print '
'; print ""; diff --git a/htdocs/compta/salaries/class/paymentsalary.class.php b/htdocs/compta/salaries/class/paymentsalary.class.php index cc0029620cb..a4bee09d7de 100644 --- a/htdocs/compta/salaries/class/paymentsalary.class.php +++ b/htdocs/compta/salaries/class/paymentsalary.class.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011-2015 Alexandre Spangaro * Copyright (C) 2014 Juanjo Menent * * This program is free software; you can redistribute it and/or modify @@ -34,9 +34,6 @@ class PaymentSalary extends CommonObject //public $element='payment_salary'; //!< Id that identify managed objects //public $table_element='payment_salary'; //!< Name of table without prefix where object is stored - var $id; - var $ref; - var $tms; var $fk_user; var $datep; @@ -47,9 +44,8 @@ class PaymentSalary extends CommonObject var $label; var $datesp; var $dateep; - var $note; var $fk_bank; - var $fk_user_creat; + var $fk_user_author; var $fk_user_modif; @@ -85,7 +81,7 @@ class PaymentSalary extends CommonObject $this->label=trim($this->label); $this->note=trim($this->note); $this->fk_bank=trim($this->fk_bank); - $this->fk_user_creat=trim($this->fk_user_creat); + $this->fk_user_author=trim($this->fk_user_author); $this->fk_user_modif=trim($this->fk_user_modif); // Check parameters @@ -112,7 +108,7 @@ class PaymentSalary extends CommonObject $sql.= " dateep=".$this->db->idate($this->dateep).","; $sql.= " note='".$this->db->escape($this->note)."',"; $sql.= " fk_bank=".($this->fk_bank > 0 ? "'".$this->fk_bank."'":"null").","; - $sql.= " fk_user_creat='".$this->fk_user_creat."',"; + $sql.= " fk_user_author='".$this->fk_user_author."',"; $sql.= " fk_user_modif='".$this->fk_user_modif."'"; $sql.= " WHERE rowid=".$this->id; @@ -171,7 +167,7 @@ class PaymentSalary extends CommonObject $sql.= " s.dateep,"; $sql.= " s.note,"; $sql.= " s.fk_bank,"; - $sql.= " s.fk_user_creat,"; + $sql.= " s.fk_user_author,"; $sql.= " s.fk_user_modif,"; $sql.= " b.fk_account,"; $sql.= " b.fk_type,"; @@ -203,7 +199,7 @@ class PaymentSalary extends CommonObject $this->dateep = $this->db->jdate($obj->dateep); $this->note = $obj->note; $this->fk_bank = $obj->fk_bank; - $this->fk_user_creat = $obj->fk_user_creat; + $this->fk_user_author = $obj->fk_user_author; $this->fk_user_modif = $obj->fk_user_modif; $this->fk_account = $obj->fk_account; $this->fk_type = $obj->fk_type; @@ -275,7 +271,7 @@ class PaymentSalary extends CommonObject $this->dateep=''; $this->note=''; $this->fk_bank=''; - $this->fk_user_creat=''; + $this->fk_user_author=''; $this->fk_user_modif=''; } @@ -290,13 +286,14 @@ class PaymentSalary extends CommonObject global $conf,$langs; $error=0; + $now=dol_now(); // Clean parameters $this->amount=price2num(trim($this->amount)); $this->label=trim($this->label); $this->note=trim($this->note); $this->fk_bank=trim($this->fk_bank); - $this->fk_user_creat=trim($this->fk_user_creat); + $this->fk_user_author=trim($this->fk_user_author); $this->fk_user_modif=trim($this->fk_user_modif); // Check parameters @@ -340,7 +337,8 @@ class PaymentSalary extends CommonObject $sql.= ", label"; $sql.= ", datesp"; $sql.= ", dateep"; - $sql.= ", fk_user_creat"; + $sql.= ", fk_user_author"; + $sql.= ", datec"; $sql.= ", fk_bank"; $sql.= ", entity"; $sql.= ") "; @@ -357,6 +355,7 @@ class PaymentSalary extends CommonObject $sql.= ", '".$this->db->idate($this->datesp)."'"; $sql.= ", '".$this->db->idate($this->dateep)."'"; $sql.= ", '".$user->id."'"; + $sql.= ", '".$this->db->idate($now)."'"; $sql.= ", NULL"; $sql.= ", ".$conf->entity; $sql.= ")"; @@ -511,4 +510,41 @@ class PaymentSalary extends CommonObject return $result; } + /** + * Information on record + * + * @param int $id Id of record + * @return void + */ + function info($id) + { + $sql = 'SELECT ps.rowid, ps.datec, ps.fk_user_author'; + $sql.= ' FROM '.MAIN_DB_PREFIX.'payment_salary as ps'; + $sql.= ' WHERE ps.rowid = '.$id; + + dol_syslog(get_class($this).'::info', LOG_DEBUG); + $result = $this->db->query($sql); + + if ($result) + { + if ($this->db->num_rows($result)) + { + $obj = $this->db->fetch_object($result); + $this->id = $obj->rowid; + if ($obj->fk_user_author) + { + $cuser = new User($this->db); + $cuser->fetch($obj->fk_user_author); + $this->user_creation = $cuser; + } + $this->date_creation = $this->db->jdate($obj->datec); + } + $this->db->free($result); + } + else + { + dol_print_error($this->db); + } + } + } diff --git a/htdocs/compta/sociales/charges.php b/htdocs/compta/sociales/charges.php index 7be1360287c..29606fa6a9a 100644 --- a/htdocs/compta/sociales/charges.php +++ b/htdocs/compta/sociales/charges.php @@ -232,7 +232,7 @@ llxHeader("",$langs->trans("SocialContribution"),$help_url); // Mode creation if ($action == 'create') { - print_fiche_titre($langs->trans("NewSocialContribution")); + print load_fiche_titre($langs->trans("NewSocialContribution")); $var=false; diff --git a/htdocs/compta/sociales/class/chargesociales.class.php b/htdocs/compta/sociales/class/chargesociales.class.php index dc70126ab9e..7712fd09029 100644 --- a/htdocs/compta/sociales/class/chargesociales.class.php +++ b/htdocs/compta/sociales/class/chargesociales.class.php @@ -39,8 +39,6 @@ class ChargeSociales extends CommonObject */ protected $table_ref_field = 'ref'; - var $id; - var $ref; var $date_ech; var $lib; var $type; diff --git a/htdocs/compta/sociales/class/paymentsocialcontribution.class.php b/htdocs/compta/sociales/class/paymentsocialcontribution.class.php index ade44bff415..e3bf17b3418 100644 --- a/htdocs/compta/sociales/class/paymentsocialcontribution.class.php +++ b/htdocs/compta/sociales/class/paymentsocialcontribution.class.php @@ -33,9 +33,6 @@ class PaymentSocialContribution extends CommonObject public $element='paiementcharge'; //!< Id that identify managed objects public $table_element='paiementcharge'; //!< Name of table without prefix where object is stored - var $id; - var $ref; - var $fk_charge; var $datec=''; var $tms=''; @@ -49,7 +46,6 @@ class PaymentSocialContribution extends CommonObject var $amounts=array(); // Array of amounts var $fk_typepaiement; var $num_paiement; - var $note; var $fk_bank; var $fk_user_creat; var $fk_user_modif; diff --git a/htdocs/compta/sociales/index.php b/htdocs/compta/sociales/index.php index 3afbba0df79..639bf51fefd 100644 --- a/htdocs/compta/sociales/index.php +++ b/htdocs/compta/sociales/index.php @@ -136,7 +136,7 @@ if ($resql) if ($year) { - print_fiche_titre($langs->trans("SocialContributions"),($year?"".img_previous()." ".$langs->trans("Year")." $year ".img_next()."":"")); + print load_fiche_titre($langs->trans("SocialContributions"),($year?"".img_previous()." ".$langs->trans("Year")." $year ".img_next()."":"")); } else { diff --git a/htdocs/compta/tva/card.php b/htdocs/compta/tva/card.php index e5acabd4e19..688f88759c4 100644 --- a/htdocs/compta/tva/card.php +++ b/htdocs/compta/tva/card.php @@ -33,7 +33,9 @@ $langs->load("banks"); $langs->load("bills"); $id=GETPOST("id",'int'); -$action=GETPOST('action'); +$action=GETPOST("action","alpha"); +$refund=GETPOST("refund","int"); +if (empty($refund)) $refund=0; // Security check $socid = isset($_GET["socid"])?$_GET["socid"]:''; @@ -46,7 +48,6 @@ $tva = new Tva($db); $hookmanager->initHooks(array('taxvatcard','globalcard')); - /** * Actions */ @@ -69,7 +70,12 @@ if ($action == 'add' && $_POST["cancel"] <> $langs->trans("Cancel")) $tva->num_payment=GETPOST("num_payment"); $tva->datev=$datev; $tva->datep=$datep; - $tva->amount=GETPOST("amount"); + + $amount = GETPOST("amount"); + if ($refund == 1) { + $amount= -$amount; + } + $tva->amount= $amount; $tva->label=GETPOST("label"); $tva->note=GETPOST("note"); @@ -161,8 +167,8 @@ if ($action == 'delete') /* -* View -*/ + * View + */ llxHeader(); @@ -182,12 +188,46 @@ if ($id) // Formulaire saisie tva if ($action == 'create') { - print "\n"; + print load_fiche_titre($langs->trans("VAT") . ' - ' . $langs->trans("New")); + + if (! empty($conf->use_javascript_ajax)) + { + print "\n".''."\n"; + } + + print ''; print ''; print ''; - print_fiche_titre($langs->trans("NewVATPayment")); - + print '
'; + print '
'; + print $langs->trans("Type").':   '; + print '
'; + print ''; + print '   '; + print ''; + print '
'; + print "
\n"; + dol_fiche_head(); print '
'; @@ -202,7 +242,12 @@ if ($action == 'create') print ''; // Label - print ''; + if ($refund == 1) { + $label = $langs->trans("VATRefund"); + } else { + $label = $langs->trans("VATPayment"); + } + print ''; // Amount print ''; diff --git a/htdocs/compta/tva/class/tva.class.php b/htdocs/compta/tva/class/tva.class.php index a938087c689..d556a84a804 100644 --- a/htdocs/compta/tva/class/tva.class.php +++ b/htdocs/compta/tva/class/tva.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2008 Laurent Destailleur - * Copyright (C) 2011-2014 Alexandre Spangaro + * Copyright (C) 2011-2015 Alexandre Spangaro * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -35,9 +35,6 @@ class Tva extends CommonObject //public $element='tva'; //!< Id that identify managed objects //public $table_element='tva'; //!< Name of table without prefix where object is stored - var $id; - var $ref; - var $tms; var $datep; var $datev; @@ -45,7 +42,6 @@ class Tva extends CommonObject var $type_payment; var $num_payment; var $label; - var $note; var $fk_bank; var $fk_user_creat; var $fk_user_modif; @@ -508,7 +504,7 @@ class Tva extends CommonObject $this->error=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Label")); return -3; } - if ($this->amount < 0 || $this->amount == '') + if ($this->amount == '') { $this->error=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Amount")); return -4; @@ -577,8 +573,12 @@ class Tva extends CommonObject $result=$acc->fetch($this->accountid); if ($result <= 0) dol_print_error($this->db); - $bank_line_id = $acc->addline($this->datep, $this->type_payment, $this->label, -abs($this->amount), '', '', $user); - + if ($this->amount > 0) { + $bank_line_id = $acc->addline($this->datep, $this->type_payment, $this->label, -abs($this->amount), '', '', $user); + } else { + $bank_line_id = $acc->addline($this->datep, $this->type_payment, $this->label, abs($this->amount), '', '', $user); + } + // Update fk_bank into llx_tva. So we know vat line used to generate bank transaction if ($bank_line_id > 0) { diff --git a/htdocs/compta/tva/clients.php b/htdocs/compta/tva/clients.php index 0625dd4978d..b57b0d050d7 100644 --- a/htdocs/compta/tva/clients.php +++ b/htdocs/compta/tva/clients.php @@ -100,6 +100,10 @@ if ($user->societe_id) { } $result = restrictedArea($user, 'tax', '', '', 'charges'); +// Define modecompta ('CREANCES-DETTES' or 'RECETTES-DEPENSES') +$modecompta = $conf->global->ACCOUNTING_MODE; +if (GETPOST("modecompta")) $modecompta=GETPOST("modecompta"); + /* @@ -227,7 +231,7 @@ $vatsup=$langs->trans("VATPaid"); // VAT Received //print "
"; -//print_titre($vatcust); +//print load_fiche_titre($vatcust); print "
'.$langs->trans("Label").'trans("VATPayment")).'">
'.$langs->trans("Label").'
'.$langs->trans("Amount").'
"; print ""; @@ -292,7 +296,14 @@ if (is_array($coll_list)) { } else { $langs->load("errors"); if ($coll_list == -1) { - print ''; + if ($modecompta == 'CREANCES-DETTES') + { + print ''; + } + else + { + print ''; + } } else if ($coll_list == -2) { print ''; } else { @@ -306,7 +317,7 @@ if (is_array($coll_list)) { // VAT Paid //print "
"; -//print_titre($vatsup); +//print load_fiche_titre($vatsup); //print "
' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '
' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '
' . $langs->trans("FeatureNotYetAvailable") . '
' . $langs->trans("FeatureNotYetAvailable") . '
"; print ""; @@ -377,7 +388,14 @@ if (is_array($coll_list)) { } else { $langs->load("errors"); if ($coll_list == -1) { - print ''; + if ($modecompta == 'CREANCES-DETTES') + { + print ''; + } + else + { + print ''; + } } else if ($coll_list == -2) { print ''; } else { @@ -457,7 +475,14 @@ if ($special_report) { } else { $langs->load("errors"); if ($coll_list == -1) { - print ''; + if ($modecompta == 'CREANCES-DETTES') + { + print ''; + } + else + { + print ''; + } } else { if ($coll_list == -2) { print ''; @@ -530,7 +555,14 @@ if ($special_report) { } else { $langs->load("errors"); if ($coll_list == -1) { - print ''; + if ($modecompta == 'CREANCES-DETTES') + { + print ''; + } + else + { + print ''; + } } else { if ($coll_list == -2) { print ''; diff --git a/htdocs/compta/tva/index.php b/htdocs/compta/tva/index.php index c84c7d2b633..a5f45d0c72c 100644 --- a/htdocs/compta/tva/index.php +++ b/htdocs/compta/tva/index.php @@ -116,7 +116,7 @@ $tva = new Tva($db); $textprevyear="".img_previous().""; $textnextyear=" ".img_next().""; -print_fiche_titre($langs->trans("VAT"),"$textprevyear ".$langs->trans("Year")." $year_start $textnextyear"); +print load_fiche_titre($langs->trans("VAT"),"$textprevyear ".$langs->trans("Year")." $year_start $textnextyear"); print $langs->trans("VATReportBuildWithOptionDefinedInModule").'
'; print '('.$langs->trans("TaxModuleSetupToModifyRules",DOL_URL_ROOT.'/admin/taxes.php').')
'; @@ -124,12 +124,12 @@ print '
'; print '
' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '
' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '
' . $langs->trans("FeatureNotYetAvailable") . '
' . $langs->trans("FeatureNotYetAvailable") . '
' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '
' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '
' . $langs->trans("FeatureNotYetAvailable") . '
' . $langs->trans("FeatureNotYetAvailable") . '
' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '
' . $langs->trans("ErrorNoAccountancyModuleLoaded") . '
' . $langs->trans("FeatureNotYetAvailable") . '
' . $langs->trans("FeatureNotYetAvailable") . '
'; print ''; print '
'; -print_titre($langs->trans("VATSummary")); +print load_fiche_titre($langs->trans("VATSummary")); // The report mode is the one defined by defaut in tax module setup //print $modetax; //print '('.$langs->trans("SeeVATReportInInputOutputMode",'','').')'; print ''; -print_titre($langs->trans("VATPaid")); +print load_fiche_titre($langs->trans("VATPaid")); print '
'; diff --git a/htdocs/compta/tva/quadri.php b/htdocs/compta/tva/quadri.php index 3918b56c3bf..a8434a70868 100644 --- a/htdocs/compta/tva/quadri.php +++ b/htdocs/compta/tva/quadri.php @@ -190,12 +190,12 @@ llxHeader(); $textprevyear="".img_previous().""; $textnextyear=" ".img_next().""; -print_fiche_titre($langs->trans("VAT"),"$textprevyear ".$langs->trans("Year")." $year_start $textnextyear"); +print load_fiche_titre($langs->trans("VAT"),"$textprevyear ".$langs->trans("Year")." $year_start $textnextyear"); echo ''; echo ''; echo ''; diff --git a/htdocs/compta/tva/quadri_detail.php b/htdocs/compta/tva/quadri_detail.php index f551e92cb9d..cedc38a2143 100644 --- a/htdocs/compta/tva/quadri_detail.php +++ b/htdocs/compta/tva/quadri_detail.php @@ -115,7 +115,7 @@ $product_static=new Product($db); $payment_static=new Paiement($db); $paymentfourn_static=new PaiementFourn($db); -//print_fiche_titre($langs->trans("VAT"),""); +//print load_fiche_titre($langs->trans("VAT"),""); //$fsearch.='
'; $fsearch.=' '; diff --git a/htdocs/compta/tva/quarter_report.php b/htdocs/compta/tva/quarter_report.php index 09a6622147e..e906b65ed4f 100644 --- a/htdocs/compta/tva/quarter_report.php +++ b/htdocs/compta/tva/quarter_report.php @@ -135,7 +135,7 @@ $product_static=new Product($db); $payment_static=new Paiement($db); $paymentfourn_static=new PaiementFourn($db); -//print_fiche_titre($langs->trans("VAT"),""); +//print load_fiche_titre($langs->trans("VAT"),""); //$fsearch.='
'; $fsearch.=' '; diff --git a/htdocs/compta/ventilation/card.php b/htdocs/compta/ventilation/card.php index 7201dfe9e29..463f8884242 100644 --- a/htdocs/compta/ventilation/card.php +++ b/htdocs/compta/ventilation/card.php @@ -112,7 +112,7 @@ if($_GET["id"]) } - print_fiche_titre("Ventilation"); + print load_fiche_titre("Ventilation"); print '
'; -print_fiche_titre($langs->trans("VATSummary")); +print load_fiche_titre($langs->trans("VATSummary")); echo '
'; diff --git a/htdocs/compta/ventilation/fournisseur/card.php b/htdocs/compta/ventilation/fournisseur/card.php index d62694512fc..9c69b613697 100644 --- a/htdocs/compta/ventilation/fournisseur/card.php +++ b/htdocs/compta/ventilation/fournisseur/card.php @@ -101,7 +101,7 @@ if($_GET["id"]) } - print_titre("Ventilation"); + print load_fiche_titre("Ventilation"); print '
'; print ''; diff --git a/htdocs/contact/canvas/actions_contactcard_common.class.php b/htdocs/contact/canvas/actions_contactcard_common.class.php index ad628fd6574..7e43270a32c 100644 --- a/htdocs/contact/canvas/actions_contactcard_common.class.php +++ b/htdocs/contact/canvas/actions_contactcard_common.class.php @@ -207,7 +207,7 @@ abstract class ActionsContactCardCommon { $this->object->fetch($_POST["contactid"]); - $this->object->oldcopy=dol_clone($this->object); + $this->object->oldcopy = clone $this->object; $this->assign_post(); diff --git a/htdocs/contact/canvas/default/actions_contactcard_default.class.php b/htdocs/contact/canvas/default/actions_contactcard_default.class.php index 3bfcf347c3f..30a52469da2 100644 --- a/htdocs/contact/canvas/default/actions_contactcard_default.class.php +++ b/htdocs/contact/canvas/default/actions_contactcard_default.class.php @@ -29,12 +29,6 @@ include_once DOL_DOCUMENT_ROOT.'/contact/canvas/actions_contactcard_common.class */ class ActionsContactCardDefault extends ActionsContactCardCommon { - var $db; - var $dirmodule; - var $targetmodule; - var $canvas; - var $card; - /** * Constructor * diff --git a/htdocs/contact/canvas/default/tpl/contactcard_create.tpl.php b/htdocs/contact/canvas/default/tpl/contactcard_create.tpl.php index 70d6b41bf35..3fce45b848f 100644 --- a/htdocs/contact/canvas/default/tpl/contactcard_create.tpl.php +++ b/htdocs/contact/canvas/default/tpl/contactcard_create.tpl.php @@ -20,7 +20,7 @@ control->tpl['title']); +print load_fiche_titre($this->control->tpl['title']); dol_htmloutput_errors((is_numeric($object->error)?'':$object->error),$object->errors); diff --git a/htdocs/contact/canvas/default/tpl/contactcard_edit.tpl.php b/htdocs/contact/canvas/default/tpl/contactcard_edit.tpl.php index 3be1d16bc8d..c275902d384 100644 --- a/htdocs/contact/canvas/default/tpl/contactcard_edit.tpl.php +++ b/htdocs/contact/canvas/default/tpl/contactcard_edit.tpl.php @@ -23,7 +23,7 @@ $contact = $GLOBALS['objcanvas']->control->object; control->tpl['title']); +print load_fiche_titre($this->control->tpl['title']); dol_htmloutput_errors($this->control->tpl['error'],$this->control->tpl['errors']); diff --git a/htdocs/contact/card.php b/htdocs/contact/card.php index 9778d0c8a71..92d3913814f 100644 --- a/htdocs/contact/card.php +++ b/htdocs/contact/card.php @@ -289,7 +289,7 @@ if (empty($reshook)) $object->fetch($contactid); - $object->oldcopy=dol_clone($object); + $object->oldcopy = clone$object; $object->old_lastname = GETPOST("old_lastname"); $object->old_firstname = GETPOST("old_firstname"); @@ -443,7 +443,7 @@ else $title = $addcontact = (! empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans("AddContact") : $langs->trans("AddContactAddress")); $linkback=''; - print_fiche_titre($title,$linkback,'title_companies.png'); + print load_fiche_titre($title,$linkback,'title_companies.png'); // Affiche les erreurs dol_htmloutput_errors(is_numeric($error)?'':$error,$errors); @@ -626,7 +626,7 @@ else // Add personnal information - print_fiche_titre('
'.$langs->trans("PersonalInformations").'
','',''); + print load_fiche_titre('
'.$langs->trans("PersonalInformations").'
','',''); print '
Facture
'; diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index dc3c7fc3640..9673e1923ac 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -41,11 +41,7 @@ class Contact extends CommonObject public $table_element='socpeople'; protected $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe - var $id; - var $ref_ext; var $civility_id; // In fact we store civility_code - var $lastname; - var $firstname; var $address; var $zip; var $town; @@ -69,10 +65,6 @@ class Contact extends CommonObject var $state_code; // Code of department var $state; // Label of department - var $country_id; // Id of country - var $country_code; // Code of country - var $country; // Label of country - var $poste; // Position var $socid; // fk_soc @@ -91,13 +83,6 @@ class Contact extends CommonObject var $birthday; var $default_lang; - var $note_public; // Public note - /** - * @deprecated - * @see note_public, note_private - */ - var $note; - var $note_private; // Private note var $no_email; // 1=Don't send e-mail to this contact, 0=do var $ref_facturation; // Nb de reference facture pour lequel il est contact @@ -107,7 +92,6 @@ class Contact extends CommonObject var $user_id; var $user_login; - var $import_key; var $oldcopy; // To contains a clone of this when we need to save old properties of object @@ -168,9 +152,9 @@ class Contact extends CommonObject $sql.= " ".($user->id > 0 ? "'".$user->id."'":"null").","; $sql.= " ".$this->priv.","; $sql.= " ".$this->statut.","; - $sql.= " ".(! empty($this->canvas)?"'".$this->canvas."'":"null").","; + $sql.= " ".(! empty($this->canvas)?"'".$this->db->escape($this->canvas)."'":"null").","; $sql.= " ".$conf->entity.","; - $sql.= "'".$this->db->escape($this->ref_ext)."',"; + $sql.= "'".$this->db->escape($this->ref_ext)."',"; $sql.= " ".(! empty($this->import_key)?"'".$this->import_key."'":"null"); $sql.= ")"; diff --git a/htdocs/contact/ldap.php b/htdocs/contact/ldap.php index 187dea70def..9a8fde8e14f 100644 --- a/htdocs/contact/ldap.php +++ b/htdocs/contact/ldap.php @@ -156,7 +156,7 @@ if (! empty($conf->global->LDAP_CONTACT_ACTIVE) && $conf->global->LDAP_CONTACT_A // Affichage attributs LDAP -print_titre($langs->trans("LDAPInformationsForThisContact")); +print load_fiche_titre($langs->trans("LDAPInformationsForThisContact")); print '
'; diff --git a/htdocs/contrat/admin/contract_extrafields.php b/htdocs/contrat/admin/contract_extrafields.php index 29e060551de..9711379f458 100644 --- a/htdocs/contrat/admin/contract_extrafields.php +++ b/htdocs/contrat/admin/contract_extrafields.php @@ -67,7 +67,7 @@ $textobject = $langs->transnoentitiesnoconv('Contracts'); llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ContractsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("ContractsSetup"),$linkback,'title_setup'); print '
'; $head=contract_admin_prepare_head(); @@ -97,7 +97,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -110,7 +110,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/contrat/admin/contractdet_extrafields.php b/htdocs/contrat/admin/contractdet_extrafields.php index 283a400bc80..8014334c008 100644 --- a/htdocs/contrat/admin/contractdet_extrafields.php +++ b/htdocs/contrat/admin/contractdet_extrafields.php @@ -67,7 +67,7 @@ $textobject = $langs->transnoentitiesnoconv('Contracts'); llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ContractsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("ContractsSetup"),$linkback,'title_setup'); print '
'; $head=contract_admin_prepare_head(); @@ -97,7 +97,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
"; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -110,7 +110,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
"; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php index 429547ed602..5615eaf76a4 100644 --- a/htdocs/contrat/card.php +++ b/htdocs/contrat/card.php @@ -930,7 +930,7 @@ if ($result > 0) *********************************************************************/ if ($action == 'create') { - print_fiche_titre($langs->trans('AddContract'),'','title_commercial.png'); + print load_fiche_titre($langs->trans('AddContract'),'','title_commercial.png'); $soc = new Societe($db); if ($socid>0) $soc->fetch($socid); @@ -1599,7 +1599,7 @@ else 'text' => $langs->trans("ConfirmMoveToAnotherContractQuestion"), array('type' => 'select', 'name' => 'newcid', 'values' => $arraycontractid)); - $form->form_confirm($_SERVER["PHP_SELF"]."?id=".$object->id."&lineid=".GETPOST('rowid'),$langs->trans("MoveToAnotherContract"),$langs->trans("ConfirmMoveToAnotherContract"),"confirm_move",$formquestion); + $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id."&lineid=".GETPOST('rowid'),$langs->trans("MoveToAnotherContract"),$langs->trans("ConfirmMoveToAnotherContract"),"confirm_move",$formquestion); print '
'; } @@ -1611,7 +1611,7 @@ else $dateactstart = dol_mktime(12, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear')); $dateactend = dol_mktime(12, 0, 0, GETPOST('endmonth'), GETPOST('endday'), GETPOST('endyear')); $comment = GETPOST('comment'); - $form->form_confirm($_SERVER["PHP_SELF"]."?id=".$object->id."&ligne=".GETPOST('ligne')."&date=".$dateactstart."&dateend=".$dateactend."&comment=".urlencode($comment),$langs->trans("ActivateService"),$langs->trans("ConfirmActivateService",dol_print_date($dateactstart,"%A %d %B %Y")),"confirm_active", '', 0, 1); + $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id."&ligne=".GETPOST('ligne')."&date=".$dateactstart."&dateend=".$dateactend."&comment=".urlencode($comment),$langs->trans("ActivateService"),$langs->trans("ConfirmActivateService",dol_print_date($dateactstart,"%A %d %B %Y")),"confirm_active", '', 0, 1); print '
'; } @@ -1623,7 +1623,7 @@ else $dateactstart = dol_mktime(12, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear')); $dateactend = dol_mktime(12, 0, 0, GETPOST('endmonth'), GETPOST('endday'), GETPOST('endyear')); $comment = GETPOST('comment'); - $form->form_confirm($_SERVER["PHP_SELF"]."?id=".$object->id."&ligne=".GETPOST('ligne')."&date=".$dateactstart."&dateend=".$dateactend."&comment=".urlencode($comment), $langs->trans("CloseService"), $langs->trans("ConfirmCloseService",dol_print_date($dateactend,"%A %d %B %Y")), "confirm_closeline", '', 0, 1); + $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id."&ligne=".GETPOST('ligne')."&date=".$dateactstart."&dateend=".$dateactend."&comment=".urlencode($comment), $langs->trans("CloseService"), $langs->trans("ConfirmCloseService",dol_print_date($dateactend,"%A %d %B %Y")), "confirm_closeline", '', 0, 1); print '
'; } diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index eea23be7ae8..6fa4e5c46a8 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -50,25 +50,6 @@ class Contrat extends CommonObject */ protected $table_ref_field = 'ref'; - /** - * Id of the contract - * @var int - */ - var $id; - - /** - * Reference of the contract - * @var string - */ - var $ref; - - /** - * External reference of the contract. - * Used by 3rd party services - * @var string - */ - var $ref_ext; - /** * Supplier reference of the contract * @var string @@ -140,26 +121,12 @@ class Contrat extends CommonObject var $commercial_signature_id; var $commercial_suivi_id; - /** - * @var string Private note - */ - var $note_private; - - /** - * @var string Public note - */ - var $note_public; - - var $modelpdf; - /** * @deprecated Use fk_project instead * @see fk_project */ var $fk_projet; - public $fk_project; - var $extraparams=array(); /** diff --git a/htdocs/contrat/index.php b/htdocs/contrat/index.php index 56cdbe90ca3..3a7b5667db5 100644 --- a/htdocs/contrat/index.php +++ b/htdocs/contrat/index.php @@ -64,7 +64,7 @@ $now = dol_now(); llxHeader(); -print_fiche_titre($langs->trans("ContractsArea"),'','title_commercial.png'); +print load_fiche_titre($langs->trans("ContractsArea"),'','title_commercial.png'); //print ''; diff --git a/htdocs/contrat/tpl/linkedobjectblock.tpl.php b/htdocs/contrat/tpl/linkedobjectblock.tpl.php index 4daf5deef02..412d07cb726 100644 --- a/htdocs/contrat/tpl/linkedobjectblock.tpl.php +++ b/htdocs/contrat/tpl/linkedobjectblock.tpl.php @@ -26,7 +26,7 @@ $linkedObjectBlock = $GLOBALS['linkedObjectBlock']; $langs->load("contracts"); echo '
'; -print_titre($langs->trans('RelatedContracts')); +print load_fiche_titre($langs->trans('RelatedContracts')); ?>
diff --git a/htdocs/core/ajax/selectsearchbox.php b/htdocs/core/ajax/selectsearchbox.php new file mode 100644 index 00000000000..1783c4794b5 --- /dev/null +++ b/htdocs/core/ajax/selectsearchbox.php @@ -0,0 +1,48 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/core/ajax/selectsearchbox.php + * \ingroup core + * \brief This script returns content of possible search + */ + + +// This script is called with a POST method. +// Directory to scan (full path) is inside POST['dir']. + +if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL',1); // Disables token renewal +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); +if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU','1'); +if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML','1'); +if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); + +$res=@include '../../main.inc.php'; +include_once DOL_DOCUMENT_ROOT.'/core/lib/json.lib.php'; + + +$search_boxvalue=GETPOST('q'); + +$arrayresult=array('a'=>'aaaa', 'b'=>'bbbb'); + +if ($conf->projet->enabled) +{ + $arrayresult['searchintoproject']=$langs->trans("SearchIntoProject", $search_boxvalue); +} +print json_encode($arrayresult); + +if (is_object($db)) $db->close(); diff --git a/htdocs/core/boxes/box_contacts.php b/htdocs/core/boxes/box_contacts.php index dde2a559cd3..18a09af6ace 100644 --- a/htdocs/core/boxes/box_contacts.php +++ b/htdocs/core/boxes/box_contacts.php @@ -82,7 +82,8 @@ class box_contacts extends ModeleBoxes $societestatic=new Societe($db); $line = 0; - while ($line < $num) { + while ($line < $num) + { $objp = $db->fetch_object($result); $datec=$db->jdate($objp->datec); $datem=$db->jdate($objp->tms); @@ -92,7 +93,6 @@ class box_contacts extends ModeleBoxes $contactstatic->firstname=$objp->firstname; $contactstatic->civility_id=$objp->civility_id; $contactstatic->statut=$objp->status; - $societestatic->id = $objp->fk_soc; $societestatic->code_client = $objp->code_client; $societestatic->name = $objp->socname; diff --git a/htdocs/core/boxes/box_factures.php b/htdocs/core/boxes/box_factures.php index d04c3e48a3b..f50bff34a86 100644 --- a/htdocs/core/boxes/box_factures.php +++ b/htdocs/core/boxes/box_factures.php @@ -108,12 +108,18 @@ class box_factures extends ModeleBoxes $facturestatic->total_ht = $objp->total_ht; $facturestatic->total_tva = $objp->total_tva; $facturestatic->total_ttc = $objp->total_ttc; + $facturestatic->statut = $objp->fk_statut; + $facturestatic->date_lim_reglement = $db->jdate($objp->datelimite); + $societestatic->id = $objp->socid; $societestatic->name = $objp->name; $societestatic->code_client = $objp->code_client; + $late = ''; - if ($objp->paye == 0 && ($objp->fk_statut != 2 && $objp->fk_statut != 3) && $datelimite < ($now - $conf->facture->client->warning_delay)) { $late = img_warning(sprintf($l_due_date,dol_print_date($datelimite,'day')));} + if ($facturestatic->hasDelay()) { + $late = img_warning(sprintf($l_due_date,dol_print_date($datelimite,'day'))); + } $this->info_box_contents[$line][] = array( 'td' => 'align="left"', diff --git a/htdocs/core/boxes/box_factures_fourn.php b/htdocs/core/boxes/box_factures_fourn.php index 2f31fa61f78..7c90bb69683 100644 --- a/htdocs/core/boxes/box_factures_fourn.php +++ b/htdocs/core/boxes/box_factures_fourn.php @@ -93,7 +93,6 @@ class box_factures_fourn extends ModeleBoxes if ($result) { $num = $db->num_rows($result); - $now=dol_now(); $line = 0; $l_due_date = $langs->trans('Late').' ('.$langs->trans('DateEcheance').': %s)'; @@ -108,6 +107,8 @@ class box_factures_fourn extends ModeleBoxes $facturestatic->total_ht = $objp->total_ht; $facturestatic->total_tva = $objp->total_tva; $facturestatic->total_ttc = $objp->total_ttc; + $facturestatic->date_echeance = $datelimite; + $facturestatic->statut = $objp->fk_statut; $thirdpartytmp->id = $objp->socid; $thirdpartytmp->name = $objp->name; $thirdpartytmp->fournisseur = 1; @@ -115,7 +116,10 @@ class box_factures_fourn extends ModeleBoxes $thirdpartytmp->logo = $objp->logo; $late = ''; - if ($objp->paye == 0 && $datelimite && $datelimite < ($now - $conf->facture->fournisseur->warning_delay)) $late=img_warning(sprintf($l_due_date, dol_print_date($datelimite,'day'))); + + if ($facturestatic->hasDelay()) { + $late=img_warning(sprintf($l_due_date, dol_print_date($datelimite,'day'))); + } $this->info_box_contents[$line][] = array( 'td' => 'align="left"', diff --git a/htdocs/core/boxes/box_factures_fourn_imp.php b/htdocs/core/boxes/box_factures_fourn_imp.php index ecea4a27fd1..9bf302b2e18 100644 --- a/htdocs/core/boxes/box_factures_fourn_imp.php +++ b/htdocs/core/boxes/box_factures_fourn_imp.php @@ -86,11 +86,12 @@ class box_factures_fourn_imp extends ModeleBoxes if ($result) { $num = $db->num_rows($result); - $now=dol_now(); $line = 0; $l_due_date = $langs->trans('Late').' ('.$langs->trans('DateEcheance').': %s)'; + $facturestatic = new FactureFournisseur($db); + while ($line < $num) { $objp = $db->fetch_object($result); @@ -99,9 +100,13 @@ class box_factures_fourn_imp extends ModeleBoxes $thirdpartytmp->name = $objp->name; $thirdpartytmp->code_client = $objp->code_client; $thirdpartytmp->logo = $objp->logo; + $facturestatic->date_echeance = $datelimite; + $facturestatic->statut = $objp->fk_statut; $late=''; - if ($datelimite && $datelimite < ($now - $conf->facture->fournisseur->warning_delay)) $late=img_warning(sprintf($l_due_date,dol_print_date($datelimite,'day'))); + if ($facturestatic->hasDelay()) { + $late=img_warning(sprintf($l_due_date,dol_print_date($datelimite,'day'))); + } $tooltip = $langs->trans('SupplierInvoice') . ': ' . ($objp->ref?$objp->ref:$objp->facid) . '
' . $langs->trans('RefSupplier') . ': ' . $objp->ref_supplier; $this->info_box_contents[$line][] = array( diff --git a/htdocs/core/boxes/box_factures_imp.php b/htdocs/core/boxes/box_factures_imp.php index 42e889138cc..63ce986e181 100644 --- a/htdocs/core/boxes/box_factures_imp.php +++ b/htdocs/core/boxes/box_factures_imp.php @@ -108,6 +108,8 @@ class box_factures_imp extends ModeleBoxes $facturestatic->total_ht = $objp->total_ht; $facturestatic->total_tva = $objp->total_tva; $facturestatic->total_ttc = $objp->total_ttc; + $facturestatic->statut = $objp->fk_statut; + $facturestatic->date_lim_reglement = $db->jdate($objp->datelimite); $societestatic->id = $objp->socid; $societestatic->name = $objp->name; $societestatic->client = 1; @@ -115,7 +117,9 @@ class box_factures_imp extends ModeleBoxes $societestatic->logo = $objp->logo; $late=''; - if ($datelimite < ($now - $conf->facture->client->warning_delay)) $late = img_warning(sprintf($l_due_date,dol_print_date($datelimite,'day'))); + if ($facturestatic->hasDelay()) { + $late = img_warning(sprintf($l_due_date,dol_print_date($datelimite,'day'))); + } $this->info_box_contents[$line][] = array( 'td' => 'align="left"', diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 41a0b045a75..38848b6788d 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -131,6 +131,7 @@ abstract class CommonObject public $thirdparty; /** * @deprecated + * @var Societe A related customer * @see thirdparty */ public $client; @@ -283,27 +284,27 @@ abstract class CommonObject public $note; /** - * @var float + * @var float Total amount before taxes * @see update_price() */ public $total_ht; /** - * @var float + * @var float Total VAT amount * @see update_price() */ public $total_tva; /** - * @var float + * @var float Total local tax 1 amount * @see update_price() */ public $total_localtax1; /** - * @var float + * @var float Total local tax 2 amount * @see update_price() */ public $total_localtax2; /** - * @var float + * @var float Total amount with taxes * @see update_price() */ public $total_ttc; @@ -389,7 +390,7 @@ abstract class CommonObject * * @param Translate $langs Language object for translation of civility * @param int $option 0=No option, 1=Add civility - * @param int $nameorder -1=Auto, 0=Lastname+Firstname, 1=Firstname+Lastname + * @param int $nameorder -1=Auto, 0=Lastname+Firstname, 1=Firstname+Lastname, 2=Firstname * @param int $maxlen Maximum length * @return string String with full name */ @@ -452,13 +453,15 @@ abstract class CommonObject // Check parameters if ($fk_socpeople <= 0) { - $this->error=$langs->trans("ErrorWrongValueForParameter","1"); + $langs->load("errors"); + $this->error=$langs->trans("ErrorWrongValueForParameterX","1"); dol_syslog(get_class($this)."::add_contact ".$this->error,LOG_ERR); return -1; } if (! $type_contact) { - $this->error=$langs->trans("ErrorWrongValueForParameter","2"); + $langs->load("errors"); + $this->error=$langs->trans("ErrorWrongValueForParameterX","2"); dol_syslog(get_class($this)."::add_contact ".$this->error,LOG_ERR); return -2; } @@ -486,7 +489,7 @@ abstract class CommonObject } $datecreate = dol_now(); - + $this->db->begin(); // Insertion dans la base @@ -504,7 +507,11 @@ abstract class CommonObject if (! $notrigger) { $result=$this->call_trigger(strtoupper($this->element).'_ADD_CONTACT', $user); - if ($result < 0) { $this->db->rollback(); return -1; } + if ($result < 0) + { + $this->db->rollback(); + return -1; + } } $this->db->commit(); @@ -1077,18 +1084,18 @@ abstract class CommonObject function getValueFrom($table, $id, $field) { $result=false; - - $sql = "SELECT ".$field." FROM ".MAIN_DB_PREFIX.$table; - $sql.= " WHERE rowid = ".$id; - - dol_syslog(get_class($this).'::getValueFrom', LOG_DEBUG); - $resql = $this->db->query($sql); - if ($resql) - { - $row = $this->db->fetch_row($resql); - $result = $row[0]; - } - + if (!empty($id) && !empty($field) && !empty($table)) { + $sql = "SELECT ".$field." FROM ".MAIN_DB_PREFIX.$table; + $sql.= " WHERE rowid = ".$id; + + dol_syslog(get_class($this).'::getValueFrom', LOG_DEBUG); + $resql = $this->db->query($sql); + if ($resql) + { + $row = $this->db->fetch_row($resql); + $result = $row[0]; + } + } return $result; } @@ -2800,10 +2807,11 @@ abstract class CommonObject // -------------------- /** - * Show linked object block. + * Show linked object block. * - * @return int <0 if KO, >0 if OK - * @deprecated 3.8 Use instead $form->shoLinkedObjectBlock($object) + * @return int <0 if KO, >0 if OK + * @deprecated 3.8 Use instead $form->showLinkedObjectBlock($object) + * @see Form::showLinkedObjectBlock */ function showLinkedObjectBlock() { @@ -3543,7 +3551,47 @@ abstract class CommonObject /* Functions common to commonobject and commonobjectline */ + /* For default values */ + /** + * Return the default value to use for a field when showing the create form of object. + * Return values in this order: + * 1) If parameter is available into POST, we return it first. + * 2) If not but an alternate value was provided as parameter of function, we return it. + * 3) If not but a constant $conf->global->OBJECTELEMENT_FIELDNAME is set, we return it (It is better to use the dedicated table). + * 4) Return value found into database (TODO No yet implemented) + * + * @param string $fieldname Name of field + * @param string $alternatevalue Alternate value to use + * @return string Default value + **/ + function getDefaultCreateValueFor($fieldname, $alternatevalue=null) + { + global $conf, $_POST; + + // If param is has been posted with use this value first. + if (isset($_POST[$fieldname])) return GETPOST($fieldname, 2); + + if (isset($alternatevalue)) return $alternatevalue; + + $newelement=$this->element; + if ($newelement == 'facture') $newelement='invoice'; + if ($newelement == 'commande') $newelement='order'; + if (empty($newelement)) + { + dol_syslog("Ask a default value using common method getDefaultCreateValueForField on an object with no property ->element defined. Return empty string.", LOG_WARNING); + return ''; + } + + $keyforfieldname=strtoupper($newelement.'_DEFAULT_'.$fieldname); + //var_dump($keyforfieldname); + if (isset($conf->global->$keyforfieldname)) return $conf->global->$keyforfieldname; + + // TODO Ad here a scan into table llx_overwrite_default with a filter on $this->element and $fieldname + + } + + /* For triggers */ diff --git a/htdocs/core/class/commonobjectline.class.php b/htdocs/core/class/commonobjectline.class.php index ef854a2452e..5bcbab5934a 100644 --- a/htdocs/core/class/commonobjectline.class.php +++ b/htdocs/core/class/commonobjectline.class.php @@ -43,9 +43,6 @@ abstract class CommonObjectLine extends CommonObject */ public $rowid; - //! Database handler - public $db; - /** * Product/service unit code ('km', 'm', 'p', ...) * @var string diff --git a/htdocs/core/class/commonorder.class.php b/htdocs/core/class/commonorder.class.php index 5309b5524ee..74d14af0819 100644 --- a/htdocs/core/class/commonorder.class.php +++ b/htdocs/core/class/commonorder.class.php @@ -137,36 +137,6 @@ abstract class CommonOrderLine extends CommonObjectLine public $localtax1_type; public $localtax2_type; - /** - * Total amount before taxes - * @var float - */ - public $total_ht; - - /** - * Total VAT amount - * @var float - */ - public $total_tva; - - /** - * Total local tax 1 amount - * @var float - */ - public $total_localtax1; - - /** - * Total local tax 2 amount - * @var float - */ - public $total_localtax2; - - /** - * Total amount with taxes - * @var float - */ - public $total_ttc; - /** * Liste d'options cumulables: * Bit 0: 0 si TVA normal - 1 si TVA NPR diff --git a/htdocs/core/class/conf.class.php b/htdocs/core/class/conf.class.php index b3e5b843c28..5417c8ef8ce 100644 --- a/htdocs/core/class/conf.class.php +++ b/htdocs/core/class/conf.class.php @@ -390,8 +390,8 @@ class Conf // conf->global->ACCOUNTING_MODE = Option des modules Comptabilites (simple ou expert). Defini le mode de calcul des etats comptables (CA,...) if (empty($this->global->ACCOUNTING_MODE)) $this->global->ACCOUNTING_MODE='RECETTES-DEPENSES'; // By default. Can be 'RECETTES-DEPENSES' ou 'CREANCES-DETTES' - // By default, suppliers ojbects can be linked to all projects - $conf->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS = 1; + // By default, suppliers objects can be linked to all projects + $this->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS = 1; // conf->liste_limit = constante de taille maximale des listes if (empty($this->global->MAIN_SIZE_LISTE_LIMIT)) $this->global->MAIN_SIZE_LISTE_LIMIT=25; diff --git a/htdocs/core/class/cookie.class.php b/htdocs/core/class/cookie.class.php index ba519fab365..1d28861a44e 100644 --- a/htdocs/core/class/cookie.class.php +++ b/htdocs/core/class/cookie.class.php @@ -43,9 +43,10 @@ class DolCookie var $cookie; /** - * Constructor + * Constructor * - * @param string $key Personnal key + * @param string $key Personnal key + * @deprecated */ function __construct($key = '') { diff --git a/htdocs/core/class/doleditor.class.php b/htdocs/core/class/doleditor.class.php index db303ee7d1b..60d24558d86 100644 --- a/htdocs/core/class/doleditor.class.php +++ b/htdocs/core/class/doleditor.class.php @@ -52,7 +52,7 @@ class DolEditor * @param string $content Content of WYSIWIG field * @param int $width Width in pixel of edit area (auto by default) * @param int $height Height in pixel of edit area (200px by default) - * @param string $toolbarname Name of bar set to use ('Full', 'dolibarr_notes[_encoded]', 'dolibarr_details[_encoded]', 'dolibarr_mailings[_encoded]', ') + * @param string $toolbarname Name of bar set to use ('Full', 'dolibarr_notes[_encoded]', 'dolibarr_details[_encoded]'=the less featured, 'dolibarr_mailings[_encoded]', ') * @param string $toolbarlocation Where bar is stored : * 'In' each window has its own toolbar * 'Out:name' share toolbar into the div called 'name' @@ -168,8 +168,11 @@ class DolEditor { if (! defined('REQUIRE_CKEDITOR')) define('REQUIRE_CKEDITOR','1'); - //$skin='kama'; - $skin='moono'; // default with cdeditor 4 + if (! empty($conf->global->FCKEDITOR_SKIN)) { + $skin = $conf->global->FCKEDITOR_SKIN; + } else { + $skin = 'moono'; // default with ckeditor 4 : moono + } $htmlencode_force=preg_match('/_encoded$/',$this->toolbarname)?'true':'false'; diff --git a/htdocs/core/class/fileupload.class.php b/htdocs/core/class/fileupload.class.php index cdb7f66ac5f..a38b034747b 100644 --- a/htdocs/core/class/fileupload.class.php +++ b/htdocs/core/class/fileupload.class.php @@ -125,7 +125,7 @@ class FileUpload if (!empty($parent->socid)) { $parent->fetch_thirdparty(); } - $object->$parentObject = dol_clone($parent); + $object->$parentObject = clone $parent; } else { $object->fetch_thirdparty(); } diff --git a/htdocs/core/class/fiscalyear.class.php b/htdocs/core/class/fiscalyear.class.php index d20dbf2d4f3..7d4dff8de44 100644 --- a/htdocs/core/class/fiscalyear.class.php +++ b/htdocs/core/class/fiscalyear.class.php @@ -34,7 +34,6 @@ class Fiscalyear extends CommonObject public $fk_element = ''; protected $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe - var $id; var $rowid; var $label; @@ -324,4 +323,4 @@ class Fiscalyear extends CommonObject } } -} \ No newline at end of file +} diff --git a/htdocs/core/class/genericobject.class.php b/htdocs/core/class/genericobject.class.php index c198525a07b..32960664c17 100644 --- a/htdocs/core/class/genericobject.class.php +++ b/htdocs/core/class/genericobject.class.php @@ -30,8 +30,6 @@ require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; class GenericObject extends CommonObject { - var $db; - /** * Constructor * diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index fe4852d839b..40d68bec667 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -3016,6 +3016,8 @@ class Form global $langs; $langs->load("categories"); + include_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; + $cat = new Categorie($this->db); $cate_arbo = $cat->get_full_arbo($type,$excludeafterid); @@ -3235,7 +3237,7 @@ class Form $formconfirm.= ($question ? '
': ''); $formconfirm.= '
'."\n"; - $formconfirm.= "\n\n"; + $formconfirm.= "\n\n"; $formconfirm.= ''; - $formconfirm.= "\n"; + $formconfirm.= "\n"; } else { - $formconfirm.= "\n\n"; + $formconfirm.= "\n\n"; $formconfirm.= ''."\n"; $formconfirm.= ''."\n"; @@ -3343,7 +3345,7 @@ class Form $formconfirm.= "\n"; $formconfirm.= '
'; - $formconfirm.= "\n"; + $formconfirm.= "\n"; } return $formconfirm; @@ -3579,7 +3581,7 @@ class Form print ''; print '
'; print ''; print ''; print '
'; - print $this->select_users($selected,$htmlname,1,$exclude,0,$include); + print $this->select_dolusers($selected,$htmlname,1,$exclude,0,$include); print '
'; @@ -4500,70 +4502,71 @@ class Form * Return a HTML select string, built from an array of key+value but content returned into select come from an Ajax call of an URL. * Note: Do not apply langs->trans function on returned content, content may be entity encoded twice. * - * @param string $htmlname Name of html select area - * @param string $url Url - * @param string $id Preselected key - * @param int $show_empty 0 no empty value allowed, 1 to add an empty value into list (value is '' or ' '). - * @param int $key_in_label 1 pour afficher la key dans la valeur "[key] value" - * @param int $value_as_key 1 to use value as key - * @param string $moreparam Add more parameters onto the select tag - * @param int $translate Translate and encode value - * @param int $maxlen Length maximum for labels - * @param int $disabled Html select box is disabled - * @param int $sort 'ASC' or 'DESC' = Sort on label, '' or 'NONE' = Do not sort - * @param string $morecss Add more class to css styles - * @param int $addjscombo Add js combo - * @return string HTML select string. + * @param string $htmlname Name of html select area + * @param string $url Url + * @param string $id Preselected key + * @param string $moreparam Add more parameters onto the select tag + * @param string $moreparamtourl Add more parameters onto the Ajax called URL + * @param int $disabled Html select box is disabled + * @param int $minimumInputLength Minimum Input Length + * @param string $morecss Add more class to css styles + * @return string HTML select string. */ - static function selectArrayAjax($htmlname, $url, $id='', $show_empty=0, $key_in_label=0, $value_as_key=0, $moreparam='', $translate=0, $maxlen=0, $disabled=0, $sort='', $morecss='', $addjscombo=0) + static function selectArrayAjax($htmlname, $url, $id='', $moreparam='', $moreparamtourl='', $disabled=0, $minimumInputLength=1, $morecss='') { $out = ''; - // Add code for jquery to use select2 - if ($addjscombo && empty($conf->dol_use_jmobile)) - { - $tmpplugin='select2'; - $out.=' - '; - } - else - { - // TODO get all values from $url into $array + $tmpplugin='select2'; + $out.=' + '; - $out.=self::selectarray('.'.$htmlname, $array, $id, $show_empty, $key_in_label, $value_as_key, '', $translate, $maxlen, $disabled, $sort, '', 0); + $out.=''; + return $out; } @@ -4667,13 +4670,15 @@ class Form * * @param int $id Id of object * @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact'). Old mode (0, 1, 2, ...) is deprecated. - * @param int $rendermode 0=Default, use multiselect. 1=Emulate multiselect + * @param int $rendermode 0=Default, use multiselect. 1=Emulate multiselect (recommended) * @return mixed Array of category objects or < 0 if KO */ function showCategories($id, $type, $rendermode=0) { global $db; + include_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; + $cat = new Categorie($db); $categories = $cat->containing($id, $type); @@ -4682,10 +4687,10 @@ class Form $toprint = array(); foreach($categories as $c) { - $ways = $c->print_all_ways(); + $ways = $c->print_all_ways(); // $ways[0] = "ccc2 >> ccc2a >> ccc2a1" with html formated text foreach($ways as $way) { - $toprint[] = '
  • '.img_object('','category').' '.$way.'
  • '; + $toprint[] = '
  • color?' style="background: #'.$c->color.'"':'').'>'.img_object('','category').' '.$way.'
  • '; } } return '
      '.implode(' ', $toprint).'
    '; @@ -5058,10 +5063,7 @@ class Form $next_ref = $object->ref_next?''.(empty($conf->dol_use_jmobile)?'>':' ').'':''; //print "xx".$previous_ref."x".$next_ref; - //if ($previous_ref || $next_ref || $morehtml) { - //$ret.='
    '; - $ret.='
    '; - //} + $ret.='
    '; $ret.=dol_htmlentities($object->$fieldref); if ($morehtmlref) diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index 47723a05cbc..000a2a35c13 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -75,6 +75,7 @@ class FormFile global $conf,$langs, $hookmanager; $hookmanager->initHooks(array('formfile')); + if (! empty($conf->browser->layout) && $conf->browser->layout != 'classic') $useajax=0; if ((! empty($conf->global->MAIN_USE_JQUERY_FILEUPLOAD) && $useajax) || ($useajax==2)) @@ -86,13 +87,13 @@ class FormFile return $this->_formAjaxFileUpload($object); } else - { + { $maxlength=$size; $out = "\n\n\n"; if (empty($title)) $title=$langs->trans("AttachANewFile"); - if ($title != 'none') print_titre($title); + if ($title != 'none') $out.=load_fiche_titre($title, null, null); $out .= '
    '; $out .= ''; @@ -178,7 +179,7 @@ class FormFile $out .= ''; $out .= ''; $out .= '
    '; - $out .= $langs->trans("Link") . ': '; + $out .= $langs->trans("URLToLink") . ': '; $out .= ''; $out .= '   ' . $langs->trans("Label") . ': '; $out .= ''; @@ -200,7 +201,9 @@ class FormFile if (empty($res)) { + print '
    '; print $out; + print '
    '; } print $hookmanager->resPrint; @@ -787,7 +790,7 @@ class FormFile $param = (isset($object->id)?'&id='.$object->id:'').$param; // Show list of existing files - if (empty($useinecm)) print_titre($title?$title:$langs->trans("AttachedFiles")); + if (empty($useinecm)) print load_fiche_titre($title?$title:$langs->trans("AttachedFiles")); if (empty($url)) $url=$_SERVER["PHP_SELF"]; print ''; print ''; @@ -948,7 +951,7 @@ class FormFile dol_syslog(get_class($this).'::list_of_autoecmfiles upload_dir='.$upload_dir.' modulepart='.$modulepart); // Show list of documents - if (empty($useinecm)) print_titre($langs->trans("AttachedFiles")); + if (empty($useinecm)) print load_fiche_titre($langs->trans("AttachedFiles")); if (empty($url)) $url=$_SERVER["PHP_SELF"]; print '
    '; print ''; @@ -1080,7 +1083,9 @@ class FormFile } } - if ($result > 0) { $found=1; $this->cache_objects[$modulepart.'_'.$id.'_'.$ref]=dol_clone($object_instance); } // Save object into a cache + if ($result > 0) { // Save object into a cache + $found=1; $this->cache_objects[$modulepart.'_'.$id.'_'.$ref] = clone $object_instance; + } if ($result == 0) { $found=1; $this->cache_objects[$modulepart.'_'.$id.'_'.$ref]='notfound'; unset($filearray[$key]); } } @@ -1189,7 +1194,7 @@ class FormFile $param .= (isset($object->id)?'&id=' . $object->id : ''); // Show list of associated links - print_titre($langs->trans("LinkedFiles")); + print load_fiche_titre($langs->trans("LinkedFiles")); print ''; diff --git a/htdocs/core/class/ldap.class.php b/htdocs/core/class/ldap.class.php index 98250ab0db1..400eb934e26 100644 --- a/htdocs/core/class/ldap.class.php +++ b/htdocs/core/class/ldap.class.php @@ -156,10 +156,17 @@ class Ldap if (count($this->server) == 0 || empty($this->server[0])) { $this->error='LDAP setup (file conf.php) is not complete'; - $return=-1; dol_syslog(get_class($this)."::connect_bind ".$this->error, LOG_WARNING); + return -1; } + if (! function_exists('ldap_connect')) + { + $this->error='Your PHP need extension ldap'; + dol_syslog(get_class($this)."::connect_bind ".$this->error, LOG_WARNING); + return -1; + } + // Loop on each ldap server foreach ($this->server as $key => $host) { diff --git a/htdocs/core/class/link.class.php b/htdocs/core/class/link.class.php index 0cdc6a8c4a8..2dd34896602 100644 --- a/htdocs/core/class/link.class.php +++ b/htdocs/core/class/link.class.php @@ -31,7 +31,6 @@ class Link extends CommonObject public $element = 'link'; public $table_element = 'links'; - public $id; public $entity; public $datea; public $url; diff --git a/htdocs/core/class/menubase.class.php b/htdocs/core/class/menubase.class.php index 2c21cb3c512..cb370e31d96 100644 --- a/htdocs/core/class/menubase.class.php +++ b/htdocs/core/class/menubase.class.php @@ -511,7 +511,7 @@ class Menubase $sql.= " ORDER BY m.position, m.rowid"; //print $sql; -//$tmp1=dol_microtime_float(); +//$tmp1=microtime(true); //print '>>> 1 0
    '; dol_syslog(get_class($this)."::menuLoad mymainmenu=".$mymainmenu." myleftmenu=".$myleftmenu." type_user=".$type_user." menu_handler=".$menu_handler." tabMenu size=".count($tabMenu)."", LOG_DEBUG); $resql = $this->db->query($sql); @@ -575,7 +575,7 @@ class Menubase $title = $langs->trans($menu['titre']); } } -//$tmp4=dol_microtime_float(); +//$tmp4=microtime(true); //print '>>> 3 '.($tmp4 - $tmp3).'
    '; // We complete tabMenu diff --git a/htdocs/core/class/translate.class.php b/htdocs/core/class/translate.class.php index 5d06586fb16..27bcb64da3c 100644 --- a/htdocs/core/class/translate.class.php +++ b/htdocs/core/class/translate.class.php @@ -29,17 +29,17 @@ */ class Translate { - var $dir; // Directories that contains /langs subdirectory + var $dir; // Directories that contains /langs subdirectory - var $defaultlang; // Current language for current user - var $direction = 'ltr'; // Left to right or Right to left - var $charset_output='UTF-8'; // Codage used by "trans" method outputs + var $defaultlang; // Current language for current user + var $direction = 'ltr'; // Left to right or Right to left + var $charset_output='UTF-8'; // Codage used by "trans" method outputs - var $tab_translate=array(); // Array of all translations key=>value - private $_tab_loaded=array(); // Array to store result after loading each language file + var $tab_translate=array(); // Array of all translations key=>value + private $_tab_loaded=array(); // Array to store result after loading each language file - var $cache_labels=array(); // Cache for labels return by getLabelFromKey method - var $cache_currencies=array(); // Cache to store currency symbols + var $cache_labels=array(); // Cache for labels return by getLabelFromKey method + var $cache_currencies=array(); // Cache to store currency symbols @@ -144,7 +144,6 @@ class Translate * If data for file already loaded, do nothing. * All data in translation array are stored in UTF-8 format. * tab_loaded is completed with $domain key. - * Warning: MAIN_USE_CUSTOM_TRANSLATION is an old deprecated feature. Do not use it. It will revert * rule "we keep first entry found with we keep last entry found" so it is probably not what you want to do. * * Value for hash are: 1:Loaded from disk, 2:Not found, 3:Loaded from cache @@ -158,9 +157,11 @@ class Translate * @param int $forcelangdir To force a different lang directory * @return int <0 if KO, 0 if already loaded or loading not required, >0 if OK */ - function Load($domain,$alt=0,$stopafterdirection=0,$forcelangdir='') + function load($domain,$alt=0,$stopafterdirection=0,$forcelangdir='') { - global $conf; + global $conf,$db; + + if (count($this->tab_translate) == 0) $this->loadFromDatabase($db); // Nothing was loaded yet, so we load database. // Check parameters if (empty($domain)) @@ -240,7 +241,7 @@ class Translate $tmparray=dol_getcache($usecachekey); if (is_array($tmparray) && count($tmparray)) { - $this->tab_translate=array_merge($tmparray,$this->tab_translate); // Already found values tab_translate overwrites duplicates + $this->tab_translate+=$tmparray; // Faster than array_merge($tmparray,$this->tab_translate). Note: If a valuer already exists into tab_translate, value into tmparaay is not added. //print $newdomain."\n"; //var_dump($this->tab_translate); if ($alt == 2) $fileread=1; @@ -261,7 +262,7 @@ class Translate $tab=explode('=',$line,2); $key=trim($tab[0]); //print "Domain=$domain, found a string for $tab[0] with value $tab[1]
    "; - if ((! empty($conf->global->MAIN_USE_CUSTOM_TRANSLATION) || empty($this->tab_translate[$key])) && isset($tab[1])) // If translation was already found, we must not continue, even if MAIN_FORCELANGDIR is set (MAIN_FORCELANGDIR is to replace lang dir, not to overwrite entries) + if (empty($this->tab_translate[$key]) && isset($tab[1])) // If translation was already found, we must not continue, even if MAIN_FORCELANGDIR is set (MAIN_FORCELANGDIR is to replace lang dir, not to overwrite entries) { $value=trim(preg_replace('/\\n/',"\n",$tab[1])); @@ -297,7 +298,7 @@ class Translate } } - if (empty($conf->global->MAIN_FORCELANGDIR) && empty($conf->global->MAIN_USE_CUSTOM_TRANSLATION)) break; // Break loop on each root dir. If a module has forced dir, we do not stop loop. + if (empty($conf->global->MAIN_FORCELANGDIR)) break; // Break loop on each root dir. If a module has forced dir, we do not stop loop. } } } @@ -330,13 +331,181 @@ class Translate if (empty($this->_tab_loaded[$newdomain])) $this->_tab_loaded[$newdomain]=2; // Marque ce fichier comme non trouve } - // Check to be sure that SeparatorDecimal differs from SeparatorThousand + // This part is deprecated and replaced with table llx_overwrite_trans + // Kept for backward compatibility. + $overwritekey='MAIN_OVERWRITE_TRANS_'.$this->defaultlang; + if (! empty($conf->global->$overwritekey)) // Overwrite translation with key1:newstring1,key2:newstring2 + { + // Overwrite translation with param MAIN_OVERWRITE_TRANS_xx_XX + $tmparray=explode(',', $conf->global->$overwritekey); + foreach($tmparray as $tmp) + { + $tmparray2=explode(':',$tmp); + if (! empty($tmparray2[1])) $this->tab_translate[$tmparray2[0]]=$tmparray2[1]; + } + } + + + + // Check to be sure that SeparatorDecimal differs from SeparatorThousand if (! empty($this->tab_translate["SeparatorDecimal"]) && ! empty($this->tab_translate["SeparatorThousand"]) && $this->tab_translate["SeparatorDecimal"] == $this->tab_translate["SeparatorThousand"]) $this->tab_translate["SeparatorThousand"]=''; return 1; } + /** + * Load translation key-value from database into a memory array. + * If data already loaded, do nothing. + * All data in translation array are stored in UTF-8 format. + * tab_loaded is completed with $domain key. + * rule "we keep first entry found with we keep last entry found" so it is probably not what you want to do. + * + * Value for hash are: 1:Loaded from disk, 2:Not found, 3:Loaded from cache + * + * @param Database $db Database handler + * @return int <0 if KO, 0 if already loaded or loading not required, >0 if OK + */ + function loadFromDatabase($db) + { + global $conf; + + $domain='database'; + + if ($this->defaultlang == 'none_NONE') return 0; // Special language code to not translate keys + + // Check parameters + if (empty($db)) return 0; // Database handler can't be used + + //dol_syslog("Translate::Load Start domain=".$domain." alt=".$alt." forcelangdir=".$forcelangdir." this->defaultlang=".$this->defaultlang); + + $newdomain = $domain; + $modulename = ''; + + // Check cache + if (! empty($this->_tab_loaded[$newdomain])) // File already loaded for this domain + { + //dol_syslog("Translate::Load already loaded for newdomain=".$newdomain); + return 0; + } + + $this->_tab_loaded[$newdomain] = 1; // We want to be sure this function is called once only. + + $fileread=0; + $langofdir=(empty($forcelangdir)?$this->defaultlang:$forcelangdir); + + // Redefine alt + $alt=2; + + if (empty($langofdir)) // This may occurs when load is called without setting the language and without providing a value for forcelangdir + { + dol_syslog("Error: ".get_class($this)."::Load was called but language was not set yet with langs->setDefaultLang(). Nothing will be loaded.", LOG_WARNING); + return -1; + } + + // TODO Move cache read out of loop on dirs or at least filelangexists + $found=false; + + // Enable caching of lang file in memory (not by default) + $usecachekey=''; + // Using a memcached server + if (! empty($conf->memcached->enabled) && ! empty($conf->global->MEMCACHED_SERVER)) + { + $usecachekey=$newdomain.'_'.$langofdir.'_'.md5($file_lang); // Should not contains special chars + } + // Using cache with shmop. Speed gain: 40ms - Memory overusage: 200ko (Size of session cache file) + else if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x02)) + { + $usecachekey=$newdomain; + } + + if ($usecachekey) + { + //dol_syslog('Translate::Load we will cache result into usecachekey '.$usecachekey); + //global $aaa; $aaa+=1; + //print $aaa." ".$usecachekey."\n"; + require_once DOL_DOCUMENT_ROOT .'/core/lib/memory.lib.php'; + $tmparray=dol_getcache($usecachekey); + if (is_array($tmparray) && count($tmparray)) + { + $this->tab_translate+=$tmparray; // Faster than array_merge($tmparray,$this->tab_translate). Note: If a valuer already exists into tab_translate, value into tmparaay is not added. + //print $newdomain."\n"; + //var_dump($this->tab_translate); + if ($alt == 2) $fileread=1; + $found=true; // Found in dolibarr PHP cache + } + } + + if (! $found) + { + // Overwrite translation with database read + $sql="SELECT transkey, transvalue FROM ".MAIN_DB_PREFIX."overwrite_trans where lang='".$this->defaultlang."'"; + $resql=$db->query($sql); + + if ($resql) + { + $num = $db->num_rows($resql); + if ($num) + { + if ($usecachekey) $tabtranslatedomain=array(); // To save lang content in cache + + $i = 0; + while ($i < $num) // Ex: Need 225ms for all fgets on all lang file for Third party page. Same speed than file_get_contents + { + $obj=$db->fetch_object($resql); + + $key=$obj->transkey; + $value=$obj->transvalue; + + //print "Domain=$domain, found a string for $tab[0] with value $tab[1]
    "; + if (empty($this->tab_translate[$key])) // If translation was already found, we must not continue, even if MAIN_FORCELANGDIR is set (MAIN_FORCELANGDIR is to replace lang dir, not to overwrite entries) + { + $value=trim(preg_replace('/\\n/',"\n",$value)); + + $this->tab_translate[$key]=$value; + if ($usecachekey) $tabtranslatedomain[$key]=$value; // To save lang content in cache + } + + $i++; + } + + $fileread=1; + + // TODO Move cache write out of loop on dirs + // To save lang content for usecachekey into cache + if ($usecachekey && count($tabtranslatedomain)) + { + $ressetcache=dol_setcache($usecachekey,$tabtranslatedomain); + if ($ressetcache < 0) + { + $error='Failed to set cache for usecachekey='.$usecachekey.' result='.$ressetcache; + dol_syslog($error, LOG_ERR); + } + } + } + } + else + { + dol_print_error($db); + } + } + + if ($alt == 2) + { + if ($fileread) $this->_tab_loaded[$newdomain]=1; // Set domain file as loaded + + if (empty($this->_tab_loaded[$newdomain])) $this->_tab_loaded[$newdomain]=2; // Marque ce cas comme non trouve (no lines found for language) + } + + // Check to be sure that SeparatorDecimal differs from SeparatorThousand + if (! empty($this->tab_translate["SeparatorDecimal"]) && ! empty($this->tab_translate["SeparatorThousand"]) + && $this->tab_translate["SeparatorDecimal"] == $this->tab_translate["SeparatorThousand"]) $this->tab_translate["SeparatorThousand"]=''; + + return 1; + } + + + /** * Return translated value of key for special keys ("Currency...", "Civility...", ...). * Search in lang file, then into database. Key must be any complete entry into lang file: CurrencyEUR, ... @@ -410,18 +579,6 @@ class Translate { $str=$this->tab_translate[$key]; - // Overwrite translation (TODO Move this at a higher level when we load tab_translate to avoid doing it for each trans call) - $overwritekey='MAIN_OVERWRITE_TRANS_'.$this->defaultlang; - if (! empty($conf->global->$overwritekey)) // Overwrite translation with key1:newstring1,key2:newstring2 - { - $tmparray=explode(',', $conf->global->$overwritekey); - foreach($tmparray as $tmp) - { - $tmparray2=explode(':',$tmp); - if ($tmparray2[0]==$key) { $str=$tmparray2[1]; break; } - } - } - if (! preg_match('/^Format/',$key)) { //print $str; diff --git a/htdocs/core/db/mysqli.class.php b/htdocs/core/db/mysqli.class.php index 4033dc01117..068cd410326 100644 --- a/htdocs/core/db/mysqli.class.php +++ b/htdocs/core/db/mysqli.class.php @@ -31,6 +31,8 @@ require_once DOL_DOCUMENT_ROOT .'/core/db/DoliDB.class.php'; */ class DoliDBMysqli extends DoliDB { + /** @var mysqli Database object */ + public $db; //! Database type public $type='mysqli'; //! Database label @@ -81,29 +83,26 @@ class DoliDBMysqli extends DoliDB $this->connected = false; $this->ok = false; $this->error=$langs->trans("ErrorWrongHostParameter"); - dol_syslog(get_class($this)."::DoliDBMysqli : Erreur Connect, wrong host parameters",LOG_ERR); + dol_syslog(get_class($this)."::DoliDBMysqli : Connect error, wrong host parameters",LOG_ERR); return $this->ok; } - // Essai connexion serveur - // We do not try to connect to database, only to server. Connect to database is done later in constrcutor - $this->db = $this->connect($host, $user, $pass, '', $port); + // Try server connection + // We do not try to connect to database, only to server. Connect to database is done later in constrcutor + $this->db = $this->connect($host, $user, $pass, '', $port); - if ($this->db) - { - $this->connected = true; - $this->ok = true; - } - else - { - // host, login ou password incorrect - $this->connected = false; - $this->ok = false; - $this->error=mysqli_connect_error(); - dol_syslog(get_class($this)."::DoliDBMysqli : Erreur Connect mysqli_connect_error=".$this->error,LOG_ERR); - } + if ($this->db->connect_errno) { + $this->connected = false; + $this->ok = false; + $this->error = $this->db->connect_error; + dol_syslog(get_class($this) . "::DoliDBMysqli Connect error: " . $this->error, LOG_ERR); + return $this->ok; + } else { + $this->connected = true; + $this->ok = true; + } - // Si connexion serveur ok et si connexion base demandee, on essaie connexion base + // If server connection is ok, we try to connect to the database if ($this->connected && $name) { if ($this->select_db($name)) @@ -116,7 +115,7 @@ class DoliDBMysqli extends DoliDB $clientmustbe=''; if (preg_match('/UTF-8/i',$conf->file->character_set_client)) $clientmustbe='utf8'; if (preg_match('/ISO-8859-1/i',$conf->file->character_set_client)) $clientmustbe='latin1'; - if (mysqli_character_set_name($this->db) != $clientmustbe) + if ($this->db->character_set_name() != $clientmustbe) { $this->query("SET NAMES '".$clientmustbe."'", $this->db); //$this->query("SET CHARACTER SET ". $this->forcecharset); @@ -128,7 +127,7 @@ class DoliDBMysqli extends DoliDB $this->database_name = ''; $this->ok = false; $this->error=$this->error(); - dol_syslog(get_class($this)."::DoliDBMysqli : Erreur Select_db ".$this->error,LOG_ERR); + dol_syslog(get_class($this)."::DoliDBMysqli : Select_db error ".$this->error,LOG_ERR); } } else @@ -142,7 +141,7 @@ class DoliDBMysqli extends DoliDB $clientmustbe=''; if (preg_match('/UTF-8/i',$conf->file->character_set_client)) $clientmustbe='utf8'; if (preg_match('/ISO-8859-1/i',$conf->file->character_set_client)) $clientmustbe='latin1'; - if (mysqli_character_set_name($this->db) != $clientmustbe) + if ($this->db->character_set_name() != $clientmustbe) { $this->query("SET NAMES '".$clientmustbe."'", $this->db); //$this->query("SET CHARACTER SET ". $this->forcecharset); @@ -175,36 +174,27 @@ class DoliDBMysqli extends DoliDB function select_db($database) { dol_syslog(get_class($this)."::select_db database=".$database, LOG_DEBUG); - return mysqli_select_db($this->db,$database); + return $this->db->select_db($database); } - /** - * Connexion to server + /** + * Connect to server * - * @param string $host database server host - * @param string $login login - * @param string $passwd password - * @param string $name name of database (not used for mysql, used for pgsql) - * @param integer $port Port of database server - * @return mysqli Database access handler - * @see close - */ - function connect($host, $login, $passwd, $name, $port=0) - { - dol_syslog(get_class($this)."::connect host=$host, port=$port, login=$login, passwd=--hidden--, name=$name",LOG_DEBUG); + * @param string $host database server host + * @param string $login login + * @param string $passwd password + * @param string $name name of database (not used for mysql, used for pgsql) + * @param integer $port Port of database server + * @return mysqli Database access object + * @see close + */ + function connect($host, $login, $passwd, $name, $port = 0) + { + dol_syslog(get_class($this) . "::connect host=$host, port=$port, login=$login, passwd=--hidden--, name=$name", LOG_DEBUG); - $newhost=$host; - $newport=$port; - - // With mysqli, port must be in connect parameters - if (! $newport) $newport=3306; - - $this->db = @mysqli_connect($newhost, $login, $passwd, $name, $newport); - - //print "Resultat fonction connect: ".$this->db; - return $this->db; - } + return new mysqli($host, $login, $passwd, $name, $port); + } /** * Return version of database server @@ -213,7 +203,7 @@ class DoliDBMysqli extends DoliDB */ function getVersion() { - return mysqli_get_server_info($this->db); + return $this->db->get_server_info(); } /** @@ -221,10 +211,10 @@ class DoliDBMysqli extends DoliDB * * @return string Version string */ - function getDriverInfo() - { - return mysqli_get_client_info($this->db); - } + function getDriverInfo() + { + return $this->db->get_client_info(); + } /** @@ -239,7 +229,7 @@ class DoliDBMysqli extends DoliDB { if ($this->transaction_opened > 0) dol_syslog(get_class($this)."::close Closing a connection with an opened transaction depth=".$this->transaction_opened,LOG_ERR); $this->connected=false; - return mysqli_close($this->db); + return $this->db->close(); } return false; } @@ -264,11 +254,11 @@ class DoliDBMysqli extends DoliDB if (! $this->database_name) { // Ordre SQL ne necessitant pas de connexion a une base (exemple: CREATE DATABASE) - $ret = mysqli_query($this->db,$query); + $ret = $this->db->query($query); } else { - $ret = mysqli_query($this->db,$query); + $ret = $this->db->query($query); } if (! preg_match("/^COMMIT/i",$query) && ! preg_match("/^ROLLBACK/i",$query)) @@ -300,7 +290,7 @@ class DoliDBMysqli extends DoliDB { // Si le resultset n'est pas fourni, on prend le dernier utilise sur cette connexion if (! is_object($resultset)) { $resultset=$this->_results; } - return mysqli_fetch_object($resultset); + return $resultset->fetch_object(); } @@ -314,7 +304,7 @@ class DoliDBMysqli extends DoliDB { // If resultset not provided, we take the last used by connexion if (! is_object($resultset)) { $resultset=$this->_results; } - return mysqli_fetch_array($resultset); + return $resultset->fetch_array(); } /** @@ -329,7 +319,7 @@ class DoliDBMysqli extends DoliDB if (! is_bool($resultset)) { if (! is_object($resultset)) { $resultset=$this->_results; } - return mysqli_fetch_row($resultset); + return $resultset->fetch_row(); } else { @@ -349,7 +339,7 @@ class DoliDBMysqli extends DoliDB { // If resultset not provided, we take the last used by connexion if (! is_object($resultset)) { $resultset=$this->_results; } - return mysqli_num_rows($resultset); + return $resultset->num_rows; } /** @@ -365,7 +355,7 @@ class DoliDBMysqli extends DoliDB if (! is_object($resultset)) { $resultset=$this->_results; } // mysql necessite un link de base pour cette fonction contrairement // a pqsql qui prend un resultset - return mysqli_affected_rows($this->db); + return $this->db->affected_rows; } @@ -380,7 +370,7 @@ class DoliDBMysqli extends DoliDB // If resultset not provided, we take the last used by connexion if (! is_object($resultset)) { $resultset=$this->_results; } // Si resultset en est un, on libere la memoire - if (is_object($resultset)) mysqli_free_result($resultset); + if (is_object($resultset)) $resultset->free_result(); } /** @@ -436,10 +426,10 @@ class DoliDBMysqli extends DoliDB 1451 => 'DB_ERROR_CHILD_EXISTS' ); - if (isset($errorcode_map[mysqli_errno($this->db)])) { - return $errorcode_map[mysqli_errno($this->db)]; + if (isset($errorcode_map[$this->db->errno])) { + return $errorcode_map[$this->db->errno]; } - $errno=mysqli_errno($this->db); + $errno=$this->db->errno; return ($errno?'DB_ERROR_'.$errno:'0'); } } @@ -456,7 +446,7 @@ class DoliDBMysqli extends DoliDB return 'Not connected. Check setup parameters in conf/conf.php file and your mysql client and server versions'; } else { - return mysqli_error($this->db); + return $this->db->error; } } @@ -469,7 +459,7 @@ class DoliDBMysqli extends DoliDB */ function last_insert_id($tab,$fieldid='rowid') { - return mysqli_insert_id($this->db); + return $this->db->insert_id; } /** diff --git a/htdocs/core/lib/admin.lib.php b/htdocs/core/lib/admin.lib.php index f991756c77e..9490f3a7b7d 100644 --- a/htdocs/core/lib/admin.lib.php +++ b/htdocs/core/lib/admin.lib.php @@ -1,7 +1,8 @@ - * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 2012 J. Fernando Lagrange +/* Copyright (C) 2008-2011 Laurent Destailleur + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2012 J. Fernando Lagrange + * Copyright (C) 2015 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -23,6 +24,7 @@ * \brief Library of admin functions */ +require_once DOL_DOCUMENT_ROOT . '/core/lib/functions2.lib.php'; /** * Renvoi une version en chaine depuis une version en tableau @@ -676,29 +678,7 @@ function activateModule($value,$withdeps=1) $ret=''; $modName = $value; $modFile = $modName . ".class.php"; - - // Loop on each directory to fill $modulesdir - $modulesdir = array(); - foreach ($conf->file->dol_document_root as $type => $dirroot) - { - $modulesdir[] = $dirroot."/core/modules/"; - - $handle=@opendir(dol_osencode($dirroot)); - if (is_resource($handle)) - { - while (($file = readdir($handle))!==false) - { - if (is_dir($dirroot.'/'.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS' && $file != 'includes') - { - if (is_dir($dirroot . '/' . $file . '/core/modules/')) - { - $modulesdir[] = $dirroot . '/' . $file . '/core/modules/'; - } - } - } - closedir($handle); - } - } + $modulesdir = dolGetModulesDirs(); // Loop on each directory $found=false; @@ -795,29 +775,7 @@ function unActivateModule($value, $requiredby=1) $ret=''; $modName = $value; $modFile = $modName . ".class.php"; - - // Loop on each directory to fill $modulesdir - $modulesdir = array(); - foreach ($conf->file->dol_document_root as $type => $dirroot) - { - $modulesdir[] = $dirroot."/core/modules/"; - - $handle=@opendir(dol_osencode($dirroot)); - if (is_resource($handle)) - { - while (($file = readdir($handle))!==false) - { - if (is_dir($dirroot.'/'.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS' && $file != 'includes') - { - if (is_dir($dirroot . '/' . $file . '/core/modules/')) - { - $modulesdir[] = $dirroot . '/' . $file . '/core/modules/'; - } - } - } - closedir($handle); - } - } + $modulesdir = dolGetModulesDirs(); // Loop on each directory $found=false; @@ -884,36 +842,10 @@ function complete_dictionary_with_modules(&$taborder,&$tabname,&$tablib,&$tabsql global $db, $modules, $conf, $langs; // Search modules - $filename = array(); - $modules = array(); - $orders = array(); - $categ = array(); - $dirmod = array(); - $modulesdir = array(); + $modulesdir = dolGetModulesDirs(); $i = 0; // is a sequencer of modules found $j = 0; // j is module number. Automatically affected if module number not defined. - foreach ($conf->file->dol_document_root as $type => $dirroot) - { - $modulesdir[$dirroot . '/core/modules/'] = $dirroot . '/core/modules/'; - - $handle=@opendir($dirroot); - if (is_resource($handle)) - { - while (($file = readdir($handle))!==false) - { - if (is_dir($dirroot.'/'.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS' && $file != 'includes') - { - if (is_dir($dirroot . '/' . $file . '/core/modules/')) - { - $modulesdir[$dirroot . '/' . $file . '/core/modules/'] = $dirroot . '/' . $file . '/core/modules/'; - } - } - } - closedir($handle); - } - } - foreach ($modulesdir as $dir) { // Load modules attributes in arrays (name, numero, orders) from dir directory @@ -963,14 +895,6 @@ function complete_dictionary_with_modules(&$taborder,&$tabname,&$tablib,&$tabsql } } - $modules[$i] = $objMod; - $filename[$i]= $modName; - $orders[$i] = $objMod->family."_".$j; // Tri par famille puis numero module - //print "x".$modName." ".$orders[$i]."\n
    "; - if (isset($categ[$objMod->special])) $categ[$objMod->special]++; // Array of all different modules categories - else $categ[$objMod->special]=1; - $dirmod[$i] = $dirroot; - // Complete arrays //&$tabname,&$tablib,&$tabsql,&$tabsqlsort,&$tabfield,&$tabfieldvalue,&$tabfieldinsert,&$tabrowid,&$tabcond if (empty($objMod->dictionaries) && ! empty($objMod->dictionnaries)) $objMod->dictionaries=$objMod->dictionnaries; // For backward compatibility diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index c979f734b5e..150dd2cadf5 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -94,7 +94,7 @@ function societe_prepare_head(Societe $object) }*/ // Tab to link resources - if ($conf->resource->enabled && ! empty($conf->global->RESOURCE_ON_THIRDPARTIES)) + if (! empty($conf->resource->enabled) && ! empty($conf->global->RESOURCE_ON_THIRDPARTIES)) { $head[$h][0] = DOL_URL_ROOT.'/resource/element_resource.php?element=societe&element_id='.$object->id; $head[$h][1] = $langs->trans("Resources"); @@ -479,7 +479,7 @@ function show_projects($conf,$langs,$db,$object,$backtopage='') } print "\n"; - print_fiche_titre($langs->trans("ProjectsDedicatedToThisThirdParty"),$buttoncreate,''); + print load_fiche_titre($langs->trans("ProjectsDedicatedToThisThirdParty"),$buttoncreate,''); print "\n".'
    '; $sql = "SELECT p.rowid as id, p.title, p.ref, p.public, p.dateo as do, p.datee as de, p.fk_statut as status"; @@ -602,7 +602,7 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='') print "\n"; $title = (! empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans("ContactsForCompany") : $langs->trans("ContactsAddressesForCompany")); - print_fiche_titre($title,$buttoncreate,''); + print load_fiche_titre($title,$buttoncreate,''); print ''; print ''; @@ -816,7 +816,7 @@ function show_addresses($conf,$langs,$db,$object,$backtopage='') } print "\n"; - print_fiche_titre($langs->trans("AddressesForCompany"),$buttoncreate,''); + print load_fiche_titre($langs->trans("AddressesForCompany"),$buttoncreate,''); print "\n".'
    '."\n"; @@ -1394,7 +1394,7 @@ function show_subsidiaries($conf,$langs,$db,$object) { $socstatic = new Societe($db); - print_titre($langs->trans("Subsidiaries")); + print load_fiche_titre($langs->trans("Subsidiaries")); print "\n".'
    '."\n"; print ''; diff --git a/htdocs/core/lib/doleditor.lib.php b/htdocs/core/lib/doleditor.lib.php new file mode 100644 index 00000000000..5be16a4c471 --- /dev/null +++ b/htdocs/core/lib/doleditor.lib.php @@ -0,0 +1,134 @@ + + * Copyright (C) 2010-2012 Regis Houssin + * Copyright (C) 2015 Alexandre Spangaro + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * or see http://www.gnu.org/ + */ + + +/** + * \file htdocs/core/lib/doleditor.lib.php + * \brief Ensemble de fonctions de base pour la gestion des utilisaterus et groupes + */ + +/** + * Show list of ckeditor's themes. + * + * @param User|null $fuser User concerned or null for global theme + * @param int $edit 1 to add edit form + * @return void + */ +function show_skin($fuser,$edit=0) +{ + global $conf,$langs,$db; + global $bc; + + require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; + + $formother = new FormOther($db); + + $dirskins=array('/includes/ckeditor/ckeditor/skins'); + if (! empty($conf->modules_parts['theme'])) // Using this feature slow down application + { + foreach($conf->modules_parts['theme'] as $reldir) + { + $dirskins=array_merge($dirskins,(array) ($reldir.'theme')); + } + } + $dirskins=array_unique($dirskins); + // Now dir_themes=array('/themes') or dir_themes=array('/theme','/mymodule/theme') + + $selected_theme=''; + if (empty($conf->global->FCKEDITOR_SKIN)) $selected_theme='moono'; + else $selected_theme=$conf->global->FCKEDITOR_SKIN; + + $colspan=2; + + $thumbsbyrow=6; + print '
    '.$langs->trans("Company").'
    '; + + $var=false; + + // Title + print ''; + print ''; + + print ''; + print ''; + print ''; + print ''; + + //$var=!$var; + print ''; + + print '
    '.$langs->trans("DefaultSkin").''; + $url='http://ckeditor.com/addons/skins/all'; + /*print ''; + print $langs->trans('DownloadMoreSkins'); + print '';*/ + print '
    '.$langs->trans("ThemeDir").''; + foreach($dirskins as $dirskin) + { + echo '"'.$dirskin.'" '; + } + print '
    '; + + print '
    '; + + $i=0; + foreach($dirskins as $dir) + { + //print $dirroot.$dir;exit; + $dirskin=dol_buildpath($dir,0); // This include loop on $conf->file->dol_document_root + $urltheme=dol_buildpath($dir,1); + + if (is_dir($dirskin)) + { + $handle=opendir($dirskin); + if (is_resource($handle)) + { + while (($subdir = readdir($handle))!==false) + { + if (is_dir($dirskin."/".$subdir) && substr($subdir, 0, 1) <> '.' + && substr($subdir, 0, 3) <> 'CVS' && ! preg_match('/common|phones/i',$subdir)) + { + // Disable not stable themes (dir ends with _exp or _dev) + if ($conf->global->MAIN_FEATURES_LEVEL < 2 && preg_match('/_dev$/i',$subdir)) continue; + if ($conf->global->MAIN_FEATURES_LEVEL < 1 && preg_match('/_exp$/i',$subdir)) continue; + + print '
    '; + if ($subdir == $selected_theme) + { + print ' '.$subdir.''; + } + else + { + print ' '.$subdir; + } + print '
    '; + + $i++; + } + } + } + } + } + + print '
    '; + + print '
    '; +} + diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index 8f6471f4af0..c1b68d0f1b7 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -950,7 +950,7 @@ function dol_move($srcfile, $destfile, $newmask=0, $overwriteifexists=1) else dol_syslog("files.lib.php::dol_move failed", LOG_WARNING); } if (empty($newmask) && ! empty($conf->global->MAIN_UMASK)) $newmask=$conf->global->MAIN_UMASK; - @chmod($newpathofsrcfile, octdec($newmask)); + @chmod($newpathofdestfile, octdec($newmask)); } return $result; diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 93d15eb74f4..f07ff99c72a 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -397,7 +397,7 @@ function dol_clone($object) { dol_syslog(__FUNCTION__ . " is deprecated", LOG_WARNING); - $myclone=clone($object); + $myclone = clone $object; return $myclone; } @@ -693,17 +693,17 @@ function dol_fiche_head($links=array(), $active='0', $title='', $notab=0, $picto * Show tab header of a card * * @param array $links Array of tabs - * @param int $active Active tab name + * @param string $active Active tab name * @param string $title Title * @param int $notab 0=Add tab header, 1=no tab header. If you set this to 1, using dol_fiche_end() to close tab is not required. * @param string $picto Add a picto on tab title * @param int $pictoisfullpath If 1, image path is a full path. If you set this to 1, you can use url returned by dol_buildpath('/mymodyle/img/myimg.png',1) for $picto. * @return string */ -function dol_get_fiche_head($links=array(), $active='0', $title='', $notab=0, $picto='', $pictoisfullpath=0) +function dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0) { - global $conf,$langs; - + global $conf,$langs, $hookmanager; + $out="\n".'
    '."\n"; // Show title @@ -731,6 +731,7 @@ function dol_get_fiche_head($links=array(), $active='0', $title='', $notab=0, $p // if =0 we don't use the feature $limittoshow=(empty($conf->global->MAIN_MAXTABS_IN_CARD)?99:$conf->global->MAIN_MAXTABS_IN_CARD); $displaytab=0; + $nbintab=0; for ($i = 0 ; $i <= $maxkey ; $i++) { @@ -767,7 +768,7 @@ function dol_get_fiche_head($links=array(), $active='0', $title='', $notab=0, $p } else { - $out.=''.$links[$i][1].''."\n"; + $out.=''.$links[$i][1].''."\n"; } } $out.='
    '; @@ -787,6 +788,7 @@ function dol_get_fiche_head($links=array(), $active='0', $title='', $notab=0, $p $outmore.=''.$links[$i][1].''."\n"; $outmore.=''; + $nbintab++; } $displaytab=$i; } @@ -795,20 +797,23 @@ function dol_get_fiche_head($links=array(), $active='0', $title='', $notab=0, $p { $tabsname=str_replace("@", "", $picto); $out.='
    '; - $out.=''.$langs->trans("More").'...'; + $out.=''.$langs->trans("More").' '.$nbintab.''; $out.='
    '.$outmore.'
    '; $out.="
    \n"; $out.=""; } $out.="\n"; - + if (! $notab) $out.="\n".'
    '."\n"; + $parameters=array('tabname' => $active); + $reshook=$hookmanager->executeHooks('printTabsHead',$parameters); // Note that $action and $object may have been modified by some hooks + return $out; } @@ -2731,7 +2736,7 @@ function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $m * @param string $title Title to show * @return string Title to show * @deprecated Use load_fiche_titre instead - * @see print_fiche_titre, load_fiche_titre + * @see load_fiche_titre */ function print_titre($title) { @@ -2847,7 +2852,7 @@ function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $so { if ($totalnboflines) // If we know total nb of lines { - $maxnbofpage=(empty($conf->dol_optimize_smallscreen)?10:3); // nb before and after selected page + $maxnbofpage=(empty($conf->dol_optimize_smallscreen) ? 6 : 3); // nb before and after selected page + ... + first or last $nbpages=ceil($totalnboflines/$conf->liste_limit); $cpt=($page-$maxnbofpage); @@ -2856,8 +2861,10 @@ function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $so if ($cpt>=1) { $pagelist.= 'dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'':'data-role="button" ').'href="'.$file.'?page=0'.$options.'&sortfield='.$sortfield.'&sortorder='.$sortorder.'">1'; - if ($cpt >= 2) $pagelist.='
  • ...
  • '; + if ($cpt > 2) $pagelist.='dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'class="inactive"':'data-role="button"').'>...'; + else if ($cpt == 2) $pagelist.='dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'':'data-role="button" ').'href="'.$file.'?page=1'.$options.'&sortfield='.$sortfield.'&sortorder='.$sortorder.'">2'; } + do { if ($cpt==$page) @@ -2871,9 +2878,11 @@ function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $so $cpt++; } while ($cpt < $nbpages && $cpt<=$page+$maxnbofpage); + if ($cpt<$nbpages) { - if ($cpt<$nbpages-1) $pagelist.= 'dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'class="inactive"':'data-role="button"').'>...'; + if ($cpt<$nbpages-2) $pagelist.= 'dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'class="inactive"':'data-role="button"').'>...'; + else if ($cpt == $nbpages-2) $pagelist.= 'dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'':'data-role="button" ').'href="'.$file.'?page='.($nbpages-2).$options.'&sortfield='.$sortfield.'&sortorder='.$sortorder.'">'.($nbpages - 1).''; $pagelist.= 'dol_use_jmobile)?' class="pagination"':'').'>dol_use_jmobile)?'':'data-role="button" ').'href="'.$file.'?page='.($nbpages-1).$options.'&sortfield='.$sortfield.'&sortorder='.$sortorder.'">'.$nbpages.''; } } @@ -4291,12 +4300,16 @@ function dolGetFirstLastname($firstname,$lastname,$nameorder=-1) $ret=''; // If order not defined, we use the setup if ($nameorder < 0) $nameorder=(empty($conf->global->MAIN_FIRSTNAME_NAME_POSITION)); - if ($nameorder) + if ($nameorder && ((string) $nameorder != '2')) { - $ret.=$firstname; + $ret.=$firstname; if ($firstname && $lastname) $ret.=' '; $ret.=$lastname; } + else if ($nameorder == 2) + { + $ret.=$firstname; + } else { $ret.=$lastname; @@ -4385,15 +4398,17 @@ function dol_htmloutput_events() /** * Get formated messages to output (Used to show messages on html output). + * This include also the translation of the message key. * - * @param string $mesgstring Message string - * @param array $mesgarray Messages array + * @param string $mesgstring Message string or message key + * @param string[] $mesgarray Array of message strings or message keys * @param string $style Style of message output ('ok' or 'error') * @param int $keepembedded Set to 1 in error message must be kept embedded into its html place (this disable jnotify) * @return string Return html output * * @see dol_print_error * @see dol_htmloutput_errors + * @see setEventMessages */ function get_htmloutput_mesg($mesgstring='',$mesgarray='', $style='ok', $keepembedded=0) { @@ -4478,14 +4493,15 @@ function get_htmloutput_errors($mesgstring='', $mesgarray='', $keepembedded=0) /** * Print formated messages to output (Used to show messages on html output). * - * @param string $mesgstring Message - * @param array $mesgarray Messages array - * @param string $style Which style to use ('ok', 'warning', 'error') - * @param int $keepembedded Set to 1 if message must be kept embedded into its html place (this disable jnotify) + * @param string $mesgstring Message string or message key + * @param string[] $mesgarray Array of message strings or message keys + * @param string $style Which style to use ('ok', 'warning', 'error') + * @param int $keepembedded Set to 1 if message must be kept embedded into its html place (this disable jnotify) * @return void * * @see dol_print_error * @see dol_htmloutput_errors + * @see setEventMessages */ function dol_htmloutput_mesg($mesgstring='',$mesgarray='', $style='ok', $keepembedded=0) { @@ -4839,6 +4855,8 @@ function complete_head_from_modules($conf,$langs,$object,&$head,&$h,$type,$mode= } else if (count($values) == 5) // deprecated { + dol_syslog('Passing 5 values in tabs module_parts is deprecated. Please update to 6 with permissions.', LOG_WARNING); + if ($values[0] != $type) continue; if ($values[3]) $langs->load($values[3]); if (preg_match('/SUBSTITUTION_([^_]+)/i',$values[2],$reg)) @@ -4885,7 +4903,7 @@ function complete_head_from_modules($conf,$langs,$object,&$head,&$h,$type,$mode= */ function printCommonFooter($zone='private') { - global $conf; + global $conf, $hookmanager; global $micro_start_time; if ($zone == 'private') print "\n".''."\n"; @@ -4922,7 +4940,7 @@ function printCommonFooter($zone='private') print 'MAIN_OPTIMIZE_SPEED='.(isset($conf->global->MAIN_OPTIMIZE_SPEED)?$conf->global->MAIN_OPTIMIZE_SPEED:'off'); if ($micro_start_time) { - $micro_end_time=dol_microtime_float(); + $micro_end_time = microtime(true); print ' - Build time: '.ceil(1000*($micro_end_time-$micro_start_time)).' ms'; } if (function_exists("memory_get_usage")) @@ -4963,6 +4981,8 @@ function printCommonFooter($zone='private') print "End of log output -->\n"; } + $parameters=array(); + $reshook=$hookmanager->executeHooks('printCommonFooter',$parameters); // Note that $action and $object may have been modified by some hooks } /** diff --git a/htdocs/core/lib/functions2.lib.php b/htdocs/core/lib/functions2.lib.php index 9c77729ac5a..651e4ea54ac 100644 --- a/htdocs/core/lib/functions2.lib.php +++ b/htdocs/core/lib/functions2.lib.php @@ -1,9 +1,10 @@ - * Copyright (C) 2008-2012 Regis Houssin - * Copyright (C) 2008 Raphael Bertrand (Resultic) +/* Copyright (C) 2008-2011 Laurent Destailleur + * Copyright (C) 2008-2012 Regis Houssin + * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2014 Marcos García * Copyright (C) 2015 Ferran Marcet + * Copyright (C) 2015 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -104,7 +105,9 @@ function dolGetModulesDirs($subdir='') foreach ($conf->file->dol_document_root as $type => $dirroot) { // Default core/modules dir - $modulesdir[$dirroot . '/core/modules'.$subdir.'/'] = $dirroot . '/core/modules'.$subdir.'/'; + if ($type === 'main') { + $modulesdir[$dirroot . '/core/modules' . $subdir . '/'] = $dirroot . '/core/modules' . $subdir . '/'; + } // Scan dir from external modules $handle=@opendir($dirroot); diff --git a/htdocs/core/lib/json.lib.php b/htdocs/core/lib/json.lib.php index 5a87e253758..6b868663aa7 100644 --- a/htdocs/core/lib/json.lib.php +++ b/htdocs/core/lib/json.lib.php @@ -43,9 +43,12 @@ if (! function_exists('json_encode')) * @param mixed $elements PHP Object to json encode * @return string Json encoded string * @deprecated PHP >= 5.3 supports native json_encode + * @see json_encode() */ function dol_json_encode($elements) { + dol_syslog('dol_json_encode() is deprecated. Please update your code to use native json_encode().', LOG_WARNING); + $num=count($elements); if (is_object($elements)) // Count number of properties for an object { @@ -221,9 +224,12 @@ if (! function_exists('json_decode')) * @param bool $assoc False return an object, true return an array. Try to always use it with true ! * @return mixed Object or Array or false on error * @deprecated PHP >= 5.3 supports native json_decode + * @see json_decode() */ function dol_json_decode($json, $assoc=false) { + dol_syslog('dol_json_decode() is deprecated. Please update your code to use native json_decode().', LOG_WARNING); + $comment = false; $out=''; diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 8beae962d09..e2aabec427a 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -290,6 +290,55 @@ function pdf_getHeightForLogo($logo, $url = false) return $height; } +/** + * Function to try to calculate height of a HTML Content + * + * @param TCPDF $pdf PDF initialized object + * @param string $htmlcontent HTML Contect + * @see getStringHeight + */ +function pdfGetHeightForHtmlContent(&$pdf, $htmlcontent) +{ + // store current object + $pdf->startTransaction(); + // store starting values + $start_y = $pdf->GetY(); + var_dump($start_y); + $start_page = $pdf->getPage(); + // call your printing functions with your parameters + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + $pdf->writeHTMLCell(0, 0, 0, $start_y, $htmlcontent, 0, 1, false, true, 'J',true); + // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + // get the new Y + $end_y = $pdf->GetY(); + $end_page = $pdf->getPage(); + // calculate height + $height = 0; + if ($end_page == $start_page) { + $height = $end_y - $start_y; + } + else + { + for ($page=$start_page; $page <= $end_page; ++$page) { + $this->setPage($page); + if ($page == $start_page) { + // first page + $height = $this->h - $start_y - $this->bMargin; + } elseif ($page == $end_page) { + // last page + $height = $end_y - $this->tMargin; + } else { + $height = $this->h - $this->tMargin - $this->bMargin; + } + } + } + // restore previous object + $pdf = $pdf->rollbackTransaction(); + + return $height; +} + + /** * Returns the name of the thirdparty * @@ -854,11 +903,20 @@ function pdf_pagefoot(&$pdf,$outputlangs,$paramfreetext,$fromcompany,$marge_bass $freetextheight=0; if ($line) // Free text { - $width=20000; $align='L'; // By default, ask a manual break: We use a large value 20000, to not have automatic wrap. This make user understand, he need to add CR on its text. - if (! empty($conf->global->MAIN_USE_AUTOWRAP_ON_FREETEXT)) { - $width=200; $align='C'; + //$line="eee
    \nfdsfsdf
    \nghfghg
    "; + if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) // by default + { + $width=20000; $align='L'; // By default, ask a manual break: We use a large value 20000, to not have automatic wrap. This make user understand, he need to add CR on its text. + if (! empty($conf->global->MAIN_USE_AUTOWRAP_ON_FREETEXT)) { + $width=200; $align='C'; + } + $freetextheight=$pdf->getStringHeight($width,$line); + } + else + { + $freetextheight=pdfGetHeightForHtmlContent($pdf,dol_htmlentitiesbr($line, 1, 'UTF-8', 0)); // New method (works for HTML content) + //print '
    '.$freetextheight;exit; } - $freetextheight=$pdf->getStringHeight($width,$line); } $marginwithfooter=$marge_basse + $freetextheight + (! empty($line1)?3:0) + (! empty($line2)?3:0) + (! empty($line3)?3:0) + (! empty($line4)?3:0); @@ -867,7 +925,14 @@ function pdf_pagefoot(&$pdf,$outputlangs,$paramfreetext,$fromcompany,$marge_bass if ($line) // Free text { $pdf->SetXY($dims['lm'],-$posy); - $pdf->MultiCell(0, 3, $line, 0, $align, 0); + if (empty($conf->global->PDF_ALLOW_HTML_FOR_FREE_TEXT)) // by default + { + $pdf->MultiCell(0, 3, $line, 0, $align, 0); + } + else + { + $pdf->writeHTMLCell($pdf->page_largeur - $pdf->margin_left - $pdf->margin_right, $freetextheight, $dims['lm'], $dims['hk']-$marginwithfooter, dol_htmlentitiesbr($line, 1, 'UTF-8', 0)); + } $posy-=$freetextheight; } @@ -1276,7 +1341,10 @@ function pdf_getlinevatrate($object,$i,$outputlangs,$hidedetails=0) if (! empty($object->lines[$i]->fk_parent_line)) $special_code = $object->getSpecialCode($object->lines[$i]->fk_parent_line); $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; - return $hookmanager->executeHooks('pdf_getlinevatrate',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + $reshook = $hookmanager->executeHooks('pdf_getlinevatrate',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + + if(!empty($hookmanager->resPrint)) return $hookmanager->resPrint; + else return $reshook; } else { @@ -1306,7 +1374,10 @@ function pdf_getlineupexcltax($object,$i,$outputlangs,$hidedetails=0) if (! empty($object->lines[$i]->fk_parent_line)) $special_code = $object->getSpecialCode($object->lines[$i]->fk_parent_line); $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; - return $hookmanager->executeHooks('pdf_getlineupexcltax',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + $reshook = $hookmanager->executeHooks('pdf_getlineupexcltax',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + + if(!empty($hookmanager->resPrint)) return $hookmanager->resPrint; + else return $reshook; } else { @@ -1363,7 +1434,11 @@ function pdf_getlineqty($object,$i,$outputlangs,$hidedetails=0) if (! empty($object->lines[$i]->fk_parent_line)) $special_code = $object->getSpecialCode($object->lines[$i]->fk_parent_line); $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; - return $hookmanager->executeHooks('pdf_getlineqty',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + $reshook = $hookmanager->executeHooks('pdf_getlineqty',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + + if(!empty($hookmanager->resPrint)) return $hookmanager->resPrint; + else return $reshook; + } else { @@ -1393,7 +1468,10 @@ function pdf_getlineqty_asked($object,$i,$outputlangs,$hidedetails=0) if (! empty($object->lines[$i]->fk_parent_line)) $special_code = $object->getSpecialCode($object->lines[$i]->fk_parent_line); $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; - return $hookmanager->executeHooks('pdf_getlineqty_asked',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + $reshook = $hookmanager->executeHooks('pdf_getlineqty_asked',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + + if(!empty($hookmanager->resPrint)) return $hookmanager->resPrint; + else return $reshook; } else { @@ -1423,7 +1501,10 @@ function pdf_getlineqty_shipped($object,$i,$outputlangs,$hidedetails=0) if (! empty($object->lines[$i]->fk_parent_line)) $special_code = $object->getSpecialCode($object->lines[$i]->fk_parent_line); $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; - return $hookmanager->executeHooks('pdf_getlineqty_shipped',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + $reshook = $hookmanager->executeHooks('pdf_getlineqty_shipped',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + + if(!empty($hookmanager->resPrint)) return $hookmanager->resPrint; + else return $reshook; } else { @@ -1453,7 +1534,10 @@ function pdf_getlineqty_keeptoship($object,$i,$outputlangs,$hidedetails=0) if (! empty($object->lines[$i]->fk_parent_line)) $special_code = $object->getSpecialCode($object->lines[$i]->fk_parent_line); $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; - return $hookmanager->executeHooks('pdf_getlineqty_keeptoship',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + $reshook = $hookmanager->executeHooks('pdf_getlineqty_keeptoship',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + + if(!empty($hookmanager->resPrint)) return $hookmanager->resPrint; + else return $reshook; } else { @@ -1488,8 +1572,12 @@ function pdf_getlineunit($object, $i, $outputlangs, $hidedetails = 0, $hookmanag 'special_code' => $special_code ); $action = ''; - return $hookmanager->executeHooks('pdf_getlineunit', $parameters, $object, + $reshook = $hookmanager->executeHooks('pdf_getlineunit', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks + + if(!empty($hookmanager->resPrint)) return $hookmanager->resPrint; + else return $reshook; + } else { if (empty($hidedetails) || $hidedetails > 1) { return $langs->transnoentitiesnoconv($object->lines[$i]->getLabelOfUnit('short')); @@ -1522,7 +1610,10 @@ function pdf_getlineremisepercent($object,$i,$outputlangs,$hidedetails=0) if (! empty($object->lines[$i]->fk_parent_line)) $special_code = $object->getSpecialCode($object->lines[$i]->fk_parent_line); $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; - return $hookmanager->executeHooks('pdf_getlineremisepercent',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + $reshook = $hookmanager->executeHooks('pdf_getlineremisepercent',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + + if(!empty($hookmanager->resPrint)) return $hookmanager->resPrint; + else return $reshook; } else { @@ -1549,7 +1640,10 @@ function pdf_getlineprogress($object, $i, $outputlangs, $hidedetails = 0, $hookm if (!empty($object->lines[$i]->fk_parent_line)) $special_code = $object->getSpecialCode($object->lines[$i]->fk_parent_line); $parameters = array('i' => $i, 'outputlangs' => $outputlangs, 'hidedetails' => $hidedetails, 'special_code' => $special_code); $action = ''; - return $hookmanager->executeHooks('pdf_getlineprogress', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks + $reshook = $hookmanager->executeHooks('pdf_getlineprogress', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks + + if(!empty($hookmanager->resPrint)) return $hookmanager->resPrint; + else return $reshook; } else { if (empty($hidedetails) || $hidedetails > 1) return $object->lines[$i]->situation_percent . '%'; } @@ -1584,7 +1678,10 @@ function pdf_getlinetotalexcltax($object,$i,$outputlangs,$hidedetails=0) if (! empty($object->lines[$i]->fk_parent_line)) $special_code = $object->getSpecialCode($object->lines[$i]->fk_parent_line); $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; - return $hookmanager->executeHooks('pdf_getlinetotalexcltax',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + $reshook = $hookmanager->executeHooks('pdf_getlinetotalexcltax',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + + if(!empty($hookmanager->resPrint)) return $hookmanager->resPrint; + else return $reshook; } else { @@ -1619,7 +1716,10 @@ function pdf_getlinetotalwithtax($object,$i,$outputlangs,$hidedetails=0) if (! empty($object->lines[$i]->fk_parent_line)) $special_code = $object->getSpecialCode($object->lines[$i]->fk_parent_line); $parameters = array('i'=>$i,'outputlangs'=>$outputlangs,'hidedetails'=>$hidedetails,'special_code'=>$special_code); $action=''; - return $hookmanager->executeHooks('pdf_getlinetotalwithtax',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + $reshook = $hookmanager->executeHooks('pdf_getlinetotalwithtax',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + + if(!empty($hookmanager->resPrint)) return $hookmanager->resPrint; + else return $reshook; } else { @@ -1743,7 +1843,7 @@ function pdf_getLinkedObjects($object,$outputlangs) else // We show both info of order and shipment { $linkedobjects[$objecttype]['ref_title'] = $outputlangs->transnoentities("RefOrder") . ' / ' . $outputlangs->transnoentities("RefSending"); - $linkedobjects[$objecttype]['ref_value'] = $outputlangs->transnoentities($order->ref) . ($order->ref_client ? ' ('.$order->ref_client.')' : ''); + $linkedobjects[$objecttype]['ref_value'] = $outputlangs->convToOutputCharset($order->ref) . ($order->ref_client ? ' ('.$order->ref_client.')' : ''); $linkedobjects[$objecttype]['ref_value'].= ' / ' . $outputlangs->transnoentities($elementobject->ref); $linkedobjects[$objecttype]['date_title'] = $outputlangs->transnoentities("OrderDate") . ' / ' . $outputlangs->transnoentities("DateSending"); $linkedobjects[$objecttype]['date_value'] = dol_print_date($order->date,'day','',$outputlangs); diff --git a/htdocs/core/lib/salaries.lib.php b/htdocs/core/lib/salaries.lib.php index 7c104b4da82..6b25de4b656 100644 --- a/htdocs/core/lib/salaries.lib.php +++ b/htdocs/core/lib/salaries.lib.php @@ -51,12 +51,10 @@ function salaries_prepare_head($object) { $head[$h][2] = 'documents'; $h++; - /* $head[$h][0] = DOL_URL_ROOT.'/compta/salaries/info.php?id='.$object->id; $head[$h][1] = $langs->trans("Info"); $head[$h][2] = 'info'; $h++; - */ complete_head_from_modules($conf,$langs,$object,$head,$h,'salaries', 'remove'); diff --git a/htdocs/core/lib/sendings.lib.php b/htdocs/core/lib/sendings.lib.php index 1c0c589870e..50e3b1e97be 100644 --- a/htdocs/core/lib/sendings.lib.php +++ b/htdocs/core/lib/sendings.lib.php @@ -184,8 +184,8 @@ function show_list_sending_receive($origin,$origin_id,$filter='') if ($num) { - if ($filter) print_titre($langs->trans("OtherSendingsForSameOrder")); - else print_titre($langs->trans("SendingsAndReceivingForSameOrder")); + if ($filter) print load_fiche_titre($langs->trans("OtherSendingsForSameOrder")); + else print load_fiche_titre($langs->trans("SendingsAndReceivingForSameOrder")); print ''; print ''; diff --git a/htdocs/core/lib/tax.lib.php b/htdocs/core/lib/tax.lib.php index b2b99d34d3b..2387332e670 100644 --- a/htdocs/core/lib/tax.lib.php +++ b/htdocs/core/lib/tax.lib.php @@ -79,7 +79,7 @@ function tax_prepare_head(ChargeSociales $object) * @param int $y Year * @param string $date_start Start date * @param string $date_end End date - * @param int $modetax 0 or 1 (option vat on debit) + * @param int $modetax 0 or 1 (option vat on debit, 1 => $modecompta = 'CREANCES-DETTES') * @param string $direction 'sell' or 'buy' * @param int $m Month * @return array List of customers third parties with vat, -1 if no accountancy module, -2 if not yet developped, -3 if error diff --git a/htdocs/core/lib/usergroups.lib.php b/htdocs/core/lib/usergroups.lib.php index 5dc17962e14..cb62b63377f 100644 --- a/htdocs/core/lib/usergroups.lib.php +++ b/htdocs/core/lib/usergroups.lib.php @@ -277,6 +277,10 @@ function show_theme($fuser,$edit=0,$foruserprofile=false) if (empty($foruserprofile)) $selected_theme=$conf->global->MAIN_THEME; else $selected_theme=((is_object($fuser) && ! empty($fuser->conf->MAIN_THEME))?$fuser->conf->MAIN_THEME:''); + $hoverdisabled=''; + if (empty($foruserprofile)) $hoverdisabled=(isset($conf->global->THEME_ELDY_USE_HOVER) && $conf->global->THEME_ELDY_USE_HOVER == '0'); + else $hoverdisabled=(is_object($fuser)?(empty($fuser->conf->THEME_ELDY_USE_HOVER) || $fuser->conf->THEME_ELDY_USE_HOVER == '0'):''); + $colspan=2; if ($foruserprofile) $colspan=4; @@ -295,7 +299,7 @@ function show_theme($fuser,$edit=0,$foruserprofile=false) print ''; print ''; print ''; - print ''; + print ''; print ''; print ''; } @@ -359,11 +363,11 @@ function show_theme($fuser,$edit=0,$foruserprofile=false) print '
    '; if ($subdir == $selected_theme) { - print ''.$subdir.''; + print ''.$subdir.''; } else { - print ' '.$subdir; + print ' '.$subdir; } print ''; @@ -378,57 +382,116 @@ function show_theme($fuser,$edit=0,$foruserprofile=false) print ''; - if (! $foruserprofile) + // Use Hover + $var=!$var; + if ($foruserprofile) + { + /* Must first change option to choose color of highlight insteado of yes or no. + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + */ + } + else + { + print ''; + print ''; + print ''; + print ''; + } + + // TopMenuBackgroundColor + if ($foruserprofile) + { + /*$var=!$var; + print ''; + print ''; + print ''; + print ''; + print '';*/ + } + else { $var=!$var; print ''; - print ''; - $hoverdisabled=(isset($conf->global->THEME_ELDY_USE_HOVER) && $conf->global->THEME_ELDY_USE_HOVER == '0'); - print ''; + print ''; + } + + // BackgroundTableTitleColor + if ($foruserprofile) + { + + + } + else + { + $var=!$var; + print ''; + print ''; + print ''; - print ''; - - //if ($conf->theme == 'eldy') - //{ - // TopMenuBackgroundColor - $var=!$var; - print ''; - print ''; - print ''; - - // BackgroundTableTitleColor - $var=!$var; - print ''; - print ''; - print ''; - //} print ''; } - + print '
    '.$langs->trans("DefaultSkin").''.$conf->global->MAIN_THEME.' '.$langs->trans("UsePersonalValue").' '.$langs->trans("UsePersonalValue").' 
    '.$langs->trans("HighlightLinesOnMouseHover").'global->THEME_ELDY_USE_HOVER?" checked":"").'> '.$langs->trans("UsePersonalValue").''; + print '   ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')'; + print '
    '.$langs->trans("HighlightLinesColor").''; + //print ''; + //print '   ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')'; + if ($edit) + { + if ($conf->global->THEME_ELDY_USE_HOVER == '1') $color='edf4fb'; + else $color = colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_USE_HOVER,array()),''); + print $formother->selectColor($color,'THEME_ELDY_USE_HOVER','formcolor',1).' '; + } + else + { + if ($conf->global->THEME_ELDY_USE_HOVER == '1') $color='edf4fb'; + else $color = colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_USE_HOVER,array()),''); + if ($color) print ''; + else print $langs->trans("None"); + } + print '   ('.$langs->trans("Default").': edf4fb, '.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')'; + print '
    '.$langs->trans("TopMenuBackgroundColor").''.($conf->global->THEME_ELDY_TOPMENU_BACK1?$conf->global->THEME_ELDY_TOPMENU_BACK1:$langs->trans("Default")).'conf->THEME_ELDY_TOPMENU_BACK1)?" checked":""); + print (empty($dolibarr_main_demo) && $edit)?'':' disabled="disabled"'; // Disabled for demo + print '> '.$langs->trans("UsePersonalValue").''; + if ($edit) + { + print $formother->selectColor(colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_TOPMENU_BACK1,array()),''),'THEME_ELDY_TOPMENU_BACK1','formcolor',1).' '; + } + else + { + $color = colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_TOPMENU_BACK1,array()),''); + if ($color) print ''; + else print ''; + } + if ($edit) print '
    ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')'; + print '
    '.$langs->trans("HighlightLinesOnMouseHover").''; - print '   ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')'; + print ''.$langs->trans("TopMenuBackgroundColor").''; + if ($edit) + { + print $formother->selectColor(colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_TOPMENU_BACK1,array()),''),'THEME_ELDY_TOPMENU_BACK1','formcolor',1).' '; + } + else + { + $color = colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_TOPMENU_BACK1,array()),''); + if ($color) print ''; + else print $langs->trans("Default"); + } + print '   ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')'; + print '
    '.$langs->trans("BackgroundTableTitleColor").''; + if ($edit) + { + print $formother->selectColor(colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_BACKTITLE1,array()),''),'THEME_ELDY_BACKTITLE1','formcolor',1).' '; + } + else + { + print $formother->showColor($conf->global->THEME_ELDY_BACKTITLE1, $langs->trans("Default")); + } + print '   ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')'; print '
    '.$langs->trans("TopMenuBackgroundColor").''; - if ($edit) - { - print $formother->selectColor(colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_TOPMENU_BACK1,array()),''),'THEME_ELDY_TOPMENU_BACK1','formcolor',1).' '; - } - else - { - $color = colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_TOPMENU_BACK1,array()),''); - if ($color) print ''; - else print $langs->trans("Default"); - } - print '   ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')'; - print '
    '.$langs->trans("BackgroundTableTitleColor").''; - if ($edit) - { - print $formother->selectColor(colorArrayToHex(colorStringToArray($conf->global->THEME_ELDY_BACKTITLE1,array()),''),'THEME_ELDY_BACKTITLE1','formcolor',1).' '; - } - else - { - print $formother->showColor($conf->global->THEME_ELDY_BACKTITLE1, $langs->trans("Default")); - } - print '   ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')'; - print '
    '; } diff --git a/htdocs/core/lib/xcal.lib.php b/htdocs/core/lib/xcal.lib.php index 5927bf97674..14cda539291 100644 --- a/htdocs/core/lib/xcal.lib.php +++ b/htdocs/core/lib/xcal.lib.php @@ -59,12 +59,14 @@ function build_calfile($format,$title,$desc,$events_array,$outputfile) fwrite($calfileh,"CALSCALE:GREGORIAN\n"); fwrite($calfileh,"X-WR-CALNAME:".$encoding.format_cal($format,$title)."\n"); fwrite($calfileh,"X-WR-CALDESC:".$encoding.format_cal($format,$desc)."\n"); - $hh=convertSecondToTime($conf->global->MAIN_AGENDA_EXPORT_CACHE,'hour'); - $mm=convertSecondToTime($conf->global->MAIN_AGENDA_EXPORT_CACHE,'min'); - $ss=convertSecondToTime($conf->global->MAIN_AGENDA_EXPORT_CACHE,'sec'); //fwrite($calfileh,"X-WR-TIMEZONE:Europe/Paris\n"); if (! empty($conf->global->MAIN_AGENDA_EXPORT_CACHE) - && $conf->global->MAIN_AGENDA_EXPORT_CACHE > 60) fwrite($calfileh,"X-PUBLISHED-TTL: P".$hh."H".$mm."M".$ss."S\n"); + && $conf->global->MAIN_AGENDA_EXPORT_CACHE > 60){ + $hh=convertSecondToTime($conf->global->MAIN_AGENDA_EXPORT_CACHE,'hour'); + $mm=convertSecondToTime($conf->global->MAIN_AGENDA_EXPORT_CACHE,'min'); + $ss=convertSecondToTime($conf->global->MAIN_AGENDA_EXPORT_CACHE,'sec'); + fwrite($calfileh,"X-PUBLISHED-TTL: P".$hh."H".$mm."M".$ss."S\n"); + } foreach ($events_array as $date => $event) { diff --git a/htdocs/core/menus/init_menu_auguria.sql b/htdocs/core/menus/init_menu_auguria.sql index b75bc8b21f1..b1bc55be0a8 100644 --- a/htdocs/core/menus/init_menu_auguria.sql +++ b/htdocs/core/menus/init_menu_auguria.sql @@ -200,8 +200,8 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2251__+MAX_llx_menu__, 'accountancy', '', 2250__+MAX_llx_menu__, '/compta/sociales/charges.php?leftmenu=tax_social&action=create', 'MenuNewSocialContribution', 2, '', '$user->rights->tax->charges->creer', '', 0, 2, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2252__+MAX_llx_menu__, 'accountancy', '', 2250__+MAX_llx_menu__, '/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly', 'Payments', 2, '', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS)', __HANDLER__, 'left', 2300__+MAX_llx_menu__, 'accountancy', 'tax_vat', 2200__+MAX_llx_menu__, '/compta/tva/index.php?leftmenu=tax_vat&mainmenu=accountancy', 'VAT', 1, 'companies', '$user->rights->tax->charges->lire', '', 0, 7, __ENTITY__); -insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2301__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/card.php?leftmenu=tax_vat&action=create', 'NewPayment', 2, 'companies', '$user->rights->tax->charges->creer', '', 0, 0, __ENTITY__); -insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2302__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/reglement.php?leftmenu=tax_vat', 'Payments', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2301__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/card.php?leftmenu=tax_vat&action=create', 'New', 2, 'companies', '$user->rights->tax->charges->creer', '', 0, 0, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2302__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/reglement.php?leftmenu=tax_vat', 'List', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2303__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/clients.php?leftmenu=tax_vat', 'ReportByCustomers', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 2, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && empty($conf->global->TAX_DISABLE_VAT_MENUS) && $leftmenu=="tax_vat"', __HANDLER__, 'left', 2304__+MAX_llx_menu__, 'accountancy', '', 2300__+MAX_llx_menu__, '/compta/tva/quadri_detail.php?leftmenu=tax_vat', 'ReportByQuarter', 2, 'companies', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__); -- Ventilation (accounting) @@ -299,7 +299,7 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->adherent->enabled && $conf->categorie->enabled', __HANDLER__, 'left', 5200__+MAX_llx_menu__, 'members', 'cat', 13__+MAX_llx_menu__, '/categories/index.php?leftmenu=cat&type=3', 'MembersCategoriesShort', 0, 'categories', '$user->rights->categorie->lire', '', 2, 3, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->adherent->enabled && $conf->categorie->enabled', __HANDLER__, 'left', 5201__+MAX_llx_menu__, 'members', '', 5200__+MAX_llx_menu__, '/categories/card.php?action=create&type=3', 'NewCategory', 1, 'categories', '$user->rights->categorie->creer', '', 2, 0, __ENTITY__); -- HRM - Holiday -insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5000__+MAX_llx_menu__, 'hrm', 'hrm', 15__+MAX_llx_menu__, '/holiday/index.php?&leftmenu=hrm', 'CPTitreMenu', 0, 'holiday', '$user->rights->holiday->write', '', 0, 1, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5000__+MAX_llx_menu__, 'hrm', 'hrm', 15__+MAX_llx_menu__, '/holiday/list.php?&leftmenu=hrm', 'CPTitreMenu', 0, 'holiday', '$user->rights->holiday->write', '', 0, 1, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5001__+MAX_llx_menu__, 'hrm', '', 5000__+MAX_llx_menu__, '/holiday/card.php?&action=request', 'MenuAddCP', 1, 'holiday', '$user->rights->holiday->write', '', 0, 1, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5002__+MAX_llx_menu__, 'hrm', '', 5000__+MAX_llx_menu__, '/holiday/define_holiday.php?&action=request', 'MenuConfCP', 1, 'holiday', '$user->rights->holiday->define_holiday', '', 0, 2, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->holiday->enabled', __HANDLER__, 'left', 5003__+MAX_llx_menu__, 'hrm', '', 5000__+MAX_llx_menu__, '/holiday/view_log.php?&action=request', 'MenuLogCP', 1, 'holiday', '$user->rights->holiday->view_log', '', 0, 3, __ENTITY__); diff --git a/htdocs/core/menus/standard/auguria.lib.php b/htdocs/core/menus/standard/auguria.lib.php index 15057d6f3d7..1cafd091521 100644 --- a/htdocs/core/menus/standard/auguria.lib.php +++ b/htdocs/core/menus/standard/auguria.lib.php @@ -61,17 +61,19 @@ function print_auguria_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0) if ($showmode == 1) { $url = $shorturl = $newTabMenu[$i]['url']; + if (! preg_match("/^(http:\/\/|https:\/\/)/i",$newTabMenu[$i]['url'])) { $tmp=explode('?',$newTabMenu[$i]['url'],2); $url = $shorturl = $tmp[0]; $param = (isset($tmp[1])?$tmp[1]:''); - if (! preg_match('/mainmenu/i',$url) || ! preg_match('/leftmenu/i',$url)) $param.=($param?'&':'').'mainmenu='.$newTabMenu[$i]['mainmenu'].'&leftmenu='; + if (! preg_match('/mainmenu/i',$param) || ! preg_match('/leftmenu/i',$param)) $param.=($param?'&':'').'mainmenu='.$newTabMenu[$i]['mainmenu'].'&leftmenu='; //$url.="idmenu=".$newTabMenu[$i]['rowid']; // Already done by menuLoad $url = dol_buildpath($url,1).($param?'?'.$param:''); $shorturl = $shorturl.($param?'?'.$param:''); } + $url=preg_replace('/__LOGIN__/',$user->login,$url); $shorturl=preg_replace('/__LOGIN__/',$user->login,$shorturl); $url=preg_replace('/__USERID__/',$user->id,$url); @@ -233,7 +235,7 @@ function print_left_auguria_menu($db,$menu_array_before,$menu_array_after,&$tabM } $title=$langs->trans("GoIntoSetupToChangeLogo"); print "\n".''."\n"; - print '
    '."\n"; + print '
    product->enabled) || ! empty($conf->service->enabled)) { ?> - + "> @@ -552,7 +552,7 @@ jQuery(document).ready(function() { /* Define default price at loading */ var defaultprice = $("#fournprice_predef").find('option:selected').attr("price"); - $("#buying_price").val(defaultprice); + $("#buying_price").val(Math.round(defaultprice,global->MAIN_MAX_DECIMALS_UNIT ? $conf->global->MAIN_MAX_DECIMALS_UNIT : 5); ?>)); $("#fournprice_predef").change(function() { /* Hide field buying_price according to choice into list (if 'inputprice' or not) */ diff --git a/htdocs/core/tpl/objectline_edit.tpl.php b/htdocs/core/tpl/objectline_edit.tpl.php index 4b024175423..d61831cfec2 100644 --- a/htdocs/core/tpl/objectline_edit.tpl.php +++ b/htdocs/core/tpl/objectline_edit.tpl.php @@ -172,7 +172,7 @@ $coldisplay=-1; // We remove first td product->enabled) || ! empty($conf->service->enabled)) { ?> - + diff --git a/htdocs/core/triggers/interface_50_modLdap_Ldapsynchro.class.php b/htdocs/core/triggers/interface_50_modLdap_Ldapsynchro.class.php index 652a1ec8d6b..7a63a5cdeec 100644 --- a/htdocs/core/triggers/interface_50_modLdap_Ldapsynchro.class.php +++ b/htdocs/core/triggers/interface_50_modLdap_Ldapsynchro.class.php @@ -89,7 +89,7 @@ class InterfaceLdapsynchro extends DolibarrTriggers if (empty($object->oldcopy) || ! is_object($object->oldcopy)) { dol_syslog("Trigger ".$action." was called by a function that did not set previously the property ->oldcopy onto object", LOG_WARNING); - $object->oldcopy=dol_clone($object); + $object->oldcopy = clone $object; } $oldinfo=$object->oldcopy->_load_ldap_info(); @@ -126,7 +126,7 @@ class InterfaceLdapsynchro extends DolibarrTriggers if (empty($object->oldcopy) || ! is_object($object->oldcopy)) { dol_syslog("Trigger ".$action." was called by a function that did not set previously the property ->oldcopy onto object", LOG_WARNING); - $object->oldcopy=dol_clone($object); + $object->oldcopy = clone $object; } $oldinfo=$object->oldcopy->_load_ldap_info(); @@ -287,7 +287,7 @@ class InterfaceLdapsynchro extends DolibarrTriggers if (empty($object->oldcopy) || ! is_object($object->oldcopy)) { dol_syslog("Trigger ".$action." was called by a function that did not set previously the property ->oldcopy onto object", LOG_WARNING); - $object->oldcopy=dol_clone($object); + $object->oldcopy = clone $object; } $oldinfo=$object->oldcopy->_load_ldap_info(); @@ -364,7 +364,7 @@ class InterfaceLdapsynchro extends DolibarrTriggers if (empty($object->oldcopy) || ! is_object($object->oldcopy)) { dol_syslog("Trigger ".$action." was called by a function that did not set previously the property ->oldcopy onto object", LOG_WARNING); - $object->oldcopy=dol_clone($object); + $object->oldcopy = clone $object; } $oldinfo=$object->oldcopy->_load_ldap_info(); @@ -493,7 +493,7 @@ class InterfaceLdapsynchro extends DolibarrTriggers if (empty($object->oldcopy) || ! is_object($object->oldcopy)) { dol_syslog("Trigger ".$action." was called by a function that did not set previously the property ->oldcopy onto object", LOG_WARNING); - $object->oldcopy=dol_clone($object); + $object->oldcopy = clone $object; } $oldinfo=$object->oldcopy->_load_ldap_info(); diff --git a/htdocs/cron/admin/cron.php b/htdocs/cron/admin/cron.php index 0c8e310d2dd..6dc81bcc6a3 100644 --- a/htdocs/cron/admin/cron.php +++ b/htdocs/cron/admin/cron.php @@ -66,7 +66,7 @@ if (!empty($actionsave)) llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("CronSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("CronSetup"),$linkback,'title_setup'); // Configuration header $head = cronadmin_prepare_head(); diff --git a/htdocs/cron/card.php b/htdocs/cron/card.php index f2c4a93e030..5e2766345de 100644 --- a/htdocs/cron/card.php +++ b/htdocs/cron/card.php @@ -230,7 +230,7 @@ if ($action=='edit' || empty($action) || $action=='delete' || $action=='execute' } elseif ($action=='create') { - print_fiche_titre($langs->trans("CronTask"),'','title_setup'); + print load_fiche_titre($langs->trans("CronTask"),'','title_setup'); } if ($conf->use_javascript_ajax) diff --git a/htdocs/cron/class/cronjob.class.php b/htdocs/cron/class/cronjob.class.php index 26ae969e493..742db0cb461 100644 --- a/htdocs/cron/class/cronjob.class.php +++ b/htdocs/cron/class/cronjob.class.php @@ -30,15 +30,9 @@ require_once(DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php"); */ class Cronjob extends CommonObject { - var $db; //!< To store db handler - var $error; //!< To return error code (or message) - var $errors=array(); //!< To return several error codes (or messages) var $element='cronjob'; //!< Id that identify managed objects var $table_element='cronjob'; //!< Name of table without prefix where object is stored - var $id; - - var $ref; //Use for prevnext_ref var $jobtype; var $tms=''; var $datec=''; @@ -63,12 +57,8 @@ class Cronjob extends CommonObject var $status; var $fk_user_author; var $fk_user_mod; - var $note; var $nbrun; var $libname; - var $lines; - - /** diff --git a/htdocs/cron/list.php b/htdocs/cron/list.php index d6c0fbd2070..1f4e5126ed0 100644 --- a/htdocs/cron/list.php +++ b/htdocs/cron/list.php @@ -131,7 +131,7 @@ $pagetitle=$langs->trans("CronList"); llxHeader('',$pagetitle); -print_fiche_titre($pagetitle,'','title_setup'); +print load_fiche_titre($pagetitle,'','title_setup'); print $langs->trans('CronInfo'); diff --git a/htdocs/don/admin/donation.php b/htdocs/don/admin/donation.php index 0385977c7dc..81ef5431d09 100644 --- a/htdocs/don/admin/donation.php +++ b/htdocs/don/admin/donation.php @@ -199,7 +199,7 @@ $form=new Form($db); llxHeader('',$langs->trans("DonationsSetup"),'DonConfiguration'); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("DonationsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("DonationsSetup"),$linkback,'title_setup'); $head = donation_admin_prepare_head(); @@ -208,7 +208,7 @@ dol_fiche_head($head, 'general', $langs->trans("Donations"), 0, 'payment'); /* * Params */ -print_titre($langs->trans("Options")); +print load_fiche_titre($langs->trans("Options")); print ''; print ''; @@ -255,7 +255,7 @@ print ''; if (preg_match('/fr/i',$conf->global->MAIN_INFO_SOCIETE_COUNTRY)) { print '
    '; - print_titre($langs->trans("FrenchOptions")); + print load_fiche_titre($langs->trans("FrenchOptions")); print '
    '; print ''; @@ -308,7 +308,7 @@ if (preg_match('/fr/i',$conf->global->MAIN_INFO_SOCIETE_COUNTRY)) // Document templates print '
    '; -print_titre($langs->trans("DonationsModels")); +print load_fiche_titre($langs->trans("DonationsModels")); // Defini tableau def de modele $type='donation'; diff --git a/htdocs/don/admin/donation_extrafields.php b/htdocs/don/admin/donation_extrafields.php index 6acb7e5d90e..df9b2f527bb 100644 --- a/htdocs/don/admin/donation_extrafields.php +++ b/htdocs/don/admin/donation_extrafields.php @@ -62,7 +62,7 @@ $textobject=$langs->transnoentitiesnoconv("Donations"); llxHeader('',$langs->trans("DonationsSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("DonationsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("DonationsSetup"),$linkback,'title_setup'); $head = donation_admin_prepare_head(); @@ -92,7 +92,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
    "; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -105,7 +105,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
    "; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/don/card.php b/htdocs/don/card.php index b56171b8796..6664550e5c8 100644 --- a/htdocs/don/card.php +++ b/htdocs/don/card.php @@ -293,7 +293,7 @@ $formcompany = new FormCompany($db); if ($action == 'create') { - print_fiche_titre($langs->trans("AddDonation")); + print load_fiche_titre($langs->trans("AddDonation")); print ''; print ''; diff --git a/htdocs/don/class/don.class.php b/htdocs/don/class/don.class.php index 2b84f0d0727..72ccc7a0147 100644 --- a/htdocs/don/class/don.class.php +++ b/htdocs/don/class/don.class.php @@ -39,29 +39,17 @@ class Don extends CommonObject public $fk_element = 'fk_donation'; protected $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe - var $id; - var $ref; var $date; var $amount; - var $firstname; - var $lastname; var $societe; var $address; var $zip; var $town; - var $country_id; - var $country_code; - var $country; var $email; var $public; var $fk_projet; var $fk_typepayment; var $num_payment; - var $note_private; - var $note_public; - var $statut; - var $modelpdf; - var $projet; /** * @deprecated diff --git a/htdocs/don/class/paymentdonation.class.php b/htdocs/don/class/paymentdonation.class.php index 73cbbc39301..9655f454ed5 100644 --- a/htdocs/don/class/paymentdonation.class.php +++ b/htdocs/don/class/paymentdonation.class.php @@ -32,9 +32,7 @@ class PaymentDonation extends CommonObject public $element='payment_donation'; //!< Id that identify managed objects public $table_element='payment_donation'; //!< Name of table without prefix where object is stored - var $id; var $rowid; - var $ref; var $fk_donation; var $datec=''; @@ -44,7 +42,6 @@ class PaymentDonation extends CommonObject var $amounts=array(); // Array of amounts var $typepayment; var $num_payment; - var $note; var $fk_bank; var $fk_user_creat; var $fk_user_modif; diff --git a/htdocs/don/index.php b/htdocs/don/index.php index 7630ed8d3e7..73c9e56d29c 100644 --- a/htdocs/don/index.php +++ b/htdocs/don/index.php @@ -76,7 +76,7 @@ if ($result) dol_print_error($db); } -print_fiche_titre($langs->trans("DonationsArea")); +print load_fiche_titre($langs->trans("DonationsArea")); print '
    '; diff --git a/htdocs/don/payment/payment.php b/htdocs/don/payment/payment.php index c4ed9891be6..da33a92e750 100644 --- a/htdocs/don/payment/payment.php +++ b/htdocs/don/payment/payment.php @@ -162,7 +162,7 @@ if (GETPOST("action") == 'create') $total = $don->amount; - print_fiche_titre($langs->trans("DoPayment")); + print load_fiche_titre($langs->trans("DoPayment")); if ($mesg) { diff --git a/htdocs/don/stats/index.php b/htdocs/don/stats/index.php index baeda9b8a82..c5cd34caf5f 100644 --- a/htdocs/don/stats/index.php +++ b/htdocs/don/stats/index.php @@ -59,7 +59,7 @@ $form=new Form($db); llxHeader(); -print_fiche_titre($langs->trans("StatisticsOfSendings"), $mesg); +print load_fiche_titre($langs->trans("StatisticsOfSendings"), $mesg); dol_mkdir($dir); @@ -244,7 +244,7 @@ print '
    '; print ''; // User print '
    '; // Year print '
    '.$langs->trans("CreatedBy").''; - print $form->select_users($userid,'userid',1); + print $form->select_dolusers($userid,'userid',1); print '
    '.$langs->trans("Year").''; diff --git a/htdocs/ecm/docdir.php b/htdocs/ecm/docdir.php index b32ba2446d4..9f298e42b32 100644 --- a/htdocs/ecm/docdir.php +++ b/htdocs/ecm/docdir.php @@ -153,7 +153,7 @@ if ($action == 'create') print ''; $title=$langs->trans("ECMNewSection"); - print_fiche_titre($title); + print load_fiche_titre($title); dol_fiche_head(); @@ -193,7 +193,7 @@ if (empty($action) || $action == 'delete_section') //*********************** // List //*********************** - print_fiche_titre($langs->trans("ECMSectionOfDocuments")); + print load_fiche_titre($langs->trans("ECMSectionOfDocuments")); print '
    '; /* diff --git a/htdocs/ecm/docother.php b/htdocs/ecm/docother.php index d1fda6b793a..3efe0716228 100644 --- a/htdocs/ecm/docother.php +++ b/htdocs/ecm/docother.php @@ -99,7 +99,7 @@ llxHeader(); $form=new Form($db); -print_fiche_titre($langs->trans("ECMAutoOrg")); +print load_fiche_titre($langs->trans("ECMAutoOrg")); //$head = societe_prepare_head($societe); diff --git a/htdocs/ecm/index.php b/htdocs/ecm/index.php index a6dc5442aa7..64a9c46f0de 100644 --- a/htdocs/ecm/index.php +++ b/htdocs/ecm/index.php @@ -414,7 +414,7 @@ if (! empty($conf->global->ECM_AUTO_TREE_ENABLED)) if (! empty($conf->projet->enabled)) { $rowspan++; $sectionauto[]=array('level'=>1, 'module'=>'project', 'test'=>$conf->projet->enabled, 'label'=>$langs->trans("Projects"), 'desc'=>$langs->trans("ECMDocsByProjects")); } } -print_fiche_titre($langs->trans("ECMArea").' - '.$langs->trans("ECMFileManager")); +print load_fiche_titre($langs->trans("ECMArea").' - '.$langs->trans("ECMFileManager")); /* print '
    '; diff --git a/htdocs/ecm/index_auto.php b/htdocs/ecm/index_auto.php index 7626774b24c..47239aa3acd 100644 --- a/htdocs/ecm/index_auto.php +++ b/htdocs/ecm/index_auto.php @@ -414,7 +414,7 @@ if (! empty($conf->global->ECM_AUTO_TREE_ENABLED)) } -print_fiche_titre($langs->trans("ECMArea").' - '.$langs->trans("ECMFileManager")); +print load_fiche_titre($langs->trans("ECMArea").' - '.$langs->trans("ECMFileManager")); $helptext1=''; $helptext2=''; $helptext1.=$langs->trans("ECMAreaDesc"); diff --git a/htdocs/ecm/search.php b/htdocs/ecm/search.php index 968318f5b85..729543eff56 100644 --- a/htdocs/ecm/search.php +++ b/htdocs/ecm/search.php @@ -116,7 +116,7 @@ if (! empty($conf->fournisseur->enabled)) { $rowspan++; $sectionauto[]=array('le //*********************** // List //*********************** -print_fiche_titre($langs->trans("ECMArea").' - '.$langs->trans("Search")); +print load_fiche_titre($langs->trans("ECMArea").' - '.$langs->trans("Search")); //print $langs->trans("ECMAreaDesc")."
    "; //print $langs->trans("ECMAreaDesc2")."
    "; @@ -133,7 +133,7 @@ print ''; // User print ''; // Year print '
    '; // Left area -//print_fiche_titre($langs->trans("ECMSectionsManual")); +//print load_fiche_titre($langs->trans("ECMSectionsManual")); print ''; print ''; @@ -147,7 +147,7 @@ print "
    "; //print $langs->trans("ECMSectionManualDesc"); -//print_fiche_titre($langs->trans("ECMSectionAuto")); +//print load_fiche_titre($langs->trans("ECMSectionAuto")); print '
    '; print ''; diff --git a/htdocs/ecm/tpl/enablefiletreeajax.tpl.php b/htdocs/ecm/tpl/enablefiletreeajax.tpl.php index b348cb03c72..7b2145d0f93 100644 --- a/htdocs/ecm/tpl/enablefiletreeajax.tpl.php +++ b/htdocs/ecm/tpl/enablefiletreeajax.tpl.php @@ -51,7 +51,7 @@ $(document).ready(function() { $('#refreshbutton').click( function() { $.pleaseBePatient("trans('PleaseBePatient'); ?>"); - $.getJSON( "", { + $.get( "", { action: "build", element: "ecm" }, diff --git a/htdocs/expedition/card.php b/htdocs/expedition/card.php index 1b871136235..820be464610 100644 --- a/htdocs/expedition/card.php +++ b/htdocs/expedition/card.php @@ -469,7 +469,7 @@ $product_static = new Product($db); if ($action == 'create2') { - print_fiche_titre($langs->trans("CreateASending")).'
    '; + print load_fiche_titre($langs->trans("CreateASending")).'
    '; print $langs->trans("ShipmentCreationIsDoneFromOrder"); $action=''; $id=''; $ref=''; } @@ -479,7 +479,7 @@ if ($action == 'create') { $expe = new Expedition($db); - print_fiche_titre($langs->trans("CreateASending")); + print load_fiche_titre($langs->trans("CreateASending")); if (! $origin) { setEventMessage($langs->trans("ErrorBadParameters"),'errors'); @@ -1606,7 +1606,7 @@ else if ($id || $ref) print '
    '; print '
    '; - print_fiche_titre($langs->trans('SendShippingByEMail')); + print load_fiche_titre($langs->trans('SendShippingByEMail')); dol_fiche_head(''); diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index edd8aa0cd39..096208742de 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -45,24 +45,15 @@ class Expedition extends CommonObject public $table_element="expedition"; protected $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe - var $id; var $socid; var $ref_customer; - var $ref_ext; var $ref_int; var $brouillon; var $entrepot_id; - var $modelpdf; - var $origin; - var $origin_id; var $lines=array(); - var $shipping_method_id; var $tracking_number; var $tracking_url; - var $statut; var $billed; - var $note_public; - var $note_private; var $model_pdf; var $trueWeight; @@ -95,20 +86,8 @@ class Expedition extends CommonObject var $date_creation; var $date_valid; - // For Invoicing - var $total_ht; // Total net of tax - var $total_ttc; // Total with tax - var $total_tva; // Total VAT - var $total_localtax1; // Total Local tax 1 - var $total_localtax2; // Total Local tax 2 - var $listmeths; // List of carriers - //Incorterms - var $fk_incoterms; - var $location_incoterms; - var $libelle_incoterms; //Used into tooltip - /** * Constructor * diff --git a/htdocs/expedition/class/expeditionbatch.class.php b/htdocs/expedition/class/expeditionbatch.class.php index fd424fc4990..2011bd9c6f9 100644 --- a/htdocs/expedition/class/expeditionbatch.class.php +++ b/htdocs/expedition/class/expeditionbatch.class.php @@ -31,7 +31,6 @@ class ExpeditionLineBatch extends CommonObject var $element='expeditionlignebatch'; //!< Id that identify managed objects private static $_table_element='expeditiondet_batch'; //!< Name of table without prefix where object is stored - var $id; var $sellby; var $eatby; var $batch; diff --git a/htdocs/expedition/contact.php b/htdocs/expedition/contact.php index c09b3e415cd..039af2cd0ec 100644 --- a/htdocs/expedition/contact.php +++ b/htdocs/expedition/contact.php @@ -77,7 +77,7 @@ if ($action == 'addcontact' && $user->rights->expedition->creer) { if ($result > 0 && $id > 0) { - $result = $objectsrc->add_contact($_POST["contactid"], $_POST["type"], $_POST["source"]); + $result = $objectsrc->add_contact(GETPOST('userid') ? GETPOST('userid') : GETPOST('contactid'), $_POST["type"], $_POST["source"]); } if ($result >= 0) @@ -87,14 +87,15 @@ if ($action == 'addcontact' && $user->rights->expedition->creer) } else { - if ($objectsrc->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') { + if ($objectsrc->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') + { $langs->load("errors"); $mesg = $langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType"); } else { $mesg = $objectsrc->error; + $mesgs = $objectsrc->errors; } - - setEventMessage($mesg, 'errors'); + setEventMessages($mesg, $mesgs, 'errors'); } } @@ -236,7 +237,6 @@ if ($id > 0 || ! empty($ref)) // Lignes de contacts echo '
    '; - // Contacts lines (modules that overwrite templates must declare this into descriptor) $dirtpls=array_merge($conf->modules_parts['tpl'],array('/core/tpl')); foreach($dirtpls as $reldir) diff --git a/htdocs/expedition/index.php b/htdocs/expedition/index.php index dbfece18381..c397605645d 100644 --- a/htdocs/expedition/index.php +++ b/htdocs/expedition/index.php @@ -41,7 +41,7 @@ $shipment=new Expedition($db); $helpurl='EN:Module_Shipments|FR:Module_Expéditions|ES:Módulo_Expediciones'; llxHeader('',$langs->trans("Shipment"),$helpurl); -print_fiche_titre($langs->trans("SendingsArea")); +print load_fiche_titre($langs->trans("SendingsArea")); print '
    '; diff --git a/htdocs/expedition/shipment.php b/htdocs/expedition/shipment.php index 07b7cd70a13..82bf1d01e6a 100644 --- a/htdocs/expedition/shipment.php +++ b/htdocs/expedition/shipment.php @@ -656,7 +656,7 @@ if ($id > 0 || ! empty($ref)) { if ($user->rights->expedition->creer) { - print_titre($langs->trans("NewSending")); + print load_fiche_titre($langs->trans("NewSending")); print ''; print ''; diff --git a/htdocs/expedition/stats/index.php b/htdocs/expedition/stats/index.php index ca35f97df9b..76755360869 100644 --- a/htdocs/expedition/stats/index.php +++ b/htdocs/expedition/stats/index.php @@ -58,7 +58,7 @@ $form=new Form($db); llxHeader(); -print_fiche_titre($langs->trans("StatisticsOfSendings"), $mesg); +print load_fiche_titre($langs->trans("StatisticsOfSendings"), $mesg); dol_mkdir($dir); @@ -243,7 +243,7 @@ print '
    '; print '
    '.$langs->trans("CreatedBy").''; - print $form->select_users($userid,'userid',1); + print $form->select_dolusers($userid,'userid',1); print '
    '.$langs->trans("Year").''; diff --git a/htdocs/expedition/stats/month.php b/htdocs/expedition/stats/month.php index f1cf51e3e16..b7d217217c2 100644 --- a/htdocs/expedition/stats/month.php +++ b/htdocs/expedition/stats/month.php @@ -39,7 +39,7 @@ $HEIGHT=DolGraph::getDefaultGraphSizeForStats('height'); $mesg = ''; -print_fiche_titre($langs->trans("StatisticsOfSendings").' '.$_GET["year"], $mesg); +print load_fiche_titre($langs->trans("StatisticsOfSendings").' '.$_GET["year"], $mesg); $stats = new ExpeditionStats($db); $data = $stats->getNbExpeditionByMonth($_GET["year"]); diff --git a/htdocs/expedition/tpl/linkedobjectblock.tpl.php b/htdocs/expedition/tpl/linkedobjectblock.tpl.php index d4a9d1f9af2..4f420957660 100644 --- a/htdocs/expedition/tpl/linkedobjectblock.tpl.php +++ b/htdocs/expedition/tpl/linkedobjectblock.tpl.php @@ -29,7 +29,7 @@ $linkedObjectBlock = $GLOBALS['linkedObjectBlock']; $langs->load("sendings"); echo '
    '; -print_titre($langs->trans('RelatedShippings')); +print load_fiche_titre($langs->trans('RelatedShippings')); ?> diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index 1eb5d8d47ba..3094bc1ccfd 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -709,7 +709,7 @@ if ($action == "confirm_brouillonner" && GETPOST('confirm')=="yes" && $id > 0 && } else { - setEventMessages($langs->transnoentitiesnoconv("NOT_AUTHOR"), '', 'errors'); + setEventMessages("NOT_AUTHOR", '', 'errors'); } } @@ -1089,7 +1089,7 @@ if (! empty($conf->global->DEPLACEMENT_TO_CLEAN)) // Create if ($action == 'create') { - print print_fiche_titre($langs->trans("NewTrip")); + print print load_fiche_titre($langs->trans("NewTrip")); print ''; print ''; @@ -1178,7 +1178,7 @@ else { if (empty($user->rights->expensereport->readall) && empty($user->rights->expensereport->lire_tous)) { - print_fiche_titre($langs->trans('TripCard')); + print load_fiche_titre($langs->trans('TripCard')); print '
    '; print $langs->trans('NotUserRightToView'); @@ -1321,56 +1321,56 @@ else if ($action == 'save') { - $ret=$form->form_confirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("SaveTrip"),$langs->trans("ConfirmSaveTrip"),"confirm_validate","","",1); + $ret=$form->formconfirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("SaveTrip"),$langs->trans("ConfirmSaveTrip"),"confirm_validate","","",1); if ($ret == 'html') print '
    '; } if ($action == 'save_from_refuse') { - $ret=$form->form_confirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("SaveTrip"),$langs->trans("ConfirmSaveTrip"),"confirm_save_from_refuse","","",1); + $ret=$form->formconfirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("SaveTrip"),$langs->trans("ConfirmSaveTrip"),"confirm_save_from_refuse","","",1); if ($ret == 'html') print '
    '; } if ($action == 'delete') { - $ret=$form->form_confirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("DeleteTrip"),$langs->trans("ConfirmDeleteTrip"),"confirm_delete","","",1); + $ret=$form->formconfirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("DeleteTrip"),$langs->trans("ConfirmDeleteTrip"),"confirm_delete","","",1); if ($ret == 'html') print '
    '; } if ($action == 'validate') { - $ret=$form->form_confirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("ValideTrip"),$langs->trans("ConfirmValideTrip"),"confirm_approve","","",1); + $ret=$form->formconfirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("ValideTrip"),$langs->trans("ConfirmValideTrip"),"confirm_approve","","",1); if ($ret == 'html') print '
    '; } if ($action == 'paid') { - $ret=$form->form_confirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("PaidTrip"),$langs->trans("ConfirmPaidTrip"),"confirm_paid","","",1); + $ret=$form->formconfirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("PaidTrip"),$langs->trans("ConfirmPaidTrip"),"confirm_paid","","",1); if ($ret == 'html') print '
    '; } if ($action == 'cancel') { $array_input = array('text'=>$langs->trans("ConfirmCancelTrip"), array('type'=>"text",'label'=>$langs->trans("Comment"),'name'=>"detail_cancel",'size'=>"50",'value'=>"")); - $ret=$form->form_confirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("Cancel"),"","confirm_cancel",$array_input,"",1); + $ret=$form->formconfirm($_SEVER["PHP_SELF"]."?id=".$id,$langs->trans("Cancel"),"","confirm_cancel",$array_input,"",1); if ($ret == 'html') print '
    '; } if ($action == 'brouillonner'): - $ret=$form->form_confirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("BrouillonnerTrip"),$langs->trans("ConfirmBrouillonnerTrip"),"confirm_brouillonner","","",1); + $ret=$form->formconfirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("BrouillonnerTrip"),$langs->trans("ConfirmBrouillonnerTrip"),"confirm_brouillonner","","",1); if ($ret == 'html') print '
    '; endif; if ($action == 'refuse') // Deny { $array_input = array('text'=>$langs->trans("ConfirmRefuseTrip"), array('type'=>"text",'label'=>$langs->trans("Comment"),'name'=>"detail_refuse",'size'=>"50",'value'=>"")); - $ret=$form->form_confirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("Deny"),'',"confirm_refuse",$array_input,"yes",1); + $ret=$form->formconfirm($_SERVER["PHP_SELF"]."?id=".$id,$langs->trans("Deny"),'',"confirm_refuse",$array_input,"yes",1); if ($ret == 'html') print '
    '; } if ($action == 'delete_line') { - $ret=$form->form_confirm($_SERVER["PHP_SELF"]."?id=".$id."&rowid=".GETPOST('rowid'),$langs->trans("DeleteLine"),$langs->trans("ConfirmDeleteLine"),"confirm_delete_line",'','yes',1); + $ret=$form->formconfirm($_SERVER["PHP_SELF"]."?id=".$id."&rowid=".GETPOST('rowid'),$langs->trans("DeleteLine"),$langs->trans("ConfirmDeleteLine"),"confirm_delete_line",'','yes',1); if ($ret == 'html') print '
    '; } @@ -1772,7 +1772,7 @@ else // Add a line if (($object->fk_statut==0 || $object->fk_statut==99) && $action != 'editline') { - print_fiche_titre($langs->trans("AddLine"),'',''); + print load_fiche_titre($langs->trans("AddLine"),'',''); print ''; print ''; diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php index 78ca120516e..920c6aa16d7 100644 --- a/htdocs/expensereport/class/expensereport.class.php +++ b/htdocs/expensereport/class/expensereport.class.php @@ -29,21 +29,12 @@ require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; */ class ExpenseReport extends CommonObject { - var $db; - var $error; var $element='expensereport'; var $table_element='expensereport'; var $table_element_line = 'expensereport_det'; var $fk_element = 'fk_expensereport'; - var $id; - var $ref; var $lignes=array(); - var $total_ht; - var $total_tva; - var $total_ttc; - var $note_public; - var $note_private; var $date_debut; var $date_fin; diff --git a/htdocs/expensereport/class/paymentexpensereport.class.php b/htdocs/expensereport/class/paymentexpensereport.class.php index c0777654893..7cda584abbf 100644 --- a/htdocs/expensereport/class/paymentexpensereport.class.php +++ b/htdocs/expensereport/class/paymentexpensereport.class.php @@ -32,9 +32,7 @@ class PaymentExpenseReport extends CommonObject public $element='payment_expensereport'; //!< Id that identify managed objects public $table_element='payment_expensereport'; //!< Name of table without prefix where object is stored - var $id; var $rowid; - var $ref; var $fk_expensereport; var $datec=''; @@ -44,7 +42,6 @@ class PaymentExpenseReport extends CommonObject var $amounts=array(); // Array of amounts var $fk_typepayment; var $num_payment; - var $note; var $fk_bank; var $fk_user_creat; var $fk_user_modif; @@ -488,7 +485,7 @@ class PaymentExpenseReport extends CommonObject $this->datepaid, $this->fk_typepayment, // Payment mode id or code ("CHQ or VIR for example") $label, - $amount, + -$amount, $this->num_payment, '', $user, diff --git a/htdocs/expensereport/export_csv.php b/htdocs/expensereport/export_csv.php index 817d651c3e8..3cf520c6739 100644 --- a/htdocs/expensereport/export_csv.php +++ b/htdocs/expensereport/export_csv.php @@ -69,7 +69,7 @@ if($num < 1) { llxHeader(); -print_fiche_titre($langs->trans("ExportTripCSV")); +print load_fiche_titre($langs->trans("ExportTripCSV")); print '
    '; diff --git a/htdocs/expensereport/index.php b/htdocs/expensereport/index.php index f025079fca9..ece9f9260ac 100644 --- a/htdocs/expensereport/index.php +++ b/htdocs/expensereport/index.php @@ -100,7 +100,7 @@ if ($result) } -print_fiche_titre($langs->trans("ExpensesArea")); +print load_fiche_titre($langs->trans("ExpensesArea")); print '
    '; diff --git a/htdocs/expensereport/list.php b/htdocs/expensereport/list.php index 83961d4f274..54e372053ad 100644 --- a/htdocs/expensereport/list.php +++ b/htdocs/expensereport/list.php @@ -214,7 +214,7 @@ if ($resql) // User if ($user->rights->expensereport->readall || $user->rights->expensereport->lire_tous){ print '
    '; } else { print ''; diff --git a/htdocs/expensereport/payment/payment.php b/htdocs/expensereport/payment/payment.php index c65e42f709c..94f37389fc9 100644 --- a/htdocs/expensereport/payment/payment.php +++ b/htdocs/expensereport/payment/payment.php @@ -167,7 +167,7 @@ if (GETPOST("action") == 'create') $total = $expensereport->total_ttc; - print_fiche_titre($langs->trans("DoPayment")); + print load_fiche_titre($langs->trans("DoPayment")); if ($mesg) { diff --git a/htdocs/expensereport/stats/index.php b/htdocs/expensereport/stats/index.php index 402eb56e01b..bba5ceb1ee1 100644 --- a/htdocs/expensereport/stats/index.php +++ b/htdocs/expensereport/stats/index.php @@ -65,7 +65,7 @@ llxHeader(); $title=$langs->trans("TripsAndExpensesStatistics"); $dir=$conf->expensereport->dir_temp; -print_fiche_titre($title, $mesg); +print load_fiche_titre($title, $mesg); dol_mkdir($dir); diff --git a/htdocs/expensereport/synchro_compta.php b/htdocs/expensereport/synchro_compta.php index 90eb4bd4674..3e2a7c21d34 100644 --- a/htdocs/expensereport/synchro_compta.php +++ b/htdocs/expensereport/synchro_compta.php @@ -100,7 +100,7 @@ $html = new Form($db); $submit = isset($_POST['submit'])?true:false; $idAccount=isset($_GET["account"])?$_GET["account"]:$_POST["account"]; -print_fiche_titre($langs->trans("TripSynch")); +print load_fiche_titre($langs->trans("TripSynch")); dol_fiche_head(''); @@ -108,13 +108,13 @@ dol_fiche_head(''); if ($_GET["action"] == 'ndfTOaccount'): $idTrip = $_GET['idTrip']; - $ret=$html->form_confirm($_SERVER["PHP_SELF"]."?idTrip=".$idTrip."&account=".$idAccount,$langs->trans("ndfToAccount"),$langs->trans("ConfirmNdfToAccount"),"confirm_ndf_to_account","","",1); + $ret=$html->formconfirm($_SERVER["PHP_SELF"]."?idTrip=".$idTrip."&account=".$idAccount,$langs->trans("ndfToAccount"),$langs->trans("ConfirmNdfToAccount"),"confirm_ndf_to_account","","",1); if ($ret == 'html') print '
    '; endif; if ($_GET["action"] == 'accountTOndf'): $idTrip = $_GET['idTrip']; - $ret=$html->form_confirm($_SERVER["PHP_SELF"]."?idTrip=".$idTrip."&account=".$idAccount,$langs->trans("AccountToNdf"),$langs->trans("ConfirmAccountToNdf"),"confirm_account_to_ndf","","",1); + $ret=$html->formconfirm($_SERVER["PHP_SELF"]."?idTrip=".$idTrip."&account=".$idAccount,$langs->trans("AccountToNdf"),$langs->trans("ConfirmAccountToNdf"),"confirm_account_to_ndf","","",1); if ($ret == 'html') print '
    '; endif; @@ -212,4 +212,4 @@ dol_fiche_end(); llxFooter(); -$db->close(); \ No newline at end of file +$db->close(); diff --git a/htdocs/exports/class/export.class.php b/htdocs/exports/class/export.class.php index 1c5d157188a..88e4ecc8596 100644 --- a/htdocs/exports/class/export.class.php +++ b/htdocs/exports/class/export.class.php @@ -43,7 +43,8 @@ class Export var $array_export_entities=array(); // Tableau des listes de champ+alias a exporter var $array_export_dependencies=array(); // array of list of entities that must take care of the DISTINCT if a field is added into export var $array_export_special=array(); // Tableau des operations speciales sur champ - + var $array_export_examplevalues=array(); // array with examples + // To store export modules var $hexa; var $hexafiltervalue; @@ -174,7 +175,9 @@ class Export $this->array_export_dependencies[$i]=(! empty($module->export_dependencies_array[$r])?$module->export_dependencies_array[$r]:''); // Tableau des operations speciales sur champ $this->array_export_special[$i]=(! empty($module->export_special_array[$r])?$module->export_special_array[$r]:''); - + // Array of examples + $this->array_export_examplevalues[$i]=$module->export_examplevalues_array[$r]; + // Requete sql du dataset $this->array_export_sql_start[$i]=$module->export_sql_start[$r]; $this->array_export_sql_end[$i]=$module->export_sql_end[$r]; @@ -230,11 +233,11 @@ class Export } $sql.=$this->array_export_sql_end[$indice]; - //construction du filtrage si le parametrage existe + // Add the filtering into sql if a filtering array is provided if (is_array($array_filterValue) && !empty($array_filterValue)) { $sqlWhere=''; - // pour ne pas a gerer le nombre de condition + // Loop on each condition to add foreach ($array_filterValue as $key => $value) { if ($value != '') $sqlWhere.=" and ".$this->build_filterQuery($this->array_export_TypeFields[$indice][$key], $key, $array_filterValue[$key]); @@ -311,6 +314,8 @@ class Export else $szFilterQuery=" ".$NameField."='".$ValueField."'"; break; + default: + dol_syslog("Error we try to forge an sql export request with a condition on a field with type '".$InfoFieldList[0]."' (defined into module descriptor) but this type is unknown/not supported. It looks like a bug into module descriptor.", LOG_ERROR); } return $szFilterQuery; @@ -551,7 +556,7 @@ class Export $filename.='.'.$objmodel->getDriverExtension(); $dirname=$conf->export->dir_temp.'/'.$user->id; - $outputlangs=dol_clone($langs); // We clone to have an object we can modify (for example to change output charset by csv handler) without changing original value + $outputlangs = clone $langs; // We clone to have an object we can modify (for example to change output charset by csv handler) without changing original value // Open file dol_mkdir($dirname); diff --git a/htdocs/exports/export.php b/htdocs/exports/export.php index 8d1f00eac3b..ceab5d54714 100644 --- a/htdocs/exports/export.php +++ b/htdocs/exports/export.php @@ -244,6 +244,7 @@ if ($action == 'builddoc') if ($result < 0) { setEventMessage($objexport->error, 'errors'); + $sqlusedforexport=$objexport->sqlusedforexport; } else { @@ -363,7 +364,6 @@ if ($step == 4 && $action == 'submitFormField') if (is_array($objexport->array_export_TypeFields[0])) { $_SESSION["export_filtered_fields"]=array(); - //var_dump($_POST); foreach($objexport->array_export_TypeFields[0] as $code => $type) // $code: s.fieldname $value: Text|Boolean|List:ccc { $newcode=(string) preg_replace('/\./','_',$code); @@ -431,10 +431,10 @@ if ($step == 1 || ! $datatoexport) //print img_object($objexport->array_export_module[$key]->getName(),$export->array_export_module[$key]->picto).' '; print $objexport->array_export_module[$key]->getName(); print ''; print ''; @@ -569,6 +569,10 @@ if ($step == 2 && $datatoexport) $tablename=getablenamefromfield($code,$sqlmaxforexport); $htmltext =''.$langs->trans("Name").": ".$text.'
    '; $htmltext.=''.$langs->trans("Table")." -> ".$langs->trans("Field").": ".$tablename." -> ".preg_replace('/^.*\./','',$code)."
    "; + if (! empty($objexport->array_export_examplevalues[0][$code])) + { + $htmltext.=$langs->trans("SourceExample").': '.$objexport->array_export_examplevalues[0][$code].'
    '; + } if (isset($array_selected[$code]) && $array_selected[$code]) { // Selected fields @@ -662,10 +666,10 @@ if ($step == 3 && $datatoexport) // Lot de donnees a exporter print ''; print ''; @@ -738,6 +742,10 @@ if ($step == 3 && $datatoexport) $tablename=getablenamefromfield($code,$sqlmaxforexport); $htmltext =''.$langs->trans("Name").': '.$text.'
    '; $htmltext.=''.$langs->trans("Table")." -> ".$langs->trans("Field").": ".$tablename." -> ".preg_replace('/^.*\./','',$code)."
    "; + if (! empty($objexport->array_export_examplevalues[0][$code])) + { + $htmltext.=$langs->trans("SourceExample").': '.$objexport->array_export_examplevalues[0][$code].'
    '; + } print ''; @@ -824,7 +832,8 @@ if ($step == 4 && $datatoexport) // Lot de donnees a exporter print ''; print ''; @@ -903,6 +912,10 @@ if ($step == 4 && $datatoexport) $tablename=getablenamefromfield($code,$sqlmaxforexport); $htmltext =''.$langs->trans("Name").": ".$text.'
    '; $htmltext.=''.$langs->trans("Table")." -> ".$langs->trans("Field").": ".$tablename." -> ".preg_replace('/^.*\./','',$code)."
    "; + if (! empty($objexport->array_export_examplevalues[0][$code])) + { + $htmltext.=$langs->trans("SourceExample").': '.$objexport->array_export_examplevalues[0][$code].'
    '; + } print $form->textwithpicto($text,$htmltext); //print ' ('.$code.')'; print ''; @@ -1057,7 +1070,8 @@ if ($step == 5 && $datatoexport) // Lot de donnees a exporter print ''; print ''; diff --git a/htdocs/exports/index.php b/htdocs/exports/index.php index bf002ccde96..8f9f7946e56 100644 --- a/htdocs/exports/index.php +++ b/htdocs/exports/index.php @@ -44,7 +44,7 @@ $form=new Form($db); llxHeader('',$langs->trans("ExportsArea"),'EN:Module_Exports_En|FR:Module_Exports|ES:Módulo_Exportaciones'); -print_fiche_titre($langs->trans("ExportsArea")); +print load_fiche_titre($langs->trans("ExportsArea")); print $langs->trans("FormatedExportDesc1").'
    '; print $langs->trans("FormatedExportDesc2").' '; diff --git a/htdocs/externalsite/admin/externalsite.php b/htdocs/externalsite/admin/externalsite.php index 574d94c90b7..90fb5aff9f0 100644 --- a/htdocs/externalsite/admin/externalsite.php +++ b/htdocs/externalsite/admin/externalsite.php @@ -76,7 +76,7 @@ if ($action == 'update') llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ExternalSiteSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("ExternalSiteSetup"),$linkback,'title_setup'); print '
    '; print $langs->trans("Module100Desc")."
    \n"; diff --git a/htdocs/fichinter/admin/fichinter_extrafields.php b/htdocs/fichinter/admin/fichinter_extrafields.php index e14726e2f5f..955b66f0beb 100644 --- a/htdocs/fichinter/admin/fichinter_extrafields.php +++ b/htdocs/fichinter/admin/fichinter_extrafields.php @@ -67,7 +67,7 @@ $textobject=$langs->transnoentitiesnoconv("Interventions"); llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("InterventionsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("InterventionsSetup"),$linkback,'title_setup'); $head=fichinter_admin_prepare_head(); @@ -96,7 +96,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
    "; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -109,7 +109,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
    "; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/fichinter/admin/fichinterdet_extrafields.php b/htdocs/fichinter/admin/fichinterdet_extrafields.php index 281b92750e8..776229a4c29 100644 --- a/htdocs/fichinter/admin/fichinterdet_extrafields.php +++ b/htdocs/fichinter/admin/fichinterdet_extrafields.php @@ -67,7 +67,7 @@ $textobject=$langs->transnoentitiesnoconv("Interventions"); llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("InterventionsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("InterventionsSetup"),$linkback,'title_setup'); $head=fichinter_admin_prepare_head(); @@ -97,7 +97,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
    "; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -110,7 +110,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
    "; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/fichinter/apercu.php b/htdocs/fichinter/apercu.php index 0d4d3421538..89efad03841 100644 --- a/htdocs/fichinter/apercu.php +++ b/htdocs/fichinter/apercu.php @@ -101,7 +101,7 @@ if ($id > 0 || ! empty($ref)) if (file_exists($file)) { $encfile = urlencode($file); - print_titre($langs->trans("Documents")); + print load_fiche_titre($langs->trans("Documents")); print '
    '; - $html->select_users($search_user,"search_user",1,"",0,''); + $html->select_dolusers($search_user,"search_user",1,"",0,''); print ' '; - $icon=$objexport->array_export_icon[$key]; + $icon=preg_replace('/:.*$/','',$objexport->array_export_icon[$key]); $label=$objexport->array_export_label[$key]; //print $value.'-'.$icon.'-'.$label."
    "; - print img_object($objexport->array_export_module[$key]->getName(),$icon).' '; + print img_object($objexport->array_export_module[$key]->getName(), $icon).' '; print $label; print '
    '; if ($objexport->array_export_perms[$key]) @@ -492,10 +492,10 @@ if ($step == 2 && $datatoexport) // Lot de donnees a exporter print '
    '.$langs->trans("DatasetToExport").''; - $icon=$objexport->array_export_icon[0]; + $icon=preg_replace('/:.*$/','',$objexport->array_export_icon[0]); $label=$objexport->array_export_label[0]; //print $value.'-'.$icon.'-'.$label."
    "; - print img_object($objexport->array_export_module[0]->getName(),$icon).' '; + print img_object($objexport->array_export_module[0]->getName(), $icon).' '; print $label; print '
    '.$langs->trans("DatasetToExport").''; - $icon=$objexport->array_export_icon[0]; + $icon=preg_replace('/:.*$/','',$objexport->array_export_icon[0]); $label=$objexport->array_export_label[0]; //print $value.'-'.$icon.'-'.$label."
    "; - print img_object($objexport->array_export_module[0]->getName(),$icon).' '; + print img_object($objexport->array_export_module[0]->getName(), $icon).' '; print $label; print '
    '; print $form->textwithpicto($text,$htmltext); print '
    '.$langs->trans("DatasetToExport").''; - print img_object($objexport->array_export_module[0]->getName(),$objexport->array_export_icon[0]).' '; + $icon=preg_replace('/:.*$/','',$objexport->array_export_icon[0]); + print img_object($objexport->array_export_module[0]->getName(), $icon).' '; print $objexport->array_export_label[0]; print '
    '.$langs->trans("DatasetToExport").''; - print img_object($objexport->array_export_module[0]->getName(),$objexport->array_export_icon[0]).' '; + $icon=preg_replace('/:.*$/','',$objexport->array_export_icon[0]); + print img_object($objexport->array_export_module[0]->getName(), $icon).' '; print $objexport->array_export_label[0]; print '
    '; print ""; diff --git a/htdocs/fichinter/card.php b/htdocs/fichinter/card.php index 3cb613934b9..a247341cdec 100644 --- a/htdocs/fichinter/card.php +++ b/htdocs/fichinter/card.php @@ -960,7 +960,7 @@ if ($action == 'create') $soc=new Societe($db); - print_fiche_titre($langs->trans("AddIntervention")); + print load_fiche_titre($langs->trans("AddIntervention")); dol_htmloutput_mesg($mesg); @@ -1804,7 +1804,7 @@ else if ($id > 0 || ! empty($ref)) print '
    '; print '
    '; - print_fiche_titre($langs->trans('SendInterventionByMail')); + print load_fiche_titre($langs->trans('SendInterventionByMail')); dol_fiche_head(''); diff --git a/htdocs/fichinter/class/fichinter.class.php b/htdocs/fichinter/class/fichinter.class.php index 5e88cc94243..e63fb8c3da0 100644 --- a/htdocs/fichinter/class/fichinter.class.php +++ b/htdocs/fichinter/class/fichinter.class.php @@ -43,24 +43,16 @@ class Fichinter extends CommonObject */ protected $table_ref_field = 'ref'; - var $id; - var $socid; // Id client - var $client; // Objet societe client (a charger par fetch_client) var $author; - var $ref; var $datec; var $datev; var $datem; var $duration; var $statut; // 0=draft, 1=validated, 2=invoiced var $description; - var $note_private; - var $note_public; - var $fk_project; var $fk_contrat; - var $modelpdf; var $extraparams=array(); var $lines = array(); @@ -149,11 +141,11 @@ class Fichinter extends CommonObject $sql.= " VALUES ("; $sql.= $this->socid; $sql.= ", '".$this->db->idate($now)."'"; - $sql.= ", '".$this->ref."'"; + $sql.= ", '".$this->db->escape($this->ref)."'"; $sql.= ", ".$conf->entity; $sql.= ", ".$user->id; $sql.= ", ".($this->description?"'".$this->db->escape($this->description)."'":"null"); - $sql.= ", '".$this->modelpdf."'"; + $sql.= ", '".$this->db->escape($this->modelpdf)."'"; $sql.= ", ".($this->fk_project ? $this->fk_project : 0); $sql.= ", ".($this->fk_contrat ? $this->fk_contrat : 0); $sql.= ", ".$this->statut; diff --git a/htdocs/fichinter/index.php b/htdocs/fichinter/index.php index 6885dca361a..81a2db9621c 100644 --- a/htdocs/fichinter/index.php +++ b/htdocs/fichinter/index.php @@ -55,7 +55,7 @@ $help_url="EN:ModuleFichinters|FR:Module_Fiche_Interventions|ES:Módulo_FichaInt llxHeader("",$langs->trans("Interventions"),$help_url); -print_fiche_titre($langs->trans("InterventionsArea")); +print load_fiche_titre($langs->trans("InterventionsArea")); //print '
    ".$langs->trans("Intervention")." PDF
    '; //print '
    '; diff --git a/htdocs/fichinter/tpl/linkedobjectblock.tpl.php b/htdocs/fichinter/tpl/linkedobjectblock.tpl.php index 81a82f06627..0dc4a66c083 100644 --- a/htdocs/fichinter/tpl/linkedobjectblock.tpl.php +++ b/htdocs/fichinter/tpl/linkedobjectblock.tpl.php @@ -26,7 +26,7 @@ $linkedObjectBlock = $GLOBALS['linkedObjectBlock']; $langs->load("interventions"); echo '
    '; -print_titre($langs->trans('RelatedInterventions')); +print load_fiche_titre($langs->trans('RelatedInterventions')); ?> diff --git a/htdocs/filefunc.inc.php b/htdocs/filefunc.inc.php index 08080b9388d..b3cbd2b33c0 100644 --- a/htdocs/filefunc.inc.php +++ b/htdocs/filefunc.inc.php @@ -67,7 +67,9 @@ $conffiletoshow = "htdocs/conf/conf.php"; // Include configuration // --- End of part replaced by Dolibarr packager makepack-dolibarr + // Replace conf filename with "conf" parameter on url by GET +/* Disabled. This is a serious security hole if (! empty($_GET['conf'])) { $confname=basename($_GET['conf']); @@ -77,7 +79,7 @@ if (! empty($_GET['conf'])) $confname=basename(empty($_COOKIE['dolconf']) ? 'conf' : $_COOKIE['dolconf']); $conffile = 'conf/'.$confname.'.php'; } - +*/ // Include configuration $result=@include_once $conffile; // Keep @ because with some error reporting this break the redirect diff --git a/htdocs/fourn/card.php b/htdocs/fourn/card.php index 5a1f38806bb..55993221d41 100644 --- a/htdocs/fourn/card.php +++ b/htdocs/fourn/card.php @@ -264,10 +264,13 @@ if ($object->id > 0) print ''; // Categories - print ''; - print '"; + if (! empty($conf->categorie->enabled)) + { + print ''; + print '"; + } // Other attributes $parameters=array('socid'=>$object->id, 'colspan' => ' colspan="3"', 'colspanvalue' => '3'); diff --git a/htdocs/fourn/class/fournisseur.class.php b/htdocs/fourn/class/fournisseur.class.php index 5fc0b3e43dd..c8d1ccb846a 100644 --- a/htdocs/fourn/class/fournisseur.class.php +++ b/htdocs/fourn/class/fournisseur.class.php @@ -33,8 +33,6 @@ require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php'; */ class Fournisseur extends Societe { - var $db; - var $next_prev_filter="te.fournisseur = 1"; // Used to add a filter in Form::showrefnav method diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index 9bd341e357c..7b028ec89a1 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -72,7 +72,11 @@ class CommandeFournisseur extends CommonOrder var $date_approve; var $date_approve2; // Used when SUPPLIER_ORDER_DOUBLE_APPROVAL is set var $date_commande; - var $date_livraison; // Date livraison souhaitee + + /** + * Delivery date + */ + var $date_livraison; var $total_ht; var $total_tva; var $total_localtax1; // Total Local tax 1 @@ -998,7 +1002,7 @@ class CommandeFournisseur extends CommonOrder $sql.= ") "; $sql.= " VALUES ("; $sql.= "''"; - $sql.= ", '".$this->ref_supplier."'"; + $sql.= ", '".$this->db->escape($this->ref_supplier)."'"; $sql.= ", '".$this->db->escape($this->note_private)."'"; $sql.= ", '".$this->db->escape($this->note_public)."'"; $sql.= ", ".$conf->entity; @@ -1007,7 +1011,7 @@ class CommandeFournisseur extends CommonOrder $sql.= ", ".($this->date_livraison?"'".$this->db->idate($this->date_livraison)."'":"null"); $sql.= ", ".$user->id; $sql.= ", 0"; - $sql.= ", " . $this->source; + $sql.= ", ".$this->db->escape($this->source); $sql.= ", '".$conf->global->COMMANDE_SUPPLIER_ADDON_PDF."'"; $sql.= ", ".($this->mode_reglement_id > 0 ? $this->mode_reglement_id : 'null'); $sql.= ", ".($this->cond_reglement_id > 0 ? $this->cond_reglement_id : 'null'); @@ -1133,8 +1137,8 @@ class CommandeFournisseur extends CommonOrder $this->db->begin(); - // Load source object - $objFrom = dol_clone($this); + // Load source object + $objFrom = clone $this; $this->id=0; $this->statut=0; @@ -2292,7 +2296,7 @@ class CommandeFournisseur extends CommonOrder $resql=$this->db->query($sql); if ($resql) { - $now=dol_now(); + $commandestatic = new CommandeFournisseur($this->db); $response = new WorkboardResponse(); $response->warning_delay=$conf->commande->fournisseur->warning_delay/60/60/24; @@ -2304,8 +2308,11 @@ class CommandeFournisseur extends CommonOrder { $response->nbtodo++; - $date_to_test = empty($obj->delivery_date) ? $obj->datec : $obj->delivery_date; - if ($obj->fk_statut != 3 && $this->db->jdate($date_to_test) < ($now - $conf->commande->fournisseur->warning_delay)) { + $commandestatic->date_livraison = $this->db->jdate($obj->delivery_date); + $commandestatic->date_commande = $this->db->jdate($obj->datec); + $commandestatic->statut = $obj->fk_statut; + + if ($commandestatic->hasDelay()) { $response->nbtodolate++; } } @@ -2447,6 +2454,21 @@ class CommandeFournisseur extends CommonOrder return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); } + + /** + * Is the supplier order delayed? + * + * @return bool + */ + public function hasDelay() + { + global $conf; + + $now = dol_now(); + $date_to_test = empty($this->date_livraison) ? $this->date_commande : $this->date_livraison; + + return ($this->statut != 3) && $date_to_test < ($now - $conf->commande->fournisseur->warning_delay); + } } diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index 5e24417f618..32d8dbf5a05 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -63,7 +63,12 @@ class FactureFournisseur extends CommonInvoice * @see FactureFournisseur::STATUS_DRAFT, FactureFournisseur::STATUS_VALIDATED, FactureFournisseur::STATUS_PAID, FactureFournisseur::STATUS_ABANDONED */ var $statut; - //! 1 si facture payee COMPLETEMENT, 0 sinon (ce champ ne devrait plus servir car insuffisant) + + /** + * Set to 1 if the invoice is completely paid, otherwise is 0 + * @var int + * @deprecated Use statuses stored in self::statut + */ var $paye; var $author; @@ -266,7 +271,7 @@ class FactureFournisseur extends CommonInvoice { if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used { - $result=$this->insertExtraFields(); + $result=$this->insertExtraFields(); // This also set $this->error or $this->errors if errors are found if ($result < 0) { $error++; @@ -274,11 +279,15 @@ class FactureFournisseur extends CommonInvoice } } else if ($reshook < 0) $error++; - // Call trigger - $result=$this->call_trigger('BILL_SUPPLIER_CREATE',$user); - if ($result < 0) $error++; - // End call triggers - + + if (! $error) + { + // Call trigger + $result=$this->call_trigger('BILL_SUPPLIER_CREATE',$user); + if ($result < 0) $error++; + // End call triggers + } + if (! $error) { $this->db->commit(); @@ -307,7 +316,7 @@ class FactureFournisseur extends CommonInvoice } else { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); $this->db->rollback(); return -2; } @@ -1409,7 +1418,7 @@ class FactureFournisseur extends CommonInvoice { global $conf, $user, $langs; - $sql = 'SELECT ff.rowid, ff.date_lim_reglement as datefin'; + $sql = 'SELECT ff.rowid, ff.date_lim_reglement as datefin, ff.fk_statut'; $sql.= ' FROM '.MAIN_DB_PREFIX.'facture_fourn as ff'; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= ' WHERE ff.paye=0'; @@ -1427,13 +1436,19 @@ class FactureFournisseur extends CommonInvoice $response = new WorkboardResponse(); $response->warning_delay=$conf->facture->fournisseur->warning_delay/60/60/24; $response->label=$langs->trans("SupplierBillsToPay"); - $response->url=DOL_URL_ROOT.'/fourn/facture/list.php?filtre=paye:0'; + $response->url=DOL_URL_ROOT.'/fourn/facture/list.php?filtre=fac.fk_statut:1,paye:0'; $response->img=img_object($langs->trans("Bills"),"bill"); + $facturestatic = new FactureFournisseur($this->db); + while ($obj=$this->db->fetch_object($resql)) { $response->nbtodo++; - if (! empty($obj->datefin) && $this->db->jdate($obj->datefin) < ($now - $conf->facture->fournisseur->warning_delay)) { + + $facturestatic->date_echeance = $this->db->jdate($obj->datefin); + $facturestatic->statut = $obj->fk_statut; + + if ($facturestatic->hasDelay()) { $response->nbtodolate++; } } @@ -1822,6 +1837,24 @@ class FactureFournisseur extends CommonInvoice return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); } + + /** + * Is the payment of the supplier invoice having a delay? + * + * @return bool + */ + public function hasDelay() + { + global $conf; + + $now = dol_now(); + + if (!$this->date_echeance) { + return false; + } + + return ($this->statut == self::STATUS_VALIDATED) && ($this->date_echeance < ($now - $conf->facture->fournisseur->warning_delay)); + } } diff --git a/htdocs/fourn/class/paiementfourn.class.php b/htdocs/fourn/class/paiementfourn.class.php index dc66e5abf9a..98876ab2519 100644 --- a/htdocs/fourn/class/paiementfourn.class.php +++ b/htdocs/fourn/class/paiementfourn.class.php @@ -36,21 +36,6 @@ class PaiementFourn extends Paiement public $element='payment_supplier'; public $table_element='paiementfourn'; - var $id; - var $ref; - var $facid; - var $datepaye; - var $total; - var $amount; // Total amount of payment - var $amounts=array(); // Array of amounts - var $author; - var $paiementid; // Type de paiement. Stocke dans fk_paiement - // de llx_paiement qui est lie aux types de - //paiement de llx_c_paiement - var $num_paiement; // Numero du CHQ, VIR, etc... - var $bank_account; // Id compte bancaire du paiement - var $bank_line; // Id de la ligne d'ecriture bancaire - var $note; var $statut; //Status of payment. 0 = unvalidated; 1 = validated // fk_paiement dans llx_paiement est l'id du type de paiement (7 pour CHQ, ...) // fk_paiement dans llx_paiement_facture est le rowid du paiement diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php index 9b0001e79d6..4667200fdfc 100644 --- a/htdocs/fourn/commande/card.php +++ b/htdocs/fourn/commande/card.php @@ -1408,7 +1408,7 @@ $productstatic = new Product($db); $now=dol_now(); if ($action=='create') { - print_fiche_titre($langs->trans('NewOrder')); + print load_fiche_titre($langs->trans('NewOrder')); dol_htmloutput_events(); @@ -1460,8 +1460,8 @@ if ($action=='create') $datedelivery = (! empty($objectsrc->date_livraison) ? $objectsrc->date_livraison : ''); - $note_private = (! empty($objectsrc->note_private) ? $objectsrc->note_private : (! empty($objectsrc->note_private) ? $objectsrc->note_private : '')); - $note_public = (! empty($objectsrc->note_public) ? $objectsrc->note_public : ''); + $note_private = $object->getDefaultCreateValueFor('note_private', (! empty($objectsrc->note_private) ? $objectsrc->note_private : null)); + $note_public = $object->getDefaultCreateValueFor('note_public', (! empty($objectsrc->note_public) ? $objectsrc->note_public : null)); // Object source contacts list $srccontactslist = $objectsrc->liste_contact(- 1, 'external', 1); @@ -1471,6 +1471,9 @@ if ($action=='create') { $cond_reglement_id = $societe->cond_reglement_supplier_id; $mode_reglement_id = $societe->mode_reglement_supplier_id; + + $note_private = $object->getDefaultCreateValueFor('note_private'); + $note_public = $object->getDefaultCreateValueFor('note_public'); } print ''; @@ -2302,7 +2305,7 @@ elseif (! empty($object->id)) print '
    '; print '
    '; - print_fiche_titre($langs->trans('SendOrderByMail')); + print load_fiche_titre($langs->trans('SendOrderByMail')); dol_fiche_head(''); @@ -2792,7 +2795,7 @@ elseif (! empty($object->id)) print ''; print ''; print ''; - print_fiche_titre($langs->trans("ToOrder"),'',''); + print load_fiche_titre($langs->trans("ToOrder"),'',''); print '
    ' . $langs->trans("Categories") . ''; - print $form->showCategories($object->id, 'supplier', 1); - print "
    ' . $langs->trans("Categories") . ''; + print $form->showCategories($object->id, 'supplier', 1); + print "
    '; //print ''; print '
    '.$langs->trans("ToOrder").'
    '.$langs->trans("OrderDate").''; @@ -2820,7 +2823,7 @@ elseif (! empty($object->id)) print ''; print ''; print ''; - print_fiche_titre($langs->trans("Receive"),'',''); + print load_fiche_titre($langs->trans("Receive"),'',''); print ''; //print ''; print ''; + } } } @@ -3951,7 +3973,7 @@ function migrate_reload_menu($db,$langs,$conf,$versionto) $versiontoarray=explode('.',$versionto); - // Script for VX (X<2.9) -> V2.9 + // Migration required when target version is between $afterversionarray=explode('.','2.8.9'); $beforeversionarray=explode('.','2.9.9'); if (versioncompare($versiontoarray,$afterversionarray) >= 0 && versioncompare($versiontoarray,$beforeversionarray) <= 0) @@ -3959,7 +3981,7 @@ function migrate_reload_menu($db,$langs,$conf,$versionto) $listofmenuhandler['auguria']=1; // We set here only dynamic menu handlers } - // Script for VX (X<3.2) -> V3.2 + // Migration required when target version is between $afterversionarray=explode('.','3.1.9'); $beforeversionarray=explode('.','3.2.9'); if (versioncompare($versiontoarray,$afterversionarray) >= 0 && versioncompare($versiontoarray,$beforeversionarray) <= 0) @@ -3967,6 +3989,14 @@ function migrate_reload_menu($db,$langs,$conf,$versionto) $listofmenuhandler['auguria']=1; // We set here only dynamic menu handlers } + // Migration required when target version is between + $afterversionarray=explode('.','3.7.9'); + $beforeversionarray=explode('.','3.8.9'); + if (versioncompare($versiontoarray,$afterversionarray) >= 0 && versioncompare($versiontoarray,$beforeversionarray) <= 0) + { + $listofmenuhandler['auguria']=1; // We set here only dynamic menu handlers + } + foreach ($listofmenuhandler as $key => $val) { print '
    '.$langs->trans("Receive").'
    '.$langs->trans("DeliveryDate").''; diff --git a/htdocs/fourn/commande/dispatch.php b/htdocs/fourn/commande/dispatch.php index 27ddcf9cdb1..57ee36eb8a3 100644 --- a/htdocs/fourn/commande/dispatch.php +++ b/htdocs/fourn/commande/dispatch.php @@ -366,9 +366,17 @@ if ($id > 0 || ! empty($ref)) $resql = $db->query($sql); if ($resql) { - while ($row = $db->fetch_row($resql)) + $num = $db->num_rows($resql); + $i = 0; + + if ($num) { - $products_dispatched[$row[0]] = $row[2]; + while ($i < $num) + { + $objd = $db->fetch_object($resql); + $products_dispatched[$objd->rowid] = price2num($objd->qty, 5); + $i++; + } } $db->free($resql); } @@ -429,7 +437,7 @@ if ($id > 0 || ! empty($ref)) } else { - $remaintodispatch=($objp->qty - ((int) $products_dispatched[$objp->rowid])); // Calculation of dispatched + $remaintodispatch=price2num($objp->qty - ((float) $products_dispatched[$objp->rowid]), 5); // Calculation of dispatched if ($remaintodispatch < 0) $remaintodispatch=0; if ($remaintodispatch || empty($conf->global->SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED)) @@ -605,7 +613,7 @@ if ($id > 0 || ! empty($ref)) { print "
    \n"; - print_titre($langs->trans("ReceivingForSameOrder")); + print load_fiche_titre($langs->trans("ReceivingForSameOrder")); print ''; diff --git a/htdocs/fourn/commande/index.php b/htdocs/fourn/commande/index.php index c877589851d..cb91a65b341 100644 --- a/htdocs/fourn/commande/index.php +++ b/htdocs/fourn/commande/index.php @@ -48,7 +48,7 @@ $commandestatic = new CommandeFournisseur($db); $userstatic=new User($db); $formfile = new FormFile($db); -print_fiche_titre($langs->trans("SuppliersOrdersArea")); +print load_fiche_titre($langs->trans("SuppliersOrdersArea")); print '
    '; print '' ]; + for ( i = 0; i < childHtmlList.length; i++ ) { + var className = 'cke_dialog_ui_hbox_child', + styles = []; + if ( i === 0 ) + className = 'cke_dialog_ui_hbox_first'; + if ( i == childHtmlList.length - 1 ) + className = 'cke_dialog_ui_hbox_last'; + html.push( '' ); + } + html.push( '' ); + return html.join( '' ); + }; + + var attribs = { role: 'presentation' }; + elementDefinition && elementDefinition.align && ( attribs.align = elementDefinition.align ); + + CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition || { type: 'hbox' }, htmlList, 'table', styles, attribs, innerHTML ); + }, + + /** + * Vertical layout box for dialog UI elements. + * + * @class CKEDITOR.ui.dialog.vbox + * @extends CKEDITOR.ui.dialog.hbox + * @constructor Creates a vbox class instance. + * @param {CKEDITOR.dialog} dialog Parent dialog object. + * @param {Array} childObjList + * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this container. + * @param {Array} childHtmlList + * Array of HTML code that correspond to the HTML output of all the + * objects in childObjList. + * @param {Array} htmlList Array of HTML code that this element will output to. + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition + * The element definition. Accepted fields: + * + * * `width` (Optional) The width of the layout. + * * `heights` (Optional) The heights of individual cells. + * * `align` (Optional) The alignment of the layout. + * * `padding` (Optional) The padding width inside child cells. + * * `expand` (Optional) Whether the layout should expand + * vertically to fill its container. + */ + vbox: function( dialog, childObjList, childHtmlList, htmlList, elementDefinition ) { + if ( arguments.length < 3 ) + return; + + this._ || ( this._ = {} ); + + var children = this._.children = childObjList, + width = elementDefinition && elementDefinition.width || null, + heights = elementDefinition && elementDefinition.heights || null; + /** @ignore */ + var innerHTML = function() { + var html = [ '
    '; diff --git a/htdocs/fourn/commande/orderstoinvoice.php b/htdocs/fourn/commande/orderstoinvoice.php index a1fa57f97f4..6fa03cb0475 100644 --- a/htdocs/fourn/commande/orderstoinvoice.php +++ b/htdocs/fourn/commande/orderstoinvoice.php @@ -262,7 +262,7 @@ $companystatic = new Societe($db); if ($action == 'create' && !$error) { llxHeader(); - print_fiche_titre($langs->trans('NewBill')); + print load_fiche_titre($langs->trans('NewBill')); $soc = new Societe($db); if ($socid) @@ -442,7 +442,7 @@ if (($action != 'create' && $action != 'add') && !$error) { $title = $langs->trans('ListOfSupplierOrders'); $title .= ' - ' . $langs->trans('StatusOrderReceivedAllShort'); $num = $db->num_rows($resql); - print_fiche_titre($title); + print load_fiche_titre($title); $i = 0; $period = $html->select_date($date_start, 'date_start', 0, 0, 1, '', 1, 0, 1) . ' - ' . $html->select_date($date_end, 'date_end', 0, 0, 1, '', 1, 0, 1); $periodely = $html->select_date($date_starty, 'date_start_dely', 0, 0, 1, '', 1, 0, 1) . ' - ' . $html->select_date($date_endy, 'date_end_dely', 0, 0, 1, '', 1, 0, 1); diff --git a/htdocs/fourn/commande/tpl/linkedobjectblock.tpl.php b/htdocs/fourn/commande/tpl/linkedobjectblock.tpl.php index cfcb5567bb6..c72386e3728 100644 --- a/htdocs/fourn/commande/tpl/linkedobjectblock.tpl.php +++ b/htdocs/fourn/commande/tpl/linkedobjectblock.tpl.php @@ -29,7 +29,7 @@ $linkedObjectBlock = $GLOBALS['linkedObjectBlock']; $langs->load("orders"); echo '
    '; -print_titre($langs->trans('RelatedSupplierOrders')); +print load_fiche_titre($langs->trans('RelatedSupplierOrders')); ?> diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index 6032a7a5036..5a54cc84068 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -364,7 +364,7 @@ if (empty($reshook)) if(empty($object->date_echeance)) $object->date_echeance = $object->calculate_date_lim_reglement(); // If creation from another object of another module - if ($_POST['origin'] && $_POST['originid']) + if (! $error && $_POST['origin'] && $_POST['originid']) { // Parse element/subelement (ex: project_task) $element = $subelement = $_POST['origin']; @@ -468,17 +468,17 @@ if (empty($reshook)) $error++; } } - // If some invoice's lines already known - else + else if (! $error) { $id = $object->create($user); if ($id < 0) { $error++; } - + if (! $error) { + // If some invoice's lines already known for ($i = 1 ; $i < 9 ; $i++) { $label = $_POST['label'.$i]; @@ -513,7 +513,8 @@ if (empty($reshook)) { $langs->load("errors"); $db->rollback(); - setEventMessage($langs->trans($object->error), 'errors'); + + setEventMessages($object->error, $object->errors, 'errors'); $action='create'; $_GET['socid']=$_POST['socid']; } @@ -1237,7 +1238,7 @@ if ($action == 'create') $facturestatic = new FactureFournisseur($db); $extralabels = $extrafields->fetch_name_optionals_label($facturestatic->table_element); - print_fiche_titre($langs->trans('NewBill')); + print load_fiche_titre($langs->trans('NewBill')); dol_htmloutput_events(); @@ -1476,7 +1477,8 @@ if ($action == 'create') // Public note print ''; print ''; // print ''; @@ -1485,7 +1487,8 @@ if ($action == 'create') // Private note print ''; print ''; // print ''; @@ -1587,7 +1590,7 @@ if ($action == 'create') print '
    '; $title=$langs->trans('ProductsAndServices'); - print_titre($title); + print load_fiche_titre($title); print '
    '.$langs->trans('NotePublic').''; - $doleditor = new DolEditor('note_public', GETPOST('note_public'), '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); + $note_public = $object->getDefaultCreateValueFor('note_public'); + $doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); print $doleditor->Create(1); print '
    '.$langs->trans('NotePrivate').''; - $doleditor = new DolEditor('note_private', GETPOST('note_private'), '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); + $note_private = $object->getDefaultCreateValueFor('note_private'); + $doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); print $doleditor->Create(1); print '
    '; @@ -1905,7 +1908,9 @@ else // Due date print ''; // Conditions de reglement par defaut @@ -2305,7 +2310,7 @@ else print '
    '; print '
    '; - print_fiche_titre($langs->trans('SendBillByMail')); + print load_fiche_titre($langs->trans('SendBillByMail')); dol_fiche_head(''); diff --git a/htdocs/fourn/facture/impayees.php b/htdocs/fourn/facture/impayees.php index 83d4b830c5f..ecb6b990a64 100644 --- a/htdocs/fourn/facture/impayees.php +++ b/htdocs/fourn/facture/impayees.php @@ -181,7 +181,7 @@ if ($user->rights->fournisseur->facture->lire) $link=''; if (empty($option)) $link=''.$langs->trans("ShowUnpaidLateOnly").''; elseif ($option == 'late') $link=''.$langs->trans("ShowUnpaidAll").''; - print_fiche_titre($titre,$link); + print load_fiche_titre($titre,$link); print_barre_liste('','',$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',0); // We don't want pagination on this page $i = 0; @@ -230,6 +230,9 @@ if ($user->rights->fournisseur->facture->lire) { $objp = $db->fetch_object($resql); + $facturestatic->statut = $objp->fk_statut; + $facturestatic->date_echeance = $db->jdate($objp->datelimite); + $var=!$var; print ""; @@ -245,7 +248,9 @@ if ($user->rights->fournisseur->facture->lire) print '\n"; print '\n"; print '"; @@ -342,7 +346,9 @@ if ($resql) print ''; print ''; print ''; print ''; } else @@ -440,7 +438,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie $text.='
    '.$langs->trans("AllCompletelyPayedInvoiceWillBeClosed"); print ''; } - $form->form_confirm($_SERVER['PHP_SELF'].'?facid='.$facture->id.'&socid='.$facture->socid.'&type='.$facture->type,$langs->trans('PayedSuppliersPayments'),$text,'confirm_paiement',$formquestion,$preselectedchoice); + $form->formconfirm($_SERVER['PHP_SELF'].'?facid='.$facture->id.'&socid='.$facture->socid.'&type='.$facture->type,$langs->trans('PayedSuppliersPayments'),$text,'confirm_paiement',$formquestion,$preselectedchoice); } print ''; diff --git a/htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php b/htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php index 8678d22384b..29357b49dc3 100644 --- a/htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php +++ b/htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php @@ -30,7 +30,7 @@ $linkedObjectBlock = $GLOBALS['linkedObjectBlock']; $langs->load("bills"); echo '
    '; -print_titre($langs->trans("RelatedSupplierInvoices")); +print load_fiche_titre($langs->trans("RelatedSupplierInvoices")); ?>
    '.$form->editfieldkey("DateMaxPayment",'date_lim_reglement',$object->date_echeance,$object,$form_permission,'datepicker').''; print $form->editfieldval("DateMaxPayment",'date_lim_reglement',$object->date_echeance,$object,$form_permission,'datepicker'); - if ($action != 'editdate_lim_reglement' && $object->statut < FactureFournisseur::STATUS_CLOSED && $object->date_echeance && $object->date_echeance < ($now - $conf->facture->fournisseur->warning_delay)) print img_warning($langs->trans('Late')); + if ($action != 'editdate_lim_reglement' && $object->hasDelay()) { + print img_warning($langs->trans('Late')); + } print '
    '.dol_print_date($db->jdate($objp->df),'day')."'.dol_print_date($db->jdate($objp->datelimite),'day'); - if ($objp->datelimite && $db->jdate($objp->datelimite) < ($now - $conf->facture->fournisseur->warning_delay) && ! $objp->paye && $objp->fk_statut == 1) print img_warning($langs->trans("Late")); + if ($facturestatic->hasDelay()) { + print img_warning($langs->trans("Late")); + } print "'; diff --git a/htdocs/fourn/facture/list.php b/htdocs/fourn/facture/list.php index dc8adddec39..f5ed63108a6 100644 --- a/htdocs/fourn/facture/list.php +++ b/htdocs/fourn/facture/list.php @@ -323,6 +323,10 @@ if ($resql) while ($i < min($num,$limit)) { $obj = $db->fetch_object($resql); + + $facturestatic->date_echeance = $db->jdate($obj->date_echeance); + $facturestatic->statut = $obj->fk_statut; + $var=!$var; print "
    '.dol_print_date($db->jdate($obj->datef),'day').''.dol_print_date($db->jdate($obj->date_echeance),'day'); - if (($obj->paye == 0) && ($obj->fk_statut > 0) && $obj->date_echeance && $db->jdate($obj->date_echeance) < ($now - $conf->facture->fournisseur->warning_delay)) print img_picto($langs->trans("Late"),"warning"); + if ($facturestatic->hasDelay()) { + print img_picto($langs->trans("Late"),"warning"); + } print ''.dol_trunc($obj->libelle,36).''; diff --git a/htdocs/fourn/facture/paiement.php b/htdocs/fourn/facture/paiement.php index 20cf8f250bd..b94eceb0c1d 100644 --- a/htdocs/fourn/facture/paiement.php +++ b/htdocs/fourn/facture/paiement.php @@ -5,11 +5,8 @@ * Copyright (C) 2004 Christophe Combelles * Copyright (C) 2005 Marc Barilley / Ocebo * Copyright (C) 2005-2012 Regis Houssin -<<<<<<< HEAD * Copyright (C) 2014 Teddy Andreotti <125155@supinfo.com> -======= * Copyright (C) 2015 Marcos García ->>>>>>> refs/remotes/origin/3.6 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -46,6 +43,7 @@ $confirm = GETPOST('confirm'); $facid=GETPOST('facid','int'); $socid=GETPOST('socid','int'); +$accountid = GETPOST('accountid'); $sortfield = GETPOST("sortfield",'alpha'); $sortorder = GETPOST("sortorder",'alpha'); @@ -200,7 +198,7 @@ if (empty($reshook)) if (! $error) { - $result=$paiement->addPaymentToBank($user,'payment_supplier','(SupplierInvoicePayment)',$_POST['accountid'],'',''); + $result=$paiement->addPaymentToBank($user,'payment_supplier','(SupplierInvoicePayment)',$accountid,'',''); if ($result < 0) { setEventMessage($paiement->error, 'errors'); @@ -273,7 +271,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie $obj = $db->fetch_object($resql); $total = $obj->total; - print_fiche_titre($langs->trans('DoPayment')); + print load_fiche_titre($langs->trans('DoPayment')); print ''; print ''; @@ -304,7 +302,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie if (! empty($conf->banque->enabled)) { print '
    '.$langs->trans('Account').''; - $form->select_comptes(empty($_POST['accountid'])?'':$_POST['accountid'],'accountid',0,'',2); + $form->select_comptes(empty($accountid)?'':$accountid,'accountid',0,'',2); print '
    diff --git a/htdocs/fourn/index.php b/htdocs/fourn/index.php index 29f12fed38f..bc16806cdc2 100644 --- a/htdocs/fourn/index.php +++ b/htdocs/fourn/index.php @@ -48,7 +48,7 @@ $companystatic=new Societe($db); llxHeader("",$langs->trans("SuppliersArea")); -print_fiche_titre($langs->trans("SuppliersArea")); +print load_fiche_titre($langs->trans("SuppliersArea")); //print '
    '; diff --git a/htdocs/fourn/list.php b/htdocs/fourn/list.php index 3333ffefba2..d05359945d1 100644 --- a/htdocs/fourn/list.php +++ b/htdocs/fourn/list.php @@ -5,6 +5,7 @@ * Copyright (C) 2011 Philippe Grand * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2015 Raphaël Doursenaud + * Copyright (C) 2015 Florian Henry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -29,6 +30,8 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; $langs->load("suppliers"); $langs->load("orders"); @@ -44,6 +47,8 @@ $search_datec = GETPOST("search_datec"); $search_categ = GETPOST('search_categ','int'); $search_status = GETPOST("search_status",'int'); $catid = GETPOST("catid",'int'); +$search_country = GETPOST("search_country",'int'); +$search_type_thirdparty = GETPOST("search_type_thirdparty",'int'); // Security check $socid = GETPOST('socid','int'); @@ -76,6 +81,8 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both $search_categ=""; $search_status=''; $catid=""; + $search_country=""; + $search_type_thirdparty=""; } if ($search_status=='') $search_status=1; // always display activ customer first @@ -99,12 +106,15 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e $form=new Form($db); $htmlother=new FormOther($db); $thirdpartystatic=new Societe($db); +$formcompany=new FormCompany($db); $help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; llxHeader('',$langs->trans("ThirdParty"),$help_url); $sql = "SELECT s.rowid as socid, s.nom as name, s.name_alias, s.zip, s.town, s.datec, st.libelle as stcomm, s.prefix_comm, s.status as status, "; $sql.= "code_fournisseur, code_compta_fournisseur"; +$sql.= ",s.fk_pays"; +$sql.= ",typent.code as typent_code"; if (!$user->rights->societe->client->voir && !$socid) $sql .= ", sc.fk_soc, sc.fk_user "; // Add fields for extrafields foreach ($extrafields->attribute_list as $key => $val) $sql.=",ef.".$key.' as options_'.$key; @@ -114,6 +124,8 @@ $reshook=$hookmanager->executeHooks('printFieldListSelect',$parameters); // N $sql.=$hookmanager->resPrint; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_extrafields as ef ON ef.fk_object = s.rowid"; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as country on (country.rowid = s.fk_pays) "; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_typent as typent on (typent.id = s.fk_typent) "; if (! empty($search_categ) || ! empty($catid)) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_fournisseur as cf ON s.rowid = cf.fk_soc"; // We need this table joined to the select in order to filter by categ $sql.= ", ".MAIN_DB_PREFIX."c_stcomm as st"; if (!$user->rights->societe->client->voir && !$socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; @@ -137,6 +149,8 @@ if ($catid > 0) $sql.= " AND cf.fk_categorie = ".$catid; if ($catid == -2) $sql.= " AND cf.fk_categorie IS NULL"; if ($search_categ > 0) $sql.= " AND cf.fk_categorie = ".$search_categ; if ($search_categ == -2) $sql.= " AND cf.fk_categorie IS NULL"; +if ($search_country) $sql .= " AND s.fk_pays IN (".$search_country.')'; +if ($search_type_thirdparty) $sql .= " AND s.fk_typent IN (".$search_type_thirdparty.')'; // Add where from hooks $parameters=array(); $reshook=$hookmanager->executeHooks('printFieldListWhere',$parameters); // Note that $action and $object may have been modified by hook @@ -160,9 +174,14 @@ if ($resql) $num = $db->num_rows($resql); $i = 0; - $param = "&search_name=".$search_name."&search_supplier_code=".$search_supplier_code."&search_zipcode=".$search_zipcode."&search_town=".$search_town; - if ($search_categ != '') $param.='&search_categ='.$search_categ; - if ($search_status != '') $param.='&search_status='.$search_status; + $param = "&search_name=".htmlspecialchars($search_name); + $param.="&search_supplier_code=".htmlspecialchars($search_supplier_code); + $param.="&search_zipcode=".htmlspecialchars($search_zipcode); + $param.="&search_town=".htmlspecialchars($search_town); + if ($search_categ != '') $param.='&search_categ='.htmlspecialchars($search_categ); + if ($search_status != '') $param.='&search_status='.htmlspecialchars($search_status); + if ($search_country != '') $param.='&search_country='.htmlspecialchars($search_country); + if ($search_type_thirdparty != '') $param.='&search_type_thirdparty='.htmlspecialchars($search_type_thirdparty); print_barre_liste($langs->trans("ListOfSuppliers"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'title_companies'); @@ -193,6 +212,8 @@ if ($resql) print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","",$param,'valign="middle"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Zip"),$_SERVER["PHP_SELF"],"s.zip","",$param,'valign="middle"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Town"),$_SERVER["PHP_SELF"],"s.town","",$param,'valign="middle"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Country"),$_SERVER["PHP_SELF"],"country.code_iso","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("ThirdPartyType"),$_SERVER["PHP_SELF"],"typent.code","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("SupplierCode"),$_SERVER["PHP_SELF"],"s.code_fournisseur","",$param,'align="left"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("AccountancyCode"),$_SERVER["PHP_SELF"],"s.code_compta_fournisseur","",$param,'align="left"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DateCreation"),$_SERVER["PHP_SELF"],"s.datec","",$param,'align="right"',$sortfield,$sortorder); @@ -213,6 +234,14 @@ if ($resql) print ''; + print ''; + + print ''; + print ''; @@ -257,6 +286,16 @@ if ($resql) print "\n"; print ''."\n"; print ''."\n"; + //Country + print ''; + //Type ent + print ''; print ''; print ''; print ''; diff --git a/htdocs/fourn/recap-fourn.php b/htdocs/fourn/recap-fourn.php index c09f52b8407..eb976acb4a0 100644 --- a/htdocs/fourn/recap-fourn.php +++ b/htdocs/fourn/recap-fourn.php @@ -86,7 +86,7 @@ if ($socid > 0) if (! empty($conf->fournisseur->enabled) && $user->rights->facture->lire) { // Invoices list - print_fiche_titre($langs->trans("SupplierPreview")); + print load_fiche_titre($langs->trans("SupplierPreview")); print '
    '; + print $form->select_country($search_country,'search_country'); + print ''; + print $form->selectarray("search_type_thirdparty", $formcompany->typent_array(0), $search_type_thirdparty, 0, 0, 0, '', 0, 0, 0, (empty($conf->global->SOCIETE_SORT_ON_TYPEENT)?'ASC':$conf->global->SOCIETE_SORT_ON_TYPEENT)); + print ''; print ''; print ''.$obj->zip.''.$obj->town.''; + $tmparray=getCountry($obj->fk_pays,'all'); + print $tmparray['label']; + print ''; + if (count($typenArray)==0) $typenArray = $formcompany->typent_array(1); + print $typenArray[$obj->typent_code]; + print ''.$obj->code_fournisseur.' '.$obj->code_compta_fournisseur.' '.dol_print_date($db->jdate($obj->datec),'day').'
    '; diff --git a/htdocs/ftp/admin/ftpclient.php b/htdocs/ftp/admin/ftpclient.php index 2ba73f0ee2a..de3a470ba90 100644 --- a/htdocs/ftp/admin/ftpclient.php +++ b/htdocs/ftp/admin/ftpclient.php @@ -138,7 +138,7 @@ $form=new Form($db); llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("FTPClientSetup"), $linkback, 'title_setup'); +print load_fiche_titre($langs->trans("FTPClientSetup"), $linkback, 'title_setup'); print '
    '; if (! function_exists('ftp_connect')) diff --git a/htdocs/ftp/index.php b/htdocs/ftp/index.php index 9b0c2a36e0e..b26e7b96f86 100644 --- a/htdocs/ftp/index.php +++ b/htdocs/ftp/index.php @@ -341,7 +341,7 @@ if ($action == 'download') } else { - setEventMessages($langs->trans('FailedToGetFile',$remotefile), null, 'errors'); + setEventMessages($langs->transnoentitiesnoconv('FailedToGetFile',$remotefile), null, 'errors'); } } @@ -396,7 +396,7 @@ $userstatic = new User($db); // List -print_fiche_titre($langs->trans("FTPArea")); +print load_fiche_titre($langs->trans("FTPArea")); print $langs->trans("FTPAreaDesc")."
    "; diff --git a/htdocs/holiday/card.php b/htdocs/holiday/card.php index ebda47dd196..25d23594787 100644 --- a/htdocs/holiday/card.php +++ b/htdocs/holiday/card.php @@ -678,7 +678,7 @@ if (empty($id) || $action == 'add' || $action == 'request' || $action == 'create else { // Formulaire de demande de congés payés - print_fiche_titre($langs->trans('MenuAddCP'), '', 'title_hrm.png'); + print load_fiche_titre($langs->trans('MenuAddCP'), '', 'title_hrm.png'); // Si il y a une erreur if (GETPOST('error')) { @@ -782,10 +782,10 @@ if (empty($id) || $action == 'add' || $action == 'request' || $action == 'create print ''; print ''; @@ -896,7 +896,7 @@ else $userRequest = new User($db); $userRequest->fetch($cp->fk_user); - //print_fiche_titre($langs->trans('TitreRequestCP')); + //print load_fiche_titre($langs->trans('TitreRequestCP')); // Si il y a une erreur if (GETPOST('error')) diff --git a/htdocs/holiday/class/holiday.class.php b/htdocs/holiday/class/holiday.class.php index 3e68bb6bce5..6bb253319e0 100644 --- a/htdocs/holiday/class/holiday.class.php +++ b/htdocs/holiday/class/holiday.class.php @@ -34,16 +34,11 @@ class Holiday extends CommonObject public $element='holiday'; public $table_element='holiday'; - var $db; - var $error; - var $errors=array(); - /** * @deprecated * @see id */ var $rowid; - var $ref; var $fk_user; var $date_create=''; diff --git a/htdocs/holiday/define_holiday.php b/htdocs/holiday/define_holiday.php index c0179c55bd0..62ad088a5ef 100644 --- a/htdocs/holiday/define_holiday.php +++ b/htdocs/holiday/define_holiday.php @@ -102,7 +102,7 @@ if ($action == 'update' && isset($_POST['update_cp'])) } } - if (! $error) setEventMessages($langs->trans('UpdateConfCPOK'), '', 'mesgs'); + if (! $error) setEventMessages('UpdateConfCPOK', '', 'mesgs'); } elseif($action == 'add_event') { @@ -122,7 +122,7 @@ elseif($action == 'add_event') if ($error) { - setEventMessages($langs->trans('ErrorAddEventToUserCP'), '', 'errors'); + setEventMessages('ErrorAddEventToUserCP', '', 'errors'); } else { @@ -135,7 +135,7 @@ elseif($action == 'add_event') $holiday->updateSoldeCP($userCP,$new_holiday); - setEventMessages($langs->trans('AddEventToUserOkCP'), '', 'mesgs'); + setEventMessages('AddEventToUserOkCP', '', 'mesgs'); } } @@ -149,7 +149,7 @@ $userstatic=new User($db); llxHeader(array(),$langs->trans('CPTitreMenu')); -print_fiche_titre($langs->trans('MenuConfCP'), '', 'title_hrm.png'); +print load_fiche_titre($langs->trans('MenuConfCP'), '', 'title_hrm.png'); print '
    '.$langs->trans('LastUpdateCP').': '."\n"; if ($holiday->getConfCP('lastUpdate')) print ''.dol_print_date($db->jdate($holiday->getConfCP('lastUpdate')),'dayhour','tzuser').''; @@ -173,7 +173,7 @@ if ($cp_events == 1) print '
    '."\n"; print ''; - print_fiche_titre($langs->trans('DefineEventUserCP'),'',''); + print load_fiche_titre($langs->trans('DefineEventUserCP'),'',''); print $langs->trans('MotifCP').' : '; print $holiday->selectEventCP(); diff --git a/htdocs/holiday/list.php b/htdocs/holiday/list.php index c350fb003e6..ee4465a4aee 100644 --- a/htdocs/holiday/list.php +++ b/htdocs/holiday/list.php @@ -18,7 +18,7 @@ */ /** - * \file htdocs/holiday/index.php + * \file htdocs/holiday/list.php * \ingroup holiday * \brief List of holiday. */ @@ -198,7 +198,7 @@ else // Si erreur SQL if ($holiday_payes == '-1') { - print_fiche_titre($langs->trans('CPTitreMenu'), '', 'title_hrm.png'); + print load_fiche_titre($langs->trans('CPTitreMenu'), '', 'title_hrm.png'); dol_print_error($db, $langs->trans('Error').' '.$holiday->error); exit(); diff --git a/htdocs/holiday/month_report.php b/htdocs/holiday/month_report.php index caf04e90bd1..e1204429100 100644 --- a/htdocs/holiday/month_report.php +++ b/htdocs/holiday/month_report.php @@ -71,7 +71,7 @@ $sql.= " ORDER BY u.lastname,cp.date_debut"; $result = $db->query($sql); $num = $db->num_rows($result); -print_fiche_titre($langs->trans('MenuReportMonth'), '', 'title_hrm.png'); +print load_fiche_titre($langs->trans('MenuReportMonth'), '', 'title_hrm.png'); // Get month of last update $lastUpdate = $cp->getConfCP('lastUpdate', 0); diff --git a/htdocs/imports/class/import.class.php b/htdocs/imports/class/import.class.php index b846d158227..2c17dd44f02 100644 --- a/htdocs/imports/class/import.class.php +++ b/htdocs/imports/class/import.class.php @@ -146,7 +146,7 @@ class Import $this->array_import_entities[$i]=$module->import_entities_array[$r]; // Tableau des alias a exporter (cle=champ, valeur=alias) $this->array_import_regex[$i]=$module->import_regex_array[$r]; - // Tableau des alias a exporter (cle=champ, valeur=exemple) + // Array of examples $this->array_import_examplevalues[$i]=$module->import_examplevalues_array[$r]; // Tableau des regles de conversion d'une valeur depuis une autre source (cle=champ, valeur=tableau des regles) $this->array_import_convertvalue[$i]=(isset($module->import_convertvalue_array[$r])?$module->import_convertvalue_array[$r]:''); diff --git a/htdocs/imports/index.php b/htdocs/imports/index.php index 360e713f9ab..98da9584308 100644 --- a/htdocs/imports/index.php +++ b/htdocs/imports/index.php @@ -41,7 +41,7 @@ $form=new Form($db); llxHeader('',$langs->trans("ImportArea"),'EN:Module_Imports_En|FR:Module_Imports|ES:Módulo_Importaciones'); -print_fiche_titre($langs->trans("ImportArea")); +print load_fiche_titre($langs->trans("ImportArea")); print $langs->trans("FormatedImportDesc1").'
    '; print $langs->trans("FormatedImportDesc2").'
    '; diff --git a/htdocs/includes/bin/raven b/htdocs/includes/bin/raven deleted file mode 120000 index 9080498f871..00000000000 --- a/htdocs/includes/bin/raven +++ /dev/null @@ -1 +0,0 @@ -../raven/raven/bin/raven \ No newline at end of file diff --git a/htdocs/includes/ckeditor/ckeditor/README.md b/htdocs/includes/ckeditor/ckeditor/README.md index d6b5e2af515..c5a55cd88f8 100644 --- a/htdocs/includes/ckeditor/ckeditor/README.md +++ b/htdocs/includes/ckeditor/ckeditor/README.md @@ -1,82 +1,39 @@ -CKEditor 4 - Releases -===================== +CKEditor 4 +========== -## Releases Code +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +http://ckeditor.com - See LICENSE.md for license information. -This repository contains the official release versions of [CKEditor](http://ckeditor.com). - -There are four versions for each release — `standard-all`, `basic`, `standard`, and `full`. -They differ in the number of plugins that are compiled into the main `ckeditor.js` file as well as the toolbar configuration. - -See the [comparison](http://ckeditor.com/presets) of the `basic`, `standard`, and `full` installation presets for more details. - -The `standard-all` build includes all official CKSource plugins with only those from the `standard` installation preset compiled into the `ckeditor.js` file and enabled in the configuration. - -All versions available in this repository were built using [CKBuilder](http://ckeditor.com/builder), so they are optimized and ready to be used in a production environment. +CKEditor is a text editor to be used inside web pages. It's not a replacement +for desktop text editors like Word or OpenOffice, but a component to be used as +part of web applications and websites. ## Documentation -Developer documentation for CKEditor is available online at: . +The full editor documentation is available online at the following address: +http://docs.ckeditor.com ## Installation -### Git clone +Installing CKEditor is an easy task. Just follow these simple steps: -To install one of the available releases, just clone this repository and switch to the respective branch (see next section): + 1. **Download** the latest version from the CKEditor website: + http://ckeditor.com. You should have already completed this step, but be + sure you have the very latest version. + 2. **Extract** (decompress) the downloaded file into the root of your website. - git clone -b git://github.com/ckeditor/ckeditor-releases.git - -### Git submodule - -If you are using git for your project and you want to integrate CKEditor, we recommend to add this repository as a -[submodule](http://git-scm.com/book/en/Git-Tools-Submodules). - - git submodule add -b git://github.com/ckeditor/ckeditor-releases.git - git commit -m "Added CKEditor submodule in directory." - -### Using Package Managers - -See the [Installing CKEditor with Package Managers](http://docs.ckeditor.com/#!/guide/dev_package_managers) article for more details about installing CKEditor with Bower and Composer. - -## Repository Structure - -### Branches - -This repository contains the following branches: - - - `master` and `latest` – the latest release of the `standard-all` preset (including betas). - - `stable` – the latest stable release of the `standard-all` preset (non-beta). - - `A.B.x` (e.g. `4.3.x`) – the latest release of the `standard-all` preset in the `A.B` branch. - - `(basic|standard|full)/stable` – the latest stable release tag point (non-beta). - - `(basic|standard|full)/latest` – the latest release tag point (including betas). - - `(basic|standard|full)/A.B.x` (e.g. `basic/4.0.x`) – the latest releases in the `A.B` branch. - -### Tags - -**Since version 4.3.3** this repository uses the following tag naming rules: - - - `x.y.z` – contains the `standard-all` editor build, e.g. `4.3.3`, `4.4.0` etc. - - `(basic|standard|full)/x.y.z` – contains the editor build with a given preset, e.g. `basic/4.3.3`. - -The version numbers follow the [Semantic Versioning 2.0.0](http://semver.org/) scheme. - -Up to version **4.3.2** the tags were released in the following form `x.y[.z]/(basic|standard|full)`. -For example: `4.0/basic`, `4.0.1/standard`. This convention was changed in CKEditor 4.3.3 to conform to the Semantic Versioning scheme. +**Note:** CKEditor is by default installed in the `ckeditor` folder. You can +place the files in whichever you want though. ## Checking Your Installation -The editor comes with a few sample pages that can be used to verify if the installation succeeded. Take a look at the `samples` directory. +The editor comes with a few sample pages that can be used to verify that +installation proceeded properly. Take a look at the `samples` directory. -To test your installation, just call the following page for your website: +To test your installation, just call the following page at your website: http:////samples/index.html For example: http://www.example.com/ckeditor/samples/index.html - -### License - -Licensed under the GPL, LGPL, and MPL licenses, at your choice. - -Please check the `LICENSE.md` file for more information about the license. \ No newline at end of file diff --git a/htdocs/includes/ckeditor/ckeditor/_source/CHANGES.md b/htdocs/includes/ckeditor/ckeditor/_source/CHANGES.md new file mode 100644 index 00000000000..a5bec2ba830 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/CHANGES.md @@ -0,0 +1,442 @@ +CKEditor 4 Changelog +==================== + +## CKEditor 4.3.3 + +Fixed Issues: + +* [#11500](http://dev.ckeditor.com/ticket/11500): [Webkit/Blink] Fixed: Selection lost when setting data in another inline editor. Additionally, [`selection.removeAllRanges()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-removeAllRanges) is now scoped to selection's [root](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-property-root). +* [#11104](http://dev.ckeditor.com/ticket/11104): [IE] Fixed: Various issues with scrolling and selection when focusing widgets. +* [#11487](http://dev.ckeditor.com/ticket/11487): Moving mouse over the [Enhanced Image](http://ckeditor.com/addon/image2) widget will no longer change the value returned by the [`editor.checkDirty()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-checkDirty) method. +* [#8673](http://dev.ckeditor.com/ticket/8673): [WebKit] Fixed: Cannot select and remove the [Page Break](http://ckeditor.com/addon/pagebreak). +* [#11413](http://dev.ckeditor.com/ticket/11413): Fixed: Incorrect [`editor.execCommand()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-execCommand) behavior. +* [#11438](http://dev.ckeditor.com/ticket/11438): Splitting table cells vertically is no longer changing table structure. +* [#8899](http://dev.ckeditor.com/ticket/8899): Fixed: Links in the [About CKEditor](http://ckeditor.com/addon/about) dialog window now open in a new browser window or tab. +* [#11490](http://dev.ckeditor.com/ticket/11490): Fixed: [Menu button](http://ckeditor.com/addon/menubutton) panel not showing in the source mode. +* [#11417](http://dev.ckeditor.com/ticket/11417): The [`widget.doubleclick`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget-event-doubleclick) event is not canceled anymore after editing was triggered. +* [#11253](http://dev.ckeditor.com/ticket/11253): [IE] Fixed: Clipped upload button in the [Enhanced Image](http://ckeditor.com/addon/image2) dialog window. +* [#11359](http://dev.ckeditor.com/ticket/11359): Standardized the way anchors are discovered by the [Link](http://ckeditor.com/addon/link) plugin. +* [#11058](http://dev.ckeditor.com/ticket/11058): [IE8] Fixed: Error when deleting a table row. +* [#11508](http://dev.ckeditor.com/ticket/11508): Fixed: [`htmlDataProcessor`](http://docs.ckeditor.com/#!/api/CKEDITOR.htmlDataProcessor) discovering protected attributes within other attributes' values. +* [#11533](http://dev.ckeditor.com/ticket/11533): Widgets: Avoid recurring upcasts if the DOM structure was modified during an upcast. +* [#11400](http://dev.ckeditor.com/ticket/11400): Fixed: The [`domObject.removeAllListeners()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.domObject-method-removeAllListeners) method does not remove custom listeners completely. +* [#11493](http://dev.ckeditor.com/ticket/11493): Fixed: The [`selection.getRanges()`](http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection-method-getRanges) method does not override cached ranges when used with the `onlyEditables` argument. +* [#11390](http://dev.ckeditor.com/ticket/11390): [IE] All [XML](http://ckeditor.com/addon/xml) plugin [methods](http://docs.ckeditor.com/#!/api/CKEDITOR.xml) now work in IE10+. +* [#11542](http://dev.ckeditor.com/ticket/11542): [IE11] Fixed: Blurry toolbar icons when Right-to-Left UI language is set. +* [#11504](http://dev.ckeditor.com/ticket/11504): Fixed: When [`config.fullPage`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-fullPage) is set to `true`, entities are not encoded in editor output. +* [#11004](http://dev.ckeditor.com/ticket/11004): Integrated [Enhanced Image](http://ckeditor.com/addon/image2) dialog window with [Advanced Content Filter](http://docs.ckeditor.com/#!/guide/dev_advanced_content_filter). +* [#11439](http://dev.ckeditor.com/ticket/11439): Fixed: Properties get cloned in the Cell Properties dialog window if multiple cells are selected. + +## CKEditor 4.3.2 + +Fixed Issues: + +* [#11331](http://dev.ckeditor.com/ticket/11331): A menu button will have a changed label when selected instead of using the `aria-pressed` attribute. +* [#11177](http://dev.ckeditor.com/ticket/11177): Widget drag handler improvements: + * [#11176](http://dev.ckeditor.com/ticket/11176): Fixed: Initial position is not updated when the widget data object is empty. + * [#11001](http://dev.ckeditor.com/ticket/11001): Fixed: Multiple synchronous layout recalculations are caused by initial drag handler positioning causing performance issues. + * [#11161](http://dev.ckeditor.com/ticket/11161): Fixed: Drag handler is not repositioned in various situations. + * [#11281](http://dev.ckeditor.com/ticket/11281): Fixed: Drag handler and mask are duplicated after widget reinitialization. +* [#11207](http://dev.ckeditor.com/ticket/11207): [Firefox] Fixed: Misplaced [Enhanced Image](http://ckeditor.com/addon/image2) resizer in the inline editor. +* [#11102](http://dev.ckeditor.com/ticket/11102): `CKEDITOR.template` improvements: + * [#11102](http://dev.ckeditor.com/ticket/11102): Added newline character support. + * [#11216](http://dev.ckeditor.com/ticket/11216): Added "\\'" substring support. +* [#11121](http://dev.ckeditor.com/ticket/11121): [Firefox] Fixed: High Contrast mode is enabled when the editor is loaded in a hidden iframe. +* [#11350](http://dev.ckeditor.com/ticket/11350): The default value of [`config.contentsCss`](http://docs.ckeditor.com/#!/api/CKEDITOR.config-cfg-contentsCss) is affected by [`CKEDITOR.getUrl()`](http://docs.ckeditor.com/#!/api/CKEDITOR-method-getUrl). +* [#11097](http://dev.ckeditor.com/ticket/11097): Improved the [Autogrow](http://ckeditor.com/addon/autogrow) plugin performance when dealing with very big tables. +* [#11290](http://dev.ckeditor.com/ticket/11290): Removed redundant code in the [Source Dialog](http://ckeditor.com/addon/sourcedialog) plugin. +* [#11133](http://dev.ckeditor.com/ticket/11133): [Page Break](http://ckeditor.com/addon/pagebreak) becomes editable if pasted. +* [#11126](http://dev.ckeditor.com/ticket/11126): Fixed: Native Undo executed once the bottom of the snapshot stack is reached. +* [#11131](http://dev.ckeditor.com/ticket/11131): [Div Editing Area](http://ckeditor.com/addon/divarea): Fixed: Error thrown when switching to source mode if the selection was in widget's nested editable. +* [#11139](http://dev.ckeditor.com/ticket/11139): [Div Editing Area](http://ckeditor.com/addon/divarea): Fixed: Elements Path is not cleared after switching to source mode. +* [#10778](http://dev.ckeditor.com/ticket/10778): Fixed a bug with range enlargement. The range no longer expands to visible whitespace. +* [#11146](http://dev.ckeditor.com/ticket/11146): [IE] Fixed: Preview window switches Internet Explorer to Quirks Mode. +* [#10762](http://dev.ckeditor.com/ticket/10762): [IE] Fixed: JavaScript code displayed in preview window's URL bar. +* [#11186](http://dev.ckeditor.com/ticket/11186): Introduced the [`widgets.repository.addUpcastCallback()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-addUpcastCallback) method that allows to block upcasting given element to a widget. +* [#11307](http://dev.ckeditor.com/ticket/11307): Fixed: Paste as Plain Text conflict with the [MooTools](http://mootools.net) library. +* [#11140](http://dev.ckeditor.com/ticket/11140): [IE11] Fixed: Anchors are not draggable. +* [#11379](http://dev.ckeditor.com/ticket/11379): Changed default contents `line-height` to unitless values to avoid huge text overlapping (like in [#9696](http://dev.ckeditor.com/ticket/9696)). +* [#10787](http://dev.ckeditor.com/ticket/10787): [Firefox] Fixed: Broken replacement of text while pasting into `div`-based editor. +* [#10884](http://dev.ckeditor.com/ticket/10884): Widgets integration with the [Show Blocks](http://ckeditor.com/addon/showblocks) plugin. +* [#11021](http://dev.ckeditor.com/ticket/11021): Fixed: An error thrown when selecting entire editable contents while fake selection is on. +* [#11086](http://dev.ckeditor.com/ticket/11086): [IE8] Re-enable inline widgets drag&drop in Internet Explorer 8. +* [#11372](http://dev.ckeditor.com/ticket/11372): Widgets: Special characters encoded twice in nested editables. +* [#10068](http://dev.ckeditor.com/ticket/10068): Fixed: Support for protocol-relative URLs. +* [#11283](http://dev.ckeditor.com/ticket/11283): [Enhanced Image](http://ckeditor.com/addon/image2): A `
    ` element with `text-align: center` and an image inside is not recognised correctly. +* [#11196](http://dev.ckeditor.com/ticket/11196): [Accessibility Instructions](http://ckeditor.com/addon/a11yhelp): Allowed additional keyboard button labels to be translated in the dialog window. + +## CKEditor 4.3.1 + +**Important Notes:** + +* To match the naming convention, the `language` button is now `Language` ([#11201](http://dev.ckeditor.com/ticket/11201)). +* [Enhanced Image](http://ckeditor.com/addon/image2) button, context menu, command, and icon names match those of the [Image](http://ckeditor.com/addon/image) plugin ([#11222](http://dev.ckeditor.com/ticket/11222)). + +Fixed Issues: + +* [#11244](http://dev.ckeditor.com/ticket/11244): Changed: The [`widget.repository.checkWidgets()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-checkWidgets) method now fires the [`widget.repository.checkWidgets`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-event-checkWidgets) event, so from CKEditor 4.3.1 it is preferred to use the method rather than fire the event. +* [#11171](http://dev.ckeditor.com/ticket/11171): Fixed: [`editor.insertElement()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertElement) and [`editor.insertText()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertText) methods do not call the [`widget.repository.checkWidgets()`](http://docs.ckeditor.com/#!/api/CKEDITOR.plugins.widget.repository-method-checkWidgets) method. +* [#11085](http://dev.ckeditor.com/ticket/11085): [IE8] Replaced preview generated by the [Mathematical Formulas](http://ckeditor.com/addon/mathjax) widget with a placeholder. +* [#11044](http://dev.ckeditor.com/ticket/11044): Enhanced WAI-ARIA support for the [Language](http://ckeditor.com/addon/language) plugin drop-down menu. +* [#11075](http://dev.ckeditor.com/ticket/11075): With drop-down menu button focused, pressing the *Down Arrow* key will now open the menu and focus its first option. +* [#11165](http://dev.ckeditor.com/ticket/11165): Fixed: The [File Browser](http://ckeditor.com/addon/filebrowser) plugin cannot be removed from the editor. +* [#11159](http://dev.ckeditor.com/ticket/11159): [IE9-10] [Enhanced Image](http://ckeditor.com/addon/image2): Fixed buggy discovery of image dimensions. +* [#11101](http://dev.ckeditor.com/ticket/11101): Drop-down lists no longer break when given double quotes. +* [#11077](http://dev.ckeditor.com/ticket/11077): [Enhanced Image](http://ckeditor.com/addon/image2): Empty undo step recorded when resizing the image. +* [#10853](http://dev.ckeditor.com/ticket/10853): [Enhanced Image](http://ckeditor.com/addon/image2): Widget has paragraph wrapper when de-captioning unaligned image. +* [#11198](http://dev.ckeditor.com/ticket/11198): Widgets: Drag handler is not fully visible when an inline widget is in a heading. +* [#11132](http://dev.ckeditor.com/ticket/11132): [Firefox] Fixed: Caret is lost after drag and drop of an inline widget. +* [#11182](http://dev.ckeditor.com/ticket/11182): [IE10-11] Fixed: Editor crashes (IE11) or works with minor issues (IE10) if a page is loaded in Quirks Mode. See [`env.quirks`](http://docs.ckeditor.com/#!/api/CKEDITOR.env-property-quirks) for more details. +* [#11204](http://dev.ckeditor.com/ticket/11204): Added `figure` and `figcaption` styles to the `contents.css` file so [Enhanced Image](http://ckeditor.com/addon/image2) looks nicer. +* [#11202](http://dev.ckeditor.com/ticket/11202): Fixed: No newline in [BBCode](http://ckeditor.com/addon/bbcode) mode. +* [#10890](http://dev.ckeditor.com/ticket/10890): Fixed: Error thrown when pressing the *Delete* key in a list item. +* [#10055](http://dev.ckeditor.com/ticket/10055): [IE8-10] Fixed: *Delete* pressed on a selected image causes the browser to go back. +* [#11183](http://dev.ckeditor.com/ticket/11183): Fixed: Inserting a horizontal rule or a table in multiple row selection causes a browser crash. Additionally, the [`editor.insertElement()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-insertElement) method does not insert the element into every range of a selection any more. +* [#11042](http://dev.ckeditor.com/ticket/11042): Fixed: Selection made on an element containing a non-editable element was not auto faked. +* [#11125](http://dev.ckeditor.com/ticket/11125): Fixed: Keyboard navigation through menu and drop-down items will now cycle. +* [#11011](http://dev.ckeditor.com/ticket/11011): Fixed: The [`editor.applyStyle()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-applyStyle) method removes attributes from nested elements. +* [#11179](http://dev.ckeditor.com/ticket/11179): Fixed: [`editor.destroy()`](http://docs.ckeditor.com/#!/api/CKEDITOR.editor-method-destroy) does not cleanup content generated by the [Table Resize](http://ckeditor.com/addon/tableresize) plugin for inline editors. +* [#11237](http://dev.ckeditor.com/ticket/11237): Fixed: Table border attribute value is deleted when pasting content from Microsoft Word. +* [#11250](http://dev.ckeditor.com/ticket/11250): Fixed: HTML entities inside the ` + * ... + * CKEDITOR.replace( 'myfield' ); + * + * var textarea = document.body.appendChild( document.createElement( 'textarea' ) ); + * CKEDITOR.replace( textarea ); + * + * @param {Object/String} element The DOM element (textarea), its ID, or name. + * @param {Object} [config] The specific configuration to apply to this + * editor instance. Configuration set here will override the global CKEditor settings + * (see {@link CKEDITOR.config}). + * @returns {CKEDITOR.editor} The editor instance created. + */ + CKEDITOR.replace = function( element, config ) { + return createInstance( element, config, null, CKEDITOR.ELEMENT_MODE_REPLACE ); + }; + + /** + * Creates a new editor instance at the end of a specific DOM element. + * + *
    + * ... + * CKEDITOR.appendTo( 'editorSpace' ); + * + * @param {Object/String} element The DOM element, its ID, or name. + * @param {Object} [config] The specific configuration to apply to this + * editor instance. Configuration set here will override the global CKEditor settings + * (see {@link CKEDITOR.config}). + * @param {String} [data] Since 3.3. Initial value for the instance. + * @returns {CKEDITOR.editor} The editor instance created. + */ + CKEDITOR.appendTo = function( element, config, data ) + { + return createInstance( element, config, data, CKEDITOR.ELEMENT_MODE_APPENDTO ); + }; + + /** + * Replaces all ` + data = protectElements( data, protectTextareaRegex ); + + // Before anything, we must protect the URL attributes as the + // browser may changing them when setting the innerHTML later in + // the code. + data = protectAttributes( data ); + + // Protect elements than can't be set inside a DIV. E.g. IE removes + // style tags from innerHTML. (#3710) + data = protectElements( data, protectElementsRegex ); + + // Certain elements has problem to go through DOM operation, protect + // them by prefixing 'cke' namespace. (#3591) + data = protectElementsNames( data ); + + // All none-IE browsers ignore self-closed custom elements, + // protecting them into open-close. (#3591) + data = protectSelfClosingElements( data ); + + // Compensate one leading line break after
     open as browsers
    +			// eat it up. (#5789)
    +			data = protectPreFormatted( data );
    +
    +			var fixBin = evtData.context || editor.editable().getName(),
    +				isPre;
    +
    +			// Old IEs loose formats when load html into 
    .
    +			if ( CKEDITOR.env.ie && CKEDITOR.env.version < 9 && fixBin == 'pre' ) {
    +				fixBin = 'div';
    +				data = '
    ' + data + '
    '; + isPre = 1; + } + + // Call the browser to help us fixing a possibly invalid HTML + // structure. + var el = editor.document.createElement( fixBin ); + // Add fake character to workaround IE comments bug. (#3801) + el.setHtml( 'a' + data ); + data = el.getHtml().substr( 1 ); + + // Restore shortly protected attribute names. + data = data.replace( new RegExp( ' data-cke-' + CKEDITOR.rnd + '-', 'ig' ), ' ' ); + + isPre && ( data = data.replace( /^
    |<\/pre>$/gi, '' ) );
    +
    +			// Unprotect "some" of the protected elements at this point.
    +			data = unprotectElementNames( data );
    +
    +			data = unprotectElements( data );
    +
    +			// Restore the comments that have been protected, in this way they
    +			// can be properly filtered.
    +			data = unprotectRealComments( data );
    +
    +			// Now use our parser to make further fixes to the structure, as
    +			// well as apply the filter.
    +			evtData.dataValue = CKEDITOR.htmlParser.fragment.fromHtml(
    +				data, evtData.context, evtData.fixForBody === false ? false : getFixBodyTag( evtData.enterMode, editor.config.autoParagraph ) );
    +		}, null, null, 5 );
    +
    +		// Filter incoming "data".
    +		// Add element filter before htmlDataProcessor.dataFilter when purifying input data to correct html.
    +		editor.on( 'toHtml', function( evt ) {
    +			if ( evt.data.filter.applyTo( evt.data.dataValue, true, evt.data.dontFilter, evt.data.enterMode ) )
    +				editor.fire( 'dataFiltered' );
    +		}, null, null, 6 );
    +
    +		editor.on( 'toHtml', function( evt ) {
    +			evt.data.dataValue.filterChildren( that.dataFilter, true );
    +		}, null, null, 10 );
    +
    +		editor.on( 'toHtml', function( evt ) {
    +			var evtData = evt.data,
    +				data = evtData.dataValue,
    +				writer = new CKEDITOR.htmlParser.basicWriter();
    +
    +			data.writeChildrenHtml( writer );
    +			data = writer.getHtml( true );
    +
    +			// Protect the real comments again.
    +			evtData.dataValue = protectRealComments( data );
    +		}, null, null, 15 );
    +
    +
    +		editor.on( 'toDataFormat', function( evt ) {
    +			var data = evt.data.dataValue;
    +
    +			// #10854 - we need to strip leading blockless 
    which FF adds + // automatically when editable contains only non-editable content. + // We do that for every browser (so it's a constant behavior) and + // not in BR mode, in which chance of valid leading blockless
    is higher. + if ( evt.data.enterMode != CKEDITOR.ENTER_BR ) + data = data.replace( /^
    /i, '' ); + + evt.data.dataValue = CKEDITOR.htmlParser.fragment.fromHtml( + data, evt.data.context, getFixBodyTag( evt.data.enterMode, editor.config.autoParagraph ) ); + }, null, null, 5 ); + + editor.on( 'toDataFormat', function( evt ) { + evt.data.dataValue.filterChildren( that.htmlFilter, true ); + }, null, null, 10 ); + + // Transform outcoming "data". + // Add element filter after htmlDataProcessor.htmlFilter when preparing output data HTML. + editor.on( 'toDataFormat', function( evt ) { + evt.data.filter.applyTo( evt.data.dataValue, false, true ); + }, null, null, 11 ); + + editor.on( 'toDataFormat', function( evt ) { + var data = evt.data.dataValue, + writer = that.writer; + + writer.reset(); + data.writeChildrenHtml( writer ); + data = writer.getHtml( true ); + + // Restore those non-HTML protected source. (#4475,#4880) + data = unprotectRealComments( data ); + data = unprotectSource( data, editor ); + + evt.data.dataValue = data; + }, null, null, 15 ); + }; + + CKEDITOR.htmlDataProcessor.prototype = { + /** + * Processes the input (potentially malformed) HTML to a purified form which + * is suitable for using in the WYSIWYG editable. + * + * This method fires the {@link CKEDITOR.editor#toHtml} event which makes it possible + * to hook into the process at various stages. + * + * **Note:** Since CKEditor 4.3 the signature of this method changed and all options + * are now grouped in one `options` object. Previously `context`, `fixForBody` and `dontFilter` + * were passed separately. + * + * @param {String} data The raw data. + * @param {Object} [options] The options object. + * @param {String} [options.context] The tag name of a context element within which + * the input is to be processed, default to be the editable element. + * If `null` is passed, then data will be parsed without context (as children of {@link CKEDITOR.htmlParser.fragment}). + * See {@link CKEDITOR.htmlParser.fragment#fromHtml} for more details. + * @param {Boolean} [options.fixForBody=true] Whether to trigger the auto paragraph for non-block contents. + * @param {CKEDITOR.filter} [options.filter] When specified, instead of using the {@link CKEDITOR.editor#filter main filter}, + * passed instance will be used to filter the content. + * @param {Boolean} [options.dontFilter] Do not filter data with {@link CKEDITOR.filter} (note: transformations + * will be still applied). + * @param {Number} [options.enterMode] When specified it will be used instead of the {@link CKEDITOR.editor#enterMode main enterMode}. + * @returns {String} + */ + toHtml: function( data, options, fixForBody, dontFilter ) { + var editor = this.editor, + context, filter, enterMode; + + // Typeof null == 'object', so check truthiness of options too. + if ( options && typeof options == 'object' ) { + context = options.context; + fixForBody = options.fixForBody; + dontFilter = options.dontFilter; + filter = options.filter; + enterMode = options.enterMode; + } + // Backward compatibility. Since CKEDITOR 4.3 every option was a separate argument. + else + context = options; + + // Fall back to the editable as context if not specified. + if ( !context && context !== null ) + context = editor.editable().getName(); + + return editor.fire( 'toHtml', { + dataValue: data, + context: context, + fixForBody: fixForBody, + dontFilter: dontFilter, + filter: filter || editor.filter, + enterMode: enterMode || editor.enterMode + } ).dataValue; + }, + + /** + * See {@link CKEDITOR.dataProcessor#toDataFormat}. + * + * This method fires the {@link CKEDITOR.editor#toDataFormat} event which makes it possible + * to hook into the process at various steps. + * + * @param {String} html + * @param {Object} [options] The options object. + * @param {String} [options.context] The tag name of a context element within which + * the input is to be processed, default to be the editable element. + * @param {CKEDITOR.filter} [options.filter] When specified, instead of using the {@link CKEDITOR.editor#filter main filter}, + * passed instance will be used to apply content transformations to the content. + * @param {Number} [options.enterMode] When specified it will be used instead of the {@link CKEDITOR.editor#enterMode main enterMode}. + * @returns {String} + */ + toDataFormat: function( html, options ) { + var context, filter, enterMode; + + // Do not shorten this to `options && options.xxx`, because + // falsy `options` will be passed instead of undefined. + if ( options ) { + context = options.context; + filter = options.filter; + enterMode = options.enterMode; + } + + // Fall back to the editable as context if not specified. + if ( !context && context !== null ) + context = this.editor.editable().getName(); + + return this.editor.fire( 'toDataFormat', { + dataValue: html, + filter: filter || this.editor.filter, + context: context, + enterMode: enterMode || this.editor.enterMode + } ).dataValue; + } + }; + + // Produce a set of filtering rules that handles bogus and filler node at the + // end of block/pseudo block, in the following consequence: + // 1. elements: - this filter removes any bogus node, then check + // if it's an empty block that requires a filler. + // 2. elements:
    - After cleaned with bogus, this filter checks the real + // line-break BR to compensate a filler after it. + // + // Terms definitions: + // filler: An element that's either
    or &NBSP; at the end of block that established line height. + // bogus: Whenever a filler is proceeded with inline content, it becomes a bogus which is subjected to be removed. + // + // Various forms of the filler: + // In output HTML: Filler should be consistently &NBSP;
    at the end of block is always considered as bogus. + // In Wysiwyg HTML: Browser dependent - see env.needsBrFiller. Either BR for when needsBrFiller is true, or &NBSP; otherwise. + //
    is NEVER considered as bogus when needsBrFiller is true. + function createBogusAndFillerRules( editor, type ) { + function createFiller( isOutput ) { + return isOutput || CKEDITOR.env.needsNbspFiller ? + new CKEDITOR.htmlParser.text( '\xa0' ) : + new CKEDITOR.htmlParser.element( 'br', { 'data-cke-bogus': 1 } ); + } + + // This text block filter, remove any bogus and create the filler on demand. + function blockFilter( isOutput, fillEmptyBlock ) { + + return function( block ) { + + // DO NOT apply the filer if it's a fragment node. + if ( block.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT ) + return; + + cleanBogus( block ); + + // [Opera] it's mandatory for the filler to present inside of empty block when in WYSIWYG. + if ( ( ( CKEDITOR.env.opera && !isOutput ) || + ( typeof fillEmptyBlock == 'function' ? fillEmptyBlock( block ) !== false : fillEmptyBlock ) ) && + isEmptyBlockNeedFiller( block ) ) + { + block.add( createFiller( isOutput ) ); + } + }; + } + + // Append a filler right after the last line-break BR, found at the end of block. + function brFilter( isOutput ) { + return function( br ) { + + // DO NOT apply the filer if parent's a fragment node. + if ( br.parent.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT ) + return; + + var attrs = br.attributes; + // Dismiss BRs that are either bogus or eol marker. + if ( 'data-cke-bogus' in attrs || + 'data-cke-eol' in attrs ) { + delete attrs [ 'data-cke-bogus' ]; + return; + } + + // Judge the tail line-break BR, and to insert bogus after it. + var next = getNext( br ), previous = getPrevious( br ); + + if ( !next && isBlockBoundary( br.parent ) ) + append( br.parent, createFiller( isOutput ) ); + else if ( isBlockBoundary( next ) && previous && !isBlockBoundary( previous ) ) + createFiller( isOutput ).insertBefore( next ); + }; + } + + // Determinate whether this node is potentially a bogus node. + function maybeBogus( node, atBlockEnd ) { + + // BR that's not from IE<11 DOM, except for a EOL marker. + if ( !( isOutput && !CKEDITOR.env.needsBrFiller ) && + node.type == CKEDITOR.NODE_ELEMENT && node.name == 'br' && + !node.attributes[ 'data-cke-eol' ] ) + return true; + + var match; + // NBSP, possibly. + if ( node.type == CKEDITOR.NODE_TEXT && + ( match = node.value.match( tailNbspRegex ) ) ) + { + // We need to separate tail NBSP out of a text node, for later removal. + if ( match.index ) { + ( new CKEDITOR.htmlParser.text( node.value.substring( 0, match.index ) ) ).insertBefore( node ); + node.value = match[ 0 ]; + } + + // From IE<11 DOM, at the end of a text block, or before block boundary. + if ( !CKEDITOR.env.needsBrFiller && isOutput && ( !atBlockEnd || node.parent.name in textBlockTags ) ) + return true; + + // From the output. + if ( !isOutput ) { + var previous = node.previous; + + // Following a line-break at the end of block. + if ( previous && previous.name == 'br' ) + return true; + + // Or a single NBSP between two blocks. + if ( !previous || isBlockBoundary( previous ) ) + return true; + } + } + + return false; + } + + // Removes all bogus inside of this block, and to convert fillers into the proper form. + function cleanBogus( block ) { + var bogus = []; + var last = getLast( block ), node, previous; + if ( last ) { + + // Check for bogus at the end of this block. + // e.g.

    foo

    + maybeBogus( last, 1 ) && bogus.push( last ); + + while ( last ) { + + // Check for bogus at the end of any pseudo block contained. + if ( isBlockBoundary( last ) && + ( node = getPrevious( last ) ) && + maybeBogus( node ) ) + { + // Bogus must have inline proceeding, instead single BR between two blocks, + // is considered as filler, e.g.


    + if ( ( previous = getPrevious( node ) ) && !isBlockBoundary( previous ) ) + bogus.push( node ); + // Convert the filler into appropriate form. + else { + createFiller( isOutput ).insertAfter( node ); + node.remove(); + } + } + + last = last.previous; + } + } + + // Now remove all bogus collected from above. + for ( var i = 0 ; i < bogus.length ; i++ ) + bogus[ i ].remove(); + } + + // Judge whether it's an empty block that requires a filler node. + function isEmptyBlockNeedFiller( block ) { + + // DO NOT fill empty editable in IE<11. + if ( !isOutput && !CKEDITOR.env.needsBrFiller && block.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT ) + return false; + + // 1. For IE version >=8, empty blocks are displayed correctly themself in wysiwiyg; + // 2. For the rest, at least table cell and list item need no filler space. (#6248) + if ( !isOutput && !CKEDITOR.env.needsBrFiller && + ( document.documentMode > 7 || + block.name in CKEDITOR.dtd.tr || + block.name in CKEDITOR.dtd.$listItem ) ) { + return false; + } + + var last = getLast( block ); + return !last || block.name == 'form' && last.name == 'input' ; + } + + var rules = { elements: {} }; + var isOutput = type == 'html'; + + // Build the list of text blocks. + var textBlockTags = CKEDITOR.tools.extend( {}, blockLikeTags ); + for ( var i in textBlockTags ) { + if ( !( '#' in dtd[ i ] ) ) + delete textBlockTags[ i ]; + } + + for ( i in textBlockTags ) + rules.elements[ i ] = blockFilter( isOutput, editor.config.fillEmptyBlocks !== false ); + + // Editable element is to be checked separately. + rules.root = blockFilter( isOutput ); + rules.elements.br = brFilter( isOutput ); + return rules; + } + + function getFixBodyTag( enterMode, autoParagraph ) { + return ( enterMode != CKEDITOR.ENTER_BR && autoParagraph !== false ) ? enterMode == CKEDITOR.ENTER_DIV ? 'div' : 'p' : false; + } + + // Regex to scan for   at the end of blocks, which are actually placeholders. + // Safari transforms the   to \xa0. (#4172) + var tailNbspRegex = /(?: |\xa0)$/; + + var protectedSourceMarker = '{cke_protected}'; + + function getLast( node ) { + var last = node.children[ node.children.length - 1 ]; + while ( last && isEmpty( last ) ) + last = last.previous; + return last; + } + + function getNext( node ) { + var next = node.next; + while ( next && isEmpty( next ) ) + next = next.next; + return next; + } + + function getPrevious( node ) { + var previous = node.previous; + while ( previous && isEmpty( previous ) ) + previous = previous.previous; + return previous; + } + + // Judge whether the node is an ghost node to be ignored, when traversing. + function isEmpty( node ) { + return node.type == CKEDITOR.NODE_TEXT && + !CKEDITOR.tools.trim( node.value ) || + node.type == CKEDITOR.NODE_ELEMENT && + node.attributes[ 'data-cke-bookmark' ]; + } + + // Judge whether the node is a block-like element. + function isBlockBoundary( node ) { + return node && + ( node.type == CKEDITOR.NODE_ELEMENT && node.name in blockLikeTags || + node.type == CKEDITOR.NODE_DOCUMENT_FRAGMENT ); + } + + function append( parent, node ) { + var last = parent.children[ parent.children.length -1 ]; + parent.children.push( node ); + node.parent = parent; + if ( last ) { + last.next = node; + node.previous = last; + } + } + + function getNodeIndex( node ) { + return node.parent ? node.getIndex() : -1; + } + + var dtd = CKEDITOR.dtd, + // Define orders of table elements. + tableOrder = [ 'caption', 'colgroup', 'col', 'thead', 'tfoot', 'tbody' ], + // List of all block elements. + blockLikeTags = CKEDITOR.tools.extend( {}, dtd.$blockLimit, dtd.$block ); + + // + // DATA filter rules ------------------------------------------------------ + // + + var defaultDataFilterRulesEditableOnly = { + elements: { + input: protectReadOnly, + textarea: protectReadOnly + } + }; + + // These rules will also be applied to non-editable content. + var defaultDataFilterRulesForAll = { + attributeNames: [ + // Event attributes (onXYZ) must not be directly set. They can become + // active in the editing area (IE|WebKit). + [ ( /^on/ ), 'data-cke-pa-on' ], + + // Don't let some old expando enter editor. Concerns only IE8, + // but for consistency remove on all browsers. + [ ( /^data-cke-expando$/ ), '' ] + ] + }; + + // Disable form elements editing mode provided by some browsers. (#5746) + function protectReadOnly( element ) { + var attrs = element.attributes; + + // We should flag that the element was locked by our code so + // it'll be editable by the editor functions (#6046). + if ( attrs.contenteditable != 'false' ) + attrs[ 'data-cke-editable' ] = attrs.contenteditable ? 'true' : 1; + + attrs.contenteditable = 'false'; + } + + // + // HTML filter rules ------------------------------------------------------ + // + + var defaultHtmlFilterRulesEditableOnly = { + elements: { + embed: function( element ) { + var parent = element.parent; + + // If the is child of a , copy the width + // and height attributes from it. + if ( parent && parent.name == 'object' ) { + var parentWidth = parent.attributes.width, + parentHeight = parent.attributes.height; + if ( parentWidth ) + element.attributes.width = parentWidth; + if ( parentHeight ) + element.attributes.height = parentHeight; + } + }, + + // Remove empty link but not empty anchor. (#3829) + a: function( element ) { + if ( !( element.children.length || element.attributes.name || element.attributes[ 'data-cke-saved-name' ] ) ) + return false; + } + } + }; + + // These rules will also be applied to non-editable content. + var defaultHtmlFilterRulesForAll = { + elementNames: [ + // Remove the "cke:" namespace prefix. + [ ( /^cke:/ ), '' ], + + // Ignore tags. + [ ( /^\?xml:namespace$/ ), '' ] + ], + + attributeNames: [ + // Attributes saved for changes and protected attributes. + [ ( /^data-cke-(saved|pa)-/ ), '' ], + + // All "data-cke-" attributes are to be ignored. + [ ( /^data-cke-.*/ ), '' ], + + [ 'hidefocus', '' ] + ], + + elements: { + $: function( element ) { + var attribs = element.attributes; + + if ( attribs ) { + // Elements marked as temporary are to be ignored. + if ( attribs[ 'data-cke-temp' ] ) + return false; + + // Remove duplicated attributes - #3789. + var attributeNames = [ 'name', 'href', 'src' ], + savedAttributeName; + for ( var i = 0; i < attributeNames.length; i++ ) { + savedAttributeName = 'data-cke-saved-' + attributeNames[ i ]; + savedAttributeName in attribs && ( delete attribs[ attributeNames[ i ] ] ); + } + } + + return element; + }, + + // The contents of table should be in correct order (#4809). + table: function( element ) { + // Clone the array as it would become empty during the sort call. + var children = element.children.slice( 0 ); + children.sort( function( node1, node2 ) { + var index1, index2; + + // Compare in the predefined order. + if ( node1.type == CKEDITOR.NODE_ELEMENT && + node2.type == node1.type ) { + index1 = CKEDITOR.tools.indexOf( tableOrder, node1.name ); + index2 = CKEDITOR.tools.indexOf( tableOrder, node2.name ); + } + + // Make sure the sort is stable, if no order can be established above. + if ( !( index1 > -1 && index2 > -1 && index1 != index2 ) ) { + index1 = getNodeIndex( node1 ); + index2 = getNodeIndex( node2 ); + } + + return index1 > index2 ? 1 : -1; + } ); + }, + + // Restore param elements into self-closing. + param: function( param ) { + param.children = []; + param.isEmpty = true; + return param; + }, + + // Remove dummy span in webkit. + span: function( element ) { + if ( element.attributes[ 'class' ] == 'Apple-style-span' ) + delete element.name; + }, + + html: function( element ) { + delete element.attributes.contenteditable; + delete element.attributes[ 'class' ]; + }, + + body: function( element ) { + delete element.attributes.spellcheck; + delete element.attributes.contenteditable; + }, + + style: function( element ) { + var child = element.children[ 0 ]; + if ( child && child.value ) + child.value = CKEDITOR.tools.trim( child.value ); + + if ( !element.attributes.type ) + element.attributes.type = 'text/css'; + }, + + title: function( element ) { + var titleText = element.children[ 0 ]; + + // Append text-node to title tag if not present (i.e. non-IEs) (#9882). + !titleText && append( element, titleText = new CKEDITOR.htmlParser.text() ); + + // Transfer data-saved title to title tag. + titleText.value = element.attributes[ 'data-cke-title' ] || ''; + }, + + input: unprotectReadyOnly, + textarea: unprotectReadyOnly + }, + + attributes: { + 'class': function( value, element ) { + // Remove all class names starting with "cke_". + return CKEDITOR.tools.ltrim( value.replace( /(?:^|\s+)cke_[^\s]*/g, '' ) ) || false; + } + } + }; + + if ( CKEDITOR.env.ie ) { + // IE outputs style attribute in capital letters. We should convert + // them back to lower case, while not hurting the values (#5930) + defaultHtmlFilterRulesForAll.attributes.style = function( value, element ) { + return value.replace( /(^|;)([^\:]+)/g, function( match ) { + return match.toLowerCase(); + } ); + }; + } + + // Disable form elements editing mode provided by some browsers. (#5746) + function unprotectReadyOnly( element ) { + var attrs = element.attributes; + switch ( attrs[ 'data-cke-editable' ] ) { + case 'true': + attrs.contenteditable = 'true'; + break; + case '1': + delete attrs.contenteditable; + break; + } + } + + // + // Preprocessor filters --------------------------------------------------- + // + + var protectElementRegex = /<(a|area|img|input|source)\b([^>]*)>/gi, + // Be greedy while looking for protected attributes. This will let us avoid an unfortunate + // situation when "nested attributes", which may appear valid, are also protected. + // I.e. if we consider the following HTML: + // + // + // + // then the "non-greedy match" returns: + // + // 'href' => '"X"' // It's wrong! Href is not an attribute of . + // + // while greedy match returns: + // + // 'data-x' => '<a href="X"' + // + // which, can be easily filtered out (#11508). + protectAttributeRegex = /([\w-]+)\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|(?:[^ "'>]+))/gi, + protectAttributeNameRegex = /^(href|src|name)$/i; + + // Note: we use lazy star '*?' to prevent eating everything up to the last occurrence of or . + var protectElementsRegex = /(?:])[^>]*>[\s\S]*?<\/style>)|(?:<(:?link|meta|base)[^>]*>)/gi, + protectTextareaRegex = /(])[^>]*>)([\s\S]*?)(?:<\/textarea>)/gi, + encodedElementsRegex = /([^<]*)<\/cke:encoded>/gi; + + var protectElementNamesRegex = /(<\/?)((?:object|embed|param|html|body|head|title)[^>]*>)/gi, + unprotectElementNamesRegex = /(<\/?)cke:((?:html|body|head|title)[^>]*>)/gi; + + var protectSelfClosingRegex = /]*?)\/?>(?!\s*<\/cke:\1)/gi; + + function protectAttributes( html ) { + return html.replace( protectElementRegex, function( element, tag, attributes ) { + return '<' + tag + attributes.replace( protectAttributeRegex, function( fullAttr, attrName ) { + // Avoid corrupting the inline event attributes (#7243). + // We should not rewrite the existed protected attributes, e.g. clipboard content from editor. (#5218) + if ( protectAttributeNameRegex.test( attrName ) && attributes.indexOf( 'data-cke-saved-' + attrName ) == -1 ) + return ' data-cke-saved-' + fullAttr + ' data-cke-' + CKEDITOR.rnd + '-' + fullAttr; + + return fullAttr; + } ) + '>'; + } ); + } + + function protectElements( html, regex ) { + return html.replace( regex, function( match, tag, content ) { + // Encode < and > in textarea because this won't be done by a browser, since + // textarea will be protected during passing data through fix bin. + if ( match.indexOf( '/g, '>' ) + ''; + + return '' + encodeURIComponent( match ) + ''; + } ); + } + + function unprotectElements( html ) { + return html.replace( encodedElementsRegex, function( match, encoded ) { + return decodeURIComponent( encoded ); + } ); + } + + function protectElementsNames( html ) { + return html.replace( protectElementNamesRegex, '$1cke:$2' ); + } + + function unprotectElementNames( html ) { + return html.replace( unprotectElementNamesRegex, '$1$2' ); + } + + function protectSelfClosingElements( html ) { + return html.replace( protectSelfClosingRegex, '' ); + } + + function protectPreFormatted( html ) { + return CKEDITOR.env.opera ? html : html.replace( /(]*>)(\r\n|\n)/g, '$1$2$2' ); + } + + function protectRealComments( html ) { + return html.replace( //g, function( match ) { + return ''; + } ); + } + + function unprotectRealComments( html ) { + return html.replace( //g, function( match, data ) { + return decodeURIComponent( data ); + } ); + } + + function unprotectSource( html, editor ) { + var store = editor._.dataStore; + + return html.replace( //g, function( match, data ) { + return decodeURIComponent( data ); + } ).replace( /\{cke_protected_(\d+)\}/g, function( match, id ) { + return store && store[ id ] || ''; + } ); + } + + function protectSource( data, editor ) { + var protectedHtml = [], + protectRegexes = editor.config.protectedSource, + store = editor._.dataStore || ( editor._.dataStore = { id: 1 } ), + tempRegex = /<\!--\{cke_temp(comment)?\}(\d*?)-->/g; + + var regexes = [ + // Script tags will also be forced to be protected, otherwise + // IE will execute them. + ( //gi ), + + //
    '; if (empty($user->rights->holiday->write_all)) { - print $form->select_users($userid,'useridbis',0,'',1); + print $form->select_dolusers($userid,'useridbis',0,'',1); print ''; } - else print $form->select_users(GETPOST('userid')?GETPOST('userid'):$user->id,'userid',0,'',0); + else print $form->select_dolusers(GETPOST('userid')?GETPOST('userid'):$user->id,'userid',0,'',0); print '
    ' + + '' + + '' + + '' + + '' + + '
    ' + + '' + + '', lang.auto, '
    ' + + '' + + '' ); + + // Render the color boxes. + for ( var i = 0; i < colors.length; i++ ) { + if ( ( i % 8 ) === 0 ) + output.push( '' ); + + var parts = colors[ i ].split( '/' ), + colorName = parts[ 0 ], + colorCode = parts[ 1 ] || colorName; + + // The data can be only a color code (without #) or colorName + color code + // If only a color code is provided, then the colorName is the color with the hash + // Convert the color from RGB to RRGGBB for better compatibility with IE and . See #5676 + if ( !parts[ 1 ] ) + colorName = '#' + colorName.replace( /^(.)(.)(.)$/, '$1$1$2$2$3$3' ); + + var colorLabel = editor.lang.colorbutton.colors[ colorCode ] || colorCode; + output.push( '' ); + } + + // Render the "More Colors" button. + if ( editor.plugins.colordialog && config.colorButton_enableMore === undefined || config.colorButton_enableMore ) { + output.push( '' + + '' + + '' ); // tr is later in the code. + } + + output.push( '
    ' + + '' + + '' + + '' + + '
    ' + + '', lang.more, '' + + '
    ' ); + + return output.join( '' ); + } + + function isUnstylable( ele ) { + return ( ele.getAttribute( 'contentEditable' ) == 'false' ) || ele.getAttribute( 'data-nostyle' ); + } + } +} ); + +/** + * Whether to enable the **More Colors*** button in the color selectors. + * + * config.colorButton_enableMore = false; + * + * @cfg {Boolean} [colorButton_enableMore=true] + * @member CKEDITOR.config + */ + +/** + * Defines the colors to be displayed in the color selectors. This is a string + * containing hexadecimal notation for HTML colors, without the `'#'` prefix. + * + * **Since 3.3:** A color name may optionally be defined by prefixing the entries with + * a name and the slash character. For example, `'FontColor1/FF9900'` will be + * displayed as the color `#FF9900` in the selector, but will be output as `'FontColor1'`. + * + * // Brazil colors only. + * config.colorButton_colors = '00923E,F8C100,28166F'; + * + * config.colorButton_colors = 'FontColor1/FF9900,FontColor2/0066CC,FontColor3/F00'; + * + * @cfg {String} [colorButton_colors=see source] + * @member CKEDITOR.config + */ +CKEDITOR.config.colorButton_colors = '000,800000,8B4513,2F4F4F,008080,000080,4B0082,696969,' + + 'B22222,A52A2A,DAA520,006400,40E0D0,0000CD,800080,808080,' + + 'F00,FF8C00,FFD700,008000,0FF,00F,EE82EE,A9A9A9,' + + 'FFA07A,FFA500,FFFF00,00FF00,AFEEEE,ADD8E6,DDA0DD,D3D3D3,' + + 'FFF0F5,FAEBD7,FFFFE0,F0FFF0,F0FFFF,F0F8FF,E6E6FA,FFF'; + +/** + * Stores the style definition that applies the text foreground color. + * + * // This is actually the default value. + * config.colorButton_foreStyle = { + * element: 'span', + * styles: { color: '#(color)' } + * }; + * + * @cfg [colorButton_foreStyle=see source] + * @member CKEDITOR.config + */ +CKEDITOR.config.colorButton_foreStyle = { + element: 'span', + styles: { 'color': '#(color)' }, + overrides: [ { + element: 'font', attributes: { 'color': null } + } ] +}; + +/** + * Stores the style definition that applies the text background color. + * + * // This is actually the default value. + * config.colorButton_backStyle = { + * element: 'span', + * styles: { 'background-color': '#(color)' } + * }; + * + * @cfg [colorButton_backStyle=see source] + * @member CKEDITOR.config + */ +CKEDITOR.config.colorButton_backStyle = { + element: 'span', + styles: { 'background-color': '#(color)' } +}; diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js new file mode 100644 index 00000000000..f719cf421c5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/dialogs/colordialog.js @@ -0,0 +1,338 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +CKEDITOR.dialog.add( 'colordialog', function( editor ) { + // Define some shorthands. + var $el = CKEDITOR.dom.element, + $doc = CKEDITOR.document, + lang = editor.lang.colordialog; + + // Reference the dialog. + var dialog; + + var spacer = { + type: 'html', + html: ' ' + }; + + var selected; + + function clearSelected() { + $doc.getById( selHiColorId ).removeStyle( 'background-color' ); + dialog.getContentElement( 'picker', 'selectedColor' ).setValue( '' ); + selected && selected.removeAttribute( 'aria-selected' ); + selected = null; + } + + function updateSelected( evt ) { + var target = evt.data.getTarget(), + color; + + if ( target.getName() == 'td' && ( color = target.getChild( 0 ).getHtml() ) ) { + selected = target; + selected.setAttribute( 'aria-selected', true ); + dialog.getContentElement( 'picker', 'selectedColor' ).setValue( color ); + } + } + + // Basing black-white decision off of luma scheme using the Rec. 709 version + function whiteOrBlack( color ) { + color = color.replace( /^#/, '' ); + for ( var i = 0, rgb = []; i <= 2; i++ ) + rgb[ i ] = parseInt( color.substr( i * 2, 2 ), 16 ); + var luma = ( 0.2126 * rgb[ 0 ] ) + ( 0.7152 * rgb[ 1 ] ) + ( 0.0722 * rgb[ 2 ] ); + return '#' + ( luma >= 165 ? '000' : 'fff' ); + } + + // Distinguish focused and hover states. + var focused, hovered; + + // Apply highlight style. + function updateHighlight( event ) { + // Convert to event. + !event.name && ( event = new CKEDITOR.event( event ) ); + + var isFocus = !( /mouse/ ).test( event.name ), + target = event.data.getTarget(), + color; + + if ( target.getName() == 'td' && ( color = target.getChild( 0 ).getHtml() ) ) { + removeHighlight( event ); + + isFocus ? focused = target : hovered = target; + + // Apply outline style to show focus. + if ( isFocus ) { + target.setStyle( 'border-color', whiteOrBlack( color ) ); + target.setStyle( 'border-style', 'dotted' ); + } + + $doc.getById( hicolorId ).setStyle( 'background-color', color ); + $doc.getById( hicolorTextId ).setHtml( color ); + } + } + + function clearHighlight() { + var color = focused.getChild( 0 ).getHtml(); + focused.setStyle( 'border-color', color ); + focused.setStyle( 'border-style', 'solid' ); + $doc.getById( hicolorId ).removeStyle( 'background-color' ); + $doc.getById( hicolorTextId ).setHtml( ' ' ); + focused = null; + } + + // Remove previously focused style. + function removeHighlight( event ) { + var isFocus = !( /mouse/ ).test( event.name ), + target = isFocus && focused; + + if ( target ) { + var color = target.getChild( 0 ).getHtml(); + target.setStyle( 'border-color', color ); + target.setStyle( 'border-style', 'solid' ); + } + + if ( !( focused || hovered ) ) { + $doc.getById( hicolorId ).removeStyle( 'background-color' ); + $doc.getById( hicolorTextId ).setHtml( ' ' ); + } + } + + function onKeyStrokes( evt ) { + var domEvt = evt.data; + + var element = domEvt.getTarget(); + var relative, nodeToMove; + var keystroke = domEvt.getKeystroke(), + rtl = editor.lang.dir == 'rtl'; + + switch ( keystroke ) { + // UP-ARROW + case 38: + // relative is TR + if ( ( relative = element.getParent().getPrevious() ) ) { + nodeToMove = relative.getChild( [ element.getIndex() ] ); + nodeToMove.focus(); + } + domEvt.preventDefault(); + break; + // DOWN-ARROW + case 40: + // relative is TR + if ( ( relative = element.getParent().getNext() ) ) { + nodeToMove = relative.getChild( [ element.getIndex() ] ); + if ( nodeToMove && nodeToMove.type == 1 ) + nodeToMove.focus(); + + } + domEvt.preventDefault(); + break; + + // SPACE + // ENTER + case 32: + case 13: + updateSelected( evt ); + domEvt.preventDefault(); + break; + + // RIGHT-ARROW + case rtl ? 37 : 39: + // relative is TD + if ( ( nodeToMove = element.getNext() ) ) { + if ( nodeToMove.type == 1 ) { + nodeToMove.focus(); + domEvt.preventDefault( true ); + } + } + // relative is TR + else if ( ( relative = element.getParent().getNext() ) ) { + nodeToMove = relative.getChild( [ 0 ] ); + if ( nodeToMove && nodeToMove.type == 1 ) { + nodeToMove.focus(); + domEvt.preventDefault( true ); + } + } + break; + + // LEFT-ARROW + case rtl ? 39 : 37: + // relative is TD + if ( ( nodeToMove = element.getPrevious() ) ) { + nodeToMove.focus(); + domEvt.preventDefault( true ); + } + // relative is TR + else if ( ( relative = element.getParent().getPrevious() ) ) { + nodeToMove = relative.getLast(); + nodeToMove.focus(); + domEvt.preventDefault( true ); + } + break; + default: + // Do not stop not handled events. + return; + } + } + + function createColorTable() { + table = CKEDITOR.dom.element.createFromHtml( '' + + '' + + '
    ' + lang.options + '
    ' ); + + table.on( 'mouseover', updateHighlight ); + table.on( 'mouseout', removeHighlight ); + + // Create the base colors array. + var aColors = [ '00', '33', '66', '99', 'cc', 'ff' ]; + + // This function combines two ranges of three values from the color array into a row. + function appendColorRow( rangeA, rangeB ) { + for ( var i = rangeA; i < rangeA + 3; i++ ) { + var row = new $el( table.$.insertRow( -1 ) ); + row.setAttribute( 'role', 'row' ); + + for ( var j = rangeB; j < rangeB + 3; j++ ) { + for ( var n = 0; n < 6; n++ ) { + appendColorCell( row.$, '#' + aColors[ j ] + aColors[ n ] + aColors[ i ] ); + } + } + } + } + + // This function create a single color cell in the color table. + function appendColorCell( targetRow, color ) { + var cell = new $el( targetRow.insertCell( -1 ) ); + cell.setAttribute( 'class', 'ColorCell' ); + cell.setAttribute( 'tabIndex', -1 ); + cell.setAttribute( 'role', 'gridcell' ); + + cell.on( 'keydown', onKeyStrokes ); + cell.on( 'click', updateSelected ); + cell.on( 'focus', updateHighlight ); + cell.on( 'blur', removeHighlight ); + + cell.setStyle( 'background-color', color ); + cell.setStyle( 'border', '1px solid ' + color ); + + cell.setStyle( 'width', '14px' ); + cell.setStyle( 'height', '14px' ); + + var colorLabel = numbering( 'color_table_cell' ); + cell.setAttribute( 'aria-labelledby', colorLabel ); + cell.append( CKEDITOR.dom.element.createFromHtml( '' + color + '', CKEDITOR.document ) ); + } + + appendColorRow( 0, 0 ); + appendColorRow( 3, 0 ); + appendColorRow( 0, 3 ); + appendColorRow( 3, 3 ); + + // Create the last row. + var oRow = new $el( table.$.insertRow( -1 ) ); + oRow.setAttribute( 'role', 'row' ); + + // Create the gray scale colors cells. + for ( var n = 0; n < 6; n++ ) { + appendColorCell( oRow.$, '#' + aColors[ n ] + aColors[ n ] + aColors[ n ] ); + } + + // Fill the row with black cells. + for ( var i = 0; i < 12; i++ ) { + appendColorCell( oRow.$, '#000000' ); + } + } + + var numbering = function( id ) { + return CKEDITOR.tools.getNextId() + '_' + id; + }, + hicolorId = numbering( 'hicolor' ), + hicolorTextId = numbering( 'hicolortext' ), + selHiColorId = numbering( 'selhicolor' ), + table; + + createColorTable(); + + return { + title: lang.title, + minWidth: 360, + minHeight: 220, + onLoad: function() { + // Update reference. + dialog = this; + }, + onHide: function() { + clearSelected(); + clearHighlight(); + }, + contents: [ + { + id: 'picker', + label: lang.title, + accessKey: 'I', + elements: [ + { + type: 'hbox', + padding: 0, + widths: [ '70%', '10%', '30%' ], + children: [ + { + type: 'html', + html: '
    ', + onLoad: function() { + CKEDITOR.document.getById( this.domId ).append( table ); + }, + focus: function() { + // Restore the previously focused cell, + // otherwise put the initial focus on the first table cell. + ( focused || this.getElement().getElementsByTag( 'td' ).getItem( 0 ) ).focus(); + } + }, + spacer, + { + type: 'vbox', + padding: 0, + widths: [ '70%', '5%', '25%' ], + children: [ + { + type: 'html', + html: '' + lang.highlight + '\ +
    \ +
     
    ' + lang.selected + '\ +
    ' + }, + { + type: 'text', + label: lang.selected, + labelStyle: 'display:none', + id: 'selectedColor', + style: 'width: 74px', + onChange: function() { + // Try to update color preview with new value. If fails, then set it no none. + try { + $doc.getById( selHiColorId ).setStyle( 'background-color', this.getValue() ); + } catch ( e ) { + clearSelected(); + } + } + }, + spacer, + { + type: 'button', + id: 'clear', + style: 'margin-top: 5px', + label: lang.clear, + onClick: clearSelected + } + ] + } + ] + } + ] + } + ] + }; +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/af.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/af.js new file mode 100644 index 00000000000..c903b64a0b3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/af.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'af', { + clear: 'Herstel', + highlight: 'Aktief', + options: 'Kleuropsies', + selected: 'Geselekteer', + title: 'Kies kleur' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ar.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ar.js new file mode 100644 index 00000000000..64e19936bb1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ar.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ar', { + clear: 'مسح', + highlight: 'تحديد', + options: 'اختيارات الألوان', + selected: 'اللون المختار', + title: 'اختر اللون' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/bg.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/bg.js new file mode 100644 index 00000000000..e7d379c25d3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/bg.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'bg', { + clear: 'Изчистване', + highlight: 'Осветяване', + options: 'Цветови опции', + selected: 'Изберете цвят', + title: 'Изберете цвят' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/bn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/bn.js new file mode 100644 index 00000000000..e025402fd5c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/bn.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'bn', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/bs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/bs.js new file mode 100644 index 00000000000..f2648168966 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/bs.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'bs', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ca.js new file mode 100644 index 00000000000..eeb75232c19 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ca.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ca', { + clear: 'Neteja', + highlight: 'Destacat', + options: 'Opcions del color', + selected: 'Color Seleccionat', + title: 'Seleccioni el color' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/cs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/cs.js new file mode 100644 index 00000000000..37d4866bf85 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/cs.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'cs', { + clear: 'Vyčistit', + highlight: 'Zvýraznit', + options: 'Nastavení barvy', + selected: 'Vybráno', + title: 'Výběr barvy' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/cy.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/cy.js new file mode 100644 index 00000000000..39b3035cb8d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/cy.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'cy', { + clear: 'Clirio', + highlight: 'Uwcholeuo', + options: 'Opsiynau Lliw', + selected: 'Lliw a Ddewiswyd', + title: 'Dewis lliw' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/da.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/da.js new file mode 100644 index 00000000000..9a2fdeae718 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/da.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'da', { + clear: 'Nulstil', + highlight: 'Markér', + options: 'Farvemuligheder', + selected: 'Valgt farve', + title: 'Vælg farve' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/de.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/de.js new file mode 100644 index 00000000000..854ab90e1cb --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/de.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'de', { + clear: 'Entfernen', + highlight: 'Hervorheben', + options: 'Farbeoptionen', + selected: 'Ausgewählte Farbe', + title: 'Farbe wählen' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/el.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/el.js new file mode 100644 index 00000000000..5a696a6386f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/el.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'el', { + clear: 'Εκκαθάριση', + highlight: 'Σήμανση', + options: 'Επιλογές Χρωμάτων', + selected: 'Επιλεγμένο Χρώμα', + title: 'Επιλογή χρώματος' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/en-au.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/en-au.js new file mode 100644 index 00000000000..f541bd3a684 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/en-au.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'en-au', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/en-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/en-ca.js new file mode 100644 index 00000000000..fe5c2c4b083 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/en-ca.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'en-ca', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/en-gb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/en-gb.js new file mode 100644 index 00000000000..02aaf71361d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/en-gb.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'en-gb', { + clear: 'Clear', + highlight: 'Highlight', + options: 'Colour Options', + selected: 'Selected Colour', + title: 'Select colour' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/en.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/en.js new file mode 100644 index 00000000000..2b39632fb24 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/en.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'en', { + clear: 'Clear', + highlight: 'Highlight', + options: 'Color Options', + selected: 'Selected Color', + title: 'Select color' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/eo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/eo.js new file mode 100644 index 00000000000..46902b85ae7 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/eo.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'eo', { + clear: 'Forigi', + highlight: 'Detaloj', + options: 'Opcioj pri koloroj', + selected: 'Selektita koloro', + title: 'Selekti koloron' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/es.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/es.js new file mode 100644 index 00000000000..d192b57244a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/es.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'es', { + clear: 'Borrar', + highlight: 'Muestra', + options: 'Opciones de colores', + selected: 'Elegido', + title: 'Elegir color' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/et.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/et.js new file mode 100644 index 00000000000..9f126d24a38 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/et.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'et', { + clear: 'Eemalda', + highlight: 'Näidis', + options: 'Värvi valikud', + selected: 'Valitud värv', + title: 'Värvi valimine' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/eu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/eu.js new file mode 100644 index 00000000000..fc81779c568 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/eu.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'eu', { + clear: 'Garbitu', + highlight: 'Nabarmendu', + options: 'Kolore Aukerak', + selected: 'Hautatutako Kolorea', + title: 'Kolorea Hautatu' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/fa.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/fa.js new file mode 100644 index 00000000000..0d03daf59bb --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/fa.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'fa', { + clear: 'پاک کردن', + highlight: 'متمایز', + options: 'گزینه​های رنگ', + selected: 'رنگ انتخاب شده', + title: 'انتخاب رنگ' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/fi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/fi.js new file mode 100644 index 00000000000..77e5d7ab769 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/fi.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'fi', { + clear: 'Poista', + highlight: 'Korostus', + options: 'Värin ominaisuudet', + selected: 'Valittu', + title: 'Valitse väri' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/fo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/fo.js new file mode 100644 index 00000000000..c22dad70ffc --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/fo.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'fo', { + clear: 'Strika', + highlight: 'Framheva', + options: 'Litmøguleikar', + selected: 'Valdur litur', + title: 'Vel lit' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/fr-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/fr-ca.js new file mode 100644 index 00000000000..e11e6764180 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/fr-ca.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'fr-ca', { + clear: 'Effacer', + highlight: 'Surligner', + options: 'Options de couleur', + selected: 'Couleur sélectionnée', + title: 'Choisir une couleur' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/fr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/fr.js new file mode 100644 index 00000000000..c94f280e8ae --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/fr.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'fr', { + clear: 'Effacer', + highlight: 'Détails', + options: 'Option des couleurs', + selected: 'Couleur choisie', + title: 'Choisir une couleur' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/gl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/gl.js new file mode 100644 index 00000000000..28025cea456 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/gl.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'gl', { + clear: 'Limpar', + highlight: 'Resaltar', + options: 'Opcións de cor', + selected: 'Cor seleccionado', + title: 'Seleccione unha cor' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/gu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/gu.js new file mode 100644 index 00000000000..95a20c2139a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/gu.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'gu', { + clear: 'સાફ કરવું', + highlight: 'હાઈઈટ', + options: 'રંગના વિકલ્પ', + selected: 'પસંદ કરેલો રંગ', + title: 'રંગ પસંદ કરો' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/he.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/he.js new file mode 100644 index 00000000000..3cfed661bd5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/he.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'he', { + clear: 'ניקוי', + highlight: 'סימון', + options: 'אפשרויות צבע', + selected: 'בחירה', + title: 'בחירת צבע' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/hi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/hi.js new file mode 100644 index 00000000000..49b2f0acaac --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/hi.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'hi', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/hr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/hr.js new file mode 100644 index 00000000000..049ac1aae93 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/hr.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'hr', { + clear: 'Očisti', + highlight: 'Istaknuto', + options: 'Opcije boje', + selected: 'Odabrana boja', + title: 'Odaberi boju' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/hu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/hu.js new file mode 100644 index 00000000000..a43d5d95ed9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/hu.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'hu', { + clear: 'Ürítés', + highlight: 'Nagyítás', + options: 'Szín opciók', + selected: 'Kiválasztott', + title: 'Válasszon színt' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/is.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/is.js new file mode 100644 index 00000000000..4bb810e241f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/is.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'is', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/it.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/it.js new file mode 100644 index 00000000000..7dc0eeb2369 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/it.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'it', { + clear: 'cancella', + highlight: 'Evidenzia', + options: 'Opzioni colore', + selected: 'Seleziona il colore', + title: 'Selezionare il colore' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ja.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ja.js new file mode 100644 index 00000000000..4226f879973 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ja.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ja', { + clear: 'クリア', + highlight: 'ハイライト', + options: 'カラーオプション', + selected: '選択された色', + title: '色選択' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ka.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ka.js new file mode 100644 index 00000000000..4327480ca47 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ka.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ka', { + clear: 'გასუფთავება', + highlight: 'ჩვენება', + options: 'ფერის პარამეტრები', + selected: 'არჩეული ფერი', + title: 'ფერის შეცვლა' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/km.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/km.js new file mode 100644 index 00000000000..5af47248100 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/km.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'km', { + clear: 'សម្អាត', + highlight: 'បន្លិច​ពណ៌', + options: 'ជម្រើស​ពណ៌', + selected: 'ពណ៌​ដែល​បាន​រើស', + title: 'រើស​ពណ៌' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ko.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ko.js new file mode 100644 index 00000000000..cc01f3e756b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ko.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ko', { + clear: '제거', + highlight: '하이라이트', + options: '색상 옵션', + selected: '색상 선택됨', + title: '색상 선택' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ku.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ku.js new file mode 100644 index 00000000000..913bdb083fa --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ku.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ku', { + clear: 'پاکیکەوە', + highlight: 'نیشانکردن', + options: 'هەڵبژاردەی ڕەنگەکان', + selected: 'ڕەنگی هەڵبژێردراو', + title: 'هەڵبژاردنی ڕەنگ' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/lt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/lt.js new file mode 100644 index 00000000000..2e7245c4d58 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/lt.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'lt', { + clear: 'Išvalyti', + highlight: 'Paryškinti', + options: 'Spalvos nustatymai', + selected: 'Pasirinkta spalva', + title: 'Pasirinkite spalvą' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/lv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/lv.js new file mode 100644 index 00000000000..02e439075e5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/lv.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'lv', { + clear: 'Notīrīt', + highlight: 'Paraugs', + options: 'Krāsas uzstādījumi', + selected: 'Izvēlētā krāsa', + title: 'Izvēlies krāsu' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/mk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/mk.js new file mode 100644 index 00000000000..cfcd958a76c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/mk.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'mk', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/mn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/mn.js new file mode 100644 index 00000000000..d7d03b04b04 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/mn.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'mn', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ms.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ms.js new file mode 100644 index 00000000000..bc27089f315 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ms.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ms', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/nb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/nb.js new file mode 100644 index 00000000000..0b43ae19fee --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/nb.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'nb', { + clear: 'Tøm', + highlight: 'Merk', + options: 'Alternativer for farge', + selected: 'Valgt', + title: 'Velg farge' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/nl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/nl.js new file mode 100644 index 00000000000..ecbe471d406 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/nl.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'nl', { + clear: 'Wissen', + highlight: 'Actief', + options: 'Kleuropties', + selected: 'Geselecteerde kleur', + title: 'Selecteer kleur' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/no.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/no.js new file mode 100644 index 00000000000..68c71152007 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/no.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'no', { + clear: 'Tøm', + highlight: 'Merk', + options: 'Alternativer for farge', + selected: 'Valgt', + title: 'Velg farge' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/pl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/pl.js new file mode 100644 index 00000000000..7b72de8cf2c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/pl.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'pl', { + clear: 'Wyczyść', + highlight: 'Zaznacz', + options: 'Opcje koloru', + selected: 'Wybrany', + title: 'Wybierz kolor' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/pt-br.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/pt-br.js new file mode 100644 index 00000000000..6094191e405 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/pt-br.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'pt-br', { + clear: 'Limpar', + highlight: 'Grifar', + options: 'Opções de Cor', + selected: 'Cor Selecionada', + title: 'Selecione uma Cor' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/pt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/pt.js new file mode 100644 index 00000000000..b210f1bacb6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/pt.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'pt', { + clear: 'Limpar', + highlight: 'Realçar', + options: 'Opções da Cor', + selected: 'Cor Selecionada', + title: 'Selecionar Cor' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ro.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ro.js new file mode 100644 index 00000000000..0a06503c890 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ro.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ro', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ru.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ru.js new file mode 100644 index 00000000000..c55b6cb7a43 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ru.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ru', { + clear: 'Очистить', + highlight: 'Под курсором', + options: 'Настройки цвета', + selected: 'Выбранный цвет', + title: 'Выберите цвет' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/si.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/si.js new file mode 100644 index 00000000000..b127f4d1165 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/si.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'si', { + clear: 'පැහැදිලි', + highlight: 'මතුකර පෙන්වන්න', + options: 'වර්ණ විකල්ප', + selected: 'තෙරු වර්ණ', + title: 'වර්ණ තෝරන්න' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sk.js new file mode 100644 index 00000000000..5f44790bea9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sk.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'sk', { + clear: 'Vyčistiť', + highlight: 'Zvýrazniť', + options: 'Možnosti farby', + selected: 'Vybraná farba', + title: 'Vyberte farbu' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sl.js new file mode 100644 index 00000000000..ab85aa5d0cc --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sl.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'sl', { + clear: 'Počisti', + highlight: 'Poudarjeno', + options: 'Barvne Možnosti', + selected: 'Izbrano', + title: 'Izberi barvo' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sq.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sq.js new file mode 100644 index 00000000000..755411f46d2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sq.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'sq', { + clear: 'Pastro', + highlight: 'Thekso', + options: 'Përzgjedhjet e Ngjyrave', + selected: 'Ngjyra e Përzgjedhur', + title: 'Përzgjidh një ngjyrë' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sr-latn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sr-latn.js new file mode 100644 index 00000000000..779c68848d2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sr-latn.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'sr-latn', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sr.js new file mode 100644 index 00000000000..8361de37046 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sr.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'sr', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sv.js new file mode 100644 index 00000000000..7c2b9f36d5b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/sv.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'sv', { + clear: 'Rensa', + highlight: 'Markera', + options: 'Färgalternativ', + selected: 'Vald färg', + title: 'Välj färg' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/th.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/th.js new file mode 100644 index 00000000000..dbf5f777fee --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/th.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'th', { + clear: 'Clear', // MISSING + highlight: 'Highlight', // MISSING + options: 'Color Options', // MISSING + selected: 'Selected Color', // MISSING + title: 'Select color' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/tr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/tr.js new file mode 100644 index 00000000000..47f5d9d3570 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/tr.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'tr', { + clear: 'Temizle', + highlight: 'İşaretle', + options: 'Renk Seçenekleri', + selected: 'Seçilmiş', + title: 'Renk seç' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ug.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ug.js new file mode 100644 index 00000000000..9fd50f91ef8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/ug.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'ug', { + clear: 'تازىلا', + highlight: 'يورۇت', + options: 'رەڭ تاللانمىسى', + selected: 'رەڭ تاللاڭ', + title: 'رەڭ تاللاڭ' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/uk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/uk.js new file mode 100644 index 00000000000..9fb160dc8d4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/uk.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'uk', { + clear: 'Очистити', + highlight: 'Колір, на який вказує курсор', + options: 'Опції кольорів', + selected: 'Обраний колір', + title: 'Обрати колір' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/vi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/vi.js new file mode 100644 index 00000000000..1fd2326217f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/vi.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'vi', { + clear: 'Xóa bỏ', + highlight: 'Màu chọn', + options: 'Tùy chọn màu', + selected: 'Màu đã chọn', + title: 'Chọn màu' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/zh-cn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/zh-cn.js new file mode 100644 index 00000000000..d9d20175b69 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/zh-cn.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'zh-cn', { + clear: '清除', + highlight: '高亮', + options: '颜色选项', + selected: '选择颜色', + title: '选择颜色' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/zh.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/zh.js new file mode 100644 index 00000000000..2e129fec771 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/lang/zh.js @@ -0,0 +1,11 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'colordialog', 'zh', { + clear: '清除', + highlight: '高亮', + options: '色彩選項', + selected: '選取的色彩', + title: '選取色彩' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/plugin.js new file mode 100644 index 00000000000..0925bab5985 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/colordialog/plugin.js @@ -0,0 +1,69 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +CKEDITOR.plugins.colordialog = { + requires: 'dialog', + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + init: function( editor ) { + var cmd = new CKEDITOR.dialogCommand( 'colordialog' ); + cmd.editorFocus = false; + + editor.addCommand( 'colordialog', cmd ); + + CKEDITOR.dialog.add( 'colordialog', this.path + 'dialogs/colordialog.js' ); + + /** + * Open up color dialog and to receive the selected color. + * + * @param {Function} callback The callback when color dialog is closed + * @param {String} callback.color The color value received if selected on the dialog. + * @param [scope] The scope in which the callback will be bound. + * @member CKEDITOR.editor + */ + editor.getColorFromDialog = function( callback, scope ) { + var onClose = function( evt ) { + releaseHandlers( this ); + var color = evt.name == 'ok' ? this.getValueOf( 'picker', 'selectedColor' ) : null; + callback.call( scope, color ); + }; + var releaseHandlers = function( dialog ) { + dialog.removeListener( 'ok', onClose ); + dialog.removeListener( 'cancel', onClose ); + }; + var bindToDialog = function( dialog ) { + dialog.on( 'ok', onClose ); + dialog.on( 'cancel', onClose ); + }; + + editor.execCommand( 'colordialog' ); + + if ( editor._.storedDialogs && editor._.storedDialogs.colordialog ) + bindToDialog( editor._.storedDialogs.colordialog ); + else { + CKEDITOR.on( 'dialogDefinition', function( e ) { + if ( e.data.name != 'colordialog' ) + return; + + var definition = e.data.definition; + + e.removeListener(); + definition.onLoad = CKEDITOR.tools.override( definition.onLoad, + function( orginal ) { + return function() { + bindToDialog( this ); + definition.onLoad = orginal; + if ( typeof orginal == 'function' ) + orginal.call( this ); + }; + } ); + } ); + } + }; + + + } +}; + +CKEDITOR.plugins.add( 'colordialog', CKEDITOR.plugins.colordialog ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/af.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/af.js new file mode 100644 index 00000000000..9109123d662 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/af.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'af', { + options: 'Konteks Spyskaart-opsies' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ar.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ar.js new file mode 100644 index 00000000000..bc0b4484f84 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ar.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ar', { + options: 'خصائص قائمة السياق' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/bg.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/bg.js new file mode 100644 index 00000000000..36ba4cfb843 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/bg.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'bg', { + options: 'Опции на контекстното меню' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/bn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/bn.js new file mode 100644 index 00000000000..9a07e71941e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/bn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'bn', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/bs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/bs.js new file mode 100644 index 00000000000..7c17e7d7e56 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/bs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'bs', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ca.js new file mode 100644 index 00000000000..a6c59b5fbc4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ca', { + options: 'Opcions del menú contextual' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/cs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/cs.js new file mode 100644 index 00000000000..fd28a840c38 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/cs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'cs', { + options: 'Nastavení kontextové nabídky' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/cy.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/cy.js new file mode 100644 index 00000000000..6a4e4a8b275 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/cy.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'cy', { + options: 'Opsiynau Dewislen Cyd-destun' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/da.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/da.js new file mode 100644 index 00000000000..5336bb71b3c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/da.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'da', { + options: 'Muligheder for hjælpemenu' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/de.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/de.js new file mode 100644 index 00000000000..c51ded1d459 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/de.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'de', { + options: 'Kontextmenü Optionen' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/el.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/el.js new file mode 100644 index 00000000000..7f0813beb38 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/el.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'el', { + options: 'Επιλογές Αναδυόμενου Μενού' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/en-au.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/en-au.js new file mode 100644 index 00000000000..9e4b58b2876 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/en-au.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'en-au', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/en-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/en-ca.js new file mode 100644 index 00000000000..b61046ecbd8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/en-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'en-ca', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/en-gb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/en-gb.js new file mode 100644 index 00000000000..2b79207b712 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/en-gb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'en-gb', { + options: 'Context Menu Options' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/en.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/en.js new file mode 100644 index 00000000000..98471b49bf6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/en.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'en', { + options: 'Context Menu Options' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/eo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/eo.js new file mode 100644 index 00000000000..020df9830cb --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/eo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'eo', { + options: 'Opcioj de Kunteksta Menuo' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/es.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/es.js new file mode 100644 index 00000000000..d6e361eea6d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/es.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'es', { + options: 'Opciones del menú contextual' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/et.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/et.js new file mode 100644 index 00000000000..f3eb7ab15be --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/et.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'et', { + options: 'Kontekstimenüü valikud' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/eu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/eu.js new file mode 100644 index 00000000000..ddf1884c2cc --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/eu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'eu', { + options: 'Testuingurko Menuaren Aukerak' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/fa.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/fa.js new file mode 100644 index 00000000000..5baeaff1c05 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/fa.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'fa', { + options: 'گزینه​های منوی زمینه' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/fi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/fi.js new file mode 100644 index 00000000000..29decedfb1b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/fi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'fi', { + options: 'Pikavalikon ominaisuudet' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/fo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/fo.js new file mode 100644 index 00000000000..fd549553fbc --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/fo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'fo', { + options: 'Context Menu Options' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/fr-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/fr-ca.js new file mode 100644 index 00000000000..7d8eda45406 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/fr-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'fr-ca', { + options: 'Options du menu contextuel' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/fr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/fr.js new file mode 100644 index 00000000000..71fa2b84256 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/fr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'fr', { + options: 'Options du menu contextuel' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/gl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/gl.js new file mode 100644 index 00000000000..ff9d6b685d8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/gl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'gl', { + options: 'Opcións do menú contextual' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/gu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/gu.js new file mode 100644 index 00000000000..1f125e27c95 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/gu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'gu', { + options: 'કોન્તેક્ષ્ત્ મેનુના વિકલ્પો' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/he.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/he.js new file mode 100644 index 00000000000..8139a71a2b0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/he.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'he', { + options: 'אפשרויות תפריט ההקשר' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/hi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/hi.js new file mode 100644 index 00000000000..aabe9b25115 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/hi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'hi', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/hr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/hr.js new file mode 100644 index 00000000000..95783ba84f5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/hr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'hr', { + options: 'Opcije izbornika' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/hu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/hu.js new file mode 100644 index 00000000000..a3ad44f141f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/hu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'hu', { + options: 'Helyi menü opciók' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/id.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/id.js new file mode 100644 index 00000000000..1d75d2cb8c9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/id.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'id', { + options: 'Opsi Konteks Pilihan' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/is.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/is.js new file mode 100644 index 00000000000..b0ce9edc955 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/is.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'is', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/it.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/it.js new file mode 100644 index 00000000000..edafe96b647 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/it.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'it', { + options: 'Opzioni del menù contestuale' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ja.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ja.js new file mode 100644 index 00000000000..edcc47dcbb8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ja.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ja', { + options: 'コンテキストメニューオプション' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ka.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ka.js new file mode 100644 index 00000000000..3a944635e69 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ka.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ka', { + options: 'კონტექსტური მენიუს პარამეტრები' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/km.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/km.js new file mode 100644 index 00000000000..a2e7d544772 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/km.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'km', { + options: 'ជម្រើស​ម៉ឺនុយ​បរិបទ' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ko.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ko.js new file mode 100644 index 00000000000..4f60bb0a81b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ko.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ko', { + options: '컨텍스트 메뉴 옵션' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ku.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ku.js new file mode 100644 index 00000000000..77214191a8d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ku.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ku', { + options: 'هەڵبژاردەی لیستەی کلیکی دەستی ڕاست' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/lt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/lt.js new file mode 100644 index 00000000000..48edbb75de6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/lt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'lt', { + options: 'Kontekstinio meniu parametrai' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/lv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/lv.js new file mode 100644 index 00000000000..bc1a1631a03 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/lv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'lv', { + options: 'Uznirstošās izvēlnes uzstādījumi' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/mk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/mk.js new file mode 100644 index 00000000000..7c5b271c0c0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/mk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'mk', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/mn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/mn.js new file mode 100644 index 00000000000..12469af1524 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/mn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'mn', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ms.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ms.js new file mode 100644 index 00000000000..df31fe04cb2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ms.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ms', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/nb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/nb.js new file mode 100644 index 00000000000..8dd99a4465e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/nb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'nb', { + options: 'Alternativer for høyreklikkmeny' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/nl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/nl.js new file mode 100644 index 00000000000..25b9d8d6d4b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/nl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'nl', { + options: 'Contextmenu opties' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/no.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/no.js new file mode 100644 index 00000000000..38195cd8f7f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/no.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'no', { + options: 'Alternativer for høyreklikkmeny' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/pl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/pl.js new file mode 100644 index 00000000000..e20b1cd86e1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/pl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'pl', { + options: 'Opcje menu kontekstowego' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/pt-br.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/pt-br.js new file mode 100644 index 00000000000..1117c9a40ff --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/pt-br.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'pt-br', { + options: 'Opções Menu de Contexto' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/pt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/pt.js new file mode 100644 index 00000000000..205eb6fdf71 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/pt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'pt', { + options: 'Menu de opções de contexto' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ro.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ro.js new file mode 100644 index 00000000000..df44813a1c2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ro.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ro', { + options: 'Opțiuni Meniu Contextual' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ru.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ru.js new file mode 100644 index 00000000000..741126ffd2f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ru.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ru', { + options: 'Параметры контекстного меню' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/si.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/si.js new file mode 100644 index 00000000000..e8a340805b5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/si.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'si', { + options: 'අනතර්ග ලේඛණ විකල්ප' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sk.js new file mode 100644 index 00000000000..a94fe858fb8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'sk', { + options: 'Možnosti kontextového menu' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sl.js new file mode 100644 index 00000000000..60696241e30 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'sl', { + options: 'Možnosti Kontekstnega Menija' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sq.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sq.js new file mode 100644 index 00000000000..8ff40cd88a4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sq.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'sq', { + options: 'Mundësitë e Menysë së Kontekstit' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sr-latn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sr-latn.js new file mode 100644 index 00000000000..36ae082226f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sr-latn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'sr-latn', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sr.js new file mode 100644 index 00000000000..64ddf2407dc --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'sr', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sv.js new file mode 100644 index 00000000000..71e4884cb87 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/sv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'sv', { + options: 'Context Menu Options' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/th.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/th.js new file mode 100644 index 00000000000..a8e41d8d197 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/th.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'th', { + options: 'Context Menu Options' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/tr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/tr.js new file mode 100644 index 00000000000..ea4a3f92771 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/tr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'tr', { + options: 'İçerik Menüsü Seçenekleri' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ug.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ug.js new file mode 100644 index 00000000000..da08efdcd4a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/ug.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'ug', { + options: 'قىسقا يول تىزىملىك تاللانمىسى' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/uk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/uk.js new file mode 100644 index 00000000000..c2cbe39316b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/uk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'uk', { + options: 'Опції контекстного меню' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/vi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/vi.js new file mode 100644 index 00000000000..e6148849530 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/vi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'vi', { + options: 'Tùy chọn menu bổ xung' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/zh-cn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/zh-cn.js new file mode 100644 index 00000000000..2c2b677a8e1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/zh-cn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'zh-cn', { + options: '快捷菜单选项' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/zh.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/zh.js new file mode 100644 index 00000000000..f134584b3d1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/lang/zh.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'contextmenu', 'zh', { + options: '內容功能表選項' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/plugin.js new file mode 100644 index 00000000000..fb54db4ee67 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/contextmenu/plugin.js @@ -0,0 +1,143 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +CKEDITOR.plugins.add( 'contextmenu', { + requires: 'menu', + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + + // Make sure the base class (CKEDITOR.menu) is loaded before it (#3318). + onLoad: function() { + /** + * Class replacing the non-configurable native context menu with configurable CKEditor's equivalent. + * + * @class + * @extends CKEDITOR.menu + */ + CKEDITOR.plugins.contextMenu = CKEDITOR.tools.createClass( { + base: CKEDITOR.menu, + + /** + * Creates the CKEDITOR.plugins.contextMenu class instance. + * + * @constructor + * @param {CKEDITOR.editor} editor + */ + $: function( editor ) { + this.base.call( this, editor, { + panel: { + className: 'cke_menu_panel', + attributes: { + 'aria-label': editor.lang.contextmenu.options + } + } + } ); + }, + + proto: { + /** + * Starts watching on native context menu triggers (option key, right click) on given element. + * + * @param {CKEDITOR.dom.element} element + * @param {Boolean} [nativeContextMenuOnCtrl] Whether to open native context menu if + * *Ctrl* key is hold on opening the context menu. See {@link CKEDITOR.config#browserContextMenuOnCtrl}. + */ + addTarget: function( element, nativeContextMenuOnCtrl ) { + element.on( 'contextmenu', function( event ) { + var domEvent = event.data, + isCtrlKeyDown = + // Safari on Windows always show 'ctrlKey' as true in 'contextmenu' event, + // which make this property unreliable. (#4826) + ( CKEDITOR.env.webkit ? holdCtrlKey : ( CKEDITOR.env.mac ? domEvent.$.metaKey : domEvent.$.ctrlKey ) ); + + if ( nativeContextMenuOnCtrl && isCtrlKeyDown ) + return; + + // Cancel the browser context menu. + domEvent.preventDefault(); + + var doc = domEvent.getTarget().getDocument(), + offsetParent = domEvent.getTarget().getDocument().getDocumentElement(), + fromFrame = !doc.equals( CKEDITOR.document ), + scroll = doc.getWindow().getScrollPosition(), + offsetX = fromFrame ? domEvent.$.clientX : domEvent.$.pageX || scroll.x + domEvent.$.clientX, + offsetY = fromFrame ? domEvent.$.clientY : domEvent.$.pageY || scroll.y + domEvent.$.clientY; + + CKEDITOR.tools.setTimeout( function() { + this.open( offsetParent, null, offsetX, offsetY ); + + // IE needs a short while to allow selection change before opening menu. (#7908) + }, CKEDITOR.env.ie ? 200 : 0, this ); + }, this ); + + if ( CKEDITOR.env.webkit ) { + var holdCtrlKey, + onKeyDown = function( event ) { + holdCtrlKey = CKEDITOR.env.mac ? event.data.$.metaKey : event.data.$.ctrlKey; + }, + resetOnKeyUp = function() { + holdCtrlKey = 0; + }; + + element.on( 'keydown', onKeyDown ); + element.on( 'keyup', resetOnKeyUp ); + element.on( 'contextmenu', resetOnKeyUp ); + } + }, + + /** + * Opens context menu in given location. See the {@link CKEDITOR.menu#show} method. + * + * @param {CKEDITOR.dom.element} offsetParent + * @param {Number} [corner] + * @param {Number} [offsetX] + * @param {Number} [offsetY] + */ + open: function( offsetParent, corner, offsetX, offsetY ) { + this.editor.focus(); + offsetParent = offsetParent || CKEDITOR.document.getDocumentElement(); + + // #9362: Force selection check to update commands' states in the new context. + this.editor.selectionChange( 1 ); + + this.show( offsetParent, corner, offsetX, offsetY ); + } + } + } ); + }, + + beforeInit: function( editor ) { + /** + * @readonly + * @property {CKEDITOR.plugins.contextMenu} contextMenu + * @member CKEDITOR.editor + */ + var contextMenu = editor.contextMenu = new CKEDITOR.plugins.contextMenu( editor ); + + editor.on( 'contentDom', function() { + contextMenu.addTarget( editor.editable(), editor.config.browserContextMenuOnCtrl !== false ); + } ); + + editor.addCommand( 'contextMenu', { + exec: function() { + editor.contextMenu.open( editor.document.getBody() ); + } + } ); + + editor.setKeystroke( CKEDITOR.SHIFT + 121 /*F10*/, 'contextMenu' ); + editor.setKeystroke( CKEDITOR.CTRL + CKEDITOR.SHIFT + 121 /*F10*/, 'contextMenu' ); + } +} ); + +/** + * Whether to show the browser native context menu when the *Ctrl* or + * *Meta* (Mac) key is pressed on opening the context menu with the + * right mouse button click or the *Menu* key. + * + * config.browserContextMenuOnCtrl = false; + * + * @since 3.0.2 + * @cfg {Boolean} [browserContextMenuOnCtrl=true] + * @member CKEDITOR.config + */ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/dialog/dialogDefinition.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/dialog/dialogDefinition.js new file mode 100644 index 00000000000..0e2a642ee2b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/dialog/dialogDefinition.js @@ -0,0 +1,1006 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/** + * @fileOverview Defines the "virtual" dialog, dialog content and dialog button + * definition classes. + */ + +/** + * The definition of a dialog window. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create dialogs. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * CKEDITOR.dialog.add( 'testOnly', function( editor ) { + * return { + * title: 'Test Dialog', + * resizable: CKEDITOR.DIALOG_RESIZE_BOTH, + * minWidth: 500, + * minHeight: 400, + * contents: [ + * { + * id: 'tab1', + * label: 'First Tab', + * title: 'First Tab Title', + * accessKey: 'Q', + * elements: [ + * { + * type: 'text', + * label: 'Test Text 1', + * id: 'testText1', + * 'default': 'hello world!' + * } + * ] + * } + * ] + * }; + * } ); + * + * @class CKEDITOR.dialog.definition + */ + +/** + * The dialog title, displayed in the dialog's header. Required. + * + * @property {String} title + */ + +/** + * How the dialog can be resized, must be one of the four contents defined below. + * + * * {@link CKEDITOR#DIALOG_RESIZE_NONE} + * * {@link CKEDITOR#DIALOG_RESIZE_WIDTH} + * * {@link CKEDITOR#DIALOG_RESIZE_HEIGHT} + * * {@link CKEDITOR#DIALOG_RESIZE_BOTH} + * + * @property {Number} [resizable=CKEDITOR.DIALOG_RESIZE_NONE] + */ + +/** + * The minimum width of the dialog, in pixels. + * + * @property {Number} [minWidth=600] + */ + +/** + * The minimum height of the dialog, in pixels. + * + * @property {Number} [minHeight=400] + */ + + +/** + * The initial width of the dialog, in pixels. + * + * @since 3.5.3 + * @property {Number} [width=CKEDITOR.dialog.definition#minWidth] + */ + +/** + * The initial height of the dialog, in pixels. + * + * @since 3.5.3 + * @property {Number} [height=CKEDITOR.dialog.definition.minHeight] + */ + +/** + * The buttons in the dialog, defined as an array of + * {@link CKEDITOR.dialog.definition.button} objects. + * + * @property {Array} [buttons=[ CKEDITOR.dialog.okButton, CKEDITOR.dialog.cancelButton ]] + */ + +/** + * The contents in the dialog, defined as an array of + * {@link CKEDITOR.dialog.definition.content} objects. Required. + * + * @property {Array} contents + */ + +/** + * The function to execute when OK is pressed. + * + * @property {Function} onOk + */ + +/** + * The function to execute when Cancel is pressed. + * + * @property {Function} onCancel + */ + +/** + * The function to execute when the dialog is displayed for the first time. + * + * @property {Function} onLoad + */ + +/** + * The function to execute when the dialog is loaded (executed every time the dialog is opened). + * + * @property {Function} onShow + */ + +/** + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create dialog content pages. + * + * @class CKEDITOR.dialog.definition.content. + */ + +/** + * The id of the content page. + * + * @property {String} id + */ + +/** + * The tab label of the content page. + * + * @property {String} label + */ + +/** + * The popup message of the tab label. + * + * @property {String} title + */ + +/** + * The CTRL hotkey for switching to the tab. + * + * contentDefinition.accessKey = 'Q'; // Switch to this page when CTRL-Q is pressed. + * + * @property {String} accessKey + */ + +/** + * The UI elements contained in this content page, defined as an array of + * {@link CKEDITOR.dialog.definition.uiElement} objects. + * + * @property {Array} elements + */ + +/** + * The definition of user interface element (textarea, radio etc). + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create dialog UI elements. + * + * @class CKEDITOR.dialog.definition.uiElement + * @see CKEDITOR.ui.dialog.uiElement + */ + +/** + * The id of the UI element. + * + * @property {String} id + */ + +/** + * The type of the UI element. Required. + * + * @property {String} type + */ + +/** + * The popup label of the UI element. + * + * @property {String} title + */ + +/** + * The content that needs to be allowed to enable this UI element. + * All formats accepted by {@link CKEDITOR.filter#check} may be used. + * + * When all UI elements in a tab are disabled, this tab will be disabled automatically. + * + * @property {String/Object/CKEDITOR.style} requiredContent + */ + +/** + * CSS class names to append to the UI element. + * + * @property {String} className + */ + +/** + * Inline CSS classes to append to the UI element. + * + * @property {String} style + */ + +/** + * Horizontal alignment (in container) of the UI element. + * + * @property {String} align + */ + +/** + * Function to execute the first time the UI element is displayed. + * + * @property {Function} onLoad + */ + +/** + * Function to execute whenever the UI element's parent dialog is displayed. + * + * @property {Function} onShow + */ + +/** + * Function to execute whenever the UI element's parent dialog is closed. + * + * @property {Function} onHide + */ + +/** + * Function to execute whenever the UI element's parent + * dialog's {@link CKEDITOR.dialog#setupContent} method is executed. + * It usually takes care of the respective UI element as a standalone element. + * + * @property {Function} setup + */ + +/** + * Function to execute whenever the UI element's parent + * dialog's {@link CKEDITOR.dialog#commitContent} method is executed. + * It usually takes care of the respective UI element as a standalone element. + * + * @property {Function} commit + */ + +// ----- hbox ----------------------------------------------------------------- + +/** + * Horizontal layout box for dialog UI elements, auto-expends to available width of container. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create horizontal layouts. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.hbox} object and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * // Example: + * { + * type: 'hbox', + * widths: [ '25%', '25%', '50%' ], + * children: [ + * { + * type: 'text', + * id: 'id1', + * width: '40px', + * }, + * { + * type: 'text', + * id: 'id2', + * width: '40px', + * }, + * { + * type: 'text', + * id: 'id3' + * } + * ] + * } + * + * @class CKEDITOR.dialog.definition.hbox + * @extends CKEDITOR.dialog.definition.uiElement + */ + +/** + * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this container. + * + * @property {Array} children + */ + +/** + * (Optional) The widths of child cells. + * + * @property {Array} widths + */ + +/** + * (Optional) The height of the layout. + * + * @property {Number} height + */ + +/** + * The CSS styles to apply to this element. + * + * @property {String} styles + */ + +/** + * (Optional) The padding width inside child cells. Example: 0, 1. + * + * @property {Number} padding + */ + +/** + * (Optional) The alignment of the whole layout. Example: center, top. + * + * @property {String} align + */ + +// ----- vbox ----------------------------------------------------------------- + +/** + * Vertical layout box for dialog UI elements. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create vertical layouts. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.vbox} object and can + * be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * // Example: + * { + * type: 'vbox', + * align: 'right', + * width: '200px', + * children: [ + * { + * type: 'text', + * id: 'age', + * label: 'Age' + * }, + * { + * type: 'text', + * id: 'sex', + * label: 'Sex' + * }, + * { + * type: 'text', + * id: 'nationality', + * label: 'Nationality' + * } + * ] + * } + * + * @class CKEDITOR.dialog.definition.vbox + * @extends CKEDITOR.dialog.definition.uiElement + */ + +/** + * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this container. + * + * @property {Array} children + */ + +/** + * (Optional) The width of the layout. + * + * @property {Array} width + */ + +/** + * (Optional) The heights of individual cells. + * + * @property {Number} heights + */ + +/** + * The CSS styles to apply to this element. + * + * @property {String} styles + */ + +/** + * (Optional) The padding width inside child cells. Example: 0, 1. + * + * @property {Number} padding + */ + +/** + * (Optional) The alignment of the whole layout. Example: center, top. + * + * @property {String} align + */ + +/** + * (Optional) Whether the layout should expand vertically to fill its container. + * + * @property {Boolean} expand + */ + +// ----- labeled element ------------------------------------------------------ + +/** + * The definition of labeled user interface element (textarea, textInput etc). + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create dialog UI elements. + * + * @class CKEDITOR.dialog.definition.labeledElement + * @extends CKEDITOR.dialog.definition.uiElement + * @see CKEDITOR.ui.dialog.labeledElement + */ + +/** + * The label of the UI element. + * + * { + * type: 'text', + * label: 'My Label' + * } + * + * @property {String} label + */ + +/** + * (Optional) Specify the layout of the label. Set to `'horizontal'` for horizontal layout. + * The default layout is vertical. + * + * { + * type: 'text', + * label: 'My Label', + * labelLayout: 'horizontal' + * } + * + * @property {String} labelLayout + */ + +/** + * (Optional) Applies only to horizontal layouts: a two elements array of lengths to specify the widths of the + * label and the content element. See also {@link CKEDITOR.dialog.definition.labeledElement#labelLayout}. + * + * { + * type: 'text', + * label: 'My Label', + * labelLayout: 'horizontal', + * widths: [100, 200] + * } + * + * @property {Array} widths + */ + +/** + * Specify the inline style of the uiElement label. + * + * { + * type: 'text', + * label: 'My Label', + * labelStyle: 'color: red' + * } + * + * @property {String} labelStyle + */ + + +/** + * Specify the inline style of the input element. + * + * { + * type: 'text', + * label: 'My Label', + * inputStyle: 'text-align: center' + * } + * + * @since 3.6.1 + * @property {String} inputStyle + */ + +/** + * Specify the inline style of the input element container. + * + * { + * type: 'text', + * label: 'My Label', + * controlStyle: 'width: 3em' + * } + * + * @since 3.6.1 + * @property {String} controlStyle + */ + +// ----- button --------------------------------------------------------------- + +/** + * The definition of a button. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create buttons. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.button} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * // Example: + * { + * type: 'button', + * id: 'buttonId', + * label: 'Click me', + * title: 'My title', + * onClick: function() { + * // this = CKEDITOR.ui.dialog.button + * alert( 'Clicked: ' + this.id ); + * } + * } + * + * @class CKEDITOR.dialog.definition.button + * @extends CKEDITOR.dialog.definition.uiElement + */ + +/** + * Whether the button is disabled. + * + * @property {Boolean} disabled + */ + +/** + * The label of the UI element. + * + * @property {String} label + */ + +// ----- checkbox ------ +/** + * The definition of a checkbox element. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create groups of checkbox buttons. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.checkbox} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * // Example: + * { + * type: 'checkbox', + * id: 'agree', + * label: 'I agree', + * 'default': 'checked', + * onClick: function() { + * // this = CKEDITOR.ui.dialog.checkbox + * alert( 'Checked: ' + this.getValue() ); + * } + * } + * + * @class CKEDITOR.dialog.definition.checkbox + * @extends CKEDITOR.dialog.definition.uiElement + */ + +/** + * (Optional) The validation function. + * + * @property {Function} validate + */ + +/** + * The label of the UI element. + * + * @property {String} label + */ + +/** + * The default state. + * + * @property {String} [default='' (unchecked)] + */ + +// ----- file ----------------------------------------------------------------- + +/** + * The definition of a file upload input. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create file upload elements. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.file} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * // Example: + * { + * type: 'file', + * id: 'upload', + * label: 'Select file from your computer', + * size: 38 + * }, + * { + * type: 'fileButton', + * id: 'fileId', + * label: 'Upload file', + * 'for': [ 'tab1', 'upload' ], + * filebrowser: { + * onSelect: function( fileUrl, data ) { + * alert( 'Successfully uploaded: ' + fileUrl ); + * } + * } + * } + * + * @class CKEDITOR.dialog.definition.file + * @extends CKEDITOR.dialog.definition.labeledElement + */ + +/** + * (Optional) The validation function. + * + * @property {Function} validate + */ + +/** + * (Optional) The action attribute of the form element associated with this file upload input. + * If empty, CKEditor will use path to server connector for currently opened folder. + * + * @property {String} action + */ + +/** + * The size of the UI element. + * + * @property {Number} size + */ + +// ----- fileButton ----------------------------------------------------------- + +/** + * The definition of a button for submitting the file in a file upload input. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create a button for submitting the file in a file upload input. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.fileButton} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * + * @class CKEDITOR.dialog.definition.fileButton + * @extends CKEDITOR.dialog.definition.uiElement + */ + +/** + * (Optional) The validation function. + * + * @property {Function} validate + */ + +/** + * The label of the UI element. + * + * @property {String} label + */ + +/** + * The instruction for CKEditor how to deal with file upload. + * By default, the file and fileButton elements will not work "as expected" if this attribute is not set. + * + * // Update field with id 'txtUrl' in the 'tab1' tab when file is uploaded. + * filebrowser: 'tab1:txtUrl' + * + * // Call custom onSelect function when file is successfully uploaded. + * filebrowser: { + * onSelect: function( fileUrl, data ) { + * alert( 'Successfully uploaded: ' + fileUrl ); + * } + * } + * + * @property {String} filebrowser/Object + */ + +/** + * An array that contains pageId and elementId of the file upload input element for which this button is created. + * + * [ pageId, elementId ] + * + * @property {String} for + */ + +// ----- html ----------------------------------------------------------------- + +/** + * The definition of a raw HTML element. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create elements made from raw HTML code. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.html} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * To access HTML elements use {@link CKEDITOR.dom.document#getById}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * // Example 1: + * { + * type: 'html', + * html: '

    This is some sample HTML content.

    ' + * } + * + * // Example 2: + * // Complete sample with document.getById() call when the "Ok" button is clicked. + * var dialogDefinition = { + * title: 'Sample dialog', + * minWidth: 300, + * minHeight: 200, + * onOk: function() { + * // "this" is now a CKEDITOR.dialog object. + * var document = this.getElement().getDocument(); + * // document = CKEDITOR.dom.document + * var element = document.getById( 'myDiv' ); + * if ( element ) + * alert( element.getHtml() ); + * }, + * contents: [ + * { + * id: 'tab1', + * label: '', + * title: '', + * elements: [ + * { + * type: 'html', + * html: '
    Sample text.
    Another div.
    ' + * } + * ] + * } + * ], + * buttons: [ CKEDITOR.dialog.cancelButton, CKEDITOR.dialog.okButton ] + * }; + * + * @class CKEDITOR.dialog.definition.html + * @extends CKEDITOR.dialog.definition.uiElement + */ + +/** + * (Required) HTML code of this element. + * + * @property {String} html + */ + +// ----- radio ---------------------------------------------------------------- + +/** + * The definition of a radio group. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create groups of radio buttons. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.radio} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * // Example: + * { + * type: 'radio', + * id: 'country', + * label: 'Which country is bigger', + * items: [ [ 'France', 'FR' ], [ 'Germany', 'DE' ] ], + * style: 'color: green', + * 'default': 'DE', + * onClick: function() { + * // this = CKEDITOR.ui.dialog.radio + * alert( 'Current value: ' + this.getValue() ); + * } + * } + * + * @class CKEDITOR.dialog.definition.radio + * @extends CKEDITOR.dialog.definition.labeledElement + */ + +/** + * The default value. + * + * @property {String} default + */ + +/** + * (Optional) The validation function. + * + * @property {Function} validate + */ + +/** + * An array of options. Each option is a 1- or 2-item array of format `[ 'Description', 'Value' ]`. + * If `'Value'` is missing, then the value would be assumed to be the same as the description. + * + * @property {Array} items + */ + +// ----- selectElement -------------------------------------------------------- + +/** + * The definition of a select element. + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create select elements. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.select} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * // Example: + * { + * type: 'select', + * id: 'sport', + * label: 'Select your favourite sport', + * items: [ [ 'Basketball' ], [ 'Baseball' ], [ 'Hockey' ], [ 'Football' ] ], + * 'default': 'Football', + * onChange: function( api ) { + * // this = CKEDITOR.ui.dialog.select + * alert( 'Current value: ' + this.getValue() ); + * } + * } + * + * @class CKEDITOR.dialog.definition.select + * @extends CKEDITOR.dialog.definition.labeledElement + */ + +/** + * The default value. + * + * @property {String} default + */ + +/** + * (Optional) The validation function. + * + * @property {Function} validate + */ + +/** + * An array of options. Each option is a 1- or 2-item array of format `[ 'Description', 'Value' ]`. + * If `'Value'` is missing, then the value would be assumed to be the same as the description. + * + * @property {Array} items + */ + +/** + * (Optional) Set this to true if you'd like to have a multiple-choice select box. + * + * @property {Boolean} [multiple=false] + */ + +/** + * (Optional) The number of items to display in the select box. + * + * @property {Number} size + */ + +// ----- textInput ------------------------------------------------------------ + +/** + * The definition of a text field (single line). + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create text fields. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.textInput} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * + * // There is no constructor for this class, the user just has to define an + * // object with the appropriate properties. + * + * { + * type: 'text', + * id: 'name', + * label: 'Your name', + * 'default': '', + * validate: function() { + * if ( !this.getValue() ) { + * api.openMsgDialog( '', 'Name cannot be empty.' ); + * return false; + * } + * } + * } + * + * @class CKEDITOR.dialog.definition.textInput + * @extends CKEDITOR.dialog.definition.labeledElement + */ + +/** + * The default value. + * + * @property {String} default + */ + +/** + * (Optional) The maximum length. + * + * @property {Number} maxLength + */ + +/** + * (Optional) The size of the input field. + * + * @property {Number} size + */ + +/** + * (Optional) The validation function. + * + * @property {Function} validate + */ + +// ----- textarea ------------------------------------------------------------- + +/** + * The definition of a text field (multiple lines). + * + * This class is not really part of the API. It just illustrates the properties + * that developers can use to define and create textarea. + * + * Once the dialog is opened, the created element becomes a {@link CKEDITOR.ui.dialog.textarea} object + * and can be accessed with {@link CKEDITOR.dialog#getContentElement}. + * + * For a complete example of dialog definition, please check {@link CKEDITOR.dialog#add}. + * +* // There is no constructor for this class, the user just has to define an +* // object with the appropriate properties. +* +* // Example: +* { +* type: 'textarea', +* id: 'message', +* label: 'Your comment', +* 'default': '', +* validate: function() { +* if ( this.getValue().length < 5 ) { +* api.openMsgDialog( 'The comment is too short.' ); +* return false; +* } +* } +* } + * + * @class CKEDITOR.dialog.definition.textarea + * @extends CKEDITOR.dialog.definition.labeledElement + */ + +/** + * The number of rows. + * + * @property {Number} rows + */ + +/** + * The number of columns. + * + * @property {Number} cols + */ + +/** + * (Optional) The validation function. + * + * @property {Function} validate + */ + +/** + * The default value. + * + * @property {String} default + */ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/dialog/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/dialog/plugin.js new file mode 100644 index 00000000000..5382f01531b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/dialog/plugin.js @@ -0,0 +1,3267 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/** + * @fileOverview The floating dialog plugin. + */ + +/** + * No resize for this dialog. + * + * @readonly + * @property {Number} [=0] + * @member CKEDITOR + */ +CKEDITOR.DIALOG_RESIZE_NONE = 0; + +/** + * Only allow horizontal resizing for this dialog, disable vertical resizing. + * + * @readonly + * @property {Number} [=1] + * @member CKEDITOR + */ +CKEDITOR.DIALOG_RESIZE_WIDTH = 1; + +/** + * Only allow vertical resizing for this dialog, disable horizontal resizing. + * + * @readonly + * @property {Number} [=2] + * @member CKEDITOR + */ +CKEDITOR.DIALOG_RESIZE_HEIGHT = 2; + +/** + * Allow the dialog to be resized in both directions. + * + * @readonly + * @property {Number} [=3] + * @member CKEDITOR + */ +CKEDITOR.DIALOG_RESIZE_BOTH = 3; + +( function() { + var cssLength = CKEDITOR.tools.cssLength; + + function isTabVisible( tabId ) { + return !!this._.tabs[ tabId ][ 0 ].$.offsetHeight; + } + + function getPreviousVisibleTab() { + var tabId = this._.currentTabId, + length = this._.tabIdList.length, + tabIndex = CKEDITOR.tools.indexOf( this._.tabIdList, tabId ) + length; + + for ( var i = tabIndex - 1; i > tabIndex - length; i-- ) { + if ( isTabVisible.call( this, this._.tabIdList[ i % length ] ) ) + return this._.tabIdList[ i % length ]; + } + + return null; + } + + function getNextVisibleTab() { + var tabId = this._.currentTabId, + length = this._.tabIdList.length, + tabIndex = CKEDITOR.tools.indexOf( this._.tabIdList, tabId ); + + for ( var i = tabIndex + 1; i < tabIndex + length; i++ ) { + if ( isTabVisible.call( this, this._.tabIdList[ i % length ] ) ) + return this._.tabIdList[ i % length ]; + } + + return null; + } + + + function clearOrRecoverTextInputValue( container, isRecover ) { + var inputs = container.$.getElementsByTagName( 'input' ); + for ( var i = 0, length = inputs.length; i < length; i++ ) { + var item = new CKEDITOR.dom.element( inputs[ i ] ); + + if ( item.getAttribute( 'type' ).toLowerCase() == 'text' ) { + if ( isRecover ) { + item.setAttribute( 'value', item.getCustomData( 'fake_value' ) || '' ); + item.removeCustomData( 'fake_value' ); + } else { + item.setCustomData( 'fake_value', item.getAttribute( 'value' ) ); + item.setAttribute( 'value', '' ); + } + } + } + } + + // Handle dialog element validation state UI changes. + function handleFieldValidated( isValid, msg ) { + var input = this.getInputElement(); + if ( input ) + isValid ? input.removeAttribute( 'aria-invalid' ) : input.setAttribute( 'aria-invalid', true ); + + if ( !isValid ) { + if ( this.select ) + this.select(); + else + this.focus(); + } + + msg && alert( msg ); + + this.fire( 'validated', { valid: isValid, msg: msg } ); + } + + function resetField() { + var input = this.getInputElement(); + input && input.removeAttribute( 'aria-invalid' ); + } + + var templateSource = ''; + + function buildDialog( editor ) { + var element = CKEDITOR.dom.element.createFromHtml( CKEDITOR.addTemplate( 'dialog', templateSource ).output( { + id: CKEDITOR.tools.getNextNumber(), + editorId: editor.id, + langDir: editor.lang.dir, + langCode: editor.langCode, + editorDialogClass: 'cke_editor_' + editor.name.replace( /\./g, '\\.' ) + '_dialog', + closeTitle: editor.lang.common.close, + hidpi: CKEDITOR.env.hidpi ? 'cke_hidpi' : '' + } ) ); + + // TODO: Change this to getById(), so it'll support custom templates. + var body = element.getChild( [ 0, 0, 0, 0, 0 ] ), + title = body.getChild( 0 ), + close = body.getChild( 1 ); + + // IFrame shim for dialog that masks activeX in IE. (#7619) + if ( CKEDITOR.env.ie && !CKEDITOR.env.ie6Compat ) { + var src = 'javascript:void(function(){' + encodeURIComponent( 'document.open();(' + CKEDITOR.tools.fixDomain + ')();document.close();' ) + '}())', + iframe = CKEDITOR.dom.element.createFromHtml( '' ); + iframe.appendTo( body.getParent() ); + } + + // Make the Title and Close Button unselectable. + title.unselectable(); + close.unselectable(); + + return { + element: element, + parts: { + dialog: element.getChild( 0 ), + title: title, + close: close, + tabs: body.getChild( 2 ), + contents: body.getChild( [ 3, 0, 0, 0 ] ), + footer: body.getChild( [ 3, 0, 1, 0 ] ) + } + }; + } + + /** + * This is the base class for runtime dialog objects. An instance of this + * class represents a single named dialog for a single editor instance. + * + * var dialogObj = new CKEDITOR.dialog( editor, 'smiley' ); + * + * @class + * @constructor Creates a dialog class instance. + * @param {Object} editor The editor which created the dialog. + * @param {String} dialogName The dialog's registered name. + */ + CKEDITOR.dialog = function( editor, dialogName ) { + // Load the dialog definition. + var definition = CKEDITOR.dialog._.dialogDefinitions[ dialogName ], + defaultDefinition = CKEDITOR.tools.clone( defaultDialogDefinition ), + buttonsOrder = editor.config.dialog_buttonsOrder || 'OS', + dir = editor.lang.dir, + tabsToRemove = {}, + i, processed, stopPropagation; + + if ( ( buttonsOrder == 'OS' && CKEDITOR.env.mac ) || // The buttons in MacOS Apps are in reverse order (#4750) + ( buttonsOrder == 'rtl' && dir == 'ltr' ) || ( buttonsOrder == 'ltr' && dir == 'rtl' ) ) + defaultDefinition.buttons.reverse(); + + + // Completes the definition with the default values. + definition = CKEDITOR.tools.extend( definition( editor ), defaultDefinition ); + + // Clone a functionally independent copy for this dialog. + definition = CKEDITOR.tools.clone( definition ); + + // Create a complex definition object, extending it with the API + // functions. + definition = new definitionObject( this, definition ); + + var doc = CKEDITOR.document; + + var themeBuilt = buildDialog( editor ); + + // Initialize some basic parameters. + this._ = { + editor: editor, + element: themeBuilt.element, + name: dialogName, + contentSize: { width: 0, height: 0 }, + size: { width: 0, height: 0 }, + contents: {}, + buttons: {}, + accessKeyMap: {}, + + // Initialize the tab and page map. + tabs: {}, + tabIdList: [], + currentTabId: null, + currentTabIndex: null, + pageCount: 0, + lastTab: null, + tabBarMode: false, + + // Initialize the tab order array for input widgets. + focusList: [], + currentFocusIndex: 0, + hasFocus: false + }; + + this.parts = themeBuilt.parts; + + CKEDITOR.tools.setTimeout( function() { + editor.fire( 'ariaWidget', this.parts.contents ); + }, 0, this ); + + // Set the startup styles for the dialog, avoiding it enlarging the + // page size on the dialog creation. + var startStyles = { + position: CKEDITOR.env.ie6Compat ? 'absolute' : 'fixed', + top: 0, + visibility: 'hidden' + }; + + startStyles[ dir == 'rtl' ? 'right' : 'left' ] = 0; + this.parts.dialog.setStyles( startStyles ); + + + // Call the CKEDITOR.event constructor to initialize this instance. + CKEDITOR.event.call( this ); + + // Fire the "dialogDefinition" event, making it possible to customize + // the dialog definition. + this.definition = definition = CKEDITOR.fire( 'dialogDefinition', { + name: dialogName, + definition: definition + }, editor ).definition; + + // Cache tabs that should be removed. + if ( !( 'removeDialogTabs' in editor._ ) && editor.config.removeDialogTabs ) { + var removeContents = editor.config.removeDialogTabs.split( ';' ); + + for ( i = 0; i < removeContents.length; i++ ) { + var parts = removeContents[ i ].split( ':' ); + if ( parts.length == 2 ) { + var removeDialogName = parts[ 0 ]; + if ( !tabsToRemove[ removeDialogName ] ) + tabsToRemove[ removeDialogName ] = []; + tabsToRemove[ removeDialogName ].push( parts[ 1 ] ); + } + } + editor._.removeDialogTabs = tabsToRemove; + } + + // Remove tabs of this dialog. + if ( editor._.removeDialogTabs && ( tabsToRemove = editor._.removeDialogTabs[ dialogName ] ) ) { + for ( i = 0; i < tabsToRemove.length; i++ ) + definition.removeContents( tabsToRemove[ i ] ); + } + + // Initialize load, show, hide, ok and cancel events. + if ( definition.onLoad ) + this.on( 'load', definition.onLoad ); + + if ( definition.onShow ) + this.on( 'show', definition.onShow ); + + if ( definition.onHide ) + this.on( 'hide', definition.onHide ); + + if ( definition.onOk ) { + this.on( 'ok', function( evt ) { + // Dialog confirm might probably introduce content changes (#5415). + editor.fire( 'saveSnapshot' ); + setTimeout( function() { + editor.fire( 'saveSnapshot' ); + }, 0 ); + if ( definition.onOk.call( this, evt ) === false ) + evt.data.hide = false; + } ); + } + + if ( definition.onCancel ) { + this.on( 'cancel', function( evt ) { + if ( definition.onCancel.call( this, evt ) === false ) + evt.data.hide = false; + } ); + } + + var me = this; + + // Iterates over all items inside all content in the dialog, calling a + // function for each of them. + var iterContents = function( func ) { + var contents = me._.contents, + stop = false; + + for ( var i in contents ) { + for ( var j in contents[ i ] ) { + stop = func.call( this, contents[ i ][ j ] ); + if ( stop ) + return; + } + } + }; + + this.on( 'ok', function( evt ) { + iterContents( function( item ) { + if ( item.validate ) { + var retval = item.validate( this ), + invalid = typeof( retval ) == 'string' || retval === false; + + if ( invalid ) { + evt.data.hide = false; + evt.stop(); + } + + handleFieldValidated.call( item, !invalid, typeof retval == 'string' ? retval : undefined ); + return invalid; + } + } ); + }, this, null, 0 ); + + this.on( 'cancel', function( evt ) { + iterContents( function( item ) { + if ( item.isChanged() ) { + if ( !editor.config.dialog_noConfirmCancel && !confirm( editor.lang.common.confirmCancel ) ) + evt.data.hide = false; + return true; + } + } ); + }, this, null, 0 ); + + this.parts.close.on( 'click', function( evt ) { + if ( this.fire( 'cancel', { hide: true } ).hide !== false ) + this.hide(); + evt.data.preventDefault(); + }, this ); + + // Sort focus list according to tab order definitions. + function setupFocus() { + var focusList = me._.focusList; + focusList.sort( function( a, b ) { + // Mimics browser tab order logics; + if ( a.tabIndex != b.tabIndex ) + return b.tabIndex - a.tabIndex; + // Sort is not stable in some browsers, + // fall-back the comparator to 'focusIndex'; + else + return a.focusIndex - b.focusIndex; + } ); + + var size = focusList.length; + for ( var i = 0; i < size; i++ ) + focusList[ i ].focusIndex = i; + } + + function changeFocus( offset ) { + var focusList = me._.focusList; + offset = offset || 0; + + if ( focusList.length < 1 ) + return; + + var current = me._.currentFocusIndex; + + // Trigger the 'blur' event of any input element before anything, + // since certain UI updates may depend on it. + try { + focusList[ current ].getInputElement().$.blur(); + } catch ( e ) {} + + var startIndex = ( current + offset + focusList.length ) % focusList.length, + currentIndex = startIndex; + while ( offset && !focusList[ currentIndex ].isFocusable() ) { + currentIndex = ( currentIndex + offset + focusList.length ) % focusList.length; + if ( currentIndex == startIndex ) + break; + } + + focusList[ currentIndex ].focus(); + + // Select whole field content. + if ( focusList[ currentIndex ].type == 'text' ) + focusList[ currentIndex ].select(); + } + + this.changeFocus = changeFocus; + + + function keydownHandler( evt ) { + // If I'm not the top dialog, ignore. + if ( me != CKEDITOR.dialog._.currentTop ) + return; + + var keystroke = evt.data.getKeystroke(), + rtl = editor.lang.dir == 'rtl', + button; + + processed = stopPropagation = 0; + + if ( keystroke == 9 || keystroke == CKEDITOR.SHIFT + 9 ) { + var shiftPressed = ( keystroke == CKEDITOR.SHIFT + 9 ); + + // Handling Tab and Shift-Tab. + if ( me._.tabBarMode ) { + // Change tabs. + var nextId = shiftPressed ? getPreviousVisibleTab.call( me ) : getNextVisibleTab.call( me ); + me.selectPage( nextId ); + me._.tabs[ nextId ][ 0 ].focus(); + } else { + // Change the focus of inputs. + changeFocus( shiftPressed ? -1 : 1 ); + } + + processed = 1; + } else if ( keystroke == CKEDITOR.ALT + 121 && !me._.tabBarMode && me.getPageCount() > 1 ) { + // Alt-F10 puts focus into the current tab item in the tab bar. + me._.tabBarMode = true; + me._.tabs[ me._.currentTabId ][ 0 ].focus(); + processed = 1; + } else if ( ( keystroke == 37 || keystroke == 39 ) && me._.tabBarMode ) { + // Arrow keys - used for changing tabs. + nextId = ( keystroke == ( rtl ? 39 : 37 ) ? getPreviousVisibleTab.call( me ) : getNextVisibleTab.call( me ) ); + me.selectPage( nextId ); + me._.tabs[ nextId ][ 0 ].focus(); + processed = 1; + } else if ( ( keystroke == 13 || keystroke == 32 ) && me._.tabBarMode ) { + this.selectPage( this._.currentTabId ); + this._.tabBarMode = false; + this._.currentFocusIndex = -1; + changeFocus( 1 ); + processed = 1; + } + // If user presses enter key in a text box, it implies clicking OK for the dialog. + else if ( keystroke == 13 /*ENTER*/ ) { + // Don't do that for a target that handles ENTER. + var target = evt.data.getTarget(); + if ( !target.is( 'a', 'button', 'select', 'textarea' ) && ( !target.is( 'input' ) || target.$.type != 'button' ) ) { + button = this.getButton( 'ok' ); + button && CKEDITOR.tools.setTimeout( button.click, 0, button ); + processed = 1; + } + stopPropagation = 1; // Always block the propagation (#4269) + } else if ( keystroke == 27 /*ESC*/ ) { + button = this.getButton( 'cancel' ); + + // If there's a Cancel button, click it, else just fire the cancel event and hide the dialog. + if ( button ) + CKEDITOR.tools.setTimeout( button.click, 0, button ); + else { + if ( this.fire( 'cancel', { hide: true } ).hide !== false ) + this.hide(); + } + stopPropagation = 1; // Always block the propagation (#4269) + } else + return; + + keypressHandler( evt ); + } + + function keypressHandler( evt ) { + if ( processed ) + evt.data.preventDefault( 1 ); + else if ( stopPropagation ) + evt.data.stopPropagation(); + } + + var dialogElement = this._.element; + + editor.focusManager.add( dialogElement, 1 ); + + // Add the dialog keyboard handlers. + this.on( 'show', function() { + dialogElement.on( 'keydown', keydownHandler, this ); + + // Some browsers instead, don't cancel key events in the keydown, but in the + // keypress. So we must do a longer trip in those cases. (#4531,#8985) + if ( CKEDITOR.env.opera || CKEDITOR.env.gecko ) + dialogElement.on( 'keypress', keypressHandler, this ); + + } ); + this.on( 'hide', function() { + dialogElement.removeListener( 'keydown', keydownHandler ); + if ( CKEDITOR.env.opera || CKEDITOR.env.gecko ) + dialogElement.removeListener( 'keypress', keypressHandler ); + + // Reset fields state when closing dialog. + iterContents( function( item ) { + resetField.apply( item ); + } ); + } ); + this.on( 'iframeAdded', function( evt ) { + var doc = new CKEDITOR.dom.document( evt.data.iframe.$.contentWindow.document ); + doc.on( 'keydown', keydownHandler, this, null, 0 ); + } ); + + // Auto-focus logic in dialog. + this.on( 'show', function() { + // Setup tabIndex on showing the dialog instead of on loading + // to allow dynamic tab order happen in dialog definition. + setupFocus(); + + if ( editor.config.dialog_startupFocusTab && me._.pageCount > 1 ) { + me._.tabBarMode = true; + me._.tabs[ me._.currentTabId ][ 0 ].focus(); + } else if ( !this._.hasFocus ) { + this._.currentFocusIndex = -1; + + // Decide where to put the initial focus. + if ( definition.onFocus ) { + var initialFocus = definition.onFocus.call( this ); + // Focus the field that the user specified. + initialFocus && initialFocus.focus(); + } + // Focus the first field in layout order. + else + changeFocus( 1 ); + } + }, this, null, 0xffffffff ); + + // IE6 BUG: Text fields and text areas are only half-rendered the first time the dialog appears in IE6 (#2661). + // This is still needed after [2708] and [2709] because text fields in hidden TR tags are still broken. + if ( CKEDITOR.env.ie6Compat ) { + this.on( 'load', function( evt ) { + var outer = this.getElement(), + inner = outer.getFirst(); + inner.remove(); + inner.appendTo( outer ); + }, this ); + } + + initDragAndDrop( this ); + initResizeHandles( this ); + + // Insert the title. + ( new CKEDITOR.dom.text( definition.title, CKEDITOR.document ) ).appendTo( this.parts.title ); + + // Insert the tabs and contents. + for ( i = 0; i < definition.contents.length; i++ ) { + var page = definition.contents[ i ]; + page && this.addPage( page ); + } + + this.parts[ 'tabs' ].on( 'click', function( evt ) { + var target = evt.data.getTarget(); + // If we aren't inside a tab, bail out. + if ( target.hasClass( 'cke_dialog_tab' ) ) { + // Get the ID of the tab, without the 'cke_' prefix and the unique number suffix. + var id = target.$.id; + this.selectPage( id.substring( 4, id.lastIndexOf( '_' ) ) ); + + if ( this._.tabBarMode ) { + this._.tabBarMode = false; + this._.currentFocusIndex = -1; + changeFocus( 1 ); + } + evt.data.preventDefault(); + } + }, this ); + + // Insert buttons. + var buttonsHtml = [], + buttons = CKEDITOR.dialog._.uiElementBuilders.hbox.build( this, { + type: 'hbox', + className: 'cke_dialog_footer_buttons', + widths: [], + children: definition.buttons + }, buttonsHtml ).getChild(); + this.parts.footer.setHtml( buttonsHtml.join( '' ) ); + + for ( i = 0; i < buttons.length; i++ ) + this._.buttons[ buttons[ i ].id ] = buttons[ i ]; + }; + + // Focusable interface. Use it via dialog.addFocusable. + function Focusable( dialog, element, index ) { + this.element = element; + this.focusIndex = index; + // TODO: support tabIndex for focusables. + this.tabIndex = 0; + this.isFocusable = function() { + return !element.getAttribute( 'disabled' ) && element.isVisible(); + }; + this.focus = function() { + dialog._.currentFocusIndex = this.focusIndex; + this.element.focus(); + }; + // Bind events + element.on( 'keydown', function( e ) { + if ( e.data.getKeystroke() in { 32: 1, 13: 1 } ) + this.fire( 'click' ); + } ); + element.on( 'focus', function() { + this.fire( 'mouseover' ); + } ); + element.on( 'blur', function() { + this.fire( 'mouseout' ); + } ); + } + + // Re-layout the dialog on window resize. + function resizeWithWindow( dialog ) { + var win = CKEDITOR.document.getWindow(); + function resizeHandler() { dialog.layout(); } + win.on( 'resize', resizeHandler ); + dialog.on( 'hide', function() { win.removeListener( 'resize', resizeHandler ); } ); + } + + CKEDITOR.dialog.prototype = { + destroy: function() { + this.hide(); + this._.element.remove(); + }, + + /** + * Resizes the dialog. + * + * dialogObj.resize( 800, 640 ); + * + * @method + * @param {Number} width The width of the dialog in pixels. + * @param {Number} height The height of the dialog in pixels. + */ + resize: ( function() { + return function( width, height ) { + if ( this._.contentSize && this._.contentSize.width == width && this._.contentSize.height == height ) + return; + + CKEDITOR.dialog.fire( 'resize', { + dialog: this, + width: width, + height: height + }, this._.editor ); + + this.fire( 'resize', { + width: width, + height: height + }, this._.editor ); + + var contents = this.parts.contents; + contents.setStyles( { + width: width + 'px', + height: height + 'px' + } ); + + // Update dialog position when dimension get changed in RTL. + if ( this._.editor.lang.dir == 'rtl' && this._.position ) + this._.position.x = CKEDITOR.document.getWindow().getViewPaneSize().width - this._.contentSize.width - parseInt( this._.element.getFirst().getStyle( 'right' ), 10 ); + + this._.contentSize = { width: width, height: height }; + }; + } )(), + + /** + * Gets the current size of the dialog in pixels. + * + * var width = dialogObj.getSize().width; + * + * @returns {Object} + * @returns {Number} return.width + * @returns {Number} return.height + */ + getSize: function() { + var element = this._.element.getFirst(); + return { width: element.$.offsetWidth || 0, height: element.$.offsetHeight || 0 }; + }, + + /** + * Moves the dialog to an `(x, y)` coordinate relative to the window. + * + * dialogObj.move( 10, 40 ); + * + * @method + * @param {Number} x The target x-coordinate. + * @param {Number} y The target y-coordinate. + * @param {Boolean} save Flag indicate whether the dialog position should be remembered on next open up. + */ + move: function( x, y, save ) { + + // The dialog may be fixed positioned or absolute positioned. Ask the + // browser what is the current situation first. + var element = this._.element.getFirst(), rtl = this._.editor.lang.dir == 'rtl'; + var isFixed = element.getComputedStyle( 'position' ) == 'fixed'; + + // (#8888) In some cases of a very small viewport, dialog is incorrectly + // positioned in IE7. It also happens that it remains sticky and user cannot + // scroll down/up to reveal dialog's content below/above the viewport; this is + // cumbersome. + // The only way to fix this is to move mouse out of the browser and + // go back to see that dialog position is automagically fixed. No events, + // no style change - pure magic. This is a IE7 rendering issue, which can be + // fixed with dummy style redraw on each move. + if ( CKEDITOR.env.ie ) + element.setStyle( 'zoom', '100%' ); + + if ( isFixed && this._.position && this._.position.x == x && this._.position.y == y ) + return; + + // Save the current position. + this._.position = { x: x, y: y }; + + // If not fixed positioned, add scroll position to the coordinates. + if ( !isFixed ) { + var scrollPosition = CKEDITOR.document.getWindow().getScrollPosition(); + x += scrollPosition.x; + y += scrollPosition.y; + } + + // Translate coordinate for RTL. + if ( rtl ) { + var dialogSize = this.getSize(), viewPaneSize = CKEDITOR.document.getWindow().getViewPaneSize(); + x = viewPaneSize.width - dialogSize.width - x; + } + + var styles = { 'top': ( y > 0 ? y : 0 ) + 'px' }; + styles[ rtl ? 'right' : 'left' ] = ( x > 0 ? x : 0 ) + 'px'; + + element.setStyles( styles ); + + save && ( this._.moved = 1 ); + }, + + /** + * Gets the dialog's position in the window. + * + * var dialogX = dialogObj.getPosition().x; + * + * @returns {Object} + * @returns {Number} return.x + * @returns {Number} return.y + */ + getPosition: function() { + return CKEDITOR.tools.extend( {}, this._.position ); + }, + + /** + * Shows the dialog box. + * + * dialogObj.show(); + */ + show: function() { + // Insert the dialog's element to the root document. + var element = this._.element; + var definition = this.definition; + if ( !( element.getParent() && element.getParent().equals( CKEDITOR.document.getBody() ) ) ) + element.appendTo( CKEDITOR.document.getBody() ); + else + element.setStyle( 'display', 'block' ); + + // FIREFOX BUG: Fix vanishing caret for Firefox 2 or Gecko 1.8. + if ( CKEDITOR.env.gecko && CKEDITOR.env.version < 10900 ) { + var dialogElement = this.parts.dialog; + dialogElement.setStyle( 'position', 'absolute' ); + setTimeout( function() { + dialogElement.setStyle( 'position', 'fixed' ); + }, 0 ); + } + + + // First, set the dialog to an appropriate size. + this.resize( this._.contentSize && this._.contentSize.width || definition.width || definition.minWidth, this._.contentSize && this._.contentSize.height || definition.height || definition.minHeight ); + + // Reset all inputs back to their default value. + this.reset(); + + // Select the first tab by default. + this.selectPage( this.definition.contents[ 0 ].id ); + + // Set z-index. + if ( CKEDITOR.dialog._.currentZIndex === null ) + CKEDITOR.dialog._.currentZIndex = this._.editor.config.baseFloatZIndex; + this._.element.getFirst().setStyle( 'z-index', CKEDITOR.dialog._.currentZIndex += 10 ); + + // Maintain the dialog ordering and dialog cover. + if ( CKEDITOR.dialog._.currentTop === null ) { + CKEDITOR.dialog._.currentTop = this; + this._.parentDialog = null; + showCover( this._.editor ); + + } else { + this._.parentDialog = CKEDITOR.dialog._.currentTop; + var parentElement = this._.parentDialog.getElement().getFirst(); + parentElement.$.style.zIndex -= Math.floor( this._.editor.config.baseFloatZIndex / 2 ); + CKEDITOR.dialog._.currentTop = this; + } + + element.on( 'keydown', accessKeyDownHandler ); + element.on( CKEDITOR.env.opera ? 'keypress' : 'keyup', accessKeyUpHandler ); + + // Reset the hasFocus state. + this._.hasFocus = false; + + for ( var i in definition.contents ) { + if ( !definition.contents[ i ] ) + continue; + + var content = definition.contents[ i ], + tab = this._.tabs[ content.id ], + requiredContent = content.requiredContent, + enableElements = 0; + + if ( !tab ) + continue; + + for ( var j in this._.contents[ content.id ] ) { + var elem = this._.contents[ content.id ][ j ]; + + if ( elem.type == 'hbox' || elem.type == 'vbox' || !elem.getInputElement() ) + continue; + + if ( elem.requiredContent && !this._.editor.activeFilter.check( elem.requiredContent ) ) + elem.disable(); + else { + elem.enable(); + enableElements++; + } + } + + if ( !enableElements || ( requiredContent && !this._.editor.activeFilter.check( requiredContent ) ) ) + tab[ 0 ].addClass( 'cke_dialog_tab_disabled' ); + else + tab[ 0 ].removeClass( 'cke_dialog_tab_disabled' ); + } + + CKEDITOR.tools.setTimeout( function() { + this.layout(); + resizeWithWindow( this ); + + this.parts.dialog.setStyle( 'visibility', '' ); + + // Execute onLoad for the first show. + this.fireOnce( 'load', {} ); + CKEDITOR.ui.fire( 'ready', this ); + + this.fire( 'show', {} ); + this._.editor.fire( 'dialogShow', this ); + + if ( !this._.parentDialog ) + this._.editor.focusManager.lock(); + + // Save the initial values of the dialog. + this.foreach( function( contentObj ) { + contentObj.setInitValue && contentObj.setInitValue(); + } ); + + }, 100, this ); + }, + + /** + * Rearrange the dialog to its previous position or the middle of the window. + * + * @since 3.5 + */ + layout: function() { + var el = this.parts.dialog; + var dialogSize = this.getSize(); + var win = CKEDITOR.document.getWindow(), + viewSize = win.getViewPaneSize(); + + var posX = ( viewSize.width - dialogSize.width ) / 2, + posY = ( viewSize.height - dialogSize.height ) / 2; + + // Switch to absolute position when viewport is smaller than dialog size. + if ( !CKEDITOR.env.ie6Compat ) { + if ( dialogSize.height + ( posY > 0 ? posY : 0 ) > viewSize.height || + dialogSize.width + ( posX > 0 ? posX : 0 ) > viewSize.width ) + el.setStyle( 'position', 'absolute' ); + else + el.setStyle( 'position', 'fixed' ); + } + + this.move( this._.moved ? this._.position.x : posX, + this._.moved ? this._.position.y : posY ); + }, + + /** + * Executes a function for each UI element. + * + * @param {Function} fn Function to execute for each UI element. + * @returns {CKEDITOR.dialog} The current dialog object. + */ + foreach: function( fn ) { + for ( var i in this._.contents ) { + for ( var j in this._.contents[ i ] ) + fn.call( this, this._.contents[ i ][ j ] ); + } + return this; + }, + + /** + * Resets all input values in the dialog. + * + * dialogObj.reset(); + * + * @method + * @chainable + */ + reset: ( function() { + var fn = function( widget ) { + if ( widget.reset ) + widget.reset( 1 ); + }; + return function() { + this.foreach( fn ); + return this; + }; + } )(), + + + /** + * Calls the {@link CKEDITOR.dialog.definition.uiElement#setup} method of each + * of the UI elements, with the arguments passed through it. + * It is usually being called when the dialog is opened, to put the initial value inside the field. + * + * dialogObj.setupContent(); + * + * var timestamp = ( new Date() ).valueOf(); + * dialogObj.setupContent( timestamp ); + */ + setupContent: function() { + var args = arguments; + this.foreach( function( widget ) { + if ( widget.setup ) + widget.setup.apply( widget, args ); + } ); + }, + + /** + * Calls the {@link CKEDITOR.dialog.definition.uiElement#commit} method of each + * of the UI elements, with the arguments passed through it. + * It is usually being called when the user confirms the dialog, to process the values. + * + * dialogObj.commitContent(); + * + * var timestamp = ( new Date() ).valueOf(); + * dialogObj.commitContent( timestamp ); + */ + commitContent: function() { + var args = arguments; + this.foreach( function( widget ) { + // Make sure IE triggers "change" event on last focused input before closing the dialog. (#7915) + if ( CKEDITOR.env.ie && this._.currentFocusIndex == widget.focusIndex ) + widget.getInputElement().$.blur(); + + if ( widget.commit ) + widget.commit.apply( widget, args ); + } ); + }, + + /** + * Hides the dialog box. + * + * dialogObj.hide(); + */ + hide: function() { + if ( !this.parts.dialog.isVisible() ) + return; + + this.fire( 'hide', {} ); + this._.editor.fire( 'dialogHide', this ); + // Reset the tab page. + this.selectPage( this._.tabIdList[ 0 ] ); + var element = this._.element; + element.setStyle( 'display', 'none' ); + this.parts.dialog.setStyle( 'visibility', 'hidden' ); + // Unregister all access keys associated with this dialog. + unregisterAccessKey( this ); + + // Close any child(top) dialogs first. + while ( CKEDITOR.dialog._.currentTop != this ) + CKEDITOR.dialog._.currentTop.hide(); + + // Maintain dialog ordering and remove cover if needed. + if ( !this._.parentDialog ) + hideCover( this._.editor ); + else { + var parentElement = this._.parentDialog.getElement().getFirst(); + parentElement.setStyle( 'z-index', parseInt( parentElement.$.style.zIndex, 10 ) + Math.floor( this._.editor.config.baseFloatZIndex / 2 ) ); + } + CKEDITOR.dialog._.currentTop = this._.parentDialog; + + // Deduct or clear the z-index. + if ( !this._.parentDialog ) { + CKEDITOR.dialog._.currentZIndex = null; + + // Remove access key handlers. + element.removeListener( 'keydown', accessKeyDownHandler ); + element.removeListener( CKEDITOR.env.opera ? 'keypress' : 'keyup', accessKeyUpHandler ); + + var editor = this._.editor; + editor.focus(); + + // Give a while before unlock, waiting for focus to return to the editable. (#172) + setTimeout( function() { editor.focusManager.unlock(); }, 0 ); + + } else + CKEDITOR.dialog._.currentZIndex -= 10; + + delete this._.parentDialog; + // Reset the initial values of the dialog. + this.foreach( function( contentObj ) { + contentObj.resetInitValue && contentObj.resetInitValue(); + } ); + }, + + /** + * Adds a tabbed page into the dialog. + * + * @param {Object} contents Content definition. + */ + addPage: function( contents ) { + if ( contents.requiredContent && !this._.editor.filter.check( contents.requiredContent ) ) + return; + + var pageHtml = [], + titleHtml = contents.label ? ' title="' + CKEDITOR.tools.htmlEncode( contents.label ) + '"' : '', + elements = contents.elements, + vbox = CKEDITOR.dialog._.uiElementBuilders.vbox.build( this, { + type: 'vbox', + className: 'cke_dialog_page_contents', + children: contents.elements, + expand: !!contents.expand, + padding: contents.padding, + style: contents.style || 'width: 100%;' + }, pageHtml ); + + var contentMap = this._.contents[ contents.id ] = {}, + cursor, + children = vbox.getChild(), + enabledFields = 0; + + while ( ( cursor = children.shift() ) ) { + // Count all allowed fields. + if ( !cursor.notAllowed && cursor.type != 'hbox' && cursor.type != 'vbox' ) + enabledFields++; + + contentMap[ cursor.id ] = cursor; + if ( typeof( cursor.getChild ) == 'function' ) + children.push.apply( children, cursor.getChild() ); + } + + // If all fields are disabled (because they are not allowed) hide this tab. + if ( !enabledFields ) + contents.hidden = true; + + // Create the HTML for the tab and the content block. + var page = CKEDITOR.dom.element.createFromHtml( pageHtml.join( '' ) ); + page.setAttribute( 'role', 'tabpanel' ); + + var env = CKEDITOR.env; + var tabId = 'cke_' + contents.id + '_' + CKEDITOR.tools.getNextNumber(), + tab = CKEDITOR.dom.element.createFromHtml( [ + ' 0 ? ' cke_last' : 'cke_first' ), + titleHtml, + ( !!contents.hidden ? ' style="display:none"' : '' ), + ' id="', tabId, '"', + env.gecko && env.version >= 10900 && !env.hc ? '' : ' href="javascript:void(0)"', + ' tabIndex="-1"', + ' hidefocus="true"', + ' role="tab">', + contents.label, + '' + ].join( '' ) ); + + page.setAttribute( 'aria-labelledby', tabId ); + + // Take records for the tabs and elements created. + this._.tabs[ contents.id ] = [ tab, page ]; + this._.tabIdList.push( contents.id ); + !contents.hidden && this._.pageCount++; + this._.lastTab = tab; + this.updateStyle(); + + // Attach the DOM nodes. + + page.setAttribute( 'name', contents.id ); + page.appendTo( this.parts.contents ); + + tab.unselectable(); + this.parts.tabs.append( tab ); + + // Add access key handlers if access key is defined. + if ( contents.accessKey ) { + registerAccessKey( this, this, 'CTRL+' + contents.accessKey, tabAccessKeyDown, tabAccessKeyUp ); + this._.accessKeyMap[ 'CTRL+' + contents.accessKey ] = contents.id; + } + }, + + /** + * Activates a tab page in the dialog by its id. + * + * dialogObj.selectPage( 'tab_1' ); + * + * @param {String} id The id of the dialog tab to be activated. + */ + selectPage: function( id ) { + if ( this._.currentTabId == id ) + return; + + if ( this._.tabs[ id ][ 0 ].hasClass( 'cke_dialog_tab_disabled' ) ) + return; + + // If event was canceled - do nothing. + if ( this.fire( 'selectPage', { page: id, currentPage: this._.currentTabId } ) === false ) + return; + + // Hide the non-selected tabs and pages. + for ( var i in this._.tabs ) { + var tab = this._.tabs[ i ][ 0 ], + page = this._.tabs[ i ][ 1 ]; + if ( i != id ) { + tab.removeClass( 'cke_dialog_tab_selected' ); + page.hide(); + } + page.setAttribute( 'aria-hidden', i != id ); + } + + var selected = this._.tabs[ id ]; + selected[ 0 ].addClass( 'cke_dialog_tab_selected' ); + + // [IE] an invisible input[type='text'] will enlarge it's width + // if it's value is long when it shows, so we clear it's value + // before it shows and then recover it (#5649) + if ( CKEDITOR.env.ie6Compat || CKEDITOR.env.ie7Compat ) { + clearOrRecoverTextInputValue( selected[ 1 ] ); + selected[ 1 ].show(); + setTimeout( function() { + clearOrRecoverTextInputValue( selected[ 1 ], 1 ); + }, 0 ); + } else + selected[ 1 ].show(); + + this._.currentTabId = id; + this._.currentTabIndex = CKEDITOR.tools.indexOf( this._.tabIdList, id ); + }, + + /** + * Dialog state-specific style updates. + */ + updateStyle: function() { + // If only a single page shown, a different style is used in the central pane. + this.parts.dialog[ ( this._.pageCount === 1 ? 'add' : 'remove' ) + 'Class' ]( 'cke_single_page' ); + }, + + /** + * Hides a page's tab away from the dialog. + * + * dialog.hidePage( 'tab_3' ); + * + * @param {String} id The page's Id. + */ + hidePage: function( id ) { + var tab = this._.tabs[ id ] && this._.tabs[ id ][ 0 ]; + if ( !tab || this._.pageCount == 1 || !tab.isVisible() ) + return; + // Switch to other tab first when we're hiding the active tab. + else if ( id == this._.currentTabId ) + this.selectPage( getPreviousVisibleTab.call( this ) ); + + tab.hide(); + this._.pageCount--; + this.updateStyle(); + }, + + /** + * Unhides a page's tab. + * + * dialog.showPage( 'tab_2' ); + * + * @param {String} id The page's Id. + */ + showPage: function( id ) { + var tab = this._.tabs[ id ] && this._.tabs[ id ][ 0 ]; + if ( !tab ) + return; + tab.show(); + this._.pageCount++; + this.updateStyle(); + }, + + /** + * Gets the root DOM element of the dialog. + * + * var dialogElement = dialogObj.getElement().getFirst(); + * dialogElement.setStyle( 'padding', '5px' ); + * + * @returns {CKEDITOR.dom.element} The `` element containing this dialog. + */ + getElement: function() { + return this._.element; + }, + + /** + * Gets the name of the dialog. + * + * var dialogName = dialogObj.getName(); + * + * @returns {String} The name of this dialog. + */ + getName: function() { + return this._.name; + }, + + /** + * Gets a dialog UI element object from a dialog page. + * + * dialogObj.getContentElement( 'tabId', 'elementId' ).setValue( 'Example' ); + * + * @param {String} pageId id of dialog page. + * @param {String} elementId id of UI element. + * @returns {CKEDITOR.ui.dialog.uiElement} The dialog UI element. + */ + getContentElement: function( pageId, elementId ) { + var page = this._.contents[ pageId ]; + return page && page[ elementId ]; + }, + + /** + * Gets the value of a dialog UI element. + * + * alert( dialogObj.getValueOf( 'tabId', 'elementId' ) ); + * + * @param {String} pageId id of dialog page. + * @param {String} elementId id of UI element. + * @returns {Object} The value of the UI element. + */ + getValueOf: function( pageId, elementId ) { + return this.getContentElement( pageId, elementId ).getValue(); + }, + + /** + * Sets the value of a dialog UI element. + * + * dialogObj.setValueOf( 'tabId', 'elementId', 'Example' ); + * + * @param {String} pageId id of the dialog page. + * @param {String} elementId id of the UI element. + * @param {Object} value The new value of the UI element. + */ + setValueOf: function( pageId, elementId, value ) { + return this.getContentElement( pageId, elementId ).setValue( value ); + }, + + /** + * Gets the UI element of a button in the dialog's button row. + * + * @returns {CKEDITOR.ui.dialog.button} The button object. + * + * @param {String} id The id of the button. + */ + getButton: function( id ) { + return this._.buttons[ id ]; + }, + + /** + * Simulates a click to a dialog button in the dialog's button row. + * + * @returns The return value of the dialog's `click` event. + * + * @param {String} id The id of the button. + */ + click: function( id ) { + return this._.buttons[ id ].click(); + }, + + /** + * Disables a dialog button. + * + * @param {String} id The id of the button. + */ + disableButton: function( id ) { + return this._.buttons[ id ].disable(); + }, + + /** + * Enables a dialog button. + * + * @param {String} id The id of the button. + */ + enableButton: function( id ) { + return this._.buttons[ id ].enable(); + }, + + /** + * Gets the number of pages in the dialog. + * + * @returns {Number} Page count. + */ + getPageCount: function() { + return this._.pageCount; + }, + + /** + * Gets the editor instance which opened this dialog. + * + * @returns {CKEDITOR.editor} Parent editor instances. + */ + getParentEditor: function() { + return this._.editor; + }, + + /** + * Gets the element that was selected when opening the dialog, if any. + * + * @returns {CKEDITOR.dom.element} The element that was selected, or `null`. + */ + getSelectedElement: function() { + return this.getParentEditor().getSelection().getSelectedElement(); + }, + + /** + * Adds element to dialog's focusable list. + * + * @param {CKEDITOR.dom.element} element + * @param {Number} [index] + */ + addFocusable: function( element, index ) { + if ( typeof index == 'undefined' ) { + index = this._.focusList.length; + this._.focusList.push( new Focusable( this, element, index ) ); + } else { + this._.focusList.splice( index, 0, new Focusable( this, element, index ) ); + for ( var i = index + 1; i < this._.focusList.length; i++ ) + this._.focusList[ i ].focusIndex++; + } + } + }; + + CKEDITOR.tools.extend( CKEDITOR.dialog, { + /** + * Registers a dialog. + * + * // Full sample plugin, which does not only register a dialog window but also adds an item to the context menu. + * // To open the dialog window, choose "Open dialog" in the context menu. + * CKEDITOR.plugins.add( 'myplugin', { + * init: function( editor ) { + * editor.addCommand( 'mydialog',new CKEDITOR.dialogCommand( 'mydialog' ) ); + * + * if ( editor.contextMenu ) { + * editor.addMenuGroup( 'mygroup', 10 ); + * editor.addMenuItem( 'My Dialog', { + * label: 'Open dialog', + * command: 'mydialog', + * group: 'mygroup' + * } ); + * editor.contextMenu.addListener( function( element ) { + * return { 'My Dialog': CKEDITOR.TRISTATE_OFF }; + * } ); + * } + * + * CKEDITOR.dialog.add( 'mydialog', function( api ) { + * // CKEDITOR.dialog.definition + * var dialogDefinition = { + * title: 'Sample dialog', + * minWidth: 390, + * minHeight: 130, + * contents: [ + * { + * id: 'tab1', + * label: 'Label', + * title: 'Title', + * expand: true, + * padding: 0, + * elements: [ + * { + * type: 'html', + * html: '

    This is some sample HTML content.

    ' + * }, + * { + * type: 'textarea', + * id: 'textareaId', + * rows: 4, + * cols: 40 + * } + * ] + * } + * ], + * buttons: [ CKEDITOR.dialog.okButton, CKEDITOR.dialog.cancelButton ], + * onOk: function() { + * // "this" is now a CKEDITOR.dialog object. + * // Accessing dialog elements: + * var textareaObj = this.getContentElement( 'tab1', 'textareaId' ); + * alert( "You have entered: " + textareaObj.getValue() ); + * } + * }; + * + * return dialogDefinition; + * } ); + * } + * } ); + * + * CKEDITOR.replace( 'editor1', { extraPlugins: 'myplugin' } ); + * + * @static + * @param {String} name The dialog's name. + * @param {Function/String} dialogDefinition + * A function returning the dialog's definition, or the URL to the `.js` file holding the function. + * The function should accept an argument `editor` which is the current editor instance, and + * return an object conforming to {@link CKEDITOR.dialog.definition}. + * @see CKEDITOR.dialog.definition + */ + add: function( name, dialogDefinition ) { + // Avoid path registration from multiple instances override definition. + if ( !this._.dialogDefinitions[ name ] || typeof dialogDefinition == 'function' ) + this._.dialogDefinitions[ name ] = dialogDefinition; + }, + + /** + * @static + * @todo + */ + exists: function( name ) { + return !!this._.dialogDefinitions[ name ]; + }, + + /** + * @static + * @todo + */ + getCurrent: function() { + return CKEDITOR.dialog._.currentTop; + }, + + /** + * Check whether tab wasn't removed by {@link CKEDITOR.config#removeDialogTabs}. + * + * @since 4.1 + * @static + * @param {CKEDITOR.editor} editor + * @param {String} dialogName + * @param {String} tabName + * @returns {Boolean} + */ + isTabEnabled: function( editor, dialogName, tabName ) { + var cfg = editor.config.removeDialogTabs; + + return !( cfg && cfg.match( new RegExp( '(?:^|;)' + dialogName + ':' + tabName + '(?:$|;)', 'i' ) ) ); + }, + + /** + * The default OK button for dialogs. Fires the `ok` event and closes the dialog if the event succeeds. + * + * @static + * @method + */ + okButton: ( function() { + var retval = function( editor, override ) { + override = override || {}; + return CKEDITOR.tools.extend( { + id: 'ok', + type: 'button', + label: editor.lang.common.ok, + 'class': 'cke_dialog_ui_button_ok', + onClick: function( evt ) { + var dialog = evt.data.dialog; + if ( dialog.fire( 'ok', { hide: true } ).hide !== false ) + dialog.hide(); + } + }, override, true ); + }; + retval.type = 'button'; + retval.override = function( override ) { + return CKEDITOR.tools.extend( function( editor ) { + return retval( editor, override ); + }, { type: 'button' }, true ); + }; + return retval; + } )(), + + /** + * The default cancel button for dialogs. Fires the `cancel` event and + * closes the dialog if no UI element value changed. + * + * @static + * @method + */ + cancelButton: ( function() { + var retval = function( editor, override ) { + override = override || {}; + return CKEDITOR.tools.extend( { + id: 'cancel', + type: 'button', + label: editor.lang.common.cancel, + 'class': 'cke_dialog_ui_button_cancel', + onClick: function( evt ) { + var dialog = evt.data.dialog; + if ( dialog.fire( 'cancel', { hide: true } ).hide !== false ) + dialog.hide(); + } + }, override, true ); + }; + retval.type = 'button'; + retval.override = function( override ) { + return CKEDITOR.tools.extend( function( editor ) { + return retval( editor, override ); + }, { type: 'button' }, true ); + }; + return retval; + } )(), + + /** + * Registers a dialog UI element. + * + * @static + * @param {String} typeName The name of the UI element. + * @param {Function} builder The function to build the UI element. + */ + addUIElement: function( typeName, builder ) { + this._.uiElementBuilders[ typeName ] = builder; + } + } ); + + CKEDITOR.dialog._ = { + uiElementBuilders: {}, + + dialogDefinitions: {}, + + currentTop: null, + + currentZIndex: null + }; + + // "Inherit" (copy actually) from CKEDITOR.event. + CKEDITOR.event.implementOn( CKEDITOR.dialog ); + CKEDITOR.event.implementOn( CKEDITOR.dialog.prototype ); + + var defaultDialogDefinition = { + resizable: CKEDITOR.DIALOG_RESIZE_BOTH, + minWidth: 600, + minHeight: 400, + buttons: [ CKEDITOR.dialog.okButton, CKEDITOR.dialog.cancelButton ] + }; + + // Tool function used to return an item from an array based on its id + // property. + var getById = function( array, id, recurse ) { + for ( var i = 0, item; + ( item = array[ i ] ); i++ ) { + if ( item.id == id ) + return item; + if ( recurse && item[ recurse ] ) { + var retval = getById( item[ recurse ], id, recurse ); + if ( retval ) + return retval; + } + } + return null; + }; + + // Tool function used to add an item into an array. + var addById = function( array, newItem, nextSiblingId, recurse, nullIfNotFound ) { + if ( nextSiblingId ) { + for ( var i = 0, item; + ( item = array[ i ] ); i++ ) { + if ( item.id == nextSiblingId ) { + array.splice( i, 0, newItem ); + return newItem; + } + + if ( recurse && item[ recurse ] ) { + var retval = addById( item[ recurse ], newItem, nextSiblingId, recurse, true ); + if ( retval ) + return retval; + } + } + + if ( nullIfNotFound ) + return null; + } + + array.push( newItem ); + return newItem; + }; + + // Tool function used to remove an item from an array based on its id. + var removeById = function( array, id, recurse ) { + for ( var i = 0, item; + ( item = array[ i ] ); i++ ) { + if ( item.id == id ) + return array.splice( i, 1 ); + if ( recurse && item[ recurse ] ) { + var retval = removeById( item[ recurse ], id, recurse ); + if ( retval ) + return retval; + } + } + return null; + }; + + /** + * This class is not really part of the API. It is the `definition` property value + * passed to `dialogDefinition` event handlers. + * + * CKEDITOR.on( 'dialogDefinition', function( evt ) { + * var definition = evt.data.definition; + * var content = definition.getContents( 'page1' ); + * // ... + * } ); + * + * @private + * @class CKEDITOR.dialog.definitionObject + * @extends CKEDITOR.dialog.definition + * @constructor Creates a definitionObject class instance. + */ + var definitionObject = function( dialog, dialogDefinition ) { + // TODO : Check if needed. + this.dialog = dialog; + + // Transform the contents entries in contentObjects. + var contents = dialogDefinition.contents; + for ( var i = 0, content; + ( content = contents[ i ] ); i++ ) + contents[ i ] = content && new contentObject( dialog, content ); + + CKEDITOR.tools.extend( this, dialogDefinition ); + }; + + definitionObject.prototype = { + /** + * Gets a content definition. + * + * @param {String} id The id of the content definition. + * @returns {CKEDITOR.dialog.definition.content} The content definition matching id. + */ + getContents: function( id ) { + return getById( this.contents, id ); + }, + + /** + * Gets a button definition. + * + * @param {String} id The id of the button definition. + * @returns {CKEDITOR.dialog.definition.button} The button definition matching id. + */ + getButton: function( id ) { + return getById( this.buttons, id ); + }, + + /** + * Adds a content definition object under this dialog definition. + * + * @param {CKEDITOR.dialog.definition.content} contentDefinition The + * content definition. + * @param {String} [nextSiblingId] The id of an existing content + * definition which the new content definition will be inserted + * before. Omit if the new content definition is to be inserted as + * the last item. + * @returns {CKEDITOR.dialog.definition.content} The inserted content definition. + */ + addContents: function( contentDefinition, nextSiblingId ) { + return addById( this.contents, contentDefinition, nextSiblingId ); + }, + + /** + * Adds a button definition object under this dialog definition. + * + * @param {CKEDITOR.dialog.definition.button} buttonDefinition The + * button definition. + * @param {String} [nextSiblingId] The id of an existing button + * definition which the new button definition will be inserted + * before. Omit if the new button definition is to be inserted as + * the last item. + * @returns {CKEDITOR.dialog.definition.button} The inserted button definition. + */ + addButton: function( buttonDefinition, nextSiblingId ) { + return addById( this.buttons, buttonDefinition, nextSiblingId ); + }, + + /** + * Removes a content definition from this dialog definition. + * + * @param {String} id The id of the content definition to be removed. + * @returns {CKEDITOR.dialog.definition.content} The removed content definition. + */ + removeContents: function( id ) { + removeById( this.contents, id ); + }, + + /** + * Removes a button definition from the dialog definition. + * + * @param {String} id The id of the button definition to be removed. + * @returns {CKEDITOR.dialog.definition.button} The removed button definition. + */ + removeButton: function( id ) { + removeById( this.buttons, id ); + } + }; + + /** + * This class is not really part of the API. It is the template of the + * objects representing content pages inside the + * CKEDITOR.dialog.definitionObject. + * + * CKEDITOR.on( 'dialogDefinition', function( evt ) { + * var definition = evt.data.definition; + * var content = definition.getContents( 'page1' ); + * content.remove( 'textInput1' ); + * // ... + * } ); + * + * @private + * @class CKEDITOR.dialog.definition.contentObject + * @constructor Creates a contentObject class instance. + */ + function contentObject( dialog, contentDefinition ) { + this._ = { + dialog: dialog + }; + + CKEDITOR.tools.extend( this, contentDefinition ); + } + + contentObject.prototype = { + /** + * Gets a UI element definition under the content definition. + * + * @param {String} id The id of the UI element definition. + * @returns {CKEDITOR.dialog.definition.uiElement} + */ + get: function( id ) { + return getById( this.elements, id, 'children' ); + }, + + /** + * Adds a UI element definition to the content definition. + * + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition The + * UI elemnet definition to be added. + * @param {String} nextSiblingId The id of an existing UI element + * definition which the new UI element definition will be inserted + * before. Omit if the new button definition is to be inserted as + * the last item. + * @returns {CKEDITOR.dialog.definition.uiElement} The element definition inserted. + */ + add: function( elementDefinition, nextSiblingId ) { + return addById( this.elements, elementDefinition, nextSiblingId, 'children' ); + }, + + /** + * Removes a UI element definition from the content definition. + * + * @param {String} id The id of the UI element definition to be removed. + * @returns {CKEDITOR.dialog.definition.uiElement} The element definition removed. + */ + remove: function( id ) { + removeById( this.elements, id, 'children' ); + } + }; + + function initDragAndDrop( dialog ) { + var lastCoords = null, + abstractDialogCoords = null, + element = dialog.getElement().getFirst(), + editor = dialog.getParentEditor(), + magnetDistance = editor.config.dialog_magnetDistance, + margins = CKEDITOR.skin.margins || [ 0, 0, 0, 0 ]; + + if ( typeof magnetDistance == 'undefined' ) + magnetDistance = 20; + + function mouseMoveHandler( evt ) { + var dialogSize = dialog.getSize(), + viewPaneSize = CKEDITOR.document.getWindow().getViewPaneSize(), + x = evt.data.$.screenX, + y = evt.data.$.screenY, + dx = x - lastCoords.x, + dy = y - lastCoords.y, + realX, realY; + + lastCoords = { x: x, y: y }; + abstractDialogCoords.x += dx; + abstractDialogCoords.y += dy; + + if ( abstractDialogCoords.x + margins[ 3 ] < magnetDistance ) + realX = -margins[ 3 ]; + else if ( abstractDialogCoords.x - margins[ 1 ] > viewPaneSize.width - dialogSize.width - magnetDistance ) + realX = viewPaneSize.width - dialogSize.width + ( editor.lang.dir == 'rtl' ? 0 : margins[ 1 ] ); + else + realX = abstractDialogCoords.x; + + if ( abstractDialogCoords.y + margins[ 0 ] < magnetDistance ) + realY = -margins[ 0 ]; + else if ( abstractDialogCoords.y - margins[ 2 ] > viewPaneSize.height - dialogSize.height - magnetDistance ) + realY = viewPaneSize.height - dialogSize.height + margins[ 2 ]; + else + realY = abstractDialogCoords.y; + + dialog.move( realX, realY, 1 ); + + evt.data.preventDefault(); + } + + function mouseUpHandler( evt ) { + CKEDITOR.document.removeListener( 'mousemove', mouseMoveHandler ); + CKEDITOR.document.removeListener( 'mouseup', mouseUpHandler ); + + if ( CKEDITOR.env.ie6Compat ) { + var coverDoc = currentCover.getChild( 0 ).getFrameDocument(); + coverDoc.removeListener( 'mousemove', mouseMoveHandler ); + coverDoc.removeListener( 'mouseup', mouseUpHandler ); + } + } + + dialog.parts.title.on( 'mousedown', function( evt ) { + lastCoords = { x: evt.data.$.screenX, y: evt.data.$.screenY }; + + CKEDITOR.document.on( 'mousemove', mouseMoveHandler ); + CKEDITOR.document.on( 'mouseup', mouseUpHandler ); + abstractDialogCoords = dialog.getPosition(); + + if ( CKEDITOR.env.ie6Compat ) { + var coverDoc = currentCover.getChild( 0 ).getFrameDocument(); + coverDoc.on( 'mousemove', mouseMoveHandler ); + coverDoc.on( 'mouseup', mouseUpHandler ); + } + + evt.data.preventDefault(); + }, dialog ); + } + + function initResizeHandles( dialog ) { + var def = dialog.definition, + resizable = def.resizable; + + if ( resizable == CKEDITOR.DIALOG_RESIZE_NONE ) + return; + + var editor = dialog.getParentEditor(); + var wrapperWidth, wrapperHeight, viewSize, origin, startSize, dialogCover; + + var mouseDownFn = CKEDITOR.tools.addFunction( function( $event ) { + startSize = dialog.getSize(); + + var content = dialog.parts.contents, + iframeDialog = content.$.getElementsByTagName( 'iframe' ).length; + + // Shim to help capturing "mousemove" over iframe. + if ( iframeDialog ) { + dialogCover = CKEDITOR.dom.element.createFromHtml( '
    ' ); + content.append( dialogCover ); + } + + // Calculate the offset between content and chrome size. + wrapperHeight = startSize.height - dialog.parts.contents.getSize( 'height', !( CKEDITOR.env.gecko || CKEDITOR.env.opera || CKEDITOR.env.ie && CKEDITOR.env.quirks ) ); + wrapperWidth = startSize.width - dialog.parts.contents.getSize( 'width', 1 ); + + origin = { x: $event.screenX, y: $event.screenY }; + + viewSize = CKEDITOR.document.getWindow().getViewPaneSize(); + + CKEDITOR.document.on( 'mousemove', mouseMoveHandler ); + CKEDITOR.document.on( 'mouseup', mouseUpHandler ); + + if ( CKEDITOR.env.ie6Compat ) { + var coverDoc = currentCover.getChild( 0 ).getFrameDocument(); + coverDoc.on( 'mousemove', mouseMoveHandler ); + coverDoc.on( 'mouseup', mouseUpHandler ); + } + + $event.preventDefault && $event.preventDefault(); + } ); + + // Prepend the grip to the dialog. + dialog.on( 'load', function() { + var direction = ''; + if ( resizable == CKEDITOR.DIALOG_RESIZE_WIDTH ) + direction = ' cke_resizer_horizontal'; + else if ( resizable == CKEDITOR.DIALOG_RESIZE_HEIGHT ) + direction = ' cke_resizer_vertical'; + var resizer = CKEDITOR.dom.element.createFromHtml( + '' + + // BLACK LOWER RIGHT TRIANGLE (ltr) + // BLACK LOWER LEFT TRIANGLE (rtl) + ( editor.lang.dir == 'ltr' ? '\u25E2' : '\u25E3' ) + + '' ); + dialog.parts.footer.append( resizer, 1 ); + } ); + editor.on( 'destroy', function() { + CKEDITOR.tools.removeFunction( mouseDownFn ); + } ); + + function mouseMoveHandler( evt ) { + var rtl = editor.lang.dir == 'rtl', + dx = ( evt.data.$.screenX - origin.x ) * ( rtl ? -1 : 1 ), + dy = evt.data.$.screenY - origin.y, + width = startSize.width, + height = startSize.height, + internalWidth = width + dx * ( dialog._.moved ? 1 : 2 ), + internalHeight = height + dy * ( dialog._.moved ? 1 : 2 ), + element = dialog._.element.getFirst(), + right = rtl && element.getComputedStyle( 'right' ), + position = dialog.getPosition(); + + if ( position.y + internalHeight > viewSize.height ) + internalHeight = viewSize.height - position.y; + + if ( ( rtl ? right : position.x ) + internalWidth > viewSize.width ) + internalWidth = viewSize.width - ( rtl ? right : position.x ); + + // Make sure the dialog will not be resized to the wrong side when it's in the leftmost position for RTL. + if ( ( resizable == CKEDITOR.DIALOG_RESIZE_WIDTH || resizable == CKEDITOR.DIALOG_RESIZE_BOTH ) ) + width = Math.max( def.minWidth || 0, internalWidth - wrapperWidth ); + + if ( resizable == CKEDITOR.DIALOG_RESIZE_HEIGHT || resizable == CKEDITOR.DIALOG_RESIZE_BOTH ) + height = Math.max( def.minHeight || 0, internalHeight - wrapperHeight ); + + dialog.resize( width, height ); + + if ( !dialog._.moved ) + dialog.layout(); + + evt.data.preventDefault(); + } + + function mouseUpHandler() { + CKEDITOR.document.removeListener( 'mouseup', mouseUpHandler ); + CKEDITOR.document.removeListener( 'mousemove', mouseMoveHandler ); + + if ( dialogCover ) { + dialogCover.remove(); + dialogCover = null; + } + + if ( CKEDITOR.env.ie6Compat ) { + var coverDoc = currentCover.getChild( 0 ).getFrameDocument(); + coverDoc.removeListener( 'mouseup', mouseUpHandler ); + coverDoc.removeListener( 'mousemove', mouseMoveHandler ); + } + } + } + + var resizeCover; + // Caching resuable covers and allowing only one cover + // on screen. + var covers = {}, + currentCover; + + function cancelEvent( ev ) { + ev.data.preventDefault( 1 ); + } + + function showCover( editor ) { + var win = CKEDITOR.document.getWindow(); + var config = editor.config, + backgroundColorStyle = config.dialog_backgroundCoverColor || 'white', + backgroundCoverOpacity = config.dialog_backgroundCoverOpacity, + baseFloatZIndex = config.baseFloatZIndex, + coverKey = CKEDITOR.tools.genKey( backgroundColorStyle, backgroundCoverOpacity, baseFloatZIndex ), + coverElement = covers[ coverKey ]; + + if ( !coverElement ) { + var html = [ + '
    ' + ]; + + if ( CKEDITOR.env.ie6Compat ) { + // Support for custom document.domain in IE. + var iframeHtml = ''; + + html.push( '' + + '' ); + } + + html.push( '
    ' ); + + coverElement = CKEDITOR.dom.element.createFromHtml( html.join( '' ) ); + coverElement.setOpacity( backgroundCoverOpacity != undefined ? backgroundCoverOpacity : 0.5 ); + + coverElement.on( 'keydown', cancelEvent ); + coverElement.on( 'keypress', cancelEvent ); + coverElement.on( 'keyup', cancelEvent ); + + coverElement.appendTo( CKEDITOR.document.getBody() ); + covers[ coverKey ] = coverElement; + } else + coverElement.show(); + + // Makes the dialog cover a focus holder as well. + editor.focusManager.add( coverElement ); + + currentCover = coverElement; + var resizeFunc = function() { + var size = win.getViewPaneSize(); + coverElement.setStyles( { + width: size.width + 'px', + height: size.height + 'px' + } ); + }; + + var scrollFunc = function() { + var pos = win.getScrollPosition(), + cursor = CKEDITOR.dialog._.currentTop; + coverElement.setStyles( { + left: pos.x + 'px', + top: pos.y + 'px' + } ); + + if ( cursor ) { + do { + var dialogPos = cursor.getPosition(); + cursor.move( dialogPos.x, dialogPos.y ); + } while ( ( cursor = cursor._.parentDialog ) ); + } + }; + + resizeCover = resizeFunc; + win.on( 'resize', resizeFunc ); + resizeFunc(); + // Using Safari/Mac, focus must be kept where it is (#7027) + if ( !( CKEDITOR.env.mac && CKEDITOR.env.webkit ) ) + coverElement.focus(); + + if ( CKEDITOR.env.ie6Compat ) { + // IE BUG: win.$.onscroll assignment doesn't work.. it must be window.onscroll. + // So we need to invent a really funny way to make it work. + var myScrollHandler = function() { + scrollFunc(); + arguments.callee.prevScrollHandler.apply( this, arguments ); + }; + win.$.setTimeout( function() { + myScrollHandler.prevScrollHandler = window.onscroll || + function() {}; + window.onscroll = myScrollHandler; + }, 0 ); + scrollFunc(); + } + } + + function hideCover( editor ) { + if ( !currentCover ) + return; + + editor.focusManager.remove( currentCover ); + var win = CKEDITOR.document.getWindow(); + currentCover.hide(); + win.removeListener( 'resize', resizeCover ); + + if ( CKEDITOR.env.ie6Compat ) { + win.$.setTimeout( function() { + var prevScrollHandler = window.onscroll && window.onscroll.prevScrollHandler; + window.onscroll = prevScrollHandler || null; + }, 0 ); + } + resizeCover = null; + } + + function removeCovers() { + for ( var coverId in covers ) + covers[ coverId ].remove(); + covers = {}; + } + + var accessKeyProcessors = {}; + + var accessKeyDownHandler = function( evt ) { + var ctrl = evt.data.$.ctrlKey || evt.data.$.metaKey, + alt = evt.data.$.altKey, + shift = evt.data.$.shiftKey, + key = String.fromCharCode( evt.data.$.keyCode ), + keyProcessor = accessKeyProcessors[ ( ctrl ? 'CTRL+' : '' ) + ( alt ? 'ALT+' : '' ) + ( shift ? 'SHIFT+' : '' ) + key ]; + + if ( !keyProcessor || !keyProcessor.length ) + return; + + keyProcessor = keyProcessor[ keyProcessor.length - 1 ]; + keyProcessor.keydown && keyProcessor.keydown.call( keyProcessor.uiElement, keyProcessor.dialog, keyProcessor.key ); + evt.data.preventDefault(); + }; + + var accessKeyUpHandler = function( evt ) { + var ctrl = evt.data.$.ctrlKey || evt.data.$.metaKey, + alt = evt.data.$.altKey, + shift = evt.data.$.shiftKey, + key = String.fromCharCode( evt.data.$.keyCode ), + keyProcessor = accessKeyProcessors[ ( ctrl ? 'CTRL+' : '' ) + ( alt ? 'ALT+' : '' ) + ( shift ? 'SHIFT+' : '' ) + key ]; + + if ( !keyProcessor || !keyProcessor.length ) + return; + + keyProcessor = keyProcessor[ keyProcessor.length - 1 ]; + if ( keyProcessor.keyup ) { + keyProcessor.keyup.call( keyProcessor.uiElement, keyProcessor.dialog, keyProcessor.key ); + evt.data.preventDefault(); + } + }; + + var registerAccessKey = function( uiElement, dialog, key, downFunc, upFunc ) { + var procList = accessKeyProcessors[ key ] || ( accessKeyProcessors[ key ] = [] ); + procList.push( { + uiElement: uiElement, + dialog: dialog, + key: key, + keyup: upFunc || uiElement.accessKeyUp, + keydown: downFunc || uiElement.accessKeyDown + } ); + }; + + var unregisterAccessKey = function( obj ) { + for ( var i in accessKeyProcessors ) { + var list = accessKeyProcessors[ i ]; + for ( var j = list.length - 1; j >= 0; j-- ) { + if ( list[ j ].dialog == obj || list[ j ].uiElement == obj ) + list.splice( j, 1 ); + } + if ( list.length === 0 ) + delete accessKeyProcessors[ i ]; + } + }; + + var tabAccessKeyUp = function( dialog, key ) { + if ( dialog._.accessKeyMap[ key ] ) + dialog.selectPage( dialog._.accessKeyMap[ key ] ); + }; + + var tabAccessKeyDown = function( dialog, key ) {}; + + ( function() { + CKEDITOR.ui.dialog = { + /** + * The base class of all dialog UI elements. + * + * @class CKEDITOR.ui.dialog.uiElement + * @constructor Creates a uiElement class instance. + * @param {CKEDITOR.dialog} dialog Parent dialog object. + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition Element + * definition. + * + * Accepted fields: + * + * * `id` (Required) The id of the UI element. See {@link CKEDITOR.dialog#getContentElement}. + * * `type` (Required) The type of the UI element. The + * value to this field specifies which UI element class will be used to + * generate the final widget. + * * `title` (Optional) The popup tooltip for the UI + * element. + * * `hidden` (Optional) A flag that tells if the element + * should be initially visible. + * * `className` (Optional) Additional CSS class names + * to add to the UI element. Separated by space. + * * `style` (Optional) Additional CSS inline styles + * to add to the UI element. A semicolon (;) is required after the last + * style declaration. + * * `accessKey` (Optional) The alphanumeric access key + * for this element. Access keys are automatically prefixed by CTRL. + * * `on*` (Optional) Any UI element definition field that + * starts with `on` followed immediately by a capital letter and + * probably more letters is an event handler. Event handlers may be further + * divided into registered event handlers and DOM event handlers. Please + * refer to {@link CKEDITOR.ui.dialog.uiElement#registerEvents} and + * {@link CKEDITOR.ui.dialog.uiElement#eventProcessors} for more information. + * + * @param {Array} htmlList + * List of HTML code to be added to the dialog's content area. + * @param {Function/String} [nodeNameArg='div'] + * A function returning a string, or a simple string for the node name for + * the root DOM node. + * @param {Function/Object} [stylesArg={}] + * A function returning an object, or a simple object for CSS styles applied + * to the DOM node. + * @param {Function/Object} [attributesArg={}] + * A fucntion returning an object, or a simple object for attributes applied + * to the DOM node. + * @param {Function/String} [contentsArg=''] + * A function returning a string, or a simple string for the HTML code inside + * the root DOM node. Default is empty string. + */ + uiElement: function( dialog, elementDefinition, htmlList, nodeNameArg, stylesArg, attributesArg, contentsArg ) { + if ( arguments.length < 4 ) + return; + + var nodeName = ( nodeNameArg.call ? nodeNameArg( elementDefinition ) : nodeNameArg ) || 'div', + html = [ '<', nodeName, ' ' ], + styles = ( stylesArg && stylesArg.call ? stylesArg( elementDefinition ) : stylesArg ) || {}, + attributes = ( attributesArg && attributesArg.call ? attributesArg( elementDefinition ) : attributesArg ) || {}, + innerHTML = ( contentsArg && contentsArg.call ? contentsArg.call( this, dialog, elementDefinition ) : contentsArg ) || '', + domId = this.domId = attributes.id || CKEDITOR.tools.getNextId() + '_uiElement', + id = this.id = elementDefinition.id, + i; + + if ( elementDefinition.requiredContent && !dialog.getParentEditor().filter.check( elementDefinition.requiredContent ) ) { + styles.display = 'none'; + this.notAllowed = true; + } + + // Set the id, a unique id is required for getElement() to work. + attributes.id = domId; + + // Set the type and definition CSS class names. + var classes = {}; + if ( elementDefinition.type ) + classes[ 'cke_dialog_ui_' + elementDefinition.type ] = 1; + if ( elementDefinition.className ) + classes[ elementDefinition.className ] = 1; + if ( elementDefinition.disabled ) + classes[ 'cke_disabled' ] = 1; + + var attributeClasses = ( attributes[ 'class' ] && attributes[ 'class' ].split ) ? attributes[ 'class' ].split( ' ' ) : []; + for ( i = 0; i < attributeClasses.length; i++ ) { + if ( attributeClasses[ i ] ) + classes[ attributeClasses[ i ] ] = 1; + } + var finalClasses = []; + for ( i in classes ) + finalClasses.push( i ); + attributes[ 'class' ] = finalClasses.join( ' ' ); + + // Set the popup tooltop. + if ( elementDefinition.title ) + attributes.title = elementDefinition.title; + + // Write the inline CSS styles. + var styleStr = ( elementDefinition.style || '' ).split( ';' ); + + // Element alignment support. + if ( elementDefinition.align ) { + var align = elementDefinition.align; + styles[ 'margin-left' ] = align == 'left' ? 0 : 'auto'; + styles[ 'margin-right' ] = align == 'right' ? 0 : 'auto'; + } + + for ( i in styles ) + styleStr.push( i + ':' + styles[ i ] ); + if ( elementDefinition.hidden ) + styleStr.push( 'display:none' ); + for ( i = styleStr.length - 1; i >= 0; i-- ) { + if ( styleStr[ i ] === '' ) + styleStr.splice( i, 1 ); + } + if ( styleStr.length > 0 ) + attributes.style = ( attributes.style ? ( attributes.style + '; ' ) : '' ) + styleStr.join( '; ' ); + + // Write the attributes. + for ( i in attributes ) + html.push( i + '="' + CKEDITOR.tools.htmlEncode( attributes[ i ] ) + '" ' ); + + // Write the content HTML. + html.push( '>', innerHTML, '' ); + + // Add contents to the parent HTML array. + htmlList.push( html.join( '' ) ); + + ( this._ || ( this._ = {} ) ).dialog = dialog; + + // Override isChanged if it is defined in element definition. + if ( typeof( elementDefinition.isChanged ) == 'boolean' ) + this.isChanged = function() { + return elementDefinition.isChanged; + }; + if ( typeof( elementDefinition.isChanged ) == 'function' ) + this.isChanged = elementDefinition.isChanged; + + // Overload 'get(set)Value' on definition. + if ( typeof( elementDefinition.setValue ) == 'function' ) { + this.setValue = CKEDITOR.tools.override( this.setValue, function( org ) { + return function( val ) { + org.call( this, elementDefinition.setValue.call( this, val ) ); + }; + } ); + } + + if ( typeof( elementDefinition.getValue ) == 'function' ) { + this.getValue = CKEDITOR.tools.override( this.getValue, function( org ) { + return function() { + return elementDefinition.getValue.call( this, org.call( this ) ); + }; + } ); + } + + // Add events. + CKEDITOR.event.implementOn( this ); + + this.registerEvents( elementDefinition ); + if ( this.accessKeyUp && this.accessKeyDown && elementDefinition.accessKey ) + registerAccessKey( this, dialog, 'CTRL+' + elementDefinition.accessKey ); + + var me = this; + dialog.on( 'load', function() { + var input = me.getInputElement(); + if ( input ) { + var focusClass = me.type in { 'checkbox': 1, 'ratio': 1 } && CKEDITOR.env.ie && CKEDITOR.env.version < 8 ? 'cke_dialog_ui_focused' : ''; + input.on( 'focus', function() { + dialog._.tabBarMode = false; + dialog._.hasFocus = true; + me.fire( 'focus' ); + focusClass && this.addClass( focusClass ); + + } ); + + input.on( 'blur', function() { + me.fire( 'blur' ); + focusClass && this.removeClass( focusClass ); + } ); + } + } ); + + // Completes this object with everything we have in the + // definition. + CKEDITOR.tools.extend( this, elementDefinition ); + + // Register the object as a tab focus if it can be included. + if ( this.keyboardFocusable ) { + this.tabIndex = elementDefinition.tabIndex || 0; + + this.focusIndex = dialog._.focusList.push( this ) - 1; + this.on( 'focus', function() { + dialog._.currentFocusIndex = me.focusIndex; + } ); + } + }, + + /** + * Horizontal layout box for dialog UI elements, auto-expends to available width of container. + * + * @class CKEDITOR.ui.dialog.hbox + * @extends CKEDITOR.ui.dialog.uiElement + * @constructor Creates a hbox class instance. + * @param {CKEDITOR.dialog} dialog Parent dialog object. + * @param {Array} childObjList + * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this container. + * @param {Array} childHtmlList + * Array of HTML code that correspond to the HTML output of all the + * objects in childObjList. + * @param {Array} htmlList + * Array of HTML code that this element will output to. + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition + * The element definition. Accepted fields: + * + * * `widths` (Optional) The widths of child cells. + * * `height` (Optional) The height of the layout. + * * `padding` (Optional) The padding width inside child cells. + * * `align` (Optional) The alignment of the whole layout. + */ + hbox: function( dialog, childObjList, childHtmlList, htmlList, elementDefinition ) { + if ( arguments.length < 4 ) + return; + + this._ || ( this._ = {} ); + + var children = this._.children = childObjList, + widths = elementDefinition && elementDefinition.widths || null, + height = elementDefinition && elementDefinition.height || null, + styles = {}, + i; + /** @ignore */ + var innerHTML = function() { + var html = [ '
    ' ); + for ( var i = 0; i < childHtmlList.length; i++ ) { + var styles = []; + html.push( '' ); + } + html.push( '
    0 ) + html.push( 'style="', styles.join( '; ' ), '" ' ); + html.push( ' class="cke_dialog_ui_vbox_child">', childHtmlList[ i ], '
    ' ); + return html.join( '' ); + }; + CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition || { type: 'vbox' }, htmlList, 'div', null, { role: 'presentation' }, innerHTML ); + } + }; + } )(); + + /** @class CKEDITOR.ui.dialog.uiElement */ + CKEDITOR.ui.dialog.uiElement.prototype = { + /** + * Gets the root DOM element of this dialog UI object. + * + * uiElement.getElement().hide(); + * + * @returns {CKEDITOR.dom.element} Root DOM element of UI object. + */ + getElement: function() { + return CKEDITOR.document.getById( this.domId ); + }, + + /** + * Gets the DOM element that the user inputs values. + * + * This function is used by {@link #setValue}, {@link #getValue} and {@link #focus}. It should + * be overrided in child classes where the input element isn't the root + * element. + * + * var rawValue = textInput.getInputElement().$.value; + * + * @returns {CKEDITOR.dom.element} The element where the user input values. + */ + getInputElement: function() { + return this.getElement(); + }, + + /** + * Gets the parent dialog object containing this UI element. + * + * var dialog = uiElement.getDialog(); + * + * @returns {CKEDITOR.dialog} Parent dialog object. + */ + getDialog: function() { + return this._.dialog; + }, + + /** + * Sets the value of this dialog UI object. + * + * uiElement.setValue( 'Dingo' ); + * + * @chainable + * @param {Object} value The new value. + * @param {Boolean} noChangeEvent Internal commit, to supress `change` event on this element. + */ + setValue: function( value, noChangeEvent ) { + this.getInputElement().setValue( value ); + !noChangeEvent && this.fire( 'change', { value: value } ); + return this; + }, + + /** + * Gets the current value of this dialog UI object. + * + * var myValue = uiElement.getValue(); + * + * @returns {Object} The current value. + */ + getValue: function() { + return this.getInputElement().getValue(); + }, + + /** + * Tells whether the UI object's value has changed. + * + * if ( uiElement.isChanged() ) + * confirm( 'Value changed! Continue?' ); + * + * @returns {Boolean} `true` if changed, `false` if not changed. + */ + isChanged: function() { + // Override in input classes. + return false; + }, + + /** + * Selects the parent tab of this element. Usually called by focus() or overridden focus() methods. + * + * focus : function() { + * this.selectParentTab(); + * // do something else. + * } + * + * @chainable + */ + selectParentTab: function() { + var element = this.getInputElement(), + cursor = element, + tabId; + while ( ( cursor = cursor.getParent() ) && cursor.$.className.search( 'cke_dialog_page_contents' ) == -1 ) { + /*jsl:pass*/ + } + + // Some widgets don't have parent tabs (e.g. OK and Cancel buttons). + if ( !cursor ) + return this; + + tabId = cursor.getAttribute( 'name' ); + // Avoid duplicate select. + if ( this._.dialog._.currentTabId != tabId ) + this._.dialog.selectPage( tabId ); + return this; + }, + + /** + * Puts the focus to the UI object. Switches tabs if the UI object isn't in the active tab page. + * + * uiElement.focus(); + * + * @chainable + */ + focus: function() { + this.selectParentTab().getInputElement().focus(); + return this; + }, + + /** + * Registers the `on*` event handlers defined in the element definition. + * + * The default behavior of this function is: + * + * 1. If the on* event is defined in the class's eventProcesors list, + * then the registration is delegated to the corresponding function + * in the eventProcessors list. + * 2. If the on* event is not defined in the eventProcessors list, then + * register the event handler under the corresponding DOM event of + * the UI element's input DOM element (as defined by the return value + * of {@link #getInputElement}). + * + * This function is only called at UI element instantiation, but can + * be overridded in child classes if they require more flexibility. + * + * @chainable + * @param {CKEDITOR.dialog.definition.uiElement} definition The UI element + * definition. + */ + registerEvents: function( definition ) { + var regex = /^on([A-Z]\w+)/, + match; + + var registerDomEvent = function( uiElement, dialog, eventName, func ) { + dialog.on( 'load', function() { + uiElement.getInputElement().on( eventName, func, uiElement ); + } ); + }; + + for ( var i in definition ) { + if ( !( match = i.match( regex ) ) ) + continue; + if ( this.eventProcessors[ i ] ) + this.eventProcessors[ i ].call( this, this._.dialog, definition[ i ] ); + else + registerDomEvent( this, this._.dialog, match[ 1 ].toLowerCase(), definition[ i ] ); + } + + return this; + }, + + /** + * The event processor list used by + * {@link CKEDITOR.ui.dialog.uiElement#getInputElement} at UI element + * instantiation. The default list defines three `on*` events: + * + * 1. `onLoad` - Called when the element's parent dialog opens for the + * first time. + * 2. `onShow` - Called whenever the element's parent dialog opens. + * 3. `onHide` - Called whenever the element's parent dialog closes. + * + * // This connects the 'click' event in CKEDITOR.ui.dialog.button to onClick + * // handlers in the UI element's definitions. + * CKEDITOR.ui.dialog.button.eventProcessors = CKEDITOR.tools.extend( {}, + * CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors, + * { onClick : function( dialog, func ) { this.on( 'click', func ); } }, + * true + * ); + * + * @property {Object} + */ + eventProcessors: { + onLoad: function( dialog, func ) { + dialog.on( 'load', func, this ); + }, + + onShow: function( dialog, func ) { + dialog.on( 'show', func, this ); + }, + + onHide: function( dialog, func ) { + dialog.on( 'hide', func, this ); + } + }, + + /** + * The default handler for a UI element's access key down event, which + * tries to put focus to the UI element. + * + * Can be overridded in child classes for more sophisticaed behavior. + * + * @param {CKEDITOR.dialog} dialog The parent dialog object. + * @param {String} key The key combination pressed. Since access keys + * are defined to always include the `CTRL` key, its value should always + * include a `'CTRL+'` prefix. + */ + accessKeyDown: function( dialog, key ) { + this.focus(); + }, + + /** + * The default handler for a UI element's access key up event, which + * does nothing. + * + * Can be overridded in child classes for more sophisticated behavior. + * + * @param {CKEDITOR.dialog} dialog The parent dialog object. + * @param {String} key The key combination pressed. Since access keys + * are defined to always include the `CTRL` key, its value should always + * include a `'CTRL+'` prefix. + */ + accessKeyUp: function( dialog, key ) {}, + + /** + * Disables a UI element. + */ + disable: function() { + var element = this.getElement(), + input = this.getInputElement(); + input.setAttribute( 'disabled', 'true' ); + element.addClass( 'cke_disabled' ); + }, + + /** + * Enables a UI element. + */ + enable: function() { + var element = this.getElement(), + input = this.getInputElement(); + input.removeAttribute( 'disabled' ); + element.removeClass( 'cke_disabled' ); + }, + + /** + * Determines whether an UI element is enabled or not. + * + * @returns {Boolean} Whether the UI element is enabled. + */ + isEnabled: function() { + return !this.getElement().hasClass( 'cke_disabled' ); + }, + + /** + * Determines whether an UI element is visible or not. + * + * @returns {Boolean} Whether the UI element is visible. + */ + isVisible: function() { + return this.getInputElement().isVisible(); + }, + + /** + * Determines whether an UI element is focus-able or not. + * Focus-able is defined as being both visible and enabled. + * + * @returns {Boolean} Whether the UI element can be focused. + */ + isFocusable: function() { + if ( !this.isEnabled() || !this.isVisible() ) + return false; + return true; + } + }; + + /** @class CKEDITOR.ui.dialog.hbox */ + CKEDITOR.ui.dialog.hbox.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.uiElement, { + /** + * Gets a child UI element inside this container. + * + * var checkbox = hbox.getChild( [0,1] ); + * checkbox.setValue( true ); + * + * @param {Array/Number} indices An array or a single number to indicate the child's + * position in the container's descendant tree. Omit to get all the children in an array. + * @returns {Array/CKEDITOR.ui.dialog.uiElement} Array of all UI elements in the container + * if no argument given, or the specified UI element if indices is given. + */ + getChild: function( indices ) { + // If no arguments, return a clone of the children array. + if ( arguments.length < 1 ) + return this._.children.concat(); + + // If indices isn't array, make it one. + if ( !indices.splice ) + indices = [ indices ]; + + // Retrieve the child element according to tree position. + if ( indices.length < 2 ) + return this._.children[ indices[ 0 ] ]; + else + return ( this._.children[ indices[ 0 ] ] && this._.children[ indices[ 0 ] ].getChild ) ? this._.children[ indices[ 0 ] ].getChild( indices.slice( 1, indices.length ) ) : null; + } + }, true ); + + CKEDITOR.ui.dialog.vbox.prototype = new CKEDITOR.ui.dialog.hbox(); + + ( function() { + var commonBuilder = { + build: function( dialog, elementDefinition, output ) { + var children = elementDefinition.children, + child, + childHtmlList = [], + childObjList = []; + for ( var i = 0; + ( i < children.length && ( child = children[ i ] ) ); i++ ) { + var childHtml = []; + childHtmlList.push( childHtml ); + childObjList.push( CKEDITOR.dialog._.uiElementBuilders[ child.type ].build( dialog, child, childHtml ) ); + } + return new CKEDITOR.ui.dialog[ elementDefinition.type ]( dialog, childObjList, childHtmlList, output, elementDefinition ); + } + }; + + CKEDITOR.dialog.addUIElement( 'hbox', commonBuilder ); + CKEDITOR.dialog.addUIElement( 'vbox', commonBuilder ); + } )(); + + /** + * Generic dialog command. It opens a specific dialog when executed. + * + * // Register the "link" command, which opens the "link" dialog. + * editor.addCommand( 'link', new CKEDITOR.dialogCommand( 'link' ) ); + * + * @class + * @constructor Creates a dialogCommand class instance. + * @extends CKEDITOR.commandDefinition + * @param {String} dialogName The name of the dialog to open when executing + * this command. + * @param {Object} [ext] Additional command definition's properties. + */ + CKEDITOR.dialogCommand = function( dialogName, ext ) { + this.dialogName = dialogName; + CKEDITOR.tools.extend( this, ext, true ); + }; + + CKEDITOR.dialogCommand.prototype = { + exec: function( editor ) { + // Special treatment for Opera. (#8031) + CKEDITOR.env.opera ? CKEDITOR.tools.setTimeout( function() { + editor.openDialog( this.dialogName ); + }, 0, this ) : editor.openDialog( this.dialogName ); + }, + + // Dialog commands just open a dialog ui, thus require no undo logic, + // undo support should dedicate to specific dialog implementation. + canUndo: false, + + editorFocus: 1 + }; + + ( function() { + var notEmptyRegex = /^([a]|[^a])+$/, + integerRegex = /^\d*$/, + numberRegex = /^\d*(?:\.\d+)?$/, + htmlLengthRegex = /^(((\d*(\.\d+))|(\d*))(px|\%)?)?$/, + cssLengthRegex = /^(((\d*(\.\d+))|(\d*))(px|em|ex|in|cm|mm|pt|pc|\%)?)?$/i, + inlineStyleRegex = /^(\s*[\w-]+\s*:\s*[^:;]+(?:;|$))*$/; + + CKEDITOR.VALIDATE_OR = 1; + CKEDITOR.VALIDATE_AND = 2; + + CKEDITOR.dialog.validate = { + functions: function() { + var args = arguments; + return function() { + /** + * It's important for validate functions to be able to accept the value + * as argument in addition to this.getValue(), so that it is possible to + * combine validate functions together to make more sophisticated + * validators. + */ + var value = this && this.getValue ? this.getValue() : args[ 0 ]; + + var msg = undefined, + relation = CKEDITOR.VALIDATE_AND, + functions = [], + i; + + for ( i = 0; i < args.length; i++ ) { + if ( typeof( args[ i ] ) == 'function' ) + functions.push( args[ i ] ); + else + break; + } + + if ( i < args.length && typeof( args[ i ] ) == 'string' ) { + msg = args[ i ]; + i++; + } + + if ( i < args.length && typeof( args[ i ] ) == 'number' ) + relation = args[ i ]; + + var passed = ( relation == CKEDITOR.VALIDATE_AND ? true : false ); + for ( i = 0; i < functions.length; i++ ) { + if ( relation == CKEDITOR.VALIDATE_AND ) + passed = passed && functions[ i ]( value ); + else + passed = passed || functions[ i ]( value ); + } + + return !passed ? msg : true; + }; + }, + + regex: function( regex, msg ) { + /* + * Can be greatly shortened by deriving from functions validator if code size + * turns out to be more important than performance. + */ + return function() { + var value = this && this.getValue ? this.getValue() : arguments[ 0 ]; + return !regex.test( value ) ? msg : true; + }; + }, + + notEmpty: function( msg ) { + return this.regex( notEmptyRegex, msg ); + }, + + integer: function( msg ) { + return this.regex( integerRegex, msg ); + }, + + 'number': function( msg ) { + return this.regex( numberRegex, msg ); + }, + + 'cssLength': function( msg ) { + return this.functions( function( val ) { + return cssLengthRegex.test( CKEDITOR.tools.trim( val ) ); + }, msg ); + }, + + 'htmlLength': function( msg ) { + return this.functions( function( val ) { + return htmlLengthRegex.test( CKEDITOR.tools.trim( val ) ); + }, msg ); + }, + + 'inlineStyle': function( msg ) { + return this.functions( function( val ) { + return inlineStyleRegex.test( CKEDITOR.tools.trim( val ) ); + }, msg ); + }, + + equals: function( value, msg ) { + return this.functions( function( val ) { + return val == value; + }, msg ); + }, + + notEqual: function( value, msg ) { + return this.functions( function( val ) { + return val != value; + }, msg ); + } + }; + + CKEDITOR.on( 'instanceDestroyed', function( evt ) { + // Remove dialog cover on last instance destroy. + if ( CKEDITOR.tools.isEmpty( CKEDITOR.instances ) ) { + var currentTopDialog; + while ( ( currentTopDialog = CKEDITOR.dialog._.currentTop ) ) + currentTopDialog.hide(); + removeCovers(); + } + + var dialogs = evt.editor._.storedDialogs; + for ( var name in dialogs ) + dialogs[ name ].destroy(); + + } ); + + } )(); + + // Extend the CKEDITOR.editor class with dialog specific functions. + CKEDITOR.tools.extend( CKEDITOR.editor.prototype, { + /** + * Loads and opens a registered dialog. + * + * CKEDITOR.instances.editor1.openDialog( 'smiley' ); + * + * @member CKEDITOR.editor + * @param {String} dialogName The registered name of the dialog. + * @param {Function} callback The function to be invoked after dialog instance created. + * @returns {CKEDITOR.dialog} The dialog object corresponding to the dialog displayed. + * `null` if the dialog name is not registered. + * @see CKEDITOR.dialog#add + */ + openDialog: function( dialogName, callback ) { + var dialog = null, dialogDefinitions = CKEDITOR.dialog._.dialogDefinitions[ dialogName ]; + + if ( CKEDITOR.dialog._.currentTop === null ) + showCover( this ); + + // If the dialogDefinition is already loaded, open it immediately. + if ( typeof dialogDefinitions == 'function' ) { + var storedDialogs = this._.storedDialogs || ( this._.storedDialogs = {} ); + + dialog = storedDialogs[ dialogName ] || ( storedDialogs[ dialogName ] = new CKEDITOR.dialog( this, dialogName ) ); + + callback && callback.call( dialog, dialog ); + dialog.show(); + + } else if ( dialogDefinitions == 'failed' ) { + hideCover( this ); + throw new Error( '[CKEDITOR.dialog.openDialog] Dialog "' + dialogName + '" failed when loading definition.' ); + } else if ( typeof dialogDefinitions == 'string' ) { + + CKEDITOR.scriptLoader.load( CKEDITOR.getUrl( dialogDefinitions ), + function() { + var dialogDefinition = CKEDITOR.dialog._.dialogDefinitions[ dialogName ]; + // In case of plugin error, mark it as loading failed. + if ( typeof dialogDefinition != 'function' ) + CKEDITOR.dialog._.dialogDefinitions[ dialogName ] = 'failed'; + + this.openDialog( dialogName, callback ); + }, this, 0, 1 ); + } + + CKEDITOR.skin.loadPart( 'dialog' ); + + return dialog; + } + } ); +} )(); + +CKEDITOR.plugins.add( 'dialog', { + requires: 'dialogui', + init: function( editor ) { + editor.on( 'doubleclick', function( evt ) { + if ( evt.data.dialog ) + editor.openDialog( evt.data.dialog ); + }, null, null, 999 ); + } +} ); + +// Dialog related configurations. + +/** + * The color of the dialog background cover. It should be a valid CSS color string. + * + * config.dialog_backgroundCoverColor = 'rgb(255, 254, 253)'; + * + * @cfg {String} [dialog_backgroundCoverColor='white'] + * @member CKEDITOR.config + */ + +/** + * The opacity of the dialog background cover. It should be a number within the + * range `[0.0, 1.0]`. + * + * config.dialog_backgroundCoverOpacity = 0.7; + * + * @cfg {Number} [dialog_backgroundCoverOpacity=0.5] + * @member CKEDITOR.config + */ + +/** + * If the dialog has more than one tab, put focus into the first tab as soon as dialog is opened. + * + * config.dialog_startupFocusTab = true; + * + * @cfg {Boolean} [dialog_startupFocusTab=false] + * @member CKEDITOR.config + */ + +/** + * The distance of magnetic borders used in moving and resizing dialogs, + * measured in pixels. + * + * config.dialog_magnetDistance = 30; + * + * @cfg {Number} [dialog_magnetDistance=20] + * @member CKEDITOR.config + */ + +/** + * The guideline to follow when generating the dialog buttons. There are 3 possible options: + * + * * `'OS'` - the buttons will be displayed in the default order of the user's OS; + * * `'ltr'` - for Left-To-Right order; + * * `'rtl'` - for Right-To-Left order. + * + * Example: + * + * config.dialog_buttonsOrder = 'rtl'; + * + * @since 3.5 + * @cfg {String} [dialog_buttonsOrder='OS'] + * @member CKEDITOR.config + */ + +/** + * The dialog contents to removed. It's a string composed by dialog name and tab name with a colon between them. + * + * Separate each pair with semicolon (see example). + * + * **Note:** All names are case-sensitive. + * + * **Note:** Be cautious when specifying dialog tabs that are mandatory, + * like `'info'`, dialog functionality might be broken because of this! + * + * config.removeDialogTabs = 'flash:advanced;image:Link'; + * + * @since 3.5 + * @cfg {String} [removeDialogTabs=''] + * @member CKEDITOR.config + */ + +/** + * Tells if user should not be asked to confirm close, if any dialog field was modified. + * By default it is set to `false` meaning that the confirmation dialog will be shown. + * + * config.dialog_noConfirmCancel = true; + * + * @since 4.3 + * @cfg {Boolean} [dialog_noConfirmCancel=false] + * @member CKEDITOR.config + */ + +/** + * Fired when a dialog definition is about to be used to create a dialog into + * an editor instance. This event makes it possible to customize the definition + * before creating it. + * + * Note that this event is called only the first time a specific dialog is + * opened. Successive openings will use the cached dialog, and this event will + * not get fired. + * + * @event dialogDefinition + * @member CKEDITOR + * @param {CKEDITOR.dialog.definition} data The dialog defination that + * is being loaded. + * @param {CKEDITOR.editor} editor The editor instance that will use the dialog. + */ + +/** + * Fired when a tab is going to be selected in a dialog. + * + * @event selectPage + * @member CKEDITOR.dialog + * @param data + * @param {String} data.page The id of the page that it's gonna be selected. + * @param {String} data.currentPage The id of the current page. + */ + +/** + * Fired when the user tries to dismiss a dialog. + * + * @event cancel + * @member CKEDITOR.dialog + * @param data + * @param {Boolean} data.hide Whether the event should proceed or not. + */ + +/** + * Fired when the user tries to confirm a dialog. + * + * @event ok + * @member CKEDITOR.dialog + * @param data + * @param {Boolean} data.hide Whether the event should proceed or not. + */ + +/** + * Fired when a dialog is shown. + * + * @event show + * @member CKEDITOR.dialog + */ + +/** + * Fired when a dialog is shown. + * + * @event dialogShow + * @member CKEDITOR.editor + * @param {CKEDITOR.editor} editor This editor instance. + * @param {CKEDITOR.dialog} data The opened dialog instance. + */ + +/** + * Fired when a dialog is hidden. + * + * @event hide + * @member CKEDITOR.dialog + */ + +/** + * Fired when a dialog is hidden. + * + * @event dialogHide + * @member CKEDITOR.editor + * @param {CKEDITOR.editor} editor This editor instance. + * @param {CKEDITOR.dialog} data The hidden dialog instance. + */ + +/** + * Fired when a dialog is being resized. The event is fired on + * both the {@link CKEDITOR.dialog} object and the dialog instance + * since 3.5.3, previously it's available only in the global object. + * + * @static + * @event resize + * @member CKEDITOR.dialog + * @param data + * @param {CKEDITOR.dialog} data.dialog The dialog being resized (if + * it's fired on the dialog itself, this parameter isn't sent). + * @param {String} data.skin The skin name. + * @param {Number} data.width The new width. + * @param {Number} data.height The new height. + */ + +/** + * Fired when a dialog is being resized. The event is fired on + * both the {@link CKEDITOR.dialog} object and the dialog instance + * since 3.5.3, previously it's available only in the global object. + * + * @since 3.5 + * @event resize + * @member CKEDITOR.dialog + * @param data + * @param {Number} data.width The new width. + * @param {Number} data.height The new height. + */ diff --git a/htdocs/includes/ckeditor/ckeditor/samples/plugins/dialog/assets/my_dialog.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/dialog/samples/assets/my_dialog.js similarity index 85% rename from htdocs/includes/ckeditor/ckeditor/samples/plugins/dialog/assets/my_dialog.js rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/dialog/samples/assets/my_dialog.js index 3d8f3694d5f..f0ce5f9445d 100644 --- a/htdocs/includes/ckeditor/ckeditor/samples/plugins/dialog/assets/my_dialog.js +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/dialog/samples/assets/my_dialog.js @@ -1,5 +1,5 @@ -/** - * Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. * For licensing, see LICENSE.md or http://ckeditor.com/license */ @@ -46,3 +46,4 @@ CKEDITOR.dialog.add( 'myDialog', function( editor ) { }; } ); +// %LEAVE_UNMINIFIED% %REMOVE_LINE% diff --git a/htdocs/includes/ckeditor/ckeditor/samples/plugins/dialog/dialog.html b/htdocs/includes/ckeditor/ckeditor/_source/plugins/dialog/samples/dialog.html similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/samples/plugins/dialog/dialog.html rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/dialog/samples/dialog.html diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/dialogadvtab/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/dialogadvtab/plugin.js new file mode 100644 index 00000000000..506e788ecc9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/dialogadvtab/plugin.js @@ -0,0 +1,200 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +( function() { + + function setupAdvParams( element ) { + var attrName = this.att; + + var value = element && element.hasAttribute( attrName ) && element.getAttribute( attrName ) || ''; + + if ( value !== undefined ) + this.setValue( value ); + } + + function commitAdvParams() { + // Dialogs may use different parameters in the commit list, so, by + // definition, we take the first CKEDITOR.dom.element available. + var element; + + for ( var i = 0; i < arguments.length; i++ ) { + if ( arguments[ i ] instanceof CKEDITOR.dom.element ) { + element = arguments[ i ]; + break; + } + } + + if ( element ) { + var attrName = this.att, + value = this.getValue(); + + if ( value ) + element.setAttribute( attrName, value ); + else + element.removeAttribute( attrName, value ); + } + } + + var defaultTabConfig = { id: 1, dir: 1, classes: 1, styles: 1 }; + + CKEDITOR.plugins.add( 'dialogadvtab', { + requires : 'dialog', + + // Returns allowed content rule for the content created by this plugin. + allowedContent: function( tabConfig ) { + if ( !tabConfig ) + tabConfig = defaultTabConfig; + + var allowedAttrs = []; + if ( tabConfig.id ) + allowedAttrs.push( 'id' ); + if ( tabConfig.dir ) + allowedAttrs.push( 'dir' ); + + var allowed = ''; + + if ( allowedAttrs.length ) + allowed += '[' + allowedAttrs.join( ',' ) + ']'; + + if ( tabConfig.classes ) + allowed += '(*)'; + if ( tabConfig.styles ) + allowed += '{*}'; + + return allowed; + }, + + // @param tabConfig + // id, dir, classes, styles + createAdvancedTab: function( editor, tabConfig, element ) { + if ( !tabConfig ) + tabConfig = defaultTabConfig; + + var lang = editor.lang.common; + + var result = { + id: 'advanced', + label: lang.advancedTab, + title: lang.advancedTab, + elements: [ + { + type: 'vbox', + padding: 1, + children: [] + } + ] + }; + + var contents = []; + + if ( tabConfig.id || tabConfig.dir ) { + if ( tabConfig.id ) { + contents.push( { + id: 'advId', + att: 'id', + type: 'text', + requiredContent: element ? element + '[id]' : null, + label: lang.id, + setup: setupAdvParams, + commit: commitAdvParams + } ); + } + + if ( tabConfig.dir ) { + contents.push( { + id: 'advLangDir', + att: 'dir', + type: 'select', + requiredContent: element ? element + '[dir]' : null, + label: lang.langDir, + 'default': '', + style: 'width:100%', + items: [ + [ lang.notSet, '' ], + [ lang.langDirLTR, 'ltr' ], + [ lang.langDirRTL, 'rtl' ] + ], + setup: setupAdvParams, + commit: commitAdvParams + } ); + } + + result.elements[ 0 ].children.push( { + type: 'hbox', + widths: [ '50%', '50%' ], + children: [].concat( contents ) + } ); + } + + if ( tabConfig.styles || tabConfig.classes ) { + contents = []; + + if ( tabConfig.styles ) { + contents.push( { + id: 'advStyles', + att: 'style', + type: 'text', + requiredContent: element ? element + '{cke-xyz}' : null, + label: lang.styles, + 'default': '', + + validate: CKEDITOR.dialog.validate.inlineStyle( lang.invalidInlineStyle ), + onChange: function() {}, + + getStyle: function( name, defaultValue ) { + var match = this.getValue().match( new RegExp( '(?:^|;)\\s*' + name + '\\s*:\\s*([^;]*)', 'i' ) ); + return match ? match[ 1 ] : defaultValue; + }, + + updateStyle: function( name, value ) { + var styles = this.getValue(); + + var tmp = editor.document.createElement( 'span' ); + tmp.setAttribute( 'style', styles ); + tmp.setStyle( name, value ); + styles = CKEDITOR.tools.normalizeCssText( tmp.getAttribute( 'style' ) ); + + this.setValue( styles, 1 ); + }, + + setup: setupAdvParams, + + commit: commitAdvParams + + } ); + } + + if ( tabConfig.classes ) { + contents.push( { + type: 'hbox', + widths: [ '45%', '55%' ], + children: [ + { + id: 'advCSSClasses', + att: 'class', + type: 'text', + requiredContent: element ? element + '(cke-xyz)' : null, + label: lang.cssClasses, + 'default': '', + setup: setupAdvParams, + commit: commitAdvParams + + } + ] + } ); + } + + result.elements[ 0 ].children.push( { + type: 'hbox', + widths: [ '50%', '50%' ], + children: [].concat( contents ) + } ); + } + + return result; + } + } ); + +} )(); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/dialogui/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/dialogui/plugin.js new file mode 100644 index 00000000000..4b3721c2748 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/dialogui/plugin.js @@ -0,0 +1,1409 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/** + * @fileOverview The "dialogui" plugin. + */ + +CKEDITOR.plugins.add( 'dialogui', { + onLoad: function() { + + var initPrivateObject = function( elementDefinition ) { + this._ || ( this._ = {} ); + this._[ 'default' ] = this._.initValue = elementDefinition[ 'default' ] || ''; + this._.required = elementDefinition[ 'required' ] || false; + var args = [ this._ ]; + for ( var i = 1; i < arguments.length; i++ ) + args.push( arguments[ i ] ); + args.push( true ); + CKEDITOR.tools.extend.apply( CKEDITOR.tools, args ); + return this._; + }, + textBuilder = { + build: function( dialog, elementDefinition, output ) { + return new CKEDITOR.ui.dialog.textInput( dialog, elementDefinition, output ); + } + }, + commonBuilder = { + build: function( dialog, elementDefinition, output ) { + return new CKEDITOR.ui.dialog[ elementDefinition.type ]( dialog, elementDefinition, output ); + } + }, + containerBuilder = { + build: function( dialog, elementDefinition, output ) { + var children = elementDefinition.children, + child, + childHtmlList = [], + childObjList = []; + for ( var i = 0; + ( i < children.length && ( child = children[ i ] ) ); i++ ) { + var childHtml = []; + childHtmlList.push( childHtml ); + childObjList.push( CKEDITOR.dialog._.uiElementBuilders[ child.type ].build( dialog, child, childHtml ) ); + } + return new CKEDITOR.ui.dialog[ elementDefinition.type ]( dialog, childObjList, childHtmlList, output, elementDefinition ); + } + }, + commonPrototype = { + isChanged: function() { + return this.getValue() != this.getInitValue(); + }, + + reset: function( noChangeEvent ) { + this.setValue( this.getInitValue(), noChangeEvent ); + }, + + setInitValue: function() { + this._.initValue = this.getValue(); + }, + + resetInitValue: function() { + this._.initValue = this._[ 'default' ]; + }, + + getInitValue: function() { + return this._.initValue; + } + }, + commonEventProcessors = CKEDITOR.tools.extend( {}, CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors, { + onChange: function( dialog, func ) { + if ( !this._.domOnChangeRegistered ) { + dialog.on( 'load', function() { + this.getInputElement().on( 'change', function() { + // Make sure 'onchange' doesn't get fired after dialog closed. (#5719) + if ( !dialog.parts.dialog.isVisible() ) + return; + + this.fire( 'change', { value: this.getValue() } ); + }, this ); + }, this ); + this._.domOnChangeRegistered = true; + } + + this.on( 'change', func ); + } + }, true ), + eventRegex = /^on([A-Z]\w+)/, + cleanInnerDefinition = function( def ) { + // An inner UI element should not have the parent's type, title or events. + for ( var i in def ) { + if ( eventRegex.test( i ) || i == 'title' || i == 'type' ) + delete def[ i ]; + } + return def; + }; + + CKEDITOR.tools.extend( CKEDITOR.ui.dialog, { + /** + * Base class for all dialog elements with a textual label on the left. + * + * @class CKEDITOR.ui.dialog.labeledElement + * @extends CKEDITOR.ui.dialog.uiElement + * @constructor Creates a labeledElement class instance. + * @param {CKEDITOR.dialog} dialog Parent dialog object. + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition + * The element definition. Accepted fields: + * + * * `label` (Required) The label string. + * * `labelLayout` (Optional) Put 'horizontal' here if the + * label element is to be layed out horizontally. Otherwise a vertical + * layout will be used. + * * `widths` (Optional) This applies only for horizontal + * layouts - an 2-element array of lengths to specify the widths of the + * label and the content element. + * + * @param {Array} htmlList List of HTML code to output to. + * @param {Function} contentHtml + * A function returning the HTML code string to be added inside the content + * cell. + */ + labeledElement: function( dialog, elementDefinition, htmlList, contentHtml ) { + if ( arguments.length < 4 ) + return; + + var _ = initPrivateObject.call( this, elementDefinition ); + _.labelId = CKEDITOR.tools.getNextId() + '_label'; + var children = this._.children = []; + + var innerHTML = function() { + var html = [], + requiredClass = elementDefinition.required ? ' cke_required' : ''; + if ( elementDefinition.labelLayout != 'horizontal' ) { + html.push( + '', + '
    ', + contentHtml.call( this, dialog, elementDefinition ), + '
    ' ); + } else { + var hboxDefinition = { + type: 'hbox', + widths: elementDefinition.widths, + padding: 0, + children: [ + { + type: 'html', + html: '
    or inline + // container's width, so need to wrap it inside a
    . + var html = [ '' ); + return html.join( '' ); + }; + CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML ); + }, + + /** + * A text area with a label on the top or left. + * + * @class CKEDITOR.ui.dialog.textarea + * @extends CKEDITOR.ui.dialog.labeledElement + * @constructor Creates a textarea class instance. + * @param {CKEDITOR.dialog} dialog Parent dialog object. + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition + * + * The element definition. Accepted fields: + * + * * `rows` (Optional) The number of rows displayed. + * Defaults to 5 if not defined. + * * `cols` (Optional) The number of cols displayed. + * Defaults to 20 if not defined. Usually overridden by skins. + * * `default` (Optional) The default value. + * * `validate` (Optional) The validation function. + * + * @param {Array} htmlList List of HTML code to output to. + */ + textarea: function( dialog, elementDefinition, htmlList ) { + if ( arguments.length < 3 ) + return; + + initPrivateObject.call( this, elementDefinition ); + var me = this, + domId = this._.inputId = CKEDITOR.tools.getNextId() + '_textarea', + attributes = {}; + + if ( elementDefinition.validate ) + this.validate = elementDefinition.validate; + + // Generates the essential attributes for the textarea tag. + attributes.rows = elementDefinition.rows || 5; + attributes.cols = elementDefinition.cols || 20; + + attributes[ 'class' ] = 'cke_dialog_ui_input_textarea ' + ( elementDefinition[ 'class' ] || '' ); + + if ( typeof elementDefinition.inputStyle != 'undefined' ) + attributes.style = elementDefinition.inputStyle; + + if ( elementDefinition.dir ) + attributes.dir = elementDefinition.dir; + + var innerHTML = function() { + attributes[ 'aria-labelledby' ] = this._.labelId; + this._.required && ( attributes[ 'aria-required' ] = this._.required ); + var html = [ '' ); + return html.join( '' ); + }; + CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML ); + }, + + /** + * A single checkbox with a label on the right. + * + * @class CKEDITOR.ui.dialog.checkbox + * @extends CKEDITOR.ui.dialog.uiElement + * @constructor Creates a checkbox class instance. + * @param {CKEDITOR.dialog} dialog Parent dialog object. + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition + * The element definition. Accepted fields: + * + * * `checked` (Optional) Whether the checkbox is checked + * on instantiation. Defaults to false. + * * `validate` (Optional) The validation function. + * * `label` (Optional) The checkbox label. + * + * @param {Array} htmlList List of HTML code to output to. + */ + checkbox: function( dialog, elementDefinition, htmlList ) { + if ( arguments.length < 3 ) + return; + + var _ = initPrivateObject.call( this, elementDefinition, { 'default': !!elementDefinition[ 'default' ] } ); + + if ( elementDefinition.validate ) + this.validate = elementDefinition.validate; + + var innerHTML = function() { + var myDefinition = CKEDITOR.tools.extend( {}, elementDefinition, { + id: elementDefinition.id ? elementDefinition.id + '_checkbox' : CKEDITOR.tools.getNextId() + '_checkbox' + }, true ), + html = []; + + var labelId = CKEDITOR.tools.getNextId() + '_label'; + var attributes = { 'class': 'cke_dialog_ui_checkbox_input', type: 'checkbox', 'aria-labelledby': labelId }; + cleanInnerDefinition( myDefinition ); + if ( elementDefinition[ 'default' ] ) + attributes.checked = 'checked'; + + if ( typeof myDefinition.inputStyle != 'undefined' ) + myDefinition.style = myDefinition.inputStyle; + + _.checkbox = new CKEDITOR.ui.dialog.uiElement( dialog, myDefinition, html, 'input', null, attributes ); + html.push( ' ' ); + return html.join( '' ); + }; + + CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition, htmlList, 'span', null, null, innerHTML ); + }, + + /** + * A group of radio buttons. + * + * @class CKEDITOR.ui.dialog.radio + * @extends CKEDITOR.ui.dialog.labeledElement + * @constructor Creates a radio class instance. + * @param {CKEDITOR.dialog} dialog Parent dialog object. + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition + * The element definition. Accepted fields: + * + * * `default` (Required) The default value. + * * `validate` (Optional) The validation function. + * * `items` (Required) An array of options. Each option + * is a 1- or 2-item array of format `[ 'Description', 'Value' ]`. If `'Value'` + * is missing, then the value would be assumed to be the same as the description. + * + * @param {Array} htmlList List of HTML code to output to. + */ + radio: function( dialog, elementDefinition, htmlList ) { + if ( arguments.length < 3 ) + return; + + initPrivateObject.call( this, elementDefinition ); + + if ( !this._[ 'default' ] ) + this._[ 'default' ] = this._.initValue = elementDefinition.items[ 0 ][ 1 ]; + + if ( elementDefinition.validate ) + this.validate = elementDefinition.valdiate; + + var children = [], + me = this; + + var innerHTML = function() { + var inputHtmlList = [], + html = [], + commonName = ( elementDefinition.id ? elementDefinition.id : CKEDITOR.tools.getNextId() ) + '_radio'; + + for ( var i = 0; i < elementDefinition.items.length; i++ ) { + var item = elementDefinition.items[ i ], + title = item[ 2 ] !== undefined ? item[ 2 ] : item[ 0 ], + value = item[ 1 ] !== undefined ? item[ 1 ] : item[ 0 ], + inputId = CKEDITOR.tools.getNextId() + '_radio_input', + labelId = inputId + '_label', + + inputDefinition = CKEDITOR.tools.extend( {}, elementDefinition, { + id: inputId, + title: null, + type: null + }, true ), + + labelDefinition = CKEDITOR.tools.extend( {}, inputDefinition, { + title: title + }, true ), + + inputAttributes = { + type: 'radio', + 'class': 'cke_dialog_ui_radio_input', + name: commonName, + value: value, + 'aria-labelledby': labelId + }, + + inputHtml = []; + + if ( me._[ 'default' ] == value ) + inputAttributes.checked = 'checked'; + + cleanInnerDefinition( inputDefinition ); + cleanInnerDefinition( labelDefinition ); + + if ( typeof inputDefinition.inputStyle != 'undefined' ) + inputDefinition.style = inputDefinition.inputStyle; + + // Make inputs of radio type focusable (#10866). + inputDefinition.keyboardFocusable = true; + + children.push( new CKEDITOR.ui.dialog.uiElement( dialog, inputDefinition, inputHtml, 'input', null, inputAttributes ) ); + + inputHtml.push( ' ' ); + + new CKEDITOR.ui.dialog.uiElement( dialog, labelDefinition, inputHtml, 'label', null, { + id: labelId, + 'for': inputAttributes.id + }, item[ 0 ] ); + + inputHtmlList.push( inputHtml.join( '' ) ); + } + + new CKEDITOR.ui.dialog.hbox( dialog, children, inputHtmlList, html ); + + return html.join( '' ); + }; + + CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML ); + this._.children = children; + }, + + /** + * A button with a label inside. + * + * @class CKEDITOR.ui.dialog.button + * @extends CKEDITOR.ui.dialog.uiElement + * @constructor Creates a button class instance. + * @param {CKEDITOR.dialog} dialog Parent dialog object. + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition + * The element definition. Accepted fields: + * + * * `label` (Required) The button label. + * * `disabled` (Optional) Set to true if you want the + * button to appear in disabled state. + * + * @param {Array} htmlList List of HTML code to output to. + */ + button: function( dialog, elementDefinition, htmlList ) { + if ( !arguments.length ) + return; + + if ( typeof elementDefinition == 'function' ) + elementDefinition = elementDefinition( dialog.getParentEditor() ); + + initPrivateObject.call( this, elementDefinition, { disabled: elementDefinition.disabled || false } ); + + // Add OnClick event to this input. + CKEDITOR.event.implementOn( this ); + + var me = this; + + // Register an event handler for processing button clicks. + dialog.on( 'load', function( eventInfo ) { + var element = this.getElement(); + + ( function() { + element.on( 'click', function( evt ) { + me.click(); + // #9958 + evt.data.preventDefault(); + } ); + + element.on( 'keydown', function( evt ) { + if ( evt.data.getKeystroke() in { 32: 1 } ) { + me.click(); + evt.data.preventDefault(); + } + } ); + } )(); + + element.unselectable(); + }, this ); + + var outerDefinition = CKEDITOR.tools.extend( {}, elementDefinition ); + delete outerDefinition.style; + + var labelId = CKEDITOR.tools.getNextId() + '_label'; + CKEDITOR.ui.dialog.uiElement.call( this, dialog, outerDefinition, htmlList, 'a', null, { + style: elementDefinition.style, + href: 'javascript:void(0)', + title: elementDefinition.label, + hidefocus: 'true', + 'class': elementDefinition[ 'class' ], + role: 'button', + 'aria-labelledby': labelId + }, '' + + CKEDITOR.tools.htmlEncode( elementDefinition.label ) + + '' ); + }, + + /** + * A select box. + * + * @class CKEDITOR.ui.dialog.select + * @extends CKEDITOR.ui.dialog.uiElement + * @constructor Creates a button class instance. + * @param {CKEDITOR.dialog} dialog Parent dialog object. + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition + * The element definition. Accepted fields: + * + * * `default` (Required) The default value. + * * `validate` (Optional) The validation function. + * * `items` (Required) An array of options. Each option + * is a 1- or 2-item array of format `[ 'Description', 'Value' ]`. If `'Value'` + * is missing, then the value would be assumed to be the same as the + * description. + * * `multiple` (Optional) Set this to true if you'd like + * to have a multiple-choice select box. + * * `size` (Optional) The number of items to display in + * the select box. + * + * @param {Array} htmlList List of HTML code to output to. + */ + select: function( dialog, elementDefinition, htmlList ) { + if ( arguments.length < 3 ) + return; + + var _ = initPrivateObject.call( this, elementDefinition ); + + if ( elementDefinition.validate ) + this.validate = elementDefinition.validate; + + _.inputId = CKEDITOR.tools.getNextId() + '_select'; + + var innerHTML = function() { + var myDefinition = CKEDITOR.tools.extend( {}, elementDefinition, { + id: elementDefinition.id ? elementDefinition.id + '_select' : CKEDITOR.tools.getNextId() + '_select' + }, true ), + html = [], + innerHTML = [], + attributes = { 'id': _.inputId, 'class': 'cke_dialog_ui_input_select', 'aria-labelledby': this._.labelId }; + + html.push( '' ); + + return html.join( '' ); + }; + + CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML ); + }, + + /** + * A file upload input. + * + * @class CKEDITOR.ui.dialog.file + * @extends CKEDITOR.ui.dialog.labeledElement + * @constructor Creates a file class instance. + * @param {CKEDITOR.dialog} dialog Parent dialog object. + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition + * The element definition. Accepted fields: + * + * * `validate` (Optional) The validation function. + * + * @param {Array} htmlList List of HTML code to output to. + */ + file: function( dialog, elementDefinition, htmlList ) { + if ( arguments.length < 3 ) + return; + + if ( elementDefinition[ 'default' ] === undefined ) + elementDefinition[ 'default' ] = ''; + + var _ = CKEDITOR.tools.extend( initPrivateObject.call( this, elementDefinition ), { definition: elementDefinition, buttons: [] } ); + + if ( elementDefinition.validate ) + this.validate = elementDefinition.validate; + + /** @ignore */ + var innerHTML = function() { + _.frameId = CKEDITOR.tools.getNextId() + '_fileInput'; + + var html = [ + '' + + '' ); + + return html.join( '' ); + }; + + // IE BUG: Parent container does not resize to contain the iframe automatically. + dialog.on( 'load', function() { + var iframe = CKEDITOR.document.getById( _.frameId ), + contentDiv = iframe.getParent(); + contentDiv.addClass( 'cke_dialog_ui_input_file' ); + } ); + + CKEDITOR.ui.dialog.labeledElement.call( this, dialog, elementDefinition, htmlList, innerHTML ); + }, + + /** + * A button for submitting the file in a file upload input. + * + * @class CKEDITOR.ui.dialog.fileButton + * @extends CKEDITOR.ui.dialog.button + * @constructor Creates a fileButton class instance. + * @param {CKEDITOR.dialog} dialog Parent dialog object. + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition + * The element definition. Accepted fields: + * + * * `for` (Required) The file input's page and element Id + * to associate to, in a 2-item array format: `[ 'page_id', 'element_id' ]`. + * * `validate` (Optional) The validation function. + * + * @param {Array} htmlList List of HTML code to output to. + */ + fileButton: function( dialog, elementDefinition, htmlList ) { + if ( arguments.length < 3 ) + return; + + var _ = initPrivateObject.call( this, elementDefinition ), + me = this; + + if ( elementDefinition.validate ) + this.validate = elementDefinition.validate; + + var myDefinition = CKEDITOR.tools.extend( {}, elementDefinition ); + var onClick = myDefinition.onClick; + myDefinition.className = ( myDefinition.className ? myDefinition.className + ' ' : '' ) + 'cke_dialog_ui_button'; + myDefinition.onClick = function( evt ) { + var target = elementDefinition[ 'for' ]; // [ pageId, elementId ] + if ( !onClick || onClick.call( this, evt ) !== false ) { + dialog.getContentElement( target[ 0 ], target[ 1 ] ).submit(); + this.disable(); + } + }; + + dialog.on( 'load', function() { + dialog.getContentElement( elementDefinition[ 'for' ][ 0 ], elementDefinition[ 'for' ][ 1 ] )._.buttons.push( me ); + } ); + + CKEDITOR.ui.dialog.button.call( this, dialog, myDefinition, htmlList ); + }, + + html: ( function() { + var myHtmlRe = /^\s*<[\w:]+\s+([^>]*)?>/, + theirHtmlRe = /^(\s*<[\w:]+(?:\s+[^>]*)?)((?:.|\r|\n)+)$/, + emptyTagRe = /\/$/; + /** + * A dialog element made from raw HTML code. + * + * @class CKEDITOR.ui.dialog.html + * @extends CKEDITOR.ui.dialog.uiElement + * @constructor Creates a html class instance. + * @param {CKEDITOR.dialog} dialog Parent dialog object. + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition Element definition. + * Accepted fields: + * + * * `html` (Required) HTML code of this element. + * + * @param {Array} htmlList List of HTML code to be added to the dialog's content area. + */ + return function( dialog, elementDefinition, htmlList ) { + if ( arguments.length < 3 ) + return; + + var myHtmlList = [], + myHtml, + theirHtml = elementDefinition.html, + myMatch, theirMatch; + + // If the HTML input doesn't contain any tags at the beginning, add a tag around it. + if ( theirHtml.charAt( 0 ) != '<' ) + theirHtml = '' + theirHtml + ''; + + // Look for focus function in definition. + var focus = elementDefinition.focus; + if ( focus ) { + var oldFocus = this.focus; + this.focus = function() { + ( typeof focus == 'function' ? focus : oldFocus ).call( this ); + this.fire( 'focus' ); + }; + if ( elementDefinition.isFocusable ) { + var oldIsFocusable = this.isFocusable; + this.isFocusable = oldIsFocusable; + } + this.keyboardFocusable = true; + } + + CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition, myHtmlList, 'span', null, null, '' ); + + // Append the attributes created by the uiElement call to the real HTML. + myHtml = myHtmlList.join( '' ); + myMatch = myHtml.match( myHtmlRe ); + theirMatch = theirHtml.match( theirHtmlRe ) || [ '', '', '' ]; + + if ( emptyTagRe.test( theirMatch[ 1 ] ) ) { + theirMatch[ 1 ] = theirMatch[ 1 ].slice( 0, -1 ); + theirMatch[ 2 ] = '/' + theirMatch[ 2 ]; + } + + htmlList.push( [ theirMatch[ 1 ], ' ', myMatch[ 1 ] || '', theirMatch[ 2 ] ].join( '' ) ); + }; + } )(), + + /** + * Form fieldset for grouping dialog UI elements. + * + * @class CKEDITOR.ui.dialog.fieldset + * @extends CKEDITOR.ui.dialog.uiElement + * @constructor Creates a fieldset class instance. + * @param {CKEDITOR.dialog} dialog Parent dialog object. + * @param {Array} childObjList + * Array of {@link CKEDITOR.ui.dialog.uiElement} objects inside this container. + * @param {Array} childHtmlList Array of HTML code that correspond to the HTML output of all the + * objects in childObjList. + * @param {Array} htmlList Array of HTML code that this element will output to. + * @param {CKEDITOR.dialog.definition.uiElement} elementDefinition + * The element definition. Accepted fields: + * + * * `label` (Optional) The legend of the this fieldset. + * * `children` (Required) An array of dialog field definitions which will be grouped inside this fieldset. + * + */ + fieldset: function( dialog, childObjList, childHtmlList, htmlList, elementDefinition ) { + var legendLabel = elementDefinition.label; + /** @ignore */ + var innerHTML = function() { + var html = []; + legendLabel && html.push( '' + legendLabel + '' ); + for ( var i = 0; i < childHtmlList.length; i++ ) + html.push( childHtmlList[ i ] ); + return html.join( '' ); + }; + + this._ = { children: childObjList }; + CKEDITOR.ui.dialog.uiElement.call( this, dialog, elementDefinition, htmlList, 'fieldset', null, null, innerHTML ); + } + + }, true ); + + CKEDITOR.ui.dialog.html.prototype = new CKEDITOR.ui.dialog.uiElement; + + /** @class CKEDITOR.ui.dialog.labeledElement */ + CKEDITOR.ui.dialog.labeledElement.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.uiElement, { + /** + * Sets the label text of the element. + * + * @param {String} label The new label text. + * @returns {CKEDITOR.ui.dialog.labeledElement} The current labeled element. + */ + setLabel: function( label ) { + var node = CKEDITOR.document.getById( this._.labelId ); + if ( node.getChildCount() < 1 ) + ( new CKEDITOR.dom.text( label, CKEDITOR.document ) ).appendTo( node ); + else + node.getChild( 0 ).$.nodeValue = label; + return this; + }, + + /** + * Retrieves the current label text of the elment. + * + * @returns {String} The current label text. + */ + getLabel: function() { + var node = CKEDITOR.document.getById( this._.labelId ); + if ( !node || node.getChildCount() < 1 ) + return ''; + else + return node.getChild( 0 ).getText(); + }, + + /** + * Defines the onChange event for UI element definitions. + * @property {Object} + */ + eventProcessors: commonEventProcessors + }, true ); + + /** @class CKEDITOR.ui.dialog.button */ + CKEDITOR.ui.dialog.button.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.uiElement, { + /** + * Simulates a click to the button. + * + * @returns {Object} Return value of the `click` event. + */ + click: function() { + if ( !this._.disabled ) + return this.fire( 'click', { dialog: this._.dialog } ); + return false; + }, + + /** + * Enables the button. + */ + enable: function() { + this._.disabled = false; + var element = this.getElement(); + element && element.removeClass( 'cke_disabled' ); + }, + + /** + * Disables the button. + */ + disable: function() { + this._.disabled = true; + this.getElement().addClass( 'cke_disabled' ); + }, + + /** + * @todo + */ + isVisible: function() { + return this.getElement().getFirst().isVisible(); + }, + + /** + * @todo + */ + isEnabled: function() { + return !this._.disabled; + }, + + /** + * Defines the onChange event and onClick for button element definitions. + * + * @property {Object} + */ + eventProcessors: CKEDITOR.tools.extend( {}, CKEDITOR.ui.dialog.uiElement.prototype.eventProcessors, { + onClick: function( dialog, func ) { + this.on( 'click', function() { + func.apply( this, arguments ); + } ); + } + }, true ), + + /** + * Handler for the element's access key up event. Simulates a click to + * the button. + */ + accessKeyUp: function() { + this.click(); + }, + + /** + * Handler for the element's access key down event. Simulates a mouse + * down to the button. + */ + accessKeyDown: function() { + this.focus(); + }, + + keyboardFocusable: true + }, true ); + + /** @class CKEDITOR.ui.dialog.textInput */ + CKEDITOR.ui.dialog.textInput.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.labeledElement, { + /** + * Gets the text input DOM element under this UI object. + * + * @returns {CKEDITOR.dom.element} The DOM element of the text input. + */ + getInputElement: function() { + return CKEDITOR.document.getById( this._.inputId ); + }, + + /** + * Puts focus into the text input. + */ + focus: function() { + var me = this.selectParentTab(); + + // GECKO BUG: setTimeout() is needed to workaround invisible selections. + setTimeout( function() { + var element = me.getInputElement(); + element && element.$.focus(); + }, 0 ); + }, + + /** + * Selects all the text in the text input. + */ + select: function() { + var me = this.selectParentTab(); + + // GECKO BUG: setTimeout() is needed to workaround invisible selections. + setTimeout( function() { + var e = me.getInputElement(); + if ( e ) { + e.$.focus(); + e.$.select(); + } + }, 0 ); + }, + + /** + * Handler for the text input's access key up event. Makes a `select()` + * call to the text input. + */ + accessKeyUp: function() { + this.select(); + }, + + /** + * Sets the value of this text input object. + * + * uiElement.setValue( 'Blamo' ); + * + * @param {Object} value The new value. + * @returns {CKEDITOR.ui.dialog.textInput} The current UI element. + */ + setValue: function( value ) { + !value && ( value = '' ); + return CKEDITOR.ui.dialog.uiElement.prototype.setValue.apply( this, arguments ); + }, + + keyboardFocusable: true + }, commonPrototype, true ); + + CKEDITOR.ui.dialog.textarea.prototype = new CKEDITOR.ui.dialog.textInput(); + + /** @class CKEDITOR.ui.dialog.select */ + CKEDITOR.ui.dialog.select.prototype = CKEDITOR.tools.extend( new CKEDITOR.ui.dialog.labeledElement, { + /** + * Gets the DOM element of the select box. + * + * @returns {CKEDITOR.dom.element} The `` element of this file input. + * + * @returns {CKEDITOR.dom.element} The file input element. + */ + getInputElement: function() { + var frameDocument = CKEDITOR.document.getById( this._.frameId ).getFrameDocument(); + return frameDocument.$.forms.length > 0 ? new CKEDITOR.dom.element( frameDocument.$.forms[ 0 ].elements[ 0 ] ) : this.getElement(); + }, + + /** + * Uploads the file in the file input. + * + * @returns {CKEDITOR.ui.dialog.file} This object. + */ + submit: function() { + this.getInputElement().getParent().$.submit(); + return this; + }, + + /** + * Get the action assigned to the form. + * + * @returns {String} The value of the action. + */ + getAction: function() { + return this.getInputElement().getParent().$.action; + }, + + /** + * The events must be applied on the inner input element, and + * that must be done when the iframe & form has been loaded. + */ + registerEvents: function( definition ) { + var regex = /^on([A-Z]\w+)/, + match; + + var registerDomEvent = function( uiElement, dialog, eventName, func ) { + uiElement.on( 'formLoaded', function() { + uiElement.getInputElement().on( eventName, func, uiElement ); + } ); + }; + + for ( var i in definition ) { + if ( !( match = i.match( regex ) ) ) + continue; + + if ( this.eventProcessors[ i ] ) + this.eventProcessors[ i ].call( this, this._.dialog, definition[ i ] ); + else + registerDomEvent( this, this._.dialog, match[ 1 ].toLowerCase(), definition[ i ] ); + } + + return this; + }, + + /** + * Redraws the file input and resets the file path in the file input. + * The redraw logic is necessary because non-IE browsers tend to clear + * the `' ); + + var frameDocTpl = CKEDITOR.addTemplate( 'panel-frame-inner', '' + + '' + + '{css}' + + '' + + '<\/html>' ); + + /** @class CKEDITOR.ui.panel */ + CKEDITOR.ui.panel.prototype = { + /** + * Renders the combo. + * + * @param {CKEDITOR.editor} editor The editor instance which this button is + * to be used by. + * @param {Array} [output] The output array to which append the HTML relative + * to this button. + */ + render: function( editor, output ) { + this.getHolderElement = function() { + var holder = this._.holder; + + if ( !holder ) { + if ( this.isFramed ) { + var iframe = this.document.getById( this.id + '_frame' ), + parentDiv = iframe.getParent(), + doc = iframe.getFrameDocument(); + + // Make it scrollable on iOS. (#8308) + CKEDITOR.env.iOS && parentDiv.setStyles( { + 'overflow': 'scroll', + '-webkit-overflow-scrolling': 'touch' + } ); + + var onLoad = CKEDITOR.tools.addFunction( CKEDITOR.tools.bind( function( ev ) { + this.isLoaded = true; + if ( this.onLoad ) + this.onLoad(); + }, this ) ); + + doc.write( frameDocTpl.output( CKEDITOR.tools.extend( { + css: CKEDITOR.tools.buildStyleHtml( this.css ), + onload: 'window.parent.CKEDITOR.tools.callFunction(' + onLoad + ');' + }, data ) ) ); + + var win = doc.getWindow(); + + // Register the CKEDITOR global. + win.$.CKEDITOR = CKEDITOR; + + // Arrow keys for scrolling is only preventable with 'keypress' event in Opera (#4534). + doc.on( 'key' + ( CKEDITOR.env.opera ? 'press' : 'down' ), function( evt ) { + var keystroke = evt.data.getKeystroke(), + dir = this.document.getById( this.id ).getAttribute( 'dir' ); + + // Delegate key processing to block. + if ( this._.onKeyDown && this._.onKeyDown( keystroke ) === false ) { + evt.data.preventDefault(); + return; + } + + // ESC/ARROW-LEFT(ltr) OR ARROW-RIGHT(rtl) + if ( keystroke == 27 || keystroke == ( dir == 'rtl' ? 39 : 37 ) ) { + if ( this.onEscape && this.onEscape( keystroke ) === false ) + evt.data.preventDefault(); + } + }, this ); + + holder = doc.getBody(); + holder.unselectable(); + CKEDITOR.env.air && CKEDITOR.tools.callFunction( onLoad ); + } else + holder = this.document.getById( this.id ); + + this._.holder = holder; + } + + return holder; + }; + + var data = { + editorId: editor.id, + id: this.id, + langCode: editor.langCode, + dir: editor.lang.dir, + cls: this.className, + frame: '', + env: CKEDITOR.env.cssClass, + 'z-index': editor.config.baseFloatZIndex + 1 + }; + + if ( this.isFramed ) { + // With IE, the custom domain has to be taken care at first, + // for other browers, the 'src' attribute should be left empty to + // trigger iframe's 'load' event. + var src = + CKEDITOR.env.air ? 'javascript:void(0)' : + CKEDITOR.env.ie ? 'javascript:void(function(){' + encodeURIComponent( + 'document.open();' + + // In IE, the document domain must be set any time we call document.open(). + '(' + CKEDITOR.tools.fixDomain + ')();' + + 'document.close();' + ) + '}())' : + ''; + + data.frame = frameTpl.output( { + id: this.id + '_frame', + src: src + } ); + } + + var html = panelTpl.output( data ); + + if ( output ) + output.push( html ); + + return html; + }, + + /** + * @todo + */ + addBlock: function( name, block ) { + block = this._.blocks[ name ] = block instanceof CKEDITOR.ui.panel.block ? block : new CKEDITOR.ui.panel.block( this.getHolderElement(), block ); + + if ( !this._.currentBlock ) + this.showBlock( name ); + + return block; + }, + + /** + * @todo + */ + getBlock: function( name ) { + return this._.blocks[ name ]; + }, + + /** + * @todo + */ + showBlock: function( name ) { + var blocks = this._.blocks, + block = blocks[ name ], + current = this._.currentBlock; + + // ARIA role works better in IE on the body element, while on the iframe + // for FF. (#8864) + var holder = !this.forceIFrame || CKEDITOR.env.ie ? this._.holder : this.document.getById( this.id + '_frame' ); + + if ( current ) + current.hide(); + + this._.currentBlock = block; + + CKEDITOR.fire( 'ariaWidget', holder ); + + // Reset the focus index, so it will always go into the first one. + block._.focusIndex = -1; + + this._.onKeyDown = block.onKeyDown && CKEDITOR.tools.bind( block.onKeyDown, block ); + + block.show(); + + return block; + }, + + /** + * @todo + */ + destroy: function() { + this.element && this.element.remove(); + } + }; + + /** + * @class + * + * @todo class and all methods + */ + CKEDITOR.ui.panel.block = CKEDITOR.tools.createClass( { + /** + * Creates a block class instances. + * + * @constructor + * @todo + */ + $: function( blockHolder, blockDefinition ) { + this.element = blockHolder.append( blockHolder.getDocument().createElement( 'div', { + attributes: { + 'tabindex': -1, + 'class': 'cke_panel_block' + }, + styles: { + display: 'none' + } + } ) ); + + // Copy all definition properties to this object. + if ( blockDefinition ) + CKEDITOR.tools.extend( this, blockDefinition ); + + // Set the a11y attributes of this element ... + this.element.setAttributes( { + 'role': this.attributes.role || 'presentation', + 'aria-label': this.attributes[ 'aria-label' ], + 'title': this.attributes.title || this.attributes[ 'aria-label' ] + } ); + + this.keys = {}; + + this._.focusIndex = -1; + + // Disable context menu for panels. + this.element.disableContextMenu(); + }, + + _: { + + /** + * Mark the item specified by the index as current activated. + */ + markItem: function( index ) { + if ( index == -1 ) + return; + var links = this.element.getElementsByTag( 'a' ); + var item = links.getItem( this._.focusIndex = index ); + + // Safari need focus on the iframe window first(#3389), but we need + // lock the blur to avoid hiding the panel. + if ( CKEDITOR.env.webkit || CKEDITOR.env.opera ) + item.getDocument().getWindow().focus(); + item.focus(); + + this.onMark && this.onMark( item ); + } + }, + + proto: { + show: function() { + this.element.setStyle( 'display', '' ); + }, + + hide: function() { + if ( !this.onHide || this.onHide.call( this ) !== true ) + this.element.setStyle( 'display', 'none' ); + }, + + onKeyDown: function( keystroke, noCycle ) { + var keyAction = this.keys[ keystroke ]; + switch ( keyAction ) { + // Move forward. + case 'next': + var index = this._.focusIndex, + links = this.element.getElementsByTag( 'a' ), + link; + + while ( ( link = links.getItem( ++index ) ) ) { + // Move the focus only if the element is marked with + // the _cke_focus and it it's visible (check if it has + // width). + if ( link.getAttribute( '_cke_focus' ) && link.$.offsetWidth ) { + this._.focusIndex = index; + link.focus(); + break; + } + } + + // If no link was found, cycle and restart from the top. (#11125) + if ( !link && !noCycle ) { + this._.focusIndex = -1; + return this.onKeyDown( keystroke, 1 ); + } + + return false; + + // Move backward. + case 'prev': + index = this._.focusIndex; + links = this.element.getElementsByTag( 'a' ); + + while ( index > 0 && ( link = links.getItem( --index ) ) ) { + // Move the focus only if the element is marked with + // the _cke_focus and it it's visible (check if it has + // width). + if ( link.getAttribute( '_cke_focus' ) && link.$.offsetWidth ) { + this._.focusIndex = index; + link.focus(); + break; + } + + // Make sure link is null when the loop ends and nothing was + // found (#11125). + link = null; + } + + // If no link was found, cycle and restart from the bottom. (#11125) + if ( !link && !noCycle ) { + this._.focusIndex = links.count(); + return this.onKeyDown( keystroke, 1 ); + } + + return false; + + case 'click': + case 'mouseup': + index = this._.focusIndex; + link = index >= 0 && this.element.getElementsByTag( 'a' ).getItem( index ); + + if ( link ) + link.$[ keyAction ] ? link.$[ keyAction ]() : link.$[ 'on' + keyAction ](); + + return false; + } + + return true; + } + } + } ); + +} )(); + +/** + * Fired when a panel is added to the document. + * + * @event ariaWidget + * @member CKEDITOR + * @param {Object} data The element wrapping the panel. + */ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/panelbutton/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/panelbutton/plugin.js new file mode 100644 index 00000000000..6698ffe0319 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/panelbutton/plugin.js @@ -0,0 +1,138 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +CKEDITOR.plugins.add( 'panelbutton', { + requires: 'button', + onLoad: function() { + function clickFn( editor ) { + var _ = this._; + + if ( _.state == CKEDITOR.TRISTATE_DISABLED ) + return; + + this.createPanel( editor ); + + if ( _.on ) { + _.panel.hide(); + return; + } + + _.panel.showBlock( this._.id, this.document.getById( this._.id ), 4 ); + } + + /** + * @class + * @extends CKEDITOR.ui.button + * @todo class and methods + */ + CKEDITOR.ui.panelButton = CKEDITOR.tools.createClass( { + base: CKEDITOR.ui.button, + + /** + * Creates a panelButton class instance. + * + * @constructor + */ + $: function( definition ) { + // We don't want the panel definition in this object. + var panelDefinition = definition.panel || {}; + delete definition.panel; + + this.base( definition ); + + this.document = ( panelDefinition.parent && panelDefinition.parent.getDocument() ) || CKEDITOR.document; + + panelDefinition.block = { + attributes: panelDefinition.attributes + }; + panelDefinition.toolbarRelated = true; + + this.hasArrow = true; + + this.click = clickFn; + + this._ = { + panelDefinition: panelDefinition + }; + }, + + statics: { + handler: { + create: function( definition ) { + return new CKEDITOR.ui.panelButton( definition ); + } + } + }, + + proto: { + createPanel: function( editor ) { + var _ = this._; + + if ( _.panel ) + return; + + var panelDefinition = this._.panelDefinition, + panelBlockDefinition = this._.panelDefinition.block, + panelParentElement = panelDefinition.parent || CKEDITOR.document.getBody(), + panel = this._.panel = new CKEDITOR.ui.floatPanel( editor, panelParentElement, panelDefinition ), + block = panel.addBlock( _.id, panelBlockDefinition ), + me = this; + + panel.onShow = function() { + if ( me.className ) + this.element.addClass( me.className + '_panel' ); + + me.setState( CKEDITOR.TRISTATE_ON ); + + _.on = 1; + + me.editorFocus && editor.focus(); + + if ( me.onOpen ) + me.onOpen(); + }; + + panel.onHide = function( preventOnClose ) { + if ( me.className ) + this.element.getFirst().removeClass( me.className + '_panel' ); + + me.setState( me.modes && me.modes[ editor.mode ] ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED ); + + _.on = 0; + + if ( !preventOnClose && me.onClose ) + me.onClose(); + }; + + panel.onEscape = function() { + panel.hide( 1 ); + me.document.getById( _.id ).focus(); + }; + + if ( this.onBlock ) + this.onBlock( panel, block ); + + block.onHide = function() { + _.on = 0; + me.setState( CKEDITOR.TRISTATE_OFF ); + }; + } + } + } ); + + }, + beforeInit: function( editor ) { + editor.ui.addHandler( CKEDITOR.UI_PANELBUTTON, CKEDITOR.ui.panelButton.handler ); + } +} ); + +/** + * Button UI element. + * + * @readonly + * @property {String} [='panelbutton'] + * @member CKEDITOR + */ +CKEDITOR.UI_PANELBUTTON = 'panelbutton'; diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/filter/default.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/filter/default.js new file mode 100644 index 00000000000..66ec929b12b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/filter/default.js @@ -0,0 +1,1210 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +( function() { + var fragmentPrototype = CKEDITOR.htmlParser.fragment.prototype, + elementPrototype = CKEDITOR.htmlParser.element.prototype; + + fragmentPrototype.onlyChild = elementPrototype.onlyChild = function() { + var children = this.children, + count = children.length, + firstChild = ( count == 1 ) && children[ 0 ]; + return firstChild || null; + }; + + elementPrototype.removeAnyChildWithName = function( tagName ) { + var children = this.children, + childs = [], + child; + + for ( var i = 0; i < children.length; i++ ) { + child = children[ i ]; + if ( !child.name ) + continue; + + if ( child.name == tagName ) { + childs.push( child ); + children.splice( i--, 1 ); + } + childs = childs.concat( child.removeAnyChildWithName( tagName ) ); + } + return childs; + }; + + elementPrototype.getAncestor = function( tagNameRegex ) { + var parent = this.parent; + while ( parent && !( parent.name && parent.name.match( tagNameRegex ) ) ) + parent = parent.parent; + return parent; + }; + + fragmentPrototype.firstChild = elementPrototype.firstChild = function( evaluator ) { + var child; + + for ( var i = 0; i < this.children.length; i++ ) { + child = this.children[ i ]; + if ( evaluator( child ) ) + return child; + else if ( child.name ) { + child = child.firstChild( evaluator ); + if ( child ) + return child; + } + } + + return null; + }; + + // Adding a (set) of styles to the element's 'style' attributes. + elementPrototype.addStyle = function( name, value, isPrepend ) { + var styleText, + addingStyleText = ''; + // name/value pair. + if ( typeof value == 'string' ) + addingStyleText += name + ':' + value + ';'; + else { + // style literal. + if ( typeof name == 'object' ) { + for ( var style in name ) { + if ( name.hasOwnProperty( style ) ) + addingStyleText += style + ':' + name[ style ] + ';'; + } + } + // raw style text form. + else + addingStyleText += name; + + isPrepend = value; + } + + if ( !this.attributes ) + this.attributes = {}; + + styleText = this.attributes.style || ''; + + styleText = ( isPrepend ? [ addingStyleText, styleText ] : [ styleText, addingStyleText ] ).join( ';' ); + + this.attributes.style = styleText.replace( /^;|;(?=;)/, '' ); + }; + + // Retrieve a style property value of the element. + elementPrototype.getStyle = function( name ) { + var styles = this.attributes.style; + if ( styles ) { + styles = CKEDITOR.tools.parseCssText( styles, 1 ); + return styles[ name ]; + } + }; + + /** + * Return the DTD-valid parent tag names of the specified one. + * + * @member CKEDITOR.dtd + * @param {String} tagName + * @returns {Object} + */ + CKEDITOR.dtd.parentOf = function( tagName ) { + var result = {}; + for ( var tag in this ) { + if ( tag.indexOf( '$' ) == -1 && this[ tag ][ tagName ] ) + result[ tag ] = 1; + } + return result; + }; + + // 1. move consistent list item styles up to list root. + // 2. clear out unnecessary list item numbering. + function postProcessList( list ) { + var children = list.children, + child, attrs, + count = list.children.length, + match, mergeStyle, + styleTypeRegexp = /list-style-type:(.*?)(?:;|$)/, + stylesFilter = CKEDITOR.plugins.pastefromword.filters.stylesFilter; + + attrs = list.attributes; + if ( styleTypeRegexp.exec( attrs.style ) ) + return; + + for ( var i = 0; i < count; i++ ) { + child = children[ i ]; + + if ( child.attributes.value && Number( child.attributes.value ) == i + 1 ) + delete child.attributes.value; + + match = styleTypeRegexp.exec( child.attributes.style ); + + if ( match ) { + if ( match[ 1 ] == mergeStyle || !mergeStyle ) + mergeStyle = match[ 1 ]; + else { + mergeStyle = null; + break; + } + } + } + + if ( mergeStyle ) { + for ( i = 0; i < count; i++ ) { + attrs = children[ i ].attributes; + attrs.style && ( attrs.style = stylesFilter( [ [ 'list-style-type' ] ] )( attrs.style ) || '' ); + } + + list.addStyle( 'list-style-type', mergeStyle ); + } + } + + var cssLengthRelativeUnit = /^([.\d]*)+(em|ex|px|gd|rem|vw|vh|vm|ch|mm|cm|in|pt|pc|deg|rad|ms|s|hz|khz){1}?/i; + var emptyMarginRegex = /^(?:\b0[^\s]*\s*){1,4}$/; // e.g. 0px 0pt 0px + var romanLiternalPattern = '^m{0,4}(cm|cd|d?c{0,3})(xc|xl|l?x{0,3})(ix|iv|v?i{0,3})$', + lowerRomanLiteralRegex = new RegExp( romanLiternalPattern ), + upperRomanLiteralRegex = new RegExp( romanLiternalPattern.toUpperCase() ); + + var orderedPatterns = { 'decimal': /\d+/, 'lower-roman': lowerRomanLiteralRegex, 'upper-roman': upperRomanLiteralRegex, 'lower-alpha': /^[a-z]+$/, 'upper-alpha': /^[A-Z]+$/ }, + unorderedPatterns = { 'disc': /[l\u00B7\u2002]/, 'circle': /[\u006F\u00D8]/, 'square': /[\u006E\u25C6]/ }, + listMarkerPatterns = { 'ol': orderedPatterns, 'ul': unorderedPatterns }, + romans = [ [ 1000, 'M' ], [ 900, 'CM' ], [ 500, 'D' ], [ 400, 'CD' ], [ 100, 'C' ], [ 90, 'XC' ], [ 50, 'L' ], [ 40, 'XL' ], [ 10, 'X' ], [ 9, 'IX' ], [ 5, 'V' ], [ 4, 'IV' ], [ 1, 'I' ] ], + alpahbets = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; + + // Convert roman numbering back to decimal. + function fromRoman( str ) { + str = str.toUpperCase(); + var l = romans.length, + retVal = 0; + for ( var i = 0; i < l; ++i ) { + for ( var j = romans[ i ], k = j[ 1 ].length; str.substr( 0, k ) == j[ 1 ]; str = str.substr( k ) ) + retVal += j[ 0 ]; + } + return retVal; + } + + // Convert alphabet numbering back to decimal. + function fromAlphabet( str ) { + str = str.toUpperCase(); + var l = alpahbets.length, + retVal = 1; + for ( var x = 1; str.length > 0; x *= l ) { + retVal += alpahbets.indexOf( str.charAt( str.length - 1 ) ) * x; + str = str.substr( 0, str.length - 1 ); + } + return retVal; + } + + var listBaseIndent = 0, + previousListItemMargin = null, + previousListId; + + var plugin = ( CKEDITOR.plugins.pastefromword = { + utils: { + // Create a which indicate an list item type. + createListBulletMarker: function( bullet, bulletText ) { + var marker = new CKEDITOR.htmlParser.element( 'cke:listbullet' ); + marker.attributes = { 'cke:listsymbol': bullet[ 0 ] }; + marker.add( new CKEDITOR.htmlParser.text( bulletText ) ); + return marker; + }, + + isListBulletIndicator: function( element ) { + var styleText = element.attributes && element.attributes.style; + if ( /mso-list\s*:\s*Ignore/i.test( styleText ) ) + return true; + }, + + isContainingOnlySpaces: function( element ) { + var text; + return ( ( text = element.onlyChild() ) && ( /^(:?\s| )+$/ ).test( text.value ) ); + }, + + resolveList: function( element ) { + // indicate a list item. + var attrs = element.attributes, + listMarker; + + if ( ( listMarker = element.removeAnyChildWithName( 'cke:listbullet' ) ) && listMarker.length && ( listMarker = listMarker[ 0 ] ) ) { + element.name = 'cke:li'; + + if ( attrs.style ) { + attrs.style = plugin.filters.stylesFilter( [ + // Text-indent is not representing list item level any more. + [ 'text-indent' ], + [ 'line-height' ], + // First attempt is to resolve indent level from on a constant margin increment. + [ ( /^margin(:?-left)?$/ ), null, function( margin ) { + // Deal with component/short-hand form. + var values = margin.split( ' ' ); + margin = CKEDITOR.tools.convertToPx( values[ 3 ] || values[ 1 ] || values[ 0 ] ); + + // Figure out the indent unit by checking the first time of incrementation. + if ( !listBaseIndent && previousListItemMargin !== null && margin > previousListItemMargin ) + listBaseIndent = margin - previousListItemMargin; + + previousListItemMargin = margin; + + attrs[ 'cke:indent' ] = listBaseIndent && ( Math.ceil( margin / listBaseIndent ) + 1 ) || 1; + } ], + // The best situation: "mso-list:l0 level1 lfo2" tells the belonged list root, list item indentation, etc. + [ ( /^mso-list$/ ), null, function( val ) { + val = val.split( ' ' ); + var listId = Number( val[ 0 ].match( /\d+/ ) ), + indent = Number( val[ 1 ].match( /\d+/ ) ); + + if ( indent == 1 ) { + listId !== previousListId && ( attrs[ 'cke:reset' ] = 1 ); + previousListId = listId; + } + attrs[ 'cke:indent' ] = indent; + } ] + ] )( attrs.style, element ) || ''; + } + + // First level list item might be presented without a margin. + + + // In case all above doesn't apply. + if ( !attrs[ 'cke:indent' ] ) { + previousListItemMargin = 0; + attrs[ 'cke:indent' ] = 1; + } + + // Inherit attributes from bullet. + CKEDITOR.tools.extend( attrs, listMarker.attributes ); + return true; + } + // Current list disconnected. + else + previousListId = previousListItemMargin = listBaseIndent = null; + + return false; + }, + + // Providing a shorthand style then retrieve one or more style component values. + getStyleComponents: ( function() { + var calculator = CKEDITOR.dom.element.createFromHtml( '
    ', CKEDITOR.document ); + CKEDITOR.document.getBody().append( calculator ); + + return function( name, styleValue, fetchList ) { + calculator.setStyle( name, styleValue ); + var styles = {}, + count = fetchList.length; + for ( var i = 0; i < count; i++ ) + styles[ fetchList[ i ] ] = calculator.getStyle( fetchList[ i ] ); + + return styles; + }; + } )(), + + listDtdParents: CKEDITOR.dtd.parentOf( 'ol' ) + }, + + filters: { + // Transform a normal list into flat list items only presentation. + // E.g.
    • level1
      1. level2
    • => + // level1 + // level2 + flattenList: function( element, level ) { + level = typeof level == 'number' ? level : 1; + + var attrs = element.attributes, + listStyleType; + + // All list items are of the same type. + switch ( attrs.type ) { + case 'a': + listStyleType = 'lower-alpha'; + break; + case '1': + listStyleType = 'decimal'; + break; + // TODO: Support more list style type from MS-Word. + } + + var children = element.children, + child; + + for ( var i = 0; i < children.length; i++ ) { + child = children[ i ]; + + if ( child.name in CKEDITOR.dtd.$listItem ) { + var attributes = child.attributes, + listItemChildren = child.children, + count = listItemChildren.length, + last = listItemChildren[ count - 1 ]; + + // Move out nested list. + if ( last.name in CKEDITOR.dtd.$list ) { + element.add( last, i + 1 ); + + // Remove the parent list item if it's just a holder. + if ( !--listItemChildren.length ) + children.splice( i--, 1 ); + } + + child.name = 'cke:li'; + + // Inherit numbering from list root on the first list item. + attrs.start && !i && ( attributes.value = attrs.start ); + + plugin.filters.stylesFilter( [ + [ 'tab-stops', null, function( val ) { + var margin = val.split( ' ' )[ 1 ].match( cssLengthRelativeUnit ); + margin && ( previousListItemMargin = CKEDITOR.tools.convertToPx( margin[ 0 ] ) ); + } ], + ( level == 1 ? [ 'mso-list', null, function( val ) { + val = val.split( ' ' ); + var listId = Number( val[ 0 ].match( /\d+/ ) ); + listId !== previousListId && ( attributes[ 'cke:reset' ] = 1 ); + previousListId = listId; + } ] : null ) + ] )( attributes.style ); + + attributes[ 'cke:indent' ] = level; + attributes[ 'cke:listtype' ] = element.name; + attributes[ 'cke:list-style-type' ] = listStyleType; + } + // Flatten sub list. + else if ( child.name in CKEDITOR.dtd.$list ) { + // Absorb sub list children. + arguments.callee.apply( this, [ child, level + 1 ] ); + children = children.slice( 0, i ).concat( child.children ).concat( children.slice( i + 1 ) ); + element.children = []; + for ( var j = 0, num = children.length; j < num; j++ ) + element.add( children[ j ] ); + + children = element.children; + } + } + + delete element.name; + + // We're loosing tag name here, signalize this element as a list. + attrs[ 'cke:list' ] = 1; + }, + + // Try to collect all list items among the children and establish one + // or more HTML list structures for them. + // @param element + assembleList: function( element ) { + var children = element.children, + child, listItem, // The current processing cke:li element. + listItemAttrs, listItemIndent, // Indent level of current list item. + lastIndent, lastListItem, // The previous one just been added to the list. + list, // Current staging list and it's parent list if any. + openedLists = [], + previousListStyleType, previousListType; + + // Properties of the list item are to be resolved from the list bullet. + var bullet, listType, listStyleType, itemNumeric; + + for ( var i = 0; i < children.length; i++ ) { + child = children[ i ]; + + if ( 'cke:li' == child.name ) { + child.name = 'li'; + listItem = child; + listItemAttrs = listItem.attributes; + bullet = listItemAttrs[ 'cke:listsymbol' ]; + bullet = bullet && bullet.match( /^(?:[(]?)([^\s]+?)([.)]?)$/ ); + listType = listStyleType = itemNumeric = null; + + if ( listItemAttrs[ 'cke:ignored' ] ) { + children.splice( i--, 1 ); + continue; + } + + + // This's from a new list root. + listItemAttrs[ 'cke:reset' ] && ( list = lastIndent = lastListItem = null ); + + // List item indent level might come from a real list indentation or + // been resolved from a pseudo list item's margin value, even get + // no indentation at all. + listItemIndent = Number( listItemAttrs[ 'cke:indent' ] ); + + // We're moving out of the current list, cleaning up. + if ( listItemIndent != lastIndent ) + previousListType = previousListStyleType = null; + + // List type and item style are already resolved. + if ( !bullet ) { + listType = listItemAttrs[ 'cke:listtype' ] || 'ol'; + listStyleType = listItemAttrs[ 'cke:list-style-type' ]; + } else { + // Probably share the same list style type with previous list item, + // give it priority to avoid ambiguous between C(Alpha) and C.(Roman). + if ( previousListType && listMarkerPatterns[ previousListType ][ previousListStyleType ].test( bullet[ 1 ] ) ) { + listType = previousListType; + listStyleType = previousListStyleType; + } else { + for ( var type in listMarkerPatterns ) { + for ( var style in listMarkerPatterns[ type ] ) { + if ( listMarkerPatterns[ type ][ style ].test( bullet[ 1 ] ) ) { + // Small numbering has higher priority, when dealing with ambiguous + // between C(Alpha) and C.(Roman). + if ( type == 'ol' && ( /alpha|roman/ ).test( style ) ) { + var num = /roman/.test( style ) ? fromRoman( bullet[ 1 ] ) : fromAlphabet( bullet[ 1 ] ); + if ( !itemNumeric || num < itemNumeric ) { + itemNumeric = num; + listType = type; + listStyleType = style; + } + } else { + listType = type; + listStyleType = style; + break; + } + } + } + } + } + + // Simply use decimal/disc for the rest forms of unrepresentable + // numerals, e.g. Chinese..., but as long as there a second part + // included, it has a bigger chance of being a order list ;) + !listType && ( listType = bullet[ 2 ] ? 'ol' : 'ul' ); + } + + previousListType = listType; + previousListStyleType = listStyleType || ( listType == 'ol' ? 'decimal' : 'disc' ); + if ( listStyleType && listStyleType != ( listType == 'ol' ? 'decimal' : 'disc' ) ) + listItem.addStyle( 'list-style-type', listStyleType ); + + // Figure out start numbering. + if ( listType == 'ol' && bullet ) { + switch ( listStyleType ) { + case 'decimal': + itemNumeric = Number( bullet[ 1 ] ); + break; + case 'lower-roman': + case 'upper-roman': + itemNumeric = fromRoman( bullet[ 1 ] ); + break; + case 'lower-alpha': + case 'upper-alpha': + itemNumeric = fromAlphabet( bullet[ 1 ] ); + break; + } + + // Always create the numbering, swipe out unnecessary ones later. + listItem.attributes.value = itemNumeric; + } + + // Start the list construction. + if ( !list ) { + openedLists.push( list = new CKEDITOR.htmlParser.element( listType ) ); + list.add( listItem ); + children[ i ] = list; + } else { + if ( listItemIndent > lastIndent ) { + openedLists.push( list = new CKEDITOR.htmlParser.element( listType ) ); + list.add( listItem ); + lastListItem.add( list ); + } else if ( listItemIndent < lastIndent ) { + // There might be a negative gap between two list levels. (#4944) + var diff = lastIndent - listItemIndent, + parent; + while ( diff-- && ( parent = list.parent ) ) + list = parent.parent; + + list.add( listItem ); + } else + list.add( listItem ); + + children.splice( i--, 1 ); + } + + lastListItem = listItem; + lastIndent = listItemIndent; + } else if ( list ) + list = lastIndent = lastListItem = null; + } + + for ( i = 0; i < openedLists.length; i++ ) + postProcessList( openedLists[ i ] ); + + list = lastIndent = lastListItem = previousListId = previousListItemMargin = listBaseIndent = null; + }, + + // A simple filter which always rejecting. + falsyFilter: function( value ) { + return false; + }, + + // A filter dedicated on the 'style' attribute filtering, e.g. dropping/replacing style properties. + // @param styles {Array} in form of [ styleNameRegexp, styleValueRegexp, + // newStyleValue/newStyleGenerator, newStyleName ] where only the first + // parameter is mandatory. + // @param whitelist {Boolean} Whether the {@param styles} will be considered as a white-list. + stylesFilter: function( styles, whitelist ) { + return function( styleText, element ) { + var rules = []; + // html-encoded quote might be introduced by 'font-family' + // from MS-Word which confused the following regexp. e.g. + //'font-family: "Lucida, Console"' + ( styleText || '' ).replace( /"/g, '"' ).replace( /\s*([^ :;]+)\s*:\s*([^;]+)\s*(?=;|$)/g, function( match, name, value ) { + name = name.toLowerCase(); + name == 'font-family' && ( value = value.replace( /["']/g, '' ) ); + + var namePattern, valuePattern, newValue, newName; + for ( var i = 0; i < styles.length; i++ ) { + if ( styles[ i ] ) { + namePattern = styles[ i ][ 0 ]; + valuePattern = styles[ i ][ 1 ]; + newValue = styles[ i ][ 2 ]; + newName = styles[ i ][ 3 ]; + + if ( name.match( namePattern ) && ( !valuePattern || value.match( valuePattern ) ) ) { + name = newName || name; + whitelist && ( newValue = newValue || value ); + + if ( typeof newValue == 'function' ) + newValue = newValue( value, element, name ); + + // Return an couple indicate both name and value + // changed. + if ( newValue && newValue.push ) + name = newValue[ 0 ], newValue = newValue[ 1 ]; + + if ( typeof newValue == 'string' ) + rules.push( [ name, newValue ] ); + return; + } + } + } + + !whitelist && rules.push( [ name, value ] ); + + } ); + + for ( var i = 0; i < rules.length; i++ ) + rules[ i ] = rules[ i ].join( ':' ); + return rules.length ? ( rules.join( ';' ) + ';' ) : false; + }; + }, + + // Migrate the element by decorate styles on it. + // @param styleDefinition + // @param variables + elementMigrateFilter: function( styleDefinition, variables ) { + return styleDefinition ? function( element ) { + var styleDef = variables ? new CKEDITOR.style( styleDefinition, variables )._.definition : styleDefinition; + element.name = styleDef.element; + CKEDITOR.tools.extend( element.attributes, CKEDITOR.tools.clone( styleDef.attributes ) ); + element.addStyle( CKEDITOR.style.getStyleText( styleDef ) ); + } : function() {}; + }, + + // Migrate styles by creating a new nested stylish element. + // @param styleDefinition + styleMigrateFilter: function( styleDefinition, variableName ) { + + var elementMigrateFilter = this.elementMigrateFilter; + return styleDefinition ? function( value, element ) { + // Build an stylish element first. + var styleElement = new CKEDITOR.htmlParser.element( null ), + variables = {}; + + variables[ variableName ] = value; + elementMigrateFilter( styleDefinition, variables )( styleElement ); + // Place the new element inside the existing span. + styleElement.children = element.children; + element.children = [ styleElement ]; + + // #10285 - later on styleElement will replace element if element won't have any attributes. + // However, in some cases styleElement is identical to element and therefore should not be filtered + // to avoid inf loop. Unfortunately calling element.filterChildren() does not prevent from that (#10327). + // However, we can assume that we don't need to filter styleElement at all, so it is safe to replace + // its filter method. + styleElement.filter = function() {}; + styleElement.parent = element; + } : function() {}; + }, + + // A filter which remove cke-namespaced-attribute on + // all none-cke-namespaced elements. + // @param value + // @param element + bogusAttrFilter: function( value, element ) { + if ( element.name.indexOf( 'cke:' ) == -1 ) + return false; + }, + + // A filter which will be used to apply inline css style according the stylesheet + // definition rules, is generated lazily when filtering. + applyStyleFilter: null + + }, + + getRules: function( editor, filter ) { + var dtd = CKEDITOR.dtd, + blockLike = CKEDITOR.tools.extend( {}, dtd.$block, dtd.$listItem, dtd.$tableContent ), + config = editor.config, + filters = this.filters, + falsyFilter = filters.falsyFilter, + stylesFilter = filters.stylesFilter, + elementMigrateFilter = filters.elementMigrateFilter, + styleMigrateFilter = CKEDITOR.tools.bind( this.filters.styleMigrateFilter, this.filters ), + createListBulletMarker = this.utils.createListBulletMarker, + flattenList = filters.flattenList, + assembleList = filters.assembleList, + isListBulletIndicator = this.utils.isListBulletIndicator, + containsNothingButSpaces = this.utils.isContainingOnlySpaces, + resolveListItem = this.utils.resolveList, + convertToPx = function( value ) { + value = CKEDITOR.tools.convertToPx( value ); + return isNaN( value ) ? value : value + 'px'; + }, + getStyleComponents = this.utils.getStyleComponents, + listDtdParents = this.utils.listDtdParents, + removeFontStyles = config.pasteFromWordRemoveFontStyles !== false, + removeStyles = config.pasteFromWordRemoveStyles !== false; + + return { + + elementNames: [ + // Remove script, meta and link elements. + [ ( /meta|link|script/ ), '' ] + ], + + root: function( element ) { + element.filterChildren( filter ); + assembleList( element ); + }, + + elements: { + '^': function( element ) { + // Transform CSS style declaration to inline style. + var applyStyleFilter; + if ( CKEDITOR.env.gecko && ( applyStyleFilter = filters.applyStyleFilter ) ) + applyStyleFilter( element ); + }, + + $: function( element ) { + var tagName = element.name || '', + attrs = element.attributes; + + // Convert length unit of width/height on blocks to + // a more editor-friendly way (px). + if ( tagName in blockLike && attrs.style ) + attrs.style = stylesFilter( [ [ ( /^(:?width|height)$/ ), null, convertToPx ] ] )( attrs.style ) || ''; + + // Processing headings. + if ( tagName.match( /h\d/ ) ) { + element.filterChildren( filter ); + // Is the heading actually a list item? + if ( resolveListItem( element ) ) + return; + + // Adapt heading styles to editor's convention. + elementMigrateFilter( config[ 'format_' + tagName ] )( element ); + } + // Remove inline elements which contain only empty spaces. + else if ( tagName in dtd.$inline ) { + element.filterChildren( filter ); + if ( containsNothingButSpaces( element ) ) + delete element.name; + } + // Remove element with ms-office namespace, + // with it's content preserved, e.g. 'o:p'. + else if ( tagName.indexOf( ':' ) != -1 && tagName.indexOf( 'cke' ) == -1 ) { + element.filterChildren( filter ); + + // Restore image real link from vml. + if ( tagName == 'v:imagedata' ) { + var href = element.attributes[ 'o:href' ]; + if ( href ) + element.attributes.src = href; + element.name = 'img'; + return; + } + delete element.name; + } + + // Assembling list items into a whole list. + if ( tagName in listDtdParents ) { + element.filterChildren( filter ); + assembleList( element ); + } + }, + + // We'll drop any style sheet, but Firefox conclude + // certain styles in a single style element, which are + // required to be changed into inline ones. + 'style': function( element ) { + if ( CKEDITOR.env.gecko ) { + // Grab only the style definition section. + var styleDefSection = element.onlyChild().value.match( /\/\* Style Definitions \*\/([\s\S]*?)\/\*/ ), + styleDefText = styleDefSection && styleDefSection[ 1 ], + rules = {}; // Storing the parsed result. + + if ( styleDefText ) { + styleDefText + // Remove line-breaks. + .replace( /[\n\r]/g, '' ) + // Extract selectors and style properties. + .replace( /(.+?)\{(.+?)\}/g, function( rule, selectors, styleBlock ) { + selectors = selectors.split( ',' ); + var length = selectors.length, + selector; + for ( var i = 0; i < length; i++ ) { + // Assume MS-Word mostly generate only simple + // selector( [Type selector][Class selector]). + CKEDITOR.tools.trim( selectors[ i ] ).replace( /^(\w+)(\.[\w-]+)?$/g, function( match, tagName, className ) { + tagName = tagName || '*'; + className = className.substring( 1, className.length ); + + // Reject MS-Word Normal styles. + if ( className.match( /MsoNormal/ ) ) + return; + + if ( !rules[ tagName ] ) + rules[ tagName ] = {}; + if ( className ) + rules[ tagName ][ className ] = styleBlock; + else + rules[ tagName ] = styleBlock; + } ); + } + } ); + + filters.applyStyleFilter = function( element ) { + var name = rules[ '*' ] ? '*' : element.name, + className = element.attributes && element.attributes[ 'class' ], + style; + if ( name in rules ) { + style = rules[ name ]; + if ( typeof style == 'object' ) + style = style[ className ]; + // Maintain style rules priorities. + style && element.addStyle( style, true ); + } + }; + } + } + return false; + }, + + 'p': function( element ) { + // A a fall-back approach to resolve list item in browsers + // that doesn't include "mso-list:Ignore" on list bullets, + // note it's not perfect as not all list style (e.g. "heading list") is shipped + // with this pattern. (#6662) + if ( ( /MsoListParagraph/i ).exec( element.attributes[ 'class' ] ) || element.getStyle( 'mso-list' ) ) { + var bulletText = element.firstChild( function( node ) { + return node.type == CKEDITOR.NODE_TEXT && !containsNothingButSpaces( node.parent ); + } ); + + var bullet = bulletText && bulletText.parent; + if ( bullet ) + bullet.addStyle( 'mso-list', 'Ignore' ); + + } + + element.filterChildren( filter ); + + // Is the paragraph actually a list item? + if ( resolveListItem( element ) ) + return; + + // Adapt paragraph formatting to editor's convention + // according to enter-mode. + if ( config.enterMode == CKEDITOR.ENTER_BR ) { + // We suffer from attribute/style lost in this situation. + delete element.name; + element.add( new CKEDITOR.htmlParser.element( 'br' ) ); + } else + elementMigrateFilter( config[ 'format_' + ( config.enterMode == CKEDITOR.ENTER_P ? 'p' : 'div' ) ] )( element ); + }, + + 'div': function( element ) { + // Aligned table with no text surrounded is represented by a wrapper div, from which + // table cells inherit as text-align styles, which is wrong. + // Instead we use a clear-float div after the table to properly achieve the same layout. + var singleChild = element.onlyChild(); + if ( singleChild && singleChild.name == 'table' ) { + var attrs = element.attributes; + singleChild.attributes = CKEDITOR.tools.extend( singleChild.attributes, attrs ); + attrs.style && singleChild.addStyle( attrs.style ); + + var clearFloatDiv = new CKEDITOR.htmlParser.element( 'div' ); + clearFloatDiv.addStyle( 'clear', 'both' ); + element.add( clearFloatDiv ); + delete element.name; + } + }, + + 'td': function( element ) { + // 'td' in 'thead' is actually
    . + if ( element.getAncestor( 'thead' ) ) + element.name = 'th'; + }, + + // MS-Word sometimes present list as a mixing of normal list + // and pseudo-list, normalize the previous ones into pseudo form. + 'ol': flattenList, + 'ul': flattenList, + 'dl': flattenList, + + 'font': function( element ) { + // Drop the font tag if it comes from list bullet text. + if ( isListBulletIndicator( element.parent ) ) { + delete element.name; + return; + } + + element.filterChildren( filter ); + + var attrs = element.attributes, + styleText = attrs.style, + parent = element.parent; + + if ( 'font' == parent.name ) // Merge nested tags. + { + CKEDITOR.tools.extend( parent.attributes, element.attributes ); + styleText && parent.addStyle( styleText ); + delete element.name; + } + // Convert the merged into a span with all attributes preserved. + else { + styleText = styleText || ''; + // IE's having those deprecated attributes, normalize them. + if ( attrs.color ) { + attrs.color != '#000000' && ( styleText += 'color:' + attrs.color + ';' ); + delete attrs.color; + } + if ( attrs.face ) { + styleText += 'font-family:' + attrs.face + ';'; + delete attrs.face; + } + // TODO: Mapping size in ranges of xx-small, + // x-small, small, medium, large, x-large, xx-large. + if ( attrs.size ) { + styleText += 'font-size:' + + ( attrs.size > 3 ? 'large' : ( attrs.size < 3 ? 'small' : 'medium' ) ) + ';'; + delete attrs.size; + } + + element.name = 'span'; + element.addStyle( styleText ); + } + }, + + 'span': function( element ) { + // Remove the span if it comes from list bullet text. + if ( isListBulletIndicator( element.parent ) ) + return false; + + element.filterChildren( filter ); + if ( containsNothingButSpaces( element ) ) { + delete element.name; + return null; + } + + // List item bullet type is supposed to be indicated by + // the text of a span with style 'mso-list : Ignore' or an image. + if ( isListBulletIndicator( element ) ) { + var listSymbolNode = element.firstChild( function( node ) { + return node.value || node.name == 'img'; + } ); + + var listSymbol = listSymbolNode && ( listSymbolNode.value || 'l.' ), + listType = listSymbol && listSymbol.match( /^(?:[(]?)([^\s]+?)([.)]?)$/ ); + + if ( listType ) { + var marker = createListBulletMarker( listType, listSymbol ); + // Some non-existed list items might be carried by an inconsequential list, indicate by "mso-hide:all/display:none", + // those are to be removed later, now mark it with "cke:ignored". + var ancestor = element.getAncestor( 'span' ); + if ( ancestor && ( / mso-hide:\s*all|display:\s*none / ).test( ancestor.attributes.style ) ) + marker.attributes[ 'cke:ignored' ] = 1; + return marker; + } + } + + // Update the src attribute of image element with href. + var children = element.children, + attrs = element.attributes, + styleText = attrs && attrs.style, + firstChild = children && children[ 0 ]; + + // Assume MS-Word mostly carry font related styles on , + // adapting them to editor's convention. + if ( styleText ) { + attrs.style = stylesFilter( [ + // Drop 'inline-height' style which make lines overlapping. + [ 'line-height' ], + [ ( /^font-family$/ ), null, !removeFontStyles ? styleMigrateFilter( config[ 'font_style' ], 'family' ) : null ], + [ ( /^font-size$/ ), null, !removeFontStyles ? styleMigrateFilter( config[ 'fontSize_style' ], 'size' ) : null ], + [ ( /^color$/ ), null, !removeFontStyles ? styleMigrateFilter( config[ 'colorButton_foreStyle' ], 'color' ) : null ], + [ ( /^background-color$/ ), null, !removeFontStyles ? styleMigrateFilter( config[ 'colorButton_backStyle' ], 'color' ) : null ] + ] )( styleText, element ) || ''; + } + + if ( !attrs.style ) + delete attrs.style; + + if ( CKEDITOR.tools.isEmpty( attrs ) ) + delete element.name; + + return null; + }, + + // Migrate basic style formats to editor configured ones. + b: elementMigrateFilter( config[ 'coreStyles_bold' ] ), + i: elementMigrateFilter( config[ 'coreStyles_italic' ] ), + u: elementMigrateFilter( config[ 'coreStyles_underline' ] ), + s: elementMigrateFilter( config[ 'coreStyles_strike' ] ), + sup: elementMigrateFilter( config[ 'coreStyles_superscript' ] ), + sub: elementMigrateFilter( config[ 'coreStyles_subscript' ] ), + + // Remove full paths from links to anchors. + a: function( element ) { + var attrs = element.attributes; + if ( attrs.href && attrs.href.match( /^file:\/\/\/[\S]+#/i ) ) + attrs.href = attrs.href.replace( /^file:\/\/\/[^#]+/i, '' ); + }, + + 'cke:listbullet': function( element ) { + if ( element.getAncestor( /h\d/ ) && !config.pasteFromWordNumberedHeadingToList ) + delete element.name; + } + }, + + attributeNames: [ + // Remove onmouseover and onmouseout events (from MS Word comments effect) + [ ( /^onmouse(:?out|over)/ ), '' ], + // Onload on image element. + [ ( /^onload$/ ), '' ], + // Remove office and vml attribute from elements. + [ ( /(?:v|o):\w+/ ), '' ], + // Remove lang/language attributes. + [ ( /^lang/ ), '' ] + ], + + attributes: { + 'style': stylesFilter( removeStyles ? + // Provide a white-list of styles that we preserve, those should + // be the ones that could later be altered with editor tools. + [ + // Leave list-style-type + [ ( /^list-style-type$/ ), null ], + + // Preserve margin-left/right which used as default indent style in the editor. + [ ( /^margin$|^margin-(?!bottom|top)/ ), null, function( value, element, name ) { + if ( element.name in { p: 1, div: 1 } ) { + var indentStyleName = config.contentsLangDirection == 'ltr' ? 'margin-left' : 'margin-right'; + + // Extract component value from 'margin' shorthand. + if ( name == 'margin' ) + value = getStyleComponents( name, value, [ indentStyleName ] )[ indentStyleName ]; + else if ( name != indentStyleName ) + return null; + + if ( value && !emptyMarginRegex.test( value ) ) + return [ indentStyleName, value ]; + } + + return null; + } ], + + // Preserve clear float style. + [ ( /^clear$/ ) ], + + [ ( /^border.*|margin.*|vertical-align|float$/ ), null, function( value, element ) { + if ( element.name == 'img' ) + return value; + } ], + + [ ( /^width|height$/ ), null, function( value, element ) { + if ( element.name in { table: 1, td: 1, th: 1, img: 1 } ) + return value; + } ] + ] : + // Otherwise provide a black-list of styles that we remove. + [ + [ ( /^mso-/ ) ], + // Fixing color values. + [ ( /-color$/ ), null, function( value ) { + if ( value == 'transparent' ) + return false; + if ( CKEDITOR.env.gecko ) + return value.replace( /-moz-use-text-color/g, 'transparent' ); + } ], + // Remove empty margin values, e.g. 0.00001pt 0em 0pt + [ ( /^margin$/ ), emptyMarginRegex ], + [ 'text-indent', '0cm' ], + [ 'page-break-before' ], + [ 'tab-stops' ], + [ 'display', 'none' ], + removeFontStyles ? [ ( /font-?/ ) ] : null + ], removeStyles ), + + // Prefer width styles over 'width' attributes. + 'width': function( value, element ) { + if ( element.name in dtd.$tableContent ) + return false; + }, + // Prefer border styles over table 'border' attributes. + 'border': function( value, element ) { + if ( element.name in dtd.$tableContent ) + return false; + }, + + // Only Firefox carry style sheet from MS-Word, which + // will be applied by us manually. For other browsers + // the css className is useless. + 'class': falsyFilter, + + // MS-Word always generate 'background-color' along with 'bgcolor', + // simply drop the deprecated attributes. + 'bgcolor': falsyFilter, + + // Deprecate 'valign' attribute in favor of 'vertical-align'. + 'valign': removeStyles ? falsyFilter : function( value, element ) { + element.addStyle( 'vertical-align', value ); + return false; + } + }, + + // Fore none-IE, some useful data might be buried under these IE-conditional + // comments where RegExp were the right approach to dig them out where usual approach + // is transform it into a fake element node which hold the desired data. + comment: !CKEDITOR.env.ie ? function( value, node ) { + var imageInfo = value.match( // ), + listInfo = value.match( /^\[if !supportLists\]([\s\S]*?)\[endif\]$/ ); + + // Seek for list bullet indicator. + if ( listInfo ) { + // Bullet symbol could be either text or an image. + var listSymbol = listInfo[ 1 ] || ( imageInfo && 'l.' ), + listType = listSymbol && listSymbol.match( />(?:[(]?)([^\s]+?)([.)]?) element in conditional comments for Firefox. + if ( CKEDITOR.env.gecko && imageInfo ) { + var img = CKEDITOR.htmlParser.fragment.fromHtml( imageInfo[ 0 ] ).children[ 0 ], + previousComment = node.previous, + // Try to dig the real image link from vml markup from previous comment text. + imgSrcInfo = previousComment && previousComment.value.match( /]*o:href=['"](.*?)['"]/ ), + imgSrc = imgSrcInfo && imgSrcInfo[ 1 ]; + + // Is there a real 'src' url to be used? + imgSrc && ( img.attributes.src = imgSrc ); + return img; + } + + return false; + } : falsyFilter + }; + } + } ); + + // The paste processor here is just a reduced copy of html data processor. + var pasteProcessor = function() { + this.dataFilter = new CKEDITOR.htmlParser.filter(); + }; + + pasteProcessor.prototype = { + toHtml: function( data ) { + var fragment = CKEDITOR.htmlParser.fragment.fromHtml( data ), + writer = new CKEDITOR.htmlParser.basicWriter(); + + fragment.writeHtml( writer, this.dataFilter ); + return writer.getHtml( true ); + } + }; + + CKEDITOR.cleanWord = function( data, editor ) { + // Firefox will be confused by those downlevel-revealed IE conditional + // comments, fixing them first( convert it to upperlevel-revealed one ). + // e.g. ... + if ( CKEDITOR.env.gecko ) + data = data.replace( /(([\S\s]*?))/gi, '$1$2$3' ); + + // #9456 - Webkit doesn't wrap list number with span, which is crucial for filter to recognize list. + // + //

    + // + // 3.       + // Test3 + //

    + // + // Transform to: + // + //

    + // + // + // 3.       + // + // Test3 + //

    + if ( CKEDITOR.env.webkit ) + data = data.replace( /(class="MsoListParagraph[^>]+>)([^<]+)()/gi, '$1$2$3' ); + + var dataProcessor = new pasteProcessor(), + dataFilter = dataProcessor.dataFilter; + + // These rules will have higher priorities than default ones. + dataFilter.addRules( CKEDITOR.plugins.pastefromword.getRules( editor, dataFilter ) ); + + // Allow extending data filter rules. + editor.fire( 'beforeCleanWord', { filter: dataFilter } ); + + try { + data = dataProcessor.toHtml( data ); + } catch ( e ) { + alert( editor.lang.pastefromword.error ); + } + + // Below post processing those things that are unable to delivered by filter rules. + + // Remove 'cke' namespaced attribute used in filter rules as marker. + data = data.replace( /cke:.*?".*?"/g, '' ); + + // Remove empty style attribute. + data = data.replace( /style=""/g, '' ); + + // Remove the dummy spans ( having no inline style ). + data = data.replace( //g, '' ); + + return data; + }; +} )(); + +/** + * Whether to ignore all font related formatting styles, including: + * + * * font size; + * * font family; + * * font foreground/background color. + * + * config.pasteFromWordRemoveFontStyles = false; + * + * @since 3.1 + * @cfg {Boolean} [pasteFromWordRemoveFontStyles=true] + * @member CKEDITOR.config + */ + +/** + * Whether to transform MS Word outline numbered headings into lists. + * + * config.pasteFromWordNumberedHeadingToList = true; + * + * @since 3.1 + * @cfg {Boolean} [pasteFromWordNumberedHeadingToList=false] + * @member CKEDITOR.config + */ + +/** + * Whether to remove element styles that can't be managed with the editor. Note + * that this doesn't handle the font specific styles, which depends on the + * {@link #pasteFromWordRemoveFontStyles} setting instead. + * + * config.pasteFromWordRemoveStyles = false; + * + * @since 3.1 + * @cfg {Boolean} [pasteFromWordRemoveStyles=true] + * @member CKEDITOR.config + */ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/icons/hidpi/pastefromword-rtl.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/icons/hidpi/pastefromword-rtl.png new file mode 100644 index 00000000000..142bd569526 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/icons/hidpi/pastefromword-rtl.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/icons/hidpi/pastefromword.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/icons/hidpi/pastefromword.png new file mode 100644 index 00000000000..ac043cddb89 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/icons/hidpi/pastefromword.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/icons/pastefromword-rtl.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/icons/pastefromword-rtl.png new file mode 100644 index 00000000000..7b69c5550c3 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/icons/pastefromword-rtl.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/icons/pastefromword.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/icons/pastefromword.png new file mode 100644 index 00000000000..61a0ae43f58 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/icons/pastefromword.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/af.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/af.js new file mode 100644 index 00000000000..8bc74995ab4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/af.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'af', { + confirmCleanup: 'Die teks wat u wil plak lyk asof dit uit Word gekopiëer is. Wil u dit eers skoonmaak voordat dit geplak word?', + error: 'Die geplakte teks kon nie skoongemaak word nie, weens \'n interne fout', + title: 'Plak vanuit Word', + toolbar: 'Plak vanuit Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ar.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ar.js new file mode 100644 index 00000000000..b76b67310a9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ar.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ar', { + confirmCleanup: 'يبدو أن النص المراد لصقه منسوخ من برنامج وورد. هل تود تنظيفه قبل الشروع في عملية اللصق؟', + error: 'لم يتم مسح المعلومات الملصقة لخلل داخلي', + title: 'لصق من وورد', + toolbar: 'لصق من وورد' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/bg.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/bg.js new file mode 100644 index 00000000000..4e3242615c6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/bg.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'bg', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Вмъкни от MS Word', + toolbar: 'Вмъкни от MS Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/bn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/bn.js new file mode 100644 index 00000000000..b08873c394c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/bn.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'bn', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'পেস্ট (শব্দ)', + toolbar: 'পেস্ট (শব্দ)' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/bs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/bs.js new file mode 100644 index 00000000000..b97009ff974 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/bs.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'bs', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Zalijepi iz Word-a', + toolbar: 'Zalijepi iz Word-a' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ca.js new file mode 100644 index 00000000000..4691df182ca --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ca.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ca', { + confirmCleanup: 'El text que voleu enganxar sembla provenir de Word. Voleu netejar aquest text abans que sigui enganxat?', + error: 'No ha estat possible netejar les dades enganxades degut a un error intern', + title: 'Enganxa des del Word', + toolbar: 'Enganxa des del Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/cs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/cs.js new file mode 100644 index 00000000000..c88d752cfe5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/cs.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'cs', { + confirmCleanup: 'Jak je vidět, vkládaný text je kopírován z Wordu. Chcete jej před vložením vyčistit?', + error: 'Z důvodu vnitřní chyby nebylo možné provést vyčištění vkládaného textu.', + title: 'Vložit z Wordu', + toolbar: 'Vložit z Wordu' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/cy.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/cy.js new file mode 100644 index 00000000000..ccb22d92ddc --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/cy.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'cy', { + confirmCleanup: 'Mae\'r testun rydych chi am ludo wedi\'i gopïo o Word. Ydych chi am ei lanhau cyn ei ludo?', + error: 'Doedd dim modd glanhau y data a ludwyd oherwydd gwall mewnol', + title: 'Gludo o Word', + toolbar: 'Gludo o Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/da.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/da.js new file mode 100644 index 00000000000..cb9cf93a48e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/da.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'da', { + confirmCleanup: 'Den tekst du forsøger at indsætte ser ud til at komme fra Word. Vil du rense teksten før den indsættes?', + error: 'Det var ikke muligt at fjerne formatteringen på den indsatte tekst grundet en intern fejl', + title: 'Indsæt fra Word', + toolbar: 'Indsæt fra Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/de.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/de.js new file mode 100644 index 00000000000..79edb2ecb95 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/de.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'de', { + confirmCleanup: 'Der Text, den Sie einfügen möchten, scheint aus MS-Word kopiert zu sein. Möchten Sie ihn zuvor bereinigen lassen?', + error: 'Aufgrund eines internen Fehlers war es nicht möglich die eingefügten Daten zu bereinigen', + title: 'Aus MS-Word einfügen', + toolbar: 'Aus MS-Word einfügen' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/el.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/el.js new file mode 100644 index 00000000000..456acc8f61c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/el.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'el', { + confirmCleanup: 'Το κείμενο που επικολλάται φαίνεται να είναι αντιγραμμένο από το Word. Μήπως θα θέλατε να καθαριστεί προτού επικολληθεί;', + error: 'Δεν ήταν δυνατό να καθαριστούν τα δεδομένα λόγω ενός εσωτερικού σφάλματος', + title: 'Επικόλληση από το Word', + toolbar: 'Επικόλληση από το Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/en-au.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/en-au.js new file mode 100644 index 00000000000..6f67a542be8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/en-au.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'en-au', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Paste from Word', + toolbar: 'Paste from Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/en-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/en-ca.js new file mode 100644 index 00000000000..a3a528aeb5c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/en-ca.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'en-ca', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Paste from Word', + toolbar: 'Paste from Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/en-gb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/en-gb.js new file mode 100644 index 00000000000..3648d257bf5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/en-gb.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'en-gb', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', + error: 'It was not possible to clean up the pasted data due to an internal error', + title: 'Paste from Word', + toolbar: 'Paste from Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/en.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/en.js new file mode 100644 index 00000000000..d484c6a4aa8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/en.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'en', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', + error: 'It was not possible to clean up the pasted data due to an internal error', + title: 'Paste from Word', + toolbar: 'Paste from Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/eo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/eo.js new file mode 100644 index 00000000000..e1a588fac22 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/eo.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'eo', { + confirmCleanup: 'La teksto, kiun vi volas interglui, ŝajnas esti kopiita el Word. Ĉu vi deziras purigi ĝin antaŭ intergluo?', + error: 'Ne eblis purigi la intergluitajn datenojn pro interna eraro', + title: 'Interglui el Word', + toolbar: 'Interglui el Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/es.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/es.js new file mode 100644 index 00000000000..e7220a9ee7f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/es.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'es', { + confirmCleanup: 'El texto que desea parece provenir de Word.\r\n¿Desea depurarlo antes de pegarlo?', + error: 'No ha sido posible limpiar los datos debido a un error interno', + title: 'Pegar desde Word', + toolbar: 'Pegar desde Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/et.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/et.js new file mode 100644 index 00000000000..c2f694e76a9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/et.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'et', { + confirmCleanup: 'Tekst, mida tahad asetada näib pärinevat Wordist. Kas tahad selle enne asetamist puhastada?', + error: 'Asetatud andmete puhastamine ei olnud sisemise vea tõttu võimalik', + title: 'Asetamine Wordist', + toolbar: 'Asetamine Wordist' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/eu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/eu.js new file mode 100644 index 00000000000..769d0f66ec4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/eu.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'eu', { + confirmCleanup: 'Itsatsi nahi duzun testua Wordetik hartua dela dirudi. Itsatsi baino lehen garbitu nahi duzu?', + error: 'Barneko errore bat dela eta ezin izan da testua garbitu', + title: 'Itsatsi Word-etik', + toolbar: 'Itsatsi Word-etik' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/fa.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/fa.js new file mode 100644 index 00000000000..6893a0141db --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/fa.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'fa', { + confirmCleanup: 'متنی که میخواهید بچسبانید به نظر میرسد که از Word کپی شده است. آیا میخواهید قبل از چسباندن آن را پاکسازی کنید؟', + error: 'به دلیل بروز خطای داخلی امکان پاکسازی اطلاعات بازنشانی شده وجود ندارد.', + title: 'چسباندن از Word', + toolbar: 'چسباندن از Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/fi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/fi.js new file mode 100644 index 00000000000..994988a5b26 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/fi.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'fi', { + confirmCleanup: 'Liittämäsi teksti näyttäisi olevan Word-dokumentista. Haluatko siivota sen ennen liittämistä? (Suositus: Kyllä)', + error: 'Liitetyn tiedon siivoaminen ei onnistunut sisäisen virheen takia', + title: 'Liitä Word-dokumentista', + toolbar: 'Liitä Word-dokumentista' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/fo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/fo.js new file mode 100644 index 00000000000..6ae4a08d6b4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/fo.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'fo', { + confirmCleanup: 'Teksturin, tú roynir at seta inn, sýnist at stava frá Word. Skal teksturin reinsast fyrst?', + error: 'Tað eydnaðist ikki at reinsa tekstin vegna ein internan feil', + title: 'Innrita frá Word', + toolbar: 'Innrita frá Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/fr-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/fr-ca.js new file mode 100644 index 00000000000..4e0b2c32f62 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/fr-ca.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'fr-ca', { + confirmCleanup: 'Le texte que vous tentez de coller semble provenir de Word. Désirez vous le nettoyer avant de coller?', + error: 'Il n\'a pas été possible de nettoyer les données collées du à une erreur interne', + title: 'Coller de Word', + toolbar: 'Coller de Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/fr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/fr.js new file mode 100644 index 00000000000..92e5b9f2c27 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/fr.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'fr', { + confirmCleanup: 'Le texte à coller semble provenir de Word. Désirez-vous le nettoyer avant de coller?', + error: 'Il n\'a pas été possible de nettoyer les données collées à la suite d\'une erreur interne.', + title: 'Coller depuis Word', + toolbar: 'Coller depuis Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/gl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/gl.js new file mode 100644 index 00000000000..e0402c94711 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/gl.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'gl', { + confirmCleanup: 'O texto que quere pegar semella ser copiado desde o Word. Quere depuralo antes de pegalo?', + error: 'Non foi posíbel depurar os datos pegados por mor dun erro interno', + title: 'Pegar desde Word', + toolbar: 'Pegar desde Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/gu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/gu.js new file mode 100644 index 00000000000..bbc9830c2c3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/gu.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'gu', { + confirmCleanup: 'તમે જે ટેક્ષ્ત્ કોપી કરી રહ્યા છો ટે વર્ડ ની છે. કોપી કરતા પેહલા સાફ કરવી છે?', + error: 'પેસ્ટ કરેલો ડેટા ઇન્ટરનલ એરર ના લીથે સાફ કરી શકાયો નથી.', + title: 'પેસ્ટ (વડૅ ટેક્સ્ટ)', + toolbar: 'પેસ્ટ (વડૅ ટેક્સ્ટ)' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/he.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/he.js new file mode 100644 index 00000000000..f7249692539 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/he.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'he', { + confirmCleanup: 'נראה הטקסט שבכוונתך להדביק מקורו בקובץ וורד. האם ברצונך לנקות אותו טרם ההדבקה?', + error: 'לא ניתן היה לנקות את המידע בשל תקלה פנימית.', + title: 'הדבקה מ-Word', + toolbar: 'הדבקה מ-Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/hi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/hi.js new file mode 100644 index 00000000000..138f8420986 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/hi.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'hi', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'पेस्ट (वर्ड से)', + toolbar: 'पेस्ट (वर्ड से)' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/hr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/hr.js new file mode 100644 index 00000000000..4b9909790e4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/hr.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'hr', { + confirmCleanup: 'Tekst koji želite zalijepiti čini se da je kopiran iz Worda. Želite li prije očistiti tekst?', + error: 'Nije moguće očistiti podatke za ljepljenje zbog interne greške', + title: 'Zalijepi iz Worda', + toolbar: 'Zalijepi iz Worda' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/hu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/hu.js new file mode 100644 index 00000000000..91d62d2770d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/hu.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'hu', { + confirmCleanup: 'Úgy tűnik a beillesztett szöveget Word-ből másolt át. Meg szeretné tisztítani a szöveget? (ajánlott)', + error: 'Egy belső hiba miatt nem sikerült megtisztítani a szöveget', + title: 'Beillesztés Word-ből', + toolbar: 'Beillesztés Word-ből' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/id.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/id.js new file mode 100644 index 00000000000..f55f762e653 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/id.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'id', { + confirmCleanup: 'Teks yang ingin anda tempel sepertinya di salin dari Word. Apakah anda mau membersihkannya sebelum menempel?', + error: 'Tidak mungkin membersihkan data yang ditempel dikerenakan kesalahan internal', + title: 'Tempel dari Word', + toolbar: 'Tempel dari Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/is.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/is.js new file mode 100644 index 00000000000..0e506040ddd --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/is.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'is', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Líma úr Word', + toolbar: 'Líma úr Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/it.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/it.js new file mode 100644 index 00000000000..f3d59e0210e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/it.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'it', { + confirmCleanup: 'Il testo da incollare sembra provenire da Word. Desideri pulirlo prima di incollare?', + error: 'Non è stato possibile eliminare il testo incollato a causa di un errore interno.', + title: 'Incolla da Word', + toolbar: 'Incolla da Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ja.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ja.js new file mode 100644 index 00000000000..051375db221 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ja.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ja', { + confirmCleanup: '貼り付けを行うテキストはワード文章からコピーされようとしています。貼り付ける前にクリーニングを行いますか?', + error: '内部エラーにより貼り付けたデータをクリアできませんでした', + title: 'ワード文章から貼り付け', + toolbar: 'ワード文章から貼り付け' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ka.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ka.js new file mode 100644 index 00000000000..0f84dc0661a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ka.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ka', { + confirmCleanup: 'ჩასასმელი ტექსტი ვორდიდან გადმოტანილს გავს - გინდათ მისი წინასწარ გაწმენდა?', + error: 'შიდა შეცდომის გამო ვერ მოხერხდა ტექსტის გაწმენდა', + title: 'ვორდიდან ჩასმა', + toolbar: 'ვორდიდან ჩასმა' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/km.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/km.js new file mode 100644 index 00000000000..a3f6c200c49 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/km.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'km', { + confirmCleanup: 'អត្ថបទ​ដែល​អ្នក​ចង់​បិទ​ភ្ជាប់​នេះ ទំនង​ដូច​ជា​ចម្លង​មក​ពី Word។ តើ​អ្នក​ចង់​សម្អាត​វា​មុន​បិទ​ភ្ជាប់​ទេ?', + error: 'ដោយ​សារ​មាន​បញ្ហា​ផ្នែក​ក្នុង​ធ្វើ​ឲ្យ​មិន​អាច​សម្អាត​ទិន្នន័យ​ដែល​បាន​បិទ​ភ្ជាប់', + title: 'បិទ​ភ្ជាប់​ពី Word', + toolbar: 'បិទ​ភ្ជាប់​ពី Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ko.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ko.js new file mode 100644 index 00000000000..fa47e8fcde5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ko.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ko', { + confirmCleanup: '붙여 넣기 할 텍스트는 MS Word에서 복사 한 것입니다. 붙여 넣기 전에 MS Word 포멧을 삭제 하시겠습니까?', + error: '내부 오류로 붙여 넣은 데이터를 정리 할 수 없습니다.', + title: 'MS Word 형식에서 붙여넣기', + toolbar: 'MS Word 형식에서 붙여넣기' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ku.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ku.js new file mode 100644 index 00000000000..a32b856cfe9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ku.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ku', { + confirmCleanup: 'ئەم دەقەی بەتەمای بیلکێنی پێدەچێت له word هێنرابێت. دەتەوێت پاکی بکەیوه پێش ئەوەی بیلکێنی؟', + error: 'هیچ ڕێگەیەك نەبوو لەلکاندنی دەقەکه بەهۆی هەڵەیەکی ناوەخۆیی', + title: 'لکاندنی لەلایەن Word', + toolbar: 'لکاندنی لەڕێی Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/lt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/lt.js new file mode 100644 index 00000000000..3acd2a0a940 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/lt.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'lt', { + confirmCleanup: 'Tekstas, kurį įkeliate yra kopijuojamas iš Word. Ar norite jį išvalyti prieš įkeliant?', + error: 'Dėl vidinių sutrikimų, nepavyko išvalyti įkeliamo teksto', + title: 'Įdėti iš Word', + toolbar: 'Įdėti iš Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/lv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/lv.js new file mode 100644 index 00000000000..3ebbcaf5b1f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/lv.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'lv', { + confirmCleanup: 'Teksts, kuru vēlaties ielīmēt, izskatās ir nokopēts no Word. Vai vēlaties to iztīrīt pirms ielīmēšanas?', + error: 'Iekšējas kļūdas dēļ, neizdevās iztīrīt ielīmētos datus.', + title: 'Ievietot no Worda', + toolbar: 'Ievietot no Worda' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/mk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/mk.js new file mode 100644 index 00000000000..c0e68ffedcc --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/mk.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'mk', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Paste from Word', // MISSING + toolbar: 'Paste from Word' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/mn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/mn.js new file mode 100644 index 00000000000..c444adc61e4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/mn.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'mn', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Word-оос буулгах', + toolbar: 'Word-оос буулгах' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ms.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ms.js new file mode 100644 index 00000000000..6b41567693b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ms.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ms', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Tampal dari Word', + toolbar: 'Tampal dari Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/nb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/nb.js new file mode 100644 index 00000000000..ec74628bfb4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/nb.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'nb', { + confirmCleanup: 'Teksten du limer inn ser ut til å være kopiert fra Word. Vil du renske den før du limer den inn?', + error: 'Det var ikke mulig å renske den innlimte teksten på grunn av en intern feil', + title: 'Lim inn fra Word', + toolbar: 'Lim inn fra Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/nl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/nl.js new file mode 100644 index 00000000000..2845e6886b8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/nl.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'nl', { + confirmCleanup: 'De tekst die u wilt plakken lijkt gekopieerd te zijn vanuit Word. Wilt u de tekst opschonen voordat deze geplakt wordt?', + error: 'Het was niet mogelijk om de geplakte tekst op te schonen door een interne fout', + title: 'Plakken vanuit Word', + toolbar: 'Plakken vanuit Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/no.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/no.js new file mode 100644 index 00000000000..4dc5f7e1450 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/no.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'no', { + confirmCleanup: 'Teksten du limer inn ser ut til å være kopiert fra Word. Vil du renske den før du limer den inn?', + error: 'Det var ikke mulig å renske den innlimte teksten på grunn av en intern feil', + title: 'Lim inn fra Word', + toolbar: 'Lim inn fra Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/pl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/pl.js new file mode 100644 index 00000000000..7bfdca4d599 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/pl.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'pl', { + confirmCleanup: 'Tekst, który chcesz wkleić, prawdopodobnie pochodzi z programu Microsoft Word. Czy chcesz go wyczyścić przed wklejeniem?', + error: 'Wyczyszczenie wklejonych danych nie było możliwe z powodu wystąpienia błędu.', + title: 'Wklej z programu MS Word', + toolbar: 'Wklej z programu MS Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/pt-br.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/pt-br.js new file mode 100644 index 00000000000..04bf4933917 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/pt-br.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'pt-br', { + confirmCleanup: 'O texto que você deseja colar parece ter sido copiado do Word. Você gostaria de remover a formatação antes de colar?', + error: 'Não foi possível limpar os dados colados devido a um erro interno', + title: 'Colar do Word', + toolbar: 'Colar do Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/pt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/pt.js new file mode 100644 index 00000000000..120fd58669c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/pt.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'pt', { + confirmCleanup: 'O texto que pretende colar parece ter sido copiado do Word. Deseja limpá-lo antes de colar?', + error: 'Não foi possivel limpar a informação colada decido a um erro interno.', + title: 'Colar do Word', + toolbar: 'Colar do Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ro.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ro.js new file mode 100644 index 00000000000..6fdcaee78bd --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ro.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ro', { + confirmCleanup: 'Textul pe care doriți să-l lipiți este din Word. Doriți curățarea textului înante de a-l adăuga?', + error: 'Nu a fost posibilă curățarea datelor adăugate datorită unei erori interne', + title: 'Adaugă din Word', + toolbar: 'Adaugă din Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ru.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ru.js new file mode 100644 index 00000000000..75ac456082d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ru.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ru', { + confirmCleanup: 'Текст, который вы желаете вставить, по всей видимости, был скопирован из Word. Следует ли очистить его перед вставкой?', + error: 'Невозможно очистить вставленные данные из-за внутренней ошибки', + title: 'Вставить из Word', + toolbar: 'Вставить из Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/si.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/si.js new file mode 100644 index 00000000000..7d4074edb59 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/si.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'si', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'වචන වලින් අලවන්න', + toolbar: 'වචන වලින් අලවන්න' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sk.js new file mode 100644 index 00000000000..4d295d0818d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sk.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'sk', { + confirmCleanup: 'Vkladaný text vyzerá byť skopírovaný z Wordu. Chcete ho automaticky vyčistiť pred vkladaním?', + error: 'Nebolo možné vyčistiť vložené dáta kvôli internej chybe', + title: 'Vložiť z Wordu', + toolbar: 'Vložiť z Wordu' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sl.js new file mode 100644 index 00000000000..970ae9cc9ea --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sl.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'sl', { + confirmCleanup: 'Besedilo, ki ga želite prilepiti je kopirano iz Word-a. Ali ga želite očistiti, preden ga prilepite?', + error: 'Ni bilo mogoče očistiti prilepljenih podatkov zaradi notranje napake', + title: 'Prilepi iz Worda', + toolbar: 'Prilepi iz Worda' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sq.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sq.js new file mode 100644 index 00000000000..6112fb45677 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sq.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'sq', { + confirmCleanup: 'Teksti që dëshironi të e hidhni siç duket është kopjuar nga Word-i. Dëshironi të e pastroni para se të e hidhni?', + error: 'Nuk ishte e mundur të fshiheshin të dhënat e hedhura për shkak të një gabimi të brendshëm', + title: 'Hidhe nga Word-i', + toolbar: 'Hidhe nga Word-i' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sr-latn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sr-latn.js new file mode 100644 index 00000000000..3161dabb68e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sr-latn.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'sr-latn', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Zalepi iz Worda', + toolbar: 'Zalepi iz Worda' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sr.js new file mode 100644 index 00000000000..fb444b9c065 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sr.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'sr', { + confirmCleanup: 'The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?', // MISSING + error: 'It was not possible to clean up the pasted data due to an internal error', // MISSING + title: 'Залепи из Worda', + toolbar: 'Залепи из Worda' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sv.js new file mode 100644 index 00000000000..89ea3d6a74d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/sv.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'sv', { + confirmCleanup: 'Texten du vill klistra in verkar vara kopierad från Word. Vill du rensa den innan du klistrar in den?', + error: 'Det var inte möjligt att städa upp den inklistrade data på grund av ett internt fel', + title: 'Klistra in från Word', + toolbar: 'Klistra in från Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/th.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/th.js new file mode 100644 index 00000000000..d15e8d5c893 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/th.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'th', { + confirmCleanup: 'ข้อความที่คุณต้องการวางลงไปเป็นข้อความที่คัดลอกมาจากโปรแกรมไมโครซอฟท์เวิร์ด คุณต้องการล้างค่าข้อความดังกล่าวก่อนวางลงไปหรือไม่?', + error: 'ไม่สามารถล้างข้อมูลที่ต้องการวางได้เนื่องจากเกิดข้อผิดพลาดภายในระบบ', + title: 'วางสำเนาจากตัวอักษรเวิร์ด', + toolbar: 'วางสำเนาจากตัวอักษรเวิร์ด' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/tr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/tr.js new file mode 100644 index 00000000000..2af6518db55 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/tr.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'tr', { + confirmCleanup: 'Yapıştırmaya çalıştığınız metin Word\'den kopyalanmıştır. Yapıştırmadan önce silmek istermisiniz?', + error: 'Yapıştırmadaki veri bilgisi hata düzelene kadar silinmeyecektir', + title: 'Word\'den Yapıştır', + toolbar: 'Word\'den Yapıştır' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ug.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ug.js new file mode 100644 index 00000000000..da221441f97 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/ug.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'ug', { + confirmCleanup: 'سىز چاپلىماقچى بولغان مەزمۇن MS Word تىن كەلگەندەك قىلىدۇ، MS Word پىچىمىنى تازىلىۋەتكەندىن كېيىن ئاندىن چاپلامدۇ؟', + error: 'ئىچكى خاتالىق سەۋەبىدىن چاپلايدىغان سانلىق مەلۇماتنى تازىلىيالمايدۇ', + title: 'MS Word تىن چاپلا', + toolbar: 'MS Word تىن چاپلا' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/uk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/uk.js new file mode 100644 index 00000000000..a73d07c3fba --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/uk.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'uk', { + confirmCleanup: 'Текст, що Ви намагаєтесь вставити, схожий на скопійований з Word. Бажаєте очистити його форматування перед вставлянням?', + error: 'Неможливо очистити форматування через внутрішню помилку.', + title: 'Вставити з Word', + toolbar: 'Вставити з Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/vi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/vi.js new file mode 100644 index 00000000000..bde635463fd --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/vi.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'vi', { + confirmCleanup: 'Văn bản bạn muốn dán có kèm định dạng của Word. Bạn có muốn loại bỏ định dạng Word trước khi dán?', + error: 'Không thể để làm sạch các dữ liệu dán do một lỗi nội bộ', + title: 'Dán với định dạng Word', + toolbar: 'Dán với định dạng Word' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/zh-cn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/zh-cn.js new file mode 100644 index 00000000000..653cb18da3a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/zh-cn.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'zh-cn', { + confirmCleanup: '您要粘贴的内容好像是来自 MS Word,是否要清除 MS Word 格式后再粘贴?', + error: '由于内部错误无法清理要粘贴的数据', + title: '从 MS Word 粘贴', + toolbar: '从 MS Word 粘贴' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/zh.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/zh.js new file mode 100644 index 00000000000..53274b58a6a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/lang/zh.js @@ -0,0 +1,10 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastefromword', 'zh', { + confirmCleanup: '您想貼上的文字似乎是自 Word 複製而來,請問您是否要先清除 Word 的格式後再行貼上?', + error: '由於發生內部錯誤,無法清除清除 Word 的格式。', + title: '自 Word 貼上', + toolbar: '自 Word 貼上' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/plugin.js new file mode 100644 index 00000000000..169ad65a719 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastefromword/plugin.js @@ -0,0 +1,145 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +( function() { + CKEDITOR.plugins.add( 'pastefromword', { + requires: 'clipboard', + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + icons: 'pastefromword,pastefromword-rtl', // %REMOVE_LINE_CORE% + hidpi: true, // %REMOVE_LINE_CORE% + init: function( editor ) { + var commandName = 'pastefromword', + // Flag indicate this command is actually been asked instead of a generic pasting. + forceFromWord = 0, + path = this.path; + + editor.addCommand( commandName, { + // Snapshots are done manually by editable.insertXXX methods. + canUndo: false, + async: true, + + exec: function( editor ) { + var cmd = this; + + forceFromWord = 1; + // Force html mode for incomming paste events sequence. + editor.once( 'beforePaste', forceHtmlMode ); + + editor.getClipboardData( { title: editor.lang.pastefromword.title }, function( data ) { + // Do not use editor#paste, because it would start from beforePaste event. + data && editor.fire( 'paste', { type: 'html', dataValue: data.dataValue } ); + + editor.fire( 'afterCommandExec', { + name: commandName, + command: cmd, + returnValue: !!data + } ); + } ); + } + } ); + + // Register the toolbar button. + editor.ui.addButton && editor.ui.addButton( 'PasteFromWord', { + label: editor.lang.pastefromword.toolbar, + command: commandName, + toolbar: 'clipboard,50' + } ); + + editor.on( 'pasteState', function( evt ) { + editor.getCommand( commandName ).setState( evt.data ); + } ); + + // Features bring by this command beside the normal process: + // 1. No more bothering of user about the clean-up. + // 2. Perform the clean-up even if content is not from MS-Word. + // (e.g. from a MS-Word similar application.) + // 3. Listen with high priority (3), so clean up is done before content + // type sniffing (priority = 6). + editor.on( 'paste', function( evt ) { + var data = evt.data, + mswordHtml = data.dataValue; + + // MS-WORD format sniffing. + if ( mswordHtml && ( forceFromWord || ( /(class=\"?Mso|style=\"[^\"]*\bmso\-|w:WordDocument)/ ).test( mswordHtml ) ) ) { + // If filter rules aren't loaded then cancel 'paste' event, + // load them and when they'll get loaded fire new paste event + // for which data will be filtered in second execution of + // this listener. + var isLazyLoad = loadFilterRules( editor, path, function() { + // Event continuation with the original data. + if ( isLazyLoad ) + editor.fire( 'paste', data ); + else if ( !editor.config.pasteFromWordPromptCleanup || ( forceFromWord || confirm( editor.lang.pastefromword.confirmCleanup ) ) ) + data.dataValue = CKEDITOR.cleanWord( mswordHtml, editor ); + + } ); + + // The cleanup rules are to be loaded, we should just cancel + // this event. + isLazyLoad && evt.cancel(); + } + }, null, null, 3 ); + + function resetFromWord( evt ) { + evt && evt.removeListener(); + editor.removeListener( 'beforePaste', forceHtmlMode ); + forceFromWord && setTimeout( function() { + forceFromWord = 0; + }, 0 ); + } + } + + } ); + + function loadFilterRules( editor, path, callback ) { + var isLoaded = CKEDITOR.cleanWord; + + if ( isLoaded ) + callback(); + else { + var filterFilePath = CKEDITOR.getUrl( editor.config.pasteFromWordCleanupFile || ( path + 'filter/default.js' ) ); + + // Load with busy indicator. + CKEDITOR.scriptLoader.load( filterFilePath, callback, null, true ); + } + + return !isLoaded; + } + + function forceHtmlMode( evt ) { + evt.data.type = 'html'; + } +} )(); + + +/** + * Whether to prompt the user about the clean up of content being pasted from MS Word. + * + * config.pasteFromWordPromptCleanup = true; + * + * @since 3.1 + * @cfg {Boolean} [pasteFromWordPromptCleanup=false] + * @member CKEDITOR.config + */ + +/** + * The file that provides the MS Word cleanup function for pasting operations. + * + * **Note:** This is a global configuration shared by all editor instances present + * in the page. + * + * // Load from 'pastefromword' plugin 'filter' sub folder (custom.js file) using path relative to CKEditor installation folder. + * CKEDITOR.config.pasteFromWordCleanupFile = 'plugins/pastefromword/filter/custom.js'; + * + * // Load from 'pastefromword' plugin 'filter' sub folder (custom.js file) using full path (including CKEditor installation folder). + * CKEDITOR.config.pasteFromWordCleanupFile = '/ckeditor/plugins/pastefromword/filter/custom.js'; + * + * // Load custom.js file from 'customFilerts' folder (located in server's root) using full URL. + * CKEDITOR.config.pasteFromWordCleanupFile = 'http://my.example.com/customFilerts/custom.js'; + * + * @since 3.1 + * @cfg {String} [pasteFromWordCleanupFile= + 'filter/default.js'] + * @member CKEDITOR.config + */ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/icons/hidpi/pastetext-rtl.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/icons/hidpi/pastetext-rtl.png new file mode 100644 index 00000000000..35354a5f8d9 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/icons/hidpi/pastetext-rtl.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/icons/hidpi/pastetext.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/icons/hidpi/pastetext.png new file mode 100644 index 00000000000..f82900fa997 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/icons/hidpi/pastetext.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/icons/pastetext-rtl.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/icons/pastetext-rtl.png new file mode 100644 index 00000000000..9393b347f19 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/icons/pastetext-rtl.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/icons/pastetext.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/icons/pastetext.png new file mode 100644 index 00000000000..20816a4f460 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/icons/pastetext.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/af.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/af.js new file mode 100644 index 00000000000..a0031f4577a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/af.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'af', { + button: 'Plak as eenvoudige teks', + title: 'Plak as eenvoudige teks' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ar.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ar.js new file mode 100644 index 00000000000..be045b120ce --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ar.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'ar', { + button: 'لصق كنص بسيط', + title: 'لصق كنص بسيط' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/bg.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/bg.js new file mode 100644 index 00000000000..1873d317814 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/bg.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'bg', { + button: 'Вмъкни като чист текст', + title: 'Вмъкни като чист текст' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/bn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/bn.js new file mode 100644 index 00000000000..0e217f9660b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/bn.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'bn', { + button: 'সাদা টেক্সট হিসেবে পেস্ট কর', + title: 'সাদা টেক্সট হিসেবে পেস্ট কর' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/bs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/bs.js new file mode 100644 index 00000000000..02c842c2487 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/bs.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'bs', { + button: 'Zalijepi kao obièan tekst', + title: 'Zalijepi kao obièan tekst' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ca.js new file mode 100644 index 00000000000..4af8c0b5a18 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ca.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'ca', { + button: 'Enganxa com a text no formatat', + title: 'Enganxa com a text no formatat' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/cs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/cs.js new file mode 100644 index 00000000000..e679e39273d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/cs.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'cs', { + button: 'Vložit jako čistý text', + title: 'Vložit jako čistý text' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/cy.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/cy.js new file mode 100644 index 00000000000..0a43afab9f1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/cy.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'cy', { + button: 'Gludo fel testun plaen', + title: 'Gludo fel Testun Plaen' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/da.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/da.js new file mode 100644 index 00000000000..ca9b276047f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/da.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'da', { + button: 'Indsæt som ikke-formateret tekst', + title: 'Indsæt som ikke-formateret tekst' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/de.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/de.js new file mode 100644 index 00000000000..e8cfa181f8b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/de.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'de', { + button: 'Als Text einfügen', + title: 'Als Text einfügen' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/el.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/el.js new file mode 100644 index 00000000000..2cad2123cb4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/el.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'el', { + button: 'Επικόλληση ως απλό κείμενο', + title: 'Επικόλληση ως απλό κείμενο' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/en-au.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/en-au.js new file mode 100644 index 00000000000..937c84eb674 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/en-au.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'en-au', { + button: 'Paste as plain text', + title: 'Paste as Plain Text' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/en-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/en-ca.js new file mode 100644 index 00000000000..3a2faf569ae --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/en-ca.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'en-ca', { + button: 'Paste as plain text', + title: 'Paste as Plain Text' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/en-gb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/en-gb.js new file mode 100644 index 00000000000..99cea29807d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/en-gb.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'en-gb', { + button: 'Paste as plain text', + title: 'Paste as Plain Text' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/en.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/en.js new file mode 100644 index 00000000000..b853dc25706 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/en.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'en', { + button: 'Paste as plain text', + title: 'Paste as Plain Text' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/eo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/eo.js new file mode 100644 index 00000000000..4792440d668 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/eo.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'eo', { + button: 'Interglui kiel platan tekston', + title: 'Interglui kiel platan tekston' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/es.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/es.js new file mode 100644 index 00000000000..5fd80f62b64 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/es.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'es', { + button: 'Pegar como Texto Plano', + title: 'Pegar como Texto Plano' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/et.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/et.js new file mode 100644 index 00000000000..9d43d9f2b0c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/et.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'et', { + button: 'Asetamine tavalise tekstina', + title: 'Asetamine tavalise tekstina' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/eu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/eu.js new file mode 100644 index 00000000000..c4d57612ee8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/eu.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'eu', { + button: 'Testu Arrunta bezala Itsatsi', + title: 'Testu Arrunta bezala Itsatsi' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/fa.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/fa.js new file mode 100644 index 00000000000..3e31061a8e2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/fa.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'fa', { + button: 'چسباندن به عنوان متن ساده', + title: 'چسباندن به عنوان متن ساده' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/fi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/fi.js new file mode 100644 index 00000000000..3fe2c709bf3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/fi.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'fi', { + button: 'Liitä tekstinä', + title: 'Liitä tekstinä' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/fo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/fo.js new file mode 100644 index 00000000000..7b394dd824c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/fo.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'fo', { + button: 'Innrita som reinan tekst', + title: 'Innrita som reinan tekst' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/fr-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/fr-ca.js new file mode 100644 index 00000000000..60626a96697 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/fr-ca.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'fr-ca', { + button: 'Coller comme texte', + title: 'Coller comme texte' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/fr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/fr.js new file mode 100644 index 00000000000..c554ecb1b56 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/fr.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'fr', { + button: 'Coller comme texte sans mise en forme', + title: 'Coller comme texte sans mise en forme' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/gl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/gl.js new file mode 100644 index 00000000000..01523b3157d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/gl.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'gl', { + button: 'Pegar como texto simple', + title: 'Pegar como texto simple' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/gu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/gu.js new file mode 100644 index 00000000000..4a464fc3575 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/gu.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'gu', { + button: 'પેસ્ટ (ટેક્સ્ટ)', + title: 'પેસ્ટ (ટેક્સ્ટ)' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/he.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/he.js new file mode 100644 index 00000000000..767616be1d7 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/he.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'he', { + button: 'הדבקה כטקסט פשוט', + title: 'הדבקה כטקסט פשוט' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/hi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/hi.js new file mode 100644 index 00000000000..78bf6eceac5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/hi.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'hi', { + button: 'पेस्ट (सादा टॅक्स्ट)', + title: 'पेस्ट (सादा टॅक्स्ट)' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/hr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/hr.js new file mode 100644 index 00000000000..003470000d4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/hr.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'hr', { + button: 'Zalijepi kao čisti tekst', + title: 'Zalijepi kao čisti tekst' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/hu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/hu.js new file mode 100644 index 00000000000..f689a3c3765 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/hu.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'hu', { + button: 'Beillesztés formázatlan szövegként', + title: 'Beillesztés formázatlan szövegként' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/id.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/id.js new file mode 100644 index 00000000000..6976336fe1d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/id.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'id', { + button: 'Tempel sebagai teks polos', + title: 'Tempel sebagai Teks Polos' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/is.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/is.js new file mode 100644 index 00000000000..99562a4e350 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/is.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'is', { + button: 'Líma sem ósniðinn texta', + title: 'Líma sem ósniðinn texta' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/it.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/it.js new file mode 100644 index 00000000000..2ae5140a381 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/it.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'it', { + button: 'Incolla come testo semplice', + title: 'Incolla come testo semplice' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ja.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ja.js new file mode 100644 index 00000000000..52f32556813 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ja.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'ja', { + button: 'プレーンテキストとして貼り付け', + title: 'プレーンテキストとして貼り付け' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ka.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ka.js new file mode 100644 index 00000000000..761a2191f1d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ka.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'ka', { + button: 'მხოლოდ ტექსტის ჩასმა', + title: 'მხოლოდ ტექსტის ჩასმა' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/km.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/km.js new file mode 100644 index 00000000000..f77ed641290 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/km.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'km', { + button: 'បិទ​ភ្ជាប់​ជា​អត្ថបទ​ធម្មតា', + title: 'បិទ​ភ្ជាប់​ជា​អត្ថបទ​ធម្មតា' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ko.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ko.js new file mode 100644 index 00000000000..4cdfeb65c38 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ko.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'ko', { + button: '텍스트로 붙여넣기', + title: '텍스트로 붙여넣기' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ku.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ku.js new file mode 100644 index 00000000000..d5570678e0a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ku.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'ku', { + button: 'لکاندنی وەك دەقی ڕوون', + title: 'لکاندنی وەك دەقی ڕوون' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/lt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/lt.js new file mode 100644 index 00000000000..c7ed2c56c87 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/lt.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'lt', { + button: 'Įdėti kaip gryną tekstą', + title: 'Įdėti kaip gryną tekstą' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/lv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/lv.js new file mode 100644 index 00000000000..f86582b3ddd --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/lv.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'lv', { + button: 'Ievietot kā vienkāršu tekstu', + title: 'Ievietot kā vienkāršu tekstu' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/mk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/mk.js new file mode 100644 index 00000000000..ddf45ca6608 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/mk.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'mk', { + button: 'Paste as plain text', // MISSING + title: 'Paste as Plain Text' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/mn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/mn.js new file mode 100644 index 00000000000..9b4fbcd918f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/mn.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'mn', { + button: 'Энгийн бичвэрээр буулгах', + title: 'Энгийн бичвэрээр буулгах' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ms.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ms.js new file mode 100644 index 00000000000..b1c7c22ab95 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ms.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'ms', { + button: 'Tampal sebagai text biasa', + title: 'Tampal sebagai text biasa' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/nb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/nb.js new file mode 100644 index 00000000000..f727779d6c1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/nb.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'nb', { + button: 'Lim inn som ren tekst', + title: 'Lim inn som ren tekst' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/nl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/nl.js new file mode 100644 index 00000000000..e0c99fd8e84 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/nl.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'nl', { + button: 'Plakken als platte tekst', + title: 'Plakken als platte tekst' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/no.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/no.js new file mode 100644 index 00000000000..533d8fd8b67 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/no.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'no', { + button: 'Lim inn som ren tekst', + title: 'Lim inn som ren tekst' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/pl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/pl.js new file mode 100644 index 00000000000..91670d4e3ec --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/pl.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'pl', { + button: 'Wklej jako czysty tekst', + title: 'Wklej jako czysty tekst' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/pt-br.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/pt-br.js new file mode 100644 index 00000000000..863c07d82cf --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/pt-br.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'pt-br', { + button: 'Colar como Texto sem Formatação', + title: 'Colar como Texto sem Formatação' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/pt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/pt.js new file mode 100644 index 00000000000..9fab63ec778 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/pt.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'pt', { + button: 'Colar como Texto Simples', + title: 'Colar como Texto Simples' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ro.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ro.js new file mode 100644 index 00000000000..f88013d885f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ro.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'ro', { + button: 'Adaugă ca text simplu (Plain Text)', + title: 'Adaugă ca text simplu (Plain Text)' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ru.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ru.js new file mode 100644 index 00000000000..83457889407 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ru.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'ru', { + button: 'Вставить только текст', + title: 'Вставить только текст' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/si.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/si.js new file mode 100644 index 00000000000..9ee9c8bd8d0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/si.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'si', { + button: 'සාමාන්‍ය අක්ෂර ලෙස අලවන්න', + title: 'සාමාන්‍ය අක්ෂර ලෙස අලවන්න' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sk.js new file mode 100644 index 00000000000..31d15d0c522 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sk.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'sk', { + button: 'Vložiť ako čistý text', + title: 'Vložiť ako čistý text' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sl.js new file mode 100644 index 00000000000..41240862861 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sl.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'sl', { + button: 'Prilepi kot golo besedilo', + title: 'Prilepi kot golo besedilo' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sq.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sq.js new file mode 100644 index 00000000000..dca7461bc72 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sq.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'sq', { + button: 'Hidhe si tekst të thjeshtë', + title: 'Hidhe si Tekst të Thjeshtë' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sr-latn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sr-latn.js new file mode 100644 index 00000000000..e86bd1af05e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sr-latn.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'sr-latn', { + button: 'Zalepi kao čist tekst', + title: 'Zalepi kao čist tekst' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sr.js new file mode 100644 index 00000000000..4667bd25aaa --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sr.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'sr', { + button: 'Залепи као чист текст', + title: 'Залепи као чист текст' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sv.js new file mode 100644 index 00000000000..9b85b254bc8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/sv.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'sv', { + button: 'Klistra in som vanlig text', + title: 'Klistra in som vanlig text' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/th.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/th.js new file mode 100644 index 00000000000..0051e0c374b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/th.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'th', { + button: 'วางแบบตัวอักษรธรรมดา', + title: 'วางแบบตัวอักษรธรรมดา' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/tr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/tr.js new file mode 100644 index 00000000000..bc9802021ae --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/tr.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'tr', { + button: 'Düz Metin Olarak Yapıştır', + title: 'Düz Metin Olarak Yapıştır' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ug.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ug.js new file mode 100644 index 00000000000..64f676a7643 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/ug.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'ug', { + button: 'پىچىمى يوق تېكىست سۈپىتىدە چاپلا', + title: 'پىچىمى يوق تېكىست سۈپىتىدە چاپلا' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/uk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/uk.js new file mode 100644 index 00000000000..7767c23f742 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/uk.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'uk', { + button: 'Вставити тільки текст', + title: 'Вставити тільки текст' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/vi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/vi.js new file mode 100644 index 00000000000..65a8308b76a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/vi.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'vi', { + button: 'Dán theo định dạng văn bản thuần', + title: 'Dán theo định dạng văn bản thuần' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/zh-cn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/zh-cn.js new file mode 100644 index 00000000000..d70b88475a7 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/zh-cn.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'zh-cn', { + button: '粘贴为无格式文本', + title: '粘贴为无格式文本' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/zh.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/zh.js new file mode 100644 index 00000000000..b8811d7a9c6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/lang/zh.js @@ -0,0 +1,8 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'pastetext', 'zh', { + button: '貼成純文字', + title: '貼成純文字' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/plugin.js new file mode 100644 index 00000000000..a9f4bde93b4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/pastetext/plugin.js @@ -0,0 +1,76 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/** + * @fileOverview Paste as plain text plugin. + */ + +( function() { + // The pastetext command definition. + var pasteTextCmd = { + // Snapshots are done manually by editable.insertXXX methods. + canUndo: false, + async: true, + + exec: function( editor ) { + editor.getClipboardData( { title: editor.lang.pastetext.title }, function( data ) { + // Do not use editor#paste, because it would start from beforePaste event. + data && editor.fire( 'paste', { type: 'text', dataValue: data.dataValue } ); + + editor.fire( 'afterCommandExec', { + name: 'pastetext', + command: pasteTextCmd, + returnValue: !!data + } ); + } ); + } + }; + + // Register the plugin. + CKEDITOR.plugins.add( 'pastetext', { + requires: 'clipboard', + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + icons: 'pastetext,pastetext-rtl', // %REMOVE_LINE_CORE% + hidpi: true, // %REMOVE_LINE_CORE% + init: function( editor ) { + var commandName = 'pastetext'; + + editor.addCommand( commandName, pasteTextCmd ); + + editor.ui.addButton && editor.ui.addButton( 'PasteText', { + label: editor.lang.pastetext.button, + command: commandName, + toolbar: 'clipboard,40' + } ); + + if ( editor.config.forcePasteAsPlainText ) { + editor.on( 'beforePaste', function( evt ) { + // Do NOT overwrite if HTML format is explicitly requested. + // This allows pastefromword dominates over pastetext. + if ( evt.data.type != 'html' ) + evt.data.type = 'text'; + } ); + } + + editor.on( 'pasteState', function( evt ) { + editor.getCommand( commandName ).setState( evt.data ); + } ); + } + } ); +} )(); + + +/** + * Whether to force all pasting operations to insert on plain text into the + * editor, loosing any formatting information possibly available in the source + * text. + * + * **Note:** paste from word (dialog) is not affected by this configuration. + * + * config.forcePasteAsPlainText = true; + * + * @cfg {Boolean} [forcePasteAsPlainText=false] + * @member CKEDITOR.config + */ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/popup/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/popup/plugin.js new file mode 100644 index 00000000000..7657ede2c96 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/popup/plugin.js @@ -0,0 +1,65 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +CKEDITOR.plugins.add( 'popup' ); + +CKEDITOR.tools.extend( CKEDITOR.editor.prototype, { + /** + * Opens Browser in a popup. The `width` and `height` parameters accept + * numbers (pixels) or percent (of screen size) values. + * + * @member CKEDITOR.editor + * @param {String} url The url of the external file browser. + * @param {Number/String} [width='80%'] Popup window width. + * @param {Number/String} [height='70%'] Popup window height. + * @param {String} [options='location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=yes,scrollbars=yes'] + * Popup window features. + */ + popup: function( url, width, height, options ) { + width = width || '80%'; + height = height || '70%'; + + if ( typeof width == 'string' && width.length > 1 && width.substr( width.length - 1, 1 ) == '%' ) + width = parseInt( window.screen.width * parseInt( width, 10 ) / 100, 10 ); + + if ( typeof height == 'string' && height.length > 1 && height.substr( height.length - 1, 1 ) == '%' ) + height = parseInt( window.screen.height * parseInt( height, 10 ) / 100, 10 ); + + if ( width < 640 ) + width = 640; + + if ( height < 420 ) + height = 420; + + var top = parseInt( ( window.screen.height - height ) / 2, 10 ), + left = parseInt( ( window.screen.width - width ) / 2, 10 ); + + options = ( options || 'location=no,menubar=no,toolbar=no,dependent=yes,minimizable=no,modal=yes,alwaysRaised=yes,resizable=yes,scrollbars=yes' ) + ',width=' + width + + ',height=' + height + + ',top=' + top + + ',left=' + left; + + var popupWindow = window.open( '', null, options, true ); + + // Blocked by a popup blocker. + if ( !popupWindow ) + return false; + + try { + // Chrome is problematic with moveTo/resizeTo, but it's not really needed here (#8855). + var ua = navigator.userAgent.toLowerCase(); + if ( ua.indexOf( ' chrome/' ) == -1 ) { + popupWindow.moveTo( left, top ); + popupWindow.resizeTo( width, height ); + } + popupWindow.focus(); + popupWindow.location.href = url; + } catch ( e ) { + popupWindow = window.open( url, null, options, true ); + } + + return true; + } +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/preview/icons/hidpi/preview-rtl.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/icons/hidpi/preview-rtl.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/preview/icons/hidpi/preview-rtl.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/icons/hidpi/preview-rtl.png diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/preview/icons/hidpi/preview.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/icons/hidpi/preview.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/preview/icons/hidpi/preview.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/icons/hidpi/preview.png diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/preview/icons/preview-rtl.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/icons/preview-rtl.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/preview/icons/preview-rtl.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/icons/preview-rtl.png diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/preview/icons/preview.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/icons/preview.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/preview/icons/preview.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/icons/preview.png diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/af.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/af.js new file mode 100644 index 00000000000..f4b3d3305a5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/af.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'af', { + preview: 'Voorbeeld' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ar.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ar.js new file mode 100644 index 00000000000..867fa02b679 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ar.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'ar', { + preview: 'معاينة الصفحة' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/bg.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/bg.js new file mode 100644 index 00000000000..62c8dc7ce4a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/bg.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'bg', { + preview: 'Преглед' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/bn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/bn.js new file mode 100644 index 00000000000..70271c60824 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/bn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'bn', { + preview: 'প্রিভিউ' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/bs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/bs.js new file mode 100644 index 00000000000..1348729fa18 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/bs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'bs', { + preview: 'Prikaži' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ca.js new file mode 100644 index 00000000000..2680eb3db98 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'ca', { + preview: 'Visualització prèvia' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/cs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/cs.js new file mode 100644 index 00000000000..ea626dd4da3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/cs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'cs', { + preview: 'Náhled' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/cy.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/cy.js new file mode 100644 index 00000000000..6bd4eac5170 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/cy.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'cy', { + preview: 'Rhagolwg' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/da.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/da.js new file mode 100644 index 00000000000..bd785c00240 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/da.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'da', { + preview: 'Vis eksempel' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/de.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/de.js new file mode 100644 index 00000000000..8ba8be7453b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/de.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'de', { + preview: 'Vorschau' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/el.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/el.js new file mode 100644 index 00000000000..8621b9b12f7 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/el.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'el', { + preview: 'Προεπισκόπιση' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/en-au.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/en-au.js new file mode 100644 index 00000000000..5f5e91c9cc3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/en-au.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'en-au', { + preview: 'Preview' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/en-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/en-ca.js new file mode 100644 index 00000000000..2227b5579c1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/en-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'en-ca', { + preview: 'Preview' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/en-gb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/en-gb.js new file mode 100644 index 00000000000..aca84ca52f7 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/en-gb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'en-gb', { + preview: 'Preview' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/en.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/en.js new file mode 100644 index 00000000000..93063b547bc --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/en.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'en', { + preview: 'Preview' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/eo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/eo.js new file mode 100644 index 00000000000..3b8c10afd2c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/eo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'eo', { + preview: 'Vidigi Aspekton' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/es.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/es.js new file mode 100644 index 00000000000..3a210c176dd --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/es.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'es', { + preview: 'Vista Previa' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/et.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/et.js new file mode 100644 index 00000000000..5075f03610d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/et.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'et', { + preview: 'Eelvaade' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/eu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/eu.js new file mode 100644 index 00000000000..edaf049a836 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/eu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'eu', { + preview: 'Aurrebista' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/fa.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/fa.js new file mode 100644 index 00000000000..aeebf192317 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/fa.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'fa', { + preview: 'پیشنمایش' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/fi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/fi.js new file mode 100644 index 00000000000..e5dacd9c251 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/fi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'fi', { + preview: 'Esikatsele' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/fo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/fo.js new file mode 100644 index 00000000000..6aea652b390 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/fo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'fo', { + preview: 'Frumsýning' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/fr-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/fr-ca.js new file mode 100644 index 00000000000..22569e09a7a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/fr-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'fr-ca', { + preview: 'Prévisualiser' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/fr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/fr.js new file mode 100644 index 00000000000..da3f58e8c8d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/fr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'fr', { + preview: 'Aperçu' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/gl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/gl.js new file mode 100644 index 00000000000..14247141456 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/gl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'gl', { + preview: 'Vista previa' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/gu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/gu.js new file mode 100644 index 00000000000..4b25f0f5c7a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/gu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'gu', { + preview: 'પૂર્વદર્શન' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/he.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/he.js new file mode 100644 index 00000000000..0c6998b8f5d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/he.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'he', { + preview: 'תצוגה מקדימה' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/hi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/hi.js new file mode 100644 index 00000000000..e9cbee95633 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/hi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'hi', { + preview: 'प्रीव्यू' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/hr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/hr.js new file mode 100644 index 00000000000..ad04d674e22 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/hr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'hr', { + preview: 'Pregledaj' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/hu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/hu.js new file mode 100644 index 00000000000..bdc63a1b05c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/hu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'hu', { + preview: 'Előnézet' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/id.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/id.js new file mode 100644 index 00000000000..b342777ebcb --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/id.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'id', { + preview: 'Pratinjau' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/is.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/is.js new file mode 100644 index 00000000000..d0089427c8b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/is.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'is', { + preview: 'Forskoða' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/it.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/it.js new file mode 100644 index 00000000000..f5d01cbca19 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/it.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'it', { + preview: 'Anteprima' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ja.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ja.js new file mode 100644 index 00000000000..d7ccf2c0770 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ja.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'ja', { + preview: 'プレビュー' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ka.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ka.js new file mode 100644 index 00000000000..69842f125b9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ka.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'ka', { + preview: 'გადახედვა' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/km.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/km.js new file mode 100644 index 00000000000..221adccd0e3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/km.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'km', { + preview: 'មើល​ជា​មុន' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ko.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ko.js new file mode 100644 index 00000000000..21532606f4b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ko.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'ko', { + preview: '미리보기' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ku.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ku.js new file mode 100644 index 00000000000..7fb85abc8fe --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ku.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'ku', { + preview: 'پێشبینین' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/lt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/lt.js new file mode 100644 index 00000000000..da129eb20a0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/lt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'lt', { + preview: 'Peržiūra' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/lv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/lv.js new file mode 100644 index 00000000000..20866253e03 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/lv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'lv', { + preview: 'Priekšskatīt' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/mk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/mk.js new file mode 100644 index 00000000000..2835d592afe --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/mk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'mk', { + preview: 'Preview' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/mn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/mn.js new file mode 100644 index 00000000000..f6c73052a12 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/mn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'mn', { + preview: 'Уридчлан харах' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ms.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ms.js new file mode 100644 index 00000000000..e478dab1d7d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ms.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'ms', { + preview: 'Prebiu' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/nb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/nb.js new file mode 100644 index 00000000000..c8c48c3833d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/nb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'nb', { + preview: 'Forhåndsvis' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/nl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/nl.js new file mode 100644 index 00000000000..b16350e2aa7 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/nl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'nl', { + preview: 'Voorbeeld' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/no.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/no.js new file mode 100644 index 00000000000..0ab22d9c735 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/no.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'no', { + preview: 'Forhåndsvis' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/pl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/pl.js new file mode 100644 index 00000000000..071a0348ba3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/pl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'pl', { + preview: 'Podgląd' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/pt-br.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/pt-br.js new file mode 100644 index 00000000000..40b22b4f0d2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/pt-br.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'pt-br', { + preview: 'Visualizar' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/pt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/pt.js new file mode 100644 index 00000000000..57ca859d3c0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/pt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'pt', { + preview: 'Pré-visualizar' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ro.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ro.js new file mode 100644 index 00000000000..ecbf1890dcc --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ro.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'ro', { + preview: 'Previzualizare' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ru.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ru.js new file mode 100644 index 00000000000..2da475efbac --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ru.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'ru', { + preview: 'Предварительный просмотр' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/si.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/si.js new file mode 100644 index 00000000000..b1a58527fe1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/si.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'si', { + preview: 'නැවත ' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sk.js new file mode 100644 index 00000000000..6f94275b27a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'sk', { + preview: 'Náhľad' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sl.js new file mode 100644 index 00000000000..7f8ee9a5c7f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'sl', { + preview: 'Predogled' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sq.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sq.js new file mode 100644 index 00000000000..a98d1c4b43c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sq.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'sq', { + preview: 'Parashiko' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sr-latn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sr-latn.js new file mode 100644 index 00000000000..46e4f259e42 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sr-latn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'sr-latn', { + preview: 'Izgled stranice' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sr.js new file mode 100644 index 00000000000..3be54551ec4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'sr', { + preview: 'Изглед странице' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sv.js new file mode 100644 index 00000000000..4602f090d59 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/sv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'sv', { + preview: 'Förhandsgranska' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/th.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/th.js new file mode 100644 index 00000000000..70e7ae490a9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/th.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'th', { + preview: 'ดูหน้าเอกสารตัวอย่าง' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/tr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/tr.js new file mode 100644 index 00000000000..8b0872ab824 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/tr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'tr', { + preview: 'Ön İzleme' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ug.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ug.js new file mode 100644 index 00000000000..9336cda119b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/ug.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'ug', { + preview: 'ئالدىن كۆزەت' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/uk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/uk.js new file mode 100644 index 00000000000..27df09cb8f8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/uk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'uk', { + preview: 'Попередній перегляд' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/vi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/vi.js new file mode 100644 index 00000000000..148f8fba93f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/vi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'vi', { + preview: 'Xem trước' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/zh-cn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/zh-cn.js new file mode 100644 index 00000000000..329642fc3c1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/zh-cn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'zh-cn', { + preview: '预览' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/zh.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/zh.js new file mode 100644 index 00000000000..769858c8182 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/lang/zh.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'preview', 'zh', { + preview: '預覽' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/plugin.js new file mode 100644 index 00000000000..f86a6bbfc0e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/plugin.js @@ -0,0 +1,141 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/** + * @fileOverview Preview plugin. + */ + +( function() { + var pluginPath; + + var previewCmd = { modes: { wysiwyg: 1, source: 1 }, + canUndo: false, + readOnly: 1, + exec: function( editor ) { + var sHTML, + config = editor.config, + baseTag = config.baseHref ? '' : '', + eventData; + + if ( config.fullPage ) + sHTML = editor.getData().replace( //, '$&' + baseTag ).replace( /[^>]*(?=<\/title>)/, '$& — ' + editor.lang.preview.preview ); + else { + var bodyHtml = '' + + '' + + baseTag + + '' + editor.lang.preview.preview + '' + + CKEDITOR.tools.buildStyleHtml( editor.config.contentsCss ) + + '' + bodyHtml + + editor.getData() + + ''; + } + + var iWidth = 640, + // 800 * 0.8, + iHeight = 420, + // 600 * 0.7, + iLeft = 80; // (800 - 0.8 * 800) /2 = 800 * 0.1. + try { + var screen = window.screen; + iWidth = Math.round( screen.width * 0.8 ); + iHeight = Math.round( screen.height * 0.7 ); + iLeft = Math.round( screen.width * 0.1 ); + } catch ( e ) {} + + // (#9907) Allow data manipulation before preview is displayed. + // Also don't open the preview window when event cancelled. + if ( editor.fire( 'contentPreview', eventData = { dataValue: sHTML } ) === false ) + return false; + + var sOpenUrl = '', + ieLocation; + + if ( CKEDITOR.env.ie ) { + window._cke_htmlToLoad = eventData.dataValue; + ieLocation = 'javascript:void( (function(){' + + 'document.open();' + + // Support for custom document.domain. + // Strip comments and replace parent with window.opener in the function body. + ( '(' + CKEDITOR.tools.fixDomain + ')();' ).replace( /\/\/.*?\n/g, '' ).replace( /parent\./g, 'window.opener.' ) + + 'document.write( window.opener._cke_htmlToLoad );' + + 'document.close();' + + 'window.opener._cke_htmlToLoad = null;' + + '})() )'; + // For IE we should use window.location rather than setting url in window.open. (#11146) + sOpenUrl = ''; + } + + // With Firefox only, we need to open a special preview page, so + // anchors will work properly on it. (#9047) + if ( CKEDITOR.env.gecko ) { + window._cke_htmlToLoad = eventData.dataValue; + sOpenUrl = pluginPath + 'preview.html'; + } + + var oWindow = window.open( sOpenUrl, null, 'toolbar=yes,location=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=' + + iWidth + ',height=' + iHeight + ',left=' + iLeft ); + + if ( CKEDITOR.env.ie ) + oWindow.location = ieLocation; + + if ( !CKEDITOR.env.ie && !CKEDITOR.env.gecko ) { + var doc = oWindow.document; + doc.open(); + doc.write( eventData.dataValue ); + doc.close(); + } + + return true; + } + }; + + var pluginName = 'preview'; + + // Register a plugin named "preview". + CKEDITOR.plugins.add( pluginName, { + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + icons: 'preview,preview-rtl', // %REMOVE_LINE_CORE% + hidpi: true, // %REMOVE_LINE_CORE% + init: function( editor ) { + + // Preview is not used for the inline creator. + if ( editor.elementMode == CKEDITOR.ELEMENT_MODE_INLINE ) + return; + + pluginPath = this.path; + + editor.addCommand( pluginName, previewCmd ); + editor.ui.addButton && editor.ui.addButton( 'Preview', { + label: editor.lang.preview.preview, + command: pluginName, + toolbar: 'document,40' + } ); + } + } ); +} )(); + +/** + * Event fired when executing `preview` command, which allows additional data manipulation. + * With this event, the raw HTML content of the preview window to be displayed can be altered + * or modified. + * + * @event contentPreview + * @member CKEDITOR + * @param {CKEDITOR.editor} editor This editor instance. + * @param data + * @param {String} data.dataValue The data that will go to the preview. + */ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/preview.html b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/preview.html new file mode 100644 index 00000000000..5745b7abaa6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/preview/preview.html @@ -0,0 +1,10 @@ + diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/print/icons/hidpi/print.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/icons/hidpi/print.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/print/icons/hidpi/print.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/print/icons/hidpi/print.png diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/print/icons/print.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/icons/print.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/print/icons/print.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/print/icons/print.png diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/af.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/af.js new file mode 100644 index 00000000000..d3c820c9068 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/af.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'af', { + toolbar: 'Druk' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ar.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ar.js new file mode 100644 index 00000000000..69159198ee4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ar.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'ar', { + toolbar: 'طباعة' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/bg.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/bg.js new file mode 100644 index 00000000000..f0ebff456d6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/bg.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'bg', { + toolbar: 'Печат' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/bn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/bn.js new file mode 100644 index 00000000000..4673c949f6f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/bn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'bn', { + toolbar: 'প্রিন্ট' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/bs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/bs.js new file mode 100644 index 00000000000..bf5da0685e3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/bs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'bs', { + toolbar: 'Štampaj' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ca.js new file mode 100644 index 00000000000..fd5736fa696 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'ca', { + toolbar: 'Imprimeix' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/cs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/cs.js new file mode 100644 index 00000000000..2ed58ee6bf2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/cs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'cs', { + toolbar: 'Tisk' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/cy.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/cy.js new file mode 100644 index 00000000000..ec4d3c399c2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/cy.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'cy', { + toolbar: 'Argraffu' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/da.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/da.js new file mode 100644 index 00000000000..a0b182d3dc5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/da.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'da', { + toolbar: 'Udskriv' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/de.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/de.js new file mode 100644 index 00000000000..b8baaca6475 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/de.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'de', { + toolbar: 'Drucken' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/el.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/el.js new file mode 100644 index 00000000000..54fa596e94c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/el.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'el', { + toolbar: 'Εκτύπωση' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/en-au.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/en-au.js new file mode 100644 index 00000000000..6c71cf077e2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/en-au.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'en-au', { + toolbar: 'Print' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/en-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/en-ca.js new file mode 100644 index 00000000000..4228e13b715 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/en-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'en-ca', { + toolbar: 'Print' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/en-gb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/en-gb.js new file mode 100644 index 00000000000..fbb20334605 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/en-gb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'en-gb', { + toolbar: 'Print' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/en.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/en.js new file mode 100644 index 00000000000..b4e01b29b47 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/en.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'en', { + toolbar: 'Print' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/eo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/eo.js new file mode 100644 index 00000000000..8248d3d5e7e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/eo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'eo', { + toolbar: 'Presi' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/es.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/es.js new file mode 100644 index 00000000000..026a2984c40 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/es.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'es', { + toolbar: 'Imprimir' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/et.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/et.js new file mode 100644 index 00000000000..a686d4fb33e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/et.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'et', { + toolbar: 'Printimine' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/eu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/eu.js new file mode 100644 index 00000000000..7b84786daa2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/eu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'eu', { + toolbar: 'Inprimatu' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/fa.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/fa.js new file mode 100644 index 00000000000..7badbb3c605 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/fa.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'fa', { + toolbar: 'چاپ' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/fi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/fi.js new file mode 100644 index 00000000000..91ac4603644 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/fi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'fi', { + toolbar: 'Tulosta' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/fo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/fo.js new file mode 100644 index 00000000000..90c3c48ae77 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/fo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'fo', { + toolbar: 'Prenta' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/fr-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/fr-ca.js new file mode 100644 index 00000000000..8d653c21140 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/fr-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'fr-ca', { + toolbar: 'Imprimer' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/fr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/fr.js new file mode 100644 index 00000000000..36c9b83639c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/fr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'fr', { + toolbar: 'Imprimer' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/gl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/gl.js new file mode 100644 index 00000000000..ef7fccc0a79 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/gl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'gl', { + toolbar: 'Imprimir' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/gu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/gu.js new file mode 100644 index 00000000000..31f629f97a6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/gu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'gu', { + toolbar: 'પ્રિન્ટ' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/he.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/he.js new file mode 100644 index 00000000000..bf93418752c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/he.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'he', { + toolbar: 'הדפסה' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/hi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/hi.js new file mode 100644 index 00000000000..e4522ea73a6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/hi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'hi', { + toolbar: 'प्रिन्ट' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/hr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/hr.js new file mode 100644 index 00000000000..e18c1337a28 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/hr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'hr', { + toolbar: 'Ispiši' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/hu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/hu.js new file mode 100644 index 00000000000..5a9bce5c049 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/hu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'hu', { + toolbar: 'Nyomtatás' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/id.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/id.js new file mode 100644 index 00000000000..eb2ac75d548 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/id.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'id', { + toolbar: 'Cetak' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/is.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/is.js new file mode 100644 index 00000000000..5e49f0b2a77 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/is.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'is', { + toolbar: 'Prenta' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/it.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/it.js new file mode 100644 index 00000000000..1df4ab12739 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/it.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'it', { + toolbar: 'Stampa' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ja.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ja.js new file mode 100644 index 00000000000..fee31735c88 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ja.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'ja', { + toolbar: '印刷' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ka.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ka.js new file mode 100644 index 00000000000..916163919d5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ka.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'ka', { + toolbar: 'ბეჭდვა' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/km.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/km.js new file mode 100644 index 00000000000..b2d93705ad0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/km.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'km', { + toolbar: 'បោះពុម្ព' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ko.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ko.js new file mode 100644 index 00000000000..95b845e7236 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ko.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'ko', { + toolbar: '인쇄하기' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ku.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ku.js new file mode 100644 index 00000000000..076a369253f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ku.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'ku', { + toolbar: 'چاپکردن' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/lt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/lt.js new file mode 100644 index 00000000000..dd8bb405145 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/lt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'lt', { + toolbar: 'Spausdinti' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/lv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/lv.js new file mode 100644 index 00000000000..e8f81744f9b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/lv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'lv', { + toolbar: 'Drukāt' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/mk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/mk.js new file mode 100644 index 00000000000..bfd94843968 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/mk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'mk', { + toolbar: 'Print' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/mn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/mn.js new file mode 100644 index 00000000000..7e2dc60fbf9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/mn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'mn', { + toolbar: 'Хэвлэх' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ms.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ms.js new file mode 100644 index 00000000000..0aa07dbbabc --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ms.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'ms', { + toolbar: 'Cetak' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/nb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/nb.js new file mode 100644 index 00000000000..66c2e22f700 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/nb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'nb', { + toolbar: 'Skriv ut' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/nl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/nl.js new file mode 100644 index 00000000000..4a5eaf445db --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/nl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'nl', { + toolbar: 'Afdrukken' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/no.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/no.js new file mode 100644 index 00000000000..ecac2983810 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/no.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'no', { + toolbar: 'Skriv ut' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/pl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/pl.js new file mode 100644 index 00000000000..86b5857efee --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/pl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'pl', { + toolbar: 'Drukuj' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/pt-br.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/pt-br.js new file mode 100644 index 00000000000..51ef5967eed --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/pt-br.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'pt-br', { + toolbar: 'Imprimir' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/pt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/pt.js new file mode 100644 index 00000000000..e10f38922be --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/pt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'pt', { + toolbar: 'Imprimir' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ro.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ro.js new file mode 100644 index 00000000000..bac3032a273 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ro.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'ro', { + toolbar: 'Printează' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ru.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ru.js new file mode 100644 index 00000000000..df3948401c8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ru.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'ru', { + toolbar: 'Печать' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/si.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/si.js new file mode 100644 index 00000000000..a0a0f4b5c34 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/si.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'si', { + toolbar: 'මුද්‍රණය කරන්න' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sk.js new file mode 100644 index 00000000000..5dfdc2ce492 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'sk', { + toolbar: 'Tlač' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sl.js new file mode 100644 index 00000000000..473cc636b2c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'sl', { + toolbar: 'Natisni' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sq.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sq.js new file mode 100644 index 00000000000..2729d949e53 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sq.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'sq', { + toolbar: 'Shtype' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sr-latn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sr-latn.js new file mode 100644 index 00000000000..8376cf29ccc --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sr-latn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'sr-latn', { + toolbar: 'Štampa' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sr.js new file mode 100644 index 00000000000..a5ba4ad30be --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'sr', { + toolbar: 'Штампа' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sv.js new file mode 100644 index 00000000000..193069ef824 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/sv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'sv', { + toolbar: 'Skriv ut' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/th.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/th.js new file mode 100644 index 00000000000..f24f7d293a5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/th.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'th', { + toolbar: 'สั่งพิมพ์' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/tr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/tr.js new file mode 100644 index 00000000000..5c804105176 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/tr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'tr', { + toolbar: 'Yazdır' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ug.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ug.js new file mode 100644 index 00000000000..db85fab461a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/ug.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'ug', { + toolbar: 'باس ' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/uk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/uk.js new file mode 100644 index 00000000000..64957a35c6e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/uk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'uk', { + toolbar: 'Друк' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/vi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/vi.js new file mode 100644 index 00000000000..8f03df93dd5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/vi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'vi', { + toolbar: 'In' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/zh-cn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/zh-cn.js new file mode 100644 index 00000000000..620452a799e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/zh-cn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'zh-cn', { + toolbar: '打印' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/zh.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/zh.js new file mode 100644 index 00000000000..7628b1f6de0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/lang/zh.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'print', 'zh', { + toolbar: '列印' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/plugin.js new file mode 100644 index 00000000000..e77808ec145 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/print/plugin.js @@ -0,0 +1,45 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/** + * @fileOverview Print Plugin + */ + +CKEDITOR.plugins.add( 'print', { + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + icons: 'print,', // %REMOVE_LINE_CORE% + hidpi: true, // %REMOVE_LINE_CORE% + init: function( editor ) { + // Print plugin isn't available in inline mode yet. + if ( editor.elementMode == CKEDITOR.ELEMENT_MODE_INLINE ) + return; + + var pluginName = 'print'; + + // Register the command. + var command = editor.addCommand( pluginName, CKEDITOR.plugins.print ); + + // Register the toolbar button. + editor.ui.addButton && editor.ui.addButton( 'Print', { + label: editor.lang.print.toolbar, + command: pluginName, + toolbar: 'document,50' + } ); + } +} ); + +CKEDITOR.plugins.print = { + exec: function( editor ) { + if ( CKEDITOR.env.opera ) + return; + else if ( CKEDITOR.env.gecko ) + editor.window.$.print(); + else + editor.document.$.execCommand( "Print" ); + }, + canUndo: false, + readOnly: 1, + modes: { wysiwyg: !( CKEDITOR.env.opera ) } // It is imposible to print the inner document in Opera. +}; diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/icons/hidpi/removeformat.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/icons/hidpi/removeformat.png new file mode 100644 index 00000000000..910b0a3c8f5 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/icons/hidpi/removeformat.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/icons/removeformat.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/icons/removeformat.png new file mode 100644 index 00000000000..1bc9b38601a Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/icons/removeformat.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/af.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/af.js new file mode 100644 index 00000000000..af433e6a600 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/af.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'af', { + toolbar: 'Verwyder opmaak' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ar.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ar.js new file mode 100644 index 00000000000..8895c0f454e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ar.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'ar', { + toolbar: 'إزالة التنسيقات' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/bg.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/bg.js new file mode 100644 index 00000000000..b53cb875567 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/bg.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'bg', { + toolbar: 'Премахване на форматирането' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/bn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/bn.js new file mode 100644 index 00000000000..c18984124ab --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/bn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'bn', { + toolbar: 'ফরমেট সরাও' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/bs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/bs.js new file mode 100644 index 00000000000..333e6269e9b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/bs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'bs', { + toolbar: 'Poništi format' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ca.js new file mode 100644 index 00000000000..b079ef48e72 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'ca', { + toolbar: 'Elimina Format' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/cs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/cs.js new file mode 100644 index 00000000000..e9ce318d592 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/cs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'cs', { + toolbar: 'Odstranit formátování' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/cy.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/cy.js new file mode 100644 index 00000000000..46337bbbaa5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/cy.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'cy', { + toolbar: 'Tynnu Fformat' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/da.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/da.js new file mode 100644 index 00000000000..8ad3e26bbc0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/da.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'da', { + toolbar: 'Fjern formatering' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/de.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/de.js new file mode 100644 index 00000000000..1b44705a05c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/de.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'de', { + toolbar: 'Formatierungen entfernen' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/el.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/el.js new file mode 100644 index 00000000000..f53565b84f6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/el.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'el', { + toolbar: 'Εκκαθάριση Μορφοποίησης' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/en-au.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/en-au.js new file mode 100644 index 00000000000..8af1299ee8f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/en-au.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'en-au', { + toolbar: 'Remove Format' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/en-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/en-ca.js new file mode 100644 index 00000000000..10b8b92168c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/en-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'en-ca', { + toolbar: 'Remove Format' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/en-gb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/en-gb.js new file mode 100644 index 00000000000..b7989952e80 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/en-gb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'en-gb', { + toolbar: 'Remove Format' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/en.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/en.js new file mode 100644 index 00000000000..a41396214b3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/en.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'en', { + toolbar: 'Remove Format' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/eo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/eo.js new file mode 100644 index 00000000000..e40d303ae7a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/eo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'eo', { + toolbar: 'Forigi Formaton' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/es.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/es.js new file mode 100644 index 00000000000..dca483a6089 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/es.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'es', { + toolbar: 'Eliminar Formato' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/et.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/et.js new file mode 100644 index 00000000000..137b2627af4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/et.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'et', { + toolbar: 'Vormingu eemaldamine' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/eu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/eu.js new file mode 100644 index 00000000000..0db92808a7c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/eu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'eu', { + toolbar: 'Kendu Formatua' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/fa.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/fa.js new file mode 100644 index 00000000000..31378a4dffd --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/fa.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'fa', { + toolbar: 'برداشتن فرمت' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/fi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/fi.js new file mode 100644 index 00000000000..e2760e2f7db --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/fi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'fi', { + toolbar: 'Poista muotoilu' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/fo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/fo.js new file mode 100644 index 00000000000..19b84b1ed82 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/fo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'fo', { + toolbar: 'Strika sniðgeving' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/fr-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/fr-ca.js new file mode 100644 index 00000000000..4343a0e61ff --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/fr-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'fr-ca', { + toolbar: 'Supprimer le formatage' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/fr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/fr.js new file mode 100644 index 00000000000..8fb45d52032 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/fr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'fr', { + toolbar: 'Supprimer la mise en forme' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/gl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/gl.js new file mode 100644 index 00000000000..4abf0ab563f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/gl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'gl', { + toolbar: 'Retirar o formato' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/gu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/gu.js new file mode 100644 index 00000000000..a19dc35e057 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/gu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'gu', { + toolbar: 'ફૉર્મટ કાઢવું' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/he.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/he.js new file mode 100644 index 00000000000..3658b058cb1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/he.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'he', { + toolbar: 'הסרת העיצוב' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/hi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/hi.js new file mode 100644 index 00000000000..3c23586a3f1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/hi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'hi', { + toolbar: 'फ़ॉर्मैट हटायें' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/hr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/hr.js new file mode 100644 index 00000000000..a452ac718d6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/hr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'hr', { + toolbar: 'Ukloni formatiranje' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/hu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/hu.js new file mode 100644 index 00000000000..b3d0833ee72 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/hu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'hu', { + toolbar: 'Formázás eltávolítása' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/id.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/id.js new file mode 100644 index 00000000000..fc7e0cf2e42 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/id.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'id', { + toolbar: 'Hapus Format' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/is.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/is.js new file mode 100644 index 00000000000..24bd7096175 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/is.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'is', { + toolbar: 'Fjarlægja snið' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/it.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/it.js new file mode 100644 index 00000000000..fefb9d2dee1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/it.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'it', { + toolbar: 'Elimina formattazione' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ja.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ja.js new file mode 100644 index 00000000000..e1fa1693266 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ja.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'ja', { + toolbar: '書式を解除' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ka.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ka.js new file mode 100644 index 00000000000..fe7081c318e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ka.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'ka', { + toolbar: 'ფორმატირების მოხსნა' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/km.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/km.js new file mode 100644 index 00000000000..1b889d04bbd --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/km.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'km', { + toolbar: 'ជម្រះ​ទ្រង់​ទ្រាយ' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ko.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ko.js new file mode 100644 index 00000000000..e6338cbb711 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ko.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'ko', { + toolbar: '포맷 지우기' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ku.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ku.js new file mode 100644 index 00000000000..12f562ae5db --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ku.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'ku', { + toolbar: 'لابردنی داڕشتەکە' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/lt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/lt.js new file mode 100644 index 00000000000..156ad64879f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/lt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'lt', { + toolbar: 'Panaikinti formatą' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/lv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/lv.js new file mode 100644 index 00000000000..3511ee81774 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/lv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'lv', { + toolbar: 'Noņemt stilus' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/mk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/mk.js new file mode 100644 index 00000000000..62804036480 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/mk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'mk', { + toolbar: 'Remove Format' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/mn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/mn.js new file mode 100644 index 00000000000..1402bca12c8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/mn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'mn', { + toolbar: 'Параргафын загварыг авч хаях' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ms.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ms.js new file mode 100644 index 00000000000..cc872b3d06a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ms.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'ms', { + toolbar: 'Buang Format' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/nb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/nb.js new file mode 100644 index 00000000000..d42e07e86c8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/nb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'nb', { + toolbar: 'Fjern formatering' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/nl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/nl.js new file mode 100644 index 00000000000..223c6833ed3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/nl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'nl', { + toolbar: 'Opmaak verwijderen' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/no.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/no.js new file mode 100644 index 00000000000..f6b6004c0ee --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/no.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'no', { + toolbar: 'Fjern formatering' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/pl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/pl.js new file mode 100644 index 00000000000..52de13ef8e2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/pl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'pl', { + toolbar: 'Usuń formatowanie' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/pt-br.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/pt-br.js new file mode 100644 index 00000000000..5d26f506bbd --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/pt-br.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'pt-br', { + toolbar: 'Remover Formatação' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/pt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/pt.js new file mode 100644 index 00000000000..e0f48babc15 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/pt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'pt', { + toolbar: 'Eliminar Formato' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ro.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ro.js new file mode 100644 index 00000000000..e8e2408ad95 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ro.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'ro', { + toolbar: 'Înlătură formatarea' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ru.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ru.js new file mode 100644 index 00000000000..a2b4665dd47 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ru.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'ru', { + toolbar: 'Убрать форматирование' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/si.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/si.js new file mode 100644 index 00000000000..26a33d21c03 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/si.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'si', { + toolbar: 'සැකසීම වෙනස් කරන්න' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sk.js new file mode 100644 index 00000000000..198c5519154 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'sk', { + toolbar: 'Odstrániť formátovanie' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sl.js new file mode 100644 index 00000000000..92b3a302b4c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'sl', { + toolbar: 'Odstrani oblikovanje' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sq.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sq.js new file mode 100644 index 00000000000..9c23fed4afc --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sq.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'sq', { + toolbar: 'Largo Formatin' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sr-latn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sr-latn.js new file mode 100644 index 00000000000..1b379978682 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sr-latn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'sr-latn', { + toolbar: 'Ukloni formatiranje' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sr.js new file mode 100644 index 00000000000..d6ddbd90386 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'sr', { + toolbar: 'Уклони форматирање' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sv.js new file mode 100644 index 00000000000..186fc760002 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/sv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'sv', { + toolbar: 'Radera formatering' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/th.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/th.js new file mode 100644 index 00000000000..6fea757b4ab --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/th.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'th', { + toolbar: 'ล้างรูปแบบ' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/tr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/tr.js new file mode 100644 index 00000000000..d6017af6c6e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/tr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'tr', { + toolbar: 'Biçimi Kaldır' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ug.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ug.js new file mode 100644 index 00000000000..19e13c378ca --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/ug.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'ug', { + toolbar: 'پىچىمنى چىقىرىۋەت' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/uk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/uk.js new file mode 100644 index 00000000000..b742d5319c7 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/uk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'uk', { + toolbar: 'Очистити форматування' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/vi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/vi.js new file mode 100644 index 00000000000..669315d2437 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/vi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'vi', { + toolbar: 'Xoá định dạng' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/zh-cn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/zh-cn.js new file mode 100644 index 00000000000..45e134cf5ff --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/zh-cn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'zh-cn', { + toolbar: '清除格式' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/zh.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/zh.js new file mode 100644 index 00000000000..e3c05d51be8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/lang/zh.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'removeformat', 'zh', { + toolbar: '移除格式' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/plugin.js new file mode 100644 index 00000000000..6b36850d18c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/removeformat/plugin.js @@ -0,0 +1,174 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +CKEDITOR.plugins.add( 'removeformat', { + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + icons: 'removeformat', // %REMOVE_LINE_CORE% + hidpi: true, // %REMOVE_LINE_CORE% + init: function( editor ) { + editor.addCommand( 'removeFormat', CKEDITOR.plugins.removeformat.commands.removeformat ); + editor.ui.addButton && editor.ui.addButton( 'RemoveFormat', { + label: editor.lang.removeformat.toolbar, + command: 'removeFormat', + toolbar: 'cleanup,10' + } ); + } +} ); + +CKEDITOR.plugins.removeformat = { + commands: { + removeformat: { + exec: function( editor ) { + var tagsRegex = editor._.removeFormatRegex || ( editor._.removeFormatRegex = new RegExp( '^(?:' + editor.config.removeFormatTags.replace( /,/g, '|' ) + ')$', 'i' ) ); + + var removeAttributes = editor._.removeAttributes || ( editor._.removeAttributes = editor.config.removeFormatAttributes.split( ',' ) ); + + var filter = CKEDITOR.plugins.removeformat.filter; + var ranges = editor.getSelection().getRanges( 1 ), + iterator = ranges.createIterator(), + range; + + while ( ( range = iterator.getNextRange() ) ) { + if ( !range.collapsed ) + range.enlarge( CKEDITOR.ENLARGE_ELEMENT ); + + // Bookmark the range so we can re-select it after processing. + var bookmark = range.createBookmark(), + // The style will be applied within the bookmark boundaries. + startNode = bookmark.startNode, + endNode = bookmark.endNode, + currentNode; + + // We need to check the selection boundaries (bookmark spans) to break + // the code in a way that we can properly remove partially selected nodes. + // For example, removing a style from + // This is [some text to show the] problem + // ... where [ and ] represent the selection, must result: + // This is [some text to show the] problem + // The strategy is simple, we just break the partial nodes before the + // removal logic, having something that could be represented this way: + // This is [some text to show the] problem + + var breakParent = function( node ) { + // Let's start checking the start boundary. + var path = editor.elementPath( node ), + pathElements = path.elements; + + for ( var i = 1, pathElement; pathElement = pathElements[ i ]; i++ ) { + if ( pathElement.equals( path.block ) || pathElement.equals( path.blockLimit ) ) + break; + + // If this element can be removed (even partially). + if ( tagsRegex.test( pathElement.getName() ) && filter( editor, pathElement ) ) + node.breakParent( pathElement ); + } + }; + + breakParent( startNode ); + if ( endNode ) { + breakParent( endNode ); + + // Navigate through all nodes between the bookmarks. + currentNode = startNode.getNextSourceNode( true, CKEDITOR.NODE_ELEMENT ); + + while ( currentNode ) { + // If we have reached the end of the selection, stop looping. + if ( currentNode.equals( endNode ) ) + break; + + // Cache the next node to be processed. Do it now, because + // currentNode may be removed. + var nextNode = currentNode.getNextSourceNode( false, CKEDITOR.NODE_ELEMENT ); + + // This node must not be a fake element. + if ( !( currentNode.getName() == 'img' && currentNode.data( 'cke-realelement' ) ) && filter( editor, currentNode ) ) { + // Remove elements nodes that match with this style rules. + if ( tagsRegex.test( currentNode.getName() ) ) + currentNode.remove( 1 ); + else { + currentNode.removeAttributes( removeAttributes ); + editor.fire( 'removeFormatCleanup', currentNode ); + } + } + + currentNode = nextNode; + } + } + + range.moveToBookmark( bookmark ); + } + + // The selection path may not changed, but we should force a selection + // change event to refresh command states, due to the above attribution change. (#9238) + editor.forceNextSelectionCheck(); + editor.getSelection().selectRanges( ranges ); + } + } + }, + + // Perform the remove format filters on the passed element. + // @param {CKEDITOR.editor} editor + // @param {CKEDITOR.dom.element} element + filter: function( editor, element ) { + // If editor#addRemoveFotmatFilter hasn't been executed yet value is not initialized. + var filters = editor._.removeFormatFilters || []; + for ( var i = 0; i < filters.length; i++ ) { + if ( filters[ i ]( element ) === false ) + return false; + } + return true; + } +}; + +/** + * Add to a collection of functions to decide whether a specific + * element should be considered as formatting element and thus + * could be removed during `removeFormat` command. + * + * **Note:** Only available with the existence of `removeformat` plugin. + * + * // Don't remove empty span. + * editor.addRemoveFormatFilter( function( element ) { + * return !( element.is( 'span' ) && CKEDITOR.tools.isEmpty( element.getAttributes() ) ); + * } ); + * + * @since 3.3 + * @member CKEDITOR.editor + * @param {Function} func The function to be called, which will be passed a {CKEDITOR.dom.element} element to test. + */ +CKEDITOR.editor.prototype.addRemoveFormatFilter = function( func ) { + if ( !this._.removeFormatFilters ) + this._.removeFormatFilters = []; + + this._.removeFormatFilters.push( func ); +}; + +/** + * A comma separated list of elements to be removed when executing the `remove + * format` command. Note that only inline elements are allowed. + * + * @cfg + * @member CKEDITOR.config + */ +CKEDITOR.config.removeFormatTags = 'b,big,code,del,dfn,em,font,i,ins,kbd,q,s,samp,small,span,strike,strong,sub,sup,tt,u,var'; + +/** + * A comma separated list of elements attributes to be removed when executing + * the `remove format` command. + * + * @cfg + * @member CKEDITOR.config + */ +CKEDITOR.config.removeFormatAttributes = 'class,style,lang,width,height,align,hspace,valign'; + +/** + * Fired after an element was cleaned by the removeFormat plugin. + * + * @event removeFormatCleanup + * @member CKEDITOR.editor + * @param {CKEDITOR.editor} editor This editor instance. + * @param data + * @param {CKEDITOR.dom.element} data.element The element that was cleaned up. + */ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/resize/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/resize/plugin.js new file mode 100644 index 00000000000..7ff173e730b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/resize/plugin.js @@ -0,0 +1,169 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +CKEDITOR.plugins.add( 'resize', { + init: function( editor ) { + var config = editor.config; + var spaceId = editor.ui.spaceId( 'resizer' ); + + // Resize in the same direction of chrome, + // which is identical to dir of editor element. (#6614) + var resizeDir = editor.element ? editor.element.getDirection( 1 ) : 'ltr'; + + !config.resize_dir && ( config.resize_dir = 'vertical' ); + ( config.resize_maxWidth == undefined ) && ( config.resize_maxWidth = 3000 ); + ( config.resize_maxHeight == undefined ) && ( config.resize_maxHeight = 3000 ); + ( config.resize_minWidth == undefined ) && ( config.resize_minWidth = 750 ); + ( config.resize_minHeight == undefined ) && ( config.resize_minHeight = 250 ); + + if ( config.resize_enabled !== false ) { + var container = null, + origin, startSize, + resizeHorizontal = ( config.resize_dir == 'both' || config.resize_dir == 'horizontal' ) && ( config.resize_minWidth != config.resize_maxWidth ), + resizeVertical = ( config.resize_dir == 'both' || config.resize_dir == 'vertical' ) && ( config.resize_minHeight != config.resize_maxHeight ); + + function dragHandler( evt ) { + var dx = evt.data.$.screenX - origin.x, + dy = evt.data.$.screenY - origin.y, + width = startSize.width, + height = startSize.height, + internalWidth = width + dx * ( resizeDir == 'rtl' ? -1 : 1 ), + internalHeight = height + dy; + + if ( resizeHorizontal ) + width = Math.max( config.resize_minWidth, Math.min( internalWidth, config.resize_maxWidth ) ); + + if ( resizeVertical ) + height = Math.max( config.resize_minHeight, Math.min( internalHeight, config.resize_maxHeight ) ); + + // DO NOT impose fixed size with single direction resize. (#6308) + editor.resize( resizeHorizontal ? width : null, height ); + } + + function dragEndHandler( evt ) { + CKEDITOR.document.removeListener( 'mousemove', dragHandler ); + CKEDITOR.document.removeListener( 'mouseup', dragEndHandler ); + + if ( editor.document ) { + editor.document.removeListener( 'mousemove', dragHandler ); + editor.document.removeListener( 'mouseup', dragEndHandler ); + } + } + + var mouseDownFn = CKEDITOR.tools.addFunction( function( $event ) { + if ( !container ) + container = editor.getResizable(); + + startSize = { width: container.$.offsetWidth || 0, height: container.$.offsetHeight || 0 }; + origin = { x: $event.screenX, y: $event.screenY }; + + config.resize_minWidth > startSize.width && ( config.resize_minWidth = startSize.width ); + config.resize_minHeight > startSize.height && ( config.resize_minHeight = startSize.height ); + + CKEDITOR.document.on( 'mousemove', dragHandler ); + CKEDITOR.document.on( 'mouseup', dragEndHandler ); + + if ( editor.document ) { + editor.document.on( 'mousemove', dragHandler ); + editor.document.on( 'mouseup', dragEndHandler ); + } + + $event.preventDefault && $event.preventDefault(); + } ); + + editor.on( 'destroy', function() { + CKEDITOR.tools.removeFunction( mouseDownFn ); + } ); + + editor.on( 'uiSpace', function( event ) { + if ( event.data.space == 'bottom' ) { + var direction = ''; + if ( resizeHorizontal && !resizeVertical ) + direction = ' cke_resizer_horizontal'; + if ( !resizeHorizontal && resizeVertical ) + direction = ' cke_resizer_vertical'; + + var resizerHtml = + '' + + // BLACK LOWER RIGHT TRIANGLE (ltr) + // BLACK LOWER LEFT TRIANGLE (rtl) + ( resizeDir == 'ltr' ? '\u25E2' : '\u25E3' ) + + ''; + + // Always sticks the corner of botttom space. + resizeDir == 'ltr' && direction == 'ltr' ? event.data.html += resizerHtml : event.data.html = resizerHtml + event.data.html; + } + }, editor, null, 100 ); + + // Toggle the visibility of the resizer when an editor is being maximized or minimized. + editor.on( 'maximize', function( event ) { + editor.ui.space( 'resizer' )[ event.data == CKEDITOR.TRISTATE_ON ? 'hide' : 'show' ](); + } ); + } + } +} ); + +/** + * The minimum editor width, in pixels, when resizing the editor interface by using the resize handle. + * Note: It falls back to editor's actual width if it is smaller than the default value. + * + * config.resize_minWidth = 500; + * + * @cfg {Number} [resize_minWidth=750] + * @member CKEDITOR.config + */ + +/** + * The minimum editor height, in pixels, when resizing the editor interface by using the resize handle. + * Note: It falls back to editor's actual height if it is smaller than the default value. + * + * config.resize_minHeight = 600; + * + * @cfg {Number} [resize_minHeight=250] + * @member CKEDITOR.config + */ + +/** + * The maximum editor width, in pixels, when resizing the editor interface by using the resize handle. + * + * config.resize_maxWidth = 750; + * + * @cfg {Number} [resize_maxWidth=3000] + * @member CKEDITOR.config + */ + +/** + * The maximum editor height, in pixels, when resizing the editor interface by using the resize handle. + * + * config.resize_maxHeight = 600; + * + * @cfg {Number} [resize_maxHeight=3000] + * @member CKEDITOR.config + */ + +/** + * Whether to enable the resizing feature. If this feature is disabled, the resize handle will not be visible. + * + * config.resize_enabled = false; + * + * @cfg {Boolean} [resize_enabled=true] + * @member CKEDITOR.config + */ + +/** + * The dimensions for which the editor resizing is enabled. Possible values + * are `both`, `vertical`, and `horizontal`. + * + * config.resize_dir = 'both'; + * + * @since 3.3 + * @cfg {String} [resize_dir='vertical'] + * @member CKEDITOR.config + */ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/richcombo/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/richcombo/plugin.js new file mode 100644 index 00000000000..49d0e9d647b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/richcombo/plugin.js @@ -0,0 +1,440 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +CKEDITOR.plugins.add( 'richcombo', { + requires: 'floatpanel,listblock,button', + + beforeInit: function( editor ) { + editor.ui.addHandler( CKEDITOR.UI_RICHCOMBO, CKEDITOR.ui.richCombo.handler ); + } +} ); + +( function() { + var template = '' + + '{label}' + + '= 10900 && !CKEDITOR.env.hc ? '' : '" href="javascript:void(\'{titleJs}\')"' ) + + ' hidefocus="true"' + + ' role="button"' + + ' aria-labelledby="{id}_label"' + + ' aria-haspopup="true"'; + + // Some browsers don't cancel key events in the keydown but in the + // keypress. + // TODO: Check if really needed for Gecko+Mac. + if ( CKEDITOR.env.opera || ( CKEDITOR.env.gecko && CKEDITOR.env.mac ) ) + template += ' onkeypress="return false;"'; + + // With Firefox, we need to force the button to redraw, otherwise it + // will remain in the focus state. + if ( CKEDITOR.env.gecko ) + template += ' onblur="this.style.cssText = this.style.cssText;"'; + + template += + ' onkeydown="return CKEDITOR.tools.callFunction({keydownFn},event,this);"' + + ' onmousedown="return CKEDITOR.tools.callFunction({mousedownFn},event);" ' + + ' onfocus="return CKEDITOR.tools.callFunction({focusFn},event);" ' + + ( CKEDITOR.env.ie ? 'onclick="return false;" onmouseup' : 'onclick' ) + // #188 + '="CKEDITOR.tools.callFunction({clickFn},this);return false;">' + + '{label}' + + '' + + '' + + // BLACK DOWN-POINTING TRIANGLE + ( CKEDITOR.env.hc ? '▼' : CKEDITOR.env.air ? ' ' : '' ) + + '' + + '' + + '' + + ''; + + var rcomboTpl = CKEDITOR.addTemplate( 'combo', template ); + + /** + * Button UI element. + * + * @readonly + * @property {String} [='richcombo'] + * @member CKEDITOR + */ + CKEDITOR.UI_RICHCOMBO = 'richcombo'; + + /** + * @class + * @todo + */ + CKEDITOR.ui.richCombo = CKEDITOR.tools.createClass( { + $: function( definition ) { + // Copy all definition properties to this object. + CKEDITOR.tools.extend( this, definition, + // Set defaults. + { + // The combo won't participate in toolbar grouping. + canGroup: false, + title: definition.label, + modes: { wysiwyg: 1 }, + editorFocus: 1 + } ); + + // We don't want the panel definition in this object. + var panelDefinition = this.panel || {}; + delete this.panel; + + this.id = CKEDITOR.tools.getNextNumber(); + + this.document = ( panelDefinition.parent && panelDefinition.parent.getDocument() ) || CKEDITOR.document; + + panelDefinition.className = 'cke_combopanel'; + panelDefinition.block = { + multiSelect: panelDefinition.multiSelect, + attributes: panelDefinition.attributes + }; + panelDefinition.toolbarRelated = true; + + this._ = { + panelDefinition: panelDefinition, + items: {} + }; + }, + + proto: { + renderHtml: function( editor ) { + var output = []; + this.render( editor, output ); + return output.join( '' ); + }, + + /** + * Renders the combo. + * + * @param {CKEDITOR.editor} editor The editor instance which this button is + * to be used by. + * @param {Array} output The output array to which append the HTML relative + * to this button. + */ + render: function( editor, output ) { + var env = CKEDITOR.env; + + var id = 'cke_' + this.id; + var clickFn = CKEDITOR.tools.addFunction( function( el ) { + // Restore locked selection in Opera. + if ( selLocked ) { + editor.unlockSelection( 1 ); + selLocked = 0; + } + instance.execute( el ); + }, this ); + + var combo = this; + var instance = { + id: id, + combo: this, + focus: function() { + var element = CKEDITOR.document.getById( id ).getChild( 1 ); + element.focus(); + }, + execute: function( el ) { + var _ = combo._; + + if ( _.state == CKEDITOR.TRISTATE_DISABLED ) + return; + + combo.createPanel( editor ); + + if ( _.on ) { + _.panel.hide(); + return; + } + + combo.commit(); + var value = combo.getValue(); + if ( value ) + _.list.mark( value ); + else + _.list.unmarkAll(); + + _.panel.showBlock( combo.id, new CKEDITOR.dom.element( el ), 4 ); + }, + clickFn: clickFn + }; + + function updateState() { + var state = this.modes[ editor.mode ] ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED; + + if ( editor.readOnly && !this.readOnly ) + state = CKEDITOR.TRISTATE_DISABLED; + + this.setState( state ); + this.setValue( '' ); + + // Let plugin to disable button. + if ( state != CKEDITOR.TRISTATE_DISABLED && this.refresh ) + this.refresh(); + } + + // Update status when activeFilter, mode or readOnly changes. + editor.on( 'activeFilterChange', updateState, this ); + editor.on( 'mode', updateState, this ); + // If this combo is sensitive to readOnly state, update it accordingly. + !this.readOnly && editor.on( 'readOnly', updateState, this ); + + var keyDownFn = CKEDITOR.tools.addFunction( function( ev, element ) { + ev = new CKEDITOR.dom.event( ev ); + + var keystroke = ev.getKeystroke(); + + // ARROW-DOWN + // This call is duplicated in plugins/toolbar/plugin.js in itemKeystroke(). + // Move focus to the first element after drop down was opened by the arrow down key. + if ( keystroke == 40 ) { + editor.once( 'panelShow', function( evt ) { + evt.data._.panel._.currentBlock.onKeyDown( 40 ); + } ); + } + + switch ( keystroke ) { + case 13: // ENTER + case 32: // SPACE + case 40: // ARROW-DOWN + // Show panel + CKEDITOR.tools.callFunction( clickFn, element ); + break; + default: + // Delegate the default behavior to toolbar button key handling. + instance.onkey( instance, keystroke ); + } + + // Avoid subsequent focus grab on editor document. + ev.preventDefault(); + } ); + + var focusFn = CKEDITOR.tools.addFunction( function() { + instance.onfocus && instance.onfocus(); + } ); + + var selLocked = 0; + var mouseDownFn = CKEDITOR.tools.addFunction( function() { + // Opera: lock to prevent loosing editable text selection when clicking on button. + if ( CKEDITOR.env.opera ) { + var edt = editor.editable(); + if ( edt.isInline() && edt.hasFocus ) { + editor.lockSelection(); + selLocked = 1; + } + } + } ); + + // For clean up + instance.keyDownFn = keyDownFn; + + var params = { + id: id, + name: this.name || this.command, + label: this.label, + title: this.title, + cls: this.className || '', + titleJs: env.gecko && env.version >= 10900 && !env.hc ? '' : ( this.title || '' ).replace( "'", '' ), + keydownFn: keyDownFn, + mousedownFn: mouseDownFn, + focusFn: focusFn, + clickFn: clickFn + }; + + rcomboTpl.output( params, output ); + + if ( this.onRender ) + this.onRender(); + + return instance; + }, + + createPanel: function( editor ) { + if ( this._.panel ) + return; + + var panelDefinition = this._.panelDefinition, + panelBlockDefinition = this._.panelDefinition.block, + panelParentElement = panelDefinition.parent || CKEDITOR.document.getBody(), + namedPanelCls = 'cke_combopanel__' + this.name, + panel = new CKEDITOR.ui.floatPanel( editor, panelParentElement, panelDefinition ), + list = panel.addListBlock( this.id, panelBlockDefinition ), + me = this; + + panel.onShow = function() { + this.element.addClass( namedPanelCls ); + + me.setState( CKEDITOR.TRISTATE_ON ); + + me._.on = 1; + + me.editorFocus && !editor.focusManager.hasFocus && editor.focus(); + + if ( me.onOpen ) + me.onOpen(); + + // The "panelShow" event is fired assinchronously, after the + // onShow method call. + editor.once( 'panelShow', function() { + list.focus( !list.multiSelect && me.getValue() ); + } ); + }; + + panel.onHide = function( preventOnClose ) { + this.element.removeClass( namedPanelCls ); + + me.setState( me.modes && me.modes[ editor.mode ] ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED ); + + me._.on = 0; + + if ( !preventOnClose && me.onClose ) + me.onClose(); + }; + + panel.onEscape = function() { + // Hide drop-down with focus returned. + panel.hide( 1 ); + }; + + list.onClick = function( value, marked ) { + + if ( me.onClick ) + me.onClick.call( me, value, marked ); + + panel.hide(); + }; + + this._.panel = panel; + this._.list = list; + + panel.getBlock( this.id ).onHide = function() { + me._.on = 0; + me.setState( CKEDITOR.TRISTATE_OFF ); + }; + + if ( this.init ) + this.init(); + }, + + setValue: function( value, text ) { + this._.value = value; + + var textElement = this.document.getById( 'cke_' + this.id + '_text' ); + if ( textElement ) { + if ( !( value || text ) ) { + text = this.label; + textElement.addClass( 'cke_combo_inlinelabel' ); + } else + textElement.removeClass( 'cke_combo_inlinelabel' ); + + textElement.setText( typeof text != 'undefined' ? text : value ); + } + }, + + getValue: function() { + return this._.value || ''; + }, + + unmarkAll: function() { + this._.list.unmarkAll(); + }, + + mark: function( value ) { + this._.list.mark( value ); + }, + + hideItem: function( value ) { + this._.list.hideItem( value ); + }, + + hideGroup: function( groupTitle ) { + this._.list.hideGroup( groupTitle ); + }, + + showAll: function() { + this._.list.showAll(); + }, + + add: function( value, html, text ) { + this._.items[ value ] = text || value; + this._.list.add( value, html, text ); + }, + + startGroup: function( title ) { + this._.list.startGroup( title ); + }, + + commit: function() { + if ( !this._.committed ) { + this._.list.commit(); + this._.committed = 1; + CKEDITOR.ui.fire( 'ready', this ); + } + this._.committed = 1; + }, + + setState: function( state ) { + if ( this._.state == state ) + return; + + var el = this.document.getById( 'cke_' + this.id ); + el.setState( state, 'cke_combo' ); + + state == CKEDITOR.TRISTATE_DISABLED ? + el.setAttribute( 'aria-disabled', true ) : + el.removeAttribute( 'aria-disabled' ); + + this._.state = state; + }, + + getState: function() { + return this._.state; + }, + + enable: function() { + if ( this._.state == CKEDITOR.TRISTATE_DISABLED ) + this.setState( this._.lastState ); + }, + + disable: function() { + if ( this._.state != CKEDITOR.TRISTATE_DISABLED ) { + this._.lastState = this._.state; + this.setState( CKEDITOR.TRISTATE_DISABLED ); + } + } + }, + + /** + * Represents richCombo handler object. + * + * @class CKEDITOR.ui.richCombo.handler + * @singleton + * @extends CKEDITOR.ui.handlerDefinition + */ + statics: { + handler: { + /** + * Transforms a richCombo definition in a {@link CKEDITOR.ui.richCombo} instance. + * + * @param {Object} definition + * @returns {CKEDITOR.ui.richCombo} + */ + create: function( definition ) { + return new CKEDITOR.ui.richCombo( definition ); + } + } + } + } ); + + /** + * @param {String} name + * @param {Object} definition + * @member CKEDITOR.ui + * @todo + */ + CKEDITOR.ui.prototype.addRichCombo = function( name, definition ) { + this.add( name, CKEDITOR.UI_RICHCOMBO, definition ); + }; + +} )(); diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/save/icons/hidpi/save.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/icons/hidpi/save.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/save/icons/hidpi/save.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/save/icons/hidpi/save.png diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/save/icons/save.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/icons/save.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/save/icons/save.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/save/icons/save.png diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/af.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/af.js new file mode 100644 index 00000000000..000d2db49fe --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/af.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'af', { + toolbar: 'Bewaar' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ar.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ar.js new file mode 100644 index 00000000000..ef9575451fd --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ar.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'ar', { + toolbar: 'حفظ' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/bg.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/bg.js new file mode 100644 index 00000000000..f2f70dfe995 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/bg.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'bg', { + toolbar: 'Запис' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/bn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/bn.js new file mode 100644 index 00000000000..6c1e37661f0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/bn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'bn', { + toolbar: 'সংরক্ষন কর' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/bs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/bs.js new file mode 100644 index 00000000000..77595cb4612 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/bs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'bs', { + toolbar: 'Snimi' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ca.js new file mode 100644 index 00000000000..9ebab18fec2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'ca', { + toolbar: 'Desa' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/cs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/cs.js new file mode 100644 index 00000000000..ef4f393c89e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/cs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'cs', { + toolbar: 'Uložit' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/cy.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/cy.js new file mode 100644 index 00000000000..7b3cbf0e5de --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/cy.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'cy', { + toolbar: 'Cadw' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/da.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/da.js new file mode 100644 index 00000000000..56aaed49bcc --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/da.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'da', { + toolbar: 'Gem' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/de.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/de.js new file mode 100644 index 00000000000..a9e48588330 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/de.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'de', { + toolbar: 'Speichern' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/el.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/el.js new file mode 100644 index 00000000000..3b5b468df27 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/el.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'el', { + toolbar: 'Αποθήκευση' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/en-au.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/en-au.js new file mode 100644 index 00000000000..84aa9703c5a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/en-au.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'en-au', { + toolbar: 'Save' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/en-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/en-ca.js new file mode 100644 index 00000000000..602ef47d6c6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/en-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'en-ca', { + toolbar: 'Save' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/en-gb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/en-gb.js new file mode 100644 index 00000000000..597f80ba938 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/en-gb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'en-gb', { + toolbar: 'Save' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/en.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/en.js new file mode 100644 index 00000000000..6ab1b9eec64 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/en.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'en', { + toolbar: 'Save' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/eo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/eo.js new file mode 100644 index 00000000000..6795247973c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/eo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'eo', { + toolbar: 'Konservi' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/es.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/es.js new file mode 100644 index 00000000000..1a2a26ede62 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/es.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'es', { + toolbar: 'Guardar' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/et.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/et.js new file mode 100644 index 00000000000..71d31b9454e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/et.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'et', { + toolbar: 'Salvestamine' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/eu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/eu.js new file mode 100644 index 00000000000..6b9deea8240 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/eu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'eu', { + toolbar: 'Gorde' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/fa.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/fa.js new file mode 100644 index 00000000000..e3946bd41bb --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/fa.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'fa', { + toolbar: 'ذخیره' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/fi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/fi.js new file mode 100644 index 00000000000..a51c4cb13c4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/fi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'fi', { + toolbar: 'Tallenna' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/fo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/fo.js new file mode 100644 index 00000000000..6ded6ebdd56 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/fo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'fo', { + toolbar: 'Goym' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/fr-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/fr-ca.js new file mode 100644 index 00000000000..06aae020123 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/fr-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'fr-ca', { + toolbar: 'Sauvegarder' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/fr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/fr.js new file mode 100644 index 00000000000..756ef06268e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/fr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'fr', { + toolbar: 'Enregistrer' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/gl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/gl.js new file mode 100644 index 00000000000..97aa7ee6642 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/gl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'gl', { + toolbar: 'Gardar' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/gu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/gu.js new file mode 100644 index 00000000000..69bc9145dc4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/gu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'gu', { + toolbar: 'સેવ' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/he.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/he.js new file mode 100644 index 00000000000..5312f96f739 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/he.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'he', { + toolbar: 'שמירה' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/hi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/hi.js new file mode 100644 index 00000000000..47b31b2244d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/hi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'hi', { + toolbar: 'सेव' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/hr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/hr.js new file mode 100644 index 00000000000..432d3b22284 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/hr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'hr', { + toolbar: 'Snimi' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/hu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/hu.js new file mode 100644 index 00000000000..bb9a797a01c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/hu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'hu', { + toolbar: 'Mentés' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/id.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/id.js new file mode 100644 index 00000000000..294664c94c7 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/id.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'id', { + toolbar: 'Simpan' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/is.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/is.js new file mode 100644 index 00000000000..d7b973aa0b3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/is.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'is', { + toolbar: 'Vista' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/it.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/it.js new file mode 100644 index 00000000000..52724b989e9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/it.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'it', { + toolbar: 'Salva' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ja.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ja.js new file mode 100644 index 00000000000..a19f39bed85 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ja.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'ja', { + toolbar: '保存' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ka.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ka.js new file mode 100644 index 00000000000..12236f2cfe7 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ka.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'ka', { + toolbar: 'ჩაწერა' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/km.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/km.js new file mode 100644 index 00000000000..9f04a3e6152 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/km.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'km', { + toolbar: 'រក្សាទុក' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ko.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ko.js new file mode 100644 index 00000000000..57a64332051 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ko.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'ko', { + toolbar: '저장하기' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ku.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ku.js new file mode 100644 index 00000000000..d20ce581288 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ku.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'ku', { + toolbar: 'پاشکەوتکردن' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/lt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/lt.js new file mode 100644 index 00000000000..891b62d5e86 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/lt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'lt', { + toolbar: 'Išsaugoti' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/lv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/lv.js new file mode 100644 index 00000000000..a9c749561d4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/lv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'lv', { + toolbar: 'Saglabāt' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/mk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/mk.js new file mode 100644 index 00000000000..be8f27d45ee --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/mk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'mk', { + toolbar: 'Save' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/mn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/mn.js new file mode 100644 index 00000000000..99003411a46 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/mn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'mn', { + toolbar: 'Хадгалах' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ms.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ms.js new file mode 100644 index 00000000000..94034346660 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ms.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'ms', { + toolbar: 'Simpan' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/nb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/nb.js new file mode 100644 index 00000000000..983b598f72b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/nb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'nb', { + toolbar: 'Lagre' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/nl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/nl.js new file mode 100644 index 00000000000..915ded9a2ea --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/nl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'nl', { + toolbar: 'Opslaan' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/no.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/no.js new file mode 100644 index 00000000000..0d54a159bf6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/no.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'no', { + toolbar: 'Lagre' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/pl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/pl.js new file mode 100644 index 00000000000..eefec2389bb --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/pl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'pl', { + toolbar: 'Zapisz' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/pt-br.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/pt-br.js new file mode 100644 index 00000000000..68934b8c09d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/pt-br.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'pt-br', { + toolbar: 'Salvar' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/pt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/pt.js new file mode 100644 index 00000000000..ac2b9115c8f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/pt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'pt', { + toolbar: 'Guardar' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ro.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ro.js new file mode 100644 index 00000000000..7af85d5f8fb --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ro.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'ro', { + toolbar: 'Salvează' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ru.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ru.js new file mode 100644 index 00000000000..4ced0182e8f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ru.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'ru', { + toolbar: 'Сохранить' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/si.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/si.js new file mode 100644 index 00000000000..b14424b710c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/si.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'si', { + toolbar: 'ආරක්ෂා කරන්න' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sk.js new file mode 100644 index 00000000000..7e3c4a9ea9f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'sk', { + toolbar: 'Uložiť' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sl.js new file mode 100644 index 00000000000..48e08f3d66d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'sl', { + toolbar: 'Shrani' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sq.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sq.js new file mode 100644 index 00000000000..e612069f7aa --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sq.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'sq', { + toolbar: 'Ruaje' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sr-latn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sr-latn.js new file mode 100644 index 00000000000..32e92ada523 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sr-latn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'sr-latn', { + toolbar: 'Sačuvaj' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sr.js new file mode 100644 index 00000000000..ad837915cab --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'sr', { + toolbar: 'Сачувај' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sv.js new file mode 100644 index 00000000000..c33cef115ce --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/sv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'sv', { + toolbar: 'Spara' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/th.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/th.js new file mode 100644 index 00000000000..e261cb49dc8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/th.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'th', { + toolbar: 'บันทึก' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/tr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/tr.js new file mode 100644 index 00000000000..334dd0b49e1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/tr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'tr', { + toolbar: 'Kaydet' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ug.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ug.js new file mode 100644 index 00000000000..7784426e556 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/ug.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'ug', { + toolbar: 'ساقلا' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/uk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/uk.js new file mode 100644 index 00000000000..372009206ab --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/uk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'uk', { + toolbar: 'Зберегти' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/vi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/vi.js new file mode 100644 index 00000000000..edbd188c539 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/vi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'vi', { + toolbar: 'Lưu' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/zh-cn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/zh-cn.js new file mode 100644 index 00000000000..1312bba82c8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/zh-cn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'zh-cn', { + toolbar: '保存' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/zh.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/zh.js new file mode 100644 index 00000000000..d072f7992e4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/lang/zh.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'save', 'zh', { + toolbar: '儲存' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/plugin.js new file mode 100644 index 00000000000..2bd2f0b52df --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/save/plugin.js @@ -0,0 +1,65 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/** + * @fileOverview The Save plugin. + */ + +( function() { + var saveCmd = { + readOnly: 1, + + exec: function( editor ) { + if ( editor.fire( 'save' ) ) { + var $form = editor.element.$.form; + + if ( $form ) { + try { + $form.submit(); + } catch ( e ) { + // If there's a button named "submit" then the form.submit + // function is masked and can't be called in IE/FF, so we + // call the click() method of that button. + if ( $form.submit.click ) + $form.submit.click(); + } + } + } + } + }; + + var pluginName = 'save'; + + // Register a plugin named "save". + CKEDITOR.plugins.add( pluginName, { + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + icons: 'save', // %REMOVE_LINE_CORE% + hidpi: true, // %REMOVE_LINE_CORE% + init: function( editor ) { + // Save plugin is for replace mode only. + if ( editor.elementMode != CKEDITOR.ELEMENT_MODE_REPLACE ) + return; + + var command = editor.addCommand( pluginName, saveCmd ); + command.modes = { wysiwyg: !!( editor.element.$.form ) }; + + editor.ui.addButton && editor.ui.addButton( 'Save', { + label: editor.lang.save.toolbar, + command: pluginName, + toolbar: 'document,10' + } ); + } + } ); +} )(); + +/** + * Fired when the user clicks the Save button on the editor toolbar. + * This event allows to overwrite the default Save button behavior. + * + * @since 4.2 + * @event save + * @member CKEDITOR.editor + * @param {CKEDITOR.editor} editor This editor instance. + */ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/LICENSE.md b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/LICENSE.md new file mode 100644 index 00000000000..610c807808b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/LICENSE.md @@ -0,0 +1,28 @@ +Software License Agreement +========================== + +**CKEditor SCAYT Plugin** +Copyright © 2012, [CKSource](http://cksource.com) - Frederico Knabben. All rights reserved. + +Licensed under the terms of any of the following licenses at your choice: + +* GNU General Public License Version 2 or later (the "GPL"): + http://www.gnu.org/licenses/gpl.html + +* GNU Lesser General Public License Version 2.1 or later (the "LGPL"): + http://www.gnu.org/licenses/lgpl.html + +* Mozilla Public License Version 1.1 or later (the "MPL"): + http://www.mozilla.org/MPL/MPL-1.1.html + +You are not required to, but if you want to explicitly declare the license you have chosen to be bound to when using, reproducing, modifying and distributing this software, just include a text file titled "legal.txt" in your version of this software, indicating your license choice. + +Sources of Intellectual Property Included in this plugin +-------------------------------------------------------- + +Where not otherwise indicated, all plugin content is authored by CKSource engineers and consists of CKSource-owned intellectual property. In some specific instances, the plugin will incorporate work done by developers outside of CKSource with their express permission. + +Trademarks +---------- + +CKEditor is a trademark of CKSource - Frederico Knabben. All other brand and product names are trademarks, registered trademarks or service marks of their respective holders. diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/README.md b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/README.md new file mode 100644 index 00000000000..3b1ad94cb57 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/README.md @@ -0,0 +1,25 @@ +CKEditor SCAYT Plugin +===================== + +This plugin brings Spell Check As You Type (SCAYT) into CKEditor. + +SCAYT is a "installation-less", using the web-services of [WebSpellChecker.net](http://www.webspellchecker.net/). It's an out of the box solution. + +Installation +------------ + +1. Clone/copy this repository contents in a new "plugins/scayt" folder in your CKEditor installation. +2. Enable the "scayt" plugin in the CKEditor configuration file (config.js): + + config.extraPlugins = 'scayt'; + +That's all. SCAYT will appear on the editor toolbar and will be ready to use. + +License +------- + +Licensed under the terms of any of the following licenses at your choice: [GPL](http://www.gnu.org/licenses/gpl.html), [LGPL](http://www.gnu.org/licenses/lgpl.html) and [MPL](http://www.mozilla.org/MPL/MPL-1.1.html). + +See LICENSE.md for more information. + +Developed in cooperation with [WebSpellChecker.net](http://www.webspellchecker.net/). diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/dialogs/options.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/dialogs/options.js new file mode 100644 index 00000000000..2dddc9ce414 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/dialogs/options.js @@ -0,0 +1,473 @@ +/** + * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.html or http://ckeditor.com/license + */ + +CKEDITOR.dialog.add( 'scaytcheck', function( editor ) { + var firstLoad = true, + captions, + doc = CKEDITOR.document, + editorName = editor.name, + tags = CKEDITOR.plugins.scayt.getUiTabs( editor ), + i, + contents = [], + userDicActive = 0, + dic_buttons = [ + // [0] contains buttons for creating + "dic_create_" + editorName + ",dic_restore_" + editorName, + // [1] contains buton for manipulation + "dic_rename_" + editorName + ",dic_delete_" + editorName + ], + optionsIds = [ 'mixedCase', 'mixedWithDigits', 'allCaps', 'ignoreDomainNames' ]; + + // common operations + + function getBOMAllOptions() { + if ( typeof document.forms[ "optionsbar_" + editorName ] != "undefined" ) + return document.forms[ "optionsbar_" + editorName ][ "options" ]; + return []; + } + + function getBOMAllLangs() { + if ( typeof document.forms[ "languagesbar_" + editorName ] != "undefined" ) + return document.forms[ "languagesbar_" + editorName ][ "scayt_lang" ]; + return []; + } + + function setCheckedValue( radioObj, newValue ) { + if ( !radioObj ) + return; + var radioLength = radioObj.length; + if ( radioLength == undefined ) { + radioObj.checked = radioObj.value == newValue.toString(); + return; + } + for ( var i = 0; i < radioLength; i++ ) { + radioObj[ i ].checked = false; + if ( radioObj[ i ].value == newValue.toString() ) + radioObj[ i ].checked = true; + } + } + + var lang = editor.lang.scayt; + var tags_contents = [ + { + id: 'options', + label: lang.optionsTab, + elements: [ + { + type: 'html', + id: 'options', + html: '
    ' + + '
    ' + + '
    ' + + ' ' + + ' ' + + '
    ' + + '
    ' + + ' ' + + ' ' + + '
    ' + + '
    ' + + ' ' + + ' ' + + '
    ' + + '
    ' + + ' ' + + ' ' + + '
    ' + + '
    ' + } + ] + }, + { + id: 'langs', + label: lang.languagesTab, + elements: [ + { + type: 'html', + id: 'langs', + html: '
    ' + + '
    ' + + '
    ' + + '
    ' + + '
    ' + } + ] + }, + { + id: 'dictionaries', + label: lang.dictionariesTab, + elements: [ + { + type: 'html', + style: '', + id: 'dictionaries', + html: '
    ' + + '
    ' + + '
    ' + + ' Dictionary name
    ' + + ' ' + + '
    ' + + ' ' + + '
    ' + + '
    ' + + ' ' + + ' ' + + ' ' + + ' ' + + '
    ' + + '
    ' + + '
    ' + } + ] + }, + { + id: 'about', + label: lang.aboutTab, + elements: [ + { + type: 'html', + id: 'about', + style: 'margin: 5px 5px;', + html: '
    ' + } + ] + } + ]; + + var dialogDefiniton = { + title: lang.title, + minWidth: 360, + minHeight: 220, + onShow: function() { + var dialog = this; + dialog.data = editor.fire( 'scaytDialog', {} ); + dialog.options = dialog.data.scayt_control.option(); + dialog.chosed_lang = dialog.sLang = dialog.data.scayt_control.sLang; + + if ( !dialog.data || !dialog.data.scayt || !dialog.data.scayt_control ) { + alert( 'Error loading application service' ); + dialog.hide(); + return; + } + + var stop = 0; + if ( firstLoad ) { + dialog.data.scayt.getCaption( editor.langCode || 'en', function( caps ) { + if ( stop++ > 0 ) // Once only + return; + captions = caps; + init_with_captions.apply( dialog ); + reload.apply( dialog ); + firstLoad = false; + }); + } else + reload.apply( dialog ); + + dialog.selectPage( dialog.data.tab ); + }, + onOk: function() { + var scayt_control = this.data.scayt_control; + scayt_control.option( this.options ); + // Setup language if it was changed. + var csLang = this.chosed_lang; + scayt_control.setLang( csLang ); + scayt_control.refresh(); + }, + onCancel: function() { + var o = getBOMAllOptions(); + for ( var i in o ) + o[ i ].checked = false; + + setCheckedValue( getBOMAllLangs(), "" ); + }, + contents: contents + }; + + var scayt_control = CKEDITOR.plugins.scayt.getScayt( editor ); + + for ( i = 0; i < tags.length; i++ ) { + if ( tags[ i ] == 1 ) + contents[ contents.length ] = tags_contents[ i ]; + } + if ( tags[ 2 ] == 1 ) + userDicActive = 1; + + var init_with_captions = function() { + var dialog = this, + lang_list = dialog.data.scayt.getLangList(), + buttonCaptions = [ 'dic_create', 'dic_delete', 'dic_rename', 'dic_restore' ], + buttonIds = [], + langList = [], + labels = optionsIds, + i; + + // Add buttons titles + if ( userDicActive ) { + for ( i = 0; i < buttonCaptions.length; i++ ) { + buttonIds[ i ] = buttonCaptions[ i ] + "_" + editorName; + doc.getById( buttonIds[ i ] ).setHtml( '' + captions[ 'button_' + buttonCaptions[ i ] ] + '' ); + } + doc.getById( 'dic_info_' + editorName ).setHtml( captions[ 'dic_info' ] ); + } + + // Fill options and dictionary labels. + if ( tags[ 0 ] == 1 ) { + for ( i in labels ) { + var labelCaption = 'label_' + labels[ i ], + labelId = labelCaption + '_' + editorName, + labelElement = doc.getById( labelId ); + + if ( 'undefined' != typeof labelElement && 'undefined' != typeof captions[ labelCaption ] && 'undefined' != typeof dialog.options[ labels[ i ] ] ) { + labelElement.setHtml( captions[ labelCaption ] ); + var labelParent = labelElement.getParent(); + labelParent.$.style.display = "block"; + } + } + } + + var about = '

    ' + + '

    ' + captions[ 'version' ] + window.scayt.getAboutInfo().version.toString() + '

    ' + + '

    ' + captions[ 'about_throwt_copy' ] + '

    '; + + doc.getById( 'scayt_about_' + editorName ).setHtml( about ); + + // Create languages tab. + var createOption = function( option, list ) { + var label = doc.createElement( 'label' ); + label.setAttribute( 'for', 'cke_option' + option ); + label.setStyle('display', 'inline'); + label.setHtml( list[ option ] ); + + if ( dialog.sLang == option ) // Current. + dialog.chosed_lang = option; + + var div = doc.createElement( 'div' ); + var radio = CKEDITOR.dom.element.createFromHtml( '' ); + + radio.on( 'click', function() { + this.$.checked = true; + dialog.chosed_lang = option; + }); + + div.append( radio ); + div.append( label ); + + return { + lang: list[ option ], + code: option, + radio: div + }; + }; + + if ( tags[ 1 ] == 1 ) { + for ( i in lang_list.rtl ) + langList[ langList.length ] = createOption( i, lang_list.ltr ); + + for ( i in lang_list.ltr ) + langList[ langList.length ] = createOption( i, lang_list.ltr ); + + langList.sort( function( lang1, lang2 ) { + return ( lang2.lang > lang1.lang ) ? -1 : 1; + }); + + var fieldL = doc.getById( 'scayt_lcol_' + editorName ), + fieldR = doc.getById( 'scayt_rcol_' + editorName ); + for ( i = 0; i < langList.length; i++ ) { + var field = ( i < langList.length / 2 ) ? fieldL : fieldR; + field.append( langList[ i ].radio ); + } + } + + // user dictionary handlers + var dic = {}; + dic.dic_create = function( el, dic_name, dic_buttons ) { + // comma separated button's ids include repeats if exists + var all_buttons = dic_buttons[ 0 ] + ',' + dic_buttons[ 1 ]; + + var err_massage = captions[ "err_dic_create" ]; + var suc_massage = captions[ "succ_dic_create" ]; + + window.scayt.createUserDictionary( dic_name, function( arg ) { + hide_dic_buttons( all_buttons ); + display_dic_buttons( dic_buttons[ 1 ] ); + suc_massage = suc_massage.replace( "%s", arg.dname ); + dic_success_message( suc_massage ); + }, function( arg ) { + err_massage = err_massage.replace( "%s", arg.dname ); + dic_error_message( err_massage + "( " + ( arg.message || "" ) + ")" ); + }); + + }; + + dic.dic_rename = function( el, dic_name ) { + // + // try to rename dictionary + var err_massage = captions[ "err_dic_rename" ] || ""; + var suc_massage = captions[ "succ_dic_rename" ] || ""; + window.scayt.renameUserDictionary( dic_name, function( arg ) { + suc_massage = suc_massage.replace( "%s", arg.dname ); + set_dic_name( dic_name ); + dic_success_message( suc_massage ); + }, function( arg ) { + err_massage = err_massage.replace( "%s", arg.dname ); + set_dic_name( dic_name ); + dic_error_message( err_massage + "( " + ( arg.message || "" ) + " )" ); + }); + }; + + dic.dic_delete = function( el, dic_name, dic_buttons ) { + var all_buttons = dic_buttons[ 0 ] + ',' + dic_buttons[ 1 ]; + var err_massage = captions[ "err_dic_delete" ]; + var suc_massage = captions[ "succ_dic_delete" ]; + + // try to delete dictionary + window.scayt.deleteUserDictionary( function( arg ) { + suc_massage = suc_massage.replace( "%s", arg.dname ); + hide_dic_buttons( all_buttons ); + display_dic_buttons( dic_buttons[ 0 ] ); + set_dic_name( "" ); // empty input field + dic_success_message( suc_massage ); + }, function( arg ) { + err_massage = err_massage.replace( "%s", arg.dname ); + dic_error_message( err_massage ); + }); + }; + + dic.dic_restore = dialog.dic_restore || + function( el, dic_name, dic_buttons ) { + // try to restore existing dictionary + var all_buttons = dic_buttons[ 0 ] + ',' + dic_buttons[ 1 ]; + var err_massage = captions[ "err_dic_restore" ]; + var suc_massage = captions[ "succ_dic_restore" ]; + + window.scayt.restoreUserDictionary( dic_name, function( arg ) { + suc_massage = suc_massage.replace( "%s", arg.dname ); + hide_dic_buttons( all_buttons ); + display_dic_buttons( dic_buttons[ 1 ] ); + dic_success_message( suc_massage ); + }, function( arg ) { + err_massage = err_massage.replace( "%s", arg.dname ); + dic_error_message( err_massage ); + }); + }; + + function onDicButtonClick( ev ) { + var dic_name = doc.getById( 'dic_name_' + editorName ).getValue(); + if ( !dic_name ) { + dic_error_message( " Dictionary name should not be empty. " ); + return false; + } + try { + var el = ev.data.getTarget().getParent(); + var id = /(dic_\w+)_[\w\d]+/.exec( el.getId() )[ 1 ]; + dic[ id ].apply( null, [ el, dic_name, dic_buttons ] ); + } catch ( err ) { + dic_error_message( " Dictionary error. " ); + } + + return true; + } + + // ** bind event listeners + var arr_buttons = ( dic_buttons[ 0 ] + ',' + dic_buttons[ 1 ] ).split( ',' ), + l; + + for ( i = 0, l = arr_buttons.length; i < l; i += 1 ) { + var dic_button = doc.getById( arr_buttons[ i ] ); + if ( dic_button ) + dic_button.on( 'click', onDicButtonClick, this ); + } + }; + + var reload = function() { + var dialog = this; + // for enabled options tab + if ( tags[ 0 ] == 1 ) { + var opto = getBOMAllOptions(); + + // Animate options. + for ( var k = 0, l = opto.length; k < l; k++ ) { + + var i = opto[ k ].id; + var checkbox = doc.getById( i ); + + if ( checkbox ) { + opto[ k ].checked = false; + //alert (opto[k].removeAttribute) + if ( dialog.options[ i.split( "_" )[ 0 ] ] == 1 ) { + opto[ k ].checked = true; + } + + + // Bind events. Do it only once. + if ( firstLoad ) { + checkbox.on( 'click', function() { + dialog.options[ this.getId().split( "_" )[ 0 ] ] = this.$.checked ? 1 : 0; + }); + } + } + } + } + + //for enabled languages tab + if ( tags[ 1 ] == 1 ) { + var domLang = doc.getById( "cke_option" + dialog.sLang ); + setCheckedValue( domLang.$, dialog.sLang ); + } + + // * user dictionary + if ( userDicActive ) { + window.scayt.getNameUserDictionary( function( o ) { + var dic_name = o.dname; + hide_dic_buttons( dic_buttons[ 0 ] + ',' + dic_buttons[ 1 ] ); + if ( dic_name ) { + doc.getById( 'dic_name_' + editorName ).setValue( dic_name ); + display_dic_buttons( dic_buttons[ 1 ] ); + } else + display_dic_buttons( dic_buttons[ 0 ] ); + + }, function() { + doc.getById( 'dic_name_' + editorName ).setValue( "" ); + }); + dic_success_message( "" ); + } + + }; + + function dic_error_message( m ) { + doc.getById( 'dic_message_' + editorName ).setHtml( '' + m + '' ); + } + + function dic_success_message( m ) { + doc.getById( 'dic_message_' + editorName ).setHtml( '' + m + '' ); + } + + function display_dic_buttons( sIds ) { + sIds = String( sIds ); + var aIds = sIds.split( ',' ); + for ( var i = 0, l = aIds.length; i < l; i += 1 ) + doc.getById( aIds[ i ] ).$.style.display = "inline"; + } + + function hide_dic_buttons( sIds ) { + sIds = String( sIds ); + var aIds = sIds.split( ',' ); + for ( var i = 0, l = aIds.length; i < l; i += 1 ) + doc.getById( aIds[ i ] ).$.style.display = "none"; + } + + function set_dic_name( dic_name ) { + doc.getById( 'dic_name_' + editorName ).$.value = dic_name; + } + + return dialogDefiniton; +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/dialogs/toolbar.css b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/dialogs/toolbar.css new file mode 100644 index 00000000000..861f43e3b47 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/dialogs/toolbar.css @@ -0,0 +1,71 @@ +a +{ + text-decoration:none; + padding: 2px 4px 4px 6px; + display : block; + border-width: 1px; + border-style: solid; + margin : 0px; +} + +a.cke_scayt_toogle:hover, +a.cke_scayt_toogle:focus, +a.cke_scayt_toogle:active +{ + border-color: #316ac5; + background-color: #dff1ff; + color : #000; + cursor: pointer; + margin : 0px; +} +a.cke_scayt_toogle { + color : #316ac5; + border-color: #fff; +} +.scayt_enabled a.cke_scayt_item { + color : #316ac5; + border-color: #fff; + margin : 0px; +} +.scayt_disabled a.cke_scayt_item { + color : gray; + border-color : #fff; +} +.scayt_enabled a.cke_scayt_item:hover, +.scayt_enabled a.cke_scayt_item:focus, +.scayt_enabled a.cke_scayt_item:active +{ + border-color: #316ac5; + background-color: #dff1ff; + color : #000; + cursor: pointer; +} +.scayt_disabled a.cke_scayt_item:hover, +.scayt_disabled a.cke_scayt_item:focus, +.scayt_disabled a.cke_scayt_item:active +{ + border-color: gray; + background-color: #dff1ff; + color : gray; + cursor: no-drop; +} +.cke_scayt_set_on, .cke_scayt_set_off +{ + display: none; +} +.scayt_enabled .cke_scayt_set_on +{ + display: none; +} +.scayt_disabled .cke_scayt_set_on +{ + display: inline; +} +.scayt_disabled .cke_scayt_set_off +{ + display: none; +} +.scayt_enabled .cke_scayt_set_off +{ + display: inline; +} diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/icons/hidpi/scayt.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/icons/hidpi/scayt.png new file mode 100644 index 00000000000..58a9f4c1328 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/icons/hidpi/scayt.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/icons/scayt.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/icons/scayt.png new file mode 100644 index 00000000000..2b50c5c65d0 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/icons/scayt.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/af.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/af.js new file mode 100644 index 00000000000..a224176e603 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/af.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'af', { + about: 'SCAYT info', + aboutTab: 'Info', + addWord: 'Voeg woord by', + allCaps: 'Ignoreer woorde in hoofletters', + dic_create: 'Skep', + dic_delete: 'Verwijder', + dic_field_name: 'Naam van woordeboek', + dic_info: 'Aanvanklik word die gebruikerswoordeboek in \'n koekie gestoor. Koekies is egter beperk in grootte. Wanneer die gebruikerswoordeboek te groot vir \'n koekie geword het, kan dit op ons bediener gestoor word. Om u persoonlike woordeboek op ons bediener te stoor, gee asb. \'n naam vir u woordeboek. Indien u alreeds \'n gestoorde woordeboek het, tik die naam en kliek op die Herstel knop.', + dic_rename: 'Hernoem', + dic_restore: 'Herstel', + dictionariesTab: 'Woordeboeke', + disable: 'SCAYT af', + emptyDic: 'Woordeboeknaam mag nie leeg wees nie.', + enable: 'SCAYT aan', + ignore: 'Ignoreer', + ignoreAll: 'Ignoreer alles', + ignoreDomainNames: 'Ignoreer domeinname', + langs: 'Tale', + languagesTab: 'Tale', + mixedCase: 'Ignoreer woorde met hoof- en kleinletters', + mixedWithDigits: 'Ignoreer woorde met syfers', + moreSuggestions: 'Meer voorstelle', + opera_title: 'Nie ondersteun deur Opera nie', + options: 'Opsies', + optionsTab: 'Opsies', + title: 'Speltoets terwyl u tik', + toggle: 'SCAYT wissel aan/af', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ar.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ar.js new file mode 100644 index 00000000000..66e424b1ce3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ar.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'ar', { + about: 'عن SCAYT', + aboutTab: 'عن', + addWord: 'إضافة كلمة', + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'قواميس', + disable: 'تعطيل SCAYT', + emptyDic: 'اسم القاموس يجب ألا يكون فارغاً.', + enable: 'تفعيل SCAYT', + ignore: 'تجاهل', + ignoreAll: 'تجاهل الكل', + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'لغات', + languagesTab: 'لغات', + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'المزيد من المقترحات', + opera_title: 'Not supported by Opera', // MISSING + options: 'خيارات', + optionsTab: 'خيارات', + title: 'تدقيق إملائي أثناء الكتابة', + toggle: 'تثبيت SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/bg.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/bg.js new file mode 100644 index 00000000000..1529f42902d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/bg.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'bg', { + about: 'About SCAYT', // MISSING + aboutTab: 'Относно', + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Нов', + dic_delete: 'Изтриване', + dic_field_name: 'Име на речнк', + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Преименуване', + dic_restore: 'Възтановяване', + dictionariesTab: 'Речници', + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Езици', + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Игнорирани думи и цифри', + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT', // MISSING + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/bn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/bn.js new file mode 100644 index 00000000000..99f4f9986fe --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/bn.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'bn', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Dictionaries', // MISSING + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Languages', // MISSING + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT', // MISSING + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/bs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/bs.js new file mode 100644 index 00000000000..a479351f2b2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/bs.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'bs', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Dictionaries', // MISSING + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Languages', // MISSING + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT', // MISSING + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ca.js new file mode 100644 index 00000000000..e39e83c80fc --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ca.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'ca', { + about: 'Quant a l\'SCAYT', + aboutTab: 'Quant a', + addWord: 'Afegeix una paraula', + allCaps: 'Ignora paraules en majúscules', + dic_create: 'Crea', + dic_delete: 'Elimina', + dic_field_name: 'Nom del diccionari', + dic_info: 'Inicialment el diccionari d\'usuari s\'emmagatzema en una galeta. De totes maneres, les galetes tenen la mida limitada. Quan el diccionari creix massa, llavors el diccionari es pot emmagatzemar al nostre servidor. Per desar el vostre diccionari personal al nostre servidor heu d.\'especificar un nom pel diccionari. Si ja heu desat un diccionari, teclegeu si us plau el seu nom i cliqueu el botó de restauració.', + dic_rename: 'Canvia el nom', + dic_restore: 'Restaura', + dictionariesTab: 'Diccionaris', + disable: 'Deshabilita SCAYT', + emptyDic: 'El nom del diccionari no hauria d\'estar buit.', + enable: 'Habilitat l\'SCAYT', + ignore: 'Ignora', + ignoreAll: 'Ignora\'ls tots', + ignoreDomainNames: 'Ignora els noms de domini', + langs: 'Idiomes', + languagesTab: 'Idiomes', + mixedCase: 'Ignora paraules amb majúscules i minúscules', + mixedWithDigits: 'Ignora paraules amb números ', + moreSuggestions: 'Més suggerències', + opera_title: 'No és compatible amb l\'Opera', + options: 'Opcions', + optionsTab: 'Opcions', + title: 'Spell Check As You Type', + toggle: 'Commuta l\'SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/cs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/cs.js new file mode 100644 index 00000000000..d555d4aab19 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/cs.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'cs', { + about: 'O aplikaci SCAYT', + aboutTab: 'O aplikaci', + addWord: 'Přidat slovo', + allCaps: 'Ignorovat slova tvořená velkými písmeny', + dic_create: 'Vytvořit', + dic_delete: 'Smazat', + dic_field_name: 'Název slovníku', + dic_info: 'Zpočátku se uživatelský slovník ukládá do cookies ve vašem prohlížeči. Ovšem cookies mají omezenou velikost, takže když slovník dosáhne velikosti, kdy se již do cookies nevejde, může být uložen na našem serveru. Chcete-li uložit váš osobní slovník na našem serveru, je třeba slovník nejdříve pojmenovat. Máte-li již slovník pojmenován a uložen, zadejte jeho název a klepněte na tlačítko Obnovit.', + dic_rename: 'Přejmenovat', + dic_restore: 'Obnovit', + dictionariesTab: 'Slovníky', + disable: 'Vypnout SCAYT', + emptyDic: 'Název slovníku nesmí být prázdný.', + enable: 'Zapnout SCAYT', + ignore: 'Přeskočit', + ignoreAll: 'Přeskočit vše', + ignoreDomainNames: 'Ignorovat doménová jména', + langs: 'Jazyky', + languagesTab: 'Jazyky', + mixedCase: 'Ignorovat slova obsahující různou velikost písma', + mixedWithDigits: 'Ignorovat slova obsahující čísla', + moreSuggestions: 'Více návrhů', + opera_title: 'Toto Opera nepodporuje', + options: 'Nastavení', + optionsTab: 'Nastavení', + title: 'Kontrola pravopisu během psaní (SCAYT)', + toggle: 'Vypínač SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/cy.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/cy.js new file mode 100644 index 00000000000..86507db55d1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/cy.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'cy', { + about: 'Ynghylch SCAYT', + aboutTab: 'Ynghylch', + addWord: 'Ychwanegu Gair', + allCaps: 'Anwybyddu Geiriau Nodau Uwch i Gyd', + dic_create: 'Creu', + dic_delete: 'Dileu', + dic_field_name: 'Enw\'r geiriadur', + dic_info: 'Ar y cychwyn, caiff y Geiriadur ei storio mewn Cwci. Er, mae terfyn ar faint cwcis. Pan fydd Gweiriadur Defnyddiwr yn tyfu tu hwnt i gyfyngiadau maint Cwci, caiff y geiriadur ei storio ar ein gweinydd ni. er mwyn storio eich geiriadur poersonol chi ar ein gweinydd, bydd angen i chi osod enw ar gyfer y geiriadur. Os oes geiriadur \'da chi ar ein gweinydd yn barod, teipiwch ei enw a chliciwch y botwm Adfer.', + dic_rename: 'Ailenwi', + dic_restore: 'Adfer', + dictionariesTab: 'Geiriaduron', + disable: 'Analluogi SCAYT', + emptyDic: 'Ni ddylai enw\'r geiriadur fod yn wag.', + enable: 'Galluogi SCAYT', + ignore: 'Anwybyddu', + ignoreAll: 'Anwybyddu pob', + ignoreDomainNames: 'Anwybyddu Enwau Parth', + langs: 'Ieithoedd', + languagesTab: 'Ieithoedd', + mixedCase: 'Anwybyddu Geiriau â Chymysgedd Nodau Uwch ac Is', + mixedWithDigits: 'Anwybyddu Geiriau â Rhifau', + moreSuggestions: 'Awgrymiadau pellach', + opera_title: 'Heb ei gynnal gan Opera', + options: 'Opsiynau', + optionsTab: 'Opsiynau', + title: 'Gwirio\'r Sillafu Wrth Deipio', + toggle: 'Togl SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/da.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/da.js new file mode 100644 index 00000000000..43eb49ac8ac --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/da.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'da', { + about: 'Om SCAYT', + aboutTab: 'Om', + addWord: 'Tilføj ord', + allCaps: 'Ignorer alle store bogstaver', + dic_create: 'Opret', + dic_delete: 'Slet', + dic_field_name: 'Navn på ordbog', + dic_info: 'Til start er brugerordbogen gemt i en Cookie. Dog har Cookies en begrænsning på størrelse. Når ordbogen når en bestemt størrelse kan den blive gemt på vores server. For at gemme din personlige ordbog på vores server skal du angive et navn for denne. Såfremt du allerede har gemt en ordbog, skriv navnet på denne og klik på Gendan knappen.', + dic_rename: 'Omdøb', + dic_restore: 'Gendan', + dictionariesTab: 'Ordbøger', + disable: 'Deaktivér SCAYT', + emptyDic: 'Ordbogsnavn må ikke være tom.', + enable: 'Aktivér SCAYT', + ignore: 'Ignorér', + ignoreAll: 'Ignorér alle', + ignoreDomainNames: 'Ignorér domænenavne', + langs: 'Sprog', + languagesTab: 'Sprog', + mixedCase: 'Ignorer ord med store og små bogstaver', + mixedWithDigits: 'Ignorér ord med numre', + moreSuggestions: 'Flere forslag', + opera_title: 'Ikke supporteret af Opera', + options: 'Indstillinger', + optionsTab: 'Indstillinger', + title: 'Stavekontrol mens du skriver', + toggle: 'Skift/toggle SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/de.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/de.js new file mode 100644 index 00000000000..c058230e388 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/de.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'de', { + about: 'Über SCAYT', + aboutTab: 'Über', + addWord: 'Wort hinzufügen', + allCaps: 'Groß geschriebenen Wörter ignorieren', + dic_create: 'Erzeugen', + dic_delete: 'Löschen', + dic_field_name: 'Wörterbuchname', + dic_info: 'Anfangs wird das Benutzerwörterbuch in einem Cookie gespeichert. Allerdings sind Cookies in der Größe begrenzt. Wenn das Benutzerwörterbuch bis zu einem Punkt wächst, wo es nicht mehr in einem Cookie gespeichert werden kann, wird das Benutzerwörterbuch auf dem Server gespeichert. Um Ihr persönliches Wörterbuch auf dem Server zu speichern, müssen Sie einen Namen für das Wörterbuch angeben. Falls Sie schon ein gespeicherte Wörterbuch haben, geben Sie bitte dessen Namen ein und klicken Sie auf die Schaltfläche Wiederherstellen.', + dic_rename: 'Umbenennen', + dic_restore: 'Wiederherstellen', + dictionariesTab: 'Wörterbücher', + disable: 'SCAYT ausschalten', + emptyDic: 'Wörterbuchname sollte leer sein.', + enable: 'SCAYT einschalten', + ignore: 'Ignorieren', + ignoreAll: 'Alle ignorieren', + ignoreDomainNames: 'Domain-Namen ignorieren', + langs: 'Sprachen', + languagesTab: 'Sprachen', + mixedCase: 'Wörter mit gemischte Setzkasten ignorieren', + mixedWithDigits: 'Wörter mit Zahlen ignorieren', + moreSuggestions: 'Mehr Vorschläge', + opera_title: 'Nicht von Opera unterstützt', + options: 'Optionen', + optionsTab: 'Optionen', + title: 'Rechtschreibprüfung während der Texteingabe (SCAYT)', + toggle: 'SCAYT umschalten', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/el.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/el.js new file mode 100644 index 00000000000..afa5b3374ee --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/el.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'el', { + about: 'About SCAYT', // MISSING + aboutTab: 'Περί', + addWord: 'Προσθήκη στο λεξικό', + allCaps: 'Να αγνοούνται όλες οι λέξεις σε κεφαλαία', + dic_create: 'Δημιουργία', + dic_delete: 'Διαγραφή', + dic_field_name: 'Όνομα λεξικού', + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Μετονομασία', + dic_restore: 'Ανάκτηση', + dictionariesTab: 'Λεξικά', + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Το όνομα του λεξικού δεν πρέπει να είναι κενό.', + enable: 'Enable SCAYT', // MISSING + ignore: 'Αγνόησε το', + ignoreAll: 'Να αγνοηθούν όλα', + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Γλώσσες', + languagesTab: 'Γλώσσες', + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'Περισσότερες προτάσεις', + opera_title: 'Not supported by Opera', // MISSING + options: 'Επιλογές', + optionsTab: 'Επιλογές', + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT', // MISSING + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/en-au.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/en-au.js new file mode 100644 index 00000000000..7262c5b3d44 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/en-au.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'en-au', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Dictionaries', // MISSING + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Languages', // MISSING + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT',// MISSING + noSuggestions: 'No suggestion' // MISSING +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/en-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/en-ca.js new file mode 100644 index 00000000000..ffff6c8bd62 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/en-ca.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'en-ca', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Dictionaries', // MISSING + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Languages', // MISSING + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT',// MISSING + noSuggestions: 'No suggestion' // MISSING +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/en-gb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/en-gb.js new file mode 100644 index 00000000000..2693a1b4444 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/en-gb.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'en-gb', { + about: 'About SCAYT', + aboutTab: 'About', + addWord: 'Add Word', + allCaps: 'Ignore All-Caps Words', + dic_create: 'Create', + dic_delete: 'Delete', + dic_field_name: 'Dictionary name', + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', + dic_rename: 'Rename', + dic_restore: 'Restore', + dictionariesTab: 'Dictionaries', + disable: 'Disable SCAYT', + emptyDic: 'Dictionary name should not be empty.', + enable: 'Enable SCAYT', + ignore: 'Ignore', + ignoreAll: 'Ignore All', + ignoreDomainNames: 'Ignore Domain Names', + langs: 'Languages', + languagesTab: 'Languages', + mixedCase: 'Ignore Words with Mixed Case', + mixedWithDigits: 'Ignore Words with Numbers', + moreSuggestions: 'More suggestions', + opera_title: 'Not supported by Opera', + options: 'Options', + optionsTab: 'Options', + title: 'Spell Check As You Type', + toggle: 'Toggle SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/en.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/en.js new file mode 100644 index 00000000000..59fab5dd84d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/en.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'en', { + about: 'About SCAYT', + aboutTab: 'About', + addWord: 'Add Word', + allCaps: 'Ignore All-Caps Words', + dic_create: 'Create', + dic_delete: 'Delete', + dic_field_name: 'Dictionary name', + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', + dic_rename: 'Rename', + dic_restore: 'Restore', + dictionariesTab: 'Dictionaries', + disable: 'Disable SCAYT', + emptyDic: 'Dictionary name should not be empty.', + enable: 'Enable SCAYT', + ignore: 'Ignore', + ignoreAll: 'Ignore All', + ignoreDomainNames: 'Ignore Domain Names', + langs: 'Languages', + languagesTab: 'Languages', + mixedCase: 'Ignore Words with Mixed Case', + mixedWithDigits: 'Ignore Words with Numbers', + moreSuggestions: 'More suggestions', + opera_title: 'Not supported by Opera', + options: 'Options', + optionsTab: 'Options', + title: 'Spell Check As You Type', + toggle: 'Toggle SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/eo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/eo.js new file mode 100644 index 00000000000..e320537fdbf --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/eo.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'eo', { + about: 'Pri OKDVT', + aboutTab: 'Pri', + addWord: 'Almeti la vorton', + allCaps: 'Ignori la vortojn skribitajn nur per ĉefliteroj', + dic_create: 'Krei', + dic_delete: 'Forigi', + dic_field_name: 'Vortaronomo', + dic_info: 'Komence la vortaro de la uzanto estas konservita en kuketo. Tamen la kuketgrando estas limigita. Kiam la vortaro de la uzanto atingas grandon, kiu ne plu ebligas konservi ĝin en kuketo, tiam la vortaro povas esti konservata en niaj serviloj. Por konservi vian personan vortaron en nian servilon, vi devas indiki nomon por tiu vortaro. Se vi jam havas konservitan vortaron, bonvolu entajpi ties nomon kaj alklaki la restaŭrbutonon.', + dic_rename: 'Renomi', + dic_restore: 'Restaŭri', + dictionariesTab: 'Vortaroj', + disable: 'Malebligi OKDVT', + emptyDic: 'La vortaronomo ne devus esti malplena.', + enable: 'Ebligi OKDVT', + ignore: 'Ignori', + ignoreAll: 'Ignori ĉion', + ignoreDomainNames: 'Ignori domajnajn nomojn', + langs: 'Lingvoj', + languagesTab: 'Lingvoj', + mixedCase: 'Ignori vortojn kun miksa uskleco', + mixedWithDigits: 'Ignori vortojn kun nombroj', + moreSuggestions: 'Pli da sugestoj', + opera_title: 'Ne subportata de Opera', + options: 'Opcioj', + optionsTab: 'Opcioj', + title: 'OrtografiKontrolado Dum Vi Tajpas (OKDVT)', + toggle: 'Baskuligi OKDVT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/es.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/es.js new file mode 100644 index 00000000000..b78bf362a12 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/es.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'es', { + about: 'Acerca de Corrector', + aboutTab: 'Acerca de', + addWord: 'Añadir palabra', + allCaps: 'Omitir palabras en MAYÚSCULAS', + dic_create: 'Crear', + dic_delete: 'Borrar', + dic_field_name: 'Nombre del diccionario', + dic_info: 'Inicialmente el Diccionario de usuario se guarda en una Cookie. Sin embargo, las cookies están limitadas en tamaño. Cuando el diccionario crece a un punto en el que no se puede guardar en una Cookie, el diccionario puede ser almacenado en nuestro servidor. Para almacenar su diccionario personalizado en nuestro servidor debe especificar un nombre para su diccionario. Si ya ha guardado un diccionaro, por favor, escriba su nombre y pulse el botón Recuperar', + dic_rename: 'Renombrar', + dic_restore: 'Recuperar', + dictionariesTab: 'Diccionarios', + disable: 'Desactivar Corrector', + emptyDic: 'El nombre del diccionario no puede estar en blanco.', + enable: 'Activar Corrector', + ignore: 'Ignorar', + ignoreAll: 'Ignorar Todas', + ignoreDomainNames: 'Omitir nombres de dominio', + langs: 'Idiomas', + languagesTab: 'Idiomas', + mixedCase: 'Ignorar palabras con combinación de mayúsculas y minúsculas', + mixedWithDigits: 'Omitir palabras con números', + moreSuggestions: 'Más sugerencias', + opera_title: 'No soportado en Opera', + options: 'Opciones', + optionsTab: 'Opciones', + title: 'Comprobar Ortografía Mientras Escribe', + toggle: 'Cambiar Corrector', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/et.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/et.js new file mode 100644 index 00000000000..b8ed3975c13 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/et.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'et', { + about: 'SCAYT-ist lähemalt', + aboutTab: 'Lähemalt', + addWord: 'Lisa sõna', + allCaps: 'Läbivate suurtähtedega sõnade eiramine', + dic_create: 'Loo', + dic_delete: 'Kustuta', + dic_field_name: 'Sõnaraamatu nimi', + dic_info: 'Alguses säilitatakse kasutaja sõnaraamatut küpsises. Küpsise suurus on piiratud. Pärast sõnaraamatu kasvamist nii suureks, et see küpsisesse ei mahu, võib sõnaraamatut hoida meie serveris. Oma isikliku sõnaraamatu hoidmiseks meie serveris pead andma sellele nime. Kui sa juba oled sõnaraamatu salvestanud, sisesta selle nimi ja klõpsa taastamise nupule.', + dic_rename: 'Nimeta ümber', + dic_restore: 'Taasta', + dictionariesTab: 'Sõnaraamatud', + disable: 'SCAYT keelatud', + emptyDic: 'Sõnaraamatu nimi ei tohi olla tühi.', + enable: 'SCAYT lubatud', + ignore: 'Eira', + ignoreAll: 'Eira kõiki', + ignoreDomainNames: 'Domeeninimede eiramine', + langs: 'Keeled', + languagesTab: 'Keeled', + mixedCase: 'Tavapäratu tõstuga sõnade eiramine', + mixedWithDigits: 'Numbreid sisaldavate sõnade eiramine', + moreSuggestions: 'Veel soovitusi', + opera_title: 'Operas pole toetatud', + options: 'Valikud', + optionsTab: 'Valikud', + title: 'Õigekirjakontroll kirjutamise ajal', + toggle: 'SCAYT sisse/välja lülitamine', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/eu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/eu.js new file mode 100644 index 00000000000..78011702274 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/eu.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'eu', { + about: 'SCAYTi buruz', + aboutTab: 'Honi buruz', + addWord: 'Hitza Gehitu', + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Hiztegiak', + disable: 'Desgaitu SCAYT', + emptyDic: 'Hiztegiaren izena ezin da hutsik egon.', + enable: 'Gaitu SCAYT', + ignore: 'Baztertu', + ignoreAll: 'Denak baztertu', + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Hizkuntzak', + languagesTab: 'Hizkuntzak', + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'Iradokizun gehiago', + opera_title: 'Not supported by Opera', // MISSING + options: 'Aukerak', + optionsTab: 'Aukerak', + title: 'Ortografia Zuzenketa Idatzi Ahala (SCAYT)', + toggle: 'SCAYT aldatu', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/fa.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/fa.js new file mode 100644 index 00000000000..7a3381d5e29 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/fa.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'fa', { + about: 'درباره SCAYT', + aboutTab: 'درباره', + addWord: 'افزودن Word', + allCaps: 'نادیده گرفتن همه کلاه-واژهها', + dic_create: 'ایجاد', + dic_delete: 'حذف', + dic_field_name: 'نام دیکشنری', + dic_info: 'در ابتدا دیکشنری کاربر در کوکی ذخیره میشود. با این حال، کوکیها در اندازه محدود شدهاند. وقتی که دیکشنری کاربری بزرگ میشود و به نقطهای که نمیتواند در کوکی ذخیره شود، پس از آن دیکشنری ممکن است بر روی سرور ما ذخیره شود. برای ذخیره دیکشنری شخصی شما بر روی سرور ما، باید یک نام برای دیکشنری خود مشخص نمایید. اگر شما قبلا یک دیکشنری روی سرور ما ذخیره کردهاید، لطفا نام آنرا درج و روی دکمه بازیافت کلیک نمایید.', + dic_rename: 'تغییر نام', + dic_restore: 'بازیافت', + dictionariesTab: 'دیکشنریها', + disable: 'غیرفعالسازی SCAYT', + emptyDic: 'نام دیکشنری نباید خالی باشد.', + enable: 'فعالسازی SCAYT', + ignore: 'عبور کردن', + ignoreAll: 'عبور کردن از همه', + ignoreDomainNames: 'عبور از نامهای دامنه', + langs: 'زبانها', + languagesTab: 'زبانها', + mixedCase: 'عبور از کلماتی مرکب از حروف بزرگ و کوچک', + mixedWithDigits: 'عبور از کلمات به همراه عدد', + moreSuggestions: 'پیشنهادهای بیشتر', + opera_title: 'توسط اپرا پشتیبانی نمیشود', + options: 'گزینهها', + optionsTab: 'گزینهها', + title: 'بررسی املای تایپ شما', + toggle: 'ضامن SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/fi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/fi.js new file mode 100644 index 00000000000..d88231be189 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/fi.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'fi', { + about: 'Tietoja oikoluvusta kirjoitetaessa', + aboutTab: 'Tietoa', + addWord: 'Lisää sana', + allCaps: 'Ohita sanat, jotka on kirjoitettu kokonaan isoilla kirjaimilla', + dic_create: 'Luo', + dic_delete: 'Poista', + dic_field_name: 'Sanakirjan nimi', + dic_info: 'Oletuksena sanakirjat tallennetaan evästeeseen, mutta evästeiden koko on kuitenkin rajallinen. Sanakirjan kasvaessa niin suureksi, ettei se enää mahdu evästeeseen, sanakirja täytyy tallentaa palvelimellemme. Tallentaaksesi sanakirjasi palvelimellemme tulee sinun antaa sille nimi. Jos olet jo tallentanut sanakirjan, anna sen nimi ja klikkaa Palauta-painiketta', + dic_rename: 'Nimeä uudelleen', + dic_restore: 'Palauta', + dictionariesTab: 'Sanakirjat', + disable: 'Poista käytöstä oikoluku kirjoitetaessa', + emptyDic: 'Sanakirjan nimi on annettava.', + enable: 'Ota käyttöön oikoluku kirjoitettaessa', + ignore: 'Ohita', + ignoreAll: 'Ohita kaikki', + ignoreDomainNames: 'Ohita verkkotunnukset', + langs: 'Kielet', + languagesTab: 'Kielet', + mixedCase: 'Ohita sanat, joissa on sekoitettu isoja ja pieniä kirjaimia', + mixedWithDigits: 'Ohita sanat, joissa on numeroita', + moreSuggestions: 'Lisää ehdotuksia', + opera_title: 'Opera ei tue tätä ominaisuutta', + options: 'Asetukset', + optionsTab: 'Asetukset', + title: 'Oikolue kirjoitettaessa', + toggle: 'Vaihda oikoluku kirjoittaessa tilaa', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/fo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/fo.js new file mode 100644 index 00000000000..4c89b6be610 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/fo.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'fo', { + about: 'Um SCAYT', + aboutTab: 'Um', + addWord: 'Legg orð afturat', + allCaps: 'Loyp orð við bert stórum stavum um', + dic_create: 'Upprætta nýggja', + dic_delete: 'Strika', + dic_field_name: 'Orðabókanavn', + dic_info: 'Upprunaliga er brúkara-orðabókin goymd í eini cookie í tínum egna kaga. Men hesar cookies eru avmarkaðar í stødd. Tá brúkara-orðabókin veksur seg ov stóra til eina cookie, so er møguligt at goyma hana á ambætara okkara. Fyri at goyma persónligu orðabókina á ambætaranum eigur tú at velja eitt navn til tína skuffu. Hevur tú longu goymt eina orðabók, so vinarliga skriva navnið og klikk á knøttin Endurskapa.', + dic_rename: 'Broyt', + dic_restore: 'Endurskapa', + dictionariesTab: 'Orðabøkur', + disable: 'Nokta SCAYT', + emptyDic: 'Heiti á orðabók eigur ikki at vera tómt.', + enable: 'Loyv SCAYT', + ignore: 'Ignorera', + ignoreAll: 'Ignorera alt', + ignoreDomainNames: 'loyp økisnøvn um', + langs: 'Tungumál', + languagesTab: 'Tungumál', + mixedCase: 'Loyp orð við blandaðum smáum og stórum stavum um', + mixedWithDigits: 'Loyp orð við tølum um', + moreSuggestions: 'Fleiri tilráðingar', + opera_title: 'Ikki stuðlað í Opera', + options: 'Uppseting', + optionsTab: 'Uppseting', + title: 'Kanna stavseting, meðan tú skrivar', + toggle: 'Toggle SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/fr-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/fr-ca.js new file mode 100644 index 00000000000..6022a87b701 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/fr-ca.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'fr-ca', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Dictionaries', // MISSING + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Languages', // MISSING + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT', // MISSING + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/fr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/fr.js new file mode 100644 index 00000000000..7a82a691104 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/fr.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'fr', { + about: 'A propos de SCAYT', + aboutTab: 'À propos de', + addWord: 'Ajouter le mot', + allCaps: 'Ignorer les mots entièrement en majuscules', + dic_create: 'Créer', + dic_delete: 'Effacer', + dic_field_name: 'Nom du dictionnaire', + dic_info: 'Initialement, le dictionnaire de l\'utilisateur est stocké dans un cookie. Cependant, les cookies sont limités en taille. Quand le dictionnaire atteint une taille qu\'il n\'est plus possible de stocker dans un cookie, il peut alors être stocké sur nos serveurs. Afin de stocker votre dictionnaire personnel sur nos serveurs, vous devez spécifier un nom pour ce dictionnaire. Si vous avez déjà un dictionnaire stocké, merci de taper son nom puis cliquer sur Restaurer pour le récupérer.', + dic_rename: 'Renommer', + dic_restore: 'Restaurer', + dictionariesTab: 'Dictionnaires', + disable: 'Désactiver SCAYT', + emptyDic: 'Le nom du dictionnaire ne devrait pas être vide.', + enable: 'Activer SCAYT', + ignore: 'Ignorer', + ignoreAll: 'Ignorer Tout', + ignoreDomainNames: 'Ignorer les noms de domaines', + langs: 'Langues', + languagesTab: 'Langues', + mixedCase: 'Ignorer les mots à casse multiple', + mixedWithDigits: 'Ignorer les mots contenant des chiffres', + moreSuggestions: 'Plus de suggestions', + opera_title: 'Non supporté par Opera', + options: 'Options', + optionsTab: 'Options', + title: 'Vérification de l\'Orthographe en Cours de Frappe (SCAYT)', + toggle: 'Activer/Désactiver SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/gl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/gl.js new file mode 100644 index 00000000000..dce2c9ff537 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/gl.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'gl', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Dictionaries', // MISSING + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Languages', // MISSING + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT', // MISSING + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/gu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/gu.js new file mode 100644 index 00000000000..7ded05f2ef9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/gu.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'gu', { + about: 'SCAYT વિષે', + aboutTab: 'વિષે', + addWord: 'શબ્દ ઉમેરવો', + allCaps: 'ઓલ-કેપ્સ વર્ડ છોડી દો.', + dic_create: 'બનાવવું', + dic_delete: 'કાઢી નાખવું', + dic_field_name: 'શબ્દકોશ નામ', + dic_info: 'પેહલા User Dictionary, Cookie તરીકે સ્ટોર થાય છે. પણ Cookie ની સમતા ઓછી છે. જયારે User Dictionary, Cookie તરીકે સ્ટોર ના કરી શકાય, ત્યારે તે અમારા સર્વર પર સ્ટોર થાય છે. તમારી વ્યતિગત ડીકસ્નરી ને સર્વર પર સ્ટોર કરવા માટે તમારે તેનું નામ આપવું પડશે. જો તમે તમારી ડીકસ્નરી નું નામ આપેલું હોય તો તમે રિસ્ટોર બટન ક્લીક કરી શકો.', + dic_rename: 'નવું નામ આપવું', + dic_restore: 'પાછું ', + dictionariesTab: 'શબ્દકોશ', + disable: 'SCAYT ડિસેબલ કરવું', + emptyDic: 'ડિક્સનરીનું નામ ખાલી ના હોય.', + enable: 'SCAYT એનેબલ કરવું', + ignore: 'ઇગ્નોર', + ignoreAll: 'બધા ઇગ્નોર ', + ignoreDomainNames: 'ડોમેન નામ છોડી દો.', + langs: 'ભાષાઓ', + languagesTab: 'ભાષા', + mixedCase: 'મિક્સ કેસ વર્ડ છોડી દો.', + mixedWithDigits: 'આંકડા વાળા શબ્દ છોડી દો.', + moreSuggestions: 'વધારે વિકલ્પો', + opera_title: 'ઓપેરામાં સપોર્ટ નથી', + options: 'વિકલ્પો', + optionsTab: 'વિકલ્પો', + title: 'ટાઈપ કરતા સ્પેલ તપાસો', + toggle: 'SCAYT ટોગલ', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/he.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/he.js new file mode 100644 index 00000000000..977f788fb09 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/he.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'he', { + about: 'אודות SCAYT', + aboutTab: 'אודות', + addWord: 'הוספת מילה', + allCaps: 'התעלם ממילים שכל אותיותיהן גדולות', + dic_create: 'יצירה', + dic_delete: 'מחיקה', + dic_field_name: 'שם המילון', + dic_info: 'בהתחלה מילון המשתמש מאוחסן בעוגיה, אך עוגיות מוגבלות במקום. כאשר המילון מגיע לגודל בו הוא אינו יכול להתאכסן בעוגיה, המילון צריך להתאכסן בשרתנו. לשם כך עליך לתת שם למילון. אם כבר יש לך מילון מאוחסן, יש להכניס את שמו וללחוץ על כפתור השחזור.', + dic_rename: 'שינוי שם', + dic_restore: 'שחזור', + dictionariesTab: 'מילון', + disable: 'בטל SCAYT', + emptyDic: 'יש לבחור מילון.', + enable: 'אפשר SCAYT', + ignore: 'התעלמות', + ignoreAll: 'התעלמות מהכל', + ignoreDomainNames: 'התעלם משמות מתחם', + langs: 'שפות', + languagesTab: 'שפות', + mixedCase: 'התעלם ממילים עם אותיות גדולות וקטנות ביחד', + mixedWithDigits: 'התעלם ממילים עם מספרים', + moreSuggestions: 'הצעות נוספות', + opera_title: 'לא זמין בדפדפן אופרה', + options: 'אפשרויות', + optionsTab: 'אפשרויות', + title: 'בדיקת איות בזמן כתיבה (SCAYT)', + toggle: 'שינוי SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/hi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/hi.js new file mode 100644 index 00000000000..3e8e8af28b0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/hi.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'hi', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Dictionaries', // MISSING + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Languages', // MISSING + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT', // MISSING + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/hr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/hr.js new file mode 100644 index 00000000000..f0ebff9fe7d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/hr.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'hr', { + about: 'O SCAYT', + aboutTab: 'O SCAYT', + addWord: 'Dodaj riječ', + allCaps: 'Ignoriraj riječi s velikim slovima', + dic_create: 'Napravi', + dic_delete: 'Obriši', + dic_field_name: 'Naziv riječnika', + dic_info: 'Na početku se korisnički Riječnik sprema u Cookie. Nažalost, veličina im je ograničena. Kada korisnički Riječnik naraste preko te veličine, Riječnik će biti smješten na naš server. Kako bi se korisnički Riječnik spremio na naš server morate odabrati naziv Vašeg Riječnika. Ukoliko ste već prije spremali Riječnik na naše servere, unesite naziv Riječnika i pritisnite na Povrati.', + dic_rename: 'Promijeni naziv', + dic_restore: 'Povrati', + dictionariesTab: 'Rječnici', + disable: 'Onemogući SCAYT', + emptyDic: 'Naziv rječnika ne smije biti prazno.', + enable: 'Omogući SCAYT', + ignore: 'Zanemari', + ignoreAll: 'Zanemari sve', + ignoreDomainNames: 'Ignoriraj nazive domena', + langs: 'Jezici', + languagesTab: 'Jezici', + mixedCase: 'Ignoriraj riječi s miješanim slovima', + mixedWithDigits: 'Ignoriraj riječi s brojevima', + moreSuggestions: 'Više prijedloga', + opera_title: 'Nije podržano u Operi', + options: 'Opcije', + optionsTab: 'Opcije', + title: 'Provjeri pravopis tijekom tipkanja (SCAYT)', + toggle: 'Omoguću/Onemogući SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/hu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/hu.js new file mode 100644 index 00000000000..05802b6571e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/hu.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'hu', { + about: 'SCAYT névjegy', + aboutTab: 'Névjegy', + addWord: 'Szó hozzáadása', + allCaps: 'Nagybetűs szavak kihagyása', + dic_create: 'Létrehozás', + dic_delete: 'Törlés', + dic_field_name: 'Szótár neve', + dic_info: 'Kezdetben a felhasználói szótár böngésző sütiben tárolódik. Azonban a sütik maximális mérete korlátozott. Amikora a szótár akkora lesz, hogy már sütiben nem lehet tárolni, akkor a szótárat tárolhatja a szerveren is. Ehhez egy nevet kell megadni a szótárhoz. Amennyiben már van szerveren tárolt szótára, adja meg a nevét és kattintson a visszaállítás gombra.', + dic_rename: 'Átnevezés', + dic_restore: 'Visszaállítás', + dictionariesTab: 'Szótár', + disable: 'SCAYT letiltása', + emptyDic: 'A szótár nevét meg kell adni.', + enable: 'SCAYT engedélyezése', + ignore: 'Kihagy', + ignoreAll: 'Összes kihagyása', + ignoreDomainNames: 'Domain nevek kihagyása', + langs: 'Nyelvek', + languagesTab: 'Nyelvek', + mixedCase: 'Kis és nagybetűt is tartalmazó szavak kihagyása', + mixedWithDigits: 'Számokat tartalmazó szavak kihagyása', + moreSuggestions: 'További javaslatok', + opera_title: 'Az Opera nem támogatja', + options: 'Beállítások', + optionsTab: 'Beállítások', + title: 'Helyesírás ellenőrzés gépelés közben', + toggle: 'SCAYT kapcsolása', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/is.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/is.js new file mode 100644 index 00000000000..dc3aa70332e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/is.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'is', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Dictionaries', // MISSING + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Languages', // MISSING + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT', // MISSING + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/it.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/it.js new file mode 100644 index 00000000000..97f3e9374be --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/it.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'it', { + about: 'About COMS', + aboutTab: 'Info', + addWord: 'Aggiungi Parola', + allCaps: 'Ignora Parole in maiuscolo', + dic_create: 'Crea', + dic_delete: 'Cancella', + dic_field_name: 'Nome del dizionario', + dic_info: 'Inizialmente il dizionario utente è memorizzato in un Cookie. I Cookie però hanno una dimensioni massima limitata. Quando il dizionario utente creasce a tal punto da non poter più essere memorizzato in un Cookie, allora il dizionario può essere memorizzato sul nostro server. Per memorizzare il proprio dizionario personale sul nostro server, è necessario specificare un nome per il proprio dizionario. Se avete già memorizzato un dizionario, inserite il nome che gli avete dato e premete il pulsante Ripristina.', + dic_rename: 'Rinomina', + dic_restore: 'Ripristina', + dictionariesTab: 'Dizionari', + disable: 'Disabilita COMS', + emptyDic: 'Il nome del dizionario non può essere vuoto.', + enable: 'Abilita COMS', + ignore: 'Ignora', + ignoreAll: 'Ignora tutti', + ignoreDomainNames: 'Ignora nomi di dominio', + langs: 'Lingue', + languagesTab: 'Lingue', + mixedCase: 'Ignora parole con maiuscole e minuscole', + mixedWithDigits: 'Ignora parole con numeri', + moreSuggestions: 'Altri suggerimenti', + opera_title: 'Non supportato da Opera', + options: 'Opzioni', + optionsTab: 'Opzioni', + title: 'Controllo Ortografico Mentre Scrivi', + toggle: 'Inverti abilitazione SCOMS', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ja.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ja.js new file mode 100644 index 00000000000..b89ad04c976 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ja.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'ja', { + about: 'SCAYTバージョン', + aboutTab: 'バージョン情報', + addWord: '語句追加', + allCaps: '全て大文字の単語を無視', + dic_create: '登録', + dic_delete: '削除', + dic_field_name: '辞書名', + dic_info: '始めユーザーディレクトリは、Cookieに保存されます。但し Cookie はサイズに制限があります。ユーザーディレクトリがCookieに保存できないサイズに到達するとディレクトリはサーバー上に保存されます。個人のディレクトリをサーバー上に保存するには、ディレクトリ名を明示する必要があります。もし既に保存されたディレクトリがある場合、その名前を入力し、元に戻すボタンを押してください。', + dic_rename: '名前変更', + dic_restore: '元に戻す', + dictionariesTab: '辞書', + disable: 'SCAYT無効', + emptyDic: '辞書名は必ず入力してください', + enable: 'SCAYT有効', + ignore: '無視', + ignoreAll: 'すべて無視', + ignoreDomainNames: 'ドメイン名を無視', + langs: '言語', + languagesTab: '言語', + mixedCase: '大文字小文字混在の単語を無視', + mixedWithDigits: '数字付き単語を無視', + moreSuggestions: '他の候補', + opera_title: 'Operaではサポートされません', + options: 'オプション', + optionsTab: 'オプション', + title: 'スペルチェック設定(SCAYT)', + toggle: 'SCAYT切替', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ka.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ka.js new file mode 100644 index 00000000000..28bf7d44ec1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ka.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'ka', { + about: 'SCAYT-ის შესახებ', + aboutTab: 'ინფორმაცია', + addWord: 'სიტყვის დამატება', + allCaps: 'დიდი ასოებით დაწერილი სიტყვების უგულებელყოფა', + dic_create: 'შექმნა', + dic_delete: 'წაშლა', + dic_field_name: 'ლექსიკონის სახელი', + dic_info: 'თავდაპირველად მომხმარებლის ლექსიკონი ინახება Cookie-ში. თუმცა Cookie შეზღუდულია ზომაში. როცა ლექსიკონის ზომა გაიზრდება საკმაოდ ის შეიძლება შევინახოთ ჩვენს სერვერზე. ჩვენს სერვერზე ლექსიკონს შესანახად უნდა მიუთითოთ მისი სახელი. თუ უკე გაქვთ ლექსიკონი, აკრიფეთ მისი სახელი და დააჭირეთ "დაბრუნების" ღილაკს.', + dic_rename: 'გადარქმევა', + dic_restore: 'დაბრუნება', + dictionariesTab: 'ლექსიკონები', + disable: 'SCAYT-ის გამორთვა', + emptyDic: 'ლექსიკონის სიტყვა არ უნდა იყოს ცარიელი.', + enable: 'SCAYT-ის ჩართვა', + ignore: 'უგულებელყოფა', + ignoreAll: 'ყველას უგულებელყოფა', + ignoreDomainNames: 'დომენური სახელების უგულებელყოფა', + langs: 'ენები', + languagesTab: 'ენები', + mixedCase: 'შერეული ასოებანი სიტყვების უგულებელყოფა', + mixedWithDigits: 'ციფრებიანი სიტყვების უგულებელყოფა', + moreSuggestions: 'მეტი შემოთავაზება', + opera_title: 'არაა მხარდაჭერილი Opera-ს მიერ', + options: 'პარამეტრები', + optionsTab: 'პარამეტრები', + title: 'მართლწერის შემოწმება კრეფისას', + toggle: 'SCAYT-ის გადართვა', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/km.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/km.js new file mode 100644 index 00000000000..a0c5833ad6b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/km.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'km', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Dictionaries', // MISSING + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Languages', // MISSING + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT', // MISSING + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ko.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ko.js new file mode 100644 index 00000000000..65aacc50906 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ko.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'ko', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Dictionaries', // MISSING + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Languages', // MISSING + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT', // MISSING + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ku.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ku.js new file mode 100644 index 00000000000..8067717007c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ku.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'ku', { + about: 'دهربارهی SCAYT', + aboutTab: 'دهربارهی', + addWord: 'زیادکردنی ووشه', + allCaps: 'پشتگوێخستنی وشانهی پێکهاتووه لهپیتی گهوره', + dic_create: 'درووستکردن', + dic_delete: 'سڕینهوه', + dic_field_name: 'ناوی فهرههنگ', + dic_info: 'لهبنچینهدا فهرههنگی بهکارهێنهر کۆگاکردن کراوه له شهکرۆکه Cookie, ههرچۆنێك بێت شهکۆرکه سنووردار کراوه له قهباره کۆگاکردن.کاتێك فهرههنگی بهکارهێنهر گهیشته ئهم خاڵهی کهناتوانرێت زیاتر کۆگاکردن بکرێت له شهکرۆکه، ئهوسا فهرههنگهکه پێویسته کۆگابکرێت له ڕاژهکهی ئێمه. بۆ کۆگاکردنی زانیاری تایبهتی فهرههنگهکه له ڕاژهکهی ئێمه, پێویسته ناوێك ههڵبژێریت بۆ فهرههنگهکه. گهر تۆ فهرههنگێکی کۆگاکراوت ههیه, تکایه ناوی فهرههنگهکه بنووسه وه کلیکی دوگمهی گهڕاندنهوه بکه.', + dic_rename: 'گۆڕینی ناو', + dic_restore: 'گهڕاندنهوه', + dictionariesTab: 'فهرههنگهکان', + disable: 'ناچالاککردنی SCAYT', + emptyDic: 'ناوی فهرههنگ نابێت خاڵی بێت.', + enable: 'چالاککردنی SCAYT', + ignore: 'پشتگوێخستن', + ignoreAll: 'پشتگوێخستنی ههمووی', + ignoreDomainNames: 'پشتگوێخستنی دۆمهین', + langs: 'زمانهکان', + languagesTab: 'زمانهکان', + mixedCase: 'پشتگوێخستنی وشانهی پێکهاتووه لهپیتی گهورهو بچووك', + mixedWithDigits: 'پشتگوێخستنی وشانهی پێکهاتووه لهژماره', + moreSuggestions: 'پێشنیاری زیاتر', + opera_title: 'پشتیوانی نهکراوه لهلایهن Opera', + options: 'ههڵبژارده', + optionsTab: 'ههڵبژارده', + title: 'پشکنینی نووسه لهکاتی نووسین', + toggle: 'گۆڕینی SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/lt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/lt.js new file mode 100644 index 00000000000..674d7ec80d2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/lt.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'lt', { + about: 'Apie SCAYT', + aboutTab: 'Apie', + addWord: 'Pridėti žodį', + allCaps: 'Ignoruoti visas didžiąsias raides', + dic_create: 'Sukurti', + dic_delete: 'Ištrinti', + dic_field_name: 'Žodyno pavadinimas', + dic_info: 'Paprastai žodynas yra saugojamas sausainėliuose (cookies), kurių dydis, bet kokiu atveju, yra apribotas. Esant sausainėlių apimties pervišiui, viskas bus saugoma serveryje. Jei norite iš kart viską saugoti serveryje, turite sugalvoti žodynui pavadinimą. Jei jau turite žodyną, įrašykite pavadinimą ir nuspauskite Atstatyti mygtuką.', + dic_rename: 'Pervadinti', + dic_restore: 'Atstatyti', + dictionariesTab: 'Žodynai', + disable: 'Išjungti SCAYT', + emptyDic: 'Žodyno vardas neturėtų būti tuščias.', + enable: 'Įjungti SCAYT', + ignore: 'Ignoruoti', + ignoreAll: 'Ignoruoti viską', + ignoreDomainNames: 'Ignoruoti domenų vardus', + langs: 'Kalbos', + languagesTab: 'Kalbos', + mixedCase: 'Ignoruoti maišyto dydžio raides', + mixedWithDigits: 'Ignoruoti raides su skaičiais', + moreSuggestions: 'Daugiau patarimų', + opera_title: 'Nepalaikoma naršyklėje Opera', + options: 'Parametrai', + optionsTab: 'Parametrai', + title: 'Tikrinti klaidas kai rašoma', + toggle: 'Perjungti SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/lv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/lv.js new file mode 100644 index 00000000000..4ff65218e6a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/lv.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'lv', { + about: 'Par SCAYT', + aboutTab: 'Par', + addWord: 'Pievienot vārdu', + allCaps: 'Ignorēt vārdus ar lielajiem burtiem', + dic_create: 'Izveidot', + dic_delete: 'Dzēst', + dic_field_name: 'Vārdnīcas nosaukums', + dic_info: 'Sākumā lietotāja vārdnīca tiek glabāta Cookie. Diemžēl, Cookie ir ierobežots izmērs. Kad vārdnīca sasniegs izmēru, ka to vairs nevar glabāt Cookie, tā tiks noglabāta uz servera. Lai saglabātu personīgo vārdnīcu uz jūsu servera, jums jānorāda tās nosaukums. Ja jūs jau esiet noglabājuši vārdnīcu, lūdzu ierakstiet tās nosaukum un nospiediet Atjaunot pogu.', + dic_rename: 'Pārsaukt', + dic_restore: 'Atjaunot', + dictionariesTab: 'Vārdnīcas', + disable: 'Atslēgt SCAYT', + emptyDic: 'Vārdnīcas nosaukums nevar būt tukšs.', + enable: 'Ieslēgt SCAYT', + ignore: 'Ignorēt', + ignoreAll: 'Ignorēt visu', + ignoreDomainNames: 'Ignorēt domēnu nosaukumus', + langs: 'Valodas', + languagesTab: 'Valodas', + mixedCase: 'Ignorēt vārdus ar jauktu reģistru burtiem', + mixedWithDigits: 'Ignorēt vārdus ar skaitļiem', + moreSuggestions: 'Vairāk ieteikumi', + opera_title: 'Opera neatbalsta', + options: 'Uzstādījumi', + optionsTab: 'Uzstādījumi', + title: 'Pārbaudīt gramatiku rakstot', + toggle: 'Pārslēgt SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/mk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/mk.js new file mode 100644 index 00000000000..757e173077f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/mk.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'mk', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Dictionaries', // MISSING + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Languages', // MISSING + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT', // MISSING + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/mn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/mn.js new file mode 100644 index 00000000000..90ff9106c6a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/mn.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'mn', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Бий болгох', + dic_delete: 'Устгах', + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Нэрийг солих', + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Толь бичгүүд', + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Хэлүүд', + languagesTab: 'Хэлүүд', + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Сонголт', + optionsTab: 'Сонголт', + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT', // MISSING + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ms.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ms.js new file mode 100644 index 00000000000..a7b14f33130 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ms.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'ms', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Dictionaries', // MISSING + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Languages', // MISSING + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT', // MISSING + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/nb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/nb.js new file mode 100644 index 00000000000..12344b3e7d6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/nb.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'nb', { + about: 'Om SCAYT', + aboutTab: 'Om', + addWord: 'Legg til ord', + allCaps: 'Ikke kontroller ord med kun store bokstaver', + dic_create: 'Opprett', + dic_delete: 'Slett', + dic_field_name: 'Ordboknavn', + dic_info: 'Brukerordboken lagres først i en informasjonskapsel på din maskin, men det er en begrensning på hvor mye som kan lagres her. Når ordboken blir for stor til å lagres i en informasjonskapsel, vil vi i stedet lagre ordboken på vår server. For å lagre din personlige ordbok på vår server, burde du velge et navn for ordboken din. Hvis du allerede har lagret en ordbok, vennligst skriv inn ordbokens navn og klikk på Gjenopprett-knappen.', + dic_rename: 'Gi nytt navn', + dic_restore: 'Gjenopprett', + dictionariesTab: 'Ordbøker', + disable: 'Slå av SCAYT', + emptyDic: 'Ordboknavn bør ikke være tom.', + enable: 'Slå på SCAYT', + ignore: 'Ignorer', + ignoreAll: 'Ignorer Alle', + ignoreDomainNames: 'Ikke kontroller domenenavn', + langs: 'Språk', + languagesTab: 'Språk', + mixedCase: 'Ikke kontroller ord med blandet små og store bokstaver', + mixedWithDigits: 'Ikke kontroller ord som inneholder tall', + moreSuggestions: 'Flere forslag', + opera_title: 'Ikke støttet av Opera', + options: 'Valg', + optionsTab: 'Valg', + title: 'Stavekontroll mens du skriver', + toggle: 'Veksle SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/nl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/nl.js new file mode 100644 index 00000000000..c054c36a20d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/nl.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'nl', { + about: 'Over SCAYT', + aboutTab: 'Over', + addWord: 'Woord toevoegen', + allCaps: 'Negeer woorden helemaal in hoofdletters', + dic_create: 'Aanmaken', + dic_delete: 'Verwijderen', + dic_field_name: 'Naam woordenboek', + dic_info: 'Initieel wordt het gebruikerswoordenboek opgeslagen in een cookie. Cookies zijn echter beperkt in grootte. Zodra het gebruikerswoordenboek het punt bereikt waarop het niet meer in een cookie opgeslagen kan worden, dan wordt het woordenboek op de server opgeslagen. Om je persoonlijke woordenboek op je eigen server op te slaan, moet je een mapnaam opgeven. Indien je al een woordenboek hebt opgeslagen, typ dan de naam en klik op de Terugzetten knop.', + dic_rename: 'Hernoemen', + dic_restore: 'Terugzetten', + dictionariesTab: 'Woordenboeken', + disable: 'SCAYT uitschakelen', + emptyDic: 'De naam van het woordenboek mag niet leeg zijn.', + enable: 'SCAYT inschakelen', + ignore: 'Negeren', + ignoreAll: 'Alles negeren', + ignoreDomainNames: 'Negeer domeinnamen', + langs: 'Talen', + languagesTab: 'Talen', + mixedCase: 'Negeer woorden met hoofd- en kleine letters', + mixedWithDigits: 'Negeer woorden met cijfers', + moreSuggestions: 'Meer suggesties', + opera_title: 'Niet ondersteund door Opera', + options: 'Opties', + optionsTab: 'Opties', + title: 'Controleer de spelling tijdens het typen', + toggle: 'SCAYT in/uitschakelen', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/no.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/no.js new file mode 100644 index 00000000000..822d3b47aad --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/no.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'no', { + about: 'Om SCAYT', + aboutTab: 'Om', + addWord: 'Legg til ord', + allCaps: 'Ikke kontroller ord med kun store bokstaver', + dic_create: 'Opprett', + dic_delete: 'Slett', + dic_field_name: 'Ordboknavn', + dic_info: 'Brukerordboken lagres først i en informasjonskapsel på din maskin, men det er en begrensning på hvor mye som kan lagres her. Når ordboken blir for stor til å lagres i en informasjonskapsel, vil vi i stedet lagre ordboken på vår server. For å lagre din personlige ordbok på vår server, burde du velge et navn for ordboken din. Hvis du allerede har lagret en ordbok, vennligst skriv inn ordbokens navn og klikk på Gjenopprett-knappen.', + dic_rename: 'Gi nytt navn', + dic_restore: 'Gjenopprett', + dictionariesTab: 'Ordbøker', + disable: 'Slå av SCAYT', + emptyDic: 'Ordboknavn bør ikke være tom.', + enable: 'Slå på SCAYT', + ignore: 'Ignorer', + ignoreAll: 'Ignorer Alle', + ignoreDomainNames: 'Ikke kontroller domenenavn', + langs: 'Språk', + languagesTab: 'Språk', + mixedCase: 'Ikke kontroller ord med blandet små og store bokstaver', + mixedWithDigits: 'Ikke kontroller ord som inneholder tall', + moreSuggestions: 'Flere forslag', + opera_title: 'Ikke støttet av Opera', + options: 'Valg', + optionsTab: 'Valg', + title: 'Stavekontroll mens du skriver', + toggle: 'Veksle SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/pl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/pl.js new file mode 100644 index 00000000000..a367e273089 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/pl.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'pl', { + about: 'Informacje o SCAYT', + aboutTab: 'Informacje o SCAYT', + addWord: 'Dodaj słowo', + allCaps: 'Ignoruj wyrazy pisane dużymi literami', + dic_create: 'Utwórz', + dic_delete: 'Usuń', + dic_field_name: 'Nazwa słownika', + dic_info: 'Początkowo słownik użytkownika przechowywany jest w cookie. Pliki cookie mają jednak ograniczoną pojemność. Jeśli słownik użytkownika przekroczy wielkość dopuszczalną dla pliku cookie, możliwe jest przechowanie go na naszym serwerze. W celu zapisania słownika na serwerze niezbędne jest nadanie mu nazwy. Jeśli słownik został już zapisany na serwerze, wystarczy podać jego nazwę i nacisnąć przycisk Przywróć.', + dic_rename: 'Zmień nazwę', + dic_restore: 'Przywróć', + dictionariesTab: 'Słowniki', + disable: 'Wyłącz SCAYT', + emptyDic: 'Nazwa słownika nie może być pusta.', + enable: 'Włącz SCAYT', + ignore: 'Ignoruj', + ignoreAll: 'Ignoruj wszystkie', + ignoreDomainNames: 'Ignoruj nazwy domen', + langs: 'Języki', + languagesTab: 'Języki', + mixedCase: 'Ignoruj wyrazy pisane dużymi i małymi literami', + mixedWithDigits: 'Ignoruj wyrazy zawierające cyfry', + moreSuggestions: 'Więcej sugestii', + opera_title: 'Funkcja nie jest obsługiwana przez przeglądarkę Opera', + options: 'Opcje', + optionsTab: 'Opcje', + title: 'Sprawdź pisownię podczas pisania (SCAYT)', + toggle: 'Przełącz SCAYT', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/pt-br.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/pt-br.js new file mode 100644 index 00000000000..46ce9292af1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/pt-br.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'pt-br', { + about: 'Sobre a correção ortográfica durante a digitação', + aboutTab: 'Sobre', + addWord: 'Adicionar palavra', + allCaps: 'Ignorar palavras maiúsculas', + dic_create: 'Criar', + dic_delete: 'Excluir', + dic_field_name: 'Nome do Dicionário', + dic_info: 'Inicialmente, o dicionário do usuário fica armazenado em um Cookie. Porém, Cookies tem tamanho limitado, portanto quand o dicionário do usuário atingir o tamanho limite poderá ser armazenado no nosso servidor. Para armazenar seu dicionário pessoal no nosso servidor deverá especificar um nome para ele. Se já tiver um dicionário armazenado por favor especifique o seu nome e clique em Restaurar.', + dic_rename: 'Renomear', + dic_restore: 'Restaurar', + dictionariesTab: 'Dicionários', + disable: 'Desabilitar correção ortográfica durante a digitação', + emptyDic: 'O nome do dicionário não deveria estar vazio.', + enable: 'Habilitar correção ortográfica durante a digitação', + ignore: 'Ignorar', + ignoreAll: 'Ignorar todas', + ignoreDomainNames: 'Ignorar nomes de domínio', + langs: 'Idiomas', + languagesTab: 'Idiomas', + mixedCase: 'Ignorar palavras com maiúsculas e minúsculas misturadas', + mixedWithDigits: 'Ignorar palavras com números', + moreSuggestions: 'Mais sugestões', + opera_title: 'Não suportado no Opera', + options: 'Opções', + optionsTab: 'Opções', + title: 'Correção ortográfica durante a digitação', + toggle: 'Ativar/desativar correção ortográfica durante a digitação', + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/pt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/pt.js new file mode 100644 index 00000000000..ade424e5ea5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/pt.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'pt', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Dictionaries', // MISSING + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Languages', // MISSING + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT', // MISSING + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ro.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ro.js new file mode 100644 index 00000000000..b5bdba03f47 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ro.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'ro', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Dictionaries', // MISSING + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Languages', // MISSING + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT', // MISSING + noSuggestions: 'No suggestion' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ru.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ru.js new file mode 100644 index 00000000000..2fb8df57242 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ru.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'ru', { + about: 'О SCAYT', + aboutTab: 'О SCAYT', + addWord: 'Добавить слово', + allCaps: 'Игнорировать слова из заглавных букв', + dic_create: 'Создать', + dic_delete: 'Удалить', + dic_field_name: 'Название словаря', + dic_info: 'Изначально, пользовательский словарь хранится в cookie, которые ограничены в размере. Когда словарь пользователя вырастает до размеров, что его невозможно хранить в cookie, он переносится на хранение на наш сервер. Чтобы сохранить ваш словарь на нашем сервере, вам следует указать название вашего словаря. Если у вас уже был словарь, который вы сохраняли на нашем сервере, то укажите здесь его название и нажмите кнопку Восстановить.', + dic_rename: 'Переименовать', + dic_restore: 'Восстановить', + dictionariesTab: 'Словари', + disable: 'Отключить SCAYT', + emptyDic: 'Вы должны указать название словаря.', + enable: 'Включить SCAYT', + ignore: 'Пропустить', + ignoreAll: 'Пропустить всё', + ignoreDomainNames: 'Игнорировать доменные имена', + langs: 'Языки', + languagesTab: 'Языки', + mixedCase: 'Игнорировать слова из букв в разном регистре', + mixedWithDigits: 'Игнорировать слова, содержащие цифры', + moreSuggestions: 'Ещё варианты', + opera_title: 'Не поддерживается Opera', + options: 'Настройки', + optionsTab: 'Параметры', + title: 'Проверка орфографии по мере ввода (SCAYT)', + toggle: 'Переключить SCAYT', + noSuggestions: 'Нет вариантов' +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/sk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/sk.js new file mode 100644 index 00000000000..e3ae5ebaa40 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/sk.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'sk', { + about: 'O KPPP (Kontrola pravopisu počas písania)', + aboutTab: 'O', + addWord: 'Pridať slovo', + allCaps: 'Ignorovať slová písané veľkými písmenami', + dic_create: 'Vytvoriť', + dic_delete: 'Vymazať', + dic_field_name: 'Názov slovníka', + dic_info: 'Spočiatku je užívateľský slovník uložený v cookie. Cookie však majú obmedzenú veľkosť. Keď užívateľský slovník narastie do bodu, kedy nemôže byť uložený v cookie, potom musí byť slovník uložený na našom serveri. Pre uloženie vášho osobného slovníka na náš server by ste mali zadať názov pre váš slovník. Ak už máte uložený slovník, prosíme, napíšte jeho názov a kliknite tlačidlo Obnoviť.', + dic_rename: 'Premenovať', + dic_restore: 'Obnoviť', + dictionariesTab: 'Slovníky', + disable: 'Zakázať KPPP (Kontrola pravopisu počas písania)', + emptyDic: 'Názov slovníka by nemal byť prázdny.', + enable: 'Povoliť KPPP (Kontrola pravopisu počas písania)', + ignore: 'Ignorovať', + ignoreAll: 'Ignorovať všetko', + ignoreDomainNames: 'Iznorovať názvy domén', + langs: 'Jazyky', + languagesTab: 'Jazyky', + mixedCase: 'Ignorovať slová so smiešanými veľkými a malými písmenami', + mixedWithDigits: 'Ignorovať slová s číslami', + moreSuggestions: 'Viac návrhov', + opera_title: 'Nepodporované Operou', + options: 'Možnosti', + optionsTab: 'Možnosti', + title: 'Kontrola pravopisu počas písania', + toggle: 'Prepnúť KPPP (Kontrola pravopisu počas písania)', + noSuggestions: 'No suggestion'// MISSING +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/sl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/sl.js new file mode 100644 index 00000000000..94ca56f5091 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/sl.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'sl', { + about: 'O storitvi SCAYT', + aboutTab: 'O storitvi', + addWord: 'Dodaj besedo', + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Slovarji', + disable: 'Onemogoči SCAYT', + emptyDic: 'Ime slovarja ne more biti prazno.', + enable: 'Omogoči SCAYT', + ignore: 'Prezri', + ignoreAll: 'Prezri vse', + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Jeziki', + languagesTab: 'Jeziki', + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'Več predlogov', + opera_title: 'Not supported by Opera', // MISSING + options: 'Možnosti', + optionsTab: 'Možnosti', + title: 'Črkovanje med tipkanjem', + toggle: 'Preklopi SCAYT', + noSuggestions: 'No suggestion'// MISSING +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/sr-latn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/sr-latn.js new file mode 100644 index 00000000000..a45b7739bd2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/sr-latn.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'sr-latn', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Dictionaries', // MISSING + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Languages', // MISSING + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT',// MISSING + noSuggestions: 'No suggestion' // MISSING +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/sr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/sr.js new file mode 100644 index 00000000000..6a42eb0c952 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/sr.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'sr', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Dictionaries', // MISSING + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Languages', // MISSING + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT',// MISSING + noSuggestions: 'No suggestion' // MISSING +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/sv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/sv.js new file mode 100644 index 00000000000..1439455e6fb --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/sv.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'sv', { + about: 'Om SCAYT', + aboutTab: 'Om', + addWord: 'Lägg till ord', + allCaps: 'Ignorera alla ord med enbart versaler', + dic_create: 'Skapa', + dic_delete: 'Ta bort', + dic_field_name: 'Ordlistans namn', + dic_info: 'Inledningsvis lagras ordlistan i en cookie. När ordlista växer till en punkt där det inte kan lagras i en cookie, lagras den på vår server. För att lagra din personliga ordlista på vår server du ska ange ett namn för din ordbok. Om du redan har en lagrad ordbok, skriv namnet och klicka på knappen Återställ.', + dic_rename: 'Byt namn', + dic_restore: 'Återställ', + dictionariesTab: 'Ordlistor', + disable: 'Inaktivera SCAYT', + emptyDic: 'Ordlistans namn får ej vara tomt.', + enable: 'Aktivera SCAYT', + ignore: 'Ignorera', + ignoreAll: 'Ignorera alla', + ignoreDomainNames: 'Ignorera domännamn', + langs: 'Språk', + languagesTab: 'Språk', + mixedCase: 'Ignorera ord med blandat shiftläge', + mixedWithDigits: 'Ignorera ord med nummer', + moreSuggestions: 'Fler förslag', + opera_title: 'Stöds ej av Opera', + options: 'Inställningar', + optionsTab: 'Inställningar', + title: 'Stavningskontroll medan du skriver', + toggle: 'Växla SCAYT', + noSuggestions: 'No suggestion'// MISSING +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/th.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/th.js new file mode 100644 index 00000000000..3339bec3ae9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/th.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'th', { + about: 'About SCAYT', // MISSING + aboutTab: 'About', // MISSING + addWord: 'Add Word', // MISSING + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: 'Dictionaries', // MISSING + disable: 'Disable SCAYT', // MISSING + emptyDic: 'Dictionary name should not be empty.', // MISSING + enable: 'Enable SCAYT', // MISSING + ignore: 'Ignore', // MISSING + ignoreAll: 'Ignore All', // MISSING + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: 'Languages', // MISSING + languagesTab: 'Languages', // MISSING + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: 'More suggestions', // MISSING + opera_title: 'Not supported by Opera', // MISSING + options: 'Options', // MISSING + optionsTab: 'Options', // MISSING + title: 'Spell Check As You Type', // MISSING + toggle: 'Toggle SCAYT',// MISSING + noSuggestions: 'No suggestion' // MISSING +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/tr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/tr.js new file mode 100644 index 00000000000..52c169b0f17 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/tr.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'tr', { + about: 'SCAYT\'ı hakkında', + aboutTab: 'Hakkında', + addWord: 'Kelime Ekle', + allCaps: 'Tüm büyük küçük kelimeleri yoksay', + dic_create: 'Oluştur', + dic_delete: 'Sil', + dic_field_name: 'Sözlük adı', + dic_info: 'Başlangıçta Kullanıcı Sözlüğü bir çerezde saklanır. Ancak, Çerezler boyutu sınırlıdır. Kullanıcı Sözlüğü, çerezin içinde saklanamayacağı bir noktada, bizim sunucularımızın içindeki sözlükte saklanabilir. Bizim sunucu üzerinde kişisel Sözlük saklamanız için, Sözlüğe bir ad belirtmelisiniz. Eğer zaten bir saklı Sözlük varsa, lütfen adını yazın ve Geri Yükle düğmesini tıklayın.', + dic_rename: 'Yeniden adlandır', + dic_restore: 'Geri al', + dictionariesTab: 'Sözlükler', + disable: 'SCAYT\'ı pasifleştir', + emptyDic: 'Sözlük adı boş olamaz.', + enable: 'SCAYT\'ı etkinleştir', + ignore: 'Yoksay', + ignoreAll: 'Tümünü Yoksay', + ignoreDomainNames: 'Domain adlarını yoksay', + langs: 'Diller', + languagesTab: 'Diller', + mixedCase: 'Karışık büyüklük ile Sözcükler yoksay', + mixedWithDigits: 'Sayılarla Kelimeler yoksay', + moreSuggestions: 'Daha fazla öneri', + opera_title: 'Opera tarafından desteklenmemektedir', + options: 'Seçenekler', + optionsTab: 'Seçenekler', + title: 'Girmiş olduğunuz kelime denetimi', + toggle: 'SCAYT\'ı değiştir', + noSuggestions: 'No suggestion'// MISSING +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ug.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ug.js new file mode 100644 index 00000000000..06bcbfc689f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/ug.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'ug', { + about: 'شۇئان ئىملا تەكشۈرۈش ھەققىدە', + aboutTab: 'ھەققىدە', + addWord: 'سۆز قوش', + allCaps: 'چوڭ ھەرپتە يېزىلغان ھەممە سۆزگە پەرۋا قىلما', + dic_create: 'قۇر', + dic_delete: 'ئۆچۈر', + dic_field_name: 'لۇغەت ئاتى', + dic_info: 'باشلىنىشتا ئىشلەتكۈچى لۇغىتى Cookie غا ساقلىنىدۇ ئەمما Cookie نىڭ سىغىمى چەكلىك بولغاچقا، ئىشلەتكۈچى لۇغىتى كۆپىيىپ Cookie چەكلىمىسىدىن ئېشىپ كەتكەندە ساقلىغىلى بولمايدۇ، بۇ چاغدا لۇغىتىڭىزنى مۇلازىمېتىرىمىزغا ساقلىسىڭىز بولىدۇ. شەخسىي لۇغىتىڭىزنى مۇلازىمېتىرىمىزغا ساقلىماقچى بولسىڭىز لۇغىتىڭىزگە ئاتتىن بىرنى قويۇڭ، ئەگەر مۇلازىمتېرىمىزدا سىزنىڭ لۇغىتىڭىزدىن بىرسى بولسا لۇغەت ئاتىنى كىرگۈزۈپ ئەسلىگە قايتۇر توپچىسىنى بېسىڭ.', + dic_rename: 'ئات ئۆزگەرت', + dic_restore: 'ئەسلىگە كەلتۈر', + dictionariesTab: 'لۇغەت', + disable: 'شۇئان ئىملا تەكشۈرۈشنى چەكلە', + emptyDic: 'لۇغەت ئاتى بوش قالمايدۇ', + enable: 'شۇئان ئىملا تەكشۈرۈشنى قوزغات', + ignore: 'پەرۋا قىلما', + ignoreAll: 'ھەممىسىگە پەرۋا قىلما', + ignoreDomainNames: 'دائىرە ئاتىغا پەرۋا قىلما', + langs: 'تىل', + languagesTab: 'تىل', + mixedCase: 'چوڭ كىچىك ھەرپ بىلەن ئارىلاش يېزىلغان سۆزگە پەرۋا قىلما', + mixedWithDigits: 'سان بار سۆزگە پەرۋا قىلما', + moreSuggestions: 'تېخىمۇ كۆپ ئىملا تەۋسىيەسى', + opera_title: 'Opera توركۆرگۈنى قوللىمايدۇ', + options: 'تاللانما', + optionsTab: 'تاللانما', + title: 'شۇئان ئىملا تەكشۈر', + toggle: 'شۇئان ئىملا تەكشۈرۈشنى ۋاقىتلىق توختات/قوزغات', + noSuggestions: 'No suggestion'// MISSING +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/uk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/uk.js new file mode 100644 index 00000000000..3e8c6c0a7ae --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/uk.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'uk', { + about: 'Про SCAYT', + aboutTab: 'Про SCAYT', + addWord: 'Додати слово', + allCaps: 'Пропустити прописні слова', + dic_create: 'Створити', + dic_delete: 'Видалити', + dic_field_name: 'Назва словника', + dic_info: 'Як правило, користувацькі словники зберігаються у cookie-файлах. Однак, cookie-файли мають обмеження на розмір. Якщо користувацький словник зростає в обсязі настільки, що вже не може бути збережений у cookie-файлі, тоді його можна зберегти на нашому сервері. Щоб зберегти Ваш персональний словник на нашому сервері необхідно вказати назву словника. Якщо Ви вже зберігали словник на сервері, будь ласка, вкажіть назву збереженого словника і натисніть кнопку Відновити.', + dic_rename: 'Перейменувати', + dic_restore: 'Відновити', + dictionariesTab: 'Словники', + disable: 'Вимкнути SCAYT', + emptyDic: 'Назва словника повинна бути вказана.', + enable: 'Ввімкнути SCAYT', + ignore: 'Пропустити', + ignoreAll: 'Пропустити всі', + ignoreDomainNames: 'Пропустити доменні назви', + langs: 'Мови', + languagesTab: 'Мови', + mixedCase: 'Пропустити слова зі змішаним регістром', + mixedWithDigits: 'Пропустити слова, що містять цифри', + moreSuggestions: 'Більше варіантів', + opera_title: 'Не підтримується в Opera', + options: 'Опції', + optionsTab: 'Опції', + title: 'Перефірка орфографії по мірі набору', + toggle: 'Перемкнути SCAYT', + noSuggestions: 'No suggestion'// MISSING +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/vi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/vi.js new file mode 100644 index 00000000000..75cf4fe4480 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/vi.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'vi', { + about: 'Thông tin về SCAYT', + aboutTab: 'Thông tin', + addWord: 'Thêm từ', + allCaps: 'Không phân biệt chữ HOA chữ thường', + dic_create: 'Tạo', + dic_delete: 'Xóa', + dic_field_name: 'Tên từ điển', + dic_info: 'Ban đầu, từ điển người dùng được lưu trữ trong một cookie. Tuy nhiên, kích thước cookie bị giới hạn. Khi người sử dụng từ điển phát triển đến điểm không thể được lưu trữ trong cookie, từ điển sẽ được lưu trữ trên máy chủ của chúng tôi. Để lưu trữ từ điển cá nhân của bạn trên máy chủ của chúng tôi, bạn nên xác định một tên cho từ điển của bạn. Nếu bạn đã có một cuốn từ điển được lưu trữ, xin vui lòng gõ tên của nó và nhấn vào nút Khôi phục.', + dic_rename: 'Thay tên', + dic_restore: 'Phục hồi', + dictionariesTab: 'Từ điển', + disable: 'Tắt SCAYT', + emptyDic: 'Tên của từ điển không được để trống.', + enable: 'Bật SCAYT', + ignore: 'Bỏ qua', + ignoreAll: 'Bỏ qua tất cả', + ignoreDomainNames: 'Bỏ qua tên miền', + langs: 'Ngôn ngữ', + languagesTab: 'Tab ngôn ngữ', + mixedCase: 'Không phân biệt loại chữ', + mixedWithDigits: 'Không phân biệt chữ và số', + moreSuggestions: 'Đề xuất thêm', + opera_title: 'Không hỗ trợ trên trình duyệt Opera', + options: 'Tùy chọn', + optionsTab: 'Tùy chọn', + title: 'Kiểm tra chính tả ngay khi gõ chữ (SCAYT)', + toggle: 'Bật tắt SCAYT', + noSuggestions: 'No suggestion'// MISSING +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/zh-cn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/zh-cn.js new file mode 100644 index 00000000000..5911c5fbc64 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/zh-cn.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'zh-cn', { + about: '关于即时拼写检查', + aboutTab: '关于', + addWord: '添加单词', + allCaps: '忽略所有大写单词', + dic_create: '创建', + dic_delete: '删除', + dic_field_name: '字典名称', + dic_info: '一开始用户词典储存在 Cookie 中, 但是 Cookies 的容量是有限的, 当用户词典增长到超出 Cookie 限制时就无法再储存了, 这时您可以将词典储存到我们的服务器上. 要把您的个人词典到储存到我们的服务器上的话, 需要为您的词典指定一个名称, 如果您在我们的服务器上已经有储存有一个词典, 请输入词典名称并按还原按钮.', + dic_rename: '重命名', + dic_restore: '还原', + dictionariesTab: '字典', + disable: '禁用即时拼写检查', + emptyDic: '字典名不应为空.', + enable: '启用即时拼写检查', + ignore: '忽略', + ignoreAll: '全部忽略', + ignoreDomainNames: '忽略域名', + langs: '语言', + languagesTab: '语言', + mixedCase: '忽略大小写混合的单词', + mixedWithDigits: '忽略带数字的单词', + moreSuggestions: '更多拼写建议', + opera_title: '不支持 Opera 浏览器', + options: '选项', + optionsTab: '选项', + title: '即时拼写检查', + toggle: '暂停/启用即时拼写检查', + noSuggestions: 'No suggestion'// MISSING +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/zh.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/zh.js new file mode 100644 index 00000000000..7ff304b8359 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/lang/zh.js @@ -0,0 +1,34 @@ +/* +Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'scayt', 'zh', { + about: '關於即時拼寫檢查', + aboutTab: '關於', + addWord: '添加單詞', + allCaps: 'Ignore All-Caps Words', // MISSING + dic_create: 'Create', // MISSING + dic_delete: 'Delete', // MISSING + dic_field_name: 'Dictionary name', // MISSING + dic_info: 'Initially the User Dictionary is stored in a Cookie. However, Cookies are limited in size. When the User Dictionary grows to a point where it cannot be stored in a Cookie, then the dictionary may be stored on our server. To store your personal dictionary on our server you should specify a name for your dictionary. If you already have a stored dictionary, please type its name and click the Restore button.', // MISSING + dic_rename: 'Rename', // MISSING + dic_restore: 'Restore', // MISSING + dictionariesTab: '字典', + disable: '關閉即時拼寫檢查', + emptyDic: '字典名不應為空.', + enable: '啟用即時拼寫檢查', + ignore: '忽略', + ignoreAll: '全部忽略', + ignoreDomainNames: 'Ignore Domain Names', // MISSING + langs: '語言', + languagesTab: '語言', + mixedCase: 'Ignore Words with Mixed Case', // MISSING + mixedWithDigits: 'Ignore Words with Numbers', // MISSING + moreSuggestions: '更多拼寫建議', + opera_title: 'Not supported by Opera', // MISSING + options: '選項', + optionsTab: '選項', + title: '即時拼寫檢查', + toggle: '啟用/關閉即時拼寫檢查', + noSuggestions: 'No suggestion'// MISSING +}); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/plugin.js new file mode 100644 index 00000000000..8829f486eb7 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/scayt/plugin.js @@ -0,0 +1,929 @@ +/** + * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.html or http://ckeditor.com/license + */ + +/** + * @fileOverview Spell Check As You Type (SCAYT). + * Button name : Scayt. + */ + +(function() { + var commandName = 'scaytcheck', + wscCommandName = 'checkspell', + openPage = ''; + + // Checks if a value exists in an array + function in_array( needle, haystack ) { + var found = 0, + key; + for ( key in haystack ) { + if ( haystack[ key ] == needle ) { + found = 1; + break; + } + } + return found; + } + + var onEngineLoad = function() { + var editor = this; + + var createInstance = function( ev ) // Create new instance every time Document is created. + { + if ( typeof plugin.instances[ editor.name ] != 'undefined' || plugin.instances[ editor.name ] != null ) + return; + + var config = editor.config; + // Initialise Scayt instance. + var oParams = {}; + // Get the iframe. + + if(editor.editable().$.nodeName == 'BODY') + oParams.srcNodeRef = editor.document.getWindow().$.frameElement; + else + oParams.srcNodeRef = editor.editable().$; + + // syntax : AppName.AppVersion@AppRevision + oParams.assocApp = 'CKEDITOR.' + CKEDITOR.version + '@' + CKEDITOR.revision; + oParams.customerid = config.scayt_customerid || '1:WvF0D4-UtPqN1-43nkD4-NKvUm2-daQqk3-LmNiI-z7Ysb4-mwry24-T8YrS3-Q2tpq2'; + oParams.customDictionaryIds = config.scayt_customDictionaryIds || ''; + oParams.userDictionaryName = config.scayt_userDictionaryName || ''; + oParams.sLang = config.scayt_sLang || 'en_US'; + + // Introduce SCAYT onLoad callback. (#5632) + oParams.onLoad = function() { + // Draw down word marker to avoid being covered by background-color style.(#5466) + if ( !( CKEDITOR.env.ie && CKEDITOR.env.version < 8 ) ) + this.addStyle( this.selectorCss(), 'padding-bottom: 2px !important;' ); + + // Call scayt_control.focus when SCAYT loaded + // and only if editor has focus and scayt control creates at first time (#5720) + if ( editor.editable().hasFocus && !plugin.isControlRestored( editor ) ) + this.focus(); + + }; + + /* + ** commented due to #23630 BCG: IE 9: SCAYT plugin for CKEditor 4: checkDirty issue + ** We redefined checkDirty of CKEDITOR already - so this is waste functionality, that + ** cause recursive calling of checkDirty in IE + */ + // oParams.onBeforeChange = function() { + // if ( plugin.getScayt( editor ) && !editor.checkDirty() ) { + // setTimeout( function() { + // editor.resetDirty(); + // }, 0 ); + // } + // }; + + var scayt_custom_params = window.scayt_custom_params; + if ( typeof scayt_custom_params == 'object' ) { + for ( var k in scayt_custom_params ) + oParams[ k ] = scayt_custom_params[ k ]; + } + // needs for restoring a specific scayt control settings + if ( plugin.getControlId( editor ) ) + oParams.id = plugin.getControlId( editor ); + + var scayt_control = new window.scayt( oParams ); + + scayt_control.afterMarkupRemove.push( function( node ) { + ( new CKEDITOR.dom.element( node, scayt_control.document ) ).mergeSiblings(); + }); + + // Copy config. + var lastInstance = plugin.instances[ editor.name ]; + if ( lastInstance ) { + scayt_control.sLang = lastInstance.sLang; + scayt_control.option( lastInstance.option() ); + scayt_control.paused = lastInstance.paused; + } + + plugin.instances[ editor.name ] = scayt_control; + + try { + scayt_control.setDisabled( plugin.isPaused( editor ) === false ); + } catch ( e ) {} + + editor.fire( 'showScaytState' ); + }; + + function bindInlineModeEvents() { + editor.once( 'focus', createInstance ); + editor.once( 'blur', destroyInstance ); + } + + function destroyInstance( ev ) { + var editor = ev.editor, + scayt_instance = plugin.getScayt( editor ), + inline_mode = ( editor.elementMode == CKEDITOR.ELEMENT_MODE_INLINE ); + + // SCAYT instance might already get destroyed by mode switch (#5744). + if ( !scayt_instance ) + return; + + plugin.setPaused( editor, !scayt_instance.disabled ); + // store a control id for restore a specific scayt control settings + plugin.setControlId( editor, scayt_instance.id ); + scayt_instance.destroy( true ); + delete plugin.instances[ editor.name ]; + + if ( inline_mode ) bindInlineModeEvents(); + } + + ( editor.elementMode == CKEDITOR.ELEMENT_MODE_INLINE ) ? bindInlineModeEvents() : editor.on( 'contentDom', createInstance ); + + editor.on( 'contentDomUnload', function() { + // Remove scripts. + var scripts = CKEDITOR.document.getElementsByTag( 'script' ), + scaytIdRegex = /^dojoIoScript(\d+)$/i, + scaytSrcRegex = /^https?:\/\/svc\.webspellchecker\.net\/spellcheck\/script\/ssrv\.cgi/i; + + for ( var i = 0; i < scripts.count(); i++ ) { + var script = scripts.getItem( i ), + id = script.getId(), + src = script.getAttribute( 'src' ); + + if ( id && src && id.match( scaytIdRegex ) && src.match( scaytSrcRegex ) ) + script.remove(); + } + }); + + editor.on( 'beforeCommandExec', function( ev ) // Disable SCAYT before Source command execution. + { + if ( ev.data.name == 'source' && editor.mode == 'source' ) + plugin.markControlRestore( editor ); + }); + + editor.on( 'afterCommandExec', function( ev ) { + if ( !plugin.isScaytEnabled( editor ) ) + return; + + if ( editor.mode == 'wysiwyg' && ( ev.data.name == 'undo' || ev.data.name == 'redo' ) ) { + plugin.getScayt( editor ).setDisabled(true); + if (plugin.refresh_timeout) { + window.clearTimeout(plugin.refresh_timeout); + } + plugin.refresh_timeout = window.setTimeout( function() { + plugin.getScayt( editor ).setDisabled(false); + + plugin.getScayt( editor ).focus(); + plugin.getScayt( editor ).refresh(); + }, 10 ); + } + }); + + editor.on( 'destroy', destroyInstance ); + + // Listen to data manipulation to reflect scayt markup. + editor.on( 'setData', destroyInstance ); + + // Reload spell-checking for current word after insertion completed. + editor.on( 'insertElement', function() { + var scayt_instance = plugin.getScayt( editor ); + if ( plugin.isScaytEnabled( editor ) ) { + // Unlock the selection before reload, SCAYT will take + // care selection update. + if ( CKEDITOR.env.ie ) + editor.getSelection().unlock( true ); + + // Return focus to the editor and refresh SCAYT markup (#5573). + window.setTimeout( function() { + scayt_instance.focus(); + scayt_instance.refresh(); + }, 10 ); + } + }, this, null, 50 ); + + editor.on( 'insertHtml', function() { + var scayt_instance = plugin.getScayt( editor ); + if ( plugin.isScaytEnabled( editor ) ) { + // Unlock the selection before reload, SCAYT will take + // care selection update. + if ( CKEDITOR.env.ie ) + editor.getSelection().unlock( true ); + + // Return focus to the editor (#5573) + // Refresh SCAYT markup + window.setTimeout( function() { + scayt_instance.focus(); + scayt_instance.refresh(); + }, 10 ); + } + }, this, null, 50 ); + + editor.on( 'scaytDialog', function( ev ) // Communication with dialog. + { + ev.data.djConfig = window.djConfig; + ev.data.scayt_control = plugin.getScayt( editor ); + ev.data.tab = openPage; + ev.data.scayt = window.scayt; + }); + + var dataProcessor = editor.dataProcessor, + htmlFilter = dataProcessor && dataProcessor.htmlFilter; + + if ( htmlFilter ) { + htmlFilter.addRules({ + elements: { + span: function( element ) { + if ( element.attributes[ 'data-scayt_word' ] && element.attributes[ 'data-scaytid' ] ) { + delete element.name; // Write children, but don't write this node. + return element; + } + } + } + }); + } + + // Override Image.equals method avoid CK snapshot module to add SCAYT markup to snapshots. (#5546) + var undoImagePrototype = CKEDITOR.plugins.undo.Image.prototype; + + // add backword compatibility for CKEDITOR 4.2. method equals was repleced on other method + var equalsContentMethodName = (typeof undoImagePrototype.equalsContent == "function") ? 'equalsContent' : 'equals'; + + undoImagePrototype[equalsContentMethodName] = CKEDITOR.tools.override( undoImagePrototype[equalsContentMethodName], function( org ) { + return function( otherImage ) { + // + var thisContents = this.contents, + otherContents = otherImage.contents; + var scayt_instance = plugin.getScayt( this.editor ); + // Making the comparison based on content without SCAYT word markers. + if ( scayt_instance && plugin.isScaytReady( this.editor ) ) { + // scayt::reset might return value undefined. (#5742) + this.contents = scayt_instance.reset( thisContents ) || ''; + otherImage.contents = scayt_instance.reset( otherContents ) || ''; + } + + var retval = org.apply( this, arguments ); + + this.contents = thisContents; + otherImage.contents = otherContents; + return retval; + }; + }); + + // added due to #23630 (checkDirty wrong behaviour on SCAYT load) + var editorPrototype = CKEDITOR.editor.prototype; + // Override editor.checkDirty method avoid CK checkDirty functionality to fix SCAYT issues with incorrect checkDirty behavior. + editorPrototype.checkDirty = CKEDITOR.tools.override(editorPrototype.checkDirty, function( org ){ + return function() { + var retval = null, + scayt_instance = plugin.getScayt( this ); + + if ( scayt_instance && plugin.isScaytReady( this ) ) { + var currentData = scayt_instance.reset(this.getSnapshot()); + var prevData = scayt_instance.reset(this._.previousValue); + retval = ( currentData !== prevData ); + } else { + retval = org.apply(this); + } + + return retval; + } + }); + + if(editor.document && (editor.elementMode != CKEDITOR.ELEMENT_MODE_INLINE || editor.focusManager.hasFocus)){ + createInstance(); + } + }; + + CKEDITOR.plugins.scayt = { + engineLoaded: false, + instances: {}, + // Data storage for SCAYT control, based on editor instances + controlInfo: {}, + setControlInfo: function( editor, o ) { + if ( editor && editor.name && typeof( this.controlInfo[ editor.name ] ) != 'object' ) + this.controlInfo[ editor.name ] = {}; + + for ( var infoOpt in o ) + this.controlInfo[ editor.name ][ infoOpt ] = o[ infoOpt ]; + }, + isControlRestored: function( editor ) { + if ( editor && editor.name && this.controlInfo[ editor.name ] ) { + return this.controlInfo[ editor.name ].restored; + } + return false; + }, + markControlRestore: function( editor ) { + this.setControlInfo( editor, { restored: true } ); + }, + setControlId: function( editor, id ) { + this.setControlInfo( editor, { id: id } ); + }, + getControlId: function( editor ) { + if ( editor && editor.name && this.controlInfo[ editor.name ] && this.controlInfo[ editor.name ].id ) { + return this.controlInfo[ editor.name ].id; + } + return null; + }, + setPaused: function( editor, bool ) { + this.setControlInfo( editor, { paused: bool } ); + }, + isPaused: function( editor ) { + if ( editor && editor.name && this.controlInfo[ editor.name ] ) { + return this.controlInfo[ editor.name ].paused; + } + return undefined; + }, + getScayt: function( editor ) { + return this.instances[ editor.name ]; + }, + isScaytReady: function( editor ) { + return this.engineLoaded === true && 'undefined' !== typeof window.scayt && this.getScayt( editor ); + }, + isScaytEnabled: function( editor ) { + var scayt_instance = this.getScayt( editor ); + return ( scayt_instance ) ? scayt_instance.disabled === false : false; + }, + getUiTabs: function( editor ) { + var uiTabs = []; + + // read UI tabs value from config + var configUiTabs = editor.config.scayt_uiTabs || "1,1,1"; + + // convert string to array + configUiTabs = configUiTabs.split( ',' ); + + // "About us" should be always shown for standard config + configUiTabs[ 3 ] = "1"; + + for ( var i = 0; i < 4; i++ ) { + uiTabs[ i ] = ( typeof window.scayt != "undefined" && typeof window.scayt.uiTags != "undefined" ) ? ( parseInt( configUiTabs[ i ], 10 ) && window.scayt.uiTags[ i ] ) : parseInt( configUiTabs[ i ], 10 ); + } + + if(typeof editor.plugins.wsc == "object") + uiTabs.push(1); + else + uiTabs.push(0); + + return uiTabs; + }, + loadEngine: function( editor ) { + // SCAYT doesn't work with Firefox2, Opera and AIR. + if ( CKEDITOR.env.gecko && CKEDITOR.env.version < 10900 || CKEDITOR.env.opera || CKEDITOR.env.air ) + return editor.fire( 'showScaytState' ); + + if ( this.engineLoaded === true ) + return onEngineLoad.apply( editor ); // Add new instance. + else if ( this.engineLoaded == -1 ) // We are waiting. + return CKEDITOR.on( 'scaytReady', function() { + onEngineLoad.apply( editor ); + }); // Use function(){} to avoid rejection as duplicate. + + CKEDITOR.on( 'scaytReady', onEngineLoad, editor ); + CKEDITOR.on( 'scaytReady', function() { + this.engineLoaded = true; + }, this, null, 0 ); // First to run. + + this.engineLoaded = -1; // Loading in progress. + + // compose scayt url + var protocol = document.location.protocol; + // Default to 'http' for unknown. + protocol = protocol.search( /https?:/ ) != -1 ? protocol : 'http:'; + var baseUrl = 'svc.webspellchecker.net/scayt26/loader__base.js'; + + var scaytUrl = editor.config.scayt_srcUrl || ( protocol + '//' + baseUrl ); + var scaytConfigBaseUrl = plugin.parseUrl( scaytUrl ).path + '/'; + + if ( window.scayt == undefined ) { + CKEDITOR._djScaytConfig = { + baseUrl: scaytConfigBaseUrl, + addOnLoad: [ + function() + { + CKEDITOR.fireOnce( 'scaytReady' ); + } + ], + isDebug: false + }; + // Append javascript code. + CKEDITOR.document.getHead().append( CKEDITOR.document.createElement( 'script', { + attributes: { + type: 'text/javascript', + async: 'true', + src: scaytUrl + } + })); + } else + CKEDITOR.fireOnce( 'scaytReady' ); + + return null; + }, + parseUrl: function( data ) { + var match; + if ( data.match && ( match = data.match( /(.*)[\/\\](.*?\.\w+)$/ ) ) ) + return { path: match[ 1 ], file: match[ 2 ] }; + else + return data; + } + }; + + var plugin = CKEDITOR.plugins.scayt; + + // Context menu constructing. + var addButtonCommand = function( editor, buttonName, buttonLabel, commandName, command, menugroup, menuOrder ) { + editor.addCommand( commandName, command ); + + // If the "menu" plugin is loaded, register the menu item. + editor.addMenuItem( commandName, { + label: buttonLabel, + command: commandName, + group: menugroup, + order: menuOrder + }); + }; + + var commandDefinition = { + preserveState: true, + editorFocus: false, + canUndo: false, + + exec: function( editor ) { + if ( plugin.isScaytReady( editor ) ) { + var isEnabled = plugin.isScaytEnabled( editor ); + + this.setState( isEnabled ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_ON ); + + var scayt_control = plugin.getScayt( editor ); + // the place where the status of editor focus should be restored + // after there will be ability to store its state before SCAYT button click + // if (storedFocusState is focused ) + // scayt_control.focus(); + // + // now focus is set certainly + scayt_control.focus(); + scayt_control.setDisabled( isEnabled ); + } else if ( !editor.config.scayt_autoStartup && plugin.engineLoaded >= 0 ) // Load first time + { + editor.focus(); + this.setState( CKEDITOR.TRISTATE_DISABLED ); + plugin.loadEngine( editor ); + } + } + }; + + // Add scayt plugin. + CKEDITOR.plugins.add( 'scayt', { + requires: 'menubutton,dialog', + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en-au,en-ca,en-gb,en,eo,es,et,eu,fa,fi,fo,fr-ca,fr,gl,gu,he,hi,hr,hu,is,it,ja,ka,km,ko,lt,lv,mk,mn,ms,nb,nl,no,pl,pt-br,pt,ro,ru,sk,sl,sr-latn,sr,sv,th,tr,ug,uk,vi,zh-cn,zh', // %REMOVE_LINE_CORE% + icons: 'scayt', // %REMOVE_LINE_CORE% + hidpi: true, // %REMOVE_LINE_CORE% + + beforeInit: function( editor ) { + + var items_order = editor.config.scayt_contextMenuItemsOrder || 'suggest|moresuggest|control', + items_order_str = ""; + + items_order = items_order.split( '|' ); + + if ( items_order && items_order.length ) { + for ( var pos = 0; pos < items_order.length; pos++ ) + items_order_str += 'scayt_' + items_order[ pos ] + ( items_order.length != parseInt( pos, 10 ) + 1 ? ',' : '' ); + } + + // Put it on top of all context menu items (#5717) + editor.config.menu_groups = items_order_str + ',' + editor.config.menu_groups; + }, + + checkEnvironment: function(){ + return ( CKEDITOR.env.opera || CKEDITOR.env.air ) ? 0 : 1; + }, + + init: function( editor ) { + + var self = this; + // Delete span[data-scaytid] when text pasting in editor (#6921) + var dataFilter = editor.dataProcessor && editor.dataProcessor.dataFilter; + var dataFilterRules = { + elements: { + span: function( element ) { + var attrs = element.attributes; + if ( attrs && attrs[ 'data-scaytid' ] ) + delete element.name; + } + } + }; + dataFilter && dataFilter.addRules( dataFilterRules ); + + var moreSuggestions = {}, + mainSuggestions = {}; + + // Scayt command. + var command = editor.addCommand( commandName, commandDefinition ); + + // Add Options dialog. + CKEDITOR.dialog.add( commandName, CKEDITOR.getUrl( this.path + 'dialogs/options.js' ) ); + + var uiTabs = plugin.getUiTabs( editor ); + + var menuGroup = 'scaytButton'; + editor.addMenuGroup( menuGroup ); + // Temporary hack - place scayt's groups at the beginning of the context menu. + editor.addMenuGroup( 'scayt_suggest', -10 ); + editor.addMenuGroup( 'scayt_moresuggest', -9 ); + editor.addMenuGroup( 'scayt_control', -8 ); + + // combine menu items to render + var uiMenuItems = {}; + + var lang = editor.lang.scayt; + + // always added + uiMenuItems.scaytToggle = { + label: lang.enable, + command: commandName, + group: menuGroup + }; + + if ( uiTabs[ 0 ] == 1 ) + uiMenuItems.scaytOptions = { + label: lang.options, + group: menuGroup, + onClick: function() { + openPage = 'options'; + editor.openDialog( commandName ); + } + }; + + if ( uiTabs[ 1 ] == 1 ) + uiMenuItems.scaytLangs = { + label: lang.langs, + group: menuGroup, + onClick: function() { + openPage = 'langs'; + editor.openDialog( commandName ); + } + }; + if ( uiTabs[ 2 ] == 1 ) + uiMenuItems.scaytDict = { + label: lang.dictionariesTab, + group: menuGroup, + onClick: function() { + openPage = 'dictionaries'; + editor.openDialog( commandName ); + } + }; + // always added + uiMenuItems.scaytAbout = { + label: editor.lang.scayt.about, + group: menuGroup, + onClick: function() { + openPage = 'about'; + editor.openDialog( commandName ); + } + }; + + if ( uiTabs[4] == 1 ) + uiMenuItems.scaytWSC = { + label : editor.lang.wsc.toolbar, + group : menuGroup, + command : wscCommandName + }; + + editor.addMenuItems( uiMenuItems ); + + editor.ui.add( 'Scayt', CKEDITOR.UI_MENUBUTTON, { + label: lang.title, + title: CKEDITOR.env.opera ? lang.opera_title : lang.title, + modes: { wysiwyg: self.checkEnvironment() }, + toolbar: 'spellchecker,20', + onRender: function() { + command.on( 'state', function() { + this.setState( command.state ); + }, this ); + }, + onMenu: function() { + var isEnabled = plugin.isScaytEnabled( editor ); + + editor.getMenuItem( 'scaytToggle' ).label = lang[ isEnabled ? 'disable' : 'enable' ]; + + var uiTabs = plugin.getUiTabs( editor ); + + return { + scaytToggle: CKEDITOR.TRISTATE_OFF, + scaytOptions: isEnabled && uiTabs[ 0 ] ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED, + scaytLangs: isEnabled && uiTabs[ 1 ] ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED, + scaytDict: isEnabled && uiTabs[ 2 ] ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED, + scaytAbout: isEnabled && uiTabs[ 3 ] ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED, + scaytWSC: uiTabs[4] ? CKEDITOR.TRISTATE_OFF : CKEDITOR.TRISTATE_DISABLED + }; + } + }); + + // If the "contextmenu" plugin is loaded, register the listeners. + if ( editor.contextMenu && editor.addMenuItems ) { + editor.contextMenu.addListener( function( element, selection ) { + if ( !plugin.isScaytEnabled( editor ) || selection.getRanges()[ 0 ].checkReadOnly() ) + return null; + + var scayt_control = plugin.getScayt( editor ), + node = scayt_control.getScaytNode(); + + if ( !node ) + return null; + + var word = scayt_control.getWord( node ); + + if ( !word ) + return null; + + var sLang = scayt_control.getLang(), + _r = {}, contextCommands = editor.config.scayt_contextCommands || 'all', + items_suggestion = window.scayt.getSuggestion( word, sLang ); + + contextCommands = contextCommands.split( '|' ); + + // Remove unused commands and menuitems + + for ( var m in moreSuggestions ) { + delete editor._.menuItems[ m ]; + delete editor.commands[ m ]; + } + for ( m in mainSuggestions ) { + delete editor._.menuItems[ m ]; + delete editor.commands[ m ]; + } + + if ( !items_suggestion || !items_suggestion.length ){ + var no_sugg = { + exec: function() {} + }; + addButtonCommand( editor, 'no_sugg', lang.noSuggestions, 'scayt_no_sugg', no_sugg, 'scayt_control', 1, true ); + mainSuggestions[ 'scayt_no_sugg' ] = CKEDITOR.TRISTATE_OFF; + }else{ + // Reset items. + moreSuggestions = {}; + mainSuggestions = {}; + + var moreSuggestionsUnable = editor.config.scayt_moreSuggestions || 'on'; + var moreSuggestionsUnableAdded = false; + + var maxSuggestions = editor.config.scayt_maxSuggestions; + ( typeof maxSuggestions != 'number' ) && ( maxSuggestions = 5 ); + !maxSuggestions && ( maxSuggestions = items_suggestion.length ); + + for ( var i = 0, l = items_suggestion.length; i < l; i += 1 ) { + var commandName = 'scayt_suggestion_' + items_suggestion[ i ].replace( ' ', '_' ); + var exec = (function( el, s ) { + return { + exec: function() { + scayt_control.replace( el, s ); + } + }; + })( node, items_suggestion[ i ] ); + + if ( i < maxSuggestions ) { + addButtonCommand( editor, 'button_' + commandName, items_suggestion[ i ], commandName, exec, 'scayt_suggest', i + 1 ); + _r[ commandName ] = CKEDITOR.TRISTATE_OFF; + mainSuggestions[ commandName ] = CKEDITOR.TRISTATE_OFF; + } else if ( moreSuggestionsUnable == 'on' ) { + addButtonCommand( editor, 'button_' + commandName, items_suggestion[ i ], commandName, exec, 'scayt_moresuggest', i + 1 ); + moreSuggestions[ commandName ] = CKEDITOR.TRISTATE_OFF; + moreSuggestionsUnableAdded = true; + } + } + + if ( moreSuggestionsUnableAdded ) { + // Register the More suggestions group; + editor.addMenuItem( 'scayt_moresuggest', { + label: lang.moreSuggestions, + group: 'scayt_moresuggest', + order: 10, + getItems: function() { + return moreSuggestions; + } + }); + mainSuggestions[ 'scayt_moresuggest' ] = CKEDITOR.TRISTATE_OFF; + } + } + + if ( in_array( 'all', contextCommands ) || in_array( 'ignore', contextCommands ) ) { + var ignore_command = { + exec: function() { + scayt_control.ignore( node ); + } + }; + addButtonCommand( editor, 'ignore', lang.ignore, 'scayt_ignore', ignore_command, 'scayt_control', 2 ); + mainSuggestions[ 'scayt_ignore' ] = CKEDITOR.TRISTATE_OFF; + } + + if ( in_array( 'all', contextCommands ) || in_array( 'ignoreall', contextCommands ) ) { + var ignore_all_command = { + exec: function() { + scayt_control.ignoreAll( node ); + } + }; + addButtonCommand( editor, 'ignore_all', lang.ignoreAll, 'scayt_ignore_all', ignore_all_command, 'scayt_control', 3 ); + mainSuggestions[ 'scayt_ignore_all' ] = CKEDITOR.TRISTATE_OFF; + } + + if ( in_array( 'all', contextCommands ) || in_array( 'add', contextCommands ) ) { + var addword_command = { + exec: function() { + window.scayt.addWordToUserDictionary( node ); + } + }; + addButtonCommand( editor, 'add_word', lang.addWord, 'scayt_add_word', addword_command, 'scayt_control', 4 ); + mainSuggestions[ 'scayt_add_word' ] = CKEDITOR.TRISTATE_OFF; + } + + if ( scayt_control.fireOnContextMenu ) + scayt_control.fireOnContextMenu( editor ); + + return mainSuggestions; + }); + } + + var showInitialState = function( evt ) { + evt.removeListener(); + if ( CKEDITOR.env.opera || CKEDITOR.env.air ) + command.setState( CKEDITOR.TRISTATE_DISABLED ); + else + command.setState( plugin.isScaytEnabled( editor ) ? CKEDITOR.TRISTATE_ON : CKEDITOR.TRISTATE_OFF ); + }; + + editor.on( 'showScaytState', showInitialState ); + editor.on( 'instanceReady', showInitialState ); + + // Start plugin + if ( editor.config.scayt_autoStartup ) { + editor.on( 'instanceReady', function() { + plugin.loadEngine( editor ); + }); + } + }, + + afterInit: function( editor ) { + + // Prevent word marker line from displaying in elements path and been removed when cleaning format. (#3570) (#4125) + var elementsPathFilters, + scaytFilter = function( element ) { + if ( element.hasAttribute( 'data-scaytid' ) ) + return false; + }; + + if ( editor._.elementsPath && ( elementsPathFilters = editor._.elementsPath.filters ) ) + elementsPathFilters.push( scaytFilter ); + + editor.addRemoveFormatFilter && editor.addRemoveFormatFilter( scaytFilter ); + + } + }); +})(); + +/** + * If enabled (set to `true`), turns on SCAYT automatically + * after loading the editor. + * + * config.scayt_autoStartup = true; + * + * @cfg {Boolean} [scayt_autoStartup=false] + * @member CKEDITOR.config + */ + +/** + * Defines the number of SCAYT suggestions to show in the main context menu. + * Possible values are: + * + * * `0` (zero) – All suggestions are displayed in the main context menu. + * * Positive number – The maximum number of suggestions to show in the context + * menu. Other entries will be shown in the "More Suggestions" sub-menu. + * * Negative number – No suggestions are shown in the main context menu. All + * entries will be listed in the the "Suggestions" sub-menu. + * + * Examples: + * + * // Display only three suggestions in the main context menu. + * config.scayt_maxSuggestions = 3; + * + * // Do not show the suggestions directly. + * config.scayt_maxSuggestions = -1; + * + * @cfg {Number} [scayt_maxSuggestions=5] + * @member CKEDITOR.config + */ + +/** + * Sets the customer ID for SCAYT. Required for migration from free, + * ad-supported version to paid, ad-free version. + * + * // Load SCAYT using my customer ID. + * config.scayt_customerid = 'your-encrypted-customer-id'; + * + * @cfg {String} [scayt_customerid=''] + * @example + * @member CKEDITOR.config + */ + +/** + * Enables/disables the "More Suggestions" sub-menu in the context menu. + * Possible values are `'on'` and `'off'`. + * + * // Disables the "More Suggestions" sub-menu. + * config.scayt_moreSuggestions = 'off'; + * + * @cfg {String} [scayt_moreSuggestions='on'] + * @member CKEDITOR.config + */ + +/** + * Customizes the display of SCAYT context menu commands ("Add Word", "Ignore" + * and "Ignore All"). This must be a string with one or more of the following + * words separated by a pipe character (`'|'`): + * + * * `off` – disables all options. + * * `all` – enables all options. + * * `ignore` – enables the "Ignore" option. + * * `ignoreall` – enables the "Ignore All" option. + * * `add` – enables the "Add Word" option. + * + * Example: + * + * // Show only "Add Word" and "Ignore All" in the context menu. + * config.scayt_contextCommands = 'add|ignoreall'; + * + * @cfg {String} [scayt_contextCommands='all'] + * @member CKEDITOR.config + */ + +/** + * Sets the default spell checking language for SCAYT. Possible values are: + * `'en_US'`, `'en_GB'`, `'pt_BR'`, `'da_DK'`, + * `'nl_NL'`, `'en_CA'`, `'fi_FI'`, `'fr_FR'`, + * `'fr_CA'`, `'de_DE'`, `'el_GR'`, `'it_IT'`, + * `'nb_NO'`, `'pt_PT'`, `'es_ES'`, `'sv_SE'`. + * + * // Sets SCAYT to German. + * config.scayt_sLang = 'de_DE'; + * + * @cfg {String} [scayt_sLang='en_US'] + * @member CKEDITOR.config + */ + +/** + * Sets the visibility of particular tabs in the SCAYT dialog window and toolbar + * button. This setting must contain a `1` (enabled) or `0` + * (disabled) value for each of the following entries, in this precise order, + * separated by a comma (`','`): `'Options'`, `'Languages'`, and `'Dictionary'`. + * + * // Hides the "Languages" tab. + * config.scayt_uiTabs = '1,0,1'; + * + * @cfg {String} [scayt_uiTabs='1,1,1'] + * @member CKEDITOR.config + */ + + +/** + * Sets the URL to SCAYT core. Required to switch to the licensed version of SCAYT application. + * + * Further details available at [http://wiki.webspellchecker.net/doku.php?id=migration:hosredfreetolicensedck](http://wiki.webspellchecker.net/doku.php?id=migration:hosredfreetolicensedck) + * + * config.scayt_srcUrl = "http://my-host/spellcheck/lf/scayt/scayt.js"; + * + * @cfg {String} [scayt_srcUrl=''] + * @member CKEDITOR.config + */ + +/** + * Links SCAYT to custom dictionaries. This is a string containing dictionary IDs + * separared by commas (`','`). Available only for the licensed version. + * + * Further details at [http://wiki.webspellchecker.net/doku.php?id=installationandconfiguration:customdictionaries:licensed](http://wiki.webspellchecker.net/doku.php?id=installationandconfiguration:customdictionaries:licensed) + * + * config.scayt_customDictionaryIds = '3021,3456,3478"'; + * + * @cfg {String} [scayt_customDictionaryIds=''] + * @member CKEDITOR.config + */ + +/** + * Makes it possible to activate a custom dictionary in SCAYT. The user + * dictionary name must be used. Available only for the licensed version. + * + * config.scayt_userDictionaryName = 'MyDictionary'; + * + * @cfg {String} [scayt_userDictionaryName=''] + * @member CKEDITOR.config + */ + +/** + * Defines the order SCAYT context menu items by groups. + * This must be a string with one or more of the following + * words separated by a pipe character (`'|'`): + * + * * `suggest` – main suggestion word list, + * * `moresuggest` – more suggestions word list, + * * `control` – SCAYT commands, such as "Ignore" and "Add Word". + * + * Example: + * + * config.scayt_contextMenuItemsOrder = 'moresuggest|control|suggest'; + * + * @cfg {String} [scayt_contextMenuItemsOrder='suggest|moresuggest|control'] + * @member CKEDITOR.config + */ diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/selectall/icons/hidpi/selectall.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/icons/hidpi/selectall.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/selectall/icons/hidpi/selectall.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/icons/hidpi/selectall.png diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/selectall/icons/selectall.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/icons/selectall.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/selectall/icons/selectall.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/icons/selectall.png diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/af.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/af.js new file mode 100644 index 00000000000..965515c3a10 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/af.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'af', { + toolbar: 'Selekteer alles' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ar.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ar.js new file mode 100644 index 00000000000..afcd11c02f7 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ar.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'ar', { + toolbar: 'تحديد الكل' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/bg.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/bg.js new file mode 100644 index 00000000000..fd33ecbb2f7 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/bg.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'bg', { + toolbar: 'Избери всичко' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/bn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/bn.js new file mode 100644 index 00000000000..212a018066d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/bn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'bn', { + toolbar: 'সব সিলেক্ট কর' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/bs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/bs.js new file mode 100644 index 00000000000..21cfc71cbae --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/bs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'bs', { + toolbar: 'Selektuj sve' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ca.js new file mode 100644 index 00000000000..1777077503b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'ca', { + toolbar: 'Selecciona-ho tot' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/cs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/cs.js new file mode 100644 index 00000000000..a35e47734be --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/cs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'cs', { + toolbar: 'Vybrat vše' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/cy.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/cy.js new file mode 100644 index 00000000000..8a6e05233dc --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/cy.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'cy', { + toolbar: 'Dewis Popeth' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/da.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/da.js new file mode 100644 index 00000000000..3bb61ebc90d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/da.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'da', { + toolbar: 'Vælg alt' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/de.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/de.js new file mode 100644 index 00000000000..42b70cbd378 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/de.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'de', { + toolbar: 'Alles auswählen' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/el.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/el.js new file mode 100644 index 00000000000..7142480a6de --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/el.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'el', { + toolbar: 'Επιλογή όλων' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/en-au.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/en-au.js new file mode 100644 index 00000000000..17fa6261230 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/en-au.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'en-au', { + toolbar: 'Select All' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/en-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/en-ca.js new file mode 100644 index 00000000000..3020b83f84a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/en-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'en-ca', { + toolbar: 'Select All' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/en-gb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/en-gb.js new file mode 100644 index 00000000000..ee79a812ee3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/en-gb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'en-gb', { + toolbar: 'Select All' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/en.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/en.js new file mode 100644 index 00000000000..0bebdc82837 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/en.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'en', { + toolbar: 'Select All' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/eo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/eo.js new file mode 100644 index 00000000000..50d12193ca8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/eo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'eo', { + toolbar: 'Elekti ĉion' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/es.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/es.js new file mode 100644 index 00000000000..545d6c0012b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/es.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'es', { + toolbar: 'Seleccionar Todo' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/et.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/et.js new file mode 100644 index 00000000000..673feb7cf60 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/et.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'et', { + toolbar: 'Kõige valimine' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/eu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/eu.js new file mode 100644 index 00000000000..d04e41b30f0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/eu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'eu', { + toolbar: 'Hautatu dena' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/fa.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/fa.js new file mode 100644 index 00000000000..2e6bb9eccb0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/fa.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'fa', { + toolbar: 'گزینش همه' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/fi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/fi.js new file mode 100644 index 00000000000..457e810ed82 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/fi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'fi', { + toolbar: 'Valitse kaikki' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/fo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/fo.js new file mode 100644 index 00000000000..8b4cd114c37 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/fo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'fo', { + toolbar: 'Markera alt' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/fr-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/fr-ca.js new file mode 100644 index 00000000000..dc9e62c49ac --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/fr-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'fr-ca', { + toolbar: 'Sélectionner tout' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/fr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/fr.js new file mode 100644 index 00000000000..28870de56d1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/fr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'fr', { + toolbar: 'Tout sélectionner' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/gl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/gl.js new file mode 100644 index 00000000000..7e1d0e00bf2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/gl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'gl', { + toolbar: 'Seleccionar todo' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/gu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/gu.js new file mode 100644 index 00000000000..e9e5529327e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/gu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'gu', { + toolbar: 'બઘું પસંદ કરવું' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/he.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/he.js new file mode 100644 index 00000000000..45c5ddabe09 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/he.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'he', { + toolbar: 'בחירת הכל' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/hi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/hi.js new file mode 100644 index 00000000000..7966d961b60 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/hi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'hi', { + toolbar: 'सब सॅलॅक्ट करें' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/hr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/hr.js new file mode 100644 index 00000000000..bd72541da58 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/hr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'hr', { + toolbar: 'Odaberi sve' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/hu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/hu.js new file mode 100644 index 00000000000..3e4c3842ee2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/hu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'hu', { + toolbar: 'Mindent kijelöl' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/id.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/id.js new file mode 100644 index 00000000000..ba6d4af7c07 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/id.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'id', { + toolbar: 'Pilih Semua' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/is.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/is.js new file mode 100644 index 00000000000..75f4e5e80a3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/is.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'is', { + toolbar: 'Velja allt' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/it.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/it.js new file mode 100644 index 00000000000..e0c06b63049 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/it.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'it', { + toolbar: 'Seleziona tutto' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ja.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ja.js new file mode 100644 index 00000000000..c74f95d5a55 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ja.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'ja', { + toolbar: 'すべて選択' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ka.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ka.js new file mode 100644 index 00000000000..af5049d0326 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ka.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'ka', { + toolbar: 'ყველაფრის მონიშნვა' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/km.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/km.js new file mode 100644 index 00000000000..d3c913bb762 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/km.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'km', { + toolbar: 'រើស​ទាំង​អស់' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ko.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ko.js new file mode 100644 index 00000000000..de7b0f3e56c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ko.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'ko', { + toolbar: '전체선택' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ku.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ku.js new file mode 100644 index 00000000000..390049a11d3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ku.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'ku', { + toolbar: 'دیاریکردنی هەمووی' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/lt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/lt.js new file mode 100644 index 00000000000..4306a3789bb --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/lt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'lt', { + toolbar: 'Pažymėti viską' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/lv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/lv.js new file mode 100644 index 00000000000..2ae1beab894 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/lv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'lv', { + toolbar: 'Iezīmēt visu' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/mk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/mk.js new file mode 100644 index 00000000000..0912b73e321 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/mk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'mk', { + toolbar: 'Select All' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/mn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/mn.js new file mode 100644 index 00000000000..1547f7f370f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/mn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'mn', { + toolbar: 'Бүгдийг нь сонгох' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ms.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ms.js new file mode 100644 index 00000000000..c4c90e7ff58 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ms.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'ms', { + toolbar: 'Pilih Semua' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/nb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/nb.js new file mode 100644 index 00000000000..843d889853d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/nb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'nb', { + toolbar: 'Merk alt' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/nl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/nl.js new file mode 100644 index 00000000000..fe0b464ee98 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/nl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'nl', { + toolbar: 'Alles selecteren' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/no.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/no.js new file mode 100644 index 00000000000..91106c34703 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/no.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'no', { + toolbar: 'Merk alt' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/pl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/pl.js new file mode 100644 index 00000000000..2f8b4d46885 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/pl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'pl', { + toolbar: 'Zaznacz wszystko' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/pt-br.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/pt-br.js new file mode 100644 index 00000000000..05e4a8f442b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/pt-br.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'pt-br', { + toolbar: 'Selecionar Tudo' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/pt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/pt.js new file mode 100644 index 00000000000..814faf4a2fe --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/pt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'pt', { + toolbar: 'Selecionar Tudo' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ro.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ro.js new file mode 100644 index 00000000000..26ff58d59c5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ro.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'ro', { + toolbar: 'Selectează tot' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ru.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ru.js new file mode 100644 index 00000000000..8ff0eca17ad --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ru.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'ru', { + toolbar: 'Выделить все' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/si.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/si.js new file mode 100644 index 00000000000..39ae6391c7d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/si.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'si', { + toolbar: 'සියල්ලම ' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sk.js new file mode 100644 index 00000000000..d927fa016cf --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'sk', { + toolbar: 'Vybrať všetko' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sl.js new file mode 100644 index 00000000000..b22aab87b6b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'sl', { + toolbar: 'Izberi vse' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sq.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sq.js new file mode 100644 index 00000000000..8efd8f47d60 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sq.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'sq', { + toolbar: 'Përzgjidh të Gjitha' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sr-latn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sr-latn.js new file mode 100644 index 00000000000..012114394b6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sr-latn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'sr-latn', { + toolbar: 'Označi sve' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sr.js new file mode 100644 index 00000000000..63c026cb5d8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'sr', { + toolbar: 'Означи све' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sv.js new file mode 100644 index 00000000000..83790071fdb --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/sv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'sv', { + toolbar: 'Markera allt' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/th.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/th.js new file mode 100644 index 00000000000..38af8b2108e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/th.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'th', { + toolbar: 'เลือกทั้งหมด' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/tr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/tr.js new file mode 100644 index 00000000000..66ec9a9e5d0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/tr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'tr', { + toolbar: 'Tümünü Seç' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ug.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ug.js new file mode 100644 index 00000000000..f455916d27d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/ug.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'ug', { + toolbar: 'ھەممىنى تاللا' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/uk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/uk.js new file mode 100644 index 00000000000..bd92f828d61 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/uk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'uk', { + toolbar: 'Виділити все' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/vi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/vi.js new file mode 100644 index 00000000000..b237ff0d9f4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/vi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'vi', { + toolbar: 'Chọn tất cả' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/zh-cn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/zh-cn.js new file mode 100644 index 00000000000..ac32510067b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/zh-cn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'zh-cn', { + toolbar: '全选' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/zh.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/zh.js new file mode 100644 index 00000000000..3c12dcdd480 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/lang/zh.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'selectall', 'zh', { + toolbar: '全選' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/plugin.js new file mode 100644 index 00000000000..af1e498d7f9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/selectall/plugin.js @@ -0,0 +1,58 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/** + * @fileOverview The "selectall" plugin provides an editor command that + * allows selecting the entire content of editable area. + * This plugin also enables a toolbar button for the feature. + */ + +( function() { + CKEDITOR.plugins.add( 'selectall', { + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + icons: 'selectall', // %REMOVE_LINE_CORE% + hidpi: true, // %REMOVE_LINE_CORE% + init: function( editor ) { + editor.addCommand( 'selectAll', { modes: { wysiwyg: 1, source: 1 }, + exec: function( editor ) { + var editable = editor.editable(); + + if ( editable.is( 'textarea' ) ) { + var textarea = editable.$; + + if ( CKEDITOR.env.ie ) + textarea.createTextRange().execCommand( 'SelectAll' ); + else { + textarea.selectionStart = 0; + textarea.selectionEnd = textarea.value.length; + } + + textarea.focus(); + } else { + if ( editable.is( 'body' ) ) + editor.document.$.execCommand( 'SelectAll', false, null ); + else { + var range = editor.createRange(); + range.selectNodeContents( editable ); + range.select(); + } + + // Force triggering selectionChange (#7008) + editor.forceNextSelectionCheck(); + editor.selectionChange(); + } + + }, + canUndo: false + } ); + + editor.ui.addButton && editor.ui.addButton( 'SelectAll', { + label: editor.lang.selectall.toolbar, + command: 'selectAll', + toolbar: 'selection,10' + } ); + } + } ); +} )(); diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/showblocks/icons/hidpi/showblocks-rtl.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/icons/hidpi/showblocks-rtl.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/showblocks/icons/hidpi/showblocks-rtl.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/icons/hidpi/showblocks-rtl.png diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/showblocks/icons/hidpi/showblocks.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/icons/hidpi/showblocks.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/showblocks/icons/hidpi/showblocks.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/icons/hidpi/showblocks.png diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/showblocks/icons/showblocks-rtl.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/icons/showblocks-rtl.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/showblocks/icons/showblocks-rtl.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/icons/showblocks-rtl.png diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/showblocks/icons/showblocks.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/icons/showblocks.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/showblocks/icons/showblocks.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/icons/showblocks.png diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_address.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_address.png new file mode 100644 index 00000000000..1ee67aa245f Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_address.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_blockquote.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_blockquote.png new file mode 100644 index 00000000000..cae3aec621a Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_blockquote.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_div.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_div.png new file mode 100644 index 00000000000..c71f397880c Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_div.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h1.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h1.png new file mode 100644 index 00000000000..3a64347350e Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h1.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h2.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h2.png new file mode 100644 index 00000000000..8062ebe8e4b Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h2.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h3.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h3.png new file mode 100644 index 00000000000..5b6a4030284 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h3.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h4.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h4.png new file mode 100644 index 00000000000..6c7f7951d49 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h4.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h5.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h5.png new file mode 100644 index 00000000000..e153de09988 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h5.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h6.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h6.png new file mode 100644 index 00000000000..c8d993a9d23 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_h6.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_p.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_p.png new file mode 100644 index 00000000000..4e6035d209b Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_p.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_pre.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_pre.png new file mode 100644 index 00000000000..d11a0fffbe6 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/images/block_pre.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/af.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/af.js new file mode 100644 index 00000000000..554256ce27d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/af.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'af', { + toolbar: 'Toon blokke' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ar.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ar.js new file mode 100644 index 00000000000..3c1442336ee --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ar.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'ar', { + toolbar: 'مخطط تفصيلي' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/bg.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/bg.js new file mode 100644 index 00000000000..a3ce0da8830 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/bg.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'bg', { + toolbar: 'Показва блокове' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/bn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/bn.js new file mode 100644 index 00000000000..2d2f11a9b12 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/bn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'bn', { + toolbar: 'Show Blocks' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/bs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/bs.js new file mode 100644 index 00000000000..8cfca3b623d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/bs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'bs', { + toolbar: 'Show Blocks' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ca.js new file mode 100644 index 00000000000..e096e63b9af --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'ca', { + toolbar: 'Mostra els blocs' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/cs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/cs.js new file mode 100644 index 00000000000..6fab93a0a50 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/cs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'cs', { + toolbar: 'Ukázat bloky' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/cy.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/cy.js new file mode 100644 index 00000000000..c23ec94d252 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/cy.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'cy', { + toolbar: 'Dangos Blociau' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/da.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/da.js new file mode 100644 index 00000000000..72cfa4b5aea --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/da.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'da', { + toolbar: 'Vis afsnitsmærker' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/de.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/de.js new file mode 100644 index 00000000000..d19df25cc9e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/de.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'de', { + toolbar: 'Blöcke anzeigen' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/el.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/el.js new file mode 100644 index 00000000000..2a6c9d772a7 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/el.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'el', { + toolbar: 'Προβολή Τμημάτων' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/en-au.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/en-au.js new file mode 100644 index 00000000000..0fde652f216 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/en-au.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'en-au', { + toolbar: 'Show Blocks' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/en-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/en-ca.js new file mode 100644 index 00000000000..e4b9d6716ed --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/en-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'en-ca', { + toolbar: 'Show Blocks' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/en-gb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/en-gb.js new file mode 100644 index 00000000000..46eaabc9889 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/en-gb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'en-gb', { + toolbar: 'Show Blocks' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/en.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/en.js new file mode 100644 index 00000000000..8d2648dee42 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/en.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'en', { + toolbar: 'Show Blocks' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/eo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/eo.js new file mode 100644 index 00000000000..8211f5d456b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/eo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'eo', { + toolbar: 'Montri la blokojn' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/es.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/es.js new file mode 100644 index 00000000000..38990f03fce --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/es.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'es', { + toolbar: 'Mostrar bloques' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/et.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/et.js new file mode 100644 index 00000000000..0aeff7dc4f4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/et.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'et', { + toolbar: 'Blokkide näitamine' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/eu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/eu.js new file mode 100644 index 00000000000..e557925bbf0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/eu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'eu', { + toolbar: 'Blokeak erakutsi' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/fa.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/fa.js new file mode 100644 index 00000000000..510ddfdc3a1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/fa.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'fa', { + toolbar: 'نمایش بلوکها' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/fi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/fi.js new file mode 100644 index 00000000000..5e09affff7c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/fi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'fi', { + toolbar: 'Näytä elementit' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/fo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/fo.js new file mode 100644 index 00000000000..cc1c9e8c070 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/fo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'fo', { + toolbar: 'Vís blokkar' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/fr-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/fr-ca.js new file mode 100644 index 00000000000..3b26cbb7fa0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/fr-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'fr-ca', { + toolbar: 'Afficher les blocs' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/fr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/fr.js new file mode 100644 index 00000000000..a32559f5e75 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/fr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'fr', { + toolbar: 'Afficher les blocs' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/gl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/gl.js new file mode 100644 index 00000000000..f2606ee6783 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/gl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'gl', { + toolbar: 'Amosar os bloques' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/gu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/gu.js new file mode 100644 index 00000000000..c83ce8d3316 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/gu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'gu', { + toolbar: 'બ્લૉક બતાવવું' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/he.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/he.js new file mode 100644 index 00000000000..7c40640bf63 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/he.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'he', { + toolbar: 'הצגת בלוקים' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/hi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/hi.js new file mode 100644 index 00000000000..e060a370495 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/hi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'hi', { + toolbar: 'ब्लॉक दिखायें' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/hr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/hr.js new file mode 100644 index 00000000000..b1e2afef3a0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/hr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'hr', { + toolbar: 'Prikaži blokove' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/hu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/hu.js new file mode 100644 index 00000000000..41fe0aa4619 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/hu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'hu', { + toolbar: 'Blokkok megjelenítése' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/id.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/id.js new file mode 100644 index 00000000000..01817ad665b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/id.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'id', { + toolbar: 'Perlihatkan Blok' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/is.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/is.js new file mode 100644 index 00000000000..91dd63b49b0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/is.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'is', { + toolbar: 'Sýna blokkir' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/it.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/it.js new file mode 100644 index 00000000000..c3b61471f8d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/it.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'it', { + toolbar: 'Visualizza Blocchi' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ja.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ja.js new file mode 100644 index 00000000000..8da77802b41 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ja.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'ja', { + toolbar: 'ブロック表示' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ka.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ka.js new file mode 100644 index 00000000000..f9d9aa538ad --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ka.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'ka', { + toolbar: 'არეების ჩვენება' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/km.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/km.js new file mode 100644 index 00000000000..66c81dfe70b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/km.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'km', { + toolbar: 'បង្ហាញ​ប្លក់' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ko.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ko.js new file mode 100644 index 00000000000..5f9d49c121a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ko.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'ko', { + toolbar: '블록 보기' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ku.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ku.js new file mode 100644 index 00000000000..39e6e8887ad --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ku.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'ku', { + toolbar: 'نیشاندانی بەربەستەکان' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/lt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/lt.js new file mode 100644 index 00000000000..afb8bed8630 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/lt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'lt', { + toolbar: 'Rodyti blokus' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/lv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/lv.js new file mode 100644 index 00000000000..c99cfa6883b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/lv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'lv', { + toolbar: 'Parādīt blokus' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/mk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/mk.js new file mode 100644 index 00000000000..79c393ef278 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/mk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'mk', { + toolbar: 'Show Blocks' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/mn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/mn.js new file mode 100644 index 00000000000..8c8699344a5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/mn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'mn', { + toolbar: 'Хавтангуудыг харуулах' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ms.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ms.js new file mode 100644 index 00000000000..0ad5ea8fda4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ms.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'ms', { + toolbar: 'Show Blocks' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/nb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/nb.js new file mode 100644 index 00000000000..cccd13ff6ce --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/nb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'nb', { + toolbar: 'Vis blokker' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/nl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/nl.js new file mode 100644 index 00000000000..c27fcad1579 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/nl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'nl', { + toolbar: 'Toon blokken' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/no.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/no.js new file mode 100644 index 00000000000..4d42a92d0c0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/no.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'no', { + toolbar: 'Vis blokker' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/pl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/pl.js new file mode 100644 index 00000000000..e60be9acc9d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/pl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'pl', { + toolbar: 'Pokaż bloki' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/pt-br.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/pt-br.js new file mode 100644 index 00000000000..064e3ba484d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/pt-br.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'pt-br', { + toolbar: 'Mostrar blocos de código' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/pt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/pt.js new file mode 100644 index 00000000000..5981c7c982a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/pt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'pt', { + toolbar: 'Exibir blocos' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ro.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ro.js new file mode 100644 index 00000000000..a4ad433616a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ro.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'ro', { + toolbar: 'Arată blocurile' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ru.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ru.js new file mode 100644 index 00000000000..b98473e4f92 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ru.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'ru', { + toolbar: 'Отображать блоки' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/si.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/si.js new file mode 100644 index 00000000000..85ebfd071be --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/si.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'si', { + toolbar: 'කොටස පෙන්නන්න' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sk.js new file mode 100644 index 00000000000..8bb27cd34ae --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'sk', { + toolbar: 'Ukázať bloky' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sl.js new file mode 100644 index 00000000000..27f605ae178 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'sl', { + toolbar: 'Prikaži ograde' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sq.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sq.js new file mode 100644 index 00000000000..dcfe4f02a5d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sq.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'sq', { + toolbar: 'Shfaq Blloqet' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sr-latn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sr-latn.js new file mode 100644 index 00000000000..b0212713831 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sr-latn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'sr-latn', { + toolbar: 'Show Blocks' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sr.js new file mode 100644 index 00000000000..1480e23ac48 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'sr', { + toolbar: 'Show Blocks' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sv.js new file mode 100644 index 00000000000..dcb76726be4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/sv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'sv', { + toolbar: 'Visa block' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/th.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/th.js new file mode 100644 index 00000000000..324adab4762 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/th.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'th', { + toolbar: 'แสดงบล็อคข้อมูล' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/tr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/tr.js new file mode 100644 index 00000000000..42222bd113e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/tr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'tr', { + toolbar: 'Blokları Göster' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ug.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ug.js new file mode 100644 index 00000000000..f9721d8bb5c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/ug.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'ug', { + toolbar: 'بۆلەكنى كۆرسەت' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/uk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/uk.js new file mode 100644 index 00000000000..47d329e3934 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/uk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'uk', { + toolbar: 'Показувати блоки' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/vi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/vi.js new file mode 100644 index 00000000000..805171bcd11 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/vi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'vi', { + toolbar: 'Hiển thị các khối' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/zh-cn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/zh-cn.js new file mode 100644 index 00000000000..cb3d24c8ae2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/zh-cn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'zh-cn', { + toolbar: '显示区块' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/zh.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/zh.js new file mode 100644 index 00000000000..bcfc76b201e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/lang/zh.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'showblocks', 'zh', { + toolbar: '顯示區塊' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/plugin.js new file mode 100644 index 00000000000..6d963cc7834 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showblocks/plugin.js @@ -0,0 +1,153 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/** + * @fileOverview The "showblocks" plugin. Enable it will make all block level + * elements being decorated with a border and the element name + * displayed on the left-right corner. + */ + +( function() { + 'use strict'; + + var commandDefinition = { + readOnly: 1, + preserveState: true, + editorFocus: false, + + exec: function( editor ) { + this.toggleState(); + this.refresh( editor ); + }, + + refresh: function( editor ) { + if ( editor.document ) { + // Show blocks turns inactive after editor loses focus when in inline. + var showBlocks = this.state == CKEDITOR.TRISTATE_ON && + ( editor.elementMode != CKEDITOR.ELEMENT_MODE_INLINE || + editor.focusManager.hasFocus ); + + var funcName = showBlocks ? 'attachClass' : 'removeClass'; + editor.editable()[ funcName ]( 'cke_show_blocks' ); + } + } + }; + + CKEDITOR.plugins.add( 'showblocks', { + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + icons: 'showblocks,showblocks-rtl', // %REMOVE_LINE_CORE% + hidpi: true, // %REMOVE_LINE_CORE% + onLoad: function() { + var tags = [ 'p', 'div', 'pre', 'address', 'blockquote', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6' ], + cssStd, cssImg, cssLtr, cssRtl, + path = CKEDITOR.getUrl( this.path ), + // #10884 don't apply showblocks styles to non-editable elements and chosen ones. + // IE8 does not support :not() pseudoclass, so we need to reset showblocks rather + // than 'prevent' its application. We do that by additional rules. + supportsNotPseudoclass = !( CKEDITOR.env.ie && CKEDITOR.env.version < 9 ), + notDisabled = supportsNotPseudoclass ? ':not([contenteditable=false]):not(.cke_show_blocks_off)' : '', + tag, trailing; + + cssStd = cssImg = cssLtr = cssRtl = ''; + + while ( ( tag = tags.pop() ) ) { + trailing = tags.length ? ',' : ''; + + cssStd += '.cke_show_blocks ' + tag + notDisabled + trailing; + cssLtr += '.cke_show_blocks.cke_contents_ltr ' + tag + notDisabled + trailing; + cssRtl += '.cke_show_blocks.cke_contents_rtl ' + tag + notDisabled + trailing; + cssImg += '.cke_show_blocks ' + tag + notDisabled + '{' + + 'background-image:url(' + path + 'images/block_' + tag + '.png)' + + '}'; + } + + // .cke_show_blocks p { ... } + cssStd += '{' + + 'background-repeat:no-repeat;' + + 'border:1px dotted gray;' + + 'padding-top:8px' + + '}'; + + // .cke_show_blocks.cke_contents_ltr p { ... } + cssLtr += '{' + + 'background-position:top left;' + + 'padding-left:8px' + + '}'; + + // .cke_show_blocks.cke_contents_rtl p { ... } + cssRtl += '{' + + 'background-position:top right;' + + 'padding-right:8px' + + '}'; + + CKEDITOR.addCss( cssStd.concat( cssImg, cssLtr, cssRtl ) ); + + // [IE8] Reset showblocks styles for non-editables and chosen elements, because + // it could not be done using :not() pseudoclass (#10884). + if ( !supportsNotPseudoclass ) { + CKEDITOR.addCss( + '.cke_show_blocks [contenteditable=false],.cke_show_blocks .cke_show_blocks_off{' + + 'border:none;' + + 'padding-top:0;' + + 'background-image:none' + + '}' + + '.cke_show_blocks.cke_contents_rtl [contenteditable=false],.cke_show_blocks.cke_contents_rtl .cke_show_blocks_off{' + + 'padding-right:0' + + '}' + + '.cke_show_blocks.cke_contents_ltr [contenteditable=false],.cke_show_blocks.cke_contents_ltr .cke_show_blocks_off{' + + 'padding-left:0' + + '}' + ); + } + }, + init: function( editor ) { + if ( editor.blockless ) + return; + + var command = editor.addCommand( 'showblocks', commandDefinition ); + command.canUndo = false; + + if ( editor.config.startupOutlineBlocks ) + command.setState( CKEDITOR.TRISTATE_ON ); + + editor.ui.addButton && editor.ui.addButton( 'ShowBlocks', { + label: editor.lang.showblocks.toolbar, + command: 'showblocks', + toolbar: 'tools,20' + } ); + + // Refresh the command on setData. + editor.on( 'mode', function() { + if ( command.state != CKEDITOR.TRISTATE_DISABLED ) + command.refresh( editor ); + } ); + + // Refresh the command on focus/blur in inline. + if ( editor.elementMode == CKEDITOR.ELEMENT_MODE_INLINE ) { + editor.on( 'focus', onFocusBlur ); + editor.on( 'blur', onFocusBlur ); + } + + // Refresh the command on setData. + editor.on( 'contentDom', function() { + if ( command.state != CKEDITOR.TRISTATE_DISABLED ) + command.refresh( editor ); + } ); + + function onFocusBlur() { + command.refresh( editor ); + } + } + } ); +} )(); + +/** + * Whether to automaticaly enable the show block" command when the editor loads. + * + * config.startupOutlineBlocks = true; + * + * @cfg {Boolean} [startupOutlineBlocks=false] + * @member CKEDITOR.config + */ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/showborders/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showborders/plugin.js new file mode 100644 index 00000000000..f2d1053bb02 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/showborders/plugin.js @@ -0,0 +1,174 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/** + * @fileOverview The "show border" plugin. The command display visible outline + * border line around all table elements if table doesn't have a none-zero 'border' attribute specified. + */ + +( function() { + var commandDefinition = { + preserveState: true, + editorFocus: false, + readOnly: 1, + + exec: function( editor ) { + this.toggleState(); + this.refresh( editor ); + }, + + refresh: function( editor ) { + if ( editor.document ) { + var funcName = ( this.state == CKEDITOR.TRISTATE_ON ) ? 'attachClass' : 'removeClass'; + editor.editable()[ funcName ]( 'cke_show_borders' ); + } + } + }; + + var showBorderClassName = 'cke_show_border'; + + CKEDITOR.plugins.add( 'showborders', { + modes: { 'wysiwyg': 1 }, + + onLoad: function() { + var cssStyleText, + cssTemplate = + // TODO: For IE6, we don't have child selector support, + // where nested table cells could be incorrect. + ( CKEDITOR.env.ie6Compat ? [ + '.%1 table.%2,', + '.%1 table.%2 td, .%1 table.%2 th', + '{', + 'border : #d3d3d3 1px dotted', + '}' + ] : [ + '.%1 table.%2,', + '.%1 table.%2 > tr > td, .%1 table.%2 > tr > th,', + '.%1 table.%2 > tbody > tr > td, .%1 table.%2 > tbody > tr > th,', + '.%1 table.%2 > thead > tr > td, .%1 table.%2 > thead > tr > th,', + '.%1 table.%2 > tfoot > tr > td, .%1 table.%2 > tfoot > tr > th', + '{', + 'border : #d3d3d3 1px dotted', + '}' + ] ).join( '' ); + + cssStyleText = cssTemplate.replace( /%2/g, showBorderClassName ).replace( /%1/g, 'cke_show_borders ' ); + + CKEDITOR.addCss( cssStyleText ); + }, + + init: function( editor ) { + + var command = editor.addCommand( 'showborders', commandDefinition ); + command.canUndo = false; + + if ( editor.config.startupShowBorders !== false ) + command.setState( CKEDITOR.TRISTATE_ON ); + + // Refresh the command on setData. + editor.on( 'mode', function() { + if ( command.state != CKEDITOR.TRISTATE_DISABLED ) + command.refresh( editor ); + }, null, null, 100 ); + + // Refresh the command on wysiwyg frame reloads. + editor.on( 'contentDom', function() { + if ( command.state != CKEDITOR.TRISTATE_DISABLED ) + command.refresh( editor ); + } ); + + editor.on( 'removeFormatCleanup', function( evt ) { + var element = evt.data; + if ( editor.getCommand( 'showborders' ).state == CKEDITOR.TRISTATE_ON && element.is( 'table' ) && ( !element.hasAttribute( 'border' ) || parseInt( element.getAttribute( 'border' ), 10 ) <= 0 ) ) + element.addClass( showBorderClassName ); + } ); + }, + + afterInit: function( editor ) { + var dataProcessor = editor.dataProcessor, + dataFilter = dataProcessor && dataProcessor.dataFilter, + htmlFilter = dataProcessor && dataProcessor.htmlFilter; + + if ( dataFilter ) { + dataFilter.addRules( { + elements: { + 'table': function( element ) { + var attributes = element.attributes, + cssClass = attributes[ 'class' ], + border = parseInt( attributes.border, 10 ); + + if ( ( !border || border <= 0 ) && ( !cssClass || cssClass.indexOf( showBorderClassName ) == -1 ) ) + attributes[ 'class' ] = ( cssClass || '' ) + ' ' + showBorderClassName; + } + } + } ); + } + + if ( htmlFilter ) { + htmlFilter.addRules( { + elements: { + 'table': function( table ) { + var attributes = table.attributes, + cssClass = attributes[ 'class' ]; + + cssClass && ( attributes[ 'class' ] = cssClass.replace( showBorderClassName, '' ).replace( /\s{2}/, ' ' ).replace( /^\s+|\s+$/, '' ) ); + } + } + } ); + } + } + } ); + + // Table dialog must be aware of it. + CKEDITOR.on( 'dialogDefinition', function( ev ) { + var dialogName = ev.data.name; + + if ( dialogName == 'table' || dialogName == 'tableProperties' ) { + var dialogDefinition = ev.data.definition, + infoTab = dialogDefinition.getContents( 'info' ), + borderField = infoTab.get( 'txtBorder' ), + originalCommit = borderField.commit; + + borderField.commit = CKEDITOR.tools.override( originalCommit, function( org ) { + return function( data, selectedTable ) { + org.apply( this, arguments ); + var value = parseInt( this.getValue(), 10 ); + selectedTable[ ( !value || value <= 0 ) ? 'addClass' : 'removeClass' ]( showBorderClassName ); + }; + } ); + + var advTab = dialogDefinition.getContents( 'advanced' ), + classField = advTab && advTab.get( 'advCSSClasses' ); + + if ( classField ) { + classField.setup = CKEDITOR.tools.override( classField.setup, function( originalSetup ) { + return function() { + originalSetup.apply( this, arguments ); + this.setValue( this.getValue().replace( /cke_show_border/, '' ) ); + }; + } ); + + classField.commit = CKEDITOR.tools.override( classField.commit, function( originalCommit ) { + return function( data, element ) { + originalCommit.apply( this, arguments ); + + if ( !parseInt( element.getAttribute( 'border' ), 10 ) ) + element.addClass( 'cke_show_border' ); + }; + } ); + } + } + } ); + +} )(); + +/** + * Whether to automatically enable the "show borders" command when the editor loads. + * + * config.startupShowBorders = false; + * + * @cfg {Boolean} [startupShowBorders=true] + * @member CKEDITOR.config + */ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/dialogs/smiley.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/dialogs/smiley.js new file mode 100644 index 00000000000..c47469a13a3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/dialogs/smiley.js @@ -0,0 +1,190 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +CKEDITOR.dialog.add( 'smiley', function( editor ) { + var config = editor.config, + lang = editor.lang.smiley, + images = config.smiley_images, + columns = config.smiley_columns || 8, + i; + + // Simulate "this" of a dialog for non-dialog events. + // @type {CKEDITOR.dialog} + var dialog; + var onClick = function( evt ) { + var target = evt.data.getTarget(), + targetName = target.getName(); + + if ( targetName == 'a' ) + target = target.getChild( 0 ); + else if ( targetName != 'img' ) + return; + + var src = target.getAttribute( 'cke_src' ), + title = target.getAttribute( 'title' ); + + var img = editor.document.createElement( 'img', { + attributes: { + src: src, + 'data-cke-saved-src': src, + title: title, + alt: title, + width: target.$.width, + height: target.$.height + } + } ); + + editor.insertElement( img ); + + dialog.hide(); + evt.data.preventDefault(); + }; + + var onKeydown = CKEDITOR.tools.addFunction( function( ev, element ) { + ev = new CKEDITOR.dom.event( ev ); + element = new CKEDITOR.dom.element( element ); + var relative, nodeToMove; + + var keystroke = ev.getKeystroke(), + rtl = editor.lang.dir == 'rtl'; + switch ( keystroke ) { + // UP-ARROW + case 38: + // relative is TR + if ( ( relative = element.getParent().getParent().getPrevious() ) ) { + nodeToMove = relative.getChild( [ element.getParent().getIndex(), 0 ] ); + nodeToMove.focus(); + } + ev.preventDefault(); + break; + // DOWN-ARROW + case 40: + // relative is TR + if ( ( relative = element.getParent().getParent().getNext() ) ) { + nodeToMove = relative.getChild( [ element.getParent().getIndex(), 0 ] ); + if ( nodeToMove ) + nodeToMove.focus(); + } + ev.preventDefault(); + break; + // ENTER + // SPACE + case 32: + onClick( { data: ev } ); + ev.preventDefault(); + break; + + // RIGHT-ARROW + case rtl ? 37 : 39: + // relative is TD + if ( ( relative = element.getParent().getNext() ) ) { + nodeToMove = relative.getChild( 0 ); + nodeToMove.focus(); + ev.preventDefault( true ); + } + // relative is TR + else if ( ( relative = element.getParent().getParent().getNext() ) ) { + nodeToMove = relative.getChild( [ 0, 0 ] ); + if ( nodeToMove ) + nodeToMove.focus(); + ev.preventDefault( true ); + } + break; + + // LEFT-ARROW + case rtl ? 39 : 37: + // relative is TD + if ( ( relative = element.getParent().getPrevious() ) ) { + nodeToMove = relative.getChild( 0 ); + nodeToMove.focus(); + ev.preventDefault( true ); + } + // relative is TR + else if ( ( relative = element.getParent().getParent().getPrevious() ) ) { + nodeToMove = relative.getLast().getChild( 0 ); + nodeToMove.focus(); + ev.preventDefault( true ); + } + break; + default: + // Do not stop not handled events. + return; + } + } ); + + // Build the HTML for the smiley images table. + var labelId = CKEDITOR.tools.getNextId() + '_smiley_emtions_label'; + var html = [ + '
    ' + + '' + lang.options + '', + '' + ]; + + var size = images.length; + for ( i = 0; i < size; i++ ) { + if ( i % columns === 0 ) + html.push( '' ); + + var smileyLabelId = 'cke_smile_label_' + i + '_' + CKEDITOR.tools.getNextNumber(); + html.push( '' ); + + if ( i % columns == columns - 1 ) + html.push( '' ); + } + + if ( i < columns - 1 ) { + for ( ; i < columns - 1; i++ ) + html.push( '' ); + html.push( '' ); + } + + html.push( '
    ' ); + + var smileySelector = { + type: 'html', + id: 'smileySelector', + html: html.join( '' ), + onLoad: function( event ) { + dialog = event.sender; + }, + focus: function() { + var self = this; + // IE need a while to move the focus (#6539). + setTimeout( function() { + var firstSmile = self.getElement().getElementsByTag( 'a' ).getItem( 0 ); + firstSmile.focus(); + }, 0 ); + }, + onClick: onClick, + style: 'width: 100%; border-collapse: separate;' + }; + + return { + title: editor.lang.smiley.title, + minWidth: 270, + minHeight: 120, + contents: [ + { + id: 'tab1', + label: '', + title: '', + expand: true, + padding: 0, + elements: [ + smileySelector + ] + } + ], + buttons: [ CKEDITOR.dialog.cancelButton ] + }; +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/smiley/icons/hidpi/smiley.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/icons/hidpi/smiley.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/smiley/icons/hidpi/smiley.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/icons/hidpi/smiley.png diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/smiley/icons/smiley.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/icons/smiley.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/smiley/icons/smiley.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/icons/smiley.png diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/angel_smile.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/angel_smile.gif new file mode 100644 index 00000000000..e7daebc2f78 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/angel_smile.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/angel_smile.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/angel_smile.png new file mode 100644 index 00000000000..39a85c39854 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/angel_smile.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/angry_smile.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/angry_smile.gif new file mode 100644 index 00000000000..a5890f37953 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/angry_smile.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/angry_smile.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/angry_smile.png new file mode 100644 index 00000000000..dd07d3e6ec6 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/angry_smile.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/broken_heart.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/broken_heart.gif new file mode 100644 index 00000000000..0b822cd9c8a Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/broken_heart.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/broken_heart.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/broken_heart.png new file mode 100644 index 00000000000..775146fde1c Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/broken_heart.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/confused_smile.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/confused_smile.gif new file mode 100644 index 00000000000..95871949178 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/confused_smile.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/confused_smile.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/confused_smile.png new file mode 100644 index 00000000000..d69a6f923bd Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/confused_smile.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/cry_smile.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/cry_smile.gif new file mode 100644 index 00000000000..b5133427828 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/cry_smile.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/cry_smile.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/cry_smile.png new file mode 100644 index 00000000000..dd610b8f011 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/cry_smile.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/devil_smile.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/devil_smile.gif new file mode 100644 index 00000000000..9b2a10055be Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/devil_smile.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/devil_smile.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/devil_smile.png new file mode 100644 index 00000000000..63a908e11d7 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/devil_smile.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif new file mode 100644 index 00000000000..b64a58bdae9 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/embaressed_smile.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/embarrassed_smile.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/embarrassed_smile.gif new file mode 100644 index 00000000000..b64a58bdae9 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/embarrassed_smile.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/embarrassed_smile.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/embarrassed_smile.png new file mode 100644 index 00000000000..f01cdf3b723 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/embarrassed_smile.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/envelope.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/envelope.gif new file mode 100644 index 00000000000..f8ffc54345b Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/envelope.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/envelope.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/envelope.png new file mode 100644 index 00000000000..b4180c5b368 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/envelope.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/heart.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/heart.gif new file mode 100644 index 00000000000..77e0fe8bfa2 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/heart.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/heart.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/heart.png new file mode 100644 index 00000000000..a5335bb60ff Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/heart.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/kiss.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/kiss.gif new file mode 100644 index 00000000000..49f31ab4933 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/kiss.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/kiss.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/kiss.png new file mode 100644 index 00000000000..4f5f0a5fc07 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/kiss.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/lightbulb.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/lightbulb.gif new file mode 100644 index 00000000000..73f2e5aaaf4 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/lightbulb.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/lightbulb.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/lightbulb.png new file mode 100644 index 00000000000..56c8137dcfd Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/lightbulb.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/omg_smile.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/omg_smile.gif new file mode 100644 index 00000000000..abd2a869931 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/omg_smile.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/omg_smile.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/omg_smile.png new file mode 100644 index 00000000000..cbbb106a197 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/omg_smile.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/regular_smile.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/regular_smile.gif new file mode 100644 index 00000000000..de7f1ef1e18 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/regular_smile.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/regular_smile.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/regular_smile.png new file mode 100644 index 00000000000..786b20006f4 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/regular_smile.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/sad_smile.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/sad_smile.gif new file mode 100644 index 00000000000..ee7810e472f Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/sad_smile.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/sad_smile.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/sad_smile.png new file mode 100644 index 00000000000..1ae435c2d74 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/sad_smile.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/shades_smile.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/shades_smile.gif new file mode 100644 index 00000000000..11fc90f60ab Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/shades_smile.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/shades_smile.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/shades_smile.png new file mode 100644 index 00000000000..9e68d5a637c Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/shades_smile.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/teeth_smile.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/teeth_smile.gif new file mode 100644 index 00000000000..a950b4389a3 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/teeth_smile.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/teeth_smile.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/teeth_smile.png new file mode 100644 index 00000000000..c7d2fd4e74a Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/teeth_smile.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/thumbs_down.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/thumbs_down.gif new file mode 100644 index 00000000000..c01f763fca9 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/thumbs_down.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/thumbs_down.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/thumbs_down.png new file mode 100644 index 00000000000..a6bb53291bb Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/thumbs_down.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/thumbs_up.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/thumbs_up.gif new file mode 100644 index 00000000000..0f42774d09e Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/thumbs_up.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/thumbs_up.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/thumbs_up.png new file mode 100644 index 00000000000..6ea78591890 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/thumbs_up.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/tongue_smile.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/tongue_smile.gif new file mode 100644 index 00000000000..369b4350821 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/tongue_smile.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/tongue_smile.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/tongue_smile.png new file mode 100644 index 00000000000..5bee4c049e6 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/tongue_smile.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/tounge_smile.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/tounge_smile.gif new file mode 100644 index 00000000000..369b4350821 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/tounge_smile.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif new file mode 100644 index 00000000000..2cc81c14f68 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.png new file mode 100644 index 00000000000..bebf74daa62 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/whatchutalkingabout_smile.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/wink_smile.gif b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/wink_smile.gif new file mode 100644 index 00000000000..07cad31b834 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/wink_smile.gif differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/wink_smile.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/wink_smile.png new file mode 100644 index 00000000000..805da960588 Binary files /dev/null and b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/images/wink_smile.png differ diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/af.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/af.js new file mode 100644 index 00000000000..749b63ce4b2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/af.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'af', { + options: 'Lagbekkie opsies', + title: 'Voeg lagbekkie by', + toolbar: 'Lagbekkie' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ar.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ar.js new file mode 100644 index 00000000000..91f57f15ee3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ar.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'ar', { + options: 'خصائص الإبتسامات', + title: 'إدراج ابتسامات', + toolbar: 'ابتسامات' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/bg.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/bg.js new file mode 100644 index 00000000000..7df16430285 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/bg.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'bg', { + options: 'Опции за усмивката', + title: 'Вмъкване на усмивка', + toolbar: 'Усмивка' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/bn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/bn.js new file mode 100644 index 00000000000..e0af44ebbe8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/bn.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'bn', { + options: 'Smiley Options', // MISSING + title: 'স্মাইলী যুক্ত কর', + toolbar: 'স্মাইলী' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/bs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/bs.js new file mode 100644 index 00000000000..f9883ffb3f9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/bs.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'bs', { + options: 'Smiley Options', // MISSING + title: 'Ubaci smješka', + toolbar: 'Smješko' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ca.js new file mode 100644 index 00000000000..4dc310914d6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ca.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'ca', { + options: 'Opcions d\'emoticones', + title: 'Insereix una icona', + toolbar: 'Icona' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/cs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/cs.js new file mode 100644 index 00000000000..cc841dbb484 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/cs.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'cs', { + options: 'Nastavení smajlíků', + title: 'Vkládání smajlíků', + toolbar: 'Smajlíci' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/cy.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/cy.js new file mode 100644 index 00000000000..0e8d00ab912 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/cy.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'cy', { + options: 'Opsiynau Gwenogluniau', + title: 'Mewnosod Gwenoglun', + toolbar: 'Gwenoglun' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/da.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/da.js new file mode 100644 index 00000000000..3d6e7c489bf --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/da.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'da', { + options: 'Smileymuligheder', + title: 'Vælg smiley', + toolbar: 'Smiley' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/de.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/de.js new file mode 100644 index 00000000000..cd1388ffd21 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/de.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'de', { + options: 'Smiley Optionen', + title: 'Smiley auswählen', + toolbar: 'Smiley' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/el.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/el.js new file mode 100644 index 00000000000..f60f0dbe2d5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/el.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'el', { + options: 'Επιλογές Φατσούλων', + title: 'Εισάγετε μια Φατσούλα', + toolbar: 'Φατσούλα' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/en-au.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/en-au.js new file mode 100644 index 00000000000..9290f14bcdc --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/en-au.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'en-au', { + options: 'Smiley Options', // MISSING + title: 'Insert a Smiley', + toolbar: 'Smiley' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/en-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/en-ca.js new file mode 100644 index 00000000000..de736aae52a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/en-ca.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'en-ca', { + options: 'Smiley Options', // MISSING + title: 'Insert a Smiley', + toolbar: 'Smiley' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/en-gb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/en-gb.js new file mode 100644 index 00000000000..937ab610cf7 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/en-gb.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'en-gb', { + options: 'Smiley Options', + title: 'Insert a Smiley', + toolbar: 'Smiley' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/en.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/en.js new file mode 100644 index 00000000000..cc1b1ab6be3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/en.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'en', { + options: 'Smiley Options', + title: 'Insert a Smiley', + toolbar: 'Smiley' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/eo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/eo.js new file mode 100644 index 00000000000..d0cd1014468 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/eo.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'eo', { + options: 'Opcioj pri mienvinjetoj', + title: 'Enmeti Mienvinjeton', + toolbar: 'Mienvinjeto' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/es.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/es.js new file mode 100644 index 00000000000..6f658598168 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/es.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'es', { + options: 'Opciones de emoticonos', + title: 'Insertar un Emoticon', + toolbar: 'Emoticonos' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/et.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/et.js new file mode 100644 index 00000000000..8e38e856f7b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/et.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'et', { + options: 'Emotikonide valikud', + title: 'Sisesta emotikon', + toolbar: 'Emotikon' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/eu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/eu.js new file mode 100644 index 00000000000..e2be9b94f22 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/eu.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'eu', { + options: 'Aurpegiera Aukerak', + title: 'Aurpegiera Sartu', + toolbar: 'Aurpegierak' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/fa.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/fa.js new file mode 100644 index 00000000000..c3011d57b97 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/fa.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'fa', { + options: 'گزینه​های خندانک', + title: 'گنجاندن خندانک', + toolbar: 'خندانک' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/fi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/fi.js new file mode 100644 index 00000000000..3bbfbbc62a4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/fi.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'fi', { + options: 'Hymiön ominaisuudet', + title: 'Lisää hymiö', + toolbar: 'Hymiö' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/fo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/fo.js new file mode 100644 index 00000000000..fbb657db904 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/fo.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'fo', { + options: 'Møguleikar fyri Smiley', + title: 'Vel Smiley', + toolbar: 'Smiley' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/fr-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/fr-ca.js new file mode 100644 index 00000000000..ab14ee9c5b7 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/fr-ca.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'fr-ca', { + options: 'Options d\'émoticônes', + title: 'Insérer un émoticône', + toolbar: 'Émoticône' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/fr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/fr.js new file mode 100644 index 00000000000..22f50b97cb1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/fr.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'fr', { + options: 'Options des émoticones', + title: 'Insérer un émoticone', + toolbar: 'Émoticones' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/gl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/gl.js new file mode 100644 index 00000000000..4e4eeb76f21 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/gl.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'gl', { + options: 'Opcións de emoticonas', + title: 'Inserir unha emoticona', + toolbar: 'Emoticona' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/gu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/gu.js new file mode 100644 index 00000000000..b86af7febc6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/gu.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'gu', { + options: 'સમ્ય્લી વિકલ્પો', + title: 'સ્માઇલી પસંદ કરો', + toolbar: 'સ્માઇલી' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/he.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/he.js new file mode 100644 index 00000000000..68558b6899f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/he.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'he', { + options: 'אפשרויות סמיילים', + title: 'הוספת סמיילי', + toolbar: 'סמיילי' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/hi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/hi.js new file mode 100644 index 00000000000..5f6428b1805 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/hi.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'hi', { + options: 'Smiley Options', // MISSING + title: 'स्माइली इन्सर्ट करें', + toolbar: 'स्माइली' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/hr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/hr.js new file mode 100644 index 00000000000..2550eda4b16 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/hr.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'hr', { + options: 'Opcije smješka', + title: 'Ubaci smješka', + toolbar: 'Smješko' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/hu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/hu.js new file mode 100644 index 00000000000..d667ca949fd --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/hu.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'hu', { + options: 'Hangulatjel opciók', + title: 'Hangulatjel beszúrása', + toolbar: 'Hangulatjelek' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/id.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/id.js new file mode 100644 index 00000000000..8615915c06a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/id.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'id', { + options: 'Opsi Smiley', + title: 'Sisip sebuah Smiley', + toolbar: 'Smiley' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/is.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/is.js new file mode 100644 index 00000000000..17a888f3303 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/is.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'is', { + options: 'Smiley Options', // MISSING + title: 'Velja svip', + toolbar: 'Svipur' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/it.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/it.js new file mode 100644 index 00000000000..64e9aa90cb6 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/it.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'it', { + options: 'Opzioni Smiley', + title: 'Inserisci emoticon', + toolbar: 'Emoticon' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ja.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ja.js new file mode 100644 index 00000000000..0b4bdb59550 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ja.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'ja', { + options: '絵文字オプション', + title: '顔文字挿入', + toolbar: '絵文字' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ka.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ka.js new file mode 100644 index 00000000000..3d4a1fcb485 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ka.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'ka', { + options: 'სიცილაკის პარამეტრები', + title: 'სიცილაკის ჩასმა', + toolbar: 'სიცილაკები' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/km.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/km.js new file mode 100644 index 00000000000..cff8288991c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/km.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'km', { + options: 'ជម្រើស​រូប​សញ្ញា​អារម្មណ៍', + title: 'បញ្ចូល​រូប​សញ្ញា​អារម្មណ៍', + toolbar: 'រូប​សញ្ញ​អារម្មណ៍' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ko.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ko.js new file mode 100644 index 00000000000..e2a0a15bf1a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ko.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'ko', { + options: '이모티콘 옵션', + title: '아이콘 삽입', + toolbar: '아이콘' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ku.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ku.js new file mode 100644 index 00000000000..e730c82d51c --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ku.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'ku', { + options: 'هەڵبژاردەی زەردەخەنه', + title: 'دانانی زەردەخەنەیەك', + toolbar: 'زەردەخەنه' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/lt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/lt.js new file mode 100644 index 00000000000..56337b258a2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/lt.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'lt', { + options: 'Šypsenėlių nustatymai', + title: 'Įterpti veidelį', + toolbar: 'Veideliai' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/lv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/lv.js new file mode 100644 index 00000000000..85f38b33ba9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/lv.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'lv', { + options: 'Smaidiņu uzstādījumi', + title: 'Ievietot smaidiņu', + toolbar: 'Smaidiņi' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/mk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/mk.js new file mode 100644 index 00000000000..17b03f487b9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/mk.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'mk', { + options: 'Smiley Options', // MISSING + title: 'Insert a Smiley', // MISSING + toolbar: 'Smiley' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/mn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/mn.js new file mode 100644 index 00000000000..6eeaa235f4f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/mn.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'mn', { + options: 'Smiley Options', // MISSING + title: 'Тодорхойлолт оруулах', + toolbar: 'Тодорхойлолт' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ms.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ms.js new file mode 100644 index 00000000000..062368944ce --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ms.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'ms', { + options: 'Smiley Options', // MISSING + title: 'Masukkan Smiley', + toolbar: 'Smiley' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/nb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/nb.js new file mode 100644 index 00000000000..5582cac033b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/nb.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'nb', { + options: 'Alternativer for smil', + title: 'Sett inn smil', + toolbar: 'Smil' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/nl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/nl.js new file mode 100644 index 00000000000..1f567a1ae1d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/nl.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'nl', { + options: 'Smiley opties', + title: 'Smiley invoegen', + toolbar: 'Smiley' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/no.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/no.js new file mode 100644 index 00000000000..ac1e62b3546 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/no.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'no', { + options: 'Alternativer for smil', + title: 'Sett inn smil', + toolbar: 'Smil' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/pl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/pl.js new file mode 100644 index 00000000000..879837184d3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/pl.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'pl', { + options: 'Opcje emotikonów', + title: 'Wstaw emotikona', + toolbar: 'Emotikony' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/pt-br.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/pt-br.js new file mode 100644 index 00000000000..cc2ff4c07fd --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/pt-br.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'pt-br', { + options: 'Opções de Emoticons', + title: 'Inserir Emoticon', + toolbar: 'Emoticon' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/pt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/pt.js new file mode 100644 index 00000000000..510731b1c0b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/pt.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'pt', { + options: 'Opções de Emoticons', + title: 'Inserir um Emoticon', + toolbar: 'Emoticons' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ro.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ro.js new file mode 100644 index 00000000000..772eb53ef45 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ro.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'ro', { + options: 'Opțiuni figuri expresive', + title: 'Inserează o figură expresivă (Emoticon)', + toolbar: 'Figură expresivă (Emoticon)' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ru.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ru.js new file mode 100644 index 00000000000..e3e0325bf90 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ru.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'ru', { + options: 'Выбор смайла', + title: 'Вставить смайл', + toolbar: 'Смайлы' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/si.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/si.js new file mode 100644 index 00000000000..80c7288dbb8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/si.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'si', { + options: 'හාස්‍ය විකල්ප', + title: 'හාස්‍යන් ඇතුලත් කිරීම', + toolbar: 'හාස්‍යන්' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sk.js new file mode 100644 index 00000000000..903472dd840 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sk.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'sk', { + options: 'Možnosti smajlíkov', + title: 'Vložiť smajlíka', + toolbar: 'Smajlíky' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sl.js new file mode 100644 index 00000000000..bd633cb3dba --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sl.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'sl', { + options: 'Možnosti Smeška', + title: 'Vstavi smeška', + toolbar: 'Smeško' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sq.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sq.js new file mode 100644 index 00000000000..8659dc26307 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sq.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'sq', { + options: 'Opsionet e Ikonave', + title: 'Vendos Ikonë', + toolbar: 'Ikona' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sr-latn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sr-latn.js new file mode 100644 index 00000000000..a965860e331 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sr-latn.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'sr-latn', { + options: 'Smiley Options', // MISSING + title: 'Unesi smajlija', + toolbar: 'Smajli' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sr.js new file mode 100644 index 00000000000..a82eaa50d3d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sr.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'sr', { + options: 'Smiley Options', // MISSING + title: 'Унеси смајлија', + toolbar: 'Смајли' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sv.js new file mode 100644 index 00000000000..74ca27a9e16 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/sv.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'sv', { + options: 'Smileyinställningar', + title: 'Infoga smiley', + toolbar: 'Smiley' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/th.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/th.js new file mode 100644 index 00000000000..a9348e24074 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/th.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'th', { + options: 'ตัวเลือกไอคอนแสดงอารมณ์', + title: 'แทรกสัญลักษณ์สื่ออารมณ์', + toolbar: 'รูปสื่ออารมณ์' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/tr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/tr.js new file mode 100644 index 00000000000..f715fc498e3 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/tr.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'tr', { + options: 'İfade Seçenekleri', + title: 'İfade Ekle', + toolbar: 'İfade' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ug.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ug.js new file mode 100644 index 00000000000..bb583378317 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/ug.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'ug', { + options: 'چىراي ئىپادە سىنبەلگە تاللانمىسى', + title: 'چىراي ئىپادە سىنبەلگە قىستۇر', + toolbar: 'چىراي ئىپادە' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/uk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/uk.js new file mode 100644 index 00000000000..f6e24b1f6fc --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/uk.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'uk', { + options: 'Опції смайликів', + title: 'Вставити смайлик', + toolbar: 'Смайлик' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/vi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/vi.js new file mode 100644 index 00000000000..69f0dca06fa --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/vi.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'vi', { + options: 'Tùy chọn hình biểu lộ cảm xúc', + title: 'Chèn hình biểu lộ cảm xúc (mặt cười)', + toolbar: 'Hình biểu lộ cảm xúc (mặt cười)' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/zh-cn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/zh-cn.js new file mode 100644 index 00000000000..a3c58f5709e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/zh-cn.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'zh-cn', { + options: '表情图标选项', + title: '插入表情图标', + toolbar: '表情符' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/zh.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/zh.js new file mode 100644 index 00000000000..52f1aa503c0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/lang/zh.js @@ -0,0 +1,9 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'smiley', 'zh', { + options: '表情符號選項', + title: '插入表情符號', + toolbar: '表情符號' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/plugin.js new file mode 100644 index 00000000000..2a0d1c08045 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/smiley/plugin.js @@ -0,0 +1,95 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +CKEDITOR.plugins.add( 'smiley', { + requires: 'dialog', + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + icons: 'smiley', // %REMOVE_LINE_CORE% + hidpi: true, // %REMOVE_LINE_CORE% + init: function( editor ) { + editor.config.smiley_path = editor.config.smiley_path || ( this.path + 'images/' ); + editor.addCommand( 'smiley', new CKEDITOR.dialogCommand( 'smiley', { + allowedContent: 'img[alt,height,!src,title,width]', + requiredContent: 'img' + } ) ); + editor.ui.addButton && editor.ui.addButton( 'Smiley', { + label: editor.lang.smiley.toolbar, + command: 'smiley', + toolbar: 'insert,50' + } ); + CKEDITOR.dialog.add( 'smiley', this.path + 'dialogs/smiley.js' ); + } +} ); + +/** + * The base path used to build the URL for the smiley images. It must end with a slash. + * + * config.smiley_path = 'http://www.example.com/images/smileys/'; + * + * config.smiley_path = '/images/smileys/'; + * + * @cfg {String} [smiley_path=CKEDITOR.basePath + 'plugins/smiley/images/'] + * @member CKEDITOR.config + */ + +/** + * The file names for the smileys to be displayed. These files must be + * contained inside the URL path defined with the {@link #smiley_path} setting. + * + * // This is actually the default value. + * config.smiley_images = [ + * 'regular_smile.png','sad_smile.png','wink_smile.png','teeth_smile.png','confused_smile.png','tongue_smile.png', + * 'embarrassed_smile.png','omg_smile.png','whatchutalkingabout_smile.png','angry_smile.png','angel_smile.png','shades_smile.png', + * 'devil_smile.png','cry_smile.png','lightbulb.png','thumbs_down.png','thumbs_up.png','heart.png', + * 'broken_heart.png','kiss.png','envelope.png' + * ]; + * + * @cfg + * @member CKEDITOR.config + */ +CKEDITOR.config.smiley_images = [ + 'regular_smile.png', 'sad_smile.png', 'wink_smile.png', 'teeth_smile.png', 'confused_smile.png', 'tongue_smile.png', + 'embarrassed_smile.png', 'omg_smile.png', 'whatchutalkingabout_smile.png', 'angry_smile.png', 'angel_smile.png', 'shades_smile.png', + 'devil_smile.png', 'cry_smile.png', 'lightbulb.png', 'thumbs_down.png', 'thumbs_up.png', 'heart.png', + 'broken_heart.png', 'kiss.png', 'envelope.png' ]; + +/** + * The description to be used for each of the smileys defined in the + * {@link CKEDITOR.config#smiley_images} setting. Each entry in this array list + * must match its relative pair in the {@link CKEDITOR.config#smiley_images} + * setting. + * + * // Default settings. + * config.smiley_descriptions = [ + * 'smiley', 'sad', 'wink', 'laugh', 'frown', 'cheeky', 'blush', 'surprise', + * 'indecision', 'angry', 'angel', 'cool', 'devil', 'crying', 'enlightened', 'no', + * 'yes', 'heart', 'broken heart', 'kiss', 'mail' + * ]; + * + * // Use textual emoticons as description. + * config.smiley_descriptions = [ + * ':)', ':(', ';)', ':D', ':/', ':P', ':*)', ':-o', + * ':|', '>:(', 'o:)', '8-)', '>:-)', ';(', '', '', '', + * '', '', ':-*', '' + * ]; + * + * @cfg + * @member CKEDITOR.config + */ +CKEDITOR.config.smiley_descriptions = [ + 'smiley', 'sad', 'wink', 'laugh', 'frown', 'cheeky', 'blush', 'surprise', + 'indecision', 'angry', 'angel', 'cool', 'devil', 'crying', 'enlightened', 'no', + 'yes', 'heart', 'broken heart', 'kiss', 'mail' +]; + +/** + * The number of columns to be generated by the smilies matrix. + * + * config.smiley_columns = 6; + * + * @since 3.3.2 + * @cfg {Number} [smiley_columns=8] + * @member CKEDITOR.config + */ diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/sourcedialog/icons/hidpi/sourcedialog-rtl.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/icons/hidpi/source-rtl.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/sourcedialog/icons/hidpi/sourcedialog-rtl.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/icons/hidpi/source-rtl.png diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/sourcedialog/icons/hidpi/sourcedialog.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/icons/hidpi/source.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/sourcedialog/icons/hidpi/sourcedialog.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/icons/hidpi/source.png diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/sourcedialog/icons/sourcedialog-rtl.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/icons/source-rtl.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/sourcedialog/icons/sourcedialog-rtl.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/icons/source-rtl.png diff --git a/htdocs/includes/ckeditor/ckeditor/plugins/sourcedialog/icons/sourcedialog.png b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/icons/source.png similarity index 100% rename from htdocs/includes/ckeditor/ckeditor/plugins/sourcedialog/icons/sourcedialog.png rename to htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/icons/source.png diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/af.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/af.js new file mode 100644 index 00000000000..69219cedcba --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/af.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'af', { + toolbar: 'Bron' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ar.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ar.js new file mode 100644 index 00000000000..9a16c41387a --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ar.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'ar', { + toolbar: 'المصدر' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/bg.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/bg.js new file mode 100644 index 00000000000..e666a0d56c9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/bg.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'bg', { + toolbar: 'Източник' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/bn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/bn.js new file mode 100644 index 00000000000..2487c69bfa2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/bn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'bn', { + toolbar: 'সোর্স' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/bs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/bs.js new file mode 100644 index 00000000000..50f74b2fe28 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/bs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'bs', { + toolbar: 'HTML kôd' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ca.js new file mode 100644 index 00000000000..3bde9966937 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'ca', { + toolbar: 'Codi font' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/cs.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/cs.js new file mode 100644 index 00000000000..d6f636dd64f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/cs.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'cs', { + toolbar: 'Zdroj' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/cy.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/cy.js new file mode 100644 index 00000000000..b119eea8588 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/cy.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'cy', { + toolbar: 'HTML' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/da.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/da.js new file mode 100644 index 00000000000..eb4f8691c68 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/da.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'da', { + toolbar: 'Kilde' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/de.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/de.js new file mode 100644 index 00000000000..6c83749146e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/de.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'de', { + toolbar: 'Quellcode' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/el.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/el.js new file mode 100644 index 00000000000..f1272d97fef --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/el.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'el', { + toolbar: 'Κώδικας' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/en-au.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/en-au.js new file mode 100644 index 00000000000..17dc21649c1 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/en-au.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'en-au', { + toolbar: 'Source' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/en-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/en-ca.js new file mode 100644 index 00000000000..436f7ced283 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/en-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'en-ca', { + toolbar: 'Source' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/en-gb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/en-gb.js new file mode 100644 index 00000000000..45d0dddb5c5 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/en-gb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'en-gb', { + toolbar: 'Source' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/en.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/en.js new file mode 100644 index 00000000000..d0d20fe9cd4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/en.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'en', { + toolbar: 'Source' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/eo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/eo.js new file mode 100644 index 00000000000..bdc71277292 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/eo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'eo', { + toolbar: 'Fonto' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/es.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/es.js new file mode 100644 index 00000000000..3ffafc8630d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/es.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'es', { + toolbar: 'Fuente HTML' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/et.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/et.js new file mode 100644 index 00000000000..fd617160acd --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/et.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'et', { + toolbar: 'Lähtekood' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/eu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/eu.js new file mode 100644 index 00000000000..b4f18a353df --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/eu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'eu', { + toolbar: 'HTML Iturburua' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/fa.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/fa.js new file mode 100644 index 00000000000..d0342eff353 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/fa.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'fa', { + toolbar: 'منبع' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/fi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/fi.js new file mode 100644 index 00000000000..fb40a26ab5d --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/fi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'fi', { + toolbar: 'Koodi' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/fo.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/fo.js new file mode 100644 index 00000000000..f09a80a719e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/fo.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'fo', { + toolbar: 'Kelda' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/fr-ca.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/fr-ca.js new file mode 100644 index 00000000000..9c16fa542a0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/fr-ca.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'fr-ca', { + toolbar: 'Source' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/fr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/fr.js new file mode 100644 index 00000000000..db7288ac1a4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/fr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'fr', { + toolbar: 'Source' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/gl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/gl.js new file mode 100644 index 00000000000..ad8481a4795 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/gl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'gl', { + toolbar: 'Orixe' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/gu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/gu.js new file mode 100644 index 00000000000..3e917688a3b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/gu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'gu', { + toolbar: 'મૂળ કે પ્રાથમિક દસ્તાવેજ' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/he.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/he.js new file mode 100644 index 00000000000..f7b1c922e40 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/he.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'he', { + toolbar: 'מקור' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/hi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/hi.js new file mode 100644 index 00000000000..f6fc4eb0c45 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/hi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'hi', { + toolbar: 'सोर्स' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/hr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/hr.js new file mode 100644 index 00000000000..ea5d64b9f1b --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/hr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'hr', { + toolbar: 'Kôd' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/hu.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/hu.js new file mode 100644 index 00000000000..57cfd217d37 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/hu.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'hu', { + toolbar: 'Forráskód' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/id.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/id.js new file mode 100644 index 00000000000..a2606fc8193 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/id.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'id', { + toolbar: 'Sumber' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/is.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/is.js new file mode 100644 index 00000000000..1f97cfbe150 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/is.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'is', { + toolbar: 'Kóði' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/it.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/it.js new file mode 100644 index 00000000000..40473bc09be --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/it.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'it', { + toolbar: 'Sorgente' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ja.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ja.js new file mode 100644 index 00000000000..27edc03ad25 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ja.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'ja', { + toolbar: 'ソース' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ka.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ka.js new file mode 100644 index 00000000000..e000e40b88f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ka.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'ka', { + toolbar: 'კოდები' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/km.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/km.js new file mode 100644 index 00000000000..e724fe58fb9 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/km.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'km', { + toolbar: 'អក្សរ​កូដ' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ko.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ko.js new file mode 100644 index 00000000000..7dda18af2e2 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ko.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'ko', { + toolbar: '소스' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ku.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ku.js new file mode 100644 index 00000000000..89cf58351c0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ku.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'ku', { + toolbar: 'سەرچاوە' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/lt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/lt.js new file mode 100644 index 00000000000..25dcb0e854f --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/lt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'lt', { + toolbar: 'Šaltinis' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/lv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/lv.js new file mode 100644 index 00000000000..2fe82ee9e52 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/lv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'lv', { + toolbar: 'HTML kods' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/mk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/mk.js new file mode 100644 index 00000000000..a9c47fec3a4 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/mk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'mk', { + toolbar: 'Source' // MISSING +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/mn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/mn.js new file mode 100644 index 00000000000..f7cc25f732e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/mn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'mn', { + toolbar: 'Код' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ms.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ms.js new file mode 100644 index 00000000000..f6f3f8b2959 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ms.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'ms', { + toolbar: 'Sumber' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/nb.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/nb.js new file mode 100644 index 00000000000..2d98ab2d121 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/nb.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'nb', { + toolbar: 'Kilde' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/nl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/nl.js new file mode 100644 index 00000000000..eafd6d5d104 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/nl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'nl', { + toolbar: 'Broncode' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/no.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/no.js new file mode 100644 index 00000000000..7d88bdbfaed --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/no.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'no', { + toolbar: 'Kilde' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/pl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/pl.js new file mode 100644 index 00000000000..207a21b8760 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/pl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'pl', { + toolbar: 'Źródło dokumentu' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/pt-br.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/pt-br.js new file mode 100644 index 00000000000..0a8730efdb0 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/pt-br.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'pt-br', { + toolbar: 'Código-Fonte' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/pt.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/pt.js new file mode 100644 index 00000000000..3b098baf268 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/pt.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'pt', { + toolbar: 'Fonte' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ro.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ro.js new file mode 100644 index 00000000000..a12699dbaad --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ro.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'ro', { + toolbar: 'Sursa' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ru.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ru.js new file mode 100644 index 00000000000..a43e2a0a9ed --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ru.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'ru', { + toolbar: 'Источник' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/si.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/si.js new file mode 100644 index 00000000000..2c12c675ffd --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/si.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'si', { + toolbar: 'මුලාශ්‍රය' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sk.js new file mode 100644 index 00000000000..2a5b8140667 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'sk', { + toolbar: 'Zdroj' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sl.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sl.js new file mode 100644 index 00000000000..49ca4425c39 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sl.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'sl', { + toolbar: 'Izvorna koda' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sq.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sq.js new file mode 100644 index 00000000000..cdeb5eb240e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sq.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'sq', { + toolbar: 'Burimi' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sr-latn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sr-latn.js new file mode 100644 index 00000000000..221438fb376 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sr-latn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'sr-latn', { + toolbar: 'Kôd' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sr.js new file mode 100644 index 00000000000..dab4ab57c91 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'sr', { + toolbar: 'Kôд' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sv.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sv.js new file mode 100644 index 00000000000..26bd571cffd --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/sv.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'sv', { + toolbar: 'Källa' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/th.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/th.js new file mode 100644 index 00000000000..6704ec61ada --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/th.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'th', { + toolbar: 'ดูรหัส HTML' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/tr.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/tr.js new file mode 100644 index 00000000000..7ab852dba27 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/tr.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'tr', { + toolbar: 'Kaynak' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ug.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ug.js new file mode 100644 index 00000000000..bf84b170685 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/ug.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'ug', { + toolbar: 'مەنبە' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/uk.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/uk.js new file mode 100644 index 00000000000..624618e97ee --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/uk.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'uk', { + toolbar: 'Джерело' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/vi.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/vi.js new file mode 100644 index 00000000000..c18e023daa8 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/vi.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'vi', { + toolbar: 'Mã HTML' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/zh-cn.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/zh-cn.js new file mode 100644 index 00000000000..b672bb578a7 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/zh-cn.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'zh-cn', { + toolbar: '源码' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/zh.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/zh.js new file mode 100644 index 00000000000..8f4bc938350 --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/lang/zh.js @@ -0,0 +1,7 @@ +/* +Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.md or http://ckeditor.com/license +*/ +CKEDITOR.plugins.setLang( 'sourcearea', 'zh', { + toolbar: '原始碼' +} ); diff --git a/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/plugin.js b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/plugin.js new file mode 100644 index 00000000000..25175b6333e --- /dev/null +++ b/htdocs/includes/ckeditor/ckeditor/_source/plugins/sourcearea/plugin.js @@ -0,0 +1,154 @@ +/** + * @license Copyright (c) 2003-2014, CKSource - Frederico Knabben. All rights reserved. + * For licensing, see LICENSE.md or http://ckeditor.com/license + */ + +/** + * @fileOverview The "sourcearea" plugin. It registers the "source" editing + * mode, which displays the raw data being edited in the editor. + */ + +( function() { + CKEDITOR.plugins.add( 'sourcearea', { + lang: 'af,ar,bg,bn,bs,ca,cs,cy,da,de,el,en,en-au,en-ca,en-gb,eo,es,et,eu,fa,fi,fo,fr,fr-ca,gl,gu,he,hi,hr,hu,id,is,it,ja,ka,km,ko,ku,lt,lv,mk,mn,ms,nb,nl,no,pl,pt,pt-br,ro,ru,si,sk,sl,sq,sr,sr-latn,sv,th,tr,ug,uk,vi,zh,zh-cn', // %REMOVE_LINE_CORE% + icons: 'source,source-rtl', // %REMOVE_LINE_CORE% + hidpi: true, // %REMOVE_LINE_CORE% + init: function( editor ) { + // Source mode isn't available in inline mode yet. + if ( editor.elementMode == CKEDITOR.ELEMENT_MODE_INLINE ) + return; + + var sourcearea = CKEDITOR.plugins.sourcearea; + + editor.addMode( 'source', function( callback ) { + var contentsSpace = editor.ui.space( 'contents' ), + textarea = contentsSpace.getDocument().createElement( 'textarea' ); + + textarea.setStyles( + CKEDITOR.tools.extend( { + // IE7 has overflow the
    '; + print ''.$langs->trans('Upgrade').': '; + print $langs->trans('MigrationReloadModule')." ".$mod->getName(); + print ""; + print "
    \n"; + print '
    '; diff --git a/htdocs/langs/ca_ES/accountancy.lang b/htdocs/langs/ca_ES/accountancy.lang index eac7ef67bfe..6667540b9a4 100644 --- a/htdocs/langs/ca_ES/accountancy.lang +++ b/htdocs/langs/ca_ES/accountancy.lang @@ -1,10 +1,10 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 -ACCOUNTING_EXPORT_SEPARATORCSV=Column separator for export file -ACCOUNTING_EXPORT_DATE=Date format for export file +ACCOUNTING_EXPORT_SEPARATORCSV=Separador de columna pel fitxer d'exportació +ACCOUNTING_EXPORT_DATE=Format de data pel fitxer d'exportació ACCOUNTING_EXPORT_PIECE=Export the number of piece ? ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Export with global account ? -ACCOUNTING_EXPORT_LABEL=Export the label ? +ACCOUNTING_EXPORT_LABEL=Exportar l'etiqueta? ACCOUNTING_EXPORT_AMOUNT=Export the amount ? ACCOUNTING_EXPORT_DEVISE=Export the devise ? @@ -22,18 +22,18 @@ JournalFinancial=Diaris financers Exports=Exportacions Export=Exporta Modelcsv=Model d'exportació -OptionsDeactivatedForThisExportModel=For this export model, options are deactivated +OptionsDeactivatedForThisExportModel=Per aquest model d'exportació les opcions estan desactivades Selectmodelcsv=Selecciona un model d'exportació Modelcsv_normal=Exportació clàssica -Modelcsv_CEGID=Export towards CEGID Expert -BackToChartofaccounts=Return chart of accounts -Back=Return +Modelcsv_CEGID=Exporta cap a CEGID Expert +BackToChartofaccounts=Tornar al Pla comptable +Back=Tornar -Definechartofaccounts=Define a chart of accounts -Selectchartofaccounts=Select a chart of accounts +Definechartofaccounts=Definir el Pla comptable +Selectchartofaccounts=Seleccionar el Pla comptable Validate=Validar -Addanaccount=Add an accounting account -AccountAccounting=Accounting account +Addanaccount=Afegir un compte comptable +AccountAccounting=Compte comptable Ventilation=Breakdown ToDispatch=A desglossar Dispatched=Desglossats @@ -44,11 +44,11 @@ TradeMargin=Trade margin Reports=Informes ByCustomerInvoice=By invoices customers ByMonth=Per mes -NewAccount=New accounting account -Update=Update +NewAccount=Nou compte comptable +Update=Actualitzar List=Llistat Create=Crear -CreateMvts=Create movement +CreateMvts=Crear moviment UpdateAccount=Modification of an accounting account UpdateMvts=Modification of a movement WriteBookKeeping=Record accounts in general ledger @@ -58,7 +58,7 @@ AccountBalanceByMonth=Account balance by month AccountingVentilation=Breakdown accounting AccountingVentilationSupplier=Breakdown accounting supplier AccountingVentilationCustomer=Breakdown accounting customer -Line=Line +Line=Línia CAHTF=Total purchase supplier HT InvoiceLines=Lines of invoice to be ventilated @@ -131,14 +131,14 @@ CashPayment=Cash Payment SupplierInvoicePayment=Payment of invoice supplier CustomerInvoicePayment=Payment of invoice customer -ThirdPartyAccount=Thirdparty account +ThirdPartyAccount=Compte de tercer NewAccountingMvt=Nou moviment NumMvts=Nombre de moviment -ListeMvts=List of the movement +ListeMvts=Llistat del moviment ErrorDebitCredit=Debit and Credit cannot have a value at the same time -ReportThirdParty=List thirdparty account +ReportThirdParty=Llitat de comptes de tercers DescThirdPartyReport=Consult here the list of the thirdparty customers and the suppliers and their accounting accounts ListAccounts=List of the accounting accounts diff --git a/htdocs/langs/ca_ES/admin.lang b/htdocs/langs/ca_ES/admin.lang index c0f1a092c7d..76879d8530a 100644 --- a/htdocs/langs/ca_ES/admin.lang +++ b/htdocs/langs/ca_ES/admin.lang @@ -231,8 +231,8 @@ Security=Seguretat Passwords=Contrasenyes DoNotStoreClearPassword=No emmagatzemar la contrasenya sense xifrar a la base MainDbPasswordFileConfEncrypted=Encriptar la contrasenya de la base en l'arxiu conf.php -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
    $dolibarr_main_db_pass="...";
    by
    $dolibarr_main_db_pass="crypted:%s"; -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
    $dolibarr_main_db_pass="crypted:...";
    by
    $dolibarr_main_db_pass="%s"; +InstrucToEncodePass=Per tenir la contrasenya encriptada al fitxer conf.php reemplaça la línia
    $dolibarr_main_db_pass="...";
    per
    $dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=Per tenir la contrasenya descodificada en el fitxer de configuració conf.php , reemplaça en aquest fitxer la línia
    $dolibarr_main_db_pass="crypted:..."
    per
    $dolibarr_main_db_pass="%s" ProtectAndEncryptPdfFiles=Protecció i encriptació dels pdf generats ProtectAndEncryptPdfFilesDesc=La protecció d'un document pdf deixa el document lliure a la lectura ia la impressió a qualsevol lector de PDF. Per contra, la modificació i la còpia resulten impossibles. Feature=Funció diff --git a/htdocs/langs/ca_ES/bills.lang b/htdocs/langs/ca_ES/bills.lang index fe0b3986bba..68f7d01f903 100644 --- a/htdocs/langs/ca_ES/bills.lang +++ b/htdocs/langs/ca_ES/bills.lang @@ -178,7 +178,7 @@ NumberOfBills=Nº de factures NumberOfBillsByMonth=Nº de factures per mes AmountOfBills=Import de les factures AmountOfBillsByMonthHT=Import de les factures per mes (Sense IVA) -ShowSocialContribution=Show social/fiscal tax +ShowSocialContribution=Mostra l'impost social ShowBill=Veure factura ShowInvoice=Veure factura ShowInvoiceReplace=Veure factura rectificativa @@ -270,7 +270,7 @@ BillAddress=Direcció de facturació HelpEscompte=Un descompte és un descompte acordat sobre una factura donada, a un client que va realitzar el seu pagament molt abans del venciment. HelpAbandonBadCustomer=Aquest import es va abandonar (client jutjat com morós) i es considera com una pèrdua excepcional. HelpAbandonOther=Aquest import es va abandonar ja que es tractava d'un error de facturació (mala introducció de dades, factura substituïda per una altra). -IdSocialContribution=Social/fiscal tax payment id +IdSocialContribution=Id. pagament d'impost social PaymentId=ID pagament InvoiceId=Id factura InvoiceRef=Ref. factura @@ -330,8 +330,8 @@ PaymentTypeCB=Targeta PaymentTypeShortCB=Targeta PaymentTypeCHQ=Xec PaymentTypeShortCHQ=Xec -PaymentTypeTIP=Deposit -PaymentTypeShortTIP=Deposit +PaymentTypeTIP=Bestreta +PaymentTypeShortTIP=Bestreta PaymentTypeVAD=Pagament On Line PaymentTypeShortVAD=Pagament On Line PaymentTypeTRA=Lletra de canvi diff --git a/htdocs/langs/ca_ES/boxes.lang b/htdocs/langs/ca_ES/boxes.lang index 8cde2db0235..bf8c68b2bbd 100644 --- a/htdocs/langs/ca_ES/boxes.lang +++ b/htdocs/langs/ca_ES/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Últims contractes BoxLastContacts=Últims contactes/adreçes BoxLastMembers=Últims membres modificats BoxFicheInter=Últimes intervencions modificades -BoxCurrentAccounts=Open accounts balance +BoxCurrentAccounts=Balanç de comptes oberts BoxSalesTurnover=Volum de vendes BoxTotalUnpaidCustomerBills=Total factures a clients pendents de cobrament BoxTotalUnpaidSuppliersBills=Total factures de proveïdors pendents de pagament @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Últims %s membres modificats BoxTitleLastFicheInter=Les %s últimes intervencions modificades BoxTitleOldestUnpaidCustomerBills=Les %s factures més antigues a clients pendents de cobrament BoxTitleOldestUnpaidSupplierBills=Les %s factures més antigues de proveïdors pendents de pagament -BoxTitleCurrentAccounts=Open accounts balances +BoxTitleCurrentAccounts=Balanços de comptes oberts BoxTitleSalesTurnover=Volum de vendes realitzades BoxTitleTotalUnpaidCustomerBills=Factures a clients pendents de cobrament BoxTitleTotalUnpaidSuppliersBills=Factures de proveïdors pendents de pagament diff --git a/htdocs/langs/ca_ES/companies.lang b/htdocs/langs/ca_ES/companies.lang index 53669e6b9af..8592fb6fc4b 100644 --- a/htdocs/langs/ca_ES/companies.lang +++ b/htdocs/langs/ca_ES/companies.lang @@ -30,8 +30,8 @@ ThirdPartyContact=Contacte tercer StatusContactValidated=Estat del contacte Company=Empresa CompanyName=Raó social -AliasNames=Alias name (commercial, trademark, ...) -AliasNameShort=Alias name +AliasNames=Àlies (nom comercial, marca, ...) +AliasNameShort=Nom comercial Companies=Empreses CountryIsInEEC=Pais de la Comunitat Econòmica Europea ThirdPartyName=Nom del tercer @@ -69,7 +69,7 @@ Country=Pais CountryCode=Codi pais CountryId=Id pais Phone=Telèfon -PhoneShort=Phone +PhoneShort=Telèfon Skype=Skype Call=Trucar Chat=Xat @@ -413,10 +413,10 @@ OutstandingBillReached=S'ha arribat al màx. de factures pendents MonkeyNumRefModelDesc=Retorna un número sota el format %syymm-nnnn per als codis de clients i %syymm-nnnn per als codis dels proveïdors, on yy és l'any, mm el mes i nnnn un comptador seqüencial sense ruptura i sense tornar a 0. LeopardNumRefModelDesc=Codi de client/proveïdor lliure sense verificació. Pot ser modificat en qualsevol moment. ManagingDirectors=Nom del gerent(s) (CEO, director, president ...) -SearchThirdparty=Search third party +SearchThirdparty=Buscar tercer SearchContact=Cercar contacte -MergeOriginThirdparty=Duplicate third party (third party you want to delete) -MergeThirdparties=Merge third parties -ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. -ThirdpartiesMergeSuccess=Thirdparties have been merged -ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. +MergeOriginThirdparty=Duplicar tercer (tercer que vols eliminar) +MergeThirdparties=Fusionar tercers +ConfirmMergeThirdparties=Estàs segur que vols fusionar aquest tercer amb l'actual? Tots els objectes relacionats (factures, comandes, ...) serán mogudes al tercer actual i el duplicat serà esborrat. +ThirdpartiesMergeSuccess=Els tercers han sigut fusionats +ErrorThirdpartiesMerge=Hi ha hagut un error mentre s'esborraven els tercers. Per favor, revisa el log. Els canvis han sigut revertits. diff --git a/htdocs/langs/ca_ES/ecm.lang b/htdocs/langs/ca_ES/ecm.lang index 67bee6d0889..1a89340e7be 100644 --- a/htdocs/langs/ca_ES/ecm.lang +++ b/htdocs/langs/ca_ES/ecm.lang @@ -35,7 +35,7 @@ ECMSearchByEntity=Cercar per objecte ECMSectionOfDocuments=Carpetes de documents ECMTypeManual=Manual ECMTypeAuto=Automàtic -ECMDocsBySocialContributions=Documents linked to social or fiscal taxes +ECMDocsBySocialContributions=Documents relacionats als impostos socials o fiscals ECMDocsByThirdParties=Documents associats a tercers ECMDocsByProposals=Documents associats a pressupostos ECMDocsByOrders=Documents associats a comandes diff --git a/htdocs/langs/ca_ES/errors.lang b/htdocs/langs/ca_ES/errors.lang index 1245b6b6664..87976f20caa 100644 --- a/htdocs/langs/ca_ES/errors.lang +++ b/htdocs/langs/ca_ES/errors.lang @@ -65,7 +65,7 @@ ErrorNoValueForCheckBoxType=Els valors de la llista han de ser indicats ErrorNoValueForRadioType=Els valors de la llista han de ser indicats ErrorBadFormatValueList=Els valors de la llista no peudo contenir més d'una coma: %s , però necessita una: clau, valors ErrorFieldCanNotContainSpecialCharacters=El camp %s no ha de contenir caràcters especials -ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contain special characters, nor upper case characters and cannot contain only numbers. +ErrorFieldCanNotContainSpecialNorUpperCharacters=El camp %s no ha de contenir caràcters especials, ni caràcters en majúscula i no pot contindre només números. ErrorNoAccountancyModuleLoaded=Mòdul de comptabilitat no activat ErrorExportDuplicateProfil=El nom d'aquest perfil ja existeix per aquest conjunt d'exportació ErrorLDAPSetupNotComplete=La configuració Dolibarr-LDAP és incompleta. @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript ha d'estar activat per a que aquesta opc ErrorPasswordsMustMatch=Les 2 contrasenyes indicades s'han de correspondre ErrorContactEMail=S'ha produït un error tècnic. Contacti amb l'administrador al e-mail %s, indicant el codi d'error %s en el seu missatge, o pot també adjuntar una còpia de pantalla d'aquesta pàgina. ErrorWrongValueForField=Valor incorrecte per al camp número %s (el valor '%s' no compleix amb la regla %s) -ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s) +ErrorFieldValueNotIn=Valor incorrecte per al camp número %s (el valor '%s' no és un valors disponible en el camp %s de la taula %s) ErrorFieldRefNotIn=Valor incorrecte per al camp nombre %s (el valor '%s' no és una referència existent en %s) ErrorsOnXLines=Errors a %s línies font ErrorFileIsInfectedWithAVirus=L'antivirus no ha pogut validar aquest arxiu (és probable que estigui infectat per un virus)! @@ -100,7 +100,7 @@ ErrorProdIdAlreadyExist=%s es troba assignat a altre tercer ErrorFailedToSendPassword=Error en l'enviament de la contrasenya ErrorFailedToLoadRSSFile=Error en la recuperació del flux RSS. Afegiu la constant MAIN_SIMPLEXMLLOAD_DEBUG si el missatge d'error no és molt explícit. ErrorPasswordDiffers=Les contrasenyes no són identiques, torni a introduir-les -ErrorForbidden=Access denied.
    You try to access to a page, area or feature of a disabled module or without being in an authenticated session or that is not allowed to your user. +ErrorForbidden=Accés denegat.
    Intentes accedir a una pàgina, àrea o funcionalitat d'un mòdul amb desactivat o sense estar en una sessió autenticada o que no se li permet al seu usuari. ErrorForbidden2=Els permisos per a aquest usuari poden ser assignats per l'administrador Dolibarr mitjançant el menú %s-> %s. ErrorForbidden3=Dolibarr no sembla funcionar en una sessió autentificada. Consulteu la documentació d'instal lació de Dolibarr per saber com administrar les autenticacions (htacces, mod_auth o altre ...). ErrorNoImagickReadimage=La classe imagick_readimage no està present en aquesta instal lació de PHP. La ressenya no està doncs disponible. Els administradors poden desactivar aquesta pestanya en el menú Configuració->Visualització. @@ -170,8 +170,8 @@ ErrorGlobalVariableUpdater4=El client SOAP ha fallat amb l'error '%s' ErrorGlobalVariableUpdater5=Sense variable global seleccionada ErrorFieldMustBeANumeric=El camp %s ha de contenir un valor numèric ErrorFieldMustBeAnInteger=El camp %s ha de ser un enter -ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided -ErrorOppStatusRequiredIfAmount=You set an estimated amount for this opportunity/lead. So you must also enter its status +ErrorMandatoryParametersNotProvided=Paràmetre/s obligatori/s no definits +ErrorOppStatusRequiredIfAmount=S'estableix una quantitat estimada per aquesta oportunitat/prospecte. Així que també has d'introduir el seu estat # Warnings WarningMandatorySetupNotComplete=Els paràmetres obligatoris de configuració no estan encara definits @@ -192,4 +192,4 @@ WarningNotRelevant=Operació irrellevant per a aquest conjunt de dades WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Funcionalitat desactivada quant la configuració de visualització és optimitzada per a persones cegues o navegadors de text. WarningPaymentDateLowerThanInvoiceDate=La data de pagament (%s) és anterior a la data (%s) de la factura %s. WarningTooManyDataPleaseUseMoreFilters=Masses dades. Utilitzi més filtres. -WarningSomeLinesWithNullHourlyRate=Some times were recorded by users when their hourly rate was not defined. A value of 0 was used but this may result in wrong valuation of time spent. +WarningSomeLinesWithNullHourlyRate=Algunes vegades van ser registrats pels usuaris quan no s'havia definit el seu preu per hora. Es va utilitzar un valor de 0, però això pot resultar en una valoració equivocada del temps invertit. diff --git a/htdocs/langs/ca_ES/exports.lang b/htdocs/langs/ca_ES/exports.lang index b04d2b75c43..193deaa9f94 100644 --- a/htdocs/langs/ca_ES/exports.lang +++ b/htdocs/langs/ca_ES/exports.lang @@ -48,7 +48,7 @@ NoImportableData=Sense taules de dades importables (cap mòdul amb les definicio FileSuccessfullyBuilt=Arxiu d'exportació generat SQLUsedForExport=Consulta SQL utilitzada per construir el fitxer d'exportació LineId=ID de línia -LineLabel=Label of line +LineLabel=Etiqueta de la línia LineDescription=Descripció de línia LineUnitPrice=Preu unitari de la línia LineVATRate=Tipus d'IVA de la línia @@ -133,4 +133,4 @@ SelectFilterFields=Si vol aplicar un filtre sobre alguns valors, introduïu-los FilterableFields=Camps filtrables FilteredFields=Campos filtrats FilteredFieldsValues=Valors de filtres -FormatControlRule=Format control rule +FormatControlRule=Regla de control de format diff --git a/htdocs/langs/ca_ES/install.lang b/htdocs/langs/ca_ES/install.lang index fd1954da433..1385988fb71 100644 --- a/htdocs/langs/ca_ES/install.lang +++ b/htdocs/langs/ca_ES/install.lang @@ -63,7 +63,7 @@ DatabaseSuperUserAccess=Base de dades - Accés super usuari CheckToCreateDatabase=Seleccioneu aquesta opció si la base de dades no existeix i s'ha de crear. En aquest cas, cal indicar usuari/contrasenya de superusuari, més endavant en aquesta pàgina. CheckToCreateUser=Seleccioneu aquesta opció si l'usuari no existeix i s'ha de crear.
    En aquest cas, cal indicar usuari/contrasenya de superusuari, més endavant en aquesta pàgina. Experimental=(experimental) -Deprecated=(deprecated) +Deprecated=(obsolet) DatabaseRootLoginDescription=Usuari de la base que té els drets de creació de bases de dades o compte per a la base de dades, inútil si la base de dades i el seu usuari ja existeixen (com quan estan en un amfitrió). KeepEmptyIfNoPassword=Deixi buit si l'usuari no té contrasenya SaveConfigurationFile=Gravació del fitxer de configuració diff --git a/htdocs/langs/ca_ES/main.lang b/htdocs/langs/ca_ES/main.lang index 3f4f3e72120..c03059cc575 100644 --- a/htdocs/langs/ca_ES/main.lang +++ b/htdocs/langs/ca_ES/main.lang @@ -57,7 +57,7 @@ ErrorSomeErrorWereFoundRollbackIsDone=S'han trobat alguns errors. Modificacions ErrorConfigParameterNotDefined=El paràmetre %s no està definit en el fitxer de configuració Dolibarr conf.php. ErrorCantLoadUserFromDolibarrDatabase=Impossible trobar l'usuari %s a la base de dades Dolibarr. ErrorNoVATRateDefinedForSellerCountry=Error, cap tipus d'IVA definit per al país '%s'. -ErrorNoSocialContributionForSellerCountry=Error, no social/fiscal taxes type defined for country '%s'. +ErrorNoSocialContributionForSellerCountry=Error, cap tipus d'impost social definit per al país '%s'. ErrorFailedToSaveFile=Error, el registre del fitxer ha fallat. SetDate=Definir data SelectDate=Seleccioneu una data @@ -108,7 +108,7 @@ Yes=Sí no=no No=No All=Tot -Alls=All +Alls=Tot Home=Inici Help=Ajuda OnlineHelp=Ajuda en línia @@ -128,7 +128,7 @@ Disable=Desactivar Disabled=Desactivat Add=Afegir AddLink=Enllaçar -RemoveLink=Remove link +RemoveLink=Elimina enllaç Update=Modificar AddActionToDo=Afegir acció a realitzar AddActionDone=Afegir acció realitzada @@ -303,8 +303,8 @@ UnitPriceHT=Preu base UnitPriceTTC=Preu unitari total PriceU=P.U. PriceUHT=P.U. -AskPriceSupplierUHT=U.P. net Requested -PriceUTTC=U.P. (inc. tax) +AskPriceSupplierUHT=Preu Unitari sol·licitat +PriceUTTC=Preu unitari (IVA inclòs) Amount=Import AmountInvoice=Import factura AmountPayment=Import pagament @@ -341,7 +341,7 @@ IncludedVAT=IVA inclòs HT=Sense IVA TTC=IVA inclòs VAT=IVA -VATs=Sales taxes +VATs=IVAs LT1ES=RE LT2ES=IRPF VATRate=Taxa IVA @@ -416,8 +416,8 @@ Qty=Qt. ChangedBy=Modificat per ApprovedBy=Aprovat per ApprovedBy2=Aprovat per (segona aprovació) -Approved=Approved -Refused=Refused +Approved=Aprovat +Refused=Rebutjada ReCalculate=Recalcular ResultOk=Èxit ResultKo=Error @@ -426,7 +426,7 @@ Reportings=Informes Draft=Esborrany Drafts=Esborranys Validated=Validat -Opened=Open +Opened=Actiu New=Nou Discount=Descompte Unknown=Desconegut @@ -683,7 +683,7 @@ LinkedToSpecificUsers=Enllaçat a un contacte d'usuari particular DeleteAFile=Eliminació d'arxiu ConfirmDeleteAFile=Confirme l'eliminació de l'arxiu NoResults=Cap resultat -SystemTools=System tools +SystemTools=Utilitats sistema ModulesSystemTools=Utilitats mòduls Test=Prova Element=Element @@ -709,14 +709,14 @@ ShowTransaction=Mostra transacció GoIntoSetupToChangeLogo=Anar a Inici->Configuració->Empresa per canviar el logotip o anar a Inici->Configuració->Visualització per amagar. Deny=Denegar Denied=Denegad -ListOfTemplates=List of templates -Gender=Gender -Genderman=Man -Genderwoman=Woman -ViewList=List view -Mandatory=Mandatory -Hello=Hello -Sincerely=Sincerely +ListOfTemplates=Llistat de plantilles +Gender=Sexe +Genderman=Home +Genderwoman=Dona +ViewList=Vista llistat +Mandatory=Obligatori +Hello=Hola +Sincerely=Sincerament # Week day Monday=Dilluns Tuesday=Dimarts @@ -746,5 +746,5 @@ ShortThursday=Dj ShortFriday=Dv ShortSaturday=Ds ShortSunday=Dg -SelectMailModel=Select email template -SetRef=Set ref +SelectMailModel=Selecciona plantilla d'email +SetRef=Definiar ref diff --git a/htdocs/langs/ca_ES/members.lang b/htdocs/langs/ca_ES/members.lang index e4f1bdd380c..f53d33b7996 100644 --- a/htdocs/langs/ca_ES/members.lang +++ b/htdocs/langs/ca_ES/members.lang @@ -199,8 +199,8 @@ Entreprises=Empreses DOLIBARRFOUNDATION_PAYMENT_FORM=Per realitzar el pagament de la seva cotització per transferència bancària, visiteu la pàgina http://wiki.dolibarr.org/index.php/Subscribirse.
    Per pagar amb targeta de crèdit o PayPal, feu clic al botó a la part inferior d'aquesta pàgina.

    ByProperties=Per característiques MembersStatisticsByProperties=Estadístiques dels membres per característiques -MembersByNature=This screen show you statistics on members by nature. -MembersByRegion=This screen show you statistics on members by region. +MembersByNature=Aquesta pantalla mostra les estadístiques de membres per naturalesa. +MembersByRegion=Aquesta pantalla mostra les teves estadístiques de membres per regió. VATToUseForSubscriptions=Taxa d'IVA per les afiliacions NoVatOnSubscription=Sense IVA per a les afiliacions MEMBER_PAYONLINE_SENDEMAIL=E-Mail per advertir en cas de recepció de confirmació d'un pagament validat d'una afiliació diff --git a/htdocs/langs/ca_ES/other.lang b/htdocs/langs/ca_ES/other.lang index 5dc62cb7821..c5b54076c73 100644 --- a/htdocs/langs/ca_ES/other.lang +++ b/htdocs/langs/ca_ES/other.lang @@ -204,7 +204,7 @@ ClickHereToGoTo=Faci clic aquí per anar a %s YouMustClickToChange=però, primer ha de fer clic en el següent enllaç per validar aquest canvi de contrasenya ForgetIfNothing=Si vostè no ha sol·licitat aquest canvi, simplement ignori aquest e-mail. Les seves credencials són guardades de forma segura IfAmountHigherThan=si l'import es major que %s -SourcesRepository=Repository for sources +SourcesRepository=Repositori de fonts ##### Calendar common ##### AddCalendarEntry=Afegir entrada al calendari diff --git a/htdocs/langs/ca_ES/projects.lang b/htdocs/langs/ca_ES/projects.lang index 63f74811402..99fc6da9fa5 100644 --- a/htdocs/langs/ca_ES/projects.lang +++ b/htdocs/langs/ca_ES/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Aquesta vista mostra tots els projectes en els que vostè té ProjectsPublicTaskDesc=Aquesta vista mostra tots els projectes als que té dret a visualitzar ProjectsDesc=Aquesta vista mostra tots els projectes (les seves autoritzacions li ofereixen una visió completa). MyTasksDesc=Aquesta vista es limita als projectes i tasques en què vostè és un contacte afectat en almenys una tasca (qualsevol tipus). -OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). +OnlyOpenedProject=Només visibles els projectes oberts (els projectes en estat d'esborrany o tancats no són visibles) TasksPublicDesc=Aquesta vista mostra tots els projectes i tasques en els que vostè té dret a tenir visibilitat. TasksDesc=Aquesta vista mostra tots els projectes i tasques (les sevas autoritzacions li ofereixen una visió completa). AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. Assign task to you if you want to enter time on it. @@ -26,8 +26,8 @@ ConfirmDeleteATask=Esteu segur de voler eliminar aquesta tasca? OfficerProject=Responsable del projecte LastProjects=Els %s ultims projectes AllProjects=Tots els projectes -OpenedProjects=Opened projects -OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects +OpenedProjects=Projectes oberts +OpportunitiesStatusForOpenedProjects=Estat d'oportunitats per projectes oberts ProjectsList=Llistat de projectes ShowProject=Veure projecte SetProject=Definir projecte @@ -78,10 +78,10 @@ ListFichinterAssociatedProject=Llistat d'intervencions associades al projecte ListExpenseReportsAssociatedProject=Llistat d'informes de despeses associades al projecte ListDonationsAssociatedProject=Llistat de donacions associades al projecte ListActionsAssociatedProject=Llista d'esdeveniments associats al projecte -ListTaskTimeUserProject=List of time consumed on tasks of project -TaskTimeUserProject=Time consumed on tasks of project -ActivityOnProjectToday=Activity on project today -ActivityOnProjectYesterday=Activity on project yesterday +ListTaskTimeUserProject=Llistat del temps consumit en tasques d'aquest projecte +TaskTimeUserProject=Temps consumit en tasques del projecte +ActivityOnProjectToday=Activitat en el projecte avui +ActivityOnProjectYesterday=Activitat en el projecte ahir ActivityOnProjectThisWeek=Activitat en el projecte aquesta setmana ActivityOnProjectThisMonth=Activitat en el projecte aquest mes ActivityOnProjectThisYear=Activitat en el projecte aquest any @@ -97,7 +97,7 @@ ReOpenAProject=Reobrir projecte ConfirmReOpenAProject=Esteu segur de voler reobrir aquest projecte? ProjectContact=Contactes projecte ActionsOnProject=Esdeveniments del projecte -OpenedProjects=Opened projects +OpenedProjects=Projectes oberts YouAreNotContactOfProject=Vostè no és contacte d'aquest projecte privat DeleteATimeSpent=Eliminació de temps dedicat ConfirmDeleteATimeSpent=Esteu segur de voler eliminar aquest temps dedicat? @@ -126,10 +126,10 @@ ProjectCreatedInDolibarr=Projecte %s creat TaskCreatedInDolibarr=La tasca %s a sigut creada TaskModifiedInDolibarr=La tasca %s a sigut modificada TaskDeletedInDolibarr=La tasca %s a sigut eliminada -OpportunityStatus=Opportunity status -OpportunityStatusShort=Opp. status -OpportunityAmount=Opportunity amount -OpportunityAmountShort=Opp. amount +OpportunityStatus=Estat d'oportunitats +OpportunityStatusShort=Estat d'oportunitat +OpportunityAmount=Import d'oportunitats +OpportunityAmountShort=Import d'oportunitat ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Cap de projecte TypeContact_project_external_PROJECTLEADER=Cap de projecte @@ -150,7 +150,7 @@ PlannedWorkloadShort=Carrega de treball WorkloadOccupation=Assignació de carrega de treball ProjectReferers=Objectes vinculats SearchAProject=Cercar un projecte -SearchATask=Search a task +SearchATask=Cerca una tasca ProjectMustBeValidatedFirst=El projecte primer ha de ser validat ProjectDraft=Projectes esborrany FirstAddRessourceToAllocateTime=Associate a resource to allocate time @@ -158,28 +158,28 @@ InputPerDay=Entrada per dia InputPerWeek=Entrada per setmana InputPerAction=Entrada per acció TimeAlreadyRecorded=Temps dedicat ja registrat per aquesta tasca/dia i usuari %s -ProjectsWithThisUserAsContact=Projects with this user as contact -TasksWithThisUserAsContact=Tasks assigned to this user -ResourceNotAssignedToProject=Not assigned to project -ResourceNotAssignedToTask=Not assigned to task -AssignTaskToMe=Assign task to me -AssignTask=Assign -ProjectOverview=Overview -ManageTasks=Use projects to follow tasks and time -ManageOpportunitiesStatus=Use projects to follow leads/opportinuties -ProjectNbProjectByMonth=Nb of created projects by month +ProjectsWithThisUserAsContact=Projectes amb aquest usuari com a contacte +TasksWithThisUserAsContact=Tasques asignades a l'usuari +ResourceNotAssignedToProject=No assignat a cap projecte +ResourceNotAssignedToTask=No assignat a cap tasca +AssignTaskToMe=Assignar-me una tasca +AssignTask=Assigna +ProjectOverview=Informació general +ManageTasks=Utilitza els projectes per seguir tasques i temps +ManageOpportunitiesStatus=Utilitza els projectes per seguir oportunitats +ProjectNbProjectByMonth=Nº de projectes creats per mes ProjectOppAmountOfProjectsByMonth=Amount of opportunities by month ProjectWeightedOppAmountOfProjectsByMonth=Weighted amount of opportunities by month ProjectOpenedProjectByOppStatus=Opened project/lead by opportunity status ProjectsStatistics=Statistics on projects/leads TaskAssignedToEnterTime=Task assigned. Entering time on this task should be possible. -OpenedProjectsByThirdparties=Opened projects by thirdparties -OpportunityTotalAmount=Opportunities total amount +OpenedProjectsByThirdparties=Projectes oberts per tercers +OpportunityTotalAmount=Import total d'oportunitats OpportunityPonderatedAmount=Opportunities weighted amount OppStatusPROSP=Prospection OppStatusQUAL=Qualification -OppStatusPROPO=Proposal +OppStatusPROPO=Pressupost OppStatusNEGO=Negociation -OppStatusPENDING=Pending -OppStatusWIN=Won -OppStatusLOST=Lost +OppStatusPENDING=Pendent +OppStatusWIN=Guanyat +OppStatusLOST=Perdut diff --git a/htdocs/langs/ca_ES/propal.lang b/htdocs/langs/ca_ES/propal.lang index e5cc3479e1e..677a28058de 100644 --- a/htdocs/langs/ca_ES/propal.lang +++ b/htdocs/langs/ca_ES/propal.lang @@ -52,7 +52,7 @@ PropalsToBill=Pressupostos signats a facturar ListOfProposals=Llistat de pressupostos ActionsOnPropal=Esdeveniments sobre el pressupost NoOpenedPropals=Sense pressupostos oberts -NoOtherOpenedPropals=No other open commercial proposals +NoOtherOpenedPropals=No hi ha altres pressupostos oberts RefProposal=Ref. pressupost SendPropalByMail=Enviar pressupost per e-mail AssociatedDocuments=Documents associats al pressupost: @@ -98,4 +98,4 @@ DocModelJauneDescription=Model de pressupost Jaune DefaultModelPropalCreate=Model per defecte DefaultModelPropalToBill=Model per defecte en tancar un pressupost (a facturar) DefaultModelPropalClosed=Model per defecte en tancar un pressupost (no facturat) -ProposalCustomerSignature=Written acceptance, company stamp, date and signature +ProposalCustomerSignature=Acceptació per escrit, segell de l'empresa, data i signatura diff --git a/htdocs/langs/ca_ES/suppliers.lang b/htdocs/langs/ca_ES/suppliers.lang index 6e2e6d161cd..be4d1a4a36f 100644 --- a/htdocs/langs/ca_ES/suppliers.lang +++ b/htdocs/langs/ca_ES/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Enviat a proveïdors ListOfSupplierOrders=Llista de comandes a proveïdors MenuOrdersSupplierToBill=Comandes a proveïdors a facturar NbDaysToDelivery=Temps d'entrega en dies -DescNbDaysToDelivery=The biggest deliver delay of the products from this order -UseDoubleApproval=Use double approval when amount (without tax) is higher than (The second approval can be done by any user with the dedicated permission. Set to 0 for no double approval) +DescNbDaysToDelivery=El retard més gran d'entrega dels productes d'aquesta comanda +UseDoubleApproval=Utilitza la doble aprovació quan l'import (sense impostos) és més gran (la segona aprovació es pot fer per un usuari amb els permisos dedicats. Posa 0 per deshabilitar la doble aprovació). diff --git a/htdocs/langs/ca_ES/trips.lang b/htdocs/langs/ca_ES/trips.lang index 8f0546ed429..5ba330cadd5 100644 --- a/htdocs/langs/ca_ES/trips.lang +++ b/htdocs/langs/ca_ES/trips.lang @@ -1,21 +1,21 @@ # Dolibarr language file - Source file is en_US - trips ExpenseReport=Expense report ExpenseReports=Expense reports -Trip=Expense report -Trips=Expense reports -TripsAndExpenses=Expenses reports -TripsAndExpensesStatistics=Expense reports statistics +Trip=Informe de despeses +Trips=Informes de despeses +TripsAndExpenses=Informes de despeses +TripsAndExpensesStatistics=Estadístiques de l'informe de despeses TripCard=Expense report card -AddTrip=Create expense report -ListOfTrips=List of expense reports +AddTrip=Crear informe de despeses +ListOfTrips=Llistat de informes de despeses ListOfFees=Llistat notes de honoraris -ShowTrip=Show expense report -NewTrip=New expense report +ShowTrip=Mostra l'informe de despeses +NewTrip=Nou informe de despeses CompanyVisited=Empresa/institució visitada Kilometers=Quilòmetres FeesKilometersOrAmout=Import o quilòmetres -DeleteTrip=Delete expense report -ConfirmDeleteTrip=Are you sure you want to delete this expense report ? +DeleteTrip=Eliminar informe de despeses +ConfirmDeleteTrip=Esteu segur de voler eliminar aquest informe de despeses? ListTripsAndExpenses=List of expense reports ListToApprove=Waiting for approval ExpensesArea=Expense reports area @@ -54,17 +54,17 @@ Date_DEBUT=Period date start Date_FIN=Period date end ModePaiement=Payment mode Note=Note -Project=Project +Project=Projecte VALIDATOR=User responsible for approval -VALIDOR=Approved by -AUTHOR=Recorded by -AUTHORPAIEMENT=Paid by -REFUSEUR=Denied by -CANCEL_USER=Deleted by +VALIDOR=Aprovat per +AUTHOR=Desat per +AUTHORPAIEMENT=Pagat per +REFUSEUR=Denegat per +CANCEL_USER=Eliminat per -MOTIF_REFUS=Reason -MOTIF_CANCEL=Reason +MOTIF_REFUS=Raó +MOTIF_CANCEL=Raó DATE_REFUS=Deny date DATE_SAVE=Validation date @@ -72,8 +72,8 @@ DATE_VALIDE=Validation date DATE_CANCEL=Cancelation date DATE_PAIEMENT=Payment date -TO_PAID=Pay -BROUILLONNER=Reopen +TO_PAID=Pagar +BROUILLONNER=Reobrir SendToValid=Sent on approval ModifyInfoGen=Edita ValidateAndSubmit=Validate and submit for approval diff --git a/htdocs/langs/ca_ES/users.lang b/htdocs/langs/ca_ES/users.lang index cb82636b03d..1642d6e9b8f 100644 --- a/htdocs/langs/ca_ES/users.lang +++ b/htdocs/langs/ca_ES/users.lang @@ -57,7 +57,7 @@ RemoveFromGroup=Eliminar del grup PasswordChangedAndSentTo=Contrasenya canviada i enviada a %s. PasswordChangeRequestSent=Petició de canvi de contrasenya per a %s enviada a %s. MenuUsersAndGroups=Usuaris i grups -MenuMyUserCard=My user card +MenuMyUserCard=La meva fitxa d'usuari LastGroupsCreated=Els %s darrers grups creats LastUsersCreated=Els %s darrers usuaris creats ShowGroup=Veure grup diff --git a/htdocs/langs/de_AT/bills.lang b/htdocs/langs/de_AT/bills.lang index 5ff216e9fd4..dcd0a6ed2bd 100644 --- a/htdocs/langs/de_AT/bills.lang +++ b/htdocs/langs/de_AT/bills.lang @@ -15,6 +15,10 @@ NewRelativeDiscount=Neue relative Rabatt DescTaxAndDividendsArea=Dieser Bereich stellt eine Übersicht über alle Zahlungen, die für die Steuer-oder Sozialabgaben. Nur Datensätze mit der Bezahlung während der festgesetzten Jahr hier. RelatedBill=Verwandte Rechnung PaymentConditionRECEP=Prompt nach Rechnungserhalt +PaymentTypeTIP=Deposit +PaymentTypeShortTIP=Deposit +PaymentTypeTRA=Bill payment +PaymentTypeShortTRA=Bill LawApplicationPart2=Die Ware bleibt Eigentum der LawApplicationPart3=der Verkäufer bis zur vollständigen Einlösung des LawApplicationPart4=ihren Preis. diff --git a/htdocs/langs/de_AT/holiday.lang b/htdocs/langs/de_AT/holiday.lang new file mode 100644 index 00000000000..e26f36ab6e1 --- /dev/null +++ b/htdocs/langs/de_AT/holiday.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - holiday +Permission20001=Read you own leave requests +Permission20004=Read leave requests for everybody diff --git a/htdocs/langs/de_AT/main.lang b/htdocs/langs/de_AT/main.lang index d90d69cf151..25ce50989f6 100644 --- a/htdocs/langs/de_AT/main.lang +++ b/htdocs/langs/de_AT/main.lang @@ -65,3 +65,4 @@ AttributeCode=Attribut-Code OptionalFieldsSetup=Optionale Felder einrichten CreateDraft=Erstelle Entwurf NoPhotoYet=Es wurde noch kein Bild hochgeladen +ShowTransaction=Show transaction diff --git a/htdocs/langs/de_CH/admin.lang b/htdocs/langs/de_CH/admin.lang index 1c53b65c99c..b269ff29dee 100644 --- a/htdocs/langs/de_CH/admin.lang +++ b/htdocs/langs/de_CH/admin.lang @@ -1,4 +1,7 @@ # Dolibarr language file - Source file is en_US - admin AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

    Put here full path of directories.
    Add a carriage return between eah directory.
    To add a directory of the GED module, add here DOL_DATA_ROOT/ecm/yourdirectoryname.

    Files in those directories must end with .odt. ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir +Permission171=Read trips and expenses (own and his subordinates) +Permission771=Read expense reports (own and his subordinates) diff --git a/htdocs/langs/de_CH/banks.lang b/htdocs/langs/de_CH/banks.lang new file mode 100644 index 00000000000..176f509ef4b --- /dev/null +++ b/htdocs/langs/de_CH/banks.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - banks +RejectCheck=Check rejection +RejectCheckDate=Check rejection date +CheckRejected=Check rejected +CheckRejectedAndInvoicesReopened=Check rejected and invoices reopened diff --git a/htdocs/langs/de_CH/bills.lang b/htdocs/langs/de_CH/bills.lang new file mode 100644 index 00000000000..09a15aeb373 --- /dev/null +++ b/htdocs/langs/de_CH/bills.lang @@ -0,0 +1,52 @@ +# Dolibarr language file - Source file is en_US - bills +BillsCustomersUnpaid=Unbezahlte Kundenrechnungen +BillsCustomersUnpaidForCompany=Unbezahlte Rechnungen vom Kunden %s +BillsSuppliersUnpaid=Unbezahlte Lieferantenrechnungen +BillsSuppliersUnpaidForCompany=Unbezahlte Rechnungen für den Lieferanten %s +BillsStatistics=Zahlungsstatistik - Kundenrechnungen +BillsStatisticsSuppliers=Zahlungsstatistik - Lieferantenrechnungen +DisabledBecauseNotErasable=Das ist deaktiviert, weil ich das nicht löschen kann. +InvoiceStandardAsk=Eine Standardrechnung erstellen +InvoiceStandardDesc=Eine normale Kundenrechnung erstellen +InvoiceDeposit=Akontorechnung +InvoiceDepositAsk=Akontorechnung erstellen +InvoiceDepositDesc=Eine Akontorechnung erstellen +InvoiceProForma=Proformarechnung +InvoiceProFormaAsk=Eine Proformarechnung erstellen +InvoiceReplacementAsk=Eine Ersatzrechnung erstellen +InvoiceReplacementDesc=Eine Ersatzrechnung wird an Stelle einer anderen Rechnung erzeugt. Die andere Rechnung wird so storniert Sie.

    Hinweis: Das funktioniert nur, wenn zur Ursprungsrechnung noch keine Zahlung eingegangen ist. Eine noch nicht geschlossene ersetzte Rechnung fällt automatisch in den Status 'zurückgezogen'. +InvoiceAvoirAsk=Gutschrift zum Vermindern des Rechnungsbetrages +InvoiceAvoirDesc=Mit einer Gutschrift gleichst du eine Rechnung aus, z.B. weil jemand zuviel bezahlt hat, oder du zuviel verrechnet hast. Das kannst du auch bei Minderung benutzen, also einer Preisreduktion durch gelieferte mangelhafte Ware. +CorrectionInvoice=Korrigierte Rechnung +NotConsumed=Nicht verbraucht +NoReplacableInvoice=Ich habe keine ersatzfähige Rechnung. +NoInvoiceToCorrect=Ich habe keine Rechnung zu korrigieren. +InvoiceHasAvoir=Korrigiert durch eine oder mehrere Gutschriften +CardBill=Rechnungsübersicht +InvoiceLine=Rechnungsposition +SupplierBill=LIeferantenrechnung +PaidBack=Zurückbezahlt +DeletePayment=Zahlung löschen +ConfirmDeletePayment=Nur zur Sicherheit: Willst du diese Zahlung wirklich löschen? +ConfirmConvertToReduc=Willst du diese Gutschrift in einen absoluten Rabatt umwandeln?
    Ich mache dir deinen angegebenen Betrag als Rabatt auswählbar, den du in Zukunft bei Rechnungen wieder verwenden kannst. +ReceivedPayments=Zahlungseingang +ReceivedCustomersPayments=Erhaltene Kundenzahlungen +PaymentsReportsForYear=Zahlungsbericht laufendes Jahr für %s +PaymentsBackAlreadyDone=Bereits erledigte Rückzahlungen +PaymentRule=Zahlungsmodalitäten +PaymentConditions=Zahlungsfrist +PaymentConditionsShort=Frist +PaymentAmount=Betrag +PaymentHigherThanReminderToPay=Der eingegangene Betrag ist höher als der Mahnbetrag. +HelpPaymentHigherThanReminderToPay=Hoppla, du willst einen höheren Betrag angeben, als noch offen ist.
    Falls das so stimmt und du daraus z.B. eine Gutschrift machen willst - kein Problem. +ClassifyCanceled=Als 'zurückgezogen' markieren +AddBill=Erstelle eine Rechnung oder Gutschrift +DeleteBill=Rechnung löschen +SearchACustomerInvoice=Kundenrechnung finden +SearchASupplierInvoice=Lieferantenrechnung finden +CancelBill=Rechnung stornieren +SendRemindByMail=Mahnung per E-Mail senden +PaymentTypeTIP=Deposit +PaymentTypeShortTIP=Deposit +PaymentTypeTRA=Bill payment +PaymentTypeShortTRA=Bill diff --git a/htdocs/langs/de_CH/holiday.lang b/htdocs/langs/de_CH/holiday.lang new file mode 100644 index 00000000000..e26f36ab6e1 --- /dev/null +++ b/htdocs/langs/de_CH/holiday.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - holiday +Permission20001=Read you own leave requests +Permission20004=Read leave requests for everybody diff --git a/htdocs/langs/de_CH/main.lang b/htdocs/langs/de_CH/main.lang index 6a5173b676f..30f559a53dc 100644 --- a/htdocs/langs/de_CH/main.lang +++ b/htdocs/langs/de_CH/main.lang @@ -19,3 +19,4 @@ FormatDateHourShort=%d/%m/%Y %H:%M FormatDateHourSecShort=%d/%m/%Y %H:%M:%S FormatDateHourTextShort=%d %b %Y %H:%M FormatDateHourText=%d %B %Y %H:%M +ShowTransaction=Show transaction diff --git a/htdocs/langs/de_CH/projects.lang b/htdocs/langs/de_CH/projects.lang new file mode 100644 index 00000000000..a1c900aeb6b --- /dev/null +++ b/htdocs/langs/de_CH/projects.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - projects +OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects diff --git a/htdocs/langs/de_DE/admin.lang b/htdocs/langs/de_DE/admin.lang index 042fe460c9e..38116938ad2 100644 --- a/htdocs/langs/de_DE/admin.lang +++ b/htdocs/langs/de_DE/admin.lang @@ -39,7 +39,7 @@ InternalUsers=Interne Benutzer ExternalUsers=Externe Benutzer GlobalSetup=Allgemeine Einstellungen GUISetup=Anzeige -SetupArea=Einstellungsübersicht +SetupArea=Einstellungen - Übersicht FormToTestFileUploadForm=Formular für das Testen von Datei-Uplads (je nach Konfiguration) IfModuleEnabled=Anmerkung: Ist nur wirksam wenn Modul %s aktiviert ist RemoveLock=Entfernen Sie die Datei %s falls vorhanden, um das Aktualisierungs-Tool auszuführen @@ -151,7 +151,7 @@ System=System SystemInfo=Systeminformationen SystemToolsArea=Systemwerkzeugsübersicht SystemToolsAreaDesc=In diesem Bereich finden Sie die Verwaltungsfunktionen. Verwenden Sie das linke Menü zur Auswahl der gesuchten Funktion. -Purge=Löschen +Purge=Säubern PurgeAreaDesc=Hier können Sie alle vom System erzeugten und gespeicherten Dateien löschen (temporäre Dateien oder alle Dateien im Verzeichnis %s). Diese Funktion ist nicht erforderlich und richtet sich vorwiegend an Benutzer ohne Zugriff auf das Dateisystem des Webservers (z.B. Hostingpakete) PurgeDeleteLogFile=Löschen der Protokolldatei %s des Systemprotokollmoduls (kein Risiko des Datenverlusts) PurgeDeleteTemporaryFiles=Alle temporären Dateien löschen (kein Datenverlustrisiko) @@ -461,7 +461,7 @@ Module58Name=ClickToDial Module58Desc=ClickToDial-Integration Module59Name=Bookmark4u Module59Desc=Neues Bookmark4u Konto zu Systembenutzerkonto hinzufügen -Module70Name=Service +Module70Name=Arbeitseinsätze Module70Desc=Serviceverwaltung Module75Name=Spesen- und Reiseaufzeichnungen Module75Desc=Reise- und Fahrtspesenverwaltung @@ -566,7 +566,7 @@ Permission13=Rechnungsfreigabe aufheben Permission14=Rechnungen freigeben Permission15=Rechnungen per E-Mail versenden Permission16=Rechnungszahlungen erstellen -Permission19=Rechnungen löschen +Permission19=Kundenrechnungen löschen Permission21=Angebote einsehen Permission22=Angebote erstellen/bearbeiten Permission24=Angebote freigeben @@ -581,10 +581,10 @@ Permission36=Projekte/Leistungen exportieren Permission38=Produkte exportieren Permission41=Projekte und Aufgaben lesen (Geteilte Projekte und Projekte in denen ich Kontakt bin). Es kann auch Zeitaufwand auf zugewiesenen Aufgaben gebucht werden. Permission42=Projekte/Aufgaben erstellen/bearbeiten (Meine) -Permission44=Projekte löschen +Permission44=Projekte und Aufgaben löschen (gemeinsame Projekte und Projekte in welchen ich Ansprechpartner bin) Permission61=Leistungen ansehen Permission62=Leistungen erstellen/bearbeiten -Permission64=Leistungen löschen +Permission64=Interventionen löschen Permission67=Leistungen exportieren Permission71=Mitglieder einsehen Permission72=Mitglieder erstellen/bearbeiten @@ -609,7 +609,7 @@ Permission101=Auslieferungen einsehen Permission102=Auslieferungen erstellen/bearbeiten Permission104=Auslieferungen freigeben Permission106=Auslieferungen exportieren -Permission109=Auslieferungen löschen +Permission109=Sendungen löschen Permission111=Finanzkonten einsehen Permission112=Transaktionen erstellen/ändern/löschen und vergleichen Permission113=Einstellungen Finanzkonten (erstellen, Kategorien verwalten) @@ -852,7 +852,7 @@ LocalTax1IsUsedDescES= Die RE Rate standardmäßig beim Erstellen Aussichten, Re LocalTax1IsNotUsedDescES= Standardmäßig werden die vorgeschlagenen RE 0 ist. Ende der Regel. LocalTax1IsUsedExampleES= In Spanien sind sie Profis unterliegen bestimmten Abschnitten der spanischen IAE. LocalTax1IsNotUsedExampleES= In Spanien sind sie professionelle und Gesellschaften und vorbehaltlich bestimmter Abschnitte der spanischen IAE. -LocalTax2ManagementES= IRPF Management +LocalTax2ManagementES= EKSt. Management LocalTax2IsUsedDescES= Die RE Rate standardmäßig beim Erstellen Aussichten, Rechnungen, Bestellungen etc. folgen die aktive Standard-Regel:
    Ist der Verkäufer nicht zu IRPF ausgesetzt, dann durch IRPF default = 0. Ende der Regel.
    Ist der Verkäufer zur IRPF dann der Einkommenssteuer unterworfen standardmäßig. Ende der Regel.
    LocalTax2IsNotUsedDescES= Standardmäßig werden die vorgeschlagenen IRPF 0 ist. Ende der Regel. LocalTax2IsUsedExampleES= In Spanien, Freiberufler und unabhängigen Fachleuten, die ihre Dienstleistungen und Unternehmen, die das Steuersystem von Modulen gewählt haben. @@ -1254,14 +1254,14 @@ LDAPServerUseTLSExample=Ihr LDAP-Server TLS LDAPServerDn=Server DN LDAPAdminDn=Administrator DN LDAPAdminDnExample=Vollständige DN (zB: cn=adminldap,dc=society,dc=com) -LDAPPassword=Administratorpasswort +LDAPPassword=Administrator-Passwort LDAPUserDn=Benutzer DN LDAPUserDnExample=Vollständige DN (zB: ou=users,dc=society,dc=com) LDAPGroupDn=Gruppen DN LDAPGroupDnExample=Vollständige DN (zB: ou=users,dc=society,dc=com) LDAPServerExample=Server-Adresse (zB: localhost, 192.168.0.2, ldaps://ldap.example.com/) LDAPServerDnExample=Complete DN (zB: dc=company,dc=com) -LDAPPasswordExample=Administratorenpasswort +LDAPPasswordExample=Administrator-Passwort LDAPDnSynchroActive=Benutzer und Gruppensynchronisation LDAPDnSynchroActiveExample=LDAP zu dolibarr oder dolibarr zu LDAP-Synchronisation LDAPDnContactActive=Kontaktesynchronisation @@ -1564,7 +1564,7 @@ WSDLCanBeDownloadedHere=Die WSDL-Datei der verfügbaren Webservices können Sie EndPointIs=SOAP-Clients müssen Ihre Anfragen an den dolibarr-Endpoint unter der folgenden Url stellen ##### API #### ApiSetup=API-Modul-Setup -ApiDesc=Wenn dieses Modula aktiviert ist, wird Dolibarr zum REST Server für diverse web services. +ApiDesc=Wenn dieses Modul aktiviert ist, wird Dolibarr zum REST Server für diverse web services. KeyForApiAccess=Schlüssel um das API zu nutzen (Parameter "api_key") ApiProductionMode=Aktiviere Produktionsmodus ApiEndPointIs=Sie können das API mit dieser URL verwenden diff --git a/htdocs/langs/de_DE/agenda.lang b/htdocs/langs/de_DE/agenda.lang index ee6f3ca0065..f4072dcbbd8 100644 --- a/htdocs/langs/de_DE/agenda.lang +++ b/htdocs/langs/de_DE/agenda.lang @@ -74,8 +74,8 @@ AgendaUrlOptions2=login=%s begrenzt die Ausgabe auf den Benutzer %slogina=%s begrenzt die Ausgabe auf den Benutzer %s erstellte Ereignissen. AgendaUrlOptions4=logint=%s begrenzt die Ausgabe auf den Benutzer %s zugewiesene Ereignissen. AgendaUrlOptionsProject=project=PROJECT_ID begrenzt die Ausgabe auf die dem Projekte PROJECT_ID zugewiesene Ereignissen. -AgendaShowBirthdayEvents=Zeige Geburtstage -AgendaHideBirthdayEvents=Geburtstage ausblenden +AgendaShowBirthdayEvents=Zeige Geburtstage von Kontakten +AgendaHideBirthdayEvents=Geburtstage von Kontakten ausblenden Busy=Besetzt ExportDataset_event1=Liste Ereignisse des Kalender DefaultWorkingDays=Standard-Werktage der Woche (z.B. 1-5, 1-6) @@ -90,15 +90,15 @@ ExtSiteUrlAgenda=URL Adresse um .ical Datei zu erreichen ExtSiteNoLabel=Keine Beschreibung WorkingTimeRange=Arbeitszeit-Bereich WorkingDaysRange=Arbeitstag-Bereich -VisibleTimeRange=Visible time range -VisibleDaysRange=Visible days range +VisibleTimeRange=Sichtbare Stunden Bereich +VisibleDaysRange=Sichtbare Tage Bereich AddEvent=Ereignis erstellen MyAvailability=Meine Verfügbarkeit ActionType=Ereignistyp DateActionBegin=Beginnzeit des Ereignis -CloneAction=dupliziere Ereignis +CloneAction=Dupliziere Ereignis ConfirmCloneEvent=Möchten Sie dieses Ereignis %s wirklich duplizieren? -RepeatEvent=wiederhole Ereignis +RepeatEvent=Wiederhole Ereignis EveryWeek=Jede Woche EveryMonth=Jeden Monat DayOfMonth=Tag des Monat diff --git a/htdocs/langs/de_DE/bills.lang b/htdocs/langs/de_DE/bills.lang index 47f7a2914dc..82834228778 100644 --- a/htdocs/langs/de_DE/bills.lang +++ b/htdocs/langs/de_DE/bills.lang @@ -142,7 +142,7 @@ LastBills=%s neueste Rechnungen LastCustomersBills=%s neueste Kundenrechnungen LastSuppliersBills=Letzte %s Lieferantenrechnungen AllBills=Alle Rechnungen -OtherBills=Sonstige Rechnungen +OtherBills=Weitere Rechnungen DraftBills=Rechnungsentwürfe CustomersDraftInvoices=Entwürfe Kundenrechnungen SuppliersDraftInvoices=Entwürfe Lieferantenrechnungen @@ -211,7 +211,7 @@ SendBillByMail=Rechnung per E-Mail versenden SendReminderBillByMail=Erinnerung per E-Mail versenden RelatedCommercialProposals=Verknüpfte Angebote MenuToValid=Zur Freigabe -DateMaxPayment=Zahlungsziel +DateMaxPayment=Zahlung fällig bis DateEcheance=Zahlungsfrist (Limit) DateInvoice=Rechnungsdatum NoInvoice=Keine Rechnung @@ -227,7 +227,7 @@ RepeatableInvoice=Rechnungs-Vorlage RepeatableInvoices=Rechnungs-Vorlagen Repeatable=Vorlage Repeatables=Vorlagen -ChangeIntoRepeatableInvoice=In Rechnungs-Vorlage umwandeln +ChangeIntoRepeatableInvoice=erzeuge Rechnungsvorlage CreateRepeatableInvoice=Rechnungs-Vorlage erstellen CreateFromRepeatableInvoice=Aus Rechnungs-Vorlage erzeugen CustomersInvoicesAndInvoiceLines=Kundenrechnungen und -positionen @@ -294,8 +294,8 @@ TotalOfTwoDiscountMustEqualsOriginal=Insgesamt zwei neue Rabatt muss gleich zu d ConfirmRemoveDiscount=Sind Sie sicher, dass Sie diesen Rabatt entfernen möchten? RelatedBill=Ähnliche Rechnung RelatedBills=Ähnliche Rechnungen -RelatedCustomerInvoices=Ähnliche Rechnungen -RelatedSupplierInvoices=Ähnliche Rechnungen +RelatedCustomerInvoices=Ähnliche Kundenrechnungen +RelatedSupplierInvoices=Ähnliche Lieferantenrechnungen LatestRelatedBill=Letzte ähnliche Rechnung WarningBillExist=Achtung, es existiert bereits mindestens eine Rechnung MergingPDFTool=PDF zusammenfügen @@ -330,8 +330,8 @@ PaymentTypeCB=Kreditkarte PaymentTypeShortCB=Kreditkarte PaymentTypeCHQ=Scheck PaymentTypeShortCHQ=Scheck -PaymentTypeTIP=Deposit -PaymentTypeShortTIP=Deposit +PaymentTypeTIP=Anzahlung +PaymentTypeShortTIP=Anzahlung PaymentTypeVAD=Online-Zahlung PaymentTypeShortVAD=Online-Zahlung PaymentTypeTRA=Zahlung auf Rechnung diff --git a/htdocs/langs/de_DE/bookmarks.lang b/htdocs/langs/de_DE/bookmarks.lang index 78f28cf4a1e..4fad7a9b231 100644 --- a/htdocs/langs/de_DE/bookmarks.lang +++ b/htdocs/langs/de_DE/bookmarks.lang @@ -10,10 +10,10 @@ BookmarkTargetNewWindowShort=Neues Fenster BookmarkTargetReplaceWindowShort=Aktuelles Fenster BookmarkTitle=Titel des Lesezeichens UrlOrLink=Link -BehaviourOnClick=Verhalten bei Klick auf den Link +BehaviourOnClick=Verhalten wenn ein Link geklickt wird CreateBookmark=Lesezeichen erstellen SetHereATitleForLink=Erfasse hier einen Titel für das Lesezeichen UseAnExternalHttpLinkOrRelativeDolibarrLink=Verwenden Sie eine absolute externe URL oder eine relative Dolibarr URL -ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Bitte wählen Sie, ob sich ein geklickter Link in einem neuen oder demselben Fenster öffnet +ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Bitte wählen Sie, ob sich ein geklickter Link in einem neuen oder im selben Fenster öffnet BookmarksManagement=Verwalten von Lesezeichen ListOfBookmarks=Liste der Lesezeichen diff --git a/htdocs/langs/de_DE/boxes.lang b/htdocs/langs/de_DE/boxes.lang index cbb0b1a9d18..b9479edcda5 100644 --- a/htdocs/langs/de_DE/boxes.lang +++ b/htdocs/langs/de_DE/boxes.lang @@ -2,7 +2,7 @@ BoxLastRssInfos=RSS-Information BoxLastProducts=Letzte %s Produkte/Leistungen BoxProductsAlertStock=Lagerbestands-Warnungen -BoxLastProductsInContract=Letzte %s verkauften Leistungen in Verträgen +BoxLastProductsInContract=Letzte %s Produkte/Leistungen unter Vertrag genommen BoxLastSupplierBills=Zuletzt bearbeitete Lieferantenrechnungen BoxLastCustomerBills=Zuletzt bearbeitete Kundenrechnungen BoxOldestUnpaidCustomerBills=Älteste offene Kundenrechnungen @@ -18,7 +18,7 @@ BoxLastActions=Zuletzt bearbeitete Ereignisse BoxLastContracts=Zuletzt abgeschlossene Verträge BoxLastContacts=Letzte Kontakte/Adressen BoxLastMembers=Letzte Mitglieder -BoxFicheInter=Neueste Eingriffe +BoxFicheInter=Letzte Einsätze BoxCurrentAccounts=Saldo offene Konten BoxSalesTurnover=Umsatz BoxTotalUnpaidCustomerBills=Summe offener Kundenrechnungen (OP Gesamt) @@ -78,7 +78,7 @@ NoRecordedProducts=Keine erfassten Produkte/Leistungen NoRecordedProspects=Keine erfassten Leads NoContractedProducts=Keine Produkte/Leistungen im Auftrag NoRecordedContracts=Keine Verträge erfasst -NoRecordedInterventions=Keine bearbeiteten Eingriffe +NoRecordedInterventions=Keine verzeichneten Einsätze BoxLatestSupplierOrders=Neueste Lieferantenbestellungen BoxTitleLatestSupplierOrders=Letzte %s Lieferantenbestellungen BoxTitleLatestModifiedSupplierOrders=Letzte %s bearbeiteten Lieferantenbestellungen diff --git a/htdocs/langs/de_DE/categories.lang b/htdocs/langs/de_DE/categories.lang index b9e68579204..20d39df1385 100644 --- a/htdocs/langs/de_DE/categories.lang +++ b/htdocs/langs/de_DE/categories.lang @@ -8,10 +8,10 @@ In=In AddIn=Einfügen in modify=Ändern Classify=Einordnen -CategoriesArea=Kategorienbereich-Übersicht +CategoriesArea=#tags/Kategorien - Übersicht ProductsCategoriesArea=Produkte/Leistungen Kategorien-Übersicht SuppliersCategoriesArea=Lieferantenkategorienübersicht -CustomersCategoriesArea=Kunden- Kategorien/#tags +CustomersCategoriesArea=Kundenkategorien bzw. Suchwörter Übersicht ThirdPartyCategoriesArea=Partner- Kategorien/#tags MembersCategoriesArea=Mitglieder- Kategorien/#tags ContactsCategoriesArea=Kontaktkategorien-Übersicht @@ -49,7 +49,7 @@ CompanyIsInCustomersCategories=Dieser Partner ist folgenden Kunden- Kategorien/# CompanyIsInSuppliersCategories=Dieser Parnter ist folgenden Lieferanten- Kategorien/#tags zugewiesen MemberIsInCategories=Dieses Mitglied ist folgenden Mitglieder- Kategorien/#tags zugewiesen ContactIsInCategories=Dieser Kontakt ist folgenden Kontakte- Kategorien/#tags verknüpft -ProductHasNoCategory=Dieses Produkt/Service ist keiner Kategorie zugewiesen. +ProductHasNoCategory=Dieses Produkt/Leistung ist keiner Kategorie zugewiesen. SupplierHasNoCategory=Dieser Lieferant ist keiner Kategorie zugewiesen. CompanyHasNoCategory=Dieser Partner ist in keiner Kategorie MemberHasNoCategory= Dieses Mitglied ist keiner Kategorie zugewiesen. @@ -101,7 +101,7 @@ CatProdLinks=Verbindung zwischen Produkten/Leistungen und Kategorien CatMemberLinks=Verbindung zwischen Mitgliedern und Kategorien DeleteFromCat=Aus Kategorie entfernen DeletePicture=Bild löschen -ConfirmDeletePicture=Bild wirklich löschen? +ConfirmDeletePicture=Möchten Sie dieses Bild wirklich löschen? ExtraFieldsCategories=Ergänzende Attribute CategoriesSetup=Suchwörter/Kategorien Einstellungen CategorieRecursiv=Automatisch mit übergeordneter Kategorie verbinden diff --git a/htdocs/langs/de_DE/commercial.lang b/htdocs/langs/de_DE/commercial.lang index 36e31421c60..ac088eb9dfb 100644 --- a/htdocs/langs/de_DE/commercial.lang +++ b/htdocs/langs/de_DE/commercial.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - commercial Commercial=Vertrieb -CommercialArea=Vertriebsübersicht +CommercialArea=Vertriebs - Übersicht CommercialCard=Vertriebskarte CustomerArea=Kundenübersicht Customer=Kunde @@ -22,7 +22,7 @@ TaskRDV=Treffen TaskRDVWith=Treffen mit %s ShowTask=Zeige Aufgabe ShowAction=Ereignisse anzeigen -ActionsReport=Ereignis Report +ActionsReport=Ereignis Journal ThirdPartiesOfSaleRepresentative=Partner mit Vertriebsmitarbeiter SalesRepresentative=Vertriebsmitarbeiter SalesRepresentatives=Vertreter diff --git a/htdocs/langs/de_DE/companies.lang b/htdocs/langs/de_DE/companies.lang index b65fe6eb2c4..9c9032f9c04 100644 --- a/htdocs/langs/de_DE/companies.lang +++ b/htdocs/langs/de_DE/companies.lang @@ -24,7 +24,7 @@ SocGroup=Unternehmensgruppe IdThirdParty=Partner ID IdCompany=Unternehmens ID IdContact=Kontakt ID -Contacts=Kontakte +Contacts=Kontakte/Adressen ThirdPartyContacts=Partnerkontakte ThirdPartyContact=Partnerkontakt StatusContactValidated=Status des Kontakts @@ -93,7 +93,7 @@ LocalTax1IsNotUsedES= RE wird nicht verwendet LocalTax2IsUsedES= IRPF wird verwendet LocalTax2IsNotUsedES= IRPF wird nicht verwendet LocalTax1ES=RE -LocalTax2ES=IRPF +LocalTax2ES=EKSt. TypeLocaltax1ES=RE Typ TypeLocaltax2ES=EKSt. Typ TypeES=Typ @@ -109,7 +109,7 @@ ProfId2Short=Prof. ID 2 ProfId3Short=Prof. ID 3 ProfId4Short=Prof. ID 4 ProfId5Short=Prof. ID 5 -ProfId6Short=Prof. ID 6 +ProfId6Short=- ProfId1=Professional ID 1 ProfId2=Professional ID 2 ProfId3=Professional ID 3 @@ -379,7 +379,7 @@ PriceLevel=Preisstufe DeliveriesAddress=Lieferadressen DeliveryAddress=Lieferadresse DeliveryAddressLabel=Lieferadressen-Label -DeleteDeliveryAddress=Lieferadresse löschen +DeleteDeliveryAddress=Löschen einer Lieferadresse ConfirmDeleteDeliveryAddress=Möchten Sie diese Lieferadresse wirklich löschen? NewDeliveryAddress=Neue Lieferadresse AddDeliveryAddress=Adresse erstellen diff --git a/htdocs/langs/de_DE/compta.lang b/htdocs/langs/de_DE/compta.lang index 08abbfcda37..0cf4ae6bb8a 100644 --- a/htdocs/langs/de_DE/compta.lang +++ b/htdocs/langs/de_DE/compta.lang @@ -63,7 +63,7 @@ MenuSpecialExpenses=Sonstige Ausgaben MenuTaxAndDividends=Steuern und Dividenden MenuSalaries=Löhne MenuSocialContributions=Sozialabgaben/Steuern -MenuNewSocialContribution=New social/fiscal tax +MenuNewSocialContribution=Neue Abgabe/Steuer NewSocialContribution=Neue Sozialabgabe / Steuersatz ContributionsToPay=Sozialabgaben/Unternehmenssteuern zu bezahlen AccountancyTreasuryArea=Rechnungswesen/Vermögensverwaltung diff --git a/htdocs/langs/de_DE/contracts.lang b/htdocs/langs/de_DE/contracts.lang index 92ba1779802..145d996c8f6 100644 --- a/htdocs/langs/de_DE/contracts.lang +++ b/htdocs/langs/de_DE/contracts.lang @@ -21,8 +21,8 @@ ServicesLegend=Services Legende Contracts=Verträge ContractsAndLine=Verträge und Zeilen von Verträgen Contract=Vertrag -ContractLine=Contract line -Closing=Closing +ContractLine=Vertragszeile +Closing=Schließen NoContracts=Keine Verträge MenuServices=Leistungen MenuInactiveServices=Inaktive Leistungen diff --git a/htdocs/langs/de_DE/donations.lang b/htdocs/langs/de_DE/donations.lang index 4299cb5025c..f3682d0bcb8 100644 --- a/htdocs/langs/de_DE/donations.lang +++ b/htdocs/langs/de_DE/donations.lang @@ -6,8 +6,8 @@ Donor=Spender Donors=Spender AddDonation=Spende erstellen NewDonation=Neue Spende -DeleteADonation=Delete a donation -ConfirmDeleteADonation=Are you sure you want to delete this donation ? +DeleteADonation=Ein Spende löschen +ConfirmDeleteADonation=Sind Sie sicher, dass diese Spende löschen wollen? ShowDonation=Spenden anzeigen DonationPromise=Zugesagte Spende PromisesNotValid=Ungültige Zusage @@ -16,15 +16,15 @@ DonationsPaid=Bezahlte Spenden DonationsReceived=Erhaltene Spenden PublicDonation=Öffentliche Spenden DonationsNumber=Spendenanzahl -DonationsArea=Spendenübersicht +DonationsArea=Spenden - Übersicht DonationStatusPromiseNotValidated=Zugesagt (nicht freigegeben) DonationStatusPromiseValidated=Zugesagt (freigegeben) DonationStatusPaid=Spende bezahlt DonationStatusPromiseNotValidatedShort=Entwurf DonationStatusPromiseValidatedShort=Freigegeben DonationStatusPaidShort=Bezahlt -DonationTitle=Donation receipt -DonationDatePayment=Payment date +DonationTitle=Spendenbescheinigung +DonationDatePayment=Zahlungsdatum ValidPromess=Zusage freigeben DonationReceipt=Spendenbescheinigung BuildDonationReceipt=Erzeuge Spendenbeleg @@ -35,9 +35,9 @@ DonationRecipient=Spenden Empfänger ThankYou=Danke IConfirmDonationReception=Der Empfänger bestätigt den Erhalt einer Spende in Höhe von MinimumAmount=Mindestbetrag ist %s -FreeTextOnDonations=Free text to show in footer +FreeTextOnDonations=Freier Text der in der Fußzeile angezeigt wird FrenchOptions=Optionen für Frankreich -DONATION_ART200=Show article 200 from CGI if you are concerned -DONATION_ART238=Show article 238 from CGI if you are concerned -DONATION_ART885=Show article 885 from CGI if you are concerned -DonationPayment=Donation payment +DONATION_ART200=Zeige Artikel 200 des CGI, falls Sie betroffen sind +DONATION_ART238=Zeige Artikel 238 des CGI, falls Sie betroffen sind +DONATION_ART885=Zeige Artikel 885 des CGI, falls Sie betroffen sind +DonationPayment=Spendenzahlung diff --git a/htdocs/langs/de_DE/ecm.lang b/htdocs/langs/de_DE/ecm.lang index ab792d8e0c7..a88fe25fc2d 100644 --- a/htdocs/langs/de_DE/ecm.lang +++ b/htdocs/langs/de_DE/ecm.lang @@ -47,7 +47,7 @@ ECMDocsByUsers=Mit Benutzern verknüpfte Dokumente ECMDocsByInterventions=Mit Eingriffen verknüpfte Dokumente ECMNoDirectoryYet=Noch kein Ordner erstellt ShowECMSection=Ordner anzeigen -DeleteSection=Ordner löschen +DeleteSection=Verzeichnis löschen ConfirmDeleteSection=Möchten Sie das Verzeichnis %s wirklich löschen? ECMDirectoryForFiles=Relatives Verzeichnis für Dateien CannotRemoveDirectoryContainsFiles=Entfernen des Ordners nicht möglich, da dieser noch Dateien enthält diff --git a/htdocs/langs/de_DE/errors.lang b/htdocs/langs/de_DE/errors.lang index f9c8d9956da..b20bc17a37b 100644 --- a/htdocs/langs/de_DE/errors.lang +++ b/htdocs/langs/de_DE/errors.lang @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Diese Funktion erfordert aktiviertes JavaScript. Ak ErrorPasswordsMustMatch=Die eingegebenen Passwörter müssen identisch sein. ErrorContactEMail=Ein technischer Fehler ist aufgetreten. Bitte kontaktieren Sie Ihren Administrator unter der folgenden E-Mail-Adresse %s und fügen Sie den Fehlercode %s in Ihrer Nachricht ein, oder (noch besser) fügen Sie einen Screenshot dieser Seite als Anhang bei. ErrorWrongValueForField=Falscher Wert für Feld Nr. %s (Wert '%s' passt nicht zur Regex-Regel %s) -ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s) +ErrorFieldValueNotIn=Nicht korrekter Wert für das Feld Nummer %s (Wert '%s' ist kein verfügbarer Wert im Feld %s der Tabelle %s) ErrorFieldRefNotIn=Falscher Wert für Feldnummer %s (für den Wert '%s' besteht keine %s Referenz) ErrorsOnXLines=Fehler in %s Quellzeilen ErrorFileIsInfectedWithAVirus=Der Virenschutz konnte diese Datei nicht freigeben (eventuell ist diese mit einem Virus infiziert) diff --git a/htdocs/langs/de_DE/exports.lang b/htdocs/langs/de_DE/exports.lang index 8c6f9f7de6e..a0e6dd65b6a 100644 --- a/htdocs/langs/de_DE/exports.lang +++ b/htdocs/langs/de_DE/exports.lang @@ -48,7 +48,7 @@ NoImportableData=Keine importfähigen Daten (kein Modul mit Erlaubnis für Daten FileSuccessfullyBuilt=Exportdatei erfolgreich erzeugt SQLUsedForExport=SQL-Abfrage für Erstellung der Exportdatei genutzt LineId=ID der Zeile -LineLabel=Label of line +LineLabel=Zeilenbeschriftung LineDescription=Beschreibung der Zeile LineUnitPrice=Stückpreis der Zeile LineVATRate=Steuersatz der Zeile @@ -56,7 +56,7 @@ LineQty=Menge der Zeile LineTotalHT=Nettobetrag der Zeile LineTotalTTC=Bruttobetrag der Zeile LineTotalVAT=Steuerbetrag der Zeile -TypeOfLineServiceOrProduct=Art der Zeile (0=Produkt, 1=Service) +TypeOfLineServiceOrProduct=Art der Zeile (0=Produkt, 1=Leistung) FileWithDataToImport=Datei mit zu importierenden Daten FileToImport=Quelldatei für Import FileMustHaveOneOfFollowingFormat=Die Importdatei muss in einem der folgenden Formate vorliegen diff --git a/htdocs/langs/de_DE/interventions.lang b/htdocs/langs/de_DE/interventions.lang index 06db7c0d046..2a94bb1cc95 100644 --- a/htdocs/langs/de_DE/interventions.lang +++ b/htdocs/langs/de_DE/interventions.lang @@ -1,29 +1,29 @@ # Dolibarr language file - Source file is en_US - interventions -Intervention=Eingriff -Interventions=Eingriffe -InterventionCard=Eingriffskarte -NewIntervention=Neuer Eingriff -AddIntervention=Eingriff erstellen -ListOfInterventions=Liste der Eingriffe +Intervention=Arbeitseinsatz +Interventions=Arbeitseinsätze +InterventionCard=Arbeitszeitdokumentation +NewIntervention=Neuer Einsatz +AddIntervention=Einsatz erstellen +ListOfInterventions=Liste der Einsätze EditIntervention=Eingriff bearbeiten ActionsOnFicheInter=Aktionen zum Eingriff -LastInterventions=Letzte %s Eingriffe -AllInterventions=Alle Eingriffe +LastInterventions=Letzte %s Einsätze +AllInterventions=Alle Einsätze CreateDraftIntervention=Eingriffsentwurf CustomerDoesNotHavePrefix=Kunde hat kein Präfix InterventionContact=Kontakt für Eingriffe -DeleteIntervention=Eingriff löschen -ValidateIntervention=Eingriff freigeben +DeleteIntervention=Einsatz löschen +ValidateIntervention=Einsatz freigeben ModifyIntervention=Geänderte Eingriff DeleteInterventionLine=Eingriffszeile löschen -ConfirmDeleteIntervention=Möchten Sie diesen Eingriff wirklich löschen? -ConfirmValidateIntervention=Möchten Sie diesen Eingriff wirklich freigeben? -ConfirmModifyIntervention=Sind Sie sicher, dass Sie ändern möchten diese Intervention? -ConfirmDeleteInterventionLine=Möchten Sie diese Eingriffszeile wirklich löschen? +ConfirmDeleteIntervention=Möchten Sie diese Arbeitsleistung wirklich löschen? +ConfirmValidateIntervention=Möchten Sie diese Arbeitsleistung mit der Referenz %s wirklich freigeben? +ConfirmModifyIntervention=Möchten sie diese Arbeitsleistung wirklich verändern? +ConfirmDeleteInterventionLine=Möchten Sie diese Arbeitsleistung wirklich löschen? NameAndSignatureOfInternalContact=Name und Unterschrift des Mitarbeiter: NameAndSignatureOfExternalContact=Name und Unterschrift des Kunden: -DocumentModelStandard=Standard-Dokumentvorlage für Eingriffe -InterventionCardsAndInterventionLines=Eingriffe und Eingriffszeilen +DocumentModelStandard=Standard-Dokumentvorlage für Arbeitseinsätze +InterventionCardsAndInterventionLines=Einsatzkarte und Einsatzzeilen InterventionClassifyBilled=Eingeordnet "Angekündigt" InterventionClassifyUnBilled=Als "nicht verrechnet" markieren StatusInterInvoiced=Angekündigt @@ -38,7 +38,7 @@ InterventionClassifiedBilledInDolibarr=Eingriff %s als verrechnet eingestuft InterventionClassifiedUnbilledInDolibarr=Eingriff %s als nicht verrechnet eingestuft InterventionSentByEMail=Eingriff %s per E-Mail versandt InterventionDeletedInDolibarr=Eingriff %s gelöscht -SearchAnIntervention=Eingriff suchen +SearchAnIntervention=Arbeitseinsatz suchen ##### Types de contacts ##### TypeContact_fichinter_internal_INTERREPFOLL=Eingriffsnachverfolgung durch Vertreter TypeContact_fichinter_internal_INTERVENING=Eingriff läuft @@ -46,7 +46,7 @@ TypeContact_fichinter_external_BILLING=Rechnungskontakt Kunde TypeContact_fichinter_external_CUSTOMER=Kundenkontakt-Nachverfolgung # Modele numérotation ArcticNumRefModelDesc1=Generisches Nummernmodell -ArcticNumRefModelError=Fehler beim aktivieren +ArcticNumRefModelError=Aktivierung nicht möglich PacificNumRefModelDesc1=Liefere Nummer im Format %syymm-nnnn zurück, wobei yy das Jahr, mm das Monat und nnnn eine Zahlensequenz ohne Nullwert oder Leerzeichen ist PacificNumRefModelError=Eine Interventionskarte beginnend mit $syymm existiert bereits und ist nicht mir dieser Numerierungssequenz kompatibel. Bitte löschen oder umbenennen. PrintProductsOnFichinter=Drucke Produkte auf Eingriffskarte diff --git a/htdocs/langs/de_DE/link.lang b/htdocs/langs/de_DE/link.lang index 0961f84c644..6e40ae870fc 100644 --- a/htdocs/langs/de_DE/link.lang +++ b/htdocs/langs/de_DE/link.lang @@ -1,8 +1,8 @@ -LinkANewFile=Verknüpfen Sie eine neue Datei / Dokument +LinkANewFile=Verknüpfe eine neue Datei /Dokument LinkedFiles=Verknüpfte Dateien und Dokumente -NoLinkFound=Keine eingetragenen Verknüpfungen -LinkComplete=Die Datei wurde erfolgreich verknüpft -ErrorFileNotLinked=Die Datei konnte nicht Verknüpft werden -LinkRemoved=Die Verknüpfung %s wurde entfernt -ErrorFailedToDeleteLink= Fehler beim Löschen des Links '%s' -ErrorFailedToUpdateLink= Fehler beim Aktualisieren der Verknüpfung '%s' +NoLinkFound=Keine verknüpften Links +LinkComplete=Die Datei wurde erfolgreich verlinkt +ErrorFileNotLinked=Die Datei konnte nicht verlinkt werden +LinkRemoved=Der Link %s wurde entfernt +ErrorFailedToDeleteLink= Fehler beim entfernen des Links '%s' +ErrorFailedToUpdateLink= Fehler beim aktualisieren des Link '%s' diff --git a/htdocs/langs/de_DE/main.lang b/htdocs/langs/de_DE/main.lang index cfbb6db32ba..6d22cb3bf8d 100644 --- a/htdocs/langs/de_DE/main.lang +++ b/htdocs/langs/de_DE/main.lang @@ -25,7 +25,7 @@ FormatDateHourTextShort=%d %b %Y %H:%M FormatDateHourText=%d %B %Y %H:%M DatabaseConnection=Datenbankverbindung NoTranslation=Keine Übersetzung -NoRecordFound=Kein Eintrag gefunden +NoRecordFound=Keinen Eintrag gefunden NoError=kein Fehler Error=Fehler ErrorFieldRequired=Feld '%s' ist erforderlich @@ -44,7 +44,7 @@ ErrorFailedToSendMail=Fehler beim Senden der E-Mail (Absender=%s, Empfänger=%s) ErrorAttachedFilesDisabled=Dateianhänge sind auf diesem Server deaktiviert ErrorFileNotUploaded=Die Datei konnte nicht hochgeladen werden. Stellen Sie sicher dass die Dateigröße nicht den gesetzten Maximalwert übersteigt, das Zielverzeichnis über genügend freien Speicherplatz verfügt und noch keine Datei mit gleichem Namen existiert. ErrorInternalErrorDetected=Interner Fehler entdeckt -ErrorNoRequestRan=Abfrage ist nicht erfolgreich gelaufen +ErrorNoRequestRan=Es wurde keine Abfrage ausgeführt ErrorWrongHostParameter=Ungültige Host-Parameter ErrorYourCountryIsNotDefined=Ihr Land ist nicht definiert. Bitte vervollständigen Sie das Profil unter Start - Einstellungen - Firma/Stiftung ErrorRecordIsUsedByChild=Kann diesen Eintrag nicht löschen. Dieser Eintrag wird von mindestens einem untegeordneten Datensatz verwendet. @@ -58,7 +58,7 @@ ErrorConfigParameterNotDefined=Parameter %s innerhalb der Konfigurationsd ErrorCantLoadUserFromDolibarrDatabase=Kann Benutzer %s nicht aus der Systemdatenbank laden. ErrorNoVATRateDefinedForSellerCountry=Fehler, keine MwSt.-Sätze für Land '%s' definiert. ErrorNoSocialContributionForSellerCountry=Fehler, keine Definition für Sozialabgaben/Steuerwerte definiert in Firma '%s'. -ErrorFailedToSaveFile=Fehler beim Speichern der Datei. +ErrorFailedToSaveFile=Fehler, konnte Datei nicht speichern. SetDate=Datum SelectDate=Wählen Sie ein Datum SeeAlso=Siehe auch %s @@ -108,7 +108,7 @@ Yes=Ja no=nein No=Nein All=Alle -Alls=All +Alls=Alle Home=Start Help=Hilfe OnlineHelp=Online-Hilfe @@ -152,14 +152,14 @@ ToClone=Duplizieren ConfirmClone=Wählen Sie die zu duplizierenden Daten: NoCloneOptionsSpecified=Keine Duplikationsoptionen ausgewählt. Of=von -Go=Los +Go=Weiter Run=bearbeiten CopyOf=Duplikat von Show=Zeige ShowCardHere=Zeige Karte Search=Suchen SearchOf=Suche nach -Valid=Gültig +Valid=Freigabe Approve=Genehmigen Disapprove=Abgelehnt ReOpen=Wiedereröffnen @@ -343,7 +343,7 @@ TTC=Brutto VAT=MwSt. VATs=Mehrwertsteuern LT1ES=RE -LT2ES=IRPF +LT2ES=EKSt. VATRate=Steuersatz Average=Durchschnitt Sum=Summe @@ -422,7 +422,7 @@ ReCalculate=Neuberechnung ResultOk=Erfolg ResultKo=Fehlschlag Reporting=Berichterstattung -Reportings=Berichterstattungen +Reportings=Berichte Draft=Entwurf Drafts=Entwürfe Validated=Freigegeben @@ -710,7 +710,7 @@ GoIntoSetupToChangeLogo=Gehen Sie zu Start - Einstellungen - Firma/Stiftung um d Deny=ablehnen Denied=abgelehnt ListOfTemplates=Liste der Vorlagen -Gender=Gender +Gender=Geschlecht Genderman=Mann Genderwoman=Frau ViewList=Listenansicht @@ -747,4 +747,4 @@ ShortFriday=Fr ShortSaturday=Sa ShortSunday=So SelectMailModel=Wähle E-Mail-Vorlage -SetRef=Set ref +SetRef=Set Ref diff --git a/htdocs/langs/de_DE/margins.lang b/htdocs/langs/de_DE/margins.lang index eec6295e31b..884e87460a7 100644 --- a/htdocs/langs/de_DE/margins.lang +++ b/htdocs/langs/de_DE/margins.lang @@ -4,7 +4,7 @@ Margin=Gewinnspanne Margins=Gewinnspannen TotalMargin=Gesamt-Spanne MarginOnProducts=Gewinnspanne / Produkte -MarginOnServices=Gewinnspanne / Services +MarginOnServices=Gewinnspanne / Leistungen MarginRate=Gewinnspannen-Rate MarkRate=Gewinnspannen-Rate DisplayMarginRates=Zeige Gewinnspannen-Raten an @@ -18,7 +18,7 @@ CustomerMargins=Kunden-Gewinnspannen SalesRepresentativeMargins=Vertreter-Gewinnspannen UserMargins=Spannen nach Benutzer ProductService=Produkt oder Service -AllProducts=Alle Produkte und Services +AllProducts=Alle Produkte und Leistungen ChooseProduct/Service=Produkt oder Service wählen StartDate=Vertragsbeginn EndDate=Vertragsende diff --git a/htdocs/langs/de_DE/printing.lang b/htdocs/langs/de_DE/printing.lang index 8da303937fd..1f55661d190 100644 --- a/htdocs/langs/de_DE/printing.lang +++ b/htdocs/langs/de_DE/printing.lang @@ -3,8 +3,8 @@ Module64000Name=Direkt drucken Module64000Desc=Direkt-Druck-System aktivieren PrintingSetup=Direkt-Druck-System einrichten PrintingDesc=Dieses Modul fügt einen "Drucken"-Button zu, um Dokumente direkt zu einen Drucker zu senden. Dies erfordert ein Linux-System mit installiertem CUPS. -MenuDirectPrinting=Direct Printing -DirectPrint=Direct print +MenuDirectPrinting=Direkt drucken +DirectPrint=Direkt drucken ModuleDriverSetup=Modul Treiber einrichten PrintingDriverDesc=Konfigurationsvariablen für den Druck-Treiber. ListDrivers=Treiberliste @@ -12,11 +12,11 @@ PrintTestDesc=Druckerliste FileWasSentToPrinter=Datei %s wurde an den Drucker gesendet NoActivePrintingModuleFound=Kein aktives Modul, um Druckvorgang auszuführen PleaseSelectaDriverfromList=Bitte wählen Sie einen Treiber von der Liste -PleaseConfigureDriverfromList=Please configure the selected driver from list. -SetupDriver=Treibereinstellungen +PleaseConfigureDriverfromList=Bitte konfiguriere den ausgewählten Treiber aus der Liste +SetupDriver=Treiber Einstellungen TestDriver=Test TargetedPrinter=Zieldrucker -UserConf=Je Nutzer einrichten +UserConf=Pro Benutzer einrichten PRINTGCP=Google Cloud Print PrintGCPDesc=Dieser Treiber erlaubt das direkte senden zu ein Drucker via Google Cloud Print PrintingDriverDescprintgcp=Konfigurationsvariablen für den Druck Fahrer Google Cloud Print. @@ -53,7 +53,7 @@ PRINTIPP_USER=Anmeldung PRINTIPP_PASSWORD=Passwort NoPrinterFound=Keine Drucker gefunden (CUPS-Konfiguration prüfen) NoDefaultPrinterDefined=Kein Standarddrucker defininert -DefaultPrinter=Standarddrucker +DefaultPrinter=Standard-Drucker Printer=Drucker CupsServer=CUPS-Server IPP_Uri=Drucker Uri @@ -61,7 +61,7 @@ IPP_Name=Druckername IPP_State=Druckerstatus IPP_State_reason=Status Grund IPP_State_reason1=Status Grund 1 -IPP_BW=schwarz und weiß +IPP_BW=schwarz / weiß IPP_Color=Farbe IPP_Device=IPP Gerät IPP_Media=Druckermedium diff --git a/htdocs/langs/de_DE/products.lang b/htdocs/langs/de_DE/products.lang index ff98247348f..37e9e174459 100644 --- a/htdocs/langs/de_DE/products.lang +++ b/htdocs/langs/de_DE/products.lang @@ -241,7 +241,7 @@ ProductBuilded=Produktion fertiggestellt ProductsMultiPrice=Produkt Multi-Preis ProductsOrServiceMultiPrice=Kundenpreise (von Produkten oder Leistungen, Multi-Preise) ProductSellByQuarterHT=Umsatz Produkte pro Quartal -ServiceSellByQuarterHT=Umsatz Services pro Quartal +ServiceSellByQuarterHT=Umsatz von Leistungen pro Quartal Quarter1=1. Quartal Quarter2=2. Quartal Quarter3=3. Quartal diff --git a/htdocs/langs/de_DE/projects.lang b/htdocs/langs/de_DE/projects.lang index 14cd6b17299..4a219023957 100644 --- a/htdocs/langs/de_DE/projects.lang +++ b/htdocs/langs/de_DE/projects.lang @@ -45,7 +45,7 @@ TaskTimeUser=Benutzer TaskTimeNote=Hinweis TaskTimeDate=Datum TasksOnOpenedProject=Aufgaben in offenen Projekten -WorkloadNotDefined=Workload nicht definiert +WorkloadNotDefined=Arbeitsaufwand nicht definiert NewTimeSpent=Neuer Zeitaufwand MyTimeSpent=Mein Zeitaufwand MyTasks=Meine Aufgaben @@ -80,7 +80,7 @@ ListDonationsAssociatedProject=Liste Spenden, die mit diesem Projekt verknüpft ListActionsAssociatedProject=Liste Ereignisse, die mit diesem Projekt verknüpft sind ListTaskTimeUserProject=Liste mit Zeitaufwand der Projektaufgaben TaskTimeUserProject=Zeitaufwand für Aufgaben des Projektes -ActivityOnProjectToday=Heutige Projektaktivität +ActivityOnProjectToday=Projektaktivitäten von heute ActivityOnProjectYesterday=Projektaktivitäten von gestern ActivityOnProjectThisWeek=Projektaktivitäten dieser Woche ActivityOnProjectThisMonth=Projektaktivitäten dieses Monats @@ -143,11 +143,11 @@ SelectElement=Element wählen AddElement=Mit Element verknüpfen UnlinkElement=Verknüpfung zu Element aufheben # Documents models -DocumentModelBeluga=Project template for linked objects overview -DocumentModelBaleine=Project report template for tasks +DocumentModelBeluga=Bericht Vorlage für verknüpfte Objekte-Übersicht +DocumentModelBaleine=Projektberichtsvorlage für Aufgaben PlannedWorkload=Geplante Auslastung -PlannedWorkloadShort=Workload -WorkloadOccupation=Workloadzuordnung +PlannedWorkloadShort=Arbeitsaufwand +WorkloadOccupation=Zugeordneter Arbeitsaufwand ProjectReferers=Verknüpfte Objekte SearchAProject=Projekt suchen SearchATask=Aufgabe suchen diff --git a/htdocs/langs/de_DE/propal.lang b/htdocs/langs/de_DE/propal.lang index c5ecebc064d..095d3a308cf 100644 --- a/htdocs/langs/de_DE/propal.lang +++ b/htdocs/langs/de_DE/propal.lang @@ -42,7 +42,7 @@ PropalStatusNotSigned=Nicht unterzeichnet (geschlossen) PropalStatusBilled=Verrechnet PropalStatusDraftShort=Entwurf PropalStatusValidatedShort=Freigegeben -PropalStatusOpenedShort=offen +PropalStatusOpenedShort=Offen PropalStatusClosedShort=Geschlossen PropalStatusSignedShort=Unterzeichnet PropalStatusNotSignedShort=Nicht unterzeichnet diff --git a/htdocs/langs/de_DE/stocks.lang b/htdocs/langs/de_DE/stocks.lang index 72003dfbe11..be091b2950e 100644 --- a/htdocs/langs/de_DE/stocks.lang +++ b/htdocs/langs/de_DE/stocks.lang @@ -24,7 +24,7 @@ ErrorWarehouseLabelRequired=Warenlager-Label erforderlich CorrectStock=Lagerbestand anpassen ListOfWarehouses=Liste der Warenlager ListOfStockMovements=Liste der Lagerbewegungen -StocksArea=Lagerbereich +StocksArea=Warenlager - Übersicht Location=Standort LocationSummary=Kurzbezeichnung Standort NumberOfDifferentProducts=Anzahl unterschiedlicher Produkte diff --git a/htdocs/langs/de_DE/users.lang b/htdocs/langs/de_DE/users.lang index f5cc4aa714a..a9751c544fd 100644 --- a/htdocs/langs/de_DE/users.lang +++ b/htdocs/langs/de_DE/users.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - users -HRMArea=PM - Personalmanagment - Übersicht +HRMArea=Personalmanagment - Übersicht UserCard=Benutzerkarte ContactCard=Kontaktkarte GroupCard=Firmenverbundkarte diff --git a/htdocs/langs/el_GR/accountancy.lang b/htdocs/langs/el_GR/accountancy.lang index 26bc6462cf4..8d8ed1ae60d 100644 --- a/htdocs/langs/el_GR/accountancy.lang +++ b/htdocs/langs/el_GR/accountancy.lang @@ -1,7 +1,7 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 -ACCOUNTING_EXPORT_SEPARATORCSV=Column separator for export file -ACCOUNTING_EXPORT_DATE=Date format for export file +ACCOUNTING_EXPORT_SEPARATORCSV=Διαχωριστής στηλών για το αρχείο που θα εξαχθεί +ACCOUNTING_EXPORT_DATE=Μορφή ημερομηνίας για το αρχείο που θα εξαγθεί ACCOUNTING_EXPORT_PIECE=Export the number of piece ? ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Export with global account ? ACCOUNTING_EXPORT_LABEL=Export the label ? diff --git a/htdocs/langs/el_GR/admin.lang b/htdocs/langs/el_GR/admin.lang index eec83b85740..91489e502f2 100644 --- a/htdocs/langs/el_GR/admin.lang +++ b/htdocs/langs/el_GR/admin.lang @@ -948,7 +948,7 @@ DoNotSuggestPaymentMode=Χωρίς πρόταση πληρωμής NoActiveBankAccountDefined=Δεν έχει οριστεί ενεργός λογαριασμός τράπεζας OwnerOfBankAccount=Ιδιοκτήτης του λογαριασμού τράπεζας %s BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Show link "%s" +ShowBugTrackLink=Εμφάνιση συνδέσμου link %s ShowWorkBoard=Show "workbench" on homepage Alerts=Συναγερμοί Delays=Καθυστερήσεις diff --git a/htdocs/langs/el_GR/agenda.lang b/htdocs/langs/el_GR/agenda.lang index c31604d15da..403ae111939 100644 --- a/htdocs/langs/el_GR/agenda.lang +++ b/htdocs/langs/el_GR/agenda.lang @@ -96,11 +96,11 @@ AddEvent=Δημιουργία συμβάντος MyAvailability=Η διαθεσιμότητα μου ActionType=Τύπος συμβάντος DateActionBegin=Έναρξη ημερομηνίας του συμβάντος -CloneAction=Clone event -ConfirmCloneEvent=Are you sure you want to clone the event %s ? -RepeatEvent=Repeat event -EveryWeek=Every week -EveryMonth=Every month -DayOfMonth=Day of month -DayOfWeek=Day of week -DateStartPlusOne=Date start + 1 hour +CloneAction=Κλωνοποίηση συμβάντος +ConfirmCloneEvent=Θέλεις σίγουρα να κλωνοποιήσεις το συμβάν%τα; +RepeatEvent=Επανάληψη συμβάντος +EveryWeek=Εβδομαδιαίο +EveryMonth=Μηνιαίο +DayOfMonth=Ημέρα του Μήνα +DayOfWeek=Ημέρα της εβδομάδας +DateStartPlusOne=Έναρξη ημέρας + 1 ώρα diff --git a/htdocs/langs/el_GR/banks.lang b/htdocs/langs/el_GR/banks.lang index b1c48eef1b1..f48115f14e1 100644 --- a/htdocs/langs/el_GR/banks.lang +++ b/htdocs/langs/el_GR/banks.lang @@ -94,12 +94,12 @@ Conciliate=Πραγματοποίηση Συναλλαγής Conciliation=Πραγματοποίηση Συναλλαγής ConciliationForAccount=Πραγματοποίηση Συναλλαγών του Λογαριασμού IncludeClosedAccount=Συμπερίληψη Κλειστών Λογαριασμών -OnlyOpenedAccount=Only open accounts +OnlyOpenedAccount=Μόνο ανοικτούς λογαριασμούς AccountToCredit=Πίστωση στον Λογαριασμό AccountToDebit=Χρέωση στον Λογαριασμό DisableConciliation=Απενεργοποίηση της ιδιότητας συμφωνία από αυτό τον λογαριασμό ConciliationDisabled=Η ιδιότητα συμφωνία απενεργοποιήθηκε. -StatusAccountOpened=Open +StatusAccountOpened=Ανοιχτός StatusAccountClosed=Κλειστός AccountIdShort=Αριθμός EditBankRecord=Επεξεργασία Εγγραφής @@ -113,7 +113,7 @@ CustomerInvoicePayment=Πληρωμή Πελάτη CustomerInvoicePaymentBack=Επιστροφή πληρωμής Πελάτη SupplierInvoicePayment=Πληρωμή Προμηθευτή WithdrawalPayment=Ανάκληση πληρωμής -SocialContributionPayment=Social/fiscal tax payment +SocialContributionPayment=Σίγουρα θέλεις να μαρκάρεις αυτότο αξιόγραφο σαν αποριφθέν; FinancialAccountJournal=Ημερολόγιο λογιστικού λογαριασμού BankTransfer=Τραπεζική Μεταφορά BankTransfers=Τραπεζικές Μεταφορές @@ -165,8 +165,8 @@ DeleteARib=Διαγραφή BAN εγγραφή ConfirmDeleteRib=Είστε σίγουροι ότι θέλετε να διαγράψετε αυτή την εγγραφή BAN; StartDate=Ημερομηνία έναρξης EndDate=Ημερομηνία λήξης -RejectCheck=Check rejection +RejectCheck=Ελέγξτε την απόρριψη ConfirmRejectCheck=Are you sure you want to mark this check as rejected ? -RejectCheckDate=Check rejection date -CheckRejected=Check rejected -CheckRejectedAndInvoicesReopened=Check rejected and invoices reopened +RejectCheckDate=Ελέγξτε την ημερομηνία απόρριψης +CheckRejected=Ελέγξτε την απόρριψη +CheckRejectedAndInvoicesReopened=Ελέγξτε την απόρριψη και ξανάνοιξε τα τιμολόγια diff --git a/htdocs/langs/el_GR/bills.lang b/htdocs/langs/el_GR/bills.lang index eda7149db72..4d104a6d19c 100644 --- a/htdocs/langs/el_GR/bills.lang +++ b/htdocs/langs/el_GR/bills.lang @@ -330,8 +330,8 @@ PaymentTypeCB=Πιστωτική κάρτα PaymentTypeShortCB=Πιστωτική κάρτα PaymentTypeCHQ=Επιταγή PaymentTypeShortCHQ=Επιταγή -PaymentTypeTIP=Deposit -PaymentTypeShortTIP=Deposit +PaymentTypeTIP=Κατάθεση +PaymentTypeShortTIP=Κατάθεση PaymentTypeVAD=On line πληρωμή PaymentTypeShortVAD=On line πληρωμή PaymentTypeTRA=Τιμολόγηση Πληρωμής diff --git a/htdocs/langs/el_GR/boxes.lang b/htdocs/langs/el_GR/boxes.lang index 43ed62bb5eb..21df0c9816d 100644 --- a/htdocs/langs/el_GR/boxes.lang +++ b/htdocs/langs/el_GR/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Τελευταία συμβόλαια BoxLastContacts=Τελευταίες επαφές/διευθύνσεις BoxLastMembers=Τελευταία μέλη BoxFicheInter=Τελευταίες παρεμβάσεις -BoxCurrentAccounts=Open accounts balance +BoxCurrentAccounts=Άνοιξε το ισοζύγιο των λογαριασμών BoxSalesTurnover=Κύκλος εργασιών BoxTotalUnpaidCustomerBills=Σύνολο απλήρωτων τιμολογίων πελατών BoxTotalUnpaidSuppliersBills=Σύνολο απλήρωτων τιμολογίων προμηθευτών @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Τελευταία %s Μέλη BoxTitleLastFicheInter=Τελευταία %s ενημέρωση παρέμβασης BoxTitleOldestUnpaidCustomerBills=Παλαιότερα %s ανεξόφλητα τιμολόγια πελατών BoxTitleOldestUnpaidSupplierBills=Παλαιότερα %s ανεξόφλητα τιμολόγια προμηθευτών -BoxTitleCurrentAccounts=Open accounts balances +BoxTitleCurrentAccounts=Άνοιξε το ισοζύγια των λογαριασμών BoxTitleSalesTurnover=Κύκλος εργασιών των πωλήσεων BoxTitleTotalUnpaidCustomerBills=Απλήρωτα τιμολόγια πελατών BoxTitleTotalUnpaidSuppliersBills=Απλήρωτα τιμολόγια προμηθευτών @@ -94,4 +94,4 @@ BoxProductDistributionFor=Κατανομή των %s για %s ForCustomersInvoices=Τιμολόγια Πελάτη ForCustomersOrders=Παραγγελίες πελατών ForProposals=Προσφορές -LastXMonthRolling=The last %s month rolling +LastXMonthRolling=Η τελευταία %s κίνηση του μήνα diff --git a/htdocs/langs/el_GR/holiday.lang b/htdocs/langs/el_GR/holiday.lang index 2cfcf5cd27a..b16e6138a93 100644 --- a/htdocs/langs/el_GR/holiday.lang +++ b/htdocs/langs/el_GR/holiday.lang @@ -146,5 +146,5 @@ Permission20003=Διαγραφή των αιτήσεων άδειας Permission20004=Read leave requests for everybody Permission20005=Create/modify leave requests for everybody Permission20006=Admin leave requests (setup and update balance) -NewByMonth=Added per month +NewByMonth=Μηνιαία προσθήκη GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leaves to setup the different types of leaves. diff --git a/htdocs/langs/el_GR/main.lang b/htdocs/langs/el_GR/main.lang index 9e4ecdc9e66..e5c3dc75701 100644 --- a/htdocs/langs/el_GR/main.lang +++ b/htdocs/langs/el_GR/main.lang @@ -108,7 +108,7 @@ Yes=Ναι no=όχι No=Όχι All=Όλα -Alls=All +Alls=Όλα Home=Αρχική Help=Βοήθεια OnlineHelp=Online Βοήθεια @@ -710,7 +710,7 @@ GoIntoSetupToChangeLogo=Πηγαίνετε Αρχική - Ρυθμίσεις - Deny=Άρνηση Denied=Άρνηση ListOfTemplates=Κατάλογος των προτύπων -Gender=Gender +Gender=Φύλο Genderman=Άνδρας Genderwoman=Γυναίκα ViewList=Προβολή λίστας diff --git a/htdocs/langs/el_GR/products.lang b/htdocs/langs/el_GR/products.lang index 3a1fed6e818..08fac0ae401 100644 --- a/htdocs/langs/el_GR/products.lang +++ b/htdocs/langs/el_GR/products.lang @@ -194,13 +194,13 @@ Unit=Unit p=u. set=set se=set -second=second +second=Δευτερόλεπτο s=s hour=hour h=h -day=day +day=Ημέρα d=d -kilogram=kilogram +kilogram=Κιλό kg=Kg gram=gram g=g @@ -208,9 +208,9 @@ meter=meter m=m linearmeter=linear meter lm=lm -squaremeter=square meter +squaremeter=τετραγωνικό μέτρο m2=m² -cubicmeter=cubic meter +cubicmeter=Κυβικό μέτρο m3=m³ liter=liter l=L diff --git a/htdocs/langs/en_AU/admin.lang b/htdocs/langs/en_AU/admin.lang index 1c53b65c99c..b269ff29dee 100644 --- a/htdocs/langs/en_AU/admin.lang +++ b/htdocs/langs/en_AU/admin.lang @@ -1,4 +1,7 @@ # Dolibarr language file - Source file is en_US - admin AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

    Put here full path of directories.
    Add a carriage return between eah directory.
    To add a directory of the GED module, add here DOL_DATA_ROOT/ecm/yourdirectoryname.

    Files in those directories must end with .odt. ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir +Permission171=Read trips and expenses (own and his subordinates) +Permission771=Read expense reports (own and his subordinates) diff --git a/htdocs/langs/en_AU/banks.lang b/htdocs/langs/en_AU/banks.lang new file mode 100644 index 00000000000..176f509ef4b --- /dev/null +++ b/htdocs/langs/en_AU/banks.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - banks +RejectCheck=Check rejection +RejectCheckDate=Check rejection date +CheckRejected=Check rejected +CheckRejectedAndInvoicesReopened=Check rejected and invoices reopened diff --git a/htdocs/langs/en_AU/bills.lang b/htdocs/langs/en_AU/bills.lang new file mode 100644 index 00000000000..5e7e6712393 --- /dev/null +++ b/htdocs/langs/en_AU/bills.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - bills +PaymentTypeTIP=Deposit +PaymentTypeShortTIP=Deposit +PaymentTypeTRA=Bill payment +PaymentTypeShortTRA=Bill diff --git a/htdocs/langs/en_AU/main.lang b/htdocs/langs/en_AU/main.lang index 2e691473326..7c749600705 100644 --- a/htdocs/langs/en_AU/main.lang +++ b/htdocs/langs/en_AU/main.lang @@ -19,3 +19,4 @@ FormatDateHourShort=%m/%d/%Y %I:%M %p FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%b %d, %Y, %I:%M %p FormatDateHourText=%B %d, %Y, %I:%M %p +ShowTransaction=Show transaction diff --git a/htdocs/langs/en_AU/projects.lang b/htdocs/langs/en_AU/projects.lang new file mode 100644 index 00000000000..a1c900aeb6b --- /dev/null +++ b/htdocs/langs/en_AU/projects.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - projects +OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects diff --git a/htdocs/langs/en_GB/admin.lang b/htdocs/langs/en_GB/admin.lang index 1c53b65c99c..b269ff29dee 100644 --- a/htdocs/langs/en_GB/admin.lang +++ b/htdocs/langs/en_GB/admin.lang @@ -1,4 +1,7 @@ # Dolibarr language file - Source file is en_US - admin AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

    Put here full path of directories.
    Add a carriage return between eah directory.
    To add a directory of the GED module, add here DOL_DATA_ROOT/ecm/yourdirectoryname.

    Files in those directories must end with .odt. ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir +Permission171=Read trips and expenses (own and his subordinates) +Permission771=Read expense reports (own and his subordinates) diff --git a/htdocs/langs/en_GB/banks.lang b/htdocs/langs/en_GB/banks.lang new file mode 100644 index 00000000000..176f509ef4b --- /dev/null +++ b/htdocs/langs/en_GB/banks.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - banks +RejectCheck=Check rejection +RejectCheckDate=Check rejection date +CheckRejected=Check rejected +CheckRejectedAndInvoicesReopened=Check rejected and invoices reopened diff --git a/htdocs/langs/en_GB/bills.lang b/htdocs/langs/en_GB/bills.lang new file mode 100644 index 00000000000..5e7e6712393 --- /dev/null +++ b/htdocs/langs/en_GB/bills.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - bills +PaymentTypeTIP=Deposit +PaymentTypeShortTIP=Deposit +PaymentTypeTRA=Bill payment +PaymentTypeShortTRA=Bill diff --git a/htdocs/langs/en_GB/main.lang b/htdocs/langs/en_GB/main.lang index 4d59ac2b415..bc25b310968 100644 --- a/htdocs/langs/en_GB/main.lang +++ b/htdocs/langs/en_GB/main.lang @@ -25,3 +25,4 @@ IncludedVAT=Included VAT TTC=Inc. VAT VAT=VAT VATRate=VAT Rate +ShowTransaction=Show transaction diff --git a/htdocs/langs/en_GB/projects.lang b/htdocs/langs/en_GB/projects.lang new file mode 100644 index 00000000000..a1c900aeb6b --- /dev/null +++ b/htdocs/langs/en_GB/projects.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - projects +OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects diff --git a/htdocs/langs/en_IN/admin.lang b/htdocs/langs/en_IN/admin.lang index 1c53b65c99c..b269ff29dee 100644 --- a/htdocs/langs/en_IN/admin.lang +++ b/htdocs/langs/en_IN/admin.lang @@ -1,4 +1,7 @@ # Dolibarr language file - Source file is en_US - admin AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

    Put here full path of directories.
    Add a carriage return between eah directory.
    To add a directory of the GED module, add here DOL_DATA_ROOT/ecm/yourdirectoryname.

    Files in those directories must end with .odt. ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir +Permission171=Read trips and expenses (own and his subordinates) +Permission771=Read expense reports (own and his subordinates) diff --git a/htdocs/langs/en_IN/banks.lang b/htdocs/langs/en_IN/banks.lang new file mode 100644 index 00000000000..176f509ef4b --- /dev/null +++ b/htdocs/langs/en_IN/banks.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - banks +RejectCheck=Check rejection +RejectCheckDate=Check rejection date +CheckRejected=Check rejected +CheckRejectedAndInvoicesReopened=Check rejected and invoices reopened diff --git a/htdocs/langs/en_IN/bills.lang b/htdocs/langs/en_IN/bills.lang new file mode 100644 index 00000000000..5e7e6712393 --- /dev/null +++ b/htdocs/langs/en_IN/bills.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - bills +PaymentTypeTIP=Deposit +PaymentTypeShortTIP=Deposit +PaymentTypeTRA=Bill payment +PaymentTypeShortTRA=Bill diff --git a/htdocs/langs/en_IN/main.lang b/htdocs/langs/en_IN/main.lang index 2e691473326..7c749600705 100644 --- a/htdocs/langs/en_IN/main.lang +++ b/htdocs/langs/en_IN/main.lang @@ -19,3 +19,4 @@ FormatDateHourShort=%m/%d/%Y %I:%M %p FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%b %d, %Y, %I:%M %p FormatDateHourText=%B %d, %Y, %I:%M %p +ShowTransaction=Show transaction diff --git a/htdocs/langs/en_IN/projects.lang b/htdocs/langs/en_IN/projects.lang new file mode 100644 index 00000000000..a1c900aeb6b --- /dev/null +++ b/htdocs/langs/en_IN/projects.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - projects +OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects diff --git a/htdocs/langs/en_US/accountancy.lang b/htdocs/langs/en_US/accountancy.lang index db6fea80283..8882a6f96b8 100644 --- a/htdocs/langs/en_US/accountancy.lang +++ b/htdocs/langs/en_US/accountancy.lang @@ -2,11 +2,13 @@ CHARSET=UTF-8 ACCOUNTING_EXPORT_SEPARATORCSV=Column separator for export file ACCOUNTING_EXPORT_DATE=Date format for export file -ACCOUNTING_EXPORT_PIECE=Export the number of piece ? -ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Export with global account ? -ACCOUNTING_EXPORT_LABEL=Export the label ? -ACCOUNTING_EXPORT_AMOUNT=Export the amount ? -ACCOUNTING_EXPORT_DEVISE=Export the devise ? +ACCOUNTING_EXPORT_PIECE=Export the number of piece +ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Export with global account +ACCOUNTING_EXPORT_LABEL=Export the label +ACCOUNTING_EXPORT_AMOUNT=Export the amount +ACCOUNTING_EXPORT_DEVISE=Export the devise +Selectformat=Select the format for the file +ACCOUNTING_EXPORT_PREFIX_SPEC=Specify the prefix for the file name Accounting=Accounting Globalparameters=Global parameters @@ -168,3 +170,4 @@ ValidateHistory=Validate Automatically ErrorAccountancyCodeIsAlreadyUse=Error, you cannot delete this accounting account because it is used FicheVentilation=Breakdown card +GeneralLedgerIsWritten=Operations are written in the general ledger diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 5f2d3eba8c6..04c30beb813 100755 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -279,7 +279,8 @@ MAIN_DISABLE_ALL_SMS=Disable all SMS sendings (for test purposes or demos) MAIN_SMS_SENDMODE=Method to use to send SMS MAIN_MAIL_SMS_FROM=Default sender phone number for Sms sending FeatureNotAvailableOnLinux=Feature not available on Unix like systems. Test your sendmail program locally. -SubmitTranslation=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on www.dolibarr.org forum. +SubmitTranslationENUS=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on dolibarr.org/forum or for developers on github.com/Dolibarr/dolibarr. +SubmitTranslation=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit your change to www.transifex.com/dolibarr-association/dolibarr/ ModuleSetup=Module setup ModulesSetup=Modules setup ModuleFamilyBase=System @@ -635,7 +636,7 @@ Permission162=Create/modify contracts/subscriptions Permission163=Activate a service/subscription of a contract Permission164=Disable a service/subscription of a contract Permission165=Delete contracts/subscriptions -Permission171=Read trips and expenses (own and his subordinates) +Permission171=Read trips and expenses (yours and your subordinates) Permission172=Create/modify trips and expenses Permission173=Delete trips and expenses Permission174=Read all trips and expenses @@ -730,7 +731,7 @@ Permission538=Export services Permission701=Read donations Permission702=Create/modify donations Permission703=Delete donations -Permission771=Read expense reports (own and his subordinates) +Permission771=Read expense reports (yours and your subordinates) Permission772=Create/modify expense reports Permission773=Delete expense reports Permission774=Read all expense reports (even for user not subordinates) @@ -767,6 +768,12 @@ Permission1237=Export supplier orders and their details Permission1251=Run mass imports of external data into database (data load) Permission1321=Export customer invoices, attributes and payments Permission1421=Export customer orders and attributes +Permission20001=Read leave requests (yours and your subordinates) +Permission20002=Create/modify your leave requests +Permission20003=Delete leave requests +Permission20004=Read all leave requests (even user not subordinates) +Permission20005=Create/modify leave requests for everybody +Permission20006=Admin leave requests (setup and update balance) Permission23001=Read Scheduled job Permission23002=Create/update Scheduled job Permission23003=Delete Scheduled job @@ -931,7 +938,6 @@ PermanentLeftSearchForm=Permanent search form on left menu DefaultLanguage=Default language to use (language code) EnableMultilangInterface=Enable multilingual interface EnableShowLogo=Show logo on left menu -EnableHtml5=Enable Html5 (Developement - Only available on Eldy template) SystemSuccessfulyUpdated=Your system has been updated successfully CompanyInfo=Company/foundation information CompanyIds=Company/foundation identities @@ -1539,6 +1545,7 @@ AgendaSetup=Events and agenda module setup PasswordTogetVCalExport=Key to authorize export link PastDelayVCalExport=Do not export event older than AGENDA_USE_EVENT_TYPE=Use events types (managed into menu Setup -> Dictionary -> Type of agenda events) +AGENDA_USE_EVENT_TYPE_DEFAULT=Set automatically this default value for type of event into event create form AGENDA_DEFAULT_FILTER_TYPE=Set automatically this type of event into search filter of agenda view AGENDA_DEFAULT_FILTER_STATUS=Set automatically this status for events into search filter of agenda view AGENDA_DEFAULT_VIEW=Which tab do you want to open by default when selecting menu Agenda @@ -1646,12 +1653,13 @@ SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade desc InstallModuleFromWebHasBeenDisabledByFile=Install of external module from application has been disabled by your administrator. You must ask him to remove the file %s to allow this feature. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
    - $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
    - $dolibarr_main_document_root_alt enabled to value "%s/custom" HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +HighlightLinesColor=Color of highlight line when mouse move passes over (keep empty for no highlight) PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes BackgroundColor=Background color TopMenuBackgroundColor=Background color for Top menu LeftMenuBackgroundColor=Background color for Left menu -BackgroundTableTitleColor=Background color for table title line +BackgroundTableTitleColor=Background color for Table title line BackgroundTableLineOddColor=Background color for odd table lines BackgroundTableLineEvenColor=Background color for even table lines MinimumNoticePeriod=Minimum notice period (Your leave request must be done before this delay) diff --git a/htdocs/langs/en_US/banks.lang b/htdocs/langs/en_US/banks.lang index f98f02ccef0..a1e05481be9 100644 --- a/htdocs/langs/en_US/banks.lang +++ b/htdocs/langs/en_US/banks.lang @@ -165,8 +165,8 @@ DeleteARib=Delete BAN record ConfirmDeleteRib=Are you sure you want to delete this BAN record ? StartDate=Start date EndDate=End date -RejectCheck=Check rejection +RejectCheck=Check returned ConfirmRejectCheck=Are you sure you want to mark this check as rejected ? -RejectCheckDate=Check rejection date -CheckRejected=Check rejected -CheckRejectedAndInvoicesReopened=Check rejected and invoices reopened +RejectCheckDate=Date the check was returned +CheckRejected=Check returned +CheckRejectedAndInvoicesReopened=Check returned and invoices reopened diff --git a/htdocs/langs/en_US/bills.lang b/htdocs/langs/en_US/bills.lang index ca322f66eeb..7ea9f32830d 100644 --- a/htdocs/langs/en_US/bills.lang +++ b/htdocs/langs/en_US/bills.lang @@ -382,6 +382,8 @@ ChequesReceipts=Checks receipts ChequesArea=Checks deposits area ChequeDeposits=Checks deposits Cheques=Checks +DepositId=Id deposit +NbCheque=Number of checks CreditNoteConvertedIntoDiscount=This credit note or deposit invoice has been converted into %s UsBillingContactAsIncoiveRecipientIfExist=Use customer billing contact address instead of third party address as recipient for invoices ShowUnpaidAll=Show all unpaid invoices diff --git a/htdocs/langs/en_US/companies.lang b/htdocs/langs/en_US/companies.lang index 764ca969350..3701925a1f4 100644 --- a/htdocs/langs/en_US/companies.lang +++ b/htdocs/langs/en_US/companies.lang @@ -122,6 +122,12 @@ ProfId3AR=- ProfId4AR=- ProfId5AR=- ProfId6AR=- +ProfId1AT=Prof Id 1 (USt.-IdNr) +ProfId2AT=Prof Id 2 (USt.-Nr) +ProfId3AT=Prof Id 3 (Handelsregister-Nr.) +ProfId4AT=- +ProfId5AT=- +ProfId6AT=- ProfId1AU=Prof Id 1 (ABN) ProfId2AU=- ProfId3AU=- @@ -332,6 +338,7 @@ ProspectLevel=Prospect potential ContactPrivate=Private ContactPublic=Shared ContactVisibility=Visibility +ContactOthers=Other OthersNotLinkedToThirdParty=Others, not linked to a third party ProspectStatus=Prospect status PL_NONE=None @@ -375,6 +382,7 @@ ExportDataset_company_2=Contacts and properties ImportDataset_company_1=Third parties (Companies/foundations/physical people) and properties ImportDataset_company_2=Contacts/Addresses (of thirdparties or not) and attributes ImportDataset_company_3=Bank details +ImportDataset_company_4=Third parties/Sales representatives (Affect sales representatives users to companies) PriceLevel=Price level DeliveriesAddress=Delivery addresses DeliveryAddress=Delivery address diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang index 786d5dde305..cbbcd239004 100644 --- a/htdocs/langs/en_US/compta.lang +++ b/htdocs/langs/en_US/compta.lang @@ -91,6 +91,8 @@ LT1PaymentES=RE Payment LT1PaymentsES=RE Payments VATPayment=VAT Payment VATPayments=VAT Payments +VATRefund=VAT Refund +Refund=Refund SocialContributionsPayments=Social/fiscal taxes payments ShowVatPayment=Show VAT payment TotalToPay=Total to pay diff --git a/htdocs/langs/en_US/holiday.lang b/htdocs/langs/en_US/holiday.lang index 9bf90c3d01c..725336d8790 100644 --- a/htdocs/langs/en_US/holiday.lang +++ b/htdocs/langs/en_US/holiday.lang @@ -140,11 +140,5 @@ HolidaysRefused=Request denied HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason : HolidaysCanceled=Canceled leaved request HolidaysCanceledBody=Your leave request for %s to %s has been canceled. -Permission20001=Read you own leave requests -Permission20002=Create/modify your leave requests -Permission20003=Delete leave requests -Permission20004=Read leave requests for everybody -Permission20005=Create/modify leave requests for everybody -Permission20006=Admin leave requests (setup and update balance) NewByMonth=Added per month GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leaves to setup the different types of leaves. \ No newline at end of file diff --git a/htdocs/langs/en_US/install.lang b/htdocs/langs/en_US/install.lang index fada78c04c6..6ec3ca2d14a 100644 --- a/htdocs/langs/en_US/install.lang +++ b/htdocs/langs/en_US/install.lang @@ -209,6 +209,6 @@ MigrationActioncommElement=Update data on actions MigrationPaymentMode=Data migration for payment mode MigrationCategorieAssociation=Migration of categories MigrationEvents=Migration of events to add event owner into assignement table - +MigrationReloadModule=Reload module %s ShowNotAvailableOptions=Show not available options HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/en_US/interventions.lang b/htdocs/langs/en_US/interventions.lang index de51b363616..7e57d7da6a1 100644 --- a/htdocs/langs/en_US/interventions.lang +++ b/htdocs/langs/en_US/interventions.lang @@ -54,3 +54,14 @@ PacificNumRefModelDesc1=Return numero with format %syymm-nnnn where yy is year, PacificNumRefModelError=An intervention card starting with $syymm already exists and is not compatible with this model of sequence. Remove it or rename it to activate this module. PrintProductsOnFichinter=Print products on intervention card PrintProductsOnFichinterDetails=interventions generated from orders +##### Exports ##### +InterId=Intervention id +InterRef=Intervention ref. +InterDateCreation=Date creation intervention +InterDuration=Duration intervention +InterStatus=Status intervention +InterNote=Note intervention +InterLineId=Line id intervention +InterLineDate=Line date intervention +InterLineDuration=Line duration intervention +InterLineDesc=Line description intervention diff --git a/htdocs/langs/en_US/link.lang b/htdocs/langs/en_US/link.lang index 8b1efb75ef3..6880d4d86a0 100644 --- a/htdocs/langs/en_US/link.lang +++ b/htdocs/langs/en_US/link.lang @@ -6,3 +6,4 @@ ErrorFileNotLinked=The file could not be linked LinkRemoved=The link %s has been removed ErrorFailedToDeleteLink= Failed to remove link '%s' ErrorFailedToUpdateLink= Failed to update link '%s' +URLToLink=URL to link \ No newline at end of file diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 6a37ad3ae78..0bd4fa7431b 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -705,7 +705,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s -ShowTransaction=Show transaction +ShowTransaction=Show transaction on bank account GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied @@ -747,4 +747,5 @@ ShortFriday=F ShortSaturday=S ShortSunday=S SelectMailModel=Select email template -SetRef=Set ref \ No newline at end of file +SetRef=Set ref +SearchIntoProject=Search %s into projects \ No newline at end of file diff --git a/htdocs/langs/en_US/products.lang b/htdocs/langs/en_US/products.lang index 04c2c26e8af..ee1b32084ff 100644 --- a/htdocs/langs/en_US/products.lang +++ b/htdocs/langs/en_US/products.lang @@ -296,3 +296,4 @@ PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is PropalMergePdfProductChooseFile=Select PDF files IncludingProductWithTag=Including product with tag DefaultPriceRealPriceMayDependOnCustomer=Default price, real price may depend on customer +WarningSelectOneDocument=Please select at least one document diff --git a/htdocs/langs/en_US/projects.lang b/htdocs/langs/en_US/projects.lang index 78b50356fd1..d9fecb40ad4 100644 --- a/htdocs/langs/en_US/projects.lang +++ b/htdocs/langs/en_US/projects.lang @@ -1,6 +1,8 @@ # Dolibarr language file - Source file is en_US - projects RefProject=Ref. project +ProjectRef=Project ref. ProjectId=Project Id +ProjectLabel=Project label Project=Project Projects=Projects ProjectStatus=Project status diff --git a/htdocs/langs/es_AR/admin.lang b/htdocs/langs/es_AR/admin.lang index 1c53b65c99c..b269ff29dee 100644 --- a/htdocs/langs/es_AR/admin.lang +++ b/htdocs/langs/es_AR/admin.lang @@ -1,4 +1,7 @@ # Dolibarr language file - Source file is en_US - admin AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

    Put here full path of directories.
    Add a carriage return between eah directory.
    To add a directory of the GED module, add here DOL_DATA_ROOT/ecm/yourdirectoryname.

    Files in those directories must end with .odt. ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir +Permission171=Read trips and expenses (own and his subordinates) +Permission771=Read expense reports (own and his subordinates) diff --git a/htdocs/langs/es_AR/banks.lang b/htdocs/langs/es_AR/banks.lang new file mode 100644 index 00000000000..176f509ef4b --- /dev/null +++ b/htdocs/langs/es_AR/banks.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - banks +RejectCheck=Check rejection +RejectCheckDate=Check rejection date +CheckRejected=Check rejected +CheckRejectedAndInvoicesReopened=Check rejected and invoices reopened diff --git a/htdocs/langs/es_AR/bills.lang b/htdocs/langs/es_AR/bills.lang new file mode 100644 index 00000000000..54d42abe856 --- /dev/null +++ b/htdocs/langs/es_AR/bills.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - bills +PaymentTypeTRA=Bill payment +PaymentTypeShortTRA=Bill diff --git a/htdocs/langs/es_AR/holiday.lang b/htdocs/langs/es_AR/holiday.lang new file mode 100644 index 00000000000..e26f36ab6e1 --- /dev/null +++ b/htdocs/langs/es_AR/holiday.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - holiday +Permission20001=Read you own leave requests +Permission20004=Read leave requests for everybody diff --git a/htdocs/langs/es_AR/main.lang b/htdocs/langs/es_AR/main.lang index 2e691473326..7c749600705 100644 --- a/htdocs/langs/es_AR/main.lang +++ b/htdocs/langs/es_AR/main.lang @@ -19,3 +19,4 @@ FormatDateHourShort=%m/%d/%Y %I:%M %p FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%b %d, %Y, %I:%M %p FormatDateHourText=%B %d, %Y, %I:%M %p +ShowTransaction=Show transaction diff --git a/htdocs/langs/es_AR/projects.lang b/htdocs/langs/es_AR/projects.lang new file mode 100644 index 00000000000..a1c900aeb6b --- /dev/null +++ b/htdocs/langs/es_AR/projects.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - projects +OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects diff --git a/htdocs/langs/es_BO/admin.lang b/htdocs/langs/es_BO/admin.lang index 1c53b65c99c..b269ff29dee 100644 --- a/htdocs/langs/es_BO/admin.lang +++ b/htdocs/langs/es_BO/admin.lang @@ -1,4 +1,7 @@ # Dolibarr language file - Source file is en_US - admin AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

    Put here full path of directories.
    Add a carriage return between eah directory.
    To add a directory of the GED module, add here DOL_DATA_ROOT/ecm/yourdirectoryname.

    Files in those directories must end with .odt. ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir +Permission171=Read trips and expenses (own and his subordinates) +Permission771=Read expense reports (own and his subordinates) diff --git a/htdocs/langs/es_BO/banks.lang b/htdocs/langs/es_BO/banks.lang new file mode 100644 index 00000000000..176f509ef4b --- /dev/null +++ b/htdocs/langs/es_BO/banks.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - banks +RejectCheck=Check rejection +RejectCheckDate=Check rejection date +CheckRejected=Check rejected +CheckRejectedAndInvoicesReopened=Check rejected and invoices reopened diff --git a/htdocs/langs/es_BO/bills.lang b/htdocs/langs/es_BO/bills.lang new file mode 100644 index 00000000000..54d42abe856 --- /dev/null +++ b/htdocs/langs/es_BO/bills.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - bills +PaymentTypeTRA=Bill payment +PaymentTypeShortTRA=Bill diff --git a/htdocs/langs/es_BO/holiday.lang b/htdocs/langs/es_BO/holiday.lang new file mode 100644 index 00000000000..e26f36ab6e1 --- /dev/null +++ b/htdocs/langs/es_BO/holiday.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - holiday +Permission20001=Read you own leave requests +Permission20004=Read leave requests for everybody diff --git a/htdocs/langs/es_BO/main.lang b/htdocs/langs/es_BO/main.lang index 2e691473326..7c749600705 100644 --- a/htdocs/langs/es_BO/main.lang +++ b/htdocs/langs/es_BO/main.lang @@ -19,3 +19,4 @@ FormatDateHourShort=%m/%d/%Y %I:%M %p FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%b %d, %Y, %I:%M %p FormatDateHourText=%B %d, %Y, %I:%M %p +ShowTransaction=Show transaction diff --git a/htdocs/langs/es_BO/projects.lang b/htdocs/langs/es_BO/projects.lang new file mode 100644 index 00000000000..a1c900aeb6b --- /dev/null +++ b/htdocs/langs/es_BO/projects.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - projects +OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects diff --git a/htdocs/langs/es_CL/admin.lang b/htdocs/langs/es_CL/admin.lang index e43afc7fe86..4d8f43ae275 100644 --- a/htdocs/langs/es_CL/admin.lang +++ b/htdocs/langs/es_CL/admin.lang @@ -1,6 +1,7 @@ # Dolibarr language file - Source file is en_US - admin AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

    Put here full path of directories.
    Add a carriage return between eah directory.
    To add a directory of the GED module, add here DOL_DATA_ROOT/ecm/yourdirectoryname.

    Files in those directories must end with .odt. ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir Module20Name=Cotizaciones Module20Desc=Gestión de cotizaciones/propuestas comerciales @@ -11,6 +12,8 @@ Permission25=Enviar las cotizaciones Permission26=Cerrar cotizaciones Permission27=Eliminar cotizaciones Permission28=Exportar las cotizaciones +Permission171=Read trips and expenses (own and his subordinates) +Permission771=Read expense reports (own and his subordinates) VATIsUsedDesc=El tipo de IVA propuesto por defecto en las creaciones de cotizaciones, facturas, pedidos, etc. Responde a la siguiente regla:
    Si el vendedor no está sujeto a IVA, IVA por defecto=0. Final de regla.
    Si el país del vendedor= país del comprador entonces IVA por defecto=IVA del producto vendido. Final de regla.
    Si vendedor y comprador residen en la Comunidad Europea y el bien vendido= nuevo medio de transportes (auto, barco, avión), IVA por defecto=0 (el IVA debe ser pagado por comprador a la hacienda pública de su país y no al vendedor). Final de regla
    Si vendedor y comprador residen en la Comunidad Europea y comprador= particular o empresa sin NIF intracomunitario entonces IVA por defecto=IVA del producto vendido. Final de regla.
    Si vendedor y comprador residen en la Comunidad Europea y comprador= empresa con NIF intracomunitario entonces IVA por defecto=0. Final de regla.
    Si no, IVA propuesto por defecto=0. Final de regla.
    Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Tolerancia de retraso antes de la alerta (en días) sobre cotizaciones a cerrar Delays_MAIN_DELAY_PROPALS_TO_BILL=Tolerancia de retraso antes de la alerta (en días) sobre cotizaciones no facturadas diff --git a/htdocs/langs/es_CL/banks.lang b/htdocs/langs/es_CL/banks.lang new file mode 100644 index 00000000000..176f509ef4b --- /dev/null +++ b/htdocs/langs/es_CL/banks.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - banks +RejectCheck=Check rejection +RejectCheckDate=Check rejection date +CheckRejected=Check rejected +CheckRejectedAndInvoicesReopened=Check rejected and invoices reopened diff --git a/htdocs/langs/es_CL/bills.lang b/htdocs/langs/es_CL/bills.lang index 2199e215bd6..f057eac12b0 100644 --- a/htdocs/langs/es_CL/bills.lang +++ b/htdocs/langs/es_CL/bills.lang @@ -1,2 +1,4 @@ # Dolibarr language file - Source file is en_US - bills RelatedCommercialProposals=Cotizaciones asociadas +PaymentTypeTRA=Bill payment +PaymentTypeShortTRA=Bill diff --git a/htdocs/langs/es_CL/holiday.lang b/htdocs/langs/es_CL/holiday.lang new file mode 100644 index 00000000000..e26f36ab6e1 --- /dev/null +++ b/htdocs/langs/es_CL/holiday.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - holiday +Permission20001=Read you own leave requests +Permission20004=Read leave requests for everybody diff --git a/htdocs/langs/es_CL/main.lang b/htdocs/langs/es_CL/main.lang index dc549dfb838..2b8a01bed3c 100644 --- a/htdocs/langs/es_CL/main.lang +++ b/htdocs/langs/es_CL/main.lang @@ -20,3 +20,4 @@ FormatDateHourSecShort=%d/%m/%Y %H:%M:%S FormatDateHourTextShort=%d %b %Y %H:%M FormatDateHourText=%d %B %Y %H:%M CommercialProposalsShort=Cotizaciones +ShowTransaction=Show transaction diff --git a/htdocs/langs/es_CL/projects.lang b/htdocs/langs/es_CL/projects.lang index d483e1e5659..fe0ce168fef 100644 --- a/htdocs/langs/es_CL/projects.lang +++ b/htdocs/langs/es_CL/projects.lang @@ -1,2 +1,3 @@ # Dolibarr language file - Source file is en_US - projects +OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects ListProposalsAssociatedProject=Listado de cotizaciones asociadas al proyecto diff --git a/htdocs/langs/es_CO/admin.lang b/htdocs/langs/es_CO/admin.lang index 1c53b65c99c..b269ff29dee 100644 --- a/htdocs/langs/es_CO/admin.lang +++ b/htdocs/langs/es_CO/admin.lang @@ -1,4 +1,7 @@ # Dolibarr language file - Source file is en_US - admin AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

    Put here full path of directories.
    Add a carriage return between eah directory.
    To add a directory of the GED module, add here DOL_DATA_ROOT/ecm/yourdirectoryname.

    Files in those directories must end with .odt. ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir +Permission171=Read trips and expenses (own and his subordinates) +Permission771=Read expense reports (own and his subordinates) diff --git a/htdocs/langs/es_CO/banks.lang b/htdocs/langs/es_CO/banks.lang new file mode 100644 index 00000000000..176f509ef4b --- /dev/null +++ b/htdocs/langs/es_CO/banks.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - banks +RejectCheck=Check rejection +RejectCheckDate=Check rejection date +CheckRejected=Check rejected +CheckRejectedAndInvoicesReopened=Check rejected and invoices reopened diff --git a/htdocs/langs/es_CO/bills.lang b/htdocs/langs/es_CO/bills.lang new file mode 100644 index 00000000000..54d42abe856 --- /dev/null +++ b/htdocs/langs/es_CO/bills.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - bills +PaymentTypeTRA=Bill payment +PaymentTypeShortTRA=Bill diff --git a/htdocs/langs/es_CO/holiday.lang b/htdocs/langs/es_CO/holiday.lang new file mode 100644 index 00000000000..e26f36ab6e1 --- /dev/null +++ b/htdocs/langs/es_CO/holiday.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - holiday +Permission20001=Read you own leave requests +Permission20004=Read leave requests for everybody diff --git a/htdocs/langs/es_CO/projects.lang b/htdocs/langs/es_CO/projects.lang new file mode 100644 index 00000000000..a1c900aeb6b --- /dev/null +++ b/htdocs/langs/es_CO/projects.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - projects +OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects diff --git a/htdocs/langs/es_DO/admin.lang b/htdocs/langs/es_DO/admin.lang index 6e4943b17e7..7a23473cc8c 100644 --- a/htdocs/langs/es_DO/admin.lang +++ b/htdocs/langs/es_DO/admin.lang @@ -1,6 +1,7 @@ # Dolibarr language file - Source file is en_US - admin AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

    Put here full path of directories.
    Add a carriage return between eah directory.
    To add a directory of the GED module, add here DOL_DATA_ROOT/ecm/yourdirectoryname.

    Files in those directories must end with .odt. ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir HideAnyVATInformationOnPDF=Ocultar toda la información relacionada con el ITBIS en la generación de los PDF OldVATRates=Tasa de ITBIS antigua @@ -8,6 +9,8 @@ NewVATRates=Tasa de ITBIS nueva Permission91=Consultar impuestos e ITBIS Permission92=Crear/modificar impuestos e ITBIS Permission93=Eliminar impuestos e ITBIS +Permission171=Read trips and expenses (own and his subordinates) +Permission771=Read expense reports (own and his subordinates) DictionaryVAT=Tasa de ITBIS (Impuesto sobre ventas en EEUU) VATManagement=Gestión ITBIS VATIsUsedDesc=El tipo de ITBIS propuesto por defecto en las creaciones de presupuestos, facturas, pedidos, etc. Responde a la siguiente regla:
    Si el vendedor no está sujeto a ITBIS, ITBIS por defecto=0. Final de regla.
    Si el país del vendedor= país del comprador entonces IVA por defecto=IVA del producto vendido. Final de regla.
    Si vendedor y comprador residen en la Comunidad Europea y el bien vendido= nuevo medio de transportes (auto, barco, avión), IVA por defecto=0 (el IVA debe ser pagado por comprador a la hacienda pública de su país y no al vendedor). Final de regla
    Si vendedor y comprador residen en la Comunidad Europea y comprador= particular o empresa sin NIF intracomunitario entonces IVA por defecto=IVA del producto vendido. Final de regla.
    Si vendedor y comprador residen en la Comunidad Europea y comprador= empresa con NIF intracomunitario entonces IVA por defecto=0. Final de regla.
    Si no, IVA propuesto por defecto=0. Final de regla.
    diff --git a/htdocs/langs/es_DO/banks.lang b/htdocs/langs/es_DO/banks.lang new file mode 100644 index 00000000000..176f509ef4b --- /dev/null +++ b/htdocs/langs/es_DO/banks.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - banks +RejectCheck=Check rejection +RejectCheckDate=Check rejection date +CheckRejected=Check rejected +CheckRejectedAndInvoicesReopened=Check rejected and invoices reopened diff --git a/htdocs/langs/es_DO/bills.lang b/htdocs/langs/es_DO/bills.lang new file mode 100644 index 00000000000..54d42abe856 --- /dev/null +++ b/htdocs/langs/es_DO/bills.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - bills +PaymentTypeTRA=Bill payment +PaymentTypeShortTRA=Bill diff --git a/htdocs/langs/es_DO/holiday.lang b/htdocs/langs/es_DO/holiday.lang new file mode 100644 index 00000000000..e26f36ab6e1 --- /dev/null +++ b/htdocs/langs/es_DO/holiday.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - holiday +Permission20001=Read you own leave requests +Permission20004=Read leave requests for everybody diff --git a/htdocs/langs/es_DO/main.lang b/htdocs/langs/es_DO/main.lang index 2e691473326..7c749600705 100644 --- a/htdocs/langs/es_DO/main.lang +++ b/htdocs/langs/es_DO/main.lang @@ -19,3 +19,4 @@ FormatDateHourShort=%m/%d/%Y %I:%M %p FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%b %d, %Y, %I:%M %p FormatDateHourText=%B %d, %Y, %I:%M %p +ShowTransaction=Show transaction diff --git a/htdocs/langs/es_DO/projects.lang b/htdocs/langs/es_DO/projects.lang new file mode 100644 index 00000000000..a1c900aeb6b --- /dev/null +++ b/htdocs/langs/es_DO/projects.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - projects +OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects diff --git a/htdocs/langs/es_ES/errors.lang b/htdocs/langs/es_ES/errors.lang index 01a7d5eb193..1d8e9b960be 100644 --- a/htdocs/langs/es_ES/errors.lang +++ b/htdocs/langs/es_ES/errors.lang @@ -63,7 +63,7 @@ ErrorSizeTooLongForVarcharType=Longitud del campo demasiado largo para el tipo c ErrorNoValueForSelectType=Los valores de la lista deben ser indicados ErrorNoValueForCheckBoxType=Los valores de la lista deben ser indicados ErrorNoValueForRadioType=Los valores de la lista deben ser indicados -ErrorBadFormatValueList=Los valores de la lista no peudo contener mas de una coma : %s, pero necessita una: llave,valores +ErrorBadFormatValueList=Los valores de la lista no pueden contener máss de una coma : %s, pero necesitan una llave y un valor ErrorFieldCanNotContainSpecialCharacters=El campo %s no debe contener carácteres especiales ErrorFieldCanNotContainSpecialNorUpperCharacters=El campo %s no debe contener carácteres especiales, ni caracteres en mayúsculas y no puede contener sólo números ErrorNoAccountancyModuleLoaded=Módulo de contabilidad no activado @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript no debe estar desactivado para que esta ErrorPasswordsMustMatch=Las 2 contraseñas indicadas deben corresponderse ErrorContactEMail=Se ha producido un error técnico. Contacte con el administrador al e-mail %s, indicando el código de error %s en su mensaje, o puede también adjuntar una copia de pantalla de esta página. ErrorWrongValueForField=Valor incorrecto para el campo número %s (el valor '%s' no cumple con la regla %s) -ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s) +ErrorFieldValueNotIn=Valor incorrecto del campo número %s (el valor '%s' no es un valor disponible en el campo %s de la tabla %s ) ErrorFieldRefNotIn=Valor incorrecto para el campo número %s (el valor '%s' no es una referencia existente en %s) ErrorsOnXLines=Errores en %s líneas fuente ErrorFileIsInfectedWithAVirus=¡El antivirus no ha podido validar este archivo (es probable que esté infectado por un virus)! diff --git a/htdocs/langs/es_ES/exports.lang b/htdocs/langs/es_ES/exports.lang index 139383ed1dc..3437d683771 100644 --- a/htdocs/langs/es_ES/exports.lang +++ b/htdocs/langs/es_ES/exports.lang @@ -48,7 +48,7 @@ NoImportableData=Sin tablas de datos importables (ningún módulo con las defini FileSuccessfullyBuilt=Archivo de exportación generado SQLUsedForExport=Consulta SQL utilizada para construir el archivo de exportación LineId=ID de línea -LineLabel=Label of line +LineLabel=Etiqueta de línea LineDescription=Descripción de línea LineUnitPrice=Precio unitario de la línea LineVATRate=Tipo de IVA de la línea @@ -90,7 +90,7 @@ SelectAtLeastOneField=Bascular al menos un campo origen en la columna de campos SelectFormat=Seleccione este formato de archivo de importación RunImportFile=Lanzar la importación NowClickToRunTheImport=Compruebe los resultados de la simulación. Si todo está bien, inicie la importación definitiva. -DataLoadedWithId=Todos los datos serán importados con la siguiente id de importación: %s +DataLoadedWithId=Todos los datos serán importados con el siguiente id. de importación: %s ErrorMissingMandatoryValue=Dato obligatorio no indicado en el archivo fuente, campo número %s. TooMuchErrors=Todavía hay %s líneas con error, pero su visualización ha sido limitada. TooMuchWarnings=Todavía hay %s líneas con warnings, pero su visualización ha sido limitada. diff --git a/htdocs/langs/es_MX/admin.lang b/htdocs/langs/es_MX/admin.lang index 1c53b65c99c..b269ff29dee 100644 --- a/htdocs/langs/es_MX/admin.lang +++ b/htdocs/langs/es_MX/admin.lang @@ -1,4 +1,7 @@ # Dolibarr language file - Source file is en_US - admin AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

    Put here full path of directories.
    Add a carriage return between eah directory.
    To add a directory of the GED module, add here DOL_DATA_ROOT/ecm/yourdirectoryname.

    Files in those directories must end with .odt. ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir +Permission171=Read trips and expenses (own and his subordinates) +Permission771=Read expense reports (own and his subordinates) diff --git a/htdocs/langs/es_MX/banks.lang b/htdocs/langs/es_MX/banks.lang new file mode 100644 index 00000000000..176f509ef4b --- /dev/null +++ b/htdocs/langs/es_MX/banks.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - banks +RejectCheck=Check rejection +RejectCheckDate=Check rejection date +CheckRejected=Check rejected +CheckRejectedAndInvoicesReopened=Check rejected and invoices reopened diff --git a/htdocs/langs/es_MX/bills.lang b/htdocs/langs/es_MX/bills.lang new file mode 100644 index 00000000000..54d42abe856 --- /dev/null +++ b/htdocs/langs/es_MX/bills.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - bills +PaymentTypeTRA=Bill payment +PaymentTypeShortTRA=Bill diff --git a/htdocs/langs/es_MX/holiday.lang b/htdocs/langs/es_MX/holiday.lang new file mode 100644 index 00000000000..e26f36ab6e1 --- /dev/null +++ b/htdocs/langs/es_MX/holiday.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - holiday +Permission20001=Read you own leave requests +Permission20004=Read leave requests for everybody diff --git a/htdocs/langs/es_MX/main.lang b/htdocs/langs/es_MX/main.lang index 2e691473326..7c749600705 100644 --- a/htdocs/langs/es_MX/main.lang +++ b/htdocs/langs/es_MX/main.lang @@ -19,3 +19,4 @@ FormatDateHourShort=%m/%d/%Y %I:%M %p FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%b %d, %Y, %I:%M %p FormatDateHourText=%B %d, %Y, %I:%M %p +ShowTransaction=Show transaction diff --git a/htdocs/langs/es_MX/projects.lang b/htdocs/langs/es_MX/projects.lang new file mode 100644 index 00000000000..a1c900aeb6b --- /dev/null +++ b/htdocs/langs/es_MX/projects.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - projects +OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects diff --git a/htdocs/langs/es_PE/admin.lang b/htdocs/langs/es_PE/admin.lang index 75aff423366..0447feea307 100644 --- a/htdocs/langs/es_PE/admin.lang +++ b/htdocs/langs/es_PE/admin.lang @@ -1,10 +1,13 @@ # Dolibarr language file - Source file is en_US - admin AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

    Put here full path of directories.
    Add a carriage return between eah directory.
    To add a directory of the GED module, add here DOL_DATA_ROOT/ecm/yourdirectoryname.

    Files in those directories must end with .odt. ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir Permission91=Consultar impuestos e IGV Permission92=Crear/modificar impuestos e IGV Permission93=Eliminar impuestos e IGV +Permission171=Read trips and expenses (own and his subordinates) +Permission771=Read expense reports (own and his subordinates) DictionaryVAT=Tasa de IGV (Impuesto sobre ventas en EEUU) VATManagement=Gestión IGV VATIsUsedDesc=El tipo de IGV propuesto por defecto en las creaciones de presupuestos, facturas, pedidos, etc. Responde a la siguiente regla:
    Si el vendedor no está sujeto a IVU, IVU por defecto=0. Final de regla.
    Si el país del vendedor= país del comprador entonces IVU por defecto=IVU del producto vendido. Final de regla.
    Si vendedor y comprador residen en la Comunidad Europea y el bien vendido= nuevo medio de transportes (auto, barco, avión), IVU por defecto=0 (el IVU debe ser pagado por comprador a la hacienda pública de su país y no al vendedor). Final de regla
    Si vendedor y comprador residen en la Comunidad Europea y comprador= particular o empresa sin NIF intracomunitario entonces IVU por defecto=IVU del producto vendido. Final de regla.
    Si vendedor y comprador residen en la Comunidad Europea y comprador= empresa con NIF intracomunitario entonces IVU por defecto=0. Final de regla.
    Si no, IVU propuesto por defecto=0. Final de regla.
    diff --git a/htdocs/langs/es_PE/banks.lang b/htdocs/langs/es_PE/banks.lang new file mode 100644 index 00000000000..176f509ef4b --- /dev/null +++ b/htdocs/langs/es_PE/banks.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - banks +RejectCheck=Check rejection +RejectCheckDate=Check rejection date +CheckRejected=Check rejected +CheckRejectedAndInvoicesReopened=Check rejected and invoices reopened diff --git a/htdocs/langs/es_PE/bills.lang b/htdocs/langs/es_PE/bills.lang index adca33be66b..67ea866f632 100644 --- a/htdocs/langs/es_PE/bills.lang +++ b/htdocs/langs/es_PE/bills.lang @@ -2,6 +2,8 @@ ErrorVATIntraNotConfigured=Número de IGV intracomunitario aún no configurado ConfirmClassifyPaidPartiallyReasonDiscountNoVat=El resto a pagar (%s %s) es un descuento acordado después de la factura. Acepto perder el IGV de este descuento AmountOfBillsByMonthHT=Importe de las facturas por mes (Sin IGV) +PaymentTypeTRA=Bill payment +PaymentTypeShortTRA=Bill IntracommunityVATNumber=Número de IGV intracomunitario VATIsNotUsedForInvoice=* IGV no aplicable art-293B del CGI PDFCrabeDescription=Modelo de factura completo (IGV, método de pago a mostrar, logotipo...) diff --git a/htdocs/langs/es_PE/holiday.lang b/htdocs/langs/es_PE/holiday.lang new file mode 100644 index 00000000000..e26f36ab6e1 --- /dev/null +++ b/htdocs/langs/es_PE/holiday.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - holiday +Permission20001=Read you own leave requests +Permission20004=Read leave requests for everybody diff --git a/htdocs/langs/es_PE/main.lang b/htdocs/langs/es_PE/main.lang index 4b1f525d2bd..2731565d16f 100644 --- a/htdocs/langs/es_PE/main.lang +++ b/htdocs/langs/es_PE/main.lang @@ -26,3 +26,4 @@ HT=Sin IGV TTC=IGV incluido VAT=IGV VATRate=Tasa IGV +ShowTransaction=Show transaction diff --git a/htdocs/langs/es_PE/projects.lang b/htdocs/langs/es_PE/projects.lang new file mode 100644 index 00000000000..a1c900aeb6b --- /dev/null +++ b/htdocs/langs/es_PE/projects.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - projects +OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects diff --git a/htdocs/langs/es_PY/admin.lang b/htdocs/langs/es_PY/admin.lang index 1c53b65c99c..b269ff29dee 100644 --- a/htdocs/langs/es_PY/admin.lang +++ b/htdocs/langs/es_PY/admin.lang @@ -1,4 +1,7 @@ # Dolibarr language file - Source file is en_US - admin AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

    Put here full path of directories.
    Add a carriage return between eah directory.
    To add a directory of the GED module, add here DOL_DATA_ROOT/ecm/yourdirectoryname.

    Files in those directories must end with .odt. ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir +Permission171=Read trips and expenses (own and his subordinates) +Permission771=Read expense reports (own and his subordinates) diff --git a/htdocs/langs/es_PY/banks.lang b/htdocs/langs/es_PY/banks.lang new file mode 100644 index 00000000000..176f509ef4b --- /dev/null +++ b/htdocs/langs/es_PY/banks.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - banks +RejectCheck=Check rejection +RejectCheckDate=Check rejection date +CheckRejected=Check rejected +CheckRejectedAndInvoicesReopened=Check rejected and invoices reopened diff --git a/htdocs/langs/es_PY/bills.lang b/htdocs/langs/es_PY/bills.lang new file mode 100644 index 00000000000..54d42abe856 --- /dev/null +++ b/htdocs/langs/es_PY/bills.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - bills +PaymentTypeTRA=Bill payment +PaymentTypeShortTRA=Bill diff --git a/htdocs/langs/es_PY/holiday.lang b/htdocs/langs/es_PY/holiday.lang new file mode 100644 index 00000000000..e26f36ab6e1 --- /dev/null +++ b/htdocs/langs/es_PY/holiday.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - holiday +Permission20001=Read you own leave requests +Permission20004=Read leave requests for everybody diff --git a/htdocs/langs/es_PY/main.lang b/htdocs/langs/es_PY/main.lang index 1602d6a7ffa..b34fb283fdf 100644 --- a/htdocs/langs/es_PY/main.lang +++ b/htdocs/langs/es_PY/main.lang @@ -19,3 +19,4 @@ FormatDateHourShort=%d/%m/%Y %H:%M FormatDateHourSecShort=%d/%m/%Y %H:%M:%S FormatDateHourTextShort=%d %b %Y %H:%M FormatDateHourText=%d %B %Y %H:%M +ShowTransaction=Show transaction diff --git a/htdocs/langs/es_PY/projects.lang b/htdocs/langs/es_PY/projects.lang new file mode 100644 index 00000000000..a1c900aeb6b --- /dev/null +++ b/htdocs/langs/es_PY/projects.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - projects +OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects diff --git a/htdocs/langs/et_EE/accountancy.lang b/htdocs/langs/et_EE/accountancy.lang index 77898db3458..d615105182c 100644 --- a/htdocs/langs/et_EE/accountancy.lang +++ b/htdocs/langs/et_EE/accountancy.lang @@ -14,17 +14,17 @@ Chartofaccounts=Kontoplaan Fiscalyear=Majandusaastad Menuaccount=Accounting accounts Menuthirdpartyaccount=Thirdparty accounts -MenuTools=Tools +MenuTools=Tööriistad ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Journals JournalFinancial=Financial journals -Exports=Exports -Export=Export -Modelcsv=Model of export +Exports=Eksportimised +Export=Eksport +Modelcsv=Eksportimise mudel OptionsDeactivatedForThisExportModel=For this export model, options are deactivated -Selectmodelcsv=Select a model of export -Modelcsv_normal=Classic export +Selectmodelcsv=Vali eksportimise mudel +Modelcsv_normal=Tavaline eksportimine Modelcsv_CEGID=Export towards CEGID Expert BackToChartofaccounts=Return chart of accounts Back=Return @@ -45,10 +45,10 @@ Reports=Reports ByCustomerInvoice=By invoices customers ByMonth=By Month NewAccount=New accounting account -Update=Update -List=List -Create=Create -CreateMvts=Create movement +Update=Uuenda +List=Loend +Create=Loo +CreateMvts=Loo liikumine UpdateAccount=Modification of an accounting account UpdateMvts=Modification of a movement WriteBookKeeping=Record accounts in general ledger @@ -58,7 +58,7 @@ AccountBalanceByMonth=Account balance by month AccountingVentilation=Breakdown accounting AccountingVentilationSupplier=Breakdown accounting supplier AccountingVentilationCustomer=Breakdown accounting customer -Line=Line +Line=Rida CAHTF=Total purchase supplier HT InvoiceLines=Lines of invoice to be ventilated @@ -103,15 +103,15 @@ ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Accounting account by default for the sold produ ACCOUNTING_SERVICE_BUY_ACCOUNT=Accounting account by default for the bought services (if not defined in the service sheet) ACCOUNTING_SERVICE_SOLD_ACCOUNT=Accounting account by default for the sold services (if not defined in the service sheet) -Doctype=Type of document -Docdate=Date -Docref=Reference -Numerocompte=Account +Doctype=Dokumendi tüüp +Docdate=Kuupäev +Docref=Viide +Numerocompte=Konto Code_tiers=Thirdparty Labelcompte=Label account -Debit=Debit -Credit=Credit -Amount=Amount +Debit=Deebet +Credit=Kreedit +Amount=Summa Sens=Sens Codejournal=Journal diff --git a/htdocs/langs/et_EE/agenda.lang b/htdocs/langs/et_EE/agenda.lang index a4f72409a8b..7fa53d5f550 100644 --- a/htdocs/langs/et_EE/agenda.lang +++ b/htdocs/langs/et_EE/agenda.lang @@ -6,11 +6,11 @@ Agenda=Päevakava Agendas=Päevakavad Calendar=Kalender Calendars=Kalendrid -LocalAgenda=Internal calendar +LocalAgenda=Sisemine kalender ActionsOwnedBy=Event owned by AffectedTo=Mõjutatud isik DoneBy=Teinud isik -Event=Event +Event=Sündmus Events=Tegevused EventsNb=Tegevuste arv MyEvents=Minu tegevused @@ -23,7 +23,7 @@ MenuToDoActions=Kõik lõpetamata tegevused MenuDoneActions=Kõik lõpetatud tegevused MenuToDoMyActions=Minu lõpetamata tegevused MenuDoneMyActions=Minu lõpetatud tegevused -ListOfEvents=List of events (internal calendar) +ListOfEvents=Sündmuste loend (sisemine kalender) ActionsAskedBy=Tegevused, mille sisestas ActionsToDoBy=Tegevused, mis on seotud ActionsDoneBy=Tegevused, mille tegi @@ -88,19 +88,19 @@ ExtSitesNbOfAgenda=Kalendrite arv AgendaExtNb=Kalendreid: %s ExtSiteUrlAgenda=URL .ical failile ligi pääsemiseks ExtSiteNoLabel=Kirjeldus puudub -WorkingTimeRange=Working time range -WorkingDaysRange=Working days range -VisibleTimeRange=Visible time range -VisibleDaysRange=Visible days range -AddEvent=Create event -MyAvailability=My availability -ActionType=Event type -DateActionBegin=Start event date +WorkingTimeRange=Tööaja vahemik +WorkingDaysRange=Tööpäevade vahemik +VisibleTimeRange=Nähtav ajavahemik +VisibleDaysRange=Nähtav päevade vahemik +AddEvent=Loo sündmus +MyAvailability=Minu saadavus +ActionType=Sündmuse tüüp +DateActionBegin=Sündmuse alguse kuupäev CloneAction=Clone event -ConfirmCloneEvent=Are you sure you want to clone the event %s ? -RepeatEvent=Repeat event -EveryWeek=Every week -EveryMonth=Every month -DayOfMonth=Day of month -DayOfWeek=Day of week +ConfirmCloneEvent=Kas oled kindel, et soovid kloonida sündmust %s? +RepeatEvent=Korda sündmust +EveryWeek=Igal nädalal +EveryMonth=Igal kuul +DayOfMonth=Kuu päeval +DayOfWeek=Nädala päeval DateStartPlusOne=Date start + 1 hour diff --git a/htdocs/langs/et_EE/categories.lang b/htdocs/langs/et_EE/categories.lang index 3c4adcca9df..3a36df238a2 100644 --- a/htdocs/langs/et_EE/categories.lang +++ b/htdocs/langs/et_EE/categories.lang @@ -1,8 +1,8 @@ # Dolibarr language file - Source file is en_US - categories -Rubrique=Tag/Category -Rubriques=Tags/Categories -categories=tags/categories -TheCategorie=The tag/category +Rubrique=Silt/Kategooria +Rubriques=Sildid/Kategooriad +categories=sildid/kategooriad +TheCategorie=silt/kategooria NoCategoryYet=No tag/category of this type created In=Kategoorias AddIn=Lisa kategooriasse diff --git a/htdocs/langs/et_EE/commercial.lang b/htdocs/langs/et_EE/commercial.lang index d42f15c1d28..b1a32f90de5 100644 --- a/htdocs/langs/et_EE/commercial.lang +++ b/htdocs/langs/et_EE/commercial.lang @@ -7,13 +7,13 @@ Customer=Klient Customers=Kliendid Prospect=Huviline Prospects=Huvilised -DeleteAction=Delete an event -NewAction=New event -AddAction=Create event -AddAnAction=Create an event +DeleteAction=Kustuta sündmus +NewAction=Uus sündmus +AddAction=Loo sündmus +AddAnAction=Loo sündmus AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=Kohtumine -ConfirmDeleteAction=Are you sure you want to delete this event ? +ConfirmDeleteAction=Oled sa kindel, et soovid seda sündmust kustutada? CardAction=Tegevuse kaart PercentDone=Protsentuaalselt valmis ActionOnCompany=Ettevõttega seotud ülesanne @@ -62,7 +62,7 @@ LastProspectContactDone=Võeti ühendust DateActionPlanned=Tegevuse toimumiseks plaanitud kuupäev DateActionDone=Tegevuse toimumise kuupäev ActionAskedBy=Tegevuse pani kirja -ActionAffectedTo=Event assigned to +ActionAffectedTo=Sündmus on seotud isikuga ActionDoneBy=Tegevuse viis läbi ActionUserAsk=Pani kirja ErrorStatusCantBeZeroIfStarted=Kui väli "Toimumise kuupäev" on täidetud, siis on tegevus alustatud (või lõpetatud), seega ei saa välja "Status" väärtuseks olla 0%. @@ -71,7 +71,7 @@ ActionAC_FAX=Saada faks ActionAC_PROP=Saada pakkumine e-postiga ActionAC_EMAIL=Saada e-kiri ActionAC_RDV=Koosolekud -ActionAC_INT=Intervention on site +ActionAC_INT=Sekkumine koha peal ActionAC_FAC=Saada kliendi arve posti teel ActionAC_REL=Saada kliendi arve posti teel (meeldetuletus) ActionAC_CLO=Sulge @@ -94,4 +94,4 @@ StatusProsp=Huviliste staatus DraftPropals=Mustandi staatuses olevad pakkumised SearchPropal=Otsi pakkumist CommercialDashboard=Äritegevuse kokkuvõte -NoLimit=No limit +NoLimit=Piirangut pole diff --git a/htdocs/langs/et_EE/companies.lang b/htdocs/langs/et_EE/companies.lang index 0fe3a755493..b32278a3e39 100644 --- a/htdocs/langs/et_EE/companies.lang +++ b/htdocs/langs/et_EE/companies.lang @@ -30,8 +30,8 @@ ThirdPartyContact=Kolmanda isiku kontakt/aadress StatusContactValidated=Kontakti/aadressi staatus Company=Ettevõte CompanyName=Ettevõtte nimi -AliasNames=Alias name (commercial, trademark, ...) -AliasNameShort=Alias name +AliasNames=Hüüdnimi (ärinimi, kaubamärk, ...) +AliasNameShort=Hüüdnimi Companies=Ettevõtted CountryIsInEEC=Riik on Euroopa Majandusühenduse liige ThirdPartyName=Kolmanda isiku nimi @@ -69,7 +69,7 @@ Country=Riik CountryCode=Riigi kood CountryId=Riigi ID Phone=Telefon -PhoneShort=Phone +PhoneShort=Telefon Skype=Skype Call=Helista Chat=Vestle diff --git a/htdocs/langs/et_EE/contracts.lang b/htdocs/langs/et_EE/contracts.lang index c4df388b8d3..9be14e9d4d5 100644 --- a/htdocs/langs/et_EE/contracts.lang +++ b/htdocs/langs/et_EE/contracts.lang @@ -21,8 +21,8 @@ ServicesLegend=Teenuste legend Contracts=Lepingud ContractsAndLine=Contracts and line of contracts Contract=Leping -ContractLine=Contract line -Closing=Closing +ContractLine=Lepingu rida +Closing=Sulgemine NoContracts=Lepinguid pole MenuServices=Teenused MenuInactiveServices=Teenused ei ole aktiivsed @@ -30,7 +30,7 @@ MenuRunningServices=Aktiivsed teenused MenuExpiredServices=Aegunud teenused MenuClosedServices=Suletud teenused NewContract=Uus leping -AddContract=Create contract +AddContract=Loo leping SearchAContract=Otsi lepingut DeleteAContract=Kustuta leping CloseAContract=Sulge leping @@ -56,7 +56,7 @@ ListOfRunningContractsLines=Aktiivsete lepinguridade nimekiri ListOfRunningServices=Aktiivsete teenuste nimekiri NotActivatedServices=Mitteaktiivsed teenused (kinnitatud lepingutel) BoardNotActivatedServices=Teenused, mida aktiveerida kinnitatud lepingutel -LastContracts=Last %s contracts +LastContracts=Viimased %s lepingut LastActivatedServices=Viimased %s aktiveeritud teenust LastModifiedServices=Viimased %s muudetud teenust EditServiceLine=Muuda teenuse rida @@ -92,7 +92,7 @@ ListOfServicesToExpireWithDuration=%s päeva pärast aeguvate teenuste nimekiri ListOfServicesToExpireWithDurationNeg=Teenuste nimekiri, mis aegusid rohkem kui %s päeva tagasi ListOfServicesToExpire=Aeguvate teenuste nimekiri NoteListOfYourExpiredServices=See nimekiri sisaldab vaid nende lepingute teenuseid, millega seotud kolmandate isikute kohta oled märgitud müügiesindajaks -StandardContractsTemplate=Standard contracts template +StandardContractsTemplate=Tavapärane lepingu mall ContactNameAndSignature=For %s, name and signature: OnlyLinesWithTypeServiceAreUsed=Only lines with type "Service" will be cloned. diff --git a/htdocs/langs/fr_BE/admin.lang b/htdocs/langs/fr_BE/admin.lang index a7b7f36bd74..0d4d9d37044 100644 --- a/htdocs/langs/fr_BE/admin.lang +++ b/htdocs/langs/fr_BE/admin.lang @@ -26,4 +26,7 @@ IfModuleEnabled=Note: oui ne fonctionne que si le module %s est activé RemoveLock=Supprimez le fichier %s s'il existe pour autoriser l'utilisation de l'outil de mise à jour. AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

    Put here full path of directories.
    Add a carriage return between eah directory.
    To add a directory of the GED module, add here DOL_DATA_ROOT/ecm/yourdirectoryname.

    Files in those directories must end with .odt. ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir +Permission171=Read trips and expenses (own and his subordinates) +Permission771=Read expense reports (own and his subordinates) diff --git a/htdocs/langs/fr_BE/banks.lang b/htdocs/langs/fr_BE/banks.lang new file mode 100644 index 00000000000..176f509ef4b --- /dev/null +++ b/htdocs/langs/fr_BE/banks.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - banks +RejectCheck=Check rejection +RejectCheckDate=Check rejection date +CheckRejected=Check rejected +CheckRejectedAndInvoicesReopened=Check rejected and invoices reopened diff --git a/htdocs/langs/fr_BE/bills.lang b/htdocs/langs/fr_BE/bills.lang index 99e5ff177f3..548652db22d 100644 --- a/htdocs/langs/fr_BE/bills.lang +++ b/htdocs/langs/fr_BE/bills.lang @@ -60,5 +60,9 @@ PaymentTypeLIQ=En espèces PaymentTypeShortLIQ=En espèces PaymentTypeCB=Carte de crédit PaymentTypeShortCB=Carte de crédit +PaymentTypeTIP=Deposit +PaymentTypeShortTIP=Deposit +PaymentTypeTRA=Bill payment +PaymentTypeShortTRA=Bill CreditNoteConvertedIntoDiscount=Ce crédit ou acompte a été converti en %s TerreNumRefModelDesc1=Renvoie le numéro sous la forme %syymm-nnnn pour les factures et %syymm-nnnn pour les notes de crédits où yy est l'année, mm le mois et nnnn un compteur séquentiel sans rupture et sans remise à 0 diff --git a/htdocs/langs/fr_BE/main.lang b/htdocs/langs/fr_BE/main.lang index a3a5442d2cd..5ae7a927215 100644 --- a/htdocs/langs/fr_BE/main.lang +++ b/htdocs/langs/fr_BE/main.lang @@ -19,3 +19,4 @@ FormatDateHourShort=%d/%m/%Y %H:%M FormatDateHourSecShort=%d/%m/%Y %H:%M:%S FormatDateHourTextShort=%d %b %Y %H:%M FormatDateHourText=%d %B %Y %H:%M +ShowTransaction=Show transaction diff --git a/htdocs/langs/fr_BE/projects.lang b/htdocs/langs/fr_BE/projects.lang new file mode 100644 index 00000000000..a1c900aeb6b --- /dev/null +++ b/htdocs/langs/fr_BE/projects.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - projects +OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects diff --git a/htdocs/langs/fr_CA/projects.lang b/htdocs/langs/fr_CA/projects.lang new file mode 100644 index 00000000000..a1c900aeb6b --- /dev/null +++ b/htdocs/langs/fr_CA/projects.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - projects +OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects diff --git a/htdocs/langs/fr_CH/admin.lang b/htdocs/langs/fr_CH/admin.lang index 1c53b65c99c..b269ff29dee 100644 --- a/htdocs/langs/fr_CH/admin.lang +++ b/htdocs/langs/fr_CH/admin.lang @@ -1,4 +1,7 @@ # Dolibarr language file - Source file is en_US - admin AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

    Put here full path of directories.
    Add a carriage return between eah directory.
    To add a directory of the GED module, add here DOL_DATA_ROOT/ecm/yourdirectoryname.

    Files in those directories must end with .odt. ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir +Permission171=Read trips and expenses (own and his subordinates) +Permission771=Read expense reports (own and his subordinates) diff --git a/htdocs/langs/fr_CH/banks.lang b/htdocs/langs/fr_CH/banks.lang new file mode 100644 index 00000000000..176f509ef4b --- /dev/null +++ b/htdocs/langs/fr_CH/banks.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - banks +RejectCheck=Check rejection +RejectCheckDate=Check rejection date +CheckRejected=Check rejected +CheckRejectedAndInvoicesReopened=Check rejected and invoices reopened diff --git a/htdocs/langs/fr_CH/bills.lang b/htdocs/langs/fr_CH/bills.lang new file mode 100644 index 00000000000..5e7e6712393 --- /dev/null +++ b/htdocs/langs/fr_CH/bills.lang @@ -0,0 +1,5 @@ +# Dolibarr language file - Source file is en_US - bills +PaymentTypeTIP=Deposit +PaymentTypeShortTIP=Deposit +PaymentTypeTRA=Bill payment +PaymentTypeShortTRA=Bill diff --git a/htdocs/langs/fr_CH/main.lang b/htdocs/langs/fr_CH/main.lang index 2e691473326..7c749600705 100644 --- a/htdocs/langs/fr_CH/main.lang +++ b/htdocs/langs/fr_CH/main.lang @@ -19,3 +19,4 @@ FormatDateHourShort=%m/%d/%Y %I:%M %p FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%b %d, %Y, %I:%M %p FormatDateHourText=%B %d, %Y, %I:%M %p +ShowTransaction=Show transaction diff --git a/htdocs/langs/fr_CH/projects.lang b/htdocs/langs/fr_CH/projects.lang new file mode 100644 index 00000000000..a1c900aeb6b --- /dev/null +++ b/htdocs/langs/fr_CH/projects.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - projects +OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects diff --git a/htdocs/langs/fr_FR/bills.lang b/htdocs/langs/fr_FR/bills.lang index c5de9974ed5..7b9bb5540b0 100644 --- a/htdocs/langs/fr_FR/bills.lang +++ b/htdocs/langs/fr_FR/bills.lang @@ -330,8 +330,8 @@ PaymentTypeCB=Carte bancaire PaymentTypeShortCB=Carte bancaire PaymentTypeCHQ=Chèque PaymentTypeShortCHQ=Chèque -PaymentTypeTIP=Deposit -PaymentTypeShortTIP=Deposit +PaymentTypeTIP=Acompte +PaymentTypeShortTIP=Acompte PaymentTypeVAD=Paiement en ligne PaymentTypeShortVAD=Paiement en ligne PaymentTypeTRA=Paiement par traite diff --git a/htdocs/langs/fr_FR/compta.lang b/htdocs/langs/fr_FR/compta.lang index 6ec61432810..5483bfafe03 100644 --- a/htdocs/langs/fr_FR/compta.lang +++ b/htdocs/langs/fr_FR/compta.lang @@ -63,7 +63,7 @@ MenuSpecialExpenses=Dépenses spéciales MenuTaxAndDividends=Taxes et charges MenuSalaries=Salaires MenuSocialContributions=Charges fiscales/sociales -MenuNewSocialContribution=New social/fiscal tax +MenuNewSocialContribution=Nouvelle taxe sociale NewSocialContribution=Nouvelle charge fiscale/sociale ContributionsToPay=Charges fiscales/sociales à payer AccountancyTreasuryArea=Espace comptabilité/trésorerie @@ -198,7 +198,7 @@ CalculationRuleDescSupplier=Selon le fournisseur, choisissez le mode approprié TurnoverPerProductInCommitmentAccountingNotRelevant=Le chiffre d'affaires par produit, dans une comptabilité en mode comptabilité de caisse n'est pas définissable. Ce rapport n'est disponible qu'en mode de comptabilité dit comptabilité d'engagement (voir la configuration du module de comptabilité). CalculationMode=Mode de calcul AccountancyJournal=Code journal comptabilité -ACCOUNTING_VAT_SOLD_ACCOUNT=Code comptable par défaut pour la TVA encaissé +ACCOUNTING_VAT_SOLD_ACCOUNT=Code comptable par défaut pour la collecte de TVA ACCOUNTING_VAT_BUY_ACCOUNT=Code comptable par défaut pour l'encaissement de TVA ACCOUNTING_VAT_PAY_ACCOUNT=Code comptable par défaut pour le paiement de la TVA ACCOUNTING_ACCOUNT_CUSTOMER=Code comptable par défaut des tiers clients diff --git a/htdocs/langs/fr_FR/holiday.lang b/htdocs/langs/fr_FR/holiday.lang index c3dfa31de07..d201181188d 100644 --- a/htdocs/langs/fr_FR/holiday.lang +++ b/htdocs/langs/fr_FR/holiday.lang @@ -140,11 +140,5 @@ HolidaysRefused=Accès refusé HolidaysRefusedBody=Votre demande de congés payés %s à %s vient d'être refusée pour le motif suivant : HolidaysCanceled=Abandonner la demande de congés HolidaysCanceledBody=Votre demande de congés du %s au %s a été annulée. -Permission20001=Lire ses propres demandes de congès -Permission20002=Créer/modifier ses demandes de congés -Permission20003=Supprimer la demande de Congés -Permission20004=Lire les demandes de congès de tout le monde -Permission20005=Créer/modifier les congés pour tout le monde -Permission20006=Administration des demande de congès (configuration et mise à jour du solde) NewByMonth=Ajouté par mois GoIntoDictionaryHolidayTypes=Aller dans Accueil - Configuration - Dictionnaires - Type de congés pour configurer les différents types de congés. diff --git a/htdocs/langs/hu_HU/bookmarks.lang b/htdocs/langs/hu_HU/bookmarks.lang index b03dcc026ff..415ba7cd01a 100644 --- a/htdocs/langs/hu_HU/bookmarks.lang +++ b/htdocs/langs/hu_HU/bookmarks.lang @@ -3,17 +3,17 @@ AddThisPageToBookmarks=Az oldal könyvjelzőkhöz adása Bookmark=Könyvjelző Bookmarks=Könyvjelzők NewBookmark=Új könyvjelző -ShowBookmark=Mutasd Könyvjelző +ShowBookmark=Könyvjelző mutatása OpenANewWindow=Nyisson meg egy új ablakban -ReplaceWindow=Cserélje aktuális ablak +ReplaceWindow=Cserélje az aktuális ablakot BookmarkTargetNewWindowShort=Új ablak BookmarkTargetReplaceWindowShort=Aktuális ablak -BookmarkTitle=Könyvjelzõnévbõl -UrlOrLink=URL -BehaviourOnClick=Viselkedés, ha egy URL-t kattintott -CreateBookmark=Könyvjelző -SetHereATitleForLink=Állítsa be a címet a könyvjelző -UseAnExternalHttpLinkOrRelativeDolibarrLink=Egy külső http URL-t vagy relatív URL Dolibarr -ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Válassza ki, egy oldalon nyitott a kapcsolatot fel kell tüntetni a jelenlegi, vagy új ablakban +BookmarkTitle=Könyvjelzõ név +UrlOrLink=URL elérési út +BehaviourOnClick=Viselkedés, ha egy URL elérési útra kattintott +CreateBookmark=Könyvjelző lértehozása +SetHereATitleForLink=Állítsa be a címet a könyvjelzőhöz +UseAnExternalHttpLinkOrRelativeDolibarrLink=Használjon egy külső http URL-t vagy relatív URL Dolibarr +ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Válassza ki, hogy a megnyitni kívánt oldal egy új oldalon vagy a jelenlegin jelenjen meg BookmarksManagement=Könyvjelzők kezelése ListOfBookmarks=Könyvjelzők listája diff --git a/htdocs/langs/it_IT/cron.lang b/htdocs/langs/it_IT/cron.lang index c158d62ff93..4be3199634f 100644 --- a/htdocs/langs/it_IT/cron.lang +++ b/htdocs/langs/it_IT/cron.lang @@ -4,10 +4,10 @@ About = Info CronAbout = Info su Cron CronAboutPage = Pagina informativa su Cron # Right -Permission23101 = Read Scheduled job -Permission23102 = Create/update Scheduled job -Permission23103 = Delete Scheduled job -Permission23104 = Execute Scheduled job +Permission23101 = Leggi processo pianificato +Permission23102 = Crea / Aggiornamento processo pianificato +Permission23103 = Elimina processo pianificato +Permission23104 = Esegui processo pianificato # Admin CronSetup= Impostazione delle azioni pianificate URLToLaunchCronJobs=URL che lancia i job di cron @@ -26,11 +26,11 @@ CronLastOutput=Output dell'ultimo avvio CronLastResult=Codice del risultato dell'ultima esecuzione CronListOfCronJobs=Lista dei job programmati CronCommand=Comando -CronList=Scheduled jobs +CronList=Processi pianificati CronDelete=Cancella i job programmati -CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? +CronConfirmDelete=Sei sicuro di voler cancellare questi processi pianificati? CronExecute=Lanca i job programmati -CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? +CronConfirmExecute=Sei sicuro di voler eseguire questi processi pianificati ora? CronInfo=Il modulo per i job programmati permette di eseguire operazioni definite in anticipoi CronWaitingJobs=Job in attesa CronTask=Azione @@ -39,8 +39,8 @@ CronDtStart=Data di inizio CronDtEnd=Data di fine CronDtNextLaunch=Prossima esecuzione CronDtLastLaunch=Ultima esecuzione -CronFrequency=Frequency -CronClass=Class +CronFrequency=Frequenza +CronClass=Classe CronMethod=Metodo CronModule=Modulo CronAction=Azione @@ -55,8 +55,8 @@ CronEach=Ogni JobFinished=Azione eseguita e completata #Page card CronAdd= Aggiungi job -CronHourStart= Start hour and date of job -CronEvery=Execute job each +CronHourStart= Data e ora di inizio di lavoro +CronEvery=Esegui ogni lavoro CronObject=Istanza/Oggetto da creare CronArgs=Parametri CronSaveSucess=Salvato con successo @@ -76,14 +76,14 @@ CronMethodHelp=Nome del metodo dell'oggetto da eseguire.
    Per esempio per ott CronArgsHelp=Argomenti del metodo.
    Per esempio per ottenere il metodo corretto dell'oggetto /htdocs/product/class/product.class.php, il valore dei parametri può essere 0, ProductRef CronCommandHelp=Il comando da eseguire sul sistema CronCreateJob=Crea nuovo job programmato -CronFrom=From +CronFrom=Da # Info CronInfoPage=Informazioni # Common -CronType=Job type +CronType=Tipo di lavoro CronType_method=Metodo di chiamata di una classe Dolibarr CronType_command=Comando da shell CronMenu=Cron CronCannotLoadClass=Non posso caricare la classe %s o l'oggetto %s UseMenuModuleToolsToAddCronJobs=Andare nel menu "Home - Modules tools - Job list" per vedere e modificare le azioni pianificate. -TaskDisabled=Job disabled +TaskDisabled=Lavoro disabilitato diff --git a/htdocs/langs/lv_LV/admin.lang b/htdocs/langs/lv_LV/admin.lang index 7d024fc8e31..c0b06fbdbbb 100644 --- a/htdocs/langs/lv_LV/admin.lang +++ b/htdocs/langs/lv_LV/admin.lang @@ -2,7 +2,7 @@ Foundation=Organizācija Version=Versija VersionProgram=Programmas versija -VersionLastInstall=Sākotnējā instalētā versija +VersionLastInstall=Sākotnēji instalētā versija VersionLastUpgrade=Pēdējo reizi versija atjaunijnāta VersionExperimental=Eksperimentāls VersionDevelopment=Attīstība @@ -259,24 +259,24 @@ CurrentSmartphoneMenuHandler=Pašreizējā viedtālrunis izvēlne kopējs MeasuringUnit=Mērvienības Emails=E-pasti EMailsSetup=E-pastu iestatīšana -EMailsDesc=Šī lapa ļauj pārrakstīt savu PHP parametrus par e-pastiem sūtīšanu. Vairumā gadījumu par Unix / Linux OS, jūsu PHP uzstādīšana ir pareiza, un šie parametri ir bezjēdzīgi. -MAIN_MAIL_SMTP_PORT=SMTP / SMTPS Port (Pēc noklusējuma php.ini: %s) +EMailsDesc=Šī lapa ļauj pārrakstīt jūsu PHP parametrus par e-pastu sūtīšanu. Vairumā gadījumu Unix / Linux OS, jūsu PHP uzstādījumi ir pareizi, un šie parametri ir bezjēdzīgi. +MAIN_MAIL_SMTP_PORT=SMTP / SMTPS Ports (Pēc noklusējuma php.ini: %s) MAIN_MAIL_SMTP_SERVER=SMTP / SMTPS Host (Pēc noklusējuma php.ini: %s) MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP / SMTPS Port (Nav noteikts uz PHP uz Unix, piemēram, sistēmas) MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP / SMTPS Host (Nav noteikts uz PHP uz Unix, piemēram, sistēmas) -MAIN_MAIL_EMAIL_FROM=Sūtītāja e-pasta automātisko e-pastu (Pēc noklusējuma php.ini: %s) -MAIN_MAIL_ERRORS_TO=Sūtītāja e-pasta izmantotas kļūdu atgriešanās e-pastu nosūtīts -MAIN_MAIL_AUTOCOPY_TO= Nosūtīt sistemātiski slēptu oglekļa-kopiju visu nosūtīto e-pastus +MAIN_MAIL_EMAIL_FROM=Sūtītāja e-pasts automātiskajiem e-pastiem (Pēc noklusējuma php.ini: %s) +MAIN_MAIL_ERRORS_TO=Sūtītāja izmantotais e-pasts kļūdu paziņojumu atgriešanai par nenosūtītajiem e-pastiem +MAIN_MAIL_AUTOCOPY_TO= Nosūtīt sistemātiski visu nosūtīto e-pastu slēptu kopiju uz MAIN_MAIL_AUTOCOPY_PROPOSAL_TO= Send systematically a hidden carbon-copy of proposals sent by email to MAIN_MAIL_AUTOCOPY_ORDER_TO= Send systematically a hidden carbon-copy of orders sent by email to MAIN_MAIL_AUTOCOPY_INVOICE_TO= Send systematically a hidden carbon-copy of invoice sent by emails to -MAIN_DISABLE_ALL_MAILS=Atspējot visus e-pastus sendings (izmēģinājuma nolūkā vai demos) +MAIN_DISABLE_ALL_MAILS=Atspējot visus e-pastu sūtīšanu (izmēģinājuma nolūkā vai demo izveidošanai) MAIN_MAIL_SENDMODE=Metode ko izmantot sūtot e-pastus MAIN_MAIL_SMTPS_ID=SMTP ID ja autentificēšana nepieciešama MAIN_MAIL_SMTPS_PW=SMTP parole ja autentificēšanās nepieciešama MAIN_MAIL_EMAIL_TLS= Izmantot TLS (SSL) šifrēšanu -MAIN_DISABLE_ALL_SMS=Atslēgt visas SMS sendings (izmēģinājuma nolūkā vai demos) -MAIN_SMS_SENDMODE=Izmantojamā metode, lai sūtītu SMS +MAIN_DISABLE_ALL_SMS=Atslēgt visas SMS sūtīšanas (izmēģinājuma nolūkā vai demo) +MAIN_SMS_SENDMODE=Izmantojamā metode SMS sūtīšanai MAIN_MAIL_SMS_FROM=Noklusētais sūtītāja tālruņa numurs SMS sūtīšanai FeatureNotAvailableOnLinux=Iezīme nav pieejams Unix, piemēram, sistēmas. Pārbaudi savu sendmail programmai vietas. SubmitTranslation=Ja tulkojums šajā valodā nav pilnīga vai jums atrast kļūdas, jūs varat labot šo, rediģējot failus direktorijā langs / %s un iesniedz modificēto failus www.dolibarr.org forumā. @@ -295,13 +295,13 @@ ModuleFamilyECM=Elektroniskais Satura Vadība (ESV) MenuHandlers=Izvēlnes manipulatori MenuAdmin=Izvēlnes redaktors DoNotUseInProduction=Neizmantot produkcijā -ThisIsProcessToFollow=Tas ir setup, lai process: +ThisIsProcessToFollow=Šie ir soļi, kas jāipilda: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Solis %s -FindPackageFromWebSite=Atrast paketi, kas nodrošina iespēju, jūs vēlaties (piemēram, par oficiālo tīmekļa vietnes %s). +FindPackageFromWebSite=Atrast paku, kas nodrošina iespēju, kura jums ir nepieciešama (piemēram oficiālajā tīmekļa vietnē %s). DownloadPackageFromWebSite=Lejupielādēt arhīvu (piem. no oficialās mājas lapas %s). -UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s -SetupIsReadyForUse=Instalēšana ir pabeigta, un Dolibarr ir gatavs lietošanai ar šo jauno komponentu. +UnpackPackageInDolibarrRoot=Atarhivēt paku Dolibarr servera direktorijā, kas paredzēta ārējiem moduļiem: %s +SetupIsReadyForUse=Instalēšana ir pabeigta un Dolibarr ir gatavs lietošanai ar šo jauno komponentu. NotExistsDirect=Alternatīva saknes direktorijs nav definēta.
    InfDirAlt=Kopš 3 versijas, ir iespējams noteikt alternatīvu sakne directory.Tas ļauj jums saglabāt, tajā pašā vietā, papildinājumus un pielāgotas veidnes.
    Jums tikai jāizveido direktoriju Dolibarr saknē (piemēram: custom).
    InfDirExample=
    Tad paziņo to failu conf.php
    $ Dolibarr_main_url_root_alt = 'http://myserver/custom'
    $ Dolibarr_main_document_root_alt = '/ ceļš / uz / dolibarr / htdocs / custom'
    * Šīs līnijas ir komentēja ar "#", lai uncomment tikai noņemt raksturs. @@ -353,12 +353,12 @@ ThemeDir=Izskata katalogs ConnectionTimeout=Savienojuma taimauts ResponseTimeout=Atbildes taimauts SmsTestMessage=Testa ziņojums no __ PHONEFROM__ to __ PHONETO__ -ModuleMustBeEnabledFirst=Moduļu %s ir jābūt aktivizētam pirmais, pirms izmantojot šo funkciju. +ModuleMustBeEnabledFirst=Modulim %s ir jābūt aktivizētam pirmajam, pirms izmantot šo funkciju. SecurityToken=Atslēga uz drošu saiti -NoSmsEngine=Nav SMS sūtītājs vadītājs pieejama. SMS sūtītājs vadītājs nav uzstādītas ar noklusējuma izplatīšanu (jo tie ir atkarīga no ārēja piegādātāja), bet jūs varat atrast dažas no %s +NoSmsEngine=Nav SMS sūtītšanas iespēja pieejama. SMS sūtīšanas iespēja nav uzstādītas ar noklusējuma instalāciju (tāpēc, ka tas ir atkarīgs no ārēja piegādātāja), bet jūs varat atrast dažas sms sūtīšanas iespējas %s PDF=PDF PDFDesc=Jūs varat iestatīt katru pasaules iespējas, kas saistītas ar PDF paaudzes -PDFAddressForging=Noteikumi veidot adresi kastes +PDFAddressForging=Noteikumi veidojot adreses lauku HideAnyVATInformationOnPDF=Paslēpt visu informāciju, kas saistīta ar PVN, izveidotajā PDF HideDescOnPDF=Slēpt produktu aprakstu radītos PDF HideRefOnPDF=Slēpt produktu ref. izveidotajos PDF @@ -449,7 +449,7 @@ Module52Name=Krājumi Module52Desc=Krājumu pārvaldīšana (produkti) Module53Name=Pakalpojumi Module53Desc=Pakalpojumu vadība -Module54Name=Contracts/Subscriptions +Module54Name=Līgumi/Subscriptions Module54Desc=Management of contracts (services or reccuring subscriptions) Module55Name=Svītrkodi Module55Desc=Svītrkodu vadība @@ -487,7 +487,7 @@ Module320Name=RSS barotne Module320Desc=Pievienot RSS plūsmu Dolibarr lapās Module330Name=Grāmatzīmes Module330Desc=Grāmatzīmju pārvaldība -Module400Name=Projects/Opportunities/Leads +Module400Name=Projekti/Iespējas/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Vebkalendārs Module410Desc=Web kalendāra integrācija @@ -630,11 +630,11 @@ Permission151=Lasīt pastāvīgos pieprasījumus Permission152=Izveidot / mainīt pastāvīgu pasūtījumu pieprasījumu Permission153=Transmisijas regulārā maksājuma rīkojumu ieņēmumi Permission154=Kredītkartes / atteikties regulārā maksājuma rīkojumu ieņēmumiem -Permission161=Read contracts/subscriptions -Permission162=Create/modify contracts/subscriptions +Permission161=Apskatīt līgumus/subscriptions +Permission162=Izveidot/labot līgumus/subscriptions Permission163=Activate a service/subscription of a contract Permission164=Disable a service/subscription of a contract -Permission165=Delete contracts/subscriptions +Permission165=Dzēst līgumus/subscriptions Permission171=Read trips and expenses (own and his subordinates) Permission172=Izveidot/labot ceļojumu un izdevumus Permission173=Dzēst ceļojumus un izdevumus @@ -793,7 +793,7 @@ Permission59001=Read commercial margins Permission59002=Define commercial margins Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type -DictionaryCompanyJuridicalType=Juridical kinds of thirdparties +DictionaryCompanyJuridicalType=Juridiskais veids trešajām personām DictionaryProspectLevel=Prospect potential level DictionaryCanton=State/Cantons DictionaryRegion=Reģions @@ -802,11 +802,11 @@ DictionaryCurrency=Valūtas DictionaryCivility=Civility title DictionaryActions=Type of agenda events DictionarySocialContributions=Social or fiscal taxes types -DictionaryVAT=VAT Rates or Sales Tax Rates +DictionaryVAT=PVN likmes vai pārdošanas procentu likmes DictionaryRevenueStamp=Amount of revenue stamps DictionaryPaymentConditions=Apmaksas noteikumi DictionaryPaymentModes=Payment modes -DictionaryTypeContact=Contact/Address types +DictionaryTypeContact=Kontaktu/Adrešu veidi DictionaryEcotaxe=Ecotax (WEEE) DictionaryPaperFormat=Papīra formāts DictionaryFees=Type of fees @@ -873,7 +873,7 @@ AlwaysActive=Vienmēr aktīvs UpdateRequired=Jūsu sistēma ir jāatjaunina. Lai to izdarītu, noklikšķiniet uz Update tagad . Upgrade=Atjaunināt MenuUpgrade=Atjaunināt / Paplašināt -AddExtensionThemeModuleOrOther=Pievienot paplašinājumu (tēma, modulis, ...) +AddExtensionThemeModuleOrOther=Pievienot paplašinājumus (tēma, modulis, ...) WebServer=Tīmekļa serveris DocumentRootServer=Web servera saknes direktorija DataRootServer=Datu failu direktorija @@ -906,7 +906,7 @@ ConstraintsType=Ierobežojumi veids ConstraintsToShowOrNotEntry=Ierobežojums, lai parādītu vai izvēlnes ierakstu AllMustBeOk=Visi šie jāpārbauda Host=Serveris -DriverType=Driver tips +DriverType=Draivera veids SummarySystem=Sistēmas informācijas kopsavilkums SummaryConst=Sarakstu ar visiem Dolibarr uzstādīšanas parametriem SystemUpdate=Sistēmas atjaunināšana @@ -979,7 +979,7 @@ Audit=Audits InfoDolibarr=Dolibarr info InfoBrowser=Pārlūkprogrammas info InfoOS=OS informācija -InfoWebServer=Infos tīmekļa serveris +InfoWebServer=Tīmekļa servera info InfoDatabase=Datubāzes informācija InfoPHP=PHP Informācija InfoPerf=Infos izrādes @@ -1005,8 +1005,8 @@ TriggerDisabledAsModuleDisabled=Trigeri Šajā failā ir invalīdi, kā modulis TriggerAlwaysActive=Trigeri Šajā failā ir aktīva vienmēr, neatkarīgi ir aktivizēts Dolibarr moduļiem. TriggerActiveAsModuleActive=Trigeri Šajā failā ir aktīvs kā modulis %s ir iespējots. GeneratedPasswordDesc=Noteikt šeit, kas noteikums jūs vēlaties izmantot, lai radītu jaunu paroli, ja jūs lūgt, lai ir auto radīto paroli -DictionaryDesc=Define here all reference datas. You can complete predefined value with yours. -ConstDesc=Šī lapa ļauj jums rediģēt visus citus parametrus, kas nav pieejamas iepriekšējās lapās. Tie ir rezervētas parametrus pieredzējušiem izstrādātājiem vai troubleshouting. +DictionaryDesc=Definēt šeit visus atsauces datus. Jūs varat papildināt definētās vērtību ar jūsējām. +ConstDesc=Šī lapa ļauj jums rediģēt visus citus parametrus, kas nav pieejami iepriekšējās lapās. Šie parametri ir rezervētu pieredzējušiem izstrādātājiem vai problēmu risināšanai. OnceSetupFinishedCreateUsers=Uzmanību, jums ir Dolibarr administrators lietotājs. Administratora lietotāji izmanto, lai setup Dolibarr. Par parasto izmantošanu Dolibarr, ieteicams izmantot bez administratora lietotājam izveidota no lietotājiem un grupas ēdienkarti. MiscellaneousDesc=Definēt šeit visus citus parametrus, kas saistīti ar drošību. LimitsSetup=Ierobežojumi / Precision iestatīšanas @@ -1019,7 +1019,7 @@ MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is d UnitPriceOfProduct=Neto vienības produkta cena TotalPriceAfterRounding=Kopējā cena (neto/pvn/ar nodokli) pēc noapaļošanas ParameterActiveForNextInputOnly=Parametrs stājas spēkā no nākamās ievades -NoEventOrNoAuditSetup=Nav drošības pasākums ir ierakstīta vēl. Tas var būt normāls, ja audits nav iespējots uz "Setup - drošība - revīzijas" lapā. +NoEventOrNoAuditSetup=Nav drošības pasākumi ierakstīti vēl. Tas var būt normāli, ja audits nav iespējots "Iestatījumi - drošība - audtits" lapā. NoEventFoundWithCriteria=Nav drošības pasākums ir atzīts par šādiem meklēšanas kritērijiem ir. SeeLocalSendMailSetup=Skatiet sendmail iestatījumus BackupDesc=Lai izveidotu pilnu Dolibarr rezerves kopiju jums ir: @@ -1029,8 +1029,8 @@ BackupDescX=Arhivēto katalogs jāglabā drošā vietā. BackupDescY=Radītais dump fails jāglabā drošā vietā. BackupPHPWarning=Rezerves nevar būt guaranted ar šo metodi. Dod iepriekšējo RestoreDesc=Lai atjaunotu Dolibarr rezeves kopiju jums ir: -RestoreDesc2=Restore archive file (zip file for example) of documents directory to extract tree of files in documents directory of a new Dolibarr installation or into this current documents directoy (%s). -RestoreDesc3=Restore the data, from a backup dump file, into the database of the new Dolibarr installation or into the database of this current installation (%s). Warning, once restore is finished, you must use a login/password, that existed when backup was made, to connect again. To restore a backup database into this current installation, you can follow this assistant. +RestoreDesc2=Atjaunot dokumentu direktorijas arhīva failu (piemēram zip fails), lai iegūtu failu struktūru jaunās Dolibarr instalācijas vai pašreizējā dokumentu direktorijā (%s). +RestoreDesc3=Atjaunot datus no rezerves kopijas faila, datu bāzē jaunā Dolibarr instalācijā vai datu bāzē pašreizējajai instalācijai (%s). Brīdinājums, kad atjaunošana ir pabeigta, jums ir jāizmanto lietotāja vārds / parole, kas bija tad, kad tika veikta rezerves kopija, lai pieslēgtos atkal. Lai atjaunotu rezerves kopiju datubāzei esošajā instalācijā, jūs varat sekot šim palīgam. RestoreMySQL=MySQL imports ForcedToByAModule= Šis noteikums ir spiests %s ar aktivēto modulis PreviousDumpFiles=Pieejamās datu bāzes rezerves kopijas faili @@ -1078,7 +1078,7 @@ PathToDocuments=Ceļš līdz dokumentiem PathDirectory=Katalogs SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. TranslationSetup=Tulkojumu konfigurēšana -TranslationDesc=Valodu izvēle redzams uz ekrāna var mainīt:
    * Globāli no izvēlnes Home - Setup - Displejs
    * Lietotāju tikai no tab lietotāja displeja lietotāja kartes (uzklikšķiniet uz pieteikšanās uz augšu ekrāna). +TranslationDesc=Valodu izvēli redzamu uz ekrāna var mainīt:
    * Globāli no izvēlnes Mājās - Iestatījumi - Attēlojums
    * Lietotājam tikai no sadaļas lietotāja attēlošanas iestatīšana lietotāja kartiņā (uzklikšķiniet uz pieteikšanās vārda lapas augšpusē). TotalNumberOfActivatedModules=Aktivēto moduļu kopskaits: %s YouMustEnableOneModule=Jums ir jābūt ieslēgtam vismaz 1 modulim ClassNotFoundIntoPathWarning=Klase %s nav atrasta PHP norādītajā ceļā @@ -1215,7 +1215,7 @@ FicheinterNumberingModules=Intervences numerācijas modeļi TemplatePDFInterventions=Intervences karšu dokumenti modeļi WatermarkOnDraftInterventionCards=Ūdenszīme intervences karšu dokumentiem (neviena ja tukšs) ##### Contracts ##### -ContractsSetup=Contracts/Subscriptions module setup +ContractsSetup=Līgumu/Subscriptions moduļa iestatīšana ContractsNumberingModules=Līgumi numerācijas moduļus TemplatePDFContracts=Contracts documents models FreeLegalTextOnContracts=Free text on contracts @@ -1645,10 +1645,10 @@ ConfFileMuseContainCustom=Installing an external module from application save th HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes -BackgroundColor=Background color -TopMenuBackgroundColor=Background color for Top menu -LeftMenuBackgroundColor=Background color for Left menu -BackgroundTableTitleColor=Background color for table title line +BackgroundColor=Fona krāsa +TopMenuBackgroundColor=Fona krāsa augšējai izvēlnei +LeftMenuBackgroundColor=Fona krāsa kreisajai izvēlnei +BackgroundTableTitleColor=Fona krāsa tabulas virsrakstam BackgroundTableLineOddColor=Background color for odd table lines BackgroundTableLineEvenColor=Background color for even table lines MinimumNoticePeriod=Minimum notice period (Your leave request must be done before this delay) diff --git a/htdocs/langs/lv_LV/agenda.lang b/htdocs/langs/lv_LV/agenda.lang index df1ea90e657..2a5e9cd94ea 100644 --- a/htdocs/langs/lv_LV/agenda.lang +++ b/htdocs/langs/lv_LV/agenda.lang @@ -98,9 +98,9 @@ ActionType=Event type DateActionBegin=Start event date CloneAction=Clone event ConfirmCloneEvent=Are you sure you want to clone the event %s ? -RepeatEvent=Repeat event -EveryWeek=Every week -EveryMonth=Every month +RepeatEvent=Atkārtot notikumu +EveryWeek=Katru nedēļu +EveryMonth=Katru mēnesi DayOfMonth=Day of month DayOfWeek=Day of week DateStartPlusOne=Date start + 1 hour diff --git a/htdocs/langs/lv_LV/companies.lang b/htdocs/langs/lv_LV/companies.lang index 678d1c5a4f7..f497619ca8d 100644 --- a/htdocs/langs/lv_LV/companies.lang +++ b/htdocs/langs/lv_LV/companies.lang @@ -69,7 +69,7 @@ Country=Valsts CountryCode=Valsts kods CountryId=Valsts id Phone=Telefons -PhoneShort=Phone +PhoneShort=Telefons Skype=Skype Call=Zvanīt Chat=Čats diff --git a/htdocs/langs/lv_LV/cron.lang b/htdocs/langs/lv_LV/cron.lang index 95e4a671665..3fa15411781 100644 --- a/htdocs/langs/lv_LV/cron.lang +++ b/htdocs/langs/lv_LV/cron.lang @@ -76,7 +76,7 @@ CronMethodHelp=Objekts metode, lai palaistu.
    Par exemple atnest metodi Doli CronArgsHelp=Šī metode argumentus.
    Par exemple atnest metodi Dolibarr Produkta objekts / htdocs / produktu / klase / product.class.php, no paramters vērtība var būt 0, ProductRef CronCommandHelp=Sistēma komandrindas izpildīt. CronCreateJob=Create new Scheduled Job -CronFrom=From +CronFrom=No # Info CronInfoPage=Informācija # Common diff --git a/htdocs/langs/lv_LV/errors.lang b/htdocs/langs/lv_LV/errors.lang index 03846eb8363..34482541833 100644 --- a/htdocs/langs/lv_LV/errors.lang +++ b/htdocs/langs/lv_LV/errors.lang @@ -46,7 +46,7 @@ ErrorUserCannotBeDelete=Lietotājs nevar izdzēst. Var būt tas ir saistīts ar ErrorFieldsRequired=Daži nepieciešamie lauki netika aizpildīti. ErrorFailedToCreateDir=Neizdevās izveidot direktoriju. Pārbaudiet, vai Web servera lietotājam ir tiesības rakstīt uz Dolibarr dokumentus direktorijā. Ja parametrs safe_mode ir iespējots uz šo PHP, pārbaudiet, Dolibarr php faili pieder web servera lietotājam (vai grupa). ErrorNoMailDefinedForThisUser=Nav definēts e-pasts šim lietotājam -ErrorFeatureNeedJavascript=Šī funkcija ir jābūt aktivizētam jāaktivizē strādāt. Mainīt to uzstādīšana - displeju. +ErrorFeatureNeedJavascript=Šai funkcijai ir nepieciešams aktivizēt javascript. Mainīt to var iestatījumi - attēlojums. ErrorTopMenuMustHaveAParentWithId0=Tipa "Top" izvēlnē nevar būt mātes ēdienkarti. Put ar 0 mātes izvēlnes vai izvēlēties izvēlni tips "pa kreisi". ErrorLeftMenuMustHaveAParentId=Tipa 'Kreiso' izvēlne jābūt vecākiem id. ErrorFileNotFound=Failu %s nav atrasts (Bad ceļš, aplamas tiesības vai piekļuve liegta ar PHP openbasedir vai safe_mode parametru) diff --git a/htdocs/langs/lv_LV/incoterm.lang b/htdocs/langs/lv_LV/incoterm.lang index 46294f6a2dd..f87bef6fed8 100644 --- a/htdocs/langs/lv_LV/incoterm.lang +++ b/htdocs/langs/lv_LV/incoterm.lang @@ -1,4 +1,4 @@ -Module62000Name=Incoterm +Module62000Name=Inkoterms Module62000Desc=Add features to manage Incoterm IncotermLabel=Inkoterms IncotermSetupTitle1=Iespēja diff --git a/htdocs/langs/lv_LV/install.lang b/htdocs/langs/lv_LV/install.lang index e6ac668aa74..2684620d776 100644 --- a/htdocs/langs/lv_LV/install.lang +++ b/htdocs/langs/lv_LV/install.lang @@ -38,16 +38,16 @@ YouCanContinue=Jūs varat turpināt ... License=Izmantojot licenci ConfigurationFile=Konfigurācijas fails WebPagesDirectory=Katalogs kur web lapas tiek uzglabātas -DocumentsDirectory=Direktorijā uzglabāt augšupielādētos un ģenerētos dokumentus +DocumentsDirectory=Direktorija kurā uzglabāt augšupielādētos un ģenerētos dokumentus URLRoot=URL Root ForceHttps=Piespiedu drošais savienojums (https) CheckToForceHttps=Pārbaudiet šo opciju, lai piespiestu drošus savienojumus (https).
    Tas nozīmē, ka tīmekļa serveris ir konfigurēts ar SSL sertifikātu. DolibarrDatabase=Dolibarr datubāze DatabaseChoice=Datubāzes izvēle DatabaseType=Datubāzes tips -DriverType=Driver tips +DriverType=Draivera veids Server=Serveris -ServerAddressDescription=Nosaukums vai IP adrese datu bāzes serveri, parasti 'localhost', kad datu bāzes serveris ir izvietots uz paša servera, kā web serveri +ServerAddressDescription=Nosaukums vai IP adrese datu bāzes serverim - parasti 'localhost', ja datu bāzes serveris ir izvietots uz tā paša servera uz kura atrodas web serveris ServerPortDescription=Datu bāzes servera ports. Atstājiet tukšu, ja nav zināms. DatabaseServer=Datubāzes serveris DatabaseName=Datubāzes nosaukums @@ -60,12 +60,12 @@ AdminPassword=Parole Dolibarr datu bāzes īpašniekam. CreateDatabase=Izveidot datubāzi CreateUser=Izveidot īpašnieku DatabaseSuperUserAccess=Datu bāzes serveris - superlietotājs piekļuve -CheckToCreateDatabase=Rūtiņu, ja datu bāze neeksistē, un ir izveidots.
    Tādā gadījumā, jums ir jāaizpilda pieteikšanās / paroli SuperUser kontā pie šīs lapas apakšā. -CheckToCreateUser=Rūtiņu, ja datu bāzes īpašnieks neeksistē, un ir izveidots.
    Tādā gadījumā, jums ir jāizvēlas savu lietotājvārdu un paroli, kā arī aizpildīt pieteikšanās / paroli superlietotājs kontā pie šīs lapas apakšā. Ja šī rūtiņa ir nekontrolēti, īpašnieks, datu bāzes un tās paroles ir pastāv. +CheckToCreateDatabase=Ieķeksējiet, ja datu bāze neeksistē, un tā ir jāizveido.
    Tādā gadījumā, jums ir jāaizpilda pieteikšanās / paroli SuperUser kontā šīs lapas apakšā. +CheckToCreateUser=Ieķeksējiet, ja datu bāzes īpašnieks neeksistē, un ir jāizveidots.
    Tādā gadījumā, jums ir jāizvēlas savu lietotājvārdu un paroli, kā arī aizpildīt pieteikšanās / paroli superlietotājs kontā šīs lapas apakšā. Ja šī rūtiņa ir neieķeksēta , datubāzes īpašniekam un parolei jau ir jābūt. Experimental=(Eksperimentāls) Deprecated=(deprecated) -DatabaseRootLoginDescription=Reģistrācija no lietotāja ļāva izveidot jaunas datu bāzes vai jaunus lietotājus, obligātos ja jūsu datu bāzes vai tās īpašnieks nav jau eksistē. -KeepEmptyIfNoPassword=Atstājiet tukšu, ja lietotājs nav parole (izvairītos) +DatabaseRootLoginDescription=Lietotāja vārds, kas var izveidot datubāzes vai jaunos lietotājus. Obligāti jāaizpilda, ja datubāze vai tās īpašnieks jau neeksistē. +KeepEmptyIfNoPassword=Atstājiet tukšu, ja lietotājam nav vajadzīga parole (izvairieties no bezparoles lietotāja vārda) SaveConfigurationFile=Saglabāt vērtības ConfigurationSaving=Saglabā konfigurācijas failu ServerConnection=Servera savienojums @@ -140,7 +140,7 @@ FieldRenamed=Lauks pārdēvēts IfLoginDoesNotExistsCheckCreateUser=Ja lietotājs neeksistē, jums ir jāizvēlas opciju "Izveidot lietotāju" ErrorConnection=Server "%s", datu bāzes nosaukums "%s" login "%s", vai datu bāzes parole var būt nepareizi vai PHP klienta versijas var būt pārāk vecs, salīdzinot ar bāzes versiju. InstallChoiceRecommanded=Ieteicams izvēlēties, lai instalētu versiju %s no jūsu pašreizējā versijā %s -InstallChoiceSuggested=Instalējiet izvēli ierosināja uzstādītājam. +InstallChoiceSuggested=Instalācijas sistēmas izvēle. MigrateIsDoneStepByStep=Mērķtiecīga versija (%s) ir plaisa vairākas versijas, tāpēc instalēt vednis nāks atpakaļ ieteikt nākamo migrāciju, kad tas viens būs pabeigts. CheckThatDatabasenameIsCorrect=Pārbaudiet, ka datubāzes nosaukums "%s" ir pareizs. IfAlreadyExistsCheckOption=Ja šis vārds ir pareizs un ka datu bāze neeksistē vēl, jums ir pārbaudīt opciju "Izveidot datu bāzi". diff --git a/htdocs/langs/lv_LV/languages.lang b/htdocs/langs/lv_LV/languages.lang index f5acd94dfe2..a367a621aec 100644 --- a/htdocs/langs/lv_LV/languages.lang +++ b/htdocs/langs/lv_LV/languages.lang @@ -71,7 +71,7 @@ Language_sv_SV=Zviedru Language_sv_SE=Zviedru Language_sq_AL=Albāņu Language_sk_SK=Slovāku -Language_sr_RS=Serbian +Language_sr_RS=Serbu Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukraiņu diff --git a/htdocs/langs/lv_LV/main.lang b/htdocs/langs/lv_LV/main.lang index 11503673ebd..2bd9c99c78c 100644 --- a/htdocs/langs/lv_LV/main.lang +++ b/htdocs/langs/lv_LV/main.lang @@ -622,7 +622,7 @@ For=Kam ForCustomer=Klientam Signature=Paraksts HidePassword=Rādīt komandu ar slēptu paroli -UnHidePassword=Parādīt savu patieso komandu ar skaidru paroli +UnHidePassword=Parādīt komandu bez paroles Root=Sakne Informations=Informācija Page=Lappuse @@ -710,9 +710,9 @@ GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Deny=Deny Denied=Denied ListOfTemplates=List of templates -Gender=Gender +Gender=Dzimums Genderman=Man -Genderwoman=Woman +Genderwoman=Sieviete ViewList=List view Mandatory=Mandatory Hello=Hello diff --git a/htdocs/langs/lv_LV/orders.lang b/htdocs/langs/lv_LV/orders.lang index dca3d963359..d6d836f56ab 100644 --- a/htdocs/langs/lv_LV/orders.lang +++ b/htdocs/langs/lv_LV/orders.lang @@ -21,8 +21,8 @@ CustomersOrdersRunning=Current customer orders CustomersOrdersAndOrdersLines=Customer orders and order lines OrdersToValid=Customer orders to validate OrdersToBill=Customer orders delivered -OrdersInProcess=Customer orders in process -OrdersToProcess=Customer orders to process +OrdersInProcess=Klientu pasūtījumi apstrādē +OrdersToProcess=Klientu pasūtījumi, kas jāapstrādā SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Atcelts StatusOrderDraftShort=Projekts diff --git a/htdocs/langs/lv_LV/other.lang b/htdocs/langs/lv_LV/other.lang index b6581946e08..e540fba4c84 100644 --- a/htdocs/langs/lv_LV/other.lang +++ b/htdocs/langs/lv_LV/other.lang @@ -189,7 +189,7 @@ YouReceiveMailBecauseOfNotification=Jūs saņemat šo ziņojumu, jo jūsu e-past YouReceiveMailBecauseOfNotification2=Šis notikums ir šādi: ThisIsListOfModules=Šis ir saraksts ar moduļu izraudzītās Šajā demo profilu (tikai Visbiežāk moduļi ir redzamas šajā demo). Labot tas, lai būtu vairāk personalizētu demo un noklikšķiniet uz "Start". ClickHere=Noklikšķiniet šeit -UseAdvancedPerms=Izmantojiet papildu atļaujas dažu moduļu +UseAdvancedPerms=Izmantojiet papildu atļaujas dažiem moduļiem FileFormat=Faila formāts SelectAColor=Izvēliieties krāsu AddFiles=Pievienot failus diff --git a/htdocs/langs/lv_LV/products.lang b/htdocs/langs/lv_LV/products.lang index 942f5ab3ce7..2de77d633fe 100644 --- a/htdocs/langs/lv_LV/products.lang +++ b/htdocs/langs/lv_LV/products.lang @@ -71,7 +71,7 @@ SellingPriceTTC=Pārdošanas cena (ar PVN) PublicPrice=Publiskā cena CurrentPrice=Pašreizējā cena NewPrice=Jaunā cena -MinPrice=Min. selling price +MinPrice=Min. pārdošanas cena MinPriceHT=Min. selling price (net of tax) MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=Pārdošanas cena nevar būt zemāka par minimālo pieļaujamo šī produkta (%s bez PVN). Šis ziņojums var būt arī parādās, ja esat ievadījis pārāk lielu atlaidi. @@ -194,25 +194,25 @@ Unit=Unit p=u. set=set se=set -second=second +second=sekunde s=s -hour=hour +hour=stunda h=h -day=day +day=diena d=d -kilogram=kilogram -kg=Kg -gram=gram -g=g -meter=meter +kilogram=kilograms +kg=kg +gram=grams +g=gr +meter=metrs m=m linearmeter=linear meter lm=lm squaremeter=square meter m2=m² -cubicmeter=cubic meter +cubicmeter=kubikmetrs m3=m³ -liter=liter +liter=litrs l=L ProductCodeModel=Produkta art. paraugs ServiceCodeModel=Pakalpojuma art. paraugs diff --git a/htdocs/langs/lv_LV/projects.lang b/htdocs/langs/lv_LV/projects.lang index 84c91c248da..e1e215cc5a7 100644 --- a/htdocs/langs/lv_LV/projects.lang +++ b/htdocs/langs/lv_LV/projects.lang @@ -26,7 +26,7 @@ ConfirmDeleteATask=Vai tiešām vēlaties dzēst šo uzdevumu? OfficerProject=Virsnieks projekts LastProjects=Pēdējie %s projekti AllProjects=Visi projekti -OpenedProjects=Opened projects +OpenedProjects=Atvērtie projekti OpportunitiesStatusForOpenedProjects=Opportunities status for opened projects ProjectsList=Projektu saraksts ShowProject=Rādīt projektu @@ -97,13 +97,13 @@ ReOpenAProject=Atvērt projektu ConfirmReOpenAProject=Vai jūs tiešām vēlaties no jauna atvērtu šo projektu? ProjectContact=Projekta kontakti ActionsOnProject=Pasākumi par projektu -OpenedProjects=Opened projects +OpenedProjects=Atvērtie projekti YouAreNotContactOfProject=Jūs neesat kontakts šīs privātam projektam DeleteATimeSpent=Dzēst pavadīts laiks ConfirmDeleteATimeSpent=Vai tiešām vēlaties dzēst pavadīto laiku? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Resources +TaskRessourceLinks=Resursi ProjectsDedicatedToThisThirdParty=Projekti, kas veltīta šai trešajai personai NoTasks=Neviens uzdevumi šajā projektā LinkedToAnotherCompany=Saistīts ar citām trešajām personām @@ -126,7 +126,7 @@ ProjectCreatedInDolibarr=Projekta %s izveidots TaskCreatedInDolibarr=Uzdevums %s izveidots TaskModifiedInDolibarr=Uzdevums %s labots TaskDeletedInDolibarr=Uzdevums %s dzēsts -OpportunityStatus=Opportunity status +OpportunityStatus=Iespēju statuss OpportunityStatusShort=Opp. status OpportunityAmount=Opportunity amount OpportunityAmountShort=Opp. amount @@ -150,7 +150,7 @@ PlannedWorkloadShort=Workload WorkloadOccupation=Workload assignation ProjectReferers=Atsaucoties objekti SearchAProject=Meklēt projektu -SearchATask=Search a task +SearchATask=Meklēt uzdevumu ProjectMustBeValidatedFirst=Projektu vispirms jāpārbauda ProjectDraft=Melnraksta projekts FirstAddRessourceToAllocateTime=Associate a resource to allocate time @@ -177,7 +177,7 @@ OpenedProjectsByThirdparties=Opened projects by thirdparties OpportunityTotalAmount=Opportunities total amount OpportunityPonderatedAmount=Opportunities weighted amount OppStatusPROSP=Prospection -OppStatusQUAL=Qualification +OppStatusQUAL=Kvalifikācija OppStatusPROPO=Proposal OppStatusNEGO=Negociation OppStatusPENDING=Pending diff --git a/htdocs/langs/lv_LV/trips.lang b/htdocs/langs/lv_LV/trips.lang index 911827380b5..813f61f4f84 100644 --- a/htdocs/langs/lv_LV/trips.lang +++ b/htdocs/langs/lv_LV/trips.lang @@ -41,7 +41,7 @@ TF_BUS=Autobuss TF_CAR=Automašīna TF_PEAGE=Toll TF_ESSENCE=Degviela -TF_HOTEL=Hotel +TF_HOTEL=Viesnīca TF_TAXI=Taksis ErrorDoubleDeclaration=You have declared another expense report into a similar date range. @@ -59,9 +59,9 @@ Project=Projekts VALIDATOR=User responsible for approval VALIDOR=Apstiprinājis AUTHOR=Recorded by -AUTHORPAIEMENT=Paid by +AUTHORPAIEMENT=Apmaksājis REFUSEUR=Denied by -CANCEL_USER=Deleted by +CANCEL_USER=Dzēsis MOTIF_REFUS=Iemesls MOTIF_CANCEL=Iemesls diff --git a/htdocs/langs/nl_BE/admin.lang b/htdocs/langs/nl_BE/admin.lang deleted file mode 100644 index 1c53b65c99c..00000000000 --- a/htdocs/langs/nl_BE/admin.lang +++ /dev/null @@ -1,4 +0,0 @@ -# Dolibarr language file - Source file is en_US - admin -AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Example for ClamAv: /usr/bin/clamscan -AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" -ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir diff --git a/htdocs/langs/nl_NL/accountancy.lang b/htdocs/langs/nl_NL/accountancy.lang index 0437a8f1cb9..54b40b24a44 100644 --- a/htdocs/langs/nl_NL/accountancy.lang +++ b/htdocs/langs/nl_NL/accountancy.lang @@ -8,35 +8,35 @@ ACCOUNTING_EXPORT_LABEL=Export the label ? ACCOUNTING_EXPORT_AMOUNT=Export the amount ? ACCOUNTING_EXPORT_DEVISE=Export the devise ? -Accounting=Accounting -Globalparameters=Global parameters -Chartofaccounts=Chart of accounts -Fiscalyear=Fiscal years +Accounting=Boekhouding +Globalparameters=Globale instellingen +Chartofaccounts=Rekeningschema +Fiscalyear=Boekjaren Menuaccount=Accounting accounts Menuthirdpartyaccount=Thirdparty accounts -MenuTools=Tools +MenuTools=Gereedschap ConfigAccountingExpert=Configuration of the module accounting expert -Journaux=Journals -JournalFinancial=Financial journals -Exports=Exports +Journaux=Verkoopdagboek +JournalFinancial=Financiëel dagboek +Exports=Export Export=Export -Modelcsv=Model of export +Modelcsv=Export model OptionsDeactivatedForThisExportModel=For this export model, options are deactivated -Selectmodelcsv=Select a model of export -Modelcsv_normal=Classic export +Selectmodelcsv=Selecteer een export model +Modelcsv_normal=Klassieke export Modelcsv_CEGID=Export towards CEGID Expert BackToChartofaccounts=Return chart of accounts -Back=Return +Back=Terug Definechartofaccounts=Define a chart of accounts Selectchartofaccounts=Select a chart of accounts -Validate=Validate +Validate=Valideer Addanaccount=Add an accounting account AccountAccounting=Accounting account Ventilation=Breakdown -ToDispatch=To dispatch -Dispatched=Dispatched +ToDispatch=Te verzenden +Dispatched=Verzonden CustomersVentilation=Breakdown customers SuppliersVentilation=Breakdown suppliers diff --git a/htdocs/langs/pt_BR/admin.lang b/htdocs/langs/pt_BR/admin.lang index 637773e7032..36c81ebfa9a 100644 --- a/htdocs/langs/pt_BR/admin.lang +++ b/htdocs/langs/pt_BR/admin.lang @@ -1,313 +1,350 @@ # Dolibarr language file - Source file is en_US - admin -Foundation=Empresa/Instituição -VersionProgram=Versão do programa -VersionLastInstall=Versão da instalação inicial +Foundation=Associação +VersionProgram=Versão Programa +VersionLastInstall=Versão instalação inicial VersionLastUpgrade=Versão da última atualização +VersionExperimental=Versão Experimental +VersionDevelopment=Versão de Desenvolvimento +VersionUnknown=Versão Desconhecida +VersionRecommanded=Versão Recomendada FileCheck=Integridade de arquivos FilesMissing=Arquivos ausentes FilesUpdated=Arquivos atualizados FileCheckDolibarr=Verificar a integridade dos arquivos Dolibarr XmlNotFound=Arquivo XML de Integridade Dolibarr não encontrado -SessionId=ID da sessão -SessionSaveHandler=Manipulador para salvar sessões. -SessionSavePath=Localização da sessão guardada -PurgeSessions=Remover sessões -ConfirmPurgeSessions=Você tem certeza de que deseja desconectar todas as sessões? Isto irá desconectar TODOS usuários (exceto você). +SessionId=ID da Sessão +SessionSaveHandler=Manipulador para salvar sessão +SessionSavePath=Caminho para salvar sessão +PurgeSessions=Purgar Sessão +ConfirmPurgeSessions=PURGAR todas as sessões? (Isso desconectará todos os usuarios, menos o seu) NoSessionListWithThisHandler=Salvar manipulador de sessão configurado no PHP não permite listar todas as sessões em execução. -LockNewSessions=Bloquear novas conexões -ConfirmLockNewSessions=Você tem certeza que quer restringir qualquer nova conexão Dolibarr para si mesmo. Apenas usuário %s será capaz de se conectar depois. -UnlockNewSessions=Remover bloqueio conexão -YourSession=Sua sessão -Sessions=Sessão de usuários -WebUserGroup=Usuário/grupo do servidor web +LockNewSessions=Bloquear Novas Sessões +ConfirmLockNewSessions=Restringir qualquer nova conexão Dolibarr para si mesmo. (Apenas usuário %s será capaz de se conectar depois) +UnlockNewSessions=Remover Bloqueio de Conexão +YourSession=Sua Sessão +Sessions=Sessões de Usuários +WebUserGroup=Servidor Web para usuário/grupo NoSessionFound=Seu PHP parece não permitir listar as sessões ativas. Diretório usado para salvar sessões (%s) pode ser protegido (por exemplo, pelas permissões do sistema operacional ou por diretiva PHP "open_basedir"). -HTMLCharset=Charset das páginas HTML geradas -DBStoringCharset=Charset base de dados para armazenamento de dados -DBSortingCharset=Charset base de dados para classificar os dados -WarningModuleNotActive=Módulo %s deve ser ativado -WarningOnlyPermissionOfActivatedModules=Atenção, somente as permissões relacionados com os módulos ativados que aparecem aqui. Pode ativar os outros módulos na página configuração->Módulos -DolibarrSetup=Instalação ou atualização do Dolibarr -DolibarrUser=Usuário do Dolibarr +HTMLCharset=Charset das páginas HTML geradas (charset for generated HTML pages) +DBStoringCharset=Charset base de dados para armazenamento de dados (Database charset to store data) +DBSortingCharset=Charset base de dados para classificar os dados (Database charset to sort data) +WarningModuleNotActive=Módulo %s deve ser Ativado! +WarningOnlyPermissionOfActivatedModules=Somente as permissões relacionadas com os módulos ativados que aparecem aqui. +DolibarrSetup=Instalação/Atualização do Dolibarr +DolibarrUser=Usuário Dolibarr InternalUser=Usuário Interno ExternalUser=Usuário Externo InternalUsers=Usuários Internos ExternalUsers=Usuários Externos -SetupArea=Área Configuração -FormToTestFileUploadForm=Formulário para testar upload de arquivo (de acordo com a configuração) -IfModuleEnabled=Nota: Sim só é eficaz se o módulo %s estiver ativado -RemoveLock=Exclua o arquivo %s se tem permissão da ferramenta de atualização. -RestoreLock=Substituir o arquivo %s e apenas dar direito de ler a esse arquivo, a fim de proibir novas atualizações. -ErrorModuleRequireDolibarrVersion=Erro, este módulo requer uma versão %s ou superior do ERP +GlobalSetup=Conf. Globais +GUISetup=Aparência +SetupArea=Configurações da Área +FormToTestFileUploadForm=Formulário para teste de upload de arquivo +IfModuleEnabled=OBS: Sim só é eficaz se o módulo %s estiver ativado +RemoveLock=Remove o arquivo %s se tiver permissão de usar a ferramente de atualização +RestoreLock=Restaura o arquivo %s, com permissão de leitura, para desabilitar qualquer serviço de atualição +SecuritySetup=Conf. de Segurança +ErrorModuleRequireDolibarrVersion=Erro, este módulo requer uma versão %s ou superior do Dolibarr +ErrorDecimalLargerThanAreForbidden=Erro, número maior que %s e não é suportada pelo dolibarr. DictionarySetup=Configuração Dicionário Chartofaccounts=Plano de contas Fiscalyear=Exercícios Fiscais -ErrorReservedTypeSystemSystemAuto=Valores 'system' e 'systemauto' para o tipo é reservado. Você pode usar "usuário" como valor para adicionar seu próprio registro -ErrorCodeCantContainZero=Código não pode conter valor 0 -DisableJavascript=Desative as funções de JavaScript e Ajax (Recomendado para deficientes visuais ou navegadores somente texto) -ConfirmAjax=Utilizar os popups de confirmação Ajax +ErrorReservedTypeSystemSystemAuto=A Variável 'system' e 'systemauto' é reservada. Você pode usar 'user' como variável para adicionar sua própria gravação +ErrorCodeCantContainZero=A variável não pode conter valor "0" (zero) +DisableJavascript=Desativar as funções Javascript e Ajax +ConfirmAjax=Usar Ajax para confirmação de popups UseSearchToSelectCompanyTooltip=Além disso, se você tem um grande número de terceiros (> 100 000), você pode aumentar a velocidade, definindo COMPANY_DONOTSEARCH_ANYWHERE constante a 1 em Setup-> Outro. Busca, então, ser limitada até o início da string. -UseSearchToSelectCompany=Use campos de completação automática para escolher terceiros em vez de usar uma caixa de listagem. -ActivityStateToSelectCompany=Adicionar uma opção de filtro para exibir / ocultar thirdparties que estão atualmente em atividade ou deixou de ativar +UseSearchToSelectCompany=Usar 'autocompletar campo' para escolher terceiros ao invés de listálos. +ActivityStateToSelectCompany=Adiciona uma opção de filtragem para mostrar/esconder terceiros que estão ativos ou encerrados UseSearchToSelectContactTooltip=Além disso, se você tem um grande número de terceiros (> 100 000), você pode aumentar a velocidade, definindo CONTACT_DONOTSEARCH_ANYWHERE constante a 1 em Setup-> Outro. Busca, então, ser limitada até o início da string. -UseSearchToSelectContact=Use campos de completação automática para escolher de contato (em vez de usar uma caixa de lista). -SearchFilter=Opções de filtro para pesquisa -NumberOfKeyToSearch=Número de caracteres para iniciar a pesquisa: %s -ViewFullDateActions=Ver as datas das ações na totalidade na ficha do fornecedor -UsePopupCalendar=Utilizar popups para a introdução das datas -UsePreviewTabs=Use guias de visualização -ShowPreview=Ver Preview -ThemeCurrentlyActive=Tema Atualmente Ativo -CurrentTimeZone=Fuso horário PHP (servidor) -MySQLTimeZone=Zona tempo MySql (banco de dados) -TZHasNoEffect=Datas são guardadas e retornadas pelo servidor de banco de dados como se fosse guardados em formato de texto. A zona temporal tem effeito somente quando e usada a UNIX_TIMESTAMP função ( isso não deveria ser usado pelo Dolibarr, portanto o banco de dados TZ não deveria ter effeito, tambem se mudado apos que os dados foram inseridos). +UseSearchToSelectContact=Usar 'Autocompletar campo' para escolher contato ao invés listalos +SearchFilter=Opção de filtro de Procura +NumberOfKeyToSearch='Nbr' dos caracteres para 'trigger search': %s +ViewFullDateActions=Mostra todas as datas de eventos na folha do terceiro +NotAvailableWhenAjaxDisabled=Indisponível quando o Ajax esta desativado +UsePopupCalendar=Usar popup para datas de entrada +UsePreviewTabs=Usar previsão de digitação na tecla 'tab' +ShowPreview=Mostrar Previsão +PreviewNotAvailable=Previsão Indisponível +ThemeCurrentlyActive=Tema Ativo +CurrentTimeZone=Timezone PHP (do servidor apache) +MySQLTimeZone=Timezone Mysql (do servidor sql) +TZHasNoEffect=A data é armazenada e retornada pelo servidor sql se eles manterem a string apresentada. A timezone é resultado somente se for usado a função UNIX_TIMESTAMP (Não deve ser usada pelo Dolibarr, se não a database TZ não terá efeito, mesmo se tivesse trocada depois da data ter entrado). NextValueForInvoices=Próximo Valor (Faturas) -NextValueForDeposit=Próxima valor (depósito) -NextValueForReplacements=Próxima valor (substituições) -MustBeLowerThanPHPLimit=Observação: Parâmetros PHP limita o tamanho a %s %s de máximo, qualquer que seja o valor deste parâmetros -NoMaxSizeByPHPLimit=Nota: Não há limite definido em sua configuração do PHP -UseCaptchaCode=Utilização do Captcha no login -UseAvToScanUploadedFiles=Utilização de um antivírus para scanear os arquivos enviados -AntiVirusCommandExample=Exemplo de Comando: c: \\ Program Files (x86) \\ ClamWin \\ bin \\ clamscan.exe
    Exemplo de Mexilhão: / usr / bin / clamscan -AntiVirusParam=Mais parâmetros na linha de comando -AntiVirusParamExample=Exemplo de Parametro de Comando: - database = "C: \\ Program Files (x86) \\ lib ClamWin \\" -UserSetup=Configuração e Administração dos Usuário -MenuSetup=Configuração do gerenciamento de menu +NextValueForCreditNotes=Próximo Valor (Notas de Crédito) +NextValueForDeposit=Próximo Valor (Depósito) +NextValueForReplacements=Próximo Valor (Substituição) +MustBeLowerThanPHPLimit=OBS: Tamanho máximo de upload é %s %s de máximo, qualquer que seja o valor do parâmetro é +NoMaxSizeByPHPLimit=Nenhum limite foi configurado no seu PHP +MaxSizeForUploadedFiles=Tamanho Máximo para uploads de arquivos ('0' para proibir o carregamento) +UseCaptchaCode=Usar captcha para login (recomendado se os usuários tiverem acesso ao Dolibarr pela internet) +UseAvToScanUploadedFiles=Utilizar antivirus para arquivos para escanear arquivos recebidos pelo Dolibarr (uploaded files) +AntiVirusCommand=Caminho completo para antivirus +AntiVirusCommandExample=Exemplo com o ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
    Exemplo com o ClamAv: /usr/bin/clamscan (UNIX) +AntiVirusParam=Mais parâmetros em linha de comando (CLI) +AntiVirusParamExample=Exemplo com o ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ComptaSetup=Conf. do Módulo Contabilidade +UserSetup=Conf. do Gestor de usuários +MenuSetup=Conf. do Gestor de Menus MenuLimits=Limites e Precisão -DetailPosition=Número de ordem para a posição do menu -PersonalizedMenusNotSupported=Menus personalizados não são suportados -NotConfigured=Modulo nao configurado -Setup=Configuração do Sistema +MenuIdParent=ID do menu pai +DetailMenuIdParent=ID do menu pai (vazio (NULL) para menu no topo) +DetailPosition=Define as posições do menu em ordem numérica +PersonalizedMenusNotSupported=Não é suportado personalizar menus +NotConfigured=Módulo não está configurado +Setup=Configurações Activation=Ativação Active=Ativo -SetupShort=Configuracao -OtherSetup=Outras configuracoes -CurrentValueSeparatorThousand=Separador milhar +SetupShort=Conf. +OtherSetup=Outras Configurações +CurrentValueSeparatorThousand=Separador por mil IdModule=Módulo ID IdPermissions=Permissão ID ModulesCommon=Módulos Principais -ModulesInterfaces=Módulos de interface -ModulesSpecial=Módulos muito específico -ClientTZ=Fuso horário do cliente (usuário). -ClientHour=Horário do cliente (usuário) -OSTZ=Fuso horário do sistema operacional do servidor -PHPTZ=Fuso horário do servidor PHP -PHPServerOffsetWithGreenwich=Offset com Greenwich (segundos) -ClientOffsetWithGreenwich=Largura do Browser/Cleinte compesa Greenwich(segundos) -DaylingSavingTime=Horário de verão -CurrentHour=Horário PHP (servidor) -CompanyTZ=Fuso Horário da empresa (empresa principal) -CompanyHour=Horário na empresa (empresa principal) -CurrentSessionTimeOut=Tempo limite da sessão atual -YouCanEditPHPTZ=Para definir um fuso horário diferente PHP (não obrigatório), você pode tentar adicionar um arquivo. Htacces com uma linha como esta "SetEnv TZ Europa / Paris" -OSEnv=OS Ambiente -MaxNbOfLinesForBoxes=Numero de linhas máximo para as caixas -PositionByDefault=Posição por padrao -MenusDesc=Os configuradores do menu definem o conteúdo das 2 barras de menus (a barra horizontal e a barra vertical). É possível atribuir configuradores diferentes segundo o usuário seja interno ou externo. -MenusEditorDesc=O editor de menus permite definir entradas personalizadas nos menus. Deve utilizar com prudência sobe pena de colocar o ERP numa situação instável sendo necessário uma reinstalação para encontrar um menu coerente. -MenuForUsers=menu para os usuarios +ModulesOther=Outros Módulos +ModulesInterfaces=Módulos de Interface +ModulesSpecial=Módulos Especificos +ParameterInDolibarr=Parâmetro %s +LanguageBrowserParameter=Parâmetro de Linguagem %s +LocalisationDolibarrParameters=Parâmetros de Localização +ClientTZ='Time Zone' do cliente (usuário) +ClientHour=Tempo(time) do Cliente (usuário) +OSTZ='Time Zone' do servidor OS +PHPTZ='Time Zone' do server PHP +PHPServerOffsetWithGreenwich=server PHP 'offset width Greenwich' (segundos) +ClientOffsetWithGreenwich=Cliente/Navegador 'offset width Greenwich' (seconds) +DaylingSavingTime=Diurno salvando o tempo +CurrentHour=PHP Time (servidor) +CompanyTZ='Time Zone' da Empresa +CompanyHour=Tempo(time) da Empresa +CurrentSessionTimeOut=A sessão expirou +YouCanEditPHPTZ=Para trocar diferente PHP 'timezone' (não requerido), você pode tentar adicionando um arquivo .htacces com uma linha tipo essa "SetEnv TZ Europe/Paris" +OSEnv=Ambiente do SO +MaxNbOfLinesForBoxes=Número máximo de linhas por caixas +PositionByDefault=Posição Padrão(default) +MenusDesc=Gestor de menus define conteudo das duas barras (horizontal e vertical). +MenusEditorDesc=O editor permite personalizar todo o menu. Use isso com cautela pois pode deixar o Dolibarr instavel. +MenuForUsers=Menu para os Usuários LangFile=Arquivo .lang SystemInfo=Informações de Sistema -SystemToolsArea=Área de ferramentas do sistema -SystemToolsAreaDesc=Esta área oferece diferentes funções da administração. Use o menu para escolher a Funcionalidade que procura. -PurgeAreaDesc=Esta página permite eliminar todos os arquivos criados ou guardados pelo ERP (Arquivos temporários ou todos os arquivos da pasta %s). O uso desta função não é necessária. Proporciona-se para os Usuários que albergam o ERP não servidor que oferece as permissões de eliminação de arquivos salvaguardados pela servidor Web. -PurgeDeleteLogFile=Excluir arquivo de log % s definido para o módulo Syslog (sem risco de perder dados) -PurgeDeleteTemporaryFiles=Eliminar todos os arquivos temporários (sem perigo de perca de dados) -PurgeDeleteAllFilesInDocumentsDir=Eliminar todos os arquivos da pasta %s. Arquivos temporários e Arquivos agregados a elementos (Fornecedores, faturas, etc.) serão eliminados. -PurgeRunNow=Eliminar Agora -PurgeNothingToDelete=Nenhum diretorio ou arquivo para ser apagado. -PurgeNDirectoriesDeleted=%s Arquivos o pastas apagados. -PurgeAuditEvents=Apagar os eventos de segurança -ConfirmPurgeAuditEvents=Tem a certeza que pretende limpar a lista de eventos de auditoria de segurança? Todos os logs de seguranca serao apagaos, nenhum outro dado sera removido. +SystemToolsArea=Área de Ferramentas do sistema +SystemToolsAreaDesc=Essa area dispoe de funções administrativa. Use esse menu para escolher as funções que você está procurando. +Purge=Purgar(apagar tudo) +PurgeAreaDesc=Esta página permite eliminar todos os arquivos criados ou guardados pelo Dolibarr (Arquivos temporários ou todos os arquivos no diretório %s). Usar essa função não é necessaria. Isso permite o Dolibarr deletar os arquivos onde ele é hostiado, caso o usuário não tenha permição de deletar arquivos no servido (tipo UNIX). +PurgeDeleteLogFile=Deletar arquivos de log %s são definidos pelo módulo syslog (sem risco de perder dados) +PurgeDeleteTemporaryFiles=Apagar todos os arquivos temporários (sem perigo de perca de dados) +PurgeDeleteAllFilesInDocumentsDir=Eliminar todos os arquivos do diretório %s. Arquivos temporários, backups, arquivos anexados (terceiros, faturas, etc.) e arquivos anexados dentro dos módulos ECM serão deletados. +PurgeRunNow=Purgar(Apagar) Agora +PurgeNothingToDelete=Nenhum diretório ou arquivo para deletar. +PurgeNDirectoriesDeleted=%s Arquivos o diretórios eliminados +PurgeAuditEvents=Eliminar os eventos de segurança +ConfirmPurgeAuditEvents=Tem certeza que deseja purgar(apagar) todos os eventos de segurança? também todos os logs de segurança será apagado, nenhuma outro dados serão removidos. NewBackup=Novo Backup GenerateBackup=Gerar Backup -RunCommandSummary=A cópia será executada pelo seguinte comando -RunCommandSummaryToLaunch=O backup pode ser executado com o seguinte comando -WebServerMustHavePermissionForCommand=Seu servidor deve ter permissoes para executar esta ordem -BackupResult=Resultado do Backup -BackupFileSuccessfullyCreated=Arquivo de Backup gerado corretamente -YouCanDownloadBackupFile=Pode ser feito o download dos arquivos gerados -NoBackupFileAvailable=Nenhum Backup Disponivel -ToBuildBackupFileClickHere=Para criar uma cópia, clique here. -ImportMySqlDesc=Para importar um backup, deve usar o mysql e na linha de comando seguinte: -ImportPostgreSqlDesc=Para importar um arquivo de backup, você deve utilizar o pg_restore através do prompt de comando: -ImportMySqlCommand=%s %s < meuArquivobackup.sql -ImportPostgreSqlCommand=%s %s meuarquivodebackup.sql -FileNameToGenerate=Nome do arquivo a gerar -CommandsToDisableForeignKeysForImport=Comando para desativar as chave estrangeira para a importação -CommandsToDisableForeignKeysForImportWarning=Obrigatório se você quer ser capaz de restaurar o despejo sql mais tarde -ExportCompatibility=Compatibilidade do arquivo de exportação gerado +RunCommandSummary=Backup foi iniciado com o seguinte comando +RunCommandSummaryToLaunch=Backup pode ser iniciado pelo seguinte comando +WebServerMustHavePermissionForCommand=Seu servidor web precisa ter permissão de rodar esse comando +BackupResult=Resultado de backup +BackupFileSuccessfullyCreated=Sucesso em gerar o arquivo de backup! =D +YouCanDownloadBackupFile=Os arquivos gerados já podem ser baixados +NoBackupFileAvailable=Nenhum backup está disponível +ExportMethod=Método de Exportação +ImportMethod=Método de Importação +ToBuildBackupFileClickHere=Para criar um backup, click aqui. +ImportMySqlDesc=Para importar um backup, você precisa usar um comando do mysql: +ImportPostgreSqlDesc=Para importar um arquivo de backup, você deve usar pg_restore na linha de comando: +ImportMySqlCommand=%s %s < meubackup.sql +ImportPostgreSqlCommand=%s %s meubackup.sql +FileNameToGenerate=Nome do arquivo para gerar +Compression=Compactar +CommandsToDisableForeignKeysForImport=Comando para desativar as chaves estrangeiras(foreign keys) na importação +CommandsToDisableForeignKeysForImportWarning=Mandatório se você quiser ser capaz de restaurar seu 'sql dump' depois +ExportCompatibility=Compatibilidade de gerar arquivos de exportação +MySqlExportParameters=Parâmetros de exportação do MySql PostgreSqlExportParameters=Parâmetros de exportação do PostgreSQL -UseTransactionnalMode=Utilizar o modo transacional +UseTransactionnalMode=Utilizar o modo transicional(transactional mode) +FullPathToMysqldumpCommand=Caminho completo para o comando mysqldump FullPathToPostgreSQLdumpCommand=Caminho completo para o comando pg_dump -AddDropDatabase=Adicionar comando DROP DATABASE -AddDropTable=Adicionar comando DROP TABLE -ExtendedInsert=Instruções INSERT estendidas -NoLockBeforeInsert=Sem comandos de bloqueio em torno INSERIR -EncodeBinariesInHexa=Codificar os campos binários em hexadecimal -IgnoreDuplicateRecords=Ignorar erros de registros duplicados(INSERT IGNORE) -FeatureDisabledInDemo=Opção desabilitada em mode demonstracao -BoxesDesc=As caixas são zonas de informação reduzidas que se mostram em algumas páginas. Voce pode escolher entre mostrar as caixas ou nao selecionando a opcao desejada e clicando em 'Ativar', ou clicando na lixeira para desativá-lo. -OnlyActiveElementsAreShown=Somente elementos de habilitado módulos são mostrados. -ModulesDesc=Os módulos do ERP definem as Funcionalidades disponíveis na aplicação. Alguns módulos requerem direitos que deverão indicar-se nos Usuários para que possam acessar ás suas Funcionalidades. -ModulesJobDesc=Os módulos mpresariais permitem uma pré-configuração simplificada do ERP para um negocio especifico. -ModulesMarketPlaceDesc=Voce pode encontrar mais modulos para download em sites externos na internet -ModulesMarketPlaces=Mais módulos -DoliStoreDesc=DoliStore, Pagina oficial para modulos externos do Dolibarr ERP/CRM. +AddDropDatabase=Adicionar o comando 'DROP DATABASE' +AddDropTable=Adicionar o comando 'DROP TABLE' +ExtendedInsert=Extender o INSERT +NoLockBeforeInsert=Não travar comando antes do INSERT +DelayedInsert=Inserir Atraso +EncodeBinariesInHexa=Codificar dados binários em hexadecimal +IgnoreDuplicateRecords=Ignorar erros de dupla gravação (INSERT IGNORE) +AutoDetectLang=Autodetecção de idioma pelo navegador +FeatureDisabledInDemo=Algumas funções desabilitada no Demo +BoxesDesc=As caixas são área na tela que mostra um pedaço de informação em algumas páginas. Você pode escolher em mostrar essa caixa ou não selecionando na pagina escolhida e clicando em 'Ativar', ou clicando na lixeira para desativar. +OnlyActiveElementsAreShown=Somente elementos de módulos ativos são mostrado. +ModulesDesc=Os módulos do Dolibarr são interfaces que permite ativar novas funções para o sistema. Alguns módulos requerem permissões dos usuários, depois do módulo ser ativado. Clique no botão Ligar/Desligar na coluna "Status" para ativar o módulo. +ModulesInterfaceDesc=Os módulos Dolibarr de interface permite você adicione funções que depende de software externo, sistema ou serviço. +ModulesJobDesc=Os módulos empresariais possuem uma configuração simples, ideal para o próprio negócio. +ModulesMarketPlaceDesc=Você pode achar mais módulos na internet, baixando em sites e no DoliStore +ModulesMarketPlaces=Mais módulos... +DoliStoreDesc=DoliStore, o site oficial para baixar módulos externos. DoliPartnersDesc=Lista com algumas empresas que podem fornecer / desenvolver módulos ou funcionalidades on-demand (Nota: qualquer empresa Open Source knowning linguagem PHP pode lhe fornecer desenvolvimento específico) -WebSiteDesc=Você pode pesquisar para encontrar mais módulos em Provedores de sites -BoxesAvailable=Caixas disponíveis -BoxesActivated=Caixas ativadas -ActivateOn=Ative em -ActiveOn=Ativada em -SourceFile=Arquivo origem -AutomaticIfJavascriptDisabled=Automático se Javascript está desativado -AvailableOnlyIfJavascriptNotDisabled=Disponível somente se Javascript esta ativado -AvailableOnlyIfJavascriptAndAjaxNotDisabled=Disponível somente se Javascript e Ajax estão ativados +WebSiteDesc=O site permite você procurar e baixar novos módulos... +URL=Site +BoxesAvailable=Caixas Disponíveis +BoxesActivated=Caixas Ativadas +ActivateOn=Ativar +ActiveOn=Ativa +SourceFile=Arquivo Fonte +AutomaticIfJavascriptDisabled=Automático se o Javascript está desativado +AvailableOnlyIfJavascriptNotDisabled=Disponível somente se Javascript não estiver desativado +AvailableOnlyIfJavascriptAndAjaxNotDisabled=Disponível somente se Javascript não estiver desativado UsedOnlyWithTypeOption=Usado por alguns opção agenda única Passwords=Senhas -DoNotStoreClearPassword=Nao salve senhas faceis no banco de dados mas salvar senhas criptografadas(Ativacao recomendada) -MainDbPasswordFileConfEncrypted=Encriptar a senha da base em arquivo conf.php(Ativacao Recomendada) -InstrucToEncodePass=Para ter a senha codificada no arquivo conf.php, substitua a linha
    $Dolibarr_main_db_pass="...";
    por
    $ Dolibarr_main_db_pass="crypted:%s"; -InstrucToClearPass=Para ter senha descodificado (claro) para o arquivo conf.php, substituir a linha
    $Dolibarr_main_db_pass="crypted: ...";
    por
    $Dolibarr_main_db_pass="%s"; -ProtectAndEncryptPdfFiles=Proteção e encriptação dos pdf gerados(Ativado não recomendado, quebra geração pdf massa) -ProtectAndEncryptPdfFilesDesc=A proteção de um documento pdf deixa o documento livre para leitura e para impressão a qualquer leitor de PDF. Ao contrário, a modificação e a cópia resultam impossível. -Feature=Caracteristica -DolibarrProjectLeader=Lider de projeto -Developpers=Programadores/contribuidores -OtherDeveloppers=Outros Programadores/contribuidores -OfficialWebSite=Site oficial do Dolibarr -OfficialWebSiteFr=site web oficial falado/escrito em francês -OfficialDemo=Demo online ERP -OfficialMarketPlace=Loja Oficial para módulos / addons externos -OfficialWebHostingService=Serviços de hospedagem web referenciados (Hospedagem em nuvem) +DoNotStoreClearPassword=Não armazenar senhas em branco no banco de dados, somente armazenar senhas criptografadas (Ativação é Recomendada) +MainDbPasswordFileConfEncrypted=Criptografar senha do banco de dados no arquivo conf.php +InstrucToEncodePass=Para ter a senha codificada no arquivo conf.php, substitua a linha
    $dolibarr_main_db_pass="..."
    por
    $dolibarr_main_db_pass="crypted:%s" +InstrucToClearPass=Para ter a senha não codificada(limpa) no arquivo conf.php, substitua a linha
    $dolibarr_main_db_pass="crypted:..."
    por
    $dolibarr_main_db_pass="%s" +ProtectAndEncryptPdfFiles=Criptografar a geração de arquivos em PDF (NÃO RECOMENDADO, póis pode deixar instável a geração de PDFs massivos) +ProtectAndEncryptPdfFilesDesc=A proteção de arquivos PDFs mantem ele somente leitura e impressão. Não podendo editar ou copíar. +Feature=Destaque(Feature) +DolibarrProjectLeader=Líder de Projeto +Developpers=Desenvolvedores/Contribuidores +OtherDeveloppers=Outros Desenvolvedores/Contribuidores +OfficialWebSite=Site Dolibarr internacional +OfficialWiki=DoliWiki +OfficialMarketPlace=Loja oficial para módulos externos/addons +OfficialWebHostingService=Oficial web hosting service (Cloud hosting) ReferencedPreferredPartners=Parceiro preferido -ForDocumentationSeeWiki=Para a documentação de usuário, programador ou Perguntas Frequentes (FAQ), consulte o wiki do ERP:
    %s -ForAnswersSeeForum=Para outras questões ou realizar as suas próprias consultas, pode utilizar o fórum do ERP:
    %s -HelpCenterDesc1=Esta área permite ajudá-lo a obter um serviço de suporte do ERP. -HelpCenterDesc2=Alguns destes serviços só estão disponíveis em inglé. -CurrentTopMenuHandler=Manipulador de menu superior atual -CurrentLeftMenuHandler=Manipulador de menu à esquerda atual -CurrentMenuHandler=Manipulador do menu atual -CurrentSmartphoneMenuHandler=Manipular do Menu Smartphone Atual -EMailsSetup=configuração E-Mails -EMailsDesc=Esta página permite substituir os parâmetros PHP relacionados com o envio de correios eletrônicos. Na maioria dos casos como UNIX/Linux, os parâmetros PHP estão corretos e esta página é inútil. -MAIN_MAIL_SMTP_PORT=Porta do servidor SMTP (Por default no php.ini: %s) -MAIN_MAIL_SMTP_SERVER=Nome host ou ip do servidor SMTP (Por padrao em php.ini: %s) -MAIN_MAIL_EMAIL_FROM=E-Mail do emissor para envios E-Mail automáticos (Por padrao no php.ini: %s) -MAIN_MAIL_ERRORS_TO=Remetente de e-mail utilizado para retornar emails enviados com erros -MAIN_MAIL_AUTOCOPY_TO=Enviar sistematicamente uma cópia oculta de todos os emails enviados para +ForDocumentationSeeWiki=Documentos para usuários e desenvolvedores (Doc, FAQs...),
    de uma olhada no Dolibarr Wiki:
    %s +ForAnswersSeeForum=Para outras questões/ajudas, você pode usar o forum do Dolibar:
    %s +HelpCenterDesc1=Essa área pode ajudar você a conseguir serviço de suporte no Dolibarr. +HelpCenterDesc2=Uma parte desse serviço está disponivel em inglês. +CurrentTopMenuHandler=Atual gestor do menu superior +CurrentLeftMenuHandler=Atual gestor do menu esquerdo +CurrentMenuHandler=Atual gestor de menu +CurrentSmartphoneMenuHandler=Atual gestor de menu para smartphone +EMailsSetup=conf. de E-Mails +EMailsDesc=Essa página permite você a sobrescrever os seus parâmetros PHP para enviar e-mails. Na maioria dos casos dos sistemas Unix/Linux OS, a configuração já está correta, tornando desnecessário esses parâmetros. +MAIN_MAIL_SMTP_PORT=SMTP/SMTPS Port (Por default em php.ini: %s) +MAIN_MAIL_SMTP_SERVER=SMTP/SMTPS Host (Por default em php.ini: %s) +MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP/SMTPS Port (Não definido em PHP nos sistemas tipo Unix) +MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP/SMTPS Host (Não definido em PHP nos sistemas tipo Unix) +MAIN_MAIL_EMAIL_FROM=E-Mail de envio para envios automáticos (Por default em php.ini: %s) +MAIN_MAIL_ERRORS_TO=E-Mail de envio usado para retornar erros de e-mails enviados +MAIN_MAIL_AUTOCOPY_TO=Envia sistematicamente uma cópia escondida de todos os emails enviados para MAIN_MAIL_AUTOCOPY_PROPOSAL_TO=Enviar sistematicamente uma cópia carbono oculta de propostas enviadas por email para MAIN_MAIL_AUTOCOPY_ORDER_TO=Enviar sistematicamente uma cópia carbono oculta de ordens enviadas por email para MAIN_MAIL_AUTOCOPY_INVOICE_TO=Enviar sistematicamente uma cópia carbono oculta da fatura enviada por e-mails para -MAIN_DISABLE_ALL_MAILS=Desativar globalmente todo o envio de correios eletrônicos (para modo de testes) -MAIN_MAIL_SENDMODE=Método de envio de e-mails -MAIN_MAIL_EMAIL_TLS=Usar encryptacao TLS(SSL) -MAIN_DISABLE_ALL_SMS=Desabilitar todos os envios de SMS(para testes ou demonstracoes) -MAIN_SMS_SENDMODE=Método para envio de SMS -MAIN_MAIL_SMS_FROM=Número padrão para envio de SMS -FeatureNotAvailableOnLinux=Funcionalidade não disponível em sistemas Unix. Teste parâmetros sendmail localmente. -SubmitTranslation=Se a tradução para esse idioma não estiver completa ou você encontrar erros, você pode corrigir isso através da edição de arquivos no diretório langs /% s e enviar arquivos modificados no forum www.dolibarr.org. -ModuleFamilyCrm=Administração cliente (CRM) -ModuleFamilyProducts=Administração produtos -ModuleFamilyProjects=Projetos/Trabalho cooperativo -ModuleFamilyECM=Gerenciamento de Conteúdo Eletrônico (ECM) -MenuHandlers=Configuradores menu -MenuAdmin=Editor menu +MAIN_DISABLE_ALL_MAILS=Desabilita o envido de todos os E-Mails (Para testes ou demo) +MAIN_MAIL_SENDMODE=Método usado para envio de E-Mails +MAIN_MAIL_SMTPS_ID=SMTP ID se requerer autentificação +MAIN_MAIL_SMTPS_PW=SMTP Senha se requerer autentificação +MAIN_MAIL_EMAIL_TLS=Usar TLS (SSL) encrypt +MAIN_DISABLE_ALL_SMS=Desabilitar todos envios de SMS (Para testes ou demo) +MAIN_SMS_SENDMODE=Método usado para enviar SMS +MAIN_MAIL_SMS_FROM=Envio default para número telefonico por SMS +FeatureNotAvailableOnLinux=Função não disponível para sistemas tipo Unix. Teste de envio local. +SubmitTranslation=Se a tradução não estiver completa ou com erros, você pode corrigir editando os arquivos de texto no diretóriolangs/%s e submeter as correções no forum www.dolibarr.org +ModuleSetup=Conf. do módulo +ModulesSetup=Conf. dos módulos +ModuleFamilyCrm=Gestão de Relacionamento com o Cliente (CRM) +ModuleFamilyProducts=Gestão de Produtos +ModuleFamilyProjects=Projetos +ModuleFamilyTechnic=Ferramentas para Módulos Múltiplos +ModuleFamilyExperimental=Módulos Experimentais +ModuleFamilyFinancial=Módulos Financeiros +ModuleFamilyECM=Gestão de Conteúdos Eletrônicos (ECM) +MenuHandlers=Gestor de Menus +MenuAdmin=Editor menus DoNotUseInProduction=Não utilizar em produção -ThisIsProcessToFollow=Está aqui o procedimento a seguir: +ThisIsProcessToFollow=Esse é o processo de configuração: ThisIsAlternativeProcessToFollow=Esta é uma configuração alternativa para o processo: -FindPackageFromWebSite=Encontre um pacote que oferece recurso desejado (por exemplo, no site oficial % s). -DownloadPackageFromWebSite=Pacote de download (por exemplo, de oficial web site %s). -UnpackPackageInDolibarrRoot=Descompacte arquivo de pacote para o diretório de servidor Dolibarr dedicado a módulos externos:%s -SetupIsReadyForUse=A Instalação está finalizada e o ERP está liberada para usar com o novo componente -NotExistsDirect=O diretório alternativo para o root não foi definido -InfDirAlt=Desde a versão 3, é possível definir um diretorio root alternativo. Esta funcoa permitepermite que você armazene, no mesmo lugar, plug-ins e templates personalizados
    apenas crie um diretório na raiz do Dolibarr. (Por exemplo: custom)
    -InfDirExample=
    então declará-lo no arquivo conf.php
    $dolibarr_main_url_root_alt='http://myserver/custom'
    $dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
    *These linhas estão comentadas com "#", descomentar apenas remover o caractere. -YouCanSubmitFile=Para esta etapa, você pode enviar pacote usando esta ferramenta: Selecione arquivo de módulo -CurrentVersion=Versão atual do ERP -CallUpdatePage=Chamar a página de atualização da estrutura e dados da base de dados %s. -LastStableVersion=Ultima Versão estável +FindPackageFromWebSite=Achar um pacote que possue as funções desejadas (por exemplo no site oficial %s). +DownloadPackageFromWebSite=Baixar pacote. +UnpackPackageInDolibarrRoot=Descompactar pacote dentro do diretório raiz do Dolibarr %s +SetupIsReadyForUse=Instalação terminada e o Dolibarr está pronto para usar esse novo componente. +NotExistsDirect=O diretório raiz alternativo não está definido.
    +InfDirAlt=Desde a versão 3 é possivel definir um diretório raiz alternativo. Isso permite armazenar, em outro lugar os plug-ins e os templates costomizados.
    Simplesmente criando um diretório root do Dolibarr.
    +InfDirExample=
    Então declara o arquivo conf.php
    $dolibarr_main_url_root_alt='http://myserver/custom'
    $dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
    *Linhas com "#" são comentários, para descomentar somente remova os "#". +YouCanSubmitFile=Selecione o módulo: +CurrentVersion=Versão atual do Dolibarr +CallUpdatePage=Ir para a página que atualiza a estrutura do banco de dados e os dados: %s. +LastStableVersion=Última versão estável UpdateServerOffline=Atualização de servidor off-line -GenericMaskCodes=Pode introduzir qualquer máscara numérica. Nesta máscara, pode utilizar as seguintes etiquetas:
    {000000} corresponde a um número que se incrementa em cada um de %s. Introduza tantos zeros como longitude que deseje mostrar. O contador completarse-á a partir de zeros pela esquerda com o fim de ter tantos zeros como a máscara.
    {000000+000} Igual que o anterior, com uma compensação correspondente ao número da direita do sinal + aplica-se a partir do primeiro %s.
    {000000@x} igual que o anterior, mas o contador restabelece-se a zero quando se chega a x meses (x entre 1 e 12). Se esta opção se utiliza e x é de 2 ou superior, então a seq�ência {yy}{mm} ou {yyyy}{mm} também é necessário.
    {dd} dias (01 a 31).
    {mm} mês (01 a 12).
    {yy}, {yyyy} ou {e} ano em 2, 4 ou 1 figura.
    -GenericMaskCodes2={cccc} o codigo do cliente de n caracteres
    {cccc000} o codigo do cliente de n caracteres e seguido do contador dedicado para o cliente. Este contador dedicado ao cliente e reiniciado no mesmo tempo que o contador global.
    {tttt} O codigo do terceiro tipo de n caracteres (ver dicionario terceiros tipos ).
    -GenericMaskCodes3=qualquer outro caracter0 na máscara se fica sem alterações.
    Não é permitido espaços
    -GenericMaskCodes4a=Exemplo em 99 � %s o Fornecedor a Empresa realizada em 31/03/2007:
    -GenericMaskCodes4b=Exemplo sobre um Fornecedor criado em 31/03/2007:
    -GenericMaskCodes4c=Exemplo de produto criado em 2007-03-01:
    -GenericMaskCodes5=ABC {yy} {mm} - {000000} dará ABC0701-000099
    {0000 100 @ 1}-ZZZ / dd {} / XXX dará 0199-ZZZ/31/XXX -GenericNumRefModelDesc=Devolve um número criado na linha em uma máscara definida. -ServerAvailableOnIPOrPort=Servidor disponível não endereço %s na porta %s -ServerNotAvailableOnIPOrPort=Servidor não disponível não endereço %s na Porta %s -DoTestSend=Teste envio +GenericMaskCodes=Você pode criar suas próprias mascaras para gerar as referências automáticas.
    Como exemplo inicial a mascara 'CLI{000}' vai gerar a ref. CLI001,CLI002,... as mascaras são:
    Mascara de contagem {0000}, essa mascara vai contar para cada nova ref. ex:0001,0002,0003,...
    Mascara de número inicial ex:{000+100} -> 101,102,103,... ex2:{0000+123} -> 0124,0125,...
    Mascara da data {dd} dias (01 a 31), {mm} mês (01 a 12), {yy} {yyyy} para anos ex:{dd}/{mm}/{yy} -> 28/07/15
    +GenericMaskCodes2=Mascara para cópiar ref de client{cccc} ex:{cccccc}.{000} -> CLI001.001.
    +GenericMaskCodes3=Não é permitido espaços.
    Mascara fixa, basta colocar uma letra ou número sem {} ex:CLI,FOR

    +GenericMaskCodes4a=Ex: TESTE{000+100}.{mm}.{yy} -> TESTE101.07.15,TESTE102.07.15
    +GenericMaskCodes4b=Ex: CLI{dd}{mm}{yy}.{000} -> CLI280715.001
    +GenericMaskCodes4c=Ex: PRODUTO{000+100} -> PRODUTO101
    +GenericMaskCodes5=Ex:ABC{yy}{mm}-{000000} -> ABC1507-000099
    +GenericNumRefModelDesc=Retorna um número costomizado de acordo com a mascara definida. +ServerAvailableOnIPOrPort=Servidor disponível no endeço %s e porta %s +ServerNotAvailableOnIPOrPort=Servidor não disponível no endereço %s e porta %s +DoTestSend=Teste de Envio DoTestSendHTML=Teste envio HTML -ErrorCantUseRazIfNoYearInMask=Erro, não pode usar a opção para redefinir @ contador a cada ano se sequência {yy} ou {aaaa} não está na máscara. -ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Erro, não se pode usar opção @ se a seq�ência {yy}{mm} ou {yyyy}{mm} não se encontra a máscara. -UMask=Parâmetro UMask de novos arquivos em Unix/Linux/BSD. -UMaskExplanation=Este parâmetro determina os direitos dos arquivos criados não servidor do ERP (durante o carregamento, por Exemplo).
    Este deve ter o valor octal (por Exemplo, 0666 significa leitura / escrita para todos).
    Este parâmetro não tem nenhum efeito sobre um servidor Windows. -SeeWikiForAllTeam=Veja o wiki para mais detalhes de todos os autores e da sua organização -UseACacheDelay=Atraso para a resposta cache em segundos (0 ou vazio para nenhum cache) -DisableLinkToHelpCenter=Esconde link Precisa ajuda ou suporte " na página de login -DisableLinkToHelp=Esconde link "%s Ajuda online " no menu esquerdo -AddCRIfTooLong=Não há envolvimento automático, por isso, se linha está fora da página em documentos, porque por muito tempo, você deve adicionar-se os retornos de carro no testar área. -ModuleDisabled=Módulo desabilitado -ModuleDisabledSoNoEvent=Módulo desabilitado, portanto, o evento não será criado. -ConfirmPurge=Você tem certeza que quer executar esta limpeza?
    Isso deletará definitivamente todos os seus arquivos sem meios para restaurá-los (arquivo ECM, arquivos anexados) -MinLength=Tamanho mínimo -LanguageFilesCachedIntoShmopSharedMemory=Arquivos .lang transferidos na memória compartilhada -ExamplesWithCurrentSetup=Exemplos com a configuração atual em execução -ListOfDirectories=Lista de OpenDocument de modelos de diretórios -ListOfDirectoriesForModelGenODT=Lista de diretórios contendo modelos de arquivos com formato OpenDocument.

    Coloque aqui o caminho completo do diretório.
    Adicione um procedimento de retorno entre cada diretório.
    Para adicionar um diretório de módulo GED, adicione aqui DOL_DATA_ROOT/ecm/yourdirectoryname.

    Arquivos neste diretório devem ter final .odt. -NumberOfModelFilesFound=Números de arquivos de modelos ODT/ODS encontrados neste diretório -ExampleOfDirectoriesForModelGen=Exemplos de sintaxe:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir -FollowingSubstitutionKeysCanBeUsed=Para saber como criar seu documento seu modelo de documento odt, antes de armazená-lo naquele diretório, leia a documentação wiki +ErrorCantUseRazIfNoYearInMask=Erro, não pode utilizar o @ para resetar o contador cada ano se a sequencia {yy} ou {yyyy} não estiver na mascara +ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Erro, não pode utilizar a opção @ se a não ouver {yy} ou {yyyy} na mascara. +UMask=Parâmetros da UMask para novos arquivos nos sistemas de arquivos Unix/Linux/BSD/Mac. +UMaskExplanation=Esses parâmetros permitem você definir permissões por default nos arquivos criado pelo Dolibarr no servidor (Ex: durante upload).
    Deve ser em formato octal (Ex: 06666 significa que tem permissão de leitura e escrita para todo mundo).
    Esse parâmetro é inutil para servidores windows. +SeeWikiForAllTeam=Veja a página da wiki para ver a lista de todos os autores e essa organização +UseACacheDelay=Atrazo para exportação de cache em segundos (0 ou vazio para sem cache) +DisableLinkToHelpCenter=Esconder link "Precisa de ajuda ou suporte" na pagina de login +DisableLinkToHelp=Esconder link "%s Ajuda Online" no menu esquerdo +AddCRIfTooLong=Não possui nenhum empacotamento automático, então se a linha sair da página do documento é porque é muito comprida, você precisa adicionar você mesmo um retorno de transporte(carriage) na área de texto. +ModuleDisabled=Desativar Módulo +ModuleDisabledSoNoEvent=Módulo desativado portanto o evento nunca foi criado +ConfirmPurge=Você em certeza que deseja executar esse purgador?
    Isso irá deletar todos os arquivos de dados e não haverá como recuperalos (arquivos ECM, arquivos anexados...). +MinLength=Comprimento mínimo +LanguageFilesCachedIntoShmopSharedMemory=Arquivo .lang está carregado na memória +ExamplesWithCurrentSetup=Exemplos com atuais configurações que estão rodando +ListOfDirectories=Lista de diretórios com templates de documentos abertos(.odt) +ListOfDirectoriesForModelGenODT=Lista de diretórios que contém arquivos templates com formato de documento aberto(.odt).

    Coloque aqui o caminho completo dos diretórios.
    Adicionar retorno de transporte(carriage) entre cada diretório.
    Para adicionar o diretório do módulo GED, adicione aqui DOL_DATA_ROOT/ecm/seunomedodiretório.

    Arquivos neste diretório deve terminar com .odt. +NumberOfModelFilesFound=Número de templates ODT/ODS se encontra neste diretório +ExampleOfDirectoriesForModelGen=Exemplo de sintaxe:
    c:\\meudir
    /home/meudir
    DOL_DATA_ROOT/ecm/ecmdir +FollowingSubstitutionKeysCanBeUsed=
    Para saber como criar templates em odt, antes de armazenalos nesse diretório, leia a documentação na wiki: FirstnameNamePosition=Posição do Nome/Sobrenome -DescWeather=As imagens a seguir será mostrado no painel quando o número de ações final atingir os seguintes valores: -KeyForWebServicesAccess=A chave para usar Web Services (parâmetro "dolibarrkey" em webservices) -TestSubmitForm=Formulário teste de entrada -ThisForceAlsoTheme=Usando este gestor de menu também utilizará seu próprio tema independente da escolha do usuário. Este gestor de menu também é especializado para smartphones que não funcionam em todos smartphones. Use outro gestor de menu se você encontrar problemas no seu. -ThemeDir=Diretório de Skins -ConnectionTimeout=Tempo de conexão esgotado -ResponseTimeout=Tempo de resposta esgotado -SmsTestMessage=Mensagem de teste a partir de __ para __ PHONEFROM__ PHONETO__ -ModuleMustBeEnabledFirst=Módulo deve ser ativado antes de usar este recurso. -SecurityToken=Chave para URLs seguras -NoSmsEngine=No SMS gerente disponível remetente. Gerente de SMS do remetente não são instalados com a distribuição padrão (porque depende de um fornecedor externo), mas você pode encontrar em alguns. -PDFDesc=Você pode definir cada uma das opções globais relacionadas com a geração de PDF -PDFAddressForging=Regras de estabelecimento de caixas de endereço -HideAnyVATInformationOnPDF=Esconder todas as informações relativas ao IVA em PDF gerados -HideDescOnPDF=Esconder descrição dos produtos em PDF gerados -HideRefOnPDF=Esconder ref. dos produtos em PDF gerados -HideDetailsOnPDF=Ocultar artigos linhas detalhes sobre PDF gerado -UrlGenerationParameters=Parâmetros para proteger URLs -SecurityTokenIsUnique=Use um parâmetro SecureKey exclusivo para cada URL -EnterRefToBuildUrl=Digite referência para o objeto -GetSecuredUrl=Obter URL calculado -ButtonHideUnauthorized=Ocultar botões para ações não autorizadas em vez de mostrar os botões com deficiência -OldVATRates=Taxa de VAt anterior -NewVATRates=Nova taxa do VAT -PriceBaseTypeToChange=Modificar sobre os preços com valor de referência de base definida em -MassConvert=Inicie a conversão em massa -Float=Flutuar -Boolean=Booleano (Caixa de seleção) -ExtrafieldSelect =Selecionar lista +DescWeather=As seguintes imagens serão mostradas no painel quando o número de ações tardias alcançar os seguintes valores: +KeyForWebServicesAccess=Chave para usar o Serviços Web (parâmetro "dolibarrkey" no serviço web) +TestSubmitForm=Teste de entrada de formulário +ThisForceAlsoTheme=Usando esse gerenciador de menus e também usando seu próprio tema qualquer que seja a sua escolha. Além disso se o gerenciador de menus especializado em smartphone não funcionar em todos os smartphones. Use outro gerenciador de menus se tiver problemas com o seu. +ThemeDir=Diretórios de Skins +ConnectionTimeout=Tempo Esgotádo de Conexão +ResponseTimeout=Tempo de Resposta Esgotado +SmsTestMessage=Mensagem Teste de __PHONEFROM__ para __PHONETO__ +ModuleMustBeEnabledFirst=Módulo %s precisa ser ativado antes de usar essas funções. +SecurityToken=Chave para as URLs de segurança +NoSmsEngine=Sem gestor de envido de SMS disponível. Por default o gestor de envio de SMS não vêm instalado (porque depende de um fornecedor externo) mas você pode achar um em %s +PDFDesc=Você pode configurar cada opção global relacionada com geração de PDF +PDFAddressForging=Regras para forjar caixas de endereços +HideAnyVATInformationOnPDF=Esconder todas as informações relacionadas com ICMS na geração de PDF +HideDescOnPDF=Esconder todas as descrições de produto na geração de PDF +HideRefOnPDF=Esconder ref. dos produtos na geração de PDF +HideDetailsOnPDF=Esconder a linha de detalhes dos produtos na geração de PDF +UrlGenerationParameters=Parâmetros para URLs de segurança +SecurityTokenIsUnique=Usar um único parâmetro na chave de segurança para cada URL +EnterRefToBuildUrl=Entre com a referência do objeto %s +GetSecuredUrl=Conseguir URL calculada +ButtonHideUnauthorized=Esconder botões não autorizados ao invés de mostralos desabilitados +OldVATRates=Velha taxa de ICMS +NewVATRates=Nova taxa de ICMS +PriceBaseTypeToChange=Modificar os preços com base no valor de referência defino em +MassConvert=Lançar converções massivas +TextLong=Texto Longo +DateAndTime=Data e Hora +Boolean=Boolean +ExtrafieldSelect =Selecione lista ExtrafieldSelectList =Selecione da tabela -ExtrafieldCheckBox=Caixa de seleção -ExtrafieldRadio=Botão de opção +ExtrafieldRadio=Botão de Radio ExtrafieldCheckBoxFromList=Caixa de seleção da tabela ExtrafieldLink=Link para um objeto -ExtrafieldParamHelpselect=Lista de parâmetros tem que ser como chave, valor por exemplo: 1, valor1 2, valor2 < 3, value3 ... A fim de ter a lista dependendo outro: 1, valor1 | parent_list_code: parent_key 2, valor2 | parent_list_code: parent_key -ExtrafieldParamHelpcheckbox=Lista de parâmetros tem que ser como chave, valor

    por exemplo:
    1, valor1
    2, valor2
    3, value3
    ... -ExtrafieldParamHelpradio=Lista de parâmetros tem que ser como chave, valor por exemplo: 1, valor 2, valor2 1 3, value3 ... -ExtrafieldParamHelpsellist=Lista Parâmetros vem de uma tabela
    Sintaxe: table_name: label_field: id_field :: filtro
    Exemplo: c_typent: libelle: id :: filtro

    filtro pode ser um teste simples (por exemplo, ativo = 1) para exibir apenas o valor ativo
    se você deseja filtrar extrafields usar syntaxt extra.fieldcode = ... (onde código de campo é o código de extrafield)

    A fim de ter a lista dependendo outro:
    c_typent: libelle: id: parent_list_code | parent_column: Filtro -LibraryToBuildPDF=Biblioteca utilizada para criar o PDF -WarningUsingFPDF=Atenção: Seu conf.php contém dolibarr_pdf_force_fpdf directiva = 1. Isto significa que você usar a biblioteca FPDF para gerar arquivos PDF. Esta biblioteca é velho e não suporta um monte de recursos (Unicode, a transparência da imagem, cirílicos, árabes e asiáticos, ...), por isso podem ocorrer erros durante a geração de PDF.
    Para resolver isso e ter um apoio total de geração de PDF, faça o download da biblioteca TCPDF , em seguida, comentar ou remover a linha $ dolibarr_pdf_force_fpdf = 1, e adicione ao invés $ dolibarr_lib_TCPDF_PATH = 'path_to_TCPDF_dir' -LocalTaxDesc=Alguns países aplicam impostos 2 ou 3 em cada linha da fatura. Se este for o caso, escolha o tipo de segundo e terceiro imposto e sua taxa. Tipo de possíveis são:
    1: impostos locais, aplicar sobre produtos e serviços sem IVA (localtax é calculada sobre o montante sem impostos)
    2: impostos locais, aplicadas aos produtos e serviços, incluindo IVA (localtax é calculada sobre o montante do imposto + principal)
    3: impostos locais, aplicar em produtos sem IVA (localtax é calculada sobre o montante sem impostos)
    4: impostos locais, aplicadas aos produtos, incluindo o IVA (localtax é calculada sobre o montante + iva principal)
    5: impostos locais, aplicar em serviços sem IVA (localtax é calculada sobre o montante sem impostos)
    6: impostos locais, aplicar sobre os serviços, incluindo o IVA (localtax é calculada sobre o montante + imposto) -SMS=Mensagem de texto -LinkToTestClickToDial=Digite um número de telefone para ligar para mostrar um link para testar a url ClickToDial para o usuário% s -LinkToTest=Link clicável gerado para o usuário% s (clique número de telefone para testar) -KeepEmptyToUseDefault=Manter em branco para usar o valor padrão -DefaultLink=Link padrão -ValueOverwrittenByUserSetup=Atenção, este valor pode ser substituído por configuração específica do usuário (cada usuário pode definir sua própria url de clicktodial) +ExtrafieldParamHelpselect=Lista de parâmetros tem que ser tipo chave,valor

    Por exemplo:
    1,valor1
    2,valor2
    3,valor3
    ...

    A ordem da lista tem que depender da outra:
    1,valor1|parent_list_code:parent_key
    2,valor2|parent_list_code:parent_key +ExtrafieldParamHelpcheckbox=Lista de parâmetros tem que ser tipo chave,valor

    por exemplo:
    1,valor1
    2,valor2
    3,valor3
    ... +ExtrafieldParamHelpradio=Lista de parâmetros tem que ser do tipo chave,valor

    por exemplo:
    1,valor1
    2,valor2
    3,valor3
    ... +ExtrafieldParamHelpsellist=Lista de parâmetros tem que ser do tipo tabela

    por exemplo:
    c_typent:libelle:id

    A ordem da lista tem que depender da outra:
    c_typent:libelle:id:parent_list_code|parent_column +WarningUsingFPDF=Aviso: Sua conf.php Contém diretrize dolibarr_pdf_force_fpdf=1. Isso significa que você usa a biblioteca FPDF para gerar arquivos em PDF. Essa biblioteca é velha e não suporta muitas novas funções (Unicode, imagem transparente, cyrillic, línguas arábicas e asiáticas,...), portanto pode ocorrer alguns erros durante a geração de PDF.
    Para corrigir esse problema e ter todo o suporte na geração de PDF, baixe Biblioteca TCPDF, então comente ou remova essa linha $dolibarr_pdf_force_fpdf=1, e adicione essa $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' +LocalTaxDesc=Alguns paises aplicam de 2 a 3 taxas em cada linha de fatura. Se for esse caso, escolha o tipo de segunda e terceira taxa. Os possíveis tipos são:
    1 : Taxa local aplicam em produtos e serviços sem ICMS (ICMS não é aplicada em taxa local)
    2 : Taxa local aplicam em produtos e serviços antes do ICMS (ICMS é calculado no montante + taxa local)
    3 : Taxa local aplicam em produtos sem o ICMS (ICMS não é aplicada na taxa local)
    4 : Taxa local aplicam nos produtos antes do ICMS (ICMS é calculado no montante + taxa local)
    5 : Taxa local aplicam no serviço sem o ICMS (ICMS não é aplicado em taxa local)
    6 : Taxa local aplicam em serviços antes do ICMS (ICMS é calculado no montante + taxa local) +LinkToTestClickToDial=Entre com um número telefônico para chamar e mostrar um link que testar a URL CliqueParaDiscar para usuário %s +RefreshPhoneLink=Refrescar link +LinkToTest=Clique no link gerado pelo usuário %s (clique no número telefônico para testar) +KeepEmptyToUseDefault=Deixe em branco para usar o valor padrão(default) +DefaultLink=Link padrão(default) +ValueOverwrittenByUserSetup=Aviso, esse valor pode ser substituido pela configuração especifícada pelo usuário (cada usuário pode ter seu propria URL CliqueParaDiscar) ExternalModule=Módulo externo - Instalado no diretório BarcodeInitForThirdparties=Inicialização de código de barras em massa para clientes BarcodeInitForProductsOrServices=Inicialização de código de barras em massa ou redefinir de produtos ou serviços @@ -318,184 +355,259 @@ ConfirmEraseAllCurrentBarCode=Tem certeza de que deseja apagar todos os valores AllBarcodeReset=Todos os valores de código de barras foram removidas NoBarcodeNumberingTemplateDefined=Nenhum modelo de numeração de código de barras habilitado para configuração do módulo de código de barras. NoRecordWithoutBarcodeDefined=Sem registro, sem valor de código de barras definido. -Module0Name=Usuários e Grupos -Module0Desc=Administração de Usuários e Grupos -Module1Name=Fornecedores -Module1Desc=Administração de Fornecedores (Empresas, Particulares) e Contatos -Module2Desc=Administração comercial -Module10Desc=Administração simples da Contabilidade (repartição das receitas e pagamentos) -Module20Desc=Administração de Orçamentos/Propostas comerciais -Module22Desc=Administração e envio de E-Mails massivos -Module23Desc=Acompanhamento do consumo de energias -Module25Desc=Administração de pedidos de clientes -Module30Name=Faturas e Recibos -Module30Desc=Administração de faturas e recibos de clientes. Administração de faturas de Fornecedores -Module40Desc=Administração de Fornecedores -Module49Desc=Administração de Editores -Module50Desc=Administração de produtos -Module51Name=Correspondência em massa +Module0Name=Usuários & Grupos +Module0Desc=Gestor de Usuários e Grupos +Module1Desc=Gestor de Terceiros (Cliente e Fornecedor) e Contatos +Module2Desc=Gestor Comercial +Module10Desc=Relatório de Contabilidade Simples (jornais, rotação de estoque) baseado no conteúdo do banco de dados. +Module20Desc=Gestor de Orçamentos +Module22Name=E-Mails Massivos +Module22Desc=Envio de E-Mails Massivos (spam) +Module23Desc=Monitoramento de Consumo de Energia +Module25Name=Pedidos de Clientes +Module25Desc=Gestor de Pedidos de Clientes +Module30Name=Faturas +Module30Desc=Gestor de Faturas e Notas de Créditos para Clientes. Gestor de faturas para Fornecedores +Module40Desc=Gestor de Fornecedores e Compra (Pedidos e Faturas) +Module42Desc=Facilidades de Log (arquivos, syslog, ...) +Module49Desc=Gestor de Editores +Module50Desc=Gestor de Produtos +Module51Name=Cartas Massivos Module51Desc=Gestão de correspondência do massa -Module52Name=Estoques de produtos -Module52Desc=Administração de estoques de produtos -Module53Desc=Administração de serviços -Module54Name=Contratos/Assinaturas -Module54Desc=Gerenciamento de contratos (serviços ou assinaturas recorrentes) -Module55Name=Códigos de barra -Module55Desc=Administração dos códigos de barra +Module52Name=Estoques +Module52Desc=Gestor de Estoques +Module53Desc=Gestor de Serviços +Module54Name=Contratos +Module54Desc=Gestor de Contratos +Module55Name=Códigos de Barra +Module55Desc=Gestor de Códigos de Barra Module56Name=Telefonia -Module56Desc=Administração da telefonia -Module57Name=Débitos Diretos -Module57Desc=As ordens permanentes e gestão de retirada. Também inclui geração de arquivo SEPA para países europeus. -Module59Desc=Adicione função para gerar uma conta Bookmark4u desde uma conta do ERP -Module70Desc=Administração de Intervenções -Module75Name=Notas de despesas e deslocamentos -Module75Desc=Administração das notas de despesas e deslocamentos -Module80Desc=Administração de Expedições e Recepções -Module85Desc=Administração das contas financeiras de tipo contas bancarias, postais o efetivo -Module100Name=Site externo -Module100Desc=Este módulo inclui um web site ou página externa em menus Dolibarr e vê-lo em um quadro Dolibarr -Module105Name=Mailman e SPIP -Module105Desc=Mailman ou interface SPIP para o módulo membro -Module200Desc=sincronização com um anuário LDAP -Module310Desc=Administração de Membros de uma associação -Module330Desc=Administração de Favoritos -Module400Name=Projetos/Oportunidades/Contatos -Module400Desc=Gerenciamento de Projetos, oportunidades ou contatos. Você pode associar qualquer elemento (invoice, ordem, propostas, intervenções, etc...) para um projeto e ter uma visão transversal da visualização de projeto. -Module410Desc=Interface com calendário Webcalendar -Module500Name=Despesas especiais -Module500Desc=Gestão de despesas especiais (impostos, contribuições sociais ou fiscais, dividendos) +Module56Desc=Integração Telefônica +Module57Name=Débitos Automáticos +Module57Desc=Gestor de Débitos Automáticos e Retiradas +Module58Name=CliqueParaDiscarl +Module58Desc=Integração do Sistema CliqueParaDiscar +Module59Desc=Adicione uma função para gerar uma conta Bookmark4u de uma conta Dolibarr +Module70Desc=Gestor de Intervenções +Module75Name=Despesas e Notas de Viagem +Module75Desc=Gestor de Despesas e Notas de Viagem. Administração das notas de despesas e deslocamentos +Module80Name=Fretes +Module80Desc=Gestor de Fretes e Carregamentos +Module85Desc=Gestor de Bancos e Caixas +Module100Desc=Incluir seu site no menu superior do Dolibarr +Module105Name=Carteiro e SPIP +Module105Desc=Carteiro ou Interface SPIP para Módulo MembroMailman or SPIP interface for member module +Module200Desc=Diretório de sincronização do LDAP +Module240Name=Exportações de Dados +Module240Desc=Ferramenta de exportação dos dados do Dolibarr (com assistência) +Module250Name=Importação de Dados +Module250Desc=Ferramenta de importação de dados para o Dolibarr (com assistência) +Module310Desc=Gestor de Associação de Membros +Module320Desc=Adiciona um RSS feed dentro das páginas de tela do Dolibarr +Module330Name=Marcadores de Página +Module330Desc=Gestor de Marcadores de Página +Module400Name=Projetos +Module400Desc=Gestor de Projetos dentro de outros módulos +Module410Name=WebCalendário +Module410Desc=Integração do WebCalendário +Module500Name=Taxas, Contribuições Sociais e Dividendos +Module500Desc=Gestor Taxas, Contribuições Sociais e Dividentos Module510Desc=Gestão de funcionários salários e pagamentos Module520Name=Empréstimo Module520Desc=Gestão dos empréstimos -Module600Desc=Enviar notificação via EMail para terceiros sobre algums eventos do Dolibarr ( configurado para cada terceiro) -Module700Desc=Administração de Bolsas +Module600Desc=Envia notificações pelo email em alguns eventos de negócio para os contatos de terceiros +Module700Name=Doações +Module700Desc=Gestor de Doações Module770Name=Relatórios de despesas Module770Desc=Gestão e reivindicação de relatórios de despesas (transporte, refeição, ...) Module1120Name=Fornecedor - proposta comercial Module1120Desc=Pedido fornecedor - proposta comercial e preços -Module1200Desc=Interface com o sistema de seguimento de incidências Mantis +Module1200Desc=Integração Mantis Module1400Name=Contabilidade -Module1400Desc=Gestão de Contabilidade (partes duplas) +Module1400Desc=Gestor de Contabilidade (duas partes) Module1520Name=Geração de Documentos Module1520Desc=Geração de documentos via e-mail em massa -Module1780Name=Tags / Categorias -Module1780Desc=Criar tags / categoria (produtos, clientes, fornecedores, contatos ou membros) +Module1780Name=Categorias +Module1780Desc=Gestor de Categorias (produtos, fornecedores e clientes) Module2000Name=Editor WYSIWYG -Module2000Desc=Permitir editar alguma área de texto usando um editor avançado +Module2000Desc=Permite editar algumas áreas de texto usando um editor avançado Module2200Name=Preços dinâmicos Module2200Desc=Habilitar o uso de expressões matemáticas para os preços -Module2300Desc=Gerenciamento de tarefas agendadas -Module2400Desc=Administração da agenda e das ações -Module2500Name=Administração Eletrônica de Documentos -Module2600Name=API de serviços (Web Services SOAP) -Module2600Desc=Permitir que os serviços da API servidor SOAP Dolibarr fornecendo +Module2300Desc=Gestor de Tarefas Agendadas +Module2400Name=Agenda Eletrônica +Module2400Desc=Agenda, Eventos e Tarefas +Module2500Name=Arquivos de Documentos Eletrônicos +Module2500Desc=Salve, compartilhe documentos e autorganiza os próprios docs gerados no Dolibarr +Module2600Name=Serviços Web +Module2600Desc=Ativa o servidor de serviços web do Dolibarr Module2610Name=API de serviços (Web services REST) Module2610Desc=Permitir que o servidor prestação de serviços de API REST do Dolibarr Module2650Name=WebServices (cliente) Module2650Desc=Habilitar o webservices do Dolibarr (pode ser usado para empurrar de dados / pedidos de servidores externos. Ordens Fornecedor suporte apenas para o momento) -Module2700Name=Sobrescrito -Module2700Desc=Usar o serviço on-line Gravatar (www.gravatar.com) para mostrar fotos de usuários / membros (que se encontra com os seus e-mails). Precisa de um acesso à Internet -Module2800Desc=Cliente de FTP -Module2900Desc=GeoIP Maxmind conversões capacidades +Module2700Desc=Usar serviço online do Gravatar (www.gravatar.com) para mostrar foto de usuários/membros (achado pelos emails deles). Precisa de acesso a internet +Module2900Desc=Capacidade de conversão com o GeoIP Maxmind Module3100Desc=Adicionar um botão do Skype no cartão de adeptos / terceiros / contatos -Module5000Name=Multi-Empresa -Module5000Desc=Permite-lhe gerenciar várias empresas -Module6000Desc=Gestão de fluxo de trabalho -Module20000Name=Sair da configuração de pedidos +Module5000Name=Multi-Empresas +Module5000Desc=Permite gerenciar varias empresas +Module6000Desc=Gestor de Fluxo de Trabalho +Module20000Name=Folgas e Ferias +Module20000Desc=Declare e acompanhe a folga dos colaboradores Module39000Name=Lote do produto Module39000Desc=Lote ou número de serie, para compra e venda administrado produtos -Module50000Desc=Módulo para oferecer uma página de pagamento on-line por cartão de crédito com PayBox -Module50100Desc=Caixa registradora -Module50200Desc=Módulo para oferecer uma página de pagamento on-line por cartão de crédito com Paypal +Module50000Desc=Módulo oferece pagamento online via cartão de crédito com PayBox +Module50100Name=Ponto de Vendas +Module50100Desc=Módulo de Ponto de Vendas +Module50200Desc=Módulo que oferece pagamento online via cartão de crédito com Paypal Module50400Name=Contabilidade (avançada) Module50400Desc=Gestão de Contabilidade (partes duplas) -Module54000Desc=Impressão direta (sem abrir os documentos) usando a interface Cups IPP (Impressora deve ser visível a partir do servidor, e CUPS deve ser instaladas no servidor). -Module59000Name=Margems -Module59000Desc=Módulo para gerenciar as margens -Module60000Desc=Módulo para gerenciar comissões -Permission11=Consultar faturas -Permission12=Criar/Modificar faturas -Permission13=Faturas de clientes Unvalidate -Permission14=Confirmar faturas -Permission15=Enviar faturas por correio -Permission16=Emitir pagamentos de faturas -Permission19=Eliminar faturas -Permission41=Leia projetos e tarefas (projeto compartilhado e projetos que estou contato para). Também é possível inserir tempo consumido nas tarefas atribuídas (timesheet) -Permission42=Criar/Modificar projetos -Permission44=Eliminar projetos -Permission75=Tipos de configuração de adesão -Permission91=Leia impostos e IVA social ou fiscal -Permission92=Criar / modificar os impostos e IVA social ou fiscal -Permission93=Excluir impostos e IVA social ou fiscal -Permission94=Exportação de impostos sociais ou fiscais -Permission101=Consultar Expedições -Permission102=Criar/Modificar Expedições -Permission104=Confirmar Expedições -Permission106=Envios de exportação -Permission109=Eliminar Expedições -Permission112=Criar/Modificar quantidade/eliminar registros bancários -Permission113=Instalação de contas financeiras (criar, gerenciar as categorias) -Permission115=Exportar transações e extratos -Permission116=Captar transferências entre contas -Permission117=Gerenciar envio de cheques -Permission141=Leia todos os projetos e tarefas (também projetos privados não estou em contato para) -Permission142=Criar / modificar todos os projetos e tarefas (também projetos privados não estou a entrar em contato para) -Permission144=Exclua todos os projetos e tarefas (também projetos privados não estou entrar em contato para) -Permission146=Consultar Prestadores -Permission151=Consultar Débitos Diretos -Permission152=Configurar Débitos Diretos -Permission153=Consultar Débitos Diretos -Permission154=Crédito / recusar ordens permanentes recibos -Permission161=Leia contratos / assinaturas -Permission162=Criar / modificar contratos / assinaturas -Permission163=Ativar um serviço / assinatura de um contrato -Permission164=Desativar um serviço / assinatura de um contrato -Permission165=Excluir contratos / assinaturas -Permission171=Leia viagens e despesas (próprios e de seus subordinados) -Permission172=Criar/Modificar viagens e gastos -Permission173=Remover viagens e gastos +Module54000Name=ImprimirIPP +Module54000Desc=Imprima via Cups IPP +Module55000Name=Pesquisa Aberta +Module55000Desc=Módulo que integra pesquisa (tipo: Doodle, Studs, Rdvz, ...) +Module59000Desc=Módulo para gerenciar margens +Module60000Name=Comissão +Module60000Desc=Módulo para gerenciar comissão +Permission11=Ler Faturas de Clientes +Permission12=Criar/Modificar Faturas de Clientes +Permission13=Faturas de Clientes Não-Validadas +Permission14=Faturas de Clientes Validadas +Permission15=Enviar Faturas de Clientes por E-Mail +Permission16=Criar Pagamentos para Faturas de Clientes +Permission19=Deletar Faturas de Clientes +Permission21=Ler Orçamentos +Permission24=Validar Orçamentos +Permission28=Exportar Orçamentos +Permission31=Ler Produtos +Permission32=Criar/Modificar Produtos +Permission34=Deletar Produtos +Permission36=Ver/Gerenciar Produtos Ocultos +Permission41=Ler Projetos (Projetos Compartilhados e Projetos que eu contratei para) +Permission42=Criar/Modificar Projetos (Projetos Compartilhados e Projetos que eu contratei para) +Permission44=Deletar Projetos (Projetos Compartilhados e Projetos que eu contratei para) +Permission61=Ler Intervenções +Permission64=Deletar Intervenções +Permission71=Ler Membros +Permission74=Deletar Membros +Permission75=Configurar tipos e atributos dos Membros +Permission76=Exportar Dados +Permission78=Ler Assinaturas +Permission79=Criar/Modificar Assinaturas +Permission81=Ler Pedidos de Clientes +Permission82=Criar/Modificar Pedidos de Clientes +Permission84=Validar Pedidos de Clientes +Permission86=Enviar Pedidos de Clientes +Permission87=Fechar Pedidos de Clientes +Permission88=Cancelar Pedidos de Clientes +Permission89=Deletar Pedidos de Clientes +Permission91=Ler Gasto +Permission92=Criar/Modificar Gasto +Permission93=Deletar Gasto +Permission94=Exportar Gasto +Permission95=Ler Relátorios +Permission101=Ler Envios +Permission102=Criar/Modificar Envios +Permission104=Validar Envios +Permission106=Exportar Envios +Permission109=Deletar Envios +Permission111=Ler Contas Financeiras +Permission112=Criar/Modificar/Deletar e Comparar Transações +Permission113=Configurar Contas Financeiras (criar, gerenciar categorias) +Permission114=Consolidar Transações +Permission115=Exportar Transações e Extratos Bancários +Permission116=Transferência entre Contas +Permission117=Gerenciar Envios de Cheques +Permission121=Ler Terceiros Vinculado ao Usuário +Permission122=Criar/Modificar Terceiros +Permission125=Deletar Terceiros +Permission126=Exportar Terceiros +Permission141=Ler Projetos (Projetos Compartilhados e Projetos que eu contratei para) +Permission142=Criar/Modificar Projetos (Projetos Compartilhados e Projetos que eu contratei para) +Permission144=Deletar Projetos (Projetos Compartilhados e Projetos que eu contratei para) +Permission146=Ler Provedores +Permission147=Ler Estatísticas +Permission151=Ler Pagamentos Regulares +Permission152=Criar/Modificar Pagamentos Regulares +Permission153=Transmitir Recibos para Pagamentos Regulares +Permission154=Creditar/Recusar Recibos para Pagamentos Regulares +Permission161=Ler Contratos +Permission162=Criar/Modificar Contratos +Permission163=Ativar Serviço de um Contrato +Permission164=Desabilitar Serviço de um Contrato +Permission165=Deletar Contrato +Permission171=Ler Viagens +Permission172=Criar/Modificar Viagens +Permission173=Deletar Viagens Permission174=Leia todas as viagens e despesas -Permission178=Exportar viagens e gastos -Permission185=Ordenar ou cancelar pedidos a fornecedores -Permission194=Consultar Linhas da Lagura de Banda -Permission205=Gerenciar Ligações +Permission178=Exportar Viagens +Permission180=Ler Fornecedores +Permission181=Ler Pedidos para Fornecedores +Permission182=Criar/Modificar Pedidos para Fornecedores +Permission183=Validar Pedidos para Fornecedores +Permission184=Aprovar Pedidos para Fornecedores +Permission185=Realizar Pedidos para Fornecedores +Permission186=Aceitar Pedidos para Fornecedores +Permission187=Fechar Pedidos para Fornecedores +Permission188=Cancelar Pedidos para Fornecedores +Permission194=Ler as Linhas de Bandwith +Permission202=Criar Conexões ADSL +Permission203=Pedir Pedidos de Conexões +Permission204=Pedir Conexões +Permission205=Gerenciar Conexões +Permission206=Ler Conexões +Permission211=Ler Telefones +Permission212=Linhas de Pedidos Permission213=Ativar Linha -Permission222=Criar/Modificar E-Mails (assunto, destinatários, etc.) -Permission223=Confirmar E-Mails (permite o envio) -Permission237=Exibir os destinatários e as informações -Permission238=Envio manual de e-mails -Permission239=Deletar e-mail após o envio -Permission241=Consultar categorias -Permission242=Criar/Modificar categorias -Permission243=Eliminar categorias -Permission244=Ver conteúdo de categorias ocultas -Permission251=Consultar Outros Usuário, grupos e permissões -Permission252=Criar/Modificar outros usuário, grupos e permissões -Permission253=Modificar a senha de outros usuário -PermissionAdvanced253=Criar ou modificar usuários internos ou externos e suas permissões -Permission254=Eliminar ou desativar outros usuário -Permission255=Criar/Modificar a sua propia informação de usuário -Permission256=Modificar a sua propia senha -Permission262=Consultar todas as empresas (somente Usuários internos. Os externos estão limitados a eles mesmos) +Permission215=Configurar Provedores +Permission221=Ler E-Mails +Permission222=Criar/Modificar E-Mails (assunto, destinatários...) +Permission223=Validar E-Mails (permite enviar) +Permission229=Deletar E-Mails +Permission237=Visualisar Destinatário e Informações +Permission238=Enviar Cartas Manualmente +Permission239=Deletar Cartas depois de Validado ou Enviado +Permission241=Ler Categorias +Permission242=Criar/Modificar Categorias +Permission243=Deletar categorias +Permission244=Visualisar o Conteúdo de Categorias Ocultas +Permission251=Ler Outros Usuários e Grupos +PermissionAdvanced251=Ler Outros Usuários +Permission252=Ler Permissões de Outros Usuários +Permission253=Criar/Modificar Outros Usuários, Grupos e Permissões +PermissionAdvanced253=Criar/Modificar Usuários internos/externos e suas Permissões +Permission254=Criar/Modificar Usuários Externos +Permission255=Modificar Senha de Outros Usuários +Permission256=Deletar ou Desativar Outros Usuários +Permission262=Acesso Extendido para Todos os Terceiros (não apenas aqueles usuários vinculados). Não é efetivo para usuários externos (sempre são limitados a eles mesmos) Permission272=Ler Faturas Permission273=Emitir Fatura -Permission281=Consultar contatos -Permission282=Criar/Modificar contatos -Permission283=Eliminar contatos -Permission286=Exportar os contatos -Permission312=Atribuir serviço / subscrição para contrair -Permission341=Ler suas próprias permissões -Permission342=Criar ou modificar informações do próprio usuário -Permission343=Modificar sua senha -Permission351=Ler grupos -Permission352=Ler permissões do grupo -Permission353=Criar ou modificar grupos -Permission354=Excluir ou desabilitar grupos -Permission358=Exportar usuários -Permission401=Consultar ativos -Permission402=Criar/Modificar ativos -Permission403=Confirmar ativos -Permission404=Eliminar ativos +Permission281=Ler Contatos +Permission282=Criar/Modificar Contatos +Permission283=Deletar Contatos +Permission286=Exportar Contatos +Permission291=Ler Tarifas +Permission292=Definir Permissões das Tarifas +Permission293=Modificar Tarifas de Clientes +Permission300=Ler Código de Barras +Permission301=Criar/Modificar Códigos de Barras +Permission302=Deletar Código de Barras +Permission311=Ler Serviços +Permission312=Atribuir Serviço no Contrato +Permission331=Ler Marcadores de Página +Permission332=Criar/Modificar Marcadores de Página +Permission333=Deletar Marcadores de Página +Permission341=Ler suas Próprias Permissões +Permission342=Criar/Modificar Informações do seu Próprio Usuário +Permission343=Modificar Própria Senha +Permission344=Modificar Suas Próprias Permissões +Permission351=Ler Grupos +Permission352=Ler Permissões de Grupos +Permission353=Criar/Modificar Grupos +Permission354=Deletar ou Desabilitar Grupos +Permission358=Deletar Usuários +Permission401=Ler Descontos +Permission402=Criar/Modificar Descontos +Permission403=Validar Descontos +Permission404=Deletar Descontos Permission510=Leia Salários Permission512=Criar / modificar salários Permission514=Excluir salários @@ -505,13 +617,14 @@ Permission522=Criar / modificar empréstimos Permission524=Excluir empréstimos Permission525=Acesso a Calculadora de empréstimo Permission527=Exportação de Empréstimos -Permission532=Criar ou modificar serviços -Permission534=Excluir serviços -Permission536=Visualizar ou gerenciar serviços ocultos -Permission538=Exportar serviços -Permission701=Criar/Modificar Bolsas -Permission702=Eliminar Bolsas -Permission703=Excluir doações +Permission531=Ler Serviços +Permission532=Criar/Modificar Serviços +Permission534=Deletar Serviços +Permission536=Ver/gerenciar Serviços Ocultos +Permission538=Exportar Serviços +Permission701=Ler Doações +Permission702=Criar/Modificar Doações +Permission703=Deletar Doações Permission771=Leia relatórios de despesas (próprios e de seus subordinados) Permission772=Criar / modificar relatórios de despesas Permission773=Excluir relatórios de despesas @@ -519,46 +632,57 @@ Permission774=Leia todos os relatórios de despesas (mesmo para o utilizadores N Permission775=Aprovar os relatórios de despesas Permission776=Relatórios de despesas pagas Permission779=Exportar - Relatórios de despesas -Permission1001=Consultar estoques -Permission1002=Criar / modificar armazéns -Permission1003=Excluir Armazéns -Permission1004=Consultar movimentos de estoque -Permission1005=Criar/Modificar movimentos de estoque -Permission1101=Consultar ordens de envio -Permission1102=criar/modificar ordens de envio -Permission1104=Confirmar ordem de envio -Permission1109=Eliminar ordem de envio +Permission1001=Ler Estoques +Permission1002=Criar/Modificar Estoques +Permission1003=Deletar Estoques +Permission1004=Ler Movimentação de Estoque +Permission1005=Criar/Modificar Movimentação de Estoque +Permission1101=Ler Pedidos de Entrega +Permission1102=Criar/Modificar Pedidos de Entrega +Permission1104=Validar Pedidos de Entrega +Permission1109=Deletar Pedidos de Entrega +Permission1181=Ler Fornecedores +Permission1182=Ler Pedidos para Fornecedor +Permission1183=Criar/Modificar Pedidos para Fornecedor +Permission1184=Validar Pedidos para Fornecedor +Permission1185=Aprovar Pedidos para Fornecedor +Permission1186=Realizar Pedidos para Fornecedor +Permission1187=Confirmar Recebimento de Pedidos para Fornecedore +Permission1188=Deletar Pedidos para Fornecedor Permission1190=Aprovar (segunda) de aprovação dos pedidos a fornecedores -Permission1231=Consultar faturas de Fornecedores -Permission1232=Criar faturas de Fornecedores -Permission1233=Confirmar faturas de Fornecedores -Permission1234=Eliminar faturas de Fornecedores -Permission1235=Enviar por e-mail faturas de fornecedores -Permission1236=Exportar faturas de Fornecedores, atributos e pagamentos -Permission1237=Pedidos a fornecedores Export e seus detalhes -Permission1251=Execute as importações em massa de dados externos para o banco de dados (carga de dados) -Permission1321=Exportar faturas a clientes, atributos e cobranças -Permission1421=Exportar faturas de clientes e atributos -Permission23001=Leia trabalho Programado -Permission23002=Criar / atualização agendada trabalho -Permission23003=Excluir trabalho agendado -Permission23004=Executar trabalho agendado -Permission2401=Ler ações (eventos ou tarefas) vinculadas na sua conta -Permission2402=Criar/Modificar/Eliminar ações (eventos ou tarefas) vinculadas na sua conta -Permission2403=Consultar ações (acontecimientos ou tarefas) de outros -Permission2411=Leia ações (eventos ou tarefas) de outros -Permission2412=Criar / modificar ações (eventos ou tarefas) de outros -Permission2413=Excluir ações (eventos ou tarefas) de outros -Permission2501=Enviar ou eliminar documentos -Permission2502=Baixar documentos -Permission2515=Configuração de diretorios de documentos -Permission2801=Use cliente FTP em modo de leitura (navegar e baixar apenas) -Permission2802=Use o cliente FTP no modo de escrita (apagar ou fazer upload de arquivos) -Permission50101=Usar ponto de vendas -Permission50202=Importar transacções -Permission54001=Impressão -Permission55001=Leia urnas -Permission55002=Criar / modificar urnas +Permission1201=Conseguir Resultado de uma Exportação +Permission1202=Criar/Modificar uma Exportação +Permission1231=Ler Faturas de Fornecedor +Permission1232=Criar/Modificar Faturas de Fornecedor +Permission1233=Validar Faturas de Fornecedor +Permission1234=Deletar Faturas de Fornecedor +Permission1235=Enviar Faturas de Fornecedor por E-Mail +Permission1236=Exportar Faturas de Fornecedor, Atributos e Pagamentos +Permission1237=Exportar Pedidos de Fornecedor e seus Detalhes +Permission1251=Rodar(run) Importações Massivas de Dados Externos para o Banco de Dados (carregamento de dados) +Permission1321=Exportar Faturas de Clientes, Atributos e Pagamentos +Permission1421=Exportar Pedidos de Clientes e Atributos +Permission23001=Ler Tarefas Agendadas +Permission23002=Criar/Atualizar Tarefas Agendadas +Permission23003=Deletar Tarefas Agendadas +Permission23004=Executar Tarefas Agendadas +Permission2401=Ler Ações (enventos ou tarefas) Vinculado a sua Conta +Permission2402=Criar/Modificar Ações (eventos ou tarefas) Vinculado a sua Conta +Permission2403=Deletar Ações (eventos ou tarefas) Vinculado a sua Conta +Permission2411=Ler Ações (eventos ou tarefas) dos Outros +Permission2412=Criar/Modificar Ações (eventos ou tarefas) dos Outros +Permission2413=Deletar Ações (eventos ou tarefas) dos Outros +Permission2501=Ler/Baixar Documentos +Permission2502=Baixar Documentos +Permission2503=Submeter ou Deletar Documentos +Permission2515=Configurar Diretórios dos Documentos +Permission2801=Usar cliente FTP no modo leitura (somente navegador e baixar) +Permission2802=Usar cliente FTP no modo escrita (deletar ou upload de arquivos) +Permission50101=Usar Ponto de Vendas +Permission50201=Ler Transações +Permission50202=Importar Transações +Permission55001=Ler Pesquisa +Permission55002=Criar/Modificar Pesquisa Permission59001=Leia margens comerciais Permission59002=Definir margens comerciais Permission59003=Leia cada margem do usuário @@ -586,31 +710,33 @@ DictionaryUnits=Unidades DictionaryProspectStatus=Status de Prospecção DictionaryHolidayTypes=Tipo de folhas DictionaryOpportunityStatus=Status oportunidade para projeto / lead -SetupSaved=configuração guardada +SetupSaved=Configurações Salvas BackToDictionaryList=Voltar para a lista de dicionários -VATReceivedOnly=Impostos especiais não faturaveis -VATManagement=Administração ICMS -VATIsUsedDesc=o tipo de ICMS proposto por default em criações de Orçamentos, faturas, pedidos, etc. Responde e a seguinte regra:
    sim o vendedor não está sujeito a ICMS, ICMS por default -VATIsNotUsedDesc=o tipo de ICMS proposto por default é 0. Este é o caso de associações, particulares o algunas pequenhas sociedades. -VATIsUsedExampleFR=em Francia, se trata das sociedades u organismos que eligen um regime fiscal general (General simplificado o General normal), regime ao qual se declara o ICMS. -VATIsNotUsedExampleFR=em Francia, se trata de associações exentas de ICMS o sociedades, organismos o profesiones liberales que han eligedo o regime fiscal de módulos (ICMS em franquicia), pagando um ICMS em franquicia sem fazer declaração de ICMS. Esta elecção hace aparecer a anotação "IVA não aplicable - art-293B do CGI" em faturas. +VATReceivedOnly=Taxas especiais não foram cobradas +VATManagement=Gestor de ICMS +VATIsUsedDesc=Quando é criado orçamentos, faturas, pedidos, etc. A taxa de ICMS segue a regra padrão ativa:
    Se o produto não está sujeito ao ICMS, então por default=0. Fim da regra.
    Se o (país de venda=país de compra), então o ICMS por default=ICMS do produto vendido no país. Fim da regra.
    Se a venda ou a compra for na comunidade européia e os bens são transportes de produtos (carro, navio, avião), por default ICMS(vat)=0. Fim da regra.
    Se a venda ou a compra for na comunindade européia não for uma empresa, então o ICMS(vat) por default=ICMS(vat) do produto vendido. Fim da regra.
    Se a venda ou a compra for na comunidade européia e o comprador é uma empresa, então o ICMS(vat) por default=0. Fim da regra.
    Se não for nenhuma das anterios por default ICMS=0. Fim da regra. +VATIsNotUsedDesc=Por default é sugerido ICMS é 0 que é usado nos casos tipo acossiação, pessoas ou pequenas empresas. +VATIsUsedExampleFR=Na França, as empresas ou organizações tem um sistema fiscal real (simplificado real ou normal real). Um sistema no qual o ICMS(vat) é declarado. +VATIsNotUsedExampleFR=Na França, as associações que não declaram ICMS(vat) ou empresas, organizações ou profissionais liberais que tem escolhidos o sistema fiscal de micro empresas (VAT em franquia) e pago uma franquia VAT sem qualquer declaração de ICMS(vat). Está escolha será mostrado com uma refêrencia "Não Aplicado ICMS(vat) - art-293B de CGI" nas faturas. LTRate=Rata -LocalTax1IsUsed=Utilize segundo imposto -LocalTax1IsNotUsed=Não use o segundo imposto -LocalTax1IsUsedDesc=Use um segundo tipo de impostos (excepto o IVA) -LocalTax1IsNotUsedDesc=Não use outro tipo de impostos (excepto o IVA) -LocalTax2IsUsed=Use terceiro imposto -LocalTax2IsNotUsed=Não use terceiro imposto -LocalTax2IsUsedDesc=Use um terceiro tipo de impostos (excepto o VAT) -LocalTax2IsNotUsedDesc=Não use outro tipo de impostos (excepto o VAT) -LocalTax1IsUsedDescES=A taxa de RE por padrão ao criar perspectivas, notas fiscais, ordens etc seguir a regra padrão ativo:
    Se te comprador não está sujeito a RE, RP por default = 0. Fim da regra.
    Se o comprador está sujeito a RE então o RE por padrão. Fim da regra.
    -LocalTax1IsUsedExampleES=Na Espanha, eles são profissionais sujeitos a algumas seções específicas do IAE espanhol. -LocalTax1IsNotUsedExampleES=Na Espanha, eles são profissionais e sociedades e sujeito a determinadas seções do IAE espanhol. -LocalTax2ManagementES=Gestão IRPF -LocalTax2IsUsedDescES=A taxa de RE por padrão ao criar perspectivas, notas fiscais, ordens etc seguir a regra padrão ativo:
    Se o vendedor não está sujeito a IRPF, então IRPF por default = 0. Fim da regra.
    Se o vendedor é submetido a IRPF, em seguida, o IRPF por padrão. Fim da regra.
    -LocalTax2IsNotUsedDescES=Por padrão, o IRPF proposta é 0. Fim da regra. -LocalTax2IsUsedExampleES=Na Espanha, freelancers e profissionais independentes que prestam serviços e empresas que escolheram o sistema fiscal de módulos. -LocalTax2IsNotUsedExampleES=Na Espanha, eles são bussines não sujeitas ao regime fiscal dos módulos. +LocalTax1IsUsed=Utilizar segundo imposto +LocalTax1IsNotUsed=Não utilizar segundo imposto +LocalTax1IsUsedDesc=Utilizar um segundo tipo de imposto (outro que não seja ICMS) +LocalTax1IsNotUsedDesc=Não utilizar outro tipo de imposto (outro que não seja ICMS) +LocalTax2IsUsed=Utilizar terceiro imposto +LocalTax2IsNotUsed=Não utilizar terceiro imposto +LocalTax2IsUsedDesc=Utilizar um terceiro tipo de imposto (outro que não seja ICMS) +LocalTax2IsNotUsedDesc=Não utilizar outro tipo de imposto (outro que não seja ICMS) +LocalTax1ManagementES=Gestor RE +LocalTax1IsUsedDescES=Quando criado orçamentos, faturas, pedidos, etc. A taxa RE segue a regra padrão ativa:
    Se o comprador não for sujeito a RE, RE por default=0. Fim da regra.
    Se o comprador for sujeito a RE então RE por default. Fim da regra.
    +LocalTax1IsNotUsedDescES=Por default é sugerido que RE é 0. Fim da regra. +LocalTax1IsUsedExampleES=Na Espanha eles são profissionais sujeito a alguma seção especifica da IAE espanhola. +LocalTax1IsNotUsedExampleES=Na Espanha eles são proficionais e sócios e sujeito a uma certa seção da IAE espanhola. +LocalTax2ManagementES=Gestor IRPF +LocalTax2IsUsedDescES=Quando criado orçamentos, faturas, pedidos, etc. A taxa RE por default segue a regra padrão ativa:
    Se a venda não for sujeita a IRPF, então IRPF por default=0. Fim da regra.
    Se a venda é sujeita a IRPF então IRPF por default. Fim da regra.
    +LocalTax2IsNotUsedDescES=Por default é sugerido que IRPF é 0. Fim da regra. +LocalTax2IsUsedExampleES=Na Espanha, freelancers e profissionais independentes que oferecem serviços e empresas que tenham escolhidos o módulo de sistema de imposto. +LocalTax2IsNotUsedExampleES=Na Espanha eles são negócios não sujeito ao módulo de sistema de imposto. CalcLocaltax=Relatórios sobre os impostos locais CalcLocaltax1=Vendas - Compras CalcLocaltax1Desc=Relatorios de taxas locais são calculados pela differença entre taxas locais de venda e taxas locais de compra @@ -618,471 +744,579 @@ CalcLocaltax2=Compras CalcLocaltax2Desc=Relatorio de taxas locais e o total de taxas locais nas compras CalcLocaltax3=De vendas CalcLocaltax3Desc=Relatorio de taxas locais e o total de taxas locais de vendas -NbOfDays=N� de Dias +LabelUsedByDefault=Etiqueta usado por default se nenhuma tradução não for encontrado para o código =/ +LabelOnDocuments=Etiqueta no documentos +NbOfDays=Núm de Dias +Offset=Compensar(offset) AlwaysActive=Sempre Ativo -UpdateRequired=Parâmetros sistema necessita de uma atualização. Para atualizar click em aqui. +MenuUpgrade=Upgrade / Extensão +AddExtensionThemeModuleOrOther=Adicionar extensão (tema, módulo, ...) +DocumentRootServer=Diretório raiz do servidor web +DataRootServer=Diretório raiz dos dados +Port=Porta(port) +VirtualServerName=Nome virtual do servidor +PhpConf=Conf. PearPackages=pacotes Pear Browser=Navegador Server=Servidor -DatabaseServer=Hospedeiro do banco de dados -DatabaseUser=Usuário de banco de dados -DatabasePassword=Senha de banco de dados -DatabaseConfiguration=configuração da base de dados -NbOfRecord=N� Reg. -ConstraintsToShowOrNotEntry=Constrangimento para mostrar não menu de entrada -SummarySystem=Resumo da informação de sistemas ERP -SummaryConst=Lista de todos os parâmetros de configuração dolibarr +Database=Banco de Dados +DatabaseServer=Hospedeiro do Banco de Dados +DatabaseName=Nome do Banco de Dados +DatabasePort=Porta do Banco de Dados +DatabaseUser=Usuário do Banco de Dados +DatabasePassword=Senha do Banco de Dados +DatabaseConfiguration=Conf. do Banco de Dados +TableName=Nome de Tabela +TableLineFormat=Formato de linha +NbOfRecord=Núm de gravações +Constraints=Restrições +ConstraintsType=Tipos de Restrições +ConstraintsToShowOrNotEntry=Restrições para mostrar ou não na entrada de menu +AllMustBeOk=Todos esses devem ser checadas +DriverType=Tipo de Driver +SummarySystem=Resumo de informações do sistema +SummaryConst=Lista de todos os parâmetros de configurações do Dolibarr SystemUpdate=Atualização do sistema -SystemSuccessfulyUpdate=a sua sistema atualizou-se corretamente +SystemSuccessfulyUpdate=Seu sistema foi atualizado com sucesso =) +MenuCompanySetup=Empresa MenuNewUser=Novo Usuário -MenuTopManager=Administração do menu superior -MenuLeftManager=Administração do menu esquerdo -MenuManager=Administração do menu -DefaultMenuTopManager=Administração do menu superior -DefaultMenuLeftManager=Administração do menu esquerdo +MenuTopManager=Gestor do menu superior +MenuLeftManager=Gestor do menu esquerdo +MenuManager=Gestor do Menu +MenuSmartphoneManager=Gestor do menu de smartphone +DefaultMenuTopManager=Gestor do menu superior +DefaultMenuLeftManager=Gestor do menu esquerdo +DefaultMenuManager=Gestor padrão de menu +DefaultMenuSmartphoneManager=Gestor do menu de smartphone Skin=Tema Visual -DefaultSkin=Tema visual por default -MaxSizeList=Longuitude máxima de listados -DefaultMaxSizeList=Longuitude máxima de listados por default -DefaultLanguage=Idioma por default a utilizar (código idioma) -EnableMultilangInterface=Ativar interface Multi Idioma -EnableShowLogo=Mostrar logotipo no menu à esquerda +DefaultSkin=Tema visual default +MaxSizeList=Comprimento máximo de lista +DefaultMaxSizeList=Comprimento máximo de lista default +MessageOfDay=Mensagem do dia +MessageLogin=Mensagem da página de login +PermanentLeftSearchForm=Formulário permanente de pesquisa no menu esquerdo +DefaultLanguage=Língua default utilizada (língua do código) +EnableMultilangInterface=Habilitar interface multilíngua +EnableShowLogo=Mostra logo no menu esquerdo EnableHtml5=Ativar Html5 (Desenvolvimento - Apenas disponível no modelo Eldy) -SystemSuccessfulyUpdated=a sua sitema está atualizado +SystemSuccessfulyUpdated=Seu sistema foi atualizado com sucesso =) +CompanyInfo=Informação da empresa +CompanyIds=Identificação da empresa +CompanyName=Nome +CompanyAddress=Endereço +CompanyZip=CEP CompanyTown=Município CompanyObject=Objeto da empresa -Logo=Logotipo -DoNotSuggestPaymentMode=Não sugerenciar -NoActiveBankAccountDefined=Nenhuma conta bancaria ativa definida -BankModuleNotActive=O módulo de contas bancarias não se encontra ativado -ShowBugTrackLink=Mostrar link "%s" -DelayBeforeWarning=Prazo antes de alerta -DelaysBeforeWarning=Prazos antes de alerta -DelaysOfToleranceBeforeWarning=Prazos de tolerância antes de alerta -DelaysOfToleranceDesc=Esta janela permite que você defina os prazos de tolerância antes que um alerta seja reportado na tela com o símbolo %s para cada elemento de atraso. -Delays_MAIN_DELAY_ACTIONS_TODO=Atraso de tolerância (em dias) antes de alerta sobre eventos planejados ainda não realizados -Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Atraso de tolerância (em dias) antes de alerta sobre encomendas ainda não processados -Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Atraso de tolerância (em dias) antes de alerta sobre fornecedores encomendas ainda não processados -Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Atraso de tolerância (em dias) antes de alerta sobre as propostas para fechar -Delays_MAIN_DELAY_PROPALS_TO_BILL=Atraso de tolerância (em dias) antes de alerta sobre as propostas não faturados -Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Tolerância de atraso (em dias) antes de alerta sobre serviços para ativar -Delays_MAIN_DELAY_RUNNING_SERVICES=Tolerância de atraso (em dias) antes de alerta sobre serviços expirados -Delays_MAIN_DELAY_SUPPLIER_BILLS_TO_PAY=Tolerância de atraso (em dias) antes de alerta em faturas de fornecedores não pagas -Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED=Tolerância de atraso (em dias) antes de alerta nas faturas dos clientes não remunerados -Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Tolerância de atraso (em dias) antes de alerta sobre pendente reconciliação bancária -Delays_MAIN_DELAY_MEMBERS=Tolerância de atraso (em dias) antes de alerta sobre taxa de adesão adiada -Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Tolerância de atraso (em dias) antes de alerta para cheques depósito para fazer -SetupDescription1=Todas as opções desta área de configuração são opções que permitem configurar a Dolibarr antes de começar a sua utilização. -SetupDescription2=Os 2 Passos indispensáveis da configuração são as 2 primeiras do menu esquerdo: a configuração da empresa/Instituição e a configuração dos módulos: -SetupDescription4=A configuração Módulos é indispensável já que Dolibarr não é um ERP/CRM monolítico, é um conjunto de módulos mais ou menos independente. Depois de ativar os módulos que lhe interessem verificar as suas funcionalidades nos menus de Dolibarr. -SetupDescription5=Outros itens do menu gerenciar parâmetros opcionais. +NoActiveBankAccountDefined=Nenhuma conta bancária ativa está definida +OwnerOfBankAccount=Titular da conta bancária %s +BankModuleNotActive=O módulo de contas bancárias não está habilitado +ShowBugTrackLink=Mostrar link "Reportar bug" +ShowWorkBoard=Mostrar "workbench" na homepage +Delays=Atrasos +DelayBeforeWarning=prazo antes do aviso +DelaysBeforeWarning=prazo antes do aviso +DelaysOfToleranceBeforeWarning=Prazos de tolerância antes do aviso +DelaysOfToleranceDesc=Esta janela permite definir os prazos de tolerância antes que o aviso é reportado na tela com o símbolo %s, sobre cada elemento em atraso. +Delays_MAIN_DELAY_ACTIONS_TODO=Prazo de tolerância (em dias) antes do aviso nos eventos planejados que ainda não foram realizados +Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Prazo de tolerância (em dias) antes do aviso nos pedidos que ainda não foram processados +Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Prazo de tolerância (em dias) antes do aviso nos pedidos para fornecedores que ainda não foram processados +Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Prazo de tolerância (em dias) antes do aviso nos orçamentos que não foram fechados +Delays_MAIN_DELAY_PROPALS_TO_BILL=prazo de tolerância (em dias) antes do aviso nos orçamentos não faturadas +Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Prazo de tolerância (em dias) antes do aviso nos serviços para ativar +Delays_MAIN_DELAY_RUNNING_SERVICES=Prazo de tolerância (em dias) antes do aviso nos serviços expirados +Delays_MAIN_DELAY_SUPPLIER_BILLS_TO_PAY=Prazo de tolerância (em dias) antes do aviso para faturas de fornecedores não paga +Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED=Prazo de tolerância (em dias) antes do aviso para faturas de clientes não paga +Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Prazo de tolerância (em dias) antes do aviso para reconciliação pendente no banco +Delays_MAIN_DELAY_MEMBERS=Prazo de tolerância (em dias) antes do aviso do atraso da taxa de afiliação +Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Prazo de tolerância (em dias) antes do aviso de fazer depósitos de cheques +SetupDescription1=Todos os parâmetros são avaliados na área de configuração permitindo você configurar o Dolibarr antes de começa-lo a usá-lo. +SetupDescription2=Existe duas etapas de configurações importantes, a primeira é no menu esquerdo a configuração da página da Empresa, a segunda é a página de configuração dos módulos: +SetupDescription3=Parâmetros no menu Configuração->Empresa são requeridos porque as informações serão utilizadas pelo Dolibarr (Muito importante para o funcionamento do Dolibarr). +SetupDescription4=Parâmetros no menu Configuração->Módulos São requeridos porque o Dolibarr não é um sistema fixo e sim modular necessitando a ativação dos módulos que atendam a sua necessidade. Após a ativação do módulo as funções irão aparecer no menu. +SetupDescription5=Outros menu precisa entrar com parâmetros opcionais do gestor. +EventsSetup=Conf. dos logs de eventos +LogEvents=Auditoría de segurança dos eventos +InfoDolibarr=Informações Dolibarr InfoBrowser=Infos Navegador -InfoOS=Informações do sistema operacional -InfoWebServer=Informações do Web Server -InfoDatabase=Informações da base de dados -InfoPHP=Informações do PHP +InfoOS=Informações OS +InfoWebServer=Informações servidor web +InfoDatabase=Informações banco de dados +InfoPHP=Informações PHP +InfoPerf=Informações de performasses BrowserName=Nome do navegador BrowserOS=Navegador OS -ListOfSecurityEvents=Listado de eventos de segurança Dolibarr -SecurityEventsPurged=Os eventos de segurança expurgados -LogEventDesc=Pode ativar o registo de eventos de segurança Dolibarr aqui. os administradores podem ver o seu conteúdo a travé de menu ferramentas do sistema - Auditoria.Atenção, esta característica pode consumir uma gran quantidade de dados na base de dados. -AreaForAdminOnly=Apenas usuários administradores podem usar os recursos. -SystemInfoDesc=Esta informação do sistema é informação técnica acessíveis só de leitura a aos administradores. -SystemAreaForAdminOnly=Esta área só é acessíveis a os Usuários de tipo administradores. nenhum permissão Dolibarr permite extender o círculo de Usuários autorizados a esta áera. -CompanyFundationDesc=Editar nesta página toda a informação conhecida sobre a empresa o associação a administrar -DisplayDesc=pode encontrar aqui todos os parâmetros relacionados com a aparência de Dolibarr +ListOfSecurityEvents=Lista de eventos de segurança do Dolibarr +SecurityEventsPurged=Eventos de segurança foram purgados(apagados) +LogEventDesc=Você pode habilitar aqui os logging para os eventos de segurança do Dolibarr. Administradores podem ver o conteúdo via menu Ferramentas do Sistema - Auditar. Aviso, essa função pode consumir uma grande quantidade de dados no banco de dados. +AreaForAdminOnly=Essas funções podem ser usadas somente por Usuários Administrativos. +SystemInfoDesc=Informações do sistema está faltando informações, técnicas você consegue em modo de leitura e é visivel somente para administradores. +SystemAreaForAdminOnly=Essa área é dísponivel apenas para administradores. Ninguém do Dolibarr pode diminuir essas permissões. +CompanyFundationDesc=Editar nesta página todas as informações da empresa que você necessita para gerencia-la. (Para isso, clique no no botão "Modifique") +DisplayDesc=Você pode escolher cada parâmetro relacionado com a aparência do Dolibarr e testar aqui AvailableModules=Módulos disponíveis -ToActivateModule=Para ativar os módulos, ir à área de configuração. -SessionTimeOut=Tempo Esgotado para a sessão -SessionExplanation=Asegura que o período de sessões não expirará antes deste momento. sem embargo, a Administração do período de sessões de PHP não garantiza que o período de sessões expira depois deste período: Este será o caso sim um sistema de limpieza do caché de sessões é ativo.
    Nota: sem mecanismo especial, o mecanismo interno para limpiar o período de sessões de PHP todos os acessos %s/%s, mas só em torno à acesso de Outros períodos de sessões. -TriggersAvailable=Triggers disponíveis -TriggersDesc=os triggers são Arquivos que, une vez depositados na pasta htdocs/core/triggers, modifican o comportamento do workflow de Dolibarr. Realizan ações suplementarias, desencadenadas por os eventos Dolibarr (criação de empresa, validação fatura, fechar contrato, etc). -TriggerDisabledByName=Triggers deste Arquivo desativador por o sufijo -NORUN ao Nome do Arquivo. -TriggerDisabledAsModuleDisabled=Triggers deste Arquivo desativados já que o módulo %s não está ativado. -TriggerAlwaysActive=Triggers deste Arquivo sempre ativos, já que os módulos Dolibarr relacionados estão ativados -TriggerActiveAsModuleActive=Triggers deste Arquivo ativos já que o módulo %s está ativado -GeneratedPasswordDesc=Indique aqui que norma quer utilizar para Gerar as Senhas quando queira Gerar uma Nova senha +ToActivateModule=Para ativar os módulos, vá à área de configuração (Home->Configuração->Módulo). +SessionTimeOut=Expiro tempo de sessão +SessionExplanation=Esse número garante que a sessão nunca irá expirar antes desse tempo de atraso, se o session cleaner for feito pelo Internal PHP session cleaner (e nada mais). O Internal PHP session cleaner não garante que irá expirar nesse tempo de atraso. Ele vai expirar, depois desse tempo de atraso, e quando o session cleaner está na RAM, então cada %s/%s acesso, mas somente durante o acesso feito pelos outros usuários.
    Nota: em alguns servidores com mecanismo de "external session cleaning" (cron no Debian, Ubuntu ...), a sessão pode ser perdida depois desse periodo definido por default session.gc_maxlifetime, não importando importando o valor entrado aqui. +TriggersAvailable=Triggers disponível +TriggersDesc=Triggers são arquivos que modificam o comportamento do Dolibarr fluxo de trabalho uma vez copiado dentro do diretório htdocs/core/triggers. Eles realizam novas ações, ativado em eventos do Dolibarr (criar nova empresa, validação de fatura, ...). +TriggerDisabledByName=Triggers neste arquivo estão desativados pelo sufixo -NORUN em seu nome. +TriggerDisabledAsModuleDisabled=Triggers neste arquivo está desabilitado assim como o módulo %s está desabilitado. +TriggerAlwaysActive=Triggers neste arquivo está sempre ativo, não importando os módulos ativos no Dolibarr. +TriggerActiveAsModuleActive=Triggers neste arquivo são ativos quando módulo %s está ativado. +GeneratedPasswordDesc=Defina aqui qual regra você deseja para gerar uma nova senha se você perguntar para ter uma geração automática de senhas DictionaryDesc=Defina aqui todas datas de referência. Você pode completar o valor pré-definido com o seu. -ConstDesc=qualquer outro parâmetro não editável em páginas anteriores -OnceSetupFinishedCreateUsers=Atenção, está baixo de uma conta de administrador de Dolibarr. os administradores se utilizam para configurar a Dolibarr. Para um uso corrente de Dolibarr, recomenda-se utilizar uma conta não administrador criada a partir do menu "Usuários e grupos" -MiscellaneousDesc=Defina aqui os Outros parâmetros relacionados com a segurança. -LimitsSetup=configuração de limites e precisões -LimitsDesc=pode definir aqui os limites e precisões utilizados por Dolibarr -MAIN_MAX_DECIMALS_UNIT=Casas decimais máximas para os preços unitários -MAIN_MAX_DECIMALS_TOT=Casas decimais máximas para os preços totais -MAIN_MAX_DECIMALS_SHOWN=Casas decimais máximas para os valores mostrados em janela (Colocar ... depois do máximo quer ver ... quando o número se trunque à mostrar em janela) -MAIN_DISABLE_PDF_COMPRESSION=Utilizar a compressão PDF para os Arquivos PDF gerados -MAIN_ROUNDING_RULE_TOT=Passo do intervalo de arredondamento (para os países onde o arredondamento é feito em outra coisa do que a base 10. Por exemplo, colocar 0,05 se o arredondamento é feito por etapas 0,05) -UnitPriceOfProduct=Preço líquido unitário de um produto -TotalPriceAfterRounding=Preço total (imposto net / cuba / manhã) após arredondamento -ParameterActiveForNextInputOnly=parâmetro efetivo somente a partir das próximas sessões -NoEventOrNoAuditSetup=não são registrado eventos de segurança. Esto pode ser normal sim a auditoría não ha sido habilitado na página "configuração->segurança->auditoría". -NoEventFoundWithCriteria=não são encontrado eventos de segurança para tais criterios de pesquisa. -BackupDesc=Para realizar uma Cópia de segurança completa de Dolibarr, voçê deve: -BackupDesc3=Salvar o conteúdo de seu banco de dados (%s) em um arquivo de despejo. Para isso, você pode usar o seguinte assistente. -BackupDescX=O Arquivo gerado deverá localizar-se em um lugar seguro. -BackupDescY=O arquivo gerado devevrá ser colocado em local seguro. -BackupPHPWarning=Backup não pode ser garantida com este método. Prefere uma anterior -RestoreDesc=Para restaurar uma Cópia de segurança de Dolibarr, voçê deve: -RestoreDesc2=Restaurar arquivo (arquivo zip por exemplo) do diretório de documentos para extrair árvore de arquivos no diretório de documentos de uma nova instalação ou em Dolibarr esta corrente documentos directoy (% s). -RestoreDesc3=Restaurar os dados, a partir de um arquivo de despejo de backup, na base de dados da nova instalação Dolibarr ou no banco de dados desta instalação atual (%s). Atenção, uma vez que a restauração for concluída, você deve usar um login / senha, que existia quando o backup foi feito, se conectar novamente. Para restaurar um banco de dados de backup para esta instalação atual, você pode seguir este assistente. -RestoreMySQL=importar do MySQL -ForcedToByAModule=Esta regra é forçado a por um módulo ativado -PreviousDumpFiles=Arquivos de despejo de backup de banco de dados disponível -RunningUpdateProcessMayBeRequired=A execução do processo de atualização parece ser exigido (Programas versão difere da versão do banco de dado) -YouMustRunCommandFromCommandLineAfterLoginToUser=Você deve executar este comando a partir da linha de comando após o login a um shell com o usuário ou você deve adicionar-W opção no final da linha de comando para fornece a senha. -YourPHPDoesNotHaveSSLSupport=Funções SSL não disponíveis no seu PHP +ConstDesc=Está página permite editar todos os outros parâmetros que não estão disponíveis nas páginas anteriores. Esses parâmetros estão reservados para desenvolvedores avançados ou para solução de problemas. +OnceSetupFinishedCreateUsers=Aviso, voce é um usuário administrador do Dolibarr. Usuários administradores são usados para configurar o Dolibarr. Para o uso comum do Dolibarr, é recomendado utilizar um usuário não administrador criado no menu Usuários & Grupos de Usuários. +MiscellaneousDesc=Defina aqui todos os outros parâmetros relacionado com a segurança. +LimitsSetup=Configurações de Limites/Precisões +LimitsDesc=Você pode definir limites, precisões e otimizações utilizadas pelo Dolibarr aqui +MAIN_MAX_DECIMALS_UNIT=Máxima casas decimais para preços unitários +MAIN_MAX_DECIMALS_TOT=Máxima casas decimais para preços totais +MAIN_MAX_DECIMALS_SHOWN=Máxima casas decimais para preços mostrado na tela (adicionar ... depois desse número se você deseja ver ... quando um número é truncado quando mostrado na tela) +MAIN_DISABLE_PDF_COMPRESSION=Utilizar compressão no PDF para gerar arquivos em PDF. +MAIN_ROUNDING_RULE_TOT=Tamanho da faixa de arredontamento (para países raros quando o arredontamento é feito alguma coisa na base 10) +UnitPriceOfProduct=Unidade líquida do preço do produto +TotalPriceAfterRounding=Preço Total (Líquido,ICMS,taxa local) depois do arredontamento +ParameterActiveForNextInputOnly=Parâmetro efetivo somente para a próxima entrada +NoEventOrNoAuditSetup=Nenhum evento de segurança foi gravado ainda. Isso pode ser normal de o auditar não foi ativado na página "Conf. - Segurança - Auditar" +NoEventFoundWithCriteria=Nenhum evento de segurança foi achado pelos critérios de pesquisa. +SeeLocalSendMailSetup=Ver sua configuração local de envio de correspondência +BackupDesc=Para fazer um backup completo do Dolibarr, você deve: +BackupDesc2=* Salvar os documentos do diretório (%s) que contém todos os arquivos uploaded e arquivos gerados (Você pode criar um arquivo zipado por exemplo). +BackupDesc3=* Salvar o banco de dados em um arquivo de despejo. Para isso, você pode seguir o assistente. +BackupDescX=O diretório do arquivo deverá ser armazenado em um local seguro. +BackupDescY=O arquivo de despeja gerado deverá ser armazenado em um local seguro. +BackupPHPWarning=O backup não pode ser garantido por esse método. Prefira o anterior +RestoreDesc=Para restaurar o backup Dolibarr, você deve: +RestoreDesc2=* Restaurar o arquivo de backup (zipado) no diretório dos documentos, para extrair a arvore de arquivos no diretório do documento da nova instalação do Dolibarr ou dentro do atual diretório dos documentos (%s). +RestoreDesc3=* Restaurar os dados de backup do arquivo de despejo, para dentro do banco de dados da nova instalação do Dolibarr ou para dentro da atual instalação. Aviso, uma vez a restauração completa, você deve usar o login/senha, que existia quando o backup foi feito, para conectar denovo. Para restaurar o backup do banco de dados para dentro da atual instalação, você pode seguir esse assistente. +RestoreMySQL=Importar MySQL +ForcedToByAModule=Essa Regra é forçada para %s by um módulo ativado +PreviousDumpFiles=Disponível banco de dados de backup dos arquivos de despejo +RunningUpdateProcessMayBeRequired=Rodando o processo de upgrade parece ser requerido (Versão dos programas %s é diferente da versão do banco de dados %s) +YouMustRunCommandFromCommandLineAfterLoginToUser=Você deve rodar esse comando na linha de comando (CLI) depois de logar no shell com o usuário %s ou você deve adicionar a opção -W no final da linha de comando para fornecer a senha %s. +YourPHPDoesNotHaveSSLSupport=Função SSL functions não está disponível no seu PHP DownloadMoreSkins=Mais skins para baixar -SimpleNumRefModelDesc=Retorna o número de referência com o formato% syymm-nnnn, onde aa é o ano, mm é o mês e nnnn é uma sequência sem buracos e sem reinicialização -ShowProfIdInAddress=Mostrar ID profissional com endereços em documentos -ShowVATIntaInAddress=Esconder VAT Intra número com endereços em documentos +SimpleNumRefModelDesc=Retorna o número de referênciaReturns com o formato %syymm-nnnn onde yy é o ano, mm é o mês é nnnn é a sequencia sem buraco e sem reset +ShowProfIdInAddress=Mostrar id proficional com endereço no documento +ShowVATIntaInAddress=Esconder ICMS dentro num com endereços no documento TranslationUncomplete=Tradução parcial -SomeTranslationAreUncomplete=Alguns idiomas podem ser parcialmente traduzido ou pode conter erros. Se detectar alguma, você pode corrigir arquivos de idioma registrando a http://transifex.com/projects/p/dolibarr/ . -MenuUseLayout=Faça cardápio compativel vertical (opção javascript não deve ser desativado) -MAIN_DISABLE_METEO=Desativar vista meteo -TestLoginToAPI=Testar Acesso ao API -ProxyDesc=Algumas características do Dolibarr precisa ter um acesso à Internet ao trabalho. Defina aqui os parâmetros para isso. Se o servidor Dolibarr está atrás de um servidor proxy, esses parâmetros diz Dolibarr como acessar Internet através dele. -MAIN_PROXY_USE=Usar um servidor proxy (caso contrário, o acesso direto a internet) -MAIN_PROXY_HOST=Nome / Endereço do servidor proxy -MAIN_PROXY_PORT=Porto de servidor proxy -MAIN_PROXY_USER=Entre para usar o servidor proxy -DefineHereComplementaryAttributes=Defina aqui todos os atributos, não já disponíveis por padrão, e que pretende ser apoiada por. +SomeTranslationAreUncomplete=Algumas línguas pode ter sido parcialmente traduzida ou conter erros. Se você detectar algum, você pode corrigir .lang nos arquivos de texto no diretório htdocs/langs e submeter ele no fórum no http://www.dolibarr.org. +MenuUseLayout=Faça o vertical menu escondido (opção do javascript não pode estar desativada) +MAIN_DISABLE_METEO=Desativar visualização meteo +TestLoginToAPI=Teste de login para API +ProxyDesc=Algumas funções do Dolibarr precisam ter acesso a internet para funcionar. Defina esses parâmetros aqui. se o servidor Dolibarr esta atrás de um servidor de proxy, esses parâmetros falam pro Dolibarr como acessar a internet através disso. +MAIN_PROXY_USE=Use um servidor de proxy (caso contrário acesso direto a internet) +MAIN_PROXY_HOST=Nome/Endereço do servidor de proxy +MAIN_PROXY_PORT=Porta do servidor de proxy +MAIN_PROXY_USER=Login para usar no servidor de proxy +MAIN_PROXY_PASS=Senha para usar no servidor de proxy +DefineHereComplementaryAttributes=Defina aqui todos os atributos, não disponível por default, e que você quer que seja suportado por %s. ExtraFieldsSupplierOrdersLines=Atributos complementares (linhas de encomenda) ExtraFieldsSupplierInvoicesLines=Atributos complementares (linhas da fatura) -ExtraFieldsThirdParties=Atributos complementares (clientes) -ExtraFieldsContacts=Atributos complementares (contato / endereço) +ExtraFieldsThirdParties=Atributos complementares (terceiros) +ExtraFieldsContacts=Atributos complementares (contato/endereço) +ExtraFieldsMember=Atributos complementares (membros) ExtraFieldsCustomerOrders=Atributos complementares (ordens) -ExtraFieldsSupplierOrders=Atributos complementares (ordens) -ExtraFieldHasWrongValue=Atributo% s tem um valor errado. -AlphaNumOnlyCharsAndNoSpace=apenas alfanuméricos caracteres sem espaço +ExtraFieldsSupplierOrders=Atributos complementares (pedidos) +ExtraFieldHasWrongValue=Atributo %s tem um valor errado. +AlphaNumOnlyCharsAndNoSpace=somente caracteres alfanuméricos sem espaço AlphaNumOnlyLowerCharsAndNoSpace=apenas alfanumérico e minúsculas, sem espaço -SendingMailSetup=Configuração de envios por e-mail -SendmailOptionNotComplete=Atenção, em alguns sistemas Linux, para enviar e-mail de seu e-mail, sendmail instalação execução must contém opção-ba (mail.force_extra_parameters parâmetros no seu arquivo php.ini). Se alguns destinatários não receber e-mails, tentar editar este parâmetro PHP com mail.force_extra_parameters =-ba). -PathToDocuments=Rotas de acesso a documentos -SendmailOptionMayHurtBuggedMTA=Recurso para enviar mails usando o método de "correio PHP direto" irá gerar uma mensagem de email que pode não ser corretamente analisado por alguns servidores de entrada de email. O resultado é que alguns e-mails não podem ser lidos por pessoas hospedadas por essas plataformas grampeado. É o caso para alguns provedores de Internet (Ex: Laranja na França). Este não é um problema em Dolibarr nem em PHP, mas para receber servidor de correio. No entanto, pode adicionar a opção MAIN_FIX_FOR_BUGGED_MTA a 1 na configuração - outra para modificar Dolibarr para evitar isso. No entanto, você pode enfrentar problema com outros servidores que respeitem estritamente o padrão SMTP. A outra solução (recomendado) é usar o método de "biblioteca soquete SMTP" que não tem desvantagens. -TranslationSetup=Configuração de tradução -TranslationDesc=Escolha da língua visível na tela pode ser modificado: * A nível mundial a partir do menu strong Home - Setup - Exibição* Para o usuário apenas de guia de exibição do usuário de cartão de usuário (clique sobre o login no topo da tela). -TotalNumberOfActivatedModules=Número total de módulos de recursos ativados: -YouMustEnableOneModule=Você deve, pelo menos, permitir que um módulo -ClassNotFoundIntoPathWarning=A classe não foi encontrado em caminho PHP -OnlyFollowingModulesAreOpenedToExternalUsers=Note-se, os módulos seguintes são abertos a usuários externos (o que quer que são permissão desses usuários): -SuhosinSessionEncrypt=Armazenamento de sessão criptografada pelo Suhosin -ConditionIsCurrently=Condição é atualmente -YouUseBestDriver=Você usa o driverque é o melhor driver disponível atualmente. -YouDoNotUseBestDriver=Você usa drive mas recomendado. -NbOfProductIsLowerThanNoPb=Você tem produtos / serviços somente no banco de dados. Isso não exigida qualquer otimização particular. -SearchOptim=Pesquisa otimização -YouHaveXProductUseSearchOptim=Você tem produto no banco de dados. Você deve adicionar o PRODUCT_DONOTSEARCH_ANYWHERE constante a 1 em Home-Setup-Outros, você limitar a pesquisa ao início de cordas que fazem possível para banco de dados para usar o índice e você deve obter uma resposta imediata. -BrowserIsOK=Você está usando o navegador. Este navegador é ok para segurança e desempenho. -BrowserIsKO=Você está usando o navegador web% s. Este navegador é conhecido por ser uma má escolha para a segurança, desempenho e confiabilidade. Aconselhamos que você use o Firefox, Chrome, Opera ou Safari. +SendingMailSetup=Configurações de envios por email +SendmailOptionNotComplete=Aviso, em alguns sistemas Linux, para enviar email para seu email, sendmail executa a configuração que deve conter opção -ba (parâmetro mail.force_extra_parameters dentro do seu arquivo php.ini). Se algum destinatário não receber emails, tente editar esse parâmetro PHP com mail.force_extra_parameters = -ba). +PathToDocuments=Caminho para documentos +PathDirectory=Diretório +SendmailOptionMayHurtBuggedMTA=Função para envios de correspondência usando o método "PHP mail direct" irá gerar uma mensagem na correspondência que pode não estar corretamente analisada por algum servidor de recepção de correspondência. Resultando que essa correspondência não pode ser lida pela pessoa hostiada por essa plataforma bugada. É caso de alguns provedores de internet (Ex: Orange na França). Isso não é um problema para o Dolibarr nem dentro PHP mas para servidor receptor de correspondência. Você pode contudo adicionar a opção MAIN_FIX_FOR_BUGGED_MTA para 1 dentro da configuração, outra modificação do Dolibarr para evitar isso. Contudo você pode sofrer problemas com outros servidores que respeitão estritamente os padrões SMTP. A outra solução (RECOMENDADA) é usar o método "SMTP socket library" que não tem desvantagens. +TranslationSetup=Configurações de tradução +TranslationDesc=Escolha a língua visivel na sua tela que pode ser modificada:
    * Global no menu Home->Configuração->Aparência
    * Para somente usuário pela tab Aparência de usuário no cartão do usuário (clique no login no topo da tela). +TotalNumberOfActivatedModules=Número total de funções do módulo: %s +YouMustEnableOneModule=Você pelo menos deve ativar 1 módulo +ClassNotFoundIntoPathWarning=Classe %s não achado dentro o caminho PHP +YesInSummer=Sim em verão +OnlyFollowingModulesAreOpenedToExternalUsers=Note, somente seguintes módulos é aberto para usuários externos (qualquer que seja as permissões de tal usuário): +SuhosinSessionEncrypt=Sessão armazenada criptografada pelo Suhosin +ConditionIsCurrently=Condição é atualmente %s +YouUseBestDriver=Você usa o driver %s que é o melhor driver disponível atualmente. +YouDoNotUseBestDriver=Você usa o driver %s mas o driver %s é o mais recomendado. +NbOfProductIsLowerThanNoPb=Você tem somente %s produtos/serviços no seu banco de dados. Isso não requer qualquer particular otimização. +SearchOptim=Procurar Otimização +YouHaveXProductUseSearchOptim=Você tem %s produtos dentro do banco de dados. Você deveria adicionar a constante PRODUCT_DONOTSEARCH_ANYWHERE para 1 em Home->Configuração->Outros, seu limite para a procura começar na strings fazendo possível para o banco de dados usar o index e você deveria receber uma resposta imediata. +BrowserIsOK=Você está usando o navegador %s. Esse navegador está OK com a segurança e performa. +BrowserIsKO=Você está usando o navegador %s. Esse navegador é uma péssima escolha para segurança, performa e confiabilidade. Nós recomendandos usar Firefox, Chrome, Opera ou Safari. XDebugInstalled=XDebug é carregado. XCacheInstalled=XCache é carregado. -FieldEdition=Edição de campo -FixTZ=Correção de fuso horário -FillThisOnlyIfRequired=Exemplo: 2 (preencher somente se deslocamento de fuso horário problemas são experientes) +AddRefInList=Aparência cliente/fornecedor ref dentro da lista (escolha a lista ou combobox) e mais o hyperlink +FixTZ=Consertar TimeZone +FillThisOnlyIfRequired=Exemplo: +2 (Preencha somente se compensar o problema do timezone é experiente) EmptyNumRefModelDesc=O código é livre. Este código pode ser modificado a qualquer momento. -PasswordGenerationStandard=Devolve uma senha generada por o algoritmo interno Dolibarr: 8 caracteres, números e caracteres em minúsculas mescladas. -PasswordGenerationNone=não oferece Senhas. a senha se introduce manualmente. -UserGroupSetup=Configuração Módulo Usuários e Grupos -GeneratePassword=Propor uma senha generada -RuleForGeneratedPasswords=Norma para a geração das Senhas Propostas -DoNotSuggest=não propor -EncryptedPasswordInDatabase=Permitir encriptação das Senhas na base de dados -DisableForgetPasswordLinkOnLogonPage=não mostrar o link "senha esquecida" na página de login -UsersSetup=Configuração do módulo Usuários -UserMailRequired=EMail necessário para criar um novo usuário -CompanySetup=configuração do módulo empresas -CompanyCodeChecker=Módulo de geração e control dos códigos de Fornecedores (clientes/Fornecedores) -AccountCodeManager=Módulo de geração dos códigos contabíls (clientes/Fornecedores) -ModuleCompanyCodeAquarium=Devolve um código contabíl composto de %s seguido do código Fornecedor de provedor para o código contabíl de provedor, e %s seguido do código Fornecedor de cliente para o código contabíl de cliente. -ModuleCompanyCodePanicum=Devolve um código contabíl vazio. -ModuleCompanyCodeDigitaria=Devolve um código contabíl composto seguindo o código de Fornecedor. o código está formado por caracter0 ' C ' em primeiroa posição seguido dos 5 primeiroos caracteres do código Fornecedor. -NotificationsDesc=E-mails notificações este recurso permite que você envie e-mail automático silenciosamente, para alguns eventos Dolibarr. Alvos de notificações podem ser definidos:
    * Por terceiros contatos (clientes ou fornecedores), um contato de tempo.
    * Ou definindo endereços de e-mail alvo globais na página de configuração do módulo. -ModelModules=Modelos de documentos -DocumentModelOdt=Gere documentos a partir de modelos OpenDocuments (. ODT ou. Arquivos ODS para OpenOffice, KOffice, TextEdit, ...) -WatermarkOnDraft=Marca d'água sobre o projeto de documento +PasswordGenerationStandard=Retorna uma senha gerara de acordo com o algorítimo interno do Dolibarr: 8 caracteres contendo números e letras em letras minusculas. +PasswordGenerationNone=Não sugerir senha ou gerar senha. Senha deve ser digitada manualmente. +UserGroupSetup=Configurações do módulo de usuários e grupos +GeneratePassword=Sugerir uma senha gerada +RuleForGeneratedPasswords=Regra para sugerir uma senha gerada ou validação de senha +DoNotSuggest=Não sugerir senha +EncryptedPasswordInDatabase=Permitir criptografar a senha no banco de dados +DisableForgetPasswordLinkOnLogonPage=Não mostrar o link "Esqueceu a senha" na página de login +UsersSetup=Configurações de módulo de usuários +UserMailRequired=EMail é necessário para criação de um novo usuário +CompanySetup=Configurações de módulo das empresas +CompanyCodeChecker=Módulo de geração e verificação de códigos de terceiros (cliente ou fornecedor) +AccountCodeManager=Módulo de geração de códigos de contabilidade (clientes ou fornecedores) +ModuleCompanyCodeAquarium=Retorna código de contabilidade construido por:
    %s seguido pelo código do fornecedor terceiro pelo código de contabilidade do fornecedor,
    %s seguido pelo código do cliente terceiro pelo código de contabilidade do cliente. +ModuleCompanyCodePanicum=Retorna um código de contabilidade vazio. +ModuleCompanyCodeDigitaria=Código de contabilidade depende do código do terceiro. O Código é composto pelo caractere "C" na primeira posição seguido pelos 5 primeiros caracteres do código do terceiro. +NotificationsDesc=Função de notificação por email permite você enviar silenciosamente emails automáticos, em alguns eventos do Dolibarr, terceiros (clientes ou fornecedores) que é configurado para o mesmo. Escolher em ativar notificações e alvos a contatar é feito no tempo do terceiro. +ModelModules=Templates de documentos +DocumentModelOdt=Gerar documentos dos templates livres (Arquivos .ODT ou .ODS do libreoffice, KOffice, TextEdit, ...) +WatermarkOnDraft=Marca d'água no documento de rascuno JSOnPaimentBill=Ative a função de preenchimento automático de linhas no formulário de pagamento -CompanyIdProfChecker=Regras sobre profissional Ids -MustBeMandatory=Obrigatório para criar terceiros? -MustBeInvoiceMandatory=Obrigatório para validar faturas? -WebCalSetup=configuração de link com o calendário Webcalendar -WebCalSyncro=Integrar os eventos Dolibarr em WebCalendar -WebCalYesByDefault=Consultar (sim por default) -WebCalNoByDefault=Consultar (não por default) -WebCalURL=endereço (URL) de acesso ao calendário -WebCalServer=Servidor da base de dados do calendário -WebCalUser=Usuário com acesso e a base -WebCalSetupSaved=os dados de link são guardado corretamente. -WebCalTestOk=A ligação ao servidor no banco de dados com o usuário de sucesso. -WebCalTestKo1=a login à servidor '%s' ha sido satisfactoria, mas a base '%s' não se ha podido comTeste. -WebCalTestKo2=a login à servidor '%s' por o Usuário '%s' ha falhado. -WebCalErrorConnectOkButWrongDatabase=a login salió bien mas a base não parece ser uma base Webcalendar. -WebCalAddEventOnCreateActions=Adicionar evento ao calendário em criações de ações -WebCalAddEventOnCreateCompany=Adicionar evento ao calendário na criação de empresas -WebCalAddEventOnStatusPropal=Adicionar evento ao calendário ao alterar destado dos Orçamentos -WebCalAddEventOnStatusContract=Adicionar evento ao calendário ao alterar destado dos contratos -WebCalAddEventOnStatusBill=Adicionar evento ao calendário ao alterar destado das faturas -WebCalAddEventOnStatusMember=Adicionar evento ao calendário ao alterar destado dos Membros -WebCalUrlForVCalExport=um link de exportação do calendário em formato %s estará disponível na url: %s -WebCalCheckWebcalSetup=a configuração do módulo Webcal pode ser incorreta -BillsSetup=configuração do módulo Faturas +CompanyIdProfChecker=Regras no Ids profissional +MustBeUnique=Deve ser único? +MustBeMandatory=Deve ser obrigatório para criar terceiros? +MustBeInvoiceMandatory=Deve ser obrigatório para validar faturas? +Miscellaneous=Variados +WebCalSetup=Configurações do link do calendário web +WebCalSyncro=Adicionar eventos do Dolibarr no calendário web +WebCalAllways=Sempre, não perguntar +WebCalYesByDefault=Na demanda (sim por default) +WebCalNoByDefault=Na demanda (não por default) +WebCalURL=URL para o acessar o calendário +WebCalServer=Servidor hostiando o banco de dados do calendário +WebCalDatabaseName=Nome do banco de dados +WebCalUser=Usuário para acessar o banco de dados +WebCalSetupSaved=Configurações do calendário web salvo com sucesso. +WebCalTestOk=Conexão para o servidor '%s' no banco de dados '%s' com o usuário '%s' foi bem sucedida. +WebCalTestKo1=Conexão para o servidor '%s' foi sucedida mas o banco de dados '%s' não foi alcançado. +WebCalTestKo2=Conexão para o servidor '%s' com o usuário '%s' falhou. +WebCalErrorConnectOkButWrongDatabase=Conexão foi um sucesso mas o banco de dados não "visualizou" o banco de dados do calendário web. +WebCalAddEventOnCreateActions=Adicionar evento no calendário ao criar ações +WebCalAddEventOnCreateCompany=Adicionar evento no calendário ao criar empresas +WebCalAddEventOnStatusPropal=Adicionar evento no calendário ao trocar status de orçamentos +WebCalAddEventOnStatusContract=Adicionar evento no calendário ao trocar status de contratos +WebCalAddEventOnStatusBill=Adicionar evento no calendário ao trocar status de contas +WebCalAddEventOnStatusMember=Adicionar evento no calendário ao trocar status dos membros +WebCalUrlForVCalExport=Uma exportação de link para o formato %s está disponível no seguinte link: %s +WebCalCheckWebcalSetup=Talvez as configurações do módulo webcal não esteja correta +BillsSetup=Configurações do módulo de faturas BillsDate=Data das faturas -BillsNumberingModule=Módulo de numeração de faturas e entregas -BillsPDFModules=Modelo de documento de faturas -CreditNoteSetup=configuração do módulo entregas -ForceInvoiceDate=Forçar a data de fatura e a data de validação -DisableRepeatable=Desativar as faturas Repetitivas -SuggestedPaymentModesIfNotDefinedInInvoice=Formas de pagamento sugeridas para as faturas senão estão definidas explicitamente -EnableEditDeleteValidInvoice=Ativar a possibilidade de editar/eliminar uma fatura validada sem pagamento -SuggestPaymentByRIBOnAccount=Sugerenciar o pagamento por transfência em conta -SuggestPaymentByChequeToAddress=Sugerenciar o pagamento por cheque a -FreeLegalTextOnInvoices=Texto livre em faturas +BillsNumberingModule=Faturas e notas de crédito no modelo de numeração +BillsPDFModules=Modelos de documentos da fatura +CreditNoteSetup=Configurações do módulo de notas de crédito +CreditNotePDFModules=Modelos de documentos da nota de crédito +ForceInvoiceDate=Forçar data de fatura para data de validação +DisableRepeatable=Desativar faturas repetidas +SuggestedPaymentModesIfNotDefinedInInvoice=Sugerir formas de pagamentos na fatura por default se não estiver definida na fatura +EnableEditDeleteValidInvoice=Ativar a possibilidade de editar/deletar faturas validadas que não foram pagas +SuggestPaymentByRIBOnAccount=Sugerir pagamento por transferência bancária +SuggestPaymentByChequeToAddress=Sugerir pagamento por cheque para +FreeLegalTextOnInvoices=Texto livre nas fatura WatermarkOnDraftInvoices=Marca d'água sobre o projeto de faturas (nenhum se estiver vazio) -PropalSetup=configuração do módulo Orçamentos -CreateForm=criação formulário -ClassifiedInvoiced=Classificar faturado -HideTreadedPropal=Ocultar os Orçamentos processados do listado -AddShippingDateAbility=possibilidade de determinar uma data de entregas -AddDeliveryAddressAbility=possibilidade de selecionar uma endereço de envio -UseOptionLineIfNoQuantity=uma linha de produto/serviço que tem uma quantidade nula se considera como uma Opção -WatermarkOnDraftProposal=Marca d'água em projetos de propostas comerciais (nenhum se estiver vazio) +PropalSetup=Configurações do módulo de orçamentos +CreateForm=Criar formulário +NumberOfProductLines=Número de linhas de produto +ProposalsNumberingModules=Modelos de numeração de orçamentos +ProposalsPDFModules=Modelos de documentos para Orçamentos +ClassifiedInvoiced=Faturas classificadas +HideTreadedPropal=Esconder orçamentos processados na lista +AddShippingDateAbility=Capacidade de adicionar data de envio +AddDeliveryAddressAbility=Capacidade de adicionar data da entrega +UseOptionLineIfNoQuantity=Uma linha de produto/serviço com quantidade zero é considerado uma opção +FreeLegalTextOnProposal=Texto livre em orçamentos +WatermarkOnDraftProposal=Marca d'água no rascunho de orçamentos (nenhum se vazio) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Informar conta bancária de destino da proposta AskPriceSupplierSetup=Preço solicitado via fornecedor instalação de módulo FreeLegalTextOnAskPriceSupplier=Texto livre sobre os pedidos de preços de fornecedores -OrdersSetup=configuração do módulo pedidos +WatermarkOnDraftAskPriceSupplier=Marca d'água em projetos de ordem dos fornecedores (nenhum se estiver vazio) +BANK_ASK_PAYMENT_BANK_DURING_ASKPRICESUPPLIER=Informar conta bancária de destino da proposta +OrdersSetup=Configurações do gestor de pedidos +OrdersNumberingModules=modelos de numeração de pedidos OrdersModelModule=Modelos de documentos de pedidos -HideTreadedOrders=Esconder as ordens tratados ou cancelados na lista -WatermarkOnDraftOrders=Marca d'água em projetos de ordem (nenhum se estiver vazio) +HideTreadedOrders=Ocultar os pedidos processados ou cancelados na lista +ValidOrderAfterPropalClosed=Para validar o pedido após fechar o orçamento, tornar isso possível sem precisar de um pedido provisório +WatermarkOnDraftOrders=Marca d'água no rascunho de pedidos (nenhum para vazio) ShippableOrderIconInList=Adicionar um ícone na lista de pedidos que indicam se a ordem é shippable BANK_ASK_PAYMENT_BANK_DURING_ORDER=Informar conta bancária de destino da ordem -ClickToDialSetup=configuração do módulo Click To Dial -ClickToDialUrlDesc=Url de chamada fazendo click ao ícone telefone.
    a 'url completa chamada será: URL?login -Bookmark4uSetup=configuração do módulo Bookmark4u -InterventionsSetup=configuração do módulo Intervenções -FreeLegalTextOnInterventions=Texto livre em documentos de intervenção -WatermarkOnDraftInterventionCards=Marca d'água em documentos de cartão de intervenção (nenhum se estiver vazio) -ContractsSetup=Contratos / instalação de módulo de Assinaturas -ContractsNumberingModules=Contratos numeração módulos +ClickToDialSetup=Configurações do módulo clique para discar +ClickToDialUrlDesc=Chamada URL quando se dá um clique na imagem do telefone. Na URL, você pode usar as tags
    __TELEFONEPARA__ que será substituido com o número telefônico da pessoa a telefonar
    __TELEFONEDE__ que será substituido com o número da pessoa que se telefona (seus)
    __LOGIN__ que será substituido com o seu usuário do seu clique para discar (definido com o seu cartão de usuário)
    __SENHA__ que será substituido pela sua senha do clique para discar (definida pelo seu cartão de usuário) +Bookmark4uSetup=Configurações do módulo Bookmark4u +InterventionsSetup=Configurações do módulo intervenções +FreeLegalTextOnInterventions=Texto livre nos documentos de intervenção +FicheinterNumberingModules=Modelos de numeração de intervenção +TemplatePDFInterventions=Modelos de documentos de cartão de intervenção +WatermarkOnDraftInterventionCards=Marca d'água nos documentos de cartão de intervenção (nenhum para vazio) +ContractsSetup=Configurações de módulo de contratos +ContractsNumberingModules=módulos de numeração de contratos TemplatePDFContracts=Modelos de documentos Contratos FreeLegalTextOnContracts=Texto livre em contratos WatermarkOnDraftContractCards=Marca d'água em projetos de contratos (nenhum se estiver vazio) -MembersSetup=configuração do módulo associações -MemberMainOptions=opções principales -AddSubscriptionIntoAccount=Registar honorários em conta bancaria ou Caixa do módulo bancario -AdherentMailRequired=E-Mail obrigatório para criar um membro novo -MemberSendInformationByMailByDefault=Caixa de verificação para enviar o correio de confirmação a os Membros é por default "sí" -LDAPSetup=Configuracón do módulo LDAP -LDAPUsersSynchro=Usuário +MembersSetup=Configurações de módulo de membros +AddSubscriptionIntoAccount=Sugerir por default para criar uma transação bancária, no módulo bancário, quando adicionado um novo pagamento +AdherentLoginRequired=Gestor de login para cada membro +AdherentMailRequired=E-Mail é obrigatório para criar um novo membro +MemberSendInformationByMailByDefault=Marque o checkbox para enviar confirmação de correspondência para membros (validação ou nova contribuição) é ativo por default +LDAPSetup=Configurações do LDAP +LDAPGlobalParameters=Parâmetros globais +LDAPUsersSynchro=Usuários LDAPContactsSynchro=Contatos LDAPSynchronization=sincronização LDAP -LDAPFunctionsNotAvailableOnPHP=as funções LDAP não estão disponíveis na sua PHP -LDAPSynchronizeUsers=sincronização dos Usuários Dolibarr com LDAP -LDAPSynchronizeGroups=sincronização dos grupos de Usuários Dolibarr com LDAP -LDAPSynchronizeContacts=sincronização dos contatos Dolibarr com LDAP -LDAPSynchronizeMembers=sincronização dos Membros do módulo associações de Dolibarr com LDAP -LDAPTypeExample=OpenLdap, Egroupware o Active Diretory -LDAPServerPortExample=Porta por default : 389 +LDAPFunctionsNotAvailableOnPHP=Funções LDAP não estão disponíveis no seu PHP +LDAPSynchronizeUsers=Organização dos usuários em LDAP +LDAPSynchronizeGroups=Organização dos grupos em LDAP +LDAPSynchronizeContacts=Organização dos contatos em LDAP +LDAPSynchronizeMembers=Organização dos membros da fundação em LDAP +LDAPTypeExample=OpenLdap, Egroupware ou Active Diretory +LDAPPrimaryServer=Servidor primário +LDAPSecondaryServer=Servidor secundário +LDAPServerPortExample=Porta default : 389 LDAPServerUseTLS=Usuário TLS -LDAPServerUseTLSExample=a sua servidor utiliza TLS +LDAPServerUseTLSExample=Seu servidor LDAP usa TLS +LDAPServerDn=Servidor DN +LDAPAdminDn=Administrador DN +LDAPAdminDnExample=DN completo (ex: cn=admin,dc=exemplo,dc=com) LDAPPassword=senha do administrador LDAPUserDn=DN dos Usuário -LDAPServerExample=endereço do servidor (ej: localhost, 192.168.0.2, ldaps://ldap.example.com/) +LDAPUserDnExample=DN completo (ex: ou=usuários,dc=exemplo,dc=com) +LDAPGroupDnExample=DN completo (ex: ou=grupos,dc=exemplo,dc=com) +LDAPServerExample=Endereço do servidor (ex: localhost, 192.168.0.2, ldaps://ldap.exemplo.com/) +LDAPServerDnExample=DN completo (Ex: dc=exemplo,dc=com) LDAPPasswordExample=senha do administrador LDAPDnSynchroActive=Sincronização de Usuários e Grupos -LDAPDnSynchroActiveExample=sincronização LDAP vers Dolibarr ó Dolibarr vers LDAP -LDAPDnContactActive=sincronização de contatos -LDAPDnContactActiveYes=sincronização ativada -LDAPDnContactActiveExample=sincronização ativada/desativada -LDAPDnMemberActive=sincronização dos Membros -LDAPDnMemberActiveExample=sincronização ativada/desativada -LDAPContactDn=DN dos contatos Dolibarr -LDAPMemberObjectClassListExample=Lista de ObjectClass que definem os atributos de um registo (ej: top,inetOrgPerson o top,user for active diretory) -LDAPUserObjectClassListExample=Lista de ObjectClass que definem os atributos de um registo (ej: top,inetOrgPerson o top,user for active diretory) -LDAPContactObjectClassListExample=Lista de objectClass que definem os atributos de um registo (ej: top,inetOrgPerson o top,user for active diretory) -LDAPTestConnect=Teste a login LDAP -LDAPTestSynchroContact=Teste a sincronização de contatos -LDAPTestSynchroUser=Teste a sincronização de Usuário -LDAPTestSearch=Teste uma pesquisa LDAP -LDAPSynchroOK=Prueba de sincronização realizada corretamente -LDAPSynchroKO=Prueba de sincronização errada -LDAPSynchroKOMayBePermissions=Error da prueba de sincronização. verifique que a login à servidor sea correta e que permite as atualizaciones LDAP -LDAPTCPConnectOK=login TCP à servidor LDAP efetuada (Servidor -LDAPTCPConnectKO=Fallo de login TCP à servidor LDAP (Servidor -LDAPBindOK=Ligue / authentificate ao servidor LDAP sucesso (Server =% s, Port =% s, Admin =% s, Password =% s) -LDAPBindKO=Fallo de login/autentificação à servidor LDAP (Servidor -LDAPUnbindSuccessfull=Desconecte sucesso -LDAPConnectToDNSuccessfull=login a DN (%s) realizada -LDAPConnectToDNFailed=Connexión a DN (%s) falhada -LDAPDolibarrMapping=Mapping Dolibarr -LDAPFieldLoginSambaExample=Exemplo : samaccountname -LDAPFieldPassword=senha -LDAPFieldPasswordNotCrypted=senha não encriptada -LDAPFieldPasswordCrypted=senha encriptada -LDAPFieldFirstNameExample=Exemplo : givenname -LDAPFieldPhone=telefone Trabalho -LDAPFieldPhoneExample=Exemplo : telephonenumber -LDAPFieldHomePhone=telefone personal -LDAPFieldHomePhoneExample=Exemplo : homephone -LDAPFieldMobile=telefone móvil -LDAPFieldMobileExample=Exemplo : mobile -LDAPFieldFaxExample=Exemplo : facsimiletelephonenumber -LDAPFieldAddress=endereço -LDAPFieldAddressExample=Exemplo : street -LDAPFieldZip=Código Postal -LDAPFieldZipExample=Exemplo : postalcode +LDAPDnSynchroActiveExample=Sincronização LDAP para Dolibarr ou Dolibarr para LDAP +LDAPDnContactActive=Sincronização dos contatos +LDAPDnContactActiveYes=Sincronização ativada +LDAPDnContactActiveExample=Sincronização Ativada/Desativada +LDAPDnMemberActiveExample=Sincronização Ativada/Desativada +LDAPContactDn=Contatos DN do Dolibarr +LDAPContactDnExample=DN completo (ex: ou=contatos,dc=exemplo,dc=com) +LDAPMemberDn=Membros DN do Dolibarr +LDAPMemberDnExample=DN completo (ex: ou=membros,dc=exemplo,dc=com) +LDAPMemberObjectClassListExample=Lista de ObjectClass que definem os atributos gravados (ex: top,inetOrgPerson ou top,usuário por active diretory) +LDAPUserObjectClassListExample=Lista de ObjectClass que definem os atributos gravados (ex: top,inetOrgPerson ou top,usuário por active diretory) +LDAPGroupObjectClassListExample=Lista de ObjectClass que definem os atributos gravados (ex top,grupoDeNomeUnico) +LDAPContactObjectClassListExample=Lista de objectClass que definem os atributos gravados (ex: top,inetOrgPerson o top,usuários por active diretory) +LDAPMemberTypeDn=Tipos DN dos membros do Dolibarr +LDAPMemberTypeDnExample=DN completo (ex: ou=tipos_membros,d=exemplo,dc=com) +LDAPTestConnect=Teste de conexão LDAP +LDAPTestSynchroContact=Teste de sincronização dos contatos +LDAPTestSynchroUser=Teste de sincronização dos Usuário +LDAPTestSynchroGroup=Teste de sincronização dos grupos +LDAPTestSynchroMember=Teste de sincronização dos Membros +LDAPTestSearch=Teste de pesquisa LDAP +LDAPSynchroOK=Teste de sincronização foi um sucesso +LDAPSynchroKO=Teste de sincronização falhou +LDAPSynchroKOMayBePermissions=Teste de sincronização falhou. Verifique se a conexão do servidor está corretamente configurada e que permita atualizações LDAP +LDAPTCPConnectOK=Conexão TCP para o servidor LDAP foi um sucesso (Servidor=%s, Porta=%s) +LDAPTCPConnectKO=Conexão TCP para o servidor LDAP falhou (Servidor=%s, Porta=%s) +LDAPBindOK=Conexão/Autenticação do servidor LDAP foi um sucesso (Servidor=%s, Porta=%s, Admin=%s, Senha=%s) +LDAPBindKO=Conexão/Autenticação do servidor LDAP falhou (Servidor=%s, Porta=%s, Admin=%s, Senha=%s) +LDAPUnbindSuccessfull=Desconexão foi um sucesso +LDAPUnbindFailed=Desconexão falhou +LDAPConnectToDNSuccessfull=Conexão para DN (%s) foi um sucesso +LDAPConnectToDNFailed=Conexão para DN (%s) falhou +LDAPSetupForVersion3=Servidor LDAP configurado para versão 3 +LDAPSetupForVersion2=Servidor LDAP configurado para versão 2 +LDAPDolibarrMapping=Mapeamento Dolibarr +LDAPLdapMapping=Mapeamento LDAP +LDAPFilterConnectionExample=Exemplo : &(objectClass=inetOrgPerson) +LDAPFieldLoginSambaExample=Exemplo : ananomedaconta +LDAPFieldPassword=Senha +LDAPFieldPasswordNotCrypted=Senha não criptografada +LDAPFieldPasswordCrypted=Senha criptografada +LDAPFieldPasswordExample=Exemplo : SenhaUsuário +LDAPFieldCommonName=Nome comum +LDAPFieldFirstName=Primeiro nome +LDAPFieldFirstNameExample=Exemplo : deumnome +LDAPFieldPhone=Telefone profissional +LDAPFieldPhoneExample=Exemplo : númerotelefônico +LDAPFieldHomePhoneExample=Exemplo : númerodecasa +LDAPFieldMobile=Celular +LDAPFieldMobileExample=Exemplo : móvel +LDAPFieldFaxExample=Exemplo : númerodefax +LDAPFieldAddress=Endereço +LDAPFieldAddressExample=Exemplo : Rua +LDAPFieldZip=CEP +LDAPFieldZipExample=Exemplo : 00.000-000 LDAPFieldTown=Município -LDAPFieldDescriptionExample=Exemplo : description +LDAPFieldDescriptionExample=Exemplo : Descrição LDAPFieldNotePublic=Nota Pública LDAPFieldNotePublicExample=Exemplo: publicnote -LDAPFieldGroupMembersExample=Exemplo: uniqueMember -LDAPFieldBirthdate=data de nascimento -LDAPFieldSidExample=Exemplo : objectsid -LDAPFieldEndLastSubscription=data finalização como membro -LDAPParametersAreStillHardCoded=Parâmetros LDAP ainda são codificados (na classe de contato) -LDAPSetupNotComplete=configuração LDAP incompleta (a completar em Outras pestanhas) -LDAPNoUserOrPasswordProvidedAccessIsReadOnly=Administrador o senha não indicados. os acessos LDAP serão anônimos e em só leitura. -LDAPDescContact=Esta página permite definir o Nome dos atributos da árvore LDAP para cada informação dos contatos Dolibarr. -LDAPDescUsers=Esta página permite definir o Nome dos atributos da árvore LDAP para cada informação dos Usuários Dolibarr. -LDAPDescGroups=Esta página permite definir o Nome dos atributos da árvore LDAP para cada informação dos grupos Usuários Dolibarr. -LDAPDescMembers=Esta página permite definir o Nome dos atributos da árvore LDAP para cada informação dos Membros do módulo associações Dolibarr. -LDAPDescValues=os valores de Exemplos se adaptan a OpenLDAP com os schemas carregados: core.schema, cosine.schema, inetorgperson.schema). sim voçê utiliza os a valores sugeridos e OpenLDAP, modifique a sua arquivo de configuração LDAP slapd.conf para tener todos estos schemas ativos. -PerfDolibarr=Relatório de configuração Desempenho / otimização -YouMayFindPerfAdviceHere=Você vai encontrar nesta página algumas verificações ou conselhos relacionados com o desempenho. -NotInstalled=Não instalado, por que o seu servidor não está mais lento por isso. -ApplicativeCache=Cache de aplicativo -MemcachedNotAvailable=No cache de aplicativo encontrado. Você pode melhorar o desempenho através da instalação de um servidor de cache Memcached e um módulo capaz de usar este servidor cache. Mais informações aqui OpenLDAP
    seguido dos temas carregados: core.schema, cosine.schema, inetorgperson.schema). Se você usa esses valores e OpenLDAP, modifique seu arquivo de configurações LDAP slapd.conf para ter todos esses temas carregados. +ForANonAnonymousAccess=Para um acesso autenticado (para um acesso de escrita por exemplo) +PerfDolibarr=Configurações/otimizações de relatório de performance +YouMayFindPerfAdviceHere=Você achará nesta página alguns checks ou conselhos relatados sobre a performance. +NotInstalled=Não instalado, então seu servidor não está lento por causa disso. +ApplicativeCache=cache de aplicativo +MemcachedNotAvailable=Nenhum cache de aplicativo foi encontrado. Você pode aumentar a performance instalando um servidor de cache Memcached e o módulo será capaz de usar esse servidor de cache. Mais informações aqui http://wiki.dolibarr.org/index.php/Module_MemCached_EN. Note que vários provedores de host web não dispõem de tal servidor de cache. +MemcachedModuleAvailableButNotSetup=Módulo de aceleração da memória cache está ativado mas a configuração não está completa +MemcachedAvailableAndSetup=Módulo de aceleração da memória cache está ativado e a configuração está completa +OPCodeCache=cache OPCode +NoOPCodeCacheFound=Nenhum cache OPCode foi achado. Pode ser que você use outro cache OPCode do que XCache ou eAccelerator (bom), pode ser que você não tenha cache OPCode (muito mau). +FilesOfTypeCached=Arquivos do tipo %s estão no cache pelo servidor HTTP +FilesOfTypeNotCached=Arquivos do tipo %s não estão no cache pelo servidor HTTP +FilesOfTypeCompressed=Arquivos do tipo %s estão comprimidos pelo servidor HTTP +FilesOfTypeNotCompressed=Arquivos do tipo %s não estão comprimidos pelo servidor HTTP +CompressionOfResources=Comprimir as respostas HTTP +TestNotPossibleWithCurrentBrowsers=Não é possível detecção automática +ProductSetup=Configurações do módulo dos produtos +ServiceSetup=Configurações do módulo de serviços +ProductServiceSetup=Configurações dos módulos de produtos e serviços +NumberOfProductShowInSelect=Max número de produtos na lista selecionada (0=sem limite) +ConfirmDeleteProductLineAbility=Confirmação quando remover linha do produto nos formulários +ModifyProductDescAbility=Personalização das descrições do produto nos formulários +ViewProductDescInFormAbility=Visualização das descrições do produto nos formulários (caso contrário como popup tooltip) +ViewProductDescInThirdpartyLanguageAbility=Visualização das descrições de produtos na linguagem de terceiros UseSearchToSelectProductTooltip=Além disso, se você tem um grande número de produtos (> 100 000), você pode aumentar a velocidade, definindo PRODUCT_DONOTSEARCH_ANYWHERE constante a 1 em Setup Outro. Busca, então, ser limitada até o início da string. -UseSearchToSelectProduct=Use um formulário de pesquisa para escolher um produto (em vez de uma lista drop-down). -UseEcoTaxeAbility=Asumir ecotaxa (DEEE) -SetDefaultBarcodeTypeProducts=Tipo de código de barras utilizado por default para os produtos -SetDefaultBarcodeTypeThirdParties=Tipo de código de barras utilizado por default para os Fornecedores +UseSearchToSelectProduct=Usar um formulário de pesquisa para escolher um produto (ao invés de listá-los).
    Também se tiver um grande número de produtos (> 100 000), você pode aumentar a velocidade alterando a constante PRODUCT_DONOTSEARCH_ANYWHERE para 1 no Configuração->Outros. A pesquisa será limitada para o começo da string. +UseEcoTaxeAbility=Suportar Eco-Taxa +SetDefaultBarcodeTypeProducts=Tipo de código de barras default para usar nós produtos +SetDefaultBarcodeTypeThirdParties=Tipo de código de barras default para usar nós terceiros ProductCodeChecker=Módulo para geração de código do produto e verificação (produto ou serviço) -ProductOtherConf=A configuração do produto / serviço -SyslogOutput=Saída do log +ProductOtherConf=Configurações de Produto / Serviço +SyslogSetup=Configurações do módulo de logs +SyslogOutput=Saídas de logs SyslogLevel=Nível SyslogSimpleFile=Arquivo -SyslogFilename=Nome e Rota do Arquivo -YouCanUseDOL_DATA_ROOT=pode utilizar DOL_DATA_ROOT/dolibarr.log para um log na pasta 'documentos' de Dolibarr. -ErrorUnknownSyslogConstant=a constante %s não é uma constante syslog conhecida -OnlyWindowsLOG_USER=Somente para Windows suporta LOG_USER -DonationsSetup=configuração do módulo Bolsas -BarcodeSetup=configuração dos códigos de barra -BarcodeEncodeModule=Módulos de codificação dos códigos de barra -CodeBarGenerator=gerador do código -ChooseABarCode=nenhum gerador selecionado -BarcodeDescEAN8=Códigos de barra tipo EAN8 -BarcodeDescEAN13=Códigos de barra tipo EAN13 -BarcodeDescUPC=Códigos de barra tipo UPC -BarcodeDescISBN=Códigos de barra tipo ISBN -BarcodeDescC39=Códigos de barra tipo C39 -BarcodeDescC128=Códigos de barra tipo C128 +SyslogFilename=Nome do arquivo e caminho +YouCanUseDOL_DATA_ROOT=Você pode usar DOL_DATA_ROOT/dolibarr.log para um arquivo de log no diretório dos "documentos" do Dolibarr. +ErrorUnknownSyslogConstant=A Constante %s não é conhecida pelas constantes do Syslog +OnlyWindowsLOG_USER=Somente Windows suporta LOG_USER +DonationsSetup=Configurações do módulo de doações +DonationsReceiptModel=Templates de recibos de doação +BarcodeSetup=Configurações de código de barras +PaperFormatModule=Módulo de formato de impressão +BarcodeEncodeModule=Tipo de codificação do código de barras +UseBarcodeInProductModule=Usar códigos de barras nos produtos +CodeBarGenerator=Gerador de código de barras +ChooseABarCode=Nenhum gerador de código de barras +FormatNotSupportedByGenerator=Formato não suportado por esse gerador +BarcodeDescEAN8=Código de barras tipo EAN8 +BarcodeDescEAN13=Código de barras tipo EAN13 +BarcodeDescUPC=Código de barras tipo UPC +BarcodeDescISBN=Código de barras tipo ISBN +BarcodeDescC39=Código de barras tipo C39 +BarcodeDescC128=Código de barras tipo C128 BarcodeDescDATAMATRIX=Código de barras do tipo Datamatrix BarcodeDescQRCODE=Código de barras do tipo QR code +GenbarcodeLocation=Ferramenta em linha de comando para geração de código de barras (usado pelo mecanismo interno para alguns tipos de código de barras) +BarcodeInternalEngine=Mecanismo interno BarCodeNumberManager=Gerente de auto definir números de código de barras -WithdrawalsSetup=configuração do módulo Débitos Diretos -ExternalRSSSetup=configuração das importações do fluxos RSS -NewRSS=Sindicação de um Novo fluxos RSS -MailingEMailError=Voltar E-mail (Erros-to) para e-mails com erros +WithdrawalsSetup=Configurações de módulo de retirada +ExternalRSSSetup=Configurações importantes de RSS externo +NewRSS=Novo RSS Feed +RSSUrl=URL de RSS +RSSUrlExample=Um interessante RSS feed +MailingSetup=Configurações do módulo de e-mails +MailingEMailFrom=Emissor de e-mails (de) por envio de e-mail pelo módulo de e-mails +MailingEMailError=Retornar e-mails (erros-para) por e-mails que contêm erros MailingDelay=Segundos de espera antes do envio da mensagem seguinte -NotificationSetup=Configuração do módulo de notificações por e-mail -ListOfAvailableNotifications=Lista de eventos que você pode definir a notificação em diante, para cada thirdparty (entrar em cartão thirdparty para instalação) ou definindo um e-mail fixa (Lista depende módulos ativados) +NotificationSetup=Configurações do módulo de notificações por e-mail +NotificationEMailFrom=Emissor de e-mails (de) por envio de notificação por e-mails +ListOfAvailableNotifications=Lista de notificações disponíveis (Essa lista depende dos módulos ativos) FixedEmailTarget=Alvo fixo e-mail -SendingsSetup=configuração do módulos envios -SendingsNumberingModules=Expedição de numeração de módulos -NoNeedForDeliveryReceipts=na maioria dos casos, as entregas utilizam como nota de entregas ao cliente (lista de produtos a enviar), se recebem e assinam por o cliente. Por o tanto, a hoja de entregas de produtos é uma característica duplicada e rara vez é ativada. -FreeLegalTextOnShippings=Texto livre sobre transferências -DeliveryOrderModel=Modelo de ordem de envio -DeliveriesOrderAbility=Fretes pagos por o cliente -AdvancedEditor=Formatação avançada -ActivateFCKeditor=Ativar FCKeditor para : -FCKeditorForCompany=Criação/Edição WYSIWIG da descrição e notas dos Fornecedores -FCKeditorForUserSignature=WYSIWIG criação / edição da assinatura do usuário -FCKeditorForMail=Criação WYSIWIG / edição para todos os emails (exceto Outils-> e-mail) -OSCommerceErrorConnectOkButWrongDatabase=a login se ha estabelecido, mas a base de dados não parece de OSCommerce. -OSCommerceTestOk=a login à servidor '%s' sobre a base '%s' por o Usuário '%s' é correta. -OSCommerceTestKo1=a login à servidor '%s' sobre a base '%s' por o Usuário '%s' não se pode efetuar. -OSCommerceTestKo2=a login à servidor '%s' por o Usuário '%s' ha falhado. -StockSetup=Configuração do módulo Armazém / Warehouse +SendingsSetup=Configurações do módulo de envios +SendingsReceiptModel=Modelo de recibo do envio +SendingsNumberingModules=Módulos de númeração de envios +SendingsAbility=Suporte para folhas de envios, para entregas de cliente +NoNeedForDeliveryReceipts=Na maioria dos casos, recibos de envios são usados em duas folhas pela entrega de clientes (lista de produtos a enviar) e folhas que é recebida e assinado pelo cliente. Então o recibo de entrega do produto é duplicado e é raramente ativado. +FreeLegalTextOnShippings=Texto livre para envios +DeliveryOrderNumberingModules=Módulo de numeração de recibos de produtos entregues +DeliveryOrderModel=Modelo de recibo de produtos entregues +DeliveriesOrderAbility=Suporta recibos de entrega de produtos +FreeLegalTextOnDeliveryReceipts=Texto livre em recibos de entregas +AdvancedEditor=Editor avançado +ActivateFCKeditor=Editor avançado ativo por: +FCKeditorForCompany=Criação/edição do WYSIWIG nas descrições de elementos e nota (exceto produtos/serviços) +FCKeditorForProduct=Criação/edição do WYSIWIG nas descrições de produtos/serviços e nota +FCKeditorForProductDetails=Criação/edição do WYSIWIG nas linhas dos detalhes de produtos de todas entidades (orçamentos, pedidos, faturas, etc...). Aviso: Usando essa opção nesse caso é extremamente NÃO recomendado, podendo causar problemas com caracteres especiais e no formato da página na construção do arquivo PDF. +FCKeditorForMailing=Criação/edição do WYSIWIG nos E-Mails massivos (ferramentas->emailing) +FCKeditorForUserSignature=criação/edição do WYSIWIG nas assinaturas de usuários +FCKeditorForMail=criação/edição do WYSIWIG para todas as correspondências (exceto Outils->eMailing) +OSCommerceErrorConnectOkButWrongDatabase=Conexão foi um sucesso mas o banco de dados não enxerga o banco de dados do OSCommerce (chave %s não achada na tabela %s). +OSCommerceTestOk=Conexão ao servidor '%s' no banco de dados '%s' com o usuário '%s' foi um sucesso. +OSCommerceTestKo1=Conexão ao servidor '%s' foi um sucesso mas o banco de dados '%s' não foi alcançado. +OSCommerceTestKo2=Conexão ao servidor '%s' com o usuário '%s' falhou. +StockSetup=Configurações do módulo de estoque +UserWarehouse=Usar estoques pessoal do usuário IfYouUsePointOfSaleCheckModule=Se você usar um módulo Ponto de Venda (POS módulo fornecido por padrão ou outro módulo externo), esta configuração pode ser ignorado pelo seu modulo ponto de Venda. A maioria modulo ponto de Vendas são projetados para criar imediatamente uma fatura e diminuir estoque por padrão tudo o que são opções aqui. Então, se você precisa ou não ter uma diminuição de ações quando registrar uma venda a partir do seu ponto de venda, verifique também a configuração do seu módulo POS. -Menu=Seleção dos menus -MenuHandler=Gerente de menus -HideUnauthorizedMenu=Esconder menus não autorizadas (cinza) -DetailMenuHandler=Nome do gerente de menus -DetailMenuModule=Nome do módulo sim a entrada do menu é resultante de um módulo -DetailType=Tipo de menu (superior o izquierdp) -DetailTitre=Etiqueta de menu -DetailMainmenu=Grupo à qual pertence (obsoleto) -DetailUrl=URL da página fazia a qual o menu aponta -DetailLeftmenu=Condição de visualização o não (obsoleto) -DetailEnabled=Condição para mostrar ou não entrada -DetailRight=Condição de visualização completa o cristálida -DetailLangs=Arquivo langs para a tradução do título -DetailTarget=Objetivo -DetailLevel=Nível (-1:menu superior, 0:principal, >0 menu e submenú) -ConfirmDeleteMenu=Tem certeza que quer eliminar a entrada de menu %s ? -DeleteLine=Apagar a Linha -ConfirmDeleteLine=Tem certeza que quer eliminar esta linha? -TaxSetup=Instalação de módulo de Impostos, encargos sociais e fiscais e dividendos -OptionVatMode=Opção de carga de ICMS -OptionVATDefault=Regime de caixa -OptionVATDebitOption=Regime de competência -OptionVatDefaultDesc=a carga do ICMS é:
    -ao envio dos bens
    -sobre o pagamento por os serviços -OptionVatDebitOptionDesc=a carga do ICMS é:
    -ao envio dos bens
    -sobre o faturamento dos serviços -SummaryOfVatExigibilityUsedByDefault=Hora do VTA exigibilidade por padrão de acordo com a opção escolhida: -OnPayment=Mediante o pagamento +MenuDeleted=Menu Deletado +TreeMenu=Árvores de menus +MenuConf=Configurações de menus +Menu=Seleção de menus +MenuModule=Fonte do módulo +HideUnauthorizedMenu=Esconder menus não autorizados (cinza) +DetailId=Menu ID +DetailMenuHandler=Gestor de menu onde mostra novo menu +DetailMenuModule=Nome do módulo se a entrada do menu vier de um módulo +DetailType=Tipo do menu (superior o esquerdo) +DetailTitre=Etiqueta do menu ou código da etiqueta para tradução +DetailMainmenu=Grupo a que pertence (obsoleto) +DetailUrl=URL onde o menu envia para você (URL absoluta ou link externo com http://) +DetailLeftmenu=Mostrar condição ou não (obsoleto) +DetailEnabled=Condição para mostra ou não entrar +DetailRight=Condição para mostrar menus não autorizados em cinza +DetailLangs=Nomes de arquivos lang para código de etiqueta da tradução +DetailTarget=Alvos por links (_blank topo abre uma nova janela) +DetailLevel=Nível (-1:menu superior, 0:menu do cabeçario, >0 menu e sub-menu) +ModifMenu=Modificar menu +DeleteMenu=Deletar entrada do menu +ConfirmDeleteMenu=Você tem certeza que deseja deletar a entrada do menu? %s ? +DeleteLine=Apagar linha +ConfirmDeleteLine=Você tem certeza que deseja deletar essa linha? +TaxSetup=Configurações do módulo taxas, contribuição social e dividendos +OptionVatMode=Imposto ICMS +OptionVATDefault=Base em Dinheiro +OptionVATDebitOption=Base em Acréscimo +OptionVatDefaultDesc=ICMS é um imposto:
    - Nas entregas dos bens (Nós usamos a data da fatura)
    - Nos pagamentos dos serviços +OptionVatDebitOptionDesc=ICMS é um imposto:
    - Nas entregas dos bens (Nós usamos a data da fatura)
    - Na emissão da fatura do serviço +SummaryOfVatExigibilityUsedByDefault=O tempo do ICMS exige por default as seguintes opções a serem escolhidas: +OnPayment=No pagamento OnInvoice=Na fatura -SupposedToBePaymentDate=Data de pagamento usado -SupposedToBeInvoiceDate=Data da fatura usado -InvoiceDateUsed=Data da fatura usado -YourCompanyDoesNotUseVAT=Sua empresa foi definido para não usar de IVA (Home - Configuração - Empresa / Fundação), então não há nenhuma opção de VAT a configuração. -AccountancyCodeSell=Conta Venda. código -AccountancyCodeBuy=Compre conta. código -AgendaSetup=Módulo configuração de ações e agenda -PasswordTogetVCalExport=Chave de autorização vcal export link -PastDelayVCalExport=Não exportar evento mais antigo que -AGENDA_USE_EVENT_TYPE=Use eventos tipos (geridos em Setup Menu -> Dicionário -> Tipo de eventos da agenda) +SupposedToBePaymentDate=Data usada no pagamento +SupposedToBeInvoiceDate=Data usada na fatura +Buy=Compra +Sell=Venda +InvoiceDateUsed=Data usada na fatura +YourCompanyDoesNotUseVAT=Sua empresa está definido para não usar ICMS (Home->Configuração->Empresa), então não há nenhuma opção de configuração do ICMS. +AccountancyCode=Código de contabilidade +AccountancyCodeSell=Código de contas de vendas +AccountancyCodeBuy=Código de contas de compras +AgendaSetup=Configurações do módulo de eventos e agenda +PasswordTogetVCalExport=Chave para autorizar exportação do link +PastDelayVCalExport=Não exportar eventos antigos de +AGENDA_USE_EVENT_TYPE=Use tipos de eventos (gestor dentro de configuração->Dicionários->llx_c_actioncomm) AGENDA_DEFAULT_FILTER_TYPE=Use automaticamente este tipo de evento no filtro de busca da agenda AGENDA_DEFAULT_FILTER_STATUS=Use automaticamente este estado no filtro das buscas da agenda AGENDA_DEFAULT_VIEW=Qual aba voçê quer abrir por padrão quando o menu Agenda e selecionado -ClickToDialDesc=Este módulo permite agregar um ícone depois do número de telefone de contatos Dolibarr. um clic neste ícone, Chama a um servidor com uma URL que se indica a continuação. Esto pode ser usado para Chamar à sistema call center de Dolibarr que pode Chamar à número de telefone em um sistema SIP, por Exemplo. -CashDeskSetup=configuração do módulo de Caixa registradora -CashDeskThirdPartyForSell=Terceiro padrão para uso em vendas -CashDeskBankAccountForSell=conta de efetivo que se utilizará para as vendas -CashDeskBankAccountForCheque=Padrão conta para usar a receber pagamentos por cheque -CashDeskBankAccountForCB=Padrão conta para usar a receber pagamentos por cartões de crédito +ClickToDialDesc=Esse módulo permite você adicionar um ícone depois do telefone. Um clique nesse ícone irá chamar um servidor com URL particular definida abaixo. Isso pode ser usado para chamar uma central de chamadas do Dolibarr que pode chamar o número telefonico no sistema SIP por exemplo. +CashDeskSetup=Configurações do módulo do ponto de vendas +CashDeskThirdPartyForSell=Terceiro genérico para usar nas vendas +CashDeskBankAccountForSell=Conta default para usar nos pagamentos em dinheiro +CashDeskBankAccountForCheque=Conta default para usar nos pagamentos em cheque +CashDeskBankAccountForCB=Conta default para usar nos pagamentos em cartão de crédito CashDeskDoNotDecreaseStock=Desativar diminuição de ações quando uma venda é feita a partir de ponto de venda (se "não", diminuição de ações é feito para cada vendem feito a partir de POS, o que for opção definida no módulo de estoque). -CashDeskIdWareHouse=Forçar e restringir armazém a usar para redução de ações +CashDeskIdWareHouse=Depósito para usar nas vendas StockDecreaseForPointOfSaleDisabled=Diminuição do estoque pelo PDV desativado -BookmarkSetup=Configuração do Módulo de Favoritos -BookmarkDesc=Este módulo lhe permite Gerenciar os links e acessos diretos. também permite Adicionar qualquer página de Dolibarr o link web ao menu de acesso rápido da esquerda. -NbOfBoomarkToShow=Número máximo de marcadores que se mostrará ao menu -WebServicesSetup=Configuração do módulo Webservices -WebServicesDesc=Ao habilitar este módulo, Dolibarr se tornar um servidor web service para fornecer serviços web diversos. -WSDLCanBeDownloadedHere=Arquivos descritores WSDL dos serviços prestados pode ser baixado aqui -EndPointIs=Clientes SOAP devem enviar seus pedidos para o terminal Dolibarr Disponível em URL +StockDecreaseForPointOfSaleDisabledbyBatch=Diminuir estoque no Ponto De Vendas não é compativel com o gerenciamento do lote +BookmarkSetup=Configurações do módulo de marcadores +BookmarkDesc=Esse módulo permite você gerenciar marcadores. Você pode também adicionar atalhos para qualquer página do Dolibarr ou sites externos no seu menu esquerdo. +NbOfBoomarkToShow=Número máximo de marcadores para mostrar no menu esquerdo +WebServicesSetup=Configurações do módulo de serviço de web +WebServicesDesc=Ativando esse módulo, Dolibarr se torna um servidor de serviços web e fornece vários serviços web. +WSDLCanBeDownloadedHere=Arquivos descritor WSDL que fornece serviços que podem ser baixados aqui +EndPointIs=Clientes SOAP devem enviar suas requisições para o Dolibarr endpoint disponível na URL ApiSetup=Instalação de módulo de API ApiDesc=Ao ativar este módulo, Dolibarr se tornar um servidor REST para fornecer serviços de web diversos. KeyForApiAccess=Chave para usar a API (parâmetro "api_key") @@ -1091,31 +1325,32 @@ ApiEndPointIs=Você pode acessar a API na url ApiExporerIs=Você pode explorar a API na url OnlyActiveElementsAreExposed=Somente elementos de módulos habilitados são expostos ApiKey=Chave para API -BankSetupModule=Configuração do módulo Banco -FreeLegalTextOnChequeReceipts=Texto livre em recibos de verificação -BankOrderShow=Ordem de apresentação das contas bancárias para os países usando o "número do banco detalhada" +BankSetupModule=Configurações do módulo bancário +FreeLegalTextOnChequeReceipts=Texto livre para recibos de cheque +BankOrderShow=Mostrar ordem das contas bancárias para países usando "Número do banco detalhado" +BankOrderGlobalDesc=Ordem geral exibida BankOrderES=Espanhol -BankOrderESDesc=Ordem de exibição Espanhol -MultiCompanySetup=Configuração do módulo Multi-empresa -SuppliersSetup=Configuração Módulo Fornecedor -SuppliersCommandModel=Modelo completo de ordem fornecedor (logo. ..) -SuppliersInvoiceModel=Modelo completo da fatura do fornecedor (logo. ..) -SuppliersInvoiceNumberingModel=Faturas de fornecedores de numeração modelos +BankOrderESDesc=Ordem espanhola exibida +MultiCompanySetup=Configurações do módulo multi-empresas +SuppliersSetup=Configurações do módulo de fornecedores +SuppliersCommandModel=Template completo de pedidos de fornecedores (logo...) +SuppliersInvoiceModel=Template completo de faturas de fornecedores (logo...) +SuppliersInvoiceNumberingModel=Modelo de numeração de faturas de fornecedores IfSetToYesDontForgetPermission=Se definido como sim, não se esqueça de fornecer permissões a grupos ou usuários autorizados para a segunda aprovação -GeoIPMaxmindSetup=Configuração do módulo GeoIP Maxmind -PathToGeoIPMaxmindCountryDataFile=Caminho para o arquivo que contém a tradução Maxmind ip país. Exemplos: / Usr / local / share / GeoIP / GeoIP.dat / Usr / share / GeoIP / GeoIP.dat -NoteOnPathLocation=Note-se que o seu ip para o arquivo de dados do país devem estar dentro de um diretório do seu PHP pode ler (Verifique se o seu PHP open_basedir configuração e as permissões do sistema de arquivos). -YouCanDownloadFreeDatFileTo=Você pode baixar uma versão demo gratuita do arquivo país Maxmind GeoIP em. -YouCanDownloadAdvancedDatFileTo=Você também pode baixar uma versão,mais completa, com atualizações, do arquivo país em Maxmind GeoIP. -TestGeoIPResult=Teste de um IP de conversão -> país -ProjectsNumberingModules=Projetos de numeração módulo -ProjectsSetup=Configuração do módulo de Projetos -ProjectsModelModule=Os relatórios do projeto modelo de documento -TasksNumberingModules=Módulo de numeração de Tarefas -TaskModelModule=Relatórios Tarefas modelo de documento +GeoIPMaxmindSetup=Configurações do módulo GeoIP Maxmind +PathToGeoIPMaxmindCountryDataFile=Caminho do arquivo que contêm Maxmind ip para tradução do país.
    Exemplos:
    /usr/local/share/GeoIP/GeoIP.dat
    /usr/share/GeoIP/GeoIP.dat +NoteOnPathLocation=Nota que seu ip para o arquivo de dados do país deve estar dentro do diretório do seu PHP que possa ser lido (Verifique a configuração do seu PHP open_basedir e o sistema de permissões). +YouCanDownloadFreeDatFileTo=Você pode baixar uma Versão demo do arquivo Maxmind GeoIP do seu país no %s. +YouCanDownloadAdvancedDatFileTo=Você também pode baixar uma versão mais completa, com updates do arquivo Maxmind GeoIP do seu país no %s. +TestGeoIPResult=Teste a conversão IP -> país +ProjectsNumberingModules=Modelo de numeração de projetos +ProjectsSetup=Configurações do módulo de projetos +ProjectsModelModule=Modelo de documento de relatório de projeto +TasksNumberingModules=Modelo de numeração de tarefas +TaskModelModule=Modelo de numeração de relatório de tarefas UseSearchToSelectProject=Use campos de completação automática para escolher projeto (em vez de usar uma caixa de lista) -ECMSetup =Instalar GED -ECMAutoTree =Pasta árvore automática e documento +ECMSetup =Configurações de Gestão de Conteúdo Empresarial (ECM) +ECMAutoTree =Pasta e documentos de árvore automática FiscalYears=Anos fiscais FiscalYear=Ano fiscal FiscalYearCard=Ficha ano fiscal @@ -1127,6 +1362,7 @@ MAIN_APPLICATION_TITLE=Forçar nome visível da aplicação (aviso: definir o se NbMajMin=Número mínimo de caracteres maiúsculos NbNumMin=Número mínimo de caracteres numéricos NbSpeMin=Número mínimo de caracteres especiais +NbIteConsecutive=Numero maximo dos mesmos caracteres repetidos SortOrder=Ordem de classificação TypePaymentDesc=0: Pagamento para Cliente, 1: Pagamento para Fornecedor, 2: Pagamentos para Clientes e Fornecedores IncludePath=Incluir caminho (definido na variável %s) @@ -1142,6 +1378,7 @@ SomethingMakeInstallFromWebNotPossible=A instalação do módulo externo não é SomethingMakeInstallFromWebNotPossible2=Por esta razão, o processo de atualização descrito aqui é apenas manual de passos que um usuário privilegiado pode fazer. HighlightLinesOnMouseHover=Destacar linhas de tabela quando o mouse passar sobre elas PressF5AfterChangingThis=Pressione F5 no teclado depois de mudar este valor para tê-lo eficaz +NotSupportedByAllThemes=Funcionara com o tema eldy porem nao e suportado em todos os temas. BackgroundColor=Cor de fundo TopMenuBackgroundColor=Cor de fundo para o menu de topo LeftMenuBackgroundColor=A cor do fundo para o menu esquerdo @@ -1155,9 +1392,12 @@ PositionIntoComboList=Posição de linha em listas de combinação SellTaxRate=Taxa de imposto sobre venda TypeOfTemplate=Tipo de modelo TemplateIsVisibleByOwnerOnly=Template é visível somente pelo proprietário +ExpectedChecksum=Checksum esperado +CurrentChecksum=Checksum corrente MailToSendProposal=Para enviar a proposta ao cliente MailToSendOrder=Para enviar pedido do cliente MailToSendInvoice=Para enviar fatura do cliente +MailToSendShipment=Enviar envio MailToSendIntervention=Para enviar intervenção MailToSendSupplierRequestForQuotation=Para enviar a solicitação de cotação para fornecedor MailToSendSupplierOrder=Para enviar ordem fornecedor diff --git a/htdocs/langs/pt_BR/agenda.lang b/htdocs/langs/pt_BR/agenda.lang index 6c68383a67b..0dd0cdab8d7 100644 --- a/htdocs/langs/pt_BR/agenda.lang +++ b/htdocs/langs/pt_BR/agenda.lang @@ -1,76 +1,79 @@ # Dolibarr language file - Source file is en_US - agenda -IdAgenda=ID evento +IdAgenda=ID do Evento Actions=Eventos -ActionsArea=Área de eventos (Atividades e Tarefas) +ActionsArea=Área de eventos (Ações e Tarefas) +LocalAgenda=Calendário local ActionsOwnedBy=Evento de propriedade do -DoneBy=Concluído por +DoneBy=Feito por Event=Evento -EventsNb=Numero de eventos -EventOnFullDay=Evento durante todo o dia (s) +EventOnFullDay=Evento no(s) dia(s) todo SearchAnAction=Procurar um evento/tarefa MenuToDoActions=Todos os eventos incompletos -MenuDoneActions=Todas os eventos completos -MenuToDoMyActions=Os meus eventos incompletas -MenuDoneMyActions=Os meus eventos completos -ListOfEvents=Lista de eventos (calendário interno) -ActionsAskedBy=Eventos registrados por -ActionsToDoBy=Eventos atribuídos à -ActionsDoneBy=Eventos concluído por +MenuToDoMyActions=Meus eventos incompletos +MenuDoneMyActions=Meus eventos terminados +ListOfEvents=Lista de eventos Dolibarr +ActionsAskedBy=Eventos relatados pelo +ActionsToDoBy=Eventos atribuídos para +ActionsDoneBy=Eventos feito por ActionsForUser=Eventos para o usuário ActionsForUsersGroup=Eventos para todos os usuários do grupo ActionAssignedTo=Evento atribuído a AllMyActions=Todos meus eventos/tarefas -AllActions=Todas os eventos/tarefas -ViewCal=Exibir Calendário -ViewDay=Exibir dia -ViewWeek=Exibir semana +AllActions=Todos eventos/tarefas +ViewCal=Ver Mês +ViewDay=Ver dia +ViewWeek=ver semana ViewPerUser=Visão do usuário -ViewWithPredefinedFilters=Exibir com filtros predefinidos -AgendaAutoActionDesc=Defina aqui quais os eventos que deseja que o Dolibarr adicione automaticamente na sua agenda. Se nada estiver marcado (por padrão), sera incluído só eventos manualmente na agenda. -AgendaSetupOtherDesc=Esta página fornece opções para permitir a exportação de seus eventos do Dolibarr para um calendário externo (thunderbird, google agenda, ...) -AgendaExtSitesDesc=Esta página permite importar calendários de fontes externas para sua agenda de eventos no Dolibarr. -ActionsEvents=Para qual eventos o Dolibarr irá criar uma atividade na agenda automaticamente -PropalValidatedInDolibarr=Proposta %s validada +AgendaAutoActionDesc=Defina aqui os eventos que deseja que o Dolibarr crie automáticamente em eventos na agenda. Se nada for marcado (por default), somente ações manuias serão inclusas na agenda. +AgendaSetupOtherDesc=Essa página fornece a opção de exportar seus eventos Dolibarr para um calendário externo (thunderbird, google, ...) +AgendaExtSitesDesc=Essa página permite declarar calendários externos para serem visto nos eventos da agenda Dolibarr. +ActionsEvents=Eventos no qual Dolibarr cria uma ação na agenda automáticamente. +PropalValidatedInDolibarr=Orçamento %s validado InvoiceValidatedInDolibarr=Fatura %s validada InvoiceValidatedInDolibarrFromPos=Fatura %s validada no POS -InvoiceBackToDraftInDolibarr=Fatura %s volta ao estado de rascunho +InvoiceBackToDraftInDolibarr=Fatura %s voltou para o status de rascunho +InvoiceDeleteDolibarr=Fatura %s deletada OrderValidatedInDolibarr=Pedido %s validado OrderDeliveredInDolibarr=Ordem %s classificadas entregues OrderCanceledInDolibarr=Pedido %s cancelado OrderBilledInDolibarr=Ordem %s classificadas faturado OrderApprovedInDolibarr=Pedido %s aprovado OrderRefusedInDolibarr=Pedido %s recusado -OrderBackToDraftInDolibarr=Pedido %s volta ao estado de rascunho -ProposalSentByEMail=Proposta comercial %s enviada por e-mail -OrderSentByEMail=Pedido do cliente %s enviado por e-mail -InvoiceSentByEMail=Fatura do cliente %s enviada por e-mail -SupplierOrderSentByEMail=Pedido do fornecedor %s enviado por e-mail -SupplierInvoiceSentByEMail=Fatura do fornecedor %s enviada por e-mail -ShippingSentByEMail=Embarque %s enviada por e-mail +OrderBackToDraftInDolibarr=Pedido %s voltou para o status de rascunho +ProposalSentByEMail=Orçamento %s enviada por e-mail +OrderSentByEMail=Pedido de cliente %s enviado por e-mail +InvoiceSentByEMail=Fatura de cliente %s enviado por e-mail +SupplierOrderSentByEMail=Pedido de fornecedor %s enviado por e-mail +SupplierInvoiceSentByEMail=Fatura de fornecedor %s enviado por e-mail +ShippingSentByEMail=Frete %s enviado por e-mail ShippingValidated=Envio %s validado -InterventionSentByEMail=Intervenção %s enviada por e-mail -NewCompanyToDolibarr=Fornecedor criado -DateActionPlannedStart=Data de início do planejamento -DateActionPlannedEnd=Data final do planejamento +InterventionSentByEMail=Intervenção %s enviado por e-mail +NewCompanyToDolibarr=Terceiro Criado +DateActionPlannedStart=Data planejada de início +DateActionPlannedEnd=Data planejada de término DateActionDoneStart=Data real de início -DateActionDoneEnd=Data real de fim +DateActionDoneEnd=Data real de término +DateActionStart=Data de início DateActionEnd=Data de término -AgendaUrlOptions1=Você também pode adicionar os seguintes parâmetros para filtrar o resultado: -AgendaUrlOptions2=login =%s ​​para restringir a saída para ações criadas por ou atribuídos para o usuário %s. -AgendaUrlOptions3=logina=%s para restringir açoes de propriedade do usuario %s. -AgendaUrlOptions4=Usuário=%s permitir apenas resultados para atividades atribuídas ao usuário %s. +AgendaUrlOptions1=Você também pode adicionar os seguintes parâmetros nos filtros de saída: +AgendaUrlOptions2=login=%s para restringir a saída para ações criada por, atribuída para ou feito pelo usuário %s. +AgendaUrlOptions3=logina=%s para restringir a saída para ações criada pelo usuário %s. +AgendaUrlOptions4=logint=%s para restringir a saída para ações atribuídas para o usuário %s. AgendaUrlOptionsProject=project=PROJECT_ID para restringir a saida de açoes associadas ao projeto PROJECT_ID. -AgendaShowBirthdayEvents=Visualizar aniversários dos contatos -AgendaHideBirthdayEvents=Esconder aniversários dos contatos -ExportDataset_event1=Lista de eventos na agenda +AgendaShowBirthdayEvents=Mostrar Aniversariantes dos Contatos +AgendaHideBirthdayEvents=Esconder Aniversariantes dos Contatos +ExportDataset_event1=Lista dos eventos da agenda DefaultWorkingDays=Padrão dias úteis por semana (Exemplo: 1-5, 1-6) DefaultWorkingHours=Padrão horas de trabalho em dia (Exemplo: 9-18) -ExtSitesEnableThisTool=Mostrar calendários externos (definidos na configuração global) na agenda. Não afeta calendários externos definidos pelos usuários. -AgendaExtNb=Calendário nr. %s +ExtSitesEnableThisTool=Mostrar calendários externos na agenda +ExtSitesNbOfAgenda=Número de calendarios +AgendaExtNb=Calendário núm %s ExtSiteUrlAgenda=URL para acessar arquivos .ical ExtSiteNoLabel=Sem descrição WorkingTimeRange=Intervalo de tempo trabalhado WorkingDaysRange=Intervalo de dias trabalhado +VisibleTimeRange=Intervalo de tempo visível +VisibleDaysRange=Intervalo de dias visíveis AddEvent=Criar evento MyAvailability=Minha disponibilidade ActionType=Tipo de Evento diff --git a/htdocs/langs/pt_BR/banks.lang b/htdocs/langs/pt_BR/banks.lang index c08eef28cc2..e652d289c91 100644 --- a/htdocs/langs/pt_BR/banks.lang +++ b/htdocs/langs/pt_BR/banks.lang @@ -1,124 +1,139 @@ # Dolibarr language file - Source file is en_US - banks MenuBankCash=Banco/Caixa -MenuSetupBank=Configuração Banco/Caixa -BankName=Nome do Banco -BankAccount=Conta Bancaria -BankAccounts=Contas Bancarias +MenuSetupBank=Configurações Banco/Caixa +BankAccount=Conta Bancária ShowAccount=Visualizar Conta -AccountRef=Ref. Conta Financeira -AccountLabel=Etiqueta da Conta Financeira -CashAccount=Conta Caixa/Efetivo -CashAccounts=Contas Caixa/Efetivo -MainAccount=Conta Principal +AccountRef=Ref. da conta financeira +AccountLabel=Etiqueta da conta financeira +CashAccount=Conta do caixa +CashAccounts=Contas do Caixa +MainAccount=Conta principal CurrentAccount=Conta Corrente -CurrentAccounts=Contas Correntes -SavingAccount=Conta a Prazo -SavingAccounts=Contas a Prazo -ErrorBankLabelAlreadyExists=Etiqueta de Conta Financeira já existente -BankBalanceBefore=Sldo anterior -BankBalanceAfter=Saldo depois +CurrentAccounts=Contas Corrente +SavingAccount=Conta Poupança +SavingAccounts=Contas Poupança +ErrorBankLabelAlreadyExists=Etiqueta de conta financeira já existe +BankBalanceBefore=Saldo anterior +BankBalanceAfter=Saldo posterior +BalanceMinimalAllowed=Saldo mínimo permitido +BalanceMinimalDesired=Saldo mínimo desejado +InitialBankBalance=Saldo inicial +EndBankBalance=Saldo final CurrentBalance=Saldo atual -ShowAllTimeBalance=Mostrar Balanço Desde do Inicio +FutureBalance=Saldo futuro +ShowAllTimeBalance=Mostrar saldo do começo AllTime=Do inicio -RIB=Conta Bancaria +Reconciliation=Reconciliação +RIB=Número da conta bancária IbanValid=IBAN é válido IbanNotValid=IBAN não é válido SwiftValid=BIC / SWIFT é válido SwiftNotValid=BIC / SWIFT não é válido -AccountStatement=Extrato da Conta +AccountStatement=Extrato da conta AccountStatementShort=Extrato -AccountStatements=Extratos das Contas -LastAccountStatements=�ltimos Extratos Bancários -IOMonthlyReporting=Relatório Mensal E/S -BankAccountDomiciliation=Domicilio de Conta -BankAccountCountry=Conta do pais -BankAccountOwner=Nome do Proprietário da Conta -BankAccountOwnerAddress=Endereço do Proprietário da Conta -RIBControlError=Se a integridade das verificações de valores falhar. Isto significa que informações para este número de conta não estão completos ou errados (verifique País, números e IBAN). -NewBankAccount=Nova Conta Bancaria -NewFinancialAccount=Nova Conta Financeira -MenuNewFinancialAccount=Nova Conta Financeira -NewCurrentAccount=Nova Conta Corrente -NewSavingAccount=Nova Conta de a Prazo -SearchBankMovement=Procurar Registo Bancario -LabelBankCashAccount=Etiqueta da Conta ou Caixa -BankType0=Conta Bancaria a Prazo -BankType1=Conta Bancaria Corrente -BankType2=Conta Caixa/Efetivo -IfBankAccount=Se a Conta Bancária -AccountsArea=Área das Contas -AccountCard=Ficha da Conta -ConfirmDeleteAccount=Tem certeza que quer eliminar esta Conta? -ByCategories=Por Categorias -ByRubriques=Por Rúbricas -BankTransactionByCategories=Registros bancários por rúbricas -BankTransactionForCategory=Registros bancários por a rúbrica %s -RemoveFromRubrique=Eliminar link com rúbrica -RemoveFromRubriqueConfirm=Tem certeza que quer eliminar o link entre a transação e a rubrica? -ListBankTransactions=Lista de Transações -IdTransaction=Id de Transação -BankTransactions=Transações Bancarias -SearchTransaction=Procurar Registo -ListTransactions=Lista Transações -ListTransactionsByCategory=Lista Transações/Categoria -TransactionsToConciliate=Registros a Conciliar -IncludeClosedAccount=Incluir Contas Fechadas -OnlyOpenedAccount=Apenas contas abertas -AccountToCredit=Conta de Crédito -AccountToDebit=Conta de Débito -DisableConciliation=Desativar a função de Conciliação para esta Conta -ConciliationDisabled=Função de Conciliação Desativada -StatusAccountOpened=Aberto +AccountStatements=Extratos da conta +LastAccountStatements=Últimos extratos da conta +Rapprochement=Reconciliar +IOMonthlyReporting=Relatório Mensal +BankAccountDomiciliation=Endereço da conta +BankAccountCountry=País da conta +BankAccountOwner=Nome do titular da conta +BankAccountOwnerAddress=Endereço do titular da conta +RIBControlError=Verificação da integridade dos valores falhou. Isso significa que esse número de conta não esta completo ou errado (verifique país, número e agência). +CreateAccount=Criar conta +NewAccount=Nova conta +NewBankAccount=Nova conta bancária +NewFinancialAccount=Nova conta financeira +MenuNewFinancialAccount=Nova conta financeira +NewCurrentAccount=Nova conta corrente +NewSavingAccount=Nova conta poupança +NewCashAccount=Nova conta de caixa +EditFinancialAccount=Editar conta +AccountSetup=Configurações de contas financeira +SearchBankMovement=Procurar movimentação bancária +LabelBankCashAccount=Etiqueta do banco ou caixa +AccountType=Tipo de conta +BankType0=Conta poupança +BankType1=Conta corrente +BankType2=Conta caixa +IfBankAccount=Se conta bancária +AccountsArea=Área das contas +AccountCard=Ficha da conta +DeleteAccount=Deletar conta +ConfirmDeleteAccount=Você tem certeza que deseja deletar essa conta? +ByRubriques=Por categorias +BankTransactionByCategories=Transações bancárias por categorias +BankTransactionForCategory=Transações bancárias por categoria %s +RemoveFromRubrique=Remover vinculo com categoria +RemoveFromRubriqueConfirm=Você tem certeza que deseja remover o vinculo entre transação e categoria? +ListBankTransactions=Lista de transações bancárias +IdTransaction=Transação ID +BankTransactions=Transações bancarias +SearchTransaction=Procurar transações +ListTransactions=Lista de transações +ListTransactionsByCategory=Lista de transação/categoria +TransactionsToConciliate=Transações para reconciliação +Conciliable=Pode ser reconciliado +Conciliate=Reconciliar +Conciliation=Reconciliação +ConciliationForAccount=Reconcilie essa conta +IncludeClosedAccount=Incluir contas inativas +OnlyOpenedAccount=Somente contas ativas +AccountToCredit=Conta para crédito +AccountToDebit=Conta para débito +DisableConciliation=Desativar função de reconciliação dessa conta +ConciliationDisabled=Função de reconciliação desativada +StatusAccountOpened=Ativa +StatusAccountClosed=Inativa EditBankRecord=Editar Registo -AddBankRecord=Adicionar Registo -AddBankRecordLong=Realizar um registo manual fora de uma fatura -BankLineConciliated=Registo Conciliado -CustomerInvoicePayment=Pagamento de Cliente -CustomerInvoicePaymentBack=Pagamento do cliente de volta -SupplierInvoicePayment=Pagamento a Fornecedor -WithdrawalPayment=Reembolso -SocialContributionPayment=Pagamento de imposto social / fiscal -FinancialAccountJournal=Diário de Tesouraria da Conta -BankTransfer=Transferencia Bancaria -BankTransfers=Transferências Bancarias -TransferDesc=Ao criar uma transferencia de uma das suas contas bancarias fazia outra, Dolibarr cria os registros contabeis (um de débito em uma Conta e outro de crédito, do mesmo valor, na outra Conta. Se utiliza para os dois registros a mesma etiqueta de transferencia e a mesma data) -TransferFromToDone=A transferencia de %s fazia %s de %s %s foi criado. -ValidateCheckReceipt=Validar esta ficha de entregas? -ConfirmValidateCheckReceipt=Tem certeza que quer Confirmar esta ficha (Nenhuma modificação será possível uma vez a ficha este validada)? -DeleteCheckReceipt=Eliminar esta ficha de entregas? -ConfirmDeleteCheckReceipt=Tem certeza que quer eliminar esta ficha? -BankChecksToReceipt=Cheques a Depositar -ShowCheckReceipt=Mostra recibos do deposito com cheque. -NumberOfCheques=N� de Cheques -DeleteTransaction=Eliminar a Transação -ConfirmDeleteTransaction=Tem certeza que quer eliminar esta transação? -ThisWillAlsoDeleteBankRecord=Esto eliminará também os registros bancários gerados -CashBudget=Orçamento de Tesouraria -PlannedTransactions=Transações Previstas -Graph=Graficos -ExportDataset_banque_1=Transação Bancaria e Extrato de Conta +LineRecord=Transação +AddBankRecord=Adicionar transação +AddBankRecordLong=Adicionar manualmente uma transação +ConciliatedBy=Reconciliado por +DateConciliating=Data da reconciliação +BankLineConciliated=Transação reconciliada +CustomerInvoicePaymentBack=Pagamento do cliente estorno +SocialContributionPayment=Pagamento de contribuição social +FinancialAccountJournal=Registro diário da conta financeira +BankTransfers=Transferências Bancária +TransferDesc=Transferência de uma conta a outra, Dolibarr irá escrever dois registro (uma de débito na conta fonte e outra de crédito na conta alvo, do mesmo montante. A mesma etiqueta e data será usada nesta transação) +TransferFromToDone=Uma transferência de %s para %s de %s %s foi registrado. +ValidateCheckReceipt=Validar esse recibo de cheque? +ConfirmValidateCheckReceipt=Você tem certeza que deseja validar esse recibo de cheque? (não será possível desvalidar depois dessa confirmação) +DeleteCheckReceipt=Deletar esse recibo de cheque? +ConfirmDeleteCheckReceipt=Você tem certeza que deseja deletar esse recibo de cheque? +BankChecks=Cheques do banco +BankChecksToReceipt=Cheques esperando por depósito +ShowCheckReceipt=Mostrar recibo de depósito do cheque +NumberOfCheques=Núm de cheques +DeleteTransaction=Deletar transação +ConfirmDeleteTransaction=Você tem certeza que deseja deletar essa transação? +ThisWillAlsoDeleteBankRecord=Isso também irá deletar transação bancária gerada +CashBudget=Orçamento de caixa +PlannedTransactions=Transações planejadas +ExportDataset_banque_1=Transações bancárias e extrato da conta ExportDataset_banque_2=comprovante de depósito -TransactionOnTheOtherAccount=Transação Sobre Outra Conta -TransactionWithOtherAccount=Transferencia de Conta -PaymentNumberUpdateSucceeded=Numero de pagamento modificado -PaymentNumberUpdateFailed=Numero de pagamento não foi possível modificar -PaymentDateUpdateFailed=Data de pagamento não pode ser modificada +TransactionOnTheOtherAccount=transação de outra conta +TransactionWithOtherAccount=transferência de conta +PaymentNumberUpdateSucceeded=Número de pagamento atualizado com sucesso +PaymentNumberUpdateFailed=Número de pagamento não foi possível ser atualizada +PaymentDateUpdateSucceeded=Data de pagamento foi atualizada com sucesso +PaymentDateUpdateFailed=Data de pagamento não foi possível ser atualizada Transactions=Transações BankTransactionLine=Transação Bancária -AllAccounts=Todas as Contas bancarias/de Caixa -BackToAccount=Voltar e a Conta -FutureTransaction=Transação futura. Impossivel conciliar. -SelectChequeTransactionAndGenerate=Selecionar/filtrar cheques a se incluir no recibo de deposito e clickar no "Criar" -InputReceiptNumber=Escolha o extrato bancário relacionadas com a conciliação. Use um valor numérico classificável: AAAAMM ou AAAAMMDD -EventualyAddCategory=Posivelmente especificar a categoria para se clasificar os registros -ToConciliate=A se conciliar ? -ThenCheckLinesAndConciliate=Verificar as linhas presentes no relatorio do banco e clickar -BankDashboard=Somario de contas bancarias -DefaultRIB=BAN padrao +AllAccounts=Todas contas bancária/caixa +BackToAccount=Volte para conta +ShowAllAccounts=Mostre todas as contas +FutureTransaction=Transação futura. Não pode ser conciliada. +SelectChequeTransactionAndGenerate=Selecionar/filtrar cheques para incluir dentro de recibos de cheques depositados e clique em "Criar". +InputReceiptNumber=Escolha um estrato bancário relacionado com conciliação. Use um valor numérico classificável (tal como, YYYYMM) +EventualyAddCategory=Eventualmente, especifique a categoria na qual os registros será classificado +ThenCheckLinesAndConciliate=Então, verifique as linhas presente no estrato bancário e clique +BankDashboard=Resumo das contas bancárias +DefaultRIB=BAN padrão AllRIB=Todos BAN -NoBANRecord=Nao tem registro BAN -DeleteARib=Apagar registro BAN -ConfirmDeleteRib=Voce tem certeza que quer apagar este registro BAN ? +DeleteARib=Deletar registro de BAN +ConfirmDeleteRib=Você tem certeza que deseja deletar esse registro de BAN? StartDate=Data de início EndDate=Data final RejectCheck=Verifique rejeição diff --git a/htdocs/langs/pt_BR/bills.lang b/htdocs/langs/pt_BR/bills.lang index adc214c60f3..e026cc827f2 100644 --- a/htdocs/langs/pt_BR/bills.lang +++ b/htdocs/langs/pt_BR/bills.lang @@ -273,6 +273,8 @@ PaymentTypeVIR=Transferência Bancaria PaymentTypePRE=Débito Direto Bancario PaymentTypeShortPRE=Débito Direto PaymentTypeLIQ=Espécie +PaymentTypeTIP=Depósito +PaymentTypeShortTIP=Depósito PaymentTypeTRA=Letra BankDetails=Dados Bancários BankCode=Código Banco diff --git a/htdocs/langs/pt_BR/companies.lang b/htdocs/langs/pt_BR/companies.lang index fe85da94e9a..74aa4351721 100644 --- a/htdocs/langs/pt_BR/companies.lang +++ b/htdocs/langs/pt_BR/companies.lang @@ -1,187 +1,245 @@ # Dolibarr language file - Source file is en_US - companies -ErrorCompanyNameAlreadyExists=Nome da empresa %s já existe. Indique outro. -ErrorPrefixAlreadyExists=Prefixo %s já existe. Indique outro. -ErrorSetACountryFirst=Primeiro defina o Pais -SelectThirdParty=Selecione um cliente/fornecedor -DeleteThirdParty=Excluir um cliente/fornecedor -ConfirmDeleteCompany=Tem certeza que quer excluir esta empresa e toda a informação dela pendente? -DeleteContact=Excluir um contato -ConfirmDeleteContact=Tem certeza que quer excluir este contato e toda a sua informação inerente? -MenuNewThirdParty=Novo cliente/fornecedor -MenuNewProspect=Novo cliente em potencial +ErrorCompanyNameAlreadyExists=Nome da empresa %s já existe. Escolha outro. +ErrorPrefixAlreadyExists=Prefixo %s já existe. Escolha outro. +ErrorSetACountryFirst=Defina o país primeiro +DeleteThirdParty=Delete um terceiro +ConfirmDeleteCompany=Você tem certeza que deseja deletar essa empresa e todas informações herdadas? +DeleteContact=Deletar um contato/endereço +ConfirmDeleteContact=Você tem certeza que deseja deletar esse contato e todas informações herdadas? +MenuNewThirdParty=Novo terceiro +MenuNewCompany=Nova empresa +MenuNewCustomer=Novo cliente +MenuNewProspect=Novo possível cliente MenuNewSupplier=Novo fornecedor -NewCompany=Nova Empresa (cliente em potencial, cliente, fornecedor) -NewThirdParty=Novo cliente/fornecedor (cliente em potencial, cliente, fornecedor) +MenuNewPrivateIndividual=Novo particular +NewCompany=Nova empresa (possível cliente, cliente e fornecedor) +NewThirdParty=Novo terceiro (possível cliente, cliente e fornecedor) NewSocGroup=Novo grupo de empresas -NewPrivateIndividual=Nova pessoa física (cliente em potencial, cliente, fornecedor) +NewPrivateIndividual=Novo particular (possível cliente, cliente e fornecedor) CreateDolibarrThirdPartySupplier=Criar um fornecedor -SocGroup=Agrupamento de empresas -IdThirdParty=ID do cliente/fornecedor -IdContact=Id Contato -Contacts=Contatos -ThirdPartyContacts=Contatos de clientes/fornecedores -ThirdPartyContact=Contato/Endereço de cliente/fornecedor -StatusContactValidated=Estado do Contato +ProspectionArea=Área de prospecção +SocGroup=Grupo de empresas +IdThirdParty=Terceiro ID +IdCompany=Empresa ID +IdContact=Contato ID +Contacts=Contatos/Endereços +ThirdPartyContacts=Contato de terceiros +ThirdPartyContact=Contato/Endereço de terceiros +StatusContactValidated=Status de Contato/Endereço AliasNames=Nome do alias (comercial, marca registrada, ...) AliasNameShort=Nome do alias -CountryIsInEEC=País da Comunidadeee Económica Europeia -ThirdPartyName=Nome do cliente/fornecedor -ThirdParty=Cliente/Fornecedor -ThirdParties=Clientes/Fornecedores -ThirdPartyAll=Clientes/Fornecedores (Todos) -ThirdPartyProspects=Clientes em potencial -ThirdPartyProspectsStats=Clientes em potencial -ThirdPartyType=Tipo de cliente/fornecedor -ToCreateContactWithSameName=Criar automaticamente um contato fisico com a mesma informação -ParentCompany=Casa Mãe -Subsidiary=Subsidiário -Subsidiaries=Subsidiários -NoSubsidiary=Sem subsidiário -RegisteredOffice=Domicilio Social +CountryIsInEEC=País se encontra dentro da Comunidade Europeia +ThirdPartyName=Nome do terceiro +ThirdPartyProspects=Possíveis clientes +ThirdPartyProspectsStats=Possíveis clientes +ThirdPartyCustomersWithIdProf12=Clientes com %s ou %s +ThirdPartyType=Tipos de terceiros +ToCreateContactWithSameName=Irá criar automaticamente um contato físico com a mesma informação +ParentCompany=Empresa pai +Subsidiaries=Filiais +NoSubsidiary=Não é filial +ReportByCustomers=Relatório pelos clientes +ReportByQuarter=Relatório pela taxa +CivilityCode=Código civil +RegisteredOffice=Escritório registrado +Lastname=Sobrenome +PostOrFunction=Cargo/Função +Surname=Apelido Address=Endereço -CountryCode=Código País -CountryId=ID do país +State=Estado +CountryCode=Código do País +CountryId=País ID PhoneShort=Telefone -Call=Ligar -PhonePerso=Telef. Particular -No_Email=Não envie e-mails em massa -Zip=Código Postal +Call=Chamar +PhonePro=Tel. comercial +PhonePerso=Tel. particular +PhoneMobile=Celular +No_Email=Não enviar e-mails massivos (spam) +Zip=CEP Town=Município -DefaultLang=Linguagem por padrão +Web=Web Site +DefaultLang=Língua default VATIsUsed=Sujeito a ICMS VATIsNotUsed=Não Sujeito a ICMS -CopyAddressFromSoc=Preencha com o endereço do cliente/fornecedor +CopyAddressFromSoc=Preencher endereço com o endereço do terceiro NoEmailDefined=Não tem email definido -LocalTax1IsUsedES=Sujeito a RE -LocalTax1IsNotUsedES=Não sujeito a RE -LocalTax2IsUsedES=Sujeito a IRPF -LocalTax2IsNotUsedES=Não sujeito a IRPF +LocalTax1IsUsedES=É usado RE +LocalTax1IsNotUsedES=Não é usado RE +LocalTax2IsUsedES=É usado IRPF +LocalTax2IsNotUsedES=Não é usado IRPF TypeLocaltax1ES=RE Tipo TypeLocaltax2ES=IRPF Tipo -WrongCustomerCode=Código cliente incorreto -WrongSupplierCode=Código do fornecedor incorreto +WrongCustomerCode=Código do cliente esta invalido +WrongSupplierCode=Código do fornecedor esta invalido +CustomerCodeModel=Modelo de código do cliente +SupplierCodeModel=Modelo de código do fornecedor ProfId6Short=Prof. id 6 -ProfId5=ID profesional 5 -ProfId6=ID profesional 6 -ProfId2AR=Prof Id 2 (Receitas brutas) -ProfId1BE=Núm da Ordem -ProfId2ES=Prof Id 2 (Número do seguro social) -ProfId3IN=Prof Id 3 (Taxa de Serviço) -ProfId3MX=Prof Id 3 (Carta Profissional) -ProfId1RU=Id prof 1 (I.E.) -ProfId2RU=Id prof 2 (I.M.) -ProfId3RU=Id prof. 3 (CGC) -ProfId4RU=Id prof. 4 (Livre) -VATIntra=Cadastro Nacional Pessoa Juridica - CNPJ -ProspectCustomer=Cliente em potencial/Cliente -Prospect=Cliente em potencial -CompanyHasRelativeDiscount=Este cliente tem um Desconto por default de %s%% -CompanyHasNoRelativeDiscount=Este cliente não tem Descontos relativos por default -CompanyHasAbsoluteDiscount=Este cliente tem %s %s Descontos fixos disponíveis -CompanyHasCreditNote=Este cliente tem %s %s recibos disponíveis -CompanyHasNoAbsoluteDiscount=Este cliente não tem mais Descontos fixos disponíveis -CustomerAbsoluteDiscountAllUsers=Descontos fixos em curso (acordado por todos os Usuário) -DefaultDiscount=Desconto por Fefeito -AvailableGlobalDiscounts=Descontos Fixos Disponíveis -AddContact=Criar contato -AddContactAddress=Criar contato/endereço +ProfId1=ID profissional 1 +ProfId2=ID profissional 2 +ProfId3=ID profissional 3 +ProfId4=ID profissional 4 +ProfId5=ID profissional 5 +ProfId6=ID profissional 6 +ProfId1BE=Prof Id 1 (Número profissional) +ProfId4BR=CNPJ/CPF +ProfId3CH=Prof Id 1 (Número federal) +ProfId4CH=Prof Id 2 (Número gravado comercial) +ProfId2ES=Prof Id 2 (Número de seguro social) +ProfId4ES=Prof Id 4 (Número do colegial) +VATIntra=Número ICMS +VATIntraShort=Núm ICMS +VATIntraVeryShort=ICMS +VATIntraSyntaxIsValid=Sintaxe é válida +VATIntraValueIsValid=Valor é válido +ProspectCustomer=Possível cliente / Cliente +Prospect=Possível cliente +CustomerCard=Ficha do Cliente +CustomerDiscount=Desconto do Cliente +CustomerRelativeDiscount=Desconto relativo do cliente +CustomerAbsoluteDiscount=Desconto fixo do cliente +CustomerRelativeDiscountShort=Desconto relativo +CustomerAbsoluteDiscountShort=Desconto fixo +CompanyHasRelativeDiscount=Esse cliente tem um desconto padrão de %s%% +CompanyHasNoRelativeDiscount=Esse cliente não tem desconto relativo por padrão +CompanyHasAbsoluteDiscount=Este cliente ainda tem desconto de créditos ou depósitos por %s %s +CompanyHasCreditNote=Esse cliente ainda tem notas de crédito por %s %s +CompanyHasNoAbsoluteDiscount=Esse cliente não tem desconto de crédito disponível +CustomerAbsoluteDiscountAllUsers=Desconto fixo (concedido para todos usuários) +CustomerAbsoluteDiscountMy=Desconto fixo (concedido para seu usuário) +DefaultDiscount=Desconto padrão +AvailableGlobalDiscounts=Desconto fixo disponível +DiscountNone=Nenhum +CompanyList=Lista de empresas +AddContact=Adicionar contato +AddContactAddress=Adicionar contato/endereço EditContact=Editar contato -EditContactAddress=Editar contato/endereco +EditContactAddress=Editar contato/endereço Contact=Contato -ContactsAddresses=Contatos/Enderecos -NoContactDefinedForThirdParty=Nenhum contato definido para este cliente/fornecedor -NoContactDefined=Nenhum contato definido -DefaultContact=Contato por Padrao -AddThirdParty=Criar cliente/fornecedor -SupplierCode=Código do fornecedor +ContactsAddresses=Contatos/Endereços +NoContactDefinedForThirdParty=Nenhum contato esta definido para esse terceiro +NoContactDefined=Nenhum contato esta definido +DefaultContact=Contato/endereço padrão +AddCompany=Adicionar empresa +AddThirdParty=Adicionar terceiro +DeleteACompany=Deletar empresa +PersonalInformations=Dados Pessoais +CustomerCode=Código de cliente +SupplierCode=Código de fornecedor +CustomerAccount=Conta do cliente SupplierAccount=Conta do fornecedor -SupplierCodeDesc=Código do fornecedor, único para cada fornecedor -RequiredIfCustomer=Requerida se for cliente ou cliente em potencial -RequiredIfSupplier=Obrigatório se for fornecedor -LastProspect=último cliente em potencial -ProspectToContact=Cliente em potencial a contatar -ListOfContacts=Lista de Contatos/Endereços +CustomerCodeDesc=Código de cliente, único para todos os clientes +SupplierCodeDesc=Código de fornecedor, único para todos os fornecedores +RequiredIfCustomer=Necessário se o terceiro for um cliente ou um possível cliente +RequiredIfSupplier=Necessário se o terceiro for um fornecedor +ValidityControledByModule=Validação controlada pelo módulo +ThisIsModuleRules=Esta é a regra é para esse módulo +LastProspect=Último +ProspectToContact=Possível cliente para contatar +CompanyDeleted=Empresa "%s" foi deletada do banco de dados. +ListOfContacts=Lista de contatos/endereços ListOfContactsAddresses=Lista de Contatos/Endereços -ListOfProspectsContacts=Lista de Contatos Clientes Potenciais -ListOfCustomersContacts=Lista de Contatos Clientes -ListOfSuppliersContacts=Lista de contatos de fornecedores -ListOfThirdParties=Lista de clientes/fornecedores -ShowContact=Mostrar Contato -ContactType=Tipo de Contato -ContactForOrders=Contato para Pedidos -ContactForProposals=Contato de Orçamentos -ContactForContracts=Contato de Contratos -ContactForInvoices=Contato de Faturas -NoContactForAnyOrder=Este contato não é contato de nenhum pedido -NoContactForAnyProposal=Este contato não é contato de nenhum orçamento -NoContactForAnyContract=Este contato não é contato de nenhum contrato -NoContactForAnyInvoice=Este contato não é contato de nenhuma fatura -NewContact=Novo Contato -NewContactAddress=Novo Contato/Endereço +ListOfProspectsContacts=Lista de contatos de possíveis clientes +ListOfCustomersContacts=Lista de Contatos de clientes +ListOfSuppliersContacts=Lista de Contatos de fornecedores +ListOfCompanies=Lista de empresas +ListOfThirdParties=Lista de terceiros +ShowContact=Mostrar contato +ContactType=Tipo de contato +ContactForOrders=Contato de pedidos +ContactForProposals=Contato de orçamentos +ContactForContracts=Contato de contratos +ContactForInvoices=Contato de faturas +NoContactForAnyOrder=Esse contato não é de nenhum pedido +NoContactForAnyProposal=Esse contato não é de nenhum orçamento +NoContactForAnyContract=Esse contato não é de nenhum contrato +NoContactForAnyInvoice=Esse contato não é de nenhuma fatura +NewContact=Novo contato +NewContactAddress=Novo contato/endereço LastContacts=Últimos contatos -MyContacts=Meus Contatos -EditDeliveryAddress=Modificar Endereço de Envio -ThisUserIsNot=Este usuário não é um cliente em potencial, nem um cliente, nem um fornecedor -VATIntraCheckDesc=o link %s permite consultar à serviço europeo de control de números de ICMS intracomunitario. Se requer acesso a internet para que o serviço funcione -VATIntraCheckURL=http://www.receita.fazenda.gov.br/pessoajuridica/cnpj/cnpjreva/cnpjreva_solicitacao.asp -VATIntraCheckableOnEUSite=Verificar na web da Comisión Europea -VATIntraManualCheck=pode também realizar uma verificação manual na web europea
    %s
    permite perguntar ao serviço de verificação da VAT europeia. Acesso externo a internet é necessário para o serviço. +VATIntraCheckableOnEUSite=Verificar taxa VAT no site da comissão europeia +VATIntraManualCheck=Você pode também verificar manualmente no site europeu %s +ErrorVATCheckMS_UNAVAILABLE=Verificação não é possível. Verifique o serviço não é necessário por um membro de estado (%s). +NorProspectNorCustomer=Nem possível cliente, nem cliente +JuridicalStatus=Estado jurídico +Staff=Funcionários +ProspectLevelShort=Pos. Cli. +ProspectLevel=Possível cliente ContactPublic=Compartilhado -OthersNotLinkedToThirdParty=Outros, não associado à um cliente/fornecedor -ProspectStatus=Estado do cliente em potencial -StatusProspect-1=Não contatar -StatusProspect1=A contatar -StatusProspect2=Contato em Curso -StatusProspect3=Contato Realizado -ChangeDoNotContact=Alterar o estado para ' Não contatar ' -ChangeToContact=Alterar o estado para 'A contatar' -ChangeContactInProcess=Alterar o Estado para 'Contato em Curso' -ChangeContactDone=Alterar o Estado para 'Contato Realizado' -ProspectsByStatus=Clientes em potencial por estado -BillingContact=Contato para Faturação -NbOfAttachedFiles=N de Arquivos Anexos -AttachANewFile=Adicionar um Novo Arquivo -ExportCardToFormat=Exportar Ficha para o Formato -ContactNotLinkedToCompany=Contato não associado à um cliente/fornecedor -ExportDataset_company_1=Cilentes/Fornecedores (Empresas/Instituíções/Pessoas Fisicas) e propriedades -ExportDataset_company_2=Contatos de Fornecedor e Atributos -ImportDataset_company_1=Clientes/Fornecedores (Empresas/Fundações/Pessoas Físicas) e propriedades -ImportDataset_company_2=Contatos/Enderecos (de clientes/fornecedores ou não) e atributos -ImportDataset_company_3=Dados Bancários -PriceLevel=Nível de Preços -DeliveriesAddress=Endereço(ões) de Envio -DeliveryAddress=Endereço de Envio -DeliveryAddressLabel=Etiqueta de Envio -DeleteDeliveryAddress=Eliminar uma Endereço de Envio -ConfirmDeleteDeliveryAddress=? Tem certeza que quer eliminar esta endereço de envio? -NewDeliveryAddress=Nova Endereço de Envio -AddDeliveryAddress=Criar endereço -AddAddress=Criar endereço -NoOtherDeliveryAddress=Não Existe Endereço alternatica definidas -SupplierCategory=Categoria de Fornecedor -JuridicalStatus200=Estado Juridico -DeleteFile=Apagar um Arquivo -ConfirmDeleteFile=? Tem certeza que quer eliminar este Arquivo? -AllocateCommercial=Assinado ao representate de vendas -SelectCountry=Selecionar um País -SelectCompany=Selecionar um Fornecedor -AutomaticallyGenerated=Gerado Automaticamente -YouMustCreateContactFirst=Você deve cadastrar contatos de e-mail para um cliente/fornecedor para ser possível adicionar notificações por e-mail. -ListSuppliersShort=Lista de Fornecedores -ListProspectsShort=Lista de clientes em potencial -ListCustomersShort=Lista de Clientes -ThirdPartiesArea=Área de clientes/fornecedores e contatos -LastModifiedThirdParties=Os ultimos %s clitentes/fornecedores modificados -UniqueThirdParties=Total de clientes/fornecedores únicos -ActivityStateFilter=Status das atividades -ProductsIntoElements=Lista de produtos para %s +ContactVisibility=Visível +OthersNotLinkedToThirdParty=Outros, não esta vinculado a terceiros +ProspectStatus=Status de possível cliente +PL_UNKNOWN=Desconhecido +PL_MEDIUM=Médio +TE_STARTUP=Empresa começando +TE_GROUP=Empresa de grande porte +TE_MEDIUM=Empresa de médio porte +TE_ADMIN=Governo +TE_SMALL=Empresa de pequeno porte +TE_RETAIL=Varejista +TE_WHOLE=Atacadista +TE_PRIVATE=Particular +StatusProspect-1=Não entrar em contato +StatusProspect0=Nunca entrar em contato +StatusProspect1=Entrar em contato +StatusProspect2=Contato em andamento +StatusProspect3=Contato feito +ChangeDoNotContact=Trocar status para 'Não entrar em contato' +ChangeNeverContacted=Trocar status para 'Nunca entrar em contato' +ChangeToContact=Trocar status para 'Entrar em contato' +ChangeContactInProcess=Trocar status para 'Contato em andamento' +ChangeContactDone=Trocar status para 'Contato feito' +ProspectsByStatus=Possível cliente pelo status +BillingContact=Contato de cobrança +NbOfAttachedFiles=Número de arquivos anexados +AttachANewFile=Anexar novo arquivo +NoRIB=Nenhum BAN esta definido +ContactNotLinkedToCompany=Contato não esta vinculado a nenhum terceiro +NoDolibarrAccess=Sem acesso ao Dolibarr +ExportDataset_company_1=Terceiros (Empresas/Associações/Particulares) e propriedades +ExportDataset_company_2=Contatos e propriedades +ImportDataset_company_1=Terceiros (Empresas/Associações/Particulares) e propriedades +ImportDataset_company_2=Contatos/Endereços (terceiros ou não) e atributos +ImportDataset_company_3=Detalhes bancários +PriceLevel=Nível de preço +DeliveriesAddress=Endereços de entrega +DeliveryAddress=Endereço de entrega +DeliveryAddressLabel=Etiqueta de endereço de entrega +DeleteDeliveryAddress=Deletar um endereço de entrega +ConfirmDeleteDeliveryAddress=Você tem certeza que deseja deletar esse endereço de entrega? +NewDeliveryAddress=Novo endereço de entrega +AddDeliveryAddress=Adicionar endereço +AddAddress=Adicionar endereço +NoOtherDeliveryAddress=Nenhum endereço de entrega alternativo esta definido +SupplierCategory=Categoria de fornecedor +DeleteFile=Deletar arquivo +ConfirmDeleteFile=Você tem certeza que deseja deletar esse arquivo? +AllocateCommercial=Atribuido para representante de vendas +SelectCountry=Selecione um país +SelectCompany=Selecione um terceiro +Organization=Organização +AutomaticallyGenerated=Gerado automaticamente +FiscalYearInformation=Informações do ano fiscal +FiscalMonthStart=Mês inicial do ano fiscal +YouMustCreateContactFirst=Você deve criar contatos com e-mail de terceiros para poder enviar notificações por e-mails. +ListProspectsShort=Lista de possíveis clientes +ThirdPartiesArea=Área de terceiros +LastModifiedThirdParties=Última modificação de terceiros foi %s +UniqueThirdParties=Total de terceiros únicos +InActivity=Ativo +ActivityCeased=Inativo +ActivityStateFilter=Status ativo +ProductsIntoElements=Lista de produtos dentro de CurrentOutstandingBill=Notas aberta correntes -OutstandingBill=Max. permitido para uma nota aberta +OutstandingBill=Conta excelente OutstandingBillReached=Chegou ao max permitido para nostas abertas -MonkeyNumRefModelDesc=Devolve um número baixo o formato %syymm-nnnn para os códigos de clientes e %syymm-nnnn para os códigos dos Fornecedores, donde yy é o ano, mm o mês e nnnn um contador seq�êncial sem ruptura e sem Voltar a 0. +MonkeyNumRefModelDesc=Retorna um número no formato %syymm-nnnn para código de cliente e %syymm-nnnn para código de fornecedor onde yy é o ano, mm é o mês e nnnn é uma sequência numerica crescente (não repete, não retorna no zero). +LeopardNumRefModelDesc=O código é livre. Esse código pode ser modificado a qualquer hora. ManagingDirectors=Nome do Representante(CEO,Diretor,Presidente...) SearchThirdparty=Pesquisar terceiros SearchContact=Procurar contato diff --git a/htdocs/langs/pt_BR/contracts.lang b/htdocs/langs/pt_BR/contracts.lang index 2a176ef5269..ae4416d8bcc 100644 --- a/htdocs/langs/pt_BR/contracts.lang +++ b/htdocs/langs/pt_BR/contracts.lang @@ -14,6 +14,8 @@ ServiceStatusClosed=Encerrado ServicesLegend=Legenda para os Serviços Contracts=Contratos ContractsAndLine=Contratos e linha de contratos +ContractLine=Linha contrato +Closing=Fechando NoContracts=Sem Contratos MenuInactiveServices=Serviços Inativos MenuRunningServices=Serviços Ativos diff --git a/htdocs/langs/pt_BR/errors.lang b/htdocs/langs/pt_BR/errors.lang index 3e9b1761015..2af889656c1 100644 --- a/htdocs/langs/pt_BR/errors.lang +++ b/htdocs/langs/pt_BR/errors.lang @@ -65,6 +65,7 @@ ErrorRecordIsUsedCantDelete=Não é possível excluir registro. Ele já é usado ErrorModuleRequireJavascript=Javascript não deve ser desativado para ter esse recurso funcionando. Para ativar / desativar o Javascript, vá ao menu Home-> Configuração-> Display. ErrorContactEMail=Ocorreu um erro técnico. Por favor, contate o administrador no seguinte e-mail %s e forneça o seguinte código de erro %s em sua mensagem. Ou, se possível, adicione uma foto da tela - print screen. ErrorWrongValueForField=Valor errado para o número do campo% s (valor '% s' não corresponde regra% s) +ErrorFieldValueNotIn=Valor errado para o número de campo %s (valor '%s' não é um valor disponível no campo %s da tabela %s) ErrorFieldRefNotIn=Valor errado para o número do campo% s (valor '% s' não é um% s ref existente) ErrorsOnXLines=Erros no registro de origem% s (s) ErrorSpecialCharNotAllowedForField=Os caracteres especiais não são permitidos para o campo "% s" diff --git a/htdocs/langs/pt_BR/exports.lang b/htdocs/langs/pt_BR/exports.lang index 560f17b5d95..75ee05ba6f9 100644 --- a/htdocs/langs/pt_BR/exports.lang +++ b/htdocs/langs/pt_BR/exports.lang @@ -22,6 +22,7 @@ NoImportableData=Não existe tipo de dados importavel (não existe nenhum módul FileSuccessfullyBuilt=Arquivo de exportação gerado SQLUsedForExport=Pedido de SQL usado para construir exportação de arquivo LineId=Id da Linha +LineLabel=Rótulo de linha LineDescription=Descrição da Linha LineUnitPrice=Preço Unitário da Linha LineVATRate=Taxa ICMS por Linha diff --git a/htdocs/langs/pt_BR/languages.lang b/htdocs/langs/pt_BR/languages.lang index 9cc12283347..0e410bb6f4a 100644 --- a/htdocs/langs/pt_BR/languages.lang +++ b/htdocs/langs/pt_BR/languages.lang @@ -26,6 +26,7 @@ Language_fr_BE=Fançes (Belgica) Language_fr_CA=Françes (Canada) Language_fr_CH=Françes (Suiça) Language_fr_FR=Françes +Language_fy_NL=Holandês Language_he_IL=Ebreo Language_hu_HU=Ungeres Language_is_IS=Islandes @@ -37,5 +38,6 @@ Language_pl_PL=Polones Language_pt_BR=Portugues (Brasil) Language_pt_PT=Portugues Language_ru_UA=Russo (Ukrania) +Language_sr_RS=Sérvio Language_zh_CN=Chines Language_zh_TW=Chines (Tradicional) diff --git a/htdocs/langs/pt_BR/main.lang b/htdocs/langs/pt_BR/main.lang index ad15241507d..96f743193c1 100644 --- a/htdocs/langs/pt_BR/main.lang +++ b/htdocs/langs/pt_BR/main.lang @@ -68,6 +68,7 @@ PrecisionUnitIsLimitedToXDecimals=Dolibarr está configurado para limitar a prec WarningYouHaveAtLeastOneTaskLate=Atenção, tem um elemento a menos que passou a data de tolerância. yes=sim no=não +Alls=Todos OnlineHelp=Ajuda online PageWiki=Pagina wiki PeriodEndDate=Data final periodo @@ -326,6 +327,7 @@ GoIntoSetupToChangeLogo=Vá para casa - Configuração - Empresa de mudar logoti Deny=Negar Denied=Negado ListOfTemplates=Lista de modelos +Gender=Gênero Genderman=Homem Genderwoman=Mulher ViewList=Exibição de lista @@ -335,3 +337,4 @@ Sincerely=Sinceramente Saturday=Sabado SaturdayMin=Sab SelectMailModel=Escolha um modelo de e-mail +SetRef=Escolher referência diff --git a/htdocs/langs/pt_BR/products.lang b/htdocs/langs/pt_BR/products.lang index 71c7d4d17a1..9a9eae1416b 100644 --- a/htdocs/langs/pt_BR/products.lang +++ b/htdocs/langs/pt_BR/products.lang @@ -164,6 +164,9 @@ MinimumRecommendedPrice=Preço minimo recomendado e: %s PriceExpressionEditor=Editor de expressão Preço PriceExpressionSelected=Expressão de preço Selecionado PriceExpressionEditorHelp1="Preço = 2 + 2" ou "2 + 2" para fixação do preço. use; para separar expressões +PriceExpressionEditorHelp2=Você pode acessar ExtraFields com variáveis como #extrafield_myextrafieldkey# e variáveis globais com o #global_mycode # +PriceExpressionEditorHelp3=Em ambos produtos/serviços e fornecedores nesses preços há essas variáveis disponíveis:
    #tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=No preço do produto/serviço apenas: #supplier_min_price#
    Em apenas preços com fornecedores: #supplier_quantity# e #supplier_tva_tx# PriceExpressionEditorHelp5=Valores globais disponíveis: PriceMode=Modo de Preço DefaultPrice=Preço padrão diff --git a/htdocs/langs/pt_BR/sendings.lang b/htdocs/langs/pt_BR/sendings.lang index b380b9997e1..0ab884b93f2 100644 --- a/htdocs/langs/pt_BR/sendings.lang +++ b/htdocs/langs/pt_BR/sendings.lang @@ -36,6 +36,7 @@ ProductQtyInCustomersOrdersRunning=Quantidade do produto em aberto ordens client ProductQtyInSuppliersOrdersRunning=Quantidade do produto em ordens abertas fornecedores ProductQtyInShipmentAlreadySent=Quantidade do produto da ordem do cliente abriu já foi enviado ProductQtyInSuppliersShipmentAlreadyRecevied=Quantidade do produto a partir da ordem fornecedor abriu já recebeu +NoProductToShipFoundIntoStock=Nenhum produto para enviar encontrado em armazém %s. Estoque correto ou voltar para escolher outro armazém. SendingMethodCATCH=Remoção pelo cliente SendingMethodTRANS=Transportadora SendingMethodCOLSUI=Acompanhamento diff --git a/htdocs/langs/sl_SI/banks.lang b/htdocs/langs/sl_SI/banks.lang index 28841e03c1b..02db5d817c1 100644 --- a/htdocs/langs/sl_SI/banks.lang +++ b/htdocs/langs/sl_SI/banks.lang @@ -94,12 +94,12 @@ Conciliate=Uskladi Conciliation=Uskladitev ConciliationForAccount=Uskladi ta konto IncludeClosedAccount=Vključi zaprte račune -OnlyOpenedAccount=Only open accounts +OnlyOpenedAccount=Samo odprti računi AccountToCredit=Kreditni konto AccountToDebit=Debetni konto DisableConciliation=Onemogoči funkcijo usklajevanja za ta konto ConciliationDisabled=Funkcija usklajevanja onemogočena -StatusAccountOpened=Open +StatusAccountOpened=Odpri StatusAccountClosed=Zaprt AccountIdShort=Številka EditBankRecord=Urejanje postavk @@ -113,7 +113,7 @@ CustomerInvoicePayment=Plačilo kupca CustomerInvoicePaymentBack=Vrnitev plačila kupcu SupplierInvoicePayment=Plačilo dobavitelju WithdrawalPayment=Nakazano plačilo -SocialContributionPayment=Social/fiscal tax payment +SocialContributionPayment=Plačilo socialnega/fiskalnega davka FinancialAccountJournal=Dnevnik finančnega računa BankTransfer=Bančni transfer BankTransfers=Bančni transferji @@ -165,8 +165,8 @@ DeleteARib=Izbriši BAN zapis ConfirmDeleteRib=Ali zares želite izbrisati ta BAN zapis StartDate=Začetni datum EndDate=Končni datum -RejectCheck=Check rejection -ConfirmRejectCheck=Are you sure you want to mark this check as rejected ? -RejectCheckDate=Check rejection date -CheckRejected=Check rejected -CheckRejectedAndInvoicesReopened=Check rejected and invoices reopened +RejectCheck=Zavrnitev čeka +ConfirmRejectCheck=Ali zares želite označiti ta ček kot zavrnjen? +RejectCheckDate=Datum zavrnitve čeka +CheckRejected=Ček zavrnjen +CheckRejectedAndInvoicesReopened=Ček zavrnjen in računi ponovno odprti diff --git a/htdocs/langs/sl_SI/propal.lang b/htdocs/langs/sl_SI/propal.lang index b080d9c1230..1ed1b45e0bb 100644 --- a/htdocs/langs/sl_SI/propal.lang +++ b/htdocs/langs/sl_SI/propal.lang @@ -4,7 +4,7 @@ Proposal=Komercialna ponudba ProposalShort=Ponudba ProposalsDraft=Osnutek komercialnih ponudb ProposalDraft=Osnutek komercialne ponudbe -ProposalsOpened=Open commercial proposals +ProposalsOpened=Odprte komercialne ponudbe Prop=Komercialne ponudbe CommercialProposal=Komercialna ponudba CommercialProposals=Komercialne ponudbe @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Znesek po mesecih(brez DDV) NbOfProposals=Število komercialnih ponudb ShowPropal=Prikaži ponudbo PropalsDraft=Osnutki -PropalsOpened=Open +PropalsOpened=Odpri PropalsNotBilled=Zaključene, ne fakturirane PropalStatusDraft=Osnutek (potrebno potrditi) PropalStatusValidated=Potrjena (ponudba je odprta) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Nepodpisana (zaprta) PropalStatusBilled=Fakturirana PropalStatusDraftShort=Osnutek PropalStatusValidatedShort=Potrjena -PropalStatusOpenedShort=Open +PropalStatusOpenedShort=Odprt PropalStatusClosedShort=Zaprta PropalStatusSignedShort=Podpisana PropalStatusNotSignedShort=Nepodpisana @@ -51,8 +51,8 @@ PropalsToClose=Komercialne ponudbe, ki jih je potrebno zapreti PropalsToBill=Podpisane komercialne ponudbe, ki jih je potrebno fakturirati ListOfProposals=Seznam komercialnih ponudb ActionsOnPropal=Aktivnosti v zvezi s ponudbo -NoOpenedPropals=No open commercial proposals -NoOtherOpenedPropals=No other open commercial proposals +NoOpenedPropals=Ni odprtih komercialnih ponudb +NoOtherOpenedPropals=Ni drugih odprtih komercialnih ponudb RefProposal=Referenca komercialne ponudbe SendPropalByMail=Pošlji komercialno ponudbo po pošti AssociatedDocuments=Dokumenti, povezani s ponudbo: @@ -98,4 +98,4 @@ DocModelJauneDescription=Vzorec ponudbe Jaune DefaultModelPropalCreate=Ustvarjanje privzetega modela DefaultModelPropalToBill=Privzeta predloga za zaključek ponudbe (za fakturiranje) DefaultModelPropalClosed=Privzeta predloga za zaključek ponudbe (nefakturirana) -ProposalCustomerSignature=Written acceptance, company stamp, date and signature +ProposalCustomerSignature=Pisna potrditev, žig podjetja, datum in podpis diff --git a/htdocs/langs/sl_SI/withdrawals.lang b/htdocs/langs/sl_SI/withdrawals.lang index d8cf8ac20d8..d0f00722b94 100644 --- a/htdocs/langs/sl_SI/withdrawals.lang +++ b/htdocs/langs/sl_SI/withdrawals.lang @@ -85,10 +85,10 @@ SetToStatusSent=Nastavi status na "Datoteka poslana" ThisWillAlsoAddPaymentOnInvoice=S tem bodo plačila povezana z računi, ki bodo spremenili status v "Plačano" StatisticsByLineStatus=Statistika po statusu vrstic RUM=RUM -RUMWillBeGenerated=RUM number will be generated once bank account information are saved -WithdrawMode=Withdraw mode (FRST or RECUR) -WithdrawRequestAmount=Withdraw request amount: -WithdrawRequestErrorNilAmount=Unable to create withdraw request for nil amount. +RUMWillBeGenerated=Številka RUM bo ustvarjena, ko bodo shranjeni podatki o bančnem računu +WithdrawMode=Način dviga (FRST ali RECUR) +WithdrawRequestAmount=Želen znesek dviga: +WithdrawRequestErrorNilAmount=Ni možno ustvariti zahteve za dvig zneska nič. ### Notifications InfoCreditSubject=Plačilo odprtega naročila %s s strani banke diff --git a/htdocs/langs/sr_RS/companies.lang b/htdocs/langs/sr_RS/companies.lang index 764ca969350..ac01f97c299 100644 --- a/htdocs/langs/sr_RS/companies.lang +++ b/htdocs/langs/sr_RS/companies.lang @@ -1,9 +1,9 @@ # Dolibarr language file - Source file is en_US - companies ErrorCompanyNameAlreadyExists=Company name %s already exists. Choose another one. ErrorPrefixAlreadyExists=Prefix %s already exists. Choose another one. -ErrorSetACountryFirst=Set the country first -SelectThirdParty=Select a third party -DeleteThirdParty=Delete a third party +ErrorSetACountryFirst=Prvo izaberi državu +SelectThirdParty=Izaberi subjekat +DeleteThirdParty=Obriši subjekat ConfirmDeleteCompany=Are you sure you want to delete this company and all inherited information ? DeleteContact=Delete a contact/address ConfirmDeleteContact=Are you sure you want to delete this contact and all inherited information ? @@ -30,8 +30,8 @@ ThirdPartyContact=Third party contact/address StatusContactValidated=Status of contact/address Company=Company CompanyName=Company name -AliasNames=Alias name (commercial, trademark, ...) -AliasNameShort=Alias name +AliasNames=Alias (komercijalni) +AliasNameShort=Alias Companies=Companies CountryIsInEEC=Country is inside European Economic Community ThirdPartyName=Third party name @@ -69,7 +69,7 @@ Country=Country CountryCode=Country code CountryId=Country id Phone=Phone -PhoneShort=Phone +PhoneShort=Telefon Skype=Skype Call=Call Chat=Chat diff --git a/htdocs/langs/sr_RS/main.lang b/htdocs/langs/sr_RS/main.lang index 8ebb74139ae..ab812a9b841 100644 --- a/htdocs/langs/sr_RS/main.lang +++ b/htdocs/langs/sr_RS/main.lang @@ -8,86 +8,86 @@ FONTFORPDF=helvetica FONTSIZEFORPDF=10 SeparatorDecimal=. SeparatorThousand=, -FormatDateShort=%m/%d/%Y -FormatDateShortInput=%m/%d/%Y -FormatDateShortJava=MM/dd/yyyy -FormatDateShortJavaInput=MM/dd/yyyy -FormatDateShortJQuery=mm/dd/yy -FormatDateShortJQueryInput=mm/dd/yy +FormatDateShort=%d/%m/%Y +FormatDateShortInput=%d/%m/%Y +FormatDateShortJava=dd/MM/yyyy +FormatDateShortJavaInput=dd/MM/yyyy +FormatDateShortJQuery=dd/mm/yy +FormatDateShortJQueryInput=dd/mm/yy FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y FormatDateText=%B %d, %Y -FormatDateHourShort=%m/%d/%Y %I:%M %p -FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p +FormatDateHourShort=%d/%m/%Y %I:%M %p +FormatDateHourSecShort=%d/%m/%Y %I:%M:%S %p FormatDateHourTextShort=%b %d, %Y, %I:%M %p FormatDateHourText=%B %d, %Y, %I:%M %p DatabaseConnection=Database connection -NoTranslation=No translation +NoTranslation=Nema prevoda NoRecordFound=No record found -NoError=No error -Error=Error -ErrorFieldRequired=Field '%s' is required -ErrorFieldFormat=Field '%s' has a bad value -ErrorFileDoesNotExists=File %s does not exist +NoError=Nema greške +Error=Greška +ErrorFieldRequired=Polje '%s' je obavezno +ErrorFieldFormat=Polje '%s' sadrži pogrešnu vrednost +ErrorFileDoesNotExists=Fajl %s ne postoji ErrorFailedToOpenFile=Failed to open file %s ErrorCanNotCreateDir=Can not create dir %s ErrorCanNotReadDir=Can not read dir %s -ErrorConstantNotDefined=Parameter %s not defined -ErrorUnknown=Unknown error -ErrorSQL=SQL Error -ErrorLogoFileNotFound=Logo file '%s' was not found -ErrorGoToGlobalSetup=Go to 'Company/Foundation' setup to fix this -ErrorGoToModuleSetup=Go to Module setup to fix this -ErrorFailedToSendMail=Failed to send mail (sender=%s, receiver=%s) -ErrorAttachedFilesDisabled=File attaching is disabled on this server +ErrorConstantNotDefined=Parametar %s nije definisan +ErrorUnknown=Nepoznata greška +ErrorSQL=Greška u SQL-u +ErrorLogoFileNotFound=Logo fajl '%s' nije pronađen +ErrorGoToGlobalSetup=Idite u 'Company/Foundation' podešavanja da ovo ispravite +ErrorGoToModuleSetup=Idite u podešavanja Modula da ovo ispravite +ErrorFailedToSendMail=Greška u slanju mail-a (pošiljalac=%s, primalac=%s) +ErrorAttachedFilesDisabled=Fajlovi u prilogu su deaktivirani na ovom serveru ErrorFileNotUploaded=File was not uploaded. Check that size does not exceed maximum allowed, that free space is available on disk and that there is not already a file with same name in this directory. -ErrorInternalErrorDetected=Error detected -ErrorNoRequestRan=No request ran -ErrorWrongHostParameter=Wrong host parameter -ErrorYourCountryIsNotDefined=Your country is not defined. Go to Home-Setup-Edit and post again the form. +ErrorInternalErrorDetected=Detektovana je greška +ErrorNoRequestRan=Nema izvršenih upita +ErrorWrongHostParameter=Pogrešan host parametar +ErrorYourCountryIsNotDefined=Vaša zemlja nije definisana. Idite na Početna-Podešavanja-Izmene i ponovo popunite formu ErrorRecordIsUsedByChild=Failed to delete this record. This record is used by at least one child records. -ErrorWrongValue=Wrong value +ErrorWrongValue=Pogrešna vrednost ErrorWrongValueForParameterX=Wrong value for parameter %s -ErrorNoRequestInError=No request in error -ErrorServiceUnavailableTryLater=Service not available for the moment. Try again later. +ErrorNoRequestInError=Nema upita sa greškom +ErrorServiceUnavailableTryLater=Servis trenutno nije dostupan. Pokušajte ponovo. ErrorDuplicateField=Duplicate value in a unique field -ErrorSomeErrorWereFoundRollbackIsDone=Some errors were found. We rollback changes. +ErrorSomeErrorWereFoundRollbackIsDone=Detektovane su greške. Poništavamo sve promene. ErrorConfigParameterNotDefined=Parameter %s is not defined inside Dolibarr config file conf.php. ErrorCantLoadUserFromDolibarrDatabase=Failed to find user %s in Dolibarr database. ErrorNoVATRateDefinedForSellerCountry=Error, no vat rates defined for country '%s'. ErrorNoSocialContributionForSellerCountry=Error, no social/fiscal taxes type defined for country '%s'. -ErrorFailedToSaveFile=Error, failed to save file. -SetDate=Set date -SelectDate=Select a date -SeeAlso=See also %s -SeeHere=See here -BackgroundColorByDefault=Default background color +ErrorFailedToSaveFile=Greška, nemoguće sačuvati fajl. +SetDate=Postavi datum +SelectDate=Izaberi datum +SeeAlso=Pogledajte i %s +SeeHere=Pogledaj ovde +BackgroundColorByDefault=Default boja pozadine FileNotUploaded=The file was not uploaded FileUploaded=The file was successfully uploaded FileWasNotUploaded=A file is selected for attachment but was not yet uploaded. Click on "Attach file" for this. -NbOfEntries=Nb of entries -GoToWikiHelpPage=Read online help (need Internet access) -GoToHelpPage=Read help -RecordSaved=Record saved -RecordDeleted=Record deleted +NbOfEntries=Br linija +GoToWikiHelpPage=Pročitajte online pomoć (potrebna je internet konekcija) +GoToHelpPage=Pročitajte pomoć +RecordSaved=Linija sačuvana +RecordDeleted=Linija obrisana LevelOfFeature=Level of features -NotDefined=Not defined +NotDefined=Nije definisano DefinedAndHasThisValue=Defined and value to -IsNotDefined=undefined +IsNotDefined=nedefinisano DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr authentication mode is setup to %s in configuration file conf.php.
    This means that password database is extern to Dolibarr, so changing this field may have no effects. Administrator=Administrator -Undefined=Undefined -PasswordForgotten=Password forgotten ? -SeeAbove=See above +Undefined=Nedefinisano +PasswordForgotten=Zaboravljena lozinka ? +SeeAbove=Pogledajte iznad HomeArea=Home area -LastConnexion=Last connection -PreviousConnexion=Previous connection +LastConnexion=Poslednja konekcija +PreviousConnexion=Prethodna konekcija ConnectedOnMultiCompany=Connected on environment -ConnectedSince=Connected since +ConnectedSince=Konektovani ste od AuthenticationMode=Authentification mode -RequestedUrl=Requested Url +RequestedUrl=Traženi Url DatabaseTypeManager=Database type manager RequestLastAccess=Request for last database access RequestLastAccessInError=Request for last database access in error @@ -95,136 +95,136 @@ ReturnCodeLastAccessInError=Return code for last database access in error InformationLastAccessInError=Information for last database access in error DolibarrHasDetectedError=Dolibarr has detected a technical error InformationToHelpDiagnose=This is information that can help diagnostic -MoreInformation=More information -TechnicalInformation=Technical information -NotePublic=Note (public) -NotePrivate=Note (private) +MoreInformation=Više informacija +TechnicalInformation=Tehnički podaci +NotePublic=Beleška (javna) +NotePrivate=Beleška (privatna) PrecisionUnitIsLimitedToXDecimals=Dolibarr was setup to limit precision of unit prices to %s decimals. DoTest=Test ToFilter=Filter WarningYouHaveAtLeastOneTaskLate=Warning, you have at least one element that has exceeded the tolerance delay. -yes=yes -Yes=Yes -no=no -No=No -All=All -Alls=All -Home=Home -Help=Help -OnlineHelp=Online help -PageWiki=Wiki page -Always=Always -Never=Never -Under=under +yes=da +Yes=Da +no=ne +No=Ne +All=Sve +Alls=Sve +Home=Početna +Help=Pomoć +OnlineHelp=Online pomoć +PageWiki=Wiki stranica +Always=Uvek +Never=Nikad +Under=ispod Period=Period -PeriodEndDate=End date for period -Activate=Activate -Activated=Activated -Closed=Closed +PeriodEndDate=Kraj perioda +Activate=Aktivirajte +Activated=Uključeno +Closed=Zatvoreno Closed2=Closed -Enabled=Enabled +Enabled=Uključeno Deprecated=Deprecated -Disable=Disable -Disabled=Disabled -Add=Add -AddLink=Add link -RemoveLink=Remove link +Disable=Isključite +Disabled=Isključeno +Add=Dodajte +AddLink=Dodajte link +RemoveLink=Ukloni link Update=Update AddActionToDo=Add event to do AddActionDone=Add event done -Close=Close -Close2=Close -Confirm=Confirm +Close=Zatvori +Close2=Zatvori +Confirm=Potvrdi ConfirmSendCardByMail=Do you really want to send content of this card by mail to %s ? -Delete=Delete -Remove=Remove -Resiliate=Resiliate -Cancel=Cancel -Modify=Modify -Edit=Edit -Validate=Validate -ValidateAndApprove=Validate and Approve -ToValidate=To validate -Save=Save -SaveAs=Save As -TestConnection=Test connection -ToClone=Clone +Delete=Obriši +Remove=Ukloni +Resiliate=Otkaži +Cancel=Poništi +Modify=Izmeni +Edit=Izmeni +Validate=Potvrdi +ValidateAndApprove=Validiraj i Odobri +ToValidate=Potvrditi +Save=Sačuvaj +SaveAs=Sačuvaj kao +TestConnection=Testiraj konekciju +ToClone=Kloniraj ConfirmClone=Choose data you want to clone : NoCloneOptionsSpecified=No data to clone defined. -Of=of +Of=od Go=Go Run=Run CopyOf=Copy of -Show=Show +Show=Pokaži ShowCardHere=Show card Search=Search SearchOf=Search -Valid=Valid -Approve=Approve -Disapprove=Disapprove +Valid=Validno +Approve=Odobri +Disapprove=Odbij ReOpen=Re-Open -Upload=Send file -ToLink=Link -Select=Select -Choose=Choose +Upload=Pošalji fajl +ToLink=ink +Select=Izaberi +Choose=Izaberi ChooseLangage=Please choose your language Resize=Resize Recenter=Recenter -Author=Author -User=User -Users=Users -Group=Group -Groups=Groups -NoUserGroupDefined=No user group defined -Password=Password +Author=Autor +User=Korisnik +Users=Korisnici +Group=Grupa +Groups=Grupe +NoUserGroupDefined=Korisnička grupa nije definisana +Password=Lozinka PasswordRetype=Retype your password NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. -Name=Name -Person=Person -Parameter=Parameter -Parameters=Parameters -Value=Value -GlobalValue=Global value +Name=Ime +Person=Osoba +Parameter=Parametar +Parameters=Parametri +Value=Vrednost +GlobalValue=Globalna vrednost PersonalValue=Personal value -NewValue=New value -CurrentValue=Current value -Code=Code -Type=Type -Language=Language +NewValue=Nova vrednost +CurrentValue=Trenutna vrednost +Code=Kod +Type=Tip +Language=Jezik MultiLanguage=Multi-language -Note=Note +Note=Beleška CurrentNote=Current note -Title=Title +Title=Naslov Label=Label RefOrLabel=Ref. or label Info=Log -Family=Family -Description=Description -Designation=Description +Family=Familija +Description=Opis +Designation=Opis Model=Model DefaultModel=Default model -Action=Event -About=About -Number=Number -NumberByMonth=Number by month -AmountByMonth=Amount by month -Numero=Number +Action=Događaj +About=O +Number=Broj +NumberByMonth=Broj po mesecu +AmountByMonth=Svota po mesecu +Numero=Broj Limit=Limit -Limits=Limits +Limits=Limiti DevelopmentTeam=Development Team Logout=Logout NoLogoutProcessWithAuthMode=No applicative disconnect feature with authentication mode %s -Connection=Connection -Setup=Setup +Connection=Konekcija +Setup=Podešavanja Alert=Alert -Previous=Previous -Next=Next +Previous=Prethodno +Next=Sledeće Cards=Cards Card=Card -Now=Now -HourStart=Start hour -Date=Date -DateAndHour=Date and hour +Now=Sada +HourStart=Vreme početka +Date=Datum +DateAndHour=Datum i vreme DateStart=Date start DateEnd=Date end DateCreation=Creation date @@ -245,36 +245,36 @@ DatePlanShort=Date planed DateRealShort=Date real. DateBuild=Report build date DatePayment=Date of payment -DateApprove=Approving date -DateApprove2=Approving date (second approval) -DurationYear=year -DurationMonth=month -DurationWeek=week -DurationDay=day -DurationYears=years -DurationMonths=months -DurationWeeks=weeks -DurationDays=days -Year=Year -Month=Month -Week=Week -Day=Day -Hour=Hour -Minute=Minute -Second=Second -Years=Years -Months=Months -Days=Days -days=days -Hours=Hours -Minutes=Minutes -Seconds=Seconds -Weeks=Weeks -Today=Today -Yesterday=Yesterday -Tomorrow=Tomorrow -Morning=Morning -Afternoon=Afternoon +DateApprove=Vreme odobravanja +DateApprove2=Vreme odobravanja (drugo odobrenje) +DurationYear=godina +DurationMonth=mesec +DurationWeek=nedelja +DurationDay=dan +DurationYears=godine +DurationMonths=meseci +DurationWeeks=nedelje +DurationDays=dani +Year=Godina +Month=Mesec +Week=Nedelja +Day=Dan +Hour=Sat +Minute=Minut +Second=Sekund +Years=Godine +Months=Meseci +Days=Dani +days=dani +Hours=Sati +Minutes=Minuti +Seconds=Sekunde +Weeks=Nedelje +Today=Danas +Yesterday=Juče +Tomorrow=Sutra +Morning=Pre podne +Afternoon=Posle podne Quadri=Quadri MonthOfDay=Month of the day HourShort=H @@ -295,14 +295,14 @@ Cut=Cut Copy=Copy Paste=Paste Default=Default -DefaultValue=Default value -DefaultGlobalValue=Global value -Price=Price -UnitPrice=Unit price +DefaultValue=Default vrednost +DefaultGlobalValue=Globalna vrednost +Price=Cena +UnitPrice=Jedinična cena UnitPriceHT=Unit price (net) -UnitPriceTTC=Unit price -PriceU=U.P. -PriceUHT=U.P. (net) +UnitPriceTTC=Jedinična cena +PriceU=J.C. +PriceUHT=J.C. (neto) AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. (inc. tax) Amount=Amount @@ -323,7 +323,7 @@ PriceQtyHT=Price for this quantity (net of tax) PriceQtyMinHT=Price quantity min. (net of tax) PriceQtyTTC=Price for this quantity (inc. tax) PriceQtyMinTTC=Price quantity min. (inc. of tax) -Percentage=Percentage +Percentage=Procenat Total=Total SubTotal=Subtotal TotalHTShort=Total (net) @@ -346,14 +346,14 @@ LT1ES=RE LT2ES=IRPF VATRate=Tax Rate Average=Average -Sum=Sum -Delta=Delta -Module=Module -Option=Option -List=List -FullList=Full list -Statistics=Statistics -OtherStatistics=Other statistics +Sum=Suma +Delta=Razlika +Module=Modul +Option=Opcija +List=Lista +FullList=Cela lista +Statistics=Statistike +OtherStatistics=Druge statistike Status=Status Favorite=Favorite ShortInfo=Info. @@ -362,18 +362,18 @@ ExternalRef=Ref. extern RefSupplier=Ref. supplier RefPayment=Ref. payment CommercialProposalsShort=Commercial proposals -Comment=Comment -Comments=Comments +Comment=Komentar +Comments=Komentari ActionsToDo=Events to do ActionsDone=Events done ActionsToDoShort=To do -ActionsRunningshort=Started -ActionsDoneShort=Done +ActionsRunningshort=Započeto +ActionsDoneShort=Završeno ActionNotApplicable=Not applicable ActionRunningNotStarted=To start -ActionRunningShort=Started -ActionDoneShort=Finished -ActionUncomplete=Uncomplete +ActionRunningShort=Započeto +ActionDoneShort=Završeno +ActionUncomplete=nepotpuno CompanyFoundation=Company/Foundation ContactsForCompany=Contacts for this third party ContactsAddressesForCompany=Contacts/addresses for this third party @@ -384,252 +384,252 @@ NActions=%s events NActionsLate=%s late RequestAlreadyDone=Request already recorded Filter=Filter -RemoveFilter=Remove filter -ChartGenerated=Chart generated -ChartNotGenerated=Chart not generated +RemoveFilter=Ukloni filter +ChartGenerated=Grafik generisan +ChartNotGenerated=Grafik nije generisan GeneratedOn=Build on %s -Generate=Generate -Duration=Duration -TotalDuration=Total duration +Generate=Gereriši +Duration=Trajanje +TotalDuration=Ukupno trajanje Summary=Summary MyBookmarks=My bookmarks OtherInformationsBoxes=Other information boxes DolibarrBoard=Dolibarr board -DolibarrStateBoard=Statistics +DolibarrStateBoard=Statistike DolibarrWorkBoard=Work tasks board -Available=Available -NotYetAvailable=Not yet available -NotAvailable=Not available -Popularity=Popularity -Categories=Tags/categories -Category=Tag/category +Available=Dostupno +NotYetAvailable=Još uvek nedostupno +NotAvailable=Nedostupno +Popularity=Popularnost +Categories=Tagovi/kategorije +Category=Tag/kategorija By=By -From=From +From=Od to=to -and=and -or=or -Other=Other -Others=Others -OtherInformations=Other informations -Quantity=Quantity -Qty=Qty -ChangedBy=Changed by -ApprovedBy=Approved by -ApprovedBy2=Approved by (second approval) -Approved=Approved -Refused=Refused +and=i +or=ili +Other=Drugo +Others=Drugi +OtherInformations=Druge informacije +Quantity=Količina +Qty=Kol. +ChangedBy=Izmenio +ApprovedBy=Odobrio +ApprovedBy2=Odobrio (drugo odobrenje) +Approved=Odobreno +Refused=Odbijeno ReCalculate=Recalculate ResultOk=Success ResultKo=Failure -Reporting=Reporting -Reportings=Reporting +Reporting=Izveštavanje +Reportings=Izveštavanje Draft=Draft Drafts=Drafts -Validated=Validated -Opened=Open -New=New -Discount=Discount -Unknown=Unknown -General=General -Size=Size -Received=Received -Paid=Paid -Topic=Sujet +Validated=Validirano +Opened=Otvori +New=Novo +Discount=Popust +Unknown=Nepoznato +General=Opšte +Size=Veličina +Received=Primljeno +Paid=Plaćeno +Topic=Tema ByCompanies=By third parties ByUsers=By users -Links=Links +Links=Linkovi Link=Link Receipts=Receipts -Rejects=Rejects +Rejects=Odbijeni Preview=Preview -NextStep=Next step -PreviousStep=Previous step -Datas=Data -None=None -NoneF=None -Late=Late -Photo=Picture -Photos=Pictures -AddPhoto=Add picture +NextStep=Sledeće +PreviousStep=Prethodno +Datas=Podaci +None=Ništa +NoneF=Ništa +Late=Kasni +Photo=Slika +Photos=Slike +AddPhoto=Dodaj sliku Login=Login -CurrentLogin=Current login -January=January -February=February -March=March +CurrentLogin=Trenutni login +January=Januar +February=Februar +March=Mart April=April -May=May -June=June -July=July -August=August -September=September -October=October -November=November -December=December +May=Maj +June=Jun +July=Jul +August=Avgust +September=Septembar +October=Oktobar +November=Novembar +December=Decembar JanuaryMin=Jan FebruaryMin=Feb MarchMin=Mar AprilMin=Apr -MayMin=May +MayMin=Maj JuneMin=Jun JulyMin=Jul -AugustMin=Aug +AugustMin=Avg SeptemberMin=Sep -OctoberMin=Oct +OctoberMin=Okt NovemberMin=Nov DecemberMin=Dec -Month01=January -Month02=February -Month03=March +Month01=Januar +Month02=Februar +Month03=Mart Month04=April -Month05=May -Month06=June -Month07=July -Month08=August -Month09=September -Month10=October -Month11=November -Month12=December +Month05=Maj +Month06=Jun +Month07=Jul +Month08=Avgust +Month09=Septembar +Month10=Oktobar +Month11=Novembar +Month12=Decembar MonthShort01=Jan MonthShort02=Feb MonthShort03=Mar MonthShort04=Apr -MonthShort05=May +MonthShort05=Maj MonthShort06=Jun MonthShort07=Jul -MonthShort08=Aug +MonthShort08=Avg MonthShort09=Sep -MonthShort10=Oct +MonthShort10=Okt MonthShort11=Nov MonthShort12=Dec -AttachedFiles=Attached files and documents -FileTransferComplete=File was uploaded successfuly +AttachedFiles=Fajlovi i dokumenti u prilogu +FileTransferComplete=Fajl je uspešno sačuvan DateFormatYYYYMM=YYYY-MM DateFormatYYYYMMDD=YYYY-MM-DD DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH:SS -ReportName=Report name -ReportPeriod=Report period -ReportDescription=Description -Report=Report -Keyword=Mot clé -Legend=Legend -FillTownFromZip=Fill city from zip -Fill=Fill -Reset=Reset -ShowLog=Show log -File=File -Files=Files -NotAllowed=Not allowed +ReportName=Ime izveštaja +ReportPeriod=Period izveštaja +ReportDescription=Opis +Report=Izveštaj +Keyword=Ključna reč +Legend=Legenda +FillTownFromZip=Ispuni grad iz poštanskog koda +Fill=Ispuni +Reset=Resetuj +ShowLog=Prikaži log +File=Fajl +Files=Fajlovi +NotAllowed=Nije dozvoljeno ReadPermissionNotAllowed=Read permission not allowed AmountInCurrency=Amount in %s currency -Example=Example -Examples=Examples -NoExample=No example -FindBug=Report a bug +Example=Primer +Examples=Primeri +NoExample=Nema primera +FindBug=Prijavi bug NbOfThirdParties=Number of third parties -NbOfCustomers=Number of customers -NbOfLines=Number of lines -NbOfObjects=Number of objects +NbOfCustomers=Broj klijenata +NbOfLines=Broj linija +NbOfObjects=Broj objekata NbOfReferers=Number of referrers Referers=Refering objects -TotalQuantity=Total quantity -DateFromTo=From %s to %s -DateFrom=From %s -DateUntil=Until %s -Check=Check +TotalQuantity=Ukupna količina +DateFromTo=Od %s do %s +DateFrom=Od %s +DateUntil=Do %s +Check=Proveri Uncheck=Uncheck -Internal=Internal -External=External -Internals=Internal -Externals=External -Warning=Warning -Warnings=Warnings -BuildPDF=Build PDF -RebuildPDF=Rebuild PDF -BuildDoc=Build Doc -RebuildDoc=Rebuild Doc -Entity=Environment +Internal=interni +External=Eksterni +Internals=Interni +Externals=Eksterni +Warning=Upozorenje +Warnings=Upozorenja +BuildPDF=Generiši PDF +RebuildPDF=Regeneriši PDF +BuildDoc=Generiši Doc +RebuildDoc=Regeneriši Doc +Entity=Okruženje Entities=Entities -EventLogs=Logs -CustomerPreview=Customer preview -SupplierPreview=Supplier preview +EventLogs=Logovi +CustomerPreview=Preview klijenta +SupplierPreview=Preview dobavljača AccountancyPreview=Accountancy preview -ShowCustomerPreview=Show customer preview -ShowSupplierPreview=Show supplier preview +ShowCustomerPreview=Prikaži preview klijenta +ShowSupplierPreview=Prikaži preview dobavljača ShowAccountancyPreview=Show accountancy preview ShowProspectPreview=Show prospect preview RefCustomer=Ref. customer -Currency=Currency -InfoAdmin=Information for administrators +Currency=Valuta +InfoAdmin=Informacija za administratore Undo=Undo Redo=Redo ExpandAll=Expand all UndoExpandAll=Undo expand -Reason=Reason +Reason=Razlog FeatureNotYetSupported=Feature not yet supported -CloseWindow=Close window -Question=Question -Response=Response -Priority=Priority -SendByMail=Send by EMail -MailSentBy=Email sent by -TextUsedInTheMessageBody=Email body +CloseWindow=Zatvori prozor +Question=Pitanje +Response=Odgovor +Priority=Prioritet +SendByMail=Poslato mailom +MailSentBy=Mail poslao +TextUsedInTheMessageBody=Sadržaj maila SendAcknowledgementByMail=Send Ack. by email -NoEMail=No email -NoMobilePhone=No mobile phone -Owner=Owner -DetectedVersion=Detected version +NoEMail=Nema maila +NoMobilePhone=Nema mobilnog telefona +Owner=Vlasnik +DetectedVersion=Detektovana verzija FollowingConstantsWillBeSubstituted=The following constants will be replaced with the corresponding value. Refresh=Refresh -BackToList=Back to list -GoBack=Go back +BackToList=Nazad na listu +GoBack=Nazad CanBeModifiedIfOk=Can be modified if valid CanBeModifiedIfKo=Can be modified if not valid -RecordModifiedSuccessfully=Record modified successfully -RecordsModified=%s records modified -AutomaticCode=Automatic code +RecordModifiedSuccessfully=Linija uspešno izmenjena +RecordsModified=%s linija izmenjeno +AutomaticCode=Automatski kod NotManaged=Not managed FeatureDisabled=Feature disabled MoveBox=Move box %s Offered=Offered -NotEnoughPermissions=You don't have permission for this action -SessionName=Session name -Method=Method +NotEnoughPermissions=Nemate pravo da izvršite ovu operaciju +SessionName=Ime sesije +Method=Metoda Receive=Receive -PartialWoman=Partial -PartialMan=Partial -TotalWoman=Total -TotalMan=Total +PartialWoman=Delimično +PartialMan=Delimično +TotalWoman=Celo +TotalMan=Celo NeverReceived=Never received -Canceled=Canceled +Canceled=Otkazano YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary -Color=Color -Documents=Linked files -DocumentsNb=Linked files (%s) -Documents2=Documents -BuildDocuments=Generated documents -UploadDisabled=Upload disabled -MenuECM=Documents +Color=Boja +Documents=Povezani fajlovi +DocumentsNb=Povezani fajlovi (%s) +Documents2=Dokumenti +BuildDocuments=Generisani dokumenti +UploadDisabled=Upload deaktiviran +MenuECM=Dokumenti MenuAWStats=AWStats -MenuMembers=Members +MenuMembers=Članovi MenuAgendaGoogle=Google agenda ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb NoFileFound=No documents saved in this directory -CurrentUserLanguage=Current language -CurrentTheme=Current theme -CurrentMenuManager=Current menu manager -DisabledModules=Disabled modules -For=For -ForCustomer=For customer -Signature=Signature +CurrentUserLanguage=Aktivni jezik +CurrentTheme=Aktivna tema +CurrentMenuManager=Aktivni menu manager +DisabledModules=Deaktivirani moduli +For=Za +ForCustomer=Za klijenta +Signature=Potpis HidePassword=Show command with password hidden UnHidePassword=Show real command with clear password Root=Root -Informations=Informations -Page=Page -Notes=Notes -AddNewLine=Add new line -AddFile=Add file -ListOfFiles=List of available files +Informations=Informacije +Page=Strana +Notes=Beleške +AddNewLine=Dodaj liniju +AddFile=Dodaj fajl +ListOfFiles=Lista dostupnih fajlova FreeZone=Free entry FreeLineOfType=Free entry of type CloneMainAttributes=Clone object with its main attributes @@ -637,61 +637,61 @@ PDFMerge=PDF Merge Merge=Merge PrintContentArea=Show page to print main content area MenuManager=Menu manager -NoMenu=No sub-menu +NoMenu=Nema pod menija WarningYouAreInMaintenanceMode=Warning, you are in a maintenance mode, so only login %s is allowed to use application at the moment. -CoreErrorTitle=System error +CoreErrorTitle=Sistemska greška CoreErrorMessage=Sorry, an error occurred. Check the logs or contact your system administrator. -CreditCard=Credit card -FieldsWithAreMandatory=Fields with %s are mandatory +CreditCard=Kreditna kartica +FieldsWithAreMandatory=Polja sa %s su obavezna FieldsWithIsForPublic=Fields with %s are shown on public list of members. If you don't want this, check off the "public" box. AccordingToGeoIPDatabase=(according to GeoIP convertion) -Line=Line -NotSupported=Not supported -RequiredField=Required field -Result=Result +Line=Linija +NotSupported=Nije podržano +RequiredField=Obavezno polje +Result=Rezultat ToTest=Test ValidateBefore=Card must be validated before using this feature -Visibility=Visibility -Private=Private -Hidden=Hidden -Resources=Resources -Source=Source -Prefix=Prefix -Before=Before -After=After -IPAddress=IP address -Frequency=Frequency +Visibility=Vidljivost +Private=Privatno +Hidden=Skriveno +Resources=Resursi +Source=Izvor +Prefix=Prefiks +Before=Pre +After=Posle +IPAddress=IP adresa +Frequency=Učestalost IM=Instant messaging -NewAttribute=New attribute +NewAttribute=Novi atribut AttributeCode=Attribute code OptionalFieldsSetup=Extra attributes setup -URLPhoto=URL of photo/logo +URLPhoto=URL fotografije/logoa SetLinkToThirdParty=Link to another third party -CreateDraft=Create draft +CreateDraft=Napravi draft SetToDraft=Back to draft -ClickToEdit=Click to edit -ObjectDeleted=Object %s deleted -ByCountry=By country -ByTown=By town -ByDate=By date -ByMonthYear=By month/year -ByYear=By year -ByMonth=By month -ByDay=By day +ClickToEdit=Klikni za edit +ObjectDeleted=Objekat %s je obrisan +ByCountry=Po zemlji +ByTown=Po gradu +ByDate=Po datumu +ByMonthYear=Po mesecu/godini +ByYear=Po godini +ByMonth=Po mesecu +ByDay=Po danu BySalesRepresentative=By sales representative LinkedToSpecificUsers=Linked to a particular user contact -DeleteAFile=Delete a file +DeleteAFile=Obriši fajl ConfirmDeleteAFile=Are you sure you want to delete file -NoResults=No results -SystemTools=System tools -ModulesSystemTools=Modules tools +NoResults=Nema rezultata +SystemTools=Sistemski alati +ModulesSystemTools=Alati modua Test=Test Element=Element -NoPhotoYet=No pictures available yet -HomeDashboard=Home summary +NoPhotoYet=Još nema slika +HomeDashboard=Pregled početne Deductible=Deductible -from=from -toward=toward +from=od +toward=ka Access=Access HelpCopyToClipboard=Use Ctrl+C to copy to clipboard SaveUploadedFileWithMask=Save file on server with name "%s" (otherwise "%s") @@ -699,52 +699,52 @@ OriginFileName=Original filename SetDemandReason=Set source SetBankAccount=Define Bank Account AccountCurrency=Account Currency -ViewPrivateNote=View notes -XMoreLines=%s line(s) hidden -PublicUrl=Public URL +ViewPrivateNote=Pogledaj beleške +XMoreLines=%s linija skrivena(o) +PublicUrl=Javni UR AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh -PrintFile=Print File %s -ShowTransaction=Show transaction +PrintFile=Štampaj fajl %s +ShowTransaction=Prikaži transakciju GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. -Deny=Deny -Denied=Denied +Deny=Odbij +Denied=Odbijeno ListOfTemplates=List of templates -Gender=Gender -Genderman=Man -Genderwoman=Woman +Gender=Pol +Genderman=Muško +Genderwoman=Žensko ViewList=List view -Mandatory=Mandatory -Hello=Hello -Sincerely=Sincerely +Mandatory=Obavezno +Hello=Zdravo +Sincerely=Srdačan pozdrav # Week day -Monday=Monday -Tuesday=Tuesday -Wednesday=Wednesday -Thursday=Thursday -Friday=Friday -Saturday=Saturday -Sunday=Sunday -MondayMin=Mo -TuesdayMin=Tu -WednesdayMin=We -ThursdayMin=Th -FridayMin=Fr -SaturdayMin=Sa -SundayMin=Su -Day1=Monday -Day2=Tuesday -Day3=Wednesday -Day4=Thursday -Day5=Friday -Day6=Saturday -Day0=Sunday -ShortMonday=M -ShortTuesday=T -ShortWednesday=W -ShortThursday=T -ShortFriday=F +Monday=Ponedeljak +Tuesday=Utorak +Wednesday=Sreda +Thursday=Četvrtak +Friday=Petak +Saturday=Subota +Sunday=Nedelja +MondayMin=Po +TuesdayMin=Ut +WednesdayMin=Sr +ThursdayMin=Če +FridayMin=Pe +SaturdayMin=Su +SundayMin=Ne +Day1=Ponedeljak +Day2=Utorak +Day3=Sreda +Day4=Četvrtak +Day5=Petak +Day6=Subota +Day0=Nedelja +ShortMonday=P +ShortTuesday=U +ShortWednesday=S +ShortThursday=Č +ShortFriday=P ShortSaturday=S -ShortSunday=S +ShortSunday=N SelectMailModel=Select email template SetRef=Set ref diff --git a/htdocs/langs/sr_RS/users.lang b/htdocs/langs/sr_RS/users.lang index b4df936bff7..9a52dabdc80 100644 --- a/htdocs/langs/sr_RS/users.lang +++ b/htdocs/langs/sr_RS/users.lang @@ -1,99 +1,99 @@ # Dolibarr language file - Source file is en_US - users HRMArea=HRM area -UserCard=User card -ContactCard=Contact card -GroupCard=Group card -NoContactCard=No card among contacts -Permission=Permission -Permissions=Permissions -EditPassword=Edit password -SendNewPassword=Regenerate and send password -ReinitPassword=Regenerate password -PasswordChangedTo=Password changed to: %s -SubjectNewPassword=Your new password for Dolibarr -AvailableRights=Available permissions -OwnedRights=Owned permissions -GroupRights=Group permissions -UserRights=User permissions -UserGUISetup=User display setup -DisableUser=Disable -DisableAUser=Disable a user -DeleteUser=Delete -DeleteAUser=Delete a user -DisableGroup=Disable -DisableAGroup=Disable a group -EnableAUser=Enable a user -EnableAGroup=Enable a group -DeleteGroup=Delete -DeleteAGroup=Delete a group -ConfirmDisableUser=Are you sure you want to disable user %s ? -ConfirmDisableGroup=Are you sure you want to disable group %s ? -ConfirmDeleteUser=Are you sure you want to delete user %s ? -ConfirmDeleteGroup=Are you sure you want to delete group %s ? -ConfirmEnableUser=Are you sure you want to enable user %s ? -ConfirmEnableGroup=Are you sure you want to enable group %s ? -ConfirmReinitPassword=Are you sure you want to generate a new password for user %s ? -ConfirmSendNewPassword=Are you sure you want to generate and send new password for user %s ? -NewUser=New user -CreateUser=Create user -SearchAGroup=Search a group -SearchAUser=Search a user -LoginNotDefined=Login is not defined. -NameNotDefined=Name is not defined. -ListOfUsers=List of users +UserCard=Kartica korisnika +ContactCard=Kartica kontakta +GroupCard=Kartica grupe +NoContactCard=Nema kartice među kontaktima +Permission=Pravo +Permissions=Prava +EditPassword=Izmeni lozinku +SendNewPassword=Regeneriši i pošalji lozinku +ReinitPassword=Regeneriši lozinku +PasswordChangedTo=Lozinka izmenjena u: %s +SubjectNewPassword=Nova lozinka za Dolibarr +AvailableRights=Dostupna prava +OwnedRights=Aktivna prava +GroupRights=Prava grupe +UserRights=Prava korisnika +UserGUISetup=Podešavanja prikaza korisnika +DisableUser=Deaktiviraj +DisableAUser=Deaktiviraj korisnika +DeleteUser=Obriši +DeleteAUser=Obriši korisnika +DisableGroup=Deaktiviraj +DisableAGroup=Deaktiviraj grupu +EnableAUser=Aktiviraj korisnika +EnableAGroup=Aktiviraj grupu +DeleteGroup=Obriši +DeleteAGroup=iši grupu +ConfirmDisableUser=Da li ste sigurni da želite da deaktivirate korisnika %s ? +ConfirmDisableGroup=Da li ste sigurni da želite da deaktivirate grupu %s ? +ConfirmDeleteUser=Da li ste sigurni da želite da obrišete korisnika %s ? +ConfirmDeleteGroup=Da li ste sigurni da želite da obrišete grupu %s ? +ConfirmEnableUser=Da li ste sigurni da želite da aktivirate korisnika %s ? +ConfirmEnableGroup=Da li ste sigurni da želite da aktivirate grupu %s ? +ConfirmReinitPassword=Da li ste sigurni da želite da generišete novu lozinku za korisnika %s ? +ConfirmSendNewPassword=Da li ste sigurni da želite da generišete i pošaljete novu lozinku za korisnika %s ? +NewUser=Novi korisnik +CreateUser=Kreiraj korisnika +SearchAGroup=Traži grupu +SearchAUser=Traži korisnika +LoginNotDefined=Login nije definisan. +NameNotDefined=Ime nije definisano. +ListOfUsers=Lista korisnika Administrator=Administrator SuperAdministrator=Super Administrator -SuperAdministratorDesc=Global administrator +SuperAdministratorDesc=Globalni administrator AdministratorDesc=Administrator's entity -DefaultRights=Default permissions +DefaultRights=Default prava DefaultRightsDesc=Define here default permissions that are automatically granted to a new created user (Go on user card to change permission of an existing user). -DolibarrUsers=Dolibarr users -LastName=Name -FirstName=First name -ListOfGroups=List of groups -NewGroup=New group -CreateGroup=Create group -RemoveFromGroup=Remove from group +DolibarrUsers=Dolibarr korisnici +LastName=Ime +FirstName=Ime +ListOfGroups=Lista grupa +NewGroup=Nova grupa +CreateGroup=Kreiraj grupu +RemoveFromGroup=Izbaci iz grupe PasswordChangedAndSentTo=Password changed and sent to %s. PasswordChangeRequestSent=Request to change password for %s sent to %s. -MenuUsersAndGroups=Users & Groups -MenuMyUserCard=My user card -LastGroupsCreated=Last %s created groups -LastUsersCreated=Last %s users created -ShowGroup=Show group -ShowUser=Show user -NonAffectedUsers=Non assigned users -UserModified=User modified successfully -PhotoFile=Photo file -UserWithDolibarrAccess=User with Dolibarr access -ListOfUsersInGroup=List of users in this group -ListOfGroupsForUser=List of groups for this user -UsersToAdd=Users to add to this group -GroupsToAdd=Groups to add to this user -NoLogin=No login -LinkToCompanyContact=Link to third party / contact -LinkedToDolibarrMember=Link to member -LinkedToDolibarrUser=Link to Dolibarr user -LinkedToDolibarrThirdParty=Link to Dolibarr third party -CreateDolibarrLogin=Create a user -CreateDolibarrThirdParty=Create a third party -LoginAccountDisable=Account disabled, put a new login to activate it. -LoginAccountDisableInDolibarr=Account disabled in Dolibarr. -LoginAccountDisableInLdap=Account disabled in the domain. -UsePersonalValue=Use personal value -GuiLanguage=Interface language -InternalUser=Internal user -MyInformations=My data -ExportDataset_user_1=Dolibarr's users and properties -DomainUser=Domain user %s -Reactivate=Reactivate +MenuUsersAndGroups=Korisnici & Grupe +MenuMyUserCard=Moja korisnička kartica +LastGroupsCreated=Poslednjih %s kreiranih grupa +LastUsersCreated=Poslednjih %s kreiranih korisnika +ShowGroup=Prikaži grupu +ShowUser=Prikaži korisnika +NonAffectedUsers=Nedodeljeni korisnici +UserModified=Korisnik je uspešno izmenjen +PhotoFile=Photo fajl +UserWithDolibarrAccess=Korisnik sa Dolibarr pristupom +ListOfUsersInGroup=Lista korisnika u ovoj grupi +ListOfGroupsForUser=Lista grupa za ovog korisnika +UsersToAdd=Korisnici za dodavanje u ovu grupu +GroupsToAdd=Grupe za dodavanje ovom korisniku +NoLogin=Nema login-a +LinkToCompanyContact=Link ka subjektu / kontaktu +LinkedToDolibarrMember=Link ka članu +LinkedToDolibarrUser=Link ka Dolibarr korisniku +LinkedToDolibarrThirdParty=Link ka Dolibarr subjektu +CreateDolibarrLogin=Kreiraj korisnika +CreateDolibarrThirdParty=Kreiraj subjekat +LoginAccountDisable=Nalog je deaktiviran, unesite novi login da biste ga aktivirali. +LoginAccountDisableInDolibarr=Nalog je deaktiviran u Dolibarr-u +LoginAccountDisableInLdap=Nalog je deaktiviran u domenu. +UsePersonalValue=Upotrebi lićnu vrednost +GuiLanguage=Jezik interfejsa +InternalUser=Interni korsnik +MyInformations=Moji podaci +ExportDataset_user_1=Korisnici Dolibarr-a i parametri +DomainUser=Korisnik domena %s +Reactivate=Reaktiviraj CreateInternalUserDesc=This form allows you to create an user internal to your company/foundation. To create an external user (customer, supplier, ...), use the button 'Create Dolibarr user' from third party's contact card. InternalExternalDesc=An internal user is a user that is part of your company/foundation.
    An external user is a customer, supplier or other.

    In both cases, permissions defines rights on Dolibarr, also external user can have a different menu manager than internal user (See Home - Setup - Display) PermissionInheritedFromAGroup=Permission granted because inherited from one of a user's group. -Inherited=Inherited +Inherited=Nasleđeno UserWillBeInternalUser=Created user will be an internal user (because not linked to a particular third party) UserWillBeExternalUser=Created user will be an external user (because linked to a particular third party) -IdPhoneCaller=Id phone caller +IdPhoneCaller=Id telefonskog poziva UserLogged=User %s login UserLogoff=User %s logout NewUserCreated=User %s created @@ -103,21 +103,21 @@ UserDisabled=User %s disabled UserEnabled=User %s activated UserDeleted=User %s removed NewGroupCreated=Group %s created -GroupModified=Group %s modified +GroupModified=Grupa %s je izmenjena GroupDeleted=Group %s removed ConfirmCreateContact=Are you sure you want to create a Dolibarr account for this contact ? ConfirmCreateLogin=Are you sure you want to create a Dolibarr account for this member ? ConfirmCreateThirdParty=Are you sure you want to create a third party for this member ? LoginToCreate=Login to create NameToCreate=Name of third party to create -YourRole=Your roles -YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=Nb of users +YourRole=Vaši profili +YourQuotaOfUsersIsReached=Vaša kvota aktivnih korisnika je dostignuta ! +NbOfUsers=Br korisnika DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin -HierarchicalResponsible=Supervisor -HierarchicView=Hierarchical view +HierarchicalResponsible=Supervizor +HierarchicView=Hijerarhijski prikaz UseTypeFieldToChange=Use field Type to change -OpenIDURL=OpenID URL -LoginUsingOpenID=Use OpenID to login -WeeklyHours=Weekly hours -ColorUser=Color of the user +OpenIDURL=OpenID UR +LoginUsingOpenID=Uloguj se sa OpenID-em +WeeklyHours=Nedeljni broj sati +ColorUser=Boja korisnika diff --git a/htdocs/langs/zh_CN/cron.lang b/htdocs/langs/zh_CN/cron.lang index a9186a3589e..38a87982d23 100644 --- a/htdocs/langs/zh_CN/cron.lang +++ b/htdocs/langs/zh_CN/cron.lang @@ -33,7 +33,7 @@ CronExecute=Launch scheduled jobs CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs -CronTask=Job +CronTask=工作 CronNone=无 CronDtStart=开始日期 CronDtEnd=结束日期 diff --git a/htdocs/livraison/card.php b/htdocs/livraison/card.php index 54e45080efb..ec4feeb6bf9 100644 --- a/htdocs/livraison/card.php +++ b/htdocs/livraison/card.php @@ -238,7 +238,7 @@ $formfile = new FormFile($db); if ($action == 'create') { - print_fiche_titre($langs->trans("CreateADeliveryOrder")); + print load_fiche_titre($langs->trans("CreateADeliveryOrder")); if ($mesg) { diff --git a/htdocs/livraison/class/livraison.class.php b/htdocs/livraison/class/livraison.class.php index c996c2a1bc5..d8eb9a80e5d 100644 --- a/htdocs/livraison/class/livraison.class.php +++ b/htdocs/livraison/class/livraison.class.php @@ -43,32 +43,15 @@ class Livraison extends CommonObject public $fk_element="fk_livraison"; public $table_element="livraison"; - var $id; var $brouillon; - var $origin; - var $origin_id; var $socid; var $ref_customer; - var $statut; - - /** - * @deprecated - * @see note_public, note_private - */ - var $note; - var $note_public; - var $note_private; var $date_delivery; // Date really received var $date_creation; var $date_valid; var $model_pdf; - //Incorterms - var $fk_incoterms; - var $location_incoterms; - var $libelle_incoterms; //Used into tooltip - /** * Constructor * diff --git a/htdocs/loan/calc.php b/htdocs/loan/calc.php index 6c96f01420a..e73b5e0f255 100644 --- a/htdocs/loan/calc.php +++ b/htdocs/loan/calc.php @@ -121,7 +121,7 @@ if (! empty($errors)) { llxHeader(); -print_fiche_titre($langs->trans("LoanCalc")); +print load_fiche_titre($langs->trans("LoanCalc")); print $langs->trans('LoanCalcDesc'); print '
    '; diff --git a/htdocs/loan/card.php b/htdocs/loan/card.php index 0c8309e7244..c5e60a1aced 100644 --- a/htdocs/loan/card.php +++ b/htdocs/loan/card.php @@ -183,7 +183,7 @@ if ($action == 'create') //WYSIWYG Editor require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - print_fiche_titre($langs->trans("NewLoan")); + print load_fiche_titre($langs->trans("NewLoan")); $datec = dol_mktime(12, 0, 0, GETPOST('remonth','int'), GETPOST('reday','int'), GETPOST('reyear','int')); diff --git a/htdocs/loan/class/loan.class.php b/htdocs/loan/class/loan.class.php index 24ca97b5225..66809b60720 100644 --- a/htdocs/loan/class/loan.class.php +++ b/htdocs/loan/class/loan.class.php @@ -33,17 +33,13 @@ class Loan extends CommonObject public $table='loan'; public $table_element='loan'; - var $id; var $rowid; - var $ref; var $datestart; var $dateend; var $label; var $capital; var $nbterm; var $rate; - var $note_private; - var $note_public; var $paid; var $account_capital; var $account_insurance; diff --git a/htdocs/loan/class/paymentloan.class.php b/htdocs/loan/class/paymentloan.class.php index 03517b91adf..09c3e0b4fbc 100644 --- a/htdocs/loan/class/paymentloan.class.php +++ b/htdocs/loan/class/paymentloan.class.php @@ -33,9 +33,6 @@ class PaymentLoan extends CommonObject public $element='payment_loan'; //!< Id that identify managed objects public $table_element='payment_loan'; //!< Name of table without prefix where object is stored - var $id; - var $ref; - var $fk_loan; var $datec=''; var $tms=''; @@ -46,8 +43,6 @@ class PaymentLoan extends CommonObject var $amount_interest; var $fk_typepayment; var $num_payment; - var $note_private; - var $note_public; var $fk_bank; var $fk_user_creat; var $fk_user_modif; diff --git a/htdocs/loan/index.php b/htdocs/loan/index.php index 87412dadcd2..31985251300 100644 --- a/htdocs/loan/index.php +++ b/htdocs/loan/index.php @@ -92,7 +92,7 @@ if ($resql) $i = 0; $var=true; - print_fiche_titre($langs->trans("Loans")); + print load_fiche_titre($langs->trans("Loans")); print ''."\n"; print ''; diff --git a/htdocs/loan/payment/payment.php b/htdocs/loan/payment/payment.php index a9e33fc54a2..e7416c1aa0d 100644 --- a/htdocs/loan/payment/payment.php +++ b/htdocs/loan/payment/payment.php @@ -156,7 +156,7 @@ if ($_GET["action"] == 'create') { $total = $loan->capital; - print_fiche_titre($langs->trans("DoPayment")); + print load_fiche_titre($langs->trans("DoPayment")); print "
    \n"; print ''; diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index ab1a16c9883..cb748e2f146 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -35,7 +35,6 @@ //@ini_set('memory_limit', '64M'); // This may be useless if memory is hard limited by your PHP // For optional tuning. Enabled if environment variable MAIN_SHOW_TUNING_INFO is defined. -// A call first. Is the equivalent function dol_microtime_float not yet loaded. $micro_start_time=0; if (! empty($_SERVER['MAIN_SHOW_TUNING_INFO'])) { @@ -225,7 +224,8 @@ if (isset($_SERVER["HTTP_USER_AGENT"])) // Force HTTPS if required ($conf->file->main_force_https is 0/1 or https dolibarr root url) -if (! empty($conf->file->main_force_https)) +// $_SERVER["HTTPS"] is 'on' when link is https, otherwise $_SERVER["HTTPS"] is empty or 'off' +if (! empty($conf->file->main_force_https) && (empty($_SERVER["HTTPS"]) || $_SERVER["HTTPS"] != 'on')) { $newurl=''; if (is_numeric($conf->file->main_force_https)) @@ -239,21 +239,13 @@ if (! empty($conf->file->main_force_https)) } else // Check HTTPS environment variable (Apache/mod_ssl only) { - // $_SERVER["HTTPS"] is 'on' when link is https, otherwise $_SERVER["HTTPS"] is empty or 'off' - if (empty($_SERVER["HTTPS"]) || $_SERVER["HTTPS"] != 'on') // If link is http - { - $newurl=preg_replace('/^http:/i','https:',DOL_MAIN_URL_ROOT).$_SERVER["REQUEST_URI"]; - } + $newurl=preg_replace('/^http:/i','https:',DOL_MAIN_URL_ROOT).$_SERVER["REQUEST_URI"]; } } else { // Check HTTPS environment variable (Apache/mod_ssl only) - // $_SERVER["HTTPS"] is 'on' when link is https, otherwise $_SERVER["HTTPS"] is empty or 'off' - if (empty($_SERVER["HTTPS"]) || $_SERVER["HTTPS"] != 'on') // If link is http - { - $newurl=$conf->file->main_force_https.$_SERVER["REQUEST_URI"]; - } + $newurl=$conf->file->main_force_https.$_SERVER["REQUEST_URI"]; } // Start redirect if ($newurl) @@ -981,10 +973,9 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs if (GETPOST('dol_basehref')) print ''."\n"; // Displays meta print ''."\n"; // Do not index - print ''; // Scale for mobile device + print ''; // Scale for mobile device print ''."\n"; - if (! empty($conf->global->MAIN_ACTIVATE_HTML5)) print ''."\n"; // Needed for Responsive Web Design - $favicon=dol_buildpath('/theme/'.$conf->theme.'/img/favicon.ico',1); + $favicon=dol_buildpath('/theme/'.$conf->theme.'/img/favicon.ico',1); if (! empty($conf->global->MAIN_FAVICON_URL)) $favicon=$conf->global->MAIN_FAVICON_URL; print ''."\n"; if (empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) print ''."\n"; @@ -1397,8 +1388,8 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a ' . "\n"; // Raven.js for client-side Sentry logging support - if (array_key_exists('mod_syslog_sentry', $conf->loghandlers) && ! empty($conf->global->SYSLOG_SENTRY_DSN)) { - + if (array_key_exists('mod_syslog_sentry', $conf->loghandlers) && ! empty($conf->global->SYSLOG_SENTRY_DSN)) + { // Filter out secret key $dsn = parse_url($conf->global->SYSLOG_SENTRY_DSN); $public_dsn = $dsn['scheme'] . '://' . $dsn['user'] .'@' . $dsn['host'] . $dsn['path']; @@ -1467,12 +1458,12 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a // User photo $toprightmenu.='
    '; // Login name with tooltip - $toprightmenu.='
    '; diff --git a/htdocs/margin/admin/margin.php b/htdocs/margin/admin/margin.php index 2ad51c4fb28..0c561f99bc9 100644 --- a/htdocs/margin/admin/margin.php +++ b/htdocs/margin/admin/margin.php @@ -113,14 +113,14 @@ llxHeader('',$langs->trans("margesSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("margesSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("margesSetup"),$linkback,'title_setup'); $head = marges_admin_prepare_head(); dol_fiche_head($head, 'parameters', $langs->trans("Margins"), 0, 'margin'); -print_fiche_titre($langs->trans("MemberMainOptions"),'',''); +print load_fiche_titre($langs->trans("MemberMainOptions"),'',''); print '
    '; print ''; print ''; diff --git a/htdocs/margin/agentMargins.php b/htdocs/margin/agentMargins.php index 32525114ee3..bad64c262dd 100644 --- a/htdocs/margin/agentMargins.php +++ b/htdocs/margin/agentMargins.php @@ -80,7 +80,7 @@ $form = new Form($db); llxHeader('',$langs->trans("Margins").' - '.$langs->trans("Agents")); $text=$langs->trans("Margins"); -//print_fiche_titre($text); +//print load_fiche_titre($text); // Show tabs $head=marges_prepare_head($user); diff --git a/htdocs/margin/customerMargins.php b/htdocs/margin/customerMargins.php index 79c241a9d7e..93f3220d12c 100644 --- a/htdocs/margin/customerMargins.php +++ b/htdocs/margin/customerMargins.php @@ -66,7 +66,7 @@ $form = new Form($db); llxHeader('',$langs->trans("Margins").' - '.$langs->trans("Clients")); $text=$langs->trans("Margins"); -//print_fiche_titre($text); +//print load_fiche_titre($text); // Show tabs $head=marges_prepare_head($user); diff --git a/htdocs/margin/productMargins.php b/htdocs/margin/productMargins.php index 07d4a75a522..0993f59f631 100644 --- a/htdocs/margin/productMargins.php +++ b/htdocs/margin/productMargins.php @@ -89,7 +89,7 @@ $form = new Form($db); llxHeader('',$langs->trans("Margins").' - '.$langs->trans("Products")); $text=$langs->trans("Margins"); -//print_fiche_titre($text); +//print load_fiche_titre($text); // Show tabs $head=marges_prepare_head($user); diff --git a/htdocs/opensurvey/card.php b/htdocs/opensurvey/card.php index 87373c571f8..200659c856e 100644 --- a/htdocs/opensurvey/card.php +++ b/htdocs/opensurvey/card.php @@ -361,7 +361,7 @@ print '
    '; print ''."\n"; -print_fiche_titre($langs->trans("CommentsOfVoters"),'',''); +print load_fiche_titre($langs->trans("CommentsOfVoters"),'',''); // Comment list $comments = $object->getComments(); diff --git a/htdocs/opensurvey/class/opensurveysondage.class.php b/htdocs/opensurvey/class/opensurveysondage.class.php index 1ab2352395d..c3be8fc4793 100644 --- a/htdocs/opensurvey/class/opensurveysondage.class.php +++ b/htdocs/opensurvey/class/opensurveysondage.class.php @@ -34,14 +34,9 @@ require_once(DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php"); */ class Opensurveysondage extends CommonObject { - var $db; //!< To store db handler - var $error; //!< To return error code (or message) - var $errors=array(); //!< To return several error codes (or messages) var $element='opensurvey_sondage'; //!< Id that identify managed objects var $table_element='opensurvey_sondage'; //!< Name of table without prefix where object is stored - var $id; - var $id_sondage; /** * @deprecated diff --git a/htdocs/opensurvey/index.php b/htdocs/opensurvey/index.php index 08c8f8d7d95..93e913c1585 100644 --- a/htdocs/opensurvey/index.php +++ b/htdocs/opensurvey/index.php @@ -48,7 +48,7 @@ else dol_print_error($db,''); -print_fiche_titre($langs->trans("OpenSurveyArea")); +print load_fiche_titre($langs->trans("OpenSurveyArea")); print '
    '; diff --git a/htdocs/opensurvey/list.php b/htdocs/opensurvey/list.php index cea060d75f4..4844d9f8e59 100644 --- a/htdocs/opensurvey/list.php +++ b/htdocs/opensurvey/list.php @@ -79,7 +79,7 @@ $fieldtosortuser=empty($conf->global->MAIN_FIRSTNAME_NAME_POSITION)?'firstname': print '
    '."\n"; -print_fiche_titre($langs->trans("OpenSurveyArea")); +print load_fiche_titre($langs->trans("OpenSurveyArea")); // List of surveys into database diff --git a/htdocs/opensurvey/wizard/choix_autre.php b/htdocs/opensurvey/wizard/choix_autre.php index 6b4cceaae0d..9797762d6cb 100644 --- a/htdocs/opensurvey/wizard/choix_autre.php +++ b/htdocs/opensurvey/wizard/choix_autre.php @@ -121,7 +121,7 @@ if (empty($_SESSION['titre'])) print ''."\n"; -print_fiche_titre($langs->trans("CreatePoll").' (2 / 2)'); +print load_fiche_titre($langs->trans("CreatePoll").' (2 / 2)'); print '
    '. $langs->trans("PollOnChoice") .'

    '."\n"; diff --git a/htdocs/opensurvey/wizard/choix_date.php b/htdocs/opensurvey/wizard/choix_date.php index cc08434cd50..6a1efd39617 100644 --- a/htdocs/opensurvey/wizard/choix_date.php +++ b/htdocs/opensurvey/wizard/choix_date.php @@ -330,7 +330,7 @@ else //Debut du formulaire et bandeaux de tete print ''."\n"; -print_fiche_titre($langs->trans("CreatePoll").' (2 / 2)'); +print load_fiche_titre($langs->trans("CreatePoll").' (2 / 2)'); //affichage de l'aide pour les jours print '
    '."\n"; diff --git a/htdocs/opensurvey/wizard/create_survey.php b/htdocs/opensurvey/wizard/create_survey.php index 7f6609d5fe6..22dddffbff5 100644 --- a/htdocs/opensurvey/wizard/create_survey.php +++ b/htdocs/opensurvey/wizard/create_survey.php @@ -94,7 +94,7 @@ if (GETPOST("creation_sondage_date") || GETPOST("creation_sondage_autre")) $_SESSION['champdatefin'] = dol_print_date($champdatefin,'dayrfc'); //$testdate = false; //$_SESSION['champdatefin'] = dol_print_date($champdatefin,'dayrfc'); - setEventMessage($langs->trans('ExpiredDate'),'warnings'); + setEventMessage('ExpireDate','warnings'); } } @@ -131,7 +131,7 @@ $arrayofjs=array(); $arrayofcss=array('/opensurvey/css/style.css'); llxHeader('', $langs->trans("OpenSurvey"), '', "", 0, 0, $arrayofjs, $arrayofcss); -print_fiche_titre($langs->trans("CreatePoll").' (1 / 2)'); +print load_fiche_titre($langs->trans("CreatePoll").' (1 / 2)'); //debut du formulaire print ''."\n"; diff --git a/htdocs/opensurvey/wizard/index.php b/htdocs/opensurvey/wizard/index.php index 1f324a52a58..68f75f3bce7 100644 --- a/htdocs/opensurvey/wizard/index.php +++ b/htdocs/opensurvey/wizard/index.php @@ -41,7 +41,7 @@ $arrayofjs=array(); $arrayofcss=array('/opensurvey/css/style.css'); llxHeader('', $langs->trans("Survey"), '', "", 0, 0, $arrayofjs, $arrayofcss); -print_fiche_titre($langs->trans("CreatePoll")); +print load_fiche_titre($langs->trans("CreatePoll")); print ''; print '
    '; diff --git a/htdocs/paybox/admin/paybox.php b/htdocs/paybox/admin/paybox.php index 20855975880..5a7301613c4 100644 --- a/htdocs/paybox/admin/paybox.php +++ b/htdocs/paybox/admin/paybox.php @@ -91,7 +91,7 @@ if (empty($conf->global->PAYBOX_IBS_DEVISE)) $conf->global->PAYBOX_IBS_DEVISE=$I llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("PayBoxSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("PayBoxSetup"),$linkback,'title_setup'); print $langs->trans("PayBoxDesc")."
    \n"; diff --git a/htdocs/paypal/admin/paypal.php b/htdocs/paypal/admin/paypal.php index a0127cd85d9..fd649b825bc 100644 --- a/htdocs/paypal/admin/paypal.php +++ b/htdocs/paypal/admin/paypal.php @@ -93,7 +93,7 @@ llxHeader('',$langs->trans("PaypalSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ModuleSetup").' PayPal',$linkback); +print load_fiche_titre($langs->trans("ModuleSetup").' PayPal',$linkback); print '
    '; $head=paypaladmin_prepare_head(); diff --git a/htdocs/printing/admin/printing.php b/htdocs/printing/admin/printing.php index d848b0befce..cc97b7cc9f7 100644 --- a/htdocs/printing/admin/printing.php +++ b/htdocs/printing/admin/printing.php @@ -107,7 +107,7 @@ $form = new Form($db); llxHeader('',$langs->trans("PrintingSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("PrintingSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("PrintingSetup"),$linkback,'title_setup'); $head=printingadmin_prepare_head($mode); diff --git a/htdocs/printing/index.php b/htdocs/printing/index.php index 48795fbab4c..1ff3859565c 100644 --- a/htdocs/printing/index.php +++ b/htdocs/printing/index.php @@ -27,7 +27,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/dolprintipp.class.php'; llxHeader("",$langs->trans("Printing")); -print_fiche_titre($langs->trans("Printing")); +print load_fiche_titre($langs->trans("Printing")); // List Jobs from printing modules $printer = new dolPrintIPP($db,$conf->global->PRINTIPP_HOST,$conf->global->PRINTIPP_PORT,$user->login,$conf->global->PRINTIPP_USER,$conf->global->PRINTIPP_PASSWORD); diff --git a/htdocs/product/admin/dynamic_prices.php b/htdocs/product/admin/dynamic_prices.php index f45ea9449c6..79d7cdebfc2 100644 --- a/htdocs/product/admin/dynamic_prices.php +++ b/htdocs/product/admin/dynamic_prices.php @@ -144,7 +144,7 @@ if (!empty($action) && empty($cancel)) { //Header llxHeader("","",$langs->trans("CardProduct".$product->type)); -print_fiche_titre($langs->trans("DynamicPriceConfiguration")); +print load_fiche_titre($langs->trans("DynamicPriceConfiguration")); $form = new Form($db); //Global variables table diff --git a/htdocs/product/admin/product.php b/htdocs/product/admin/product.php index 949d180a5ba..9c264f893b3 100644 --- a/htdocs/product/admin/product.php +++ b/htdocs/product/admin/product.php @@ -225,7 +225,7 @@ else if (empty($conf->service->enabled)) llxHeader('',$title); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($title,$linkback,'title_setup'); +print load_fiche_titre($title,$linkback,'title_setup'); $head = product_admin_prepare_head(); dol_fiche_head($head, 'general', $tab, 0, 'product'); @@ -237,7 +237,7 @@ $form=new Form($db); */ $dirproduct=array('/core/modules/product/'); -print_titre($langs->trans("ProductCodeChecker")); +print load_fiche_titre($langs->trans("ProductCodeChecker")); print '
    '.$langs->trans("Description").'
    '."\n"; print ''."\n"; @@ -319,7 +319,7 @@ print '
    '; print "
    "; -print_titre($langs->trans("ProductOtherConf")); +print load_fiche_titre($langs->trans("ProductOtherConf")); diff --git a/htdocs/product/admin/product_extrafields.php b/htdocs/product/admin/product_extrafields.php index f610b51fe81..3c7cc30b7a3 100644 --- a/htdocs/product/admin/product_extrafields.php +++ b/htdocs/product/admin/product_extrafields.php @@ -78,7 +78,7 @@ llxHeader('',$title); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($title,$linkback,'title_setup'); +print load_fiche_titre($title,$linkback,'title_setup'); $head = product_admin_prepare_head(); @@ -108,7 +108,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
    "; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -121,7 +121,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
    "; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/product/admin/product_tools.php b/htdocs/product/admin/product_tools.php index deaf53f0bd2..1f2820358e1 100644 --- a/htdocs/product/admin/product_tools.php +++ b/htdocs/product/admin/product_tools.php @@ -246,7 +246,7 @@ $title = $langs->trans('ModulesSystemTools'); llxHeader('',$title); -print_fiche_titre($title,'','title_setup'); +print load_fiche_titre($title,'','title_setup'); print $langs->trans("ProductVatMassChangeDesc").'

    '; diff --git a/htdocs/product/canvas/product/tpl/card_create.tpl.php b/htdocs/product/canvas/product/tpl/card_create.tpl.php index 3f5ebdcbc0b..81ddb147fe3 100644 --- a/htdocs/product/canvas/product/tpl/card_create.tpl.php +++ b/htdocs/product/canvas/product/tpl/card_create.tpl.php @@ -22,7 +22,7 @@ $statutarray=array('1' => $langs->trans("OnSell"), '0' => $langs->trans("NotOnSe -trans("Product")); ?> +trans("Product")); ?> error)?'':$object->error),$object->errors); ?> diff --git a/htdocs/product/canvas/product/tpl/card_edit.tpl.php b/htdocs/product/canvas/product/tpl/card_edit.tpl.php index 9b403c22316..822cb03a6e0 100644 --- a/htdocs/product/canvas/product/tpl/card_edit.tpl.php +++ b/htdocs/product/canvas/product/tpl/card_edit.tpl.php @@ -23,7 +23,7 @@ $statutarray=array('1' => $langs->trans("OnSell"), '0' => $langs->trans("NotOnSe trans("Product")); +print load_fiche_titre($langs->trans("Product")); dol_htmloutput_errors($object->error,$object->errors); ?> diff --git a/htdocs/product/canvas/service/tpl/card_create.tpl.php b/htdocs/product/canvas/service/tpl/card_create.tpl.php index c9bb423d0a2..9d526383a67 100644 --- a/htdocs/product/canvas/service/tpl/card_create.tpl.php +++ b/htdocs/product/canvas/service/tpl/card_create.tpl.php @@ -23,7 +23,7 @@ $statutarray=array('1' => $langs->trans("OnSell"), '0' => $langs->trans("NotOnSe -trans("Service")); ?> +trans("Service")); ?> control->tpl['error'],$this->control->tpl['errors']); ?> diff --git a/htdocs/product/canvas/service/tpl/card_edit.tpl.php b/htdocs/product/canvas/service/tpl/card_edit.tpl.php index 9f64bebd042..fd403e647c6 100644 --- a/htdocs/product/canvas/service/tpl/card_edit.tpl.php +++ b/htdocs/product/canvas/service/tpl/card_edit.tpl.php @@ -23,7 +23,7 @@ $statutarray=array('1' => $langs->trans("OnSell"), '0' => $langs->trans("NotOnSe trans("Service")); +print load_fiche_titre($langs->trans("Service")); dol_htmloutput_errors($object->error,$object->errors); ?> diff --git a/htdocs/product/card.php b/htdocs/product/card.php index 4de7a59478c..c97eb46c406 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -5,7 +5,7 @@ * Copyright (C) 2005-2015 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2006 Auguria SARL - * Copyright (C) 2010-2014 Juanjo Menent + * Copyright (C) 2010-2015 Juanjo Menent * Copyright (C) 2013-2014 Marcos García * Copyright (C) 2012-2013 Cédric Salvador * Copyright (C) 2011-2015 Alexandre Spangaro @@ -315,7 +315,7 @@ if (empty($reshook)) { if ($object->id > 0) { - $object->oldcopy=dol_clone($object); + $object->oldcopy= clone $object; $object->ref = $ref; $object->label = GETPOST('label'); @@ -529,6 +529,7 @@ if (empty($reshook)) // Add product into object if ($object->id > 0 && $action == 'addin') { + $thirpdartyid =0 ; if (GETPOST('propalid') > 0) { $propal = new Propal($db); @@ -563,171 +564,162 @@ if (empty($reshook)) $thirpdartyid = $facture->socid; } - $soc = new Societe($db); - $result=$soc->fetch($thirpdartyid); - if ($result <= 0) - { - dol_print_error($db,$soc->error); - exit; - } - - $desc = $object->description; - - $tva_tx = get_default_tva($mysoc, $soc, $object->id); - $localtax1_tx= get_localtax($tva_tx, 1, $soc); - $localtax2_tx= get_localtax($tva_tx, 2, $soc); - - $pu_ht = $object->price; - $pu_ttc = $object->price_ttc; - $price_base_type = $object->price_base_type; - - // If multiprice - if ($conf->global->PRODUIT_MULTIPRICES && $soc->price_level) - { - $pu_ht = $object->multiprices[$soc->price_level]; - $pu_ttc = $object->multiprices_ttc[$soc->price_level]; - $price_base_type = $object->multiprices_base_type[$soc->price_level]; - } - elseif (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) - { - require_once DOL_DOCUMENT_ROOT . '/product/class/productcustomerprice.class.php'; - - $prodcustprice = new Productcustomerprice($db); - - $filter = array('t.fk_product' => $object->id,'t.fk_soc' => $soc->id); - - $result = $prodcustprice->fetch_all('', '', 0, 0, $filter); - if ($result) { - if (count($prodcustprice->lines) > 0) { - $pu_ht = price($prodcustprice->lines [0]->price); - $pu_ttc = price($prodcustprice->lines [0]->price_ttc); - $price_base_type = $prodcustprice->lines [0]->price_base_type; - $prod->tva_tx = $prodcustprice->lines [0]->tva_tx; - } - } - } - - // On reevalue prix selon taux tva car taux tva transaction peut etre different - // de ceux du produit par defaut (par exemple si pays different entre vendeur et acheteur). - if ($tva_tx != $object->tva_tx) - { - if ($price_base_type != 'HT') - { - $pu_ht = price2num($pu_ttc / (1 + ($tva_tx/100)), 'MU'); + if ( $thirpdartyid > 0) { + $soc = new Societe($db); + $result = $soc->fetch($thirpdartyid); + if ($result <= 0) { + dol_print_error($db, $soc->error); + exit; } - else - { - $pu_ttc = price2num($pu_ht * (1 + ($tva_tx/100)), 'MU'); + + $desc = $object->description; + + $tva_tx = get_default_tva($mysoc, $soc, $object->id); + $localtax1_tx = get_localtax($tva_tx, 1, $soc); + $localtax2_tx = get_localtax($tva_tx, 2, $soc); + + $pu_ht = $object->price; + $pu_ttc = $object->price_ttc; + $price_base_type = $object->price_base_type; + + // If multiprice + if ($conf->global->PRODUIT_MULTIPRICES && $soc->price_level) { + $pu_ht = $object->multiprices[$soc->price_level]; + $pu_ttc = $object->multiprices_ttc[$soc->price_level]; + $price_base_type = $object->multiprices_base_type[$soc->price_level]; + } elseif (!empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { + require_once DOL_DOCUMENT_ROOT . '/product/class/productcustomerprice.class.php'; + + $prodcustprice = new Productcustomerprice($db); + + $filter = array('t.fk_product' => $object->id, 't.fk_soc' => $soc->id); + + $result = $prodcustprice->fetch_all('', '', 0, 0, $filter); + if ($result) { + if (count($prodcustprice->lines) > 0) { + $pu_ht = price($prodcustprice->lines [0]->price); + $pu_ttc = price($prodcustprice->lines [0]->price_ttc); + $price_base_type = $prodcustprice->lines [0]->price_base_type; + $prod->tva_tx = $prodcustprice->lines [0]->tva_tx; + } + } + } + + // On reevalue prix selon taux tva car taux tva transaction peut etre different + // de ceux du produit par defaut (par exemple si pays different entre vendeur et acheteur). + if ($tva_tx != $object->tva_tx) { + if ($price_base_type != 'HT') { + $pu_ht = price2num($pu_ttc / (1 + ($tva_tx / 100)), 'MU'); + } else { + $pu_ttc = price2num($pu_ht * (1 + ($tva_tx / 100)), 'MU'); + } + } + + if (GETPOST('propalid') > 0) { + $result = $propal->addline( + $desc, + $pu_ht, + GETPOST('qty'), + $tva_tx, + $localtax1_tx, // localtax1 + $localtax2_tx, // localtax2 + $object->id, + GETPOST('remise_percent'), + $price_base_type, + $pu_ttc, + 0, + 0, + -1, + 0, + 0, + 0, + 0, + '', + '', + '', + 0, + $object->fk_unit + ); + if ($result > 0) { + header("Location: " . DOL_URL_ROOT . "/comm/propal.php?id=" . $propal->id); + return; + } + + setEventMessage($langs->trans("ErrorUnknown") . ": $result", 'errors'); + } elseif (GETPOST('commandeid') > 0) { + $result = $commande->addline( + $desc, + $pu_ht, + GETPOST('qty'), + $tva_tx, + $localtax1_tx, // localtax1 + $localtax2_tx, // localtax2 + $object->id, + GETPOST('remise_percent'), + '', + '', + $price_base_type, + $pu_ttc, + '', + '', + 0, + -1, + 0, + 0, + null, + 0, + '', + 0, + $object->fk_unit + ); + + if ($result > 0) { + header("Location: " . DOL_URL_ROOT . "/commande/card.php?id=" . $commande->id); + exit; + } + } elseif (GETPOST('factureid') > 0) { + $result = $facture->addline( + $desc, + $pu_ht, + GETPOST('qty'), + $tva_tx, + $localtax1_tx, + $localtax2_tx, + $object->id, + GETPOST('remise_percent'), + '', + '', + '', + '', + '', + $price_base_type, + $pu_ttc, + Facture::TYPE_STANDARD, + -1, + 0, + '', + 0, + 0, + null, + 0, + '', + 0, + 100, + '', + $object->fk_unit + ); + + if ($result > 0) { + header("Location: " . DOL_URL_ROOT . "/compta/facture.php?facid=" . $facture->id); + exit; + } } } + else { + $action=""; + setEventMessage($langs->trans("WarningSelectOneDocument"), 'warnings'); - if (GETPOST('propalid') > 0) - { - $result = $propal->addline( - $desc, - $pu_ht, - GETPOST('qty'), - $tva_tx, - $localtax1_tx, // localtax1 - $localtax2_tx, // localtax2 - $object->id, - GETPOST('remise_percent'), - $price_base_type, - $pu_ttc, - 0, - 0, - -1, - 0, - 0, - 0, - 0, - '', - '', - '', - 0, - $object->fk_unit - ); - if ($result > 0) - { - header("Location: ".DOL_URL_ROOT."/comm/propal.php?id=".$propal->id); - return; - } - - setEventMessage($langs->trans("ErrorUnknown").": $result", 'errors'); } - elseif (GETPOST('commandeid') > 0) - { - $result = $commande->addline( - $desc, - $pu_ht, - GETPOST('qty'), - $tva_tx, - $localtax1_tx, // localtax1 - $localtax2_tx, // localtax2 - $object->id, - GETPOST('remise_percent'), - '', - '', - $price_base_type, - $pu_ttc, - '', - '', - 0, - -1, - 0, - 0, - null, - 0, - '', - 0, - $object->fk_unit - ); - - if ($result > 0) - { - header("Location: ".DOL_URL_ROOT."/commande/card.php?id=".$commande->id); - exit; - } - } - elseif (GETPOST('factureid') > 0) - { - $result = $facture->addline( - $desc, - $pu_ht, - GETPOST('qty'), - $tva_tx, - $localtax1_tx, - $localtax2_tx, - $object->id, - GETPOST('remise_percent'), - '', - '', - '', - '', - '', - $price_base_type, - $pu_ttc, - Facture::TYPE_STANDARD, - -1, - 0, - '', - 0, - 0, - null, - 0, - '', - 0, - 100, - '', - $object->fk_unit - ); - - if ($result > 0) - { - header("Location: ".DOL_URL_ROOT."/compta/facture.php?facid=".$facture->id); - exit; - } - } } } @@ -814,7 +806,7 @@ else if ($type==1) $title=$langs->trans("NewService"); else $title=$langs->trans("NewProduct"); $linkback=""; - print_fiche_titre($title,$linkback,'title_products.png'); + print load_fiche_titre($title,$linkback,'title_products.png'); dol_fiche_head(''); @@ -1068,7 +1060,7 @@ else $type = $langs->trans('Product'); if ($object->isservice()) $type = $langs->trans('Service'); - //print_fiche_titre($langs->trans('Modify').' '.$type.' : '.(is_object($object->oldcopy)?$object->oldcopy->ref:$object->ref), ""); + //print load_fiche_titre($langs->trans('Modify').' '.$type.' : '.(is_object($object->oldcopy)?$object->oldcopy->ref:$object->ref), ""); // Main official, simple, and not duplicated code print ''."\n"; diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 13368f652a9..35aff5e4cc5 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -55,10 +55,6 @@ class Product extends CommonObject var $regeximgext='\.jpg|\.jpeg|\.bmp|\.gif|\.png|\.tiff'; - //! Identifiant unique - var $id ; - //! Ref - var $ref; /* * @deprecated * @see label @@ -128,8 +124,6 @@ class Product extends CommonObject var $status_batch; var $customcode; // Customs code - var $country_id; // Country origin id - var $country_code; // Country origin code (US, FR, ...) //! Unites de mesure var $weight; @@ -146,10 +140,6 @@ class Product extends CommonObject //! barcode var $barcode; // value - var $barcode_type; // id - var $barcode_type_code; // code (loaded by fetch_barcode). Example 'ean', 'isbn', ... - var $barcode_type_label; // label (loaded by fetch_barcode) - var $barcode_type_coder; // coder (loaded by fetch_barcode). Engine. var $stats_propale=array(); var $stats_commande=array(); @@ -163,10 +153,6 @@ class Product extends CommonObject var $imgWidth; var $imgHeight; - //! Canevas a utiliser si le produit n'est pas un produit generique - var $canvas; - - var $import_key; var $date_creation; var $date_modification; @@ -183,9 +169,6 @@ class Product extends CommonObject var $oldcopy; - //note not visible on orders and invoices - var $note; - var $fk_price_expression; /** @@ -694,7 +677,7 @@ class Product extends CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX."product"; $sql.= " SET label = '" . $this->db->escape($this->label) ."'"; - $sql.= ", ref = '" . $this->ref ."'"; + $sql.= ", ref = '" . $this->db->escape($this->ref) ."'"; $sql.= ", ref_ext = ".(! empty($this->ref_ext)?"'".$this->db->escape($this->ref_ext)."'":"null"); $sql.= ", tva_tx = " . $this->tva_tx; $sql.= ", recuperableonly = " . $this->tva_npr; @@ -722,9 +705,9 @@ class Product extends CommonObject $sql.= ", customcode = '" . $this->db->escape($this->customcode) ."'"; $sql.= ", fk_country = " . ($this->country_id > 0 ? $this->country_id : 'null'); $sql.= ", note = ".(isset($this->note) ? "'" .$this->db->escape($this->note)."'" : 'null'); - $sql.= ", duration = '" . $this->duration_value . $this->duration_unit ."'"; - $sql.= ", accountancy_code_buy = '" . $this->accountancy_code_buy."'"; - $sql.= ", accountancy_code_sell= '" . $this->accountancy_code_sell."'"; + $sql.= ", duration = '" . $this->db->escape($this->duration_value . $this->duration_unit) ."'"; + $sql.= ", accountancy_code_buy = '" . $this->db->escape($this->accountancy_code_buy)."'"; + $sql.= ", accountancy_code_sell= '" . $this->db->escape($this->accountancy_code_sell)."'"; $sql.= ", desiredstock = " . ((isset($this->desiredstock) && $this->desiredstock != '') ? $this->desiredstock : "null"); $sql.= ", fk_unit= " . (!$this->fk_unit ? 'NULL' : $this->fk_unit); $sql.= " WHERE rowid = " . $id; @@ -3257,7 +3240,7 @@ class Product extends CommonObject $sql = "SELECT ps.reel, ps.fk_entrepot, ps.pmp, ps.rowid"; $sql.= " FROM ".MAIN_DB_PREFIX."product_stock as ps"; $sql.= ", ".MAIN_DB_PREFIX."entrepot as w"; - $sql.= " WHERE w.entity IN (".getEntity('warehouse', 1).")"; + $sql.= " WHERE w.entity IN (".getEntity('stock', 1).")"; $sql.= " AND w.rowid = ps.fk_entrepot"; $sql.= " AND ps.fk_product = ".$this->id; diff --git a/htdocs/product/class/productbatch.class.php b/htdocs/product/class/productbatch.class.php index 8eac443c244..44d1025b3db 100644 --- a/htdocs/product/class/productbatch.class.php +++ b/htdocs/product/class/productbatch.class.php @@ -33,15 +33,12 @@ class Productbatch extends CommonObject var $element='productbatch'; //!< Id that identify managed objects private static $_table_element='product_batch'; //!< Name of table without prefix where object is stored - var $id; - var $tms=''; var $fk_product_stock; var $sellby=''; var $eatby=''; var $batch=''; var $qty; - var $import_key; public $warehouseid; diff --git a/htdocs/product/class/productcustomerprice.class.php b/htdocs/product/class/productcustomerprice.class.php index 1bca4579070..a4905c30075 100644 --- a/htdocs/product/class/productcustomerprice.class.php +++ b/htdocs/product/class/productcustomerprice.class.php @@ -28,12 +28,8 @@ require_once DOL_DOCUMENT_ROOT . '/core/class/commonobject.class.php'; */ class Productcustomerprice extends CommonObject { - var $db; // !< To store db handler - var $error; // !< To return error code (or message) - var $errors = array (); // !< To return several error codes (or messages) var $element = 'product_customer_price'; // !< Id that identify managed objects var $table_element = 'product_customer_price'; // !< Name of table without prefix where object is stored - var $id; var $entity; var $datec = ''; var $tms = ''; @@ -49,7 +45,6 @@ class Productcustomerprice extends CommonObject var $localtax1_tx; var $localtax2_tx; var $fk_user; - var $import_key; var $lines = array (); /** @@ -307,8 +302,8 @@ class Productcustomerprice extends CommonObject { global $langs; - if (! empty($sortfield)) $sortfield = "t.rowid"; - if (! empty($sortorder)) $sortorder = "DESC"; + if ( empty($sortfield)) $sortfield = "t.rowid"; + if ( empty($sortorder)) $sortorder = "DESC"; $sql = "SELECT"; $sql .= " t.rowid,"; @@ -351,8 +346,9 @@ class Productcustomerprice extends CommonObject } } } - - $sql.= $this->db->order($sortfield, $sortorder); + if (!empty($sortfield)) { + $sql.= $this->db->order($sortfield, $sortorder); + } if (! empty($limit)) $sql .= ' ' . $this->db->plimit($limit + 1, $offset); dol_syslog(get_class($this) . "::fetch_all", LOG_DEBUG); diff --git a/htdocs/product/class/propalmergepdfproduct.class.php b/htdocs/product/class/propalmergepdfproduct.class.php index a0a50f9acbd..865589692fb 100644 --- a/htdocs/product/class/propalmergepdfproduct.class.php +++ b/htdocs/product/class/propalmergepdfproduct.class.php @@ -31,13 +31,8 @@ require_once(DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php"); */ class Propalmergepdfproduct extends CommonObject { - var $db; //!< To store db handler - var $error; //!< To return error code (or message) - var $errors=array(); //!< To return several error codes (or messages) var $element='propal_merge_pdf_product'; //!< Id that identify managed objects var $table_element='propal_merge_pdf_product'; //!< Name of table without prefix where object is stored - - var $id; var $fk_product; var $file_name; @@ -45,7 +40,6 @@ class Propalmergepdfproduct extends CommonObject var $fk_user_mod; var $datec=''; var $tms=''; - var $import_key; var $lang; var $lines=array(); diff --git a/htdocs/product/class/service.class.php b/htdocs/product/class/service.class.php index 7ba5db47d1c..2cd785527a5 100644 --- a/htdocs/product/class/service.class.php +++ b/htdocs/product/class/service.class.php @@ -29,9 +29,6 @@ require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; */ class Service extends CommonObject { - var $db; - - var $id; var $libelle; var $price; var $tms; diff --git a/htdocs/product/composition/card.php b/htdocs/product/composition/card.php index 96e4c955cd6..b813ad786ac 100644 --- a/htdocs/product/composition/card.php +++ b/htdocs/product/composition/card.php @@ -260,7 +260,7 @@ if ($id > 0 || ! empty($ref)) //if (count($prodsfather) > 0) //{ - print_fiche_titre($langs->trans("ProductParentList"),'','').'
    '; + print load_fiche_titre($langs->trans("ProductParentList"),'','').'
    '; print ''; print ''; print ''; @@ -308,7 +308,7 @@ if ($id > 0 || ! empty($ref)) //if (count($prods_arbo) > 0) //{ $atleastonenotdefined=0; - print_fiche_titre($langs->trans("ProductAssociationList"),'','').'
    '; + print load_fiche_titre($langs->trans("ProductAssociationList"),'','').'
    '; print ''; print ''; @@ -458,7 +458,7 @@ if ($id > 0 || ! empty($ref)) $rowspan=1; if (! empty($conf->categorie->enabled)) $rowspan++; - print_fiche_titre($langs->trans("ProductToAddSearch"),'',''); + print load_fiche_titre($langs->trans("ProductToAddSearch"),'',''); print ''; print '
    '.$langs->trans('ParentProduct').'
    '; print ''; diff --git a/htdocs/product/dynamic_price/editor.php b/htdocs/product/dynamic_price/editor.php index e05ad53a27e..ba00d3be3bd 100644 --- a/htdocs/product/dynamic_price/editor.php +++ b/htdocs/product/dynamic_price/editor.php @@ -163,7 +163,7 @@ if ($action == 'delete') //Header llxHeader("","",$langs->trans("CardProduct".$product->type)); -print_fiche_titre($langs->trans("PriceExpressionEditor")); +print load_fiche_titre($langs->trans("PriceExpressionEditor")); $form = new Form($db); //Form/Table diff --git a/htdocs/product/fournisseurs.php b/htdocs/product/fournisseurs.php index 866abd856b1..4d20f1f7302 100644 --- a/htdocs/product/fournisseurs.php +++ b/htdocs/product/fournisseurs.php @@ -311,11 +311,11 @@ if ($id || $ref) if ($rowid) { $product->fetch_product_fournisseur_price($rowid, 1); //Ignore the math expression when getting the price - print_fiche_titre($langs->trans("ChangeSupplierPrice")); + print load_fiche_titre($langs->trans("ChangeSupplierPrice")); } else { - print_fiche_titre($langs->trans("AddSupplierPrice")); + print load_fiche_titre($langs->trans("AddSupplierPrice")); } print ''; @@ -399,7 +399,7 @@ if ($id || $ref) // We don't have supplier, so we try to guess. // For this we build a fictive supplier with same properties than user but using vat) - $mysoc2=dol_clone($mysoc); + $mysoc2 = clone $mysoc; $mysoc2->name='Fictive seller with same country'; $mysoc2->tva_assuj=1; $default_vat=get_default_tva($mysoc2, $mysoc, $product->id, 0); diff --git a/htdocs/product/index.php b/htdocs/product/index.php index 1b8babd9a36..efa1bc33dcb 100644 --- a/htdocs/product/index.php +++ b/htdocs/product/index.php @@ -69,7 +69,7 @@ if ((isset($_GET["type"]) && $_GET["type"] == 1) || empty($conf->product->enable llxHeader("",$langs->trans("ProductsAndServices"),$helpurl); $linkback=""; -print_fiche_titre($transAreaType,$linkback,'title_products.png'); +print load_fiche_titre($transAreaType,$linkback,'title_products.png'); print '
    '; diff --git a/htdocs/product/popuprop.php b/htdocs/product/popuprop.php index 8f419aa3679..c8da665dd98 100644 --- a/htdocs/product/popuprop.php +++ b/htdocs/product/popuprop.php @@ -75,7 +75,7 @@ else if ($type == '1') llxHeader('','',$helpurl); -print_fiche_titre($title, $mesg,'title_products.png'); +print load_fiche_titre($title, $mesg,'title_products.png'); $param = ''; diff --git a/htdocs/product/price.php b/htdocs/product/price.php index b3b884cbd7e..9c1331f61ce 100644 --- a/htdocs/product/price.php +++ b/htdocs/product/price.php @@ -683,7 +683,7 @@ if (! $action || $action == 'delete' || $action == 'showlog_customer_price' || $ */ if ($action == 'edit_price' && ($user->rights->produit->creer || $user->rights->service->creer)) { - print_fiche_titre($langs->trans("NewPrice"), ''); + print load_fiche_titre($langs->trans("NewPrice"), ''); if (empty($conf->global->PRODUIT_MULTIPRICES)) { @@ -880,7 +880,7 @@ if ($result) if ($num > 0) { - if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) print_fiche_titre($langs->trans("DefaultPrice"),'',''); + if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) print load_fiche_titre($langs->trans("DefaultPrice"),'',''); print ''; @@ -1013,7 +1013,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) // Create mode $maxpricesupplier = $object->min_recommended_price(); - print_fiche_titre($langs->trans('PriceByCustomer')); + print load_fiche_titre($langs->trans('PriceByCustomer')); print ''; print ''; @@ -1092,7 +1092,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) // Edit mode $maxpricesupplier = $object->min_recommended_price(); - print_fiche_titre($langs->trans('PriceByCustomer')); + print load_fiche_titre($langs->trans('PriceByCustomer')); $result = $prodcustprice->fetch(GETPOST('lineid', 'int')); if ($result < 0) { diff --git a/htdocs/product/stock/card.php b/htdocs/product/stock/card.php index 22ed390bc8f..9be03e9dee0 100644 --- a/htdocs/product/stock/card.php +++ b/htdocs/product/stock/card.php @@ -174,7 +174,7 @@ llxHeader("",$langs->trans("WarehouseCard"),$help_url); if ($action == 'create') { - print_fiche_titre($langs->trans("NewWarehouse")); + print load_fiche_titre($langs->trans("NewWarehouse")); print "\n"; print ''; diff --git a/htdocs/product/stock/class/entrepot.class.php b/htdocs/product/stock/class/entrepot.class.php index 5a8050612e4..8d1a507ab26 100644 --- a/htdocs/product/stock/class/entrepot.class.php +++ b/htdocs/product/stock/class/entrepot.class.php @@ -35,7 +35,6 @@ class Entrepot extends CommonObject public $element='stock'; public $table_element='entrepot'; - var $id; var $libelle; var $description; //! Statut 1 pour ouvert, 0 pour ferme @@ -46,10 +45,6 @@ class Entrepot extends CommonObject var $zip; var $town; - var $country; - var $country_id; - var $country_code; - /** * Constructor @@ -355,7 +350,7 @@ class Entrepot extends CommonObject $sql = "SELECT rowid, label"; $sql.= " FROM ".MAIN_DB_PREFIX."entrepot"; - $sql.= " WHERE entity IN (".getEntity('warehouse', 1).")"; + $sql.= " WHERE entity IN (".getEntity('stock', 1).")"; $sql.= " AND statut = ".$status; $result = $this->db->query($sql); diff --git a/htdocs/product/stock/class/mouvementstock.class.php b/htdocs/product/stock/class/mouvementstock.class.php index a612b7137cd..819f1afb677 100644 --- a/htdocs/product/stock/class/mouvementstock.class.php +++ b/htdocs/product/stock/class/mouvementstock.class.php @@ -30,9 +30,6 @@ */ class MouvementStock extends CommonObject { - var $error; - var $db; - var $product_id; var $entrepot_id; var $qty; @@ -433,7 +430,7 @@ class MouvementStock extends CommonObject // Create movement for each subproduct foreach($pids as $key => $value) { - $tmpmove = dol_clone($this); + $tmpmove = clone $this; $tmpmove->_create($user, $pids[$key], $entrepot_id, ($qty * $pqtys[$key]), $type, 0, $label, $inventorycode); // This will also call _createSubProduct making this recursive unset($tmpmove); } diff --git a/htdocs/product/stock/index.php b/htdocs/product/stock/index.php index f5d2b9829b8..cfc9f4a7b7a 100644 --- a/htdocs/product/stock/index.php +++ b/htdocs/product/stock/index.php @@ -40,7 +40,7 @@ $result=restrictedArea($user,'stock'); $help_url='EN:Module_Stocks_En|FR:Module_Stock|ES:Módulo_Stocks'; llxHeader("",$langs->trans("Stocks"),$help_url); -print_fiche_titre($langs->trans("StocksArea")); +print load_fiche_titre($langs->trans("StocksArea")); //print '
    '; diff --git a/htdocs/product/stock/list.php b/htdocs/product/stock/list.php index eb963e81e3c..43c5bc0c184 100644 --- a/htdocs/product/stock/list.php +++ b/htdocs/product/stock/list.php @@ -62,6 +62,7 @@ $sql.= " FROM ".MAIN_DB_PREFIX."entrepot as e"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock as ps ON e.rowid = ps.fk_entrepot"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON ps.fk_product = p.rowid"; $sql.= " WHERE e.entity IN (".getEntity('stock', 1).")"; + if ($search_ref) $sql.= natural_search("e.label", $search_ref); // ref if ($search_label) $sql.= natural_search("e.lieu", $search_label); // label if ($search_status != '' && $search_status >= 0) $sql.= " AND e.statut = ".$search_status; diff --git a/htdocs/product/stock/massstockmove.php b/htdocs/product/stock/massstockmove.php index 1749eb2d8c8..ba322ac9c61 100644 --- a/htdocs/product/stock/massstockmove.php +++ b/htdocs/product/stock/massstockmove.php @@ -325,7 +325,7 @@ $title = $langs->trans('MassMovement'); llxHeader('', $title); -print_fiche_titre($langs->trans("MassStockMovement")).'

    '; +print load_fiche_titre($langs->trans("MassStockMovement")).'

    '; $titletoadd=$langs->trans("Select"); $titletoaddnoent=$langs->transnoentitiesnoconv("Select"); diff --git a/htdocs/product/stock/mouvement.php b/htdocs/product/stock/mouvement.php index 26a2aef8e12..fda21a08084 100644 --- a/htdocs/product/stock/mouvement.php +++ b/htdocs/product/stock/mouvement.php @@ -358,7 +358,7 @@ if ($resql) /* if ($action == "correction") { - print_titre($langs->trans("StockCorrection")); + print load_fiche_titre($langs->trans("StockCorrection")); print ''."\n"; print ''; print ''; @@ -399,7 +399,7 @@ if ($resql) if ($action == "transfert") { - print_titre($langs->trans("Transfer")); + print load_fiche_titre($langs->trans("Transfer")); print ''."\n"; print ''; print ''; diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php index eb010407ca3..1d92a9994b1 100644 --- a/htdocs/product/stock/product.php +++ b/htdocs/product/stock/product.php @@ -617,7 +617,7 @@ if ($id > 0 || $ref) /* if ($_GET["action"] == "definir") { - print_titre($langs->trans("SetStock")); + print load_fiche_titre($langs->trans("SetStock")); print "id\" method=\"post\">\n"; print ''; print ''; diff --git a/htdocs/projet/activity/index.php b/htdocs/projet/activity/index.php index 39f728263ad..be97ad37a33 100644 --- a/htdocs/projet/activity/index.php +++ b/htdocs/projet/activity/index.php @@ -56,7 +56,7 @@ if ($mine) $title=$langs->trans("MyActivities"); llxHeader("",$title); -print_fiche_titre($title, '', 'title_project'); +print load_fiche_titre($title, '', 'title_project'); if ($mine) print $langs->trans("MyTasksDesc").'

    '; else @@ -393,7 +393,7 @@ if (empty($conf->global->PROJECT_HIDE_TASKS)) $num = $db->num_rows($resql); $i = 0; - //print_fiche_titre($langs->trans("TasksOnOpenedProject"),'','').'
    '; + //print load_fiche_titre($langs->trans("TasksOnOpenedProject"),'','').'
    '; print '
    '; print ''; diff --git a/htdocs/projet/activity/perday.php b/htdocs/projet/activity/perday.php index f8e106a7e7e..93305dbc63c 100644 --- a/htdocs/projet/activity/perday.php +++ b/htdocs/projet/activity/perday.php @@ -96,12 +96,12 @@ if ($action == 'assign') } else { - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Task")), '', 'errors'); + setEventMessages($langs->transnoentitiesnoconv("ErrorFieldRequired", $langs->transnoentitiesnoconv("Task")), '', 'errors'); $error++; } if (! GETPOST('type')) { - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), '', 'errors'); + setEventMessages($langs->transnoentitiesnoconv("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), '', 'errors'); $error++; } if (! $error) @@ -126,7 +126,7 @@ if ($action == 'assign') if (! $error) { - setEventMessages($langs->trans("TaskAssignedToEnterTime"), null); + setEventMessages("TaskAssignedToEnterTime", null); } $action=''; @@ -180,7 +180,7 @@ if ($action == 'addtime' && $user->rights->projet->creer) } else { - setEventMessages($langs->trans("ErrorBadDate"), null, 'errors'); + setEventMessages("ErrorBadDate", null, 'errors'); $error++; break; } diff --git a/htdocs/projet/activity/perweek.php b/htdocs/projet/activity/perweek.php index 619803ecbc3..6201c601d18 100644 --- a/htdocs/projet/activity/perweek.php +++ b/htdocs/projet/activity/perweek.php @@ -108,12 +108,12 @@ if ($action == 'assign') } else { - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Task")), '', 'errors'); + setEventMessages($langs->transnoentitiesnoconv("ErrorFieldRequired", $langs->transnoentitiesnoconv("Task")), '', 'errors'); $error++; } if (! GETPOST('type')) { - setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), '', 'errors'); + setEventMessages($langs->transnoentitiesnoconv("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), '', 'errors'); $error++; } if (! $error) @@ -138,7 +138,7 @@ if ($action == 'assign') if (! $error) { - setEventMessages($langs->trans("TaskAssignedToEnterTime"), null); + setEventMessages("TaskAssignedToEnterTime", null); } $action=''; diff --git a/htdocs/projet/admin/project.php b/htdocs/projet/admin/project.php index 2b9097b8355..686e764978a 100644 --- a/htdocs/projet/admin/project.php +++ b/htdocs/projet/admin/project.php @@ -314,7 +314,7 @@ llxHeader("",$langs->trans("ProjectsSetup")); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ProjectsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("ProjectsSetup"),$linkback,'title_setup'); $head=project_admin_prepare_head(); @@ -373,7 +373,7 @@ print '
    '; * Projects Numbering model */ -print_titre($langs->trans("ProjectsNumberingModules")); +print load_fiche_titre($langs->trans("ProjectsNumberingModules")); print '
    '; print ''; @@ -477,7 +477,7 @@ print '

    '; if (empty($conf->global->PROJECT_HIDE_TASKS)) { // Task numbering module - print_titre($langs->trans("TasksNumberingModules")); + print load_fiche_titre($langs->trans("TasksNumberingModules")); print ''; print ''; @@ -583,7 +583,7 @@ if (empty($conf->global->PROJECT_HIDE_TASKS)) * Document templates generators */ -print_titre($langs->trans("ProjectsModelModule")); +print load_fiche_titre($langs->trans("ProjectsModelModule")); // Defini tableau def de modele $type='project'; @@ -742,7 +742,7 @@ if (empty($conf->global->PROJECT_HIDE_TASKS)) * Modeles documents for Task */ - print_titre($langs->trans("TaskModelModule")); + print load_fiche_titre($langs->trans("TaskModelModule")); // Defini tableau def de modele $type='project_task'; @@ -894,7 +894,7 @@ if (empty($conf->global->PROJECT_HIDE_TASKS)) } -print_titre($langs->trans("Other")); +print load_fiche_titre($langs->trans("Other")); // Other options $form=new Form($db); diff --git a/htdocs/projet/admin/project_extrafields.php b/htdocs/projet/admin/project_extrafields.php index 7a18dc9230f..39786f5ad71 100644 --- a/htdocs/projet/admin/project_extrafields.php +++ b/htdocs/projet/admin/project_extrafields.php @@ -65,7 +65,7 @@ $textobject=$langs->transnoentitiesnoconv("Project"); llxHeader("",$langs->trans("ProjectsSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ProjectsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("ProjectsSetup"),$linkback,'title_setup'); $head = project_admin_prepare_head(); @@ -95,7 +95,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
    "; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -108,7 +108,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
    "; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/projet/admin/project_task_extrafields.php b/htdocs/projet/admin/project_task_extrafields.php index b64bcabab89..e9dc8be64e1 100644 --- a/htdocs/projet/admin/project_task_extrafields.php +++ b/htdocs/projet/admin/project_task_extrafields.php @@ -65,7 +65,7 @@ $textobject=$langs->transnoentitiesnoconv("Project"); llxHeader("",$langs->trans("ProjectsSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ProjectsSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("ProjectsSetup"),$linkback,'title_setup'); $head = project_admin_prepare_head(); @@ -94,7 +94,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
    "; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -107,7 +107,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
    "; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/projet/card.php b/htdocs/projet/card.php index 24968839960..f3baf46ae63 100644 --- a/htdocs/projet/card.php +++ b/htdocs/projet/card.php @@ -218,7 +218,7 @@ if (empty($reshook)) if (! $error) { - $object->oldcopy = dol_clone($object); + $object->oldcopy = clone $object; $old_start_date = $object->date_start; @@ -411,7 +411,7 @@ if ($action == 'create' && $user->rights->projet->creer) $thirdparty=new Societe($db); if ($socid > 0) $thirdparty->fetch($socid); - print_fiche_titre($langs->trans("NewProject"), '', 'title_project'); + print load_fiche_titre($langs->trans("NewProject"), '', 'title_project'); print ''; print ''; @@ -466,6 +466,7 @@ if ($action == 'create' && $user->rights->projet->creer) print $form->textwithtooltip($text.' '.img_help(),$texthelp,1); } else print $text; + print ' '.$langs->trans("AddThirdParty").''; print ''; // Status diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index 094ae60c59e..3b0dd280eb6 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -43,8 +43,6 @@ class Project extends CommonObject */ protected $table_ref_field = 'ref'; - var $id; - var $ref; var $description; /** * @var string @@ -60,8 +58,6 @@ class Project extends CommonObject var $user_author_id; //!< Id of project creator. Not defined if shared project. var $user_close_id; var $public; //!< Tell if this is a public or private project - var $note_private; - var $note_public; var $budget_amount; var $statuts_short; diff --git a/htdocs/projet/class/projectstats.class.php b/htdocs/projet/class/projectstats.class.php index 98e9c0ce3e0..360e13429ad 100644 --- a/htdocs/projet/class/projectstats.class.php +++ b/htdocs/projet/class/projectstats.class.php @@ -24,7 +24,6 @@ include_once DOL_DOCUMENT_ROOT . '/core/lib/date.lib.php'; */ class ProjectStats extends Stats { - protected $db; private $project; public $userid; public $socid; @@ -371,7 +370,7 @@ class ProjectStats extends Stats if ($foundintocache) // Cache file found and is not too old { dol_syslog(get_class($this) . '::' . __FUNCTION__ . " read data from cache file " . $newpathofdestfile . " " . $filedate . "."); - $data = dol_json_decode(file_get_contents($newpathofdestfile), true); + $data = json_decode(file_get_contents($newpathofdestfile), true); } else { $year = $startyear; while ( $year <= $endyear ) { @@ -397,7 +396,7 @@ class ProjectStats extends Stats if (! dol_is_dir($conf->user->dir_temp)) dol_mkdir($conf->user->dir_temp); $fp = fopen($newpathofdestfile, 'w'); - fwrite($fp, dol_json_encode($data)); + fwrite($fp, json_encode($data)); fclose($fp); if (! empty($conf->global->MAIN_UMASK)) $newmask = $conf->global->MAIN_UMASK; @@ -460,4 +459,4 @@ class ProjectStats extends Stats // var_dump($res);print '
    '; return $res; } -} \ No newline at end of file +} diff --git a/htdocs/projet/class/task.class.php b/htdocs/projet/class/task.class.php index a8dffb8c494..c6c5f65f63d 100644 --- a/htdocs/projet/class/task.class.php +++ b/htdocs/projet/class/task.class.php @@ -34,11 +34,6 @@ class Task extends CommonObject public $element='project_task'; //!< Id that identify managed objects public $table_element='projet_task'; //!< Name of table without prefix where object is stored - var $id; - - var $ref; - - var $fk_project; var $fk_task_parent; var $label; var $description; @@ -51,9 +46,6 @@ class Task extends CommonObject var $priority; var $fk_user_creat; var $fk_user_valid; - var $statut; - var $note_private; - var $note_public; var $rang; var $timespent_id; diff --git a/htdocs/projet/element.php b/htdocs/projet/element.php index 5ef872e3185..796d215ea12 100644 --- a/htdocs/projet/element.php +++ b/htdocs/projet/element.php @@ -530,7 +530,7 @@ foreach ($listofreferent as $key => $value) $addform.=''; } - print_fiche_titre($langs->trans($title), $addform, ''); + print load_fiche_titre($langs->trans($title), $addform, ''); print '
    '; diff --git a/htdocs/projet/index.php b/htdocs/projet/index.php index 2625b1f8503..95e4ce98a5e 100644 --- a/htdocs/projet/index.php +++ b/htdocs/projet/index.php @@ -62,7 +62,7 @@ llxHeader("",$langs->trans("Projects"),"EN:Module_Projects|FR:Module_Projets|ES: $text=$langs->trans("Projects"); if ($mine) $text=$langs->trans("MyProjects"); -print_fiche_titre($text,'','title_project.png'); +print load_fiche_titre($text,'','title_project.png'); // Show description of content if ($mine) print $langs->trans("MyProjectsDesc").'

    '; diff --git a/htdocs/projet/stats/index.php b/htdocs/projet/stats/index.php index 5e81be3bf78..42d367ce833 100644 --- a/htdocs/projet/stats/index.php +++ b/htdocs/projet/stats/index.php @@ -60,7 +60,7 @@ llxHeader('', $langs->trans('Projects')); $title=$langs->trans("ProjectsStatistics"); $dir=$conf->projet->dir_output.'/temp'; -print_fiche_titre($title,'','title_project.png'); +print load_fiche_titre($title,'','title_project.png'); dol_mkdir($dir); diff --git a/htdocs/projet/tasks.php b/htdocs/projet/tasks.php index 018bf862bba..3458b34b176 100644 --- a/htdocs/projet/tasks.php +++ b/htdocs/projet/tasks.php @@ -266,7 +266,7 @@ if ($action == 'create' && $user->rights->projet->creer && (empty($object->third { if ($id > 0 || ! empty($ref)) print '
    '; - print_fiche_titre($langs->trans("NewTask"), '', 'title_project'); + print load_fiche_titre($langs->trans("NewTask"), '', 'title_project'); print ''; print ''; @@ -305,7 +305,7 @@ if ($action == 'create' && $user->rights->projet->creer && (empty($object->third print ''; // Date start diff --git a/htdocs/projet/tasks/contact.php b/htdocs/projet/tasks/contact.php index 9a8aa5c5608..59dab34b33e 100644 --- a/htdocs/projet/tasks/contact.php +++ b/htdocs/projet/tasks/contact.php @@ -176,7 +176,7 @@ if ($id > 0 || ! empty($ref)) $result=$projectstatic->fetch($object->fk_project); if (! empty($projectstatic->socid)) $projectstatic->fetch_thirdparty(); - $object->project = dol_clone($projectstatic); + $object->project = clone $projectstatic; $userWrite = $projectstatic->restrictedProjectArea($user,'write'); diff --git a/htdocs/projet/tasks/document.php b/htdocs/projet/tasks/document.php index ee3b9288d3c..1afc949cfa0 100644 --- a/htdocs/projet/tasks/document.php +++ b/htdocs/projet/tasks/document.php @@ -98,7 +98,7 @@ if ($id > 0 || ! empty($ref)) $projectstatic->fetch_thirdparty(); } - $object->project = dol_clone($projectstatic); + $object->project = clone $projectstatic; $upload_dir = $conf->projet->dir_output.'/'.dol_sanitizeFileName($projectstatic->ref).'/'.dol_sanitizeFileName($object->ref); } diff --git a/htdocs/projet/tasks/note.php b/htdocs/projet/tasks/note.php index 5b479085f61..ba575be30ad 100644 --- a/htdocs/projet/tasks/note.php +++ b/htdocs/projet/tasks/note.php @@ -53,7 +53,7 @@ if ($id > 0 || ! empty($ref)) $projectstatic->fetch($object->fk_project); if (! empty($projectstatic->socid)) $projectstatic->fetch_thirdparty(); - $object->project = dol_clone($projectstatic); + $object->project = clone $projectstatic; } else { diff --git a/htdocs/projet/tasks/task.php b/htdocs/projet/tasks/task.php index 8a3c3cc5d5b..a146d8805ea 100644 --- a/htdocs/projet/tasks/task.php +++ b/htdocs/projet/tasks/task.php @@ -205,7 +205,7 @@ if ($id > 0 || ! empty($ref)) $result=$projectstatic->fetch($object->fk_project); if (! empty($projectstatic->socid)) $projectstatic->fetch_thirdparty(); - $object->project = dol_clone($projectstatic); + $object->project = clone $projectstatic; $userWrite = $projectstatic->restrictedProjectArea($user,'write'); diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index f5eab2587cf..db8682e095a 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -215,7 +215,7 @@ if ($id > 0 || ! empty($ref)) $result=$projectstatic->fetch($object->fk_project); if (! empty($projectstatic->socid)) $projectstatic->fetch_thirdparty(); - $object->project = dol_clone($projectstatic); + $object->project = clone $projectstatic; $userWrite = $projectstatic->restrictedProjectArea($user,'write'); diff --git a/htdocs/public/api/.gitignore b/htdocs/public/api/.gitignore new file mode 100644 index 00000000000..0a2101fab9b --- /dev/null +++ b/htdocs/public/api/.gitignore @@ -0,0 +1 @@ +/cache/ diff --git a/htdocs/public/api/index.php b/htdocs/public/api/index.php index 24bd3715726..ac9a8f9b2a3 100644 --- a/htdocs/public/api/index.php +++ b/htdocs/public/api/index.php @@ -31,7 +31,7 @@ $res=0; if (! $res && file_exists("../../main.inc.php")) $res=include '../../main.inc.php'; if (! $res) die("Include of main fails"); -require_once DOL_DOCUMENT_ROOT.'/includes/autoload.php'; +require_once DOL_DOCUMENT_ROOT.'/api/restler.php'; require_once DOL_DOCUMENT_ROOT.'/api/class/api.class.php'; require_once DOL_DOCUMENT_ROOT.'/api/class/api_access.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; @@ -110,8 +110,11 @@ foreach ($modulesdir as $dir) { $classname=$reg[1]; $classname = str_replace('Api_','',ucwords($reg[1])).'Api'; + $classname = ucfirst($classname); require_once $dir_part.$file_searched; - if(class_exists($classname)) { + if (class_exists($classname)) + { + dol_syslog("Found API classname=".$classname); $api->r->addAPIClass($classname,''); } } diff --git a/htdocs/public/demo/index.php b/htdocs/public/demo/index.php index 4b0c0526174..8fc59b818ae 100644 --- a/htdocs/public/demo/index.php +++ b/htdocs/public/demo/index.php @@ -1,7 +1,8 @@ - * Copyright (C) 2006-2013 Laurent Destailleur - * Copyright (C) 2010 Regis Houssin +/* Copyright (C) 2001-2002 Rodolphe Quiedeville + * Copyright (C) 2006-2013 Laurent Destailleur + * Copyright (C) 2010 Regis Houssin + * Copyright (C) 2015 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,6 +29,7 @@ define("NOLOGIN",1); // This means this output page does not require to be logge define("NOCSRFCHECK",1); // We accept to go on this page from external web site. require '../../main.inc.php'; +require_once '../../core/lib/functions2.lib.php'; $langs->load("main"); $langs->load("install"); @@ -99,28 +101,7 @@ $dirlist=$conf->file->dol_document_root; // Search modules dirs -$modulesdir = array(); -foreach ($conf->file->dol_document_root as $type => $dirroot) -{ - $modulesdir[$dirroot . '/core/modules/'] = $dirroot . '/core/modules/'; - - $handle=@opendir($dirroot); - if (is_resource($handle)) - { - while (($file = readdir($handle))!==false) - { - if (is_dir($dirroot.'/'.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS' && $file != 'includes') - { - if (is_dir($dirroot . '/' . $file . '/core/modules/')) - { - $modulesdir[$dirroot . '/' . $file . '/core/modules/'] = $dirroot . '/' . $file . '/core/modules/'; - } - } - } - closedir($handle); - } -} -//var_dump($modulesdir); +$modulesdir = dolGetModulesDirs(); $filename = array(); diff --git a/htdocs/public/members/new.php b/htdocs/public/members/new.php index 2856fcb93a3..8b6aad16739 100644 --- a/htdocs/public/members/new.php +++ b/htdocs/public/members/new.php @@ -367,7 +367,7 @@ $extrafields->fetch_name_optionals_label('adherent'); // fetch optionals attr llxHeaderVierge($langs->trans("NewSubscription")); -print_titre($langs->trans("NewSubscription")); +print load_fiche_titre($langs->trans("NewSubscription")); if (! empty($conf->global->MEMBER_NEWFORM_TEXT)) print $langs->trans($conf->global->MEMBER_NEWFORM_TEXT)."
    \n"; else print $langs->trans("NewSubscriptionDesc",$conf->global->MAIN_INFO_SOCIETE_MAIL)."
    \n"; diff --git a/htdocs/public/members/public_card.php b/htdocs/public/members/public_card.php index 8a98ea4c4c3..908ad220f72 100644 --- a/htdocs/public/members/public_card.php +++ b/htdocs/public/members/public_card.php @@ -79,7 +79,7 @@ if ($id > 0) if ($res < 0) { dol_print_error($db,$object->error); exit; } $res=$object->fetch_optionals($object->id,$extralabels); - print_fiche_titre($langs->trans("MemberCard"), '', ''); + print load_fiche_titre($langs->trans("MemberCard"), '', ''); if (empty($object->public)) { diff --git a/htdocs/public/test/test_forms.php b/htdocs/public/test/test_forms.php index a6a361620e9..5e7b2f2434f 100644 --- a/htdocs/public/test/test_forms.php +++ b/htdocs/public/test/test_forms.php @@ -45,18 +45,9 @@ print '

    '."\n"; print "Test 3: We must have here 1970-01-01 00:00:00 selected (fields are mandatory)
    \n"; $form->select_date(dol_get_first_day(1970,1,false), 'test3', 1, 1, 0); -/*print '

    '."\n"; - -print "Test 4c: a select with ajax refresh
    \n"; -//$array=array(0=>'',1=>'Search into xxx',2=>'Search into yyy',3=>'Search into zzz'); -$array=array(); -$selected=-1; -print $form->selectArrayAjax('testselectc', DOL_URL_ROOT.'/core/ajax/selecsearchbox.php', $selected, 1, 0, 0, 'style="min-width: 250px;"', 0, 0, 0, '', '', 1); -*/ - print '

    '."\n"; -// Test4: a select +// Test4a: a select print "Test 4a: a select
    \n"; $array=array(1=>'Value 1',2=>'Value 2',3=>'Value 3 ith a very long text. aze eazeae e ae aeae a e a ea ea ea e a e aea e ae aeaeaeaze.'); $selected=3; @@ -73,20 +64,29 @@ print $form->selectarray('selectarray',$array); print '

    '."\n"; -// Test4d: form->select_thirdparty -print "Test 4d: Select thirdparty
    \n"; +print "Test 4d: a select with ajax refresh
    \n"; +//$array=array(0=>'',1=>'Search into xxx',2=>'Search into yyy',3=>'Search into zzz'); +$array=array(); +$selected=-1; +print $form->selectArrayAjax('testselectc', DOL_URL_ROOT.'/core/ajax/selectsearchbox.php', $selected, 'style="min-width: 250px;"', '', 0, 1, ''); + + +print '

    '."\n"; + +// Test5a: form->select_thirdparty +print "Test 5a: Select thirdparty
    \n"; print $form->select_company(0,'thirdpartytest'); print '

    '."\n"; -// Test4e: form->select_product -print "Test 4e: Select product (using ajax)
    \n"; +// Test5b: form->select_product +print "Test 5b: Select product (using ajax)
    \n"; $form->select_produits(0,'producttest'); print '

    '."\n"; -// Test5: a multiselect -print "Test 5: a multiselect
    \n"; +// Test5c: a multiselect +print "Test 5c: a multiselect
    \n"; $array=array(1=>'Value 1',2=>'Value 2',3=>'Value 3'); $arrayselected=array(1,3); print $form->multiselectarray('testmulti', $array, $arrayselected, '', 0, '', 0, 250); diff --git a/htdocs/resource/add.php b/htdocs/resource/add.php index 6243a0d270c..3618230a374 100644 --- a/htdocs/resource/add.php +++ b/htdocs/resource/add.php @@ -123,7 +123,7 @@ if (! $action) { $pagetitle=$langs->trans('AddResource'); llxHeader('',$pagetitle,''); - print_fiche_titre($pagetitle,'','title_generic'); + print load_fiche_titre($pagetitle,'','title_generic'); print ''; print ''; diff --git a/htdocs/resource/class/resource.class.php b/htdocs/resource/class/resource.class.php index 3c3f0ee6e49..08881341429 100644 --- a/htdocs/resource/class/resource.class.php +++ b/htdocs/resource/class/resource.class.php @@ -31,15 +31,9 @@ require_once DOL_DOCUMENT_ROOT."/core/lib/functions2.lib.php"; */ class Resource extends CommonObject { - var $db; //!< To store db handler - var $error; //!< To return error code (or message) - var $errors=array(); //!< To return several error codes (or messages) var $element='resource'; //!< Id that identify managed objects var $table_element='resource'; //!< Name of table without prefix where object is stored - var $id; - - var $resource_id; var $resource_type; var $element_id; @@ -50,7 +44,6 @@ class Resource extends CommonObject var $type_label; var $tms=''; - /** * Constructor * diff --git a/htdocs/resource/element_resource.php b/htdocs/resource/element_resource.php index 782b117d1f8..5c2414d22a2 100644 --- a/htdocs/resource/element_resource.php +++ b/htdocs/resource/element_resource.php @@ -244,7 +244,7 @@ else - //print_fiche_titre($langs->trans('ResourcesLinkedToElement'),'',''); + //print load_fiche_titre($langs->trans('ResourcesLinkedToElement'),'',''); @@ -277,7 +277,7 @@ else if ($mode != 'add' || $resource_obj != $resource_type) { - //print_titre($langs->trans(ucfirst($element_prop['element']).'Singular')); + //print load_fiche_titre($langs->trans(ucfirst($element_prop['element']).'Singular')); // If we have a specific template we use it if(file_exists(dol_buildpath($path.'/core/tpl/resource_'.$element_prop['element'].'_view.tpl.php'))) diff --git a/htdocs/resource/list.php b/htdocs/resource/list.php index 29ae4a42803..a1d5e0e209c 100644 --- a/htdocs/resource/list.php +++ b/htdocs/resource/list.php @@ -89,7 +89,7 @@ llxHeader('',$pagetitle,''); $form=new Form($db); -print_fiche_titre($pagetitle,'','title_generic'); +print load_fiche_titre($pagetitle,'','title_generic'); // Confirmation suppression resource line if ($action == 'delete_resource') diff --git a/htdocs/societe/admin/contact_extrafields.php b/htdocs/societe/admin/contact_extrafields.php index 3b11a6985d3..56bf58cf61d 100644 --- a/htdocs/societe/admin/contact_extrafields.php +++ b/htdocs/societe/admin/contact_extrafields.php @@ -65,7 +65,7 @@ llxHeader('',$langs->trans("CompanySetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("CompanySetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("CompanySetup"),$linkback,'title_setup'); $head = societe_admin_prepare_head(); @@ -95,7 +95,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
    "; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -108,7 +108,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
    "; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/societe/admin/societe.php b/htdocs/societe/admin/societe.php index 5001ab04cf4..10f5ab29045 100644 --- a/htdocs/societe/admin/societe.php +++ b/htdocs/societe/admin/societe.php @@ -288,7 +288,7 @@ $help_url='EN:Module Third Parties setup|FR:Paramétrage_du_module_Tiers|ES:Conf llxHeader('',$langs->trans("CompanySetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("CompanySetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("CompanySetup"),$linkback,'title_setup'); $head = societe_admin_prepare_head(); @@ -299,7 +299,7 @@ $dirsociete=array_merge(array('/core/modules/societe/'),$conf->modules_parts['so // Module to manage customer/supplier code -print_titre($langs->trans("CompanyCodeChecker")); +print load_fiche_titre($langs->trans("CompanyCodeChecker")); print '
    '.$langs->trans("AffectedTo").''; $contactsofproject=(! empty($object->id)?$object->getListContactId('internal'):''); - $form->select_users($user->id,'userid',0,'',0,'',$contactsofproject); + $form->select_dolusers($user->id,'userid',0,'',0,'',$contactsofproject); print '
    '."\n"; print ''."\n"; @@ -381,7 +381,7 @@ print "
    "; // Select accountancy code numbering module -print_titre($langs->trans("AccountCodeManager")); +print load_fiche_titre($langs->trans("AccountCodeManager")); print '
    '; print ''; @@ -452,7 +452,7 @@ print "
    \n"; * Document templates generators */ print '
    '; -print_titre($langs->trans("ModelModules")); +print load_fiche_titre($langs->trans("ModelModules")); // Load array def with activated templates $def = array(); @@ -598,7 +598,7 @@ print '
    '; print '
    '; //IDProf -print_titre($langs->trans("CompanyIdProfChecker")); +print load_fiche_titre($langs->trans("CompanyIdProfChecker")); print ''; print ''; @@ -691,7 +691,7 @@ while ($i < $nbofloop) print "

    \n"; -print_titre($langs->trans("Other")); +print load_fiche_titre($langs->trans("Other")); // Autres options $form=new Form($db); diff --git a/htdocs/societe/admin/societe_extrafields.php b/htdocs/societe/admin/societe_extrafields.php index ade27c4aefa..89f44d53aa7 100644 --- a/htdocs/societe/admin/societe_extrafields.php +++ b/htdocs/societe/admin/societe_extrafields.php @@ -66,7 +66,7 @@ llxHeader('',$langs->trans("CompanySetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("CompanySetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("CompanySetup"),$linkback,'title_setup'); $head = societe_admin_prepare_head(); @@ -96,7 +96,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
    "; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -109,7 +109,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
    "; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/societe/canvas/actions_card_common.class.php b/htdocs/societe/canvas/actions_card_common.class.php index b2b0f954a58..bffff8f3cbe 100644 --- a/htdocs/societe/canvas/actions_card_common.class.php +++ b/htdocs/societe/canvas/actions_card_common.class.php @@ -279,7 +279,7 @@ abstract class ActionsCardCommon exit; } - $oldsoccanvas = dol_clone($this->object); + $oldsoccanvas = clone $this->object; // To avoid setting code if third party is not concerned. But if it had values, we keep them. if (empty($this->object->client) && empty($oldsoccanvas->code_client)) $this->object->code_client=''; diff --git a/htdocs/societe/canvas/company/actions_card_company.class.php b/htdocs/societe/canvas/company/actions_card_company.class.php index b2c0f82f1e0..c7ed03080f6 100644 --- a/htdocs/societe/canvas/company/actions_card_company.class.php +++ b/htdocs/societe/canvas/company/actions_card_company.class.php @@ -29,11 +29,6 @@ include_once DOL_DOCUMENT_ROOT.'/societe/canvas/actions_card_common.class.php'; */ class ActionsCardCompany extends ActionsCardCommon { - var $dirmodule; - var $targetmodule; - var $canvas; - var $card; - /** * Constructor * diff --git a/htdocs/societe/canvas/individual/actions_card_individual.class.php b/htdocs/societe/canvas/individual/actions_card_individual.class.php index 19921b69d81..f38d0d034ef 100644 --- a/htdocs/societe/canvas/individual/actions_card_individual.class.php +++ b/htdocs/societe/canvas/individual/actions_card_individual.class.php @@ -28,11 +28,6 @@ include_once DOL_DOCUMENT_ROOT.'/societe/canvas/actions_card_common.class.php'; */ class ActionsCardIndividual extends ActionsCardCommon { - var $dirmodule; - var $targetmodule; - var $canvas; - var $card; - /** * Constructor * diff --git a/htdocs/societe/checkvat/checkVatPopup.php b/htdocs/societe/checkvat/checkVatPopup.php index 13d669789e7..152cd5d9a3f 100644 --- a/htdocs/societe/checkvat/checkVatPopup.php +++ b/htdocs/societe/checkvat/checkVatPopup.php @@ -39,7 +39,7 @@ print ''; print '
    '; print '
    '; -print_fiche_titre($langs->trans("VATIntraCheckableOnEUSite"),'','title_setup'); +print load_fiche_titre($langs->trans("VATIntraCheckableOnEUSite"),'','title_setup'); if (! $_REQUEST["vatNumber"]) diff --git a/htdocs/societe/class/address.class.php b/htdocs/societe/class/address.class.php index db981834760..d8a1687cf9d 100644 --- a/htdocs/societe/class/address.class.php +++ b/htdocs/societe/class/address.class.php @@ -54,9 +54,10 @@ class Address public $lines; /** - * Constructor + * Constructor * - * @param DoliDB $db Database handler + * @param DoliDB $db Database handler + * @deprecated */ function __construct($db) { diff --git a/htdocs/societe/class/client.class.php b/htdocs/societe/class/client.class.php index f3e7a8dcce9..b4ee6b86249 100644 --- a/htdocs/societe/class/client.class.php +++ b/htdocs/societe/class/client.class.php @@ -29,8 +29,6 @@ include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; */ class Client extends Societe { - var $db; - var $next_prev_filter="te.client in (1,2,3)"; // Used to add a filter in Form::showrefnav method var $cacheprospectstatus=array(); diff --git a/htdocs/societe/class/companybankaccount.class.php b/htdocs/societe/class/companybankaccount.class.php index 336aab0ebbd..35d03387fec 100644 --- a/htdocs/societe/class/companybankaccount.class.php +++ b/htdocs/societe/class/companybankaccount.class.php @@ -32,21 +32,8 @@ require_once DOL_DOCUMENT_ROOT .'/compta/bank/class/account.class.php'; */ class CompanyBankAccount extends Account { - var $rowid; var $socid; - var $label; - var $bank; - var $courant; - var $clos; - var $code_banque; - var $code_guichet; - var $number; - var $cle_rib; - var $bic; - var $iban; - var $proprio; - var $owner_address; var $default_rib; var $frstrecur; diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index c3dfeb7b226..6e705749ba0 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -51,8 +51,6 @@ class Societe extends CommonObject */ protected $ismultientitymanaged = 1; - public $id; - public $name; public $entity; /** @@ -63,9 +61,6 @@ class Societe extends CommonObject */ public $nom; - var $firstname; - var $lastname; - /** * Alias names (commercial, trademark or alias names) * @var string @@ -73,7 +68,6 @@ class Societe extends CommonObject public $name_alias; public $particulier; - public $civility_id; public $address; public $zip; public $town; @@ -113,9 +107,6 @@ class Societe extends CommonObject * @see country */ var $pays; - var $country_id; - var $country_code; - var $country; /** * Phone number @@ -149,26 +140,6 @@ class Societe extends CommonObject * @var string */ var $barcode; - /** - * ID of bardode type - * @var int - */ - var $barcode_type; - /** - * code (loaded by fetch_barcode) - * @var string - */ - var $barcode_type_code; - /** - * label (loaded by fetch_barcode) - * @var string - */ - var $barcode_type_label; - /** - * coder (loaded by fetch_barcode) - * @var string - */ - var $barcode_type_coder; // 6 professional id (usage depends on country) @@ -233,8 +204,6 @@ class Societe extends CommonObject var $forme_juridique; var $remise_percent; - var $mode_reglement_id; - var $cond_reglement_id; var $mode_reglement_supplier_id; var $cond_reglement_supplier_id; var $fk_prospectlevel; @@ -419,7 +388,7 @@ class Societe extends CommonObject * @param User $user Object of user that ask creation * @return int >= 0 if OK, < 0 if KO */ - function create($user='') + function create($user) { global $langs,$conf; @@ -461,14 +430,14 @@ class Societe extends CommonObject $sql = "INSERT INTO ".MAIN_DB_PREFIX."societe (nom, name_alias, entity, datec, fk_user_creat, canvas, status, ref_int, ref_ext, fk_stcomm, fk_incoterms, location_incoterms ,import_key)"; $sql.= " VALUES ('".$this->db->escape($this->name)."', '".$this->db->escape($this->name_alias)."', ".$conf->entity.", '".$this->db->idate($now)."'"; $sql.= ", ".(! empty($user->id) ? "'".$user->id."'":"null"); - $sql.= ", ".(! empty($this->canvas) ? "'".$this->canvas."'":"null"); + $sql.= ", ".(! empty($this->canvas) ? "'".$this->db->escape($this->canvas)."'":"null"); $sql.= ", ".$this->status; - $sql.= ", ".(! empty($this->ref_int) ? "'".$this->ref_int."'":"null"); - $sql.= ", ".(! empty($this->ref_ext) ? "'".$this->ref_ext."'":"null"); + $sql.= ", ".(! empty($this->ref_int) ? "'".$this->db->escape($this->ref_int)."'":"null"); + $sql.= ", ".(! empty($this->ref_ext) ? "'".$this->db->escape($this->ref_ext)."'":"null"); $sql.= ", 0"; $sql.= ", ".(int) $this->fk_incoterms; $sql.= ", '".$this->db->escape($this->location_incoterms)."'"; - $sql.= ", ".(! empty($this->import_key) ? "'".$this->import_key."'":"null").")"; + $sql.= ", ".(! empty($this->import_key) ? "'".$this->db->escape($this->import_key)."'":"null").")"; dol_syslog(get_class($this)."::create", LOG_DEBUG); $result=$this->db->query($sql); @@ -484,7 +453,7 @@ class Societe extends CommonObject $this->add_commercial($user, $this->commercial_id); } // si un commercial cree un client il lui est affecte automatiquement - else if (!$user->rights->societe->client->voir) + else if (empty($user->rights->societe->client->voir)) { $this->add_commercial($user, $user->id); } @@ -789,7 +758,7 @@ class Societe extends CommonObject $sql .= ",ref_ext = " .(! empty($this->ref_ext)?"'".$this->db->escape($this->ref_ext) ."'":"null"); $sql .= ",address = '" . $this->db->escape($this->address) ."'"; - $sql .= ",zip = ".(! empty($this->zip)?"'".$this->zip."'":"null"); + $sql .= ",zip = ".(! empty($this->zip)?"'".$this->db->escape($this->zip)."'":"null"); $sql .= ",town = ".(! empty($this->town)?"'".$this->db->escape($this->town)."'":"null"); $sql .= ",fk_departement = '" . (! empty($this->state_id)?$this->state_id:'0') ."'"; @@ -841,17 +810,17 @@ class Societe extends CommonObject $sql .= ",prefix_comm = ".(! empty($this->prefix_comm)?"'".$this->db->escape($this->prefix_comm)."'":"null"); - $sql .= ",fk_effectif = ".(! empty($this->effectif_id)?"'".$this->effectif_id."'":"null"); + $sql .= ",fk_effectif = ".(! empty($this->effectif_id)?"'".$this->db->escape($this->effectif_id)."'":"null"); - $sql .= ",fk_typent = ".(! empty($this->typent_id)?"'".$this->typent_id."'":"0"); + $sql .= ",fk_typent = ".(! empty($this->typent_id)?"'".$this->db->escape($this->typent_id)."'":"0"); - $sql .= ",fk_forme_juridique = ".(! empty($this->forme_juridique_code)?"'".$this->forme_juridique_code."'":"null"); + $sql .= ",fk_forme_juridique = ".(! empty($this->forme_juridique_code)?"'".$this->db->escape($this->forme_juridique_code)."'":"null"); $sql .= ",client = " . (! empty($this->client)?$this->client:0); $sql .= ",fournisseur = " . (! empty($this->fournisseur)?$this->fournisseur:0); - $sql .= ",barcode = ".(! empty($this->barcode)?"'".$this->barcode."'":"null"); - $sql .= ",default_lang = ".(! empty($this->default_lang)?"'".$this->default_lang."'":"null"); - $sql .= ",logo = ".(! empty($this->logo)?"'".$this->logo."'":"null"); + $sql .= ",barcode = ".(! empty($this->barcode)?"'".$this->db->escape($this->barcode)."'":"null"); + $sql .= ",default_lang = ".(! empty($this->default_lang)?"'".$this->db->escape($this->default_lang)."'":"null"); + $sql .= ",logo = ".(! empty($this->logo)?"'".$this->db->escape($this->logo)."'":"null"); $sql .= ",webservices_url = ".(! empty($this->webservices_url)?"'".$this->db->escape($this->webservices_url)."'":"null"); $sql .= ",webservices_key = ".(! empty($this->webservices_key)?"'".$this->db->escape($this->webservices_key)."'":"null"); @@ -1531,7 +1500,7 @@ class Societe extends CommonObject // Positionne remise courante $sql = "UPDATE ".MAIN_DB_PREFIX."societe "; - $sql.= " SET remise_client = '".$remise."'"; + $sql.= " SET remise_client = '".$this->db->escape($remise)."'"; $sql.= " WHERE rowid = " . $this->id .";"; $resql=$this->db->query($sql); if (! $resql) @@ -1544,7 +1513,7 @@ class Societe extends CommonObject // Ecrit trace dans historique des remises $sql = "INSERT INTO ".MAIN_DB_PREFIX."societe_remise"; $sql.= " (datec, fk_soc, remise_client, note, fk_user_author)"; - $sql.= " VALUES ('".$this->db->idate($now)."', ".$this->id.", '".$remise."',"; + $sql.= " VALUES ('".$this->db->idate($now)."', ".$this->id.", '".$this->db->escape($remise)."',"; $sql.= " '".$this->db->escape($note)."',"; $sql.= " ".$user->id; $sql.= ")"; @@ -1694,7 +1663,7 @@ class Societe extends CommonObject $now=dol_now(); $sql = "UPDATE ".MAIN_DB_PREFIX."societe"; - $sql .= " SET price_level = '".$price_level."'"; + $sql .= " SET price_level = '".$this->db->escape($price_level)."'"; $sql .= " WHERE rowid = " . $this->id; if (! $this->db->query($sql)) @@ -1705,7 +1674,7 @@ class Societe extends CommonObject $sql = "INSERT INTO ".MAIN_DB_PREFIX."societe_prices"; $sql .= " (datec, fk_soc, price_level, fk_user_author)"; - $sql .= " VALUES ('".$this->db->idate($now)."',".$this->id.",'".$price_level."',".$user->id.")"; + $sql .= " VALUES ('".$this->db->idate($now)."',".$this->id.",'".$this->db->escape($price_level)."',".$user->id.")"; if (! $this->db->query($sql)) { @@ -3242,7 +3211,7 @@ class Societe extends CommonObject * @param User $user User making change * @return int <0 if KO, >0 if OK */ - function set_OutstandingBill (User $user) + function set_OutstandingBill(User $user) { if ($this->id) { diff --git a/htdocs/societe/commerciaux.php b/htdocs/societe/commerciaux.php index 498257ea496..05679cef5bb 100644 --- a/htdocs/societe/commerciaux.php +++ b/htdocs/societe/commerciaux.php @@ -234,7 +234,7 @@ if ($_GET["socid"]) $num = $db->num_rows($resql); $i = 0; - print_titre($title); + print load_fiche_titre($title); // Lignes des titres print ''; diff --git a/htdocs/societe/index.php b/htdocs/societe/index.php index d8723ceabcf..c8da9ae9f89 100644 --- a/htdocs/societe/index.php +++ b/htdocs/societe/index.php @@ -48,7 +48,7 @@ $helpurl='EN:Module_Third_Parties|FR:Module_Tiers|ES:Módulo_Terceros'; llxHeader("",$langs->trans("ThirdParties"),$helpurl); $linkback=''; -print_fiche_titre($transAreaType,$linkback,'title_companies.png'); +print load_fiche_titre($transAreaType,$linkback,'title_companies.png'); //print '
    '; diff --git a/htdocs/societe/list.php b/htdocs/societe/list.php index 281746fe824..20d4b6c477f 100644 --- a/htdocs/societe/list.php +++ b/htdocs/societe/list.php @@ -4,6 +4,7 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Marcos García * Copyright (C) 2013-2015 Raphaël Doursenaud + * Copyright (C) 2015 Florian Henry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,6 +29,8 @@ require_once '../main.inc.php'; include_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; $langs->load("companies"); $langs->load("customers"); @@ -55,6 +58,8 @@ $search_categ=trim(GETPOST("search_categ")); $mode=GETPOST("mode"); $modesearch=GETPOST("mode_search"); $search_type=trim(GETPOST('search_type')); +$search_country = GETPOST("search_country",'int'); +$search_type_thirdparty = GETPOST("search_type_thirdparty",'int'); $sortfield=GETPOST("sortfield",'alpha'); $sortorder=GETPOST("sortorder",'alpha'); @@ -153,6 +158,7 @@ if ($mode == 'search') $form=new Form($db); $htmlother=new FormOther($db); $companystatic=new Societe($db); +$formcompany=new FormCompany($db); $help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; llxHeader('',$langs->trans("ThirdParty"),$help_url); @@ -172,6 +178,8 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both $search_idprof3=''; $search_idprof4=''; $search_type=''; + $search_country=''; + $search_type_thirdparty=''; } if ($socname) @@ -195,6 +203,8 @@ $title=$langs->trans("ListOfThirdParties"); $sql = "SELECT s.rowid, s.nom as name, s.barcode, s.town, s.datec, s.code_client, s.code_fournisseur, "; $sql.= " st.libelle as stcomm, s.prefix_comm, s.client, s.fournisseur, s.canvas, s.status as status,"; $sql.= " s.siren as idprof1, s.siret as idprof2, ape as idprof3, idprof4 as idprof4"; +$sql.= ",s.fk_pays"; +$sql.= ",typent.code as typent_code"; // We'll need these fields in order to filter by sale (including the case where the user can only see his prospects) if ($search_sale) $sql .= ", sc.fk_soc, sc.fk_user"; // We'll need these fields in order to filter by categ @@ -205,8 +215,10 @@ foreach ($extrafields->attribute_list as $key => $val) $sql.=",ef.".$key.' as op $parameters=array(); $reshook=$hookmanager->executeHooks('printFieldListSelect',$parameters); // Note that $action and $object may have been modified by hook $sql.=$hookmanager->resPrint; -$sql.= " FROM ".MAIN_DB_PREFIX."societe as s,"; -$sql.= " ".MAIN_DB_PREFIX."c_stcomm as st"; +$sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as country on (country.rowid = s.fk_pays) "; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_typent as typent on (typent.id = s.fk_typent) "; +$sql.= " ,".MAIN_DB_PREFIX."c_stcomm as st"; // We'll need this table joined to the select in order to filter by sale if ($search_sale || (!$user->rights->societe->client->voir && !$socid)) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We'll need this table joined to the select in order to filter by categ @@ -235,6 +247,8 @@ if ($search_type > 0 && in_array($search_type,array('1,3','2,3'))) $sql .= " AND if ($search_type > 0 && in_array($search_type,array('4'))) $sql .= " AND s.fournisseur = 1"; if ($search_type == '0') $sql .= " AND s.client = 0 AND s.fournisseur = 0"; if (!empty($conf->barcode->enabled) && $sbarcode) $sql.= " AND s.barcode LIKE '%".$db->escape($sbarcode)."%'"; +if ($search_country) $sql .= " AND s.fk_pays IN (".$search_country.')'; +if ($search_type_thirdparty) $sql .= " AND s.fk_typent IN (".$search_type_thirdparty.')'; // Add where from hooks $parameters=array(); $reshook=$hookmanager->executeHooks('printFieldListWhere',$parameters); // Note that $action and $object may have been modified by hook @@ -257,14 +271,18 @@ if ($resql) $num = $db->num_rows($resql); $i = 0; - $params = "&socname=".htmlspecialchars($socname)."&search_nom=".htmlspecialchars($search_nom)."&search_town=".htmlspecialchars($search_town); - $params.= ($sbarcode?"&sbarcode=".htmlspecialchars($sbarcode):""); - $params.= '&search_idprof1='.htmlspecialchars($search_idprof1); - $params.= '&search_idprof2='.htmlspecialchars($search_idprof2); - $params.= '&search_idprof3='.htmlspecialchars($search_idprof3); - $params.= '&search_idprof4='.htmlspecialchars($search_idprof4); + $param = "&socname=".htmlspecialchars($socname); + $param.= "&search_nom=".htmlspecialchars($search_nom); + $param.= "&search_town=".htmlspecialchars($search_town); + $param.= ($sbarcode?"&sbarcode=".htmlspecialchars($sbarcode):""); + $param.= '&search_idprof1='.htmlspecialchars($search_idprof1); + $param.= '&search_idprof2='.htmlspecialchars($search_idprof2); + $param.= '&search_idprof3='.htmlspecialchars($search_idprof3); + $param.= '&search_idprof4='.htmlspecialchars($search_idprof4); + if ($search_country != '') $param.='&search_country='.htmlspecialchars($search_country); + if ($search_type_thirdparty != '') $param.='&search_type_thirdparty='.htmlspecialchars($search_type_thirdparty); - print_barre_liste($title, $page, $_SERVER["PHP_SELF"],$params,$sortfield,$sortorder,'',$num,$nbtotalofrecords,'title_companies'); + print_barre_liste($title, $page, $_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecords,'title_companies'); // Show delete result message if (GETPOST('delsoc')) @@ -325,18 +343,20 @@ if ($resql) // Lines of titles print ''; - print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","",$params,"",$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","",$param,"",$sortfield,$sortorder); if (! empty($conf->barcode->enabled)) print_liste_field_titre($langs->trans("BarCode"), $_SERVER["PHP_SELF"], "s.barcode",$param,'','',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Town"),$_SERVER["PHP_SELF"],"s.town","",$params,'',$sortfield,$sortorder); - print_liste_field_titre($form->textwithpicto($langs->trans("ProfId1Short"),$textprofid[1],1,0),$_SERVER["PHP_SELF"],"s.siren","",$params,'class="nowrap"',$sortfield,$sortorder); - print_liste_field_titre($form->textwithpicto($langs->trans("ProfId2Short"),$textprofid[2],1,0),$_SERVER["PHP_SELF"],"s.siret","",$params,'class="nowrap"',$sortfield,$sortorder); - print_liste_field_titre($form->textwithpicto($langs->trans("ProfId3Short"),$textprofid[3],1,0),$_SERVER["PHP_SELF"],"s.ape","",$params,'class="nowrap"',$sortfield,$sortorder); - print_liste_field_titre($form->textwithpicto($langs->trans("ProfId4Short"),$textprofid[4],1,0),$_SERVER["PHP_SELF"],"s.idprof4","",$params,'class="nowrap"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Town"),$_SERVER["PHP_SELF"],"s.town","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Country"),$_SERVER["PHP_SELF"],"country.code_iso","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("ThirdPartyType"),$_SERVER["PHP_SELF"],"typent.code","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($form->textwithpicto($langs->trans("ProfId1Short"),$textprofid[1],1,0),$_SERVER["PHP_SELF"],"s.siren","",$param,'class="nowrap"',$sortfield,$sortorder); + print_liste_field_titre($form->textwithpicto($langs->trans("ProfId2Short"),$textprofid[2],1,0),$_SERVER["PHP_SELF"],"s.siret","",$param,'class="nowrap"',$sortfield,$sortorder); + print_liste_field_titre($form->textwithpicto($langs->trans("ProfId3Short"),$textprofid[3],1,0),$_SERVER["PHP_SELF"],"s.ape","",$param,'class="nowrap"',$sortfield,$sortorder); + print_liste_field_titre($form->textwithpicto($langs->trans("ProfId4Short"),$textprofid[4],1,0),$_SERVER["PHP_SELF"],"s.idprof4","",$param,'class="nowrap"',$sortfield,$sortorder); print_liste_field_titre(''); $parameters=array(); $reshook=$hookmanager->executeHooks('printFieldListTitle',$parameters); // Note that $action and $object may have been modified by hook print $hookmanager->resPrint; - print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"s.status","",$params,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"s.status","",$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre('',$_SERVER["PHP_SELF"],"",'','','',$sortfield,$sortorder,'maxwidthsearch '); print "\n"; @@ -359,6 +379,14 @@ if ($resql) print ''; + //Country + print ''; + //Company type + print ''; // IdProf1 print ''; } print "\n"; + //Country + print ''; + //Type ent + print ''; print "\n"; print "\n"; print "\n"; diff --git a/htdocs/societe/notify/card.php b/htdocs/societe/notify/card.php index 2855e82b076..483c156907a 100644 --- a/htdocs/societe/notify/card.php +++ b/htdocs/societe/notify/card.php @@ -194,7 +194,7 @@ if ($result > 0) print "\n"; // Add notification form - print_fiche_titre($langs->trans("AddNewNotification"),'',''); + print load_fiche_titre($langs->trans("AddNewNotification"),'',''); print ''; print ''; @@ -252,7 +252,7 @@ if ($result > 0) print '
    '; // List of active notifications - print_fiche_titre($langs->trans("ListOfActiveNotifications"),'',''); + print load_fiche_titre($langs->trans("ListOfActiveNotifications"),'',''); $var=true; // Line with titles @@ -383,7 +383,7 @@ if ($result > 0) // List of notifications done - print_fiche_titre($langs->trans("ListOfNotificationsDone"),'',''); + print load_fiche_titre($langs->trans("ListOfNotificationsDone"),'',''); $var=true; // Line with titles diff --git a/htdocs/societe/price.php b/htdocs/societe/price.php index f1388530317..20805502c11 100644 --- a/htdocs/societe/price.php +++ b/htdocs/societe/price.php @@ -236,7 +236,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { // Create mode - print_fiche_titre($langs->trans('PriceByCustomer')); + print load_fiche_titre($langs->trans('PriceByCustomer')); print ''; print ''; @@ -309,7 +309,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { // Edit mode - print_fiche_titre($langs->trans('PriceByCustomer')); + print load_fiche_titre($langs->trans('PriceByCustomer')); $result = $prodcustprice->fetch(GETPOST('lineid', 'int')); if ($result < 0) { diff --git a/htdocs/societe/rib.php b/htdocs/societe/rib.php index 57ca545a053..ee4259f2e81 100644 --- a/htdocs/societe/rib.php +++ b/htdocs/societe/rib.php @@ -237,7 +237,7 @@ if ($socid && $action != 'edit' && $action != "create") print $form->formconfirm($_SERVER["PHP_SELF"]."?socid=".$soc->id."&ribid=".($ribid?$ribid:$id), $langs->trans("DeleteARib"), $langs->trans("ConfirmDeleteRib", $account->getRibLabel()), "confirm_delete", '', 0, 1); } - print_titre($langs->trans("DefaultRIB")); + print load_fiche_titre($langs->trans("DefaultRIB")); print '
    '; print ''; print ''; + print $form->select_country($search_country,'search_country'); + print ''; + print $form->selectarray("search_type_thirdparty", $formcompany->typent_array(0), $search_type_thirdparty, 0, 0, 0, '', 0, 0, 0, (empty($conf->global->SOCIETE_SORT_ON_TYPEENT)?'ASC':$conf->global->SOCIETE_SORT_ON_TYPEENT)); + print ''; print ''; @@ -424,6 +452,16 @@ if ($resql) print ''.$objp->barcode.'".$obj->town."'; + $tmparray=getCountry($obj->fk_pays,'all'); + print $tmparray['label']; + print ''; + if (count($typenArray)==0) $typenArray = $formcompany->typent_array(1); + print $typenArray[$obj->typent_code]; + print '".$obj->idprof1."".$obj->idprof2."".$obj->idprof3."
    '; @@ -357,7 +357,7 @@ if ($socid && $action != 'edit' && $action != "create") * List of bank accounts */ - print_titre($langs->trans("AllRIB")); + print load_fiche_titre($langs->trans("AllRIB")); $rib_list = $soc->get_all_rib(); $var = false; diff --git a/htdocs/societe/soc.php b/htdocs/societe/soc.php index bc19fbe3fd6..0a961d5637f 100644 --- a/htdocs/societe/soc.php +++ b/htdocs/societe/soc.php @@ -41,7 +41,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; -require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php'; +require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; if (! empty($conf->adherent->enabled)) require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; $langs->load("companies"); @@ -49,12 +49,14 @@ $langs->load("commercial"); $langs->load("bills"); $langs->load("banks"); $langs->load("users"); -if (!empty($conf->incoterm->enabled)) $langs->load("incoterm"); +if (! empty($conf->categories->enabled)) $langs->load("categories"); +if (! empty($conf->incoterm->enabled)) $langs->load("incoterm"); if (! empty($conf->notification->enabled)) $langs->load("mails"); $mesg=''; $error=0; $errors=array(); $action = (GETPOST('action') ? GETPOST('action') : 'view'); +$cancel = GETPOST('cancel'); $backtopage = GETPOST('backtopage','alpha'); $confirm = GETPOST('confirm'); $socid = GETPOST('socid','int'); @@ -97,6 +99,16 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e if (empty($reshook)) { + if ($cancel) + { + $action=''; + if (! empty($backtopage)) + { + header("Location: ".$backtopage); + exit; + } + } + if ($action == 'confirm_merge' && $confirm == 'yes') { $object->fetch($socid); @@ -231,7 +243,7 @@ if (empty($reshook)) if ($action == 'update') { $ret=$object->fetch($socid); - $object->oldcopy=dol_clone($object); + $object->oldcopy = clone $object; } else $object->canvas=$canvas; @@ -878,7 +890,7 @@ else /* Show create form */ $linkback=""; - print_fiche_titre($langs->trans("NewThirdParty"),$linkback,'title_companies.png'); + print load_fiche_titre($langs->trans("NewThirdParty"),$linkback,'title_companies.png'); if (! empty($conf->use_javascript_ajax)) { @@ -1157,11 +1169,11 @@ else print ''; // Legal Form - print ''; + print ''; print ''; print ''; print ''; } @@ -1229,6 +1241,8 @@ else // Categories if (! empty($conf->categorie->enabled) && ! empty($user->rights->categorie->lire)) { + $langs->load('categories'); + // Customer if ($object->prospect || $object->client) { print ''; // Juridical type - print ''; // Capital @@ -2406,7 +2425,7 @@ else $modelmail='thirdparty'; print '
    '; - print_titre($langs->trans($titreform)); + print load_fiche_titre($langs->trans($titreform)); // Define output language $outputlangs = $langs; diff --git a/htdocs/societe/societecontact.php b/htdocs/societe/societecontact.php index 928424b1d8b..4d2382e6eee 100644 --- a/htdocs/societe/societecontact.php +++ b/htdocs/societe/societecontact.php @@ -246,6 +246,8 @@ if ($id > 0 || ! empty($ref)) $memberstatic->ref=$objp->rowid; $memberstatic->lastname=$objp->lastname; $memberstatic->firstname=$objp->firstname; + $memberstatic->statut=$objp->statut; + $memberstatic->datefin=$db->jdate($objp->datefin); $companyname=$objp->company; @@ -290,7 +292,9 @@ if ($id > 0 || ! empty($ref)) { print ''; } else diff --git a/htdocs/theme/.gitignore b/htdocs/theme/.gitignore index 59c154b7d5f..725155947d1 100644 --- a/htdocs/theme/.gitignore +++ b/htdocs/theme/.gitignore @@ -1,3 +1,4 @@ /bootstrap /oblyon /autre +/allscreens diff --git a/htdocs/theme/amarok/AUTHOR b/htdocs/theme/amarok/AUTHOR deleted file mode 100755 index 13e88907936..00000000000 --- a/htdocs/theme/amarok/AUTHOR +++ /dev/null @@ -1,2 +0,0 @@ -2012 Nicolas Péré -2012 Xavier Peyronnet \ No newline at end of file diff --git a/htdocs/theme/amarok/ckeditor/config.js b/htdocs/theme/amarok/ckeditor/config.js deleted file mode 100755 index 97f1c0a0b62..00000000000 --- a/htdocs/theme/amarok/ckeditor/config.js +++ /dev/null @@ -1,92 +0,0 @@ -/* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.editorConfig = function( config ) -{ - // Define changes to default configuration here. - // http://docs.cksource.com/CKEditor_3.x/Developers_Guide - // http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html - config.enterMode = CKEDITOR.ENTER_BR; - config.resize_enabled = false; - //config.resize_maxHeight = 3000; - //config.resize_maxWidth = 3000; - //config.height = '300px'; - //config.resize_dir = 'vertical'; // horizontal, vertical, both - config.removePlugins = 'elementspath,save'; // config.removePlugins = 'elementspath,save,font'; - config.removeDialogTabs = 'flash:advanced'; // config.removeDialogTabs = 'flash:advanced;image:Link'; - config.protectedSource.push( /<\?[\s\S]*?\?>/g ); // Prevent PHP Code to be formatted - //config.menu_groups = 'clipboard,table,anchor,link,image'; // for context menu 'clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea' - //config.language = 'de'; - //config.defaultLanguage = 'en'; - //config.contentsLanguage = 'fr'; - config.fullPage = false; // Not a full html page string, just part of it - config.dialog_backgroundCoverColor = 'rgb(255, 254, 253)'; - //config.contentsCss = '/css/mysitestyles.css'; - config.image_previewText=' '; // Must no be empty - - config.toolbar_Full = - [ - ['Source','-','Save','NewPage','Preview','-','Templates'], - ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker', 'Scayt'], - ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'], - ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'], - '/', - ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'], - ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'], - ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], - ['BidiLtr', 'BidiRtl'], - ['Link','Unlink','Anchor'], - ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe'], - '/', - ['Styles','Format','Font','FontSize'], - ['TextColor','BGColor'], - ['Maximize', 'ShowBlocks','-','About'] - ]; - - // Used for mailing fields - config.toolbar_dolibarr_mailings = - [ - ['Source','Maximize'], - ['Cut','Copy','Paste','-','SpellChecker'], - ['Undo','Redo','-','Find','Replace'], - ['Format','Font','FontSize'], - ['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'], - ['NumberedList','BulletedList','Outdent','Indent','CreateDiv'], - ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], - ['Link','Unlink','Anchor','Image','Table','HorizontalRule','SpecialChar'] - ]; - - // Used for notes fields - config.toolbar_dolibarr_notes = - [ - ['Source','Maximize'], - ['Cut','Copy','Paste','-','SpellChecker'], - ['Undo','Redo','-','Find','Replace'], - ['Format','Font','FontSize'], - ['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'], - ['NumberedList','BulletedList','Outdent','Indent'], - ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], - ['Link','Unlink','Image','Table','HorizontalRule','SpecialChar'] - ]; - - // Used for details lines - config.toolbar_dolibarr_details = - [ - ['Source','Maximize'], - ['Cut','Copy','Paste','-','SpellChecker'], - ['Font','FontSize'], - ['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'], - ['NumberedList','BulletedList','Outdent','Indent'], - ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], - ['Link','Unlink','SpecialChar'] - ]; - - // Used for mailing fields - config.toolbar_dolibarr_readonly = - [ - ['Source','Maximize'], - ['Find'] - ]; -}; diff --git a/htdocs/theme/amarok/graph-color.php b/htdocs/theme/amarok/graph-color.php deleted file mode 100644 index 037e6a86d6f..00000000000 --- a/htdocs/theme/amarok/graph-color.php +++ /dev/null @@ -1,30 +0,0 @@ - - * Copyright (C) 2004-2007 Laurent Destailleur - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/theme/amarok/graph-color.php - * \brief File to declare colors to use to build graphics with theme Amarok - * \ingroup core - */ - -global $theme_bordercolor, $theme_datacolor, $theme_bgcolor, $theme_bgcoloronglet; -$theme_bordercolor = array(235,235,224); -$theme_datacolor = array(array(190,190,220), array(200,160,180), array(125,135,150), array(170,140,190), array(190,190,170)); -$theme_bgcolor = array(hexdec('F4'),hexdec('F4'),hexdec('F4')); -$theme_bgcoloronglet = array(hexdec('DE'),hexdec('E7'),hexdec('EC')); - diff --git a/htdocs/theme/amarok/img/1downarrow.png b/htdocs/theme/amarok/img/1downarrow.png deleted file mode 100644 index 33c655f345d..00000000000 Binary files a/htdocs/theme/amarok/img/1downarrow.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/1downarrow_selected.png b/htdocs/theme/amarok/img/1downarrow_selected.png deleted file mode 100644 index c8615bac56c..00000000000 Binary files a/htdocs/theme/amarok/img/1downarrow_selected.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/1leftarrow.png b/htdocs/theme/amarok/img/1leftarrow.png deleted file mode 100644 index a24894e25df..00000000000 Binary files a/htdocs/theme/amarok/img/1leftarrow.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/1leftarrow_selected.png b/htdocs/theme/amarok/img/1leftarrow_selected.png deleted file mode 100644 index 912f9a753be..00000000000 Binary files a/htdocs/theme/amarok/img/1leftarrow_selected.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/1rightarrow.png b/htdocs/theme/amarok/img/1rightarrow.png deleted file mode 100644 index b6474eaad46..00000000000 Binary files a/htdocs/theme/amarok/img/1rightarrow.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/1rightarrow_selected.png b/htdocs/theme/amarok/img/1rightarrow_selected.png deleted file mode 100644 index 911ce8e2d56..00000000000 Binary files a/htdocs/theme/amarok/img/1rightarrow_selected.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/1uparrow.png b/htdocs/theme/amarok/img/1uparrow.png deleted file mode 100644 index b0d939999bd..00000000000 Binary files a/htdocs/theme/amarok/img/1uparrow.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/1uparrow_selected.png b/htdocs/theme/amarok/img/1uparrow_selected.png deleted file mode 100644 index f311f885994..00000000000 Binary files a/htdocs/theme/amarok/img/1uparrow_selected.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/1updownarrow.png b/htdocs/theme/amarok/img/1updownarrow.png deleted file mode 100644 index 07ae44c2c51..00000000000 Binary files a/htdocs/theme/amarok/img/1updownarrow.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/addfile.png b/htdocs/theme/amarok/img/addfile.png deleted file mode 100644 index 35ace7e4cf2..00000000000 Binary files a/htdocs/theme/amarok/img/addfile.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/background_login.png b/htdocs/theme/amarok/img/background_login.png deleted file mode 100644 index e981431ce51..00000000000 Binary files a/htdocs/theme/amarok/img/background_login.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/button_edit.png b/htdocs/theme/amarok/img/button_edit.png deleted file mode 100644 index 2118cf41db3..00000000000 Binary files a/htdocs/theme/amarok/img/button_edit.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/calc.png b/htdocs/theme/amarok/img/calc.png deleted file mode 100644 index 11142a85f66..00000000000 Binary files a/htdocs/theme/amarok/img/calc.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/calendar.png b/htdocs/theme/amarok/img/calendar.png deleted file mode 100644 index 9238928c701..00000000000 Binary files a/htdocs/theme/amarok/img/calendar.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/call.png b/htdocs/theme/amarok/img/call.png deleted file mode 100644 index c0d4c2d9200..00000000000 Binary files a/htdocs/theme/amarok/img/call.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/call_out.png b/htdocs/theme/amarok/img/call_out.png deleted file mode 100644 index e1615f425d4..00000000000 Binary files a/htdocs/theme/amarok/img/call_out.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/close.png b/htdocs/theme/amarok/img/close.png deleted file mode 100644 index 1acc7a534d9..00000000000 Binary files a/htdocs/theme/amarok/img/close.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/close_title.png b/htdocs/theme/amarok/img/close_title.png deleted file mode 100644 index ec4338e8bca..00000000000 Binary files a/htdocs/theme/amarok/img/close_title.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/cron.png b/htdocs/theme/amarok/img/cron.png deleted file mode 100644 index ddfe62e7b24..00000000000 Binary files a/htdocs/theme/amarok/img/cron.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/delete.png b/htdocs/theme/amarok/img/delete.png deleted file mode 100644 index a8706fe5011..00000000000 Binary files a/htdocs/theme/amarok/img/delete.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/detail.png b/htdocs/theme/amarok/img/detail.png deleted file mode 100644 index 10dc7d72019..00000000000 Binary files a/htdocs/theme/amarok/img/detail.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/disable.png b/htdocs/theme/amarok/img/disable.png deleted file mode 100644 index f7322f6d68a..00000000000 Binary files a/htdocs/theme/amarok/img/disable.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/edit.png b/htdocs/theme/amarok/img/edit.png deleted file mode 100644 index faff605e3ca..00000000000 Binary files a/htdocs/theme/amarok/img/edit.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/edit_add.png b/htdocs/theme/amarok/img/edit_add.png deleted file mode 100644 index 8a5877aeeb5..00000000000 Binary files a/htdocs/theme/amarok/img/edit_add.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/edit_remove.png b/htdocs/theme/amarok/img/edit_remove.png deleted file mode 100644 index 0f32e706b39..00000000000 Binary files a/htdocs/theme/amarok/img/edit_remove.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/editdelete.png b/htdocs/theme/amarok/img/editdelete.png deleted file mode 100644 index f7322f6d68a..00000000000 Binary files a/htdocs/theme/amarok/img/editdelete.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/error.png b/htdocs/theme/amarok/img/error.png deleted file mode 100644 index 899fa9f6b63..00000000000 Binary files a/htdocs/theme/amarok/img/error.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/file.png b/htdocs/theme/amarok/img/file.png deleted file mode 100644 index 221eaf83e86..00000000000 Binary files a/htdocs/theme/amarok/img/file.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/filenew.png b/htdocs/theme/amarok/img/filenew.png deleted file mode 100644 index 92995d64faa..00000000000 Binary files a/htdocs/theme/amarok/img/filenew.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/filter.png b/htdocs/theme/amarok/img/filter.png deleted file mode 100644 index ec64ee55bcd..00000000000 Binary files a/htdocs/theme/amarok/img/filter.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/folder-open.png b/htdocs/theme/amarok/img/folder-open.png deleted file mode 100644 index 186680e7ff4..00000000000 Binary files a/htdocs/theme/amarok/img/folder-open.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/folder.png b/htdocs/theme/amarok/img/folder.png deleted file mode 100644 index 5c28dea0aa5..00000000000 Binary files a/htdocs/theme/amarok/img/folder.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/grip_title.png b/htdocs/theme/amarok/img/grip_title.png deleted file mode 100644 index 8053007e9dd..00000000000 Binary files a/htdocs/theme/amarok/img/grip_title.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/help.png b/htdocs/theme/amarok/img/help.png deleted file mode 100644 index f092e463807..00000000000 Binary files a/htdocs/theme/amarok/img/help.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/helpdoc.png b/htdocs/theme/amarok/img/helpdoc.png deleted file mode 100644 index 02ea7c7a194..00000000000 Binary files a/htdocs/theme/amarok/img/helpdoc.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/high.png b/htdocs/theme/amarok/img/high.png deleted file mode 100644 index 899fa9f6b63..00000000000 Binary files a/htdocs/theme/amarok/img/high.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/history.png b/htdocs/theme/amarok/img/history.png deleted file mode 100644 index 1e37cac68a7..00000000000 Binary files a/htdocs/theme/amarok/img/history.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/indent1.png b/htdocs/theme/amarok/img/indent1.png deleted file mode 100644 index 0acd18fe2bb..00000000000 Binary files a/htdocs/theme/amarok/img/indent1.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/info.png b/htdocs/theme/amarok/img/info.png deleted file mode 100644 index 5f7683898a8..00000000000 Binary files a/htdocs/theme/amarok/img/info.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/lock.png b/htdocs/theme/amarok/img/lock.png deleted file mode 100644 index fed5806fdda..00000000000 Binary files a/htdocs/theme/amarok/img/lock.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/logout.png b/htdocs/theme/amarok/img/logout.png deleted file mode 100644 index fed5806fdda..00000000000 Binary files a/htdocs/theme/amarok/img/logout.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/mainlevel.gif b/htdocs/theme/amarok/img/mainlevel.gif deleted file mode 100755 index 11e6209153c..00000000000 Binary files a/htdocs/theme/amarok/img/mainlevel.gif and /dev/null differ diff --git a/htdocs/theme/amarok/img/money.png b/htdocs/theme/amarok/img/money.png deleted file mode 100644 index d8c8109abca..00000000000 Binary files a/htdocs/theme/amarok/img/money.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/next.png b/htdocs/theme/amarok/img/next.png deleted file mode 100644 index 774ca27e79b..00000000000 Binary files a/htdocs/theme/amarok/img/next.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_account.png b/htdocs/theme/amarok/img/object_account.png deleted file mode 100644 index d41f8fdee80..00000000000 Binary files a/htdocs/theme/amarok/img/object_account.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_action.png b/htdocs/theme/amarok/img/object_action.png deleted file mode 100644 index 9238928c701..00000000000 Binary files a/htdocs/theme/amarok/img/object_action.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_address.png b/htdocs/theme/amarok/img/object_address.png deleted file mode 100644 index b20734da69a..00000000000 Binary files a/htdocs/theme/amarok/img/object_address.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_barcode.png b/htdocs/theme/amarok/img/object_barcode.png deleted file mode 100644 index 3296d7bedf6..00000000000 Binary files a/htdocs/theme/amarok/img/object_barcode.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_bill.png b/htdocs/theme/amarok/img/object_bill.png deleted file mode 100644 index b9af25f5788..00000000000 Binary files a/htdocs/theme/amarok/img/object_bill.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_billa.png b/htdocs/theme/amarok/img/object_billa.png deleted file mode 100644 index bc9a81ea505..00000000000 Binary files a/htdocs/theme/amarok/img/object_billa.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_billd.png b/htdocs/theme/amarok/img/object_billd.png deleted file mode 100644 index 5558e18d682..00000000000 Binary files a/htdocs/theme/amarok/img/object_billd.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_billr.png b/htdocs/theme/amarok/img/object_billr.png deleted file mode 100644 index 7c7601ac88d..00000000000 Binary files a/htdocs/theme/amarok/img/object_billr.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_book.png b/htdocs/theme/amarok/img/object_book.png deleted file mode 100644 index 2532b9e46bb..00000000000 Binary files a/htdocs/theme/amarok/img/object_book.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_bookmark.png b/htdocs/theme/amarok/img/object_bookmark.png deleted file mode 100644 index a33b726273e..00000000000 Binary files a/htdocs/theme/amarok/img/object_bookmark.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_calendar.png b/htdocs/theme/amarok/img/object_calendar.png deleted file mode 100644 index a9e239feec0..00000000000 Binary files a/htdocs/theme/amarok/img/object_calendar.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_calendarday.png b/htdocs/theme/amarok/img/object_calendarday.png deleted file mode 100644 index eca345725a2..00000000000 Binary files a/htdocs/theme/amarok/img/object_calendarday.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_calendarweek.png b/htdocs/theme/amarok/img/object_calendarweek.png deleted file mode 100644 index 807b7d5e53f..00000000000 Binary files a/htdocs/theme/amarok/img/object_calendarweek.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_category-expanded.png b/htdocs/theme/amarok/img/object_category-expanded.png deleted file mode 100644 index 186680e7ff4..00000000000 Binary files a/htdocs/theme/amarok/img/object_category-expanded.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_category.png b/htdocs/theme/amarok/img/object_category.png deleted file mode 100644 index 5c28dea0aa5..00000000000 Binary files a/htdocs/theme/amarok/img/object_category.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_commercial.png b/htdocs/theme/amarok/img/object_commercial.png deleted file mode 100644 index eea2b611196..00000000000 Binary files a/htdocs/theme/amarok/img/object_commercial.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_company.png b/htdocs/theme/amarok/img/object_company.png deleted file mode 100644 index 5b718fd3f92..00000000000 Binary files a/htdocs/theme/amarok/img/object_company.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_contact.png b/htdocs/theme/amarok/img/object_contact.png deleted file mode 100644 index e837d2e70bc..00000000000 Binary files a/htdocs/theme/amarok/img/object_contact.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_contact_all.png b/htdocs/theme/amarok/img/object_contact_all.png deleted file mode 100644 index 83b2c8ec0a3..00000000000 Binary files a/htdocs/theme/amarok/img/object_contact_all.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_contract.png b/htdocs/theme/amarok/img/object_contract.png deleted file mode 100644 index a3d207dec20..00000000000 Binary files a/htdocs/theme/amarok/img/object_contract.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_dir.png b/htdocs/theme/amarok/img/object_dir.png deleted file mode 100644 index 996415f98e3..00000000000 Binary files a/htdocs/theme/amarok/img/object_dir.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_email.png b/htdocs/theme/amarok/img/object_email.png deleted file mode 100644 index 5657fdb26c0..00000000000 Binary files a/htdocs/theme/amarok/img/object_email.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_energie.png b/htdocs/theme/amarok/img/object_energie.png deleted file mode 100644 index 255b847da99..00000000000 Binary files a/htdocs/theme/amarok/img/object_energie.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_generic.png b/htdocs/theme/amarok/img/object_generic.png deleted file mode 100644 index 1128986cecd..00000000000 Binary files a/htdocs/theme/amarok/img/object_generic.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_globe.png b/htdocs/theme/amarok/img/object_globe.png deleted file mode 100644 index 238b830405f..00000000000 Binary files a/htdocs/theme/amarok/img/object_globe.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_group.png b/htdocs/theme/amarok/img/object_group.png deleted file mode 100644 index 83b2c8ec0a3..00000000000 Binary files a/htdocs/theme/amarok/img/object_group.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_intervention.png b/htdocs/theme/amarok/img/object_intervention.png deleted file mode 100644 index 84f5b87c805..00000000000 Binary files a/htdocs/theme/amarok/img/object_intervention.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_invoice.png b/htdocs/theme/amarok/img/object_invoice.png deleted file mode 100644 index b9af25f5788..00000000000 Binary files a/htdocs/theme/amarok/img/object_invoice.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_label.png b/htdocs/theme/amarok/img/object_label.png deleted file mode 100644 index a73cbb9e9bb..00000000000 Binary files a/htdocs/theme/amarok/img/object_label.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_list.png b/htdocs/theme/amarok/img/object_list.png deleted file mode 100644 index edd4a53aefa..00000000000 Binary files a/htdocs/theme/amarok/img/object_list.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_margin.png b/htdocs/theme/amarok/img/object_margin.png deleted file mode 100644 index 13e4b92c9ce..00000000000 Binary files a/htdocs/theme/amarok/img/object_margin.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_order.png b/htdocs/theme/amarok/img/object_order.png deleted file mode 100644 index 6550c11c061..00000000000 Binary files a/htdocs/theme/amarok/img/object_order.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_payment.png b/htdocs/theme/amarok/img/object_payment.png deleted file mode 100644 index 7215fc22aa8..00000000000 Binary files a/htdocs/theme/amarok/img/object_payment.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_phoning.png b/htdocs/theme/amarok/img/object_phoning.png deleted file mode 100644 index b1266e84127..00000000000 Binary files a/htdocs/theme/amarok/img/object_phoning.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_phoning_fax.png b/htdocs/theme/amarok/img/object_phoning_fax.png deleted file mode 100644 index b1266e84127..00000000000 Binary files a/htdocs/theme/amarok/img/object_phoning_fax.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_product.png b/htdocs/theme/amarok/img/object_product.png deleted file mode 100644 index cb94e71a868..00000000000 Binary files a/htdocs/theme/amarok/img/object_product.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_project.png b/htdocs/theme/amarok/img/object_project.png deleted file mode 100644 index 68bb77ae989..00000000000 Binary files a/htdocs/theme/amarok/img/object_project.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_projectpub.png b/htdocs/theme/amarok/img/object_projectpub.png deleted file mode 100644 index b50dba8ef2d..00000000000 Binary files a/htdocs/theme/amarok/img/object_projectpub.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_projecttask.png b/htdocs/theme/amarok/img/object_projecttask.png deleted file mode 100644 index 2dc8d0111b6..00000000000 Binary files a/htdocs/theme/amarok/img/object_projecttask.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_propal.png b/htdocs/theme/amarok/img/object_propal.png deleted file mode 100644 index efd49ca0163..00000000000 Binary files a/htdocs/theme/amarok/img/object_propal.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_reduc.png b/htdocs/theme/amarok/img/object_reduc.png deleted file mode 100644 index 221eaf83e86..00000000000 Binary files a/htdocs/theme/amarok/img/object_reduc.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_rss.png b/htdocs/theme/amarok/img/object_rss.png deleted file mode 100644 index 9ba662a6086..00000000000 Binary files a/htdocs/theme/amarok/img/object_rss.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_sending.png b/htdocs/theme/amarok/img/object_sending.png deleted file mode 100644 index 5ef8072d54e..00000000000 Binary files a/htdocs/theme/amarok/img/object_sending.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_service.png b/htdocs/theme/amarok/img/object_service.png deleted file mode 100644 index 290a65f8a46..00000000000 Binary files a/htdocs/theme/amarok/img/object_service.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_stock.png b/htdocs/theme/amarok/img/object_stock.png deleted file mode 100644 index 19ae2cdc0d3..00000000000 Binary files a/htdocs/theme/amarok/img/object_stock.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_task.png b/htdocs/theme/amarok/img/object_task.png deleted file mode 100644 index 2dc8d0111b6..00000000000 Binary files a/htdocs/theme/amarok/img/object_task.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_technic.png b/htdocs/theme/amarok/img/object_technic.png deleted file mode 100644 index 0f1737ce582..00000000000 Binary files a/htdocs/theme/amarok/img/object_technic.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_trip.png b/htdocs/theme/amarok/img/object_trip.png deleted file mode 100644 index 4ffacc73e86..00000000000 Binary files a/htdocs/theme/amarok/img/object_trip.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/object_user.png b/htdocs/theme/amarok/img/object_user.png deleted file mode 100644 index 55ee040f98d..00000000000 Binary files a/htdocs/theme/amarok/img/object_user.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/off.png b/htdocs/theme/amarok/img/off.png deleted file mode 100644 index ab7742b4a97..00000000000 Binary files a/htdocs/theme/amarok/img/off.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/ok.png b/htdocs/theme/amarok/img/ok.png deleted file mode 100644 index abe1bd2424e..00000000000 Binary files a/htdocs/theme/amarok/img/ok.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/on.png b/htdocs/theme/amarok/img/on.png deleted file mode 100644 index 9362cfb75ee..00000000000 Binary files a/htdocs/theme/amarok/img/on.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/pdf2.png b/htdocs/theme/amarok/img/pdf2.png deleted file mode 100644 index cbf205d383e..00000000000 Binary files a/htdocs/theme/amarok/img/pdf2.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/pdf3.png b/htdocs/theme/amarok/img/pdf3.png deleted file mode 100644 index fec72dbd81e..00000000000 Binary files a/htdocs/theme/amarok/img/pdf3.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/previous.png b/htdocs/theme/amarok/img/previous.png deleted file mode 100644 index f50a54114ec..00000000000 Binary files a/htdocs/theme/amarok/img/previous.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/printer.png b/htdocs/theme/amarok/img/printer.png deleted file mode 100644 index c2e20742b65..00000000000 Binary files a/htdocs/theme/amarok/img/printer.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/puce.png b/htdocs/theme/amarok/img/puce.png deleted file mode 100644 index d18f94cf582..00000000000 Binary files a/htdocs/theme/amarok/img/puce.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/recent.png b/htdocs/theme/amarok/img/recent.png deleted file mode 100644 index c5818910e6e..00000000000 Binary files a/htdocs/theme/amarok/img/recent.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/redstar.png b/htdocs/theme/amarok/img/redstar.png deleted file mode 100644 index 5c02de23c6b..00000000000 Binary files a/htdocs/theme/amarok/img/redstar.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/refresh.png b/htdocs/theme/amarok/img/refresh.png deleted file mode 100644 index e96e4bbf33c..00000000000 Binary files a/htdocs/theme/amarok/img/refresh.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/reload.png b/htdocs/theme/amarok/img/reload.png deleted file mode 100644 index 72990aa88cf..00000000000 Binary files a/htdocs/theme/amarok/img/reload.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/rightarrow.png b/htdocs/theme/amarok/img/rightarrow.png deleted file mode 100644 index 91e19e47a81..00000000000 Binary files a/htdocs/theme/amarok/img/rightarrow.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/search.png b/htdocs/theme/amarok/img/search.png deleted file mode 100644 index 8e95c05c874..00000000000 Binary files a/htdocs/theme/amarok/img/search.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/searchclear.png b/htdocs/theme/amarok/img/searchclear.png deleted file mode 100644 index feff9b53fe4..00000000000 Binary files a/htdocs/theme/amarok/img/searchclear.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/setup.png b/htdocs/theme/amarok/img/setup.png deleted file mode 100644 index ca5f28b1d17..00000000000 Binary files a/htdocs/theme/amarok/img/setup.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/sort_asc.png b/htdocs/theme/amarok/img/sort_asc.png deleted file mode 100644 index e327d952fa4..00000000000 Binary files a/htdocs/theme/amarok/img/sort_asc.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/sort_asc_disabled.png b/htdocs/theme/amarok/img/sort_asc_disabled.png deleted file mode 100644 index e327d952fa4..00000000000 Binary files a/htdocs/theme/amarok/img/sort_asc_disabled.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/sort_desc.png b/htdocs/theme/amarok/img/sort_desc.png deleted file mode 100644 index db99fd9ad47..00000000000 Binary files a/htdocs/theme/amarok/img/sort_desc.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/split.png b/htdocs/theme/amarok/img/split.png deleted file mode 100644 index 62034af3190..00000000000 Binary files a/htdocs/theme/amarok/img/split.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/star.png b/htdocs/theme/amarok/img/star.png deleted file mode 100644 index d9ac97b1702..00000000000 Binary files a/htdocs/theme/amarok/img/star.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/stats.png b/htdocs/theme/amarok/img/stats.png deleted file mode 100644 index a503b20a95c..00000000000 Binary files a/htdocs/theme/amarok/img/stats.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/statut0.png b/htdocs/theme/amarok/img/statut0.png deleted file mode 100644 index ceb9667d4b7..00000000000 Binary files a/htdocs/theme/amarok/img/statut0.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/statut1.png b/htdocs/theme/amarok/img/statut1.png deleted file mode 100644 index 2f96ef7581d..00000000000 Binary files a/htdocs/theme/amarok/img/statut1.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/statut2.png b/htdocs/theme/amarok/img/statut2.png deleted file mode 100644 index 155df5aa188..00000000000 Binary files a/htdocs/theme/amarok/img/statut2.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/statut3.png b/htdocs/theme/amarok/img/statut3.png deleted file mode 100644 index 18b2a5b47dd..00000000000 Binary files a/htdocs/theme/amarok/img/statut3.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/statut4.png b/htdocs/theme/amarok/img/statut4.png deleted file mode 100644 index 92450a62497..00000000000 Binary files a/htdocs/theme/amarok/img/statut4.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/statut5.png b/htdocs/theme/amarok/img/statut5.png deleted file mode 100644 index a8db4159a31..00000000000 Binary files a/htdocs/theme/amarok/img/statut5.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/statut6.png b/htdocs/theme/amarok/img/statut6.png deleted file mode 100644 index 155df5aa188..00000000000 Binary files a/htdocs/theme/amarok/img/statut6.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/statut7.png b/htdocs/theme/amarok/img/statut7.png deleted file mode 100644 index cb71c05dcfc..00000000000 Binary files a/htdocs/theme/amarok/img/statut7.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/statut8.png b/htdocs/theme/amarok/img/statut8.png deleted file mode 100644 index bbe351f0942..00000000000 Binary files a/htdocs/theme/amarok/img/statut8.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/statut9.png b/htdocs/theme/amarok/img/statut9.png deleted file mode 100644 index 14287ee9bb4..00000000000 Binary files a/htdocs/theme/amarok/img/statut9.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/stcomm-1.png b/htdocs/theme/amarok/img/stcomm-1.png deleted file mode 100644 index 2e3f98bb6fd..00000000000 Binary files a/htdocs/theme/amarok/img/stcomm-1.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/stcomm1.png b/htdocs/theme/amarok/img/stcomm1.png deleted file mode 100644 index 6d1b485f1a5..00000000000 Binary files a/htdocs/theme/amarok/img/stcomm1.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/stcomm2.png b/htdocs/theme/amarok/img/stcomm2.png deleted file mode 100644 index efc1796e410..00000000000 Binary files a/htdocs/theme/amarok/img/stcomm2.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/stcomm3.png b/htdocs/theme/amarok/img/stcomm3.png deleted file mode 100644 index 18c8a6e323f..00000000000 Binary files a/htdocs/theme/amarok/img/stcomm3.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/stcomm4.png b/htdocs/theme/amarok/img/stcomm4.png deleted file mode 100644 index 8f4a34e9ab2..00000000000 Binary files a/htdocs/theme/amarok/img/stcomm4.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/tick.png b/htdocs/theme/amarok/img/tick.png deleted file mode 100644 index c2279280b33..00000000000 Binary files a/htdocs/theme/amarok/img/tick.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/title.png b/htdocs/theme/amarok/img/title.png deleted file mode 100644 index 4087ba572a5..00000000000 Binary files a/htdocs/theme/amarok/img/title.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/unlock.png b/htdocs/theme/amarok/img/unlock.png deleted file mode 100644 index 738c8393ede..00000000000 Binary files a/htdocs/theme/amarok/img/unlock.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/uparrow.png b/htdocs/theme/amarok/img/uparrow.png deleted file mode 100644 index 1f6f801f045..00000000000 Binary files a/htdocs/theme/amarok/img/uparrow.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/vcard.png b/htdocs/theme/amarok/img/vcard.png deleted file mode 100644 index 74140d7026d..00000000000 Binary files a/htdocs/theme/amarok/img/vcard.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/view.png b/htdocs/theme/amarok/img/view.png deleted file mode 100644 index 221eaf83e86..00000000000 Binary files a/htdocs/theme/amarok/img/view.png and /dev/null differ diff --git a/htdocs/theme/amarok/img/vmenu.png b/htdocs/theme/amarok/img/vmenu.png deleted file mode 100644 index 06f1f0d6100..00000000000 Binary files a/htdocs/theme/amarok/img/vmenu.png and /dev/null differ diff --git a/htdocs/theme/amarok/style.css.php b/htdocs/theme/amarok/style.css.php deleted file mode 100644 index 80f64e41561..00000000000 --- a/htdocs/theme/amarok/style.css.php +++ /dev/null @@ -1,2520 +0,0 @@ - - * Copyright (C) 2012 Xavier Peyronnet - * Copyright (C) 2012 Regis Houssin - * Copyright (C) 2012 Juanjo Menent - * Copyright (C) 2013-2014 Laurent Destailleur - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/theme/amarok/style.css.php - * \brief File for CSS style sheet Amarok - */ - - - -//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled because need to load personalized language -//if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); // Not disabled to increase speed. Language code is found on url. -if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); -//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); // Not disabled because need to do translations -if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK',1); -if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL',1); -if (! defined('NOLOGIN')) define('NOLOGIN',1); // File must be accessed by logon page so without login -if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU',1); -if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML',1); -if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); - -session_cache_limiter(FALSE); - -require_once '../../main.inc.php'; - -// Load user to have $user->conf loaded (not done into main because of NOLOGIN constant defined) -if (empty($user->id) && ! empty($_SESSION['dol_login'])) $user->fetch('',$_SESSION['dol_login']); - - -// Define css type -header('Content-type: text/css'); -// Important: Following code is to avoid page request by browser and PHP CPU at each Dolibarr page access. -if (empty($dolibarr_nocache)) header('Cache-Control: max-age=3600, public, must-revalidate'); -else header('Cache-Control: no-cache'); - -// On the fly GZIP compression for all pages (if browser support it). Must set the bit 3 of constant to 1. -if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x04)) { ob_start("ob_gzhandler"); } - -if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang')); // If language was forced on URL -if (GETPOST('theme')) $conf->theme=GETPOST('theme'); // If theme was forced on URL -$langs->load("main",0,1); -$right=($langs->trans("DIRECTION")=='rtl'?'left':'right'); -$left=($langs->trans("DIRECTION")=='rtl'?'right':'left'); - -$path=''; // This value may be used in future for external module to overwrite theme -$theme='amarok'; // Value of theme -if (! empty($conf->global->MAIN_OVERWRITE_THEME_RES)) { $path='/'.$conf->global->MAIN_OVERWRITE_THEME_RES; $theme=$conf->global->MAIN_OVERWRITE_THEME_RES; } - -// Define image path files and other constants -$fontlist='helvetica,arial,tahoma,verdana'; //$fontlist='Verdana,Helvetica,Arial,sans-serif'; -$img_liste_titre=dol_buildpath($path.'/theme/'.$theme.'/img/menus/trtitle.png',1); -$img_button=dol_buildpath($path.'/theme/'.$theme.'/img/button_bg.png',1); -$dol_hide_topmenu=$conf->dol_hide_topmenu; -$dol_hide_leftmenu=$conf->dol_hide_leftmenu; -$dol_optimize_smallscreen=$conf->dol_optimize_smallscreen; -$dol_no_mouse_hover=$conf->dol_no_mouse_hover; -$dol_use_jmobile=$conf->dol_use_jmobile; - - -// Define reference colors -// Example: Light grey: $colred=235;$colgreen=235;$colblue=235; -// Example: Pink: $colred=230;$colgreen=210;$colblue=230; -// Example: Green: $colred=210;$colgreen=230;$colblue=210; -// Example: Ocean: $colred=220;$colgreen=220;$colblue=240; -//$conf->global->THEME_ELDY_ENABLE_PERSONALIZED=0; -//$user->conf->THEME_ELDY_ENABLE_PERSONALIZED=0; -//var_dump($user->conf->THEME_ELDY_RGB); -$colred =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_RGB)?235:hexdec(substr($conf->global->THEME_ELDY_RGB,0,2))):(empty($user->conf->THEME_ELDY_RGB)?235:hexdec(substr($user->conf->THEME_ELDY_RGB,0,2))); -$colgreen=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_RGB)?235:hexdec(substr($conf->global->THEME_ELDY_RGB,2,2))):(empty($user->conf->THEME_ELDY_RGB)?235:hexdec(substr($user->conf->THEME_ELDY_RGB,2,2))); -$colblue =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_RGB)?235:hexdec(substr($conf->global->THEME_ELDY_RGB,4,2))):(empty($user->conf->THEME_ELDY_RGB)?235:hexdec(substr($user->conf->THEME_ELDY_RGB,4,2))); - -// Colors -$isred=max(0,(2*$colred-$colgreen-$colblue)/2); // 0 - 255 -$isgreen=max(0,(2*$colgreen-$colred-$colblue)/2); // 0 - 255 -$isblue=max(0,(2*$colblue-$colred-$colgreen)/2); // 0 - 255 -$colorback1=($colred-3).','.($colgreen-3).','.($colblue-3); // topmenu -$colorback2=($colred+5).','.($colgreen+5).','.($colblue+5); -$colorbacktab1=($colred+15).','.($colgreen+16).','.($colblue+17); // vmenu -$colorbacktab1b=($colred+5).','.($colgreen+6).','.($colblue+7); // vmenu (not menu) -$colorbacktab2=($colred-15).','.($colgreen-15).','.($colblue-15); -$colorbacktitle1=($colred-5).','.($colgreen-5).','.($colblue-5); // title of array -$colorbacktitle2=($colred-15).','.($colgreen-15).','.($colblue-15); -$colorbacktabcard1=($colred+15).','.($colgreen+16).','.($colblue+17); // card -$colorbacktabcard2=($colred-15).','.($colgreen-15).','.($colblue-15); -$colorbacktabactive=($colred-15).','.($colgreen-15).','.($colblue-15); -$colorbacklineimpair1=(244+round($isred/3)).','.(244+round($isgreen/3)).','.(244+round($isblue/3)); // line impair -$colorbacklineimpair2=(250+round($isred/3)).','.(250+round($isgreen/3)).','.(250+round($isblue/3)); // line impair -$colorbacklineimpairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)); // line impair -$colorbacklinepair1='255,255,255'; // line pair -$colorbacklinepair2='255,255,255'; // line pair -$colorbacklinepairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)); -$colorbackbody='#f5f5f5'; -$colortext='40,40,40'; -$fontsize='12'; -$fontsizesmaller='11'; - -$colorback1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TOPMENU_BACK1)?$colorback1:$conf->global->THEME_ELDY_TOPMENU_BACK1) :(empty($user->conf->THEME_ELDY_TOPMENU_BACK1)?$colorback1:$user->conf->THEME_ELDY_TOPMENU_BACK1); -$colorback2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TOPMENU_BACK2)?$colorback2:$conf->global->THEME_ELDY_TOPMENU_BACK2) :(empty($user->conf->THEME_ELDY_TOPMENU_BACK2)?$colorback2:$user->conf->THEME_ELDY_TOPMENU_BACK2); -$colorbacktab1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_VERMENU_BACK1)?$colorbacktab1:$conf->global->THEME_ELDY_VERMENU_BACK1) :(empty($user->conf->THEME_ELDY_VERMENU_BACK1)?$colorbacktab1:$user->conf->THEME_ELDY_VERMENU_BACK1); -$colorbacktab1b =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_VERMENU_BACK1b)?$colorbacktab1:$conf->global->THEME_ELDY_VERMENU_BACK1b) :(empty($user->conf->THEME_ELDY_VERMENU_BACK1b)?$colorbacktab1b:$user->conf->THEME_ELDY_VERMENU_BACK1b); -$colorbacktab2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_VERMENU_BACK2)?$colorbacktab2:$conf->global->THEME_ELDY_VERMENU_BACK2) :(empty($user->conf->THEME_ELDY_VERMENU_BACK2)?$colorbacktab2:$user->conf->THEME_ELDY_VERMENU_BACK2); -$colorbacktitle1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTITLE1) ?$colorbacktitle1:$conf->global->THEME_ELDY_BACKTITLE1) :(empty($user->conf->THEME_ELDY_BACKTITLE1)?$colorbacktitle1:$user->conf->THEME_ELDY_BACKTITLE1); -$colorbacktitle2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTITLE2) ?$colorbacktitle2:$conf->global->THEME_ELDY_BACKTITLE2) :(empty($user->conf->THEME_ELDY_BACKTITLE2)?$colorbacktitle2:$user->conf->THEME_ELDY_BACKTITLE2); -$colorbacktabcard1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTABCARD1) ?$colorbacktabcard1:$conf->global->THEME_ELDY_BACKTABCARD1) :(empty($user->conf->THEME_ELDY_BACKTABCARD1)?$colorbacktabcard1:$user->conf->THEME_ELDY_BACKTABCARD1); -$colorbacktabcard2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTABCARD2) ?$colorbacktabcard2:$conf->global->THEME_ELDY_BACKTABCARD2) :(empty($user->conf->THEME_ELDY_BACKTABCARD2)?$colorbacktabcard2:$user->conf->THEME_ELDY_BACKTABCARD2); -$colorbacktabactive =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTABACTIVE)?$colorbacktabactive:$conf->global->THEME_ELDY_BACKTABACTIVE):(empty($user->conf->THEME_ELDY_BACKTABACTIVE)?$colorbacktabactive:$user->conf->THEME_ELDY_BACKTABACTIVE); -$colorbacklineimpair1=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEIMPAIR1) ?$colorbacklineimpair1:$conf->global->THEME_ELDY_LINEIMPAIR1):(empty($user->conf->THEME_ELDY_LINEIMPAIR1)?$colorbacklineimpair1:$user->conf->THEME_ELDY_LINEIMPAIR1); -$colorbacklineimpair2=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEIMPAIR2) ?$colorbacklineimpair2:$conf->global->THEME_ELDY_LINEIMPAIR2):(empty($user->conf->THEME_ELDY_LINEIMPAIR2)?$colorbacklineimpair2:$user->conf->THEME_ELDY_LINEIMPAIR2); -$colorbacklineimpairhover=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEIMPAIRHOVER) ?$colorbacklineimpairhover:$conf->global->THEME_ELDY_LINEIMPAIRHOVER):(empty($user->conf->THEME_ELDY_LINEIMPAIRHOVER)?$colorbacklineimpairhover:$user->conf->THEME_ELDY_LINEIMPAIRHOVER); -$colorbacklinepair1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIR1) ?$colorbacklinepair1:$conf->global->THEME_ELDY_LINEPAIR1) :(empty($user->conf->THEME_ELDY_LINEPAIR1)?$colorbacklinepair1:$user->conf->THEME_ELDY_LINEPAIR1); -$colorbacklinepair2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIR2) ?$colorbacklinepair2:$conf->global->THEME_ELDY_LINEPAIR2) :(empty($user->conf->THEME_ELDY_LINEPAIR2)?$colorbacklinepair2:$user->conf->THEME_ELDY_LINEPAIR2); -$colorbacklinepairhover =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIRHOVER) ?$colorbacklinepairhover:$conf->global->THEME_ELDY_LINEPAIRHOVER) :(empty($user->conf->THEME_ELDY_LINEPAIRHOVER)?$colorbacklinepairhover:$user->conf->THEME_ELDY_LINEPAIRHOVER); -$colorbackbody =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKBODY) ?$colorbackbody:$conf->global->THEME_ELDY_BACKBODY) :(empty($user->conf->THEME_ELDY_BACKBODY)?$colorbackbody:$user->conf->THEME_ELDY_BACKBODY); -$colortext =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TEXT) ?$colortext:$conf->global->THEME_ELDY_TEXT) :(empty($user->conf->THEME_ELDY_TEXT)?$colortext:$user->conf->THEME_ELDY_TEXT); -$fontsize =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_FONT_SIZE1) ?$fontsize:$conf->global->THEME_ELDY_FONT_SIZE1) :(empty($user->conf->THEME_ELDY_FONT_SIZE1)?$fontsize:$user->conf->THEME_ELDY_FONT_SIZE1); -$fontsizesmaller =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_FONT_SIZE2) ?$fontsize:$conf->global->THEME_ELDY_FONT_SIZE2) :(empty($user->conf->THEME_ELDY_FONT_SIZE2)?$fontsize:$user->conf->THEME_ELDY_FONT_SIZE2); -// No hover by default, we keep only if we set var THEME_ELDY_USE_HOVER -if ((! empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) && empty($user->conf->THEME_ELDY_USE_HOVER)) - || (empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) && empty($conf->global->THEME_ELDY_USE_HOVER))) -{ - $colorbacklineimpairhover=''; - $colorbacklinepairhover=''; -} - - -// Set text color to black or white -$tmppart=explode(',',$colorback1); -$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : ''); -$tmpval+=(! empty($tmppart[2]) ? $tmppart[2] : ''); -$tmpval+=(! empty($tmppart[3]) ? $tmppart[3] : ''); -//print $tmpval; -if ($tmpval < 340) $colortextmain='FFFFFF'; -else $colortextmain='101010'; -if ($tmpval <= 360) { $colortexttitle='FFF'; $colorshadowtitle='000'; } -else { $colortexttitle='444'; $colorshadowtitle='FFF'; } - -$usecss3=true; -if ($conf->browser->name == 'ie' && round($conf->browser->version,2) < 10) $usecss3=false; -elseif ($conf->browser->name == 'iceweasel') $usecss3=false; -elseif ($conf->browser->name == 'epiphany') $usecss3=false; - -print '/*'."\n"; -print 'colred='.$colred.' colgreen='.$colgreen.' colblue='.$colblue."\n"; -print 'isred='.$isred.' isgreen='.$isgreen.' isblue='.$isblue."\n"; -print 'colorbacklineimpair1='.$colorbacklineimpair1."\n"; -print 'colorbacklineimpair2='.$colorbacklineimpair2."\n"; -print 'colorbacklineimpairhover='.$colorbacklineimpairhover."\n"; -print 'colorbacklinepair1='.$colorbacklinepair1."\n"; -print 'colorbacklinepair2='.$colorbacklinepair2."\n"; -print 'colorbacklinepairhover='.$colorbacklinepairhover."\n"; -print 'usecss3='.$usecss3."\n"; -print 'dol_hide_topmenu='.$dol_hide_topmenu."\n"; -print 'dol_hide_leftmenu='.$dol_hide_leftmenu."\n"; -print 'dol_optimize_smallscreen='.$dol_optimize_smallscreen."\n"; -print 'dol_no_mouse_hover='.$dol_no_mouse_hover."\n"; -print 'dol_use_jmobile='.$dol_use_jmobile."\n"; -print '*/'."\n"; - -if (! empty($conf->dol_optimize_smallscreen)) $fontsize=11; -?> - - -/* ============================================================================== */ -/* Default styles */ -/* ============================================================================== */ - -*, html { - margin:0; - padding:0; -font-size:100%; -} - -body { -dol_optimize_smallscreen)) { ?> - background-color: #FFFFFF; - - background-color: ; - - color:#232323; - font-size:px; - font-family:; - trans("DIRECTION").";\n"; ?> -} - -a { - font-family:; - font-weight:bold; - text-decoration:none; - color:#232323; -} - -a:hover, a:active { - color:rgba(0,0,0,.6); -} - - - -input, input.flat, textarea, textarea.flat, form.flat select, select.flat { - padding: 2px; -} -input, textarea { - font-size:px; - font-family:; - border-radius:4px; - border:solid 1px rgba(0,0,0,.3); - border-top:solid 1px rgba(0,0,0,.4); - border-bottom:solid 1px rgba(0,0,0,.2); - box-shadow:1px 1px 2px rgba(0,0,0,.2) inset; -} - - - -input[type="image"] { - border-radius:0px; - border:none; - box-shadow:none; -} - -input.flat { - font-size:px; - font-family:; - border-radius:4px; - border:solid 1px rgba(0,0,0,.3); - border-top:solid 1px rgba(0,0,0,.4); - border-bottom:solid 1px rgba(0,0,0,.2); -} - -input:disabled {background:#b6b6b6;} - -input[type=checkbox] { background-color: transparent; border: none; box-shadow: none; } -input[type=radio] { background-color: transparent; border: none; box-shadow: none; } -input[type=image] { background-color: transparent; border: none; box-shadow: none; } -input[type=text] { min-width: 20px; } -input:-webkit-autofill { - background-color: !important; - background-image:none !important; - -webkit-box-shadow: 0 0 0 50px inset; -} -::-webkit-input-placeholder { color:#ccc; } -::-moz-placeholder { color:#ccc; } /* firefox 19+ */ -:-ms-input-placeholder { color:#ccc; } /* ie */ -input:-moz-placeholder { color:#ccc; } - - -legend { margin-bottom: 8px; } - - -textarea.flat { - font-size:px; - font-family:; - border-radius:4px; - border:solid 1px rgba(0,0,0,.3); - border-top:solid 1px rgba(0,0,0,.4); - border-bottom:solid 1px rgba(0,0,0,.2); - box-shadow:1px 1px 2px rgba(0,0,0,.2) inset; -} - -textarea:disabled {background:#dddddd;} - -select.flat { - font-size:px; - font-family:; - border-radius:4px; - border:solid 1px rgba(0,0,0,.3); - border-top:solid 1px rgba(0,0,0,.4); - border-bottom:solid 1px rgba(0,0,0,.2); - box-shadow:1px 1px 2px rgba(0,0,0,.2) inset; - background: #FDFDFD; -} - -form { - padding:0px; - margin:0px; -} -div.float -{ - float:; -} -div.floatright -{ - float:; -} -.inline-block -{ - display:inline-block; -} - -th .button { - -moz-box-shadow: none !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - -moz-border-radius:0px !important; - -webkit-border-radius:0px !important; - border-radius:0px !important; -} - -.valignmiddle { - vertical-align: middle; -} -.centpercent { - width: 100%; -} -.center { - text-align: center; -} -.left { - text-align: ; -} -.right { - text-align: ; -} -.nowrap { - white-space: ; -} -.nobold { - font-weight: normal !important; -} -.nounderline { - text-decoration: none; -} -.cursorpointer { - cursor: pointer; -} - -.blockvmenubookmarks .menu_contenu { - background-color: transparent; -} - -/* ! Message d'erreur lors du login : */ -center .error { padding:8px !important; padding-left:26px !important; padding-right:20px; width:inherit; max-width:450px;color:#552323 !important; font-size:14px; border-radius:8px; text-align: left;} - -.badge { - display: inline-block; - min-width: 10px; - padding: 2px 5px; - font-size: 10px; - font-weight: 700; - line-height: 0.9em; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - background-color: #777; - border-radius: 10px; -} - - -/* ============================================================================== */ -/* Styles to hide objects */ -/* ============================================================================== */ - -.hideobject { display:none; } - -.hideonsmartphone { display: none; } -.noenlargeonsmartphone { width : 50px !important; display: inline !important; } -.maxwidthonsmartphone { max-width: 100px; } - -.linkobject { cursor:pointer; } - -.hideonprint { display: none !important; } - - - -/* ============================================================================== */ -/* Styles for dragging lines */ -/* ============================================================================== */ - -.dragClass { - color: #333333; -} -td.showDragHandle { - cursor: move; -} -.tdlineupdown { - white-space: nowrap; - min-width: 10px; -} - -/* ============================================================================== */ -/* Menu top et 1ere ligne tableau */ -/* ============================================================================== */ - -div.tmenu { - - display:none; - - position:relative; - display:block; - margin:0; - padding:0; - padding-left:1em; - top:0; - left:0; - right:0; - white-space:nowrap; - height:36px; - browser->name != 'ie') echo "line-height:36px; /* disabled for ie9 */ \n"; ?> - background:#333333; - background-image:linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-o-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-webkit-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-ms-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-webkit-gradient( - linear, - left top, - left bottom, - color-stop(0, rgba(255,255,255,.3)), - color-stop(1, rgba(0,0,0,.3)) - ); - border-bottom:solid 1px rgba(0,0,0,.8); - box-shadow:0 0 6px rgba(0,0,0,.4) !important; - z-index:100; - -} - -div.tmenu a { - font-weight:normal; -} - -div.tmenu li { - display:inline-table; - margin-right:1em; - text-transform:uppercase; -} - -div.tmenu li a {color:#cccccc;} -div.tmenu li a:hover { color:rgba(255,255,255,1);} - -div.tmenu ul li a.tmenusel {/* texte du menu principal sélectionné */ - color:#ffffff; - font-weight:bold; -} - -.tmenudisabled { color:#808080 !important; cursor: not-allowed; } - - - -/* Login */ - -body.body center { color:white; margin-top: 100px; } - -form#login { - border:solid 1px rgba(0,0,0,.4); - border-top:solid 1px #ffffff; - background-color:#c7d0db; - background-image:linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-o-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-webkit-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-ms-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-webkit-gradient( - linear, - left top, - left bottom, - color-stop(0, rgba(255,255,255,.3)), - color-stop(1, rgba(0,0,0,.3)) - ); - margin-left:auto; - margin-right:auto; - margin-bottom:25px; - padding:20px 20px 10px; - max-width:500px; - border-radius:12px; - box-shadow:0 0 16px rgba(0,0,0,.8); -} -form#login img {width:auto; height:auto; opacity:.7;} -form#login img#img_logo { - width:190px; - max-width:190px; - max-height:100px; - height:auto; - border-radius:6px; - padding:6px; - background-color:#ffffff; - border:solid 1px rgba(0,0,0,.4); - border-top:solid 1px rgba(0,0,0,.5); - border-bottom:solid 1px rgba(0,0,0,.3); - box-shadow:1px 1px 6px rgba(0,0,0,.3) inset , 0 0 1px rgba(255,255,255,.6); -} - -form#login input { - padding:6px; - font-size:120%; -} - -form#login label, form#login td b { - vertical-align:middle; - line-height:40px; - color:rgba(0,0,0,.4); - text-shadow:1px 1px 1px rgba(255,255,255,.6); -} - -form#login table.login_table { - margin:10px 0px; - border:none; - background:none !important; -} - -div#login_left, div#login_right { - display: inline-block; - min-width: 220px; - text-align: center; - vertical-align: middle; -} - -table.login_table { background-color: red !important;} -table.login_table tr td {vertical-align:middle;} -table.login_table tr.vmenu td {font-size:18px;} -table.login_table tr td a {color:#333333 !important;} -table.login_table tr td a:hover {color:#000000 !important;} - -table.login_table .button { - padding:2px; - padding-left:6px; - padding-right:6px; - margin-right:6px; - border-radius:.6em; - - background-image: linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image: -o-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image: -moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image: -webkit-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image: -ms-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image: -webkit-gradient( - linear, - left top, - left bottom, - color-stop(0, rgba(255,255,255,.3)), - color-stop(1, rgba(0,0,0,.3)) - ); -} - -table.login_table .button:hover { - background-image: linear-gradient(top, rgba(255,255,255,.3) 100%, rgba(0,0,0,.3) 0%); - background-image: -o-linear-gradient(top, rgba(255,255,255,.3) 100%, rgba(0,0,0,.3) 0%); - background-image: -moz-linear-gradient(top, rgba(255,255,255,.3) 100%, rgba(0,0,0,.3) 0%); - background-image: -webkit-linear-gradient(top, rgba(255,255,255,.3) 100%, rgba(0,0,0,.3) 0%); - background-image: -ms-linear-gradient(top, rgba(255,255,255,.3) 100%, rgba(0,0,0,.3) 0%); - background-image: -webkit-gradient( - linear, - left top, - left bottom, - color-stop(1, rgba(255,255,255,.3)), - color-stop(0, rgba(0,0,0,.3)) - ); -} - -table.login_table .vmenu { - color:rgba(0,0,0,.6); - text-shadow:1px 1px 1px rgba(255,255,255,.6); - font-size:120%; -} - -div.login_block { - position:absolute; - top:0px; - right:8px; - z-index:100; - - display:none; - -} -div.login_block_user, div.login_block_other { clear: both; } - -div.login_block a {color:rgba(255,255,255,.6);} -div.login_block a:hover {color:#ffffff} - -div.login_block table { - display:inline; -} - -div.login { - white-space:nowrap; - font-weight:bold; - float: right; -} -.login_block_user { - float: right; -} -.login_block_elem { - float: right; - vertical-align: top; - padding: 0px 0px 0px 8px !important; - height: 16px; -} - -#securitycode { - min-width: 60px; -} - -img.login, img.printer, img.entity { - margin:2px 0px 0px 0px; - text-decoration:none; - color: white; - font-weight:bold; -} - -.alogin { - color: #FFF; - font-weight: normal; -} -.alogin:hover { - color: #FFF; - text-decoration:underline; -} - -div.login_main_home { - color: #000000; -} - - -/* ============================================================================== */ -/* Menu gauche */ -/* ============================================================================== */ - -td.vmenu { - - margin-right:2px; - padding:0px; - width:170px; - /* border-right: 1px solid #666666; */ - -} - -div.vmenu { - - display:none; - - width:170px; - -moz-box-shadow: 3px 0px 6px #CCC; - -webkit-box-shadow: 3px 0px 6px #CCC; - box-shadow: 3px 0px 6px #CCC; - -} - -.blockvmenupair .menu_titre, .blockvmenuimpair .menu_titre { - height:22px; - line-height:22px; - /* text-align:center; */ - background-color:rgba(0,0,0,.08); - background-image:linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-o-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-webkit-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-ms-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-webkit-gradient( - linear, - left top, - left bottom, - color-stop(0, rgba(255,255,255,.3)), - color-stop(1, rgba(0,0,0,.3)) - ); - padding-left:5px; - border-top:solid 1px rgba(255,255,255,.5); - border-bottom:solid 1px rgba(0,0,0,.5); -} - -.blockvmenupair .menu_titre a, .blockvmenuimpair .menu_titre a {font-weight:normal;} - -.menu_contenu { - background-color:#ffffff; - padding-left:6px; - border-top:solid 1px rgba(0,0,0,.05); -} - -.menu_contenu:hover {background-color:#f7f7f7;} -.menu_contenu a.vsmenu { - color:#000000; - line-height:18px; - font-weight:normal; -} - -.blockvmenusearch { - border-top:solid 1px rgba(0,0,0,.3); - padding:10px 5px 20px; - text-align:center; -} - -.blockvmenusearch .menu_titre { - margin-top:6px; - text-align:left; - padding-left:0px; -} - -#blockvmenuhelp { - border-top:solid 1px rgba(0,0,0,.1); - padding:12px; - text-align:center; -} - -a.help:link, a.help:visited, a.help:hover, a.help:active { font-size:px; font-family: ; text-align: ; font-weight: normal; color: #666666; } - - -/* ============================================================================== */ -/* Panes for Main */ -/* ============================================================================== */ - -#mainContent { - background-color:#ffffff; -} - -#mainContent, #leftContent .ui-layout-pane { - padding:0px; - overflow:auto; -} - -#mainContent, #leftContent .ui-layout-center { - padding:0px; - position:relative; /* contain floated or positioned elements */ - overflow:auto; /* add scrolling to content-div */ -} - - -/* ============================================================================== */ -/* Toolbar for ECM or Filemanager */ -/* ============================================================================== */ - - -.largebutton { - background-image: -o-linear-gradient(bottom, rgb() 15%, rgb() 100%) !important; - background-image: -moz-linear-gradient(bottom, rgb() 15%, rgb() 100%) !important; - background-image: -webkit-linear-gradient(bottom, rgb() 15%, rgb() 100%) !important; - background-image: -ms-linear-gradient(bottom, rgb() 15%, rgb() 100%) !important; - background-image: linear-gradient(bottom, rgb() 15%, rgb() 100%) !important; - border: 1px solid #CCC !important; - - -moz-border-radius: 5px 5px 5px 5px !important; - -webkit-border-radius: 5px 5px 5px 5px !important; - border-radius: 5px 5px 5px 5px !important; - -moz-box-shadow: 4px 4px 4px #EEE; - -webkit-box-shadow: 4px 4px 4px #EEE; - box-shadow: 4px 4px 4px #EEE; - - padding: 0 4px 0 4px !important; -} - -.toolbar {} -.toolbarbutton {} - - -/* ============================================================================== */ -/* Panes for ECM or Filemanager */ -/* ============================================================================== */ - - -#containerlayout .layout-with-no-border { - border: 0 !important; - border-width: 0 !important; -} - -#containerlayout .layout-padding { - padding: 2px !important; -} - -/* - * PANES and CONTENT-DIVs - */ -#containerlayout .ui-layout-pane { /* all 'panes' */ - background: #FFF; - border: 1px solid #BBB; - /* DO NOT add scrolling (or padding) to 'panes' that have a content-div, - otherwise you may get double-scrollbars - on the pane AND on the content-div - */ - padding: 0px; - overflow: auto; -} -/* (scrolling) content-div inside pane allows for fixed header(s) and/or footer(s) */ -#containerlayout .ui-layout-content { - padding: 10px; - position: relative; /* contain floated or positioned elements */ - overflow: auto; /* add scrolling to content-div */ -} - -/* - * RESIZER-BARS - */ -.ui-layout-resizer { /* all 'resizer-bars' */ - width: dol_optimize_smallscreen)?'8':'24'); ?>px !important; -} -.ui-layout-resizer-hover { /* affects both open and closed states */ -} -/* NOTE: It looks best when 'hover' and 'dragging' are set to the same color, - otherwise color shifts while dragging when bar can't keep up with mouse */ -/*.ui-layout-resizer-open-hover ,*/ /* hover-color to 'resize' */ -.ui-layout-resizer-dragging { /* resizer beging 'dragging' */ - background: #DDD; - width: dol_optimize_smallscreen)?'8':'24'); ?>px; -} -.ui-layout-resizer-dragging { /* CLONED resizer being dragged */ - border-left: 1px solid #BBB; - border-right: 1px solid #BBB; -} -/* NOTE: Add a 'dragging-limit' color to provide visual feedback when resizer hits min/max size limits */ -.ui-layout-resizer-dragging-limit { /* CLONED resizer at min or max size-limit */ - background: #E1A4A4; /* red */ -} -.ui-layout-resizer-closed { - background-color: #DDDDDD; -} -.ui-layout-resizer-closed:hover { - background-color: #EEDDDD; -} -.ui-layout-resizer-sliding { /* resizer when pane is 'slid open' */ - opacity: .10; /* show only a slight shadow */ - filter: alpha(opacity=10); -} -.ui-layout-resizer-sliding-hover { /* sliding resizer - hover */ - opacity: 1.00; /* on-hover, show the resizer-bar normally */ - filter: alpha(opacity=100); -} -/* sliding resizer - add 'outside-border' to resizer on-hover */ -/* this sample illustrates how to target specific panes and states */ -/*.ui-layout-resizer-north-sliding-hover { border-bottom-width: 1px; } -.ui-layout-resizer-south-sliding-hover { border-top-width: 1px; } -.ui-layout-resizer-west-sliding-hover { border-right-width: 1px; } -.ui-layout-resizer-east-sliding-hover { border-left-width: 1px; } -*/ - -/* - * TOGGLER-BUTTONS - */ -.ui-layout-toggler { - dol_optimize_smallscreen)) { ?> - border-top: 1px solid #AAA; /* match pane-border */ - border-right: 1px solid #AAA; /* match pane-border */ - border-bottom: 1px solid #AAA; /* match pane-border */ - background-color: #DDD; - top: 5px !important; - - diplay: none; - -} -.ui-layout-toggler-open { - height: 54px !important; - width: dol_optimize_smallscreen)?'7':'22'); ?>px !important; - -moz-border-radius:0px 10px 10px 0px; - -webkit-border-radius:0px 10px 10px 0px; - border-radius:0px 10px 10px 0px; -} -.ui-layout-toggler-closed { - height: dol_optimize_smallscreen)?'54':'2'); ?>px !important; - width: dol_optimize_smallscreen)?'7':'22'); ?>px !important; - -moz-border-radius:0px 10px 10px 0px; - -webkit-border-radius:0px 10px 10px 0px; - border-radius:0px 10px 10px 0px; -} -.ui-layout-toggler .content { /* style the text we put INSIDE the togglers */ - color: #666; - font-size: 12px; - font-weight: bold; - width: 100%; - padding-bottom: 0.35ex; /* to 'vertically center' text inside text-span */ -} - -/* hide the toggler-button when the pane is 'slid open' */ -.ui-layout-resizer-sliding ui-layout-toggler { - display: none; -} - -.ui-layout-north { - height: dol_optimize_smallscreen)?'54':'21'); ?>px !important; -} - - -/* ECM */ - -#containerlayout .ecm-layout-pane { /* all 'panes' */ - background: #FFF; - border: 1px solid #BBB; - /* DO NOT add scrolling (or padding) to 'panes' that have a content-div, - otherwise you may get double-scrollbars - on the pane AND on the content-div - */ - padding: 0px; - overflow: auto; -} -/* (scrolling) content-div inside pane allows for fixed header(s) and/or footer(s) */ -#containerlayout .ecm-layout-content { - padding: 10px; - position: relative; /* contain floated or positioned elements */ - overflow: auto; /* add scrolling to content-div */ -} - -.ecm-layout-toggler { - border-top: 1px solid #AAA; /* match pane-border */ - border-right: 1px solid #AAA; /* match pane-border */ - border-bottom: 1px solid #AAA; /* match pane-border */ - background-color: #CCC; - } -.ecm-layout-toggler-open { - height: 48px !important; - width: 6px !important; - -moz-border-radius:0px 10px 10px 0px; - -webkit-border-radius:0px 10px 10px 0px; - border-radius:0px 10px 10px 0px; -} -.ecm-layout-toggler-closed { - height: 48px !important; - width: 6px !important; -} - -.ecm-layout-toggler .content { /* style the text we put INSIDE the togglers */ - color: #666; - font-size: 12px; - font-weight: bold; - width: 100%; - padding-bottom: 0.35ex; /* to 'vertically center' text inside text-span */ -} -#ecm-layout-west-resizer { - width: 6px !important; -} - -.ecm-layout-resizer { /* all 'resizer-bars' */ - border: 1px solid #BBB; - border-width: 0; - } -.ecm-layout-resizer-closed { -} - -.ecm-in-layout-center { - border-left: 1px !important; - border-right: 0px !important; - border-top: 0px !important; -} - -.ecm-in-layout-south { - border-left: 0px !important; - border-right: 0px !important; - border-bottom: 0px !important; - padding: 4px 0 4px 4px !important; -} - - - -/* ============================================================================== */ -/* Onglets */ -/* ============================================================================== */ - -div.tabs { - margin: 0px 0px 0px 6px; - padding: 0px 6px 0px 0px; - clear:both; - height:100%; -} -div.tabsElem { margin-top: 10px; } /* To avoid overlap of tabs when not browser */ - -div.tabBar { - background-color:#ffffff; - padding:6px; - margin:0px 0px 14px 0px; - border:1px solid #bbbbbb; - -moz-box-shadow: 4px 4px 4px #DDD; - -webkit-box-shadow: 4px 4px 4px #DDD; - box-shadow: 4px 4px 4px #DDD; -} - -div.tabBar table.notopnoleftnoright { - white-space:nowrap; -} - -div.tabsAction { - margin-top:12px !important; - text-align:right; -} - -a.tabTitle { - color:rgba(0,0,0,.5); - margin-right:10px; - text-shadow:1px 1px 1px #ffffff; - padding-left:5px; - vertical-align:middle; -} - -a.tabTitle img { - vertical-align:middle; -} - -a.tab { - padding: 5px 12px 3px; - margin: 0em 0.2em; - background-color:rgba(0,0,0,.2); - color:#666666; - border:solid 1px rgba(0,0,0,.3); - border-bottom:0px; - -webkit-border-top-left-radius:6px; - -webkit-border-top-right-radius:6px; -} - -.tabactive { - color:#232323; - font-weight:bold; - background-color:#ffffff !important; - -} - -a.tab:hover {color:#333333;} - - -/* ============================================================================== */ -/* Styles de positionnement des zones */ -/* ============================================================================== */ - -#id-container { - margin-bottom: 6px; - display: table; - table-layout: fixed; -} -#id-right, #id-left { - display: table-cell; - float: none; - vertical-align: top; -} -#id- { - width: 100%; -} - -div.fiche { - padding: 8px 5px 10px; - margin-: global->MAIN_MENU_USE_JQUERY_LAYOUT))?($dol_hide_leftmenu?'3':'16'):'24')); ?>px; - margin-: dol_optimize_smallscreen)?'12':'3')); ?>px; -} - -div.fichecenter { - width: 100%; - clear: both; /* This is to have div fichecenter that are true rectangles */ -} -div.fichethirdleft { - dol_optimize_smallscreen)) { print "float: ".$left.";\n"; } ?> - dol_optimize_smallscreen)) { print "width: 35%;\n"; } ?> - dol_optimize_smallscreen)) { print "padding-bottom: 6px;\n"; } ?> -} -div.fichetwothirdright { - dol_optimize_smallscreen)) { print "float: ".$left.";\n"; } ?> - dol_optimize_smallscreen)) { print "width: 65%;\n"; } ?> - dol_optimize_smallscreen)) { print "padding-bottom: 6px\n"; } ?> -} -div.fichehalfleft { - dol_optimize_smallscreen)) { print "float: ".$left.";\n"; } ?> - dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?> -} -div.fichehalfright { - dol_optimize_smallscreen)) { print "float: ".$left.";\n"; } ?> - dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?> -} -div.ficheaddleft { - dol_optimize_smallscreen)) { print "padding-left: 16px;\n"; } - else print "margin-top: 10px;\n"; ?> -} - - - -/* ============================================================================== */ -/* Boutons actions */ -/* ============================================================================== */ - -div.divButAction { margin-bottom: 1.4em; } - -.button, .butAction {background: #999; border: solid 1px #888; font-weight: normal; } -.butActionRefused {background: #eaeaea; color:rgba(0,0,0,0.6); font-weight: normal !important; cursor: not-allowed; } -.butActionDelete {background: #b33c37; border:solid 1px #8d2f2b; font-weight: normal;} - -.button, .butAction, .butActionRefused, .butActionDelete { - padding:2px; - padding-left:6px; - padding-right:6px; - margin-right:6px; - /* -border-left: solid 1px rgba(0,0,0,.3); - border-right: solid 1px rgba(0,0,0,.3); - border-bottom: solid 1px rgba(0,0,0,.6); - border-top:solid 1px rgba(0,0,0,.1); -*/ - border-radius:.6em; - - background-image: linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image: -o-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image: -moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image: -webkit-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image: -ms-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image: -webkit-gradient( - linear, - left top, - left bottom, - color-stop(0, rgba(255,255,255,.3)), - color-stop(1, rgba(0,0,0,.3)) - ); - } - -.button, a.butAction {color: white; font-weight: normal !important;} - -.butAction, .butActionDelete {color:white;} - -td.formdocbutton {padding-top:6px;} - -.button:hover, .butAction:hover, .butActionDelete:hover { - background-image: linear-gradient(top, rgba(255,255,255,.3) 100%, rgba(0,0,0,.3) 0%); - background-image: -o-linear-gradient(top, rgba(255,255,255,.3) 100%, rgba(0,0,0,.3) 0%); - background-image: -moz-linear-gradient(top, rgba(255,255,255,.3) 100%, rgba(0,0,0,.3) 0%); - background-image: -webkit-linear-gradient(top, rgba(255,255,255,.3) 100%, rgba(0,0,0,.3) 0%); - background-image: -ms-linear-gradient(top, rgba(255,255,255,.3) 100%, rgba(0,0,0,.3) 0%); - background-image: -webkit-gradient( - linear, - left top, - left bottom, - color-stop(1, rgba(255,255,255,.3)), - color-stop(0, rgba(0,0,0,.3)) - ); - color:white; -} -.button:disabled { - opacity: 0.4; - filter: alpha(opacity=40); /* For IE8 and earlier */ - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - cursor: auto; -} -.buttonRefused { - pointer-events: none; - cursor: default; - opacity: 0.4; - filter: alpha(opacity=40); /* For IE8 and earlier */ - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; -} - - -/* ============================================================================== */ -/* Tables */ -/* ============================================================================== */ - -#undertopmenu { -} - -table img, div.tagtable img { - padding:0px 2px; - vertical-align:middle; -} - -table.liste img, div.list img { - padding:0px; -} - -table a, div.tagtable a { - vertical-align:middle; -} - -.paddingrightonly { - border-collapse: collapse; - border: 0px; - margin-left: 0px; - padding-: 0px !important; - padding-: 4px !important; -} -.nocellnopadd { - list-style-type:none; - margin:0px; - padding:0px; -} - -.allwidth { -width: 100%; -} - -.notopnoleft { - border-collapse:collapse; - border:0px; - padding-top:0px; - padding-left:0px; - padding-right:10px; - padding-bottom:4px; - margin:0px 0px; -} - -table.notopnoleftnoright { - border:0px; - border-collapse:collapse; - padding-top:0px; - padding-left:0px; - padding-right:10px; - padding-bottom:4px; - margin:0px; -} - -table.border, table.dataTable, .table-border, .table-border-col, .table-key-border-col, .table-val-border-col, div.border { - border:1px solid #dddddd; - border-collapse:collapse; - padding:1px 0px; - padding-left:2px; -} - -table.border td, div.border div div.tagtd { - padding:1px 0px; - border:1px solid #dddddd; - border-collapse:collapse; - padding-left:2px; -} - -.table-key-border-col { - width: 25%; - vertical-align:top; -} -.table-val-border-col { - width:auto; -} - -/* Main boxes */ - -table.border.formdoc { - background-color:#f7f7f7; - border:1px solid #dddddd; - margin:0px; - width:60%; -} - -table.border.formdoc td { padding:1px 3px; } - -table.noborder, div.noborder { - border:1px solid #bbbbbb; - padding:0px; - margin:3px 0px 8px; - border-spacing:0px; - -moz-box-shadow: 2px 2px 2px #cccccc; - -webkit-box-shadow: 2px 2px 2px #cccccc; - box-shadow: 2px 2px 2px #cccccc; -} - -table.noborder tr, div.noborder form {} - -table.noborder td, , div.noborder div { padding:1px 2px 1px 3px; } - -table.nobordernopadding { - border-collapse:collapse; - border:0px; -} - -table.nobordernopadding tr { - border:0px; - padding:0px 0px; -} - -table.nobordernopadding td { - border:0px; - padding:1px 0px; -} - -table.notopnoleftnopadd { - background-color:#ffffff; - border:1px solid #bbbbbb; - padding:6px; -} - -/* For lists */ - -table.liste { - padding:0px; - border:1px solid #bbbbbb; - border-spacing:0px; - background-image:linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-o-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-webkit-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-ms-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-webkit-gradient( - linear, - left top, - left bottom, - color-stop(0, rgba(255,255,255,.3)), - color-stop(1, rgba(0,0,0,.3)) - ); -} - -table.liste td {padding:1px 2px 1px 0px;} - -.tagtable, .table-border { display: table; } -.tagtr, .table-border-row { display: table-row; } -.tagtd, .table-border-col, .table-key-border-col, .table-val-border-col { display: table-cell; } - -/* Pagination */ -div.refidpadding { - padding-top: dol_use_jmobile)?'8':'12'; ?>px; -} -div.refid { - padding-top: dol_use_jmobile)?'5':'12'; ?>px; - font-weight: bold; - color: #666; - font-size: 120%; -} - -div.pagination { - float: right; -} -div.pagination a { - font-weight: normal; -} -div.pagination ul -{ - list-style: none; - display: inline-block; - padding-left: 0px; - padding-right: 0px; - margin: 0; -} -div.pagination li { - display: inline-block; - padding-left: 0px; - padding-right: 0px; - padding-top: 6px; - padding-bottom: 6px; -} -.pagination { - display: inline-block; - padding-left: 0; - border-radius: 4px; -} - -div.pagination li a, -div.pagination li span { - /*position: relative;*/ - /*float: left;*/ - padding: 6px 12px; - margin-left: -1px; - line-height: 1.42857143; - color: #000; - text-decoration: none; - background-color: #fff; - border: 1px solid #ddd; -} -div.pagination li:first-child a, -div.pagination li:first-child span { - margin-left: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} -div.pagination li:last-child a, -div.pagination li:last-child span { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} -div.pagination li a:hover, -div.pagination li span:hover, -div.pagination li a:focus, -div.pagination li span:focus { - color: #000; - background-color: #eee; - border-color: #ddd; -} -div.pagination li .active a, -div.pagination li .active span, -div.pagination li .active a:hover, -div.pagination li .active span:hover, -div.pagination li .active a:focus, -div.pagination li .active span:focus { - z-index: 2; - color: #fff; - cursor: default; - background-color: ; - border-color: #337ab7; -} -div.pagination .disabled span, -div.pagination .disabled span:hover, -div.pagination .disabled span:focus, -div.pagination .disabled a, -div.pagination .disabled a:hover, -div.pagination .disabled a:focus { - color: #777; - cursor: not-allowed; - background-color: #fff; - border-color: #ddd; -} -div.pagination li .active { - text-decoration: underline; -} -div.pagination li.paginationafterarrows { - margin-left: 10px; -} - -tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.liste_titre_sel -{ - height: 22px; -} -div.liste_titre, tr.liste_titre, form.liste_titre, tr.box_titre { - padding:4px; - background-color:rgba(0,0,0,.2); - background-image:linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-o-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-webkit-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-ms-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-webkit-gradient( - linear, - left top, - left bottom, - color-stop(0, rgba(255,255,255,.3)), - color-stop(1, rgba(0,0,0,.3)) - ); - text-align: ; -} - -tr.box_titre td.boxclose { - width: 36px; -} - -tr.liste_titre td, tr.liste_titre th, form.liste_titre div { - padding:2px; - padding-left:2px !important; - text-shadow:1px 1px 1px #ffffff; -} - -td.liste_titre_sel, form.liste_titre div.liste_titre_sel { - font-weight:bold; - white-space:nowrap; -} - -tr.liste_total td, form.liste_total div { - padding:1px 2px; - border-top:solid 1px #cccccc; - background-color:#eaeaea; - font-weight:bold; - white-space:nowrap; -} - -tr.impair td, tr.pair td, form.impair div, form.pair div { padding:1px 1px 1px 2px; } - -tr.impair table.nobordernopadding td, tr.pair table.nobordernopadding td { padding:1px 0px; } - -.impair { - background:#fdfdfd; - font-family:; - border:0px; -} - -.pair { - background:#f4f4f4; - font-family:; - border:0px; -} - - - -/* - * Boxes - */ - -.boxstats { - - margin: 4px; - padding: 4px; - /*-moz-box-shadow: 4px 4px 4px #DDD; - -webkit-box-shadow: 4px 4px 4px #DDD; - box-shadow: 4px 4px 4px #DDD; - margin-bottom: 8px !important;*/ - border: 1px solid #AAA; - text-align: center; - border-radius: 5px; -} - -.boxtable { - -moz-box-shadow: 2px 2px 2px #cccccc; - -webkit-box-shadow: 2px 2px 2px #cccccc; - box-shadow: 2px 2px 2px #cccccc; - /*white-space:nowrap;*/ -} - -.box { - padding-right:0px; - padding-left:0px; - padding-bottom:4px; -} - -tr.box_impair { - background:#fdfdfd; - font-family:; -} - -tr.box_pair { - background:#f4f4f4; - font-family:; -} - -.formboxfilter { - vertical-align: middle; - margin-bottom: 6px; -} -.formboxfilter input[type=image] -{ - top: 5px; - position: relative; -} - - -/* - * Ok, Warning, Error - */ - -.ok { - color:#159e26; - background:url() left center no-repeat !important; - padding-left:20px !important; - font-weight:bold; -} - -.warning { - color:#bca936; - background:url() left center no-repeat !important; - padding-left:20px !important; - font-weight:bold; -} - -.error { - color:#a61111; - background:#f58080 url() left center no-repeat !important; - padding-left:20px !important; - font-weight:bold; -} - -td.highlights {background:#f9c5c6;} - -div.ok { - background:#61e372; /* url() 3px center no-repeat; */ - /*color:#ffffff;*/ - padding:2px 4px 2px 6px; - margin:0.5em 0em; - font-weight:normal; -} - -div.warning, div.info { - background:#fcf5b8; /* url() 3px center no-repeat; */ - /*color:#232323; */ - padding:2px 4px 2px 6px; - margin:0.5em 0em; - border:1px solid #bca936; - font-weight:normal; -} - -div.error { - background:#f58080; /* url() 3px center no-repeat; */ - /* color:#ffffff; */ - padding:2px 4px 2px 6px; - margin:0.5em 0em; - border:1px solid #a61111; - font-weight:normal; -} - -/* - * Other - */ - -.product_line_stock_ok { color: #002200; } -.product_line_stock_too_low { color: #664400; } - -.fieldrequired { - font-weight:bold; - color:#333333; -} - -.dolgraphtitle { margin-top: 6px; margin-bottom: 4px; } -.dolgraphtitlecssboxes { margin: 0px; } - -#pictotitle { - padding-left:5px; - padding-right:1px; -} - -.photo {border:0px;} - -div.titre { - color:rgba(0,0,0,.5); - margin-right:12px; - text-shadow:1px 1px 1px #ffffff; - font-weight:bold; - padding-left:1px; - padding-bottom:2px; -} - -#dolpaymenttable { width: 600px; font-size: 13px; } -#tablepublicpayment { border: 1px solid #CCCCCC !important; width: 100%; } -#tablepublicpayment .CTableRow1 { background-color: #F0F0F0 !important; } -#tablepublicpayment tr.liste_total { border-bottom: 1px solid #CCCCCC !important; } -#tablepublicpayment tr.liste_total td { border-top: none; } - -#divsubscribe { width: 700px; } -#tablesubscribe { width: 100%; } - - - -/* ============================================================================== */ -/* Formulaire confirmation (When Ajax JQuery is used) */ -/* ============================================================================== */ - -.ui-dialog-titlebar {} -.ui-dialog-content {font-size:px !important;} - - -/* ============================================================================== */ -/* Formulaire de confirmation (When HTML is used) */ -/* ============================================================================== */ - -table.valid { - border-top:solid 1px #e6e6e6; - border-left:solid 1px #e6e6e6; - border-right:solid 1px #444444; - border-bottom:solid 1px #555555; - padding-top:0px; - padding-left:0px; - padding-right:0px; - padding-bottom:0px; - margin:0px 0px; - background:#d5baa8; -} - -.validtitre { - background:#d5baa8; - font-weight:bold; -} - - -/* ============================================================================== */ -/* Tooltips */ -/* ============================================================================== */ - -#tooltip { - position:absolute; - width:px; - border-top:solid 1px #bbbbbb; - border-left:solid 1px #bbbbbb; - borderright:solid 1px #444444; - border-bottom:solid 1px #444444; - padding:2px; - z-index:3000; - background-color:#fffff0; - opacity:1; - -moz-border-radius:6px; -} - - -/* ============================================================================== */ -/* Calendar */ -/* ============================================================================== */ - -img.datecallink { padding-left: 2px !important; padding-right: 2px !important; } - -.ui-datepicker-title { - margin:0 !important; - line-height:28px; -} -.ui-datepicker-month { - margin:0 !important; - padding:0 !important; -} -.ui-datepicker-header { - height:28px !important; -} - -.bodyline { - -moz-border-radius:8px; - padding:0px; - margin-bottom:5px; - z-index:3000; -} - -table.dp { - width:180px; - margin-top:3px; - background-color:#ffffff; - border:1px solid #bbbbbb; - border-spacing:0px; - -moz-box-shadow: 2px 2px 2px #cccccc; - -webkit-box-shadow: 2px 2px 2px #cccccc; - box-shadow: 2px 2px 2px #cccccc; -} - -.dp td, .tpHour td, .tpMinute td { - padding:2px; - font-size:11px; -} - -td.dpHead { - padding:4px; - font-size:11px; - font-weight:bold; -} - -/* Barre titre */ -.dpHead, .tpHead, .tpHour td:Hover .tpHead { - background-color:rgba(0,0,0,.2); - background-image:linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-o-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-webkit-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-ms-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image:-webkit-gradient( - linear, - left top, - left bottom, - color-stop(0, rgba(255,255,255,.3)), - color-stop(1, rgba(0,0,0,.3)) - ); - font-size:10px; - cursor:auto; -} - -/* Barre navigation */ -.dpButtons, .tpButtons { - text-align:center; - background-color:#eaeaea; - color:#232323; - font-weight:bold; - cursor:pointer; -} - -.dpDayNames td, .dpExplanation { - background-color:#eaeaea; - font-weight:bold; - text-align:center; - font-size:11px; -} - -.dpWeek td {text-align:center} - -.dpToday, .dpReg, .dpSelected {cursor:pointer;} - -.dpToday { - font-weight:bold; - color:#232323; - background-color:#dddddd; -} - -.dpReg:Hover, .dpToday:Hover { - background-color:#333333; - color:#ffffff; -} - -/* Jour courant */ -.dpSelected { - background-color:#0B63A2; - color:#ffffff; - font-weight:bold; -} - -.tpHour { - border-top:1px solid #dddddd; - border-right:1px solid #dddddd; -} - -.tpHour td { - border-left:1px solid #dddddd; - border-bottom:1px solid #dddddd; - cursor:pointer; -} - -.tpHour td:Hover { - background-color:#232323; - color:#ffffff; -} - -.tpMinute {margin-top:5px;} - -.tpMinute td:Hover { - background-color:#333333; - color:#ffffff; -} -.tpMinute td { - background-color:#eaeaea; - text-align:center; - cursor:pointer; -} - -.fulldaystarthour {margin-right:2px;} -.fulldaystartmin {margin-right:2px;} -.fulldayendhour {margin-right:2px;} -.fulldayendmin {margin-right:2px;} - -/* Bouton X fermer */ -.dpInvisibleButtons { - border-style:none; - background-color:transparent; - padding:0px 2px; - font-size:9px; - border-width:0px; - color:#0B63A2; - vertical-align:middle; - cursor:pointer; -} - -td.dpHead .dpInvisibleButtons { - color:#232323; - font-weight:bold; -} - - -/* ============================================================================== */ -/* Afficher/cacher */ -/* ============================================================================== */ - -div.visible {display:block;} -div.hidden {display:none;} -tr.visible {display:block;} -td.hidden {display:none;} - - -/* ============================================================================== */ -/* Module agenda */ -/* ============================================================================== */ - -table.cal_month { border-spacing: 0px; } -.cal_current_month { border-top: 0; border-left: solid 1px #E0E0E0; border-right: 0; border-bottom: solid 1px #E0E0E0; } -.cal_current_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B; border-right: 0; border-bottom: solid 1px #E0E0E0; } -.cal_other_month { border-top: 0; border-left: solid 1px #C0C0C0; border-right: 0; border-bottom: solid 1px #C0C0C0; } -.cal_other_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B !important; border-right: 0; } -.cal_current_month_right { border-right: solid 1px #E0E0E0; } -.cal_other_month_right { border-right: solid 1px #C0C0C0; } -.cal_other_month { opacity: 0.6; background: #EAEAEA; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_past_month { opacity: 0.6; background: #EEEEEE; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_current_month { background: #FFFFFF; border-left: solid 1px #E0E0E0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_current_month_peruserleft { background: #FFFFFF; border-left: solid 3px #6C7C7B; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_today_peruser { background: #FFFFFF; border-right: solid 1px #6C7C7B; border-top: solid 1px #A0A0A0; border-bottom: solid 1px #A0A0A0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_today_peruser_peruserleft { background: #FFFFFF; border-left: solid 3px #6C7C7B; border-top: solid 1px #A0A0A0; border-right: solid 1px #6C7C7B; border-bottom: solid 1px #A0A0A0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_today { - background:#ffffff; - border:solid 2px #bbbbbb; -} -.peruser_busy { background: #CC8888; } -.peruser_notbusy { background: #EEDDDD; } - -div.dayevent table.nobordernopadding tr td {padding:1px;} - -table.cal_event { border: none; border-collapse: collapse; margin-bottom: 1px; -webkit-border-radius: 6px; border-radius: 6px; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25); - moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25); - background: -webkit-gradient(linear, left top, left bottom, from(#006aac), to(#00438d)); - } -table.cal_event td { border: none; padding-: 2px; padding-: 2px; padding-top: 0px; padding-bottom: 0px; } -ul.cal_event { padding-right: 2px; padding-top: 1px; border: none; list-style-type: none; margin: 0 auto; padding-left: 0px; padding-start: 0px; -khtml-padding-start: 0px; -o-padding-start: 0px; -moz-padding-start: 0px; -webkit-padding-start: 0px; } -li.cal_event { border: none; list-style-type: none; } -.cal_event a:link { color: #111111; font-size: 11px; font-weight: normal !important; } -.cal_event a:visited { color: #111111; font-size: 11px; font-weight: normal !important; } -.cal_event a:active { color: #111111; font-size: 11px; font-weight: normal !important; } -.cal_event a:hover { color: #111111; font-size: 11px; font-weight: normal !important; color:rgba(255,255,255,.75); } - - -/* ============================================================================== */ -/* Afficher/cacher */ -/* ============================================================================== */ - -#evolForm input.error { - font-weight:bold; - border:solid 1px #ff0000; - padding:1px; - margin:1px; -} - -#evolForm input.focuserr { - font-weight:bold; - background:#faf8e8; - color:#333333; - border:solid 1px #ff0000; - padding:1px; - margin:1px; -} - - -#evolForm input.focus { /*** Mise en avant des champs en cours d'utilisation ***/ - background:#faf8e8; - color:#333333; - border:solid 1px #000000; - padding:1px; - margin:1px; -} - -#evolForm input.normal { /*** Retour a l'état normal après l'utilisation ***/ - background:#ffffff; - color:#333333; - border:solid 1px #ffffff; - padding:1px; - margin:1px; -} - - -/* ============================================================================== */ -/* Ajax - Liste déroulante de l'autocompletion */ -/* ============================================================================== */ - -.ui-widget {font-family:Verdana,Arial,sans-serif; font-size:0.9em;} -.ui-autocomplete-loading {background:#ffffff url() right center no-repeat;} - - -/* ============================================================================== */ -/* Ajax - In place editor */ -/* ============================================================================== */ - -form.inplaceeditor-form {/* The form */ -} - -form.inplaceeditor-form input[type="text"] {/* Input box */ -} - -form.inplaceeditor-form textarea {/* Textarea, if multiple columns */ - background:#FAF8E8; - color:#333333; -} - -form.inplaceeditor-form input[type="submit"] {/* The submit button */ - font-size:100%; - font-weight:normal; - border:0px; - cursor:pointer; -} - -form.inplaceeditor-form a {/* The cancel link */ - margin-left:5px; - font-size:11px; - font-weight:normal; - border:0px; - cursor:pointer; -} - - -/* ============================================================================== */ -/* Admin Menu */ -/* ============================================================================== */ - -/* CSS for treeview */ -.treeview ul { background-color: transparent !important; margin-top: 0; } -.treeview li { background-color: transparent !important; padding: 0 0 0 16px !important; min-height: 20px; } -.treeview .hover { color: black !important; } - - -/* ============================================================================== */ -/* Show Excel tabs */ -/* ============================================================================== */ - -.table_data { - border-style:ridge; - border:1px solid; -} - -.tab_base { - background:#C5D0DD; - font-weight:bold; - border-style:ridge; - border:1px solid; - cursor:pointer; -} - -.table_sub_heading { - background:#CCCCCC; - font-weight:bold; - border-style:ridge; - border:1px solid; -} - -.table_body { - background:#F0F0F0; - font-weight:normal; - font-family:sans-serif; - border-style:ridge; - border:1px solid; - border-spacing:0px; - border-collapse:collapse; -} - -.tab_loaded { - background:#232323; - color:#ffffff; - font-weight:bold; - border-style:groove; - border:1px solid; - cursor:pointer; -} - - -/* ============================================================================== */ -/* CSS for color picker */ -/* ============================================================================== */ - -a.color, a.color:active, a.color:visited { - position:relative; - display:block; - text-decoration:none; - width:10px; - height:10px; - line-height:10px; - margin:0px; - padding:0px; - border:1px inset #ffffff; -} - -a.color:hover {border:1px outset #ffffff;} - -a.none, a.none:active, a.none:visited, a.none:hover { - position:relative; - display:block; - text-decoration:none; - width:10px; - height:10px; - line-height:10px; - margin:0px; - padding:0px; - cursor:default; - border:1px solid #b3c5cc; -} - -.tblColor {display:none;} -.tdColor {padding:1px;} -.tblContainer {background-color:#b3c5cc;} - -.tblGlobal { - position:absolute; - top:0px; - left:0px; - display:none; - background-color:#b3c5cc; - border:2px outset; -} - -.tdContainer {padding:5px;} - -.tdDisplay { - width:50%; - height:20px; - line-height:20px; - border:1px outset #ffffff; -} - -.tdDisplayTxt { - width:50%; - height:24px; - line-height:12px; - font-family:; - font-size:8pt; - color:#333333; - text-align:center; -} - -.btnColor { - width:100%; - font-family:; - font-size:10pt; - padding:0px; - margin:0px; -} - -.btnPalette { - width:100%; - font-family:; - font-size:8pt; - padding:0px; - margin:0px; -} - -/* Style to overwrites JQuery styles */ -.ui-menu .ui-menu-item a { - text-decoration:none; - display:block; - padding:.2em .4em; - line-height:1.5; - zoom:1; - font-weight:normal; - font-family:; - font-size:1em; -} - -.ui-widget { - font-family:; - font-size:px; -} - -.ui-button { margin-left:-2px; padding-top: 1px; } -.ui-button-icon-only .ui-button-text { height:8px; } -.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding:2px 0px 6px 0px; } -.ui-button-text { line-height:1em !important; } -.ui-autocomplete-input { margin:0; } - - -/* ============================================================================== */ -/* CKEditor */ -/* ============================================================================== */ - -.cke_editor table, .cke_editor tr, .cke_editor td {border:0px solid #FF0000 !important;} -span.cke_skin_kama {padding:0px !important;} - - -/* ============================================================================== */ -/* File upload */ -/* ============================================================================== */ - -.template-upload {height:72px !important;} - - -/* ============================================================================== */ -/* JSGantt */ -/* ============================================================================== */ - -div.scroll2 { - width: px !important; -} - - -/* ============================================================================== */ -/* jFileTree */ -/* ============================================================================== */ - -.ecmfiletree { - width: 99%; - height: 99%; - background: #FFF; - padding-left: 2px; - font-weight: normal; -} - -.fileview { - width: 99%; - height: 99%; - background: #FFF; - padding-left: 2px; - padding-top: 4px; - font-weight: normal; -} - -div.filedirelem { - position: relative; - display: block; - text-decoration: none; -} - -ul.filedirelem { - padding: 2px; - margin: 0 5px 5px 5px; -} -ul.filedirelem li { - list-style: none; - padding: 2px; - margin: 0 10px 20px 10px; - width: 160px; - height: 120px; - text-align: center; - display: block; - float: ; - border: solid 1px #DDDDDD; -} - -ui-layout-north { - -} - -ul.ecmjqft { - font-size: 11px; - line-height: 16px; - padding: 0px; - margin: 0px; - font-weight: normal; -} - -ul.ecmjqft li { - list-style: none; - padding: 0px; - padding-left: 20px; - margin: 0px; - white-space: nowrap; - display: block; -} - -ul.ecmjqft a { - line-height: 16px; - vertical-align: middle; - color: #333; - padding: 0px 0px; - font-weight:normal; - display: inline-block !important; -/* float: left;*/ -} -ul.ecmjqft a:active { - font-weight: bold !important; -} -ul.ecmjqft a:hover { - text-decoration: underline; -} -div.ecmjqft { - vertical-align: middle; - display: inline-block !important; - text-align: right; - position:absolute; - right:4px; -} - -/* Core Styles */ -.ecmjqft LI.directory { font-weight:normal; background: url() left top no-repeat; } -.ecmjqft LI.expanded { font-weight:normal; background: url() left top no-repeat; } -.ecmjqft LI.wait { font-weight:normal; background: url() left top no-repeat; } - - - -/* ============================================================================== */ -/* jNotify */ -/* ============================================================================== */ - -.jnotify-container { - position: fixed !important; -global->MAIN_JQUERY_JNOTIFY_BOTTOM)) { ?> - top: auto !important; - bottom: 4px !important; - - text-align: center; - min-width: px; - width: auto; - padding-left: 10px !important; - padding-right: 10px !important; -} - -/* use or not ? */ -div.jnotify-background { - opacity : 0.95 !important; - -moz-box-shadow: 4px 4px 4px #AAA !important; - -webkit-box-shadow: 4px 4px 4px #AAA !important; - box-shadow: 4px 4px 4px #AAA !important; -} - - -/* ============================================================================== */ -/* Maps */ -/* ============================================================================== */ - -.divmap, #google-visualization-geomap-embed-0, #google-visualization-geomap-embed-1, google-visualization-geomap-embed-2 { - -moz-box-shadow: 0px 0px 10px #AAA; - -webkit-box-shadow: 0px 0px 10px #AAA; - box-shadow: 0px 0px 10px #AAA; -} - - -/* ============================================================================== */ -/* Datatable */ -/* ============================================================================== */ - -.sorting_asc { background: url('') no-repeat center right; } -.sorting_desc { background: url('') no-repeat center right; } -.sorting_asc_disabled { background: url('') no-repeat center right; } -.sorting_desc_disabled { background: url('') no-repeat center right; } -.paginate_disabled_previous:hover, .paginate_enabled_previous:hover, .paginate_disabled_next:hover, .paginate_enabled_next:hover -{ - font-weight: normal; -} -.paginate_enabled_previous:hover, .paginate_enabled_next:hover -{ - text-decoration: underline !important; -} - - -/* ============================================================================== */ -/* Select2 */ -/* ============================================================================== */ - -.selectoptiondisabledwhite { - background: #FFFFFF !important; -} - -.select2-choice, -.select2-drop.select2-drop-above.select2-drop-active, -.select2-container-active .select2-choice, -.select2-container-active .select2-choices, -.select2-dropdown-open.select2-drop-above .select2-choice, -.select2-dropdown-open.select2-drop-above .select2-choices, -.select2-container-multi.select2-container-active .select2-choices -{ - border: 1px solid #aaa; -} -.select2-disabled -{ - color: #888; -} -.select2-drop-active -{ - border: 1px solid #aaa; - border-top: none; -} -a span.select2-chosen -{ - font-weight: normal !important; -} -.select2-container .select2-choice { - background-image: none; - height: 24px; - line-height: 24px; -} -.select2-choices .select2-search-choice { - border: 1px solid #aaa !important; -} -.select2-results .select2-no-results, .select2-results .select2-searching, .select2-results .select2-ajax-error, .select2-results .select2-selection-limit -{ - background: #FFFFFF; -} -.select2-container-multi.select2-container-disabled .select2-choices { - background-color: #FFFFFF; - background-image: none; - border: none; - cursor: default; -} -.select2-container-multi .select2-choices .select2-search-choice { - margin-bottom: 3px; -} -/* To emulate select 2 style */ -.select2-container-multi-dolibarr .select2-choices-dolibarr .select2-search-choice-dolibarr { - padding: 2px 5px 1px 5px; - margin: 0 0 2px 3px; - position: relative; - line-height: 13px; - color: #333; - cursor: default; - border: 1px solid #aaaaaa; - border-radius: 3px; - -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); - box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); - background-clip: padding-box; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: #e4e4e4; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0); - background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee)); - background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); - background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); - background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); -} -.select2-container-multi-dolibarr .select2-choices-dolibarr .select2-search-choice-dolibarr a { - font-weight: normal; -} -.select2-container-multi-dolibarr .select2-choices-dolibarr li { - float: left; - list-style: none; -} -.select2-container-multi-dolibarr .select2-choices-dolibarr { - height: auto !important; - height: 1%; - margin: 0; - padding: 0 5px 0 0; - position: relative; - cursor: text; - overflow: hidden; -} - - -/* ============================================================================== */ -/* JMobile */ -/* ============================================================================== */ - -li.ui-li-divider .ui-link { - color: #FFF !important; -} -.ui-btn { - margin: 0.1em 2px -} -.ui-btn-inner { - min-width: .4em; - padding-left: 10px; - padding-right: 10px; - white-space: normal; - font-size: px; -} -.ui-btn-icon-right .ui-btn-inner { - padding-right: 34px; -} -.ui-btn-icon-left .ui-btn-inner { - padding-left: 34px; -} -.ui-select .ui-btn-icon-right .ui-btn-inner { - padding-right: 36px; -} -.ui-select .ui-btn-icon-left .ui-btn-inner { - padding-left: 36px; -} - -.fiche .ui-controlgroup { - margin: 0px; - padding-bottom: 0px; -} -div.ui-controlgroup-controls div.tabsElem -{ - margin-top: 2px; - margin-right: 8px; -} -div.ui-controlgroup-controls div.tabsElem a -{ - -moz-box-shadow: 0 -3px 6px rgba(0,0,0,.2); - -webkit-box-shadow: 0 -3px 6px rgba(0,0,0,.2); - box-shadow: 0 -3px 6px rgba(0,0,0,.2); -} -div.ui-controlgroup-controls div.tabsElem a#active { - -moz-box-shadow: 0 -3px 6px rgba(0,0,0,.3); - -webkit-box-shadow: 0 -3px 6px rgba(0,0,0,.3); - box-shadow: 0 -3px 6px rgba(0,0,0,.3); -} - -a.tab span.ui-btn-inner, a.tab span.ui-btn-inner span.ui-btn-text -{ - border: none; - padding: 0; -} - -.ui-body-c { - border: 1px solid #CCC; - text-shadow: none; -} -.ui-link { - color: rgb() !important; -} - -div.tabsElem a.ui-btn-corner-all { - -webkit-border-bottom-left-radius: 0px; - -moz-border-radius-bottomleft: 0px; - border-bottom-left-radius: 0px; - -webkit-border-bottom-right-radius: 0px; - -moz-border-radius-bottomright: 0px; - border-bottom-right-radius: 0px; -} - -.ui-btn-icon-left .ui-icon { - left: 8px; -} -.ui-btn-icon-right .ui-icon { - right: 8px; -} - -div.ui-radio -{ - display: inline-block; -} -.ui-checkbox input, .ui-radio input { - height: auto; - width: auto; - margin: 4px; - position: static; -} -div.ui-checkbox label+input, div.ui-radio label+input { - position: absolute; -} - -.ui-mobile fieldset -{ - padding-bottom: 10px; margin-bottom: 4px; border-bottom: 1px solid #AAAAAA !important; -} - -ul.ulmenu { - border-radius: 0; - -webkit-border-radius: 0; -} - -.ui-field-contain label.ui-input-text { - vertical-align: middle !important; -} -.ui-mobile fieldset { - border-bottom: none !important; -} -.ui-body-c, .ui-btn-up-c, .ui-btn-hover-c { - border: none !important; -} - -/* Style for first level menu with jmobile */ -.ui-bar-b, .lilevel0 { - background: rgb(); - background-repeat: repeat-x; - - background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - font-weight: bold; - - color: # !important; -} -.alilevel0 { - color: # !important; - text-shadow: 1px 0px 1px #; -} -.alilevel1 { - color: # !important; - text-shadow: 1px 0px 1px #; -} -.lilevel1 { - background-image: -webkit-gradient(linear,left top,left bottom,from( #eee ),to( #e1e1e1 )) !important; - background-image: -webkit-linear-gradient( #eee,#e1e1e1 ) !important; - background-image: -moz-linear-gradient( #eee,#e1e1e1 ) !important; - background-image: -ms-linear-gradient( #eee,#e1e1e1 ) !important; - background-image: -o-linear-gradient( #eee,#e1e1e1 ) !important; - background-image: linear-gradient( #eee,#e1e1e1 ) !important; -} -.lilevel2 -{ - padding-left: 22px; -} -.lilevel3 -{ - padding-left: 54px; -} - - -close(); diff --git a/htdocs/theme/amarok/thumb.png b/htdocs/theme/amarok/thumb.png deleted file mode 100644 index 96509b93046..00000000000 Binary files a/htdocs/theme/amarok/thumb.png and /dev/null differ diff --git a/htdocs/theme/auguria/ckeditor/config.js b/htdocs/theme/auguria/ckeditor/config.js deleted file mode 100644 index 97f1c0a0b62..00000000000 --- a/htdocs/theme/auguria/ckeditor/config.js +++ /dev/null @@ -1,92 +0,0 @@ -/* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.editorConfig = function( config ) -{ - // Define changes to default configuration here. - // http://docs.cksource.com/CKEditor_3.x/Developers_Guide - // http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html - config.enterMode = CKEDITOR.ENTER_BR; - config.resize_enabled = false; - //config.resize_maxHeight = 3000; - //config.resize_maxWidth = 3000; - //config.height = '300px'; - //config.resize_dir = 'vertical'; // horizontal, vertical, both - config.removePlugins = 'elementspath,save'; // config.removePlugins = 'elementspath,save,font'; - config.removeDialogTabs = 'flash:advanced'; // config.removeDialogTabs = 'flash:advanced;image:Link'; - config.protectedSource.push( /<\?[\s\S]*?\?>/g ); // Prevent PHP Code to be formatted - //config.menu_groups = 'clipboard,table,anchor,link,image'; // for context menu 'clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea' - //config.language = 'de'; - //config.defaultLanguage = 'en'; - //config.contentsLanguage = 'fr'; - config.fullPage = false; // Not a full html page string, just part of it - config.dialog_backgroundCoverColor = 'rgb(255, 254, 253)'; - //config.contentsCss = '/css/mysitestyles.css'; - config.image_previewText=' '; // Must no be empty - - config.toolbar_Full = - [ - ['Source','-','Save','NewPage','Preview','-','Templates'], - ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker', 'Scayt'], - ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'], - ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'], - '/', - ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'], - ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'], - ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], - ['BidiLtr', 'BidiRtl'], - ['Link','Unlink','Anchor'], - ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe'], - '/', - ['Styles','Format','Font','FontSize'], - ['TextColor','BGColor'], - ['Maximize', 'ShowBlocks','-','About'] - ]; - - // Used for mailing fields - config.toolbar_dolibarr_mailings = - [ - ['Source','Maximize'], - ['Cut','Copy','Paste','-','SpellChecker'], - ['Undo','Redo','-','Find','Replace'], - ['Format','Font','FontSize'], - ['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'], - ['NumberedList','BulletedList','Outdent','Indent','CreateDiv'], - ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], - ['Link','Unlink','Anchor','Image','Table','HorizontalRule','SpecialChar'] - ]; - - // Used for notes fields - config.toolbar_dolibarr_notes = - [ - ['Source','Maximize'], - ['Cut','Copy','Paste','-','SpellChecker'], - ['Undo','Redo','-','Find','Replace'], - ['Format','Font','FontSize'], - ['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'], - ['NumberedList','BulletedList','Outdent','Indent'], - ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], - ['Link','Unlink','Image','Table','HorizontalRule','SpecialChar'] - ]; - - // Used for details lines - config.toolbar_dolibarr_details = - [ - ['Source','Maximize'], - ['Cut','Copy','Paste','-','SpellChecker'], - ['Font','FontSize'], - ['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'], - ['NumberedList','BulletedList','Outdent','Indent'], - ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], - ['Link','Unlink','SpecialChar'] - ]; - - // Used for mailing fields - config.toolbar_dolibarr_readonly = - [ - ['Source','Maximize'], - ['Find'] - ]; -}; diff --git a/htdocs/theme/auguria/graph-color.php b/htdocs/theme/auguria/graph-color.php deleted file mode 100644 index a2483480762..00000000000 --- a/htdocs/theme/auguria/graph-color.php +++ /dev/null @@ -1,30 +0,0 @@ - - * Copyright (C) 2004-2007 Laurent Destailleur - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/theme/auguria/graph-color.php - * \brief File to declare colors to use to build graphics with theme Auguria - * \ingroup core - */ - -global $theme_bordercolor, $theme_datacolor, $theme_bgcolor, $theme_bgcoloronglet; -$theme_bordercolor = array(235,235,224); -$theme_datacolor = array(array(125,135,150), array(200,160,180), array(190,190,220), array(170,140,190), array(190,190,170)); -$theme_bgcolor = array(hexdec('F4'),hexdec('F4'),hexdec('F4')); -$theme_bgcoloronglet = array(hexdec('DE'),hexdec('E7'),hexdec('EC')); - diff --git a/htdocs/theme/auguria/img/1downarrow.png b/htdocs/theme/auguria/img/1downarrow.png deleted file mode 100644 index 8459a7fcf85..00000000000 Binary files a/htdocs/theme/auguria/img/1downarrow.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/1downarrow_selected.png b/htdocs/theme/auguria/img/1downarrow_selected.png deleted file mode 100644 index c5a947c4d9f..00000000000 Binary files a/htdocs/theme/auguria/img/1downarrow_selected.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/1leftarrow.png b/htdocs/theme/auguria/img/1leftarrow.png deleted file mode 100644 index 25665e556a9..00000000000 Binary files a/htdocs/theme/auguria/img/1leftarrow.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/1leftarrow_selected.png b/htdocs/theme/auguria/img/1leftarrow_selected.png deleted file mode 100644 index 9a88ada13f1..00000000000 Binary files a/htdocs/theme/auguria/img/1leftarrow_selected.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/1rightarrow.png b/htdocs/theme/auguria/img/1rightarrow.png deleted file mode 100644 index 422fc3f9426..00000000000 Binary files a/htdocs/theme/auguria/img/1rightarrow.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/1rightarrow_selected.png b/htdocs/theme/auguria/img/1rightarrow_selected.png deleted file mode 100644 index 422fc3f9426..00000000000 Binary files a/htdocs/theme/auguria/img/1rightarrow_selected.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/1uparrow.png b/htdocs/theme/auguria/img/1uparrow.png deleted file mode 100644 index 9cd9d0b4a28..00000000000 Binary files a/htdocs/theme/auguria/img/1uparrow.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/1uparrow_selected.png b/htdocs/theme/auguria/img/1uparrow_selected.png deleted file mode 100644 index db109a4c2b5..00000000000 Binary files a/htdocs/theme/auguria/img/1uparrow_selected.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/banner_02.jpg b/htdocs/theme/auguria/img/banner_02.jpg deleted file mode 100644 index 81635fd2a59..00000000000 Binary files a/htdocs/theme/auguria/img/banner_02.jpg and /dev/null differ diff --git a/htdocs/theme/auguria/img/bg-bas-rubrique.png b/htdocs/theme/auguria/img/bg-bas-rubrique.png deleted file mode 100644 index ddff8ce878a..00000000000 Binary files a/htdocs/theme/auguria/img/bg-bas-rubrique.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/bg-rubrique.png b/htdocs/theme/auguria/img/bg-rubrique.png deleted file mode 100644 index 9abf1dc1459..00000000000 Binary files a/htdocs/theme/auguria/img/bg-rubrique.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/bg-titre-rubrique.png b/htdocs/theme/auguria/img/bg-titre-rubrique.png deleted file mode 100644 index a68206aa818..00000000000 Binary files a/htdocs/theme/auguria/img/bg-titre-rubrique.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/bg_inside.gif b/htdocs/theme/auguria/img/bg_inside.gif deleted file mode 100644 index e2a4f5c5841..00000000000 Binary files a/htdocs/theme/auguria/img/bg_inside.gif and /dev/null differ diff --git a/htdocs/theme/auguria/img/body_bg.jpg b/htdocs/theme/auguria/img/body_bg.jpg deleted file mode 100644 index 0480bfdc738..00000000000 Binary files a/htdocs/theme/auguria/img/body_bg.jpg and /dev/null differ diff --git a/htdocs/theme/auguria/img/cron.png b/htdocs/theme/auguria/img/cron.png deleted file mode 100644 index ddfe62e7b24..00000000000 Binary files a/htdocs/theme/auguria/img/cron.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/favicon.ico b/htdocs/theme/auguria/img/favicon.ico deleted file mode 100644 index b93a86747d6..00000000000 Binary files a/htdocs/theme/auguria/img/favicon.ico and /dev/null differ diff --git a/htdocs/theme/auguria/img/grip.png b/htdocs/theme/auguria/img/grip.png deleted file mode 100644 index 8053007e9dd..00000000000 Binary files a/htdocs/theme/auguria/img/grip.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/indent1.png b/htdocs/theme/auguria/img/indent1.png deleted file mode 100644 index 09695ac754f..00000000000 Binary files a/htdocs/theme/auguria/img/indent1.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/mainlevel.gif b/htdocs/theme/auguria/img/mainlevel.gif deleted file mode 100644 index 548526442a3..00000000000 Binary files a/htdocs/theme/auguria/img/mainlevel.gif and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/agenda.png b/htdocs/theme/auguria/img/menus/agenda.png deleted file mode 100644 index 866037c9b54..00000000000 Binary files a/htdocs/theme/auguria/img/menus/agenda.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/commercial.png b/htdocs/theme/auguria/img/menus/commercial.png deleted file mode 100644 index efc1b3f0608..00000000000 Binary files a/htdocs/theme/auguria/img/menus/commercial.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/company.png b/htdocs/theme/auguria/img/menus/company.png deleted file mode 100644 index 95e5db62046..00000000000 Binary files a/htdocs/theme/auguria/img/menus/company.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/ecm.png b/htdocs/theme/auguria/img/menus/ecm.png deleted file mode 100644 index a9a975219cd..00000000000 Binary files a/htdocs/theme/auguria/img/menus/ecm.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/footer_bg.jpg b/htdocs/theme/auguria/img/menus/footer_bg.jpg deleted file mode 100644 index 7319c16f9af..00000000000 Binary files a/htdocs/theme/auguria/img/menus/footer_bg.jpg and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/generic1.png b/htdocs/theme/auguria/img/menus/generic1.png deleted file mode 100644 index 0222dd8c81d..00000000000 Binary files a/htdocs/theme/auguria/img/menus/generic1.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/generic2.png b/htdocs/theme/auguria/img/menus/generic2.png deleted file mode 100644 index 86847858c4a..00000000000 Binary files a/htdocs/theme/auguria/img/menus/generic2.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/generic3.png b/htdocs/theme/auguria/img/menus/generic3.png deleted file mode 100644 index e22f73aa6f9..00000000000 Binary files a/htdocs/theme/auguria/img/menus/generic3.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/generic4.png b/htdocs/theme/auguria/img/menus/generic4.png deleted file mode 100644 index 29a3d7fed67..00000000000 Binary files a/htdocs/theme/auguria/img/menus/generic4.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/globe.png b/htdocs/theme/auguria/img/menus/globe.png deleted file mode 100644 index 073348a5246..00000000000 Binary files a/htdocs/theme/auguria/img/menus/globe.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/home.png b/htdocs/theme/auguria/img/menus/home.png deleted file mode 100644 index f4d0d917d1f..00000000000 Binary files a/htdocs/theme/auguria/img/menus/home.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/index.html b/htdocs/theme/auguria/img/menus/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/auguria/img/menus/lr_bg.gif b/htdocs/theme/auguria/img/menus/lr_bg.gif deleted file mode 100644 index e6644e4685f..00000000000 Binary files a/htdocs/theme/auguria/img/menus/lr_bg.gif and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/mail.png b/htdocs/theme/auguria/img/menus/mail.png deleted file mode 100644 index d715ec7810c..00000000000 Binary files a/htdocs/theme/auguria/img/menus/mail.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/members.png b/htdocs/theme/auguria/img/menus/members.png deleted file mode 100644 index 4b703f42cd7..00000000000 Binary files a/htdocs/theme/auguria/img/menus/members.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/moduletable_th_bg.gif b/htdocs/theme/auguria/img/menus/moduletable_th_bg.gif deleted file mode 100644 index 0901e294b1f..00000000000 Binary files a/htdocs/theme/auguria/img/menus/moduletable_th_bg.gif and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/money.png b/htdocs/theme/auguria/img/menus/money.png deleted file mode 100644 index 50166e0f74b..00000000000 Binary files a/htdocs/theme/auguria/img/menus/money.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/pointofsale.png b/htdocs/theme/auguria/img/menus/pointofsale.png deleted file mode 100644 index 748ec41b1e6..00000000000 Binary files a/htdocs/theme/auguria/img/menus/pointofsale.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/products.png b/htdocs/theme/auguria/img/menus/products.png deleted file mode 100644 index 6f5f45269ee..00000000000 Binary files a/htdocs/theme/auguria/img/menus/products.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/project.png b/htdocs/theme/auguria/img/menus/project.png deleted file mode 100644 index 882235d2cd3..00000000000 Binary files a/htdocs/theme/auguria/img/menus/project.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/table_bg.gif b/htdocs/theme/auguria/img/menus/table_bg.gif deleted file mode 100644 index bd6bf5c1036..00000000000 Binary files a/htdocs/theme/auguria/img/menus/table_bg.gif and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/tools.png b/htdocs/theme/auguria/img/menus/tools.png deleted file mode 100644 index c053f660ebf..00000000000 Binary files a/htdocs/theme/auguria/img/menus/tools.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/topmenu_bg.png b/htdocs/theme/auguria/img/menus/topmenu_bg.png deleted file mode 100644 index da240b012c7..00000000000 Binary files a/htdocs/theme/auguria/img/menus/topmenu_bg.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/topmenu_bg_over.gif b/htdocs/theme/auguria/img/menus/topmenu_bg_over.gif deleted file mode 100644 index 2d03af87e67..00000000000 Binary files a/htdocs/theme/auguria/img/menus/topmenu_bg_over.gif and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/topmenu_left.gif b/htdocs/theme/auguria/img/menus/topmenu_left.gif deleted file mode 100644 index 0f08aa2a2a7..00000000000 Binary files a/htdocs/theme/auguria/img/menus/topmenu_left.gif and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/topmenu_right.png b/htdocs/theme/auguria/img/menus/topmenu_right.png deleted file mode 100644 index cd14ff61bbc..00000000000 Binary files a/htdocs/theme/auguria/img/menus/topmenu_right.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/toppath.gif b/htdocs/theme/auguria/img/menus/toppath.gif deleted file mode 100644 index 2180d924dee..00000000000 Binary files a/htdocs/theme/auguria/img/menus/toppath.gif and /dev/null differ diff --git a/htdocs/theme/auguria/img/menus/trtitle.png b/htdocs/theme/auguria/img/menus/trtitle.png deleted file mode 100644 index 29b694864e5..00000000000 Binary files a/htdocs/theme/auguria/img/menus/trtitle.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/money.png b/htdocs/theme/auguria/img/money.png deleted file mode 100644 index 50166e0f74b..00000000000 Binary files a/htdocs/theme/auguria/img/money.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/object_accounting.png b/htdocs/theme/auguria/img/object_accounting.png deleted file mode 100644 index b5600221f02..00000000000 Binary files a/htdocs/theme/auguria/img/object_accounting.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/object_action.png b/htdocs/theme/auguria/img/object_action.png deleted file mode 100644 index 001b0cf9b76..00000000000 Binary files a/htdocs/theme/auguria/img/object_action.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/object_action_rdv.png b/htdocs/theme/auguria/img/object_action_rdv.png deleted file mode 100644 index 25edfa85b45..00000000000 Binary files a/htdocs/theme/auguria/img/object_action_rdv.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/object_address.png b/htdocs/theme/auguria/img/object_address.png deleted file mode 100644 index a4b878966dc..00000000000 Binary files a/htdocs/theme/auguria/img/object_address.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/object_bookmark.png b/htdocs/theme/auguria/img/object_bookmark.png deleted file mode 100644 index 86d1a0dfa52..00000000000 Binary files a/htdocs/theme/auguria/img/object_bookmark.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/object_cron.png b/htdocs/theme/auguria/img/object_cron.png deleted file mode 100644 index 6186d18da70..00000000000 Binary files a/htdocs/theme/auguria/img/object_cron.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/object_gravatar.png b/htdocs/theme/auguria/img/object_gravatar.png deleted file mode 100644 index 42bccdc4339..00000000000 Binary files a/htdocs/theme/auguria/img/object_gravatar.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/object_holiday.png b/htdocs/theme/auguria/img/object_holiday.png deleted file mode 100644 index fdc1dd8e22b..00000000000 Binary files a/htdocs/theme/auguria/img/object_holiday.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/object_opensurvey.png b/htdocs/theme/auguria/img/object_opensurvey.png deleted file mode 100644 index b5de3223bd4..00000000000 Binary files a/htdocs/theme/auguria/img/object_opensurvey.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/object_phoning.png b/htdocs/theme/auguria/img/object_phoning.png deleted file mode 100644 index 36cdcc8d4a2..00000000000 Binary files a/htdocs/theme/auguria/img/object_phoning.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/object_phoning_fax.png b/htdocs/theme/auguria/img/object_phoning_fax.png deleted file mode 100644 index 36cdcc8d4a2..00000000000 Binary files a/htdocs/theme/auguria/img/object_phoning_fax.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/object_resource.png b/htdocs/theme/auguria/img/object_resource.png deleted file mode 100644 index 8cda1f3f220..00000000000 Binary files a/htdocs/theme/auguria/img/object_resource.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/object_skype.png b/htdocs/theme/auguria/img/object_skype.png deleted file mode 100644 index b209cd8d16e..00000000000 Binary files a/htdocs/theme/auguria/img/object_skype.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/play.png b/htdocs/theme/auguria/img/play.png deleted file mode 100644 index 4922ea1ec12..00000000000 Binary files a/htdocs/theme/auguria/img/play.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/setup.png b/htdocs/theme/auguria/img/setup.png deleted file mode 100644 index ca5f28b1d17..00000000000 Binary files a/htdocs/theme/auguria/img/setup.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/sort_asc.png b/htdocs/theme/auguria/img/sort_asc.png deleted file mode 100644 index e327d952fa4..00000000000 Binary files a/htdocs/theme/auguria/img/sort_asc.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/sort_asc_disabled.png b/htdocs/theme/auguria/img/sort_asc_disabled.png deleted file mode 100644 index e327d952fa4..00000000000 Binary files a/htdocs/theme/auguria/img/sort_asc_disabled.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/sort_desc.png b/htdocs/theme/auguria/img/sort_desc.png deleted file mode 100644 index db99fd9ad47..00000000000 Binary files a/htdocs/theme/auguria/img/sort_desc.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/sort_desc_disabled.png b/htdocs/theme/auguria/img/sort_desc_disabled.png deleted file mode 100644 index 89051c2f34f..00000000000 Binary files a/htdocs/theme/auguria/img/sort_desc_disabled.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/stcomm-1.png b/htdocs/theme/auguria/img/stcomm-1.png deleted file mode 100644 index 2e3f98bb6fd..00000000000 Binary files a/htdocs/theme/auguria/img/stcomm-1.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/stcomm0.png b/htdocs/theme/auguria/img/stcomm0.png deleted file mode 100644 index b6c11d4569a..00000000000 Binary files a/htdocs/theme/auguria/img/stcomm0.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/switch_off.png b/htdocs/theme/auguria/img/switch_off.png deleted file mode 100644 index 28a4376fb43..00000000000 Binary files a/htdocs/theme/auguria/img/switch_off.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/switch_on.png b/htdocs/theme/auguria/img/switch_on.png deleted file mode 100644 index d4e32d98f57..00000000000 Binary files a/htdocs/theme/auguria/img/switch_on.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/tab_background.png b/htdocs/theme/auguria/img/tab_background.png deleted file mode 100644 index 6edd65003e0..00000000000 Binary files a/htdocs/theme/auguria/img/tab_background.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/title_accountancy.png b/htdocs/theme/auguria/img/title_accountancy.png deleted file mode 100644 index 6e7c2a412c6..00000000000 Binary files a/htdocs/theme/auguria/img/title_accountancy.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/title_bank.png b/htdocs/theme/auguria/img/title_bank.png deleted file mode 100644 index 034a8d0c5e4..00000000000 Binary files a/htdocs/theme/auguria/img/title_bank.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/title_commercial.png b/htdocs/theme/auguria/img/title_commercial.png deleted file mode 100644 index 46394177698..00000000000 Binary files a/htdocs/theme/auguria/img/title_commercial.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/title_companies.png b/htdocs/theme/auguria/img/title_companies.png deleted file mode 100644 index b2539dba849..00000000000 Binary files a/htdocs/theme/auguria/img/title_companies.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/title_generic.png b/htdocs/theme/auguria/img/title_generic.png deleted file mode 100644 index ae224327549..00000000000 Binary files a/htdocs/theme/auguria/img/title_generic.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/title_home.png b/htdocs/theme/auguria/img/title_home.png deleted file mode 100644 index e9273e727f5..00000000000 Binary files a/htdocs/theme/auguria/img/title_home.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/title_products.png b/htdocs/theme/auguria/img/title_products.png deleted file mode 100644 index d3c5b125bbe..00000000000 Binary files a/htdocs/theme/auguria/img/title_products.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/title_project.png b/htdocs/theme/auguria/img/title_project.png deleted file mode 100644 index 05d8ea630b8..00000000000 Binary files a/htdocs/theme/auguria/img/title_project.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/title_setup.png b/htdocs/theme/auguria/img/title_setup.png deleted file mode 100644 index d7548d28709..00000000000 Binary files a/htdocs/theme/auguria/img/title_setup.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/tmenu.jpg b/htdocs/theme/auguria/img/tmenu.jpg deleted file mode 100644 index 4e51fef3fc7..00000000000 Binary files a/htdocs/theme/auguria/img/tmenu.jpg and /dev/null differ diff --git a/htdocs/theme/auguria/img/tmenu2.jpg b/htdocs/theme/auguria/img/tmenu2.jpg deleted file mode 100644 index 920e0066341..00000000000 Binary files a/htdocs/theme/auguria/img/tmenu2.jpg and /dev/null differ diff --git a/htdocs/theme/auguria/img/warning.png b/htdocs/theme/auguria/img/warning.png deleted file mode 100644 index f1b93b8cc82..00000000000 Binary files a/htdocs/theme/auguria/img/warning.png and /dev/null differ diff --git a/htdocs/theme/auguria/img/working.gif b/htdocs/theme/auguria/img/working.gif deleted file mode 100644 index 1e421c3113f..00000000000 Binary files a/htdocs/theme/auguria/img/working.gif and /dev/null differ diff --git a/htdocs/theme/auguria/index.html b/htdocs/theme/auguria/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/auguria/style.css.php b/htdocs/theme/auguria/style.css.php deleted file mode 100644 index d1dd0ab4091..00000000000 --- a/htdocs/theme/auguria/style.css.php +++ /dev/null @@ -1,2688 +0,0 @@ - - * Copyright (C) 2006 Rodolphe Quiedeville - * Copyright (C) 2007-2011 Regis Houssin - * Copyright (C) 2012 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/theme/auguria/style.css.php - * \brief File for CSS style sheet Auguria - */ - -//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled cause need to load personalized language -//if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); // Not disabled to increase speed. Language code is found on url. -if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); -//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); // Not disabled cause need to do translations -if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK',1); -if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL',1); -if (! defined('NOLOGIN')) define('NOLOGIN',1); -if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU',1); -if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML',1); -if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); - -session_cache_limiter(FALSE); - -require_once '../../main.inc.php'; - -// Load user to have $user->conf loaded (not done into main because of NOLOGIN constant defined) -if (empty($user->id) && ! empty($_SESSION['dol_login'])) $user->fetch('',$_SESSION['dol_login']); - - -// Define css type -header('Content-type: text/css'); -// Important: Following code is to avoid page request by browser and PHP CPU at each Dolibarr page access. -if (empty($dolibarr_nocache)) header('Cache-Control: max-age=3600, public, must-revalidate'); -else header('Cache-Control: no-cache'); - -// On the fly GZIP compression for all pages (if browser support it). Must set the bit 3 of constant to 1. -if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x04)) { ob_start("ob_gzhandler"); } - -if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang')); // If language was forced on URL -if (GETPOST('theme')) $conf->theme=GETPOST('theme'); // If theme was forced on URL -$langs->load("main",0,1); -$right=($langs->trans("DIRECTION")=='rtl'?'left':'right'); -$left=($langs->trans("DIRECTION")=='rtl'?'right':'left'); - -$path=''; // This value may be used in future for external module to overwrite theme -$theme='auguria'; // Value of theme -if (! empty($conf->global->MAIN_OVERWRITE_THEME_RES)) { $path='/'.$conf->global->MAIN_OVERWRITE_THEME_RES; $theme=$conf->global->MAIN_OVERWRITE_THEME_RES; } - -// Define image path files and other constants -$fontlist='arial,tahoma,verdana,helvetica'; //$fontlist='Verdana,Helvetica,Arial,sans-serif'; -$img_liste_titre=dol_buildpath($path.'/theme/'.$theme.'/img/menus/trtitle.png',1); -$img_head=''; -$img_button=dol_buildpath($path.'/theme/'.$theme.'/img/button_bg.png',1); -$dol_hide_topmenu=$conf->dol_hide_topmenu; -$dol_hide_leftmenu=$conf->dol_hide_leftmenu; -$dol_optimize_smallscreen=$conf->dol_optimize_smallscreen; -$dol_no_mouse_hover=$conf->dol_no_mouse_hover; -$dol_use_jmobile=$conf->dol_use_jmobile; - -$colorbacklineimpairhover='210,214,217'; -$colorbacklinepairhover='210,214,217'; -$fontsize='12'; -$fontsizesmaller='11'; - -// No hover by default, we keep only if we set var THEME_ELDY_USE_HOVER -if ((! empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) && empty($user->conf->THEME_ELDY_USE_HOVER)) - || (empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) && empty($conf->global->THEME_ELDY_USE_HOVER))) -{ - $colorbacklineimpairhover=''; - $colorbacklinepairhover=''; -} - -$colorshadowtitle='000'; - -$usecss3=true; -if ($conf->browser->name == 'ie' && round($conf->browser->version,2) < 10) $usecss3=false; -elseif ($conf->browser->name == 'iceweasel') $usecss3=false; -elseif ($conf->browser->name == 'epiphany') $usecss3=false; - -print '/*'."\n"; -print 'colorbacklineimpairhover='.$colorbacklineimpairhover."\n"; -print 'colorbacklinepairhover='.$colorbacklinepairhover."\n"; -print '*/'."\n"; - -if (! empty($conf->dol_optimize_smallscreen)) $fontsize=11; -?> - -/* ============================================================================== */ -/* Styles par defaut */ -/* ============================================================================== */ - -body { - - background-color: #FFFFFF; - - background-color: #FCFCFC; - - color: #101010; - font-size: px; - font-family: ; - margin-top: 0; - margin-bottom: 0; - margin-right: 0; - margin-left: 0; - trans("DIRECTION").";\n"; ?> -} - -a:link, a:visited, a:hover, a:active { font-family: ; font-weight: bold; color: #000000; text-decoration: none; } - - - -input:focus, textarea:focus, button:focus, select:focus { - box-shadow: 0 0 4px #8091BF; -} - -input, input.flat, textarea, textarea.flat, form.flat select, select.flat { - font-size: px; - font-family: ; - background: #FDFDFD; - border: 1px solid #ACBCBB; - padding: 1px 1px 1px 1px; - margin: 0px 0px 0px 0px; -} - - - -select.flat, form.flat select { - font-weight: normal; -} -input:disabled { - background:#ddd; -} -textarea:disabled { - background:#ddd; -} -input[type=checkbox] { background-color: transparent; border: none; box-shadow: none; } -input[type=radio] { background-color: transparent; border: none; box-shadow: none; } -input[type=image] { background-color: transparent; border: none; box-shadow: none; } -input[type=text] { min-width: 20px; } -input:-webkit-autofill { - background-color: !important; - background-image:none !important; - -webkit-box-shadow: 0 0 0 50px inset; -} -::-webkit-input-placeholder { color:#ccc; } -::-moz-placeholder { color:#ccc; } /* firefox 19+ */ -:-ms-input-placeholder { color:#ccc; } /* ie */ -input:-moz-placeholder { color:#ccc; } - - -legend { margin-bottom: 8px; } - -.button { - font-family: ; - border: 1px solid #ACBCBB; -/* border: 0px; */ - background-image: url(); - background-position: bottom; - padding: 0px 2px 0px 2px; - margin: 0px 0px 0px 0px; -} -.button:focus { - font-family: ; - color: #222244; - border: 1px solid #ACBCBB; -/* border: 0px; */ - background-image: url(); - background-position: bottom; - padding: 0px 2px 0px 2px; - margin: 0px 0px 0px 0px; -} -.button:disabled { - opacity: 0.4; - filter: alpha(opacity=40); /* For IE8 and earlier */ - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - cursor: auto; -} -.buttonRefused { - pointer-events: none; - cursor: default; - opacity: 0.4; - filter: alpha(opacity=40); /* For IE8 and earlier */ - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; -} -form { - padding: 0em 0em 0em 0em; - margin: 0em 0em 0em 0em; -} -div.float -{ - float:; -} -div.floatright -{ - float:; -} -.inline-block -{ - display:inline-block; -} - -.valignmiddle { - vertical-align: middle; -} -.centpercent { - width: 100%; -} -.center { - text-align: center; -} -.left { - text-align: ; -} -.right { - text-align: ; -} -.nowrap { - white-space: ; -} -.nobold { - font-weight: normal !important; -} -.nounderline { - text-decoration: none; -} -.cursorpointer { - cursor: pointer; -} -.badge { - display: inline-block; - min-width: 10px; - padding: 2px 5px; - font-size: 10px; - font-weight: 700; - line-height: 0.9em; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - background-color: #777; - border-radius: 10px; -} - - -/* ============================================================================== */ -/* Styles to hide objects */ -/* ============================================================================== */ - -.hideobject { display: none; } - -.hideonsmartphone { display: none; } -.noenlargeonsmartphone { width : 50px !important; display: inline !important; } -.maxwidthonsmartphone { max-width: 100px; } -.maxwidth200onsmartphone { max-width: 200px; } - -.linkobject { cursor: pointer; } - -.hideonprint { display: none !important; } - - - -/* ============================================================================== */ -/* Styles for dragging lines */ -/* ============================================================================== */ - -.dragClass { - color: #002255; -} -td.showDragHandle { - cursor: move; -} -.tdlineupdown { - white-space: nowrap; - min-width: 10px; -} - - -/* ============================================================================== */ -/* Styles de positionnement des zones */ -/* ============================================================================== */ - -#id-container { - display: table; - table-layout: fixed; - margin-top: 6px; - margin-bottom: 6px; -} -#id-right, #id-left { - display: table-cell; - float: none; - vertical-align: top; -} -#id- { - width: 100%; -} - -div.fiche { - margin-: dol_optimize_smallscreen)?'10':'2'; ?>px; - margin-: dol_optimize_smallscreen)?'8':''; ?>px; -} - -div.fichecenter { - width: 100%; - clear: both; /* This is to have div fichecenter that are true rectangles */ -} -div.fichethirdleft { - dol_optimize_smallscreen)) { print "float: ".$left.";\n"; } ?> - dol_optimize_smallscreen)) { print "width: 35%;\n"; } ?> -} -div.fichetwothirdright { - dol_optimize_smallscreen)) { print "float: ".$left.";\n"; } ?> - dol_optimize_smallscreen)) { print "width: 65%;\n"; } ?> -} -div.fichehalfleft { - dol_optimize_smallscreen)) { print "float: ".$left.";\n"; } ?> - dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?> -} -div.fichehalfright { - dol_optimize_smallscreen)) { print "float: ".$left.";\n"; } ?> - dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?> -} -div.ficheaddleft { - dol_optimize_smallscreen)) { print "padding-left: 16px;\n"; } - else print "margin-top: 10px;\n"; ?> -} - - -/* ============================================================================== */ -/* Menu top et 1ere ligne tableau */ -/* ============================================================================== */ - -dol_optimize_smallscreen)) -{ - $minwidthtmenu=70; - $heightmenu=39; -} -else -{ - $minwidthtmenu=70; - $heightmenu=39; -} -?> - -div#tmenu_tooltip { - padding-right: 100px; -} - -div.tmenu { - - display:none; - - position: relative; - display: block; - white-space: nowrap; - border-top: 0px solid #D3E5EC; - border-: 0px; - border-: 0px solid #555555; - border-bottom: 1px solid #ABB9B9; - padding: 0px 0px 0px 0px; /* t r b l */ - margin: 0px 0px 2px 0px; /* t r b l */ - font-weight: normal; - height: px; - background: #7FAEC6; - background-image: url(); - color: #000000; - text-decoration: none; - -} - - - -/* -div.mainmenu { - position : relative; - color: white; - background-repeat:no-repeat; - background-position:center top; - height: px; - margin-left: 0px; -} -*/ - - -/* Do not load menu img if hidden to save bandwidth */ -'name of class for div') - -$moduletomainmenu=array('user'=>'','syslog'=>'','societe'=>'companies','projet'=>'project','propale'=>'commercial','commande'=>'commercial', - 'produit'=>'products','service'=>'products','stock'=>'products', - 'don'=>'accountancy','tax'=>'accountancy','banque'=>'accountancy','facture'=>'accountancy','compta'=>'accountancy','accounting'=>'accountancy','adherent'=>'members','import'=>'tools','export'=>'tools','mailing'=>'tools', - 'contrat'=>'commercial','ficheinter'=>'commercial','deplacement'=>'commercial', - 'fournisseur'=>'companies', - 'barcode'=>'','fckeditor'=>'','categorie'=>'', -); -$mainmenuused='home'; -foreach($conf->modules as $val) -{ - $mainmenuused.=','.(isset($moduletomainmenu[$val])?$moduletomainmenu[$val]:$val); -} -//var_dump($mainmenuused); -$mainmenuusedarray=array_unique(explode(',',$mainmenuused)); - -$mainmenuusedarray=array(); // Disable - -$generic=1; -$divalreadydefined=array('home','companies','products','commercial','accountancy','project','tools','members','agenda','ecm','cashdesk'); -foreach($mainmenuusedarray as $val) -{ - if (empty($val) || in_array($val,$divalreadydefined)) continue; - //print "XXX".$val; - - // Search img file in module dir - $found=0; $url=''; - foreach($conf->file->dol_document_root as $dirroot) - { - if (file_exists($dirroot."/".$val."/img/".$val.".png")) - { - $url=dol_buildpath($path.'/'.$val.'/img/'.$val.'.png',1); - $found=1; - break; - } - } - // Img file not found - if (! $found && $generic <= 4) - { - $url=dol_buildpath($path.'/theme/'.$theme.'/img/menus/generic'.$generic.".png",1); - $found=1; - $generic++; - } - if ($found) - { - print "/* A mainmenu entry but img file ".$val.".png not found (check /".$val."/img/".$val.".png), so we use a generic one */\n"; - print "div.mainmenu.".$val." {\n"; - print " background-image: url(".$url.");\n"; - print " height:28px;\n"; - print "}\n"; - } -} -// End of part to add more div class css -?> - - - -.tmenu{ - position:relative; - font-size: 10px; /* To reduce to have more entries */ - font-family:Tahoma,sans-serif; - text-transform:uppercase; - background: url() repeat-x bottom left; -} - -.tmenu ul{ - margin: 0 10px 0 0; /* t r b l */ - padding:0; - list-style-type:none; - width:auto; /* Having 100% instead of auto works on IE but IE fails to down main content, so we forget IE and use best value for Firefox */ -} - -.tmenu ul li{ - display:block; - float: ; - margin:0 1px; - padding-left: 0px; - padding-right: 0px; -} - -.tmenu ul li a{ - display:block; - float: ; - color:#EAF3F8; - text-decoration:none; - padding:0 0 0 8px; - height:33px; -} - -.tmenu ul li a span{ - padding:12px 8px 0 0; - height:21px; - float: ; -} - -.tmenu ul li a:hover{ - color:#fff; - background:transparent url() repeat-x bottom left; -} - -.tmenu ul li a:hover span{ - display:block; - width:auto; - cursor:pointer; -} - -.tmenu ul li a.tmenusel{ - color:#fff; - background: url() no-repeat top left; - line-height:305%; -} - -.tmenu ul li a.tmenusel span{ - display:block; - padding:4px 8px 0 0; - width:auto; - background: url() no-repeat top right; - height:33px; -} - -.tmenudisabled { - color: #D0D0D0 !important; -} - -.tmenuimage { - padding:0 0 0 0 !important; - margin:0 0px 0 0 !important; -} - -/* --- end nav --- */ - - - - -/* Login */ - -form#login { - margin-top: px; - margin-bottom: 30px; - font-size: 13px; -} -.login_table_title { - max-width: 540px; - color: #888888; - text-shadow: 1px 1px 1px #FFF; -} -.login_table label { - text-shadow: 1px 1px 1px #FFF; -} -.login_table { - padding:12px; - margin-left: 10px; - margin-right: 10px; - max-width: 540px; - border: 1px solid #C0C0C0; - background-color: #E0E0E0; - - -moz-box-shadow: 4px 4px 4px #CCC; - -webkit-box-shadow: 4px 4px 4px #CCC; - box-shadow: 4px 4px 4px #CCC; - - border-radius: 12px; - border:solid 1px rgba(168,168,168,.4); - border-top:solid 1px f8f8f8; - background-color: #f8f8f8; - background-image: -o-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); - background-image: -moz-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); - background-image: -webkit-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); - background-image: -ms-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); - background-image: linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); -} -#securitycode { - min-width: 60px; -} -#img_securitycode { - border: 1px solid #DDDDDD; -} -#img_logo { - max-width: 200px; - max-height: 100px; -} - -div.login_block { - width: 180px; - position: absolute; - : 5px; - top: 3px; - font-weight: bold; - - display: none; - -} - -div.login_block table { - display: inline; -} - -div#login_left, div#login_right { - display: inline-block; - min-width: 220px; - text-align: center; - vertical-align: middle; -} - -div.login { - white-space:nowrap; - padding: dol_optimize_smallscreen?'0':'8')?>px 0px 0px 0px; - margin: 0px 0px 0px 8px; - font-weight: bold; -} -div.login a { - color: #234046; -} -div.login a:hover { - color: black; - text-decoration:underline; -} -.login_block_user { - float: right; -} -.login_block_elem { - float: right; - vertical-align: top; - padding: 8px 0px 0px 4px !important; -} - -.alogin, .alogin:hover { - color: #888 !important; - font-weight: normal !important; - font-size: px !important; -} -.alogin:hover { - text-decoration:underline !important; -} - -img.login, img.printer, img.entity { - padding: 0px 0px 0px 0px; - text-decoration: none; - color: white; - font-weight: bold; -} - - -/* ============================================================================== */ -/* Menu gauche */ -/* ============================================================================== */ - -div.vmenu, td.vmenu { - margin-: 2px; - margin-: 2px; - padding: 0px; - padding-bottom: 0px; - width: 164px; -} - - -.vmenu { - display: none; -} - - -a.vmenu:link, a.vmenu:visited, a.vmenu:hover, a.vmenu:active { font-size:px; font-family: ; text-align: ; font-weight: normal; color: #FFFFFF; margin: 1px 1px 1px 5px; } -font.vmenudisabled { font-size:px; font-family: ; text-align: ; font-weight: normal; color: #D0D0D0; margin: 1px 1px 1px 5px; } -a.vmenu:hover { color: #CCDDEE; } - -a.vsmenu:link, a.vsmenu:visited, a.vsmenu:hover, a.vsmenu:active { font-size:px; font-family: ; text-align: ; font-weight: normal; color: #202020; } -font.vsmenudisabled { font-size:px; font-family: ; text-align: ; font-weight: normal; color: #93a5aa; } -a.vsmenu:hover { color: #556677; } -font.vsmenudisabledmargin { margin: 1px 1px 1px 5px; } - -a.help:link, a.help:visited, a.help:hover, a.help:active { font-size:px; font-family: ; text-align: ; font-weight: normal; } - - -div.blockvmenupair -{ - margin: 0px; - border-spacing: 0px; - padding: 0px; - width: 166px; - border : 0px solid #68ACCF; -} -div.blockvmenuimpair -{ - margin: 0px; - border-spacing: 0px; - padding: 0px; - width: 166px; - border : 0px solid #68ACCF; -} - -div.blockvmenuimpair form a.vmenu, div.blockvmenupair form a.vmenu -{ - width: 166px; - border-spacing: 0px; - color: #000000; - text-align:left; - text-decoration: none; - padding: 4px; - margin: 0px; - background: #FFFFFF; - margin-bottom: -12px; -} - -div.menu_titre -{ - background: url(); - padding: 0px; - padding-top:5px; - padding-left:0px; - margin-top: 8px; - margin: 0px; - height: 16px; - text-align: left; - font-size : 12px; - color : #FFFFFF; - font-weight: bold; -} - -div.blockvmenusearch -{ - margin: 3px 0px 2px 0px; - padding: 0px 0px 2px 2px; - border: 1px solid #c0c0d0; - width: 161px; - background: #DDDDDD !important; -} - -#blockvmenusearch div.menu_titre, #blockvmenusearch form -{ - padding-top: 1px; - padding-bottom: 1px; - background: #DDDDDD !important; - min-height: 16px; -} - -div.blockvmenubookmarks -{ - margin: 0px; - border-spacing: 0px; - padding: 0px; - width: 166px; - border : 0px solid #68ACCF; -} - -div.blockvmenuhelp -{ -dol_optimize_smallscreen)) { ?> - text-align: center; - border-spacing: 0px; - width: 162px; - background: transparent; - font-family: ; - color: #000000; - text-decoration: none; - padding-left: 0px; - padding-right: 1px; - padding-top: 3px; - padding-bottom: 3px; - margin: 1px 0px 0px 0px; - - display: none; - -} - -div.menu_contenu { - background: url(); - padding: 2px 1px 1px 3px; - margin: 0px; - font-size : 11px; - font-weight:normal; - color : #000000; - text-align: left; -} - -div.menu_end { - background: url(); -/* border-top: 1px solid #436981; */ - margin: 0px; - padding: 0px; - height: 6px; - width: 165px; - background-repeat:no-repeat; -} - - -td.barre { - border-right: 1px solid #000000; - border-bottom: 1px solid #000000; - background: #b3c5cc; - font-family: ; - color: #000000; - text-align: ; - text-decoration: none; -} - -td.barre_select { - background: #b3c5cc; - color: #000000; -} - -td.photo { - background: #F4F4F4; - color: #000000; - border: 1px solid #b3c5cc; -} - - -/* ============================================================================== */ -/* Panes for Main */ -/* ============================================================================== */ - -/* - * PANES and CONTENT-DIVs - */ - -#mainContent, #leftContent .ui-layout-pane { - padding: 0px; - overflow: auto; -} - -#mainContent, #leftContent .ui-layout-center { - padding: 0px; - position: relative; /* contain floated or positioned elements */ - overflow: auto; /* add scrolling to content-div */ -} - - -/* ============================================================================== */ -/* Toolbar for ECM or Filemanager */ -/* ============================================================================== */ - -.toolbar { - background-image: url(theme.'/img/tmenu2.jpg',1) ?>) !important; - background-repeat: repeat-x !important; - border: 1px solid #BBB !important; -} - -a.toolbarbutton { - margin-top: 1px; - margin-left: 4px; - margin-right: 4px; - height: 30px; -/* border: solid 1px #AAAAAA; - width: 32px; - background: #FFFFFF;*/ -} -img.toolbarbutton { - margin-top: 2px; - height: 28px; -} - -/* ============================================================================== */ -/* Panes for ECM or Filemanager */ -/* ============================================================================== */ - -#containerlayout .layout-with-no-border { - border: 0 !important; - border-width: 0 !important; -} - -#containerlayout .layout-padding { - padding: 2px !important; -} - -/* - * PANES and CONTENT-DIVs - */ -#containerlayout .ui-layout-pane { /* all 'panes' */ - background: #FFF; - border: 1px solid #BBB; - /* DO NOT add scrolling (or padding) to 'panes' that have a content-div, - otherwise you may get double-scrollbars - on the pane AND on the content-div - */ - padding: 0px; - overflow: auto; -} -/* (scrolling) content-div inside pane allows for fixed header(s) and/or footer(s) */ -#containerlayout .ui-layout-content { - padding: 10px; - position: relative; /* contain floated or positioned elements */ - overflow: auto; /* add scrolling to content-div */ -} - -/* - * RESIZER-BARS - */ -.ui-layout-resizer { /* all 'resizer-bars' */ - width: 8px !important; -} -.ui-layout-resizer-hover { /* affects both open and closed states */ -} -/* NOTE: It looks best when 'hover' and 'dragging' are set to the same color, - otherwise color shifts while dragging when bar can't keep up with mouse */ -/*.ui-layout-resizer-open-hover ,*/ /* hover-color to 'resize' */ -.ui-layout-resizer-dragging { /* resizer beging 'dragging' */ - background: #DDD; - width: 8px; -} -.ui-layout-resizer-dragging { /* CLONED resizer being dragged */ - border-left: 1px solid #BBB; - border-right: 1px solid #BBB; -} -/* NOTE: Add a 'dragging-limit' color to provide visual feedback when resizer hits min/max size limits */ -.ui-layout-resizer-dragging-limit { /* CLONED resizer at min or max size-limit */ - background: #E1A4A4; /* red */ -} -.ui-layout-resizer-closed:hover { - background-color: #EEDDDD; -} -.ui-layout-resizer-sliding { /* resizer when pane is 'slid open' */ - opacity: .10; /* show only a slight shadow */ - filter: alpha(opacity=10); - } - .ui-layout-resizer-sliding-hover { /* sliding resizer - hover */ - opacity: 1.00; /* on-hover, show the resizer-bar normally */ - filter: alpha(opacity=100); - } -/* sliding resizer - add 'outside-border' to resizer on-hover - * this sample illustrates how to target specific panes and states */ -.ui-layout-resizer-north-sliding-hover { border-bottom-width: 1px; } -.ui-layout-resizer-south-sliding-hover { border-top-width: 1px; } -.ui-layout-resizer-west-sliding-hover { border-right-width: 1px; } -.ui-layout-resizer-east-sliding-hover { border-left-width: 1px; } - -/* - * TOGGLER-BUTTONS - */ -.ui-layout-toggler { - border-top: 1px solid #AAA; /* match pane-border */ - border-right: 1px solid #AAA; /* match pane-border */ - border-bottom: 1px solid #AAA; /* match pane-border */ - background-color: #DDD; - top: 5px !important; - } -.ui-layout-toggler-open { - height: 48px !important; - width: 5px !important; - -moz-border-radius:0px 10px 10px 0px; - -webkit-border-radius:0px 10px 10px 0px; - border-radius:0px 10px 10px 0px; -} -.ui-layout-toggler-closed { - height: 48px !important; - width: 5px !important; - -moz-border-radius:0px 10px 10px 0px; - -webkit-border-radius:0px 10px 10px 0px; - border-radius:0px 10px 10px 0px; -} -.ui-layout-toggler .content { /* style the text we put INSIDE the togglers */ - color: #666; - font-size: 12px; - font-weight: bold; - width: 100%; - padding-bottom: 0.35ex; /* to 'vertically center' text inside text-span */ -} - -/* hide the toggler-button when the pane is 'slid open' */ -.ui-layout-resizer-sliding ui-layout-toggler { - display: none; -} - -.ui-layout-north { - height: dol_optimize_smallscreen)?'42':'42'); ?>px !important; -} - -/* ECM */ - -#containerlayout .ecm-layout-pane { /* all 'panes' */ - background: #FFF; - border: 1px solid #BBB; - /* DO NOT add scrolling (or padding) to 'panes' that have a content-div, - otherwise you may get double-scrollbars - on the pane AND on the content-div - */ - padding: 0px; - overflow: auto; -} -/* (scrolling) content-div inside pane allows for fixed header(s) and/or footer(s) */ -#containerlayout .ecm-layout-content { - padding: 10px; - position: relative; /* contain floated or positioned elements */ - overflow: auto; /* add scrolling to content-div */ -} - -.ecm-layout-toggler { - border-top: 1px solid #AAA; /* match pane-border */ - border-right: 1px solid #AAA; /* match pane-border */ - border-bottom: 1px solid #AAA; /* match pane-border */ - background-color: #CCC; - } -.ecm-layout-toggler-open { - height: 48px !important; - width: 6px !important; - -moz-border-radius:0px 10px 10px 0px; - -webkit-border-radius:0px 10px 10px 0px; - border-radius:0px 10px 10px 0px; -} -.ecm-layout-toggler-closed { - height: 48px !important; - width: 6px !important; -} -.ecm-layout-toggler .content { /* style the text we put INSIDE the togglers */ - color: #666; - font-size: 12px; - font-weight: bold; - width: 100%; - padding-bottom: 0.35ex; /* to 'vertically center' text inside text-span */ -} -#ecm-layout-west-resizer { - width: 6px !important; -} - -.ecm-layout-resizer { /* all 'resizer-bars' */ - border: 1px solid #BBB; - border-width: 0; - } - -.ecm-in-layout-center { - border-left: 1px !important; - border-right: 0px !important; - border-top: 0px !important; -} - -.ecm-in-layout-south { - border-left: 0px !important; - border-right: 0px !important; - border-bottom: 0px !important; - padding: 4px 0 4px 4px !important; -} - - - -/* ============================================================================== */ -/* Onglets */ -/* ============================================================================== */ - -div.tabs { - top: 20px; - margin: 1px 0px 0px 0px; - padding: 0px 6px 0px 0px; - text-align: ; -} - -div.tabBar { - color: #234046; - padding-top: 10px; - padding-left: 8px; - padding-right: 8px; - padding-bottom: 8px; - margin: 0px 0px 10px 0px; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - -moz-border-radius-bottomleft:6px; - -moz-border-radius-bottomright:6px; - border-right: 1px solid #555555; - border-bottom: 1px solid #555555; - border-left: 1px solid #D0D0D0; - border-top: 1px solid #D8D8D8; - background: #dee7ec url() repeat-x; -} - -div.tabsAction { - margin: 20px 0em 1px 0em; - padding: 0em 0em; - text-align: right; -} - - -a.tabTitle { - color: #888; - font-family: ; - font-weight: normal; - padding: 0px 6px; - margin: 0px 6px; - text-decoration: none; - white-space: nowrap; -} - -a.tab:link { - background: #dee7ec; - color: #436976; - font-family: ; - padding: 0px 6px; - margin: 0em 0.2em; - text-decoration: none; - white-space: nowrap; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - - border-: 1px solid #555555; - border-: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; -} -a.tab:visited { - background: #dee7ec; - color: #436976; - font-family: ; - padding: 0px 6px; - margin: 0em 0.2em; - text-decoration: none; - white-space: nowrap; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - - border-: 1px solid #555555; - border-: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; -} -div.tabs a.tab:active, .tabactive { - background: white !important; - border-bottom: #dee7ec 1px solid; - font-family: ; - color: #436976; - padding: 0px 6px; - margin: 0em 0.2em; - text-decoration: none; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - - border-: 1px solid #555555; - border-: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; - border-bottom: 1px solid white; -} -a.tab:hover { - background: white; - color: #436976; - font-family: ; - padding: 0px 6px; - margin: 0em 0.2em; - text-decoration: none; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - - border-: 1px solid #555555; - border-: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; -} - -a.tabimage { - color: #436976; - font-family: ; - text-decoration: none; - white-space: nowrap; -} - -td.tab { - background: #dee7ec; -} - -span.tabspan { - background: #dee7ec; - color: #436976; - font-family: ; - padding: 0px 6px; - margin: 0em 0.2em; - text-decoration: none; - white-space: nowrap; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - - border-: 1px solid #555555; - border-: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; -} - -/* ============================================================================== */ -/* Boutons actions */ -/* ============================================================================== */ - -div.divButAction { margin-bottom: 1.4em; } - -.butAction, .butAction:link, .butAction:visited, .butAction:hover, .butAction:active, .butActionDelete, .butActionDelete:link, .butActionDelete:visited, .butActionDelete:hover, .butActionDelete:active { - font-family: ; - font-weight: bold; - background: white; - border: 1px solid #8CACBB; - color: #436976; - padding: 0em 0.7em; - margin: 0em 0.5em; - text-decoration: none; - white-space: nowrap; -} - -.butAction:hover { - background: #dee7ec; -} - -.butActionDelete, .butActionDelete:link, .butActionDelete:visited, .butActionDelete:hover, .butActionDelete:active { - border: 1px solid #997777; -} - -.butActionDelete:hover { - background: #FFe7ec; -} - -.butActionRefused { - font-family: !important; - font-weight: bold !important; - background: white !important; - border: 1px solid #AAAAAA !important; - color: #AAAAAA !important; - padding: 0em 0.7em !important; - margin: 0em 0.5em !important; - text-decoration: none !important; - white-space: nowrap !important; - cursor: not-allowed; -} - -global->MAIN_BUTTON_HIDE_UNAUTHORIZED)) { ?> -.butActionRefused { - display: none; -} - - -span.butAction, span.butActionDelete { - cursor: pointer; -} - -/* ============================================================================== */ -/* Tables */ -/* ============================================================================== */ - -.allwidth { - width: 100%; -} - -#undertopmenu { - margin-top: 4px; -} -/* -#undertopmenu { -background-image: url(""); -background-repeat: repeat-x; -} -*/ - - -.paddingrightonly { - border-collapse: collapse; - border: 0px; - margin-left: 0px; - padding-: 0px !important; - padding-: 4px !important; -} -.nocellnopadd { -list-style-type:none; -margin: 0px; -padding: 0px; -} - -.notopnoleft { -border-collapse: collapse; -border: 0px; -padding-top: 0px; -padding-: 0px; -padding-: 10px; -padding-bottom: 4px; -margin: 0px 0px; -} -.notopnoleftnoright { -border-collapse: collapse; -border: 0px; -padding-top: 0px; -padding-left: 0px; -padding-right: 0px; -padding-bottom: 4px; -margin: 0px 0px 0px 0px; -} - - -table.border, table.dataTable, .table-border, .table-border-col, .table-key-border-col, .table-val-border-col, div.border { - border: 1px solid #9CACBB; - border-collapse: collapse; - padding: 1px 2px 2px 1px; /* t r b l */ -} - -table.border td, div.border div div.tagtd { - padding: 1px 2px; - border: 1px solid #9CACBB; - border-collapse: collapse; -} - -td.border, div.tagtable div div.border { - border-top: 1px solid #000000; - border-right: 1px solid #000000; - border-bottom: 1px solid #000000; - border-left: 1px solid #000000; -} - -.table-key-border-col { - width: 25%; - vertical-align:top; -} -.table-val-border-col { - width:auto; -} - -/* Main boxes */ - -table.noborder, div.noborder { - border-collapse: collapse; - border-top-color: #FEFEFE; - - border-right-width: 1px; - border-right-color: #BBBBBB; - border-right-style: solid; - - border-left-width: 1px; - border-left-color: #BBBBBB; - border-left-style: solid; - - border-bottom-width: 1px; - border-bottom-color: #BBBBBB; - border-bottom-style: solid; - - margin-left: 1px; - margin-right: 1px; - margin-bottom: 2px; - margin-top: 0px; - - -moz-box-shadow: 4px 4px 4px #CCC; - -webkit-box-shadow: 4px 4px 4px #CCC; - box-shadow: 4px 4px 4px #CCC; -} - -table.noborder tr, div.noborder form { - border-top-color: #FEFEFE; - - border-right-width: 1px; - border-right-color: #BBBBBB; - border-right-style: solid; - - border-left-width: 1px; - border-left-color: #BBBBBB; - border-left-style: solid; - height: 20px; -} - -table.noborder td, div.noborder form div { - padding: 1px 2px 2px 1px; /* t r b l */ -} - -table.nobordernopadding { -border-collapse: collapse; -border: 0px; -} -table.nobordernopadding tr { -border: 0px; -padding: 0px 0px; -} -table.nobordernopadding td { -border: 0px; -padding: 0px 0px; -} - -/* For lists */ - -table.liste { - width: 100%; - border-collapse: collapse; - border-top-color: #FEFEFE; - - border-left-width: 1px; - border-left-color: #BBBBBB; - border-left-style: solid; - - border-right-width: 1px; - border-right-color: #BBBBBB; - border-right-style: solid; - - border-bottom-width: 1px; - border-bottom-color: #BBBBBB; - border-bottom-style: solid; - - margin-bottom: 2px; - margin-top: 0px; - - -moz-box-shadow: 4px 4px 4px #CCC; - -webkit-box-shadow: 4px 4px 4px #CCC; - box-shadow: 4px 4px 4px #CCC; -} -table.liste td { - padding-right: 2px; -} - -.tagtable, .table-border { display: table; } -.tagtr, .table-border-row { display: table-row; } -.tagtd, .table-border-col, .table-key-border-col, .table-val-border-col { display: table-cell; } - -/* Pagination */ -div.refidpadding { - padding-top: dol_use_jmobile)?'8':'12'; ?>px; -} -div.refid { - padding-top: dol_use_jmobile)?'6':'12'; ?>px; - font-weight: bold; - color: #666; - font-size: 120%; -} - -div.pagination { - float: right; -} -div.pagination a { - font-weight: normal; -} -div.pagination ul -{ - list-style: none; - display: inline-block; - padding-left: 0px; - padding-right: 0px; - margin: 0; -} -div.pagination li { - display: inline-block; - padding-left: 0px; - padding-right: 0px; - padding-top: 6px; - padding-bottom: 6px; -} -.pagination { - display: inline-block; - padding-left: 0; - border-radius: 4px; -} - -div.pagination li a, -div.pagination li span { - /*position: relative;*/ - /*float: left;*/ - padding: 6px 12px; - margin-left: -1px; - line-height: 1.42857143; - color: #000; - text-decoration: none; - background-color: #fff; - border: 1px solid #ddd; -} -div.pagination li:first-child a, -div.pagination li:first-child span { - margin-left: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} -div.pagination li:last-child a, -div.pagination li:last-child span { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} -div.pagination li a:hover, -div.pagination li span:hover, -div.pagination li a:focus, -div.pagination li span:focus { - color: #000; - background-color: #eee; - border-color: #ddd; -} -div.pagination li .active a, -div.pagination li .active span, -div.pagination li .active a:hover, -div.pagination li .active span:hover, -div.pagination li .active a:focus, -div.pagination li .active span:focus { - z-index: 2; - color: #fff; - cursor: default; - background-color: ; - border-color: #337ab7; -} -div.pagination .disabled span, -div.pagination .disabled span:hover, -div.pagination .disabled span:focus, -div.pagination .disabled a, -div.pagination .disabled a:hover, -div.pagination .disabled a:focus { - color: #777; - cursor: not-allowed; - background-color: #fff; - border-color: #ddd; -} -div.pagination li .active { - text-decoration: underline; -} -div.pagination li.paginationafterarrows { - margin-left: 10px; -} - -tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.liste_titre_sel -{ - height: 24px; -} -div.liste_titre, tr.liste_titre, form.liste_titre -{ - - background: #82c6f9; - background-image: -o-linear-gradient(bottom, rgba(100,100,100,0.3) 0%, rgba(150,150,150,0.3) 100%); - background-image: -moz-linear-gradient(bottom, rgba(100,100,100,0.3) 0%, rgba(150,150,150,0.3) 100%); - background-image: -webkit-linear-gradient(bottom, rgba(100,100,100,0.3) 0%, rgba(1,150,150,0.3) 100%); - background-image: -ms-linear-gradient(bottom, rgba(100,100,100,0.3) 0%, rgba(150,150,150,0.3) 100%); - background-image: linear-gradient(bottom, rgba(1,100,100,0.3) 0%, rgba(150,150,150,0.3) 100%); - font-weight: bold; - border-top: 1px solid; - border-top-color: #57a0c9 !important; - border-bottom: 1px solid; - border-bottom-color: #57a0c9 !important; - - background: #82c6e9; - background-image: url(); - - background-repeat: repeat-x; - color: #FFFFFF; - font-family: ; - /* border-bottom: 1px solid #FDFFFF; */ - text-align: ; -} -th.liste_titre, td.liste_titre -{ - - background: #82c6f9; - background-image: -o-linear-gradient(bottom, rgba(100,100,100,0.3) 0%, rgba(150,150,150,0.3) 100%); - background-image: -moz-linear-gradient(bottom, rgba(100,100,100,0.3) 0%, rgba(150,150,150,0.3) 100%); - background-image: -webkit-linear-gradient(bottom, rgba(100,100,100,0.3) 0%, rgba(1,150,150,0.3) 100%); - background-image: -ms-linear-gradient(bottom, rgba(100,100,100,0.3) 0%, rgba(150,150,150,0.3) 100%); - background-image: linear-gradient(bottom, rgba(1,100,100,0.3) 0%, rgba(150,150,150,0.3) 100%); - font-weight: bold; - border-top: 1px solid #57a0c9; - border-bottom: 1px solid #57a0c9; - - background: #82c6e9; - background-image: url(); - - background-repeat: repeat-x; - font-family: ; - font-weight: normal; - /* border-bottom: 1px solid #FDFFFF; */ - white-space: nowrap; -} -th.liste_titre, td.liste_titre, th.liste_titre a, td.liste_titre a -{ - color: #FFFFFF !important; -} -th.liste_titre_sel, td.liste_titre_sel -{ - - background: #82c6f9; - background-image: -o-linear-gradient(bottom, rgba(100,100,100,0.3) 0%, rgba(150,150,150,0.3) 100%); - background-image: -moz-linear-gradient(bottom, rgba(100,100,100,0.3) 0%, rgba(150,150,150,0.3) 100%); - background-image: -webkit-linear-gradient(bottom, rgba(100,100,100,0.3) 0%, rgba(1,150,150,0.3) 100%); - background-image: -ms-linear-gradient(bottom, rgba(100,100,100,0.3) 0%, rgba(150,150,150,0.3) 100%); - background-image: linear-gradient(bottom, rgba(1,100,100,0.3) 0%, rgba(150,150,150,0.3) 100%); - font-weight: bold; - border-top: 1px solid #57a0c9; - border-bottom: 1px solid #57a0c9; - - background: #82c6e9; - background-image: url(); - - background-repeat: repeat-x; - font-family: ; - font-weight: normal; - /* text-decoration: underline; */ - /* border-bottom: 1px solid #FDFFFF; */ - white-space: nowrap; -} -th.liste_titre_sel, td.liste_titre_sel, th.liste_titre_sel a, td.liste_titre_sel a -{ - color: #FFFFFF !important; -} -input.liste_titre { - background: transparent; - background-repeat: repeat-x; - border: 0px; -} - -tr.liste_total td, form.liste_total div { - border-top: 1px solid #DDDDDD; - background: #F0F0F0; - background-repeat: repeat-x; - color: #332266; - font-weight: normal; - white-space: nowrap; -} - - -.impair:hover { - - background: rgb(); - - border: 0px; -} - -.impair, .nohover .impair:hover, tr.impair td.nohover { - background: #F5F6F7; - font-family: ; - border: 0px; -} - - -.pair:hover { - - background: rgb(); - - border: 0px; -} - -.pair, .nohover .pair:hover, tr.pair td.nohover { - background: #FBFCFC; - font-family: ; - border: 0px; -} - - - -/* Disable shadows */ -.noshadow { - -moz-box-shadow: 0px 0px 0px #CCC !important; - -webkit-box-shadow: 0px 0px 0px #CCC !important; - box-shadow: 0px 0px 0px #CCC !important; -} - -div.tabBar .noborder { - -moz-box-shadow: 0px 0px 0px #CCC !important; - -webkit-box-shadow: 0px 0px 0px #CCC !important; - box-shadow: 0px 0px 0px #CCC !important; -} - - -/* - * Boxes - */ - -.boxstats { - - margin: 4px; - padding: 4px; - /*-moz-box-shadow: 4px 4px 4px #DDD; - -webkit-box-shadow: 4px 4px 4px #DDD; - box-shadow: 4px 4px 4px #DDD; - margin-bottom: 8px !important;*/ - border: 1px solid #AAA; - text-align: center; - border-radius: 5px; -} - -.boxtable { --moz-box-shadow: 4px 4px 4px #CCC; --webkit-box-shadow: 4px 4px 4px #CCC; -box-shadow: 4px 4px 4px #CCC; -} - -.box { -padding-right: 0px; -padding-left: 0px; -padding-bottom: 4px; -} - -tr.box_titre { -height: 24px; -background: #7699A9; -background-image: url(); -background-repeat: repeat-x; -color: #FFFFFF; -font-family: , sans-serif; -font-weight: normal; -border-bottom: 1px solid #FDFFFF; -white-space: nowrap; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; -} - -tr.box_titre td.boxclose { - width: 30px; -} - -tr.box_impair { -/* background: #e6ebed; */ -background: #F5F6F7; -font-family: ; -} - -tr.box_pair { -/* background: #d0d4d7; */ -background: #FBFCFC; -font-family: ; -} - -tr.box_pair td, tr.box_impair td, td.box_pair, td.box_impair -{ -/*border-bottom: 1px solid white;*/ -} - -.formboxfilter { - vertical-align: middle; - margin-bottom: 6px; -} -.formboxfilter input[type=image] -{ - top: 3px; - position: relative; -} - - - -/* - * Ok, Warning, Error - */ - -.ok { color: #114466; } -.warning { color: #887711; } -.error { color: #550000 !important; font-weight: bold; } - -td.highlights { background: #f9c5c6; } - -div.ok { - color: #114466; -} - -div.warning { - color: #997711; - padding: 0.2em 0.2em 0.2em 0.2em; - margin: 0.5em 0em 0.5em 0em; - border: 1px solid #c0c0d0; - -moz-border-radius:6px; - background: #efefd4; -} - -div.error { - color: #550000; font-weight: bold; - padding: 0.2em 0.2em 0.2em 0.2em; - margin: 0.5em 0em 0.5em 0em; - border: 1px solid #8C9CAB; - -moz-border-radius:6px; -} - -/* Info admin */ -div.info { - color: #707070; - padding: 0.2em 0.2em 0.2em 0.2em; - margin: 0.5em 0em 0.5em 0em; - border: 1px solid #DFDFA0; - -moz-border-radius:6px; - background: #EFEFD4; -} - - -/* - * Liens Payes/Non payes - */ - -a.normal:link { font-weight: normal } -a.normal:visited { font-weight: normal } -a.normal:active { font-weight: normal } -a.normal:hover { font-weight: normal } - -a.impayee:link { font-weight: bold; color: #550000; } -a.impayee:visited { font-weight: bold; color: #550000; } -a.impayee:active { font-weight: bold; color: #550000; } -a.impayee:hover { font-weight: bold; color: #550000; } - - - -/* - * Other - */ - -.product_line_stock_ok { color: #002200; } -.product_line_stock_too_low { color: #664400; } - -.fieldrequired { font-weight: bold; color: #000055; } - -.dolgraphtitle { margin-top: 6px; margin-bottom: 4px; } -.dolgraphtitlecssboxes { margin: 0px; } - -.photo { -border: 0px; -/* filter:alpha(opacity=55); */ -/* opacity:.55; */ -} - -div.titre { - font-family: ; - font-weight: normal; - color: #336666; - text-decoration: none; -} - -#dolpaymenttable { width: 600px; font-size: 13px; } -#tablepublicpayment { border: 1px solid #CCCCCC !important; width: 100%; } -#tablepublicpayment .CTableRow1 { background-color: #F0F0F0 !important; } -#tablepublicpayment tr.liste_total { border-bottom: 1px solid #CCCCCC !important; } -#tablepublicpayment tr.liste_total td { border-top: none; } - - -/* ============================================================================== */ -/* Formulaire confirmation (When Ajax JQuery is used) */ -/* ============================================================================== */ - -.ui-dialog-titlebar { -} -.ui-dialog-content { - font-size: px !important; -} - -/* ============================================================================== */ -/* Formulaire confirmation (When HTML is used) */ -/* ============================================================================== */ - -table.valid { - border-top: solid 1px #E6E6E6; - border-: solid 1px #E6E6E6; - border-: solid 1px #444444; - border-bottom: solid 1px #555555; - padding-top: 0px; - padding-left: 0px; - padding-right: 0px; - padding-bottom: 0px; - margin: 0px 0px; - background: #D5BAA8; -} - -.validtitre { - background: #D5BAA8; - font-weight: bold; -} - - -/* ============================================================================== */ -/* Tooltips */ -/* ============================================================================== */ - -#tooltip { -position: absolute; -width: px; -border-top: solid 1px #BBBBBB; -border-: solid 1px #BBBBBB; -border-: solid 1px #444444; -border-bottom: solid 1px #444444; -padding: 2px; -z-index: 3000; -background-color: #FFFFF0; -opacity: 1; --moz-border-radius:6px; -} - - - -/* ============================================================================== */ -/* Calendar */ -/* ============================================================================== */ - -img.datecallink { padding-left: 2px !important; padding-right: 2px !important; } - -.ui-datepicker-trigger { - vertical-align: middle; - cursor: pointer; -} - -.bodyline { - -moz-border-radius:8px; - border: 1px #E4ECEC outset; - padding: 0px; - margin-bottom: 5px; - z-index: 3000; -} -table.dp { - width: 180px; - background-color: #FFFFFF; - border-top: solid 2px #DDDDDD; - border-: solid 2px #DDDDDD; - border-: solid 1px #222222; - border-bottom: solid 1px #222222; - padding: 0px; - border-spacing: 0px; - border-collapse: collapse; -} -.dp td, .tpHour td, .tpMinute td{padding:2px; font-size:10px;} -/* Barre titre */ -.dpHead,.tpHead,.tpHour td:Hover .tpHead{ - font-weight:bold; - background-color:#b3c5cc; - color:white; - font-size:11px; - cursor:auto; -} -/* Barre navigation */ -.dpButtons,.tpButtons { - text-align:center; - background-color:#617389; - color:#FFFFFF; - font-weight:bold; - border: 1px outset black; - cursor:pointer; -} -.dpButtons:Active,.tpButtons:Active{border: 1px outset black;} -.dpDayNames td,.dpExplanation {background-color:#D9DBE1; font-weight:bold; text-align:center; font-size:11px;} -.dpExplanation{ font-weight:normal; font-size:11px;} -.dpWeek td{text-align:center} - -.dpToday,.dpReg,.dpSelected{ - cursor:pointer; -} -.dpToday{font-weight:bold; color:black; background-color:#DDDDDD;} -.dpReg:Hover,.dpToday:Hover{background-color:black;color:white} - -/* Jour courant */ -.dpSelected{background-color:#0B63A2;color:white;font-weight:bold; } - -.tpHour{border-top:1px solid #DDDDDD; border-right:1px solid #DDDDDD;} -.tpHour td {border-left:1px solid #DDDDDD; border-bottom:1px solid #DDDDDD; cursor:pointer;} -.tpHour td:Hover {background-color:black;color:white;} - -.tpMinute {margin-top:5px;} -.tpMinute td:Hover {background-color:black; color:white; } -.tpMinute td {background-color:#D9DBE1; text-align:center; cursor:pointer;} - -/* Bouton X fermer */ -.dpInvisibleButtons -{ -border-style:none; -background-color:transparent; -padding:0px; -font-size:9px; -border-width:0px; -color:#0B63A2; -vertical-align:middle; -cursor: pointer; -} - - -/* ============================================================================== */ -/* Afficher/cacher */ -/* ============================================================================== */ - -div.visible { - display: block; -} - -div.hidden { - display: none; -} - -tr.visible { - display: block; -} - -td.hidden { - display: none; -} - - -/* ============================================================================== */ -/* Module agenda */ -/* ============================================================================== */ - -table.cal_month { border-spacing: 0px; } -.cal_other_month { background: #DDDDDD; border: solid 1px #ACBCBB; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_other_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B !important; border-right: 0; } -.cal_past_month { background: #EEEEEE; border: solid 1px #ACBCBB; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_current_month { background: #FFFFFF; border-left: solid 1px #ACBCBB; border-bottom: solid 1px #ACBCBB; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_current_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B; border-right: 0; border-bottom: solid 1px #ACBCBB; } -.cal_current_month_peruserleft { background: #FFFFFF; border-left: solid 3px #6C7C7B; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_today { background: #FFFFFF; border: solid 2px #6C7C7B; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_today_peruser { background: #FFFFFF; border-right: solid 1px #6C7C7B; border-top: solid 1px #A0A0A0; border-bottom: solid 1px #A0A0A0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_today_peruser_peruserleft { background: #FFFFFF; border-left: solid 3px #6C7C7B; border-top: solid 1px #A0A0A0; border-right: solid 1px #6C7C7B; border-bottom: solid 1px #A0A0A0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -table.cal_event { border-collapse: collapse; margin-bottom: 1px; } -table.cal_event td { border: 0px; padding-: 0px; padding-: 2px; padding-top: 0px; padding-bottom: 0px; } -ul.cal_event { padding-right: 2px; padding-top: 1px; border: none; list-style-type: none; margin: 0 auto; padding-left: 0px; padding-start: 0px; -khtml-padding-start: 0px; -o-padding-start: 0px; -webkit-padding-start: 0px; -webkit-padding-start: 0px; } -li.cal_event { border: none; list-style-type: none; } -.cal_event a:link { color: #111111; font-size: 11px; font-weight: normal !important; } -.cal_event a:visited { color: #111111; font-size: 11px; font-weight: normal !important; } -.cal_event a:active { color: #111111; font-size: 11px; font-weight: normal !important; } -.cal_event a:hover { color: #111111; font-size: 11px; font-weight: normal !important; } -.cal_peruser { padding: 0px; } -.peruser_busy { background: #CC8888; } -.peruser_notbusy { background: #EEDDDD; } - - -/* ============================================================================== */ -/* Ajax - Liste deroulante de l'autocompletion */ -/* ============================================================================== */ - -.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 0.9em; } -.ui-autocomplete-loading { background: white url() right center no-repeat; } - - -/* ============================================================================== */ -/* jQuery - jeditable */ -/* ============================================================================== */ - -.editkey_textarea, .editkey_ckeditor, .editkey_string, .editkey_email, .editkey_numeric, .editkey_select, .editkey_autocomplete { - background: url() right top no-repeat; - cursor: pointer; -} - -.editkey_datepicker { - background: url() right center no-repeat; - cursor: pointer; -} - -.editval_textarea.active:hover, .editval_ckeditor.active:hover, .editval_string.active:hover, .editval_email.active:hover, .editval_numeric.active:hover, .editval_select.active:hover, .editval_autocomplete.active:hover, .editval_datepicker.active:hover { - background: white; - cursor: pointer; -} - -.viewval_textarea.active:hover, .viewval_ckeditor.active:hover, .viewval_string.active:hover, .viewval_email.active:hover, .viewval_numeric.active:hover, .viewval_select.active:hover, .viewval_autocomplete.active:hover, .viewval_datepicker.active:hover { - background: white; - cursor: pointer; -} - -.viewval_hover { - background: white; -} - - -/* ============================================================================== */ -/* Admin Menu */ -/* ============================================================================== */ - -/* CSS for treeview */ -.treeview ul { background-color: transparent !important; margin-top: 0; } -.treeview li { background-color: transparent !important; padding: 0 0 0 16px !important; min-height: 20px; } -.treeview .hover { color: black !important; } - - -/* ============================================================================== */ -/* Show Excel tabs */ -/* ============================================================================== */ - -.table_data -{ - border-style:ridge; - border:1px solid; -} -.tab_base -{ - background:#C5D0DD; - font-weight:bold; - border-style:ridge; - border: 1px solid; - cursor:pointer; -} -.table_sub_heading -{ - background:#CCCCCC; - font-weight:bold; - border-style:ridge; - border: 1px solid; -} -.table_body -{ - background:#F0F0F0; - font-weight:normal; - font-family:sans-serif; - border-style:ridge; - border: 1px solid; - border-spacing: 0px; - border-collapse: collapse; -} -.tab_loaded -{ - background:#222222; - color:white; - font-weight:bold; - border-style:groove; - border: 1px solid; - cursor:pointer; -} - - - - -/* ============================================================================== */ -/* CSS for color picker */ -/* ============================================================================== */ - -A.color, A.color:active, A.color:visited { - position : relative; - display : block; - text-decoration : none; - width : 10px; - height : 10px; - line-height : 10px; - margin : 0px; - padding : 0px; - border : 1px inset white; -} -A.color:hover { - border : 1px outset white; -} -A.none, A.none:active, A.none:visited, A.none:hover { - position : relative; - display : block; - text-decoration : none; - width : 10px; - height : 10px; - line-height : 10px; - margin : 0px; - padding : 0px; - cursor : default; - border : 1px solid #b3c5cc; -} -.tblColor { - display : none; -} -.tdColor { - padding : 1px; -} -.tblContainer { - background-color : #b3c5cc; -} -.tblGlobal { - position : absolute; - top : 0px; - left : 0px; - display : none; - background-color : #b3c5cc; - border : 2px outset; -} -.tdContainer { - padding : 5px; -} -.tdDisplay { - width : 50%; - height : 20px; - line-height : 20px; - border : 1px outset white; -} -.tdDisplayTxt { - width : 50%; - height : 24px; - line-height : 12px; - font-family : ; - font-size : 8pt; - color : black; - text-align : center; -} -.btnColor { - width : 100%; - font-family : ; - font-size : 10pt; - padding : 0px; - margin : 0px; -} -.btnPalette { - width : 100%; - font-family : ; - font-size : 8pt; - padding : 0px; - margin : 0px; -} - - -/* Style to overwrites JQuery styles */ -.ui-menu .ui-menu-item a { - text-decoration:none; - display:block; - padding:.2em .4em; - line-height:1.5; - zoom:1; - font-weight: normal; - font-family:; - font-size:1em; -} -.ui-widget { - font-family:; - font-size:px; -} -.ui-button { margin-left: -1px; padding-top: 1px; } -.ui-button-icon-only .ui-button-text { height: 8px; } -.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: 2px 0px 6px 0px; } -.ui-button-text -{ - line-height: 1em !important; -} -.ui-autocomplete-input { margin: 0; padding: 1px; } - - -/* ============================================================================== */ -/* CKEditor */ -/* ============================================================================== */ - -.cke_editor table, .cke_editor tr, .cke_editor td -{ - border: 0px solid #FF0000 !important; -} -span.cke_skin_kama { padding: 0 ! important; } -a.cke_dialog_ui_button -{ - font-family: !important; - background-image: url() !important; - background-position: bottom !important; - border: 1px solid #ACBCBB !important; - -moz-border-radius:0px 5px 0px 5px !important; - -webkit-border-radius:0px 5px 0px 5px !important; - border-radius:0px 5px 0px 5px !important; - -moz-box-shadow: 4px 4px 4px #CCC !important; - -webkit-box-shadow: 4px 4px 4px #CCC !important; - box-shadow: 4px 4px 4px #CCC !important; -} -.cke_dialog_ui_hbox_last -{ - vertical-align: bottom ! important; -} - - -/* ============================================================================== */ -/* File upload */ -/* ============================================================================== */ - -.template-upload { - height: 72px !important; -} - - - -/* ============================================================================== */ -/* Test using div instead of tables */ -/* ============================================================================== */ - -div.tablelines { - display: table; - /* Joindre les bords des cellules */ - border-collapse: collapse; - /* Forcer le tableau à prendre la largeur écran */ - width: 100%; -} -div.thead { - height: 24px; - background: #7699A9; - background-image: url(); - background-repeat: repeat-x; - color: #FFFFFF; - font-family: ; - /* border-bottom: 1px solid #FDFFFF; */ - white-space: nowrap; - display: table-row-group; -} -div.tfoot { - display: table-row-group; -} -div.tbody { - display: table-row-group; -} -div.tr { - display: table-row; -} -div.td { - display: table-cell; - text-align: right; - padding: 5px; - width: 10%; -} -div.td.firstcol { - text-align: left; - width: 65%; -} -div.td.endcol { - width: 5px; -} -div.end { - width: auto; -} - -div.dragClass { - color: #002255; -} -div.showDragHandle { - cursor: move; -} -div.tdlineupdown { - background-image: url(theme.'/img/grip.png',1); ?>); - background-repeat: no-repeat; - background-position: center center; - cursor: move; - white-space: nowrap; -} - - - -/* ============================================================================== */ -/* JSGantt */ -/* ============================================================================== */ - -div.scroll2 { - width: px !important; -} - - -/* ============================================================================== */ -/* jFileTree */ -/* ============================================================================== */ - -.ecmfiletree { - width: 99%; - height: 99%; - background: #FFF; - padding-left: 2px; - font-weight: normal; -} - -.fileview { - width: 99%; - height: 99%; - background: #FFF; - padding-left: 2px; - padding-top: 4px; - font-weight: normal; -} - -div.filedirelem { - position: relative; - display: block; - text-decoration: none; -} - -ul.filedirelem { - padding: 2px; - margin: 0 5px 5px 5px; -} -ul.filedirelem li { - list-style: none; - padding: 2px; - margin: 0 10px 20px 10px; - width: 160px; - height: 120px; - text-align: center; - display: block; - float: ; - border: solid 1px #DDDDDD; -} - -ui-layout-north { - -} - -ul.ecmjqft { - font-size: 11px; - line-height: 16px; - padding: 0px; - margin: 0px; - font-weight: normal; -} - -ul.ecmjqft li { - list-style: none; - padding: 0px; - padding-left: 20px; - margin: 0px; - white-space: nowrap; - display: block; -} - -ul.ecmjqft a { - line-height: 16px; - vertical-align: middle; - color: #333; - padding: 0px 0px; - font-weight:normal; - display: inline-block !important; -/* float: left;*/ -} -ul.ecmjqft a:active { - font-weight: bold !important; -} -ul.ecmjqft a:hover { - text-decoration: underline; -} -div.ecmjqft { - vertical-align: middle; - display: inline-block !important; - text-align: right; - position:absolute; - right:8px; -} - -/* Core Styles */ -.ecmjqft LI.directory { font-weight:normal; background: url() left top no-repeat; } -.ecmjqft LI.expanded { font-weight:normal; background: url() left top no-repeat; } -.ecmjqft LI.wait { font-weight:normal; background: url() left top no-repeat; } - - -/* ============================================================================== */ -/* jNotify */ -/* ============================================================================== */ - -.jnotify-container { - position: fixed !important; -global->MAIN_JQUERY_JNOTIFY_BOTTOM)) { ?> - top: auto !important; - bottom: 4px !important; - - text-align: center; - min-width: px; - width: auto; - padding-left: 10px !important; - padding-right: 10px !important; -} - -/* ============================================================================== */ -/* Maps */ -/* ============================================================================== */ - -.divmap, #google-visualization-geomap-embed-0, #google-visualization-geomap-embed-1, google-visualization-geomap-embed-2 { - -moz-box-shadow: 0px 0px 10px #AAA; - -webkit-box-shadow: 0px 0px 10px #AAA; - box-shadow: 0px 0px 10px #AAA; -} - - -/* ============================================================================== */ -/* Datatable */ -/* ============================================================================== */ - -.sorting_asc { background: url('') no-repeat center right; } -.sorting_desc { background: url('') no-repeat center right; } -.sorting_asc_disabled { background: url('') no-repeat center right; } -.sorting_desc_disabled { background: url('') no-repeat center right; } -.paginate_disabled_previous:hover, .paginate_enabled_previous:hover, .paginate_disabled_next:hover, .paginate_enabled_next:hover -{ - font-weight: normal; -} -.paginate_enabled_previous:hover, .paginate_enabled_next:hover -{ - text-decoration: underline !important; -} -.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled, .paginate_button_disabled { - opacity: .35; - filter: Alpha(Opacity=35); - background-image: none; -} - - -/* ============================================================================== */ -/* Select2 */ -/* ============================================================================== */ - -.selectoptiondisabledwhite { - background: #FFFFFF !important; -} - -.select2-choice, -.select2-drop.select2-drop-above.select2-drop-active, -.select2-container-active .select2-choice, -.select2-container-active .select2-choices, -.select2-dropdown-open.select2-drop-above .select2-choice, -.select2-dropdown-open.select2-drop-above .select2-choices, -.select2-container-multi.select2-container-active .select2-choices -{ - border: 1px solid #aaa; -} -.select2-disabled -{ - color: #888; -} -.select2-drop-active -{ - border: 1px solid #aaa; - border-top: none; -} -a span.select2-chosen -{ - font-weight: normal !important; -} -.select2-container .select2-choice { - background-image: none; - height: 24px; - line-height: 24px; -} -.select2-choices .select2-search-choice { - border: 1px solid #aaa !important; -} -.select2-results .select2-no-results, .select2-results .select2-searching, .select2-results .select2-ajax-error, .select2-results .select2-selection-limit -{ - background: #FFFFFF; -} -.select2-container-multi.select2-container-disabled .select2-choices { - background-color: #FFFFFF; - background-image: none; - border: none; - cursor: default; -} -.select2-container-multi .select2-choices .select2-search-choice { - margin-bottom: 3px; -} -/* To emulate select 2 style */ -.select2-container-multi-dolibarr .select2-choices-dolibarr .select2-search-choice-dolibarr { - padding: 2px 5px 1px 5px; - margin: 0 0 2px 3px; - position: relative; - line-height: 13px; - color: #333; - cursor: default; - border: 1px solid #aaaaaa; - border-radius: 3px; - -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); - box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); - background-clip: padding-box; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: #e4e4e4; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0); - background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee)); - background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); - background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); - background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); -} -.select2-container-multi-dolibarr .select2-choices-dolibarr .select2-search-choice-dolibarr a { - font-weight: normal; -} -.select2-container-multi-dolibarr .select2-choices-dolibarr li { - float: left; - list-style: none; -} -.select2-container-multi-dolibarr .select2-choices-dolibarr { - height: auto !important; - height: 1%; - margin: 0; - padding: 0 5px 0 0; - position: relative; - cursor: text; - overflow: hidden; -} - - -/* ============================================================================== */ -/* JMobile */ -/* ============================================================================== */ - -li.ui-li-divider .ui-link { - color: #FFF !important; -} -.ui-btn { - margin: 0.1em 2px -} -a.ui-link, a.ui-link:hover, .ui-btn:hover, span.ui-btn-text:hover, span.ui-btn-inner:hover { - text-decoration: none !important; -} - -.ui-btn-inner { - min-width: .4em; - padding-left: 10px; - padding-right: 10px; - font-size: px; - /* white-space: normal; */ /* Warning, enable this break the truncate feature */ -} -.ui-select .ui-btn-icon-right .ui-btn-inner { - padding-right: 36px; -} -.ui-select .ui-btn-icon-left .ui-btn-inner { - padding-left: 36px; -} - -.fiche .ui-controlgroup { - margin: 0px; - padding-bottom: 0px; -} -div.ui-controlgroup-controls div.tabsElem -{ - margin-top: 2px; -} -div.ui-controlgroup-controls div.tabsElem a -{ - -moz-box-shadow: 0 -3px 6px rgba(0,0,0,.2); - -webkit-box-shadow: 0 -3px 6px rgba(0,0,0,.2); - box-shadow: 0 -3px 6px rgba(0,0,0,.2); - border: none; -} -a.tab span.ui-btn-inner -{ - border: none; - padding: 0; -} - -.ui-body-c { - border: 1px solid #CCC; - text-shadow: none; -} -.ui-link { - color: rgb() !important; -} - -a.ui-link { - word-wrap: break-word; -} - -/* force wrap possible onto field overflow does not works */ -.formdoc .ui-btn-inner -{ - white-space: normal; - overflow: hidden; - text-overflow: hidden; -} - -/* Warning: setting this may make screen not beeing refreshed after a combo selection */ -.ui-body-c { - background: #fff; -} - -div.ui-radio -{ - display: inline-block; -} -.ui-checkbox input, .ui-radio input { - height: auto; - width: auto; - margin: 4px; - position: static; -} -div.ui-checkbox label+input, div.ui-radio label+input { - position: absolute; -} - -.ui-mobile fieldset -{ - padding-bottom: 10px; margin-bottom: 4px; border-bottom: 1px solid #AAAAAA !important; -} - - -ul.ulmenu { - border-radius: 0; - -webkit-border-radius: 0; -} - -.ui-field-contain label.ui-input-text { - vertical-align: middle !important; -} -.ui-mobile fieldset { - border-bottom: none !important; -} -.ui-body-c, .ui-btn-up-c, .ui-btn-hover-c { - border: none !important; -} - -/* Style for first level menu with jmobile */ -.ui-bar-b, .lilevel0 { - background: #7699A9; - background-image: url(); - background-repeat: repeat-x; - - background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - font-weight: bold; - - color: #FFF !important; -} -.alilevel0 { - color: #FFF !important; - text-shadow: 1px 0px 1px #; -} -.alilevel1 { - color: #FFF !important; - text-shadow: 1px 0px 1px #; -} -.lilevel1 { - background-image: -webkit-gradient(linear,left top,left bottom,from( #eee ),to( #e1e1e1 )) !important; - background-image: -webkit-linear-gradient( #eee,#e1e1e1 ) !important; - background-image: -moz-linear-gradient( #eee,#e1e1e1 ) !important; - background-image: -ms-linear-gradient( #eee,#e1e1e1 ) !important; - background-image: -o-linear-gradient( #eee,#e1e1e1 ) !important; - background-image: linear-gradient( #eee,#e1e1e1 ) !important; -} -.lilevel2 -{ - padding-left: 22px; -} -.lilevel3 -{ - padding-left: 54px; -} - -close(); diff --git a/htdocs/theme/auguria/thumb.png b/htdocs/theme/auguria/thumb.png deleted file mode 100644 index 88cb0e849a2..00000000000 Binary files a/htdocs/theme/auguria/thumb.png and /dev/null differ diff --git a/htdocs/theme/auguria/tpl/README b/htdocs/theme/auguria/tpl/README deleted file mode 100644 index d3bc4b4679f..00000000000 --- a/htdocs/theme/auguria/tpl/README +++ /dev/null @@ -1,3 +0,0 @@ -README (english) - -This directory is used to store custom templates. (system core and modules) \ No newline at end of file diff --git a/htdocs/theme/auguria/tpl/index.html b/htdocs/theme/auguria/tpl/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/bureau2crea/AUTHOR b/htdocs/theme/bureau2crea/AUTHOR deleted file mode 100644 index d75b99eb570..00000000000 --- a/htdocs/theme/bureau2crea/AUTHOR +++ /dev/null @@ -1 +0,0 @@ -2010-2011 Emmanuel Chauve \ No newline at end of file diff --git a/htdocs/theme/bureau2crea/ckeditor/config.js b/htdocs/theme/bureau2crea/ckeditor/config.js deleted file mode 100644 index 97f1c0a0b62..00000000000 --- a/htdocs/theme/bureau2crea/ckeditor/config.js +++ /dev/null @@ -1,92 +0,0 @@ -/* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.editorConfig = function( config ) -{ - // Define changes to default configuration here. - // http://docs.cksource.com/CKEditor_3.x/Developers_Guide - // http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html - config.enterMode = CKEDITOR.ENTER_BR; - config.resize_enabled = false; - //config.resize_maxHeight = 3000; - //config.resize_maxWidth = 3000; - //config.height = '300px'; - //config.resize_dir = 'vertical'; // horizontal, vertical, both - config.removePlugins = 'elementspath,save'; // config.removePlugins = 'elementspath,save,font'; - config.removeDialogTabs = 'flash:advanced'; // config.removeDialogTabs = 'flash:advanced;image:Link'; - config.protectedSource.push( /<\?[\s\S]*?\?>/g ); // Prevent PHP Code to be formatted - //config.menu_groups = 'clipboard,table,anchor,link,image'; // for context menu 'clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea' - //config.language = 'de'; - //config.defaultLanguage = 'en'; - //config.contentsLanguage = 'fr'; - config.fullPage = false; // Not a full html page string, just part of it - config.dialog_backgroundCoverColor = 'rgb(255, 254, 253)'; - //config.contentsCss = '/css/mysitestyles.css'; - config.image_previewText=' '; // Must no be empty - - config.toolbar_Full = - [ - ['Source','-','Save','NewPage','Preview','-','Templates'], - ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker', 'Scayt'], - ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'], - ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'], - '/', - ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'], - ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'], - ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], - ['BidiLtr', 'BidiRtl'], - ['Link','Unlink','Anchor'], - ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe'], - '/', - ['Styles','Format','Font','FontSize'], - ['TextColor','BGColor'], - ['Maximize', 'ShowBlocks','-','About'] - ]; - - // Used for mailing fields - config.toolbar_dolibarr_mailings = - [ - ['Source','Maximize'], - ['Cut','Copy','Paste','-','SpellChecker'], - ['Undo','Redo','-','Find','Replace'], - ['Format','Font','FontSize'], - ['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'], - ['NumberedList','BulletedList','Outdent','Indent','CreateDiv'], - ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], - ['Link','Unlink','Anchor','Image','Table','HorizontalRule','SpecialChar'] - ]; - - // Used for notes fields - config.toolbar_dolibarr_notes = - [ - ['Source','Maximize'], - ['Cut','Copy','Paste','-','SpellChecker'], - ['Undo','Redo','-','Find','Replace'], - ['Format','Font','FontSize'], - ['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'], - ['NumberedList','BulletedList','Outdent','Indent'], - ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], - ['Link','Unlink','Image','Table','HorizontalRule','SpecialChar'] - ]; - - // Used for details lines - config.toolbar_dolibarr_details = - [ - ['Source','Maximize'], - ['Cut','Copy','Paste','-','SpellChecker'], - ['Font','FontSize'], - ['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'], - ['NumberedList','BulletedList','Outdent','Indent'], - ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], - ['Link','Unlink','SpecialChar'] - ]; - - // Used for mailing fields - config.toolbar_dolibarr_readonly = - [ - ['Source','Maximize'], - ['Find'] - ]; -}; diff --git a/htdocs/theme/bureau2crea/ckeditor/index.html b/htdocs/theme/bureau2crea/ckeditor/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/bureau2crea/graph-color.php b/htdocs/theme/bureau2crea/graph-color.php deleted file mode 100644 index c95f9f7b42d..00000000000 --- a/htdocs/theme/bureau2crea/graph-color.php +++ /dev/null @@ -1,31 +0,0 @@ - - * Copyright (C) 2004-2007 Laurent Destailleur - * Copyright (C) 2010-2011 Emmanuel Chauve - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/theme/bureau2crea/graph-color.php - * \brief File to declare colors to use to build graphics with theme Bure2Crea - * \ingroup core - */ - -global $theme_bordercolor, $theme_datacolor, $theme_bgcolor, $theme_bgcoloronglet; -$theme_bordercolor = array(235,235,224); -$theme_datacolor = array(array(120,130,150), array(200,160,180), array(190,190,220)); -$theme_bgcolor = array(hexdec('F4'),hexdec('F4'),hexdec('F4')); -$theme_bgcoloronglet = array(hexdec('FF'),hexdec('FF'),hexdec('FF')); - diff --git a/htdocs/theme/bureau2crea/img/1downarrow.png b/htdocs/theme/bureau2crea/img/1downarrow.png deleted file mode 100644 index 316fe442e2b..00000000000 Binary files a/htdocs/theme/bureau2crea/img/1downarrow.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/1downarrow_selected.png b/htdocs/theme/bureau2crea/img/1downarrow_selected.png deleted file mode 100644 index 082a545addb..00000000000 Binary files a/htdocs/theme/bureau2crea/img/1downarrow_selected.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/1leftarrow.png b/htdocs/theme/bureau2crea/img/1leftarrow.png deleted file mode 100644 index 026a4cfff80..00000000000 Binary files a/htdocs/theme/bureau2crea/img/1leftarrow.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/1leftarrow_selected.png b/htdocs/theme/bureau2crea/img/1leftarrow_selected.png deleted file mode 100644 index 4835cf8f508..00000000000 Binary files a/htdocs/theme/bureau2crea/img/1leftarrow_selected.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/1rightarrow.png b/htdocs/theme/bureau2crea/img/1rightarrow.png deleted file mode 100644 index 54fe3dcf366..00000000000 Binary files a/htdocs/theme/bureau2crea/img/1rightarrow.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/1rightarrow_selected.png b/htdocs/theme/bureau2crea/img/1rightarrow_selected.png deleted file mode 100644 index 2cd1136c77a..00000000000 Binary files a/htdocs/theme/bureau2crea/img/1rightarrow_selected.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/1uparrow.png b/htdocs/theme/bureau2crea/img/1uparrow.png deleted file mode 100644 index e4f7b42acb6..00000000000 Binary files a/htdocs/theme/bureau2crea/img/1uparrow.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/1uparrow_selected.png b/htdocs/theme/bureau2crea/img/1uparrow_selected.png deleted file mode 100644 index d19fae7a61d..00000000000 Binary files a/htdocs/theme/bureau2crea/img/1uparrow_selected.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/2.png b/htdocs/theme/bureau2crea/img/2.png deleted file mode 100644 index f592543dd8e..00000000000 Binary files a/htdocs/theme/bureau2crea/img/2.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/addfile.png b/htdocs/theme/bureau2crea/img/addfile.png deleted file mode 100644 index 1cb7af0ad8a..00000000000 Binary files a/htdocs/theme/bureau2crea/img/addfile.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/banner_02.jpg b/htdocs/theme/bureau2crea/img/banner_02.jpg deleted file mode 100644 index 81635fd2a59..00000000000 Binary files a/htdocs/theme/bureau2crea/img/banner_02.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg-bas-rubrique.png b/htdocs/theme/bureau2crea/img/bg-bas-rubrique.png deleted file mode 100644 index d2fbe3a7a13..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg-bas-rubrique.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg-rubrique.png b/htdocs/theme/bureau2crea/img/bg-rubrique.png deleted file mode 100644 index 9abf1dc1459..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg-rubrique.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg-titre-rubrique.png b/htdocs/theme/bureau2crea/img/bg-titre-rubrique.png deleted file mode 100644 index ad6484fcbe9..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg-titre-rubrique.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_btnBlue.jpg b/htdocs/theme/bureau2crea/img/bg_btnBlue.jpg deleted file mode 100644 index f24b76ee016..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_btnBlue.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_btnGreen.jpg b/htdocs/theme/bureau2crea/img/bg_btnGreen.jpg deleted file mode 100644 index eae9fb1217b..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_btnGreen.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_btnGrey.jpg b/htdocs/theme/bureau2crea/img/bg_btnGrey.jpg deleted file mode 100644 index 48911bf6f13..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_btnGrey.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_btnRed.jpg b/htdocs/theme/bureau2crea/img/bg_btnRed.jpg deleted file mode 100644 index c8c7f55c85d..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_btnRed.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_btn_blue.jpg b/htdocs/theme/bureau2crea/img/bg_btn_blue.jpg deleted file mode 100644 index 563cebdc3e7..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_btn_blue.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_btn_green.jpg b/htdocs/theme/bureau2crea/img/bg_btn_green.jpg deleted file mode 100644 index d29a1bb0d61..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_btn_green.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_btn_red.jpg b/htdocs/theme/bureau2crea/img/bg_btn_red.jpg deleted file mode 100644 index fb11e4f2daf..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_btn_red.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_centerBlock-title.jpg b/htdocs/theme/bureau2crea/img/bg_centerBlock-title.jpg deleted file mode 100644 index 354fb66cb5e..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_centerBlock-title.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_centerBlock-title2.jpg b/htdocs/theme/bureau2crea/img/bg_centerBlock-title2.jpg deleted file mode 100644 index d3f196e469d..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_centerBlock-title2.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_connectionBox.jpg b/htdocs/theme/bureau2crea/img/bg_connectionBox.jpg deleted file mode 100644 index 946a51b63a8..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_connectionBox.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_inside.gif b/htdocs/theme/bureau2crea/img/bg_inside.gif deleted file mode 100644 index e2a4f5c5841..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_inside.gif and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_leftCategorie.jpg b/htdocs/theme/bureau2crea/img/bg_leftCategorie.jpg deleted file mode 100644 index f152d6d083f..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_leftCategorie.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_leftMenu.jpg b/htdocs/theme/bureau2crea/img/bg_leftMenu.jpg deleted file mode 100644 index 0fc515742a3..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_leftMenu.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_mainNav.jpg b/htdocs/theme/bureau2crea/img/bg_mainNav.jpg deleted file mode 100644 index 15387ee476b..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_mainNav.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_navHorizontal.jpg b/htdocs/theme/bureau2crea/img/bg_navHorizontal.jpg deleted file mode 100644 index ad42dee2ee9..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_navHorizontal.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_other_table.jpg b/htdocs/theme/bureau2crea/img/bg_other_table.jpg deleted file mode 100644 index f4409cbaae5..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_other_table.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_ssmenu_btnD.jpg b/htdocs/theme/bureau2crea/img/bg_ssmenu_btnD.jpg deleted file mode 100644 index fd09bb40da0..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_ssmenu_btnD.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_ssmenu_btnG.jpg b/htdocs/theme/bureau2crea/img/bg_ssmenu_btnG.jpg deleted file mode 100644 index ca483b7b295..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_ssmenu_btnG.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_ssmenusel_btnD.jpg b/htdocs/theme/bureau2crea/img/bg_ssmenusel_btnD.jpg deleted file mode 100644 index 1e41b87c6ea..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_ssmenusel_btnD.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_ssmenusel_btnG.jpg b/htdocs/theme/bureau2crea/img/bg_ssmenusel_btnG.jpg deleted file mode 100644 index 3df9a20bcd5..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_ssmenusel_btnG.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_tmenu.jpg b/htdocs/theme/bureau2crea/img/bg_tmenu.jpg deleted file mode 100644 index 985311e8a1e..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_tmenu.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_tmenu_btnD.jpg b/htdocs/theme/bureau2crea/img/bg_tmenu_btnD.jpg deleted file mode 100644 index fc064ef4dcf..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_tmenu_btnD.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_tmenu_btnG.jpg b/htdocs/theme/bureau2crea/img/bg_tmenu_btnG.jpg deleted file mode 100644 index 9c3342222aa..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_tmenu_btnG.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_tmenusel_btnD.jpg b/htdocs/theme/bureau2crea/img/bg_tmenusel_btnD.jpg deleted file mode 100644 index b5507043898..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_tmenusel_btnD.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_tmenusel_btnG.jpg b/htdocs/theme/bureau2crea/img/bg_tmenusel_btnG.jpg deleted file mode 100644 index 317dde2f556..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_tmenusel_btnG.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_vmenu.jpg b/htdocs/theme/bureau2crea/img/bg_vmenu.jpg deleted file mode 100644 index 84d883d8d69..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_vmenu.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bg_working_table.jpg b/htdocs/theme/bureau2crea/img/bg_working_table.jpg deleted file mode 100644 index bb2c66aded3..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bg_working_table.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/body_bg.jpg b/htdocs/theme/bureau2crea/img/body_bg.jpg deleted file mode 100644 index 0480bfdc738..00000000000 Binary files a/htdocs/theme/bureau2crea/img/body_bg.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bouton/index.html b/htdocs/theme/bureau2crea/img/bouton/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/bureau2crea/img/bouton/menu_l_title_bg.png b/htdocs/theme/bureau2crea/img/bouton/menu_l_title_bg.png deleted file mode 100644 index 10e03744ace..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bouton/menu_l_title_bg.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/bouton/round_black_tr.png b/htdocs/theme/bureau2crea/img/bouton/round_black_tr.png deleted file mode 100644 index f0ea7d10c5c..00000000000 Binary files a/htdocs/theme/bureau2crea/img/bouton/round_black_tr.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/button_bg.png b/htdocs/theme/bureau2crea/img/button_bg.png deleted file mode 100644 index 7e8a806b28f..00000000000 Binary files a/htdocs/theme/bureau2crea/img/button_bg.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/button_edit.png b/htdocs/theme/bureau2crea/img/button_edit.png deleted file mode 100644 index 894b4cfd78e..00000000000 Binary files a/htdocs/theme/bureau2crea/img/button_edit.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/calc.png b/htdocs/theme/bureau2crea/img/calc.png deleted file mode 100644 index 5e6471408d8..00000000000 Binary files a/htdocs/theme/bureau2crea/img/calc.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/calendar.png b/htdocs/theme/bureau2crea/img/calendar.png deleted file mode 100644 index bbe6c27f041..00000000000 Binary files a/htdocs/theme/bureau2crea/img/calendar.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/call.png b/htdocs/theme/bureau2crea/img/call.png deleted file mode 100644 index ddfc1b7bd90..00000000000 Binary files a/htdocs/theme/bureau2crea/img/call.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/call_out.png b/htdocs/theme/bureau2crea/img/call_out.png deleted file mode 100644 index b5a22eb827b..00000000000 Binary files a/htdocs/theme/bureau2crea/img/call_out.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/close.png b/htdocs/theme/bureau2crea/img/close.png deleted file mode 100644 index ec4338e8bca..00000000000 Binary files a/htdocs/theme/bureau2crea/img/close.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/close_title.png b/htdocs/theme/bureau2crea/img/close_title.png deleted file mode 100644 index bebb74d9861..00000000000 Binary files a/htdocs/theme/bureau2crea/img/close_title.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/cron.png b/htdocs/theme/bureau2crea/img/cron.png deleted file mode 100644 index ddfe62e7b24..00000000000 Binary files a/htdocs/theme/bureau2crea/img/cron.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/delete.png b/htdocs/theme/bureau2crea/img/delete.png deleted file mode 100644 index 8ad73597be7..00000000000 Binary files a/htdocs/theme/bureau2crea/img/delete.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/detail.png b/htdocs/theme/bureau2crea/img/detail.png deleted file mode 100644 index 05562bef842..00000000000 Binary files a/htdocs/theme/bureau2crea/img/detail.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/disable.png b/htdocs/theme/bureau2crea/img/disable.png deleted file mode 100644 index f8c84994d47..00000000000 Binary files a/htdocs/theme/bureau2crea/img/disable.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/dolibarr_logo.png b/htdocs/theme/bureau2crea/img/dolibarr_logo.png deleted file mode 100644 index 9ce642503db..00000000000 Binary files a/htdocs/theme/bureau2crea/img/dolibarr_logo.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/edit.png b/htdocs/theme/bureau2crea/img/edit.png deleted file mode 100644 index 0f5fa5de31f..00000000000 Binary files a/htdocs/theme/bureau2crea/img/edit.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/edit_add.png b/htdocs/theme/bureau2crea/img/edit_add.png deleted file mode 100644 index ae205e9d770..00000000000 Binary files a/htdocs/theme/bureau2crea/img/edit_add.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/edit_remove.png b/htdocs/theme/bureau2crea/img/edit_remove.png deleted file mode 100644 index bc4bdb360fa..00000000000 Binary files a/htdocs/theme/bureau2crea/img/edit_remove.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/editdelete.png b/htdocs/theme/bureau2crea/img/editdelete.png deleted file mode 100644 index f8c84994d47..00000000000 Binary files a/htdocs/theme/bureau2crea/img/editdelete.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/error.png b/htdocs/theme/bureau2crea/img/error.png deleted file mode 100644 index f41dd8a3bc0..00000000000 Binary files a/htdocs/theme/bureau2crea/img/error.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/favicon.ico b/htdocs/theme/bureau2crea/img/favicon.ico deleted file mode 100644 index b93a86747d6..00000000000 Binary files a/htdocs/theme/bureau2crea/img/favicon.ico and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/file.png b/htdocs/theme/bureau2crea/img/file.png deleted file mode 100644 index 73c66e9b2b3..00000000000 Binary files a/htdocs/theme/bureau2crea/img/file.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/filenew.png b/htdocs/theme/bureau2crea/img/filenew.png deleted file mode 100644 index 8680cce82bf..00000000000 Binary files a/htdocs/theme/bureau2crea/img/filenew.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/filter.png b/htdocs/theme/bureau2crea/img/filter.png deleted file mode 100644 index 917715107bd..00000000000 Binary files a/htdocs/theme/bureau2crea/img/filter.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/folder-open.png b/htdocs/theme/bureau2crea/img/folder-open.png deleted file mode 100644 index 1db8369b3d5..00000000000 Binary files a/htdocs/theme/bureau2crea/img/folder-open.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/folder.png b/htdocs/theme/bureau2crea/img/folder.png deleted file mode 100644 index 04a24af2e22..00000000000 Binary files a/htdocs/theme/bureau2crea/img/folder.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/gradient.gif b/htdocs/theme/bureau2crea/img/gradient.gif deleted file mode 100644 index d9d7c1086cd..00000000000 Binary files a/htdocs/theme/bureau2crea/img/gradient.gif and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/grip.png b/htdocs/theme/bureau2crea/img/grip.png deleted file mode 100644 index 8053007e9dd..00000000000 Binary files a/htdocs/theme/bureau2crea/img/grip.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/grip_title.png b/htdocs/theme/bureau2crea/img/grip_title.png deleted file mode 100644 index d6ecce335cb..00000000000 Binary files a/htdocs/theme/bureau2crea/img/grip_title.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/headbg.jpg b/htdocs/theme/bureau2crea/img/headbg.jpg deleted file mode 100644 index 160821354cc..00000000000 Binary files a/htdocs/theme/bureau2crea/img/headbg.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/headbg2.jpg b/htdocs/theme/bureau2crea/img/headbg2.jpg deleted file mode 100644 index 0bc44f0ea99..00000000000 Binary files a/htdocs/theme/bureau2crea/img/headbg2.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/help.png b/htdocs/theme/bureau2crea/img/help.png deleted file mode 100644 index 12e6cd655d6..00000000000 Binary files a/htdocs/theme/bureau2crea/img/help.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/helpdoc.png b/htdocs/theme/bureau2crea/img/helpdoc.png deleted file mode 100644 index 8cd950e7be1..00000000000 Binary files a/htdocs/theme/bureau2crea/img/helpdoc.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/high.png b/htdocs/theme/bureau2crea/img/high.png deleted file mode 100644 index c0eaee6542f..00000000000 Binary files a/htdocs/theme/bureau2crea/img/high.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/history.png b/htdocs/theme/bureau2crea/img/history.png deleted file mode 100644 index 0fa4283476b..00000000000 Binary files a/htdocs/theme/bureau2crea/img/history.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/indent1.png b/htdocs/theme/bureau2crea/img/indent1.png deleted file mode 100644 index 09695ac754f..00000000000 Binary files a/htdocs/theme/bureau2crea/img/indent1.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/index.html b/htdocs/theme/bureau2crea/img/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/bureau2crea/img/info.png b/htdocs/theme/bureau2crea/img/info.png deleted file mode 100644 index db8ba04fac5..00000000000 Binary files a/htdocs/theme/bureau2crea/img/info.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/lock.png b/htdocs/theme/bureau2crea/img/lock.png deleted file mode 100644 index 3d99cf1eaef..00000000000 Binary files a/htdocs/theme/bureau2crea/img/lock.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/login_background.png b/htdocs/theme/bureau2crea/img/login_background.png deleted file mode 100644 index facc2c6f442..00000000000 Binary files a/htdocs/theme/bureau2crea/img/login_background.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/logout.png b/htdocs/theme/bureau2crea/img/logout.png deleted file mode 100644 index 84bd94e7b81..00000000000 Binary files a/htdocs/theme/bureau2crea/img/logout.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/mainlevel.gif b/htdocs/theme/bureau2crea/img/mainlevel.gif deleted file mode 100644 index 548526442a3..00000000000 Binary files a/htdocs/theme/bureau2crea/img/mainlevel.gif and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/agenda.png b/htdocs/theme/bureau2crea/img/menus/agenda.png deleted file mode 100644 index 866037c9b54..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/agenda.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/commercial.png b/htdocs/theme/bureau2crea/img/menus/commercial.png deleted file mode 100644 index efc1b3f0608..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/commercial.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/company.png b/htdocs/theme/bureau2crea/img/menus/company.png deleted file mode 100644 index 95e5db62046..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/company.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/ecm.png b/htdocs/theme/bureau2crea/img/menus/ecm.png deleted file mode 100644 index a9a975219cd..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/ecm.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/footer_bg.jpg b/htdocs/theme/bureau2crea/img/menus/footer_bg.jpg deleted file mode 100644 index 7319c16f9af..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/footer_bg.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/generic1.png b/htdocs/theme/bureau2crea/img/menus/generic1.png deleted file mode 100644 index 0222dd8c81d..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/generic1.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/generic2.png b/htdocs/theme/bureau2crea/img/menus/generic2.png deleted file mode 100644 index 86847858c4a..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/generic2.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/generic3.png b/htdocs/theme/bureau2crea/img/menus/generic3.png deleted file mode 100644 index e22f73aa6f9..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/generic3.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/generic4.png b/htdocs/theme/bureau2crea/img/menus/generic4.png deleted file mode 100644 index 29a3d7fed67..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/generic4.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/globe.png b/htdocs/theme/bureau2crea/img/menus/globe.png deleted file mode 100644 index 073348a5246..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/globe.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/home.png b/htdocs/theme/bureau2crea/img/menus/home.png deleted file mode 100644 index f4d0d917d1f..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/home.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/index.html b/htdocs/theme/bureau2crea/img/menus/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/bureau2crea/img/menus/lr_bg.gif b/htdocs/theme/bureau2crea/img/menus/lr_bg.gif deleted file mode 100644 index e6644e4685f..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/lr_bg.gif and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/mail.png b/htdocs/theme/bureau2crea/img/menus/mail.png deleted file mode 100644 index d715ec7810c..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/mail.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/members.png b/htdocs/theme/bureau2crea/img/menus/members.png deleted file mode 100644 index 4b703f42cd7..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/members.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/moduletable_th_bg.gif b/htdocs/theme/bureau2crea/img/menus/moduletable_th_bg.gif deleted file mode 100644 index 0901e294b1f..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/moduletable_th_bg.gif and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/money.png b/htdocs/theme/bureau2crea/img/menus/money.png deleted file mode 100644 index 50166e0f74b..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/money.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/pointofsale.png b/htdocs/theme/bureau2crea/img/menus/pointofsale.png deleted file mode 100644 index 748ec41b1e6..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/pointofsale.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/products.png b/htdocs/theme/bureau2crea/img/menus/products.png deleted file mode 100644 index 6f5f45269ee..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/products.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/project.png b/htdocs/theme/bureau2crea/img/menus/project.png deleted file mode 100644 index 882235d2cd3..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/project.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/tab_background.png b/htdocs/theme/bureau2crea/img/menus/tab_background.png deleted file mode 100644 index 6edd65003e0..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/tab_background.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/table_bg.gif b/htdocs/theme/bureau2crea/img/menus/table_bg.gif deleted file mode 100644 index bd6bf5c1036..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/table_bg.gif and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/tools.png b/htdocs/theme/bureau2crea/img/menus/tools.png deleted file mode 100644 index c053f660ebf..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/tools.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/topmenu_bg.gif b/htdocs/theme/bureau2crea/img/menus/topmenu_bg.gif deleted file mode 100644 index 48cfe1a00ae..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/topmenu_bg.gif and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/topmenu_bg_over.gif b/htdocs/theme/bureau2crea/img/menus/topmenu_bg_over.gif deleted file mode 100644 index 2d03af87e67..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/topmenu_bg_over.gif and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/topmenu_left.gif b/htdocs/theme/bureau2crea/img/menus/topmenu_left.gif deleted file mode 100644 index 0f08aa2a2a7..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/topmenu_left.gif and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/topmenu_right.gif b/htdocs/theme/bureau2crea/img/menus/topmenu_right.gif deleted file mode 100644 index cc7dd51652d..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/topmenu_right.gif and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/toppath.gif b/htdocs/theme/bureau2crea/img/menus/toppath.gif deleted file mode 100644 index 2180d924dee..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/toppath.gif and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/menus/trtitle.png b/htdocs/theme/bureau2crea/img/menus/trtitle.png deleted file mode 100644 index e1841a4f7a7..00000000000 Binary files a/htdocs/theme/bureau2crea/img/menus/trtitle.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/money.png b/htdocs/theme/bureau2crea/img/money.png deleted file mode 100644 index 50166e0f74b..00000000000 Binary files a/htdocs/theme/bureau2crea/img/money.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/nav.jpg b/htdocs/theme/bureau2crea/img/nav.jpg deleted file mode 100644 index c4f28779dfe..00000000000 Binary files a/htdocs/theme/bureau2crea/img/nav.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/next.png b/htdocs/theme/bureau2crea/img/next.png deleted file mode 100644 index aff8f9e2ca5..00000000000 Binary files a/htdocs/theme/bureau2crea/img/next.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_account.png b/htdocs/theme/bureau2crea/img/object_account.png deleted file mode 100644 index 82f72c25740..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_account.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_accounting.png b/htdocs/theme/bureau2crea/img/object_accounting.png deleted file mode 100644 index b5600221f02..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_accounting.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_action.png b/htdocs/theme/bureau2crea/img/object_action.png deleted file mode 100644 index 9844c2dfa9b..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_action.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_action_rdv.png b/htdocs/theme/bureau2crea/img/object_action_rdv.png deleted file mode 100644 index 25edfa85b45..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_action_rdv.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_address.png b/htdocs/theme/bureau2crea/img/object_address.png deleted file mode 100644 index a4b878966dc..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_address.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_barcode.png b/htdocs/theme/bureau2crea/img/object_barcode.png deleted file mode 100644 index 9241513f0b8..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_barcode.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_bill.png b/htdocs/theme/bureau2crea/img/object_bill.png deleted file mode 100644 index 277b6ab3233..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_bill.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_billa.png b/htdocs/theme/bureau2crea/img/object_billa.png deleted file mode 100644 index 2589f34bfed..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_billa.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_billd.png b/htdocs/theme/bureau2crea/img/object_billd.png deleted file mode 100644 index 201dc9057ae..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_billd.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_billr.png b/htdocs/theme/bureau2crea/img/object_billr.png deleted file mode 100644 index 18b8701685e..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_billr.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_book.png b/htdocs/theme/bureau2crea/img/object_book.png deleted file mode 100644 index cbbc05e8e72..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_book.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_bookmark.png b/htdocs/theme/bureau2crea/img/object_bookmark.png deleted file mode 100644 index a78697bdc3b..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_bookmark.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_calendar.png b/htdocs/theme/bureau2crea/img/object_calendar.png deleted file mode 100644 index c647b7f998d..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_calendar.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_calendarday.png b/htdocs/theme/bureau2crea/img/object_calendarday.png deleted file mode 100644 index 8cda1f3f220..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_calendarday.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_calendarweek.png b/htdocs/theme/bureau2crea/img/object_calendarweek.png deleted file mode 100644 index 4ea2c09ccc9..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_calendarweek.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_category-expanded.png b/htdocs/theme/bureau2crea/img/object_category-expanded.png deleted file mode 100644 index af943c376e6..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_category-expanded.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_category.png b/htdocs/theme/bureau2crea/img/object_category.png deleted file mode 100644 index c7e79d4d408..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_category.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_commercial.png b/htdocs/theme/bureau2crea/img/object_commercial.png deleted file mode 100644 index ad1519f111c..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_commercial.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_company.png b/htdocs/theme/bureau2crea/img/object_company.png deleted file mode 100644 index 58021fa506a..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_company.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_contact.png b/htdocs/theme/bureau2crea/img/object_contact.png deleted file mode 100644 index e98a7e367e2..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_contact.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_contact_all.png b/htdocs/theme/bureau2crea/img/object_contact_all.png deleted file mode 100644 index f5c80635c28..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_contact_all.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_contract.png b/htdocs/theme/bureau2crea/img/object_contract.png deleted file mode 100644 index 78af93d559f..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_contract.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_cron.png b/htdocs/theme/bureau2crea/img/object_cron.png deleted file mode 100644 index 6186d18da70..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_cron.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_dir.png b/htdocs/theme/bureau2crea/img/object_dir.png deleted file mode 100644 index 7324bca0143..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_dir.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_email.png b/htdocs/theme/bureau2crea/img/object_email.png deleted file mode 100644 index fdda80ed4cf..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_email.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_energie.png b/htdocs/theme/bureau2crea/img/object_energie.png deleted file mode 100644 index 27b3b52f2c6..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_energie.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_generic.png b/htdocs/theme/bureau2crea/img/object_generic.png deleted file mode 100644 index 39e0ab9f52f..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_generic.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_globe.png b/htdocs/theme/bureau2crea/img/object_globe.png deleted file mode 100644 index 701e24b1c46..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_globe.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_gravatar.png b/htdocs/theme/bureau2crea/img/object_gravatar.png deleted file mode 100644 index 42bccdc4339..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_gravatar.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_group.png b/htdocs/theme/bureau2crea/img/object_group.png deleted file mode 100644 index 0e651e5aa5f..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_group.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_holiday.png b/htdocs/theme/bureau2crea/img/object_holiday.png deleted file mode 100644 index fdc1dd8e22b..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_holiday.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_intervention.png b/htdocs/theme/bureau2crea/img/object_intervention.png deleted file mode 100644 index 09cd8370678..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_intervention.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_invoice.png b/htdocs/theme/bureau2crea/img/object_invoice.png deleted file mode 100644 index 277b6ab3233..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_invoice.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_label.png b/htdocs/theme/bureau2crea/img/object_label.png deleted file mode 100644 index b112af5cf0a..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_label.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_list.png b/htdocs/theme/bureau2crea/img/object_list.png deleted file mode 100644 index f22dca04b37..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_list.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_margin.png b/htdocs/theme/bureau2crea/img/object_margin.png deleted file mode 100644 index cd0eb4109f7..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_margin.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_opensurvey.png b/htdocs/theme/bureau2crea/img/object_opensurvey.png deleted file mode 100644 index b5de3223bd4..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_opensurvey.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_order.png b/htdocs/theme/bureau2crea/img/object_order.png deleted file mode 100644 index 1516cd03433..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_order.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_payment.png b/htdocs/theme/bureau2crea/img/object_payment.png deleted file mode 100644 index f8ecf1d144e..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_payment.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_phoning.png b/htdocs/theme/bureau2crea/img/object_phoning.png deleted file mode 100644 index 9f5a14edd23..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_phoning.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_phoning_fax.png b/htdocs/theme/bureau2crea/img/object_phoning_fax.png deleted file mode 100644 index 9f5a14edd23..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_phoning_fax.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_product.png b/htdocs/theme/bureau2crea/img/object_product.png deleted file mode 100644 index f6477644a1f..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_product.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_project.png b/htdocs/theme/bureau2crea/img/object_project.png deleted file mode 100644 index bea2ebd1f7f..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_project.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_projectpub.png b/htdocs/theme/bureau2crea/img/object_projectpub.png deleted file mode 100644 index 1ba7da16dcc..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_projectpub.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_projecttask.png b/htdocs/theme/bureau2crea/img/object_projecttask.png deleted file mode 100644 index 7aff1a2ee20..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_projecttask.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_propal.png b/htdocs/theme/bureau2crea/img/object_propal.png deleted file mode 100644 index 4e66eebbedb..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_propal.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_reduc.png b/htdocs/theme/bureau2crea/img/object_reduc.png deleted file mode 100644 index 39dcc0fe6a0..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_reduc.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_resource.png b/htdocs/theme/bureau2crea/img/object_resource.png deleted file mode 100644 index 8cda1f3f220..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_resource.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_rss.png b/htdocs/theme/bureau2crea/img/object_rss.png deleted file mode 100644 index f3f9db58d95..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_rss.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_search.png b/htdocs/theme/bureau2crea/img/object_search.png deleted file mode 100644 index 6ffb1c806c7..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_search.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_sending.png b/htdocs/theme/bureau2crea/img/object_sending.png deleted file mode 100644 index 93404176e87..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_sending.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_service.png b/htdocs/theme/bureau2crea/img/object_service.png deleted file mode 100644 index f6477644a1f..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_service.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_skype.png b/htdocs/theme/bureau2crea/img/object_skype.png deleted file mode 100644 index b209cd8d16e..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_skype.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_stock.png b/htdocs/theme/bureau2crea/img/object_stock.png deleted file mode 100644 index c7e79d4d408..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_stock.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_task.png b/htdocs/theme/bureau2crea/img/object_task.png deleted file mode 100644 index 20b9d641a23..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_task.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_technic.png b/htdocs/theme/bureau2crea/img/object_technic.png deleted file mode 100644 index ac256e463e9..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_technic.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_trip.png b/htdocs/theme/bureau2crea/img/object_trip.png deleted file mode 100644 index d1a025c8477..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_trip.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/object_user.png b/htdocs/theme/bureau2crea/img/object_user.png deleted file mode 100644 index 152fd668c08..00000000000 Binary files a/htdocs/theme/bureau2crea/img/object_user.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/off.png b/htdocs/theme/bureau2crea/img/off.png deleted file mode 100644 index 9e28e0fa91e..00000000000 Binary files a/htdocs/theme/bureau2crea/img/off.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/on.png b/htdocs/theme/bureau2crea/img/on.png deleted file mode 100644 index 72e87ecaeb4..00000000000 Binary files a/htdocs/theme/bureau2crea/img/on.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/pdf2.png b/htdocs/theme/bureau2crea/img/pdf2.png deleted file mode 100644 index 975d8098993..00000000000 Binary files a/htdocs/theme/bureau2crea/img/pdf2.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/pdf3.png b/htdocs/theme/bureau2crea/img/pdf3.png deleted file mode 100644 index f053591bf2d..00000000000 Binary files a/htdocs/theme/bureau2crea/img/pdf3.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/play.png b/htdocs/theme/bureau2crea/img/play.png deleted file mode 100644 index 4922ea1ec12..00000000000 Binary files a/htdocs/theme/bureau2crea/img/play.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/previous.png b/htdocs/theme/bureau2crea/img/previous.png deleted file mode 100644 index bff23a0f55d..00000000000 Binary files a/htdocs/theme/bureau2crea/img/previous.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/printer.png b/htdocs/theme/bureau2crea/img/printer.png deleted file mode 100644 index 774686d23be..00000000000 Binary files a/htdocs/theme/bureau2crea/img/printer.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/puce.png b/htdocs/theme/bureau2crea/img/puce.png deleted file mode 100644 index 0bd4bd51023..00000000000 Binary files a/htdocs/theme/bureau2crea/img/puce.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/recent.png b/htdocs/theme/bureau2crea/img/recent.png deleted file mode 100644 index a3405497f03..00000000000 Binary files a/htdocs/theme/bureau2crea/img/recent.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/redstar.png b/htdocs/theme/bureau2crea/img/redstar.png deleted file mode 100644 index ce7b207978a..00000000000 Binary files a/htdocs/theme/bureau2crea/img/redstar.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/refresh.png b/htdocs/theme/bureau2crea/img/refresh.png deleted file mode 100644 index edc14adcd23..00000000000 Binary files a/htdocs/theme/bureau2crea/img/refresh.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/reload.png b/htdocs/theme/bureau2crea/img/reload.png deleted file mode 100644 index 1e638197612..00000000000 Binary files a/htdocs/theme/bureau2crea/img/reload.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/rightarrow.png b/htdocs/theme/bureau2crea/img/rightarrow.png deleted file mode 100644 index 2c479d9453b..00000000000 Binary files a/htdocs/theme/bureau2crea/img/rightarrow.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/search.png b/htdocs/theme/bureau2crea/img/search.png deleted file mode 100644 index 97f4801c921..00000000000 Binary files a/htdocs/theme/bureau2crea/img/search.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/searchclear.png b/htdocs/theme/bureau2crea/img/searchclear.png deleted file mode 100644 index 56fb7f1de87..00000000000 Binary files a/htdocs/theme/bureau2crea/img/searchclear.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/setup.png b/htdocs/theme/bureau2crea/img/setup.png deleted file mode 100644 index ad9a58fe0d3..00000000000 Binary files a/htdocs/theme/bureau2crea/img/setup.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/sort_asc.png b/htdocs/theme/bureau2crea/img/sort_asc.png deleted file mode 100644 index e327d952fa4..00000000000 Binary files a/htdocs/theme/bureau2crea/img/sort_asc.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/sort_asc_disabled.png b/htdocs/theme/bureau2crea/img/sort_asc_disabled.png deleted file mode 100644 index e327d952fa4..00000000000 Binary files a/htdocs/theme/bureau2crea/img/sort_asc_disabled.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/sort_desc.png b/htdocs/theme/bureau2crea/img/sort_desc.png deleted file mode 100644 index db99fd9ad47..00000000000 Binary files a/htdocs/theme/bureau2crea/img/sort_desc.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/sort_desc_disabled.png b/htdocs/theme/bureau2crea/img/sort_desc_disabled.png deleted file mode 100644 index 89051c2f34f..00000000000 Binary files a/htdocs/theme/bureau2crea/img/sort_desc_disabled.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/split.png b/htdocs/theme/bureau2crea/img/split.png deleted file mode 100644 index 50b6324c334..00000000000 Binary files a/htdocs/theme/bureau2crea/img/split.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/star.png b/htdocs/theme/bureau2crea/img/star.png deleted file mode 100644 index 81feace1c30..00000000000 Binary files a/htdocs/theme/bureau2crea/img/star.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/stats.png b/htdocs/theme/bureau2crea/img/stats.png deleted file mode 100644 index d883f7faea9..00000000000 Binary files a/htdocs/theme/bureau2crea/img/stats.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/statut0.png b/htdocs/theme/bureau2crea/img/statut0.png deleted file mode 100644 index 196f4f53c7d..00000000000 Binary files a/htdocs/theme/bureau2crea/img/statut0.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/statut1.png b/htdocs/theme/bureau2crea/img/statut1.png deleted file mode 100644 index 774b3e4bd54..00000000000 Binary files a/htdocs/theme/bureau2crea/img/statut1.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/statut3.png b/htdocs/theme/bureau2crea/img/statut3.png deleted file mode 100644 index 9ce49b93476..00000000000 Binary files a/htdocs/theme/bureau2crea/img/statut3.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/statut4.png b/htdocs/theme/bureau2crea/img/statut4.png deleted file mode 100644 index 75f9155a6d2..00000000000 Binary files a/htdocs/theme/bureau2crea/img/statut4.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/statut5.png b/htdocs/theme/bureau2crea/img/statut5.png deleted file mode 100644 index 774b3e4bd54..00000000000 Binary files a/htdocs/theme/bureau2crea/img/statut5.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/statut6.png b/htdocs/theme/bureau2crea/img/statut6.png deleted file mode 100644 index e4f42ac6d53..00000000000 Binary files a/htdocs/theme/bureau2crea/img/statut6.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/statut7.png b/htdocs/theme/bureau2crea/img/statut7.png deleted file mode 100644 index b391da08db5..00000000000 Binary files a/htdocs/theme/bureau2crea/img/statut7.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/statut8.png b/htdocs/theme/bureau2crea/img/statut8.png deleted file mode 100644 index c24d4a9dac2..00000000000 Binary files a/htdocs/theme/bureau2crea/img/statut8.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/statut9.png b/htdocs/theme/bureau2crea/img/statut9.png deleted file mode 100644 index 94b6dabf265..00000000000 Binary files a/htdocs/theme/bureau2crea/img/statut9.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/stcomm-1.png b/htdocs/theme/bureau2crea/img/stcomm-1.png deleted file mode 100644 index 2641cfa6a9d..00000000000 Binary files a/htdocs/theme/bureau2crea/img/stcomm-1.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/stcomm0.png b/htdocs/theme/bureau2crea/img/stcomm0.png deleted file mode 100644 index b6c11d4569a..00000000000 Binary files a/htdocs/theme/bureau2crea/img/stcomm0.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/stcomm1.png b/htdocs/theme/bureau2crea/img/stcomm1.png deleted file mode 100644 index 40618af47ce..00000000000 Binary files a/htdocs/theme/bureau2crea/img/stcomm1.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/stcomm2.png b/htdocs/theme/bureau2crea/img/stcomm2.png deleted file mode 100644 index f9f3f1d853e..00000000000 Binary files a/htdocs/theme/bureau2crea/img/stcomm2.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/stcomm3.png b/htdocs/theme/bureau2crea/img/stcomm3.png deleted file mode 100644 index 24cd66d3457..00000000000 Binary files a/htdocs/theme/bureau2crea/img/stcomm3.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/stcomm4.png b/htdocs/theme/bureau2crea/img/stcomm4.png deleted file mode 100644 index 3e26b4d06ed..00000000000 Binary files a/htdocs/theme/bureau2crea/img/stcomm4.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/switch_off.png b/htdocs/theme/bureau2crea/img/switch_off.png deleted file mode 100644 index 28a4376fb43..00000000000 Binary files a/htdocs/theme/bureau2crea/img/switch_off.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/switch_on.png b/htdocs/theme/bureau2crea/img/switch_on.png deleted file mode 100644 index d4e32d98f57..00000000000 Binary files a/htdocs/theme/bureau2crea/img/switch_on.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/tab_background.png b/htdocs/theme/bureau2crea/img/tab_background.png deleted file mode 100644 index 6edd65003e0..00000000000 Binary files a/htdocs/theme/bureau2crea/img/tab_background.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/test.gif b/htdocs/theme/bureau2crea/img/test.gif deleted file mode 100644 index 55ce8fb72b1..00000000000 Binary files a/htdocs/theme/bureau2crea/img/test.gif and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/tick.png b/htdocs/theme/bureau2crea/img/tick.png deleted file mode 100644 index c899abb9c34..00000000000 Binary files a/htdocs/theme/bureau2crea/img/tick.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/title.gif b/htdocs/theme/bureau2crea/img/title.gif deleted file mode 100644 index f7b6917596f..00000000000 Binary files a/htdocs/theme/bureau2crea/img/title.gif and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/title.png b/htdocs/theme/bureau2crea/img/title.png deleted file mode 100644 index eb9c329a6a5..00000000000 Binary files a/htdocs/theme/bureau2crea/img/title.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/title_accountancy.png b/htdocs/theme/bureau2crea/img/title_accountancy.png deleted file mode 100644 index 6e7c2a412c6..00000000000 Binary files a/htdocs/theme/bureau2crea/img/title_accountancy.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/title_bank.png b/htdocs/theme/bureau2crea/img/title_bank.png deleted file mode 100644 index 034a8d0c5e4..00000000000 Binary files a/htdocs/theme/bureau2crea/img/title_bank.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/title_commercial.png b/htdocs/theme/bureau2crea/img/title_commercial.png deleted file mode 100644 index 46394177698..00000000000 Binary files a/htdocs/theme/bureau2crea/img/title_commercial.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/title_companies.png b/htdocs/theme/bureau2crea/img/title_companies.png deleted file mode 100644 index b2539dba849..00000000000 Binary files a/htdocs/theme/bureau2crea/img/title_companies.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/title_generic.png b/htdocs/theme/bureau2crea/img/title_generic.png deleted file mode 100644 index ae224327549..00000000000 Binary files a/htdocs/theme/bureau2crea/img/title_generic.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/title_home.png b/htdocs/theme/bureau2crea/img/title_home.png deleted file mode 100644 index e9273e727f5..00000000000 Binary files a/htdocs/theme/bureau2crea/img/title_home.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/title_products.png b/htdocs/theme/bureau2crea/img/title_products.png deleted file mode 100644 index d3c5b125bbe..00000000000 Binary files a/htdocs/theme/bureau2crea/img/title_products.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/title_project.png b/htdocs/theme/bureau2crea/img/title_project.png deleted file mode 100644 index 05d8ea630b8..00000000000 Binary files a/htdocs/theme/bureau2crea/img/title_project.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/title_setup.png b/htdocs/theme/bureau2crea/img/title_setup.png deleted file mode 100644 index d7548d28709..00000000000 Binary files a/htdocs/theme/bureau2crea/img/title_setup.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/tmenu.jpg b/htdocs/theme/bureau2crea/img/tmenu.jpg deleted file mode 100644 index b8ffd399418..00000000000 Binary files a/htdocs/theme/bureau2crea/img/tmenu.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/tmenu2.jpg b/htdocs/theme/bureau2crea/img/tmenu2.jpg deleted file mode 100644 index 920e0066341..00000000000 Binary files a/htdocs/theme/bureau2crea/img/tmenu2.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/tmenu3.jpg b/htdocs/theme/bureau2crea/img/tmenu3.jpg deleted file mode 100644 index d42f804b026..00000000000 Binary files a/htdocs/theme/bureau2crea/img/tmenu3.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/tmenu_inverse.jpg b/htdocs/theme/bureau2crea/img/tmenu_inverse.jpg deleted file mode 100644 index e1efd44376e..00000000000 Binary files a/htdocs/theme/bureau2crea/img/tmenu_inverse.jpg and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/unlock.png b/htdocs/theme/bureau2crea/img/unlock.png deleted file mode 100644 index afefaa94d47..00000000000 Binary files a/htdocs/theme/bureau2crea/img/unlock.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/uparrow.png b/htdocs/theme/bureau2crea/img/uparrow.png deleted file mode 100644 index 5706ca39da4..00000000000 Binary files a/htdocs/theme/bureau2crea/img/uparrow.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/vcard.png b/htdocs/theme/bureau2crea/img/vcard.png deleted file mode 100644 index 315abdf179d..00000000000 Binary files a/htdocs/theme/bureau2crea/img/vcard.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/view.png b/htdocs/theme/bureau2crea/img/view.png deleted file mode 100644 index 76c1e9f1e6a..00000000000 Binary files a/htdocs/theme/bureau2crea/img/view.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/warning.png b/htdocs/theme/bureau2crea/img/warning.png deleted file mode 100644 index dfa237a5302..00000000000 Binary files a/htdocs/theme/bureau2crea/img/warning.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/working.gif b/htdocs/theme/bureau2crea/img/working.gif deleted file mode 100644 index 1e421c3113f..00000000000 Binary files a/htdocs/theme/bureau2crea/img/working.gif and /dev/null differ diff --git a/htdocs/theme/bureau2crea/img/working2.gif b/htdocs/theme/bureau2crea/img/working2.gif deleted file mode 100644 index bf0fc8f2167..00000000000 Binary files a/htdocs/theme/bureau2crea/img/working2.gif and /dev/null differ diff --git a/htdocs/theme/bureau2crea/index.html b/htdocs/theme/bureau2crea/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/bureau2crea/style.css.php b/htdocs/theme/bureau2crea/style.css.php deleted file mode 100644 index eee7afcb9c0..00000000000 --- a/htdocs/theme/bureau2crea/style.css.php +++ /dev/null @@ -1,2855 +0,0 @@ - - * Copyright (C) 2006 Rodolphe Quiedeville - * Copyright (C) 2007-2010 Regis Houssin - * Copyright (C) 2011 Philippe Grand - * Copyright (C) 2011 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - * - * FIXME: This is a bugged theme: - * No wrapping of top menu entries when window not large enough - * Not compatible with jmobile - */ - -/** - * \file htdocs/theme/bureau2crea/style.css.php - * \brief Fichier de style CSS du theme bureau2crea - */ - -//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled cause need to load personalized language -//if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); // Not disabled to increase speed. Language code is found on url. -if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); -//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); // Not disabled cause need to do translations -if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK',1); -if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL',1); -if (! defined('NOLOGIN')) define('NOLOGIN',1); -if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU',1); -if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML',1); -if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); - -session_cache_limiter(FALSE); - -require_once '../../main.inc.php'; - -// Load user to have $user->conf loaded (not done into main because of NOLOGIN constant defined) -if (empty($user->id) && ! empty($_SESSION['dol_login'])) $user->fetch('',$_SESSION['dol_login']); - - -// Define css type -header('Content-type: text/css'); -// Important: Following code is to avoid page request by browser and PHP CPU at each Dolibarr page access. -if (empty($dolibarr_nocache)) header('Cache-Control: max-age=3600, public, must-revalidate'); -else header('Cache-Control: no-cache'); - -// On the fly GZIP compression for all pages (if browser support it). Must set the bit 3 of constant to 1. -if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x04)) { ob_start("ob_gzhandler"); } - -if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang')); // If language was forced on URL -if (GETPOST('theme')) $conf->theme=GETPOST('theme'); // If theme was forced on URL -$langs->load("main",0,1); -$right=($langs->trans("DIRECTION")=='rtl'?'left':'right'); -$left=($langs->trans("DIRECTION")=='rtl'?'right':'left'); - - -$path=''; // This value may be used in future for external module to overwrite theme -$theme='bureau2crea'; // Value of theme -if (! empty($conf->global->MAIN_OVERWRITE_THEME_RES)) { $path='/'.$conf->global->MAIN_OVERWRITE_THEME_RES; $theme=$conf->global->MAIN_OVERWRITE_THEME_RES; } - -// Define image path files and other constants -$fontlist='arial, sans-serif, verdana, helvetica'; -$dol_hide_topmenu=$conf->dol_hide_topmenu; -$dol_hide_leftmenu=$conf->dol_hide_leftmenu; -$dol_optimize_smallscreen=$conf->dol_optimize_smallscreen; -$dol_no_mouse_hover=$conf->dol_no_mouse_hover; -$dol_use_jmobile=$conf->dol_use_jmobile; - -$colorshadowtitle='000'; -$fontsize='12'; -$fontsizesmaller='11'; - -if (! empty($conf->dol_optimize_smallscreen)) $fontsize=11; -?> - -/* ============================================================================== */ -/* Styles par defaut */ -/* ============================================================================== */ - -body { -/* background-color: #FFFFFF; */ - color: #101010; - font-size: px; - font-family: ; - margin-top: 0; - margin-bottom: 0; - margin-right: 0; - margin-left: 0; - trans("DIRECTION").";\n"; ?> -} - -#mainbody .main_box { - position: absolute; - width: 100%; - margin: 0px; - } - -#mainbody .connexion_box { - position: absolute; - top: 2px; - right: 5px; - height: 12px; - text-align: left; - } - -#mainbody .connexion_box .login, #mainbody .connexion_box .printer { - margin-left: 10px; - font-size: 10px; - line-height: 14px; - padding: 0px !important; - padding-right: 10px !important; - } - -#mainbody .connexion_box .login a { - color: #333; - text-decoration: none; - } - -#mainbody .connexion_box table { - margin-left: 10px; - display: block; - } - -#mainbody .content_box { - margin: 0px 20px 20px 20px; - } - -#ad_banner { - text-align: center; - vertical-align: bottom; -} - -a:link, a:visited, a:hover, a:active { font-family: ; font-weight: bold; color: #000000; text-decoration: none; } - -input, input.flat, textarea, textarea.flat, form.flat select, select.flat { - font-size: px; - font-family: ; - background: #FDFDFD; - border: 1px solid #ACBCBB; - padding: 1px; - margin: 0px 0px 0px 0px; -} -select.flat, form.flat select { - font-weight: normal; -} -input:disabled { - background:#ddd; -} -textarea:disabled { - background:#ddd; -} - -input[type=checkbox] { background-color: transparent; border: none; box-shadow: none; } -input[type=radio] { background-color: transparent; border: none; box-shadow: none; } -input[type=image] { background-color: transparent; border: none; box-shadow: none; } -input[type=text] { min-width: 20px; } -input:-webkit-autofill { - background-color: !important; - background-image:none !important; - -webkit-box-shadow: 0 0 0 50px inset; -} - -input.button[type=submit] { - background-image: url(); - display: block; - height: 18px; - line-height: 16px; - padding: 0px 10px 0px 10px; - margin: 0px; - background-repeat: repeat-x; - /*border: 2px solid #336600;*/ - color: #FFFFFF; - cursor: pointer; - font-size: 10px; - display: inline; -} -::-webkit-input-placeholder { color:#ccc; } -::-moz-placeholder { color:#ccc; } /* firefox 19+ */ -:-ms-input-placeholder { color:#ccc; } /* ie */ -input:-moz-placeholder { color:#ccc; } - - -legend { margin-bottom: 8px; } - - -.button { - font-family: ; - border: 0px; - background-image: url(); - background-position: bottom; - padding: 0px 2px 0px 2px; - margin: 0px 0px 0px 0px; -} -.button:focus { - font-family: ; - color: #222244; - border: 0px; - background-image: url(); - background-position: bottom; - padding: 0px 2px 0px 2px; - margin: 0px 0px 0px 0px; -} -.button:disabled { - opacity: 0.4; - filter: alpha(opacity=40); /* For IE8 and earlier */ - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - cursor: auto; -} -.buttonRefused { - pointer-events: none; - cursor: default; - opacity: 0.4; - filter: alpha(opacity=40); /* For IE8 and earlier */ - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; -} -form { - padding: 0em 0em 0em 0em; - margin: 0em 0em 0em 0em; -} -div.float -{ - float:; -} -div.floatright -{ - float:; -} -.inline-block -{ - display:inline-block; -} - -.valignmiddle { - vertical-align: middle; -} -.centpercent { - width: 100%; -} -.center { - text-align: center; -} -.left { - text-align: ; -} -.right { - text-align: ; -} -.nowrap { - white-space: ; -} -.nobold { - font-weight: normal !important; -} -.nounderline { - text-decoration: none; -} -.cursorpointer { - cursor: pointer; -} -.badge { - display: inline-block; - min-width: 10px; - padding: 2px 5px; - font-size: 10px; - font-weight: 700; - line-height: 0.9em; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - background-color: #777; - border-radius: 10px; -} - - -/* ============================================================================== */ -/* Styles to hide objects */ -/* ============================================================================== */ - -.hideobject { display: none; } - -.hideonsmartphone { display: none; } -.noenlargeonsmartphone { width : 50px !important; display: inline !important; } -.maxwidthonsmartphone { max-width: 100px; } -.maxwidth200onsmartphone { max-width: 200px; } - -.linkobject { cursor: pointer; } - -.hideonprint { display: none !important; } - - - -/* ============================================================================== */ -/* Styles for dragging lines */ -/* ============================================================================== */ - -.dragClass { - color: #002255; -} -td.showDragHandle { - cursor: move; -} -.tdlineupdown { - white-space: nowrap; - min-width: 10px; -} - - -/* ============================================================================== */ -/* Styles de positionnement des zones */ -/* ============================================================================== */ - -#id-container { - margin-bottom: 8px; - display: table; - table-layout: fixed; -} -#id-right, #id-left { - display: table-cell; - float: none; - vertical-align: top; -} -#id- { - width: 100%; -} - -div.leftContent { - margin-left: 20px !important; - width: 220px !important; -} - -div.fiche { - margin-: dol_optimize_smallscreen)?'10':'2'; ?>px; - margin-: dol_optimize_smallscreen)?'10':''; ?>px; - padding: 0px; - position: relative; - height: auto; -} - -div.fichecenter { - width: 100%; - clear: both; /* This is to have div fichecenter that are true rectangles */ -} -div.fichethirdleft { - dol_optimize_smallscreen)) { print "float: ".$left.";\n"; } ?> - dol_optimize_smallscreen)) { print "width: 35%;\n"; } ?> -} -div.fichetwothirdright { - dol_optimize_smallscreen)) { print "float: ".$right.";\n"; } ?> - dol_optimize_smallscreen)) { print "width: 65%;\n"; } ?> -} -div.fichehalfleft { - dol_optimize_smallscreen)) { print "float: ".$left.";\n"; } ?> - dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?> -} -div.fichehalfright { - dol_optimize_smallscreen)) { print "float: ".$right.";\n"; } ?> - dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?> -} -div.ficheaddleft { - dol_optimize_smallscreen)) { print "padding-left: 16px;\n"; } - else print "margin-top: 10px;\n"; ?> -} - - -/* ============================================================================== */ -/* Barre de redimensionnement menu */ -/* ============================================================================== */ - -.ui-layout-resizer-west-open { - /*left: 240px !important;*/ -} - - -/* ============================================================================== */ -/* Menu top et 1ere ligne tableau */ -/* ============================================================================== */ - - - -/* This theme is bugged. If width not large enough, menu are not wrapped on next line -div#tmenu_tooltip { - padding-right: 100px; -} -*/ - -div.tmenu { - - display:none; - - position: relative; - display: block; - white-space: nowrap; - border-left: 0px; - padding: 0px; - margin: 5px 0px 10px 0px; - background-image : url(); - background-repeat: no-repeat; - background-color: #996644; - height: 22px; - border-bottom: 2px solid #842F00; - -} - - - -/* -div.mainmenu { - position : relative; - color: white; - background-repeat:no-repeat; - background-position:center top; - height: px; - margin-left: 0px; -} -*/ - - -/* Do not load menu img if hidden to save bandwidth */ -'name of class for div') - -$moduletomainmenu=array('user'=>'','syslog'=>'','societe'=>'companies','projet'=>'project','propale'=>'commercial','commande'=>'commercial', - 'produit'=>'products','service'=>'products','stock'=>'products', - 'don'=>'accountancy','tax'=>'accountancy','banque'=>'accountancy','facture'=>'accountancy','compta'=>'accountancy','accounting'=>'accountancy','adherent'=>'members','import'=>'tools','export'=>'tools','mailing'=>'tools', - 'contrat'=>'commercial','ficheinter'=>'commercial','deplacement'=>'commercial', - 'fournisseur'=>'companies', - 'barcode'=>'','fckeditor'=>'','categorie'=>'', -); -$mainmenuused='home'; -foreach($conf->modules as $val) -{ - $mainmenuused.=','.(isset($moduletomainmenu[$val])?$moduletomainmenu[$val]:$val); -} -//var_dump($mainmenuused); -$mainmenuusedarray=array_unique(explode(',',$mainmenuused)); - -$mainmenuusedarray=array(); // Disable - -$generic=1; -$divalreadydefined=array('home','companies','products','commercial','accountancy','project','tools','members','agenda','ecm','cashdesk'); -foreach($mainmenuusedarray as $val) -{ - if (empty($val) || in_array($val,$divalreadydefined)) continue; - //print "XXX".$val; - - // Search img file in module dir - $found=0; $url=''; - foreach($conf->file->dol_document_root as $dirroot) - { - if (file_exists($dirroot."/".$val."/img/".$val.".png")) - { - $url=dol_buildpath($path.'/'.$val.'/img/'.$val.'.png',1); - $found=1; - break; - } - } - // Img file not found - if (! $found && $generic <= 4) - { - $url=dol_buildpath($path.'/theme/'.$theme.'/img/menus/generic'.$generic.'.png',1); - $found=1; - $generic++; - } - if ($found) - { - print "/* A mainmenu entry but img file ".$val.".png not found (check /".$val."/img/".$val.".png), so we use a generic one */\n"; - print "div.mainmenu.".$val." {\n"; - print " background-image: url(".$url.");\n"; - print " height:28px;\n"; - print "}\n"; - } -} -// End of part to add more div class css -?> - - - -ul.tmenu { - padding: 0px; - margin: 0px 5px 0px 5px; - list-style: none; - width: auto; - height: 22px; -} - -li.tmenu, li.tmenusel { - float: ; - position:relative; - display: block; - padding: 0px; - margin: 0px 2px 0px 0px; -} - -li.tmenu span, li.tmenusel span { - margin: 0px 10px 0px 10px; - } - -.tmenuimage { - margin: 0 !important; - padding: 0 !important; -} - -li.tmenu a, li.tmenusel a { - position: relative; - display: block; - font-size: 12px; - font-family: Geneva, Verdana, sans-serif; - line-height: 20px; - color: #FFF; - font-weight: normal; - float: ; -} - -li.tmenu a:hover { - color: #FFFFFF; - background-color: #D45416; -} - -li.tmenu a.tmenusel, li.tmenu a.tmenusel:hover, li.tmenusel a.tmenusel, li.tmenusel a.tmenusel:hover { - color: #842F00; - font-weight: bold; - background-color: #FFF; - font-weight: normal; -} - -li.tmenu .tmenusel, li.tmenusel .tmenusel { - background: #FFFFFF; -} - -li.tmenusel { - background-image : url(); - background-position: right; -} - -li.tmenusel a:hover { - color: #474747; -} - -li.tmenu a.tmenudisabled { - color: #CCC; -} - -/* --- end nav --- */ - - - - -/* Login */ - -form#login { - margin-top: px; - margin-bottom: 30px; - font-size: 13px; -} -.login_table_title { - margin-left: 10px; - margin-right: 10px; - max-width: 540px; - color: #888888; - text-shadow: 1px 1px 1px #FFF; -} -.login_table label { - text-shadow: 1px 1px 1px #FFF; -} -.login_table { - margin-left: 10px; - margin-right: 10px; - padding:12px; - max-width: 540px; - border: 1px solid #C0C0C0; - background-color: #E0E0E0; - - -moz-box-shadow: 4px 4px 4px #CCC; - -webkit-box-shadow: 4px 4px 4px #CCC; - box-shadow: 4px 4px 4px #CCC; - - border-radius: 12px; - border:solid 1px rgba(168,168,168,.4); - border-top:solid 1px f8f8f8; - background-color: #f8f8f8; - background-image: -o-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); - background-image: -moz-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); - background-image: -webkit-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); - background-image: -ms-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); - background-image: linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); -} -#securitycode { - min-width: 60px; -} -#img_securitycode { - border: 1px solid #DDDDDD; -} -#img_logo { - max-width: 200px; - max-height: 100px; -} - -div.login_block { - width: 180px; - position: absolute; - : 5px; - top: 2px; - font-weight: bold; - - display: none; - color: #FFF; - -} - -div.login_block table { - display: inline; -} - -div#login_left, div#login_right { - display: inline-block; - min-width: 220px; - text-align: center; - vertical-align: middle; -} - -div.login { - white-space:nowrap; - padding: dol_optimize_smallscreen?'0':'8')?>px 0px 0px 0px; - margin: 0px 0px 0px 8px; - font-weight: bold; -} -div.login a { - color: #FFFFFF; -} -div.login a:hover { - color: black; - text-decoration:underline; -} -.login_block_user { - float: right; -} -.login_block_elem { - float: right; - vertical-align: top; - padding: 8px 0px 0px 4px !important; -} - -.alogin, .alogin:hover { - color: #888 !important; - font-weight: normal !important; - font-size: px !important; -} -.alogin:hover { - text-decoration:underline !important; -} - -img.login, img.printer, img.entity { - padding: 0px 0px 0px 0px; - margin: 0px 0px 0px 8px; - text-decoration: none; - color: white; - font-weight: bold; -} - - -/* ============================================================================== */ -/* Menu gauche */ -/* ============================================================================== */ - -.vmenu { - margin: 0; - position: relative; - width: 180px; -} - -.vmenu { - display: none; -} - - -div.vmenu { - position: relative; - float: left; - margin: 0px; - width: 180px; - margin-left: 10px; -} - -a.vmenu:link { font-size:12px; text-align:left; font-weight: normal; color: #FFFFFF; margin: 1px 1px 1px 4px; } -a.vmenu:visited { font-size:12px; text-align:left; font-weight: normal; color: #FFFFFF; margin: 1px 1px 1px 4px; } -a.vmenu:active { font-size:12px; text-align:left; font-weight: normal; color: #FFFFFF; margin: 1px 1px 1px 4px; } -a.vmenu:hover { font-size:12px; text-align:left; font-weight: normal; color: #7F0A29; margin: 1px 1px 1px 4px; } -font.vmenudisabled { font-size:12px; text-align:left; font-weight: normal; color: #FFFFFF; margin: 1px 1px 1px 4px; } - -a.vsmenu:link { font-size:11px; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 4px; } -a.vsmenu:visited { font-size:11px; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 4px; } -a.vsmenu:active { font-size:11px; text-align:left; font-weight: normal; color: RGB(94,148,181); margin: 1px 1px 1px 4px; } -a.vsmenu:hover { font-size:11px; text-align:left; font-weight: normal; color: #7F0A29; margin: 1px 1px 1px 4px; } -font.vsmenudisabled { font-size:11px; text-align:left; font-weight: normal; color: #202020; } -font.vsmenudisabledmargin { margin: 1px 1px 1px 4px; } - -a.help:link { font-size: 10px; font-weight: bold; background: #FFFFFF; border: 1px solid #8CACBB; color: #68ACCF; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } -a.help:visited { font-size: 10px; font-weight: bold; background: #FFFFFF; border: 1px solid #8CACBB; color: #68ACCF; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } -a.help:active { font-size: 10px; font-weight: bold; background: #FFFFFF; border: 1px solid #8CACBB; color: #6198BA; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } -a.help:hover { font-size: 10px; font-weight: bold; background: #FFFFFF; border: 1px solid #8CACBB; color: #6198BA; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } - - -div.blockvmenupair -{ - margin-bottom: 15px; - border-spacing: 0px; - padding: 0px; - width: 100%; - background-image: url(); - background-position: top right; - background-repeat: no-repeat; - -} -div.blockvmenuimpair -{ - margin-bottom: 15px; - border-spacing: 0px; - padding: 0px; - width: 100%; - background-image: url(); - background-position: top right; - background-repeat: no-repeat; - -} - -div.blockvmenuimpair form a.vmenu, div.blockvmenupair form a.vmenu -{ - width: 166px; - border-spacing: 0px; - color: #000000; - text-align:left; - text-decoration: none; - padding: 4px; - margin: 0px; - background: #FFFFFF; - margin-bottom: -12px; -} - -div.menu_titre -{ - padding: 0px; - padding-left:0px; - margin-top: 8px; - margin: 0px; - height: 16px; - text-align: left; - font-size : 12px; - color : #FFFFFF; - font-weight: bold; - height: 20px; - line-height: 20px; -} - -div.menu_titre a.vmenu { - /*font-weight: bold;*/ - /*font-family: "Trebuchet MS",Arial,Helvetica,sans-serif;*/ - font-size: 12px; -} - -div.blockvmenusearch -{ - margin: 3px 0px 15px 0px; - padding: 25px 0px 2px 2px; - background-image: url(); - background-position: top right; - background-repeat: no-repeat; -} - -div.blockvmenusearch input[type="text"] { - float: left; - width: 110px; - border: 1px solid #333; - font-size: 10px; - height: 16px; -} - -div.blockvmenusearch input.button[type="submit"] { - float: left; - margin-left: 10px; -} - -div.blockvmenusearch div.menu_titre { - margin-top: 5px; -} - -#blockvmenusearch div.menu_titre, #blockvmenusearch form -{ - padding-top: 1px; - padding-bottom: 1px; - min-height: 14px; -} - -#blockvmenusearch form -{ - clear: both; - margin-bottom: 14px; -} - -div.blockvmenubookmarks -{ - margin: 0px; - border-spacing: 0px; - padding: 0px; - width: 100%; - background-image: url(); - background-position: top right; - background-repeat: no-repeat; - margin-bottom: 15px; -} - -div.blockvmenuhelp -{ -dol_optimize_smallscreen)) { ?> - text-align: center; - border-spacing: 0px; - width: 162px; - background: transparent; - font-family: ; - color: #000000; - text-decoration: none; - padding-left: 0px; - padding-right: 1px; - padding-top: 3px; - padding-bottom: 3px; - margin: 1px 0px 0px 0px; - - display: none; - -} - -div.menu_contenu { - margin: 0px; - padding: 1px; - - padding-right: 8px; - font-size : 11px; - font-weight:normal; - color : #000000; - text-align: left; -} - -div.menu_end { -/* border-top: 1px solid #436981; */ - margin: 0px; - padding: 0px; - height: 6px; - width: 165px; - background-repeat:no-repeat; - display: none; -} - - -td.barre { - border-right: 1px solid #000000; - border-bottom: 1px solid #000000; - background: #b3c5cc; - font-family: ; - color: #000000; - text-align: ; - text-decoration: none; -} - -td.barre_select { - background: #b3c5cc; - color: #000000; -} - -td.photo { - box-shadow: 2px 4px 2px #CCCCCC; - -moz-box-shadow: 2px 4px 2px #CCCCCC; - -webkit-box-shadow: 2px 4px 2px #CCCCCC; - border-collapse: collapse; - border: 1px solid #666; - background-color: #EDEDED; -} - - -/* ============================================================================== */ -/* Panes for Main */ -/* ============================================================================== */ - -/* - * PANES and CONTENT-DIVs - */ - -#mainContent, #leftContent .ui-layout-pane { - padding: 0px; - overflow: auto; -} - -#mainContent, #leftContent .ui-layout-center { - padding: 0px; - position: relative; /* contain floated or positioned elements */ - overflow: auto; /* add scrolling to content-div */ -} - - -/* ============================================================================== */ -/* Toolbar for ECM or Filemanager */ -/* ============================================================================== */ - -.toolbar { - background-image: url(theme.'/img/tmenu2.png',1); ?>) !important; - background-repeat: repeat-x !important; - border: 1px solid #BBB !important; -} - -a.toolbarbutton { - margin-top: 1px; - margin-left: 4px; - margin-right: 4px; - height: 30px; -/* border: solid 1px #AAAAAA; - width: 32px; - background: #FFFFFF;*/ -} -img.toolbarbutton { - margin-top: 2px; - height: 28px; -} - - -/* ============================================================================== */ -/* Panes for ECM or Filemanager */ -/* ============================================================================== */ - -#containerlayout .layout-with-no-border { - border: 0 !important; - border-width: 0 !important; -} - -#containerlayout .layout-padding { - padding: 2px !important; -} - -/* - * PANES and CONTENT-DIVs - */ -#containerlayout .ui-layout-pane { /* all 'panes' */ - background: #FFF; - border: 1px solid #BBB; - /* DO NOT add scrolling (or padding) to 'panes' that have a content-div, - otherwise you may get double-scrollbars - on the pane AND on the content-div - */ - padding: 0px; - overflow: auto; -} -/* (scrolling) content-div inside pane allows for fixed header(s) and/or footer(s) */ -#containerlayout .ui-layout-content { - padding: 10px; - position: relative; /* contain floated or positioned elements */ - overflow: auto; /* add scrolling to content-div */ -} - -/* - * RESIZER-BARS - */ -.ui-layout-resizer { /* all 'resizer-bars' */ - width: dol_optimize_smallscreen)?'8':'24'); ?>px !important; -} -.ui-layout-resizer-hover { /* affects both open and closed states */ -} -/* NOTE: It looks best when 'hover' and 'dragging' are set to the same color, - otherwise color shifts while dragging when bar can't keep up with mouse */ -/*.ui-layout-resizer-open-hover ,*/ /* hover-color to 'resize' */ -.ui-layout-resizer-dragging { /* resizer beging 'dragging' */ - background: #DDD; - width: dol_optimize_smallscreen)?'8':'24'); ?>px; -} -.ui-layout-resizer-dragging { /* CLONED resizer being dragged */ - border-left: 1px solid #BBB; - border-right: 1px solid #BBB; -} -/* NOTE: Add a 'dragging-limit' color to provide visual feedback when resizer hits min/max size limits */ -.ui-layout-resizer-dragging-limit { /* CLONED resizer at min or max size-limit */ - background: #E1A4A4; /* red */ -} -.ui-layout-resizer-closed:hover { - background-color: #EEDDDD; -} -.ui-layout-resizer-sliding { /* resizer when pane is 'slid open' */ - opacity: .10; /* show only a slight shadow */ - filter: alpha(opacity=10); - } - .ui-layout-resizer-sliding-hover { /* sliding resizer - hover */ - opacity: 1.00; /* on-hover, show the resizer-bar normally */ - filter: alpha(opacity=100); - } -/* sliding resizer - add 'outside-border' to resizer on-hover - * this sample illustrates how to target specific panes and states */ -.ui-layout-resizer-north-sliding-hover { border-bottom-width: 1px; } -.ui-layout-resizer-south-sliding-hover { border-top-width: 1px; } -.ui-layout-resizer-west-sliding-hover { border-right-width: 1px; } -.ui-layout-resizer-east-sliding-hover { border-left-width: 1px; } - -/* - * TOGGLER-BUTTONS - */ -.ui-layout-toggler { - border-top: 1px solid #AAA; /* match pane-border */ - border-right: 1px solid #AAA; /* match pane-border */ - border-bottom: 1px solid #AAA; /* match pane-border */ - background-color: #DDD; - top: 5px !important; - } -.ui-layout-toggler-open { - height: 48px !important; - width: 5px !important; - -moz-border-radius:0px 10px 10px 0px; - -webkit-border-radius:0px 10px 10px 0px; - border-radius:0px 10px 10px 0px; -} -.ui-layout-toggler-closed { - height: 48px !important; - width: 5px !important; - -moz-border-radius:0px 10px 10px 0px; - -webkit-border-radius:0px 10px 10px 0px; - border-radius:0px 10px 10px 0px; -} -.ui-layout-toggler .content { /* style the text we put INSIDE the togglers */ - color: #666; - font-size: 12px; - font-weight: bold; - width: 100%; - padding-bottom: 0.35ex; /* to 'vertically center' text inside text-span */ -} - -/* hide the toggler-button when the pane is 'slid open' */ -.ui-layout-resizer-sliding ui-layout-toggler { - display: none; -} - -.ui-layout-north { - height: dol_optimize_smallscreen)?'40':'40'); ?>px !important; -} - -/* ECM */ - -#containerlayout .ecm-layout-pane { /* all 'panes' */ - background: #FFF; - border: 1px solid #BBB; - /* DO NOT add scrolling (or padding) to 'panes' that have a content-div, - otherwise you may get double-scrollbars - on the pane AND on the content-div - */ - padding: 0px; - overflow: auto; -} -/* (scrolling) content-div inside pane allows for fixed header(s) and/or footer(s) */ -#containerlayout .ecm-layout-content { - padding: 10px; - position: relative; /* contain floated or positioned elements */ - overflow: auto; /* add scrolling to content-div */ -} - -.ecm-layout-toggler { - background-color: #DDD; - } -.ecm-layout-toggler-open { - height: 48px !important; - width: 6px !important; -} -.ecm-layout-toggler-closed { - height: 48px !important; - width: 6px !important; -} -.ecm-layout-toggler .content { /* style the text we put INSIDE the togglers */ - color: #666; - font-size: 12px; - font-weight: bold; - width: 100%; - padding-bottom: 0.35ex; /* to 'vertically center' text inside text-span */ -} -#ecm-layout-west-resizer { - width: 6px !important; -} - -.ecm-layout-resizer { /* all 'resizer-bars' */ - border: 1px solid #BBB; - border-width: 0; - } -.ecm-layout-resizer-closed { -} - -.ecm-in-layout-center { - border-left: 1px !important; - border-right: 0px !important; - border-top: 0px !important; -} - -.ecm-in-layout-south { - border-left: 0px !important; - border-right: 0px !important; - border-bottom: 0px !important; - padding: 4px 0 4px 4px !important; -} - - - -/* ============================================================================== */ -/* Onglets */ -/* ============================================================================== */ - -div.tabs { - top: 20px; - margin: 0px 0px 10px 0px; - text-align: left; - width: 100%; - background-image: url(); - height: 25px; - background-repeat: repeat-x; - background-position: left; -} - -div.tabs a.tabTitle { - padding: 4px 10px; - margin-left: 25px; - position: relative; - float: left; - height: 17px; - color: #FFF; - line-height: 16px; - font-weight: bold; - font-size: 14px; - display: block; - background-color: #202020; -} - -div.tabs a.tabTitle img { -position: absolute; -top: 4px; -left: -20px; -} - -div.tabs a.tab { - display: block; - width: auto; - font-size: 11px; - height: 25px; - line-height: 25px; - color: #FFFFFF; - text-decoration: none; - position: relative; - padding: 0px 10px 0px 10px; -} - -div.tabs a.tab:active, .tabactive { - background-color: #888 !important; - color: #D45416; - border-bottom: 0px; - background-image: none; - -} - -div.tabs a.tab:hover { - color: #FFFFFF; - background-color: #505050; -} - -/*div.tabs { - top: 20px; - margin: 1px 0px 0px 0px; - padding: 0px 6px 0px 0px; - text-align: ; -} - -*/ - -div.tabBar { - margin: 0px 0px 10px 0px; -} - -div.tabsAction { - margin: 20px 0em 1px 0em; - padding: 0em 0em; - text-align: right; -} - -/* -a.tabTitle { - background: #5088A9; - color: white; - font-family: ; - font-weight: normal; - padding: 0px 6px; - margin: 0px 6px; - text-decoration: none; - white-space: nowrap; - border-: 1px solid #555555; - border-: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; -} - -a.tab:link { - background: #dee7ec; - color: #436976; - font-family: ; - padding: 0px 6px; - margin: 0em 0.2em; - text-decoration: none; - white-space: nowrap; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - - border-: 1px solid #555555; - border-: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; -} -a.tab:visited { - background: #dee7ec; - color: #436976; - font-family: ; - padding: 0px 6px; - margin: 0em 0.2em; - text-decoration: none; - white-space: nowrap; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - - border-: 1px solid #555555; - border-: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; -} -a.tab#active { - background: white; - border-bottom: #dee7ec 1px solid; - font-family: ; - color: #436976; - padding: 0px 6px; - margin: 0em 0.2em; - text-decoration: none; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - - border-: 1px solid #555555; - border-: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; - border-bottom: 1px solid white; -} -a.tab:hover { - background: white; - color: #436976; - font-family: ; - padding: 0px 6px; - margin: 0em 0.2em; - text-decoration: none; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - - border-: 1px solid #555555; - border-: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; -} - -a.tabimage { - color: #436976; - font-family: ; - text-decoration: none; - white-space: nowrap; -} -*/ -td.tab { - background: #dee7ec; -} - -span.tabspan { - background: #dee7ec; - color: #436976; - font-family: ; - padding: 0px 6px; - margin: 0em 0.2em; - text-decoration: none; - white-space: nowrap; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - - border-: 1px solid #555555; - border-: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; -} - -/* ============================================================================== */ -/* Boutons actions */ -/* ============================================================================== */ - -div.divButAction { margin-bottom: 1.4em; } - -.butAction, .butAction:link, .butAction:visited, .butAction:hover, .butAction:active, .butActionDelete, .butActionDelete:link, .butActionDelete:visited, .butActionDelete:hover, .butActionDelete:active { - font-family:"Trebuchet MS",Arial,Helvetica,sans-serif; - font-weight: bold; - background: url() repeat-x; - color: #FFF !important; - padding: 0px 10px 0px 10px; - margin: 0px 10px 0px 10px; - text-decoration: none; - white-space: nowrap; - font-size: 12px; - height: 18px; - line-height: 18px; - cursor: pointer; - margin-bottom: 10px; -} - -.butAction:hover { -} - -.butActionDelete { - background: url() repeat-x !important; - color: #FFF; -} - -.butActionDelete:link, .butActionDelete:visited, .butActionDelete:hover, .butActionDelete:active { -} - -.butActionDelete:hover { -} - -.butActionRefused { - font-family:"Trebuchet MS",Arial,Helvetica,sans-serif; - font-weight: bold; - background: url() repeat-x; - color: #AAA !important; - padding: 0px 10px 0px 10px; - margin: 0px 10px 0px 10px; - text-decoration: none; - white-space: nowrap; - font-size: 12px; - height: 18px; - line-height: 18px; - margin-bottom: 10px; - cursor: not-allowed; -} - -global->MAIN_BUTTON_HIDE_UNAUTHORIZED)) { ?> -.butActionRefused { - display: none; -} - - -span.butAction, span.butActionDelete { - cursor: pointer; -} - - -/* ============================================================================== */ -/* Tables */ -/* ============================================================================== */ - -.allwidth { - width: 100%; -} - -/* -#undertopmenu { -background-image: url(""); -background-repeat: repeat-x; -} -*/ - -.paddingrightonly { - border-collapse: collapse; - border: 0px; - margin-left: 0px; - padding-: 0px !important; - padding-: 4px !important; -} -.nocellnopadd { -list-style-type:none; -margin: 0px; -padding: 0px; -} - -.boxhandle { - margin: 1px 1px 0px 0px; -} - -.notopnoleft { -border-collapse: collapse; -border: 0px; -padding-top: 0px; -padding-: 0px; -padding-: 10px; -padding-bottom: 4px; -margin: 0px 0px; -} -.notopnoleftnoright { -border-collapse: collapse; -border: 0px; -padding-top: 0px; -padding-left: 0px; -padding-right: 0px; -padding-bottom: 4px; -margin: 0px 0px 0px 0px; -} - - -table.border, table.dataTable, .table-border, .table-border-col, .table-key-border-col, .table-val-border-col, div.border { - border-collapse: collapse; - padding: 10px; - border-spacing: 2px; - border: 1px solid #EFEFEF; -} -table.border, table.dataTable, .table-border { - -webkit-box-shadow: #CCCCCC 2px 4px 2px; - border: 2px solid #BBBBBB; -} -table.border.formdoc { - padding: 0px; - border-collapse: collapse; - border: 1px solid #666; -} - -table.border.formdoc td { - margin: 0px; - padding: 0px; - border: none; -} - -table.border td, div.border div div.tagtd { - padding: 4px; - border: 1px solid #EFEFEF; - border-spacing: 0px; - /*border-collapse: collapse;*/ - margin: 0px; -} - -table.border table td { - border: none; -} - -td.border, div.tagtable div div.border { - border-top: 1px solid #000000; - border-right: 1px solid #000000; - border-bottom: 1px solid #000000; - border-left: 1px solid #000000; -} - -.table-key-border-col { - width: 25%; - vertical-align:top; -} -.table-val-border-col { - width:auto; -} - -/* Main boxes */ - -table.noborder, div.noborder form { - /*box-shadow: 2px 4px 2px #CCCCCC; - -moz-box-shadow: 2px 4px 2px #CCCCCC; - -webkit-box-shadow: 2px 4px 2px #CCCCCC; */ - border-collapse: collapse; - /*border: 1px solid #666;*/ - -} - -table.noborder tr, div.noborder form { -} - -table.noborder td, div.noborder div { -} - -table.nobordernopadding { -border-collapse: collapse; -border: 0px; -} -table.nobordernopadding tr { -border: 0px; -padding: 0px 0px; -} -table.nobordernopadding td { - border: 0px; - padding: 0px 0px 0px 0px !important; -} - -/* For lists */ - -table.liste { - /*background-image: url();*/ - background-repeat: no-repeat; - background-position: top right; - vertical-align: text-top; - border-collapse: collapse; -} -table.liste td { -padding: 0px 5px; -} - -table.noborder { - /*background-image: url();*/ - background-repeat: no-repeat; - background-position: top right; - vertical-align: text-top; -} - -.tagtable, .table-border { display: table; } -.tagtr, .table-border-row { display: table-row; } -.tagtd, .table-border-col, .table-key-border-col, .table-val-border-col { display: table-cell; } - -/* Pagination */ -div.refidpadding { - padding-top: dol_use_jmobile)?'8':'12'; ?>px; -} -div.refid { - padding-top: dol_use_jmobile)?'5':'12'; ?>px; - font-weight: bold; - color: #666; - font-size: 120%; -} - -div.pagination { - float: right; -} -div.pagination a { - font-weight: normal; -} -div.pagination ul -{ - list-style: none; - display: inline-block; - padding-left: 0px; - padding-right: 0px; - margin: 0; -} -div.pagination li { - display: inline-block; - padding-left: 0px; - padding-right: 0px; - padding-top: 6px; - padding-bottom: 6px; -} -.pagination { - display: inline-block; - padding-left: 0; - border-radius: 4px; -} - -div.pagination li a, -div.pagination li span { - /*position: relative;*/ - /*float: left;*/ - padding: 6px 12px; - margin-left: -1px; - line-height: 1.42857143; - color: #000; - text-decoration: none; - background-color: #fff; - border: 1px solid #ddd; -} -div.pagination li:first-child a, -div.pagination li:first-child span { - margin-left: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} -div.pagination li:last-child a, -div.pagination li:last-child span { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} -div.pagination li a:hover, -div.pagination li span:hover, -div.pagination li a:focus, -div.pagination li span:focus { - color: #000; - background-color: #eee; - border-color: #ddd; -} -div.pagination li .active a, -div.pagination li .active span, -div.pagination li .active a:hover, -div.pagination li .active span:hover, -div.pagination li .active a:focus, -div.pagination li .active span:focus { - z-index: 2; - color: #fff; - cursor: default; - background-color: ; - border-color: #337ab7; -} -div.pagination .disabled span, -div.pagination .disabled span:hover, -div.pagination .disabled span:focus, -div.pagination .disabled a, -div.pagination .disabled a:hover, -div.pagination .disabled a:focus { - color: #777; - cursor: not-allowed; - background-color: #fff; - border-color: #ddd; -} -div.pagination li .active { - text-decoration: underline; -} -div.pagination li.paginationafterarrows { - margin-left: 10px; -} - -tr.liste_titre, form.liste_titre { - height: 25px; - background-repeat: no-repeat; - background-color: #C8C8C8; - color: #333333; - font-family: ; - font-weight: normal; - /* text-decoration: underline; */ - /* border-bottom: 1px solid #FDFFFF; */ - background-image: url(); - background-position: top right; -} - -th.liste_titre_sel, td.liste_titre_sel, th.liste_titre { - color: #FFFFFF !important; -} - -tr.liste_total, form.liste_total { - height: 25px; - border-top: 1px solid #333; -} - -div#stats { -} - -div.liste_titre, tr.liste_titre, form.liste_titre { - text-align: ; -} - -div.liste_titre a, tr.liste_titre a, form.liste_titre a { - color: #333333; - margin: 0px 5px; -} - -div.liste_titre td, tr.liste_titre td, form.liste_titre div { - padding: 0px 5px; - vertical-align: middle; - background: none !important; -} - -div.liste_titre, th.liste_titre, td.liste_titre -{ - background-repeat: repeat-x; - color: #333333; - font-family: ; - font-weight: normal; - background-image: none; - background: none; -} - -div.liste_titre input.button, tr.liste_titre input.button, form.liste_titre input.button { - float: left; - position: relative; - /*margin: 30px 10px 10px 0px;*/ -} - -th.liste_titre_sel, td.liste_titre_sel, div.liste_titre_sel -{ - background: #505050; - background-repeat: repeat-x; - color: #FFFFFF; - font-family: ; - font-weight: normal; - /* text-decoration: underline; */ - /* border-bottom: 1px solid #FDFFFF; */ -} - -input.liste_titre { - background: transparent; - background-repeat: repeat-x; - border: 0px; -} - -tr.liste_total td, form.liste_total div { - border-top: 1px solid #DDDDDD; - background: #F0F0F0; - background-repeat: repeat-x; - color: #332266; - font-weight: normal; - padding: 5px; -} - -.impair { - background: #eaeaea; - font-family: ; - border: 0px; -} - -.impair:hover { - background: #c0c4c7; - border: 0px; -} - -tr.impair td.nohover, form.impair div.nohover { - background: #eaeaea; -} - -.pair { - background: #FFFFFF; - font-family: ; - border: 0px; -} - -.pair:hover { - background: #c0c4c7; - border: 0px; -} - -tr.pair td.nohover { - background: #FFFFFF; -} - -.pair td, .impair td, .pair div, .impair div -{ - padding: 2px 3px !important; -} - -.noshadow { - -moz-box-shadow: 0px 0px 0px #CCC !important; - -webkit-box-shadow: 0px 0px 0px #CCC !important; - box-shadow: 0px 0px 0px #CCC !important; -} - - -/* - * Boxes - */ - -.boxstats { - - margin: 4px; - padding: 4px; - /*-moz-box-shadow: 4px 4px 4px #DDD; - -webkit-box-shadow: 4px 4px 4px #DDD; - box-shadow: 4px 4px 4px #DDD; - margin-bottom: 8px !important;*/ - border: 1px solid #AAA; - text-align: center; - border-radius: 5px; -} - -.box { - padding-right: 0px; - padding-left: 0px; - padding-bottom: 4px; -} - -tr.box_titre { - height: 24px; - background: #7699A9; - background-image: url(); - background-repeat: repeat-x; - color: #FFFFFF; - font-family: , sans-serif; - font-weight: normal; - border-bottom: 1px solid #FDFFFF; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; -} - -tr.box_titre td.boxclose { - width: 30px; -} - -tr.box_impair { -/* background: #e6ebed; */ -background: #eaeaea; -font-family: ; -} - -tr.box_pair { -/* background: #d0d4d7; */ -background: #f4f4f4; -font-family: ; -} - -.formboxfilter { - vertical-align: middle; - margin-bottom: 6px; -} -.formboxfilter input[type=image] -{ - top: 3px; - position: relative; -} - - - -/* - * Ok, Warning, Error - */ - -.ok { color: #114466; } -.warning { color: #887711; } -.error { color: #550000 !important; font-weight: bold; } - -td.highlights { background: #f9c5c6; } - -div.ok { - color: #114466; -} - -div.warning { - color: #997711; - padding: 0.2em 0.2em 0.2em 0.2em; - margin: 0.5em 0em 0.5em 0em; - border: 1px solid #c0c0d0; - -moz-border-radius:6px; - background: #efefd4; -} - -div.error { - color: #FFFFFF; - font-weight: bold; - text-align: left; - padding-left: 10px; - background-color: #AD1800; - height: 20px; - line-height: 20px; - margin-bottom: 20px; -} - -#login div.error { - margin-top: 20px; - } - -/* Info admin */ -div.info { - color: #505050; - padding: 0.2em 0.2em 0.2em 0.2em; - margin: 0.5em 0em 0.5em 0em; - border: 1px solid #878003; - background: #F4EAA2; -} - - -/* - * Liens Payes/Non payes - */ - -a.normal:link { font-weight: normal } -a.normal:visited { font-weight: normal } -a.normal:active { font-weight: normal } -a.normal:hover { font-weight: normal } - -a.impayee:link { font-weight: bold; color: #550000; } -a.impayee:visited { font-weight: bold; color: #550000; } -a.impayee:active { font-weight: bold; color: #550000; } -a.impayee:hover { font-weight: bold; color: #550000; } - - - -/* - * Other - */ - -.product_line_stock_ok { color: #002200; } -.product_line_stock_too_low { color: #664400; } - -.fieldrequired { font-weight: bold; color: #000055; } - -.dolgraphtitle { margin-top: 6px; margin-bottom: 4px; } -.dolgraphtitlecssboxes { margin: 0px; } - -.photo { -border: 0px; -/* filter:alpha(opacity=55); */ -/* opacity:.55; */ -} - -div.titre { - font-family: ; - font-weight: normal; - color: #842F00; - font-size: 16px; - text-decoration: none; -} - -#pictotitle { - margin-right: 15px; -} - -#dolpaymenttable { width: 600px; font-size: 13px; } -#tablepublicpayment { border: 1px solid #CCCCCC !important; width: 100%; } -#tablepublicpayment .CTableRow1 { background-color: #F0F0F0 !important; } -#tablepublicpayment tr.liste_total { border-bottom: 1px solid #CCCCCC !important; } -#tablepublicpayment tr.liste_total td { border-top: none; } - - -/* ============================================================================== */ -/* Formulaire confirmation (When Ajax JQuery is used) */ -/* ============================================================================== */ - -.ui-dialog-titlebar { -} -.ui-dialog-content { - font-size: px !important; -} - -/* ============================================================================== */ -/* Formulaire confirmation (When HTML is used) */ -/* ============================================================================== */ - -table.valid { - border-top: solid 1px #E6E6E6; - border-: solid 1px #E6E6E6; - border-: solid 1px #444444; - border-bottom: solid 1px #555555; - padding-top: 0px; - padding-left: 0px; - padding-right: 0px; - padding-bottom: 0px; - margin: 0px 0px; - background: #D5BAA8; -} - -.validtitre { - background: #D5BAA8; - font-weight: bold; -} - - -/* ============================================================================== */ -/* Tooltips */ -/* ============================================================================== */ - -#tooltip { -position: absolute; -width: px; -border-top: solid 1px #BBBBBB; -border-: solid 1px #BBBBBB; -border-: solid 1px #444444; -border-bottom: solid 1px #444444; -padding: 2px; -z-index: 3000; -background-color: #FFFFF0; -opacity: 1; --moz-border-radius:6px; -} - - - -/* ============================================================================== */ -/* Calendar */ -/* ============================================================================== */ - -img.datecallink { padding-left: 2px !important; padding-right: 2px !important; padding-bottom: 2px !important; } - -.ui-datepicker-trigger { - vertical-align: middle; - cursor: pointer; -} - -.bodyline { - -moz-border-radius:8px; - border: 1px #E4ECEC outset; - padding: 0px; - margin-bottom: 5px; - z-index: 3000; -} -table.dp { - width: 180px; - background-color: #FFFFFF; - border-top: solid 2px #DDDDDD; - border-: solid 2px #DDDDDD; - border-: solid 1px #222222; - border-bottom: solid 1px #222222; -} -.dp td, .tpHour td, .tpMinute td{padding:2px; font-size:10px;} -/* Barre titre */ -.dpHead,.tpHead,.tpHour td:Hover .tpHead{ - font-weight:bold; - background-color:#BB6644; - color:white !important; - font-size:11px; - cursor:auto; - text-align: center; -} -/* Barre navigation */ -.dpButtons,.tpButtons { - text-align:center; - background-color:#BB6644; - color:#FFFFFF; - font-weight:bold; - border: 1px outset black; - cursor:pointer; -} -.dpButtons:Active,.tpButtons:Active{border: 1px outset black;} -.dpDayNames td,.dpExplanation {background-color:#D9DBE1; font-weight:bold; text-align:center; font-size:11px;} -.dpExplanation{ font-weight:normal; font-size:11px;} -.dpWeek td{text-align:center} - -.dpToday,.dpReg,.dpSelected { cursor:pointer; } -.dpToday{font-weight:bold; color:black; background-color:#DDDDDD;} -.dpReg:Hover,.dpToday:Hover{background-color:black;color:white} - -/* Jour courant */ -.dpSelected {background-color:#BB6644;color:white;font-weight:bold; } - -.tpHour {border-top:1px solid #DDDDDD; border-right:1px solid #DDDDDD;} -.tpHour td {border-left:1px solid #DDDDDD; border-bottom:1px solid #DDDDDD; cursor:pointer;} -.tpHour td:Hover {background-color:black;color:white;} - -.tpMinute {margin-top:5px;} -.tpMinute td:Hover {background-color:black; color:white; } -.tpMinute td {background-color:#D9DBE1; text-align:center; cursor:pointer;} - -/* Bouton X fermer */ -.dpInvisibleButtons -{ -border-style:none; -background-color:transparent; -padding:0px; -font-size:9px; -border-width:0px; -color:#0B63A2; -vertical-align:middle; -cursor: pointer; -} - - -/* ============================================================================== */ -/* Afficher/cacher */ -/* ============================================================================== */ - -div.visible { - display: block; -} - -div.hidden { - display: none; -} - -tr.visible { - display: block; -} - -td.hidden { - display: none; -} - - -/* ============================================================================== */ -/* Module agenda */ -/* ============================================================================== */ - -table.cal_month { border-spacing: 0px; } -.cal_current_month { border-top: 0; border-left: solid 1px #E0E0E0; border-right: 0; border-bottom: solid 1px #E0E0E0; } -.cal_current_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B; border-right: 0; border-bottom: solid 1px #E0E0E0; } -.cal_other_month { border-top: 0; border-left: solid 1px #C0C0C0; border-right: 0; border-bottom: solid 1px #C0C0C0; } -.cal_other_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B !important; border-right: 0; } -.cal_current_month_right { border-right: solid 1px #E0E0E0; } -.cal_other_month_right { border-right: solid 1px #C0C0C0; } -.cal_other_month { background: #DDDDDD; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_past_month { background: #EEEEEE; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_current_month { background: #FFFFFF; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_current_month_peruserleft { background: #FFFFFF; border-left: solid 3px #6C7C7B; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_today { background: #FFFFFF; border: solid 2px #C0C0C0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_today_peruser { background: #FFFFFF; border-right: solid 1px #6C7C7B; border-top: solid 1px #A0A0A0; border-bottom: solid 1px #A0A0A0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_today_peruser_peruserleft { background: #FFFFFF; border-left: solid 3px #6C7C7B; border-top: solid 1px #A0A0A0; border-right: solid 1px #6C7C7B; border-bottom: solid 1px #A0A0A0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -table.cal_event { border-collapse: collapse; margin-bottom: 1px; } -table.cal_event td { border: 0px; padding-: 0px; padding-: 2px; padding-top: 0px; padding-bottom: 0px; } -ul.cal_event { padding-right: 2px; padding-top: 1px; border: none; list-style-type: none; margin: 0 auto; padding-left: 0px; padding-start: 0px; -khtml-padding-start: 0px; -o-padding-start: 0px; -webkit-padding-start: 0px; -webkit-padding-start: 0px; } -li.cal_event { border: none; list-style-type: none; } -.cal_event a:link { color: #111111; font-size: 11px; font-weight: normal !important; } -.cal_event a:visited { color: #111111; font-size: 11px; font-weight: normal !important; } -.cal_event a:active { color: #111111; font-size: 11px; font-weight: normal !important; } -.cal_event a:hover { color: #111111; font-size: 11px; font-weight: normal !important; } -.peruser_busy { background: #CC8888; } -.peruser_notbusy { background: #EEDDDD; } - - -/* ============================================================================== */ -/* Ajax - Liste deroulante de l'autocompletion */ -/* ============================================================================== */ - -.ui-autocomplete-loading { background: white url() right center no-repeat; } -.ui-autocomplete { - position:absolute; - width:auto; - font-size: 1.0em; - background-color:white; - border:1px solid #888; - margin:0px; - padding:0px; - } -.ui-autocomplete ul { - list-style-type:none; - margin:0px; - padding:0px; - } -.ui-autocomplete ul li.selected { background-color: #D3E5EC;} -.ui-autocomplete ul li { - list-style-type:none; - display:block; - margin:0; - padding:2px; - height:18px; - cursor:pointer; - } - -/* ============================================================================== */ -/* jQuery - jeditable */ -/* ============================================================================== */ - -.editkey_textarea, .editkey_ckeditor, .editkey_string, .editkey_email, .editkey_numeric, .editkey_select, .editkey_autocomplete { - background: url() right top no-repeat; - cursor: pointer; -} - -.editkey_datepicker { - background: url() right center no-repeat; - cursor: pointer; -} - -.editval_textarea.active:hover, .editval_ckeditor.active:hover, .editval_string.active:hover, .editval_email.active:hover, .editval_numeric.active:hover, .editval_select.active:hover, .editval_autocomplete.active:hover, .editval_datepicker.active:hover { - background: white; - cursor: pointer; -} - -.viewval_textarea.active:hover, .viewval_ckeditor.active:hover, .viewval_string.active:hover, .viewval_email.active:hover, .viewval_numeric.active:hover, .viewval_select.active:hover, .viewval_autocomplete.active:hover, .viewval_datepicker.active:hover { - background: white; - cursor: pointer; -} - -.viewval_hover { - background: white; -} - - -/* ============================================================================== */ -/* Admin Menu */ -/* ============================================================================== */ - -/* CSS for treeview */ -.treeview ul { background-color: transparent !important; margin-top: 0; } -.treeview li { background-color: transparent !important; padding: 0 0 0 16px !important; min-height: 20px; } -.treeview .hover { color: black !important; } - - -/* ============================================================================== */ -/* Show Excel tabs */ -/* ============================================================================== */ - -.table_data -{ - border-style:ridge; - border:1px solid; -} -.tab_base -{ - background:#C5D0DD; - font-weight:bold; - border-style:ridge; - border: 1px solid; - cursor:pointer; -} -.table_sub_heading -{ - background:#CCCCCC; - font-weight:bold; - border-style:ridge; - border: 1px solid; -} -.table_body -{ - background:#F0F0F0; - font-weight:normal; - font-family:sans-serif; - border-style:ridge; - border: 1px solid; - border-spacing: 0px; - border-collapse: collapse; -} -.tab_loaded -{ - background:#222222; - color:white; - font-weight:bold; - border-style:groove; - border: 1px solid; - cursor:pointer; -} - - -/* ============================================================================== */ -/* CSS for color picker */ -/* ============================================================================== */ - -A.color, A.color:active, A.color:visited { - position : relative; - display : block; - text-decoration : none; - width : 10px; - height : 10px; - line-height : 10px; - margin : 0px; - padding : 0px; - border : 1px inset white; -} -A.color:hover { - border : 1px outset white; -} -A.none, A.none:active, A.none:visited, A.none:hover { - position : relative; - display : block; - text-decoration : none; - width : 10px; - height : 10px; - line-height : 10px; - margin : 0px; - padding : 0px; - cursor : default; - border : 1px solid #b3c5cc; -} -.tblColor { - display : none; -} -.tdColor { - padding : 1px; -} -.tblContainer { - background-color : #b3c5cc; -} -.tblGlobal { - position : absolute; - top : 0px; - left : 0px; - display : none; - background-color : #b3c5cc; - border : 2px outset; -} -.tdContainer { - padding : 5px; -} -.tdDisplay { - width : 50%; - height : 20px; - line-height : 20px; - border : 1px outset white; -} -.tdDisplayTxt { - width : 50%; - height : 24px; - line-height : 12px; - font-family : ; - font-size : 8pt; - color : black; - text-align : center; -} -.btnColor { - width : 100%; - font-family : ; - font-size : 10pt; - padding : 0px; - margin : 0px; -} -.btnPalette { - width : 100%; - font-family : ; - font-size : 8pt; - padding : 0px; - margin : 0px; -} - - -/* Style to overwrites JQuery styles */ -.ui-menu .ui-menu-item a { - text-decoration:none; - display:block; - padding:.2em .4em; - line-height:1.5; - zoom:1; - font-weight: normal; - font-family:; - font-size:1em; -} -.ui-widget { - font-family:; - font-size:px; -} -.ui-button { margin-left: -1px; padding-top: 1px; } -.ui-button-icon-only .ui-button-text { height: 8px; } -.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: 2px 0px 6px 0px; } -.ui-button-text -{ - line-height: 1em !important; -} -.ui-autocomplete-input { margin: 0; padding: 1px; } - - -table.noborder { - margin-bottom: 10px; - position: relative; - border: none; -} - -div.leftContent { - background-color: #FFF; -} - - -/* ============================================================================== */ -/* CKEditor */ -/* ============================================================================== */ - -.cke_editor table, .cke_editor tr, .cke_editor td -{ - border: 0px solid #FF0000 !important; -} -span.cke_skin_kama { padding: 0 !important; } -.cke_wrapper { padding: 4px !important; } - -a.cke_dialog_ui_button -{ - font-family: !important; - background-image: url() !important; - background-position: bottom !important; - border: 1px solid #ACBCBB !important; - -moz-border-radius:0px 5px 0px 5px !important; - -webkit-border-radius:0px 5px 0px 5px !important; - border-radius:0px 5px 0px 5px !important; - -moz-box-shadow: 4px 4px 4px #CCC !important; - -webkit-box-shadow: 4px 4px 4px #CCC !important; - box-shadow: 4px 4px 4px #CCC !important; -} - - -/* ============================================================================== */ -/* File upload */ -/* ============================================================================== */ - -.template-upload { - height: 72px !important; -} - - -/* ============================================================================== */ -/* Login */ -/* ============================================================================== */ - -#login { - display: block; - height: auto; - top: 20px; - margin-bottom: 30px; - } - -div#infoVersion { - position: relative; - width: 100%; - height: 15px; - line-height: 15px; - text-align: center; - font-size: 10px; - background-color: #D6D6D6; - } - -div#logoBox { - position: relative; - width: 100%; - height: auto; - margin-top: 30px; - text-align: center; - } - -div#parameterBox { - position: relative; - width: 100%; - height: auto; - border: 1px solid #666; - border-top: 2px solid #842F00; - background-image: url(); - background-repeat: no-repeat; - background-position: top center; - } - -div#parameterBox div { - width: 100%; - height: 20px; - position: relative; - line-height: 20px; - } - -div#parameterBox div label { - width: 190px; - text-align: right; - display: block; - float: left; - margin-right: 10px; - } - -div#parameterBox div input[type="text"], -div#parameterBox div input[type="password"] { - width: 180px; - height: 16px; - font-size: 10px; - margin-top: 2px; - } - -div#connectionLine { - margin: 10px 0px; - text-align: center; - } - -div#logBox { -margin-top: 25px; -} - -div.captchaBox { - margin-top: 10px; - } - -div.captchaImg { - margin-bottom: 10px; - margin-top: 5px; - height: 40px !important; - } - -img#captcha { - margin-left: 200px; - } - -#captcha_refresh_img { - margin-bottom: 6px; -} - -div#infoLogin { - width: 100%; - height: auto; - text-align: center; - margin-top: 20px; - color: #666; - position: relative; - margin-bottom: 20px; -} - -div.other { - margin: 10px 0px; - text-align: center; - position: relative; - width: 480px; - left: 50%; - margin-left: -240px; - } - -form.listactionsfilter img { - display: none; - } - -form.listactionsfilter input[type="submit"] { - margin: 2px 0px; -} - - - -/* ============================================================================== */ -/* JSGantt */ -/* ============================================================================== */ - -div.scroll2 { - width: px !important; -} - - -/* ============================================================================== */ -/* jFileTree */ -/* ============================================================================== */ - -.ecmfiletree { - width: 99%; - height: 99%; - background: #FFF; - padding-left: 2px; - font-weight: normal; -} - -.fileview { - width: 99%; - height: 99%; - background: #FFF; - padding-left: 2px; - padding-top: 4px; - font-weight: normal; -} - -div.filedirelem { - position: relative; - display: block; - text-decoration: none; -} - -ul.filedirelem { - padding: 2px; - margin: 0 5px 5px 5px; -} -ul.filedirelem li { - list-style: none; - padding: 2px; - margin: 0 10px 20px 10px; - width: 160px; - height: 120px; - text-align: center; - display: block; - float: ; - border: solid 1px #DDDDDD; -} - -ui-layout-north { - -} - -ul.ecmjqft { - font-size: 11px; - line-height: 16px; - padding: 0px; - margin: 0px; - font-weight: normal; -} - -ul.ecmjqft li { - list-style: none; - padding: 0px; - padding-left: 20px; - margin: 0px; - white-space: nowrap; - display: block; -} - -ul.ecmjqft a { - line-height: 16px; - vertical-align: middle; - color: #333; - padding: 0px 0px; - font-weight:normal; - display: inline-block !important; -/* float: left;*/ -} -ul.ecmjqft a:active { - font-weight: bold !important; -} -ul.ecmjqft a:hover { - text-decoration: underline; -} -div.ecmjqft { - vertical-align: middle; - display: inline-block !important; - text-align: right; - position:absolute; - right:8px; -} - -/* Core Styles */ -.ecmjqft LI.directory { font-weight:normal; background: url() left top no-repeat; } -.ecmjqft LI.expanded { font-weight:normal; background: url() left top no-repeat; } -.ecmjqft LI.wait { font-weight:normal; background: url() left top no-repeat; } - - -/* ============================================================================== */ -/* jNotify */ -/* ============================================================================== */ - -.jnotify-container { - position: fixed !important; -global->MAIN_JQUERY_JNOTIFY_BOTTOM)) { ?> - top: auto !important; - bottom: 4px !important; - - text-align: center; - min-width: px; - width: auto; - padding-left: 10px !important; - padding-right: 10px !important; -} - - -/* ============================================================================== */ -/* Maps */ -/* ============================================================================== */ - -.divmap, #google-visualization-geomap-embed-0, #google-visualization-geomap-embed-1, google-visualization-geomap-embed-2 { - -moz-box-shadow: 0px 0px 10px #AAA; - -webkit-box-shadow: 0px 0px 10px #AAA; - box-shadow: 0px 0px 10px #AAA; -} - - -/* ============================================================================== */ -/* Datatable */ -/* ============================================================================== */ - -.sorting_asc { background: url('') no-repeat center right; } -.sorting_desc { background: url('') no-repeat center right; } -.sorting_asc_disabled { background: url('') no-repeat center right; } -.sorting_desc_disabled { background: url('') no-repeat center right; } -.paginate_disabled_previous:hover, .paginate_enabled_previous:hover, .paginate_disabled_next:hover, .paginate_enabled_next:hover -{ - font-weight: normal; -} -.paginate_enabled_previous:hover, .paginate_enabled_next:hover -{ - text-decoration: underline !important; -} -.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled, .paginate_button_disabled { - opacity: .35; - filter: Alpha(Opacity=35); - background-image: none; -} - - -/* ============================================================================== */ -/* Select2 */ -/* ============================================================================== */ - -.selectoptiondisabledwhite { - background: #FFFFFF !important; -} - -.select2-choice, -.select2-drop.select2-drop-above.select2-drop-active, -.select2-container-active .select2-choice, -.select2-container-active .select2-choices, -.select2-dropdown-open.select2-drop-above .select2-choice, -.select2-dropdown-open.select2-drop-above .select2-choices, -.select2-container-multi.select2-container-active .select2-choices -{ - border: 1px solid #aaa; -} -.select2-disabled -{ - color: #888; -} -.select2-drop-active -{ - border: 1px solid #aaa; - border-top: none; -} -a span.select2-chosen -{ - font-weight: normal !important; -} -.select2-container .select2-choice { - background-image: none; - height: 24px; - line-height: 24px; -} -.select2-choices .select2-search-choice { - border: 1px solid #aaa !important; -} -.select2-results .select2-no-results, .select2-results .select2-searching, .select2-results .select2-ajax-error, .select2-results .select2-selection-limit -{ - background: #FFFFFF; -} -.select2-container-multi.select2-container-disabled .select2-choices { - background-color: #FFFFFF; - background-image: none; - border: none; - cursor: default; -} -.select2-container-multi .select2-choices .select2-search-choice { - margin-bottom: 3px; -} -/* To emulate select 2 style */ -.select2-container-multi-dolibarr .select2-choices-dolibarr .select2-search-choice-dolibarr { - padding: 2px 5px 1px 5px; - margin: 0 0 2px 3px; - position: relative; - line-height: 13px; - color: #333; - cursor: default; - border: 1px solid #aaaaaa; - border-radius: 3px; - -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); - box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); - background-clip: padding-box; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: #e4e4e4; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0); - background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee)); - background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); - background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); - background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); -} -.select2-container-multi-dolibarr .select2-choices-dolibarr .select2-search-choice-dolibarr a { - font-weight: normal; -} -.select2-container-multi-dolibarr .select2-choices-dolibarr li { - float: left; - list-style: none; -} -.select2-container-multi-dolibarr .select2-choices-dolibarr { - height: auto !important; - height: 1%; - margin: 0; - padding: 0 5px 0 0; - position: relative; - cursor: text; - overflow: hidden; -} - - -/* ============================================================================== */ -/* JMobile */ -/* ============================================================================== */ - -li.ui-li-divider .ui-link { - color: #FFF !important; -} -.ui-btn { - margin: 0.1em 2px -} -a.ui-link, a.ui-link:hover, .ui-btn:hover, span.ui-btn-text:hover, span.ui-btn-inner:hover { - text-decoration: none !important; -} - -.ui-btn-inner { - padding-left: 10px; - padding-right: 10px; - /* white-space: normal; */ /* Warning, enable this break the truncate feature */ -} -.ui-select .ui-btn-icon-right .ui-btn-inner { - padding-right: 36px; -} -.ui-select .ui-btn-icon-left .ui-btn-inner { - padding-left: 36px; -} - -.fiche .ui-controlgroup { - margin: 0px; - padding-bottom: 0px; -} -div.ui-controlgroup-controls div.tabsElem -{ - margin-top: 2px; -} -div.ui-controlgroup-controls div.tabsElem a -{ - -moz-box-shadow: 0 -3px 6px rgba(0,0,0,.2); - -webkit-box-shadow: 0 -3px 6px rgba(0,0,0,.2); - box-shadow: 0 -3px 6px rgba(0,0,0,.2); - border: none; -} -a.tab span.ui-btn-inner -{ - border: none; - padding: 0; -} - -.ui-body-c { - border: 1px solid #CCC; - text-shadow: none; -} -.ui-link { - color: rgb() !important; -} - -a.ui-link { - word-wrap: break-word; -} - -/* force wrap possible onto field overflow does not works */ -.formdoc .ui-btn-inner -{ - white-space: normal; - overflow: hidden; - text-overflow: hidden; -} - -/* Warning: setting this may make screen not beeing refreshed after a combo selection */ -.ui-body-c { - background: #fff; -} - -div.ui-radio -{ - display: inline-block; -} -.ui-checkbox input, .ui-radio input { - height: auto; - width: auto; - margin: 4px; - position: static; -} -div.ui-checkbox label+input, div.ui-radio label+input { - position: absolute; -} - -.ui-mobile fieldset -{ - padding-bottom: 10px; margin-bottom: 4px; border-bottom: 1px solid #AAAAAA !important; -} - -ul.ulmenu { - border-radius: 0; - -webkit-border-radius: 0; -} -.ui-body-c, .ui-btn-up-c, .ui-btn-hover-c { - border: none !important; -} - -/* Style for first level menu with jmobile */ -.ui-bar-b, .lilevel0 { - background: rgb(); - background-repeat: repeat-x; - color: # !important; -} -.alilevel0 { - color: # !important; - text-shadow: 1px 0px 1px #; -} -.alilevel1 { - color: # !important; - text-shadow: 1px 0px 1px #; -} -.lilevel1 { - background-image: -webkit-gradient(linear,left top,left bottom,from( #eee ),to( #e1e1e1 )) !important; - background-image: -webkit-linear-gradient( #eee,#e1e1e1 ) !important; - background-image: -moz-linear-gradient( #eee,#e1e1e1 ) !important; - background-image: -ms-linear-gradient( #eee,#e1e1e1 ) !important; - background-image: -o-linear-gradient( #eee,#e1e1e1 ) !important; - background-image: linear-gradient( #eee,#e1e1e1 ) !important; -} -.lilevel2 -{ - padding-left: 22px; -} -.lilevel3 -{ - padding-left: 54px; -} - - -close(); diff --git a/htdocs/theme/bureau2crea/thumb.png b/htdocs/theme/bureau2crea/thumb.png deleted file mode 100644 index 75beae21b09..00000000000 Binary files a/htdocs/theme/bureau2crea/thumb.png and /dev/null differ diff --git a/htdocs/theme/bureau2crea/tpl/README b/htdocs/theme/bureau2crea/tpl/README deleted file mode 100644 index d3bc4b4679f..00000000000 --- a/htdocs/theme/bureau2crea/tpl/README +++ /dev/null @@ -1,3 +0,0 @@ -README (english) - -This directory is used to store custom templates. (system core and modules) \ No newline at end of file diff --git a/htdocs/theme/bureau2crea/tpl/index.html b/htdocs/theme/bureau2crea/tpl/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/cameleo/ckeditor/config.js b/htdocs/theme/cameleo/ckeditor/config.js deleted file mode 100644 index 97f1c0a0b62..00000000000 --- a/htdocs/theme/cameleo/ckeditor/config.js +++ /dev/null @@ -1,92 +0,0 @@ -/* -Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. -For licensing, see LICENSE.html or http://ckeditor.com/license -*/ - -CKEDITOR.editorConfig = function( config ) -{ - // Define changes to default configuration here. - // http://docs.cksource.com/CKEditor_3.x/Developers_Guide - // http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html - config.enterMode = CKEDITOR.ENTER_BR; - config.resize_enabled = false; - //config.resize_maxHeight = 3000; - //config.resize_maxWidth = 3000; - //config.height = '300px'; - //config.resize_dir = 'vertical'; // horizontal, vertical, both - config.removePlugins = 'elementspath,save'; // config.removePlugins = 'elementspath,save,font'; - config.removeDialogTabs = 'flash:advanced'; // config.removeDialogTabs = 'flash:advanced;image:Link'; - config.protectedSource.push( /<\?[\s\S]*?\?>/g ); // Prevent PHP Code to be formatted - //config.menu_groups = 'clipboard,table,anchor,link,image'; // for context menu 'clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea' - //config.language = 'de'; - //config.defaultLanguage = 'en'; - //config.contentsLanguage = 'fr'; - config.fullPage = false; // Not a full html page string, just part of it - config.dialog_backgroundCoverColor = 'rgb(255, 254, 253)'; - //config.contentsCss = '/css/mysitestyles.css'; - config.image_previewText=' '; // Must no be empty - - config.toolbar_Full = - [ - ['Source','-','Save','NewPage','Preview','-','Templates'], - ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker', 'Scayt'], - ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'], - ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'], - '/', - ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'], - ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'], - ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], - ['BidiLtr', 'BidiRtl'], - ['Link','Unlink','Anchor'], - ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe'], - '/', - ['Styles','Format','Font','FontSize'], - ['TextColor','BGColor'], - ['Maximize', 'ShowBlocks','-','About'] - ]; - - // Used for mailing fields - config.toolbar_dolibarr_mailings = - [ - ['Source','Maximize'], - ['Cut','Copy','Paste','-','SpellChecker'], - ['Undo','Redo','-','Find','Replace'], - ['Format','Font','FontSize'], - ['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'], - ['NumberedList','BulletedList','Outdent','Indent','CreateDiv'], - ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], - ['Link','Unlink','Anchor','Image','Table','HorizontalRule','SpecialChar'] - ]; - - // Used for notes fields - config.toolbar_dolibarr_notes = - [ - ['Source','Maximize'], - ['Cut','Copy','Paste','-','SpellChecker'], - ['Undo','Redo','-','Find','Replace'], - ['Format','Font','FontSize'], - ['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'], - ['NumberedList','BulletedList','Outdent','Indent'], - ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], - ['Link','Unlink','Image','Table','HorizontalRule','SpecialChar'] - ]; - - // Used for details lines - config.toolbar_dolibarr_details = - [ - ['Source','Maximize'], - ['Cut','Copy','Paste','-','SpellChecker'], - ['Font','FontSize'], - ['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'], - ['NumberedList','BulletedList','Outdent','Indent'], - ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], - ['Link','Unlink','SpecialChar'] - ]; - - // Used for mailing fields - config.toolbar_dolibarr_readonly = - [ - ['Source','Maximize'], - ['Find'] - ]; -}; diff --git a/htdocs/theme/cameleo/ckeditor/index.html b/htdocs/theme/cameleo/ckeditor/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/cameleo/graph-color.php b/htdocs/theme/cameleo/graph-color.php deleted file mode 100644 index a09ab902ecd..00000000000 --- a/htdocs/theme/cameleo/graph-color.php +++ /dev/null @@ -1,31 +0,0 @@ - - * Copyright (C) 2004-2007 Laurent Destailleur - * Copyright (C) 2010-2011 Herve Prot - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/theme/cameleo/graph-color.php - * \brief File to declare colors to use to build graphics with theme cameleo - * \ingroup core - */ - -global $theme_bordercolor, $theme_datacolor, $theme_bgcolor, $theme_bgcoloronglet; -$theme_bordercolor = array(235,235,224); -$theme_datacolor = array(array(120,130,150), array(200,160,180), array(190,190,220)); -$theme_bgcolor = array(hexdec('F4'),hexdec('F4'),hexdec('F4')); -$theme_bgcoloronglet = array(hexdec('DE'),hexdec('E7'),hexdec('EC')); - diff --git a/htdocs/theme/cameleo/img/1updownarrow.png b/htdocs/theme/cameleo/img/1updownarrow.png deleted file mode 100644 index 871ac1c1f29..00000000000 Binary files a/htdocs/theme/cameleo/img/1updownarrow.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/2.png b/htdocs/theme/cameleo/img/2.png deleted file mode 100644 index f592543dd8e..00000000000 Binary files a/htdocs/theme/cameleo/img/2.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/addfile.png b/htdocs/theme/cameleo/img/addfile.png deleted file mode 100644 index 1cb7af0ad8a..00000000000 Binary files a/htdocs/theme/cameleo/img/addfile.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/banner_02.jpg b/htdocs/theme/cameleo/img/banner_02.jpg deleted file mode 100644 index 81635fd2a59..00000000000 Binary files a/htdocs/theme/cameleo/img/banner_02.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg-bas-rubrique.png b/htdocs/theme/cameleo/img/bg-bas-rubrique.png deleted file mode 100644 index d2fbe3a7a13..00000000000 Binary files a/htdocs/theme/cameleo/img/bg-bas-rubrique.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg-rubrique.png b/htdocs/theme/cameleo/img/bg-rubrique.png deleted file mode 100644 index 9abf1dc1459..00000000000 Binary files a/htdocs/theme/cameleo/img/bg-rubrique.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg-titre-rubrique.png b/htdocs/theme/cameleo/img/bg-titre-rubrique.png deleted file mode 100644 index ad6484fcbe9..00000000000 Binary files a/htdocs/theme/cameleo/img/bg-titre-rubrique.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_ListeTitrelong.jpg b/htdocs/theme/cameleo/img/bg_ListeTitrelong.jpg deleted file mode 100644 index 05e49219bf4..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_ListeTitrelong.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_btnBlue.jpg b/htdocs/theme/cameleo/img/bg_btnBlue.jpg deleted file mode 100644 index 7409bacab3e..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_btnBlue.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_btnGreen.jpg b/htdocs/theme/cameleo/img/bg_btnGreen.jpg deleted file mode 100644 index fc1f52c65d4..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_btnGreen.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_btnGrey.jpg b/htdocs/theme/cameleo/img/bg_btnGrey.jpg deleted file mode 100644 index 48911bf6f13..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_btnGrey.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_btnRed.jpg b/htdocs/theme/cameleo/img/bg_btnRed.jpg deleted file mode 100644 index c8c7f55c85d..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_btnRed.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_btn_blue.jpg b/htdocs/theme/cameleo/img/bg_btn_blue.jpg deleted file mode 100644 index 563cebdc3e7..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_btn_blue.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_btn_green.jpg b/htdocs/theme/cameleo/img/bg_btn_green.jpg deleted file mode 100644 index d29a1bb0d61..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_btn_green.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_btn_red.jpg b/htdocs/theme/cameleo/img/bg_btn_red.jpg deleted file mode 100644 index fb11e4f2daf..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_btn_red.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_centerBlock-title.jpg b/htdocs/theme/cameleo/img/bg_centerBlock-title.jpg deleted file mode 100644 index 9666d52336a..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_centerBlock-title.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_inside.gif b/htdocs/theme/cameleo/img/bg_inside.gif deleted file mode 100644 index e2a4f5c5841..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_inside.gif and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_leftCategorie.jpg b/htdocs/theme/cameleo/img/bg_leftCategorie.jpg deleted file mode 100644 index f152d6d083f..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_leftCategorie.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_leftCategorie2.jpg b/htdocs/theme/cameleo/img/bg_leftCategorie2.jpg deleted file mode 100644 index 1a26e37a99b..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_leftCategorie2.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_leftMenu.jpg b/htdocs/theme/cameleo/img/bg_leftMenu.jpg deleted file mode 100644 index 03bca88e2ae..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_leftMenu.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_leftTable.jpg b/htdocs/theme/cameleo/img/bg_leftTable.jpg deleted file mode 100644 index 36d6f9d00d2..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_leftTable.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_liste_titremenu.jpg b/htdocs/theme/cameleo/img/bg_liste_titremenu.jpg deleted file mode 100644 index 419c8ce6bf0..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_liste_titremenu.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_other_table.jpg b/htdocs/theme/cameleo/img/bg_other_table.jpg deleted file mode 100644 index f4409cbaae5..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_other_table.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_ssmenu_btnD.jpg b/htdocs/theme/cameleo/img/bg_ssmenu_btnD.jpg deleted file mode 100644 index fd09bb40da0..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_ssmenu_btnD.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_ssmenu_btnG.jpg b/htdocs/theme/cameleo/img/bg_ssmenu_btnG.jpg deleted file mode 100644 index ca483b7b295..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_ssmenu_btnG.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_ssmenusel_btnD.jpg b/htdocs/theme/cameleo/img/bg_ssmenusel_btnD.jpg deleted file mode 100644 index 1e41b87c6ea..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_ssmenusel_btnD.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_ssmenusel_btnG.jpg b/htdocs/theme/cameleo/img/bg_ssmenusel_btnG.jpg deleted file mode 100644 index 3df9a20bcd5..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_ssmenusel_btnG.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_tmenu.jpg b/htdocs/theme/cameleo/img/bg_tmenu.jpg deleted file mode 100644 index 95fc9868971..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_tmenu.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_tmenu_btnD.jpg b/htdocs/theme/cameleo/img/bg_tmenu_btnD.jpg deleted file mode 100644 index af8c5f9e49c..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_tmenu_btnD.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_tmenu_btnG.jpg b/htdocs/theme/cameleo/img/bg_tmenu_btnG.jpg deleted file mode 100644 index fc9152e2b0d..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_tmenu_btnG.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_tmenusel_btnD.jpg b/htdocs/theme/cameleo/img/bg_tmenusel_btnD.jpg deleted file mode 100644 index ab0be94ee9c..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_tmenusel_btnD.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_tmenusel_btnG.jpg b/htdocs/theme/cameleo/img/bg_tmenusel_btnG.jpg deleted file mode 100644 index 3e488176929..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_tmenusel_btnG.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_vmenu.jpg b/htdocs/theme/cameleo/img/bg_vmenu.jpg deleted file mode 100644 index 84d883d8d69..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_vmenu.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bg_working_table.jpg b/htdocs/theme/cameleo/img/bg_working_table.jpg deleted file mode 100644 index 881e65fcb7b..00000000000 Binary files a/htdocs/theme/cameleo/img/bg_working_table.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/blue-dot.png b/htdocs/theme/cameleo/img/blue-dot.png deleted file mode 100644 index 98b280d3019..00000000000 Binary files a/htdocs/theme/cameleo/img/blue-dot.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/body_bg.jpg b/htdocs/theme/cameleo/img/body_bg.jpg deleted file mode 100644 index 0480bfdc738..00000000000 Binary files a/htdocs/theme/cameleo/img/body_bg.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bouton/index.html b/htdocs/theme/cameleo/img/bouton/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/cameleo/img/bouton/menu_l_title_bg.png b/htdocs/theme/cameleo/img/bouton/menu_l_title_bg.png deleted file mode 100644 index 10e03744ace..00000000000 Binary files a/htdocs/theme/cameleo/img/bouton/menu_l_title_bg.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bouton/round_black_tr.png b/htdocs/theme/cameleo/img/bouton/round_black_tr.png deleted file mode 100644 index f0ea7d10c5c..00000000000 Binary files a/htdocs/theme/cameleo/img/bouton/round_black_tr.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/bouton_edit.png b/htdocs/theme/cameleo/img/bouton_edit.png deleted file mode 100644 index 3d36eb0523f..00000000000 Binary files a/htdocs/theme/cameleo/img/bouton_edit.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/button_bg.png b/htdocs/theme/cameleo/img/button_bg.png deleted file mode 100644 index 7e8a806b28f..00000000000 Binary files a/htdocs/theme/cameleo/img/button_bg.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/calc.png b/htdocs/theme/cameleo/img/calc.png deleted file mode 100644 index 5e6471408d8..00000000000 Binary files a/htdocs/theme/cameleo/img/calc.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/calendar.png b/htdocs/theme/cameleo/img/calendar.png deleted file mode 100644 index bbe6c27f041..00000000000 Binary files a/htdocs/theme/cameleo/img/calendar.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/call.png b/htdocs/theme/cameleo/img/call.png deleted file mode 100644 index ddfc1b7bd90..00000000000 Binary files a/htdocs/theme/cameleo/img/call.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/call_out.png b/htdocs/theme/cameleo/img/call_out.png deleted file mode 100644 index b5a22eb827b..00000000000 Binary files a/htdocs/theme/cameleo/img/call_out.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/close.png b/htdocs/theme/cameleo/img/close.png deleted file mode 100644 index ec4338e8bca..00000000000 Binary files a/htdocs/theme/cameleo/img/close.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/close_title.png b/htdocs/theme/cameleo/img/close_title.png deleted file mode 100644 index ec4338e8bca..00000000000 Binary files a/htdocs/theme/cameleo/img/close_title.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/cron.png b/htdocs/theme/cameleo/img/cron.png deleted file mode 100644 index ddfe62e7b24..00000000000 Binary files a/htdocs/theme/cameleo/img/cron.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/delete.png b/htdocs/theme/cameleo/img/delete.png deleted file mode 100644 index 8ad73597be7..00000000000 Binary files a/htdocs/theme/cameleo/img/delete.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/detail.png b/htdocs/theme/cameleo/img/detail.png deleted file mode 100644 index 05562bef842..00000000000 Binary files a/htdocs/theme/cameleo/img/detail.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/disable.png b/htdocs/theme/cameleo/img/disable.png deleted file mode 100644 index f8c84994d47..00000000000 Binary files a/htdocs/theme/cameleo/img/disable.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/edit.png b/htdocs/theme/cameleo/img/edit.png deleted file mode 100644 index c1b0acb03c2..00000000000 Binary files a/htdocs/theme/cameleo/img/edit.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/edit_add.png b/htdocs/theme/cameleo/img/edit_add.png deleted file mode 100644 index ae205e9d770..00000000000 Binary files a/htdocs/theme/cameleo/img/edit_add.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/edit_remove.png b/htdocs/theme/cameleo/img/edit_remove.png deleted file mode 100644 index bc4bdb360fa..00000000000 Binary files a/htdocs/theme/cameleo/img/edit_remove.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/editdelete.png b/htdocs/theme/cameleo/img/editdelete.png deleted file mode 100644 index f8c84994d47..00000000000 Binary files a/htdocs/theme/cameleo/img/editdelete.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/error.png b/htdocs/theme/cameleo/img/error.png deleted file mode 100644 index f41dd8a3bc0..00000000000 Binary files a/htdocs/theme/cameleo/img/error.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/favicon.ico b/htdocs/theme/cameleo/img/favicon.ico deleted file mode 100644 index b93a86747d6..00000000000 Binary files a/htdocs/theme/cameleo/img/favicon.ico and /dev/null differ diff --git a/htdocs/theme/cameleo/img/file.png b/htdocs/theme/cameleo/img/file.png deleted file mode 100644 index 73c66e9b2b3..00000000000 Binary files a/htdocs/theme/cameleo/img/file.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/filenew.png b/htdocs/theme/cameleo/img/filenew.png deleted file mode 100644 index 8680cce82bf..00000000000 Binary files a/htdocs/theme/cameleo/img/filenew.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/filter.png b/htdocs/theme/cameleo/img/filter.png deleted file mode 100644 index 917715107bd..00000000000 Binary files a/htdocs/theme/cameleo/img/filter.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/folder-open.png b/htdocs/theme/cameleo/img/folder-open.png deleted file mode 100644 index 1db8369b3d5..00000000000 Binary files a/htdocs/theme/cameleo/img/folder-open.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/folder.png b/htdocs/theme/cameleo/img/folder.png deleted file mode 100644 index 04a24af2e22..00000000000 Binary files a/htdocs/theme/cameleo/img/folder.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/gradient.gif b/htdocs/theme/cameleo/img/gradient.gif deleted file mode 100644 index d9d7c1086cd..00000000000 Binary files a/htdocs/theme/cameleo/img/gradient.gif and /dev/null differ diff --git a/htdocs/theme/cameleo/img/green-dot.png b/htdocs/theme/cameleo/img/green-dot.png deleted file mode 100644 index c6e68366215..00000000000 Binary files a/htdocs/theme/cameleo/img/green-dot.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/grip.png b/htdocs/theme/cameleo/img/grip.png deleted file mode 100644 index 8053007e9dd..00000000000 Binary files a/htdocs/theme/cameleo/img/grip.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/grip_title.png b/htdocs/theme/cameleo/img/grip_title.png deleted file mode 100644 index 8053007e9dd..00000000000 Binary files a/htdocs/theme/cameleo/img/grip_title.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/headbg.jpg b/htdocs/theme/cameleo/img/headbg.jpg deleted file mode 100644 index 160821354cc..00000000000 Binary files a/htdocs/theme/cameleo/img/headbg.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/headbg2.jpg b/htdocs/theme/cameleo/img/headbg2.jpg deleted file mode 100644 index 0bc44f0ea99..00000000000 Binary files a/htdocs/theme/cameleo/img/headbg2.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/help.png b/htdocs/theme/cameleo/img/help.png deleted file mode 100644 index 12e6cd655d6..00000000000 Binary files a/htdocs/theme/cameleo/img/help.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/helpdoc.png b/htdocs/theme/cameleo/img/helpdoc.png deleted file mode 100644 index 8cd950e7be1..00000000000 Binary files a/htdocs/theme/cameleo/img/helpdoc.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/high.png b/htdocs/theme/cameleo/img/high.png deleted file mode 100644 index c0eaee6542f..00000000000 Binary files a/htdocs/theme/cameleo/img/high.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/history.png b/htdocs/theme/cameleo/img/history.png deleted file mode 100644 index 0fa4283476b..00000000000 Binary files a/htdocs/theme/cameleo/img/history.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/indent1.png b/htdocs/theme/cameleo/img/indent1.png deleted file mode 100644 index 09695ac754f..00000000000 Binary files a/htdocs/theme/cameleo/img/indent1.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/index.html b/htdocs/theme/cameleo/img/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/cameleo/img/info.png b/htdocs/theme/cameleo/img/info.png deleted file mode 100644 index db8ba04fac5..00000000000 Binary files a/htdocs/theme/cameleo/img/info.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/lock.png b/htdocs/theme/cameleo/img/lock.png deleted file mode 100644 index 3d99cf1eaef..00000000000 Binary files a/htdocs/theme/cameleo/img/lock.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/login_background.png b/htdocs/theme/cameleo/img/login_background.png deleted file mode 100644 index facc2c6f442..00000000000 Binary files a/htdocs/theme/cameleo/img/login_background.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/logout.png b/htdocs/theme/cameleo/img/logout.png deleted file mode 100644 index 84bd94e7b81..00000000000 Binary files a/htdocs/theme/cameleo/img/logout.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/mainlevel.gif b/htdocs/theme/cameleo/img/mainlevel.gif deleted file mode 100644 index 548526442a3..00000000000 Binary files a/htdocs/theme/cameleo/img/mainlevel.gif and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/agenda.png b/htdocs/theme/cameleo/img/menus/agenda.png deleted file mode 100644 index 866037c9b54..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/agenda.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/bank.png b/htdocs/theme/cameleo/img/menus/bank.png deleted file mode 100644 index 9c6300eae32..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/bank.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/commercial.png b/htdocs/theme/cameleo/img/menus/commercial.png deleted file mode 100644 index efc1b3f0608..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/commercial.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/company.png b/htdocs/theme/cameleo/img/menus/company.png deleted file mode 100644 index 95e5db62046..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/company.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/ecm.png b/htdocs/theme/cameleo/img/menus/ecm.png deleted file mode 100644 index a9a975219cd..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/ecm.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/externalsite.png b/htdocs/theme/cameleo/img/menus/externalsite.png deleted file mode 100644 index 0bf9138d463..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/externalsite.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/footer_bg.jpg b/htdocs/theme/cameleo/img/menus/footer_bg.jpg deleted file mode 100644 index 7319c16f9af..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/footer_bg.jpg and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/generic1.png b/htdocs/theme/cameleo/img/menus/generic1.png deleted file mode 100644 index 0222dd8c81d..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/generic1.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/generic2.png b/htdocs/theme/cameleo/img/menus/generic2.png deleted file mode 100644 index 86847858c4a..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/generic2.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/generic3.png b/htdocs/theme/cameleo/img/menus/generic3.png deleted file mode 100644 index e22f73aa6f9..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/generic3.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/generic4.png b/htdocs/theme/cameleo/img/menus/generic4.png deleted file mode 100644 index 29a3d7fed67..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/generic4.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/globe.png b/htdocs/theme/cameleo/img/menus/globe.png deleted file mode 100644 index 073348a5246..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/globe.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/holiday.png b/htdocs/theme/cameleo/img/menus/holiday.png deleted file mode 100644 index 42c519aa63d..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/holiday.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/home.png b/htdocs/theme/cameleo/img/menus/home.png deleted file mode 100644 index f4d0d917d1f..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/home.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/index.html b/htdocs/theme/cameleo/img/menus/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/cameleo/img/menus/lr_bg.gif b/htdocs/theme/cameleo/img/menus/lr_bg.gif deleted file mode 100644 index e6644e4685f..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/lr_bg.gif and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/mail.png b/htdocs/theme/cameleo/img/menus/mail.png deleted file mode 100644 index d715ec7810c..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/mail.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/members.png b/htdocs/theme/cameleo/img/menus/members.png deleted file mode 100644 index 4b703f42cd7..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/members.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/moduletable_th_bg.gif b/htdocs/theme/cameleo/img/menus/moduletable_th_bg.gif deleted file mode 100644 index 0901e294b1f..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/moduletable_th_bg.gif and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/money.png b/htdocs/theme/cameleo/img/menus/money.png deleted file mode 100644 index 50166e0f74b..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/money.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/pointofsale.png b/htdocs/theme/cameleo/img/menus/pointofsale.png deleted file mode 100644 index 748ec41b1e6..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/pointofsale.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/products.png b/htdocs/theme/cameleo/img/menus/products.png deleted file mode 100644 index 6f5f45269ee..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/products.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/project.png b/htdocs/theme/cameleo/img/menus/project.png deleted file mode 100644 index 882235d2cd3..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/project.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/tab_background.png b/htdocs/theme/cameleo/img/menus/tab_background.png deleted file mode 100644 index 6edd65003e0..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/tab_background.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/table_bg.gif b/htdocs/theme/cameleo/img/menus/table_bg.gif deleted file mode 100644 index bd6bf5c1036..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/table_bg.gif and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/tools.png b/htdocs/theme/cameleo/img/menus/tools.png deleted file mode 100644 index c053f660ebf..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/tools.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/topmenu_bg.gif b/htdocs/theme/cameleo/img/menus/topmenu_bg.gif deleted file mode 100644 index 48cfe1a00ae..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/topmenu_bg.gif and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/topmenu_bg_over.gif b/htdocs/theme/cameleo/img/menus/topmenu_bg_over.gif deleted file mode 100644 index 2d03af87e67..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/topmenu_bg_over.gif and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/topmenu_left.gif b/htdocs/theme/cameleo/img/menus/topmenu_left.gif deleted file mode 100644 index 0f08aa2a2a7..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/topmenu_left.gif and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/topmenu_right.gif b/htdocs/theme/cameleo/img/menus/topmenu_right.gif deleted file mode 100644 index cc7dd51652d..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/topmenu_right.gif and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/toppath.gif b/htdocs/theme/cameleo/img/menus/toppath.gif deleted file mode 100644 index 2180d924dee..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/toppath.gif and /dev/null differ diff --git a/htdocs/theme/cameleo/img/menus/trtitle.png b/htdocs/theme/cameleo/img/menus/trtitle.png deleted file mode 100644 index 29b694864e5..00000000000 Binary files a/htdocs/theme/cameleo/img/menus/trtitle.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/money.png b/htdocs/theme/cameleo/img/money.png deleted file mode 100644 index 50166e0f74b..00000000000 Binary files a/htdocs/theme/cameleo/img/money.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/next.png b/htdocs/theme/cameleo/img/next.png deleted file mode 100644 index aff8f9e2ca5..00000000000 Binary files a/htdocs/theme/cameleo/img/next.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_account.png b/htdocs/theme/cameleo/img/object_account.png deleted file mode 100644 index bc85bd73f83..00000000000 Binary files a/htdocs/theme/cameleo/img/object_account.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_accounting.png b/htdocs/theme/cameleo/img/object_accounting.png deleted file mode 100644 index b5600221f02..00000000000 Binary files a/htdocs/theme/cameleo/img/object_accounting.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_action.png b/htdocs/theme/cameleo/img/object_action.png deleted file mode 100644 index 3b964b907dc..00000000000 Binary files a/htdocs/theme/cameleo/img/object_action.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_action_rdv.png b/htdocs/theme/cameleo/img/object_action_rdv.png deleted file mode 100644 index 25edfa85b45..00000000000 Binary files a/htdocs/theme/cameleo/img/object_action_rdv.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_address.png b/htdocs/theme/cameleo/img/object_address.png deleted file mode 100644 index a4b878966dc..00000000000 Binary files a/htdocs/theme/cameleo/img/object_address.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_barcode.png b/htdocs/theme/cameleo/img/object_barcode.png deleted file mode 100644 index 9241513f0b8..00000000000 Binary files a/htdocs/theme/cameleo/img/object_barcode.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_bill.png b/htdocs/theme/cameleo/img/object_bill.png deleted file mode 100644 index 277b6ab3233..00000000000 Binary files a/htdocs/theme/cameleo/img/object_bill.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_billa.png b/htdocs/theme/cameleo/img/object_billa.png deleted file mode 100644 index 2589f34bfed..00000000000 Binary files a/htdocs/theme/cameleo/img/object_billa.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_billd.png b/htdocs/theme/cameleo/img/object_billd.png deleted file mode 100644 index 201dc9057ae..00000000000 Binary files a/htdocs/theme/cameleo/img/object_billd.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_billr.png b/htdocs/theme/cameleo/img/object_billr.png deleted file mode 100644 index 18b8701685e..00000000000 Binary files a/htdocs/theme/cameleo/img/object_billr.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_book.png b/htdocs/theme/cameleo/img/object_book.png deleted file mode 100644 index cbbc05e8e72..00000000000 Binary files a/htdocs/theme/cameleo/img/object_book.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_bookmark.png b/htdocs/theme/cameleo/img/object_bookmark.png deleted file mode 100644 index a78697bdc3b..00000000000 Binary files a/htdocs/theme/cameleo/img/object_bookmark.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_calendar.png b/htdocs/theme/cameleo/img/object_calendar.png deleted file mode 100644 index c647b7f998d..00000000000 Binary files a/htdocs/theme/cameleo/img/object_calendar.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_calendarday.png b/htdocs/theme/cameleo/img/object_calendarday.png deleted file mode 100644 index 8cda1f3f220..00000000000 Binary files a/htdocs/theme/cameleo/img/object_calendarday.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_calendarweek.png b/htdocs/theme/cameleo/img/object_calendarweek.png deleted file mode 100644 index 4ea2c09ccc9..00000000000 Binary files a/htdocs/theme/cameleo/img/object_calendarweek.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_category-expanded.png b/htdocs/theme/cameleo/img/object_category-expanded.png deleted file mode 100644 index af943c376e6..00000000000 Binary files a/htdocs/theme/cameleo/img/object_category-expanded.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_category.png b/htdocs/theme/cameleo/img/object_category.png deleted file mode 100644 index c7e79d4d408..00000000000 Binary files a/htdocs/theme/cameleo/img/object_category.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_commercial.png b/htdocs/theme/cameleo/img/object_commercial.png deleted file mode 100644 index ad1519f111c..00000000000 Binary files a/htdocs/theme/cameleo/img/object_commercial.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_company.png b/htdocs/theme/cameleo/img/object_company.png deleted file mode 100644 index 58021fa506a..00000000000 Binary files a/htdocs/theme/cameleo/img/object_company.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_contact.png b/htdocs/theme/cameleo/img/object_contact.png deleted file mode 100644 index e98a7e367e2..00000000000 Binary files a/htdocs/theme/cameleo/img/object_contact.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_contact_all.png b/htdocs/theme/cameleo/img/object_contact_all.png deleted file mode 100644 index 0e651e5aa5f..00000000000 Binary files a/htdocs/theme/cameleo/img/object_contact_all.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_contract.png b/htdocs/theme/cameleo/img/object_contract.png deleted file mode 100644 index 78af93d559f..00000000000 Binary files a/htdocs/theme/cameleo/img/object_contract.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_cron.png b/htdocs/theme/cameleo/img/object_cron.png deleted file mode 100644 index 6186d18da70..00000000000 Binary files a/htdocs/theme/cameleo/img/object_cron.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_dir.png b/htdocs/theme/cameleo/img/object_dir.png deleted file mode 100644 index 7324bca0143..00000000000 Binary files a/htdocs/theme/cameleo/img/object_dir.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_email.png b/htdocs/theme/cameleo/img/object_email.png deleted file mode 100644 index 5a92241f7e7..00000000000 Binary files a/htdocs/theme/cameleo/img/object_email.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_energie.png b/htdocs/theme/cameleo/img/object_energie.png deleted file mode 100644 index 27b3b52f2c6..00000000000 Binary files a/htdocs/theme/cameleo/img/object_energie.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_event.png b/htdocs/theme/cameleo/img/object_event.png deleted file mode 100644 index 0e651e5aa5f..00000000000 Binary files a/htdocs/theme/cameleo/img/object_event.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_generic.png b/htdocs/theme/cameleo/img/object_generic.png deleted file mode 100644 index caadc78e7d9..00000000000 Binary files a/htdocs/theme/cameleo/img/object_generic.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_globe.png b/htdocs/theme/cameleo/img/object_globe.png deleted file mode 100644 index 701e24b1c46..00000000000 Binary files a/htdocs/theme/cameleo/img/object_globe.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_gravatar.png b/htdocs/theme/cameleo/img/object_gravatar.png deleted file mode 100644 index 42bccdc4339..00000000000 Binary files a/htdocs/theme/cameleo/img/object_gravatar.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_group.png b/htdocs/theme/cameleo/img/object_group.png deleted file mode 100644 index 0e651e5aa5f..00000000000 Binary files a/htdocs/theme/cameleo/img/object_group.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_holiday.png b/htdocs/theme/cameleo/img/object_holiday.png deleted file mode 100644 index fdc1dd8e22b..00000000000 Binary files a/htdocs/theme/cameleo/img/object_holiday.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_intervention.png b/htdocs/theme/cameleo/img/object_intervention.png deleted file mode 100644 index 9b015af6f6d..00000000000 Binary files a/htdocs/theme/cameleo/img/object_intervention.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_invoice.png b/htdocs/theme/cameleo/img/object_invoice.png deleted file mode 100644 index 277b6ab3233..00000000000 Binary files a/htdocs/theme/cameleo/img/object_invoice.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_label.png b/htdocs/theme/cameleo/img/object_label.png deleted file mode 100644 index b112af5cf0a..00000000000 Binary files a/htdocs/theme/cameleo/img/object_label.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_lead.png b/htdocs/theme/cameleo/img/object_lead.png deleted file mode 100644 index 7324bca0143..00000000000 Binary files a/htdocs/theme/cameleo/img/object_lead.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_leadpub.png b/htdocs/theme/cameleo/img/object_leadpub.png deleted file mode 100644 index 0e651e5aa5f..00000000000 Binary files a/htdocs/theme/cameleo/img/object_leadpub.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_list.png b/htdocs/theme/cameleo/img/object_list.png deleted file mode 100644 index 1f49c887555..00000000000 Binary files a/htdocs/theme/cameleo/img/object_list.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_margin.png b/htdocs/theme/cameleo/img/object_margin.png deleted file mode 100644 index cd0eb4109f7..00000000000 Binary files a/htdocs/theme/cameleo/img/object_margin.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_opensurvey.png b/htdocs/theme/cameleo/img/object_opensurvey.png deleted file mode 100644 index b5de3223bd4..00000000000 Binary files a/htdocs/theme/cameleo/img/object_opensurvey.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_order.png b/htdocs/theme/cameleo/img/object_order.png deleted file mode 100644 index 1516cd03433..00000000000 Binary files a/htdocs/theme/cameleo/img/object_order.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_payment.png b/htdocs/theme/cameleo/img/object_payment.png deleted file mode 100644 index f8ecf1d144e..00000000000 Binary files a/htdocs/theme/cameleo/img/object_payment.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_phoning.png b/htdocs/theme/cameleo/img/object_phoning.png deleted file mode 100644 index 9f5a14edd23..00000000000 Binary files a/htdocs/theme/cameleo/img/object_phoning.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_phoning_fax.png b/htdocs/theme/cameleo/img/object_phoning_fax.png deleted file mode 100644 index 9f5a14edd23..00000000000 Binary files a/htdocs/theme/cameleo/img/object_phoning_fax.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_product.png b/htdocs/theme/cameleo/img/object_product.png deleted file mode 100644 index f6477644a1f..00000000000 Binary files a/htdocs/theme/cameleo/img/object_product.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_project.png b/htdocs/theme/cameleo/img/object_project.png deleted file mode 100644 index 7324bca0143..00000000000 Binary files a/htdocs/theme/cameleo/img/object_project.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_projectpub.png b/htdocs/theme/cameleo/img/object_projectpub.png deleted file mode 100644 index 1ba7da16dcc..00000000000 Binary files a/htdocs/theme/cameleo/img/object_projectpub.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_projecttask.png b/htdocs/theme/cameleo/img/object_projecttask.png deleted file mode 100644 index 7aff1a2ee20..00000000000 Binary files a/htdocs/theme/cameleo/img/object_projecttask.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_propal.png b/htdocs/theme/cameleo/img/object_propal.png deleted file mode 100644 index 4e66eebbedb..00000000000 Binary files a/htdocs/theme/cameleo/img/object_propal.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_reduc.png b/htdocs/theme/cameleo/img/object_reduc.png deleted file mode 100644 index 39dcc0fe6a0..00000000000 Binary files a/htdocs/theme/cameleo/img/object_reduc.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_resource.png b/htdocs/theme/cameleo/img/object_resource.png deleted file mode 100644 index 8cda1f3f220..00000000000 Binary files a/htdocs/theme/cameleo/img/object_resource.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_rss.png b/htdocs/theme/cameleo/img/object_rss.png deleted file mode 100644 index f3f9db58d95..00000000000 Binary files a/htdocs/theme/cameleo/img/object_rss.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_search.png b/htdocs/theme/cameleo/img/object_search.png deleted file mode 100644 index 6ffb1c806c7..00000000000 Binary files a/htdocs/theme/cameleo/img/object_search.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_sending.png b/htdocs/theme/cameleo/img/object_sending.png deleted file mode 100644 index 93404176e87..00000000000 Binary files a/htdocs/theme/cameleo/img/object_sending.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_service.png b/htdocs/theme/cameleo/img/object_service.png deleted file mode 100644 index 7e990268740..00000000000 Binary files a/htdocs/theme/cameleo/img/object_service.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_skype.png b/htdocs/theme/cameleo/img/object_skype.png deleted file mode 100644 index b209cd8d16e..00000000000 Binary files a/htdocs/theme/cameleo/img/object_skype.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_stat.png b/htdocs/theme/cameleo/img/object_stat.png deleted file mode 100644 index 5b7ea7e966e..00000000000 Binary files a/htdocs/theme/cameleo/img/object_stat.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_stock.png b/htdocs/theme/cameleo/img/object_stock.png deleted file mode 100644 index 94c594e99af..00000000000 Binary files a/htdocs/theme/cameleo/img/object_stock.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_task.png b/htdocs/theme/cameleo/img/object_task.png deleted file mode 100644 index 20b9d641a23..00000000000 Binary files a/htdocs/theme/cameleo/img/object_task.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_technic.png b/htdocs/theme/cameleo/img/object_technic.png deleted file mode 100644 index cc71bb4fde2..00000000000 Binary files a/htdocs/theme/cameleo/img/object_technic.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_trip.png b/htdocs/theme/cameleo/img/object_trip.png deleted file mode 100644 index c695a26415d..00000000000 Binary files a/htdocs/theme/cameleo/img/object_trip.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/object_user.png b/htdocs/theme/cameleo/img/object_user.png deleted file mode 100644 index 152fd668c08..00000000000 Binary files a/htdocs/theme/cameleo/img/object_user.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/off.png b/htdocs/theme/cameleo/img/off.png deleted file mode 100644 index 9e28e0fa91e..00000000000 Binary files a/htdocs/theme/cameleo/img/off.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/on.png b/htdocs/theme/cameleo/img/on.png deleted file mode 100644 index 72e87ecaeb4..00000000000 Binary files a/htdocs/theme/cameleo/img/on.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/pdf2.png b/htdocs/theme/cameleo/img/pdf2.png deleted file mode 100644 index 975d8098993..00000000000 Binary files a/htdocs/theme/cameleo/img/pdf2.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/pdf3.png b/htdocs/theme/cameleo/img/pdf3.png deleted file mode 100644 index f053591bf2d..00000000000 Binary files a/htdocs/theme/cameleo/img/pdf3.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/play.png b/htdocs/theme/cameleo/img/play.png deleted file mode 100644 index 4922ea1ec12..00000000000 Binary files a/htdocs/theme/cameleo/img/play.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/previous.png b/htdocs/theme/cameleo/img/previous.png deleted file mode 100644 index bff23a0f55d..00000000000 Binary files a/htdocs/theme/cameleo/img/previous.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/printer.png b/htdocs/theme/cameleo/img/printer.png deleted file mode 100644 index 774686d23be..00000000000 Binary files a/htdocs/theme/cameleo/img/printer.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/puce.png b/htdocs/theme/cameleo/img/puce.png deleted file mode 100644 index 0bd4bd51023..00000000000 Binary files a/htdocs/theme/cameleo/img/puce.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/recent.png b/htdocs/theme/cameleo/img/recent.png deleted file mode 100644 index a3405497f03..00000000000 Binary files a/htdocs/theme/cameleo/img/recent.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/red-dot.png b/htdocs/theme/cameleo/img/red-dot.png deleted file mode 100644 index b0f3f0e9284..00000000000 Binary files a/htdocs/theme/cameleo/img/red-dot.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/redstar.png b/htdocs/theme/cameleo/img/redstar.png deleted file mode 100644 index ce7b207978a..00000000000 Binary files a/htdocs/theme/cameleo/img/redstar.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/refresh.png b/htdocs/theme/cameleo/img/refresh.png deleted file mode 100644 index edc14adcd23..00000000000 Binary files a/htdocs/theme/cameleo/img/refresh.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/reload.png b/htdocs/theme/cameleo/img/reload.png deleted file mode 100644 index 1e638197612..00000000000 Binary files a/htdocs/theme/cameleo/img/reload.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/rightarrow.png b/htdocs/theme/cameleo/img/rightarrow.png deleted file mode 100644 index 2c479d9453b..00000000000 Binary files a/htdocs/theme/cameleo/img/rightarrow.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/search.png b/htdocs/theme/cameleo/img/search.png deleted file mode 100644 index 97f4801c921..00000000000 Binary files a/htdocs/theme/cameleo/img/search.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/searchclear.png b/htdocs/theme/cameleo/img/searchclear.png deleted file mode 100644 index 56fb7f1de87..00000000000 Binary files a/htdocs/theme/cameleo/img/searchclear.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/setup.png b/htdocs/theme/cameleo/img/setup.png deleted file mode 100644 index 0dec91abb30..00000000000 Binary files a/htdocs/theme/cameleo/img/setup.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/sort_asc.png b/htdocs/theme/cameleo/img/sort_asc.png deleted file mode 100644 index e327d952fa4..00000000000 Binary files a/htdocs/theme/cameleo/img/sort_asc.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/sort_asc_disabled.png b/htdocs/theme/cameleo/img/sort_asc_disabled.png deleted file mode 100644 index e327d952fa4..00000000000 Binary files a/htdocs/theme/cameleo/img/sort_asc_disabled.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/sort_desc.png b/htdocs/theme/cameleo/img/sort_desc.png deleted file mode 100644 index db99fd9ad47..00000000000 Binary files a/htdocs/theme/cameleo/img/sort_desc.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/sort_desc_disabled.png b/htdocs/theme/cameleo/img/sort_desc_disabled.png deleted file mode 100644 index 89051c2f34f..00000000000 Binary files a/htdocs/theme/cameleo/img/sort_desc_disabled.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/split.png b/htdocs/theme/cameleo/img/split.png deleted file mode 100644 index 50b6324c334..00000000000 Binary files a/htdocs/theme/cameleo/img/split.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/star.png b/htdocs/theme/cameleo/img/star.png deleted file mode 100644 index 81feace1c30..00000000000 Binary files a/htdocs/theme/cameleo/img/star.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/stats.png b/htdocs/theme/cameleo/img/stats.png deleted file mode 100644 index d883f7faea9..00000000000 Binary files a/htdocs/theme/cameleo/img/stats.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/statut0.png b/htdocs/theme/cameleo/img/statut0.png deleted file mode 100644 index 196f4f53c7d..00000000000 Binary files a/htdocs/theme/cameleo/img/statut0.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/statut1.png b/htdocs/theme/cameleo/img/statut1.png deleted file mode 100644 index 774b3e4bd54..00000000000 Binary files a/htdocs/theme/cameleo/img/statut1.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/statut3.png b/htdocs/theme/cameleo/img/statut3.png deleted file mode 100644 index 9ce49b93476..00000000000 Binary files a/htdocs/theme/cameleo/img/statut3.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/statut4.png b/htdocs/theme/cameleo/img/statut4.png deleted file mode 100644 index e4f42ac6d53..00000000000 Binary files a/htdocs/theme/cameleo/img/statut4.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/statut5.png b/htdocs/theme/cameleo/img/statut5.png deleted file mode 100644 index 774b3e4bd54..00000000000 Binary files a/htdocs/theme/cameleo/img/statut5.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/statut6.png b/htdocs/theme/cameleo/img/statut6.png deleted file mode 100644 index e4f42ac6d53..00000000000 Binary files a/htdocs/theme/cameleo/img/statut6.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/statut7.png b/htdocs/theme/cameleo/img/statut7.png deleted file mode 100644 index 9ce49b93476..00000000000 Binary files a/htdocs/theme/cameleo/img/statut7.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/statut8.png b/htdocs/theme/cameleo/img/statut8.png deleted file mode 100644 index 65ab6677ee7..00000000000 Binary files a/htdocs/theme/cameleo/img/statut8.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/statut9.png b/htdocs/theme/cameleo/img/statut9.png deleted file mode 100644 index 196f4f53c7d..00000000000 Binary files a/htdocs/theme/cameleo/img/statut9.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/stcomm-1.png b/htdocs/theme/cameleo/img/stcomm-1.png deleted file mode 100644 index 2e3f98bb6fd..00000000000 Binary files a/htdocs/theme/cameleo/img/stcomm-1.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/stcomm0.png b/htdocs/theme/cameleo/img/stcomm0.png deleted file mode 100644 index b6c11d4569a..00000000000 Binary files a/htdocs/theme/cameleo/img/stcomm0.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/stcomm1.png b/htdocs/theme/cameleo/img/stcomm1.png deleted file mode 100644 index 6bdea492985..00000000000 Binary files a/htdocs/theme/cameleo/img/stcomm1.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/stcomm10.png b/htdocs/theme/cameleo/img/stcomm10.png deleted file mode 100644 index ed95a29dc9a..00000000000 Binary files a/htdocs/theme/cameleo/img/stcomm10.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/stcomm2.png b/htdocs/theme/cameleo/img/stcomm2.png deleted file mode 100644 index 9e000b70dc9..00000000000 Binary files a/htdocs/theme/cameleo/img/stcomm2.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/stcomm3.png b/htdocs/theme/cameleo/img/stcomm3.png deleted file mode 100644 index 5a6c0aeface..00000000000 Binary files a/htdocs/theme/cameleo/img/stcomm3.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/stcomm4.png b/htdocs/theme/cameleo/img/stcomm4.png deleted file mode 100644 index 0395aba2507..00000000000 Binary files a/htdocs/theme/cameleo/img/stcomm4.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/stcomm5.png b/htdocs/theme/cameleo/img/stcomm5.png deleted file mode 100644 index 9ce49b93476..00000000000 Binary files a/htdocs/theme/cameleo/img/stcomm5.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/stcomm6.png b/htdocs/theme/cameleo/img/stcomm6.png deleted file mode 100644 index 65ab6677ee7..00000000000 Binary files a/htdocs/theme/cameleo/img/stcomm6.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/stcomm7.png b/htdocs/theme/cameleo/img/stcomm7.png deleted file mode 100644 index fbb4ed56775..00000000000 Binary files a/htdocs/theme/cameleo/img/stcomm7.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/stcomm8.png b/htdocs/theme/cameleo/img/stcomm8.png deleted file mode 100644 index 05e7dae5dc2..00000000000 Binary files a/htdocs/theme/cameleo/img/stcomm8.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/stcomm9.png b/htdocs/theme/cameleo/img/stcomm9.png deleted file mode 100644 index f2b68b4b218..00000000000 Binary files a/htdocs/theme/cameleo/img/stcomm9.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/switch_off.png b/htdocs/theme/cameleo/img/switch_off.png deleted file mode 100644 index 28a4376fb43..00000000000 Binary files a/htdocs/theme/cameleo/img/switch_off.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/switch_on.png b/htdocs/theme/cameleo/img/switch_on.png deleted file mode 100644 index d4e32d98f57..00000000000 Binary files a/htdocs/theme/cameleo/img/switch_on.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/tab_background.png b/htdocs/theme/cameleo/img/tab_background.png deleted file mode 100644 index 6edd65003e0..00000000000 Binary files a/htdocs/theme/cameleo/img/tab_background.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/test.gif b/htdocs/theme/cameleo/img/test.gif deleted file mode 100644 index 55ce8fb72b1..00000000000 Binary files a/htdocs/theme/cameleo/img/test.gif and /dev/null differ diff --git a/htdocs/theme/cameleo/img/tick.png b/htdocs/theme/cameleo/img/tick.png deleted file mode 100644 index c899abb9c34..00000000000 Binary files a/htdocs/theme/cameleo/img/tick.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/title.png b/htdocs/theme/cameleo/img/title.png deleted file mode 100644 index eb9c329a6a5..00000000000 Binary files a/htdocs/theme/cameleo/img/title.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/title_accountancy.png b/htdocs/theme/cameleo/img/title_accountancy.png deleted file mode 100644 index 6e7c2a412c6..00000000000 Binary files a/htdocs/theme/cameleo/img/title_accountancy.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/title_bank.png b/htdocs/theme/cameleo/img/title_bank.png deleted file mode 100644 index 034a8d0c5e4..00000000000 Binary files a/htdocs/theme/cameleo/img/title_bank.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/title_commercial.png b/htdocs/theme/cameleo/img/title_commercial.png deleted file mode 100644 index 46394177698..00000000000 Binary files a/htdocs/theme/cameleo/img/title_commercial.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/title_companies.png b/htdocs/theme/cameleo/img/title_companies.png deleted file mode 100644 index b2539dba849..00000000000 Binary files a/htdocs/theme/cameleo/img/title_companies.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/title_generic.png b/htdocs/theme/cameleo/img/title_generic.png deleted file mode 100644 index ae224327549..00000000000 Binary files a/htdocs/theme/cameleo/img/title_generic.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/title_home.png b/htdocs/theme/cameleo/img/title_home.png deleted file mode 100644 index e9273e727f5..00000000000 Binary files a/htdocs/theme/cameleo/img/title_home.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/title_products.png b/htdocs/theme/cameleo/img/title_products.png deleted file mode 100644 index d3c5b125bbe..00000000000 Binary files a/htdocs/theme/cameleo/img/title_products.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/title_project.png b/htdocs/theme/cameleo/img/title_project.png deleted file mode 100644 index 05d8ea630b8..00000000000 Binary files a/htdocs/theme/cameleo/img/title_project.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/title_setup.png b/htdocs/theme/cameleo/img/title_setup.png deleted file mode 100644 index d7548d28709..00000000000 Binary files a/htdocs/theme/cameleo/img/title_setup.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/unlock.png b/htdocs/theme/cameleo/img/unlock.png deleted file mode 100644 index afefaa94d47..00000000000 Binary files a/htdocs/theme/cameleo/img/unlock.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/uparrow.png b/htdocs/theme/cameleo/img/uparrow.png deleted file mode 100644 index 5706ca39da4..00000000000 Binary files a/htdocs/theme/cameleo/img/uparrow.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/vcard.png b/htdocs/theme/cameleo/img/vcard.png deleted file mode 100644 index 315abdf179d..00000000000 Binary files a/htdocs/theme/cameleo/img/vcard.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/view.png b/htdocs/theme/cameleo/img/view.png deleted file mode 100644 index 76c1e9f1e6a..00000000000 Binary files a/htdocs/theme/cameleo/img/view.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/warning.png b/htdocs/theme/cameleo/img/warning.png deleted file mode 100644 index dfa237a5302..00000000000 Binary files a/htdocs/theme/cameleo/img/warning.png and /dev/null differ diff --git a/htdocs/theme/cameleo/img/working.gif b/htdocs/theme/cameleo/img/working.gif deleted file mode 100644 index 1e421c3113f..00000000000 Binary files a/htdocs/theme/cameleo/img/working.gif and /dev/null differ diff --git a/htdocs/theme/cameleo/img/working2.gif b/htdocs/theme/cameleo/img/working2.gif deleted file mode 100644 index bf0fc8f2167..00000000000 Binary files a/htdocs/theme/cameleo/img/working2.gif and /dev/null differ diff --git a/htdocs/theme/cameleo/index.html b/htdocs/theme/cameleo/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/cameleo/style.css.php b/htdocs/theme/cameleo/style.css.php deleted file mode 100644 index 4b8955953bd..00000000000 --- a/htdocs/theme/cameleo/style.css.php +++ /dev/null @@ -1,2753 +0,0 @@ - - * Copyright (C) 2006 Rodolphe Quiedeville - * Copyright (C) 2007-2011 Regis Houssin - * Copyright (C) 2010-2011 Herve Prot - * Copyright (C) 2011 Juanjo Menent - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/theme/cameleo/style.css.php - * \brief Fichier de style CSS du theme Cameleo - */ - -//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled cause need to load personalized language -//if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); // Not disabled to increase speed. Language code is found on url. -if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); -//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); // Not disabled cause need to do translations -if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK',1); -if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL',1); -if (! defined('NOLOGIN')) define('NOLOGIN',1); -if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU',1); -if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML',1); -if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); - -session_cache_limiter(FALSE); - -require_once '../../main.inc.php'; - -// Load user to have $user->conf loaded (not done into main because of NOLOGIN constant defined) -if (empty($user->id) && ! empty($_SESSION['dol_login'])) $user->fetch('',$_SESSION['dol_login']); - - -// Define css type -header('Content-type: text/css'); -// Important: Following code is to avoid page request by browser and PHP CPU at each Dolibarr page access. -if (empty($dolibarr_nocache)) header('Cache-Control: max-age=3600, public, must-revalidate'); -else header('Cache-Control: no-cache'); - -// On the fly GZIP compression for all pages (if browser support it). Must set the bit 3 of constant to 1. -if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x04)) { ob_start("ob_gzhandler"); } - -if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang')); // If language was forced on URL -if (GETPOST('theme')) $conf->theme=GETPOST('theme'); // If theme was forced on URL -$langs->load("main",0,1); -$right=($langs->trans("DIRECTION")=='rtl'?'left':'right'); -$left=($langs->trans("DIRECTION")=='rtl'?'right':'left'); - -// Define image path files and other constants -$fontlist='arial,tahoma,verdana,helvetica'; -$dol_hide_topmenu=$conf->dol_hide_topmenu; -$dol_hide_leftmenu=$conf->dol_hide_leftmenu; -$dol_optimize_smallscreen=$conf->dol_optimize_smallscreen; -$dol_no_mouse_hover=$conf->dol_no_mouse_hover; -$dol_use_jmobile=$conf->dol_use_jmobile; - -$path=''; // This value may be used in future for external module to overwrite theme -$theme='cameleo'; // Value of theme -if (! empty($conf->global->MAIN_OVERWRITE_THEME_RES)) { $path='/'.$conf->global->MAIN_OVERWRITE_THEME_RES; $theme=$conf->global->MAIN_OVERWRITE_THEME_RES; } - -$colorshadowtitle='000'; -$fontsize='12'; -$fontsizesmaller='11'; - -if (! empty($conf->dol_optimize_smallscreen)) $fontsize=11; -?> - -/* ============================================================================== */ -/* Styles par defaut */ -/* ============================================================================== */ - -body { - - background-color: #FFFFFF; - - background-color: #FCFCFC; - - color: #101010; - font-size: px; - font-family: ; - margin-top: 0; - margin-bottom: 0; - margin-right: 0; - margin-left: 0; - text-align: left; - trans("DIRECTION").";\n"; ?> -} - -a:link, a:visited, a:active { font-family: ; font-weight: bold; color: blue; text-decoration: none; } -a:hover { font-family: ; font-weight: bold; color: #A51B00; text-decoration: none; } - - - -input:focus, textarea:focus, button:focus, select:focus { - box-shadow: 0 0 4px #8091BF; -} - -input, input.flat, textarea, textarea.flat, form.flat select, select.flat { - font-size: px; - font-family: ; - background: #FDFDFD; - border: 1px solid #ACBCBB; - padding: 2px; - margin: 0px 0px 0px 0px; -} - - -select.flat, form.flat select { - font-weight: normal; -} -input:disabled { - background:#ddd; -} -textarea:disabled { - background:#ddd; -} - -input[type=checkbox] { background-color: transparent; border: none; box-shadow: none; } -input[type=radio] { background-color: transparent; border: none; box-shadow: none; } -input[type=image] { background-color: transparent; border: none; box-shadow: none; } -input[type=text] { min-width: 20px; } -input:-webkit-autofill { - background-color: !important; - background-image:none !important; - -webkit-box-shadow: 0 0 0 50px inset; -} - -input.button[type=submit] { - background: #A51B00; - -moz-border-radius:8px; - border-radius:8px; - border-right: 1px solid #555555; - border-bottom: 1px solid #555555; - border-left: 1px solid #D0D0D0; - border-top: 1px solid #D8D8D8; - /*border: 2px solid #063953;*/ - color: #FFF; - padding: 0px 10px 0px 10px; - text-decoration: none; - white-space: nowrap; - /*display: block; - height: 18px;*/ - vertical-align: top; - font-family: ; - line-height: 14px; - cursor: pointer; - font-size: 11px; - font-weight: bold; -} -::-webkit-input-placeholder { color:#ccc; } -::-moz-placeholder { color:#ccc; } /* firefox 19+ */ -:-ms-input-placeholder { color:#ccc; } /* ie */ -input:-moz-placeholder { color:#ccc; } - - -legend { margin-bottom: 8px; } - - -.button { - font-family: ; - background-image: url(); - background-position: bottom; - border: 1px solid #ACBCBB; - padding: 0px 2px 0px 2px; - margin: 0px 0px 0px 0px; -} -.button:focus { - font-family: ; - color: #222244; - background-image: url(); - background-position: bottom; - border: 1px solid #ACBCBB; - padding: 0px 2px 0px 2px; - margin: 0px 0px 0px 0px; -} -.button:disabled { - opacity: 0.4; - filter: alpha(opacity=40); /* For IE8 and earlier */ - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - cursor: auto; -} -.buttonRefused { - pointer-events: none; - cursor: default; - opacity: 0.4; - filter: alpha(opacity=40); /* For IE8 and earlier */ - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; -} -form { - padding: 0em 0em 0em 0em; - margin: 0em 0em 0em 0em; -} -div.float -{ - float:; -} -div.floatright -{ - float:; -} -.inline-block -{ - display:inline-block; -} - -.valignmiddle { - vertical-align: middle; -} -.centpercent { - width: 100%; -} -.center { - text-align: center; -} -.left { - text-align: ; -} -.right { - text-align: ; -} -.nowrap { - white-space: ; -} -.nobold { - font-weight: normal !important; -} -.nounderline { - text-decoration: none; -} -.cursorpointer { - cursor: pointer; -} -.badge { - display: inline-block; - min-width: 10px; - padding: 2px 5px; - font-size: 10px; - font-weight: 700; - line-height: 0.9em; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - background-color: #777; - border-radius: 10px; -} - - -/* ============================================================================== */ -/* Styles to hide objects */ -/* ============================================================================== */ - -.hideobject { display: none; } - -.hideonsmartphone { display: none; } -.noenlargeonsmartphone { width : 50px !important; display: inline !important; } -.maxwidthonsmartphone { max-width: 100px; } -.maxwidth200onsmartphone { max-width: 200px; } - -.linkobject { cursor: pointer; } - -.hideonprint { display: none !important; } - - - -/* ============================================================================== */ -/* Styles for dragging lines */ -/* ============================================================================== */ - -.dragClass { - color: #002255; -} -td.showDragHandle { - cursor: move; -} -.tdlineupdown { - white-space: nowrap; - min-width: 10px; -} - - -/* ============================================================================== */ -/* Styles de positionnement des zones */ -/* ============================================================================== */ - -#id-container { - margin-bottom: 8px; - display: table; - table-layout: fixed; -} -#id-right, #id-left { - display: table-cell; - float: none; - vertical-align: top; -} -#id- { - width: 100%; -} - -div.leftContent { - margin-left: 0px !important; - background-color: #FFF; -} - -div.fiche { - margin-: dol_optimize_smallscreen)?'5':'2'; ?>px; - margin-: dol_optimize_smallscreen)?'5':''; ?>px; -} - -div.fichecenter { - width: 100%; - clear: both; /* This is to have div fichecenter that are true rectangles */ -} -div.fichethirdleft { - dol_optimize_smallscreen)) { print "float: ".$left.";\n"; } ?> - dol_optimize_smallscreen)) { print "width: 35%;\n"; } ?> -} -div.fichetwothirdright { - dol_optimize_smallscreen)) { print "float: ".$left.";\n"; } ?> - dol_optimize_smallscreen)) { print "width: 65%;\n"; } ?> -} -div.fichehalfleft { - dol_optimize_smallscreen)) { print "float: ".$left.";\n"; } ?> - dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?> -} -div.fichehalfright { - dol_optimize_smallscreen)) { print "float: ".$left.";\n"; } ?> - dol_optimize_smallscreen)) { print "width: 50%;\n"; } ?> -} -div.ficheaddleft { - dol_optimize_smallscreen)) { print "padding-left: 16px;\n"; } - else print "margin-top: 10px;\n"; ?> -} - - -/* ============================================================================== */ -/* Menu top et 1ere ligne tableau */ -/* ============================================================================== */ - - - -div#tmenu_tooltip { - padding-right: 100px; -} - -div.tmenu { - - display:none; - - position: relative; - display: block; - white-space: nowrap; - /*border-top: 0px solid #D3E5EC;*/ - border-: 0px; - border-: 0px solid #555555; - padding: 0px 0px 0px 0px; /* t r b l */ - margin: 0px 0px 5px 0px; /* t r b l */ - font-weight: normal; - height: 44px; - background: #FFF; - background-image: url(); - background-position: center bottom; - border-bottom: 2px solid #A51B00; - color: #000; - text-decoration: none; - -} - -table.tmenu { - padding: 0px 0px 10px 0px; /* t r b l */ - margin: 0px 0px 0px 0px; /* t r b l */ - text-align: center; -} -td.tmenu { - - text-align: center; - vertical-align: bottom; - white-space: nowrap; - height: 20px; -} - -a.tmenudisabled:link, a.tmenudisabled:visited, a.tmenudisabled:hover, a.tmenudisabled:active { - color: #757575; - font-weight: normal; - padding: 0px 5px 0px 5px; - margin: 0px 1px 2px 1px; - cursor: not-allowed; - white-space: nowrap; -} - -a.tmenu:link, a.tmenu:visited, a.tmenu:hover, a.tmenu:active { - color: #842F00; - padding: 0px 10px 0px 10px; - /*margin: 0px 1px 0px 1px;*/ - font-weight: bold; - font-family: ; - white-space: nowrap; - height: 20px; - -moz-border-radius-topleft:8px; - -moz-border-radius-topright:8px; - border-top-left-radius:8px; - border-top-right-radius:8px; - border-top-left-radius:8px; - border-top-right-radius:8px; - border-right: 1px solid #555555; - border-bottom: 0px solid #555555; - border-left: 1px solid #D0D0D0; - border-top: 1px solid #D8D8D8; - background: #fceabb; /* Old browsers */ -background: -moz-linear-gradient(top, #fceabb 0%, #fccd4d 50%, #FFA820 87%, #fbdf93 100%); /* FF3.6+ */ -background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fceabb), color-stop(50%,#fccd4d), color-stop(87%,#FFA820), color-stop(100%,#fbdf93)); /* Chrome,Safari4+ */ -background: -webkit-linear-gradient(top, #fceabb 0%,#fccd4d 50%,#FFA820 87%,#fbdf93 100%); /* Chrome10+,Safari5.1+ */ -background: -o-linear-gradient(top, #fceabb 0%,#fccd4d 50%,#FFA820 87%,#fbdf93 100%); /* Opera11.10+ */ -background: -ms-linear-gradient(top, #fceabb 0%,#fccd4d 50%,#FFA820 87%,#fbdf93 100%); /* IE10+ */ -filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceabb', endColorstr='#fbdf93',GradientType=0); /* IE6-9 */ -background: linear-gradient(top, #fceabb 0%,#fccd4d 50%,#FFA820 87%,#fbdf93 100%); /* W3C */ -} - -a.tmenu:hover, a.tmenu:active { - color: #FFF; - -moz-border-radius-topleft:8px; - -moz-border-radius-topright:8px; - border-top-left-radius:8px; - border-top-right-radius:8px; - border-right: 1px solid #555555; - border-bottom: 0px solid #555555; - border-left: 1px solid #D0D0D0; - border-top: 1px solid #D8D8D8; - background: #FFA820; /* old browsers */ -} - -a.tmenusel:link, a.tmenusel:visited, a.tmenusel:hover, a.tmenusel:active { - color: #FFF; - font-weight: bold; - height: 20px; - font-family: ; - padding: 0px 10px 0px 10px; - -moz-border-radius-topleft:8px; - -moz-border-radius-topright:8px; - border-top-left-radius:8px; - border-top-right-radius:8px; - border-right: 1px solid #555555; - border-bottom: 0px solid #555555; - border-left: 1px solid #D0D0D0; - border-top: 1px solid #D8D8D8; - background: #FFA820; /* old browsers */ -} - - -ul.tmenu { /* t r b l */ - padding: 0px 0px 10px 0px; - margin: 0px 0px 0px 6px; - list-style: none; -} -li.tmenu, li.tmenusel { - text-align: center; - vertical-align: top; - float: ; - height: 47px; - display: block; - padding: 1px 2px 0px 2px; - margin: 0px 0px 0px 0px; - font-weight: normal; -} - -.gecko li.tmenu { /* uniquement pour firefox */ - padding: 4px 2px 4px 2px; - margin: 0px 0px 0px 0px; -} - - -div.mainmenu { - position : relative; - color: white; - background-repeat:no-repeat; - background-position:center top; - height: px; - margin-left: 0px; -} - - -/* Do not load menu img if hidden to save bandwidth */ - - -div.mainmenu.agenda { - background-image: url(); -} - -div.mainmenu.cashdesk { - background-image: url(); -} - -div.mainmenu.accountancy { - background-image: url(); -} - -div.mainmenu.bank { - background-image: url(); -} - -div.mainmenu.companies { - background-image: url(); -} - -div.mainmenu.commercial { - background-image: url(); -} - -div.mainmenu.externalsite { - background-image: url(); -} - -div.mainmenu.ftp { - background-image: url(); -} - -div.mainmenu.ecm { - background-image: url(); -} - -div.mainmenu.gravatar { -} - -div.mainmenu.geopipmaxmind { -} - -div.mainmenu.home{ - background-image: url(); -} - -div.mainmenu.hrm { - background-image: url(); -} - -div.mainmenu.members { - background-image: url(); -} - -div.mainmenu.products { - background-image: url(); - margin-left: 10px; -} - -div.mainmenu.project { - background-image: url(); -} - -div.mainmenu.tools { - background-image: url(); -} - -div.mainmenu.google { - background-image: url(); -} - -'name of class for div') - -$moduletomainmenu=array('user'=>'','syslog'=>'','societe'=>'companies','projet'=>'project','propale'=>'commercial','commande'=>'commercial', - 'produit'=>'products','service'=>'products','stock'=>'products', - 'don'=>'accountancy','tax'=>'accountancy','banque'=>'accountancy','facture'=>'accountancy','compta'=>'accountancy','accounting'=>'accountancy','adherent'=>'members','import'=>'tools','export'=>'tools','mailing'=>'tools', - 'contrat'=>'commercial','ficheinter'=>'commercial','deplacement'=>'commercial', - 'fournisseur'=>'companies', - 'barcode'=>'','fckeditor'=>'','categorie'=>'', -); -$mainmenuused='home'; -foreach($conf->modules as $val) -{ - $mainmenuused.=','.(isset($moduletomainmenu[$val])?$moduletomainmenu[$val]:$val); -} -//var_dump($mainmenuused); -$mainmenuusedarray=array_unique(explode(',',$mainmenuused)); - -$generic=1; -$divalreadydefined=array('home','companies','products','commercial','accountancy','project','tools','members','agenda','ecm','bookmark','cashdesk','geoipmaxmind','gravatar','clicktodial','paypal','webservices'); -foreach($mainmenuusedarray as $val) -{ - if (empty($val) || in_array($val,$divalreadydefined)) continue; - //print "XXX".$val; - - // Search img file in module dir - $url=''; - foreach($conf->file->dol_document_root as $dirroot) - { - if (file_exists($dirroot."/".$val."/img/".$val.".png")) - { - $url=dol_buildpath('/'.$val.'/img/'.$val.'.png', 1); - break; - } - } - // Img file not found - if (! $url && $generic <= 4) - { - $url=dol_buildpath($path.'/theme/'.$theme.'/img/menus/generic'.$generic.'.png',1); - $generic++; - } - if ($url) - { - print "/* A mainmenu entry but img file ".$val.".png not found (check /".$val."/img/".$val.".png), so we use a generic one */\n"; - print "div.mainmenu.".$val." {\n"; - print " background-image: url(".$url.");\n"; - print " height:28px;\n"; - print "}\n"; - } -} -// End of part to add more div class css -?> - - - -.tmenuimage { - padding:0 0 0 0 !important; - margin:0 0px 0 0 !important; -} - - - -/* Login */ - -form#login { - margin-top: px; - margin-bottom: 30px; - font-size: 13px; -} -.login_table_title { - max-width: 540px; - color: #888888; - text-shadow: 1px 1px 1px #FFF; -} -.login_table label { - text-shadow: 1px 1px 1px #FFF; -} -.login_table { - margin-left: 10px; - margin-right: 10px; - padding:12px; - max-width: 540px; - border: 1px solid #C0C0C0; - background-color: #E0E0E0; - - -moz-box-shadow: 4px 4px 4px #CCC; - -webkit-box-shadow: 4px 4px 4px #CCC; - box-shadow: 4px 4px 4px #CCC; - - border-radius: 12px; - border:solid 1px rgba(168,168,168,.4); - border-top:solid 1px f8f8f8; - background-color: #f8f8f8; - background-image: -o-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); - background-image: -moz-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); - background-image: -webkit-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); - background-image: -ms-linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); - background-image: linear-gradient(top, rgba(240,240,240,.3) 0%, rgba(192,192,192,.3) 100%); -} -#securitycode { - min-width: 60px; -} -#img_securitycode { - border: 1px solid #DDDDDD; -} -#img_logo { - max-width: 200px; - max-height: 100px; -} - -div.login_block { - width: 180px; - position: absolute; - : 5px; - top: 3px; - font-weight: bold; - - display: none; - -} - -div.login_block table { - display: inline; -} - -div#login_left, div#login_right { - display: inline-block; - min-width: 220px; - text-align: center; - vertical-align: middle; -} - -div.login { - white-space:nowrap; - padding: dol_optimize_smallscreen?'0':'8')?>px 0px 0px 0px; - margin: 0px 0px 0px 8px; - font-weight: bold; -} -div.login a { - color: #234046; -} -div.login a:hover { - color: black; - text-decoration:underline; -} -.login_block_user { - float: right; -} -.login_block_elem { - float: right; - vertical-align: top; - padding: 8px 0px 0px 4px !important; -} - -.alogin, .alogin:hover { - color: #888 !important; - font-weight: normal !important; - font-size: px !important; -} -.alogin:hover { - text-decoration:underline !important; -} - -img.login, img.printer, img.entity { - padding: 0px 0px 0px 0px; - margin: 0px 0px 0px 4px; - text-decoration: none; - color: white; - font-weight: bold; -} - - -/* ============================================================================== */ -/* Menu gauche */ -/* ============================================================================== */ - -div.vmenu, td.vmenu { - margin-: 2px; - padding: 0px; - padding-bottom: 0px; - padding-top: 1px; - width: 200px; -} - - -.vmenu { - display: none; -} - - -a.vmenu:link { font-size:12px; text-align:left; font-weight: normal; color: #FFFFFF; margin: 1px 1px 1px 4px; } -a.vmenu:visited { font-size:12px; text-align:left; font-weight: normal; color: #FFFFFF; margin: 1px 1px 1px 4px; } -a.vmenu:active { font-size:12px; text-align:left; font-weight: normal; color: #FFFFFF; margin: 1px 1px 1px 4px; } -a.vmenu:hover { font-size:12px; text-align:left; font-weight: normal; color: #FEF4AE; margin: 1px 1px 1px 4px; } -font.vmenudisabled { font-size:12px; text-align:left; font-weight: normal; color: #FFFFFF; margin: 1px 1px 1px 4px; } - -a.vsmenu:link { font-size:11px; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 4px; } -a.vsmenu:visited { font-size:11px; text-align:left; font-weight: normal; color: #202020; margin: 1px 1px 1px 4px; } -a.vsmenu:active { font-size:11px; text-align:left; font-weight: normal; color: RGB(94,148,181); margin: 1px 1px 1px 4px; } -a.vsmenu:hover { font-size:11px; text-align:left; font-weight: normal; color: #7F0A29; margin: 1px 1px 1px 4px; } -font.vsmenudisabled { font-size:11px; text-align:left; font-weight: normal; color: #202020; } -font.vsmenudisabledmargin { margin: 1px 1px 1px 4px; } - -a.help:link { font-size: 10px; font-weight: bold; background: #FFFFFF; color: #AAACAF; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } -a.help:visited { font-size: 10px; font-weight: bold; background: #FFFFFF; color: #AAACAF; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } -a.help:active { font-size: 10px; font-weight: bold; background: #FFFFFF; color: #9998A0; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } -a.help:hover { font-size: 10px; font-weight: bold; background: #FFFFFF; color: #9998A0; padding: 0em 0.7em; margin: 0em 0.5em; text-decoration: none; white-space: nowrap; } - - -div.blockvmenupair -{ - margin-bottom: 15px; - border-spacing: 0px; - padding: 0px; - width: 100%; - background-image: url(); - background-position: top right; - background-repeat: no-repeat; - -} - -div.blockvmenuimpair -{ - margin-bottom: 15px; - border-spacing: 0px; - padding: 0px; - width: 100%; - background-image: url(); - background-position: top right; - background-repeat: no-repeat; - -} - -img.logocompany -{ - margin-top: 22px; - border-spacing: 0px; - padding: 0px; -} - -div.blockvmenuimpair form a.vmenu, div.blockvmenupair form a.vmenu -{ - width: 166px; - border-spacing: 0px; - color: #000000; - text-align:left; - text-decoration: none; - padding: 4px; - margin: 0px; - background: #FFFFFF; - margin-bottom: -12px; -} - -div.menu_titre -{ - padding: 0px; - padding-left:0px; - margin-top: 8px; - margin: 0px; - height: 16px; - text-align: left; - font-size : 12px; - color : #FFFFFF; - font-weight: bold; - height: 20px; - line-height: 20px; -} - -div.menu_titre a.vmenu { - font-weight: bold; - font-family: ; - font-size: 12px; -} - - -div.blockvmenusearch -{ - margin: 3px 0px 15px 0px; - padding: 25px 0px 2px 2px; - background-image: url(); - background-position: top right; - background-repeat: no-repeat; -} - -div.blockvmenusearch input[type="text"] { - float: left; - width: 130px; - border: 1px solid #333; - font-size: 10px; - height: 16px; -} - -div.blockvmenusearch input.button[type="submit"] { - float: left; - margin-left: 10px; -} - -div.blockvmenusearch div.menu_titre { - margin-top: 5px; -} - -#blockvmenusearch div.menu_titre, #blockvmenusearch form -{ - padding-top: 1px; - padding-bottom: 1px; - min-height: 20px; -} - -#blockvmenusearch form -{ - clear: both; - margin-bottom: 14px; -} - -div.blockvmenubookmarks -{ - margin: 0px; - border-spacing: 0px; - padding: 0px; - width: 100%; - background-image: url(); - background-position: top left; - background-repeat: no-repeat; - margin-bottom: 15px; -} - -div.blockvmenuhelp -{ -dol_optimize_smallscreen)) { ?> - text-align: center; - border-spacing: 0px; - width: 162px; - background: transparent; - font-family: ; - color: #000000; - text-decoration: none; - padding-left: 0px; - padding-right: 1px; - padding-top: 3px; - padding-bottom: 3px; - margin: 1px 0px 0px 0px; - - display: none; - -} - -div.menu_contenu { - margin: 0px; - padding: 1px; - - padding-right: 8px; - font-size : 11px; - font-weight:normal; - color : #000000; - text-align: left; -} - -div.menu_end { -/* border-top: 1px solid #436981; */ - margin: 0px; - padding: 0px; - height: 6px; - width: 165px; - background-repeat:no-repeat; - display: none; -} - - -td.barre { - border-right: 1px solid #000000; - border-bottom: 1px solid #000000; - background: #b3c5cc; - font-family: ; - color: #000000; - text-align: ; - text-decoration: none; -} - -td.barre_select { - background: #b3c5cc; - color: #000000; -} - -td.photo { - background: #F4F4F4; - color: #000000; - border: 1px solid #b3c5cc; -} - - -/* ============================================================================== */ -/* Panes for Main */ -/* ============================================================================== */ - -/* - * PANES and CONTENT-DIVs - */ - -#mainContent, #leftContent .ui-layout-pane { - padding: 0px; - overflow: auto; -} - -#mainContent, #leftContent .ui-layout-center { - padding: 0px; - position: relative; /* contain floated or positioned elements */ - overflow: auto; /* add scrolling to content-div */ -} - -/* ============================================================================== */ -/* Barre de redmiensionnement menu */ -/* ============================================================================== */ - -.ui-layout-resizer-west-open { - /*left: 200px !important;*/ -} - -.ui-layout-north { - height: 57px !important; -} - -/* ============================================================================== */ -/* Toolbar for ECM or Filemanager */ -/* ============================================================================== */ - -.toolbar { - background-repeat: repeat-x !important; - border: 1px solid #BBB !important; -} - -a.toolbarbutton { - margin-top: 1px; - margin-left: 4px; - margin-right: 4px; - height: 30px; -/* border: solid 1px #AAAAAA; - width: 32px; - background: #FFFFFF;*/ -} -img.toolbarbutton { - margin-top: 2px; - height: 28px; -} - - -/* ============================================================================== */ -/* Panes for ECM or Filemanager */ -/* ============================================================================== */ - -#containerlayout .layout-with-no-border { - border: 0 !important; - border-width: 0 !important; -} - -#containerlayout .layout-padding { - padding: 2px !important; -} - -/* - * PANES and CONTENT-DIVs - */ -#containerlayout .ui-layout-pane { /* all 'panes' */ - background: #FFF; - border: 1px solid #BBB; - /* DO NOT add scrolling (or padding) to 'panes' that have a content-div, - otherwise you may get double-scrollbars - on the pane AND on the content-div - */ - padding: 0px; - overflow: auto; -} -/* (scrolling) content-div inside pane allows for fixed header(s) and/or footer(s) */ -#containerlayout .ui-layout-content { - padding: 10px; - position: relative; /* contain floated or positioned elements */ - overflow: auto; /* add scrolling to content-div */ -} - -/* - * RESIZER-BARS - */ -.ui-layout-resizer { /* all 'resizer-bars' */ - width: 8px !important; -} -.ui-layout-resizer-hover { /* affects both open and closed states */ -} -/* NOTE: It looks best when 'hover' and 'dragging' are set to the same color, - otherwise color shifts while dragging when bar can't keep up with mouse */ -/*.ui-layout-resizer-open-hover ,*/ /* hover-color to 'resize' */ -.ui-layout-resizer-dragging { /* resizer beging 'dragging' */ - background: #DDD; - width: 8px; -} -.ui-layout-resizer-dragging { /* CLONED resizer being dragged */ - border-left: 1px solid #BBB; - border-right: 1px solid #BBB; -} -/* NOTE: Add a 'dragging-limit' color to provide visual feedback when resizer hits min/max size limits */ -.ui-layout-resizer-dragging-limit { /* CLONED resizer at min or max size-limit */ - background: #E1A4A4; /* red */ -} -.ui-layout-resizer-closed:hover { - background-color: #EEDDDD; -} -.ui-layout-resizer-sliding { /* resizer when pane is 'slid open' */ - opacity: .10; /* show only a slight shadow */ - filter: alpha(opacity=10); - } - .ui-layout-resizer-sliding-hover { /* sliding resizer - hover */ - opacity: 1.00; /* on-hover, show the resizer-bar normally */ - filter: alpha(opacity=100); - } -/* sliding resizer - add 'outside-border' to resizer on-hover - * this sample illustrates how to target specific panes and states */ -.ui-layout-resizer-north-sliding-hover { border-bottom-width: 1px; } -.ui-layout-resizer-south-sliding-hover { border-top-width: 1px; } -.ui-layout-resizer-west-sliding-hover { border-right-width: 1px; } -.ui-layout-resizer-east-sliding-hover { border-left-width: 1px; } - -/* - * TOGGLER-BUTTONS - */ -.ui-layout-toggler { - border-top: 1px solid #AAA; /* match pane-border */ - border-right: 1px solid #AAA; /* match pane-border */ - border-bottom: 1px solid #AAA; /* match pane-border */ - background-color: #DDD; - top: 5px !important; - } -.ui-layout-toggler-open { - height: 48px !important; - width: 5px !important; - -moz-border-radius:0px 10px 10px 0px; - -webkit-border-radius:0px 10px 10px 0px; - border-radius:0px 10px 10px 0px; -} -.ui-layout-toggler-closed { - height: 48px !important; - width: 5px !important; - -moz-border-radius:0px 10px 10px 0px; - -webkit-border-radius:0px 10px 10px 0px; - border-radius:0px 10px 10px 0px; -} -.ui-layout-toggler .content { /* style the text we put INSIDE the togglers */ - color: #666; - font-size: 12px; - font-weight: bold; - width: 100%; - padding-bottom: 0.35ex; /* to 'vertically center' text inside text-span */ -} - -/* hide the toggler-button when the pane is 'slid open' */ -.ui-layout-resizer-sliding ui-layout-toggler { - display: none; -} - -.ui-layout-north { - height: dol_optimize_smallscreen)?'54':'21'); ?>px !important; -} - -/* ECM */ - -#containerlayout .ecm-layout-pane { /* all 'panes' */ - background: #FFF; - border: 1px solid #BBB; - /* DO NOT add scrolling (or padding) to 'panes' that have a content-div, - otherwise you may get double-scrollbars - on the pane AND on the content-div - */ - padding: 0px; - overflow: auto; -} -/* (scrolling) content-div inside pane allows for fixed header(s) and/or footer(s) */ -#containerlayout .ecm-layout-content { - padding: 10px; - position: relative; /* contain floated or positioned elements */ - overflow: auto; /* add scrolling to content-div */ -} - -.ecm-layout-toggler { - background-color: #DDD; - } -.ecm-layout-toggler-open { - height: 48px !important; - width: 6px !important; -} -.ecm-layout-toggler-closed { - height: 48px !important; - width: 6px !important; -} -.ecm-layout-toggler .content { /* style the text we put INSIDE the togglers */ - color: #666; - font-size: 12px; - font-weight: bold; - width: 100%; - padding-bottom: 0.35ex; /* to 'vertically center' text inside text-span */ -} -#ecm-layout-west-resizer { - width: 6px !important; -} - -.ecm-layout-resizer { /* all 'resizer-bars' */ - border: 1px solid #BBB; - border-width: 0; - } - -.ecm-in-layout-center { - border-left: 1px !important; - border-right: 0px !important; - border-top: 0px !important; -} - -.ecm-in-layout-south { - border-left: 0px !important; - border-right: 0px !important; - border-bottom: 0px !important; - padding: 4px 0 4px 4px !important; -} - - - -/* ============================================================================== */ -/* Onglets */ -/* ============================================================================== */ - -div.tabs { - margin: 10px 0px 0px 0px; - text-align: left; - vertical-align: bottom; - width: 100%; - background-image: url(); - height: 24px; - border-bottom: 2px solid #A51B00; - background-repeat: repeat-x; - background-position: bottom; -} - -div.tabs a.tabTitle { - position: relative; - float: left; - height: 18px; - color: #A51B00; - font-family: ; - font-weight: bold; - padding: 4px 2px 0px 6px; - margin: 0px 10px 0px 0px; - text-decoration: none; - white-space: nowrap; -} - -div.tabs a.tab { - display: block; - width: auto; - font-size: 11px; - font-weight: bold; - font-family: ; - height: 18px; - background-position: right; - line-height: 18px; - color: #842F00; - text-decoration: none; - position: relative; - float: left; - padding: 0px 6px 0px 6px; - margin: 5px 2px 0px 2px; - margin-bottom: 2px; - -moz-border-radius-topleft:8px; - -moz-border-radius-topright:8px; - border-top-left-radius:8px; - border-top-right-radius:8px; - border-right: 1px solid #555555; - border-bottom: 0px solid #555555; - border-left: 1px solid #D0D0D0; - border-top: 1px solid #D8D8D8; - background: #fceabb; /* Old browsers */ -background: -moz-linear-gradient(top, #fceabb 0%, #fccd4d 50%, #FFA820 87%, #fbdf93 100%); /* FF3.6+ */ -background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fceabb), color-stop(50%,#fccd4d), color-stop(87%,#FFA820), color-stop(100%,#fbdf93)); /* Chrome,Safari4+ */ -background: -webkit-linear-gradient(top, #fceabb 0%,#fccd4d 50%,#FFA820 87%,#fbdf93 100%); /* Chrome10+,Safari5.1+ */ -background: -o-linear-gradient(top, #fceabb 0%,#fccd4d 50%,#FFA820 87%,#fbdf93 100%); /* Opera11.10+ */ -background: -ms-linear-gradient(top, #fceabb 0%,#fccd4d 50%,#FFA820 87%,#fbdf93 100%); /* IE10+ */ -filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fceabb', endColorstr='#fbdf93',GradientType=0); /* IE6-9 */ -background: linear-gradient(top, #fceabb 0%,#fccd4d 50%,#FFA820 87%,#fbdf93 100%); /* W3C */ -} - - -div.tabs a.tab:active, .tabactive { - color: #FFF !important; - padding: 0px 6px 0px 6px; - -moz-border-radius-topleft:8px; - -moz-border-radius-topright:8px; - border-top-left-radius:8px; - border-top-right-radius:8px; - border-right: 1px solid #555555; - border-bottom: 0px solid #555555; - border-left: 1px solid #D0D0D0; - border-top: 1px solid #D8D8D8; - background: #FFA820; /* old browsers */ -} - -div.tabs a.tab:hover { - color: #FFF; - -moz-border-radius-topleft:8px; - -moz-border-radius-topright:8px; - border-top-left-radius:8px; - border-top-right-radius:8px; - border-right: 1px solid #555555; - border-bottom: 0px solid #555555; - border-left: 1px solid #D0D0D0; - border-top: 1px solid #D8D8D8; - background: #FFA820; /* old browsers */ -} - -div.tabBar { - color: #234046; - padding-top: 4px; - padding-left: 4px; - padding-right: 4px; - padding-bottom: 4px; - margin: 6px 0px 20px 0px; - -moz-border-radius:8px; - border-radius:8px; - border-right: 1px solid #555555; - border-bottom: 1px solid #555555; - border-left: 1px solid #D0D0D0; - border-top: 1px solid #D8D8D8; - /*background: url() repeat-x;*/ - background: #FEF4AE; /* old browsers */ -} - -div.tabsAction { - margin: 20px 0em 1px 0em; - padding: 0em 0em; - text-align: right; -} - -td.tab { - background: #dee7ec; -} - -span.tabspan { - background: #dee7ec; - color: #434956; - font-family: ; - padding: 0px 6px; - margin: 0em 0.2em; - text-decoration: none; - white-space: nowrap; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - border-top-left-radius:6px; - border-top-right-radius:6px; - - border-: 1px solid #555555; - border-: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; -} - -/* ============================================================================== */ -/* Boutons actions */ -/* ============================================================================== */ - -div.divButAction { margin-bottom: 1.4em; } - -.butAction, .butAction:link, .butAction:visited, .butAction:hover, .butAction:active, .butActionDelete, .butActionRefused, .butActionDelete:link, .butActionDelete:visited, .butActionDelete:hover, .butActionDelete:active { - font-family: ; - font-weight: bold; - /*background: url() repeat-x;*/ - background: #A81E00; - -moz-border-radius:8px; - border-radius:8px; - border-right: 1px solid #555555; - border-bottom: 1px solid #555555; - border-left: 1px solid #D0D0D0; - border-top: 1px solid #D8D8D8; - /*border: 2px solid #063953;*/ - color: #FFF; - padding: 0px 10px 0px 10px; - margin: 0px 10px 0px 10px; - text-decoration: none; - white-space: nowrap; - font-size: 12px; - height: 18px; - line-height: 18px; - cursor: pointer; -} - -.butAction:hover { - background: #FFe7ec; - color: #961400; -} - -.butActionDelete { - border: 1px solid red; -} - -.butActionDelete:link, .butActionDelete:visited, .butActionDelete:hover, .butActionDelete:active { - border: 2px solid red; -} - -.butActionDelete:hover { - background: #FFe7ec; - color: #961400; -} - -.butActionRefused { - background: #FFe7ec; - color: #aaa !important; -} - -global->MAIN_BUTTON_HIDE_UNAUTHORIZED)) { ?> -.butActionRefused { - display: none; -} - - -span.butAction, span.butActionDelete { - cursor: pointer; -} - - -/* ============================================================================== */ -/* Tables */ -/* ============================================================================== */ - -.allwidth { - width: 100%; -} - -/* -#undertopmenu { -background-image: url(""); -background-repeat: repeat-x; -} -*/ - - -.paddingrightonly { - border-collapse: collapse; - border: 0px; - margin-left: 0px; - padding-: 0px !important; - padding-: 4px !important; -} -.nocellnopadd { -list-style-type:none; -margin: 0px; -padding: 0px; - -} - -.notopnoleft { -border-collapse: collapse; -border: 0px; -padding-top: 0px; -padding-: 0px; -padding-: 6px; -padding-bottom: 0px; -margin: 0px 0px; -} -.notopnoleftnoright { -border-collapse: collapse; -border: 0px; -padding-top: 0px; -padding-left: 0px; -padding-right: 0px; -padding-bottom: 0px; -margin: 0px 0px 0px 0px; -} - - -table.border, table.dataTable, .table-border, .table-border-col, .table-key-border-col, .table-val-border-col, div.border { - border: 1px solid #9CACBB; - border-collapse: collapse; - padding: 1px 2px; -} - -table.border td, div.border div div.tagtd { - padding: 1px 2px; - border: 1px solid #9CACBB; - border-collapse: collapse; -} - -td.border, div.tagtable div div.border { - border-top: 1px solid #000000; - border-right: 1px solid #000000; - border-bottom: 1px solid #000000; - border-left: 1px solid #000000; -} - -.table-key-border-col { - width: 25%; - vertical-align:top; -} -.table-val-border-col { - width:auto; -} - -/* Main boxes */ - -table.noborder, div.noborder { - background: #FFF url(); - background-repeat: repeat-x; - background-position: top right; - vertical-align: text-top; - /*border-right: 1px solid #555555; - border-bottom: 1px solid #555555; - border-left: 1px solid #D0D0D0; - border-top: 1px solid #D8D8D8;*/ - border : 1px solid #D0D0D0; - -moz-border-radius:10px; - /*-moz-border-radius-topright:8px;*/ - border-radius:10px; - border-spacing: 0px 0px; - padding : 0 0px 8px 0px; - /*border-collapse: collapse;*/ -} - -table.noborder tr, div.noborder form { -} - -table.noborder td, div.noborder form div { -} - -#graph { - padding: 1px 1px; -} - -table.nobordernopadding { -border: 0px; -border-spacing: 0px 0px; -} -table.nobordernopadding tr { -border: 0px; -padding: 0px 0px; -} -table.nobordernopadding td { -border: 0px; -padding: 0px 0px; -} - -/* For lists */ - -table.liste { -background-image: url(); -background-repeat: repeat-x; -background-position: top right; - vertical-align: text-top; - /*border-right: 1px solid #555555; - border-bottom: 1px solid #555555; - border-left: 1px solid #D0D0D0; - border-top: 1px solid #D8D8D8;*/ - border : 1px solid #D0D0D0; - -moz-border-radius:10px; - /*-moz-border-radius-topright:8px;*/ - border-radius:10px; - border-spacing: 0px 0px; - padding : 0 0px 8px 0px; - /*border-collapse: collapse;*/ -} - -table.liste td { - padding-right: 2px; -} - -.tagtable, .table-border { display: table; } -.tagtr, .table-border-row { display: table-row; } -.tagtd, .table-border-col, .table-key-border-col, .table-val-border-col { display: table-cell; } - -/* Pagination */ -div.pagination { - float: right; -} -div.pagination a { - font-weight: normal; -} -div.pagination ul -{ - list-style: none; - display: inline-block; - padding-left: 0px; - padding-right: 0px; - margin: 0; -} -div.pagination li { - display: inline-block; - padding-left: 0px; - padding-right: 0px; - padding-top: 6px; - padding-bottom: 6px; -} -.pagination { - display: inline-block; - padding-left: 0; - border-radius: 4px; -} - -div.pagination li a, -div.pagination li span { - /*position: relative;*/ - /*float: left;*/ - padding: 6px 12px; - margin-left: -1px; - line-height: 1.42857143; - color: #000; - text-decoration: none; - background-color: #fff; - border: 1px solid #ddd; -} -div.pagination li:first-child a, -div.pagination li:first-child span { - margin-left: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} -div.pagination li:last-child a, -div.pagination li:last-child span { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} -div.pagination li a:hover, -div.pagination li span:hover, -div.pagination li a:focus, -div.pagination li span:focus { - color: #000; - background-color: #eee; - border-color: #ddd; -} -div.pagination li .active a, -div.pagination li .active span, -div.pagination li .active a:hover, -div.pagination li .active span:hover, -div.pagination li .active a:focus, -div.pagination li .active span:focus { - z-index: 2; - color: #fff; - cursor: default; - background-color: ; - border-color: #337ab7; -} -div.pagination .disabled span, -div.pagination .disabled span:hover, -div.pagination .disabled span:focus, -div.pagination .disabled a, -div.pagination .disabled a:hover, -div.pagination .disabled a:focus { - color: #777; - cursor: not-allowed; - background-color: #fff; - border-color: #ddd; -} -div.pagination li .active { - text-decoration: underline; -} -div.pagination li.paginationafterarrows { - margin-left: 10px; -} - -tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.liste_titre_sel -{ - height: 20px !important; -} -div.liste_titre, tr.liste_titre, form.liste_titre { - color: #842F00; - font-weight: bold; - font-family: ; - /*border-bottom: 1px solid #FDFFFF;*/ - border-radius: 8px; - padding-left: 10px; - padding-right: 10px; - white-space: ; - text-align: ; -} -th.liste_titre, td.liste_titre, form.liste_titre div -{ - padding-left: 6px; - padding-right: 6px; - white-space: ; - vertical-align: middle; -} -th.liste_titre_sel, td.liste_titre_sel, form.liste_titre_sel div -{ - background-position: top right; - color: #A51B00; - font-weight: bold; - white-space: ; - vertical-align: middle; -} - -input.liste_titre { -background: #FFF; -/*background-image: url(); -background-repeat: no-repeat; -background-position: top right;*/ -border: 0px; -} - -tr.liste_total td, form.liste_total div { -border-top: 1px solid #DDDDDD; -background: #F0F0F0; -background-repeat: repeat-x; -color: #332266; -font-weight: normal; -white-space: nowrap; -} - -.impair { -/* background: #d0d4d7; */ -background: #eaeaea; -font-family: ; -border: 0px; -} - -.impair:hover { -background: #c0c4c7; -border: 0px; -} - -tr.impair td.nohover, form.impair div.nohover { - background: #eaeaea; -} - -.pair { -background: #FFFFFF; -font-family: ; -border: 0px; -} - -.pair:hover { -background: #c0c4c7; -border: 0px; -} - -tr.pair td.nohover { - background: #FFFFFF; -} - -.pair td, .impair td { - padding: 2px; -} - -.noshadow { - -moz-box-shadow: 0px 0px 0px #CCC !important; - -webkit-box-shadow: 0px 0px 0px #CCC !important; - box-shadow: 0px 0px 0px #CCC !important; -} - - -/* - * Boxes - */ - -.boxstats { - - margin: 4px; - padding: 4px; - /*-moz-box-shadow: 4px 4px 4px #DDD; - -webkit-box-shadow: 4px 4px 4px #DDD; - box-shadow: 4px 4px 4px #DDD; - margin-bottom: 8px !important;*/ - background: #FFFFFF; - border: 1px solid #AAA; - text-align: center; - border-radius: 5px; -} - -.box { - padding-right: 0px; - padding-left: 0px; - padding-bottom: 4px; -} - -tr.box_titre { - background-repeat: repeat-x; - color: #842F00; - font-weight: normal; - font-family: ; - white-space: nowrap; - -moz-border-radius-topleft:6px; - -moz-border-radius-topright:6px; - border-top-left-radius:6px; - border-top-right-radius:6px; -} - -tr.box_titre td.boxclose { - width: 30px; -} - -tr.box_impair { -/* background: #e6ebed; */ -background: #eaeaea; -font-family: ; -} - -tr.box_impair:hover { -background: #c0c4c7; -border: 0px; -} - -tr.box_impair .nohover { -background: #eaeaea; -} - -tr.box_pair { -/* background: #d0d4d7; */ -background: #f4f4f4; -font-family: ; -} - -tr.box_pair:hover { -background: #c0c4c7; -border: 0px; -} - -.formboxfilter { - vertical-align: middle; - margin-bottom: 6px; -} -.formboxfilter input[type=image] -{ - top: 4px; - position: relative; -} - - - -/* - * Ok, Warning, Error - */ -.ok { color: #114466; } -.warning { color: #887711; } -.error { color: #550000 !important; font-weight: bold; } - -div.ok { - color: #114466; -} - -div.warning { - color: #997711; - padding: 0.2em 0.2em 0.2em 0.2em; - margin: 0.5em 0em 0.5em 0em; - border: 1px solid #e0e0d0; - -moz-border-radius:6px; - border-radius:6px; - background: #efefd4; -} - -div.error { - color: #550000; font-weight: bold; - padding: 0.2em 0.2em 0.2em 0.2em; - margin: 0.5em 0em 0.5em 0em; - border: 1px solid #8C9CAB; - -moz-border-radius:6px; - border-radius:6px; -} - -/* Info admin */ -div.info { - color: #707070; - padding: 0.2em 0.2em 0.2em 0.2em; - margin: 0.5em 0em 0.5em 0em; - border: 1px solid #e0e0d0; - -moz-border-radius:6px; - border-radius:6px; - background: #efefd4; -} - - -/* - * Liens Payes/Non payes - */ - -a.normal:link { font-weight: normal } -a.normal:visited { font-weight: normal } -a.normal:active { font-weight: normal } -a.normal:hover { font-weight: normal } - -a.impayee:link { font-weight: bold; color: #550000; } -a.impayee:visited { font-weight: bold; color: #550000; } -a.impayee:active { font-weight: bold; color: #550000; } -a.impayee:hover { font-weight: bold; color: #550000; } - - - -/* - * Other - */ - -.fieldrequired { font-weight: bold; color: #000055; } - -.dolgraphtitle { margin-top: 6px; margin-bottom: 4px; } -.dolgraphtitlecssboxes { margin: 0px; } - -.photo { -border: 0px; -/* filter:alpha(opacity=55); */ -/* opacity:.55; */ -} - -div.titre { - font-family: ; - font-weight: normal; - color: #842F00; - font-size: 16px; - text-decoration: none; -} - -#dolpaymenttable { width: 600px; font-size: 13px; } -#tablepublicpayment { border: 1px solid #CCCCCC !important; width: 100%; } -#tablepublicpayment .CTableRow1 { background-color: #F0F0F0 !important; } -#tablepublicpayment tr.liste_total { border-bottom: 1px solid #CCCCCC !important; } -#tablepublicpayment tr.liste_total td { border-top: none; } - - -/* ============================================================================== */ -/* Formulaire confirmation (When Ajax JQuery is used) */ -/* ============================================================================== */ - -.ui-dialog-titlebar { -} -.ui-dialog-content { - font-size: px !important; -} - -/* ============================================================================== */ -/* Formulaire confirmation (When HTML is used) */ -/* ============================================================================== */ - -table.valid { - border-top: solid 1px #E6E6E6; - border-: solid 1px #E6E6E6; - border-: solid 1px #444444; - border-bottom: solid 1px #555555; - padding-top: 0px; - padding-left: 0px; - padding-right: 0px; - padding-bottom: 0px; - margin: 0px 0px; - background: #D5BAA8; -} - -.validtitre { - background: #D5BAA8; - font-weight: bold; -} - - -/* ============================================================================== */ -/* Tooltips */ -/* ============================================================================== */ - -#tooltip { -position: absolute; -width: px; -border-top: solid 1px #BBBBBB; -border-: solid 1px #BBBBBB; -border-: solid 1px #444444; -border-bottom: solid 1px #444444; -padding: 2px; -z-index: 3000; -background-color: #FFFFF0; -opacity: 1; --moz-border-radius:6px; -border-radius:6px; -} - - -/* ============================================================================== */ -/* Calendar */ -/* ============================================================================== */ - -img.datecallink { padding-left: 2px !important; padding-right: 2px !important; } - -.ui-datepicker-trigger { - vertical-align: middle; - cursor: pointer; -} - -.bodyline { - padding: 0px; - margin-bottom: 5px; - z-index: 3000; -} -table.dp { - width: 180px; - background-color: #FFFFFF; - border-top: solid 2px #DDDDDD; - border-: solid 2px #DDDDDD; - border-: solid 1px #222222; - border-bottom: solid 1px #222222; - -moz-border-radius:8px; - border-radius:8px; - background: #FFA820; /* old browsers */ -background: -moz-linear-gradient(top, #FFA820 0%, #FFA820 0%, #FFFFFF 100%); /* firefox */ - -background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#FFA820), color-stop(0%,#FFA820), color-stop(100%,#FFFFFF)); /* webkit */ - -filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFA820', endColorstr='#FFFFFF',GradientType=0); /* ie */ - -background: -o-linear-gradient(top, #FFA820 0%,#FFA820 0%,#FFFFFF 100%); /* opera */ - -} -.dp td, .tpHour td, .tpMinute td{padding:2px; font-size:10px;} -/* Barre titre */ -.dpHead,.tpHead,.tpHour td:Hover .tpHead{ - font-weight:bold; - color:white; - font-size:11px; - cursor:auto; - -} -/* Barre navigation */ -.dpButtons,.tpButtons { - text-align:center; - background-color:#A51B00; - color:#FFFFFF; - font-weight:bold; - border: 1px outset black; - cursor:pointer; -} -.dpButtons:Active,.tpButtons:Active{border: 1px outset black;} -.dpDayNames td,.dpExplanation {background-color:#FEF4AE; font-weight:bold; text-align:center; font-size:11px;} -.dpExplanation{ - font-weight:normal; - font-size:11px; - -moz-border-radius-bottomleft:8px; - -moz-border-radius-bottomright:8px; - border-bottom-left-radius:8px; - border-bottom-right-radius:8px; - //border-right: 1px solid #555555; - //border-bottom: 0px solid #555555; - //border-left: 1px solid #D0D0D0; - //border-top: 1px solid #D8D8D8; -} -.dpWeek td{ - text-align:center; - border-bottom: 1px solid #555555; - } - -.dpToday,.dpReg,.dpSelected{ - cursor:pointer; -} -.dpToday{font-weight:bold; color:black; background-color:#DDDDDD;} -.dpReg:Hover,.dpToday:Hover{background-color:#A51B00;color:#FEF4AE; font-weight: bold;} - -/* Jour courant */ -.dpSelected { - color:white; - font-weight:bold; - background-color: #A51B00; /* old browsers */ -} - -.tpHour{border-top:1px solid #DDDDDD; border-right:1px solid #DDDDDD;} -.tpHour td {border-left:1px solid #DDDDDD; border-bottom:1px solid #DDDDDD; cursor:pointer;} -.tpHour td:Hover {background-color:black;color:white;} - -.tpMinute {margin-top:5px;} -.tpMinute td:Hover {background-color:black; color:white; } -.tpMinute td {background-color:#D9DBE1; text-align:center; cursor:pointer;} - -/* Bouton X fermer */ -.dpInvisibleButtons -{ -border-style:none; -background-color:transparent; -padding:0px; -font-size:9px; -border-width:0px; -color:#A51B00; -vertical-align:middle; -cursor: pointer; -text-align: right; -font-weight: bold; -} - - -/* ============================================================================== */ -/* Afficher/cacher */ -/* ============================================================================== */ - -div.visible { - display: block; -} - -div.hidden { - display: none; -} - -tr.visible { - display: block; -} - -td.hidden { - display: none; -} - - -/* ============================================================================== */ -/* Module agenda */ -/* ============================================================================== */ - -table.cal_month { border-spacing: 0px; } -.cal_current_month { border-top: 0; border-left: solid 1px #E0E0E0; border-right: 0; border-bottom: solid 1px #E0E0E0; } -.cal_current_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B; border-right: 0; border-bottom: solid 1px #E0E0E0; } -.cal_other_month { border-top: 0; border-left: solid 1px #C0C0C0; border-right: 0; border-bottom: solid 1px #C0C0C0; } -.cal_other_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B !important; border-right: 0; } -.cal_current_month_right { border-right: solid 1px #E0E0E0; } -.cal_other_month_right { border-right: solid 1px #C0C0C0; } -.cal_other_month { background: #DDDDDD; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_past_month { background: #EEEEEE; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_current_month { background: #FFFFFF; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_current_month_peruserleft { background: #FFFFFF; border-left: solid 3px #6C7C7B; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_today { background: #FFFFFF; border: solid 2px #C0C0C0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_today_peruser { background: #FFFFFF; border-right: solid 1px #6C7C7B; border-top: solid 1px #A0A0A0; border-bottom: solid 1px #A0A0A0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_today_peruser_peruserleft { background: #FFFFFF; border-left: solid 3px #6C7C7B; border-top: solid 1px #A0A0A0; border-right: solid 1px #6C7C7B; border-bottom: solid 1px #A0A0A0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -table.cal_event { border-collapse: collapse; margin-bottom: 1px; } -table.cal_event td { border: 0px; padding-: 0px; padding-: 2px; padding-top: 0px; padding-bottom: 0px; } -ul.cal_event { padding-right: 2px; padding-top: 1px; border: none; list-style-type: none; margin: 0 auto; padding-left: 0px; padding-start: 0px; -khtml-padding-start: 0px; -o-padding-start: 0px; -webkit-padding-start: 0px; -webkit-padding-start: 0px; } -li.cal_event { border: none; list-style-type: none; } -.cal_event a:link {font-size: 11px; font-weight: bold !important; } -.cal_event a:visited {font-size: 11px; font-weight: bold !important; } -.cal_event a:active {font-size: 11px; font-weight: bold !important; } -.cal_event a:hover {font-size: 11px; font-weight: bold !important; } -.peruser_busy { background: #CC8888; } -.peruser_notbusy { background: #EEDDDD; } - - -/* ============================================================================== */ -/* Ajax - Liste deroulante de l'autocompletion */ -/* ============================================================================== */ - -.ui-autocomplete-loading { background: white url() right center no-repeat; } -.ui-autocomplete { - position:absolute; - width:auto; - font-size: 1.0em; - background-color:white; - border:1px solid #888; - margin:0px; - padding:0px; - } -.ui-autocomplete ul { - list-style-type:none; - margin:0px; - padding:0px; - } -.ui-autocomplete ul li.selected { background-color: #D3E5EC;} -.ui-autocomplete ul li { - list-style-type:none; - display:block; - margin:0; - padding:2px; - height:16px; - cursor:pointer; - } - -/* ============================================================================== */ -/* jQuery - jeditable */ -/* ============================================================================== */ - -.editkey_textarea, .editkey_ckeditor, .editkey_string, .editkey_email, .editkey_numeric, .editkey_select, .editkey_autocomplete { - background: url() right top no-repeat; - cursor: pointer; -} - -.editkey_datepicker { - background: url() right center no-repeat; - cursor: pointer; -} - -.editval_textarea.active:hover, .editval_ckeditor.active:hover, .editval_string.active:hover, .editval_email.active:hover, .editval_numeric.active:hover, .editval_select.active:hover, .editval_autocomplete.active:hover, .editval_datepicker.active:hover { - background: white; - cursor: pointer; -} - -.viewval_textarea.active:hover, .viewval_ckeditor.active:hover, .viewval_string.active:hover, .viewval_email.active:hover, .viewval_numeric.active:hover, .viewval_select.active:hover, .viewval_autocomplete.active:hover, .viewval_datepicker.active:hover { - background: white; - cursor: pointer; -} - -.viewval_hover { - background: white; -} - - -/* ============================================================================== */ -/* Admin Menu */ -/* ============================================================================== */ - -/* CSS for treeview */ -.treeview ul { background-color: transparent !important; margin-top: 0; } -.treeview li { background-color: transparent !important; padding: 0 0 0 16px !important; min-height: 20px; } -.treeview .hover { color: black !important; } - - -/* ============================================================================== */ -/* Show Excel tabs */ -/* ============================================================================== */ - -.table_data -{ - border-style:ridge; - border:1px solid; -} -.tab_base -{ - background:#C5D0DD; - font-weight:bold; - border-style:ridge; - border: 1px solid; - cursor:pointer; -} -.table_sub_heading -{ - background:#CCCCCC; - font-weight:bold; - border-style:ridge; - border: 1px solid; -} -.table_body -{ - background:#F0F0F0; - font-weight:normal; - font-family: ; - border-style:ridge; - border: 1px solid; - border-spacing: 0px; - border-collapse: collapse; -} -.tab_loaded -{ - background:#222222; - color:white; - font-weight:bold; - border-style:groove; - border: 1px solid; - cursor:pointer; -} - - -/* ============================================================================== */ -/* CSS for color picker */ -/* ============================================================================== */ - -A.color, A.color:active, A.color:visited { - position : relative; - display : block; - text-decoration : none; - width : 10px; - height : 10px; - line-height : 10px; - margin : 0px; - padding : 0px; - border : 1px inset white; -} -A.color:hover { - border : 1px outset white; -} -A.none, A.none:active, A.none:visited, A.none:hover { - position : relative; - display : block; - text-decoration : none; - width : 10px; - height : 10px; - line-height : 10px; - margin : 0px; - padding : 0px; - cursor : default; - border : 1px solid #b3c5cc; -} -.tblColor { - display : none; -} -.tdColor { - padding : 1px; -} -.tblContainer { - background-color : #b3c5cc; -} -.tblGlobal { - position : absolute; - top : 0px; - left : 0px; - display : none; - background-color : #b3c5cc; - border : 2px outset; -} -.tdContainer { - padding : 5px; -} -.tdDisplay { - width : 50%; - height : 20px; - line-height : 20px; - border : 1px outset white; -} -.tdDisplayTxt { - width : 50%; - height : 24px; - line-height : 12px; - font-family : ; - font-size : 8pt; - color : black; - text-align : center; -} -.btnColor { - width : 100%; - font-family : ; - font-size : 10pt; - padding : 0px; - margin : 0px; -} -.btnPalette { - width : 100%; - font-family : ; - font-size : 8pt; - padding : 0px; - margin : 0px; -} - - -/* Style to overwrites JQuery styles */ -.ui-menu .ui-menu-item a { - text-decoration:none; - display:block; - padding:.2em .4em; - line-height:1.5; - zoom:1; - font-weight: normal; - font-family:; - font-size:1em; -} -.ui-widget { - font-family:; - font-size:px; -} -.ui-button { margin-left: -1px; padding-top: 1px; } -.ui-button-icon-only .ui-button-text { height: 8px; } -.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: 2px 0px 6px 0px; } -.ui-button-text -{ - line-height: 1em !important; -} -.ui-autocomplete-input { margin: 0; padding: 1px; } - - -/* ============================================================================== */ -/* CKEditor */ -/* ============================================================================== */ - -.cke_editor table, .cke_editor tr, .cke_editor td -{ - border: 0px solid #FF0000 !important; -} -span.cke_skin_kama { padding: 0 !important; } -.cke_wrapper { padding: 4px !important; } - -a.cke_dialog_ui_button -{ - font-family: !important; - background-image: url() !important; - background-position: bottom !important; - border: 1px solid #ACBCBB !important; - -moz-border-radius:0px 5px 0px 5px !important; - -webkit-border-radius:0px 5px 0px 5px !important; - border-radius:0px 5px 0px 5px !important; - -moz-box-shadow: 4px 4px 4px #CCC !important; - -webkit-box-shadow: 4px 4px 4px #CCC !important; - box-shadow: 4px 4px 4px #CCC !important; -} - -/* ============================================================================== */ -/* File upload */ -/* ============================================================================== */ - -.template-upload { - height: 72px !important; -} - - -/* ============================================================================== */ -/* JSGantt */ -/* ============================================================================== */ - -div.scroll2 { - width: px !important; -} - - -/* ============================================================================== */ -/* jFileTree */ -/* ============================================================================== */ - -.ecmfiletree { - width: 99%; - height: 99%; - background: #FFF; - padding-left: 2px; - font-weight: normal; -} - -.fileview { - width: 99%; - height: 99%; - background: #FFF; - padding-left: 2px; - padding-top: 4px; - font-weight: normal; -} - -div.filedirelem { - position: relative; - display: block; - text-decoration: none; -} - -ul.filedirelem { - padding: 2px; - margin: 0 5px 5px 5px; -} -ul.filedirelem li { - list-style: none; - padding: 2px; - margin: 0 10px 20px 10px; - width: 160px; - height: 120px; - text-align: center; - display: block; - float: ; - border: solid 1px #DDDDDD; -} - -ui-layout-north { - -} - -ul.ecmjqft { - font-size: 11px; - line-height: 16px; - padding: 0px; - margin: 0px; - font-weight: normal; -} - -ul.ecmjqft li { - list-style: none; - padding: 0px; - padding-left: 20px; - margin: 0px; - white-space: nowrap; - display: block; -} - -ul.ecmjqft a { - line-height: 16px; - vertical-align: middle; - color: #333; - padding: 0px 0px; - font-weight:normal; - display: inline-block !important; -/* float: left;*/ -} -ul.ecmjqft a:active { - font-weight: bold !important; -} -ul.ecmjqft a:hover { - text-decoration: underline; -} -div.ecmjqft { - vertical-align: middle; - display: inline-block !important; - text-align: right; - position:absolute; - right:8px; -} - -/* Core Styles */ -.ecmjqft LI.directory { font-weight:normal; background: url() left top no-repeat; } -.ecmjqft LI.expanded { font-weight:normal; background: url() left top no-repeat; } -.ecmjqft LI.wait { font-weight:normal; background: url() left top no-repeat; } - - - -/* ============================================================================== */ -/* jNotify */ -/* ============================================================================== */ - -.jnotify-container { - position: fixed !important; -global->MAIN_JQUERY_JNOTIFY_BOTTOM)) { ?> - top: auto !important; - bottom: 4px !important; - - text-align: center; - min-width: px; - width: auto; - padding-left: 10px !important; - padding-right: 10px !important; -} - - -/* ============================================================================== */ -/* Maps */ -/* ============================================================================== */ - -.divmap, #google-visualization-geomap-embed-0, #google-visualization-geomap-embed-1, google-visualization-geomap-embed-2 { - -moz-box-shadow: 0px 0px 10px #AAA; - -webkit-box-shadow: 0px 0px 10px #AAA; - box-shadow: 0px 0px 10px #AAA; -} - - -/* ============================================================================== */ -/* Datatable */ -/* ============================================================================== */ - -.sorting_asc { background: url('') no-repeat center right; } -.sorting_desc { background: url('') no-repeat center right; } -.sorting_asc_disabled { background: url('') no-repeat center right; } -.sorting_desc_disabled { background: url('') no-repeat center right; } -.paginate_disabled_previous:hover, .paginate_enabled_previous:hover, .paginate_disabled_next:hover, .paginate_enabled_next:hover -{ - font-weight: normal; -} -.paginate_enabled_previous:hover, .paginate_enabled_next:hover -{ - text-decoration: underline !important; -} -.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled, .paginate_button_disabled { - opacity: .35; - filter: Alpha(Opacity=35); - background-image: none; -} - - -/* ============================================================================== */ -/* Select2 */ -/* ============================================================================== */ - -.selectoptiondisabledwhite { - background: #FFFFFF !important; -} - -.select2-choice, -.select2-drop.select2-drop-above.select2-drop-active, -.select2-container-active .select2-choice, -.select2-container-active .select2-choices, -.select2-dropdown-open.select2-drop-above .select2-choice, -.select2-dropdown-open.select2-drop-above .select2-choices, -.select2-container-multi.select2-container-active .select2-choices -{ - border: 1px solid #aaa; -} -.select2-disabled -{ - color: #888; -} -.select2-drop-active -{ - border: 1px solid #aaa; - border-top: none; -} -a span.select2-chosen -{ - font-weight: normal !important; -} -.select2-container .select2-choice { - background-image: none; - height: 24px; - line-height: 24px; -} -.select2-choices .select2-search-choice { - border: 1px solid #aaa !important; -} -.select2-results .select2-no-results, .select2-results .select2-searching, .select2-results .select2-ajax-error, .select2-results .select2-selection-limit -{ - background: #FFFFFF; -} -.select2-container-multi.select2-container-disabled .select2-choices { - background-color: #FFFFFF; - background-image: none; - border: none; - cursor: default; -} -.select2-container-multi .select2-choices .select2-search-choice { - margin-bottom: 3px; -} -/* To emulate select 2 style */ -.select2-container-multi-dolibarr .select2-choices-dolibarr .select2-search-choice-dolibarr { - padding: 2px 5px 1px 5px; - margin: 0 0 2px 3px; - position: relative; - line-height: 13px; - color: #333; - cursor: default; - border: 1px solid #aaaaaa; - border-radius: 3px; - -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); - box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); - background-clip: padding-box; - -webkit-touch-callout: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-color: #e4e4e4; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0); - background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee)); - background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); - background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); - background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); -} -.select2-container-multi-dolibarr .select2-choices-dolibarr .select2-search-choice-dolibarr a { - font-weight: normal; -} -.select2-container-multi-dolibarr .select2-choices-dolibarr li { - float: left; - list-style: none; -} -.select2-container-multi-dolibarr .select2-choices-dolibarr { - height: auto !important; - height: 1%; - margin: 0; - padding: 0 5px 0 0; - position: relative; - cursor: text; - overflow: hidden; -} - - -/* ============================================================================== */ -/* JMobile */ -/* ============================================================================== */ - -li.ui-li-divider .ui-link { - color: #FFF !important; -} -.ui-btn { - margin: 0.1em 2px -} -a.ui-link, a.ui-link:hover, .ui-btn:hover, span.ui-btn-text:hover, span.ui-btn-inner:hover { - text-decoration: none !important; -} - -.ui-btn-inner { - min-width: .4em; - padding-left: 10px; - padding-right: 10px; - font-size: px; - /* white-space: normal; */ /* Warning, enable this break the truncate feature */ -} -.ui-select .ui-btn-icon-right .ui-btn-inner { - padding-right: 36px; -} -.ui-select .ui-btn-icon-left .ui-btn-inner { - padding-left: 36px; -} - -.fiche .ui-controlgroup { - margin: 0px; - padding-bottom: 0px; -} -div.ui-controlgroup-controls div.tabsElem -{ - margin-top: 2px; -} -div.ui-controlgroup-controls div.tabsElem a -{ - -moz-box-shadow: 0 -3px 6px rgba(0,0,0,.2); - -webkit-box-shadow: 0 -3px 6px rgba(0,0,0,.2); - box-shadow: 0 -3px 6px rgba(0,0,0,.2); - border: none; -} -a.tab span.ui-btn-inner -{ - border: none; - padding: 0; -} - -.ui-body-c { - border: 1px solid #CCC; - text-shadow: none; -} -.ui-link { - color: rgb() !important; -} - -a.ui-link { - word-wrap: break-word; -} - -/* force wrap possible onto field overflow does not works */ -.formdoc .ui-btn-inner -{ - white-space: normal; - overflow: hidden; - text-overflow: hidden; -} - -/* Warning: setting this may make screen not beeing refreshed after a combo selection */ -.ui-body-c { - background: #fff; -} - -div.ui-radio -{ - display: inline-block; -} -.ui-checkbox input, .ui-radio input { - height: auto; - width: auto; - margin: 4px; - position: static; -} -div.ui-checkbox label+input, div.ui-radio label+input { - position: absolute; -} - -.ui-mobile fieldset -{ - padding-bottom: 10px; margin-bottom: 4px; border-bottom: 1px solid #AAAAAA !important; -} - -ul.ulmenu { - border-radius: 0; - -webkit-border-radius: 0; -} - -.ui-field-contain label.ui-input-text { - vertical-align: middle !important; -} -.ui-mobile fieldset { - border-bottom: none !important; -} - -/* Style for first level menu with jmobile */ -.ui-bar-b, .lilevel0 { - background: rgb(); - background-repeat: repeat-x; - - background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - font-weight: bold; - - color: # !important; -} -.ui-body-c, .ui-btn-up-c, .ui-btn-hover-c { - border: none !important; -} -.alilevel0 { - color: # !important; - text-shadow: 1px 0px 1px #; -} -.alilevel1 { - color: # !important; - text-shadow: 1px 0px 1px #; -} -.lilevel1 { - background-image: -webkit-gradient(linear,left top,left bottom,from( #eee ),to( #e1e1e1 )) !important; - background-image: -webkit-linear-gradient( #eee,#e1e1e1 ) !important; - background-image: -moz-linear-gradient( #eee,#e1e1e1 ) !important; - background-image: -ms-linear-gradient( #eee,#e1e1e1 ) !important; - background-image: -o-linear-gradient( #eee,#e1e1e1 ) !important; - background-image: linear-gradient( #eee,#e1e1e1 ) !important; -} -.lilevel2 -{ - padding-left: 22px; -} -.lilevel3 -{ - padding-left: 54px; -} - - -close(); diff --git a/htdocs/theme/cameleo/thumb.png b/htdocs/theme/cameleo/thumb.png deleted file mode 100644 index 01aa847e347..00000000000 Binary files a/htdocs/theme/cameleo/thumb.png and /dev/null differ diff --git a/htdocs/theme/cameleo/tpl/README b/htdocs/theme/cameleo/tpl/README deleted file mode 100644 index d3bc4b4679f..00000000000 --- a/htdocs/theme/cameleo/tpl/README +++ /dev/null @@ -1,3 +0,0 @@ -README (english) - -This directory is used to store custom templates. (system core and modules) \ No newline at end of file diff --git a/htdocs/theme/cameleo/tpl/index.html b/htdocs/theme/cameleo/tpl/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index ce4764373db..f47da8120c3 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -101,13 +101,12 @@ $colorbacktabcard2=($colred-15).','.($colgreen-15).','.($colblue-15); $colorbacktabactive=($colred-15).','.($colgreen-15).','.($colblue-15); $colorbacklineimpair1='255,255,255'; // line impair $colorbacklineimpair2='255,255,255'; // line impair -$colorbacklineimpairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)); // line impair $colorbacklinepair1=(244+round($isred/3)).','.(244+round($isgreen/3)).','.(244+round($isblue/3)); // line pair $colorbacklinepair2=(250+round($isred/3)).','.(250+round($isgreen/3)).','.(250+round($isblue/3)); // line pair $colorbacklinepairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)); // line pair -$colorbackbody='243,243,243'; +$colorbackbody='255,255,255'; $colortext='40,40,40'; -$fontsize='12'; +$fontsize='13'; $fontsizesmaller='11'; $usegradient=1; @@ -115,9 +114,10 @@ $usegradient=1; if (empty($conf->global->THEME_ELDY_ENABLE_PERSONALIZED)) { // Case of option always editable - if (! isset($conf->global->THEME_ELDY_TOPMENU_BACK1)) $conf->global->THEME_ELDY_TOPMENU_BACK1='140,150,180'; // topmenu (140,160,185) - if (! isset($conf->global->THEME_ELDY_BACKTITLE1)) $conf->global->THEME_ELDY_BACKTITLE1='140,150,180'; // title of arrays TO MATCH ELDY (140,160,185) - //if (! isset($conf->global->THEME_ELDY_BACKTITLE1)) $conf->global->THEME_ELDY_BACKTITLE1='230,230,230'; // title of arrays TO MATCH BOOTSTRAP + if (! isset($conf->global->THEME_ELDY_TOPMENU_BACK1)) $conf->global->THEME_ELDY_TOPMENU_BACK1='140,150,180'; // topmenu (140,160,185) + //if (! isset($conf->global->THEME_ELDY_BACKTITLE1)) $conf->global->THEME_ELDY_BACKTITLE1='140,150,180'; // title of arrays TO MATCH ELDY (140,160,185) + if (! isset($conf->global->THEME_ELDY_BACKTITLE1)) $conf->global->THEME_ELDY_BACKTITLE1='230,230,230'; // title of arrays TO MATCH BOOTSTRAP + if (! isset($conf->global->THEME_ELDY_USE_HOVER)) $conf->global->THEME_ELDY_USE_HOVER=''; // color for links // Cas of option editable if option THEME_ELDY_ENABLE_PERSONALIZED is on $conf->global->THEME_ELDY_TOPMENU_BACK2='236,236,236'; @@ -127,14 +127,14 @@ if (empty($conf->global->THEME_ELDY_ENABLE_PERSONALIZED)) $conf->global->THEME_ELDY_BACKTABCARD1='255,255,255'; $conf->global->THEME_ELDY_BACKTABCARD2='210,210,210'; // card $conf->global->THEME_ELDY_BACKTABACTIVE='234,234,234'; - $conf->global->THEME_ELDY_BACKBODY='243,243,243'; + $conf->global->THEME_ELDY_BACKBODY='255,255,255'; $conf->global->THEME_ELDY_LINEIMPAIR1='255,255,255'; $conf->global->THEME_ELDY_LINEIMPAIR2='255,255,255'; - $conf->global->THEME_ELDY_LINEIMPAIRHOVER='238,246,252'; - $conf->global->THEME_ELDY_LINEPAIR1='242,242,242'; + $conf->global->THEME_ELDY_LINEPAIR1='250,250,250'; $conf->global->THEME_ELDY_LINEPAIR2='248,248,248'; $conf->global->THEME_ELDY_LINEPAIRHOVER='238,246,252'; - $conf->global->THEME_ELDY_TEXT='50,50,130'; // color for links + $conf->global->THEME_ELDY_USE_HOVER=='238,246,252'; + $conf->global->THEME_ELDY_FONT_SIZE1='12'; $conf->global->THEME_ELDY_FONT_SIZE2='11'; } @@ -151,7 +151,6 @@ $colorbacktabcard2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty( $colorbacktabactive =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTABACTIVE)?$colorbacktabactive:$conf->global->THEME_ELDY_BACKTABACTIVE):(empty($user->conf->THEME_ELDY_BACKTABACTIVE)?$colorbacktabactive:$user->conf->THEME_ELDY_BACKTABACTIVE); $colorbacklineimpair1=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEIMPAIR1) ?$colorbacklineimpair1:$conf->global->THEME_ELDY_LINEIMPAIR1):(empty($user->conf->THEME_ELDY_LINEIMPAIR1)?$colorbacklineimpair1:$user->conf->THEME_ELDY_LINEIMPAIR1); $colorbacklineimpair2=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEIMPAIR2) ?$colorbacklineimpair2:$conf->global->THEME_ELDY_LINEIMPAIR2):(empty($user->conf->THEME_ELDY_LINEIMPAIR2)?$colorbacklineimpair2:$user->conf->THEME_ELDY_LINEIMPAIR2); -$colorbacklineimpairhover=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEIMPAIRHOVER) ?$colorbacklineimpairhover:$conf->global->THEME_ELDY_LINEIMPAIRHOVER):(empty($user->conf->THEME_ELDY_LINEIMPAIRHOVER)?$colorbacklineimpairhover:$user->conf->THEME_ELDY_LINEIMPAIRHOVER); $colorbacklinepair1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIR1) ?$colorbacklinepair1:$conf->global->THEME_ELDY_LINEPAIR1) :(empty($user->conf->THEME_ELDY_LINEPAIR1)?$colorbacklinepair1:$user->conf->THEME_ELDY_LINEPAIR1); $colorbacklinepair2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIR2) ?$colorbacklinepair2:$conf->global->THEME_ELDY_LINEPAIR2) :(empty($user->conf->THEME_ELDY_LINEPAIR2)?$colorbacklinepair2:$user->conf->THEME_ELDY_LINEPAIR2); $colorbacklinepairhover =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIRHOVER) ?$colorbacklinepairhover:$conf->global->THEME_ELDY_LINEPAIRHOVER) :(empty($user->conf->THEME_ELDY_LINEPAIRHOVER)?$colorbacklinepairhover:$user->conf->THEME_ELDY_LINEPAIRHOVER); @@ -160,12 +159,11 @@ $colortext =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty( $fontsize =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_FONT_SIZE1) ?$fontsize:$conf->global->THEME_ELDY_FONT_SIZE1) :(empty($user->conf->THEME_ELDY_FONT_SIZE1)?$fontsize:$user->conf->THEME_ELDY_FONT_SIZE1); $fontsizesmaller =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_FONT_SIZE2) ?$fontsize:$conf->global->THEME_ELDY_FONT_SIZE2) :(empty($user->conf->THEME_ELDY_FONT_SIZE2)?$fontsize:$user->conf->THEME_ELDY_FONT_SIZE2); -// Hover can be disabled with THEME_ELDY_USE_HOVER=0 -if ((! empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) && (isset($user->conf->THEME_ELDY_USE_HOVER) && $user->conf->THEME_ELDY_USE_HOVER == '0')) - || (empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) && (isset($conf->global->THEME_ELDY_USE_HOVER) && $conf->global->THEME_ELDY_USE_HOVER == '0'))) +// Hover color +$colorbacklinepairhover=((! isset($conf->global->THEME_ELDY_USE_HOVER) || (string) $conf->global->THEME_ELDY_USE_HOVER === '0')?'':($conf->global->THEME_ELDY_USE_HOVER === '1'?'edf4fb':$conf->global->THEME_ELDY_USE_HOVER)); +if (! empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)) { - $colorbacklineimpairhover=''; - $colorbacklinepairhover=''; + $colorbacklinepairhover=((! isset($user->conf->THEME_ELDY_USE_HOVER) || $user->conf->THEME_ELDY_USE_HOVER === '0')?'':($user->conf->THEME_ELDY_USE_HOVER === '1'?'edf4fb':$user->conf->THEME_ELDY_USE_HOVER)); } // Format color value to match expected format (may be 'FFFFFF' or '255,255,255') @@ -176,6 +174,7 @@ $colorbackvmenu1=join(',',colorStringToArray($colorbackvmenu1)); $colorbackvmenu2=join(',',colorStringToArray($colorbackvmenu2)); $colorbacktabcard1=join(',',colorStringToArray($colorbacktabcard1)); $colorbacktabcard2=join(',',colorStringToArray($colorbacktabcard2)); +if ($colorbacklinepairhover != '') $colorbacklinepairhover=join(',',colorStringToArray($colorbacklinepairhover)); // Set text color to black or white $tmppart=explode(',',$colorbackhmenu1); @@ -204,7 +203,6 @@ print 'colorbackhmenu1='.$colorbackhmenu1."\n"; print 'colorbacktitle1='.$colorbacktitle1."\n"; print 'colorbacklineimpair1='.$colorbacklineimpair1."\n"; print 'colorbacklineimpair2='.$colorbacklineimpair2."\n"; -print 'colorbacklineimpairhover='.$colorbacklineimpairhover."\n"; print 'colorbacklinepair1='.$colorbacklinepair1."\n"; print 'colorbacklinepair2='.$colorbacklinepair2."\n"; print 'colorbacklinepairhover='.$colorbacklinepairhover."\n"; @@ -487,6 +485,11 @@ div.confirmmessage { z-index: 999999; } */ +.googlerefreshcal { + padding-top: 4px; + padding-bottom: 4px; +} + /* ============================================================================== */ /* Styles to hide objects */ @@ -535,12 +538,15 @@ td.showDragHandle { /* ============================================================================== */ #id-container { - margin-top: 12px; - margin-bottom: 8px; + /* margin-top: 12px; + margin-bottom: 8px; */ display: table; table-layout: fixed; } #id-right, #id-left { + padding-top: 12px; + padding-bottom: 8px; + display: table-cell; float: none; vertical-align: top; @@ -548,6 +554,12 @@ td.showDragHandle { #id-right { /* This must stay id-right ant not be replaced with echo $right */ width: 100%; } +#id-left { +/* background-color: #fff; + border-right: 1px #888 solid; + height: calc(100% - 50px);*/ +} + div.fiche { margin-: global->MAIN_MENU_USE_JQUERY_LAYOUT))?($dol_hide_leftmenu?'4':'20'):'24')); ?>px; @@ -603,7 +615,10 @@ div.ficheaddleft { padding-top: 1px; padding-bottom: 1px; } - +div.attacharea { + padding-top: 10px; + padding-bottom: 10px; +} /* ============================================================================== */ /* Menu top et 1ere ligne tableau */ @@ -761,6 +776,9 @@ div.tmenucenter width: 100%; } +div.menu_titre { + padding-top: 5px; +} .mainmenuaspan { padding-right: 4px; @@ -1030,9 +1048,10 @@ div.login_block_other { padding-top: 3px; text-align: right; } height: 16px; } .alogin, .alogin:hover { - color: #888 !important; + color: # !important; font-weight: normal !important; font-size: px !important; + padding-top: 2px; } .alogin:hover { text-decoration:underline !important; @@ -1046,6 +1065,8 @@ img.login, img.printer, img.entity { } img.loginphoto { border-radius: 2px; + width: 16px; + height: 16px; } .span-icon-user { background: url() no-repeat scroll 7px 7px; @@ -1095,8 +1116,31 @@ font.vsmenudisabledmargin { margin: 1px 1px 1px 8px; } a.help:link, a.help:visited, a.help:hover, a.help:active { font-size:px; font-family: ; text-align: ; font-weight: normal; color: #666666; text-decoration: none; } - -div.blockvmenupair, div.blockvmenuimpair, div.blockvmenubookmarks +.vmenu div.blockvmenufirst, .vmenu div.blockvmenulogo, .vmenu div.blockvmenubookmarks +{ + border-top: 1px solid #BBB; +} +.vmenu div.blockvmenubookmarks, .vmenu div.blockvmenuend, .vmenu div.blockvmenulogo +{ + border-bottom: 1px solid #BBB; +} +.vmenu div.blockvmenuend, .vmenu div.blockvmenulogo +{ + margin: 0 0 8px 2px; +} +.vmenu div.blockvmenuend, div.blockvmenusearch +{ + padding-bottom: 5px; +} +.vmenu div.blockvmenulogo +{ + padding-bottom: 10px; +} +div.blockvmenubookmarks +{ + padding-bottom: 6px !important; +} +div.blockvmenupair, div.blockvmenuimpair, div.blockvmenubookmarks, div.blockvmenuend { font-family: ; color: #000000; @@ -1106,19 +1150,21 @@ div.blockvmenupair, div.blockvmenuimpair, div.blockvmenubookmarks padding-right: 1px; padding-top: 3px; padding-bottom: 3px; - margin: 1px 0px 8px 2px; + /* margin: 1px 0 8px 2px; */ + margin: 0 0 0 2px; background: rgb(); border-left: 1px solid #AAA; border-right: 1px solid #BBB; - border-bottom: 1px solid #BBB; +/* border-bottom: 1px solid #BBB; border-top: 1px solid #BBB; border-radius: 4px; -moz-border-radius: 4px; -moz-box-shadow: 3px 3px 4px #DDD; -webkit-box-shadow: 3px 3px 4px #DDD; box-shadow: 3px 3px 4px #DDD; + */ } div.blockvmenusearch @@ -1132,17 +1178,17 @@ div.blockvmenusearch padding-top: 3px; padding-bottom: 3px; margin: 1px 0px 8px 2px; - background: rgb(); + background: rgb(); border-left: 1px solid #AAA; - border-right: 1px solid #CCC; - border-bottom: 1px solid #CCC; - border-top: 1px solid #CCC; - border-radius: 4px; + border-right: 1px solid #BBB; + border-bottom: 1px solid #BBB; + border-top: 1px solid #BBB; + /*border-radius: 4px; -moz-border-radius: 4px; -moz-box-shadow: 3px 3px 4px #DDD; -webkit-box-shadow: 3px 3px 4px #DDD; - box-shadow: 3px 3px 4px #DDD; + box-shadow: 3px 3px 4px #DDD;*/ } div.blockvmenusearch > form > div { @@ -1513,27 +1559,16 @@ a.tab:link, a.tab:visited, a.tab:hover, a.tab#active { text-decoration: none; white-space: nowrap; - /*-moz-border-radius:6px 6px 0px 0px; - -webkit-border-radius:6px 6px 0px 0px; - border-radius:6px 6px 0px 0px; - - background: rgb(); - - border-right: 1px solid #BBB; - border-left: 1px solid #BBB; - border-top: 1px solid #CCC; - */ - border-right: 1px solid transparent; border-left: 1px solid transparent; border-top: 1px solid transparent; + border-bottom: 0px !important; -moz-border-radius:4px 4px 0 0; -webkit-border-radius: 4px 4px 0 0; border-radius: 4px 4px 0 0; background-image: none !important; } - .tabactive, a.tab#active { color: # !important; background: rgb() !important; @@ -2069,14 +2104,12 @@ div.pagination li.pagination a, div.pagination li.pagination span { dol_use_jmobile)) { ?> padding: 6px 12px; - + border-color: #ccc; margin-left: -1px; line-height: 1.42857143; color: #000; text-decoration: none; - border-color: #ccc; - background-color: #f5f5f5; background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); @@ -2084,6 +2117,7 @@ div.pagination li.pagination span { background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); background-repeat: repeat-x; + } div.pagination li.pagination span.inactive { cursor: default; @@ -2201,7 +2235,7 @@ div.pagination li.paginationafterarrows { background: rgb() !important; - background: rgba(0, 0, 0, 0.05) !important; + /* background: rgba(0, 0, 0, 0.05) !important; */ } @@ -2289,11 +2323,11 @@ div.liste_titre, tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.list /* TO MATCH ELDY */ background: rgb(); - background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(250,250,250,0.3) 100%); + background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(250,250,250,0.3) 100%); + background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(250,250,250,0.3) 100%); + background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(250,250,250,0.3) 100%); + background-image: linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(250,250,250,0.3) 100%); font-weight: bold; @@ -2412,11 +2446,11 @@ tr.box_titre { /* TO MATCH ELDY */ background: rgb(); - background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(250,250,250,0.3) 100%); + background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(250,250,250,0.3) 100%); + background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(250,250,250,0.3) 100%); + background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(250,250,250,0.3) 100%); + background-image: linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(250,250,250,0.3) 100%); color: #; @@ -2686,8 +2720,12 @@ table.valid { border-radius: 4px; } #tiptip_content { - background-color: rgb(255,255,255); - background-color: rgba(255,255,255,0.95); +-moz-border-radius:0px; +-webkit-border-radius: 0px; +border-radius: 0px; +background-color: rgb(255,255,255); +/* background-color: rgb(255,255,255); + background-color: rgba(255,255,255,0.95);*/ line-height: 1.4em; min-width: 200px; } @@ -3614,7 +3652,9 @@ ul.ulmenu { color: # !important; text-shadow: 1px 0px 1px #; } - +.ui-btn-icon-right { + border-right: 1px solid #ccc !important; +} .ui-body-c { border: 1px solid #ccc; text-shadow: none; @@ -3638,14 +3678,14 @@ ul.ulmenu { div.tabsElem a.tab { background: transparent; } -.ui-controlgroup-horizontal .ui-btn.ui-first-child { +/*.ui-controlgroup-horizontal .ui-btn.ui-first-child { -webkit-border-top-left-radius: 6px; border-top-left-radius: 6px; } .ui-controlgroup-horizontal .ui-btn.ui-last-child { -webkit-border-top-right-radius: 6px; border-top-right-radius: 6px; -} +}*/ .alilevel1 { color: # !important; text-shadow: 1px 0px 1px #; @@ -3676,7 +3716,6 @@ border-top-right-radius: 6px; .public_border { border: 1px solid #888; } -.public_liste_titre { @@ -3688,9 +3727,44 @@ border-top-right-radius: 6px; } @media only screen and (max-width: 767px) { + .mainmenuaspan { + display: none; + } + li.tmenu, li.tmenusel { + min-width: 32px; + } + div.mainmenu { + min-width: auto; + } + .topmenuimage { + background-size: 26px auto; + margin-top: 8px; + } + div.tmenuleft { + display: none; + } + .imgopensurveywizard { width:95%; height: auto; } + + #tooltip { + position: absolute; + width: px; + } +} +@media only screen and (max-width: 570px) +{ + div.mainmenu { + min-width: 20px; + } + .topmenuimage { + background-size: 20px auto; + } + + #tooltip { + position: absolute; + width: px; + } } - + * Copyright (C) 2006 Rodolphe Quiedeville + * Copyright (C) 2007-2012 Regis Houssin + * Copyright (C) 2011 Philippe Grand + * Copyright (C) 2012 Juanjo Menent + * Copyright (C) 2015 Alexandre Spangaro + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/theme/md/style.css.php + * \brief File for CSS style sheet Md (Material Design) + */ + +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled because need to load personalized language +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); // Not disabled to increase speed. Language code is found on url. +if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); // Not disabled because need to do translations +if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK',1); +if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL',1); +if (! defined('NOLOGIN')) define('NOLOGIN',1); // File must be accessed by logon page so without login +if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU',1); +if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML',1); +if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); + +session_cache_limiter(FALSE); + +require_once '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; + +// Load user to have $user->conf loaded (not done into main because of NOLOGIN constant defined) +if (empty($user->id) && ! empty($_SESSION['dol_login'])) $user->fetch('',$_SESSION['dol_login']); + + +// Define css type +header('Content-type: text/css'); +// Important: Following code is to avoid page request by browser and PHP CPU at each Dolibarr page access. +if (empty($dolibarr_nocache)) header('Cache-Control: max-age=3600, public, must-revalidate'); +else header('Cache-Control: no-cache'); + +// On the fly GZIP compression for all pages (if browser support it). Must set the bit 3 of constant to 1. +if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x04)) { ob_start("ob_gzhandler"); } + +if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang')); // If language was forced on URL +if (GETPOST('theme')) $conf->theme=GETPOST('theme'); // If theme was forced on URL +$langs->load("main",0,1); +$right=($langs->trans("DIRECTION")=='rtl'?'left':'right'); +$left=($langs->trans("DIRECTION")=='rtl'?'right':'left'); + +$path=''; // This value may be used in future for external module to overwrite theme +$theme='eldy'; // Value of theme +if (! empty($conf->global->MAIN_OVERWRITE_THEME_RES)) { $path='/'.$conf->global->MAIN_OVERWRITE_THEME_RES; $theme=$conf->global->MAIN_OVERWRITE_THEME_RES; } + +// Define image path files and other constants +$fontlist='Open Sans,sans-serif'; //$fontlist='Verdana,Helvetica,Arial,sans-serif'; +$img_head=''; +$img_button=dol_buildpath($path.'/theme/'.$theme.'/img/button_bg.png',1); +$dol_hide_topmenu=$conf->dol_hide_topmenu; +$dol_hide_leftmenu=$conf->dol_hide_leftmenu; +$dol_optimize_smallscreen=$conf->dol_optimize_smallscreen; +$dol_no_mouse_hover=$conf->dol_no_mouse_hover; +$dol_use_jmobile=$conf->dol_use_jmobile; + + +// Define reference colors +// Example: Light grey: $colred=235;$colgreen=235;$colblue=235; +// Example: Pink: $colred=230;$colgreen=210;$colblue=230; +// Example: Green: $colred=210;$colgreen=230;$colblue=210; +// Example: Ocean: $colred=220;$colgreen=220;$colblue=240; +//$conf->global->THEME_ELDY_ENABLE_PERSONALIZED=0; +//$user->conf->THEME_ELDY_ENABLE_PERSONALIZED=0; +//var_dump($user->conf->THEME_ELDY_RGB); +$colred =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_RGB)?235:hexdec(substr($conf->global->THEME_ELDY_RGB,0,2))):(empty($user->conf->THEME_ELDY_RGB)?235:hexdec(substr($user->conf->THEME_ELDY_RGB,0,2))); +$colgreen=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_RGB)?235:hexdec(substr($conf->global->THEME_ELDY_RGB,2,2))):(empty($user->conf->THEME_ELDY_RGB)?235:hexdec(substr($user->conf->THEME_ELDY_RGB,2,2))); +$colblue =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_RGB)?235:hexdec(substr($conf->global->THEME_ELDY_RGB,4,2))):(empty($user->conf->THEME_ELDY_RGB)?235:hexdec(substr($user->conf->THEME_ELDY_RGB,4,2))); + +// Colors +$isred=max(0,(2*$colred-$colgreen-$colblue)/2); // 0 - 255 +$isgreen=max(0,(2*$colgreen-$colred-$colblue)/2); // 0 - 255 +$isblue=max(0,(2*$colblue-$colred-$colgreen)/2); // 0 - 255 +$colorbackhmenu1=($colred-3).','.($colgreen-3).','.($colblue-3); // topmenu +$colorbackhmenu2=($colred+5).','.($colgreen+5).','.($colblue+5); +$colorbackvmenu1=($colred+15).','.($colgreen+16).','.($colblue+17); // vmenu +$colorbackvmenu2=($colred-15).','.($colgreen-15).','.($colblue-15); +$colorbacktitle1=($colred-5).','.($colgreen-5).','.($colblue-5); // title of array +$colorbacktitle2=($colred-15).','.($colgreen-15).','.($colblue-15); +$colorbacktabcard1='255,255,255'; // card +$colorbacktabcard2=($colred-15).','.($colgreen-15).','.($colblue-15); +$colorbacktabactive=($colred-15).','.($colgreen-15).','.($colblue-15); +$colorbacklineimpair1='255,255,255'; // line impair +$colorbacklineimpair2='255,255,255'; // line impair +$colorbacklinepair1=(244+round($isred/3)).','.(244+round($isgreen/3)).','.(244+round($isblue/3)); // line pair +$colorbacklinepair2=(250+round($isred/3)).','.(250+round($isgreen/3)).','.(250+round($isblue/3)); // line pair +$colorbacklinepairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)); // line pair +$colorbackbody='255,255,255'; +$colortext='40,40,40'; +$fontsize='13'; +$fontsizesmaller='11'; +$usegradient=1; + +// Eldy colors +if (empty($conf->global->THEME_ELDY_ENABLE_PERSONALIZED)) +{ + // Case of option always editable + if (! isset($conf->global->THEME_ELDY_TOPMENU_BACK1)) $conf->global->THEME_ELDY_TOPMENU_BACK1=join(',',colorStringToArray('#37474F')); // topmenu (140,160,185) + if (! isset($conf->global->THEME_ELDY_BACKTITLE1)) $conf->global->THEME_ELDY_BACKTITLE1='140,150,180'; // title of arrays TO MATCH ELDY (140,160,185) + //if (! isset($conf->global->THEME_ELDY_BACKTITLE1)) $conf->global->THEME_ELDY_BACKTITLE1='230,230,230'; // title of arrays TO MATCH BOOTSTRAP + if (! isset($conf->global->THEME_ELDY_USE_HOVER)) $conf->global->THEME_ELDY_USE_HOVER=''; // color for links + + // Cas of option editable if option THEME_ELDY_ENABLE_PERSONALIZED is on + // 90A4AE, 607D8B, 455A64, 37474F + $conf->global->THEME_ELDY_TOPMENU_BACK2='236,236,236'; + $conf->global->THEME_ELDY_VERMENU_BACK1='255,255,255'; // vmenu + $conf->global->THEME_ELDY_VERMENU_BACK2='240,240,240'; + $conf->global->THEME_ELDY_BACKTITLE2='230,230,230'; + $conf->global->THEME_ELDY_BACKTABCARD1='255,255,255'; // card + $conf->global->THEME_ELDY_BACKTABCARD2='234,234,234'; + $conf->global->THEME_ELDY_BACKTABACTIVE='234,234,234'; + $conf->global->THEME_ELDY_BACKBODY='255,255,255'; + $conf->global->THEME_ELDY_LINEPAIR1='242,242,242'; + $conf->global->THEME_ELDY_LINEPAIR2='248,248,248'; + $conf->global->THEME_ELDY_LINEPAIRHOVER='238,246,252'; + $conf->global->THEME_ELDY_LINEIMPAIR1='255,255,255'; + $conf->global->THEME_ELDY_LINEIMPAIR2='255,255,255'; + $conf->global->THEME_ELDY_USE_HOVER=='238,246,252'; + + $conf->global->THEME_ELDY_TEXT='50,50,130'; + $conf->global->THEME_ELDY_FONT_SIZE1='13'; + $conf->global->THEME_ELDY_FONT_SIZE2='11'; +} + +// Cas of option availables only if THEME_ELDY_ENABLE_PERSONALIZED is on +$colorbackhmenu1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TOPMENU_BACK1)?$colorbackhmenu1:$conf->global->THEME_ELDY_TOPMENU_BACK1) :(empty($user->conf->THEME_ELDY_TOPMENU_BACK1)?$colorbackhmenu1:$user->conf->THEME_ELDY_TOPMENU_BACK1); +$colorbackhmenu2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TOPMENU_BACK2)?$colorbackhmenu2:$conf->global->THEME_ELDY_TOPMENU_BACK2) :(empty($user->conf->THEME_ELDY_TOPMENU_BACK2)?$colorbackhmenu2:$user->conf->THEME_ELDY_TOPMENU_BACK2); +$colorbackvmenu1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_VERMENU_BACK1)?$colorbackvmenu1:$conf->global->THEME_ELDY_VERMENU_BACK1) :(empty($user->conf->THEME_ELDY_VERMENU_BACK1)?$colorbackvmenu1:$user->conf->THEME_ELDY_VERMENU_BACK1); +$colorbackvmenu2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_VERMENU_BACK2)?$colorbackvmenu2:$conf->global->THEME_ELDY_VERMENU_BACK2) :(empty($user->conf->THEME_ELDY_VERMENU_BACK2)?$colorbackvmenu2:$user->conf->THEME_ELDY_VERMENU_BACK2); +$colorbacktitle1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTITLE1) ?$colorbacktitle1:$conf->global->THEME_ELDY_BACKTITLE1) :(empty($user->conf->THEME_ELDY_BACKTITLE1)?$colorbacktitle1:$user->conf->THEME_ELDY_BACKTITLE1); +$colorbacktitle2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTITLE2) ?$colorbacktitle2:$conf->global->THEME_ELDY_BACKTITLE2) :(empty($user->conf->THEME_ELDY_BACKTITLE2)?$colorbacktitle2:$user->conf->THEME_ELDY_BACKTITLE2); +$colorbacktabcard1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTABCARD1) ?$colorbacktabcard1:$conf->global->THEME_ELDY_BACKTABCARD1) :(empty($user->conf->THEME_ELDY_BACKTABCARD1)?$colorbacktabcard1:$user->conf->THEME_ELDY_BACKTABCARD1); +$colorbacktabcard2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTABCARD2) ?$colorbacktabcard2:$conf->global->THEME_ELDY_BACKTABCARD2) :(empty($user->conf->THEME_ELDY_BACKTABCARD2)?$colorbacktabcard2:$user->conf->THEME_ELDY_BACKTABCARD2); +$colorbacktabactive =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTABACTIVE)?$colorbacktabactive:$conf->global->THEME_ELDY_BACKTABACTIVE):(empty($user->conf->THEME_ELDY_BACKTABACTIVE)?$colorbacktabactive:$user->conf->THEME_ELDY_BACKTABACTIVE); +$colorbacklineimpair1=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEIMPAIR1) ?$colorbacklineimpair1:$conf->global->THEME_ELDY_LINEIMPAIR1):(empty($user->conf->THEME_ELDY_LINEIMPAIR1)?$colorbacklineimpair1:$user->conf->THEME_ELDY_LINEIMPAIR1); +$colorbacklineimpair2=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEIMPAIR2) ?$colorbacklineimpair2:$conf->global->THEME_ELDY_LINEIMPAIR2):(empty($user->conf->THEME_ELDY_LINEIMPAIR2)?$colorbacklineimpair2:$user->conf->THEME_ELDY_LINEIMPAIR2); +$colorbacklinepair1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIR1) ?$colorbacklinepair1:$conf->global->THEME_ELDY_LINEPAIR1) :(empty($user->conf->THEME_ELDY_LINEPAIR1)?$colorbacklinepair1:$user->conf->THEME_ELDY_LINEPAIR1); +$colorbacklinepair2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIR2) ?$colorbacklinepair2:$conf->global->THEME_ELDY_LINEPAIR2) :(empty($user->conf->THEME_ELDY_LINEPAIR2)?$colorbacklinepair2:$user->conf->THEME_ELDY_LINEPAIR2); +$colorbacklinepairhover =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIRHOVER) ?$colorbacklinepairhover:$conf->global->THEME_ELDY_LINEPAIRHOVER) :(empty($user->conf->THEME_ELDY_LINEPAIRHOVER)?$colorbacklinepairhover:$user->conf->THEME_ELDY_LINEPAIRHOVER); +$colorbackbody =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKBODY) ?$colorbackbody:$conf->global->THEME_ELDY_BACKBODY) :(empty($user->conf->THEME_ELDY_BACKBODY)?$colorbackbody:$user->conf->THEME_ELDY_BACKBODY); +$colortext =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TEXT) ?$colortext:$conf->global->THEME_ELDY_TEXT) :(empty($user->conf->THEME_ELDY_TEXT)?$colortext:$user->conf->THEME_ELDY_TEXT); +$fontsize =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_FONT_SIZE1) ?$fontsize:$conf->global->THEME_ELDY_FONT_SIZE1) :(empty($user->conf->THEME_ELDY_FONT_SIZE1)?$fontsize:$user->conf->THEME_ELDY_FONT_SIZE1); +$fontsizesmaller =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_FONT_SIZE2) ?$fontsize:$conf->global->THEME_ELDY_FONT_SIZE2) :(empty($user->conf->THEME_ELDY_FONT_SIZE2)?$fontsize:$user->conf->THEME_ELDY_FONT_SIZE2); + +// Hover color +$colorbacklinepairhover=((! isset($conf->global->THEME_ELDY_USE_HOVER) || (string) $conf->global->THEME_ELDY_USE_HOVER === '0')?'':($conf->global->THEME_ELDY_USE_HOVER === '1'?'edf4fb':$conf->global->THEME_ELDY_USE_HOVER)); +if (! empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)) +{ + $colorbacklinepairhover=((! isset($user->conf->THEME_ELDY_USE_HOVER) || $user->conf->THEME_ELDY_USE_HOVER === '0')?'':($user->conf->THEME_ELDY_USE_HOVER === '1'?'edf4fb':$user->conf->THEME_ELDY_USE_HOVER)); +} + +// Format color value to match expected format (may be 'FFFFFF' or '255,255,255') +$colorbackbody=join(',',colorStringToArray($colorbackbody)); +$colorbackhmenu1=join(',',colorStringToArray($colorbackhmenu1)); +$colorbackhmenu2=join(',',colorStringToArray($colorbackhmenu2)); +$colorbackvmenu1=join(',',colorStringToArray($colorbackvmenu1)); +$colorbackvmenu2=join(',',colorStringToArray($colorbackvmenu2)); +$colorbacktabcard1=join(',',colorStringToArray($colorbacktabcard1)); +$colorbacktabcard2=join(',',colorStringToArray($colorbacktabcard2)); +if ($colorbacklinepairhover != '') $colorbacklinepairhover=join(',',colorStringToArray($colorbacklinepairhover)); + +// Set text color to black or white +$tmppart=explode(',',$colorbackhmenu1); +$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : ''); +if ($tmpval <= 360) $colortextbackhmenu='FFF'; +else $colortextbackhmenu='111'; +$tmppart=explode(',',$colorbackvmenu1); +$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : ''); +if ($tmpval <= 360) { $colortextbackvmenu='FFF'; } +else { $colortextbackvmenu='111'; } +$tmppart=explode(',',$colorbacktitle1); +$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : ''); +if ($tmpval <= 360) { $colortexttitle='FFF'; $colorshadowtitle='888'; } +else { $colortexttitle='111'; $colorshadowtitle='FFF'; } +$tmppart=explode(',',$colorbacktabcard1); +$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : ''); +if ($tmpval <= 340) { $colortextbacktab='FFF'; } +else { $colortextbacktab='111'; } + + +print '/*'."\n"; +print 'colred='.$colred.' colgreen='.$colgreen.' colblue='.$colblue."\n"; +print 'isred='.$isred.' isgreen='.$isgreen.' isblue='.$isblue."\n"; +print 'colorbackbody='.$colorbackbody."\n"; +print 'colorbackvmenu1='.$colorbackvmenu1."\n"; +print 'colorbackhmenu1='.$colorbackhmenu1."\n"; +print 'colorbacktitle1='.$colorbacktitle1."\n"; +print 'colorbacklineimpair1='.$colorbacklineimpair1."\n"; +print 'colorbacklineimpair2='.$colorbacklineimpair2."\n"; +print 'colorbacklinepair1='.$colorbacklinepair1."\n"; +print 'colorbacklinepair2='.$colorbacklinepair2."\n"; +print 'colorbacklinepairhover='.$colorbacklinepairhover."\n"; +print 'dol_hide_topmenu='.$dol_hide_topmenu."\n"; +print 'dol_hide_leftmenu='.$dol_hide_leftmenu."\n"; +print 'dol_optimize_smallscreen='.$dol_optimize_smallscreen."\n"; +print 'dol_no_mouse_hover='.$dol_no_mouse_hover."\n"; +print 'dol_use_jmobile='.$dol_use_jmobile."\n"; +print 'dol_screenwidth='.$_SESSION['dol_screenwidth']."\n"; +print 'dol_screenheight='.$_SESSION['dol_screenheight']."\n"; +print '*/'."\n"; + +if (! empty($conf->dol_optimize_smallscreen)) $fontsize=11; +?> + +/* ============================================================================== */ +/* Default styles */ +/* ============================================================================== */ + + +body { + + background-color: #FFFFFF; + + background: rgb(); + + color: #101010; + font-size: px; + font-family: ; + margin-top: 0; + margin-bottom: 0; + margin-right: 0; + margin-left: 0; + trans("DIRECTION").";\n"; ?> +} + +a:link, a:visited, a:hover, a:active { font-family: ; font-weight: bold; color: #4A4A4A; text-decoration: none; } + +a:hover { text-decoration: underline; color: #000000;} + + + +input:focus, textarea:focus, button:focus, select:focus { + box-shadow: 0 0 4px #8091BF; +} +textarea.cke_source:focus +{ + box-shadow: none; +} + +input, input.flat, textarea, textarea.flat, form.flat select select, select.flat, .dataTables_length label select { + font-size: px; + font-family: ; + background: #FDFDFD; + border: 1px solid #C0C0C0; + margin: 0px 0px 0px 0px; +} + +input, textarea, select { + border-radius:2px; + border:solid 1px rgba(0,0,0,.3); + border-top:solid 1px rgba(0,0,0,.3); + border-bottom:solid 1px rgba(0,0,0,.2); + /* box-shadow: 1px 1px 1px rgba(0,0,0,.2) inset;*/ + padding:4px; + margin-left:1px; + margin-bottom:1px; + margin-top:1px; + } +input.removedassigned { + padding: 2px !important; + vertical-align: text-bottom; + margin-bottom: -3px; +} + + +select.flat, form.flat select { + font-weight: normal; +} +input:disabled { + background:#f4f4f4; +} + +input.liste_titre { + box-shadow: none !important; +} +input.removedfile { + padding: 0px !important; + border: 0px !important; + vertical-align: text-bottom; +} +textarea:disabled { + background:#f4f4f4; +} +input[type=checkbox] { background-color: transparent; border: none; box-shadow: none; } +input[type=radio] { background-color: transparent; border: none; box-shadow: none; } +input[type=image] { background-color: transparent; border: none; box-shadow: none; } +input[type=text] { min-width: 20px; } +input:-webkit-autofill { + background-color: !important; + background-image:none !important; + -webkit-box-shadow: 0 0 0 50px inset; +} +::-webkit-input-placeholder { color:#ccc; } +::-moz-placeholder { color:#ccc; } /* firefox 19+ */ +:-ms-input-placeholder { color:#ccc; } /* ie */ +input:-moz-placeholder { color:#ccc; } + + +legend { margin-bottom: 8px; } + +fieldset { border: 1px solid #AAAAAA !important; box-shadow: 2px 2px 3px #f4f4f4; } + + +.button, sbmtConnexion { + font-family: ; + border-color: #c5c5c5; + border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25); + display: inline-block; + padding: 4px 14px; + margin-bottom: 0; + margin-top: 0; + text-align: center; + cursor: pointer; + color: #333333; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + border: 1px solid #bbbbbb; + border-bottom-color: #a2a2a2; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} +.button:focus { + -moz-box-shadow: 0px 0px 6px 1px rgba(0, 0, 60, 0.2), 0px 0px 0px rgba(60,60,60,0.1); + -webkit-box-shadow: 0px 0px 6px 1px rgba(0, 0, 60, 0.2), 0px 0px 0px rgba(60,60,60,0.1); + box-shadow: 0px 0px 6px 1px rgba(0, 0, 60, 0.2), 0px 0px 0px rgba(60,60,60,0.1); +} +.button:hover { + -moz-box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.2), 0px 0px 0px rgba(60,60,60,0.1); + -webkit-box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.2), 0px 0px 0px rgba(60,60,60,0.1); + box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.2), 0px 0px 0px rgba(60,60,60,0.1); +} +.button:disabled { + opacity: 0.4; + filter: alpha(opacity=40); /* For IE8 and earlier */ + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + cursor: auto; +} +.buttonRefused { + pointer-events: none; + cursor: default; + opacity: 0.4; + filter: alpha(opacity=40); /* For IE8 and earlier */ + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; +} +form { + padding:0px; + margin:0px; +} +div.float +{ + float:; +} +div.floatright +{ + float:; +} +.inline-block +{ + display:inline-block; +} + +th .button { + -moz-box-shadow: none !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + -moz-border-radius:0px !important; + -webkit-border-radius:0px !important; + border-radius:0px !important; +} +.maxwidthsearch { /* Max width of column with the search picto */ + width: 54px; +} + +.valignmiddle { + vertical-align: middle; +} +.centpercent { + width: 100%; +} +textarea.centpercent { + width: 96%; +} +.center { + text-align: center; + margin: 0px auto; +} +.left { + text-align: ; +} +.right { + text-align: ; +} +.nowrap { + white-space: ; +} +.nobold { + font-weight: normal !important; +} +.nounderline { + text-decoration: none; +} +.cursorpointer { + cursor: pointer; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 2px 5px; + font-size: 10px; + font-weight: 700; + line-height: 0.9em; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + background-color: #777; + border-radius: 10px; +} +.movable { + cursor: move; +} + +.borderrightlight +{ + border-right: 1px solid #f4f4f4; +} +#formuserfile { + margin-top: 4px; +} +#formuserfile_link { + margin-left: 1px; +} +.listofinvoicetype { + height: 28px; + vertical-align: middle; +} +div.divsearchfield { + float: ; + margin-: 12px; +} +div.confirmmessage { + padding-top: 6px; +} +/* Style to move picto into left of button */ +/* +.buttonactionview { + padding-left: 15px; +} +.pictoactionview { + padding-left: 10px; + margin-right: -24px; + z-index: 999999; +} +*/ +.googlerefreshcal { + padding-top: 4px; + padding-bottom: 4px; +} + +/* ============================================================================== */ +/* Styles to hide objects */ +/* ============================================================================== */ + +.clearboth { clear:both; } +.hideobject { display: none; } +.minwidth100 { min-width: 100px; } +.minwidth200 { min-width: 200px; } +.minwidth300 { min-width: 300px; } +.maxwidth100 { max-width: 100px; } +.maxwidth200 { max-width: 200px; } +.maxwidth300 { max-width: 300px; } + +.hideonsmartphone { display: none; } +.noenlargeonsmartphone { width : 50px !important; display: inline !important; } +.maxwidthonsmartphone { max-width: 100px; } +.maxwidth100onsmartphone { max-width: 100px; } +.maxwidth200onsmartphone { max-width: 200px; } +.maxwidth300onsmartphone { max-width: 300px; } + +.linkobject { cursor: pointer; } + +.hideonprint { display: none; } + + + +/* ============================================================================== */ +/* Styles for dragging lines */ +/* ============================================================================== */ + +.dragClass { + color: #002255; +} +td.showDragHandle { + cursor: move; +} +.tdlineupdown { + white-space: nowrap; + min-width: 10px; +} + + +/* ============================================================================== */ +/* Styles de positionnement des zones */ +/* ============================================================================== */ + +#id-container { + margin-top: 0px; + margin-bottom: 0px; + display: table; + table-layout: fixed; + width: 100%; +} +#id-right, #id-left { + display: table-cell; + float: none; + vertical-align: top; +} +#id-top { +/* min-width: 100%; + position: relative; + heigth: 52px; + background: #f00;*/ +} +#id-left { + min-height: 100%; + position: relative; + width: 193px; +} +#id-right { /* This must stay id-right and not be replaced with echo $right */ + width: 100%; + padding-left: 194px; + padding-top: 12px; +} + +.side-nav { + background: #FFF; + border-right: 1px solid rgba(0,0,0,0.2); + bottom: 0; + color: #333; + display: block; + font-family: "RobotoDraft","Roboto",sans-serif; + left: 0; + position: fixed; + top: 50px; + z-index: 4; + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -ms-transform: translateZ(0); + -o-transform: translateZ(0); + transform: translateZ(0); + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + -ms-transform-style: preserve-3d; + -o-transform-style: preserve-3d; + transform-style: preserve-3d; + -webkit-transition-delay: 0.1s; + -moz-transition-delay: 0.1s; + transition-delay: 0.1s; + -webkit-transition-duration: 0.2s; + -moz-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-property: -webkit-transform; + -moz-transition-property: -moz-transform; + transition-property: transform; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -moz-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-overflow-scrolling: touch; + overflow-x: hidden; + overflow-y: auto; +} +.side-nav-vert { + margin-left: 194px; +} + + +div.fiche { + margin-: global->MAIN_MENU_USE_JQUERY_LAYOUT))?($dol_hide_leftmenu?'4':'20'):'24')); ?>px; + margin-: dol_optimize_smallscreen)?'12':'4')); ?>px; + dol_hide_leftmenu) && ! empty($conf->dol_hide_topmenu)) print 'margin-top: 4px;'; ?> +} + +div.fichecenter { + width: 100%; + clear: both; /* This is to have div fichecenter that are true rectangles */ +} +div.fichethirdleft { + browser->layout != 'phone') { print "float: ".$left.";\n"; } ?> + browser->layout != 'phone') { print "width: 35%;\n"; } ?> + browser->layout == 'phone') { print "padding-bottom: 6px;\n"; } ?> +} +div.fichetwothirdright { + browser->layout != 'phone') { print "float: ".$right.";\n"; } ?> + browser->layout != 'phone') { print "width: 65%;\n"; } ?> + browser->layout == 'phone') { print "padding-bottom: 6px\n"; } ?> +} +div.fichehalfleft { + browser->layout != 'phone') { print "float: ".$left.";\n"; } ?> + browser->layout != 'phone') { print "width: 50%;\n"; } ?> +} +div.fichehalfright { + browser->layout != 'phone') { print "float: ".$right.";\n"; } ?> + browser->layout != 'phone') { print "width: 50%;\n"; } ?> +} +div.ficheaddleft { + browser->layout != 'phone') { print "padding-".$left.": 16px;\n"; } + else print "margin-top: 10px;\n"; ?> +} +.containercenter { + display : table; + margin : 0px auto; +} + +#pictotitle { + margin-right: 8px; + margin-bottom: 4px; +} +.pictosubstatus { + padding-left: 2px; + padding-right: 2px; +} +.pictowarning { + padding-left: 3px; +} +.colorthumb { + padding-left: 1px !important; + padding-right: 1px; + padding-top: 1px; + padding-bottom: 1px; +} +div.attacharea { + padding-top: 10px; + padding-bottom: 10px; +} + + +/* ============================================================================== */ +/* Menu top et 1ere ligne tableau */ +/* ============================================================================== */ + +global->THEME_ELDY_DISABLE_IMAGE) || $dol_optimize_smallscreen) { $disableimages = 1; $maxwidthloginblock = 180; } +?> + +div#tmenu_tooltip { + + display:none; + + background: rgb(); + /* + background-image: linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(128,128,128,.3) 100%); + background-image: -o-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(128,128,128,.3) 100%); + background-image: -moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(128,128,128,.3) 100%); + background-image: -webkit-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(128,128,128,.3) 100%); + background-image: -ms-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(128,128,128,.3) 100%); + background-image: -webkit-gradient( linear, left top, left bottom, color-stop(0, rgba(255,255,255,.3)), color-stop(1, rgba(128,128,128,.3)) ); + */ + +} + +div#tmenu_tooltip { + + display:none; + + /* padding-: px; */ + +} + +div.tmenudiv { + + display:none; + + position: relative; + display: block; + white-space: nowrap; + border-top: 0px; + border-: 0px; + border-: 0px; + padding: 0px 0px 0px 0px; /* t r b l */ + margin: 0px 0px 0px 0px; /* t r b l */ + font-size: 13px; + font-weight: normal; + color: #000000; + text-decoration: none; + +} +div.tmenudisabled, a.tmenudisabled { + opacity: 0.6; +} +a.tmenudisabled:link, a.tmenudisabled:visited, a.tmenudisabled:hover, a.tmenudisabled:active { + font-weight: normal; + padding: 0px 5px 0px 5px; + white-space: nowrap; + color: #; + text-decoration: none; + cursor: not-allowed; +} + +a.tmenu:link, a.tmenu:visited, a.tmenu:hover, a.tmenu:active { + font-weight: normal; + padding: 0px 5px 0px 5px; + white-space: nowrap; + /* text-shadow: 1px 1px 1px #000000; */ + color: #; + text-decoration: none; +} +a.tmenusel:link, a.tmenusel:visited, a.tmenusel:hover, a.tmenusel:active { + font-weight: normal; + padding: 0px 5px 0px 5px; + margin: 0px 0px 0px 0px; + white-space: nowrap; + color: #; + text-decoration: none !important; +} + + +ul.tmenu { /* t r b l */ + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; + list-style: none; + /* box-shadow: 0 0 6px rgba(0, 0, 0, .4) !important; */ +} +ul.tmenu li { + background: rgb(); + + background-image: linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); + background-image: -o-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); + background-image: -moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); + background-image: -webkit-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); + background-image: -ms-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); + background-image: -webkit-gradient( linear, left top, left bottom, color-stop(0, rgba(255,255,255,.3)), color-stop(1, rgba(0,0,0,.3)) ); +} +li.tmenu, li.tmenusel { + + text-align: center; + vertical-align: bottom; + global->MAIN_MENU_INVERT)) { ?> + float: ; + height: px; + + position:relative; + display: block; + padding: 0px 0px 2px 0px; + margin: 0px 0px 0px 0px; + font-weight: normal; +} +li.tmenusel, li.tmenu:hover { + background-image: -o-linear-gradient(bottom, rgba(250,250,250,0.3) 0%, rgba(0,0,0,0.3) 100%) !important; + background-image: -moz-linear-gradient(bottom, rgba(250,250,250,0.3) 0%, rgba(0,0,0,0.3) 100%) !important; + background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0) 100%) !important; + background-image: -ms-linear-gradient(bottom, rgba(250,250,250,0.3) 0%, rgba(0,0,0,0.3) 100%) !important; + background-image: linear-gradient(bottom, rgba(250,250,250,0.3) 0%, rgba(0,0,0,0.3) 100%) !important; + background: rgb(); + /* background: url() 50% 0 repeat-x !important; Nicer but problem when menu wrap on 2 lines */ +} +.tmenuend .tmenuleft { width: 0px; } +/* .tmenuend { display: none; } */ +div.tmenuleft +{ + float: ; + margin-top: 0px; + dol_optimize_smallscreen)) { ?> + width: 5px; + height: px; + /* background: url() 0 -6px no-repeat; */ + +} +div.tmenucenter +{ + padding-top: 2px; + padding-left: 0px; + padding-right: 0px; + height: px; + width: 100%; +} +div.menu_titre { + padding-bottom: 2px; +} +.mainmenuaspan +{ + padding-right: 4px; +} + +div.mainmenu { + position : relative; + background-repeat:no-repeat; + background-position:center top; + height: px; + margin-left: 0px; + min-width: 40px; +} + +/* Do not load menu img if hidden to save bandwidth */ + + +div.mainmenu.home{ + background-image: url(); + background-position-x: middle; +} + +div.mainmenu.accountancy { + background-image: url(); +} + +div.mainmenu.agenda { + background-image: url(); +} + +div.mainmenu.bank { + background-image: url(); +} + +div.mainmenu.cashdesk { + background-image: url(); +} + +div.mainmenu.companies { + background-image: url(); +} + +div.mainmenu.commercial { + background-image: url(); +} + +div.mainmenu.ecm { + background-image: url(); +} + +div.mainmenu.externalsite { + background-image: url(); +} + +div.mainmenu.ftp { + background-image: url(); +} + +div.mainmenu.hrm { + background-image: url(); +} + +div.mainmenu.members { + background-image: url(); +} + +div.mainmenu.products { + background-image: url(); + margin-left: 10px; +} + +div.mainmenu.project { + background-image: url(); +} + +div.mainmenu.tools { + background-image: url(); +} + +'name of class for div') + +$moduletomainmenu=array('user'=>'','syslog'=>'','societe'=>'companies','projet'=>'project','propale'=>'commercial','commande'=>'commercial', + 'produit'=>'products','service'=>'products','stock'=>'products', + 'don'=>'accountancy','tax'=>'accountancy','banque'=>'accountancy','facture'=>'accountancy','compta'=>'accountancy','accounting'=>'accountancy','adherent'=>'members','import'=>'tools','export'=>'tools','mailing'=>'tools', + 'contrat'=>'commercial','ficheinter'=>'commercial','deplacement'=>'commercial', + 'fournisseur'=>'companies', + 'barcode'=>'','fckeditor'=>'','categorie'=>'', +); +$mainmenuused='home'; +foreach($conf->modules as $val) +{ + $mainmenuused.=','.(isset($moduletomainmenu[$val])?$moduletomainmenu[$val]:$val); +} +//var_dump($mainmenuused); +$mainmenuusedarray=array_unique(explode(',',$mainmenuused)); + +$generic=1; +$divalreadydefined=array('home','companies','products','commercial','accountancy','project','tools','members','agenda','holiday','bookmark','cashdesk','ecm','geoipmaxmind','gravatar','clicktodial','paypal','webservices'); +foreach($mainmenuusedarray as $val) +{ + if (empty($val) || in_array($val,$divalreadydefined)) continue; + //print "XXX".$val; + + // Search img file in module dir + $found=0; $url=''; + foreach($conf->file->dol_document_root as $dirroot) + { + if (file_exists($dirroot."/".$val."/img/".$val.".png")) + { + $url=dol_buildpath('/'.$val.'/img/'.$val.'.png', 1); + $found=1; + break; + } + } + // Img file not found + if (! $found) + { + $url=dol_buildpath($path.'/theme/'.$theme.'/img/menus/generic'.$generic.".png",1); + $found=1; + if ($generic < 4) $generic++; + print "/* A mainmenu entry but img file ".$val.".png not found (check /".$val."/img/".$val.".png), so we use a generic one */\n"; + } + if ($found) + { + print "div.mainmenu.".$val." {\n"; + print " background-image: url(".$url.");\n"; + print "}\n"; + } +} +// End of part to add more div class css +?> + + + +.tmenuimage { + padding:0 0 0 0 !important; + margin:0 0px 0 0 !important; + + display: none; + +} + + + +/* Login */ + +.bodylogin +{ + background: #f0f0f0; +} +.login_vertical_align { + padding: 10px; +} +form#login { + margin-top: px; + margin-bottom: 30px; + font-size: 13px; + vertical-align: middle; +} +.login_table_title { + max-width: 530px; + color: #888888; + text-shadow: 1px 1px 1px #FFF; +} +.login_table label { + text-shadow: 1px 1px 1px #FFF; +} +.login_table { + margin: 0px auto; /* Center */ + padding-left:6px; + padding-right:6px; + padding-top:16px; + padding-bottom:12px; + max-width: 560px; + + background-color: #FFFFFF; + + -moz-box-shadow: 0 4px 23px 5px rgba(0, 0, 0, 0.2), 0 2px 6px rgba(60,60,60,0.15); + -webkit-box-shadow: 0 4px 23px 5px rgba(0, 0, 0, 0.2), 0 2px 6px rgba(60,60,60,0.15); + box-shadow: 0 4px 23px 5px rgba(0, 0, 0, 0.2), 0 2px 6px rgba(60,60,60,0.15); + /*-moz-box-shadow: 3px 2px 20px #CCC; + -webkit-box-shadow: 3px 2px 20px #CCC; + box-shadow: 3px 2px 20px #CCC;*/ + + border-radius: 4px; + border:solid 1px rgba(80,80,80,.4); + + border-top:solid 1px f8f8f8; +} +.login_main_message { + text-align: center; +} +div#login_left, div#login_right { + display: inline-block; + min-width: 245px; + padding-top: 10px; + padding-left: 16px; + padding-right: 16px; + text-align: center; + vertical-align: middle; +} +table.login_table tr td table.none tr td { + padding: 2px; +} +table.login_table_securitycode { + border-spacing: 0px; +} +table.login_table_securitycode tr td { + padding-left: 0px; + padding-right: 4px; +} +#securitycode { + min-width: 60px; +} +#img_securitycode { + border: 1px solid #f4f4f4; +} +#img_logo { + max-width: 200px; + max-height: 100px; +} + +div.login_block { + border-right: 1px solid rgba(0,0,0,0.3); + padding-top: 5px; + padding-bottom: 3px; + : 0; + top: 0px; + position: fixed; + font-weight: bold; + z-index: 10; + text-align: center; + vertical-align: middle; + background: #FFF; + width: 193px; + height: 42px; + + display: none; + +} +div.login_block table { + display: inline; +} +div.login { + white-space:nowrap; + font-weight: bold; + float: right; +} +div.login a { + color: #; +} +div.login a:hover { + color: #; + text-decoration:underline; +} +div.login_block_user, div.login_block_other { clear: both; } +div.login_block_other { padding-top: 3px; } +.login_block_elem { + float: right; + vertical-align: top; + padding: 0px 0px 0px 4px !important; + height: 16px; +} +.login_block_elem_name { + margin-top: 5px; +} +.alogin, .alogin:hover { + color: #888 !important; + font-weight: normal !important; + font-size: px !important; +} +.alogin:hover { + text-decoration:underline !important; +} +img.login, img.printer, img.entity { + /* padding: 0px 0px 0px 4px; */ + /* margin: 0px 0px 0px 8px; */ + text-decoration: none; + color: white; + font-weight: bold; +} +img.loginphoto { + border-radius: 5px; + margin-top: -4px; + width: 20px; + height: 20px; +} + +.span-icon-user { + background: url() no-repeat scroll 7px 7px; +} +.span-icon-password { + background-image: url(); + background-repeat: no-repeat; +} +/* +.span-icon-user input, .span-icon-password input { + margin-right: 30px; +} +*/ + +/* ============================================================================== */ +/* Menu gauche */ +/* ============================================================================== */ + +div.vmenu, td.vmenu { + margin-: 2px; + position: relative; + float: left; + padding: 0px; + padding-bottom: 0px; + padding-top: 0px; + width: 174px; +} + +.vmenu { + margin-left: 4px; + + display: none; + +} + +.menu_contenu { padding-top: 4px; padding-bottom: 3px;} +#menu_contenu_logo { padding-right: 4px; } + +a.vmenu:link, a.vmenu:visited, a.vmenu:hover, a.vmenu:active { font-size:px; font-family: ; text-align: ; font-weight: bold; } +font.vmenudisabled { font-size:px; font-family: ; text-align: ; font-weight: bold; color: #93a5aa; } +a.vmenu:link, a.vmenu:visited { color: #; } + +a.vsmenu:link, a.vsmenu:visited, a.vsmenu:hover, a.vsmenu:active, span.vsmenu { font-size:px; font-family: ; text-align: ; font-weight: normal; color: #202020; margin: 1px 1px 1px 8px; } +font.vsmenudisabled { font-size:px; font-family: ; text-align: ; font-weight: normal; color: #93a5aa; } +a.vsmenu:link, a.vsmenu:visited { color: #; } +font.vsmenudisabledmargin { margin: 1px 1px 1px 8px; } + +a.help:link, a.help:visited, a.help:hover, a.help:active { font-size:px; font-family: ; text-align: ; font-weight: normal; color: #666666; text-decoration: none; } + + +div.blockvmenupair, div.blockvmenuimpair, div.blockvmenubookmarks +{ + font-family: ; + color: #000000; + text-align: ; + text-decoration: none; + padding-left: 5px; + padding-right: 1px; + padding-top: 3px; + padding-bottom: 3px; + margin: 1px 0px 8px 0px; + + padding-bottom: 10px; + border-bottom: 1px solid #e0e0e0; +} + +div.blockvmenusearch +{ + font-family: ; + color: #000000; + text-align: ; + text-decoration: none; + padding-left: 5px; + padding-right: 1px; + padding-top: 3px; + padding-bottom: 3px; + margin: 1px 0px 8px 0px; + + padding-bottom: 10px; + border-bottom: 1px solid #f4f4f4; +} + +div.blockvmenuhelp +{ +dol_optimize_smallscreen)) { ?> + font-family: ; + color: #000000; + text-align: center; + text-decoration: none; + padding-left: 0px; + padding-right: 3px; + padding-top: 3px; + padding-bottom: 3px; + margin: 4px 0px 0px 0px; + + display: none; + +} + + +td.barre { + border-right: 1px solid #000000; + border-bottom: 1px solid #000000; + background: #b3c5cc; + font-family: ; + color: #000000; + text-align: ; + text-decoration: none; +} + +td.barre_select { + background: #b3c5cc; + color: #000000; +} + +td.photo { + background: #F4F4F4; + color: #000000; + border: 1px solid #b3c5cc; +} + +/* ============================================================================== */ +/* Panes for Main */ +/* ============================================================================== */ + +/* + * PANES and CONTENT-DIVs + */ + +#mainContent, #leftContent .ui-layout-pane { + padding: 0px; + overflow: auto; +} + +#mainContent, #leftContent .ui-layout-center { + padding: 0px; + position: relative; /* contain floated or positioned elements */ + overflow: auto; /* add scrolling to content-div */ +} + + +/* ============================================================================== */ +/* Toolbar for ECM or Filemanager */ +/* ============================================================================== */ + +.largebutton { + background-image: -o-linear-gradient(bottom, rgba(200,200,200,0.1) 0%, rgba(255,255,255,0.3) 120%) !important; + background-image: -moz-linear-gradient(bottom, rgba(200,200,200,0.1) 0%, rgba(255,255,255,0.3) 120%) !important; + background-image: -webkit-linear-gradient(bottom, rgba(200,200,200,0.1) 0%, rgba(255,255,255,0.3) 120%) !important; + background-image: -ms-linear-gradient(bottom, rgba(200,200,200,0.1) 0%, rgba(255,255,255,0.3) 120%) !important; + background-image: linear-gradient(bottom, rgba(200,200,200,0.1) 0%, rgba(255,255,255,0.3) 120%) !important; + + background: #FFF; + background-repeat: repeat-x !important; + border: 1px solid #CCC !important; + + -moz-border-radius: 2px 2px 2px 2px !important; + -webkit-border-radius: 2px 2px 2px 2px !important; + border-radius: 2px 2px 2px 2px !important; + -moz-box-shadow: 2px 2px 4px #f4f4f4; + -webkit-box-shadow: 2px 2px 4px #f4f4f4; + box-shadow: 2px 2px 4px #f4f4f4; + + padding: 0 4px 0 4px !important; + min-height: 32px; +} + + +a.toolbarbutton { + margin-top: 0px; + margin-left: 4px; + margin-right: 4px; + height: 30px; +} +img.toolbarbutton { + margin-top: 1px; + height: 30px; +} + +/* ============================================================================== */ +/* Panes for ECM or Filemanager */ +/* ============================================================================== */ + +#containerlayout .layout-with-no-border { + border: 0 !important; + border-width: 0 !important; +} + +#containerlayout .layout-padding { + padding: 2px !important; +} + +/* + * PANES and CONTENT-DIVs + */ +#containerlayout .ui-layout-pane { /* all 'panes' */ + background: #FFF; + border: 1px solid #BBB; + /* DO NOT add scrolling (or padding) to 'panes' that have a content-div, + otherwise you may get double-scrollbars - on the pane AND on the content-div + */ + padding: 0px; + overflow: auto; +} +/* (scrolling) content-div inside pane allows for fixed header(s) and/or footer(s) */ +#containerlayout .ui-layout-content { + padding: 10px; + position: relative; /* contain floated or positioned elements */ + overflow: auto; /* add scrolling to content-div */ +} + + +/* + * RESIZER-BARS + */ +.ui-layout-resizer { /* all 'resizer-bars' */ + width: dol_optimize_smallscreen)?'8':'24'); ?>px !important; +} +.ui-layout-resizer-hover { /* affects both open and closed states */ +} +/* NOTE: It looks best when 'hover' and 'dragging' are set to the same color, + otherwise color shifts while dragging when bar can't keep up with mouse */ +/*.ui-layout-resizer-open-hover ,*/ /* hover-color to 'resize' */ +.ui-layout-resizer-dragging { /* resizer beging 'dragging' */ + background: #f4f4f4; + width: dol_optimize_smallscreen)?'8':'24'); ?>px; +} +.ui-layout-resizer-dragging { /* CLONED resizer being dragged */ + border-left: 1px solid #BBB; + border-right: 1px solid #BBB; +} +/* NOTE: Add a 'dragging-limit' color to provide visual feedback when resizer hits min/max size limits */ +.ui-layout-resizer-dragging-limit { /* CLONED resizer at min or max size-limit */ + background: #E1A4A4; /* red */ +} +.ui-layout-resizer-closed { + background-color: #f4f4f4; +} +.ui-layout-resizer-closed:hover { + background-color: #EEDDDD; +} +.ui-layout-resizer-sliding { /* resizer when pane is 'slid open' */ + opacity: .10; /* show only a slight shadow */ + filter: alpha(opacity=10); +} +.ui-layout-resizer-sliding-hover { /* sliding resizer - hover */ + opacity: 1.00; /* on-hover, show the resizer-bar normally */ + filter: alpha(opacity=100); +} +/* sliding resizer - add 'outside-border' to resizer on-hover */ +/* this sample illustrates how to target specific panes and states */ +/*.ui-layout-resizer-north-sliding-hover { border-bottom-width: 1px; } +.ui-layout-resizer-south-sliding-hover { border-top-width: 1px; } +.ui-layout-resizer-west-sliding-hover { border-right-width: 1px; } +.ui-layout-resizer-east-sliding-hover { border-left-width: 1px; } +*/ + +/* + * TOGGLER-BUTTONS + */ +.ui-layout-toggler { + dol_optimize_smallscreen)) { ?> + border-top: 1px solid #AAA; /* match pane-border */ + border-right: 1px solid #AAA; /* match pane-border */ + border-bottom: 1px solid #AAA; /* match pane-border */ + background-color: #f4f4f4; + top: 5px !important; + + diplay: none; + +} +.ui-layout-toggler-open { + height: 54px !important; + width: dol_optimize_smallscreen)?'7':'22'); ?>px !important; + -moz-border-radius:0px 10px 10px 0px; + -webkit-border-radius:0px 10px 10px 0px; + border-radius:0px 10px 10px 0px; +} +.ui-layout-toggler-closed { + height: dol_optimize_smallscreen)?'54':'2'); ?>px !important; + width: dol_optimize_smallscreen)?'7':'22'); ?>px !important; + -moz-border-radius:0px 10px 10px 0px; + -webkit-border-radius:0px 10px 10px 0px; + border-radius:0px 10px 10px 0px; +} +.ui-layout-toggler .content { /* style the text we put INSIDE the togglers */ + color: #666; + font-size: 12px; + font-weight: bold; + width: 100%; + padding-bottom: 0.35ex; /* to 'vertically center' text inside text-span */ +} + +/* hide the toggler-button when the pane is 'slid open' */ +.ui-layout-resizer-sliding ui-layout-toggler { + display: none; +} + +.ui-layout-north { + height: dol_optimize_smallscreen)?'54':'21'); ?>px !important; +} + + +/* ECM */ + +#containerlayout .ecm-layout-pane { /* all 'panes' */ + background: #FFF; + border: 1px solid #BBB; + /* DO NOT add scrolling (or padding) to 'panes' that have a content-div, + otherwise you may get double-scrollbars - on the pane AND on the content-div + */ + padding: 0px; + overflow: auto; +} +/* (scrolling) content-div inside pane allows for fixed header(s) and/or footer(s) */ +#containerlayout .ecm-layout-content { + padding: 10px; + position: relative; /* contain floated or positioned elements */ + overflow: auto; /* add scrolling to content-div */ +} + +.ecm-layout-toggler { + border-top: 1px solid #AAA; /* match pane-border */ + border-right: 1px solid #AAA; /* match pane-border */ + border-bottom: 1px solid #AAA; /* match pane-border */ + background-color: #CCC; + } +.ecm-layout-toggler-open { + height: 48px !important; + width: 6px !important; + -moz-border-radius:0px 10px 10px 0px; + -webkit-border-radius:0px 10px 10px 0px; + border-radius:0px 10px 10px 0px; +} +.ecm-layout-toggler-closed { + height: 48px !important; + width: 6px !important; +} + +.ecm-layout-toggler .content { /* style the text we put INSIDE the togglers */ + color: #666; + font-size: 12px; + font-weight: bold; + width: 100%; + padding-bottom: 0.35ex; /* to 'vertically center' text inside text-span */ +} +#ecm-layout-west-resizer { + width: 6px !important; +} + +.ecm-layout-resizer { /* all 'resizer-bars' */ + border: 1px solid #BBB; + border-width: 0; + } +.ecm-layout-resizer-closed { +} + +.ecm-in-layout-center { + border-left: 1px !important; + border-right: 0px !important; + border-top: 0px !important; +} + +.ecm-in-layout-south { + border-left: 0px !important; + border-right: 0px !important; + border-bottom: 0px !important; + padding: 4px 0 4px 4px !important; +} + + + +/* ============================================================================== */ +/* Onglets */ +/* ============================================================================== */ +div.tabs { + text-align: ; + margin-left: 6px !important; + margin-right: 6px !important; + clear:both; + height:100%; +} +div.tabsElem { margin-top: 8px; } /* To avoid overlap of tabs when not browser */ + +div.tabBar { + color: #; + padding-top: 9px; + padding-left: px; + padding-right: px; + padding-bottom: 8px; + margin: 0px 0px 14px 0px; + -moz-border-radius:3px; + -webkit-border-radius: 3px; + border-radius: 3px; + border-right: 1px solid #BBB; + border-bottom: 1px solid #BBB; + border-left: 1px solid #BBB; + border-top: 1px solid #CCC; + width: auto; + + background: rgb(); + + + -moz-box-shadow: 3px 3px 4px #f4f4f4; + -webkit-box-shadow: 3px 3px 4px #f4f4f4; + box-shadow: 3px 3px 4px #f4f4f4; + +} + +div.tabsAction { + margin: 20px 0em 10px 0em; + padding: 0em 0em; + text-align: right; +} + + +a.tabTitle { +/* background: #657090; + color: white;*/ + color:rgba(0,0,0,.5); + margin-right:10px; + text-shadow:1px 1px 1px #ffffff; + font-family: ; + font-weight: normal; + padding: 4px 6px 2px 6px; + margin: 0px 6px; + text-decoration: none; + white-space: nowrap; +} + +a.tab:link, a.tab:visited, a.tab:hover, a.tab#active { + font-family: ; + padding: 5px 12px 5px; + margin: 0em 0.2em; + text-decoration: none; + white-space: nowrap; + + /*-moz-border-radius:3px 3px 0px 0px; + -webkit-border-radius:3px 3px 0px 0px; + border-radius:3px 3px 0px 0px; + + -moz-box-shadow: 0 -1px 4px rgba(0,0,0,.1); + -webkit-box-shadow: 0 -1px 4px rgba(0,0,0,.1); + box-shadow: 0 -1px 4px rgba(0,0,0,.1); + + border-bottom: none; + border-right: 1px solid #CCCCCC; + border-left: 1px solid #f4f4f4; + border-top: 1px solid #D8D8D8; + */ + + background-image: none !important; +} + +.tabactive, a.tab#active { + color: # !important; + background: rgb() !important; + -moz-box-shadow: 0 -1px 4px rgba(0,0,0,.1); + -webkit-box-shadow: 0 -1px 4px rgba(0,0,0,.1); + box-shadow: 0 -1px 4px rgba(0,0,0,.1); + + border-right: 1px solid #CCCCCC; + border-left: 1px solid #f4f4f4; + border-top: 1px solid #D8D8D8; + + -moz-border-radius:3px 3px 0px 0px; + -webkit-border-radius:3px 3px 0px 0px; + border-radius:3px 3px 0px 0px; + +} +a.tab:hover +{ + /* + background: rgba(, 0.5) url() 50% 0 repeat-x; + color: #; + */ + text-decoration: underline; +} +a.tabimage { + color: #434956; + font-family: ; + text-decoration: none; + white-space: nowrap; +} + +td.tab { + background: #dee7ec; +} + +span.tabspan { + background: #dee7ec; + color: #434956; + font-family: ; + padding: 0px 6px; + margin: 0em 0.2em; + text-decoration: none; + white-space: nowrap; + -moz-border-radius:3px 3px 0px 0px; + -webkit-border-radius:3px 3px 0px 0px; + border-radius:3px 3px 0px 0px; + + border-: 1px solid #555555; + border-: 1px solid #D8D8D8; + border-top: 1px solid #D8D8D8; +} + +/* ============================================================================== */ +/* Boutons actions */ +/* ============================================================================== */ + +div.divButAction { margin-bottom: 1.4em; } + +.butAction, .butAction:link, .butAction:visited, .butAction:hover, .butAction:active, .butActionDelete, .butActionDelete:link, .butActionDelete:visited, .butActionDelete:hover, .butActionDelete:active { + text-decoration: none; + white-space: nowrap; + padding: 0.4em em; + margin: 0em em; + font-family: ; + + font-weight: bold; + background: white; + border: 1px solid #8CACBB; + color: #434956; + -moz-border-radius:0px 2px 0px 2px; + -webkit-border-radius:0px 2px 0px 2px; + border-radius:0px 2px 0px 2px; + -moz-box-shadow: 2px 2px 3px #f4f4f4; + -webkit-box-shadow: 2px 2px 3px #f4f4f4; + box-shadow: 2px 2px 3px #f4f4f4; +} + +.butAction:hover { + background: #dee7ec; +} + +.butActionDelete, .butActionDelete:link, .butActionDelete:visited, .butActionDelete:hover, .butActionDelete:active { + border: 1px solid #997777; +} + +.butActionDelete:hover { + background: #FFe7ec; +} + +.butActionRefused { + text-decoration: none !important; + white-space: nowrap !important; + cursor: not-allowed; + padding: 0.4em em; + margin: 0em em; + font-family: !important; + + font-weight: bold !important; + background: white !important; + border: 1px solid #AAAAAA !important; + color: #AAAAAA !important; + -moz-border-radius:0px 2px 0px 2px; + -webkit-border-radius:0px 2px 0px 2px; + border-radius:0px 2px 0px 2px; + -moz-box-shadow: 3px 3px 4px #f4f4f4; + -webkit-box-shadow: 3px 3px 4px #f4f4f4; + box-shadow: 3px 3px 4px #f4f4f4; +} + +global->MAIN_BUTTON_HIDE_UNAUTHORIZED)) { ?> +.butActionRefused { + display: none; +} + + +span.butAction, span.butActionDelete { + cursor: pointer; +} + +/* Prepare for bootstrap look +.butAction, .butActionDelete, .butActionRefused { + border-color: #c5c5c5; + border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25); + display: inline-block; + padding: 4px 14px; + margin-bottom: 0; + line-height: 20px; + text-align: center; + vertical-align: middle; + cursor: pointer; + color: #333333; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + border: 1px solid #bbbbbb; + border-bottom-color: #a2a2a2; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.butAction { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(to bottom, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} + +.butActionDelete { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #cc6d00; + background-image: -moz-linear-gradient(top, #cc8800, #cc4400); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#cc8800), to(#cc4400)); + background-image: -webkit-linear-gradient(top, #cc8800, #cc4400); + background-image: -o-linear-gradient(top, #cc8800, #cc4400); + background-image: linear-gradient(to bottom, #cc8800, #cc4400); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffcc8800', endColorstr='#ffcc4400', GradientType=0); + border-color: #cc4400 #cc4400 #802a00; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +a.butAction:link, a.butAction:visited, a.butAction:hover, a.butAction:active { + color: #FFFFFF; +} +End bootstrap */ + + + +/* ============================================================================== */ +/* Tables */ +/* ============================================================================== */ + +.allwidth { + width: 100%; +} + +#undertopmenu { + background-repeat: repeat-x; + margin-top: px; +} + + +.paddingrightonly { + border-collapse: collapse; + border: 0px; + margin-left: 0px; + padding-: 0px !important; + padding-: 4px !important; +} +.nocellnopadd { + list-style-type:none; + margin: 0px !important; + padding: 0px !important; +} +tr.nocellnopadd td.nobordernopadding, tr.nocellnopadd td.nocellnopadd +{ + border: 0px; +} + +.notopnoleft { + border-collapse: collapse; + border: 0px; + padding-top: 0px; + padding-: 0px; + padding-: 16px; + padding-bottom: 4px; + margin-right: 0px 0px; +} +.notopnoleftnoright { + border-collapse: collapse; + border: 0px; + padding-top: 0px; + padding-left: 0px; + padding-right: 0px; + padding-bottom: 4px; + margin: 0px 0px 0px 0px; +} + + +table.border, table.dataTable, .table-border, .table-border-col, .table-key-border-col, .table-val-border-col, div.border { + border: 1px solid #f4f4f4; + border-collapse: collapse; + padding: 1px 2px 1px 3px; /* t r b l */ +} + +.border tbody tr, .border tbody tr td { + height: 20px; +} +div.tabBar table.border tr { + height: 20px; +} + +table.border td, div.border div div.tagtd { + padding: 2px 2px 2px 2px; + border: 1px solid #f4f4f4; + border-collapse: collapse; +} + +td.border, div.tagtable div div.border { + border-top: 1px solid #000000; + border-right: 1px solid #000000; + border-bottom: 1px solid #000000; + border-left: 1px solid #000000; +} + +.table-key-border-col { + width: 25%; + vertical-align:top; +} +.table-val-border-col { + width:auto; +} + +/* Main boxes */ + +table.noborder, table.formdoc, div.noborder { + width: 100%; + + border-collapse: separate !important; + border-spacing: 0px; + + border-width: 1px; + border-color: #CCC; + border-style: solid; + + margin: 0px 0px 2px 0px; + + -moz-box-shadow: 2px 2px 4px #CCC; + -webkit-box-shadow: 2px 2px 4px #CCC; + box-shadow: 2px 2px 4px #CCC; + + -moz-border-radius: 0.1em; + -webkit-border-radius: 0.1em; + border-radius: 0.1em; +} + +table.noborder tr, div.noborder form { + border-top-color: #FEFEFE; + + border-right-width: 1px; + border-right-color: #BBBBBB; + border-right-style: solid; + + border-left-width: 1px; + border-left-color: #BBBBBB; + border-left-style: solid; + height: 26px; +} + +table.noborder th, table.noborder td, div.noborder form, div.noborder form div { + padding: 1px 2px 1px 3px; /* t r b l */ +} + +table.nobordernopadding { + border-collapse: collapse !important; + border: 0px; +} +table.nobordernopadding tr { + border: 0px !important; + padding: 0px 0px !important; +} +table.nobordernopadding tr td { + border: 0px; + padding: 0 3px 0 0; +} +table.border tr td table.nobordernopadding tr td { + padding-top: 0px; + padding-bottom: 0px; +} +td.borderright { + border: none; /* to erase value for table.nobordernopadding td */ + border-right-width: 1px !important; + border-right-color: #BBB !important; + border-right-style: solid !important; +} + +/* For lists */ + +table.liste { + width: 100%; + border-collapse: collapse; + border-top-color: #FEFEFE; + + border-right-width: 1px; + border-right-color: #CCC; + border-right-style: solid; + +/* + border-bottom-width: 1px; + border-bottom-color: #BBBBBB; + border-bottom-style: solid; +*/ + border-left-width: 1px; + border-left-color: #CCC; + border-left-style: solid; + + margin-bottom: 2px; + margin-top: 0px; + + -moz-box-shadow: 0px 3px 4px #CCC; + -webkit-box-shadow: 0px 3px 4px #CC; + box-shadow: 0px 3px 4px #CCC; +} +table.liste td { + padding-right: 2px; +} + +.tagtable, .table-border { display: table; } +.tagtr, .table-border-row { display: table-row; } +.tagtd, .table-border-col, .table-key-border-col, .table-val-border-col { display: table-cell; } + +/* Pagination */ +div.refidpadding { + padding-top: dol_use_jmobile)?'8':'12'; ?>px; +} +div.refid { + padding-top: dol_use_jmobile)?'5':'12'; ?>px; + font-weight: bold; + color: #766; + font-size: 120%; +} + +div.pagination { + float: right; +} +div.pagination a { + font-weight: normal; +} +div.pagination ul +{ + list-style: none; + display: inline-block; + padding-left: 0px; + padding-right: 0px; + margin: 0; +} +div.pagination li { + display: inline-block; + padding-left: 0px; + padding-right: 0px; +dol_use_jmobile)) { ?> + padding-top: 6px; + padding-bottom: 5px; + +} +.pagination { + display: inline-block; + padding-left: 0; + border-radius: 4px; +} + +div.pagination li.pagination a, +div.pagination li.pagination span { +dol_use_jmobile)) { ?> + padding: 6px 12px; + margin-left: -1px; + line-height: 1.42857143; + color: #000; + text-decoration: none; + + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); + background-repeat: repeat-x; + +} +div.pagination li.pagination span.inactive { + cursor: default; +} +div.pagination li.litext a { +border: none; + padding-right: 10px; + padding-left: 4px; + font-weight: bold; +} +dol_use_jmobile)) { ?> +div.pagination li.litext { + padding-top: 13px; + vertical-align: top; +} + +dol_use_jmobile)) { ?> +div.pagination li.noborder a:hover { + border: none; + background-color: transparent; +} +div.pagination li a, +div.pagination li span { + background-color: #fff; + border: 1px solid #ddd; +} +div.pagination li:first-child a, +div.pagination li:first-child span { + margin-left: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +div.pagination li:last-child a, +div.pagination li:last-child span { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +div.pagination li a:hover, +div.pagination li span:hover, +div.pagination li a:focus, +div.pagination li span:focus { + color: #000; + background-color: #eee; + border-color: #ddd; +} +div.pagination li .active a, +div.pagination li .active span, +div.pagination li .active a:hover, +div.pagination li .active span:hover, +div.pagination li .active a:focus, +div.pagination li .active span:focus { + z-index: 2; + color: #fff; + cursor: default; + background-color: ; + border-color: #337ab7; +} +div.pagination .disabled span, +div.pagination .disabled span:hover, +div.pagination .disabled span:focus, +div.pagination .disabled a, +div.pagination .disabled a:hover, +div.pagination .disabled a:focus { + color: #777; + cursor: not-allowed; + background-color: #fff; + border-color: #ddd; +} + +div.pagination li.pagination .active { + text-decoration: underline; +} +div.pagination li.paginationafterarrows { + margin-left: 10px; +} + +/* Prepare to remove class pair - impair +.noborder > tbody > tr:nth-child(even) td { + background: linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -o-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -moz-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -webkit-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -ms-linear-gradient(bottom, rgb() 85%, rgb() 100%); + font-family: ; + border: 0px; + margin-bottom: 1px; + color: #202020; + min-height: 18px; +} + +.noborder > tbody > tr:nth-child(odd) td { + background: linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -o-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -moz-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -webkit-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -ms-linear-gradient(bottom, rgb() 85%, rgb() 100%); + font-family: ; + border: 0px; + margin-bottom: 1px; + color: #202020; +} +*/ + +/* Set the color for hover lines */ +.odd:hover, .impair:hover, .even:hover, .pair:hover, .even:hover, .pair:hover, table.dataTable tr.even:hover, table.dataTable tr.odd:hover, .box_pair:hover, .box_impair:hover +{ + + background: rgb() !important; + + /* background: rgba(0, 0, 0, 0.05) !important; */ + +} + +.odd, .impair, .nohover .odd:hover, .nohover .impair:hover, tr.odd td.nohover, tr.impair td.nohover, tr.box_pair td.nohover, tr.box_impair td.nohover +{ + font-family: ; + border: 0px; + margin-bottom: 1px; + color: #202020; + min-height: 18px; /* seems to not be used */ + + background: #; +} +#GanttChartDIV { + background: #; +} + +.even, .pair, .nohover .even:hover, .nohover .pair:hover, tr.even td.nohover, tr.pair td.nohover { + font-family: ; + margin-bottom: 1px; + color: #202020; + + background-color: #; +} +table.dataTable tr.odd { + background-color: # !important; +} + +/* For no hover style */ +table.nohover tr.impair, table.nohover tr.pair, table.nohover tr.impair td, table.nohover tr.pair td, tr.nohover td { + background-color: # !important; +} +tr.nohoverpair td { + background-color: # !important; +} + +table.dataTable td { + padding: 5px 2px 5px 3px !important; +} +tr.even td, tr.pair td, tr.odd td, tr.impair td, form.odd div.tagtd, form.impair div.tagtd, form.pair div.tagtd, div.impair div.tagtd, div.pair div.tagtd, div.liste_titre div.tagtd { + padding: 5px 2px 5px 3px; + border-bottom: 1px solid #f4f4f4; +} +tr.even td .nobordernopadding tr td, tr.pair td .nobordernopadding tr td, tr.impair td .nobordernopadding tr td, tr.odd td .nobordernopadding tr td { + border-bottom: 0px !important; +} +td.nobottom, td.nobottom { + border-bottom: 0px !important; +} +div.liste_titre .tagtd { + vertical-align: middle; +} +div.liste_titre { + min-height: 26px !important; /* We cant use height because it's a div and it should be higher if content is more. but min-height doe not work either for div */ +} +tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.liste_titre_sel, table.dataTable.tr +{ + height: 26px !important; +} +div.liste_titre, tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.liste_titre_sel, table.dataTable thead tr +{ + /* TO MATCH BOOTSTRAP */ + background: #ddd; + color: #000 !important; + + /* TO MATCH ELDY */ + /* + background: rgb(); + + background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + + font-weight: bold; + */ + + color: #; + font-family: ; + border-bottom: 1px solid #FDFFFF; + text-align: ; +} +tr.liste_titre th, th.liste_titre, form.liste_titre div, div.liste_titre +{ + border-bottom: 1px solid #FDFFFF; +} +tr.liste_titre th, th.liste_titre, tr.liste_titre td, td.liste_titre, form.liste_titre div, div.liste_titre +{ + font-family: ; + font-weight: bold; + vertical-align: middle; +} +tr.liste_titre th a, th.liste_titre a, tr.liste_titre td a, td.liste_titre a, form.liste_titre div a, div.liste_titre a { + text-shadow: none !important; +} +.liste_titre td a { + text-shadow: none !important; + color: #; +} +div.liste_titre { + padding-left: 3px; +} +tr.liste_titre_sel th, th.liste_titre_sel, tr.liste_titre_sel td, td.liste_titre_sel, form.liste_titre_sel div +{ + font-family: ; + font-weight: normal; + border-bottom: 1px solid #FDFFFF; + text-decoration: underline; +} +input.liste_titre { + background: transparent; + border: 0px; +} + +.noborder tr.liste_total, .noborder tr.liste_total td, tr.liste_total, form.liste_total { + background: #F0F0F0; +} +.noborder tr.liste_total td, tr.liste_total td, form.liste_total div { + border-top: 1px solid #f4f4f4; + color: #332266; + font-weight: normal; + white-space: nowrap; + padding: 4px; +} + + +.tableforservicepart1 .impair, .tableforservicepart1 .pair, .tableforservicepart2 .impair, .tableforservicepart2 .pair { + background: #FFF; +} +.tableforservicepart1 tbody tr td, .tableforservicepart2 tbody tr td { + border-bottom: none; +} + +.margintable td { + border: 0px !important; +} + +/* Disable shadows */ +.noshadow { + -moz-box-shadow: 0px 0px 0px #f4f4f4 !important; + -webkit-box-shadow: 0px 0px 0px #f4f4f4 !important; + box-shadow: 0px 0px 0px #f4f4f4 !important; +} + +div.tabBar .noborder { + -moz-box-shadow: 0px 0px 0px #f4f4f4 !important; + -webkit-box-shadow: 0px 0px 0px #f4f4f4 !important; + box-shadow: 0px 0px 0px #f4f4f4 !important; +} + + +/* + * Boxes + */ + +.boxstats { + + margin: 3px; + padding: 3px; + /*-moz-box-shadow: 3px 3px 4px #f4f4f4; + -webkit-box-shadow: 3px 3px 4px #f4f4f4; + box-shadow: 3px 3px 4px #f4f4f4; + margin-bottom: 8px !important;*/ + border: 1px solid #AAA; + text-align: center; + border-radius: 2px; +} +.boxstats:hover { + background-color: #; +} + +.boxtable { + -moz-box-shadow: 3px 3px 4px #f4f4f4; + -webkit-box-shadow: 3px 3px 4px #f4f4f4; + box-shadow: 3px 3px 4px #f4f4f4; + margin-bottom: 8px !important; +} + + +.box { + padding-right: 0px; + padding-left: 0px; + padding-bottom: 4px; +} + +tr.box_titre { + height: 26px !important; + + /* TO MATCH BOOTSTRAP */ + background: #ddd; + color: #000 !important; + + /* TO MATCH ELDY */ + /* + background: rgb(); + + background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + + */ + + background-repeat: repeat-x; + color: #; + font-family: , sans-serif; + font-weight: bold; + border-bottom: 1px solid #FDFFFF; + white-space: nowrap; +} + +tr.box_titre td.boxclose { + width: 30px; +} + +tr.box_impair { + background: -o-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -moz-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -webkit-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -ms-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: linear-gradient(bottom, rgb() 85%, rgb() 100%); + font-family: ; +} + +tr.box_pair { + font-family: ; + + background-color: #f9f9f9; +} + +tr.box_pair td, tr.box_impair td { + padding: 4px; + border-bottom: 1px solid #f4f4f4; +} + +.formboxfilter { + vertical-align: middle; + margin-bottom: 6px; +} +.formboxfilter input[type=image] +{ + top: 5px; + position: relative; +} + + + + + + +/* + * Ok, Warning, Error + */ +.ok { color: #114466; } +.warning { color: #887711; } +.error { color: #550000 !important; font-weight: bold; } + +div.ok { + color: #114466; +} + +div.warning { + color: #302020; + padding: 0.3em 0.3em 0.3em 0.3em; + margin: 0.5em 0em 0.5em 0em; + border: 1px solid #e0d0b0; + -moz-border-radius:3px; + -webkit-border-radius: 3px; + border-radius: 3px; + background: #EFDF9A; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +} + +div.error { + color: #550000; font-weight: bold; + padding: 0.3em 0.3em 0.3em 0.3em; + margin: 0.5em 0em 0.5em 0em; + border: 1px solid #DC9CAB; + -moz-border-radius:3px; + -webkit-border-radius: 3px; + border-radius: 3px; + background: #EFCFCF; +} + +/* Info admin */ +div.info { + color: #302010; + padding: 0.4em 0.4em 0.4em 0.4em; + margin: 0.5em 0em 0.5em 0em; + border: 1px solid #DFBF9A; + -moz-border-radius:3px; + -webkit-border-radius: 3px; + border-radius:3px; + background: #EFCFAA; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +} + + +/* + * Liens Payes/Non payes + */ + +a.normal:link { font-weight: normal } +a.normal:visited { font-weight: normal } +a.normal:active { font-weight: normal } +a.normal:hover { font-weight: normal } + +a.impayee:link { font-weight: bold; color: #550000; } +a.impayee:visited { font-weight: bold; color: #550000; } +a.impayee:active { font-weight: bold; color: #550000; } +a.impayee:hover { font-weight: bold; color: #550000; } + + + +/* + * Other + */ + +.product_line_stock_ok { color: #002200; } +.product_line_stock_too_low { color: #664400; } + +.fieldrequired { font-weight: bold; color: #000055; } + +.dolgraphtitle { margin-top: 6px; margin-bottom: 4px; } +.dolgraphtitlecssboxes { margin: 0px; } +.legendColorBox, .legendLabel { border: none !important; } +div.dolgraph div.legend, div.dolgraph div.legend div { background-color: rgba(255,255,255,0) !important; } +div.dolgraph div.legend table tbody tr { height: auto; } +td.legendColorBox { padding: 2px 2px 2px 0 !important; } +td.legendLabel { padding: 2px 2px 2px 0 !important; } + +.photo { + border: 0px; +} +.photowithmargin { + margin-bottom: 2px; + margin-top: 2px; +} +.photointooltip { + margin-top: 8px; + float: left; + /*text-align: center; */ +} +.photodelete { + margin-top: 6px !important; +} + +.logo_setup +{ + content:url(); + display: inline-block; +} + +div.titre { + font-family: ; + font-weight: bold; + color: rgb(); + text-decoration: none; + text-shadow: 1px 1px 2px #FFFFFF; + dol_optimize_smallscreen)?'':'margin-top: 4px;'); ?> +} + +#dolpaymenttable { width: 600px; font-size: 13px; } +#tablepublicpayment { border: 1px solid #CCCCCC !important; width: 100%; } +#tablepublicpayment .CTableRow1 { background-color: #F0F0F0 !important; } +#tablepublicpayment tr.liste_total { border-bottom: 1px solid #CCCCCC !important; } +#tablepublicpayment tr.liste_total td { border-top: none; } + +#divsubscribe { width: 700px; } +#tablesubscribe { width: 100%; } + + +/* + * Effect Postit + */ +.effectpostit +{ + position: relative; +} +.effectpostit:before, .effectpostit:after +{ + z-index: -1; + position: absolute; + content: ""; + bottom: 15px; + left: 10px; + width: 50%; + top: 80%; + max-width:300px; + background: #777; + -webkit-box-shadow: 0 15px 10px #777; + -moz-box-shadow: 0 15px 10px #777; + box-shadow: 0 15px 10px #777; + -webkit-transform: rotate(-3deg); + -moz-transform: rotate(-3deg); + -o-transform: rotate(-3deg); + -ms-transform: rotate(-3deg); + transform: rotate(-3deg); +} +.effectpostit:after +{ + -webkit-transform: rotate(3deg); + -moz-transform: rotate(3deg); + -o-transform: rotate(3deg); + -ms-transform: rotate(3deg); + transform: rotate(3deg); + right: 10px; + left: auto; +} + + + +/* ============================================================================== */ +/* Formulaire confirmation (When Ajax JQuery is used) */ +/* ============================================================================== */ + +.ui-dialog-titlebar { +} +.ui-dialog-content { + font-size: px !important; +} + +/* ============================================================================== */ +/* Formulaire confirmation (When HTML is used) */ +/* ============================================================================== */ + +table.valid { + border-top: solid 1px #E6E6E6; + border-: solid 1px #E6E6E6; + border-: solid 1px #444444; + border-bottom: solid 1px #555555; + padding-top: 0px; + padding-left: 0px; + padding-right: 0px; + padding-bottom: 0px; + margin: 0px 0px; + background: #D5BAA8; +} + +.validtitre { + background: #D5BAA8; + font-weight: bold; +} + + +/* ============================================================================== */ +/* Tooltips */ +/* ============================================================================== */ + +#tooltip { +position: absolute; +width: px; +border-top: solid 1px #BBBBBB; +border-: solid 1px #BBBBBB; +border-: solid 1px #444444; +border-bottom: solid 1px #444444; +padding: 2px; +z-index: 3000; +background-color: #EFCFAA; +opacity: 1; +-moz-border-radius:0px; +-webkit-border-radius: 0px; +border-radius: 0px; +} + +#tiptip_content { +-moz-border-radius:0px; +-webkit-border-radius: 0px; +border-radius: 0px; +background-color: rgb(255,255,255); +/* background-color: rgb(252,248,246); + background-color: rgba(252,248,246,0.95);*/ + line-height: 1.4em; + min-width: 200px; +} + +/* ============================================================================== */ +/* Calendar */ +/* ============================================================================== */ + +img.datecallink { padding-left: 2px !important; padding-right: 2px !important; } + +.ui-datepicker-trigger { + vertical-align: middle; + cursor: pointer; +} + +.bodyline { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + border: 1px #E4ECEC outset; + padding: 0px; + margin-bottom: 5px; +} +table.dp { + width: 180px; + background-color: #FFFFFF; + border-top: solid 2px #f4f4f4; + border-: solid 2px #f4f4f4; + border-: solid 1px #222222; + border-bottom: solid 1px #222222; + padding: 0px; + border-spacing: 0px; + border-collapse: collapse; +} +.dp td, .tpHour td, .tpMinute td{padding:2px; font-size:10px;} +/* Barre titre */ +.dpHead,.tpHead,.tpHour td:Hover .tpHead{ + font-weight:bold; + background-color:#b3c5cc; + color:white; + font-size:11px; + cursor:auto; +} +/* Barre navigation */ +.dpButtons,.tpButtons { + text-align:center; + background-color:#617389; + color:#FFFFFF; + font-weight:bold; + cursor:pointer; +} +.dpButtons:Active,.tpButtons:Active{border: 1px outset black;} +.dpDayNames td,.dpExplanation {background-color:#D9DBE1; font-weight:bold; text-align:center; font-size:11px;} +.dpExplanation{ font-weight:normal; font-size:11px;} +.dpWeek td{text-align:center} + +.dpToday,.dpReg,.dpSelected{ + cursor:pointer; +} +.dpToday{font-weight:bold; color:black; background-color:#f4f4f4;} +.dpReg:Hover,.dpToday:Hover{background-color:black;color:white} + +/* Jour courant */ +.dpSelected{background-color:#0B63A2;color:white;font-weight:bold; } + +.tpHour{border-top:1px solid #f4f4f4; border-right:1px solid #f4f4f4;} +.tpHour td {border-left:1px solid #f4f4f4; border-bottom:1px solid #f4f4f4; cursor:pointer;} +.tpHour td:Hover {background-color:black;color:white;} + +.tpMinute {margin-top:5px;} +.tpMinute td:Hover {background-color:black; color:white; } +.tpMinute td {background-color:#D9DBE1; text-align:center; cursor:pointer;} + +/* Bouton X fermer */ +.dpInvisibleButtons +{ + border-style:none; + background-color:transparent; + padding:0px; + font-size:9px; + border-width:0px; + color:#0B63A2; + vertical-align:middle; + cursor: pointer; +} + + +/* ============================================================================== */ +/* Afficher/cacher */ +/* ============================================================================== */ + +div.visible { + display: block; +} + +div.hidden { + display: none; +} + +tr.visible { + display: block; +} + +td.hidden { + display: none; +} + + +/* ============================================================================== */ +/* Module agenda */ +/* ============================================================================== */ + +table.cal_month { border-spacing: 0px; } +.cal_current_month { border-top: 0; border-left: solid 1px #E0E0E0; border-right: 0; border-bottom: solid 1px #E0E0E0; } +.cal_current_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B; border-right: 0; border-bottom: solid 1px #E0E0E0; } +.cal_current_month_oneday { border-right: solid 1px #E0E0E0; } +.cal_other_month { border-top: 0; border-left: solid 1px #C0C0C0; border-right: 0; border-bottom: solid 1px #C0C0C0; } +.cal_other_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B !important; border-right: 0; } +.cal_current_month_right { border-right: solid 1px #E0E0E0; } +.cal_other_month_right { border-right: solid 1px #C0C0C0; } +.cal_other_month { opacity: 0.6; background: #EAEAEA; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } +.cal_past_month { opacity: 0.6; background: #EEEEEE; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } +.cal_current_month { background: #FFFFFF; border-left: solid 1px #E0E0E0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } +.cal_current_month_peruserleft { background: #FFFFFF; border-left: solid 3px #6C7C7B; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } +.cal_today { background: #FDFDF0; border-left: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } +.cal_today_peruser { background: #FDFDF0; border-right: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } +.cal_today_peruser_peruserleft { background: #FDFDF0; border-left: solid 3px #6C7C7B; border-right: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } +.cal_past { } +.cal_peruser { padding: 0px; } +.cal_impair { background: #F8F8F8; } +.cal_today_peruser_impair { background: #F8F8F0; } +.peruser_busy { background: #CC8888; } +.peruser_notbusy { background: #EEDDDD; opacity: 0.5; } +table.cal_event { border: none; border-collapse: collapse; margin-bottom: 1px; -webkit-border-radius: 3px; border-radius: 3px; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25); + moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25); + background: -webkit-gradient(linear, left top, left bottom, from(#006aac), to(#00438d)); + min-height: 20px; + } +table.cal_event td { border: none; padding-: 2px; padding-: 2px; padding-top: 0px; padding-bottom: 0px; } +table.cal_event td.cal_event { padding: 4px 4px !important; } +table.cal_event td.cal_event_right { padding: 4px 4px !important; } +ul.cal_event { padding-right: 2px; padding-top: 1px; border: none; list-style-type: none; margin: 0 auto; padding-left: 0px; padding-start: 0px; -khtml-padding-start: 0px; -o-padding-start: 0px; -moz-padding-start: 0px; -webkit-padding-start: 0px; } +li.cal_event { border: none; list-style-type: none; } +.cal_event a:link { color: #111111; font-size: 11px; font-weight: normal !important; } +.cal_event a:visited { color: #111111; font-size: 11px; font-weight: normal !important; } +.cal_event a:active { color: #111111; font-size: 11px; font-weight: normal !important; } +.cal_event a:hover { color: #111111; font-size: 11px; font-weight: normal !important; color:rgba(255,255,255,.75); } +.cal_event_busy { } +.cal_peruserviewname { max-width: 100px; height: 22px; } + +.topmenuimage { + background-size: 28px auto; +} + +/* ============================================================================== */ +/* Ajax - Liste deroulante de l'autocompletion */ +/* ============================================================================== */ + +.ui-widget-content { border: solid 1px rgba(0,0,0,.3); background: #fff !important; } + +.ui-autocomplete-loading { background: white url() right center no-repeat; } +.ui-autocomplete { + position:absolute; + width:auto; + font-size: 1.0em; + background-color:white; + border:1px solid #888; + margin:0px; +/* padding:0px; This make combo crazy */ + } +.ui-autocomplete ul { + list-style-type:none; + margin:0px; + padding:0px; + } +.ui-autocomplete ul li.selected { background-color: #D3E5EC;} +.ui-autocomplete ul li { + list-style-type:none; + display:block; + margin:0; + padding:2px; + height:18px; + cursor:pointer; + } + +/* ============================================================================== */ +/* jQuery - jeditable */ +/* ============================================================================== */ + +.editkey_textarea, .editkey_ckeditor, .editkey_string, .editkey_email, .editkey_numeric, .editkey_select, .editkey_autocomplete { + background: url() right top no-repeat; + cursor: pointer; +} + +.editkey_datepicker { + background: url() right center no-repeat; + cursor: pointer; +} + +.editval_textarea.active:hover, .editval_ckeditor.active:hover, .editval_string.active:hover, .editval_email.active:hover, .editval_numeric.active:hover, .editval_select.active:hover, .editval_autocomplete.active:hover, .editval_datepicker.active:hover { + background: white; + cursor: pointer; +} + +.viewval_textarea.active:hover, .viewval_ckeditor.active:hover, .viewval_string.active:hover, .viewval_email.active:hover, .viewval_numeric.active:hover, .viewval_select.active:hover, .viewval_autocomplete.active:hover, .viewval_datepicker.active:hover { + background: white; + cursor: pointer; +} + +.viewval_hover { + background: white; +} + + +/* ============================================================================== */ +/* Admin Menu */ +/* ============================================================================== */ + +/* CSS for treeview */ +.treeview ul { background-color: transparent !important; margin-top: 0; } +.treeview li { background-color: transparent !important; padding: 0 0 0 16px !important; min-height: 20px; } +.treeview .hover { color: black !important; } + + + +/* ============================================================================== */ +/* Show Excel tabs */ +/* ============================================================================== */ + +.table_data +{ + border-style:ridge; + border:1px solid; +} +.tab_base +{ + background:#C5D0DD; + font-weight:bold; + border-style:ridge; + border: 1px solid; + cursor:pointer; +} +.table_sub_heading +{ + background:#CCCCCC; + font-weight:bold; + border-style:ridge; + border: 1px solid; +} +.table_body +{ + background:#F0F0F0; + font-weight:normal; + font-family:sans-serif; + border-style:ridge; + border: 1px solid; + border-spacing: 0px; + border-collapse: collapse; +} +.tab_loaded +{ + background:#222222; + color:white; + font-weight:bold; + border-style:groove; + border: 1px solid; + cursor:pointer; +} + + +/* ============================================================================== */ +/* CSS for color picker */ +/* ============================================================================== */ + +A.color, A.color:active, A.color:visited { + position : relative; + display : block; + text-decoration : none; + width : 10px; + height : 10px; + line-height : 10px; + margin : 0px; + padding : 0px; + border : 1px inset white; +} +A.color:hover { + border : 1px outset white; +} +A.none, A.none:active, A.none:visited, A.none:hover { + position : relative; + display : block; + text-decoration : none; + width : 10px; + height : 10px; + line-height : 10px; + margin : 0px; + padding : 0px; + cursor : default; + border : 1px solid #b3c5cc; +} +.tblColor { + display : none; +} +.tdColor { + padding : 1px; +} +.tblContainer { + background-color : #b3c5cc; +} +.tblGlobal { + position : absolute; + top : 0px; + left : 0px; + display : none; + background-color : #b3c5cc; + border : 2px outset; +} +.tdContainer { + padding : 5px; +} +.tdDisplay { + width : 50%; + height : 20px; + line-height : 20px; + border : 1px outset white; +} +.tdDisplayTxt { + width : 50%; + height : 24px; + line-height : 12px; + font-family : ; + font-size : 8pt; + color : black; + text-align : center; +} +.btnColor { + width : 100%; + font-family : ; + font-size : 10pt; + padding : 0px; + margin : 0px; +} +.btnPalette { + width : 100%; + font-family : ; + font-size : 8pt; + padding : 0px; + margin : 0px; +} + + +/* Style to overwrites JQuery styles */ +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; + font-weight: normal; + font-family:; + font-size:1em; +} +.ui-widget { + font-family:; + font-size:px; +} +.ui-button { margin-left: -2px; browser->name)?'padding-top: 1px;':''); ?> } +.ui-button-icon-only .ui-button-text { height: 8px; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: 2px 0px 6px 0px; } +.ui-button-text +{ + line-height: 1em !important; +} +.ui-autocomplete-input { margin: 0; padding: 4px; } + + +/* ============================================================================== */ +/* CKEditor */ +/* ============================================================================== */ + +.cke_editable +{ + margin: 5px !important; +} +.cke_editor table, .cke_editor tr, .cke_editor td +{ + border: 0px solid #FF0000 !important; +} +span.cke_skin_kama { padding: 0 !important; } +.cke_wrapper { padding: 4px !important; } +a.cke_dialog_ui_button +{ + font-family: !important; + background-image: url() !important; + background-position: bottom !important; + border: 1px solid #C0C0C0 !important; + -moz-border-radius:0px 2px 0px 2px !important; + -webkit-border-radius:0px 2px 0px 2px !important; + border-radius:0px 2px 0px 2px !important; + -moz-box-shadow: 3px 3px 4px #f4f4f4 !important; + -webkit-box-shadow: 3px 3px 4px #f4f4f4 !important; + box-shadow: 3px 3px 4px #f4f4f4 !important; +} +.cke_dialog_ui_hbox_last +{ + vertical-align: bottom ! important; +} +.cke_editable +{ + line-height: 1.4 !important; + margin: 6px !important; +} + + +/* ============================================================================== */ +/* File upload */ +/* ============================================================================== */ + +.template-upload { + height: 72px !important; +} + + +/* ============================================================================== */ +/* Holiday */ +/* ============================================================================== */ + +#types .btn { + cursor: pointer; +} + +#types .btn-primary { + font-weight: bold; +} + +#types form { + padding: 20px; +} + +#types label { + display:inline-block; + width:100px; + margin-right: 20px; + padding: 4px; + text-align: right; + vertical-align: top; +} + +#types input.text, #types textarea { + width: 400px; +} + +#types textarea { + height: 100px; +} + + + +/* ============================================================================== */ +/* JSGantt */ +/* ============================================================================== */ + +div.scroll2 { + width: px !important; +} + + +/* ============================================================================== */ +/* jFileTree */ +/* ============================================================================== */ + +.ecmfiletree { + width: 99%; + height: 99%; + background: #FFF; + padding-left: 2px; + font-weight: normal; +} + +.fileview { + width: 99%; + height: 99%; + background: #FFF; + padding-left: 2px; + padding-top: 4px; + font-weight: normal; +} + +div.filedirelem { + position: relative; + display: block; + text-decoration: none; +} + +ul.filedirelem { + padding: 2px; + margin: 0 5px 5px 5px; +} +ul.filedirelem li { + list-style: none; + padding: 2px; + margin: 0 10px 20px 10px; + width: 160px; + height: 120px; + text-align: center; + display: block; + float: ; + border: solid 1px #f4f4f4; +} + +ui-layout-north { + +} + +ul.ecmjqft { + font-size: 11px; + line-height: 16px; + padding: 0px; + margin: 0px; + font-weight: normal; +} + +ul.ecmjqft li { + list-style: none; + padding: 0px; + padding-left: 20px; + margin: 0px; + white-space: nowrap; + display: block; +} + +ul.ecmjqft a { + line-height: 16px; + vertical-align: middle; + color: #333; + padding: 0px 0px; + font-weight:normal; + display: inline-block !important; +/* float: left;*/ +} +ul.ecmjqft a:active { + font-weight: bold !important; +} +ul.ecmjqft a:hover { + text-decoration: underline; +} +div.ecmjqft { + vertical-align: middle; + display: inline-block !important; + text-align: right; + position:absolute; + right:4px; +} + +/* Core Styles */ +.ecmjqft LI.directory { font-weight:normal; background: url() left top no-repeat; } +.ecmjqft LI.expanded { font-weight:normal; background: url() left top no-repeat; } +.ecmjqft LI.wait { font-weight:normal; background: url() left top no-repeat; } + + +/* ============================================================================== */ +/* jNotify */ +/* ============================================================================== */ + +.jnotify-container { + position: fixed !important; +global->MAIN_JQUERY_JNOTIFY_BOTTOM)) { ?> + top: auto !important; + bottom: 4px !important; + + text-align: center; + min-width: px; + width: auto; + padding-left: 10px !important; + padding-right: 10px !important; +} + +/* use or not ? */ +div.jnotify-background { + opacity : 0.95 !important; + -moz-box-shadow: 3px 3px 4px #888 !important; + -webkit-box-shadow: 3px 3px 4px #888 !important; + box-shadow: 3px 3px 4px #888 !important; +} + +/* ============================================================================== */ +/* blockUI */ +/* ============================================================================== */ + +/*div.growlUI { background: url(check48.png) no-repeat 10px 10px }*/ +div.dolEventValid h1, div.dolEventValid h2 { + color: #567b1b; + background-color: #e3f0db; + padding: 5px 5px 5px 5px; + text-align: left; +} +div.dolEventError h1, div.dolEventError h2 { + color: #a72947; + background-color: #d79eac; + padding: 5px 5px 5px 5px; + text-align: left; +} + +/* ============================================================================== */ +/* Maps */ +/* ============================================================================== */ + +.divmap, #google-visualization-geomap-embed-0, #google-visualization-geomap-embed-1, google-visualization-geomap-embed-2 { + -moz-box-shadow: 0px 0px 10px #AAA; + -webkit-box-shadow: 0px 0px 10px #AAA; + box-shadow: 0px 0px 10px #AAA; +} + + +/* ============================================================================== */ +/* Datatable */ +/* ============================================================================== */ + +table.dataTable tr.odd td.sorting_1, table.dataTable tr.even td.sorting_1 { + background: none !important; +} +.sorting_asc { background: url('') no-repeat center right !important; } +.sorting_desc { background: url('') no-repeat center right !important; } +.sorting_asc_disabled { background: url('') no-repeat center right !important; } +.sorting_desc_disabled { background: url('') no-repeat center right !important; } +.dataTables_paginate { + margin-top: 8px; +} +.paginate_button_disabled { + opacity: 1 !important; + color: #888 !important; + cursor: default !important; +} +.paginate_disabled_previous:hover, .paginate_enabled_previous:hover, .paginate_disabled_next:hover, .paginate_enabled_next:hover +{ + font-weight: normal; +} +.paginate_enabled_previous:hover, .paginate_enabled_next:hover +{ + text-decoration: underline !important; +} +.paginate_active +{ + text-decoration: underline !important; +} +.paginate_button +{ + font-weight: normal !important; + text-decoration: none !important; +} +.paging_full_numbers { + height: inherit !important; +} +.paging_full_numbers a.paginate_active:hover, .paging_full_numbers a.paginate_button:hover { + background-color: #DDD !important; +} +.paging_full_numbers, .paging_full_numbers a.paginate_active, .paging_full_numbers a.paginate_button { + background-color: #FFF !important; + border-radius: inherit !important; +} +.paging_full_numbers a.paginate_button_disabled:hover { + background-color: #FFF !important; +} +.paginate_button, .paginate_active { + border: 1px solid #ddd !important; + padding: 6px 12px !important; + margin-left: -1px !important; + line-height: 1.42857143 !important; + margin: 0 0 !important; +} + +/* For jquery plugin combobox */ +/* Disable this. It breaks wrapping of boxes +.ui-corner-all { white-space: nowrap; } */ + +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled, .paginate_button_disabled { + opacity: .35; + filter: Alpha(Opacity=35); + background-image: none; +} + +/* ============================================================================== */ +/* Select2 */ +/* ============================================================================== */ + +.select2-choice, +.select2-drop.select2-drop-above.select2-drop-active, +.select2-container-active .select2-choice, +.select2-container-active .select2-choices, +.select2-dropdown-open.select2-drop-above .select2-choice, +.select2-dropdown-open.select2-drop-above .select2-choices, +.select2-container-multi.select2-container-active .select2-choices +{ + border: 1px solid #aaa; +} +.select2-disabled +{ + color: #888; +} +.select2-drop-active +{ + border: 1px solid #aaa; + border-top: none; +} +a span.select2-chosen +{ + font-weight: normal !important; +} +.select2-container .select2-choice { + background-image: none; + height: 24px; + line-height: 24px; +} +.select2-choices .select2-search-choice { + border: 1px solid #aaa !important; +} +.select2-results .select2-no-results, .select2-results .select2-searching, .select2-results .select2-ajax-error, .select2-results .select2-selection-limit +{ + background: #FFFFFF; +} +.select2-container-multi.select2-container-disabled .select2-choices { + background-color: #FFFFFF; + background-image: none; + border: none; + cursor: default; +} +.select2-container-multi .select2-choices .select2-search-choice { + margin-bottom: 3px; +} +/* To emulate select 2 style */ +.select2-container-multi-dolibarr .select2-choices-dolibarr .select2-search-choice-dolibarr { + padding: 2px 5px 1px 5px; + margin: 0 0 2px 3px; + position: relative; + line-height: 13px; + color: #333; + cursor: default; + border: 1px solid #aaaaaa; + border-radius: 3px; + -webkit-box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); + box-shadow: 0 0 2px #fff inset, 0 1px 0 rgba(0, 0, 0, 0.05); + background-clip: padding-box; + -webkit-touch-callout: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-color: #e4e4e4; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#eeeeee', endColorstr='#f4f4f4', GradientType=0); + background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(20%, #f4f4f4), color-stop(50%, #f0f0f0), color-stop(52%, #e8e8e8), color-stop(100%, #eee)); + background-image: -webkit-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); + background-image: -moz-linear-gradient(top, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); + background-image: linear-gradient(to bottom, #f4f4f4 20%, #f0f0f0 50%, #e8e8e8 52%, #eee 100%); +} +.select2-container-multi-dolibarr .select2-choices-dolibarr .select2-search-choice-dolibarr a { + font-weight: normal; +} +.select2-container-multi-dolibarr .select2-choices-dolibarr li { + float: left; + list-style: none; +} +.select2-container-multi-dolibarr .select2-choices-dolibarr { + height: auto !important; + height: 1%; + margin: 0; + padding: 0 5px 0 0; + position: relative; + cursor: text; + overflow: hidden; +} + + +/* ============================================================================== */ +/* JMobile */ +/* ============================================================================== */ + +li.ui-li-divider .ui-link { + color: #FFF !important; +} +.ui-btn { + margin: 0.1em 2px +} +a.ui-link, a.ui-link:hover, .ui-btn:hover, span.ui-btn-text:hover, span.ui-btn-inner:hover { + text-decoration: none !important; +} + +.ui-btn-inner { + min-width: .4em; + padding-left: 10px; + padding-right: 10px; + + font-size: 13px; + + font-size: px; + + /* white-space: normal; */ /* Warning, enable this break the truncate feature */ +} +.ui-btn-icon-right .ui-btn-inner { + padding-right: 34px; +} +.ui-btn-icon-left .ui-btn-inner { + padding-left: 34px; +} +.ui-select .ui-btn-icon-right .ui-btn-inner { + padding-right: 38px; +} +.ui-select .ui-btn-icon-left .ui-btn-inner { + padding-left: 38px; +} +.fiche .ui-controlgroup { + margin: 0px; + padding-bottom: 0px; +} +div.ui-controlgroup-controls div.tabsElem +{ + margin-top: 2px; +} +div.ui-controlgroup-controls div.tabsElem a +{ + -moz-box-shadow: 0 -3px 6px rgba(0,0,0,.2); + -webkit-box-shadow: 0 -3px 6px rgba(0,0,0,.2); + box-shadow: 0 -3px 6px rgba(0,0,0,.2); +} +div.ui-controlgroup-controls div.tabsElem a#active { + -moz-box-shadow: 0 -3px 6px rgba(0,0,0,.3); + -webkit-box-shadow: 0 -3px 6px rgba(0,0,0,.3); + box-shadow: 0 -3px 6px rgba(0,0,0,.3); +} + +a.tab span.ui-btn-inner +{ + border: none; + padding: 0; +} + +.ui-link { + color: rgb(); +} +.liste_titre .ui-link { + color: # !important; +} + +a.ui-link { + word-wrap: break-word; +} + +/* force wrap possible onto field overflow does not works */ +.formdoc .ui-btn-inner +{ + white-space: normal; + overflow: hidden; + text-overflow: hidden; +} + +/* Warning: setting this may make screen not beeing refreshed after a combo selection */ +/*.ui-body-c { + background: #fff; +}*/ + +div.ui-radio, div.ui-checkbox +{ + display: inline-block; + border-bottom: 0px !important; +} +.ui-checkbox input, .ui-radio input { + height: auto; + width: auto; + margin: 4px; + position: static; +} +div.ui-checkbox label+input, div.ui-radio label+input { + position: absolute; +} +.ui-mobile fieldset +{ + padding-bottom: 10px; margin-bottom: 4px; border-bottom: 1px solid #AAAAAA !important; +} + +ul.ulmenu { + border-radius: 0; + -webkit-border-radius: 0; +} + +.ui-field-contain label.ui-input-text { + vertical-align: middle !important; +} +.ui-mobile fieldset { + border-bottom: none !important; +} + +/* Style for first level menu with jmobile */ +.ui-bar-b, .lilevel0 { + border: 1px solid #5f5f7a !important; + background: rgb(); + background-repeat: repeat-x; + + background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + font-weight: bold; + + color: # !important; +} +.alilevel0 { + color: # !important; + text-shadow: 1px 0px 1px #; +} +.ui-btn-icon-right { + border-right: 1px solid #ccc !important; +} +.ui-body-c { + border: 1px solid #ccc; + text-shadow: none; +} +.ui-btn-up-c, .ui-btn-hover-c { + border: 1px solid #ccc; + text-shadow: none; +} +.ui-body-c .ui-link, .ui-body-c .ui-link:visited, .ui-body-c .ui-link:hover { + color: rgb(); +} +.ui-btn-up-c .vsmenudisabled { + color: # !important; + text-shadow: none !important; +} +.ui-controlgroup-horizontal .ui-btn.ui-first-child { +-webkit-border-top-left-radius: 6px; +border-top-left-radius: 6px; +} +.ui-controlgroup-horizontal .ui-btn.ui-last-child { +-webkit-border-top-right-radius: 6px; +border-top-right-radius: 6px; +} +.alilevel1 { + color: # !important; + text-shadow: 1px 0px 1px #; +} +.lilevel1 { + background-image: -webkit-gradient(linear,left top,left bottom,from( #f4f4f4 ),to( #d1d1d1 )) !important; + background-image: -webkit-linear-gradient( #f4f4f4,#d1d1d1 ) !important; + background-image: -moz-linear-gradient( #f4f4f4,#d1d1d1 ) !important; + background-image: -ms-linear-gradient( #f4f4f4,#d1d1d1 ) !important; + background-image: -o-linear-gradient( #f4f4f4,#d1d1d1 ) !important; + background-image: linear-gradient( #f4f4f4,#d1d1d1 ) !important; +} +.lilevel2 +{ + padding-left: 22px; +} +.lilevel3 +{ + padding-left: 54px; +} + + + +/* The theme for public pages */ +.public_body { + margin: 20px; +} +.public_border { + border: 1px solid #888; +} + + + +/* CSS style used for small screen */ + +.imgopensurveywizard +{ + padding: 0 4px 0 4px; +} +@media only screen and (max-width: 767px) +{ + .mainmenuaspan { + display: none; + } + li.tmenu, li.tmenusel { + min-width: 32px; + } + div.mainmenu { + min-width: auto; + } + .topmenuimage { + background-size: 26px auto; + margin-top: 8px; + } + div.tmenuleft { + display: none; + } + + .imgopensurveywizard { width:95%; height: auto; } + + #tooltip { + position: absolute; + width: px; + } +} +@media only screen and (max-width: 570px) +{ + div.mainmenu { + min-width: 20px; + } + .topmenuimage { + background-size: 20px auto; + } + + #tooltip { + position: absolute; + width: px; + } +} + + + +close(); diff --git a/htdocs/theme/md/thumb.png b/htdocs/theme/md/thumb.png new file mode 100644 index 00000000000..97102ab78ca Binary files /dev/null and b/htdocs/theme/md/thumb.png differ diff --git a/htdocs/theme/amarok/tpl/README b/htdocs/theme/md/tpl/README old mode 100755 new mode 100644 similarity index 100% rename from htdocs/theme/amarok/tpl/README rename to htdocs/theme/md/tpl/README diff --git a/htdocs/theme/auguria/img/index.html b/htdocs/theme/md/tpl/index.html similarity index 100% rename from htdocs/theme/auguria/img/index.html rename to htdocs/theme/md/tpl/index.html diff --git a/htdocs/theme/md_exp/AUTHOR b/htdocs/theme/md_exp/AUTHOR deleted file mode 100644 index f04e8a95239..00000000000 --- a/htdocs/theme/md_exp/AUTHOR +++ /dev/null @@ -1 +0,0 @@ -2003-2004 Laurent Destailleur diff --git a/htdocs/theme/md_exp/ckeditor/index.html b/htdocs/theme/md_exp/ckeditor/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/md_exp/img/1downarrow.png b/htdocs/theme/md_exp/img/1downarrow.png deleted file mode 100644 index 1d134ab3e4e..00000000000 Binary files a/htdocs/theme/md_exp/img/1downarrow.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/1downarrow_selected.png b/htdocs/theme/md_exp/img/1downarrow_selected.png deleted file mode 100644 index 5caf8ead52d..00000000000 Binary files a/htdocs/theme/md_exp/img/1downarrow_selected.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/1leftarrow.png b/htdocs/theme/md_exp/img/1leftarrow.png deleted file mode 100644 index 554cdc3d76c..00000000000 Binary files a/htdocs/theme/md_exp/img/1leftarrow.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/1leftarrow_selected.png b/htdocs/theme/md_exp/img/1leftarrow_selected.png deleted file mode 100644 index 554cdc3d76c..00000000000 Binary files a/htdocs/theme/md_exp/img/1leftarrow_selected.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/1rightarrow.png b/htdocs/theme/md_exp/img/1rightarrow.png deleted file mode 100644 index 95fdc377ee9..00000000000 Binary files a/htdocs/theme/md_exp/img/1rightarrow.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/1rightarrow_selected.png b/htdocs/theme/md_exp/img/1rightarrow_selected.png deleted file mode 100644 index 95fdc377ee9..00000000000 Binary files a/htdocs/theme/md_exp/img/1rightarrow_selected.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/1uparrow.png b/htdocs/theme/md_exp/img/1uparrow.png deleted file mode 100644 index 70ea061dc5e..00000000000 Binary files a/htdocs/theme/md_exp/img/1uparrow.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/1uparrow_selected.png b/htdocs/theme/md_exp/img/1uparrow_selected.png deleted file mode 100644 index 36d25a408c5..00000000000 Binary files a/htdocs/theme/md_exp/img/1uparrow_selected.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/1updownarrow.png b/htdocs/theme/md_exp/img/1updownarrow.png deleted file mode 100644 index 871ac1c1f29..00000000000 Binary files a/htdocs/theme/md_exp/img/1updownarrow.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/addfile.png b/htdocs/theme/md_exp/img/addfile.png deleted file mode 100644 index 1cb7af0ad8a..00000000000 Binary files a/htdocs/theme/md_exp/img/addfile.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/button_bg.png b/htdocs/theme/md_exp/img/button_bg.png deleted file mode 100644 index 7e8a806b28f..00000000000 Binary files a/htdocs/theme/md_exp/img/button_bg.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/button_edit.png b/htdocs/theme/md_exp/img/button_edit.png deleted file mode 100644 index 894b4cfd78e..00000000000 Binary files a/htdocs/theme/md_exp/img/button_edit.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/calc.png b/htdocs/theme/md_exp/img/calc.png deleted file mode 100644 index 5e6471408d8..00000000000 Binary files a/htdocs/theme/md_exp/img/calc.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/calendar.png b/htdocs/theme/md_exp/img/calendar.png deleted file mode 100644 index bbe6c27f041..00000000000 Binary files a/htdocs/theme/md_exp/img/calendar.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/call.png b/htdocs/theme/md_exp/img/call.png deleted file mode 100644 index ddfc1b7bd90..00000000000 Binary files a/htdocs/theme/md_exp/img/call.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/call_out.png b/htdocs/theme/md_exp/img/call_out.png deleted file mode 100644 index b5a22eb827b..00000000000 Binary files a/htdocs/theme/md_exp/img/call_out.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/close.png b/htdocs/theme/md_exp/img/close.png deleted file mode 100644 index ec4338e8bca..00000000000 Binary files a/htdocs/theme/md_exp/img/close.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/close_title.png b/htdocs/theme/md_exp/img/close_title.png deleted file mode 100644 index bebb74d9861..00000000000 Binary files a/htdocs/theme/md_exp/img/close_title.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/delete.png b/htdocs/theme/md_exp/img/delete.png deleted file mode 100644 index 8ad73597be7..00000000000 Binary files a/htdocs/theme/md_exp/img/delete.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/detail.png b/htdocs/theme/md_exp/img/detail.png deleted file mode 100644 index 05562bef842..00000000000 Binary files a/htdocs/theme/md_exp/img/detail.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/disable.png b/htdocs/theme/md_exp/img/disable.png deleted file mode 100644 index f8c84994d47..00000000000 Binary files a/htdocs/theme/md_exp/img/disable.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/edit.png b/htdocs/theme/md_exp/img/edit.png deleted file mode 100644 index 4e916fe1fb0..00000000000 Binary files a/htdocs/theme/md_exp/img/edit.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/edit_add.png b/htdocs/theme/md_exp/img/edit_add.png deleted file mode 100644 index ae205e9d770..00000000000 Binary files a/htdocs/theme/md_exp/img/edit_add.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/edit_remove.png b/htdocs/theme/md_exp/img/edit_remove.png deleted file mode 100644 index bc4bdb360fa..00000000000 Binary files a/htdocs/theme/md_exp/img/edit_remove.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/editdelete.png b/htdocs/theme/md_exp/img/editdelete.png deleted file mode 100644 index f8c84994d47..00000000000 Binary files a/htdocs/theme/md_exp/img/editdelete.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/error.png b/htdocs/theme/md_exp/img/error.png deleted file mode 100644 index f41dd8a3bc0..00000000000 Binary files a/htdocs/theme/md_exp/img/error.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/favicon.ico b/htdocs/theme/md_exp/img/favicon.ico deleted file mode 100644 index b93a86747d6..00000000000 Binary files a/htdocs/theme/md_exp/img/favicon.ico and /dev/null differ diff --git a/htdocs/theme/md_exp/img/file.png b/htdocs/theme/md_exp/img/file.png deleted file mode 100644 index 73c66e9b2b3..00000000000 Binary files a/htdocs/theme/md_exp/img/file.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/filenew.png b/htdocs/theme/md_exp/img/filenew.png deleted file mode 100644 index 8680cce82bf..00000000000 Binary files a/htdocs/theme/md_exp/img/filenew.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/filter.png b/htdocs/theme/md_exp/img/filter.png deleted file mode 100644 index 917715107bd..00000000000 Binary files a/htdocs/theme/md_exp/img/filter.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/folder-open.png b/htdocs/theme/md_exp/img/folder-open.png deleted file mode 100644 index 1db8369b3d5..00000000000 Binary files a/htdocs/theme/md_exp/img/folder-open.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/folder.png b/htdocs/theme/md_exp/img/folder.png deleted file mode 100644 index 04a24af2e22..00000000000 Binary files a/htdocs/theme/md_exp/img/folder.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/gradient.gif b/htdocs/theme/md_exp/img/gradient.gif deleted file mode 100644 index d9d7c1086cd..00000000000 Binary files a/htdocs/theme/md_exp/img/gradient.gif and /dev/null differ diff --git a/htdocs/theme/md_exp/img/grip.png b/htdocs/theme/md_exp/img/grip.png deleted file mode 100644 index 8053007e9dd..00000000000 Binary files a/htdocs/theme/md_exp/img/grip.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/grip_title.png b/htdocs/theme/md_exp/img/grip_title.png deleted file mode 100644 index d6ecce335cb..00000000000 Binary files a/htdocs/theme/md_exp/img/grip_title.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/headbg.jpg b/htdocs/theme/md_exp/img/headbg.jpg deleted file mode 100644 index 160821354cc..00000000000 Binary files a/htdocs/theme/md_exp/img/headbg.jpg and /dev/null differ diff --git a/htdocs/theme/md_exp/img/headbg2.jpg b/htdocs/theme/md_exp/img/headbg2.jpg deleted file mode 100644 index 0bc44f0ea99..00000000000 Binary files a/htdocs/theme/md_exp/img/headbg2.jpg and /dev/null differ diff --git a/htdocs/theme/md_exp/img/help.png b/htdocs/theme/md_exp/img/help.png deleted file mode 100644 index 12e6cd655d6..00000000000 Binary files a/htdocs/theme/md_exp/img/help.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/helpdoc.png b/htdocs/theme/md_exp/img/helpdoc.png deleted file mode 100644 index 8cd950e7be1..00000000000 Binary files a/htdocs/theme/md_exp/img/helpdoc.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/high.png b/htdocs/theme/md_exp/img/high.png deleted file mode 100644 index c0eaee6542f..00000000000 Binary files a/htdocs/theme/md_exp/img/high.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/history.png b/htdocs/theme/md_exp/img/history.png deleted file mode 100644 index 0fa4283476b..00000000000 Binary files a/htdocs/theme/md_exp/img/history.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/index.html b/htdocs/theme/md_exp/img/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/md_exp/img/info.png b/htdocs/theme/md_exp/img/info.png deleted file mode 100644 index 12e6cd655d6..00000000000 Binary files a/htdocs/theme/md_exp/img/info.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/lock.png b/htdocs/theme/md_exp/img/lock.png deleted file mode 100644 index 3d99cf1eaef..00000000000 Binary files a/htdocs/theme/md_exp/img/lock.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/login_background.png b/htdocs/theme/md_exp/img/login_background.png deleted file mode 100644 index facc2c6f442..00000000000 Binary files a/htdocs/theme/md_exp/img/login_background.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/logout.png b/htdocs/theme/md_exp/img/logout.png deleted file mode 100644 index 26ae717bc1a..00000000000 Binary files a/htdocs/theme/md_exp/img/logout.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/menus/index.html b/htdocs/theme/md_exp/img/menus/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/md_exp/img/next.png b/htdocs/theme/md_exp/img/next.png deleted file mode 100644 index 953731ca934..00000000000 Binary files a/htdocs/theme/md_exp/img/next.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_account.png b/htdocs/theme/md_exp/img/object_account.png deleted file mode 100644 index 46be8b6fe0f..00000000000 Binary files a/htdocs/theme/md_exp/img/object_account.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_accounting.png b/htdocs/theme/md_exp/img/object_accounting.png deleted file mode 100644 index b5600221f02..00000000000 Binary files a/htdocs/theme/md_exp/img/object_accounting.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_action_rdv.png b/htdocs/theme/md_exp/img/object_action_rdv.png deleted file mode 100644 index 25edfa85b45..00000000000 Binary files a/htdocs/theme/md_exp/img/object_action_rdv.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_barcode.png b/htdocs/theme/md_exp/img/object_barcode.png deleted file mode 100644 index 6f1931ab96c..00000000000 Binary files a/htdocs/theme/md_exp/img/object_barcode.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_bill.png b/htdocs/theme/md_exp/img/object_bill.png deleted file mode 100644 index b4022e77740..00000000000 Binary files a/htdocs/theme/md_exp/img/object_bill.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_billa.png b/htdocs/theme/md_exp/img/object_billa.png deleted file mode 100644 index 93564621d7a..00000000000 Binary files a/htdocs/theme/md_exp/img/object_billa.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_billd.png b/htdocs/theme/md_exp/img/object_billd.png deleted file mode 100644 index 2080958f0fb..00000000000 Binary files a/htdocs/theme/md_exp/img/object_billd.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_billr.png b/htdocs/theme/md_exp/img/object_billr.png deleted file mode 100644 index 7a9692a0804..00000000000 Binary files a/htdocs/theme/md_exp/img/object_billr.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_book.png b/htdocs/theme/md_exp/img/object_book.png deleted file mode 100644 index 85097420728..00000000000 Binary files a/htdocs/theme/md_exp/img/object_book.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_calendar.png b/htdocs/theme/md_exp/img/object_calendar.png deleted file mode 100644 index 8cda1f3f220..00000000000 Binary files a/htdocs/theme/md_exp/img/object_calendar.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_calendarday.png b/htdocs/theme/md_exp/img/object_calendarday.png deleted file mode 100644 index 5678cdd2411..00000000000 Binary files a/htdocs/theme/md_exp/img/object_calendarday.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_calendarweek.png b/htdocs/theme/md_exp/img/object_calendarweek.png deleted file mode 100644 index 4ea2c09ccc9..00000000000 Binary files a/htdocs/theme/md_exp/img/object_calendarweek.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_category-expanded.png b/htdocs/theme/md_exp/img/object_category-expanded.png deleted file mode 100644 index 8168f76fa26..00000000000 Binary files a/htdocs/theme/md_exp/img/object_category-expanded.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_category.png b/htdocs/theme/md_exp/img/object_category.png deleted file mode 100644 index aaea38dbef2..00000000000 Binary files a/htdocs/theme/md_exp/img/object_category.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_commercial.png b/htdocs/theme/md_exp/img/object_commercial.png deleted file mode 100644 index 36cdcc8d4a2..00000000000 Binary files a/htdocs/theme/md_exp/img/object_commercial.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_company.png b/htdocs/theme/md_exp/img/object_company.png deleted file mode 100644 index 2a582b8bd4c..00000000000 Binary files a/htdocs/theme/md_exp/img/object_company.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_contact.png b/htdocs/theme/md_exp/img/object_contact.png deleted file mode 100644 index e98202b367d..00000000000 Binary files a/htdocs/theme/md_exp/img/object_contact.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_contact_all.png b/htdocs/theme/md_exp/img/object_contact_all.png deleted file mode 100644 index f571504b246..00000000000 Binary files a/htdocs/theme/md_exp/img/object_contact_all.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_contract.png b/htdocs/theme/md_exp/img/object_contract.png deleted file mode 100644 index a75f954555e..00000000000 Binary files a/htdocs/theme/md_exp/img/object_contract.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_cron.png b/htdocs/theme/md_exp/img/object_cron.png deleted file mode 100644 index 6186d18da70..00000000000 Binary files a/htdocs/theme/md_exp/img/object_cron.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_dir.png b/htdocs/theme/md_exp/img/object_dir.png deleted file mode 100644 index 6f364389133..00000000000 Binary files a/htdocs/theme/md_exp/img/object_dir.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_email.png b/htdocs/theme/md_exp/img/object_email.png deleted file mode 100644 index d5cd141733d..00000000000 Binary files a/htdocs/theme/md_exp/img/object_email.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_energie.png b/htdocs/theme/md_exp/img/object_energie.png deleted file mode 100644 index bc3966d2fa2..00000000000 Binary files a/htdocs/theme/md_exp/img/object_energie.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_generic.png b/htdocs/theme/md_exp/img/object_generic.png deleted file mode 100644 index ccfd2d2f5b2..00000000000 Binary files a/htdocs/theme/md_exp/img/object_generic.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_globe.png b/htdocs/theme/md_exp/img/object_globe.png deleted file mode 100644 index aae8bf6eba0..00000000000 Binary files a/htdocs/theme/md_exp/img/object_globe.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_gravatar.png b/htdocs/theme/md_exp/img/object_gravatar.png deleted file mode 100644 index 42bccdc4339..00000000000 Binary files a/htdocs/theme/md_exp/img/object_gravatar.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_group.png b/htdocs/theme/md_exp/img/object_group.png deleted file mode 100644 index 552eb39fa31..00000000000 Binary files a/htdocs/theme/md_exp/img/object_group.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_holiday.png b/htdocs/theme/md_exp/img/object_holiday.png deleted file mode 100644 index fdc1dd8e22b..00000000000 Binary files a/htdocs/theme/md_exp/img/object_holiday.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_intervention.png b/htdocs/theme/md_exp/img/object_intervention.png deleted file mode 100644 index 7bb7ef583b4..00000000000 Binary files a/htdocs/theme/md_exp/img/object_intervention.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_invoice.png b/htdocs/theme/md_exp/img/object_invoice.png deleted file mode 100644 index b4022e77740..00000000000 Binary files a/htdocs/theme/md_exp/img/object_invoice.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_label.png b/htdocs/theme/md_exp/img/object_label.png deleted file mode 100644 index b112af5cf0a..00000000000 Binary files a/htdocs/theme/md_exp/img/object_label.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_list.png b/htdocs/theme/md_exp/img/object_list.png deleted file mode 100644 index 1ceb098d9cc..00000000000 Binary files a/htdocs/theme/md_exp/img/object_list.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_margin.png b/htdocs/theme/md_exp/img/object_margin.png deleted file mode 100644 index cd0eb4109f7..00000000000 Binary files a/htdocs/theme/md_exp/img/object_margin.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_opensurvey.png b/htdocs/theme/md_exp/img/object_opensurvey.png deleted file mode 100644 index b5de3223bd4..00000000000 Binary files a/htdocs/theme/md_exp/img/object_opensurvey.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_order.png b/htdocs/theme/md_exp/img/object_order.png deleted file mode 100644 index 20a1ddb6131..00000000000 Binary files a/htdocs/theme/md_exp/img/object_order.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_payment.png b/htdocs/theme/md_exp/img/object_payment.png deleted file mode 100644 index 5691147d8ff..00000000000 Binary files a/htdocs/theme/md_exp/img/object_payment.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_product.png b/htdocs/theme/md_exp/img/object_product.png deleted file mode 100644 index 79910e5e214..00000000000 Binary files a/htdocs/theme/md_exp/img/object_product.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_project.png b/htdocs/theme/md_exp/img/object_project.png deleted file mode 100644 index fd84ab427db..00000000000 Binary files a/htdocs/theme/md_exp/img/object_project.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_projectpub.png b/htdocs/theme/md_exp/img/object_projectpub.png deleted file mode 100644 index 1444573cf05..00000000000 Binary files a/htdocs/theme/md_exp/img/object_projectpub.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_projecttask.png b/htdocs/theme/md_exp/img/object_projecttask.png deleted file mode 100644 index 4a01b50435a..00000000000 Binary files a/htdocs/theme/md_exp/img/object_projecttask.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_propal.png b/htdocs/theme/md_exp/img/object_propal.png deleted file mode 100644 index 2dc60e66b3e..00000000000 Binary files a/htdocs/theme/md_exp/img/object_propal.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_reduc.png b/htdocs/theme/md_exp/img/object_reduc.png deleted file mode 100644 index ccfd2d2f5b2..00000000000 Binary files a/htdocs/theme/md_exp/img/object_reduc.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_resource.png b/htdocs/theme/md_exp/img/object_resource.png deleted file mode 100644 index 8cda1f3f220..00000000000 Binary files a/htdocs/theme/md_exp/img/object_resource.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_rss.png b/htdocs/theme/md_exp/img/object_rss.png deleted file mode 100644 index 37372031157..00000000000 Binary files a/htdocs/theme/md_exp/img/object_rss.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_sending.png b/htdocs/theme/md_exp/img/object_sending.png deleted file mode 100644 index c798ced0b5c..00000000000 Binary files a/htdocs/theme/md_exp/img/object_sending.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_service.png b/htdocs/theme/md_exp/img/object_service.png deleted file mode 100644 index 65e9041589f..00000000000 Binary files a/htdocs/theme/md_exp/img/object_service.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_skype.png b/htdocs/theme/md_exp/img/object_skype.png deleted file mode 100644 index b209cd8d16e..00000000000 Binary files a/htdocs/theme/md_exp/img/object_skype.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_stock.png b/htdocs/theme/md_exp/img/object_stock.png deleted file mode 100644 index 2f439db7b50..00000000000 Binary files a/htdocs/theme/md_exp/img/object_stock.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_task.png b/htdocs/theme/md_exp/img/object_task.png deleted file mode 100644 index 14dc14a9602..00000000000 Binary files a/htdocs/theme/md_exp/img/object_task.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_technic.png b/htdocs/theme/md_exp/img/object_technic.png deleted file mode 100644 index 6186d18da70..00000000000 Binary files a/htdocs/theme/md_exp/img/object_technic.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_trip.png b/htdocs/theme/md_exp/img/object_trip.png deleted file mode 100644 index 95cc4412111..00000000000 Binary files a/htdocs/theme/md_exp/img/object_trip.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/object_user.png b/htdocs/theme/md_exp/img/object_user.png deleted file mode 100644 index d26d8899ee8..00000000000 Binary files a/htdocs/theme/md_exp/img/object_user.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/off.png b/htdocs/theme/md_exp/img/off.png deleted file mode 100644 index f4217646b26..00000000000 Binary files a/htdocs/theme/md_exp/img/off.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/on.png b/htdocs/theme/md_exp/img/on.png deleted file mode 100644 index 728bb393536..00000000000 Binary files a/htdocs/theme/md_exp/img/on.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/pdf2.png b/htdocs/theme/md_exp/img/pdf2.png deleted file mode 100644 index 06634550daa..00000000000 Binary files a/htdocs/theme/md_exp/img/pdf2.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/pdf3.png b/htdocs/theme/md_exp/img/pdf3.png deleted file mode 100644 index f053591bf2d..00000000000 Binary files a/htdocs/theme/md_exp/img/pdf3.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/play.png b/htdocs/theme/md_exp/img/play.png deleted file mode 100644 index 4922ea1ec12..00000000000 Binary files a/htdocs/theme/md_exp/img/play.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/previous.png b/htdocs/theme/md_exp/img/previous.png deleted file mode 100644 index f807a78d281..00000000000 Binary files a/htdocs/theme/md_exp/img/previous.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/printer.png b/htdocs/theme/md_exp/img/printer.png deleted file mode 100644 index 3a5e7b2dfa0..00000000000 Binary files a/htdocs/theme/md_exp/img/printer.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/puce.png b/htdocs/theme/md_exp/img/puce.png deleted file mode 100644 index 8c116b0dc42..00000000000 Binary files a/htdocs/theme/md_exp/img/puce.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/recent.png b/htdocs/theme/md_exp/img/recent.png deleted file mode 100644 index a49fc171c06..00000000000 Binary files a/htdocs/theme/md_exp/img/recent.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/redstar.png b/htdocs/theme/md_exp/img/redstar.png deleted file mode 100644 index 486fd6770a2..00000000000 Binary files a/htdocs/theme/md_exp/img/redstar.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/refresh.png b/htdocs/theme/md_exp/img/refresh.png deleted file mode 100644 index 9994475cdfe..00000000000 Binary files a/htdocs/theme/md_exp/img/refresh.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/reload.png b/htdocs/theme/md_exp/img/reload.png deleted file mode 100644 index a4029f119de..00000000000 Binary files a/htdocs/theme/md_exp/img/reload.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/rightarrow.png b/htdocs/theme/md_exp/img/rightarrow.png deleted file mode 100644 index 2c479d9453b..00000000000 Binary files a/htdocs/theme/md_exp/img/rightarrow.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/search.png b/htdocs/theme/md_exp/img/search.png deleted file mode 100644 index 4c52b1e401e..00000000000 Binary files a/htdocs/theme/md_exp/img/search.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/searchclear.png b/htdocs/theme/md_exp/img/searchclear.png deleted file mode 100644 index 203a85e10c4..00000000000 Binary files a/htdocs/theme/md_exp/img/searchclear.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/sort_desc_disabled.png b/htdocs/theme/md_exp/img/sort_desc_disabled.png deleted file mode 100644 index 89051c2f34f..00000000000 Binary files a/htdocs/theme/md_exp/img/sort_desc_disabled.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/split.png b/htdocs/theme/md_exp/img/split.png deleted file mode 100644 index bb66213f413..00000000000 Binary files a/htdocs/theme/md_exp/img/split.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/star.png b/htdocs/theme/md_exp/img/star.png deleted file mode 100644 index 4b6b4584675..00000000000 Binary files a/htdocs/theme/md_exp/img/star.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/stats.png b/htdocs/theme/md_exp/img/stats.png deleted file mode 100644 index d883f7faea9..00000000000 Binary files a/htdocs/theme/md_exp/img/stats.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/statut0.png b/htdocs/theme/md_exp/img/statut0.png deleted file mode 100644 index d11252783a4..00000000000 Binary files a/htdocs/theme/md_exp/img/statut0.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/statut1.png b/htdocs/theme/md_exp/img/statut1.png deleted file mode 100644 index 558439d282e..00000000000 Binary files a/htdocs/theme/md_exp/img/statut1.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/statut3.png b/htdocs/theme/md_exp/img/statut3.png deleted file mode 100644 index e7515796683..00000000000 Binary files a/htdocs/theme/md_exp/img/statut3.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/statut4.png b/htdocs/theme/md_exp/img/statut4.png deleted file mode 100644 index 6ec1ba55961..00000000000 Binary files a/htdocs/theme/md_exp/img/statut4.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/statut5.png b/htdocs/theme/md_exp/img/statut5.png deleted file mode 100644 index 53264a0515d..00000000000 Binary files a/htdocs/theme/md_exp/img/statut5.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/statut6.png b/htdocs/theme/md_exp/img/statut6.png deleted file mode 100644 index b964afff603..00000000000 Binary files a/htdocs/theme/md_exp/img/statut6.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/statut7.png b/htdocs/theme/md_exp/img/statut7.png deleted file mode 100644 index 8871a45519f..00000000000 Binary files a/htdocs/theme/md_exp/img/statut7.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/statut8.png b/htdocs/theme/md_exp/img/statut8.png deleted file mode 100644 index c24d4a9dac2..00000000000 Binary files a/htdocs/theme/md_exp/img/statut8.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/statut9.png b/htdocs/theme/md_exp/img/statut9.png deleted file mode 100644 index 94b6dabf265..00000000000 Binary files a/htdocs/theme/md_exp/img/statut9.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/stcomm0.png b/htdocs/theme/md_exp/img/stcomm0.png deleted file mode 100644 index b6c11d4569a..00000000000 Binary files a/htdocs/theme/md_exp/img/stcomm0.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/stcomm1.png b/htdocs/theme/md_exp/img/stcomm1.png deleted file mode 100644 index 6bdea492985..00000000000 Binary files a/htdocs/theme/md_exp/img/stcomm1.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/stcomm2.png b/htdocs/theme/md_exp/img/stcomm2.png deleted file mode 100644 index 9e000b70dc9..00000000000 Binary files a/htdocs/theme/md_exp/img/stcomm2.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/stcomm3.png b/htdocs/theme/md_exp/img/stcomm3.png deleted file mode 100644 index 5a6c0aeface..00000000000 Binary files a/htdocs/theme/md_exp/img/stcomm3.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/stcomm4.png b/htdocs/theme/md_exp/img/stcomm4.png deleted file mode 100644 index 3e26b4d06ed..00000000000 Binary files a/htdocs/theme/md_exp/img/stcomm4.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/switch_off.png b/htdocs/theme/md_exp/img/switch_off.png deleted file mode 100644 index 28a4376fb43..00000000000 Binary files a/htdocs/theme/md_exp/img/switch_off.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/switch_on.png b/htdocs/theme/md_exp/img/switch_on.png deleted file mode 100644 index d4e32d98f57..00000000000 Binary files a/htdocs/theme/md_exp/img/switch_on.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/tab_background.png b/htdocs/theme/md_exp/img/tab_background.png deleted file mode 100644 index 6edd65003e0..00000000000 Binary files a/htdocs/theme/md_exp/img/tab_background.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/tick.png b/htdocs/theme/md_exp/img/tick.png deleted file mode 100644 index 9b035d99511..00000000000 Binary files a/htdocs/theme/md_exp/img/tick.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/title.gif b/htdocs/theme/md_exp/img/title.gif deleted file mode 100644 index c1afa93ae4c..00000000000 Binary files a/htdocs/theme/md_exp/img/title.gif and /dev/null differ diff --git a/htdocs/theme/md_exp/img/title.png b/htdocs/theme/md_exp/img/title.png deleted file mode 100644 index bb48d617379..00000000000 Binary files a/htdocs/theme/md_exp/img/title.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/title_accountancy.png b/htdocs/theme/md_exp/img/title_accountancy.png deleted file mode 100644 index 6e7c2a412c6..00000000000 Binary files a/htdocs/theme/md_exp/img/title_accountancy.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/title_bank.png b/htdocs/theme/md_exp/img/title_bank.png deleted file mode 100644 index 034a8d0c5e4..00000000000 Binary files a/htdocs/theme/md_exp/img/title_bank.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/title_commercial.png b/htdocs/theme/md_exp/img/title_commercial.png deleted file mode 100644 index 46394177698..00000000000 Binary files a/htdocs/theme/md_exp/img/title_commercial.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/title_companies.png b/htdocs/theme/md_exp/img/title_companies.png deleted file mode 100644 index b2539dba849..00000000000 Binary files a/htdocs/theme/md_exp/img/title_companies.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/title_generic.png b/htdocs/theme/md_exp/img/title_generic.png deleted file mode 100644 index ae224327549..00000000000 Binary files a/htdocs/theme/md_exp/img/title_generic.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/title_home.png b/htdocs/theme/md_exp/img/title_home.png deleted file mode 100644 index e9273e727f5..00000000000 Binary files a/htdocs/theme/md_exp/img/title_home.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/title_products.png b/htdocs/theme/md_exp/img/title_products.png deleted file mode 100644 index d3c5b125bbe..00000000000 Binary files a/htdocs/theme/md_exp/img/title_products.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/title_project.png b/htdocs/theme/md_exp/img/title_project.png deleted file mode 100644 index 05d8ea630b8..00000000000 Binary files a/htdocs/theme/md_exp/img/title_project.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/title_setup.png b/htdocs/theme/md_exp/img/title_setup.png deleted file mode 100644 index d7548d28709..00000000000 Binary files a/htdocs/theme/md_exp/img/title_setup.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/tmenu3.jpg b/htdocs/theme/md_exp/img/tmenu3.jpg deleted file mode 100644 index d42f804b026..00000000000 Binary files a/htdocs/theme/md_exp/img/tmenu3.jpg and /dev/null differ diff --git a/htdocs/theme/md_exp/img/tmenu_inverse.jpg b/htdocs/theme/md_exp/img/tmenu_inverse.jpg deleted file mode 100644 index e1efd44376e..00000000000 Binary files a/htdocs/theme/md_exp/img/tmenu_inverse.jpg and /dev/null differ diff --git a/htdocs/theme/md_exp/img/unlock.png b/htdocs/theme/md_exp/img/unlock.png deleted file mode 100644 index afefaa94d47..00000000000 Binary files a/htdocs/theme/md_exp/img/unlock.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/uparrow.png b/htdocs/theme/md_exp/img/uparrow.png deleted file mode 100644 index 5d54c6a4c91..00000000000 Binary files a/htdocs/theme/md_exp/img/uparrow.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/vcard.png b/htdocs/theme/md_exp/img/vcard.png deleted file mode 100644 index 315abdf179d..00000000000 Binary files a/htdocs/theme/md_exp/img/vcard.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/view.png b/htdocs/theme/md_exp/img/view.png deleted file mode 100644 index 76c1e9f1e6a..00000000000 Binary files a/htdocs/theme/md_exp/img/view.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/warning.png b/htdocs/theme/md_exp/img/warning.png deleted file mode 100644 index f1b93b8cc82..00000000000 Binary files a/htdocs/theme/md_exp/img/warning.png and /dev/null differ diff --git a/htdocs/theme/md_exp/img/working.gif b/htdocs/theme/md_exp/img/working.gif deleted file mode 100644 index 1e421c3113f..00000000000 Binary files a/htdocs/theme/md_exp/img/working.gif and /dev/null differ diff --git a/htdocs/theme/md_exp/img/working2.gif b/htdocs/theme/md_exp/img/working2.gif deleted file mode 100644 index bf0fc8f2167..00000000000 Binary files a/htdocs/theme/md_exp/img/working2.gif and /dev/null differ diff --git a/htdocs/theme/md_exp/index.html b/htdocs/theme/md_exp/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/theme/md_exp/style.css.php b/htdocs/theme/md_exp/style.css.php deleted file mode 100644 index bd70786dab4..00000000000 --- a/htdocs/theme/md_exp/style.css.php +++ /dev/null @@ -1,3302 +0,0 @@ - - * Copyright (C) 2006 Rodolphe Quiedeville - * Copyright (C) 2007-2012 Regis Houssin - * Copyright (C) 2011 Philippe Grand - * Copyright (C) 2012 Juanjo Menent - * Copyright (C) 2015 Alexandre Spangaro - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/theme/md_exp/style.css.php - * \brief File for CSS style sheet Md (Material Design) - */ - -//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled because need to load personalized language -//if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); // Not disabled to increase speed. Language code is found on url. -if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); -//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); // Not disabled because need to do translations -if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK',1); -if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL',1); -if (! defined('NOLOGIN')) define('NOLOGIN',1); // File must be accessed by logon page so without login -if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU',1); -if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML',1); -if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); - -session_cache_limiter(FALSE); - -require_once '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; - -// Load user to have $user->conf loaded (not done into main because of NOLOGIN constant defined) -if (empty($user->id) && ! empty($_SESSION['dol_login'])) $user->fetch('',$_SESSION['dol_login']); - - -// Define css type -header('Content-type: text/css'); -// Important: Following code is to avoid page request by browser and PHP CPU at each Dolibarr page access. -if (empty($dolibarr_nocache)) header('Cache-Control: max-age=3600, public, must-revalidate'); -else header('Cache-Control: no-cache'); - -// On the fly GZIP compression for all pages (if browser support it). Must set the bit 3 of constant to 1. -if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x04)) { ob_start("ob_gzhandler"); } - -if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang')); // If language was forced on URL -if (GETPOST('theme')) $conf->theme=GETPOST('theme'); // If theme was forced on URL -$langs->load("main",0,1); -$right=($langs->trans("DIRECTION")=='rtl'?'left':'right'); -$left=($langs->trans("DIRECTION")=='rtl'?'right':'left'); - -$path=''; // This value may be used in future for external module to overwrite theme -$theme='eldy'; // Value of theme -if (! empty($conf->global->MAIN_OVERWRITE_THEME_RES)) { $path='/'.$conf->global->MAIN_OVERWRITE_THEME_RES; $theme=$conf->global->MAIN_OVERWRITE_THEME_RES; } - -// Define image path files and other constants -$fontlist='Open Sans,sans-serif'; //$fontlist='Verdana,Helvetica,Arial,sans-serif'; -$img_head=''; -$img_button=dol_buildpath($path.'/theme/'.$theme.'/img/button_bg.png',1); -$dol_hide_topmenu=$conf->dol_hide_topmenu; -$dol_hide_leftmenu=$conf->dol_hide_leftmenu; -$dol_optimize_smallscreen=$conf->dol_optimize_smallscreen; -$dol_no_mouse_hover=$conf->dol_no_mouse_hover; -$dol_use_jmobile=$conf->dol_use_jmobile; - - -// Define reference colors -// Example: Light grey: $colred=235;$colgreen=235;$colblue=235; -// Example: Pink: $colred=230;$colgreen=210;$colblue=230; -// Example: Green: $colred=210;$colgreen=230;$colblue=210; -// Example: Ocean: $colred=220;$colgreen=220;$colblue=240; -//$conf->global->THEME_ELDY_ENABLE_PERSONALIZED=0; -//$user->conf->THEME_ELDY_ENABLE_PERSONALIZED=0; -//var_dump($user->conf->THEME_ELDY_RGB); -$colred =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_RGB)?235:hexdec(substr($conf->global->THEME_ELDY_RGB,0,2))):(empty($user->conf->THEME_ELDY_RGB)?235:hexdec(substr($user->conf->THEME_ELDY_RGB,0,2))); -$colgreen=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_RGB)?235:hexdec(substr($conf->global->THEME_ELDY_RGB,2,2))):(empty($user->conf->THEME_ELDY_RGB)?235:hexdec(substr($user->conf->THEME_ELDY_RGB,2,2))); -$colblue =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_RGB)?235:hexdec(substr($conf->global->THEME_ELDY_RGB,4,2))):(empty($user->conf->THEME_ELDY_RGB)?235:hexdec(substr($user->conf->THEME_ELDY_RGB,4,2))); - -// Colors -$isred=max(0,(2*$colred-$colgreen-$colblue)/2); // 0 - 255 -$isgreen=max(0,(2*$colgreen-$colred-$colblue)/2); // 0 - 255 -$isblue=max(0,(2*$colblue-$colred-$colgreen)/2); // 0 - 255 -$colorbackhmenu1=($colred-3).','.($colgreen-3).','.($colblue-3); // topmenu -$colorbackhmenu2=($colred+5).','.($colgreen+5).','.($colblue+5); -$colorbackvmenu1=($colred+15).','.($colgreen+16).','.($colblue+17); // vmenu -$colorbackvmenu1b=($colred+5).','.($colgreen+6).','.($colblue+7); // vmenu (not menu) -$colorbackvmenu2=($colred-15).','.($colgreen-15).','.($colblue-15); -$colorbacktitle1=($colred-5).','.($colgreen-5).','.($colblue-5); // title of array -$colorbacktitle2=($colred-15).','.($colgreen-15).','.($colblue-15); -$colorbacktabcard1='255,255,255'; // card -$colorbacktabcard2=($colred-15).','.($colgreen-15).','.($colblue-15); -$colorbacktabactive=($colred-15).','.($colgreen-15).','.($colblue-15); -$colorbacklineimpair1='255,255,255'; // line impair -$colorbacklineimpair2='255,255,255'; // line impair -$colorbacklineimpairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)); // line impair -$colorbacklinepair1=(244+round($isred/3)).','.(244+round($isgreen/3)).','.(244+round($isblue/3)); // line pair -$colorbacklinepair2=(250+round($isred/3)).','.(250+round($isgreen/3)).','.(250+round($isblue/3)); // line pair -$colorbacklinepairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)); // line pair -$colorbackbody='#f0f0f0'; -$colortext='40,40,40'; -$fontsize='13'; -$fontsizesmaller='11'; - -// Eldy colors -if (empty($conf->global->THEME_ELDY_ENABLE_PERSONALIZED)) -{ - // 90A4AE, 607D8B, 455A64, 37474F - $conf->global->THEME_ELDY_TOPMENU_BACK1=join(',',colorStringToArray('#37474F')); // topmenu #607D8B - $conf->global->THEME_ELDY_TOPMENU_BACK2='236,236,236'; - $conf->global->THEME_ELDY_VERMENU_BACK1='255,255,255'; // vmenu - $conf->global->THEME_ELDY_VERMENU_BACK1b='230,232,232'; // vmenu (not menu) - $conf->global->THEME_ELDY_VERMENU_BACK2='240,240,240'; - $conf->global->THEME_ELDY_BACKTITLE1=join(',',colorStringToArray('#607D8B')); // title of arrays - $conf->global->THEME_ELDY_BACKTITLE2='230,230,230'; - $conf->global->THEME_ELDY_BACKTABCARD2='255,255,255'; // card - $conf->global->THEME_ELDY_BACKTABCARD1='234,234,234'; - $conf->global->THEME_ELDY_BACKTABACTIVE='234,234,234'; - $conf->global->THEME_ELDY_BACKBODY='#f0f0f0;'; - $conf->global->THEME_ELDY_LINEPAIR1='242,242,242'; - $conf->global->THEME_ELDY_LINEPAIR2='248,248,248'; - $conf->global->THEME_ELDY_LINEPAIRHOVER='238,246,252'; - $conf->global->THEME_ELDY_LINEIMPAIR1='255,255,255'; - $conf->global->THEME_ELDY_LINEIMPAIR2='255,255,255'; - $conf->global->THEME_ELDY_LINEIMPAIRHOVER='238,246,252'; - $conf->global->THEME_ELDY_TEXT='50,50,130'; -} - -$colorbackhmenu1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TOPMENU_BACK1)?$colorbackhmenu1:$conf->global->THEME_ELDY_TOPMENU_BACK1) :(empty($user->conf->THEME_ELDY_TOPMENU_BACK1)?$colorbackhmenu1:$user->conf->THEME_ELDY_TOPMENU_BACK1); -$colorbackhmenu2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TOPMENU_BACK2)?$colorbackhmenu2:$conf->global->THEME_ELDY_TOPMENU_BACK2) :(empty($user->conf->THEME_ELDY_TOPMENU_BACK2)?$colorbackhmenu2:$user->conf->THEME_ELDY_TOPMENU_BACK2); -$colorbackvmenu1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_VERMENU_BACK1)?$colorbackvmenu1:$conf->global->THEME_ELDY_VERMENU_BACK1) :(empty($user->conf->THEME_ELDY_VERMENU_BACK1)?$colorbackvmenu1:$user->conf->THEME_ELDY_VERMENU_BACK1); -$colorbackvmenu1b =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_VERMENU_BACK1b)?$colorbackvmenu1:$conf->global->THEME_ELDY_VERMENU_BACK1b) :(empty($user->conf->THEME_ELDY_VERMENU_BACK1b)?$colorbackvmenu1b:$user->conf->THEME_ELDY_VERMENU_BACK1b); -$colorbackvmenu2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_VERMENU_BACK2)?$colorbackvmenu2:$conf->global->THEME_ELDY_VERMENU_BACK2) :(empty($user->conf->THEME_ELDY_VERMENU_BACK2)?$colorbackvmenu2:$user->conf->THEME_ELDY_VERMENU_BACK2); -$colorbacktitle1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTITLE1) ?$colorbacktitle1:$conf->global->THEME_ELDY_BACKTITLE1) :(empty($user->conf->THEME_ELDY_BACKTITLE1)?$colorbacktitle1:$user->conf->THEME_ELDY_BACKTITLE1); -$colorbacktitle2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTITLE2) ?$colorbacktitle2:$conf->global->THEME_ELDY_BACKTITLE2) :(empty($user->conf->THEME_ELDY_BACKTITLE2)?$colorbacktitle2:$user->conf->THEME_ELDY_BACKTITLE2); -$colorbacktabcard1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTABCARD1) ?$colorbacktabcard1:$conf->global->THEME_ELDY_BACKTABCARD1) :(empty($user->conf->THEME_ELDY_BACKTABCARD1)?$colorbacktabcard1:$user->conf->THEME_ELDY_BACKTABCARD1); -$colorbacktabcard2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTABCARD2) ?$colorbacktabcard2:$conf->global->THEME_ELDY_BACKTABCARD2) :(empty($user->conf->THEME_ELDY_BACKTABCARD2)?$colorbacktabcard2:$user->conf->THEME_ELDY_BACKTABCARD2); -$colorbacktabactive =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTABACTIVE)?$colorbacktabactive:$conf->global->THEME_ELDY_BACKTABACTIVE):(empty($user->conf->THEME_ELDY_BACKTABACTIVE)?$colorbacktabactive:$user->conf->THEME_ELDY_BACKTABACTIVE); -$colorbacklineimpair1=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEIMPAIR1) ?$colorbacklineimpair1:$conf->global->THEME_ELDY_LINEIMPAIR1):(empty($user->conf->THEME_ELDY_LINEIMPAIR1)?$colorbacklineimpair1:$user->conf->THEME_ELDY_LINEIMPAIR1); -$colorbacklineimpair2=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEIMPAIR2) ?$colorbacklineimpair2:$conf->global->THEME_ELDY_LINEIMPAIR2):(empty($user->conf->THEME_ELDY_LINEIMPAIR2)?$colorbacklineimpair2:$user->conf->THEME_ELDY_LINEIMPAIR2); -$colorbacklineimpairhover=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEIMPAIRHOVER) ?$colorbacklineimpairhover:$conf->global->THEME_ELDY_LINEIMPAIRHOVER):(empty($user->conf->THEME_ELDY_LINEIMPAIRHOVER)?$colorbacklineimpairhover:$user->conf->THEME_ELDY_LINEIMPAIRHOVER); -$colorbacklinepair1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIR1) ?$colorbacklinepair1:$conf->global->THEME_ELDY_LINEPAIR1) :(empty($user->conf->THEME_ELDY_LINEPAIR1)?$colorbacklinepair1:$user->conf->THEME_ELDY_LINEPAIR1); -$colorbacklinepair2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIR2) ?$colorbacklinepair2:$conf->global->THEME_ELDY_LINEPAIR2) :(empty($user->conf->THEME_ELDY_LINEPAIR2)?$colorbacklinepair2:$user->conf->THEME_ELDY_LINEPAIR2); -$colorbacklinepairhover =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIRHOVER) ?$colorbacklinepairhover:$conf->global->THEME_ELDY_LINEPAIRHOVER) :(empty($user->conf->THEME_ELDY_LINEPAIRHOVER)?$colorbacklinepairhover:$user->conf->THEME_ELDY_LINEPAIRHOVER); -$colorbackbody =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKBODY) ?$colorbackbody:$conf->global->THEME_ELDY_BACKBODY) :(empty($user->conf->THEME_ELDY_BACKBODY)?$colorbackbody:$user->conf->THEME_ELDY_BACKBODY); -$colortext =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TEXT) ?$colortext:$conf->global->THEME_ELDY_TEXT) :(empty($user->conf->THEME_ELDY_TEXT)?$colortext:$user->conf->THEME_ELDY_TEXT); -$fontsize =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_FONT_SIZE1) ?$fontsize:$conf->global->THEME_ELDY_FONT_SIZE1) :(empty($user->conf->THEME_ELDY_FONT_SIZE1)?$fontsize:$user->conf->THEME_ELDY_FONT_SIZE1); -$fontsizesmaller =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_FONT_SIZE2) ?$fontsize:$conf->global->THEME_ELDY_FONT_SIZE2) :(empty($user->conf->THEME_ELDY_FONT_SIZE2)?$fontsize:$user->conf->THEME_ELDY_FONT_SIZE2); -// No hover by default, we keep only if we set var THEME_ELDY_USE_HOVER -if ((! empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) && empty($user->conf->THEME_ELDY_USE_HOVER)) - || (empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) && empty($conf->global->THEME_ELDY_USE_HOVER))) -{ - $colorbacklineimpairhover=''; - $colorbacklinepairhover=''; -} - -// Format color value to match expected format (may be 'FFFFFF' or '255,255,255') -$colorbacktabcard1=join(',',colorStringToArray($colorbacktabcard1)); -$colorbacktabcard2=join(',',colorStringToArray($colorbacktabcard2)); - -// Format color value to match expected format (may be 'FFFFFF' or '255,255,255') -$colorbacktabcard1=join(',',colorStringToArray($colorbacktabcard1)); -$colorbacktabcard2=join(',',colorStringToArray($colorbacktabcard2)); - -// Set text color to black or white -$tmppart=explode(',',$colorbackhmenu1); -$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : ''); -if ($tmpval <= 360) $colortextbackhmenu='FFF'; -else $colortextbackhmenu='111'; -$tmppart=explode(',',$colorbackvmenu1); -$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : ''); -if ($tmpval <= 360) { $colortextbackvmenu='FFF'; } -else { $colortextbackvmenu='111'; } -$tmppart=explode(',',$colorbacktitle1); -$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : ''); -if ($tmpval <= 360) { $colortexttitle='FFF'; $colorshadowtitle='888'; } -else { $colortexttitle='111'; $colorshadowtitle='FFF'; } -$tmppart=explode(',',$colorbacktabcard1); -$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : ''); -if ($tmpval <= 340) { $colortextbacktab='FFF'; } -else { $colortextbacktab='111'; } - - -print '/*'."\n"; -print 'colred='.$colred.' colgreen='.$colgreen.' colblue='.$colblue."\n"; -print 'isred='.$isred.' isgreen='.$isgreen.' isblue='.$isblue."\n"; -print 'colorbacklineimpair1='.$colorbacklineimpair1."\n"; -print 'colorbacklineimpair2='.$colorbacklineimpair2."\n"; -print 'colorbacklineimpairhover='.$colorbacklineimpairhover."\n"; -print 'colorbacklinepair1='.$colorbacklinepair1."\n"; -print 'colorbacklinepair2='.$colorbacklinepair2."\n"; -print 'colorbacklinepairhover='.$colorbacklinepairhover."\n"; -print 'dol_hide_topmenu='.$dol_hide_topmenu."\n"; -print 'dol_hide_leftmenu='.$dol_hide_leftmenu."\n"; -print 'dol_optimize_smallscreen='.$dol_optimize_smallscreen."\n"; -print 'dol_no_mouse_hover='.$dol_no_mouse_hover."\n"; -print 'dol_use_jmobile='.$dol_use_jmobile."\n"; -print 'dol_screenwidth='.$_SESSION['dol_screenwidth']."\n"; -print 'dol_screenheight='.$_SESSION['dol_screenheight']."\n"; -print '*/'."\n"; - -if (! empty($conf->dol_optimize_smallscreen)) $fontsize=11; -?> - -/* ============================================================================== */ -/* Default styles */ -/* ============================================================================== */ - - -body { - - background-color: #FFFFFF; - - background: ; - - color: #101010; - font-size: px; - font-family: ; - margin-top: 0; - margin-bottom: 0; - margin-right: 0; - margin-left: 0; - trans("DIRECTION").";\n"; ?> -} - -a:link, a:visited, a:hover, a:active { font-family: ; font-weight: bold; color: #4A4A4A; text-decoration: none; } - -a:hover { text-decoration: underline; color: #000000;} - - - -input:focus, textarea:focus, button:focus, select:focus { - box-shadow: 0 0 4px #8091BF; -} -textarea.cke_source:focus -{ - box-shadow: none; -} - -input, input.flat, textarea, textarea.flat, form.flat select select, select.flat, .dataTables_length label select { - font-size: px; - font-family: ; - background: #FDFDFD; - border: 1px solid #C0C0C0; - margin: 0px 0px 0px 0px; -} - -input, textarea, select { - border-radius:2px; - border:solid 1px rgba(0,0,0,.3); - border-top:solid 1px rgba(0,0,0,.3); - border-bottom:solid 1px rgba(0,0,0,.2); - /* box-shadow: 1px 1px 1px rgba(0,0,0,.2) inset;*/ - padding:4px; - margin-left:1px; - margin-bottom:1px; - margin-top:1px; - } - - -select.flat, form.flat select { - font-weight: normal; -} -input:disabled { - background:#f4f4f4; -} - -input.liste_titre { - box-shadow: none !important; -} -input.removedfile { - padding: 0px !important; - border: 0px !important; -} -textarea:disabled { - background:#f4f4f4; -} -input[type=checkbox] { background-color: transparent; border: none; box-shadow: none; } -input[type=radio] { background-color: transparent; border: none; box-shadow: none; } -input[type=image] { background-color: transparent; border: none; box-shadow: none; } -input[type=text] { min-width: 20px; } -input:-webkit-autofill { - background-color: !important; - background-image:none !important; - -webkit-box-shadow: 0 0 0 50px inset; -} -::-webkit-input-placeholder { color:#ccc; } -::-moz-placeholder { color:#ccc; } /* firefox 19+ */ -:-ms-input-placeholder { color:#ccc; } /* ie */ -input:-moz-placeholder { color:#ccc; } - - -legend { margin-bottom: 8px; } - -fieldset { border: 1px solid #AAAAAA !important; box-shadow: 2px 2px 3px #f4f4f4; } - - -.button, sbmtConnexion { - font-family: ; - border-color: #c5c5c5; - border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25); - display: inline-block; - padding: 4px 14px; - margin-bottom: 0; - margin-top: 0; - text-align: center; - cursor: pointer; - color: #333333; - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); - background-color: #f5f5f5; - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); - background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); - background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); - border-color: #e6e6e6 #e6e6e6 #bfbfbf; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - border: 1px solid #bbbbbb; - border-bottom-color: #a2a2a2; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -} -.button:focus { - -moz-box-shadow: 0px 0px 6px 1px rgba(0, 0, 60, 0.2), 0px 0px 0px rgba(60,60,60,0.1); - -webkit-box-shadow: 0px 0px 6px 1px rgba(0, 0, 60, 0.2), 0px 0px 0px rgba(60,60,60,0.1); - box-shadow: 0px 0px 6px 1px rgba(0, 0, 60, 0.2), 0px 0px 0px rgba(60,60,60,0.1); -} -.button:hover { - -moz-box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.2), 0px 0px 0px rgba(60,60,60,0.1); - -webkit-box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.2), 0px 0px 0px rgba(60,60,60,0.1); - box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.2), 0px 0px 0px rgba(60,60,60,0.1); -} -.button:disabled { - opacity: 0.4; - filter: alpha(opacity=40); /* For IE8 and earlier */ - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; - cursor: auto; -} -.buttonRefused { - pointer-events: none; - cursor: default; - opacity: 0.4; - filter: alpha(opacity=40); /* For IE8 and earlier */ - box-shadow: none; - -webkit-box-shadow: none; - -moz-box-shadow: none; -} -form { - padding:0px; - margin:0px; -} -div.float -{ - float:; -} -div.floatright -{ - float:; -} -.inline-block -{ - display:inline-block; -} - -th .button { - -moz-box-shadow: none !important; - -webkit-box-shadow: none !important; - box-shadow: none !important; - -moz-border-radius:0px !important; - -webkit-border-radius:0px !important; - border-radius:0px !important; -} - -.valignmiddle { - vertical-align: middle; -} -.centpercent { - width: 100%; -} -textarea.centpercent { - width: 96%; -} -.center { - text-align: center; -} -.left { - text-align: ; -} -.right { - text-align: ; -} -.nowrap { - white-space: ; -} -.nobold { - font-weight: normal !important; -} -.nounderline { - text-decoration: none; -} -.cursorpointer { - cursor: pointer; -} -.badge { - display: inline-block; - min-width: 10px; - padding: 2px 5px; - font-size: 10px; - font-weight: 700; - line-height: 0.9em; - color: #fff; - text-align: center; - white-space: nowrap; - vertical-align: baseline; - background-color: #777; - border-radius: 10px; -} -.movable { - cursor: move; -} - -.borderrightlight -{ - border-right: 1px solid #f4f4f4; -} -#formuserfile { - margin-top: 4px; -} -#formuserfile_link { - margin-left: 1px; -} - - -/* ============================================================================== */ -/* Styles to hide objects */ -/* ============================================================================== */ - -.hideobject { display: none; } -.minwidth100 { min-width: 100px; } -.minwidth200 { min-width: 200px; } -.minwidth300 { min-width: 300px; } -.maxwidth100 { max-width: 100px; } -.maxwidth200 { max-width: 200px; } -.maxwidth300 { max-width: 300px; } - -.hideonsmartphone { display: none; } -.noenlargeonsmartphone { width : 50px !important; display: inline !important; } -.maxwidthonsmartphone { max-width: 100px; } -.maxwidth100onsmartphone { max-width: 100px; } -.maxwidth200onsmartphone { max-width: 200px; } -.maxwidth300onsmartphone { max-width: 300px; } - -.linkobject { cursor: pointer; } - -.hideonprint { display: none; } - - - -/* ============================================================================== */ -/* Styles for dragging lines */ -/* ============================================================================== */ - -.dragClass { - color: #002255; -} -td.showDragHandle { - cursor: move; -} -.tdlineupdown { - white-space: nowrap; - min-width: 10px; -} - - -/* ============================================================================== */ -/* Styles de positionnement des zones */ -/* ============================================================================== */ - -#id-container { - margin-top: 0px; - margin-bottom: 0px; - display: table; - table-layout: fixed; -} -#id-right, #id-left { - display: table-cell; - float: none; - vertical-align: top; -} -#id-top { -/* min-width: 100%; - position: relative; - heigth: 52px; - background: #f00;*/ -} -#id-left { - min-height: 100%; - position: relative; - width: 183px; -} -#id-right { /* This must stay id-right and not be replaced with echo $right */ - width: 100%; - padding-left: 184px; - padding-top: 12px; -} - -.side-nav { - background: #FFF; - border-right: 1px solid rgba(0,0,0,0.14); - bottom: 0; - color: #333; - display: block; - font-family: "RobotoDraft","Roboto",sans-serif; - left: 0; - position: fixed; - top: 50px; - z-index: 4; - -webkit-transform: translateZ(0); - -moz-transform: translateZ(0); - -ms-transform: translateZ(0); - -o-transform: translateZ(0); - transform: translateZ(0); - -webkit-transform-style: preserve-3d; - -moz-transform-style: preserve-3d; - -ms-transform-style: preserve-3d; - -o-transform-style: preserve-3d; - transform-style: preserve-3d; - -webkit-transition-delay: 0.1s; - -moz-transition-delay: 0.1s; - transition-delay: 0.1s; - -webkit-transition-duration: 0.2s; - -moz-transition-duration: 0.2s; - transition-duration: 0.2s; - -webkit-transition-property: -webkit-transform; - -moz-transition-property: -moz-transform; - transition-property: transform; - -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - -moz-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); - -webkit-overflow-scrolling: touch; - overflow-x: hidden; - overflow-y: auto; -} -.side-nav-vert { - margin-left: 184px; -} - - -div.fiche { - margin-: global->MAIN_MENU_USE_JQUERY_LAYOUT))?($dol_hide_leftmenu?'4':'12'):'24')); ?>px; - margin-: dol_optimize_smallscreen)?'12':'4')); ?>px; - dol_hide_leftmenu) && ! empty($conf->dol_hide_topmenu)) print 'margin-top: 4px;'; ?> -} - -div.fichecenter { - width: 100%; - clear: both; /* This is to have div fichecenter that are true rectangles */ -} -div.fichethirdleft { - browser->layout != 'phone') { print "float: ".$left.";\n"; } ?> - browser->layout != 'phone') { print "width: 35%;\n"; } ?> - browser->layout == 'phone') { print "padding-bottom: 6px;\n"; } ?> -} -div.fichetwothirdright { - browser->layout != 'phone') { print "float: ".$right.";\n"; } ?> - browser->layout != 'phone') { print "width: 65%;\n"; } ?> - browser->layout == 'phone') { print "padding-bottom: 6px\n"; } ?> -} -div.fichehalfleft { - browser->layout != 'phone') { print "float: ".$left.";\n"; } ?> - browser->layout != 'phone') { print "width: 50%;\n"; } ?> -} -div.fichehalfright { - browser->layout != 'phone') { print "float: ".$right.";\n"; } ?> - browser->layout != 'phone') { print "width: 50%;\n"; } ?> -} -div.ficheaddleft { - browser->layout != 'phone') { print "padding-".$left.": 16px;\n"; } - else print "margin-top: 10px;\n"; ?> -} -.containercenter { -display : table; -margin : 0px auto; -} - -#pictotitle { - margin-right: 8px; - margin-bottom: 4px; -} -.pictosubstatus { - padding-left: 2px; - padding-right: 2px; -} - - -/* ============================================================================== */ -/* Menu top et 1ere ligne tableau */ -/* ============================================================================== */ - - - -div#tmenu_tooltip { - - display:none; - - /* padding-: 100px; */ - background: ; - /*box-shadow: 0 0 6px rgba(0, 0, 0, .4) !important;*/ - background-image: linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(128,128,128,.3) 100%); - background-image: -o-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(128,128,128,.3) 100%); - background-image: -moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(128,128,128,.3) 100%); - background-image: -webkit-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(128,128,128,.3) 100%); - background-image: -ms-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(128,128,128,.3) 100%); - background-image: -webkit-gradient( linear, left top, left bottom, color-stop(0, rgba(255,255,255,.3)), color-stop(1, rgba(128,128,128,.3)) ); - -} - -div.tmenudiv { - - display:none; - - position: relative; - display: block; - white-space: nowrap; - border-top: 0px; - border-: 0px; - border-: 0px; - padding: 0px 0px 0px 0px; /* t r b l */ - margin: 0px 0px 0px 0px; /* t r b l */ - font-size: 13px; - font-weight: normal; - color: #000000; - text-decoration: none; - -} -div.tmenudisabled, a.tmenudisabled { - opacity: 0.6; -} -a.tmenudisabled:link, a.tmenudisabled:visited, a.tmenudisabled:hover, a.tmenudisabled:active { - font-weight: normal; - padding: 0px 5px 0px 5px; - white-space: nowrap; - color: #; - text-decoration: none; - cursor: not-allowed; -} - -a.tmenu:link, a.tmenu:visited, a.tmenu:hover, a.tmenu:active { - font-weight: normal; - padding: 0px 5px 0px 5px; - white-space: nowrap; - /* text-shadow: 1px 1px 1px #000000; */ - color: #; - text-decoration: none; -} -a.tmenusel:link, a.tmenusel:visited, a.tmenusel:hover, a.tmenusel:active { - font-weight: normal; - padding: 0px 5px 0px 5px; - margin: 0px 0px 0px 0px; - white-space: nowrap; - color: #; - text-decoration: none !important; -} - - -ul.tmenu { /* t r b l */ - padding: 0px 0px 0px 0px; - margin: 0px 0px 0px 0px; - list-style: none; - /* box-shadow: 0 0 6px rgba(0, 0, 0, .4) !important; */ -} -ul.tmenu li { - background: rgb(); - - background-image: linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image: -o-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image: -moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image: -webkit-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image: -ms-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); - background-image: -webkit-gradient( linear, left top, left bottom, color-stop(0, rgba(255,255,255,.3)), color-stop(1, rgba(0,0,0,.3)) ); -} -li.tmenu, li.tmenusel { - - text-align: center; - vertical-align: bottom; - global->MAIN_MENU_INVERT)) { ?> - float: ; - height: px; - - position:relative; - display: block; - padding: 0px 0px 2px 0px; - margin: 0px 0px 0px 0px; - font-weight: normal; -} -li.tmenusel, li.tmenu:hover { - background-image: -o-linear-gradient(bottom, rgba(250,250,250,0.3) 0%, rgba(0,0,0,0.3) 100%) !important; - background-image: -moz-linear-gradient(bottom, rgba(250,250,250,0.3) 0%, rgba(0,0,0,0.3) 100%) !important; - background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0) 100%) !important; - background-image: -ms-linear-gradient(bottom, rgba(250,250,250,0.3) 0%, rgba(0,0,0,0.3) 100%) !important; - background-image: linear-gradient(bottom, rgba(250,250,250,0.3) 0%, rgba(0,0,0,0.3) 100%) !important; - background: rgb(); - /* background: url() 50% 0 repeat-x !important; Nicer but problem when menu wrap on 2 lines */ -} -.tmenuend .tmenuleft { width: 0px; } -div.tmenuleft -{ - float: ; - margin-top: 0px; - dol_optimize_smallscreen)) { ?> - width: 5px; - height: px; - /* background: url() 0 -6px no-repeat; */ - -} -div.tmenucenter -{ - padding-top: 2px; - padding-left: 0px; - padding-right: 0px; - height: px; - width: 100%; -} -.mainmenuaspan -{ - padding-right: 4px; -} - -div.mainmenu { - position : relative; - background-repeat:no-repeat; - background-position:center top; - height: px; - margin-left: 0px; - min-width: 40px; -} - -/* Do not load menu img if hidden to save bandwidth */ - - -div.mainmenu.home{ - background-image: url(); - background-position-x: middle; -} - -div.mainmenu.accountancy { - background-image: url(); -} - -div.mainmenu.agenda { - background-image: url(); -} - -div.mainmenu.bank { - background-image: url(); -} - -div.mainmenu.cashdesk { - background-image: url(); -} - -div.mainmenu.companies { - background-image: url(); -} - -div.mainmenu.commercial { - background-image: url(); -} - -div.mainmenu.ecm { - background-image: url(); -} - -div.mainmenu.externalsite { - background-image: url(); -} - -div.mainmenu.ftp { - background-image: url(); -} - -div.mainmenu.hrm { - background-image: url(); -} - -div.mainmenu.members { - background-image: url(); -} - -div.mainmenu.products { - background-image: url(); - margin-left: 10px; -} - -div.mainmenu.project { - background-image: url(); -} - -div.mainmenu.tools { - background-image: url(); -} - -'name of class for div') - -$moduletomainmenu=array('user'=>'','syslog'=>'','societe'=>'companies','projet'=>'project','propale'=>'commercial','commande'=>'commercial', - 'produit'=>'products','service'=>'products','stock'=>'products', - 'don'=>'accountancy','tax'=>'accountancy','banque'=>'accountancy','facture'=>'accountancy','compta'=>'accountancy','accounting'=>'accountancy','adherent'=>'members','import'=>'tools','export'=>'tools','mailing'=>'tools', - 'contrat'=>'commercial','ficheinter'=>'commercial','deplacement'=>'commercial', - 'fournisseur'=>'companies', - 'barcode'=>'','fckeditor'=>'','categorie'=>'', -); -$mainmenuused='home'; -foreach($conf->modules as $val) -{ - $mainmenuused.=','.(isset($moduletomainmenu[$val])?$moduletomainmenu[$val]:$val); -} -//var_dump($mainmenuused); -$mainmenuusedarray=array_unique(explode(',',$mainmenuused)); - -$generic=1; -$divalreadydefined=array('home','companies','products','commercial','accountancy','project','tools','members','agenda','holiday','bookmark','cashdesk','ecm','geoipmaxmind','gravatar','clicktodial','paypal','webservices'); -foreach($mainmenuusedarray as $val) -{ - if (empty($val) || in_array($val,$divalreadydefined)) continue; - //print "XXX".$val; - - // Search img file in module dir - $found=0; $url=''; - foreach($conf->file->dol_document_root as $dirroot) - { - if (file_exists($dirroot."/".$val."/img/".$val.".png")) - { - $url=dol_buildpath('/'.$val.'/img/'.$val.'.png', 1); - $found=1; - break; - } - } - // Img file not found - if (! $found) - { - $url=dol_buildpath($path.'/theme/'.$theme.'/img/menus/generic'.$generic.".png",1); - $found=1; - if ($generic < 4) $generic++; - print "/* A mainmenu entry but img file ".$val.".png not found (check /".$val."/img/".$val.".png), so we use a generic one */\n"; - } - if ($found) - { - print "div.mainmenu.".$val." {\n"; - print " background-image: url(".$url.");\n"; - print "}\n"; - } -} -// End of part to add more div class css -?> - - - -.tmenuimage { - padding:0 0 0 0 !important; - margin:0 0px 0 0 !important; -} - - - -/* Login */ - -.bodylogin -{ - background: #f0f0f0; -} -.login_vertical_align { - padding: 10px; -} -form#login { - margin-top: px; - margin-bottom: 30px; - font-size: 13px; - vertical-align: middle; -} -.login_table_title { - max-width: 530px; - color: #888888; - text-shadow: 1px 1px 1px #FFF; -} -.login_table label { - text-shadow: 1px 1px 1px #FFF; -} -.login_table { - margin-left: 10px; - margin-right: 10px; - padding-left:6px; - padding-right:6px; - padding-top:16px; - padding-bottom:12px; - max-width: 560px; - - background-color: #FFFFFF; - - -moz-box-shadow: 0 4px 23px 5px rgba(0, 0, 0, 0.2), 0 2px 6px rgba(60,60,60,0.15); - -webkit-box-shadow: 0 4px 23px 5px rgba(0, 0, 0, 0.2), 0 2px 6px rgba(60,60,60,0.15); - box-shadow: 0 4px 23px 5px rgba(0, 0, 0, 0.2), 0 2px 6px rgba(60,60,60,0.15); - /*-moz-box-shadow: 3px 2px 20px #CCC; - -webkit-box-shadow: 3px 2px 20px #CCC; - box-shadow: 3px 2px 20px #CCC;*/ - - border-radius: 4px; - border:solid 1px rgba(80,80,80,.4); - - border-top:solid 1px f8f8f8; - /* - background-color: #f8f8f8; - background-image: -o-linear-gradient(top, rgba(250,250,250,.6) 0%, rgba(192,192,192,.3) 100%); - background-image: -moz-linear-gradient(top, rgba(250,250,250,.6) 0%, rgba(192,192,192,.3) 100%); - background-image: -webkit-linear-gradient(top, rgba(250,250,250,.6) 0%, rgba(192,192,192,.3) 100%); - background-image: -ms-linear-gradient(top, rgba(250,250,250,.6) 0%, rgba(192,192,192,.3) 100%); - background-image: linear-gradient(top, rgba(250,250,250,.6) 0%, rgba(192,192,192,.3) 100%); - */ -} -div#login_left, div#login_right { - display: inline-block; - min-width: 245px; - padding-top: 10px; - padding-left: 16px; - padding-right: 16px; - text-align: center; - vertical-align: middle; -} -table.login_table tr td table.none tr td { - padding: 2px; -} -table.login_table_securitycode { - border-spacing: 0px; -} -table.login_table_securitycode tr td { - padding-left: 0px; - padding-right: 4px; -} -#securitycode { - min-width: 60px; -} -#img_securitycode { - border: 1px solid #f4f4f4; -} -#img_logo { - max-width: 200px; - max-height: 100px; -} - -div.login_block { - padding-top: 8px; - position: absolute; - : 5px; - left: 0; - top: 0px; - position: fixed; - font-weight: bold; - z-index: 10; - text-align: center; - vertical-align: middle; - background: #FFF; - width: 183px; - height: 42px; - - display: none; - -} -div.login_block table { - display: inline; -} -div.login { - white-space:nowrap; - font-weight: bold; - float: right; -} -div.login a { - color: #; -} -div.login a:hover { - color: #; - text-decoration:underline; -} -div.login_block_user, div.login_block_other { clear: both; } -div.login_block_other { padding-top: 3px; } -.login_block_elem { - float: right; - vertical-align: top; - padding: 0px 0px 0px 4px !important; - height: 16px; -} -.alogin, .alogin:hover { - color: #888 !important; - font-weight: normal !important; - font-size: px !important; -} -.alogin:hover { - text-decoration:underline !important; -} -img.login, img.printer, img.entity { - /* padding: 0px 0px 0px 4px; */ - /* margin: 0px 0px 0px 8px; */ - text-decoration: none; - color: white; - font-weight: bold; -} - -.span-icon-user { - background: url() no-repeat scroll 7px 7px; -} -.span-icon-password { - background-image: url(); - background-repeat: no-repeat; -} -/* -.span-icon-user input, .span-icon-password input { - margin-right: 30px; -} -*/ - -/* ============================================================================== */ -/* Menu gauche */ -/* ============================================================================== */ - -div.vmenu, td.vmenu { - margin-: 2px; - position: relative; - float: left; - padding: 0px; - padding-bottom: 0px; - padding-top: 0px; - width: 174px; -} - -.vmenu { - margin-left: 4px; - - display: none; - -} - -.menu_contenu { padding-top: 4px; padding-bottom: 3px;} -#menu_contenu_logo { padding-right: 4px; } - -a.vmenu:link, a.vmenu:visited, a.vmenu:hover, a.vmenu:active { font-size:px; font-family: ; text-align: ; font-weight: bold; } -font.vmenudisabled { font-size:px; font-family: ; text-align: ; font-weight: bold; color: #93a5aa; } -a.vmenu:link, a.vmenu:visited { color: #; } - -a.vsmenu:link, a.vsmenu:visited, a.vsmenu:hover, a.vsmenu:active, span.vsmenu { font-size:px; font-family: ; text-align: ; font-weight: normal; color: #202020; margin: 1px 1px 1px 8px; } -font.vsmenudisabled { font-size:px; font-family: ; text-align: ; font-weight: normal; color: #93a5aa; } -a.vsmenu:link, a.vsmenu:visited { color: #; } -font.vsmenudisabledmargin { margin: 1px 1px 1px 8px; } - -a.help:link, a.help:visited, a.help:hover, a.help:active { font-size:px; font-family: ; text-align: ; font-weight: normal; color: #666666; text-decoration: none; } - - -div.blockvmenupair, div.blockvmenuimpair, div.blockvmenubookmarks -{ - font-family: ; - color: #000000; - text-align: ; - text-decoration: none; - padding-left: 5px; - padding-right: 1px; - padding-top: 3px; - padding-bottom: 3px; - margin: 1px 0px 8px 0px; - - padding-bottom: 10px; - border-bottom: 1px solid #f4f4f4; -} - -div.blockvmenusearch -{ - font-family: ; - color: #000000; - text-align: ; - text-decoration: none; - padding-left: 5px; - padding-right: 1px; - padding-top: 3px; - padding-bottom: 3px; - margin: 1px 0px 8px 0px; - - padding-bottom: 10px; - border-bottom: 1px solid #f4f4f4; -} - -div.blockvmenuhelp -{ -dol_optimize_smallscreen)) { ?> - font-family: ; - color: #000000; - text-align: center; - text-decoration: none; - padding-left: 0px; - padding-right: 3px; - padding-top: 3px; - padding-bottom: 3px; - margin: 4px 0px 0px 0px; - - display: none; - -} - - -td.barre { - border-right: 1px solid #000000; - border-bottom: 1px solid #000000; - background: #b3c5cc; - font-family: ; - color: #000000; - text-align: ; - text-decoration: none; -} - -td.barre_select { - background: #b3c5cc; - color: #000000; -} - -td.photo { - background: #F4F4F4; - color: #000000; - border: 1px solid #b3c5cc; -} - -/* ============================================================================== */ -/* Panes for Main */ -/* ============================================================================== */ - -/* - * PANES and CONTENT-DIVs - */ - -#mainContent, #leftContent .ui-layout-pane { - padding: 0px; - overflow: auto; -} - -#mainContent, #leftContent .ui-layout-center { - padding: 0px; - position: relative; /* contain floated or positioned elements */ - overflow: auto; /* add scrolling to content-div */ -} - - -/* ============================================================================== */ -/* Toolbar for ECM or Filemanager */ -/* ============================================================================== */ - -.largebutton { - background-image: -o-linear-gradient(bottom, rgba(200,200,200,0.1) 0%, rgba(255,255,255,0.3) 120%) !important; - background-image: -moz-linear-gradient(bottom, rgba(200,200,200,0.1) 0%, rgba(255,255,255,0.3) 120%) !important; - background-image: -webkit-linear-gradient(bottom, rgba(200,200,200,0.1) 0%, rgba(255,255,255,0.3) 120%) !important; - background-image: -ms-linear-gradient(bottom, rgba(200,200,200,0.1) 0%, rgba(255,255,255,0.3) 120%) !important; - background-image: linear-gradient(bottom, rgba(200,200,200,0.1) 0%, rgba(255,255,255,0.3) 120%) !important; - - background: #FFF; - background-repeat: repeat-x !important; - border: 1px solid #CCC !important; - - -moz-border-radius: 2px 2px 2px 2px !important; - -webkit-border-radius: 2px 2px 2px 2px !important; - border-radius: 2px 2px 2px 2px !important; - -moz-box-shadow: 2px 2px 4px #f4f4f4; - -webkit-box-shadow: 2px 2px 4px #f4f4f4; - box-shadow: 2px 2px 4px #f4f4f4; - - padding: 0 4px 0 4px !important; - min-height: 32px; -} - - -a.toolbarbutton { - margin-top: 0px; - margin-left: 4px; - margin-right: 4px; - height: 30px; -} -img.toolbarbutton { - margin-top: 1px; - height: 30px; -} - -/* ============================================================================== */ -/* Panes for ECM or Filemanager */ -/* ============================================================================== */ - -#containerlayout .layout-with-no-border { - border: 0 !important; - border-width: 0 !important; -} - -#containerlayout .layout-padding { - padding: 2px !important; -} - -/* - * PANES and CONTENT-DIVs - */ -#containerlayout .ui-layout-pane { /* all 'panes' */ - background: #FFF; - border: 1px solid #BBB; - /* DO NOT add scrolling (or padding) to 'panes' that have a content-div, - otherwise you may get double-scrollbars - on the pane AND on the content-div - */ - padding: 0px; - overflow: auto; -} -/* (scrolling) content-div inside pane allows for fixed header(s) and/or footer(s) */ -#containerlayout .ui-layout-content { - padding: 10px; - position: relative; /* contain floated or positioned elements */ - overflow: auto; /* add scrolling to content-div */ -} - - -/* - * RESIZER-BARS - */ -.ui-layout-resizer { /* all 'resizer-bars' */ - width: dol_optimize_smallscreen)?'8':'24'); ?>px !important; -} -.ui-layout-resizer-hover { /* affects both open and closed states */ -} -/* NOTE: It looks best when 'hover' and 'dragging' are set to the same color, - otherwise color shifts while dragging when bar can't keep up with mouse */ -/*.ui-layout-resizer-open-hover ,*/ /* hover-color to 'resize' */ -.ui-layout-resizer-dragging { /* resizer beging 'dragging' */ - background: #f4f4f4; - width: dol_optimize_smallscreen)?'8':'24'); ?>px; -} -.ui-layout-resizer-dragging { /* CLONED resizer being dragged */ - border-left: 1px solid #BBB; - border-right: 1px solid #BBB; -} -/* NOTE: Add a 'dragging-limit' color to provide visual feedback when resizer hits min/max size limits */ -.ui-layout-resizer-dragging-limit { /* CLONED resizer at min or max size-limit */ - background: #E1A4A4; /* red */ -} -.ui-layout-resizer-closed { - background-color: #f4f4f4; -} -.ui-layout-resizer-closed:hover { - background-color: #EEDDDD; -} -.ui-layout-resizer-sliding { /* resizer when pane is 'slid open' */ - opacity: .10; /* show only a slight shadow */ - filter: alpha(opacity=10); -} -.ui-layout-resizer-sliding-hover { /* sliding resizer - hover */ - opacity: 1.00; /* on-hover, show the resizer-bar normally */ - filter: alpha(opacity=100); -} -/* sliding resizer - add 'outside-border' to resizer on-hover */ -/* this sample illustrates how to target specific panes and states */ -/*.ui-layout-resizer-north-sliding-hover { border-bottom-width: 1px; } -.ui-layout-resizer-south-sliding-hover { border-top-width: 1px; } -.ui-layout-resizer-west-sliding-hover { border-right-width: 1px; } -.ui-layout-resizer-east-sliding-hover { border-left-width: 1px; } -*/ - -/* - * TOGGLER-BUTTONS - */ -.ui-layout-toggler { - dol_optimize_smallscreen)) { ?> - border-top: 1px solid #AAA; /* match pane-border */ - border-right: 1px solid #AAA; /* match pane-border */ - border-bottom: 1px solid #AAA; /* match pane-border */ - background-color: #f4f4f4; - top: 5px !important; - - diplay: none; - -} -.ui-layout-toggler-open { - height: 54px !important; - width: dol_optimize_smallscreen)?'7':'22'); ?>px !important; - -moz-border-radius:0px 10px 10px 0px; - -webkit-border-radius:0px 10px 10px 0px; - border-radius:0px 10px 10px 0px; -} -.ui-layout-toggler-closed { - height: dol_optimize_smallscreen)?'54':'2'); ?>px !important; - width: dol_optimize_smallscreen)?'7':'22'); ?>px !important; - -moz-border-radius:0px 10px 10px 0px; - -webkit-border-radius:0px 10px 10px 0px; - border-radius:0px 10px 10px 0px; -} -.ui-layout-toggler .content { /* style the text we put INSIDE the togglers */ - color: #666; - font-size: 12px; - font-weight: bold; - width: 100%; - padding-bottom: 0.35ex; /* to 'vertically center' text inside text-span */ -} - -/* hide the toggler-button when the pane is 'slid open' */ -.ui-layout-resizer-sliding ui-layout-toggler { - display: none; -} - -.ui-layout-north { - height: dol_optimize_smallscreen)?'54':'21'); ?>px !important; -} - - -/* ECM */ - -#containerlayout .ecm-layout-pane { /* all 'panes' */ - background: #FFF; - border: 1px solid #BBB; - /* DO NOT add scrolling (or padding) to 'panes' that have a content-div, - otherwise you may get double-scrollbars - on the pane AND on the content-div - */ - padding: 0px; - overflow: auto; -} -/* (scrolling) content-div inside pane allows for fixed header(s) and/or footer(s) */ -#containerlayout .ecm-layout-content { - padding: 10px; - position: relative; /* contain floated or positioned elements */ - overflow: auto; /* add scrolling to content-div */ -} - -.ecm-layout-toggler { - border-top: 1px solid #AAA; /* match pane-border */ - border-right: 1px solid #AAA; /* match pane-border */ - border-bottom: 1px solid #AAA; /* match pane-border */ - background-color: #CCC; - } -.ecm-layout-toggler-open { - height: 48px !important; - width: 6px !important; - -moz-border-radius:0px 10px 10px 0px; - -webkit-border-radius:0px 10px 10px 0px; - border-radius:0px 10px 10px 0px; -} -.ecm-layout-toggler-closed { - height: 48px !important; - width: 6px !important; -} - -.ecm-layout-toggler .content { /* style the text we put INSIDE the togglers */ - color: #666; - font-size: 12px; - font-weight: bold; - width: 100%; - padding-bottom: 0.35ex; /* to 'vertically center' text inside text-span */ -} -#ecm-layout-west-resizer { - width: 6px !important; -} - -.ecm-layout-resizer { /* all 'resizer-bars' */ - border: 1px solid #BBB; - border-width: 0; - } -.ecm-layout-resizer-closed { -} - -.ecm-in-layout-center { - border-left: 1px !important; - border-right: 0px !important; - border-top: 0px !important; -} - -.ecm-in-layout-south { - border-left: 0px !important; - border-right: 0px !important; - border-bottom: 0px !important; - padding: 4px 0 4px 4px !important; -} - - - -/* ============================================================================== */ -/* Onglets */ -/* ============================================================================== */ -div.tabs { -/* margin: 0px 0px 2px 6px; - padding: 0px 6px 3px 0px; */ - text-align: ; - margin-left: 6px !important; - margin-right: 6px !important; - clear:both; - height:100%; -} -div.tabsElem { margin-top: 8px; } /* To avoid overlap of tabs when not browser */ - -div.tabBar { - color: #; - padding-top: 9px; - padding-left: px; - padding-right: px; - padding-bottom: 8px; - margin: 0px 0px 14px 0px; - -moz-border-radius:3px; - -webkit-border-radius: 3px; - border-radius: 3px; - border-right: 1px solid #BBB; - border-bottom: 1px solid #BBB; - border-left: 1px solid #BBB; - border-top: 1px solid #CCC; - width: auto; - - background: rgb(); - - - -moz-box-shadow: 3px 3px 4px #f4f4f4; - -webkit-box-shadow: 3px 3px 4px #f4f4f4; - box-shadow: 3px 3px 4px #f4f4f4; - -} - -div.tabsAction { - margin: 20px 0em 10px 0em; - padding: 0em 0em; - text-align: right; -} - - -a.tabTitle { -/* background: #657090; - color: white;*/ - color:rgba(0,0,0,.5); - margin-right:10px; - text-shadow:1px 1px 1px #ffffff; - font-family: ; - font-weight: normal; - padding: 4px 6px 2px 6px; - margin: 0px 6px; - text-decoration: none; - white-space: nowrap; -} - -a.tab:link, a.tab:visited, a.tab:hover, a.tab#active { - font-family: ; - padding: 5px 12px 5px; - margin: 0em 0.2em; - text-decoration: none; - white-space: nowrap; - - /*-moz-border-radius:3px 3px 0px 0px; - -webkit-border-radius:3px 3px 0px 0px; - border-radius:3px 3px 0px 0px; - - -moz-box-shadow: 0 -1px 4px rgba(0,0,0,.1); - -webkit-box-shadow: 0 -1px 4px rgba(0,0,0,.1); - box-shadow: 0 -1px 4px rgba(0,0,0,.1); - - border-bottom: none; - border-right: 1px solid #CCCCCC; - border-left: 1px solid #f4f4f4; - border-top: 1px solid #D8D8D8; - */ - - background-image: none !important; -} - -.tabactive, a.tab#active { - border-right: 1px solid #CCCCCC; - border-left: 1px solid #f4f4f4; - border-top: 1px solid #D8D8D8; - - -moz-border-radius:3px 3px 0px 0px; - -webkit-border-radius:3px 3px 0px 0px; - border-radius:3px 3px 0px 0px; - - -moz-box-shadow: 0 -1px 4px rgba(0,0,0,.1); - -webkit-box-shadow: 0 -1px 4px rgba(0,0,0,.1); - box-shadow: 0 -1px 4px rgba(0,0,0,.1); - - background: rgb() !important; - color: #; -} -a.tab:hover -{ - /* - background: rgba(, 0.5) url() 50% 0 repeat-x; - color: #; - */ - text-decoration: underline; -} -a.tab:link, a.tab:visited -{ - /* color: #888; */ - /* font-weight: normal !important; */ -} -a.tabimage { - color: #434956; - font-family: ; - text-decoration: none; - white-space: nowrap; -} - -td.tab { - background: #dee7ec; -} - -span.tabspan { - background: #dee7ec; - color: #434956; - font-family: ; - padding: 0px 6px; - margin: 0em 0.2em; - text-decoration: none; - white-space: nowrap; - -moz-border-radius:3px 3px 0px 0px; - -webkit-border-radius:3px 3px 0px 0px; - border-radius:3px 3px 0px 0px; - - border-: 1px solid #555555; - border-: 1px solid #D8D8D8; - border-top: 1px solid #D8D8D8; -} - -/* ============================================================================== */ -/* Boutons actions */ -/* ============================================================================== */ - -div.divButAction { margin-bottom: 1.4em; } - -.butAction, .butAction:link, .butAction:visited, .butAction:hover, .butAction:active, .butActionDelete, .butActionDelete:link, .butActionDelete:visited, .butActionDelete:hover, .butActionDelete:active { - text-decoration: none; - white-space: nowrap; - padding: 0.4em em; - margin: 0em em; - font-family: ; - - font-weight: bold; - background: white; - border: 1px solid #8CACBB; - color: #434956; - -moz-border-radius:0px 2px 0px 2px; - -webkit-border-radius:0px 2px 0px 2px; - border-radius:0px 2px 0px 2px; - -moz-box-shadow: 2px 2px 3px #f4f4f4; - -webkit-box-shadow: 2px 2px 3px #f4f4f4; - box-shadow: 2px 2px 3px #f4f4f4; -} - -.butAction:hover { - background: #dee7ec; -} - -.butActionDelete, .butActionDelete:link, .butActionDelete:visited, .butActionDelete:hover, .butActionDelete:active { - border: 1px solid #997777; -} - -.butActionDelete:hover { - background: #FFe7ec; -} - -.butActionRefused { - text-decoration: none !important; - white-space: nowrap !important; - cursor: not-allowed; - padding: 0.4em em; - margin: 0em em; - font-family: !important; - - font-weight: bold !important; - background: white !important; - border: 1px solid #AAAAAA !important; - color: #AAAAAA !important; - -moz-border-radius:0px 2px 0px 2px; - -webkit-border-radius:0px 2px 0px 2px; - border-radius:0px 2px 0px 2px; - -moz-box-shadow: 3px 3px 4px #f4f4f4; - -webkit-box-shadow: 3px 3px 4px #f4f4f4; - box-shadow: 3px 3px 4px #f4f4f4; -} - -global->MAIN_BUTTON_HIDE_UNAUTHORIZED)) { ?> -.butActionRefused { - display: none; -} - - -span.butAction, span.butActionDelete { - cursor: pointer; -} - -/* Prepare for bootstrap look -.butAction, .butActionDelete, .butActionRefused { - border-color: #c5c5c5; - border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25); - display: inline-block; - padding: 4px 14px; - margin-bottom: 0; - line-height: 20px; - text-align: center; - vertical-align: middle; - cursor: pointer; - color: #333333; - text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); - background-color: #f5f5f5; - background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); - background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); - background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); - background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); - border-color: #e6e6e6 #e6e6e6 #bfbfbf; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); - border: 1px solid #bbbbbb; - border-bottom-color: #a2a2a2; - -webkit-border-radius: 2px; - -moz-border-radius: 2px; - border-radius: 2px; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -} - -.butAction { - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #006dcc; - background-image: -moz-linear-gradient(top, #0088cc, #0044cc); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); - background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); - background-image: -o-linear-gradient(top, #0088cc, #0044cc); - background-image: linear-gradient(to bottom, #0088cc, #0044cc); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); - border-color: #0044cc #0044cc #002a80; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); -} - -.butActionDelete { - color: #ffffff; - text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); - background-color: #cc6d00; - background-image: -moz-linear-gradient(top, #cc8800, #cc4400); - background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#cc8800), to(#cc4400)); - background-image: -webkit-linear-gradient(top, #cc8800, #cc4400); - background-image: -o-linear-gradient(top, #cc8800, #cc4400); - background-image: linear-gradient(to bottom, #cc8800, #cc4400); - background-repeat: repeat-x; - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffcc8800', endColorstr='#ffcc4400', GradientType=0); - border-color: #cc4400 #cc4400 #802a00; - border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); - filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); -} -a.butAction:link, a.butAction:visited, a.butAction:hover, a.butAction:active { - color: #FFFFFF; -} -End bootstrap */ - - - -/* ============================================================================== */ -/* Tables */ -/* ============================================================================== */ - -.allwidth { - width: 100%; -} - -#undertopmenu { - background-repeat: repeat-x; - margin-top: px; -} - - -.paddingrightonly { - border-collapse: collapse; - border: 0px; - margin-left: 0px; - padding-: 0px !important; - padding-: 4px !important; -} -.nocellnopadd { - list-style-type:none; - margin: 0px !important; - padding: 0px !important; -} -tr.nocellnopadd td.nobordernopadding, tr.nocellnopadd td.nocellnopadd -{ - border: 0px; -} - -.notopnoleft { - border-collapse: collapse; - border: 0px; - padding-top: 0px; - padding-: 0px; - padding-: 16px; - padding-bottom: 4px; - margin-right: 0px 0px; -} -.notopnoleftnoright { - border-collapse: collapse; - border: 0px; - padding-top: 0px; - padding-left: 0px; - padding-right: 0px; - padding-bottom: 4px; - margin: 0px 0px 0px 0px; -} - - -table.border, table.dataTable, .table-border, .table-border-col, .table-key-border-col, .table-val-border-col, div.border { - border: 1px solid #f4f4f4; - border-collapse: collapse; - padding: 1px 2px 1px 3px; /* t r b l */ -} - -.border tbody tr, .border tbody tr td { - height: 20px; -} -div.tabBar table.border tr { - height: 20px; -} - -table.border td, div.border div div.tagtd { - padding: 2px 2px 2px 2px; - border: 1px solid #f4f4f4; - border-collapse: collapse; -} - -td.border, div.tagtable div div.border { - border-top: 1px solid #000000; - border-right: 1px solid #000000; - border-bottom: 1px solid #000000; - border-left: 1px solid #000000; -} - -.table-key-border-col { - width: 25%; - vertical-align:top; -} -.table-val-border-col { - width:auto; -} - -/* Main boxes */ - -table.noborder, table.formdoc, div.noborder { - width: 100%; - - border-collapse: separate !important; - border-spacing: 0px; - - border-width: 1px; - border-color: #CCC; - border-style: solid; - - margin: 0px 0px 2px 0px; - - -moz-box-shadow: 2px 2px 4px #CCC; - -webkit-box-shadow: 2px 2px 4px #CCC; - box-shadow: 2px 2px 4px #CCC; - - -moz-border-radius: 0.1em; - -webkit-border-radius: 0.1em; - border-radius: 0.1em; -} - -table.noborder tr, div.noborder form { - border-top-color: #FEFEFE; - - border-right-width: 1px; - border-right-color: #BBBBBB; - border-right-style: solid; - - border-left-width: 1px; - border-left-color: #BBBBBB; - border-left-style: solid; - height: 26px; -} - -table.noborder th, table.noborder td, div.noborder form, div.noborder form div { - padding: 1px 2px 1px 3px; /* t r b l */ -} - -table.nobordernopadding { - border-collapse: collapse !important; - border: 0px; -} -table.nobordernopadding tr { - border: 0px !important; - padding: 0px 0px !important; -} -table.nobordernopadding tr td { - border: 0px; - padding: 0 3px 0 0 !important; -} -table.border tr td table.nobordernopadding tr td { - padding-top: 0px; - padding-bottom: 0px; -} -td.borderright { - border: none; /* to erase value for table.nobordernopadding td */ - border-right-width: 1px !important; - border-right-color: #BBB !important; - border-right-style: solid !important; -} - -/* For lists */ - -table.liste { - width: 100%; - border-collapse: collapse; - border-top-color: #FEFEFE; - - border-right-width: 1px; - border-right-color: #CCC; - border-right-style: solid; - -/* - border-bottom-width: 1px; - border-bottom-color: #BBBBBB; - border-bottom-style: solid; -*/ - border-left-width: 1px; - border-left-color: #CCC; - border-left-style: solid; - - margin-bottom: 2px; - margin-top: 0px; - - -moz-box-shadow: 0px 3px 4px #CCC; - -webkit-box-shadow: 0px 3px 4px #CC; - box-shadow: 0px 3px 4px #CCC; -} -table.liste td { - padding-right: 2px; -} - -.tagtable, .table-border { display: table; } -.tagtr, .table-border-row { display: table-row; } -.tagtd, .table-border-col, .table-key-border-col, .table-val-border-col { display: table-cell; } - -/* Pagination */ -div.pagination { - float: right; -} -div.pagination a { - font-weight: normal; -} -div.pagination ul -{ - list-style: none; - display: inline-block; - padding-left: 0px; - padding-right: 0px; - margin: 0; -} -div.pagination li { - display: inline-block; - padding-left: 0px; - padding-right: 0px; - padding-top: 6px; - padding-bottom: 6px; -} -.pagination { - display: inline-block; - padding-left: 0; - border-radius: 4px; -} - -div.pagination li a, -div.pagination li span { - /*position: relative;*/ - /*float: left;*/ - padding: 6px 12px; - margin-left: -1px; - line-height: 1.42857143; - color: #000; - text-decoration: none; - background-color: #fff; - border: 1px solid #ddd; -} -div.pagination li:first-child a, -div.pagination li:first-child span { - margin-left: 0; - border-top-left-radius: 4px; - border-bottom-left-radius: 4px; -} -div.pagination li:last-child a, -div.pagination li:last-child span { - border-top-right-radius: 4px; - border-bottom-right-radius: 4px; -} -div.pagination li a:hover, -div.pagination li span:hover, -div.pagination li a:focus, -div.pagination li span:focus { - color: #000; - background-color: #eee; - border-color: #ddd; -} -div.pagination li .active a, -div.pagination li .active span, -div.pagination li .active a:hover, -div.pagination li .active span:hover, -div.pagination li .active a:focus, -div.pagination li .active span:focus { - z-index: 2; - color: #fff; - cursor: default; - background-color: ; - border-color: #337ab7; -} -div.pagination .disabled span, -div.pagination .disabled span:hover, -div.pagination .disabled span:focus, -div.pagination .disabled a, -div.pagination .disabled a:hover, -div.pagination .disabled a:focus { - color: #777; - cursor: not-allowed; - background-color: #fff; - border-color: #ddd; -} -div.pagination li .active { - text-decoration: underline; -} -div.pagination li.paginationafterarrows { - margin-left: 10px; -} - -/* Prepare to remove class pair - impair -.noborder > tbody > tr:nth-child(even) td { - background: linear-gradient(bottom, rgb() 85%, rgb() 100%); - background: -o-linear-gradient(bottom, rgb() 85%, rgb() 100%); - background: -moz-linear-gradient(bottom, rgb() 85%, rgb() 100%); - background: -webkit-linear-gradient(bottom, rgb() 85%, rgb() 100%); - background: -ms-linear-gradient(bottom, rgb() 85%, rgb() 100%); - font-family: ; - border: 0px; - margin-bottom: 1px; - color: #202020; - min-height: 18px; -} - -.noborder > tbody > tr:nth-child(odd) td { - background: linear-gradient(bottom, rgb() 85%, rgb() 100%); - background: -o-linear-gradient(bottom, rgb() 85%, rgb() 100%); - background: -moz-linear-gradient(bottom, rgb() 85%, rgb() 100%); - background: -webkit-linear-gradient(bottom, rgb() 85%, rgb() 100%); - background: -ms-linear-gradient(bottom, rgb() 85%, rgb() 100%); - font-family: ; - border: 0px; - margin-bottom: 1px; - color: #202020; -} -*/ - -.impair:hover, td.nohover { - 0) { ?> - background: rgb(); - - background: rgba(0, 0, 0, 0.05) !important; - -} - -.odd, .impair, .nohover .odd:hover, .nohover .impair:hover, tr.odd td.nohover, tr.impair td.nohover { - font-family: ; - border: 0px; - margin-bottom: 1px; - color: #202020; - min-height: 18px; /* seems to not be used */ - - background: #ffffff; -} - -.even, .pair, .nohover .even:hover, .nohover .pair:hover, tr.even td.nohover, tr.pair td.nohover { - font-family: ; - border: 0px; - margin-bottom: 1px; - color: #202020; - - background-color: #f9f9f9; -} -table.dataTable tr.odd { - background-color: #f9f9f9 !important; -} -table.dataTable td { - padding: 5px 2px 5px 3px !important; -} -tr.even td, tr.pair td, tr.odd td, tr.impair td, form.odd div.tagtd, form.impair div.tagtd, form.pair div.tagtd, div.impair div.tagtd, div.pair div.tagtd, div.liste_titre div.tagtd { - padding: 5px 2px 5px 3px; - border-bottom: 1px solid #f4f4f4; -} -tr.even td .nobordernopadding tr td, tr.pair td .nobordernopadding tr td, tr.impair td .nobordernopadding tr td, tr.odd td .nobordernopadding tr td { - border-bottom: 0px !important; -} -td.nobottom, td.nobottom { - border-bottom: 0px !important; -} -div.liste_titre .tagtd { - vertical-align: middle; -} -div.liste_titre { - min-height: 26px !important; /* We cant use height because it's a div and it should be higher if content is more. but min-height doe not work either for div */ -} -tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.liste_titre_sel, table.dataTable.tr -{ - height: 26px !important; -} -div.liste_titre, tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.liste_titre_sel, table.dataTable thead tr -{ - background: rgb(); - background-repeat: repeat-x; - - /* - background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - */ - font-weight: bold; - - color: #; - font-family: ; - border-bottom: 1px solid #FDFFFF; - text-align: ; -} -tr.liste_titre th, th.liste_titre, form.liste_titre div, div.liste_titre -{ - border-bottom: 1px solid #FDFFFF; -} -tr.liste_titre th, th.liste_titre, tr.liste_titre td, td.liste_titre, form.liste_titre div, div.liste_titre -{ - font-family: ; - font-weight: bold; - text-shadow: 1px 0px 1px #; - vertical-align: middle; -} -tr.liste_titre th a, th.liste_titre a, tr.liste_titre td a, td.liste_titre a, form.liste_titre div a, div.liste_titre a { - text-shadow: none !important; -} -.liste_titre td a { - text-shadow: none !important; - color: #; -} -div.liste_titre { - padding-left: 3px; -} -tr.liste_titre_sel th, th.liste_titre_sel, tr.liste_titre_sel td, td.liste_titre_sel, form.liste_titre_sel div -{ - font-family: ; - font-weight: normal; - border-bottom: 1px solid #FDFFFF; - text-decoration: underline; - text-shadow: 1px 0px 1px #; -} -input.liste_titre { - background: transparent; - border: 0px; -} - -.noborder tr.liste_total, .noborder tr.liste_total td, tr.liste_total, form.liste_total { - background: #F0F0F0; -} -.noborder tr.liste_total td, tr.liste_total td, form.liste_total div { - border-top: 1px solid #f4f4f4; - color: #332266; - font-weight: normal; - white-space: nowrap; - padding: 4px; -} - - -.tableforservicepart1 .impair, .tableforservicepart1 .pair, .tableforservicepart2 .impair, .tableforservicepart2 .pair { - //background: none; - background: #FFF; -} -.tableforservicepart1 tbody tr td, .tableforservicepart2 tbody tr td { - border-bottom: none; -} - -.margintable td { - border: 0px !important; -} - -/* Disable shadows */ -.noshadow { - -moz-box-shadow: 0px 0px 0px #f4f4f4 !important; - -webkit-box-shadow: 0px 0px 0px #f4f4f4 !important; - box-shadow: 0px 0px 0px #f4f4f4 !important; -} - -div.tabBar .noborder { - -moz-box-shadow: 0px 0px 0px #f4f4f4 !important; - -webkit-box-shadow: 0px 0px 0px #f4f4f4 !important; - box-shadow: 0px 0px 0px #f4f4f4 !important; -} - - -/* - * Boxes - */ - -.boxstats { - - margin: 3px; - padding: 3px; - /*-moz-box-shadow: 3px 3px 4px #f4f4f4; - -webkit-box-shadow: 3px 3px 4px #f4f4f4; - box-shadow: 3px 3px 4px #f4f4f4; - margin-bottom: 8px !important;*/ - border: 1px solid #AAA; - text-align: center; - border-radius: 2px; -} - -.boxtable { - -moz-box-shadow: 3px 3px 4px #f4f4f4; - -webkit-box-shadow: 3px 3px 4px #f4f4f4; - box-shadow: 3px 3px 4px #f4f4f4; - margin-bottom: 8px !important; -} - - -.box { - padding-right: 0px; - padding-left: 0px; - padding-bottom: 4px; -} - -tr.box_titre { - height: 26px !important; - background: rgb(); - background-repeat: repeat-x; - color: #; - text-shadow: 1px 0px 1px #; - font-family: , sans-serif; - font-weight: bold; - border-bottom: 1px solid #FDFFFF; - white-space: nowrap; -} - -tr.box_titre td.boxclose { - width: 30px; -} - -tr.box_impair { - background: -o-linear-gradient(bottom, rgb() 85%, rgb() 100%); - background: -moz-linear-gradient(bottom, rgb() 85%, rgb() 100%); - background: -webkit-linear-gradient(bottom, rgb() 85%, rgb() 100%); - background: -ms-linear-gradient(bottom, rgb() 85%, rgb() 100%); - background: linear-gradient(bottom, rgb() 85%, rgb() 100%); - font-family: ; -} - -tr.box_pair { - background: -o-linear-gradient(bottom, rgb() 85%, rgb() 100%); - background: -moz-linear-gradient(bottom, rgb() 85%, rgb() 100%); - background: -webkit-linear-gradient(bottom, rgb() 85%, rgb() 100%); - background: -ms-linear-gradient(bottom, rgb() 85%, rgb() 100%); - background: linear-gradient(bottom, rgb() 85%, rgb() 100%); - - font-family: ; - - background-color: #f9f9f9; -} - -tr.box_pair td, tr.box_impair td { - padding: 4px; - border-bottom: 1px solid #f4f4f4; -} - -.formboxfilter { - vertical-align: middle; - margin-bottom: 6px; -} -.formboxfilter input[type=image] -{ - top: 5px; - position: relative; -} - - - - - - -/* - * Ok, Warning, Error - */ -.ok { color: #114466; } -.warning { color: #887711; } -.error { color: #550000 !important; font-weight: bold; } - -div.ok { - color: #114466; -} - -div.warning { - color: #302020; - padding: 0.3em 0.3em 0.3em 0.3em; - margin: 0.5em 0em 0.5em 0em; - border: 1px solid #e0d0b0; - -moz-border-radius:3px; - -webkit-border-radius: 3px; - border-radius: 3px; - background: #EFDF9A; - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); -} - -div.error { - color: #550000; font-weight: bold; - padding: 0.3em 0.3em 0.3em 0.3em; - margin: 0.5em 0em 0.5em 0em; - border: 1px solid #DC9CAB; - -moz-border-radius:3px; - -webkit-border-radius: 3px; - border-radius: 3px; - background: #EFCFCF; -} - -/* Info admin */ -div.info { - color: #302010; - padding: 0.4em 0.4em 0.4em 0.4em; - margin: 0.5em 0em 0.5em 0em; - border: 1px solid #DFBF9A; - -moz-border-radius:3px; - -webkit-border-radius: 3px; - border-radius:3px; - background: #EFCFAA; - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); -} - - -/* - * Liens Payes/Non payes - */ - -a.normal:link { font-weight: normal } -a.normal:visited { font-weight: normal } -a.normal:active { font-weight: normal } -a.normal:hover { font-weight: normal } - -a.impayee:link { font-weight: bold; color: #550000; } -a.impayee:visited { font-weight: bold; color: #550000; } -a.impayee:active { font-weight: bold; color: #550000; } -a.impayee:hover { font-weight: bold; color: #550000; } - - - -/* - * Other - */ - -.product_line_stock_ok { color: #002200; } -.product_line_stock_too_low { color: #664400; } - -.fieldrequired { font-weight: bold; color: #000055; } - -.dolgraphtitle { margin-top: 6px; margin-bottom: 4px; } -.dolgraphtitlecssboxes { margin: 0px; } -.legendColorBox, .legendLabel { border: none !important; } -div.dolgraph div.legend, div.dolgraph div.legend div { background-color: rgba(255,255,255,0) !important; } -div.dolgraph div.legend table tbody tr { height: auto; } - -.photo { - border: 0px; -} -.photowithmargin { - margin-bottom: 2px; - margin-top: 2px; -} -.photointooltip { - -webkit-box-shadow: 0px 0px 5px #777; - -moz-box-shadow: 0px 0px 5px #777; - box-shadow: 0px 0px 6px #777; - margin-top: 8px; - float: left; -} - -.logo_setup -{ - content:url(); -} - -div.titre { - font-family: ; - font-weight: bold; - color: rgb(); - text-decoration: none; - text-shadow: 1px 1px 2px #FFFFFF; - dol_optimize_smallscreen)?'':'margin-top: 4px;'); ?> -} - -#dolpaymenttable { width: 600px; font-size: 13px; } -#tablepublicpayment { border: 1px solid #CCCCCC !important; width: 100%; } -#tablepublicpayment .CTableRow1 { background-color: #F0F0F0 !important; } -#tablepublicpayment tr.liste_total { border-bottom: 1px solid #CCCCCC !important; } -#tablepublicpayment tr.liste_total td { border-top: none; } - -#divsubscribe { width: 700px; } -#tablesubscribe { width: 100%; } - - -/* - * Effect Postit - */ -.effectpostit -{ - position: relative; -} -.effectpostit:before, .effectpostit:after -{ - z-index: -1; - position: absolute; - content: ""; - bottom: 15px; - left: 10px; - width: 50%; - top: 80%; - max-width:300px; - background: #777; - -webkit-box-shadow: 0 15px 10px #777; - -moz-box-shadow: 0 15px 10px #777; - box-shadow: 0 15px 10px #777; - -webkit-transform: rotate(-3deg); - -moz-transform: rotate(-3deg); - -o-transform: rotate(-3deg); - -ms-transform: rotate(-3deg); - transform: rotate(-3deg); -} -.effectpostit:after -{ - -webkit-transform: rotate(3deg); - -moz-transform: rotate(3deg); - -o-transform: rotate(3deg); - -ms-transform: rotate(3deg); - transform: rotate(3deg); - right: 10px; - left: auto; -} - - - -/* ============================================================================== */ -/* Formulaire confirmation (When Ajax JQuery is used) */ -/* ============================================================================== */ - -.ui-dialog-titlebar { -} -.ui-dialog-content { - font-size: px !important; -} - -/* ============================================================================== */ -/* Formulaire confirmation (When HTML is used) */ -/* ============================================================================== */ - -table.valid { - border-top: solid 1px #E6E6E6; - border-: solid 1px #E6E6E6; - border-: solid 1px #444444; - border-bottom: solid 1px #555555; - padding-top: 0px; - padding-left: 0px; - padding-right: 0px; - padding-bottom: 0px; - margin: 0px 0px; - background: #D5BAA8; -} - -.validtitre { - background: #D5BAA8; - font-weight: bold; -} - - -/* ============================================================================== */ -/* Tooltips */ -/* ============================================================================== */ - -#tooltip { -position: absolute; -width: px; -border-top: solid 1px #BBBBBB; -border-: solid 1px #BBBBBB; -border-: solid 1px #444444; -border-bottom: solid 1px #444444; -padding: 2px; -z-index: 3000; -background-color: #EFCFAA; -opacity: 1; --moz-border-radius:3px; --webkit-border-radius: 3px; -border-radius: 3px; -} -#tiptip_content { - background-color: rgb(252,248,246); - background-color: rgba(252,248,246,0.95); - line-height: 1.4em; -} - -/* ============================================================================== */ -/* Calendar */ -/* ============================================================================== */ - -img.datecallink { padding-left: 2px !important; padding-right: 2px !important; } - -.ui-datepicker-trigger { - vertical-align: middle; - cursor: pointer; -} - -.bodyline { - -moz-border-radius: 4px; - -webkit-border-radius: 4px; - border-radius: 4px; - border: 1px #E4ECEC outset; - padding: 0px; - margin-bottom: 5px; -} -table.dp { - width: 180px; - background-color: #FFFFFF; - border-top: solid 2px #f4f4f4; - border-: solid 2px #f4f4f4; - border-: solid 1px #222222; - border-bottom: solid 1px #222222; - padding: 0px; - border-spacing: 0px; - border-collapse: collapse; -} -.dp td, .tpHour td, .tpMinute td{padding:2px; font-size:10px;} -/* Barre titre */ -.dpHead,.tpHead,.tpHour td:Hover .tpHead{ - font-weight:bold; - background-color:#b3c5cc; - color:white; - font-size:11px; - cursor:auto; -} -/* Barre navigation */ -.dpButtons,.tpButtons { - text-align:center; - background-color:#617389; - color:#FFFFFF; - font-weight:bold; - cursor:pointer; -} -.dpButtons:Active,.tpButtons:Active{border: 1px outset black;} -.dpDayNames td,.dpExplanation {background-color:#D9DBE1; font-weight:bold; text-align:center; font-size:11px;} -.dpExplanation{ font-weight:normal; font-size:11px;} -.dpWeek td{text-align:center} - -.dpToday,.dpReg,.dpSelected{ - cursor:pointer; -} -.dpToday{font-weight:bold; color:black; background-color:#f4f4f4;} -.dpReg:Hover,.dpToday:Hover{background-color:black;color:white} - -/* Jour courant */ -.dpSelected{background-color:#0B63A2;color:white;font-weight:bold; } - -.tpHour{border-top:1px solid #f4f4f4; border-right:1px solid #f4f4f4;} -.tpHour td {border-left:1px solid #f4f4f4; border-bottom:1px solid #f4f4f4; cursor:pointer;} -.tpHour td:Hover {background-color:black;color:white;} - -.tpMinute {margin-top:5px;} -.tpMinute td:Hover {background-color:black; color:white; } -.tpMinute td {background-color:#D9DBE1; text-align:center; cursor:pointer;} - -/* Bouton X fermer */ -.dpInvisibleButtons -{ - border-style:none; - background-color:transparent; - padding:0px; - font-size:9px; - border-width:0px; - color:#0B63A2; - vertical-align:middle; - cursor: pointer; -} - - -/* ============================================================================== */ -/* Afficher/cacher */ -/* ============================================================================== */ - -div.visible { - display: block; -} - -div.hidden { - display: none; -} - -tr.visible { - display: block; -} - -td.hidden { - display: none; -} - - -/* ============================================================================== */ -/* Module agenda */ -/* ============================================================================== */ - -table.cal_month { border-spacing: 0px; } -.cal_current_month { border-top: 0; border-left: solid 1px #E0E0E0; border-right: 0; border-bottom: solid 1px #E0E0E0; } -.cal_current_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B; border-right: 0; border-bottom: solid 1px #E0E0E0; } -.cal_current_month_oneday { border-right: solid 1px #E0E0E0; } -.cal_other_month { border-top: 0; border-left: solid 1px #C0C0C0; border-right: 0; border-bottom: solid 1px #C0C0C0; } -.cal_other_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B !important; border-right: 0; } -.cal_current_month_right { border-right: solid 1px #E0E0E0; } -.cal_other_month_right { border-right: solid 1px #C0C0C0; } -.cal_other_month { opacity: 0.6; background: #EAEAEA; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_past_month { opacity: 0.6; background: #EEEEEE; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_current_month { background: #FFFFFF; border-left: solid 1px #E0E0E0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_current_month_peruserleft { background: #FFFFFF; border-left: solid 3px #6C7C7B; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_today { background: #FDFDF0; border-left: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_today_peruser { background: #FDFDF0; border-right: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_today_peruser_peruserleft { background: #FDFDF0; border-left: solid 3px #6C7C7B; border-right: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } -.cal_past { } -.cal_peruser { padding: 0px; } -.peruser_busy { background: #CC8888; } -.peruser_notbusy { background: #EEDDDD; opacity: 0.5; } -table.cal_event { border: none; border-collapse: collapse; margin-bottom: 1px; -webkit-border-radius: 3px; border-radius: 3px; - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25); - moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25); - background: -webkit-gradient(linear, left top, left bottom, from(#006aac), to(#00438d)); - min-height: 20px; - } -table.cal_event td { border: none; padding-: 2px; padding-: 2px; padding-top: 0px; padding-bottom: 0px; } -table.cal_event td.cal_event { padding: 4px 4px !important; } -table.cal_event td.cal_event_right { padding: 4px 4px !important; } -ul.cal_event { padding-right: 2px; padding-top: 1px; border: none; list-style-type: none; margin: 0 auto; padding-left: 0px; padding-start: 0px; -khtml-padding-start: 0px; -o-padding-start: 0px; -moz-padding-start: 0px; -webkit-padding-start: 0px; } -li.cal_event { border: none; list-style-type: none; } -.cal_event a:link { color: #111111; font-size: 11px; font-weight: normal !important; } -.cal_event a:visited { color: #111111; font-size: 11px; font-weight: normal !important; } -.cal_event a:active { color: #111111; font-size: 11px; font-weight: normal !important; } -.cal_event a:hover { color: #111111; font-size: 11px; font-weight: normal !important; color:rgba(255,255,255,.75); } -.cal_event_busy { } -.cal_peruserviewname { max-width: 100px; height: 22px; } - -.topmenuimage { - background-size: 28px auto; -} - -/* ============================================================================== */ -/* Ajax - Liste deroulante de l'autocompletion */ -/* ============================================================================== */ - -.ui-widget-content { border: solid 1px rgba(0,0,0,.3); background: #fff !important; } - -.ui-autocomplete-loading { background: white url() right center no-repeat; } -.ui-autocomplete { - position:absolute; - width:auto; - font-size: 1.0em; - background-color:white; - border:1px solid #888; - margin:0px; -/* padding:0px; This make combo crazy */ - } -.ui-autocomplete ul { - list-style-type:none; - margin:0px; - padding:0px; - } -.ui-autocomplete ul li.selected { background-color: #D3E5EC;} -.ui-autocomplete ul li { - list-style-type:none; - display:block; - margin:0; - padding:2px; - height:18px; - cursor:pointer; - } - -/* ============================================================================== */ -/* jQuery - jeditable */ -/* ============================================================================== */ - -.editkey_textarea, .editkey_ckeditor, .editkey_string, .editkey_email, .editkey_numeric, .editkey_select, .editkey_autocomplete { - background: url() right top no-repeat; - cursor: pointer; -} - -.editkey_datepicker { - background: url() right center no-repeat; - cursor: pointer; -} - -.editval_textarea.active:hover, .editval_ckeditor.active:hover, .editval_string.active:hover, .editval_email.active:hover, .editval_numeric.active:hover, .editval_select.active:hover, .editval_autocomplete.active:hover, .editval_datepicker.active:hover { - background: white; - cursor: pointer; -} - -.viewval_textarea.active:hover, .viewval_ckeditor.active:hover, .viewval_string.active:hover, .viewval_email.active:hover, .viewval_numeric.active:hover, .viewval_select.active:hover, .viewval_autocomplete.active:hover, .viewval_datepicker.active:hover { - background: white; - cursor: pointer; -} - -.viewval_hover { - background: white; -} - - -/* ============================================================================== */ -/* Admin Menu */ -/* ============================================================================== */ - -/* CSS for treeview */ -.treeview ul { background-color: transparent !important; margin-top: 0; } -.treeview li { background-color: transparent !important; padding: 0 0 0 16px !important; min-height: 20px; } -.treeview .hover { color: black !important; } - - - -/* ============================================================================== */ -/* Show Excel tabs */ -/* ============================================================================== */ - -.table_data -{ - border-style:ridge; - border:1px solid; -} -.tab_base -{ - background:#C5D0DD; - font-weight:bold; - border-style:ridge; - border: 1px solid; - cursor:pointer; -} -.table_sub_heading -{ - background:#CCCCCC; - font-weight:bold; - border-style:ridge; - border: 1px solid; -} -.table_body -{ - background:#F0F0F0; - font-weight:normal; - font-family:sans-serif; - border-style:ridge; - border: 1px solid; - border-spacing: 0px; - border-collapse: collapse; -} -.tab_loaded -{ - background:#222222; - color:white; - font-weight:bold; - border-style:groove; - border: 1px solid; - cursor:pointer; -} - - -/* ============================================================================== */ -/* CSS for color picker */ -/* ============================================================================== */ - -A.color, A.color:active, A.color:visited { - position : relative; - display : block; - text-decoration : none; - width : 10px; - height : 10px; - line-height : 10px; - margin : 0px; - padding : 0px; - border : 1px inset white; -} -A.color:hover { - border : 1px outset white; -} -A.none, A.none:active, A.none:visited, A.none:hover { - position : relative; - display : block; - text-decoration : none; - width : 10px; - height : 10px; - line-height : 10px; - margin : 0px; - padding : 0px; - cursor : default; - border : 1px solid #b3c5cc; -} -.tblColor { - display : none; -} -.tdColor { - padding : 1px; -} -.tblContainer { - background-color : #b3c5cc; -} -.tblGlobal { - position : absolute; - top : 0px; - left : 0px; - display : none; - background-color : #b3c5cc; - border : 2px outset; -} -.tdContainer { - padding : 5px; -} -.tdDisplay { - width : 50%; - height : 20px; - line-height : 20px; - border : 1px outset white; -} -.tdDisplayTxt { - width : 50%; - height : 24px; - line-height : 12px; - font-family : ; - font-size : 8pt; - color : black; - text-align : center; -} -.btnColor { - width : 100%; - font-family : ; - font-size : 10pt; - padding : 0px; - margin : 0px; -} -.btnPalette { - width : 100%; - font-family : ; - font-size : 8pt; - padding : 0px; - margin : 0px; -} - - -/* Style to overwrites JQuery styles */ -.ui-menu .ui-menu-item a { - text-decoration:none; - display:block; - padding:.2em .4em; - line-height:1.5; - zoom:1; - font-weight: normal; - font-family:; - font-size:1em; -} -.ui-widget { - font-family:; - font-size:px; -} -.ui-button { margin-left: -2px; browser->name)?'padding-top: 1px;':''); ?> } -.ui-button-icon-only .ui-button-text { height: 8px; } -.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: 2px 0px 6px 0px; } -.ui-button-text -{ - line-height: 1em !important; -} -.ui-autocomplete-input { margin: 0; padding: 4px; } - - -/* ============================================================================== */ -/* CKEditor */ -/* ============================================================================== */ - -.cke_editable -{ - margin: 5px !important; -} -.cke_editor table, .cke_editor tr, .cke_editor td -{ - border: 0px solid #FF0000 !important; -} -span.cke_skin_kama { padding: 0 !important; } -.cke_wrapper { padding: 4px !important; } -a.cke_dialog_ui_button -{ - font-family: !important; - background-image: url() !important; - background-position: bottom !important; - border: 1px solid #C0C0C0 !important; - -moz-border-radius:0px 2px 0px 2px !important; - -webkit-border-radius:0px 2px 0px 2px !important; - border-radius:0px 2px 0px 2px !important; - -moz-box-shadow: 3px 3px 4px #f4f4f4 !important; - -webkit-box-shadow: 3px 3px 4px #f4f4f4 !important; - box-shadow: 3px 3px 4px #f4f4f4 !important; -} -.cke_dialog_ui_hbox_last -{ - vertical-align: bottom ! important; -} -.cke_editable -{ - line-height: 1.4 !important; - margin: 6px !important; -} - - -/* ============================================================================== */ -/* File upload */ -/* ============================================================================== */ - -.template-upload { - height: 72px !important; -} - - -/* ============================================================================== */ -/* Holiday */ -/* ============================================================================== */ - -#types .btn { - cursor: pointer; -} - -#types .btn-primary { - font-weight: bold; -} - -#types form { - padding: 20px; -} - -#types label { - display:inline-block; - width:100px; - margin-right: 20px; - padding: 4px; - text-align: right; - vertical-align: top; -} - -#types input.text, #types textarea { - width: 400px; -} - -#types textarea { - height: 100px; -} - - - -/* ============================================================================== */ -/* JSGantt */ -/* ============================================================================== */ - -div.scroll2 { - width: px !important; -} - - -/* ============================================================================== */ -/* jFileTree */ -/* ============================================================================== */ - -.ecmfiletree { - width: 99%; - height: 99%; - background: #FFF; - padding-left: 2px; - font-weight: normal; -} - -.fileview { - width: 99%; - height: 99%; - background: #FFF; - padding-left: 2px; - padding-top: 4px; - font-weight: normal; -} - -div.filedirelem { - position: relative; - display: block; - text-decoration: none; -} - -ul.filedirelem { - padding: 2px; - margin: 0 5px 5px 5px; -} -ul.filedirelem li { - list-style: none; - padding: 2px; - margin: 0 10px 20px 10px; - width: 160px; - height: 120px; - text-align: center; - display: block; - float: ; - border: solid 1px #f4f4f4; -} - -ui-layout-north { - -} - -ul.ecmjqft { - font-size: 11px; - line-height: 16px; - padding: 0px; - margin: 0px; - font-weight: normal; -} - -ul.ecmjqft li { - list-style: none; - padding: 0px; - padding-left: 20px; - margin: 0px; - white-space: nowrap; - display: block; -} - -ul.ecmjqft a { - line-height: 16px; - vertical-align: middle; - color: #333; - padding: 0px 0px; - font-weight:normal; - display: inline-block !important; -/* float: left;*/ -} -ul.ecmjqft a:active { - font-weight: bold !important; -} -ul.ecmjqft a:hover { - text-decoration: underline; -} -div.ecmjqft { - vertical-align: middle; - display: inline-block !important; - text-align: right; - position:absolute; - right:4px; -} - -/* Core Styles */ -.ecmjqft LI.directory { font-weight:normal; background: url() left top no-repeat; } -.ecmjqft LI.expanded { font-weight:normal; background: url() left top no-repeat; } -.ecmjqft LI.wait { font-weight:normal; background: url() left top no-repeat; } - - -/* ============================================================================== */ -/* jNotify */ -/* ============================================================================== */ - -.jnotify-container { - position: fixed !important; -global->MAIN_JQUERY_JNOTIFY_BOTTOM)) { ?> - top: auto !important; - bottom: 4px !important; - - text-align: center; - min-width: px; - width: auto; - padding-left: 10px !important; - padding-right: 10px !important; -} - -/* use or not ? */ -div.jnotify-background { - opacity : 0.95 !important; - -moz-box-shadow: 3px 3px 4px #888 !important; - -webkit-box-shadow: 3px 3px 4px #888 !important; - box-shadow: 3px 3px 4px #888 !important; -} - -/* ============================================================================== */ -/* blockUI */ -/* ============================================================================== */ - -/*div.growlUI { background: url(check48.png) no-repeat 10px 10px }*/ -div.dolEventValid h1, div.dolEventValid h2 { - color: #567b1b; - background-color: #e3f0db; - padding: 5px 5px 5px 5px; - text-align: left; -} -div.dolEventError h1, div.dolEventError h2 { - color: #a72947; - background-color: #d79eac; - padding: 5px 5px 5px 5px; - text-align: left; -} - -/* ============================================================================== */ -/* Maps */ -/* ============================================================================== */ - -.divmap, #google-visualization-geomap-embed-0, #google-visualization-geomap-embed-1, google-visualization-geomap-embed-2 { - -moz-box-shadow: 0px 0px 10px #AAA; - -webkit-box-shadow: 0px 0px 10px #AAA; - box-shadow: 0px 0px 10px #AAA; -} - - -/* ============================================================================== */ -/* Datatable */ -/* ============================================================================== */ - -.sorting_asc { background: url('') no-repeat center right; } -.sorting_desc { background: url('') no-repeat center right; } -.sorting_asc_disabled { background: url('') no-repeat center right; } -.sorting_desc_disabled { background: url('') no-repeat center right; } -.paginate_disabled_previous:hover, .paginate_enabled_previous:hover, .paginate_disabled_next:hover, .paginate_enabled_next:hover -{ - font-weight: normal; -} -.paginate_enabled_previous:hover, .paginate_enabled_next:hover -{ - text-decoration: underline !important; -} -.paginate_button -{ - font-weight: normal !important; -} - -/* For jquery plugin combobox */ -/* Disable this. It breaks wrapping of boxes -.ui-corner-all { white-space: nowrap; } */ - -.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled, .paginate_button_disabled { - opacity: .35; - filter: Alpha(Opacity=35); - background-image: none; -} - -/* ============================================================================== */ -/* Select2 */ -/* ============================================================================== */ - -.select2-choice, -.select2-drop.select2-drop-above.select2-drop-active, -.select2-container-active .select2-choice, -.select2-container-active .select2-choices, -.select2-dropdown-open.select2-drop-above .select2-choice, -.select2-dropdown-open.select2-drop-above .select2-choices, -.select2-container-multi.select2-container-active .select2-choices -{ - border: 1px solid #aaa; -} -.select2-disabled -{ - color: #888; -} -.select2-drop-active -{ - border: 1px solid #aaa; - border-top: none; -} -a span.select2-chosen -{ - font-weight: normal !important; -} -.select2-container .select2-choice { - background-image: none; -} -.select2-choices .select2-search-choice { - border: 1px solid #aaa !important; -} -.select2-results .select2-no-results, .select2-results .select2-searching, .select2-results .select2-ajax-error, .select2-results .select2-selection-limit -{ - background: #FFFFFF; -} -.select2-container-multi.select2-container-disabled .select2-choices { - background-color: #FFFFFF; - background-image: none; - border: none; - cursor: default; -} -.select2-container-multi .select2-choices .select2-search-choice { - margin-top: 2px; - margin-bottom: 2px; -} - - -/* ============================================================================== */ -/* JMobile */ -/* ============================================================================== */ - -li.ui-li-divider .ui-link { - color: #FFF !important; -} -.ui-btn { - margin: 0.1em 2px -} -a.ui-link, a.ui-link:hover, .ui-btn:hover, span.ui-btn-text:hover, span.ui-btn-inner:hover { - text-decoration: none !important; -} - -.ui-btn-inner { - min-width: .4em; - padding-left: 10px; - padding-right: 10px; - - font-size: 13px; - - font-size: px; - - /* white-space: normal; */ /* Warning, enable this break the truncate feature */ -} -.ui-btn-icon-right .ui-btn-inner { - padding-right: 34px; -} -.ui-btn-icon-left .ui-btn-inner { - padding-left: 34px; -} -.ui-select .ui-btn-icon-right .ui-btn-inner { - padding-right: 38px; -} -.ui-select .ui-btn-icon-left .ui-btn-inner { - padding-left: 38px; -} -.fiche .ui-controlgroup { - margin: 0px; - padding-bottom: 0px; -} -div.ui-controlgroup-controls div.tabsElem -{ - margin-top: 2px; -} -div.ui-controlgroup-controls div.tabsElem a -{ - -moz-box-shadow: 0 -3px 6px rgba(0,0,0,.2); - -webkit-box-shadow: 0 -3px 6px rgba(0,0,0,.2); - box-shadow: 0 -3px 6px rgba(0,0,0,.2); -} -div.ui-controlgroup-controls div.tabsElem a#active { - -moz-box-shadow: 0 -3px 6px rgba(0,0,0,.3); - -webkit-box-shadow: 0 -3px 6px rgba(0,0,0,.3); - box-shadow: 0 -3px 6px rgba(0,0,0,.3); -} - -a.tab span.ui-btn-inner -{ - border: none; - padding: 0; -} - -.ui-link { - color: rgb(); -} -.liste_titre .ui-link { - color: # !important; -} - -a.ui-link { - word-wrap: break-word; -} - -/* force wrap possible onto field overflow does not works */ -.formdoc .ui-btn-inner -{ - white-space: normal; - overflow: hidden; - text-overflow: hidden; -} - -/* Warning: setting this may make screen not beeing refreshed after a combo selection */ -/*.ui-body-c { - background: #fff; -}*/ - -div.ui-radio, div.ui-checkbox -{ - display: inline-block; - border-bottom: 0px !important; -} -.ui-checkbox input, .ui-radio input { - height: auto; - width: auto; - margin: 4px; - position: static; -} -div.ui-checkbox label+input, div.ui-radio label+input { - position: absolute; -} -.ui-mobile fieldset -{ - padding-bottom: 10px; margin-bottom: 4px; border-bottom: 1px solid #AAAAAA !important; -} - -ul.ulmenu { - border-radius: 0; - -webkit-border-radius: 0; -} - -.ui-field-contain label.ui-input-text { - vertical-align: middle !important; -} -.ui-mobile fieldset { - border-bottom: none !important; -} - -/* Style for first level menu with jmobile */ -.ui-bar-b, .lilevel0 { - border: 1px solid #5f5f7a !important; - background: rgb(); - background-repeat: repeat-x; - - background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - background-image: linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); - font-weight: bold; - - color: # !important; -} -.alilevel0 { - color: # !important; - text-shadow: 1px 0px 1px #; -} - -.ui-body-c { - border: 1px solid #ccc; - text-shadow: none; -} -.ui-btn-up-c, .ui-btn-hover-c { - border: 1px solid #ccc; - text-shadow: none; -} -.ui-body-c .ui-link, .ui-body-c .ui-link:visited, .ui-body-c .ui-link:hover { - color: rgb(); -} -.ui-btn-up-c .vsmenudisabled { - color: # !important; - text-shadow: none !important; -} -.ui-controlgroup-horizontal .ui-btn.ui-first-child { --webkit-border-top-left-radius: 6px; -border-top-left-radius: 6px; -} -.ui-controlgroup-horizontal .ui-btn.ui-last-child { --webkit-border-top-right-radius: 6px; -border-top-right-radius: 6px; -} -.alilevel1 { - color: # !important; - text-shadow: 1px 0px 1px #; -} -.lilevel1 { - background-image: -webkit-gradient(linear,left top,left bottom,from( #f4f4f4 ),to( #d1d1d1 )) !important; - background-image: -webkit-linear-gradient( #f4f4f4,#d1d1d1 ) !important; - background-image: -moz-linear-gradient( #f4f4f4,#d1d1d1 ) !important; - background-image: -ms-linear-gradient( #f4f4f4,#d1d1d1 ) !important; - background-image: -o-linear-gradient( #f4f4f4,#d1d1d1 ) !important; - background-image: linear-gradient( #f4f4f4,#d1d1d1 ) !important; -} -.lilevel2 -{ - padding-left: 22px; -} -.lilevel3 -{ - padding-left: 54px; -} - -close(); diff --git a/htdocs/theme/md_exp/tpl/README b/htdocs/theme/md_exp/tpl/README deleted file mode 100644 index d3bc4b4679f..00000000000 --- a/htdocs/theme/md_exp/tpl/README +++ /dev/null @@ -1,3 +0,0 @@ -README (english) - -This directory is used to store custom templates. (system core and modules) \ No newline at end of file diff --git a/htdocs/theme/md_exp/tpl/index.html b/htdocs/theme/md_exp/tpl/index.html deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/htdocs/user/admin/group_extrafields.php b/htdocs/user/admin/group_extrafields.php index a4c417fe996..aeb3f194daf 100644 --- a/htdocs/user/admin/group_extrafields.php +++ b/htdocs/user/admin/group_extrafields.php @@ -66,7 +66,7 @@ llxHeader('',$langs->trans("UsersSetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("UsersSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("UsersSetup"),$linkback,'title_setup'); $head = user_admin_prepare_head(); @@ -96,7 +96,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
    "; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -109,7 +109,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
    "; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/user/admin/user_extrafields.php b/htdocs/user/admin/user_extrafields.php index 3ab04f6ef89..8ebdcca9056 100644 --- a/htdocs/user/admin/user_extrafields.php +++ b/htdocs/user/admin/user_extrafields.php @@ -65,7 +65,7 @@ llxHeader('',$langs->trans("UsersSetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("UsersSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("UsersSetup"),$linkback,'title_setup'); $head = user_admin_prepare_head(); @@ -95,7 +95,7 @@ if ($action != 'create' && $action != 'edit') if ($action == 'create') { print "
    "; - print_titre($langs->trans('NewAttribute')); + print load_fiche_titre($langs->trans('NewAttribute')); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; } @@ -108,7 +108,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { print "
    "; - print_titre($langs->trans("FieldEdition", $attrname)); + print load_fiche_titre($langs->trans("FieldEdition", $attrname)); require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; } diff --git a/htdocs/user/card.php b/htdocs/user/card.php index 79c4a123022..67692fafa66 100644 --- a/htdocs/user/card.php +++ b/htdocs/user/card.php @@ -278,7 +278,7 @@ if (($action == 'addgroup' || $action == 'removegroup') && $caneditfield) { $editgroup = new UserGroup($db); $editgroup->fetch($group); - $editgroup->oldcopy=dol_clone($editgroup); + $editgroup->oldcopy=clone $editgroup; $object->fetch($id); if ($action == 'addgroup') $object->SetInGroup($group,($conf->multicompany->transverse_mode?GETPOST("entity"):$editgroup->entity)); @@ -340,7 +340,7 @@ if ($action == 'update' && ! $_POST["cancel"]) { $db->begin(); - $object->oldcopy=dol_clone($object); + $object->oldcopy = clone $object; $object->lastname = GETPOST("lastname",'alpha'); $object->firstname = GETPOST("firstname",'alpha'); @@ -482,7 +482,7 @@ if ($action == 'update' && ! $_POST["cancel"]) { $error++; $langs->load("errors"); - setEventMessages($langs->trans("ErrorFailedToCreateDir", $dir), $mesgs, 'errors'); + setEventMessages($langs->transnoentitiesnoconv("ErrorFailedToCreateDir", $dir), $mesgs, 'errors'); } } } @@ -508,7 +508,7 @@ if ($action == 'update' && ! $_POST["cancel"]) { $object->fetch($id); - $object->oldcopy=dol_clone($object); + $object->oldcopy = clone $object; $ret=$object->setPassword($user,$_POST["password"]); if ($ret < 0) @@ -627,7 +627,7 @@ if (($action == 'create') || ($action == 'adduserldap')) /* */ /* ************************************************************************** */ - print_fiche_titre($langs->trans("NewUser")); + print load_fiche_titre($langs->trans("NewUser")); print $langs->trans("CreateInternalUserDesc")."
    \n"; print "
    "; @@ -841,6 +841,7 @@ if (($action == 'create') || ($action == 'adduserldap')) } else { + require_once DOL_DOCUMENT_ROOT.'/core/lib/security2.lib.php'; // PARTIAL WORKAROUND $generated_fake_api_key=getRandomPassword(false); print ''; @@ -1046,7 +1047,7 @@ if (($action == 'create') || ($action == 'adduserldap')) { print '
    '; print ''; } @@ -1613,7 +1614,7 @@ else if ($canreadgroup) { - print_fiche_titre($langs->trans("ListOfGroupsForUser"),'',''); + print load_fiche_titre($langs->trans("ListOfGroupsForUser"),'',''); // On selectionne les groupes auquel fait parti le user $exclude = array(); @@ -2151,7 +2152,7 @@ else { print ''; print ''; } diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index fc4abd88079..31d56f0ad4b 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -44,14 +44,9 @@ class User extends CommonObject protected $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe var $id=0; - var $ref; - var $ref_ext; var $ldap_sid; var $search_sid; - var $lastname; - var $firstname; var $gender; - var $note; var $email; var $skype; var $job; @@ -1191,7 +1186,7 @@ class User extends CommonObject $sql.= " lastname = '".$this->db->escape($this->lastname)."'"; $sql.= ", firstname = '".$this->db->escape($this->firstname)."'"; $sql.= ", login = '".$this->db->escape($this->login)."'"; - $sql.= ", api_key = '".$this->db->escape($this->api_key)."'"; + $sql.= ", api_key = ".($this->api_key ? "'".$this->db->escape($this->api_key)."'" : "null"); $sql.= ", gender = ".($this->gender != -1 ? "'".$this->db->escape($this->gender)."'" : "null"); // 'man' or 'woman' $sql.= ", admin = ".$this->admin; $sql.= ", address = '".$this->db->escape($this->address)."'"; @@ -1409,7 +1404,7 @@ class User extends CommonObject // Mise a jour if (! $changelater) { - if (! is_object($this->oldcopy)) $this->oldcopy=dol_clone($this); + if (! is_object($this->oldcopy)) $this->oldcopy = clone $this; $this->db->begin(); @@ -1836,9 +1831,11 @@ class User extends CommonObject * @param integer $notooltip 1=Disable tooltip * @param int $maxlen Max length of visible user name * @param int $hidethirdpartylogo Hide logo of thirdparty if user is external user + * @param string $mode 'firstname'=Show only firstname + * @param string $morecss Add more css on link * @return string String with URL */ - function getNomUrl($withpicto=0, $option='', $infologin=0, $notooltip=0, $maxlen=24, $hidethirdpartylogo=0) + function getNomUrl($withpicto=0, $option='', $infologin=0, $notooltip=0, $maxlen=24, $hidethirdpartylogo=0, $mode='',$morecss='') { global $langs, $conf, $db; global $dolibarr_main_authentication, $dolibarr_main_demo; @@ -1896,7 +1893,7 @@ class User extends CommonObject $link = 'getFullName($langs,'',-1,$maxlen) . $linkend . $companylink; + $result.= $link . $this->getFullName($langs,'',($mode == 'firstname' ? 2 : -1),$maxlen) . $linkend . $companylink; return $result; } diff --git a/htdocs/user/class/usergroup.class.php b/htdocs/user/class/usergroup.class.php index 687c2077760..50237b0ef61 100644 --- a/htdocs/user/class/usergroup.class.php +++ b/htdocs/user/class/usergroup.class.php @@ -38,16 +38,13 @@ class UserGroup extends CommonObject public $table_element='usergroup'; protected $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe - var $id; // Group id var $entity; // Entity of group /** * @deprecated * @see name */ var $nom; // Name of group - var $name; // Name of group var $globalgroup; // Global group - var $note; // Note on group var $datec; // Creation date of group var $datem; // Modification date of group var $members=array(); // Array of users diff --git a/htdocs/user/group/card.php b/htdocs/user/group/card.php index 3de421e4f4f..4edb037d8d6 100644 --- a/htdocs/user/group/card.php +++ b/htdocs/user/group/card.php @@ -142,7 +142,7 @@ if ($action == 'adduser' || $action =='removeuser') if ($userid) { $object->fetch($id); - $object->oldcopy=dol_clone($object); + $object->oldcopy = clone $object; $edituser = new User($db); $edituser->fetch($userid); @@ -176,7 +176,7 @@ if ($action == 'update') $object->fetch($id); - $object->oldcopy=dol_clone($object); + $object->oldcopy = clone $object; $object->name = trim($_POST["group"]); $object->nom = $object->name; // For backward compatibility @@ -222,7 +222,7 @@ $fuserstatic = new User($db); if ($action == 'create') { - print_fiche_titre($langs->trans("NewGroup")); + print load_fiche_titre($langs->trans("NewGroup")); print dol_set_focus('#nom'); @@ -374,7 +374,7 @@ else * Liste des utilisateurs dans le groupe */ - print_fiche_titre($langs->trans("ListOfUsersInGroup"),'',''); + print load_fiche_titre($langs->trans("ListOfUsersInGroup"),'',''); // On selectionne les users qui ne sont pas deja dans le groupe $exclude = array(); diff --git a/htdocs/user/group/index.php b/htdocs/user/group/index.php index 7496d7bc816..b45615455d8 100644 --- a/htdocs/user/group/index.php +++ b/htdocs/user/group/index.php @@ -55,7 +55,7 @@ if (! $sortorder) $sortorder="ASC"; llxHeader(); -print_fiche_titre($langs->trans("ListOfGroups")); +print load_fiche_titre($langs->trans("ListOfGroups")); $sql = "SELECT g.rowid, g.nom as name, g.entity, g.datec, COUNT(DISTINCT ugu.fk_user) as nb"; $sql.= " FROM ".MAIN_DB_PREFIX."usergroup as g"; diff --git a/htdocs/user/group/ldap.php b/htdocs/user/group/ldap.php index f53775b9b3e..ed7122fe164 100644 --- a/htdocs/user/group/ldap.php +++ b/htdocs/user/group/ldap.php @@ -155,7 +155,7 @@ if ($conf->global->LDAP_SYNCHRO_ACTIVE == 'dolibarr2ldap') print "
    \n"; // Affichage attributs LDAP -print_titre($langs->trans("LDAPInformationsForThisGroup")); +print load_fiche_titre($langs->trans("LDAPInformationsForThisGroup")); print '
    '.fieldLabel('JuridicalStatus','legal_form').'
    '.fieldLabel('JuridicalStatus','forme_juridique_code').''; if ($object->country_id) { - print $formcompany->select_juridicalstatus($object->forme_juridique_code, $object->country_code, '', 'legal_form'); + print $formcompany->select_juridicalstatus($object->forme_juridique_code, $object->country_code, '', 'forme_juridique_code'); } else { @@ -1212,7 +1224,7 @@ else print '
    '.fieldLabel('AllocateCommercial','commercial_id').''; - $form->select_users((! empty($object->commercial_id)?$object->commercial_id:$user->id),'commercial_id',1); // Add current user by default + $form->select_dolusers((! empty($object->commercial_id)?$object->commercial_id:$user->id),'commercial_id',1); // Add current user by default print '
    ' . fieldLabel('CustomersCategoriesShort', 'custcats') . ''; @@ -1270,7 +1284,12 @@ else dol_fiche_end(); print '
    '; - print ''; + print ''; + if ($backtopage) + { + print '   '; + print ''; + } print '
    '."\n"; print ''."\n"; @@ -1281,7 +1300,7 @@ else * Edition */ - //print_fiche_titre($langs->trans("EditCompany")); + //print load_fiche_titre($langs->trans("EditCompany")); if ($socid) { @@ -1326,7 +1345,7 @@ else $prefixSupplierIsUsed = $modCodeFournisseur->verif_prefixIsUsed(); } - $object->oldcopy=dol_clone($object); + $object->oldcopy = clone $object; if (GETPOST('name')) { @@ -1738,8 +1757,8 @@ else print '
    '.fieldLabel('JuridicalStatus','legal_form').''; - print $formcompany->select_juridicalstatus($object->forme_juridique_code, $object->country_code, '', 'legal_form'); + print '
    '.fieldLabel('JuridicalStatus','forme_juridique_code').''; + print $formcompany->select_juridicalstatus($object->forme_juridique_code, $object->country_code, '', 'forme_juridique_code'); print '
    '; print dol_print_date($datefin,'day'); - if ($datefin < ($now - $conf->adherent->cotisation->warning_delay) && $objp->statut > 0) print " ".img_warning($langs->trans("SubscriptionLate")); + if ($memberstatic->hasDelay()) { + print " ".img_warning($langs->trans("SubscriptionLate")); + } print '
    '.$langs->trans("ColorUser").''; - print $formother->selectColor(GETPOST('color')?GETPOST('color'):$object->color, 'color', 'usercolorconfig', 1, '', 'hideifnotset'); + print $formother->selectColor(GETPOST('color')?GETPOST('color'):$object->color, 'color', null, 1, '', 'hideifnotset'); print '
    '.$langs->trans("ColorUser").''; - print $formother->selectColor(GETPOST('color')?GETPOST('color'):$object->color, 'color', 'usercolorconfig', 1, '', 'hideifnotset'); + print $formother->selectColor(GETPOST('color')?GETPOST('color'):$object->color, 'color', null, 1, '', 'hideifnotset'); print '
    '; diff --git a/htdocs/user/hierarchy.php b/htdocs/user/hierarchy.php index ccaf6687da9..23356c08889 100644 --- a/htdocs/user/hierarchy.php +++ b/htdocs/user/hierarchy.php @@ -65,7 +65,7 @@ $arrayofcss=array('/includes/jquery/plugins/jquerytreeview/jquery.treeview.css') llxHeader('',$langs->trans("ListOfUsers"). ' ('.$langs->trans("HierarchicView").')','','',0,0,$arrayofjs,$arrayofcss); -print_fiche_titre($langs->trans("ListOfUsers"). ' ('.$langs->trans("HierarchicView").')', '
    '); +print load_fiche_titre($langs->trans("ListOfUsers"). ' ('.$langs->trans("HierarchicView").')', '
    '); diff --git a/htdocs/user/home.php b/htdocs/user/home.php index ba3b3c15586..22b6d54adda 100644 --- a/htdocs/user/home.php +++ b/htdocs/user/home.php @@ -53,7 +53,7 @@ $fuserstatic = new User($db); llxHeader(); -print_fiche_titre($langs->trans("MenuUsersAndGroups")); +print load_fiche_titre($langs->trans("MenuUsersAndGroups")); //print '
    '; diff --git a/htdocs/user/index.php b/htdocs/user/index.php index 9c8060e7275..f2e53987ed8 100644 --- a/htdocs/user/index.php +++ b/htdocs/user/index.php @@ -84,7 +84,7 @@ llxHeader('',$langs->trans("ListOfUsers")); $buttonviewhierarchy='
    '; -print_fiche_titre($langs->trans("ListOfUsers"), $buttonviewhierarchy); +print load_fiche_titre($langs->trans("ListOfUsers"), $buttonviewhierarchy); $sql = "SELECT u.rowid, u.lastname, u.firstname, u.admin, u.fk_soc, u.login, u.email, u.gender,"; $sql.= " u.datec,"; diff --git a/htdocs/user/ldap.php b/htdocs/user/ldap.php index 2d1ac2f7464..0ee41812c29 100644 --- a/htdocs/user/ldap.php +++ b/htdocs/user/ldap.php @@ -168,7 +168,7 @@ if ($conf->global->LDAP_SYNCHRO_ACTIVE == 'dolibarr2ldap') print "
    \n"; // Affichage attributs LDAP -print_titre($langs->trans("LDAPInformationsForThisUser")); +print load_fiche_titre($langs->trans("LDAPInformationsForThisUser")); print '
    '; diff --git a/htdocs/user/param_ihm.php b/htdocs/user/param_ihm.php index 5355a0f74fc..9e67a1015c7 100644 --- a/htdocs/user/param_ihm.php +++ b/htdocs/user/param_ihm.php @@ -93,7 +93,18 @@ if ($action == 'update' && ($caneditfield || ! empty($user->admin))) if ($_POST["check_MAIN_THEME"]=="on") $tabparam["MAIN_THEME"]=$_POST["main_theme"]; else $tabparam["MAIN_THEME"]=''; - $tabparam["MAIN_SEARCHFORM_CONTACT"]=$_POST["main_searchform_contact"]; + $val=(join(',',(colorStringToArray(GETPOST('THEME_ELDY_TOPMENU_BACK1'),array())))); + if ($val == '') $tabparam['THEME_ELDY_TOPMENU_BACK1']=''; + else $tabparam['THEME_ELDY_TOPMENU_BACK1']=join(',',colorStringToArray(GETPOST('THEME_ELDY_TOPMENU_BACK1'),array())); + + $val=(join(',',(colorStringToArray(GETPOST('THEME_ELDY_BACKTITLE1'),array())))); + if ($val == '') $tabparam['THEME_ELDY_BACKTITLE1']=''; + else $tabparam['THEME_ELDY_BACKTITLE1']=join(',',colorStringToArray(GETPOST('THEME_ELDY_BACKTITLE1'),array())); + + if (GETPOST('check_THEME_ELDY_USE_HOVER') == 'on') $tabparam["THEME_ELDY_USE_HOVER"]=1; + else $tabparam["THEME_ELDY_USE_HOVER"]=0; + + $tabparam["MAIN_SEARCHFORM_CONTACT"]=$_POST["main_searchform_contact"]; $tabparam["MAIN_SEARCHFORM_SOCIETE"]=$_POST["main_searchform_societe"]; $tabparam["MAIN_SEARCHFORM_PRODUITSERVICE"]=$_POST["main_searchform_produitservice"]; @@ -152,17 +163,48 @@ print '

    '; if ($action == 'edit') { - print ''; + if (! empty($conf->use_javascript_ajax)) + {/* + print '';*/ + } + if (! empty($conf->use_javascript_ajax)) + { + print ''; + } + clearstatcache(); $var=true; @@ -197,7 +239,7 @@ if ($action == 'edit') print '

    '; // Theme - show_theme($object,(($user->admin || empty($dolibarr_main_demo))?1:0),true); + show_theme($object, (($user->admin || empty($dolibarr_main_demo))?1:0), true); dol_fiche_end(); diff --git a/htdocs/webservices/admin/webservices.php b/htdocs/webservices/admin/webservices.php index 3f97eda6574..97b19ab8ff7 100644 --- a/htdocs/webservices/admin/webservices.php +++ b/htdocs/webservices/admin/webservices.php @@ -63,7 +63,7 @@ if ($actionsave) llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("WebServicesSetup"),$linkback,'title_setup'); +print load_fiche_titre($langs->trans("WebServicesSetup"),$linkback,'title_setup'); print $langs->trans("WebServicesDesc")."
    \n"; print "
    \n"; diff --git a/scripts/company/sync_contacts_dolibarr2ldap.php b/scripts/company/sync_contacts_dolibarr2ldap.php index 8a582a77f74..2223cd1ca8f 100755 --- a/scripts/company/sync_contacts_dolibarr2ldap.php +++ b/scripts/company/sync_contacts_dolibarr2ldap.php @@ -34,12 +34,6 @@ if (substr($sapi_type, 0, 3) == 'cgi') { exit(-1); } -if (! isset($argv[1]) || ! $argv[1]) { - print "Usage: $script_file now\n"; - exit(-1); -} -$now=$argv[1]; - require_once($path."../../htdocs/master.inc.php"); require_once(DOL_DOCUMENT_ROOT."/contact/class/contact.class.php"); @@ -49,6 +43,7 @@ require_once(DOL_DOCUMENT_ROOT."/core/class/ldap.class.php"); // Global variables $version=DOL_VERSION; $error=0; +$confirmed=0; /* @@ -59,6 +54,18 @@ $error=0; print "***** ".$script_file." (".$version.") pid=".dol_getmypid()." *****\n"; dol_syslog($script_file." launched with arg ".join(',',$argv)); +if (! isset($argv[1]) || ! $argv[1]) { + print "Usage: $script_file now [-y]\n"; + exit(-1); +} + +foreach($argv as $key => $val) +{ + if (preg_match('/-y$/',$val,$reg)) $confirmed=1; +} + +$now=$argv[1]; + print "Mails sending disabled (useless in batch mode)\n"; $conf->global->MAIN_DISABLE_ALL_MAILS=1; // On bloque les mails print "\n"; @@ -77,12 +84,16 @@ print "login=".$conf->global->LDAP_ADMIN_DN."\n"; print "pass=".preg_replace('/./i','*',$conf->global->LDAP_ADMIN_PASS)."\n"; print "DN target=".$conf->global->LDAP_CONTACT_DN."\n"; print "\n"; -print "Press a key to confirm...\n"; -$input = trim(fgets(STDIN)); -print "Warning, this operation may result in data loss if it failed.\n"; -print "Be sure to have a backup of your LDAP database (With OpenLDAP: slapcat > save.ldif).\n"; -print "Hit Enter to continue or CTRL+C to stop...\n"; -$input = trim(fgets(STDIN)); + +if (! $confirmed) +{ + print "Press a key to confirm...\n"; + $input = trim(fgets(STDIN)); + print "Warning, this operation may result in data loss if it failed.\n"; + print "Be sure to have a backup of your LDAP database (With OpenLDAP: slapcat > save.ldif).\n"; + print "Hit Enter to continue or CTRL+C to stop...\n"; + $input = trim(fgets(STDIN)); +} /* if (! $conf->global->LDAP_CONTACT_ACTIVE) diff --git a/scripts/members/sync_members_dolibarr2ldap.php b/scripts/members/sync_members_dolibarr2ldap.php index 13529561a80..bfe16330b79 100755 --- a/scripts/members/sync_members_dolibarr2ldap.php +++ b/scripts/members/sync_members_dolibarr2ldap.php @@ -43,7 +43,7 @@ $langs->load("main"); // Global variables $version=DOL_VERSION; $error=0; - +$confirmed=0; /* @@ -55,9 +55,15 @@ print "***** ".$script_file." (".$version.") pid=".dol_getmypid()." *****\n"; dol_syslog($script_file." launched with arg ".join(',',$argv)); if (! isset($argv[1]) || ! $argv[1]) { - print "Usage: $script_file now\n"; + print "Usage: $script_file now [-y]\n"; exit(-1); } + +foreach($argv as $key => $val) +{ + if (preg_match('/-y$/',$val,$reg)) $confirmed=1; +} + $now=$argv[1]; print "Mails sending disabled (useless in batch mode)\n"; @@ -78,13 +84,16 @@ print "login=".$conf->global->LDAP_ADMIN_DN."\n"; print "pass=".preg_replace('/./i','*',$conf->global->LDAP_ADMIN_PASS)."\n"; print "DN target=".$conf->global->LDAP_MEMBER_DN."\n"; print "\n"; -print "Press a key to confirm...\n"; -$input = trim(fgets(STDIN)); -print "Warning, this operation may result in data loss if it failed.\n"; -print "Be sure to have a backup of your LDAP database (With OpenLDAP: slapcat > save.ldif).\n"; -print "Hit Enter to continue or CTRL+C to stop...\n"; -$input = trim(fgets(STDIN)); +if (! $confirmed) +{ + print "Press a key to confirm...\n"; + $input = trim(fgets(STDIN)); + print "Warning, this operation may result in data loss if it failed.\n"; + print "Be sure to have a backup of your LDAP database (With OpenLDAP: slapcat > save.ldif).\n"; + print "Hit Enter to continue or CTRL+C to stop...\n"; + $input = trim(fgets(STDIN)); +} /* if (! $conf->global->LDAP_MEMBER_ACTIVE) diff --git a/scripts/members/sync_members_ldap2dolibarr.php b/scripts/members/sync_members_ldap2dolibarr.php index 4ed5e36f696..cf18a75e508 100755 --- a/scripts/members/sync_members_ldap2dolibarr.php +++ b/scripts/members/sync_members_ldap2dolibarr.php @@ -48,7 +48,7 @@ $langs->load("errors"); $version=DOL_VERSION; $error=0; $forcecommit=0; - +$confirmed=0; /* @@ -94,7 +94,7 @@ $required_fields=array_unique(array_values(array_filter($required_fields, "dolVa if (! isset($argv[2]) || ! is_numeric($argv[2])) { - print "Usage: $script_file (nocommitiferror|commitiferror) id_member_type [--server=ldapserverhost]\n"; + print "Usage: $script_file (nocommitiferror|commitiferror) id_member_type [--server=ldapserverhost] [-y]\n"; exit(-1); } @@ -103,6 +103,7 @@ foreach($argv as $key => $val) { if ($val == 'commitiferror') $forcecommit=1; if (preg_match('/--server=([^\s]+)$/',$val,$reg)) $conf->global->LDAP_SERVER_HOST=$reg[1]; + if (preg_match('/-y$/',$val,$reg)) $confirmed=1; } print "Mails sending disabled (useless in batch mode)\n"; @@ -139,9 +140,11 @@ if ($typeid <= 0) } -print "Hit Enter to continue or CTRL+C to stop...\n"; -$input = trim(fgets(STDIN)); - +if (! $confirmed) +{ + print "Hit Enter to continue or CTRL+C to stop...\n"; + $input = trim(fgets(STDIN)); +} // Load table of correspondence of countries $hashlib2rowid=array(); diff --git a/scripts/user/sync_groups_ldap2dolibarr.php b/scripts/user/sync_groups_ldap2dolibarr.php index 93406276ead..b48a4af974e 100755 --- a/scripts/user/sync_groups_ldap2dolibarr.php +++ b/scripts/user/sync_groups_ldap2dolibarr.php @@ -49,6 +49,7 @@ $langs->load("errors"); $version=DOL_VERSION; $error=0; $forcecommit=0; +$confirmed=0; /* @@ -73,7 +74,7 @@ $required_fields=array_unique(array_values(array_filter($required_fields, "dolVa if (! isset($argv[1])) { //print "Usage: $script_file (nocommitiferror|commitiferror) [id_group]\n"; - print "Usage: $script_file (nocommitiferror|commitiferror) [--server=ldapserverhost] [--excludeuser=user1,user2...]\n"; + print "Usage: $script_file (nocommitiferror|commitiferror) [--server=ldapserverhost] [--excludeuser=user1,user2...] [-y]\n"; exit(-1); } @@ -82,6 +83,7 @@ foreach($argv as $key => $val) if ($val == 'commitiferror') $forcecommit=1; if (preg_match('/--server=([^\s]+)$/',$val,$reg)) $conf->global->LDAP_SERVER_HOST=$reg[1]; if (preg_match('/--excludeuser=([^\s]+)$/',$val,$reg)) $excludeuser=explode(',',$reg[1]); + if (preg_match('/-y$/',$val,$reg)) $confirmed=1; } print "Mails sending disabled (useless in batch mode)\n"; @@ -105,9 +107,11 @@ print "commitiferror=".$forcecommit."\n"; print "Mapped LDAP fields=".join(',',$required_fields)."\n"; print "\n"; -print "Hit Enter to continue or CTRL+C to stop...\n"; -$input = trim(fgets(STDIN)); - +if (! $confirmed) +{ + print "Hit Enter to continue or CTRL+C to stop...\n"; + $input = trim(fgets(STDIN)); +} if (empty($conf->global->LDAP_GROUP_DN)) { diff --git a/scripts/user/sync_users_ldap2dolibarr.php b/scripts/user/sync_users_ldap2dolibarr.php index 296db5ec0b2..53a48cc03ca 100755 --- a/scripts/user/sync_users_ldap2dolibarr.php +++ b/scripts/user/sync_users_ldap2dolibarr.php @@ -48,7 +48,7 @@ $version=DOL_VERSION; $error=0; $forcecommit=0; $excludeuser=array(); - +$confirmed=0; /* * Main @@ -85,7 +85,7 @@ $required_fields = array( $required_fields=array_unique(array_values(array_filter($required_fields, "dolValidElement"))); if (! isset($argv[1])) { - print "Usage: $script_file (nocommitiferror|commitiferror) [--server=ldapserverhost] [--excludeuser=user1,user2...]\n"; + print "Usage: $script_file (nocommitiferror|commitiferror) [--server=ldapserverhost] [--excludeuser=user1,user2...] [-y]\n"; exit(-1); } @@ -94,6 +94,7 @@ foreach($argv as $key => $val) if ($val == 'commitiferror') $forcecommit=1; if (preg_match('/--server=([^\s]+)$/',$val,$reg)) $conf->global->LDAP_SERVER_HOST=$reg[1]; if (preg_match('/--excludeuser=([^\s]+)$/',$val,$reg)) $excludeuser=explode(',',$reg[1]); + if (preg_match('/-y$/',$val,$reg)) $confirmed=1; } print "Mails sending disabled (useless in batch mode)\n"; @@ -118,9 +119,11 @@ print "excludeuser=".join(',',$excludeuser)."\n"; print "Mapped LDAP fields=".join(',',$required_fields)."\n"; print "\n"; -print "Hit Enter to continue or CTRL+C to stop...\n"; -$input = trim(fgets(STDIN)); - +if (! $confirmed) +{ + print "Hit Enter to continue or CTRL+C to stop...\n"; + $input = trim(fgets(STDIN)); +} if (empty($conf->global->LDAP_USER_DN)) { diff --git a/test/phpunit/AdherentTest.php b/test/phpunit/AdherentTest.php index 3a19b195b7c..42b4ff7cf7f 100644 --- a/test/phpunit/AdherentTest.php +++ b/test/phpunit/AdherentTest.php @@ -266,7 +266,7 @@ class AdherentTest extends PHPUnit_Framework_TestCase $result=$localobject->update_note($localobject->note,'_private'); print __METHOD__." id=".$localobject->id." result=".$result."\n"; $this->assertLessThan($result, 0); - $result=$localobject->update_note_public($localobject->note,'_public'); + $result=$localobject->update_note($localobject->note,'_public'); print __METHOD__." id=".$localobject->id." result=".$result."\n"; $this->assertLessThan($result, 0); diff --git a/test/phpunit/ContactTest.php b/test/phpunit/ContactTest.php index b638cdc776b..d9532417fc2 100755 --- a/test/phpunit/ContactTest.php +++ b/test/phpunit/ContactTest.php @@ -189,7 +189,7 @@ class ContactTest extends PHPUnit_Framework_TestCase $langs=$this->savlangs; $db=$this->savdb; - $localobject->oldcopy=dol_clone($localobject); + $localobject->oldcopy = clone $localobject; $localobject->note_private='New private note after update'; $localobject->note_public='New public note after update'; @@ -211,14 +211,14 @@ class ContactTest extends PHPUnit_Framework_TestCase $result=$localobject->update($localobject->id,$user); print __METHOD__." id=".$localobject->id." result=".$result."\n"; $this->assertLessThan($result, 0, 'Contact::update error'); - - $result=$localobject->update_note($localobject->note_private,'_private'); - print __METHOD__." id=".$localobject->id." result=".$result."\n"; - $this->assertLessThan($result, 0, 'Contact::update_note error'); - - $result=$localobject->update_note_public($localobject->note_public); + + $result=$localobject->update_note($localobject->note_private,'_private'); print __METHOD__." id=".$localobject->id." result=".$result."\n"; - $this->assertLessThan($result, 0, 'Contact::update_note_public error'); + $this->assertLessThan($result, 0, 'Contact::update_note (private) error'); + + $result=$localobject->update_note($localobject->note_public, '_public'); + print __METHOD__." id=".$localobject->id." result=".$result."\n"; + $this->assertLessThan($result, 0, 'Contact::update_note (public) error'); $newobject=new Contact($this->savdb); $result=$newobject->fetch($localobject->id); diff --git a/test/phpunit/HolidayTest.php b/test/phpunit/HolidayTest.php index 36556fd9281..a04646a8a14 100644 --- a/test/phpunit/HolidayTest.php +++ b/test/phpunit/HolidayTest.php @@ -183,7 +183,7 @@ class HolidayTest extends PHPUnit_Framework_TestCase $langs=$this->savlangs; $db=$this->savdb; - $localobject->oldcopy=dol_clone($localobject); + $localobject->oldcopy = clone $localobject; $localobject->note_private='New private note after update'; $localobject->note_public='New public note after update'; @@ -208,11 +208,11 @@ class HolidayTest extends PHPUnit_Framework_TestCase $result=$localobject->update_note($localobject->note_private,'_private'); print __METHOD__." id=".$localobject->id." result=".$result."\n"; - $this->assertLessThan($result, 0, 'Holiday::update_note error'); - - $result=$localobject->update_note_public($localobject->note_public); - print __METHOD__." id=".$localobject->id." result=".$result."\n"; - $this->assertLessThan($result, 0, 'Holiday::update_note_public error'); + $this->assertLessThan($result, 0, 'Holiday::update_note (private) error'); + + $result=$localobject->update_note($localobject->note_public, '_public'); + print __METHOD__." id=".$localobject->id." result=".$result."\n"; + $this->assertLessThan($result, 0, 'Holiday::update_note (public) error'); $newobject=new Holiday($this->savdb); diff --git a/test/phpunit/SocieteTest.php b/test/phpunit/SocieteTest.php index 8bcfb247365..24b868b743e 100755 --- a/test/phpunit/SocieteTest.php +++ b/test/phpunit/SocieteTest.php @@ -211,13 +211,13 @@ class SocieteTest extends PHPUnit_Framework_TestCase print __METHOD__." id=".$localobject->id." result=".$result."\n"; $this->assertLessThan($result, 0); - $result=$localobject->update_note($localobject->note_private,'_private'); - print __METHOD__." id=".$localobject->id." result=".$result."\n"; - $this->assertLessThan($result, 0, 'Holiday::update_note_private error'); + $result=$localobject->update_note($localobject->note_private,'_private'); + print __METHOD__." id=".$localobject->id." result=".$result."\n"; + $this->assertLessThan($result, 0, 'Holiday::update_note (private) error'); - $result=$localobject->update_note_public($localobject->note_public); - print __METHOD__." id=".$localobject->id." result=".$result."\n"; - $this->assertLessThan($result, 0, 'Holiday::update_note_public error'); + $result=$localobject->update_note($localobject->note_public, '_public'); + print __METHOD__." id=".$localobject->id." result=".$result."\n"; + $this->assertLessThan($result, 0, 'Holiday::update_note (public) error'); $newobject=new Societe($this->savdb); $result=$newobject->fetch($localobject->id); diff --git a/test/raven/raven b/test/raven/raven new file mode 100644 index 00000000000..9080498f871 --- /dev/null +++ b/test/raven/raven @@ -0,0 +1 @@ +../raven/raven/bin/raven \ No newline at end of file