Seite 10 von 45

Verfasst: 13.09.2003 01:42
von kain
hey acid ich habe einen fehler gefunden und zwar in der
## Hack Titel: Recent Topics (zweite Version)
## Hack Version: 2.0.2 (phpBB 2.0 - 2.0.4)

such mal nach folgendem:
<td class="{recent.ROW_CLASS}"><a href="{recent.U_VIEW_FORUM}" class="genmed">{recent.FORUM_NAME}</td>
müsste aber so sein:
<td class="{recent.ROW_CLASS}"><a href="{recent.U_VIEW_FORUM}" class="genmed">{recent.FORUM_NAME}</a></td>

sonst ist alles super :grin:

Verfasst: 13.09.2003 13:03
von kain
mrmacgee hat geschrieben:Also hier der link zu meiner index.php ( hab ne 1 rangehangen)

http://mitglied.lycos.de/sobclan/forum/index.php1

mein problem wird 1 2 seiten vorher beschrieben....
hey lösch mal das rote # in deiner index.php

#include($phpbb_root_path . 'recent.'.$phpEx);

Verfasst: 18.09.2003 16:41
von big_EYE
hallo leute!!! ich bin neu hier und wollt mich erst ma vorstellen :D
ich hab auch gleich ne frage: ich hab den "letzte posts" hack installiert aber er funktioniert nicht :cry:

das hier is meine recent php
<?php
// ############ Edit below ############
$css ="http://milchclan.maxsyncron.de/phpBB2/t ... Silver.css"; //path and name to your css_sheet - optional
$length = '25'; // length of topic title
$limit = '3'; // how many topics?
$root ='http://milchclan.maxsyncron.de/phpBB2/'; // board folder without! ending mark (if in same folder just '.')
// ############ Edit above ############

define('IN_PHPBB', true);
$phpbb_root_path = 'http://milchclan.maxsyncron.de/phpBB2/'; // board folder with! ending mark (if in same folder just './')
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

@$userdata = session_pagestart($user_ip, PAGE_INDEX);
@init_userprefs($userdata);

// #### html output ####
echo "<link rel=\"stylesheet\" href=\"$css\" type=\"text/css\">"; // - optional
echo "<table width=\"60%\" cellpadding=\"1\" cellspacing=\"1\" border=\"0\" align=\"center\" class=\"forumline\">";
echo "<tr><th colspan=\"6\">$limit recent topics</th></tr>";
// #### html output ####

$sql = "SELECT post_id FROM " . POSTS_TABLE;
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain matched posts list', '', __LINE__, __FILE__, $sql);
}
$recent_ids = array();
while( $row = $db->sql_fetchrow($result) )
{
$recent_ids[] = $row['post_id'];
}
$db->sql_freeresult($result);

$recent_forum = ( isset($HTTP_POST_VARS['forum']) ) ? intval($HTTP_POST_VARS['forum']) : -1;
if ( $recent_forum == -1 )
{
$is_auth_ary = auth(AUTH_READ, AUTH_LIST_ALL, $userdata);
$ignore_forum_sql = '';
while( list($key, $value) = each($is_auth_ary) )
{
if ( !$value['auth_read'] )
{
$ignore_forum_sql .= ( ( $ignore_forum_sql != '' ) ? ', ' : '' ) . $key;
}
}
if ( $ignore_forum_sql != '' )
{
$auth_sql .= ( $auth_sql != '' ) ? " AND f.forum_id NOT IN ($ignore_forum_sql) " : "f.forum_id NOT IN ($ignore_forum_sql) ";
}
}
if ( $recent_author == '' && $auth_sql == '' )
{
$sql = "SELECT topic_id FROM " . POSTS_TABLE . "
WHERE post_id IN (" . implode(", ", $recent_ids) . ")
$where_sql GROUP BY topic_id";
}
else
{
$from_sql = POSTS_TABLE . " p";
if ( $auth_sql != '' )
{
$from_sql .= ", " . FORUMS_TABLE . " f";
$where_sql .= " AND f.forum_id = p.forum_id AND $auth_sql";
}
$sql = "SELECT p.topic_id FROM $from_sql
WHERE p.post_id IN (" . implode(", ", $recent_ids) . ")
$where_sql GROUP BY p.topic_id";
}
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain topic ids', '', __LINE__, __FILE__, $sql);
}

