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

Merge pull request #2073 from serghey-rodin/feature/react-ui-and-api

Feature/react UI and api
Serghey Rodin 4 лет назад
Родитель
Сommit
a7c5714d85
39 измененных файлов с 8 добавлено и 150 удалено
  1. 0 1
      src/react/src/components/CronJob/Edit/EditCronJob.jsx
  2. 0 1
      src/react/src/components/DNSRecord/Edit/EditDNSRecord.jsx
  3. 1 1
      src/react/src/components/DomainNameSystem/Edit/EditDomainNameSystem.jsx
  4. 0 1
      src/react/src/components/InternetProtocol/Edit/EditInternetProtocol.jsx
  5. 0 1
      src/react/src/components/Mail/Add/AddMail.jsx
  6. 0 1
      src/react/src/components/Mail/Edit/EditMail.jsx
  7. 0 1
      src/react/src/components/MailAccount/Edit/EditMailAccount.jsx
  8. 0 1
      src/react/src/components/Package/Edit/EditPackage.jsx
  9. 0 1
      src/react/src/components/User/Add/AddUser.jsx
  10. 0 1
      src/react/src/components/User/Edit/EditUser.jsx
  11. 0 1
      src/react/src/components/WebDomain/Edit/EditWeb.jsx
  12. 7 4
      src/react/src/containers/App/App.js
  13. 0 1
      src/react/src/containers/MailAccounts/MailAccounts.jsx
  14. 0 5
      web/api/v1/add/dns/index.php
  15. 0 2
      web/api/v1/add/firewall/index.php
  16. 0 12
      web/api/v1/add/mail/index.php
  17. 0 3
      web/api/v1/add/package/index.php
  18. 0 4
      web/api/v1/edit/backup/exclusions/index.php
  19. 0 3
      web/api/v1/edit/cron/index.php
  20. 0 3
      web/api/v1/edit/db/index.php
  21. 0 4
      web/api/v1/edit/server/index.php
  22. 0 3
      web/api/v1/list/backup/exclusions/index.php
  23. 0 4
      web/api/v1/list/backup/index.php
  24. 0 3
      web/api/v1/list/cron/index.php
  25. 0 3
      web/api/v1/list/db/index.php
  26. 0 4
      web/api/v1/list/dns/index.php
  27. 0 3
      web/api/v1/list/firewall/index.php
  28. 0 3
      web/api/v1/list/ip/index.php
  29. 0 3
      web/api/v1/list/log/index.php
  30. 0 4
      web/api/v1/list/mail/index.php
  31. 0 3
      web/api/v1/list/package/index.php
  32. 0 3
      web/api/v1/list/rrd/index.php
  33. 0 3
      web/api/v1/list/server/index.php
  34. 0 3
      web/api/v1/list/stats/index.php
  35. 0 3
      web/api/v1/list/updates/index.php
  36. 0 2
      web/api/v1/list/user/index.php
  37. 0 2
      web/api/v1/list/web/index.php
  38. 0 4
      web/api/v1/search/index.php
  39. 0 45
      web/inc/main.php

+ 0 - 1
src/react/src/components/CronJob/Edit/EditCronJob.jsx

@@ -13,7 +13,6 @@ import QS from 'qs';
 
 import './EditCronJob.scss';
 import { Helmet } from 'react-helmet';
-import { checkAuthHandler } from 'src/actions/Session/sessionActions';
 import { refreshCounters } from 'src/actions/MenuCounters/menuCounterActions';
 import HtmlParser from 'react-html-parser';
 

+ 0 - 1
src/react/src/components/DNSRecord/Edit/EditDNSRecord.jsx

@@ -11,7 +11,6 @@ import { useHistory } from 'react-router-dom';
 import { useDispatch, useSelector } from 'react-redux';
 import QS from 'qs';
 import { Helmet } from 'react-helmet';
