-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 1049cce
Showing
3 changed files
with
224 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | ||
<html xmlns="http://www.w3.org/1999/xhtml"> | ||
<head> | ||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1256"/> | ||
<title>Powered by Kleeja</title> | ||
<style type="text/css">* { | ||
font-size: 100%; | ||
margin: 0; | ||
padding: 0; | ||
color: #CECFCE; | ||
} | ||
|
||
body { | ||
font-family: Tahoma, Arial, sans-serif; | ||
font-size: 100%; | ||
color: #69788E; | ||
margin: 10px 30px; | ||
background: #F7F7F7; | ||
} | ||
|
||
a:link, a:visited { | ||
text-decoration: none; | ||
color: #CECFCE; | ||
} | ||
|
||
a:active, a:hover { | ||
text-decoration: underline; | ||
color: #111; | ||
} | ||
|
||
h1 { | ||
font-family: "Trebuchet MS", Helvetica, sans-serif; | ||
font-size: 1.70em; | ||
font-weight: normal; | ||
color: #333333; | ||
margin-top: 0; | ||
margin-bottom: 10px; | ||
} | ||
|
||
.content_box { | ||
border: 1px dashed #CECFCE; | ||
background: #FFFFFF; | ||
padding: 10px; | ||
margin-right: auto; | ||
margin-left: auto; | ||
}</style> | ||
</head> | ||
<body title="كليجا"><br/> | ||
<div class="content_box"><h1><span style="font-size:250%;color:#D80000;">403 - Access forbidden!</span></h1></div> | ||
<br/> | ||
<div class="content_box"><span style="font-size: 140%">Powered by <a target="_blank" | ||
href="http://www.kleeja.com">Kleeja</a></span> | ||
</div> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,169 @@ | ||
<?php | ||
# Kleeja Plugin | ||
# language_switch | ||
# Version: 1.0 | ||
# Developer: Kleeja team | ||
|
||
# Prevent illegal run | ||
if (!defined('IN_PLUGINS_SYSTEM')) { | ||
exit(); | ||
} | ||
|
||
|
||
# Plugin Basic Information | ||
$kleeja_plugin['language_switch']['information'] = array( | ||
# The casucal name of this plugin, anything can a human being understands | ||
'plugin_title' => array( | ||
'en' => 'Language Switch', | ||
'ar' => 'تغيير اللغة' | ||
), | ||
# Who wrote this plugin? | ||
'plugin_developer' => 'Kleeja.com', | ||
# This plugin version | ||
'plugin_version' => '1.1', | ||
# Explain what is this plugin, why should I use it? | ||
'plugin_description' => array( | ||
'en' => 'A language switch box in the top of every page', | ||
'ar' => 'صندوق تغيير لغة في أعلى كل صفحة' | ||
), | ||
# Min version of Kleeja that's requiered to run this plugin | ||
'plugin_kleeja_version_min' => '2.0', | ||
# Max version of Kleeja that support this plugin, use 0 for unlimited | ||
'plugin_kleeja_version_max' => '3.9', | ||
# Should this plugin run before others?, 0 is normal, and higher number has high priority | ||
'plugin_priority' => 0 | ||
); | ||
|
||
//after installation message, you can remove it, it's not requiered | ||
$kleeja_plugin['language_switch']['first_run']['ar'] = " | ||
شكراً لاستخدامك هذه الإضافة قم بمراسلتنا بالأخطاء عند ظهورها على البريد: <br> | ||
[email protected] | ||
"; | ||
|
||
$kleeja_plugin['language_switch']['first_run']['en'] = " | ||
Thanks for using this plugin, to report bugs contact us: | ||
<br> | ||
[email protected] | ||
"; | ||
|
||
|
||
# Plugin Installation function | ||
$kleeja_plugin['language_switch']['install'] = function ($plg_id) | ||
{ | ||
// //new language variables | ||
// add_olang(array( | ||
// | ||
// ), | ||
// 'ar', | ||
// $plg_id); | ||
// | ||
// add_olang(array( | ||
// | ||
// ), | ||
// 'en', | ||
// $plg_id); | ||
}; | ||
|
||
|
||
//Plugin update function, called if plugin is already installed but version is different than current | ||
$kleeja_plugin['language_switch']['update'] = function ($old_version, $new_version) { | ||
// if(version_compare($old_version, '0.5', '<')){ | ||
// //... update to 0.5 | ||
// } | ||
// | ||
// if(version_compare($old_version, '0.6', '<')){ | ||
// //... update to 0.6 | ||
// } | ||
|
||
//you could use update_config, update_olang | ||
}; | ||
|
||
|
||
# Plugin Uninstallation, function to be called at unistalling | ||
$kleeja_plugin['language_switch']['uninstall'] = function ($plg_id) { | ||
//delete language variables | ||
// foreach (array('ar', 'en') as $language) { | ||
// delete_olang(null, $language, $plg_id); | ||
// } | ||
}; | ||
|
||
|
||
# Plugin functions | ||
$kleeja_plugin['language_switch']['functions'] = array( | ||
|
||
'Saaheader_func' => function($args){ | ||
|
||
global $config; | ||
|
||
$header = $args['header']; | ||
|
||
|
||
$available_languages = language_switch_get_languages(); | ||
$available_languages_options = ''; | ||
|
||
$current_language = $config['language']; | ||
|
||
|
||
foreach ($available_languages as $lang) { | ||
$available_languages_options .= '<a href="' . $config['siteurl'] . '?lang=' . $lang . '"><img src="' . $config['siteurl'] . 'lang/' . $lang . '/icon_16.png" alt="' . $lang . '" style="padding:1px;' . ($current_language == $lang ? 'border:1px solid blue;' : 'border:1px solid white;') . '" /></a>'; | ||
} | ||
|
||
|
||
$lang_switch_html = '<div id="langSwitch" style="position: relative; z-index: 100">' . "\n" . | ||
'<div id="langSwitchInner" style="position: absolute;top: 0;'.($current_language == 'ar' ? 'left':'right').': 80px; background-color: white; padding: 3px">' . "\n" . | ||
$available_languages_options . "\n" . | ||
'</div>'. "\n" . | ||
'</div>'; | ||
|
||
$header = preg_replace('/<body([^\>]*)>/i', "<body\\1>\n<!-- language switch -->\n" . $lang_switch_html . "\n<!-- language switch end -->", $header, 1); | ||
|
||
return compact('header'); | ||
}, | ||
|
||
|
||
|
||
'boot_common' => function ($args){ | ||
global $config, $usrcp; | ||
|
||
$current_language = $config['language']; | ||
|
||
$available_languages = language_switch_get_languages(); | ||
|
||
if(ig('lang')){ | ||
$chosen_lang = g('lang'); | ||
if(in_array($chosen_lang, $available_languages)){ | ||
$usrcp->kleeja_set_cookie('sllang', $chosen_lang, time() + 3600*24*30); | ||
$config['language'] = $chosen_lang; | ||
} | ||
}else { | ||
if (($cookie_lang = $usrcp->kleeja_get_cookie('sllang')) !== false) { | ||
if (in_array($cookie_lang, $available_languages)) { | ||
$config['language'] = $cookie_lang; | ||
} | ||
} | ||
} | ||
|
||
} | ||
); | ||
|
||
|
||
|
||
if(!function_exists('language_switch_get_languages')){ | ||
function language_switch_get_languages(){ | ||
$available_languages = array(); | ||
|
||
if ($dh = @opendir(PATH . 'lang')) | ||
{ | ||
while (($file = @readdir($dh)) !== false) | ||
{ | ||
if(strpos($file, '.') === false && $file != '..' && $file != '.') | ||
{ | ||
$available_languages[] = $file; | ||
} | ||
} | ||
@closedir($dh); | ||
} | ||
|
||
return $available_languages; | ||
} | ||
} |