public function getData()
 {
     $ezTagsObject = new eZTagsObject();
     $returnArray = array();
     $childrenArray = array();
     // recupero la lista dei remoteID dei tags che il server gestisce
     $tagsGestiti = explode(',', $this->runtimeSettingsINI->variable('serverSyncTags', 'serverSyncTagsList'));
     $numtagreturned = count($tagsGestiti);
     // Ciclo per recuperare gli array degli oggetti ritornati
     for ($i = 0; $i < $numtagreturned; $i++) {
         $parentFields = array();
         #$eZTagParentObj = eZTagsObject::fetchByRemoteID('e4fd6bcf76ab7ce0e04684bdb867a76d');
         #$eZTagParentObj = eZTagsObject::fetchByRemoteID(trim($tagsGestiti[$i]));
         $eZTagParentObj_array = eZTagsObject::fetchByKeyword(trim($tagsGestiti[$i]), true);
         $eZTagParentObj = $eZTagParentObj_array[0];
         /*
         $eZTagParentObj->RemoteID;
         $eZTagParentObj->getAttribute('RemoteID');
         $eZTagParentObj->attributes('remote_id');
         */
         # recupero e trasformo in array l'oggetto parentID
         $parentFields = itobjectsutils::getObjectAsArray($eZTagParentObj);
         # recupero tutti i children tags
         $childrenArray = eZTagsObject::fetchByParentID($eZTagParentObj->ID);
         # aggiungo al mio array generale il blocco dei children tags
         $parentFields['subTags'] = $childrenArray;
         $returnArray[$eZTagParentObj->RemoteID] = $parentFields;
     }
     return $returnArray;
 }
 public function getData()
 {
     try {
         $returnArray = array();
         $dataAnalisiIni = $this->userParameters["dataAnalisiIni"];
         $dataAnalisiFin = $this->userParameters["dataAnalisiFin"];
         //
         // Verifica se le date passate sono corretta altrimenti mette il default
         $dataAnalisiIni = itobjectsutils::dataPerEzfetch($dataAnalisiIni, "INI");
         $dataAnalisiFin = itobjectsutils::dataPerEzfetch($dataAnalisiFin, "FIN");
         // Scommetare per controllare le date che vengono passate alla fetch
         // $dataAnalisiIni = "2015-09-01T11:40:00Z";
         //echo("--->".$dataAnalisiIni."<---");
         //echo("--->".$dataAnalisiFin."<---");
         $this->ocLoggerUtil->addInfoMessage('DataAnalisiIni: ' . $dataAnalisiIni);
         $this->ocLoggerUtil->addInfoMessage('DataAnalisiFin: ' . $dataAnalisiFin);
         // recupero la lista delle classi gestite dal server
         $classiGestite = explode(',', $this->runtimeSettingsINI->variable('serverSyncClasses', 'serverSyncClassList'));
         $objectedreturned = count($classiGestite);
         //
         $fetch_parameters = array('query' => '', 'class_id' => $classiGestite, 'limit' => 1000, 'filter' => array('meta_modified_dt:[' . $dataAnalisiIni . ' TO ' . $dataAnalisiFin . ']'));
         // Fetch su un singolo ID
         //$result = eZFunctionHandler::execute( 'ezfind',
         //        'search', array(
         //        'query'   => '',
         //        'class_id' => array( 'deliberazione' ),
         //        'filter'  => array( 'meta_id_si: ( 43661 )' )
         //        )
         //);
         $result = eZFunctionHandler::execute('ezfind', 'search', $fetch_parameters);
         //
         // Ciclo per recuperare gli array degli oggetti ritornati
         for ($i = 0; $i < $objectedreturned; $i++) {
             $returnArray[$i] = array();
         }
         //
         // Ciclo nell'array degli oggetti ritornati
         foreach ($result["SearchResult"] as $objectSearchResult) {
             $identificatore = $objectSearchResult->ContentObject->ClassIdentifier;
             $ContentObject = $objectSearchResult->ContentObject->RemoteID;
             $PublishedDate = $objectSearchResult->ContentObject->Published;
             $ModifiedDate = $objectSearchResult->ContentObject->Modified;
             // Il RemoteID viene ritornato se la data Modifica è diversa della data Pubblicazione
             if ($PublishedDate != $ModifiedDate) {
                 //print_r($objectSearchResult);
                 //
                 // Cicla sulle classi e mette gli ID in un array separato per ogni tipo classe
                 for ($i = 0; $i < $objectedreturned; $i++) {
                     if ($classiGestite[$i] == $identificatore) {
                         array_push($returnArray[$i], $ContentObject);
                     }
                 }
             }
         }
         for ($i = 0; $i < $objectedreturned; $i++) {
             $response[$classiGestite[$i]] = $returnArray[$i];
             $this->ocLoggerUtil->addInfoMessage('Numero elementi ritornati: ' . count($returnArray[$i]) . ' per ' . $classiGestite[$i] . " .");
         }
         $this->ocLoggerUtil->addInfoMessage('-- objectController - Server - Exit--');
         $this->ocLoggerUtil->writeLogs();
         return $response;
     } catch (Exception $ex) {
         echo 'Got Exception on DataHandlerserverObjectsync - getData: ' . $e->getMessage() . "\n";
         $this->ocLoggerUtil->addErrorMessage('Error in DataHandlerserverObjectsync - getData: ' . $e->getMessage());
         $this->ocLoggerUtil->writeLogs();
     }
 }
 public function loadLocalObjectsByRemoteId($unparsed_json)
 {
     $json_array = json_decode($unparsed_json, true);
     $returnArray = array();
     foreach ($json_array as $key => $arrayRemoteId) {
         foreach ($arrayRemoteId as $remoteId) {
             $eZContentObject = eZContentObject::fetchByRemoteID($remoteId);
             if ($eZContentObject instanceof eZContentObject) {
                 array_push($returnArray, $eZContentObject);
             }
         }
     }
     if (itobjectsutils::isEmptyArray($returnArray)) {
         return array();
     }
     return $this->itFiltersUtil->updatablestatusobjects($returnArray);
 }