function ModuleInterface($moduleId = '', $error = 0)
 {
     global $CONFIG, $MODULES;
     $this->id = $moduleId;
     $this->name = $this->id;
     $this->attributes = array();
     $this->infos = array();
     $this->functionalities = array();
     $this->enabled = !empty($MODULES[strtolower($this->get_id())]) && $MODULES[strtolower($this->get_id())]['activ'] == '1';
     $this->infos = load_ini_file(PATH_TO_ROOT . '/' . $this->id . '/lang/', get_ulang());
     if (isset($this->infos['name'])) {
         $this->name = $this->infos['name'];
     }
     if ($error == 0) {
         $class = ucfirst($moduleId) . 'Interface';
         $module_methods = get_class_methods($class);
         $generics_methods = get_class_methods('ModuleInterface');
         $generics_methods[] = $class;
         $methods_diff = array_diff($module_methods, $generics_methods);
         foreach ($methods_diff as $method) {
             if (substr($method, 0, 1) != '_') {
                 $this->functionalities[] = $method;
             }
         }
         $this->functionalities[] = 'none';
     }
     $this->errors = $error;
 }
Пример #2
0
 function _load_apps($checks = CHECK_ALL_UPDATES)
 {
     if (phpversion() > PHP_MIN_VERSION_UPDATES) {
         global $CONFIG;
         if ($checks & CHECK_KERNEL) {
             $this->apps[] = new Application('kernel', get_ulang(), APPLICATION_TYPE__KERNEL, phpboost_version(), PHPBOOST_OFFICIAL_REPOSITORY);
         }
         if ($checks & CHECK_MODULES) {
             global $MODULES;
             $kModules = array_keys($MODULES);
             foreach ($kModules as $module) {
                 $infos = load_ini_file(PATH_TO_ROOT . '/' . $module . '/lang/', get_ulang());
                 $repository = !empty($infos['repository']) ? $infos['repository'] : PHPBOOST_OFFICIAL_REPOSITORY;
                 if (!empty($infos['repository'])) {
                     $this->apps[] = new Application($module, get_ulang(), APPLICATION_TYPE__MODULE, $infos['version'], $repository);
                 }
             }
         }
         if ($checks & CHECK_THEMES) {
             global $THEME_CONFIG;
             $kThemes = array_keys($THEME_CONFIG);
             foreach ($kThemes as $theme) {
                 $infos = get_ini_config(PATH_TO_ROOT . '/templates/' . $theme . '/config/', get_ulang());
                 if (!empty($infos['repository'])) {
                     $this->apps[] = new Application($theme, get_ulang(), APPLICATION_TYPE__TEMPLATE, $infos['version'], $infos['repository']);
                 }
             }
         }
     }
 }
 private function add_language_bar()
 {
     $lang = AppContext::get_request()->get_string('lang', self::UPDATE_DEFAULT_LANGUAGE);
     $lang_dir = new Folder(PATH_TO_ROOT . '/lang');
     $langs = array();
     foreach ($lang_dir->get_folders('`^[a-z_-]+$`i') as $folder) {
         $info_lang = load_ini_file(PATH_TO_ROOT . '/lang/', $folder->get_name());
         if (!empty($info_lang['name'])) {
             $langs[] = array('LANG' => $folder->get_name(), 'LANG_NAME' => $info_lang['name'], 'SELECTED' => $folder->get_name() == $lang ? 'selected="selected"' : '');
             if ($folder->get_name() == $lang) {
                 $this->full_view->put('LANG_IDENTIFIER', $info_lang['identifier']);
             }
         }
     }
     $this->full_view->put('lang', $langs);
 }
 private function add_language_bar()
 {
     $lang = TextHelper::htmlspecialchars(AppContext::get_request()->get_string('lang', InstallController::DEFAULT_LOCALE));
     $lang = in_array($lang, InstallationServices::get_available_langs()) ? $lang : InstallController::DEFAULT_LOCALE;
     $lang_dir = new Folder(PATH_TO_ROOT . '/lang');
     $langs = array();
     foreach ($lang_dir->get_folders('`^[a-z_-]+$`i') as $folder) {
         $info_lang = load_ini_file(PATH_TO_ROOT . '/lang/', $folder->get_name());
         if (!empty($info_lang['name'])) {
             $langs[] = array('LANG' => $folder->get_name(), 'LANG_NAME' => $info_lang['name'], 'SELECTED' => $folder->get_name() == $lang ? 'selected="selected"' : '');
             if ($folder->get_name() == $lang) {
                 $this->full_view->put('LANG_IDENTIFIER', $info_lang['identifier']);
             }
         }
     }
     $this->full_view->put('lang', $langs);
 }
Пример #5
0
 function get_module_name()
 {
     global $CONFIG;
     if (!empty($this->module)) {
         $module_ini = load_ini_file(PATH_TO_ROOT . '/' . $this->module . '/lang/', get_ulang());
         return isset($module_ini['name']) ? $module_ini['name'] : '';
     } else {
         return '';
     }
 }
Пример #6
0
 function add_mini_module($module, $generate_cache = true)
 {
     $info_module = load_ini_file(PATH_TO_ROOT . '/' . $module . '/lang/', get_ulang());
     if (empty($info_module) || empty($info_module['mini_module'])) {
         return false;
     }
     $mini_modules_menus = parse_ini_array($info_module['mini_module']);
     if (empty($mini_modules_menus)) {
         return false;
     }
     $installed = false;
     foreach ($mini_modules_menus as $filename => $location) {
         if (file_exists(PATH_TO_ROOT . '/' . $module . '/' . $filename)) {
             $file = explode('.', $filename, 2);
             if (!is_array($file) || count($file) < 1) {
                 continue;
             }
             include_once PATH_TO_ROOT . '/' . $module . '/' . $filename;
             if (!function_exists($file[0])) {
                 continue;
             }
             $menu = new ModuleMiniMenu($module, $file[0]);
             $menu->enabled(false);
             $menu->set_auth(array('r1' => MENU_AUTH_BIT, 'r0' => MENU_AUTH_BIT, 'r-1' => MENU_AUTH_BIT));
             $menu->set_block(MenuService::str_to_location($location));
             MenuService::save($menu);
             if ($generate_cache) {
                 MenuService::generate_cache();
             }
             $installed = true;
         }
     }
     return $installed;
 }
