Пример #1
0
 /**
  * Definir con publicacion
  *
  * @param mixed Instancia de Publicacion
  */
 public function definir_con_publicacion(Publicacion $p)
 {
     // Imponer estas propiedades en la publicación
     $p->en_raiz = $this->en_raiz;
     $p->en_otro = $this->en_otro;
     // Validar publicación
     $p->validar();
     // Definir parámetros desde la publicación
     $this->nombre = $p->nombre;
     $this->directorio = $p->directorio;
     $this->descripcion = $p->descripcion;
     $this->autor = $p->autor;
     $this->fecha = $p->fecha_con_formato_humano();
     $this->imagen_id = $p->imagen_id;
     $this->imprenta_titulo = $p->imprenta_titulo;
     // La imagen puede ser la imagen_previa o el icono
     if ($p->imagen != '' && $p->imagen_previa != '') {
         $this->imagen = $p->imagen;
         $this->imagen_previa = $p->imagen_previa;
     } elseif ($p->imagen_previa != '') {
         $this->imagen = $p->imagen_previa;
         $this->imagen_previa = $p->imagen_previa;
     } elseif ($p->imagen != '') {
         $this->imagen = $p->imagen;
         $this->imagen_previa = $p->imagen;
     } elseif ($p->icono != '') {
         $this->imagen = $p->icono;
         $this->imagen_previa = '';
     } else {
         $this->imagen = '';
         $this->imagen_previa = '';
     }
     // Definir el vínculo
     if ($p->archivo != '') {
         $this->vinculo = "{$p->archivo}.html";
         // Es una página
     } elseif ($p->url != '') {
         $this->vinculo = $p->url;
         // Apunta a otra dirección en internet
     } else {
         $this->vinculo = '';
     }
 }