PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

Home » Database » DB_DataObject_FormBuilder » Bug #8625

modify getDataObjectString

Details

Request #8625modify getDataObjectString
Submitted2006-09-03 18:59 UTC
Fromb_j at tar dot hu
StatusNo Feedback
PackageDB_DataObject_FormBuilder
PHP VersionIrrelevant
Roadmaps(Not assigned)

Comments

[2006-09-03 18:59 UTC] b_j at tar dot hu

Description:
------------
function getDataObjectString(&$do, $displayFields = false, $linkDisplayLevel = null, $level = 1) {
//BJ
$_BJ_ListSeparator=','; //default: ', '
$_BJ_FieldSeparator=' | '; //default: ', '
$_BJ_SubLinkSeparatorLeft=''; //default: '('
$_BJ_SubLinkSeparatorRight=''; //default: ')'
if ($linkDisplayLevel === null) {
$linkDisplayLevel = (isset($this) && isset($this->linkDisplayLevel)) ? $this->linkDisplayLevel : 3;
}
if (!is_array($links = $do->links())) {
$links = array();
}
if ($displayFields === false) {
if (isset($do->fb_linkDisplayFields)) {
$displayFields = $do->fb_linkDisplayFields;
} elseif (isset($this) && isset($this->linkDisplayFields) && $this->linkDisplayFields) {
$displayFields = $this->linkDisplayFields;
}
if (!$displayFields) {
$displayFields = array_keys($do->table());
}
}
$ret = '';
$first = true;
foreach ($displayFields as $field) {
if ($first) {
$first = false;
} else {
//$ret .= ', ';
//BJ
$ret .= $this->_BJ_FieldSeparator;
}
if (isset($do->$field)) {
if ($linkDisplayLevel > $level && isset($links[$field])) {
/*list ($linkTable, $linkField) = $links[$field];
$subDo = DB_DataObject::factory($linkTable);
$subDo->$linkField = $do->$field;*/
if ($subDo = $do->getLink($field)) {
if (isset($this) && is_a($this, 'DB_DataObject_FormBuilder')) {
//$ret .= '('.$this->getDataObjectString($subDo, false, $linkDisplayLevel, $level + 1).')';
//BJ
$fieldvalue=$this->getDataObjectString(
$subDo, false, $linkDisplayLevel, $level + 1
);
} else {
//$ret .= '('.DB_DataObject_FormBuilder::getDataObjectString($subDo, false, $linkDisplayLevel, $level + 1).')';
//BJ
$fieldvalue=DB_DataObject_FormBuilder::getDataObjectString(
$subDo, false, $linkDisplayLevel, $level + 1
);
}
//BJ
$ret .= $this->_BJ_SubLinkSeparatorLeft.
$fieldvalue.$this->_BJ_SubLinkSeparatorRight;
continue;
}
}
$ret .= $do->$field;
}
}
return $ret;
}