forked from Wavyzz/dolibarr
Doxygen
This commit is contained in:
@@ -116,8 +116,9 @@ class Adherent extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* Adherent
|
||||
* @param DB base de donnees
|
||||
* Constructor
|
||||
*
|
||||
* @param DoliDB $DB Database handler
|
||||
*/
|
||||
function Adherent($DB)
|
||||
{
|
||||
|
||||
@@ -49,8 +49,9 @@ class AdherentType extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief AdherentType
|
||||
* \param DB handler acces base de donnees
|
||||
* Constructor
|
||||
*
|
||||
* @param DoliDB $DB Database handler
|
||||
*/
|
||||
function AdherentType($DB)
|
||||
{
|
||||
@@ -194,6 +195,7 @@ class AdherentType extends CommonObject
|
||||
|
||||
/**
|
||||
* Return list of members' type
|
||||
*
|
||||
* @return array List of types of members
|
||||
*/
|
||||
function liste_array()
|
||||
@@ -233,11 +235,12 @@ class AdherentType extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Renvoie nom clicable (avec eventuellement le picto)
|
||||
* \param withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul
|
||||
* \param maxlen length max libelle
|
||||
* \param option Page lien
|
||||
* \return string Chaine avec URL
|
||||
* Renvoie nom clicable (avec eventuellement le picto)
|
||||
*
|
||||
* @param withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul
|
||||
* @param maxlen length max libelle
|
||||
* @param option Page lien
|
||||
* @return string Chaine avec URL
|
||||
*/
|
||||
function getNomUrl($withpicto=0,$maxlen=0)
|
||||
{
|
||||
@@ -260,6 +263,7 @@ class AdherentType extends CommonObject
|
||||
|
||||
/**
|
||||
* getMailOnValid
|
||||
*
|
||||
* @return Return mail model
|
||||
*/
|
||||
function getMailOnValid()
|
||||
@@ -278,6 +282,7 @@ class AdherentType extends CommonObject
|
||||
|
||||
/**
|
||||
* getMailOnSubscription
|
||||
*
|
||||
* @return Return mail model
|
||||
*/
|
||||
function getMailOnSubscription()
|
||||
@@ -296,6 +301,7 @@ class AdherentType extends CommonObject
|
||||
|
||||
/**
|
||||
* getMailOnResiliate
|
||||
*
|
||||
* @return Return mail model
|
||||
*/
|
||||
function getMailOnResiliate()
|
||||
|
||||
@@ -45,12 +45,12 @@ class AdherentStats extends Stats
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
* Constructor
|
||||
*
|
||||
* @param $DB Database handler
|
||||
* @param $socid Id third party
|
||||
* @param $userid Id user for filter
|
||||
* @return AdherentStats
|
||||
* @param DoliDB $DB Database handler
|
||||
* @param int $socid Id third party
|
||||
* @param int $userid Id user for filter
|
||||
* @return AdherentStats
|
||||
*/
|
||||
function AdherentStats($DB, $socid=0, $userid=0)
|
||||
{
|
||||
|
||||
@@ -49,8 +49,9 @@ class Cotisation extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Constructor
|
||||
* \param DB Handler base de donnees
|
||||
* Constructor
|
||||
*
|
||||
* @param DoliDB $DB Database handler
|
||||
*/
|
||||
function Cotisation($DB)
|
||||
{
|
||||
@@ -59,9 +60,10 @@ class Cotisation extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Fonction qui permet de creer la cotisation
|
||||
* \param userid userid de celui qui insere
|
||||
* \return int <0 si KO, Id cotisation cree si OK
|
||||
* Fonction qui permet de creer la cotisation
|
||||
*
|
||||
* @param userid userid de celui qui insere
|
||||
* @return int <0 si KO, Id cotisation cree si OK
|
||||
*/
|
||||
function create($userid)
|
||||
{
|
||||
@@ -95,9 +97,10 @@ class Cotisation extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Fonction qui permet de recuperer une cotisation
|
||||
* \param rowid Id cotisation
|
||||
* \return int <0 si KO, =0 si OK mais non trouve, >0 si OK
|
||||
* Fonction qui permet de recuperer une cotisation
|
||||
*
|
||||
* @param rowid Id cotisation
|
||||
* @return int <0 si KO, =0 si OK mais non trouve, >0 si OK
|
||||
*/
|
||||
function fetch($rowid)
|
||||
{
|
||||
@@ -144,10 +147,11 @@ class Cotisation extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Met a jour en base la cotisation
|
||||
* \param user Objet user qui met a jour
|
||||
* \param notrigger 0=Desactive les triggers
|
||||
* \param int <0 if KO, >0 if OK
|
||||
* Met a jour en base la cotisation
|
||||
*
|
||||
* @param user Objet user qui met a jour
|
||||
* @param notrigger 0=Desactive les triggers
|
||||
* @param int <0 if KO, >0 if OK
|
||||
*/
|
||||
function update($user,$notrigger=0)
|
||||
{
|
||||
@@ -184,9 +188,10 @@ class Cotisation extends CommonObject
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Delete a subscription
|
||||
* \param rowid Id cotisation
|
||||
* \return int <0 si KO, 0 si OK mais non trouve, >0 si OK
|
||||
* Delete a subscription
|
||||
*
|
||||
* @param rowid Id cotisation
|
||||
* @return int <0 si KO, 0 si OK mais non trouve, >0 si OK
|
||||
*/
|
||||
function delete($user)
|
||||
{
|
||||
@@ -250,9 +255,10 @@ class Cotisation extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Renvoie nom clicable (avec eventuellement le picto)
|
||||
* \param withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul
|
||||
* \return string Chaine avec URL
|
||||
* Renvoie nom clicable (avec eventuellement le picto)
|
||||
*
|
||||
* @param withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul
|
||||
* @return string Chaine avec URL
|
||||
*/
|
||||
function getNomUrl($withpicto=0)
|
||||
{
|
||||
@@ -274,8 +280,9 @@ class Cotisation extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Charge les informations d'ordre info dans l'objet cotisation
|
||||
* \param id Id adhesion a charger
|
||||
* Charge les informations d'ordre info dans l'objet cotisation
|
||||
*
|
||||
* @param id Id adhesion a charger
|
||||
*/
|
||||
function info($id)
|
||||
{
|
||||
|
||||
@@ -168,7 +168,7 @@ dol_fiche_head($head, $tab, $langs->trans("Statistics"), 0, 'user');
|
||||
|
||||
|
||||
// Print title
|
||||
if ($mode && ! sizeof($data))
|
||||
if ($mode && ! count($data))
|
||||
{
|
||||
print $langs->trans("NoValidatedMemberYet").'<br>';
|
||||
print '<br>';
|
||||
@@ -202,7 +202,7 @@ if ($mode == 'memberbycountry')
|
||||
print "function drawMap() {\n\tvar data = new google.visualization.DataTable();\n";
|
||||
|
||||
// Get the total number of rows
|
||||
print "\tdata.addRows(".sizeof($data).");\n";
|
||||
print "\tdata.addRows(".count($data).");\n";
|
||||
print "\tdata.addColumn('string', 'Country');\n";
|
||||
print "\tdata.addColumn('number', 'Number');\n";
|
||||
|
||||
|
||||
@@ -261,7 +261,7 @@ if ($action == 'create')
|
||||
if ($res)
|
||||
{
|
||||
|
||||
while ($menu = $db->fetch_array ($res))
|
||||
while ($menu = $db->fetch_array($res))
|
||||
{
|
||||
$parent_rowid = $menu['rowid'];
|
||||
$parent_mainmenu = $menu['mainmenu'];
|
||||
|
||||
@@ -300,7 +300,7 @@ if ($conf->use_javascript_ajax)
|
||||
$num = $db->num_rows($res);
|
||||
|
||||
$i = 1;
|
||||
while ($menu = $db->fetch_array ($res))
|
||||
while ($menu = $db->fetch_array($res))
|
||||
{
|
||||
if (! empty($menu['langs'])) $langs->load($menu['langs']);
|
||||
$titre = $langs->trans($menu['titre']);
|
||||
|
||||
@@ -32,7 +32,7 @@ if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU',1);
|
||||
if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML',1);
|
||||
if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1');
|
||||
|
||||
session_cache_limiter( FALSE );
|
||||
session_cache_limiter(FALSE);
|
||||
|
||||
require_once("../../master.inc.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/lib/functions.lib.php");
|
||||
|
||||
@@ -27,6 +27,7 @@ require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
|
||||
require_once(DOL_DOCUMENT_ROOT."/includes/triggers/interface_modNotification_Notification.class.php");
|
||||
|
||||
$langs->load("admin");
|
||||
$langs->load("mails");
|
||||
|
||||
// Security check
|
||||
if (!$user->admin)
|
||||
@@ -63,7 +64,7 @@ print_fiche_titre($langs->trans("NotificationSetup"),$linkback,'setup');
|
||||
|
||||
print $langs->trans("NotificationsDesc").'<br><br>';
|
||||
|
||||
if ($mesg) print $mesg.'<br>';
|
||||
dol_htmloutput_mesg($mesg);
|
||||
|
||||
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
@@ -80,6 +81,7 @@ $var=!$var;
|
||||
print '<tr '.$bc[$var].'><td>';
|
||||
print $langs->trans("NotificationEMailFrom").'</td><td>';
|
||||
print '<input size="32" type="text" name="email_from" value="'.$conf->global->NOTIFICATION_EMAIL_FROM.'">';
|
||||
if (! empty($conf->global->NOTIFICATION_EMAIL_FROM) && ! isValidEmail($conf->global->NOTIFICATION_EMAIL_FROM)) print ' '.img_warning($langs->trans("BadEMail"));
|
||||
print '</td></tr>';
|
||||
print '</table>';
|
||||
|
||||
@@ -121,5 +123,4 @@ $db->close();
|
||||
|
||||
|
||||
llxFooter();
|
||||
|
||||
?>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
/* Copyright (C) 2010 Regis Houssin <regis@dolibarr.fr>
|
||||
* Copyright (C) 2011 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
* Copyright (C) 2011 Juanjo Menent <jmenent@2byte.es>
|
||||
*
|
||||
* 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
|
||||
@@ -42,16 +43,27 @@ $action=GETPOST('action');
|
||||
* Actions
|
||||
*/
|
||||
|
||||
if ($_POST["action"] == 'updateMask')
|
||||
if ($action == 'updateMask')
|
||||
{
|
||||
$maskconstproject=$_POST['maskconstproject'];
|
||||
$maskproject=$_POST['maskproject'];
|
||||
if ($maskconstproject) dolibarr_set_const($db,$maskconstproject,$maskproject,'chaine',0,'',$conf->entity);
|
||||
$maskconstproject=GETPOST("maskconstproject");
|
||||
$maskproject=GETPOST("maskproject");
|
||||
if ($maskconstproject) $res = dolibarr_set_const($db,$maskconstproject,$maskproject,'chaine',0,'',$conf->entity);
|
||||
|
||||
if (! $res > 0) $error++;
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$mesg = "<font class=\"ok\">".$langs->trans("SetupSaved")."</font>";
|
||||
}
|
||||
else
|
||||
{
|
||||
$mesg = "<font class=\"error\">".$langs->trans("Error")."</font>";
|
||||
}
|
||||
}
|
||||
|
||||
if ($_GET["action"] == 'specimen')
|
||||
if ($action == 'specimen')
|
||||
{
|
||||
$modele=$_GET["module"];
|
||||
$modele=GETPOST("module");
|
||||
|
||||
$project = new Project($db);
|
||||
$project->initAsSpecimen();
|
||||
@@ -84,13 +96,16 @@ if ($_GET["action"] == 'specimen')
|
||||
}
|
||||
}
|
||||
|
||||
if ($_GET["action"] == 'set')
|
||||
if ($action == 'set')
|
||||
{
|
||||
$label = GETPOST("label");
|
||||
$scandir = GETPOST("scandir");
|
||||
|
||||
$type='project';
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity, libelle, description)";
|
||||
$sql.= " VALUES ('".$db->escape($_GET["value"])."','".$type."',".$conf->entity.", ";
|
||||
$sql.= ($_GET["label"]?"'".$db->escape($_GET["label"])."'":'null').", ";
|
||||
$sql.= (! empty($_GET["scandir"])?"'".$db->escape($_GET["scandir"])."'":"null");
|
||||
$sql.= " VALUES ('".$db->escape($value)."','".$type."',".$conf->entity.", ";
|
||||
$sql.= ($label?"'".$db->escape($label)."'":'null').", ";
|
||||
$sql.= (! empty($scandir)?"'".$db->escape($scandir)."'":"null");
|
||||
$sql.= ")";
|
||||
if ($db->query($sql))
|
||||
{
|
||||
@@ -98,7 +113,7 @@ if ($_GET["action"] == 'set')
|
||||
}
|
||||
}
|
||||
|
||||
if ($_GET["action"] == 'del')
|
||||
if ($action == 'del')
|
||||
{
|
||||
$type='project';
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."document_model";
|
||||
@@ -111,27 +126,30 @@ if ($_GET["action"] == 'del')
|
||||
}
|
||||
}
|
||||
|
||||
if ($_GET["action"] == 'setdoc')
|
||||
if ($action == 'setdoc')
|
||||
{
|
||||
$label = GETPOST("label");
|
||||
$scandir = GETPOST("scandir");
|
||||
|
||||
$db->begin();
|
||||
|
||||
if (dolibarr_set_const($db, "PROJECT_ADDON_PDF",$_GET["value"],'chaine',0,'',$conf->entity))
|
||||
if (dolibarr_set_const($db, "PROJECT_ADDON_PDF",$value,'chaine',0,'',$conf->entity))
|
||||
{
|
||||
$conf->global->PROJECT_ADDON_PDF = $_GET["value"];
|
||||
$conf->global->PROJECT_ADDON_PDF = $value;
|
||||
}
|
||||
|
||||
// On active le modele
|
||||
$type='project';
|
||||
$sql_del = "DELETE FROM ".MAIN_DB_PREFIX."document_model";
|
||||
$sql_del.= " WHERE nom = '".$db->escape($_GET["value"])."'";
|
||||
$sql_del.= " WHERE nom = '".$db->escape($value)."'";
|
||||
$sql_del.= " AND type = '".$type."'";
|
||||
$sql_del.= " AND entity = ".$conf->entity;
|
||||
$result1=$db->query($sql_del);
|
||||
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity, libelle, description)";
|
||||
$sql.= " VALUES ('".$db->escape($_GET["value"])."', '".$type."', ".$conf->entity.", ";
|
||||
$sql.= ($_GET["label"]?"'".$db->escape($_GET["label"])."'":'null').", ";
|
||||
$sql.= (! empty($_GET["scandir"])?"'".$db->escape($_GET["scandir"])."'":"null");
|
||||
$sql.= " VALUES ('".$db->escape($value)."', '".$type."', ".$conf->entity.", ";
|
||||
$sql.= ($label?"'".$db->escape($label)."'":'null').", ";
|
||||
$sql.= (! empty($scandir)?"'".$db->escape($scandir)."'":"null");
|
||||
$sql.= ")";
|
||||
$result2=$db->query($sql);
|
||||
if ($result1 && $result2)
|
||||
@@ -144,7 +162,7 @@ if ($_GET["action"] == 'setdoc')
|
||||
}
|
||||
}
|
||||
|
||||
if ($_GET["action"] == 'setmod')
|
||||
if ($action == 'setmod')
|
||||
{
|
||||
// TODO Verifier si module numerotation choisi peut etre active
|
||||
// par appel methode canBeActivated
|
||||
@@ -380,5 +398,9 @@ if (is_resource($handle))
|
||||
|
||||
print '</table><br/>';
|
||||
|
||||
dol_htmloutput_mesg($mesg);
|
||||
|
||||
$db->close();
|
||||
|
||||
llxFooter();
|
||||
?>
|
||||
|
||||
@@ -1804,7 +1804,7 @@ else
|
||||
print_liste_field_titre($langs->trans('Price'),$_SERVER["PHP_SELF"],'p.total_ht','',$param, 'align="right"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('Author'),$_SERVER["PHP_SELF"],'u.login','',$param,'align="right"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans('Status'),$_SERVER["PHP_SELF"],'p.fk_statut','',$param,'align="right"',$sortfield,$sortorder);
|
||||
print '<td class="liste_titre"> </td>';
|
||||
print_liste_field_titre('');
|
||||
print "</tr>\n";
|
||||
// Lignes des champs de filtre
|
||||
print '<form method="get" action="'.$_SERVER["PHP_SELF"].'">';
|
||||
|
||||
@@ -380,7 +380,7 @@ class FormMail
|
||||
$liste=array();
|
||||
$soc=new Societe($this->db);
|
||||
$soc->fetch($this->withtosocid);
|
||||
foreach ($soc->thirdparty_and_contact_email_array() as $key=>$value)
|
||||
foreach ($soc->thirdparty_and_contact_email_array(1) as $key=>$value)
|
||||
{
|
||||
$liste[$key]=$value;
|
||||
}
|
||||
@@ -414,7 +414,7 @@ class FormMail
|
||||
$liste=array();
|
||||
$soc=new Societe($this->db);
|
||||
$soc->fetch($this->withtoccsocid);
|
||||
foreach ($soc->thirdparty_and_contact_email_array() as $key=>$value)
|
||||
foreach ($soc->thirdparty_and_contact_email_array(1) as $key=>$value)
|
||||
{
|
||||
$liste[$key]=$value;
|
||||
}
|
||||
@@ -448,7 +448,7 @@ class FormMail
|
||||
$liste=array();
|
||||
$soc=new Societe($this->db);
|
||||
$soc->fetch($this->withtosocid);
|
||||
foreach ($soc->thirdparty_and_contact_email_array() as $key=>$value)
|
||||
foreach ($soc->thirdparty_and_contact_email_array(1) as $key=>$value)
|
||||
{
|
||||
$liste[$key]=$value;
|
||||
}
|
||||
|
||||
@@ -193,7 +193,7 @@ else
|
||||
else
|
||||
{
|
||||
# If failed, we try to create an empty file
|
||||
dolibarr_install_syslog("failed to copy file ".$conffile.".example into ".$conffile.". We try to create it.");
|
||||
dolibarr_install_syslog("failed to copy file ".$conffile.".example into ".$conffile.". We try to create it.", LOG_WARNING);
|
||||
|
||||
$fp = @fopen($conffile, "w");
|
||||
if ($fp)
|
||||
@@ -203,6 +203,7 @@ else
|
||||
@fputs($fp,"?>");
|
||||
fclose($fp);
|
||||
}
|
||||
else dolibarr_install_syslog("failed to create a new file ".$conffile." into current dir ".getcwd().". Check permission.", LOG_ERR);
|
||||
}
|
||||
|
||||
// First install, on ne peut pas upgrader
|
||||
|
||||
@@ -2572,78 +2572,70 @@ function print_liste_field_titre($name, $file="", $field="", $begin="", $morepar
|
||||
|
||||
/**
|
||||
* Get title line of an array
|
||||
*
|
||||
* @param name Label of field
|
||||
* @param thead For thead format
|
||||
* @param file Url used when we click on sort picto
|
||||
* @param field Field to use for new sorting
|
||||
* @param begin ("" by defaut)
|
||||
* @param moreparam Add more parameters on sort url links ("" by default)
|
||||
* @param td Options of attribute td ("" by defaut)
|
||||
* @param moreattrib Add more attributes on th ("" by defaut)
|
||||
* @param sortfield Current field used to sort
|
||||
* @param sortorder Current sort order
|
||||
*/
|
||||
function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $moreparam="", $td="", $sortfield="", $sortorder="")
|
||||
function getTitleFieldOfList($name, $thead=0, $file="", $field="", $begin="", $moreparam="", $moreattrib="", $sortfield="", $sortorder="")
|
||||
{
|
||||
global $conf;
|
||||
//print "$name, $file, $field, $begin, $options, $td, $sortfield, $sortorder<br>\n";
|
||||
//print "$name, $file, $field, $begin, $options, $moreattrib, $sortfield, $sortorder<br>\n";
|
||||
|
||||
$out='';
|
||||
|
||||
if ($thead)
|
||||
// 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.= '<th>'.$name.'</th>';
|
||||
$out.= '<th class="liste_titre_sel" '. $moreattrib.'>';
|
||||
}
|
||||
else
|
||||
{
|
||||
// Le champ de tri est mis en evidence.
|
||||
// Exemple si (sortfield,field)=("nom","xxx.nom") ou (sortfield,field)=("nom","nom")
|
||||
if ($field && ($sortfield == $field || $sortfield == preg_replace("/^[^\.]+\./","",$field)))
|
||||
{
|
||||
$out.= '<td class="liste_titre_sel" '. $td.'>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$out.= '<td class="liste_titre" '. $td.'>';
|
||||
}
|
||||
$out.= $name;
|
||||
|
||||
// If this is a sort field
|
||||
if ($field)
|
||||
{
|
||||
$options=preg_replace('/sortfield=([a-zA-Z0-9,\s\.]+)/i','',$moreparam);
|
||||
$options=preg_replace('/sortorder=([a-zA-Z0-9,\s\.]+)/i','',$options);
|
||||
$options=preg_replace('/&+/i','&',$options);
|
||||
if (! preg_match('/^&/',$options)) $options='&'.$options;
|
||||
|
||||
//print " ";
|
||||
$out.= '<img width="2" src="'.DOL_URL_ROOT.'/theme/common/transparent.png" alt="">';
|
||||
if (! $sortorder)
|
||||
{
|
||||
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
|
||||
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($field != $sortfield)
|
||||
{
|
||||
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
|
||||
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
|
||||
}
|
||||
else {
|
||||
$sortorder=strtoupper($sortorder);
|
||||
if ($sortorder == 'DESC' ) {
|
||||
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
|
||||
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",1).'</a>';
|
||||
}
|
||||
if ($sortorder == 'ASC' ) {
|
||||
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",1).'</a>';
|
||||
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$out.= "</td>";
|
||||
$out.= '<th class="liste_titre" '. $moreattrib.'>';
|
||||
}
|
||||
$out.=$name;
|
||||
|
||||
if (empty($thead) && $field) // If this is a sort field
|
||||
{
|
||||
$options=preg_replace('/sortfield=([a-zA-Z0-9,\s\.]+)/i','',$moreparam);
|
||||
$options=preg_replace('/sortorder=([a-zA-Z0-9,\s\.]+)/i','',$options);
|
||||
$options=preg_replace('/&+/i','&',$options);
|
||||
if (! preg_match('/^&/',$options)) $options='&'.$options;
|
||||
|
||||
//print " ";
|
||||
$out.= '<img width="2" src="'.DOL_URL_ROOT.'/theme/common/transparent.png" alt="">';
|
||||
if (! $sortorder)
|
||||
{
|
||||
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
|
||||
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($field != $sortfield)
|
||||
{
|
||||
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
|
||||
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
|
||||
}
|
||||
else {
|
||||
$sortorder=strtoupper($sortorder);
|
||||
if ($sortorder == 'DESC' ) {
|
||||
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",0).'</a>';
|
||||
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",1).'</a>';
|
||||
}
|
||||
if ($sortorder == 'ASC' ) {
|
||||
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=asc&begin='.$begin.$options.'">'.img_down("A-Z",1).'</a>';
|
||||
$out.= '<a href="'.$file.'?sortfield='.$field.'&sortorder=desc&begin='.$begin.$options.'">'.img_up("Z-A",0).'</a>';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$out.='</th>';
|
||||
|
||||
return $out;
|
||||
}
|
||||
@@ -2672,6 +2664,7 @@ function print_fiche_titre($titre, $mesg='', $picto='title.png', $pictoisfullpat
|
||||
|
||||
/**
|
||||
* Load a title with picto
|
||||
*
|
||||
* @param titre Title to show
|
||||
* @param mesg Added message to show on right
|
||||
* @param picto Icon to use before title (should be a 32x32 transparent png file)
|
||||
@@ -2704,6 +2697,7 @@ function load_fiche_titre($titre, $mesg='', $picto='title.png', $pictoisfullpath
|
||||
|
||||
/**
|
||||
* Print a title with navigation controls for pagination
|
||||
*
|
||||
* @param titre Title to show (required)
|
||||
* @param page Numero of page (required)
|
||||
* @param file Url of page (required)
|
||||
@@ -2813,6 +2807,7 @@ function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $so
|
||||
|
||||
/**
|
||||
* Fonction servant a afficher les fleches de navigation dans les pages de listes
|
||||
*
|
||||
* @param page Numero of page
|
||||
* @param file Lien
|
||||
* @param options Autres parametres d'url a propager dans les liens ("" par defaut)
|
||||
@@ -2837,6 +2832,7 @@ function print_fleche_navigation($page,$file,$options='',$nextpage,$betweenarrow
|
||||
/**
|
||||
* Fonction qui retourne un taux de tva formate pour visualisation
|
||||
* Utilisee dans les pdf et les pages html
|
||||
*
|
||||
* @param rate Rate value to format (19.6 19,6 19.6% 19,6%,...)
|
||||
* @param addpercent Add a percent % sign in output
|
||||
* @param info_bits Miscellanous information on vat
|
||||
@@ -2865,6 +2861,7 @@ function vatrate($rate,$addpercent=false,$info_bits=0)
|
||||
/**
|
||||
* Fonction qui formate un montant pour visualisation
|
||||
* Fonction utilisee dans les pdf et les pages html
|
||||
*
|
||||
* @param amount Montant a formater
|
||||
* @param html Type de formatage, html ou pas (par defaut)
|
||||
* @param outlangs Objet langs pour formatage text
|
||||
@@ -2937,7 +2934,8 @@ function price($amount, $html=0, $outlangs='', $trunc=1, $rounding=-1, $forcerou
|
||||
/**
|
||||
* Function that return a number with universal decimal format (decimal separator is '.') from
|
||||
* an amount typed by a user.
|
||||
* Function to use on each input amount before any numeric test or database insert.
|
||||
* Function to use on each input amount before any numeric test or database insert
|
||||
*
|
||||
* @param amount Amount to convert/clean
|
||||
* @param rounding ''=No rounding
|
||||
* 'MU'=Round to Max unit price (MAIN_MAX_DECIMALS_UNIT)
|
||||
@@ -3022,6 +3020,7 @@ function price2num($amount,$rounding='',$alreadysqlnb=0)
|
||||
|
||||
/**
|
||||
* Return localtaxe rate for a particular tva
|
||||
*
|
||||
* @param tva Vat taxe
|
||||
* @param local Local taxe to search and return
|
||||
* @param societe_acheteuse Object of buying third party
|
||||
@@ -3060,7 +3059,8 @@ function get_localtax($tva, $local, $societe_acheteuse="")
|
||||
|
||||
/**
|
||||
* Return vat rate of a product in a particular selling country or default country
|
||||
* vat if product is unknown.
|
||||
* vat if product is unknown
|
||||
*
|
||||
* @param idprod Id of product or 0 if not a predefined product
|
||||
* @param countrycode Country code (FR, US, IT, ...)
|
||||
* @return int <0 if KO, Vat rate if OK
|
||||
@@ -3119,6 +3119,7 @@ function get_product_vat_for_country($idprod, $countrycode)
|
||||
|
||||
/**
|
||||
* Return localtax rate of a product in a particular selling country
|
||||
*
|
||||
* @param idprod Id of product
|
||||
* @package local 1 for localtax1, 2 for localtax 2
|
||||
* @param countrycode Country code (FR, US, IT, ...)
|
||||
@@ -3276,6 +3277,7 @@ function get_default_localtax($societe_vendeuse, $societe_acheteuse, $local, $id
|
||||
|
||||
/**
|
||||
* Return yes or no in current language
|
||||
*
|
||||
* @param yesno Value to test (1, 'yes', 'true' or 0, 'no', 'false')
|
||||
* @param case 1=Yes/No, 0=yes/no
|
||||
* @param color 0=texte only, 1=Text is formated with a color font style ('ok' or 'error'), 2=Text is formated with 'ok' color.
|
||||
@@ -3304,6 +3306,7 @@ function yn($yesno, $case=1, $color=0)
|
||||
* Return a path to have a directory according to an id
|
||||
* Examples: '001' with level 3->"0/0/1/", '015' with level 3->"0/1/5/"
|
||||
* Examples: 'ABC-1' with level 3 ->"0/0/1/", '015' with level 1->"5/"
|
||||
*
|
||||
* @param $num Id to develop
|
||||
* @param $level Level of development (1, 2 or 3 level)
|
||||
* @param $alpha Use alpha ref
|
||||
@@ -3330,6 +3333,7 @@ function create_exdir($dir)
|
||||
|
||||
/**
|
||||
* Creation of a directory (recursive)
|
||||
*
|
||||
* @param $dir Directory to create
|
||||
* @return int < 0 if KO, 0 = already exists, > 0 if OK
|
||||
*/
|
||||
@@ -3391,6 +3395,7 @@ function dol_mkdir($dir)
|
||||
|
||||
/**
|
||||
* Return picto saying a field is required
|
||||
*
|
||||
* @return string Chaine avec picto obligatoire
|
||||
*/
|
||||
function picto_required()
|
||||
@@ -3401,6 +3406,7 @@ function picto_required()
|
||||
|
||||
/**
|
||||
* Clean a string from all HTML tags and entities
|
||||
*
|
||||
* @param StringHtml String to clean
|
||||
* @param removelinefeed Replace also all lines feeds by a space
|
||||
* @return string String cleaned
|
||||
@@ -3425,7 +3431,8 @@ function dol_string_nohtmltag($StringHtml,$removelinefeed=1)
|
||||
|
||||
|
||||
/**
|
||||
* Replace CRLF in string with a HTML BR tag.
|
||||
* Replace CRLF in string with a HTML BR tag
|
||||
*
|
||||
* @param stringtoencode String to encode
|
||||
* @param nl2brmode 0=Adding br before \n, 1=Replacing \n by br
|
||||
* @param forxml false=Use <br>, true=Use <br />
|
||||
@@ -3455,7 +3462,8 @@ function dol_nl2br($stringtoencode,$nl2brmode=0,$forxml=false)
|
||||
* - writeHTMLCell -> param must be encoded into HTML.
|
||||
* - MultiCell -> param must not be encoded into HTML.
|
||||
* Because writeHTMLCell convert also \n into <br>, if function
|
||||
* is used to build PDF, nl2brmode must be 1.
|
||||
* is used to build PDF, nl2brmode must be 1
|
||||
*
|
||||
* @param stringtoencode String to encode
|
||||
* @param nl2brmode 0=Adding br before \n, 1=Replacing \n by br (for use with FPDF writeHTMLCell function for example)
|
||||
* @param pagecodefrom Pagecode stringtoencode is encoded
|
||||
@@ -3482,6 +3490,7 @@ function dol_htmlentitiesbr($stringtoencode,$nl2brmode=0,$pagecodefrom='UTF-8')
|
||||
|
||||
/**
|
||||
* This function is called to decode a HTML string (it decodes entities and br tags)
|
||||
*
|
||||
* @param stringtodecode String to decode
|
||||
* @param pagecodeto Page code for result
|
||||
*/
|
||||
@@ -3497,6 +3506,7 @@ function dol_htmlentitiesbr_decode($stringtodecode,$pagecodeto='UTF-8')
|
||||
|
||||
/**
|
||||
* This function remove all ending \n and br at end
|
||||
*
|
||||
* @param stringtodecode String to decode
|
||||
*/
|
||||
function dol_htmlcleanlastbr($stringtodecode)
|
||||
@@ -3507,6 +3517,7 @@ function dol_htmlcleanlastbr($stringtodecode)
|
||||
|
||||
/**
|
||||
* This function is called to decode a string with HTML entities (it decodes entities tags)
|
||||
*
|
||||
* @param stringhtml stringhtml
|
||||
* @param pagecodeto Encoding of input string
|
||||
* @return string decodestring
|
||||
@@ -3519,6 +3530,7 @@ function dol_entity_decode($stringhtml,$pagecodeto='UTF-8')
|
||||
|
||||
/**
|
||||
* Replace html_entity_decode functions to manage errors
|
||||
*
|
||||
* @param a
|
||||
* @param b
|
||||
* @param c
|
||||
@@ -3533,6 +3545,7 @@ function dol_html_entity_decode($a,$b,$c)
|
||||
|
||||
/**
|
||||
* Replace htmlentities functions to manage errors
|
||||
*
|
||||
* @param a
|
||||
* @param b
|
||||
* @param c
|
||||
@@ -3549,7 +3562,8 @@ function dol_htmlentities($a,$b,$c)
|
||||
/**
|
||||
* Check if a string is a correct iso string
|
||||
* If not, it will we considered not HTML encoded even if it is by FPDF.
|
||||
* Example, if string contains euro symbol that has ascii code 128.
|
||||
* Example, if string contains euro symbol that has ascii code 128
|
||||
*
|
||||
* @param s String to check
|
||||
* @return int 0 if bad iso, 1 if good iso
|
||||
*/
|
||||
@@ -3570,6 +3584,7 @@ function dol_string_is_good_iso($s)
|
||||
|
||||
/**
|
||||
* Return nb of lines of a clear text
|
||||
*
|
||||
* @param s String to check
|
||||
* @param maxchar Not yet used
|
||||
* @return int Number of lines
|
||||
@@ -3586,6 +3601,7 @@ function dol_nboflines($s,$maxchar=0)
|
||||
|
||||
/**
|
||||
* Return nb of lines of a formated text with \n and <br>
|
||||
*
|
||||
* @param text Text
|
||||
* @param maxlinesize Largeur de ligne en caracteres (ou 0 si pas de limite - defaut)
|
||||
* @param charset Give the charset used to encode the $text variable in memory.
|
||||
@@ -3622,6 +3638,7 @@ function dol_nboflines_bis($text,$maxlinesize=0,$charset='UTF-8')
|
||||
|
||||
/**
|
||||
* Same function than microtime in PHP 5 but compatible with PHP4
|
||||
*
|
||||
* @return float Time (millisecondes) with microsecondes in decimal part
|
||||
*/
|
||||
function dol_microtime_float()
|
||||
@@ -3632,6 +3649,7 @@ function dol_microtime_float()
|
||||
|
||||
/**
|
||||
* Return if a text is a html content
|
||||
*
|
||||
* @param msg Content to check
|
||||
* @param option 0=Full detection, 1=Fast check
|
||||
* @return boolean true/false
|
||||
@@ -4094,7 +4112,8 @@ function verifCond($strRights)
|
||||
|
||||
/**
|
||||
* Replace eval function to add more security.
|
||||
* This function is called by verifCond().
|
||||
* This function is called by verifCond()
|
||||
*
|
||||
* @param string $s
|
||||
*/
|
||||
function dol_eval($s)
|
||||
|
||||
@@ -1545,14 +1545,16 @@ class Societe extends CommonObject
|
||||
|
||||
/**
|
||||
* Return list of contacts emails existing for third party
|
||||
* @return array Array of contacts emails
|
||||
*
|
||||
* @param int $addthirdparty 1=Add also a record for thirdparty email
|
||||
* @return array Array of contacts emails
|
||||
*/
|
||||
function thirdparty_and_contact_email_array()
|
||||
function thirdparty_and_contact_email_array($addthirdparty=0)
|
||||
{
|
||||
global $langs;
|
||||
|
||||
$contact_emails = $this->contact_property_array('email');
|
||||
if ($this->email)
|
||||
if ($this->email && $addthirdparty)
|
||||
{
|
||||
if (empty($this->name)) $this->name=$this->nom;
|
||||
// TODO: Tester si email non deja present dans tableau contact
|
||||
@@ -1563,6 +1565,7 @@ class Societe extends CommonObject
|
||||
|
||||
/**
|
||||
* Return list of contacts mobile phone existing for third party
|
||||
*
|
||||
* @return array Array of contacts emails
|
||||
*/
|
||||
function thirdparty_and_contact_phone_array()
|
||||
@@ -1581,6 +1584,7 @@ class Societe extends CommonObject
|
||||
|
||||
/**
|
||||
* Return list of contacts emails or mobile existing for third party
|
||||
*
|
||||
* @param mode 'email' or 'mobile'
|
||||
* @return array Array of contacts emails or mobile
|
||||
*/
|
||||
@@ -1591,6 +1595,7 @@ class Societe extends CommonObject
|
||||
$sql = "SELECT rowid, email, phone_mobile, name, firstname";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."socpeople";
|
||||
$sql.= " WHERE fk_soc = '".$this->id."'";
|
||||
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
@@ -1617,8 +1622,9 @@ class Societe extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Renvoie la liste des contacts de cette societe
|
||||
* \return array tableau des contacts
|
||||
* Renvoie la liste des contacts de cette societe
|
||||
*
|
||||
* @return array tableau des contacts
|
||||
*/
|
||||
function contact_array()
|
||||
{
|
||||
@@ -1649,6 +1655,7 @@ class Societe extends CommonObject
|
||||
|
||||
/**
|
||||
* Return property of contact from its id
|
||||
*
|
||||
* @param rowid id of contact
|
||||
* @param mode 'email' or 'mobile'
|
||||
* @return string email of contact
|
||||
@@ -1684,7 +1691,9 @@ class Societe extends CommonObject
|
||||
|
||||
|
||||
/**
|
||||
* \brief Affiche le rib
|
||||
* Return bank number property of thirdparty
|
||||
*
|
||||
* @return string Bank number
|
||||
*/
|
||||
function display_rib()
|
||||
{
|
||||
|
||||
@@ -33,8 +33,12 @@ $langs->load("mails");
|
||||
$langs->load("admin");
|
||||
$langs->load("other");
|
||||
|
||||
$socid = GETPOST("socid",'int');
|
||||
$action = GETPOST('action');
|
||||
$contactid=GETPOST('contactid'); // May be an int or 'thirdparty'
|
||||
$actionid=GETPOST('actionid');
|
||||
|
||||
// Security check
|
||||
$socid = isset($_GET["socid"])?$_GET["socid"]:'';
|
||||
if ($user->societe_id) $socid=$user->societe_id;
|
||||
$result = restrictedArea($user, 'societe','','');
|
||||
|
||||
@@ -48,41 +52,71 @@ $pagenext = $page + 1;
|
||||
if (! $sortorder) $sortorder="ASC";
|
||||
if (! $sortfield) $sortfield="c.name";
|
||||
|
||||
$now=dol_now();
|
||||
|
||||
|
||||
/*
|
||||
* Action
|
||||
* Actions
|
||||
*/
|
||||
|
||||
// Add a notification
|
||||
if ($_POST["action"] == 'add')
|
||||
if ($action == 'add')
|
||||
{
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."notify_def";
|
||||
$sql .= " WHERE fk_soc=".$socid." AND fk_contact=".$_POST["contactid"]." AND fk_action=".$_POST["actionid"];
|
||||
if ($db->query($sql))
|
||||
{
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."notify_def (datec,fk_soc, fk_contact, fk_action)";
|
||||
$sql .= " VALUES (".$db->idate(mktime()).",".$socid.",".$_POST["contactid"].",".$_POST["actionid"].")";
|
||||
$error=0;
|
||||
|
||||
if ($db->query($sql))
|
||||
{
|
||||
if (empty($contactid))
|
||||
{
|
||||
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Contact")).'</div>';
|
||||
$error++;
|
||||
}
|
||||
if ($actionid <= 0)
|
||||
{
|
||||
$mesg='<div class="error">'.$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Action")).'</div>';
|
||||
$error++;
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db);
|
||||
}
|
||||
if (! $error)
|
||||
{
|
||||
$db->begin();
|
||||
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."notify_def";
|
||||
$sql .= " WHERE fk_soc=".$socid." AND fk_contact=".$contactid." AND fk_action=".$actionid;
|
||||
if ($db->query($sql))
|
||||
{
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."notify_def (datec,fk_soc, fk_contact, fk_action)";
|
||||
$sql .= " VALUES ('".$db->idate($now)."',".$socid.",".$contactid.",".$actionid.")";
|
||||
|
||||
if ($db->query($sql))
|
||||
{
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
$error++;
|
||||
dol_print_error($db);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db);
|
||||
}
|
||||
|
||||
if (! $error)
|
||||
{
|
||||
$db->commit();
|
||||
}
|
||||
else
|
||||
{
|
||||
$db->rollback();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Remove a notification
|
||||
if ($_GET["action"] == 'delete')
|
||||
if ($action == 'delete')
|
||||
{
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."notify_def where rowid=".$_GET["actid"].";";
|
||||
$db->query($sql);
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."notify_def where rowid=".$_GET["actid"].";";
|
||||
$db->query($sql);
|
||||
}
|
||||
|
||||
|
||||
@@ -95,79 +129,106 @@ $form = new Form($db);
|
||||
|
||||
llxHeader();
|
||||
|
||||
$soc = new Societe($db);
|
||||
$soc->id = $socid;
|
||||
$object = new Societe($db);
|
||||
$result=$object->fetch($socid);
|
||||
|
||||
if ( $soc->fetch($soc->id) )
|
||||
if ($result > 0)
|
||||
{
|
||||
$html = new Form($db);
|
||||
$langs->load("other");
|
||||
$html = new Form($db);
|
||||
$langs->load("other");
|
||||
|
||||
|
||||
$head = societe_prepare_head($soc);
|
||||
$head = societe_prepare_head($object);
|
||||
|
||||
dol_fiche_head($head, 'notify', $langs->trans("ThirdParty"),0,'company');
|
||||
dol_fiche_head($head, 'notify', $langs->trans("ThirdParty"),0,'company');
|
||||
|
||||
|
||||
print '<table class="border"width="100%">';
|
||||
print '<table class="border"width="100%">';
|
||||
|
||||
print '<tr><td width="20%">'.$langs->trans("ThirdPartyName").'</td><td colspan="3">';
|
||||
print $form->showrefnav($soc,'socid','',($user->societe_id?0:1),'rowid','nom');
|
||||
print '</td></tr>';
|
||||
print '<tr><td width="20%">'.$langs->trans("ThirdPartyName").'</td><td colspan="3">';
|
||||
print $form->showrefnav($object,'socid','',($user->societe_id?0:1),'rowid','nom');
|
||||
print '</td></tr>';
|
||||
|
||||
print '<tr><td width="30%">'.$langs->trans("NbOfActiveNotifications").'</td>';
|
||||
print '<td colspan="3">';
|
||||
$sql = "SELECT COUNT(n.rowid) as nb";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."notify_def as n";
|
||||
$sql.= " WHERE fk_soc = ".$soc->id;
|
||||
$resql=$db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$num = $db->num_rows($resql);
|
||||
$i = 0;
|
||||
while ($i < $num)
|
||||
{
|
||||
$obj = $db->fetch_object($resql);
|
||||
$nb=$obj->nb;
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
dol_print_error($db);
|
||||
}
|
||||
print $nb;
|
||||
print '</td></tr>';
|
||||
print '</table>';
|
||||
// Prefix
|
||||
if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field
|
||||
{
|
||||
print '<tr><td>'.$langs->trans('Prefix').'</td><td colspan="3">'.$object->prefix_comm.'</td></tr>';
|
||||
}
|
||||
|
||||
print '</div>';
|
||||
if ($object->client)
|
||||
{
|
||||
print '<tr><td>';
|
||||
print $langs->trans('CustomerCode').'</td><td colspan="3">';
|
||||
print $object->code_client;
|
||||
if ($object->check_codeclient() <> 0) print ' <font class="error">('.$langs->trans("WrongCustomerCode").')</font>';
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
if ($object->fournisseur)
|
||||
{
|
||||
print '<tr><td>';
|
||||
print $langs->trans('SupplierCode').'</td><td colspan="3">';
|
||||
print $object->code_fournisseur;
|
||||
if ($object->check_codefournisseur() <> 0) print ' <font class="error">('.$langs->trans("WrongSupplierCode").')</font>';
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
print '<tr><td width="30%">'.$langs->trans("NbOfActiveNotifications").'</td>';
|
||||
print '<td colspan="3">';
|
||||
$sql = "SELECT COUNT(n.rowid) as nb";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."notify_def as n";
|
||||
$sql.= " WHERE fk_soc = ".$object->id;
|
||||
$resql=$db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$num = $db->num_rows($resql);
|
||||
$i = 0;
|
||||
while ($i < $num)
|
||||
{
|
||||
$obj = $db->fetch_object($resql);
|
||||
$nb=$obj->nb;
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
dol_print_error($db);
|
||||
}
|
||||
print $nb;
|
||||
print '</td></tr>';
|
||||
print '</table>';
|
||||
|
||||
// Help
|
||||
print '<br>'.$langs->trans("NotificationsDesc").'<br>';
|
||||
|
||||
|
||||
// Help
|
||||
print $langs->trans("NotificationsDesc").'<br><br>';
|
||||
dol_fiche_end();
|
||||
|
||||
|
||||
print "\n";
|
||||
print "\n";
|
||||
|
||||
// Add notification form
|
||||
print_fiche_titre($langs->trans("AddNewNotification"),'','');
|
||||
// Add notification form
|
||||
print_fiche_titre($langs->trans("AddNewNotification"),'','');
|
||||
|
||||
print '<form action="fiche.php?socid='.$socid.'" method="post">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<form action="fiche.php?socid='.$socid.'" method="post">';
|
||||
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
|
||||
print '<input type="hidden" name="action" value="add">';
|
||||
|
||||
// Line with titles
|
||||
print '<table width="100%" class="noborder">';
|
||||
print '<tr class="liste_titre">';
|
||||
$param="&socid=".$socid;
|
||||
print_liste_field_titre($langs->trans("Contact"),"fiche.php","c.name",'',$param,'"width="45%"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Action"),"fiche.php","a.titre",'',$param,'"width="35%"',$sortfield,$sortorder);
|
||||
$param="&socid=".$socid;
|
||||
|
||||
// Line with titles
|
||||
print '<table width="100%" class="noborder">';
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans("Contact"),"fiche.php","c.name",'',$param,'"width="45%"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Action"),"fiche.php","a.titre",'',$param,'"width="35%"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Type"),"fiche.php","",'',$param,'"width="10%"',$sortfield,$sortorder);
|
||||
print '<td> </td>';
|
||||
print '</tr>';
|
||||
print_liste_field_titre('');
|
||||
print '</tr>';
|
||||
|
||||
$var=false;
|
||||
if (count($soc->thirdparty_and_contact_email_array()) > 0)
|
||||
{
|
||||
$actions=array();
|
||||
$var=false;
|
||||
$listofemails=$object->thirdparty_and_contact_email_array();
|
||||
if (count($listofemails) > 0)
|
||||
{
|
||||
$actions=array();
|
||||
|
||||
// Load array of available notifications
|
||||
$notificationtrigger=new InterfaceNotification($db);
|
||||
@@ -178,173 +239,174 @@ if ( $soc->fetch($soc->id) )
|
||||
$label=$langs->trans("Notify_".$notifiedevent['code'])!=$langs->trans("Notify_".$notifiedevent['code'])?$langs->trans("Notify_".$notifiedevent['code']):$notifiedevent['label'];
|
||||
$actions[$notifiedevent['rowid']]=$label;
|
||||
}
|
||||
print '<input type="hidden" name="action" value="add">';
|
||||
print '<tr '.$bc[$var].'><td>';
|
||||
print $html->selectarray("contactid",$soc->thirdparty_and_contact_email_array());
|
||||
print '</td>';
|
||||
print '<td>';
|
||||
print $html->selectarray("actionid",$actions,'',1);
|
||||
print '</td>';
|
||||
print '<tr '.$bc[$var].'><td>';
|
||||
print $html->selectarray("contactid",$listofemails);
|
||||
print '</td>';
|
||||
print '<td>';
|
||||
print $html->selectarray("actionid",$actions,'',1);
|
||||
print '</td>';
|
||||
print '<td>';
|
||||
$type=array('email'=>$langs->trans("EMail"));
|
||||
print $html->selectarray("typeid",$type);
|
||||
print '</td>';
|
||||
print '<td align="right"><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
|
||||
print '</tr>';
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<tr '.$bc[$var].'><td colspan="4">';
|
||||
print $langs->trans("YouMustCreateContactFirst");
|
||||
print '</td></tr>';
|
||||
}
|
||||
print '<td align="right"><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
|
||||
print '</tr>';
|
||||
}
|
||||
else
|
||||
{
|
||||
print '<tr '.$bc[$var].'><td colspan="4">';
|
||||
print $langs->trans("YouMustCreateContactFirst");
|
||||
print '</td></tr>';
|
||||
}
|
||||
|
||||
print '</table>';
|
||||
print '</table>';
|
||||
|
||||
print '</form>';
|
||||
print '<br>';
|
||||
print '</form>';
|
||||
print '<br>';
|
||||
|
||||
dol_htmloutput_mesg($mesg);
|
||||
|
||||
// List of active notifications
|
||||
print_fiche_titre($langs->trans("ListOfActiveNotifications"),'','');
|
||||
$var=true;
|
||||
// List of active notifications
|
||||
print_fiche_titre($langs->trans("ListOfActiveNotifications"),'','');
|
||||
$var=true;
|
||||
|
||||
// Line with titles
|
||||
print '<table width="100%" class="noborder">';
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans("Contact"),"fiche.php","c.name",'',$param,'"width="45%"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Action"),"fiche.php","a.titre",'',$param,'"width="35%"',$sortfield,$sortorder);
|
||||
// Line with titles
|
||||
print '<table width="100%" class="noborder">';
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans("Contact"),"fiche.php","c.name",'',$param,'"width="45%"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Action"),"fiche.php","a.titre",'',$param,'"width="35%"',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Type"),"fiche.php","",'',$param,'"width="10%"',$sortfield,$sortorder);
|
||||
print_liste_field_titre('','','');
|
||||
print '</tr>';
|
||||
print_liste_field_titre('','','');
|
||||
print '</tr>';
|
||||
|
||||
// List of notifications for contacts
|
||||
$sql = "SELECT n.rowid, n.type,";
|
||||
$sql.= " a.code, a.label,";
|
||||
// List of notifications for contacts
|
||||
$sql = "SELECT n.rowid, n.type,";
|
||||
$sql.= " a.code, a.label,";
|
||||
$sql.= " c.rowid as contactid, c.name, c.firstname, c.email";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,";
|
||||
$sql.= " ".MAIN_DB_PREFIX."notify_def as n,";
|
||||
$sql.= " ".MAIN_DB_PREFIX."socpeople c";
|
||||
$sql.= " WHERE a.rowid = n.fk_action";
|
||||
$sql.= " AND c.rowid = n.fk_contact";
|
||||
$sql.= " AND c.fk_soc = ".$soc->id;
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,";
|
||||
$sql.= " ".MAIN_DB_PREFIX."notify_def as n,";
|
||||
$sql.= " ".MAIN_DB_PREFIX."socpeople c";
|
||||
$sql.= " WHERE a.rowid = n.fk_action";
|
||||
$sql.= " AND c.rowid = n.fk_contact";
|
||||
$sql.= " AND c.fk_soc = ".$object->id;
|
||||
|
||||
$resql=$db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$num = $db->num_rows($resql);
|
||||
$i = 0;
|
||||
$resql=$db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$num = $db->num_rows($resql);
|
||||
$i = 0;
|
||||
|
||||
$contactstatic=new Contact($db);
|
||||
$contactstatic=new Contact($db);
|
||||
|
||||
while ($i < $num)
|
||||
{
|
||||
$var = !$var;
|
||||
while ($i < $num)
|
||||
{
|
||||
$var = !$var;
|
||||
|
||||
$obj = $db->fetch_object($resql);
|
||||
$obj = $db->fetch_object($resql);
|
||||
|
||||
$contactstatic->id=$obj->contactid;
|
||||
$contactstatic->name=$obj->name;
|
||||
$contactstatic->firstname=$obj->firstname;
|
||||
print '<tr '.$bc[$var].'><td>'.$contactstatic->getNomUrl(1);
|
||||
if ($obj->type == 'email')
|
||||
{
|
||||
if (isValidEmail($obj->email))
|
||||
{
|
||||
print ' <'.$obj->email.'>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$langs->load("errors");
|
||||
print ' '.img_warning().' '.$langs->trans("ErrorBadEMail",$obj->email);
|
||||
}
|
||||
}
|
||||
print '</td>';
|
||||
print '<td>';
|
||||
$label=($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label);
|
||||
print $label;
|
||||
print '</td>';
|
||||
$contactstatic->id=$obj->contactid;
|
||||
$contactstatic->name=$obj->name;
|
||||
$contactstatic->firstname=$obj->firstname;
|
||||
print '<tr '.$bc[$var].'><td>'.$contactstatic->getNomUrl(1);
|
||||
if ($obj->type == 'email')
|
||||
{
|
||||
if (isValidEmail($obj->email))
|
||||
{
|
||||
print ' <'.$obj->email.'>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$langs->load("errors");
|
||||
print ' '.img_warning().' '.$langs->trans("ErrorBadEMail",$obj->email);
|
||||
}
|
||||
}
|
||||
print '</td>';
|
||||
print '<td>';
|
||||
$label=($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label);
|
||||
print $label;
|
||||
print '</td>';
|
||||
print '<td>';
|
||||
if ($obj->type == 'email') print $langs->trans("Email");
|
||||
if ($obj->type == 'sms') print $langs->trans("SMS");
|
||||
print '</td>';
|
||||
print '<td align="right"><a href="fiche.php?socid='.$socid.'&action=delete&actid='.$obj->rowid.'">'.img_delete().'</a></td>';
|
||||
print '</tr>';
|
||||
$i++;
|
||||
}
|
||||
$db->free($resql);
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db);
|
||||
}
|
||||
print '</tr>';
|
||||
$i++;
|
||||
}
|
||||
$db->free($resql);
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db);
|
||||
}
|
||||
|
||||
print '</table>';
|
||||
print '<br>';
|
||||
print '</table>';
|
||||
print '<br>';
|
||||
|
||||
|
||||
// List of notifications done
|
||||
print_fiche_titre($langs->trans("ListOfNotificationsDone"),'','');
|
||||
$var=true;
|
||||
// List of notifications done
|
||||
print_fiche_titre($langs->trans("ListOfNotificationsDone"),'','');
|
||||
$var=true;
|
||||
|
||||
// Line with titles
|
||||
print '<table width="100%" class="noborder">';
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans("Contact"),"fiche.php","c.name",'',"&socid=$socid",'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Action"),"fiche.php","a.titre",'',"&socid=$socid",'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Date"),"fiche.php","a.titre",'',"&socid=$socid",'align="right"',$sortfield,$sortorder);
|
||||
print '</tr>';
|
||||
// Line with titles
|
||||
print '<table width="100%" class="noborder">';
|
||||
print '<tr class="liste_titre">';
|
||||
print_liste_field_titre($langs->trans("Contact"),"fiche.php","c.name",'',$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Action"),"fiche.php","a.titre",'',$param,'',$sortfield,$sortorder);
|
||||
print_liste_field_titre($langs->trans("Date"),"fiche.php","a.daten",'',$param,'align="right"',$sortfield,$sortorder);
|
||||
print '</tr>';
|
||||
|
||||
// List
|
||||
$sql = "SELECT n.rowid, n.daten, n.email, n.objet_type, n.objet_id,";
|
||||
$sql.= " c.rowid as id, c.name, c.firstname, c.email,";
|
||||
$sql.= " a.code, a.label";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,";
|
||||
$sql.= " ".MAIN_DB_PREFIX."notify as n, ";
|
||||
// List
|
||||
$sql = "SELECT n.rowid, n.daten, n.email, n.objet_type, n.objet_id,";
|
||||
$sql.= " c.rowid as id, c.name, c.firstname, c.email,";
|
||||
$sql.= " a.code, a.label";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,";
|
||||
$sql.= " ".MAIN_DB_PREFIX."notify as n, ";
|
||||
$sql.= " ".MAIN_DB_PREFIX."socpeople as c";
|
||||
$sql.= " WHERE a.rowid = n.fk_action";
|
||||
$sql.= " AND c.rowid = n.fk_contact";
|
||||
$sql.= " AND c.fk_soc = ".$soc->id;
|
||||
$sql.= " AND c.fk_soc = ".$object->id;
|
||||
|
||||
$resql=$db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$num = $db->num_rows($resql);
|
||||
$i = 0;
|
||||
$resql=$db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$num = $db->num_rows($resql);
|
||||
$i = 0;
|
||||
|
||||
$contactstatic=new Contact($db);
|
||||
$contactstatic=new Contact($db);
|
||||
|
||||
while ($i < $num)
|
||||
{
|
||||
$var = !$var;
|
||||
while ($i < $num)
|
||||
{
|
||||
$var = !$var;
|
||||
|
||||
$obj = $db->fetch_object($resql);
|
||||
$obj = $db->fetch_object($resql);
|
||||
|
||||
$contactstatic->id=$obj->id;
|
||||
$contactstatic->name=$obj->name;
|
||||
$contactstatic->firstname=$obj->firstname;
|
||||
print '<tr '.$bc[$var].'><td>'.$contactstatic->getNomUrl(1);
|
||||
print $obj->email?' <'.$obj->email.'>':$langs->trans("NoMail");
|
||||
print '</td>';
|
||||
print '<td>';
|
||||
$label=($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label);
|
||||
print $label;
|
||||
print '</td>';
|
||||
// TODO Add link to object here
|
||||
// print
|
||||
print'<td align="right">'.dol_print_date($db->jdate($obj->daten), 'dayhour').'</td>';
|
||||
print '</tr>';
|
||||
$i++;
|
||||
}
|
||||
$db->free($resql);
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db);
|
||||
}
|
||||
$contactstatic->id=$obj->id;
|
||||
$contactstatic->name=$obj->name;
|
||||
$contactstatic->firstname=$obj->firstname;
|
||||
print '<tr '.$bc[$var].'><td>'.$contactstatic->getNomUrl(1);
|
||||
print $obj->email?' <'.$obj->email.'>':$langs->trans("NoMail");
|
||||
print '</td>';
|
||||
print '<td>';
|
||||
$label=($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label);
|
||||
print $label;
|
||||
print '</td>';
|
||||
// TODO Add link to object here
|
||||
// print
|
||||
print'<td align="right">'.dol_print_date($db->jdate($obj->daten), 'dayhour').'</td>';
|
||||
print '</tr>';
|
||||
$i++;
|
||||
}
|
||||
$db->free($resql);
|
||||
}
|
||||
else
|
||||
{
|
||||
dol_print_error($db);
|
||||
}
|
||||
|
||||
print '</table>';
|
||||
print '</table>';
|
||||
}
|
||||
else dol_print_error('','RecordNotFound');
|
||||
|
||||
$db->close();
|
||||
|
||||
|
||||
@@ -1200,64 +1200,68 @@ padding: 0px 0px;
|
||||
/* For lists */
|
||||
|
||||
table.liste {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
border-top-color: #FEFEFE;
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
border-top-color: #FEFEFE;
|
||||
|
||||
border-left-width: 1px;
|
||||
border-left-color: #BBBBBB;
|
||||
border-left-style: solid;
|
||||
border-left-width: 1px;
|
||||
border-left-color: #BBBBBB;
|
||||
border-left-style: solid;
|
||||
|
||||
border-right-width: 1px;
|
||||
border-right-color: #BBBBBB;
|
||||
border-right-style: solid;
|
||||
border-right-width: 1px;
|
||||
border-right-color: #BBBBBB;
|
||||
border-right-style: solid;
|
||||
|
||||
border-bottom-width: 1px;
|
||||
border-bottom-color: #BBBBBB;
|
||||
border-bottom-style: solid;
|
||||
border-bottom-width: 1px;
|
||||
border-bottom-color: #BBBBBB;
|
||||
border-bottom-style: solid;
|
||||
|
||||
margin-bottom: 2px;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 2px;
|
||||
margin-top: 0px;
|
||||
|
||||
-moz-box-shadow: 4px 4px 4px #CCC;
|
||||
-webkit-box-shadow: 4px 4px 4px #CCC;
|
||||
box-shadow: 4px 4px 4px #CCC;
|
||||
-moz-box-shadow: 4px 4px 4px #CCC;
|
||||
-webkit-box-shadow: 4px 4px 4px #CCC;
|
||||
box-shadow: 4px 4px 4px #CCC;
|
||||
}
|
||||
table.liste td {
|
||||
padding-right: 2px;
|
||||
padding-right: 2px;
|
||||
}
|
||||
|
||||
tr.liste_titre {
|
||||
height: 24px;
|
||||
background: #7699A9;
|
||||
background-image: url(<?php echo $img_liste_titre ?>);
|
||||
background-repeat: repeat-x;
|
||||
color: #FFFFFF;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
/* border-bottom: 1px solid #FDFFFF; */
|
||||
white-space: nowrap;
|
||||
}
|
||||
td.liste_titre {
|
||||
background: #7699A9;
|
||||
background-image: url(<?php echo $img_liste_titre ?>);
|
||||
background-repeat: repeat-x;
|
||||
color: #FFFFFF;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
font-weight: normal;
|
||||
/* border-bottom: 1px solid #FDFFFF; */
|
||||
white-space: nowrap;
|
||||
}
|
||||
td.liste_titre_sel
|
||||
tr.liste_titre
|
||||
{
|
||||
background: #7699A9;
|
||||
background-image: url(<?php echo $img_liste_titre ?>);
|
||||
background-repeat: repeat-x;
|
||||
color: #FFFFFF;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
font-weight: normal;
|
||||
/* text-decoration: underline; */
|
||||
/* border-bottom: 1px solid #FDFFFF; */
|
||||
white-space: nowrap;
|
||||
height: 24px;
|
||||
background: #7699A9;
|
||||
background-image: url(<?php echo $img_liste_titre ?>);
|
||||
background-repeat: repeat-x;
|
||||
color: #FFFFFF;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
/* border-bottom: 1px solid #FDFFFF; */
|
||||
white-space: nowrap;
|
||||
}
|
||||
th.liste_titre, td.liste_titre
|
||||
{
|
||||
background: #7699A9;
|
||||
background-image: url(<?php echo $img_liste_titre ?>);
|
||||
background-repeat: repeat-x;
|
||||
color: #FFFFFF;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
font-weight: normal;
|
||||
/* border-bottom: 1px solid #FDFFFF; */
|
||||
white-space: nowrap;
|
||||
text-align: <?php echo $left; ?>;
|
||||
}
|
||||
th.liste_titre_sel, td.liste_titre_sel
|
||||
{
|
||||
background: #7699A9;
|
||||
background-image: url(<?php echo $img_liste_titre ?>);
|
||||
background-repeat: repeat-x;
|
||||
color: #FFFFFF;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
font-weight: normal;
|
||||
/* text-decoration: underline; */
|
||||
/* border-bottom: 1px solid #FDFFFF; */
|
||||
white-space: nowrap;
|
||||
text-align: <?php echo $left; ?>;
|
||||
}
|
||||
input.liste_titre {
|
||||
background: transparent;
|
||||
@@ -1274,19 +1278,6 @@ font-weight: normal;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
th {
|
||||
/* background: #7699A9; */
|
||||
background: #91ABB3;
|
||||
color: #334444;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
font-weight: bold;
|
||||
border-left: 1px solid #FFFFFF;
|
||||
border-right: 1px solid #FFFFFF;
|
||||
border-top: 1px solid #FFFFFF;
|
||||
border-bottom: 1px solid #FFFFFF;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.impair {
|
||||
/* background: #d0d4d7; */
|
||||
background: #eaeaea;
|
||||
|
||||
@@ -1402,8 +1402,8 @@ tr.liste_titre:first-child {
|
||||
background-position: top right;
|
||||
}
|
||||
|
||||
td.liste_titre_sel,
|
||||
tr.liste_titre:first-child td {
|
||||
th.liste_titre_sel, td.liste_titre_sel,
|
||||
tr.liste_titre:first-child td {
|
||||
color: #FFFFFF !important;
|
||||
}
|
||||
|
||||
@@ -1430,7 +1430,8 @@ tr.liste_titre td {
|
||||
background: none !important;
|
||||
}
|
||||
|
||||
td.liste_titre {
|
||||
th.liste_titre, td.liste_titre
|
||||
{
|
||||
background-repeat: repeat-x;
|
||||
color: #333333;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
@@ -1438,6 +1439,7 @@ td.liste_titre {
|
||||
white-space: nowrap;
|
||||
background-image: none;
|
||||
background: none;
|
||||
text-align: <?php echo $left; ?>;
|
||||
}
|
||||
|
||||
/*tr.liste_titre select.flat {
|
||||
@@ -1453,7 +1455,8 @@ tr.liste_titre input.button {
|
||||
/*margin: 30px 10px 10px 0px;*/
|
||||
}
|
||||
|
||||
td.liste_titre_sel {
|
||||
th.liste_titre_sel, td.liste_titre_sel
|
||||
{
|
||||
background: #505050;
|
||||
background-repeat: repeat-x;
|
||||
color: #FFFFFF;
|
||||
@@ -1462,6 +1465,7 @@ td.liste_titre_sel {
|
||||
/* text-decoration: underline; */
|
||||
/* border-bottom: 1px solid #FDFFFF; */
|
||||
white-space: nowrap;
|
||||
text-align: <?php echo $left; ?>;
|
||||
}
|
||||
|
||||
input.liste_titre {
|
||||
@@ -1481,19 +1485,6 @@ white-space: nowrap;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
th {
|
||||
/* background: #7699A9; */
|
||||
background: #91ABB3;
|
||||
color: #334444;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
font-weight: bold;
|
||||
border-left: 1px solid #FFFFFF;
|
||||
border-right: 1px solid #FFFFFF;
|
||||
border-top: 1px solid #FFFFFF;
|
||||
border-bottom: 1px solid #FFFFFF;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.impair {
|
||||
/* background: #d0d4d7; */
|
||||
background: #eaeaea;
|
||||
@@ -2221,7 +2212,7 @@ a.cke_dialog_ui_button
|
||||
margin-left: -240px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
|
||||
div#infoVersion {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
@@ -2231,14 +2222,14 @@ div#infoVersion {
|
||||
font-size: 10px;
|
||||
background-color: #D6D6D6;
|
||||
}
|
||||
|
||||
|
||||
div#logoBox {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
|
||||
div#parameterBox {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
@@ -2249,14 +2240,14 @@ div#parameterBox {
|
||||
background-repeat: no-repeat;
|
||||
background-position: top center;
|
||||
}
|
||||
|
||||
|
||||
div#parameterBox div {
|
||||
width: 100%;
|
||||
height: 20px;
|
||||
position: relative;
|
||||
line-height: 20px;
|
||||
}
|
||||
|
||||
|
||||
div#parameterBox div label {
|
||||
width: 190px;
|
||||
text-align: right;
|
||||
@@ -2264,7 +2255,7 @@ div#parameterBox div label {
|
||||
float: left;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
|
||||
div#parameterBox div input[type="text"],
|
||||
div#parameterBox div input[type="password"] {
|
||||
width: 180px;
|
||||
@@ -2272,12 +2263,12 @@ div#parameterBox div input[type="password"] {
|
||||
font-size: 10px;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
|
||||
div#connectionLine {
|
||||
margin: 10px 0px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
div#logBox {
|
||||
margin-top: 25px;
|
||||
}
|
||||
@@ -2285,7 +2276,7 @@ margin-top: 25px;
|
||||
div.captchaBox {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
|
||||
div.captchaImg {
|
||||
margin-bottom: 10px;
|
||||
margin-top: 5px;
|
||||
@@ -2295,7 +2286,7 @@ div.captchaImg {
|
||||
img#captcha {
|
||||
margin-left: 200px;
|
||||
}
|
||||
|
||||
|
||||
div#infoLogin {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
@@ -2314,11 +2305,11 @@ div.other {
|
||||
left: 50%;
|
||||
margin-left: -240px;
|
||||
}
|
||||
|
||||
|
||||
form.listactionsfilter img {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
form.listactionsfilter input[type="submit"] {
|
||||
margin: 2px 0px;
|
||||
}
|
||||
|
||||
@@ -1339,30 +1339,31 @@ table.liste td {
|
||||
}
|
||||
|
||||
tr.liste_titre {
|
||||
height: 20px;
|
||||
color: #842F00;
|
||||
font-weight: bold;
|
||||
font-family: "Trebuchet MS",Arial,Helvetica,sans-serif;
|
||||
/*border-bottom: 1px solid #FDFFFF;*/
|
||||
border-radius: 8px;
|
||||
line-height: 18px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
white-space: nowrap;
|
||||
height: 20px;
|
||||
color: #842F00;
|
||||
font-weight: bold;
|
||||
font-family: "Trebuchet MS",Arial,Helvetica,sans-serif;
|
||||
/*border-bottom: 1px solid #FDFFFF;*/
|
||||
border-radius: 8px;
|
||||
line-height: 18px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
tr.liste_titre td {
|
||||
padding-left: 6px;
|
||||
padding-right: 6px;
|
||||
/*vertical-align: text-top;*/
|
||||
}
|
||||
|
||||
td.liste_titre_sel
|
||||
th.liste_titre, td.liste_titre
|
||||
{
|
||||
background-position: top right;
|
||||
color: #A51B00;
|
||||
font-weight: bold;
|
||||
white-space: nowrap;
|
||||
padding-left: 6px;
|
||||
padding-right: 6px;
|
||||
/*vertical-align: text-top;*/
|
||||
text-align: <?php echo $left; ?>;
|
||||
}
|
||||
th.liste_titre_sel, td.liste_titre_sel
|
||||
{
|
||||
background-position: top right;
|
||||
color: #A51B00;
|
||||
font-weight: bold;
|
||||
white-space: nowrap;
|
||||
text-align: <?php echo $left; ?>;
|
||||
}
|
||||
|
||||
input.liste_titre {
|
||||
@@ -1383,19 +1384,6 @@ font-weight: normal;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
th {
|
||||
/* background: #7699A9; */
|
||||
background: #91ABB3;
|
||||
color: #334444;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
font-weight: bold;
|
||||
border-left: 1px solid #FFFFFF;
|
||||
border-right: 1px solid #FFFFFF;
|
||||
border-top: 1px solid #FFFFFF;
|
||||
border-bottom: 1px solid #FFFFFF;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.impair {
|
||||
/* background: #d0d4d7; */
|
||||
background: #eaeaea;
|
||||
|
||||
@@ -228,12 +228,12 @@ div.fichecenter {
|
||||
div.fichethirdleft {
|
||||
<?php if (empty($conf->browser->phone)) { print "float: ".$left.";\n"; } ?>
|
||||
<?php if (empty($conf->browser->phone)) { print "width: 35%;\n"; } ?>
|
||||
<?php if (! empty($conf->browser->phone)) { print "padding-bottom: 6px;\n"; } ?>
|
||||
<?php if (! empty($conf->browser->phone)) { print "padding-bottom: 6px;\n"; } ?>
|
||||
}
|
||||
div.fichetwothirdright {
|
||||
<?php if (empty($conf->browser->phone)) { print "float: ".$left.";\n"; } ?>
|
||||
<?php if (empty($conf->browser->phone)) { print "width: 65%;\n"; } ?>
|
||||
<?php if (! empty($conf->browser->phone)) { print "padding-bottom: 6px\n"; } ?>
|
||||
<?php if (! empty($conf->browser->phone)) { print "padding-bottom: 6px\n"; } ?>
|
||||
}
|
||||
div.fichehalfleft {
|
||||
<?php if (empty($conf->browser->phone)) { print "float: ".$left.";\n"; } ?>
|
||||
@@ -1222,59 +1222,63 @@ padding: 0px 0px;
|
||||
/* For lists */
|
||||
|
||||
table.liste {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
border-top-color: #FEFEFE;
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
border-top-color: #FEFEFE;
|
||||
|
||||
border-right-width: 1px;
|
||||
border-right-color: #BBBBBB;
|
||||
border-right-style: solid;
|
||||
border-right-width: 1px;
|
||||
border-right-color: #BBBBBB;
|
||||
border-right-style: solid;
|
||||
|
||||
border-bottom-width: 1px;
|
||||
border-bottom-color: #BBBBBB;
|
||||
border-bottom-style: solid;
|
||||
border-bottom-width: 1px;
|
||||
border-bottom-color: #BBBBBB;
|
||||
border-bottom-style: solid;
|
||||
|
||||
margin-bottom: 2px;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 2px;
|
||||
margin-top: 0px;
|
||||
|
||||
-moz-box-shadow: 4px 4px 4px #CCC;
|
||||
-webkit-box-shadow: 4px 4px 4px #CCC;
|
||||
box-shadow: 4px 4px 4px #CCC;
|
||||
-moz-box-shadow: 4px 4px 4px #CCC;
|
||||
-webkit-box-shadow: 4px 4px 4px #CCC;
|
||||
box-shadow: 4px 4px 4px #CCC;
|
||||
}
|
||||
table.liste td {
|
||||
padding-right: 2px;
|
||||
padding-right: 2px;
|
||||
}
|
||||
|
||||
tr.liste_titre {
|
||||
height: 20px !important;
|
||||
background: #7699A9;
|
||||
background-image: url(<?php echo $img_liste_titre ?>);
|
||||
background-repeat: repeat-x;
|
||||
color: #334444;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
border-bottom: 1px solid #FDFFFF;
|
||||
white-space: nowrap;
|
||||
}
|
||||
td.liste_titre {
|
||||
background: #7699A9;
|
||||
background-image: url(<?php echo $img_liste_titre ?>);
|
||||
background-repeat: repeat-x;
|
||||
color: #334444;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
font-weight: normal;
|
||||
border-bottom: 1px solid #FDFFFF;
|
||||
white-space: nowrap;
|
||||
}
|
||||
td.liste_titre_sel
|
||||
tr.liste_titre
|
||||
{
|
||||
background: #7699A9;
|
||||
background-image: url(<?php echo $img_liste_titre ?>);
|
||||
background-repeat: repeat-x;
|
||||
color: #F5FFFF;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
font-weight: normal;
|
||||
border-bottom: 1px solid #FDFFFF;
|
||||
white-space: nowrap;
|
||||
height: 20px !important;
|
||||
background: #7699A9;
|
||||
background-image: url(<?php echo $img_liste_titre ?>);
|
||||
background-repeat: repeat-x;
|
||||
color: #334444;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
border-bottom: 1px solid #FDFFFF;
|
||||
white-space: nowrap;
|
||||
}
|
||||
th.liste_titre, td.liste_titre
|
||||
{
|
||||
background: #7699A9;
|
||||
background-image: url(<?php echo $img_liste_titre ?>);
|
||||
background-repeat: repeat-x;
|
||||
color: #334444;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
font-weight: normal;
|
||||
border-bottom: 1px solid #FDFFFF;
|
||||
white-space: nowrap;
|
||||
text-align: <?php echo $left; ?>;
|
||||
}
|
||||
th.liste_titre_sel, td.liste_titre_sel
|
||||
{
|
||||
background: #7699A9;
|
||||
background-image: url(<?php echo $img_liste_titre ?>);
|
||||
background-repeat: repeat-x;
|
||||
color: #F5FFFF;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
font-weight: normal;
|
||||
border-bottom: 1px solid #FDFFFF;
|
||||
white-space: nowrap;
|
||||
text-align: <?php echo $left; ?>;
|
||||
}
|
||||
input.liste_titre {
|
||||
background: #7699A9;
|
||||
@@ -1292,18 +1296,6 @@ font-weight: normal;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
th {
|
||||
/* background: #7699A9; */
|
||||
background: #91ABB3;
|
||||
color: #334444;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
font-weight: bold;
|
||||
border-left: 1px solid #FFFFFF;
|
||||
border-right: 1px solid #FFFFFF;
|
||||
border-top: 1px solid #FFFFFF;
|
||||
border-bottom: 1px solid #FFFFFF;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.impair {
|
||||
/* background: #d0d4d7; */
|
||||
|
||||
@@ -316,33 +316,37 @@ padding: 0px 0px;
|
||||
|
||||
|
||||
|
||||
tr.liste_titre {
|
||||
height: 24px;
|
||||
background: -moz-linear-gradient(center top , #81A8CE, #5E87B0) repeat scroll 0 0 #5E87B0;
|
||||
border: 1px solid #456F9A;
|
||||
color: #FFFFFF;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
/* border-bottom: 1px solid #FDFFFF; */
|
||||
white-space: nowrap;
|
||||
}
|
||||
td.liste_titre {
|
||||
background: -moz-linear-gradient(center top , #81A8CE, #5E87B0) repeat scroll 0 0 #5E87B0;
|
||||
border: 1px solid #456F9A;
|
||||
color: #FFFFFF;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
font-weight: normal;
|
||||
/* border-bottom: 1px solid #FDFFFF; */
|
||||
white-space: nowrap;
|
||||
}
|
||||
td.liste_titre_sel
|
||||
tr.liste_titre
|
||||
{
|
||||
background: -moz-linear-gradient(center top , #81A8CE, #5E87B0) repeat scroll 0 0 #5E87B0;
|
||||
color: #FFFFFF;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
font-weight: normal;
|
||||
/* text-decoration: underline; */
|
||||
/* border-bottom: 1px solid #FDFFFF; */
|
||||
white-space: nowrap;
|
||||
height: 24px;
|
||||
background: -moz-linear-gradient(center top , #81A8CE, #5E87B0) repeat scroll 0 0 #5E87B0;
|
||||
border: 1px solid #456F9A;
|
||||
color: #FFFFFF;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
/* border-bottom: 1px solid #FDFFFF; */
|
||||
white-space: nowrap;
|
||||
}
|
||||
th.liste_titre, td.liste_titre
|
||||
{
|
||||
background: -moz-linear-gradient(center top , #81A8CE, #5E87B0) repeat scroll 0 0 #5E87B0;
|
||||
border: 1px solid #456F9A;
|
||||
color: #FFFFFF;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
font-weight: normal;
|
||||
/* border-bottom: 1px solid #FDFFFF; */
|
||||
white-space: nowrap;
|
||||
text-align: <?php echo $left; ?>;
|
||||
}
|
||||
th.liste_titre_sel, td.liste_titre_sel
|
||||
{
|
||||
background: -moz-linear-gradient(center top , #81A8CE, #5E87B0) repeat scroll 0 0 #5E87B0;
|
||||
color: #FFFFFF;
|
||||
font-family: <?php print $fontlist ?>;
|
||||
font-weight: normal;
|
||||
/* text-decoration: underline; */
|
||||
/* border-bottom: 1px solid #FDFFFF; */
|
||||
white-space: nowrap;
|
||||
text-align: <?php echo $left; ?>;
|
||||
}
|
||||
input.liste_titre {
|
||||
background: transparent;
|
||||
|
||||
Reference in New Issue
Block a user