Файловый менеджер - Редактировать - /var/www/html/administrator/components/com_jdonation/model/language.php
Ðазад
<?php use Joomla\Registry\Registry; use Joomla\CMS\Pagination\Pagination; use Joomla\CMS\Filesystem\File; use Joomla\CMS\Filesystem\Folder; /** * @version 5.6.0 * @package Joomla * @subpackage Joom Donation * @author Tuan Pham Ngoc * @copyright Copyright (C) 2009 - 2023 Ossolution Team * @license GNU/GPL, see LICENSE.php */ // Check to ensure this file is included in Joomla! defined('_JEXEC') or die(); class DonationModelLanguage extends OSFModel { /** * Instantiate the model. * * @param array $config The configuration data for the model * */ public function __construct($config) { parent::__construct($config); $this->state->insert('filter_search', 'string') ->insert('filter_item', 'string', 'com_jdonation') ->insert('filter_language', 'string', 'en-GB') ->insert('limit', 'int', 100) ->insert('limitstart', 'int', 0); } function getTotalItems($item,$search,$site){ jimport('joomla.filesystem.file'); $search = strtolower($search); $registry = new Registry(); if($site){ $languageFolder= JPATH_ADMINISTRATOR . '/language/'; }else{ $languageFolder=JPATH_ROOT . '/language/'; } $path = $languageFolder . 'en-GB/en-GB.' . $item . '.ini'; $registry->loadFile($path, 'INI'); $enGbItems = $registry->toArray(); if ($search) { $search = strtolower($search); foreach ($enGbItems as $key => $value) { if (strpos(strtolower($key), $search) === false && strpos(strtolower($value), $search) === false) { unset($enGbItems[$key]); } } } return count($enGbItems); } /** * Get pagination object * * @return JPagination */ function getPagination($item,$search,$limitstart,$limit,$site) { // Lets load the content if it doesn't already exist if (empty($pagination)) { jimport('joomla.html.pagination'); $pagination = new Pagination($this->getTotalItems($item,$search,$site), $limitstart, $limit); } return $pagination; } /** * Get language items and store them in an array */ function getTrans($lang, $item,$search,$limitstart,$limit,$site) { $registry = new Registry(); $languages = array(); if($site){ $floder=JPATH_ADMINISTRATOR; }else{ $floder=JPATH_ROOT; } $path = $floder . '/language/en-GB/en-GB.' . $item . '.ini'; $registry->loadFile($path, 'INI'); $enGbItems = $registry->toArray(); $languages['en-GB'][$item] = $registry->toArray(); $path = $floder . '/language/' . $lang . '/' . $lang . '.' . $item . '.ini'; if (File::exists($path)) { $registry->loadFile($path, 'INI'); $languages[$lang][$item] = $registry->toArray(); } else { $languages[$lang][$item] = array(); } if ($search) { $search = strtolower($search); foreach ($enGbItems as $key => $value) { if (strpos(strtolower($key), $search) === false && strpos(strtolower($value), $search) === false) { unset($enGbItems[$key]); } } } $languages['en-GB'][$item] = array_slice($enGbItems, $limitstart,$limit); return $languages; } /** * Get site languages */ function getSiteLanguages() { $path = JPATH_ROOT . '/language'; $folders = Folder::folders($path); $rets = array(); foreach ($folders as $folder) { if ($folder != 'pdf_fonts') { $rets[] = $folder; } } return $rets; } /** * Save translation data * * @param array $data */ function save($data) { $registry = new Registry(); jimport('joomla.filesystem.file'); $lang = $data['filter_language']; $item = $data['filter_item']; $site = $data['site']; if($site){ $folder = JPATH_ADMINISTRATOR; }else{ $folder =JPATH_ROOT; } $filePath = $folder . '/language/' . $lang . '/' . $lang . '.' . $item . '.ini'; $registry->loadFile($filePath,'INI'); //echo count(($registry)); //die(); $keys = $data['keys']; $items = $data['items']; $content = ""; foreach ($items as $item1) { $item1 = trim($item1); $value = trim($data['item_'.$item1]); $registry->set($keys[$item1], $value); } //echo count($registry); File::write($filePath, $registry->toString('INI')); return true; } }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка