New: Always use th for table head

This commit is contained in:
Laurent Destailleur 2011-09-02 21:56:37 +00:00
parent db6b43d189
commit 02a8bb0128
16 changed files with 300 additions and 422 deletions

View File

@ -116,9 +116,8 @@ class Adherent extends CommonObject
/** /**
* Constructor * Adherent
* * @param DB base de donnees
* @param DoliDB $DB Database handler
*/ */
function Adherent($DB) function Adherent($DB)
{ {

View File

@ -49,9 +49,8 @@ class AdherentType extends CommonObject
/** /**
* Constructor * \brief AdherentType
* * \param DB handler acces base de donnees
* @param DoliDB $DB Database handler
*/ */
function AdherentType($DB) function AdherentType($DB)
{ {
@ -195,7 +194,6 @@ class AdherentType extends CommonObject
/** /**
* Return list of members' type * Return list of members' type
*
* @return array List of types of members * @return array List of types of members
*/ */
function liste_array() function liste_array()
@ -235,12 +233,11 @@ class AdherentType extends CommonObject
/** /**
* Renvoie nom clicable (avec eventuellement le picto) * \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 withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul * \param maxlen length max libelle
* @param maxlen length max libelle * \param option Page lien
* @param option Page lien * \return string Chaine avec URL
* @return string Chaine avec URL
*/ */
function getNomUrl($withpicto=0,$maxlen=0) function getNomUrl($withpicto=0,$maxlen=0)
{ {
@ -263,7 +260,6 @@ class AdherentType extends CommonObject
/** /**
* getMailOnValid * getMailOnValid
*
* @return Return mail model * @return Return mail model
*/ */
function getMailOnValid() function getMailOnValid()
@ -282,7 +278,6 @@ class AdherentType extends CommonObject
/** /**
* getMailOnSubscription * getMailOnSubscription
*
* @return Return mail model * @return Return mail model
*/ */
function getMailOnSubscription() function getMailOnSubscription()
@ -301,7 +296,6 @@ class AdherentType extends CommonObject
/** /**
* getMailOnResiliate * getMailOnResiliate
*
* @return Return mail model * @return Return mail model
*/ */
function getMailOnResiliate() function getMailOnResiliate()

View File

@ -45,12 +45,12 @@ class AdherentStats extends Stats
/** /**
* Constructor * Constructor
* *
* @param DoliDB $DB Database handler * @param $DB Database handler
* @param int $socid Id third party * @param $socid Id third party
* @param int $userid Id user for filter * @param $userid Id user for filter
* @return AdherentStats * @return AdherentStats
*/ */
function AdherentStats($DB, $socid=0, $userid=0) function AdherentStats($DB, $socid=0, $userid=0)
{ {

View File

@ -49,9 +49,8 @@ class Cotisation extends CommonObject
/** /**
* Constructor * \brief Constructor
* * \param DB Handler base de donnees
* @param DoliDB $DB Database handler
*/ */
function Cotisation($DB) function Cotisation($DB)
{ {
@ -60,10 +59,9 @@ class Cotisation extends CommonObject
/** /**
* Fonction qui permet de creer la cotisation * \brief Fonction qui permet de creer la cotisation
* * \param userid userid de celui qui insere
* @param userid userid de celui qui insere * \return int <0 si KO, Id cotisation cree si OK
* @return int <0 si KO, Id cotisation cree si OK
*/ */
function create($userid) function create($userid)
{ {
@ -97,10 +95,9 @@ class Cotisation extends CommonObject
/** /**
* Fonction qui permet de recuperer une cotisation * \brief Fonction qui permet de recuperer une cotisation
* * \param rowid Id cotisation
* @param rowid Id cotisation * \return int <0 si KO, =0 si OK mais non trouve, >0 si OK
* @return int <0 si KO, =0 si OK mais non trouve, >0 si OK
*/ */
function fetch($rowid) function fetch($rowid)
{ {
@ -147,11 +144,10 @@ class Cotisation extends CommonObject
/** /**
* Met a jour en base la cotisation * \brief Met a jour en base la cotisation
* * \param user Objet user qui met a jour
* @param user Objet user qui met a jour * \param notrigger 0=Desactive les triggers
* @param notrigger 0=Desactive les triggers * \param int <0 if KO, >0 if OK
* @param int <0 if KO, >0 if OK
*/ */
function update($user,$notrigger=0) function update($user,$notrigger=0)
{ {
@ -188,10 +184,9 @@ class Cotisation extends CommonObject
} }
/** /**
* Delete a subscription * \brief Delete a subscription
* * \param rowid Id cotisation
* @param rowid Id cotisation * \return int <0 si KO, 0 si OK mais non trouve, >0 si OK
* @return int <0 si KO, 0 si OK mais non trouve, >0 si OK
*/ */
function delete($user) function delete($user)
{ {
@ -255,10 +250,9 @@ class Cotisation extends CommonObject
/** /**
* Renvoie nom clicable (avec eventuellement le picto) * \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 withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul * \return string Chaine avec URL
* @return string Chaine avec URL
*/ */
function getNomUrl($withpicto=0) function getNomUrl($withpicto=0)
{ {
@ -280,9 +274,8 @@ class Cotisation extends CommonObject
/** /**
* Charge les informations d'ordre info dans l'objet cotisation * \brief Charge les informations d'ordre info dans l'objet cotisation
* * \param id Id adhesion a charger
* @param id Id adhesion a charger
*/ */
function info($id) function info($id)
{ {

View File

@ -168,7 +168,7 @@ dol_fiche_head($head, $tab, $langs->trans("Statistics"), 0, 'user');
// Print title // Print title
if ($mode && ! count($data)) if ($mode && ! sizeof($data))
{ {
print $langs->trans("NoValidatedMemberYet").'<br>'; print $langs->trans("NoValidatedMemberYet").'<br>';
print '<br>'; print '<br>';
@ -202,7 +202,7 @@ if ($mode == 'memberbycountry')
print "function drawMap() {\n\tvar data = new google.visualization.DataTable();\n"; print "function drawMap() {\n\tvar data = new google.visualization.DataTable();\n";
// Get the total number of rows // Get the total number of rows
print "\tdata.addRows(".count($data).");\n"; print "\tdata.addRows(".sizeof($data).");\n";
print "\tdata.addColumn('string', 'Country');\n"; print "\tdata.addColumn('string', 'Country');\n";
print "\tdata.addColumn('number', 'Number');\n"; print "\tdata.addColumn('number', 'Number');\n";

View File

@ -27,7 +27,6 @@ require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT."/includes/triggers/interface_modNotification_Notification.class.php"); require_once(DOL_DOCUMENT_ROOT."/includes/triggers/interface_modNotification_Notification.class.php");
$langs->load("admin"); $langs->load("admin");
$langs->load("mails");
// Security check // Security check
if (!$user->admin) if (!$user->admin)
@ -64,7 +63,7 @@ print_fiche_titre($langs->trans("NotificationSetup"),$linkback,'setup');
print $langs->trans("NotificationsDesc").'<br><br>'; print $langs->trans("NotificationsDesc").'<br><br>';
dol_htmloutput_mesg($mesg); if ($mesg) print $mesg.'<br>';
print '<form method="post" action="'.$_SERVER["PHP_SELF"].'">'; print '<form method="post" action="'.$_SERVER["PHP_SELF"].'">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
@ -81,7 +80,6 @@ $var=!$var;
print '<tr '.$bc[$var].'><td>'; print '<tr '.$bc[$var].'><td>';
print $langs->trans("NotificationEMailFrom").'</td><td>'; print $langs->trans("NotificationEMailFrom").'</td><td>';
print '<input size="32" type="text" name="email_from" value="'.$conf->global->NOTIFICATION_EMAIL_FROM.'">'; 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 '</td></tr>';
print '</table>'; print '</table>';
@ -123,4 +121,5 @@ $db->close();
llxFooter(); llxFooter();
?> ?>

View File

@ -1,7 +1,6 @@
<?php <?php
/* Copyright (C) 2010 Regis Houssin <regis@dolibarr.fr> /* Copyright (C) 2010 Regis Houssin <regis@dolibarr.fr>
* Copyright (C) 2011 Laurent Destailleur <eldy@users.sourceforge.net> * 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 * 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 * it under the terms of the GNU General Public License as published by
@ -43,27 +42,16 @@ $action=GETPOST('action');
* Actions * Actions
*/ */
if ($action == 'updateMask') if ($_POST["action"] == 'updateMask')
{ {
$maskconstproject=GETPOST("maskconstproject"); $maskconstproject=$_POST['maskconstproject'];
$maskproject=GETPOST("maskproject"); $maskproject=$_POST['maskproject'];
if ($maskconstproject) $res = dolibarr_set_const($db,$maskconstproject,$maskproject,'chaine',0,'',$conf->entity); if ($maskconstproject) 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 ($action == 'specimen') if ($_GET["action"] == 'specimen')
{ {
$modele=GETPOST("module"); $modele=$_GET["module"];
$project = new Project($db); $project = new Project($db);
$project->initAsSpecimen(); $project->initAsSpecimen();
@ -96,16 +84,13 @@ if ($action == 'specimen')
} }
} }
if ($action == 'set') if ($_GET["action"] == 'set')
{ {
$label = GETPOST("label");
$scandir = GETPOST("scandir");
$type='project'; $type='project';
$sql = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity, libelle, description)"; $sql = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity, libelle, description)";
$sql.= " VALUES ('".$db->escape($value)."','".$type."',".$conf->entity.", "; $sql.= " VALUES ('".$db->escape($_GET["value"])."','".$type."',".$conf->entity.", ";
$sql.= ($label?"'".$db->escape($label)."'":'null').", "; $sql.= ($_GET["label"]?"'".$db->escape($_GET["label"])."'":'null').", ";
$sql.= (! empty($scandir)?"'".$db->escape($scandir)."'":"null"); $sql.= (! empty($_GET["scandir"])?"'".$db->escape($_GET["scandir"])."'":"null");
$sql.= ")"; $sql.= ")";
if ($db->query($sql)) if ($db->query($sql))
{ {
@ -113,7 +98,7 @@ if ($action == 'set')
} }
} }
if ($action == 'del') if ($_GET["action"] == 'del')
{ {
$type='project'; $type='project';
$sql = "DELETE FROM ".MAIN_DB_PREFIX."document_model"; $sql = "DELETE FROM ".MAIN_DB_PREFIX."document_model";
@ -126,30 +111,27 @@ if ($action == 'del')
} }
} }
if ($action == 'setdoc') if ($_GET["action"] == 'setdoc')
{ {
$label = GETPOST("label");
$scandir = GETPOST("scandir");
$db->begin(); $db->begin();
if (dolibarr_set_const($db, "PROJECT_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) if (dolibarr_set_const($db, "PROJECT_ADDON_PDF",$_GET["value"],'chaine',0,'',$conf->entity))
{ {
$conf->global->PROJECT_ADDON_PDF = $value; $conf->global->PROJECT_ADDON_PDF = $_GET["value"];
} }
// On active le modele // On active le modele
$type='project'; $type='project';
$sql_del = "DELETE FROM ".MAIN_DB_PREFIX."document_model"; $sql_del = "DELETE FROM ".MAIN_DB_PREFIX."document_model";
$sql_del.= " WHERE nom = '".$db->escape($value)."'"; $sql_del.= " WHERE nom = '".$db->escape($_GET["value"])."'";
$sql_del.= " AND type = '".$type."'"; $sql_del.= " AND type = '".$type."'";
$sql_del.= " AND entity = ".$conf->entity; $sql_del.= " AND entity = ".$conf->entity;
$result1=$db->query($sql_del); $result1=$db->query($sql_del);
$sql = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity, libelle, description)"; $sql = "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity, libelle, description)";
$sql.= " VALUES ('".$db->escape($value)."', '".$type."', ".$conf->entity.", "; $sql.= " VALUES ('".$db->escape($_GET["value"])."', '".$type."', ".$conf->entity.", ";
$sql.= ($label?"'".$db->escape($label)."'":'null').", "; $sql.= ($_GET["label"]?"'".$db->escape($_GET["label"])."'":'null').", ";
$sql.= (! empty($scandir)?"'".$db->escape($scandir)."'":"null"); $sql.= (! empty($_GET["scandir"])?"'".$db->escape($_GET["scandir"])."'":"null");
$sql.= ")"; $sql.= ")";
$result2=$db->query($sql); $result2=$db->query($sql);
if ($result1 && $result2) if ($result1 && $result2)
@ -162,7 +144,7 @@ if ($action == 'setdoc')
} }
} }
if ($action == 'setmod') if ($_GET["action"] == 'setmod')
{ {
// TODO Verifier si module numerotation choisi peut etre active // TODO Verifier si module numerotation choisi peut etre active
// par appel methode canBeActivated // par appel methode canBeActivated
@ -398,9 +380,5 @@ if (is_resource($handle))
print '</table><br/>'; print '</table><br/>';
dol_htmloutput_mesg($mesg);
$db->close();
llxFooter(); llxFooter();
?> ?>

View File

@ -380,7 +380,7 @@ class FormMail
$liste=array(); $liste=array();
$soc=new Societe($this->db); $soc=new Societe($this->db);
$soc->fetch($this->withtosocid); $soc->fetch($this->withtosocid);
foreach ($soc->thirdparty_and_contact_email_array(1) as $key=>$value) foreach ($soc->thirdparty_and_contact_email_array() as $key=>$value)
{ {
$liste[$key]=$value; $liste[$key]=$value;
} }
@ -414,7 +414,7 @@ class FormMail
$liste=array(); $liste=array();
$soc=new Societe($this->db); $soc=new Societe($this->db);
$soc->fetch($this->withtoccsocid); $soc->fetch($this->withtoccsocid);
foreach ($soc->thirdparty_and_contact_email_array(1) as $key=>$value) foreach ($soc->thirdparty_and_contact_email_array() as $key=>$value)
{ {
$liste[$key]=$value; $liste[$key]=$value;
} }
@ -448,7 +448,7 @@ class FormMail
$liste=array(); $liste=array();
$soc=new Societe($this->db); $soc=new Societe($this->db);
$soc->fetch($this->withtosocid); $soc->fetch($this->withtosocid);
foreach ($soc->thirdparty_and_contact_email_array(1) as $key=>$value) foreach ($soc->thirdparty_and_contact_email_array() as $key=>$value)
{ {
$liste[$key]=$value; $liste[$key]=$value;
} }

View File

@ -193,7 +193,7 @@ else
else else
{ {
# If failed, we try to create an empty file # 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.", LOG_WARNING); dolibarr_install_syslog("failed to copy file ".$conffile.".example into ".$conffile.". We try to create it.");
$fp = @fopen($conffile, "w"); $fp = @fopen($conffile, "w");
if ($fp) if ($fp)
@ -203,7 +203,6 @@ else
@fputs($fp,"?>"); @fputs($fp,"?>");
fclose($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 // First install, on ne peut pas upgrader

View File

@ -1545,16 +1545,14 @@ class Societe extends CommonObject
/** /**
* Return list of contacts emails existing for third party * 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($addthirdparty=0) function thirdparty_and_contact_email_array()
{ {
global $langs; global $langs;
$contact_emails = $this->contact_property_array('email'); $contact_emails = $this->contact_property_array('email');
if ($this->email && $addthirdparty) if ($this->email)
{ {
if (empty($this->name)) $this->name=$this->nom; if (empty($this->name)) $this->name=$this->nom;
// TODO: Tester si email non deja present dans tableau contact // TODO: Tester si email non deja present dans tableau contact
@ -1565,7 +1563,6 @@ class Societe extends CommonObject
/** /**
* Return list of contacts mobile phone existing for third party * Return list of contacts mobile phone existing for third party
*
* @return array Array of contacts emails * @return array Array of contacts emails
*/ */
function thirdparty_and_contact_phone_array() function thirdparty_and_contact_phone_array()
@ -1584,7 +1581,6 @@ class Societe extends CommonObject
/** /**
* Return list of contacts emails or mobile existing for third party * Return list of contacts emails or mobile existing for third party
*
* @param mode 'email' or 'mobile' * @param mode 'email' or 'mobile'
* @return array Array of contacts emails or mobile * @return array Array of contacts emails or mobile
*/ */
@ -1595,7 +1591,6 @@ class Societe extends CommonObject
$sql = "SELECT rowid, email, phone_mobile, name, firstname"; $sql = "SELECT rowid, email, phone_mobile, name, firstname";
$sql.= " FROM ".MAIN_DB_PREFIX."socpeople"; $sql.= " FROM ".MAIN_DB_PREFIX."socpeople";
$sql.= " WHERE fk_soc = '".$this->id."'"; $sql.= " WHERE fk_soc = '".$this->id."'";
$resql=$this->db->query($sql); $resql=$this->db->query($sql);
if ($resql) if ($resql)
{ {
@ -1622,9 +1617,8 @@ class Societe extends CommonObject
/** /**
* Renvoie la liste des contacts de cette societe * \brief Renvoie la liste des contacts de cette societe
* * \return array tableau des contacts
* @return array tableau des contacts
*/ */
function contact_array() function contact_array()
{ {
@ -1655,7 +1649,6 @@ class Societe extends CommonObject
/** /**
* Return property of contact from its id * Return property of contact from its id
*
* @param rowid id of contact * @param rowid id of contact
* @param mode 'email' or 'mobile' * @param mode 'email' or 'mobile'
* @return string email of contact * @return string email of contact
@ -1691,9 +1684,7 @@ class Societe extends CommonObject
/** /**
* Return bank number property of thirdparty * \brief Affiche le rib
*
* @return string Bank number
*/ */
function display_rib() function display_rib()
{ {

View File

@ -33,12 +33,8 @@ $langs->load("mails");
$langs->load("admin"); $langs->load("admin");
$langs->load("other"); $langs->load("other");
$socid = GETPOST("socid",'int');
$action = GETPOST('action');
$contactid=GETPOST('contactid'); // May be an int or 'thirdparty'
$actionid=GETPOST('actionid');
// Security check // Security check
$socid = isset($_GET["socid"])?$_GET["socid"]:'';
if ($user->societe_id) $socid=$user->societe_id; if ($user->societe_id) $socid=$user->societe_id;
$result = restrictedArea($user, 'societe','',''); $result = restrictedArea($user, 'societe','','');
@ -52,71 +48,41 @@ $pagenext = $page + 1;
if (! $sortorder) $sortorder="ASC"; if (! $sortorder) $sortorder="ASC";
if (! $sortfield) $sortfield="c.name"; if (! $sortfield) $sortfield="c.name";
$now=dol_now();
/* /*
* Actions * Action
*/ */
// Add a notification // Add a notification
if ($action == 'add') if ($_POST["action"] == 'add')
{ {
$error=0; $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"].")";
if (empty($contactid)) if ($db->query($sql))
{ {
$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++;
}
if (! $error) }
{ else
$db->begin(); {
dol_print_error($db);
$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)) else
{ {
$sql = "INSERT INTO ".MAIN_DB_PREFIX."notify_def (datec,fk_soc, fk_contact, fk_action)"; dol_print_error($db);
$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 // Remove a notification
if ($action == 'delete') if ($_GET["action"] == 'delete')
{ {
$sql = "DELETE FROM ".MAIN_DB_PREFIX."notify_def where rowid=".$_GET["actid"].";"; $sql = "DELETE FROM ".MAIN_DB_PREFIX."notify_def where rowid=".$_GET["actid"].";";
$db->query($sql); $db->query($sql);
} }
@ -129,106 +95,79 @@ $form = new Form($db);
llxHeader(); llxHeader();
$object = new Societe($db); $soc = new Societe($db);
$result=$object->fetch($socid); $soc->id = $socid;
if ($result > 0) if ( $soc->fetch($soc->id) )
{ {
$html = new Form($db); $html = new Form($db);
$langs->load("other"); $langs->load("other");
$head = societe_prepare_head($object); $head = societe_prepare_head($soc);
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 '<tr><td width="20%">'.$langs->trans("ThirdPartyName").'</td><td colspan="3">';
print $form->showrefnav($object,'socid','',($user->societe_id?0:1),'rowid','nom'); print $form->showrefnav($soc,'socid','',($user->societe_id?0:1),'rowid','nom');
print '</td></tr>'; print '</td></tr>';
// Prefix print '<tr><td width="30%">'.$langs->trans("NbOfActiveNotifications").'</td>';
if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field print '<td colspan="3">';
{ $sql = "SELECT COUNT(n.rowid) as nb";
print '<tr><td>'.$langs->trans('Prefix').'</td><td colspan="3">'.$object->prefix_comm.'</td></tr>'; $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>';
if ($object->client) print '</div>';
{
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>';
dol_fiche_end(); // Help
print $langs->trans("NotificationsDesc").'<br><br>';
print "\n"; print "\n";
// Add notification form // Add notification form
print_fiche_titre($langs->trans("AddNewNotification"),'',''); print_fiche_titre($langs->trans("AddNewNotification"),'','');
print '<form action="fiche.php?socid='.$socid.'" method="post">'; print '<form action="fiche.php?socid='.$socid.'" method="post">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'; print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="add">';
$param="&socid=".$socid; // Line with titles
print '<table width="100%" class="noborder">';
// Line with titles print '<tr class="liste_titre">';
print '<table width="100%" class="noborder">'; $param="&socid=".$socid;
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("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("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($langs->trans("Type"),"fiche.php","",'',$param,'"width="10%"',$sortfield,$sortorder);
print_liste_field_titre(''); print '<td>&nbsp;</td>';
print '</tr>'; print '</tr>';
$var=false; $var=false;
$listofemails=$object->thirdparty_and_contact_email_array(); if (count($soc->thirdparty_and_contact_email_array()) > 0)
if (count($listofemails) > 0) {
{ $actions=array();
$actions=array();
// Load array of available notifications // Load array of available notifications
$notificationtrigger=new InterfaceNotification($db); $notificationtrigger=new InterfaceNotification($db);
@ -239,174 +178,173 @@ if ($result > 0)
$label=$langs->trans("Notify_".$notifiedevent['code'])!=$langs->trans("Notify_".$notifiedevent['code'])?$langs->trans("Notify_".$notifiedevent['code']):$notifiedevent['label']; $label=$langs->trans("Notify_".$notifiedevent['code'])!=$langs->trans("Notify_".$notifiedevent['code'])?$langs->trans("Notify_".$notifiedevent['code']):$notifiedevent['label'];
$actions[$notifiedevent['rowid']]=$label; $actions[$notifiedevent['rowid']]=$label;
} }
print '<tr '.$bc[$var].'><td>'; print '<input type="hidden" name="action" value="add">';
print $html->selectarray("contactid",$listofemails); print '<tr '.$bc[$var].'><td>';
print '</td>'; print $html->selectarray("contactid",$soc->thirdparty_and_contact_email_array());
print '<td>'; print '</td>';
print $html->selectarray("actionid",$actions,'',1); print '<td>';
print '</td>'; print $html->selectarray("actionid",$actions,'',1);
print '</td>';
print '<td>'; print '<td>';
$type=array('email'=>$langs->trans("EMail")); $type=array('email'=>$langs->trans("EMail"));
print $html->selectarray("typeid",$type); print $html->selectarray("typeid",$type);
print '</td>'; print '</td>';
print '<td align="right"><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>'; print '<td align="right"><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
print '</tr>'; print '</tr>';
} }
else else
{ {
print '<tr '.$bc[$var].'><td colspan="4">'; print '<tr '.$bc[$var].'><td colspan="4">';
print $langs->trans("YouMustCreateContactFirst"); print $langs->trans("YouMustCreateContactFirst");
print '</td></tr>'; print '</td></tr>';
} }
print '</table>'; print '</table>';
print '</form>'; print '</form>';
print '<br>'; print '<br>';
dol_htmloutput_mesg($mesg);
// List of active notifications // List of active notifications
print_fiche_titre($langs->trans("ListOfActiveNotifications"),'',''); print_fiche_titre($langs->trans("ListOfActiveNotifications"),'','');
$var=true; $var=true;
// Line with titles // Line with titles
print '<table width="100%" class="noborder">'; print '<table width="100%" class="noborder">';
print '<tr class="liste_titre">'; 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("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("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($langs->trans("Type"),"fiche.php","",'',$param,'"width="10%"',$sortfield,$sortorder);
print_liste_field_titre('','',''); print_liste_field_titre('','','');
print '</tr>'; print '</tr>';
// List of notifications for contacts // List of notifications for contacts
$sql = "SELECT n.rowid, n.type,"; $sql = "SELECT n.rowid, n.type,";
$sql.= " a.code, a.label,"; $sql.= " a.code, a.label,";
$sql.= " c.rowid as contactid, c.name, c.firstname, c.email"; $sql.= " c.rowid as contactid, c.name, c.firstname, c.email";
$sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,"; $sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,";
$sql.= " ".MAIN_DB_PREFIX."notify_def as n,"; $sql.= " ".MAIN_DB_PREFIX."notify_def as n,";
$sql.= " ".MAIN_DB_PREFIX."socpeople c"; $sql.= " ".MAIN_DB_PREFIX."socpeople c";
$sql.= " WHERE a.rowid = n.fk_action"; $sql.= " WHERE a.rowid = n.fk_action";
$sql.= " AND c.rowid = n.fk_contact"; $sql.= " AND c.rowid = n.fk_contact";
$sql.= " AND c.fk_soc = ".$object->id; $sql.= " AND c.fk_soc = ".$soc->id;
$resql=$db->query($sql); $resql=$db->query($sql);
if ($resql) if ($resql)
{ {
$num = $db->num_rows($resql); $num = $db->num_rows($resql);
$i = 0; $i = 0;
$contactstatic=new Contact($db); $contactstatic=new Contact($db);
while ($i < $num) while ($i < $num)
{ {
$var = !$var; $var = !$var;
$obj = $db->fetch_object($resql); $obj = $db->fetch_object($resql);
$contactstatic->id=$obj->contactid; $contactstatic->id=$obj->contactid;
$contactstatic->name=$obj->name; $contactstatic->name=$obj->name;
$contactstatic->firstname=$obj->firstname; $contactstatic->firstname=$obj->firstname;
print '<tr '.$bc[$var].'><td>'.$contactstatic->getNomUrl(1); print '<tr '.$bc[$var].'><td>'.$contactstatic->getNomUrl(1);
if ($obj->type == 'email') if ($obj->type == 'email')
{ {
if (isValidEmail($obj->email)) if (isValidEmail($obj->email))
{ {
print ' &lt;'.$obj->email.'&gt;'; print ' &lt;'.$obj->email.'&gt;';
} }
else else
{ {
$langs->load("errors"); $langs->load("errors");
print ' &nbsp; '.img_warning().' '.$langs->trans("ErrorBadEMail",$obj->email); print ' &nbsp; '.img_warning().' '.$langs->trans("ErrorBadEMail",$obj->email);
} }
} }
print '</td>'; print '</td>';
print '<td>'; print '<td>';
$label=($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label); $label=($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label);
print $label; print $label;
print '</td>'; print '</td>';
print '<td>'; print '<td>';
if ($obj->type == 'email') print $langs->trans("Email"); if ($obj->type == 'email') print $langs->trans("Email");
if ($obj->type == 'sms') print $langs->trans("SMS"); if ($obj->type == 'sms') print $langs->trans("SMS");
print '</td>'; print '</td>';
print '<td align="right"><a href="fiche.php?socid='.$socid.'&action=delete&actid='.$obj->rowid.'">'.img_delete().'</a></td>'; print '<td align="right"><a href="fiche.php?socid='.$socid.'&action=delete&actid='.$obj->rowid.'">'.img_delete().'</a></td>';
print '</tr>'; print '</tr>';
$i++; $i++;
} }
$db->free($resql); $db->free($resql);
} }
else else
{ {
dol_print_error($db); dol_print_error($db);
} }
print '</table>'; print '</table>';
print '<br>'; print '<br>';
// List of notifications done // List of notifications done
print_fiche_titre($langs->trans("ListOfNotificationsDone"),'',''); print_fiche_titre($langs->trans("ListOfNotificationsDone"),'','');
$var=true; $var=true;
// Line with titles // Line with titles
print '<table width="100%" class="noborder">'; print '<table width="100%" class="noborder">';
print '<tr class="liste_titre">'; 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("Contact"),"fiche.php","c.name",'',"&socid=$socid",'',$sortfield,$sortorder);
print_liste_field_titre($langs->trans("Action"),"fiche.php","a.titre",'',$param,'',$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.daten",'',$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Date"),"fiche.php","a.titre",'',"&socid=$socid",'align="right"',$sortfield,$sortorder);
print '</tr>'; print '</tr>';
// List // List
$sql = "SELECT n.rowid, n.daten, n.email, n.objet_type, n.objet_id,"; $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.= " c.rowid as id, c.name, c.firstname, c.email,";
$sql.= " a.code, a.label"; $sql.= " a.code, a.label";
$sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,"; $sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger as a,";
$sql.= " ".MAIN_DB_PREFIX."notify as n, "; $sql.= " ".MAIN_DB_PREFIX."notify as n, ";
$sql.= " ".MAIN_DB_PREFIX."socpeople as c"; $sql.= " ".MAIN_DB_PREFIX."socpeople as c";
$sql.= " WHERE a.rowid = n.fk_action"; $sql.= " WHERE a.rowid = n.fk_action";
$sql.= " AND c.rowid = n.fk_contact"; $sql.= " AND c.rowid = n.fk_contact";
$sql.= " AND c.fk_soc = ".$object->id; $sql.= " AND c.fk_soc = ".$soc->id;
$resql=$db->query($sql); $resql=$db->query($sql);
if ($resql) if ($resql)
{ {
$num = $db->num_rows($resql); $num = $db->num_rows($resql);
$i = 0; $i = 0;
$contactstatic=new Contact($db); $contactstatic=new Contact($db);
while ($i < $num) while ($i < $num)
{ {
$var = !$var; $var = !$var;
$obj = $db->fetch_object($resql); $obj = $db->fetch_object($resql);
$contactstatic->id=$obj->id; $contactstatic->id=$obj->id;
$contactstatic->name=$obj->name; $contactstatic->name=$obj->name;
$contactstatic->firstname=$obj->firstname; $contactstatic->firstname=$obj->firstname;
print '<tr '.$bc[$var].'><td>'.$contactstatic->getNomUrl(1); print '<tr '.$bc[$var].'><td>'.$contactstatic->getNomUrl(1);
print $obj->email?' &lt;'.$obj->email.'&gt;':$langs->trans("NoMail"); print $obj->email?' &lt;'.$obj->email.'&gt;':$langs->trans("NoMail");
print '</td>'; print '</td>';
print '<td>'; print '<td>';
$label=($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label); $label=($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->label);
print $label; print $label;
print '</td>'; print '</td>';
// TODO Add link to object here // TODO Add link to object here
// print // print
print'<td align="right">'.dol_print_date($db->jdate($obj->daten), 'dayhour').'</td>'; print'<td align="right">'.dol_print_date($db->jdate($obj->daten), 'dayhour').'</td>';
print '</tr>'; print '</tr>';
$i++; $i++;
} }
$db->free($resql); $db->free($resql);
} }
else else
{ {
dol_print_error($db); dol_print_error($db);
} }
print '</table>'; print '</table>';
} }
else dol_print_error('','RecordNotFound');
$db->close(); $db->close();

View File

@ -1248,7 +1248,6 @@ th.liste_titre, td.liste_titre
font-weight: normal; font-weight: normal;
/* border-bottom: 1px solid #FDFFFF; */ /* border-bottom: 1px solid #FDFFFF; */
white-space: nowrap; white-space: nowrap;
text-align: <?php echo $left; ?>;
} }
th.liste_titre_sel, td.liste_titre_sel th.liste_titre_sel, td.liste_titre_sel
{ {
@ -1261,7 +1260,6 @@ th.liste_titre_sel, td.liste_titre_sel
/* text-decoration: underline; */ /* text-decoration: underline; */
/* border-bottom: 1px solid #FDFFFF; */ /* border-bottom: 1px solid #FDFFFF; */
white-space: nowrap; white-space: nowrap;
text-align: <?php echo $left; ?>;
} }
input.liste_titre { input.liste_titre {
background: transparent; background: transparent;

View File

@ -1439,7 +1439,6 @@ th.liste_titre, td.liste_titre
white-space: nowrap; white-space: nowrap;
background-image: none; background-image: none;
background: none; background: none;
text-align: <?php echo $left; ?>;
} }
/*tr.liste_titre select.flat { /*tr.liste_titre select.flat {
@ -1455,8 +1454,7 @@ tr.liste_titre input.button {
/*margin: 30px 10px 10px 0px;*/ /*margin: 30px 10px 10px 0px;*/
} }
th.liste_titre_sel, td.liste_titre_sel td.liste_titre_sel {
{
background: #505050; background: #505050;
background-repeat: repeat-x; background-repeat: repeat-x;
color: #FFFFFF; color: #FFFFFF;
@ -1465,7 +1463,6 @@ th.liste_titre_sel, td.liste_titre_sel
/* text-decoration: underline; */ /* text-decoration: underline; */
/* border-bottom: 1px solid #FDFFFF; */ /* border-bottom: 1px solid #FDFFFF; */
white-space: nowrap; white-space: nowrap;
text-align: <?php echo $left; ?>;
} }
input.liste_titre { input.liste_titre {

View File

@ -1355,7 +1355,6 @@ th.liste_titre, td.liste_titre
padding-left: 6px; padding-left: 6px;
padding-right: 6px; padding-right: 6px;
/*vertical-align: text-top;*/ /*vertical-align: text-top;*/
text-align: <?php echo $left; ?>;
} }
th.liste_titre_sel, td.liste_titre_sel th.liste_titre_sel, td.liste_titre_sel
{ {
@ -1363,7 +1362,6 @@ th.liste_titre_sel, td.liste_titre_sel
color: #A51B00; color: #A51B00;
font-weight: bold; font-weight: bold;
white-space: nowrap; white-space: nowrap;
text-align: <?php echo $left; ?>;
} }
input.liste_titre { input.liste_titre {

View File

@ -1266,7 +1266,6 @@ th.liste_titre, td.liste_titre
font-weight: normal; font-weight: normal;
border-bottom: 1px solid #FDFFFF; border-bottom: 1px solid #FDFFFF;
white-space: nowrap; white-space: nowrap;
text-align: <?php echo $left; ?>;
} }
th.liste_titre_sel, td.liste_titre_sel th.liste_titre_sel, td.liste_titre_sel
{ {
@ -1278,7 +1277,6 @@ th.liste_titre_sel, td.liste_titre_sel
font-weight: normal; font-weight: normal;
border-bottom: 1px solid #FDFFFF; border-bottom: 1px solid #FDFFFF;
white-space: nowrap; white-space: nowrap;
text-align: <?php echo $left; ?>;
} }
input.liste_titre { input.liste_titre {
background: #7699A9; background: #7699A9;

View File

@ -316,37 +316,33 @@ padding: 0px 0px;
tr.liste_titre tr.liste_titre {
{ height: 24px;
height: 24px; background: -moz-linear-gradient(center top , #81A8CE, #5E87B0) repeat scroll 0 0 #5E87B0;
background: -moz-linear-gradient(center top , #81A8CE, #5E87B0) repeat scroll 0 0 #5E87B0; border: 1px solid #456F9A;
border: 1px solid #456F9A; color: #FFFFFF;
color: #FFFFFF; font-family: <?php print $fontlist ?>;
font-family: <?php print $fontlist ?>; /* border-bottom: 1px solid #FDFFFF; */
/* border-bottom: 1px solid #FDFFFF; */ white-space: nowrap;
white-space: nowrap;
} }
th.liste_titre, td.liste_titre td.liste_titre {
{ background: -moz-linear-gradient(center top , #81A8CE, #5E87B0) repeat scroll 0 0 #5E87B0;
background: -moz-linear-gradient(center top , #81A8CE, #5E87B0) repeat scroll 0 0 #5E87B0; border: 1px solid #456F9A;
border: 1px solid #456F9A; color: #FFFFFF;
color: #FFFFFF; font-family: <?php print $fontlist ?>;
font-family: <?php print $fontlist ?>; font-weight: normal;
font-weight: normal; /* border-bottom: 1px solid #FDFFFF; */
/* border-bottom: 1px solid #FDFFFF; */ white-space: nowrap;
white-space: nowrap;
text-align: <?php echo $left; ?>;
} }
th.liste_titre_sel, td.liste_titre_sel td.liste_titre_sel
{ {
background: -moz-linear-gradient(center top , #81A8CE, #5E87B0) repeat scroll 0 0 #5E87B0; background: -moz-linear-gradient(center top , #81A8CE, #5E87B0) repeat scroll 0 0 #5E87B0;
color: #FFFFFF; color: #FFFFFF;
font-family: <?php print $fontlist ?>; font-family: <?php print $fontlist ?>;
font-weight: normal; font-weight: normal;
/* text-decoration: underline; */ /* text-decoration: underline; */
/* border-bottom: 1px solid #FDFFFF; */ /* border-bottom: 1px solid #FDFFFF; */
white-space: nowrap; white-space: nowrap;
text-align: <?php echo $left; ?>;
} }
input.liste_titre { input.liste_titre {
background: transparent; background: transparent;