Вход Регистрация
Файл: CMS/core/modules/users_files.inc.php
Строк: 188
<?php

if (!defined('CMS')) { die('Access Denied!'); }

$data = array();
$data = $db->selectRow("SELECT * FROM ?_users WHERE LOWER(`users_login`) = ? LIMIT 1;", cms_tolower($uz));

if (empty(
$data) || !is_array($data)) {

    
$inSes->addMessage('Ошибка! Пользователь с данным логином не найден!');
    
redirect($config['site_url']);
}

if (
$data['users_ban'] == 1) {

    
$inSes->addMessage('Ошибка! Пользователь заблокирован!');
    
redirect($config['site_url']);
}

if (
$config['allow_regkeys'] > 0 && $data['users_confirmreg'] > 0) {

    
$inSes->addMessage('Ошибка! Пользователя не существует!');
    
redirect($config['site_url']);
}

$error = '';
$select_files = false;

# Функция вывода обраных ссылок
function show_back_link($arr = '', $user = '', $del = ' -&gt; ') {

    global 
$db;

    
$rows = $db->select("SELECT `cats_id`, `cats_name`, `cats_parent` FROM ?_downs_category
                         WHERE `cats_user` = ? 
                         ORDER BY `cats_order` ASC;"
, $user);

    
$cats_names = array();

    if (!empty(
$rows) && count($rows) > 0) {

        foreach(
$rows as $row) {
            
$cats_names[$row['cats_id']] = $row['cats_name'];
        }
    }

    
$exp = explode(',', $arr);
    
$exp  = array_unique($exp);
    
$show  = array();

    if (!empty(
$exp) && count($exp) > 0) {

        foreach(
$exp as $key => $val) {

            if (!empty(
$cats_names[$val])) {

                
$show[] = '<a href="' . gen_uri('files', $val, RND) . '">' .$cats_names[$val] . '</a>';
            }
        }
    }

    return 
icon('return.png') . implode($del, $show);
}

# Функция проверки пароля
function show_auth_form($idk = '', $pass = '') {

    if (!empty(
$_POST['pass']) && $_POST['pass'] == $pass) {

        
$_SESSION[SP]['hidden'][$idk] = md5($pass);

    }
    else if (empty(
$_SESSION[SP]['hidden'][$idk]) || md5($pass) <> $_SESSION[SP]['hidden'][$idk]) {


        
$form = new cmsForm();
        
$form->addCode(blink('Внимание!') . ' Доступ только по паролю<br />');
        
$form->addText('Ваш пароль:','pass');
        echo 
$form->Submit('Ок');
        
show_footer();
        exit();
    }
}

# Функция проверки возраста 18+
function show_xxx_form($back_id = '') {

    global 
$id, $config;

    if (empty(
$_SESSION['xxx']) || !isset($_SESSION['xxx'])) {

        if (!empty(
$_POST['xxx_code']) && $_POST['xxx_code'] == $_SESSION['captcha_key']) {

            
$_SESSION['xxx'] = $_POST['xxx_code'];
        }
        else {

            
$config['load_warning'] = str_replace('{SITE_NAME}', $config['site_name'], $config['load_warning']);
            
$form = new cmsForm();
            
$form->addCaptcha($config['load_warning'],'xxx_code');
            echo 
$form->Submit('согласен');
            echo 
'<div class="b">';
            echo 
icon('return.png') . ' <a href="' . gen_uri('files', $back_id, RND) . '">Назад</a><br />';
            echo 
'</div>';
            
show_footer();
            die;
        }
    }
}

# Функция кэширования уменьшенных изображений
function resize_screen($dir, $name, $size = '', $alt = '') {

    global 
$config;

    
$name = str_replace(' ', '%20', $name);

    if ( @
file_exists( ROOTPATH . DS . $dir . $name ) ) {

        
$sign    = !empty($alt) ? $alt : $name;
        
$prename = 'small_';
        
$imgsize = @getimagesize( ROOTPATH . DS . $dir . $name );

        if (
$imgsize[0] <= $size && $imgsize[1] <= $size) {

            return 
'<img src="' . $config['site_url'] . DS . $dir . $name . '" alt="' . $sign . '" />';
        }

        if (!
file_exists(ROOTPATH . DS . $dir . $prename) || filesize(ROOTPATH . DS . $dir . $prename) < 18) {

            include_once( 
ENGINE . '/classes/upload.class.php' );

            
$handle = new upload(ROOTPATH . DS . $dir . $name);

            if (
$handle -> uploaded) {
                
$handle -> file_name_body_pre     = $prename;
                
$handle -> image_resize           = true;
                
$handle -> image_ratio            = true;
                
$handle -> image_ratio_no_zoom_in = true;
                
$handle -> image_y                = $size;
                
$handle -> image_x                = $size;
                
$handle -> file_overwrite = true;
                
$handle -> process(ROOTPATH . DS . $dir);
            }
        }

        return 
'<img src="' . $config['site_url'] . DS . $dir . $prename . $name . '" alt="' . $sign . '" />';
    }

    
$param = ($size < 100) ? ' height="' . $size . '" width="' . $size . '"' : '';
    return 
'<img src="' . $config['site_url'] . '/images/no_photos_small.png" alt=""' . $param . ' />';
}

# Функция удаление картинки с проверкой
function unlink_screen($dir, $image = '') {

    if (!empty(
$image)) {

        
clearstatcache();

        
$small = 'small_' . $image;

        if ( @
file_exists( $dir . $image ) ) {

            
unlink( $dir . $image );
        }

        if ( @
file_exists( $dir . $small ) ) {

            
unlink( $dir . $small );
        }
    }
}

