Здравствуйте, у меня так пока и не получилось переписать банлист ;(
Я нашел, что вывод из таблицы выводится не через указанные пути, а по задающимся параметром: Вот фрагмент кода, которые это делает
Нажми для просмотра
PHP код:
//get the arrays we want
$getbanned_query = $db->query_read("
SELECT
userban.userid, adminid, bandate, liftdate, reason,
user.username as username,
admin.username as adminname, admin.displaygroupid as admindisplaygroupid, admin.usergroupid as adminusergroupid
FROM " . TABLE_PREFIX . "userban as userban
LEFT JOIN " . TABLE_PREFIX . "user as user ON(user.userid = userban.userid)
LEFT JOIN " . TABLE_PREFIX . "user as admin ON(admin.userid = userban.adminid)
WHERE user.usergroupid IN ($bannedgroups)
ORDER BY bandate DESC
");
То-есть,
PHP код:
SELECT
userban.userid, adminid, bandate, liftdate, reason,
указывает какие брать данные из каких таблиц и какой бд, и это:
PHP код:
FROM " . TABLE_PREFIX . "userban as userban
LEFT JOIN " . TABLE_PREFIX . "user as user ON(user.userid = userban.userid)
LEFT JOIN " . TABLE_PREFIX . "user as admin ON(admin.userid = userban.adminid)
Мне просто нужно как-то поменять таблицы с userban на bans, и названия таблиц с userid, adminid, bandate, liftdate, reason на свои, и все, но если пытаться что-либо изменить в выводе из таблиц выходит ошибка mysql, что может быть упущено?
P.S что-бы Вам не качать плагин, вот полностью файл banlist.php
Нажми для просмотра
PHP код:
<?php
// ######################## SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// ##################### DEFINE IMPORTANT CONSTANTS #######################
define('THIS_SCRIPT', 'banlist');
// #################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();
// get special data templates from the datastore
$specialtemplates = array();
// pre-cache templates used by all actions
$globaltemplates = array(
'BANNED',
'banbit',
'pagenav',
);
// pre-cache templates used by specific actions
$actiontemplates = array();
// ########################## REQUIRE BACK-END ############################
require_once('./global.php');
// ########################################################################
// ######################### START MAIN SCRIPT ############################
// ########################################################################
ini_set("display_errors",1);
$navbits = array();
// title of the page that is displayed in the navbar
$navbits[$parent] = construct_phrase($vbphrase[banned_pagetitle]);
//check permissions
$temp = str_replace(" ","",$vbulletin->options['banned_permissions']);
if($permitted_usergroups = explode(",", $temp)) {
foreach($permitted_usergroups as $value) {
if(is_member_of($vbulletin->userinfo, $value)) print_no_permission();
}
}
//pagenav
$vbulletin->input->clean_array_gpc('r', array(
'perpage' => TYPE_INT,
'page' => TYPE_INT
));
$perpage = $vbulletin->options['banned_perpage'];
if(!$perpage) $perpage = 10;
$pagenumber = $vbulletin->GPC['page'];
if(empty($vbulletin->GPC['page']))
$page = 1;
else
$page = $vbulletin->GPC['page'];
//get the banned usergroupids
$bannedgroups = $vbulletin->options['banned_bangroups'];
//get the arrays we want
$getbanned_query = $db->query_read("
SELECT
userban.userid, adminid, bandate, liftdate, reason,
user.username as username,
admin.username as adminname, admin.displaygroupid as admindisplaygroupid, admin.usergroupid as adminusergroupid
FROM " . TABLE_PREFIX . "userban as userban
LEFT JOIN " . TABLE_PREFIX . "user as user ON(user.userid = userban.userid)
LEFT JOIN " . TABLE_PREFIX . "user as admin ON(admin.userid = userban.adminid)
WHERE user.usergroupid IN ($bannedgroups)
ORDER BY bandate DESC
");
$permanent=0;
if($db->num_rows($getbanned_query))
{
$i=1;
while ($banned = $db->fetch_array($getbanned_query))
{
$banned['admin_username']="<a href=\"member.php?u=$banned[adminid]\" rel=\"nofollow\">" . $banned['adminname'] . "</a>";
$banned['username']= "<a href=\"member.php?u=$banned[userid]\" rel=\"nofollow\">" . $banned['username'] . "</a>";
$banned['bandate'] = vbdate($vbulletin->options['dateformat'], $banned['bandate']);
if($banned['liftdate']) //check if there is a date
{
$banned['liftdate'] = vbdate($vbulletin->options['dateformat'], $banned['liftdate']);
}
else
{
$banned['liftdate'] = $vbphrase['never'];
$permanent++;
}
if($i==1)
{
$newest = $banned['username'];
$banned_stats['newest_bandate'] = $banned['bandate'];
$banned_stats['newest_username'] = $banned['username'];
}
if(($i>($page-1)*$perpage) AND ($i<=$page*$perpage))
{
eval('$banbits .= "' . fetch_template('banbit') . '";');
}
$i++;
if($frequencies["$banned[admin_username]"])
{
$frequencies["$banned[admin_username]"]++;
}
else
{
$frequencies["$banned[admin_username]"] = 1;
}
}
//page navigation
$pagenav = construct_page_nav($page, $perpage, $i, "banlist.php?","");
//Statistics
$banned_stats['total'] = $i;
$banned_stats['permanent'] = $permanent;
$banned_stats['temporary'] = $banned_stats['total'] - $permanent;
arsort($frequencies);
$max = each($frequencies);
$banned_stats['maxadmin'] = $max[0];
$banned_stats['maxadmin_users']= $max[1];
//End Statistics
}
else //=there are no banned users.
{
$banned_stats['total'] = $banned_stats['permanent'] = $banned_stats['temporary'] = $banned_stats['maxadminid'] = $banned_stats['maxadmin_users'] = 0;
$banned_stats['newest_bandate'] = construct_phrase($vbphrase['never']);
$banned_stats['newest_username'] = $banned_stats['maxadmin'] = 'None'; //the only thing apart from the copyright that is not a phrase. Sorry I'm too tired right now and it's only used if there are no banned users.
}
$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
//actual main output template
eval('print_output("' . fetch_template('BANNED') . '");');
?>
Спасибо за потраченное на меня время ; )