require_once 'YATTA/ProcesoDB.php';
require_once 'YATTA/Servidor.php';
+define ('PATH_TACHO', '/var/www/yatta/tacho/');
+
/**
* Clase para el manejo centralizado de toda la informacion de YATTA.
*
* @access private
*/
function _obtenerServidor($db) {
-
- //@FIXME La ponderacion esta mal. No tengo que buscar el que tenga mas
- //alta o mas baja OJO!!! Volver a pensar el calculo.
-
$res = $db->query('SELECT s.id, s.escala * s.procesos AS ponderacion
FROM yatta.servidores AS s
ORDER BY ponderacion ASC, s.escala DESC');
/**
* Agrega un proceso a la base de datos
- * Los datos obligatorios a pasar son: script, id_sistema, descripcion,
- * owner, destinos, prioridad, scheduling y notificar.
+ * Los datos a pasar son:
+ * 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.
+ * owner : Login@Organismo de la persona responsable del proceso.
+ *
+ * Opcionales
+ * destinos : Login@Organismo separado por comas de aquellos usuarios
+ * que deben poder ver los resultados del proceso.
+ * prioridad : Indica la prioridad del proceso.
+ * notificar : Indica si hay que notificar al owner y a los destinos
+ * cuando finalize el proceso.
+ * resultado : En caso que el proceso genere archivos resultado, se debe
+ * indicar aqui el nombre del archivo que deben visualizar
+ * los usuarios.
*
* @param DB $db Conexion a la base de datos.
* @param mixed $datos Datos necesarios del proceso.
//Actualizo la base procesos
$sql = 'UPDATE yatta.procesos SET status = '. $status;
-
if (@$nota) {
$sql.= ', nota = '. $nota;
}
$sql.= ', notificar = '. $notificar;
}
$sql.= ' WHERE id = '. $id_proceso;
-
$res = $db->query($sql);
- // Si hay error lo devuelve.
if (DB::isError($res)) {
return $res;
}
- //@TODO Aca notificar
-// if (@$notificar) {
-// }
+ //NOTIFICO
+ if (@$notificar) {
+ $res = $db->query(
+ "SELECT p.descripcion AS descripcion, p.owner AS owner, ".
+ "p.destinos AS destinos ".
+ "FROM yatta.procesos AS p"/
+ "WHERE p.id = ". $id_proceso);
+ if (DB::isError($res)) {
+ return $res;
+ }
+ $res = $res->fetchRow(DB_FETCHMODE_ASSOC);
+ $dest = split (',', @$res['destinos']);
+ $to = $owner.'.gov.ar';
+ foreach ($dest as $d) {
+ $to = $to . ", $d.gov.ar";
+ }
+ $headers = "From: Intranet - YATTA <intranet@mecon.gov.ar>\r\n";
+ $subject = "Proceso finalizado";
+ $body = "El proceso:\n".
+ $res['descripcion'] .
+ "\nha finalizado. Puede verificar el estado de finalizacion\n".
+ "en el sistema YATTA dentro de la intranet.\n".
+ "\n\n\n".
+ "************************************************************\n".
+ "Este es un mensaje generado automaticamente por MECON_YATTA.\n".
+ "Por favor no responder a esta direccion de e-mail.\n".
+ "************************************************************\n";
+ mail($to, $subject, $body, $headers);
+ }
+
+ //COPIO EL ARCHIVO
+ if (@$archivo) {
+ $arch = basename ($archivo);
+ rename ($archivo, PATH_TACHO.$arch);
+ }
//Actualizo los servidores
$SERVER =& new YATTA_Servidor;