web/common.php
changeset 291 db1e6bfaa54e
parent 287 3efe34a87c37
child 294 106c4ec894aa
equal deleted inserted replaced
290:2ddd11ec2da2 291:db1e6bfaa54e
     7  */
     7  */
     8 set_include_path(
     8 set_include_path(
     9     'lib'
     9     'lib'
    10     . PATH_SEPARATOR . get_include_path()
    10     . PATH_SEPARATOR . get_include_path()
    11 );
    11 );
       
    12 
       
    13 function get_config_translations($config) {
       
    14 
       
    15     $fr = array();
       
    16     $en = array();
       
    17     $jp = array();
       
    18     
       
    19     $array_loop = array("fr"=>&$fr,"en"=>&$en,"jp"=>&$jp);
       
    20     /**
       
    21     * add all config key as translation.
       
    22     * translation key is "config__<config_key>"
       
    23     */
       
    24     foreach ($config as $key => $value) {
       
    25         $translation_key = "config__$key";
       
    26     
       
    27         foreach ($array_loop as $lang => &$lang_array) {
       
    28             if(is_array($value) && count(array_intersect_key($value,$array_loop)) > 0 ) {
       
    29                 if (array_key_exists($lang, $value)) {
       
    30                     $lang_array[$translation_key] = $value[$lang];
       
    31                 }
       
    32                 elseif (array_key_exists('fr', $value)) {
       
    33                     $lang_array[$translation_key] = $value['fr'];
       
    34                 }
       
    35             }
       
    36             else {
       
    37                 $lang_array[$translation_key] = $value;
       
    38             }
       
    39         }
       
    40     }
       
    41     
       
    42     return $array_loop;
       
    43     
       
    44 }
    12 
    45 
    13 /**
    46 /**
    14 * Base configuration
    47 * Base configuration
    15 */
    48 */
    16 $C_default_rep = 'JaneMcGonigal-gameDesign';
    49 $C_default_rep = 'JaneMcGonigal-gameDesign';
    67 /**
   100 /**
    68  * TRADUCTION
   101  * TRADUCTION
    69 **/
   102 **/
    70 
   103 
    71 
   104 
    72 Zend_Loader::loadClass('Zend_Translate'); 
   105 Zend_Loader::loadClass('Zend_Translate');
    73 Zend_Loader::loadClass('Zend_Http_Cookie'); 
   106 Zend_Loader::loadClass('Zend_Http_Cookie');
    74 
   107 
    75 
   108 
    76 $client = new Zend_Http_Client();
   109 $client = new Zend_Http_Client();
    77 $translate = new Zend_Translate('array', $init, 'fr');
   110 $translate = new Zend_Translate('array', $init, 'fr');
       
   111 
    78 
   112 
    79 $translate->addTranslation($english, 'en');
   113 $translate->addTranslation($english, 'en');
    80 $translate->addTranslation($japan, 'ja_JP');
   114 $translate->addTranslation($japan, 'ja_JP');
    81 $translate->addTranslation($french, 'fr');
   115 $translate->addTranslation($french, 'fr');
    82 
   116 
       
   117 if(isset($config)) {
       
   118     $config_translations = get_config_translations($config);
       
   119     
       
   120     
       
   121     $translate->addTranslation($config_translations['en'], 'en');
       
   122     $translate->addTranslation($config_translations['jp'], 'ja_JP');
       
   123     $translate->addTranslation($config_translations['fr'], 'fr');
       
   124 }
       
   125     
    83 $actual = $translate->getLocale();
   126 $actual = $translate->getLocale();
    84 
   127 
    85 //$translate->setLocale("en");
   128 //$translate->setLocale("en");
    86 // $acceptCookie = $this->_request->getCookie('acceptCookie',0);
   129 // $acceptCookie = $this->_request->getCookie('acceptCookie',0);
    87 
   130 
   197 	return ${
   240 	return ${
   198 		$registry_name}[$registry][$key];
   241 		$registry_name}[$registry][$key];
   199 
   242 
   200 }
   243 }
   201 
   244 
   202 function get_archive_box($rep, $metadata, $url_root, $basepath) {
   245 function get_archive_box($rep, $metadata, $url_root, $basepath, &$translate) {
   203 
   246 
   204 	include("$basepath$rep/config.php");
   247 	include("$basepath$rep/config.php");
   205 
   248 	
       
   249 	
       
   250 	$config_translations = get_config_translations($config);
       
   251 	
       
   252 	// save the locale because it gets changed when adding translations
       
   253 	$locale = $translate->getLocale();
       
   254 	
       
   255 	$translate->addTranslation($config_translations['en'], 'en');
       
   256 	$translate->addTranslation($config_translations['jp'], 'ja_JP');
       
   257 	$translate->addTranslation($config_translations['fr'], 'fr');
       
   258 	
       
   259 	// set the locale back
       
   260 	$translate->setLocale($locale);
       
   261 	
   206 	$id = "abox_$rep".(($metadata!=null)?"_$metadata":"");
   262 	$id = "abox_$rep".(($metadata!=null)?"_$metadata":"");
   207 	$hash = ($metadata!=null)?"#metadata=$metadata":"";
   263 	$hash = ($metadata!=null)?"#metadata=$metadata":"";
   208 	$tail_img = $config['archive_img'];
   264 	$tail_img = $translate->_('config__archive_img');
   209 	if(is_array($tail_img)) {
   265 	if(is_array($tail_img)) {
   210 		$tail_img = $tail_img[$metadata];
   266 		$tail_img = $tail_img[$metadata];
   211 	}
   267 	}
   212 	$archive_title = $config['archive_title'];
   268 	$archive_title = $translate->_('config__archive_title');
   213 	if(is_array($archive_title)) {
   269 	if(is_array($archive_title)) {
   214 		$archive_title = $archive_title[$metadata];
   270 		$archive_title = $archive_title[$metadata];
   215 	}
   271 	}
   216 	$archive_description = $config['archive_description'];
   272 	$archive_description = $translate->_('config__archive_description');
   217 	if(is_array($archive_description)) {
   273 	if(is_array($archive_description)) {
   218 		$archive_description = $archive_description[$metadata];
   274 		$archive_description = $archive_description[$metadata];
   219 	}
   275 	}
   220 
   276 
   221 
   277 
   231 
   287 
   232 	return $res;
   288 	return $res;
   233 
   289 
   234 }
   290 }
   235 
   291 
   236 function display_archives_list($archives_list, $box_class, $url_root, $basepath) {
   292 function display_archives_list($archives_list, $box_class, $url_root, $basepath, &$translate) {
       
   293     
       
   294     
   237 	for($i=0;$i<count($archives_list);$i++) {
   295 	for($i=0;$i<count($archives_list);$i++) {
   238 		if(($i % 3)==0) {
   296 		if(($i % 3)==0) {
   239 			print("			    <div class=\"$box_class\">\n");
   297 			print("			    <div class=\"$box_class\">\n");
   240 		}
   298 		}
   241 		$archive_ref = $archives_list[$i];
   299 		$archive_ref = $archives_list[$i];
   244 		$metadata = null;
   302 		$metadata = null;
   245 		if(is_array($archive_ref)) {
   303 		if(is_array($archive_ref)) {
   246 			$archive_name = $archive_ref[0];
   304 			$archive_name = $archive_ref[0];
   247 			$metadata = $archive_ref[1];
   305 			$metadata = $archive_ref[1];
   248 		}
   306 		}
   249 		print(get_archive_box($archive_name,$metadata, $url_root, $basepath));
   307 		print(get_archive_box($archive_name,$metadata, $url_root, $basepath, $translate));
   250 		if(($i % 3)==2 || $i == (count($archives_list)-1)) {
   308 		if(($i % 3)==2 || $i == (count($archives_list)-1)) {
   251 			print("			    </div>\n");
   309 			print("			    </div>\n");
   252 		}
   310 		}
   253 	}
   311 	}
   254 }
   312 }