Показать сообщение отдельно
Старый 07.10.2011, 13:33 Вверх   #9
Опытный пользователь
 
Аватар для JustStyle
JustStyle вне форума
Доп. информация
По умолчанию

Здравствуйте, у меня так пока и не получилось переписать банлист ;(

Я нашел, что вывод из таблицы выводится не через указанные пути, а по задающимся параметром: Вот фрагмент кода, которые это делает

Нажми для просмотра
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
.useridadminidbandateliftdatereason
указывает какие брать данные из каких таблиц и какой бд, и это:
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') . '");');
?>


Спасибо за потраченное на меня время ; )

Последний раз редактировалось JustStyle; 07.10.2011 в 13:52..
  Ответить с цитированием
 
Время генерации страницы 0.95840 секунды с 9 запросами