public function registrar($codigo, $codigoCarpeta = '') { if (Proyecto_model::existe($codigo)) { $proyecto = new Proyecto_model(); if ($proyecto->estado($codigo) != 'Cerrado') { if ($this->session->userdata('usuario') == 'admin' || Proyecto_model::existeEmpleado($codigo, $this->session->userdata('email'))) { if (!is_dir(getcwd() . '/archivos/proyectos/')) { mkdir(getcwd() . '/archivos/proyectos/', 0755); } if (!is_dir(getcwd() . '/archivos/proyectos/' . $codigo)) { mkdir(getcwd() . '/archivos/proyectos/' . $codigo, 0755); } $archivo = new Archivo_model(); $cod = ''; //Si queremos registrar una carpeta if ($this->input->post('nombreCarpeta') != '') { if ($codigoCarpeta != '') { $aux = $archivo->inicializar('carpeta', $codigo, $codigoCarpeta); $cod = $archivo->codigo(); } else { $aux = $archivo->inicializar('carpeta', $codigo); $cod = $archivo->codigo(); } } else { if ($codigoCarpeta == '') { $aux = $archivo->inicializar('proyecto', $codigo); $cod = $archivo->codigo(); } else { $aux = $archivo->inicializar('proyecto', $codigo, $codigoCarpeta); $cod = $archivo->codigo(); } } if (!is_array($aux)) { if ($codigoCarpeta == '') { $this->listar($codigo); } else { $this->listar($codigo, $codigoCarpeta); } $empleados = array(); $e = new Usuario_model(); foreach (Proyecto_model::empleadosProyecto($codigo) as $empl) { if ($e->tipo($empl->EmailEmpleado) == 'empleado') { $empleados[$empl->EmailEmpleado] = 'empleados'; } else { $empleados[$empl->EmailEmpleado] = $e->tipo($empl->EmailEmpleado); } } $numArchivos = 1; if (isset($_FILES['archivos'])) { $numArchivos = count($_FILES['archivos']['tmp_name']); } for ($i = $numArchivos; $i != 0; $i--) { $pusher = array('codigo' => $cod, 'carpeta' => $codigoCarpeta, 'proyecto' => $codigo, 'nombre' => $archivo->nombre($cod), 'ruta' => $archivo->ruta($cod), 'tamanyo' => $archivo->tamanyo($cod), 'extension' => $archivo->extension($cod), 'fechaCompleta' => date('d-m-Y', strtotime($archivo->fecha($cod))), 'fecha' => date('d M Y', strtotime($archivo->fecha($cod))), 'hora' => date('H:i A', strtotime($archivo->fecha($cod))), 'empleado' => $this->session->userdata('nombre') . ' ' . $this->session->userdata('apellidos'), 'empleados' => $empleados); $this->pusher->trigger('private-notificaciones-empleado', 'crear-archivo', $pusher); $cod--; } } else { if ($codigoCarpeta == '') { $this->listar($codigo, '', $aux); } else { $this->listar($codigo, $codigoCarpeta, $aux); } } if ($codigoCarpeta != '') { if ($this->session->userdata('usuario') == 'admin') { redirect("admin/proyecto/archivos/{$codigo}/{$codigoCarpeta}"); } else { redirect("empleados/proyecto/archivos/{$codigo}/{$codigoCarpeta}"); } } else { if ($this->session->userdata('usuario') == 'admin') { redirect("admin/proyecto/archivos/{$codigo}"); } else { redirect("empleados/proyecto/archivos/{$codigo}"); } } } else { $error = array('error' => 'No puedes registrar archivos en este proyecto'); $this->listar($codigo, '', $error); } } else { $error = array('error' => 'El proyecto esta cerrado'); $this->listar($codigo, '', $error); } } else { $this->mostrar($datos); } }
public function modificar($email = '') { $empleado = new Empleado_model(); $this->titulo = 'modificar empleado'; $this->estilo = array('jquery-te-1.3.3', 'registrar', 'jquery-ui'); $this->javascript = array('jquery-ui', 'fecha', 'ciudades', 'jquery.validate.min', 'validarEmpleadoAct'); if ($this->uri->segment(1) == 'empleado') { $this->permisos('empleado'); $this->pagina = 'crear empleado'; $this->carpeta = 'administrador'; $datos['user'] = '******'; $datos['datos'] = TRUE; $empleado->datos($this->session->userdata('email')); $email = $empleado->email(); $datos['email'] = $email; } elseif ($this->session->userdata('usuario') == 'admin' && $this->uri->segment(2) == 'datos') { $this->permisos('admin'); $this->pagina = 'crear empleado'; $this->carpeta = 'administrador'; $datos['user'] = '******'; $datos['datos'] = TRUE; $empleado->datos($this->session->userdata('email')); $email = $empleado->email(); $datos['email'] = $email; } else { $this->permisos('admin'); $this->form_validation->set_error_delimiters('<span class="text-error">', '</span>'); $email = urldecode($email); $this->pagina = 'crear empleado'; $this->carpeta = 'administrador'; $this->menu = 'menu_admin_empleados'; $datos['email'] = $email; $datos['actualizar'] = TRUE; $empleado->datos($email); } if (Empleado_model::existe($empleado->email())) { $datos['provincias'] = $this->Provincia->obtener(); $datos['ciudades'] = $this->Ciudad->ciudades($empleado->provincia($email, TRUE)); $datos['imagen'] = $empleado->foto($email); $formulario = $this->formulario_registro(); $formulario['nombre']['input']['value'] = $empleado->nombre(); $formulario['apellidoPaterno']['input']['value'] = $empleado->primerApellido(); $formulario['apellidoMaterno']['input']['value'] = $empleado->segundoApellido(); $formulario['fechaNacimiento']['input']['value'] = $empleado->fechaNacimiento(); $formulario['direccion']['input']['value'] = $empleado->direccion(); $formulario['provincia']['input']['value'] = $empleado->provincia($email, TRUE); $formulario['ciudad']['input']['value'] = $empleado->ciudad($email, TRUE); $formulario['telefono']['input']['value'] = $empleado->telefono(); $formulario['email']['input']['value'] = $empleado->email(); $formulario['cargo'] = array('label' => array('accesskey' => '', 'name' => 'Cargo'), 'input' => array('class' => 'cargo', 'id' => 'cargo', 'name' => 'cargo', 'maxlength' => '60', 'size' => '15', 'value' => $empleado->cargo()), 'requerido' => TRUE); $formulario['password']['requerido'] = FALSE; $formulario['passconf']['requerido'] = FALSE; $formulario['salario'] = array('label' => array('accesskey' => '', 'name' => 'Salario'), 'input' => array('class' => 'salario', 'id' => 'salario', 'name' => 'salario', 'maxlength' => '60', 'size' => '15', 'value' => $empleado->salario()), 'requerido' => FALSE); $formulario['fechaContratacion'] = array('label' => array('accesskey' => '', 'name' => 'Fecha de contratación'), 'input' => array('class' => 'fechaContratacion', 'id' => 'fAlta', 'name' => 'fAlta', 'maxlength' => '60', 'size' => '15', 'value' => $empleado->fechaContratacion()), 'requerido' => FALSE); $formulario['fechaFinContrato'] = array('label' => array('accesskey' => '', 'name' => 'Fecha fin de contrato'), 'input' => array('class' => 'fechaFinContrato', 'id' => 'fBaja', 'name' => 'fBaja', 'maxlength' => '60', 'size' => '15', 'value' => $empleado->fechaFinContrato()), 'requerido' => FALSE); $datos['formulario'] = $formulario; foreach ($datos['formulario'] as &$input) { if ($input['input']['class'] != 'password' && $input['input']['class'] != 'passconf') { if ($input['input']['value'] == 'Desconocido' || $input['input']['value'] == 'Desconocida') { $input['input']['value'] = ''; } } if ($input['input']['class'] == 'salario' && $input['input']['value'] == 0) { $input['input']['value'] = ''; } } $datos['boton'] = array('class' => 'btn btn-info', 'name' => 'button', 'id' => 'boton_empleado'); $email = $empleado->email(); if ($this->_validar()) { $codigo = ''; $archivo = new Archivo_model(); if ($empleado->foto($email, TRUE) != 0) { $archivo->datos($empleado->foto($email, TRUE)); $archivo->actualizar($empleado->foto($email, TRUE), 'foto'); } else { if ($_FILES['archivo']['name'] != '') { if ($archivo->inicializar('foto')) { $codigo = $archivo->codigo(); } } } if ($empleado->actualizar($email, $codigo)) { $empleado->datos($email); $datos['provincias'] = $this->Provincia->obtener(); $datos['ciudades'] = $this->Ciudad->ciudades($empleado->provincia($email, TRUE)); $datos['imagen'] = $empleado->foto($email); $formulario = $this->formulario_registro(); $formulario['nombre']['input']['value'] = $empleado->nombre(); $formulario['apellidoPaterno']['input']['value'] = $empleado->primerApellido(); $formulario['apellidoMaterno']['input']['value'] = $empleado->segundoApellido(); $formulario['fechaNacimiento']['input']['value'] = $empleado->fechaNacimiento(); $formulario['direccion']['input']['value'] = $empleado->direccion(); $formulario['provincia']['input']['value'] = $empleado->provincia($email, TRUE); $formulario['ciudad']['input']['value'] = $empleado->ciudad($email, TRUE); $formulario['telefono']['input']['value'] = $empleado->telefono(); $formulario['email']['input']['value'] = $empleado->email(); $formulario['cargo'] = array('label' => array('accesskey' => '', 'name' => 'Cargo'), 'input' => array('class' => 'cargo', 'label' => 'Cargo', 'name' => 'cargo', 'maxlength' => '60', 'size' => '15', 'value' => $empleado->cargo()), 'requerido' => TRUE); $formulario['salario'] = array('label' => array('accesskey' => '', 'name' => 'Salario'), 'input' => array('class' => 'salario', 'label' => 'Salario', 'name' => 'salario', 'maxlength' => '60', 'size' => '15', 'value' => $empleado->salario()), 'requerido' => FALSE); $formulario['fechaContratacion'] = array('label' => array('accesskey' => '', 'name' => 'Fecha de contratación'), 'input' => array('class' => 'fechaContratacion', 'label' => 'Fecha contratación', 'name' => 'fAlta', 'maxlength' => '60', 'size' => '15', 'value' => $empleado->fechaContratacion()), 'requerido' => FALSE); $formulario['fechaFinContrato'] = array('label' => array('accesskey' => '', 'name' => 'Fecha fin de contrato'), 'input' => array('class' => 'fechaFinContrato', 'label' => 'Fin de contrato', 'name' => 'fBaja', 'maxlength' => '60', 'size' => '15', 'value' => $empleado->fechaFinContrato()), 'requerido' => FALSE); $datos['formulario'] = $formulario; foreach ($datos['formulario'] as &$input) { if ($input['input']['class'] != 'password' && $input['input']['class'] != 'passconf') { if ($input['input']['value'] == 'Desconocido' || $input['input']['value'] == 'Desconocida') { $input['input']['value'] = ''; } } } $this->exito = 'El empleado ha sido actualizado satisfactoriamente'; } else { $this->error = array('nivel' => '2', 'mensaje' => 'No se ha podido completar la actualización por favor inténtelo de nuevo más tarde'); } } } else { $this->error = array('nivel' => '1', 'mensaje' => 'No existe el empleado indicado.'); } $this->mostrar($datos); }