web/wp-content/plugins/xili-language/xili-language.php
author cavaliet@caf4f556-3d62-0410-8435-a86758001935
Wed, 07 Apr 2010 12:49:06 +0000
changeset 178 0aa74cb89e30
parent 170 8e3a5a6fc63e
child 180 d8780eeb2607
permissions -rw-r--r--
add pdf for atelier ipv6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
170
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     1
<?php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     2
/*
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     3
Plugin Name: xili-language
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     4
Plugin URI: http://dev.xiligroup.com/xili-language/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     5
Description: This plugin modify on the fly the translation of the theme depending the language of the post or other blog elements - a way to create a real multilanguage site (cms or blog). It introduce a new taxonomy - here language - to describe posts and pages. To complete with tags, use also xili-tidy-tags plugin. 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     6
Author: dev.xiligroup.com - MS
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     7
Version: 1.4.1
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     8
Author URI: http://dev.xiligroup.com
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
     9
*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    10
# updated 100220 - 1.4.1 - wp_title translation for categories, () suppressed in cats list display, auto-search linked posts option
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    11
# updated 100216 - 1.3.2 - Option to modify home query according rules by chief editor. fixes gold functions. New Recent Posts Widget.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    12
# updated 100216 - 1.3.1 - Just to correct a minor omission - Add New link works now for linked pages.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    13
# updated 100215 - 1.3.0 - new functions to change and restore loop's language query-tag. Better post UI to create linked post - fixes lost lang's link when trash or untrash.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    14
# updated 100207 - 1.2.1 - fixes some directories issues in (rare) xamp servers - Some improvements in post edit UI.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    15
# updated 100109 - 1.2.0 - tested with WP 2.9.1 - more localization for admin UI (RU)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    16
# updated 091104 - 1.1.9.1 - fixes special functions
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    17
# updated 091103 - 1.1.9 - optional improve hooking ways to be compatible with l10n cache of Johan see line 2200 - fix title of wp_get_archive links with current permalinks.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    18
# updated 091019 - 1.1.8 - gold functions and shortcode for linked posts - first tests with WP 2.9
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    19
# updated 091007 - 1.1.es - tests - gold functions active - update undefined posts functions in library
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    20
# updated 090918 - 1.1 - xiliml_the_other_posts function improved and upgraded for CMS webmasters
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    21
# updated 090719 - 1.0.2 - fix unexpected like tags metabox added by WP 28 tracs #10437
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    22
# updated 090626 - 1.0.1 - fix filter unique id for category link hooks
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    23
# updated 090615 - 1.0 - Via admin UI, new ways to choose default language of front-page (page, home,...)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    24
# updated 090606 - 0.9.9.6 - ready for 2.8 hooks - ready for multiple languages list widget
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    25
# see readme text for these intermediate versions.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    26
# updated 090228 - Class and OOP - see 0.9.7 in comments of functions below - only for WP 2.7.x
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    27
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    28
# This plugin is free software; you can redistribute it and/or
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    29
# modify it under the terms of the GNU Lesser General Public
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    30
# License as published by the Free Software Foundation; either
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    31
# version 2.1 of the License, or (at your option) any later version.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    32
#
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    33
# This plugin is distributed in the hope that it will be useful,
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    34
# but WITHOUT ANY WARRANTY; without even the implied warranty of
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    35
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    36
# Lesser General Public License for more details.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    37
#
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    38
# You should have received a copy of the GNU Lesser General Public
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    39
# License along with this plugin; if not, write to the Free Software
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    40
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    41
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    42
define('XILILANGUAGE_VER','1.4.1'); /* used in admin UI*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    43
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    44
class xili_language {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    45
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    46
	var $default_lang; /* language of config.php*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    47
	var $curlang;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    48
	var $langstate; /* undefined or not */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    49
	var $browseroption = '';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    50
	var $authorbrowseroption = '';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    51
	var $functions_enable = '';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    52
	var $default_dir = ''; /* undefined or not in WP config '' or rtl or ltr */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    53
	var $curlang_dir = ''; /* undefined or not according array */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    54
	var $rtllanglist = 'ar-he-fa-ur'; /*default-list - can be set after class instantiation*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    55
	var $post_ajax = false; /* ajax used in meta box in post edit UI unstable yet */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    56
	var $is_metabox = false; /* meta box in post edit UI - if used don't use custom fields that are not refreshed */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    57
	var $xili_settings; /* saved in options */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    58
	var $langs_group_id; /* group ID and Term Taxo ID */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    59
	var $langs_group_tt_id; 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    60
	var $get_archives_called = array(); /* if != '' - insert lang in link */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    61
	var $idx = array(); /* used to identify filter or action set from this class - since 0.9.9.6 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    62
	var $theme_locale = false; /* to control locale hook */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    63
	var $ossep = "/"; /* for recursive file search in xamp */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    64
	var $current_lang_query_tag = ""; /* since 1.3.0 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    65
	var $temp_lang_query_tag = "";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    66
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    67
	function xili_language($metabox = false, $post_ajax = false, $locale_method = false) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    68
		$this->is_metabox = $metabox;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    69
		$this->post_ajax = $post_ajax;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    70
		$this->locale_method = $locale_method; /* added for compatibility with cache plugin from johan */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    71
		/*activated when first activation of plug*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    72
		register_activation_hook(__FILE__,array(&$this,'xili_language_activate'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    73
		$this->ossep = strtoupper(substr(PHP_OS,0,3)=='WIN')?'\\':'/';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    74
		/*get current settings - name of taxonomy - name of query-tag - 0.9.8 new taxonomy taxolangsgroup */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    75
		$this->xili_settings = get_option('xili_language_settings');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    76
		if(empty($this->xili_settings)) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    77
			$submitted_settings = array(
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    78
			    'taxonomy'		=> 'language',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    79
			    'version' 		=> '0.4',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    80
			    'reqtag'		=> 'lang',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    81
			    'browseroption' => '',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    82
			    'authorbrowseroption' => '',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    83
			    'taxolangsgroup' => 'languages_group',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    84
			    'functions_enable' => '',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    85
			    'langs_folder' => '',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    86
			    'theme_domain' => '',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    87
			    'homelang' => '' 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    88
		    );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    89
			define('TAXONAME','language');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    90
			define('QUETAG','lang');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    91
			define('TAXOLANGSGROUP','languages_group');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    92
			update_option('xili_language_settings', $submitted_settings);	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    93
			$this->xili_settings = get_option('xili_language_settings');		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    94
		} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    95
			define('TAXONAME',$this->xili_settings['taxonomy']);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    96
			define('QUETAG',$this->xili_settings['reqtag']);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    97
			$this->browseroption = $this->xili_settings['browseroption'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    98
			$this->authorbrowseroption = $this->xili_settings['authorbrowseroption'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
    99
			$this->functions_enable = $this->xili_settings['functions_enable'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   100
			if ($this->xili_settings['version'] == '0.2' || $this->xili_settings['version'] == '0.3') { /* 1.3.2 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   101
				$this->xili_settings['taxolangsgroup'] = 'languages_group';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   102
				$this->xili_settings['homelang'] = '';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   103
				$this->xili_settings['version'] = '0.4';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   104
				update_option('xili_language_settings', $this->xili_settings);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   105
			}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   106
			define('TAXOLANGSGROUP',$this->xili_settings['taxolangsgroup']);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   107
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   108
		define('XILIFUNCTIONSPATH',WP_PLUGIN_DIR.'/xilidev-libraries'); /* since 1.0 to add xili-libraries */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   109
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   110
		/** add new taxonomy in available taxonomies 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   111
		 * 1.0.2 - add label false as http://core.trac.wordpress.org/ticket/10437 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   112
		 * 			to avoid metabox as tag displayed
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   113
		 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   114
		register_taxonomy( TAXONAME, 'post',array('hierarchical' => false, 'label'=>false, 'rewrite' => false, 'update_count_callback' => array(&$this,'_update_post_lang_count')));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   115
		register_taxonomy( TAXOLANGSGROUP, 'term',array('hierarchical' => false, 'update_count_callback' => ''));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   116
		$thegroup = get_terms(TAXOLANGSGROUP, array('hide_empty' => false,'slug' => 'the-langs-group'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   117
		if (!$thegroup) { /* update langs group 0.9.8 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   118
			$args = array( 'alias_of' => '', 'description' => 'the group of languages', 'parent' => 0, 'slug' =>'the-langs-group');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   119
			wp_insert_term( 'the-langs-group', TAXOLANGSGROUP, $args); /* create and link to existing langs */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   120
			$listlanguages = get_terms(TAXONAME, array('hide_empty' => false));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   121
			foreach($listlanguages as $language) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   122
				wp_set_object_terms($language->term_id, 'the-langs-group', TAXOLANGSGROUP);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   123
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   124
			$thegroup = get_terms(TAXOLANGSGROUP, array('hide_empty' => false,'slug' => 'the-langs-group'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   125
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   126
		$this->langs_group_id = $thegroup[0]->term_id;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   127
		$this->langs_group_tt_id = $thegroup[0]->term_taxonomy_id;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   128
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   129
		/* default values */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   130
		if (''!= WPLANG && strlen(WPLANG)==5) :
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   131
			$this->default_lang = WPLANG;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   132
		else:
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   133
			$this->default_lang = 'en_US';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   134
		endif;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   135
		define('DEFAULTSLUG', $this->get_default_slug());
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   136
		if ( $dir = get_bloginfo('text_direction') ) /* if present in blog options @since 0.9.9 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   137
			$this->default_dir = $dir;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   138
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   139
		add_filter('query_vars', array(&$this,'keywords_addQueryVar'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   140
		add_filter('posts_join', array(&$this,'with_lang'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   141
		add_filter('posts_where', array(&$this,'where_lang'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   142
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   143
		add_action('wp', array(&$this,'xiliml_language_wp')); 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   144
		/* 'wp' = where theme's language is defined just after query */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   145
		if ($this->locale_method)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   146
			add_filter('locale', array(&$this,'xiliml_setlocale'), 10);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   147
		/* to be compatible with l10n cache from Johan since 1.1.9 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   148
		add_filter('language_attributes',  array(&$this,'head_language_attributes'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   149
		add_action('wp_head', array(&$this,'head_insert_language_metas'),10,2);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   150
 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   151
 	 	add_filter('widget_title', array(&$this,'widget_texts')); /* added 0.9.8.1 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   152
	 	add_filter('widget_text', array(&$this,'widget_texts'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   153
		add_filter('list_cats', array(&$this,'xiliml_cat_language'),10,2); /* mode 2 : content = name */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   154
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   155
		add_filter('category_link', array(&$this,'xiliml_link_append_lang'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   156
		$filter = 'category_link';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   157
		$function = 'xiliml_link_append_lang';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   158
		$this->idx['xiliml_link_append_lang'] = _wp_filter_build_unique_id($filter, array (&$this, $function == '' ? $filter : $function), 10); /* unique id of this filter from object fixed 1.0.1 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   159
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   160
		add_filter('category_description',array(&$this,'xiliml_link_translate_desc'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   161
		add_filter('single_cat_title',array(&$this,'xiliml_single_cat_title_translate')); /* 1.4.1 wp_title() */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   162
		add_filter('tag_link', array(&$this,'xiliml_taglink_append_lang' ));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   163
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   164
		add_action('pre_get_posts', array(&$this,'xiliml_modify_querytag'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   165
		/* filters for archives since 0.9.9.4 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   166
		add_filter('getarchives_join', array(&$this,'xiliml_getarchives_join'),10,2);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   167
		add_filter('getarchives_where', array(&$this,'xiliml_getarchives_where'),10,2);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   168
		add_filter('get_archives_link', array(&$this,'xiliml_get_archives_link'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   169
		/* actions for post and page admin UI */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   170
		add_action('save_post', array(&$this,'xili_language_add'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   171
		//add_action('publish_post', array(&$this,'xili_language_add')); /* only set when published !*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   172
		add_action('save_page', array(&$this,'xili_language_add'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   173
		//add_action('publish_page', array(&$this,'xili_language_add'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   174
		if ($this->post_ajax) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   175
			add_action( 'wp_ajax_oklinked', array(&$this,'ok_linked') );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   176
			add_action( 'wp_ajax_customrefresh', array(&$this,'custom_refresh') );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   177
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   178
		/* admin settings UI*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   179
		add_action('init', array(&$this, 'init_textdomain'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   180
		add_filter('plugin_action_links',  array(&$this,'xililang_filter_plugin_actions'), 10, 2);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   181
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   182
		add_action('admin_menu', array(&$this,'myplugin_add_custom_box'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   183
		add_action('admin_menu', array(&$this,'xili_add_pages'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   184
		/* special to detect theme changing since 1.1.9 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   185
		add_action('switch_theme', array(&$this,'theme_switched'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   186
		/* inspired from custax */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   187
		add_action('manage_posts_custom_column', array(&$this,'xili_manage_column'), 10, 2);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   188
		add_filter('manage_edit_columns', array(&$this,'xili_manage_column_name'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   189
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   190
		add_action('manage_pages_custom_column', array(&$this,'xili_manage_column'), 10, 2);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   191
		add_filter('manage_edit-pages_columns', array(&$this,'xili_manage_column_name'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   192
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   193
		/* new actions for xili-language theme's templates tags */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   194
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   195
		$this->add_action('xili_language_list','xili_language_list',10,3); /* add third param 0.9.7.4*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   196
		$this->add_action('xili_post_language','xili_post_language',10,2);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   197
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   198
		$this->add_action('xiliml_the_other_posts','xiliml_the_other_posts',10,4); /* add a param 1.1 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   199
		$this->add_action('xiliml_the_category','xiliml_the_category',10,3);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   200
		$this->add_action('xiliml_langinsearchform','xiliml_langinsearchform',10,2);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   201
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   202
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   203
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   204
	function add_action ($action, $function = '', $priority = 10, $accepted_args = 1)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   205
	{
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   206
		add_action ($action, array (&$this, $function == '' ? $action : $function), $priority, $accepted_args);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   207
		$this->idx[$action] = _wp_filter_build_unique_id($action, array (&$this, $function == '' ? $action : $function), $priority); /* unique id of this filter from object */		 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   208
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   209
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   210
	function add_filter ($filter, $function = '', $priority = 10, $accepted_args = 1)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   211
	{
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   212
		add_filter ($filter, array (&$this, $function == '' ? $filter : $function), $priority, $accepted_args);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   213
		$this->idx[$filter] = _wp_filter_build_unique_id($filter, array (&$this, $function == '' ? $filter : $function), $priority); /* unique id of this filter from object fixed 1.0.1 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   214
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   215
			
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   216
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   217
	 * More than one filter for the function. 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   218
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   219
	 * @since 0.9.7
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   220
	 * 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   221
	 * @param $the_function (string). 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   222
	 * @return true if more than one.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   223
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   224
	function this_has_filter($the_function) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   225
		global $wp_filter;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   226
		$has = $wp_filter[$the_function];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   227
		//print_r($has);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   228
		$keys = array_keys($has);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   229
		//echo count($has[$keys[0]]);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   230
		if (count($has[$keys[0]]) >= 2) { /*one from class others from functions.php or elsewhere*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   231
			return true;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   232
		} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   233
			return false;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   234
		} 	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   235
	}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   236
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   237
	function myplugin_add_custom_box() {		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   238
 		add_meta_box('xilil-2', __("Page's language",'xili-language'), array(&$this,'xili_language_checkboxes_n'), 'page', 'side','high');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   239
 		add_meta_box('xilil-2', __("Post's language",'xili-language'), array(&$this,'xili_language_checkboxes_n'), 'post', 'side','high');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   240
 		if ($this->is_metabox) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   241
 			add_meta_box('xilil-1', __('Linked posts','xili-language'), array(&$this,'xili_language_linked_posts'), 'post', 'side','high');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   242
 			add_meta_box('xilil-1', __('Linked pages','xili-language'), array(&$this,'xili_language_linked_posts'), 'page', 'side','high');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   243
 		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   244
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   245
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   246
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   247
	 * Will update term count based on posts AND pages.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   248
	 *  
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   249
	 * @access private from register taxonomy etc...
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   250
	 * @since 0.9.8.1
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   251
	 * @uses $wpdb
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   252
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   253
	 * @param array $terms List of Term taxonomy IDs
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   254
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   255
	function _update_post_lang_count( $terms ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   256
		global $wpdb;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   257
		foreach ( (array) $terms as $term ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   258
			$count = $wpdb->get_var( $wpdb->prepare( "SELECT COUNT(*) FROM $wpdb->term_relationships, $wpdb->posts WHERE $wpdb->posts.ID = $wpdb->term_relationships.object_id AND post_status = 'publish' AND term_taxonomy_id = %d", $term ) );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   259
			$wpdb->update( $wpdb->term_taxonomy, compact( 'count' ), array( 'term_taxonomy_id' => $term ) );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   260
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   261
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   262
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   263
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   264
	 * set language when post or page is saved or changed 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   265
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   266
	 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   267
	 * @completed 0.9.7.1 to record postmeta of linked posts in other languages
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   268
	 * @updated 0.9.7.5 to delete relationship when undefined
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   269
	 * @updated 0.9.9 to avoid delete relationship when in quick_edit
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   270
	 * @updated 1.3.0 to avoid delete relationship when trashing - 1.4.1 - create post-meta xl-search-linked
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   271
	 * @param $post_ID
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   272
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   273
	function xili_language_add($post_ID) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   274
		if (!isset($_POST['_inline_edit'])) { /* to avoid delete relationship when in quick_edit (edit.php) */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   275
			$sellang = $_POST['xili_language_set'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   276
			if ("" != $sellang) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   277
				wp_set_object_terms($post_ID, $sellang, TAXONAME);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   278
			} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   279
				if ($_GET['action'] != 'trash' && $_GET['action'] != 'untrash')
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   280
						wp_delete_object_term_relationships( $post_ID, TAXONAME ); 	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   281
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   282
			if ($this->is_metabox) {	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   283
				/* the linked posts set by author */	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   284
				$listlanguages = get_terms(TAXONAME, array('hide_empty' => false));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   285
				foreach ($listlanguages as $language) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   286
					$inputid = 'xili_language_'.QUETAG.'-'.$language->slug ;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   287
					$recinputid = 'xili_language_rec_'.QUETAG.'-'.$language->slug ;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   288
					$linkid = $_POST[$inputid];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   289
					$reclinkid = $_POST[$recinputid]; /* hidden previous value */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   290
					$langslug = QUETAG.'-'.$language->slug ;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   291
					
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   292
					if ($reclinkid != $linkid) { /* only if changed value or created since 1.3.0 */			
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   293
						if ((is_numeric($linkid) && $linkid == 0) || '' == $linkid ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   294
							delete_post_meta($post_ID, $langslug);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   295
						} elseif (is_numeric($linkid) && $linkid > 0) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   296
							update_post_meta($post_ID, $langslug, $linkid);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   297
							if ($reclinkid == "-1")	update_post_meta($linkid, QUETAG.'-'.$sellang, $post_ID); 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   298
						}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   299
					}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   300
				}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   301
				//if (isset($_POST['xili_language_search_lang'])) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   302
					if ('' != $_POST['xili_language_search_lang']) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   303
						update_post_meta($post_ID, '_xl-search-linked', $_POST['xili_language_search_lang']);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   304
					} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   305
						if ($_GET['action'] != 'trash' && $_GET['action'] != 'untrash')
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   306
												delete_post_meta($post_ID, '_xl-search-linked');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   307
					}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   308
				//}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   309
				
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   310
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   311
		} /* quick edit */		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   312
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   313
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   314
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   315
	 * Return language dir
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   316
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   317
	 * @since 0.9.9
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   318
	 * @param slug of lang
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   319
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   320
	function get_dir_of_cur_language($lang_slug) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   321
		$rtlarray = explode ('-',$this->rtllanglist);			
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   322
		$dir = (in_array(substr(strtolower($lang_slug),0,2),$rtlarray)) ? 'rtl' : 'ltr';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   323
		return $dir;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   324
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   325
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   326
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   327
	 * Return language of post.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   328
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   329
	 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   330
	 * @updated 0.9.7.6, 0.9.9
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   331
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   332
	 * @param $post_ID.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   333
	 * @return slug of language of post or false if var langstate is false.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   334
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   335
	function get_cur_language($post_ID) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   336
		$ress = wp_get_object_terms($post_ID, TAXONAME);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   337
		if ($ress) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   338
			if (is_a($ress, 'WP_Error')){
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   339
				echo "Language table not created ! see plug-in admin";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   340
				$this->langstate = false;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   341
			} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   342
				$obj_term = $ress[0];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   343
				$this->langstate = true;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   344
				$postlang = $obj_term->slug;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   345
				$postlangdir = $this->get_dir_of_cur_language($postlang);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   346
				return array('lang'=>$postlang,'direction'=>$postlangdir);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   347
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   348
	 	} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   349
	 		$this->langstate = false; /* can be used in language attributes for header */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   350
	  		return false;	/* undefined state */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   351
	 	}		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   352
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   353
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   354
	/* first activation of plugin */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   355
	function xili_language_activate() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   356
		$this->xili_settings = get_option('xili_language_settings');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   357
		if(empty($this->xili_settings)) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   358
			$this->xili_settings = array(
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   359
			    'taxonomy'		=> 'language',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   360
			    'version' 		=> '0.4',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   361
			    'reqtag'		=> 'lang',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   362
			    'browseroption' => '',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   363
			    'authorbrowseroption' => '',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   364
			    'taxolangsgroup' => 'languages_group',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   365
			    'functions_enable' => '',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   366
			    'langs_folder' => '',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   367
			    'theme_domain' => '',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   368
			    'homelang' => '' 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   369
		    );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   370
		    update_option('xili_language_settings', $this->xili_settings);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   371
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   372
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   373
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   374
	/*enable the new query tag associated with new taxonomy*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   375
	function keywords_addQueryVar($vars) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   376
		$vars[] = QUETAG;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   377
	return $vars ;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   378
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   379
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   380
	function get_default_slug() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   381
		$listlanguages = get_terms(TAXONAME, array('hide_empty' => false));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   382
		$default_slug = 'en_us';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   383
		foreach ($listlanguages as $language) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   384
			if ($language->name == $this->default_lang ) return $language->slug;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   385
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   386
		return $default_slug ;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   387
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   388
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   389
	/** 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   390
	 * filters used when querytag is used - 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   391
	 * see below and functions.php where rules depend from theme
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   392
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   393
	function with_lang($join) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   394
		global $wp_query, $wpdb;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   395
		if ( '' != $wp_query->query_vars[QUETAG] ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   396
			$join .= " LEFT JOIN $wpdb->term_relationships as tr ON ($wpdb->posts.ID = tr.object_id) LEFT JOIN $wpdb->term_taxonomy as tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id) ";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   397
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   398
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   399
	return $join;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   400
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   401
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   402
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   403
	 * Setup global post data.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   404
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   405
	 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   406
	 * @updated 0.9.4 (OR added) lang=xx_xx,yy_yy,..
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   407
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   408
	 * @param object $where.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   409
	 * @return $where.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   410
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   411
	function where_lang($where) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   412
		global $wp_query , $wpdb;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   413
		$reqtags = array();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   414
		$thereqtags = array();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   415
		if ( '' != $wp_query->query_vars[QUETAG] ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   416
		/* one or more lang - no + because only one lang per post now */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   417
			if ( strpos($wp_query->query_vars[QUETAG], ',') !== false ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   418
				$langs = preg_split('/[,\s]+/', $wp_query->query_vars[QUETAG]);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   419
				foreach ( (array) $langs as $lang ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   420
					$lang = sanitize_term_field('slug', $lang, 0, 'post_tag', 'db');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   421
					$reqtags[]= $lang;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   422
				}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   423
				
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   424
				foreach ($reqtags as $reqtag){
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   425
					$reqtagt = is_term( $reqtag, TAXONAME );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   426
					if ($reqtagt)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   427
						$thereqtags[] = $reqtagt['term_id']; 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   428
				}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   429
				
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   430
				$wherereqtag = implode(", ", $thereqtags);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   431
				$where .= " AND tt.taxonomy = '".TAXONAME."' ";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   432
				$where .= " AND tt.term_id IN ( $wherereqtag )";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   433
			
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   434
			} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   435
			/* only one lang */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   436
				$wp_query->query_vars[QUETAG] = sanitize_term_field('slug', $wp_query->query_vars[QUETAG], 0, 'post_tag', 'db');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   437
				$reqtag = $wp_query->query_vars[QUETAG];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   438
				$reqtag = is_term( $reqtag, TAXONAME );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   439
				if (''!= $reqtag) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   440
					$wherereqtag = $reqtag['term_id'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   441
				} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   442
					$wherereqtag = 0;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   443
				}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   444
				$where .= " AND tt.taxonomy = '".TAXONAME."' ";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   445
				$where .= " AND tt.term_id = $wherereqtag ";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   446
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   447
					
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   448
		}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   449
		return $where;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   450
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   451
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   452
	/******** template theme live modifications ********/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   453
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   454
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   455
	 * wp action for theme at end of query  
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   456
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   457
	 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   458
	 * @updated 1.1.9
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   459
	 * can be hooked in functions.php xiliml_cur_lang_head
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   460
	 * call by wp hook	 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   461
	 *   
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   462
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   463
	function xiliml_language_wp() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   464
		$this->curlang = $this->xiliml_cur_lang_head();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   465
		$this->curlang_dir = $this->get_dir_of_cur_language($this->curlang); /* general dir of the theme */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   466
		if (!defined('THEME_TEXTDOMAIN')) _e('xili-language plugin : THEME_TEXTDOMAIN UNDEFINED','xili-language'); /* here because not visible in admin UI */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   467
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   468
		if ($this->locale_method) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   469
			$this->xiliml_load_theme_textdomain (THEME_TEXTDOMAIN); /* new method for cache compatibility - tests */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   470
		} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   471
			$this->set_mofile($this->curlang);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   472
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   473
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   474
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   475
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   476
	 * locale hook when load_theme_textdomain is present in functions.php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   477
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   478
	 * @since 1.1.9
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   479
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   480
	 * call by locale hook
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   481
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   482
	function xiliml_setlocale ($locale) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   483
		if ($this->theme_locale === true) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   484
			$listlanguages = get_terms(TAXONAME, array('hide_empty' => false,'slug' => $this->curlang));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   485
			return $listlanguages[0]->name;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   486
		} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   487
			return $locale; 	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   488
		}		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   489
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   490
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   491
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   492
	 * locale hook when load_theme_textdomain is present in functions.php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   493
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   494
	 * @since 1.1.9
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   495
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   496
	 * call by locale hook
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   497
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   498
	function xiliml_load_theme_textdomain ($domain) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   499
		$this->theme_locale = true;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   500
		$langfolder = (defined('THEME_LANGS_FOLDER')) ? THEME_LANGS_FOLDER : $this->xili_settings['langs_folder'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   501
		$langfolder = '/'.str_replace("/","",$langfolder); /* please no lang folder in sub-subfolder */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   502
		$langfolder = ($langfolder == "/") ? "" : $langfolder;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   503
		load_theme_textdomain($domain, get_template_directory() . $langfolder);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   504
		$this->theme_locale = false;		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   505
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   506
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   507
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   508
	 * select .mo file 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   509
	 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   510
	 * @updated 0.9.7.1 - 1.1.9
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   511
	 * call by function xiliml_language_wp()
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   512
	 * @param $curlang .
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   513
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   514
	function set_mofile($curlang) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   515
		// load_theme_textdomain(THEME_TEXTDOMAIN); - replaced to be flexible -
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   516
		if (defined('THEME_TEXTDOMAIN')) {$themetextdomain = THEME_TEXTDOMAIN; } else {$themetextdomain = 'ttd-not-defined';  }
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   517
		$langfolder = (defined('THEME_LANGS_FOLDER')) ? THEME_LANGS_FOLDER : $this->xili_settings['langs_folder'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   518
		$langfolder = '/'.str_replace("/","",$langfolder); /* please no lang folder in sub-subfolder */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   519
		$langfolder = ($langfolder == "/") ? "" : $langfolder;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   520
		$listlanguages = get_terms(TAXONAME, array('hide_empty' => false,'slug' => $curlang));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   521
		$filename = $listlanguages[0]->name;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   522
		$filename .= '.mo';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   523
		if ('' != $filename) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   524
			$mofile = get_template_directory() .$langfolder."/$filename";	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   525
			load_textdomain($themetextdomain,$mofile);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   526
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   527
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   528
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   529
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   530
	 * default rules - set curlang in head according rules 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   531
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   532
	 * @since 0.9.7
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   533
	 * @updated 0.9.7.1 - if no posts 0.9.9.1 - 0.9.9.4 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   534
	 * @updated 1.3.2 - Option for home.php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   535
	 * 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   536
	 * default filter of xiliml_cur_lang_head
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   537
	 * @return $curlang .
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   538
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   539
	function xiliml_cur_lang_head () {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   540
		if (has_filter('xiliml_cur_lang_head')) return apply_filters('xiliml_cur_lang_head',''); /* '' warning on some server need one arg by default*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   541
		/* default */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   542
		global $post,$wp_query, $query_string;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   543
			if (have_posts()) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   544
				if(!is_front_page()) { /* every pages */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   545
					$curlangdir = $this->get_cur_language($post->ID);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   546
					$curlang = $curlangdir['lang']; /* the first post give the current lang*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   547
					if ($curlangdir == false) $curlang = DEFAULTSLUG; /* can be changed if use hook */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   548
					if (is_page()) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   549
						if (isset($_GET["loclang"])) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   550
			    			$curlang=$_GET["loclang"];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   551
			    		/* get var to override the selected lang - ex. in bi-lingual contact*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   552
						}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   553
					} 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   554
					elseif (is_search() && isset($_GET["lang"])) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   555
						$curlang=$_GET["lang"]; /*useful when no result*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   556
					}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   557
				} else { /* front page */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   558
					if ( '' != $wp_query->query_vars[QUETAG] ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   559
						$curlang = $wp_query->query_vars[QUETAG];	/* home series type*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   560
					} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   561
						$showpage = get_settings('show_on_front');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   562
						$page_front = get_settings('page_on_front');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   563
						$hcurlang = (isset($_GET["hlang"])) ? $_GET["hlang"] : $this->choice_of_browsing_language() ; 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   564
						$target = get_post_meta($page_front, 'lang-'.$hcurlang, true);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   565
						if ($showpage == "page") {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   566
							if ($target && $target != $post->ID) { /* only if present and diff */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   567
								query_posts('page_id='.$target); 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   568
								if (have_posts()) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   569
									the_post();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   570
									$curlang = get_cur_language($post->ID);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   571
									rewind_posts();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   572
								} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   573
									query_posts('page_id='.$page_front); /* restore */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   574
									$curlang = get_cur_language($page_front);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   575
								}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   576
							} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   577
								$curlang = get_cur_language($post->ID);	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   578
							}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   579
						} else { /* home.php - 1.3.2 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   580
							$curlang = $this->choice_of_browsing_language();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   581
							if ($this->xili_settings['homelang'] == 'modify') query_posts($query_string."&lang=".$curlang);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   582
						}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   583
					}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   584
				}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   585
			} else { /*no posts for instance in category + lang */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   586
			 	if (isset($_GET["lang"])) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   587
			    		$curlang=$_GET["lang"];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   588
			    } else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   589
			    		$curlang = $this->choice_of_browsing_language();//strtolower(WPLANG); /* select here the default language of the site */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   590
			   	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   591
			}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   592
			return $curlang; /* as in external hook for filter*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   593
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   594
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   595
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   596
	 * modify  language_attributes() output
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   597
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   598
	 * @since 0.9.7.6
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   599
	 *  
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   600
	 * The - language_attributes() -  template tag is use in header of theme file in html tag 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   601
	 *   
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   602
	 * @param $output
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   603
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   604
	function head_language_attributes($output) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   605
		/* hook head_language_attributes */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   606
		if (has_filter('head_language_attributes')) return apply_filters('head_language_attributes',$output);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   607
		$attributes = array();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   608
		$output = '';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   609
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   610
		if ( $dir = get_bloginfo('text_direction') ) /*use hook for future use */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   611
			$attributes[] = "dir=\"$dir\"";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   612
		if ($this->langstate == true) {	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   613
			$lang = str_replace('_','-',substr($this->curlang,0,3).strtoupper(substr($this->curlang,-2)));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   614
		} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   615
			//use hook if you decide to display limited list of languages for use by instance in frontpage 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   616
			$listlang = array();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   617
			//$listlanguages = get_terms(TAXONAME, array('hide_empty' => false));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   618
			$listlanguages = get_terms_of_groups_lite ($this->langs_group_id,TAXOLANGSGROUP,TAXONAME,'ASC');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   619
			foreach ($listlanguages as $language) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   620
				$listlang[] = str_replace('_','-',$language->name);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   621
			}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   622
			$lang = $listlang[0]; // implode(', ',$listlang); // not w3c compatible
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   623
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   624
		if ( get_option('html_type') == 'text/html')
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   625
				$attributes[] = "lang=\"$lang\"";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   626
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   627
		if ( get_option('html_type') != 'text/html')
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   628
			$attributes[] = "xml:lang=\"$lang\"";	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   629
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   630
		$output = implode(' ', $attributes);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   631
		return $output;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   632
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   633
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   634
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   635
	 * modify  insert language metas in head (via wp_head)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   636
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   637
	 * @since 0.9.7.6
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   638
	 * @updated 1.1.8 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   639
	 * @must be defined in functions.php according general theme design (wp_head) 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   640
	 *   
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   641
	 * @param $curlang
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   642
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   643
	function head_insert_language_metas($curlang,$undefined=true) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   644
		$curlang = $this->curlang;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   645
		$undefined = $this->langstate;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   646
		echo "<!-- multilingual website powered with xili-language v. ".XILILANGUAGE_VER." WP plugin of dev.xiligroup.com -->\n";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   647
			if (has_filter('head_insert_language_metas')) return apply_filters('head_insert_language_metas',$curlang,$undefined);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   648
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   649
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   650
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   651
	 * Translate texts of widgets  
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   652
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   653
	 * @since 0.9.8.1
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   654
	 * @ return
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   655
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   656
	function widget_texts ($value){
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   657
		return __($value,THEME_TEXTDOMAIN);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   658
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   659
			
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   660
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   661
	 * insert other language of wp_list_categories 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   662
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   663
	 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   664
	 * @updated 0.9.8.4 - 1.4.1 = no original term in ()
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   665
	 * can be hooked by filter add_filter('xiliml_cat_language','yourfunction',2,3) in functions.php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   666
	 * call by do_filter list_cats 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   667
	 * @param $content, $category
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   668
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   669
	function xiliml_cat_language ($content, $category = null) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   670
		if (has_filter('xiliml_cat_language')) return apply_filters('xiliml_cat_language',$content, $category,$this->curlang);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   671
	    $new_cat_name = (!is_admin()) ? __($category->name,THEME_TEXTDOMAIN) : $content ;  /*to detect admin UI*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   672
	    return $new_cat_name;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   673
	 } 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   674
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   675
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   676
	 * add the language key in category links of current pages
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   677
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   678
	 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   679
	 * update 0.9.7
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   680
	 * can be hooked by filter add_filter('xiliml_link_append_lang','yourfunction',10,2) in functions.php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   681
	 * call by do_filter 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   682
	 * @param $content,
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   683
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   684
	function xiliml_link_append_lang( $link ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   685
		if (has_filter('xiliml_link_append_lang')) return apply_filters('xiliml_link_append_lang',$link,$this->curlang);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   686
		/*default*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   687
	  		if ($this->curlang) :
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   688
	  			$link .= '&amp;'.QUETAG.'='.$this->curlang ;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   689
	  		endif;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   690
	  	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   691
	  return $link;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   692
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   693
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   694
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   695
	 * Setup global post data.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   696
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   697
	 * @since 0.9.4
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   698
	 * update 0.9.7
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   699
	 * can be hooked by filter add_filter('xiliml_taglink_append_lang','yourfunction',2,3) in functions.php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   700
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   701
	 * @param $taglink, $tag_id.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   702
	 * @return $taglink.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   703
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   704
	function xiliml_taglink_append_lang ( $taglink, $tag_id=null ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   705
		if (has_filter('xiliml_taglink_append_lang')) return apply_filters('xiliml_taglink_append_lang',$taglink,$tag_id,$this->curlang);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   706
		/* no yet default */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   707
		/* global $curlang; 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   708
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   709
	  		if ($curlang) :
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   710
	  			$taglink .= '&amp;'.QUETAG.'='.$curlang ;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   711
	  		endif;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   712
	  	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   713
	  	*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   714
	 return $taglink;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   715
	} 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   716
	 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   717
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   718
	 * to cancel sub select by lang in cat 1 by default 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   719
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   720
	 * @since 0.9.2
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   721
	 * update 0.9.7
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   722
	 * can be hooked by filter add_filter('xiliml_modify_querytag','yourfunction') in functions.php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   723
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   724
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   725
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   726
	function xiliml_modify_querytag() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   727
		if (has_filter('xiliml_modify_querytag')) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   728
			apply_filters('xiliml_modify_querytag','');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   729
		} else {	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   730
		/*default*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   731
		global $wp_query;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   732
		if (!defined('XILI_CATS_ALL')) define('XILI_CATS_ALL','1'); /* change in functions.php or use hook in cat 1 by default*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   733
			$excludecats = explode(",", XILI_CATS_ALL);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   734
			if (!empty($wp_query->query_vars['cat'])) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   735
				if 	(in_array($wp_query->query_vars['cat'],$excludecats)) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   736
					$wp_query->query_vars[QUETAG] = "";	/* to cancel sub select */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   737
				}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   738
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   739
		}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   740
	}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   741
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   742
	 * filters for wp_get_archives 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   743
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   744
	 * @since 0.9.2
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   745
	 * @params $join or $where and template params
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   746
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   747
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   748
	function xiliml_getarchives_join($join,$r) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   749
		global $wpdb;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   750
		if (has_filter('xiliml_getarchives_join')) return apply_filters('xiliml_getarchives_join',$join,$r,$this->curlang);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   751
		extract( $r, EXTR_SKIP );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   752
		$this->get_archives_called = $r;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   753
		if (isset($lang)) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   754
			if ("" == $lang ) { /* used for link */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   755
				$this->get_archives_called['lang'] = $this->curlang;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   756
			} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   757
				$this->get_archives_called['lang'] = $lang;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   758
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   759
			$join = " INNER JOIN $wpdb->term_relationships as tr ON ($wpdb->posts.ID = tr.object_id) INNER JOIN $wpdb->term_taxonomy as tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id) ";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   760
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   761
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   762
		return $join;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   763
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   764
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   765
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   766
	function xiliml_getarchives_where($where,$r) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   767
		global $wpdb;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   768
		if (has_filter('xiliml_getarchives_where')) return apply_filters('xiliml_getarchives_where',$where,$r,$this->curlang);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   769
		extract( $r, EXTR_SKIP );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   770
		if (isset($lang)) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   771
			if ("" == $lang ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   772
				$curlang = $this->curlang;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   773
			} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   774
				$curlang = $lang;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   775
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   776
			$reqtag = is_term( $curlang, TAXONAME );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   777
				if (''!= $reqtag) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   778
					$wherereqtag = $reqtag['term_id'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   779
				} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   780
					$wherereqtag = 0;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   781
				}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   782
				$where .= " AND tt.taxonomy = '".TAXONAME."' ";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   783
				$where .= " AND tt.term_id = $wherereqtag ";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   784
		}		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   785
		return $where;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   786
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   787
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   788
	/* here basic translation - to improve depending theme features : use hook 'xiliml_get_archives_link' */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   789
	function xiliml_get_archives_link($link_html) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   790
		if (has_filter('xiliml_link_translate_desc')) return apply_filters('xiliml_get_archives_link', $link_html,$this->get_archives_called, $this->curlang);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   791
		extract( $this->get_archives_called, EXTR_SKIP );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   792
		if ('' != $lang) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   793
			$permalink = get_option('permalink_structure');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   794
			$sep = ('' == $permalink) ? "&amp;lang=" : "?lang=";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   795
			if ($format != 'option' && $format != 'link' && $type != 'postbypost' && $type != 'alpha') {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   796
				/* text extract */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   797
				$i = preg_match_all("/'>(.*)<\/a>/Ui", $link_html, $matches,PREG_PATTERN_ORDER);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   798
				$line = $matches[1][0];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   799
				/* link extract */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   800
				$i = preg_match_all("/href='(.*)' title/Ui", $link_html, $matches,PREG_PATTERN_ORDER);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   801
				if ( '' == $type || 'monthly' == $type) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   802
					if ('' == $permalink) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   803
						$archivedate = str_replace(get_bloginfo('siteurl').'/?' , "" , $matches[1][0]);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   804
						$r = wp_parse_args( $archivedate, array());
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   805
						extract($r, EXTR_SKIP );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   806
						$month = substr($m,-2);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   807
						$year = substr($m,0,4);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   808
					} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   809
						/* Due to prevents post ID and date permalinks from overlapping using /date/ v 1.1.9 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   810
						 * no / at end for "numeric" permalink giving /archives/date/2009/04
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   811
						 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   812
						$thelink = $matches[1][0];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   813
						$i = preg_match_all("/\/([0-9]{4})\/([0-9]{2})/Ui", $thelink, $results,PREG_PATTERN_ORDER);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   814
						if ($i) { //print_r($results);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   815
							$month = $results[2][0];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   816
							$year = $results[1][0];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   817
						}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   818
					}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   819
					$time = strtotime($month.'/1/'.$year);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   820
					$line2print = the_xili_local_time('%B %Y',$time); /* use server local*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   821
					$link_html = str_replace($line , $line2print , $link_html);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   822
				}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   823
				$link_html = str_replace("' titl" , $sep.$lang."' titl" , $link_html);	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   824
			} elseif ($format == 'option') {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   825
				/* need improve with regex */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   826
				$link_html = str_replace("'>" , $sep.$lang."'>" , $link_html);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   827
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   828
		}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   829
		return $link_html;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   830
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   831
 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   832
	 /**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   833
	 * translate description of categories
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   834
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   835
	 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   836
	 * update 0.9.7 - 0.9.9.4
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   837
	 * can be hooked by filter add_filter('xiliml_link_translate_desc','yourfunction',2,4) in functions.php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   838
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   839
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   840
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   841
	function xiliml_link_translate_desc( $description, $category=null,$context='') {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   842
		if (has_filter('xiliml_link_translate_desc')) return apply_filters('xiliml_link_translate_desc',$description,$category,$context,$this->curlang);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   843
	  	$translated_desc = ($this->curlang && ''!= $description) ? __($description,THEME_TEXTDOMAIN) : $description ;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   844
	 	return $translated_desc;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   845
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   846
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   847
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   848
	 * filters for wp_title() translation - single_cat_title - 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   849
	 * since 1.4.1
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   850
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   851
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   852
	function xiliml_single_cat_title_translate ($cat_name) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   853
		if (has_filter('xiliml_single_cat_title_translate')) return apply_filters('xiliml_single_cat_title_translate',$cat_name);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   854
		$translated = ($this->curlang && ''!= $cat_name) ? __($cat_name,THEME_TEXTDOMAIN) : $cat_name;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   855
	 	return $translated;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   856
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   857
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   858
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   859
	 * Return the list of preferred languages for displaying pages (see in firefox prefs)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   860
	 * thanks to php.net comments HTTP_ACCEPT_LANGUAGE
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   861
	 * @since 0.9.7.5
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   862
	 * 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   863
	 * @return array (non sorted)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   864
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   865
	function the_preferred_languages() {	 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   866
		$preferred_languages = array();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   867
			if(preg_match_all("#([^;,]+)(;[^,0-9]*([0-9\.]+)[^,]*)?#i",$_SERVER["HTTP_ACCEPT_LANGUAGE"], $matches, PREG_SET_ORDER)) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   868
				foreach($matches as $match) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   869
					$preferred_languages[$match[1]] = floatval($match[3]);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   870
					if($match[3]==NULL) $preferred_languages[$match[1]] = 1.0;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   871
				}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   872
				return $preferred_languages;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   873
			} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   874
				return false;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   875
			}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   876
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   877
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   878
	 * Return the lang defined by admin UI if no browser
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   879
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   880
	 * @since 1.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   881
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   882
	 */	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   883
	function choice_of_home_selected_lang() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   884
		if ($this->browseroption == 'browser') {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   885
			return choice_of_browsing_language();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   886
		} elseif ($this->browseroption != '') { /* slug of the lang*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   887
			return $this->browseroption;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   888
		} else {	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   889
	 		return strtolower($this->default_lang);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   890
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   891
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   892
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   893
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   894
	 * Return the list of preferred languages for displaying pages (see in firefox prefs)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   895
	 * thanks to php.net comments HTTP_ACCEPT_LANGUAGE
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   896
	 * @since 0.9.7.5
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   897
	 * @update 0.9.9.4
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   898
	 * @return array (non sorted)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   899
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   900
	function choice_of_browsing_language() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   901
		if (has_filter('choice_of_browsing_language')) return apply_filters('choice_of_browsing_language');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   902
		if ($this->browseroption != 'browser') return $this->choice_of_home_selected_lang(); /* in settings UI - after filter to hook w/o UI */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   903
		$listofprefs = $this->the_preferred_languages();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   904
		if (is_array($listofprefs)) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   905
			arsort($listofprefs, SORT_NUMERIC);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   906
			$listlanguages = get_terms(TAXONAME, array('hide_empty' => false));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   907
			$sitelanguage = $this->match_languages ($listofprefs,$listlanguages);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   908
			if ($sitelanguage) return $sitelanguage->slug;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   909
			return strtolower($this->default_lang);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   910
		} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   911
			return strtolower($this->default_lang);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   912
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   913
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   914
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   915
	function match_languages ($listofprefs,$listlanguages) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   916
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   917
			foreach($listofprefs as $browserlanguage => $priority) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   918
					/* match root languages to give similar in site  - first : five chars langs*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   919
					foreach($listlanguages as $sitelanguage) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   920
						if ($sitelanguage->slug == str_replace('-','_',$browserlanguage)) return $sitelanguage;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   921
					}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   922
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   923
			foreach($listofprefs as $browserlanguage => $priority) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   924
					/* match root languages to give similar in site  - second : two first chars langs*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   925
					foreach($listlanguages as $sitelanguage) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   926
						if (str_replace('-','_',$browserlanguage) == substr($sitelanguage->slug,0,2)) return $sitelanguage;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   927
					}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   928
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   929
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   930
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   931
	/********************************** ADMIN UI ***********************************/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   932
			
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   933
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   934
	 * add admin menu and associated pages of admin UI
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   935
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   936
	 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   937
	 * @updated 0.9.6 - only for WP 2.7.X - do registering of new meta boxes and JS
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   938
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   939
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   940
	function xili_add_pages() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   941
		 $this->thehook = add_options_page(__('Languages','xili-language'), __('Languages','xili-language'), 'manage_options', 'language_page', array(&$this,'languages_settings'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   942
		 add_action('load-'.$this->thehook, array(&$this,'on_load_page'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   943
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   944
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   945
	function on_load_page() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   946
			wp_enqueue_script('common');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   947
			wp_enqueue_script('wp-lists');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   948
			wp_enqueue_script('postbox');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   949
			add_meta_box('xili-language-sidebox-1', __('Message','xili-language'), array(&$this,'on_sidebox_1_content'), $this->thehook , 'side', 'core');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   950
			add_meta_box('xili-language-sidebox-2', __('Info','xili-language'), array(&$this,'on_sidebox_2_content'), $this->thehook , 'side', 'core');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   951
			add_meta_box('xili-language-sidebox-4', __('Special','xili-language'), array(&$this,'on_sidebox_4_content'), $this->thehook , 'side', 'core');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   952
			
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   953
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   954
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   955
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   956
	 * Add action link(s) to plugins page
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   957
	 * 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   958
	 * @since 0.9.3
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   959
	 * @author MS
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   960
	 * @copyright Dion Hulse, http://dd32.id.au/wordpress-plugins/?configure-link and scripts@schloebe.de
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   961
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   962
	function xililang_filter_plugin_actions($links, $file){
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   963
		static $this_plugin;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   964
		if( !$this_plugin ) $this_plugin = plugin_basename(__FILE__);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   965
		if( $file == $this_plugin ){
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   966
			$settings_link = '<a href="options-general.php?page=language_page">' . __('Settings') . '</a>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   967
			$links = array_merge( array($settings_link), $links); // before other links
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   968
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   969
		return $links;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   970
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   971
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   972
	/* UI added in sidebar of post admin (write , edit)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   973
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   974
	 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   975
	 * @updated 0.9.5 : add a no-lang radio - again in top of sidebar admin post's UI
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   976
	 * @updated 0.9.8.3 : if new post and checked in settings : default language = author's browser's language !
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   977
	 * @updated 1.3.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   978
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   979
	function xili_language_checkboxes_n() { 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   980
		global $post_ID ;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   981
		//$listlanguages = get_terms(TAXONAME, array('hide_empty' => false));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   982
		$listlanguages = get_terms_of_groups_lite ($this->langs_group_id,TAXOLANGSGROUP,TAXONAME,'ASC');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   983
		if ($this->authorbrowseroption == 'authorbrowser') { // setting = select language of author's browser
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   984
			$listofprefs = $this->the_preferred_languages();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   985
			if (is_array($listofprefs)) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   986
				arsort($listofprefs, SORT_NUMERIC);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   987
				$sitelanguage = $this->match_languages ($listofprefs,$listlanguages);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   988
				if ($sitelanguage) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   989
					$defaultlanguage = $sitelanguage->name;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   990
				} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   991
					$defaultlanguage = "";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   992
				}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   993
				$mention = '('.__('Browser language', 'xili-language').')';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   994
			} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   995
				$defaultlanguage = ""; /* undefined */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   996
			}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   997
		} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   998
			$defaultlanguage = ""; /* undefined */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
   999
			$mention = "";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1000
		}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1001
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1002
		if(0 != $post_ID){
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1003
			$ress = wp_get_object_terms($post_ID, TAXONAME);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1004
			
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1005
			/*Array ( [0] => stdClass Object ( [term_id] => 18 [name] => [slug] => 18 [term_group] => 0 [term_taxonomy_id] => 19 [taxonomy] => language [description] => [parent] => 0 [count] => 1 ) )*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1006
			$obj_term = $ress[0];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1007
			if ('' != $obj_term->name) :
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1008
				$curlangname = $obj_term->name;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1009
			else :
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1010
				$curlangname = ""; /* when created before plugin */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1011
			endif;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1012
			
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1013
		} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1014
			if (isset($_GET['xltgt_lang'])) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1015
				$curlangname = $_GET['xltgt_lang']; /* since 1.3.0 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1016
				$mention = '<br />('.__('From other post', 'xili-language').': '.$_GET['xlfrom_id'].'&nbsp;'.$_GET['xlfrom_lang'].')';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1017
			} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1018
				$curlangname = $defaultlanguage; /* new post */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1019
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1020
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1021
		echo __('Selected language', 'xili-language').' : <strong>'.$curlangname.'</strong> '.((0 == $post_ID) ? $mention : "").'<br /><br />' ; /*link to bottom of sidebar*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1022
		foreach ($listlanguages as $language) { ?> 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1023
		<label for="xili_language_check_<?php echo $language->slug ; ?>" class="selectit"><input id="xili_language_check_<?php echo $language->slug ; ?>" name="xili_language_set" type="radio" value="<?php echo $language->slug ; ?>"  <?php if($curlangname==$language->name) echo 'checked="checked"' ?> /> <?php echo _e($language->description, 'xili-language'); ?></label>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1024
	  
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1025
		<?php } /*link to top of sidebar*/?> 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1026
		<label for="xili_language_check" class="selectit"><input id="xili_language_check" name="xili_language_set" type="radio" value="" <?php if($curlangname=="") echo 'checked="checked"' ?> /> <?php _e('undefined','xili-language') ?></label><br />
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1027
	  	<br /><small>© xili-language</small>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1028
	<?php 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1029
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1030
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1031
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1032
	 * to display the linked posts in post edit UI
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1033
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1034
	 * @since 0.9.8
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1035
	 * @updated 1.3.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1036
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1037
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1038
	function xili_language_linked_posts() { 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1039
		global $post_ID, $post;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1040
		$update_nonce = wp_create_nonce('oklinked');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1041
		$postlang = '';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1042
		if(0 != $post_ID){
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1043
			$ress = wp_get_object_terms($post_ID, TAXONAME);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1044
			$obj_term = $ress[0];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1045
			$postlang = ('' != $obj_term->slug) ? $obj_term->slug : ""; /* when created before plugin */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1046
		} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1047
			$postlang = ""; /* new post */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1048
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1049
		//$listlanguages = get_terms(TAXONAME, array('hide_empty' => false));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1050
		$listlanguages = get_terms_of_groups_lite ($this->langs_group_id,TAXOLANGSGROUP,TAXONAME,'ASC');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1051
		if ($post->post_type == 'post') { ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1052
			<p><em><?php _e('ID of posts in other languages:','xili-language'); ?></em></p>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1053
		<?php $theid = 'Post ID';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1054
			$autosearchmess = __('to auto search linked posts. (read docs)','xili-language');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1055
			$post_type = 'post';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1056
		} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1057
		?>	<p><em><?php _e('ID of pages in other languages:','xili-language'); ?></em></p>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1058
		<?php $theid = 'Page ID';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1059
			$autosearchmess = __('to auto search linked pages. (read docs)','xili-language');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1060
			$post_type = 'page'; 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1061
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1062
		?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1063
		<table width="100%" cellspacing="4" cellpadding="2">
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1064
		<thead>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1065
		<tr ><th><?php _e('Language','xili-language'); ?></th><th align="left"><?php _e($theid,'xili-language'); ?></th><th align="left"><?php _e('Display','xili-language'); ?></th><th align="left"><?php _e('Edit'); ?></th></tr>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1066
		</thead>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1067
		<tbody id='the-linked' class='list:linked'>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1068
			<?php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1069
			if (0 != $post_ID) $autosearch = get_post_meta($post_ID,'_xl-search-linked',true);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1070
			foreach ($listlanguages as $language) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1071
				$output = "";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1072
				$otherpost = "";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1073
				$line = true;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1074
				if ($language->slug == $postlang ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1075
					if ($post->post_status == 'publish' || $post->post_status == 'pending') {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1076
						$line = false;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1077
					} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1078
						$line = true;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1079
					}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1080
				} 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1081
				if ($line) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1082
					if (0 != $post_ID) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1083
						$otherpost = get_post_meta($post_ID, QUETAG.'-'.$language->slug, true);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1084
						$otherpostr = $otherpost; 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1085
						/* since 1.3.0 - 1.4.1 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1086
						if ('' != $autosearch && "" != $postlang) { 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1087
							$source_ID = $this->search_pinger_post($post_ID,QUETAG.'-'.$postlang,$language->term_id, $post_type);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1088
						 	if (0 != $source_ID) { 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1089
						 		$otherpost = $source_ID;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1090
						 		$otherpostr = "-1"; /* to be refreshed */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1091
						 	}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1092
						}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1093
					} else { /* since 1.3.0 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1094
						if (isset($_GET['xlfrom_id'])) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1095
							if ($_GET['xlfrom_lang'] == $language->slug) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1096
								$otherpost = $_GET['xlfrom_id'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1097
								$otherpostr = "-1";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1098
							} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1099
								/* pre-fill linked posts from source post */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1100
								$otherpost = get_post_meta($_GET['xlfrom_id'], QUETAG.'-'.$language->slug, true);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1101
								$otherpostr = "-1";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1102
							}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1103
						}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1104
					}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1105
				
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1106
				?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1107
				<tr ><th>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1108
				<label for="xili_language_<?php echo QUETAG.'-'.$language->slug ; ?>"><?php _e($language->description,'xili-language') ; ?>&nbsp;</label></th><td align="left"><input id="xili_language_<?php echo QUETAG.'-'.$language->slug ; ?>" name="xili_language_<?php echo QUETAG.'-'.$language->slug ; ?>"  value="<?php echo $otherpost; ?>" size="5" /><input type="hidden" name="xili_language_rec_<?php echo QUETAG.'-'.$language->slug ; ?>" value="<?php echo $otherpostr; ?>"/>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1109
				
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1110
				<?php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1111
				if ('' != $otherpost  ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1112
					$output = "</td><td><a target='_blank' href='".get_permalink($otherpost)."' >"." ".__($language->description,'xili-language') ."</a></td><td><a target='_blank' href='post.php?action=edit&post=".$otherpost."' >"." ".__('Edit') ."</a></td></tr>";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1113
				} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1114
					$output = $this->newlinkedpost($postlang, $language->name); /* if possible */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1115
				}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1116
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1117
				echo $output; 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1118
			} 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1119
			/* since 1.4.1 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1120
			if (0 != $post_ID && "" != $postlang) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1121
			?>	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1122
			<tr ><th><?php _e('Check','xili-language'); ?></th><td><input id="xili_language_search_lang" name="xili_language_search_lang" type="checkbox" value="searchlinked" <?php if('' != $autosearch) echo 'checked="checked"' ?> /></td><td colspan = 2 ><small><?php echo$autosearchmess ; ?></small></td></tr>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1123
			<?php } ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1124
				</tbody></table>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1125
			<br /><small>© xili-language</small>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1126
			<?php if ($this->post_ajax) { ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1127
			<div id='formstatus'></div><span id='loading' class='hidden'><?php _e('Saving...','xili-language') ?></span><span id='loading2' class='hidden'><?php _e('Refreshing...','xili-language') ?></span><div class='submit'>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1128
			<input id='updatelink' name='updatelinked' type='submit' tabindex='6' value='Update' /><small>© xili-language</small></div><?php echo wp_nonce_field( 'oklinked', '_ajax_nonce', true, false );/**/ ?><?php /* echo wp_nonce_field( 'customrefresh', '_ajax_nonce', false, false );*/ ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1129
			<script  type='text/javascript'>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1130
			<!--
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1131
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1132
	jQuery(document).ready(function(){
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1133
		jQuery('#updatelink').click(function() { //start function when Random button is clicked
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1134
			jQuery.ajax({
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1135
				type: "post",url: "admin-ajax.php",
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1136
				data: {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1137
					action: 'oklinked', 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1138
					<?php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1139
					foreach ($listlanguages as $language) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1140
						echo "xili_language_".$language->slug.": "."escape( jQuery( '#"."xili_language_".QUETAG."-".$language->slug."' ).val()),";	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1141
					}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1142
					echo "post_id: '".$post_ID."',";	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1143
					?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1144
					_ajax_nonce: '<?php echo $update_nonce; ?>' 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1145
					},
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1146
				beforeSend: function() {jQuery("#loading").fadeIn('fast');jQuery("#formstatus").fadeIn("fast");}, //when link is clicked
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1147
				success: function(html){ //so, if data is retrieved, store it in html
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1148
					jQuery("#loading").fadeOut('slow');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1149
					jQuery("#formstatus").html( html );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1150
					jQuery.ajax({ // refresh custom fields list
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1151
						type: "post",url: "admin-ajax.php",
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1152
					 	data: {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1153
					 	action: 'customrefresh',
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1154
					 	<?php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1155
							echo "post_id: '".$post_ID."',"; ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1156
					 	_ajax_nonce: '<?php echo $update_nonce; ?>' 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1157
					 	},
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1158
					 	beforeSend: function() {jQuery("#loading2").fadeIn('fast');},
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1159
						success: function(html){
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1160
					 	jQuery("#the-list").html( html );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1161
					 	jQuery("#loading2").fadeOut('slow');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1162
					 	}		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1163
			 });
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1164
				}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1165
			}); //close jQuery.ajax
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1166
			return false;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1167
		})
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1168
	})
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1169
	-->
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1170
	</script><?php }
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1171
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1172
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1173
	 * to create a linked post in target language
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1174
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1175
	 * @since 1.3.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1176
	 * @updated 1.3.1 - Add New specific for pages
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1177
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1178
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1179
	function newlinkedpost($postlang = "" , $targetlang = "") {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1180
		global $post;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1181
		$whatnew = ($post->post_type == 'post') ? 'post' : 'page';	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1182
		if ($post->post_status == 'publish' || $post->post_status == 'pending' || $post->post_status == 'draft') {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1183
			if ($postlang != strtolower($targetlang)) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1184
			return "</td><td><small>".__('*','xili-language')."</small></td><td><a href='".$whatnew."-new.php?xlfrom_id=".$post->ID."&xlfrom_lang=".$postlang."&xltgt_lang=".$targetlang."' target='_blank' >".__('Add New')."</a></td><tr>";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1185
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1186
		} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1187
			return "</td></tr>";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1188
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1189
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1190
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1191
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1192
	 * to research post linking current post in the language
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1193
	 * @since 1.4.1
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1194
	 * @params ID of post, lang of this post as meta_key, lang of searched pinger post, type of post (page)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1195
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1196
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1197
	function search_pinger_post ($targetID,$langmeta,$pingerlang,$posttype) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1198
		global $wpdb;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1199
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1200
		$query = "SELECT ID FROM $wpdb->posts as pp LEFT JOIN $wpdb->postmeta as pm ON (pp.ID = pm.post_id) LEFT JOIN $wpdb->term_relationships as tr ON (pp.ID = tr.object_id) LEFT JOIN $wpdb->term_taxonomy as tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id) WHERE 1=1 AND pm.meta_key = '$langmeta' AND pm.meta_value = '$targetID' AND pp.post_type = '$posttype' AND (pp.post_status IN ('publish','private','draft','pending')) AND tt.taxonomy = 'language' AND tt.term_id = $pingerlang ORDER BY pp.post_date DESC LIMIT 0, 1";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1201
		//echo $query;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1202
		$r = @$wpdb->get_col($query);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1203
		//print_r($r);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1204
		if (!empty($r)) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1205
			$id = $r[0]; /* if multiple take the most recent */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1206
		} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1207
		 	$id = 0;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1208
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1209
//echo '->'.$id.$langmeta.$targetID.'</br>'; 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1210
		return $id;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1211
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1212
	/* obsolete */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1213
	function custom_refresh() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1214
		check_ajax_referer( "oklinked" );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1215
		$post_ID = $_POST['post_id'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1216
		$count = 0;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1217
		$metadata = has_meta($post_ID);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1218
		$list ="";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1219
		$output = '';//<tr><td>Refreshed by xili-language</td></tr>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1220
		if ($metadata)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1221
			foreach ( $metadata as $entry ) { $list .= _list_meta_row( $entry, $count );}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1222
		$output .= $list;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1223
		echo $output."<!--- end updated by xili-language -->";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1224
		die();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1225
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1226
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1227
	function ok_linked() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1228
		check_ajax_referer( "oklinked" );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1229
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1230
		$post_ID = $_POST['post_id'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1231
				
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1232
			$listlanguages = get_terms(TAXONAME, array('hide_empty' => false));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1233
			$linked = array ();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1234
			foreach ($listlanguages as $language) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1235
				$key = $language->slug;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1236
				$linked[$key] = $_POST['xili_language_'.$key];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1237
				$linkid = $linked[$key];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1238
				//$reclinkid = $_POST[$recinputid]; /* hidden previous value */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1239
				$langslug = QUETAG.'-'.$key ;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1240
				//if ($reclinkid != $linkid) { /* only if changed value */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1241
					if ((is_numeric($linkid) && $linkid == 0) || '' == $linkid ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1242
						delete_post_meta($post_ID, $langslug);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1243
					} elseif (is_numeric($linkid) && $linkid > 0) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1244
						update_post_meta($post_ID, $langslug, $linkid);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1245
						$mess .= " ".$key;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1246
					}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1247
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1248
			echo '<p>All is OK '.$post_id.' ('.$mess.')</p>'; // voir bannière //
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1249
			die();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1250
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1251
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1252
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1253
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1254
	 * to display the languages settings admin UI
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1255
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1256
	 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1257
	 * @updated 0.9.6 - only for WP 2.7.X - do new meta boxes and JS
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1258
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1259
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1260
	function languages_settings() { 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1261
		$formtitle = 'Add a language'; /* translated in form */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1262
		$submit_text = __('Add &raquo;','xili-language');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1263
		$cancel_text = __('Cancel');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1264
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1265
		if (isset($_POST['reset'])) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1266
			$action=$_POST['reset'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1267
		} elseif (isset($_POST['updateoptions'])) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1268
			$action='updateoptions';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1269
		} elseif (isset($_POST['updateundefined'])) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1270
			$action='updateundefined';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1271
			
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1272
		} elseif (isset($_POST['action'])) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1273
			$action=$_POST['action'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1274
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1275
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1276
		if (isset($_GET['action'])) :
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1277
			$action=$_GET['action'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1278
			$term_id = $_GET['term_id'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1279
		endif;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1280
		$message = $action ;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1281
		switch($action) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1282
			case 'updateundefined';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1283
				$targetlang = $_POST['xili_language_toset'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1284
				$fromcats = $_POST['from_categories'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1285
				if (""!= $targetlang) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1286
					$q = xiliml_setlang_of_undefined_posts ($targetlang, $fromcats, 50);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1287
					$message .= " _ $q ".__('posts are set in:','xili-language')." ".$targetlang." ".__("category")." =[$fromcats]";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1288
				} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1289
					$q = xiliml_setlang_of_undefined_posts ($targetlang, $fromcats, 50);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1290
					$message .= " _ around $q ".__('posts are undefined in','xili-language')." ".__("category")."  = [$fromcats]";	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1291
				}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1292
				$actiontype = "reset";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1293
				break;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1294
			case 'updateoptions';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1295
				$this->browseroption = $_POST['xili_language_check_option'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1296
				$this->authorbrowseroption = $_POST['xili_language_check_option_author'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1297
				$this->functions_enable = $_POST['xili_language_check_functions_enable'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1298
				$this->xili_settings['browseroption'] = $this->browseroption;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1299
				$this->xili_settings['authorbrowseroption'] = $this->authorbrowseroption;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1300
				$this->xili_settings['functions_enable'] = $this->functions_enable; 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1301
				
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1302
				$this->xili_settings['homelang'] = $_POST['xili_language_home_lang']; // 1.3.2 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1303
				
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1304
				update_option('xili_language_settings', $this->xili_settings);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1305
				$message .= " - ".__('Option is updated.','xili-language')." (=> ".$this->browseroption.") (".$this->authorbrowseroption.") (".$this->functions_enable.")";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1306
				$this->insert_gold_functions (); 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1307
				$actiontype = "reset";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1308
				break;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1309
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1310
			case 'add':
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1311
				$term = $_POST['language_name'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1312
				$args = array( 'alias_of' => '', 'description' => $_POST['language_description'], 'parent' => 0, 'slug' =>$_POST['language_nicename']);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1313
			    $theids = wp_insert_term( $term, TAXONAME, $args);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1314
			    wp_set_object_terms($theids['term_id'], 'the-langs-group', TAXOLANGSGROUP);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1315
			    update_term_order ($theids['term_id'],$this->langs_group_tt_id,$_POST['language_order']);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1316
			    $actiontype = "add";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1317
			    $message .= " - ".__('A new language was added.','xili-language');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1318
			     break;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1319
			    
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1320
			case 'edit';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1321
			    $actiontype = "edited";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1322
			    //echo $term_id;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1323
			    //$language = get_term($term_id,TAXONAME,OBJECT,'edit');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1324
			    $language = get_term_and_order ($term_id,$this->langs_group_tt_id,TAXONAME);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1325
			    $submit_text = __('Update &raquo;');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1326
			    $formtitle = 'Edit language';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1327
			    $message .= " - ".__('Language to update.','xili-language');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1328
			    break;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1329
			    
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1330
			case 'edited';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1331
			    $actiontype = "add";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1332
			    $term = $_POST['language_term_id'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1333
			    
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1334
				$args = array( 'alias_of' => '', 'description' => $_POST['language_description'], 'parent' => 0, 'slug' =>$_POST['language_nicename']);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1335
				$theids = wp_update_term( $term, TAXONAME, $args);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1336
				wp_set_object_terms($theids['term_id'], 'the-langs-group', TAXOLANGSGROUP);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1337
				update_term_order ($theids['term_id'],$this->langs_group_tt_id,$_POST['language_order']);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1338
				$message .= " - ".__('A language was updated.','xili-language');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1339
				
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1340
			    break;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1341
			    
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1342
			case 'delete';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1343
			    $actiontype = "deleting";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1344
			    $submit_text = __('Delete &raquo;','xili-language');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1345
			    $formtitle = 'Delete language ?';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1346
			    //$language = get_term($term_id,TAXONAME,OBJECT,'edit');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1347
			    $language = get_term_and_order ($term_id,$this->langs_group_tt_id,TAXONAME);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1348
			    $message .= " - ".__('A language to delete.','xili-language');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1349
			    
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1350
			    break;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1351
			    
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1352
			case 'deleting';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1353
			    $actiontype = "add";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1354
			    $term = $_POST['language_term_id'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1355
			    wp_delete_object_term_relationships( $term, TAXOLANGSGROUP );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1356
			    wp_delete_term( $term, TAXONAME, $args);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1357
			    $message .= " - ".__('A language was deleted.','xili-language');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1358
			    break; 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1359
			case 'reset';    
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1360
			    $actiontype = "add";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1361
			    break;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1362
			default :
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1363
			    $actiontype = "add";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1364
			    $message .= __('Find above the list of languages.','xili-language');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1365
			    
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1366
			    
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1367
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1368
		/* register the main boxes always available */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1369
		add_meta_box('xili-language-normal-1', __('List of languages','xili-language'), array(&$this,'on_normal_1_content'), $this->thehook , 'normal', 'core'); 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1370
		add_meta_box('xili-language-normal-2', __('Language','xili-language'), array(&$this,'on_normal_2_content'), $this->thehook , 'normal', 'core');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1371
		add_meta_box('xili-language-sidebox-3', __('Settings','xili-language'), array(&$this,'on_sidebox_3_content'), $this->thehook , 'side', 'core');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1372
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1373
		/* form datas in array for do_meta_boxes() */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1374
		$data = array('message'=>$message,'messagepost'=>$messagepost,'action'=>$action, 'formtitle'=>$formtitle, 'language'=>$language,'submit_text'=>$submit_text,'cancel_text'=>$cancel_text,'browseroption'=>$this->browseroption, 'authorbrowseroption'=>$this->authorbrowseroption , 'functions_enable'=>$this->functions_enable);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1375
		?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1376
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1377
		<div id="xili-language-settings" class="wrap" style="min-width:750px">
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1378
			<?php screen_icon('options-general'); ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1379
			<h2><?php _e('Languages','xili-language') ?></h2>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1380
			<form name="add" id="add" method="post" action="options-general.php?page=language_page">
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1381
				<input type="hidden" name="action" value="<?php echo $actiontype ?>" />
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1382
				<?php wp_nonce_field('xili-language-settings'); ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1383
				<?php wp_nonce_field('closedpostboxes', 'closedpostboxesnonce', false ); ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1384
				<?php wp_nonce_field('meta-box-order', 'meta-box-order-nonce', false ); 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1385
				/* 0.9.9.2 add has-right-sidebar for next wp 2.8*/ ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1386
				<div id="poststuff" class="metabox-holder has-right-sidebar">
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1387
					<div id="side-info-column" class="inner-sidebar">
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1388
						<?php do_meta_boxes($this->thehook, 'side', $data); ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1389
					</div>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1390
				
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1391
					<div id="post-body" class="has-sidebar has-right-sidebar">
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1392
						<div id="post-body-content" class="has-sidebar-content" style="min-width:360px">
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1393
					
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1394
	   					<?php do_meta_boxes($this->thehook, 'normal', $data); ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1395
						</div>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1396
					<h4><a href="http://dev.xiligroup.com/xili-language" title="Plugin page and docs" target="_blank" style="text-decoration:none" ><img style="vertical-align:middle" src="<?php echo WP_PLUGIN_URL.'/'.dirname(plugin_basename(__FILE__)).'/xililang-logo-32.gif'; ?>" alt="xili-language logo"/>  xili-language</a> - © <a href="http://dev.xiligroup.com" target="_blank" title="<?php _e('Author'); ?>" >xiligroup.com</a>™ - msc 2007-9 - v. <?php echo XILILANGUAGE_VER; ?></h4>		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1397
					</div>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1398
				</div>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1399
		</form>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1400
		</div>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1401
		<script type="text/javascript">
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1402
			//<![CDATA[
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1403
			jQuery(document).ready( function($) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1404
				// close postboxes that should be closed
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1405
				$('.if-js-closed').removeClass('if-js-closed').addClass('closed');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1406
				// postboxes setup
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1407
				postboxes.add_postbox_toggles('<?php echo $this->thehook; ?>');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1408
			});
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1409
			//]]>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1410
		</script> 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1411
	<?php	//end settings div
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1412
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1413
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1414
		//* display xililanguage in lists *//
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1415
	function xili_manage_column($name, $id) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1416
			if($name != TAXONAME)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1417
				return;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1418
			$terms = wp_get_object_terms($id, TAXONAME);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1419
			$first = true;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1420
			foreach($terms AS $term) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1421
				if($first)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1422
					$first = false;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1423
				else
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1424
					echo ', ';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1425
				echo '<a href="' . 'options-general.php?page=language_page'.'">'; /* see more precise link ?*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1426
				echo $term->name;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1427
				echo '</a>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1428
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1429
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1430
	function xili_manage_column_name($cols) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1431
			$ends = array('comments', 'date', 'rel', 'visible');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1432
			$end = array();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1433
			foreach($cols AS $k=>$v) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1434
				if(in_array($k, $ends)) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1435
					$end[$k] = $v;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1436
					unset($cols[$k]);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1437
				}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1438
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1439
			$cols[TAXONAME] = __('Language','xili-language');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1440
			$cols = array_merge($cols, $end);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1441
			return $cols;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1442
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1443
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1444
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1445
	 * Set language plugin 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1446
	 * 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1447
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1448
	 * @updated 1.1.9
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1449
	 * also include automatic search of domain and lang subfolder in current theme
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1450
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1451
	function init_textdomain() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1452
	/*multilingual for admin pages and menu*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1453
		load_plugin_textdomain('xili-language',PLUGINDIR.'/'.dirname(plugin_basename(__FILE__)), dirname(plugin_basename(__FILE__)));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1454
		if (!defined('THEME_TEXTDOMAIN')) { 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1455
			if ($this->xili_settings['theme_domain'] != "") {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1456
				define('THEME_TEXTDOMAIN',$this->xili_settings['theme_domain']);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1457
				
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1458
			} else { /* search it inside theme folder index.php */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1459
				if( is_file( get_template_directory().'/index.php') )  { 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1460
					$lines = @file( get_template_directory().'/index.php'); 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1461
					foreach ($lines as $line) { 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1462
						$i = preg_match_all("/_[_e]\('(.*)', ?'(.*)'/Ui", $line, $matches,PREG_PATTERN_ORDER);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1463
	 					if ($i > 0) { 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1464
							$resultterms = array_merge ($resultterms, $matches[1]);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1465
							//print_r($matches[1]);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1466
							//print_r($matches[2]);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1467
							$domain = $matches[2][0];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1468
							$this->xili_settings['theme_domain'] = $domain;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1469
							update_option('xili_language_settings', $this->xili_settings);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1470
							define('THEME_TEXTDOMAIN',$this->xili_settings['theme_domain']);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1471
							break; 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1472
						}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1473
			 		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1474
			 		if ($domain == "")
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1475
			 			_e('no theme domain in index.php','xili-language');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1476
				} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1477
					_e('no index.php in theme, domain not set','xili-language');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1478
				}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1479
			}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1480
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1481
		if (!defined('THEME_LANGS_FOLDER')) { /* set or detect */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1482
			if ($this->xili_settings['langs_folder'] == "") {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1483
				$this->find_files(get_template_directory(), '/.mo$/', array(&$this,'searchpath'));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1484
				update_option('xili_language_settings', $this->xili_settings);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1485
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1486
			
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1487
			define('THEME_LANGS_FOLDER',$this->xili_settings['langs_folder']); // for bkwd compatibility with xili-dictionary
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1488
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1489
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1490
	function searchpath($path, $filename) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1491
		$this->xili_settings['langs_folder'] = str_replace(get_template_directory(),'',$path);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1492
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1493
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1494
	 * Reset values when theme was changed... updated by previous function
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1495
	 * @since 1.1.9
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1496
	 */ 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1497
	function theme_switched ($theme) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1498
		$this->xili_settings['langs_folder'] ="";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1499
		$this->xili_settings['theme_domain'] =""; /* to force future search in new theme */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1500
		update_option('xili_language_settings', $this->xili_settings);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1501
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1502
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1503
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1504
	 * private functions for languages_settings 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1505
	 * @since 0.9.6
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1506
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1507
	 * fill the content of the boxes (right side and normal)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1508
	 * 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1509
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1510
	function  on_sidebox_1_content($data) { 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1511
		extract($data);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1512
		?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1513
	 	<h4><?php _e('Note:','xili-language') ?></h4>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1514
		<p><?php echo $message;?></p>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1515
		<?php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1516
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1517
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1518
	function  on_sidebox_2_content() { ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1519
	 	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1520
		<p><?php _e("This plugin was developed with the taxonomies, terms tables and tags specifications. <br /> Here a new taxonomy was created and used for languages of posts and pages. <br /> New radiobuttons are available in Post (and Page) write and edit admin pages for selection by author. It is updated for WP 2.9 since 1.1",'xili-language') ?></p>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1521
		<?php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1522
	}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1523
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1524
	function  on_sidebox_3_content($data) { /* where to choose if browser language preferences is tested or not */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1525
		extract($data);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1526
		$update_nonce = wp_create_nonce('xilimloptions');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1527
		/* 1.0 browser - default - languages */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1528
		?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1529
		<fieldset style="margin:2px; padding:12px 6px; border:1px solid #ccc;"><legend><?php echo _e('Select language of the home page', 'xili-language'); ?></legend>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1530
			<select name="xili_language_check_option" id="xili_language_check_option" style="width:100%;">
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1531
				<?php  if ($browseroption == 'browser')
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1532
						$checked = 'selected = "selected"';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1533
						else 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1534
						$checked = '';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1535
				?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1536
				<option value="" ><?php _e('Software defined','xili-language'); ?></option>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1537
				<option value="browser" <?php echo $checked; ?> ><?php _e("Language of visitor's browser",'xili-language'); ?></option>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1538
				<?php $listlanguages = get_terms_of_groups_lite ($this->langs_group_id,TAXOLANGSGROUP,TAXONAME,'ASC');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1539
			foreach ($listlanguages as $language) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1540
				if ($browseroption == $language->slug) 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1541
						$checked = 'selected = "selected"';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1542
					else 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1543
						$checked = '';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1544
				echo '<option value="'.$language->slug.'" '.$checked.' >'.__($language->description,'xili-language').'</option>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1545
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1546
				?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1547
			</select>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1548
			<?php  if ('page' != get_settings('show_on_front')) { ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1549
				<br /> &nbsp;&nbsp;<label for="xili_language_home_lang"><?php _e('Modify home query','xili-language') ?> <input id="xili_language_home_lang" name="xili_language_home_lang" type="checkbox" value="modify" <?php if($this->xili_settings['homelang'] == 'modify') echo 'checked="checked"' ?> /></label>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1550
				<?php }  ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1551
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1552
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1553
		</fieldset>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1554
		<br /><br />
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1555
		<label for="xili_language_check_option_author" class="selectit"><input id="xili_language_check_option_author" name="xili_language_check_option_author" type="checkbox" value="authorbrowser"  <?php if($authorbrowseroption=='authorbrowser') echo 'checked="checked"' ?> /> <?php echo _e('For new post, pre-select by default: browser language of author', 'xili-language'); ?></label>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1556
		<br /><br />
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1557
		<?php if (file_exists(XILIFUNCTIONSPATH)) { /* test if folder exists - ready to add functions.php inside - since 1.0 */?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1558
		<label for="xili_language_check_functions_enable" class="selectit"><input id="xili_language_check_functions_enable" name="xili_language_check_functions_enable" type="checkbox" value="enable"  <?php if($functions_enable =='enable') echo 'checked="checked"' ?> /> <?php echo _e('Enable gold functions', 'xili-language'); ?></label>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1559
		<?php } else {	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1560
		echo '<input type="hidden" name="xili_language_check_functions_enable" value="'.$functions_enable.'" />';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1561
		} ?>		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1562
	 	<div id='formstatus'></div><span id='loading' class='hidden'><?php _e('Updating...','xili-language') ?></span><div class='submit'>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1563
		<input id='updateoptions' name='updateoptions' type='submit' tabindex='6' value="<?php _e('Update','xili-language') ?>" /></div>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1564
		<?php echo wp_nonce_field( 'xilimloptions', '_ajax_nonce', true, false );/**/ ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1565
		<div style="clear:both; height:1px"></div><?php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1566
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1567
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1568
	function  on_sidebox_4_content() { 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1569
	 	$update_nonce = wp_create_nonce('xilimloptions');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1570
	 	?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1571
	 	<fieldset style="margin:2px; padding:12px 6px; border:1px solid #ccc;"><legend><?php echo __("Theme's informations:",'xili-language').' ('.get_option("template").')'; ?></legend>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1572
	 	<p><?php 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1573
	 	if (defined('THEME_TEXTDOMAIN')) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1574
	 		echo __('theme_domain:','xili-language').' '.THEME_TEXTDOMAIN.'<br />'.__('as function like:','xili-language').'<i> _e(\'-->\',\''.THEME_TEXTDOMAIN.'\');</i>'; }
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1575
	 		else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1576
	 			_e('Theme domain NOT defined','xili-language');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1577
	 		} ?><br />
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1578
	 	<?php echo __("Languages sub-folder:",'xili-language').' '.$this->xili_settings['langs_folder']; ?><br />
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1579
	 	<?php _e('Available MO files:','xili-language'); echo '<br />';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1580
	 	$this->find_files(get_template_directory(), "/.mo$/", array(&$this,"available_mo_files")) ;?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1581
	 	</p>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1582
	 	</fieldset>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1583
		<p><?php _e("Special Gold Actions",'xili-language') ?></p>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1584
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1585
		<?php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1586
		//echo  '---'.$this->functions_enable;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1587
		if ($this->functions_enable !='' && function_exists('xiliml_setlang_of_undefined_posts')) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1588
			xiliml_special_UI_undefined_posts ($this->langs_group_id);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1589
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1590
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1591
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1592
	function on_normal_1_content($data) { 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1593
		extract($data); ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1594
		<?php //if (!isset($action) || $action=='add' || $action=='edited' || $action=='deleting') :?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1595
					<table class="widefat">
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1596
						<thead>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1597
						<tr>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1598
						<th scope="col" style="text-align: center"><?php _e('ID') ?></th>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1599
	        			<th scope="col"><?php _e('Name','xili-language') ?></th>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1600
	        			<th scope="col"><?php _e('Full name','xili-language') ?></th>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1601
	        			<th scope="col"><?php _e('Language slug','xili-language') ?></th>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1602
	        			<th scope="col"><?php _e('Order','xili-language') ?></th>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1603
	        			<th scope="col" width="90" style="text-align: center"><?php _e('Posts') ?></th>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1604
	        			<th colspan="2" style="text-align: center"><?php _e('Action') ?></th>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1605
						</tr>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1606
						</thead>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1607
						<tbody id="the-list">
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1608
							<?php $this->xili_lang_row(); /* the lines */?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1609
						</tbody>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1610
					</table>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1611
					<?php if ($action=='edit' || $action=='delete') :?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1612
					<p>(<a href="?action=add&page=language_page"><?php _e('Add a language','xili-language') ?></a>)</p>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1613
	   				<?php endif; ?>	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1614
	<?php	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1615
	}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1616
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1617
	function on_normal_2_content($data) { 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1618
		extract($data);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1619
	 /* the create - edit - delete form */ ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1620
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1621
		<h2 id="addlang" <?php if ($action=='delete') echo 'style="color:#FF1111;"'; ?>><?php _e($formtitle,'xili-language') ?></h2>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1622
		<?php if ($action=='edit' || $action=='delete') :?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1623
			<input type="hidden" name="language_term_id" value="<?php echo $language->term_id ?>" />
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1624
		<?php endif; ?>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1625
		<table class="editform" width="100%" cellspacing="2" cellpadding="5">
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1626
			<tr>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1627
				<th width="33%" scope="row" valign="top" align="right"><label for="language_name"><?php _e('Name') ?></label>:&nbsp;</th>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1628
				<td width="67%"><input name="language_name" id="language_name" type="text" value="<?php echo attribute_escape($language->name); ?>" size="40" <?php if($action=='delete') echo 'disabled="disabled"' ?> /></td>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1629
			</tr>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1630
			<tr>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1631
				<th scope="row" valign="top" align="right"><label for="language_nicename"><?php _e('Language slug','xili-language') ?></label>:&nbsp;</th>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1632
				<td><input name="language_nicename" id="language_nicename" type="text" value="<?php echo attribute_escape($language->slug); ?>" size="40" <?php if($action=='delete') echo 'disabled="disabled"' ?> /></td>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1633
			</tr>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1634
			<tr>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1635
				<th scope="row" valign="top" align="right"><label for="language_description"><?php _e('Full name','xili-language') ?></label>:&nbsp;</th>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1636
				<td><input name="language_description" id="language_description" size="40" value="<?php echo $language->description; ?>" <?php if($action=='delete') echo 'disabled="disabled"' ?> /></td>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1637
				
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1638
			</tr>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1639
			<tr>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1640
				<th scope="row" valign="top" align="right"><label for="language_order"><?php _e('Order','xili-language') ?></label>:&nbsp;</th>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1641
				<td><input name="language_order" id="language_order" size="3" value="<?php echo $language->term_order; ?>" <?php if($action=='delete') echo 'disabled="disabled"' ?> /></td>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1642
				
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1643
			</tr>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1644
			<tr>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1645
			<th><p class="submit"><input type="submit" name="reset" value="<?php echo $cancel_text ?>" /></p></th>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1646
			<td>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1647
			<p class="submit"><input type="submit" name="submit" value="<?php echo $submit_text ?>" /></p>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1648
			</td>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1649
			</tr>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1650
		</table>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1651
	<?php	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1652
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1653
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1654
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1655
	 * private functions for admin page : the language list
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1656
	 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1657
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1658
	 * @update 0.9.5 : two default languages if taxonomy languages is empty
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1659
	 * 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1660
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1661
	function xili_lang_row() { 	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1662
		/*list of languages*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1663
				//$listlanguages = get_terms_with_order($this->langs_group_id,TAXOLANGSGROUP,TAXONAME,'ASC');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1664
		$listlanguages = get_terms_of_groups_lite ($this->langs_group_id,TAXOLANGSGROUP,TAXONAME,'ASC');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1665
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1666
		if (empty($listlanguages)) : /*create two default lines with the default language (as in config)*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1667
		  	/* language of WP */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1668
			$term = 'en_US';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1669
			$args = array( 'alias_of' => '', 'description' => 'english', 'parent' => 0, 'slug' =>'');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1670
			$theids = wp_insert_term( $term, TAXONAME, $args);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1671
			wp_set_object_terms($theids['term_id'], 'the-langs-group', TAXOLANGSGROUP);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1672
		 	$term = $this->default_lang;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1673
		 	$desc = $this->default_lang;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1674
		 	if (!defined('WPLANG') || $this->default_lang == 'en_US' ) {$term = 'fr_FR'; $desc = 'french';}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1675
		 	$args = array( 'alias_of' => '', 'description' => $desc, 'parent' => 0, 'slug' =>'');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1676
		 	$theids = wp_insert_term( $term, TAXONAME, $args);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1677
			wp_set_object_terms($theids['term_id'], 'the-langs-group', TAXOLANGSGROUP); /* create the group */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1678
			$listlanguages = get_terms_of_groups_lite ($this->langs_group_id,TAXOLANGSGROUP,TAXONAME,'ASC');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1679
		endif;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1680
		foreach ($listlanguages as $language) {	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1681
			$class = ((defined('DOING_AJAX') && DOING_AJAX) || " class='alternate'" == $class ) ? '' : " class='alternate'";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1682
			$language->count = number_format_i18n( $language->count );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1683
			$posts_count = ( $language->count > 0 ) ? "<a href='edit.php?lang=$language->slug'>$language->count</a>" : $language->count;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1684
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1685
			$edit = "<a href='?action=edit&amp;page=language_page&amp;term_id=".$language->term_id."' >".__( 'Edit' )."</a></td>";	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1686
			/* delete link*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1687
			$edit .= "<td><a href='?action=delete&amp;page=language_page&amp;term_id=".$language->term_id."' class='delete'>".__( 'Delete' )."</a>";	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1688
			
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1689
		$line="<tr id='cat-$language->term_id'$class>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1690
			<th scope='row' style='text-align: center'>$language->term_id</th>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1691
			<td>" .$language->name. "</td>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1692
			<td>$language->description</td>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1693
			<td>$language->slug</td>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1694
			<td>$language->term_order</td>
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1695
			<td align='center'>$posts_count</td> 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1696
			<td>$edit</td>\n\t</tr>\n"; /*to complete - 0.9.8.1 count to post*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1697
			echo $line;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1698
			//print_r($language);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1699
		}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1700
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1701
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1702
	//********************************************//
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1703
	// Functions for themes (hookable by add_action() in functions.php - 0.9.7
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1704
	//********************************************//
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1705
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1706
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1707
	 * List of available languages.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1708
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1709
	 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1710
	 * @updated 0.9.7.4 - 0.9.8.3 - 0.9.9.6
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1711
	 * can be hooked by add_action in functions.php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1712
	 * with : add_action('xili_language_list','my_infunc_language_list',10,3);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1713
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1714
	 * for multiple widgets since 0.9.9.6 : incorporate top option (without flag) but with example rules
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1715
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1716
	 * @param $before = '<li>', $after ='</li>'.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1717
	 * @return list of languages of site for sidebar list.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1718
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1719
	function xili_language_list($before = '<li>', $after ='</li>',$option='') {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1720
		$listlanguages = get_terms_of_groups_lite ($this->langs_group_id,TAXOLANGSGROUP,TAXONAME,'ASC');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1721
		if ($option == 'typeone') {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1722
			/* the rules : don't display the current lang if set and add link of category if is_category()*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1723
			if (is_category()) {  
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1724
				$catcur = xiliml_get_category_link();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1725
				$currenturl = $catcur.'&amp;'; 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1726
			} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1727
		 		$currenturl = get_bloginfo('siteurl').'/?';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1728
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1729
			foreach ($listlanguages as $language) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1730
				if ($language->slug != $this->curlang ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1731
					$a .= $before ."<a href='".$currenturl.QUETAG."=".$language->slug."' title='".__('Posts selected',THEME_TEXTDOMAIN)." ".__('in '.$language->description,THEME_TEXTDOMAIN)."'>". __('in '.$language->description,THEME_TEXTDOMAIN) ."</a>".$after;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1732
				}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1733
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1734
			echo $a;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1735
		} else {	/* current list */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1736
			foreach ($listlanguages as $language) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1737
				$a .= $before ."<a href='".get_bloginfo('siteurl')."/?".QUETAG."=".$language->slug."' title='".__('Posts selected',THEME_TEXTDOMAIN)." ".__('in '.$language->description,THEME_TEXTDOMAIN)."'>". __('in '.$language->description,THEME_TEXTDOMAIN) ."</a>".$after;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1738
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1739
			echo $a;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1740
		}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1741
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1742
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1743
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1744
	 * language of current post used in loop
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1745
	 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1746
	 * 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1747
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1748
	 * @param $before = '<span class"xili-lang">(', $after =')</span>'.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1749
	 * @return language of post.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1750
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1751
	function xili_post_language($before = '<span class="xili-lang">(', $after =')</span>') {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1752
		global $post;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1753
		$ress = wp_get_object_terms($post->ID, TAXONAME);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1754
		$obj_term = $ress[0];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1755
		if ('' != $obj_term->name) :
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1756
				$curlangname = $obj_term->name;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1757
		else :
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1758
				$curlangname = __('undefined',THEME_TEXTDOMAIN);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1759
		endif;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1760
		$a = $before . $curlangname .$after.'';  
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1761
		echo $a;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1762
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1763
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1764
	/** 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1765
	 * for one post create a link list of the corresponding posts in other languages
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1766
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1767
	 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1768
	 * @updated 0.9.9.2 / 3 $separator replace $after, $before contains pre-text to echo a better list.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1769
	 * @updated 1.1 - see hookable same name function outside class
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1770
	 * can be hooked by add_action in functions.php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1771
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1772
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1773
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1774
	function xiliml_the_other_posts ($post_ID, $before = "This post in", $separator = ", ", $type = "display") {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1775
		/* default here*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1776
			$outputarr = array();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1777
			$listlanguages = get_terms(TAXONAME, array('hide_empty' => false));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1778
			$langpost = $this->get_cur_language($post_ID); // to be used in multilingual loop since 1.1
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1779
			$post_lang = $langpost['lang'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1780
			foreach ($listlanguages as $language) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1781
				$otherpost = get_post_meta($post_ID, 'lang-'.$language->slug, true);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1782
				
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1783
				if ($type == "display") {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1784
					if ('' != $otherpost && $language->slug != $post_lang ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1785
						$outputarr[] = "<a href='".get_permalink($otherpost)."' >".__($language->description,THEME_TEXTDOMAIN) ."</a>";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1786
					}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1787
				} elseif ($type == "array") { // here don't exclude cur lang
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1788
					if ('' != $otherpost)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1789
						$outputarr[$language->slug] = $otherpost;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1790
				}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1791
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1792
			if ($type == "display") {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1793
				if (!empty($outputarr))
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1794
					$output =  (($before !="") ? __($before,THEME_TEXTDOMAIN)." " : "" ).implode ($separator, $outputarr);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1795
				if ('' != $output) { echo $output;}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1796
			} elseif ($type == "array") {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1797
				if (!empty($outputarr)) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1798
					$outputarr[$post_ID] = $post_lang; 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1799
					// add a key with curid to give his lang (empty if undefined)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1800
					return $outputarr;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1801
				} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1802
					return false;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1803
				}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1804
			}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1805
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1806
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1807
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1808
	 * the_category() rewritten to keep new features of multilingual (and amp & pbs in link)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1809
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1810
	 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1811
	 * @updated 0.9.9.4
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1812
	 * can be hooked by add_action xiliml_the_category in functions.php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1813
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1814
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1815
	function xiliml_the_category($post_ID, $separator = ', ' ,$echo = true) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1816
		/* default here*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1817
		$the_cats_list = wp_get_object_terms($post_ID, 'category');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1818
		$i = 0;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1819
		foreach ($the_cats_list as $the_cat) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1820
			if ( 0 < $i )
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1821
				$thelist .= $separator . ' ';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1822
			$desc4title = trim(attribute_escape(apply_filters( 'category_description', $the_cat->description, $the_cat->term_id )));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1823
			
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1824
			$title = ('' == $desc4title) ? __($the_cat->name,THEME_TEXTDOMAIN) : $desc4title;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1825
			$the_catlink = '<a href="' . get_category_link($the_cat->term_id) . '" title="' . $title . '" ' . $rel . '>';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1826
			//if ($curlang != DEFAULTSLUG) :
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1827
	      	$the_catlink .=  __($the_cat->name,THEME_TEXTDOMAIN).'</a>';;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1828
	      	//else :
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1829
	      		 //$the_catlink .=  $the_cat->name.'</a>';;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1830
	      	//endif;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1831
			$thelist .= $the_catlink;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1832
			++$i;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1833
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1834
		if ($echo) :
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1835
			echo $thelist;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1836
			return true;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1837
		else :
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1838
			return $thelist;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1839
		endif;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1840
	}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1841
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1842
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1843
	 * Add list of languages in radio input - for search form.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1844
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1845
	 * @since 0.9.7
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1846
	 * can be hooked by add_action in functions.php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1847
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1848
	 * @updated 0.9.9.5
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1849
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1850
	 * $before, $after each line of radio input
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1851
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1852
	 * @param $before, $after. 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1853
	 * @return echo the form.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1854
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1855
	function xiliml_langinsearchform ($before='',$after='') {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1856
			/* default here*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1857
			$listlanguages = get_terms(TAXONAME, array('hide_empty' => false));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1858
			foreach ($listlanguages as $language) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1859
				$a = $before.'<input type="radio" name="'.QUETAG.'" value="'.$language->slug.'" id="'.$language->slug.'" />&nbsp;'.__($language->description,THEME_TEXTDOMAIN).' '.$after;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1860
			echo $a;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1861
			}			
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1862
		    echo $before.'<input type="radio" name="alllang" value="yes" /> '.__('All',THEME_TEXTDOMAIN).' '.$after;	 // this query alllang is unused -		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1863
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1864
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1865
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1866
	 * Select latest comments in current lang.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1867
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1868
	 * @since 0.9.9.4
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1869
	 * used by widget xili-recent-comments
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1870
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1871
	 * $before, $after each line of radio input
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1872
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1873
	 * @param $before, $after. 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1874
	 * @return echo the form.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1875
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1876
	function xiliml_recent_comments ($number = 5) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1877
		global $comments, $wpdb ;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1878
		if ( !$comments = wp_cache_get( 'xili_language_recent_comments', 'widget' ) ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1879
				$join = "";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1880
				$where = "";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1881
				$reqtag = is_term( $this->curlang, TAXONAME );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1882
					if (''!= $reqtag) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1883
						$wherereqtag = $reqtag['term_id'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1884
						$join = " LEFT JOIN $wpdb->term_relationships as tr ON ($wpdb->comments.comment_post_ID = tr.object_id) LEFT JOIN $wpdb->term_taxonomy as tt ON (tr.term_taxonomy_id = tt.term_taxonomy_id) ";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1885
					    $where = " AND tt.taxonomy = '".TAXONAME."' ";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1886
					    $where .= " AND tt.term_id = $wherereqtag ";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1887
					}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1888
				$query = "SELECT * FROM $wpdb->comments".$join." WHERE comment_approved = '1' ".$where." ORDER BY comment_date_gmt DESC LIMIT $number"; 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1889
				echo $query;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1890
				$comments = $wpdb->get_results($query);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1891
				wp_cache_add( 'xili_language_recent_comments', $comments, 'widget' );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1892
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1893
		return $comments;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1894
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1895
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1896
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1897
	 * Recursive search of files in a path
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1898
	 * @since 1.1.9 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1899
	 * @update 1.2.1
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1900
	 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1901
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1902
	 function find_files($path, $pattern, $callback) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1903
 		//$path = rtrim(str_replace("\\", "/", $path), '/') . '/';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1904
		  $matches = Array();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1905
		  $entries = Array();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1906
		  $dir = dir($path);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1907
		  
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1908
		  while (false !== ($entry = $dir->read())) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1909
		    $entries[] = $entry;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1910
		  }
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1911
		  $dir->close();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1912
		  foreach ($entries as $entry) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1913
		    $fullname = $path .$this->ossep. $entry;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1914
		    if ($entry != '.' && $entry != '..' && is_dir($fullname)) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1915
		      $this->find_files($fullname, $pattern, $callback);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1916
		    } else if (is_file($fullname) && preg_match($pattern, $entry)) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1917
		      call_user_func($callback, $path , $entry);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1918
		    }
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1919
		  }
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1920
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1921
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1922
	 * display lines of files in special sidebox
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1923
	 * @since 1.1.9
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1924
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1925
	function available_mo_files($path , $filename) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1926
  		//echo $filename . " in : " . "/".str_replace("/","",str_replace(get_template_directory(),'',$path)) . "<br />";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1927
  		echo str_replace(".mo","",$filename ). " (".$this->ossep.str_replace($this->ossep,"",str_replace(get_template_directory(),'',$path)).")<br />";
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1928
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1929
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1930
	/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1931
 	* Enable to add functions and filters that are not in theme's functions.php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1932
 	* These filters are common even if you change default theme...
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1933
 	* Place your functions.php in folder plugins/xilidev-libraries/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1934
 	* if you have a filter in this file, avoid to have similar one in functions.php of the theme !!!
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1935
	*
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1936
 	*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1937
	function insert_gold_functions () {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1938
		if ($this->functions_enable !='' && file_exists(XILIFUNCTIONSPATH . '/functions.php') )
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1939
			include_once (XILIFUNCTIONSPATH . '/functions.php');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1940
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1941
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1942
			
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1943
} /* end of xili-language class */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1944
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1945
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1946
/**** Functions that improve taxinomy.php ****/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1947
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1948
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1949
 * get terms and add order in term's series that are in a taxonomy 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1950
 * (not in class for general use)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1951
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1952
 * @since 0.9.8.2 - full version is in xili-tidy-tags
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1953
 * @uses $wpdb
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1954
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1955
function get_terms_of_groups_lite ($group_ids, $taxonomy, $taxonomy_child, $order = '') {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1956
	global $wpdb;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1957
	if ( !is_array($group_ids) )
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1958
		$group_ids = array($group_ids);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1959
	$group_ids = array_map('intval', $group_ids);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1960
	$group_ids = implode(', ', $group_ids);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1961
	$theorderby = '';
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1962
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1963
	// lite release
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1964
	if ($order == 'ASC' || $order == 'DESC') $theorderby = ' ORDER BY tr.term_order '.$order ;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1965
		
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1966
	$query = "SELECT t.*, tt2.term_taxonomy_id, tt2.description,tt2.parent, tt2.count, tt2.taxonomy, tr.term_order FROM $wpdb->term_relationships AS tr INNER JOIN $wpdb->term_taxonomy AS tt ON tr.term_taxonomy_id = tt.term_taxonomy_id INNER JOIN $wpdb->terms AS t ON t.term_id = tr.object_id INNER JOIN $wpdb->term_taxonomy AS tt2 ON tt2.term_id = tr.object_id WHERE tt.taxonomy IN ('".$taxonomy."') AND tt2.taxonomy = '".$taxonomy_child."' AND tt.term_id IN (".$group_ids.") ".$theorderby;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1967
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1968
	$listterms = $wpdb->get_results($query);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1969
	if ( ! $listterms )
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1970
		return array();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1971
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1972
	return $listterms;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1973
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1974
/* for backward compatibility - soon obsolete - please modify your theme's function.php */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1975
function get_terms_with_order ($group_ids, $taxonomy, $taxonomy_child, $order = 'ASC') {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1976
	return get_terms_of_groups_lite ($group_ids, $taxonomy, $taxonomy_child, $order);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1977
}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1978
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1979
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1980
 * function that improve taxinomy.php 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1981
 * @since 0.9.8
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1982
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1983
 * update term order in relationships (for terms of langs group defined by his taxonomy_id)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1984
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1985
 * @param $object_id, $taxonomy_id, $term_order
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1986
 * 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1987
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1988
function update_term_order ($object_id,$term_taxonomy_id,$term_order) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1989
	global $wpdb;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1990
	$wpdb->update( $wpdb->term_relationships, compact( 'term_order' ), array( 'term_taxonomy_id' => $term_taxonomy_id,'object_id' => $object_id ) );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1991
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1992
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1993
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1994
 * function that improve taxinomy.php 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1995
 * @since 0.9.8
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1996
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1997
 * get one term and order of it in relationships
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1998
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  1999
 * @param term_id and $group_ttid (taxonomy id of group)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2000
 * @return object with term_order
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2001
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2002
function get_term_and_order ($term_id,$group_ttid,$taxonomy) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2003
	global $wpdb;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2004
	$term = get_term($term_id,$taxonomy,OBJECT,'edit');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2005
	$term->term_order = $wpdb->get_var("SELECT term_order FROM $wpdb->term_relationships WHERE object_id =  $term_id AND term_taxonomy_id = $group_ttid ");
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2006
	return $term;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2007
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2008
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2009
/**** Functions using the class ****/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2010
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2011
 * Return the current language of theme.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2012
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2013
 * @since 0.9.7
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2014
 * use for other function elsewhere
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2015
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2016
 * @return the slug of language (used in query).
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2017
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2018
function the_curlang() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2019
	global $xili_language;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2020
	return $xili_language->curlang;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2021
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2022
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2023
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2024
 * Return the current language and dir of theme.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2025
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2026
 * @since 0.9.9
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2027
 * use for other function elsewhere
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2028
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2029
 * @return array with slug of language (used in query) and dir (ltr or rtl).
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2030
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2031
function the_cur_lang_dir() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2032
	global $xili_language;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2033
	return array('lang'=>$xili_language->curlang, 'direction'=>$xili_language->curlang_dir);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2034
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2035
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2036
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2037
 * Return the current group of languages
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2038
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2039
 * @since 0.9.8.3
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2040
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2041
function the_cur_langs_group_id() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2042
	global $xili_language;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2043
	return $xili_language->langs_group_id;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2044
} 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2045
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2046
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2047
 * Return the current date or a date formatted with strftime.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2048
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2049
 * @since 0.9.7.1
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2050
 * can be used in theme for multilingual date
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2051
 * @param format and time (if no time = current date-time)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2052
 * @return the formatted date.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2053
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2054
function the_xili_local_time($format='%B %d, %Y',$time = null) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2055
	global $xili_language;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2056
	if ($time == null ) $time = time();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2057
	$curlang = $xili_language->curlang;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2058
	$curlang = substr($curlang,0,3).strtoupper(substr($curlang,-2));
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2059
	setlocale(LC_TIME, $curlang); /* work if server is ready */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2060
	return htmlentities(strftime(__($format,THEME_TEXTDOMAIN),$time),ENT_COMPAT); /* ,'UTF-8' entities for some server */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2061
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2062
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2063
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2064
 * Return the language of current post in loop.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2065
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2066
 * @since 0.9.7.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2067
 * @updated 0.9.9
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2068
 * useful for functions in functions.php or other plugins
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2069
 * 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2070
 * @param ID of the post
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2071
 * @return the name of language as ISO code (en_US).
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2072
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2073
function get_cur_language($post_ID) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2074
	global $xili_language;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2075
	$langpost = $xili_language->get_cur_language($post_ID);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2076
	return $langpost['lang'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2077
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2078
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2079
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2080
 * Return the lang and dir of language of current post in loop.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2081
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2082
 * @since 0.9.9
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2083
 * useful for functions in functions.php or other plugins
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2084
 * 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2085
 * @param ID of the post
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2086
 * @return array two params : lang and direction of lang (ltr or rtl).
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2087
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2088
function get_cur_post_lang_dir($post_ID) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2089
	global $xili_language;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2090
	return $xili_language->get_cur_language($post_ID);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2091
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2092
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2093
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2094
 * Return language object of a post.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2095
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2096
 * @since 1.1.8
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2097
 * useful for functions in functions.php or other plugins
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2098
 * 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2099
 * @param ID of the post
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2100
 * @return false or object with params as in current term (->description = full name of lang, ->count = number of posts in this language,...
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2101
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2102
function xiliml_get_lang_object_of_post($post_ID) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2103
	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2104
	$ress = wp_get_object_terms($post_ID, TAXONAME); /* lang of target post */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2105
	if ($ress == array()) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2106
		return false;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2107
	} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2108
		//print_r($ress[0]);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2109
		return $ress[0];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2110
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2111
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2112
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2113
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2114
 * Return the language of current browser.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2115
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2116
 * @since 0.9.7.6
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2117
 * @updated 0.9.9
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2118
 * useful for functions in functions.php or other plugins
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2119
 * 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2120
 * @param no
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2121
 * @return the best choice.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2122
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2123
function choice_of_browsing_language() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2124
	global $xili_language;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2125
	return $xili_language->choice_of_browsing_language();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2126
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2127
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2128
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2129
 * Return the lang and dir of current browser.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2130
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2131
 * @since 0.9.9
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2132
 * useful for functions in functions.php or other plugins
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2133
 * 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2134
 * @param no
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2135
 * @return array of the best choice lang and his dir.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2136
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2137
function choice_of_browsing_lang_dir() {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2138
	global $xili_language;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2139
	$lang = $xili_language->choice_of_browsing_language();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2140
	$dir = $xili_language->get_dir_of_cur_language($lang);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2141
	return array('lang'=>$lang,'direction'=>$dir);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2142
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2143
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2144
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2145
 * Activate hooks of plugin in class.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2146
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2147
 * @since 0.9.7.4
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2148
 * can be used in functions.php for special action
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2149
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2150
 * @param filter name and function
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2151
 * 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2152
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2153
function add_again_filter($filtername,$filterfunction) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2154
	global $xili_language;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2155
	$xili_language->add_filter($filtername,$filterfunction);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2156
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2157
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2158
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2159
 * Replace get_category_link to bypass hook from xili_language
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2160
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2161
 * @since 0.9.7.4
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2162
 * @updated 1.0.1
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2163
 * can be used in functions.php for special action needing permalink
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2164
 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2165
 * @param category ID 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2166
 * @return the permalink of passed cat_id.
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2167
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2168
function xiliml_get_category_link($catid = 0) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2169
			global $xili_language;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2170
			if ($catid == 0) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2171
				global $wp_query;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2172
				$catid = $wp_query->query_vars['cat'];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2173
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2174
			remove_filter('category_link', $xili_language->idx['xiliml_link_append_lang']);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2175
				$catcur = get_category_link($catid); 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2176
			add_again_filter('category_link', 'xiliml_link_append_lang');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2177
	return $catcur;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2178
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2179
/* used by xili widget - usable if you need to create your own template tag 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2180
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2181
 * @since 0.9.9.4
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2182
 * @param quantity of comments
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2183
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2184
 * @return comments objects...
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2185
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2186
function xiliml_recent_comments($number = 5) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2187
	global $xili_language;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2188
	return $xili_language->xiliml_recent_comments($number);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2189
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2190
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2191
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2192
 * Return full object of a language
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2193
 * @since 1.1.8
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2194
 * @param name (fr_FR) or slug (fr_fr)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2195
 * @return false or full language object (example ->description = full as set in admin UI)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2196
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2197
function xiliml_get_language($lang_nameorslug="") {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2198
	$language = is_term( $lang_nameorslug, TAXONAME );
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2199
	if ($language) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2200
		return get_term($language['term_id'],TAXONAME,OBJECT,'edit');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2201
	} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2202
		return false;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2203
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2204
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2205
 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2206
 	/* 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2207
	 **
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2208
	 * Template Tags for themes (with current do_action tool some are hookable functions) 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2209
	 **
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2210
	 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2211
	 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2212
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2213
 * Template Tag insertable in search form for sub-selection of a language
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2214
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2215
 * @since 0.9.7
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2216
 * can be used in theme template
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2217
 * example: if(class_exists('xili_language')) xiliml_langinsearchform()
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2218
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2219
 * hook: add_action('xiliml_langinsearchform','your_xiliml_langinsearchform',10,2) to change its behaviour elsewhere
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2220
 * @param html tags 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2221
 * @return echo the list as radio-button
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2222
 */	 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2223
function xiliml_langinsearchform ($before='',$after='') { /* list of radio buttons for search form*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2224
	global $xili_language;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2225
	if ($xili_language->this_has_filter('xiliml_langinsearchform')){ 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2226
		remove_filter('xiliml_langinsearchform',$xili_language->idx['xiliml_langinsearchform']); /*no default from class*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2227
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2228
	do_action('xiliml_langinsearchform',$before,$after);	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2229
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2230
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2231
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2232
 * Template Tag - replace the_category() tag of WP Core
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2233
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2234
 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2235
 * can be used in theme template in each post in loop
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2236
 * example: if(class_exists('xili_language')) xiliml_the_category($post->ID)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2237
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2238
 * hook: add_action('xiliml_the_category','your_xiliml_the_category',10,3) to change its behaviour elsewhere
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2239
 * @param post_id separator echo (true by default) 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2240
 * @return echo (by default) the list of cats with comma separated...
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2241
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2242
function xiliml_the_category($post_ID, $separator = ', ' ,$echo = true) { /* replace the_category() */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2243
	global $xili_language;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2244
	if ($xili_language->this_has_filter('xiliml_the_category')){ 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2245
		remove_filter('xiliml_the_category',$xili_language->idx['xiliml_the_category']); /*no default from class*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2246
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2247
	do_action('xiliml_the_category',$post_ID,$separator,$echo);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2248
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2249
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2250
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2251
 * Template Tag - in loop display the link of other posts defined as in other languages
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2252
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2253
 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2254
 * @updated 0.9.9.2, 1.1 (can return an array of lang + id)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2255
 * can be used in theme template in single.php under the title
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2256
 * example: if(class_exists('xili_language')) xiliml_the_other_posts($post->ID)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2257
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2258
 * hook: add_action('xiliml_the_other_posts','your_xiliml_the_other_posts',10,3) to change its behaviour elsewhere
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2259
 * @param post_id before separator type (echo, array)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2260
 * @return echo (by default) the list 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2261
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2262
function xiliml_the_other_posts ($post_ID,$before = "This post in", $separator = ", ", $type = "display") { /* display the other posts defined as in other lang */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2263
	global $xili_language;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2264
	if ($xili_language->this_has_filter('xiliml_the_other_posts')){ 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2265
		remove_filter('xiliml_the_other_posts',$xili_language->idx['xiliml_the_other_posts']); /*no default from class*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2266
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2267
	return apply_filters('xiliml_the_other_posts',$post_ID, $before, $separator,$type);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2268
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2269
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2270
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2271
 * Template Tag - in loop display the language of the post
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2272
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2273
 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2274
 * can be used in theme template in loop under the title
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2275
 * example: if(class_exists('xili_language')) xili_post_language()
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2276
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2277
 * hook: add_action('xili_post_language','your_xili_post_language',10,2) to change its behaviour elsewhere
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2278
 * @param before after 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2279
 * @return echo (by default) the language 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2280
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2281
function xili_post_language($before = '<span class="xili-lang">(', $after =')</span>') { /* post language in loop*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2282
	do_action('xili_post_language',$before, $after);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2283
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2284
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2285
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2286
 * Template Tag - outside loop (sidebar) display the languages of the site (used also by widget)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2287
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2288
 * @since 0.9.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2289
 * @updated 0.9.7.4
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2290
 * can be used in theme template in sidebar menu or header menu
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2291
 * example: if(class_exists('xili_language')) xili_language_list()
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2292
 * theoption param is used to define type of display according places (sidebar / header) in theme (see dev.xiligroup.com)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2293
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2294
 * hook: add_action('xili_language_list','your_xili_language_list',10,3) to change its behaviour elsewhere
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2295
 * @param before after theoption
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2296
 * @return echo the list of languages
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2297
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2298
function xili_language_list($before = '<li>', $after ='</li>', $theoption='') { /* list of languages i.e. in sidebar */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2299
	global $xili_language;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2300
	if ($xili_language->this_has_filter('xili_language_list')){ 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2301
		remove_filter('xili_language_list',$xili_language->idx['xili_language_list']); /*no default from class*/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2302
	}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2303
	do_action('xili_language_list',$before,$after,$theoption); 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2304
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2305
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2306
/*
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2307
 * sub selection of pages for wp_list_pages()
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2308
 * @ since 090504 - exemple of new function add here or addable in functions.php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2309
 * © xiligroup.dev
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2310
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2311
 * only called if xili-language plugin is active and query tag 'lang' is in wp_list_pages template tag
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2312
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2313
 * example 1 : wp_list_pages('title_li=&lang='.the_curlang() ); will display only pages of current lang
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2314
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2315
 * example 2 : wp_list_pages('title_li=&setlang=0&lang='.the_curlang() ); will display pages of current lang AND pages with lang undefined (polyglot pages).
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2316
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2317
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2318
function ex_pages_by_lang ($pages, $r) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2319
	if (isset($r['lang']) && !empty($pages) && function_exists('get_cur_post_lang_dir')) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2320
		$keepundefined = null;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2321
		if (isset($r['setlang'])) { 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2322
			if ($r['setlang'] == 0 || $r['setlang'] == 'false') $keepundefined = false;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2323
			if ($r['setlang'] == 1 || $r['setlang'] == 'true') $keepundefined = true;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2324
		}	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2325
		$resultingpages = array();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2326
		foreach ($pages as $page) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2327
			$post_lang_dir = get_cur_post_lang_dir($page->ID);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2328
			if ($post_lang_dir === $keepundefined) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2329
					$resultingpages[] = $page;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2330
			} elseif ($post_lang_dir['lang'] == $r['lang'] ) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2331
					$resultingpages[] = $page;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2332
			}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2333
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2334
		return $resultingpages;	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2335
	} else {	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2336
	 	return $pages;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2337
	}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2338
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2339
add_filter('get_pages','ex_pages_by_lang',10,2);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2340
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2341
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2342
 * functions to change and restore loop's query tag
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2343
 * (useful for sidebar widget - see functions table)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2344
 * @since 1.3.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2345
 * @param  lang to modify query_tag - 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2346
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2347
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2348
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2349
function xiliml_force_loop_lang ($lang_query_tag){
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2350
	global $xili_language, $wp_query;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2351
	$xili_language->temp_lang_query_tag = $wp_query->query_vars[QUETAG];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2352
	$wp_query->query_vars[QUETAG] = $lang_query_tag;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2353
	$xili_language->current_lang_query_tag = $wp_query->query_vars[QUETAG];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2354
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2355
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2356
function xiliml_restore_loop_lang (){
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2357
	global $xili_language, $wp_query;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2358
	$wp_query->query_vars[QUETAG] = $xili_language->temp_lang_query_tag;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2359
	$xili_language->current_lang_query_tag = $wp_query->query_vars[QUETAG];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2360
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2361
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2362
 * functions to permit lang query tag
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2363
 * (useful for WP_Query)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2364
 * @since 1.3.2
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2365
 * example: add_action('parse_query','xiliml_add_lang_to_parsed_query');
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2366
 *		$r = new WP_Query($thequery);
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2367
 *		remove_filter('parse_query','xiliml_add_lang_to_parsed_query'); 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2368
 * used by class xili_Widget_Recent_Posts
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2369
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2370
function xiliml_add_lang_to_parsed_query ($theclass = array()) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2371
		global $wp_query;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2372
		$query = $theclass->query;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2373
		if (is_array($query)) {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2374
			$r = $query;
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2375
		} else {
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2376
			parse_str($query, $r); 	
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2377
		}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2378
		if (array_key_exists(QUETAG,$r)) $wp_query->query_vars[QUETAG] = $r[QUETAG];
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2379
}
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2380
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2381
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2382
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2383
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2384
 * instantiation of xili_language class
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2385
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2386
 * @since 0.9.7 - 0.9.9.4 =& for vintage server with php4 !!!! - 1.1.9
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2387
 *
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2388
 * @param 1st metabox (for other posts in post edit UI - to replace custom fields - beta tests)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2389
 * @param 2nd ajax ( true if ajax is activated for post edit admin UI - alpha tests )
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2390
 * 1.1.9
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2391
 * @param 3rd locale_method (true for cache compatibility... in current tests with johan.eenfeldt@kostdoktorn.se)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2392
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2393
$xili_language =& new xili_language(true,false,false); 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2394
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2395
/**
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2396
 * Enable to add functions and filters that are not in theme's functions.php
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2397
 * These filters are common even if you change default theme...
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2398
 * Place your functions.php in folder plugins/xilidev-libraries/
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2399
 * if you have a filter in this file, avoid to have similar one in functions.php of the theme !!!
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2400
 * 
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2401
 * (for tests, check / uncheck 'enable gold functions' in settings UI)
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2402
 * @since 1.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2403
 * @updated 1.4.0
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2404
 */
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2405
$xili_language->insert_gold_functions ();
8e3a5a6fc63e English version just for user loged view
hurons@caf4f556-3d62-0410-8435-a86758001935
parents:
diff changeset
  2406
?>