瀏覽代碼

Merge branch 'master' of github.com:serghey-rodin/vesta

Serghey Rodin 9 年之前
父節點
當前提交
7f2e2fb8d4
共有 7 個文件被更改,包括 454 次插入412 次删除
  1. 二進制
      install/debian/8/roundcube/roundcube-tinymce.tar.gz
  2. 22 0
      install/vst-install-debian.sh
  3. 3 0
      web/css/file_manager.css
  4. 14 14
      web/inc/i18n/es.php
  5. 360 359
      web/inc/i18n/ro.php
  6. 53 39
      web/js/file_manager.js
  7. 2 0
      web/js/templates.js

二進制
install/debian/8/roundcube/roundcube-tinymce.tar.gz


+ 22 - 0
install/vst-install-debian.sh

@@ -1089,6 +1089,28 @@ if [ "$exim" = 'yes' ] && [ "$mysql" = 'yes' ]; then
     if [ "$release" -eq 8 ]; then
         mv -f /etc/roundcube/main.inc.php /etc/roundcube/config.inc.php
         mv -f /etc/roundcube/db.inc.php /etc/roundcube/debian-db-roundcube.php
+
+        # RoundCube tinyMCE fix
+        tinymceFixArchiveURL=$vestacp/roundcube/roundcube-tinymce.tar.gz
+        tinymceParentFolder=/usr/share/roundcube/program/js
+        tinymceFolder=$tinymceParentFolder/tinymce
+        tinymceBadJS=$tinymceFolder/tiny_mce.js
+        tinymceFixArchive=$tinymceParentFolder/roundcube-tinymce.tar.gz
+        if [[ -L "$tinymceFolder" && -d "$tinymceFolder" ]]; then
+            if [ -f "$tinymceBadJS" ]; then
+                wget $tinymceFixArchiveURL -O $tinymceFixArchive
+                if [[ -f "$tinymceFixArchive" && -s "$tinymceFixArchive" ]]; then
+                    rm $tinymceFolder
+                    tar -xzf $tinymceFixArchive -C $tinymceParentFolder
+                    rm $tinymceFixArchive
+                    chown -R root:root $tinymceFolder
+                else
+                    echo "File roundcube-tinymce.tar.gz is not downloaded, RoundCube tinyMCE fix is not applied"
+                    rm $tinymceFixArchive
+                fi
+            fi
+        fi
+
     fi
 fi
 

+ 3 - 0
web/css/file_manager.css

