Пример #1
0
 protected function elements()
 {
     if ($this->method == 'GET') {
         //cas de demande de récupération des éléments d'un utilisateur
         if (isset($this->request['idUser']) && isset($this->request['isOwner'])) {
             $idUser = $this->request['idUser'];
             $isOwner = $this->request['isOwner'];
             $token = $this->request['apiKey'];
             $criteria = array('_id' => new MongoId($idUser), 'apiKey' => $token);
             $userManager = new UserManager();
             $user = $userManager->findOne($criteria);
             if (!array_key_exists('error', $user)) {
                 $elementManager = new ElementManager();
                 if (isset($this->request['name'])) {
                     $elementName = $this->request['name'];
                 } else {
                     $elementName = NULL;
                 }
                 if (isset($this->request['path'])) {
                     $path = $this->request['path'];
                 } else {
                     $path = 'all';
                 }
                 $elements = $elementManager->returnElementsDetails($idUser, $isOwner, $path, $elementName);
                 if (array_key_exists('error', $elements)) {
                     /*
                      * array de array pour faciliter l'exploitation du retour
                      * (ne pas avoir dans un cas un array et dans l'autre un array d'array)
                      * -- 13/06/2014
                      */
                     return array($elements);
                 } else {
                     return $elements;
                 }
             } else {
                 return array('error' => 'You cannot process another user\'s data');
             }
         }
     } elseif ($this->method == 'POST') {
         $options = array();
         if (isset($this->request['returnImpactedElements'])) {
             $options['returnImpactedElements'] = $this->request['returnImpactedElements'];
         }
         if (isset($this->request['returnPastedElements'])) {
             $options['returnPastedElements'] = $this->request['returnPastedElements'];
         }
         if (isset($this->request['returnMovedElements'])) {
             $options['returnMovedElements'] = $this->request['returnMovedElements'];
         }
         if (isset($this->request['returnUpdatedElements'])) {
             $options['returnUpdatedElements'] = $this->request['returnUpdatedElements'];
         }
         if (isset($this->request['keepRights'])) {
             $options['keepRights'] = $this->request['keepRights'];
         }
         if (isset($this->request['keepDownloadLinks'])) {
             $options['keepDownloadLinks'] = $this->request['keepDownloadLinks'];
         }
         $this->request['options'] = $options;
         return handleActions($this->request);
     }
     return 0;
 }