|
Liste des bugs de 2.3.1 pour correction dans 2.3.2 |
|
Xoops accro
Inscrit: 18/01/2004 17:13
De Ma Caverne
|
Bonjour à tous,
après quelques semaines de break, je reviens pour identifier les bugs que vous avez détectés sur 2.3.1. Ceci afin de sortir une 2.3.2 dès que possible.
merci de votre aide sur la centralisation des bugs dans ce thread
marco
NB @titi, j'ai un de tes MP à regarder, je m'y attèle bientôt
Posté le : 16/11/2008 11:48
|
|
|
Re: Liste des bugs de 2.3.1 pour correction dans 2.3.2 |
|
Régulier
Inscrit: 01/04/2007 20:31
De Ile de France
|
Salut Marco, Sympa de te revoir ici sur le sujet, compte sur moi pour te donner un coup de main comme testeur.
@+ Titi
Posté le : 16/11/2008 12:39
|
|
|
Re: Liste des bugs de 2.3.1 pour correction dans 2.3.2 |
|
Régulier
Inscrit: 01/04/2007 20:31
De Ile de France
|
On attaque : Dans le module Profil 1.51 l'administrateur voit l'ensemble des champs, chose très embêtante, car ceci empêche de réaliser une nouvelle mise en page du template "profile_userinfo.html" avec photo par exemple Voici ma solution pour résoudre le problème Dans "Profil/userinfo.php" = Origine ligne 121
// Dynamic User Profiles
$thisUsergroups = $thisUser->getGroups();
$visibility_handler = xoops_getmodulehandler('visibility');
$field_ids_visible = null;
// Admin has access to all fields
if (!$xoopsUser->isAdmin()) {
$field_ids_visible = $visibility_handler->getVisibleFields($groups, $thisUsergroups);
}
$profile_handler =& xoops_getmodulehandler('profile');
Dans "Profil/userinfo.php" = Modification ligne 121
// Dynamic User Profiles
$thisUsergroups = $thisUser->getGroups();
$visibility_handler = xoops_getmodulehandler('visibility');
$field_ids_visible = null;
// Admin has access to all fields
if (!$xoopsUser->isAdmin()) {
$field_ids_visible = $visibility_handler->getVisibleFields($groups, $thisUsergroups);
}
$profile_handler =& xoops_getmodulehandler('profile');
Dans "Profil/class/visibility.php" = Origine ligne 88
function getVisibleFields($profile_groups, $user_groups = null)
{
$sql = "SELECT field_id FROM {$this->table} WHERE profile_group IN (" . implode(',', $profile_groups) . ")";
if (!empty($user_groups) && !in_array(XOOPS_GROUP_ADMIN, $user_groups)) {
$sql .= " AND user_group IN (" . implode(',', $user_groups) . ")";
}
$field_ids = array();
if ($result = $this->db->query($sql)) {
while (list($field_id) = $this->db->fetchRow($result)) {
$field_ids[] = $field_id;
}
Dans "Profil/class/visibility.php" = Modification ligne 88
function getVisibleFields($profile_groups, $user_groups = null)
{
// Debut variante pour champs visible par administrateur
global $xoopsUser;
$profile_groups[] = 0;
$user_groups[] = 0;
$sql = "SELECT field_id FROM {$this->table} WHERE profile_group IN (" . implode(',', $profile_groups) . ")";
$sql .= " AND user_group IN (" . implode(',', $user_groups) . ")";
/*
$sql = "SELECT field_id FROM {$this->table} WHERE profile_group IN (" . implode(',', $profile_groups) . ")";
if (!empty($user_groups) && !in_array(XOOPS_GROUP_ADMIN, $user_groups)) {
$sql .= " AND user_group IN (" . implode(',', $user_groups) . ")";
}
*/
// Fin de variante pour champs visible par administrateur
$field_ids = array();
if ($result = $this->db->query($sql)) {
while (list($field_id) = $this->db->fetchRow($result)) {
$field_ids[] = $field_id;
}
Posté le : 16/11/2008 13:21
|
|
|
Re: Liste des bugs de 2.3.1 pour correction dans 2.3.2 |
|
Régulier
Inscrit: 06/01/2006 23:55
|
y a toujours un petit pb dans la tructure de la base sur la table suivante : groups_users_link cf ici le pb fonctionnel que cela peut engendrer en dehors de la perte de perf. Deja discuter du sujet sur xoops.org mais bon la j'ai la preuve de ce que j'avancais car Herve non seulement n'etait pas d'accord mais en plus voulait m'apprendre a quoi servait une cle technique.
Posté le : 16/11/2008 13:38
|
|
|
Re: Liste des bugs de 2.3.1 pour correction dans 2.3.2 |
|
Semi pro
Inscrit: 19/08/2005 21:01
De 97221
|
Un bug bizarre, ou de xoops 3.x.x ou de différents modules qui sont mal adaptés Exemple, newbbex, quant on utilise la prévisualisation ou l'édition d'un post, la zone de saisie est vide. Je suis pas assez calé pour donner plus de précisions sur le soucis.
Posté le : 16/11/2008 14:23
|
|
|
Re: Liste des bugs de 2.3.1 pour correction dans 2.3.2 |
|
Xoops accro
Inscrit: 18/01/2004 17:13
De Ma Caverne
|
Citation : Jah a écrit: Un bug bizarre, ou de xoops 3.x.x ou de différents modules qui sont mal adaptés Exemple, newbbex, quant on utilise la prévisualisation ou l'édition d'un post, la zone de saisie est vide. Je suis pas assez calé pour donner plus de précisions sur le soucis.
oui, nous (instant zero) allons bientôt sortir de nouvelles versions de nos modules pour 2.3x, ce qui corrigera ceci ainsi que les quelques soucis rencontrés sur éditeurs WYSIWYG marco
Posté le : 16/11/2008 14:33
|
|
|
Re: Liste des bugs de 2.3.1 pour correction dans 2.3.2 |
|
Régulier
Inscrit: 06/01/2006 23:55
|
argh... Je comprends mieux pourquoi Xoops est plus gros...Y a de la duplication de code. Je presumes que c'est juste en attendant d'avoir modifier par tout l'usage des xoopsobject etc... Bon un bon point, il etait temps seul les valeurs modifiées dans un objet seront remises a jours maintenant. En tout cas si j'ai compris le code, malheureusement pour l'instant c'est juste pour le user Un petit bug a corriger dans htdocs\xoops\htdocs\class\model\write.php. Sur la methode insert, lorsque l'on passe par le Insert il faut flague l'objet a isNew = false. Car si jamais tu lances 2 fois de suite la methode sur un objet il va en creer 2 differents et non remettre a jours. Il suffit juste de rajouter $objet->unsetNew() dans le partie d'insertion. A noter que ce bug existe sur tous les objets du kernel. Pourtant c'est signale sur le tracker de sourceforge depuis pfuuuuuuttttt
Posté le : 16/11/2008 17:58
|
|
|
Re: Liste des bugs de 2.3.1 pour correction dans 2.3.2 |
|
Régulier
Inscrit: 06/01/2006 23:55
|
je proposerai bien aussi une petite methode supplementaire dans XoopsPersistableObjectHandler :
/**
*
* @param $obj to test if is an instance of $this->className
* @return bool
*/
protected function isIntanceOf($obj){
return (class_exists($this->className) && $obj instanceof $this->className);
}
ou a la limite avec juste is_a($obj, $this->className) mais bon le but c'est d'avoir moins de code a changer apres.
Posté le : 16/11/2008 18:12
|
|
|
Re: Liste des bugs de 2.3.1 pour correction dans 2.3.2 |
|
Régulier
Inscrit: 06/01/2006 23:55
|
la classe privatemessage en utilisant XoopsPersistableObjectHandler, c'est pas une correction de bug c'est une simplification du code pour utiliser ce qui est fournis maintenant. Quoique si on corrige le petit bug 2 posts au dessus, c corrige en meme temps
<?php
// $Id: privmessage.php,v 1.1 2008/11/11 10:55:24 forte1 Exp $
// ------------------------------------------------------------------------ //
// 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 //
// ------------------------------------------------------------------------- //
if (!defined('XOOPS_ROOT_PATH')) {
exit();
}
/**
* {description}
*
* @package kernel
*
* @author Kazumi Ono <onokazu@xoops.org>
* @copyright copyright (c) 2000-2003 The XOOPS Project (http://www.xoops.org)
*
* @version $Id: privmessage.php,v 1.1 2008/11/11 10:55:24 forte1 Exp $
*/
class XoopsPrivmessage extends XoopsObject
{
/**
* constructor
**/
function XoopsPrivmessage()
{
$this->XoopsObject();
$this->initVar('msg_id', XOBJ_DTYPE_INT, null, false);
$this->initVar('msg_image', XOBJ_DTYPE_OTHER, 'icon1.gif', false, 100);
$this->initVar('subject', XOBJ_DTYPE_TXTBOX, null, true, 255);
$this->initVar('from_userid', XOBJ_DTYPE_INT, null, true);
$this->initVar('to_userid', XOBJ_DTYPE_INT, null, true);
$this->initVar('msg_time', XOBJ_DTYPE_OTHER, null, false);
$this->initVar('msg_text', XOBJ_DTYPE_TXTAREA, null, true);
$this->initVar('read_msg', XOBJ_DTYPE_INT, 0, false);
}
}
/**
* XOOPS private message handler class.
*
* This class is responsible for providing data access mechanisms to the data source
* of XOOPS private message class objects.
*
* @package kernel
*
* @author Kazumi Ono <onokazu@xoops.org>
* @copyright copyright (c) 2000-2003 The XOOPS Project (http://www.xoops.org)
*
* @version $Revision: 1.1 $ - $Date: 2008/11/11 10:55:24 $
*/
class XoopsPrivmessageHandler extends XoopsPersistableObjectHandler
{
/**
* Constructor
*
* @access public
*/
public function __construct($db)
{
parent::__construct($db, 'priv_msgs', 'XoopsPrivmessage', 'msg_id');
}
/**
* Mark a message as read
* @param object $pm {@link XoopsPrivmessage} object
* @return bool
**/
function setRead(&$pm)
{
/**
* @TODO: Change to if (!(class_exists($this->className) && $obj instanceof $this->className)) when going fully PHP5
*/
if (!is_a($pm, 'xoopsprivmessage')) {
return false;
}
$sql = sprintf('UPDATE %s SET read_msg = 1 WHERE msg_id = %u', $this->db->prefix('priv_msgs'), $pm->getVar('msg_id'));
return ($this->db->queryF($sql));
}
}
?>
Posté le : 16/11/2008 18:36
|
|
|
Re: Liste des bugs de 2.3.1 pour correction dans 2.3.2 |
|
Régulier
Inscrit: 06/01/2006 23:55
|
Citation : garrath a écrit: je proposerai bien aussi une petite methode supplementaire dans XoopsPersistableObjectHandler :
/**
*
* @param $obj to test if is an instance of $this->className
* @return bool
*/
protected function isIntanceOf($obj){
return (class_exists($this->className) && $obj instanceof $this->className);
}
ou a la limite avec juste is_a($obj, $this->className) mais bon le but c'est d'avoir moins de code a changer apres.
Je reviens la dessus... Car il faut absolument faire le test entre l'objet traité et la classe, dans toutes les methodes qui gerent les objets dans XoopsPersistableObjectHandler car sinon ca risque de poser pas mal de pb. C'est le cas actuellement dans les classes heritante de XoopsObjectHandler qui gere les objets, mais ce n'est absolument pas fait dans XoopsPersistableObjectHandler ou les handlers. Donc risque apres...
Posté le : 16/11/2008 18:49
|
|
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.
|