_impl = new FileMaker_Command_Find_Implementation($fm, $layout); } /** * Adds a criterion to this Find command. * * @param string $fieldname Name of the field being tested. * @param string $testvalue Value of field to test against. */ function addFindCriterion($fieldname, $testvalue) { $this->_impl->addFindCriterion($fieldname, $testvalue); } /** * Clears all existing criteria from this Find command. */ function clearFindCriteria() { $this->_impl->clearFindCriteria(); } /** * Adds a sorting rule to this Find command. * * @param string $fieldname Name of the field to sort by. * @param integer $precedence Integer from 1 to 9, inclusive. A value * of 1 sorts records based on this sorting rule first, a value of * 2 sorts records based on this sorting rule only when two or more * records have the same value after the first sorting rule is * applied, and so on. * @param mixed $order Direction of the sort. Specify the * FILEMAKER_SORT_ASCEND constant, the FILEMAKER_SORT_DESCEND * constant, or the name of a value list specified as a string. */ function addSortRule($fieldname, $precedence, $order = null) { $this->_impl->addSortRule($fieldname, $precedence, $order); } /** * Clears all existing sorting rules from this Find command. */ function clearSortRules() { $this->_impl->clearSortRules(); } /** * Specifies how the find criteria in this Find command are combined * as either a logical AND or OR search. * * If not specified, the default is a logical AND. * * @param integer $operator Specify the FILEMAKER_FIND_AND or * FILEMAKER_FIND_OR constant. */ function setLogicalOperator($operator) { $this->_impl->setLogicalOperator($operator); } /** * Sets a range to request only part of the result set. * * @param integer $skip Number of records to skip past. Default is 0. * @param integer $max Maximum number of records to return. * Default is all. */ function setRange($skip = 0, $max = null) { $this->_impl->setRange($skip, $max); } /** * Returns the current range settings. * * @return array Associative array with two keys: 'skip' for * the current skip setting, and 'max' for the current maximum * number of records. If either key does not have a value, the * returned value for that key is NULL. */ function getRange() { return $this->_impl->getRange(); } /** * Sets a filter to restrict the number of related records to return from * a portal. * * The filter limits the number of related records returned by respecting * the settings specified in the FileMaker Pro Portal Setup dialog box. * * @param string $relatedsetsfilter Specify one of these values to * control filtering: * - 'layout': Apply the settings specified in the FileMaker Pro * Portal Setup dialog box. The records are sorted based * on the sort defined in the Portal Setup dialog box, * with the record set filtered to start with the * specified "Initial row." * - 'none': Return all related records in the portal without * filtering or presorting them. * * @param string $relatedsetsmax If the "Show vertical scroll bar" setting * is enabled in the Portal Setup dialog box, specify one of these * values: * - an integer value: Return this maximum number of related records * after the initial record. * - 'all': Return all of the related records in the portal. * If "Show vertical scroll bar" is disabled, the Portal * Setup dialog box's "Number of rows" setting determines * the maximum number of related records to return. */ function setRelatedSetsFilters($relatedsetsfilter, $relatedsetsmax = null) { return $this->_impl->setRelatedSetsFilters($relatedsetsfilter, $relatedsetsmax); } /** * Returns the current settings for the related records filter and * the maximum number of related records to return. * * @return array Associative array with two keys: 'relatedsetsfilter' for * the portal filter setting, and 'relatedsetsmax' for the maximum * number of records. If either key does not have a value, the returned * for that key is NULL. */ function getRelatedSetsFilters() { return $this->_impl->getRelatedSetsFilters(); } }