MyBB.de Forum
Fehlermeldung beim Einloggen - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: Archiv (https://www.mybb.de/forum/forum-57.html)
+--- Forum: MyBB 1.2.x und älter (https://www.mybb.de/forum/forum-27.html)
+---- Forum: Allgemeiner Support (https://www.mybb.de/forum/forum-36.html)
+---- Thema: Fehlermeldung beim Einloggen (/thread-3389.html)

Seiten: Seiten: 1 2 3


RE: Fehlermeldung beim Einloggen - Grauer-Magier - 12.10.2006

Ohje, ich hab noch nie einen Plugin selbst gecoded! ... weiß gar nicht wie ich da anfangen soll... Hmm, mal schaun... Ich kann die Änderungen aber auf jedenfall posten. Dauert nur etwas, da ich die Einstellungen erst wieder zusammensuchen muß.

Den Fehler hatte ich auch (deshalb auch dieser Thread hier).


RE: Fehlermeldung beim Einloggen - Bill - 12.10.2006

Der Fehler scheint aufzutreten wenn man das erste mal wieder auf die Seite geht. Wäre nett wenn du deine Änderungen bei Gelegenheit zusammensuchen könntest Smile. Bei der Erstellung des Plug-ins kann ich dir evtl. helfen.


RE: Fehlermeldung beim Einloggen - Grauer-Magier - 12.10.2006

Damit man die Statistikbox aus dem Portal, auf der Startseite nutzen kann, habe ich folgenden Code aus der Portal.php kopiert und in die index.php geschrieben. Und zwar über die Zeile
PHP-Code:
    // Build the who's online bit on the index page. 

PHP-Code:
// If user is known, welcome them
{
    if(
$mybb->user['uid'] != 0)
    {
        if(
$mybb->user['receivepms'] != "no" && $mybb->usergroup['canusepms'] != "no" && $mybb->settings['portal_showpms'] != "no" && $mybb->settings['enablepms'] != "no")
        {
            
$query $db->simple_select(TABLE_PREFIX."privatemessages""COUNT(*) AS pms_total, SUM(IF(dateline>'".$mybb->user['lastvisit']."' AND folder='1','1','0')) AS pms_new, SUM(IF(status='0' AND folder='1','1','0')) AS pms_unread""uid='".$mybb->user['uid']."'");
            
$messages $db->fetch_array($query);
            if(!
$messages['pms_new'])
            {
                
$messages['pms_new'] = 0;
            }
            
// the SUM() thing returns "" instead of 0
            
if($messages['pms_unread'] == "")
            {
                
$messages['pms_unread'] = 0;
            }
            
$lang->pms_received_new sprintf($lang->pms_received_new$mybb->user['username'], $messages['pms_new']);
            eval(
"\$pms = \"".$templates->get("portal_pms")."\";");
        }
        
// get number of new posts, threads, announcements
        
$query $db->simple_select(TABLE_PREFIX."posts""COUNT(pid) AS newposts""dateline>'".$mybb->user['lastvisit']."' $unviewwhere");
        
$newposts $db->fetch_field($query"newposts");
        if(
$newposts)
        { 
// if there aren't any new posts, there is no point in wasting two more queries
            
$query $db->simple_select(TABLE_PREFIX."threads""COUNT(tid) AS newthreads""dateline>'".$mybb->user['lastvisit']."' $unviewwhere");
            
$newthreads $db->fetch_field($query"newthreads");
            
$query $db->simple_select(TABLE_PREFIX."threads""COUNT(tid) AS newann""dateline>'".$mybb->user['lastvisit']."' AND fid IN (".$mybb->settings['portal_announcementsfid'].") $unviewwhere");
            
$newann $db->fetch_field($query"newann");
            if(!
$newthreads)
            {
                
$newthreads 0;
            }
            if(!
$newann)
            {
                
$newann 0;
            }
        }
        else
        {
            
$newposts 0;
            
$newthreads 0;
            
$newann 0;
        }

        
// Make the text
        
if($newann == 1)
        {
            
$lang->new_announcements $lang->new_announcement;
        }
        else
        {
            
$lang->new_announcements sprintf($lang->new_announcements$newann);
        }
        if(
$newthreads == 1)
        {
            
$lang->new_threads $lang->new_thread;
        }
        else
        {
            
$lang->new_threads sprintf($lang->new_threads$newthreads);
        }
        if(
$newposts == 1)
        {
            
$lang->new__portal_posts $lang->new_post;
        }
        else
        {
            
$lang->new_portal_posts sprintf($lang->new_portal_posts$newposts);
        }
        eval(
"\$welcometext = \"".$templates->get("index_welcome_membertext")."\";");

    }
    else
    {
        
$lang->guest_welcome_registration sprintf($lang->guest_welcome_registration$mybb->settings['bburl'] . '/member.php?action=register');
        
$mybb->user['username'] = $lang->guest;
        eval(
"\$welcometext = \"".$templates->get("portal_welcome_guesttext")."\";");
    }
    
$lang->welcome sprintf($lang->welcome$mybb->user['username']);


Erstelle das Template index_welcome_membertext mit dem Inhalt:
Code:
<span class="smalltext"><em>{$lang->member_welcome_lastvisit}</em> {$lastvisit}<br />
{$lang->since_then}<br />
<strong>&raquo;</strong> {$lang->new_announcements}<br />
<strong>&raquo;</strong> {$lang->new_threads}<br />
<strong>&raquo;</strong> {$lang->new_portal_posts}<br /><br />
<a href="{$mybb->settings['bburl']}/search.php?action=getnew">{$lang->view_new}</a><br /><a href="{$mybb->settings['bburl']}/search.php?action=getdaily">{$lang->view_todays}</a>
</span>

Dann hab ich in die Sprachdatei index.lang.php die Sprachvariablen aus portal.lang.php eingefügt:
"$l['new_announcements']"
"$l['new_announcement']"
"$l['new_threads']"
"$l['new_thread']"
"$l['new_portal_posts']" (diese ist im Original "$l['new_posts']"
"$l['new_post']"

Und um es graphisch so zu machen wie ich es wollte habe ich dann folgendes in das Template index eingefügt:
Code:
<table width="100%" border="0">
<tr>
<td width="20%" valign="top">
<table border="0" cellspacing="1" cellpadding="4" class="tborder">
<tr>
<td class="thead" colspan="4"><b>Willkommen, <br><center><font color=#EEDC82>{$mybb->user['username']}</center></font></b></td>
</tr>
<tr><td><center><br>
<img src="{$mybb->user['avatar']}" alt="Dein Avatar kann gerade nicht geladen werden" /></center><br></td>
</tr>
</table><br />
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td class="thead"><strong>Beitragsstatistik</strong></td>
</tr>
<tr>
<td class="trow1">
{$welcometext}
</td>
</tr>
</table>
</td>
<td width="75%" valign="top">{$overview}</td>
</tr>
</table>

Dann sollte alles so aussehen:    

Hab es mit dem Übersichtsplugin kombiniert in einer Tabelle darstellen lassen.

.... hoffe ich habe nix vergessen... :-D


RE: Fehlermeldung beim Einloggen - frankrieger - 12.10.2006

Zu dem Schönheitsfehler:
Kommentier den Originaleintrag $l['new_posts'] der index.lang.php wieder ein (//entfernen).
Danach ändere den Eintrag des neuen (von der portal.lang.php) in
$l['new_portal_posts']
Und ändere in der index.php die Zeile
PHP-Code:
$lang->new_posts sprintf($lang->new_posts$newposts); 
zu
PHP-Code:
$lang->new_posts sprintf($lang->new_portal_posts$newposts); 
Sollte dann eigentlich funktionieren...

P.S.: Die Templates
index_announcement
index_announcement_numcomments
index_announcement_numcomments_no
index_latestthreads
index_latestthreads_thread
kann man sich so wie ich das sehe sparen (keine Garantie, einfach mal ausprobieren)...

[edit] In deinem Quelltext ist glaube ich folgender Teil doppelt:
PHP-Code:
// get number of new posts, threads, announcements
        
$query $db->simple_select(TABLE_PREFIX."posts""COUNT(pid) AS newposts""dateline>'".$mybb->user['lastvisit']."' $unviewwhere");
        
$newposts $db->fetch_field($query"newposts");
        if(
$newposts)
        { 
// if there aren't any new posts, there is no point in wasting two more queries
            
$query $db->simple_select(TABLE_PREFIX."threads""COUNT(tid) AS newthreads""dateline>'".$mybb->user['lastvisit']."' $unviewwhere");
            
$newthreads $db->fetch_field($query"newthreads");
            
$query $db->simple_select(TABLE_PREFIX."threads""COUNT(tid) AS newann""dateline>'".$mybb->user['lastvisit']."' AND fid IN (".$mybb->settings['portal_announcementsfid'].") $unviewwhere");
            
$newann $db->fetch_field($query"newann");
            if(!
$newthreads)
            {
                
$newthreads 0;
            }
            if(!
$newann)
            {
                
$newann 0;
            }
        }
        else
        {
            
$newposts 0;
            
$newthreads 0;
            
$newann 0;
        } 



RE: Fehlermeldung beim Einloggen - Grauer-Magier - 12.10.2006

HI, frankrieger!

Danke für deine Anregung. Klappt leider nicht. Unten werden weiterhin "X Beitrtäge" angezeigt.

Nachtrag: Stimmt, dass hatte ich doppelt drin. Ich korrigiers oben auch mal schnell! Danke!!!


RE: Fehlermeldung beim Einloggen - frankrieger - 12.10.2006

Ich hab mir dein Forum gerade mal angesehen.
Hast du den Quelltext in der index.php geändert?

[edit] Habs grad noch mal angeschaut und es funktioniert.


RE: Fehlermeldung beim Einloggen - Grauer-Magier - 12.10.2006

Echt? ... hmm komisch...

Nachtrag: Wenn ich ausgeloggt bin, stimmts, aber wenn ich eingeloggt bin, stimmts nicht.


RE: Fehlermeldung beim Einloggen - frankrieger - 12.10.2006

Kannst du mir mal deine index.php anhängen?
Und den Inhalt vondem Template portal_welcome_guesttext?
Darf ich bei dir einen Test-Account erstellen?


RE: Fehlermeldung beim Einloggen - Grauer-Magier - 12.10.2006

Index.php im Anhang

Hier das Termplate:
Code:
<span class="smalltext">{$lang->guest_welcome_registration}<br />
<br />
<form method="post" action="{$portal_url}"><input type="hidden" name="action" value="do_login" />
{$lang->username}<br />&nbsp;&nbsp;<input type="text" class="textbox" name="username" value="" /><br /><br />
{$lang->password}<br />&nbsp;&nbsp;<input type="password" class="textbox" name="password" value="" /><br />
<br /><input type="submit" class="button" name="loginsubmit" value="{$lang->login}" /></form>


Klar, kannste dir nen Account erstellen!


RE: Fehlermeldung beim Einloggen - frankrieger - 12.10.2006

Ok versuchen wir es noch ein bisschen anders.
Veränder folgende Codezeilen in der index.php:
PHP-Code:
if($newposts == 1)
        {
            
$lang->new_posts $lang->new_post;
        }
        else
        {
            
$lang->new_posts sprintf($lang->new_portal_posts$newposts);
        }
        eval(
"\$welcometext = \"".$templates->get("portal_welcome_membertext")."\";"); 
in
PHP-Code:
if($newposts == 1)
        {
            
$lang->new_portal_posts $lang->new_post;
        }
        else
        {
            
$lang->new_portal_posts sprintf($lang->new_portal_posts$newposts);
        }
        eval(
"\$welcometext = \"".$templates->get("index_welcome_membertext")."\";"); 
und erstelle das Template index_welcome_membertext mit dem Inhalt:
Code:
<span class="smalltext"><em>{$lang->member_welcome_lastvisit}</em> {$lastvisit}<br />
{$lang->since_then}<br />
<strong>&raquo;</strong> {$lang->new_announcements}<br />
<strong>&raquo;</strong> {$lang->new_threads}<br />
<strong>&raquo;</strong> {$lang->new_portal_posts}<br /><br />
<a href="{$mybb->settings['bburl']}/search.php?action=getnew">{$lang->view_new}</a><br /><a href="{$mybb->settings['bburl']}/search.php?action=getdaily">{$lang->view_todays}</a>
</span>

[edit] Postest du bitte noch deine index.lang.php?