Bravo List

Bravo List (http://www.bvlist.com/index.php)
-   Project U-232 (http://www.bvlist.com/forumdisplay.php?f=80)
-   -   Project U-232 (http://www.bvlist.com/showthread.php?t=6342)

System 10th September 2011 18:12

Quote:

Originally Posted by Developer (Post 29945)
what a mess how do you think this will work you fraggle
:muscle:

PHP Code:

<?php
/**
 *   https://09source.kicks-ass.net:8443/svn/installer09/
 *   Licence Info: GPL
 *   Copyright (C) 2010 Installer09 v.2
 *   A bittorrent tracker source based on TBDev.net/tbsource/bytemonsoon.
 *   Project Leaders: Mindless,putyn,kidvision.
 **/
error_reporting(E_ALL); //== turn off = 0 when live
define('PUBLIC_ACCESS'true);
define('SQL_DEBUG'1);
//==charset
$INSTALLER09['char_set']='UTF-8';//also to be used site wide in meta tags
if (ini_get('default_charset') != $INSTALLER09['char_set']){
ini_set('default_charset',$INSTALLER09['char_set']);
}
/* Compare php version for date/time stuff etc! */
if (version_compare(PHP_VERSION"5.1.0RC1"">="))
date_default_timezone_set('Europe/London');
define('TIME_NOW'time());
$INSTALLER09['time_adjust'] =  0;
$INSTALLER09['time_offset'] = '0'
$INSTALLER09['time_use_relative'] = 1;
$INSTALLER09['time_use_relative_format'] = '{--}, h:i A';
$INSTALLER09['time_joined'] = 'j-F y';
$INSTALLER09['time_short'] = 'jS F Y - h:i A';
$INSTALLER09['time_long'] = 'M j Y, h:i A';
$INSTALLER09['time_tiny'] = '';
$INSTALLER09['time_date'] = '';
//== DB setup
$INSTALLER09['mysql_host'] = 'localhost';
$INSTALLER09['mysql_user'] = 'System';
$INSTALLER09['mysql_pass'] = '123456';
$INSTALLER09['mysql_db']   = 'bazadedate';
//== Cookie setup
$INSTALLER09['cookie_prefix']  = ''// This allows you to have multiple trackers, eg for demos, testing etc.
$INSTALLER09['cookie_path']    = '';   // ATTENTION: You should never need this unless the above applies eg: /tbdev
$INSTALLER09['cookie_domain']  = ''// set to eg: .somedomain.com or is subdomain set to: .sub.somedomain.com
$INSTALLER09['domain'] = '';
$INSTALLER09['site_online'] = 1;
$INSTALLER09['tracker_post_key'] = 'lsdflksfda4545frwe35@kk';
$INSTALLER09['max_torrent_size'] = 3*1024*1024;
$INSTALLER09['announce_interval'] = 60 30;
$INSTALLER09['signup_timeout'] = 86400 3;
$INSTALLER09['autoclean_interval'] = 900;
$INSTALLER09['autoslowclean_interval'] = 28800;
$INSTALLER09['autoslowclean_interval2'] = 57600;
$INSTALLER09['lotteryclean_interval'] = 259200;
$INSTALLER09['autobackup_interval'] = 86400;
$INSTALLER09['optimizedb_interval'] = 172800;
$INSTALLER09['docleanup'] = 1;
$INSTALLER09['doslowcleanup'] = 1;
$INSTALLER09['doslowleanup2'] = 1;
$INSTALLER09['lotterycleanup'] = 0;
$INSTALLER09['optimizedb'] = 1;
$INSTALLER09['dobackup'] = 1;
$INSTALLER09['minvotes'] = 1;
$INSTALLER09['max_dead_torrent_time'] = 3600;
$INSTALLER09['language'] = 'en';
$INSTALLER09['user_ratios'] = 1;
$INSTALLER09['bot_id'] = 2;
$INSTALLER09['forums_online'] = 1;
$INSTALLER09['autoshout_on'] = 1;
$INSTALLER09['seedbonus_on'] = 1;
$INSTALLER09['maxsublength'] = 100;
$INSTALLER09['votesrequired'] = 15;
//== Memcache expires
$INSTALLER09['expires']['latestuser'] = 0// 0 = infinite  
$INSTALLER09['expires']['MyPeers_'] = 120// 60 = 60 seconds 
$INSTALLER09['expires']['unread'] = 86400// 86400 = 1 day 
$INSTALLER09['expires']['alerts'] = 0;  // 0 = infinite
$INSTALLER09['expires']['user_cache'] = 900;  // 900 = 15 min
$INSTALLER09['expires']['forum_posts'] = 0;  // 900 = 15 min
$INSTALLER09['expires']['torrent_comments'] = 900;  // 900 = 15 min
$INSTALLER09['expires']['latestposts'] = 0;  // 900 = 15 min
$INSTALLER09['expires']['top5_torrents'] = 0// 0 = infinite
$INSTALLER09['expires']['last5_torrents'] = 0// 0 = infinite 
$INSTALLER09['expires']['iphistory'] = 900;  // 900 = 15 min
$INSTALLER09['expires']['newpoll'] = 0;  // 900 = 15 min
$INSTALLER09['expires']['curuser'] = 900;  // 900 = 15 min
$INSTALLER09['expires']['genrelist'] = 30*86400// 30x86400 = 30 days
$INSTALLER09['expires']['poll_data'] = 0// 300 = 5 min
$INSTALLER09['expires']['torrent_data'] = 900// 900 = 15 min
$INSTALLER09['expires']['user_flag'] = 86400*28// 900 = 15 min
$INSTALLER09['expires']['shit_list'] = 900// 900 = 15 min
$INSTALLER09['expires']['port_data'] = 900// 900 = 15 min
$INSTALLER09['expires']['user_peers'] = 900// 900 = 15 min
$INSTALLER09['expires']['user_friends'] = 900// 900 = 15 min
$INSTALLER09['expires']['user_hash'] = 900// 900 = 15 min
$INSTALLER09['expires']['user_blocks'] = 900// 900 = 15 min
$INSTALLER09['expires']['hnr_data'] = 300// 900 = 15 min
$INSTALLER09['expires']['snatch_data'] = 300// 900 = 15 min
$INSTALLER09['expires']['user_snatches_data'] = 300// 900 = 15 min
$INSTALLER09['expires']['staff_snatches_data'] = 300// 900 = 15 min
$INSTALLER09['expires']['user_snatches_complete'] = 300// 900 = 15 min
$INSTALLER09['expires']['completed_torrents'] = 300// 300 = 5 min
$INSTALLER09['expires']['activeusers'] = 60// 60 = 1 minutes
$INSTALLER09['expires']['last24'] = 3600// 3600 = 1 hours
$INSTALLER09['expires']['activeircusers'] = 300// 900 = 15 min
$INSTALLER09['expires']['birthdayusers'] = 43200//== 43200 = 12 hours
$INSTALLER09['expires']['news_users'] = 3600// 3600 = 1 hours
$INSTALLER09['expires']['user_invitees'] = 900// 900 = 15 min
$INSTALLER09['expires']['ip_data'] = 900// 900 = 15 min
$INSTALLER09['expires']['latesttorrents'] = 0;  // 0 = infinite
$INSTALLER09['expires']['invited_by'] = 900// 900 = 15 min
$INSTALLER09['expires']['user_torrents'] = 900// 900 = 15 min
$INSTALLER09['expires']['user_seedleech'] = 900// 900 = 15 min
$INSTALLER09['expires']['radio'] = 0// 0 = infinite 
$INSTALLER09['expires']['total_funds'] = 0// 0 = infinite
$INSTALLER09['expires']['latest_news'] = 0// 0 = infinite
$INSTALLER09['expires']['site_stats'] = 300// 300 = 5 min
$INSTALLER09['expires']['share_ratio'] = 900// 900 = 15 min
$INSTALLER09['expires']['checked_by'] = 0// 0 = infinite 
$INSTALLER09['expires']['latest_news_tpl'] = 0// 0 = infinite
$INSTALLER09['expires']['latesttorrents_tpl'] = 0;  // 0 = infinite
$INSTALLER09['expires']['latestposts_tpl'] = 0;  // 0 = infinite
//== Latest posts limit
$INSTALLER09['latest_posts_limit'] = 5//query limit for latest forum posts on index
//latest torrents limit
$INSTALLER09['latest_torrents_limit'] = 5;
/** Settings **/
$INSTALLER09['reports']      = 1;// 1/0 on/off
$INSTALLER09['karma']        = 1;// 1/0 on/off
$INSTALLER09['textbbcode']   = 1;// 1/0 on/off
//== Max users on site
$INSTALLER09['maxusers'] = 5000// LoL Who we kiddin' here?
$INSTALLER09['invites'] = 3500// LoL Who we kiddin' here?
$INSTALLER09['openreg'] = true//==true=open, false = closed
$INSTALLER09['openreg_invites'] = true//==true=open, false = closed
$INSTALLER09['failedlogins'] = 5// Maximum failed logins before ip ban
$INSTALLER09['flood_time'] = 900//comment/forum/pm flood limit
$INSTALLER09['readpost_expiry'] = 14*86400// 14 days
$INSTALLER09['language'] = 'en';
/** define dirs **/
define('INCL_DIR'dirname(__FILE__).DIRECTORY_SEPARATOR);
define('ROOT_DIR'realpath(INCL_DIR.'..'.DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR);
define('ADMIN_DIR'ROOT_DIR.'admin'.DIRECTORY_SEPARATOR);
define('FORUM_DIR'ROOT_DIR.'forums'.DIRECTORY_SEPARATOR);
define('CACHE_DIR'ROOT_DIR.'cache'.DIRECTORY_SEPARATOR);
define('MODS_DIR'ROOT_DIR.'mods'.DIRECTORY_SEPARATOR);
define('LANG_DIR'ROOT_DIR.'lang'.DIRECTORY_SEPARATOR.$INSTALLER09['language'].DIRECTORY_SEPARATOR);  
define('TEMPLATE_DIR'ROOT_DIR.'templates'.DIRECTORY_SEPARATOR);
define('BLOCK_DIR'ROOT_DIR.'blocks'.DIRECTORY_SEPARATOR);
define('IMDB_DIR'ROOT_DIR.'imdb'.DIRECTORY_SEPARATOR);
define('CLASS_DIR'INCL_DIR.'class'.DIRECTORY_SEPARATOR);
define('FLOGIN_DIR'ROOT_DIR.'fancy_login'.DIRECTORY_SEPARATOR);
$INSTALLER09['cache'] = ROOT_DIR.'cache';
$INSTALLER09['backup_dir'] = INCL_DIR.'backup';
$INSTALLER09['dictbreaker'] = ROOT_DIR.'dictbreaker';
$INSTALLER09['torrent_dir'] = ROOT_DIR.'torrents'# must be writable for httpd user   
$INSTALLER09['bucket_dir'] = ROOT_DIR .'bitbucket'# must be writable for httpd user 
$INSTALLER09['flood_file'] = INCL_DIR.'settings'.DIRECTORY_SEPARATOR.'limitfile.txt';
$INSTALLER09['nameblacklist'] = ROOT_DIR.'cache'.DIRECTORY_SEPARATOR.'nameblacklist.txt';
# the first one will be displayed on the pages
$INSTALLER09['announce_urls'] = array();
$INSTALLER09['announce_urls'][] = 'http://localhost/announce.php';
$INSTALLER09['announce_urls'][] = 'http://localhost/announce.php_https';
if (
$_SERVER["HTTP_HOST"] == "")
$_SERVER["HTTP_HOST"] = $_SERVER["SERVER_NAME"];
$INSTALLER09['baseurl'] = 'http'.(isset($_SERVER['HTTPS']) && (bool)$_SERVER['HTTPS'] == true 's':'').'://'$_SERVER['HTTP_HOST'];
//==Auto confirm no email
//== 0 and false = email off
define ('EMAIL_CONFIRM',1);
$INSTALLER09['send_email'] = true;
//== Email for sender/return path.
$INSTALLER09['site_email'] = 'Admin@yahoo.com';
$INSTALLER09['site_name'] = 'Ufo-22';
$INSTALLER09['xhtml_strict'] = 0;          // enable for all users
$INSTALLER09['xhtml_strict'] = 'Username'// enable for one user
$INSTALLER09['msg_alert'] = 1// saves a query when off
$INSTALLER09['report_alert'] = 1// saves a query when off
$INSTALLER09['staffmsg_alert'] = 1// saves a query when off
$INSTALLER09['uploadapp_alert'] = 1// saves a query when off
$INSTALLER09['sql_error_log'] = ROOT_DIR.'logs'.DIRECTORY_SEPARATOR.'sql_err_'.date('M_D_Y').'.log';
$INSTALLER09['pic_base_url'] = "./pic/";
$INSTALLER09['stylesheet'] = "1";
//== set this to size of user avatars
$INSTALLER09['av_img_height'] = 100;
$INSTALLER09['av_img_width'] = 100;
//== set this to size of user signatures
$INSTALLER09['sig_img_height'] = 100;
$INSTALLER09['sig_img_width'] = 500;
$INSTALLER09['bucket_dir'] = ROOT_DIR '/bitbucket'# must be writable for httpd user  
$INSTALLER09['allowed_ext'] = array('image/gif''image/png''image/jpeg');
$INSTALLER09['bucket_maxsize'] = 2048*2048#max size set to 500kb
$INSTALLER09['happyhour'] = CACHE_DIR.'happyhour'.DIRECTORY_SEPARATOR.'happyhour.txt';
$INSTALLER09['crazy_title'] ="w00t It's Crazyhour!";
$INSTALLER09['crazy_message'] ="All torrents are FREE and upload stats are TRIPLED!";
//==User class defines
define ('UC_USER'0);
define ('UC_POWER_USER'1);
define ('UC_VIP'2);
define ('UC_UPLOADER'3);
define ('UC_MODERATOR'4);
define ('UC_ADMINISTRATOR'5);
define ('UC_SYSOP'6);
define ('UC_SL'7);
define ('UC_TECH'8);
define ('UC_CODER'9);
define ('UC_MIN'0);   // minimum class
define ('UC_MAX'9);   // maximum class
define ('UC_STAFF'4); // start of staff classes
//==View source code
$INSTALLER09['staff_viewcode_on'] = false;
//==Class check by pdq
$INSTALLER09['site']['owner'] = 1;
//== Salt - change this
$INSTALLER09['site']['salt2'] = 'jgutyshjsajk';
//= Change staff pin daily or weekly
$INSTALLER09['staff']['staff_pin'] = 'uFg40y3Iufqo99'// should be mix of u/l case and min 12 chars length
//== Staff forum ID for autopost
$INSTALLER09['staff']['forumid'] = 2// this forum ID should exist and be a staff forum
//==Important security settings below
//==Add all your Staff ids
$INSTALLER09['allowed_staff']['id'] = array(1,2);
//== Add ALL staff names before you promote them
$INSTALLER09['staff']['allowed'] = array( 'System'    => 1,
                                           
'Admin'     => 2);
                                    
define ('TBVERSION','U-232_V2');
?>


Bigjoos 10th September 2011 18:27

Edit staffpanel.php and add the new class to the allowed classes array.

I advise you to keep your big mouth shut Developer...

System 10th September 2011 18:54

Quote:

Originally Posted by Bigjoos (Post 29948)
Edit staffpanel.php and add the new class to the allowed classes array.

I advise you to keep your big mouth shut Developer...

PHP Code:

<?php
/**
 *   https://09source.kicks-ass.net:8443/svn/installer09/
 *   Licence Info: GPL
 *   Copyright (C) 2010 Installer09 v.2
 *   A bittorrent tracker source based on TBDev.net/tbsource/bytemonsoon.
 *   Project Leaders: Mindless,putyn,kidvision.
 **/
/****************************************************************\
* Staff panel for the TBDEV source code                          *
* -------------------------------------------------------------- *
* An easy to config staff panel for different staff classes,     *
* with different options for each class, like add, edit, delete  *
* the pages and to log the actions.                              *
* -------------------------------------------------------------- *
*                                 *
* @Conversion: Bigjoos for TBDEV.NET 09                          *
* @copyright: Alex2005                                           *
* @package: Staff Panel                                          *
* @category: Staff Tools                                         *
* @version: v2 30/06/2010                                     *
* @license: GNU General Public License                           *
\****************************************************************/
require_once(dirname(__FILE__).DIRECTORY_SEPARATOR.'include'.DIRECTORY_SEPARATOR.'bittorrent.php');
require_once(
INCL_DIR.'user_functions.php');
require_once(
INCL_DIR.'html_functions.php');
dbconn(false);
loggedinorreturn();
//==Class checker by pdq
require_once(CLASS_DIR.'class_check.php');
class_check(UC_STAFF);  
    
$lang array_mergeload_language('global') );

$HTMLOUT ='';
 
    
$staff_classes = array(
                        
UC_MODERATOR         => array('add' => false,     'edit' => false,     'delete' => false,       'log' => true),
                        
UC_ADMINISTRATOR     => array('add' => false,     'edit' => false,     'delete' => false,       'log' => true),
                        
UC_SYSOP             => array('add' => true,     'edit' => true,     'delete' => true,        'log' => false)
                        
UC_SL                  => array('add' => true,     'edit' => true,     'delete' => true,
                        
UC_TECH              => array('add' => true,     'edit' => true,     'delete' => true,
                        
UC_CODER             => array('add' => true,     'edit' => true,     'delete' => true,        'log' => false)
                      );

    if (!isset(
$staff_classes[$CURUSER['class']]) || !$CURUSER)
    
stderr('Error''Access Denied!');
/**
* Staff classes config
*
* UC_XYZ  : integer -> the name of the defined class
*
* Options for a selected class
** add    : boolean -> enable/disable page adding
** edit   : boolean -> enable/disable page editing
** delete : boolean -> enable/disable page deletion
** log    : boolean -> enable/disable the loging of the actions
*
* @ result $staff_classes array();
* @ new $staff_tools array add in following format : 'delacct'         => 'delacct',
*
*/
define('IN_INSTALLER09_ADMIN'true);

$action = (isset($_GET['action']) ? $_GET['action'] : (isset($_POST['action']) ? $_POST['action'] : NULL));
$id = (isset($_GET['id']) ? (int)$_GET['id'] : (isset($_POST['id']) ? (int)$_POST['id'] : NULL));
$class_color = (function_exists('get_user_class_color') ? true false);

         
$tool = (isset($_GET['tool']) ? $_GET['tool'] : (isset($_POST['tool']) ? $_POST['tool'] : NULL));
         
$tool = isset($_GET['tool']) ? $_GET['tool'] : '';
         
$staff_tools = array('bans'            => 'bans'
                        
'adduser'         => 'adduser'
                        
'stats'           => 'stats'
                        
'delacct'         => 'delacct'
                        
'testip'          => 'testip'
                        
'usersearch'      => 'usersearch'
                        
'mysql_overview'  => 'mysql_overview'
                        
'mysql_stats'     => 'mysql_stats',
                        
'shistory'     => 'shistory'
                        
'categories'      => 'categories'
                        
'docleanup'       => 'docleanup',
                        
'log'             => 'log',
                        
'news'            => 'news',
                        
'freeleech'       => 'freeleech',
                        
'freeusers'       => 'freeusers',
                        
'donations'     => 'donations',
                        
'slotmanage'     => 'slotmanage',
                        
'failedlogins'     => 'failedlogins',
                        
'cheaters'     => 'cheaters',
                        
'inviteadd'     => 'inviteadd',
                        
'flush'     => 'flush',
                        
'themes'          => 'themes',
                        
'editlog'          => 'editlog',
                        
'reset'          => 'reset',
                        
'iphistory'          => 'iphistory',
                        
'ipsearch'          => 'ipsearch',
                        
'ipcheck'          => 'ipcheck',
                        
'inactive'          => 'inactive',
                        
'snatched_torrents'    => 'snatched_torrents',
                        
'events'          => 'events',
                        
'bonusmanage'          => 'bonusmanage',
                        
'floodlimit'          => 'floodlimit',
                        
'stats_extra'     => 'stats_extra',
                        
'polls_manager' => 'polls_manager',
                        
'findnotconnectable'     => 'findnotconnectable',
                        
'namechanger'     => 'namechanger',
                        
'backup'     => 'backup',
                        
'pmview' => 'pmview',
                        
'reports' => 'reports',
                        
'nameblacklist'   => 'nameblacklist',
                        
'system_view'   => 'system_view',
                        
'datareset'   => 'datareset',
                        
'grouppm'   => 'grouppm',
                        
'load'   => 'load',
                        
'allagents'   => 'allagents',
                        
'massbonus'   => 'massbonus',
                        
'sysoplog'   => 'sysoplog',
                        
'query_editor'   => 'query_editor',
                        
'forum_manage'   => 'forum_manage',  
                              
'forum_config'   => 'forum_config',  
                        
'over_forums'   => 'over_forums',  
                        
'member_post_history'   => 'member_post_history'
                        
'groupmessage'   => 'groupmessage',
                        
'comment_overview'   => 'comment_overview',
                        
'mega_search'   => 'mega_search',
                        
'shit_list'   => 'shit_list',
                        
'acpmanage'   => 'acpmanage',
                        
'rules'   => 'rules',
                        
'cheat'   => 'cheat',
                        
'warn'   => 'warn',
                        
'leechwarn'   => 'leechwarn',
                        
'hnrwarn'   => 'hnrwarn',
                        
'bookings'   => 'bookings',
                        
'cleanup_manager'   => 'cleanup_manager',
                        
'view_peers'   => 'view_peers',
                        
'uploader_info'   => 'uploader_info',                    
                        
'block.settings'   => 'block.settings'
                        
);
    
    if (
in_array($tool$staff_tools) and file_exists(ADMIN_DIR.$staff_tools[$tool].'.php')) {
    require_once 
ADMIN_DIR.$staff_tools[$tool].'.php';
    }
    else
    {
    if (
$action == 'delete' && is_valid_id($id) && $staff_classes[$CURUSER['class']]['delete'])
    {
      
$sure = ((isset($_GET['sure']) ? $_GET['sure'] : '') == 'yes');

      
$res sql_query('SELECT av_class'.(!$sure || $staff_classes[$CURUSER['class']]['log'] ? ', page_name' '').' FROM staffpanel WHERE id = '.sqlesc($id)) or sqlerr(__FILE____LINE__);
      
$arr mysql_fetch_assoc($res);
    
      if (
$CURUSER['class'] < $arr['av_class'])
        
stderr('Error''You are not allowed to delete this page.');
    
      if (!
$sure)
        
stderr('Sanity check''Are you sure you want to delete this page: "'.htmlspecialchars($arr['page_name']).'"? Click <a href="'.$_SERVER['PHP_SELF'].'?action='.$action.'&id='.$id.'&sure=yes">here</a> to delete it or <a href="'.$_SERVER['PHP_SELF'].'">here</a> to go back.');

      
sql_query('DELETE FROM staffpanel WHERE id = '.sqlesc($id)) or sqlerr(__FILE____LINE__);
    
      if (
mysql_affected_rows())
      {
        if (
$staff_classes[$CURUSER['class']]['log'])
            
write_log('Page "'.$arr['page_name'].'"('.($class_color '<font color="#'.get_user_class_color($arr['av_class']).'">' '').get_user_class_name($arr['av_class']).($class_color '</font>' '').') was deleted from the staff panel by <a href="/userdetails.php?id='.$CURUSER['id'].'">'.$CURUSER['username'].'</a>('.($class_color '<font color="#'.get_user_class_color($CURUSER['class']).'">' '').get_user_class_name($CURUSER['class']).($class_color '</font>' '').')');
        
        
header('Location: '.$_SERVER['PHP_SELF']);
        exit();
      }
      else
        
stderr('Error''There was a database error, please retry.');
    }
    else if ((
$action == 'add' && $staff_classes[$CURUSER['class']]['add']) || ($action == 'edit' && is_valid_id($id) && $staff_classes[$CURUSER['class']]['edit']))
    {
     
$names = array('page_name''file_name''description''av_class');

     if (
$action == 'edit')
     {
     
$res sql_query('SELECT '.implode(', '$names).' FROM staffpanel WHERE id = '.sqlesc($id)) or sqlerr(__FILE____LINE__);
     
$arr mysql_fetch_assoc($res);
     }
    
     foreach (
$names as $name)
     $
$name htmlspecialchars((isset($_POST[$name]) ? $_POST[$name] : ($action == 'edit' $arr[$name] : '')));
    
     if (
$action == 'edit' && $CURUSER['class'] < $av_class)
        
stderr('Error''You are not allowed to edit this page.');
    
     if (
$_SERVER['REQUEST_METHOD'] == 'POST')
     {
        
$errors = array();
        
        if (empty(
$page_name))
            
$errors[] = 'The page name cannot be empty.';
        
        if (empty(
$file_name))
            
$errors[] = 'The filename cannot be empty.';
        
        if (empty(
$description))
            
$errors[] = 'The description cannot be empty.';
        
        if (!isset(
$staff_classes[$av_class]))
            
$errors[] = 'The selected class is not a valid staff class.';
        
        if (!
is_file($file_name.'.php') && !empty($file_name) && !preg_match('/.php/'$file_name))
            
$errors[] = 'Inexistent php file.';
        
        if (
strlen($page_name) < && !empty($page_name))
            
$errors[] = 'The page name is too short (min 4 chars).';
        
        if (
strlen($page_name) > 80)
            
$errors[] = 'The page name is too long (max 30 chars).';
        
        if (
strlen($file_name) > 80)
            
$errors[] = 'The filename is too long (max 30 chars).';
        
        if (
strlen($description) > 100)
            
$errors[] = 'The description is too long (max 100 chars).';
        
        if (empty(
$errors))
        {
            if (
$action == 'add')
            {
                
$res sql_query("INSERT INTO staffpanel (page_name, file_name, description, av_class, added_by, added) ".
                                   
"VALUES (".implode(", "array_map("sqlesc", array($page_name$file_name$description, (int)$av_class, (int)$CURUSER['id'], time()))).")");
                
                if (!
$res)
                {
                    if (
mysql_errno() == 1062)
                        
$errors[] = "This filename is already submited.";
                    else
                        
$errors[] = "There was a database error, please retry.";
                }
            }
            else
            {
                
$res sql_query("UPDATE staffpanel SET page_name = ".sqlesc($page_name).", file_name = ".sqlesc($file_name).", description = ".sqlesc($description).", av_class = ".sqlesc((int)$av_class)." WHERE id = ".sqlesc($id)) or sqlerr(__FILE____LINE__);
                
                if (!
$res)
                    
$errors[] = "There was a database error, please retry.";
            }
            
            if (empty(
$errors))
            {
                if (
$staff_classes[$CURUSER['class']]['log'])
                    
write_log('Page "'.$page_name.'"('.($class_color '<font color="#'.get_user_class_color($av_class).'">' '').get_user_class_name($av_class).($class_color '</font>' '').') in the staff panel was '.($action == 'add' 'added' 'edited').' by <a href="/userdetails.php?id='.$CURUSER['id'].'">'.$CURUSER['username'].'</a>('.($class_color '<font color="#'.get_user_class_color($CURUSER['class']).'">' '').get_user_class_name($CURUSER['class']).($class_color '</font>' '').')');
                
                
header('Location: '.$_SERVER['PHP_SELF']);
                exit();
            }
        }
    }
    

    
$HTMLOUT .= begin_main_frame();
    
    if (!empty(
$errors))
    {
    
$HTMLOUT .= stdmsg('There '.(count($errors)>1?'are':'is').' '.count($errors).' error'.(count($errors)>1?'s':'').' in the form.''<b>'.implode(''$errors).'</b>');
    
$HTMLOUT .="";
    }

    
  
$HTMLOUT .="<form method='post' action='{$_SERVER['PHP_SELF']}'>
    <input type='hidden' name='action' value='
{$action}' />";
    if (
$action == 'edit')
    {
  
$HTMLOUT .="<input type='hidden' name='id' value='{$id}' />";
    }
    
    
    
$HTMLOUT .="<table cellpadding='5' width='100%' align='center'>
    <tr class='colhead'>
    <td colspan='2'>
     "
.($action == 'edit' 'Edit "'.$page_name.'"' 'Add a new').' page'."</td>
    </tr>
    <tr>
    <td class='rowhead' width='1%'>Page name</td><td align='left'><input type='text' size='50' name='page_name' value='
{$page_name}' /></td>
    </tr>
    <tr>
    <td class='rowhead'>Filename</td><td align='left'><input type='text' size='50' name='file_name' value='
{$file_name}' /><b></b></td>
    </tr>
    <tr>
    <td class='rowhead'>Description</td><td align='left'><input type='text' size='50' name='description' value='
{$description}' /></td>
    </tr>
    <tr>
    <td class='rowhead'><span style='white-space: nowrap;'>Available for</span></td>
    <td align='left'>
    <select name='av_class'>"
;
  
     foreach (
$staff_classes as $class => $value)
     {
     if (
$CURUSER['class'] < $class)
     continue;
     
$HTMLOUT .= '<option'.($class_color' style="background-color:#'.get_user_class_color($class).';"' '').' value="'.$class.'"'.($class == $av_class ' selected="selected"' '').'>'.get_user_class_name($class).'</option>';
     }
     
       
$HTMLOUT .="</select>
     </td>
     </tr>
     </table>
    
     <table class='main'>
     <tr>
     <td align='center'></td>
     <td style='border:none;' align='center'><input type='submit' value='Submit' /></td>
     <td style='border:none;'>
     <form method='post' action='
{$_SERVER['PHP_SELF']}'><input type='submit' value='Cancel' /></form>
         </td>
     </tr>
     </table></form>"
;
       
      
$HTMLOUT .= end_main_frame(); 
      print 
stdhead('Staff Panel :: '.($action == 'edit' 'Edit "'.$page_name.'"' 'Add a new').' page') . $HTMLOUT stdfoot();
    }
    else
    { 
      
$HTMLOUT .= begin_main_frame();
      
$HTMLOUT .="<h1 align='center'>Welcome {$CURUSER['username']} to the Staff Panel!</h1>";

      if (
$staff_classes[$CURUSER['class']]['add'])
      {
        
$HTMLOUT .= stdmsg('Options''<a href="staffpanel.php?action=add" title="Add a new page">Add a new page</a>');
      
$HTMLOUT .="";
      }
    
      
$res sql_query('SELECT staffpanel.*, users.username '.
                       
'FROM staffpanel '.
                       
'LEFT JOIN users ON users.id = staffpanel.added_by '.
                       
'WHERE av_class <= '.sqlesc($CURUSER['class']).' '.
                       
'ORDER BY av_class DESC, page_name ASC') or sqlerr(__FILE____LINE__);
    if (
mysql_num_rows($res) > 0)
    {
    
$db_classes $unique_classes $mysql_data = array();
    while (
$arr mysql_fetch_assoc($res))
    
$mysql_data[] = $arr;
        
        foreach (
$mysql_data as $key => $value)
        
$db_classes[$value['av_class']][] = $value['av_class'];
        
        
$i=1;
        foreach (
$mysql_data as $key => $arr)
        {
      
$end_table = (count($db_classes[$arr['av_class']]) == $i true false);

            if (!
in_array($arr['av_class'], $unique_classes))
            {
            
$unique_classes[] = $arr['av_class'];

      
$HTMLOUT .="<table cellpadding='5' width='100%' align='center'". (!isset($staff_classes[$arr['av_class']]) ? 'style="background-color:#000000;"' '').">
      <tr>
      <td colspan='4' align='center'>
      <h2>"
.($class_color '<font color="#'.get_user_class_color($arr['av_class']).'">' '').get_user_class_name($arr['av_class']).' Panel'.($class_color '</font>' '')."</h2>
      </td>
      </tr>
      <tr align='center'>
      <td class='colhead' align='left' width='100%'>Page name</td>
      <td class='colhead'><span style='white-space: nowrap;'>Added by</span></td>
      <td class='colhead'><span style='white-space: nowrap;'>Date added</span></td>"
;
      
      if (
$staff_classes[$CURUSER['class']]['edit'] || $staff_classes[$CURUSER['class']]['delete'])
      {
      
$HTMLOUT .="<td class='colhead'>Links</td>";
      }
      
$HTMLOUT .="</tr>";
            }
            
            
$HTMLOUT .="<tr align='center'>
            <td align='left'>
      <a href='"
.htmlspecialchars($arr['file_name'])."' title='".htmlspecialchars($arr['page_name'])."'>
      "
.htmlspecialchars($arr['page_name'])."</a><font class='small'>".htmlspecialchars($arr['description'])."</font>
            </td>
      <td>
          <a href='userdetails.php?id="
.(int)$arr['added_by']."'>{$arr['username']}</a>
      </td>
      <td>
      <span style='white-space: nowrap;'>"
.get_date($arr['added'], 'LONG',0,1)."</span>
      </td>"
;
            if (
$staff_classes[$CURUSER['class']]['edit'] || $staff_classes[$CURUSER['class']]['delete'])
            {
            
$HTMLOUT .="<td>
      <span style='white-space: nowrap;'>"
;
            if (
$staff_classes[$CURUSER['class']]['edit'])
            {
            
$HTMLOUT .="<b>[</b><a href='staffpanel.php?action=edit&id=".(int)$arr['id']."' title='Edit'>E</a><b>]</b>";
            }
                        
          if (
$staff_classes[$CURUSER['class']]['delete'])
            {
            
$HTMLOUT .="<b>[</b><a href='staffpanel.php?action=delete&id=".(int)$arr['id']."' title='Delete'>D</a><b>]</b>";
            }
            
$HTMLOUT .="</span>
            </td>"
;
            }
            
$HTMLOUT .="</tr>";
            
            
$i++;
            if (
$end_table)
            {
          
$i=1;
            
$HTMLOUT .="</table>";
            }
          }
        }
        
        else
          
$HTMLOUT .= stdmsg('Sorry''Nothing found.');
        
$HTMLOUT .= end_main_frame(); 
print 
stdhead("Staff Panel") . $HTMLOUT stdfoot();
}
}
?>

Parse error: syntax error, unexpected T_STRING, expecting ')' in C:\xampp\htdocs\staffpanel.php on line 41

line 41 UC_SL => array('add' => true, 'edit' => true, 'delete' => true,


Bigjoos 10th September 2011 19:00

PHP Code:

$staff_classes= array(
                        
UC_MODERATOR         => array('add' => false,     'edit' => false,     'delete' => false,     'log' => true),
                        
UC_ADMINISTRATOR     => array('add' => false,     'edit' => false,     'delete' => false,     'log' => true),
                        
UC_SYSOP             => array('add' => true,     'edit' => true,     'delete' => true,        'log' => false),
                        
UC_SL                  => array('add' => true,     'edit' => true,     'delete' => true'log' => false),
UC_TECH              => array('add' => true,     'edit' => true,     'delete' => true,        'log' => false),
UC_CODER             => array('add' => true,     'edit' => true,     'delete' => true,        'log' => false)
                      ); 

Pay attention when editing stuff and replicate exactly what is there already, you had 4 odd syntax errors there

System 10th September 2011 19:07

Quote:

Originally Posted by Bigjoos (Post 29950)
PHP Code:

$staff_classes= array(
                        
UC_MODERATOR         => array('add' => false,     'edit' => false,     'delete' => false,     'log' => true),
                        
UC_ADMINISTRATOR     => array('add' => false,     'edit' => false,     'delete' => false,     'log' => true),
                        
UC_SYSOP             => array('add' => true,     'edit' => true,     'delete' => true,        'log' => false),
                        
UC_SL                  => array('add' => true,     'edit' => true,     'delete' => true'log' => false),
UC_TECH              => array('add' => true,     'edit' => true,     'delete' => true,        'log' => false),
UC_CODER             => array('add' => true,     'edit' => true,     'delete' => true,        'log' => false)
                      ); 

Pay attention when editing stuff and replicate exactly what is there already, you had 4 odd syntax errors there


a good job thanks! DHT is another thing ..... can put this source?

and if so ... tell me steps?:drink:

Bigjoos 10th September 2011 19:09

DHT no - its set up as a private tracker, DHT is not a good idea unless your a public tracker.

System 10th September 2011 19:12

Quote:

Originally Posted by Bigjoos (Post 29952)
DHT no - its set up as a private tracker, DHT is not a good idea unless your a public tracker.

Well I want to make the private but to make a separate page and for it

Beta version ...... have more themes can be taken from that and put on that?
I love this source!

Bigjoos 10th September 2011 19:32

Sign up on my forum and you get access to all modifications and themes available, link is on first post.

cooly 12th September 2011 22:37

Nice one :) another thing u could do to it to get a better template system is to add smarty template and it would be really simple since most of the code is in $HTMLOUT

for example in index.php at start...

Code:

require_once ROOT_DIR.'/smarty/smarty.class.php';
$index = new Smarty;
//$index->debugging = true; //optional
//$index->caching = true;  //optional
//$index->cache_lifetime = 120;//optional

Then at the end...

Code:

$index->assign("content",stdhead('Home') . $HTMLOUT . stdfoot($stdfoot),true);
$index->display('index.tpl');

and define your template path in the smarty class just a thought :)

Bigjoos 13th September 2011 03:59

Unique .tpl system is being built for V3, the functions use memcache, V3 uses Mysqli as well, still a long way to go but thats whats happening right now.


All times are GMT +2. The time now is 10:42.

Powered by vBulletin® Version 3.8.11 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions Inc.