Server IP : 1.179.227.78 / Your IP : 10.104.4.41 Web Server : Apache System : Linux afdc-mdu34 5.4.0-153-generic #170-Ubuntu SMP Fri Jun 16 13:43:31 UTC 2023 x86_64 User : www ( 1001) PHP Version : 7.4.30 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /www/wwwroot/afdc-mdu34.rtarf.mi.th/joomla/installation1111/controller/ |
Upload File : |
<?php /** * @package Joomla.Installation * @subpackage Controller * * @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Language\LanguageHelper; /** * Controller class to set the default application languages for the Joomla Installer. * * @since 3.1 */ class InstallationControllerSetdefaultlanguage extends JControllerBase { /** * Constructor. * * @since 3.1 */ public function __construct() { parent::__construct(); // Overrides application config and set the configuration.php file so tokens and database works JFactory::$config = null; JFactory::getConfig(JPATH_SITE . '/configuration.php'); } /** * Execute the controller. * * @return void * * @since 3.1 */ public function execute() { // Get the application /** @var InstallationApplicationWeb $app */ $app = $this->getApplication(); // Check for request forgeries. JSession::checkToken() or $app->sendJsonResponse(new Exception(JText::_('JINVALID_TOKEN_NOTICE'), 403)); // Get the languages model. $model = new InstallationModelLanguages; // Check for request forgeries in the administrator language $admin_lang = $this->input->getString('administratorlang', false); // Check that the string is an ISO Language Code avoiding any injection. if (!preg_match('/^[a-z]{2}(\-[A-Z]{2})?$/', $admin_lang)) { $admin_lang = 'en-GB'; } // Attempt to set the default administrator language if (!$model->setDefault($admin_lang, 'administrator')) { // Create an error response message. $app->enqueueMessage(JText::_('INSTL_DEFAULTLANGUAGE_ADMIN_COULDNT_SET_DEFAULT'), 'error'); } else { // Create a response body. $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_ADMIN_SET_DEFAULT', $admin_lang), 'message'); } // Check for request forgeries in the site language $frontend_lang = $this->input->getString('frontendlang', false); // Check that the string is an ISO Language Code avoiding any injection. if (!preg_match('/^[a-z]{2}(\-[A-Z]{2})?$/', $frontend_lang)) { $frontend_lang = 'en-GB'; } // Attempt to set the default site language if (!$model->setDefault($frontend_lang, 'site')) { // Create an error response message. $app->enqueueMessage(JText::_('INSTL_DEFAULTLANGUAGE_FRONTEND_COULDNT_SET_DEFAULT'), 'error'); } else { // Create a response body. $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_FRONTEND_SET_DEFAULT', $frontend_lang), 'message'); } // Check if user has activated the multilingual site $data = $this->input->post->get('jform', array(), 'array'); if ((int) $data['activateMultilanguage']) { if (count(LanguageHelper::getInstalledLanguages(0)) < 2) { $app->enqueueMessage(JText::_('INSTL_DEFAULTLANGUAGE_COULD_NOT_INSTALL_MULTILANG'), 'warning'); $r = new stdClass; // Redirect to the same page. $r->view = 'defaultlanguage'; $app->sendJsonResponse($r); } if (!$model->enablePlugin('plg_system_languagefilter')) { $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGEFILTER', $frontend_lang), 'warning'); } // Activate optional ISO code Plugin $activatePluginIsoCode = (int) $data['activatePluginLanguageCode']; if ($activatePluginIsoCode && !$model->enablePlugin('plg_system_languagecode')) { $app->enqueueMessage(JText::_('INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_PLG_LANGUAGECODE'), 'warning'); } if (!$model->addModuleLanguageSwitcher()) { $app->enqueueMessage(JText::_('INSTL_DEFAULTLANGUAGE_COULD_NOT_ENABLE_MODULESWHITCHER_LANGUAGECODE'), 'warning'); } // Add menus JLoader::registerPrefix('J', JPATH_PLATFORM . '/legacy'); JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_menus/tables/'); $siteLanguages = $model->getInstalledlangsFrontend(); $groupedAssociations = array(); foreach ($siteLanguages as $siteLang) { if (!$model->addMenuGroup($siteLang)) { $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU', $siteLang->name), 'warning'); continue; } if (!$data['installLocalisedContent']) { if (!$tableMenuItem = $model->addFeaturedMenuItem($siteLang)) { $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_ITEM', $siteLang->name), 'warning'); continue; } $groupedAssociations['com_menus.item'][$siteLang->language] = $tableMenuItem->id; } if (!$tableMenuItem = $model->addAllCategoriesMenuItem($siteLang)) { $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_ITEM', $siteLang->name), 'warning'); continue; } $groupedAssociations['com_menus.item'][$siteLang->language] = $tableMenuItem->id; if (!$model->addModuleMenu($siteLang)) { $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_MODULE', $frontend_lang), 'warning'); continue; } if ((int) $data['installLocalisedContent']) { if (!$tableCategory = $model->addCategory($siteLang)) { $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_CATEGORY', $frontend_lang), 'warning'); continue; } $groupedAssociations['com_categories.item'][$siteLang->language] = $tableCategory->id; if (!$tableMenuItem = $model->addBlogMenuItem($siteLang, $tableCategory->id)) { $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_MENU_ITEM', $siteLang->name), 'warning'); continue; } $groupedAssociations['com_menus.item'][$siteLang->language] = $tableMenuItem->id; if (!$tableArticle = $model->addArticle($siteLang, $tableCategory->id)) { $app->enqueueMessage(JText::sprintf('INSTL_DEFAULTLANGUAGE_COULD_NOT_CREATE_ARTICLE', $frontend_lang), 'warning'); continue; } $groupedAssociations['com_content.item'][$siteLang->language] = $tableArticle->id; } } if (!$model->addAssociations($groupedAssociations)) { $app->enqueueMessage(JText::_('INSTL_DEFAULTLANGUAGE_COULD_NOT_ADD_ASSOCIATIONS'), 'warning'); } if (!$model->disableModuleMainMenu()) { $app->enqueueMessage(JText::_('INSTL_DEFAULTLANGUAGE_COULD_NOT_UNPUBLISH_MOD_DEFAULTMENU'), 'warning'); } if (!$model->enableModule('mod_multilangstatus')) { $app->enqueueMessage(JText::_('INSTL_DEFAULTLANGUAGE_COULD_NOT_PUBLISH_MOD_MULTILANGSTATUS'), 'warning'); } } $r = new stdClass; // Redirect to the final page. $r->view = 'remove'; $app->sendJsonResponse($r); } }