2012-09-26 11:07:00 +00:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Modelo para la fotografía del usuario
|
|
|
|
|
*
|
|
|
|
|
*/
|
2012-10-01 15:15:00 +00:00
|
|
|
class FotografiaPerfil {
|
2012-09-26 11:07:00 +00:00
|
|
|
|
2012-10-01 15:15:00 +00:00
|
|
|
public $modelo;
|
2012-09-26 11:07:00 +00:00
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Devuelve la fotografía del usuario
|
|
|
|
|
* @return string
|
|
|
|
|
*/
|
|
|
|
|
public function getThumbnail() {
|
2012-10-01 15:15:00 +00:00
|
|
|
if (!$this->modelo)
|
|
|
|
|
throw new CException(Yii::t('profind', 'Modelo no asignado.'));
|
2012-09-26 11:07:00 +00:00
|
|
|
|
|
|
|
|
if ($this->tieneFotografia()) {
|
|
|
|
|
$fichero = $this->getRutaCompletaFicheroFotografia();
|
|
|
|
|
} else {
|
|
|
|
|
$fichero = Yii::getPathOfAlias('webroot') . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR;
|
|
|
|
|
$fichero .= 'user_photo.jpg';
|
|
|
|
|
}
|
|
|
|
|
$imgdata = base64_encode(file_get_contents($fichero));
|
|
|
|
|
return 'data:image/jpeg;base64,' . $imgdata;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Comprueba si el usuario ha subido su fotografía
|
|
|
|
|
* @return boolean
|
|
|
|
|
*/
|
|
|
|
|
public function tieneFotografia() {
|
2012-10-01 15:15:00 +00:00
|
|
|
if (!$this->modelo)
|
|
|
|
|
throw new CException(Yii::t('profind', 'Modelo no asignado.'));
|
2012-09-26 11:07:00 +00:00
|
|
|
|
|
|
|
|
$fichero = $this->getRutaCompletaFicheroFotografia();
|
|
|
|
|
return file_exists($fichero);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Devuelve la ruta completa (ruta y nombre) del fichero con la fotografía del usuario.
|
|
|
|
|
* @return string ruta completa del fichero
|
|
|
|
|
*/
|
|
|
|
|
private function getRutaCompletaFicheroFotografia() {
|
2012-10-01 15:15:00 +00:00
|
|
|
if (!$this->modelo)
|
|
|
|
|
throw new CException(Yii::t('profind', 'Modelo no asignado.'));
|
2012-09-26 11:07:00 +00:00
|
|
|
|
2012-10-01 15:15:00 +00:00
|
|
|
$upload = $this->modelo->getUploadPath();
|
2012-09-26 11:07:00 +00:00
|
|
|
$nombre = $this->getNombreFicheroFotografia();
|
|
|
|
|
|
|
|
|
|
return $upload . $nombre;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Devuelve el nombre del fichero con la fotografía del usuario.
|
|
|
|
|
* @return string nombre del fichero
|
|
|
|
|
*/
|
|
|
|
|
private function getNombreFicheroFotografia() {
|
2012-10-01 15:15:00 +00:00
|
|
|
if (!$this->modelo)
|
|
|
|
|
throw new CException(Yii::t('profind', 'Modelo no asignado.'));
|
2012-09-26 11:07:00 +00:00
|
|
|
|
2012-10-01 15:15:00 +00:00
|
|
|
return $this->modelo->id . '.jpg';
|
2012-09-26 11:07:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Guarda una fotografía subida por el usuario
|
|
|
|
|
* return CUploadedFile fichero subido
|
|
|
|
|
*/
|
|
|
|
|
public function guardarFotografia($fichero) {
|
2012-10-01 15:15:00 +00:00
|
|
|
if (!$this->modelo)
|
|
|
|
|
throw new CException(Yii::t('profind', 'Modelo no asignado.'));
|
2012-09-26 11:07:00 +00:00
|
|
|
|
|
|
|
|
if ($fichero) {
|
|
|
|
|
$nombre = $this->getRutaCompletaFicheroFotografia();
|
|
|
|
|
return $fichero->saveAs($nombre);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Elimina la fotografía del usuario
|
|
|
|
|
* return bool
|
|
|
|
|
*/
|
|
|
|
|
public function eliminarFotografia() {
|
2012-10-01 15:15:00 +00:00
|
|
|
if (!$this->modelo)
|
|
|
|
|
throw new CException(Yii::t('profind', 'Modelo no asignado.'));
|
2012-09-26 11:07:00 +00:00
|
|
|
|
|
|
|
|
$fichero = $this->getRutaCompletaFicheroFotografia();
|
|
|
|
|
return unlink($fichero);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
?>
|