private static function loadSettings() { self::$settings = array(); if (file_exists(GSDATAOTHERPATH . I18N_SETTINGS_FILE)) { $data = getXML(GSDATAOTHERPATH . I18N_SETTINGS_FILE); foreach ($data->children() as $child) { self::$settings[$child->getName()] = (string) $child; } } }
function i18n_navigation_structure_load(&$pages, &$languages) { $pages = array(); $languages = array(); $is_i18n = function_exists('return_i18n_default_language'); $dir_handle = @opendir(GSDATAPAGESPATH) or die("Unable to open pages directory"); $files_to_ignore = '/^$/'; @(include_once GSPLUGINPATH . 'i18n_base/basic.class.php'); if (class_exists('I18nBasic') && defined('I18N_PROP_URLS_TO_IGNORE')) { $files_to_ignore = '/^(' . I18nBasic::getProperty(I18N_PROP_URLS_TO_IGNORE, '') . ')\\.xml$/'; } while ($filename = readdir($dir_handle)) { if (strrpos($filename, '.xml') === strlen($filename) - 4 && !is_dir(GSDATAPAGESPATH . $filename) && !preg_match($files_to_ignore, $filename)) { $data = getXML(GSDATAPAGESPATH . $filename); $url = (string) $data->url; if ($is_i18n && strpos($url, '_') !== false) { $lang = substr($url, strpos($url, '_') + 1); $url = substr($url, 0, strpos($url, '_')); if (!in_array($lang, $languages)) { $languages[] = $lang; } if (!isset($pages[$url])) { $pages[$url] = array('url' => $url, 'variants' => array(), 'exists' => false, 'title' => '', 'menuOrder' => 99, 'parent' => null); } $pages[$url]['variants'][$lang] = array('url' => $url . '_' . $lang); $pages[$url]['variants'][$lang]['language'] = $lang; $pages[$url]['variants'][$lang]['title'] = (string) $data->title; $pages[$url]['variants'][$lang]['menu'] = (string) $data->menu; $pages[$url]['variants'][$lang]['accesskey'] = (string) $data->accesskey; $pages[$url]['variants'][$lang]['taborder'] = (int) $data->taborder; $pages[$url]['variants'][$lang]['private'] = (string) $data->private; } else { if (!isset($pages[$url])) { $pages[$url] = array('url' => $url, 'variants' => array()); } $pages[$url]['exists'] = true; $pages[$url]['parent'] = (string) $data->parent; $pages[$url]['title'] = (string) $data->title; $pages[$url]['menu'] = (string) $data->menu; $pages[$url]['menuStatus'] = (string) $data->menuStatus; $pages[$url]['menuOrder'] = (int) $data->menuOrder; $pages[$url]['date'] = $data->pubDate; $pages[$url]['accesskey'] = (string) $data->accesskey; $pages[$url]['taborder'] = (int) $data->taborder; $pages[$url]['private'] = (string) $data->private; } } } closedir($dir_handle); sort($languages); }
public static function getDefaultLanguage() { require_once GSPLUGINPATH . 'i18n_base/basic.class.php'; return I18nBasic::getProperty(I18N_PROP_DEFAULT_LANGUAGE, I18N_DEFAULT_LANGUAGE); }
$parent = (string) $data->parent; if ($parent && !isset($pages[$parent])) { $pages[$parent] = array('url' => $parent, 'variants' => array(), 'exists' => false, 'title' => '', 'menuOrder' => 99, 'parent' => null); } } } $tags = array_keys($tags); sort($tags); sort($languages); // sort pages $view = @$_REQUEST['view']; if (!$view) { $view = I18nBasic::getProperty(I18N_PROP_PAGES_VIEW, 'hierarchical'); } else { if ($view != I18nBasic::getProperty(I18N_PROP_PAGES_VIEW, null)) { I18nBasic::setProperty(I18N_PROP_PAGES_VIEW, $view); } } if (count($pages) > 0) { if ($view == 'hierarchical') { $openarr = explode(' ', trim($open)); foreach ($openarr as $url) { if (isset($pages[$url])) { $pages[$url]['open'] = true; } } } foreach ($pages as &$page) { if ($view == 'hierarchical') { $level = -1; $sort = '';