Example #1
0
 public static function getAsObject($records, $fields, $relatedSets)
 {
     $result = [];
     foreach ($records as $record) {
         $r = [];
         foreach ($fields as $attribute => $field) {
             $ts = strpos($attribute, "timestamp");
             if ($ts === false) {
                 $r[$attribute] = $record->getField($field);
             } else {
                 $r[$attribute] = $record->getFieldAsTimestamp($field);
             }
             if (!is_null($relatedSets)) {
                 foreach ($relatedSets as $relatedSetName => $class) {
                     $relatedRecords = $record->getRelatedSet($relatedSetName);
                     if (!Filemaker::isError($relatedSet)) {
                         $relatedObjects = $class::getAsObject($relatedRecords, $class::$fields);
                         $r[$relatedSetName] = $relatedObjects;
                     }
                 }
             }
         }
         $result[] = $r;
     }
     return $result;
 }
 public function find($parameter, $connection)
 {
     $find = $connection->newPerformScriptCommand(self::$layout, self::$api_find, $parameter);
     $result = $find->execute();
     if (Filemaker::isError($result)) {
         echo $result->getMessage();
     }
     $records = $result->getRecords();
     $result = $this->getAsObject($records, self::$fields);
     return $result;
 }
 public function newSchedule($parameter, $connection)
 {
     $new = $connection->newPerformScriptCommand(self::$layout, self::$api_new, $parameter);
     $result = $new->execute();
     if (Filemaker::isError($result)) {
         echo $result->getMessage();
     }
     $records = $result->getRecords();
     $result = Events::getAsObject($records, self::$fields);
     return $result;
 }
Example #4
0
 public function find($parameter, $connection, $relatedSets)
 {
     $parameter = self::getAsParameter($parameter, self::$fields);
     $find = $connection->newFindCommand(self::$layout);
     foreach ($parameter as $field => $value) {
         $find->addFindCriterion($field, $value);
     }
     $result = $find->execute();
     if (Filemaker::isError($result)) {
         echo $result->getMessage();
         return null;
     }
     $records = $result->getRecords();
     $result = $this->getAsObject($records, self::$fields, $relatedSets);
     return $result;
 }
 private function readFile()
 {
     $filehandler = new Filemaker();
     return $filehandler->getFileContent($this->path);
 }