Changeset 752


Ignore:
Timestamp:
12/07/12 03:45:35 (2 years ago)
Author:
ofer
Message:

More work on the admin backend, more things work again, and the javascript and css files have been split a little

Location:
trunk/WordPress/plugin/transposh
Files:
6 added
1 deleted
5 edited
2 moved

Legend:

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

    r745 r752  
    9898                if ($this->remoteip != $_SERVER['REMOTE_ADDR']) return; 
    9999                if ((is_array($msg) || is_object($msg)) && $this->show_caller) { 
    100                     $this->firephp->log("$log_prefix:"); 
     100                    $this->firephp->group("$log_prefix: object/array", array('Collapsed' => true, 
     101                        'Color' => '#FF00FF')); 
     102                    //$this->firephp->log("$log_prefix:"); 
    101103                    $this->firephp->log($msg); 
     104                    $this->firephp->groupEnd(); 
    102105                } else { 
    103106                    if (is_array($msg) || is_object($msg)) { 
  • trunk/WordPress/plugin/transposh/js/admin/languages.js

    r744 r752  
    1616 */ 
    1717 
    18 //(function ($) { // closure 
    19 jQuery(function() { 
    20     // clicking anonymous will make translatables active 
    21     jQuery("#tr_anon").click(function() { 
    22         if (jQuery("#tr_anon").attr("checked")) { 
    23             jQuery(".translateable").addClass("active").removeClass("translateable"); 
    24             jQuery("#sortable .active").each(function () { 
    25                 jQuery("input",this).val(jQuery(this).attr("id")+",v,t"); 
     18(function ($) { // closure 
     19    $(function() { 
     20        // clicking anonymous will make translatables active 
     21        $("#tr_anon").click(function() { 
     22            if ($("#tr_anon").attr("checked")) { 
     23                $(".translateable").addClass("active").removeClass("translateable"); 
     24                $("#sortable .active").each(function () { 
     25                    $("input",this).val($(this).attr("id")+",v,t"); 
     26                }) 
     27            } 
     28            $("#yellowcolor").toggleClass("hidden"); 
     29        }); 
     30 
     31        // makes the languages sortable, with placeholder, also prevent unneeded change after sort 
     32        $("#sortable").sortable({ 
     33            placeholder: "highlight", 
     34            update: function(event, ui) { 
     35                ui.item.unbind("click"); 
     36                ui.item.one("click", function (event) { 
     37                    event.stopImmediatePropagation(); 
     38                    $(this).click(clickfunction); 
     39                }); 
     40            } 
     41        }); 
     42        $("#sortable").disableSelection(); 
     43 
     44        // toggles display of english/original names 
     45        $("#changename").click(function(){ 
     46            $(".langname").toggleClass("hidden"); 
     47            return false; 
     48        }); 
     49 
     50        // enable all languages 
     51        $("#selectall").click(function(){ 
     52            $("#sortable .languages").addClass("active").removeClass("translateable"); 
     53            $("#sortable .active").each(function () { 
     54                $("input",this).val($(this).attr("id")+",v,t"); 
    2655            }) 
    27         } 
    28         jQuery("#yellowcolor").toggleClass("hidden"); 
    29     }); 
     56            return false; 
     57        }); 
    3058 
    31     // makes the languages sortable, with placeholder, also prevent unneeded change after sort 
    32     jQuery("#sortable").sortable({ 
    33         placeholder: "highlight", 
    34         update: function(event, ui) { 
    35             ui.item.unbind("click"); 
    36             ui.item.one("click", function (event) { 
    37                 event.stopImmediatePropagation(); 
    38                 jQuery(this).click(clickfunction); 
    39             }); 
    40         } 
    41     }); 
    42     jQuery("#sortable").disableSelection(); 
    43  
    44     // toggles display of english/original names 
    45     jQuery("#changename").click(function(){ 
    46         jQuery(".langname").toggleClass("hidden"); 
    47         return false; 
    48     }); 
    49  
    50     // enable all languages 
    51     jQuery("#selectall").click(function(){ 
    52         jQuery("#sortable .languages").addClass("active").removeClass("translateable"); 
    53         jQuery("#sortable .active").each(function () { 
    54             jQuery("input",this).val(jQuery(this).attr("id")+",v,t"); 
    55         }) 
    56         return false; 
    57     }); 
    58  
    59     // two flows on double click, if anonymous -> active, inactive otherwise active, translatable, inactive 
    60     clickfunction = function () { 
    61         if (jQuery(this).attr("id") == jQuery("#default_list li").attr("id")) return; 
    62         if (jQuery("#tr_anon").attr("checked")) { 
    63             jQuery(this).toggleClass("active"); 
    64         } else { 
    65             if (jQuery(this).hasClass("active")) { 
    66                 jQuery(this).removeClass("active"); 
    67                 jQuery(this).addClass("translateable") 
    68             } 
    69             else { 
    70                 if (jQuery(this).hasClass("translateable")) { 
    71                     jQuery(this).removeClass("translateable"); 
     59        // two flows on double click, if anonymous -> active, inactive otherwise active, translatable, inactive 
     60        clickfunction = function () { 
     61            if ($(this).attr("id") == $("#default_list li").attr("id")) return; 
     62            if ($("#tr_anon").attr("checked")) { 
     63                $(this).toggleClass("active"); 
     64            } else { 
     65                if ($(this).hasClass("active")) { 
     66                    $(this).removeClass("active"); 
     67                    $(this).addClass("translateable") 
    7268                } 
    7369                else { 
    74                     jQuery(this).addClass("active") 
     70                    if ($(this).hasClass("translateable")) { 
     71                        $(this).removeClass("translateable"); 
     72                    } 
     73                    else { 
     74                        $(this).addClass("active") 
     75                    } 
    7576                } 
    7677            } 
     78            // set new value 
     79            $("input",this).val($(this).attr("id")+($(this).hasClass("active") ? ",v":",")+($(this).hasClass("translateable") ? ",t":",")); 
    7780        } 
    78         // set new value 
    79         jQuery("input",this).val(jQuery(this).attr("id")+(jQuery(this).hasClass("active") ? ",v":",")+(jQuery(this).hasClass("translateable") ? ",t":",")); 
    80     } 
    81     jQuery(".languages").dblclick(clickfunction).click(clickfunction); 
     81        $(".languages").dblclick(clickfunction).click(clickfunction); 
    8282 
    83     // the default language droppable 
    84     jQuery("#default_lang").droppable({ 
    85         accept: ".languages", 
    86         activeClass: "highlight_default", 
    87         drop: function(ev, ui) { 
    88             jQuery("#default_list").empty(); 
    89             jQuery(ui.draggable.clone().removeAttr("style").removeClass("active").removeClass("translateable")).appendTo("#default_list").show("slow"); 
    90             jQuery("#default_list .logoicon").remove(); 
    91             jQuery("#sortable").find("#"+ui.draggable.attr("id")).addClass("active"); 
    92         } 
    93     }); 
    94     // sorting by iso 
    95     jQuery("#sortiso").click(function() { 
    96         jQuery("#sortable li").sort(function(a,b){ 
    97             //console.log(a); 
    98             if (jQuery(a).attr("id") == jQuery("#default_list li").attr("id")) return -1; 
    99             if (jQuery(b).attr("id") == jQuery("#default_list li").attr("id")) return 1; 
    100             return jQuery(a).attr("id") > jQuery(b).attr("id") ? 1 : -1; 
    101         }).remove().appendTo("#sortable").dblclick(clickfunction).click(clickfunction); 
    102         return false; 
    103     }); 
    104     // sorting by name 
    105     jQuery("#sortname").click(function() { 
    106         jQuery("#sortable li").sort(function(a,b){ 
    107             langa = jQuery(".langname",a).filter(function() { 
    108                 return !jQuery(this).hasClass("hidden") 
    109             }).text(); 
    110             langb = jQuery(".langname",b).filter(function() { 
    111                 return !jQuery(this).hasClass("hidden") 
    112             }).text(); 
    113             langdef = jQuery(".langname","#default_list li").filter(function() { 
    114                 return !jQuery(this).hasClass("hidden") 
    115             }).text(); 
    116             if (langa == langdef) return -1; 
    117             if (langb == langdef) return 1; 
    118             return langa > langb ? 1 : -1; 
    119         }).remove().appendTo("#sortable").dblclick(clickfunction).click(clickfunction); 
    120         return false; 
    121     }); 
    122  
    123     jQuery.ajaxSetup({ 
    124         cache: false 
    125     }); 
    126  
    127     // backup button 
    128     backupclick = function () { 
    129         jQuery("#transposh-backup").unbind('click').click(function(){ 
    130             return false 
    131         }).text("Backup In Progress"); 
    132         jQuery.post(ajaxurl, { 
    133             action: 'tp_backup' 
    134         }, 
    135         function(data) { 
    136             var color = 'red'; 
    137             if (data[0] == '2') color = 'green'; 
    138             jQuery('#backup_result').html(data).css('color',color); 
    139             jQuery("#transposh-backup").unbind('click').click(backupclick).text("Do Backup Now"); 
    140         }); 
    141         return false; 
    142     }; 
    143     jQuery("#transposh-backup").click(backupclick); 
    144  
    145     // cleanup button 
    146     cleanautoclick = function (days,button) { 
    147         if (!confirm("Are you sure you want to do this?")) return false; 
    148         if (days == 0 && !confirm("Are you REALLY sure you want to do this?")) return false; 
    149         //var button = jQuery(this); 
    150         //console.log(button); 
    151         var prevtext = button.text(); 
    152         button.unbind('click').click(function(){ 
    153             return false 
    154         }).text("Cleanup in progress"); 
    155         jQuery.post(ajaxurl, { 
    156             action: 'tp_cleanup', 
    157             days: days 
    158         }, 
    159         function(data) { 
    160             button.unbind('click').click(function() { 
    161                 cleanautoclick(days,button); 
    162                 return false; 
    163             }).text(prevtext); 
    164         }); 
    165         return false; 
    166     }; 
    167     jQuery("#transposh-clean-auto").click(function() { 
    168         cleanautoclick(0,jQuery(this)); 
    169         return false; 
    170     }); 
    171  
    172     jQuery("#transposh-clean-auto14").click(function() { 
    173         cleanautoclick(14,jQuery(this)); 
    174         return false; 
    175     }); 
    176  
    177     maintclick = function (button) { 
    178         if (!confirm("Are you sure you want to do this?")) return false; 
    179         var prevtext = button.text(); 
    180         button.unbind('click').click(function(){ 
    181             return false 
    182         }).text("Maintenance in progress"); 
    183         jQuery.post(ajaxurl, { 
    184             action: 'tp_maint' 
    185         }, 
    186         function(data) { 
    187             button.unbind('click').click(function() { 
    188                 maintclick(button); 
    189                 return false; 
    190             }).text(prevtext); 
    191         }); 
    192         return false; 
    193     } 
    194      
    195     jQuery("#transposh-maint").click(function() { 
    196         maintclick(jQuery(this)); 
    197         return false; 
    198     }); 
    199  
    200     // translate all button 
    201     do_translate_all = function () { 
    202         jQuery("#progress_bar_all").progressbar({ 
    203             value:0 
    204         }); 
    205         stop_translate_var = false; 
    206         // while there is a next 
    207         // get next post to translate 
    208         //var offset = "0"; 
    209         jQuery("#tr_loading").data("done",true); 
    210         jQuery.ajaxSetup({ 
    211             cache: false 
    212         }); 
    213         jQuery.ajax({ 
    214             url: ajaxurl, 
    215             dataType: 'json', 
    216             data: { 
    217                 action: "tp_translate_all" 
    218             }, 
    219             cache: false, 
    220             success: function (data) { 
    221                 dotimer = function(a) { 
    222                     jQuery("#tr_allmsg").text(''); 
    223                     clearTimeout(timer2); 
    224                     //console.log(a); 
    225                     //console.log(jQuery("#tr_loading").data("done")); 
    226                     if (jQuery("#tr_loading").data("done") || jQuery("#tr_loading").data("attempt")>4) { 
    227                         jQuery("#progress_bar_all").progressbar('value' , (a+1)/data.length*100); 
    228                         jQuery("#tr_loading").data("attempt",0); 
    229                         translate_post(data[a]); 
    230                         //console.log(jQuery("#tr_loading").data("done")); 
    231                         //console.log("done translate" + a); 
    232                         // we call the next translation here... 
    233                         if (typeof data[a+1] !== 'undefined' && !stop_translate_var) { 
    234                             //console.log("trigger translation of " +a); 
    235                             timer2 = setTimeout(function() { 
    236                                 dotimer(a+1) 
    237                             },5000); 
    238                             jQuery("#tr_allmsg").text('Waiting 5 seconds...'); 
    239                         } 
    240                     } else { 
    241                         //console.log("waiting for translation to finish 60 seconds"); 
    242                         jQuery("#tr_loading").data("attempt",jQuery("#tr_loading").data("attempt")+1); 
    243                         timer2 = setTimeout(function() { 
    244                             dotimer(a) 
    245                         },15000); 
    246                         jQuery("#tr_allmsg").text('Translation incomplete - Waiting 15 seconds - attempt ' + jQuery("#tr_loading").data("attempt") + '/5'); 
    247                     } 
    248                 } 
    249                 timer2 = setTimeout(function() { 
    250                     dotimer(0) 
    251                 },0); 
     83        // the default language droppable 
     84        $("#default_lang").droppable({ 
     85            accept: ".languages", 
     86            activeClass: "highlight_default", 
     87            drop: function(ev, ui) { 
     88                $("#default_list").empty(); 
     89                $(ui.draggable.clone().removeAttr("style").removeClass("active").removeClass("translateable")).appendTo("#default_list").show("slow"); 
     90                $("#default_list .logoicon").remove(); 
     91                $("#sortable").find("#"+ui.draggable.attr("id")).addClass("active"); 
    25292            } 
    25393        }); 
    254         jQuery("#transposh-translate").text("Stop translate") 
    255         jQuery("#transposh-translate").unbind('click').click(stop_translate); 
    256         return false; 
    257     } 
    258  
    259     stop_translate = function() { 
    260         clearTimeout(timer2); 
    261         stop_translate_var = true; 
    262         jQuery("#transposh-translate").text("Translate All Now") 
    263         jQuery("#transposh-translate").unbind('click').click(do_translate_all); 
    264         return false; 
    265     } 
    266  
    267     jQuery("#transposh-translate").click(do_translate_all); 
    268      
    269     jQuery(".warning-close").click(function() { 
    270         jQuery(this).parent().hide(); 
    271         jQuery.post(ajaxurl, { 
    272             action: 'tp_close_warning', 
    273             id: jQuery(this).parent().attr('id') 
     94        // sorting by iso 
     95        $("#sortiso").click(function() { 
     96            $("#sortable li").sort(function(a,b){ 
     97                //console.log(a); 
     98                if ($(a).attr("id") == $("#default_list li").attr("id")) return -1; 
     99                if ($(b).attr("id") == $("#default_list li").attr("id")) return 1; 
     100                return $(a).attr("id") > $(b).attr("id") ? 1 : -1; 
     101            }).remove().appendTo("#sortable").dblclick(clickfunction).click(clickfunction); 
     102            return false; 
    274103        }); 
    275     }) 
    276  
    277 }); 
    278 //}(jQuery)); // end of closure 
     104        // sorting by name 
     105        $("#sortname").click(function() { 
     106            $("#sortable li").sort(function(a,b){ 
     107                langa = $(".langname",a).filter(function() { 
     108                    return !$(this).hasClass("hidden") 
     109                }).text(); 
     110                langb = $(".langname",b).filter(function() { 
     111                    return !$(this).hasClass("hidden") 
     112                }).text(); 
     113                langdef = $(".langname","#default_list li").filter(function() { 
     114                    return !$(this).hasClass("hidden") 
     115                }).text(); 
     116                if (langa == langdef) return -1; 
     117                if (langb == langdef) return 1; 
     118                return langa > langb ? 1 : -1; 
     119            }).remove().appendTo("#sortable").dblclick(clickfunction).click(clickfunction); 
     120            return false; 
     121        }); 
     122    }); 
     123}(jQuery)); // end of closure 
  • trunk/WordPress/plugin/transposh/transposh.php

    r745 r752  
    15411541function tp_logger($msg, $severity = 3, $do_backtrace = false) { 
    15421542    global $my_transposh_plugin; 
    1543     if (isset($my_transposh_plugin) && !$my_transposh_plugin->options->debug_enable) 
     1543    if (isset($my_transposh_plugin) && is_object($my_transposh_plugin) && !$my_transposh_plugin->options->debug_enable) 
    15441544            return; 
    15451545    $GLOBALS['tp_logger']->do_log($msg, $severity, $do_backtrace); 
  • trunk/WordPress/plugin/transposh/wp/transposh_admin.php

    r745 r752  
    3434    function transposh_plugin_admin(&$transposh) { 
    3535        $this->transposh = &$transposh; 
    36         // add filter for WordPress 2.8 changed backend box system ! 
    37         //add_filter('screen_layout_columns', array(&$this, 'on_screen_layout_columns'), 10, 2); 
    38         // add some help 
    39         //add_filter('contextual_help_list', array(&$this, 'on_contextual_help'), 100, 2); 
     36        // add our notices 
     37        add_action('admin_notices', array(&$this, 'notices')); 
    4038        // register callback for admin menu setup 
    41         //add_action('admin_menu', array(&$this, 'on_admin_menu')); 
    4239        add_action('admin_menu', array(&$this, 'admin_menu')); 
    4340        // register the callback been used if options of page been submitted and needs to be processed 
     
    5855            'tp_main' => array(__('Dashboard', TRANSPOSH_TEXT_DOMAIN)), 
    5956            'tp_langs' => array(__('Languages', TRANSPOSH_TEXT_DOMAIN)), 
    60             'tp_settings' => array(__('Settings', TRANSPOSH_TEXT_DOMAIN), '<acronym title="Content Delivery Network">CDN</acronym>'), 
     57            'tp_settings' => array(__('Settings', TRANSPOSH_TEXT_DOMAIN)), 
    6158            'tp_engines' => array(__('Translation Engines', TRANSPOSH_TEXT_DOMAIN)), 
    6259            'tp_widget' => array(__('Widgets settings', TRANSPOSH_TEXT_DOMAIN)), 
     
    187184    } 
    188185 
    189     /*    // for WordPress 2.8 we have to tell, that we support 2 columns ! 
    190       function on_screen_layout_columns($columns, $screen) { 
    191       if ($screen == $this->pagehook) { 
    192       $columns[$this->pagehook] = 2; 
    193       } 
    194       return $columns; 
    195       } 
    196  
    197       //add some help 
    198       function on_contextual_help($filterVal, $screen) { 
    199       tp_logger($screen); 
    200       //if ($screen == 'settings_page_transposh') { 
    201       $filterVal['settings_page_transposh'] = '<p>' . __('Transposh makes your blog translatable', TRANSPOSH_TEXT_DOMAIN) . '</p>' . 
    202       '<a href="http://transposh.org/">' . __('Plugin homepage', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>' . 
    203       '<a href="http://transposh.org/faq/">' . __('Frequently asked questions', TRANSPOSH_TEXT_DOMAIN) . '</a>'; 
    204       //} 
    205       return $filterVal; 
    206       } 
    207      */ 
     186    //add some help 
     187    function on_contextual_help() { 
     188        $text = '<p>' . __('Transposh makes your blog translatable', TRANSPOSH_TEXT_DOMAIN) . '</p>' . 
     189                '<p>' . __('For further help and assistance, please look at the following resources:', TRANSPOSH_TEXT_DOMAIN) . '</p>' . 
     190                '<a href="http://transposh.org/">' . __('Plugin homepage', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>' . 
     191                '<a href="http://transposh.org/faq/">' . __('Frequently asked questions', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>'. 
     192                '<a href="http://trac.transposh.org/">' . __('Development website', TRANSPOSH_TEXT_DOMAIN) . '</a><br/>' ; 
     193        return $text; 
     194    } 
    208195 
    209196    function admin_menu() { 
     
    227214                add_action('admin_print_styles-' . $submenu_page, array(&$this, 'admin_print_styles')); 
    228215                add_action('admin_print_scripts-' . $submenu_page, array(&$this, 'admin_print_scripts')); 
    229                 //   echo $submenu_page; 
    230216            } 
    231217 
    232             /** 
    233              */ 
    234             /*            add_action('admin_notices', array( 
    235               &$this, 
    236               'admin_notices' 
    237               )); */ 
    238218        } 
    239219        // DOC 
     
    264244            case 'tp_langs': 
    265245                wp_enqueue_script('jquery-ui-droppable'); 
    266                 wp_enqueue_script('transposh_settings', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/transposhsettings.js', array('transposh'), TRANSPOSH_PLUGIN_VER, true); 
    267                 // MAKESURE 3.3+ css 
    268                 // wp_enqueue_script('jquery-ui-progressbar'); 
    269  
     246                wp_enqueue_script('transposh_admin_languages', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/admin/languages.js', array('transposh'), TRANSPOSH_PLUGIN_VER, true); 
    270247                wp_enqueue_style('jqueryui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/' . JQUERYUI_VER . '/themes/ui-lightness/jquery-ui.css', array(), JQUERYUI_VER); 
    271248                wp_enqueue_script('jqueryui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/' . JQUERYUI_VER . '/jquery-ui.min.js', array('jquery'), JQUERYUI_VER, true); 
    272249                break; 
    273         } 
     250            case 'tp_utils': 
     251                wp_enqueue_script('transposh_admin_utils', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/admin/utils.js', array('transposh'), TRANSPOSH_PLUGIN_VER, true); 
     252                // NOTE: When wordpress will have .css for the jQueryUI we'll be able to use the built-in jqueryui 
     253                // wp_enqueue_script('jquery-ui-progressbar'); 
     254 
     255                wp_enqueue_style('jqueryui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/' . JQUERYUI_VER . '/themes/ui-lightness/jquery-ui.css', array(), JQUERYUI_VER); 
     256                wp_enqueue_script('jqueryui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/' . JQUERYUI_VER . '/jquery-ui.min.js', array('jquery'), JQUERYUI_VER, true); 
     257                wp_enqueue_script('transposh_backend', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/admin/backendtranslate.js', array('transposh'), TRANSPOSH_PLUGIN_VER, true); 
     258                $script_params = array( 
     259                    'l10n_print_after' => 
     260                    't_be.g_langs = ' . json_encode(transposh_consts::$google_languages) . ';' . 
     261                    't_be.m_langs = ' . json_encode(transposh_consts::$bing_languages) . ';' . 
     262                    't_be.a_langs = ' . json_encode(transposh_consts::$apertium_languages) . ';' 
     263                ); 
     264                wp_localize_script("transposh_backend", "t_be", $script_params); 
     265        } 
     266        wp_enqueue_style('transposh_admin', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_CSS . '/admin.css'); ///, array('transposh'), TRANSPOSH_PLUGIN_VER, true) 
    274267    } 
    275268 
     
    282275            $this->localeright = 'left'; 
    283276        } 
    284  
     277         
     278        // the followings are integrations with the wordpress admin interface 
    285279        $screen = get_current_screen(); 
    286280        $screen->add_help_tab(array( 
    287             'id' => 'additional-help-page-one', // This should be unique for the screen. 
    288             'title' => 'Your Tab Title', 
    289 // retrieve the function output and set it as tab content 
    290             'content' => 'wptuts_options_page_contextual_help()')); 
    291         // $screen->add_option( 'layout_columns', array('max' => 2 ) ); 
    292         add_screen_option('layout_columns', array('max' => 4, 'default' => 2)); 
     281            'id' => 'additional-transposh-help', // This should be unique for the screen. 
     282            'title' => __('Transposh Help', TRANSPOSH_TEXT_DOMAIN), 
     283            // retrieve the function output and set it as tab content 
     284            'content' => $this->on_contextual_help())); 
    293285        if ($_GET['page'] == 'tp_main') { 
     286            add_screen_option('layout_columns', array('max' => 4, 'default' => 2)); 
    294287            add_meta_box('transposh-sidebox-about', __('About this plugin', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_sidebox_about_content'), '', 'side', 'core'); 
    295288            add_meta_box('transposh-sidebox-news', __('Plugin news', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_sidebox_news_content'), '', 'normal', 'core'); 
     
    305298        echo '<input type="hidden" name="page" value="' . $_GET['page'] . '"/>'; 
    306299        echo wp_nonce_field(TR_NONCE); 
    307         screen_icon('options-general'); 
    308         //screen_icon(); 
     300        screen_icon('transposh-logo'); 
     301 
    309302        echo '<h2 class="nav-tab-wrapper">'; 
    310303        foreach ($this->pages as $slug => $titles) { 
     
    316309        echo '</h2>'; 
    317310 
    318  
    319         //switch ($_GET['page']) { 
    320         /* case 'tp_langs': 
    321           $this->tp_langs(); 
    322           break; 
    323           case 'tp_auto': 
    324           $this->tp_auto(); 
    325           break; 
    326           case 'tp_pro': 
    327           $this->tp_pro(); 
    328           break; */ 
    329 //        } 
     311        // TODO: look at this... 
    330312        call_user_func(array(&$this, $_GET['page'])); 
    331         /* echo 'loaded!?'; 
    332           add_meta_box('transposh-contentbox-languages', __('Supported languages', TRANSPOSH_TEXT_DOMAIN), array(&$this, 'on_contentbox_languages_content'), 'toplevel_page_tp_main', 'normal', 'core'); 
    333           do_meta_boxes('toplevel_page_tp_main', 'normal', ''); */ 
    334  
     313 
     314        // Add submission for pages that can be modified 
    335315        if ($this->contains_settings) { 
    336316            echo '<p>'; 
    337             echo'<input type="submit" value="' . esc_attr('Save Changes') . '" class="button-primary" name="Submit"/>'; 
     317            echo'<input type="submit" value="' . esc_attr__('Save Changes', TRANSPOSH_TEXT_DOMAIN) . '" class="button-primary" name="Submit"/>'; 
    338318            echo'</p>'; 
    339319        } 
     
    342322    } 
    343323 
    344     // extend the admin menu 
    345     // function on_admin_menu() { 
    346     //add our own option page, you can also add it to different sections or use your own one 
    347 //        $this->pagehook = add_options_page(__('Transposh control center', TRANSPOSH_TEXT_DOMAIN), __('Transposh', TRANSPOSH_TEXT_DOMAIN), 'manage_options', TRANSPOSH_ADMIN_PAGE_NAME, array(&$this, 'on_show_page')); 
    348     // register callback gets call prior your own page gets rendered 
    349 //        add_action('load-' . $this->pagehook, array(&$this, 'on_load_page')); 
    350     // } 
    351  
     324    // not sure if this is the best place for this function, but heck 
    352325    function on_load_comments_page() { 
    353         wp_enqueue_script('transposhcomments', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/transposhcommentslang.js', array('jquery'), TRANSPOSH_PLUGIN_VER); 
     326        wp_enqueue_script('transposhcomments', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/admin/commentslang.js', array('jquery'), TRANSPOSH_PLUGIN_VER); 
    354327    } 
    355328 
    356329    // will be executed if wordpress core detects this page has to be rendered 
    357330    /*    function on_load_page() { 
    358       tp_logger('here'); 
    359       //ensure, that the needed javascripts been loaded to allow drag/drop, expand/collapse and hide/show of boxes 
    360       //TODO - make up my mind on using .css flags here (currently no) 
    361       //if ($this->transposh->options->get_widget_css_flags()) 
    362       //            wp_enqueue_style("transposh_flags",$this->transposh->transposh_plugin_url."/widgets/flags/tpw_flags.css",array(),TRANSPOSH_PLUGIN_VER); 
    363       wp_enqueue_script('transposh_settings', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/transposhsettings.js', array('transposh'), TRANSPOSH_PLUGIN_VER, true); 
    364       // MAKESURE 3.3+ css 
    365       // wp_enqueue_script('jquery-ui-progressbar'); 
    366  
    367       wp_enqueue_style('jqueryui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/' . JQUERYUI_VER . '/themes/ui-lightness/jquery-ui.css', array(), JQUERYUI_VER); 
    368       wp_enqueue_script('jqueryui', 'http://ajax.googleapis.com/ajax/libs/jqueryui/' . JQUERYUI_VER . '/jquery-ui.min.js', array('jquery'), JQUERYUI_VER, true); 
    369       wp_enqueue_script('transposh_backend', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/transposhbackend.js', array('transposh'), TRANSPOSH_PLUGIN_VER, true); 
    370       $script_params = array( 
    371       'l10n_print_after' => 
    372       't_be.g_langs = ' . json_encode(transposh_consts::$google_languages) . ';' . 
    373       't_be.m_langs = ' . json_encode(transposh_consts::$bing_languages) . ';' . 
    374       't_be.a_langs = ' . json_encode(transposh_consts::$apertium_languages) . ';' 
    375       ); 
    376       wp_localize_script("transposh_backend", "t_be", $script_params); 
    377331 
    378332      //add several metaboxes now, all metaboxes registered during load page can be switched off/on at "Screen Options" automatically, nothing special to do therefore 
     
    391345 
    392346 
    393         //we need the global screen column value to beable to have a sidebar in WordPress 2.8 
    394         //global $screen_layout_columns; 
    395         //add a 3rd content box now for demonstration purpose, boxes added at start of page rendering can't be switched on/off, 
    396         //may be needed to ensure that a special box is always available 
    397         //define some data can be given to each metabox during rendering - not used now 
    398         //$data = array('My Data 1', 'My Data 2', 'Available Data 1'); 
    399         //echo '<div id="transposh-general" class="wrap">'; 
    400         //screen_icon('options-general'); 
    401         //echo '<h2>' . __('Transposh', TRANSPOSH_TEXT_DOMAIN) . '</h2>' . 
    402347        // add some user warnings that leads to some FAQs 
    403         if ((int) ini_get('memory_limit') < 64) { 
    404             $this->add_warning('tp_mem_warning', sprintf(__('Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it.', TRANSPOSH_TEXT_DOMAIN), ini_get('memory_limit')) . ' <a href="http://transposh.org/faq#blankpages">' . __('Check Transposh FAQs', TRANSPOSH_TEXT_DOMAIN) . '</a>'); 
    405         } 
    406  
    407         if (!(class_exists('Memcache') /* !!&& $this->memcache->connect(TP_MEMCACHED_SRV, TP_MEMCACHED_PORT) */) && !function_exists('apc_fetch') && !function_exists('xcache_get') && !function_exists('eaccelerator_get')) { 
    408             $this->add_warning('tp_cache_warning', __('We were not able to find a supported in-memory caching engine, installing one can improve performance.', TRANSPOSH_TEXT_DOMAIN) . ' <a href="http://transposh.org/faq#performance">' . __('Check Transposh FAQs', TRANSPOSH_TEXT_DOMAIN) . '</a>'); 
    409         } 
    410348 
    411349        echo '<div id="dashboard-widgets-wrap">'; 
     
    415353 
    416354        wp_enqueue_script('dashboard'); 
    417 //wp_enqueue_script( 'plugin-install' ); 
    418 //wp_enqueue_script( 'media-upload' ); 
    419355        wp_admin_css('dashboard'); 
    420 //wp_admin_css( 'plugin-install' ); 
    421356        add_thickbox(); 
    422357 
    423         add_screen_option('layout_columns', array('max' => 4, 'default' => 2)); 
    424  
    425358        wp_dashboard(); 
    426359 
    427360        echo '<div class="clear"></div>'; 
    428361 
    429 //        wp_nonce_field('closedpostboxes', 'closedpostboxesnonce', false); 
    430 //        wp_nonce_field('meta-box-order', 'meta-box-order-nonce', false); 
    431 // 
    432 //        '<div id="poststuff" class="metabox-holder' . ((2 == $GLOBALS['screen_layout_columns']) ? ' has-right-sidebar' : '') . '">' . 
    433 //        '<div id="side-info-column" class="inner-sidebar">'; 
    434 ////        do_meta_boxes($this->pagehook, 'side', ''); 
    435 // 
    436 //        echo '</div>' . 
    437 ////        do_meta_boxes($this->pagehook, 'side', ''); 
    438 //        '<div id="post-body" class="has-sidebar">' . 
    439 //        '<div id="post-body-content" class="has-sidebar-content">     '; 
    440 // 
    441 ////        do_meta_boxes($this->pagehook, 'normal', ''); 
    442 //        /* Maybe add static content here later */ 
    443 //        //do_meta_boxes($this->pagehook, 'additional', $data); 
    444 // 
    445 //        echo '<p>' . 
    446 //        '<input type="submit" value="' . __('Save Changes') . '" class="button-primary" name="Submit"/>' . 
    447 //        '</p>' . 
    448 //        '</div>' . 
    449 //        '</div>' . 
    450 //        '<br class="clear"/>' . 
    451 //        '</div>' . 
    452 //        '</form>' . 
    453 //        '</div>' . 
    454 //        '<script type="text/javascript">' . "\n" . 
    455 //        '//<![CDATA[' . "\n" . 
    456 //        'jQuery(document).ready( function($) {'; 
    457 //        // close postboxes that should be closed 
    458 //        echo "$('.if-js-closed').removeClass('if-js-closed').addClass('closed');"; 
    459 //        // postboxes setup 
    460 //        echo "postboxes.add_postbox_toggles('" . $this->pagehook . "');" . 
    461 //        '});  ' . "\n" . 
    462 //        '//]]>' . "\n" . 
    463 //        '</script>'; 
    464362    } 
    465363 
     
    471369        $this->contains_settings = true; 
    472370        // we need some styles 
    473         echo '<style type="text/css"> 
    474         #sortable { list-style-type: none; margin: 0; padding: 0; } 
    475         #sortable li, #default_lang li { margin: 3px 3px 3px 0; padding: 5px; float: ' . $this->localeleft . '; width: 190px; height: 14px;} 
    476         .languages { 
    477             -moz-border-radius: 6px; 
    478             -khtml-border-radius: 6px; 
    479             -webkit-border-radius: 6px; 
    480             border-radius: 6px; 
    481             border-style:solid; 
    482             border-width:1px; 
    483             line-height:1; 
    484          } 
    485         .highlight { 
    486             -moz-border-radius: 6px; 
    487             -khtml-border-radius: 6px; 
    488             -webkit-border-radius: 6px; 
    489             border-radius: 6px; 
    490             border-style:solid; 
    491             border-width:1px; 
    492             line-height:1; 
    493             background: #FFE45C; 
    494             width: 190px; 
    495             height: 14px; 
    496         } 
    497         .highlight_default { 
    498             background: #FFE45C; 
    499         } 
    500         .active { 
    501             background: #45FF51; 
    502         } 
    503         .translateable { 
    504             background: #FFFF51; 
    505         } 
    506         .hidden { 
    507         display: none; 
    508         } 
     371        global $wp_locale; 
     372        if ($wp_locale->text_direction == 'rtl') { 
     373            echo '<style type="text/css"> 
     374        #sortable li, #default_lang li { float: right !important;} 
    509375        .logoicon { 
    510             float:' . $this->localeright . '; 
    511             margin-left:2px; 
    512             margin-top:-1px; 
    513         } 
    514         </style>'; 
     376            float:left !important; 
     377        } 
     378        </style>'; 
     379        } 
    515380 
    516381        // this is the default language location 
     
    528393        echo '<ul id="sortable">'; 
    529394        foreach ($this->transposh->options->get_sorted_langs() as $langcode => $langrecord) { 
     395            tp_logger($langcode, 5); 
    530396            list ($langname, $langorigname, $flag) = explode(",", $langrecord); 
    531397            echo '<li id="' . $langcode . '" class="languages ' . ($this->transposh->options->is_viewable_language($langcode) || $this->transposh->options->is_default_language($langcode) ? "active" : "") 
     
    878744 
    879745    /** UTILITY FUNCTIONS  END * */ 
    880     function add_warning($id, $message) { 
     746    function notices() { 
     747        if ((int) ini_get('memory_limit') < 64) { 
     748            $this->add_warning('tp_mem_warning', sprintf(__('Your current PHP memory limit of %s is quite low, if you experience blank pages please consider increasing it.', TRANSPOSH_TEXT_DOMAIN), ini_get('memory_limit')) . ' <a href="http://transposh.org/faq#blankpages">' . __('Check Transposh FAQs', TRANSPOSH_TEXT_DOMAIN) . '</a>'); 
     749        } 
     750 
     751        if (!(class_exists('Memcache') /* !!&& $this->memcache->connect(TP_MEMCACHED_SRV, TP_MEMCACHED_PORT) */) && !function_exists('apc_fetch') && !function_exists('xcache_get') && !function_exists('eaccelerator_get')) { 
     752            $this->add_warning('tp_cache_warning', __('We were not able to find a supported in-memory caching engine, installing one can improve performance.', TRANSPOSH_TEXT_DOMAIN) . ' <a href="http://transposh.org/faq#performance">' . __('Check Transposh FAQs', TRANSPOSH_TEXT_DOMAIN) . '</a>', 'updated'); 
     753        } 
     754    } 
     755 
     756    function add_warning($id, $message, $level = 'error') { 
    881757        if (!$this->transposh->options->get_transposh_admin_hide_warning($id)) { 
    882             echo '<div id="' . $id . '" class="error">' . 
    883             '<span class="ui-icon ui-icon-alert" style="float: ' . $this->localeleft . '; margin-' . $this->localeright . ': .3em;"></span>' . 
     758            //$this->add_warning_script(); 
     759            wp_enqueue_script('transposh_warningclose', $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/warningclose.js', array('jquery'), TRANSPOSH_PLUGIN_VER, true); 
     760            echo '<div class="' . $level . '"><p>&#9888;&nbsp;' . 
    884761            $message . 
    885             '<span class="warning-close ui-icon ui-icon-closethick" style="float:' . $this->localeright . '; margin-' . $this->localeleft . ': .3em;"></span>' . 
    886             '</div>'; 
     762            '<a id="' . $id . '" href="#" class="warning-close" style="float:' . $this->localeright . '; margin-' . $this->localeleft . ': .3em;">Hide Notice</a>' . 
     763            '</p></div>'; 
    887764        } 
    888765    } 
  • trunk/WordPress/plugin/transposh/wp/transposh_options.php

    r745 r752  
    182182        if (substr($name, -2) === "_o") 
    183183                return $this->vars[substr($name, 0, -2)]; 
    184         tp_logger($this->vars[$name]->get_value(), 5); 
     184        // can't!? tp_logger($this->vars[$name]->get_value(), 5); 
    185185        return $this->vars[$name]->get_value(); 
    186186    } 
     
    276276     */ 
    277277    function get_sorted_langs() { 
    278         if (isset($this->sorted_languages)) 
    279                 return array_merge(array_flip(explode(",", $this->sorted_languages)), transposh_consts::$languages); 
     278        if ($this->sorted_languages) { 
     279            tp_logger($this->sorted_languages, 5); 
     280            return array_merge(array_flip(explode(",", $this->sorted_languages)), transposh_consts::$languages); 
     281        } 
    280282        return transposh_consts::$languages; 
    281283    } 
  • trunk/WordPress/plugin/transposh/wp/transposh_postpublish.php

    r748 r752  
    6060        if (get_post_meta($_GET['post'], 'transposh_can_translate', true)) { // do isdefined stuff 
    6161            $this->just_published = true; // this is later used in the meta boxes //XXXXXXXXXXXXXXXXXXXXXXXXXXXX 
    62             wp_enqueue_script("transposh_backend", $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/transposhbackend.js', array('transposh'), TRANSPOSH_PLUGIN_VER, true); 
     62            wp_enqueue_script("transposh_backend", $this->transposh->transposh_plugin_url . '/' . TRANSPOSH_DIR_JS . '/admin/backendtranslate.js', array('transposh'), TRANSPOSH_PLUGIN_VER, true); 
    6363            $script_params = array( 
    6464                'post' => $_GET['post'], 
Note: See TracChangeset for help on using the changeset viewer.