2
0
forked from Wavyzz/dolibarr

NEW On list of thirdparties, user can select fields to show.

Make phpunit test working again localy.
Add missing columns into llx_expedition.
This commit is contained in:
Laurent Destailleur
2015-10-14 23:50:36 +02:00
parent e22b0b9a57
commit 7f75a3da9d
30 changed files with 433 additions and 246 deletions

View File

@@ -249,7 +249,7 @@ dol_fiche_head($head, 'general', $langs->trans("CommRequests"), 0, 'askpricesupp
/*
* Module numerotation
*/
print load_fiche_titre($langs->trans("AskPriceSupplierNumberingModules"));
print load_fiche_titre($langs->trans("AskPriceSupplierNumberingModules"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
@@ -351,7 +351,7 @@ print "</table><br>\n";
* Document templates generators
*/
print load_fiche_titre($langs->trans("AskPriceSupplierPDFModules"));
print load_fiche_titre($langs->trans("AskPriceSupplierPDFModules"),'','');
// Load array def with activated templates
$def = array();
@@ -513,7 +513,7 @@ print '<br>';
* Other options
*
*/
print load_fiche_titre($langs->trans("OtherOptions"));
print load_fiche_titre($langs->trans("OtherOptions"),'','');
$var=true;
print "<table class=\"noborder\" width=\"100%\">";
@@ -594,7 +594,7 @@ print '</table>';
* Directory
*/
print '<br>';
print load_fiche_titre($langs->trans("PathToDocuments"));
print load_fiche_titre($langs->trans("PathToDocuments"),'','');
print "<table class=\"noborder\" width=\"100%\">\n";
print "<tr class=\"liste_titre\">\n";

View File

@@ -188,7 +188,7 @@ foreach($dirbarcode as $reldir)
$var=true;
print '<br>';
print load_fiche_titre($langs->trans("BarcodeEncodeModule"));
print load_fiche_titre($langs->trans("BarcodeEncodeModule"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
@@ -288,7 +288,7 @@ print "<br>";
* Autres options
*
*/
print load_fiche_titre($langs->trans("OtherOptions"));
print load_fiche_titre($langs->trans("OtherOptions"),'','');
print "<form method=\"post\" action=\"".$_SERVER["PHP_SELF"]."\">";
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
@@ -358,7 +358,7 @@ print '<br>';
// Select barcode numbering module
if ($conf->produit->enabled)
{
print load_fiche_titre($langs->trans("BarCodeNumberManager")." (".$langs->trans("Product").")");
print load_fiche_titre($langs->trans("BarCodeNumberManager")." (".$langs->trans("Product").")",'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';

View File

@@ -273,7 +273,7 @@ dol_fiche_head($head, 'general', $langs->trans("Orders"), 0, 'order');
* Orders Numbering model
*/
print load_fiche_titre($langs->trans("OrdersNumberingModules"));
print load_fiche_titre($langs->trans("OrdersNumberingModules"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
@@ -377,7 +377,7 @@ print "</table><br>\n";
* Document templates generators
*/
print load_fiche_titre($langs->trans("OrdersModelModule"));
print load_fiche_titre($langs->trans("OrdersModelModule"),'','');
// Load array def with activated templates
$def = array();
@@ -540,7 +540,7 @@ print "<br>";
*
*/
print load_fiche_titre($langs->trans("OtherOptions"));
print load_fiche_titre($langs->trans("OtherOptions"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameter").'</td>';
@@ -638,7 +638,7 @@ print '<br>';
* Notifications
*/
print load_fiche_titre($langs->trans("Notifications"));
print load_fiche_titre($langs->trans("Notifications"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameter").'</td>';

View File

@@ -226,7 +226,7 @@ dol_fiche_head($head, 'contract', $langs->trans("Contracts"), 0, 'contract');
* Contracts Numbering model
*/
print load_fiche_titre($langs->trans("ContractsNumberingModules"));
print load_fiche_titre($langs->trans("ContractsNumberingModules"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
@@ -329,7 +329,7 @@ print '</table><br>';
* Documents models for Contracts
*/
print load_fiche_titre($langs->trans("TemplatePDFContracts"));
print load_fiche_titre($langs->trans("TemplatePDFContracts"),'','');
// Defini tableau def des modeles
$def = array();
@@ -494,7 +494,7 @@ print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="set_other">';
print load_fiche_titre($langs->trans("OtherOptions"));
print load_fiche_titre($langs->trans("OtherOptions"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameter").'</td>';

View File

@@ -244,7 +244,7 @@ dol_fiche_head($head, 'expensereport', $langs->trans("ExpenseReports"), 0, 'trip
// Interventions numbering model
/*
print load_fiche_titre($langs->trans("FicheinterNumberingModules"));
print load_fiche_titre($langs->trans("FicheinterNumberingModules"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';

View File

@@ -302,7 +302,7 @@ dol_fiche_head($head, 'general', $langs->trans("Invoices"), 0, 'invoice');
* Numbering module
*/
print load_fiche_titre($langs->trans("BillsNumberingModule"));
print load_fiche_titre($langs->trans("BillsNumberingModule"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
@@ -471,7 +471,7 @@ print '</table>';
* Document templates generators
*/
print '<br>';
print load_fiche_titre($langs->trans("BillsPDFModules"));
print load_fiche_titre($langs->trans("BillsPDFModules"),'','');
// Load array def with activated templates
$type='invoice';
@@ -631,7 +631,7 @@ print '</table>';
* Modes de reglement
*/
print '<br>';
print load_fiche_titre($langs->trans("SuggestedPaymentModesIfNotDefinedInInvoice"));
print load_fiche_titre($langs->trans("SuggestedPaymentModesIfNotDefinedInInvoice"),'','');
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'" />';
@@ -726,7 +726,7 @@ print "</form>";
print "<br>";
print load_fiche_titre($langs->trans("OtherOptions"));
print load_fiche_titre($langs->trans("OtherOptions"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
@@ -805,7 +805,7 @@ print '</table>';
* Repertoire
*/
print '<br>';
print load_fiche_titre($langs->trans("PathToDocuments"));
print load_fiche_titre($langs->trans("PathToDocuments"),'','');
print '<table class="noborder" width="100%">'."\n";
print '<tr class="liste_titre">'."\n";
@@ -823,7 +823,7 @@ print "</table>\n";
* Notifications
*/
print '<br>';
print load_fiche_titre($langs->trans("Notifications"));
print load_fiche_titre($langs->trans("Notifications"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameter").'</td>';

View File

@@ -255,7 +255,7 @@ dol_fiche_head($head, 'ficheinter', $langs->trans("Interventions"), 0, 'interven
// Interventions numbering model
print load_fiche_titre($langs->trans("FicheinterNumberingModules"));
print load_fiche_titre($langs->trans("FicheinterNumberingModules"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
@@ -357,7 +357,7 @@ print '</table><br>';
* Documents models for Interventions
*/
print load_fiche_titre($langs->trans("TemplatePDFInterventions"));
print load_fiche_titre($langs->trans("TemplatePDFInterventions"),'','');
// Defini tableau def des modeles
$type='ficheinter';
@@ -511,7 +511,7 @@ print "<br>";
*
*/
print load_fiche_titre($langs->trans("OtherOptions"));
print load_fiche_titre($langs->trans("OtherOptions"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameter").'</td>';

View File

@@ -237,7 +237,7 @@ dol_fiche_head($head, $hselected, $langs->trans("ModuleSetup"));
* Livraison numbering model
*/
print load_fiche_titre($langs->trans("DeliveryOrderNumberingModules"));
print load_fiche_titre($langs->trans("DeliveryOrderNumberingModules"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
@@ -340,7 +340,7 @@ print '</table>';
* Documents Models for delivery
*/
print '<br>';
print load_fiche_titre($langs->trans("DeliveryOrderModel"));
print load_fiche_titre($langs->trans("DeliveryOrderModel"),'','');
// Defini tableau def de modele
$type="delivery";
@@ -487,7 +487,7 @@ print '</table>';
* Autres Options
*/
print "<br>";
print load_fiche_titre($langs->trans("OtherOptions"));
print load_fiche_titre($langs->trans("OtherOptions"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';

View File

@@ -270,7 +270,7 @@ dol_fiche_head($head, 'general', $langs->trans("Proposals"), 0, 'propal');
/*
* Module numerotation
*/
print load_fiche_titre($langs->trans("ProposalsNumberingModules"));
print load_fiche_titre($langs->trans("ProposalsNumberingModules"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
@@ -374,7 +374,7 @@ print "</table><br>\n";
* Document templates generators
*/
print load_fiche_titre($langs->trans("ProposalsPDFModules"));
print load_fiche_titre($langs->trans("ProposalsPDFModules"),'','');
// Load array def with activated templates
$def = array();
@@ -536,7 +536,7 @@ print '<br>';
* Other options
*
*/
print load_fiche_titre($langs->trans("OtherOptions"));
print load_fiche_titre($langs->trans("OtherOptions"),'','');
$var=true;
print "<table class=\"noborder\" width=\"100%\">";
@@ -643,7 +643,7 @@ print '</table>';
* Directory
*/
print '<br>';
print load_fiche_titre($langs->trans("PathToDocuments"));
print load_fiche_titre($langs->trans("PathToDocuments"),'','');
print "<table class=\"noborder\" width=\"100%\">\n";
print "<tr class=\"liste_titre\">\n";
@@ -658,7 +658,7 @@ print "</table>\n<br>";
* Notifications
*/
print load_fiche_titre($langs->trans("Notifications"));
print load_fiche_titre($langs->trans("Notifications"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameter").'</td>';

View File

@@ -83,6 +83,8 @@ print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="update">';
dol_fiche_head();
/*
* Params
*/
@@ -109,10 +111,13 @@ foreach ($list as $key)
print '</tr>';
print '</form>';
print "</table>\n";
print '<br /><div style="text-align:center"><input type="submit" class="button" value="'.$langs->trans('Modify').'" name="button"></div>';
print '</form>';
dol_fiche_end();
print '<div style="text-align:center"><input type="submit" class="button" value="'.$langs->trans('Modify').'" name="button"></div>';
llxFooter();
$db->close();
$db->close();

View File

@@ -205,7 +205,7 @@ dol_fiche_head($head, 'invoice', $langs->trans("Suppliers"), 0, 'company');
// Supplier invoice numbering module
print load_fiche_titre($langs->trans("SuppliersInvoiceNumberingModel"));
print load_fiche_titre($langs->trans("SuppliersInvoiceNumberingModel"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
@@ -311,7 +311,7 @@ print '</table><br>';
* Modeles documents for supplier invoices
*/
print load_fiche_titre($langs->trans("BillsPDFModules"));
print load_fiche_titre($langs->trans("BillsPDFModules"),'','');
// Defini tableau def de modele
$def = array();
@@ -453,7 +453,7 @@ print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="set_SUPPLIER_INVOICE_FREE_TEXT">';
print load_fiche_titre($langs->trans("OtherOptions"));
print load_fiche_titre($langs->trans("OtherOptions"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameter").'</td>';
@@ -487,7 +487,7 @@ print '</form>';
* Notifications
*/
print load_fiche_titre($langs->trans("Notifications"));
print load_fiche_titre($langs->trans("Notifications"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameter").'</td>';

View File

@@ -221,7 +221,7 @@ dol_fiche_head($head, 'order', $langs->trans("Suppliers"), 0, 'company');
// Supplier order numbering module
print load_fiche_titre($langs->trans("OrdersNumberingModules"));
print load_fiche_titre($langs->trans("OrdersNumberingModules"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
@@ -325,7 +325,7 @@ print '</table><br>';
* Documents models for supplier orders
*/
print load_fiche_titre($langs->trans("OrdersModelModule"));
print load_fiche_titre($langs->trans("OrdersModelModule"),'','');
// Defini tableau def de modele
$def = array();
@@ -464,7 +464,7 @@ print '<form action="'.$_SERVER["PHP_SELF"].'" method="post">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="set_SUPPLIER_ORDER_OTHER">';
print load_fiche_titre($langs->trans("OtherOptions"));
print load_fiche_titre($langs->trans("OtherOptions"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameter").'</td>';
@@ -512,7 +512,7 @@ print '</form>';
* Notifications
*/
print load_fiche_titre($langs->trans("Notifications"));
print load_fiche_titre($langs->trans("Notifications"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Parameter").'</td>';

View File

@@ -159,7 +159,8 @@ $sts = array(-1,0,1,2,3);
// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array
$hookmanager->initHooks(array('prospectlist'));
$contextpage='prospectlist';
$hookmanager->initHooks(array($contextpage));
$extrafields = new ExtraFields($db);
// fetch optionals attributes and labels
@@ -167,7 +168,7 @@ $extralabels = $extrafields->fetch_name_optionals_label('thirdparty');
$search_array_options=$extrafields->getOptionalsFromPost($extralabels,'','search_');
// Do we click on purge search criteria ?
if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers
if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers
{
$socname="";
$stcomm="";
@@ -271,7 +272,7 @@ if ($socname)
$sortfield = "s.nom";
$sortorder = "ASC";
}
// Extra fields
// Add where from extra fields
foreach ($search_array_options as $key => $val)
{
$crit=$val;
@@ -339,15 +340,14 @@ if ($resql)
if ($search_status != '') $param.='&search_status='.$search_status;
if ($search_country != '') $param.='&amp;search_country='.$search_country;
if ($search_type_thirdparty != '') $param.='&amp;search_type_thirdparty='.$search_type_thirdparty;
foreach ($search_array_options as $key => $val)
// Add $param from extra fields
foreach ($search_array_options as $key => $val)
{
$crit=$val;
$tmpkey=preg_replace('/search_options_/','',$key);
$param.='&search_options_'.$tmpkey.'='.urlencode($val);
}
// $param and $urladd should have the same value
$urladd = $param;
print_barre_liste($langs->trans("ListOfProspects"), $page, $_SERVER["PHP_SELF"], $param, $sortfield,$sortorder,'',$num,$nbtotalofrecords,'title_companies.png');

View File

@@ -4671,12 +4671,12 @@ class Form
* Show a multiselect form from an array.
*
* @param string $htmlname Name of select
* @param array $array Array with array of fields we could show
* @param array $array Array with array of fields we could show. This array may be modified according to setup of user.
* @param string $varpage Id of context for page. Can be set with $varpage=empty($contextpage)?$_SERVER["PHP_SELF"]:$contextpage;
* @return string HTML multiselect string
* @see selectarray
*/
static function multiSelectArrayWithCheckbox($htmlname, $array, $varpage)
static function multiSelectArrayWithCheckbox($htmlname, &$array, $varpage)
{
global $user;
@@ -4699,7 +4699,11 @@ class Form
foreach($array as $key => $val)
{
if (isset($val['cond']) && ! $val['cond']) continue;
if (isset($val['enabled']) && ! $val['enabled'])
{
unset($array[$key]); // We don't want this field
continue;
}
if ($val['label'])
{
$lis.='<li><input type="checkbox" value="'.$key.'"'.(empty($val['checked'])?'':' checked="checked"').'/>'.dol_escape_htmltag($val['label']).'</li>';

View File

@@ -921,7 +921,7 @@ function dolCopyDir($srcfile, $destfile, $newmask, $overwriteifexists)
*
* @param string $srcfile Source file (can't be a directory. use native php @rename() to move a directory)
* @param string $destfile Destination file (can't be a directory. use native php @rename() to move a directory)
* @param integer $newmask Mask for new file (0 by default means $conf->global->MAIN_UMASK)
* @param integer $newmask Mask in octal string for new file (0 by default means $conf->global->MAIN_UMASK)
* @param int $overwriteifexists Overwrite file if exists (1 by default)
* @return boolean True if OK, false if KO
*/
@@ -954,7 +954,7 @@ function dol_move($srcfile, $destfile, $newmask=0, $overwriteifexists=1)
// Currently method is restricted to files (dol_delete_files previously used is for files, and mask usage if for files too)
// to allow mask usage for dir, we shoul introduce a new param "isdir" to 1 to complete newmask like this
// if ($isdir) $newmaskdec |= octdec('0111'); // Set x bit required for directories
@chmod($newpathofdestfile, $newmaskdesc);
@chmod($newpathofdestfile, $newmaskdec);
}
return $result;

View File

@@ -486,7 +486,7 @@ function show_theme($fuser,$edit=0,$foruserprofile=false)
{
print $formother->showColor($conf->global->THEME_ELDY_BACKTITLE1, $langs->trans("Default"));
}
print ' &nbsp; ('.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')';
print ' &nbsp; ('.$langs->trans("Default").': <strong>e6e6e6</strong>, '.$langs->trans("NotSupportedByAllThemes").', '.$langs->trans("PressF5AfterChangingThis").')';
print '</td>';
print '</tr>';

View File

@@ -57,3 +57,7 @@ ALTER TABLE llx_paiement ADD COLUMN ref varchar(30) NOT NULL AFTER rowid;
ALTER TABLE llx_socpeople ADD COLUMN photo varchar(255) AFTER skype;
ALTER TABLE llx_user_param MODIFY COLUMN value text NOT NULL;
ALTER TABLE llx_expedition ADD COLUMN import_key varchar(14);
ALTER TABLE llx_expedition ADD COLUMN extraparams varchar(255);

View File

@@ -52,6 +52,8 @@ create table llx_expedition
note_public text,
model_pdf varchar(255),
fk_incoterms integer, -- for incoterms
location_incoterms varchar(255) -- for incoterms
location_incoterms varchar(255), -- for incoterms
import_key varchar(14),
extraparams varchar(255) -- for other parameters with json format
)ENGINE=innodb;

View File

@@ -229,6 +229,7 @@ DateAndHour=Date and hour
DateStart=Date start
DateEnd=Date end
DateCreation=Creation date
DateCreationShort=Creat. date
DateModification=Modification date
DateModificationShort=Modif. date
DateLastModification=Last modification date

View File

@@ -821,7 +821,7 @@ class Product extends CommonObject
function delete($id=0)
{
// Deprecation warning
if (0 == $id) {
if ($id > 0) {
dol_syslog(__METHOD__ . " with parameter is deprecated", LOG_WARNING);
}

View File

@@ -299,7 +299,7 @@ $dirsociete=array_merge(array('/core/modules/societe/'),$conf->modules_parts['so
// Module to manage customer/supplier code
print load_fiche_titre($langs->trans("CompanyCodeChecker"));
print load_fiche_titre($langs->trans("CompanyCodeChecker"),'','');
print '<table class="noborder" width="100%">'."\n";
print '<tr class="liste_titre">'."\n";
@@ -381,7 +381,7 @@ print "<br>";
// Select accountancy code numbering module
print load_fiche_titre($langs->trans("AccountCodeManager"));
print load_fiche_titre($langs->trans("AccountCodeManager"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
@@ -452,7 +452,7 @@ print "</table>\n";
* Document templates generators
*/
print '<br>';
print load_fiche_titre($langs->trans("ModelModules"));
print load_fiche_titre($langs->trans("ModelModules"),'','');
// Load array def with activated templates
$def = array();
@@ -598,7 +598,7 @@ print '</table>';
print '<br>';
//IDProf
print load_fiche_titre($langs->trans("CompanyIdProfChecker"));
print load_fiche_titre($langs->trans("CompanyIdProfChecker"),'','');
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
@@ -691,7 +691,7 @@ while ($i < $nbofloop)
print "</table><br>\n";
print load_fiche_titre($langs->trans("Other"));
print load_fiche_titre($langs->trans("Other"),'','');
// Autres options
$form=new Form($db);
@@ -804,6 +804,7 @@ print '</form>';
dol_fiche_end();
$db->close();
llxFooter();
$db->close();

View File

@@ -677,8 +677,8 @@ class Societe extends CommonObject
$this->localtax1_value=trim($this->localtax1_value);
$this->localtax2_value=trim($this->localtax2_value);
$this->capital=price2num(trim($this->capital),'MT');
if (empty($this->capital) || ! is_numeric($this->capital)) $this->capital = 0;
if ($this->capital != '') $this->capital=price2num(trim($this->capital));
if (! is_numeric($this->capital)) $this->capital = ''; // '' = undef
$this->effectif_id=trim($this->effectif_id);
$this->forme_juridique_code=trim($this->forme_juridique_code);
@@ -806,7 +806,7 @@ class Societe extends CommonObject
}
else $sql .=",localtax2_value =0.000";
$sql .= ",capital = ".$this->capital;
$sql .= ",capital = ".($this->capital == '' ? "null" : $this->capital);
$sql .= ",prefix_comm = ".(! empty($this->prefix_comm)?"'".$this->db->escape($this->prefix_comm)."'":"null");

View File

@@ -46,6 +46,7 @@ $search_nom_only=trim(GETPOST("search_nom_only"));
$search_all=trim(GETPOST("search_all"));
$sbarcode=trim(GETPOST("sbarcode"));
$search_town=trim(GETPOST("search_town"));
$search_zip=trim(GETPOST("search_zip"));
$socname=trim(GETPOST("socname"));
$search_idprof1=trim(GETPOST('search_idprof1'));
$search_idprof2=trim(GETPOST('search_idprof2'));
@@ -79,6 +80,10 @@ $contextpage='thirdpartylist';
$hookmanager->initHooks(array($contextpage));
$extrafields = new ExtraFields($db);
// fetch optionals attributes and labels
$extralabels = $extrafields->fetch_name_optionals_label('thirdparty');
$search_array_options=$extrafields->getOptionalsFromPost($extralabels,'','search_');
/*
* Actions
@@ -179,6 +184,7 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETP
$search_nom="";
$sbarcode="";
$search_town="";
$search_zip="";
$search_idprof1='';
$search_idprof2='';
$search_idprof3='';
@@ -187,6 +193,7 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter.x") || GETP
$search_country='';
$search_type_thirdparty='';
$search_status='';
$search_array_options=array();
}
if ($search_status=='') $search_status=1; // always display active thirdparty first
@@ -211,7 +218,7 @@ if ($socname)
*/
$title=$langs->trans("ListOfThirdParties");
$sql = "SELECT s.rowid, s.nom as name, s.barcode, s.town, s.datec, s.code_client, s.code_fournisseur, ";
$sql = "SELECT s.rowid, s.nom as name, s.barcode, s.town, s.zip, s.datec, s.code_client, s.code_fournisseur, ";
$sql.= " st.libelle as stcomm, s.prefix_comm, s.client, s.fournisseur, s.canvas, s.status as status,";
$sql.= " s.siren as idprof1, s.siret as idprof2, ape as idprof3, idprof4 as idprof4,";
$sql.= " s.fk_pays, s.tms as date_update, s.datec as date_creation,";
@@ -220,13 +227,14 @@ $sql.= " typent.code as typent_code";
if ($search_sale) $sql .= ", sc.fk_soc, sc.fk_user";
// We'll need these fields in order to filter by categ
if ($search_categ) $sql .= ", cs.fk_categorie, cs.fk_soc";
// Add fields for extrafields
// Add fields from extrafields
foreach ($extrafields->attribute_list as $key => $val) $sql.=",ef.".$key.' as options_'.$key;
// Add fields from hooks
$parameters=array();
$reshook=$hookmanager->executeHooks('printFieldListSelect',$parameters); // Note that $action and $object may have been modified by hook
$sql.=$hookmanager->resPrint;
$sql.= " FROM ".MAIN_DB_PREFIX."societe as s";
if (is_array($extrafields->attribute_list) && count($extrafields->attribute_list)) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_extrafields as ef on (s.rowid = ef.fk_object)";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as country on (country.rowid = s.fk_pays) ";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_typent as typent on (typent.id = s.fk_typent) ";
$sql.= " ,".MAIN_DB_PREFIX."c_stcomm as st";
@@ -241,18 +249,19 @@ if ($socid) $sql.= " AND s.rowid = ".$socid;
if ($search_sale) $sql.= " AND s.rowid = sc.fk_soc"; // Join for the needed table to filter by sale
if ($search_categ) $sql.= " AND s.rowid = cs.fk_soc"; // Join for the needed table to filter by categ
if (! $user->rights->fournisseur->lire) $sql.=" AND (s.fournisseur <> 1 OR s.client <> 0)"; // client=0, fournisseur=0 must be visible
if ($search_sale) $sql .= " AND sc.fk_user = ".$db->escape($search_sale);
if ($search_categ) $sql .= " AND cs.fk_categorie = ".$db->escape($search_categ);
if ($search_sale) $sql.= " AND sc.fk_user = ".$db->escape($search_sale);
if ($search_categ) $sql.= " AND cs.fk_categorie = ".$db->escape($search_categ);
if ($search_nom_only) $sql.= natural_search("s.nom",$search_nom_only);
if ($search_all) $sql.= natural_search(array("s.nom", "s.name_alias", "s.code_client", "s.code_fournisseur", "s.email", "s.url","s.siren","s.siret","s.ape","s.idprof4","s.idprof5","s.idprof6"), $search_all);
if ($search_nom) $sql.= natural_search(array("s.nom", "s.name_alias", "s.code_client", "s.code_fournisseur", "s.email", "s.url","s.siren","s.siret","s.ape","s.idprof4","s.idprof5","s.idprof6"), $search_nom);
if ($search_town) $sql .= " AND s.town LIKE '%".$db->escape($search_town)."%'";
if ($search_idprof1) $sql .= " AND s.siren LIKE '%".$db->escape($search_idprof1)."%'";
if ($search_idprof2) $sql .= " AND s.siret LIKE '%".$db->escape($search_idprof2)."%'";
if ($search_idprof3) $sql .= " AND s.ape LIKE '%".$db->escape($search_idprof3)."%'";
if ($search_idprof4) $sql .= " AND s.idprof4 LIKE '%".$db->escape($search_idprof4)."%'";
if ($search_idprof5) $sql .= " AND s.idprof5 LIKE '%".$db->escape($search_idprof5)."%'";
if ($search_idprof6) $sql .= " AND s.idprof6 LIKE '%".$db->escape($search_idprof6)."%'";
if ($search_town) $sql.= natural_search("s.town",$search_town);
if ($search_zip) $sql.= natural_search("s.zip",$search_zip);
if ($search_idprof1) $sql.= natural_search("s.siren",$search_idprof1);
if ($search_idprof2) $sql.= natural_search("s.siret",$search_idprof2);
if ($search_idprof3) $sql.= natural_search("s.ape",$search_idprof3);
if ($search_idprof4) $sql.= natural_search("s.idprof4",$search_idprof4);
if ($search_idprof5) $sql.= natural_search("s.idprof5",$search_idprof5);
if ($search_idprof6) $sql.= natural_search("s.idprof6",$search_idprof6);
// Filter on type of thirdparty
if ($search_type > 0 && in_array($search_type,array('1,3','2,3'))) $sql .= " AND s.client IN (".$db->escape($search_type).")";
if ($search_type > 0 && in_array($search_type,array('4'))) $sql .= " AND s.fournisseur = 1";
@@ -261,6 +270,19 @@ if ($search_status!='') $sql .= " AND s.status = ".$db->escape($search_status);
if (!empty($conf->barcode->enabled) && $sbarcode) $sql.= " AND s.barcode LIKE '%".$db->escape($sbarcode)."%'";
if ($search_country) $sql .= " AND s.fk_pays IN (".$search_country.')';
if ($search_type_thirdparty) $sql .= " AND s.fk_typent IN (".$search_type_thirdparty.')';
// Add where from extra fields
foreach ($search_array_options as $key => $val)
{
$crit=$val;
$tmpkey=preg_replace('/search_options_/','',$key);
$typ=$extrafields->attribute_type[$tmpkey];
$mode=0;
if (in_array($typ, array('int'))) $mode=1; // Search on a numeric
if ($val && ( ($crit != '' && ! in_array($typ, array('select'))) || ! empty($crit)))
{
$sql .= natural_search('ef.'.$tmpkey, $crit, $mode);
}
}
// Add where from hooks
$parameters=array();
$reshook=$hookmanager->executeHooks('printFieldListWhere',$parameters); // Note that $action and $object may have been modified by hook
@@ -286,6 +308,7 @@ if ($resql)
$param = "&amp;socname=".urlencode($socname);
$param.= "&amp;search_nom=".urlencode($search_nom);
$param.= "&amp;search_town=".urlencode($search_town);
$param.= "&amp;search_zip=".urlencode($search_zip);
$param.= ($sbarcode?"&amp;sbarcode=".urlencode($sbarcode):"");
$param.= '&amp;search_idprof1='.urlencode($search_idprof1);
$param.= '&amp;search_idprof2='.urlencode($search_idprof2);
@@ -295,8 +318,15 @@ if ($resql)
if ($search_type_thirdparty != '') $param.='&amp;search_type_thirdparty='.urlencode($search_type_thirdparty);
if ($optioncss != '') $param.='&amp;optioncss='.urlencode($optioncss);
if ($search_status != '') $params.='&amp;search_status='.urlencode($search_status);
print_barre_liste($title, $page, $_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecords,'title_companies');
// Add $param from extra fields
foreach ($search_array_options as $key => $val)
{
$crit=$val;
$tmpkey=preg_replace('/search_options_/','',$key);
$param.='&search_options_'.$tmpkey.'='.urlencode($val);
}
print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, 'title_companies');
// Show delete result message
if (GETPOST('delsoc'))
@@ -321,6 +351,8 @@ if ($resql)
if ($optioncss != '') print '<input type="hidden" name="optioncss" value="'.$optioncss.'">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="formfilteraction" id="formfilteraction" value="list">';
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
// Filter on categories
/* Not possible in this page because list is for ALL third parties type
@@ -354,8 +386,9 @@ if ($resql)
// Define list of fields to show into list
$arrayfields=array(
's.nom'=>array('label'=>$langs->trans("Company"), 'checked'=>1),
's.barcode'=>array('label'=>$langs->trans("BarCode"), 'checked'=>1, 'cond'=>(! empty($conf->barcode->enabled))),
's.barcode'=>array('label'=>$langs->trans("BarCode"), 'checked'=>1, 'enabled'=>(! empty($conf->barcode->enabled))),
's.town'=>array('label'=>$langs->trans("Town"), 'checked'=>1),
's.zip'=>array('label'=>$langs->trans("Zip"), 'checked'=>1),
'country.code_iso'=>array('label'=>$langs->trans("Country"), 'checked'=>1),
'typent.code'=>array('label'=>$langs->trans("ThirdPartyType"), 'checked'=>1),
's.siren'=>array('label'=>$langs->trans("ProfId1Short"), 'checked'=>1),
@@ -363,81 +396,120 @@ if ($resql)
's.ape'=>array('label'=>$langs->trans("ProfId3Short"), 'checked'=>1),
's.idprof4'=>array('label'=>$langs->trans("ProfId4Short"), 'checked'=>1),
's.status'=>array('label'=>$langs->trans("Status"), 'checked'=>1, 'position'=>200),
's.tms'=>array('label'=>$langs->trans("DateModificationShort"), 'checked'=>0, 'position'=>500),
's.datec'=>array('label'=>$langs->trans("DateCreation"), 'checked'=>0, 'position'=>500),
's.tms'=>array('label'=>$langs->trans("DateModificationShort"), 'checked'=>0, 'position'=>500),
);
if ($conf->global->MAIN_FEATURES_LEVEL >= 2)
{
$varpage=empty($contextpage)?$_SERVER["PHP_SELF"]:$contextpage;
$selectedfields=$form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage);
}
$varpage=empty($contextpage)?$_SERVER["PHP_SELF"]:$contextpage;
$selectedfields=$form->multiSelectArrayWithCheckbox('selectedfields', $arrayfields, $varpage);
print '<table class="liste '.($moreforfilter?"listwithfilterbefore":"").'">';
print '<tr class="liste_titre">';
print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","",$param,"",$sortfield,$sortorder);
if (! empty($conf->barcode->enabled)) print_liste_field_titre($langs->trans("BarCode"), $_SERVER["PHP_SELF"], "s.barcode",$param,'','',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Town"),$_SERVER["PHP_SELF"],"s.town","",$param,'',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Country"),$_SERVER["PHP_SELF"],"country.code_iso","",$param,'align="center"',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("ThirdPartyType"),$_SERVER["PHP_SELF"],"typent.code","",$param,'align="center"',$sortfield,$sortorder);
print_liste_field_titre($form->textwithpicto($langs->trans("ProfId1Short"),$textprofid[1],1,0),$_SERVER["PHP_SELF"],"s.siren","",$param,'class="nowrap"',$sortfield,$sortorder);
print_liste_field_titre($form->textwithpicto($langs->trans("ProfId2Short"),$textprofid[2],1,0),$_SERVER["PHP_SELF"],"s.siret","",$param,'class="nowrap"',$sortfield,$sortorder);
print_liste_field_titre($form->textwithpicto($langs->trans("ProfId3Short"),$textprofid[3],1,0),$_SERVER["PHP_SELF"],"s.ape","",$param,'class="nowrap"',$sortfield,$sortorder);
print_liste_field_titre($form->textwithpicto($langs->trans("ProfId4Short"),$textprofid[4],1,0),$_SERVER["PHP_SELF"],"s.idprof4","",$param,'class="nowrap"',$sortfield,$sortorder);
print_liste_field_titre('');
$parameters=array();
if (! empty($arrayfields['s.nom']['checked'])) print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","",$param,"",$sortfield,$sortorder);
if (! empty($arrayfields['s.barcode']['checked'])) print_liste_field_titre($langs->trans("BarCode"), $_SERVER["PHP_SELF"], "s.barcode",$param,'','',$sortfield,$sortorder);
if (! empty($arrayfields['s.town']['checked'])) print_liste_field_titre($langs->trans("Town"),$_SERVER["PHP_SELF"],"s.town","",$param,'',$sortfield,$sortorder);
if (! empty($arrayfields['s.zip']['checked'])) print_liste_field_titre($langs->trans("Zip"),$_SERVER["PHP_SELF"],"s.zip","",$param,'',$sortfield,$sortorder);
if (! empty($arrayfields['country.code_iso']['checked'])) print_liste_field_titre($langs->trans("Country"),$_SERVER["PHP_SELF"],"country.code_iso","",$param,'align="center"',$sortfield,$sortorder);
if (! empty($arrayfields['typent.code']['checked'])) print_liste_field_titre($langs->trans("ThirdPartyType"),$_SERVER["PHP_SELF"],"typent.code","",$param,'align="center"',$sortfield,$sortorder);
if (! empty($arrayfields['s.siren']['checked'])) print_liste_field_titre($form->textwithpicto($langs->trans("ProfId1Short"),$textprofid[1],1,0),$_SERVER["PHP_SELF"],"s.siren","",$param,'class="nowrap"',$sortfield,$sortorder);
if (! empty($arrayfields['s.siret']['checked'])) print_liste_field_titre($form->textwithpicto($langs->trans("ProfId2Short"),$textprofid[2],1,0),$_SERVER["PHP_SELF"],"s.siret","",$param,'class="nowrap"',$sortfield,$sortorder);
if (! empty($arrayfields['s.ape']['checked'])) print_liste_field_titre($form->textwithpicto($langs->trans("ProfId3Short"),$textprofid[3],1,0),$_SERVER["PHP_SELF"],"s.ape","",$param,'class="nowrap"',$sortfield,$sortorder);
if (! empty($arrayfields['s.idprof4']['checked'])) print_liste_field_titre($form->textwithpicto($langs->trans("ProfId4Short"),$textprofid[4],1,0),$_SERVER["PHP_SELF"],"s.idprof4","",$param,'class="nowrap"',$sortfield,$sortorder);
print_liste_field_titre(''); // type of customer
// Extra fields
if (is_array($extrafields->attribute_list) && count($extrafields->attribute_list))
{
foreach($extrafields->attribute_list as $key => $val)
{
if ($val)
{
if (! empty($arrayfields["ef.".$key]['checked'])) print_liste_field_titre($extralabels[$key],$_SERVER["PHP_SELF"],"ef.".$key,"",$param,"",$sortfield,$sortorder);
}
}
}
// Hook fields
$parameters=array('arrayfields'=>$arrayfields);
$reshook=$hookmanager->executeHooks('printFieldListTitle',$parameters); // Note that $action and $object may have been modified by hook
print $hookmanager->resPrint;
print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"s.status","",$param,'align="right"',$sortfield,$sortorder);
if (! empty($arrayfields['s.status']['checked'])) print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"s.status","",$param,'align="right"',$sortfield,$sortorder);
if (! empty($arrayfields['s.datec']['checked'])) print_liste_field_titre($langs->trans("DateCreationShort"),$_SERVER["PHP_SELF"],"s.datec","",$param,'align="center" class="nowrap"',$sortfield,$sortorder);
if (! empty($arrayfields['s.tms']['checked'])) print_liste_field_titre($langs->trans("DateModificationShort"),$_SERVER["PHP_SELF"],"s.tms","",$param,'align="center" class="nowrap"',$sortfield,$sortorder);
print_liste_field_titre($selectedfields, $_SERVER["PHP_SELF"],"",'','','align="right"',$sortfield,$sortorder,'maxwidthsearch ');
print "</tr>\n";
// Fields title search
print '<tr class="liste_titre">';
print '<td class="liste_titre">';
print '<input type="hidden" name="sortfield" value="'.$sortfield.'">';
print '<input type="hidden" name="sortorder" value="'.$sortorder.'">';
if (! empty($search_nom_only) && empty($search_nom)) $search_nom=$search_nom_only;
print '<input class="flat" type="text" name="search_nom" size="8" value="'.dol_escape_htmltag($search_nom).'">';
print '</td>';
if (! empty($arrayfields['s.nom']['checked']))
{
print '<td class="liste_titre">';
if (! empty($search_nom_only) && empty($search_nom)) $search_nom=$search_nom_only;
print '<input class="flat" type="text" name="search_nom" size="8" value="'.dol_escape_htmltag($search_nom).'">';
print '</td>';
}
// Barcode
if (! empty($conf->barcode->enabled))
{
if (! empty($arrayfields['s.barcode']['checked']))
{
print '<td class="liste_titre">';
print '<input class="flat" type="text" name="sbarcode" size="6" value="'.dol_escape_htmltag($sbarcode).'">';
print '</td>';
}
// Town
print '<td class="liste_titre">';
print '<input class="flat" size="8" type="text" name="search_town" value="'.dol_escape_htmltag($search_town).'">';
print '</td>';
//Country
print '<td class="liste_titre" align="center">';
print $form->select_country($search_country,'search_country','',0,'maxwidth100');
print '</td>';
//Company type
print '<td class="liste_titre" align="center">';
print $form->selectarray("search_type_thirdparty", $formcompany->typent_array(0), $search_type_thirdparty, 0, 0, 0, '', 0, 0, 0, (empty($conf->global->SOCIETE_SORT_ON_TYPEENT)?'ASC':$conf->global->SOCIETE_SORT_ON_TYPEENT));
print '</td>';
// IdProf1
print '<td class="liste_titre">';
print '<input class="flat" size="4" type="text" name="search_idprof1" value="'.dol_escape_htmltag($search_idprof1).'">';
print '</td>';
// IdProf2
print '<td class="liste_titre">';
print '<input class="flat" size="4" type="text" name="search_idprof2" value="'.dol_escape_htmltag($search_idprof2).'">';
print '</td>';
// IdProf3
print '<td class="liste_titre">';
print '<input class="flat" size="4" type="text" name="search_idprof3" value="'.dol_escape_htmltag($search_idprof3).'">';
print '</td>';
// IdProf4
print '<td class="liste_titre">';
print '<input class="flat" size="4" type="text" name="search_idprof4" value="'.dol_escape_htmltag($search_idprof4).'">';
print '</td>';
if (! empty($arrayfields['s.town']['checked']))
{
print '<td class="liste_titre">';
print '<input class="flat" size="8" type="text" name="search_town" value="'.dol_escape_htmltag($search_town).'">';
print '</td>';
}
// Zip
if (! empty($arrayfields['s.zip']['checked']))
{
print '<td class="liste_titre">';
print '<input class="flat" size="8" type="text" name="search_zip" value="'.dol_escape_htmltag($search_zip).'">';
print '</td>';
}
// Country
if (! empty($arrayfields['country.code_iso']['checked']))
{
print '<td class="liste_titre" align="center">';
print $form->select_country($search_country,'search_country','',0,'maxwidth100');
print '</td>';
}
// Company type
if (! empty($arrayfields['typent.code']['checked']))
{
print '<td class="liste_titre" align="center">';
print $form->selectarray("search_type_thirdparty", $formcompany->typent_array(0), $search_type_thirdparty, 0, 0, 0, '', 0, 0, 0, (empty($conf->global->SOCIETE_SORT_ON_TYPEENT)?'ASC':$conf->global->SOCIETE_SORT_ON_TYPEENT));
print '</td>';
}
if (! empty($arrayfields['s.siren']['checked']))
{
// IdProf1
print '<td class="liste_titre">';
print '<input class="flat" size="4" type="text" name="search_idprof1" value="'.dol_escape_htmltag($search_idprof1).'">';
print '</td>';
}
if (! empty($arrayfields['s.siret']['checked']))
{
// IdProf2
print '<td class="liste_titre">';
print '<input class="flat" size="4" type="text" name="search_idprof2" value="'.dol_escape_htmltag($search_idprof2).'">';
print '</td>';
}
if (! empty($arrayfields['s.ape']['checked']))
{
// IdProf3
print '<td class="liste_titre">';
print '<input class="flat" size="4" type="text" name="search_idprof3" value="'.dol_escape_htmltag($search_idprof3).'">';
print '</td>';
}
if (! empty($arrayfields['s.idprof4']['checked']))
{
// IdProf4
print '<td class="liste_titre">';
print '<input class="flat" size="4" type="text" name="search_idprof4" value="'.dol_escape_htmltag($search_idprof4).'">';
print '</td>';
}
// Type (customer/prospect/supplier)
print '<td class="liste_titre" align="middle">';
print '<td class="liste_titre" align="middle">';
print '<select class="flat" name="search_type">';
print '<option value="-1"'.($search_type==''?' selected':'').'>&nbsp;</option>';
if (empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) print '<option value="1,3"'.($search_type=='1,3'?' selected':'').'>'.$langs->trans('Customer').'</option>';
@@ -446,16 +518,30 @@ if ($resql)
print '<option value="4"'.($search_type=='4'?' selected':'').'>'.$langs->trans('Supplier').'</option>';
print '<option value="0"'.($search_type=='0'?' selected':'').'>'.$langs->trans('Others').'</option>';
print '</select></td>';
$parameters=array();
// Fields from hook
$parameters=array('arrayfields'=>$arrayfields);
$reshook=$hookmanager->executeHooks('printFieldListOption',$parameters); // Note that $action and $object may have been modified by hook
print $hookmanager->resPrint;
// Status
print '<td class="liste_titre" align="right">';
print $form->selectarray('search_status', array('0'=>$langs->trans('ActivityCeased'),'1'=>$langs->trans('InActivity')),$search_status);
print '</td>';
if (! empty($arrayfields['s.status']['checked']))
{
// Status
print '<td class="liste_titre" align="right">';
print $form->selectarray('search_status', array('0'=>$langs->trans('ActivityCeased'),'1'=>$langs->trans('InActivity')),$search_status);
print '</td>';
}
if (! empty($arrayfields['s.datec']['checked']))
{
// Date creation
print '<td class="liste_titre">';
print '</td>';
}
if (! empty($arrayfields['s.tms']['checked']))
{
// Date modification
print '<td class="liste_titre">';
print '</td>';
}
// Action column
print '<td class="liste_titre" align="right">';
print '<input type="image" class="liste_titre" name="button_search" src="'.img_picto($langs->trans("Search"),'search.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("Search")).'" title="'.dol_escape_htmltag($langs->trans("Search")).'">';
print '<input type="image" class="liste_titre" name="button_removefilter" src="'.img_picto($langs->trans("Search"),'searchclear.png','','',1).'" value="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'" title="'.dol_escape_htmltag($langs->trans("RemoveFilter")).'">';
@@ -470,38 +556,68 @@ if ($resql)
$obj = $db->fetch_object($resql);
$var=!$var;
print "<tr ".$bc[$var].">";
print "<td>";
$companystatic->id=$obj->rowid;
$companystatic->name=$obj->name;
$companystatic->canvas=$obj->canvas;
$companystatic->client=$obj->client;
$companystatic->status=$obj->status;
$companystatic->fournisseur=$obj->fournisseur;
$companystatic->code_client=$obj->code_client;
$companystatic->code_fournisseur=$obj->code_fournisseur;
print $companystatic->getNomUrl(1,'',100);
print "</td>\n";
if (! empty($arrayfields['s.nom']['checked']))
{
print "<td>";
$companystatic->id=$obj->rowid;
$companystatic->name=$obj->name;
$companystatic->canvas=$obj->canvas;
$companystatic->client=$obj->client;
$companystatic->status=$obj->status;
$companystatic->fournisseur=$obj->fournisseur;
$companystatic->code_client=$obj->code_client;
$companystatic->code_fournisseur=$obj->code_fournisseur;
print $companystatic->getNomUrl(1,'',100);
print "</td>\n";
}
// Barcode
if (! empty($conf->barcode->enabled))
if (! empty($arrayfields['s.barcode']['checked']))
{
print '<td>'.$objp->barcode.'</td>';
}
print "<td>".$obj->town."</td>\n";
//Country
print '<td align="center">';
$tmparray=getCountry($obj->fk_pays,'all');
print $tmparray['label'];
print '</td>';
//Type ent
print '<td align="center">';
if (count($typenArray)==0) $typenArray = $formcompany->typent_array(1);
print $typenArray[$obj->typent_code];
print '</td>';
print "<td>".$obj->idprof1."</td>\n";
print "<td>".$obj->idprof2."</td>\n";
print "<td>".$obj->idprof3."</td>\n";
print "<td>".$obj->idprof4."</td>\n";
print '<td align="center">';
// Town
if (! empty($arrayfields['s.town']['checked']))
{
print "<td>".$obj->town."</td>\n";
}
// Zip
if (! empty($arrayfields['s.zip']['checked']))
{
print "<td>".$obj->zip."</td>\n";
}
// Country
if (! empty($arrayfields['country.code_iso']['checked']))
{
print '<td align="center">';
$tmparray=getCountry($obj->fk_pays,'all');
print $tmparray['label'];
print '</td>';
}
// Type ent
if (! empty($arrayfields['typent.code']['checked']))
{
print '<td align="center">';
if (count($typenArray)==0) $typenArray = $formcompany->typent_array(1);
print $typenArray[$obj->typent_code];
print '</td>';
}
if (! empty($arrayfields['s.siren']['checked']))
{
print "<td>".$obj->idprof1."</td>\n";
}
if (! empty($arrayfields['s.siret']['checked']))
{
print "<td>".$obj->idprof2."</td>\n";
}
if (! empty($arrayfields['s.ape']['checked']))
{
print "<td>".$obj->idprof3."</td>\n";
}
if (! empty($arrayfields['s.idprof4']['checked']))
{
print "<td>".$obj->idprof4."</td>\n";
}
print '<td align="center">';
$s='';
if (($obj->client==1 || $obj->client==3) && empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))
{
@@ -522,14 +638,30 @@ if ($resql)
}
print $s;
print '</td>';
$parameters=array('obj' => $obj);
$reshook=$hookmanager->executeHooks('printFieldListValue',$parameters); // Note that $action and $object may have been modified by hook
// Fields from hook
$parameters=array('arrayfields'=>$arrayfields, 'obj'=>$obj);
$reshook=$hookmanager->executeHooks('printFieldListValue',$parameters); // Note that $action and $object may have been modified by hook
print $hookmanager->resPrint;
// Status
print '<td align="right">'.$companystatic->getLibStatut(5).'</td>';
if (! empty($arrayfields['s.status']['checked']))
{
print '<td align="right">'.$companystatic->getLibStatut(5).'</td>';
}
if (! empty($arrayfields['s.datec']['checked']))
{
// Date creation
print '<td align="center">';
print dol_print_date($obj->date_creation, 'dayhour');
print '</td>';
}
if (! empty($arrayfields['s.tms']['checked']))
{
// Date modification
print '<td align="center">';
print dol_print_date($obj->date_update, 'dayhour');
print '</td>';
}
// Action column
print '<td></td>';
print '</tr>'."\n";
@@ -538,7 +670,7 @@ if ($resql)
$db->free($resql);
$parameters=array('sql' => $sql);
$parameters=array('arrayfields'=>$arrayfields, 'sql'=>$sql);
$reshook=$hookmanager->executeHooks('printFieldListFooter',$parameters); // Note that $action and $object may have been modified by hook
print $hookmanager->resPrint;

View File

@@ -781,7 +781,7 @@ else
$object->fax = GETPOST('fax', 'alpha');
$object->email = GETPOST('email', 'custom', 0, FILTER_SANITIZE_EMAIL);
$object->url = GETPOST('url', 'custom', 0, FILTER_SANITIZE_URL);
$object->capital = GETPOST('capital', 'int');
$object->capital = GETPOST('capital', 'alpha');
$object->barcode = GETPOST('barcode', 'alpha');
$object->idprof1 = GETPOST('idprof1', 'alpha');
$object->idprof2 = GETPOST('idprof2', 'alpha');
@@ -1330,7 +1330,7 @@ else
$object->fax = GETPOST('fax', 'alpha');
$object->email = GETPOST('email', 'custom', 0, FILTER_SANITIZE_EMAIL);
$object->url = GETPOST('url', 'custom', 0, FILTER_SANITIZE_URL);
$object->capital = GETPOST('capital', 'int');
$object->capital = GETPOST('capital', 'alpha');
$object->idprof1 = GETPOST('idprof1', 'alpha');
$object->idprof2 = GETPOST('idprof2', 'alpha');
$object->idprof3 = GETPOST('idprof3', 'alpha');

View File

@@ -90,7 +90,10 @@ $colorbacklinepair1='250,250,250'; // line pair
$colorbacklinepair2='248,248,248'; // line pair
$colorbacklinepairhover='238,246,252'; // line pair
$colorbackbody='255,255,255';
$colortext='40,40,40';
//$colortexttitlenotab='40,0,70';
$colortexttitlenotab='80,80,0';
$colortexttitle='';
$colortext='';
$fontsize='12';
$fontsizesmaller='11';
$usegradient=1;
@@ -116,6 +119,8 @@ if (empty($conf->global->THEME_ELDY_ENABLE_PERSONALIZED))
$conf->global->THEME_ELDY_LINEPAIRHOVER='238,246,252';
$conf->global->THEME_ELDY_USE_HOVER=='238,246,252';
$conf->global->THEME_ELDY_BACKBODY='255,255,255';
//$conf->global->THEME_ELDY_TEXTTITLE='0,0,0';
$conf->global->THEME_ELDY_TEXT='0,0,0';
$conf->global->THEME_ELDY_FONT_SIZE1='12';
$conf->global->THEME_ELDY_FONT_SIZE2='11';
@@ -135,6 +140,7 @@ $colorbacklinepair1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty(
$colorbacklinepair2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIR2) ?$colorbacklinepair2:$conf->global->THEME_ELDY_LINEPAIR2) :(empty($user->conf->THEME_ELDY_LINEPAIR2)?$colorbacklinepair2:$user->conf->THEME_ELDY_LINEPAIR2);
$colorbacklinepairhover=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIRHOVER) ?$colorbacklinepairhover:$conf->global->THEME_ELDY_LINEPAIRHOVER) :(empty($user->conf->THEME_ELDY_LINEPAIRHOVER)?$colorbacklinepairhover:$user->conf->THEME_ELDY_LINEPAIRHOVER);
$colorbackbody =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKBODY) ?$colorbackbody:$conf->global->THEME_ELDY_BACKBODY) :(empty($user->conf->THEME_ELDY_BACKBODY)?$colorbackbody:$user->conf->THEME_ELDY_BACKBODY);
$colortexttitle =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TEXTTITLE) ?$colortext:$conf->global->THEME_ELDY_TEXTTITLE) :(empty($user->conf->THEME_ELDY_TEXTTITLE)?$colortexttitle:$user->conf->THEME_ELDY_TEXTTITLE);
$colortext =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TEXT) ?$colortext:$conf->global->THEME_ELDY_TEXT) :(empty($user->conf->THEME_ELDY_TEXT)?$colortext:$user->conf->THEME_ELDY_TEXT);
$fontsize =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_FONT_SIZE1) ?$fontsize:$conf->global->THEME_ELDY_FONT_SIZE1) :(empty($user->conf->THEME_ELDY_FONT_SIZE1)?$fontsize:$user->conf->THEME_ELDY_FONT_SIZE1);
$fontsizesmaller =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_FONT_SIZE2) ?$fontsize:$conf->global->THEME_ELDY_FONT_SIZE2) :(empty($user->conf->THEME_ELDY_FONT_SIZE2)?$fontsize:$user->conf->THEME_ELDY_FONT_SIZE2);
@@ -146,6 +152,31 @@ if (! empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED))
$colorbacklinepairhover=((! isset($user->conf->THEME_ELDY_USE_HOVER) || $user->conf->THEME_ELDY_USE_HOVER === '0')?'':($user->conf->THEME_ELDY_USE_HOVER === '1'?'edf4fb':$user->conf->THEME_ELDY_USE_HOVER));
}
// Set text color to black or white
$tmppart=explode(',',$colorbackhmenu1);
$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : '');
if ($tmpval <= 360) $colortextbackhmenu='FFFFFF';
else $colortextbackhmenu='000000';
$tmppart=explode(',',$colorbackvmenu1);
$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : '');
if ($tmpval <= 360) { $colortextbackvmenu='FFFFFF'; }
else { $colortextbackvmenu='000000'; }
$tmppart=explode(',',$colorbacktitle1);
if ($colortexttitle == '')
{
$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : '');
if ($tmpval <= 360) { $colortexttitle='FFFFFF'; $colorshadowtitle='888888'; }
else { $colortexttitle='000000'; $colorshadowtitle='FFFFFF'; }
}
$tmppart=explode(',',$colorbacktabcard1);
$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : '');
if ($tmpval <= 340) { $colortextbacktab='FFFFFF'; }
else { $colortextbacktab='111111'; }
// Format color value to match expected format (may be 'FFFFFF' or '255,255,255')
$colorbackhmenu1=join(',',colorStringToArray($colorbackhmenu1));
$colorbackvmenu1=join(',',colorStringToArray($colorbackvmenu1));
@@ -158,26 +189,9 @@ $colorbacklinepair1=join(',',colorStringToArray($colorbacklinepair1));
$colorbacklinepair2=join(',',colorStringToArray($colorbacklinepair2));
if ($colorbacklinepairhover != '') $colorbacklinepairhover=join(',',colorStringToArray($colorbacklinepairhover));
$colorbackbody=join(',',colorStringToArray($colorbackbody));
$colortexttitle=join(',',colorStringToArray($colortexttitle));
$colortext=join(',',colorStringToArray($colortext));
// Set text color to black or white
$tmppart=explode(',',$colorbackhmenu1);
$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : '');
if ($tmpval <= 360) $colortextbackhmenu='FFF';
else $colortextbackhmenu='222';
$tmppart=explode(',',$colorbackvmenu1);
$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : '');
if ($tmpval <= 360) { $colortextbackvmenu='FFF'; }
else { $colortextbackvmenu='222'; }
$tmppart=explode(',',$colorbacktitle1);
$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : '');
if ($tmpval <= 360) { $colortexttitle='FFF'; $colorshadowtitle='888'; }
else { $colortexttitle='222'; $colorshadowtitle='FFF'; }
$tmppart=explode(',',$colorbacktabcard1);
$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : '');
if ($tmpval <= 340) { $colortextbacktab='FFF'; }
else { $colortextbacktab='111'; }
print '/*'."\n";
print 'colorbackbody='.$colorbackbody."\n";
print 'colorbackvmenu1='.$colorbackvmenu1."\n";
@@ -188,6 +202,8 @@ print 'colorbacklineimpair2='.$colorbacklineimpair2."\n";
print 'colorbacklinepair1='.$colorbacklinepair1."\n";
print 'colorbacklinepair2='.$colorbacklinepair2."\n";
print 'colorbacklinepairhover='.$colorbacklinepairhover."\n";
print '$colortexttitle='.$colortexttitle."\n";
print '$colortext='.$colortext."\n";
print 'dol_hide_topmenu='.$dol_hide_topmenu."\n";
print 'dol_hide_leftmenu='.$dol_hide_leftmenu."\n";
print 'dol_optimize_smallscreen='.$dol_optimize_smallscreen."\n";
@@ -2359,7 +2375,7 @@ div.liste_titre, tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.list
<?php } ?>
font-weight: <?php echo $useboldtitle?'bold':'normal'; ?>;
color: #<?php echo $colortexttitle; ?>;
color: rgb(<?php echo $colortexttitle; ?>);
font-family: <?php print $fontlist ?>;
border-bottom: 1px solid #FDFFFF;
text-align: <?php echo $left; ?>;
@@ -2379,7 +2395,7 @@ tr.liste_titre th a, th.liste_titre a, tr.liste_titre td a, td.liste_titre a, fo
}
.liste_titre td a {
text-shadow: none !important;
color: #<?php echo $colortexttitle; ?>;
color: rgb(<?php echo $colortexttitle; ?>);
}
tr.liste_titre_sel th, th.liste_titre_sel, tr.liste_titre_sel td, td.liste_titre_sel, form.liste_titre_sel div
{
@@ -2485,7 +2501,7 @@ tr.box_titre {
background-image: linear-gradient(bottom, rgba(0,0,0,0.1) 0%, rgba(250,250,250,0.3) 100%);
<?php } ?>
color: #<?php echo $colortexttitle; ?>;
color: rgb(<?php echo $colortexttitle; ?>);
font-family: <?php print $fontlist ?>, sans-serif;
font-weight: <?php echo $useboldtitle?'bold':'normal'; ?>;
border-bottom: 1px solid #FDFFFF;
@@ -2647,9 +2663,9 @@ td.legendLabel { padding: 2px 2px 2px 0 !important; }
div.titre {
font-family: <?php print $fontlist ?>;
font-weight: bold;
color: rgb(<?php print $colortext; ?>);
color: rgb(<?php print $colortexttitlenotab; ?>);
text-decoration: none;
text-shadow: 1px 1px 2px #FFFFFF;
/* text-shadow: 1px 1px 2px #FFFFFF; */
}
#dolpaymenttable { width: 600px; font-size: 13px; }
@@ -3675,7 +3691,7 @@ a.tab span.ui-btn-inner
color: rgb(<?php print $colortext; ?>);
}
.liste_titre .ui-link {
color: #<?php print $colortexttitle; ?> !important;
color: rgb(<?php print $colortexttitle; ?>) !important;
}
a.ui-link {
@@ -3739,10 +3755,10 @@ ul.ulmenu {
background-image: linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%);
font-weight: bold;
color: #<?php echo $colortexttitle; ?> !important;
color: rgb(<?php echo $colortexttitle; ?>) !important;
}
.alilevel0 {
color: #<?php echo $colortexttitle; ?> !important;
color: rgb(<?php echo $colortexttitle; ?>) !important;
text-shadow: 1px 0px 1px #<?php echo $colorshadowtitle; ?>;
}
.ui-btn-icon-right {
@@ -3780,7 +3796,7 @@ border-top-left-radius: 6px;
border-top-right-radius: 6px;
}*/
.alilevel1 {
color: #<?php echo $colortexttitle; ?> !important;
color: rgb(<?php echo $colortexttitle; ?>) !important;
text-shadow: 1px 0px 1px #<?php echo $colorshadowtitle; ?>;
}
.lilevel1 {

View File

@@ -91,7 +91,10 @@ $colorbacklinepair1='242,242,242'; // line pair
$colorbacklinepair2='248,248,248'; // line pair
$colorbacklinepairhover='238,246,252'; // line pair
$colorbackbody='255,255,255';
$colortext='50,50,130';
//$colortexttitlenotab='40,0,70';
$colortexttitlenotab='80,80,0';
$colortexttitle='';
$colortext='';
$fontsize='13';
$fontsizesmaller='11';
$usegradient=1;
@@ -118,8 +121,9 @@ if (empty($conf->global->THEME_ELDY_ENABLE_PERSONALIZED))
$conf->global->THEME_ELDY_LINEPAIRHOVER='238,246,252';
$conf->global->THEME_ELDY_USE_HOVER=='238,246,252';
$conf->global->THEME_ELDY_BACKBODY='255,255,255';
//$conf->global->THEME_ELDY_TEXTTITLE='0,0,0';
$conf->global->THEME_ELDY_TEXT='50,50,130';
$conf->global->THEME_ELDY_FONT_SIZE1='13';
$conf->global->THEME_ELDY_FONT_SIZE2='11';
}
@@ -138,6 +142,7 @@ $colorbacklinepair1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty(
$colorbacklinepair2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIR2) ?$colorbacklinepair2:$conf->global->THEME_ELDY_LINEPAIR2) :(empty($user->conf->THEME_ELDY_LINEPAIR2)?$colorbacklinepair2:$user->conf->THEME_ELDY_LINEPAIR2);
$colorbacklinepairhover =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIRHOVER) ?$colorbacklinepairhover:$conf->global->THEME_ELDY_LINEPAIRHOVER) :(empty($user->conf->THEME_ELDY_LINEPAIRHOVER)?$colorbacklinepairhover:$user->conf->THEME_ELDY_LINEPAIRHOVER);
$colorbackbody =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKBODY) ?$colorbackbody:$conf->global->THEME_ELDY_BACKBODY) :(empty($user->conf->THEME_ELDY_BACKBODY)?$colorbackbody:$user->conf->THEME_ELDY_BACKBODY);
$colortexttitle =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TEXTTITLE) ?$colortext:$conf->global->THEME_ELDY_TEXTTITLE) :(empty($user->conf->THEME_ELDY_TEXTTITLE)?$colortexttitle:$user->conf->THEME_ELDY_TEXTTITLE);
$colortext =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TEXT) ?$colortext:$conf->global->THEME_ELDY_TEXT) :(empty($user->conf->THEME_ELDY_TEXT)?$colortext:$user->conf->THEME_ELDY_TEXT);
$fontsize =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_FONT_SIZE1) ?$fontsize:$conf->global->THEME_ELDY_FONT_SIZE1) :(empty($user->conf->THEME_ELDY_FONT_SIZE1)?$fontsize:$user->conf->THEME_ELDY_FONT_SIZE1);
$fontsizesmaller =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_FONT_SIZE2) ?$fontsize:$conf->global->THEME_ELDY_FONT_SIZE2) :(empty($user->conf->THEME_ELDY_FONT_SIZE2)?$fontsize:$user->conf->THEME_ELDY_FONT_SIZE2);
@@ -149,6 +154,24 @@ if (! empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED))
$colorbacklinepairhover=((! isset($user->conf->THEME_ELDY_USE_HOVER) || $user->conf->THEME_ELDY_USE_HOVER === '0')?'':($user->conf->THEME_ELDY_USE_HOVER === '1'?'edf4fb':$user->conf->THEME_ELDY_USE_HOVER));
}
// Set text color to black or white
$tmppart=explode(',',$colorbackhmenu1);
$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : '');
if ($tmpval <= 360) $colortextbackhmenu='FFFFFF';
else $colortextbackhmenu='111111';
$tmppart=explode(',',$colorbackvmenu1);
$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : '');
if ($tmpval <= 360) { $colortextbackvmenu='FFFFFF'; }
else { $colortextbackvmenu='111111'; }
$tmppart=explode(',',$colorbacktitle1);
$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : '');
if ($tmpval <= 360) { $colortexttitle='FFFFFF'; $colorshadowtitle='888888'; }
else { $colortexttitle='111111'; $colorshadowtitle='FFFFFF'; }
$tmppart=explode(',',$colorbacktabcard1);
$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : '');
if ($tmpval <= 340) { $colortextbacktab='FFFFFF'; }
else { $colortextbacktab='111111'; }
// Format color value to match expected format (may be 'FFFFFF' or '255,255,255')
$colorbackhmenu1=join(',',colorStringToArray($colorbackhmenu1));
$colorbackvmenu1=join(',',colorStringToArray($colorbackvmenu1));
@@ -161,27 +184,9 @@ $colorbacklinepair1=join(',',colorStringToArray($colorbacklinepair1));
$colorbacklinepair2=join(',',colorStringToArray($colorbacklinepair2));
if ($colorbacklinepairhover != '') $colorbacklinepairhover=join(',',colorStringToArray($colorbacklinepairhover));
$colorbackbody=join(',',colorStringToArray($colorbackbody));
$colortexttitle=join(',',colorStringToArray($colortexttitle));
$colortext=join(',',colorStringToArray($colorbackvmenu1));
// Set text color to black or white
$tmppart=explode(',',$colorbackhmenu1);
$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : '');
if ($tmpval <= 360) $colortextbackhmenu='FFF';
else $colortextbackhmenu='111';
$tmppart=explode(',',$colorbackvmenu1);
$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : '');
if ($tmpval <= 360) { $colortextbackvmenu='FFF'; }
else { $colortextbackvmenu='111'; }
$tmppart=explode(',',$colorbacktitle1);
$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : '');
if ($tmpval <= 360) { $colortexttitle='FFF'; $colorshadowtitle='888'; }
else { $colortexttitle='111'; $colorshadowtitle='FFF'; }
$tmppart=explode(',',$colorbacktabcard1);
$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : '');
if ($tmpval <= 340) { $colortextbacktab='FFF'; }
else { $colortextbacktab='111'; }
print '/*'."\n";
print 'colorbackbody='.$colorbackbody."\n";
print 'colorbackvmenu1='.$colorbackvmenu1."\n";
@@ -2211,7 +2216,7 @@ div.liste_titre, tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.list
font-weight: <?php echo $useboldtitle?'bold':'normal'; ?>;
*/
color: #<?php echo $colortexttitle; ?>;
color: rgb(<?php echo $colortexttitle; ?>);
font-family: <?php print $fontlist ?>;
border-bottom: 1px solid #FDFFFF;
text-align: <?php echo $left; ?>;
@@ -2231,7 +2236,7 @@ tr.liste_titre th a, th.liste_titre a, tr.liste_titre td a, td.liste_titre a, fo
}
.liste_titre td a {
text-shadow: none !important;
color: #<?php echo $colortexttitle; ?>;
color: rgb(<?php echo $colortexttitle; ?>);
}
div.liste_titre {
padding-left: 3px;
@@ -2343,7 +2348,7 @@ tr.box_titre {
*/
background-repeat: repeat-x;
color: #<?php echo $colortexttitle; ?>;
color: rgb(<?php echo $colortexttitle; ?>);
font-family: <?php print $fontlist ?>, sans-serif;
font-weight: <?php echo $useboldtitle?'bold':'normal'; ?>;
border-bottom: 1px solid #FDFFFF;
@@ -2504,9 +2509,9 @@ td.legendLabel { padding: 2px 2px 2px 0 !important; }
div.titre {
font-family: <?php print $fontlist ?>;
font-weight: bold;
color: rgb(<?php print $colortext; ?>);
color: rgb(<?php print $colortexttitlenotab; ?>);
text-decoration: none;
text-shadow: 1px 1px 2px #FFFFFF;
/* text-shadow: 1px 1px 2px #FFFFFF; */
<?php print (empty($conf->dol_optimize_smallscreen)?'':'margin-top: 4px;'); ?>
}
@@ -3534,7 +3539,7 @@ a.tab span.ui-btn-inner
color: rgb(<?php print $colortext; ?>);
}
.liste_titre .ui-link {
color: #<?php print $colortexttitle; ?> !important;
color: rgb(<?php echo $colortexttitle; ?>) !important;
}
a.ui-link {
@@ -3598,10 +3603,10 @@ ul.ulmenu {
background-image: linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%);
font-weight: bold;
color: #<?php echo $colortexttitle; ?> !important;
color: rgb(<?php echo $colortexttitle; ?>) !important;
}
.alilevel0 {
color: #<?php echo $colortexttitle; ?> !important;
color: rgb(<?php echo $colortexttitle; ?>) !important;
text-shadow: 1px 0px 1px #<?php echo $colorshadowtitle; ?>;
}
.ui-btn-icon-right {
@@ -3631,7 +3636,7 @@ border-top-left-radius: 6px;
border-top-right-radius: 6px;
}
.alilevel1 {
color: #<?php echo $colortexttitle; ?> !important;
color: rgb(<?php echo $colortexttitle; ?>) !important;
text-shadow: 1px 0px 1px #<?php echo $colorshadowtitle; ?>;
}
.lilevel1 {

View File

@@ -38,11 +38,16 @@ if ($langs->defaultlang != 'en_US')
print "Error: Default language for company to run tests must be set to en_US or auto. Current is ".$langs->defaultlang."\n";
exit;
}
if (! empty($conf->adherents->enabled))
if (empty($conf->adherent->enabled))
{
print "Error: Module member must be enabled to have significatn results.\n";
exit;
}
if (! empty($conf->ldap->enabled))
{
print "Error: LDAP module should not be enabled.\n";
exit;
}
if (! empty($conf->google->enabled))
{
print "Warning: Google module should not be enabled.\n";

View File

@@ -102,6 +102,8 @@ class CMailFileTest extends PHPUnit_Framework_TestCase
$langs=$this->savlangs;
$db=$this->savdb;
$conf->global->MAIN_DISABLE_ALL_MAILS=1; // If I comment/remove this lien, unit test still works alone but failed when ran from AllTest. Don't know why.
print __METHOD__."\n";
}
/**

View File

@@ -39,6 +39,11 @@ if (empty($user->id))
}
$conf->global->MAIN_DISABLE_ALL_MAILS=1;
if (! empty($conf->global->MAIN_ROUNDING_RULE_TOT))
{
print "Parameter MAIN_ROUNDING_RULE_TOT must be set to 0 or not set.\n";
exit;
}
/**
* Class for PHPUnit tests
@@ -279,11 +284,11 @@ class PricesTest extends PHPUnit_Framework_TestCase
/**
* Test function addline and update_price
*
* @return boolean
* @see http://wiki.dolibarr.org/index.php/Draft:VAT_calculation_and_rounding#Standard_usage
*/
* Test function addline and update_price
*
* @return boolean
* @see http://wiki.dolibarr.org/index.php/Draft:VAT_calculation_and_rounding#Standard_usage
*/
public function testUpdatePrice()
{
//$this->sharedFixture

View File

@@ -40,6 +40,11 @@ if (empty($user->id)) {
}
$conf->global->MAIN_DISABLE_ALL_MAILS=1;
if (empty($conf->service->enabled))
{
print "Error: Module service must be enabled.\n";
exit;
}
/**
* Class for PHPUnit tests