Beispiel #1
0
foreach ($newfiles as $file) {
    $db->query("INSERT INTO permissions (name) VALUES('{$file}')");
}
$orphans = array_filter(array_diff($perm_files, $allfiles));
foreach ($orphans as $orphan) {
    $db->query("DELETE FROM permissions WHERE name = '{$orphan}'");
}
$group_query = implode(",", $group_queries);
$permission_table = $db->query("SELECT *,\n\t\t\t\t\t\t\t\t{$group_query}\n\t\t\t\t\t\t\t\tFROM permissions p\n\t\t\t\t\t\t\t\tORDER BY name ASC\n\t\t\t\t\t\t\t\t");
$groups = $db->query("SELECT ug.*, count(u.id) user_count FROM `user_groups` ug\nLEFT JOIN users u ON u.group_id = ug.group_id\nGROUP BY ug.group_id");
$users = $db->query("SELECT u.*, count(l.id) listings FROM users u\nLEFT JOIN listings l ON u.id = l.user_id\nGROUP BY u.id");
while ($user = $db->fetchNextObject($users)) {
    $group_users[$user->group_id][] = objectToArray($user);
}
$emailTemplates = $db->query("SELECT * FROM email_templates");
$settings = reloadSettings();
$stylesheets = array("css/validationEngine.jquery.css");
$scripts = array("js/jquery.validationEngine.js", "js/jquery.validationEngine-en.js");
$title = "Administration";
include "head.php";
?>

	<div id="content">
		<div style="overflow:visible;position:relative;width:1000px;height:120px;">
    		<span class="header-explode" style="margin-right:20px;">Administration</span>
    	</div>
    	<div class="side-nav floatleft">
			<ul class="first">
				<li><a href="#overview">Admin Overview</a></li>
			</ul>
			<ul>
require_once $sourcedir . '/Security.php';
require_once $sourcedir . '/Subs-Portal.php';
// Using an pre-PHP 5.1 version?
if (@version_compare(PHP_VERSION, '5.1') == -1) {
    require_once $sourcedir . '/Subs-Compat.php';
}
// If $maintenance is set specifically to 2, then we're upgrading or something.
if (!empty($maintenance) && $maintenance == 2) {
    db_fatal_error();
}
// Create a variable to store some SMF specific functions in.
$smcFunc = array();
// Initate the database connection and define some database functions to use.
loadDatabase();
// Load the settings from the settings table, and perform operations like optimizing.
reloadSettings();
// Clean the request variables, add slashes, etc.
cleanRequest();
$context = array();
// Seed the random generator.
if (empty($modSettings['rand_seed']) || mt_rand(1, 250) == 69) {
    smf_seed_generator();
}
// Before we get carried away, are we doing a scheduled task? If so save CPU cycles by jumping out!
if (isset($_GET['scheduled'])) {
    require_once $sourcedir . '/ScheduledTasks.php';
    AutoTask();
}
// Check if compressed output is enabled, supported, and not already being done.
if (!empty($modSettings['enableCompressedOutput']) && !headers_sent()) {
    // If zlib is being used, turn off output compression.
function udb_authenticate()
{
    global $HTTP_COOKIE_VARS, $USER_DATA, $UDB_DB_LINK_ID, $UDB_DB_NAME_PREFIX, $CONFIG;
    global $HTTP_SERVER_VARS, $HTTP_X_FORWARDED_FOR, $HTTP_PROXY_USER, $REMOTE_ADDR;
    global $password, $username, $pwseed, $settings, $ID_MEMBER, $realname, $txt, $user_info, $user_settings;
    $pwseed = SMF_PASSWD_SEED;
    session_start();
    reloadSettings();
    LoadUserSettings();
    // For error checking
    $CONFIG['TABLE_USERS'] = '**ERROR**';
    // get first 50 chars
    $HTTP_USER_AGENT = substr($HTTP_SERVER_VARS['HTTP_USER_AGENT'], 0, 50);
    $REMOTE_ADDR = substr($HTTP_SERVER_VARS['REMOTE_ADDR'], 0, 50);
    /* If the user is a guest, initialize all the critial user settings */
    if (!$ID_MEMBER) {
        $USER_DATA = cpgGetUserData(SMF_GUEST_GROUP, array(SMF_GUEST_GROUP), SMF_GUEST_GROUP);
        define('USER_ID', 0);
        define('USER_NAME', 'Anonymous');
        define('USER_GROUP_SET', '(' . SMF_GUEST_GROUP . ')');
        define('USER_IS_ADMIN', 0);
        define('USER_CAN_SEND_ECARDS', (int) $USER_DATA['can_send_ecards']);
        define('USER_CAN_RATE_PICTURES', (int) $USER_DATA['can_rate_pictures']);
        define('USER_CAN_POST_COMMENTS', (int) $USER_DATA['can_post_comments']);
        define('USER_CAN_UPLOAD_PICTURES', (int) $USER_DATA['can_upload_pictures']);
        define('USER_CAN_CREATE_ALBUMS', 0);
        define('USER_UPLOAD_FORM', (int) $USER_DATA['upload_form_config']);
        define('CUSTOMIZE_UPLOAD_FORM', (int) $USER_DATA['custom_user_upload']);
        define('NUM_FILE_BOXES', (int) $USER_DATA['num_file_upload']);
        define('NUM_URI_BOXES', (int) $USER_DATA['num_URI_upload']);
    } else {
        if ($user_settings['ID_GROUP']) {
            $cm_group_id = $user_settings['ID_GROUP'];
        } else {
            if ($user_settings['ID_POST_GROUP'] && defined('USE_POST_GROUPS')) {
                $cm_group_id = $user_settings['ID_POST_GROUP'];
            } else {
                $cm_group_id = SMF_MEMBERS_GROUP;
            }
        }
        // Retrieve group information
        $USER_DATA = cpgGetUserData($cm_group_id, $user_info['groups'], SMF_GUEST_GROUP);
        $USER_DATA['has_admin_access'] = $user_info['is_admin'];
        $USER_DATA['can_see_all_albums'] = $USER_DATA['has_admin_access'] | in_array(SMF_GMOD_GROUP, $user_info['groups']);
        define('USER_ID', $ID_MEMBER);
        define('USER_NAME', $user_info['name']);
        define('SMF_USER_NAME', $user_info['username']);
        define('USER_GROUP', $USER_DATA['group_name']);
        define('USER_GROUP_SET', '(' . implode(",", $USER_DATA['groups']) . ')');
        define('USER_IS_ADMIN', $user_info['is_admin']);
        define('USER_CAN_SEND_ECARDS', (int) $USER_DATA['can_send_ecards']);
        define('USER_CAN_RATE_PICTURES', (int) $USER_DATA['can_rate_pictures']);
        define('USER_CAN_POST_COMMENTS', (int) $USER_DATA['can_post_comments']);
        define('USER_CAN_UPLOAD_PICTURES', (int) $USER_DATA['can_upload_pictures']);
        define('USER_CAN_CREATE_ALBUMS', (int) $USER_DATA['can_create_albums']);
        define('USER_UPLOAD_FORM', (int) $USER_DATA['upload_form_config']);
        define('CUSTOMIZE_UPLOAD_FORM', (int) $USER_DATA['custom_user_upload']);
        define('NUM_FILE_BOXES', (int) $USER_DATA['num_file_upload']);
        define('NUM_URI_BOXES', (int) $USER_DATA['num_URI_upload']);
    }
}