Nouveau fichier

This commit is contained in:
Rodolphe Quiedeville 2007-07-10 14:09:05 +00:00
parent 1859294acf
commit 9c27705ba6
2 changed files with 260 additions and 0 deletions

View File

@ -0,0 +1,129 @@
<?PHP
/* Copyright (C) 2005-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
*
* 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.
*
* $Id$
* $Source$
*
*/
class ProductXdsl {
var $db;
var $id;
/**
* Constructeur de la classe
*
*/
function ProductXdsl($DB, $id=0, $user=0)
{
global $config;
$this->id = $id;
$this->db = $DB;
$this->error_message = '';
return 1;
}
/**
* Cree le product dans la base de donnees
*
*/
function Create($user)
{
if ($this->prodid > 0)
{
$sql = "INSERT INTO ".MAIN_DB_PREFIX."telephonie_adsl_type";
$sql .= " (fk_product, commande_active, intitule)";
$sql .= " VALUES (";
$sql .= " $this->prodid,1,'".addslashes($this->intitule)."')";
$resql = $this->db->query($sql);
if ( $resql )
{
$this->id = $this->db->last_insert_id($resql);
return 0;
}
else
{
dolibarr_syslog("ProductXdsl::Create Error -3");
return -3;
}
}
else
{
dolibarr_syslog("ProductXdsl::Create Error -2");
return -2;
}
}
/**
*
*
*/
function SwitchCommandeActive($id)
{
$sql= "UPDATE ".MAIN_DB_PREFIX."telephonie_adsl_type as t";
$sql.= " SET commande_active = abs(commande_active -1) WHERE t.rowid =".$id.";";
$resql=$this->db->query($sql);
if ($resql)
{
return 0;
}
else
{
dolibarr_syslog("ProductXdsl::SwithCommandeActive Error -20", LOG_ERR);
return -20;
}
}
/**
* Retourne la liste des produits
*
*/
function ListArray()
{
$arr = array();
$sql = "SELECT t.rowid, t.intitule, t.commande_active";
$sql.= " FROM ".MAIN_DB_PREFIX."product as p,".MAIN_DB_PREFIX."telephonie_adsl_type as t";
$sql.= " WHERE p.rowid=t.fk_product;";
$resql=$this->db->query($sql);
if ($resql)
{
while ($obj=$this->db->fetch_object($resql))
{
$arr[$obj->rowid]['rowid'] = $obj->rowid;
$arr[$obj->rowid]['intitule'] = stripslashes($obj->intitule);
$arr[$obj->rowid]['commande_active'] = $obj->commande_active;
}
}
else
{
dolibarr_print_error($this->db);
$this->error=$this->db->error();
}
return $arr;
}
}
?>

View File

@ -0,0 +1,131 @@
<?PHP
/* Copyright (C) 2004-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
*
* 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.
*
* $Id$
* $Source$
*/
/**
\file htdocs/telephonie/config/xdsl.php
\ingroup telephonie
\brief Page configuration telephonie
\version $Revision$
*/
require("./pre.inc.php");
require_once(DOL_DOCUMENT_ROOT.'/fourn/fournisseur.class.php');
require_once(DOL_DOCUMENT_ROOT.'/telephonie/adsl/productxdsl.class.php');
$langs->load("admin");
$langs->load("suppliers");
$langs->load("products");
if (!$user->admin) accessforbidden();
if ($_GET["action"] == "addproduct")
{
$fourn = new ProductXdsl($db);
$fourn->prodid = $_POST["prod"];
$fourn->intitule = $_POST["intitule"];
$fourn->create($user);
Header("Location: xdsl_product.php");
}
if ($_GET["action"] == "switch")
{
$fourn = new ProductXdsl($db);
$fourn->SwitchCommandeActive($_GET['id']);
Header("Location: xdsl_product.php");
}
/*
*
*
*
*/
llxHeader('','Téléphonie - Configuration - Liens xDSL');
$h=0;
$head[$h][0] = DOL_URL_ROOT."/telephonie/config/xdsl.php";
$head[$h][1] = $langs->trans("Suppliers");
$h++;
$head[$h][0] = DOL_URL_ROOT."/telephonie/config/xdsl_product.php";
$head[$h][1] = $langs->trans("Products");
$hselected = $h;
$h++;
dolibarr_fiche_head($head, $hselected, "Configuration des liens xDSL");
$form = new Form($db);
print_titre($langs->trans("Products"));
print '<form method="post" action="xdsl_product.php?action=addproduct">';
print '<table class="noborder" cellpadding="3" cellspacing="0" width="100%">';
$prods = array();
$sql = "SELECT rowid, label";
$sql.= " FROM ".MAIN_DB_PREFIX."product as p";
$sql.= " WHERE p.fk_product_type = 1";
$resql=$db->query($sql);
if ($resql)
{
while ($obj=$db->fetch_object($resql))
{
$prods[$obj->rowid]=stripslashes($obj->label);
}
}
$db->free($resql);
$xfourn = new ProductXdsl($db,0,$user);
$xfourns = $xfourn->ListArray();
/* ***************************************** */
print '<tr class="pair"><td>Ajouter un liens depuis les services</td>';
print '<td align="left">';
print '</td><td><input name="intitule"></td><td>';
$form->select_array("prod",$prods);
print '<input type="submit" value="'.$langs->trans('Add').'">';
print '</td></tr>';
print '<tr class="liste_titre">';
print '<td>Nom</td>';
print '<td align="center">Commande possible</td><td>&nbsp;</td><td>&nbsp;</td>';
print "</tr>\n";
foreach ($xfourns as $id => $name)
{
$var=!$var;
print "<tr $bc[$var]><td>".$name['intitule'].'</td>';
print '<td align="center">'.$langs->trans($yesno[$name['commande_active']]).'</td>';
print '<td><a href="xdsl_product.php?action=switch&amp;id='.$id.'">Changer</a>';
print '<td>&nbsp;</td></tr>';
}
print '</table>';
print '</form></div>';
$db->close();
llxFooter();
?>