Пример #7
0
    }
    $key = array_search('default', $tpl_array);
    if (isset($key)) {
        unset($tpl_array[$key]);
    }
    $result = $Sql->query_while("SELECT theme \n\tFROM " . DB_TABLE_THEMES . "", __LINE__, __FILE__);
    while ($row = $Sql->fetch_assoc($result)) {
        $key = array_search($row['theme'], $tpl_array);
        if ($key !== false) {
            unset($tpl_array[$key]);
        }
    }
    $Sql->query_close($result);
    $array_ranks = array(-1 => $LANG['guest'], 0 => $LANG['member'], 1 => $LANG['modo'], 2 => $LANG['admin']);
    foreach ($tpl_array as $theme_array => $value_array) {
        $info_theme = load_ini_file('../templates/' . $value_array . '/config/', get_ulang());
        $options = '';
        for ($i = -1; $i <= 2; $i++) {
            $selected = $i == -1 ? 'selected="selected"' : '';
            $options .= '<option value="' . $i . '" ' . $selected . '>' . $array_ranks[$i] . '</option>';
        }
        $Template->assign_block_vars('list', array('IDTHEME' => $value_array, 'THEME' => $info_theme['name'], 'ICON' => $value_array, 'VERSION' => $info_theme['version'], 'AUTHOR' => !empty($info_theme['author_mail']) ? '<a href="mailto:' . $info_theme['author_mail'] . '">' . $info_theme['author'] . '</a>' : $info_theme['author'], 'AUTHOR_WEBSITE' => !empty($info_theme['author_link']) ? '<a href="' . $info_theme['author_link'] . '"><img src="../templates/' . get_utheme() . '/images/' . get_ulang() . '/user_web.png" alt="" /></a>' : '', 'DESC' => $info_theme['info'], 'COMPAT' => $info_theme['compatibility'], 'HTML_VERSION' => $info_theme['html_version'], 'CSS_VERSION' => $info_theme['css_version'], 'MAIN_COLOR' => $info_theme['main_color'], 'VARIABLE_WIDTH' => $info_theme['variable_width'] ? $LANG['yes'] : $LANG['no'], 'WIDTH' => $info_theme['width'], 'OPTIONS' => $options));
        $z++;
    }
    if ($z != 0) {
        $Template->assign_vars(array('C_THEME_PRESENT' => true));
    } else {
        $Template->assign_vars(array('C_NO_THEME_PRESENT' => true));
    }
    $Template->pparse('admin_themes_add');
}
Пример #8
0
define('TITLE', $LANG['administration']);
require_once '../admin/admin_header.php';
$update = !empty($_GET['update']) ? true : false;
if ($update) {
    $module_name = retrieve(GET, 'update', '');
    if (empty($module_name)) {
        foreach ($_POST as $key => $value) {
            if ($value == $LANG['update_module']) {
                $module_name = $key;
            }
        }
        $activ_module = retrieve(POST, $module_name . 'activ', 0);
    }
    $ckeck_module = $Sql->query("SELECT COUNT(*) FROM " . DB_TABLE_MODULES . " WHERE name = '" . strprotect($module_name) . "'", __LINE__, __FILE__);
    if (!empty($ckeck_module)) {
        $info_module = load_ini_file('../' . $module_name . '/lang/', get_ulang());
        $previous_version = $Sql->query("SELECT version FROM " . DB_TABLE_MODULES . " WHERE name = '" . strprotect($module_name) . "'", __LINE__, __FILE__);
        $dir_db_module = get_ulang();
        $dir = '../' . $module_name . '/db';
        import('io/filesystem/folder');
        $folder_path = new Folder($dir . '/' . $dir_db_module);
        foreach ($folder_path->get_folders('`^[a-z0-9_ -]+$`i') as $dir) {
            $dir_db_module = $dir->get_name();
            break;
        }
        $filesupdate = array();
        $dir_db = '../' . urldecode($module_name) . '/db/' . $dir_db_module . '/';
        $folder_path = new Folder($dir_db);
        foreach ($folder_path->get_files('`.*\\.(php|sql)$`i') as $files) {
            $file = $files->get_name();
            if (strpos($file, DBTYPE) !== false) {
Пример #9
0
        $Cache = new Cache();
        $Cache->load('config');
        $Cache->load('modules');
        $Cache->load('themes');
        $template->assign_vars(array('C_END' => true, 'CONTENTS' => sprintf($LANG['end_installation']), 'L_ADMIN_INDEX' => $LANG['admin_index'], 'L_SITE_INDEX' => $LANG['site_index'], 'U_ADMIN_INDEX' => '../admin/admin_index.php', 'U_INDEX' => '..' . $CONFIG['start_page']));
        import('core/updates');
        new Updates();
        $Sql->close();
        break;
}
$steps = array(array($LANG['introduction'], 'intro.png', 0), array($LANG['license'], 'license.png', 10), array($LANG['config_server'], 'config.png', 30), array($LANG['database_config'], 'database.png', 40), array($LANG['advanced_config'], 'advanced_config.png', 80), array($LANG['administrator_account_creation'], 'admin.png', 90), array($LANG['end'], 'end.png', 100));
$step_name = $steps[$step - 1][0];
import('io/filesystem/folder');
$lang_dir = new Folder('../lang');
foreach ($lang_dir->get_folders('`[a-z_-]`i') as $folder) {
    $info_lang = load_ini_file('../lang/', $folder->get_name());
    if (!empty($info_lang['name'])) {
        $template->assign_block_vars('lang', array('LANG' => $folder->get_name(), 'LANG_NAME' => $info_lang['name'], 'SELECTED' => $folder->get_name() == $lang ? 'selected="selected"' : ''));
        if ($folder->get_name() == $lang) {
            $template->assign_vars(array('LANG_IDENTIFIER' => $info_lang['identifier']));
        }
    }
}
$template->assign_vars(array('PATH_TO_ROOT' => TPL_PATH_TO_ROOT, 'LANG' => $lang, 'NUM_STEP' => $step, 'PROGRESS_LEVEL' => $steps[$step - 1][2], 'L_TITLE' => $LANG['page_title'] . ' - ' . $step_name, 'L_STEP' => $step_name, 'L_STEPS_LIST' => $LANG['steps_list'], 'L_LICENSE' => $LANG['license'], 'L_INSTALL_PROGRESS' => $LANG['install_progress'], 'L_APPENDICES' => $LANG['appendices'], 'L_DOCUMENTATION' => $LANG['documentation'], 'U_DOCUMENTATION' => $LANG['documentation_link'], 'L_RESTART_INSTALL' => $LANG['restart_installation'], 'L_CONFIRM_RESTART' => $LANG['confirm_restart_installation'], 'L_LANG' => $LANG['change_lang'], 'L_CHANGE' => $LANG['change'], 'L_YES' => $LANG['yes'], 'L_NO' => $LANG['no'], 'L_UNKNOWN' => $LANG['unknown'], 'L_POWERED_BY' => $LANG['powered_by'], 'PHPBOOST_VERSION' => UPDATE_VERSION, 'L_PHPBOOST_RIGHT' => $LANG['phpboost_right'], 'U_RESTART' => add_lang('install.php')));
for ($i = 1; $i <= floor($steps[$step - 1][2] * 24 / 100); $i++) {
    $template->assign_block_vars('progress_bar', array());
}
for ($i = 1; $i <= STEPS_NUMBER; $i++) {
    if ($i < $step) {
        $row_class = 'row_success';
    } elseif ($i == $step && $i == STEPS_NUMBER) {
Пример #10
0
 $array_identifier = '';
 $lang_identifier = '../images/stats/other.png';
 foreach ($LANGS_CONFIG as $lang => $array_info) {
     $info_lang = load_ini_file('../lang/', $lang);
     $selected = '';
     if ($CONFIG['lang'] == $lang) {
         $selected = ' selected="selected"';
         $lang_identifier = '../images/stats/countries/' . $info_lang['identifier'] . '.png';
     }
     $array_identifier .= 'array_identifier[\'' . $lang . '\'] = \'' . $info_lang['identifier'] . '\';' . "\n";
     $Template->assign_block_vars('select_lang', array('NAME' => !empty($info_lang['name']) ? $info_lang['name'] : $lang, 'IDNAME' => $lang, 'SELECTED' => $selected));
 }
 foreach ($THEME_CONFIG as $theme => $array_info) {
     if ($theme != 'default') {
         $selected = $CONFIG['theme'] == $theme ? ' selected="selected"' : '';
         $info_theme = load_ini_file('../templates/' . $theme . '/config/', get_ulang());
         $Template->assign_block_vars('select_theme', array('NAME' => $info_theme['name'], 'IDNAME' => $theme, 'SELECTED' => $selected));
     }
 }
 $editors = array('bbcode' => 'BBCode', 'tinymce' => 'Tinymce');
 $editor_options = '';
 foreach ($editors as $code => $name) {
     $selected = $code == $mbr['user_editor'] ? 'selected="selected"' : '';
     $editor_options .= '<option value="' . $code . '" ' . $selected . '>' . $name . '</option>';
 }
 $timezone_options = '';
 for ($i = -12; $i <= 14; $i++) {
     $selected = $i == $mbr['user_timezone'] ? 'selected="selected"' : '';
     $name = !empty($i) ? $i > 0 ? ' + ' . $i : ' - ' . -$i : '';
     $timezone_options .= '<option value="' . $i . '" ' . $selected . '> [GMT' . $name . ']</option>';
 }
Пример #11
0
    foreach ($lang_folder_path->get_folders('`^[a-z0-9_ -]+$`i') as $lang) {
        $dir_array[] = $lang->get_name();
    }
    $result = $Sql->query_while("SELECT lang \n\tFROM " . PREFIX . "lang", __LINE__, __FILE__);
    while ($row = $Sql->fetch_assoc($result)) {
        $key = array_search($row['lang'], $dir_array);
        if ($key !== false) {
            unset($dir_array[$key]);
        }
    }
    $Sql->query_close($result);
    $z = 0;
    $array_ranks = array(-1 => $LANG['guest'], 0 => $LANG['member'], 1 => $LANG['modo'], 2 => $LANG['admin']);
    foreach ($dir_array as $lang_array => $value_array) {
        $options = '';
        for ($i = -1; $i <= 2; $i++) {
            $selected = $i == -1 ? 'selected="selected"' : '';
            $options .= '<option value="' . $i . '" ' . $selected . '>' . $array_ranks[$i] . '</option>';
        }
        $info_lang = load_ini_file('../lang/', $value_array);
        $Template->assign_block_vars('list', array('IDLANG' => $value_array, 'LANG' => $info_lang['name'], 'IDENTIFIER' => $info_lang['identifier'], 'AUTHOR' => !empty($info_lang['author_mail']) ? '<a href="mailto:' . $info_lang['author_mail'] . '">' . $info_lang['author'] . '</a>' : $info_lang['author'], 'AUTHOR_WEBSITE' => !empty($info_lang['author_link']) ? '<a href="' . $info_lang['author_link'] . '"><img src="../templates/' . get_utheme() . '/images/' . get_ulang() . '/user_web.png" alt="" /></a>' : '', 'COMPAT' => $info_lang['compatibility'], 'OPTIONS' => $options));
        $z++;
    }
    if ($z != 0) {
        $Template->assign_vars(array('C_LANG_PRESENT' => true));
    } else {
        $Template->assign_vars(array('C_NO_LANG_PRESENT' => true));
    }
    $Template->pparse('admin_lang_add');
}
require_once '../admin/admin_footer.php';
 function uninstall_module($module_id, $drop_files)
 {
     global $Cache, $Sql, $CONFIG, $MODULES;
     $module_name = $Sql->query("SELECT name FROM " . DB_TABLE_MODULES . " WHERE id = '" . $module_id . "'", __LINE__, __FILE__);
     if (!empty($module_id) && !empty($module_name)) {
         $Sql->query_inject("DELETE FROM " . DB_TABLE_MODULES . " WHERE id = '" . $module_id . "'", __LINE__, __FILE__);
         $info_module = load_ini_file(PATH_TO_ROOT . '/' . $module_name . '/lang/', get_ulang());
         $Cache->delete_file($module_name);
         if (!empty($info_module['com'])) {
             $Sql->query_inject("DELETE FROM " . DB_TABLE_COM . " WHERE script = '" . addslashes($info_module['com']) . "'", __LINE__, __FILE__);
         }
         if (!empty($info_module)) {
             $Sql->query_inject("DELETE FROM " . DB_TABLE_CONFIGS . " WHERE name = '" . addslashes($module_name) . "'", __LINE__, __FILE__);
         }
         import('core/menu_service');
         MenuService::delete_mini_module($module_name);
         MenuService::delete_module_feeds_menus($module_name);
         $dir_db_module = get_ulang();
         $dir = PATH_TO_ROOT . '/' . $module_name . '/db';
         import('io/filesystem/folder');
         $folder_path = new Folder($dir . '/' . $dir_db_module);
         foreach ($folder_path->get_folders('`^[a-z0-9_ -]+$`i') as $dir) {
             $dir_db_module = $dir->get_name();
             break;
         }
         if (file_exists(PATH_TO_ROOT . '/' . $module_name . '/db/' . $dir_db_module . '/uninstall_' . $module_name . '.' . DBTYPE . '.sql')) {
             $Sql->parse(PATH_TO_ROOT . '/' . $module_name . '/db/' . $dir_db_module . '/uninstall_' . $module_name . '.' . DBTYPE . '.sql', PREFIX);
         }
         if (file_exists(PATH_TO_ROOT . '/' . $module_name . '/db/' . $dir_db_module . '/uninstall_' . $module_name . '.php')) {
             @(include_once PATH_TO_ROOT . '/' . $module_name . '/db/' . $dir_db_module . '/uninstall_' . $module_name . '.php');
         }
         $Cache->Generate_file('modules');
         $Cache->Generate_file('css');
         MenuService::generate_cache();
         import('content/syndication/feed');
         Feed::clear_cache();
         if ($CONFIG['rewrite'] == 1 && !empty($info_module['url_rewrite'])) {
             $Cache->Generate_file('htaccess');
         }
         if ($drop_files) {
             $folder = new Folder(PATH_TO_ROOT . '/' . $module_name);
             if (!$folder->delete()) {
                 return MODULE_FILES_COULD_NOT_BE_DROPPED;
             }
         }
         return MODULE_UNINSTALLED;
     } else {
         return NOT_INSTALLED_MODULE;
     }
 }
Пример #13
0
        $base = PATH_TO_ROOT . '/templates/' . get_utheme() . '/modules/' . $module . '/';
        foreach ($array_alternative_css as $alternative) {
            $file = $base . $alternative . '.css';
            if (file_exists($file)) {
                $alternative = $file;
            } else {
                $alternative = PATH_TO_ROOT . '/' . $module . '/templates/' . $alternative . '.css';
            }
            $alternative_css .= '<link rel="stylesheet" href="' . $alternative . '" type="text/css" media="screen, handheld" />' . "\n";
        }
    }
}
$Template->assign_vars(array('L_XML_LANGUAGE' => $LANG['xml_lang'], 'SITE_NAME' => $CONFIG['site_name'], 'TITLE' => TITLE, 'PATH_TO_ROOT' => TPL_PATH_TO_ROOT, 'SID' => SID, 'LANG' => get_ulang(), 'THEME' => get_utheme(), 'ALTERNATIVE_CSS' => $alternative_css, 'C_BBCODE_TINYMCE_MODE' => $User->get_attribute('user_editor') == 'tinymce', 'L_ADMINISTRATION' => $LANG['administration'], 'L_INDEX' => $LANG['index'], 'L_SITE' => $LANG['site'], 'L_INDEX_SITE' => $LANG['site'], 'L_INDEX_ADMIN' => $LANG['administration'], 'L_DISCONNECT' => $LANG['disconnect'], 'L_TOOLS' => $LANG['tools'], 'L_CONFIGURATION' => $LANG['configuration'], 'L_CONFIG_ADVANCED' => $LANG['config_advanced'], 'L_ADD' => $LANG['add'], 'L_ADD_CONTENT_MENU' => $LANG['menus_content_add'], 'L_ADD_LINKS_MENU' => $LANG['menus_links_add'], 'L_ADD_FEED_MENU' => $LANG['menus_feed_add'], 'L_MANAGEMENT' => $LANG['management'], 'L_PUNISHEMENT' => $LANG['punishement'], 'L_UPDATE_MODULES' => $LANG['update_module'], 'L_SITE_LINK' => $LANG['link_management'], 'L_SITE_MENU' => $LANG['menu_management'], 'L_MODERATION' => $LANG['moderation'], 'L_MAINTAIN' => $LANG['maintain'], 'L_USER' => $LANG['member_s'], 'L_EXTEND_FIELD' => $LANG['extend_field'], 'L_RANKS' => $LANG['ranks'], 'L_TERMS' => $LANG['terms'], 'L_GROUP' => $LANG['group'], 'L_CONTENTS' => $LANG['content'], 'L_PAGES' => $LANG['pages'], 'L_FILES' => $LANG['files'], 'L_THEME' => $LANG['themes'], 'L_LANG' => $LANG['languages'], 'L_SMILEY' => $LANG['smile'], 'L_ADMINISTRATOR_ALERTS' => $LANG['administrator_alerts'], 'L_STATS' => $LANG['stats'], 'L_ERRORS' => $LANG['errors'], 'L_SERVER' => $LANG['server'], 'L_PHPINFO' => $LANG['phpinfo'], 'L_SYSTEM_REPORT' => $LANG['system_report'], 'L_COMMENTS' => $LANG['comments'], 'L_UPDATER' => $LANG['updater'], 'L_KERNEL' => $LANG['kernel'], 'L_MODULES' => $LANG['modules'], 'L_THEMES' => $LANG['themes'], 'L_CACHE' => $LANG['cache'], 'L_SYNDICATION' => $LANG['syndication'], 'L_EXTEND_MENU' => $LANG['extend_menu'], 'L_CONTENT_CONFIG' => $LANG['content_config'], 'U_INDEX_SITE' => get_start_page(), 'L_WEBSITE_UPDATES' => $LANG['website_updates']));
$modules_config = array();
foreach ($MODULES as $name => $array) {
    $array_info = load_ini_file(PATH_TO_ROOT . '/' . $name . '/lang/', get_ulang());
    if (is_array($array_info)) {
        $array_info['module_name'] = $name;
        $modules_config[$array_info['name']] = $array_info;
    }
}
ksort($modules_config);
$array_pos = array(0, 4, 3, 3, 3, 1);
$menus_numbers = array('index' => 1, 'administration' => 2, 'tools' => 3, 'members' => 4, 'content' => 5, 'modules' => 6);
foreach ($modules_config as $module_name => $auth) {
    $name = $modules_config[$module_name]['module_name'];
    if (is_array($modules_config[$module_name])) {
        $menu_pos_name = $modules_config[$module_name]['admin'];
        $menu_pos = 0;
        if (!empty($menu_pos_name) && !empty($menus_numbers[$menu_pos_name])) {
            $menu_pos = $menus_numbers[$menu_pos_name];
Пример #14
0
 function _get_htaccess()
 {
     global $CONFIG, $Sql;
     if ($CONFIG['rewrite']) {
         $htaccess_rules = 'Options +FollowSymlinks' . "\n" . 'RewriteEngine on' . "\n";
         $result = $Sql->query_while("SELECT name\n\t\t\tFROM " . PREFIX . "modules\n\t\t\tWHERE activ = 1", __LINE__, __FILE__);
         while ($row = $Sql->fetch_assoc($result)) {
             $get_info_modules = load_ini_file(PATH_TO_ROOT . '/' . $row['name'] . '/lang/', get_ulang());
             if (!empty($get_info_modules['url_rewrite'])) {
                 $htaccess_rules .= str_replace('\\n', "\n", str_replace('DIR', DIR, $get_info_modules['url_rewrite'])) . "\n\n";
             }
         }
         $htaccess_rules .= '# Core #' . "\n" . 'RewriteRule ^(.*)member/member-([0-9]+)-?([0-9]*)\\.php$ ' . DIR . '/member/member.php?id=$2&p=$3 [L,QSA]' . "\n" . 'RewriteRule ^(.*)member/pm-?([0-9]+)-?([0-9]{0,})-?([0-9]{0,})-?([0-9]{0,})-?([a-z_]{0,})\\.php$ ' . DIR . '/member/pm.php?pm=$2&id=$3&p=$4&quote=$5 [L,QSA]';
         $htaccess_rules .= "\n\n" . '# Error page #' . "\n" . 'ErrorDocument 404 ' . HOST . DIR . '/member/404.php';
         global $CONFIG_UPLOADS;
         $this->load('uploads');
         if ($CONFIG_UPLOADS['bandwidth_protect']) {
             $htaccess_rules .= "\n\n# Bandwith protection #\nRewriteCond %{HTTP_REFERER} !^\$\nRewriteCond %{HTTP_REFERER} !^" . HOST . "\nReWriteRule .*upload/.*\$ - [F]";
         }
         $htaccess_rules .= "\n\n" . '# Avoid Hacking Attempt #' . "\n" . 'RewriteCond %{HTTP_USER_AGENT} libwww [NC]' . "\n" . 'RewriteRule .* - [F,L]';
     } else {
         $htaccess_rules = 'ErrorDocument 404 ' . HOST . DIR . '/member/404.php';
     }
     if (!empty($CONFIG['htaccess_manual_content'])) {
         $htaccess_rules .= "\n\n#Manual content\n" . $CONFIG['htaccess_manual_content'];
     }
     import('io/filesystem/file');
     $file = new File(PATH_TO_ROOT . '/.htaccess');
     $file->delete();
     $file->open();
     $file->write($htaccess_rules);
     $file->close();
 }
Пример #15
0
 function _get_table_module()
 {
     global $Sql, $CONFIG;
     $info_module = load_ini_file(PATH_TO_ROOT . '/' . $this->module_folder . '/lang/', get_ulang());
     $check_script = false;
     if (isset($info_module['note'])) {
         if ($info_module['note'] == $this->script) {
             $idprov = $Sql->query("SELECT id FROM " . PREFIX . $info_module['note'] . " WHERE id = '" . $this->idprov . "'", __LINE__, __FILE__);
             if ($idprov == $this->idprov) {
                 $check_script = true;
             }
         }
     }
     return $check_script ? $info_module['note'] : '0';
 }
Пример #16
0
        $Template->pparse('admin_lang_management');
    }
} else {
    $Template->set_filenames(array('admin_lang_management' => 'admin/admin_lang_management.tpl'));
    $Template->assign_vars(array('C_LANG_MAIN' => true, 'THEME' => get_utheme(), 'L_LANG_ADD' => $LANG['lang_add'], 'L_LANG_MANAGEMENT' => $LANG['lang_management'], 'L_LANG_ON_SERV' => $LANG['lang_on_serv'], 'L_LANG' => $LANG['lang'], 'L_EXPLAIN_DEFAULT_LANG' => $LANG['explain_default_lang'], 'L_NO_LANG_ON_SERV' => $LANG['no_lang_on_serv'], 'L_RANK' => $LANG['rank'], 'L_AUTHOR' => $LANG['author'], 'L_COMPAT' => $LANG['compat'], 'L_ACTIV' => $LANG['activ'], 'L_DESC' => $LANG['description'], 'L_YES' => $LANG['yes'], 'L_NO' => $LANG['no'], 'L_GUEST' => $LANG['guest'], 'L_UNINSTALL' => $LANG['uninstall']));
    $get_error = retrieve(GET, 'error', '');
    if ($get_error == 'incomplete') {
        $Errorh->handler($LANG['e_incomplete'], E_USER_NOTICE);
    } elseif (!empty($get_error) && isset($LANG[$get_error])) {
        $Errorh->handler($LANG[$get_error], E_USER_WARNING);
    }
    $z = 0;
    $array_ranks = array(-1 => $LANG['guest'], 0 => $LANG['member'], 1 => $LANG['modo'], 2 => $LANG['admin']);
    $result = $Sql->query_while("SELECT id, lang, activ, secure \n\tFROM " . PREFIX . "lang", __LINE__, __FILE__);
    while ($row = $Sql->fetch_assoc($result)) {
        $info_lang = load_ini_file('../lang/', $row['lang']);
        $options = '';
        for ($i = -1; $i <= 2; $i++) {
            $selected = $i == $row['secure'] ? 'selected="selected"' : '';
            $options .= '<option value="' . $i . '" ' . $selected . '>' . $array_ranks[$i] . '</option>';
        }
        $default_lang = $row['lang'] == $CONFIG['lang'];
        $Template->assign_block_vars('list', array('C_LANG_DEFAULT' => $default_lang ? true : false, 'C_LANG_NOT_DEFAULT' => !$default_lang ? true : false, 'IDLANG' => $row['id'], 'LANG' => $info_lang['name'], 'IDENTIFIER' => $info_lang['identifier'], 'AUTHOR' => !empty($info_lang['author_mail']) ? '<a href="mailto:' . $info_lang['author_mail'] . '">' . $info_lang['author'] . '</a>' : $info_lang['author'], 'AUTHOR_WEBSITE' => !empty($info_lang['author_link']) ? '<a href="' . $info_lang['author_link'] . '"><img src="../templates/' . get_utheme() . '/images/' . get_ulang() . '/user_web.png" alt="" /></a>' : '', 'COMPAT' => $info_lang['compatibility'], 'OPTIONS' => $options, 'LANG_ACTIV' => $row['activ'] == 1 ? 'checked="checked"' : '', 'LANG_UNACTIV' => $row['activ'] == 0 ? 'checked="checked"' : ''));
        $z++;
    }
    $Sql->query_close($result);
    if ($z != 0) {
        $Template->assign_vars(array('C_LANG_PRESENT' => true));
    } else {
        $Template->assign_vars(array('C_NO_LANG_PRESENT' => true));
    }
Пример #17
0
} else {
    $Template->set_filenames(array('admin_modules_management' => 'admin/admin_modules_management.tpl'));
    $Template->assign_vars(array('C_MODULES_LIST' => true, 'THEME' => get_utheme(), 'LANG' => get_ulang(), 'L_MODULES_MANAGEMENT' => $LANG['modules_management'], 'L_ADD_MODULES' => $LANG['add_modules'], 'L_UPDATE_MODULES' => $LANG['update_modules'], 'L_MODULES_INSTALLED' => $LANG['modules_installed'], 'L_NAME' => $LANG['name'], 'L_DESC' => $LANG['description'], 'L_ACTIV' => $LANG['activ'], 'L_AUTHOR' => $LANG['author'], 'L_COMPAT' => $LANG['compat'], 'L_USE_SQL' => $LANG['use_sql'], 'L_ADMIN' => $LANG['administration'], 'L_USE_CACHE' => $LANG['use_cache'], 'L_ALTERNATIVE_CSS' => $LANG['alternative_css'], 'L_STARTEABLE_PAGE' => $LANG['starteable_page'], 'L_YES' => $LANG['yes'], 'L_NO' => $LANG['no'], 'L_AUTH_ACCESS' => $LANG['auth_access'], 'L_UPDATE' => $LANG['update'], 'L_MODULES_AVAILABLE' => $LANG['modules_available'], 'L_NO_MODULES_INSTALLED' => $LANG['no_modules_installed'], 'L_UNINSTALL' => $LANG['uninstall'], 'L_UPDATE' => $LANG['update'], 'L_RESET' => $LANG['reset']));
    $get_error = retrieve(GET, 'error', '');
    if ($get_error == 'incomplete') {
        $Errorh->handler($LANG['e_incomplete'], E_USER_NOTICE);
    } elseif (!empty($get_error) && isset($LANG[$get_error])) {
        $Errorh->handler($LANG[$get_error], E_USER_WARNING);
    }
    $i = 0;
    $array_modules = array();
    $array_info_module = array();
    $array_ranks = array(-1 => $LANG['guest'], 0 => $LANG['member'], 1 => $LANG['modo'], 2 => $LANG['admin']);
    $result = $Sql->query_while("SELECT id, name, auth, activ\n\tFROM " . PREFIX . "modules\n\tORDER BY name", __LINE__, __FILE__);
    while ($row = $Sql->fetch_assoc($result)) {
        $array_info_module[$row['name']] = load_ini_file('../' . $row['name'] . '/lang/', get_ulang());
        $array_modules[$array_info_module[$row['name']]['name']] = array('id' => $row['id'], 'name' => $row['name'], 'auth' => $row['auth'], 'activ' => $row['activ']);
    }
    $Sql->query_close($result);
    ksort($array_modules);
    foreach ($array_modules as $name => $array_config) {
        $row = $array_modules[$name];
        $info_module = $array_info_module[$array_config['name']];
        $array_auth = !empty($row['auth']) ? unserialize($row['auth']) : array();
        $l_tables = $info_module['sql_table'] > 1 ? $LANG['tables'] : $LANG['table'];
        $Template->assign_block_vars('installed', array('ID' => $row['id'], 'NAME' => ucfirst($info_module['name']), 'ICON' => $row['name'], 'VERSION' => $info_module['version'], 'AUTHOR' => !empty($info_module['author_mail']) ? '<a href="mailto:' . $info_module['author_mail'] . '">' . $info_module['author'] . '</a>' : $info_module['author'], 'AUTHOR_WEBSITE' => !empty($info_module['author_link']) ? '<a href="' . $info_module['author_link'] . '"><img src="../templates/' . get_utheme() . '/images/' . get_ulang() . '/user_web.png" alt="" /></a>' : '', 'DESC' => $info_module['info'], 'COMPAT' => $info_module['compatibility'], 'ADMIN' => $info_module['admin'] ? $LANG['yes'] : $LANG['no'], 'USE_SQL' => $info_module['sql_table'] > 0 ? $LANG['yes'] : $LANG['no'], 'SQL_TABLE' => $info_module['sql_table'] > 0 ? '(' . $info_module['sql_table'] . ' ' . $l_tables . ')' : '', 'USE_CACHE' => $info_module['cache'] ? $LANG['yes'] : $LANG['no'], 'ALTERNATIVE_CSS' => $info_module['css'] ? $LANG['yes'] : $LANG['no'], 'STARTEABLE_PAGE' => $info_module['starteable_page'] ? $LANG['yes'] : $LANG['no'], 'ACTIV_ENABLED' => $row['activ'] == 1 ? 'checked="checked"' : '', 'ACTIV_DISABLED' => $row['activ'] == 0 ? 'checked="checked"' : '', 'AUTH_MODULES' => Authorizations::generate_select(ACCESS_MODULE, $array_auth, array(2 => true), $row['id'])));
        $i++;
    }
    if ($i == 0) {
        $Template->assign_vars(array('C_NO_MODULE_INSTALLED' => true));
    } else {
Пример #18
0
<?php

########################admin_body_footer.tpl#######################
$Sql->close();
$Template->set_filenames(array('admin_footer' => 'admin/admin_footer.tpl'));
$THEME = load_ini_file(PATH_TO_ROOT . '/templates/' . get_utheme() . '/config/', get_ulang());
$Template->assign_vars(array('HOST' => HOST, 'DIR' => DIR, 'VERSION' => $CONFIG['version'], 'THEME' => get_utheme(), 'C_DISPLAY_AUTHOR_THEME' => $CONFIG['theme_author'] ? true : false, 'L_POWERED_BY' => $LANG['powered_by'], 'L_PHPBOOST_RIGHT' => $LANG['phpboost_right'], 'L_THEME' => $LANG['theme'], 'L_THEME_NAME' => $THEME['name'], 'L_BY' => strtolower($LANG['by']), 'L_THEME_AUTHOR' => $THEME['author'], 'U_THEME_AUTHOR_LINK' => $THEME['author_link'], 'PHPBOOST_VERSION' => $CONFIG['version']));
if ($CONFIG['bench']) {
    $Bench->stop();
    $Template->assign_vars(array('C_DISPLAY_BENCH' => true, 'BENCH' => $Bench->to_string(), 'REQ' => $Sql->get_executed_requests_number(), 'L_UNIT_SECOND' => HOST, 'L_REQ' => $LANG['sql_req'], 'L_ACHIEVED' => $LANG['achieved'], 'L_UNIT_SECOND' => $LANG['unit_seconds_short']));
}
$Template->pparse('admin_footer');
ob_end_flush();
Пример #19
0
    if (!$lock_file->exists()) {
        $lock_file->write('');
        $lock_file->flush();
    }
    $lock_file->lock(false);
    $yesterday_timestamp = time() - 86400;
    if ((int) $Sql->query("\n\t    SELECT COUNT(*)\n            FROM " . DB_TABLE_STATS . "\n            WHERE stats_year = '" . gmdate_format('Y', $yesterday_timestamp, TIMEZONE_SYSTEM) . "' AND\n                stats_month = '" . gmdate_format('m', $yesterday_timestamp, TIMEZONE_SYSTEM) . "' AND\n                stats_day = '" . gmdate_format('d', $yesterday_timestamp, TIMEZONE_SYSTEM) . "'", __LINE__, __FILE__) == 0) {
        $Cache->generate_file('day');
        require_once PATH_TO_ROOT . '/kernel/changeday.php';
        change_day();
    }
    $lock_file->close();
}
define('MODULE_NAME', get_module_name());
if (isset($MODULES[MODULE_NAME])) {
    if ($MODULES[MODULE_NAME]['activ'] == 0) {
        $Errorh->handler('e_unactivated_module', E_USER_REDIRECT);
    } else {
        if (!$User->check_auth($MODULES[MODULE_NAME]['auth'], ACCESS_MODULE)) {
            $Errorh->handler('e_auth', E_USER_REDIRECT);
        }
    }
} elseif (!in_array(MODULE_NAME, array('member', 'admin', 'kernel', ''))) {
    $array_info_module = load_ini_file(PATH_TO_ROOT . '/' . MODULE_NAME . '/lang/', get_ulang());
    if (!empty($array_info_module['name'])) {
        $Errorh->handler('e_uninstalled_module', E_USER_REDIRECT);
    }
}
if ($User->check_level(MEMBER_LEVEL)) {
    $Session->csrf_post_protect();
}
Пример #20
0
    $Template->assign_vars(array('JS_LANG_IDENTIFIER' => $array_identifier, 'IMG_LANG_IDENTIFIER' => $lang_identifier));
    $tpl_array = array();
    $lang_folder_path = new Folder('../templates/');
    foreach ($lang_folder_path->get_folders('`^[a-z0-9_ -]+$`i') as $lang) {
        $tpl_array[] = $lang->get_name();
    }
    $theme_array_bdd = array();
    $result = $Sql->query_while("SELECT theme \n\tFROM " . DB_TABLE_THEMES . "", __LINE__, __FILE__);
    while ($row = $Sql->fetch_assoc($result)) {
        if (array_search($row['theme'], $tpl_array) !== false) {
            $theme_array_bdd[] = $row['theme'];
        }
    }
    $Sql->query_close($result);
    foreach ($theme_array_bdd as $theme_array => $theme_value) {
        $theme_info = load_ini_file('../templates/' . $theme_value . '/config/', get_ulang());
        if ($theme_info) {
            $theme_name = !empty($theme_info['name']) ? $theme_info['name'] : $theme_value;
            $selected = $theme_value == $CONFIG['theme'] ? 'selected="selected"' : '';
            $Template->assign_block_vars('select', array('THEME' => '<option value="' . $theme_value . '" ' . $selected . '>' . $theme_name . '</option>'));
        }
    }
    $Template->pparse('admin_config');
}
if (!empty($_GET['unlock'])) {
    import('io/mail');
    $Mail = new Mail();
    $unlock_admin_clean = substr(strhash(uniqid(mt_rand(), true)), 0, 18);
    $unlock_admin = strhash($unlock_admin_clean);
    $CONFIG['unlock_admin'] = $unlock_admin;
    $Sql->query_inject("UPDATE " . DB_TABLE_CONFIGS . " SET value = '" . addslashes(serialize($CONFIG)) . "' WHERE name = 'config'", __LINE__, __FILE__);
Пример #21
0
        $creation_date = $this_contribution->get_creation_date();
        $fixing_date = $this_contribution->get_fixing_date();
        if ($User->check_auth($this_contribution->get_auth(), CONTRIBUTION_AUTH_BIT) || $User->get_attribute('user_id') == $this_contribution->get_poster_id()) {
            if ($num_contributions > CONTRIBUTIONS_PER_PAGE * ($pagination->get_current_page() - 1) && $num_contributions <= CONTRIBUTIONS_PER_PAGE * $pagination->get_current_page()) {
                $template->assign_block_vars('contributions', array('ENTITLED' => $this_contribution->get_entitled(), 'MODULE' => $this_contribution->get_module_name(), 'STATUS' => $this_contribution->get_status_name(), 'CREATION_DATE' => $creation_date->format(DATE_FORMAT_SHORT), 'FIXING_DATE' => $fixing_date->format(DATE_FORMAT_SHORT), 'POSTER' => $this_contribution->get_poster_login(), 'FIXER' => $this_contribution->get_fixer_login(), 'ACTIONS' => '', 'U_FIXER_PROFILE' => PATH_TO_ROOT . '/member/' . url('member.php?id=' . $this_contribution->get_fixer_id(), 'member-' . $this_contribution->get_fixer_id() . '.php'), 'U_POSTER_PROFILE' => PATH_TO_ROOT . '/member/' . url('member.php?id=' . $this_contribution->get_poster_id(), 'member-' . $this_contribution->get_poster_id() . '.php'), 'U_CONSULT' => PATH_TO_ROOT . '/member/' . url('contribution_panel.php?id=' . $this_contribution->get_id()), 'C_FIXED' => $this_contribution->get_status() == EVENT_STATUS_PROCESSED, 'C_PROCESSING' => $this_contribution->get_status() == EVENT_STATUS_BEING_PROCESSED));
            }
            $num_contributions++;
        }
    }
    if ($num_contributions > 1) {
        $template->assign_vars(array('PAGINATION' => $pagination->display('contribution_panel.php?p=%d&criteria=' . $criteria . '&order=' . $order, $num_contributions - 1, 'p', CONTRIBUTIONS_PER_PAGE, 3)));
    } else {
        $template->assign_vars(array('C_NO_CONTRIBUTION' => true, 'L_NO_CONTRIBUTION_TO_DISPLAY' => $LANG['no_contribution']));
    }
    define('NUMBER_OF_MODULES_PER_LINE', 4);
    $i_module = 0;
    foreach ($MODULES as $module_name => $module_infos) {
        $module_ini = load_ini_file(PATH_TO_ROOT . '/' . $module_name . '/lang/', get_ulang());
        if (!empty($module_ini['contribution_interface'])) {
            if ($i_module % NUMBER_OF_MODULES_PER_LINE == 0) {
                $template->assign_block_vars('row', array());
            }
            $template->assign_block_vars('row.module', array('WIDTH' => (int) (100.0 / NUMBER_OF_MODULES_PER_LINE), 'U_MODULE_LINK' => PATH_TO_ROOT . '/' . $module_name . '/' . url($module_ini['contribution_interface']), 'MODULE_ID' => $module_name, 'MODULE_NAME' => $module_ini['name'], 'LINK_TITLE' => sprintf($LANG['contribute_in_module_name'], $module_ini['name'])));
            $i_module++;
        }
    }
    $template->assign_vars(array('L_ENTITLED' => $LANG['contribution_entitled'], 'L_STATUS' => $LANG['contribution_status'], 'L_POSTER' => $LANG['contributor'], 'L_CREATION_DATE' => $LANG['contribution_creation_date'], 'L_FIXER' => $LANG['contribution_fixer'], 'L_FIXING_DATE' => $LANG['contribution_fixing_date'], 'L_MODULE' => $LANG['contribution_module'], 'L_CONTRIBUTION_PANEL' => $LANG['contribution_panel'], 'L_CONTRIBUTION_LIST' => $LANG['contribution_list'], 'L_CONTRIBUTE' => $LANG['contribute'], 'L_CONTRIBUTE_EXPLAIN' => $LANG['contribute_in_modules_explain'], 'L_NO_MODULE_IN_WHICH_CONTRIBUTE' => $LANG['no_module_to_contribute'], 'C_NO_MODULE_IN_WHICH_CONTRIBUTE' => $i_module == 0));
    $template->assign_vars(array('C_ORDER_ENTITLED_ASC' => $criteria == 'entitled' && $order == 'asc', 'U_ORDER_ENTITLED_ASC' => url('contribution_panel.php?p=' . $pagination->_get_var_page('p') . '&amp;criteria=entitled&amp;order=asc'), 'C_ORDER_ENTITLED_DESC' => $criteria == 'entitled' && $order == 'desc', 'U_ORDER_ENTITLED_DESC' => url('contribution_panel.php?p=' . $pagination->_get_var_page('p') . '&amp;criteria=entitled&amp;order=desc'), 'C_ORDER_MODULE_ASC' => $criteria == 'module' && $order == 'asc', 'U_ORDER_MODULE_ASC' => url('contribution_panel.php?p=' . $pagination->_get_var_page('p') . '&amp;criteria=module&amp;order=asc'), 'C_ORDER_MODULE_DESC' => $criteria == 'module' && $order == 'desc', 'U_ORDER_MODULE_DESC' => url('contribution_panel.php?p=' . $pagination->_get_var_page('p') . '&amp;criteria=module&amp;order=desc'), 'C_ORDER_STATUS_ASC' => $criteria == 'current_status' && $order == 'asc', 'U_ORDER_STATUS_ASC' => url('contribution_panel.php?p=' . $pagination->_get_var_page('p') . '&amp;criteria=current_status&amp;order=asc'), 'C_ORDER_STATUS_DESC' => $criteria == 'current_status' && $order == 'desc', 'U_ORDER_STATUS_DESC' => url('contribution_panel.php?p=' . $pagination->_get_var_page('p') . '&amp;criteria=current_status&amp;order=desc'), 'C_ORDER_CREATION_DATE_ASC' => $criteria == 'creation_date' && $order == 'asc', 'U_ORDER_CREATION_DATE_ASC' => url('contribution_panel.php?p=' . $pagination->_get_var_page('p') . '&amp;criteria=creation_date&amp;order=asc'), 'C_ORDER_CREATION_DATE_DESC' => $criteria == 'creation_date' && $order == 'desc', 'U_ORDER_CREATION_DATE_DESC' => url('contribution_panel.php?p=' . $pagination->_get_var_page('p') . '&amp;criteria=creation_date&amp;order=desc'), 'C_ORDER_FIXING_DATE_ASC' => $criteria == 'fixing_date' && $order == 'asc', 'U_ORDER_FIXING_DATE_ASC' => url('contribution_panel.php?p=' . $pagination->_get_var_page('p') . '&amp;criteria=fixing_date&amp;order=asc'), 'C_ORDER_FIXING_DATE_DESC' => $criteria == 'fixing_date' && $order == 'desc', 'U_ORDER_FIXING_DATE_DESC' => url('contribution_panel.php?p=' . $pagination->_get_var_page('p') . '&amp;criteria=fixing_date&amp;order=desc'), 'C_ORDER_POSTER_ASC' => $criteria == 'poster_id' && $order == 'asc', 'U_ORDER_POSTER_ASC' => url('contribution_panel.php?p=' . $pagination->_get_var_page('p') . '&amp;criteria=poster_id&amp;order=asc'), 'C_ORDER_POSTER_DESC' => $criteria == 'poster_id' && $order == 'desc', 'U_ORDER_POSTER_DESC' => url('contribution_panel.php?p=' . $pagination->_get_var_page('p') . '&amp;criteria=poster_id&amp;order=desc'), 'C_ORDER_FIXER_ASC' => $criteria == 'fixer_id' && $order == 'asc', 'U_ORDER_FIXER_ASC' => url('contribution_panel.php?p=' . $pagination->_get_var_page('p') . '&amp;criteria=fixer_id&amp;order=asc'), 'C_ORDER_FIXER_DESC' => $criteria == 'fixer_id' && $order == 'desc', 'U_ORDER_FIXER_DESC' => url('contribution_panel.php?p=' . $pagination->_get_var_page('p') . '&amp;criteria=fixer_id&amp;order=desc')));
}
$template->parse();
require_once '../kernel/footer.php';
Пример #22
0
 function _get_info_module()
 {
     global $Sql, $CONFIG;
     $info_module = load_ini_file(PATH_TO_ROOT . '/' . $this->module_folder . '/lang/', get_ulang());
     $check_script = false;
     if (isset($info_module['com'])) {
         if ($info_module['com'] == $this->script) {
             $info_sql_module = $Sql->query_array(PREFIX . strprotect($info_module['com']), "id", "nbr_com", "lock_com", "WHERE id = '" . $this->idprov . "'", __LINE__, __FILE__);
             if ($info_sql_module['id'] == $this->idprov) {
                 $check_script = true;
             }
         }
     }
     return $check_script ? array(strprotect($info_module['com']), $info_sql_module['nbr_com'], (bool) $info_sql_module['lock_com']) : array('', 0, 0);
 }
Пример #23
0
 for ($i = -12; $i <= 14; $i++) {
     $selected = $i == $CONFIG['timezone'] ? 'selected="selected"' : '';
     $name = !empty($i) ? $i > 0 ? ' + ' . $i : ' - ' . -$i : '';
     $select_timezone .= '<option value="' . $i . '" ' . $selected . '> [GMT' . $name . ']</option>';
 }
 $Template->assign_vars(array('JS_LANG_IDENTIFIER' => $array_identifier, 'IMG_LANG_IDENTIFIER' => $lang_identifier, 'SELECT_EDITORS' => $select_editors, 'SELECT_TIMEZONE' => $select_timezone, 'L_REQUIRE_MAIL' => $LANG['require_mail'], 'L_REQUIRE_PSEUDO' => $LANG['require_pseudo'], 'L_REQUIRE_PASSWORD' => $LANG['require_password'], 'L_REGISTER' => $LANG['register'], 'L_REQUIRE' => $LANG['require'], 'L_PASSWORD_SAME' => $LANG['e_pass_same'], 'L_MAIL_INVALID' => $LANG['e_mail_invalid'], 'L_PSEUDO_AUTH' => $LANG['e_pseudo_auth'], 'L_MAIL_AUTH' => $LANG['e_mail_auth'], 'L_MAIL' => $LANG['mail'], 'L_VALID' => $LANG['valid'], 'L_PSEUDO' => $LANG['pseudo'], 'L_PSEUDO_HOW' => $LANG['pseudo_how'], 'L_PASSWORD' => $LANG['password'], 'L_PASSWORD_HOW' => $LANG['password_how'], 'L_CONFIRM_PASSWORD' => $LANG['confirm_password'], 'L_VERIF_CODE' => $LANG['verif_code'], 'L_VERIF_CODE_EXPLAIN' => $LANG['verif_code_explain'], 'L_LANG_CHOOSE' => $LANG['choose_lang'], 'L_OPTIONS' => $LANG['options'], 'L_THEME_CHOOSE' => $LANG['choose_theme'], 'L_EDITOR_CHOOSE' => $LANG['choose_editor'], 'L_TIMEZONE_CHOOSE' => $LANG['timezone_choose'], 'L_TIMEZONE_CHOOSE_EXPLAIN' => $LANG['timezone_choose_explain'], 'L_HIDE_MAIL' => $LANG['hide_mail'], 'L_HIDE_MAIL_WHO' => $LANG['hide_mail_who'], 'L_INFO' => $LANG['info'], 'L_WEB_SITE' => $LANG['web_site'], 'L_LOCALISATION' => $LANG['localisation'], 'L_JOB' => $LANG['job'], 'L_HOBBIES' => $LANG['hobbies'], 'L_SEX' => $LANG['sex'], 'L_MALE' => $LANG['male'], 'L_FEMALE' => $LANG['female'], 'L_DATE_OF_BIRTH' => $LANG['date_of_birth'], 'L_DATE_FORMAT' => $LANG['date_birth_format'], 'L_SIGN' => $LANG['sign'], 'L_SIGN_WHERE' => $LANG['sign_where'], 'L_CONTACT' => $LANG['contact'], 'L_AVATAR_MANAGEMENT' => $LANG['avatar_gestion'], 'L_AVATAR_LINK' => $LANG['avatar_link'], 'L_AVATAR_LINK_WHERE' => $LANG['avatar_link_where'], 'L_WEIGHT_MAX' => $LANG['weight_max'], 'L_UPLOAD_AVATAR' => $LANG['upload_avatar'], 'L_UPLOAD_AVATAR_WHERE' => $LANG['upload_avatar_where'], 'L_SUBMIT' => $LANG['submit'], 'L_PREVIOUS_PASS' => $LANG['previous_password'], 'L_EDIT_JUST_IF_MODIF' => $LANG['fill_only_if_modified'], 'L_NEW_PASS' => $LANG['new_password'], 'L_CONFIRM_PASS' => $LANG['confirm_password'], 'L_LANG_CHOOSE' => $LANG['choose_lang'], 'L_HIDE_MAIL' => $LANG['hide_mail'], 'L_HIDE_MAIL_WHO' => $LANG['hide_mail_who'], 'L_INFO' => $LANG['info'], 'L_SITE_WEB' => $LANG['web_site'], 'L_LOCALISATION' => $LANG['localisation'], 'L_HEIGHT_MAX' => $LANG['height_max'], 'L_WIDTH_MAX' => $LANG['width_max']));
 if ($CONFIG_USER['force_theme'] == 0) {
     foreach ($THEME_CONFIG as $theme => $array_info) {
         if ($CONFIG['theme'] == $theme || $array_info['secure'] == -1 && $theme != 'default') {
             $selected = $CONFIG['theme'] == $theme ? ' selected="selected"' : '';
             $info_theme = load_ini_file('../templates/' . $theme . '/config/', $CONFIG['lang']);
             $Template->assign_block_vars('select_theme', array('NAME' => $info_theme['name'], 'IDNAME' => $theme, 'SELECTED' => $selected));
         }
     }
 } else {
     $theme_info = load_ini_file('/config/', get_ulang());
     $Template->assign_block_vars('select_theme', array('NAME' => !empty($theme_info['name']) ? $theme_info['name'] : $CONFIG['theme'], 'IDNAME' => $CONFIG['theme']));
 }
 $extend_field_exist = $Sql->query("SELECT COUNT(*) FROM " . DB_TABLE_MEMBER_EXTEND_CAT . " WHERE display = 1", __LINE__, __FILE__);
 if ($extend_field_exist > 0) {
     $Template->assign_vars(array('L_MISCELLANEOUS' => $LANG['miscellaneous']));
     $Template->assign_block_vars('miscellaneous', array());
     $result = $Sql->query_while("SELECT exc.name, exc.contents, exc.field, exc.required, exc.field_name, exc.possible_values, exc.default_values\n\t\t\tFROM " . DB_TABLE_MEMBER_EXTEND_CAT . " AS exc\n\t\t\tWHERE exc.display = 1\n\t\t\tORDER BY exc.class", __LINE__, __FILE__);
     while ($row = $Sql->fetch_assoc($result)) {
         $field = '';
         switch ($row['field']) {
             case 1:
                 $field = '<input type="text" size="30" name="' . $row['field_name'] . '" id="' . $row['field_name'] . '" class="text" value="' . $row['default_values'] . '" />';
                 break;
             case 2:
                 $field = '<textarea class="post" rows="4" cols="27" name="' . $row['field_name'] . '" id="' . $row['field_name'] . '">' . unparse($row['default_values']) . '</textarea>';
Пример #24
0
 function check_compatibility()
 {
     global $CONFIG;
     $current_version = '0';
     switch ($this->type) {
         case APPLICATION_TYPE__KERNEL:
             $current_version = phpboost_version();
             break;
         case APPLICATION_TYPE__MODULE:
             $kModules = array_keys($MODULES);
             foreach ($kModules as $module) {
                 if ($module == $this->name) {
                     $infos = load_ini_file(PATH_TO_ROOT . '/' . $module . '/lang/', get_ulang());
                     $current_version = $infos['version'];
                     break;
                 }
             }
             break;
         case APPLICATION_TYPE__TEMPLATE:
             global $THEME_CONFIG;
             $kThemes = array_keys($THEME_CONFIG);
             foreach ($kThemes as $theme) {
                 if ($theme == $this->name) {
                     $infos = get_ini_config(PATH_TO_ROOT . '/templates/' . $theme . '/config/', get_ulang());
                     $current_version = $infos['version'];
                     break;
                 }
             }
             break;
         default:
             return false;
     }
     if ($current_version == '0') {
         return false;
     }
     return version_compare($current_version, $this->get_version(), '<') > 0 && ($CONFIG['version'] >= $this->compatibility_min && ($this->compatibility_max == null || $CONFIG['version'] <= $this->compatibility_max && $this->compatibility_max >= $this->compatibility_min));
 }
Пример #25
0
<?php

require_once '../admin/admin_begin.php';
define('TITLE', $LANG['administration']);
require_once '../admin/admin_header.php';
$template = new Template('admin/admin_system_report.tpl');
$template->assign_vars(array('L_YES' => $LANG['yes'], 'L_NO' => $LANG['no'], 'L_UNKNOWN' => $LANG['unknown'], 'L_SYSTEM_REPORT' => $LANG['system_report'], 'L_SERVER' => $LANG['server'], 'L_PHPINFO' => $LANG['phpinfo'], 'L_PHP_VERSION' => $LANG['php_version'], 'L_DBMS_VERSION' => $LANG['dbms_version'], 'L_GD_LIBRARY' => $LANG['dg_library'], 'L_URL_REWRITING' => $LANG['url_rewriting'], 'L_REGISTER_GLOBALS_OPTION' => $LANG['register_globals_option'], 'L_SERVER_URL' => $LANG['serv_name'], 'L_SITE_PATH' => $LANG['serv_path'], 'L_PHPBOOST_CONFIG' => $LANG['phpboost_config'], 'L_KERNEL_VERSION' => $LANG['kernel_version'], 'L_DEFAULT_THEME' => $LANG['default_theme'], 'L_DEFAULT_LANG' => $LANG['default_language'], 'L_DEFAULT_EDITOR' => $LANG['choose_editor'], 'L_START_PAGE' => $LANG['start_page'], 'L_OUTPUT_GZ' => $LANG['output_gz'], 'L_COOKIE_NAME' => $LANG['cookie_name'], 'L_SESSION_LENGTH' => $LANG['session_time'], 'L_SESSION_GUEST_LENGTH' => $LANG['session invit'], 'L_DIRECTORIES_AUTH' => $LANG['directories_auth'], 'L_SUMMERIZATION' => $LANG['system_report_summerization'], 'L_SUMMERIZATION_EXPLAIN' => $LANG['system_report_summerization_explain']));
$temp_var = function_exists('apache_get_modules') ? apache_get_modules() : array();
$server_path = !empty($_SERVER['PHP_SELF']) ? $_SERVER['PHP_SELF'] : getenv('PHP_SELF');
if (!$server_path) {
    $server_path = !empty($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : getenv('REQUEST_URI');
}
$server_path = trim(str_replace('/admin', '', dirname($server_path)));
$server_name = 'http://' . (!empty($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : getenv('HTTP_HOST'));
$lang_ini_file = load_ini_file('../lang/', get_ulang());
$template_ini_file = load_ini_file('../templates/' . get_utheme() . '/config/', get_ulang());
$directories_summerization = '';
$directories_list = array('/', '/cache', '/cache/backup', '/cache/syndication/', '/cache/tpl', '/images/avatars', '/images/group', '/images/maths', '/images/smileys', '/lang', '/menus', '/templates', '/upload');
foreach ($directories_list as $dir) {
    $dir_status = is_dir('..' . $dir) && is_writable('..' . $dir);
    $template->assign_block_vars('directories', array('NAME' => $dir, 'C_AUTH_DIR' => $dir_status));
    $directories_summerization .= $dir . str_repeat(' ', 25 - strlen($dir)) . ": " . (int) $dir_status . "\n";
}
$summerization = "---------------------------------System report---------------------------------\n-----------------------------generated by PHPBoost-----------------------------\n\nSERVER CONFIGURATION-----------------------------------------------------------\n\nphp version              : " . phpversion() . "\ndbms version             : " . $Sql->get_dbms_version() . "\ngd library               : " . (int) @extension_loaded('gd') . "\nurl rewriting            : " . (function_exists('apache_get_modules') ? (int) (!empty($temp_var[5])) : "?") . "\nregister globals         : " . (int) (@ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on') . "\nserver url               : " . $server_name . "\nsite path                : " . $server_path . "\n\nPHPBOOST CONFIGURATION---------------------------------------------------------\n\nphpboost version         : " . phpboost_version() . "\nserver url               : " . $CONFIG['server_name'] . "\nsite path                : " . $CONFIG['server_path'] . "\ndefault theme            : " . $template_ini_file['name'] . "\ndefault language         : " . get_ulang() . "\ndefault editor           : " . $CONFIG['editor'] . "\nstart page               : " . $CONFIG['start_page'] . "\nurl rewriting            : " . $CONFIG['rewrite'] . "\noutput gz                : " . $CONFIG['ob_gzhandler'] . "\nsession cookie name      : " . $CONFIG['site_cookie'] . "\nsession length           : " . $CONFIG['site_session'] . "\nguest session length     : " . $CONFIG['site_session_invit'] . "\n\nDIRECTORIES AUTHORIZATIONS-----------------------------------------------------\n\n" . $directories_summerization;
$template->assign_vars(array('PHP_VERSION' => phpversion(), 'DBMS_VERSION' => $Sql->get_dbms_version(), 'C_SERVER_GD_LIBRARY' => @extension_loaded('gd'), 'C_URL_REWRITING_KNOWN' => function_exists('apache_get_modules'), 'C_SERVER_URL_REWRITING' => function_exists('apache_get_modules') ? !empty($temp_var[5]) : false, 'C_REGISTER_GLOBALS' => @ini_get('register_globals') == '1' || strtolower(@ini_get('register_globals')) == 'on', 'SERV_SERV_URL' => $server_name, 'SERV_SITE_PATH' => $server_path, 'KERNEL_VERSION' => phpboost_version(), 'KERNEL_SERV_URL' => $CONFIG['server_name'], 'KERNEL_SITE_PATH' => $CONFIG['server_path'], 'KERNEL_DEFAULT_THEME' => $template_ini_file['name'], 'KERNEL_DEFAULT_LANGUAGE' => $lang_ini_file['name'], 'KERNEL_DEFAULT_EDITOR' => $CONFIG['editor'] == 'tinymce' ? 'TinyMCE' : 'BBCode', 'KERNEL_START_PAGE' => $CONFIG['start_page'], 'C_KERNEL_URL_REWRITING' => (bool) $CONFIG['rewrite'], 'C_KERNEL_OUTPUT_GZ' => (bool) $CONFIG['ob_gzhandler'], 'COOKIE_NAME' => $CONFIG['site_cookie'], 'SESSION_LENGTH' => $CONFIG['site_session'], 'SESSION_LENGTH_GUEST' => $CONFIG['site_session_invit'], 'SUMMERIZATION' => $summerization));
$template->parse();
require_once '../admin/admin_footer.php';
Пример #26
0
    $installed_modules = array();
    $result = $Sql->query_while("SELECT id, name\n\tFROM " . PREFIX . "modules", __LINE__, __FILE__);
    while ($row = $Sql->fetch_assoc($result)) {
        $installed_modules[] = $row['name'];
    }
    $Sql->query_close($result);
    $root = PATH_TO_ROOT . '/';
    $i = 0;
    if (is_dir($root)) {
        import('io/filesystem/folder');
        $dir_array = array();
        $lang_folder_path = new Folder($root);
        foreach ($lang_folder_path->get_folders() as $odir) {
            $dir = $odir->get_name();
            if (!in_array($dir, $installed_modules) && $dir != 'lang') {
                $info_module = load_ini_file($root . $dir . '/lang/', get_ulang());
                if (!empty($info_module) && is_array($info_module)) {
                    $l_tables = $info_module['sql_table'] > 1 ? $LANG['tables'] : $LANG['table'];
                    $Template->assign_block_vars('available', array('ID' => $dir, 'NAME' => ucfirst($info_module['name']), 'ICON' => $dir, 'VERSION' => $info_module['version'], 'AUTHOR' => !empty($info_module['author_mail']) ? '<a href="mailto:' . $info_module['author_mail'] . '">' . $info_module['author'] . '</a>' : $info_module['author'], 'AUTHOR_WEBSITE' => !empty($info_module['author_link']) ? '<a href="' . $info_module['author_link'] . '"><img src="../templates/' . get_utheme() . '/images/' . get_ulang() . '/user_web.png" alt="" /></a>' : '', 'DESC' => $info_module['info'], 'COMPAT' => $info_module['compatibility'], 'USE_SQL' => $info_module['sql_table'] > 0 ? $LANG['yes'] : $LANG['no'], 'SQL_TABLE' => $info_module['sql_table'] > 0 ? '(' . $info_module['sql_table'] . ' ' . $l_tables . ')' : '', 'USE_CACHE' => $info_module['cache'] ? $LANG['yes'] : $LANG['no'], 'ALTERNATIVE_CSS' => $info_module['css'] ? $LANG['yes'] : $LANG['no'], 'STARTEABLE_PAGE' => $info_module['starteable_page'] ? $LANG['yes'] : $LANG['no'], 'ACTIV_ENABLED' => $row['activ'] == 1 ? 'checked="checked"' : '', 'ACTIV_DISABLED' => $row['activ'] == 0 ? 'checked="checked"' : ''));
                    $i++;
                }
            }
        }
    }
    if ($i == 0) {
        $Template->assign_vars(array('C_NO_MODULE' => true));
    } else {
        $Template->assign_vars(array('C_MODULES_AVAILABLE' => true));
    }
    $Template->pparse('admin_modules_add');
}