# Функция пересчета файлов у юзера
function rest_files($login = '') {

    global 
$db;

    
$db->query("UPDATE ?_downs_category SET `cats_count` = (SELECT COUNT(*) FROM ?_downs 
                WHERE ?_downs_category.`cats_id` = ?_downs.`downs_user_cat` AND ?_downs_category.`cats_user` = ?);"
, $login);

    
$rows = $db->select("SELECT * FROM ?_downs_category WHERE `cats_user` = ? AND `cats_count` > '0'", $login);
    
$arrs = array();
    foreach(
$rows as $row) {

        if (!empty(
$row['cats_parent_all'])) {

            
$exp = explode(',', $row['cats_parent_all']);

            if (!empty(
$exp)) {

                for(
$i = 0; $i < count($exp); $i++) {

                    if (empty(
$exp[$i])) continue;

                    
$key = !empty($exp[$i]) ? num($exp[$i]) : 0;

                    @
$arrs[$key] += !empty($row['cats_count']) ? num($row['cats_count']) : 0;
                }
            }
        }
    }

    if (!empty(
$arrs)) {

         foreach(
$arrs as $key => $count) {

             
$db->query("UPDATE ?_downs_category SET `cats_count` = ? WHERE `cats_id` = ?", $count, $key);
         }
    }
}


# Действия пользователя
if ($is_logged) {

    if (
$data['users_login'] == $log) {

        if (!empty(
$_REQUEST['act']) && $_REQUEST['act'] == 'mm') {

            if (!empty(
$_REQUEST['move'])) {

                
$_SESSION[SP][$log]['move'] = intar($_REQUEST['move']);
            }
            else 
$select_files = true;
        }

        if (!empty(
$_REQUEST['act']) && $_REQUEST['act'] == 'cancel') {

            unset(
$_SESSION[SP][$log]['move']);
        }

        if (!empty(
$_REQUEST['act']) && $_REQUEST['act'] == 'selmove') {

            if (!empty(
$_SESSION[SP][$log]['move'])) {

                if (!
is_array($_SESSION[SP][$log]['move'])) {

                    
$move_id = num($_SESSION[SP][$log]['move']);

                    if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

                        
$row = array();
                        
$row = $db->selectRow("SELECT ?_downs.*, ?_downs_category.*
                                               FROM ?_downs LEFT JOIN ?_downs_category 
                                               ON ?_downs.`downs_user_cat` = ?_downs_category.`cats_id` 
                                               WHERE `downs_user` = ? AND `downs_id` = ? LIMIT 1;"
, $log, $move_id);

                        if (!empty(
$row)) {

                            
$dirs = $db->selectRow("SELECT * FROM ?_downs_category WHERE `cats_user` = ? AND `cats_id` = ? LIMIT 1;", $log, $id);

                            if (!empty(
$dirs)) {

                                
$db->query("UPDATE ?_downs SET `downs_user_cat` = ? WHERE `downs_user` = ? AND `downs_id` = ?", $id, $log, $move_id);

                                
rest_files($log);

                                unset(
$_SESSION[SP][$log]['move']);

                                
$inSes->addMessage('Файл успешно перемещен!', 'ok');

                                
gen_red('files', $id, RND);
                            }
                            else 
$error = 'Ошибка! Папка для перемещения не найдена!';
                        }
                        else 
$error = 'Ошибка! Запрашиваемый файл не найден!';
                    }
                    else 
$error = 'Ошибка! Неверный идентификатор сессии, повторите действие!';

                }
                else { 
// ARRAY

                    
$count = count($_SESSION[SP][$log]['move']);

                    
$arrmove = implode(',',$_SESSION[SP][$log]['move']);

                    if (!empty(
$_GET['rnd']) && $_GET['rnd'] == $_SESSION['token']) {

                        
$row = array();
                        
$row = $db->selectRow("SELECT ?_downs.*, ?_downs_category.*
                                               FROM ?_downs LEFT JOIN ?_downs_category 
                                               ON ?_downs.`downs_user_cat` = ?_downs_category.`cats_id` 
                                               WHERE `downs_user` = ? AND `downs_id` IN(" 
. $arrmove . ") LIMIT 1;", $log);
                        if (!empty(
$row)) {

                            
$dirs = $db->selectRow("SELECT * FROM ?_downs_category WHERE `cats_user` = ? AND `cats_id` = ? LIMIT 1;", $log, $id);

                            if (!empty(
$dirs)) {

                                
$db->query("UPDATE ?_downs SET `downs_user_cat` = ? 
                                            WHERE `downs_user` = ? AND `downs_id` IN(" 
. $arrmove . ");", $id, $log);

                                
rest_files($log);

                                unset(
$_SESSION[SP][$log]['move']);

                                
$inSes->addMessage('Файлы успешно перемещены!', 'ok');

                                
gen_red('files', $id, RND);
                            }
                            else 
$error = 'Ошибка! Папка для перемещения не найдена!';
                        }
                        else 
$error = 'Ошибка! Запрашиваемые файлы не найдены!';
                    }
                    else 
$error = 'Ошибка! Неверный идентификатор сессии, повторите действие!';
                }
            }
            else 
$error = 'Ошибка! Вы не выбрали файл или файлы!';

            if (!empty(
$error)) {

                unset(
$_SESSION[SP][$log]['move']);
                
$inSes->addMessage($error);
            }
        }
    }
}

?>
Онлайн: 2
Реклама