From d4db5916f02add8b56b93714b6c4c4a6c6cb0401 Mon Sep 17 00:00:00 2001 From: simnandez Date: Tue, 7 Jan 2014 12:16:16 +0100 Subject: [PATCH 01/50] Fix: Bad get of localtaxes into contracts add lines --- ChangeLog | 3 +++ htdocs/contrat/fiche.php | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index d5dace50436e8..d03c4bc8f709b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,9 @@ English Dolibarr ChangeLog -------------------------------------------------------------- +***** ChangeLog for 3.4.3 compared to 3.4.2 ***** +Fix: Bad get of localtaxes into contracts add lines + ***** ChangeLog for 3.4.2 compared to 3.4.1 ***** Fix: field's problem into company's page (RIB). Fix: Document cerfa doesn't contained firstname & lastname from donator. diff --git a/htdocs/contrat/fiche.php b/htdocs/contrat/fiche.php index d49fb69c32e65..aba03ea5347aa 100644 --- a/htdocs/contrat/fiche.php +++ b/htdocs/contrat/fiche.php @@ -3,8 +3,8 @@ * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2006 Andre Cianfarani - * Copyright (C) 2010-2012 Juanjo Menent - * Copyright (C) 2013 Christophe Battarel + * Copyright (C) 2010-2013 Juanjo Menent + * Copyright (C) 2013 Christophe Battarel * Copyright (C) 2013 Florian Henry * * This program is free software; you can redistribute it and/or modify @@ -444,8 +444,8 @@ $desc=GETPOST('dp_desc'); } - $localtax1_tx=get_localtax($tva_tx,1,$object->societe); - $localtax2_tx=get_localtax($tva_tx,2,$object->societe); + $localtax1_tx=get_localtax($tva_tx,1,$object->thirdparty); + $localtax2_tx=get_localtax($tva_tx,2,$object->thirdparty); // ajout prix achat $fk_fournprice = $_POST['fournprice']; From 2b4f0bd4b1c5ca98b96e1e53bde96e70e3748f3d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 9 Jan 2014 14:28:32 +0100 Subject: [PATCH 02/50] Fix: Add a limit into list to avoid browser to hang when database is too large. --- ChangeLog | 3 ++- htdocs/comm/index.php | 13 ++++++++++--- htdocs/comm/propal/index.php | 13 ++++++++++--- htdocs/langs/en_US/main.lang | 1 + htdocs/langs/fr_FR/main.lang | 1 + 5 files changed, 24 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index d03c4bc8f709b..a01f827fb2b2a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,7 +4,8 @@ English Dolibarr ChangeLog ***** ChangeLog for 3.4.3 compared to 3.4.2 ***** -Fix: Bad get of localtaxes into contracts add lines +Fix: Bad get of localtaxes into contracts add lines. +Fix: Add a limit into list to avoid browser to hang when database is too large. ***** ChangeLog for 3.4.2 compared to 3.4.1 ***** Fix: field's problem into company's page (RIB). diff --git a/htdocs/comm/index.php b/htdocs/comm/index.php index f32fa89b59bc3..7b83d56fe0115 100644 --- a/htdocs/comm/index.php +++ b/htdocs/comm/index.php @@ -473,8 +473,10 @@ $var=true; print ''; - print ''; - while ($i < $num) + print ''; + + $nbofloop=min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD)?1000:$conf->global->MAIN_MAXLIST_OVERLOAD)); + while ($i < $nbofloop) { $obj = $db->fetch_object($result); $var=!$var; @@ -511,7 +513,12 @@ $i++; $total += $obj->total_ttc; } - if ($total>0) { + if ($num > $nbofloop) + { + print '"; + } + else if ($total>0) + { print '"; } print "
'.$langs->trans("ProposalsOpened").'
'.$langs->trans("ProposalsOpened").' ('.$num.')
'.$langs->trans("XMoreLines", ($num - $nbofloop))."
'.$langs->trans("Total")."".price($total)." 

