mirror of
https://github.com/e107inc/e107.git
synced 2025-08-06 14:46:56 +02:00
jquery pagination - currently used on comments and media-manager.
This commit is contained in:
10
comment.php
10
comment.php
@@ -43,6 +43,16 @@ if(e_AJAX_REQUEST) // TODO improve security
|
|||||||
|
|
||||||
$ret = array();
|
$ret = array();
|
||||||
|
|
||||||
|
// Comment Pagination
|
||||||
|
if(varset($_GET['mode']) == 'list' && vartrue($_GET['id']) && vartrue($_GET['type']))
|
||||||
|
{
|
||||||
|
$clean_type = preg_replace("/[^\w\d]/","",$_GET['type']);
|
||||||
|
|
||||||
|
$tmp = e107::getComment()->getComments($clean_type,intval($_GET['id']),intval($_GET['from']),$att);
|
||||||
|
echo $tmp['comments'];
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(varset($_GET['mode']) == 'reply' && vartrue($_POST['itemid']))
|
if(varset($_GET['mode']) == 'reply' && vartrue($_POST['itemid']))
|
||||||
|
@@ -27,7 +27,7 @@ if (!getperms("A") && ($_GET['action'] != 'dialog'))
|
|||||||
e107::js('core', 'plupload/plupload.full.js', 'jquery', 2);
|
e107::js('core', 'plupload/plupload.full.js', 'jquery', 2);
|
||||||
e107::css('core', 'plupload/jquery.plupload.queue/css/jquery.plupload.queue.css', 'jquery');
|
e107::css('core', 'plupload/jquery.plupload.queue/css/jquery.plupload.queue.css', 'jquery');
|
||||||
e107::js('core', 'plupload/jquery.plupload.queue/jquery.plupload.queue.js', 'jquery', 2);
|
e107::js('core', 'plupload/jquery.plupload.queue/jquery.plupload.queue.js', 'jquery', 2);
|
||||||
e107::js("core", "core/mediaManager.js","jquery",3);
|
e107::js("core", "core/mediaManager.js","jquery",5);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* CLOSE - GO TO MAIN SCREEN
|
* CLOSE - GO TO MAIN SCREEN
|
||||||
|
@@ -398,17 +398,68 @@ $(document).ready(function()
|
|||||||
|
|
||||||
// Text-area AutoGrow
|
// Text-area AutoGrow
|
||||||
// $("textarea.e-autoheight").elastic();
|
// $("textarea.e-autoheight").elastic();
|
||||||
|
|
||||||
|
// ajax next/prev mechanism - updates url from value.
|
||||||
|
$(".e-nav").click(function(){ // should be run before ajax.
|
||||||
|
/*
|
||||||
|
var src = $(this).attr("data-src");
|
||||||
|
var inc = parseInt($(this).attr("data-nav-inc"));
|
||||||
|
var dir = $(this).attr("data-nav-dir");
|
||||||
|
var tot = parseInt($(this).attr("data-nav-total"));
|
||||||
|
var val = src.match(/from=(\d+)/);
|
||||||
|
var amt = parseInt(val[1]);
|
||||||
|
|
||||||
|
var oldVal = 'from='+ amt;
|
||||||
|
|
||||||
|
var sub = amt - inc;
|
||||||
|
var add = amt + inc;
|
||||||
|
|
||||||
|
$(this).show();
|
||||||
|
|
||||||
|
if(add > tot)
|
||||||
|
{
|
||||||
|
add = amt;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(sub < 0)
|
||||||
|
{
|
||||||
|
sub = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
if(dir == 'down')
|
||||||
|
{
|
||||||
|
var newVal = 'from='+ sub;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var newVal = 'from='+ add;
|
||||||
|
}
|
||||||
|
|
||||||
|
alert('nav');
|
||||||
|
src = src.replace(oldVal, newVal);
|
||||||
|
$(".e-nav").attr("data-src",src);
|
||||||
|
*/
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$(".e-ajax").click(function(){
|
$(".e-ajax").click(function(){
|
||||||
|
|
||||||
|
|
||||||
var id = $(this).attr("href");
|
var id = $(this).attr("href");
|
||||||
var src = $(this).attr("data-src");
|
|
||||||
var target = $(this).attr("data-target"); // support for input buttons etc.
|
var target = $(this).attr("data-target"); // support for input buttons etc.
|
||||||
var loading = $(this).attr('data-loading'); // image to show loading.
|
var loading = $(this).attr('data-loading'); // image to show loading.
|
||||||
|
var nav = $(this).attr('data-nav-inc');
|
||||||
|
|
||||||
|
if(nav !== null)
|
||||||
|
{
|
||||||
|
eNav(this,'.e-ajax'); //modify data-src value for next/prev. 'from='
|
||||||
|
}
|
||||||
|
|
||||||
|
var src = $(this).attr("data-src");
|
||||||
|
|
||||||
if(target != null)
|
if(target != null)
|
||||||
{
|
{
|
||||||
@@ -427,7 +478,7 @@ $(document).ready(function()
|
|||||||
src = tmp[0];
|
src = tmp[0];
|
||||||
}
|
}
|
||||||
// var effect = $(this).attr("data-effect");
|
// var effect = $(this).attr("data-effect");
|
||||||
// alert(src);
|
// alert(id);
|
||||||
|
|
||||||
$(id).load(src,function() {
|
$(id).load(src,function() {
|
||||||
// alert(src);
|
// alert(src);
|
||||||
@@ -435,9 +486,14 @@ $(document).ready(function()
|
|||||||
// $(this).fadeIn();
|
// $(this).fadeIn();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Does the same as externalLinks();
|
// Does the same as externalLinks();
|
||||||
@@ -454,10 +510,54 @@ $(document).ready(function()
|
|||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* dynamic next/prev
|
||||||
|
* @param e object (eg. from selector)
|
||||||
|
* @param navid - class with data-src that needs 'from=' value updated. (often 2 of them eg. next/prev)
|
||||||
|
*/
|
||||||
|
function eNav(e,navid)
|
||||||
|
{
|
||||||
|
var src = $(e).attr("data-src");
|
||||||
|
var inc = parseInt($(e).attr("data-nav-inc"));
|
||||||
|
var dir = $(e).attr("data-nav-dir");
|
||||||
|
var tot = parseInt($(e).attr("data-nav-total"));
|
||||||
|
var val = src.match(/from=(\d+)/);
|
||||||
|
var amt = parseInt(val[1]);
|
||||||
|
|
||||||
|
var oldVal = 'from='+ amt;
|
||||||
|
|
||||||
|
var sub = amt - inc;
|
||||||
|
var add = amt + inc;
|
||||||
|
|
||||||
|
$(e).show();
|
||||||
|
|
||||||
|
if(add > tot)
|
||||||
|
{
|
||||||
|
add = amt;
|
||||||
|
// $(e).hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
if(sub < 0)
|
||||||
|
{
|
||||||
|
sub = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
if(dir == 'down')
|
||||||
|
{
|
||||||
|
var newVal = 'from='+ sub;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var newVal = 'from='+ add;
|
||||||
|
}
|
||||||
|
|
||||||
|
src = src.replace(oldVal, newVal);
|
||||||
|
$(navid).attr("data-src",src);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// Legacy Stuff to be converted.
|
// Legacy Stuff to be converted.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// BC Expandit() function
|
// BC Expandit() function
|
||||||
|
|
||||||
var nowLocal = new Date(); /* time at very beginning of js execution */
|
var nowLocal = new Date(); /* time at very beginning of js execution */
|
||||||
|
@@ -170,52 +170,13 @@ $(document).ready(function()
|
|||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
$(".e-nav").click(function(){ // should be run before ajax.
|
|
||||||
|
|
||||||
var src = $(this).attr("data-src");
|
|
||||||
var inc = parseInt($(this).attr("data-nav-inc"));
|
|
||||||
var dir = $(this).attr("data-nav-dir");
|
|
||||||
var tot = parseInt($(this).attr("data-nav-total"));
|
|
||||||
var val = src.match(/from=(\d+)/);
|
|
||||||
var amt = parseInt(val[1]);
|
|
||||||
|
|
||||||
var oldVal = 'from='+ amt;
|
|
||||||
|
|
||||||
var sub = amt - inc;
|
|
||||||
var add = amt + inc;
|
|
||||||
|
|
||||||
$(this).show();
|
|
||||||
|
|
||||||
if(add > tot)
|
|
||||||
{
|
|
||||||
add = amt;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(sub < 0)
|
|
||||||
{
|
|
||||||
sub = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
if(dir == 'down')
|
|
||||||
{
|
|
||||||
var newVal = 'from='+ sub;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var newVal = 'from='+ add;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
src = src.replace(oldVal, newVal);
|
|
||||||
$(".e-nav").attr("data-src",src);
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$(".e-media-nav").click(function(){
|
$(".e-media-nav").click(function(){
|
||||||
|
|
||||||
return mediaNav(this);
|
return mediaNav(this,'.e-media-nav');
|
||||||
/*
|
/*
|
||||||
var id = $(this).attr("href");
|
var id = $(this).attr("href");
|
||||||
var src = $(this).attr("data-src");
|
var src = $(this).attr("data-src");
|
||||||
@@ -257,19 +218,27 @@ $(document).ready(function()
|
|||||||
});
|
});
|
||||||
|
|
||||||
$("#media-search").keyup(function(){
|
$("#media-search").keyup(function(){
|
||||||
mediaNav(this);
|
mediaNav(this,null);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
function mediaNav(e)
|
function mediaNav(e,navid)
|
||||||
{
|
{
|
||||||
var id = $(e).attr("href");
|
var id = $(e).attr("href");
|
||||||
var src = $(e).attr("data-src");
|
|
||||||
var target = $(e).attr("data-target"); // support for input buttons etc.
|
var target = $(e).attr("data-target"); // support for input buttons etc.
|
||||||
var loading = $(e).attr('data-loading'); // image to show loading.
|
var loading = $(e).attr('data-loading'); // image to show loading.
|
||||||
var search = $('#media-search').val(); // image to show loading.
|
var search = $('#media-search').val(); // image to show loading.
|
||||||
|
var nav = $(e).attr('data-nav-inc');
|
||||||
|
|
||||||
|
if(nav !== null && navid !==null)
|
||||||
|
{
|
||||||
|
eNav(e,navid);
|
||||||
|
}
|
||||||
|
|
||||||
|
var src = $(e).attr("data-src");
|
||||||
|
|
||||||
if(target != null)
|
if(target != null)
|
||||||
{
|
{
|
||||||
id = '#' + target;
|
id = '#' + target;
|
||||||
|
@@ -46,16 +46,22 @@ class comment
|
|||||||
private $totalComments = 0;
|
private $totalComments = 0;
|
||||||
|
|
||||||
private $moderator = false;
|
private $moderator = false;
|
||||||
|
|
||||||
|
private $commentsPerPage = 5;
|
||||||
|
|
||||||
|
private $table = null;
|
||||||
|
|
||||||
function __construct()
|
function __construct()
|
||||||
{
|
{
|
||||||
|
|
||||||
if(getperms('0')) // moderator perms.
|
if(getperms('B')) // moderator perms.
|
||||||
{
|
{
|
||||||
$this->moderator = true;
|
$this->moderator = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//TODO - add a pref for comments per page.
|
||||||
|
// $this->commentsPerPage = pref;
|
||||||
|
|
||||||
global $COMMENTSTYLE;
|
global $COMMENTSTYLE;
|
||||||
|
|
||||||
if (!$COMMENTSTYLE)
|
if (!$COMMENTSTYLE)
|
||||||
@@ -92,7 +98,7 @@ class comment
|
|||||||
$COMMENT_TEMPLATE['ITEM_START'] = "";
|
$COMMENT_TEMPLATE['ITEM_START'] = "";
|
||||||
$COMMENT_TEMPLATE['ITEM'] = $COMMENTSTYLE;
|
$COMMENT_TEMPLATE['ITEM'] = $COMMENTSTYLE;
|
||||||
$COMMENT_TEMPLATE['ITEM_END'] = "";
|
$COMMENT_TEMPLATE['ITEM_END'] = "";
|
||||||
$COMMENT_TEMPLATE['LAYOUT'] = "{COMMENTS}{COMMENTFORM}{MODERATE}";
|
$COMMENT_TEMPLATE['LAYOUT'] = "{COMMENTS}{COMMENTFORM}{MODERATE}{COMMENTNAV}";
|
||||||
$COMMENT_TEMPLATE['FORM'] = "<table style='width:100%'>
|
$COMMENT_TEMPLATE['FORM'] = "<table style='width:100%'>
|
||||||
{SUBJECT_INPUT}
|
{SUBJECT_INPUT}
|
||||||
{AUTHOR_INPUT}
|
{AUTHOR_INPUT}
|
||||||
@@ -265,8 +271,8 @@ class comment
|
|||||||
'comval' => strip_tags(trim($comval)),
|
'comval' => strip_tags(trim($comval)),
|
||||||
'itemid' => $itemid,
|
'itemid' => $itemid,
|
||||||
'pid' => $pid,
|
'pid' => $pid,
|
||||||
'eaction' => $eaction,
|
'eaction' => varset($eaction),
|
||||||
'rate' => $rate
|
'rate' => $rating
|
||||||
);
|
);
|
||||||
|
|
||||||
e107::getScBatch('comment')->setParserVars($data);
|
e107::getScBatch('comment')->setParserVars($data);
|
||||||
@@ -311,8 +317,12 @@ class comment
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
function isPending($row)
|
* Check if comment is pending approval.
|
||||||
|
* @param array - a row from the comments table.
|
||||||
|
* @return boolean True/False
|
||||||
|
*/
|
||||||
|
private function isPending($row)
|
||||||
{
|
{
|
||||||
if($row['comment_blocked'] > 0 && ($row['comment_author_id'] != USERID || ($row['comment_author_id']==0 && $row['comment_author_name'] != $_SESSION['comment_author_name'])) && $this->moderator == false)
|
if($row['comment_blocked'] > 0 && ($row['comment_author_id'] != USERID || ($row['comment_author_id']==0 && $row['comment_author_name'] != $_SESSION['comment_author_name'])) && $this->moderator == false)
|
||||||
{
|
{
|
||||||
@@ -327,19 +337,17 @@ class comment
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enter description here...
|
* Render a single comment and any nested comments it may have.
|
||||||
*
|
*
|
||||||
* @param unknown_type $row
|
* @param array $row
|
||||||
* @param unknown_type $table
|
* @param string $table
|
||||||
* @param unknown_type $action
|
* @param string $action
|
||||||
* @param unknown_type $id
|
* @param integer $id
|
||||||
* @param unknown_type $width
|
* @param interger $width
|
||||||
* @param unknown_type $subject
|
* @param string $subject
|
||||||
* @param unknown_type $addrating
|
* @param integer $addrating
|
||||||
* @return unknown
|
* @return html
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
function render_comment($row, $table, $action, $id, $width, $subject, $addrating = FALSE)
|
function render_comment($row, $table, $action, $id, $width, $subject, $addrating = FALSE)
|
||||||
{
|
{
|
||||||
//addrating : boolean, to show rating system in rendered comment
|
//addrating : boolean, to show rating system in rendered comment
|
||||||
@@ -388,7 +396,8 @@ class comment
|
|||||||
$row['rating_enabled'] = true; // Toggles rating shortcode. //TODO add pref
|
$row['rating_enabled'] = true; // Toggles rating shortcode. //TODO add pref
|
||||||
|
|
||||||
e107::getScBatch('comment')->setParserVars($row);
|
e107::getScBatch('comment')->setParserVars($row);
|
||||||
$COMMENT_TEMPLATE = $this->template;
|
|
||||||
|
$COMMENT_TEMPLATE = $this->template;
|
||||||
|
|
||||||
$COMMENT_TEMPLATE['ITEM_START'] = "\n\n<div id='{COMMENT_ITEMID}' class='comment-box clearfix'>\n";
|
$COMMENT_TEMPLATE['ITEM_START'] = "\n\n<div id='{COMMENT_ITEMID}' class='comment-box clearfix'>\n";
|
||||||
$COMMENT_TEMPLATE['ITEM_END'] = "\n</div><div class='clear_b'><!-- --></div>\n";
|
$COMMENT_TEMPLATE['ITEM_END'] = "\n</div><div class='clear_b'><!-- --></div>\n";
|
||||||
@@ -887,6 +896,8 @@ class comment
|
|||||||
//rate : boolean, to show/hide rating system in comment, default FALSE
|
//rate : boolean, to show/hide rating system in comment, default FALSE
|
||||||
global $e107cache, $totcc;
|
global $e107cache, $totcc;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$tp = e107::getParser();
|
$tp = e107::getParser();
|
||||||
$ns = e107::getRender();
|
$ns = e107::getRender();
|
||||||
$pref = e107::getPref();
|
$pref = e107::getPref();
|
||||||
@@ -897,69 +908,15 @@ class comment
|
|||||||
|
|
||||||
// ------------- TODO move the 'listing' into separate function so that ajax can access it easily.
|
// ------------- TODO move the 'listing' into separate function so that ajax can access it easily.
|
||||||
|
|
||||||
$sql = e107::getDb();
|
$options = array(
|
||||||
$type = $this->getCommentType($table);
|
'action' => $action,
|
||||||
$sort = vartrue($pref['comments_sort'],'desc');
|
'subject' => $subject,
|
||||||
|
'rate' => $rate
|
||||||
if(vartrue($pref['nested_comments']))
|
);
|
||||||
{
|
|
||||||
$query = "SELECT c.*, u.*, ue.*, r.* FROM #comments AS c
|
|
||||||
LEFT JOIN #user AS u ON c.comment_author_id = u.user_id
|
|
||||||
LEFT JOIN #user_extended AS ue ON c.comment_author_id = ue.user_extended_id
|
|
||||||
LEFT JOIN #rate AS r ON c.comment_id = r.rate_itemid AND r.rate_table = 'comments'
|
|
||||||
|
|
||||||
WHERE c.comment_item_id='".intval($id)."' AND c.comment_type='".$tp->toDB($type, true)."' AND c.comment_pid='0'
|
|
||||||
ORDER BY c.comment_datestamp ".$sort;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$query = "SELECT c.*, u.*, ue.*, r.* FROM #comments AS c
|
|
||||||
LEFT JOIN #user AS u ON c.comment_author_id = u.user_id
|
|
||||||
LEFT JOIN #user_extended AS ue ON c.comment_author_id = ue.user_extended_id
|
|
||||||
LEFT JOIN #rate AS r ON c.comment_id = r.rate_itemid AND r.rate_table = 'comments' ";
|
|
||||||
$query .= "WHERE c.comment_item_id='".intval($id)."' AND c.comment_type='".$tp->toDB($type, true)."'
|
|
||||||
ORDER BY c.comment_datestamp ".$sort;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$text = "";
|
|
||||||
$comment = '';
|
|
||||||
$modcomment = '';
|
|
||||||
$lock = '';
|
|
||||||
$ret['comment'] = '';
|
|
||||||
$moderator = getperms('0');
|
|
||||||
|
|
||||||
if ($this->totalComments = $sql->db_Select_gen($query))
|
|
||||||
{
|
|
||||||
|
|
||||||
$width = 0;
|
|
||||||
//Shortcodes could use $sql, so just grab all results
|
|
||||||
$rows = $sql->db_getList();
|
|
||||||
|
|
||||||
//while ($row = $sql->db_Fetch())
|
|
||||||
foreach ($rows as $row)
|
|
||||||
{
|
|
||||||
|
|
||||||
if($this->isPending($row,$moderator))
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
$lock = $row['comment_lock'];
|
|
||||||
// $subject = $tp->toHTML($subject);
|
|
||||||
if ($pref['nested_comments'])
|
|
||||||
{
|
|
||||||
$text .= $this->render_comment($row, $table, $action, $id, $width, $tp->toHTML($subject), $rate);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$text .= $this->render_comment($row, $table, $action, $id, $width, $tp->toHTML($subject), $rate);
|
|
||||||
}
|
|
||||||
} // end loop
|
|
||||||
|
|
||||||
} // end if
|
|
||||||
|
|
||||||
|
|
||||||
|
$tmp = $this->getComments($table,$id,0,$options); // render all comments;
|
||||||
|
$text = $tmp['comments'];
|
||||||
|
$lock = $tmp['lock'];
|
||||||
|
|
||||||
// -------------------------------------------------------
|
// -------------------------------------------------------
|
||||||
|
|
||||||
@@ -971,7 +928,7 @@ class comment
|
|||||||
$modcomment .= "</div>";
|
$modcomment .= "</div>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$modcomment .= $this->nextprev($table,$id,$from);
|
||||||
// ---------------------------
|
// ---------------------------
|
||||||
|
|
||||||
if ($lock != '1')
|
if ($lock != '1')
|
||||||
@@ -983,8 +940,8 @@ class comment
|
|||||||
$comment = "<br /><div style='text-align:center'><b>".COMLAN_328."</b></div>";
|
$comment = "<br /><div style='text-align:center'><b>".COMLAN_328."</b></div>";
|
||||||
}
|
}
|
||||||
|
|
||||||
$search = array("{MODERATE}","{COMMENTS}","{COMMENTFORM}");
|
$search = array("{MODERATE}","{COMMENTS}","{COMMENTFORM}","{COMMENTNAV}");
|
||||||
$replace = array($modcomment,"<div id='comments-container'>\n".$text."\n</div>",$comment);
|
$replace = array($modcomment,"<div id='comments-container'>\n".$text."\n</div>",$comment,$pagination);
|
||||||
$TEMPL = str_replace($search,$replace,$this->template['LAYOUT']);
|
$TEMPL = str_replace($search,$replace,$this->template['LAYOUT']);
|
||||||
|
|
||||||
|
|
||||||
@@ -1021,17 +978,98 @@ class comment
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
function renderComments($table,$id,$from,$options=null)
|
function getComments($table,$id,$from=0,$att=null)
|
||||||
{
|
{
|
||||||
|
// global $e107cache, $totcc;
|
||||||
|
|
||||||
|
//TODO Cache
|
||||||
|
|
||||||
|
$sql = e107::getDb();
|
||||||
|
$tp = e107::getParser();
|
||||||
|
$pref = e107::getPref();
|
||||||
|
|
||||||
|
$action = varset($att['action']);
|
||||||
|
$subject = varset($att['subject']);
|
||||||
|
$rate = varset($att['rate']);
|
||||||
|
|
||||||
|
$type = $this->getCommentType($table);
|
||||||
|
$sort = vartrue($pref['comments_sort'],'desc');
|
||||||
|
|
||||||
|
if(vartrue($pref['nested_comments']))
|
||||||
|
{
|
||||||
|
$query = "SELECT c.*, u.*, ue.*, r.* FROM #comments AS c
|
||||||
|
LEFT JOIN #user AS u ON c.comment_author_id = u.user_id
|
||||||
|
LEFT JOIN #user_extended AS ue ON c.comment_author_id = ue.user_extended_id
|
||||||
|
LEFT JOIN #rate AS r ON c.comment_id = r.rate_itemid AND r.rate_table = 'comments'
|
||||||
|
|
||||||
|
WHERE c.comment_item_id='".intval($id)."' AND c.comment_type='".$tp->toDB($type, true)."' AND c.comment_pid='0'
|
||||||
|
ORDER BY c.comment_datestamp ".$sort;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$query = "SELECT c.*, u.*, ue.*, r.* FROM #comments AS c
|
||||||
|
LEFT JOIN #user AS u ON c.comment_author_id = u.user_id
|
||||||
|
LEFT JOIN #user_extended AS ue ON c.comment_author_id = ue.user_extended_id
|
||||||
|
LEFT JOIN #rate AS r ON c.comment_id = r.rate_itemid AND r.rate_table = 'comments' ";
|
||||||
|
$query .= "WHERE c.comment_item_id='".intval($id)."' AND c.comment_type='".$tp->toDB($type, true)."'
|
||||||
|
ORDER BY c.comment_datestamp ".$sort;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->totalComments = $sql->db_Select_gen($query);
|
||||||
|
|
||||||
|
$query .= " LIMIT ".$from.",".$this->commentsPerPage;
|
||||||
|
|
||||||
|
$text = "";
|
||||||
|
$lock = '';
|
||||||
|
|
||||||
|
if ($sql->db_Select_gen($query))
|
||||||
|
{
|
||||||
|
$width = 0;
|
||||||
|
$rows = $sql->db_getList(); //Shortcodes could use $sql, so just grab all results
|
||||||
|
|
||||||
|
foreach ($rows as $row)
|
||||||
|
{
|
||||||
|
|
||||||
|
if($this->isPending($row))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$lock = $row['comment_lock'];
|
||||||
|
|
||||||
|
if ($pref['nested_comments'])
|
||||||
|
{
|
||||||
|
$text .= $this->render_comment($row, $table, $action, $id, $width, $tp->toHTML($subject), $rate);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$text .= $this->render_comment($row, $table, $action, $id, $width, $tp->toHTML($subject), $rate);
|
||||||
|
}
|
||||||
|
} // end loop
|
||||||
|
|
||||||
|
} // end if
|
||||||
|
|
||||||
|
return array('comments'=> $text,'lock'=> $lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function nextprev($table,$id,$from=0)
|
||||||
|
{
|
||||||
|
//return "table=".$table." id=".$id." from=".$from;
|
||||||
|
//$from = $from + $this->commentsPerPage;
|
||||||
|
|
||||||
|
|
||||||
|
// from calculations are done by eNav() js.
|
||||||
|
return "
|
||||||
|
<a class='e-ajax' href='#' data-nav-total='{$this->totalComments}' data-nav-dir='down' data-nav-inc='{$this->commentsPerPage}' data-target='comments-container' data-src='".e_BASE."comment.php?mode=list&type=".$table."&id=".$id."&from=0'>Previous</a>
|
||||||
|
|
||||||
|
<a class='e-ajax' href='#' data-nav-total='{$this->totalComments}' data-nav-dir='up' data-nav-inc='{$this->commentsPerPage}' data-target='comments-container' data-src='".e_BASE."comment.php?mode=list&type=".$table."&id=".$id."&from=0'>Next</a>
|
||||||
|
|
||||||
|
";
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -497,7 +497,7 @@ class e_media
|
|||||||
|
|
||||||
if($navMode === false)
|
if($navMode === false)
|
||||||
{
|
{
|
||||||
$text .= "<div>Filter: <input type='text' id='media-search' title='Enter some text to filter the results' name='search' value='' class='e-tip e-media-nav' data-target='media-select-container' data-src='".$this->mediaSelectNav($category,"tagid=".$tagid."&bbcode=".$bbcode)."&from=0' />";
|
$text .= "<div>Filter: <input type='text' id='media-search' title='Enter some text to filter the results' name='search' value='' class='e-tip' data-target='media-select-container' data-src='".$this->mediaSelectNav($category,"tagid=".$tagid."&bbcode=".$bbcode)."&from=0' />";
|
||||||
$text .= "<input type='button' value='Go' class='e-media-nav' data-target='media-select-container' data-src='".$this->mediaSelectNav($category,"tagid=".$tagid."&bbcode=".$bbcode)."&from=0' /> "; // Manual filter, if onkeyup ajax fails for some reason.
|
$text .= "<input type='button' value='Go' class='e-media-nav' data-target='media-select-container' data-src='".$this->mediaSelectNav($category,"tagid=".$tagid."&bbcode=".$bbcode)."&from=0' /> "; // Manual filter, if onkeyup ajax fails for some reason.
|
||||||
// $text .= "<input type='button' value='«' />"; // see previous page of images.
|
// $text .= "<input type='button' value='«' />"; // see previous page of images.
|
||||||
$text .= "<button title='previous page' class='button e-nav e-media-nav e-tip' data-target='media-select-container' data-nav-total='".$total."' data-nav-dir='down' data-nav-inc='".$limit."' data-src='".$this->mediaSelectNav($category,"tagid=".$tagid."&bbcode=".$bbcode)."&from=0' >«</button>"; // see next page of images.
|
$text .= "<button title='previous page' class='button e-nav e-media-nav e-tip' data-target='media-select-container' data-nav-total='".$total."' data-nav-dir='down' data-nav-inc='".$limit."' data-src='".$this->mediaSelectNav($category,"tagid=".$tagid."&bbcode=".$bbcode)."&from=0' >«</button>"; // see next page of images.
|
||||||
|
Reference in New Issue
Block a user