コード例 #1
0
ファイル: MediaService.php プロジェクト: TrienDo/SHARC20
 /**
  * Update a Media = 1 SharcMediaDesigner + 1 SharcMediaExperience
  * @param String $objMedia: a json object containing info of both Medias                  
  */
 public static function updateMedia($objMedia)
 {
     $response = array();
     try {
         $mediaDesigner = SharcMediaDesigner::find($objMedia['mediaDesigner']['id']);
         if ($mediaDesigner != null) {
             /*$mediaDesigner->name = $objMedia['mediaDesigner']['name'];                   
               $mediaDesigner->directed = $objMedia['mediaDesigner']['directed'];
               $mediaDesigner->colour = $objMedia['mediaDesigner']['colour'];
               $mediaDesigner->path = $objMedia['mediaDesigner']['path'];
               
               $result = $mediaDesigner->save();
                
               if (!$result){                     
                   $response["status"] = ERROR;
                   $response["data"] = INTERNAL_SERVER_ERROR; 
                   return $response;                
               }
               */
         }
         $mediaExperience = SharcMediaExperience::find($objMedia['id']);
         if ($mediaExperience != null) {
             //if mainMedia == 1 -> reset all other media to 0
             if ($objMedia['mainMedia'] == 1) {
                 SharcMediaExperience::where('experienceId', $objMedia['experienceId'])->where('entityType', $objMedia['entityType'])->where('entityId', $objMedia['entityId'])->update(array('mainMedia' => 0));
             }
             $mediaExperience->caption = $objMedia['caption'];
             $mediaExperience->mainMedia = $objMedia['mainMedia'];
             $mediaExperience->visible = $objMedia['visible'];
             $mediaExperience->order = $objMedia['order'];
             $result = $mediaExperience->save();
             if ($result) {
                 //= 1 success
                 $response["status"] = SUCCESS;
                 $mediaExperience["mediaDesigner"] = $mediaDesigner->toArray();
                 //need to return this info too for presentation
                 $response["data"] = $mediaExperience->toArray();
             } else {
                 //error
                 $response["status"] = ERROR;
                 $response["data"] = INTERNAL_SERVER_ERROR;
             }
         }
         //update other table e.g. poi/event
     } catch (Exception $e) {
         $response["status"] = ERROR;
         $response["data"] = Utils::getExceptionMessage($e);
     }
     return $response;
 }