mirror of
https://github.com/e107inc/e107.git
synced 2025-08-07 07:06:30 +02:00
Issue #784 - Track overview page rewrite. Forum template upgrades.
This commit is contained in:
@@ -37,6 +37,12 @@ class forum_url // plugin-folder + '_url'
|
||||
'redirect' => '{e_PLUGIN}forum/forum_stats.php',
|
||||
);
|
||||
|
||||
$config['track'] = array(
|
||||
'regex' => '^forum/track/?',
|
||||
'sef' => 'forum/track',
|
||||
'redirect' => '{e_PLUGIN}forum/forum.php?f=track',
|
||||
);
|
||||
|
||||
$config['post'] = array(
|
||||
'regex' => '^forum/post/?',
|
||||
'sef' => 'forum/post/',
|
||||
|
@@ -41,6 +41,15 @@ if(!deftrue('BOOTSTRAP'))
|
||||
require_once(e_PLUGIN.'forum/forum_class.php');
|
||||
$forum = new e107forum;
|
||||
|
||||
if(e_AJAX_REQUEST)
|
||||
{
|
||||
if(varset($_POST['action']) == 'track')
|
||||
{
|
||||
$forum->ajaxTrack();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if ($untrackId = varset($_REQUEST['untrack']))
|
||||
{
|
||||
$forum->track('del', USERID, $untrackId);
|
||||
@@ -64,9 +73,17 @@ if(isset($_GET['f']))
|
||||
break;
|
||||
|
||||
case 'rules':
|
||||
include_once(HEADERF);
|
||||
|
||||
forum_rules('show');
|
||||
include_once(FOOTERF);
|
||||
exit;
|
||||
break;
|
||||
|
||||
case 'track':
|
||||
include_once(HEADERF);
|
||||
|
||||
forum_rules('show');
|
||||
forum_track();
|
||||
include_once(FOOTERF);
|
||||
exit;
|
||||
break;
|
||||
@@ -112,6 +129,11 @@ if(!empty($rules_text))
|
||||
$uInfo[1] = "<a href='".e107::url('forum','rules')."'>".LAN_FORUM_0016.'</a>';
|
||||
}
|
||||
|
||||
$trackPref = $forum->prefs->get('track');
|
||||
if(!empty($trackPref))
|
||||
{
|
||||
$uInfo[2] = "<a href='".e107::url('forum','track')."'>".LAN_FORUM_0030."</a>";
|
||||
}
|
||||
$fVars->USERINFOX = implode(" | ",$uInfo);
|
||||
// -----------
|
||||
|
||||
@@ -259,25 +281,33 @@ elseif(file_exists(THEME.'templates/forum/forum_template.php'))
|
||||
require_once(THEME.'templates/forum/forum_template.php');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if(is_array($FORUM_TEMPLATE) && deftrue('BOOTSTRAP',false)) // new v2.x format.
|
||||
{
|
||||
$FORUM_MAIN_START = $FORUM_TEMPLATE['main-start'];
|
||||
$FORUM_MAIN_PARENT = $FORUM_TEMPLATE['main-parent'];
|
||||
$FORUM_MAIN_FORUM = $FORUM_TEMPLATE['main-forum'];
|
||||
$FORUM_MAIN_END = $FORUM_TEMPLATE['main-end'];
|
||||
|
||||
$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'];
|
||||
if(varset($FORUM_TEMPLATE['main-start'])) // correction of previous v2.x setup.
|
||||
{
|
||||
$FORUM_TEMPLATE['main']['start'] = $FORUM_TEMPLATE['main-start'];
|
||||
$FORUM_TEMPLATE['main']['parent'] = $FORUM_TEMPLATE['main-parent'];
|
||||
$FORUM_TEMPLATE['main']['forum'] = $FORUM_TEMPLATE['main-forum'];
|
||||
$FORUM_TEMPLATE['main']['end'] = $FORUM_TEMPLATE['main-end'];
|
||||
}
|
||||
|
||||
$FORUM_MAIN_START = $FORUM_TEMPLATE['main']['start'];
|
||||
$FORUM_MAIN_PARENT = $FORUM_TEMPLATE['main']['parent'];
|
||||
$FORUM_MAIN_FORUM = $FORUM_TEMPLATE['main']['forum'];
|
||||
$FORUM_MAIN_END = $FORUM_TEMPLATE['main']['end'];
|
||||
|
||||
$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'];
|
||||
|
||||
$FORUM_TRACK_START = $FORUM_TEMPLATE['main-start']; // $FORUM_TEMPLATE['track-start'];
|
||||
$FORUM_TRACK_MAIN = $FORUM_TEMPLATE['main-forum']; // $FORUM_TEMPLATE['track-main'];
|
||||
$FORUM_TRACK_END = $FORUM_TEMPLATE['main-end']; // $FORUM_TEMPLATE['track-end'];
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
require_once(HEADERF);
|
||||
|
||||
$forumList = $forum->forumGetForumList();
|
||||
@@ -484,43 +514,7 @@ function parse_subs($forumList, $id ='', $lastpost_datestamp)
|
||||
|
||||
if (e_QUERY == 'track')
|
||||
{
|
||||
if($trackedThreadList = $forum->getTrackedThreadList(USERID, 'list'))
|
||||
{
|
||||
$trackVars = new e_vars;
|
||||
$viewed = $forum->threadGetUserViewed();
|
||||
$qry = "
|
||||
SELECT t.*, p.* from `#forum_thread` AS t
|
||||
LEFT JOIN `#forum_post` AS p ON p.post_thread = t.thread_id AND p.post_datestamp = t.thread_datestamp
|
||||
WHERE thread_id IN({$trackedThreadList})
|
||||
ORDER BY thread_lastpost DESC
|
||||
";
|
||||
if($sql->gen($qry))
|
||||
{
|
||||
while($row = $sql->fetch(MYSQL_ASSOC))
|
||||
{
|
||||
$trackVars->NEWIMAGE = IMAGE_nonew_small;
|
||||
if ($row['thread_datestamp'] > USERLV && !in_array($row['thread_id'], $viewed))
|
||||
{
|
||||
$trackVars->NEWIMAGE = IMAGE_new_small;
|
||||
}
|
||||
|
||||
$url = $e107->url->create('forum/thread/view', $row); // configs will be able to map thread_* vars to the url
|
||||
$trackVars->TRACKPOSTNAME = "<a href='{$url}'>".$tp->toHTML($row['thread_name']).'</a>';
|
||||
$trackVars->UNTRACK = "<a href='".e_SELF."?untrack.".$row['thread_id']."'>".LAN_FORUM_0070."</a>";
|
||||
$forum_trackstring .= $tp->simpleParse($FORUM_TRACK_MAIN, $trackVars);
|
||||
}
|
||||
}
|
||||
$forum_track_start = $tp->simpleParse($FORUM_TRACK_START, $trackVars);
|
||||
$forum_track_end = $tp->simpleParse($FORUM_TRACK_END, $trackVars);
|
||||
if ($forum->prefs->get('enclose'))
|
||||
{
|
||||
$ns->tablerender($forum->prefs->get('title'), $forum_track_start.$forum_trackstring.$forum_track_end, array('forum', 'main1'));
|
||||
}
|
||||
else
|
||||
{
|
||||
echo $forum_track_start.$forum_trackstring.$forum_track_end;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -640,4 +634,126 @@ function forum_rules($action = 'check')
|
||||
e107::getRender()->tablerender(LAN_FORUM_0016, $text, array('forum', 'forum_rules'));
|
||||
}
|
||||
|
||||
|
||||
function forum_track()
|
||||
{
|
||||
global $forum;
|
||||
|
||||
$trackPref = $forum->prefs->get('track');
|
||||
if(empty($trackPref))
|
||||
{
|
||||
echo "Disabled";
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$FORUM_TEMPLATE = null;
|
||||
|
||||
include(e_PLUGIN.'forum/templates/forum_template.php');
|
||||
|
||||
// Override with theme template
|
||||
if (file_exists(THEME.'forum_template.php'))
|
||||
{
|
||||
include(THEME.'forum_template.php');
|
||||
}
|
||||
elseif(file_exists(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.
|
||||
{
|
||||
$FORUM_TRACK_START = $FORUM_TEMPLATE['track']['start']; // $FORUM_TEMPLATE['track-start'];
|
||||
$FORUM_TRACK_MAIN = $FORUM_TEMPLATE['track']['item']; // $FORUM_TEMPLATE['track-main'];
|
||||
$FORUM_TRACK_END = $FORUM_TEMPLATE['track']['end']; // $FORUM_TEMPLATE['track-end'];
|
||||
|
||||
$IMAGE_nonew_small = IMAGE_nonew;
|
||||
$IMAGE_new_small = IMAGE_new;
|
||||
|
||||
}
|
||||
|
||||
$sql = e107::getDb();
|
||||
$tp = e107::getParser();
|
||||
|
||||
if($trackedThreadList = $forum->getTrackedThreadList(USERID, 'list'))
|
||||
{
|
||||
|
||||
$viewed = $forum->threadGetUserViewed();
|
||||
|
||||
$qry = "SELECT t.*,th.*, f.* FROM `#forum_track` AS t
|
||||
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
|
||||
WHERE t.track_userid = ".USERID." ORDER BY th.thread_lastpost DESC";
|
||||
|
||||
$forum_trackstring = '';
|
||||
$data = array();
|
||||
if($sql->gen($qry))
|
||||
{
|
||||
while($row = $sql->fetch(MYSQL_ASSOC))
|
||||
{
|
||||
$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))
|
||||
{
|
||||
$data['NEWIMAGE'] = $IMAGE_new_small;
|
||||
}
|
||||
|
||||
$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']).'</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=\"".LAN_FORUM_3040."\" 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>";
|
||||
|
||||
$forum_trackstring .= $tp->simpleParse($FORUM_TRACK_MAIN, $data);
|
||||
}
|
||||
}
|
||||
// print_a($FORUM_TRACK_START);
|
||||
|
||||
|
||||
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)
|
||||
);
|
||||
|
||||
$data['FORUM_BREADCRUMB'] = e107::getForm()->breadcrumb($breadarray);
|
||||
}
|
||||
|
||||
|
||||
$forum_track_start = $tp->simpleParse($FORUM_TRACK_START, $data);
|
||||
$forum_track_end = $tp->simpleParse($FORUM_TRACK_END, $data);
|
||||
|
||||
// if ($forum->prefs->get('enclose'))
|
||||
{
|
||||
// $ns->tablerender($forum->prefs->get('title'), $forum_track_start.$forum_trackstring.$forum_track_end, array('forum', 'main1'));
|
||||
}
|
||||
// else
|
||||
{
|
||||
$tracktext = $forum_track_start.$forum_trackstring.$forum_track_end;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$text ='';
|
||||
|
||||
|
||||
|
||||
$text .= $tracktext;
|
||||
$text .= "<div class='center'>".e107::getForm()->pagination(e107::url('forum','index'), LAN_BACK)."</div>";
|
||||
|
||||
e107::getRender()->tablerender(LAN_FORUM_0030, $text, array('forum', 'forum_track'));
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
?>
|
@@ -702,7 +702,7 @@ class e107forum
|
||||
{
|
||||
$ret = array();
|
||||
|
||||
while($row = $sql->fetch(MYSQL_ASSOC))
|
||||
while($row = $sql->fetch())
|
||||
{
|
||||
$ret[] = $row['track_thread'];
|
||||
}
|
||||
|
@@ -53,7 +53,7 @@ define("LAN_FORUM_0025", "It is now"); // LAN_37
|
||||
define("LAN_FORUM_0027", "You have read"); // LAN_196
|
||||
define("LAN_FORUM_0028", "of these posts."); // LAN_197
|
||||
define("LAN_FORUM_0029", "All new posts have been read."); // LAN_198
|
||||
define("LAN_FORUM_0030", "List tracked topics"); // LAN_393
|
||||
define("LAN_FORUM_0030", "Tracked topics"); // LAN_393
|
||||
define("LAN_FORUM_0031", "The users of this forum have made a total of [x] posts."); // LAN_192 and LAN_404
|
||||
define("LAN_FORUM_0032", "topic"); // LAN_411
|
||||
define("LAN_FORUM_0033", "topics"); // LAN_413
|
||||
@@ -132,6 +132,8 @@ define("LAN_FORUM_1016", "Poll"); // FORLAN_23
|
||||
define("LAN_FORUM_1017", "Go to"); // LAN_401 (p?)
|
||||
define("LAN_FORUM_1018", "New topic");
|
||||
// define("LAN_FORUM_1019", "Are you sure?"); // new
|
||||
define("LAN_FORUM_1020", "Modify");
|
||||
|
||||
|
||||
// starting at LAN_FORUM_2xxx => forum_viewtopic.php
|
||||
define("LAN_FORUM_2001", "Previous topic"); // LAN_389
|
||||
|
@@ -79,7 +79,7 @@ $FORUM_TRACK_END = "<br />TRACK-END";
|
||||
// New in v2.x - requires a bootstrap theme be loaded.
|
||||
|
||||
|
||||
$FORUM_TEMPLATE['main-start'] = "{FORUM_BREADCRUMB}
|
||||
$FORUM_TEMPLATE['main']['start'] = "{FORUM_BREADCRUMB}
|
||||
<div class=''>
|
||||
|
||||
<div class='form-group right'>
|
||||
@@ -99,7 +99,7 @@ $FORUM_TEMPLATE['main-start'] = "{FORUM_BREADCRUMB}
|
||||
<th colspan='5'>{FORUMTITLE}</th>
|
||||
</tr>";
|
||||
|
||||
$FORUM_TEMPLATE['main-parent'] = "<tr>
|
||||
$FORUM_TEMPLATE['main']['parent'] = "<tr>
|
||||
<th colspan='2'>{PARENTNAME} {PARENTSTATUS}</th>
|
||||
<th class='hidden-xs text-center'>".LAN_FORUM_0003."</th>
|
||||
<th class='text-center'>".LAN_FORUM_0002."</th>
|
||||
@@ -107,7 +107,7 @@ $FORUM_TEMPLATE['main-parent'] = "<tr>
|
||||
</tr>";
|
||||
|
||||
|
||||
$FORUM_TEMPLATE['main-forum'] = "<tr>
|
||||
$FORUM_TEMPLATE['main']['forum'] = "<tr>
|
||||
<td>{NEWFLAG}</td>
|
||||
<td>{FORUMNAME}<br /><small>{FORUMDESCRIPTION}</small>{FORUMSUBFORUMS}</td>
|
||||
<td class='hidden-xs text-center'>{REPLIESX}</td>
|
||||
@@ -115,7 +115,38 @@ $FORUM_TEMPLATE['main-forum'] = "<tr>
|
||||
<td class='hidden-xs text-center'><small>{LASTPOSTUSER} {LASTPOSTDATE}</small></td>
|
||||
</tr>";
|
||||
|
||||
$FORUM_TEMPLATE['main-end'] = "</table><div class='center'><small>{USERINFOX}</small></div></div>";
|
||||
$FORUM_TEMPLATE['main']['end'] = "</table><div class='center'><small>{USERINFOX}</small></div></div>";
|
||||
|
||||
|
||||
|
||||
// Tracking
|
||||
$FORUM_TEMPLATE['track']['start'] = "{FORUM_BREADCRUMB}<div id='forum-track'>
|
||||
<table class='table table-striped table-bordered table-hover'>
|
||||
<colgroup>
|
||||
<col style='width:5%' />
|
||||
<col />
|
||||
<col style='width:10%' />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
|
||||
<th colspan='2'>".LAN_FORUM_1003."</th>
|
||||
<th class='text-center'>".LAN_FORUM_1020."</th>
|
||||
</tr>
|
||||
</thead>
|
||||
";
|
||||
|
||||
$FORUM_TEMPLATE['track']['item'] = "<tr>
|
||||
<td class='text-center'>{NEWIMAGE}</td>
|
||||
<td>{TRACKPOSTNAME}</td>
|
||||
<td class='text-center'>{UNTRACK}</td>
|
||||
</tr>";
|
||||
|
||||
|
||||
$FORUM_TEMPLATE['track']['end'] = "</table>\n</div>";
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
$FORUM_TEMPLATE['main-end'] .= "
|
||||
|
Reference in New Issue
Block a user