"; diff --git a/htdocs/comm/propal/index.php b/htdocs/comm/propal/index.php index 2a31d4a48b707..6631988c94d38 100644 --- a/htdocs/comm/propal/index.php +++ b/htdocs/comm/propal/index.php @@ -301,7 +301,7 @@ if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid) $sql.= " AND s.rowid = ".$socid; $sql.= " ORDER BY p.rowid DESC"; - + $result=$db->query($sql); if ($result) { @@ -314,7 +314,9 @@ print ''; print ''; - while ($i < $num) + + $nbofloop=min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD)?1000:$conf->global->MAIN_MAXLIST_OVERLOAD)); + while ($i < $nbofloop) { $obj = $db->fetch_object($result); $var=!$var; @@ -356,7 +358,12 @@ $i++; $total += $obj->total_ttc; } - if ($total>0) { + if ($num > $nbofloop) + { + print '"; + } + else if ($total>0) + { print '"; } print "
'.$langs->trans("ProposalsOpened").' ('.$num.')
'.$langs->trans("XMoreLines", ($num - $nbofloop))."
'.$langs->trans("Total")."".price($total)." 

"; diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 2bc80f696bd59..3eac4f09a99e9 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -659,6 +659,7 @@ from=from toward=toward Access=Access SetDemandReason=Set source +XMoreLines=%s line(s) hidden # Week day Monday=Monday diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index 9ad1a71b1a8dd..cc4a20266202e 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -657,6 +657,7 @@ from=de toward=vers Access=Accès SetDemandReason=Définir l'origine +XMoreLines=%s ligne(s) non affichée(s) # Week day Monday=Lundi From 364085bd2082fef3a2c4fa373d0ae6bd09c3d759 Mon Sep 17 00:00:00 2001 From: Maxime Kohlhaas Date: Mon, 23 Sep 2013 10:55:44 +0200 Subject: [PATCH 03/50] Fix : wrong var used in bank account class --- htdocs/compta/bank/class/account.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index 01ec205564a1d..b809445e28b0a 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -1296,7 +1296,7 @@ function update_conciliation($user,$cat) // No error check. Can fail if category already affected } - $bankline->rappro=1; + $this->rappro=1; $this->db->commit(); return 1; From eae92695d63bc0d60d6a6192d566b818623322e5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 9 Jan 2014 18:47:33 +0100 Subject: [PATCH 04/50] Fix: Warning into bank conciliation feature. --- ChangeLog | 1 + htdocs/compta/bank/class/account.class.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index a01f827fb2b2a..0e380a9f04ca1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,7 @@ English Dolibarr ChangeLog ***** ChangeLog for 3.4.3 compared to 3.4.2 ***** +Fix: Warning into bank conciliation feature. Fix: Bad get of localtaxes into contracts add lines. Fix: Add a limit into list to avoid browser to hang when database is too large. diff --git a/htdocs/compta/bank/class/account.class.php b/htdocs/compta/bank/class/account.class.php index b809445e28b0a..0c12b5e437a9e 100644 --- a/htdocs/compta/bank/class/account.class.php +++ b/htdocs/compta/bank/class/account.class.php @@ -1159,7 +1159,7 @@ function delete($user=0) $this->db->begin(); // Delete urls - $result=$this->delete_urls(); + $result=$this->delete_urls($user); if ($result < 0) { $nbko++; From 374be1854eed99531577ae578fda85e252b92cc3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 9 Jan 2014 23:11:11 +0100 Subject: [PATCH 05/50] Fix: Bad url --- htdocs/comm/index.php | 8 ++++---- htdocs/comm/propal/index.php | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/htdocs/comm/index.php b/htdocs/comm/index.php index 7b83d56fe0115..dba3b44a14bc7 100644 --- a/htdocs/comm/index.php +++ b/htdocs/comm/index.php @@ -473,8 +473,8 @@ $var=true; print ''; - print ''; - + print ''; + $nbofloop=min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD)?1000:$conf->global->MAIN_MAXLIST_OVERLOAD)); while ($i < $nbofloop) { @@ -514,10 +514,10 @@ $total += $obj->total_ttc; } if ($num > $nbofloop) - { + { print '"; } - else if ($total>0) + else if ($total>0) { print '"; } diff --git a/htdocs/comm/propal/index.php b/htdocs/comm/propal/index.php index 6631988c94d38..7389990c10557 100644 --- a/htdocs/comm/propal/index.php +++ b/htdocs/comm/propal/index.php @@ -301,7 +301,7 @@ if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid) $sql.= " AND s.rowid = ".$socid; $sql.= " ORDER BY p.rowid DESC"; - + $result=$db->query($sql); if ($result) { @@ -313,7 +313,7 @@ $var=true; print '
'.$langs->trans("ProposalsOpened").' ('.$num.')
'.$langs->trans("ProposalsOpened").' ('.$num.')
'.$langs->trans("XMoreLines", ($num - $nbofloop))."
'.$langs->trans("Total")."".price($total)." 
'; - print ''; + print ''; $nbofloop=min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD)?1000:$conf->global->MAIN_MAXLIST_OVERLOAD)); while ($i < $nbofloop) @@ -359,10 +359,10 @@ $total += $obj->total_ttc; } if ($num > $nbofloop) - { + { print '"; } - else if ($total>0) + else if ($total>0) { print '"; } From 78b40eaa8ccda92c2adc7d09c47c001e90650bda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rapha=C3=ABl=20Doursenaud?= Date: Sat, 11 Jan 2014 17:30:29 +0100 Subject: [PATCH 06/50] Handle default session path nicely --- htdocs/core/lib/admin.lib.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/htdocs/core/lib/admin.lib.php b/htdocs/core/lib/admin.lib.php index 9aca2c29c26ee..41f8ce454931f 100644 --- a/htdocs/core/lib/admin.lib.php +++ b/htdocs/core/lib/admin.lib.php @@ -557,7 +557,13 @@ function listOfSessions() global $conf; $arrayofSessions = array(); - $sessPath = ini_get("session.save_path").'/'; + // session.save_path can be returned empty so we set a default location and work from there + $sessPath = '/tmp'; + $iniPath = ini_get("session.save_path"); + if ($iniPath) { + $sessPath = $iniPath; + } + $sessPath .= '/'; // We need the trailing slash dol_syslog('admin.lib:listOfSessions sessPath='.$sessPath); $dh = @opendir(dol_osencode($sessPath)); From d2d84c3e486db42c22a84f2764a1af47c55ba73a Mon Sep 17 00:00:00 2001 From: philippe Date: Sun, 12 Jan 2014 21:26:44 +0100 Subject: [PATCH 07/50] Fix: path to image must not be hardcoded but use dol_buildpath or img_picto with param src=1. --- htdocs/fourn/liste.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/fourn/liste.php b/htdocs/fourn/liste.php index f59e692fb87fc..5ce488939b3b2 100644 --- a/htdocs/fourn/liste.php +++ b/htdocs/fourn/liste.php @@ -183,7 +183,7 @@ print ''; print ''; - print ''; + print ''; $parameters=array(); $formconfirm=$hookmanager->executeHooks('printFieldListOption',$parameters); // Note that $action and $object may have been modified by hook From 938f31f383fee3ce8690db7baece739ae8a1f252 Mon Sep 17 00:00:00 2001 From: Grand Philippe Date: Sun, 12 Jan 2014 21:45:52 +0100 Subject: [PATCH 08/50] Fix: path to image must not be hardcoded but use dol_buildpath or img_picto with param src=1. --- htdocs/contact/list.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/contact/list.php b/htdocs/contact/list.php index 2b1c5e982df68..1c735d787b423 100644 --- a/htdocs/contact/list.php +++ b/htdocs/contact/list.php @@ -343,9 +343,9 @@ print $form->selectarray('search_status', array('0'=>$langs->trans('ActivityCeased'),'1'=>$langs->trans('InActivity')),$search_status); print ''; print ''; print ''; From 795dcad59f4ce808abf183bf9b18dfc02d0b0d81 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 12 Jan 2014 22:26:48 +0100 Subject: [PATCH 09/50] Fix: The login page should have same code than standard page using common footer. --- htdocs/core/tpl/login.tpl.php | 37 +++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/htdocs/core/tpl/login.tpl.php b/htdocs/core/tpl/login.tpl.php index fa3d21b92015a..b2aa1877823a5 100644 --- a/htdocs/core/tpl/login.tpl.php +++ b/htdocs/core/tpl/login.tpl.php @@ -205,7 +205,38 @@ } ?> + + + + + + +global->MAIN_HTML_FOOTER)) print $conf->global->MAIN_HTML_FOOTER; ?> + google->enabled) && ! empty($conf->global->MAIN_GOOGLE_AN_ID)) +{ + if (empty($conf->dol_use_jmobile)) + { + print "\n"; + print ''."\n"; + } +} +?> + +google->enabled) && ! empty($conf->global->MAIN_GOOGLE_AD_CLIENT) && ! empty($conf->global->MAIN_GOOGLE_AD_SLOT)) { if (empty($conf->dol_use_jmobile)) @@ -228,12 +259,6 @@ } ?> - - - - -global->MAIN_HTML_FOOTER)) print $conf->global->MAIN_HTML_FOOTER; ?> - From e7f7dd49a5e128bdf6964152e49f86333e64eb37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Salvador?= Date: Fri, 10 Jan 2014 10:41:19 +0100 Subject: [PATCH 10/50] add a method to check for the presence of an object in a category --- htdocs/categories/class/categorie.class.php | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index 9f4be55eb407d..1a68fc939994b 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -571,6 +571,27 @@ function get_type($field,$classname,$category_table='',$object_table='') } } + /** + * check for the presence of an object in a category + * @param string $field table field + * @param string $category_table category table name + * @param int $object_id id of the object to search + * @return int nb number of occurrences + */ + function object_exists($field, $category_table, $object_id) + { + $sql = "SELECT COUNT(*) as nb FROM " . MAIN_DB_PREFIX . "categorie_" . $category_table; + $sql .= " WHERE fk_categorie = " . $this->id . " AND fk_" . $field . " = " . $object_id; + dol_syslog(get_class($this)."::product_exists sql=".$sql); + $resql = $this->db->query($sql); + if ($resql) { + return $this->db->fetch_object($resql)->nb; + } else { + $this->error=$this->db->error().' sql='.$sql; + dol_syslog(get_class($this)."::get_type ".$this->error, LOG_ERR); + return -1; + } + } /** * Return childs of a category From abe76708de0d8610b6ff14e14c69756981c2466e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Salvador?= Date: Fri, 10 Jan 2014 11:06:16 +0100 Subject: [PATCH 11/50] renamed object_exists --- htdocs/categories/class/categorie.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index 1a68fc939994b..3040ed3176c87 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -578,7 +578,7 @@ function get_type($field,$classname,$category_table='',$object_table='') * @param int $object_id id of the object to search * @return int nb number of occurrences */ - function object_exists($field, $category_table, $object_id) + function is_in_cat($field, $category_table, $object_id) { $sql = "SELECT COUNT(*) as nb FROM " . MAIN_DB_PREFIX . "categorie_" . $category_table; $sql .= " WHERE fk_categorie = " . $this->id . " AND fk_" . $field . " = " . $object_id; From ecfff5636baeb86086ab7b24fb884c8d6a4cf269 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Salvador?= Date: Mon, 13 Jan 2014 09:27:10 +0100 Subject: [PATCH 12/50] rename is_in_cat to containsObject --- htdocs/categories/class/categorie.class.php | 31 +++++++++++++++++---- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index 3040ed3176c87..7e990e602c97e 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -573,22 +573,43 @@ function get_type($field,$classname,$category_table='',$object_table='') /** * check for the presence of an object in a category - * @param string $field table field - * @param string $category_table category table name + * @param string $type object type * @param int $object_id id of the object to search * @return int nb number of occurrences */ - function is_in_cat($field, $category_table, $object_id) + function containsObject($type, $object_id) { + $field = ''; $classname = ''; $category_table = ''; $object_table = ''; + if ($type == 'product') { + $field = 'product'; + } + if ($type == 'customer') { + $field = 'societe'; + } + if ($type == 'supplier') { + $field = 'societe'; + $category_table = 'fournisseur'; + } + if ($type == 'member') { + $field = 'member'; + $category_table = ''; + } + if ($type == 'contact') { + $field = 'socpeople'; + $category_table = 'contact'; + } + if (empty($category_table)) { + $category_table = $field; + } $sql = "SELECT COUNT(*) as nb FROM " . MAIN_DB_PREFIX . "categorie_" . $category_table; $sql .= " WHERE fk_categorie = " . $this->id . " AND fk_" . $field . " = " . $object_id; - dol_syslog(get_class($this)."::product_exists sql=".$sql); + dol_syslog(get_class($this)."::containsObject sql=".$sql); $resql = $this->db->query($sql); if ($resql) { return $this->db->fetch_object($resql)->nb; } else { $this->error=$this->db->error().' sql='.$sql; - dol_syslog(get_class($this)."::get_type ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::containsObject ".$this->error, LOG_ERR); return -1; } } From c5689b86b46fbd6d8d1edcd5f21331c7edb8409a Mon Sep 17 00:00:00 2001 From: Grand Philippe Date: Mon, 13 Jan 2014 09:43:21 +0100 Subject: [PATCH 13/50] Fix: path to image must not be hardcoded but use dol_buildpath or img_picto with param src=1 --- htdocs/adherents/liste.php | 4 ++-- htdocs/admin/tools/listevents.php | 2 +- htdocs/comm/contact.php | 2 +- htdocs/comm/list.php | 4 ++-- htdocs/comm/mailing/cibles.php | 4 ++-- htdocs/comm/mailing/liste.php | 2 +- htdocs/comm/propal/list.php | 2 +- htdocs/comm/prospect/list.php | 2 +- htdocs/commande/customer.php | 2 +- htdocs/commande/liste.php | 2 +- htdocs/commande/orderstoinvoice.php | 2 +- htdocs/compta/bank/account.php | 2 +- htdocs/compta/bank/search.php | 2 +- htdocs/compta/deplacement/list.php | 2 +- htdocs/compta/dons/liste.php | 2 +- htdocs/compta/facture/impayees.php | 2 +- 16 files changed, 19 insertions(+), 19 deletions(-) diff --git a/htdocs/adherents/liste.php b/htdocs/adherents/liste.php index d4beb3ecdd97f..a4b9bdb7a5a2f 100644 --- a/htdocs/adherents/liste.php +++ b/htdocs/adherents/liste.php @@ -256,9 +256,9 @@ print ''; print ''; print "\n"; diff --git a/htdocs/admin/tools/listevents.php b/htdocs/admin/tools/listevents.php index ac5b825b4217a..d733182f054cd 100644 --- a/htdocs/admin/tools/listevents.php +++ b/htdocs/admin/tools/listevents.php @@ -188,7 +188,7 @@ print ''; print ''; print "\n"; diff --git a/htdocs/comm/contact.php b/htdocs/comm/contact.php index 5c85f745def0e..7f9d7ede4409b 100644 --- a/htdocs/comm/contact.php +++ b/htdocs/comm/contact.php @@ -141,7 +141,7 @@ print ''; print ''; print ''; - print ''; + print ''; print "\n"; print ''; diff --git a/htdocs/comm/list.php b/htdocs/comm/list.php index ed12edd032a02..4e6ac38c81010 100644 --- a/htdocs/comm/list.php +++ b/htdocs/comm/list.php @@ -233,9 +233,9 @@ print $form->selectarray('search_status', array('0'=>$langs->trans('ActivityCeased'),'1'=>$langs->trans('InActivity')),$search_status); print ''; - print ''; $parameters=array(); diff --git a/htdocs/comm/mailing/cibles.php b/htdocs/comm/mailing/cibles.php index 5b3ec5bfc1d9a..916a616366872 100644 --- a/htdocs/comm/mailing/cibles.php +++ b/htdocs/comm/mailing/cibles.php @@ -434,9 +434,9 @@ print ''; // Source print ''; print ''; diff --git a/htdocs/comm/mailing/liste.php b/htdocs/comm/mailing/liste.php index 41a4e57a7ac9e..81af4f4f6e680 100644 --- a/htdocs/comm/mailing/liste.php +++ b/htdocs/comm/mailing/liste.php @@ -121,7 +121,7 @@ print ''; if (! $filteremail) print ''; print ''; - print '"; print "\n"; print ''; diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php index 262ccbfe91e53..7a652631d676f 100644 --- a/htdocs/comm/propal/list.php +++ b/htdocs/comm/propal/list.php @@ -309,7 +309,7 @@ print ''; - print ''; print "\n"; diff --git a/htdocs/comm/prospect/list.php b/htdocs/comm/prospect/list.php index 18038d3ed44f3..767a29f0b88ad 100644 --- a/htdocs/comm/prospect/list.php +++ b/htdocs/comm/prospect/list.php @@ -378,7 +378,7 @@ // Print the search button print ''; $parameters=array(); diff --git a/htdocs/commande/customer.php b/htdocs/commande/customer.php index 35a5891d60489..373775a0da09a 100644 --- a/htdocs/commande/customer.php +++ b/htdocs/commande/customer.php @@ -142,7 +142,7 @@ print ''; print ''; print "\n"; diff --git a/htdocs/commande/liste.php b/htdocs/commande/liste.php index aaf6b5312ae19..c4a416f1898a9 100644 --- a/htdocs/commande/liste.php +++ b/htdocs/commande/liste.php @@ -301,7 +301,7 @@ print ''; $var=true; diff --git a/htdocs/commande/orderstoinvoice.php b/htdocs/commande/orderstoinvoice.php index 806fd95a95795..aa2883ccb96a3 100644 --- a/htdocs/commande/orderstoinvoice.php +++ b/htdocs/commande/orderstoinvoice.php @@ -603,7 +603,7 @@ //SEARCH BUTTON print ''; print ''; print ''; - print ''; + print ''; print "\n"; diff --git a/htdocs/compta/bank/search.php b/htdocs/compta/bank/search.php index 650733dbb9c59..a94e2fc5cd021 100644 --- a/htdocs/compta/bank/search.php +++ b/htdocs/compta/bank/search.php @@ -184,7 +184,7 @@ print ''; print ''; diff --git a/htdocs/compta/deplacement/list.php b/htdocs/compta/deplacement/list.php index 330f493e6bab1..94a3a26a0f312 100644 --- a/htdocs/compta/deplacement/list.php +++ b/htdocs/compta/deplacement/list.php @@ -119,7 +119,7 @@ print ''; - print '\n"; $var=true; diff --git a/htdocs/compta/dons/liste.php b/htdocs/compta/dons/liste.php index 56c66d4fdce83..f045e82be71ac 100644 --- a/htdocs/compta/dons/liste.php +++ b/htdocs/compta/dons/liste.php @@ -144,7 +144,7 @@ print ''; - print '\n"; $var=True; diff --git a/htdocs/compta/facture/impayees.php b/htdocs/compta/facture/impayees.php index 3d792e343f0d5..d17507558351c 100644 --- a/htdocs/compta/facture/impayees.php +++ b/htdocs/compta/facture/impayees.php @@ -299,7 +299,7 @@ print ''; print ''; print ''; print ''; print ''; print "\n"; diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index 83b9fd309458e..42d08c3b02cb3 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -317,7 +317,7 @@ print ''; print ''; print ''; - print '\n"; if ($num > 0) diff --git a/htdocs/compta/paiement/cheque/liste.php b/htdocs/compta/paiement/cheque/liste.php index 1c1cf71b11c99..7f656a75c7998 100644 --- a/htdocs/compta/paiement/cheque/liste.php +++ b/htdocs/compta/paiement/cheque/liste.php @@ -102,7 +102,7 @@ print ''; print ''; print ''; print "\n"; diff --git a/htdocs/compta/paiement/liste.php b/htdocs/compta/paiement/liste.php index 5e1653b3ec351..16a6c1410e689 100644 --- a/htdocs/compta/paiement/liste.php +++ b/htdocs/compta/paiement/liste.php @@ -167,7 +167,7 @@ print ''; print ''; if (! empty($conf->global->BILL_ADD_PAYMENT_VALIDATION)) { diff --git a/htdocs/compta/prelevement/bons.php b/htdocs/compta/prelevement/bons.php index d5c140be91e57..cd460f1aac22c 100644 --- a/htdocs/compta/prelevement/bons.php +++ b/htdocs/compta/prelevement/bons.php @@ -88,7 +88,7 @@ print ''; print ''; print ''; - print ''; + print ''; print ''; print ''; diff --git a/htdocs/compta/prelevement/demandes.php b/htdocs/compta/prelevement/demandes.php index 3ae2b850aac7b..e48896458693f 100644 --- a/htdocs/compta/prelevement/demandes.php +++ b/htdocs/compta/prelevement/demandes.php @@ -114,7 +114,7 @@ print ''; print ''; print ''; - print ''; + print ''; print ''; print ''; diff --git a/htdocs/compta/prelevement/liste.php b/htdocs/compta/prelevement/liste.php index 5ed627dee587d..2cd859969a911 100644 --- a/htdocs/compta/prelevement/liste.php +++ b/htdocs/compta/prelevement/liste.php @@ -129,7 +129,7 @@ print ''; print ''; print ''; - print ''; + print ''; print ''; print ''; diff --git a/htdocs/compta/sociales/index.php b/htdocs/compta/sociales/index.php index 54cb9fc0c42d1..e96c53895299b 100644 --- a/htdocs/compta/sociales/index.php +++ b/htdocs/compta/sociales/index.php @@ -162,7 +162,7 @@ print ''; print ''; print ''; print "\n"; diff --git a/htdocs/compta/stats/cabyprodserv.php b/htdocs/compta/stats/cabyprodserv.php index e24ca5dd56b83..ac82e2e342ac8 100644 --- a/htdocs/compta/stats/cabyprodserv.php +++ b/htdocs/compta/stats/cabyprodserv.php @@ -252,7 +252,7 @@ } print '>'; print ''; // Array header print ""; diff --git a/htdocs/compta/stats/casoc.php b/htdocs/compta/stats/casoc.php index 97333f1758cc3..9745ef1629086 100644 --- a/htdocs/compta/stats/casoc.php +++ b/htdocs/compta/stats/casoc.php @@ -322,7 +322,7 @@ } print'>'; print ''; print ''; // Array titles diff --git a/htdocs/compta/ventilation/lignes.php b/htdocs/compta/ventilation/lignes.php index e8578e7dcf096..fbc8655717811 100644 --- a/htdocs/compta/ventilation/lignes.php +++ b/htdocs/compta/ventilation/lignes.php @@ -90,7 +90,7 @@ print ''; print ''; print ''; print "\n"; diff --git a/htdocs/contrat/liste.php b/htdocs/contrat/liste.php index 40a6811e41b9a..38576f7e764c7 100644 --- a/htdocs/contrat/liste.php +++ b/htdocs/contrat/liste.php @@ -129,7 +129,7 @@ print ''; print ''; //print ''; - print '"; print "\n"; print ''; diff --git a/htdocs/contrat/services.php b/htdocs/contrat/services.php index ea42df9e01dd9..2f42fc39c77ff 100644 --- a/htdocs/contrat/services.php +++ b/htdocs/contrat/services.php @@ -184,7 +184,7 @@ $filter_date2=dol_mktime(0,0,0,$op2month,$op2day,$op2year); print $form->select_date($filter_date2,'op2',0,0,1); print ''; - print '"; print "\n"; print ''; diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index bcd6c53d48989..a81eff0e5c3b4 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -630,7 +630,7 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='') // Edit print ''; print ""; diff --git a/htdocs/cron/list.php b/htdocs/cron/list.php index 8d27450eaf8d9..19a0d5cc3b18d 100644 --- a/htdocs/cron/list.php +++ b/htdocs/cron/list.php @@ -182,9 +182,9 @@ print $form->selectarray('status', array('0'=>$langs->trans("No"),'1'=>$langs->trans("Yes")), $status, 1); print ''; print ''; diff --git a/htdocs/fichinter/list.php b/htdocs/fichinter/list.php index 93142ed2dc3cf..2a037a07563e0 100644 --- a/htdocs/fichinter/list.php +++ b/htdocs/fichinter/list.php @@ -124,7 +124,7 @@ print ''; print ''; print ''; - print ''; + print ''; print "\n"; $companystatic=new Societe($db); diff --git a/htdocs/fourn/commande/liste.php b/htdocs/fourn/commande/liste.php index bc4004e4fc114..d6c4bb9427dde 100644 --- a/htdocs/fourn/commande/liste.php +++ b/htdocs/fourn/commande/liste.php @@ -152,7 +152,7 @@ print ''; print ''; print ''; print ''; diff --git a/htdocs/fourn/facture/list.php b/htdocs/fourn/facture/list.php index bc7632350c168..dd8d778d63a8d 100644 --- a/htdocs/fourn/facture/list.php +++ b/htdocs/fourn/facture/list.php @@ -235,7 +235,7 @@ print ''; print "\n"; diff --git a/htdocs/fourn/facture/paiement.php b/htdocs/fourn/facture/paiement.php index f625cead27cfa..8f3f29098326a 100644 --- a/htdocs/fourn/facture/paiement.php +++ b/htdocs/fourn/facture/paiement.php @@ -463,7 +463,7 @@ print ''; print ''; print "\n"; diff --git a/htdocs/fourn/product/liste.php b/htdocs/fourn/product/liste.php index 7806fdab1bd2d..76c34be703413 100644 --- a/htdocs/fourn/product/liste.php +++ b/htdocs/fourn/product/liste.php @@ -200,9 +200,9 @@ print ''; print ''; print ''; print ''; print ''; diff --git a/htdocs/holiday/index.php b/htdocs/holiday/index.php index 34443bfaa988d..e7c4b0a3d50c8 100644 --- a/htdocs/holiday/index.php +++ b/htdocs/holiday/index.php @@ -326,7 +326,7 @@ // ACTION print ''; print "\n"; diff --git a/htdocs/product/stock/mouvement.php b/htdocs/product/stock/mouvement.php index eb9391c869825..f8135b69566e3 100644 --- a/htdocs/product/stock/mouvement.php +++ b/htdocs/product/stock/mouvement.php @@ -452,9 +452,9 @@ print ''; print ''; print ''; print "\n"; print ''; diff --git a/htdocs/product/stock/replenish.php b/htdocs/product/stock/replenish.php index 788bd8fee092a..45c3b3bf7b37c 100644 --- a/htdocs/product/stock/replenish.php +++ b/htdocs/product/stock/replenish.php @@ -412,10 +412,8 @@ ''. ''. ''. ''; From b61ccb823477f7003912e9e1c6581d6fbbda5e12 Mon Sep 17 00:00:00 2001 From: Grand Philippe Date: Mon, 13 Jan 2014 10:15:07 +0100 Subject: [PATCH 15/50] Fix: path to image must not be hardcoded but use dol_buildpath or img_picto with param src=1 --- htdocs/product/liste.php | 4 ++-- htdocs/product/reassort.php | 4 ++-- htdocs/projet/liste.php | 2 +- htdocs/projet/tasks/index.php | 2 +- htdocs/societe/consumption.php | 4 ++-- htdocs/societe/societe.php | 4 ++-- htdocs/user/index.php | 2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/htdocs/product/liste.php b/htdocs/product/liste.php index e9fe0b60a03af..283305860705d 100644 --- a/htdocs/product/liste.php +++ b/htdocs/product/liste.php @@ -370,8 +370,8 @@ print ''; print ''; print ''; diff --git a/htdocs/product/reassort.php b/htdocs/product/reassort.php index 00793b2ff8a9c..fcbcd780fb6eb 100644 --- a/htdocs/product/reassort.php +++ b/htdocs/product/reassort.php @@ -274,8 +274,8 @@ print ''; print ''; print ''; print ''; diff --git a/htdocs/projet/liste.php b/htdocs/projet/liste.php index a81a21c6c9b4a..974f7f5ef00ab 100644 --- a/htdocs/projet/liste.php +++ b/htdocs/projet/liste.php @@ -142,7 +142,7 @@ print ''; print ''; print ''; - print ''; + print ''; print "\n"; while ($i < $num) diff --git a/htdocs/projet/tasks/index.php b/htdocs/projet/tasks/index.php index 8795cf98486dc..8c626175d3dd5 100644 --- a/htdocs/projet/tasks/index.php +++ b/htdocs/projet/tasks/index.php @@ -116,7 +116,7 @@ print ''; -print ''; +print ''; print "\n"; // Show all lines in taskarray (recursive function to go down on tree) diff --git a/htdocs/societe/consumption.php b/htdocs/societe/consumption.php index 03036f36a047c..d7c8616a2733b 100644 --- a/htdocs/societe/consumption.php +++ b/htdocs/societe/consumption.php @@ -269,8 +269,8 @@ print ''; print ''; print ''; print ''; diff --git a/htdocs/societe/societe.php b/htdocs/societe/societe.php index bf21bfecfa7ae..7d3e2e1a78d43 100644 --- a/htdocs/societe/societe.php +++ b/htdocs/societe/societe.php @@ -389,9 +389,9 @@ print ''; // Status print ''; print "\n"; diff --git a/htdocs/user/index.php b/htdocs/user/index.php index 62ead1935eb35..baa704509cc76 100644 --- a/htdocs/user/index.php +++ b/htdocs/user/index.php @@ -126,7 +126,7 @@ print ''; print ''; print "\n"; From 911c43c86281bb54c3e99c91800393e3602e1754 Mon Sep 17 00:00:00 2001 From: Cedric GROSS Date: Mon, 13 Jan 2014 19:46:23 +0100 Subject: [PATCH 16/50] Fix bug on stock calculation for replenishment: wrong order in ifsql. --- htdocs/product/stock/replenish.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/product/stock/replenish.php b/htdocs/product/stock/replenish.php index 788bd8fee092a..27bab21d2e858 100644 --- a/htdocs/product/stock/replenish.php +++ b/htdocs/product/stock/replenish.php @@ -176,7 +176,7 @@ $sql.= ' p.price_ttc, p.price_base_type,p.fk_product_type,'; $sql.= ' p.tms as datem, p.duration, p.tobuy, p.seuil_stock_alerte,'; $sql.= ' p.desiredstock,'; -$sql.= ' SUM('.$db->ifsql("s.reel IS NULL", "s.reel", "0").') as stock_physique'; +$sql.= ' SUM('.$db->ifsql("s.reel IS NULL", "0", "s.reel").') as stock_physique'; $sql.= ' FROM ' . MAIN_DB_PREFIX . 'product as p'; $sql.= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'product_stock as s'; $sql.= ' ON p.rowid = s.fk_product'; @@ -219,7 +219,7 @@ $sql.= ' AND p.desiredstock > 0'; if ($salert == 'on') // Option to see when stock is lower than alert { - $sql .= ' AND SUM('.$db->ifsql("s.reel IS NULL", "s.reel", "0").') < p.seuil_stock_alerte AND p.seuil_stock_alerte is not NULL'; + $sql .= ' AND SUM('.$db->ifsql("s.reel IS NULL", "0", "s.reel").') < p.seuil_stock_alerte AND p.seuil_stock_alerte is not NULL'; $alertchecked = 'checked="checked"'; } $sql.= $db->order($sortfield,$sortorder); From bd1a10c116902086e71178a578c488ca46e59625 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 14 Jan 2014 16:47:54 +0100 Subject: [PATCH 17/50] Fix: doxygen --- htdocs/core/modules/modAgenda.class.php | 6 +++--- htdocs/projet/class/task.class.php | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/htdocs/core/modules/modAgenda.class.php b/htdocs/core/modules/modAgenda.class.php index 7b3b73c22f5b9..e9ad20345cfef 100644 --- a/htdocs/core/modules/modAgenda.class.php +++ b/htdocs/core/modules/modAgenda.class.php @@ -23,15 +23,15 @@ /** * \defgroup agenda Module agenda - * \brief Module pour gerer l'agenda et actions + * \brief Module to manage agenda and events * \file htdocs/core/modules/modAgenda.class.php * \ingroup agenda - * \brief Fichier de description et activation du module agenda + * \brief File of class to describe and enable/disable module Agenda */ include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php'; /** - * Classe de description et activation du module Adherent + * Class to describe and enable/disable module Agenda */ class modAgenda extends DolibarrModules { diff --git a/htdocs/projet/class/task.class.php b/htdocs/projet/class/task.class.php index 80bc1d49cd042..409c426ecdf9e 100644 --- a/htdocs/projet/class/task.class.php +++ b/htdocs/projet/class/task.class.php @@ -27,7 +27,6 @@ /** * Class to manage tasks - * Initialy built by build_class_from_table on 2008-09-10 12:41 */ class Task extends CommonObject { From 6d4a9833e2e6175517264bdae796fe2a33157e31 Mon Sep 17 00:00:00 2001 From: Cedric GROSS Date: Mon, 13 Jan 2014 19:46:23 +0100 Subject: [PATCH 18/50] Fix bug on stock calculation for replenishment: wrong order in ifsql. --- htdocs/product/stock/replenish.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/product/stock/replenish.php b/htdocs/product/stock/replenish.php index 788bd8fee092a..27bab21d2e858 100644 --- a/htdocs/product/stock/replenish.php +++ b/htdocs/product/stock/replenish.php @@ -176,7 +176,7 @@ $sql.= ' p.price_ttc, p.price_base_type,p.fk_product_type,'; $sql.= ' p.tms as datem, p.duration, p.tobuy, p.seuil_stock_alerte,'; $sql.= ' p.desiredstock,'; -$sql.= ' SUM('.$db->ifsql("s.reel IS NULL", "s.reel", "0").') as stock_physique'; +$sql.= ' SUM('.$db->ifsql("s.reel IS NULL", "0", "s.reel").') as stock_physique'; $sql.= ' FROM ' . MAIN_DB_PREFIX . 'product as p'; $sql.= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'product_stock as s'; $sql.= ' ON p.rowid = s.fk_product'; @@ -219,7 +219,7 @@ $sql.= ' AND p.desiredstock > 0'; if ($salert == 'on') // Option to see when stock is lower than alert { - $sql .= ' AND SUM('.$db->ifsql("s.reel IS NULL", "s.reel", "0").') < p.seuil_stock_alerte AND p.seuil_stock_alerte is not NULL'; + $sql .= ' AND SUM('.$db->ifsql("s.reel IS NULL", "0", "s.reel").') < p.seuil_stock_alerte AND p.seuil_stock_alerte is not NULL'; $alertchecked = 'checked="checked"'; } $sql.= $db->order($sortfield,$sortorder); From 4f1df33e51f2a41dfa2731ca73e06b9137e20409 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 14 Jan 2014 22:18:44 +0100 Subject: [PATCH 19/50] Fix: thumb image was not up to date compared to new skin. --- htdocs/theme/eldy/thumb.png | Bin 4444 -> 3967 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/htdocs/theme/eldy/thumb.png b/htdocs/theme/eldy/thumb.png index 208299ad19764a130622c56a07cfae1b8d7d3cb7..e17e09121473686849b33e203d492ed8d9760697 100644 GIT binary patch literal 3967 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 iW&XuVR7v8+y8i=56+ziQ<^1~q0000 Date: Wed, 15 Jan 2014 02:04:44 +0100 Subject: [PATCH 20/50] Fix: Showing version is wrong when replace by external module --- htdocs/main.inc.php | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 9e48cb258124a..c52186b5511c3 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -1423,11 +1423,20 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a if (! empty($_SESSION["disablemodules"])) $loginhtmltext.='
'.$langs->trans("DisabledModules").':
'.join(', ',explode(',',$_SESSION["disablemodules"])); $appli='Dolibarr'; - if (! empty($conf->global->MAIN_APPLICATION_TITLE)) $appli=$conf->global->MAIN_APPLICATION_TITLE; + if (! empty($conf->global->MAIN_APPLICATION_TITLE)) + { + $appli=$conf->global->MAIN_APPLICATION_TITLE; + if (preg_match('/\d\.\d/', $appli)) + { + if (! preg_match('/'.preg_quote(DOL_VERSION).'/', $appli)) $appli.=" (".DOL_VERSION.")"; // If new title contains a version that is different than core + } + else $appli.=" ".DOL_VERSION; + } + else $appli.=" ".DOL_VERSION; // Link info $logouttext=''; - $logouthtmltext=$appli.' '.DOL_VERSION.'
'; + $logouthtmltext=$appli.'
'; $logouthtmltext.=$langs->trans("Logout").'
'; //$logouthtmltext.="
"; if ($_SESSION["dol_authmode"] != 'forceuser' && $_SESSION["dol_authmode"] != 'http') @@ -1621,10 +1630,16 @@ function left_menu($menu_array_before, $helppagename='', $moresearchform='', $me if (preg_match('/es/i',$langs->defaultlang)) $doliurl='http://www.dolibarr.es'; $appli='Dolibarr'; - if (! empty($conf->global->MAIN_APPLICATION_TITLE)) { + if (! empty($conf->global->MAIN_APPLICATION_TITLE)) + { $appli=$conf->global->MAIN_APPLICATION_TITLE; $doliurl=''; + if (preg_match('/\d\.\d/', $appli)) + { + if (! preg_match('/'.preg_quote(DOL_VERSION).'/', $appli)) $appli.=" (".DOL_VERSION.")"; // If new title contains a version that is different than core + } + else $appli.=" ".DOL_VERSION; } - $appli.=" ".DOL_VERSION; + else $appli.=" ".DOL_VERSION; print '
'; if ($doliurl) print ''; print $appli; From 0725fea9233b13ee32947bee77f3d60b16ac783d Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 15 Jan 2014 03:08:11 +0100 Subject: [PATCH 21/50] Fix: doxygen --- htdocs/categories/class/categorie.class.php | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index 7e990e602c97e..81ea914e481aa 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -499,7 +499,7 @@ function del_type($obj,$type) $column_name=$type; if ($type=='contact') $column_name='socpeople'; if ($type=='fournisseur') $column_name='societe'; - + $sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_".$type; $sql .= " WHERE fk_categorie = ".$this->id; $sql .= " AND fk_".$column_name." = ".$obj->id; @@ -573,9 +573,10 @@ function get_type($field,$classname,$category_table='',$object_table='') /** * check for the presence of an object in a category - * @param string $type object type - * @param int $object_id id of the object to search - * @return int nb number of occurrences + * + * @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact') + * @param int $object_id id of the object to search + * @return int number of occurrences */ function containsObject($type, $object_id) { From 9aacb0e7ed43e6ea46f4e1151f008280072810ff Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 15 Jan 2014 03:15:31 +0100 Subject: [PATCH 22/50] Fix: bad permissions on files --- build/doxygen/dolibarr-doxygen-build.pl | 0 build/doxygen/dolibarr-doxygen-filter.pl | 0 build/doxygen/dolibarr-doxygen-getversion.pl | 0 3 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 build/doxygen/dolibarr-doxygen-build.pl mode change 100644 => 100755 build/doxygen/dolibarr-doxygen-filter.pl mode change 100644 => 100755 build/doxygen/dolibarr-doxygen-getversion.pl diff --git a/build/doxygen/dolibarr-doxygen-build.pl b/build/doxygen/dolibarr-doxygen-build.pl old mode 100644 new mode 100755 diff --git a/build/doxygen/dolibarr-doxygen-filter.pl b/build/doxygen/dolibarr-doxygen-filter.pl old mode 100644 new mode 100755 diff --git a/build/doxygen/dolibarr-doxygen-getversion.pl b/build/doxygen/dolibarr-doxygen-getversion.pl old mode 100644 new mode 100755 From 8de8e9d8865f299dc115fb72e919f8f41b0fb8ec Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 15 Jan 2014 09:09:52 +0100 Subject: [PATCH 23/50] Fix: reference to a file that does not exists --- htdocs/theme/cameleo/style.css.php | 1 - 1 file changed, 1 deletion(-) diff --git a/htdocs/theme/cameleo/style.css.php b/htdocs/theme/cameleo/style.css.php index f5a8a0f053fac..e3845735d4976 100644 --- a/htdocs/theme/cameleo/style.css.php +++ b/htdocs/theme/cameleo/style.css.php @@ -940,7 +940,6 @@ /* ============================================================================== */ .toolbar { - background-image: url(theme.'/img/tmenu2.png',1); ?>) !important; background-repeat: repeat-x !important; border: 1px solid #BBB !important; } From b9be26f9f15c7eaa860b8fd7c3d0bf768f3b2a11 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 15 Jan 2014 09:24:53 +0100 Subject: [PATCH 24/50] Fix: favicon was old file. Fix: missing favicon for theme auguria --- htdocs/theme/amarok/img/favicon.ico | Bin 3638 -> 2238 bytes htdocs/theme/auguria/img/favicon.ico | Bin 0 -> 2238 bytes htdocs/theme/bureau2crea/img/favicon.ico | Bin 1597 -> 2238 bytes htdocs/theme/cameleo/img/favicon.ico | Bin 3638 -> 2238 bytes htdocs/theme/eldy/img/favicon.ico | Bin 3638 -> 2238 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 htdocs/theme/auguria/img/favicon.ico diff --git a/htdocs/theme/amarok/img/favicon.ico b/htdocs/theme/amarok/img/favicon.ico index 7d41c54d5bb98e9d5d6b1c8b359f0f2757b69230..b93a86747d647ddc80784e7d0e0313a9eb5393e6 100644 GIT binary patch literal 2238 zcmeH{X;9Q<9LK+A2VG>DR+_rF92*d*T)HS;g%%s|0EQvrejC=G$_Mopky_Bj+lv(H6rYcazSbIY&K$) zuN9+GCPKMPj0%}6)N&W7O=|jiJmYdc|nupi<)FlR403*E=7Xc6fe}Jdcv6Mjha*+7}LB^o92r>X+Ee= zXE}Wi4C?|>pTW9}xoBAL2jhky?Az$a#vl7L1K0$@oIMW>SyHzB(UctsQ%(??bLK1`vvA0ejU!bV=-!=&W5!$@HRj{!UIluZigDajiWBBi95 z<7A5ppSM=vivyK7)mDkqZEBo8sKyyKU$$#;rd@}#9a^00)S=g^!+EP7UmY^w>#izX z?5;&`cRjxO)P%mCR$MuG5Z6w1;M%z(=s*7n2CtmO;MHCXes=*w{TFbf|00Hd_!dJy z_TiVG`Y=p$3B%Vf;n(YzF*?BZz-5fE86LQb(ZTO=YvgC#8ohx#H%D;y_D$UT{Wk91 zy~E}=Jh=Y{9{hP9e?5GNv9U3XkB>j;wfw*TkNg8qIpAprJmY|89q=6Cy><;_*{qbb zqz|1Y@Q$C)6Pbby<0@KvGA8oYb~+OqNN88nvIzTDyvTcJ=Sjpy61oUlf?yGnU*clY z6e5fJs7Ib%kaIERO(L6wUS{`##Waxoy<%kms-OsuTOq?PC38P z^a2?dViR>$Z`i_XW&FbXWZa3(R8>!-5XgNx1qqQyRn6NJUTvn7Pr-{Q;9f-Gtwu^) zDfkeD)YOW3q9ClN;7e?ws?N<8-YMZehRi%-8&x&4-}UtH-^sPvm5d*;ox1(13Uvdw zg0O2YnfXMKy|r(PS;~!+P}uuN+ajcLAzermKkhBUx&>S;3?Y<{``yutcpnn7nAq_T rUtby*#9Q0Bl!#1BAmU@g1A>?Ej-SgN5bA)H4*0+UVGj7WKQn&=2N5!r literal 3638 zcmdtk+jmse9S87lNL&+!w#JpNG^7{~33m~#LXkpX%T3BnNVqvOz%c{_#0Uf-VGUuE z3ss9yfkF%;oXkuxl9_>C2x>t$IItj1D|XrTp?x?{eIc$zR{<83LC61N{x3 z`JH`!d+)Q)Z32*ie#psz6YCxUhI7j>+;&?wu#fvjvZ=f1-5KCchRATz17GWwEy9WY z4T$cpL9}iM+8TlgzP1MC+c&^^>k#VR-H*Z%hBKzNp$4(~iKwp3LvT|8cF>{C`H0ob zL^QM*Z98Y<%*W?2q-Z!~T{VK0V;}>7TnW@ta0R_YYX_rd{SbWoX*-4vdjfLPSV$A7 zD+k_OP0S5zIc}96n~C6(Of((a$77Dg*7?9w)AAsEqcC~l7*rGko4Buz<7!vtqiy$S z?BKCum7@_{S%il25%4bn0{#tndi+#u+_f6D^RhYjFdlO#RwLXv z8r91SdE6qrwBQl=eC7D+Y%{iO%tg>=Am}&nX4Nnh4gikrtVY+{qYI}4P8N~i`5!$~E$IE9PR1F%qd%>Vfy<|F!YS@6Mh7)T=IB{5+%qRQsr&e~nxwXduTtk-RCx7nPQ|?WK#BE%#2JF>}@nPP=T*+1HSX!?=c?DdF-*= z?{k`d{rY7xva+&t%j?Y=%scC$Oycij7I}8lg>T_LU3dEFzIqJD>fc#|1f_pxWfmLh z&|`W-LVx(1=6v;SD5aqOu5hFC1Zxs0=L0^2?Bj4Z^fP(m-zh{biw6~Ck|f<$WV;Iy z2D2cOBw3`$227Aag4i%6S)|D3;y?xoGD(s}ifn+JunZDpk|c{1*#HxiL4r(@WRW5p z;6K;~2{K8NMT%?)aG5Yje@v2Oks=$y02w66BuN%2vfa~WCm{rxB*`L0wtGoTgISPC zk}OhWyO&EE%z{jkWRW7f=rTRks=$C z=PzN9K68`w$09|xdut4XS&&JREK+2TmNs>j1Y$%?;f;A8dC(Ow0xqC}TESf@pZpLElU-6Aw zVD?J6pY95r3{;->u%AtoL`8>UP&7{NJwk*U^)nrQIKY zV0`wPK%kMP=t=L3JN4^2 zB6_ttvJ(L=!QJO)-QDb~!;^^j?&KMy>+Sc(^PWAdel$J5Q}6Db-;?;d_fYrMJ&E)& z{j7IiZ)ZgAugBee?GYbXZ;$Bk_08|;W`BlLk3XcYi%uLxBHrz8_KnZ(Ek+_?UZ382 zI9>O|ea-0(%_-Jnk+2S*zk(4cE%h}!?Ql2}j`04Z>&-qVn$y)Vr@wt)y?0PwiiD$l z5$=ueE4W)+gZ}IHKk9mgx%wS=Xgv~%#bO=KEAroUUF`0TC)_uP_qv;%`=a}6zK!v? zGr6AscIx(n5s$aFCOr4v;noKu5LlDQ?W;oOcv8s8(5JGCrqW<~l=K3$Oh*nfSRq9= f-O$+Ek#6_aWX8R5?)davdR{%hKF%(QjMRSsa3SqU diff --git a/htdocs/theme/auguria/img/favicon.ico b/htdocs/theme/auguria/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b93a86747d647ddc80784e7d0e0313a9eb5393e6 GIT binary patch literal 2238 zcmeH{X;9Q<9LK+A2VG>DR+_rF92*d*T)HS;g%%s|0EQvrejC=G$_Mopky_Bj+lv(H6rYcazSbIY&K$) zuN9+GCPKMPj0%}6)N&W7O=|jiJmYdc|nupi<)FlR403*E=7Xc6fe}Jdcv6Mjha*+7}LB^o92r>X+Ee= zXE}Wi4C?|>pTW9}xoBAL2jhky?Az$a#vl7L1K0$@oIMW>SyHzB(UctsQ%(??bLK1`vvA0ejU!bV=-!=&W5!$@HRj{!UIluZigDajiWBBi95 z<7A5ppSM=vivyK7)mDkqZEBo8sKyyKU$$#;rd@}#9a^00)S=g^!+EP7UmY^w>#izX z?5;&`cRjxO)P%mCR$MuG5Z6w1;M%z(=s*7n2CtmO;MHCXes=*w{TFbf|00Hd_!dJy z_TiVG`Y=p$3B%Vf;n(YzF*?BZz-5fE86LQb(ZTO=YvgC#8ohx#H%D;y_D$UT{Wk91 zy~E}=Jh=Y{9{hP9e?5GNv9U3XkB>j;wfw*TkNg8qIpAprJmY|89q=6Cy><;_*{qbb zqz|1Y@Q$C)6Pbby<0@KvGA8oYb~+OqNN88nvIzTDyvTcJ=Sjpy61oUlf?yGnU*clY z6e5fJs7Ib%kaIERO(L6wUS{`##Waxoy<%kms-OsuTOq?PC38P z^a2?dViR>$Z`i_XW&FbXWZa3(R8>!-5XgNx1qqQyRn6NJUTvn7Pr-{Q;9f-Gtwu^) zDfkeD)YOW3q9ClN;7e?ws?N<8-YMZehRi%-8&x&4-}UtH-^sPvm5d*;ox1(13Uvdw zg0O2YnfXMKy|r(PS;~!+P}uuN+ajcLAzermKkhBUx&>S;3?Y<{``yutcpnn7nAq_T rUtby*#9Q0Bl!#1BAmU@g1A>?Ej-SgN5bA)H4*0+UVGj7WKQn&=2N5!r literal 0 HcmV?d00001 diff --git a/htdocs/theme/bureau2crea/img/favicon.ico b/htdocs/theme/bureau2crea/img/favicon.ico index e0b4481f81e78b28ac10f3503a1d20dc468ccbf4..b93a86747d647ddc80784e7d0e0313a9eb5393e6 100644 GIT binary patch literal 2238 zcmeH{X;9Q<9LK+A2VG>DR+_rF92*d*T)HS;g%%s|0EQvrejC=G$_Mopky_Bj+lv(H6rYcazSbIY&K$) zuN9+GCPKMPj0%}6)N&W7O=|jiJmYdc|nupi<)FlR403*E=7Xc6fe}Jdcv6Mjha*+7}LB^o92r>X+Ee= zXE}Wi4C?|>pTW9}xoBAL2jhky?Az$a#vl7L1K0$@oIMW>SyHzB(UctsQ%(??bLK1`vvA0ejU!bV=-!=&W5!$@HRj{!UIluZigDajiWBBi95 z<7A5ppSM=vivyK7)mDkqZEBo8sKyyKU$$#;rd@}#9a^00)S=g^!+EP7UmY^w>#izX z?5;&`cRjxO)P%mCR$MuG5Z6w1;M%z(=s*7n2CtmO;MHCXes=*w{TFbf|00Hd_!dJy z_TiVG`Y=p$3B%Vf;n(YzF*?BZz-5fE86LQb(ZTO=YvgC#8ohx#H%D;y_D$UT{Wk91 zy~E}=Jh=Y{9{hP9e?5GNv9U3XkB>j;wfw*TkNg8qIpAprJmY|89q=6Cy><;_*{qbb zqz|1Y@Q$C)6Pbby<0@KvGA8oYb~+OqNN88nvIzTDyvTcJ=Sjpy61oUlf?yGnU*clY z6e5fJs7Ib%kaIERO(L6wUS{`##Waxoy<%kms-OsuTOq?PC38P z^a2?dViR>$Z`i_XW&FbXWZa3(R8>!-5XgNx1qqQyRn6NJUTvn7Pr-{Q;9f-Gtwu^) zDfkeD)YOW3q9ClN;7e?ws?N<8-YMZehRi%-8&x&4-}UtH-^sPvm5d*;ox1(13Uvdw zg0O2YnfXMKy|r(PS;~!+P}uuN+ajcLAzermKkhBUx&>S;3?Y<{``yutcpnn7nAq_T rUtby*#9Q0Bl!#1BAmU@g1A>?Ej-SgN5bA)H4*0+UVGj7WKQn&=2N5!r literal 1597 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+g!3HExhN-duDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49rTIArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XP}#GU}m6TW~gUq zY+`P1uA^XNU}&IkV5Dzoq-$tyWo%?+V4wg6Nh+i#(Mch>H3D2mX;thjEr=FDs+o0^GXscbn}XpVJ5hw7AF^F7L;V>=P7_pOiaoz zEwNPsx)kDt+yc06!V;*iRM zRQ;gT;{4L0WMIUlDTAykuyQU+O)SYT3dzsUfrVl~Mt(_taYlZDf^)E`f^TASW*&$S zR`2U;<(XGpl9-pA>gi&u1T;Y}Gc(1?&BDUT(cHw)*}%oz(9qSu$;8mi&B@5f)y2fp z*wW1yrq?AuximL5uLPzy1)QEUIa|mDauYE z3=B*gJzX3_DsH6&M|+3_O8iTE_NHg|u3N|4W=k!ZqOfVeHr7i3n>SW5MpDPQjZO{+l>oewX@{<-%)5+mpQW7Or)>L>3e+;nY!TDpU`Vx zR04{BS7a722jol+7Zplqwsi5hdDF~=NqN&!t(}{A!W{))y}zfuZvCxKGdhG$PdT|n zr{@2a*7XOs8%<_;Qfanp+w|}Q&)2uObp;j4TzaFPqZ+2$F!%8zb|fo$){%vPxJcq1_cTi=G?AkVAuY1-jGiw(>zhaYJs|f*P~>3hb?y*yV}`_T}})#Ghfz3 zAAG%X{oV&tIL=f^%(3D3pQk;2>7m0NB_@YNDlCeN1m!Ouj7~kXVeZEX6_sMo{xGmE z@6}Q7IWp znjeY=>SPt{lKt@Zv*p_Z zQNh>KzJ58JAY9yWhK%4U+KcX8L Z86DR+_rF92*d*T)HS;g%%s|0EQvrejC=G$_Mopky_Bj+lv(H6rYcazSbIY&K$) zuN9+GCPKMPj0%}6)N&W7O=|jiJmYdc|nupi<)FlR403*E=7Xc6fe}Jdcv6Mjha*+7}LB^o92r>X+Ee= zXE}Wi4C?|>pTW9}xoBAL2jhky?Az$a#vl7L1K0$@oIMW>SyHzB(UctsQ%(??bLK1`vvA0ejU!bV=-!=&W5!$@HRj{!UIluZigDajiWBBi95 z<7A5ppSM=vivyK7)mDkqZEBo8sKyyKU$$#;rd@}#9a^00)S=g^!+EP7UmY^w>#izX z?5;&`cRjxO)P%mCR$MuG5Z6w1;M%z(=s*7n2CtmO;MHCXes=*w{TFbf|00Hd_!dJy z_TiVG`Y=p$3B%Vf;n(YzF*?BZz-5fE86LQb(ZTO=YvgC#8ohx#H%D;y_D$UT{Wk91 zy~E}=Jh=Y{9{hP9e?5GNv9U3XkB>j;wfw*TkNg8qIpAprJmY|89q=6Cy><;_*{qbb zqz|1Y@Q$C)6Pbby<0@KvGA8oYb~+OqNN88nvIzTDyvTcJ=Sjpy61oUlf?yGnU*clY z6e5fJs7Ib%kaIERO(L6wUS{`##Waxoy<%kms-OsuTOq?PC38P z^a2?dViR>$Z`i_XW&FbXWZa3(R8>!-5XgNx1qqQyRn6NJUTvn7Pr-{Q;9f-Gtwu^) zDfkeD)YOW3q9ClN;7e?ws?N<8-YMZehRi%-8&x&4-}UtH-^sPvm5d*;ox1(13Uvdw zg0O2YnfXMKy|r(PS;~!+P}uuN+ajcLAzermKkhBUx&>S;3?Y<{``yutcpnn7nAq_T rUtby*#9Q0Bl!#1BAmU@g1A>?Ej-SgN5bA)H4*0+UVGj7WKQn&=2N5!r literal 3638 zcmdtk+jmse9S87lNL&+!w#JpNG^7{~33m~#LXkpX%T3BnNVqvOz%c{_#0Uf-VGUuE z3ss9yfkF%;oXkuxl9_>C2x>t$IItj1D|XrTp?x?{eIc$zR{<83LC61N{x3 z`JH`!d+)Q)Z32*ie#psz6YCxUhI7j>+;&?wu#fvjvZ=f1-5KCchRATz17GWwEy9WY z4T$cpL9}iM+8TlgzP1MC+c&^^>k#VR-H*Z%hBKzNp$4(~iKwp3LvT|8cF>{C`H0ob zL^QM*Z98Y<%*W?2q-Z!~T{VK0V;}>7TnW@ta0R_YYX_rd{SbWoX*-4vdjfLPSV$A7 zD+k_OP0S5zIc}96n~C6(Of((a$77Dg*7?9w)AAsEqcC~l7*rGko4Buz<7!vtqiy$S z?BKCum7@_{S%il25%4bn0{#tndi+#u+_f6D^RhYjFdlO#RwLXv z8r91SdE6qrwBQl=eC7D+Y%{iO%tg>=Am}&nX4Nnh4gikrtVY+{qYI}4P8N~i`5!$~E$IE9PR1F%qd%>Vfy<|F!YS@6Mh7)T=IB{5+%qRQsr&e~nxwXduTtk-RCx7nPQ|?WK#BE%#2JF>}@nPP=T*+1HSX!?=c?DdF-*= z?{k`d{rY7xva+&t%j?Y=%scC$Oycij7I}8lg>T_LU3dEFzIqJD>fc#|1f_pxWfmLh z&|`W-LVx(1=6v;SD5aqOu5hFC1Zxs0=L0^2?Bj4Z^fP(m-zh{biw6~Ck|f<$WV;Iy z2D2cOBw3`$227Aag4i%6S)|D3;y?xoGD(s}ifn+JunZDpk|c{1*#HxiL4r(@WRW5p z;6K;~2{K8NMT%?)aG5Yje@v2Oks=$y02w66BuN%2vfa~WCm{rxB*`L0wtGoTgISPC zk}OhWyO&EE%z{jkWRW7f=rTRks=$C z=PzN9K68`w$09|xdut4XS&&JREK+2TmNs>j1Y$%?;f;A8dC(Ow0xqC}TESf@pZpLElU-6Aw zVD?J6pY95r3{;->u%AtoL`8>UP&7{NJwk*U^)nrQIKY zV0`wPK%kMP=t=L3JN4^2 zB6_ttvJ(L=!QJO)-QDb~!;^^j?&KMy>+Sc(^PWAdel$J5Q}6Db-;?;d_fYrMJ&E)& z{j7IiZ)ZgAugBee?GYbXZ;$Bk_08|;W`BlLk3XcYi%uLxBHrz8_KnZ(Ek+_?UZ382 zI9>O|ea-0(%_-Jnk+2S*zk(4cE%h}!?Ql2}j`04Z>&-qVn$y)Vr@wt)y?0PwiiD$l z5$=ueE4W)+gZ}IHKk9mgx%wS=Xgv~%#bO=KEAroUUF`0TC)_uP_qv;%`=a}6zK!v? zGr6AscIx(n5s$aFCOr4v;noKu5LlDQ?W;oOcv8s8(5JGCrqW<~l=K3$Oh*nfSRq9= f-O$+Ek#6_aWX8R5?)davdR{%hKF%(QjMRSsa3SqU diff --git a/htdocs/theme/eldy/img/favicon.ico b/htdocs/theme/eldy/img/favicon.ico index 7d41c54d5bb98e9d5d6b1c8b359f0f2757b69230..b93a86747d647ddc80784e7d0e0313a9eb5393e6 100644 GIT binary patch literal 2238 zcmeH{X;9Q<9LK+A2VG>DR+_rF92*d*T)HS;g%%s|0EQvrejC=G$_Mopky_Bj+lv(H6rYcazSbIY&K$) zuN9+GCPKMPj0%}6)N&W7O=|jiJmYdc|nupi<)FlR403*E=7Xc6fe}Jdcv6Mjha*+7}LB^o92r>X+Ee= zXE}Wi4C?|>pTW9}xoBAL2jhky?Az$a#vl7L1K0$@oIMW>SyHzB(UctsQ%(??bLK1`vvA0ejU!bV=-!=&W5!$@HRj{!UIluZigDajiWBBi95 z<7A5ppSM=vivyK7)mDkqZEBo8sKyyKU$$#;rd@}#9a^00)S=g^!+EP7UmY^w>#izX z?5;&`cRjxO)P%mCR$MuG5Z6w1;M%z(=s*7n2CtmO;MHCXes=*w{TFbf|00Hd_!dJy z_TiVG`Y=p$3B%Vf;n(YzF*?BZz-5fE86LQb(ZTO=YvgC#8ohx#H%D;y_D$UT{Wk91 zy~E}=Jh=Y{9{hP9e?5GNv9U3XkB>j;wfw*TkNg8qIpAprJmY|89q=6Cy><;_*{qbb zqz|1Y@Q$C)6Pbby<0@KvGA8oYb~+OqNN88nvIzTDyvTcJ=Sjpy61oUlf?yGnU*clY z6e5fJs7Ib%kaIERO(L6wUS{`##Waxoy<%kms-OsuTOq?PC38P z^a2?dViR>$Z`i_XW&FbXWZa3(R8>!-5XgNx1qqQyRn6NJUTvn7Pr-{Q;9f-Gtwu^) zDfkeD)YOW3q9ClN;7e?ws?N<8-YMZehRi%-8&x&4-}UtH-^sPvm5d*;ox1(13Uvdw zg0O2YnfXMKy|r(PS;~!+P}uuN+ajcLAzermKkhBUx&>S;3?Y<{``yutcpnn7nAq_T rUtby*#9Q0Bl!#1BAmU@g1A>?Ej-SgN5bA)H4*0+UVGj7WKQn&=2N5!r literal 3638 zcmdtk+jmse9S87lNL&+!w#JpNG^7{~33m~#LXkpX%T3BnNVqvOz%c{_#0Uf-VGUuE z3ss9yfkF%;oXkuxl9_>C2x>t$IItj1D|XrTp?x?{eIc$zR{<83LC61N{x3 z`JH`!d+)Q)Z32*ie#psz6YCxUhI7j>+;&?wu#fvjvZ=f1-5KCchRATz17GWwEy9WY z4T$cpL9}iM+8TlgzP1MC+c&^^>k#VR-H*Z%hBKzNp$4(~iKwp3LvT|8cF>{C`H0ob zL^QM*Z98Y<%*W?2q-Z!~T{VK0V;}>7TnW@ta0R_YYX_rd{SbWoX*-4vdjfLPSV$A7 zD+k_OP0S5zIc}96n~C6(Of((a$77Dg*7?9w)AAsEqcC~l7*rGko4Buz<7!vtqiy$S z?BKCum7@_{S%il25%4bn0{#tndi+#u+_f6D^RhYjFdlO#RwLXv z8r91SdE6qrwBQl=eC7D+Y%{iO%tg>=Am}&nX4Nnh4gikrtVY+{qYI}4P8N~i`5!$~E$IE9PR1F%qd%>Vfy<|F!YS@6Mh7)T=IB{5+%qRQsr&e~nxwXduTtk-RCx7nPQ|?WK#BE%#2JF>}@nPP=T*+1HSX!?=c?DdF-*= z?{k`d{rY7xva+&t%j?Y=%scC$Oycij7I}8lg>T_LU3dEFzIqJD>fc#|1f_pxWfmLh z&|`W-LVx(1=6v;SD5aqOu5hFC1Zxs0=L0^2?Bj4Z^fP(m-zh{biw6~Ck|f<$WV;Iy z2D2cOBw3`$227Aag4i%6S)|D3;y?xoGD(s}ifn+JunZDpk|c{1*#HxiL4r(@WRW5p z;6K;~2{K8NMT%?)aG5Yje@v2Oks=$y02w66BuN%2vfa~WCm{rxB*`L0wtGoTgISPC zk}OhWyO&EE%z{jkWRW7f=rTRks=$C z=PzN9K68`w$09|xdut4XS&&JREK+2TmNs>j1Y$%?;f;A8dC(Ow0xqC}TESf@pZpLElU-6Aw zVD?J6pY95r3{;->u%AtoL`8>UP&7{NJwk*U^)nrQIKY zV0`wPK%kMP=t=L3JN4^2 zB6_ttvJ(L=!QJO)-QDb~!;^^j?&KMy>+Sc(^PWAdel$J5Q}6Db-;?;d_fYrMJ&E)& z{j7IiZ)ZgAugBee?GYbXZ;$Bk_08|;W`BlLk3XcYi%uLxBHrz8_KnZ(Ek+_?UZ382 zI9>O|ea-0(%_-Jnk+2S*zk(4cE%h}!?Ql2}j`04Z>&-qVn$y)Vr@wt)y?0PwiiD$l z5$=ueE4W)+gZ}IHKk9mgx%wS=Xgv~%#bO=KEAroUUF`0TC)_uP_qv;%`=a}6zK!v? zGr6AscIx(n5s$aFCOr4v;noKu5LlDQ?W;oOcv8s8(5JGCrqW<~l=K3$Oh*nfSRq9= f-O$+Ek#6_aWX8R5?)davdR{%hKF%(QjMRSsa3SqU From af4d48aec02c17318883a9b850f547d494e27fd7 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 15 Jan 2014 15:42:14 +0100 Subject: [PATCH 25/50] Fix: If end date is not defined, we can't say it is too late. --- htdocs/fourn/class/fournisseur.facture.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index a237ef49a5fd0..060d2d51a83c2 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -1378,7 +1378,7 @@ function load_board($user) while ($obj=$this->db->fetch_object($resql)) { $this->nbtodo++; - if ($this->db->jdate($obj->datefin) < ($now - $conf->facture->fournisseur->warning_delay)) $this->nbtodolate++; + if (! empty($obj->datefin) && $this->db->jdate($obj->datefin) < ($now - $conf->facture->fournisseur->warning_delay)) $this->nbtodolate++; } $this->db->free($resql); return 1; From 6a95f7303654ba788ec6446736f79dd42684b6c5 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 15 Jan 2014 16:14:34 +0100 Subject: [PATCH 26/50] Fix: Missing translation key --- htdocs/langs/en_US/banks.lang | 1 + 1 file changed, 1 insertion(+) diff --git a/htdocs/langs/en_US/banks.lang b/htdocs/langs/en_US/banks.lang index e4de38e621e43..88ac8d90d5ee1 100644 --- a/htdocs/langs/en_US/banks.lang +++ b/htdocs/langs/en_US/banks.lang @@ -28,6 +28,7 @@ EndBankBalance=End balance CurrentBalance=Current balance FutureBalance=Future balance ShowAllTimeBalance=Show balance from start +AllTime=From start Reconciliation=Reconciliation RIB=Bank Account Number IBAN=IBAN number From fce9baddf09ceff31e768aa52d332f2bd30181f0 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 15 Jan 2014 17:21:13 +0100 Subject: [PATCH 27/50] New: Add substitution key into emailing module to include securitykey used for paypal links into email. --- htdocs/comm/mailing/fiche.php | 14 ++++++++++++-- scripts/emailings/mailing-send.php | 30 ++++++++++++++++++------------ 2 files changed, 30 insertions(+), 14 deletions(-) diff --git a/htdocs/comm/mailing/fiche.php b/htdocs/comm/mailing/fiche.php index 3510df7339eef..dfd88d42cbd7b 100644 --- a/htdocs/comm/mailing/fiche.php +++ b/htdocs/comm/mailing/fiche.php @@ -71,6 +71,11 @@ '__UNSUBSCRIBE__' => 'TagUnsubscribe' //,'__PERSONALIZED__' => 'Personalized' // Hidden because not used yet ); +if (! empty($conf->paypal->enabled) && ! empty($conf->global->PAYPAL_SECURITY_TOKEN)) +{ + $object->substitutionarray['__SECUREKEYPAYPAL__']='SecureKeyPaypal'; + if (! empty($conf->global->PAYPAL_SECURITY_TOKEN_UNIQUE)) $object->substitutionarray['__SECUREKEYPAYPAL_MEMBER__']='SecureKeyPaypalUniquePerMember'; +} $object->substitutionarrayfortest=array( '__ID__' => 'TESTIdRecord', @@ -86,7 +91,7 @@ '__SIGNATURE__' => (($user->signature && empty($conf->global->MAIN_MAIL_DO_NOT_USE_SIGN))?$user->signature:''), '__CHECK_READ__' => 'TagCheckMail', '__UNSUBSCRIBE__' => 'TagUnsubscribe' -//,'__PERSONALIZED__' => 'TESTPersonalized' // Not used yet + //,'__PERSONALIZED__' => 'TESTPersonalized' // Not used yet ); @@ -222,7 +227,12 @@ '__OTHER4__' => $other4, '__OTHER5__' => $other5 ); - + if (! empty($conf->paypal->enabled) && ! empty($conf->global->PAYPAL_SECURITY_TOKEN)) + { + $substitutionarray['__SECUREKEYPAYPAL__']=dol_hash($conf->global->PAYPAL_SECURITY_TOKEN, 2); + if (empty($conf->global->PAYPAL_SECURITY_TOKEN_UNIQUE)) $substitutionarray['__SECUREKEYPAYPAL_MEMBER__']=dol_hash($conf->global->PAYPAL_SECURITY_TOKEN, 2); + else $substitutionarray['__SECUREKEYPAYPAL_MEMBER__']=dol_hash($conf->global->PAYPAL_SECURITY_TOKEN . 'membersubscription' . $obj->source_id, 2); + } $substitutionisok=true; complete_substitutions_array($substitutionarray, $langs); $newsubject=make_substitutions($subject,$substitutionarray); diff --git a/scripts/emailings/mailing-send.php b/scripts/emailings/mailing-send.php index c6fffdcc59f9e..4742cf59b1839 100755 --- a/scripts/emailings/mailing-send.php +++ b/scripts/emailings/mailing-send.php @@ -145,19 +145,25 @@ $other4=$other[3]; $other5=$other[4]; $substitutionarray=array( - '__ID__' => $obj->source_id, - '__EMAIL__' => $obj->email, - '__CHECK_READ__' => '', - '__UNSUBSCRIBE__' => ''.$langs->trans("MailUnsubcribe").'', - '__MAILTOEMAIL__' => ''.$obj2->email.'', - '__LASTNAME__' => $obj2->lastname, - '__FIRSTNAME__' => $obj2->firstname, - '__OTHER1__' => $other1, - '__OTHER2__' => $other2, - '__OTHER3__' => $other3, - '__OTHER4__' => $other4, - '__OTHER5__' => $other5 + '__ID__' => $obj->source_id, + '__EMAIL__' => $obj->email, + '__CHECK_READ__' => '', + '__UNSUBSCRIBE__' => ''.$langs->trans("MailUnsubcribe").'', + '__MAILTOEMAIL__' => ''.$obj2->email.'', + '__LASTNAME__' => $obj2->lastname, + '__FIRSTNAME__' => $obj2->firstname, + '__OTHER1__' => $other1, + '__OTHER2__' => $other2, + '__OTHER3__' => $other3, + '__OTHER4__' => $other4, + '__OTHER5__' => $other5 ); + if (! empty($conf->paypal->enabled) && ! empty($conf->global->PAYPAL_SECURITY_TOKEN)) + { + $substitutionarray['__SECUREKEYPAYPAL__']=dol_hash($conf->global->PAYPAL_SECURITY_TOKEN, 2); + if (empty($conf->global->PAYPAL_SECURITY_TOKEN_UNIQUE)) $substitutionarray['__SECUREKEYPAYPAL_MEMBER__']=dol_hash($conf->global->PAYPAL_SECURITY_TOKEN, 2); + else $substitutionarray['__SECUREKEYPAYPAL_MEMBER__']=dol_hash($conf->global->PAYPAL_SECURITY_TOKEN . 'membersubscription' . $obj->source_id, 2); + } complete_substitutions_array($substitutionarray,$langs); $newsubject=make_substitutions($subject,$substitutionarray); From b5620d5f154fbd76e26152f1d3250c1a53ea8a64 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 15 Jan 2014 17:52:16 +0100 Subject: [PATCH 28/50] New: The box "balance of bank accounts" show all opened accounts. --- ChangeLog | 1 + htdocs/core/boxes/box_comptes.php | 2 +- htdocs/langs/en_US/boxes.lang | 4 ++-- htdocs/langs/fr_FR/boxes.lang | 4 ++-- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index 27ce4abbbcf6d..ad9fd2c08f052 100644 --- a/ChangeLog +++ b/ChangeLog @@ -14,6 +14,7 @@ For users: - New: Add button cancel into edition of notes. - New: Improved Opensurvey module and added options to disable comments and disable public votes +- New: The box "balance of bank accounts" show all opened accounts. For translators: - Update language files. diff --git a/htdocs/core/boxes/box_comptes.php b/htdocs/core/boxes/box_comptes.php index 9b80ffefb7400..17fd2a63fed6b 100644 --- a/htdocs/core/boxes/box_comptes.php +++ b/htdocs/core/boxes/box_comptes.php @@ -85,7 +85,7 @@ function loadBox($max=5) $sql.= " FROM ".MAIN_DB_PREFIX."bank_account"; $sql.= " WHERE entity = ".$conf->entity; $sql.= " AND clos = 0"; - $sql.= " AND courant = 1"; + //$sql.= " AND courant = 1"; $sql.= " ORDER BY label"; $sql.= $db->plimit($max, 0); diff --git a/htdocs/langs/en_US/boxes.lang b/htdocs/langs/en_US/boxes.lang index aceee7db3a0c1..e7e9da7dc1b80 100644 --- a/htdocs/langs/en_US/boxes.lang +++ b/htdocs/langs/en_US/boxes.lang @@ -18,7 +18,7 @@ BoxLastContracts=Last contracts BoxLastContacts=Last contacts/addresses BoxLastMembers=Last members BoxFicheInter=Last interventions -BoxCurrentAccounts=Current accounts balance +BoxCurrentAccounts=Opened accounts balance BoxSalesTurnover=Sales turnover BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices @@ -43,7 +43,7 @@ BoxTitleLastModifiedMembers=Last %s modified members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer's invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier's invoices -BoxTitleCurrentAccounts=Current account's balances +BoxTitleCurrentAccounts=Opened account's balances BoxTitleSalesTurnover=Sales turnover BoxTitleTotalUnpaidCustomerBills=Unpaid customer's invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier's invoices diff --git a/htdocs/langs/fr_FR/boxes.lang b/htdocs/langs/fr_FR/boxes.lang index 314faf964bc13..bef2dea85fea7 100644 --- a/htdocs/langs/fr_FR/boxes.lang +++ b/htdocs/langs/fr_FR/boxes.lang @@ -18,7 +18,7 @@ BoxLastContracts=Derniers contrats BoxLastContacts=Derniers contacts/adresses BoxLastMembers=Derniers adhérents modifiés BoxFicheInter=Dernières fiches d'intervention modifiées -BoxCurrentAccounts=Soldes des comptes courants +BoxCurrentAccounts=Soldes des comptes ouverts BoxSalesTurnover=Chiffre d'affaires BoxTotalUnpaidCustomerBills=Total des factures clients impayées BoxTotalUnpaidSuppliersBills=Total des factures fournisseurs impayées @@ -43,7 +43,7 @@ BoxTitleLastModifiedMembers=Les %s derniers adhérents modifiés BoxTitleLastFicheInter=Les %s dernières fiches d'intervention modifiées BoxTitleOldestUnpaidCustomerBills=Les %s plus anciennes factures clients impayées BoxTitleOldestUnpaidSupplierBills=Les %s plus anciennes factures fournisseurs impayées -BoxTitleCurrentAccounts=Les soldes des comptes courants +BoxTitleCurrentAccounts=Les soldes des comptes ouverts BoxTitleSalesTurnover=Le chiffre d'affaires réalisé BoxTitleTotalUnpaidCustomerBills=Impayés clients BoxTitleTotalUnpaidSuppliersBills=Impayés fournisseurs From ad5fc43e5b09cc1e950b6ed1be18a35812a6274a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 15 Jan 2014 18:20:24 +0100 Subject: [PATCH 29/50] doxygen --- htdocs/core/modules/modOpenSurvey.class.php | 5 +---- htdocs/core/modules/modSkype.class.php | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/htdocs/core/modules/modOpenSurvey.class.php b/htdocs/core/modules/modOpenSurvey.class.php index 6743d415ff14f..9f643170588d4 100644 --- a/htdocs/core/modules/modOpenSurvey.class.php +++ b/htdocs/core/modules/modOpenSurvey.class.php @@ -17,11 +17,8 @@ */ /** - * \defgroup opensurvey Module OpenSurvey + * \defgroup opensurvey Module opensurvey * \brief Module to OpenSurvey integration. - */ - -/** * \file htdocs/core/modules/modOpenSurvey.class.php * \ingroup opensurvey * \brief Description and activation file for module OpenSurvey diff --git a/htdocs/core/modules/modSkype.class.php b/htdocs/core/modules/modSkype.class.php index 6f7da0d3e73d0..6a009956b5b83 100644 --- a/htdocs/core/modules/modSkype.class.php +++ b/htdocs/core/modules/modSkype.class.php @@ -16,11 +16,11 @@ */ /** - * \defgroup Skype Module Skype + * \defgroup Skype Module skype * \brief Add a skype button. * \file htdocs/core/modules/modSkype.class.php * \ingroup Skype - * \brief Description and activation file for module Skype + * \brief Description and activation file for module skype */ include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php'; From aa69927089744ec3644e0bd94b26c9cd0f52bd8e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 15 Jan 2014 18:35:15 +0100 Subject: [PATCH 30/50] Move table title nowrap tag at a better place. --- htdocs/core/lib/functions.lib.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 906eb08dd8131..31e2a1344b40a 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -2406,8 +2406,8 @@ function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $m // If field is used as sort criteria we use a specific class // Example if (sortfield,field)=("nom","xxx.nom") or (sortfield,field)=("nom","nom") - if ($field && ($sortfield == $field || $sortfield == preg_replace("/^[^\.]+\./","",$field))) $out.= '<'.$tag.' class="liste_titre_sel'.($field?' nowrap':'').'" '. $moreattrib.'>'; - else $out.= '<'.$tag.' class="liste_titre'.($field?' nowrap':'').'" '. $moreattrib.'>'; + if ($field && ($sortfield == $field || $sortfield == preg_replace("/^[^\.]+\./","",$field))) $out.= '<'.$tag.' class="liste_titre_sel" '. $moreattrib.'>'; + else $out.= '<'.$tag.' class="liste_titre" '. $moreattrib.'>'; if (! empty($conf->dol_optimize_smallscreen) && empty($thead) && $field) // If this is a sort field { @@ -2435,7 +2435,7 @@ function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $m if (! preg_match('/^&/',$options)) $options='&'.$options; //print " "; - $out.= ''; + $out.= ''; if (! $sortorder || $field != $sortfield) { @@ -2453,6 +2453,8 @@ function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $m $out.= ''.img_up("Z-A",0).''; } } + + $out.= ''; } $out.=''; From d72167d5435af5c69378c322e00be6174061da9a Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 15 Jan 2014 19:12:55 +0100 Subject: [PATCH 31/50] Code comments --- htdocs/install/upgrade.php | 14 +++++++++++--- htdocs/install/upgrade2.php | 8 ++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/htdocs/install/upgrade.php b/htdocs/install/upgrade.php index 904144cad66c4..05defaed9eb5a 100644 --- a/htdocs/install/upgrade.php +++ b/htdocs/install/upgrade.php @@ -15,6 +15,14 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . + * + * Upgrade scripts can be ran from command line with syntax: + * + * cd htdocs/install + * php upgrade.php 3.4.0 3.5.0 + * php upgrade2.php 3.4.0 3.5.0 + * + * Return code is 0 if OK, >0 if error */ /** @@ -260,6 +268,7 @@ } } + /* * Remove deprecated indexes and constraints for Mysql */ @@ -343,12 +352,12 @@ { while (($file = readdir($handle))!==false) { - if (preg_match('/\.sql$/i',$file)) $filesindir[]=$file; + if (preg_match('/\.sql$/i',$file)) $filesindir[]=$file; } sort($filesindir); } else - { + { print '
'.$langs->trans("ErrorCanNotReadDir",$dir).'
'; } @@ -413,7 +422,6 @@ if ($db->connected) $db->close(); } - if (empty($actiondone)) { print '
'.$langs->trans("ErrorWrongParameters").'
'; diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index 78c223a98072b..593ae33ebcc22 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -16,6 +16,14 @@ * * You should have received a copy of the GNU General Public License * along with this program. If not, see . + * + * Upgrade scripts can be ran from command line with syntax: + * + * cd htdocs/install + * php upgrade.php 3.4.0 3.5.0 + * php upgrade2.php 3.4.0 3.5.0 + * + * Return code is 0 if OK, >0 if error */ /** From b3229a402196259fda8d0003d385942b40281b04 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 15 Jan 2014 19:23:33 +0100 Subject: [PATCH 32/50] Qual: Add error message if using wrong parameter into upgrade.php script First try to test migration into travis. --- .travis.yml | 7 ++-- htdocs/install/upgrade.php | 83 +++++++++++++++++++++----------------- 2 files changed, 49 insertions(+), 41 deletions(-) diff --git a/.travis.yml b/.travis.yml index 26d4c64fef25b..70c20af872d2b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -56,7 +56,7 @@ before_script: - sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE DATABASE myapp_test;' -U postgres; fi" - sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'DROP DATABASE IF EXISTS myapp_test;'; fi" - sh -c "if [ '$DB' = 'mysql' ]; then mysql -e 'CREATE DATABASE IF NOT EXISTS myapp_test;'; fi" - - sh -c "if [ '$DB' = 'mysql' ]; then mysql -D myapp_test < $(pwd)/dev/initdata/mysqldump_dolibarr_3.5.0.sql; fi" + - sh -c "if [ '$DB' = 'mysql' ]; then mysql -D myapp_test < $(pwd)/dev/initdata/mysqldump_dolibarr_3.4.0.sql; fi" - echo Create config file htdocs/conf/conf.php - echo ' htdocs/conf/conf.php - sh -c "if [ '$DB' = 'pgsql' ]; then echo '$'dolibarr_main_db_type=\'pgsql\'';' >> htdocs/conf/conf.php; fi" @@ -84,13 +84,14 @@ before_script: script: + - cd htdocs/install; php upgrade.php 3.4.0 3.5.0 # - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml --coverage-text test/phpunit/AllTests.php # - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml --coverage-text test/phpunit/BuildDocTest.php # - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml test/phpunit/WebservicesOtherTest.php # - phpcs --warning-severity=0 -s --report-checkstyle --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/build/html/,/documents/,/includes/,/test/report/ htdocs/core/class/dolgraph.class.php - - phpcs --warning-severity=0 -s --report-checkstyle --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/build/html/,/documents/,/includes/,/test/report/ . +# - phpcs --warning-severity=0 -s --report-checkstyle --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/build/html/,/documents/,/includes/,/test/report/ . # - phpcs --warning-severity=0 -s --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/build/html/,/documents/,/includes/,/test/report/ . - - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml test/phpunit/AllTests.php +# - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml test/phpunit/AllTests.php after_script: # - echo Output dolibarr log file; cat $(pwd)/htdocs/documents/dolibarr.log diff --git a/htdocs/install/upgrade.php b/htdocs/install/upgrade.php index 904144cad66c4..ccb19aa352a8d 100644 --- a/htdocs/install/upgrade.php +++ b/htdocs/install/upgrade.php @@ -365,47 +365,54 @@ } } - // Loop on each migrate files - foreach($filelist as $file) + if (count($filelist) == 0) { - print '
'; - print ''."\n"; - - // Run sql script - $ok=run_sql($dir.$file, 0, '', 1); - - // Scan if there is migration scripts for modules htdocs/module/sql or htdocs/custom/module/sql - $modulesfile = array(); - foreach ($conf->file->dol_document_root as $type => $dirroot) - { - $handlemodule=@opendir($dirroot); // $dirroot may be '..' - if (is_resource($handlemodule)) - { - while (($filemodule = readdir($handlemodule))!==false) - { - if (! preg_match('/\./',$filemodule) && is_dir($dirroot.'/'.$filemodule.'/sql')) // We exclude filemodule that contains . (are not directories) and are not directories. - { - //print "Scan for ".$dirroot . '/' . $filemodule . '/sql/'.$file; - if (is_file($dirroot . '/' . $filemodule . '/sql/'.$file)) - { - $modulesfile[$dirroot . '/' . $filemodule . '/sql/'.$file] = '/' . $filemodule . '/sql/'.$file; - } - } - } - closedir($handlemodule); - } - } - - foreach ($modulesfile as $modulefilelong => $modulefileshort) - { - print ''; - print ''."\n"; + print '
'.$langs->trans("ErrorNoMigrationFilesFoundForParameters").'
'; + } + else + { + // Loop on each migrate files + foreach($filelist as $file) + { + print ''; + print ''."\n"; // Run sql script - $okmodule=run_sql($modulefilelong, 0, '', 1); // Note: Result of migration of external module should not decide if we continue migration of Dolibarr or not. - } - - } + $ok=run_sql($dir.$file, 0, '', 1); + + // Scan if there is migration scripts for modules htdocs/module/sql or htdocs/custom/module/sql + $modulesfile = array(); + foreach ($conf->file->dol_document_root as $type => $dirroot) + { + $handlemodule=@opendir($dirroot); // $dirroot may be '..' + if (is_resource($handlemodule)) + { + while (($filemodule = readdir($handlemodule))!==false) + { + if (! preg_match('/\./',$filemodule) && is_dir($dirroot.'/'.$filemodule.'/sql')) // We exclude filemodule that contains . (are not directories) and are not directories. + { + //print "Scan for ".$dirroot . '/' . $filemodule . '/sql/'.$file; + if (is_file($dirroot . '/' . $filemodule . '/sql/'.$file)) + { + $modulesfile[$dirroot . '/' . $filemodule . '/sql/'.$file] = '/' . $filemodule . '/sql/'.$file; + } + } + } + closedir($handlemodule); + } + } + + foreach ($modulesfile as $modulefilelong => $modulefileshort) + { + print ''; + print ''."\n"; + + // Run sql script + $okmodule=run_sql($modulefilelong, 0, '', 1); // Note: Result of migration of external module should not decide if we continue migration of Dolibarr or not. + } + + } + } } print '
'.$langs->trans("ProposalsOpened").' ('.$num.')
'.$langs->trans("ProposalsOpened").' ('.$num.')
'.$langs->trans("XMoreLines", ($num - $nbofloop))."
'.$langs->trans("Total")."".price($total)." 
'; - print ''; + print ''; print '  '; - print ''; + print ''; print '
 '; - print ''; + print ''; print '  '; - print ''; + print ''; print '
'; - print ''; + print ''; print '
 
'; + print ''; print '  '; - print ''; + print ''; print ''; - print ''; + print ''; print '  '; - print ''; + print ''; print '
   '; + print ''; print "
'; $formpropal->select_propal_statut($viewstatut,1); print ''; + print ''; print '
'; - print ''; + print ''; print ''; - print ''; + print ''; print '
 '; print ' '; print ''; - print ''; + print ''; print '
'; - print ''; + print ''; //ALL/NONE print ''; diff --git a/htdocs/compta/bank/account.php b/htdocs/compta/bank/account.php index 319ba7ab9d9ab..d85d6ff3b271b 100644 --- a/htdocs/compta/bank/account.php +++ b/htdocs/compta/bank/account.php @@ -422,7 +422,7 @@ print ' 
'; print ''; if (! empty($_REQUEST['bid'])) print ''; - print ''; + print ''; print '
'; print ' '; print ''; + print ''; print "
'; print ' '; print ''; + print ''; print "
  '; - print ''; + print ''; print ''; if ($conf->use_javascript_ajax) print ''.$langs->trans("All").' / '.$langs->trans("None").''; From 462f65614d134bdc1e6039f098ad5aaa1fb544d5 Mon Sep 17 00:00:00 2001 From: Grand Philippe Date: Mon, 13 Jan 2014 10:10:17 +0100 Subject: [PATCH 14/50] Fix: path to image must not be hardcoded but use dol_buildpath or img_picto with param src=1 --- htdocs/comm/mailing/fiche.php | 2 +- htdocs/compta/clients.php | 2 +- htdocs/compta/facture/list.php | 2 +- htdocs/compta/paiement/cheque/liste.php | 2 +- htdocs/compta/paiement/liste.php | 2 +- htdocs/compta/prelevement/bons.php | 2 +- htdocs/compta/prelevement/demandes.php | 2 +- htdocs/compta/prelevement/liste.php | 2 +- htdocs/compta/sociales/index.php | 2 +- htdocs/compta/stats/cabyprodserv.php | 2 +- htdocs/compta/stats/casoc.php | 2 +- htdocs/compta/ventilation/lignes.php | 2 +- htdocs/contrat/liste.php | 2 +- htdocs/contrat/services.php | 2 +- htdocs/core/lib/company.lib.php | 2 +- htdocs/cron/list.php | 4 ++-- htdocs/fichinter/list.php | 2 +- htdocs/fourn/commande/liste.php | 2 +- htdocs/fourn/facture/list.php | 2 +- htdocs/fourn/facture/paiement.php | 2 +- htdocs/fourn/product/liste.php | 4 ++-- htdocs/holiday/index.php | 2 +- htdocs/product/stock/mouvement.php | 4 ++-- htdocs/product/stock/replenish.php | 6 ++---- 24 files changed, 28 insertions(+), 30 deletions(-) diff --git a/htdocs/comm/mailing/fiche.php b/htdocs/comm/mailing/fiche.php index 3510df7339eef..8d7f3ea988ada 100644 --- a/htdocs/comm/mailing/fiche.php +++ b/htdocs/comm/mailing/fiche.php @@ -1080,7 +1080,7 @@ { $out.= '
'; $out.= img_mime($listofpaths[$key]['name']).' '.$listofpaths[$key]['name']; - $out.= ' '; + $out.= ' '; $out.= '
'; } } diff --git a/htdocs/compta/clients.php b/htdocs/compta/clients.php index f54f893d79c0b..4f6719adb145e 100644 --- a/htdocs/compta/clients.php +++ b/htdocs/compta/clients.php @@ -173,7 +173,7 @@ print '
'; - print ''; + print ''; print '
  '; + print ''; print "
'; - print ''; + print ''; print '
'; print ''; - print ''; + print ''; print '
 
  
  '; - print ''; + print ''; print '
'; - print ''; + print ''; print '
'; -print ''; +print ''; print '
  '; - print ''; + print ''; print '
  '; + print ''; print "
'; + print ''; print "
'; - print ''; + print ''; print '
'; print ' '; -print ''; +print ''; print '  '; -print ''; +print ''; print '
   
'; - print ''; + print ''; print '
'; print ''; print ''; - print ''; + print ''; print '
'; print ''; - print ''; + print ''; print '
'; - print ''; + print ''; print '  '; - print ''; + print ''; print '
'; -print ''; +print ''; print '
'; - print ''; + print ''; print '  '; - print ''; + print ''; print '
  '. - ''. - ''. + ''. + ''. '
'; - print ''; - print ''; + print ''; + print ''; print '
  '; - print ''; - print ''; + print ''; + print ''; print '
 
'; print ' '; print '
'; -print ''; -print ''; +print ''; +print ''; print '
'; - print ''; + print ''; print '  '; - print ''; + print ''; print '
'; - print ''; + print ''; print '

'.$langs->trans("ChoosedMigrateScript").''.$file.'

'.$langs->trans("ChoosedMigrateScript").' (external modules)'.$modulefileshort.'

'.$langs->trans("ChoosedMigrateScript").''.$file.'

'.$langs->trans("ChoosedMigrateScript").' (external modules)'.$modulefileshort.'
'; From 38a7513fccaecbb645c7594b6cc45cb1010988c9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 15 Jan 2014 19:55:29 +0100 Subject: [PATCH 33/50] Qual: Include migration script into continuous integration. --- .travis.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 70c20af872d2b..b14888ea82831 100644 --- a/.travis.yml +++ b/.travis.yml @@ -80,18 +80,23 @@ before_script: - sudo /etc/init.d/apache2 restart - wget http://localhost/ - cat index.html - + script: - - cd htdocs/install; php upgrade.php 3.4.0 3.5.0 + - cd htdocs/install; php upgrade.php 3.4.0 3.5.0 > upgrade.log + - cd htdocs/install; php upgrade.php2 3.4.0 3.5.0 > upgrade2.log + - cd htdocs/install; php upgrade.php 3.5.0 3.6.0 >> upgrade.log + - cd htdocs/install; php upgrade.php2 3.5.0 3.6.0 >> upgrade2.log +# - cat upgrade.log +# - cat upgrade2.log # - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml --coverage-text test/phpunit/AllTests.php # - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml --coverage-text test/phpunit/BuildDocTest.php # - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml test/phpunit/WebservicesOtherTest.php # - phpcs --warning-severity=0 -s --report-checkstyle --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/build/html/,/documents/,/includes/,/test/report/ htdocs/core/class/dolgraph.class.php -# - phpcs --warning-severity=0 -s --report-checkstyle --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/build/html/,/documents/,/includes/,/test/report/ . + - phpcs --warning-severity=0 -s --report-checkstyle --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/build/html/,/documents/,/includes/,/test/report/ . # - phpcs --warning-severity=0 -s --report-summary --standard=dev/codesniffer/ruleset.xml --tab-width=4 --ignore=/build/html/,/documents/,/includes/,/test/report/ . -# - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml test/phpunit/AllTests.php + - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml test/phpunit/AllTests.php after_script: # - echo Output dolibarr log file; cat $(pwd)/htdocs/documents/dolibarr.log From 6f4e2dd9fcaded81364c90127f49a9ecba6aa2ea Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 15 Jan 2014 20:33:40 +0100 Subject: [PATCH 34/50] Qual: Include migration script into continuous integration. --- .travis.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index b14888ea82831..1d359cf4ed81f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -84,10 +84,12 @@ before_script: script: - - cd htdocs/install; php upgrade.php 3.4.0 3.5.0 > upgrade.log - - cd htdocs/install; php upgrade.php2 3.4.0 3.5.0 > upgrade2.log - - cd htdocs/install; php upgrade.php 3.5.0 3.6.0 >> upgrade.log - - cd htdocs/install; php upgrade.php2 3.5.0 3.6.0 >> upgrade2.log + - cd htdocs/install + - php upgrade.php 3.4.0 3.5.0 > upgrade.log + - php upgrade2.php 3.4.0 3.5.0 > upgrade2.log + - php upgrade.php 3.5.0 3.6.0 >> upgrade.log + - php upgrade2.php 3.5.0 3.6.0 >> upgrade2.log + - cd # - cat upgrade.log # - cat upgrade2.log # - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml --coverage-text test/phpunit/AllTests.php From f83044c5c5dea8ef89209f98c29ecb86e74c4120 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Wed, 15 Jan 2014 21:35:49 +0100 Subject: [PATCH 35/50] Qual: Include migration script into continuous integration. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 1d359cf4ed81f..a4f8ecd827075 100644 --- a/.travis.yml +++ b/.travis.yml @@ -89,7 +89,7 @@ script: - php upgrade2.php 3.4.0 3.5.0 > upgrade2.log - php upgrade.php 3.5.0 3.6.0 >> upgrade.log - php upgrade2.php 3.5.0 3.6.0 >> upgrade2.log - - cd + - cd ../.. # - cat upgrade.log # - cat upgrade2.log # - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml --coverage-text test/phpunit/AllTests.php From c5bcc92651d623f1f282899bfb822a78b6f13786 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Thu, 16 Jan 2014 00:07:45 +0100 Subject: [PATCH 36/50] Rename tag note to differentiate public and private note --- htdocs/core/class/commondocgenerator.class.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/htdocs/core/class/commondocgenerator.class.php b/htdocs/core/class/commondocgenerator.class.php index 86d924b5fa29e..ee5ab2cbae9ef 100644 --- a/htdocs/core/class/commondocgenerator.class.php +++ b/htdocs/core/class/commondocgenerator.class.php @@ -170,7 +170,8 @@ function get_substitutionarray_thirdparty($object,$outputlangs) 'company_idprof4'=>$object->idprof4, 'company_idprof5'=>$object->idprof5, 'company_idprof6'=>$object->idprof6, - 'company_note'=>$object->note + 'company_note_public'=>$object->note_public, + 'company_note_private'=>$object->note_private ); // Retrieve extrafields @@ -260,7 +261,7 @@ function get_substitutionarray_propal($object,$outputlangs,$array_key='object') $array_key.'_total_localtax2'=>price2num($object->total_localtax2), $array_key.'_total_ttc'=>price2num($object->total_ttc), $array_key.'_total_discount_ht' => price2num($object->getTotalDiscount()), - + $array_key.'_vatrate'=>vatrate($object->tva), $array_key.'_note_private'=>$object->note, $array_key.'_note'=>$object->note_public, @@ -314,7 +315,7 @@ function get_substitutionarray_propal_lines($line,$outputlangs) 'line_date_end'=>$line->date_end ); } - + /** * Define array with couple substitution key => substitution value * From 0bdcd108f5f76817b6d26ddb2c8c124d8c8f649d Mon Sep 17 00:00:00 2001 From: Christophe Battarel Date: Thu, 16 Jan 2014 11:04:56 +0100 Subject: [PATCH 37/50] Add supplier informations in product export (supplier name, supplier product ref and supplier unit price) --- htdocs/core/modules/modProduct.class.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/htdocs/core/modules/modProduct.class.php b/htdocs/core/modules/modProduct.class.php index 088c688a4fde3..43cab4f72cff6 100644 --- a/htdocs/core/modules/modProduct.class.php +++ b/htdocs/core/modules/modProduct.class.php @@ -5,6 +5,7 @@ * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012-2013 Juanjo Menent + * Copyright (C) 2014 Christophe Battarel * * 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 @@ -140,12 +141,15 @@ function __construct($db) $this->export_fields_array[$r]=array('p.rowid'=>"Id",'p.ref'=>"Ref",'p.label'=>"Label",'p.description'=>"Description",'p.accountancy_code_sell'=>"ProductAccountancySellCode",'p.accountancy_code_buy'=>"ProductAccountancyBuyCode",'p.note'=>"Note",'p.length'=>"Length",'p.surface'=>"Surface",'p.volume'=>"Volume",'p.weight'=>"Weight",'p.customcode'=>'CustomCode','p.price_base_type'=>"PriceBase",'p.price'=>"UnitPriceHT",'p.price_ttc'=>"UnitPriceTTC",'p.tva_tx'=>'VATRate','p.tosell'=>"OnSell",'p.tobuy'=>"OnBuy",'p.datec'=>'DateCreation','p.tms'=>'DateModification'); if (! empty($conf->stock->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r],array('p.stock'=>'Stock','p.pmp'=>'PMPValue')); if (! empty($conf->barcode->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r],array('p.barcode'=>'BarCode')); + if (! empty($conf->fournisseur->enabled)) $this->export_fields_array[$r]=array_merge($this->export_fields_array[$r],array('s.nom'=>'Supplier','pf.ref_fourn'=>'SupplierRef','pf.unitprice'=>'SuppliersPrices')); $this->export_TypeFields_array[$r]=array('p.ref'=>"Text",'p.label'=>"Text",'p.description'=>"Text",'p.accountancy_code_sell'=>"Text",'p.accountancy_code_buy'=>"Text",'p.note'=>"Text",'p.length'=>"Number",'p.surface'=>"Number",'p.volume'=>"Number",'p.weight'=>"Number",'p.customcode'=>'Text','p.price_base_type'=>"Text",'p.price'=>"Number",'p.price_ttc'=>"Number",'p.tva_tx'=>'Number','p.tosell'=>"Boolean",'p.tobuy'=>"Boolean",'p.datec'=>'Date','p.tms'=>'Date'); if (! empty($conf->stock->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('p.pmp'=>'Number')); if (! empty($conf->barcode->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('p.barcode'=>'Text')); - $this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product",'p.label'=>"product",'p.description'=>"product",'p.accountancy_code_sell'=>'product','p.note'=>"product",'p.length'=>"product",'p.surface'=>"product",'p.volume'=>"product",'p.weight'=>"product",'p.customcode'=>'product','p.price_base_type'=>"product",'p.price'=>"product",'p.price_ttc'=>"product",'p.tva_tx'=>"product",'p.tosell'=>"product",'p.tobuy'=>"product",'p.datec'=>"product",'p.tms'=>"product"); + if (! empty($conf->fournisseur->enabled)) $this->export_TypeFields_array[$r]=array_merge($this->export_TypeFields_array[$r],array('s.nom'=>'Text','pf.ref_fourn'=>'Text','pf.unitprice'=>'Number')); + $this->export_entities_array[$r]=array('p.rowid'=>"product",'p.ref'=>"product",'p.label'=>"product",'p.description'=>"product",'p.accountancy_code_sell'=>'product','p.accountancy_code_sell'=>'product','p.note'=>"product",'p.length'=>"product",'p.surface'=>"product",'p.volume'=>"product",'p.weight'=>"product",'p.customcode'=>'product','p.price_base_type'=>"product",'p.price'=>"product",'p.price_ttc'=>"product",'p.tva_tx'=>"product",'p.tosell'=>"product",'p.tobuy'=>"product",'p.datec'=>"product",'p.tms'=>"product"); if (! empty($conf->stock->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.stock'=>'product','p.pmp'=>'product')); if (! empty($conf->barcode->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('p.barcode'=>'product')); + if (! empty($conf->fournisseur->enabled)) $this->export_entities_array[$r]=array_merge($this->export_entities_array[$r],array('s.nom'=>'product','pf.ref_fourn'=>'product','pf.unitprice'=>'product')); // Add extra fields $sql="SELECT name, label, type FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'product'"; $resql=$this->db->query($sql); @@ -184,6 +188,7 @@ function __construct($db) $this->export_sql_start[$r]='SELECT DISTINCT '; $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'product as p'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_extrafields as extra ON p.rowid = extra.fk_object'; + if (! empty($conf->fournisseur->enabled)) $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product_fournisseur_price as pf ON pf.fk_product = p.rowid LEFT JOIN '.MAIN_DB_PREFIX.'societe s ON s.rowid = pf.fk_soc'; $this->export_sql_end[$r] .=' WHERE p.fk_product_type = 0 AND p.entity IN ('.getEntity("product", 1).')'; From 031fd2f8b8b3b045b76ec2f56344dd6ab6312c95 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Fri, 17 Jan 2014 03:25:31 +0100 Subject: [PATCH 38/50] Fix: No set focus --- htdocs/core/tpl/login.tpl.php | 2 ++ htdocs/core/tpl/passwordforgotten.tpl.php | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/htdocs/core/tpl/login.tpl.php b/htdocs/core/tpl/login.tpl.php index b2aa1877823a5..357c2b2eba6ad 100644 --- a/htdocs/core/tpl/login.tpl.php +++ b/htdocs/core/tpl/login.tpl.php @@ -33,12 +33,14 @@ +dol_use_jmobile)) { ?> +
diff --git a/htdocs/core/tpl/passwordforgotten.tpl.php b/htdocs/core/tpl/passwordforgotten.tpl.php index 428001e7141fc..414c12bb46232 100644 --- a/htdocs/core/tpl/passwordforgotten.tpl.php +++ b/htdocs/core/tpl/passwordforgotten.tpl.php @@ -31,13 +31,14 @@ - +dol_use_jmobile)) { ?> +
From 4074547589f9442c37267cb69cee7579ca45c200 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 18 Jan 2014 00:50:21 +0100 Subject: [PATCH 39/50] Fix;: Pb of caching static resource (js and css). Add a workaround to avoid any problems. --- htdocs/main.inc.php | 116 ++++++++++++++++++++++---------------------- 1 file changed, 59 insertions(+), 57 deletions(-) diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index c52186b5511c3..0db8df3e45893 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -972,41 +972,44 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs else print "".$appli.""; print "\n"; + $ext=''; + if (! empty($conf->dol_use_jmobile)) $ext='version='.urlencode(DOL_VERSION); + if (! defined('DISABLE_JQUERY') && ! $disablejs && $conf->use_javascript_ajax) { print ''."\n"; $jquerytheme = 'smoothness'; if (!empty($conf->global->MAIN_USE_JQUERY_THEME)) $jquerytheme = $conf->global->MAIN_USE_JQUERY_THEME; - if (constant('JS_JQUERY_UI')) print ''."\n"; // JQuery - else print ''."\n"; // JQuery - print ''."\n"; // Tooltip - print ''."\n"; // JNotify + if (constant('JS_JQUERY_UI')) print ''."\n"; // JQuery + else print ''."\n"; // JQuery + print ''."\n"; // Tooltip + print ''."\n"; // JNotify /*if (! empty($conf->global->MAIN_USE_JQUERY_FILEUPLOAD) || (defined('REQUIRE_JQUERY_FILEUPLOAD') && constant('REQUIRE_JQUERY_FILEUPLOAD'))) // jQuery fileupload { - print ''."\n"; + print ''."\n"; }*/ if (! empty($conf->global->MAIN_USE_JQUERY_DATATABLES) || (defined('REQUIRE_JQUERY_DATATABLES') && constant('REQUIRE_JQUERY_DATATABLES'))) // jQuery datatables { - //print ''."\n"; - print ''."\n"; - print ''."\n"; - print ''."\n"; - //print ''."\n"; - print ''."\n"; + //print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + //print ''."\n"; + print ''."\n"; } if (! empty($conf->global->MAIN_USE_JQUERY_MULTISELECT) || (defined('REQUIRE_JQUERY_MULTISELECT') && constant('REQUIRE_JQUERY_MULTISELECT'))) // jQuery multiselect { - print ''."\n"; + print ''."\n"; } // jQuery Timepicker if (! empty($conf->global->MAIN_USE_JQUERY_TIMEPICKER) || defined('REQUIRE_JQUERY_TIMEPICKER')) { - print ''."\n"; + print ''."\n"; } // jQuery jMobile if (! empty($conf->global->MAIN_USE_JQUERY_JMOBILE) || defined('REQUIRE_JQUERY_JMOBILE') || ! empty($conf->dol_use_jmobile)) { - print ''."\n"; + print ''."\n"; } } @@ -1029,6 +1032,7 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs } } $themeparam='?lang='.$langs->defaultlang.'&theme='.$conf->theme.(GETPOST('optioncss')?'&optioncss='.GETPOST('optioncss','alpha',1):'').'&userid='.$user->id.'&entity='.$conf->entity; + $themeparam.=($ext?'&'.$ext:''); if (! empty($_SESSION['dol_resetcache'])) $themeparam.='&dol_resetcache='.$_SESSION['dol_resetcache']; if (GETPOST('dol_hide_topmenu')) { $themeparam.='&dol_hide_topmenu='.GETPOST('dol_hide_topmenu'); } if (GETPOST('dol_hide_leftmenu')) { $themeparam.='&dol_hide_leftmenu='.GETPOST('dol_hide_leftmenu'); } @@ -1068,63 +1072,61 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs } } - $ext='.js'; - // Output standard javascript links if (! defined('DISABLE_JQUERY') && ! $disablejs && ! empty($conf->use_javascript_ajax)) { // JQuery. Must be before other includes print ''."\n"; - if (constant('JS_JQUERY')) print ''."\n"; - else print ''."\n"; - if (constant('JS_JQUERY_UI')) print ''."\n"; - else print ''."\n"; - print ''."\n"; - print ''."\n"; + if (constant('JS_JQUERY')) print ''."\n"; + else print ''."\n"; + if (constant('JS_JQUERY_UI')) print ''."\n"; + else print ''."\n"; + print ''."\n"; + print ''."\n"; // jQuery Layout if (! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT) || defined('REQUIRE_JQUERY_LAYOUT')) { - print ''."\n"; + print ''."\n"; } // jQuery jnotify if (empty($conf->global->MAIN_DISABLE_JQUERY_JNOTIFY) && ! defined('DISABLE_JQUERY_JNOTIFY')) { - print ''."\n"; - print ''."\n"; + print ''."\n"; + print ''."\n"; } // jQuery blockUI if (! empty($conf->global->MAIN_USE_JQUERY_BLOCKUI) || defined('REQUIRE_JQUERY_BLOCKUI')) { - print ''."\n"; + print ''."\n"; print ''."\n"; - print ''."\n"; + print ''."\n"; } // Flot if (empty($conf->global->MAIN_DISABLE_JQUERY_FLOT)) { if (constant('JS_JQUERY_FLOT')) { - print ''."\n"; - print ''."\n"; - print ''."\n"; - print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; } else { - print ''."\n"; - print ''."\n"; - print ''."\n"; - print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; } } // jQuery jeditable if (! empty($conf->global->MAIN_USE_JQUERY_JEDITABLE)) { - print ''."\n"; - print ''."\n"; - print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; print ''."\n"; - print ''."\n"; - print ''."\n"; + print ''."\n"; + print ''."\n"; } // jQuery File Upload /* if (! empty($conf->global->MAIN_USE_JQUERY_FILEUPLOAD) || (defined('REQUIRE_JQUERY_FILEUPLOAD') && constant('REQUIRE_JQUERY_FILEUPLOAD'))) { - print ''."\n"; - print ''."\n"; - print ''."\n"; - print ''."\n"; - print ''."\n"; - print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; print ''."\n"; - print ''."\n"; + print ''."\n"; }*/ // jQuery DataTables if (! empty($conf->global->MAIN_USE_JQUERY_DATATABLES) || (defined('REQUIRE_JQUERY_DATATABLES') && constant('REQUIRE_JQUERY_DATATABLES'))) { - print ''."\n"; - print ''."\n"; - print ''."\n"; - print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; } // jQuery Multiselect if (! empty($conf->global->MAIN_USE_JQUERY_MULTISELECT) || (defined('REQUIRE_JQUERY_MULTISELECT') && constant('REQUIRE_JQUERY_MULTISELECT'))) { - print ''."\n"; + print ''."\n"; } // jQuery Timepicker if (! empty($conf->global->MAIN_USE_JQUERY_TIMEPICKER) || defined('REQUIRE_JQUERY_TIMEPICKER')) { - print ''."\n"; - print ''."\n"; + print ''."\n"; + print ''."\n"; } // jQuery jMobile if (! empty($conf->global->MAIN_USE_JQUERY_JMOBILE) || defined('REQUIRE_JQUERY_JMOBILE') || (! empty($conf->dol_use_jmobile) && $conf->dol_use_jmobile > 0)) @@ -1189,7 +1191,7 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs }); '; } - if (empty($conf->dol_use_jmobile) || $conf->dol_use_jmobile != 3) print ''."\n"; + if (empty($conf->dol_use_jmobile) || $conf->dol_use_jmobile != 3) print ''."\n"; } } @@ -1212,10 +1214,10 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs // Global js function print ''."\n"; - print ''."\n"; + print ''."\n"; // Add datepicker default options - print ''."\n"; + print ''."\n"; // JS forced by modules (relative url starting with /) if (! empty($conf->modules_parts['js'])) // $conf->modules_parts['js'] is array('module'=>array('file1','file2')) From 22767bac36edfbb017e1cc06568744ce78516eab Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 18 Jan 2014 12:51:27 +0100 Subject: [PATCH 40/50] Fix: Missing the version into url --- htdocs/core/tpl/login.tpl.php | 2 +- htdocs/main.inc.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/tpl/login.tpl.php b/htdocs/core/tpl/login.tpl.php index 357c2b2eba6ad..731084c09260a 100644 --- a/htdocs/core/tpl/login.tpl.php +++ b/htdocs/core/tpl/login.tpl.php @@ -25,7 +25,7 @@ if (GETPOST('dol_no_mouse_hover')) $conf->dol_no_mouse_hover=1; if (GETPOST('dol_use_jmobile')) $conf->dol_use_jmobile=1; -$arrayofjs=array('/core/js/dst.js'); // Javascript code on logon page only to detect user tz, dst_observed, dst_first, dst_second +$arrayofjs=array('/core/js/dst.js'.(empty($conf->dol_use_jmobile)?'':'?version='.urlencode(DOL_VERSION))); // Javascript code on logon page only to detect user tz, dst_observed, dst_first, dst_second $titleofloginpage=$langs->trans('Login').' '.$title; // title is defined by dol_loginfunction in security2.lib.php print top_htmlhead('',$titleofloginpage,0,0,$arrayofjs); ?> diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index 0db8df3e45893..3c48228613e3d 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -1209,7 +1209,7 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs print 'var ckeditorFilebrowserBrowseUrl = \''.DOL_URL_ROOT.'/core/filemanagerdol/browser/default/browser.php?Connector='.DOL_URL_ROOT.'/core/filemanagerdol/connectors/php/connector.php\';'."\n"; print 'var ckeditorFilebrowserImageBrowseUrl = \''.DOL_URL_ROOT.'/core/filemanagerdol/browser/default/browser.php?Type=Image&Connector='.DOL_URL_ROOT.'/core/filemanagerdol/connectors/php/connector.php\';'."\n"; print ''."\n"; - print ''."\n"; + print ''."\n"; } // Global js function From becd65f9d3436a6542ed439beb792ea92512bfdb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 19 Jan 2014 21:34:48 +0100 Subject: [PATCH 41/50] Fix: Bad space into log --- htdocs/core/lib/files.lib.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index 3df77ec722a1f..c021d0411baeb 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -538,13 +538,13 @@ function dol_move($srcfile, $destfile, $newmask=0, $overwriteifexists=1) $newpathofdestfile=dol_osencode($destfile); $result=@rename($newpathofsrcfile, $newpathofdestfile); // To see errors, remove @ - if (! $result) + if (! $result) { - if ($destexists) + if ($destexists) { dol_syslog("files.lib.php::dol_move failed. We try to delete first and move after.", LOG_WARNING); // We force delete and try again. Rename function sometimes fails to replace dest file with some windows NTFS partitions. - dol_delete_file($destfile); + dol_delete_file($destfile); $result=@rename($newpathofsrcfile, $newpathofdestfile); // To see errors, remove @ } else dol_syslog("files.lib.php::dol_move failed", LOG_WARNING); @@ -1301,7 +1301,7 @@ function dol_check_secure_access_document($modulepart,$original_file,$entity,$fu if (empty($modulepart)) return 'ErrorBadParameter'; if (empty($entity)) $entity=0; - dol_syslog('modulepart='.$modulepart.' original_file= '.$original_file); + dol_syslog('modulepart='.$modulepart.' original_file='.$original_file); // We define $accessallowed and $sqlprotectagainstexternals $accessallowed=0; $sqlprotectagainstexternals=''; From cbf6e8563de296d6cac3c88b9632a96079ac0901 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 19 Jan 2014 22:00:02 +0100 Subject: [PATCH 42/50] New: Add option SUPPLIER_REF_IN_NAME --- .../core/modules/supplier_invoice/pdf/pdf_canelle.modules.php | 2 ++ htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php | 2 ++ 2 files changed, 4 insertions(+) diff --git a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php index ccc3ed8c17b74..2c728a97772f7 100644 --- a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php +++ b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php @@ -166,8 +166,10 @@ function write_file($object, $outputlangs='', $srctemplatepath='', $hidedetails= else { $objectref = dol_sanitizeFileName($object->ref); + $objectrefsupplier = dol_sanitizeFileName($object->ref_supplier); $dir = $conf->fournisseur->facture->dir_output.'/'.get_exdir($object->id,2).$objectref; $file = $dir . "/" . $objectref . ".pdf"; + if (! empty($conf->global->SUPPLIER_REF_IN_NAME)) $file = $dir . "/" . $objectref . ($objectrefsupplier?"-".$objectrefsupplier:"").".pdf"; } if (! file_exists($dir)) diff --git a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php index efa93e17aecda..a8c930a829cfc 100644 --- a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php +++ b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php @@ -174,8 +174,10 @@ function write_file($object,$outputlangs='',$srctemplatepath='',$hidedetails=0,$ else { $objectref = dol_sanitizeFileName($object->ref); + $objectrefsupplier = dol_sanitizeFileName($object->ref_supplier); $dir = $conf->fournisseur->commande->dir_output . '/'. $objectref; $file = $dir . "/" . $objectref . ".pdf"; + if (! empty($conf->global->SUPPLIER_REF_IN_NAME)) $file = $dir . "/" . $objectref . ($objectrefsupplier?"-".$objectrefsupplier:"").".pdf"; } if (! file_exists($dir)) From 79e4c283db369348c399e80011d4c87131d7928c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 19 Jan 2014 22:43:36 +0100 Subject: [PATCH 43/50] Fix: Deletion of files was broken --- htdocs/core/lib/files.lib.php | 2 ++ .../core/tpl/document_actions_pre_headers.tpl.php | 13 +++++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index c021d0411baeb..dd4ff4b6ed39d 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -726,6 +726,8 @@ function dol_delete_file($file,$disableglob=0,$nophperrors=0,$nohook=0,$object=n $langs->load("other"); $langs->load("errors"); + dol_syslog("dol_delete_file file=".$file." disableglob=".$disableglob." nophperrors=".$nophperrors." nohook=".$nohook); + if (empty($nohook)) { $hookmanager->initHooks(array('fileslib')); diff --git a/htdocs/core/tpl/document_actions_pre_headers.tpl.php b/htdocs/core/tpl/document_actions_pre_headers.tpl.php index 06edca3c7c7c5..7bfc59641407b 100644 --- a/htdocs/core/tpl/document_actions_pre_headers.tpl.php +++ b/htdocs/core/tpl/document_actions_pre_headers.tpl.php @@ -41,12 +41,17 @@ { if ($object->id) { - $urlfile = GETPOST('urlfile', 'alpha'); - $linkid = GETPOST('linkid', 'int'); + $urlfile = GETPOST('urlfile', 'alpha'); // Do not use urldecode here ($_GET and $_REQUEST are already decoded by PHP). + if (GETPOST('section')) $file = $upload_dir . "/" . $urlfile; // For a delete of GED module urlfile contains full path from upload_dir + else // For documents pages, upload_dir contains already path to file from module dir, so we clean path into urlfile. + { + $urlfile=basename($urlfile); + $file = $upload_dir . "/" . $urlfile; + } + $linkid = GETPOST('linkid', 'int'); // Do not use urldecode here ($_GET and $_REQUEST are already decoded by PHP). + if ($urlfile) { - $file = $upload_dir . "/" . $urlfile; // Do not use urldecode here ($_GET and $_REQUEST are already decoded by PHP). - $ret = dol_delete_file($file, 0, 0, 0, $object); if ($ret) { setEventMessage($langs->trans("FileWasRemoved", $urlfile)); From 6253385b1701c21f48bdbf466802078605aaff9b Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 19 Jan 2014 22:51:24 +0100 Subject: [PATCH 44/50] Fix: Thumbs was not visible when file was uploaded with extension in upper case. --- htdocs/core/class/html.formfile.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index 9c0968436d3e4..172d65b4ca6b0 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -796,7 +796,7 @@ function list_of_documents($filearray,$object,$modulepart,$param='',$forcedownlo { print ''; $tmp=explode('.',$file['name']); - $minifile=$tmp[0].'_mini.'.$tmp[1]; + $minifile=$tmp[0].'_mini.'.strtolower($tmp[1]); // Thumbs are created with filename in lower case if (image_format_supported($file['name']) > 0) print ''; else print ' '; print ''; From 5f58bff98147a2b47cdd65a792510b576ec2da63 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 19 Jan 2014 22:59:37 +0100 Subject: [PATCH 45/50] Use _ instead of - for option SUPPLIER_REF_IN_NAME --- .../core/modules/supplier_invoice/pdf/pdf_canelle.modules.php | 2 +- htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php index 2c728a97772f7..34c031734f1a7 100644 --- a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php +++ b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php @@ -169,7 +169,7 @@ function write_file($object, $outputlangs='', $srctemplatepath='', $hidedetails= $objectrefsupplier = dol_sanitizeFileName($object->ref_supplier); $dir = $conf->fournisseur->facture->dir_output.'/'.get_exdir($object->id,2).$objectref; $file = $dir . "/" . $objectref . ".pdf"; - if (! empty($conf->global->SUPPLIER_REF_IN_NAME)) $file = $dir . "/" . $objectref . ($objectrefsupplier?"-".$objectrefsupplier:"").".pdf"; + if (! empty($conf->global->SUPPLIER_REF_IN_NAME)) $file = $dir . "/" . $objectref . ($objectrefsupplier?"_".$objectrefsupplier:"").".pdf"; } if (! file_exists($dir)) diff --git a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php index a8c930a829cfc..0b580a41de87d 100644 --- a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php +++ b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php @@ -177,7 +177,7 @@ function write_file($object,$outputlangs='',$srctemplatepath='',$hidedetails=0,$ $objectrefsupplier = dol_sanitizeFileName($object->ref_supplier); $dir = $conf->fournisseur->commande->dir_output . '/'. $objectref; $file = $dir . "/" . $objectref . ".pdf"; - if (! empty($conf->global->SUPPLIER_REF_IN_NAME)) $file = $dir . "/" . $objectref . ($objectrefsupplier?"-".$objectrefsupplier:"").".pdf"; + if (! empty($conf->global->SUPPLIER_REF_IN_NAME)) $file = $dir . "/" . $objectref . ($objectrefsupplier?"_".$objectrefsupplier:"").".pdf"; } if (! file_exists($dir)) From 699a079ed76d478b7cc6cedbed118bf24e2837e3 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 20 Jan 2014 00:31:32 +0100 Subject: [PATCH 46/50] New: Add option MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES and MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES to automatically add timestamp and user line into editionf field when editing a note. --- ChangeLog | 4 ++-- htdocs/comm/propal/note.php | 2 +- htdocs/core/tpl/notes.tpl.php | 6 +++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index ad9fd2c08f052..63af55eb282fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,8 +9,8 @@ For users: - New: Add option MAIN_HIDE_INACTIVETAB_ON_PRINT to hide inactive tabs when you use the "print" view on screen. - New: Add menu entry to barcode genration page. -- New: Add option MAIN_AUTO_TIMESTAMP_IN_NOTES to automatically add timestamp - and user line into editionf field when editing a note. +- New: Add option MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES and MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES + to automatically add timestamp and user line into editionf field when editing a note. - New: Add button cancel into edition of notes. - New: Improved Opensurvey module and added options to disable comments and disable public votes diff --git a/htdocs/comm/propal/note.php b/htdocs/comm/propal/note.php index 7e31518d4024c..2ed0f5e5dadd7 100644 --- a/htdocs/comm/propal/note.php +++ b/htdocs/comm/propal/note.php @@ -49,7 +49,7 @@ /* Actions */ /******************************************************************************/ -$permission=$user->rights->propale->creer; // Used by the include of actions_setnotes.inc.php +$permissionnote=$user->rights->propale->creer; // Used by the include of actions_setnotes.inc.php include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once diff --git a/htdocs/core/tpl/notes.tpl.php b/htdocs/core/tpl/notes.tpl.php index 1a690dd7950a0..4975f3b0665d2 100644 --- a/htdocs/core/tpl/notes.tpl.php +++ b/htdocs/core/tpl/notes.tpl.php @@ -26,7 +26,7 @@ $moreparam=(isset($moreparam)?$moreparam:''); $value_public=$object->note_public; $value_private=$object->note_private; -if (! empty($conf->global->MAIN_AUTO_TIMESTAMP_IN_NOTES)) +if (! empty($conf->global->MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES)) { $stringtoadd=dol_print_date(dol_now(), 'dayhour').' '.$user->getFullName($langs).' --'; if (GETPOST('action') == 'edit'.$note_public) @@ -35,6 +35,10 @@ if (dol_textishtml($value_public)) $value_public.="
\n"; else $value_public.="\n"; } +} +if (! empty($conf->global->MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES)) +{ + $stringtoadd=dol_print_date(dol_now(), 'dayhour').' '.$user->getFullName($langs).' --'; if (GETPOST('action') == 'edit'.$note_private) { $value_private=dol_concatdesc($value_private, ($value_private?"\n":"")."-- ".$stringtoadd); From 1ebd56c4ee349d4010e2029c4faa8560de63e4d6 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 20 Jan 2014 00:40:01 +0100 Subject: [PATCH 47/50] New: Add option MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE --- ChangeLog | 1 + .../commande/doc/pdf_einstein.modules.php | 16 +++++++++++-- .../commande/doc/pdf_proforma.modules.php | 16 +++++++++++-- .../modules/facture/doc/pdf_crabe.modules.php | 18 +++++++++++--- .../modules/propale/doc/pdf_azur.modules.php | 24 ++++++++++++++----- 5 files changed, 62 insertions(+), 13 deletions(-) diff --git a/ChangeLog b/ChangeLog index 63af55eb282fb..b3043a5e75028 100644 --- a/ChangeLog +++ b/ChangeLog @@ -15,6 +15,7 @@ For users: - New: Improved Opensurvey module and added options to disable comments and disable public votes - New: The box "balance of bank accounts" show all opened accounts. +- New: Add option MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE. For translators: - Update language files. diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index a954c68c9067a..a58a52aec6774 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -244,12 +244,24 @@ function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hid $tab_height_newpage = 150; // Affiche notes - if (! empty($object->note_public)) + $notetoshow=empty($object->note_public)?'':$object->note_public; + if (! empty($conf->global->MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE)) + { + // Get first sale rep + if (is_object($object->thirdparty)) + { + $salereparray=$object->thirdparty->getSalesRepresentatives($user); + $salerepobj=new User($this->db); + $salerepobj->fetch($salereparray[0]['id']); + if (! empty($salerepobj->signature)) $notetoshow=dol_concatdesc($notetoshow, $salerepobj->signature); + } + } + if ($notetoshow) { $tab_top = 88; $pdf->SetFont('','', $default_font_size - 1); - $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top, dol_htmlentitiesbr($object->note_public), 0, 1); + $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top, dol_htmlentitiesbr($notetoshow), 0, 1); $nexY = $pdf->GetY(); $height_note=$nexY-$tab_top; diff --git a/htdocs/core/modules/commande/doc/pdf_proforma.modules.php b/htdocs/core/modules/commande/doc/pdf_proforma.modules.php index 35d7dd3f9fca6..9733b30ded67d 100644 --- a/htdocs/core/modules/commande/doc/pdf_proforma.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_proforma.modules.php @@ -244,12 +244,24 @@ function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hid $tab_height_newpage = 150; // Affiche notes - if (! empty($object->note_public)) + $notetoshow=empty($object->note_public)?'':$object->note_public; + if (! empty($conf->global->MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE)) + { + // Get first sale rep + if (is_object($object->thirdparty)) + { + $salereparray=$object->thirdparty->getSalesRepresentatives($user); + $salerepobj=new User($this->db); + $salerepobj->fetch($salereparray[0]['id']); + if (! empty($salerepobj->signature)) $notetoshow=dol_concatdesc($notetoshow, $salerepobj->signature); + } + } + if ($notetoshow) { $tab_top = 88; $pdf->SetFont('','', $default_font_size - 1); - $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top, dol_htmlentitiesbr($object->note_public), 0, 1); + $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top, dol_htmlentitiesbr($notetoshow), 0, 1); $nexY = $pdf->GetY(); $height_note=$nexY-$tab_top; diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index 0f2ac346e695e..ebbe4727cfeea 100644 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -245,12 +245,24 @@ function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hid $tab_height_newpage = 150; // Affiche notes - if (! empty($object->note_public)) + $notetoshow=empty($object->note_public)?'':$object->note_public; + if (! empty($conf->global->MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE)) + { + // Get first sale rep + if (is_object($object->thirdparty)) + { + $salereparray=$object->thirdparty->getSalesRepresentatives($user); + $salerepobj=new User($this->db); + $salerepobj->fetch($salereparray[0]['id']); + if (! empty($salerepobj->signature)) $notetoshow=dol_concatdesc($notetoshow, $salerepobj->signature); + } + } + if ($notetoshow) { $tab_top = 88; $pdf->SetFont('','', $default_font_size - 1); - $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top, dol_htmlentitiesbr($object->note_public), 0, 1); + $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top, dol_htmlentitiesbr($notetoshow), 0, 1); $nexY = $pdf->GetY(); $height_note=$nexY-$tab_top; @@ -378,7 +390,7 @@ function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hid if ($object->remise_percent) $localtax2ligne-=($localtax2ligne*$object->remise_percent)/100; $vatrate=(string) $object->lines[$i]->tva_tx; - + // Retrieve type from database for backward compatibility with old records if ((! isset($localtax1_type) || $localtax1_type=='' || ! isset($localtax2_type) || $localtax2_type=='') // if tax type not defined && (! empty($localtax1_rate) || ! empty($localtax2_rate))) // and there is local tax diff --git a/htdocs/core/modules/propale/doc/pdf_azur.modules.php b/htdocs/core/modules/propale/doc/pdf_azur.modules.php index fbe3fb98bbfa8..700e558668ecc 100644 --- a/htdocs/core/modules/propale/doc/pdf_azur.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_azur.modules.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2004-2014 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2008 Raphael Bertrand * Copyright (C) 2010-2013 Juanjo Menent @@ -153,7 +153,7 @@ function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hid $outputlangs->load("products"); $nblignes = count($object->lines); - + // Loop on each lines to detect if there is at least one image to show $realpatharray=array(); if (! empty($conf->global->MAIN_GENERATE_PROPOSALS_WITH_PICTURE)) @@ -161,7 +161,7 @@ function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hid for ($i = 0 ; $i < $nblignes ; $i++) { if (empty($object->lines[$i]->fk_product)) continue; - + $objphoto = new Product($this->db); $objphoto->fetch($object->lines[$i]->fk_product); @@ -185,7 +185,7 @@ function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hid if ($conf->propal->dir_output) { $object->fetch_thirdparty(); - + // $deja_regle = 0; // Definition of $dir and $file @@ -270,12 +270,24 @@ function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hid $tab_height_newpage = 150; // Affiche notes - if (! empty($object->note_public)) + $notetoshow=empty($object->note_public)?'':$object->note_public; + if (! empty($conf->global->MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE)) + { + // Get first sale rep + if (is_object($object->thirdparty)) + { + $salereparray=$object->thirdparty->getSalesRepresentatives($user); + $salerepobj=new User($this->db); + $salerepobj->fetch($salereparray[0]['id']); + if (! empty($salerepobj->signature)) $notetoshow=dol_concatdesc($notetoshow, $salerepobj->signature); + } + } + if ($notetoshow) { $tab_top = 88; $pdf->SetFont('','', $default_font_size - 1); - $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top, dol_htmlentitiesbr($object->note_public), 0, 1); + $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top, dol_htmlentitiesbr($notetoshow), 0, 1); $nexY = $pdf->GetY(); $height_note=$nexY-$tab_top; From 0ba82d3c6e2be3e104d085b4488d11b6e888fa64 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 20 Jan 2014 01:27:40 +0100 Subject: [PATCH 48/50] Fix: Missing test on id --- htdocs/expedition/fiche.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/expedition/fiche.php b/htdocs/expedition/fiche.php index a5ec2e016c686..7539c244b4196 100644 --- a/htdocs/expedition/fiche.php +++ b/htdocs/expedition/fiche.php @@ -51,9 +51,9 @@ $origin = GETPOST('origin','alpha')?GETPOST('origin','alpha'):'expedition'; // Example: commande, propal $origin_id = GETPOST('id','int')?GETPOST('id','int'):''; +$id = $origin_id; if (empty($origin_id)) $origin_id = GETPOST('origin_id','int'); // Id of order or propal if (empty($origin_id)) $origin_id = GETPOST('object_id','int'); // Id of order or propal -$id = $origin_id; $ref=GETPOST('ref','alpha'); // Security check @@ -892,7 +892,7 @@ } } } -else +else if ($id || $ref) /* *************************************************************************** */ /* */ /* Edit and view mode */ From 8642e2027c840752c4357c4676af32fe342dc0cb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 20 Jan 2014 02:10:16 +0100 Subject: [PATCH 49/50] Fix: [ bug #1212 ] 'jqueryFileTree.php' directory traversal vulnerability --- ChangeLog | 1 + dev/dolibarr_changes.txt | 6 ++ .../connectors/jqueryFileTree.asp | 44 -------- .../connectors/jqueryFileTree.aspx | 31 ------ .../connectors/jqueryFileTree.cf | 19 ---- .../connectors/jqueryFileTree.jsp | 49 --------- .../connectors/jqueryFileTree.php | 43 -------- .../connectors/jqueryFileTree.pl | 102 ------------------ .../connectors/jqueryFileTree.py | 25 ----- .../connectors/jqueryFileTree.rb | 61 ----------- .../connectors/jqueryFileTree_huck.lasso | 36 ------- .../connectors/jqueryFileTree_sabourdin.lasso | 48 --------- 12 files changed, 7 insertions(+), 458 deletions(-) delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.asp delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.aspx delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.cf delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.jsp delete mode 100644 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.php delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.pl delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.py delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.rb delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree_huck.lasso delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree_sabourdin.lasso diff --git a/ChangeLog b/ChangeLog index 0e380a9f04ca1..7d577afa90d6a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,7 @@ English Dolibarr ChangeLog Fix: Warning into bank conciliation feature. Fix: Bad get of localtaxes into contracts add lines. Fix: Add a limit into list to avoid browser to hang when database is too large. +Fix: [ bug #1212 ] 'jqueryFileTree.php' directory traversal vulnerability ***** ChangeLog for 3.4.2 compared to 3.4.1 ***** Fix: field's problem into company's page (RIB). diff --git a/dev/dolibarr_changes.txt b/dev/dolibarr_changes.txt index 4cc7f5761562e..68383139ac6d4 100644 --- a/dev/dolibarr_changes.txt +++ b/dev/dolibarr_changes.txt @@ -53,3 +53,9 @@ window.location.href=pRef JCROP: ------ * Remove analytics tag into file index.html + + +JQUERYFILETREE: +--------------- +* Remove directory htdocs/includes/jquery/plugins/jqueryFileTree/connectors + diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.asp b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.asp deleted file mode 100755 index 41eb5b4d5b779..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.asp +++ /dev/null @@ -1,44 +0,0 @@ -<% -' -' jQuery File Tree ASP (VBS) Connector -' Copyright 2008 Chazzuka -' programmer@chazzuka.com -' http://www.chazzuka.com/ -' -' retrive base directory -dim BaseFileDir:BaseFileDir=Request.Form("dir") -' if blank give default value -if len(BaseFileDir)=0 then BaseFileDir="/userfiles/" - -dim ObjFSO,BaseFile,Html -' resolve the absolute path -BaseFile = Server.MapPath(BaseFileDir)&"\" -' create FSO -Set ObjFSO = Server.CreateObject("Scripting.FileSystemObject") -' if given folder is exists -if ObjFSO.FolderExists(BaseFile) then - dim ObjFolder,ObjSubFolder,ObjFile,i__Name,i__Ext - Html = Html + "
    "&VBCRLF - Set ObjFolder = ObjFSO.GetFolder(BaseFile) - ' LOOP THROUGH SUBFOLDER - For Each ObjSubFolder In ObjFolder.SubFolders - i__Name=ObjSubFolder.name - Html = Html + "
  • "&_ - ""&_ - (i__Name)+"
  • "&VBCRLF - Next - 'LOOP THROUGH FILES - For Each ObjFile In ObjFolder.Files - ' name - i__Name=ObjFile.name - ' extension - i__Ext = LCase(Mid(i__Name, InStrRev(i__Name, ".", -1, 1) + 1)) - Html = Html + "
  • "&_ - ""&_ - (i__name)+"
  • "&VBCRLF - Next - Html = Html + "
"&VBCRLF -end if - -Response.Write Html -%> \ No newline at end of file diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.aspx b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.aspx deleted file mode 100755 index f8443ae71230a..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.aspx +++ /dev/null @@ -1,31 +0,0 @@ -<%@ Page Language="C#" AutoEventWireup="true" %> - -<% - // - // jQuery File Tree ASP Connector - // - // Version 1.0 - // - // Copyright (c)2008 Andrew Sweeny - // asweeny@fit.edu - // 24 March 2008 - // - string dir; - if(Request.Form["dir"] == null || Request.Form["dir"].Length <= 0) - dir = "/"; - else - dir = Server.UrlDecode(Request.Form["dir"]); - System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(dir); - Response.Write("
    \n"); - foreach (System.IO.DirectoryInfo di_child in di.GetDirectories()) - Response.Write("\t
  • " + di_child.Name + "
  • \n"); - foreach (System.IO.FileInfo fi in di.GetFiles()) - { - string ext = ""; - if(fi.Extension.Length > 1) - ext = fi.Extension.Substring(1).ToLower(); - - Response.Write("\t
  • " + fi.Name + "
  • \n"); - } - Response.Write("
"); - %> \ No newline at end of file diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.cf b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.cf deleted file mode 100755 index 815f83b6ed6da..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.cf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - \ No newline at end of file diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.jsp b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.jsp deleted file mode 100755 index 27b3420217490..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.jsp +++ /dev/null @@ -1,49 +0,0 @@ -<%@ page - import="java.io.File,java.io.FilenameFilter,java.util.Arrays"%> -<% -/** - * jQuery File Tree JSP Connector - * Version 1.0 - * Copyright 2008 Joshua Gould - * 21 April 2008 -*/ - String dir = request.getParameter("dir"); - if (dir == null) { - return; - } - - if (dir.charAt(dir.length()-1) == '\\') { - dir = dir.substring(0, dir.length()-1) + "/"; - } else if (dir.charAt(dir.length()-1) != '/') { - dir += "/"; - } - - dir = java.net.URLDecoder.decode(dir, "UTF-8"); - - if (new File(dir).exists()) { - String[] files = new File(dir).list(new FilenameFilter() { - public boolean accept(File dir, String name) { - return name.charAt(0) != '.'; - } - }); - Arrays.sort(files, String.CASE_INSENSITIVE_ORDER); - out.print("
    "); - // All dirs - for (String file : files) { - if (new File(dir, file).isDirectory()) { - out.print("
  • " - + file + "
  • "); - } - } - // All files - for (String file : files) { - if (!new File(dir, file).isDirectory()) { - int dotIndex = file.lastIndexOf('.'); - String ext = dotIndex > 0 ? file.substring(dotIndex + 1) : ""; - out.print("
  • " - + file + "
  • "); - } - } - out.print("
"); - } -%> \ No newline at end of file diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.php b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.php deleted file mode 100644 index d983e2f1a442d..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.php +++ /dev/null @@ -1,43 +0,0 @@ - 2 ) { /* The 2 accounts for . and .. */ - echo "
    "; - // All dirs - foreach( $files as $file ) { - if( file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && is_dir($root . $_POST['dir'] . $file) ) { - echo "
  • " . htmlentities($file) . "
  • "; - } - } - // All files - foreach( $files as $file ) { - if( file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && !is_dir($root . $_POST['dir'] . $file) ) { - $ext = preg_replace('/^.*\./', '', $file); - echo "
  • " . htmlentities($file) . "
  • "; - } - } - echo "
"; - } -} - -?> \ No newline at end of file diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.pl b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.pl deleted file mode 100755 index 200701695b790..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.pl +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/perl -use strict; -use HTML::Entities (); - -#----------------------------------------------------------- -# jQuery File Tree Perl Connector -# -# Version 1.0 -# -# Oleg Burlaca -# http://www.burlaca.com/2009/02/jquery-file-tree-connector/ -# 12 February 2009 -#----------------------------------------------------------- - -# for security reasons, specify a root folder -# to prevent the whole filesystem to be shown -# for ex: the root folder of your webbrowser - -my $root = "/var/www/html/"; - -#---------------------------------------------------------- - -my $params = &getCGIParams(); -print "Content-type: text/html\n\n"; - -my $dir = $params->{dir}; -my $fullDir = $root . $dir; - -exit if ! -e $fullDir; - -opendir(BIN, $fullDir) or die "Can't open $dir: $!"; -my (@folders, @files); -my $total = 0; -while( defined (my $file = readdir BIN) ) { - next if $file eq '.' or $file eq '..'; - $total++; - if (-d "$fullDir/$file") { - push (@folders, $file); - } else { - push (@files, $file); - } -} -closedir(BIN); - -return if $total == 0; -print "\n"; - - - - -#-------------------------------------------------------------------------------------------------- -sub getCGIParams { - my $line; - - if ($ENV{'REQUEST_METHOD'} eq "POST") { - read(STDIN, $line, $ENV{'CONTENT_LENGTH'}); - } else { - $line = $ENV{'QUERY_STRING'}; - } - - my (@pairs) = split(/&/, $line); - my ($name, $value, %F); - - foreach (@pairs) { - ($name, $value) = split(/=/); - $value =~ tr/+/ /; - $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; - - if (! exists $F{$name}) { - $F{$name} = $value; - } elsif (exists $F{$name} and ref($F{$name}) ne 'ARRAY') { - my $prev_value = $F{$name}; - delete $F{$name}; - $F{$name} = [ $prev_value, $value ]; - } else { push @{ $F{$name} }, $value } - } - return \%F; -} -#-------------------------------------------------------------------------------------------------- - \ No newline at end of file diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.py b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.py deleted file mode 100755 index 6b63c06419fa2..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.py +++ /dev/null @@ -1,25 +0,0 @@ -# -# jQuery File Tree -# Python/Django connector script -# By Martin Skou -# -import os -import urllib - -def dirlist(request): - r=['') - return HttpResponse(''.join(r)) \ No newline at end of file diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.rb b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.rb deleted file mode 100755 index b30b8a976a2ff..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.rb +++ /dev/null @@ -1,61 +0,0 @@ -# -# jQuery File Tree Ruby Connector -# -# Version 1.01 -# -# Erik Lax -# http://datahack.se -# 13 July 2008 -# -# History -# -# 1.01 Initial Release -# -# Output a list of files for jQuery File Tree -# - -# -#root = "/absolute/path/" -# or -root = File.expand_path(".") -# - -# -require "cgi" -cgi = CGI.new -cgi.header("type" => "text/html") -dir = cgi.params["dir"].to_s - -puts "
    " -begin - path = root + "/" + dir - - # chdir() to user requested dir (root + "/" + dir) - Dir.chdir(File.expand_path(path).untaint); - - # check that our base path still begins with root path - if Dir.pwd[0,root.length] == root then - - #loop through all directories - Dir.glob("*") { - |x| - if not File.directory?(x.untaint) then next end - puts "
  • #{x}
  • "; - } - - #loop through all files - Dir.glob("*") { - |x| - if not File.file?(x.untaint) then next end - ext = File.extname(x)[1..-1] - puts "
  • #{x}
  • " - } - else - #only happens when someone tries to go outside your root directory... - puts "You are way out of your league" - end -rescue - puts "Internal Error" -end -puts "
" -#
diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree_huck.lasso b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree_huck.lasso deleted file mode 100755 index 3359e29314f1f..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree_huck.lasso +++ /dev/null @@ -1,36 +0,0 @@ -[ - // - // jQuery File Tree Lasso Connector - // - // Version 1.00 - // - // Jason Huck - // http://devblog.jasonhuck.com/ - // 1 May 2008 - // - // History: - // - // 1.00 - released (1 May 2008) - // - // Output a list of files for jQuery File Tree - // - - !action_param('dir') ? abort; - var('dir') = action_param('dir'); - var('files') = file_listdirectory($dir); - - ''; -] diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree_sabourdin.lasso b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree_sabourdin.lasso deleted file mode 100755 index 077258e2583aa..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree_sabourdin.lasso +++ /dev/null @@ -1,48 +0,0 @@ -(Sort); - if:( $files->(Size) > 0 ); - output:''; - /if; -/if; - -/Encode_set; -?> \ No newline at end of file From 0d188925064ab2de25c67bc640d86300a6657bad Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Mon, 20 Jan 2014 02:21:30 +0100 Subject: [PATCH 50/50] Merge from 3.4 --- ChangeLog | 6 ++ dev/dolibarr_changes.txt | 6 ++ htdocs/comm/index.php | 13 ++- htdocs/comm/propal/index.php | 13 ++- htdocs/core/lib/admin.lib.php | 8 +- htdocs/core/modules/modAgenda.class.php | 6 +- .../connectors/jqueryFileTree.asp | 44 -------- .../connectors/jqueryFileTree.aspx | 31 ------ .../connectors/jqueryFileTree.cf | 19 ---- .../connectors/jqueryFileTree.jsp | 49 --------- .../connectors/jqueryFileTree.php | 43 -------- .../connectors/jqueryFileTree.pl | 102 ------------------ .../connectors/jqueryFileTree.py | 25 ----- .../connectors/jqueryFileTree.rb | 61 ----------- .../connectors/jqueryFileTree_huck.lasso | 36 ------- .../connectors/jqueryFileTree_sabourdin.lasso | 48 --------- htdocs/langs/en_US/main.lang | 2 + htdocs/langs/fr_FR/main.lang | 1 + htdocs/projet/class/task.class.php | 1 - htdocs/theme/amarok/img/favicon.ico | Bin 3638 -> 2238 bytes htdocs/theme/auguria/img/favicon.ico | Bin 0 -> 2238 bytes htdocs/theme/bureau2crea/img/favicon.ico | Bin 1597 -> 2238 bytes htdocs/theme/cameleo/img/favicon.ico | Bin 3638 -> 2238 bytes htdocs/theme/cameleo/style.css.php | 1 - htdocs/theme/eldy/img/favicon.ico | Bin 3638 -> 2238 bytes 25 files changed, 45 insertions(+), 470 deletions(-) delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.asp delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.aspx delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.cf delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.jsp delete mode 100644 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.php delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.pl delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.py delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.rb delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree_huck.lasso delete mode 100755 htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree_sabourdin.lasso create mode 100644 htdocs/theme/auguria/img/favicon.ico diff --git a/ChangeLog b/ChangeLog index c976fe08a2787..7cd1e8b5b4a94 100644 --- a/ChangeLog +++ b/ChangeLog @@ -138,6 +138,12 @@ parameter. All methods addline in this case were modified to remove this paramet ***** ChangeLog for 3.4.3 compared to 3.4.2 ***** Fix: Bad get of localtaxes into contracts add lines +***** ChangeLog for 3.4.3 compared to 3.4.2 ***** +Fix: Warning into bank conciliation feature. +Fix: Bad get of localtaxes into contracts add lines. +Fix: Add a limit into list to avoid browser to hang when database is too large. +Fix: [ bug #1212 ] 'jqueryFileTree.php' directory traversal vulnerability + ***** ChangeLog for 3.4.2 compared to 3.4.1 ***** Fix: field's problem into company's page (RIB). Fix: Document cerfa doesn't contained firstname & lastname from donator. diff --git a/dev/dolibarr_changes.txt b/dev/dolibarr_changes.txt index 3f7f4767d4f78..2bf2e1a5c991b 100644 --- a/dev/dolibarr_changes.txt +++ b/dev/dolibarr_changes.txt @@ -54,3 +54,9 @@ window.location.href=pRef JCROP: ------ * Remove analytics tag into file index.html + + +JQUERYFILETREE: +--------------- +* Remove directory htdocs/includes/jquery/plugins/jqueryFileTree/connectors + diff --git a/htdocs/comm/index.php b/htdocs/comm/index.php index dff264b6f25f0..64ca064063a03 100644 --- a/htdocs/comm/index.php +++ b/htdocs/comm/index.php @@ -473,8 +473,10 @@ $var=true; print ''; - print ''; - while ($i < $num) + print ''; + + $nbofloop=min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD)?1000:$conf->global->MAIN_MAXLIST_OVERLOAD)); + while ($i < $nbofloop) { $obj = $db->fetch_object($result); $var=!$var; @@ -511,7 +513,12 @@ $i++; $total += $obj->total_ttc; } - if ($total>0) { + if ($num > $nbofloop) + { + print '"; + } + else if ($total>0) + { print '"; } print "
'.$langs->trans("ProposalsOpened").'
'.$langs->trans("ProposalsOpened").' ('.$num.')
'.$langs->trans("XMoreLines", ($num - $nbofloop))."
'.$langs->trans("Total")."".price($total)." 

"; diff --git a/htdocs/comm/propal/index.php b/htdocs/comm/propal/index.php index 45a594c12cd4a..cdd7e6840c9fe 100644 --- a/htdocs/comm/propal/index.php +++ b/htdocs/comm/propal/index.php @@ -313,8 +313,10 @@ $var=true; print ''; - print ''; - while ($i < $num) + print ''; + + $nbofloop=min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD)?1000:$conf->global->MAIN_MAXLIST_OVERLOAD)); + while ($i < $nbofloop) { $obj = $db->fetch_object($result); $var=!$var; @@ -356,7 +358,12 @@ $i++; $total += $obj->total_ttc; } - if ($total>0) { + if ($num > $nbofloop) + { + print '"; + } + else if ($total>0) + { print '"; } print "
'.$langs->trans("ProposalsOpened").' ('.$num.')
'.$langs->trans("ProposalsOpened").' ('.$num.')
'.$langs->trans("XMoreLines", ($num - $nbofloop))."
'.$langs->trans("Total")."".price($total)." 

"; diff --git a/htdocs/core/lib/admin.lib.php b/htdocs/core/lib/admin.lib.php index 3eb92fb26a3c2..3cfb0adeb7d51 100644 --- a/htdocs/core/lib/admin.lib.php +++ b/htdocs/core/lib/admin.lib.php @@ -557,7 +557,13 @@ function listOfSessions() global $conf; $arrayofSessions = array(); - $sessPath = ini_get("session.save_path").'/'; + // session.save_path can be returned empty so we set a default location and work from there + $sessPath = '/tmp'; + $iniPath = ini_get("session.save_path"); + if ($iniPath) { + $sessPath = $iniPath; + } + $sessPath .= '/'; // We need the trailing slash dol_syslog('admin.lib:listOfSessions sessPath='.$sessPath); $dh = @opendir(dol_osencode($sessPath)); diff --git a/htdocs/core/modules/modAgenda.class.php b/htdocs/core/modules/modAgenda.class.php index 1c22c61f3dbf2..fea2915e011b0 100644 --- a/htdocs/core/modules/modAgenda.class.php +++ b/htdocs/core/modules/modAgenda.class.php @@ -23,15 +23,15 @@ /** * \defgroup agenda Module agenda - * \brief Module pour gerer l'agenda et actions + * \brief Module to manage agenda and events * \file htdocs/core/modules/modAgenda.class.php * \ingroup agenda - * \brief Fichier de description et activation du module agenda + * \brief File of class to describe and enable/disable module Agenda */ include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php'; /** - * Classe de description et activation du module Adherent + * Class to describe and enable/disable module Agenda */ class modAgenda extends DolibarrModules { diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.asp b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.asp deleted file mode 100755 index 41eb5b4d5b779..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.asp +++ /dev/null @@ -1,44 +0,0 @@ -<% -' -' jQuery File Tree ASP (VBS) Connector -' Copyright 2008 Chazzuka -' programmer@chazzuka.com -' http://www.chazzuka.com/ -' -' retrive base directory -dim BaseFileDir:BaseFileDir=Request.Form("dir") -' if blank give default value -if len(BaseFileDir)=0 then BaseFileDir="/userfiles/" - -dim ObjFSO,BaseFile,Html -' resolve the absolute path -BaseFile = Server.MapPath(BaseFileDir)&"\" -' create FSO -Set ObjFSO = Server.CreateObject("Scripting.FileSystemObject") -' if given folder is exists -if ObjFSO.FolderExists(BaseFile) then - dim ObjFolder,ObjSubFolder,ObjFile,i__Name,i__Ext - Html = Html + "
    "&VBCRLF - Set ObjFolder = ObjFSO.GetFolder(BaseFile) - ' LOOP THROUGH SUBFOLDER - For Each ObjSubFolder In ObjFolder.SubFolders - i__Name=ObjSubFolder.name - Html = Html + "
  • "&_ - ""&_ - (i__Name)+"
  • "&VBCRLF - Next - 'LOOP THROUGH FILES - For Each ObjFile In ObjFolder.Files - ' name - i__Name=ObjFile.name - ' extension - i__Ext = LCase(Mid(i__Name, InStrRev(i__Name, ".", -1, 1) + 1)) - Html = Html + "
  • "&_ - ""&_ - (i__name)+"
  • "&VBCRLF - Next - Html = Html + "
"&VBCRLF -end if - -Response.Write Html -%> \ No newline at end of file diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.aspx b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.aspx deleted file mode 100755 index f8443ae71230a..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.aspx +++ /dev/null @@ -1,31 +0,0 @@ -<%@ Page Language="C#" AutoEventWireup="true" %> - -<% - // - // jQuery File Tree ASP Connector - // - // Version 1.0 - // - // Copyright (c)2008 Andrew Sweeny - // asweeny@fit.edu - // 24 March 2008 - // - string dir; - if(Request.Form["dir"] == null || Request.Form["dir"].Length <= 0) - dir = "/"; - else - dir = Server.UrlDecode(Request.Form["dir"]); - System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(dir); - Response.Write("
    \n"); - foreach (System.IO.DirectoryInfo di_child in di.GetDirectories()) - Response.Write("\t
  • " + di_child.Name + "
  • \n"); - foreach (System.IO.FileInfo fi in di.GetFiles()) - { - string ext = ""; - if(fi.Extension.Length > 1) - ext = fi.Extension.Substring(1).ToLower(); - - Response.Write("\t
  • " + fi.Name + "
  • \n"); - } - Response.Write("
"); - %> \ No newline at end of file diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.cf b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.cf deleted file mode 100755 index 815f83b6ed6da..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.cf +++ /dev/null @@ -1,19 +0,0 @@ - - - - - \ No newline at end of file diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.jsp b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.jsp deleted file mode 100755 index 27b3420217490..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.jsp +++ /dev/null @@ -1,49 +0,0 @@ -<%@ page - import="java.io.File,java.io.FilenameFilter,java.util.Arrays"%> -<% -/** - * jQuery File Tree JSP Connector - * Version 1.0 - * Copyright 2008 Joshua Gould - * 21 April 2008 -*/ - String dir = request.getParameter("dir"); - if (dir == null) { - return; - } - - if (dir.charAt(dir.length()-1) == '\\') { - dir = dir.substring(0, dir.length()-1) + "/"; - } else if (dir.charAt(dir.length()-1) != '/') { - dir += "/"; - } - - dir = java.net.URLDecoder.decode(dir, "UTF-8"); - - if (new File(dir).exists()) { - String[] files = new File(dir).list(new FilenameFilter() { - public boolean accept(File dir, String name) { - return name.charAt(0) != '.'; - } - }); - Arrays.sort(files, String.CASE_INSENSITIVE_ORDER); - out.print("
    "); - // All dirs - for (String file : files) { - if (new File(dir, file).isDirectory()) { - out.print("
  • " - + file + "
  • "); - } - } - // All files - for (String file : files) { - if (!new File(dir, file).isDirectory()) { - int dotIndex = file.lastIndexOf('.'); - String ext = dotIndex > 0 ? file.substring(dotIndex + 1) : ""; - out.print("
  • " - + file + "
  • "); - } - } - out.print("
"); - } -%> \ No newline at end of file diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.php b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.php deleted file mode 100644 index d983e2f1a442d..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.php +++ /dev/null @@ -1,43 +0,0 @@ - 2 ) { /* The 2 accounts for . and .. */ - echo "
    "; - // All dirs - foreach( $files as $file ) { - if( file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && is_dir($root . $_POST['dir'] . $file) ) { - echo "
  • " . htmlentities($file) . "
  • "; - } - } - // All files - foreach( $files as $file ) { - if( file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && !is_dir($root . $_POST['dir'] . $file) ) { - $ext = preg_replace('/^.*\./', '', $file); - echo "
  • " . htmlentities($file) . "
  • "; - } - } - echo "
"; - } -} - -?> \ No newline at end of file diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.pl b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.pl deleted file mode 100755 index 200701695b790..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.pl +++ /dev/null @@ -1,102 +0,0 @@ -#!/usr/bin/perl -use strict; -use HTML::Entities (); - -#----------------------------------------------------------- -# jQuery File Tree Perl Connector -# -# Version 1.0 -# -# Oleg Burlaca -# http://www.burlaca.com/2009/02/jquery-file-tree-connector/ -# 12 February 2009 -#----------------------------------------------------------- - -# for security reasons, specify a root folder -# to prevent the whole filesystem to be shown -# for ex: the root folder of your webbrowser - -my $root = "/var/www/html/"; - -#---------------------------------------------------------- - -my $params = &getCGIParams(); -print "Content-type: text/html\n\n"; - -my $dir = $params->{dir}; -my $fullDir = $root . $dir; - -exit if ! -e $fullDir; - -opendir(BIN, $fullDir) or die "Can't open $dir: $!"; -my (@folders, @files); -my $total = 0; -while( defined (my $file = readdir BIN) ) { - next if $file eq '.' or $file eq '..'; - $total++; - if (-d "$fullDir/$file") { - push (@folders, $file); - } else { - push (@files, $file); - } -} -closedir(BIN); - -return if $total == 0; -print "\n"; - - - - -#-------------------------------------------------------------------------------------------------- -sub getCGIParams { - my $line; - - if ($ENV{'REQUEST_METHOD'} eq "POST") { - read(STDIN, $line, $ENV{'CONTENT_LENGTH'}); - } else { - $line = $ENV{'QUERY_STRING'}; - } - - my (@pairs) = split(/&/, $line); - my ($name, $value, %F); - - foreach (@pairs) { - ($name, $value) = split(/=/); - $value =~ tr/+/ /; - $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; - - if (! exists $F{$name}) { - $F{$name} = $value; - } elsif (exists $F{$name} and ref($F{$name}) ne 'ARRAY') { - my $prev_value = $F{$name}; - delete $F{$name}; - $F{$name} = [ $prev_value, $value ]; - } else { push @{ $F{$name} }, $value } - } - return \%F; -} -#-------------------------------------------------------------------------------------------------- - \ No newline at end of file diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.py b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.py deleted file mode 100755 index 6b63c06419fa2..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.py +++ /dev/null @@ -1,25 +0,0 @@ -# -# jQuery File Tree -# Python/Django connector script -# By Martin Skou -# -import os -import urllib - -def dirlist(request): - r=['') - return HttpResponse(''.join(r)) \ No newline at end of file diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.rb b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.rb deleted file mode 100755 index b30b8a976a2ff..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree.rb +++ /dev/null @@ -1,61 +0,0 @@ -# -# jQuery File Tree Ruby Connector -# -# Version 1.01 -# -# Erik Lax -# http://datahack.se -# 13 July 2008 -# -# History -# -# 1.01 Initial Release -# -# Output a list of files for jQuery File Tree -# - -# -#root = "/absolute/path/" -# or -root = File.expand_path(".") -# - -# -require "cgi" -cgi = CGI.new -cgi.header("type" => "text/html") -dir = cgi.params["dir"].to_s - -puts "
    " -begin - path = root + "/" + dir - - # chdir() to user requested dir (root + "/" + dir) - Dir.chdir(File.expand_path(path).untaint); - - # check that our base path still begins with root path - if Dir.pwd[0,root.length] == root then - - #loop through all directories - Dir.glob("*") { - |x| - if not File.directory?(x.untaint) then next end - puts "
  • #{x}
  • "; - } - - #loop through all files - Dir.glob("*") { - |x| - if not File.file?(x.untaint) then next end - ext = File.extname(x)[1..-1] - puts "
  • #{x}
  • " - } - else - #only happens when someone tries to go outside your root directory... - puts "You are way out of your league" - end -rescue - puts "Internal Error" -end -puts "
" -#
diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree_huck.lasso b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree_huck.lasso deleted file mode 100755 index 3359e29314f1f..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree_huck.lasso +++ /dev/null @@ -1,36 +0,0 @@ -[ - // - // jQuery File Tree Lasso Connector - // - // Version 1.00 - // - // Jason Huck - // http://devblog.jasonhuck.com/ - // 1 May 2008 - // - // History: - // - // 1.00 - released (1 May 2008) - // - // Output a list of files for jQuery File Tree - // - - !action_param('dir') ? abort; - var('dir') = action_param('dir'); - var('files') = file_listdirectory($dir); - - ''; -] diff --git a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree_sabourdin.lasso b/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree_sabourdin.lasso deleted file mode 100755 index 077258e2583aa..0000000000000 --- a/htdocs/includes/jquery/plugins/jqueryFileTree/connectors/jqueryFileTree_sabourdin.lasso +++ /dev/null @@ -1,48 +0,0 @@ -(Sort); - if:( $files->(Size) > 0 ); - output:''; - /if; -/if; - -/Encode_set; -?> \ No newline at end of file diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 4465b660cf6ce..d889dedc9d654 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -666,6 +666,8 @@ SaveUploadedFileWithMask=Save file on server with name "%s" (ot OriginFileName=Original filename SetDemandReason=Set source ViewPrivateNote=View notes +XMoreLines=%s line(s) hidden + # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index dcbdd696002b7..dfd5f45f1f00c 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -666,6 +666,7 @@ SaveUploadedFileWithMask=Sauver le fichier sur le serveur sous le nom "% OriginFileName=nom du fichier source SetDemandReason=Définir l'origine ViewPrivateNote=Voir notes +XMoreLines=%s ligne(s) non affichée(s) # Week day Monday=Lundi diff --git a/htdocs/projet/class/task.class.php b/htdocs/projet/class/task.class.php index 5abf23e6df3d1..7b21cbf57d0ba 100644 --- a/htdocs/projet/class/task.class.php +++ b/htdocs/projet/class/task.class.php @@ -27,7 +27,6 @@ /** * Class to manage tasks - * Initialy built by build_class_from_table on 2008-09-10 12:41 */ class Task extends CommonObject { diff --git a/htdocs/theme/amarok/img/favicon.ico b/htdocs/theme/amarok/img/favicon.ico index 7d41c54d5bb98e9d5d6b1c8b359f0f2757b69230..b93a86747d647ddc80784e7d0e0313a9eb5393e6 100644 GIT binary patch literal 2238 zcmeH{X;9Q<9LK+A2VG>DR+_rF92*d*T)HS;g%%s|0EQvrejC=G$_Mopky_Bj+lv(H6rYcazSbIY&K$) zuN9+GCPKMPj0%}6)N&W7O=|jiJmYdc|nupi<)FlR403*E=7Xc6fe}Jdcv6Mjha*+7}LB^o92r>X+Ee= zXE}Wi4C?|>pTW9}xoBAL2jhky?Az$a#vl7L1K0$@oIMW>SyHzB(UctsQ%(??bLK1`vvA0ejU!bV=-!=&W5!$@HRj{!UIluZigDajiWBBi95 z<7A5ppSM=vivyK7)mDkqZEBo8sKyyKU$$#;rd@}#9a^00)S=g^!+EP7UmY^w>#izX z?5;&`cRjxO)P%mCR$MuG5Z6w1;M%z(=s*7n2CtmO;MHCXes=*w{TFbf|00Hd_!dJy z_TiVG`Y=p$3B%Vf;n(YzF*?BZz-5fE86LQb(ZTO=YvgC#8ohx#H%D;y_D$UT{Wk91 zy~E}=Jh=Y{9{hP9e?5GNv9U3XkB>j;wfw*TkNg8qIpAprJmY|89q=6Cy><;_*{qbb zqz|1Y@Q$C)6Pbby<0@KvGA8oYb~+OqNN88nvIzTDyvTcJ=Sjpy61oUlf?yGnU*clY z6e5fJs7Ib%kaIERO(L6wUS{`##Waxoy<%kms-OsuTOq?PC38P z^a2?dViR>$Z`i_XW&FbXWZa3(R8>!-5XgNx1qqQyRn6NJUTvn7Pr-{Q;9f-Gtwu^) zDfkeD)YOW3q9ClN;7e?ws?N<8-YMZehRi%-8&x&4-}UtH-^sPvm5d*;ox1(13Uvdw zg0O2YnfXMKy|r(PS;~!+P}uuN+ajcLAzermKkhBUx&>S;3?Y<{``yutcpnn7nAq_T rUtby*#9Q0Bl!#1BAmU@g1A>?Ej-SgN5bA)H4*0+UVGj7WKQn&=2N5!r literal 3638 zcmdtk+jmse9S87lNL&+!w#JpNG^7{~33m~#LXkpX%T3BnNVqvOz%c{_#0Uf-VGUuE z3ss9yfkF%;oXkuxl9_>C2x>t$IItj1D|XrTp?x?{eIc$zR{<83LC61N{x3 z`JH`!d+)Q)Z32*ie#psz6YCxUhI7j>+;&?wu#fvjvZ=f1-5KCchRATz17GWwEy9WY z4T$cpL9}iM+8TlgzP1MC+c&^^>k#VR-H*Z%hBKzNp$4(~iKwp3LvT|8cF>{C`H0ob zL^QM*Z98Y<%*W?2q-Z!~T{VK0V;}>7TnW@ta0R_YYX_rd{SbWoX*-4vdjfLPSV$A7 zD+k_OP0S5zIc}96n~C6(Of((a$77Dg*7?9w)AAsEqcC~l7*rGko4Buz<7!vtqiy$S z?BKCum7@_{S%il25%4bn0{#tndi+#u+_f6D^RhYjFdlO#RwLXv z8r91SdE6qrwBQl=eC7D+Y%{iO%tg>=Am}&nX4Nnh4gikrtVY+{qYI}4P8N~i`5!$~E$IE9PR1F%qd%>Vfy<|F!YS@6Mh7)T=IB{5+%qRQsr&e~nxwXduTtk-RCx7nPQ|?WK#BE%#2JF>}@nPP=T*+1HSX!?=c?DdF-*= z?{k`d{rY7xva+&t%j?Y=%scC$Oycij7I}8lg>T_LU3dEFzIqJD>fc#|1f_pxWfmLh z&|`W-LVx(1=6v;SD5aqOu5hFC1Zxs0=L0^2?Bj4Z^fP(m-zh{biw6~Ck|f<$WV;Iy z2D2cOBw3`$227Aag4i%6S)|D3;y?xoGD(s}ifn+JunZDpk|c{1*#HxiL4r(@WRW5p z;6K;~2{K8NMT%?)aG5Yje@v2Oks=$y02w66BuN%2vfa~WCm{rxB*`L0wtGoTgISPC zk}OhWyO&EE%z{jkWRW7f=rTRks=$C z=PzN9K68`w$09|xdut4XS&&JREK+2TmNs>j1Y$%?;f;A8dC(Ow0xqC}TESf@pZpLElU-6Aw zVD?J6pY95r3{;->u%AtoL`8>UP&7{NJwk*U^)nrQIKY zV0`wPK%kMP=t=L3JN4^2 zB6_ttvJ(L=!QJO)-QDb~!;^^j?&KMy>+Sc(^PWAdel$J5Q}6Db-;?;d_fYrMJ&E)& z{j7IiZ)ZgAugBee?GYbXZ;$Bk_08|;W`BlLk3XcYi%uLxBHrz8_KnZ(Ek+_?UZ382 zI9>O|ea-0(%_-Jnk+2S*zk(4cE%h}!?Ql2}j`04Z>&-qVn$y)Vr@wt)y?0PwiiD$l z5$=ueE4W)+gZ}IHKk9mgx%wS=Xgv~%#bO=KEAroUUF`0TC)_uP_qv;%`=a}6zK!v? zGr6AscIx(n5s$aFCOr4v;noKu5LlDQ?W;oOcv8s8(5JGCrqW<~l=K3$Oh*nfSRq9= f-O$+Ek#6_aWX8R5?)davdR{%hKF%(QjMRSsa3SqU diff --git a/htdocs/theme/auguria/img/favicon.ico b/htdocs/theme/auguria/img/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b93a86747d647ddc80784e7d0e0313a9eb5393e6 GIT binary patch literal 2238 zcmeH{X;9Q<9LK+A2VG>DR+_rF92*d*T)HS;g%%s|0EQvrejC=G$_Mopky_Bj+lv(H6rYcazSbIY&K$) zuN9+GCPKMPj0%}6)N&W7O=|jiJmYdc|nupi<)FlR403*E=7Xc6fe}Jdcv6Mjha*+7}LB^o92r>X+Ee= zXE}Wi4C?|>pTW9}xoBAL2jhky?Az$a#vl7L1K0$@oIMW>SyHzB(UctsQ%(??bLK1`vvA0ejU!bV=-!=&W5!$@HRj{!UIluZigDajiWBBi95 z<7A5ppSM=vivyK7)mDkqZEBo8sKyyKU$$#;rd@}#9a^00)S=g^!+EP7UmY^w>#izX z?5;&`cRjxO)P%mCR$MuG5Z6w1;M%z(=s*7n2CtmO;MHCXes=*w{TFbf|00Hd_!dJy z_TiVG`Y=p$3B%Vf;n(YzF*?BZz-5fE86LQb(ZTO=YvgC#8ohx#H%D;y_D$UT{Wk91 zy~E}=Jh=Y{9{hP9e?5GNv9U3XkB>j;wfw*TkNg8qIpAprJmY|89q=6Cy><;_*{qbb zqz|1Y@Q$C)6Pbby<0@KvGA8oYb~+OqNN88nvIzTDyvTcJ=Sjpy61oUlf?yGnU*clY z6e5fJs7Ib%kaIERO(L6wUS{`##Waxoy<%kms-OsuTOq?PC38P z^a2?dViR>$Z`i_XW&FbXWZa3(R8>!-5XgNx1qqQyRn6NJUTvn7Pr-{Q;9f-Gtwu^) zDfkeD)YOW3q9ClN;7e?ws?N<8-YMZehRi%-8&x&4-}UtH-^sPvm5d*;ox1(13Uvdw zg0O2YnfXMKy|r(PS;~!+P}uuN+ajcLAzermKkhBUx&>S;3?Y<{``yutcpnn7nAq_T rUtby*#9Q0Bl!#1BAmU@g1A>?Ej-SgN5bA)H4*0+UVGj7WKQn&=2N5!r literal 0 HcmV?d00001 diff --git a/htdocs/theme/bureau2crea/img/favicon.ico b/htdocs/theme/bureau2crea/img/favicon.ico index e0b4481f81e78b28ac10f3503a1d20dc468ccbf4..b93a86747d647ddc80784e7d0e0313a9eb5393e6 100644 GIT binary patch literal 2238 zcmeH{X;9Q<9LK+A2VG>DR+_rF92*d*T)HS;g%%s|0EQvrejC=G$_Mopky_Bj+lv(H6rYcazSbIY&K$) zuN9+GCPKMPj0%}6)N&W7O=|jiJmYdc|nupi<)FlR403*E=7Xc6fe}Jdcv6Mjha*+7}LB^o92r>X+Ee= zXE}Wi4C?|>pTW9}xoBAL2jhky?Az$a#vl7L1K0$@oIMW>SyHzB(UctsQ%(??bLK1`vvA0ejU!bV=-!=&W5!$@HRj{!UIluZigDajiWBBi95 z<7A5ppSM=vivyK7)mDkqZEBo8sKyyKU$$#;rd@}#9a^00)S=g^!+EP7UmY^w>#izX z?5;&`cRjxO)P%mCR$MuG5Z6w1;M%z(=s*7n2CtmO;MHCXes=*w{TFbf|00Hd_!dJy z_TiVG`Y=p$3B%Vf;n(YzF*?BZz-5fE86LQb(ZTO=YvgC#8ohx#H%D;y_D$UT{Wk91 zy~E}=Jh=Y{9{hP9e?5GNv9U3XkB>j;wfw*TkNg8qIpAprJmY|89q=6Cy><;_*{qbb zqz|1Y@Q$C)6Pbby<0@KvGA8oYb~+OqNN88nvIzTDyvTcJ=Sjpy61oUlf?yGnU*clY z6e5fJs7Ib%kaIERO(L6wUS{`##Waxoy<%kms-OsuTOq?PC38P z^a2?dViR>$Z`i_XW&FbXWZa3(R8>!-5XgNx1qqQyRn6NJUTvn7Pr-{Q;9f-Gtwu^) zDfkeD)YOW3q9ClN;7e?ws?N<8-YMZehRi%-8&x&4-}UtH-^sPvm5d*;ox1(13Uvdw zg0O2YnfXMKy|r(PS;~!+P}uuN+ajcLAzermKkhBUx&>S;3?Y<{``yutcpnn7nAq_T rUtby*#9Q0Bl!#1BAmU@g1A>?Ej-SgN5bA)H4*0+UVGj7WKQn&=2N5!r literal 1597 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+g!3HExhN-duDajJoh?3y^w370~qErUQl>DSr z1<%~X^wgl##FWaylc_cg49rTIArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XP}#GU}m6TW~gUq zY+`P1uA^XNU}&IkV5Dzoq-$tyWo%?+V4wg6Nh+i#(Mch>H3D2mX;thjEr=FDs+o0^GXscbn}XpVJ5hw7AF^F7L;V>=P7_pOiaoz zEwNPsx)kDt+yc06!V;*iRM zRQ;gT;{4L0WMIUlDTAykuyQU+O)SYT3dzsUfrVl~Mt(_taYlZDf^)E`f^TASW*&$S zR`2U;<(XGpl9-pA>gi&u1T;Y}Gc(1?&BDUT(cHw)*}%oz(9qSu$;8mi&B@5f)y2fp z*wW1yrq?AuximL5uLPzy1)QEUIa|mDauYE z3=B*gJzX3_DsH6&M|+3_O8iTE_NHg|u3N|4W=k!ZqOfVeHr7i3n>SW5MpDPQjZO{+l>oewX@{<-%)5+mpQW7Or)>L>3e+;nY!TDpU`Vx zR04{BS7a722jol+7Zplqwsi5hdDF~=NqN&!t(}{A!W{))y}zfuZvCxKGdhG$PdT|n zr{@2a*7XOs8%<_;Qfanp+w|}Q&)2uObp;j4TzaFPqZ+2$F!%8zb|fo$){%vPxJcq1_cTi=G?AkVAuY1-jGiw(>zhaYJs|f*P~>3hb?y*yV}`_T}})#Ghfz3 zAAG%X{oV&tIL=f^%(3D3pQk;2>7m0NB_@YNDlCeN1m!Ouj7~kXVeZEX6_sMo{xGmE z@6}Q7IWp znjeY=>SPt{lKt@Zv*p_Z zQNh>KzJ58JAY9yWhK%4U+KcX8L Z86DR+_rF92*d*T)HS;g%%s|0EQvrejC=G$_Mopky_Bj+lv(H6rYcazSbIY&K$) zuN9+GCPKMPj0%}6)N&W7O=|jiJmYdc|nupi<)FlR403*E=7Xc6fe}Jdcv6Mjha*+7}LB^o92r>X+Ee= zXE}Wi4C?|>pTW9}xoBAL2jhky?Az$a#vl7L1K0$@oIMW>SyHzB(UctsQ%(??bLK1`vvA0ejU!bV=-!=&W5!$@HRj{!UIluZigDajiWBBi95 z<7A5ppSM=vivyK7)mDkqZEBo8sKyyKU$$#;rd@}#9a^00)S=g^!+EP7UmY^w>#izX z?5;&`cRjxO)P%mCR$MuG5Z6w1;M%z(=s*7n2CtmO;MHCXes=*w{TFbf|00Hd_!dJy z_TiVG`Y=p$3B%Vf;n(YzF*?BZz-5fE86LQb(ZTO=YvgC#8ohx#H%D;y_D$UT{Wk91 zy~E}=Jh=Y{9{hP9e?5GNv9U3XkB>j;wfw*TkNg8qIpAprJmY|89q=6Cy><;_*{qbb zqz|1Y@Q$C)6Pbby<0@KvGA8oYb~+OqNN88nvIzTDyvTcJ=Sjpy61oUlf?yGnU*clY z6e5fJs7Ib%kaIERO(L6wUS{`##Waxoy<%kms-OsuTOq?PC38P z^a2?dViR>$Z`i_XW&FbXWZa3(R8>!-5XgNx1qqQyRn6NJUTvn7Pr-{Q;9f-Gtwu^) zDfkeD)YOW3q9ClN;7e?ws?N<8-YMZehRi%-8&x&4-}UtH-^sPvm5d*;ox1(13Uvdw zg0O2YnfXMKy|r(PS;~!+P}uuN+ajcLAzermKkhBUx&>S;3?Y<{``yutcpnn7nAq_T rUtby*#9Q0Bl!#1BAmU@g1A>?Ej-SgN5bA)H4*0+UVGj7WKQn&=2N5!r literal 3638 zcmdtk+jmse9S87lNL&+!w#JpNG^7{~33m~#LXkpX%T3BnNVqvOz%c{_#0Uf-VGUuE z3ss9yfkF%;oXkuxl9_>C2x>t$IItj1D|XrTp?x?{eIc$zR{<83LC61N{x3 z`JH`!d+)Q)Z32*ie#psz6YCxUhI7j>+;&?wu#fvjvZ=f1-5KCchRATz17GWwEy9WY z4T$cpL9}iM+8TlgzP1MC+c&^^>k#VR-H*Z%hBKzNp$4(~iKwp3LvT|8cF>{C`H0ob zL^QM*Z98Y<%*W?2q-Z!~T{VK0V;}>7TnW@ta0R_YYX_rd{SbWoX*-4vdjfLPSV$A7 zD+k_OP0S5zIc}96n~C6(Of((a$77Dg*7?9w)AAsEqcC~l7*rGko4Buz<7!vtqiy$S z?BKCum7@_{S%il25%4bn0{#tndi+#u+_f6D^RhYjFdlO#RwLXv z8r91SdE6qrwBQl=eC7D+Y%{iO%tg>=Am}&nX4Nnh4gikrtVY+{qYI}4P8N~i`5!$~E$IE9PR1F%qd%>Vfy<|F!YS@6Mh7)T=IB{5+%qRQsr&e~nxwXduTtk-RCx7nPQ|?WK#BE%#2JF>}@nPP=T*+1HSX!?=c?DdF-*= z?{k`d{rY7xva+&t%j?Y=%scC$Oycij7I}8lg>T_LU3dEFzIqJD>fc#|1f_pxWfmLh z&|`W-LVx(1=6v;SD5aqOu5hFC1Zxs0=L0^2?Bj4Z^fP(m-zh{biw6~Ck|f<$WV;Iy z2D2cOBw3`$227Aag4i%6S)|D3;y?xoGD(s}ifn+JunZDpk|c{1*#HxiL4r(@WRW5p z;6K;~2{K8NMT%?)aG5Yje@v2Oks=$y02w66BuN%2vfa~WCm{rxB*`L0wtGoTgISPC zk}OhWyO&EE%z{jkWRW7f=rTRks=$C z=PzN9K68`w$09|xdut4XS&&JREK+2TmNs>j1Y$%?;f;A8dC(Ow0xqC}TESf@pZpLElU-6Aw zVD?J6pY95r3{;->u%AtoL`8>UP&7{NJwk*U^)nrQIKY zV0`wPK%kMP=t=L3JN4^2 zB6_ttvJ(L=!QJO)-QDb~!;^^j?&KMy>+Sc(^PWAdel$J5Q}6Db-;?;d_fYrMJ&E)& z{j7IiZ)ZgAugBee?GYbXZ;$Bk_08|;W`BlLk3XcYi%uLxBHrz8_KnZ(Ek+_?UZ382 zI9>O|ea-0(%_-Jnk+2S*zk(4cE%h}!?Ql2}j`04Z>&-qVn$y)Vr@wt)y?0PwiiD$l z5$=ueE4W)+gZ}IHKk9mgx%wS=Xgv~%#bO=KEAroUUF`0TC)_uP_qv;%`=a}6zK!v? zGr6AscIx(n5s$aFCOr4v;noKu5LlDQ?W;oOcv8s8(5JGCrqW<~l=K3$Oh*nfSRq9= f-O$+Ek#6_aWX8R5?)davdR{%hKF%(QjMRSsa3SqU diff --git a/htdocs/theme/cameleo/style.css.php b/htdocs/theme/cameleo/style.css.php index d739c71f93c0d..88858ee3211b2 100644 --- a/htdocs/theme/cameleo/style.css.php +++ b/htdocs/theme/cameleo/style.css.php @@ -967,7 +967,6 @@ /* ============================================================================== */ .toolbar { - background-image: url(theme.'/img/tmenu2.png',1); ?>) !important; background-repeat: repeat-x !important; border: 1px solid #BBB !important; } diff --git a/htdocs/theme/eldy/img/favicon.ico b/htdocs/theme/eldy/img/favicon.ico index 7d41c54d5bb98e9d5d6b1c8b359f0f2757b69230..b93a86747d647ddc80784e7d0e0313a9eb5393e6 100644 GIT binary patch literal 2238 zcmeH{X;9Q<9LK+A2VG>DR+_rF92*d*T)HS;g%%s|0EQvrejC=G$_Mopky_Bj+lv(H6rYcazSbIY&K$) zuN9+GCPKMPj0%}6)N&W7O=|jiJmYdc|nupi<)FlR403*E=7Xc6fe}Jdcv6Mjha*+7}LB^o92r>X+Ee= zXE}Wi4C?|>pTW9}xoBAL2jhky?Az$a#vl7L1K0$@oIMW>SyHzB(UctsQ%(??bLK1`vvA0ejU!bV=-!=&W5!$@HRj{!UIluZigDajiWBBi95 z<7A5ppSM=vivyK7)mDkqZEBo8sKyyKU$$#;rd@}#9a^00)S=g^!+EP7UmY^w>#izX z?5;&`cRjxO)P%mCR$MuG5Z6w1;M%z(=s*7n2CtmO;MHCXes=*w{TFbf|00Hd_!dJy z_TiVG`Y=p$3B%Vf;n(YzF*?BZz-5fE86LQb(ZTO=YvgC#8ohx#H%D;y_D$UT{Wk91 zy~E}=Jh=Y{9{hP9e?5GNv9U3XkB>j;wfw*TkNg8qIpAprJmY|89q=6Cy><;_*{qbb zqz|1Y@Q$C)6Pbby<0@KvGA8oYb~+OqNN88nvIzTDyvTcJ=Sjpy61oUlf?yGnU*clY z6e5fJs7Ib%kaIERO(L6wUS{`##Waxoy<%kms-OsuTOq?PC38P z^a2?dViR>$Z`i_XW&FbXWZa3(R8>!-5XgNx1qqQyRn6NJUTvn7Pr-{Q;9f-Gtwu^) zDfkeD)YOW3q9ClN;7e?ws?N<8-YMZehRi%-8&x&4-}UtH-^sPvm5d*;ox1(13Uvdw zg0O2YnfXMKy|r(PS;~!+P}uuN+ajcLAzermKkhBUx&>S;3?Y<{``yutcpnn7nAq_T rUtby*#9Q0Bl!#1BAmU@g1A>?Ej-SgN5bA)H4*0+UVGj7WKQn&=2N5!r literal 3638 zcmdtk+jmse9S87lNL&+!w#JpNG^7{~33m~#LXkpX%T3BnNVqvOz%c{_#0Uf-VGUuE z3ss9yfkF%;oXkuxl9_>C2x>t$IItj1D|XrTp?x?{eIc$zR{<83LC61N{x3 z`JH`!d+)Q)Z32*ie#psz6YCxUhI7j>+;&?wu#fvjvZ=f1-5KCchRATz17GWwEy9WY z4T$cpL9}iM+8TlgzP1MC+c&^^>k#VR-H*Z%hBKzNp$4(~iKwp3LvT|8cF>{C`H0ob zL^QM*Z98Y<%*W?2q-Z!~T{VK0V;}>7TnW@ta0R_YYX_rd{SbWoX*-4vdjfLPSV$A7 zD+k_OP0S5zIc}96n~C6(Of((a$77Dg*7?9w)AAsEqcC~l7*rGko4Buz<7!vtqiy$S z?BKCum7@_{S%il25%4bn0{#tndi+#u+_f6D^RhYjFdlO#RwLXv z8r91SdE6qrwBQl=eC7D+Y%{iO%tg>=Am}&nX4Nnh4gikrtVY+{qYI}4P8N~i`5!$~E$IE9PR1F%qd%>Vfy<|F!YS@6Mh7)T=IB{5+%qRQsr&e~nxwXduTtk-RCx7nPQ|?WK#BE%#2JF>}@nPP=T*+1HSX!?=c?DdF-*= z?{k`d{rY7xva+&t%j?Y=%scC$Oycij7I}8lg>T_LU3dEFzIqJD>fc#|1f_pxWfmLh z&|`W-LVx(1=6v;SD5aqOu5hFC1Zxs0=L0^2?Bj4Z^fP(m-zh{biw6~Ck|f<$WV;Iy z2D2cOBw3`$227Aag4i%6S)|D3;y?xoGD(s}ifn+JunZDpk|c{1*#HxiL4r(@WRW5p z;6K;~2{K8NMT%?)aG5Yje@v2Oks=$y02w66BuN%2vfa~WCm{rxB*`L0wtGoTgISPC zk}OhWyO&EE%z{jkWRW7f=rTRks=$C z=PzN9K68`w$09|xdut4XS&&JREK+2TmNs>j1Y$%?;f;A8dC(Ow0xqC}TESf@pZpLElU-6Aw zVD?J6pY95r3{;->u%AtoL`8>UP&7{NJwk*U^)nrQIKY zV0`wPK%kMP=t=L3JN4^2 zB6_ttvJ(L=!QJO)-QDb~!;^^j?&KMy>+Sc(^PWAdel$J5Q}6Db-;?;d_fYrMJ&E)& z{j7IiZ)ZgAugBee?GYbXZ;$Bk_08|;W`BlLk3XcYi%uLxBHrz8_KnZ(Ek+_?UZ382 zI9>O|ea-0(%_-Jnk+2S*zk(4cE%h}!?Ql2}j`04Z>&-qVn$y)Vr@wt)y?0PwiiD$l z5$=ueE4W)+gZ}IHKk9mgx%wS=Xgv~%#bO=KEAroUUF`0TC)_uP_qv;%`=a}6zK!v? zGr6AscIx(n5s$aFCOr4v;noKu5LlDQ?W;oOcv8s8(5JGCrqW<~l=K3$Oh*nfSRq9= f-O$+Ek#6_aWX8R5?)davdR{%hKF%(QjMRSsa3SqU