Seite 1 von 2

[smartor album] neue kommentare anzeigen

Verfasst: 12.09.2004 21:36
von tomtom
hallo zusammen,

ich habe diesen mod gefunden: new Picture comments from photo album add-on on ezaortal.

bei smartor hat ein user das so umgeschrieben, dass man ihn auch ohne portal nutzen kann:

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------------------
#

index.php

#
#-----[ FIND ]------------------------------------------
#

//
// Start output of page
//

#
#-----[ BEFORE, ADD ]------------------------------------------
#
 
//
// START New Album Comments
//    by vgan

{
   $sql = "SELECT COUNT(comment_id) as total_comments
         FROM ". ALBUM_COMMENT_TABLE ."
         WHERE comment_time >= " . $userdata['user_lastvisit'];
   $result = $db->sql_query($sql);
   if( $result )
   {
      $commentrow = $db->sql_fetchrow($result);
      if( $commentrow['total_comments'] == 0 )
      {
         $new_pic_comments = NULL;
      }
      else if( $commentrow['total_comments'] == 1 )
      {
         $new_pic_comments = ('<b>1</b>&nbsp;' . $lang['New_pic_comment']);
      }      
      else
      {
         $new_pic_comments = ('<b>' . $commentrow['total_comments'] . '</b>' . '&nbsp;' . $lang['New_pic_comments']);
      }
   }
}

//
// END New album comments
//    by vgan

#
#-----[ FIND ]-----------------------------------------------
#

   'L_MODERATOR' => $lang['Moderators'],

#
#-----[ BEFORE, ADD ]-----------------------------------------
#

// New Album Comments -   by vgan
   'L_NEW_PIC_COMMENTS' => $new_pic_comments,
   'U_NEW_PIC_COMMENTS' => append_sid("album_new_comments.$phpEx"),

#
#-----[ OPEN ]------------------------------------------------
#

lang_main.php

#
#-----[ FIND ]------------------------------------------------
#

//
// That's all, Folks!

#
#-----[ BEFORE, ADD ]------------------------------------------
#

//
// New Album Comments - by vgan
//
$lang['New_pic_comments'] = 'New Album Comments';
$lang['New_pic_comment'] = 'New Album Comment';
$lang['No_new_pic_comments'] = 'No new comments in Album';

#
#-----[ OPEN ]-------------------------------------------------
#

/templates/subSilver/index_body.tpl

#
#-----[ FIND ]-------------------------------------------------
#


            <a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a><br />

#
#-----[ DIRECTLY AFTER, ADD ]-------------------------------------------
#

            <a href="{U_NEW_PIC_COMMENTS}" class="gensmall">{L_NEW_PIC_COMMENTS}</a><br />

