File Manager

Current Path : /webspace/www.babilon.be/html/modules/MleCMS/lib/
Upload File :
Current File : //webspace/www.babilon.be/html/modules/MleCMS/lib/class.mle_tools.php

<?php

/**
 * MleCMS tools
 *
 * @author @kuzmany
 */
class mle_tools {

    public static function is_ajax() {
        if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == "XMLHttpRequest")
            return true;

        return false;
    }

    public static function get_root_alias() {
        $alias = cms_utils::get_app_data('root_alias');
        if ($alias)
            return $alias;

        $gCms = cmsms();
        $contentops = $gCms->GetContentOperations();
        $smarty = $gCms->GetSmarty();

        if ($alias == '') {
            $alias = $smarty->get_template_vars('page_alias');
        }
        $id = $contentops->GetPageIDFromAlias($alias);

        while ($id > 0) {
            $content = $contentops->LoadContentFromId($id);
            if (!is_object($content))
                return '';
            $alias = $content->Alias();
            $id = $content->ParentId();
        }
        cms_utils::set_app_data('root_alias', $alias);
        return $alias;
    }

    public static function getLangsLocale() {

        $mod = cms_utils::get_module('MleCMS');
        $tmp = array();
        $langs = CmsNlsOperations::get_installed_languages();
        asort($langs);
        foreach ($langs as $key) {
            $obj = CmsNlsOperations::get_language_info($key);
            $value = $obj->display();
            if ($obj->fullname()) {
                $value .= ' (' . $obj->fullname() . ')';
            }
            $tmp[$value] = $key;
        }
        return $tmp;
    }

    public static function get_lang($lang_id) {
        $lang = cms_utils::get_app_data(__CLASS__ . __FUNCTION__ . $lang_id);
        if ($lang)
            return $lang;
        $db = cmsms()->GetDb();
        $query = 'SELECT * FROM ' . cms_db_prefix() . 'module_mlecms_config WHERE id = ?';
        $lang = $db->GetRow($query, array($lang_id));
        cms_utils::set_app_data(__CLASS__ . __FUNCTION__ . $lang_id, $lang);
        return $lang;
    }

    public static function get_lang_from_locale($locale) {
        $lang = cms_utils::get_app_data(__CLASS__ . __FUNCTION__ . $locale);
        if ($lang)
            return $lang;
        $db = cmsms()->GetDb();
        $query = 'SELECT * FROM ' . cms_db_prefix() . 'module_mlecms_config WHERE locale = ?';
        $lang = $db->GetRow($query, array($locale));
        cms_utils::set_app_data(__CLASS__ . __FUNCTION__ . $locale, $lang);
        return $lang;
    }

    public static function get_lang_from_alias($alias) {
        $lang = cms_utils::get_app_data(__CLASS__ . __FUNCTION__ . $alias);
        if ($lang)
            return $lang;
        $db = cmsms()->GetDb();
        $query = 'SELECT * FROM ' . cms_db_prefix() . 'module_mlecms_config WHERE alias = ?';
        $lang = $db->GetRow($query, array($alias));
        cms_utils::set_app_data(__CLASS__ . __FUNCTION__ . $alias, $lang);
        return $lang;
    }

    public static function get_langs() {
        $langs = cms_utils::get_app_data(__CLASS__ . __FUNCTION__);
        if ($langs)
            return $langs;
        $db = cmsms()->GetDb();
        $query = 'SELECT * FROM ' . cms_db_prefix() . 'module_mlecms_config';
        $langs = $db->GetAll($query, array());
        cms_utils::set_app_data(__CLASS__ . __FUNCTION__, $langs);
        return $langs;
    }

    public static function set_smarty_options($locale) {
        $obj = CmsNlsOperations::get_language_info($locale);
        if (!is_object($obj))
            return;

        $smarty = cmsms()->GetSmarty();
        $value = $obj->display();

        $lang = self::get_lang_from_locale($locale);
        if ($lang) {
            $smarty->assign('lang_extra', $lang["extra"]);
            $smarty->assign('lang_parent', $lang["alias"]);
        }
        $smarty->assign('lang_locale', $locale);
        $smarty->assign('lang_dir', $obj->direction());
    }

}

?>

File Manager Version 1.0, Coded By Lucas
Email: hehe@yahoo.com