Changeset 3746


Ignore:
Timestamp:
08/17/09 17:00:50 (11 years ago)
Author:
Criss
Message:

Add default value to language translation

Location:
extensions/ContactForm
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • extensions/ContactForm/admin/cf_language.tab.php

    r3743 r3746  
    11<?php 
    2 /* $Id: cf_language.tab.php,v 1.1 2009/08/17 07:24:11 Criss Exp $ */ 
     2/* $Id: cf_language.tab.php,v 1.2 2009/08/17 14:53:42 Criss Exp $ */ 
    33if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 
    44check_status(ACCESS_ADMINISTRATOR); 
     
    99if (isset($_POST['submit'])) { 
    1010  global $page; 
    11    
     11 
    1212  if (isset($_POST['cf_item']) and is_array($_POST['cf_item'])) { 
    1313    CF_Debug::add_debug($_POST['cf_item'], 'POST'); 
    14     foreach($_POST['cf_item'] as $key => $values) { 
    15       if (is_array($values)) { 
    16         CF_Debug::add_debug($values, 'POST'); 
    17         foreach($values as $language => $content) { 
    18           $cf_languages->set_value($language, $key, $content); 
    19         } 
    20       } 
    21     } 
     14    $cf_languages->mass_update($_POST['cf_item']); 
    2215  } 
    23   CF_Debug::add_debug( $cf_languages, 'POST'); 
     16 
    2417  // Save config 
    2518  $cf_config->save_config(); 
     
    3831$config_keys=array(); 
    3932$config_values=array(); 
     33 
    4034foreach($cf_languages->get_keys() as $key) { 
    4135  $current = array(); 
     36  $current[CF_LANG_DEFAULT] = array( 
     37        'LANG'  => CF_LANG_DEFAULT, 
     38        'NAME'  => l10n('cf_default_lang'), 
     39        'VALUE' => $cf_languages->get_value(CF_LANG_DEFAULT, $key, false), 
     40      ); 
    4241  foreach($all_languages as $lang_key => $lang_name) { 
    4342    $current[$lang_key] = array( 
    4443        'LANG'  => $lang_key, 
    4544        'NAME'  => $lang_name, 
    46         'VALUE' => $cf_languages->get_value($lang_key, $key), 
     45        'VALUE' => $cf_languages->get_value($lang_key, $key, false), 
    4746      ); 
    4847  } 
     
    5049  $config_values[$key] = $current; 
    5150} 
    52  
    5351$template->assign('CF_CONFIG_KEYS_SELECTED', $cf_item_selected); 
    5452$template->assign('CF_CONFIG_KEYS', $config_keys); 
  • extensions/ContactForm/admin/template/cf_language.tab.tpl

    r3743 r3746  
    1 {* $Id: cf_language.tab.tpl,v 1.1 2009/08/17 07:24:12 Criss Exp $ *} 
     1{* $Id: cf_language.tab.tpl,v 1.2 2009/08/17 14:53:42 Criss Exp $ *} 
    22{literal} 
    33<script type="text/javascript"> 
     
    1919<table> 
    2020  <tr> 
    21     <td style="vertical-align: top;"> 
     21    <td style="vertical-align: top; text-align: center;"> 
    2222      <div class="cf-label">{'cf_select_item'|@translate}</div> 
    23       <select size="1" name="cf_select" id="cf_select" onclick="cf_update_display();"> 
     23      <select size="1" name="cf_select" id="cf_select" 
     24        onclick="cf_update_display();" onchange="cf_update_display();"> 
    2425      {html_options options=$CF_CONFIG_KEYS selected=$CF_CONFIG_KEYS_SELECTED} 
    2526      </select> 
    2627    </td> 
    27     <td>&nbsp;</td> 
    28     <td> 
     28    <td style="width: 3px;">&nbsp;</td> 
     29    <td style="text-align: center; width: 280px"> 
    2930      {foreach from=$CF_CONFIG_VALUES item=config_value key=config_key name=config_keys} 
    3031      <div id="cf_div_{$config_key}" class="cf-lang"> 
    31         <label class="cf-lang">{$CF_CONFIG_KEYS.$config_key}</label> 
     32        <div class="cf-label">{$CF_CONFIG_KEYS.$config_key}</div> 
    3233        <table> 
    3334        {foreach from=$config_value item=language_values key=language_key} 
  • extensions/ContactForm/classes/cf_config_lang.class.php

    r3743 r3746  
    44class CF_Config_Lang { 
    55  static $default_keys = array(); 
    6   static private $available_languages = null; 
     6  static protected $available_languages = null; 
    77  protected $defined_languages = array(); 
    88  protected $added_languages = array(); 
     
    2626  /* ************************ */ 
    2727 
    28   function CF_Config_Lang() { 
     28  function __construct() { 
    2929    $this->init(); 
    3030  } 
     
    7777  } 
    7878   
    79   function get_value($language=null, $key=null) { 
     79  function get_value($language=null, $key=null, $return_default=true) { 
    8080    $values = $this->get_merged_values(); 
    8181    if (null == $language) { 
     
    8989    } 
    9090    if (!isset($values[$language][$key]) or empty($values[$language][$key])) { 
     91      if ($return_default) { 
     92        return $values[CF_LANG_DEFAULT][$key]; 
     93      } 
    9194      return null; 
    9295    } 
     
    104107    } 
    105108    $this->add_key($key); 
     109  } 
     110   
     111  function get_extended_values($language=null) { 
     112    $values = $this->get_merged_values(); 
     113    $return_values = array(); 
     114    foreach($values as $language => $keys) { 
     115      foreach($keys as $key => $value) { 
     116        if (!isset($return_values[$key])) { 
     117          $return_values[$key] = ''; 
     118        } 
     119        if (!empty($value)) { 
     120          if (strcmp($language, CF_LANG_DEFAULT) != 0) { 
     121            $language = substr($language, 0, 2); 
     122          } 
     123          $return_values[$key] .= '[lang=' . $language . ']'; 
     124          $return_values[$key] .= $value; 
     125          $return_values[$key] .= '[/lang]'; 
     126        } 
     127      } 
     128    } 
     129    return $return_values; 
     130  } 
     131   
     132  function mass_update($new_values = array()) { 
     133    foreach($new_values as $key => $values) { 
     134      if (is_array($values)) { 
     135        foreach($values as $language => $content) { 
     136          $this->set_value($language, $key, $content); 
     137        } 
     138      } 
     139    } 
    106140  } 
    107141   
  • extensions/ContactForm/classes/cf_plugin.class.php

    r3743 r3746  
    4242    global $template; 
    4343    $cf_values = array( 
    44         'TEXT'  => $this->config->get_lang_value('contact_form_footer'), 
     44        'TEXT'  => $this->config->get_lang_value('contact_form_link'), 
    4545        'URL'   => make_index_url(array('section' => CF_URL_PARAMETER)), 
    4646      ); 
  • extensions/ContactForm/include/cf_common.inc.php

    r3743 r3746  
    77 
    88// Version 
    9 define('CF_VERSION',            '1.0.0'); 
     9define('CF_VERSION',            '1.0.1'); 
    1010define('CF_TITLE',              'Contact Form'); 
    1111 
     
    3737define('CF_REDIRECT_DELAY',     5); 
    3838define('CF_DEFAULT_LINKNAME',   'ContactFormLink'); 
     39define('CF_LANG_DEFAULT',       'default'); 
    3940// Config keys 
    4041if (isset($plugin)) { 
     
    8586$cf_config_lang_keys = array(); 
    8687$cf_config_lang_keys['contact_form_title'] = array( 
     88    CF_LANG_DEFAULT => l10n('contact_form_title'), 
    8789    'fr_FR' => 'Formulaire de contact', 
    8890    'en_UK' => 'Contact form', 
     
    9092); 
    9193$cf_config_lang_keys['contact_form'] = array( 
     94    CF_LANG_DEFAULT => l10n('contact_form'), 
    9295    'fr_FR' => 'Contacter', 
    9396    'en_UK' => 'Contact', 
     
    9598); 
    9699$cf_config_lang_keys['contact_form_link'] = array( 
     100    CF_LANG_DEFAULT => l10n('contact_form_link'), 
    97101    'fr_FR' => 'Contacter le webmestre', 
    98102    'en_UK' => 'Contact webmaster', 
  • extensions/ContactForm/include/cf_functions.inc.php

    r3743 r3746  
    11<?php 
    22if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 
     3 
     4// Include language advices 
     5load_language('plugin.lang', CF_PATH); 
    36 
    47/** 
  • extensions/ContactForm/include/contactform.css

    r3743 r3746  
    1818} 
    1919.cf-label { 
     20        margin-top: 0; 
    2021        font-size: larger; 
    2122        text-align: center; 
    22         margin-bottom: 5px; 
     23  min-height: 40px; 
     24  margin-bottom: 5px; 
    2325} 
    2426.cf-lang { 
  • extensions/ContactForm/language/en_UK/plugin.lang.php

    r3743 r3746  
    11<?php 
    2 /* $Id: plugin.lang.php,v 1.5 2009/08/17 07:30:09 Criss Exp $ */ 
     2/* $Id: plugin.lang.php,v 1.6 2009/08/17 14:53:42 Criss Exp $ */ 
    33if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 
    44global $lang; 
     
    6161$lang['cf_language_desc'] = 'Messages translation'; 
    6262$lang['cf_select_item'] = 'Select item to translate'; 
     63$lang['cf_default_lang'] = 'Default'; 
    6364$lang['contact_form_title_label'] = 'Title used in menubar'; 
    6465$lang['contact_form_label'] = 'Name used in menubar'; 
  • extensions/ContactForm/language/fr_FR/plugin.lang.php

    r3743 r3746  
    11<?php 
    2 /* $Id: plugin.lang.php,v 1.5 2009/08/17 07:30:09 Criss Exp $ */ 
     2/* $Id: plugin.lang.php,v 1.6 2009/08/17 14:53:42 Criss Exp $ */ 
    33if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 
    44global $lang; 
     
    6161$lang['cf_language_desc'] = 'Traduction des messages'; 
    6262$lang['cf_select_item'] = 'Sélectionnez l\'élément à traduire'; 
     63$lang['cf_default_lang'] = 'Par défaut'; 
    6364$lang['contact_form_title_label'] = 'Titre dans la barre de menus'; 
    6465$lang['contact_form_label'] = 'Nom affiché dans la barre de menus'; 
  • extensions/ContactForm/language/it_IT/plugin.lang.php

    r3743 r3746  
    11<?php 
    2 /* $Id: plugin.lang.php,v 1.5 2009/08/17 07:30:10 Criss Exp $ */ 
     2/* $Id: plugin.lang.php,v 1.6 2009/08/17 14:53:42 Criss Exp $ */ 
    33if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!'); 
    44global $lang; 
     
    6161// TODO $lang['cf_language_desc'] = ' '; 
    6262// TODO $lang['cf_select_item'] = ' '; 
     63$lang['cf_default_lang'] = 'Di default'; 
    6364// TODO $lang['contact_form_title_label'] = ' '; 
    6465// TODO $lang['contact_form_label'] = ' '; 
  • extensions/ContactForm/main.inc.php

    r3743 r3746  
    22/* 
    33 Plugin Name: Contact Form 
    4  Version: 1.0.0 
     4 Version: 1.0.1 
    55 Description: Add a "Contact" item in the Menu block to offer a contact form to users 
    66 Plugin URI: http://piwigo.org/ext/extension_view.php?eid=304 
     
    1010 
    1111/** History ** 
     12 
     13  2009-08-17 1.0.1 
     14                    Add default value to language translation 
    1215 
    1316  2009-08-17 1.0.0 
Note: See TracChangeset for help on using the changeset viewer.