Файловый менеджер - Редактировать - /home/harasnat/www/solequestre/administrator/components/com_spsimpleportfolio/helpers/spsimpleportfolio.php
Назад
<?php /** * @package SP Simple Portfolio * * @copyright Copyright (C) 2010 - 2022 JoomShaper. All rights reserved. * @license GNU General Public License version 2 or later. */ defined('_JEXEC') or die; use Joomla\CMS\Factory; use Joomla\CMS\Language\Text; use Joomla\CMS\Plugin\PluginHelper; use Joomla\CMS\Component\ComponentHelper; class SpsimpleportfolioHelper { public static $extension = 'com_spsimpleportfolio'; public static function addSubmenu($submenu) { JHtmlSidebar::addEntry( Text::_('COM_SPSIMPLEPORTFOLIO_TITLE_ITEMS'), 'index.php?option=com_spsimpleportfolio&view=items', $submenu == 'items' ); JHtmlSidebar::addEntry( Text::_('COM_SPSIMPLEPORTFOLIO_CATEGORIES'), 'index.php?option=com_categories&view=categories&extension=com_spsimpleportfolio', $submenu == 'categories' ); JHtmlSidebar::addEntry( Text::_('COM_SPSIMPLEPORTFOLIO_TITLE_TAGS'), 'index.php?option=com_spsimpleportfolio&view=tags', $submenu == 'tags' ); } // Create thumbs public static function createThumbs($src, $sizes = array(), $folder = '', $base_name = '', $ext = '') { // Get params $params = ComponentHelper::getParams('com_spsimpleportfolio'); $img_crop_position = $params->get('crop_position', 'center'); list($originalWidth, $originalHeight) = getimagesize($src); switch($ext) { case 'bmp': $img = imagecreatefromwbmp($src); break; case 'gif': $img = imagecreatefromgif($src); break; case 'jpg': $img = imagecreatefromjpeg($src); break; case 'jpeg': $img = imagecreatefromjpeg($src); break; case 'png': $img = imagecreatefrompng($src); break; } if(count($sizes)) { $output = array(); if($base_name) { $output['original'] = $folder . '/' . $base_name . '.' . $ext; } foreach ($sizes as $key => $size) { $targetWidth = $size[0]; $targetHeight = $size[1]; $ratio_thumb = $targetWidth/$targetHeight; $ratio_original = $originalWidth/$originalHeight; if ($ratio_original >= $ratio_thumb) { $height = $originalHeight; $width = ceil(($height*$targetWidth)/$targetHeight); if( $img_crop_position == 'topleft' ) { $x = 0; } elseif( $img_crop_position == 'topright' ) { $x = ceil($originalWidth-$width); } else { $x = ceil(($originalWidth-$width)/2); } $y = 0; } else { $width = $originalWidth; $height = ceil(($width*$targetHeight)/$targetWidth); if($img_crop_position == 'topleft') { $y = 0; } else { $y = ceil(($originalHeight-$height)/2); } $x = 0; } try { $new = imagecreatetruecolor($targetWidth, $targetHeight); } catch (\Exception $e) { Factory::getApplication()->enqueueMessage($e->getMessage(), 'error'); } if($ext == "gif" or $ext == "png") { imagecolortransparent($new, imagecolorallocatealpha($new, 0, 0, 0, 127)); imagealphablending($new, false); imagesavealpha($new, true); } imagecopyresampled($new, $img, 0, 0, $x, $y, $targetWidth, $targetHeight, $width, $height); if($base_name) { $dest = dirname($src) . '/' . $base_name . '_' . $key . '.' . $ext; $output[$key] = $folder . '/' . $base_name . '_' . $key . '.' . $ext; } else { $dest = $folder . '/' . $key . '.' . $ext; } switch($ext) { case 'bmp': imagewbmp($new, $dest); break; case 'gif': imagegif($new, $dest); break; case 'jpg': imagejpeg($new, $dest); break; case 'jpeg': imagejpeg($new, $dest); break; case 'png': imagepng($new, $dest); break; } } return $output; } return false; } public static function isPageBuilderIntegrated($item) { $output = new stdClass(); $output->url = ''; if(PluginHelper::isEnabled('spsimpleportfolio', 'sppagebuilder')) { $hasPage = self::hasPBPage($item->id); $output->hasPage = $hasPage; if ($hasPage) { $app = Factory::getApplication(); $router = $app->getRouter(); $lang_code = (isset($item->language) && $item->language && explode('-',$item->language)[0])? explode('-',$item->language)[0] : ''; $enable_lang_filter = PluginHelper::getPlugin('system', 'languagefilter'); $conf = Factory::getConfig(); $front_link = 'index.php?option=com_sppagebuilder&view=form&tmpl=componenet&layout=edit&extension=com_spsimpleportfolio&extension_view=item&id=' . $hasPage; $sefURI = str_replace('/administrator', '', $router->build($front_link)); if($lang_code && $lang_code !== '*' && $enable_lang_filter && $conf->get('sef') ){ $sefURI = str_replace('/index.php/', '/index.php/' . $lang_code . '/', $sefURI); } elseif($lang_code && $lang_code !== '*') { $sefURI = $sefURI . '&lang=' . $lang_code; } $output->url = $sefURI; } } return $output; } public static function hasPBPage($view_id = 0) { $db = Factory::getDbo(); $query = $db->getQuery(true); $query->select($db->quoteName(array('id'))); $query->from($db->quoteName('#__sppagebuilder')); $query->where($db->quoteName('extension') . ' = '. $db->quote('com_spsimpleportfolio')); $query->where($db->quoteName('extension_view') . ' = '. $db->quote('item')); $query->where($db->quoteName('view_id') . ' = '. $db->quote($view_id)); $db->setQuery($query); return $db->loadResult(); } }
| ver. 1.4 |
Github
|
.
| PHP 8.1.33 | Генерация страницы: 0.01 |
proxy
|
phpinfo
|
Настройка