Changeset 3746


Ignore:
Timestamp:
Aug 17, 2009, 5:00:50 PM (15 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.