MyBB.de Forum
shoutbox 2.0 fehler - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Anpassungen (https://www.mybb.de/forum/forum-47.html)
+--- Forum: Plugin-Diskussionen (https://www.mybb.de/forum/forum-38.html)
+--- Thema: shoutbox 2.0 fehler (/thread-3362.html)

Seiten: Seiten: 1 2


shoutbox 2.0 fehler - Madtrax - 03.10.2006

Hallo, habe die Shoutbox 2.0 Beta nach Anweisung installiert, wenn ich sie aktivieren will, kriege ich ....

MySQL error: 1050
Table 'mybb_shouts' already exists
Query: CREATE TABLE `mybb_shouts` ( sid smallint unsigned NOT NULL auto_increment, uid smallint unsigned NOT NULL default '0', username varchar(120) NOT NULL default '', message text NOT NULL default '', dateline bigint(30) NOT NULL default '0', ipaddress varchar(30) NOT NULL default '', PRIMARY KEY (`sid`) ) TYPE=MyISAM;

als Fehlermeldung....

Abhilfe?
Danke im voraus...

Greetz Markus


RE: shoutbox 2.0 fehler - StefanT - 03.10.2006

Gehe in phpmyadmin und lösche mybb_shouts.


RE: shoutbox 2.0 fehler - Madtrax - 03.10.2006

phpmyadmin???

bestimmt doof die frage, aber ich weiß nicht was du meinst...


RE: shoutbox 2.0 fehler - Mak - 03.10.2006

Das ist ein Datenbankverwaltungsprogramm. Du musst in der Datenbank die Tabelle mybb_shouts löschen, kannst dafür auch ein anderes Programm benutzen.


RE: shoutbox 2.0 fehler - Madtrax - 03.10.2006

Danke Mak... !Big Grin


RE: shoutbox 2.0 fehler - Madtrax - 03.10.2006

Höhö... nochmal stören muss *schäm...

Alöso die Datei konnte ich mittels Datenbank auf meinem Server löschen... NU konnte ich die Shoputbox auch aktivieren....

1. Der Link ist da, wenn ich diesen aber anklicke, erscheint nur ein PopUp mit der Meldung---> Shoutbox
There are currently no shouts to display.

Aber keine Möglichkeit einen Shouot einzugeben....

2. Kann ich die Shoutbox auch direkt auf der Seite anzeigen lassen (egal ob index.php oder Portal.php) Ist das Möglich?

Danke... Markus


RE: shoutbox 2.0 fehler - Michael - 03.10.2006

Normalerweise kannst du auch die shoutbox.php direkt im Browser öffnen. Diese befindet sich im Verzeichnis des Forums.


RE: shoutbox 2.0 fehler - Grauer-Magier - 03.10.2006

Hallöchen!

@ Madtrax:

Schau mal hier:

https://www.mybb.de/forum/showthread.php?tid=1149&pid=17399#pid17399

Da wird unter anderem beschrieben, wie du die Shoutbox über eine IFrame einbauen kannst.

@ Michael:

Ich hätte hier eine Frage. Ich hab in der Shoutbox 2.0 diesen Code eingebaut (aus der alten Shoutboxversion kopiert):
Code:
if($mybb->user['uid'] == 0)
{
// Sorry mate, you're not coming in!
sb_error('Nur angemeldete Benutzer können die Shoutbox sehen.');
}
Damit niemand der nicht angemeldet ist, in die Shoutbox linsen kann (funktioniert).

Und ebenso die Veränderung:

Code:
$shout['username'] = $shout['time'].''.'<<a href="member.php?action=profile&uid='.intval($shout['uid']).'" target="_top">'.$shout['username'].'</a>>';
Mit diesem Code konnte man in der alten Shoutboxversion das Shout an den Anfang setzen (das klappt auch jetzt), und eine Zeitangabe (das klappt nun nicht) einbauen.
Wie muß der Code für die neue Version umgeändert werden, damit ich wieder eine Zeitangabe habe?

Liebe Grüße, GM!


RE: shoutbox 2.0 fehler - Grauer-Magier - 04.10.2006

Es ist die Shoutbox Version 2.0 (also nicht mehr Beta) 'rausgekommen:
http://mods.mybboard.com/view.php?did=176

Das Gästeverbot einzubauen klappt noch ... aber alle anderen Änderungen nicht mehr... weder die neuesten Shouts nach oben setzen, noch das Uhrzeit einfügen (das hat ja auch vorher nicht mehr geklappt).

Ich poste hier mal die shoutbox.php:
PHP-Code:
<?php
/**
 * Shoutbox Plugin for MyBB
 * Copyright © 2006 MyBB Mods
 *
 * By: Musicalmidget
 * Website: http://mods.mybboard.com/
 * Version: 2.0
 */

define('IN_MYBB'1);

$templatelist 'shoutbox,shoutbox_add_shout,shoutbox_error,shoutbox_error_no_shouts,shoutbox_shout,shoutbox_edit_shout,shoutbox_delete_shout,shoutbox_multipage';

require_once 
'./global.php';

require_once 
MYBB_ROOT.'inc/functions_post.php';
require_once 
MYBB_ROOT.'inc/class_parser.php';
$parser = new postParser;

function 
sb_error($message)
{
    global 
$headerinclude$mybb$templates$theme;
    
    eval(
"\$error = \"".$templates->get('shoutbox_error')."\";");
    
output_page($error);
    exit;
}

switch(
$mybb->input['action'])
{
    case 
'do_add':
        if(
$mybb->user['uid'] < 1)
        {
            if(
$mybb->settings['sb_guest_shouting'] != 'yes')
            {
                
sb_error($lang->error_guest_shouting);
            }
            else
            {
                
$mybb->user['username'] = $lang->guest;
            }
        }
        
        if(
$mybb->user['usergroup'] != && $mybb->user['usergroup'] != 3)
        {
            
$query $db->simple_select(TABLE_PREFIX.'shouts''COUNT(sid)');
            
$count $db->fetch_field($query'count');
        }
        else
        {
            
$count 0;
        }
        
        if(
$count $mybb->settings['sb_max_consec_shouts'] - 1)
        {
            
$start $count $mybb->settings['sb_max_consec_shouts'];
            
$flood_check 0;
            
            
$options = array(
                
'order_by' => 'dateline',
                
'limit_start' => $start,
                
'limit' => intval($mybb->settings['sb_max_consec_shouts'])
            );
            
            
$query $db->simple_select(TABLE_PREFIX.'shouts''sid, uid'''$options);
            while(
$shout $db->fetch_array($query))
            {
                if(
$shout['uid'] == $mybb->user['uid'])
                {
                    ++
$flood_check;
                }
            }
            
            if(
$flood_check $mybb->settings['sb_max_consec_shouts'] - 1)
            {
                
sb_error($lang->error_flood);
            }
        }
        
        if(empty(
$mybb->input['message']))
        {
            
sb_error($lang->error_shout_empty);
        }
        
        if(
strlen($mybb->input['message']) > $mybb->settings['sb_max_length'])
        {
            
$lang->error_shout_length sprintf($lang->error_shout_length$mybb->settings['sb_max_length']);
            
sb_error($lang->error_shout_length);
        }
        
        
$new_shout = array(
            
'uid' => $mybb->user['uid'],
            
'username' => $mybb->user['username'],
            
'message' => $db->escape_string($mybb->input['message']),
            
'dateline' => time(),
            
'ipaddress' => get_ip()
        );
        
        
$db->insert_query(TABLE_PREFIX.'shouts'$new_shout);
        
redirect('shoutbox.php'$lang->redirect_shout_added);
        break;
    case 
'do_delete':
        if(
$mybb->input['deletesubmit'])
        {
            if(
intval($mybb->input['sid']))
            {
                
$sid intval($mybb->input['sid']);
            }
            else
            {
                
sb_error($lang->error_invalid_shout);
            }
            
            
$where_sql "WHERE sid='$sid'";
            if(
$mybb->user['usergroup'] != && $mybb->user['usergroup'] != 4)
            {
                
$where_sql .= " AND uid='".$mybb->user['uid']."'";
            }
            
            
$query $db->query("DELETE FROM ".TABLE_PREFIX."shouts ".$where_sql);
            
            if(!
$query)
            {
                
sb_error($lang->error_perms);
            }
            
            
redirect('shoutbox.php'$lang->redirect_shout_deleted);
        }
        break;
    case 
'do_edit':
        if(
intval($mybb->input['sid']))
        {
            
$sid intval($mybb->input['sid']);
        }
        else
        {
            
sb_error($lang->error_invalid_shout);
        }
        
        if(empty(
$mybb->input['message']))
        {
            
sb_error($lang->error_shout_empty);
        }
        
        if(
strlen($mybb->input['message']) > $mybb->settings['sb_max_length'])
        {
            
$lang->error_shout_length sprintf($lang->error_shout_length$mybb->settings['sb_max_length']);
            
sb_error($lang->error_shout_length);
        }
        
        
$updated_shout = array(
            
'message' => $db->escape_string($mybb->input['message'])
        );
        
        
$where_sql "sid='$sid'";
        if(
$mybb->user['usergroup'] != && $mybb->user['usergroup'] != 4)
        {
            
$where_sql .= " AND uid='".$mybb->user['uid']."'";
        }
        
        
$query $db->update_query(TABLE_PREFIX.'shouts'$updated_shout$where_sql);
        
        if(!
$query)
        {
            
sb_error($lang->error_perms);
        }
        
        
redirect('shoutbox.php'$lang->redirect_shout_edited);
        break;
    case 
'edit':
        if(
intval($mybb->input['sid']))
        {
            
$sid intval($mybb->input['sid']);
        }
        else
        {
            
sb_error($lang->error_invalid_shout);
        }
        
        
$query $db->simple_select(TABLE_PREFIX.'shouts''sid, uid, message'"sid='$sid'");
        
$shout $db->fetch_array($query);
        
        if(
$mybb->user['uid'] == || $shout['uid'] != && ($mybb->user['uid'] != $shout['uid']))
        {
            if(
$mybb->user['usergroup'] != && $mybb->user['usergroup'] != 4)
            {
                
sb_error($lang->error_invalid_shout);
            }
        }
        
        
$message stripslashes($shout['message']);
        
$message str_replace('"''&quot;'$message);
        
        eval(
"\$edit_shout = \"".$templates->get('shoutbox_edit_shout')."\";");
        
output_page($edit_shout);
        break;
    case 
'delete':
        if(
intval($mybb->input['sid']))
        {
            
$sid intval($mybb->input['sid']);
        }
        else
        {
            
sb_error($lang->error_invalid_shout);
        }
        
        
$query $db->simple_select(TABLE_PREFIX.'shouts''sid, uid'"sid='$sid'");
        
$shout $db->fetch_array($query);
        
        if(
$mybb->user['uid'] == || $shout['uid'] != && ($mybb->user['uid'] != $shout['uid']))
        {
            if(
$mybb->user['usergroup'] != && $mybb->user['usergroup'] != 4)
            {
                
sb_error($lang->error_invalid_shout);
            }
        }
        
        eval(
"\$delete_shout = \"".$templates->get('shoutbox_delete_shout')."\";");
        
output_page($delete_shout);
        break;
    default:
        
// First things first, pagination. Woohoo!
        
$query $db->simple_select(TABLE_PREFIX.'shouts''COUNT(sid) AS count');
        
$count $db->fetch_field($query'count');
        
        if(!
$count)
        {
            
$multipage '';
            eval(
"\$shouts = \"".$templates->get('shoutbox_error_no_shouts')."\";");
        }
        else
        {
            
$perpage intval($mybb->settings['sb_shouts_per_page']);
            
$total_pages ceil($count $perpage);
            
            if(
intval($mybb->input['page']))
            {
                
$page intval($mybb->input['page']);
            }
            else
            {
                
$page 1;
            }
            
            if(
$page == $total_pages)
            {
                
$start 0;
                
$limit $count - (($total_pages 1) * $perpage);
            }
            else
            {
                
$limit $perpage;
                
                if(
$page == 1)
                {
                    
$start $count $limit;
                }
                else
                {
                    
$start $count - ($limit $page);
                }
            }
            
            
$multipage_links multipage($count$perpage$page'shoutbox.php?');
            
            
// Start getting shouts!
            
$query $db->query("
                SELECT s.*, s.username AS shout_username, u.username, u.usergroup, u.displaygroup
                FROM "
.TABLE_PREFIX."shouts s
                LEFT JOIN "
.TABLE_PREFIX."users u ON (u.uid=s.uid)
                ORDER BY s.dateline
                LIMIT 
$start$limit
            "
);
            
            if(
$total_pages 1)
            {
                
$bgcolor alt_trow();
                eval(
"\$multipage_top = \"".$templates->get('shoutbox_multipage')."\";");
            }
            
            while(
$shout $db->fetch_array($query))
            {
                
$parser_options = array(
                    
'allow_html' => $mybb->settings['sb_allow_html'],
                    
'allow_mycode' => $mybb->settings['sb_allow_mycode'],
                    
'allow_smilies' => $mybb->settings['sb_allow_smilies'],
                    
'allow_imgcode' => $mybb->settings['sb_allow_imgcode'],
                    
'me_username' => $shout['username']
                );
                
                
// Check for /me and /slap tags in shout and adjust username displying accordingly.
                
$mecheck explode(' '$shout['message']);
                if(
$mecheck[0] == '/me' || $mecheck[0] == '/slap')
                {
                    
$shout['username'] = '';
                }
                else
                {
                    if(
$shout['uid'] > 0)
                    {
                        
$shout['username'] = format_name($shout['username'], $shout['usergroup'], $shout['displaygroup']);
                        
$shout['username'] = '<<a href="member.php?action=profile&uid='.intval($shout['uid']).'">'.$shout['username'].'</a>>&nbsp;';
                    }
                    else
                    {
                        
$shout['username'] = '&lt;'.$lang->guest.'&gt;&nbsp;';
                    }
                }
                
                
$shout['message'] = $parser->parse_message($shout['message'], $parser_options);
                
                
// Prepare hover message
                
$shout['date'] = my_date($mybb->settings['dateformat'], $shout['dateline']);
                
$shout['time'] = my_date($mybb->settings['timeformat'], $shout['dateline']);
                
                
$shout['ip'] = '';
                if(
$mybb->user['usergroup'] == || $mybb->user['usergroup'] == 4)
                {
                    
$shout['ip'] = sprintf($lang->shout_hover_ip$shout['ipaddress']);
                }
                
                
$title sprintf($lang->shout_hover$shout['date'], $shout['time'], $shout['ip']);
                
                
// Edit and delete options
                
$options '';
                if(
$mybb->user['usergroup'] == || $mybb->user['usergroup'] == || ($mybb->user['uid'] == $shout['uid']) && ($mybb->user['uid'] != 0))
                {
                    
$options ' [ <a href="shoutbox.php?action=edit&amp;sid='.$shout['sid'].'">'.$lang->edit.'</a> ] [ <a href="shoutbox.php?action=delete&amp;sid='.$shout['sid'].'">'.$lang->delete.'</a> ]';
                }
                
                
$bgcolor alt_trow();
                eval(
"\$shouts .= \"".$templates->get('shoutbox_shout')."\";");
            }
            
            if(
$total_pages 1)
            {
                
$bgcolor alt_trow();
                eval(
"\$multipage_bottom = \"".$templates->get('shoutbox_multipage')."\";");
            }
        }
        
        if((
$mybb->user['uid'] > && $mybb->user['usergroup'] != 5) || $mybb->settings['sb_guest_shouting'] == 'yes')
        {
            eval(
"\$add_shout = \"".$templates->get('shoutbox_add_shout')."\";");
        }
        
        
$refresh '';
        if(
$mybb->settings['sb_refresh_time'] > 0)
        {
            
$refresh '<meta http-equiv="refresh" content="'.$mybb->settings['sb_refresh_time'].';URL=shoutbox.php" />';
        }
        
        eval(
"\$shoutbox = \"".$templates->get('shoutbox')."\";");
        
output_page($shoutbox);
        break;
}
?>

Also nochmal meine Fragen:
1. Wie kann ich die Shouts so anzeigen lassen, damit die neuesten als erstes eingefügt werden.
2. Wie kann ich die Uhrzeit zu den Shout hinzufügen?
3. Wie ist die automatische Löschfunktion einzubauen, damit ich den multipage-Befehl entfernen kann?

Liebe Grüße, GM!


RE: shoutbox 2.0 fehler - Schumuckl - 04.10.2006

ups ich habe diesen Thread zu spät gesehn, zu 1 und 2 gucke mal hier https://www.mybb.de/forum/showthread.php?tid=3377


Gruß Schumuckl