/** * Die Fkt. führt eine Suche im Layout 'Respondent' mit dem über $respondent_id * übergeb. Wert durch. Wenn vorh., wird 1. entspr. Datens. zurückg., sonst null. */ function getRespondentRecordFromRespondentID($respondent_id) { global $fm; //Layout angeben $find = $fm->newFindCommand('Respondent'); //Geben Sie das Feld und den Wert für den Abgleich an. In diesem Fall ist 'Respondent ID' das Feld // und $respondent_id der Wert. $find->addFindCriterion('Respondent ID', $respondent_id); //Suche durchführen $results = $find->execute(); //Auf Fehler überprüfen if (!FileMaker::isError($results)) { //Keine Fehler, erstes entsprechendes Ergebnis zurückgeben $records = $results->getRecords(); return $records[0]; } else { //Fehler aufgetreten, null zurückgeben (d. h. keine Datensätze gefunden) return null; } }
/** * Questa funzione esegue una ricerca sul formato 'Respondent' con il valore passato * attraverso $respondent_id e restituisce il primo record corrispondente, altrimenti restituisce zero. */ function getRespondentRecordFromRespondentID($respondent_id) { global $fm; //Specificare il formato $find = $fm->newFindCommand('Respondent'); //Specificare il campo e il valore da confrontare. In questo caso, 'Respondent ID' è il campo // e $respondent_id è il valore. $find->addFindCriterion('Respondent ID', $respondent_id); //Eseguire la ricerca $results = $find->execute(); //Verificare che non vi siano errori if (!FileMaker::isError($results)) { //Nessun errore, restituire il primo risultato corrispondente $records = $results->getRecords(); return $records[0]; } else { //Errore, restituire zero (ossia nessuna corrispondenza trovata) return null; } }
/** * This function performs a Find on the 'Respondent' layout using the value passed in * via $respondent_id. If found, it returns the first matching record. Otherwise, it returns null. */ function getRespondentRecordFromRespondentID($respondent_id) { global $fm; //Specify the layout $find = $fm->newFindCommand('Respondent'); //Specify the field and value to match against. In this case, 'Respondent ID' is the field // and $respondent_id is the value. $find->addFindCriterion('Respondent ID', $respondent_id); //Perform the find $results = $find->execute(); //Check for errors if (!FileMaker::isError($results)) { //No errors, return first matching result $records = $results->getRecords(); return $records[0]; } else { //There was an error, return null (i.e. no matches found) return null; } }
function setFieldFromTimestamp($V972bf3f0, $Vd7e6d55b, $V6d786dc7 = 0) { $Vc6140495 = $this->_fm->getLayout($this->_layout); if (FileMaker::isError($Vc6140495)) { return $Vc6140495; } $V06e3d36f = $Vc6140495->getField($V972bf3f0); if (FileMaker::isError($V06e3d36f)) { return $V06e3d36f; } switch ($V06e3d36f->getResult()) { case 'date': return $this->setField($V972bf3f0, date('m/d/Y', $Vd7e6d55b), $V6d786dc7); case 'time': return $this->setField($V972bf3f0, date('H:i:s', $Vd7e6d55b), $V6d786dc7); case 'timestamp': return $this->setField($V972bf3f0, date('m/d/Y H:i:s', $Vd7e6d55b), $V6d786dc7); } return new FileMaker_Error($this->_fm, 'Only time, date, and timestamp fields can be set to the value of a timestamp.'); }
/** * La fonction effectue une recherche sur le modèle 'Respondent' avec valeur récup. * via $respondent_id. Si des enregistr. correspondent, le 1er s'affiche. Dans le cas contraire, rien ne s'affiche. */ function getRespondentRecordFromRespondentID($respondent_id) { global $fm; //Spécifiez le modèle $find = $fm->newFindCommand('Respondent'); //Indiquez la rubrique et la valeur à rechercher. Dans ce cas, 'Respondent ID' correspond à la rubrique // et $respondent_id représente la valeur. $find->addFindCriterion('Respondent ID', $respondent_id); //Exécutez la recherche $results = $find->execute(); //Vérifiez les erreurs if (!FileMaker::isError($results)) { //S'il n'y a pas d'erreur, affichez le premier résultat correspondant $records = $results->getRecords(); return $records[0]; } else { //En cas d'erreur, n'affichez aucun résultat (aucune valeur trouvée) return null; } }
function getRequest($pkId) { global $fmOrderDB, $request, $site_prefix, $port, $log; $log->debug("Get request using PK: " . $pkId); $pageUrl = urlencode($port . "{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"); /* Open the database and add ID to find command **/ $requestFind = $fmOrderDB->newFindCommand('[WEB] Project Request'); $requestFind->addFindCriterion('__pk_ID', '==' . $pkId); $requestFinds = $requestFind->execute(); /** Check for errors and if so send to error processing and report to user */ if (FileMaker::isError($requestFinds)) { $errorTitle = "FileMaker Error"; $log->error($requestFinds->getMessage(), $requestFinds->getErrorString(), $pageUrl, $pkId, $site_prefix); processError($requestFinds->getMessage(), $requestFinds->getErrorString(), $pageUrl, $pkId, $errorTitle); exit; } /** Now pull all records of find command for Requests (Parent of Meta data) and pull the first record of the array */ $requests = $requestFinds->getRecords(); $request = $requests[0]; $log->debug("Finished now have record with PK: " . $pkId); }
function parse($V0f635d0e) { if (empty($V0f635d0e)) { return new FileMaker_Error($this->_fm, 'Did not receive an XML document from the server.'); } $this->V5431b8d4 = xml_parser_create('UTF-8'); xml_set_object($this->V5431b8d4, $this); xml_parser_set_option($this->V5431b8d4, XML_OPTION_CASE_FOLDING, false); xml_parser_set_option($this->V5431b8d4, XML_OPTION_TARGET_ENCODING, 'UTF-8'); xml_set_element_handler($this->V5431b8d4, '_start', '_end'); xml_set_character_data_handler($this->V5431b8d4, '_cdata'); if (!@xml_parse($this->V5431b8d4, $V0f635d0e)) { return new FileMaker_Error($this->_fm, sprintf('XML error: %s at line %d', xml_error_string(xml_get_error_code($this->V5431b8d4)), xml_get_current_line_number($this->V5431b8d4))); } xml_parser_free($this->V5431b8d4); if (!empty($this->Vcb5e100e)) { return new FileMaker_Error($this->_fm, null, $this->Vcb5e100e); } if (version_compare($this->Vf5bf48aa['version'], FileMaker::getMinServerVersion(), '<')) { return new FileMaker_Error($this->_fm, 'This API requires at least version ' . FileMaker::getMinServerVersion() . ' of FileMaker Server to run (detected ' . $this->Vf5bf48aa['version'] . ').'); } $this->V6de51026 = true; return true; }
function fmPutContainer($connection = null, $layout_name = null, $container_field_name = null, $record_object = null, $uploaded_file_handle = null) { // Move the file from PHP's temp folder to the uploads folder. move_uploaded_file($uploaded_file_handle['tmp_name'], UPLOAD_PATH . '/' . $uploaded_file_handle['name']); // Set the URL to the uploaded file. $file_url = UPLOAD_URL . '/' . $uploaded_file_handle['name']; // Setup the request as an "edit" command. $fm_request = $connection->newEditCommand($layout_name, $record_object->getRecordId()); $fm_request->setField($container_field_name, ''); $fm_request->setScript('FMWebFrame', 'Upload' . "\n" . $container_field_name . "\n" . $file_url); $fm_result = $fm_request->execute(); if (FileMaker::isError($fm_result)) { $errors = '<h1>fmPutContainer: An unexpected error has occurred.</h1>'; echo "Error Code: " . $fm_result->code . "<br>"; echo "Error Message: " . $fm_result->getMessage() . "<br>"; die; } // Delete the temp file. unlink(UPLOAD_PATH . '/' . $uploaded_file_handle['name']); // Get the record that the file was uploaded to. $records = $fm_result->getRecords(); $record = $records[0]; return $record; }
function getStyleType() { $Vb4a88417 = $this->_layout->loadExtendedInfo(); if (FileMaker::isError($Vb4a88417)) { return $Vb4a88417; } return $this->_styleType; }
<?php /** * Created by IntelliJ IDEA. * User: Bill * Date: 1/8/2015 * Time: 1:23 PM */ include_once dirname(__DIR__) . DIRECTORY_SEPARATOR . "request-config.php"; include_once $fmfiles . "order.db.php"; include_once $errors . 'errorProcessing.php'; $typePkId = urldecode($_GET['pkId']); $newProjectType = $fmOrderDB->newPerformScriptCommand('[WEB] Project Request Types', 'NewProjectRequest(RequestType_pk_ID)', $typePkId); $newProjectTypeResults = $newProjectType->execute(); if (FileMaker::isError($newProjectTypeResults)) { $errorTitle = "FileMaker Error"; $log->error("Failure to open " . $deliverableView . " " . $newProjectTypeResults->getMessage() . " " . $newProjectTypeResults->getCode()); processError($newProjectTypeResults->getMessage(), $newProjectTypeResults->getErrorString(), "getNewPackageType.php", $typePkId, $errorTitle); } $typeRecord = $newProjectTypeResults->getFirstRecord(); $projectId = $typeRecord->getField('__pk_ID'); header('Cache-Control: no-cache, no-store, max-age=0, must-revalidate'); header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past header('Pragma: no-cache'); header('Location: ' . $site_prefix . 'onrequest/request.php?pkId=' . urlencode($projectId)); ?>
/** Checks Filemaker_Result to make sure it is not an error. * When loud is set to true, this function will throw * an exception if the result is an error. * * When loud is set to false, the function will * only return true or false depending on whether * the result is an error or not. * * Error 401 has been overriden to return BLANK instead of ERROR. * Exceptions are only thrown for critical errors that shouldn't happen. * On the other hand, 401 errors can happen all the time if a search * query doesn't return any results. This is normal behavior and should not throw an exception. */ public function validateResult($result, $loud = true) { $isError = FileMaker::isError($result); if ($isError == true) { // 401 is a no record found error, so we don't want to throw a model exception for this. if ($result->getCode() == "401") { return self::$BLANK; } else { //only throw an exception if this is a loud validation if ($loud) { throw new ModelException("Error retrieving information from database: " . $result->getCode(), $result->getCode()); } return self::$ERROR; } } if ($isError == false) { return self::$VALID; } }
$records = $result->getRecords(); //アクティブなアンケートの questionnaire_id を取得して保存 $record = $records[0]; $active_questionnaire_id = $record->getField('questionnaire_id'); /** * アクティブなアンケートを取得するには、$active_questionniare_id を使用し、 * 'questionnaire' レイアウトで別の検索を実行します。 */ //find コマンドを作成して、レイアウトを指定 $findCommand =& $fm->newFindCommand('questionnaire'); //フィールドおよび一致する値を指定します。 $findCommand->addFindCriterion('Questionnaire ID', $active_questionnaire_id); //検索の実行 $result = $findCommand->execute(); //エラーをチェック if (FileMaker::isError($result)) { echo "<p>エラー: " . $result->getMessage() . "</p>"; exit; } //一致するレコードを保存 $records = $result->getRecords(); $record = $records[0]; //レコードから 'Questionnaire Name' フィールドを取得して表示 echo "<p> " . $record->getField('Questionnaire Name') . "</p>"; //レコードから 'Description' フィールドを取得して表示 echo "<p>アンケートについての説明: " . $record->getField('Description') . "</p>"; //ContainerBridge.php を使用して、レコードから 'Graphic' フィールドを取得し、表示してください。 echo '<img src="ContainerBridge.php?path=' . urlencode($record->getField('Graphic')) . '">'; ?> <form id="questionnaire_form" name="Respondent" align= "right" method="post" action="Respondent.php"> <input type="hidden" name="active_questionnaire_id" value = "<?php
public function Unpack() { global $varChecker; $path = $varChecker->getValue('path'); $zipper = new Zipper(); if ($zipper->IsZipFile($path)) { $fmaker = new FileMaker(); $filename = substr($path, strrpos($path, '/') + 1); $folderpath = str_replace($filename, '', $path); $folderpath = $folderpath . 'resources/'; $fmaker->makeDirectory($folderpath, true); $files = $zipper->Decompress($path, $folderpath); $processedFiles = $this->saveFiles($files, $folderpath); $savedFiles = $processedFiles['saved']; $errorfiles = $processedFiles['error']; } else { //create files array with just one file } if (count($savedFiles) > 0) { $result = array('success' => 'resourcesuploaded', 'files' => $savedFiles, 'errorfiles' => $errorfiles, 'folder' => $folderpath, 'rawcount' => count($files)); } else { $result = array('error' => 'resourcesfailed', 'files' => $savedFiles, 'errorfiles' => $errorfiles, 'folder' => $folderpath, 'rawcount' => count($files)); } return $result; }
function pushDocumentDataToFM($original, $temp, $pkId) { global $fmOrderDB, $log; /* TODO need to investigate why getRelatedRecords() Stopped Working */ $metaFind = $fmOrderDB->newFindCommand('[WEB] Project Meta Fields'); $metaFind->addFindCriterion('__pk_ID', '==' . $pkId); $metaResults = $metaFind->execute(); if (FileMaker::isError($metaResults)) { $errorTitle = "FileMaker Error"; $log->error("pushDocumentDataToFM - Failure to open " . $metaResults . " " . $metaResults->getMessage() . " " . $metaResults->getCode()); processError($metaResults->getMessage(), $metaResults->getErrorString(), "deliverableService.php", $pkId, $errorTitle); exit; } $metaRelatedRecords = $metaResults->getRecords(); $metaRecord = $metaRelatedRecords[0]; $metaRecord->setField('Upload_Filename_Original_t', $original); $metaRecord->setField("Upload_Filename_Temp_t", $temp); $result = $metaRecord->commit(); if (FileMaker::isError($result)) { $errorTitle = "FileMaker Error"; $log->error("pushDocumentDataToFM - Failure to open " . $metaResults . " " . $result->getMessage() . " " . $result->getCode()); processError($result->getMessage(), $result->getErrorString(), "deliverableService.php", $pkId, $errorTitle); exit; } }
function fmEvaluate($connection, $expression) { // If the specified database connection isn't valid... if (!isset($connection)) { $error_message = 'fmEvaluate failed. It looks like the database connection that was specified is invalid.'; die($error_message); } // Setup the Find All command against the FMWebFrame Interface layout. $fm_request = $connection->newFindAllCommand('FMWebFrame'); // Create the "newPerformScriptCommand" request. $fm_request = $connection->newPerformScriptCommand('FMWebFrame', 'FMWebFrame', "evaluate\n" . $expression); // Execute the request. $fm_result = $fm_request->execute(); // If there was an error... if (FileMaker::isError($fm_result)) { $error_message = 'fmExecuteSQL failed with error ' . $fm_result->code . '.'; die($error_message); } else { // Get the result. $result_records = $fm_result->getRecords(); $result_record = $result_records[0]; } // Convert the result into an associative array. $result_array = array(); $result_array['Expression'] = $expression; $result_array['Result'] = $result_record->getField('Result_Data'); return $result_array; }
function &execute() { $V21ffce5b = $this->_getCommandParams(); $this->_setSortParams($V21ffce5b); $this->_setRangeParams($V21ffce5b); $this->_setRelatedSetsFilters($V21ffce5b); if (count($this->_findCriteria) || $this->_recordId) { $V21ffce5b['-find'] = true; } else { $V21ffce5b['-findall'] = true; } if ($this->_recordId) { $V21ffce5b['-recid'] = $this->_recordId; } if ($this->Vf951bdce) { $V21ffce5b['-lop'] = $this->Vf951bdce; } foreach ($this->_findCriteria as $Vd1148ee8 => $Ve9de89b0) { $V21ffce5b[$Vd1148ee8] = $Ve9de89b0; } $V0f635d0e = $this->_fm->_execute($V21ffce5b); if (FileMaker::isError($V0f635d0e)) { return $V0f635d0e; } return $this->_getResult($V0f635d0e); }
function handleDBError($request_object, $s_system_status = '') { if (FileMaker::isError($request_object)) { $request_error_code = $request_object->getCode(); if ($request_error_code != 401) { // Errors: // - The requested URL returned error: 404 // - Possible reasons: Access via PHP not enabled. Instant Web Publishing not enabled // - The requested URL returned error: 401 // - Invalid Username and password // //echo date("Y-m-d")." Error: " . $request_object->getCode()." - ".$request_object->getMessage() . "\n"; redirect('/oops/' . $request_error_code); //exit; } else { return $request_error_code; } } elseif ($s_system_status != '') { if (strtolower($s_system_status) != 'live') { // System Offline unset($_SESSION["user"]); redirect('/maintenance.php?status=offline'); exit; } } }
/** * Checks whether there is an error in the resource given. * * @author RichardC * @since 1.0 * * @version 1.6 * * @param obj $request_object * * @return int */ public static function isError($request_object) { if (is_array($request_object) && preg_grep('/^([^*)]*)error([^*)]*)$/', array_keys($request_object))) { foreach ($request_object as $key => $val) { return (int) $val; } } return FileMaker::isError($request_object) ? (int) $request_object->getCode() : 0; }
function execute() { $V21ffce5b = $this->_getCommandParams(); $V21ffce5b['-findany'] = true; $V0f635d0e = $this->_fm->_execute($V21ffce5b); if (FileMaker::isError($V0f635d0e)) { return $V0f635d0e; } return $this->_getResult($V0f635d0e); }
/** * Returns the string representation of $this->code in the language * currently set for PHP error messages in FileMaker Server Admin * Console. * * You should call getMessage() in most cases, if you are not sure whether * the error is a FileMaker Web Publishing Engine error with an error code. * * @return string Error description. */ function getErrorString() { // Default to English. $lang = basename($this->_fm->getProperty('locale')); if (!$lang) { $lang = 'en'; } static $strings = array(); if (empty($strings[$lang])) { if (!@(include_once dirname(__FILE__) . '/Error/' . $lang . '.php')) { include_once dirname(__FILE__) . '/Error/en.php'; } $strings[$lang] = $__FM_ERRORS; } if (isset($strings[$lang][$this->getCode()])) { return $strings[$lang][$this->getCode()]; } return $strings[$lang][-1]; }
function execute() { $commandParams = $this->_getCommandParams(); $commandParams['-findany'] = true; $result = $this->_fm->_execute($commandParams); if (FileMaker::isError($result)) { return $result; } return $this->_getResult($result); }
/** * Returns the string representation of $this->code in the language * currently set for PHP error messages in FileMaker Server Admin * Console. * * You should call getMessage() in most cases, if you are not sure whether * the error is a FileMaker Web Publishing Engine error with an error code. * * @param int $code Error code * @return string Error description. */ public function getErrorString($code) { // Default to English. $lang = basename($this->_fm->getProperty('locale')); if (!$lang) { $lang = 'en'; } if (empty(self::$strings[$lang])) { if (file_exists(dirname(__FILE__) . '/Error/' . $lang . '.php')) { $path = dirname(__FILE__) . '/Error/' . $lang . '.php'; } else { $path = dirname(__FILE__) . '/Error/en.php'; } $strings[$lang] = (require $path); } if (isset($strings[$lang][$code])) { return $strings[$lang][$code]; } return $strings[$lang][-1]; }
/** * @covers \airmoi\FileMaker\FileMaker::__set */ public function testMagicSet() { if ($GLOBALS['OFFICIAL_API']) { return true; } $this->fm->logLevel = 5; $this->assertEquals(5, $this->fm->getProperty('logLevel')); try { $this->fm->fakeVar = "Hello World"; } catch (FileMakerException $e) { $this->assertTrue(FileMaker::isError($e)); } }
function fmSearchResults($searchArray, $searchLayout, $sortArray, $page) { // Grabs variables from outside the function global $fm, $max, $querystring, $fmDefaultSortArray; // Uses maximum and URL to tell page how many to skip. $skip = ($page - 1) * $max; // Create FileMaker_Command_CompoundFind object on layout to search $compoundFind =& $fm->newCompoundFindCommand($searchLayout); $compoundFindNum = 0; $findreq =& $fm->newFindRequest($searchLayout); // Create find requests on layout foreach ($searchArray as $searchName => $searchCriteria) { // adds find criteria if (strpos($searchName, 'EXACT_') !== false) { //If given keywords with "EXACT_" prefix, searches for exact match in field $searchNameExact = str_replace("EXACT_", "", $searchName); $findreq->addFindCriterion($searchNameExact, "=={$searchCriteria}"); } elseif ($searchName == "Work_Date_Begin") { $findreq->addFindCriterion($searchName, ">{$searchCriteria}"); } elseif ($searchName == "page") { } else { $findreq->addFindCriterion($searchName, $searchCriteria); } $compoundFind->add($compoundFindNum, $findreq); } // Set Range $compoundFind->setRange($skip, $max); // Set sort order $sorti = 1; foreach ($sortArray as $sortName => $sortCriteria) { if ($sortCriteria == "descend") { $compoundFind->addSortRule($sortName, $sorti, FILEMAKER_SORT_DESCEND); } else { $compoundFind->addSortRule($sortName, $sorti, FILEMAKER_SORT_ASCEND); } $sorti++; } $defaultSortOrder = $fmDefaultSortArray[$searchLayout]; $compoundFind->addSortRule($defaultSortOrder, $sorti, FILEMAKER_SORT_ASCEND); // Execute compound find command $result = $compoundFind->execute(); if (FileMaker::isError($result)) { echo "Error: " . $result->getMessage() . "<br>"; return null; //exit; } else { $records = $result->getRecords(); return $records; } }
function fmDisplaySearchResults($result, $whetherToPaginate) { global $skip, $paginate_number, $max, $page, $querystring; // If an error is found, return a message and exit. if (FileMaker::isError($result)) { echo "Error: " . $result->getMessage() . "<br>"; //exit; } else { // Get records from found set $records = $result->getRecords(); $found = $result->getFoundSetCount(); //Setup sort by type $fileType = $records[0]->getField('Source_Type'); if ($fileType != "Video") { $fileType = "Images"; } echo '<div class="recordSeparator">' . $fileType . '</div>'; foreach ($records as $record) { //searchResultDisplay($record,$fileType); if ($record->getField('Source_Type') == "Video") { displayVideoPreview($record); } else { if ($fileType != "Images") { echo '<p> </p><div class="recordSeparator">Images</div>'; } displayImgPreview($record); $fileType = "Images"; } } if ($whetherToPaginate) { // adds pagination if specified. Disabled for "recent additions" mode. ?> <div style="clear: both; padding-top: 20px; text-align: right;"><!--pagination div--> <?php //pagination $displayed = count($records); $pagenum = ceil($skip / $max + 1); $pagetotal = ceil($found / $max); if ($skip + $max > $found) { $next = $skip; } echo "Displaying <b>{$displayed}</b> of <b>{$found}</b> results<br /><br />"; paginate($querystring, $page, $pagetotal); ?> </div> <?php } } }
function &execute() { if (empty($this->_recordId)) { $Vcb5e100e = new FileMaker_Error($this->_fm, 'Delete commands require a record id.'); return $Vcb5e100e; } $V21ffce5b = $this->_getCommandParams(); $V21ffce5b['-delete'] = true; $V21ffce5b['-recid'] = $this->_recordId; $V0f635d0e = $this->_fm->_execute($V21ffce5b); if (FileMaker::isError($V0f635d0e)) { return $V0f635d0e; } return $this->_getResult($V0f635d0e); }
function FX_Fuzzy_Debugger(&$fmConnection, &$dataSet = '') { if ((bool) (is_object($fmConnection) && (strtolower(get_class($fmConnection)) == 'filemaker' || is_subclass_of($fmConnection, 'filemaker')))) { require_once 'FileMaker.php'; $this->connectionType = FILEMAKER_API_CONNECTION; $this->currentConnection = clone $fmConnection; $this->currentDataSet = $dataSet; if (FileMaker::isError($dataSet)) { if (!isset($dataSet->code) || strlen(trim($dataSet->code)) < 1) { $currentErrorMessage = "<p>A connection or XML error occured during your FileMaker query.<br />\n"; $currentErrorMessage .= "You may be able to get additional information by performing the same query using FX.php,<br />\n"; $currentErrorMessage .= "combined with a DEBUG constant and php's print_r() function.<br />\n"; $currentErrorMessage .= "Also, check your <strong>FileMaker Server Advanced configuration</strong>, and verify the <strong>server address</strong> used.</p>\n"; return $currentErrorMessage; } else { $this->currentErrorCode = $dataSet->code; } } else { $this->currentErrorCode = 0; } $this->currentDatabase = $this->currentConnection->getProperty('database'); $this->currentLayout = ''; } elseif ((bool) (is_object($fmConnection) && (strtolower(get_class($fmConnection)) == 'fx' || is_subclass_of($fmConnection, 'fx')))) { require_once 'FX.php'; $this->connectionType = FX_CONNECTION; $this->currentConnection = clone $fmConnection; if (is_array($dataSet) && isset($dataSet['errorCode'])) { $this->currentErrorCode = $dataSet['errorCode']; } else { $this->currentErrorCode = $fmConnection->lastErrorCode; } $this->currentDatabase = $this->currentConnection->database; $this->currentLayout = $this->currentConnection->layout; foreach ($this->currentConnection->lastQueryParams as $tempParam) { if (substr($tempParam['name'], 0, 1) != '-') { // as long as the current field name doesn't begin with a '-' (FM reserved), add it to the list of fields $this->currentFieldsArray[] = $tempParam['name']; } } } else { $currentErrorMessage = "<p>The FX Fuzzy Debugger does not support the type of connection that was passed in.<br />\n"; $currentErrorMessage .= "Double check that the first parameter is either an FX object or a FileMaker object.</p>\n"; $this->fuzzyOut = $currentErrorMessage; return; } $this->fuzzyOut = $this->ProcessErrorCode(); }
function execute() { $V090cbceb = null; $V8ac10dab = 0; $V31c3c8cf = 0; $V40677621 = 1; $Ve2942a04 = 1; $V21ffce5b = $this->_getCommandParams(); $this->_setSortParams($V21ffce5b); $this->_setRangeParams($V21ffce5b); $this->_setRelatedSetsFilters($V21ffce5b); ksort($this->Vad2bfd5a); $V31c3c8cf = count($this->Vad2bfd5a); foreach ($this->Vad2bfd5a as $V70a17ffa => $V9a7aa128) { $V15c46c6e = $V9a7aa128->_impl->_findCriteria; $V8ac10dab = count($V15c46c6e); $V090cbceb = $V090cbceb . '('; $V4111477f = 0; foreach ($V15c46c6e as $Vd1148ee8 => $Ve9de89b0) { $V21ffce5b['-q' . $Ve2942a04] = $Vd1148ee8; $V21ffce5b['-q' . $Ve2942a04 . '.' . "value"] = $Ve9de89b0; $V090cbceb = $V090cbceb . 'q' . $Ve2942a04; $Ve2942a04++; $V4111477f++; if ($V4111477f < $V8ac10dab) { $V090cbceb = $V090cbceb . ','; } } $V090cbceb = $V090cbceb . ")"; $V40677621++; if ($V40677621 <= $V31c3c8cf) { $V4b22ce92 = $this->Vad2bfd5a[$V40677621]; if ($V4b22ce92->_impl->_omit == true) { $V090cbceb = $V090cbceb . ';!'; } else { $V090cbceb = $V090cbceb . ';'; } } } $V21ffce5b['-query'] = $V090cbceb; $V21ffce5b['-findquery'] = true; $V0f635d0e = $this->_fm->_execute($V21ffce5b); if (FileMaker::isError($V0f635d0e)) { return $V0f635d0e; } return $this->_getResult($V0f635d0e); }
/** * Den här funktionen utför en sökning i layouten 'Respondent' med hjälp av det värde som * skickas via $respondent_id. Om det hittas, returneras den första matchande posten. Annars returneras noll. */ function getRespondentRecordFromRespondentID($respondent_id) { global $fm; //Ange layout $find = $fm->newFindCommand('Respondent'); //Ange fält och värde för matchning. I det här fallet är fältet 'Respondent ID' // och värdet är $respondent_id. $find->addFindCriterion('Respondent ID', $respondent_id); //Utför sökningen $results = $find->execute(); //Felkontroll if (!FileMaker::isError($results)) { //Inga fel, returnera första matchande resultat. $records = $results->getRecords(); return $records[0]; } else { //Det fanns fel, returnera noll (dvs inga matchningar hittades) return null; } }
/** * この関数は、$respondent_id 経由で渡された値を使用して、'Respondent' レイアウト上で検索を実行します。 * 見つかった場合には、最初に一致したレコードを返します。その他の場合は、null を返します。 */ function getRespondentRecordFromRespondentID($respondent_id) { global $fm; //レイアウトを指定 $find = $fm->newFindCommand('Respondent'); //フィールドおよび一致する値を指定します。 この場合は、'Respondent ID' がフィールドで、 // $respondent_id が値です。 $find->addFindCriterion('Respondent ID', $respondent_id); //検索の実行 $results = $find->execute(); //エラーをチェック if (!FileMaker::isError($results)) { //エラーなし、最初に一致した結果を返す $records = $results->getRecords(); return $records[0]; } else { //エラーがあった。null を返す (つまり、一致は見つからなかった) return null; } }