/** * Uninstall a locale. * @param $args array * @param $request Request * @return JSONMessage JSON object */ function uninstallLocale($args, $request) { $site = $request->getSite(); $locale = $request->getUserVar('rowId'); $gridData = $this->getGridDataElements($request); if (array_key_exists($locale, $gridData)) { $localeData = $gridData[$locale]; if (!$localeData['primary']) { $installedLocales = $site->getInstalledLocales(); if (in_array($locale, $installedLocales)) { $installedLocales = array_diff($installedLocales, array($locale)); $site->setInstalledLocales($installedLocales); $supportedLocales = $site->getSupportedLocales(); $supportedLocales = array_diff($supportedLocales, array($locale)); $site->setSupportedLocales($supportedLocales); $siteDao = DAORegistry::getDAO('SiteDAO'); $siteDao->updateObject($site); $this->_updateContextLocaleSettings($request); AppLocale::uninstallLocale($locale); $notificationManager = new NotificationManager(); $user = $request->getUser(); $notificationManager->createTrivialNotification($user->getId(), NOTIFICATION_TYPE_SUCCESS, array('contents' => __('notification.localeUninstalled', array('locale' => $localeData['name'])))); } } } return DAO::getDataChangedEvent($locale); }
/** * Reload locale-specific data. * @param $locale string */ function reloadLocale($locale) { AppLocale::uninstallLocale($locale); AppLocale::installLocale($locale); }
/** * Uninstall a locale * @param $args array * @param $request object */ function uninstallLocale($args, &$request) { $this->validate(); $site =& $request->getSite(); $locale = $request->getUserVar('locale'); if (isset($locale) && !empty($locale) && $locale != $site->getPrimaryLocale()) { $installedLocales = $site->getInstalledLocales(); if (in_array($locale, $installedLocales)) { $installedLocales = array_diff($installedLocales, array($locale)); $site->setInstalledLocales($installedLocales); $supportedLocales = $site->getSupportedLocales(); $supportedLocales = array_diff($supportedLocales, array($locale)); $site->setSupportedLocales($supportedLocales); $siteDao =& DAORegistry::getDAO('SiteDAO'); $siteDao->updateObject($site); $this->_removeLocalesFromJournals($request); AppLocale::uninstallLocale($locale); } } $request->redirect(null, null, 'languages'); }