$recent_ids = array();
while( $row = $db->sql_fetchrow($result) )
{
$recent_ids[] = $row['topic_id'];
}
$db->sql_freeresult($result);

$auth_results = implode(', ', $recent_ids);
$sql = "SELECT t.*, f.forum_id, f.forum_name, u.username, u.user_id, u2.username as user2, u2.user_id as id2, p.post_username, p2.post_username AS post_username2, p2.post_time
FROM ". TOPICS_TABLE ." t, ". FORUMS_TABLE ." f, ". USERS_TABLE ." u, ". POSTS_TABLE ." p, ". POSTS_TABLE ." p2, ". USERS_TABLE ." u2
WHERE t.topic_id IN ($auth_results)
AND t.topic_poster = u.user_id
AND f.forum_id = t.forum_id
AND p.post_id = t.topic_first_post_id
AND p2.post_id = t.topic_last_post_id
AND u2.user_id = p2.poster_id
ORDER BY t.topic_last_post_id DESC LIMIT $limit";
if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not obtain main information', '', __LINE__, __FILE__, $sql);
}
$line = array();
while( $row = $db->sql_fetchrow($result) )
{
$line[] = $row;
}
$db->sql_freeresult($result);

$tracking_topics = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_t']) : array();
$tracking_forums = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) ) ? unserialize($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f']) : array();
for($i = 0; $i < count($line); $i++)
{
$forum_url = append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $line[$i]['forum_id']);
$forum_id = $line[$i]['forum_id'];
$topic_url = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . '=' . $line[$i]['topic_id']);
$topic_id = $line[$i]['topic_id'];

$orig_word = array();
$replacement_word = array();
obtain_word_list($orig_word, $replacement_word);
$word_censor = ( count($orig_word) ) ? preg_replace($orig_word, $replacement_word, $line[$i]['topic_title']) : $line[$i]['topic_title'];
$topic_title = ( strlen($line[$i]['topic_title']) < $length ) ? $word_censor : substr(stripslashes($word_censor), 0, $length) . "...";

$topic_type = ( $line[$i]['topic_type'] == POST_ANNOUNCE ) ? $lang['Topic_Announcement'] .' ': '';
$topic_type .= ( $line[$i]['topic_type'] == POST_STICKY ) ? $lang['Topic_Sticky'] .' ': '';
$topic_type .= ( $line[$i]['topic_vote'] ) ? $lang['Topic_Poll'] .' ': '';

$views = $line[$i]['topic_views'];
$replies = $line[$i]['topic_replies'];
if ( ( $replies + 1 ) > $board_config['posts_per_page'] )
{
$total_pages = ceil( ( $replies + 1 ) / $board_config['posts_per_page'] );
$goto_page = ' [ ';
$times = 1;
for($j = 0; $j < $replies + 1; $j += $board_config['posts_per_page'])
{
$goto_page .= '<a href="' . append_sid("$root/viewtopic.$phpEx?" . POST_TOPIC_URL . "=" . $topic_id . "&start=$j") . '" >' . $times . '</a>';
if ( $times == 1 && $total_pages > 4 )
{
$goto_page .= ' ... ';
$times = $total_pages - 3;
$j += ( $total_pages - 4 ) * $board_config['posts_per_page'];
}
else if ( $times < $total_pages )
{
$goto_page .= ', ';
}
$times++;
}
$goto_page .= ' ] ';
}
else
{
$goto_page = '';
}

if ( $line[$i]['topic_status'] == TOPIC_LOCKED )
{
$folder = $images['folder_locked'];
$folder_new = $images['folder_locked_new'];
}
else if ( $line[$i]['topic_type'] == POST_ANNOUNCE )
{
$folder = $images['folder_announce'];
$folder_new = $images['folder_announce_new'];
}
else if ( $line[$i]['topic_type'] == POST_STICKY )
{
$folder = $images['folder_sticky'];
$folder_new = $images['folder_sticky_new'];
}
else
{
if ( $replies >= $board_config['hot_threshold'] )
{
$folder = $images['folder_hot'];
$folder_new = $images['folder_hot_new'];
}
else
{
$folder = $images['folder'];
$folder_new = $images['folder_new'];
}
}

