1
0
mirror of https://github.com/e107inc/e107.git synced 2025-08-04 13:47:31 +02:00

Some forum code cleanup

This commit is contained in:
Cameron
2021-01-21 13:04:54 -08:00
parent 9f7d3d2c78
commit 594cddae6e
10 changed files with 981 additions and 2780 deletions

View File

@@ -11,13 +11,13 @@
*/
if(!defined('e107_INIT'))
{
require_once(__DIR__.'/../../class2.php');
require_once(__DIR__ . '/../../class2.php');
}
$e107 = e107::getInstance();
$tp = e107::getParser();
$sql = e107::getDb();
if (!$e107->isInstalled('forum'))
if(!$e107->isInstalled('forum'))
{
e107::redirect();
exit;
@@ -25,8 +25,32 @@ if (!$e107->isInstalled('forum'))
e107::lan('forum', "front", true);
if(!deftrue('BOOTSTRAP'))
class forum_front
{
private $sc;
function __construct($forum)
{
$this->init($forum);
}
/**
*/
public function init($forum)
{
global $FORUM_TEMPLATE, $FORUM_MAIN_FORUM, $forumList ;
$ns = e107::getRender();
$tp = e107::getParser();
$text = '';
if(!deftrue('BOOTSTRAP'))
{
$bcDefs = array(
'FORLAN_11' => 'LAN_FORUM_0039',
'FORLAN_12' => 'LAN_FORUM_0040',
@@ -34,42 +58,40 @@ if(!deftrue('BOOTSTRAP'))
);
e107::getLanguage()->bcDefs($bcDefs);
}
}
require_once(e_PLUGIN.'forum/forum_class.php');
$forum = new e107forum;
if(e_AJAX_REQUEST)
{
if(e_AJAX_REQUEST)
{
if(varset($_POST['action']) == 'track')
{
$forum->ajaxTrack();
}
}
}
/*
if ($untrackId = varset($_REQUEST['untrack']))
{
/*
if ($untrackId = varset($_REQUEST['untrack']))
{
$forum->track('del', USERID, $untrackId);
header('location:'.$e107->url->create('forum/thread/track', array(), 'full=1&encode=0'));
exit;
}
*/
if(isset($_GET['f']))
{
if(isset($_GET['id']))
{
$id = (int)$_GET['id'];
}
*/
if(isset($_GET['f']))
{
$id = (isset($_GET['id'])) ? (int) $_GET['id'] : null;
switch($_GET['f'])
{
case 'mfar':
$forum->forumMarkAsRead($id);
header('location:'.e_SELF);
header('location:' . e_SELF);
exit;
break;
@@ -89,43 +111,42 @@ if(isset($_GET['f']))
exit;
break;
}
}
else
{
e107::canonical('forum');
}
/** @var forum_shortcodes $sc */
$sc = e107::getScBatch('forum', true);
if(empty($FORUM_TEMPLATE))
{
// Override with theme template
if(THEME_LEGACY !== true) //v2.x
{
$FORUM_TEMPLATE = e107::getTemplate('forum','forum'); // required to use v2.x wrapper shortcode wrappers.
}
elseif (file_exists(THEME.'forum_template.php')) //v1.x fallback.
{
include(e_PLUGIN.'forum/templates/forum_template.php');
include_once(THEME.'forum_template.php');
}
elseif(file_exists(THEME.'templates/forum/forum_template.php'))
{
// $FORUM_TEMPLATE = e107::getTemplate('forum','forum');
require_once(THEME.'templates/forum/forum_template.php');
}
else
{
require_once(e_PLUGIN.'forum/templates/forum_template.php');
e107::canonical('forum');
}
}
if(is_array($FORUM_TEMPLATE) && THEME_LEGACY !== true) // new v2.x format.
{
/** @var forum_shortcodes $this->sc */
$this->sc = e107::getScBatch('forum', true);
if(empty($FORUM_TEMPLATE))
{
// Override with theme template
if(THEME_LEGACY !== true) //v2.x
{
$FORUM_TEMPLATE = e107::getTemplate('forum', 'forum'); // required to use v2.x wrapper shortcode wrappers.
}
elseif(file_exists(THEME . 'forum_template.php')) //v1.x fallback.
{
include(e_PLUGIN . 'forum/templates/forum_template.php');
include_once(THEME . 'forum_template.php');
}
elseif(file_exists(THEME . 'templates/forum/forum_template.php'))
{
// $FORUM_TEMPLATE = e107::getTemplate('forum','forum');
require_once(THEME . 'templates/forum/forum_template.php');
}
else
{
require_once(e_PLUGIN . 'forum/templates/forum_template.php');
}
}
if(is_array($FORUM_TEMPLATE) && THEME_LEGACY !== true) // new v2.x format.
{
if(varset($FORUM_TEMPLATE['main-start'])) // correction of previous v2.x setup.
{
@@ -144,74 +165,74 @@ if(is_array($FORUM_TEMPLATE) && THEME_LEGACY !== true) // new v2.x format.
$FORUM_NEWPOSTS_START = $FORUM_TEMPLATE['main']['start']; // $FORUM_TEMPLATE['new-start'];
$FORUM_NEWPOSTS_MAIN = $FORUM_TEMPLATE['main']['forum']; // $FORUM_TEMPLATE['new-main'];
$FORUM_NEWPOSTS_END = $FORUM_TEMPLATE['main']['end']; // $FORUM_TEMPLATE['new-end'];
}
}
require_once(HEADERF);
require_once(HEADERF);
$forumList = $forum->forumGetForumList();
$newflag_list = $forum->forumGetUnreadForums();
$forumList = $forum->forumGetForumList();
$newflag_list = $forum->forumGetUnreadForums();
$sc->newFlagList = $newflag_list;
$this->sc->newFlagList = $newflag_list;
if (!$forumList)
{
if(!$forumList)
{
$ns->tablerender(LAN_PLUGIN_FORUM_NAME, LAN_FORUM_0067, 'forum-empty');
require_once(FOOTERF);
exit;
}
return null;
}
$forum_string = '';
$forum_string = '';
foreach ($forumList['parents'] as $parent)
{
foreach($forumList['parents'] as $parent)
{
$parent = (array) $parent;
$sc->setVars($parent);
// $sc->setScVar('forumParent', $parent);
$sc->wrapper('forum/main/parent');
$this->sc->setVars($parent);
// $this->sc->setScVar('forumParent', $parent);
$this->sc->wrapper('forum/main/parent');
$forum_string .= $tp->parseTemplate($FORUM_MAIN_PARENT, true, $sc);
$forum_string .= $tp->parseTemplate($FORUM_MAIN_PARENT, true, $this->sc);
$fid = $parent['forum_id'];
if (empty($forumList['forums'][$parent['forum_id']]))
if(empty($forumList['forums'][$parent['forum_id']]))
{
$text .= "<td colspan='5' style='text-align:center' class='forumheader3'>".LAN_FORUM_0068."</td>";
$text .= "<td colspan='5' style='text-align:center' class='forumheader3'>" . LAN_FORUM_0068 . "</td>";
}
else
{
//TODO: Rework the restricted string
foreach($forumList['forums'][$parent['forum_id']] as $f)
{
if ($f['forum_class'] == e_UC_ADMIN && ADMIN)
if($f['forum_class'] == e_UC_ADMIN && ADMIN)
{
$forum_string .= parse_forum($f, LAN_FORUM_0005);
$forum_string .= $this->parse_forum($f, LAN_FORUM_0005);
}
elseif($f['forum_class'] == e_UC_MEMBER && USER)
{
$forum_string .= parse_forum($f, LAN_FORUM_0006);
$forum_string .= $this->parse_forum($f, LAN_FORUM_0006);
}
elseif($f['forum_class'] == e_UC_READONLY)
{
$forum_string .= parse_forum($f, LAN_FORUM_0007);
$forum_string .= $this->parse_forum($f, LAN_FORUM_0007);
}
elseif($f['forum_class'] && check_class($f['forum_class']))
{
$forum_string .= parse_forum($f, LAN_FORUM_0008);
$forum_string .= $this->parse_forum($f, LAN_FORUM_0008);
}
elseif(!$f['forum_class'])
{
$forum_string .= parse_forum($f);
$forum_string .= $this->parse_forum($f);
}
}
if (isset($FORUM_MAIN_PARENT_END))
if(isset($FORUM_MAIN_PARENT_END))
{
//-- $forum_string .= $tp->simpleParse($FORUM_MAIN_PARENT_END, $pVars);
$forum_string .= $tp->parseTemplate($FORUM_MAIN_PARENT_END, true, $sc);
$forum_string .= $tp->parseTemplate($FORUM_MAIN_PARENT_END, true, $this->sc);
}
}
}
}
//if (e_QUERY == 'track')
@@ -219,65 +240,68 @@ foreach ($forumList['parents'] as $parent)
//}
if (e_QUERY == 'new')
{
if(e_QUERY == 'new')
{
$forum_newstring = '';
//-- $nVars = new e_vars;
$newThreadList = $forum->threadGetNew(10);
foreach($newThreadList as $thread)
{
$sc->setVars($thread);
$forum_newstring .= $tp->parseTemplate($FORUM_NEWPOSTS_MAIN, true, $sc);
$this->sc->setVars($thread);
$forum_newstring .= $tp->parseTemplate($FORUM_NEWPOSTS_MAIN, true, $this->sc);
}
if (empty($newThreadList))
if(empty($newThreadList))
{
$forum_newstring = $tp->parseTemplate($FORUM_NEWPOSTS_MAIN, true, $sc);
$forum_newstring = $tp->parseTemplate($FORUM_NEWPOSTS_MAIN, true, $this->sc);
}
$forum_new_start = $tp->parseTemplate($FORUM_NEWPOSTS_START, true, $sc);
$forum_new_end = $tp->parseTemplate($FORUM_NEWPOSTS_END, true, $sc);
$forum_new_start = $tp->parseTemplate($FORUM_NEWPOSTS_START, true, $this->sc);
$forum_new_end = $tp->parseTemplate($FORUM_NEWPOSTS_END, true, $this->sc);
if ($forum->prefs->get('enclose'))
if($forum->prefs->get('enclose'))
{
$ns->tablerender($forum->prefs->get('title'), $forum_new_start.$forum_newstring.$forum_new_end, 'forum');
$ns->tablerender($forum->prefs->get('title'), $forum_new_start . $forum_newstring . $forum_new_end, 'forum');
}
else
{
echo $forum_new_start.$forum_newstring.$forum_new_end;
echo $forum_new_start . $forum_newstring . $forum_new_end;
}
}
}
$breadarray = array(
array('text' => $forum->prefs->get('title'), 'url' => e107::url('forum', 'index'))
);
$breadarray = array(
array('text'=> $forum->prefs->get('title'), 'url' => e107::url('forum','index') )
);
e107::breadcrumb($breadarray);
e107::breadcrumb($breadarray);
$sc->wrapper('forum/main/start');
$forum_main_start = $tp->parseTemplate($FORUM_MAIN_START, true, $sc);
$this->sc->wrapper('forum/main/start');
$forum_main_start = $tp->parseTemplate($FORUM_MAIN_START, true, $this->sc);
//-- $forum_main_end = $tp->simpleParse($FORUM_MAIN_END, $fVars);
$sc->wrapper('forum/main/end');
$forum_main_end = $tp->parseTemplate($FORUM_MAIN_END, true, $sc);
$this->sc->wrapper('forum/main/end');
$forum_main_end = $tp->parseTemplate($FORUM_MAIN_END, true, $this->sc);
if ($forum->prefs->get('enclose'))
{
$ns->tablerender($forum->prefs->get('title'), $forum_main_start.$forum_string.$forum_main_end, 'forum');
}
else
{
echo $forum_main_start.$forum_string.$forum_main_end;
}
if($forum->prefs->get('enclose'))
{
$ns->tablerender($forum->prefs->get('title'), $forum_main_start . $forum_string . $forum_main_end, 'forum');
}
else
{
echo $forum_main_start . $forum_string . $forum_main_end;
}
require_once(FOOTERF);
require_once(FOOTERF);
}
function forum_rules($action = 'check')
{
if (ADMIN == true)
function forum_rules($action = 'check')
{
if(ADMIN == true)
{
$type = 'forum_rules_admin';
}
@@ -290,9 +314,12 @@ function forum_rules($action = 'check')
$type = 'forum_rules_guest';
}
$result = e107::getDb()->select('generic', 'gen_chardata', "gen_type = '$type' AND gen_intdata = 1");
if ($action == 'check') { return $result; }
if($action == 'check')
{
return $result;
}
if ($result)
if($result)
{
$row = e107::getDb()->fetch();
$rules_text = e107::getParser()->toHTML($row['gen_chardata'], true);
@@ -307,54 +334,56 @@ function forum_rules($action = 'check')
if(deftrue('BOOTSTRAP'))
{
$breadarray = array(
array('text'=> e107::pref('forum','title', LAN_PLUGIN_FORUM_NAME), 'url' => e107::url('forum','index') ),
array('text'=>LAN_FORUM_0016, 'url'=>null)
array('text' => e107::pref('forum', 'title', LAN_PLUGIN_FORUM_NAME), 'url' => e107::url('forum', 'index')),
array('text' => LAN_FORUM_0016, 'url' => null)
);
$text = e107::getForm()->breadcrumb($breadarray);
e107::breadcrumb($breadarray); // assign to {---BREADCRUMB---}
}
$text .= "<div id='forum-rules'>".$rules_text."</div>";
$text .= "<div class='center'>".e107::getForm()->pagination(e107::url('forum','index'), LAN_BACK)."</div>";
$text .= "<div id='forum-rules'>" . $rules_text . "</div>";
$text .= "<div class='center'>" . e107::getForm()->pagination(e107::url('forum', 'index'), LAN_BACK) . "</div>";
e107::getRender()->tablerender(LAN_FORUM_0016, $text, 'forum-rules');
}
}
function forum_track()
{
function forum_track()
{
global $forum;
$trackPref = $forum->prefs->get('track');
$trackEmailPref = $forum->prefs->get('trackemail',true);
$trackEmailPref = $forum->prefs->get('trackemail', true);
if(empty($trackPref))
{
echo "Disabled";
return false;
}
$FORUM_TEMPLATE = null;
include(e_PLUGIN.'forum/templates/forum_template.php');
include(e_PLUGIN . 'forum/templates/forum_template.php');
// Override with theme template
if (file_exists(THEME.'forum_template.php'))
if(file_exists(THEME . 'forum_template.php'))
{
include(THEME.'forum_template.php');
include(THEME . 'forum_template.php');
}
elseif(file_exists(THEME.'templates/forum/forum_template.php'))
elseif(file_exists(THEME . 'templates/forum/forum_template.php'))
{
require(THEME.'templates/forum/forum_template.php');
require(THEME . 'templates/forum/forum_template.php');
}
$IMAGE_nonew_small = IMAGE_nonew_small;
$IMAGE_new_small = IMAGE_new_small;
if(is_array($FORUM_TEMPLATE) && deftrue('BOOTSTRAP',false)) // new v2.x format.
if(is_array($FORUM_TEMPLATE) && deftrue('BOOTSTRAP', false)) // new v2.x format.
{
$FORUM_TRACK_START = $FORUM_TEMPLATE['track']['start']; // $FORUM_TEMPLATE['track-start'];
$FORUM_TRACK_MAIN = $FORUM_TEMPLATE['track']['item']; // $FORUM_TEMPLATE['track-main'];
@@ -380,7 +409,7 @@ function forum_track()
LEFT JOIN `#forum_thread` AS th ON t.track_thread = th.thread_id
LEFT JOIN `#forum` AS f ON th.thread_forum_id = f.forum_id
LEFT JOIN `#user` AS u ON th.thread_lastuser = u.user_id
WHERE t.track_userid = ".USERID." ORDER BY th.thread_lastpost DESC";
WHERE t.track_userid = " . USERID . " ORDER BY th.thread_lastpost DESC";
$forum_trackstring = '';
$data = array();
@@ -389,27 +418,27 @@ function forum_track()
while($row = $sql->fetch())
{
// e107::getDebug()->log($row);
$row['thread_sef'] = eHelper::title2sef($row['thread_name'],'dashl');
$row['thread_sef'] = eHelper::title2sef($row['thread_name'], 'dashl');
$data['NEWIMAGE'] = $IMAGE_nonew_small;
if ($row['thread_datestamp'] > USERLV && !in_array($row['thread_id'], $viewed))
if($row['thread_datestamp'] > USERLV && !in_array($row['thread_id'], $viewed))
{
$data['NEWIMAGE'] = $IMAGE_new_small;
}
$data['LASTPOSTUSER'] = !empty($row['user_name']) ? "<a href='".e107::url('user/profile/view', array('name' => $row['user_name'], 'id' => $row['thread_lastuser']))."'>".$row['user_name']."</a>" : LAN_ANONYMOUS;
$data['LASTPOSTDATE'] = $tp->toDate($row['thread_lastpost'],'relative');
$data['LASTPOSTUSER'] = !empty($row['user_name']) ? "<a href='" . e107::url('user/profile/view', array('name' => $row['user_name'], 'id' => $row['thread_lastuser'])) . "'>" . $row['user_name'] . "</a>" : LAN_ANONYMOUS;
$data['LASTPOSTDATE'] = $tp->toDate($row['thread_lastpost'], 'relative');
$buttonId = "forum-track-button-".intval($row['thread_id']);
$buttonId = "forum-track-button-" . intval($row['thread_id']);
$forumUrl = e107::url('forum','forum',$row);
$threadUrl = e107::url('forum','topic',$row, array('query'=>array('last'=>1))); // ('forum/thread/view', $row); // configs will be able to map thread_* vars to the url
$data['TRACKPOSTNAME'] = "<a href='".$forumUrl."'>". $row['forum_name']."</a> / <a href='".$threadUrl."'>".$tp->toHTML($row['thread_name'], false, 'TITLE').'</a>';
$forumUrl = e107::url('forum', 'forum', $row);
$threadUrl = e107::url('forum', 'topic', $row, array('query' => array('last' => 1))); // ('forum/thread/view', $row); // configs will be able to map thread_* vars to the url
$data['TRACKPOSTNAME'] = "<a href='" . $forumUrl . "'>" . $row['forum_name'] . "</a> / <a href='" . $threadUrl . "'>" . $tp->toHTML($row['thread_name'], false, 'TITLE') . '</a>';
// $data['UNTRACK'] = "<a class='btn btn-default' href='".e_SELF."?untrack.".$row['thread_id']."'>".LAN_FORUM_0070."</a>";
$data['UNTRACK'] = "<a id='".$buttonId."' href='#' title=\"".$trackDiz."\" data-token='".e_TOKEN."' data-forum-insert='".$buttonId."' data-forum-post='".$row['thread_forum_id']."' data-forum-thread='".$row['thread_id']."' data-forum-action='track' name='track' class='btn btn-primary' >".IMAGE_track."</a>";
$data['UNTRACK'] = "<a id='" . $buttonId . "' href='#' title=\"" . $trackDiz . "\" data-token='" . e_TOKEN . "' data-forum-insert='" . $buttonId . "' data-forum-post='" . $row['thread_forum_id'] . "' data-forum-thread='" . $row['thread_id'] . "' data-forum-action='track' name='track' class='btn btn-primary' >" . IMAGE_track . "</a>";
$data['_WRAPPER_'] = 'forum/track/item';
$forum_trackstring .= $tp->parseTemplate($FORUM_TRACK_MAIN, true, $data);
@@ -421,8 +450,8 @@ function forum_track()
if(deftrue('BOOTSTRAP'))
{
$breadarray = array(
array('text'=> e107::pref('forum','title', LAN_PLUGIN_FORUM_NAME), 'url' => e107::url('forum','index') ),
array('text'=>LAN_FORUM_0030, 'url'=>null)
array('text' => e107::pref('forum', 'title', LAN_PLUGIN_FORUM_NAME), 'url' => e107::url('forum', 'index')),
array('text' => LAN_FORUM_0030, 'url' => null)
);
e107::breadcrumb($breadarray); // assign to {---BREADCRUMB---}
@@ -443,30 +472,28 @@ function forum_track()
}
// else
{
$tracktext = $forum_track_start.$forum_trackstring.$forum_track_end;
$tracktext = $forum_track_start . $forum_trackstring . $forum_track_end;
}
}
$text ='';
$text = '';
$text .= $tracktext;
$text .= "<div class='center'>".e107::getForm()->pagination(e107::url('forum','index'), LAN_BACK)."</div>";
$text .= "<div class='center'>" . e107::getForm()->pagination(e107::url('forum', 'index'), LAN_BACK) . "</div>";
e107::getRender()->tablerender(LAN_FORUM_0030, $text, 'forum-track');
return null;
}
}
private function parse_forum($f, $restricted_string = '')
{
function parse_forum($f, $restricted_string = '')
{
global $FORUM_MAIN_FORUM, $forumList, $sc;
global $FORUM_MAIN_FORUM, $forumList;
$tp = e107::getParser();
@@ -474,7 +501,7 @@ function parse_forum($f, $restricted_string = '')
{
$lastPost = explode('.', $f['forum_lastpost_info']);
$lastpost_datestamp = reset($lastPost);
$ret = parse_subs($forumList, $f['forum_id'], $lastpost_datestamp);
$ret = $this->parse_subs($forumList, $f['forum_id'], $lastpost_datestamp);
$f['forum_threads'] += $ret['threads'];
$f['forum_replies'] += $ret['replies'];
@@ -489,17 +516,16 @@ function parse_forum($f, $restricted_string = '')
$f['text'] = $ret['text'];
}
$sc->setVars($f);
$this->sc->setVars($f);
$sc->wrapper('forum/main/forum');
$this->sc->wrapper('forum/main/forum');
return $tp->parseTemplate($FORUM_MAIN_FORUM, true, $sc);
}
return $tp->parseTemplate($FORUM_MAIN_FORUM, true, $this->sc);
}
function parse_subs($forumList, $id, $lastpost_datestamp)
{
function parse_subs($forumList, $id, $lastpost_datestamp)
{
$tp = e107::getParser();
$ret = array();
@@ -518,9 +544,9 @@ function parse_subs($forumList, $id, $lastpost_datestamp)
$urlData = $sub;
$urlData['parent_sef'] = $forumList['all'][$sub['forum_sub']]['forum_sef']; // = array('parent_sef'=>
$suburl = e107::url('forum','forum', $urlData);
$suburl = e107::url('forum', 'forum', $urlData);
$ret['text'] .= "<a href='{$suburl}'>".$tp->toHTML($sub['forum_name']).'</a>';
$ret['text'] .= "<a href='{$suburl}'>" . $tp->toHTML($sub['forum_name']) . '</a>';
$ret['threads'] += $sub['forum_threads'];
$ret['replies'] += $sub['forum_replies'];
$tmp = explode('.', $sub['forum_lastpost_info']);
@@ -537,7 +563,16 @@ function parse_subs($forumList, $id, $lastpost_datestamp)
return $ret;
}
}
require_once(e_PLUGIN . 'forum/forum_class.php');
/** @var e107forum $forum */
$forum = new e107forum;
new forum_front($forum);

File diff suppressed because it is too large Load Diff

View File

@@ -1,222 +0,0 @@
<?php
/*
* e107 website system
*
* Copyright (C) 2008-2013 e107 Inc (e107.org)
* Released under the terms and conditions of the
* GNU General Public License (http://www.gnu.org/licenses/gpl.txt)
*
*/
require_once(__DIR__.'/../../class2.php');
$e107 = e107::getInstance();
if (!$e107->isInstalled('forum'))
{
e107::redirect('admin');
exit;
}
$ns = e107::getRender();
$tp = e107::getParser();
require_once(e_PLUGIN.'forum/forum_class.php');
$forum = new e107forum;
e107::lan('forum', 'admin');
//include_lan(e_PLUGIN.'forum/languages/'.e_LANGUAGE.'/lan_forum_conf.php');
$e_sub_cat = 'forum';
if(!USER || !isset($_GET['f']) || !isset($_GET['id']))
{
header('location:'.$e107::getUrl()->create('/'), array(), array('encode' => false, 'full' => 1));
exit;
}
$id = (int)$_GET['id'];
$action = $_GET['f'];
$qry = "
SELECT t.*, f.*, fp.forum_id AS forum_parent_id FROM #forum_thread as t
LEFT JOIN #forum AS f ON t.thread_forum_id = f.forum_id
LEFT JOIN #forum AS fp ON fp.forum_id = f.forum_parent
WHERE t.thread_id = {$thread_id}
";
$threadInfo = $forum->threadGet($id);
$modList = $forum->forumGetMods($threadInfo->forum_moderators);
//var_dump($threadInfo);
//var_dump($modList);
//If user is not a moderator of indicated forum, redirect to index page
if(!in_array(USERID, array_keys($modList)))
{
header('location:'.$e107::getUrl()->create('/'), array(), array('encode' => false, 'full' => 1));
exit;
}
require_once(HEADERF);
if (isset($_POST['deletepollconfirm']))
{
$sql->delete("poll", "poll_id='".intval($thread_parent)."' ");
$sql->select("forum_thread", "*", "thread_id='".$thread_id."' ");
$row = $sql->fetch();
extract($row);
$thread_name = str_replace("[poll] ", "", $thread_name);
$sql->update("forum_thread", "thread_name='$thread_name' WHERE thread_id='$thread_id' ");
$message = LAN_FORUM_5001;
$url = e_PLUGIN."forum/forum_viewtopic.php?".$thread_id;
}
// Moved to forum_post.php
/*
if (isset($_POST['move']))
{
// print_a($_POST);
require_once(e_PLUGIN.'forum/forum_class.php');
$forum = new e107forum;
$newThreadTitle = '';
if($_POST['rename_thread'] == 'add')
{
$newThreadTitle = '['.LAN_FORUM_5021.']';
$newThreadTitleType = 0;
}
elseif($_POST['rename_thread'] == 'rename' && trim($_POST['newtitle']) != '')
{
$newThreadTitle = $tp->toDB($_POST['newtitle']);
$newThreadTitleType = 1;
}
$threadId = $_GET['id'];
$toForum = $_POST['forum_move'];
$forum->threadMove($threadId, $toForum, $newThreadTitle, $newThreadTitleType);
$message = LAN_FORUM_5005;// XXX _URL_ thread name
$url = $e107::getUrl()->create('forum/thread/view', 'id='.$threadId);
}
if (isset($_POST['movecancel']))
{
require_once(e_PLUGIN.'forum/forum_class.php');
$forum = new e107forum;
$postInfo = $forum->postGet($id, 0, 1);
$message = LAN_FORUM_5006;
// $url = e_PLUGIN."forum/forum_viewforum.php?".$info['forum_id'];
$url = $e107::getUrl()->create('forum/forum/view', 'id='.$postInfo[0]['post_forum']);// XXX _URL_ thread name
}
*/
if ($message)
{
$text = "<div style='text-align:center'>".$message."
<br />
<a href='$url'>".LAN_FORUM_5007.'</a>
</div>';
$ns->tablerender(LAN_FORUM_5008, $text);
require_once(FOOTERF);
exit;
}
if ($action == "delete_poll")
{
$text = "<div style='text-align:center'>
".LAN_FORUM_5009."
<br /><br />
<form method='post' action='".e_SELF."?".e_QUERY."'>
<input class='btn btn-default btn-secondary button' type='submit' name='deletecancel' value='".LAN_CANCEL."' />
<input class='btn btn-default btn-secondary button' type='submit' name='deletepollconfirm' value='".LAN_FORUM_5010."' />
</form>
</div>";
$ns->tablerender(LAN_UI_DELETE_LABEL, $text);
require_once(FOOTERF);
exit;
}
/*
if ($action == 'move')
{
$postInfo = $forum->postGet($id, 0, 1);
$frm = e107::getForm();
$qry = "
SELECT f.forum_id, f.forum_name, fp.forum_name AS forum_parent, sp.forum_name AS sub_parent
FROM `#forum` AS f
LEFT JOIN `#forum` AS fp ON f.forum_parent = fp.forum_id
LEFT JOIN `#forum` AS sp ON f.forum_sub = sp.forum_id
WHERE f.forum_parent != 0
AND f.forum_id != ".(int)$threadInfo['thread_forum_id']."
ORDER BY f.forum_parent ASC, f.forum_sub, f.forum_order ASC
";
$sql->gen($qry);
$fList = $sql->db_getList();
$text = "
<form class='forum-horizontal' method='post' action='".e_SELF.'?'.e_QUERY."'>
<div style='text-align:center'>
<table class='table table-striped' style='".ADMIN_WIDTH."'>
<tr>
<td>".LAN_FORUM_5019.": </td>
<td>
<select name='forum_move' class='tbox'>";
foreach($fList as $f)
{
if(substr($f['forum_name'], 0, 1) != '*')
{
$f['sub_parent'] = ltrim($f['sub_parent'], '*');
$for_name = $f['forum_parent'].' > ';
$for_name .= ($f['sub_parent'] ? $f['sub_parent'].' > ' : '');
$for_name .= $f['forum_name'];
$text .= "<option value='{$f['forum_id']}'>".$for_name."</option>";
}
}
$text .= "</select>
</td>
</tr>
<tr>
<td >".LAN_FORUM_5026."</td>
<td><div class='radio'>
".$frm->radio('rename_thread','none',true, 'label='.LAN_FORUM_5022)."
".$frm->radio('rename_thread', 'add', false, array('label'=> LAN_ADD.' ['.LAN_FORUM_5021.'] '.LAN_FORUM_5024)). "
<div class='form-inline'>".$frm->radio('rename_thread','rename', false, array('label'=>LAN_FORUM_5025))."
".$frm->text('newtitle', $tp->toForm($threadInfo['thread_name']), 250)."
</div>
</div></td>
</tr>
</table>
<div class='center'>
<input class='btn btn-primary button' type='submit' name='move' value='".LAN_FORUM_5019."' />
<input class='btn btn-default button' type='submit' name='movecancel' value='".LAN_CANCEL."' />
</div>
</div>
</form>";
$threadName = $tp->toHTML($threadInfo['thread_name'], true);
$threadText = $tp->toHTML($postInfo[0]['post_entry'], true);
$text .= "<h3>".$threadName."</h3><div>".$threadText."</div>"; // $e107->ns->tablerender(, ), '', true).$ns->tablerender('', $text, '', true);
$ns->tablerender(LAN_FORUM_5019, $text);
}
*/
require_once(FOOTERF);

View File

@@ -128,7 +128,7 @@ class forum_post_handler
if (!e_QUERY || empty($_GET['id']))
{
$url = e107::url('forum','index',null,'full');
$url = e107::url('forum','index',null,['mode'=>'full']);
$this->redirect($url);
// header('Location:'.e107::getUrl()->create('forum/forum/main', array(), 'full=1&encode=0'));
exit;
@@ -183,7 +183,7 @@ class forum_post_handler
break;
default:
$url = e107::url('forum','index',null,'full');
$url = e107::url('forum','index',null,['mode'=>'full']);
$this->redirect($url);
// header("Location:".e107::getUrl()->create('forum/forum/main', array(), 'full=1&encode=0'));
exit;
@@ -1756,7 +1756,7 @@ class forum_post_handler
require_once(HEADERF);
new forum_post_handler;
require_once(FOOTERF);
exit;

View File

@@ -66,7 +66,7 @@ class forumStats
$firstpost = $sql->select('forum_post', 'post_datestamp', 'post_datestamp > 0 ORDER BY post_datestamp ASC LIMIT 0,1', 'default');
$fp = $sql->fetch();
$open_ds = $fp['post_datestamp'];
$open_ds = (int) varset($fp['post_datestamp']);
$open_date = $gen->convert_date($open_ds, 'long');
$open_since = $gen -> computeLapse($open_ds);
$open_days = floor((time()-$open_ds) / 86400);
@@ -77,6 +77,8 @@ class forumStats
$query = "SHOW TABLE STATUS FROM `{$mySQLdefaultdb}`";
$sql->gen($query);
$array = $sql -> db_getList();
$db_size = 0;
$avg_row_len = 0;
foreach($array as $table)
{
if($table['Name'] == MPREFIX.'forum_post')
@@ -153,6 +155,7 @@ class forumStats
$top_repliers_data_c = $sql->db_getList('ALL', false, false, 'user_id');
$top_repliers = array();
$top_repliers_sort = array();
foreach($top_repliers_data as $uid => $poster)
{
$poster['post_count'] = $poster['post_count'] - $top_repliers_data_c[$uid]['thread_count'];

View File

@@ -1,20 +0,0 @@
<?php
require_once(__DIR__.'/../../class2.php');
require_once(e_PLUGIN.'forum/forum_class.php');
$timestart = microtime();
$forum = new e107forum;
//for($i=1; $i<=7000; $i++) {
// $x = $forum->update_lastpost('thread',$i);
//}
set_time_limit(240);
$forum->update_lastpost('forum', 'all');
//$x = $forum->update_lastpost('forum',16);
$timeend = microtime();
$diff = number_format(((substr($timeend, 0, 9)) + (substr($timeend, -10)) - (substr($timestart, 0, 9)) - (substr($timestart, -10))), 4);
echo "<br />script generation took $diff s";

File diff suppressed because it is too large Load Diff

View File

@@ -26,7 +26,7 @@ e107::lan('forum', "front", true);
if(is_array($_POST['delete']))
if(!empty($_POST['delete']) && is_array($_POST['delete']))
{
foreach(array_keys($_POST['delete']) as $fname)
{
@@ -48,7 +48,7 @@ if(is_array($_POST['delete']))
include_once(e_HANDLER."file_class.php");
include_once(HEADERF);
if($msg)
if(!empty($msg))
{
$ns->tablerender(LAN_FORUM_7004, $msg);
}
@@ -68,7 +68,7 @@ if(is_array($fileList))
<form method='post' action='".e_SELF."'>
<table style='width:98%'>
<tr>
<td class='fcaption'>".FRMUP_5."</td>
<td class='fcaption'>".defset('LAN_FORUM_7010', "Filename")."</td>
<td class='fcaption'>".LAN_FORUM_7006."</td>
</tr>";
foreach($fileList as $finfo)
@@ -110,12 +110,15 @@ if(is_array($fileList))
}
$txt .= "</table>";
}
if(!$filecount) {
if(!$filecount)
{
$ns->tablerender(LAN_FORUM_7001,LAN_FORUM_7009);
include_once(FOOTERF);
exit;
}
else
{
$ns->tablerender(LAN_FORUM_7001, $txt);
}
$ns->tablerender(LAN_FORUM_7001, $txt);
include_once(FOOTERF);
require_once(FOOTERF);

View File

@@ -86,7 +86,7 @@
$sc = e107::getScBatch('viewforum', 'forum');
$forumId = (int) $_REQUEST['id'];
$forumId = (int) varset($_REQUEST['id']);
if(!$forumId && e_QUERY) // BC Fix for old links.
{
@@ -98,10 +98,8 @@
if(!$forum->checkPerm($forumId, 'view'))
{
// header('Location:'.e107::getUrl()->create('forum/forum/main'));
$url = e107::url('forum', 'index', null, ['mode'=>'full']);
/*
if(E107_DEBUG_LEVEL > 0)
{
print_a($_REQUEST);
@@ -110,7 +108,7 @@
echo " forumId: " . $forumId;
exit;
}
*/
e107::getRedirect()->go($url);

View File

@@ -305,7 +305,7 @@ define("LAN_FORUM_7006","Result"); // LAN_FORUM_7006
define("LAN_FORUM_7007","Found in thread"); // LAN_FORUM_7007
define("LAN_FORUM_7008","NOT FOUND"); // LAN_FORUM_7008
define("LAN_FORUM_7009","No uploaded files found"); // LAN_FORUM_7009
define("LAN_FORUM_7010", "Filename");
// -------- Tracking Email ------------