mirror of
https://github.com/e107inc/e107.git
synced 2025-08-02 04:40:44 +02:00
Bug fixes and improvements to paging and searches in admin->news and admin->users.
This commit is contained in:
@@ -302,6 +302,13 @@ class admin_newspost
|
|||||||
$from = intval(varset($tmp[3],0));
|
$from = intval(varset($tmp[3],0));
|
||||||
unset($tmp);
|
unset($tmp);
|
||||||
|
|
||||||
|
$action = vartrue($_GET['action'],'main');
|
||||||
|
$sub_action = varset($_GET['sub'],'');
|
||||||
|
$id = isset($_GET['id']) && is_numeric($_GET['id']) ? intval($_GET['id']) : 0;
|
||||||
|
$this->_sort_order = isset($_GET['id']) && !is_numeric($_GET['id']) ? $_GET['id'] : 'desc';
|
||||||
|
$from = intval(varset($_GET['frm'],0));
|
||||||
|
|
||||||
|
|
||||||
if ($this->_sort_order != 'asc') $this->_sort_order = 'desc';
|
if ($this->_sort_order != 'asc') $this->_sort_order = 'desc';
|
||||||
$this->_sort_link = ($this->_sort_order) == 'asc' ? 'desc' : 'asc';
|
$this->_sort_link = ($this->_sort_order) == 'asc' ? 'desc' : 'asc';
|
||||||
|
|
||||||
@@ -972,6 +979,8 @@ class admin_newspost
|
|||||||
function show_existing_items()
|
function show_existing_items()
|
||||||
{
|
{
|
||||||
$user_pref = e107::getUser()->getPref();
|
$user_pref = e107::getUser()->getPref();
|
||||||
|
$sql = e107::getDb();
|
||||||
|
|
||||||
if(!getperms('H'))
|
if(!getperms('H'))
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@@ -998,9 +1007,22 @@ class admin_newspost
|
|||||||
// ------ Search Filter ------
|
// ------ Search Filter ------
|
||||||
|
|
||||||
$text .= "
|
$text .= "
|
||||||
<form method='post' action='".e_SELF."'>
|
<form method='get' action='".e_SELF."'>
|
||||||
<div class='left' style='padding:20px'>
|
<div class='left' style='padding:20px'>
|
||||||
<input type='text' name='searchquery' value='".$_POST['searchquery']."' />";
|
<input type='text' name='srch' value='".$_GET['srch']."' />\n";
|
||||||
|
|
||||||
|
$text .= "<select class='tbox' name='filter' onchange='this.form.submit()' >
|
||||||
|
<option value=''>All Categories</option>\n"; // TODO LAN
|
||||||
|
|
||||||
|
foreach($this->news_categories as $arr)
|
||||||
|
{
|
||||||
|
$key = $arr['category_id'];
|
||||||
|
$val = $arr['category_name'];
|
||||||
|
$sel = ($_GET['filter'] == $key) ? "selected='selected'" : "";
|
||||||
|
$text .= "<option value='$key' {$sel}>".$val."</option>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
$text .= "</select>";
|
||||||
$text .= $frm->admin_button('searchsubmit', NWSLAN_63, 'search');
|
$text .= $frm->admin_button('searchsubmit', NWSLAN_63, 'search');
|
||||||
$text .= "
|
$text .= "
|
||||||
</div></form>
|
</div></form>
|
||||||
@@ -1015,9 +1037,13 @@ class admin_newspost
|
|||||||
";
|
";
|
||||||
|
|
||||||
$check_perms = !getperms('0') ? " nc.category_manager IN (".USERCLASS_LIST.") " : '';
|
$check_perms = !getperms('0') ? " nc.category_manager IN (".USERCLASS_LIST.") " : '';
|
||||||
if (vartrue($_POST['searchquery']))
|
|
||||||
|
// Quick qry fix.
|
||||||
|
$check_perms .= (vartrue($_GET['filter'])) ? " n.news_category = ".intval($_GET['filter'])." " : "";
|
||||||
|
|
||||||
|
if (vartrue($_GET['srch']))
|
||||||
{
|
{
|
||||||
$query .= "WHERE {$check_perms}n.news_title REGEXP('".$_POST['searchquery']."') OR n.news_body REGEXP('".$_POST['searchquery']."') OR n.news_extended REGEXP('".$_POST['searchquery']."') ORDER BY n.news_datestamp DESC";
|
$query .= "WHERE {$check_perms}n.news_title REGEXP('".$_GET['srch']."') OR n.news_body REGEXP('".$_GET['srch']."') OR n.news_extended REGEXP('".$_GET['srch']."') ORDER BY n.news_datestamp DESC";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1036,11 +1062,14 @@ class admin_newspost
|
|||||||
$ordfield = 'n.'.$this->getSubAction();
|
$ordfield = 'n.'.$this->getSubAction();
|
||||||
}
|
}
|
||||||
|
|
||||||
$query .= ($check_perms ? "WHERE {$check_perms}" : '')."ORDER BY {$ordfield} ".strtoupper($this->_sort_order)." LIMIT ".$this->getFrom().", {$amount}";
|
$query .= ($check_perms ? "WHERE {$check_perms}" : '')."ORDER BY {$ordfield} ".strtoupper($this->_sort_order);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$newsposts = $sql->db_Select_gen($query);
|
||||||
|
|
||||||
if ($e107->sql->db_Select_gen($query))
|
//echo "sql=".$query;
|
||||||
|
|
||||||
|
if ($sql->db_Select_gen($query." LIMIT ".$this->getFrom().", {$amount}"))
|
||||||
{
|
{
|
||||||
$newsarray = $e107->sql->db_getList();
|
$newsarray = $e107->sql->db_getList();
|
||||||
|
|
||||||
@@ -1050,7 +1079,7 @@ class admin_newspost
|
|||||||
<legend class='e-hideme'>".NWSLAN_4."</legend>
|
<legend class='e-hideme'>".NWSLAN_4."</legend>
|
||||||
<table cellpadding='0' cellspacing='0' class='adminlist'>
|
<table cellpadding='0' cellspacing='0' class='adminlist'>
|
||||||
".$frm->colGroup($this->fields, $this->fieldpref)."
|
".$frm->colGroup($this->fields, $this->fieldpref)."
|
||||||
".$frm->thead($this->fields, $this->fieldpref, 'main.[FIELD].[ASC].[FROM]')."
|
".$frm->thead($this->fields, $this->fieldpref, 'action=main&sub=[FIELD]&id=[ASC]&filter='.intval($_GET['filter']).'&srch='.$_GET['srch'].'&frm=[FROM]')."
|
||||||
<tbody>";
|
<tbody>";
|
||||||
|
|
||||||
$ren_type = array("default","title","other-news","other-news 2"); // Shortened
|
$ren_type = array("default","title","other-news","other-news 2"); // Shortened
|
||||||
@@ -1089,20 +1118,22 @@ class admin_newspost
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$tmp = NWSLAN_43;
|
$tmp = NWSLAN_43;
|
||||||
if(vartrue($_POST['searchquery']))
|
if(vartrue($_GET['srch']))
|
||||||
{
|
{
|
||||||
$tmp = sprintf(NWSLAN_121, '<em>"'.$_POST['searchquery']).""</em> <a href='".e_SELF."'>« ".LAN_BACK."</a>";
|
$tmp = sprintf(NWSLAN_121, '<em>"'.$_GET['srch']).""</em> <a href='".e_SELF."'>« ".LAN_BACK."</a>";
|
||||||
}
|
}
|
||||||
$text = "<div class='center warning'>{$tmp}</div>";
|
$text = "<div class='center warning'>{$tmp}</div>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$newsposts = $e107->sql->db_Count('news');
|
// $newsposts = $e107->sql->db_Count('news');
|
||||||
|
|
||||||
if (!vartrue($_POST['searchquery']))
|
if (!vartrue($_GET['srch']))
|
||||||
{
|
{
|
||||||
$parms = $newsposts.",".$amount.",".$this->getFrom().",".e_SELF."?".$this->getAction().'.'.($this->getSubAction() ? $this->getSubAction() : 0).'.'.$this->_sort_order.".[FROM]";
|
// $parms = $newsposts.",".$amount.",".$this->getFrom().",".e_SELF."?".$this->getAction().'.'.($this->getSubAction() ? $this->getSubAction() : 0).'.'.$this->_sort_order.".[FROM]";
|
||||||
|
$parms = $newsposts.",".$amount.",".$this->getFrom().",".e_SELF."?action=".$this->getAction().'&sub='.($this->getSubAction() ? $this->getSubAction() : 0).'&id='.$this->_sort_order.'&filter='.intval($_GET['filter']).'&srch='.$_GET['srch']."&frm=[FROM]";
|
||||||
|
|
||||||
$nextprev = $e107->tp->parseTemplate("{NEXTPREV={$parms}}");
|
$nextprev = $e107->tp->parseTemplate("{NEXTPREV={$parms}}");
|
||||||
if ($nextprev) $text .= "<div class='nextprev-bar'>".$nextprev."</div>";
|
if ($nextprev) $text .= "<div class='nextprev-bar'>".$nextprev."</div>";
|
||||||
|
|
||||||
@@ -2470,29 +2501,29 @@ class admin_newspost
|
|||||||
$var['main']['perm'] = "H";
|
$var['main']['perm'] = "H";
|
||||||
|
|
||||||
$var['create']['text'] = NWSLAN_45;
|
$var['create']['text'] = NWSLAN_45;
|
||||||
$var['create']['link'] = e_SELF."?create";
|
$var['create']['link'] = e_SELF."?action=create";
|
||||||
$var['create']['perm'] = "H";
|
$var['create']['perm'] = "H";
|
||||||
|
|
||||||
$var['cat']['text'] = NWSLAN_46;
|
$var['cat']['text'] = NWSLAN_46;
|
||||||
$var['cat']['link'] = e_SELF."?cat";
|
$var['cat']['link'] = e_SELF."?action=cat";
|
||||||
$var['cat']['perm'] = "7";
|
$var['cat']['perm'] = "7";
|
||||||
|
|
||||||
$var['pref']['text'] = NWSLAN_90;
|
$var['pref']['text'] = NWSLAN_90;
|
||||||
$var['pref']['link'] = e_SELF."?pref";
|
$var['pref']['link'] = e_SELF."?action=pref";
|
||||||
$var['pref']['perm'] = "0";
|
$var['pref']['perm'] = "0";
|
||||||
|
|
||||||
//TODO remove commented code before release.
|
//TODO remove commented code before release.
|
||||||
// $c = $e107->sql->db_Count('submitnews');
|
// $c = $e107->sql->db_Count('submitnews');
|
||||||
// if ($c) {
|
// if ($c) {
|
||||||
$var['sn']['text'] = NWSLAN_47." ({$c})";
|
$var['sn']['text'] = NWSLAN_47." ({$c})";
|
||||||
$var['sn']['link'] = e_SELF."?sn";
|
$var['sn']['link'] = e_SELF."?action=sn";
|
||||||
$var['sn']['perm'] = "N";
|
$var['sn']['perm'] = "N";
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if (getperms('0'))
|
if (getperms('0'))
|
||||||
{
|
{
|
||||||
$var['maint']['text'] = LAN_NEWS_55;
|
$var['maint']['text'] = LAN_NEWS_55;
|
||||||
$var['maint']['link'] = e_SELF."?maint";
|
$var['maint']['link'] = e_SELF."?action=maint";
|
||||||
$var['maint']['perm'] = "N";
|
$var['maint']['perm'] = "N";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -97,15 +97,23 @@ $frm = new e_form;
|
|||||||
$rs = new form;
|
$rs = new form;
|
||||||
if (e_QUERY)
|
if (e_QUERY)
|
||||||
{
|
{
|
||||||
$tmp = explode('.',e_QUERY);
|
// $tmp = explode('.',e_QUERY);
|
||||||
$action = $tmp[0];
|
// $action = $tmp[0];
|
||||||
$sub_action = varset($tmp[1],'');
|
// $sub_action = varset($tmp[1],'');
|
||||||
$id = varset($tmp[2],0);
|
// $id = varset($tmp[2],0);
|
||||||
$from = varset($tmp[3],0);
|
// $from = varset($tmp[3],0);
|
||||||
|
// unset ($tmp);
|
||||||
|
|
||||||
|
|
||||||
|
$action = $_GET['action'];
|
||||||
|
$sub_action = varset($_GET['sub'],'');
|
||||||
|
$id = varset($_GET['id'],0);
|
||||||
|
$from = varset($_GET['frm'],0);
|
||||||
unset ($tmp);
|
unset ($tmp);
|
||||||
|
|
||||||
}
|
}
|
||||||
$from = varset($from,0);
|
$from = varset($from,0);
|
||||||
$amount = 30;
|
$amount = 20;
|
||||||
|
|
||||||
// ------- Check for Bounces --------------
|
// ------- Check for Bounces --------------
|
||||||
$bounce_act = '';
|
$bounce_act = '';
|
||||||
@@ -661,16 +669,16 @@ class users
|
|||||||
$var ['main']['link'] = e_ADMIN.'users.php';
|
$var ['main']['link'] = e_ADMIN.'users.php';
|
||||||
$var ['main']['perm'] = '4|U0|U1';
|
$var ['main']['perm'] = '4|U0|U1';
|
||||||
$var ['create']['text'] = LAN_USER_QUICKADD;
|
$var ['create']['text'] = LAN_USER_QUICKADD;
|
||||||
$var ['create']['link'] = e_ADMIN.'users.php?create';
|
$var ['create']['link'] = e_ADMIN.'users.php?action=create';
|
||||||
$var ['create']['perm'] = '4|U0|U1';
|
$var ['create']['perm'] = '4|U0|U1';
|
||||||
$var ['prune']['text'] = LAN_USER_PRUNE;
|
$var ['prune']['text'] = LAN_USER_PRUNE;
|
||||||
$var ['prune']['link'] = e_ADMIN.'users.php?prune';// Will be moved to "Schedule tasks"
|
$var ['prune']['link'] = e_ADMIN.'users.php?action=prune';// Will be moved to "Schedule tasks"
|
||||||
$var ['prune']['perm'] = '4';
|
$var ['prune']['perm'] = '4';
|
||||||
$var ['options']['text'] = LAN_OPTIONS;
|
$var ['options']['text'] = LAN_OPTIONS;
|
||||||
$var ['options']['link'] = e_ADMIN.'users.php?options';
|
$var ['options']['link'] = e_ADMIN.'users.php?action=options';
|
||||||
$var ['options']['perm'] = '4|U2';
|
$var ['options']['perm'] = '4|U2';
|
||||||
$var ['ranks']['text'] = LAN_USER_RANKS;
|
$var ['ranks']['text'] = LAN_USER_RANKS;
|
||||||
$var ['ranks']['link'] = e_ADMIN.'users.php?ranks';
|
$var ['ranks']['link'] = e_ADMIN.'users.php?action=ranks';
|
||||||
$var ['ranks']['perm'] = '4|U3';
|
$var ['ranks']['perm'] = '4|U3';
|
||||||
|
|
||||||
// if ($unverified) // No longer needed - done with 'filter'.
|
// if ($unverified) // No longer needed - done with 'filter'.
|
||||||
@@ -1164,19 +1172,21 @@ class users
|
|||||||
{
|
{
|
||||||
$_SESSION['srch'] = $tp->toDB(trim($_SESSION['srch']));
|
$_SESSION['srch'] = $tp->toDB(trim($_SESSION['srch']));
|
||||||
$query .= "( ";
|
$query .= "( ";
|
||||||
$query .= (strpos($_SESSION['srch'],"@") !== false) ? "user_email REGEXP('".$_SESSION['srch']."') OR " : "";
|
$query .= (strpos($_SESSION['srch'],"@") !== false) ? "u.user_email REGEXP('".$_SESSION['srch']."') OR " : "";
|
||||||
$query .= (strpos($_SESSION['srch'],".") !== false) ? "user_ip REGEXP('".$_SESSION['srch']."') OR " : "";
|
$query .= (strpos($_SESSION['srch'],".") !== false) ? "u.user_ip REGEXP('".$_SESSION['srch']."') OR " : "";
|
||||||
|
|
||||||
$fquery = array();
|
$fquery = array();
|
||||||
|
|
||||||
foreach ($this->fieldpref as $field)
|
foreach ($this->fieldpref as $field)
|
||||||
{
|
{
|
||||||
|
if($field == 'user_status'){ continue; }
|
||||||
$fquery[] = $field." REGEXP('".$_SESSION['srch']."')";
|
$fquery[] = $field." REGEXP('".$_SESSION['srch']."')";
|
||||||
}
|
}
|
||||||
|
|
||||||
$query .= implode(" OR ",$fquery);
|
$query .= implode(" OR ",$fquery);
|
||||||
|
|
||||||
$query .= " ) ";
|
$query .= " ) ";
|
||||||
$qry_order = ' ORDER BY user_id';
|
$qry_order = ' ORDER BY u.user_id';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -1185,7 +1195,7 @@ class users
|
|||||||
{
|
{
|
||||||
$query = 'user_ban = 2 ';
|
$query = 'user_ban = 2 ';
|
||||||
}*/
|
}*/
|
||||||
$qry_order = 'ORDER BY '.($sub_action ? $sub_action : 'user_id').' '.($id ? $id : 'DESC')." LIMIT $from, $amount";
|
$qry_order = 'ORDER BY '.($sub_action ? $sub_action : 'user_id').' '.($id ? $id : 'DESC');
|
||||||
}
|
}
|
||||||
|
|
||||||
if(varset($_SESSION['filter']))
|
if(varset($_SESSION['filter']))
|
||||||
@@ -1240,14 +1250,18 @@ class users
|
|||||||
|
|
||||||
$text = "<div>".$this->show_search_filter();
|
$text = "<div>".$this->show_search_filter();
|
||||||
|
|
||||||
if ($user_total = $sql->db_Select_gen($qry))
|
// echo "<br />qry=".$qry;
|
||||||
|
|
||||||
|
$user_total = $sql->db_Select_gen($qry);
|
||||||
|
|
||||||
|
if ($users = $sql->db_Select_gen($qry." LIMIT ".$from.", ".$amount))
|
||||||
{
|
{
|
||||||
$text .= "
|
$text .= "
|
||||||
<form method='post' action='".e_SELF."?".e_QUERY."'>
|
<form method='post' action='".e_SELF."?".e_QUERY."'>
|
||||||
<fieldset id='core-users-list'>
|
<fieldset id='core-users-list'>
|
||||||
<table cellpadding='0' cellspacing='0' class='adminlist'>".
|
<table cellpadding='0' cellspacing='0' class='adminlist'>".
|
||||||
$frm->colGroup($this->fields,$this->fieldpref).
|
$frm->colGroup($this->fields,$this->fieldpref).
|
||||||
$frm->thead($this->fields,$this->fieldpref,"main.[FIELD].[ASC].[FROM]").
|
$frm->thead($this->fields,$this->fieldpref,"action=main&sub=[FIELD]&id=[ASC]&filter=".intval($_GET['filter']).'&srch='.$_GET['srch']."&frm=[FROM]").
|
||||||
"<tbody>\n";
|
"<tbody>\n";
|
||||||
|
|
||||||
while ($row = $sql->db_Fetch())
|
while ($row = $sql->db_Fetch())
|
||||||
@@ -1273,11 +1287,13 @@ class users
|
|||||||
</table>
|
</table>
|
||||||
|
|
||||||
<div class='buttons-bar center'>".$this->show_batch_options();
|
<div class='buttons-bar center'>".$this->show_batch_options();
|
||||||
$users = (e_QUERY != "unverified") ? $sql->db_Count("user") : $unverified;
|
// $users = (e_QUERY != "unverified") ? $sql->db_Count("user") : $unverified;
|
||||||
|
|
||||||
if ($users > $amount && !$_GET['srch'])
|
if ($user_total > $amount )
|
||||||
{
|
{
|
||||||
$parms = "{$users},{$amount},{$from},".e_SELF."?".(e_QUERY ? "$action.$sub_action.$id." : "main.user_id.desc.")."[FROM]";
|
$parms = "{$user_total},{$amount},{$from},";
|
||||||
|
// $parms .= e_SELF."?".(e_QUERY ? "action=".$action."&sub=".$sub_action."&id=".$id : "action=main&sub=user_id&id=desc&frm=")."[FROM]";
|
||||||
|
$parms .= e_SELF."?action=".$action."&sub=".$sub_action."&id=".$id."&filter=".$_GET['filter']."&srch=".$_GET['srch']."&frm=[FROM]";
|
||||||
$text .= $tp->parseTemplate("{NEXTPREV={$parms}}");
|
$text .= $tp->parseTemplate("{NEXTPREV={$parms}}");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1298,7 +1314,7 @@ class users
|
|||||||
$text .= "</fieldset></form>
|
$text .= "</fieldset></form>
|
||||||
|
|
||||||
</div>";
|
</div>";
|
||||||
|
// echo "<br />amount=".$amount;
|
||||||
$emessage = eMessage :: getInstance();
|
$emessage = eMessage :: getInstance();
|
||||||
|
|
||||||
$total_cap = (isset ($_GET['srch'])) ? $user_total : $users;
|
$total_cap = (isset ($_GET['srch'])) ? $user_total : $users;
|
||||||
|
Reference in New Issue
Block a user