diff --git a/private/lib/dao/DaoSaveableInterface.php b/private/lib/dao/DaoSaveableInterface.php index c4257d1..758ce02 100644 --- a/private/lib/dao/DaoSaveableInterface.php +++ b/private/lib/dao/DaoSaveableInterface.php @@ -18,7 +18,6 @@ interface DaoSaveable { /** * Costruisce l'oggetto a partire dai dati raw di mongo - * @param string $collectionName Nome della collezione da cui proviene l'oggetto * @param stdClass $obj dati raw di mongo */ public static function buildFromSaveableObj($obj); diff --git a/private/lib/lib.inclusions.php b/private/lib/lib.inclusions.php index ab379af..a501767 100644 --- a/private/lib/lib.inclusions.php +++ b/private/lib/lib.inclusions.php @@ -31,7 +31,7 @@ require_once(dirname(__FILE__)."/dao/lib.inclusion.php"); require_once(dirname(__FILE__)."/task/lib.inclusion.php"); -// require_once(dirname(__FILE__)."/media/lib.inclusion.php"); +require_once(dirname(__FILE__)."/media/lib.inclusion.php"); // asdasdasd diff --git a/private/lib/media/HasMediaInterface.php b/private/lib/media/HasMediaInterface.php index b272a9c..5df27ab 100644 --- a/private/lib/media/HasMediaInterface.php +++ b/private/lib/media/HasMediaInterface.php @@ -30,7 +30,7 @@ interface HasMediaInterface{ * Setta il media principale * @param MediaModel $media */ - public function setMainMedia(MediaModel $media); + public function setMainMedia(MediaInterface $media); /** * Restituisce la reference (id) del main media diff --git a/private/lib/media/MediaHandler.php b/private/lib/media/MediaHandler.php index 317e2f0..ae06999 100644 --- a/private/lib/media/MediaHandler.php +++ b/private/lib/media/MediaHandler.php @@ -66,7 +66,8 @@ class MediaHandler{ $mediaId = $media->getReference(); if(sizeof($mediaArr)>0){ - if($key = array_search($mediaId, $mediaArr) !== false){ /*:TODO check con riky*/ + $key = array_search($mediaId, $mediaArr); + if($key !== false){ unset($mediaArr[$key]); $model->setMediaReferences($mediaArr); @@ -88,10 +89,19 @@ class MediaHandler{ } /** - * + * Setta l'owner al MediaModel + * @param HasMediaInterface $model + * @param MediaModel $media + */ + public static function setOwnerToMedia(HasMediaInterface $model, MediaModel $media){ + $media->setOwnerReference($model); + } + + /** + * * @param MediaInterface $media * @throws MediaException - * @return unknown + * @return DaoSaveable */ public static function getMediaOwnerFromMedia(MediaInterface $media){ $ownerRef = $media->getOwnerReference(); @@ -103,11 +113,6 @@ class MediaHandler{ } } - - public static function setMediaOwner(){ - - } - /** * * @param HasMediaInterface $model @@ -127,7 +132,7 @@ class MediaHandler{ * Prende in ingresso un HasMediaInterface ritorna un array di un elemento array("mainMedia"=>"&value"); * * @param HasMediaInterface $model - * @return multitype:NULL + * @return array */ public static function getMainMediaFromModel(HasMediaInterface $model){ $mainMedia = $model->getMainMediaReference(); diff --git a/private/lib/media/MediaInterface.php b/private/lib/media/MediaInterface.php index fbd7682..7f15804 100644 --- a/private/lib/media/MediaInterface.php +++ b/private/lib/media/MediaInterface.php @@ -1,20 +1,6 @@ array("label"=>"Youtube"), - self::TYPE_IMAGE=>array("label"=>"Image"), - self::TYPE_HTML5=>array("label"=>"Html5"), - self::TYPE_PDF=>array("label"=>"Pdf"), - self::TYPE_LOCALVIDEO=>array("label"=>"Local Video") - ); public function asText(); diff --git a/private/lib/media/MediaModel.php b/private/lib/media/MediaModel.php index 290d0cc..9ef44d4 100644 --- a/private/lib/media/MediaModel.php +++ b/private/lib/media/MediaModel.php @@ -1,33 +1,49 @@ array("label"=>"Youtube"), + self::TYPE_IMAGE=>array("label"=>"Image"), + self::TYPE_HTML5=>array("label"=>"Html5"), + self::TYPE_PDF=>array("label"=>"Pdf"), + self::TYPE_LOCALVIDEO=>array("label"=>"Local Video") + ); + + private $mediaRenderer; + public function __construct($saveableObject = null){ - if(property_exists($saveableObject, mediaType)){ - parent::__construct($saveableObject); - if ($this->type == self::TYPE_HTML5){ + parent::__construct($saveableObject); + if($this->hasProperty("mediaType")){ + if ($this->mediaType == self::TYPE_HTML5){ $this->mediaRenderer = new MediaHtml5($this); } - if ($this->type == self::TYPE_LOCALVIDEO){ + if ($this->mediaType == self::TYPE_LOCALVIDEO){ $this->mediaRenderer = new MediaLocalVideo($this); } - if ($this->type == self::TYPE_IMAGE){ + if ($this->mediaType == self::TYPE_IMAGE){ $this->mediaRenderer = new MediaImage($this); } - if ($this->type == self::TYPE_PDF){ + if ($this->mediaType == self::TYPE_PDF){ $this->mediaRenderer = new MediaPdf($this); } - if ($this->type == self::TYPE_YOUTUBE){ + if ($this->mediaType == self::TYPE_YOUTUBE){ $this->mediaRenderer = new MediaYoutube($this); } } else{ - throw new MediaException("Invalid media type for Media; mediatype '".$mediaType."'"); + throw new MediaException("Missing mediatype for Media in MediaModel construct"); } } - private function asText(){ + public function asText(){ return $this->mediaRenderer->asText(); } @@ -36,7 +52,7 @@ class MediaModel extends Model implements MediaInterface{ } public function getType(){ - return $this->type; + return $this->mediaType; } public function getTitle(){ @@ -57,5 +73,7 @@ class MediaModel extends Model implements MediaInterface{ public function getReference(){ return $this->id; } + + } ?> \ No newline at end of file diff --git a/public/index.php b/public/index.php index db0b2e5..4193e38 100644 --- a/public/index.php +++ b/public/index.php @@ -7,33 +7,37 @@ Creation Date: 22/dic/2015 require_once(dirname(__FILE__)."/load.php"); try { -// var_dump($dao->query("notizia")); - TestTask::setActive(false); - echo "

"; - $models = $dao->query("NotiziaModel"); - $model = reset($models); + $media = new MediaModel(); - var_dump($model); - echo "

"; - $model->immagini = array(); +// // var_dump($dao->query("notizia")); +// TestTask::setActive(false); +// echo "

"; - $model->immagini[] = "1.jpg"; - $model->immagini[] = "2.jpg"; - $model->about->giorno = "boh"; +// $models = $dao->query("NotiziaModel"); +// $model = reset($models); - if ($model->hasProperty("about")){ - echo "esiste"; - } - else { - echo "non esiste"; - } +// var_dump($model); +// echo "

"; - var_dump($model); - echo "

"; +// $model->immagini = array(); - $dao->save($model); +// $model->immagini[] = "1.jpg"; +// $model->immagini[] = "2.jpg"; +// $model->about->giorno = "boh"; + +// // if ($model->hasProperty("about")){ +// // echo "esiste"; +// // } +// // else { +// // echo "non esiste"; +// // } + +// var_dump($model); +// echo "

"; + +// $dao->save($model); } catch (Exception $ex){