if ( $userdata['session_logged_in'] )
{
if ( $line[$i]['post_time'] > $userdata['user_lastvisit'] )
{
if ( !empty($tracking_topics) || !empty($tracking_forums) || isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all']) )
{
$unread_topics = true;
if ( !empty($tracking_topics[$topic_id]) )
{
if ( $tracking_topics[$topic_id] > $line[$i]['post_time'] )
{
$unread_topics = false;
}
}
if ( !empty($tracking_forums[$forum_id]) )
{
if ( $tracking_forums[$forum_id] > $line[$i]['post_time'] )
{
$unread_topics = false;
}
}
if ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all']) )
{
if ( $HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_f_all'] > $line[$i]['post_time'] )
{
$unread_topics = false;
}
}
if ( $unread_topics )
{
$folder_image = $folder_new;
$folder_alt = $lang['New_posts'];
$newest_img = '<a href="' . append_sid("$root/viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&view=newest") . '"><img src="'. $root.'/'.$images['icon_newest_reply'] . '" alt="' . $lang['View_newest_post'] . '" title="' . $lang['View_newest_post'] . '" border="0" /></a> ';
}
else
{
$folder_alt = ( $line[$i]['topic_status'] == TOPIC_LOCKED ) ? $lang['Topic_locked'] : $lang['No_new_posts'];
$folder_image = $folder;
$folder_alt = $folder_alt;
$newest_img = '';
}
}
else if ( $line[$i]['post_time'] > $userdata['user_lastvisit'] )
{
$folder_image = $folder_new;
$folder_alt = $lang['New_posts'];
$newest_img = '<a href="' . append_sid("$root/viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id&view=newest") . '"><img src="'. $root.'/'.$images['icon_newest_reply'] . '" alt="' . $lang['View_newest_post'] . '" title="' . $lang['View_newest_post'] . '" border="0" /></a> ';
}
else
{
$folder_image = $folder;
$folder_alt = ( $line[$i]['topic_status'] == TOPIC_LOCKED ) ? $lang['Topic_locked'] : $lang['No_new_posts'];
$newest_img = '';
}
}
else
{
$folder_image = $folder;
$folder_alt = ( $line[$i]['topic_status'] == TOPIC_LOCKED ) ? $lang['Topic_locked'] : $lang['No_new_posts'];
$newest_img = '';
}
}
else
{
$folder_image = $folder;
$folder_alt = ( $line[$i]['topic_status'] == TOPIC_LOCKED ) ? $lang['Topic_locked'] : $lang['No_new_posts'];
$newest_img = '';
}

$forum_name = $line[$i]['forum_name'];

$first_time = create_date($board_config['default_dateformat'], $line[$i]['topic_time'], $board_config['board_timezone']);
$first_author = ( $line[$i]['user_id'] != ANONYMOUS ) ? '<a href="' . append_sid("$root/profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $line[$i]['user_id']) . '" class="genmed">'.$line[$i]['username'].'</a>' : ( ($line[$i]['post_username'] != '' ) ? $line[$i]['post_username'] : $lang['Guest'] );
$last_time = create_date($board_config['default_dateformat'], $line[$i]['post_time'], $board_config['board_timezone']);
$last_author = ( $line[$i]['id2'] == ANONYMOUS ) ? ( ($line[$i]['post_username2'] != '' ) ? $line[$i]['post_username2'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("$root/profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '=' . $line[$i]['id2']) . '" class="genmed">' . $line[$i]['user2'] . '</a>';
$last_url = '<a href='. append_sid("$root/viewtopic.$phpEx?" . POST_POST_URL . '=' . $line[$i]['topic_last_post_id']) . '#' . $line[$i]['topic_last_post_id'].'><img src='.$root.'/'.$images['icon_latest_reply'].' alt='.$lang['View_latest_post'].' border=\"0\" /></a>';
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];

// #### html output ####
echo "<tr><td class=\"$row_class\" align=\"center\" valign=\"middle\"><img src=\"$root/$folder_image\" alt=\"$folder_alt\" /></td>";
echo "<td class=\"$row_class\"><a href=\"$root/$forum_url\" class=\"genmed\">$forum_name</a></td>";
echo "<td class=\"$row_class\"><span class=\"topictitle\">$newest_img $topic_type<a href=\"$root/$topic_url\" class=\"topictitle\">$topic_title</a></span>
<font size=\"-6\">$goto_page<br />$lang[Started] $first_time $lang[by] $first_author</font></td>";
echo "<td class=\"$row_class\" align=\"right\"><span class=\"postdetails\">$replies $lang[Replies]&nbsp;<br />$views $lang[Views]</span>&nbsp;</td>";
echo "<td class=\"$row_class\" align=\"right\" valign=\"middle\" nowrap=\"nowrap\"><span class=\"gensmall\"> $last_url $last_time&nbsp;<br />$last_author</span>&nbsp;&nbsp;</td></tr>";
// #### html output ####
}

// #### html output ####
echo "</table>";
// #### html output ####
?>
hier der link zu meiner seite:
http://www.milch-clanpage.de.vu

auf der rechten seite bei "letzten 3 posts"
da steht aber nur "Hack Attempt"
warum? wo liegt der fehler?
ich hab die recent in den gleichen ordner geloadet wie auch die php seite.
what shall i do?

Verfasst: 19.09.2003 13:35
von kain
hmm wenn ich da guck dann funktionierts :wink:

Verfasst: 19.09.2003 17:51
von oxpus
Ich hab da auch keinen Fehler :-?

Verfasst: 19.09.2003 18:58
von F@B
Ich habe auch eine Frage, und zwar ob ich die letzten Beiträge wie einen Newsticker ausgeben kann... also das die so von rechts nach links durchscrollen :grin:

Verfasst: 21.09.2003 11:16
von RusTin
Hi,
wenn ich die recent.php datei einzeln aufrufe geht es!
Doch wenn ich sie in meinem footer include dann steht da:

Fatal error: Cannot redeclare class template in D:\www\rage3d\forum\includes\template.php on line 30

Die footer datei und die recent datei sind aber im gleichen ordner!

Verfasst: 21.09.2003 11:22
von kain
und was steht da in zeile 30 genau ?

Verfasst: 21.09.2003 11:33
von RusTin
ich hab an der glaub ich nix verändert
das is der code ab zeile 30:

Code: Alles auswählen

class Template {
        var $classname = "Template";

        // variable that holds all the data we'll be substituting into
        // the compiled templates.
        // ...
        // This will end up being a multi-dimensional array like this:
        // $this->_tpldata[block.][iteration#][child.][iteration#][child2.][iteration#][variablename] == value
        // if it's a root-level variable, it'll be like this:
        // $this->_tpldata[.][0][varname] == value
        var $_tpldata = array();

        // Hash of filenames for each template handle.
        var $files = array();

        // Root template directory.
        var $root = "";

        // this will hash handle names to the compiled code for that handle.
        var $compiled_code = array();

        // This will hold the uncompiled code for that handle.
        var $uncompiled_code = array();

        /**
         * Constructor. Simply sets the root dir.
         *
         */
        function Template($root = ".")
        {
                $this->set_rootdir($root);
        }

        /**
         * Destroys this template object. Should be called when you're done with it, in order
         * to clear out the template data so you can load/parse a new template set.
         */
        function destroy()
        {
                $this->_tpldata = array();
        }

        /**
         * Sets the template root directory for this Template object.
         */
        function set_rootdir($dir)
        {
                if (!is_dir($dir))
                {
                        return false;
                }

                $this->root = $dir;
                return true;
        }

Verfasst: 21.09.2003 12:25
von RusTin
ok wenn ich den footer einzeln aufrufe geht es auch!
ich glaube es liegt an den dateien die ich davor schon includiert habe!
ich benutzte glaube ich schon namen wie template!
wie kann ich das umgehen?