#
#-----[ SAVE/CLOSE/UPLOAD ALL FILES ]------------------------------------------
#
# EoM
ich erhalte dann auch in dem block
Beiträge seit dem letzten Besuch anzeigen | Eigene Beiträge zeigen | Unbeantwortete Beiträge anzeigen | Alle Foren als gelesen markieren
1 new comment an, nur wenn ich draufklicke (es wird eine "album_new_comments.php" aufgerufen, und ich erhalte eine fehlermeldung:
phpBB : Kritischer Fehler

Error updating sessions table

DEBUG MODE

SQL Error : 1054 Unknown column 'PAGE_ALBUM_PICTURE' in 'field list'

UPDATE 524_sessions SET session_time = 1095018150, session_page = PAGE_ALBUM_PICTURE, session_topic = '0' WHERE session_id = '9d15e6841bcaa3e4bf5b2c6c21cc2884'

Line : 267
File : /srv/www/htdocs/web317/html/forum/includes/sessions.php
frage: was genau muss an der db verändert werden? das ist nirgends dokumentiert... :(

Verfasst: 12.09.2004 22:31
von Acid
PAGE_ALBUM_PICTURE
Diese Konstante muss in der constants.php definiert werden. Vergleich´s mit anderen ALBUM-Konstanten in der Datei.

Verfasst: 13.09.2004 07:42
von tomtom
:oops: öhm ... wie denn? *lieb-frag*

Verfasst: 13.09.2004 07:44
von Leuchte
includes/constants.php
z.B. vor

Code: Alles auswählen

define('PAGE_TOPIC_OFFSET', 5000);
Das einfügen

Code: Alles auswählen

define('PAGE_ALBUM_PICTURE', -666);

Verfasst: 13.09.2004 07:46
von tomtom
Leuchte hat geschrieben:includes/constants.php
z.B. vor

Code: Alles auswählen

define('PAGE_TOPIC_OFFSET', 5000);
Das einfügen

Code: Alles auswählen

define('PAGE_ALBUM_PICTURE', -666);
morgen leuchte, was bedeutet wenn das -666 ? :oops: trau mich fast garnicht zu fragen ...

edit: wenn ich das eintrage, und den "1 new comment" anklicke erhalte ich

Fatal error: Call to undefined function: imagerating() in /srv/www/htdocs/web317/html/forum/album_new_comments.php on line 165

Verfasst: 13.09.2004 08:00
von Leuchte
Erläuterung: http://www.phpbb.de/doku/doku2.php?mode ... quote]Feld: session_page
Funktion/Inhalt: Aufenthaltsort des jeweiligen Users
Werte: entweder ID des Forums oder für andere Seiten als negative Ziffer (s. constants.php unter // Page numbers)[/quote]-666 kann auch jede andere Ziffer sein, die noch nicht belegt ist.
Fatal error: Call to undefined function: imagerating() in /srv/www/htdocs/web317/html/forum/album_new_comments.php on line 165
Die Funktion imagerating gibt es beim Original Album Mod nicht. Werden bei dir alle Anforderungen erfüllt (ezPortal(erweiterungen), etc.)?

Verfasst: 13.09.2004 08:05
von tomtom
das ezportal habe ich nicht, die anleitung soll ja auch für die ausgabe auf der index.php sein.

ich habe nun in der album_new_comments.php die zeile

Code: Alles auswählen

$image_rating = ImageRating( $picrow[$j]['rating']);
mal auskommentiert testweise.

es scheint nun auch zu funktionieren..

sorry, das mit der -666 oder wie auch immer versteh ich nicht so ganz. was gibt diese zahl an? wofür steht sie?

Verfasst: 13.09.2004 08:19
von Leuchte
Ein wenig OffTopic aber gut:
Nehmen wir als Beispiel die index.php.
Dort finden wir in Zeile 31/32

Code: Alles auswählen

$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
Dazu in der constants.php

Code: Alles auswählen

define('PAGE_INDEX', 0);
So jetzt suchen wir die Funktion session_pagestart in der includes/sessions.php

Code: Alles auswählen

function session_pagestart($user_ip, $thispage_id)
In der constants.php hat PAGE_INDEX die ID 0 also wird in der Funktion die IP des Users und die 0 als $thispage_id weitergegeben.
Die Funktion aktualisiert dann die Session- und User-Tabelle

Code: Alles auswählen

$sql = "UPDATE " . USERS_TABLE . " 
SET user_session_time = $current_time, user_session_page = $thispage_id 
WHERE user_id = " . $userdata['user_id'];
Es wird also die aktuelle Zeit und die 0 in die Datenbank geschrieben.
Wird jetzt der Admin-Index oder die viewonline.php aufgerufen, wird der aktuelle Ort (user_session_page; in unserem Fall 0) aus der DB für die User ausgelesen und einer $lang() Variable zugewiesen

Code: Alles auswählen

case PAGE_INDEX:
		$location = $lang['Forum_index'];
		$location_url = "index.$phpEx";
Die -666 dient einfach dazu, einer Seite eine eindeutige Nummer zu geben. Ich hätte also auch genauso gut -13 oder -9999 nehmen können. ;)

Verfasst: 13.09.2004 08:25
von tomtom
ah okay, danke leuchte ... :o sollte vielleicht sticky werden, oder in der kb so ausführlich auftauchen!

nun läuft auch alles soweit.

jetzt ist es so, dass bei keinen neuen kommentaren im index stehen soll: Keine neuen Kommentare im Bilder-Album.

statdessen steht da einfach gar nix ... ? wie kann ich das noch anpassen?

Verfasst: 13.09.2004 08:27
von Leuchte
Hast du mal einen Link zum Forum?