1
coopersita
Booklists crashes my notifications

When I add a notification in booklists 0.8 (books waiting for approval), my whole notification section crashes (white notifications page).

I get the following error message:

Fatal errorCall to a member function on a non-object in 
/home/club/public_html/modules/booklists/include/notification.inc.php 
on line 37


I took a look at the code, but I can't find anything wrong:

function mybooks_notify_iteminfo($category$item_id)
{
    global 
$xoopsModule$xoopsModuleConfig$xoopsConfig;

    if (empty(
$xoopsModule) || $xoopsModule->getVar('dirname') != 'mybooks') {    
        
$module_handler =& xoops_gethandler('module');
        
$module =& $module_handler->getByDirname('mybooks');
        
$config_handler =& xoops_gethandler('config');
        
$config =& $config_handler->getConfigsByCat(0,$module->getVar('mid'));
    } else {
        
$module =& $xoopsModule;
        
$config =& $xoopsModuleConfig;
    }

    
//include_once XOOPS_ROOT_PATH . '/modules/' . $module->getVar('dirname') . '/language/' . $xoopsConfig['language'] . '/main.php';

    
if ($category=='global') {
        
$item['name'] = '';
        
$item['url'] = '';
        return 
$item;
    }

    global 
$xoopsDB;
    if (
$category=='category') {
        
// Assume we have a valid category id
        
$sql 'SELECT title FROM ' $xoopsDB->prefix('mybooks_cat') . ' WHERE cid = '.$item_id;
        
$result $xoopsDB->query($sql); // TODO: error check
        
$result_array $xoopsDB->fetchArray($result);
        
$item['name'] = $result_array['title'];
        
$item['url'] = XOOPS_URL '/modules/' $module->getVar('dirname') . '/viewcat.php?cid=' $item_id;
        return 
$item;
    }

    if (
$category=='link') {
        
// Assume we have a valid link id
        
$sql 'SELECT cid,title FROM '.$xoopsDB->prefix('mybooks_links') . ' WHERE lid = ' $item_id;
        
$result $xoopsDB->query($sql); // TODO: error check
        
$result_array $xoopsDB->fetchArray($result);
        
$item['name'] = $result_array['title'];
        
$item['url'] = XOOPS_URL '/modules/' $module->getVar('dirname') . '/singlelink.php?cid=' $result_array['cid'] . '&lid=' $item_id;
        return 
$item;
    }
}


If I turn off all my booklists notifications off, I get my notifications page back.

Has anyone encountered this in booklists?

Any ideas on how to correct it?

I tried upgrading to booklists 0.9, but then it all crashes. I don't want to uninstall and install again (I don't want to loose my books).

2
hervet
Re: Booklists crashes my notifications
  • 2004/11/29 18:32

  • hervet

  • Friend of XOOPS

  • Posts: 2267

  • Since: 2003/11/4


hum... what is the line 37 ?

3
coopersita
Re: Booklists crashes my notifications

Here's with line numbers:

1<?php
2
// $Id: menu.php, v.0.8 2004/02/18 3:35 csloh  $
3// $Id: notification.inc.php,v 1.2 2003/03/30 01:51:59 mvandam Exp $
4//  ------------------------------------------------------------------------ //
5//                XOOPS - PHP Content Management System                      //
6//                    Copyright (c) 2000 XOOPS.org                           //
7//                       <https://xoops.org/>                             //
8//  ------------------------------------------------------------------------ //
9//  This program is free software; you can redistribute it and/or modify     //
10//  it under the terms of the GNU General Public License as published by     //
11//  the Free Software Foundation; either version 2 of the License, or        //
12//  (at your option) any later version.                                      //
13//                                                                           //
14//  You may not change or alter any portion of this comment or credits       //
15//  of supporting developers from this source code or any supporting         //
16//  source code which is considered copyrighted (c) material of the          //
17//  original comment or credit authors.                                      //
18//                                                                           //
19//  This program is distributed in the hope that it will be useful,          //
20//  but WITHOUT ANY WARRANTY; without even the implied warranty of           //
21//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            //
22//  GNU General Public License for more details.                             //
23//                                                                           //
24//  You should have received a copy of the GNU General Public License        //
25//  along with this program; if not, write to the Free Software              //
26//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA //
27//  ------------------------------------------------------------------------ //
28
29
function mybooks_notify_iteminfo($category$item_id)
30{
31    global $xoopsModule$xoopsModuleConfig$xoopsConfig;
32
33    
if (empty($xoopsModule) || $xoopsModule->getVar('dirname') != 'mybooks') {    
34        $module_handler =& xoops_gethandler('module');
35        $module =& $module_handler->getByDirname('mybooks');
36        $config_handler =& xoops_gethandler('config');
37        $config =& $config_handler->getConfigsByCat(0,$module->getVar('mid'));
38    } else {
39        $module =& $xoopsModule;
40        $config =& $xoopsModuleConfig;
    }

    
//include_once XOOPS_ROOT_PATH . '/modules/' . $module->getVar('dirname') . '/language/' . $xoopsConfig['language'] . '/main.php';

    
if ($category=='global') {
        
$item['name'] = '';
        
$item['url'] = '';
        return 
$item;
    }

    global 
$xoopsDB;
    if (
$category=='category') {
        
// Assume we have a valid category id
        
$sql 'SELECT title FROM ' $xoopsDB->prefix('mybooks_cat') . ' WHERE cid = '.$item_id;
        
$result $xoopsDB->query($sql); // TODO: error check
        
$result_array $xoopsDB->fetchArray($result);
        
$item['name'] = $result_array['title'];
        
$item['url'] = XOOPS_URL '/modules/' $module->getVar('dirname') . '/viewcat.php?cid=' $item_id;
        return 
$item;
    }

    if (
$category=='link') {
        
// Assume we have a valid link id
        
$sql 'SELECT cid,title FROM '.$xoopsDB->prefix('mybooks_links') . ' WHERE lid = ' $item_id;
        
$result $xoopsDB->query($sql); // TODO: error check
        
$result_array $xoopsDB->fetchArray($result);
        
$item['name'] = $result_array['title'];
        
$item['url'] = XOOPS_URL '/modules/' $module->getVar('dirname') . '/singlelink.php?cid=' $result_array['cid'] . '&lid=' $item_id;
        return 
$item;
    }
}
?>


Allthough I'm not sure the line number is correct... Could it be the <?php at the beginning? If it's an include, does it really need it?

4
hervet
Re: Booklists crashes my notifications
  • 2004/11/29 18:56

  • hervet

  • Friend of XOOPS

  • Posts: 2267

  • Since: 2003/11/4


use an editor and count the lines number one by one from the first line.

5
coopersita
Re: Booklists crashes my notifications

What I meant is that I don't know if the number 37 is accurate. The numbers I added to the lines are what the text editor show, but line 37 doesn't call for any include...

Booklists is based on mylinks. I compared notification.inc.php for both modules, and they are identical... the problem must be somewhere else.

6
coopersita
Re: Booklists crashes my notifications

No one else uses booklists?

7
ackbarr
Re: Booklists crashes my notifications

37        $config =& $config_handler->getConfigsByCat(0,$module->getVar('mid'));


should be:
37        $config =& $config_handler->getConfigsByCat(0,[color=008000][b]$xoopsModule[/b][/color]->getVar('mid'));

8
ackbarr
Re: Booklists crashes my notifications

nevermind - that's not the problem. is the directory name of the module 'mybooks' all lowercase?

9
coopersita
Re: Booklists crashes my notifications

Thanks so much. That was exactly it. The folder is called booklists, not mybooks.

I guess I downloaded a buggy version.

I changed the mybooks to booklists in that file and it now works.

10
csloh
Re: Booklists crashes my notifications [fixed]
  • 2004/12/10 6:01

  • csloh

  • Just popping in

  • Posts: 20

  • Since: 2003/12/17


Sorry guys, haven't been checking the forum (nor inbox) for sometimes.

That was my first attempt in cloning a module (from "MyLink") and oobviously I did not do a very clean job and had left some "link" uncorrected.

There is now a 0.9 version of booklists. I have double-checked and clean out the "wrong directory" codes, and it should work better. You can download it here.

Login

Who's Online

68 user(s) are online (56 user(s) are browsing Support Forums)


Members: 0


Guests: 68


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: Apr 30
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits