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()); }
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); } }
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()); }
/** * 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)); } }
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)); } }
/** * 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)); } }
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; }
/** * 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}'"); } } }
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()); }
/** * 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); } }
/** * 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']; }
/** * 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>'; }
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()); }
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()); }
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; } } } }
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>'; }