Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 4 Gast/Gäste
Fehlermeldung beim Einloggen
#11
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).
Wer eine Wahrheit verbergen will, braucht sie nur offen auszusprechen - sie wird einem ja doch nicht geglaubt.
(Charles Talleyrand)
#12
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.
#13
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
Wer eine Wahrheit verbergen will, braucht sie nur offen auszusprechen - sie wird einem ja doch nicht geglaubt.
(Charles Talleyrand)
#14
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;
        } 
Eine Homepage ist nie fertig, man hört nur auf an ihr zu arbeiten - Unbekannter Verfasser
#15
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!!!
Wer eine Wahrheit verbergen will, braucht sie nur offen auszusprechen - sie wird einem ja doch nicht geglaubt.
(Charles Talleyrand)
#16
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.
Eine Homepage ist nie fertig, man hört nur auf an ihr zu arbeiten - Unbekannter Verfasser
#17
Echt? ... hmm komisch...

Nachtrag: Wenn ich ausgeloggt bin, stimmts, aber wenn ich eingeloggt bin, stimmts nicht.
Wer eine Wahrheit verbergen will, braucht sie nur offen auszusprechen - sie wird einem ja doch nicht geglaubt.
(Charles Talleyrand)
#18
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?
Eine Homepage ist nie fertig, man hört nur auf an ihr zu arbeiten - Unbekannter Verfasser
#19
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!


Angehängte Dateien
.php   index.php (Größe: 11,38 KB / Downloads: 1)
Wer eine Wahrheit verbergen will, braucht sie nur offen auszusprechen - sie wird einem ja doch nicht geglaubt.
(Charles Talleyrand)
#20
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?
Eine Homepage ist nie fertig, man hört nur auf an ihr zu arbeiten - Unbekannter Verfasser