|
Re: Modules ne fonctionnant pas avec Xoops 2.3 -> Xoops FAQ |
|
Supporter Xoops 
Inscrit: 17/12/2005 01:41
De Alpes Maritimes
|
flashgames n'est pas compatible non plus xoops 2.3 Citation :Impossible d'installer flashgames. Erreur(s) : Installing _ALBM_FLASHGAMES_NAME Invalid default value for 'res_x'
Posté le : 23/12/2008 18:20
|
|
|
Re: Modules ne fonctionnant pas avec Xoops 2.3 -> Xoops FAQ |
|
Guest_
|
b'soir, Merci pour l'info 
Posté le : 23/12/2008 19:54
|
|
|
Re: Modules ne fonctionnant pas avec Xoops 2.3 -> Xoops FAQ |
|
Régulier 
Inscrit: 09/04/2006 21:04
|
Bonjour, Je viens de mettre à jour une version de xoops 2.0.18 vers la version 2.3.2b téléchargée depuis ce site. Je rencontre un problème avec le module wfdownloads 3.1, le même problème que >>celui la <<Voici le message d'erreur :
Warning: Class 'XoopsTree' is deprecated, check 'XoopsObjectTree' in tree.php in file /class/xoopstree.php line 45
Notice: Undefined index: 0 in file /modules/wfdownloads/class/download.php line 190
Notice: Function xoops_getLinkedUnameFromId() is deprecated, use XoopsUserUtility::getUnameFromId() instead in file /include/functions.legacy.php line 44
Posté le : 27/12/2008 13:11
|
Développeur web.
|
|
Re: Modules ne fonctionnant pas avec Xoops 2.3 |
|
Semi pro 
Inscrit: 13/04/2007 20:36
|
Bonjour Essaye avec ce code. Prend le fichier xoopstree.php qui se trouve dans le dossier class et remplace le code par celui ci-dessous. Fait quand même une copie de xoopstree.php original avant de faire la modification !!!.
<?php
// $Id: xoopstree.php 1252 2008-01-13 17:48:35Z dugris $
// ------------------------------------------------------------------------ //
// XOOPS - PHP Content Management System //
// Copyright (c) 2000 XOOPS.org //
// <http://www.xoops.org/> ... nbsp; //
// ------------------------------------------------------------------------ //
// 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/, http://www.xoops.org/, http://jp.xoops.org/ //
// 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 "<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->makeTboxData4Show($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
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 = "<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 "/"
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;
}
}
?>
A+ 
Posté le : 27/12/2008 14:20
|
Une personne qui n'a jamais commis d'erreurs n'a jamais tenté d'innover. [Albert Einstein]
|
|
Re: Modules ne fonctionnant pas avec Xoops 2.3 |
|
Supporter Xoops 
Inscrit: 09/01/2005 13:37
De Breizh
|
Au lieu de modifier le fichier du core, il serait plus judicieux (et éviter des bugs avec d'autres modules) de modifier plus le code du module
@++
Posté le : 27/12/2008 15:22
|
La connaissance s'accroît quand on la partage ...
|
|
Re: Modules ne fonctionnant pas avec Xoops 2.3 |
|
Régulier 
Inscrit: 09/04/2006 21:04
|
Merci nendo, je vais faire un test et un comparatif, mais kris a raison, il vaut mieux modifier le code du module.
Posté le : 27/12/2008 15:54
|
Développeur web.
|
|
Re: Modules ne fonctionnant pas avec Xoops 2.3 |
|
Régulier 
Inscrit: 09/04/2006 21:04
|
Je viens d'essayer ça ne marche pas. 
Posté le : 27/12/2008 16:10
|
Développeur web.
|
|
Re: Modules ne fonctionnant pas avec Xoops 2.3 |
|
Supporter Xoops 
Inscrit: 09/01/2005 13:37
De Breizh
|
Posté le : 27/12/2008 16:23
|
La connaissance s'accroît quand on la partage ...
|
|
Re: Modules ne fonctionnant pas avec Xoops 2.3 |
|
Régulier 
Inscrit: 09/04/2006 21:04
|
Citation :J'ai une version 3.1 trop modifiée, il me faudra plus heures jours pour la mettre à jour. Je compte bien faire cette mise à jour à l'avenir, mais uniquement vers une version finale. Dans l'attente de cette mise à jour, j'ai fini par trouver une solution pour résoudre ce probleme d'affichage, il suffit de remplacer le fichier :wfdownloads/class/category.php Par le même fichier de la version 3.2  c'est rapide et ça évite de toucher à notre beau CMS. Bonne soirée
Posté le : 27/12/2008 23:04
|
Développeur web.
|
|
Re: Modules ne fonctionnant pas avec Xoops 2.3 |
|
Supporter Xoops 
Inscrit: 09/01/2005 13:37
De Breizh
|
Citation : Ankyo a écrit: J'ai une version 3.1 trop modifiée, il me faudra plus heures jours pour la mettre à jour.
J'espère que tu as bien noté tes modifs @++
Posté le : 27/12/2008 23:16
|
La connaissance s'accroît quand on la partage ...
|
Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|