Exemple #1
0
 function conf_evt__cuadro__eliminar(toba_evento_usuario $evt)
 {
     $usuario = $evt->get_parametros();
     if ($usuario == toba::usuario()->get_id()) {
         $evt->anular();
     }
 }
 function __construct($info)
 {
     $this->info = $info;
     parent::__construct(toba::memoria()->get_item_solicitado(), toba::usuario()->get_id());
     $this->log = toba::logger_ws();
     toba::proyecto()->configurar_logger_ws();
 }
 function __construct($info)
 {
     $this->info = $info;
     $_SERVER["REMOTE_ADDR"] = "localhost";
     $_SERVER["REQUEST_METHOD"] = "GET";
     parent::__construct(toba::memoria()->get_item_solicitado(), toba::usuario()->get_id());
 }
Exemple #4
0
 function crear_usuario_para_auditoria($db)
 {
     if ($this->definicion['tiene_auditoria'] == '1') {
         $usuario = toba::usuario()->get_id();
         if (!isset($usuario)) {
             $usuario = 'publico';
         }
         $id_solicitud = $db->quote(toba::instancia()->get_id_solicitud());
         $usuario = $db->quote($usuario);
         $sql = 'CREATE TEMP TABLE tt_usuario ( usuario VARCHAR(60), id_solicitud INTEGER);';
         if (isset($this->definicion['permisos_por_tabla']) && $this->definicion['permisos_por_tabla'] == '1') {
             $id_operacion = toba::memoria()->get_item_solicitado();
             $rol_runtime = toba_modelo_proyecto::get_rol_prueba_db_basico($this->definicion['fuente_datos']);
             //Obtengo el rol basico de prueba
             $rol_operacion = toba_modelo_proyecto::get_rol_prueba_db($this->definicion['fuente_datos'], $id_operacion['1']);
             //Obtengo el particular para la operacion
             if ($db->existe_rol($rol_operacion)) {
                 //Si existe el rol para la operacion entonces lo seteo como el apropiado
                 $rol_runtime = $rol_operacion;
             }
             $sql .= "GRANT SELECT, INSERT ON tt_usuario TO {$rol_runtime} ;";
         }
         $sql .= "INSERT INTO tt_usuario (usuario, id_solicitud) VALUES ({$usuario}, {$id_solicitud})";
         $db->ejecutar($sql);
     }
 }
Exemple #5
0
 function __construct($info)
 {
     $this->info = $info;
     if (toba_editor::activado()) {
         toba_editor::set_item_solicitado(toba::memoria()->get_item_solicitado());
     }
     parent::__construct(toba::memoria()->get_item_solicitado(), toba::usuario()->get_id());
 }
Exemple #6
0
 /**
  * 	Log de modificacion de un OBJETO TOBA
  */
 function evt__post_sincronizacion()
 {
     $clave = $this->objeto_relacion->tabla('base')->get_clave_valor(0);
     $schema_logs = toba::db()->get_schema() . '_logs';
     $usuario = toba::usuario()->get_id();
     $sql = "INSERT INTO {$schema_logs}.apex_log_objeto (usuario, objeto_proyecto, objeto, observacion)\n\t\t\t\tVALUES ('{$usuario}','{$clave['proyecto']}','{$clave['objeto']}',NULL)";
     ejecutar_fuente($sql, $this->objeto_relacion->get_fuente());
 }
 function conf__cuadro(toba_ei_cuadro $cuadro)
 {
     $usuario = toba::usuario()->get_id();
     $sql = "select * from dato_personal where usuario='" . $usuario . "'";
     $resultado = toba::db('encuesta')->consultar($sql);
     if (count($resultado) > 0) {
         $this->s__tipo = $resultado[0]['tipo'];
         $this->s__doc = $resultado[0]['nro_doc'];
         $cuadro->set_datos($this->dep('datos')->tabla('encuesta')->get_listado_ayc(null, $this->s__tipo, $this->s__doc, 5));
     }
 }
