]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MECON/Dependencia.php
Se agrega la posibilidad de cambiar el esquema de colores en MECON_Graph para gráfico...
[mecon/meconlib.git] / lib / MECON / Dependencia.php
index f30c91766f116128097f5c93650833fbb113ea7b..6b01f1f35f0359d959d585410023f7ddd443b956 100644 (file)
@@ -32,12 +32,17 @@ require_once 'DB.php';
  * @access protected
  */
 class MECON_Dependencia {
+
     /**
-     * @var    int $dbh
-     * @access private
+     * @protected
      */
     var $_dbh;
 
+    /**
+     * @protected
+     */
+    var $_database;
+
     /**
      * @var    int $codep
      * @access public
@@ -71,32 +76,33 @@ class MECON_Dependencia {
      * @return void
      * @access public
      */
-    function MECON_Dependencia(&$dbh, $codep, $id = null, $database = 'CODEP') 
+    function MECON_Dependencia(&$db, $codep, $id = null, $database = 'CODEP') 
     {
-        $this->_dbh = $dbh;
+        $this->_db = $db;
+        $this->_database = $database;
 
         if(!is_null($codep)) {
             $this->codep = $codep;
 
             $sql = "SELECT  nombre, nombre_breve, dependencia_id, codigo_actual
-                    FROM    $database.Dependencias
-                    WHERE   codigo_actual = '$this->codep' AND
-                           dependencia_esta_activa = 1";
+                FROM    ".$database.".Dependencias
+                WHERE   codigo_actual = '".$this->codep."' AND
+                dependencia_esta_activa = 1";
 
-            $result = $this->_dbh->query($sql);
+            $result = $this->_db->query($sql);
         }
-       else {
+        else {
             $this->dependencia_id = $id;
 
             $sql = "SELECT  nombre, nombre_breve, dependencia_id, codigo_actual
-                    FROM    $database.Dependencias
-                    WHERE   dependencia_id = $this->dependencia_id AND
-                           dependencia_esta_activa = 1";
-            $result = $this->_dbh->query($sql);
+                FROM    ".$database.".Dependencias
+                WHERE   dependencia_id = ".$this->dependencia_id." AND
+                dependencia_esta_activa = 1";
+            $result = $this->_db->query($sql);
         }
 
         if(DB::isError($result))
-            die($result->getMessage("query mal hecho"));
+            trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR);
 
         if($result->numRows() > 0) {
             $row = $result->fetchRow(DB_FETCHMODE_ASSOC);
@@ -116,31 +122,23 @@ class MECON_Dependencia {
     {
         //Planta y becarios
         $agentes = array();
-        $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/novedades';
-        $db = DB::connect($dsn);
-        if (DB::isError($db))
-            die ($db->getMessage("No pudo conectarse a la base"));
         $sql = "SELECT nrodoc
-               FROM web003
-               WHERE codep = '$this->codep'";
-        $result = $db->query($sql);
+               FROM novedades.web003
+               WHERE codep = '".$this->codep."'";
+        $result = $this->_db->query($sql);
         if(DB::isError($result))
-            die($result->getMessage("query mal hecho"));
+            trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR);
         while($row = $result->fetchRow())
-            $agentes[] = new MECON_Agente($row[0]);
+            $agentes[$row[0]] = new MECON_Agente($this->_db, $row[0]);
         //Contratados
-        $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/Contratados';
-        $db = DB::connect($dsn);
-        if (DB::isError($db))
-            die ($db->getMessage("No pudo conectarse a la base"));
         $sql = "SELECT nrodoc
-               FROM Contratados
-               WHERE codep = '$this->codep'";
-        $result = $db->query($sql);
+               FROM Contratados.Contratados
+               WHERE codep = '".$this->codep."'";
+        $result = $this->_db->query($sql);
         if(DB::isError($result))
-            die($result->getMessage("query mal hecho"));
+            trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR);
         while($row = $result->fetchRow())
-            $agentes[] = new MECON_Agente($row[0]);
+            $agentes[$row[0]] = new MECON_Agente($this->_db, $row[0]);
         return $agentes;
     }
 
@@ -152,16 +150,13 @@ class MECON_Dependencia {
      */
     function getDependencias() 
     {
-        $dsn = 'mysql://intranet:intranet@intranet-db.mecon.ar/CODEP';
-        $db = DB::connect($dsn);
-        if (DB::isError($db))
-            die ($db->getMessage("No pudo conectarse a la base"));
+        $base = (isset($this->_database))? $this->_database : "CODEP";
         $sql = "SELECT codigo_actual
-               FROM Dependencias
+               FROM ".$base.".Dependencias
                WHERE dependencia_esta_activa = 1";
-        $result = $db->query($sql);
+        $result = $this->_db->query($sql);
         if(DB::isError($result))
-            die($result->getMessage("query mal hecho"));
+            trigger_error($result->getMessage("query mal hecho"), E_USER_ERROR);
         $dependencias = array();
         while($row = $result->fetchRow())
             $dependencias[] = $row[0];
@@ -200,21 +195,22 @@ class MECON_Dependencia {
      * @access public
      * @static
      */
-    function buscarPorCodigo(&$dbh, $codep)
+    function buscarPorCodigo(&$dbh, $codep, $database = 'CODEP')
     {
-       //Reemplazar el comodIn
+           //Reemplazar el comodín
        $codep = preg_replace ('/\*/', '%', $codep);    
     
-       $sql = " SELECT codigo_actual, codigo_comdoc, nombre, dependencia_id 
-                FROM CODEP.Dependencias
-                WHERE dependencia_esta_activa = 1 
-                       AND codigo_actual LIKE '$codep' 
-                ORDER BY codigo_actual ";
+           $sql = " SELECT codigo_actual, codigo_comdoc, nombre, 
+                        dependencia_id, nombre_breve
+                       FROM    ".$database.".Dependencias
+                       WHERE   dependencia_esta_activa = 1 
+                                   AND codigo_actual LIKE '".$codep."' 
+                       ORDER BY codigo_actual ";
 
         $dbh->setFetchMode(DB_FETCHMODE_ASSOC);
         $result = $dbh->query($sql);
        
-       return $result;
+           return $result;
     }
 
 
@@ -227,19 +223,20 @@ class MECON_Dependencia {
      * @access public
      * @static
      */
-    function buscarPorNombre(&$dbh, $clave) 
+    function buscarPorNombre(&$dbh, $clave, $database = 'CODEP'
     {
        //ReducciOn de espacios en blanco
        $clave = preg_replace ('/\s+/', ' ', $clave);   
     
-       $sql = " SELECT codigo_actual, codigo_comdoc, nombre, dependencia_id
-                FROM CODEP.Dependencias
+       $sql = " SELECT codigo_actual, codigo_comdoc, nombre, dependencia_id,
+         nombre_breve 
+                FROM ".$database.".Dependencias
                 WHERE  dependencia_esta_activa = 1 ";
 
         //Separar la cadena de palabras clave
        $items = split(' ', $clave);
        foreach ($items as $i){
-           $sql.= " AND nombre like '%$i%' ";
+           $sql.= " AND nombre like '%".$i."%' ";
        }
 
        $sql.= " ORDER BY codigo_actual";