cvs: pear /DB_DataObject_FormBuilder FormBuilder.php

From: Date: Mon, 11 Apr 2005 22:46:58 +0000
Subject: cvs: pear /DB_DataObject_FormBuilder FormBuilder.php
Groups: php.pear.cvs 
Request: Send a blank email to pear-cvs+get-31111@lists.php.net to get a copy of this message
justinpatrin Mon Apr 11 18:46:58 2005 EDT Modified files: /pear/DB_DataObject_FormBuilder FormBuilder.php Log: Fix bug where crossLinks and tripleLinks are already set in a new record http://cvs.php.net/diff.php/pear/DB_DataObject_FormBuilder/FormBuilder.php?r1=1.149&r2=1.150&ty=u Index: pear/DB_DataObject_FormBuilder/FormBuilder.php diff -u pear/DB_DataObject_FormBuilder/FormBuilder.php:1.149 pear/DB_DataObject_FormBuilder/FormBuilder.php:1.150 --- pear/DB_DataObject_FormBuilder/FormBuilder.php:1.149 Fri Apr 8 16:42:11 2005 +++ pear/DB_DataObject_FormBuilder/FormBuilder.php Mon Apr 11 18:46:58 2005 @@ -94,7 +94,7 @@ * @author Justin Patrin <papercrane@reversefold.com> * @copyright 1997-2005 The PHP Group * @license http://www.php.net/license/3_0.txt PHP License 3.0 - * @version $Id: FormBuilder.php,v 1.149 2005/04/08 20:42:11 justinpatrin Exp $ + * @version $Id: FormBuilder.php,v 1.150 2005/04/11 22:46:58 justinpatrin Exp $ * @link http://pear.php.net/package/DB_DataObject_FormBuilder * @see DB_DataObject, HTML_QuickForm */ @@ -1091,20 +1091,21 @@ //if ($fromtable !== $this->_do->tableName()) error? $all_options = $this->_getSelectOptions($linkedtable, false, false, false, $linkedfield); $selected_options = array(); - $crossLinksDo->{$crossLink['fromField']} = $this->_do->$fromfield; - if (method_exists($this->_do, 'preparelinkeddataobject')) { - if ($this->useCallTimePassByReference) { - eval('$this->_do->prepareLinkedDataObject(&$crossLinksDo, $key);'); - } else { - $this->_do->prepareLinkedDataObject($crossLinksDo, $key); + if (isset($this->_do->$fromfield)) { + $crossLinksDo->{$crossLink['fromField']} = $this->_do->$fromfield; + if (method_exists($this->_do, 'preparelinkeddataobject')) { + if ($this->useCallTimePassByReference) { + eval('$this->_do->prepareLinkedDataObject(&$crossLinksDo, $key);'); + } else { + $this->_do->prepareLinkedDataObject($crossLinksDo, $key); + } } - } - if ($crossLinksDo->find() > 0) { - while ($crossLinksDo->fetch()) { - $selected_options[$crossLinksDo->{$crossLink['toField']}] = clone($crossLinksDo); + if ($crossLinksDo->find() > 0) { + while ($crossLinksDo->fetch()) { + $selected_options[$crossLinksDo->{$crossLink['toField']}] = clone($crossLinksDo); + } } } - if (isset($crossLink['type']) && $crossLink['type'] == 'select') { unset($element); $element =& $this->_createSelectBox($groupName, $all_options, true); @@ -1203,20 +1204,21 @@ $all_options1 = $this->_getSelectOptions($linkedtable1, false, false, false, $linkedfield1); $all_options2 = $this->_getSelectOptions($linkedtable2, false, false, false, $linkedfield2); $selected_options = array(); - $tripleLinkDo->{$tripleLink['fromField']} = $this->_do->$fromfield; - if (method_exists($this->_do, 'preparelinkeddataobject')) { - if ($this->useCallTimePassByReference) { - eval('$this->_do->prepareLinkedDataObject(&$tripleLinkDo, $key);'); - } else { - $this->_do->prepareLinkedDataObject($tripleLinkDo, $key); + if (isset($this->_do->$fromfield)) { + $tripleLinkDo->{$tripleLink['fromField']} = $this->_do->$fromfield; + if (method_exists($this->_do, 'preparelinkeddataobject')) { + if ($this->useCallTimePassByReference) { + eval('$this->_do->prepareLinkedDataObject(&$tripleLinkDo, $key);'); + } else { + $this->_do->prepareLinkedDataObject($tripleLinkDo, $key); + } } - } - if ($tripleLinkDo->find() > 0) { - while ($tripleLinkDo->fetch()) { - $selected_options[$tripleLinkDo->{$tripleLink['toField1']}][] = $tripleLinkDo->{$tripleLink['toField2']}; + if ($tripleLinkDo->find() > 0) { + while ($tripleLinkDo->fetch()) { + $selected_options[$tripleLinkDo->{$tripleLink['toField1']}][] = $tripleLinkDo->{$tripleLink['toField2']}; + } } } - $columnNames = array(); foreach ($all_options2 as $key2 => $value2) { $columnNames[] = $value2;

« previous php.pear.cvs (#31111) next »