aboutsummaryrefslogtreecommitdiffstats
path: root/BSF/plugins/extended_description
diff options
context:
space:
mode:
Diffstat (limited to 'BSF/plugins/extended_description')
-rw-r--r--BSF/plugins/extended_description/index.php30
-rw-r--r--BSF/plugins/extended_description/main.inc.php69
2 files changed, 99 insertions, 0 deletions
diff --git a/BSF/plugins/extended_description/index.php b/BSF/plugins/extended_description/index.php
new file mode 100644
index 000000000..c15b15795
--- /dev/null
+++ b/BSF/plugins/extended_description/index.php
@@ -0,0 +1,30 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008 Piwigo Team http://piwigo.org |
+// | Copyright(C) 2003-2008 PhpWebGallery Team http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU General Public License as published by |
+// | the Free Software Foundation |
+// | |
+// | This program is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU General Public License |
+// | along with this program; if not, write to the Free Software |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA. |
+// +-----------------------------------------------------------------------+
+
+// Recursive call
+$url = '../';
+header( 'Request-URI: '.$url );
+header( 'Content-Location: '.$url );
+header( 'Location: '.$url );
+exit();
+?>
diff --git a/BSF/plugins/extended_description/main.inc.php b/BSF/plugins/extended_description/main.inc.php
new file mode 100644
index 000000000..f8839b4c7
--- /dev/null
+++ b/BSF/plugins/extended_description/main.inc.php
@@ -0,0 +1,69 @@
+<?php
+// +-----------------------------------------------------------------------+
+// | Piwigo - a PHP based picture gallery |
+// +-----------------------------------------------------------------------+
+// | Copyright(C) 2008 Piwigo Team http://piwigo.org |
+// | Copyright(C) 2003-2008 Piwigo team http://phpwebgallery.net |
+// | Copyright(C) 2002-2003 Pierrick LE GALL http://le-gall.net/pierrick |
+// +-----------------------------------------------------------------------+
+// | This program is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU General Public License as published by |
+// | the Free Software Foundation |
+// | |
+// | This program is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU General Public License |
+// | along with this program; if not, write to the Free Software |
+// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
+// | USA. |
+// +-----------------------------------------------------------------------+
+
+/*
+Plugin Name: Extended Description
+Version: 1.8
+Description: Allow multilanguage description / Permet d'avoir des descriptions mutilingues
+Plugin URI: http://phpwebgallery.net/ext/extension_view.php?eid=175
+Author: Piwigo team
+Author URI: http://piwigo.org
+*/
+
+if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
+
+function get_user_language_desc($desc)
+{
+ global $user;
+
+ $user_lang = substr($user['language'], 0, 2);
+
+ if (!substr_count(strtolower($desc), '[lang=' . $user_lang . ']'))
+ {
+ $user_lang = 'default';
+ if (!substr_count(strtolower($desc), '[lang=default]'))
+ {
+ $desc = preg_replace("#(\A|\[/lang\])(.*?)(\[lang=(.*?)\]|\Z)#is", '$1[lang=default]$2[/lang]$3', $desc);
+ }
+ }
+
+ preg_match_all("#\[lang=(" . $user_lang . "|all)\](.*?)\[/lang\]#is", $desc, $matches);
+
+ return implode('', $matches[2]);
+}
+
+function extended_desc_mail_group_assign_vars($assign_vars)
+{
+ if (isset($assign_vars['CPL_CONTENT']))
+ {
+ $assign_vars['CPL_CONTENT'] = get_user_language_desc($assign_vars['CPL_CONTENT']);
+ }
+ return $assign_vars;
+}
+
+add_event_handler ('render_category_description', 'get_user_language_desc');
+add_event_handler ('render_element_description', 'get_user_language_desc');
+add_event_handler('nbm_render_user_customize_mail_content', 'get_user_language_desc');
+add_event_handler('mail_group_assign_vars', 'extended_desc_mail_group_assign_vars');
+
+?> \ No newline at end of file