132 lines
2.9 KiB
PHP

<?php
require_once dirname(__FILE__) . '/../Field.php';
require_once dirname(__FILE__) . '/Parser/FMPXMLLAYOUT.php';
class FileMaker_Layout_Implementation
{
var $_fm;
var $_name;
var $_fields = array();
var $_relatedSets = array();
var $_valueLists = array();
var $Vab234ad8 = array();
var $_database;
var $_extended = false;
function FileMaker_Layout_Implementation(&$V0ab34ca9)
{
$this->_fm =& $V0ab34ca9;
}
function getName()
{
return $this->_name;
}
function getDatabase()
{
return $this->_database;
}
function listFields()
{
return array_keys($this->_fields);
}
function getField($V972bf3f0)
{
if (isset($this->_fields[$V972bf3f0])) {
return $this->_fields[$V972bf3f0];
}
return $Vcb5e100e = new FileMaker_Error($this->_fm, 'Field Not Found');
}
function &getFields()
{
return $this->_fields;
}
function listRelatedSets()
{
return array_keys($this->_relatedSets);
}
function &getRelatedSet($Vaca007a7)
{
if (isset($this->_relatedSets[$Vaca007a7])) {
return $this->_relatedSets[$Vaca007a7];
}
return $Vcb5e100e = new FileMaker_Error($this->_fm, 'RelatedSet Not Found');
}
function &getRelatedSets()
{
return $this->_relatedSets;
}
function listValueLists()
{
$Vb4a88417 = $this->loadExtendedInfo();
if (FileMaker::isError($Vb4a88417)) {
return $Vb4a88417;
}
return array_keys($this->_valueLists);
}
function getValueListTwoFields($V993fcb1e, $Vd33e904c = null){
$Vb4a88417 = $this->loadExtendedInfo($Vd33e904c);
if (FileMaker::isError($Vb4a88417)) {
return $Vb4a88417;
}
return isset($this->_valueLists[$V993fcb1e]) ?
$this->Vab234ad8[$V993fcb1e] : null;
}
function getValueList($V993fcb1e, $Vd33e904c = null)
{
$Vb4a88417 = $this->loadExtendedInfo($Vd33e904c);
if (FileMaker::isError($Vb4a88417)) {
return $Vb4a88417;
}
return isset($this->_valueLists[$V993fcb1e]) ?
$this->_valueLists[$V993fcb1e] : null;
}
function getValueListsTwoFields($Vd33e904c = null)
{
$Vb4a88417 = $this->loadExtendedInfo($Vd33e904c);
if (FileMaker::isError($Vb4a88417)) {
return $Vb4a88417;
}
return $this->Vab234ad8;
}
function getValueLists($Vd33e904c = null)
{
$Vb4a88417 = $this->loadExtendedInfo($Vd33e904c);
if (FileMaker::isError($Vb4a88417)) {
return $Vb4a88417;
}
return $this->_valueLists;
}
function loadExtendedInfo($Vd33e904c = null)
{
if (!$this->_extended) {
if($Vd33e904c != null){
$V0f635d0e = $this->_fm->_execute(array('-db' => $this->_fm->getProperty('database'),
'-lay' => $this->getName(),
'-recid' => $Vd33e904c,
'-view' => null),
'FMPXMLLAYOUT');
}else{
$V0f635d0e = $this->_fm->_execute(array('-db' => $this->_fm->getProperty('database'),
'-lay' => $this->getName(),
'-view' => null),
'FMPXMLLAYOUT');
}
$V3643b863 = new FileMaker_Parser_FMPXMLLAYOUT($this->_fm);
$Vb4a88417 = $V3643b863->parse($V0f635d0e);
if (FileMaker::isError($Vb4a88417)) {
return $Vb4a88417;
}
$V3643b863->setExtendedInfo($this);
$this->_extended = true;
}
return $this->_extended;
}
}