Changeset 141


Ignore:
Timestamp:
03/30/2009 07:47:52 PM (3 years ago)
Author:
amir
Message:

Enable auto translation without requiring to the user to be a translator.

Location:
trunk/WordPress/plugin/transposh
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WordPress/plugin/transposh/transposh.php

    r140 r141  
    6464 
    6565        if (($wp_query->query_vars[EDIT_PARAM] == "1" || $wp_query->query_vars[EDIT_PARAM] == "true") && 
    66              is_translation_allowed()) 
     66             is_editing_permitted()) 
    6767        { 
    6868                $is_edit_mode = TRUE; 
     
    338338        global $plugin_url; 
    339339         
    340         if(!is_translation_allowed()) 
     340        if(!is_editing_permitted() && !is_auto_translate_permitted()) 
    341341        { 
    342342                //translation not allowed - no need for the transposh.css        
     
    355355        global $plugin_url, $wp_query, $lang, $home_url,  $enable_auto_translate; 
    356356 
    357         if(!is_translation_allowed()) 
     357        $enable_auto_translate = is_auto_translate_permitted(); 
     358        if(!is_editing_permitted() && !$enable_auto_translate) 
    358359        { 
    359360                //translation not allowed - no need for any js.  
     
    362363         
    363364        $is_edit_param_enabled = $wp_query->query_vars[EDIT_PARAM]; 
    364         $enable_auto_translate = get_option(ENABLE_AUTO_TRANSLATE,1) && is_translation_allowed(); 
    365365         
    366366        if (!$is_edit_param_enabled && !$enable_auto_translate) 
     
    398398 * @return TRUE if translation allowed otherwise FALSE 
    399399 */ 
    400 function is_translation_allowed() 
     400function is_editing_permitted() 
    401401{ 
    402402        global $wp_query; 
     
    433433} 
    434434 
     435 
     436/** 
     437 * Determine if the currently selected language (taken from the query parameters) is in the admin's list  
     438 * of editable languages and that automatic translation has been enabled. 
     439 * Note that any user can auto translate. i.e. ignore permissions.   
     440 *   
     441 * @return TRUE if automatic translation allowed otherwise FALSE 
     442 */ 
     443function is_auto_translate_permitted() 
     444{ 
     445        global $wp_query; 
     446 
     447        if(!get_option(ENABLE_AUTO_TRANSLATE)) 
     448        { 
     449                return FALSE; 
     450        } 
     451         
     452        if (!isset($wp_query->query_vars[LANG_PARAM])) 
     453        { 
     454                return FALSE; 
     455        } 
     456         
     457        $lang = $wp_query->query_vars[LANG_PARAM]; 
     458        return is_editable_lang($lang); 
     459} 
    435460/** 
    436461 * Callback from parser allowing to overide the global setting of url rewriting using permalinks. 
  • trunk/WordPress/plugin/transposh/transposh_db.php

    r140 r141  
    122122        header("Transposh: version_". DB_VERSION); 
    123123         
    124         //Check that user is allowed to translate this language 
    125         if(!is_translator() || !is_editable_lang($lang)) 
     124        //Check permissions, first the lanugage must be on the edit list. Then either the user 
     125        //is a translator or automatic translation if it is enabled.  
     126        if(!(is_editable_lang($lang) &&  
     127            (is_translator() || ($source == 1 && get_option(ENABLE_AUTO_TRANSLATE))))) 
    126128        { 
    127129                logger("Unauthorized translation attempt " . $_SERVER['REMOTE_ADDR'] , 1); 
Note: See TracChangeset for help on using the changeset viewer.