Вход Регистрация
Файл: 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'] > && $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'$valRND) . '">' .$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_idRND) . '">Назад</a><br />';
            echo 
'</div>';
            
show_footer();
            die;
        }
    }
}

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

    global 
$config;

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

    if ( @
file_existsROOTPATH DS $dir $name ) ) {

        
$sign    = !empty($alt) ? $alt $name;
        
$prename 'small_';
        
$imgsize = @getimagesizeROOTPATH 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'$idRND);
                            }
                            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'$idRND);
                            }
                            else 
$error 'Ошибка! Папка для перемещения не найдена!';
                        }
                        else 
$error 'Ошибка! Запрашиваемые файлы не найдены!';
                    }
                    else 
$error 'Ошибка! Неверный идентификатор сессии, повторите действие!';
                }
            }
            else 
$error 'Ошибка! Вы не выбрали файл или файлы!';

            if (!empty(
$error)) {

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

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