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; }
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); }