Exemple #8
0
 function fotos()
 {
     $proyecto = quote(toba_editor::get_proyecto_cargado());
     $usuario = quote(toba::usuario()->get_id());
     $sql = "SELECT \n\t\t\t\t\tfoto_nombre, \n\t\t\t\t\tfoto_nodos_visibles,\n\t\t\t\t\tfoto_opciones\n\t\t\t\tFROM apex_arbol_items_fotos fotos\n\t\t\t\tWHERE \n\t\t\t\t\tfotos.proyecto = {$proyecto} AND\n\t\t\t\t\tfotos.usuario = {$usuario}\n\t\t\t";
     toba::db()->ejecutar($sql);
     $fotos_en_crudo = $res->GetArray();
     $fotos = array();
     foreach ($fotos_en_crudo as $foto) {
         $fotos[] = array('foto_nombre' => $foto['foto_nombre'], 'foto_nodos_visibles' => unserialize(stripslashes($foto['foto_nodos_visibles'])), 'foto_opciones' => unserialize(stripslashes($foto['foto_opciones'])));
     }
     return $fotos;
 }
 function conf__cuadro(toba_ei_cuadro $cuadro)
 {
     $usuario = toba::usuario()->get_id();
     //recupero datos del usuario logueado
     $sql = "select * from dato_personal where usuario='" . $usuario . "'";
     $resultado = toba::db('encuesta')->consultar($sql);
     if (count($resultado) > 0) {
         $this->s__tipo = $resultado[0]['tipo'];
         $this->s__doc = $resultado[0]['nro_doc'];
         //trae solo las encuestas abiertas o cerradas
         $cuadro->set_datos($this->dep('datos')->tabla('encuesta')->control_por_usuario($this->s__where, $this->s__tipo, $this->s__doc));
     }
 }
 function conf__cuadro(toba_ei_cuadro $cuadro)
 {
     //solo debo mostrar las encuestas que se encuentran cerradas
     $usuario = toba::usuario()->get_id();
     //recupero datos del usuario logueado
     $sql = "select * from dato_personal where usuario='" . $usuario . "'";
     $resultado = toba::db('encuesta')->consultar($sql);
     if (count($resultado) > 0) {
         $this->s__tipo = $resultado[0]['tipo'];
         $this->s__doc = $resultado[0]['nro_doc'];
         $cuadro->set_datos($this->dep('datos')->tabla('encuesta')->get_listado_ayc($this->s__where, $this->s__tipo, $this->s__doc, 2));
     }
 }
Exemple #11
0
 /**
  * Metodo que retorna los datos para cargar el app_launcher, se obtienen del usuario y de la clase de autenticacion
  */
 private function cargar_app_launcher_data()
 {
     // datos por defecto
     $appLauncherDataDefault = array('usuario_id' => toba::usuario()->get_id(), 'usuario_nombre' => toba::usuario()->get_nombre(), 'usuario_foto' => toba_recurso::imagen_toba('usuarios/foto_perfil_defecto.png'), 'aplicaciones' => array());
     // datos provenientes de la autenticacion
     $atributos_usuario = toba::manejador_sesiones()->get_autenticacion()->get_atributos_usuario();
     if (isset($atributos_usuario['appLauncherData']) && !empty($atributos_usuario['appLauncherData'])) {
         $appLauncherData = json_decode(current($atributos_usuario['appLauncherData']), true);
     } else {
         $appLauncherData = array();
     }
     // mergeo entre los datos por defecto y los datos de la autenticacion
     return array_merge($appLauncherDataDefault, $appLauncherData);
 }
 function conf__cuadro(toba_ei_cuadro $cuadro)
 {
     $this->pantalla()->tab("pant_seccion")->desactivar();
     $this->pantalla()->tab("pant_pregunta")->desactivar();
     $this->pantalla()->tab("pant_opcion")->desactivar();
     $usuario = toba::usuario()->get_id();
     //recupero datos del usuario logueado
     $sql = "select * from dato_personal where usuario='" . $usuario . "'";
     $resultado = toba::db('encuesta')->consultar($sql);
     if (count($resultado) > 0) {
         $this->s__tipo = $resultado[0]['tipo'];
         $this->s__doc = $resultado[0]['nro_doc'];
         $cuadro->set_datos($this->dep('datos')->tabla('encuesta')->get_listado_ayc($this->s__where, $this->s__tipo, $this->s__doc, 3));
     }
 }
