PEAR is archived and read-only

This mirror preserves historical PEAR package releases and metadata so existing references remain available.

Home » Database » DB_NestedSet » Bug #2969

Undefined variables

Details

Submitted2004-12-15 09:51 UTC
Fromoancea at gmail dot com
Assigneddatenpunk
StatusClosed
PackageDB_NestedSet
PHP VersionIrrelevant
OSWIN/LINUX
Roadmaps(Not assigned)

Comments

[2004-12-15 09:51 UTC] oancea at gmail dot com

Description:
------------
When trying to use CoolMenu driver, some Undefined variable errors pop`s up.
It`s about:
Undefined variable: menu_properties in PEAR/DB/NestedSet/CoolMenu.php on line 291
(it appears on javascript, so probably you need to view source of the page)
and
Notice: Undefined variable: coolMenu in PEAR/DB/NestedSet/CoolMenu.php on line 157
Notice: Undefined variable: coolMenu in PEAR/DB/NestedSet/CoolMenu.php on line 160

But, more to come (without affecting the result):
Notice: Undefined offset: 0 in PEAR/DB/NestedSet/CoolMenu.php on line 148

Reproduce code:
---------------
The code is provided in docs/CoolMenu_exemple.php
To solve the problems, in method _createFromStructure from DB/NestedSet/CoolMenu.php I put:
$coolMenu = '';
and in method: _buildMenuProperties from DB/NestedSet/CoolMenu.php I put:
$menu_properties = '';
With this 2 changes, I was able to run the exemple code.

For the problem with Undefined offset, I just comment the if condition starting with this line:
// figure out max length for textfields, increase if necessary--NEEDED?

Expected result:
----------------
I exepect the demo from docs to work

[2005-07-14 09:51 UTC] mk at kaiser-software dot de

This diff should fix this bug.

--- CoolMenu.php.org 2005-07-14 11:30:41.000000000 +0200
+++ CoolMenu.php 2005-07-14 11:46:41.000000000 +0200
@@ -110,6 +110,9 @@

static $rootlevel;

+ // variable init
+ $coolMenu = '';
+
// always start at level 1
if (!isset($params['currentLevel'])) {
$params['currentLevel'] = 1;
@@ -145,7 +148,7 @@
$params['structure'][$key]['hit'] = $node['hit'] = true;

// figure out max length for textfields, increase if necessary--NEEDED?
- if (!$this->_strlenByLevel[$params['currentLevel'] - $this->_levelOffset] ||
+ if (empty($this->_strlenByLevel[$params['currentLevel'] - $this->_levelOffset]) ||
strlen($node[$params['textField']]) > $this->_strlenByLevel[$params['currentLevel'] - $this->_levelOffset]) {
$this->_strlenByLevel[$params['currentLevel'] - $this->_levelOffset] = strlen($node[$params['textField']]);
};
@@ -286,6 +289,9 @@
*/
function _buildMenuProperties($properties)
{
+ // variable init
+ $menu_properties = '';
+
foreach($properties as $prop_key => $prop_val){
$menu_properties .= $this->_menuName . ".$prop_key=$prop_val\n";
}

[2005-10-25 21:49 UTC] datenpunk at php dot net

This bug has been fixed in CVS.

If this was a documentation problem, the fix will appear on pear.php.net by the end of next Sunday (CET).

If this was a problem with the pear.php.net website, the change should be live shortly.

Otherwise, the fix will appear in the package's next release.

Thank you for the report and for helping us make PEAR better.

Sorry for the delay - please verify that it works for you now.