* Copyright (C) 2004-2006 Laurent Destailleur * * 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 * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /** \file htdocs/societe/notify/fiche.php \ingroup societe, notification \brief Onglet notifications pour une societe \version $Id$ */ require("pre.inc.php"); require_once(DOL_DOCUMENT_ROOT."/lib/company.lib.php"); require_once(DOL_DOCUMENT_ROOT."/contact.class.php"); $langs->load("companies"); $langs->load("mails"); // Security check $socid = isset($_GET["socid"])?$_GET["socid"]:''; if ($user->societe_id) $socid=$user->societe_id; $result = restrictedArea($user, 'societe','',''); $sortorder=$_GET["sortorder"]; $sortfield=$_GET["sortfield"]; if (! $sortorder) $sortorder="ASC"; if (! $sortfield) $sortfield="c.name"; /* * View */ llxHeader(); /* * Action ajout notification */ if ($_POST["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"].")"; if ($db->query($sql)) { } else { dolibarr_print_error($db); } } else { dolibarr_print_error($db); } } /* * Action suppression notification */ if ($_GET["action"] == 'delete') { $sql = "DELETE FROM ".MAIN_DB_PREFIX."notify_def where rowid=".$_GET["actid"].";"; $db->query($sql); } /* * Affichage notifications * */ $soc = new Societe($db); $soc->id = $socid; if ( $soc->fetch($soc->id) ) { $html = new Form($db); $langs->load("other"); /* * Affichage onglets */ $head = societe_prepare_head($soc); dolibarr_fiche_head($head, 'notify', $soc->nom); print ''; print ''; print ''; print ''; print '
'.$langs->trans("Name").''.$soc->nom.'
'.$langs->trans("NbOfActiveNotifications").''; $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 { dolibarr_print_error($db); } print $nb; print '
'; print ''; print "\n"; if(count($soc->contact_email_array()) > 0) { print_fiche_titre($langs->trans("AddNewNotification")); print '
'; // Ligne de titres print ''; print ''; print_liste_field_titre($langs->trans("Contact"),"fiche.php","c.name",'',"&socid=$socid",'"width="45%"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Action"),"fiche.php","a.titre",'',"&socid=$socid",'"width="45%"',$sortfield,$sortorder); print ''; print ''; // Charge tableau $actions $sql = "SELECT a.rowid, a.code, a.titre"; $sql.= " FROM ".MAIN_DB_PREFIX."action_def as a"; $resql=$db->query($sql); if ($resql) { $num = $db->num_rows($resql); $i = 0; while ($i < $num) { $obj = $db->fetch_object($resql); $libelle=($langs->trans("Notify_".$obj->code)!="Notify_".$obj->code?$langs->trans("Notify_".$obj->code):$obj->titre); $actions[$obj->rowid] = $libelle; $i++; } $db->free($resql); } else { dolibarr_print_error($db); } $var=false; print ''; print ''; print ''; print ''; print ''; print '
 
'; $html->select_array("contactid",$soc->contact_email_array()); print ''; $html->select_array("actionid",$actions); print '
'; print '
'; print '
'; } print_fiche_titre($langs->trans("ListOfActiveNotifications")); $var=true; // Ligne de titres print ''; print ''; print_liste_field_titre($langs->trans("Contact"),"fiche.php","c.name",'',"&socid=$socid",'"width="45%"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Action"),"fiche.php","a.titre",'',"&socid=$socid",'"width="45%"',$sortfield,$sortorder); print ''; print ''; // Liste $sql = "SELECT c.rowid as id, c.name, c.firstname, a.titre, n.rowid"; $sql.= " FROM ".MAIN_DB_PREFIX."socpeople as c, ".MAIN_DB_PREFIX."action_def as a, ".MAIN_DB_PREFIX."notify_def as n"; $sql.= " WHERE n.fk_contact = c.rowid AND a.rowid = n.fk_action AND n.fk_soc = ".$soc->id; $resql=$db->query($sql); if ($resql) { $num = $db->num_rows($resql); $i = 0; $contactstatic=new Contact($db); while ($i < $num) { $var = !$var; $obj = $db->fetch_object($resql); $contactstatic->id=$obj->id; $contactstatic->name=$obj->name; $contactstatic->firstname=$obj->firstname; print ''; print ''; print''; $i++; } $db->free($resql); } else { dolibarr_print_error($db); } print '
 
'.$contactstatic->getNomUrl(1).''.$obj->titre.''.img_delete().''; print '
'; } $db->close(); llxFooter('$Date$ - $Revision$'); ?>