Example #1
0
function createForumVars($res, $readoutMods = true)
{
    global $apx, $db, $set, $user;
    global $collapse, $readthreads, $foruminfo;
    //Link
    $link = mkrellink('forum.php?id=' . $res['forumid'], 'forum,' . $res['forumid'] . ',1' . urlformat($res['title']) . '.html');
    //Moderatoren
    $moddata = array();
    if ($readoutMods) {
        //$mods=dash_unserialize($res['moderator']);
        $mods = $res['moderator'];
        if (count($mods)) {
            $userdata = $db->fetch("SELECT userid,username FROM " . PRE . "_user WHERE userid IN (" . implode(',', $mods) . ") ORDER BY username ASC");
            if (count($userdata)) {
                foreach ($userdata as $modres) {
                    ++$mi;
                    $moddata[$mi]['USERID'] = $modres['userid'];
                    $moddata[$mi]['USERNAME'] = replace($modres['username']);
                }
            }
        }
    }
    $forumdata['ID'] = $res['forumid'];
    $forumdata['ISCAT'] = $res['iscat'];
    $forumdata['LEVEL'] = $res['level'];
    $forumdata['TITLE'] = $res['title'];
    $forumdata['DESCRIPTION'] = $res['description'];
    $forumdata['LINKTO'] = $res['link'];
    $forumdata['LINK'] = $link;
    $forumdata['THREADS'] = '-';
    $forumdata['POSTS'] = '-';
    $forumdata['CLOSED'] = iif($res['open'], 0, 1);
    $forumdata['MODERATOR'] = $moddata;
    $forumdata['COLLAPSE'] = in_array($res['forumid'], $collapse);
    //Neues Thema erstellen, wenn Schreibrechte
    if (forum_access_open($res)) {
        $forumdata['LINK_NEWTHREAD'] = 'newthread.php?id=' . $res['forumid'];
    }
    //Nur anzeigen, wenn Leserechte
    if (forum_access_read($res) && correct_forum_password($res)) {
        $thread = false;
        //Lastvisit bestimmen
        $lastview = max(array($user->info['forum_lastonline'], forum_readtime($res['forumid'])));
        $forumdata['NEWPOSTS'] = iif($res['lastposttime'] && $res['lastposttime'] > $lastview, 1, 0);
        $forumdata['THREADS'] = number_format($res['threads'], 0, '', '.');
        $forumdata['POSTS'] = number_format($res['posts'], 0, '', '.');
        //Letzter Beitrag
        //if ( $res['lastposttime'] && $thread==false ) $thread=$db->first("SELECT threadid,title,icon FROM ".PRE."_forum_threads WHERE ( del=0 AND moved=0 AND forumid='".$res['forumid']."' ) ORDER BY lastposttime DESC LIMIT 1");
        if ($res['lastthread_icon'] != -1 && isset($set['forum']['icons'][$res['lastthread_icon']])) {
            $icon = $set['forum']['icons'][$res['lastthread_icon']]['file'];
        } else {
            $icon = '';
        }
        $forumdata['LASTPOST_THREADID'] = $res['lastthread'];
        $forumdata['LASTPOST_THREADTITLE'] = replace($res['lastthread_title']);
        $forumdata['LASTPOST_THREADPREFIX'] = forum_get_prefix($res['lastthread_prefix']);
        $forumdata['LASTPOST_USERNAME'] = replace($res['lastposter']);
        $forumdata['LASTPOST_USERID'] = $res['lastposter_userid'];
        $forumdata['LASTPOST_TIME'] = $res['lastposttime'];
        $forumdata['LASTPOST_LINK'] = 'thread.php?id=' . $res['lastthread'] . '&goto=lastpost';
        $forumdata['LASTPOST_ICON'] = $icon;
    }
    return $forumdata;
}
Example #2
0
$isread = true;
//Fieser Hack: Verwende die Daten, die forum_assign.php erzeugt hat,
//denn da steht schon die lastposttime des Forums (inklusive Unterforen) drin.
foreach ($forumRec as $forum) {
    if (forum_access_visible($forum) && forum_access_read($forum) && correct_forum_password($forum)) {
        $forumLastview = max(array($user->info['forum_lastonline'], forum_readtime($forum['forumid'])));
        if ($forumLastview < $forum['lastposttime']) {
            $isread = false;
            break;
        }
    }
}
//Themen brauchen wir nur anzuschauen, wenn die Unterforen alle gelesen sind
if ($isread) {
    //Eine detaillierte Prüfung ist nur notwendig, wenn es in diesem Forum etwas neues gibt
    $forumLastview = max(array($user->info['forum_lastonline'], forum_readtime($foruminfo['forumid'])));
    if ($forumLastview < $foruminfo['lastposttime']) {
        //Alle ungelesenen Themen bestimmen und prüfen, ob bereits gelesen
        $data = $db->fetch("\n\t\t\tSELECT threadid, lastposttime\n\t\t\tFROM " . PRE . "_forum_threads\n\t\t\tWHERE forumid='" . $foruminfo['forumid'] . "' AND del=0 AND moved=0 AND lastposttime>'" . $forumLastview . "'\n\t\t\tORDER BY lastposttime DESC\n\t\t");
        $readThreads = threads_get_read();
        //Alle gelesenen Themen
        foreach ($data as $res) {
            //Thema wurde noch nicht gelesen bzw. es gibt neue Beiträge
            if (!isset($readThreads[$res['threadid']]) || $res['lastposttime'] > $readThreads[$res['threadid']]) {
                $isread = false;
                break;
            }
        }
    }
}
//Dieses Forum ist komplett gelesen
Example #3
0
$foruminfo = forum_info($threadinfo['forumid']);
if (!$foruminfo['forumid']) {
    message($apx->lang->get('MSG_FORUMNOTEXIST'));
}
if ($threadinfo['del'] && !($user->info['userid'] && ($user->is_admin() || in_array($user->info['userid'], $foruminfo['moderator'])))) {
    message($apx->lang->get('MSG_THREADNOTEXIST'));
}
if ($postinfo['del'] && !($user->info['userid'] && ($user->is_admin() || in_array($user->info['userid'], $foruminfo['moderator'])))) {
    message($apx->lang->get('MSG_POSTNOTEXIST'));
}
if (!forum_access_read($foruminfo)) {
    tmessage('noright', array(), false, false);
}
check_forum_password($foruminfo);
//Lastvisit für dieses Thema bestimmen
$lastvisit = max(array($user->info['forum_lastonline'], thread_readtime($threadinfo['threadid']), forum_readtime($foruminfo['forumid'])));
///////////////////////////////////////////////////////////////////////////////////////// BEITRAG
$res = $postinfo;
require_once BASEDIR . 'lib/class.mediamanager.php';
$mm = new mediamanager();
//Userinfo auslesen
if ($res['userid']) {
    $userdat = $db->first("SELECT a.userid,a.groupid,a.reg_time,a.forum_posts,a.avatar,a.avatar_title,a.signature,a.homepage,a.city,a.icq,a.aim,a.yim,a.msn,a.skype,a.forum_lastactive,a.pub_invisible,a.custom1,a.custom2,a.custom3,a.custom4,a.custom5,a.custom6,a.custom7,a.custom8,a.custom9,a.custom10,b.gtype FROM " . PRE . "_user AS a LEFT JOIN " . PRE . "_user_groups AS b USING(groupid) WHERE a.userid='" . $res['userid'] . "' LIMIT 1");
} else {
    $userdat = array();
}
$mods = $foruminfo['moderator'];
//Text
$text = forum_replace($postinfo['text'], $postinfo['allowcodes'], $postinfo['allowsmilies']);
//Benutzerkennzeichen
$siganture = $avatar = $avatar_title = '';
Example #4
0
 $data = $db->fetch("SELECT * FROM " . PRE . "_forum_threads WHERE ( del=0 AND threadid IN (" . implode(',', $search['result']) . ") ) " . getorder($orderdef) . getlimit($user->info['forum_tpp']));
 //Zugehörige Foren auslesen
 $forums = get_ids($data, 'forumid');
 $foruminfo = array();
 $forumdata = $db->fetch("SELECT forumid,title FROM " . PRE . "_forums WHERE forumid IN (" . implode(',', $forums) . ")");
 if (count($forumdata)) {
     foreach ($forumdata as $res) {
         $foruminfo[$res['forumid']] = $res;
         $foruminfo[$res['forumid']]['link'] = mkrellink('forum.php?id=' . $res['forumid'], 'forum,' . $res['forumid'] . ',1' . urlformat($res['title']) . '.html');
     }
 }
 if (count($data)) {
     foreach ($data as $res) {
         ++$i;
         //Lastvisit bestimmen
         $lastview = max(array($user->info['forum_lastonline'], thread_readtime($res['threadid']), forum_readtime($res['forumid'])));
         //Link
         $link = mkrellink('thread.php?id=' . $res['threadid'] . iif($search['highlight'], '&amp;highlight=' . $search['highlight']), 'thread,' . $res['threadid'] . ',1' . urlformat($res['title']) . '.html' . iif($search['highlight'], '?highlight=' . $search['highlight']));
         //Icon
         if ($res['icon'] != -1 && isset($set['forum']['icons'][(int) $res['icon']])) {
             $icon = $set['forum']['icons'][(int) $res['icon']]['file'];
         } else {
             $icon = '';
         }
         $threaddata[$i]['ID'] = $res['threadid'];
         $threaddata[$i]['TITLE'] = replace($res['title']);
         $threaddata[$i]['PREFIX'] = forum_get_prefix($res['prefix']);
         $threaddata[$i]['LINK'] = $link;
         $threaddata[$i]['ICON'] = $icon;
         $threaddata[$i]['OPENER_USERID'] = $res['opener_userid'];
         $threaddata[$i]['OPENER_USERNAME'] = replace($res['opener']);