MediaHandler, Mediamodel, HasMediaModel testate e SEMBRANO funzionare
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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
@@ -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>";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user