Exemple #13
0
 function fotos($nombre = null)
 {
     $proyecto = quote(toba_editor::get_proyecto_cargado());
     $usuario = quote(toba::usuario()->get_id());
     $tipo = quote($this->tipo);
     $where_nombre = '';
     if ($nombre !== null) {
         $where_nombre = ' AND fotos.foto_nombre = ' . quote($nombre);
     }
     $sql = "SELECT \n\t\t\t\t\tfoto_nombre, \n\t\t\t\t\tfoto_nodos_visibles,\n\t\t\t\t\tfoto_opciones,\n\t\t\t\t\tpredeterminada\n\t\t\t\tFROM apex_admin_album_fotos fotos\n\t\t\t\tWHERE \n\t\t\t\t\tfotos.proyecto = {$proyecto} AND\n\t\t\t\t\tfotos.usuario = {$usuario} AND\n\t\t\t\t\tfotos.foto_tipo = {$tipo}\n\t\t\t\t\t{$where_nombre}\n\t\t\t\t\tAND fotos.foto_nombre != '" . apex_foto_inicial . "'\n\t\t\t";
     $fotos_en_crudo = toba::db()->consultar($sql);
     $fotos = array();
     foreach ($fotos_en_crudo as $foto) {
         $fotos[] = array('foto_nombre' => $foto['foto_nombre'], 'foto_nodos_visibles' => unserialize(stripslashes($foto['foto_nodos_visibles'])), 'foto_opciones' => unserialize(stripslashes($foto['foto_opciones'])), 'predeterminada' => $foto['predeterminada']);
     }
     return $fotos;
 }
Exemple #14
0
 /**
  * Valida que el usuario actual tenga un permiso particular
  *
  * @param string $derecho Indice del permiso a validar
  * @param boolean $lanzar_excepcion Si el usuario no posee el permiso, se lanza una excepción, sino retorna falso
  * @throws toba_error_permisos
  */
 function validar($derecho, $lanzar_excepcion = true)
 {
     //El usuario tiene el permiso
     if ($this->chequear($derecho)) {
         return true;
     }
     //No tiene el permiso, tratar de ver si el permiso existe y cuales son sus datos
     $rs = toba::proyecto()->get_descripcion_permiso($derecho);
     if (empty($rs)) {
         throw new toba_error_def("El permiso '{$derecho}' no se encuentra definido en el sistema.");
     }
     if (!$lanzar_excepcion) {
         return false;
     } else {
         if (isset($rs['mensaje_particular'])) {
             throw new toba_error_permisos($rs['mensaje_particular']);
         } else {
             $usuario = toba::usuario()->get_id();
             $descripcion = isset($rs['descripcion']) ? $rs['descripcion'] : $derecho;
             throw new toba_error_permisos("El usuario {$usuario} no posee el derecho '{$descripcion}'");
         }
     }
 }
Exemple #15
0
 function ini()
 {
     //Recupero todos los gadgets asociados a este usuario en el proyecto actual
     $this->gadgets_base = toba::proyecto()->get_gadgets_proyecto(toba::usuario()->get_id());
 }
Exemple #16
0
 /**
  *	Inicializacion de un ITEM nuevo, llega el DR vacio
  */
 function inicializar_item($dr)
 {
     //Ver si el padre viene por post
     $padre_i = toba::memoria()->get_parametro('padre_i');
     $padre_p = toba::memoria()->get_parametro('padre_p');
     if (isset($padre_p) && isset($padre_i)) {
         $datos = array('item' => id_temporal);
         $datos['padre'] = $padre_i;
         $datos['padre_proyecto'] = $padre_p;
     }
     $dr->tabla('base')->set($datos);
     //Le agrego el permiso del usuario actual
     foreach (toba::usuario()->get_grupos_acceso() as $grupo) {
         $permiso_usuario_actual = array('usuario_grupo_acc' => $grupo);
         $dr->tabla('permisos')->nueva_fila($permiso_usuario_actual);
     }
 }
