Просмотр исходного кода

Merge pull request #877 from pcfreak30/feature/800

Letsencrypt Improvements
Serghey Rodin 9 лет назад
Родитель
Сommit
db04a00bca

+ 7 - 3
bin/v-list-web-domain

@@ -31,6 +31,7 @@ json_list() {
         "STATS_USER": "'$STATS_USER'",
         "SSL": "'$SSL'",
         "SSL_HOME": "'$SSL_HOME'",
+        "LETSENCRYPT": "'$LETSENCRYPT'",
         "FTP_USER": "'$FTP_USER'",
         "FTP_PATH": "'$FTP_PATH'",
         "AUTH_USER": "'$AUTH_USER'",
@@ -56,6 +57,9 @@ shell_list() {
     fi
     if [ ! -z "$SSL" ] && [ "$SSL" != 'no' ]; then
         echo "SSL:            $SSL / $SSL_HOME"
+        if [ ! -z "$LETSENCRYPT" ] && [ "$LETSENCRYPT" != 'no' ]; then
+         echo "LETSENCRYPT:    $LETSENCRYPT"
+        fi
     fi
     echo "TEMPLATE:       $TPL"
     if [ ! -z "$WEB_BACKEND" ]; then
@@ -84,7 +88,7 @@ shell_list() {
 # PLAIN list function
 plain_list() {
     echo -ne "$DOMAIN\t$IP\t$IP6\t$U_DISK\t$U_BANDWIDTH\t$TPL\t"
-    echo -ne "$ALIAS\t$STATS\t$STATS_USER\t$SSL\t$SSL_HOME\t"
+    echo -ne "$ALIAS\t$STATS\t$STATS_USER\t$SSL\t$SSL_HOME\t,$LETSENCRYPT"
     echo -ne "$FTP_USER\t$FTP_PATH\t$AUTH_USER\t$BACKEND\t$PROXY\t"
     echo -e "$PROXY_EXT\t$SUSPENDED\t$TIME\t$DATE"
 }
@@ -92,10 +96,10 @@ plain_list() {
 # CSV list function
 csv_list() {
     echo -n "DOMAIN,IP,IP6,U_DISK,U_BANDWIDTH,TPL,ALIAS,STATS,STATS_USER,SSL,"
-    echo -n "SSL_HOME,FTP_USER,FTP_PATH,AUTH_USER,BACKEND,PROXY,PROXY_EXT,"
+    echo -n "SSL_HOME,LETSENCRYPT,FTP_USER,FTP_PATH,AUTH_USER,BACKEND,PROXY,PROXY_EXT,"
     echo "SUSPENDED,TIME,DATE"
     echo -n "$DOMAIN,$IP,$IP6,$U_DISK,$U_BANDWIDTH,$TPL,\"$ALIAS\",$STATS"
-    echo -n "\"$STATS_USER\",$SSL,$SSL_HOME,\"$FTP_USER\",\"$FTP_PATH\","
+    echo -n "\"$STATS_USER\",$SSL,$SSL_HOME,$LETSENCRYPT,\"$FTP_USER\",\"$FTP_PATH\","
     echo -n "\"$AUTH_USER\",$BACKEND,$PROXY,\"$PROXY_EXT\",$SUSPENDED,$TIME,"
     echo  "$DATE"
 }

+ 7 - 6
bin/v-list-web-domains

@@ -35,6 +35,7 @@ json_list() {
         "STATS_USER": "'$STATS_USER'",
         "SSL": "'$SSL'",
         "SSL_HOME": "'$SSL_HOME'",
+        "LETSENCRYPT": "'$LETSENCRYPT'",
         "FTP_USER": "'$FTP_USER'",
         "FTP_PATH": "'$FTP_PATH'",
         "AUTH_USER": "'$AUTH_USER'",
@@ -58,11 +59,11 @@ json_list() {
 # SHELL list function
 shell_list() {
     IFS=$'\n'
-    echo "DOMAIN   IP   TPL   SSL   DISK   BW   SPND   DATE"
-    echo "------   --   ---   ---   ----   --   ----   ----"
+    echo "DOMAIN   IP   TPL   SSL   LETSENCRYPT   DISK   BW   SPND      DATE   "
+    echo "------   --   ---   ---   -----------   ----   --   ----   ----------"
     while read str; do
         eval $str
-        echo "$DOMAIN $IP $TPL $SSL $U_DISK $U_BANDWIDTH $SUSPENDED $DATE"
+        echo "$DOMAIN $IP $TPL $SSL $LETSENCRYPT $U_DISK $U_BANDWIDTH $SUSPENDED $DATE"
     done < <(cat $USER_DATA/web.conf)
 }
 
@@ -72,7 +73,7 @@ plain_list() {
     while read str; do
         eval $str
         echo -ne "$DOMAIN\t$IP\t$IP6\t$U_DISK\t$U_BANDWIDTH\t$TPL\t"
-        echo -ne "$ALIAS\t$STATS\t$STATS_USER\t$SSL\t$SSL_HOME\t"
+        echo -ne "$ALIAS\t$STATS\t$STATS_USER\t$SSL\t$SSL_HOME\t$LETSENCRYPT\t"
         echo -ne "$FTP_USER\t$FTP_PATH\t$AUTH_USER\t$BACKEND\t$PROXY\t"
         echo -e "$PROXY_EXT\t$SUSPENDED\t$TIME\t$DATE"
     done < <(cat $USER_DATA/web.conf)
@@ -82,12 +83,12 @@ plain_list() {
 csv_list() {
     IFS=$'\n'
     echo -n "DOMAIN,IP,IP6,U_DISK,U_BANDWIDTH,TPL,ALIAS,STATS,STATS_USER,"
-    echo -n "SSL,SSL_HOME,FTP_USER,FTP_PATH,AUTH_USER,BACKEND,PROXY,"
+    echo -n "SSL,SSL_HOME,LETSENCRYPT,FTP_USER,FTP_PATH,AUTH_USER,BACKEND,PROXY,"
     echo "PROXY_EXT,SUSPENDED,TIME,DATE"
     while read str; do
         eval $str
         echo -n "$DOMAIN,$IP,$IP6,$U_DISK,$U_BANDWIDTH,$TPL,"
-        echo -n "\"$ALIAS\",$STATS,\"$STATS_USER\",$SSL,$SSL_HOME,"
+        echo -n "\"$ALIAS\",$STATS,\"$STATS_USER\",$SSL,$SSL_HOME,$LETSENCRYPT,"
         echo -n "\"$FTP_USER\",\"$FTP_PATH\",\"$AUTH_USER\",$BACKEND,$PROXY,"
         echo "\"$PROXY_EXT\",$SUSPENDED,$TIME,$DATE"
     done < <(cat $USER_DATA/web.conf)

+ 13 - 13
web/edit/web/index.php

@@ -267,26 +267,26 @@ if (!empty($_POST['save'])) {
     // Disable Lets Encrypt support
 
      if (( $v_letsencrypt == 'yes' ) && (empty($_POST['v_letsencrypt'])) && (!empty($_POST['v_letsencrypt'])) && (empty($_SESSION['error_msg']))) {
-        exec (VESTA_CMD."v-add-letsencrypt-domain ".$user." ".$v_domain." '' 'no'", $output, $return_var);
+        exec (VESTA_CMD."v-delete-letsencrypt-domain ".$user." ".$v_domain." '' 'no'", $output, $return_var);
         check_return_code($return_var,$output);
         unset($output);
         $v_letsencrypt = 'no';
         $restart_web = 'yes';
         $restart_proxy = 'yes';
      }
-     else {
-        // Delete SSL certificate
-        if (( $v_ssl == 'yes' ) && (empty($_POST['v_ssl'])) && (empty($_SESSION['error_msg']))) {
-            exec (VESTA_CMD."v-list-web-domain ".$user." ".$v_domain." json", $output, $return_var);
-            $data = json_decode(implode('', $output), true);
-            exec (VESTA_CMD."v-add-letsencrypt-domain ".$user." ".$v_domain." '".$data['ALIAS']."' 'no'", $output, $return_var);
-            check_return_code($return_var,$output);
-            unset($output);
-            $v_ssl = 'no';
-            $restart_web = 'yes';
-            $restart_proxy = 'yes';
-        }
+     else{
+         // Delete SSL certificate
+         if (( $v_ssl == 'yes' ) && (empty($_POST['v_ssl'])) && (empty($_SESSION['error_msg']))) {
+             exec (VESTA_CMD."v-delete-web-domain-ssl ".$v_username." ".$v_domain." 'no'", $output, $return_var);
+             check_return_code($return_var,$output);
+             unset($output);
+             $v_ssl = 'no';
+             $restart_web = 'yes';
+             $restart_proxy = 'yes';
+         }
      }
+
+     // Enable Lets Encrypt support
      if (( $v_letsencrypt == 'no' || empty( $v_letsencrypt)) && (!empty($_POST['v_letsencrypt'])) && empty($_SESSION['error_msg'])) {
         exec (VESTA_CMD."v-list-web-domain ".$user." ".$v_domain." json", $output, $return_var);
         $data = json_decode(implode('', $output), true);

+ 7 - 6
web/js/pages/edit_web.js

@@ -135,14 +135,14 @@ App.Actions.WEB.toggle_additional_ftp_accounts = function(elm) {
 App.Actions.WEB.toggle_letsencrypt = function(elm) {
     if ($(elm).attr('checked')) {
         $('#ssltable textarea[name=v_ssl_crt],#ssltable textarea[name=v_ssl_key], #ssltable textarea[name=v_ssl_ca]').attr('disabled', 'disabled');
-        //$('input[name=v_ssl]').prop('checked', true);
-        //$('#ssltable').show();
+        $('input[name=v_ssl]').prop('checked', true);
+        $('#ssltable').show();
         $('#generate-csr').hide();
     }
     else {
         $('#ssltable textarea[name=v_ssl_crt],#ssltable textarea[name=v_ssl_key], #ssltable textarea[name=v_ssl_ca]').removeAttr('disabled');
-        //$('input[name=v_ssl]').prop('checked', false);
-        //$('#ssltable').hide();
+        $('input[name=v_ssl]').prop('checked', false);
+        $('#ssltable').hide();
         $('#generate-csr').show();
     }
 }
@@ -180,8 +180,9 @@ $(function() {
         var elm = $(evt.target);
         App.Actions.WEB.passwordChanged(elm);
     });
-    App.Actions.WEB.toggle_letsencrypt($('input[name=v_letsencrypt]'));
-
+    if ($('input[name=v_letsencrypt]').attr('checked')) {
+        App.Actions.WEB.toggle_letsencrypt($('input[name=v_letsencrypt]'))
+    }
     $('select[name="v_stats"]').change(function(evt){
         var select = $(evt.target);
 

+ 15 - 0
web/templates/admin/list_web.html

@@ -266,6 +266,21 @@ sort-name="<?=$key?>"  sort-bandwidth="<?=$data[$key]['U_BANDWIDTH']?>" sort-dis
                   <? } ?>
                 </td>
               </tr>
+                <tr>
+                    <td></td>
+                    <td>
+                        <? if(empty($data[$key]['LETSENCRYPT']) || $data[$key]['LETSENCRYPT'] == 'no') { ?>
+                        <div class="l-unit__stat-cols clearfix disabled"><?=__('Lets Encrypt Support')?></div>
+                        <? } else {?>
+                        <div class="l-unit__stat-cols clearfix">
+                            <div class="l-unit__stat-col l-unit__stat-col--left"><?=__('Lets Encrypt Support')?>:</div>
+                            <div class="l-unit__stat-col l-unit__stat-col--right">
+                                <b><?=__($data[$key]['LETSENCRYPT'])?></b>
+                            </div>
+                        </div>
+                        <? } ?>
+                    </td>
+                </tr>
               <tr>
                 <td>
                   <div class="l-unit__stat-cols clearfix graph">