22
Old modules using xoopstree may not have classes and being so, they are not able to use tree.php (requires objects/classes).
In the new mytabs, plugins must use tree.php. Xoopstube(for example) does not have a class so I had to make a quick fix! Here is how I did it (I added a fake class):
le="color: #000000"><?php function xoopstube_catinfo($option, $selected_cat = 0) { global $xoopsDB; include_once XOOPS_ROOT_PATH.'/modules/mytabs/class/tree.php'; $sql = "SELECT * FROM " . $xoopsDB->prefix( 'xoopstube_cat' ); $result = $xoopsDB->query($sql); while ($row = $xoopsDB->fetchArray($result)) { $allTopics[] = new XoopstubeTemp($row); } $topic_tree = new MytabsObjectTree($allTopics, 'cid', 'pid'); $ret = $topic_tree->makeSelBox($option, 'title', '-- ', $selected_cat, false, 0, true); return $ret; } //we need a class for our MytabsObjectTree so let us create a simple one! class XoopstubeTemp extends XoopsObject { /** * constructor */ function XoopstubeTemp($row) { $this->XoopsObject(); $this->initVar("cid", XOBJ_DTYPE_INT, $row['cid']); $this->initVar("pid", XOBJ_DTYPE_INT, $row['pid']); $this->initVar('title', XOBJ_DTYPE_TXTBOX, $row['title']); } }