@@ -270,8 +270,11 @@ ul.listing { list-style-type: none; padding: 18px 0 0; margin: -4px 0 0 -1px;  b
 .confirm-box .controls .keep-original:hover { color: #FFCC00; }
 .confirm-box .controls .keep-original:active { color: #6DB8D3; }
 
+.confirm-box .chmod-mask,
 .confirm-box .new-title { background-color: #292929; border: 1px solid #111; color: #eee; font-family: Arial; font-size: 16px; margin-bottom: 73px; margin-left: 27px; padding: 10px 14px; width: 396px; }
+.confirm-box .chmod-mask:focus,
 .confirm-box .new-title:focus { border: 1px solid #FFCC00; box-shadow: 0 0 5px 0 rgba(255, 204, 0 , 0.3); }
+.confirm-box .chmod-mask { width: 28px; margin: -12px 0 42px 57px; }
 
 .confirm-box.rename .message { margin-bottom: 36px; }
 .confirm-box.rename .controls.replace { display: none; }

+ 14 - 14
web/inc/i18n/es.php

@@ -27,14 +27,14 @@ $LANG['es'] = array(
     'BACKUP'  => 'RESPALDO',
 
     'LOGIN'  => 'LOGIN',
-    'RESET PASSWORD'  => 'RESET PASSWORD',
+    'RESET PASSWORD'  => 'RESETEAR CONTRASEÑA',
     'SEARCH'  => 'BUSCAR',
     'PACKAGE'  => 'PAQUETE',
     'RRD'  => 'RRD',
     'STATS'  => 'ESTADÍSTICAS',
     'LOG'  => 'LOG',
-    'UPDATES'  => 'UPDATES',
-    'FIREWALL'  => 'FIREWALL',
+    'UPDATES'  => 'ACTUALIZACIONES',
+    'FIREWALL'  => 'CORTAFUEGO',
     'SERVER'  => 'SERVIDOR',
     'MEMORY'  => 'MEMORIA',
     'DISK'  => 'DISCO',
@@ -59,7 +59,7 @@ $LANG['es'] = array(
     'Ban IP Address' => 'Bloquear IP',
     'Search'  => 'Buscar',
     'Add one more FTP Account' => 'Añadir una Cuenta FTP adicional',
-    'Overall Statistics'  => 'EstadísticaS Generales',
+    'Overall Statistics'  => 'Estadísticas Generales',
     'Daily'  => 'Diariamente',
     'Weekly'  => 'Semanalmente',
     'Monthly'  => 'Mensualmente',
@@ -417,8 +417,8 @@ $LANG['es'] = array(
     '%s cron jobs'  => '%s tareas programadas',
     '1 archive'  => '1 archivo',
     '%s archives'  => '%s archivos',
-    '1 item'  => '1 item',
-    '%s items'  => '%s items',
+    '1 item'  => '1 elemento',
+    '%s items'  => '%s elementos',
     '1 package'  => '1 plan',
     '%s packages'  => '%s planes',
     '1 IP address'  => '1 dirección IP',
@@ -729,7 +729,7 @@ $LANG['es'] = array(
     'awstats' => 'awstats',
 
     'Vesta SSL' => 'Vesta SSL',
-    'SUBJECT' => 'SUBJECT',
+    'SUBJECT' => 'ASUNTO',
     'ALIASES' => 'ALIASES',
     'NOT_BEFORE' => 'NOT_BEFORE',
     'NOT_AFTER' => 'NOT_AFTER',
@@ -737,13 +737,13 @@ $LANG['es'] = array(
     'PUB_KEY' => 'PUB_KEY',
     'ISSUER' => 'ISSUER',
 
-    'Use server hostname' => 'Use server hostname',
-    'Use domain hostname' => 'Use domain hostname',
-    'Use STARTTLS' => 'Use STARTTLS',
-    'Use SSL' => 'Use SSL',
-    'No encryption' => 'No encryption',
-    'Do not use encryption' => 'Do not use encryption',
+    'Use server hostname' => 'Usar server hostname',
+    'Use domain hostname' => 'Usar domain hostname',
+    'Use STARTTLS' => 'Usar STARTTLS',
+    'Use SSL' => 'Usar SSL',
+    'No encryption' => 'Sin encriptación',
+    'Do not use encryption' => 'No usar encriptación',
 
-    'maximum characters length, including prefix' => 'maximum %s characters length, including prefix',
+    'maximum characters length, including prefix' => 'usar un máximo de %s, incluyendo prefijo',
 
 );

文件差異過大導致無法顯示
+ 360 - 359
web/inc/i18n/ro.php


+ 53 - 39
web/js/file_manager.js

@@ -1525,25 +1525,8 @@ FM.confirmChmod = function() {
     var src = selected.find('.source').val();
     src = $.parseJSON(src);
 
-    var ro = $('input[name="read-by-owner"]').is(':checked') ? 4 : 0;
-    var wo = $('input[name="write-by-owner"]').is(':checked') ? 2 : 0;
-    var eo = $('input[name="execute-by-owner"]').is(':checked') ? 1 : 0;
-
-    var rg = $('input[name="read-by-group"]').is(':checked') ? 4 : 0;
-    var wg = $('input[name="write-by-group"]').is(':checked') ? 2 : 0;
-    var eg = $('input[name="execute-by-group"]').is(':checked') ? 1 : 0;
-
-    var re = $('input[name="read-by-others"]').is(':checked') ? 4 : 0;
-    var we = $('input[name="write-by-others"]').is(':checked') ? 2 : 0;
-    var ee = $('input[name="execute-by-others"]').is(':checked') ? 1 : 0;
-
-    var o = ro+wo+eo;
-    var g = rg+wg+eg;
-    var e = re+we+ee;
-
-    var permissions = o + "" + g + "" + e + "";
-
-    var action = FM.isItemFile(src) ? 'chmod_item' : 'chmod_item';
+    var permissions = $('.chmod input.chmod-mask').val();
+    var action = 'chmod_item';
 
     var params = {
         dir:  FM['TAB_' + tab + '_CURRENT_PATH'] + '/',
@@ -1583,24 +1566,7 @@ FM.confirmBulkChmod = function() {
             }
         });
 
-
-        var ro = $('input[name="read-by-owner"]').is(':checked') ? 4 : 0;
-        var wo = $('input[name="write-by-owner"]').is(':checked') ? 2 : 0;
-        var eo = $('input[name="execute-by-owner"]').is(':checked') ? 1 : 0;
-
-        var rg = $('input[name="read-by-group"]').is(':checked') ? 4 : 0;
-        var wg = $('input[name="write-by-group"]').is(':checked') ? 2 : 0;
-        var eg = $('input[name="execute-by-group"]').is(':checked') ? 1 : 0;
-
-        var re = $('input[name="read-by-others"]').is(':checked') ? 4 : 0;
-        var we = $('input[name="write-by-others"]').is(':checked') ? 2 : 0;
-        var ee = $('input[name="execute-by-others"]').is(':checked') ? 1 : 0;
-
-        var o = ro+wo+eo;
-        var g = rg+wg+eg;
-        var e = re+we+ee;
-
-        var permissions = o + "" + g + "" + e + "";
+        var permissions = $('.chmod input.chmod-mask').val();
 
         var action = 'chmod_item';
         var tab = FM.getTabLetter(FM.CURRENT_TAB);
@@ -1693,6 +1659,29 @@ FM.chmodItems = function() {
     tpl.set(':EXECUTE_BY_OTHERS', mode[2] & 1 ? "checked" : "");
 
     FM.popupOpen(tpl.finalize());
+    $('.chmod input.chmod-mask').val(mode);
+
+    $('.chmod input[type=checkbox]').click(function(){
+        var ro = $('input[name="read-by-owner"]').is(':checked') ? 4 : 0;
+        var wo = $('input[name="write-by-owner"]').is(':checked') ? 2 : 0;
+        var eo = $('input[name="execute-by-owner"]').is(':checked') ? 1 : 0;
+
+        var rg = $('input[name="read-by-group"]').is(':checked') ? 4 : 0;
+        var wg = $('input[name="write-by-group"]').is(':checked') ? 2 : 0;
+        var eg = $('input[name="execute-by-group"]').is(':checked') ? 1 : 0;
+
+        var re = $('input[name="read-by-others"]').is(':checked') ? 4 : 0;
+        var we = $('input[name="write-by-others"]').is(':checked') ? 2 : 0;
+        var ee = $('input[name="execute-by-others"]').is(':checked') ? 1 : 0;
+
+        var o = ro+wo+eo;
+        var g = rg+wg+eg;
+        var e = re+we+ee;
+
+        var permissions = o + "" + g + "" + e + "";
+
+        $('.chmod input.chmod-mask').val(permissions);
+    });
 }
 
 FM.bulkChmod = function() {
@@ -1728,6 +1717,28 @@ FM.bulkChmod = function() {
         //popup_bulk_copy
 
         FM.popupOpen(tpl.finalize());
+
+        $('.chmod input[type=checkbox]').click(function(){
+            var ro = $('input[name="read-by-owner"]').is(':checked') ? 4 : 0;
+            var wo = $('input[name="write-by-owner"]').is(':checked') ? 2 : 0;
+            var eo = $('input[name="execute-by-owner"]').is(':checked') ? 1 : 0;
+
+            var rg = $('input[name="read-by-group"]').is(':checked') ? 4 : 0;
+            var wg = $('input[name="write-by-group"]').is(':checked') ? 2 : 0;
+            var eg = $('input[name="execute-by-group"]').is(':checked') ? 1 : 0;
+
+            var re = $('input[name="read-by-others"]').is(':checked') ? 4 : 0;
+            var we = $('input[name="write-by-others"]').is(':checked') ? 2 : 0;
+            var ee = $('input[name="execute-by-others"]').is(':checked') ? 1 : 0;
+
+            var o = ro+wo+eo;
+            var g = rg+wg+eg;
+            var e = re+we+ee;
+
+            var permissions = o + "" + g + "" + e + "";
+
+            $('.chmod input.chmod-mask').val(permissions);
+        });
     }
 }
 
@@ -2448,10 +2459,10 @@ $(document).ready(function() {
         }
         var tab = FM.getTabLetter(FM.CURRENT_TAB);
         var elm = $(FM.CURRENT_TAB).find('.dir:eq('+FM['CURRENT_'+tab+'_LINE']+')');
-        
+
         if (elm.length == 1) {
             var src = $.parseJSON($(elm).find('.source').val());
-            
+
             if (src.type == 'd') {
                 FM.open(src.full_path, FM.CURRENT_TAB);
             }
@@ -2647,6 +2658,9 @@ $(document).ready(function() {
         $('.shortcuts').hide();
     });
 
+
+
+
 });
 
 /*$(document).bind('keydown.tab', function() {

+ 2 - 0
web/js/templates.js

@@ -143,6 +143,7 @@ App.Templates.html = {
                                     <li><label><input type="checkbox" name="write-by-others" value="1" ~!:WRITE_BY_OTHERS~! /> '+App.Constants.FM_WRITE_BY_OTHERS+'</label></li>\
                                     <li><label><input type="checkbox" name="execute-by-others" value="1" ~!:EXECUTE_BY_OTHERS~! /> '+App.Constants.FM_EXECUTE_BY_OTHERS+'</label></li>\
                                 </ul>\
+                                <input type="text" name="mask" class="chmod-mask" maxlength="3" />\
                             </div>\
                             <div class="controls">\
                                 <p class="cancel" onClick="FM.popupClose();">'+App.Constants.FM_CANCEL+'</p>\
@@ -166,6 +167,7 @@ App.Templates.html = {
                                     <li><label><input type="checkbox" name="write-by-others" value="1" checked /> '+App.Constants.FM_WRITE_BY_OTHERS+'</label></li>\
                                     <li><label><input type="checkbox" name="execute-by-others" value="1" checked /> '+App.Constants.FM_EXECUTE_BY_OTHERS+'</label></li>\
                                 </ul>\
+                                <input type="text" name="mask" class="chmod-mask" maxlength="3" value="777" />\
                             </div>\
                             <div class="controls">\
                                 <p class="cancel" onClick="FM.popupClose();">'+App.Constants.FM_CANCEL+'</p>\

部分文件因文件數量過多而無法顯示