cvs: pear /DB_DataObject_FormBuilder FormBuilder.php
| From: | Justin Patrin | 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;