1 | <?php |
---|
2 | /* |
---|
3 | Plugin Name: Extended Description |
---|
4 | Version: 1.8 |
---|
5 | Description: Allow multilanguage description / Permet d'avoir des descriptions mutilingues |
---|
6 | Plugin URI: http://phpwebgallery.net/ext/extension_view.php?eid=175 |
---|
7 | Author: PhpWebGallery team |
---|
8 | Author URI: http://www.phpwebgallery.net |
---|
9 | */ |
---|
10 | |
---|
11 | if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); |
---|
12 | |
---|
13 | function get_user_language_desc($desc) |
---|
14 | { |
---|
15 | global $user; |
---|
16 | |
---|
17 | $user_lang = substr($user['language'], 0, 2); |
---|
18 | |
---|
19 | if (!substr_count(strtolower($desc), '[lang=' . $user_lang . ']')) |
---|
20 | { |
---|
21 | $user_lang = 'default'; |
---|
22 | if (!substr_count(strtolower($desc), '[lang=default]')) |
---|
23 | { |
---|
24 | $desc = preg_replace("#(\A|\[/lang\])(.*?)(\[lang=(.*?)\]|\Z)#is", '$1[lang=default]$2[/lang]$3', $desc); |
---|
25 | } |
---|
26 | } |
---|
27 | |
---|
28 | preg_match_all("#\[lang=(" . $user_lang . "|all)\](.*?)\[/lang\]#is", $desc, $matches); |
---|
29 | |
---|
30 | return implode('', $matches[2]); |
---|
31 | } |
---|
32 | |
---|
33 | function extended_desc_mail_group_assign_vars($assign_vars) |
---|
34 | { |
---|
35 | if (isset($assign_vars['CPL_CONTENT'])) |
---|
36 | { |
---|
37 | $assign_vars['CPL_CONTENT'] = get_user_language_desc($assign_vars['CPL_CONTENT']); |
---|
38 | } |
---|
39 | return $assign_vars; |
---|
40 | } |
---|
41 | |
---|
42 | add_event_handler ('render_category_description', 'get_user_language_desc'); |
---|
43 | add_event_handler ('render_element_description', 'get_user_language_desc'); |
---|
44 | add_event_handler('nbm_render_user_customize_mail_content', 'get_user_language_desc'); |
---|
45 | add_event_handler('mail_group_assign_vars', 'extended_desc_mail_group_assign_vars'); |
---|
46 | |
---|
47 | ?> |
---|