Пример #1
0
 /**
  * Get content of an experience details - this function is called by two above funtions
  * @param String $experienceId: id of the SharcExperience
  * @param String $designerId: id of the designer 
  * @param String $userId: id of the SharcUser          
  */
 public static function getSnapshotForSpvt($designerId, $experienceId, $userId)
 {
     $response = array();
     $response["status"] = SUCCESS;
     //Get all POIs of the experience
     $objPois = SharcPoiExperience::where('experienceId', $experienceId)->get();
     $tmpPois = $objPois->toArray();
     $i = 0;
     for ($i; $i < $objPois->count(); $i++) {
         $rs = SharcPoiDesigner::where('id', $objPois[$i]->poiDesignerId)->where('designerId', $designerId)->get();
         $tmpPois[$i]["poiDesigner"] = $rs[0]->toArray();
         //Thumbnail
         $media = SharcMediaExperience::where('entityId', $objPois[$i]->id)->where('entityType', 'POI')->where('mainMedia', 1)->get();
         if ($media->count() > 0) {
             $mediaDesigner = SharcMediaDesigner::where('id', $media[0]->mediaDesignerId)->where('designerId', $designerId)->get();
             if ($mediaDesigner->count() > 0) {
                 $tmpPois[$i]["thumbnail"] = $mediaDesigner[0]->content;
             } else {
                 $tmpPois[$i]["thumbnail"] = "";
             }
         } else {
             $tmpPois[$i]["thumbnail"] = "";
         }
         //Media for POI
         $media = MediaService::getMediaForEntityServer($designerId, $experienceId, $objPois[$i]->id, "POI");
         $tmpPois[$i]["media"] = $media->toArray();
         //Responses for POI by this user
         $tmpPois[$i]["responses"] = SharcResponse::where('experienceId', $experienceId)->where('userId', $userId)->where('entityId', $objPois[$i]->id)->get()->toArray();
     }
     $response["data"]["allPois"] = $tmpPois;
     //Get all Routes of the experience
     $objRoutes = SharcRouteExperience::where('experienceId', $experienceId)->get();
     $tmpRoutes = $objRoutes->toArray();
     $i = 0;
     for ($i; $i < $objRoutes->count(); $i++) {
         $rs = SharcRouteDesigner::where('id', $objRoutes[$i]->routeDesignerId)->where('designerId', $designerId)->get();
         $tmpRoutes[$i]["routeDesigner"] = $rs[0]->toArray();
     }
     $response["data"]["allRoutes"] = $tmpRoutes;
     //Get all responses
     $response["data"]["allResponses"] = SharcResponse::where('experienceId', $experienceId)->where('userId', $userId)->where('entityType', 'NEW')->get()->toArray();
     return $response;
 }
Пример #2
0
 /**
  * Delete a Route -> delete only SharcRouteExperience & SharcMediaExperience
  * @param String $objRoute: a json object containing info of both Routes                  
  */
 public static function deleteRoute($objRoute)
 {
     $response = array();
     try {
         //Delete media
         SharcMediaExperience::where('experienceId', $objRoute['experienceId'])->where('entityId', $objRoute['id'])->where('entityType', 'POI')->delete();
         $routeExperience = SharcRouteExperience::find($objRoute['id']);
         if ($routeExperience != null) {
             $result = $routeExperience->delete();
             if ($result) {
                 //= 1 success
                 $response["status"] = SUCCESS;
                 $response["data"] = $routeExperience->toArray();
             } else {
                 //error
                 $response["status"] = ERROR;
                 $response["data"] = INTERNAL_SERVER_ERROR;
             }
         }
         //update other table e.g. route/event
     } catch (Exception $e) {
         $response["status"] = ERROR;
         $response["data"] = Utils::getExceptionMessage($e);
     }
     return $response;
 }
Пример #3
0
 /**
  * Get all responses of an experience
  * @param String $experienceId: id of the SharcExperience
  * @param String $designerId: id of the designer           
  */
 public static function getExperienceResponses($designerId, $experienceId)
 {
     $response = array();
     try {
         //Check if the designerId owns the experience
         if ($designerId == ADMIN_ID) {
             //admin
             $ex = SharcExperience::find($experienceId);
             $designerId = $ex->designerId;
         }
         $rs = SharcExperience::where('id', $experienceId)->where('designerId', $designerId)->get();
         if ($rs->count() == 0) {
             //Not exists
             $response["status"] = FAILED;
             $response["data"] = EXPERIENCE_NOT_EXIST;
             return $response;
         } else {
             $response["status"] = SUCCESS;
             //Get all responses
             $objResponses = SharcResponse::where('experienceId', $experienceId)->get();
             $tmpResponse = $objResponses->toArray();
             $i = 0;
             for ($i; $i < $objResponses->count(); $i++) {
                 $rs = SharcUser::find($objResponses[$i]->userId);
                 if ($rs != null) {
                     $tmpResponse[$i]["userId"] = $rs->username;
                 }
                 //get entity name as well
                 switch ($objResponses[$i]->entityType) {
                     case "POI":
                         $obj = SharcPoiExperience::find($objResponses[$i]->entityId);
                         $tmpResponse[$i]["entityId"] = SharcPoiDesigner::find($obj->poiDesignerId)->name;
                         break;
                     case "EOI":
                         $obj = SharcEoiExperience::find($objResponses[$i]->entityId);
                         $tmpResponse[$i]["entityId"] = SharcEoiDesigner::find($obj->eoiDesignerId)->name;
                         break;
                     case "ROUTE":
                         $obj = SharcRouteExperience::find($objResponses[$i]->entityId);
                         $tmpResponse[$i]["entityId"] = SharcRouteDesigner::find($obj->routeDesignerId)->name;
                         break;
                     case "media":
                         break;
                 }
             }
             $response["data"] = $tmpResponse;
             return $response;
         }
     } catch (Exception $e) {
         $response["status"] = ERROR;
         $response["data"] = Utils::getExceptionMessage($e);
     }
     return $response;
 }