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); } }