%PDF- %PDF- 403WebShell
403Webshell
Server IP : 37.220.80.31  /  Your IP : 18.118.200.161
Web Server : Apache/2.4.52 (Ubuntu)
System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64
User : www-root ( 1010)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/dev2fun.imagecompress/admin/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/dev2fun.imagecompress/admin/dev2fun_imagecompress_files.php
<?php
/**
 * @author darkfriend <hi@darkfriend.ru>
 * @version 0.4.0
 */
require_once($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php");

use Bitrix\Main\Loader;
use Dev2fun\ImageCompress\AdminList;
use Dev2fun\ImageCompress\Compress;
use Bitrix\Main\Localization\Loc;

$curModuleName = "dev2fun.imagecompress";
Loader::includeModule($curModuleName);
//CModule::IncludeModule($curModuleName);

IncludeModuleLangFile(__FILE__);

/**
 * @global CUser $USER
 * @global CMain $APPLICATION
 **/

$canRead = $USER->CanDoOperation('imagecompress_list_read');
$canWrite = $USER->CanDoOperation('imagecompress_list_write');
if (!$canRead && !$canWrite)
    $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));


$EDITION_RIGHT = $APPLICATION->GetGroupRight($curModuleName);
if ($EDITION_RIGHT == "D") $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED"));

$aTabs = [
    [
        "DIV" => "main",
        "TAB" => GetMessage("SEC_MAIN_TAB"),
        "ICON" => "main_user_edit",
        "TITLE" => GetMessage("SEC_MAIN_TAB_TITLE"),
    ],
];

$tabControl = new CAdminTabControl("tabControl", $aTabs, true, true);

$bVarsFromForm = false;
$APPLICATION->SetTitle(GetMessage("SEC_IMG_COMPRESS_TITLE"));

//require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php");
$recCompress = null;
if ($_REQUEST["compress"]) {

    if ($compress = $_REQUEST["compress"]) {
        if (!is_array($compress)) {
            $compress = [$compress];
        }
        foreach ($compress as $fileID) {
            $fileID = intval($fileID);
            $recCompress = Compress::getInstance()->compressImageByID($fileID);
        }
    }

} elseif ($_REQUEST["action"] == "compress") {

    $arIDs = $_REQUEST["ID"];
    if (is_array($arIDs) && count($arIDs)) {
        set_time_limit(0);
        foreach ($arIDs as $fileID) {
            $recCompress = Compress::getInstance()->compressImageByID($fileID);
        }
    }

} elseif (!empty($_REQUEST['compress_file_delete'])) {
    CFile::Delete(intval($_REQUEST["compress_file_delete"]));
}

$list = new AdminList($curModuleName);
$list->generalKey = 'ID';
$list->SetRights();
$list->SetTitle(GetMessage('DEV2FUN_IMAGECOMPRESS_TITLE'));
$list->SetGroupAction([
    'compress' => function ($hash)
    {
    },
]);
$list->SetContextMenu(false);
$list->SetHeaders([
    'ID' => "ID",
    'MODULE_ID' => GetMessage('DEV2FUN_IMAGECOMPRESS_MODULE_ID'),
    'CONTENT_TYPE' => GetMessage("DEV2FUN_IMAGECOMPRESS_CONTENT_TYPE"),
    'FILE_NAME' => GetMessage("DEV2FUN_IMAGECOMPRESS_FILE_NAME"),
    'ORIGINAL_NAME' => GetMessage("DEV2FUN_IMAGECOMPRESS_ORIGINAL_NAME"),
    'DESCRIPTION' => GetMessage("DEV2FUN_IMAGECOMPRESS_DESCRIPTION"),
    'FILE_SIZE' => GetMessage("DEV2FUN_IMAGECOMPRESS_FILE_SIZE"),
    'IMAGE' => GetMessage("DEV2FUN_IMAGECOMPRESS_IMAGE"),
    'COMPRESS' => GetMessage("DEV2FUN_IMAGECOMPRESS_COMPRESS"),
    'SIZE_BEFORE' => GetMessage("DEV2FUN_IMAGECOMPRESS_SIZE_BEFORE"),
    'SIZE_AFTER' => GetMessage("DEV2FUN_IMAGECOMPRESS_SIZE_AFTER"),
]);
$list->SetFilter([
    'id' => ['TITLE' => GetMessage('DEV2FUN_IMAGECOMPRESS_FILTER_ID'), 'OPER' => ''],
    'file_size' => [
        'TITLE' => GetMessage('DEV2FUN_IMAGECOMPRESS_FILTER_FILE_SIZE'),
    ],
    'comressed' => [
        'TITLE' => GetMessage('DEV2FUN_IMAGECOMPRESS_FILTER_COMRESSED'),
        'TYPE' => 'select',
        'VARIANTS' => [
            "Y" => GetMessage('DEV2FUN_IMAGECOMPRESS_FILTER_COMRESSED_Y'),
            "N" => GetMessage('DEV2FUN_IMAGECOMPRESS_FILTER_COMRESSED_N'),
        ],
    ],
    'module_id' => ['TITLE' => GetMessage('DEV2FUN_IMAGECOMPRESS_FILTER_MODULE_ID')],
    'original_name' => ['TITLE' => GetMessage('DEV2FUN_IMAGECOMPRESS_FILTER_ORIGINAL_NAME'), 'OPER' => ''],
    'file_name' => ['TITLE' => GetMessage('DEV2FUN_IMAGECOMPRESS_FILTER_FILE_NAME'), 'OPER' => ''],
    'content_type' => [
        'TITLE' => GetMessage('DEV2FUN_IMAGECOMPRESS_FILTER_FILE_TYPE'),
        'TYPE' => 'select',
        'OPER' => '@',
        'VARIANTS' => [
            'image/png' => GetMessage('DEV2FUN_IMAGECOMPRESS_MIME_PNG'),
            'image/jpeg' => GetMessage('DEV2FUN_IMAGECOMPRESS_MIME_JPG'),
            'application/pdf' => GetMessage('DEV2FUN_IMAGECOMPRESS_MIME_PDF'),
            'image/svg' => GetMessage('DEV2FUN_IMAGECOMPRESS_MIME_SVG'),
            'image/gif' => GetMessage('DEV2FUN_IMAGECOMPRESS_MIME_GIF'),
        ],
    ],
]);
if (!isset($by))
    $by = 'ID';