-import { checkAuthHandler } from 'src/actions/Session/sessionActions';
 import { refreshCounters } from 'src/actions/MenuCounters/menuCounterActions';
 import HtmlParser from 'react-html-parser';
 

+ 1 - 1
src/react/src/components/DomainNameSystem/Edit/EditDomainNameSystem.jsx

@@ -13,7 +13,7 @@ import QS from 'qs';
 
 import './EditDomainNameSystem.scss';
 import { Helmet } from 'react-helmet';
-import { checkAuthHandler } from 'src/actions/Session/sessionActions';
+import { andler } from 'src/actions/Session/sessionActions';
 import { refreshCounters } from 'src/actions/MenuCounters/menuCounterActions';
 import HtmlParser from 'react-html-parser';
 

+ 0 - 1
src/react/src/components/InternetProtocol/Edit/EditInternetProtocol.jsx

@@ -15,7 +15,6 @@ import QS from 'qs';
 
 import './EditInternetProtocol.scss';
 import { Helmet } from 'react-helmet';
-import { checkAuthHandler } from 'src/actions/Session/sessionActions';
 import { refreshCounters } from 'src/actions/MenuCounters/menuCounterActions';
 import HtmlParser from 'react-html-parser';
 

+ 0 - 1
src/react/src/components/Mail/Add/AddMail.jsx

@@ -11,7 +11,6 @@ import { useDispatch, useSelector } from 'react-redux';
 
 import './AddMail.scss'
 import { Helmet } from 'react-helmet';
-import { checkAuthHandler } from 'src/actions/Session/sessionActions';
 import { refreshCounters } from 'src/actions/MenuCounters/menuCounterActions';
 import HtmlParser from 'react-html-parser';
 

+ 0 - 1
src/react/src/components/Mail/Edit/EditMail.jsx

@@ -13,7 +13,6 @@ import QS from 'qs';
 
 import './EditMail.scss';
 import { Helmet } from 'react-helmet';
-import { checkAuthHandler } from 'src/actions/Session/sessionActions';
 import { refreshCounters } from 'src/actions/MenuCounters/menuCounterActions';
 import HtmlParser from 'react-html-parser';
 

+ 0 - 1
src/react/src/components/MailAccount/Edit/EditMailAccount.jsx

@@ -15,7 +15,6 @@ import { useHistory } from 'react-router-dom';
 import Spinner from '../../Spinner/Spinner';
 import { useDispatch, useSelector } from 'react-redux';
 import { Helmet } from 'react-helmet';
-import { checkAuthHandler } from 'src/actions/Session/sessionActions';
 import { refreshCounters } from 'src/actions/MenuCounters/menuCounterActions';
 import HtmlParser from 'react-html-parser';
 

+ 0 - 1
src/react/src/components/Package/Edit/EditPackage.jsx

@@ -16,7 +16,6 @@ import QS from 'qs';
 
 import './EditPackage.scss';
 import { Helmet } from 'react-helmet';
-import { checkAuthHandler } from 'src/actions/Session/sessionActions';
 import { refreshCounters } from 'src/actions/MenuCounters/menuCounterActions';
 import HtmlParser from 'react-html-parser';
 

+ 0 - 1
src/react/src/components/User/Add/AddUser.jsx

@@ -13,7 +13,6 @@ import { useDispatch, useSelector } from 'react-redux';
 
 import './AddUser.scss';
 import { Helmet } from 'react-helmet';
-import { checkAuthHandler } from 'src/actions/Session/sessionActions';
 import { refreshCounters } from 'src/actions/MenuCounters/menuCounterActions';
 import HtmlParser from 'react-html-parser';
 

+ 0 - 1
src/react/src/components/User/Edit/EditUser.jsx

@@ -15,7 +15,6 @@ import QS from 'qs';
 
 import './EditUser.scss';
 import { Helmet } from 'react-helmet';
-import { checkAuthHandler } from 'src/actions/Session/sessionActions';
 import { refreshCounters } from 'src/actions/MenuCounters/menuCounterActions';
 import HtmlParser from 'react-html-parser';
 

