271 lines
6.6 KiB
PHP

<?php
/**
* FileMaker API for PHP
*
* @package FileMaker
*
* Copyright © 2005-2009, FileMaker, Inc. All rights reserved.
* NOTE: Use of this source code is subject to the terms of the FileMaker
* Software License which accompanies the code. Your use of this source code
* signifies your agreement to such license terms and conditions. Except as
* expressly granted in the Software License, no other copyright, patent, or
* other intellectual property license or right is granted, either expressly or
* by implication, by FileMaker.
*/
/**#@+
* @ignore Load delegate and field classes.
*/
require_once dirname(__FILE__) . '/Implementation/LayoutImpl.php';
require_once dirname(__FILE__) . '/Field.php';
/**#@-*/
/**
* Layout description class. Contains all the information about a
* specific layout. Can be requested directly or returned as part of
* a result set.
*
* @package FileMaker
*/
class FileMaker_Layout
{
/**
* Implementation. This is the object that actually implements the
* layout functionality.
*
* @var FileMaker_Layout_Implementation
* @access private
*/
var $_impl;
/**
* Layout object constructor.
*
* @param FileMaker_Implementation &$fm FileMaker_Implementation object
* that this layout was created through.
*/
function FileMaker_Layout(&$fm)
{
$this->_impl = new FileMaker_Layout_Implementation($fm);
}
/**
* Returns the name of this layout.
*
* @return string Layout name.
*/
function getName()
{
return $this->_impl->getName();
}
/**
* Returns the name of the database that this layout is in.
*
* @return string Database name.
*/
function getDatabase()
{
return $this->_impl->getDatabase();
}
/**
* Returns an array with the names of all fields in this layout.
*
* @return array List of field names as strings.
*/
function listFields()
{
return $this->_impl->listFields();
}
/**
* Returns a FileMaker_Field object that describes the specified field.
*
* @param string $fieldName Name of field.
*
* @return FileMaker_Field|FileMaker_Error Field object, if successful.
* Otherwise, an Error object.
*/
function getField($fieldName)
{
return $this->_impl->getField($fieldName);
}
/**
* Returns an associative array with the names of all fields as
* keys and FileMaker_Field objects as the array values.
*
* @return array Array of {@link FileMaker_Field} objects.
*/
function &getFields()
{
return $this->_impl->getFields();
}
/**
* Returns an array of related table names for all portals on
* this layout.
*
* @return array List of related table names as strings.
*/
function listRelatedSets()
{
return $this->_impl->listRelatedSets();
}
/**
* Returns a FileMaker_RelatedSet object that describes the specified
* portal.
*
* @param string $relatedSet Name of the related table for a portal.
*
* @return FileMaker_RelatedSet|FileMaker_Error RelatedSet object, if
* successful. Otherwise, an Error object.
*/
function &getRelatedSet($relatedSet)
{
return $this->_impl->getRelatedSet($relatedSet);
}
/**
* Returns an associative array with the related table names of all
* portals as keys and FileMaker_RelatedSet objects as the array values.
*
* @return array Array of {@link FileMaker_RelatedSet} objects.
*/
function &getRelatedSets()
{
return $this->_impl->getRelatedSets();
}
/**
* Returns the names of any value lists associated with this
* layout.
*
* @return array List of value list names as strings.
*/
function listValueLists()
{
return $this->_impl->listValueLists();
}
/**
* Returns the list of defined values in the specified value list.
*
* @param string $valueList Name of value list.
* @param string $recid Record from which the value list should be
* displayed.
*
* @return array List of defined values.
* @deprecated Use getValueListTwoFields instead.
* @see getValueListTwoFields
*/
function getValueList($valueList, $recid = null)
{
return $this->_impl->getValueList($valueList, $recid);
}
/**
* Returns the list of defined values in the specified value list.
* This method supports single, 2nd only, and both fields value lists.
*
* @param string $valueList Name of value list.
* @param string $recid Record from which the value list should be
* displayed.
*
* @return array of display names and its corresponding
* value from the value list.
*/
function getValueListTwoFields($valueList, $recid = null)
{
return $this->_impl->getValueListTwoFields($valueList, $recid);
}
/**
* Returns a multi-level associative array of value lists.
* The top-level array has names of value lists as keys and arrays as
* values. The second level arrays are the lists of defined values from
* each value list.
*
* @param string $recid Record from which the value list should be
* displayed.
*
* @return array Array of value-list arrays.
* @deprecated Use getValueListTwoFields instead.
* @see getValueListsTwoFields
*/
function getValueLists($recid = null)
{
return $this->_impl->getValueLists($recid);
}
/**
* Returns a multi-level associative array of value lists.
* The top-level array has names of value lists as keys and associative arrays as
* values. The second level associative arrays are lists of display name and its corresponding
* value from the value list.
*
* @param string $recid Record from which the value list should be
* displayed.
*
* @return array Array of value-list associative arrays.
*/
function getValueListsTwoFields($recid = null)
{
return $this->_impl->getValueListsTwoFields($recid);
}
/**
* Loads extended (FMPXMLLAYOUT) layout information.
*
* @access private
*
* @param string $recid Record from which to load extended information.
*
* @return boolean|FileMaker_Error TRUE, if successful. Otherwise, an
* Error object.
*/
function loadExtendedInfo($recid = null)
{
return $this->_impl->loadExtendedInfo($recid);
}
}