git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_Intranet/trunk/src@1 e2b1556b-49f8-d141-9351-52d6861a72d9
122 lines
2.7 KiB
PHP
122 lines
2.7 KiB
PHP
<?php
|
|
/*
|
|
* Clase ListaEmpresas
|
|
*
|
|
* Contiene una lista de las empresas cliente que tiene un gerente, comprobando los permisos que tiene
|
|
* éste.
|
|
*
|
|
*/
|
|
|
|
include_once("Objects/Empresa.php");
|
|
|
|
class ListaEmpresas{
|
|
|
|
//Atributos:
|
|
|
|
/* Una lista de pedidos. */
|
|
private $empresas = array();
|
|
|
|
/* Gestor dueño de la lista. */
|
|
private $gestor;
|
|
|
|
/* Idioma */
|
|
private $locale;
|
|
|
|
//Constructor:
|
|
|
|
/**
|
|
* Crea una lista de emmpresas.
|
|
* @param usuario - gestor dueño de la lista.
|
|
* @param locale - idioma.
|
|
*/
|
|
function ListaEmpresas($usuario,$locale){
|
|
$this->gestor = $usuario;
|
|
$this->locale = $locale;
|
|
}
|
|
|
|
/**
|
|
* Busca y devuelve todas las empresas clientes del gerente.
|
|
*/
|
|
function getEmpresas(){
|
|
//PERMISOS:
|
|
/*
|
|
* Gestor (3) - Los suyos y los públicos.
|
|
* Otro - Excepción
|
|
*/
|
|
$estado = $this->tipo;
|
|
if($this->empresas == null){
|
|
//Recogemos todas las empresas públicas y las que tienen de gerente al usuario activo.
|
|
if($this->gestor->tieneRol(3)){
|
|
if($this->gestor->tieneRol(1)){
|
|
$consulta = "SELECT * from clientes";
|
|
}else{
|
|
$consulta = "SELECT * from clientes WHERE privado = 0 || gerente = ".$this->gestor->getValor("oid");
|
|
}
|
|
}else{
|
|
$error = $this->locale['2209'];
|
|
throw new Exception($error);
|
|
return false;
|
|
exit;
|
|
}
|
|
|
|
$bd=new BD();
|
|
$resultado = $bd->execQuery($consulta);
|
|
//Procesamos los pedidos.
|
|
if(mysql_num_rows($resultado) == 0){
|
|
$this->empresas = array();
|
|
}else{
|
|
while($rows = mysql_fetch_array($resultado)){
|
|
$p = new Empresa($this->gestor, $rows["oid"], $this->locale);
|
|
$this->empresas[] = $p;
|
|
}
|
|
}
|
|
}
|
|
|
|
return $this->empresas;
|
|
}
|
|
|
|
/**
|
|
* Añade una empresa a la bd.
|
|
* @param campos - campos de la nueva empresa.
|
|
*/
|
|
function addEmpresa($campos){
|
|
|
|
if(!$this->gestor->tieneRol(3)){
|
|
$error = $this->locale['2204'];
|
|
throw new Exception($error);
|
|
return false;
|
|
exit;
|
|
}
|
|
|
|
$inserto = "";
|
|
$valores = "";
|
|
|
|
//Procesamos los datos
|
|
foreach($campos as $key => $value){
|
|
$inserto .= "$key,";
|
|
$valores .= "'$value',";
|
|
}
|
|
|
|
if ($inserto{strlen($inserto) - 1} == ",")
|
|
$inserto = substr($inserto,0,strlen($inserto) - 1);
|
|
|
|
if ($valores{strlen($valores) - 1} == ",")
|
|
$valores = substr($valores,0,strlen($valores) - 1);
|
|
|
|
//Insertamos en la BD
|
|
$consulta = "INSERT INTO clientes ($inserto) VALUES ($valores)";
|
|
$bd = new BD();
|
|
if(!$bd->execQuery($consulta)){
|
|
$error = $this->locale['bd'];
|
|
throw new Exception($error);
|
|
return false;
|
|
exit;
|
|
}else{
|
|
$id = mysql_insert_id();
|
|
}
|
|
return $id;
|
|
}
|
|
|
|
}
|
|
?>
|