Exemple #17
0
 /**
  * Retorna la lista de proyectos a los cuales el usuario actual puede ingresar
  */
 function get_proyectos_accesibles($refrescar = false)
 {
     if ($refrescar || !isset($this->memoria['proyectos_accesibles'])) {
         $usuario = $this->get_db()->quote(toba::usuario()->get_id());
         $sql = "SELECT \t\tp.proyecto, \n\t    \t\t\t\t\t\tp.descripcion_corta\n\t    \t\t\t\tFROM \tapex_proyecto p,\n\t    \t\t\t\t\t\tapex_usuario_proyecto up\n\t    \t\t\t\tWHERE \tp.proyecto = up.proyecto\n\t\t\t\t\t\tAND  \tlistar_multiproyecto = 1 \n\t\t\t\t\t\tAND\t\tup.usuario = {$usuario}\n\t\t\t\t\t\tORDER BY orden;";
         $this->memoria['proyectos_accesibles'] = $this->get_db()->consultar($sql, toba_db_fetch_num);
     }
     return $this->memoria['proyectos_accesibles'];
 }
Exemple #18
0
 /**
  *	Retorna la lista de proyectos que contiene items exportables
  */
 static function get_proyectos_con_items_exportables()
 {
     $usuario = toba_contexto_info::get_db()->quote(toba::usuario()->get_id());
     $sql = "\n\t\t\tSELECT \t\n\t\t\t\tp.proyecto, \n\t\t\t\tp.descripcion_corta\n\t\t\tFROM\n\t\t\t \tapex_proyecto p,\n\t\t\t\tapex_usuario_proyecto up\n\t\t\tWHERE \t\n\t\t\t\tp.proyecto = up.proyecto\n\t\t\tAND\tup.usuario = {$usuario}\n\t\t\tAND (SELECT COUNT(*) FROM apex_item \n\t\t\t\t\tWHERE proyecto = p.proyecto AND exportable=1) > 0\n\t\t\tORDER BY orden;";
     return toba_contexto_info::get_db()->consultar($sql);
 }
 function conf__formulario(toba_ei_formulario $form)
 {
     if ($this->s__mostrar == 1) {
         // si presiono el boton alta entonces muestra el formulario para dar de alta un nuevo registro
         $this->dep('formulario')->descolapsar();
         $form->ef('denominacion')->set_obligatorio('true');
         $form->ef('nro_resol')->set_obligatorio('true');
         $form->ef('fecha_resol')->set_obligatorio('true');
         $form->ef('fec_desde')->set_obligatorio('true');
         $form->ef('fec_hasta')->set_obligatorio('true');
         $form->ef('palabras_clave')->set_obligatorio('true');
         $form->ef('objetivo')->set_obligatorio('true');
     } else {
         $this->dep('formulario')->colapsar();
     }
     if ($this->dep('datos')->tabla('pextension')->esta_cargada()) {
         $datos = $this->dep('datos')->tabla('pextension')->get();
         if ($datos['financiacion'] == true) {
             $datos['financiacion'] = 'SI';
         }
         if ($datos['financiacion'] == false) {
             $datos['financiacion'] = 'NO';
         }
         $form->set_datos($datos);
     }
     //pregunto si el usuario logueado esta asociado a un perfil para desactivar los campos que no debe completar
     $perfil = toba::usuario()->get_perfil_datos();
     if ($perfil != null) {
         //si esta asociado a un perfil de datos entonces no permito que toquen los sig campos
         $form->ef('codigo')->set_solo_lectura(true);
         $form->ef('nro_ord_cs')->set_solo_lectura(true);
         $form->ef('res_rect')->set_solo_lectura(true);
         $form->ef('expediente')->set_solo_lectura(true);
         $form->ef('estado')->set_solo_lectura(true);
         $form->ef('financiacion')->set_solo_lectura(true);
         $form->ef('monto')->set_solo_lectura(true);
         $form->ef('fecha_rendicion')->set_solo_lectura(true);
         $form->ef('rendicion_monto')->set_solo_lectura(true);
         $form->ef('fecha_prorroga1')->set_solo_lectura(true);
         $form->ef('fecha_prorroga2')->set_solo_lectura(true);
         $form->ef('observacion')->set_solo_lectura(true);
         $form->ef('estado_informe_a')->set_solo_lectura(true);
         $form->ef('estado_informe_f')->set_solo_lectura(true);
     }
     //print_r($perfil);
 }
 function generar_formulario($tit)
 {
     echo '<html>';
     echo '<head>';
     echo "<script type='text/javascript'>";
     //funcion que recibe los id de las preguntas tipo checkbox que son obligatorias y chequea que complete alguna opcion
     echo "function revisar_checkbox(preguntas){" . "long=preguntas.length;" . "for(var h=0;h<long;h++){" . "ok=0;" . "elementos=(document.getElementsByClassName((preguntas[h]).toString()));" . "longitud=elementos.length;" . "for(var k=0;k<longitud;k++){" . "elemento=elementos[k].childNodes;" . "if (elemento[0].checked == true){" . "ok=1;" . "};" . "}" . "if(ok == 0){" . "alert('Seleccione al menos una opcion en las preguntas que poseen un asterisco');" . "return false;" . "}" . "else{return true;}" . "}" . "}";
     //fin de la funcion
     //las funciones mostrar_dep y ocultar_dep se utilizan para radio, checkbox, text, textarea y date
     echo "function mostrar_dep(preguntas){" . "for(var i=0;i<preguntas.length;i++){document.getElementById(preguntas[i]).style.display='block'}" . "}";
     echo "function ocultar_dep(preguntas){" . "for(var i=0;i<preguntas.length;i++){document.getElementById(preguntas[i]).style.display='none';" . "}" . "}";
     //fin de la funcion ocultar_dep
     //la funcion mostrar se utiliza para el select
     //recibe un arreglo con los id de las preguntas que debo mostrar/ocultar
     //seguido de un -1
     //seguido de los id de las opciones que activan dependencias
     //el ultimo elemento es el id de la opcion que se selecciono
     echo "function mostrar(preguntas){" . "if(preguntas[0]!=-1){" . "var long=preguntas.length-1;" . "var i=1;var encontrado=false;" . "var opcion=preguntas[long];" . "while ((preguntas[i]!=-1)){" . "i=i+1;" . "}" . "if(preguntas[i]==-1){" . "var k=i+1;" . "var j=0;" . "while (!encontrado && (k<preguntas.length-1)){" . "if (preguntas[k]==opcion){" . "encontrado=true;" . "}else{k=k+1;}" . "}" . "if(!encontrado){" . "for(var h=j;h<i;h++){document.getElementById(preguntas[h]).style.display='none';" . "elementos=(document.getElementsByName((preguntas[h]).toString()));" . "long=elementos.length;" . "for(var k=0;k<long;k++){" . "elemento=elementos[k];" . "tipo=(elementos[k].type);" . "switch (tipo){" . "case 'select-one':elemento.selectedIndex='0';elemento.required=false; break;" . "case 'radio':elemento.checked=false; elemento.required=false;break;" . "case 'textarea':elemento.value=''; break;" . "}" . "}" . "elementos=(document.getElementsByClassName((preguntas[h]).toString()));" . "long=elementos.length;" . "for(var k=0;k<long;k++){" . "elemento=elementos[k].childNodes;" . "tipo=elemento[0].type;" . "if(tipo=='checkbox'){elemento[0].checked=false; elemento[0].required=false;}" . "}" . "}" . "} else{for(var h=j;h<i;h++){document.getElementById(preguntas[h]).style.display='block';}}" . "}" . "}" . "}";
     echo "</script>";
     echo '</head>';
     echo '<body>';
     echo "<div id='responder'>";
     //preguntas de estilo VR obligatorias que no dependen de una anterior
     //no controlo las que dependen de una anterior porque me genera problema cuando se ocultar
     $sql = "select distinct t_p.id_pregunta from pregunta t_p  LEFT JOIN seccion t_s ON(t_p.id_sec=t_s.id_seccion) where t_s.id_enc=" . $this->s__encuesta['id_encuesta'] . " and es_obligatoria=true and estilo='VR' and depende_de_anterior is null";
     $resul = toba::db('encuesta')->consultar($sql);
     $preg = '[';
     foreach ($resul as $key => $value) {
         $preg .= $value['id_pregunta'] . ',';
     }
     $preg .= ']';
     echo "<form name='formulario' action='procesar.php' id='formulario' method='post' onsubmit='return revisar_checkbox({$preg})' >";
     //echo "<form name='formulario' action='procesar.php' id='formulario' method='post' >";
     //le mandamos el documento del encuestado para que despues setee que respondio la encuesta
     $usuario = toba::usuario()->get_id();
     //recupero datos del usuario logueado
     $sql = "select * from dato_personal where trim(usuario)='" . $usuario . "'";
     $resultado = toba::db('encuesta')->consultar($sql);
     //creo campos ocultos para enviar informacion, no quiero que se vean en el formulario
     echo "<input type='hidden' value='" . $resultado[0]['nro_doc'] . "' name='doc_encuestado'>";
     echo "<input type='hidden' value='" . $resultado[0]['tipo'] . "' name='tipo_encuestado'>";
     $id = $this->s__encuesta;
     echo "<input type='hidden' value='" . $id['id_encuesta'] . "' name='id_encuesta'>";
     $this->generar_formulario_encabezado($tit);
     //genera los secciones de la encuesta
     $this->generar_formulario_pregunta();
     echo "<button style='background-color: #FF9900;font-size:20px' type='submit' name='id_encuesta' value=" . $id['id_encuesta'] . "><b>Confirmar</b></button>";
     //paso el id de la encuesta como valor del boton
     echo '</form>';
     echo '</div>';
     echo '</body>';
     echo '</html>';
 }
