get_id() != 'menubar') return; $menu->register_block( new RegisteredBlock( 'mbLSM', 'lsm', 'LSM')); } function lsm_apply($menu_ref_arr) { global $template, $user, $template, $conf, $page; $menu = & $menu_ref_arr[0]; load_language('plugin.lang', LSM_PATH); $template->assign( array ( 'LSMTITLE' => l10n('Language'), ) ); if (($block = $menu->get_block( 'mbLSM' )) != null) { $template->set_template_dir(LSM_PATH.'template/'); $block->template = 'flags.tpl'; } if (isset($page['section']) and $page['section'] == 'additional_page' and isset($page['additional_page'])) { $base_url = make_index_url(array('section'=>'page')).'/'.(isset($page['additional_page']['permalink']) ? $page['additional_page']['permalink'] : $page['additional_page']['id']); } else { $base_url = duplicate_index_url(); } $available_lang = get_languages(); foreach ($available_lang as $code => $displayname) { $code2=explode("_", $code); $qlc = array ( 'url' => add_url_params($base_url, array('lang'=> $code)), 'alt' => ucwords($displayname), 'hreflang' =>$code2[0], 'img' => get_root_url().'language/'.$code.'/'.$code.'.jpg', ); $lsw['flags'][$code] = $qlc ; if ($code == $user['language']) { $lsw['Active'] = $qlc; } } $lsw['side'] = ceil(sqrt(count($available_lang))); $template->clear_assign('lang_switch'); $template->assign( array( 'lang_switch'=> $lsw, 'LSM_PATH' => LSM_PATH, ) ); } function reloadlang() { global $user; $same = $user['language']; if (isset($_GET['lang'])) { if (!empty($_GET['lang']) and file_exists(PHPWG_ROOT_PATH.'language/'.$_GET['lang'].'/common.lang.php')) { if (is_a_guest() or is_generic()) { pwg_set_session_var('lang_switch', $_GET['lang']); } else { $query = ' UPDATE '.USER_INFOS_TABLE.' SET language = \''.$_GET['lang'].'\' WHERE user_id = '.$user['id'].' ;'; pwg_query($query); } $user['language'] = $_GET['lang']; } } elseif ((is_a_guest() or is_generic())) { $user['language'] = pwg_get_session_var('lang_switch', $user['language']); } if ( $same !== $user['language']) { load_language('common.lang', '', array('language'=>$user['language'])); load_language( 'lang', PHPWG_ROOT_PATH.PWG_LOCAL_DIR, array( 'language' => $user['language'], 'no_fallback' => true, 'local' => true ) ); } if (defined('IN_ADMIN') and IN_ADMIN) { load_language('admin.lang', '', array('language'=>$user['language'])); } } ?>