示例#1
0
 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;
         }
     }
 }
示例#2
0
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);
}
示例#3
0
 public static function getDefaultLanguage()
 {
     require_once GSPLUGINPATH . 'i18n_base/basic.class.php';
     return I18nBasic::getProperty(I18N_PROP_DEFAULT_LANGUAGE, I18N_DEFAULT_LANGUAGE);
 }
示例#4
0
文件: pages.php 项目: Vin985/clqweb
        $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 = '';