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:
@@ -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
@@ -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);
|
@@ -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;
|
||||
|
||||
|
||||
|
||||
|
||||
|
@@ -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'];
|
||||
|
@@ -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
@@ -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);
|
||||
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -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 ------------
|
||||
|
Reference in New Issue
Block a user