From cf7d417193b289a233d2945d173cd3877ab89f5f Mon Sep 17 00:00:00 2001 From: Yasen Pramatarov Date: Wed, 28 Aug 2024 12:59:13 +0300 Subject: [PATCH] Adds config.js capability --- app/classes/config.php | 80 +++++++++++++++++++ app/config/jilo-web.conf.php | 2 +- app/pages/config.php | 35 +++++--- app/templates/config-list-configjs.php | 15 ++++ .../config-list-interfaceconfigjs.php | 14 ++++ app/templates/page-sidebar.php | 30 +++++-- public_html/index.php | 6 ++ 7 files changed, 166 insertions(+), 16 deletions(-) create mode 100644 app/classes/config.php create mode 100644 app/templates/config-list-configjs.php create mode 100644 app/templates/config-list-interfaceconfigjs.php diff --git a/app/classes/config.php b/app/classes/config.php new file mode 100644 index 0000000..7dd8716 --- /dev/null +++ b/app/classes/config.php @@ -0,0 +1,80 @@ + [ + 'verify_peer' => true, + 'verify_peer_name' => true, + ], + ]; + $context = stream_context_create($contextOptions); + + // get the file + $fileContent = @file_get_contents($configjsFile, false, $context); + + if ($fileContent !== false) { + // remove block comments + $platformConfigjs = preg_replace('!/\*.*?\*/!s', '', $fileContent); + // remove single-line comments + $platformConfigjs = preg_replace('/\/\/[^\n]*/', '', $platformConfigjs); + // remove empty lines + $platformConfigjs = preg_replace('/^\s*[\r\n]/m', '', $platformConfigjs); + } + + return $platformConfigjs; + + } + + + // loading the interface_config.js + public function getPlatformInterfaceConfigjs($platformDetails) { + // constructing the URL + $interfaceConfigjsFile = $platformDetails['jitsi_url'] . '/interface_config.js'; + + // default content, if we can't get the file contents + $platformInterfaceConfigjs = "The file $interfaceConfigjsFile can't be loaded."; + + // ssl options + $contextOptions = [ + 'ssl' => [ + 'verify_peer' => true, + 'verify_peer_name' => true, + ], + ]; + $context = stream_context_create($contextOptions); + + // get the file + $fileContent = @file_get_contents($interfaceConfigjsFile, false, $context); + + if ($fileContent !== false) { + // remove block comments + $platformInterfaceConfigjs = preg_replace('!/\*.*?\*/!s', '', $fileContent); + // remove single-line comments + $platformInterfaceConfigjs = preg_replace('/\/\/[^\n]*/', '', $platformInterfaceConfigjs); + // remove empty lines + $platformInterfaceConfigjs = preg_replace('/^\s*[\r\n]/m', '', $platformInterfaceConfigjs); + } + + return $platformInterfaceConfigjs; + + } + + +} + +?> diff --git a/app/config/jilo-web.conf.php b/app/config/jilo-web.conf.php index 804337d..99d97d4 100644 --- a/app/config/jilo-web.conf.php +++ b/app/config/jilo-web.conf.php @@ -38,7 +38,7 @@ return [ 'platforms' => [ '0' => [ 'name' => 'meet1', - 'jitsi_url' => 'https://meet.example.com', + 'jitsi_url' => 'https://meet.lindeas.com', 'jilo_database' => '../../jilo/jilo.db', ], '1' => [ diff --git a/app/pages/config.php b/app/pages/config.php index 292be4b..322902e 100644 --- a/app/pages/config.php +++ b/app/pages/config.php @@ -1,9 +1,12 @@ getPlatformDetails($config, $platform_id); + $platformConfigjs = $configure->getPlatformConfigjs($platformDetails); + include('../app/templates/config-list-configjs.php'); break; - case 'edit': - include('../app/templates/config-edit-platform.php'); - break; - case 'delete': - include('../app/templates/config-delete-platform.php'); + case 'interfaceconfigjs': + $platformDetails = $configure->getPlatformDetails($config, $platform_id); + $platformInterfaceConfigjs = $configure->getPlatformInterfaceConfigjs($platformDetails); + include('../app/templates/config-list-interfaceconfigjs.php'); break; + default: - include('../app/templates/config-list.php'); + switch ($action) { + case 'add': + include('../app/templates/config-add-platform.php'); + break; + case 'edit': + include('../app/templates/config-edit-platform.php'); + break; + case 'delete': + include('../app/templates/config-delete-platform.php'); + break; + default: + include('../app/templates/config-list.php'); + } } } diff --git a/app/templates/config-list-configjs.php b/app/templates/config-list-configjs.php new file mode 100644 index 0000000..b2abccf --- /dev/null +++ b/app/templates/config-list-configjs.php @@ -0,0 +1,15 @@ + + +
+

Configuration of the Jitsi platform

+
+

URL:

+

config.js

+
+
+
+
+
+ diff --git a/app/templates/config-list-interfaceconfigjs.php b/app/templates/config-list-interfaceconfigjs.php new file mode 100644 index 0000000..ac1fb7b --- /dev/null +++ b/app/templates/config-list-interfaceconfigjs.php @@ -0,0 +1,14 @@ + + +
+

Jilo web configuration

+
+

platform variables

+ +
+
+ diff --git a/app/templates/page-sidebar.php b/app/templates/page-sidebar.php index dc9b669..db0aa1e 100644 --- a/app/templates/page-sidebar.php +++ b/app/templates/page-sidebar.php @@ -5,29 +5,34 @@
diff --git a/public_html/index.php b/public_html/index.php index 48f571e..4df205a 100644 --- a/public_html/index.php +++ b/public_html/index.php @@ -67,6 +67,12 @@ if (isset($_REQUEST['page'])) { } else { $page = 'front'; } +if (isset($_REQUEST['item'])) { + $item = $_REQUEST['item']; +} else { + $item = ''; +} + // check if logged in unset($user);