public function index($estado = '') { if (!$this->user->tieneRol(array('cal-editor', 'cal-publicador'))) { echo 'No tiene permisos'; exit; } $offset = $this->input->get('offset') ? $this->input->get('offset') : 0; $order_by = $this->input->get('order_by') ? $this->input->get('order_by') : 'evento.id ASC'; $per_page = 30; $entidad = UsuarioBackendSesion::getEntidad(); $servicio = UsuarioBackendSesion::getServicio(); $args = array('estado' => $estado, 'actuales' => $estado == 'expirados' ? false : true, 'limit' => $per_page, 'offset' => $offset, 'order_by' => $order_by); $nargs = array('estado' => $estado, 'actuales' => $estado == 'expirados' ? false : true, 'justCount' => TRUE); $eventos = Doctrine::getTable('Evento')->findMaestros($entidad, $servicio, $args); $neventos = Doctrine::getTable('Evento')->findMaestros($entidad, $servicio, $nargs); $this->pagination->initialize(array('base_url' => site_url('backend/eventos/index/?order_by=' . $order_by), 'total_rows' => $neventos, 'per_page' => $per_page, 'first_link' => 'Inicio', 'last_link' => 'Último')); $data['title'] = 'Backend - Eventos'; $data['content'] = 'backend/eventos/index'; $data['eventos'] = $eventos; $data['total'] = $neventos; $data['per_page'] = $per_page; $data['offset'] = $offset; $data['order_by'] = $order_by; $this->load->view('backend/template', $data); }
public function index($estado = '', $flujos = FALSE, $options = array()) { if (!$this->user->tieneRol(array('editor', 'aprobador', 'publicador', 'chilesinpapeleo', 'emprendete'))) { echo 'No tiene permisos'; exit; } $offset = $this->input->get('offset') ? $this->input->get('offset') : 0; $order_by = $this->input->get('order_by') ? $this->input->get('order_by') : 'sf.id ASC'; $titulo = $this->input->post('titulo'); $publico = $this->input->post('publico'); $per_page = 30; $entidad = UsuarioBackendSesion::getEntidad(); $servicio = UsuarioBackendSesion::getServicio(); $args = array('limit' => $per_page, 'offset' => $offset, 'order_by' => $order_by, 'estado' => $estado, 'titulo' => $titulo, 'publico' => $publico, 'flujos' => $flujos); //argumentos para el contador $nargs = array('estado' => $estado, 'justCount' => TRUE, 'titulo' => $titulo, 'publico' => $publico, 'flujos' => $flujos); $subfichas = Doctrine::getTable('SubFicha')->findMaestros($entidad, $servicio, $args); $nsubfichas = Doctrine::getTable('SubFicha')->findMaestros($entidad, $servicio, $nargs); $this->pagination->initialize(array('base_url' => site_url('backend/subfichas/index/' . $estado . '?order_by=' . $order_by), 'total_rows' => $nsubfichas, 'per_page' => $per_page, 'first_link' => 'Inicio', 'last_link' => 'Último')); $data['title'] = 'Backend - SubFichas'; $data['content'] = 'backend/subfichas/index'; $data['subfichas'] = $subfichas; $data['flujos'] = $flujos; $data['per_page'] = $per_page; $data['offset'] = $offset; $data['total'] = $nsubfichas; $data['order_by'] = $order_by; $this->load->view('backend/template', $data); }
function index() { $offset = $this->input->get('offset') ? $this->input->get('offset') : 0; $order_by = $this->input->get('order_by') ? $this->input->get('order_by') : 's.codigo ASC'; $per_page = 30; $entidad = UsuarioBackendSesion::getEntidad(); $servicio = UsuarioBackendSesion::getServicio(); $servicios = Doctrine::getTable('Servicio')->findServicios($entidad, $servicio, array('limit' => $per_page, 'offset' => $offset, 'order_by' => $order_by)); $nservicios = Doctrine::getTable('Servicio')->findServicios($entidad, $servicio, array('justCount' => TRUE)); $data['title'] = 'Backend - Servicios'; $data['content'] = 'backend/servicios/index'; $data['servicios'] = $servicios; $this->pagination->initialize(array('base_url' => site_url('backend/servicios?order_by=' . $order_by), 'total_rows' => $nservicios, 'per_page' => $per_page, 'first_link' => 'Inicio', 'last_link' => 'Último')); $data['per_page'] = $per_page; $data['offset'] = $offset; $data['total'] = $nservicios; $data['order_by'] = $order_by; $this->load->view('backend/template', $data); //$this->output->enable_profiler(TRUE); }
function datatable($estado = '') { $offset = $this->input->get('offset') ? $this->input->get('offset') : 0; $order_by = $this->input->get('order_by') ? $this->input->get('order_by') : 'f.id ASC'; $per_page = 30; $entidad = UsuarioBackendSesion::getEntidad(); $servicio = UsuarioBackendSesion::getServicio(); $fichas = Doctrine::getTable('Ficha')->findMaestros($entidad, $servicio, array('offset' => $offset, 'order_by' => $order_by, 'estado' => $estado)); $aData = array(); foreach ($fichas as $ficha) { $estado0 = ''; $estado1 = ''; $estado2 = ''; $estado0 = $ficha->publicado ? '<span style="display:none">A</span><img src="assets/images/backend/tick.png" alt="Publicado" title="Publicado" />' : anchor("backend/fichas/publicar/" . $ficha->id, '<span style="display:none">B</span><img src="assets/images/backend/cross.png" alt="No Publicado" title="No Publicado" />'); if (count($ficha->Temas) == 0 || count($ficha->HechosVida) == 0) { $estado1 = '<span style="display:none">A</span><a alt="Atención. Esta ficha no tiene asociado un Tema y/o un Hecho de Vida" title="Atención. Esta ficha no tiene asociado un Tema y/o un Hecho de Vida" href="' . site_url('backend/fichas/ver/' . $ficha->id) . '"><img src="assets/images/backend/exclamation.png" /></a>'; } if ($ficha->actualizable) { $estado2 = '<span style="display:none">A</span><a alt="Atención. Esta ficha no está publicada en su última versión." title="Atención. Esta ficha no está publicada en su última versión." href="' . site_url('backend/fichas/ver/' . $ficha->id) . '"><img src="assets/images/backend/arrow_join.png" /></a>'; } $aData[] = array('id' => $ficha->id, 'titulo' => '<a href="' . site_url('backend/fichas/ver/' . $ficha->id) . '">' . $ficha->titulo . '</a>', 'estado0' => $estado0, 'estado1' => $estado1, 'estado2' => $estado2, 'actualizado' => $ficha->updated_at, 'acciones' => '<a title="' . $ficha->titulo . '" href="' . site_url('backend/fichas/editar/' . $ficha->id) . '"><img src="assets/images/backend/pencil.png" title="Editar" /></a><a href="' . site_url('backend/fichas/eliminar/' . $ficha->id) . '" onclick="return confirm(\'¿Está seguro que desea eliminar esta Ficha?\')"><img src="assets/images/backend/delete.png" alt="Eliminar" /></a>'); } //debug($aData); echo '{ "aaData":' . json_encode($aData) . '}'; }
<?php $action_url = isset($fichas) ? site_url('backend/fichas' . ($flujos ? '/listarflujos' : '')) : site_url('backend/subfichas'); ?> <form class="filtro_titulo" method="post" action="<?php echo $action_url; ?> "> <input type="text" name="titulo" size="65" value="" placeholder="Ingrese código, id o nombre del <?php echo $flujos ? 'flujo' : 'trámite'; ?> que desea encontrar" /> <input type="submit" class="boton_filtrar" value="Buscar" /> <input type="hidden" name="entidad_codigo" value="<?php echo UsuarioBackendSesion::getEntidad(); ?> " /> <input type="hidden" name="servicio_codigo" value="<?php echo UsuarioBackendSesion::getServicio(); ?> " /> </form>
<?php $entidad = UsuarioBackendSesion::getEntidad(); $servicio = UsuarioBackendSesion::getServicio(); $cntflujos = FALSE; //deshabilitamos los flujos para que los contadores solo muestren las fichas que faltan procesar (creadas, actualizables, etc) $creadas = Doctrine::getTable('Ficha')->findMaestros($entidad, $servicio, array('estado' => 'creadas', 'justCount' => TRUE, 'flujos' => $cntflujos)); $pendientes = Doctrine::getTable('Ficha')->findMaestros($entidad, $servicio, array('estado' => 'actualizables', 'justCount' => TRUE, 'flujos' => $cntflujos)); $rechazadas = Doctrine::getTable('Ficha')->findMaestros($entidad, $servicio, array('estado' => 'rechazado', 'justCount' => TRUE, 'flujos' => $cntflujos)); $revision = Doctrine::getTable('Ficha')->findMaestros($entidad, $servicio, array('estado' => 'enrevision', 'justCount' => TRUE, 'flujos' => $cntflujos)); $publicados = Doctrine::getTable('Ficha')->findMaestros($entidad, $servicio, array('estado' => 'publicados', 'justCount' => TRUE, 'flujos' => $cntflujos)); $nopublicados = Doctrine::getTable('Ficha')->findMaestros($entidad, $servicio, array('estado' => 'nopublicados', 'justCount' => TRUE, 'flujos' => $cntflujos)); $flujospublicados = Doctrine::getTable('Ficha')->findMaestros($entidad, $servicio, array('estado' => 'publicados', 'justCount' => TRUE, 'flujos' => TRUE)); $metafichas = Doctrine::getTable('Ficha')->findMaestros($entidad, $servicio, array('estado' => 'metafichas', 'justCount' => TRUE, 'flujos' => $cntflujos)); $subfichas_creadas = Doctrine::getTable('SubFicha')->findMaestros($entidad, $servicio, array('estado' => 'creadas', 'justCount' => TRUE)); $subfichas_pendientes = Doctrine::getTable('SubFicha')->findMaestros($entidad, $servicio, array('estado' => 'actualizables', 'justCount' => TRUE)); $subfichas_rechazadas = Doctrine::getTable('SubFicha')->findMaestros($entidad, $servicio, array('estado' => 'rechazado', 'justCount' => TRUE)); $subfichas_revision = Doctrine::getTable('SubFicha')->findMaestros($entidad, $servicio, array('estado' => 'enrevision', 'justCount' => TRUE)); $subfichas_publicados = Doctrine::getTable('SubFicha')->findMaestros($entidad, $servicio, array('estado' => 'publicados', 'justCount' => TRUE)); $subfichas_nopublicados = Doctrine::getTable('SubFicha')->findMaestros($entidad, $servicio, array('estado' => 'nopublicados', 'justCount' => TRUE)); $eventos_publicados = Doctrine::getTable('Evento')->findMaestros($entidad, $servicio, array('estado' => 'publicados', 'actuales' => true, 'justCount' => TRUE)); $eventos_nopublicados = Doctrine::getTable('Evento')->findMaestros($entidad, $servicio, array('estado' => 'nopublicados', 'actuales' => true, 'justCount' => TRUE)); $eventos_rechazados = Doctrine::getTable('Evento')->findMaestros($entidad, $servicio, array('estado' => 'rechazados', 'actuales' => true, 'justCount' => TRUE)); $eventos_expirados = Doctrine::getTable('Evento')->findMaestros($entidad, $servicio, array('estado' => 'expirados', 'justCount' => TRUE)); ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title><?php echo $title;
<select class="selectEntidades chzn-select" name="entidad_codigo" style="width: 95%"> <?php if ($entidades->count() > 1) { echo '<option value="0">Todas</option>'; } foreach ($entidades as $e) { echo '<option value="' . $e->codigo . '" ' . set_select('entidad_codigo', $e->codigo, UsuarioBackendSesion::getEntidad() == $e->codigo) . '>' . $e->nombre . '</option>'; } ?> </select> </td> <td> <select class="selectServicios chzn-select" name="servicio_codigo" style="width: 95%"> <?php if ($servicios->count() > 1) { echo '<option value="0" ' . (UsuarioBackendSesion::getServicio() == '0' ? 'selected="selected"' : '') . '>Todos</option>'; } foreach ($servicios as $s) { echo '<option value="' . $s->codigo . '" ' . set_select('servicio_codigo', $s->codigo, UsuarioBackendSesion::getServicio() == $s->codigo) . '>' . $s->nombre . '</option>'; } ?> </select> </td> <td> <input type="submit" class="boton_filtrar" value="Filtrar" /> </td> </tr> </table> </form> <?php }
function wizard_paso01_path() { //mala onda! tengo un notice que no logré eliminar, así que hice la pillería de deshabilitar todos los errores XD //hay que revisar esto del notice para que quede más optimo el codigo. //error_reporting(E_ALL ^ (E_NOTICE | E_WARNING)); $ruta = $this->input->post('path'); $db_origen = $this->input->post('db_origen'); $db_destino = $this->input->post('db_destino'); $db_user = $this->input->post('user'); $db_pass = $this->input->post('pass'); $this->connect($db_user, $db_pass, $db_destino); $usuario = $_POST['usuario'] ? $_POST['usuario'] : '3'; //id 3 corresponde al usuario administrador $sel_institucion = $_POST['institucion'] ? $_POST['institucion'] : ''; $fecha = date('Y-m-d H:i:s'); $error = ''; $file_exceptions = array('.', '..', 'chileclic-tramite-xhtml.xsl', 'doewa.xsl', 'tramites.xml'); if ($gestor = opendir($ruta)) { while (false !== ($archivo = readdir($gestor))) { if (!in_array($archivo, $file_exceptions)) { $xml = $this->xmlParser($ruta, $archivo); //obtenemos el codigo sgs $query_inst = "SELECT codigo_sgs FROM chileclic141011.institucion WHERE codigo LIKE '" . $xml['codigo'] . "'"; $res = $this->get($query_inst); $codigo_sgs = $res['codigo_sgs']; //si no obtenemos el codigo, no insertamos y arrojamos un alerta para revisar manualmente if ($codigo_sgs) { //verificamos si la institucion seleccionada, corresponde con la institucion del xml if (empty($sel_institucion) || $sel_institucion == $codigo_sgs) { /* SE GENERA MAESTRO CON DATOS BASE */ //se genera la primera version en la DB de las fichas traidas desde ChileClic $insert_maestro = array("maestro" => 1, "publicado" => 1, "publicado_at" => "NULL", "locked" => 0, "estado" => "NULL", "estado_justificacion" => "NULL", "actualizable" => "NULL", "destacado" => 0, "rating" => "NULL", "genero_id" => "NULL", "comentarios" => " '' ", "tipo" => 0, "fichacol" => " '' ", "servicio_codigo" => "'{$codigo_sgs}'", "diagramacion" => 1, "created_at" => "'{$fecha}'", "updated_at" => "'{$fecha}'"); $q_insert_padre = "INSERT INTO " . $db_destino . ".ficha "; $q_insert_padre .= "(" . implode(",", array_keys($insert_maestro)) . ")"; $q_insert_padre .= " VALUES "; $q_insert_padre .= "(" . implode(",", $insert_maestro) . ")"; $this->execute($q_insert_padre); $id_padre = mysql_insert_id(); $insert_clon = array("titulo" => "'" . $xml['titulo'] . "'", "objetivo" => "'<b>Descripción:</b><br/>" . $xml['descripcion'] . " <br /><b>En que consiste:</b><br/>" . $xml['procedimiento'] . "'", "beneficiarios" => "'Para quién: " . $xml['para-quien'] . " <br />A quién esta dirigido: " . $xml['destinatarios'] . " <br />Requisitos: " . $xml['requisitos'] . "'", "costo" => "'" . $xml['costo'] . "'", "vigencia" => "NULL", "plazo" => "'" . $xml['plazo'] . "'", "guia_online" => "'Dónde se realiza: " . $xml['donde'] . " <br /> Resultado: " . $xml['resultado'] . "'", "guia_online_url" => "'" . $xml['enlinea'] . "'", "doc_requeridos" => "'" . $xml['documentos'] . "'", "maestro" => 0, "publicado" => 0, "servicio_codigo" => "'" . $codigo_sgs . "'", "cc_observaciones" => "'" . $xml['observaciones'] . "'", "cc_id" => "'" . $xml['idxml'] . "'", "cc_formulario" => "'" . $xml['formulario'] . "'", "cc_llavevalor" => "'" . $xml['llavevalor'] . "'", "maestro_id" => "'" . $id_padre . "'", "created_at" => "'" . $fecha . "'", "updated_at" => "'" . $fecha . "'"); $q_insert_clon = "INSERT INTO " . $db_destino . ".ficha "; $q_insert_clon .= "(" . implode(",", array_keys($insert_clon)) . ")"; $q_insert_clon .= " VALUES "; $q_insert_clon .= "(" . implode(",", $insert_clon) . ")"; $this->execute($q_insert_clon); $id_clon = mysql_insert_id(); /* GENERAMOS HISTORIAL */ $q_historial = 'INSERT INTO ' . $db_destino . '.historial (ficha_id, ficha_version_id, usuario_backend_id, created_at, updated_at, descripcion) VALUES (' . $id_padre . ',' . $id_clon . ',' . $usuario . ',"' . $fecha . '", "' . $fecha . '", "<p>Se ha creado la ficha</p>")'; $this->execute($q_historial); $q_maestro = 'SELECT * FROM ' . $db_origen . '.ficha WHERE maestro=1 AND cc_id LIKE "' . $xml['idxml'] . '"'; $aDatos = $this->get($q_maestro); //validamos que exista una version en la db de origen if ($aDatos['id']) { //insertamos la ficha ya diagramada $q_insertDiagramada = 'INSERT INTO ' . $db_destino . '.ficha (titulo, alias, objetivo, beneficiarios, costo, vigencia, plazo, guia_online, guia_online_url, guia_oficina, guia_telefonico, guia_correo, marco_legal, doc_requeridos, maestro, publicado, publicado_at, locked, estado, estado_justificacion, actualizable, destacado, servicio_codigo, created_at, updated_at, maestro_id, rating, genero_id, convenio, diagramacion, cc_observaciones, cc_id, cc_formulario, cc_llavevalor, fichacol, comentarios, tipo) VALUES ( "' . mysql_real_escape_string($aDatos['titulo']) . '", "' . mysql_real_escape_string($aDatos['alias']) . '", "' . mysql_real_escape_string($aDatos['objetivo']) . '", "' . mysql_real_escape_string($aDatos['beneficiarios']) . '", "' . mysql_real_escape_string($aDatos['costo']) . '", "' . mysql_real_escape_string($aDatos['vigencia']) . '", "' . mysql_real_escape_string($aDatos['plazo']) . '", "' . mysql_real_escape_string($aDatos['guia_online']) . '", "' . mysql_real_escape_string($aDatos['guia_online_url']) . '", "' . mysql_real_escape_string($aDatos['guia_oficina']) . '", "' . mysql_real_escape_string($aDatos['guia_telefonico']) . '", "' . mysql_real_escape_string($aDatos['guia_correo']) . '", "' . mysql_real_escape_string($aDatos['marco_legal']) . '", "' . mysql_real_escape_string($aDatos['doc_requeridos']) . '", "0", "1", NULL, "0", NULL, NULL, "0", "0", "' . mysql_real_escape_string($codigo_sgs) . '", "' . mysql_real_escape_string($fecha) . '", "' . mysql_real_escape_string($fecha) . '", "' . $id_padre . '", "0", NULL, "0", "1", "' . mysql_real_escape_string($aDatos['cc_observaciones']) . '", "' . mysql_real_escape_string($aDatos['cc_id']) . '", "' . mysql_real_escape_string($aDatos['cc_formulario']) . '", "' . mysql_real_escape_string($aDatos['cc_llavevalor']) . '", "", "", 0 )'; $this->execute($q_insertDiagramada); $id_diagramada = mysql_insert_id(); $q_historial = 'INSERT INTO ' . $db_destino . '.historial (ficha_id, ficha_version_id, usuario_backend_id, created_at, updated_at, descripcion) VALUES (' . $id_padre . ',' . $id_diagramada . ',' . $usuario . ',"' . $fecha . '", "' . $fecha . '", "<p>Se ha creado la ficha diagramada</p>")'; $this->execute($q_historial); /* ACTUALIZAR MAESTRO USANDO FICHA DIAGRAMADA */ $q_updateFichaMaestro = 'UPDATE ' . $db_destino . '.ficha SET titulo="' . mysql_real_escape_string($aDatos['titulo']) . '", alias="' . mysql_real_escape_string($aDatos['alias']) . '", objetivo="' . mysql_real_escape_string($aDatos['objetivo']) . '", beneficiarios="' . mysql_real_escape_string($aDatos['beneficiarios']) . '", costo="' . mysql_real_escape_string($aDatos['costo']) . '", vigencia="' . mysql_real_escape_string($aDatos['vigencia']) . '", plazo="' . mysql_real_escape_string($aDatos['plazo']) . '", guia_online="' . mysql_real_escape_string($aDatos['guia_online']) . '", guia_online_url="' . mysql_real_escape_string($aDatos['guia_online_url']) . '", guia_oficina="' . mysql_real_escape_string($aDatos['guia_oficina']) . '", guia_telefonico="' . mysql_real_escape_string($aDatos['guia_telefonico']) . '", guia_correo="' . mysql_real_escape_string($aDatos['guia_correo']) . '", marco_legal="' . mysql_real_escape_string($aDatos['marco_legal']) . '", doc_requeridos="' . mysql_real_escape_string($aDatos['doc_requeridos']) . '", convenio ="' . mysql_real_escape_string($aDatos['convenio']) . '", cc_observaciones = "' . mysql_real_escape_string($aDatos['cc_observaciones']) . '", cc_id = "' . mysql_real_escape_string($aDatos['cc_id']) . '", cc_formulario = "' . mysql_real_escape_string($aDatos['cc_formulario']) . '", cc_llavevalor = "' . mysql_real_escape_string($aDatos['cc_llavevalor']) . '" WHERE id = ' . $id_padre; $this->execute($q_updateFichaMaestro); } else { $aux = array(); $q_updateFichaMaestro = 'UPDATE ' . $db_destino . '.ficha SET '; $insert_clon['publicado'] = 1; $insert_clon['maestro'] = 1; $insert_clon['maestro_id'] = 'NULL'; foreach ($insert_clon as $key => $value) { $aux[] = $key . "=" . $value; } $q_updateFichaMaestro .= "" . implode(",", $aux) . ""; $q_updateFichaMaestro .= 'WHERE id = ' . $id_padre; //debug($q_updateFichaMaestro); $this->execute($q_updateFichaMaestro); $this->execute("UPDATE {$db_destino}.ficha SET publicado = 1 WHERE id = {$id_clon}"); } //fin DB } //fin validacion institucion } else { //si el xml no está asociado a la tabla que hace la conversion de codigo ChileClic con SGS, avisamos. $error .= '<li>Advertencia! El archivo ' . $archivo . ' tuvo problemas en el proceso de importación, no fue posible obtener codigo SGS, rogamos verificar manualmente</li>'; } } //end if } //end while } else { debug("NOT ABLE TO OPEN PATH"); } $entidad = UsuarioBackendSesion::getEntidad(); $servicio = UsuarioBackendSesion::getServicio(); $servicios = Doctrine::getTable('Servicio')->findServicios($entidad, $servicio, array()); $usuarios = Doctrine::getTable('UsuarioBackend')->todosUsuarios(array('activos' => 1)); $data['title'] = 'Wizard'; $data['content'] = 'backend/mantenimiento/enhorabuena'; $data['usuarios'] = $usuarios; $data['servicios'] = $servicios; $data['errores'] = $error; $this->load->view('backend/template', $data); }