function getAsignacion($idplan, $idusuario) { $sql = "SELECT * FROM PL_POPERATIVOS_ASIGNACIONES WHERE PK_POPERATIVO = '{$idplan}' AND PK_USUARIO = '{$idusuario}'"; $row = database::getRow($sql); if ($row) { return $row; } else { return FALSE; } }
function ObtenerJerarquia($id) { $sql = "SELECT * FROM JERARQUIAS WHERE PK1 = '{$id}'"; $row = database::getRow($sql); if ($row) { return $row; } else { return FALSE; } }
function existePermiso($rol, $permiso) { $sql = "SELECT * FROM ROLES_PERMISOS WHERE PK_ROL = '{$rol}' AND PK_PERMISO = '{$permiso}'"; $row = database::getRow($sql); if ($row) { return TRUE; } else { return FALSE; } }
function getObjetivoEstrategico($id) { $sql = "SELECT * FROM PL_PESTRATEGICOS_OBJETIVOSE WHERE PK1 = '{$id}' ORDER BY ORDEN"; $row = database::getRow($sql); if ($row) { return $row['OBJETIVO']; } else { return FALSE; } }
function getImagen($id) { $sql = "SELECT * FROM USUARIOS WHERE PK1 = '{$id}'"; $row = database::getRow($sql); if ($row) { return $row; } else { return FALSE; } }
function getProyectos($id) { $sql = "SELECT * FROM PROYECTOS WHERE PK1 = '{$id}'"; $row = database::getRow($sql); if ($row) { return $row; } else { return FALSE; } }
function getCentro($id) { $sql = "SELECT NOMBRE FROM JERARQUIAS WHERE PK1 = '{$id}' "; $row = database::getRow($sql); if ($row) { return $row['NOMBRE']; } else { return FALSE; } }
function getPlanO($id) { $sql = "SELECT * FROM PL_POPERATIVOS WHERE PK1='{$id}'"; $row = database::getRow($sql); if ($row) { return $row; } else { return FALSE; } }
function getLinea($idlinea) { $sql = "SELECT DESCRIPCION FROM LINEAS_INV WHERE PK1='{$idlinea}'"; $row = database::getRow($sql); if ($row) { return htmlentities($row['DESCRIPCION'], ENT_QUOTES, "ISO-8859-1"); } else { return FALSE; } }
function ExisteUsuario($id) { $sql = "SELECT * FROM USUARIOS WHERE PK1='{$id}'"; $row = database::getRow($sql); if ($row) { return TRUE; } else { return FALSE; } }
function getFacultad($id) { $sql = "SELECT FACULTAD FROM FACULTAD WHERE PK1 = '{$id}' "; $row = database::getRow($sql); if ($row) { return $row['FACULTAD']; } else { return FALSE; } }
function getRol($id) { $sql = "SELECT * FROM ROLES WHERE PK1 = '{$id}'"; $row = database::getRow($sql); if ($row) { return $row['ROLE']; } else { return FALSE; } }
function getPlanEstrategico($id) { $sql = "SELECT * FROM PL_PESTRATEGICOS WHERE PK1 = '{$id}' "; $row = database::getRow($sql); if ($row) { return $row; } else { return FALSE; } }
function getPermisos($id) { $sql = "SELECT * FROM PERMISOS WHERE PK1='{$id}'"; $row = database::getRow($sql); if ($row) { return $row; } else { return FALSE; } }
function getPlanE($id) { $sql = "SELECT * FROM PL_PESTRATEGICOS WHERE PK1='{$id}'"; $params = array($id); $row = database::getRow($sql, $params); if ($row) { return $row; } else { return FALSE; } }
function getTutorial($id) { $sql = "SELECT * FROM TUTORIALES WHERE PK1='{$id}'"; $objdb = new database(); $row = $objdb->getRow($sql); if ($row) { return $row; } else { return FALSE; } }
function ObtenerCentro($id) { try { $sql = "SELECT * FROM CENTROS WHERE PK1 = '{$id}'"; $row = database::getRow($sql); } catch (customException $e) { throw new customException($sql); } if ($row) { return $row; } else { return FALSE; } }
function ObtenerFacultad($id) { try { $sql = "SELECT * FROM FACULTAD WHERE PK1 = '{$id}'"; $row = database::getRow($sql); } catch (customException $e) { throw new customException($sql); } if ($row) { return $row; } else { return FALSE; } }
function consultarProducto($id) { try { $sql = " SELECT TOP 1 * FROM CATALOGO_PRODUCTOS WHERE PK1= {$id}"; $row = database::getRow($sql); } catch (customException $e) { throw new customException($sql); } if ($row) { return $row; } else { return FALSE; } }
function obtenerTiposDeContrato($idTipo) { try { $sql = " SELECT TOP 1 CLAVE,DESCRIPCION,DISPONIBLE FROM TIPOS_CONTRATO WHERE PK1= {$idTipo}"; //echo $sql.' '; $row = database::getRow($sql); } catch (customException $e) { throw new customException($sql); } if ($row) { return $row; } else { return FALSE; } }
function getAlertas() { $usuario = $_SESSION['session']['user']; $alertas = ""; $sql = sprintf("SELECT * FROM NOTIFICACIONES WHERE TIPO = 'ALERT' AND PK_USUARIO = '{$usuario}' ORDER BY VISTO, FECHA_R DESC"); $result = database::getRows($sql); $rows = database::getNumRows($sql); if ($rows > 0) { $alertas .= '<ul id="themes" class="dropdown-menu" style="width: 320px; height: 373px; overflow-y: auto;">'; foreach ($result as $r) { $USER = $r['ENVIADO']; $sql2 = "SELECT IMAGEN,concat(TITULO,' ',NOMBRE,' ',APELLIDOS) AS NOMBRE FROM USUARIOS WHERE PK1='" . $USER . "'"; $rowu = database::getRow($sql2); $alertas .= '<li '; $imagen = $rowu['IMAGEN']; if (trim($r['VISTO']) == "1") { $objetivo = "<strike>" . $r['OBJETIVO'] . "</strike>"; $fecha = "<strike>" . $r['FECHA_R']->format('Y-m-d') . "</strike>"; $nombre = "<strike>" . htmlentities($rowu['NOMBRE']) . "</strike>"; } else { $objetivo = $r['OBJETIVO']; $fecha = $r['FECHA_R']->format('Y-m-d'); $nombre = htmlentities($rowu['NOMBRE']); } $alertas .= '><a href="javascript:void(0)" onclick="goAlerta(\'' . $r['PK1'] . '\');" data-value="cerulean"> <img src="media/usuarios/' . $imagen . '" height="45" width="45" style="margin-top: 6px; position: absolute;" alt=""> <span style="margin-left: 48px; font-size: 11px;"><i class="icon-hand-right"></i> ' . $objetivo . '</span><br/> <span style="margin-left: 48px; font-size: 11px;"><i class="icon-user"></i> ' . $nombre . '</span><br/> <span style="font-size: 10px; margin-left: 48px;"><i class="icon-time"></i> ' . $fecha . '</span> </a> </li> <li class="divider"></li>'; } $alertas .= '</ul>'; } else { $alertas .= '<ul id="themes" class="dropdown-menu" style="width: 300px; height:60px; overflow-y: auto;">'; $alertas .= '<li><a data-value="cerulean" href="javascript:void(0)"> <span style="margin-top: 18px; position: absolute;" class="icon icon-red icon-time"></span> <br/> <span style="margin-left: 18px; font-size: 11px;"> No existen alertas por el momento....</span><br> <br/> </a> </li>'; $alertas .= '</ul>'; } return $alertas; }
function GuardarUsuario() { $plan = $this->poperativo; $jerarquia = $this->jerarquia; $sql = "SELECT TITULO FROM PL_POPERATIVOS WHERE PK1='{$plan}'"; $row = database::getRow($sql); $titulo = $row['TITULO']; foreach ($this->usuarios as $usuario) { $sql = "SELECT * FROM PL_POPERATIVOS_ASIGNACIONES WHERE PK_USUARIO = '{$usuario}' AND PK_POPERATIVO = '{$plan}' "; $row = database::getRow($sql); if (!$row) { $sql = "SELECT * FROM USUARIOS WHERE PK1 = '{$usuario}' "; $row = database::getRow($sql); if ($row) { $this->campos = array('PK_POPERATIVO' => $this->poperativo, 'PK_USUARIO' => $usuario, 'ROL' => $this->rol, 'FECHA_R' => date("Y-m-d H:i:s")); $result = database::insertRecords("PL_POPERATIVOS_ASIGNACIONES", $this->campos); //Agregarmos la alerta $this->campos = array('OBJETIVO' => "Se le ha agregado un nuevo plan operativo..", 'TIPO' => "ALERT", 'VISTO' => '0', 'URL' => "?execute=operativo&method=default&Menu=F2&SubMenu=SF21#&p=1&s=25&sort=1&q=" . $titulo . "&filter=" . $jerarquia . "", 'PK_JERARQUIA' => $jerarquia, 'PK_USUARIO' => $usuario, 'FECHA_R' => date("Y-m-d H:i:s"), 'ENVIADO' => $_SESSION['session']['user']); database::insertRecords("NOTIFICACIONES", $this->campos); } } } }
function getEstadoPlanOperativo($id) { $estado = ""; $sql = "SELECT ESTADO FROM PL_POPERATIVOS WHERE PK1 = '{$id}' "; $row = database::getRow($sql); switch (trim($row['ESTADO'])) { case 'P': $estado = '<span class="label label-warning">Elaborando</span>'; break; case "G": $estado = '<span class="label label-warning">Elaborando</span>'; break; case "E": $estado = '<span class="label label-revision">Revisando</span>'; break; case "R": $estado = '<span class="label label-warning">Revisando Centro</span>'; break; case "S": $estado = '<span class="label label-success">Elaborando Informe</span>'; break; case "I": $estado = '<span class="label label-revision">Revisando Informe</span>'; break; case "T": $estado = '<span class="label label-important">Terminado</span>'; break; default: $estado = '<span class="label label-warning">Pendiente</span>'; break; } return $estado; }
function getPrivilegio($plan, $permiso) { $user = $_SESSION['session']['user']; $sql = "SELECT * FROM ROLES_USUARIO WHERE PK_USUARIO = '{$user}' AND PK_ROLE = 'R00'"; $row = database::getNumRows($sql); if ($row) { return TRUE; } else { $sql = "SELECT * FROM PL_POPERATIVOS_ASIGNACIONES WHERE PK_POPERATIVO = '{$plan}' AND PK_USUARIO = '{$user}' "; $row = database::getRow($sql); if ($row) { $rol = $row['ROL']; $sql = "SELECT * FROM ROLES_PERMISOS WHERE PK_ROL = '{$rol}' AND PK_PERMISO = '{$permiso}' "; $rows = database::getNumRows($sql); if ($rows) { return TRUE; } else { return FALSE; } } else { return FALSE; } } }
/** * Check if user is admin */ function checkAdmin($die = true, $startSession = true) { global $db; # get variables from config file /* first get active username */ if (!isset($_SESSION)) { session_start(); } $ipamusername = $_SESSION['ipamusername']; session_write_close(); /* set check query and get result */ $database = new database($db['host'], $db['user'], $db['pass'], $db['name']); /* Check connection */ if ($database->connect_error) { if ($_SERVER['SERVER_PORT'] == "443") { $url = "https://" . $_SERVER['SERVER_NAME'] . BASE; } elseif ($_SERVER['SERVER_PORT'] != "80") { $url = "http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . BASE; } else { $url = "http://" . $_SERVER['SERVER_NAME'] . BASE; } # redirect header("Location:" . $url . "login/"); } /* set query if database exists! */ $query = 'select role from users where username = "******";'; /* fetch role */ try { $role = $database->getRow($query); } catch (Exception $e) { $error = $e->getMessage(); die("<div class='alert alert-danger'>" . _('Error') . ": {$error}</div>"); } /* close database connection */ $database->close(); /* return true if admin, else false */ if ($role[0] == "Administrator") { return true; } else { //die if ($die == true) { die('<div class="alert alert-danger">' . _('Administrator level privileges required') . '!</div>'); } else { return false; } } }
function GuardarObjetivos($idlineae, $i) { $fecha = date("Y-m-d H:i:s"); $usuario = $_SESSION['session']['user']; $objetivosestrategicos = explode("|", $this->objetivos[$i]); $sql = "SELECT PK1 FROM PL_PESTRATEGICOS_OBJETIVOSE WHERE PK_LESTRATEGICA = '{$idlineae}'"; $numobjetivosbase = database::getNumRows($sql); $numobjetivos = sizeof($objetivosestrategicos) - 1; if ($numobjetivosbase > $numobjetivos) { for ($i = $numobjetivos; $i <= $numobjetivosbase; $i++) { $sql = "DELETE FROM PL_PESTRATEGICOS_OBJETIVOSE WHERE PK_LESTRATEGICA = '{$idlineae}' AND ORDEN='{$i}'"; database::executeQuery($sql); } } for ($i = 0; $i < sizeof($objetivosestrategicos) - 1; $i++) { $objetivo = $objetivosestrategicos[$i]; $sql = "SELECT * FROM PL_PESTRATEGICOS_OBJETIVOSE WHERE PK_LESTRATEGICA = '{$idlineae}' AND ORDEN = '{$i}'"; $row = database::getRow($sql); if ($row) { $this->campos = array('OBJETIVO' => $objetivo, 'FECHA_M' => date("Y-m-d H:i:s"), 'PK_USUARIO' => $_SESSION['session']['user']); $condition = "PK_LESTRATEGICA = '{$idlineae}' AND ORDEN = '{$i}'"; database::updateRecords("PL_PESTRATEGICOS_OBJETIVOSE", $this->campos, $condition); } else { $idobjetivo = strtoupper(substr(uniqid('OE'), 0, 15)); $this->campos = array('PK1' => $idobjetivo, 'OBJETIVO' => $objetivo, 'ORDEN' => $i, 'PK_LESTRATEGICA' => $idlineae, 'FECHA_R' => date("Y-m-d H:i:s"), 'PK_USUARIO' => $_SESSION['session']['user']); $result = database::insertRecords("PL_PESTRATEGICOS_OBJETIVOSE", $this->campos); } } }
function insertarComentarioGeneral($comentario, $idplan, $tipo) { $fechar = date("Y-m-d H:i:s"); $usuario = $_SESSION['session']['user']; $this->campos = array('COMENTARIO' => $comentario, 'PK_POPERATIVO' => $idplan, 'PK_USUARIO' => $usuario, 'FECHA_R' => $fechar, 'TIPO' => $tipo); database::insertRecords("PL_POPERATIVOS_COMENTARIOS", $this->campos); $sql = "SELECT TOP 1 PK1 FROM PL_POPERATIVOS_COMENTARIOS WHERE PK_USUARIO = '{$usuario}' AND PK_POPERATIVO = '{$idplan}' AND FECHA_R = '{$fechar}' "; $row = database::getRow($sql); if (!empty($row)) { $data = $row['PK1']; return $data; } //Agregarmos la alerta /* $this->campos = array('OBJETIVO'=>$comentario, 'TIPO'=>"COMEN", 'VISTO'=>'0', 'URL'=>"?execute=operativo&method=default&Menu=F2&SubMenu=SF21#&p=1&s=25&sort=1&q=&filter=".$JERARQUIA."", 'PK_JERARQUIA'=>$this->jerarquia, 'PK_USUARIO'=>$_SESSION['session']['user'], 'FECHA_R'=>date("Y-m-d H:i:s"), ); database::insertRecords("NOTIFICACIONES",$this->campos);*/ }
/** * Check if user is admin */ function checkAdmin($die = true) { global $db; # get variables from config file /* first get active username */ session_start(); $ipamusername = $_SESSION['ipamusername']; session_write_close(); /* set check query and get result */ $database = new database($db['host'], $db['user'], $db['pass'], $db['name']); $query = 'select role from users where username = "******";'; /* execute */ try { $role = $database->getRow($query); } catch (Exception $e) { $error = $e->getMessage(); print "<div class='alert alert-error'>" . _('Error') . ": {$error}</div>"; return false; } /* close database connection */ $database->close(); /* return true if admin, else false */ if ($role[0] == "Administrator") { return true; } else { //die if ($die == true) { die('<div class="alert alert-error">' . _('Administrator level privileges are required to access this site') . '!</div>'); } else { return false; } //update log updateLogTable('User ' . $ipamusername . ' tried to access admin page.', "", 2); } }
function getResponsable($id) { $sql = "SELECT CONCAT(TITULO,' ',NOMBRE,' ',APELLIDOS) AS RESPONSABLE FROM USUARIOS WHERE PK1 = '{$id}'"; $row = database::getRow($sql); if ($row) { return $row['RESPONSABLE']; } else { return FALSE; } }
function EnviarCorreoDireccion($de, $para, $idProyecto) { $sql = "SELECT * FROM USUARIOS WHERE PK1 = '{$de}'"; $rowde = database::getRow($sql); $sql = "SELECT * FROM USUARIOS WHERE PK1 = '{$para}'"; $rowpara = database::getRow($sql); $sql = "SELECT TITULO FROM PROYECTOS WHERE PK1 = '{$idProyecto}'"; $row = database::getRow($sql); $proyecto = $row['TITULO']; $mail = new PHPMailer(); $para = trim($rowpara['EMAIL']); //$mail->SMTPDebug = 2; $mail->isSMTP(); // Set mailer to use SMTP $mail->Host = 'smtp.office365.com'; // Specify main and backup server $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = '******'; // SMTP username $mail->Password = '******'; // SMTP password $mail->SMTPSecure = 'tls'; $mail->Port = '587'; // Enable encryption, 'ssl' also accepted $mail->From = '*****@*****.**'; $mail->FromName = 'Sistema de Protocolos'; $mail->addAddress($para); // Add a recipient //$mail->addAddress('*****@*****.**'); // Name is optional //$mail->addReplyTo('*****@*****.**'); //$mail->addCC('*****@*****.**'); $mail->addBCC('*****@*****.**'); $mail->WordWrap = 50; // Set word wrap to 50 characters //$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments //$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name $mail->isHTML(true); // Set email format to HTML $mail->Subject = 'Proyecto enviado para revisión de Dirección de Investigación'; $mail->Body = ' <html xmlns="http://www.w3.org/1999/xhtml"> <head> <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW"> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <title>Sistema de Gestión de Propuestas de la RUA</title> <style> table td {border-collapse:collapse;margin:0;padding:0;} </style> </head> <body> <table width="100%" cellpadding="0" cellspacing="0" border="0"> <tr> <td valign="top" width="50%"></td> <td valign="top"> <table width="640" cellpadding="0" cellspacing="0" border="0"> <tr> <td width="1" style="background:#E66500; border-top:1px solid #e3e3e3;"></td> <td width="24" style="background:#E66500; border-top:1px solid #e3e3e3;"> </td> <td width="365" align="left" valign="middle" style="background:#E66500; border-top:1px solid #e3e3e3; color:#ffffff; padding:18px 0;"> <h1 style="font-family:Segoe UI, Tahoma, sans-serif; margin:0px; font-size:12pt; line-height:19px; color:#072B60; font-weight:normal;color:#ffffff;">Se ha enviado el proyecto para revisión de la Dirección de Investigación</h1> <p style="margin:0;font-size:11pt;font-family:Segoe UI, Tahoma, sans-serif;color:#000;color:#ffffff;">Puede ingresar y revisar el proyecto</p> </td> <td width="15" style="background:#E66500; border-top:1px solid #e3e3e3;"> </td> <td width="205" align="right" valign="middle" style="background:#E66500; border-top:1px solid #e3e3e3; padding:18px 0; line-height:1px;"> <img src="http://redanahuac.mx/app/proyectos/skins/default/img/logo_anahuac.png" alt="Red de Universidades Anahuac" border="0"> </td> <td width="29" style="background:#E66500; border-top:1px solid #e3e3e3;"> </td> <td width="1" style="background:#E66500; border-top:1px solid #e3e3e3;"></td> </tr> </table> <!----> <table width="640" cellpadding="0" cellspacing="0" border="0"> <tr> <td width="1" style="background:#e3e3e3;"></td> <td width="24"> </td> <td width="585" valign="top" colspan="2" style="border-bottom:1px solid #e3e3e3; padding:20px 0;"> <table width="585" cellpadding="0" cellspacing="0" border="0"> <tr> <td> <p style="margin-top:20px;font-family:Segoe UI, Tahoma, sans-serif;color:#000;font-size:10pt;"> <p style="font-family:Segoe UI, Tahoma, sans-serif; font-size:10pt; color:#000;"> El proyecto: <strong>' . $proyecto . '</strong> ha sido enviada por el usuario: </p> <!-- START AMPSCRIPT --> <table cellpadding="0" cellspacing="0" border="0" style="font-family:\'Segoe UI\', Tahoma, sans-serif; font-size:10pt; margin:0px;"> <tr> <td><img src="http://redanahuac.mx/app/proyectos/media/usuarios/' . $rowde['IMAGEN'] . '" height="40" widht="40" /> </td> <td style="font-family:\'Segoe UI\', Segoe, Tahoma, sans-serif; font-size:10pt; line-height:15px; color:#000000;"> <strong> ' . $rowde['NOMBRE'] . ' ' . $rowde['APELLIDOS'] . '</strong></td> </tr> <!----> </table> <!-- END AMPSCRIPT --> <div style="margin-top:20px;font-family:\'Segoe UI\', Tahoma, sans-serif; font-size:10pt; line-height:13pt; color:#000;"> <p style="color:#000; font-size:10pt;font-family:Segoe UI, Tahoma, sans-serif;">Tenga en cuenta que:</p> <ul style="font-family:Segoe UI, Tahoma, sans-serif;color:#000;font-size:10pt;"> <li>Puede ingresar al sistema, revisar el proyecto. </li> </ul> <br><p style="font-family:Segoe UI, Tahoma, sans-serif; font-size:10pt; color:#000;">Por favor vaya a la página de inicio de sesión del Sistema de Gestión de Propuestas e ingrese con su usuario y contraseña: </p> <table cellpadding="0" cellspacing="0" border="0" width="100%" style="font-family:Segoe UI, Tahoma, sans-serif; font-size:10pt; color:#000;"> <tr> <td style="font-family:Segoe UI, Tahoma, sans-serif; font-size:12pt; text-align:center; color:#557eb9; padding:5px 0px 5px 15px;"> </td> <td style="padding:0px 15px; font-family:Segoe UI, Tahoma, sans-serif; font-size:10pt; color:#000;"><a href="http://redanahuac.mx/app/proyectos/" title="http://redanahuac.mx/app/proyectos/" style="color:#072b60;">http://redanahuac.mx/app/proyectos/</a>.</td> </tr> </table> <p style="font-family:Segoe UI, Tahoma, sans-serif; font-size:10pt; color:#000;">Atentamente, <br />Dirección de Investigación<br/> </p> </td> </tr> </table> </td> <td width="29"> </td> <td width="1" style="background:#e3e3e3;"></td> </tr> <tr> <td width="1" style="background:#e3e3e3; border-bottom:1px solid #e3e3e3;"></td> <td width="24" style="border-bottom:1px solid #e3e3e3;"> </td> <td width="585" valign="top" colspan="2" style="border-bottom:1px solid #e3e3e3; padding:20px 0;"> <table cellpadding="0" cellspacing="0" border="0" width="585"> <tr> <td width="438"> <p style="font-family:Segoe UI, Tahoma, sans-serif; margin:0px 0px 0px 5px; color:#000; font-size:10px;">Red de Universidades Anàhuac | © Copyright 2014. Todos los derechos reservados. <br /> Este mensaje se ha enviado desde una dirección de correo electrónico no supervisada. No responda a este mensaje.<br /> <span style="color:#072B60;"><a href="#" title="Privacidad" style="color:#072B60; text-decoration:none">Privacidad</a> | <a href="#" title="Información legal" style="color:#072B60; text-decoration:none">Información legal</a></span></p> </td> <td width="20"> </td> <td width="127"><img src="http://redanahuac.mx/portal/img/logo.png" alt="Red de Universidades Anáhuac" border="0"></td> </tr> </table> </td> <td width="29" style="border-bottom:1px solid #e3e3e3;"> </td> <td width="1" style="background:#e3e3e3; border-bottom:1px solid #e3e3e3;"></td> </tr> </table> <!-- --> </td> <td valign="top" width="50%"></td> </tr> </table> </body> </html> '; $mail->send(); }