diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 582922cd60e..f210e44be88 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -522,6 +522,17 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='') global $user,$conf; global $bc; + $form= new Form($db); + + $sortfield = GETPOST("sortfield",'alpha'); + $sortorder = GETPOST("sortorder",'alpha'); + $search_status = GETPOST("search_status",'int'); + if ($search_status=='') $search_status=1; // always display activ customer first + $search_name = GETPOST("search_name",'alpha'); + + if (! $sortorder) $sortorder="ASC"; + if (! $sortfield) $sortfield="p.lastname"; + $i=-1; $contactstatic = new Contact($db); @@ -547,20 +558,30 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='') print "\n".''."\n"; + + $param="socid=".$object->id; + if ($search_status != '') $param.='&search_status='.$search_status; + if ($search_name != '') $param.='&search_name='.urlencode($search_name); + + print ''; + print ''; + print ''; + print ''; + $colspan=8; print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; + print_liste_field_titre($langs->trans("Name"),$_SERVER["PHP_SELF"],"p.lastname","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Poste"),$_SERVER["PHP_SELF"],"p.poste","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("PhonePro"),$_SERVER["PHP_SELF"],"p.phone","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("PhoneMobile"),$_SERVER["PHP_SELF"],"p.phone_mobile","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Fax"),$_SERVER["PHP_SELF"],"p.fax","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("EMail"),$_SERVER["PHP_SELF"],"p.email","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"p.statut","",$param,'',$sortfield,$sortorder); if (! empty($conf->skype->enabled)) { $colspan++; print ''; } - print ''; print ""; if (! empty($conf->agenda->enabled) && $user->rights->agenda->myactions->create) { @@ -573,14 +594,54 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='') print ''; } print ""; - + + + print ''; + print ''; + + print ''; + print ''; + + print ''; + + print ''; + + print ''; + + print ''; + + if (! empty($conf->skype->enabled)) + { + $colspan++; + print ''; + } + print ""; + if (! empty($conf->agenda->enabled) && $user->rights->agenda->myactions->create) + { + $colspan++; + print ''; + } + + print ''; + + print ""; + $sql = "SELECT p.rowid, p.lastname, p.firstname, p.fk_pays, p.poste, p.phone, p.phone_mobile, p.fax, p.email, p.skype, p.statut "; $sql .= ", p.civilite, p.address, p.zip, p.town"; $sql .= " FROM ".MAIN_DB_PREFIX."socpeople as p"; $sql .= " WHERE p.fk_soc = ".$object->id; - $sql .= " ORDER by p.datec"; + if ($search_status!='') $sql .= " AND p.statut = ".$db->escape($search_status); + if ($search_name) $sql .= " AND (p.lastname LIKE '%".$db->escape(strtolower($search_name))."%' OR p.firstname LIKE '%".$db->escape(strtolower($search_name))."%')"; + $sql.= " ORDER BY $sortfield $sortorder"; + dol_syslog('core/lib/company.lib.php :: show_contacts sql='.$sql,LOG_DEBUG); $result = $db->query($sql); $num = $db->num_rows($result); @@ -688,7 +749,6 @@ function show_contacts($conf,$langs,$db,$object,$backtopage='') } - print "\n"; $i++; }
'.$langs->trans("Name").''.$langs->trans("Poste").''.$langs->trans("PhonePro").''.$langs->trans("PhoneMobile").''.$langs->trans("Fax").''.$langs->trans("EMail").''.$langs->trans("Skype").''.$langs->trans("Status").'  
'; + print ''; + print '     '; + print $form->selectarray('search_status', array('0'=>$langs->trans('ActivityCeased'),'1'=>$langs->trans('InActivity')),$search_status); + print '   '; + print ''; + print '