Exemple #21
0
 function set_estado($estado = null)
 {
     $this->estado = toba::usuario()->get_id();
     return true;
 }
 function armar_usuario_nuevo($apellido, $nombre)
 {
     $seguir = false;
     $cont = 1;
     while ($seguir) {
         $usuario = strtolower(substr($nombre, 0, $cont) . trim($apellido));
         $esta = toba::usuario()->existe_usuario($usuario);
         if ($esta) {
             $cont = $cont + 1;
         } else {
             $seguir = false;
         }
     }
     return $usuario;
 }
 /**
  *	Determina los ids de restricciones funcionales pertenecientes al usuario actual segun sus perfiles activos
  */
 function get_restricciones_funcionales()
 {
     return toba::usuario()->get_restricciones_funcionales($this->get_perfiles_funcionales_activos());
 }
Exemple #24
0
 function get_usuario_actual()
 {
     if (php_sapi_name() === 'cli') {
         return null;
     } else {
         return toba::usuario()->get_id();
     }
 }
 function __construct($info)
 {
     $this->info = $info;
     parent::__construct(toba::memoria()->get_item_solicitado(), toba::usuario()->get_id());
 }
Exemple #26
0
 static function set_parametros_previsualizacion_db($datos)
 {
     $rs = self::get_parametros_previsualizacion_db();
     $datos = quote($datos);
     $proyecto = quote(self::get_proyecto_cargado());
     $usuario = quote(toba::usuario()->get_id());
     if (!$rs) {
         $sql = "INSERT INTO apex_admin_param_previsualizazion (perfil_datos, grupo_acceso, punto_acceso, proyecto, usuario) \n\t\t\t\t\tVALUES ({$datos['perfil_datos']}, {$datos['grupo_acceso']}, {$datos['punto_acceso']}, {$proyecto}, {$usuario});";
     } else {
         $sql = "UPDATE apex_admin_param_previsualizazion\n\t\t\t\t\tSET grupo_acceso = {$datos['grupo_acceso']}, \n\t\t\t\t\t\tperfil_datos = {$datos['perfil_datos']}, \n\t\t\t\t\t\tpunto_acceso = {$datos['punto_acceso']}\n\t\t\t\t\tWHERE proyecto = {$proyecto}\n\t\t\t\t\tAND usuario = {$usuario};";
     }
     //Esto se accede solo desde el ADMIN
     toba::db()->ejecutar($sql);
 }
 function get_permutas_externas($where = null)
 {
     if (!is_null($where)) {
         $where = ' where ' . $where;
     } else {
         $where = '';
     }
     $x = toba::usuario()->get_id();
     $z = toba::usuario()->get_perfil_datos($x);
     //si el usuario esta asociado a un perfil de datos
     if (isset($z)) {
         //si una variable está definida y no es NULL
         $sql = "select sigla,descripcion from unidad_acad ";
         $sql = toba::perfil_de_datos()->filtrar($sql);
         $resul = toba::db('designa')->consultar($sql);
         $sql = "select * from(" . "select t_d.id_designacion,t_a.anio,t_do.apellido||', '||t_do.nombre as docente_nombre,t_do.legajo,t_d.cat_mapuche,t_d.cat_estat||'-'||t_d.dedic as cat_estat,t_d.carac,t_d.desde,t_d.hasta,t_de.descripcion as departamento,t_ar.descripcion as area,t_o.descripcion as orientacion,\n                        t_e.uni_acad as uni_acad,t_d.uni_acad as ua, t_m.desc_materia,t_m.cod_siu,t_e.cod_carrera,t_e.ordenanza,t_mo.descripcion as modulo\n                        from designacion t_d \n                        LEFT OUTER JOIN departamento t_de ON (t_d.id_departamento=t_de.iddepto)\n                        LEFT OUTER JOIN area t_ar ON (t_d.id_area=t_ar.idarea)\n                        LEFT OUTER JOIN orientacion t_o ON (t_d.id_orientacion=t_o.idorient and t_ar.idarea=t_o.idarea),\n                        asignacion_materia t_a,  materia t_m, plan_estudio t_e, docente t_do, modulo t_mo\n                        where t_a.id_designacion=t_d.id_designacion\n                        and t_a.id_materia=t_m.id_materia\n                        and t_m.id_plan=t_e.id_plan\n                        and t_d.id_docente=t_do.id_docente\n                        and t_a.modulo=t_mo.id_modulo\n                        and t_e.uni_acad<>t_d.uni_acad\n                        and t_d.uni_acad<>'" . $resul[0]['sigla'] . "'" . " and t_e.uni_acad='" . $resul[0]['sigla'] . "'" . ")b {$where}" . " order by docente_nombre";
     } else {
         //el usuario no esta asociado a ningun perfil de datos
         $sql = "select * from(" . " select t_d.id_designacion,t_a.anio,t_do.apellido||', '||t_do.nombre as docente_nombre,t_do.legajo,t_d.cat_mapuche,t_d.cat_estat||'-'||t_d.dedic as cat_estat,t_d.carac,t_d.desde,t_d.hasta,t_de.descripcion as departamento,t_ar.descripcion as area,t_o.descripcion as orientacion,\n                        t_e.uni_acad as uni_acad,t_d.uni_acad as ua, t_m.desc_materia,t_m.cod_siu,t_e.cod_carrera,t_e.ordenanza,t_mo.descripcion as modulo\n                        from designacion t_d \n                        LEFT OUTER JOIN departamento t_de ON (t_d.id_departamento=t_de.iddepto)\n                        LEFT OUTER JOIN area t_ar ON (t_d.id_area=t_ar.idarea)\n                        LEFT OUTER JOIN orientacion t_o ON (t_d.id_orientacion=t_o.idorient and t_ar.idarea=t_o.idarea),\n                        asignacion_materia t_a,  materia t_m, plan_estudio t_e, docente t_do, modulo t_mo\n                        where t_a.id_designacion=t_d.id_designacion\n                        and t_a.id_materia=t_m.id_materia\n                        and t_m.id_plan=t_e.id_plan\n                        and t_d.id_docente=t_do.id_docente\n                        and t_a.modulo=t_mo.id_modulo\n                        and t_e.uni_acad<>t_d.uni_acad\n                        )b {$where}";
     }
     return toba::db('designa')->consultar($sql);
 }
 function evt__notificar()
 {
     $usuario = toba::usuario()->get_id();
     $sql = "select * from dato_personal where usuario='" . $usuario . "'";
     $resultado = toba::db('encuesta')->consultar($sql);
     if (count($resultado) > 0) {
         $this->s__tipo = $resultado[0]['tipo'];
         $this->s__doc = $resultado[0]['nro_doc'];
         $encuestados = $this->dep('datos')->tabla('encuesta')->notificar_encuestados($this->s__tipo, $this->s__doc);
         require_once '3ros/phpmailer/class.phpmailer.php';
         require_once '3ros/phpmailer/class.smtp.php';
         foreach ($encuestados as $value) {
             /*envio de notificacion al encuestado*/
             $correoe = $value['correo_electronico'];
             $nombree = $value['nombre'] . ", " . $value['apellido'];
             $mensaje = utf8_decode(" Te invitamos a contestar las encuestas de las materias que has cursado durante 2015. Estas encuestas son anónimas, el registro de las respuestas no contiene ninguna conexión con el usuario. Para acceder a contestar ingresá en: http://toba.fi.uncoma.edu.ar/encuesta/1.0/") . " Tu Usuario es:" . $value['usuario'] . " Tu clave es:" . $value['nro_doc'];
             //$observac=$nombree." Te invitamos a contestar las encuestas en: http://toba.fi.uncoma.edu.ar/encuesta/1.0/ "." Tu Usuario es:".$value['usuario']." Tu clave es:".$value['nro_doc'] ;
             $observac = $nombree . $mensaje . utf8_decode(". Tu opinión nos ayuda a mejorar. Gracias por tu aporte!");
             $mail = new PHPMailer();
             $mail->IsSMTP();
             $mail->SMTPAuth = true;
             // enable SMTP authentication
             $mail->SMTPSecure = 'ssl';
             // sets the prefix to the servier
             $mail->Host = 'smtp.gmail.com';
             // sets GMAIL as the SMTP server
             $mail->Port = 465;
             // set the SMTP port for the GMAIL server
             $mail->Username = '******';
             // GMAIL username --cambiar por subsecretariati@fi.uncoma.edu.ar
             $mail->Password = '******';
             // GMAIL password
             $mail->TimeOut = 100;
             //seteo From:
             $mail->SetFrom('*****@*****.**', 'Sistema de Encuestas Digitales');
             //cambiar por subsecretariati@fi.uncoma.edu.ar o lidia.lopez@fi.uncoma.edu.ar
             //seteo To:
             //$mail->AddAddress($correoe,$nombree);//correo y nombre del encuestado
             $mail->AddCC($correoe, $nombree);
             //seteo el Subject
             $mail->Subject = 'Notificación Encuestas';
             //cambie comilla doble por simple
             $mail->ContentType = 'text/html;charset=utf-8\\r\\n';
             //la agregue nueva
             //seteo el body
             $mail->Body = $observac;
             //"<b>Mensaje de prueba en formato html</b>"
             if ($mail->Send()) {
                 echo "Mensaje enviado correctamente";
             } else {
                 echo "Problemas enviando correo electrónico a " . $mail->ErrorInfo;
             }
         }
     }
 }
Exemple #29
0
 protected function info_usuario()
 {
     echo '<div class="enc-usuario">';
     echo "<span class='enc-usuario-nom'>" . texto_plano(toba::usuario()->get_nombre()) . "</span>";
     echo "<span class='enc-usuario-id'>" . texto_plano(toba::usuario()->get_id()) . "</span>";
     echo '</div>';
 }