|
From: <be...@us...> - 2014-03-08 12:38:54
|
Revision: 12365
http://sourceforge.net/p/xoops/svn/12365
Author: beckmi
Date: 2014-03-08 12:38:48 +0000 (Sat, 08 Mar 2014)
Log Message:
-----------
Adding missing lexikontree.php
Modified Paths:
--------------
XoopsModules/lexikon/trunk/lexikon/admin/admin_header.php
XoopsModules/lexikon/trunk/lexikon/admin/permissions.php
XoopsModules/lexikon/trunk/lexikon/admin/preferences.php
XoopsModules/lexikon/trunk/lexikon/include/storyform.inc.php
Added Paths:
-----------
XoopsModules/lexikon/trunk/lexikon/class/lexikontree.php
Modified: XoopsModules/lexikon/trunk/lexikon/admin/admin_header.php
===================================================================
--- XoopsModules/lexikon/trunk/lexikon/admin/admin_header.php 2014-03-08 10:42:48 UTC (rev 12364)
+++ XoopsModules/lexikon/trunk/lexikon/admin/admin_header.php 2014-03-08 12:38:48 UTC (rev 12365)
@@ -32,8 +32,8 @@
//include_once XOOPS_ROOT_PATH."/modules/lexikon/include/functions.php";
include_once dirname(dirname(__FILE__)). "/admin/functions.php";
include_once XOOPS_ROOT_PATH."/kernel/module.php";
-//include_once XOOPS_ROOT_PATH."/class/xoopstree.php"; -- LionHell
-include_once XOOPS_ROOT_PATH."/modules/lexikon/class/xoopstree.php"; // -- LionHell
+//include_once XOOPS_ROOT_PATH."/class/lexikontree.php"; -- LionHell
+include_once XOOPS_ROOT_PATH."/modules/lexikon/class/lexikontree.php"; // -- LionHell
include_once XOOPS_ROOT_PATH."/class/xoopslists.php";
include_once XOOPS_ROOT_PATH."/class/xoopsformloader.php";
@@ -49,4 +49,4 @@
include_once $GLOBALS['xoops']->path($pathModuleAdmin.'/moduleadmin.php');
-$myts =& MyTextSanitizer::getInstance();
\ No newline at end of file
+$myts =& MyTextSanitizer::getInstance();
Modified: XoopsModules/lexikon/trunk/lexikon/admin/permissions.php
===================================================================
--- XoopsModules/lexikon/trunk/lexikon/admin/permissions.php 2014-03-08 10:42:48 UTC (rev 12364)
+++ XoopsModules/lexikon/trunk/lexikon/admin/permissions.php 2014-03-08 12:38:48 UTC (rev 12365)
@@ -27,7 +27,7 @@
// adapted from News 1.5
include( "admin_header.php" );
-include_once XOOPS_ROOT_PATH.'/modules/lexikon/class/xoopstree.php'; // -- LionHell
+include_once XOOPS_ROOT_PATH.'/modules/lexikon/class/lexikontree.php'; // -- LionHell
include_once XOOPS_ROOT_PATH."/class/xoopslists.php";
include_once XOOPS_ROOT_PATH . '/class/xoopsform/grouppermform.php';
$myts =& MyTextSanitizer::getInstance();
@@ -83,13 +83,13 @@
$catsresult=$xoopsDB->query("SELECT categoryID, name FROM ".$xoopsDB->prefix("lxcategories")." ORDER BY weight");
while($myrow = $xoopsDB->fetchArray($catsresult)) {
$catid = $myrow['categoryID'];
- $cattitle = $myts->htmlSpecialChars($myrow['name']);
+ $cattitle = $myts->htmlSpecialChars($myrow['name']);
$permform->addItem($catid, $cattitle);
-}
-
+}
+
echo $permform->render();
unset ($permform);
-xoops_cp_footer();
-?>
\ No newline at end of file
+xoops_cp_footer();
+?>
Modified: XoopsModules/lexikon/trunk/lexikon/admin/preferences.php
===================================================================
--- XoopsModules/lexikon/trunk/lexikon/admin/preferences.php 2014-03-08 10:42:48 UTC (rev 12364)
+++ XoopsModules/lexikon/trunk/lexikon/admin/preferences.php 2014-03-08 12:38:48 UTC (rev 12365)
@@ -9,7 +9,7 @@
include_once "../../../mainfile.php";
include_once XOOPS_ROOT_PATH . "/kernel/module.php";
-include_once XOOPS_ROOT_PATH . "/modules/lexikon/class/xoopstree.php"; // -- LionHell
+include_once XOOPS_ROOT_PATH . "/modules/lexikon/class/lexikontree.php"; // -- LionHell
include_once XOOPS_ROOT_PATH . "/class/xoopslists.php";
include_once XOOPS_ROOT_PATH . '/class/pagenav.php';
include_once XOOPS_ROOT_PATH . "/class/xoopsformloader.php";
@@ -32,7 +32,7 @@
function addAdminMenu($buf) {
global $btnsbar;
-
+
$pattern = array(
"#admin.php?#",
"#(<div class='content'>)#",
@@ -43,7 +43,7 @@
);
$html = preg_replace($pattern,$replace,$buf);
return $html;
-
+
// ereg("(.*)(<div class='content'>.*)",$buf,$regs);
// return $regs[1].$btnsbar.$regs[2];
}
@@ -60,4 +60,4 @@
ob_start("addAdminMenu");
include XOOPS_ROOT_PATH."/modules/system/admin.php";
ob_end_flush();
-?>
\ No newline at end of file
+?>
Added: XoopsModules/lexikon/trunk/lexikon/class/lexikontree.php
===================================================================
--- XoopsModules/lexikon/trunk/lexikon/class/lexikontree.php (rev 0)
+++ XoopsModules/lexikon/trunk/lexikon/class/lexikontree.php 2014-03-08 12:38:48 UTC (rev 12365)
@@ -0,0 +1,352 @@
+<?php
+/**
+ * XOOPS tree handler
+ *
+ * You may not change or alter any portion of this comment or credits
+ * of supporting developers from this source code or any supporting source code
+ * which is considered copyrighted (c) material of the original comment or credit authors.
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * @copyright The XOOPS Project http://sourceforge.net/projects/xoops/
+ * @license GNU GPL 2 (http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
+ * @package kernel
+ * @since 2.0.0
+ * @author Kazumi Ono (AKA onokazu) http://www.myweb.ne.jp/, http://jp.xoops.org/
+ * @version $Id$
+ */
+
+defined('XOOPS_ROOT_PATH') or die('Restricted access');
+
+/**
+ * Abstract base class for forms
+ *
+ * @author Kazumi Ono <on...@xo...>
+ * @author John Neill <cat...@xo...>
+ * @copyright copyright (c) XOOPS.org
+ * @package kernel
+ * @subpackage LexikonTree
+ * @access public
+ */
+class LexikonTree
+{
+ var $table; //table with parent-child structure
+ var $id; //name of unique id for records in table $table
+ var $pid; // name of parent id used in table $table
+ var $order; //specifies the order of query results
+ var $title; // name of a field in table $table which will be used when selection box and paths are generated
+ var $db;
+
+ //constructor of class LexikonTree
+ //sets the names of table, unique id, and parend id
+ /**
+ * @param $table_name
+ * @param $id_name
+ * @param $pid_name
+ */
+ function LexikonTree($table_name, $id_name, $pid_name)
+ {
+// $GLOBALS['xoopsLogger']->addDeprecated("Class '" . __CLASS__ . "' is deprecated, check 'XoopsObjectTree' in tree.php");
+ $this->db = &XoopsDatabaseFactory::getDatabaseConnection();;
+ $this->table = $table_name;
+ $this->id = $id_name;
+ $this->pid = $pid_name;
+ }
+
+ // returns an array of first child objects for a given id($sel_id)
+ /**
+ * @param $sel_id
+ * @param string $order
+ *
+ * @return array
+ */
+ function getFirstChild($sel_id, $order = "")
+ {
+ $sel_id = intval($sel_id);
+ $arr = array();
+ $sql = "SELECT * FROM " . $this->table . " WHERE " . $this->pid . "=" . $sel_id . "";
+ if ($order != "") {
+ $sql .= " ORDER BY $order";
+ }
+ $result = $this->db->query($sql);
+ $count = $this->db->getRowsNum($result);
+ if ($count == 0) {
+ return $arr;
+ }
+ while ($myrow = $this->db->fetchArray($result)) {
+ array_push($arr, $myrow);
+ }
+
+ return $arr;
+ }
+
+ // returns an array of all FIRST child ids of a given id($sel_id)
+ /**
+ * @param $sel_id
+ *
+ * @return array
+ */
+ function getFirstChildId($sel_id)
+ {
+ $sel_id = intval($sel_id);
+ $idarray = array();
+ $result = $this->db->query("SELECT " . $this->id . " FROM " . $this->table . " WHERE " . $this->pid . "=" . $sel_id . "");
+ $count = $this->db->getRowsNum($result);
+ if ($count == 0) {
+ return $idarray;
+ }
+ while (list ($id) = $this->db->fetchRow($result)) {
+ array_push($idarray, $id);
+ }
+
+ return $idarray;
+ }
+
+ //returns an array of ALL child ids for a given id($sel_id)
+ /**
+ * @param $sel_id
+ * @param string $order
+ * @param array $idarray
+ *
+ * @return array
+ */
+ function getAllChildId($sel_id, $order = "", $idarray = array())
+ {
+ $sel_id = intval($sel_id);
+ $sql = "SELECT " . $this->id . " FROM " . $this->table . " WHERE " . $this->pid . "=" . $sel_id . "";
+ if ($order != "") {
+ $sql .= " ORDER BY $order";
+ }
+ $result = $this->db->query($sql);
+ $count = $this->db->getRowsNum($result);
+ if ($count == 0) {
+ return $idarray;
+ }
+ while (list ($r_id) = $this->db->fetchRow($result)) {
+ array_push($idarray, $r_id);
+ $idarray = $this->getAllChildId($r_id, $order, $idarray);
+ }
+
+ return $idarray;
+ }
+
+ //returns an array of ALL parent ids for a given id($sel_id)
+ /**
+ * @param $sel_id
+ * @param string $order
+ * @param array $idarray
+ *
+ * @return array
+ */
+ function getAllParentId($sel_id, $order = "", $idarray = array())
+ {
+ $sel_id = intval($sel_id);
+ $sql = "SELECT " . $this->pid . " FROM " . $this->table . " WHERE " . $this->id . "=" . $sel_id . "";
+ if ($order != "") {
+ $sql .= " ORDER BY $order";
+ }
+ $result = $this->db->query($sql);
+ list ($r_id) = $this->db->fetchRow($result);
+ if ($r_id == 0) {
+ return $idarray;
+ }
+ array_push($idarray, $r_id);
+ $idarray = $this->getAllParentId($r_id, $order, $idarray);
+
+ return $idarray;
+ }
+
+ //generates path from the root id to a given id($sel_id)
+ // the path is delimetered with "/"
+ /**
+ * @param $sel_id
+ * @param $title
+ * @param string $path
+ *
+ * @return string
+ */
+ function getPathFromId($sel_id, $title, $path = "")
+ {
+ $sel_id = intval($sel_id);
+ $result = $this->db->query("SELECT " . $this->pid . ", " . $title . " FROM " . $this->table . " WHERE " . $this->id . "=$sel_id");
+ if ($this->db->getRowsNum($result) == 0) {
+ return $path;
+ }
+ list ($parentid, $name) = $this->db->fetchRow($result);
+ $myts = MyTextSanitizer::getInstance();
+ $name = $myts->htmlspecialchars($name);
+ $path = "/" . $name . $path . "";
+ if ($parentid == 0) {
+ return $path;
+ }
+ $path = $this->getPathFromId($parentid, $title, $path);
+
+ return $path;
+ }
+
+ //makes a nicely ordered selection box
+ //$preset_id is used to specify a preselected item
+ //set $none to 1 to add a option with value 0
+ /**
+ * @param $title
+ * @param string $order
+ * @param int $preset_id
+ * @param int $none
+ * @param string $sel_name
+ * @param string $onchange
+ */
+ function makeMySelBox($title, $order = "", $preset_id = 0, $none = 0, $sel_name = "", $onchange = "")
+ {
+ if ($sel_name == "") {
+ $sel_name = $this->id;
+ }
+ $myts = MyTextSanitizer::getInstance();
+ echo "<select name='" . $sel_name . "'";
+ if ($onchange != "") {
+ echo " onchange='" . $onchange . "'";
+ }
+ echo ">\n";
+ $sql = "SELECT " . $this->id . ", " . $title . " FROM " . $this->table . " WHERE " . $this->pid . "=0";
+ if ($order != "") {
+ $sql .= " ORDER BY $order";
+ }
+ $result = $this->db->query($sql);
+ if ($none) {
+ echo "<option value='0'>----</option>\n";
+ }
+ while (list ($catid, $name) = $this->db->fetchRow($result)) {
+ $sel = "";
+ if ($catid == $preset_id) {
+ $sel = " selected='selected'";
+ }
+ echo "<option value='$catid'$sel>$name</option>\n";
+ $sel = "";
+ $arr = $this->getChildTreeArray($catid, $order);
+ foreach ($arr as $option) {
+ $option['prefix'] = str_replace(".", "--", $option['prefix']);
+ $catpath = $option['prefix'] . " " . $myts->htmlspecialchars($option[$title]);
+ if ($option[$this->id] == $preset_id) {
+ $sel = " selected='selected'";
+ }
+ echo "<option value='" . $option[$this->id] . "'$sel>$catpath</option>\n";
+ $sel = "";
+ }
+ }
+ echo "</select>\n";
+ }
+
+ //generates nicely formatted linked path from the root id to a given id
+ /**
+ * @param $sel_id
+ * @param $title
+ * @param $funcURL
+ * @param string $path
+ *
+ * @return string
+ */
+ function getNicePathFromId($sel_id, $title, $funcURL, $path = "")
+ {
+ $path = ! empty($path) ? " : " . $path : $path;
+ $sel_id = intval($sel_id);
+ $sql = "SELECT " . $this->pid . ", " . $title . " FROM " . $this->table . " WHERE " . $this->id . "=$sel_id";
+ $result = $this->db->query($sql);
+ if ($this->db->getRowsNum($result) == 0) {
+ return $path;
+ }
+ list ($parentid, $name) = $this->db->fetchRow($result);
+ $myts = MyTextSanitizer::getInstance();
+ $name = $myts->htmlspecialchars($name);
+ $path = "<a href='" . $funcURL . "&" . $this->id . "=" . $sel_id . "'>" . $name . "</a>" . $path . "";
+ if ($parentid == 0) {
+ return $path;
+ }
+ $path = $this->getNicePathFromId($parentid, $title, $funcURL, $path);
+
+ return $path;
+ }
+
+ //generates id path from the root id to a given id
+ // the path is delimetered with "/"
+ /**
+ * @param $sel_id
+ * @param string $path
+ *
+ * @return string
+ */
+ function getIdPathFromId($sel_id, $path = "")
+ {
+ $sel_id = intval($sel_id);
+ $result = $this->db->query("SELECT " . $this->pid . " FROM " . $this->table . " WHERE " . $this->id . "=$sel_id");
+ if ($this->db->getRowsNum($result) == 0) {
+ return $path;
+ }
+ list ($parentid) = $this->db->fetchRow($result);
+ $path = "/" . $sel_id . $path . "";
+ if ($parentid == 0) {
+ return $path;
+ }
+ $path = $this->getIdPathFromId($parentid, $path);
+
+ return $path;
+ }
+
+ /**
+ * Enter description here...
+ *
+ * @param int|\unknown_type $sel_id
+ * @param string|\unknown_type $order
+ * @param array|\unknown_type $parray
+ *
+ * @return unknown
+ */
+ function getAllChild($sel_id = 0, $order = "", $parray = array())
+ {
+ $sel_id = intval($sel_id);
+ $sql = "SELECT * FROM " . $this->table . " WHERE " . $this->pid . "=" . $sel_id . "";
+ if ($order != "") {
+ $sql .= " ORDER BY $order";
+ }
+ $result = $this->db->query($sql);
+ $count = $this->db->getRowsNum($result);
+ if ($count == 0) {
+ return $parray;
+ }
+ while ($row = $this->db->fetchArray($result)) {
+ array_push($parray, $row);
+ $parray = $this->getAllChild($row[$this->id], $order, $parray);
+ }
+
+ return $parray;
+ }
+
+ /**
+ * Enter description here...
+ *
+ * @param int|\unknown_type $sel_id
+ * @param string|\unknown_type $order
+ * @param array|\unknown_type $parray
+ * @param string|\unknown_type $r_prefix
+ * @return unknown
+ */
+ function getChildTreeArray($sel_id = 0, $order = "", $parray = array(), $r_prefix = "")
+ {
+ $sel_id = intval($sel_id);
+ $sql = "SELECT * FROM " . $this->table . " WHERE " . $this->pid . "=" . $sel_id . "";
+ if ($order != "") {
+ $sql .= " ORDER BY $order";
+ }
+ $result = $this->db->query($sql);
+ $count = $this->db->getRowsNum($result);
+ if ($count == 0) {
+ return $parray;
+ }
+ while ($row = $this->db->fetchArray($result)) {
+ $row['prefix'] = $r_prefix . ".";
+ array_push($parray, $row);
+ $parray = $this->getChildTreeArray($row[$this->id], $order, $parray, $row['prefix']);
+ }
+
+ return $parray;
+ }
+}
Property changes on: XoopsModules/lexikon/trunk/lexikon/class/lexikontree.php
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Rev URL
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: XoopsModules/lexikon/trunk/lexikon/include/storyform.inc.php
===================================================================
--- XoopsModules/lexikon/trunk/lexikon/include/storyform.inc.php 2014-03-08 10:42:48 UTC (rev 12364)
+++ XoopsModules/lexikon/trunk/lexikon/include/storyform.inc.php 2014-03-08 12:38:48 UTC (rev 12365)
@@ -11,7 +11,7 @@
global $term, $definition, $ref, $url, $xoopsUser, $xoopsModule, $xoopsModuleConfig;
-include_once XOOPS_ROOT_PATH . "/modules/lexikon/class/xoopstree.php"; // -- LionHell
+include_once XOOPS_ROOT_PATH . "/modules/lexikon/class/lexikontree.php"; // -- LionHell
include XOOPS_ROOT_PATH . "/class/xoopslists.php";
include XOOPS_ROOT_PATH . "/class/xoopsformloader.php";
@@ -35,7 +35,7 @@
if ($oneline['prefix']=='.') {
$oneline['prefix']='';
}
-
+
$oneline['prefix'] = str_replace('.','-',$oneline['prefix']);
//if (in_array($oneline['categoryID'], $allowed_cats)) {
$categoryselect->addOption($oneline['categoryID'], $oneline['prefix'].' '.$oneline['name']);
@@ -109,4 +109,4 @@
unset( $hidden );
-?>
\ No newline at end of file
+?>
|