if (!isset($order))
    $order = 'ASC';

$rsFiles = Compress::getInstance()->getFileList([$by => $order], $list->makeFilter());

$list->SetList(
    $rsFiles,
    [
        'IMAGE' => function ($val, $arRec)
        {
            $arFile = \CFile::GetFileArray($arRec["ID"]);
            if (file_exists($_SERVER['DOCUMENT_ROOT'] . $arFile['SRC'])) {
                $mimeType = mime_content_type($_SERVER['DOCUMENT_ROOT'] . $arFile['SRC']);
                if($mimeType==='application/pdf') {
                    return "<a href=\"{$arFile['SRC']}\" target='_blank'>{$arFile['ORIGINAL_NAME']}</a>";
                } else {
                    return "<img style='max-width: 200px; height: auto;' src='" . $arFile['SRC'] . "'>";
                }
            } else {
                return "<span class='text-error'>" . GetMessage('DEV2FUN_IMAGECOMPRESS_FILE_NOT_FOUND') . "</span>";
            }
        },
        'COMPRESS' => function ($val, $arRec)
        {
            $strFilePath = \CFile::GetPath($arRec["ID"]);
            if (file_exists($_SERVER['DOCUMENT_ROOT'] . $strFilePath)) {
                if (intval($arRec['FILE_ID']) <= 0) {
                    return "<button value='" . $arRec["ID"] . "' name='compress' data-image-id='" . $arRec["ID"] . "'>" . GetMessage("DEV2FUN_IMAGECOMPRESS_COMPRESS") . "</button>";
                } else {
                    return GetMessage('DEV2FUN_IMAGECOMPRESS_COMRESSED')
                        . '<br>'
                        . "<button value='" . $arRec["ID"] . "' name='compress' data-image-id='" . $arRec["ID"] . "'>" . GetMessage("DEV2FUN_IMAGECOMPRESS_COMPRESS_REPEAT") . "</button>";
                }
            } else {
                $labelBtnDelete = GetMessage("DEV2FUN_IMAGECOMPRESS_FILE_DELETE");
                return "<span class='text-error'>" . GetMessage('DEV2FUN_IMAGECOMPRESS_FILE_NOT_FOUND') . "</span><br><button value='{$arRec["ID"]}' name='compress_file_delete' data-image-id='{$arRec["ID"]}'>$labelBtnDelete</button>";
            }
        },
        'SIZE_BEFORE' => function ($val, $arRec)
        {
            return Compress::getInstance()->getNiceFileSize($arRec["SIZE_BEFORE"]);
        },
        'SIZE_AFTER' => function ($val, $arRec)
        {
            return Compress::getInstance()->getNiceFileSize($arRec["SIZE_AFTER"]);
        },
        'FILE_SIZE' => function ($val, $arRec)
        {
            return Compress::getInstance()->getNiceFileSize($arRec["FILE_SIZE"]);
        },
    ],
    false
);
$list->SetFooter([
    'compress' => GetMessage('DEV2FUN_IMAGECOMPRESS_COMPRESS'),
]);
$list->Output();
//require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php");

Youez - 2016 - github.com/yon3zu
LinuXploit