function _F_usuario_acceder($usuario, $clave, $enlazar = true) { global $tablausuarios; $usuario = db_codex(trim($usuario)); $clave = db_codex(trim($clave)); $c = "SELECT " . SQL_CAMPOS_USUARIO . " FROM {$tablausuarios} LEFT JOIN empresa USING (ID_empresa) WHERE LOWER(usuario)=LOWER('{$usuario}') AND clave=SHA1('{$clave}')"; DEPURAR($c, 0); $resultado = db_consultar($c); if ($resultado) { $n_filas = mysql_num_rows($resultado); if ($n_filas == 1) { $_SESSION['autenticado'] = true; $_SESSION['cache_datos_usuario'] = db_fila_a_array($resultado); $c = "UPDATE {$tablausuarios} SET fecha_acceso=NOW() WHERE ID_usuario=" . usuario_cache('ID_usuario'); $resultado = db_consultar($c); db_agregar_datos(db_prefijo . 'acceso', array('ID_empresa' => usuario_cache('ID_empresa'), 'ID_usuario' => usuario_cache('ID_usuario'), 'tiempo' => mysql_datetime())); return 1; } } else { unset($_SESSION['autenticado']); unset($_SESSION['cache_datos_usuario']); echo "Error general al autenticar!" . "<br />"; return 0; } }
function protegerme($solo_salir = false, $niveles_adicionales = array()) { if (usuario_cache('nivel') == NIVEL_administrador) { return; } if (!in_array(usuario_cache('nivel'), $niveles_adicionales)) { if (!$solo_salir) { header('Location: ' . PROY_URL . 'inicio?ref=' . PROY_URL_ACTUAL_DINAMICA); } ob_end_clean(); exit; } }
<tr><th>Primer cargo laboral</th><td><input name="cargo" type="text" value="<?php echo @$_POST['cargo']; ?> " /></td></tr> <tr><th>Fecha de inicio de contratación</th><td><input class="datepicker" name="fecha_inicio" type="text" value="<?php echo @$_POST['fecha_inicio']; ?> " /></td></tr> <tr><th>Salario para este cargo</th><td><input name="salario" type="text" value="<?php echo @$_POST['salario']; ?> " /></td></tr> </table> <?php if (usuario_cache('ui_rrhh_extendido') == 'si') { ?> <h2>Datos opcionales para su uso interno</h2> <table class="t100 tfija"> <tr><th>Fecha de nacimiento</th><td><input name="op_fecha_nacimiento" class="datepicker" type="text" value="<?php echo @$_POST['op_fecha_nacimiento']; ?> " /></td></tr> <tr><th>Lugar de nacimiento</th><td><input name="op_lugar_nacimiento" type="text" value="<?php echo @$_POST['op_lugar_nacimiento']; ?> " /></td></tr> <tr><th>Dirección</th><td><input name="op_direccion" type="text" value="<?php echo @$_POST['op_direccion']; ?> " /></td></tr>
<?php if ($cese['comentario']) { ?> <?php echo $cese['comentario']; ?> <?php } else { ?> No se especificó ningún comentario. <?php } ?> </td> <?php if (0 && $cese['ID_empresa'] == usuario_cache('ID_empresa')) { ?> <tr> <td colspan="2" style="text-align:justify;"><strong>Motivo interno especificado como causa real del cese laboral:</strong> <?php if ($cese['motivo_interno']) { ?> <?php echo $cese['motivo_interno']; ?> <?php } else { ?> No se especificó ningún motivo interno/privado adicional como causa de despido. <?php }
<?php $c = sprintf('SELECT tipo, include, redireccion, ID_contenido, titulo_contenido, contenido, meta_descripcion FROM %s LEFT JOIN %s USING (ID_contenido) WHERE nivel="%s"', db_prefijo . 'inicio', db_prefijo . 'contenido', usuario_cache('nivel')); $r = db_consultar($c); if (!mysql_num_rows($r)) { echo sprintf('<h1>Error</h1><p>No ha definido pagina de inicio para el grupo de nivel %s</p>', usuario_cache('nivel')); } $f = mysql_fetch_assoc($r); switch ($f['tipo']) { case 'contenido': echo '<h1>' . $f['titulo_contenido'] . '</h1>'; eval('?>' . $f["contenido"] . '<?'); break; case 'include': include_once $f['include']; break; case 'redireccion': header('Location: ' . $f['redireccion']); break; }
<?php protegerme(false, array(NIVEL_administrador, NIVEL_empresa)); $c = sprintf('SELECT `ID_mensaje`, `ID_empresa`, `tipo`, `mensaje`, `leido` FROM `mensaje` WHERE ID_empresa=%s', usuario_cache('ID_empresa')); $r = db_consultar($c); $mensajes = ''; if (mysql_num_rows($r)) { while ($f = mysql_fetch_assoc($r)) { $mensajes .= sprintf('<p class="mensaje_%s">%s</p>', $f['tipo'], $f['mensaje']); } } else { $mensajes = '<p class="destacado">Su empresa no tiene nuevos mensajes.</p>'; } ?> <h1>Centro de mensajes y estadísticas | <?php echo usuario_cache('usuario'); ?> | <?php echo usuario_cache('razon_social'); ?> </h1><h1> <h2>Mensajes</h2> <?php echo $mensajes;
<?php /* Construir menues*/ $c = sprintf('SELECT titulo_menu, descripcion_menu, enlace_menu, orden, GROUP_CONCAT(titulo_submenu ORDER BY orden_submenu ASC SEPARATOR "||") AS titulos_submenu, GROUP_CONCAT(enlace_submenu ORDER BY orden_submenu ASC SEPARATOR "||") AS enlaces_submenu FROM %s LEFT JOIN %s USING (ID_menu) WHERE grupo="%s" GROUP BY ID_menu ORDER BY orden ASC ', db_prefijo . 'menu', db_prefijo . 'submenu', usuario_cache('nivel')); $r = db_consultar($c); $arrconst = array('/{PROY_URL}/' => PROY_URL, '/{EMPRESA}/' => usuario_cache('razon_social')); $primero = ' primero'; if (!mysql_num_rows($r)) { ?> <div id="wrapper-menu"> <div id="menu_superior"> <center style="font-size:1.2em;color:#FFF;"><?php echo PROY_NOMBRE; ?> </center> </div> </div> <!-- wrapper menu !--> <?php return; } while ($f = mysql_fetch_assoc($r)) { $arr_submenu = array_combine(split('\\|\\|', $f['titulos_submenu']), split('\\|\\|', $f['enlaces_submenu'])); $submenu = ''; if (strlen($f['titulos_submenu']) > 0) { $subprimero = 'class="primero"'; foreach ($arr_submenu as $titulo => $enlace) { $submenu .= '<li ' . $subprimero . '><a href="' . $enlace . '">' . $titulo . '</a></li>'; $subprimero = ''; } $submenu = '<ul>' . $submenu . '</ul>'; }
This is useful for giving more meaning to column values. Multiple descriptions fields are also possible. Check documentation for this. */ $opts['triggers']['insert']['before'] = 'PHP/-contenido.trigger.inc'; $opts['triggers']['update']['before'] = 'PHP/-contenido.trigger.inc'; $opts['fdd']['ID_contenido'] = array('name' => 'ID contenido', 'select' => 'T', 'options' => 'AVCPDR', 'maxlen' => 10, 'default' => '0', 'sort' => true); $opts['fdd']['enlace_seo'] = array('name' => 'URL', 'select' => 'T', 'maxlen' => 200, 'options' => 'LVPDR', 'sort' => true); $opts['fdd']['enlace_pista'] = array('name' => 'SEO URL', 'select' => 'T', 'maxlen' => 200, 'options' => 'ACPD', 'sort' => true); $opts['fdd']['comentario'] = array('name' => 'Comentario', 'select' => 'T', 'maxlen' => -1, 'textarea' => array('rows' => 2, 'cols' => 70), 'sort' => true); $opts['fdd']['comentario']['trimlen'] = 10; $opts['fdd']['titulo_contenido'] = array('name' => 'Titulo contenido', 'select' => 'T', 'maxlen' => 250, 'sort' => true); $opts['fdd']['contenido'] = array('name' => 'Contenido', 'select' => 'T', 'maxlen' => -1, 'options' => 'ACPD', 'textarea' => array('rows' => 30, 'cols' => 70), 'sort' => true); $opts['fdd']['contenido']['css'] = array('postfix' => 'tinymce'); $opts['fdd']['contenido']['trimlen'] = 50; $opts['fdd']['ID_usuario'] = array('name' => 'ID usuario', 'select' => 'T', 'maxlen' => 10, 'sort' => true); $opts['fdd']['ID_usuario']['values'] = array(usuario_cache('ID_usuario')); $opts['fdd']['ID_usuario']['options'] = 'LV'; $opts['fdd']['fecha_creacion'] = array('name' => 'Fecha creacion', 'select' => 'T', 'maxlen' => 19, 'sort' => true); $opts['fdd']['fecha_creacion']['sqlw'] = 'IF(fecha_creacion = "0000-00-00 00:00:00", now(), $val_qas)'; $opts['fdd']['fecha_modificacion'] = array('name' => 'Fecha modificacion', 'select' => 'T', 'maxlen' => 19, 'sort' => true); $opts['fdd']['fecha_modificacion']['sqlw'] = 'now()'; $arrJS[] = 'tiny_mce/jquery.tinymce'; $arrHEAD[] = JS_onload(' $().ready(function() { $(".pme-input-0-tinymce").tinymce({ // Location of TinyMCE script script_url : "JS/tiny_mce/tiny_mce.js", // General options theme : "advanced", plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,advlist",
<?php if (!isset($_SESSION['cache_datos_usuario']['su'])) { protegerme(); } if (isset($_POST['convertir'])) { if (usuario_cache('nivel') == NIVEL_administrador) { $ID_empresa = $_SESSION['cache_datos_usuario']['ID_empresa']; } if (isset($_SESSION['cache_datos_usuario']['su'])) { $ID_empresa = $_SESSION['cache_datos_usuario']['su']; } $ID_usuario = db_obtener('usuario', 'ID_usuario', 'ID_empresa=' . $_POST['ID_empresa'], 'ORDER BY RAND()'); $_SESSION['cache_datos_usuario'] = _F_usuario_datos($ID_usuario, 'ID_usuario'); $_SESSION['cache_datos_usuario']['nivel'] = NIVEL_empresa; // Por si cae en un no nivel empresa if (isset($ID_empresa)) { $_SESSION['cache_datos_usuario']['su'] = $ID_empresa; } header("Location: " . PROY_URL); exit; } if (isset($_POST['administrar'])) { $_SESSION['cache_datos_usuario']['ID_empresa'] = $_SESSION['cache_datos_usuario']['su']; $_SESSION['cache_datos_usuario']['nivel'] = NIVEL_administrador; unset($_SESSION['cache_datos_usuario']['su']); header("Location: " . PROY_URL); } ?> <h1>Ver sistema como empresa</h1> Esta utilidad le permite cambiar temporalmente su nivel a empresa y su ID_empresa a la que Ud. desee.
['values'] restricts user input to the specified constants, e.g. ['values'] = array('A','B','C') or ['values'] = range(1,99) ['values']['table'] and ['values']['column'] restricts user input to the values found in the specified column of another table ['values']['description'] = 'desc_column' The optional ['values']['description'] field allows the value(s) displayed to the user to be different to those in the ['values']['column'] field. This is useful for giving more meaning to column values. Multiple descriptions fields are also possible. Check documentation for this. */ $opts['fdd']['ID_empleado'] = array('name' => 'ID empleado', 'select' => 'T', 'options' => 'AVCPDR', 'maxlen' => 10, 'default' => '0', 'sort' => true); $opts['fdd']['ID_empresa'] = array('name' => 'Empresa', 'select' => 'T', 'maxlen' => 10, 'sort' => true); $opts['fdd']['ID_empresa']['values']['table'] = db_prefijo . 'empresa'; $opts['fdd']['ID_empresa']['values']['column'] = 'ID_empresa'; $opts['fdd']['ID_empresa']['values']['description'] = 'razon_social'; $opts['fdd']['ID_usuario'] = array('name' => 'ID usuario', 'select' => 'T', 'maxlen' => 10, 'sort' => true); if (isset($_POST['PME_sys_operation']) && $_POST['PME_sys_operation'] == "Agregar") { $opts['fdd']['ID_usuario']['values'] = array(usuario_cache('ID_usuario')); $opts['fdd']['ID_usuario']['description'] = array(usuario_cache('usuario')); } else { $opts['fdd']['ID_usuario']['values']['table'] = db_prefijo . 'usuario'; $opts['fdd']['ID_usuario']['values']['column'] = 'ID_usuario'; $opts['fdd']['ID_usuario']['values']['description'] = 'usuario'; } $opts['fdd']['fecha_ingreso'] = array('name' => 'Fecha ingreso', 'select' => 'T', 'maxlen' => 10, 'sort' => true); $opts['fdd']['DUI'] = array('name' => 'DUI', 'select' => 'T', 'maxlen' => 15, 'sort' => true); $opts['fdd']['NIT'] = array('name' => 'NIT', 'select' => 'T', 'maxlen' => 15, 'sort' => true); $opts['fdd']['nombres'] = array('name' => 'Nombres', 'select' => 'T', 'maxlen' => 100, 'sort' => true); $opts['fdd']['apellidos'] = array('name' => 'Apellidos', 'select' => 'T', 'maxlen' => 100, 'sort' => true); // Now important call to phpMyEdit new phpMyEdit($opts);
echo '<p><input type="button" onclick="javascript:window.close()" value="Cerrar ventana"/></p>'; echo '<hr class="consulta" />'; } else { echo '<h1>Error</h1>'; echo '<p class="error">Lo sentimos, sucedio un error desconocido y su solicitud no pudo ser procesada, puede intentarlo nuevamene si lo desea</p>'; } } } $arrCSS[] = 'overcast/jquery-ui-1.8rc3.custom'; $arrJS[] = 'jquery-ui-1.8rc3.min'; $arrJS[] = 'jquery.ui.datepicker-es'; $strJSDatePicker = "\$('.calendario').datepicker({inline: true, maxDate: '+0', dateFormat: 'yy-mm-dd', changeMonth: true, changeYear: true});"; $strJSMaskTiempo = '$("#tiempo").mask("99:99");'; $strJSCambiarAnexo = '$("#categoria").change( function(){$("#control").toggle($("#categoria").val() != "");} );'; $arrHEAD[] = JS_onload($strJSDatePicker . $strJSMaskTiempo . $strJSCambiarAnexo); $cargos = cargo_obtener_para(usuario_cache('ID_empresa'), $empleado['ID_empleado'], '', '', 'cargo_obtener_para__vista_cargo_amigable', 'ASC'); ?> <h1>Cargos laborales para este empleado</h1> <?php echo $cargos; ?> <h1>Agregar acción de personal para <?php echo $empleado['apellidos'] . ',' . $empleado['nombres']; ?> </h1> <p class="paso">Seleccione el tipo de acción de personal a agregar</p> <form autocomplete="off" action ="<?php echo PROY_URL_ACTUAL_DINAMICA; ?> " method="post"> <table class="tija">
} elseif (!in_array($_POST['paso6'], array('si', 'no'))) { echo '<p class="error">Error: intento de violacion al sistema #6</p>'; $valido = false; } if (!isset($_POST['motivo_interno'])) { $_POST['motivo_interno'] = ''; } if ($valido) { $mensaje[] = array('tipo' => 'info', 'mensaje' => 'El usuario <strong>' . usuario_cache('nombre') . '</strong>, añadió un cese laboral para el empleado <strong>' . $empleado['apellidos'] . ', ' . $empleado['nombres'] . '</strong>.'); $mensaje[] = array('tipo' => 'info', 'mensaje' => '[<strong>SISTEMA-RRHH</strong>] El empleado <strong>' . $empleado['apellidos'] . ', ' . $empleado['nombres'] . '</strong> ya no es un empleado activo de su empresa.'); mensaje(array(usuario_cache('ID_empresa')), $mensaje); empleado_difundir_actualizaciones($empleado['DUI'], $empleado['NIT'], 'ha cesado laborales en la empresa <strong>' . usuario_cache('razon_social') . '</strong>. Según su desempeño laboral, la empresa antes mencionada expresó que <strong>' . $_POST['paso2'] . '</strong>.'); echo '<h1>Registro de cese laboral para ' . $empleado['apellidos'] . ', ' . $empleado['nombres'] . ' @ ' . $empleado['razon_social'] . '; creado</h1>'; echo '<p>El registro del cese laboral ha sido ingresado. Para editar este cese laboral deberá contactar con su ejecutivo de cuenta en ' . PROY_NOMBRE . '.</p>'; $datos['ID_usuario'] = usuario_cache('ID_usuario'); $datos['ID_empresa'] = usuario_cache('ID_empresa'); $datos['ID_empleado'] = $empleado['ID_empleado']; $datos['fecha_ingreso'] = mysql_date(); $datos['motivo'] = $_POST['paso1']; $datos['calificacion'] = $_POST['paso2']; $datos['fecha_cese'] = $_POST['paso3']; $datos['codigo_laboral'] = $_POST['paso1'] == 'Despido' ? $articulo_codigo_laboral : ''; $datos['comentario'] = $_POST['paso5']; $datos['indemnizado'] = $_POST['paso6']; $datos['motivo_interno'] = $_POST['motivo_interno']; db_agregar_datos('cese', $datos); $editable = false; } } if (!$editable) { require_once "-empleado.amigable.cese.reporte.php";
<?php protegerme(); $buffer = ''; if (isset($_POST['saldar']) && isset($_POST['ID_pago']) && is_numeric($_POST['ID_pago'])) { $datos['pendiente'] = 0; $datos['fecha_saldado'] = mysql_datetime(); db_actualizar_datos(db_prefijo . 'empresa_pago', $datos, 'ID_pago=' . $_POST['ID_pago']); $buffer .= '<h2>Resultado</h2><p>El pago pendiente fue saldado.</p>'; } if (isset($_POST['grabar']) && is_array($_POST['ID_empresa'])) { foreach ($_POST['ID_empresa'] as $ID_empresa) { unset($datos); $datos['ID_empresa'] = $ID_empresa; $datos['ID_usuario'] = usuario_cache('ID_usuario'); $datos['fecha_registro'] = mysql_datetime(); $_POST['pendiente'] = (int) @$_POST['pendiente']; if ($_POST['pendiente'] == 0) { $datos['fecha_saldado'] = mysql_datetime(); } if (empty($_POST['cantidad_dias']) && empty($_POST['fecha_fin'])) { $errores[] = 'No especifico duracion en dias ni fecha limite'; } if (!empty($_POST['cantidad_dias']) && is_numeric($_POST['cantidad_dias'])) { $_POST['fecha_fin'] = mysql_date($_POST['fecha_inicio'] . ' +' . $_POST['cantidad_dias'] . ' day'); } if (!preg_match('/\\d{4}-\\d{2}-\\d{2}/', $_POST['fecha_inicio'])) { $errores[] = 'La fecha de inicio no es válida'; } if (!preg_match('/\\d{4}-\\d{2}-\\d{2}/', $_POST['fecha_fin'])) { $errores[] = 'La fecha de fin no es válida';
function empleado_difundir_actualizaciones($DUI, $NIT, $mensaje) { $c = "SELECT `ID_empresa`, `nombres`, `apellidos` FROM `empleado` WHERE ID_empresa <> " . usuario_cache('ID_empresa') . " AND `DUI` = '{$DUI}' AND `NIT` = '{$NIT}' AND (SELECT COUNT(*) FROM cese WHERE cese.ID_empleado=empleado.ID_empleado AND cese.fecha_cese > ALL(SELECT fecha_inicio FROM historial WHERE historial.ID_empleado=empleado.ID_empleado)) = 0"; $r = db_consultar($c); if (!mysql_num_rows($r)) { return false; } while ($f = mysql_fetch_assoc($r)) { $arrID_empresa[] = $f['ID_empresa']; $arrMensaje[] = array('tipo' => 'info', 'mensaje' => 'Se le informa que su empleado <strong>' . $f['apellidos'] . ', ' . $f['nombres'] . '</strong> ' . $mensaje); mensaje($arrID_empresa, $arrMensaje); unset($arrID_empresa, $arrMensaje); } }