expedienteDocumentos = new ArrayCollection(); } public function __sleep() { return array('id', 'ruta_documento', 'requisito_inscripcion_id', 'persona_id'); } /** * Get id * * @return integer */ public function getId() { return $this->id; } /** * Set ruta_documento * * @param string $rutaDocumento * @return EstudianteDocumento */ public function setRutaDocumento($rutaDocumento) { $this->ruta_documento = $rutaDocumento; return $this; } /** * Get ruta_documento * * @return string */ public function getRutaDocumento() { return $this->ruta_documento; } /** * Add expedienteDocumentos * * @param \UBV\SurUbvBundle\Entity\ExpedienteDocumento $expedienteDocumentos * @return EstudianteDocumento */ public function addExpedienteDocumento(\UBV\SurUbvBundle\Entity\ExpedienteDocumento $expedienteDocumentos) { $this->expedienteDocumentos[] = $expedienteDocumentos; return $this; } /** * Remove expedienteDocumentos * * @param \UBV\SurUbvBundle\Entity\ExpedienteDocumento $expedienteDocumentos */ public function removeExpedienteDocumento(\UBV\SurUbvBundle\Entity\ExpedienteDocumento $expedienteDocumentos) { $this->expedienteDocumentos->removeElement($expedienteDocumentos); } /** * Get expedienteDocumentos * * @return \Doctrine\Common\Collections\Collection */ public function getExpedienteDocumentos() { return $this->expedienteDocumentos; } /** * Set requisitoInscripcion * * @param \UBV\SurUbvBundle\Entity\RequisitoInscripcion $requisitoInscripcion * @return EstudianteDocumento */ public function setRequisitoInscripcion(\UBV\SurUbvBundle\Entity\RequisitoInscripcion $requisitoInscripcion) { $this->requisitoInscripcion = $requisitoInscripcion; return $this; } /** * Get requisitoInscripcion * * @return \UBV\SurUbvBundle\Entity\RequisitoInscripcion */ public function getRequisitoInscripcion() { return $this->requisitoInscripcion; } /** * Set persona * * @param \UBV\SurUbvBundle\Entity\Persona $persona * @return EstudianteDocumento */ public function setPersona(\UBV\SurUbvBundle\Entity\Persona $persona) { $this->persona = $persona; return $this; } /** * Get persona * * @return \UBV\SurUbvBundle\Entity\Persona */ public function getPersona() { return $this->persona; } /** * Sets file. * * @param UploadedFile $file */ public function setFile(UploadedFile $file = null) { $this->file = $file; // check if we have an old image path if (isset($this->ruta_documento)) { // store the old name to delete after the update $this->temp = $this->ruta_documento; $this->ruta_documento = null; } else { $this->ruta_documento = 'initial'; } } /** * Get file. * * @return UploadedFile */ public function getFile() { return $this->file; } public function getAbsolutePath() { return null === $this->ruta_documento ? null : $this->getUploadRootDir() . '/' . $this->ruta_documento; } public function getWebPath() { return null === $this->ruta_documento ? null : $this->getUploadDir() . '/' . $this->ruta_documento; } protected function getUploadRootDir() { // la ruta absoluta del directorio donde se deben // guardar los archivos cargados return __DIR__ . '/../../../../web/' . $this->getUploadDir(); } protected function getUploadDir() { // se deshace del __DIR__ para no meter la pata // al mostrar el documento/imagen cargada en la vista. return 'uploads/Documentos/'.$persona = $this->getPersona()->getId().'/Estudiante'; } /** * @ORM\PrePersist() * @ORM\PreUpdate() */ public function preUpload() { if (null !== $this->getFile()) { // haz lo que quieras para generar un nombre único //$filename = sha1(uniqid(mt_rand(), true)); if($this->getRequisitoInscripcion() === "Propuesta de Investigación"){ $filename = $this->getFile()->getClientOriginalName(); }else{ $filename = $this->getRequisitoInscripcion(); } //$filename = md5(uniqid()); $existe = file_exists($this->getUploadDir() . "/" . $filename . "." . $this->getFile()->guessExtension()); if ($existe == true) { //die("esxiste"); $this->ruta_documento = $filename . '_' . sha1(uniqid(mt_rand(), true)) . '.' . $this->getFile()->guessExtension(); } else { $this->ruta_documento = $filename . '.' . $this->getFile()->guessExtension(); } } } /** * @ORM\PostPersist() * @ORM\PostUpdate() */ public function upload() { // the file property can be empty if the field is not required if (null === $this->getFile()) { return; } // si hay un error al mover el archivo, move() automáticamente // envía una excepción. This will properly prevent // the entity from being persisted to the database on error $this->getFile()->move($this->getUploadRootDir(), $this->ruta_documento); // check if we have an old image if (isset($this->temp)) { // delete the old image unlink($this->getUploadRootDir() . '/' . $this->temp); // clear the temp image path $this->temp = null; } $this->file = null; } /** * @ORM\PostRemove() */ public function removeUpload() { if ($file = $this->getAbsolutePath()) { unlink($file); } } /** * Set estatus * * @param boolean $estatus * @return EstudianteDocumento */ public function setEstatus($estatus) { $this->estatus = $estatus; return $this; } /** * Get estatus * * @return boolean */ public function getEstatus() { return $this->estatus; } }