%PDF- %PDF-
Direktori : /www/varak.net/shop.varak.net/adminjanicka22/filemanager/ |
Current File : /www/varak.net/shop.varak.net/adminjanicka22/filemanager/execute.php |
<?php include('config/config.php'); if ($_SESSION['verify'] != 'RESPONSIVEfilemanager') { die('forbiden'); } include('include/utils.php'); $_POST['path_thumb'] = $thumbs_base_path.$_POST['path_thumb']; if (!isset($_POST['path_thumb']) && trim($_POST['path_thumb']) == '') { die('wrong path'); } $thumb_pos = strpos($_POST['path_thumb'], $thumbs_base_path); if ($thumb_pos === false || preg_match('/\.{1,2}[\/|\\\]/', $_POST['path_thumb']) !== 0 || preg_match('/\.{1,2}[\/|\\\]/', $_POST['path']) !== 0 ) { die('wrong path'); } $language_file = 'lang/en.php'; if (isset($_GET['lang']) && $_GET['lang'] != 'undefined' && $_GET['lang'] != '') { $path_parts = pathinfo($_GET['lang']); if (is_readable('lang/'.$path_parts['basename'].'.php')) { $language_file = 'lang/'.$path_parts['basename'].'.php'; } } require_once $language_file; $base = $current_path; if (isset($_POST['path'])) { $path = $current_path.str_replace("\0", "", $_POST['path']); } else { $path = $current_path; } $cycle = true; $max_cycles = 50; $i = 0; while ($cycle && $i < $max_cycles) { $i++; if ($path == $base) { $cycle = false; } if (file_exists($path.'config.php')) { require_once($path.'config.php'); $cycle = false; } $path = fix_dirname($path).'/'; $cycle = false; } $path = $current_path.str_replace("\0", "", $_POST['path']); $path_thumb = $_POST['path_thumb']; if (isset($_POST['name'])) { $name = $_POST['name']; if (preg_match('/\.{1,2}[\/|\\\]/', $name) !== 0) { die('wrong name'); } } $info = pathinfo($path); if (isset($info['extension']) && !(isset($_GET['action']) && $_GET['action'] == 'delete_folder') && !in_array(strtolower($info['extension']), $ext)) { die('wrong extension'); } if (isset($_GET['action'])) { switch ($_GET['action']) { case 'delete_file': if ($delete_files) { unlink($path); if (file_exists($path_thumb)) { unlink($path_thumb); } $info = pathinfo($path); if ($relative_image_creation) { foreach ($relative_path_from_current_pos as $k => $path) { if ($path != '' && $path[strlen($path) - 1] != '/') { $path .= '/'; } if (file_exists($info['dirname'].'/'.$path.$relative_image_creation_name_to_prepend[$k].$info['filename'].$relative_image_creation_name_to_append[$k].'.'.$info['extension'])) { unlink($info['dirname'].'/'.$path.$relative_image_creation_name_to_prepend[$k].$info['filename'].$relative_image_creation_name_to_append[$k].'.'.$info['extension']); } } } if ($fixed_image_creation) { foreach ($fixed_path_from_filemanager as $k => $path) { if ($path != '' && $path[strlen($path) - 1] != '/') { $path .= '/'; } $base_dir = $path.substr_replace($info['dirname'].'/', '', 0, strlen($current_path)); if (file_exists($base_dir.$fixed_image_creation_name_to_prepend[$k].$info['filename'].$fixed_image_creation_to_append[$k].'.'.$info['extension'])) { unlink($base_dir.$fixed_image_creation_name_to_prepend[$k].$info['filename'].$fixed_image_creation_to_append[$k].'.'.$info['extension']); } } } } break; case 'delete_folder': if ($delete_folders) { if (is_dir($path_thumb)) { deleteDir($path_thumb); } if (is_dir($path)) { deleteDir($path); if ($fixed_image_creation) { foreach ($fixed_path_from_filemanager as $k => $paths) { if ($paths != '' && $paths[strlen($paths) - 1] != '/') { $paths .= '/'; } $base_dir = $paths.substr_replace($path, '', 0, strlen($current_path)); if (is_dir($base_dir)) { deleteDir($base_dir); } } } } } break; case 'create_folder': if ($create_folders) { create_folder(fix_path($path, $transliteration), fix_path($path_thumb, $transliteration)); } break; case 'rename_folder': if ($rename_folders) { $name = fix_filename($name, $transliteration); $name = str_replace('.', '', $name); if (!empty($name)) { if (!rename_folder($path, $name, $transliteration)) { die(lang_Rename_existing_folder); } rename_folder($path_thumb, $name, $transliteration); if ($fixed_image_creation) { foreach ($fixed_path_from_filemanager as $k => $paths) { if ($paths != '' && $paths[strlen($paths) - 1] != '/') { $paths .= '/'; } $base_dir = $paths.substr_replace($path, '', 0, strlen($current_path)); rename_folder($base_dir, $name, $transliteration); } } } else { die(lang_Empty_name); } } break; case 'rename_file': if ($rename_files) { $name = fix_filename($name, $transliteration); if (!empty($name)) { if (!rename_file($path, $name, $transliteration)) { die(lang_Rename_existing_file); } rename_file($path_thumb, $name, $transliteration); if ($fixed_image_creation) { $info = pathinfo($path); foreach ($fixed_path_from_filemanager as $k => $paths) { if ($paths != '' && $paths[strlen($paths) - 1] != '/') { $paths .= '/'; } $base_dir = $paths.substr_replace($info['dirname'].'/', '', 0, strlen($current_path)); if (file_exists($base_dir.$fixed_image_creation_name_to_prepend[$k].$info['filename'].$fixed_image_creation_to_append[$k].'.'.$info['extension'])) { rename_file($base_dir.$fixed_image_creation_name_to_prepend[$k].$info['filename'].$fixed_image_creation_to_append[$k].'.'.$info['extension'], $fixed_image_creation_name_to_prepend[$k].$name.$fixed_image_creation_to_append[$k], $transliteration); } } } } else { die(lang_Empty_name); } } break; case 'duplicate_file': if ($duplicate_files) { $name = fix_filename($name, $transliteration); if (!empty($name)) { if (!duplicate_file($path, $name)) { die(lang_Rename_existing_file); } duplicate_file($path_thumb, $name); if ($fixed_image_creation) { $info = pathinfo($path); foreach ($fixed_path_from_filemanager as $k => $paths) { if ($paths != '' && $paths[strlen($paths) - 1] != '/') { $paths .= '/'; } $base_dir = $paths.substr_replace($info['dirname'].'/', '', 0, strlen($current_path)); if (file_exists($base_dir.$fixed_image_creation_name_to_prepend[$k].$info['filename'].$fixed_image_creation_to_append[$k].'.'.$info['extension'])) { duplicate_file($base_dir.$fixed_image_creation_name_to_prepend[$k].$info['filename'].$fixed_image_creation_to_append[$k].'.'.$info['extension'], $fixed_image_creation_name_to_prepend[$k].$name.$fixed_image_creation_to_append[$k]); } } } } else { die(lang_Empty_name); } } break; default: die('wrong action'); break; } }