* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/
include 'config/config.php';
$_SESSION["verify"] = "RESPONSIVEfilemanager";
if (isset($_POST['submit'])) {
include 'upload.php';
} else {
include 'include/utils.php';
if (isset($_GET['fldr'])
&& !empty($_GET['fldr'])
&& preg_match('/\.{1,2}[\/|\\\]?/', urldecode($_GET['fldr'])) === 0
) {
$subdir = str_replace("\0", '', urldecode(trim($_GET['fldr'], '/').'/'));
} else {
$subdir = '';
}
//remember last position
setcookie('last_position', $subdir, time() + (86400 * 7));
if ($subdir == '') {
if (!empty($_COOKIE['last_position'])
&& strpos($_COOKIE['last_position'], '.') === false
) {
$subdir = trim($_COOKIE['last_position']);
}
}
if ($subdir == '/') {
$subdir = '';
}
/***
*SUB-DIR CODE
***/
if (!isset($_SESSION['subfolder'])) {
$_SESSION['subfolder'] = '';
}
$subfolder = '';
if (!empty($_SESSION['subfolder']) && strpos($_SESSION['subfolder'], '../') === false
&& strpos($_SESSION['subfolder'], './') === false && strpos($_SESSION['subfolder'], '/') !== 0
&& strpos($_SESSION['subfolder'], '.') === false
) {
$subfolder = $_SESSION['subfolder'];
}
if ($subfolder != '' && $subfolder[strlen($subfolder) - 1] != '/') {
$subfolder .= '/';
}
if (!file_exists($current_path.$subfolder.$subdir)) {
$subdir = '';
if (!file_exists($current_path.$subfolder.$subdir)) {
$subfolder = '';
}
}
if (trim($subfolder) == '') {
$cur_dir = $upload_dir.$subdir;
$cur_path = $current_path.$subdir;
$thumbs_path = $thumbs_base_path;
$parent = $subdir;
} else {
$cur_dir = $upload_dir.$subfolder.$subdir;
$cur_path = $current_path.$subfolder.$subdir;
$thumbs_path = $thumbs_base_path.$subfolder;
$parent = $subfolder.$subdir;
}
$cycle = true;
$max_cycles = 50;
$i = 0;
while ($cycle && $i < $max_cycles) {
$i++;
if ($parent == './') {
$parent = '';
}
if (file_exists($current_path.$parent.'config.php')) {
require_once $current_path.$parent.'config.php';
$cycle = false;
}
if ($parent == '') {
$cycle = false;
} else {
$parent = fix_dirname($parent).'/';
}
}
if (!is_dir($thumbs_path.$subdir)) {
create_folder(false, $thumbs_path.$subdir);
}
if (isset($_GET['popup'])) {
$popup = $_GET['popup'];
} else {
$popup = 0;
}
//Sanitize popup
$popup = (bool) $popup;
//view type
if (!isset($_SESSION['view_type'])) {
$view = $default_view;
$_SESSION['view_type'] = $view;
}
if (isset($_GET['view'])) {
$view = $_GET['view'];
$_SESSION['view_type'] = $view;
}
$view = $_SESSION['view_type'];
if (isset($_GET['filter'])) {
$filter = fix_filename($_GET['filter'], $transliteration);
} else {
$filter = '';
}
if (!isset($_SESSION['sort_by'])) {
$_SESSION['sort_by'] = '';
}
if (isset($_GET['sort_by'])) {
$sort_by = $_SESSION['sort_by'] = fix_filename($_GET['sort_by'], $transliteration);
} else {
$sort_by = $_SESSION['sort_by'];
}
if (!isset($_SESSION['descending'])) {
$_SESSION['descending'] = false;
}
if (isset($_GET['descending'])) {
$descending = $_SESSION['descending'] = fix_filename($_GET['descending'], $transliteration) === 'true';
} else {
$descending = $_SESSION['descending'];
}
$lang = $default_language;
if (isset($_GET['lang']) && $_GET['lang'] != 'undefined' && $_GET['lang'] != '') {
$lang = $_GET['lang'];
}
$language_file = 'lang/'.$default_language.'.php';
if ($lang != $default_language) {
$path_parts = pathinfo($lang);
if (is_readable('lang/'.$path_parts['basename'].'.php')) {
$language_file = 'lang/'.$path_parts['basename'].'.php';
} else {
$lang = $default_language;
}
}
require_once $language_file;
if (!isset($_GET['type'])) {
$_GET['type'] = 0;
}
if (!isset($_GET['field_id'])) {
$_GET['field_id'] = '';
}
$get_params = http_build_query(
array(
'type' => Tools::safeOutput($_GET['type']),
'lang' => Tools::safeOutput($lang),
'popup' => $popup,
'field_id' => isset($_GET['field_id']) ? (int)$_GET['field_id'] : '',
'fldr' => '',
)
);
?>
Responsive FileManager
"/>
"/>
$file) {
if ($file == ".") {
$current_folder = array('file' => $file);
} elseif ($file == "..") {
$prev_folder = array('file' => $file);
} elseif (is_dir($current_path.$subfolder.$subdir.$file)) {
$date = filemtime($current_path.$subfolder.$subdir.$file);
$size = foldersize($current_path.$subfolder.$subdir.$file);
$file_ext = lang_Type_dir;
$sorted[$k] = array('file' => $file, 'date' => $date, 'size' => $size, 'extension' => $file_ext);
} else {
$file_path = $current_path.$subfolder.$subdir.$file;
$date = filemtime($file_path);
$size = filesize($file_path);
$file_ext = substr(strrchr($file, '.'), 1);
$sorted[$k] = array('file' => $file, 'date' => $date, 'size' => $size, 'extension' => $file_ext);
}
}
function filenameSort($x, $y)
{
return $x['file'] <=> $y['file'];
}
function dateSort($x, $y)
{
return $x['date'] <=> $y['date'];
}
function sizeSort($x, $y)
{
return $x['size'] - $y['size'];
}
function extensionSort($x, $y)
{
return $x['extension'] <=> $y['extension'];
}
switch ($sort_by) {
case 'name':
usort($sorted, 'filenameSort');
break;
case 'date':
usort($sorted, 'dateSort');
break;
case 'size':
usort($sorted, 'sizeSort');
break;
case 'extension':
usort($sorted, 'extensionSort');
break;
default:
break;
}
if ($descending) {
$sorted = array_reverse($sorted);
}
$files = array();
if (!empty($prev_folder)) {
$files = array($prev_folder);
}
if (!empty($current_folder)) {
$files = array_merge($files, array($current_folder));
}
$files = array_merge($files, $sorted);
?>
- /
$b) {
$tmp_path .= $b."/";
if ($k == count($bc) - 2) {
?>
-
-
">
-
There is an error! The upload folder there isn't. Check your config.php file.
">
- >
directory" data-type="">
">
;
?>/folder<?php if ($file == )
.jpg" alt="folder"/>
;
?>/folder<?php if ($file == )
.png" alt="folder"/>
" title="" data-path="" data-thumb="">
" title="" data-confirm="" data-path="" data-thumb="">
$file_array) {
$file = $file_array['file'];
if ($file == '.' || $file == '..' || is_dir($current_path.$subfolder.$subdir.$file) || in_array($file, $hidden_files) || !in_array(mb_strtolower($file_array['extension']), $ext) || ($filter != '' && strpos($file, $filter) === false)) {
continue;
}
$file_path = $current_path.$subfolder.$subdir.$file;
//check if file have illegal character
$filename = substr($file, 0, '-'.(strlen($file_array['extension']) + 1));
if ($file != fix_filename($file, $transliteration)) {
$file1 = fix_filename($file, $transliteration);
$file_path1 = ($current_path.$subfolder.$subdir.$file1);
if (file_exists($file_path1)) {
$i = 1;
$info = pathinfo($file1);
while (file_exists($current_path.$subfolder.$subdir.$info['filename'].".[".$i."].".$info['extension'])) {
$i++;
}
$file1 = $info['filename'].".[".$i."].".$info['extension'];
$file_path1 = ($current_path.$subfolder.$subdir.$file1);
}
$filename = substr($file1, 0, '-'.(strlen($file_array['extension']) + 1));
rename_file($file_path, fix_filename($filename, $transliteration), $transliteration);
$file = $file1;
$file_array['extension'] = fix_filename($file_array['extension'], $transliteration);
$file_path = $file_path1;
}
$is_img = false;
$is_video = false;
$is_audio = false;
$show_original = false;
$show_original_mini = false;
$mini_src = "";
$src_thumb = "";
$extension_lower = mb_strtolower($file_array['extension']);
if (in_array($extension_lower, $ext_img)) {
$src = $base_url.$cur_dir.rawurlencode($file);
$mini_src = $src_thumb = $thumbs_path.$subdir.$file;
//add in thumbs folder if not exist
if (!file_exists($src_thumb)) {
try {
create_img_gd($file_path, $src_thumb, 122, 91);
new_thumbnails_creation($current_path.$subfolder.$subdir, $file_path, $file, $current_path, $relative_image_creation, $relative_path_from_current_pos, $relative_image_creation_name_to_prepend, $relative_image_creation_name_to_append, $relative_image_creation_width, $relative_image_creation_height, $fixed_image_creation, $fixed_path_from_filemanager, $fixed_image_creation_name_to_prepend, $fixed_image_creation_to_append, $fixed_image_creation_width, $fixed_image_creation_height);
} catch (Exception $e) {
$src_thumb = $mini_src = "";
}
}
$is_img = true;
//check if is smaller than thumb
list($img_width, $img_height, $img_type, $attr) = getimagesize($file_path);
if ($img_width < 122 && $img_height < 91) {
$src_thumb = $current_path.$subfolder.$subdir.$file;
$show_original = true;
}
if ($img_width < 45 && $img_height < 38) {
$mini_src = $current_path.$subfolder.$subdir.$file;
$show_original_mini = true;
}
}
$is_icon_thumb = false;
$is_icon_thumb_mini = false;
$no_thumb = false;
if ($src_thumb == "") {
$no_thumb = true;
if (file_exists('img/'.$icon_theme.'/'.$extension_lower.".jpg")) {
$src_thumb = 'img/'.$icon_theme.'/'.$extension_lower.".jpg";
} else {
$src_thumb = "img/".$icon_theme."/default.jpg";
}
$is_icon_thumb = true;
}
if ($mini_src == "") {
$is_icon_thumb_mini = false;
}
$class_ext = 0;
if (in_array($extension_lower, $ext_video)) {
$class_ext = 4;
$is_video = true;
} elseif (in_array($extension_lower, $ext_img)) {
$class_ext = 2;
} elseif (in_array($extension_lower, $ext_music)) {
$class_ext = 5;
$is_audio = true;
} elseif (in_array($extension_lower, $ext_misc)) {
$class_ext = 3;
} else {
$class_ext = 1;
}
/* PrestaShop */
if (isset($src_thumb) && $src_thumb) {
if (($src_thumb = preg_replace('#('.addslashes($current_path).')#ism', Tools::safeOutput(Context::getContext()->shop->physical_uri.'img/cms/'), $src_thumb)) == $src_thumb) {
$src_thumb = preg_replace('#('.addslashes($thumbs_base_path).')#ism', Tools::safeOutput(Context::getContext()->shop->physical_uri.'img/tmp/cms/'), $src_thumb);
}
}
if (isset($mini_src) && $mini_src) {
if (($mini_src = preg_replace('#('.addslashes($current_path).')#ism', Tools::safeOutput(Context::getContext()->shop->physical_uri.'img/cms/'), $mini_src)) == $mini_src) {
$mini_src = preg_replace('#('.addslashes($thumbs_base_path).')#ism', Tools::safeOutput(Context::getContext()->shop->physical_uri.'img/tmp/cms/'), $mini_src);
}
}
/* END PrestaShop */
if ((!(Tools::getValue('type') == 1 && !$is_img) && !((Tools::getValue('type') == 3 && !$is_video) && (Tools::getValue('type') == 3 && !$is_audio))) && $class_ext > 0) {
?>
-
">
![<?php echo Tools::safeOutput($filename.]()
" class=" " src="">
">
![<?php echo Tools::safeOutput($filename.]()
" class=" " src="">