+ 0 - 1
src/react/src/components/WebDomain/Edit/EditWeb.jsx

@@ -18,7 +18,6 @@ import QS from 'qs';
 import './EditWeb.scss';
 import TextArea from '../../ControlPanel/AddItemLayout/Form/TextArea/TextArea';
 import { Helmet } from 'react-helmet';
-import { checkAuthHandler } from 'src/actions/Session/sessionActions';
 import { refreshCounters } from 'src/actions/MenuCounters/menuCounterActions';
 import HtmlParser from 'react-html-parser';
 

+ 7 - 4
src/react/src/containers/App/App.js

@@ -11,7 +11,6 @@ import ControlPanelContent from '../ControlPanelContent/ControlPanelContent';
 import WebLogs from '../WebLogs/WebLogs';
 import LoginForm from 'src/components/Login/LoginForm';
 import { useDispatch, useSelector } from 'react-redux';
-import { setAuthToken } from 'src/utils/token';
 import { checkAuthHandler } from 'src/actions/Session/sessionActions';
 import ServiceInfo from 'src/containers/ServiceInfo';
 import ForgotPassword from 'src/components/ForgotPassword';
@@ -70,9 +69,13 @@ const App = () => {
 
   useEffect(() => {
     if (!Object.entries(session.i18n).length) {
-      dispatch(checkAuthHandler()).then(token => {
-        setLoading(false);
-      });
+      dispatch(checkAuthHandler())
+        .then(token => {
+          setLoading(false);
+        }, (error) => {
+          console.error(error);
+          return history.push('/login');
+        });
     }
   }, [dispatch, history, session]);
 

+ 0 - 1
src/react/src/containers/MailAccounts/MailAccounts.jsx

@@ -17,7 +17,6 @@ import { Link } from 'react-router-dom';
 
 import './MailAccounts.scss';
 import { Helmet } from 'react-helmet';
-import { checkAuthHandler } from 'src/actions/Session/sessionActions';
 import { refreshCounters } from 'src/actions/MenuCounters/menuCounterActions';
 
 export default function MailAccounts(props) {

+ 0 - 5
web/api/v1/add/dns/index.php

@@ -165,13 +165,8 @@ if (empty($_GET['domain'])) {
         $v_ns8 = str_replace("'", "", $nameservers[7]);
         unset($output);
     }
-
-    // render_page($user, $TAB, 'add_dns');
 } else {
-    // Display body for dns record
-
     $v_domain = $_GET['domain'];
-    // render_page($user, $TAB, 'add_dns_rec');
 }
 
 $result = array(

+ 0 - 2
web/api/v1/add/firewall/index.php

@@ -63,8 +63,6 @@ if (!empty($_POST['ok'])) {
     }
 }
 
-// Render
-// render_page($user, $TAB, 'add_firewall');
 $result = array(
     'ok_msg' => $_SESSION['ok_msg'],
     'error_msg' => $_SESSION['error_msg']

+ 0 - 12
web/api/v1/add/mail/index.php

@@ -195,18 +195,6 @@ if (!empty($_POST['ok_acc'])) {
     }
 }
 
-// Render page
-if (empty($_GET['domain'])) {
-    // Display body for mail domain
-
-    // render_page($user, $TAB, 'add_mail');
-} else {
-    // Display body for mail account
-
-    $v_domain = $_GET['domain'];
-    // render_page($user, $TAB, 'add_mail_acc');
-}
-
 $result = array(
   'error_msg' => $_SESSION['error_msg'],
   'ok_msg' => $_SESSION['ok_msg']

+ 0 - 3
web/api/v1/add/package/index.php

@@ -200,9 +200,6 @@ if (empty($v_bandwidth)) $v_bandwidth = "'1000'";
 if (empty($v_ns1)) $v_ns1 = 'ns1.example.ltd';
 if (empty($v_ns2)) $v_ns2 = 'ns2.example.ltd';
 
-// Render page
-// render_page($user, $TAB, 'add_package');
-
 $result = array(
 	'web_system' => $_SESSION['WEB_SYSTEM'],
 	'web_templates' => $web_templates,

+ 0 - 4
web/api/v1/edit/backup/exclusions/index.php

@@ -122,10 +122,6 @@ if (!empty($_POST['save'])) {
     }
 }
 
-
-// Render page
-// render_page($user, $TAB, 'edit_backup_exclusions');
-
 $result = array(
     'web' => $v_web,
     'dns' => $v_dns,

+ 0 - 3
web/api/v1/edit/cron/index.php

@@ -75,9 +75,6 @@ if (!empty($_POST['save'])) {
     }
 }
 
-// Render page
-// render_page($user, $TAB, 'edit_cron');
-
 $result = array(
     'username' => $user,
     'job' => $_GET['job'],

+ 0 - 3
web/api/v1/edit/db/index.php

@@ -83,9 +83,6 @@ if (!empty($_POST['save'])) {
     }
 }
 
-// Render page
-// render_page($user, $TAB, 'edit_db');
-
 $result = array(
     'username' => $user,
     'database' => $_GET['database'],

+ 0 - 4
web/api/v1/edit/server/index.php

@@ -607,10 +607,6 @@ foreach ($sys_arr as $key => $value) {
     $_SESSION[$key] = $value;
 }
 
-
-// Render page
-// render_page($user, $TAB, 'edit_server');
-
 $result = array(
     'hostname' => $v_hostname,
     'timezones' => $v_timezones,

+ 0 - 3
web/api/v1/list/backup/exclusions/index.php

@@ -12,9 +12,6 @@ exec (VESTA_CMD."v-list-user-backup-exclusions $user json", $output, $return_var
 $data = json_decode(implode('', $output), true);
 unset($output);
 
-// Render page
-// render_page($user, $TAB, 'list_backup_exclusions');
-
 // Back uri
 $_SESSION['back'] = $_SERVER['REQUEST_URI'];
 

+ 0 - 4
web/api/v1/list/backup/index.php

@@ -13,15 +13,11 @@ if (empty($_GET['backup'])){
   $data = json_decode(implode('', $output), true);
   $data = array_reverse($data,true);
   unset($output);
-
-  // render_page($user, $TAB, 'list_backup');
 } else {
   exec (VESTA_CMD."v-list-user-backup $user ".escapeshellarg($_GET['backup'])." json", $output, $return_var);
   $data = json_decode(implode('', $output), true);
   $data = array_reverse($data,true);
   unset($output);
-
-  // render_page($user, $TAB, 'list_backup_detail');
 }
 
 $backup = $_GET['backup'];

+ 0 - 3
web/api/v1/list/cron/index.php

@@ -14,9 +14,6 @@ $data = json_decode(implode('', $output), true);
 $data = array_reverse($data,true);
 unset($output);
 
-// Render page
-// render_page($user, $TAB, 'list_cron');
-
 if($panel[$user]['CRON_REPORTS'] == 'yes') {
   $cron_reports = __('turn off notifications');
 } else {

+ 0 - 3
web/api/v1/list/db/index.php

@@ -15,9 +15,6 @@ unset($output);
 
 top_panel(empty($_SESSION['look']) ? $_SESSION['user'] : $_SESSION['look'], $TAB);
 
-// Render page
-// render_page($user, $TAB, 'list_db');
-
 // Back uri
 $_SESSION['back'] = $_SERVER['REQUEST_URI'];
 

+ 0 - 4
web/api/v1/list/dns/index.php

@@ -13,15 +13,11 @@ if (empty($_GET['domain'])){
     $data = json_decode(implode('', $output), true);
     $data = array_reverse($data, true);
     unset($output);
-
-    // render_page($user, $TAB, 'list_dns');
 } else {
     exec (VESTA_CMD."v-list-dns-records ".$user." ".escapeshellarg($_GET['domain'])." json", $output, $return_var);
     $data = json_decode(implode('', $output), true);
     $data = array_reverse($data, true);
     unset($output);
-
-    // render_page($user, $TAB, 'list_dns_rec');
 }
 
 foreach ($data as $key => $value) {

+ 0 - 3
web/api/v1/list/firewall/index.php

@@ -41,9 +41,6 @@ foreach ($data as $key => $value) {
   }
 }
 
-// Render page
-// render_page($user, $TAB, 'list_firewall');
-
 // Back uri
 $_SESSION['back'] = $_SERVER['REQUEST_URI'];
 

+ 0 - 3
web/api/v1/list/ip/index.php

@@ -31,9 +31,6 @@ foreach ($data as $key => $value) {
   $data[$key]['delete_conf'] = __('DELETE_IP_CONFIRMATION', $key);
 }
 
-// Render page
-// render_page($user, $TAB, 'list_ip');
-
 // Back uri
 $_SESSION['back'] = $_SERVER['REQUEST_URI'];
 

+ 0 - 3
web/api/v1/list/log/index.php

@@ -24,9 +24,6 @@ foreach ($data as $key => $value) {
   }  
 }
 
-// Render page
-// render_page($user, $TAB, 'list_log');
-
 $object = (object)[];
 $object->data = $data;
 $object->user = $user;

+ 0 - 4
web/api/v1/list/mail/index.php

@@ -14,8 +14,6 @@ if (empty($_GET['domain'])){
     unset($output);
 
     $favorites = $_SESSION['favourites']['MAIL'];
-
-    // render_page($user, $TAB, 'list_mail');
 } else {
     exec (VESTA_CMD."v-list-mail-accounts ".$user." ".escapeshellarg($_GET['domain'])." json", $output, $return_var);
     $data = json_decode(implode('', $output), true);
@@ -23,8 +21,6 @@ if (empty($_GET['domain'])){
     unset($output);
 
     $favorites = $_SESSION['favourites']['MAIL_ACC'];
-
-    // render_page($user, $TAB, 'list_mail_acc');
 }
 
 $uname_arr=posix_uname();

+ 0 - 3
web/api/v1/list/package/index.php

@@ -29,9 +29,6 @@ foreach ($data as $key => $value) {
   $data[$key]['delete_conf'] = __('DELETE_PACKAGE_CONFIRMATION', $key);
 }
 
-// Render page
-// render_page($user, $TAB, 'list_packages');
-
 // Back uri
 $_SESSION['back'] = $_SERVER['REQUEST_URI'];
 

+ 0 - 3
web/api/v1/list/rrd/index.php

@@ -18,9 +18,6 @@ exec (VESTA_CMD."v-list-sys-rrd json", $output, $return_var);
 $data = json_decode(implode('', $output), true);
 unset($output);
 
-// Render page
-// render_page($user, $TAB, 'list_rrd');
-
 // Back uri
 $_SESSION['back'] = $_SERVER['REQUEST_URI'];
 

+ 0 - 3
web/api/v1/list/server/index.php

@@ -97,9 +97,6 @@ foreach ($sys as $key => $value) {
 	$sys[$key]['UPTIME'] = humanize_time($sys[$key]['UPTIME']);
 }
 
-// Render page
-// render_page($user, $TAB, 'list_services');
-
 // Back uri
 $_SESSION['back'] = $_SERVER['REQUEST_URI'];
 

+ 0 - 3
web/api/v1/list/stats/index.php

@@ -42,9 +42,6 @@ foreach ($data as $key => $value) {
   }
 }
 
-// Render page
-// render_page($user, $TAB, 'list_stats');
-
 // Back uri
 $_SESSION['back'] = $_SERVER['REQUEST_URI'];
 

+ 0 - 3
web/api/v1/list/updates/index.php

@@ -21,9 +21,6 @@ exec (VESTA_CMD."v-list-sys-vesta-autoupdate plain", $output, $return_var);
 $autoupdate = $output[0];
 unset($output);
 
-// Render page
-// render_page($user, $TAB, 'list_updates');
-
 // Back uri
 $_SESSION['back'] = $_SERVER['REQUEST_URI'];
 

+ 0 - 2
web/api/v1/list/user/index.php

@@ -14,9 +14,7 @@ if ($user == 'admin') {
 }
 $data = json_decode(implode('', $output), true);
 $data = array_reverse($data,true);
-// Render page
 top_panel(empty($_SESSION['look']) ? $_SESSION['user'] : $_SESSION['look'], $TAB);
-// render_page($user, $TAB, 'list_user');
 
 $_SESSION['back'] = $_SERVER['REQUEST_URI'];
 

+ 0 - 2
web/api/v1/list/web/index.php

@@ -13,9 +13,7 @@ $data = json_decode(implode('', $output), true);
 $data = array_reverse($data,true);
 $ips = json_decode(shell_exec(VESTA_CMD.'v-list-sys-ips json'), true);
 
-// Render page
 top_panel(empty($_SESSION['look']) ? $_SESSION['user'] : $_SESSION['look'], $TAB);
-// render_page($user, $TAB, 'list_web');
 
 // Back uri
 $_SESSION['back'] = $_SERVER['REQUEST_URI'];

+ 0 - 4
web/api/v1/search/index.php

@@ -30,10 +30,6 @@ $command = $_SESSION['user'] == 'admin'
 exec (VESTA_CMD . $command, $output, $return_var);
 $data = json_decode(implode('', $output), true);
 
-
-// Render page
-// render_page($user, $TAB, 'list_search');
-
 foreach ($data as $key => $value) {
     ++$i;
 

+ 0 - 45
web/inc/main.php

@@ -132,44 +132,6 @@ function check_return_code($return_var,$output) {
     }
 }
 
-function render_page($user, $TAB, $page) {
-    $__template_dir = dirname(__DIR__) . '/templates/';
-    $__pages_js_dir = dirname(__DIR__) . '/js/pages/';
-
-    // Header
-    include($__template_dir . 'header.html');
-
-    // Panel
-    top_panel(empty($_SESSION['look']) ? $_SESSION['user'] : $_SESSION['look'], $TAB);
-
-    // Extarct global variables
-    // I think those variables should be passed via arguments
-    //*
-    extract($GLOBALS, EXTR_SKIP);
-    /*/
-    $variables = array_filter($GLOBALS, function($key){return preg_match('/^(v_|[a-z])[a-z\d]+$/', $key);}, ARRAY_FILTER_USE_KEY);
-    extract($variables, EXTR_OVERWRITE);
-    //*/
-
-    // Body
-    if (($_SESSION['user'] !== 'admin') && (@include($__template_dir . "user/$page.html"))) {
-        // User page loaded
-    } else {
-        // Not admin or user page doesn't exist
-        // Load admin page
-        @include($__template_dir . "admin/$page.html");
-    }
-
-    // Including common js files
-    @include_once(dirname(__DIR__) . '/templates/scripts.html');
-    // Including page specific js file
-    if(file_exists($__pages_js_dir.$page.'.js'))
-       echo '<script type="text/javascript" src="/js/pages/'.$page.'.js?'.JS_LATEST_UPDATE.'"></script>';
-
-    // Footer
-    include($__template_dir . 'footer.html');
-}
-
 function top_panel($user, $TAB) {
     global $panel;
     $command = VESTA_CMD."v-list-user '".$user."' 'json'";
@@ -193,13 +155,6 @@ function top_panel($user, $TAB) {
         }
     }
     unset($output);
-
-
-    if ( $user == 'admin' ) {
-        include(dirname(__FILE__).'/../templates/admin/panel.html');
-    } else {
-        include(dirname(__FILE__).'/../templates/user/panel.html');
-    }
 }
 
 function translate_date($date){