MediaHandler, Mediamodel, HasMediaModel testate e SEMBRANO funzionare

This commit is contained in:
Lorenzo Giacomelli
2016-01-14 13:26:21 +01:00
parent fe4df0463e
commit 714ceaadb1
4 changed files with 62 additions and 29 deletions
+4 -4
View File
@@ -27,13 +27,13 @@ interface HasMediaInterface{
public function getMediaReferences();
/**
* Setta il media principale
* @param MediaModel $media
* Setta la reference del media principale
* @param MediaInterface $media
*/
public function setMainMedia(MediaInterface $media);
public function setMainMedia(MediaInterface $media=null);
/**
* Restituisce la reference (id) del main media
* Restituisce la reference (id) del main media, se non esiste ritorna null
* @return MongoId
*/
public function getMainMediaReference();
+11 -3
View File
@@ -43,7 +43,7 @@ abstract class HasMediaModel extends Model implements HasMediaInterface{
* @see HasMediaInterface::getMediaReferences()
*/
public function getMediaReferences(){
if($this->hasProperty("mediaReferences")){
if(!$this->hasProperty("mediaReferences")){
$this->mediaReferences = array();
}
return $this->mediaReferences;
@@ -53,8 +53,13 @@ abstract class HasMediaModel extends Model implements HasMediaInterface{
* (non-PHPdoc)
* @see HasMediaInterface::setMainMedia()
*/
public function setMainMedia(MediaInterface $media){
$this->mainMedia = $media->getReference();
public function setMainMedia(MediaInterface $media=null){
if(!is_null($media)){
$this->mainMedia = $media->getReference();
}
else{
$this->mainMedia=null;
}
}
/**
@@ -62,6 +67,9 @@ abstract class HasMediaModel extends Model implements HasMediaInterface{
* @see HasMediaInterface::getMainMediaReference()
*/
public function getMainMediaReference(){
if(!$this->hasProperty("mainMedia")){
$this->mainMedia = null;
}
return $this->mainMedia;
}
+18 -17
View File
@@ -10,12 +10,12 @@ class MediaHandler{
*
* Ritorna un array coi le reference dei media della news
*/
public static function getMedias(HasMediaInterface $model,MediaInterface $media){
public static function getMedias(HasMediaInterface $model){
$newsReference = $model->getMediaReferences();
$rval = array();
$rval = $dao->query("MediaModel",array($newsReference["id"]),array());
// var_dump($newsReference);
$rval = GlobalVariables::get("dao")->query("MediaModel",array('id'=>array('$in'=>$newsReference)),array());
// var_dump($rval);
return $rval;
}
@@ -44,7 +44,8 @@ class MediaHandler{
GlobalVariables::get("dao")->save($model);
$media->setOwnerReference($model);
MediaHandler::setOwnerToMedia($model, $media);
// $media->setOwnerReference($model);
GlobalVariables::get("dao")->save($media);
}
}catch(CoreException $ex){
@@ -66,13 +67,18 @@ class MediaHandler{
$mediaArr = $model->getMediaReferences();
$mediaId = $media->getReference();
var_dump($mediaArr);
// var_dump($mediaArr);
if(sizeof($mediaArr)>0){
$key = array_search($mediaId, $mediaArr);
if($key !== false){
unset($mediaArr[$key]);
$model->setMediaReferences($mediaArr);
if($model->getMainMediaReference() == $mediaId){
// echo "UGUALE!";
$model->setMainMedia(null);
}
GlobalVariables::get("dao")->save($model);
GlobalVariables::get("dao")->delete($media);
@@ -134,21 +140,16 @@ class MediaHandler{
* Prende in ingresso un HasMediaInterface ritorna un array di un elemento array("mainMedia"=>"&value");
*
* @param HasMediaInterface $model
* @return array
* @return MediaModel
*/
public static function getMainMediaFromModel(HasMediaInterface $model){
$mainMedia = $model->getMainMediaReference();
$modelRef = $model->getReference();
$rval = array();
$tmp = GlobalVariables::get("dao")->getFirst($modelRef->class,array("id"=>$modelRef->id));
if(!is_null($tmp)){
$rval["mainMedia"] = $tmp->mainMedia;
$tmp = null;
if(!is_null($mainMedia)){
$tmp = GlobalVariables::get("dao")->getFirst("MediaModel",array("id"=>$mainMedia));
}
return $rval;
// var_dump($tmp);
return $tmp;
}
}
+29 -5
View File
@@ -13,6 +13,7 @@ try {
$prova->link = "www.pene.com";
$media = new MediaModel($prova);
$media2= new MediaModel($prova);
// $media->renderMedia();
$news = new NotiziaModel();
@@ -20,22 +21,45 @@ try {
GlobalVariables::get("dao")->save($news);
GlobalVariables::get("dao")->save($media);
GlobalVariables::get("dao")->save($media2);
MediaHandler::addMedia($news, $media);
MediaHandler::addMedia($news, $media2);
// var_dump($news);
// echo "<br/><br/>";
// var_dump($media);
// echo "<br/><br/>";
$medias = MediaHandler::getMedias($news);
// echo "medias "; PHP_EOL.var_dump($medias).PHP_EOL;
MediaHandler::setMainMediaToModel($news, $media);
echo "<br/><br/>";
var_dump($news);
echo "<br/><br/>";
echo "<br/><br/>";
var_dump($media);
echo "<br/><br/>";
$mainmedia = MediaHandler::getMainMediaFromModel($news);
// echo "<br/><br/>";
// var_dump($mainmedia);
// echo "<br/><br/>";
MediaHandler::deleteMedia($news,$media);
echo "<br><br>";
var_dump($news);
MediaHandler::deleteMedia($news,$media2);
echo "<br><br>";
var_dump($news);
echo "<br><br>";
var_dump($media);
// echo "<br><br>";
// var_dump($media);
// TestTask::setActive(false);
// echo "<br><br>";