// $Id: themeform.php 1158 2007-12-08 06:24:20Z phppp $
// ------------------------------------------------------------------------ //
// XOOPS - PHP Content Management System //
// Copyright (c) 2000 XOOPS.org //
// //
// ------------------------------------------------------------------------ //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License, or //
// (at your option) any later version. //
// //
// 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. See the //
// GNU General Public License for more details. //
// //
// You should have received a copy of the GNU General Public License //
// along with this program; if not, write to the Free Software //
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA //
// ------------------------------------------------------------------------ //
// Author: Kazumi Ono (AKA onokazu) //
// URL: http://www.myweb.ne.jp/, https://xoops.org/, http://www.xoopscube.jp/ //
// Project: The XOOPS Project //
// ------------------------------------------------------------------------- //
if (!defined('XOOPS_ROOT_PATH')) {
die("XOOPS root path not defined");
}
/**
*
*
* @package kernel
* @subpackage form
*
* @author Kazumi Ono
* @copyright copyright (c) 2000-2003 XOOPS.org
*/
/**
* base class
*/
include_once XOOPS_ROOT_PATH."/class/xoopsform/form.php";
/**
* Form that will output as a theme-enabled HTML table
*
* Also adds JavaScript to validate required fields
*
* @author Kazumi Ono
* @copyright copyright (c) 2000-2003 XOOPS.org
*
* @package kernel
* @subpackage form
*/
class XoopsThemeForm extends XoopsForm
{
/**
* Insert an empty row in the table to serve as a seperator.
*
* @param string $extra HTML to be displayed in the empty row.
* @param string $class CSS class name for tag */ function insertBreak($extra = '', $class= '') { $class = ($class != '') ? " class='".htmlspecialchars($class, ENT_QUOTES)."'" : ''; //Fix for $extra tag not showing if ($extra) { $extra = "$class>$extra | "; $this->addElement($extra); } else { $extra = "$class> | "; $this->addElement($extra); } } /** * create HTML to output the form as a theme-enabled table with validation. * * @return string */ function render() { $ele_name = $this->getName(); $ret = " n"; $ret .= $this->renderValidationJS( true ); return $ret; } } ?>
3
Does this file need replaced? class/xoopstree.php with this // $Id: xoopstree.php 1099 2007-10-19 01:08:14Z dugris $ // ------------------------------------------------------------------------ // // XOOPS - PHP Content Management System // // Copyright (c) 2000 XOOPS.org // // // // ------------------------------------------------------------------------ // // This program is free software; you can redistribute it and/or modify // // it under the terms of the GNU General Public License as published by // // the Free Software Foundation; either version 2 of the License, or // // (at your option) any later version. // // // // 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. See the // // GNU General Public License for more details. // // // // You should have received a copy of the GNU General Public License // // along with this program; if not, write to the Free Software // // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // ------------------------------------------------------------------------ // // Author: Kazumi Ono (AKA onokazu) // // URL: http://www.myweb.ne.jp/, https://xoops.org/, http://www.xoopscube.jp/ // // Project: The XOOPS Project // // ------------------------------------------------------------------------- // class XoopsTree { 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 XoopsTree //sets the names of table, unique id, and parend id function XoopsTree($table_name, $id_name, $pid_name) { $this->db =& Database::getInstance(); $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) 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) 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) 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) 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 "/" 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->makeTboxData4Show($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 function makeMySelBox($title,$order="",$preset_id=0, $none=0, $sel_name="", $onchange="") { if ( $sel_name == "" ) { $sel_name = $this->id; } $myts =& MyTextSanitizer::getInstance(); echo "n"; } //generates nicely formatted linked path from the root id to a given id 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->makeTboxData4Show($name); $path = "href='".$funcURL."&".$this->id."=".$sel_id."'>".$name." : ".$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 "/" 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; } 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; } 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; } } ?>
4
What else is wrong with 2.0.18???
These two still have not solved my blank page in piCal... err
5
login issuesDoes this file need replaced? kernel/session.php with this // $Id: session.php 1083 2007-10-16 16:42:51Z phppp $ // ------------------------------------------------------------------------ // // XOOPS - PHP Content Management System // // Copyright (c) 2000 XOOPS.org // // // // ------------------------------------------------------------------------ // // This program is free software; you can redistribute it and/or modify // // it under the terms of the GNU General Public License as published by // // the Free Software Foundation; either version 2 of the License, or // // (at your option) any later version. // // // // 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. See the // // GNU General Public License for more details. // // // // You should have received a copy of the GNU General Public License // // along with this program; if not, write to the Free Software // // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // ------------------------------------------------------------------------ // // Author: Kazumi Ono (AKA onokazu) // // URL: http://www.myweb.ne.jp/, https://xoops.org/, http://www.xoopscube.jp/ // // Project: The XOOPS Project // // ------------------------------------------------------------------------- // /** * @package kernel * * @author Kazumi Ono * @copyright copyright (c) 2000-2003 XOOPS.org */ /** * Handler for a session * @package kernel * * @author Kazumi Ono * @copyright copyright (c) 2000-2003 XOOPS.org */ class XoopsSessionHandler { /** * Database connection * * @var object * @access private */ var $db; /** * Security checking level * * Possible value: * 0 - no check; * 1 - check browser characteristics (HTTP_USER_AGENT/HTTP_ACCEPT_LANGUAGE), to be implemented in the future now; * 2 - check browser and IP A.B; * 3 - check browser and IP A.B.C, recommended; * 4 - check browser and IP A.B.C.D; * * @var int * @access public */ var $securityLevel = 3; /** * Enable regenerate_id * * @var bool * @access public */ var $enableRegenerateId = false; /** * Constructor * * @param object $db reference to the {@link XoopsDatabase} object * */ function XoopsSessionHandler(&$db) { $this->db =& $db; } /** * Open a session * * @param string $save_path * @param string $session_name * * @return bool */ function open($save_path, $session_name) { return true; } /** * Close a session * * @return bool */ function close() { $this->gc_force(); return true; } /** * Read a session from the database * * @param string &sess_id ID of the session * * @return array Session data */ function read($sess_id) { $sql = sprintf('SELECT sess_data, sess_ip FROM %s WHERE sess_id = %s', $this->db->prefix('session'), $this->db->quoteString($sess_id)); if (false != $result = $this->db->query($sql)) { if (list($sess_data, $sess_ip) = $this->db->fetchRow($result)) { if ($this->securityLevel > 1) { $pos = strpos($sess_ip, ".", $this->securityLevel - 1); if (strncmp($sess_ip, $_SERVER['REMOTE_ADDR'], $pos)) { $sess_data = ''; } } return $sess_data; } } return ''; } /** * Write a session to the database * * @param string $sess_id * @param string $sess_data * * @return bool **/ function write($sess_id, $sess_data) { $sess_id = $this->db->quoteString($sess_id); $sql = sprintf('UPDATE %s SET sess_updated = %u, sess_data = %s WHERE sess_id = %s', $this->db->prefix('session'), time(), $this->db->quoteString($sess_data), $sess_id); $this->db->queryF($sql); if (!$this->db->getAffectedRows()) { $sql = sprintf('INSERT INTO %s (sess_id, sess_updated, sess_ip, sess_data) VALUES (%s, %u, %s, %s)', $this->db->prefix('session'), $sess_id, time(), $this->db->quoteString($_SERVER['REMOTE_ADDR']), $this->db->quoteString($sess_data)); return $this->db->queryF($sql); } return true; } /** * Destroy a session * * @param string $sess_id * * @return bool **/ function destroy($sess_id) { $sql = sprintf('DELETE FROM %s WHERE sess_id = %s', $this->db->prefix('session'), $this->db->quoteString($sess_id)); if ( !$result = $this->db->queryF($sql) ) { return false; } return true; } /** * Garbage Collector * * @param int $expire Time in seconds until a session expires * @return bool **/ function gc($expire) { if (empty($expire)) { return true; } $mintime = time() - intval($expire); $sql = sprintf('DELETE FROM %s WHERE sess_updated < %u', $this->db->prefix('session'), $mintime); return $this->db->queryF($sql); } /** * Force gc for situations where gc is registered but not executed **/ function gc_force() { if (rand(1, 100) < 11) { $expiration = empty($GLOBALS["xoopsConfig"]["session_expire"]) ? @ini_get('session.gc_maxlifetime') : $GLOBALS["xoopsConfig"]["session_expire"] * 60; $this->gc($expiration); } } /** * Update the current session id with a newly generated one * * To be refactored * * @param bool $delete_old_session * @return bool **/ function regenerate_id($delete_old_session = false) { if (!$this->enableRegenerateId) { return true; } $phpversion = phpversion(); // parameter "delete_old_session" only available as of PHP 5.1.0 if (version_compare($phpversion, "5.1.0", ">=")) { $success = session_regenerate_id($delete_old_session); } else { $old_session_id = session_id(); // session_regenerate_id function available as of PHP 4.3.2 if (function_exists("session_regenerate_id")) { $success = session_regenerate_id(); if ($success && $delete_old_session) { // Extra step to destroy old session $this->destroy($old_session_id); } // For PHP prior to 4.3.2 } else { // session_regenerate_id is not defined, create new session ID $session_id = md5( uniqid(rand(), true) . @$_SERVER['HTTP_USER_AGENT'] ); // Set the new session ID session_id($session_id); // Destory old session on request if ($delete_old_session) { $this->destroy($old_session_id); // switch old session to new one } else { $sql = sprintf('UPDATE %s SET sess_id = %s WHERE sess_id = %s', $this->db->prefix('session'), $this->db->quoteString($session_id), $this->db->quoteString($old_session_id)); $this->db->queryF($sql); } $success = true; } } // Force updating cookie for session cookie is not issued correctly in some IE versions or not automatically issued prior to PHP 4.3.3 for all browsers if ($success) { $this->update_cookie(); } return $success; } /** * Update cookie status for current session * * To be refactored * FIXME: how about $xoopsConfig['use_ssl'] is enabled? * * @param string $sess_id session ID * @param int $expire Time in seconds until a session expires * @return bool **/ function update_cookie($sess_id = null, $expire = null) { global $xoopsConfig; $session_name = ($xoopsConfig['use_mysession'] && $xoopsConfig['session_name'] != '') ? $xoopsConfig['session_name'] : session_name(); $session_expire = !is_null($expire) ? intval($expire) : ( ($xoopsConfig['use_mysession'] && $xoopsConfig['session_name'] != '') ? $xoopsConfig['session_expire'] * 60 : ini_get("session.cookie_lifetime") ); $session_id = empty($sess_id) ? session_id() : $sess_id; setcookie($session_name, $session_id, $session_expire ? time() + $session_expire : 0, '/', '', 0); } } ?>
6
and u really count on some support here :)?
7
well its 2pm EST, which means its the middle of the night in china. Should be answered by tomorrow if the topic stays on the front page.
8
Quote: qcorek wrote: and u really count on some support here :)?
Huh? lol... It was a post to get the ball rolling for 2.0.18.1rc nothing more or less. As far as support goes I have given my share here thats foresure. ---------- After I did those three above... I was still having problems anyway to make a long story short. Once I turned off php debug piCal started showing again... So im back on track for this new customer site... I'll post if I find anything else. This is the first live site I have done with 2.0.18 its like any other release it has its lil qcorek's...
9
Quote: Does this file need to be replaced?
Replace class/xoopsform/themeform.php Yes, otherwise the toolbar of tinyeditor gets screwed up and I guess also some other form issues. Quote: Does this file need replaced?
class/xoopstree.php Yes, it gives faulty paths. This is the correct one: // $Id$ // ------------------------------------------------------------------------ // // XOOPS - PHP Content Management System // // Copyright (c) 2000 XOOPS.org // // // // ------------------------------------------------------------------------ // // This program is free software; you can redistribute it and/or modify // // it under the terms of the GNU General Public License as published by // // the Free Software Foundation; either version 2 of the License, or // // (at your option) any later version. // // // // 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. See the // // GNU General Public License for more details. // // // // You should have received a copy of the GNU General Public License // // along with this program; if not, write to the Free Software // // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // ------------------------------------------------------------------------ // // Author: Kazumi Ono (AKA onokazu) // // URL: http://www.myweb.ne.jp/, https://xoops.org/, http://www.xoopscube.jp/ // // Project: The XOOPS Project // // ------------------------------------------------------------------------- // class XoopsTree { 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 XoopsTree //sets the names of table, unique id, and parend id function XoopsTree($table_name, $id_name, $pid_name) { $this->db =& Database::getInstance(); $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) 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) 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) 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) 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 "/" 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->makeTboxData4Show($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 function makeMySelBox($title,$order="",$preset_id=0, $none=0, $sel_name="", $onchange="") { if ( $sel_name == "" ) { $sel_name = $this->id; } $myts =& MyTextSanitizer::getInstance(); echo "n"; } //generates nicely formatted linked path from the root id to a given id 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->makeTboxData4Show($name); $path = ".$funcURL."&".$this->id."=".$sel_id."'>".$name."".$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 "/" 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; } 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; } 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; } } ?> I understood these issues will be fixed in 2.0.18.1
10
hmm, I don't have any problems with piCal empty pages. I have updated from 2.0.17.
I also don't have any problems it tinyeditor toolbar.
Software server Apache PHP version 4.4.7 MySql version 5.0.24
Are these issues related to a specific configurations, or to specific updates (e.g. from 2.0.16 to 2.0.18)?
448 user(s) are online (337 user(s) are browsing Support Forums)
Members: 0
Guests: 448
more...
Stats |
Goal: |
$100.00 |
Due Date: |
Nov 30 |
Gross Amount: |
$0.00 |
Net Balance: |
$0.00 |
Left to go: |
$100.00 |
|
|