]> git.llucax.com Git - mecon/yatta.git/blobdiff - lib/YATTA/Controlador.php
Agrego la funcionalidad de parametros al script que corre en el serivdor.
[mecon/yatta.git] / lib / YATTA / Controlador.php
index 307760ebb1127257549632219a4aae480c29996e..63b1d42f3b4aa9df45e0269c1b44f0ae6aab272e 100644 (file)
@@ -28,7 +28,7 @@ require_once 'YATTA/Proceso.php';
 require_once 'YATTA/ProcesoDB.php';
 require_once 'YATTA/Servidor.php';
 
-define ('PATH_TACHO', '/var/www/yatta/tacho/');
+define ('PATH_TACHO', '/var/www/sistemas/yatta/tacho/');
 
 /**
  * Clase para el manejo centralizado de toda la informacion de YATTA.
@@ -59,11 +59,12 @@ class YATTA_Controlador {
  
     /**
      * Agrega un proceso a la base de datos
-     * Los datos a pasar son: 
+     * Recibe un array asociativo con:
      *  Obligatorios
      *   script     : Path completo para el require_once.
-     *   id_sistema : Identificador del sistema al que pertenece .
-     *   descripcion: Es lo que permite al usuario identificar al proecso.
+     *   id_sistema : Identificador del sistema al que pertenece. (Es el id que
+     *                asigna SAMURAI)
+     *   descripcion: Es lo que permite al usuario identificar al proceso.
      *   owner      : Login@Organismo de la persona responsable del proceso.
      *
      *  Opcionales
@@ -75,6 +76,7 @@ class YATTA_Controlador {
      *   resultado  : En caso que el proceso genere archivos resultado, se debe
      *                indicar aqui el nombre del archivo que deben visualizar
      *                los usuarios.
+     *   parametros : Parametros que hay que pasarle al metodo run del script.
      *
      * @param  DB $db Conexion a la base de datos.
      * @param  mixed $datos Datos necesarios del proceso.
@@ -94,10 +96,15 @@ class YATTA_Controlador {
         elseif (!is_array($datos)) {
             return new PEAR_Error ("Error con los datos pasados. El segundo".
                     " parametro debe ser un array asociativo o una instancia".
-                    " del objeto YATTA_Proceso.");
+                    " del objeto YATTA_ProcesoDB.");
         }
         $res = $this->_obtenerServidor($db);
 
+        //Serializo los parametros
+        if (@$datos['parametros']) {
+            $datos['parametros'] = serialize($datos['parametros']);
+        }
+
         if (DB::isError($res)) {
             return $res;
         }
@@ -195,7 +202,8 @@ class YATTA_Controlador {
      * @access public
      */
     function obtenerNuevoProceso($db, $id) {
-        $res = $db->query('SELECT p.id AS id, p.script AS script
+        $res = $db->query('SELECT p.id AS id, p.script AS script, p.parametros
+                AS parametros
                 FROM yatta.procesos AS p
                 WHERE p.server = '.$id.' AND status = 0 
                 ORDER BY p.prioridad, p.id');
@@ -312,7 +320,7 @@ class YATTA_Controlador {
      * @param string $login Usuario que se esta verificando
      *
      * @return bool
-     * @access private
+     * @access public
      * @static
      */
     function visible($DB, $login) {
@@ -327,5 +335,32 @@ class YATTA_Controlador {
 
         return $res['id'];
     }
+
+    /**
+     * Busca los usuarios que tienen al menos una entrada en el mysql como
+     * owners.
+     *
+     * @param DB $db Conexion a la base de datos.
+     *
+     * @return mixed
+     * @access public
+     */
+    function obtenerListaOwners($db) {
+        return $db->query('SELECT DISTINCT p.owner AS owner
+                FROM yatta.procesos As p');
+    }
+
+    /**
+     * Obtiene las cuotas especiales de los usuarios.
+     *
+     * @param DB $db Conexion a la base de datos.
+     *
+     * @return mixed
+     * @access public
+     */
+    function obtenerListaCuotas($db) {
+        return $db->query('SELECT login, cuota
+                FROM yatta.cuotas');
+    }
 }
 ?>
\ No newline at end of file