mirror of
https://github.com/DanielnetoDotCom/YouPHPTube
synced 2025-10-03 01:39:24 +02:00
Update page builder
This commit is contained in:
parent
7ec296ff28
commit
b565543ec0
166 changed files with 6185 additions and 7400 deletions
|
@ -107,7 +107,7 @@
|
||||||
logoImgBase64 = resp;
|
logoImgBase64 = resp;
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>admin/customize_settings_nativeUpdate.json.php',
|
url: webSiteRootURL+'admin/customize_settings_nativeUpdate.json.php',
|
||||||
data: {
|
data: {
|
||||||
"logoImgBase64": logoImgBase64,
|
"logoImgBase64": logoImgBase64,
|
||||||
"webSiteTitle": $('#inputWebSiteTitle').val(),
|
"webSiteTitle": $('#inputWebSiteTitle').val(),
|
||||||
|
|
|
@ -95,27 +95,27 @@ $delay = 0.5;
|
||||||
|
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "a06505bf-3570-4b1f-977a-fd0e5cab205d", "name": "Gallery", "dir": "Gallery", "enable": false},
|
data: {"uuid": "a06505bf-3570-4b1f-977a-fd0e5cab205d", "name": "Gallery", "dir": "Gallery", "enable": false},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "e3a568e6-ef61-4dcc-aad0-0109e9be8e36", "name": "YouPHPFlix2", "dir": "YouPHPFlix2", "enable": false},
|
data: {"uuid": "e3a568e6-ef61-4dcc-aad0-0109e9be8e36", "name": "YouPHPFlix2", "dir": "YouPHPFlix2", "enable": false},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "youu05bf-3570-4b1f-977a-fd0e5cabtube", "name": "YouTube", "dir": "YouTube", "enable": false},
|
data: {"uuid": "youu05bf-3570-4b1f-977a-fd0e5cabtube", "name": "YouTube", "dir": "YouTube", "enable": false},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "channel-first-page-977a-fd0e5cab205d", "name": "FirstPageChannelList", "dir": "FirstPageChannelList", "enable": false},
|
data: {"uuid": "channel-first-page-977a-fd0e5cab205d", "name": "FirstPageChannelList", "dir": "FirstPageChannelList", "enable": false},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>admin/themeUpdate.json.php',
|
url: webSiteRootURL+'admin/themeUpdate.json.php',
|
||||||
data: {"theme": 'default'},
|
data: {"theme": 'default'},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -142,27 +142,27 @@ $delay = 0.5;
|
||||||
|
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "a06505bf-3570-4b1f-977a-fd0e5cab205d", "name": "Gallery", "dir": "Gallery", "enable": false},
|
data: {"uuid": "a06505bf-3570-4b1f-977a-fd0e5cab205d", "name": "Gallery", "dir": "Gallery", "enable": false},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "youu05bf-3570-4b1f-977a-fd0e5cabtube", "name": "YouTube", "dir": "YouTube", "enable": false},
|
data: {"uuid": "youu05bf-3570-4b1f-977a-fd0e5cabtube", "name": "YouTube", "dir": "YouTube", "enable": false},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "e3a568e6-ef61-4dcc-aad0-0109e9be8e36", "name": "YouPHPFlix2", "dir": "YouPHPFlix2", "enable": true},
|
data: {"uuid": "e3a568e6-ef61-4dcc-aad0-0109e9be8e36", "name": "YouPHPFlix2", "dir": "YouPHPFlix2", "enable": true},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "channel-first-page-977a-fd0e5cab205d", "name": "FirstPageChannelList", "dir": "FirstPageChannelList", "enable": false},
|
data: {"uuid": "channel-first-page-977a-fd0e5cab205d", "name": "FirstPageChannelList", "dir": "FirstPageChannelList", "enable": false},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>admin/themeUpdate.json.php',
|
url: webSiteRootURL+'admin/themeUpdate.json.php',
|
||||||
data: {"theme": 'netflix'},
|
data: {"theme": 'netflix'},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -189,27 +189,27 @@ $delay = 0.5;
|
||||||
|
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "a06505bf-3570-4b1f-977a-fd0e5cab205d", "name": "Gallery", "dir": "Gallery", "enable": true},
|
data: {"uuid": "a06505bf-3570-4b1f-977a-fd0e5cab205d", "name": "Gallery", "dir": "Gallery", "enable": true},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "youu05bf-3570-4b1f-977a-fd0e5cabtube", "name": "YouTube", "dir": "YouTube", "enable": false},
|
data: {"uuid": "youu05bf-3570-4b1f-977a-fd0e5cabtube", "name": "YouTube", "dir": "YouTube", "enable": false},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "e3a568e6-ef61-4dcc-aad0-0109e9be8e36", "name": "YouPHPFlix2", "dir": "YouPHPFlix2", "enable": false},
|
data: {"uuid": "e3a568e6-ef61-4dcc-aad0-0109e9be8e36", "name": "YouPHPFlix2", "dir": "YouPHPFlix2", "enable": false},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "channel-first-page-977a-fd0e5cab205d", "name": "FirstPageChannelList", "dir": "FirstPageChannelList", "enable": false},
|
data: {"uuid": "channel-first-page-977a-fd0e5cab205d", "name": "FirstPageChannelList", "dir": "FirstPageChannelList", "enable": false},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>admin/themeUpdate.json.php',
|
url: webSiteRootURL+'admin/themeUpdate.json.php',
|
||||||
data: {"theme": 'default'},
|
data: {"theme": 'default'},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -236,27 +236,27 @@ $delay = 0.5;
|
||||||
|
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "a06505bf-3570-4b1f-977a-fd0e5cab205d", "name": "Gallery", "dir": "Gallery", "enable": false},
|
data: {"uuid": "a06505bf-3570-4b1f-977a-fd0e5cab205d", "name": "Gallery", "dir": "Gallery", "enable": false},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "e3a568e6-ef61-4dcc-aad0-0109e9be8e36", "name": "YouPHPFlix2", "dir": "YouPHPFlix2", "enable": false},
|
data: {"uuid": "e3a568e6-ef61-4dcc-aad0-0109e9be8e36", "name": "YouPHPFlix2", "dir": "YouPHPFlix2", "enable": false},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "youu05bf-3570-4b1f-977a-fd0e5cabtube", "name": "YouTube", "dir": "YouTube", "enable": true},
|
data: {"uuid": "youu05bf-3570-4b1f-977a-fd0e5cabtube", "name": "YouTube", "dir": "YouTube", "enable": true},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "channel-first-page-977a-fd0e5cab205d", "name": "FirstPageChannelList", "dir": "FirstPageChannelList", "enable": false},
|
data: {"uuid": "channel-first-page-977a-fd0e5cab205d", "name": "FirstPageChannelList", "dir": "FirstPageChannelList", "enable": false},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>admin/themeUpdate.json.php',
|
url: webSiteRootURL+'admin/themeUpdate.json.php',
|
||||||
data: {"theme": 'default'},
|
data: {"theme": 'default'},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -285,27 +285,27 @@ $delay = 0.5;
|
||||||
|
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "a06505bf-3570-4b1f-977a-fd0e5cab205d", "name": "Gallery", "dir": "Gallery", "enable": false},
|
data: {"uuid": "a06505bf-3570-4b1f-977a-fd0e5cab205d", "name": "Gallery", "dir": "Gallery", "enable": false},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "e3a568e6-ef61-4dcc-aad0-0109e9be8e36", "name": "YouPHPFlix2", "dir": "YouPHPFlix2", "enable": false},
|
data: {"uuid": "e3a568e6-ef61-4dcc-aad0-0109e9be8e36", "name": "YouPHPFlix2", "dir": "YouPHPFlix2", "enable": false},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "youu05bf-3570-4b1f-977a-fd0e5cabtube", "name": "YouTube", "dir": "YouTube", "enable": false},
|
data: {"uuid": "youu05bf-3570-4b1f-977a-fd0e5cabtube", "name": "YouTube", "dir": "YouTube", "enable": false},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "channel-first-page-977a-fd0e5cab205d", "name": "FirstPageChannelList", "dir": "FirstPageChannelList", "enable": true},
|
data: {"uuid": "channel-first-page-977a-fd0e5cab205d", "name": "FirstPageChannelList", "dir": "FirstPageChannelList", "enable": true},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>admin/themeUpdate.json.php',
|
url: webSiteRootURL+'admin/themeUpdate.json.php',
|
||||||
data: {"theme": 'default'},
|
data: {"theme": 'default'},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -53,12 +53,12 @@ $delay = 0.2;
|
||||||
$('.playerSwitch').not(this).prop('checked', false);
|
$('.playerSwitch').not(this).prop('checked', false);
|
||||||
var skin = $(this).val();
|
var skin = $(this).val();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "e9a568e6-ef61-4dcc-aad0-0109e9be8e36", "name": "PlayerSkins", "dir": "PlayerSkins", "enable": true},
|
data: {"uuid": "e9a568e6-ef61-4dcc-aad0-0109e9be8e36", "name": "PlayerSkins", "dir": "PlayerSkins", "enable": true},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>admin/playerUpdate.json.php',
|
url: webSiteRootURL+'admin/playerUpdate.json.php',
|
||||||
data: {"skin": skin},
|
data: {"skin": skin},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$('.themeSwitch').not(this).prop('checked', false);
|
$('.themeSwitch').not(this).prop('checked', false);
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>admin/themeUpdate.json.php',
|
url: webSiteRootURL+'admin/themeUpdate.json.php',
|
||||||
data: {"theme": $(this).val()},
|
data: {"theme": $(this).val()},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -358,7 +358,7 @@ switch ($_GET['page']) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>admin/save.json.php',
|
url: webSiteRootURL+'admin/save.json.php',
|
||||||
data: $(this).serialize(),
|
data: $(this).serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -369,7 +369,7 @@ switch ($_GET['page']) {
|
||||||
$('.pluginSwitch').change(function (e) {
|
$('.pluginSwitch').change(function (e) {
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": $(this).attr('uuid'), "name": $(this).attr('name'), "dir": $(this).attr('name'), "enable": $(this).is(":checked")},
|
data: {"uuid": $(this).attr('uuid'), "name": $(this).attr('name'), "dir": $(this).attr('name'), "enable": $(this).is(":checked")},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$("#emailMessage").val(tinymce.get('emailMessage').getContent());
|
$("#emailMessage").val(tinymce.get('emailMessage').getContent());
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/emailAllUsers.json.php',
|
url: webSiteRootURL+'objects/emailAllUsers.json.php',
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
data: {
|
data: {
|
||||||
'message': $('#emailMessage').val(),
|
'message': $('#emailMessage').val(),
|
||||||
|
|
322
locale/index.php
322
locale/index.php
|
@ -8,17 +8,17 @@ if (isset($_GET['getLanguage'])) {
|
||||||
|
|
||||||
require_once($lngFile);
|
require_once($lngFile);
|
||||||
foreach ($t as $key => $value) {
|
foreach ($t as $key => $value) {
|
||||||
if(empty($value)){
|
if (empty($value)) {
|
||||||
$t[$key] = $key;
|
$t[$key] = $key;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!empty($_REQUEST['print'])){
|
if (!empty($_REQUEST['print'])) {
|
||||||
header('Content-Type: text/plain');
|
header('Content-Type: text/plain');
|
||||||
foreach ($t as $key => $value) {
|
foreach ($t as $key => $value) {
|
||||||
echo $value.PHP_EOL;
|
echo $value . PHP_EOL;
|
||||||
}
|
}
|
||||||
}else{
|
} else {
|
||||||
header('Content-Type: application/json');
|
header('Content-Type: application/json');
|
||||||
echo json_encode($t);
|
echo json_encode($t);
|
||||||
}
|
}
|
||||||
|
@ -34,178 +34,162 @@ if (!User::isAdmin() || !empty($global['disableAdvancedConfigurations'])) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$vars = listAllWordsToTranslate();
|
$vars = listAllWordsToTranslate();
|
||||||
|
$_page = new Page(array('Translate AVideo'));
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<style type="text/css">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
textarea.form-control {
|
||||||
<head>
|
height: 100% !important;
|
||||||
<?php
|
}
|
||||||
echo getHTMLTitle(__("Translate AVideo"));
|
</style>
|
||||||
?>
|
<div class="container-fluid">
|
||||||
<?php
|
<br>
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
<div class="panel panel-default">
|
||||||
?>
|
<div class="panel-heading">
|
||||||
<style type="text/css">
|
<div class="row">
|
||||||
textarea.form-control {
|
<div class="col-sm-8">
|
||||||
height: 100% !important;
|
<button class="btn btn-success btn-block " id="btnSaveFile" disabled><i class="fas fa-save"></i> <?php echo __("Save File"); ?></button>
|
||||||
}
|
</div>
|
||||||
</style>
|
<div class="col-sm-4">
|
||||||
</head>
|
<div class="navbar-lang-btn">
|
||||||
|
<?php
|
||||||
|
if ($lang == 'en') {
|
||||||
|
$lang = 'en_US';
|
||||||
|
}
|
||||||
|
echo Layout::getLangsSelect('selectFlag', $lang, 'selectFlag', 'btn-block', true);
|
||||||
|
//var_dump($lang);exit;
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
$(function() {
|
||||||
|
$("#div_selectFlag a").click(function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
var value = $(this).attr('value');
|
||||||
|
var tb1 = $('#originalWords');
|
||||||
|
var tb2 = $('#translatedCode');
|
||||||
|
var tb3 = $('#arrayCode');
|
||||||
|
console.log('Changed language');
|
||||||
|
console.log(value);
|
||||||
|
$.ajax({
|
||||||
|
url: 'index.php?getLanguage=' + value,
|
||||||
|
dataType: 'json'
|
||||||
|
}).done(function(data) {
|
||||||
|
console.log("Found existing translation!");
|
||||||
|
var arrayOfLines = $('#originalWords').val().split('\n');
|
||||||
|
$('#translatedCode').empty();
|
||||||
|
$.each(arrayOfLines, function(index, item) {
|
||||||
|
if (data.hasOwnProperty(item)) {
|
||||||
|
$('#translatedCode').append(data[item] + '\n');
|
||||||
|
} else {
|
||||||
|
$('#translatedCode').append('\n');
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$('#translatedCode').trigger('keyup');
|
||||||
|
tb1.scroll(function() {
|
||||||
|
tb2.scrollTop(tb1.scrollTop());
|
||||||
|
});
|
||||||
|
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
tb2.scroll(function() {
|
||||||
<?php
|
tb3.scrollTop(tb2.scrollTop());
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
});
|
||||||
?>
|
}).fail(function() {
|
||||||
<div class="container-fluid">
|
console.log("New translation");
|
||||||
<br>
|
tb1.scroll(function() {
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<button class="btn btn-success btn-block " id="btnSaveFile" disabled><i class="fas fa-save"></i> <?php echo __("Save File"); ?></button>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-4">
|
|
||||||
<div class="navbar-lang-btn">
|
|
||||||
<?php
|
|
||||||
if ($lang == 'en') {
|
|
||||||
$lang = 'en_US';
|
|
||||||
}
|
|
||||||
echo Layout::getLangsSelect('selectFlag', $lang, 'selectFlag', 'btn-block', true);
|
|
||||||
//var_dump($lang);exit;
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
$(function () {
|
|
||||||
$("#div_selectFlag a").click(function (event) {
|
|
||||||
event.preventDefault();
|
|
||||||
var value = $(this).attr('value');
|
|
||||||
var tb1 = $('#originalWords');
|
|
||||||
var tb2 = $('#translatedCode');
|
|
||||||
var tb3 = $('#arrayCode');
|
|
||||||
console.log('Changed language');
|
|
||||||
console.log(value);
|
|
||||||
$.ajax({
|
|
||||||
url: 'index.php?getLanguage=' + value,
|
|
||||||
dataType: 'json'
|
|
||||||
}).done(function (data) {
|
|
||||||
console.log("Found existing translation!");
|
|
||||||
var arrayOfLines = $('#originalWords').val().split('\n');
|
|
||||||
$('#translatedCode').empty();
|
|
||||||
$.each(arrayOfLines, function (index, item) {
|
|
||||||
if (data.hasOwnProperty(item)) {
|
|
||||||
$('#translatedCode').append(data[item] + '\n');
|
|
||||||
} else {
|
|
||||||
$('#translatedCode').append('\n');
|
|
||||||
}
|
|
||||||
});
|
|
||||||
$('#translatedCode').trigger('keyup');
|
|
||||||
tb1.scroll(function () {
|
|
||||||
tb2.scrollTop(tb1.scrollTop());
|
|
||||||
});
|
|
||||||
|
|
||||||
tb2.scroll(function () {
|
|
||||||
tb3.scrollTop(tb2.scrollTop());
|
|
||||||
});
|
|
||||||
}).fail(function () {
|
|
||||||
console.log("New translation");
|
|
||||||
tb1.scroll(function () {
|
|
||||||
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
});
|
||||||
</div>
|
});
|
||||||
</div>
|
</script>
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-lg-4 col-md-12">
|
|
||||||
<h3><?php echo __("Original words found"); ?></h3>
|
|
||||||
<textarea placeholder="<?php echo __("Original words found"); ?>" class="form-control" rows="20" readonly="readonly" id="originalWords" wrap="off"><?php
|
|
||||||
foreach ($vars as $value) {
|
|
||||||
echo $value, "\n";
|
|
||||||
}
|
|
||||||
?></textarea>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-4 col-md-12">
|
|
||||||
<h3><?php echo __("Word Translations"); ?></h3>
|
|
||||||
<textarea placeholder="<?php echo __("Paste here the translated words, one each line"); ?>" class="form-control" id="translatedCode" rows="20" wrap="off"></textarea>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-4 col-md-12">
|
|
||||||
<h3><?php echo __("Translated Array"); ?></h3>
|
|
||||||
|
|
||||||
<textarea placeholder="<?php echo __("Translated Array"); ?>" class="form-control" id="arrayCode" rows="20" readonly="readonly"
|
|
||||||
style="white-space: pre;overflow-wrap: normal;overflow-x: scroll;"
|
|
||||||
></textarea>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
$dir = "{$global['systemRootPath']}locale";
|
|
||||||
if (!is_writable($dir)) {
|
|
||||||
?>
|
|
||||||
<div class="alert alert-info">
|
|
||||||
<?php echo __("You need to make your locale folder writable"); ?>
|
|
||||||
<pre><code>chown www-data:www-data <?php echo $global['systemRootPath']; ?>locale && sudo chmod -R 755 <?php echo $global['systemRootPath']; ?>locale</code></pre>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<div class="alert alert-info">
|
|
||||||
<?php echo count($vars) . ' words found'; ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div><!--/.container-->
|
|
||||||
<?php
|
</div>
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
<div class="panel-body">
|
||||||
?>
|
|
||||||
<script>
|
<div class="row">
|
||||||
var arrayLocale = <?php echo json_encode(array_values($vars)); ?>;
|
<div class="col-lg-4 col-md-12">
|
||||||
$(document).ready(function () {
|
<h3><?php echo __("Original words found"); ?></h3>
|
||||||
$('#translatedCode').keyup(function () {
|
<textarea placeholder="<?php echo __("Original words found"); ?>" class="form-control" rows="20" readonly="readonly" id="originalWords" wrap="off"><?php
|
||||||
var lines = $(this).val().split('\n');
|
foreach ($vars as $value) {
|
||||||
console.log(lines);
|
echo $value, "\n";
|
||||||
if (lines.length > 0 && !(lines.length == 1 && lines[0] === "")) {
|
}
|
||||||
var str = "";
|
?></textarea>
|
||||||
for (var i = 0; i < lines.length; i++) {
|
</div>
|
||||||
if (typeof arrayLocale[i] == "undefined") {
|
<div class="col-lg-4 col-md-12">
|
||||||
break;
|
<h3><?php echo __("Word Translations"); ?></h3>
|
||||||
}
|
<textarea placeholder="<?php echo __("Paste here the translated words, one each line"); ?>" class="form-control" id="translatedCode" rows="20" wrap="off"></textarea>
|
||||||
var key = arrayLocale[i].replace(/'/g, "\\'");
|
</div>
|
||||||
str += "$t['" + key + "'] = \"" + lines[i] + "\";\n";
|
<div class="col-lg-4 col-md-12">
|
||||||
}
|
<h3><?php echo __("Translated Array"); ?></h3>
|
||||||
$('#arrayCode').val(str);
|
|
||||||
$('button').prop('disabled', false);
|
<textarea placeholder="<?php echo __("Translated Array"); ?>" class="form-control" id="arrayCode" rows="20" readonly="readonly" style="white-space: pre;overflow-wrap: normal;overflow-x: scroll;"></textarea>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
$dir = "{$global['systemRootPath']}locale";
|
||||||
|
if (!is_writable($dir)) {
|
||||||
|
?>
|
||||||
|
<div class="alert alert-info">
|
||||||
|
<?php echo __("You need to make your locale folder writable"); ?>
|
||||||
|
<pre><code>chown www-data:www-data <?php echo $global['systemRootPath']; ?>locale && sudo chmod -R 755 <?php echo $global['systemRootPath']; ?>locale</code></pre>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<div class="alert alert-info">
|
||||||
|
<?php echo count($vars) . ' words found'; ?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
var arrayLocale = <?php echo json_encode(array_values($vars)); ?>;
|
||||||
|
$(document).ready(function() {
|
||||||
|
$('#translatedCode').keyup(function() {
|
||||||
|
var lines = $(this).val().split('\n');
|
||||||
|
console.log(lines);
|
||||||
|
if (lines.length > 0 && !(lines.length == 1 && lines[0] === "")) {
|
||||||
|
var str = "";
|
||||||
|
for (var i = 0; i < lines.length; i++) {
|
||||||
|
if (typeof arrayLocale[i] == "undefined") {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
var key = arrayLocale[i].replace(/'/g, "\\'");
|
||||||
|
str += "$t['" + key + "'] = \"" + lines[i] + "\";\n";
|
||||||
|
}
|
||||||
|
$('#arrayCode').val(str);
|
||||||
|
$('button').prop('disabled', false);
|
||||||
|
} else {
|
||||||
|
$('#arrayCode').val("");
|
||||||
|
$('button').prop('disabled', true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#btnSaveFile').click(function() {
|
||||||
|
if ($('#btnSaveFile').is(":disabled")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
modal.showPleaseWait();
|
||||||
|
$.ajax({
|
||||||
|
url: 'save.php',
|
||||||
|
data: {
|
||||||
|
"flag": $("#selectFlag").val(),
|
||||||
|
"code": $('#arrayCode').val()
|
||||||
|
},
|
||||||
|
type: 'post',
|
||||||
|
success: function(response) {
|
||||||
|
if (response.status === "1") {
|
||||||
|
avideoAlert("<?php echo __("Congratulations!"); ?>", "<?php echo __("Your language has been saved!"); ?>", "success");
|
||||||
} else {
|
} else {
|
||||||
$('#arrayCode').val("");
|
avideoAlert("<?php echo __("Sorry!"); ?>", response.error, "error");
|
||||||
$('button').prop('disabled', true);
|
|
||||||
}
|
}
|
||||||
});
|
modal.hidePleaseWait();
|
||||||
|
}
|
||||||
$('#btnSaveFile').click(function () {
|
|
||||||
if ($('#btnSaveFile').is(":disabled")) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
modal.showPleaseWait();
|
|
||||||
$.ajax({
|
|
||||||
url: 'save.php',
|
|
||||||
data: {"flag": $("#selectFlag").val(), "code": $('#arrayCode').val()},
|
|
||||||
type: 'post',
|
|
||||||
success: function (response) {
|
|
||||||
if (response.status === "1") {
|
|
||||||
avideoAlert("<?php echo __("Congratulations!"); ?>", "<?php echo __("Your language has been saved!"); ?>", "success");
|
|
||||||
} else {
|
|
||||||
avideoAlert("<?php echo __("Sorry!"); ?>", response.error, "error");
|
|
||||||
}
|
|
||||||
modal.hidePleaseWait();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
});
|
||||||
</script>
|
});
|
||||||
</body>
|
</script>
|
||||||
</html>
|
<?php
|
||||||
|
$_page->print();
|
||||||
|
?>
|
117
objects/Page.php
117
objects/Page.php
|
@ -1,6 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class Page {
|
class Page
|
||||||
|
{
|
||||||
|
|
||||||
private $title;
|
private $title;
|
||||||
private $bodyClass = '';
|
private $bodyClass = '';
|
||||||
|
@ -11,78 +12,117 @@ class Page {
|
||||||
private $bodyContent = '';
|
private $bodyContent = '';
|
||||||
private $includeNavbar = true;
|
private $includeNavbar = true;
|
||||||
private $includeFooter = true;
|
private $includeFooter = true;
|
||||||
|
private $includeBGAnimation = false;
|
||||||
private $includeInHead = array();
|
private $includeInHead = array();
|
||||||
private $includeInFooter = array();
|
private $includeInFooter = array();
|
||||||
|
|
||||||
public function __construct($title, $bodyClass='') {
|
public function __construct($title, $bodyClass = '', $loadBasicCSSAndJS = false)
|
||||||
|
{
|
||||||
$this->title = $title;
|
$this->title = $title;
|
||||||
$this->bodyClass = $bodyClass;
|
$this->bodyClass = $bodyClass;
|
||||||
_ob_start();
|
_ob_start();
|
||||||
|
if ($loadBasicCSSAndJS) {
|
||||||
|
$this->loadBasicCSSAndJS();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setTitle(string $title) {
|
public function loadBasicCSSAndJS()
|
||||||
|
{
|
||||||
|
$this->setExtraScripts(
|
||||||
|
array(
|
||||||
|
'view/css/DataTables/datatables.min.js',
|
||||||
|
'view/js/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
$this->setExtraStyles(
|
||||||
|
array(
|
||||||
|
'view/css/DataTables/datatables.min.css',
|
||||||
|
'view/js/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setTitle(string $title)
|
||||||
|
{
|
||||||
$this->title = $title;
|
$this->title = $title;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setBodyClass(string $bodyClass) {
|
public function setBodyClass(string $bodyClass)
|
||||||
|
{
|
||||||
$this->bodyClass = $bodyClass;
|
$this->bodyClass = $bodyClass;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setExtraScripts(array $extraScripts) {
|
public function setExtraScripts(array $extraScripts)
|
||||||
|
{
|
||||||
$this->extraScripts = $extraScripts;
|
$this->extraScripts = $extraScripts;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setExtraStyles(array $extraStyles) {
|
public function setExtraStyles(array $extraStyles)
|
||||||
|
{
|
||||||
$this->extraStyles = $extraStyles;
|
$this->extraStyles = $extraStyles;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setInlineStyles(string $inlineStyles) {
|
public function setInlineStyles(string $inlineStyles)
|
||||||
|
{
|
||||||
$this->inlineStyles = $inlineStyles;
|
$this->inlineStyles = $inlineStyles;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setInlineScripts(string $inlineScripts) {
|
public function setInlineScripts(string $inlineScripts)
|
||||||
|
{
|
||||||
$this->inlineScripts = $inlineScripts;
|
$this->inlineScripts = $inlineScripts;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setBodyContent(string $bodyContent) {
|
public function setBodyContent(string $bodyContent)
|
||||||
|
{
|
||||||
$this->bodyContent = $bodyContent;
|
$this->bodyContent = $bodyContent;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setIncludeNavbar(bool $includeNavbar) {
|
public function setIncludeNavbar(bool $includeNavbar)
|
||||||
|
{
|
||||||
$this->includeNavbar = $includeNavbar;
|
$this->includeNavbar = $includeNavbar;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setIncludeFooter(bool $includeFooter) {
|
public function setIncludeFooter(bool $includeFooter)
|
||||||
|
{
|
||||||
$this->includeFooter = $includeFooter;
|
$this->includeFooter = $includeFooter;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setIncludeInHead(array $includeInHead) {
|
public function setIncludeInHead(array $includeInHead)
|
||||||
|
{
|
||||||
$this->includeInHead = $includeInHead;
|
$this->includeInHead = $includeInHead;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setIncludeInFooter(array $includeInFooter) {
|
public function setIncludeInFooter(array $includeInFooter)
|
||||||
|
{
|
||||||
$this->includeInFooter = $includeInFooter;
|
$this->includeInFooter = $includeInFooter;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getHead() {
|
public function setIncludeBGAnimation(bool $includeBGAnimation)
|
||||||
|
{
|
||||||
|
$this->includeBGAnimation = $includeBGAnimation;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getHead()
|
||||||
|
{
|
||||||
global $config, $global;
|
global $config, $global;
|
||||||
if(!is_array($this->title)){
|
if (!is_array($this->title)) {
|
||||||
$this->title = array($this->title);
|
$this->title = array($this->title);
|
||||||
}
|
}
|
||||||
foreach ($this->title as $key => $value) {
|
foreach ($this->title as $key => $value) {
|
||||||
$this->title[$key] = __($value);
|
$this->title[$key] = __($value);
|
||||||
}
|
}
|
||||||
echo "<head>";
|
echo "<head>";
|
||||||
echo "<title>" . implode($config->getPageTitleSeparator(), $this->title) . getSEOComplement() . $config->getPageTitleSeparator() . $config->getWebSiteTitle() . "</title>";
|
echo getHTMLTitle($this->title);
|
||||||
|
//echo "<title>" . implode($config->getPageTitleSeparator(), $this->title) . getSEOComplement() . $config->getPageTitleSeparator() . $config->getWebSiteTitle() . "</title>";
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
include $global['systemRootPath'] . 'view/include/head.php';
|
||||||
if(!empty($this->includeInHead)){
|
if (!empty($this->includeInHead)) {
|
||||||
foreach ($this->includeInHead as $value) {
|
foreach ($this->includeInHead as $value) {
|
||||||
include $global['systemRootPath'] . $value;
|
include $global['systemRootPath'] . $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!empty($this->extraStyles)){
|
if (!empty($this->extraStyles)) {
|
||||||
foreach ($this->extraStyles as $style) {
|
foreach ($this->extraStyles as $style) {
|
||||||
echo "<link href=\"" . $global['webSiteRootURL'].$style . "\" rel=\"stylesheet\" type=\"text/css\" />";
|
echo "<link href=\"" . $global['webSiteRootURL'] . $style . "\" rel=\"stylesheet\" type=\"text/css\" />";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -92,28 +132,37 @@ class Page {
|
||||||
echo "</head>";
|
echo "</head>";
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getNavBar() {
|
public function getNavBar()
|
||||||
|
{
|
||||||
global $global;
|
global $global;
|
||||||
|
if($this->includeBGAnimation){
|
||||||
|
CustomizeUser::autoIncludeBGAnimationFile();
|
||||||
|
}
|
||||||
|
$redirectUri = getRedirectUri();
|
||||||
|
if (stripos($redirectUri, "embed/") !== false) {
|
||||||
|
$this->includeNavbar = false;
|
||||||
|
}
|
||||||
if ($this->includeNavbar) {
|
if ($this->includeNavbar) {
|
||||||
// Your navbar HTML
|
// Your navbar HTML
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
include $global['systemRootPath'] . 'view/include/navbar.php';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getFooter() {
|
public function getFooter()
|
||||||
|
{
|
||||||
global $config, $global;
|
global $config, $global;
|
||||||
if ($this->includeFooter) {
|
if ($this->includeFooter) {
|
||||||
// Your footer HTML
|
// Your footer HTML
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
include $global['systemRootPath'] . 'view/include/footer.php';
|
||||||
}
|
}
|
||||||
if(!empty($this->includeInFooter)){
|
if (!empty($this->includeInFooter)) {
|
||||||
foreach ($this->includeInFooter as $value) {
|
foreach ($this->includeInFooter as $value) {
|
||||||
include $global['systemRootPath'] . $value;
|
include $global['systemRootPath'] . $value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(!empty($this->extraScripts)){
|
if (!empty($this->extraScripts)) {
|
||||||
foreach ($this->extraScripts as $script) {
|
foreach ($this->extraScripts as $script) {
|
||||||
echo "<script src=\"" . $global['webSiteRootURL'].$script . "\" type=\"text/javascript\"></script>";
|
echo "<script src=\"" . $global['webSiteRootURL'] . $script . "\" type=\"text/javascript\"></script>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!empty($this->inlineScripts)) {
|
if (!empty($this->inlineScripts)) {
|
||||||
|
@ -121,7 +170,8 @@ class Page {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getContent() {
|
public function getContent()
|
||||||
|
{
|
||||||
global $global;
|
global $global;
|
||||||
$rtl = '';
|
$rtl = '';
|
||||||
if (isRTL()) {
|
if (isRTL()) {
|
||||||
|
@ -131,29 +181,30 @@ class Page {
|
||||||
$this->getNavBar();
|
$this->getNavBar();
|
||||||
//echo '<div id="_avideoPageContentLoading" class="progress"><div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%"><span class="sr-only">Loading...</span></div></div>';
|
//echo '<div id="_avideoPageContentLoading" class="progress"><div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%"><span class="sr-only">Loading...</span></div></div>';
|
||||||
//echo '<div id="_avideoPageContent">';
|
//echo '<div id="_avideoPageContent">';
|
||||||
echo $this->bodyContent;
|
echo $this->bodyContent;
|
||||||
//echo '</div>';
|
//echo '</div>';
|
||||||
$this->getFooter();
|
$this->getFooter();
|
||||||
echo "</body>";
|
echo "</body>";
|
||||||
}
|
}
|
||||||
|
|
||||||
public function getPage() {
|
public function getPage()
|
||||||
|
{
|
||||||
echo "<!DOCTYPE html>";
|
echo "<!DOCTYPE html>";
|
||||||
echo "<html lang=\"" . getLanguage() . "\">";
|
echo "<html lang=\"" . getLanguage() . "\">";
|
||||||
$this->getHead();
|
$this->getHead();
|
||||||
$this->getContent();
|
$this->getContent();
|
||||||
echo "</html>";
|
echo "</html>";
|
||||||
}
|
}
|
||||||
|
|
||||||
public function print($include_end = true){
|
public function print($include_end = true)
|
||||||
|
{
|
||||||
global $config, $global;
|
global $config, $global;
|
||||||
$html = _ob_get_clean();
|
$html = _ob_get_clean();
|
||||||
_ob_start();
|
_ob_start();
|
||||||
$this->bodyContent = $html;
|
$this->bodyContent = $html;
|
||||||
$this->getPage();
|
$this->getPage();
|
||||||
if($include_end){
|
if ($include_end) {
|
||||||
include $global['systemRootPath'].'objects/include_end.php';
|
include $global['systemRootPath'] . 'objects/include_end.php';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,7 +8,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once $global['systemRootPath'] . 'objects/user.php';
|
require_once $global['systemRootPath'] . 'objects/user.php';
|
||||||
|
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5488,9 +5488,16 @@ function getHTMLTitle($titleArray)
|
||||||
if (!is_array($titleArray)) {
|
if (!is_array($titleArray)) {
|
||||||
$titleArray = [];
|
$titleArray = [];
|
||||||
}
|
}
|
||||||
|
$titleArray[] = getSEOComplement();
|
||||||
$titleArray[] = $config->getWebSiteTitle();
|
$titleArray[] = $config->getWebSiteTitle();
|
||||||
|
$cleanTitleArray = array();
|
||||||
$title = implode($config->getPageTitleSeparator(), $titleArray);
|
foreach ($titleArray as $value) {
|
||||||
|
if(!empty($value) && !in_array($value, $cleanTitleArray)){
|
||||||
|
$cleanTitleArray[] = $value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$title = implode($config->getPageTitleSeparator(), $cleanTitleArray);
|
||||||
$global['pageTitle'] = $title;
|
$global['pageTitle'] = $title;
|
||||||
return "<title>{$title}</title>";
|
return "<title>{$title}</title>";
|
||||||
}
|
}
|
||||||
|
|
|
@ -133,7 +133,7 @@ if (!(!empty($_REQUEST['user']) && !empty($_REQUEST['recoverpass']))) {
|
||||||
evt.preventDefault();
|
evt.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/userRecoverPassSave.json.php',
|
url: webSiteRootURL+'objects/userRecoverPassSave.json.php',
|
||||||
data: $('#recoverPassForm').serializeArray(),
|
data: $('#recoverPassForm').serializeArray(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
ad_overlay_users_id = users_id;
|
ad_overlay_users_id = users_id;
|
||||||
$('#adsFormModal').modal();
|
$('#adsFormModal').modal();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/AD_Overlay/getCode.json.php?users_id=' + users_id,
|
url: webSiteRootURL+'plugin/AD_Overlay/getCode.json.php?users_id=' + users_id,
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$( "#addOverlayCode" ).text(response.msg);
|
$( "#addOverlayCode" ).text(response.msg);
|
||||||
if(response.status == 'a'){
|
if(response.status == 'a'){
|
||||||
|
|
|
@ -10,7 +10,7 @@ $ad->loadFromUser(User::getId());
|
||||||
AD Code
|
AD Code
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<textarea class="form-control" rows="10" id="addOverlayCode"><?php echo $ad->getCode(); ?></textarea>
|
<textarea class="form-control" rows="10" id="addOverlayCode"><?php echo htmlentities($ad->getCode()); ?></textarea>
|
||||||
<button class="btn btn-success btn-block" type="button" onclick="saveCode()"><?php echo __("Save Ad Code") ?></button>
|
<button class="btn btn-success btn-block" type="button" onclick="saveCode()"><?php echo __("Save Ad Code") ?></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -287,7 +287,7 @@ if (!User::isAdmin()) {
|
||||||
$(".pluginSwitch").on("change", function (e) {
|
$(".pluginSwitch").on("change", function (e) {
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>objects/pluginSwitch.json.php',
|
url: webSiteRootURL+'objects/pluginSwitch.json.php',
|
||||||
data: {"uuid": "3f2a707f-3c06-4b78-90f9-a22f2fda92ef", "name": "AD_Server", "dir": "AD_Server", "enable": $('#enable1').is(":checked")},
|
data: {"uuid": "3f2a707f-3c06-4b78-90f9-a22f2fda92ef", "name": "AD_Server", "dir": "AD_Server", "enable": $('#enable1').is(":checked")},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -300,7 +300,7 @@ if (!User::isAdmin()) {
|
||||||
minLength: 0,
|
minLength: 0,
|
||||||
source: function (req, res) {
|
source: function (req, res) {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>videos.json',
|
url: webSiteRootURL+'videos.json',
|
||||||
type: "POST",
|
type: "POST",
|
||||||
data: {
|
data: {
|
||||||
searchPhrase: req.term,
|
searchPhrase: req.term,
|
||||||
|
@ -481,7 +481,7 @@ if (!User::isAdmin()) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/AD_Server/view/addCampaign.php',
|
url: webSiteRootURL+'plugin/AD_Server/view/addCampaign.php',
|
||||||
data: $('#panelForm').serialize(),
|
data: $('#panelForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -51,7 +51,7 @@ $countries = IP2Location::getCountries();
|
||||||
$("#country").on("change", function (e) {
|
$("#country").on("change", function (e) {
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/User_Location/regions.json.php?country=' + $('#country').val(),
|
url: webSiteRootURL+'plugin/User_Location/regions.json.php?country=' + $('#country').val(),
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$('#region').empty();
|
$('#region').empty();
|
||||||
$('#region').append($("<option></option>").text('All'));
|
$('#region').append($("<option></option>").text('All'));
|
||||||
|
@ -68,7 +68,7 @@ $countries = IP2Location::getCountries();
|
||||||
$("#region").on("change", function (e) {
|
$("#region").on("change", function (e) {
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/User_Location/cities.json.php?country=' + $('#country').val() + '®ion=' + $('#region').val(),
|
url: webSiteRootURL+'plugin/User_Location/cities.json.php?country=' + $('#country').val() + '®ion=' + $('#region').val(),
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
$('#city').empty();
|
$('#city').empty();
|
||||||
$('#city').append($("<option></option>").text('All'));
|
$('#city').append($("<option></option>").text('All'));
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -170,7 +170,7 @@ $('#Ai_metatags_responsesai_responses_id').val('');
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$('#addAi_metatags_responsesBtn').click(function () {
|
$('#addAi_metatags_responsesBtn').click(function () {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/AI/View/addAi_metatags_responsesVideo.php',
|
url: webSiteRootURL+'plugin/AI/View/addAi_metatags_responsesVideo.php',
|
||||||
data: $('#panelAi_metatags_responsesForm').serialize(),
|
data: $('#panelAi_metatags_responsesForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -220,7 +220,7 @@ $('#Ai_metatags_responsesai_responses_id').val('');
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/AI/View/Ai_metatags_responses/add.json.php',
|
url: webSiteRootURL+'plugin/AI/View/Ai_metatags_responses/add.json.php',
|
||||||
data: $('#panelAi_metatags_responsesForm').serialize(),
|
data: $('#panelAi_metatags_responsesForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -94,7 +94,7 @@ $('#Ai_responsesvideos_id').val('');
|
||||||
$('#addAi_responsesBtn').click(function () {
|
$('#addAi_responsesBtn').click(function () {
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/AI/View/addAi_responsesVideo.php',
|
url: webSiteRootURL+'plugin/AI/View/addAi_responsesVideo.php',
|
||||||
data: $('#panelAi_responsesForm').serialize(),
|
data: $('#panelAi_responsesForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -133,7 +133,7 @@ $('#Ai_responsesvideos_id').val('');
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/AI/View/Ai_responses/add.json.php',
|
url: webSiteRootURL+'plugin/AI/View/Ai_responses/add.json.php',
|
||||||
data: $('#panelAi_responsesForm').serialize(),
|
data: $('#panelAi_responsesForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -138,7 +138,7 @@ $('#Ai_transcribe_responsesai_responses_id').val('');
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$('#addAi_transcribe_responsesBtn').click(function () {
|
$('#addAi_transcribe_responsesBtn').click(function () {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/AI/View/addAi_transcribe_responsesVideo.php',
|
url: webSiteRootURL+'plugin/AI/View/addAi_transcribe_responsesVideo.php',
|
||||||
data: $('#panelAi_transcribe_responsesForm').serialize(),
|
data: $('#panelAi_transcribe_responsesForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -183,7 +183,7 @@ $('#Ai_transcribe_responsesai_responses_id').val('');
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/AI/View/Ai_transcribe_responses/add.json.php',
|
url: webSiteRootURL+'plugin/AI/View/Ai_transcribe_responses/add.json.php',
|
||||||
data: $('#panelAi_transcribe_responsesForm').serialize(),
|
data: $('#panelAi_transcribe_responsesForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -13,134 +13,109 @@ if (empty($plugin)) {
|
||||||
forbiddenPage('API Plugin disabled');
|
forbiddenPage('API Plugin disabled');
|
||||||
}
|
}
|
||||||
$obj = AVideoPlugin::getObjectData("API");
|
$obj = AVideoPlugin::getObjectData("API");
|
||||||
?>
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
|
||||||
<head>
|
|
||||||
<?php
|
|
||||||
echo getHTMLTitle(__("API"));
|
|
||||||
?>
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
|
||||||
?>
|
|
||||||
<style>
|
|
||||||
pre a{
|
|
||||||
color: #333;
|
|
||||||
font-weight: bolder;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
|
|
||||||
$methodsList = array();
|
|
||||||
|
|
||||||
$reflector = new ReflectionClass('API');
|
$methodsList = array();
|
||||||
$class_methods = get_class_methods('API');
|
|
||||||
|
$reflector = new ReflectionClass('API');
|
||||||
|
$class_methods = get_class_methods('API');
|
||||||
|
foreach ($class_methods as $key => $method[0]) {
|
||||||
|
if (preg_match("/(get|set)_api_(.*)/", $method[0], $matches)) {
|
||||||
|
$methodsList[] = array($method[0], $reflector, $matches[1], $matches[2], '');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$plugins = Plugin::getAllEnabled();
|
||||||
|
foreach ($plugins as $value) {
|
||||||
|
$p = AVideoPlugin::loadPlugin($value['dirName']);
|
||||||
|
if (class_exists($value['dirName'])) {
|
||||||
|
$class_methods = get_class_methods($value['dirName']);
|
||||||
|
$reflector = new ReflectionClass($value['dirName']);
|
||||||
foreach ($class_methods as $key => $method[0]) {
|
foreach ($class_methods as $key => $method[0]) {
|
||||||
if (preg_match("/(get|set)_api_(.*)/", $method[0], $matches)) {
|
if (preg_match("/API_(get|set)_(.*)/", $method[0], $matches)) {
|
||||||
$methodsList[] = array($method[0], $reflector, $matches[1], $matches[2], '');
|
$methodsList[] = array($method[0], $reflector, $matches[1], $matches[2], $value['dirName']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$plugins = Plugin::getAllEnabled();
|
$_page = new Page(array('API'));
|
||||||
foreach ($plugins as $value) {
|
|
||||||
$p = AVideoPlugin::loadPlugin($value['dirName']);
|
|
||||||
if(class_exists($value['dirName'])){
|
|
||||||
$class_methods = get_class_methods($value['dirName']);
|
|
||||||
$reflector = new ReflectionClass($value['dirName']);
|
|
||||||
foreach ($class_methods as $key => $method[0]) {
|
|
||||||
if (preg_match("/API_(get|set)_(.*)/", $method[0], $matches)) {
|
|
||||||
$methodsList[] = array($method[0], $reflector, $matches[1], $matches[2], $value['dirName']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
?>
|
||||||
usort($class_methods, function ($a, $b) {
|
<style>
|
||||||
if (!preg_match("/(get|set)_api_(.*)/", $a, $matchesA)) {
|
pre a {
|
||||||
return 0;
|
color: #333;
|
||||||
}
|
font-weight: bolder;
|
||||||
if (!preg_match("/(get|set)_api_(.*)/", $b, $matchesB)) {
|
}
|
||||||
return 0;
|
</style>
|
||||||
}
|
<div class="container-fluid">
|
||||||
return strcasecmp($matchesA[2], $matchesB[2]);
|
<ul class="list-group">
|
||||||
});
|
<li class="list-group-item">
|
||||||
*
|
<details>
|
||||||
*/
|
<summary style="cursor: pointer;"><i class="fas fa-file-upload"></i> Upload a Video</summary>
|
||||||
?>
|
<br>
|
||||||
<div class="container-fluid">
|
For more detailed instructions please <a href="https://github.com/WWBN/AVideo/wiki/Upload-videos-from-third-party-applications" target="_blank" rel="noopener noreferrer">read this</a>
|
||||||
<ul class="list-group">
|
<br>
|
||||||
<li class="list-group-item">
|
Your HTML Form should looks like this. The user and the pass values on the action URL will be the video owner
|
||||||
<details>
|
<pre><?php
|
||||||
<summary style="cursor: pointer;"><i class="fas fa-file-upload"></i> Upload a Video</summary>
|
$frm = '<form enctype="multipart/form-data" method="post" action="' . $global['webSiteRootURL'] . 'plugin/MobileManager/upload.php?user=' . urlencode(User::getUserName()) . '&pass=' . User::getUserPass() . '">
|
||||||
<br>
|
|
||||||
For more detailed instructions please <a href="https://github.com/WWBN/AVideo/wiki/Upload-videos-from-third-party-applications" target="_blank" rel="noopener noreferrer" >read this</a>
|
|
||||||
<br>
|
|
||||||
Your HTML Form should looks like this. The user and the pass values on the action URL will be the video owner
|
|
||||||
<pre><?php
|
|
||||||
$frm = '<form enctype="multipart/form-data" method="post" action="' . $global['webSiteRootURL'] . 'plugin/MobileManager/upload.php?user=' . urlencode(User::getUserName()) . '&pass=' . User::getUserPass() . '">
|
|
||||||
<input name="title" type="text" /><br>
|
<input name="title" type="text" /><br>
|
||||||
<textarea name="description"></textarea><br>
|
<textarea name="description"></textarea><br>
|
||||||
<input name="categories_id" type="hidden" value="1" />
|
<input name="categories_id" type="hidden" value="1" />
|
||||||
<input name="upl" type="file" accept="video/mp4" /><br>
|
<input name="upl" type="file" accept="video/mp4" /><br>
|
||||||
<input type="submit" value="submit" id="submit"/>
|
<input type="submit" value="submit" id="submit"/>
|
||||||
</form>';
|
</form>';
|
||||||
echo htmlentities($frm);
|
echo htmlentities($frm);
|
||||||
?>
|
?>
|
||||||
</pre>
|
</pre>
|
||||||
|
|
||||||
You can Click to get notified for the new video uploads with the Webhook in the Notification plugin, Check <a href="https://github.com/WWBN/AVideo/wiki/Notifications-Plugin#webhooks" target="_blank" rel="noopener noreferrer">here</a> for more details
|
You can Click to get notified for the new video uploads with the Webhook in the Notification plugin, Check <a href="https://github.com/WWBN/AVideo/wiki/Notifications-Plugin#webhooks" target="_blank" rel="noopener noreferrer">here</a> for more details
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
</li>
|
</li>
|
||||||
<?php
|
|
||||||
foreach ($methodsList as $method) {
|
|
||||||
if (!preg_match("/(get|set)_api_(.*)/", $method[0], $matches)) {
|
|
||||||
if (!preg_match("/API_(get|set)_(.*)/", $method[0], $matches)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$reflector = $method[1];
|
|
||||||
$icon = 'fa-solid fa-pen-to-square';
|
|
||||||
if(strtolower($method[2]) === "get"){
|
|
||||||
$icon = 'fas fa-sign-out-alt';
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<li class="list-group-item">
|
|
||||||
<details>
|
|
||||||
<summary style="cursor: pointer;">
|
|
||||||
<i class="<?php echo $icon; ?>"></i>
|
|
||||||
<?php echo strtoupper($method[2]); ?>
|
|
||||||
<?php echo $method[3]; ?>
|
|
||||||
<?php
|
|
||||||
if(!empty($method[4])){
|
|
||||||
echo " ({$method[4]} plugin)";
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</summary>
|
|
||||||
<br>
|
|
||||||
<pre><?php
|
|
||||||
$comment = $reflector->getMethod($method[0])->getDocComment();
|
|
||||||
$comment = str_replace(['{webSiteRootURL}', '{getOrSet}', '{APIPlugin}', '{APIName}', '{APISecret}'], [$global['webSiteRootURL'], $method[2], $method[4], $method[3], $obj->APISecret], $comment);
|
|
||||||
preg_match_all('#\bhttps?://[^,\s()<>]+(?:\([\w\d]+\)|([^,[:punct:]\s]|/))#', $comment, $match2);
|
|
||||||
//var_dump($match2[0]);
|
|
||||||
$link = "<a target='_blank' href='{$match2[0][0]}'>" . htmlentities($match2[0][0]) . "</a>";
|
|
||||||
$comment = str_replace([$match2[0][0], " *"], [$link, "*"], $comment);
|
|
||||||
echo($comment);
|
|
||||||
?>
|
|
||||||
</pre>
|
|
||||||
</details>
|
|
||||||
</li>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<?php
|
<?php
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
foreach ($methodsList as $method) {
|
||||||
|
if (!preg_match("/(get|set)_api_(.*)/", $method[0], $matches)) {
|
||||||
|
if (!preg_match("/API_(get|set)_(.*)/", $method[0], $matches)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$reflector = $method[1];
|
||||||
|
$icon = 'fa-solid fa-pen-to-square';
|
||||||
|
if (strtolower($method[2]) === "get") {
|
||||||
|
$icon = 'fas fa-sign-out-alt';
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
</body>
|
<li class="list-group-item">
|
||||||
</html>
|
<details>
|
||||||
|
<summary style="cursor: pointer;">
|
||||||
|
<i class="<?php echo $icon; ?>"></i>
|
||||||
|
<?php echo strtoupper($method[2]); ?>
|
||||||
|
<?php echo $method[3]; ?>
|
||||||
|
<?php
|
||||||
|
if (!empty($method[4])) {
|
||||||
|
echo " ({$method[4]} plugin)";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</summary>
|
||||||
|
<br>
|
||||||
|
<pre><?php
|
||||||
|
$comment = $reflector->getMethod($method[0])->getDocComment();
|
||||||
|
$comment = str_replace(['{webSiteRootURL}', '{getOrSet}', '{APIPlugin}', '{APIName}', '{APISecret}'], [$global['webSiteRootURL'], $method[2], $method[4], $method[3], $obj->APISecret], $comment);
|
||||||
|
preg_match_all('#\bhttps?://[^,\s()<>]+(?:\([\w\d]+\)|([^,[:punct:]\s]|/))#', $comment, $match2);
|
||||||
|
//var_dump($match2[0]);
|
||||||
|
$link = "<a target='_blank' href='{$match2[0][0]}'>" . htmlentities($match2[0][0]) . "</a>";
|
||||||
|
$comment = str_replace([$match2[0][0], " *"], [$link, "*"], $comment);
|
||||||
|
echo ($comment);
|
||||||
|
?>
|
||||||
|
</pre>
|
||||||
|
</details>
|
||||||
|
</li>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
$_page->print();
|
||||||
|
?>
|
|
@ -2,86 +2,84 @@
|
||||||
require_once '../../../videos/configuration.php';
|
require_once '../../../videos/configuration.php';
|
||||||
require_once $global['systemRootPath'] . 'objects/user.php';
|
require_once $global['systemRootPath'] . 'objects/user.php';
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not manager plugin Audit"));
|
forbiddenPage("You can not manager plugin Audit");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
$_page = new Page(array('Audit'));
|
||||||
|
$_page->loadBasicCSSAndJS();
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container-fluid">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<div class="panel panel-default">
|
||||||
<head>
|
<div class="panel-body">
|
||||||
<?php
|
<table id="auditTable" class="table table-striped">
|
||||||
echo getHTMLTitle( __("Audit"));
|
<thead>
|
||||||
?>
|
<tr>
|
||||||
<?php
|
<th>Class</th>
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
<th>Method</th>
|
||||||
?>
|
<th>Statement</th>
|
||||||
<link rel="stylesheet" type="text/css" href="<?php echo getCDN(); ?>view/css/DataTables/datatables.min.css"/>
|
<th>Format</th>
|
||||||
<style>
|
<th>Values</th>
|
||||||
</style>
|
<th>Created</th>
|
||||||
</head>
|
<th>User</th>
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
<th>IP</th>
|
||||||
<?php
|
</tr>
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
</thead>
|
||||||
?>
|
<tfoot>
|
||||||
<div class="container-fluid">
|
<tr>
|
||||||
|
<th>Class</th>
|
||||||
<div class="panel panel-default">
|
<th>Method</th>
|
||||||
<div class="panel-body">
|
<th>Statement</th>
|
||||||
<table id="auditTable" class="table table-striped">
|
<th>Format</th>
|
||||||
<thead>
|
<th>Values</th>
|
||||||
<tr>
|
<th>Created</th>
|
||||||
<th>Class</th>
|
<th>User</th>
|
||||||
<th>Method</th>
|
<th>IP</th>
|
||||||
<th>Statement</th>
|
</tr>
|
||||||
<th>Format</th>
|
</tfoot>
|
||||||
<th>Values</th>
|
</table>
|
||||||
<th>Created</th>
|
|
||||||
<th>User</th>
|
|
||||||
<th>IP</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tfoot>
|
|
||||||
<tr>
|
|
||||||
<th>Class</th>
|
|
||||||
<th>Method</th>
|
|
||||||
<th>Statement</th>
|
|
||||||
<th>Format</th>
|
|
||||||
<th>Values</th>
|
|
||||||
<th>Created</th>
|
|
||||||
<th>User</th>
|
|
||||||
<th>IP</th>
|
|
||||||
</tr>
|
|
||||||
</tfoot>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<?php
|
</div>
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
</div>
|
||||||
?>
|
<script>
|
||||||
<script type="text/javascript" src="<?php echo getURL('view/css/DataTables/datatables.min.js'); ?>"></script>
|
$(document).ready(function() {
|
||||||
<script>
|
var auditTable = $('#auditTable').DataTable({
|
||||||
$(document).ready(function () {
|
"processing": true,
|
||||||
var auditTable = $('#auditTable').DataTable({
|
"serverSide": true,
|
||||||
"processing": true,
|
"ajax": {
|
||||||
"serverSide": true,
|
"url": "<?php echo $global['webSiteRootURL']; ?>plugin/Audit/page/audits.json.php",
|
||||||
"ajax": {
|
},
|
||||||
"url": "<?php echo $global['webSiteRootURL']; ?>plugin/Audit/page/audits.json.php",
|
"columns": [{
|
||||||
},
|
"data": "class"
|
||||||
"columns": [
|
},
|
||||||
{"data": "class"},
|
{
|
||||||
{"data": "method"},
|
"data": "method"
|
||||||
{"data": "statement"},
|
},
|
||||||
{"data": "formats"},
|
{
|
||||||
{"data": "values"},
|
"data": "statement"
|
||||||
{"data": "created"},
|
},
|
||||||
{"data": "user"},
|
{
|
||||||
{"data": "ip"},
|
"data": "formats"
|
||||||
],
|
},
|
||||||
select: true,
|
{
|
||||||
"order": [[5, "desc"]]
|
"data": "values"
|
||||||
});
|
},
|
||||||
});
|
{
|
||||||
</script>
|
"data": "created"
|
||||||
</body>
|
},
|
||||||
</html>
|
{
|
||||||
|
"data": "user"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"data": "ip"
|
||||||
|
},
|
||||||
|
],
|
||||||
|
select: true,
|
||||||
|
"order": [
|
||||||
|
[5, "desc"]
|
||||||
|
]
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
$_page->print();
|
||||||
|
?>
|
|
@ -1,145 +1,134 @@
|
||||||
<?php
|
<?php
|
||||||
require_once '../../../videos/configuration.php';
|
require_once '../../../videos/configuration.php';
|
||||||
AVideoPlugin::loadPlugin("AutoPostOnSocialMedia");
|
AVideoPlugin::loadPlugin("AutoPostOnSocialMedia");
|
||||||
|
$_page = new Page(array('AutoPostOnSocialMedia'));
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container-fluid">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<div class="panel panel-default">
|
||||||
<head>
|
<div class="panel-heading">
|
||||||
<title><?php echo $config->getWebSiteTitle(); ?> :: AutoPostOnSocialMedia</title>
|
<div class="row">
|
||||||
<?php
|
<div class="col-sm-2">
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
<input type="checkbox" onclick="$('.scheduleTwitterPost input:checkbox').prop('checked', this.checked);" id="AutoPostOnSocialMediaCheckbox">
|
||||||
?>
|
<label for="AutoPostOnSocialMediaCheckbox">
|
||||||
</head>
|
<?php echo __('AutoPostOnSocialMedia') ?>
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
</label>
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
?>
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-2">
|
|
||||||
<input type="checkbox" onclick="$('.scheduleTwitterPost input:checkbox').prop('checked', this.checked);" id="AutoPostOnSocialMediaCheckbox">
|
|
||||||
<label for="AutoPostOnSocialMediaCheckbox">
|
|
||||||
<?php echo __('AutoPostOnSocialMedia') ?>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-8">
|
|
||||||
<button class="btn btn-success btn-block" onclick="saveScheduleTwitter();">
|
|
||||||
<i class="fas fa-save"></i>
|
|
||||||
<?php echo __('Save') ?>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-2">
|
|
||||||
<div class="pull-right">
|
|
||||||
<?php echo AVideoPlugin::getSwitchButton("AutoPostOnSocialMedia"); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body scheduleTwitterPost">
|
<div class="col-sm-8">
|
||||||
<?php
|
<button class="btn btn-success btn-block" onclick="saveScheduleTwitter();">
|
||||||
|
<i class="fas fa-save"></i>
|
||||||
$rows = Scheduler_commands::getAllFromType(AutoPostOnSocialMedia::$scheduleType);
|
<?php echo __('Save') ?>
|
||||||
$savedValues = array();
|
</button>
|
||||||
foreach ($rows as $value) {
|
</div>
|
||||||
if(!isset($savedValues[$value['repeat_day_of_week']])){
|
<div class="col-sm-2">
|
||||||
$savedValues[$value['repeat_day_of_week']] = array();
|
<div class="pull-right">
|
||||||
}
|
<?php echo AVideoPlugin::getSwitchButton("AutoPostOnSocialMedia"); ?>
|
||||||
$savedValues[$value['repeat_day_of_week']][] = $value['repeat_hour'];
|
</div>
|
||||||
}
|
|
||||||
|
|
||||||
//var_dump($savedValues);
|
|
||||||
$weekdays = array(
|
|
||||||
__('Sunday'),
|
|
||||||
__('Monday'),
|
|
||||||
__('Tuesday'),
|
|
||||||
__('Wednsday'),
|
|
||||||
__('Thursday'),
|
|
||||||
__('Friday'),
|
|
||||||
__('Saturday')
|
|
||||||
);
|
|
||||||
$columns = 3;
|
|
||||||
foreach ($weekdays as $weekday => $value) {
|
|
||||||
?>
|
|
||||||
<div class="col-lg-3 col-md-4 col-sm-6">
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<input type="checkbox" onclick="$('.scheduleTwitterPost input.form-check-input-<?php echo $value; ?>:checkbox').prop('checked', this.checked);" id="AutoPostOnSocialMediaCheckbox-<?php echo $value; ?>">
|
|
||||||
<label for="AutoPostOnSocialMediaCheckbox-<?php echo $value; ?>">
|
|
||||||
<?php echo $value; ?>
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<?php
|
|
||||||
$i = 0;
|
|
||||||
for ($c = 1; $c <= $columns; $c++) {
|
|
||||||
$val = 12 / $columns;
|
|
||||||
$class = 'col-xs-' . $val;
|
|
||||||
$time = 24 / $columns;
|
|
||||||
?>
|
|
||||||
<div class="<?php echo $class; ?>">
|
|
||||||
<?php
|
|
||||||
for (; $i < $time * $c; $i++) {
|
|
||||||
|
|
||||||
$checked = '';
|
|
||||||
if(!empty($savedValues[$weekday]) && in_array($i, $savedValues[$weekday])){
|
|
||||||
$checked = 'checked="checked"';
|
|
||||||
}
|
|
||||||
|
|
||||||
?>
|
|
||||||
<div class="form-check">
|
|
||||||
<input class="form-check-input form-check-input-<?php echo $value; ?>" type="checkbox" <?php echo $checked; ?>
|
|
||||||
value="<?php echo $weekday; ?>_<?php echo $i; ?>" id="flexCheckDefault<?php echo $value . $i; ?>">
|
|
||||||
<label class="form-check-label" for="flexCheckDefault<?php echo $value . $i; ?>">
|
|
||||||
<?php printf("%02d", $i); ?>H
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<div class="panel-body scheduleTwitterPost">
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
<?php
|
||||||
?>
|
|
||||||
<script>
|
|
||||||
$(function () {
|
|
||||||
|
|
||||||
});
|
$rows = Scheduler_commands::getAllFromType(AutoPostOnSocialMedia::$scheduleType);
|
||||||
function saveScheduleTwitter() {
|
$savedValues = array();
|
||||||
modal.showPleaseWait();
|
foreach ($rows as $value) {
|
||||||
$.ajax({
|
if (!isset($savedValues[$value['repeat_day_of_week']])) {
|
||||||
url: webSiteRootURL + 'plugin/AutoPostOnSocialMedia/saveSchedule.json.php',
|
$savedValues[$value['repeat_day_of_week']] = array();
|
||||||
method: 'POST',
|
}
|
||||||
data: {
|
$savedValues[$value['repeat_day_of_week']][] = $value['repeat_hour'];
|
||||||
'checkedItems': getCheckedItems()
|
|
||||||
},
|
|
||||||
success: function (response) {
|
|
||||||
avideoResponse(response);
|
|
||||||
modal.hidePleaseWait();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
function getCheckedItems() {
|
|
||||||
var selected = new Array();
|
//var_dump($savedValues);
|
||||||
$("input.form-check-input:checkbox:checked").each(function () {
|
$weekdays = array(
|
||||||
selected.push($(this).val());
|
__('Sunday'),
|
||||||
});
|
__('Monday'),
|
||||||
console.log('selected', selected);
|
__('Tuesday'),
|
||||||
return selected;
|
__('Wednsday'),
|
||||||
|
__('Thursday'),
|
||||||
|
__('Friday'),
|
||||||
|
__('Saturday')
|
||||||
|
);
|
||||||
|
$columns = 3;
|
||||||
|
foreach ($weekdays as $weekday => $value) {
|
||||||
|
?>
|
||||||
|
<div class="col-lg-3 col-md-4 col-sm-6">
|
||||||
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-heading">
|
||||||
|
<input type="checkbox" onclick="$('.scheduleTwitterPost input.form-check-input-<?php echo $value; ?>:checkbox').prop('checked', this.checked);" id="AutoPostOnSocialMediaCheckbox-<?php echo $value; ?>">
|
||||||
|
<label for="AutoPostOnSocialMediaCheckbox-<?php echo $value; ?>">
|
||||||
|
<?php echo $value; ?>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
<?php
|
||||||
|
$i = 0;
|
||||||
|
for ($c = 1; $c <= $columns; $c++) {
|
||||||
|
$val = 12 / $columns;
|
||||||
|
$class = 'col-xs-' . $val;
|
||||||
|
$time = 24 / $columns;
|
||||||
|
?>
|
||||||
|
<div class="<?php echo $class; ?>">
|
||||||
|
<?php
|
||||||
|
for (; $i < $time * $c; $i++) {
|
||||||
|
|
||||||
|
$checked = '';
|
||||||
|
if (!empty($savedValues[$weekday]) && in_array($i, $savedValues[$weekday])) {
|
||||||
|
$checked = 'checked="checked"';
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
||||||
|
<div class="form-check">
|
||||||
|
<input class="form-check-input form-check-input-<?php echo $value; ?>" type="checkbox" <?php echo $checked; ?> value="<?php echo $weekday; ?>_<?php echo $i; ?>" id="flexCheckDefault<?php echo $value . $i; ?>">
|
||||||
|
<label class="form-check-label" for="flexCheckDefault<?php echo $value . $i; ?>">
|
||||||
|
<?php printf("%02d", $i); ?>H
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
}
|
}
|
||||||
</script>
|
?>
|
||||||
</body>
|
</div>
|
||||||
</html>
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
$(function() {
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
function saveScheduleTwitter() {
|
||||||
|
modal.showPleaseWait();
|
||||||
|
$.ajax({
|
||||||
|
url: webSiteRootURL + 'plugin/AutoPostOnSocialMedia/saveSchedule.json.php',
|
||||||
|
method: 'POST',
|
||||||
|
data: {
|
||||||
|
'checkedItems': getCheckedItems()
|
||||||
|
},
|
||||||
|
success: function(response) {
|
||||||
|
avideoResponse(response);
|
||||||
|
modal.hidePleaseWait();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCheckedItems() {
|
||||||
|
var selected = new Array();
|
||||||
|
$("input.form-check-input:checkbox:checked").each(function() {
|
||||||
|
selected.push($(this).val());
|
||||||
|
});
|
||||||
|
console.log('selected', selected);
|
||||||
|
return selected;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
$_page->print();
|
||||||
|
?>
|
|
@ -2,7 +2,7 @@
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
require_once $global['systemRootPath'] . 'objects/user.php';
|
require_once $global['systemRootPath'] . 'objects/user.php';
|
||||||
if (!User::isLogged()) {
|
if (!User::isLogged()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -10,127 +10,111 @@ $plugin = AVideoPlugin::loadPluginIfEnabled("BlockonomicsYPT");
|
||||||
$obj = AVideoPlugin::getObjectData("BlockonomicsYPT");
|
$obj = AVideoPlugin::getObjectData("BlockonomicsYPT");
|
||||||
$order_id = $plugin->setUpPayment($_GET['value']);
|
$order_id = $plugin->setUpPayment($_GET['value']);
|
||||||
$order = new BlockonomicsOrder($order_id);
|
$order = new BlockonomicsOrder($order_id);
|
||||||
|
$_page = new Page(array('Invoice'));
|
||||||
|
$_page->setExtraScripts(array('plugin/BlockonomicsYPT/jquery.qrcode.min.js'))
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
|
||||||
<head>
|
|
||||||
<?php
|
|
||||||
echo getHTMLTitle( __("Invoice"));
|
|
||||||
?>
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
|
||||||
?>
|
|
||||||
<style>
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
?>
|
|
||||||
|
|
||||||
|
<div class="panel panel-default">
|
||||||
<div class="container">
|
<div class="panel-heading">
|
||||||
|
<h1>
|
||||||
<div class="panel panel-default">
|
Order#: <?php echo sprintf('%08d', $order->getId()); ?>
|
||||||
<div class="panel-heading">
|
</h1>
|
||||||
<h1>
|
</div>
|
||||||
Order#: <?php echo sprintf('%08d', $order->getId()); ?>
|
<div class="panel-body">
|
||||||
</h1>
|
<div class="row">
|
||||||
</div>
|
<div class="col-md-6">
|
||||||
<div class="panel-body">
|
<h2>Bitcoin Address</h2>
|
||||||
<div class="row">
|
<a href="bitcoin:<?php echo $order->getAddr(); ?>?amount=<?php echo $order->getFormatedBits(); ?>">
|
||||||
<div class="col-md-6">
|
<div id="qrcode" class="text-center"></div>
|
||||||
<h2>Bitcoin Address</h2>
|
</a>
|
||||||
<a href="bitcoin:<?php echo $order->getAddr(); ?>?amount=<?php echo $order->getFormatedBits(); ?>">
|
<br />
|
||||||
<div id="qrcode" class="text-center"></div>
|
<div class="field">
|
||||||
</a>
|
<div class="control">
|
||||||
<br/>
|
<input type="text" class="input form-control" value="<?php echo $order->getAddr(); ?>" readonly="readonly">
|
||||||
<div class="field">
|
|
||||||
<div class="control">
|
|
||||||
<input type="text" class="input form-control" value="<?php echo $order->getAddr(); ?>" readonly="readonly">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<h2>To pay, send exact amount of BTC to the given address</h2>
|
|
||||||
<h3>Amount</h3>
|
|
||||||
<p><strong><?php echo $order->getFormatedBits(); ?></strong> BTC ⇌ <strong><?php echo $order->getTotal_value(); ?></strong> <?php echo $order->getCurrency(); ?></p>
|
|
||||||
|
|
||||||
<br/>
|
|
||||||
|
|
||||||
<h2>Payment Details: </h2>
|
|
||||||
|
|
||||||
<h4 style="display: none;" class="bstatus label label-danger" id="status-3"> Payment Expired</h4>
|
|
||||||
<h4 style="display: none;" class="bstatus label label-danger" id="status-2"> Payment Error</h4>
|
|
||||||
<h4 style="display: none;" class="bstatus label label-warning" id="status0"> Unconfirmed</h4>
|
|
||||||
<h4 style="display: none;" class="bstatus label label-warning" id="status1"> Partially Confirmed</h4>
|
|
||||||
<h4 style="display: none;" class="bstatus label label-success" id="status2" >Confirmed</h4>
|
|
||||||
|
|
||||||
|
|
||||||
<div>
|
|
||||||
Received : <strong id="received"><?php echo $order->getFormatedBits_payed(); ?></strong>
|
|
||||||
<small>BTC</small>
|
|
||||||
</div>
|
|
||||||
<div style="margin-bottom:10px;" >
|
|
||||||
Transaction : <span id="transaction"></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="col-md-6">
|
||||||
<div class="col-md-12">
|
<h2>To pay, send exact amount of BTC to the given address</h2>
|
||||||
<div class="progress">
|
<h3>Amount</h3>
|
||||||
<div class="progress-bar progress-bar-striped active" role="progressbar"
|
<p><strong><?php echo $order->getFormatedBits(); ?></strong> BTC ⇌ <strong><?php echo $order->getTotal_value(); ?></strong> <?php echo $order->getCurrency(); ?></p>
|
||||||
aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width:100%" id="timeleft">
|
|
||||||
100%
|
<br />
|
||||||
</div>
|
|
||||||
</div>
|
<h2>Payment Details: </h2>
|
||||||
|
|
||||||
|
<h4 style="display: none;" class="bstatus label label-danger" id="status-3"> Payment Expired</h4>
|
||||||
|
<h4 style="display: none;" class="bstatus label label-danger" id="status-2"> Payment Error</h4>
|
||||||
|
<h4 style="display: none;" class="bstatus label label-warning" id="status0"> Unconfirmed</h4>
|
||||||
|
<h4 style="display: none;" class="bstatus label label-warning" id="status1"> Partially Confirmed</h4>
|
||||||
|
<h4 style="display: none;" class="bstatus label label-success" id="status2">Confirmed</h4>
|
||||||
|
|
||||||
|
|
||||||
|
<div>
|
||||||
|
Received : <strong id="received"><?php echo $order->getFormatedBits_payed(); ?></strong>
|
||||||
|
<small>BTC</small>
|
||||||
|
</div>
|
||||||
|
<div style="margin-bottom:10px;">
|
||||||
|
Transaction : <span id="transaction"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<div class="row">
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
<div class="col-md-12">
|
||||||
?>
|
<div class="progress">
|
||||||
<script src="<?php echo getCDN(); ?>plugin/BlockonomicsYPT/jquery.qrcode.min.js" type="text/javascript"></script>
|
<div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width:100%" id="timeleft">
|
||||||
<script>
|
100%
|
||||||
var totalSeconds = <?php echo $obj->ExpireInSeconds; ?>;
|
</div>
|
||||||
var totalSecondsPassed = <?php echo time() - strtotime($order->getCreated()); ?>;
|
</div>
|
||||||
var totalSecondsleft = totalSeconds - totalSecondsPassed;
|
</div>
|
||||||
$(document).ready(function () {
|
</div>
|
||||||
$('#qrcode').qrcode({width: 220, height: 220, text: "bitcoin:<?php echo $order->getAddr(); ?>?amount=<?php echo $order->getFormatedBits(); ?>"});
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
var totalSeconds = <?php echo $obj->ExpireInSeconds; ?>;
|
||||||
|
var totalSecondsPassed = <?php echo time() - strtotime($order->getCreated()); ?>;
|
||||||
|
var totalSecondsleft = totalSeconds - totalSecondsPassed;
|
||||||
|
$(document).ready(function() {
|
||||||
|
$('#qrcode').qrcode({
|
||||||
|
width: 220,
|
||||||
|
height: 220,
|
||||||
|
text: "bitcoin:<?php echo $order->getAddr(); ?>?amount=<?php echo $order->getFormatedBits(); ?>"
|
||||||
|
});
|
||||||
|
|
||||||
setInterval(function () {
|
setInterval(function() {
|
||||||
totalSecondsleft--;
|
totalSecondsleft--;
|
||||||
if (totalSecondsleft < 1) {
|
if (totalSecondsleft < 1) {
|
||||||
totalSecondsleft = 0;
|
totalSecondsleft = 0;
|
||||||
}
|
}
|
||||||
var percent = (totalSecondsleft / totalSeconds) * 100;
|
var percent = (totalSecondsleft / totalSeconds) * 100;
|
||||||
|
|
||||||
$("#timeleft").css('width', percent + "%").html(totalSecondsleft + " <?php echo __("Seconds Left"); ?>");
|
$("#timeleft").css('width', percent + "%").html(totalSecondsleft + " <?php echo __("Seconds Left"); ?>");
|
||||||
}, 1000);
|
}, 1000);
|
||||||
check();
|
check();
|
||||||
});
|
});
|
||||||
|
|
||||||
function check() {
|
function check() {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/BlockonomicsYPT/check.php?addr=<?php echo $order->getAddr(); ?>',
|
url: webSiteRootURL + 'plugin/BlockonomicsYPT/check.php?addr=<?php echo $order->getAddr(); ?>',
|
||||||
success: function (response) {
|
success: function(response) {
|
||||||
console.log(response);
|
console.log(response);
|
||||||
if (response.status < 2) {
|
if (response.status < 2) {
|
||||||
$("#transaction").html('<a target="_blank" href="http://www.blockonomics.co/api/tx?txid=' + response.txid + '&addr={{<?php echo $order->getAddr(); ?>}}">' + response.txid + '</a>');
|
$("#transaction").html('<a target="_blank" href="http://www.blockonomics.co/api/tx?txid=' + response.txid + '&addr={{<?php echo $order->getAddr(); ?>}}">' + response.txid + '</a>');
|
||||||
$("#received").html((response.bits_payed / 1.0e8));
|
$("#received").html((response.bits_payed / 1.0e8));
|
||||||
setTimeout(function () {
|
setTimeout(function() {
|
||||||
check();
|
check();
|
||||||
}, 3000);
|
}, 3000);
|
||||||
}else{
|
} else {
|
||||||
response.status = 2;
|
response.status = 2;
|
||||||
}
|
}
|
||||||
$(".bstatus").not("#status"+response.status).hide();
|
$(".bstatus").not("#status" + response.status).hide();
|
||||||
$("#status"+response.status).fadeIn();
|
$("#status" + response.status).fadeIn();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
</body>
|
<?php
|
||||||
</html>
|
$_page->print();
|
||||||
|
?>
|
|
@ -99,7 +99,7 @@ $_page->setExtraScripts(
|
||||||
function addBookmark() {
|
function addBookmark() {
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Bookmark/page/bookmarkSave.json.php',
|
url: webSiteRootURL+'plugin/Bookmark/page/bookmarkSave.json.php',
|
||||||
data: {
|
data: {
|
||||||
"videos_id": <?php echo $_GET['videos_id'] ?>,
|
"videos_id": <?php echo $_GET['videos_id'] ?>,
|
||||||
"timeInSeconds": timeToSeconds($('#currentTime').val()),
|
"timeInSeconds": timeToSeconds($('#currentTime').val()),
|
||||||
|
@ -146,7 +146,7 @@ $_page->setExtraScripts(
|
||||||
var index = $(li).attr('index');
|
var index = $(li).attr('index');
|
||||||
var id = $(li).attr('bookmarkId');
|
var id = $(li).attr('bookmarkId');
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Bookmark/page/bookmarkDelete.json.php',
|
url: webSiteRootURL+'plugin/Bookmark/page/bookmarkDelete.json.php',
|
||||||
data: {
|
data: {
|
||||||
"id": id
|
"id": id
|
||||||
},
|
},
|
||||||
|
@ -164,7 +164,7 @@ $_page->setExtraScripts(
|
||||||
function loadBookmark() {
|
function loadBookmark() {
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Bookmark/getBookmarks.json.php?videos_id=<?php echo $_GET['videos_id'] ?>',
|
url: webSiteRootURL+'plugin/Bookmark/getBookmarks.json.php?videos_id=<?php echo $_GET['videos_id'] ?>',
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
allBookmarksArray = response;
|
allBookmarksArray = response;
|
||||||
bookmarksArray = (allBookmarksArray.rows);
|
bookmarksArray = (allBookmarksArray.rows);
|
||||||
|
|
|
@ -2,48 +2,30 @@
|
||||||
require_once '../../../videos/configuration.php';
|
require_once '../../../videos/configuration.php';
|
||||||
require_once $global['systemRootPath'] . 'objects/user.php';
|
require_once $global['systemRootPath'] . 'objects/user.php';
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You are not admin"));
|
forbiddenPage("You are not admin");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
$_page = new Page(array('Bookmarks'));
|
||||||
|
$_page->loadBasicCSSAndJS();
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<div class="panel panel-default">
|
||||||
<head>
|
<div class="panel-body">
|
||||||
<?php
|
<div class="row">
|
||||||
echo getHTMLTitle( __("Bookmarks"));
|
<div class="col-md-6">
|
||||||
?>
|
<?php
|
||||||
<?php
|
include './editorForm.php';
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
?>
|
||||||
?>
|
</div>
|
||||||
<link rel="stylesheet" type="text/css" href="<?php echo getCDN(); ?>view/css/DataTables/datatables.min.css"/>
|
<div class="col-md-6">
|
||||||
<style>
|
<?php
|
||||||
</style>
|
include './editorTable.php';
|
||||||
</head>
|
?>
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
?>
|
|
||||||
<div class="container">
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-body">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-6">
|
|
||||||
<?php
|
|
||||||
include './editorForm.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-6">
|
|
||||||
<?php
|
|
||||||
include './editorTable.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
</div>
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
</div>
|
||||||
?>
|
<?php
|
||||||
<script type="text/javascript" src="<?php echo getURL('view/css/DataTables/datatables.min.js'); ?>"></script>
|
$_page->print();
|
||||||
</body>
|
?>
|
||||||
</html>
|
|
|
@ -34,7 +34,7 @@
|
||||||
evt.preventDefault();
|
evt.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Bookmark/page/bookmarkSave.json.php',
|
url: webSiteRootURL+'plugin/Bookmark/page/bookmarkSave.json.php',
|
||||||
data: $('#bookmarkForm').serializeArray(),
|
data: $('#bookmarkForm').serializeArray(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
console.log(data);
|
console.log(data);
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Bookmark/page/bookmarkDelete.json.php',
|
url: webSiteRootURL+'plugin/Bookmark/page/bookmarkDelete.json.php',
|
||||||
data: {'id': data.id},
|
data: {'id': data.id},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -1,293 +1,336 @@
|
||||||
<?php
|
<?php
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
if (!User::isLogged()) {
|
if (!User::isLogged()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
$obj = AVideoPlugin::getObjectData("BulkEmbed");
|
$obj = AVideoPlugin::getObjectData("BulkEmbed");
|
||||||
|
|
||||||
|
$_page = new Page(array('Search'));
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<style>
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
#custom-search-input {
|
||||||
<head>
|
padding: 3px;
|
||||||
<?php
|
border: solid 1px #E4E4E4;
|
||||||
echo getHTMLTitle( __("Search"));
|
border-radius: 6px;
|
||||||
?>
|
background-color: #fff;
|
||||||
<?php
|
}
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
|
||||||
?>
|
|
||||||
<style>
|
|
||||||
#custom-search-input{
|
|
||||||
padding: 3px;
|
|
||||||
border: solid 1px #E4E4E4;
|
|
||||||
border-radius: 6px;
|
|
||||||
background-color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#custom-search-input input{
|
#custom-search-input input {
|
||||||
border: 0;
|
border: 0;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-search-input button{
|
#custom-search-input button {
|
||||||
margin: 2px 0 0 0;
|
margin: 2px 0 0 0;
|
||||||
background: none;
|
background: none;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
border: 0;
|
border: 0;
|
||||||
color: #666666;
|
color: #666666;
|
||||||
padding: 0 8px 0 10px;
|
padding: 0 8px 0 10px;
|
||||||
border-left: solid 1px #ccc;
|
border-left: solid 1px #ccc;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-search-input button:hover{
|
#custom-search-input button:hover {
|
||||||
border: 0;
|
border: 0;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
border-left: solid 1px #ccc;
|
border-left: solid 1px #ccc;
|
||||||
}
|
}
|
||||||
|
|
||||||
#custom-search-input .glyphicon-search{
|
#custom-search-input .glyphicon-search {
|
||||||
font-size: 23px;
|
font-size: 23px;
|
||||||
}
|
}
|
||||||
#results li {
|
|
||||||
padding: 10px 0;
|
|
||||||
border-bottom: 1px dotted #ccc;
|
|
||||||
list-style: none;
|
|
||||||
overflow: auto;
|
|
||||||
}
|
|
||||||
.list-left {
|
|
||||||
float: left;
|
|
||||||
width: 20%;
|
|
||||||
}
|
|
||||||
.list-left img {
|
|
||||||
width: 100%;
|
|
||||||
padding: 3px;
|
|
||||||
border: 1px solid #ccc;
|
|
||||||
}
|
|
||||||
.list-right {
|
|
||||||
float: right;
|
|
||||||
width: 78%;
|
|
||||||
}
|
|
||||||
.list-right h3 {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
.list-right p {
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.cTitle {
|
#results li {
|
||||||
color: #dd2826;
|
padding: 10px 0;
|
||||||
}
|
border-bottom: 1px dotted #ccc;
|
||||||
|
list-style: none;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
|
||||||
.button-container {
|
.list-left {
|
||||||
margin-top: 25px;
|
float: left;
|
||||||
|
width: 20%;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
.list-left img {
|
||||||
|
width: 100%;
|
||||||
|
padding: 3px;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
}
|
||||||
|
|
||||||
.paging-button {
|
.list-right {
|
||||||
background: #f4f4f4;
|
float: right;
|
||||||
padding: 0 13px;
|
width: 78%;
|
||||||
border: #ccc 1px solid;
|
}
|
||||||
border-radius: 5px;
|
|
||||||
color: #333;
|
|
||||||
margin: 10px;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
?>
|
|
||||||
<div class="container">
|
|
||||||
|
|
||||||
<div class="panel panel-default">
|
.list-right h3 {
|
||||||
<div class="panel-heading">
|
margin: 0;
|
||||||
<form id="search-form" name="search-form" onsubmit="return search()">
|
}
|
||||||
<div id="custom-search-input">
|
|
||||||
<div class="input-group col-md-12">
|
.list-right p {
|
||||||
<input type="search" id="query" class="form-control input-lg" placeholder="Search YouTube / PlayList URL" />
|
margin: 0;
|
||||||
<span class="input-group-btn">
|
}
|
||||||
<button class="btn btn-info btn-lg" type="submit">
|
|
||||||
<i class="glyphicon glyphicon-search"></i>
|
.cTitle {
|
||||||
</button>
|
color: #dd2826;
|
||||||
</span>
|
}
|
||||||
</div>
|
|
||||||
</div>
|
.button-container {
|
||||||
</form>
|
margin-top: 25px;
|
||||||
<br>
|
|
||||||
<div class="row">
|
}
|
||||||
<div class="col-sm-6">
|
|
||||||
<button class="btn btn-info btn-block" id="getAll"><?php echo __('Embed All'); ?></button>
|
.paging-button {
|
||||||
</div>
|
background: #f4f4f4;
|
||||||
<div class="col-sm-6">
|
padding: 0 13px;
|
||||||
<button class="btn btn-success btn-block" id="getSelected"><?php echo __('Embed Selected'); ?></button>
|
border: #ccc 1px solid;
|
||||||
</div>
|
border-radius: 5px;
|
||||||
|
color: #333;
|
||||||
|
margin: 10px;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="container">
|
||||||
|
|
||||||
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-heading">
|
||||||
|
<form id="search-form" name="search-form" onsubmit="return search()">
|
||||||
|
<div id="custom-search-input">
|
||||||
|
<div class="input-group col-md-12">
|
||||||
|
<input type="search" id="query" class="form-control input-lg" placeholder="Search YouTube / PlayList URL" />
|
||||||
|
<span class="input-group-btn">
|
||||||
|
<button class="btn btn-info btn-lg" type="submit">
|
||||||
|
<i class="glyphicon glyphicon-search"></i>
|
||||||
|
</button>
|
||||||
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
</form>
|
||||||
<ul id="results"></ul>
|
<br>
|
||||||
<div id="buttons"></div>
|
<div class="row">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<button class="btn btn-info btn-block" id="getAll"><?php echo __('Embed All'); ?></button>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<button class="btn btn-success btn-block" id="getSelected"><?php echo __('Embed Selected'); ?></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<div class="panel-body">
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
<ul id="results"></ul>
|
||||||
?>
|
<div id="buttons"></div>
|
||||||
<script>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
var gapikey = '<?php echo $obj->API_KEY; ?>';
|
||||||
|
var playListName = '';
|
||||||
|
|
||||||
var gapikey = '<?php echo $obj->API_KEY; ?>';
|
$(function() {
|
||||||
var playListName = '';
|
$('#search-form').submit(function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
});
|
||||||
|
|
||||||
$(function () {
|
$('#getAll').click(function() {
|
||||||
$('#search-form').submit(function (e) {
|
var videoLink = new Array();
|
||||||
e.preventDefault();
|
$("input:checkbox[name=videoCheckbox]").each(function() {
|
||||||
});
|
videoLink.push($(this).val());
|
||||||
|
|
||||||
$('#getAll').click(function () {
|
|
||||||
var videoLink = new Array();
|
|
||||||
$("input:checkbox[name=videoCheckbox]").each(function () {
|
|
||||||
videoLink.push($(this).val());
|
|
||||||
});
|
|
||||||
saveIt(videoLink);
|
|
||||||
});
|
|
||||||
$('#getSelected').click(function () {
|
|
||||||
var videoLink = new Array();
|
|
||||||
$("input:checkbox[name=videoCheckbox]:checked").each(function () {
|
|
||||||
videoLink.push($(this).val());
|
|
||||||
});
|
|
||||||
saveIt(videoLink);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
saveIt(videoLink);
|
||||||
|
});
|
||||||
|
$('#getSelected').click(function() {
|
||||||
|
var videoLink = new Array();
|
||||||
|
$("input:checkbox[name=videoCheckbox]:checked").each(function() {
|
||||||
|
videoLink.push($(this).val());
|
||||||
|
});
|
||||||
|
saveIt(videoLink);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
function saveIt(videoLink) {
|
function saveIt(videoLink) {
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
setTimeout(function () {
|
setTimeout(function() {
|
||||||
var itemsToSave = [];
|
var itemsToSave = [];
|
||||||
for (x in videoLink) {
|
for (x in videoLink) {
|
||||||
if (typeof videoLink[x] === 'function') {
|
if (typeof videoLink[x] === 'function') {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "https://www.googleapis.com/youtube/v3/videos?id=" + videoLink[x] + "&part=id,snippet,contentDetails&key=" + gapikey,
|
url: "https://www.googleapis.com/youtube/v3/videos?id=" + videoLink[x] + "&part=id,snippet,contentDetails&key=" + gapikey,
|
||||||
async: false,
|
async: false,
|
||||||
success: function (data) {
|
success: function(data) {
|
||||||
var item = {};
|
var item = {};
|
||||||
item.link = "https://youtube.com/embed/" + data.items[0].id;
|
item.link = "https://youtube.com/embed/" + data.items[0].id;
|
||||||
item.title = data.items[0].snippet.title;
|
item.title = data.items[0].snippet.title;
|
||||||
item.description = data.items[0].snippet.description;
|
item.description = data.items[0].snippet.description;
|
||||||
item.duration = data.items[0].contentDetails.duration;
|
item.duration = data.items[0].contentDetails.duration;
|
||||||
console.log(data.items[0].snippet);
|
console.log(data.items[0].snippet);
|
||||||
item.thumbs = data.items[0].snippet.thumbnails.high.url;
|
item.thumbs = data.items[0].snippet.thumbnails.high.url;
|
||||||
itemsToSave.push(item);
|
itemsToSave.push(item);
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
$.ajax({
|
});
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/BulkEmbed/save.json.php',
|
|
||||||
data: {"itemsToSave": itemsToSave, playListName: playListName},
|
|
||||||
type: 'post',
|
|
||||||
success: function (response) {
|
|
||||||
if (!response.error) {
|
|
||||||
avideoAlert("<?php echo __("Congratulations!"); ?>", "<?php echo __("Your videos have been saved!"); ?>", "success");
|
|
||||||
} else {
|
|
||||||
avideoAlert("<?php echo __("Sorry!"); ?>", response.msg.join("<br>"), "error");
|
|
||||||
}
|
|
||||||
modal.hidePleaseWait();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}, 500);
|
|
||||||
}
|
}
|
||||||
|
$.ajax({
|
||||||
function validURL(str) {
|
url: webSiteRootURL + 'plugin/BulkEmbed/save.json.php',
|
||||||
var pattern = new RegExp('^(https?:\\/\\/)?' + // protocol
|
data: {
|
||||||
'((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + // domain name
|
"itemsToSave": itemsToSave,
|
||||||
'((\\d{1,3}\\.){3}\\d{1,3}))' + // OR ip (v4) address
|
playListName: playListName
|
||||||
'(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' + // port and path
|
},
|
||||||
'(\\?[;&a-z\\d%_.~+=-]*)?' + // query string
|
type: 'post',
|
||||||
'(\\#[-a-z\\d_]*)?$', 'i'); // fragment locator
|
success: function(response) {
|
||||||
return !!pattern.test(str);
|
if (!response.error) {
|
||||||
}
|
avideoAlert("<?php echo __("Congratulations!"); ?>", "<?php echo __("Your videos have been saved!"); ?>", "success");
|
||||||
|
} else {
|
||||||
function getFromUrl(url) {
|
avideoAlert("<?php echo __("Sorry!"); ?>", response.msg.join("<br>"), "error");
|
||||||
if (!validURL(url)) {
|
}
|
||||||
return false;
|
modal.hidePleaseWait();
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
}, 500);
|
||||||
|
}
|
||||||
|
|
||||||
var regex = /[?&]([^=#]+)=([^&#]*)/g,
|
function validURL(str) {
|
||||||
params = {},
|
var pattern = new RegExp('^(https?:\\/\\/)?' + // protocol
|
||||||
match;
|
'((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|' + // domain name
|
||||||
while (match = regex.exec(url)) {
|
'((\\d{1,3}\\.){3}\\d{1,3}))' + // OR ip (v4) address
|
||||||
params[match[1]] = match[2];
|
'(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*' + // port and path
|
||||||
}
|
'(\\?[;&a-z\\d%_.~+=-]*)?' + // query string
|
||||||
return params;
|
'(\\#[-a-z\\d_]*)?$', 'i'); // fragment locator
|
||||||
}
|
return !!pattern.test(str);
|
||||||
|
}
|
||||||
|
|
||||||
function getPlayListId(url) {
|
function getFromUrl(url) {
|
||||||
var result = getFromUrl(url);
|
if (!validURL(url)) {
|
||||||
if (result && typeof result.list !== 'undefined') {
|
return false;
|
||||||
return result.list;
|
}
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function search() {
|
var regex = /[?&]([^=#]+)=([^&#]*)/g,
|
||||||
// clear
|
params = {},
|
||||||
$('#results').html('');
|
match;
|
||||||
$('#buttons').html('');
|
while (match = regex.exec(url)) {
|
||||||
|
params[match[1]] = match[2];
|
||||||
|
}
|
||||||
|
return params;
|
||||||
|
}
|
||||||
|
|
||||||
// get form input
|
function getPlayListId(url) {
|
||||||
q = $('#query').val(); // this probably shouldn't be created as a global
|
var result = getFromUrl(url);
|
||||||
|
if (result && typeof result.list !== 'undefined') {
|
||||||
|
return result.list;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
var playListId = getPlayListId(q);
|
function search() {
|
||||||
|
// clear
|
||||||
|
$('#results').html('');
|
||||||
|
$('#buttons').html('');
|
||||||
|
|
||||||
if (playListId) {
|
// get form input
|
||||||
|
q = $('#query').val(); // this probably shouldn't be created as a global
|
||||||
|
|
||||||
|
var playListId = getPlayListId(q);
|
||||||
|
|
||||||
|
if (playListId) {
|
||||||
|
$.get(
|
||||||
|
"https://www.googleapis.com/youtube/v3/playlists", {
|
||||||
|
part: 'snippet',
|
||||||
|
key: gapikey,
|
||||||
|
id: playListId
|
||||||
|
},
|
||||||
|
function(data) {
|
||||||
|
playListName = data.items[0].snippet.title;
|
||||||
$.get(
|
$.get(
|
||||||
"https://www.googleapis.com/youtube/v3/playlists", {
|
"https://www.googleapis.com/youtube/v3/playlistItems", {
|
||||||
part: 'snippet',
|
part: 'snippet, id',
|
||||||
key: gapikey,
|
q: q,
|
||||||
id: playListId
|
type: 'video',
|
||||||
}, function (data) {
|
key: gapikey,
|
||||||
playListName = data.items[0].snippet.title;
|
maxResults: 50,
|
||||||
$.get(
|
videoEmbeddable: "true",
|
||||||
"https://www.googleapis.com/youtube/v3/playlistItems", {
|
videoSyndicated: "true",
|
||||||
part: 'snippet, id',
|
playlistId: playListId
|
||||||
q: q,
|
},
|
||||||
type: 'video',
|
function(data) {
|
||||||
key: gapikey,
|
|
||||||
maxResults: 50,
|
|
||||||
videoEmbeddable: "true",
|
|
||||||
videoSyndicated: "true",
|
|
||||||
playlistId: playListId
|
|
||||||
}, function (data) {
|
|
||||||
processData(data);
|
processData(data);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
playListName = '';
|
playListName = '';
|
||||||
// run get request on API
|
// run get request on API
|
||||||
$.get(
|
$.get(
|
||||||
"https://www.googleapis.com/youtube/v3/search", {
|
"https://www.googleapis.com/youtube/v3/search", {
|
||||||
part: 'snippet, id',
|
part: 'snippet, id',
|
||||||
q: q,
|
q: q,
|
||||||
type: 'video',
|
type: 'video',
|
||||||
key: gapikey,
|
key: gapikey,
|
||||||
maxResults: 50,
|
maxResults: 50,
|
||||||
videoSyndicated: "true",
|
videoSyndicated: "true",
|
||||||
videoEmbeddable: "true"
|
videoEmbeddable: "true"
|
||||||
}, function (data) {
|
},
|
||||||
processData(data);
|
function(data) {
|
||||||
});
|
processData(data);
|
||||||
}
|
});
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function processData(data) {
|
||||||
|
var nextPageToken = data.nextPageToken;
|
||||||
|
var prevPageToken = data.prevPageToken;
|
||||||
|
|
||||||
|
// Log data
|
||||||
|
//console.log(data);
|
||||||
|
|
||||||
|
$.each(data.items, function(i, item) {
|
||||||
|
// Get Output
|
||||||
|
var output = getOutput(item);
|
||||||
|
|
||||||
|
// display results
|
||||||
|
$('#results').append(output);
|
||||||
|
});
|
||||||
|
|
||||||
|
var buttons = getButtons(prevPageToken, nextPageToken);
|
||||||
|
|
||||||
|
// Display buttons
|
||||||
|
$('#buttons').append(buttons);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Next page function
|
||||||
|
function nextPage() {
|
||||||
|
var token = $('#next-button').data('token');
|
||||||
|
var q = $('#next-button').data('query');
|
||||||
|
|
||||||
|
|
||||||
|
// clear
|
||||||
|
$('#results').html('');
|
||||||
|
$('#buttons').html('');
|
||||||
|
|
||||||
|
// get form input
|
||||||
|
q = $('#query').val(); // this probably shouldn't be created as a global
|
||||||
|
|
||||||
|
// run get request on API
|
||||||
|
$.get(
|
||||||
|
"https://www.googleapis.com/youtube/v3/search", {
|
||||||
|
part: 'snippet, id',
|
||||||
|
q: q,
|
||||||
|
pageToken: token,
|
||||||
|
type: 'video',
|
||||||
|
key: gapikey,
|
||||||
|
maxResults: 50,
|
||||||
|
videoEmbeddable: "true"
|
||||||
|
},
|
||||||
|
function(data) {
|
||||||
|
|
||||||
function processData(data) {
|
|
||||||
var nextPageToken = data.nextPageToken;
|
var nextPageToken = data.nextPageToken;
|
||||||
var prevPageToken = data.prevPageToken;
|
var prevPageToken = data.prevPageToken;
|
||||||
|
|
||||||
// Log data
|
// Log data
|
||||||
//console.log(data);
|
console.log(data);
|
||||||
|
|
||||||
|
$.each(data.items, function(i, item) {
|
||||||
|
|
||||||
$.each(data.items, function (i, item) {
|
|
||||||
// Get Output
|
// Get Output
|
||||||
var output = getOutput(item);
|
var output = getOutput(item);
|
||||||
|
|
||||||
|
@ -299,153 +342,110 @@ $obj = AVideoPlugin::getObjectData("BulkEmbed");
|
||||||
|
|
||||||
// Display buttons
|
// Display buttons
|
||||||
$('#buttons').append(buttons);
|
$('#buttons').append(buttons);
|
||||||
}
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Next page function
|
// Previous page function
|
||||||
function nextPage() {
|
function prevPage() {
|
||||||
var token = $('#next-button').data('token');
|
var token = $('#prev-button').data('token');
|
||||||
var q = $('#next-button').data('query');
|
var q = $('#prev-button').data('query');
|
||||||
|
|
||||||
|
|
||||||
// clear
|
// clear
|
||||||
$('#results').html('');
|
$('#results').html('');
|
||||||
$('#buttons').html('');
|
$('#buttons').html('');
|
||||||
|
|
||||||
// get form input
|
// get form input
|
||||||
q = $('#query').val(); // this probably shouldn't be created as a global
|
q = $('#query').val(); // this probably shouldn't be created as a global
|
||||||
|
|
||||||
// run get request on API
|
// run get request on API
|
||||||
$.get(
|
$.get(
|
||||||
"https://www.googleapis.com/youtube/v3/search", {
|
"https://www.googleapis.com/youtube/v3/search", {
|
||||||
part: 'snippet, id',
|
part: 'snippet, id',
|
||||||
q: q,
|
q: q,
|
||||||
pageToken: token,
|
pageToken: token,
|
||||||
type: 'video',
|
type: 'video',
|
||||||
key: gapikey,
|
key: gapikey,
|
||||||
maxResults: 50,
|
maxResults: 50,
|
||||||
videoEmbeddable: "true"
|
videoEmbeddable: "true"
|
||||||
}, function (data) {
|
},
|
||||||
|
function(data) {
|
||||||
|
|
||||||
var nextPageToken = data.nextPageToken;
|
var nextPageToken = data.nextPageToken;
|
||||||
var prevPageToken = data.prevPageToken;
|
var prevPageToken = data.prevPageToken;
|
||||||
|
|
||||||
// Log data
|
// Log data
|
||||||
console.log(data);
|
console.log(data);
|
||||||
|
|
||||||
$.each(data.items, function (i, item) {
|
$.each(data.items, function(i, item) {
|
||||||
|
|
||||||
// Get Output
|
// Get Output
|
||||||
var output = getOutput(item);
|
var output = getOutput(item);
|
||||||
|
|
||||||
// display results
|
// display results
|
||||||
$('#results').append(output);
|
$('#results').append(output);
|
||||||
});
|
|
||||||
|
|
||||||
var buttons = getButtons(prevPageToken, nextPageToken);
|
|
||||||
|
|
||||||
// Display buttons
|
|
||||||
$('#buttons').append(buttons);
|
|
||||||
});
|
});
|
||||||
}
|
|
||||||
|
|
||||||
// Previous page function
|
var buttons = getButtons(prevPageToken, nextPageToken);
|
||||||
function prevPage() {
|
|
||||||
var token = $('#prev-button').data('token');
|
|
||||||
var q = $('#prev-button').data('query');
|
|
||||||
|
|
||||||
|
// Display buttons
|
||||||
|
$('#buttons').append(buttons);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// clear
|
// Build output
|
||||||
$('#results').html('');
|
function getOutput(item) {
|
||||||
$('#buttons').html('');
|
console.log(item);
|
||||||
|
var videoID;
|
||||||
|
if (typeof item.snippet.thumbnails === 'undefined') {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (item.id.videoId) {
|
||||||
|
videoID = item.id.videoId;
|
||||||
|
} else {
|
||||||
|
videoID = item.snippet.resourceId.videoId;
|
||||||
|
}
|
||||||
|
var title = item.snippet.title;
|
||||||
|
var description = item.snippet.description;
|
||||||
|
var thumb = item.snippet.thumbnails.high.url;
|
||||||
|
var channelTitle = item.snippet.channelTitle;
|
||||||
|
var videoDate = item.snippet.publishedAt;
|
||||||
|
|
||||||
// get form input
|
// Build output string
|
||||||
q = $('#query').val(); // this probably shouldn't be created as a global
|
var output = '<li>' +
|
||||||
|
'<div class="list-left">' +
|
||||||
|
'<img src="' + thumb + '">' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="list-right">' +
|
||||||
|
'<h3><input type="checkbox" value="' + videoID + '" name="videoCheckbox"><a target="_blank" href="https://youtube.com/embed/' + videoID + '?rel=0">' + title + '</a></h3>' +
|
||||||
|
'<small>By <span class="cTitle">' + channelTitle + '</span> on ' + videoDate + '</small>' +
|
||||||
|
'<p>' + description + '</p>' +
|
||||||
|
'</div>' +
|
||||||
|
'</li>' +
|
||||||
|
'<div class="clearfix"></div>' +
|
||||||
|
'';
|
||||||
|
return output;
|
||||||
|
}
|
||||||
|
|
||||||
// run get request on API
|
function getButtons(prevPageToken, nextPageToken) {
|
||||||
$.get(
|
if (!prevPageToken) {
|
||||||
"https://www.googleapis.com/youtube/v3/search", {
|
var btnoutput = '<div class="button-container">' +
|
||||||
part: 'snippet, id',
|
'<button id="next-button" class="paging-button" data-token="' + nextPageToken + '" data-query="' + q + '"' +
|
||||||
q: q,
|
'onclick = "nextPage();">Next Page</button>' +
|
||||||
pageToken: token,
|
'</div>';
|
||||||
type: 'video',
|
} else {
|
||||||
key: gapikey,
|
var btnoutput = '<div class="button-container">' +
|
||||||
maxResults: 50,
|
'<button id="prev-button" class="paging-button" data-token="' + prevPageToken + '" data-query="' + q + '"' +
|
||||||
videoEmbeddable: "true"
|
'onclick = "prevPage();">Prev Page</button>' +
|
||||||
}, function (data) {
|
'<button id="next-button" class="paging-button" data-token="' + nextPageToken + '" data-query="' + q + '"' +
|
||||||
|
'onclick = "nextPage();">Next Page</button>' +
|
||||||
|
'</div>';
|
||||||
|
}
|
||||||
|
|
||||||
var nextPageToken = data.nextPageToken;
|
return btnoutput;
|
||||||
var prevPageToken = data.prevPageToken;
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
// Log data
|
<?php
|
||||||
console.log(data);
|
$_page->print();
|
||||||
|
?>
|
||||||
$.each(data.items, function (i, item) {
|
|
||||||
|
|
||||||
// Get Output
|
|
||||||
var output = getOutput(item);
|
|
||||||
|
|
||||||
// display results
|
|
||||||
$('#results').append(output);
|
|
||||||
});
|
|
||||||
|
|
||||||
var buttons = getButtons(prevPageToken, nextPageToken);
|
|
||||||
|
|
||||||
// Display buttons
|
|
||||||
$('#buttons').append(buttons);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
// Build output
|
|
||||||
function getOutput(item) {
|
|
||||||
console.log(item);
|
|
||||||
var videoID;
|
|
||||||
if(typeof item.snippet.thumbnails === 'undefined'){
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
if(item.id.videoId){
|
|
||||||
videoID = item.id.videoId;
|
|
||||||
}else{
|
|
||||||
videoID = item.snippet.resourceId.videoId;
|
|
||||||
}
|
|
||||||
var title = item.snippet.title;
|
|
||||||
var description = item.snippet.description;
|
|
||||||
var thumb = item.snippet.thumbnails.high.url;
|
|
||||||
var channelTitle = item.snippet.channelTitle;
|
|
||||||
var videoDate = item.snippet.publishedAt;
|
|
||||||
|
|
||||||
// Build output string
|
|
||||||
var output = '<li>' +
|
|
||||||
'<div class="list-left">' +
|
|
||||||
'<img src="' + thumb + '">' +
|
|
||||||
'</div>' +
|
|
||||||
'<div class="list-right">' +
|
|
||||||
'<h3><input type="checkbox" value="' + videoID + '" name="videoCheckbox"><a target="_blank" href="https://youtube.com/embed/' + videoID + '?rel=0">' + title + '</a></h3>' +
|
|
||||||
'<small>By <span class="cTitle">' + channelTitle + '</span> on ' + videoDate + '</small>' +
|
|
||||||
'<p>' + description + '</p>' +
|
|
||||||
'</div>' +
|
|
||||||
'</li>' +
|
|
||||||
'<div class="clearfix"></div>' +
|
|
||||||
'';
|
|
||||||
return output;
|
|
||||||
}
|
|
||||||
|
|
||||||
function getButtons(prevPageToken, nextPageToken) {
|
|
||||||
if (!prevPageToken) {
|
|
||||||
var btnoutput = '<div class="button-container">' +
|
|
||||||
'<button id="next-button" class="paging-button" data-token="' + nextPageToken + '" data-query="' + q + '"' +
|
|
||||||
'onclick = "nextPage();">Next Page</button>' +
|
|
||||||
'</div>';
|
|
||||||
} else {
|
|
||||||
var btnoutput = '<div class="button-container">' +
|
|
||||||
'<button id="prev-button" class="paging-button" data-token="' + prevPageToken + '" data-query="' + q + '"' +
|
|
||||||
'onclick = "prevPage();">Prev Page</button>' +
|
|
||||||
'<button id="next-button" class="paging-button" data-token="' + nextPageToken + '" data-query="' + q + '"' +
|
|
||||||
'onclick = "nextPage();">Next Page</button>' +
|
|
||||||
'</div>';
|
|
||||||
}
|
|
||||||
|
|
||||||
return btnoutput;
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -12,31 +12,18 @@ if (!Video::canEdit($videos_id)) {
|
||||||
}
|
}
|
||||||
|
|
||||||
$video = Video::getVideoLight($videos_id);
|
$video = Video::getVideoLight($videos_id);
|
||||||
|
$_page = new Page(array('Move Storage'));
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container-fluid">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<?php
|
||||||
<head>
|
$isMoving = CDNStorage::isMoving($videos_id);
|
||||||
<title><?php echo $config->getWebSiteTitle(); ?> :: Move Storage</title>
|
if (!empty($isMoving)) {
|
||||||
<?php
|
include './panelIsMoving.php';
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
} else {
|
||||||
?>
|
include './panelMove.php';
|
||||||
</head>
|
}
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
?>
|
||||||
<?php
|
</div>
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
<?php
|
||||||
?>
|
$_page->print();
|
||||||
<div class="container-fluid">
|
?>
|
||||||
<?php
|
|
||||||
$isMoving = CDNStorage::isMoving($videos_id);
|
|
||||||
if (!empty($isMoving)) {
|
|
||||||
include './panelIsMoving.php';
|
|
||||||
} else {
|
|
||||||
include './panelMove.php';
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
|
||||||
?>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -26,87 +26,73 @@ $height = 'calc(50vh - 50px)';
|
||||||
if (count($downloadOptions) == 1) {
|
if (count($downloadOptions) == 1) {
|
||||||
$height = 'calc(100vh - 50px)';
|
$height = 'calc(100vh - 50px)';
|
||||||
}
|
}
|
||||||
|
$_page = new Page(array('Download Video'));
|
||||||
|
$_page->setExtraScripts(array('view/js/script.download.js'));
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
|
||||||
|
|
||||||
<head>
|
<style>
|
||||||
<title><?php echo $config->getWebSiteTitle(); ?> :: Download Video</title>
|
#downloadButtons .btn {
|
||||||
<?php
|
height: <?php echo $height; ?>;
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
font-size: 30px;
|
||||||
?>
|
}
|
||||||
<style>
|
|
||||||
#downloadButtons .btn {
|
|
||||||
height: <?php echo $height; ?>;
|
|
||||||
font-size: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#downloadButtons a.btn span {
|
#downloadButtons a.btn span {
|
||||||
display: block !important;
|
display: block !important;
|
||||||
white-space: break-spaces;
|
white-space: break-spaces;
|
||||||
padding-top: 15vh;
|
padding-top: 15vh;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
<div class="container-fluid">
|
||||||
|
<div id="downloadButtons">
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
<?php
|
||||||
<?php
|
$count = 0;
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
$lastURL = '';
|
||||||
?>
|
$lastFormat = '';
|
||||||
<div class="container-fluid">
|
foreach ($downloadOptions as $theLink) {
|
||||||
<div id="downloadButtons">
|
if (!empty($theLink)) {
|
||||||
<?php
|
$count++;
|
||||||
$count = 0;
|
$lastURL = $theLink['url'];
|
||||||
$lastURL = '';
|
$progress = $theLink['progress'];
|
||||||
$lastFormat = '';
|
$lastFormat = strtolower($theLink['name']);
|
||||||
foreach ($downloadOptions as $theLink) {
|
?>
|
||||||
if (!empty($theLink)) {
|
<button type="button" onclick="_goToURLOrAlertError('<?php echo $lastURL; ?>', '<?php echo $progress; ?>', '<?php echo $lastFormat; ?>');" class="btn btn-default btn-light btn-lg btn-block" target="_blank">
|
||||||
$count++;
|
<i class="fas fa-download"></i> <?php echo __('Download'); ?> <?php echo $theLink['name']; ?>
|
||||||
$lastURL = $theLink['url'];
|
|
||||||
$progress = $theLink['progress'];
|
|
||||||
$lastFormat = strtolower($theLink['name']);
|
|
||||||
?>
|
|
||||||
<button type="button" onclick="_goToURLOrAlertError('<?php echo $lastURL; ?>', '<?php echo $progress; ?>', '<?php echo $lastFormat; ?>');" class="btn btn-default btn-light btn-lg btn-block" target="_blank">
|
|
||||||
<i class="fas fa-download"></i> <?php echo __('Download'); ?> <?php echo $theLink['name']; ?>
|
|
||||||
</button>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$convertedFile = "{$global['systemRootPath']}videos/{$video['filename']}/index.mp4";
|
|
||||||
if (User::isAdmin() && file_exists($convertedFile)) {
|
|
||||||
$deleteURL = addQueryStringParameter($lastURL, 'delete', 1);
|
|
||||||
?>
|
|
||||||
<button type="button" onclick="avideoAlertAJAX('<?php echo $deleteURL; ?>');" class="btn btn-danger btn-block">
|
|
||||||
<i class="fa-solid fa-trash"></i> <?php echo __('Delete'); ?>
|
|
||||||
</button>
|
</button>
|
||||||
<?php
|
<?php
|
||||||
} else {
|
|
||||||
echo "<!-- converted file does not exists {$convertedFile} -->";
|
|
||||||
}
|
}
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<script>
|
|
||||||
function _goToURLOrAlertError(url, progress, format) {
|
|
||||||
avideoToastSuccess(<?php echo json_encode(__('Downloading') . '... ' . $video['title']); ?>);
|
|
||||||
downloadURLOrAlertError(url, {}, '<?php echo $video['clean_title']; ?>.' + format, progress);
|
|
||||||
}
|
}
|
||||||
</script>
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
|
||||||
|
|
||||||
if ($count == 1) {
|
$convertedFile = "{$global['systemRootPath']}videos/{$video['filename']}/index.mp4";
|
||||||
?>
|
if (User::isAdmin() && file_exists($convertedFile)) {
|
||||||
<script>
|
$deleteURL = addQueryStringParameter($lastURL, 'delete', 1);
|
||||||
$(function() {
|
?>
|
||||||
_goToURLOrAlertError('<?php echo $lastURL; ?>', '<?php echo $progress; ?>', '<?php echo $lastFormat; ?>');
|
<button type="button" onclick="avideoAlertAJAX('<?php echo $deleteURL; ?>');" class="btn btn-danger btn-block">
|
||||||
});
|
<i class="fa-solid fa-trash"></i> <?php echo __('Delete'); ?>
|
||||||
</script>
|
</button>
|
||||||
<?php
|
<?php
|
||||||
|
} else {
|
||||||
|
echo "<!-- converted file does not exists {$convertedFile} -->";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
function _goToURLOrAlertError(url, progress, format) {
|
||||||
|
avideoToastSuccess(<?php echo json_encode(__('Downloading') . '... ' . $video['title']); ?>);
|
||||||
|
downloadURLOrAlertError(url, {}, '<?php echo $video['clean_title']; ?>.' + format, progress);
|
||||||
}
|
}
|
||||||
?>
|
</script>
|
||||||
<script src="<?php echo getURL('view/js/script.download.js'); ?>" type="text/javascript"></script>
|
<?php
|
||||||
</body>
|
if ($count == 1) {
|
||||||
|
?>
|
||||||
</html>
|
<script>
|
||||||
|
$(function() {
|
||||||
|
_goToURLOrAlertError('<?php echo $lastURL; ?>', '<?php echo $progress; ?>', '<?php echo $lastFormat; ?>');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<?php
|
||||||
|
$_page->print();
|
||||||
|
?>
|
|
@ -7,160 +7,154 @@ if (!isset($global['systemRootPath'])) {
|
||||||
$plugin = AVideoPlugin::loadPluginIfEnabled('CloneSite');
|
$plugin = AVideoPlugin::loadPluginIfEnabled('CloneSite');
|
||||||
|
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
$_page = new Page(array('Clone Site'));
|
||||||
<!DOCTYPE html>
|
$_page->setExtraScripts(
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
array(
|
||||||
<head>
|
'view/css/DataTables/datatables.min.js',
|
||||||
<?php
|
'view/js/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js'
|
||||||
echo getHTMLTitle(__("Clone Site"));
|
)
|
||||||
?>
|
);
|
||||||
<?php
|
$_page->setExtraStyles(
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
array(
|
||||||
?>
|
'view/css/DataTables/datatables.min.css',
|
||||||
<link rel="stylesheet" type="text/css" href="<?php echo getCDN(); ?>view/css/DataTables/datatables.min.css"/>
|
'view/js/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css'
|
||||||
</head>
|
)
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
);
|
||||||
<?php
|
?><div class="container">
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
<div class="panel panel-default">
|
||||||
?>
|
<div class="panel-heading">
|
||||||
<div class="container">
|
<i class="fas fa-clone"></i> <?php echo __("Manage Clones"); ?>
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<i class="fas fa-clone"></i> <?php echo __("Manage Clones"); ?>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<table id="campaignTable" class="display" width="100%" cellspacing="0">
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th><?php echo __("URL"); ?></th>
|
|
||||||
<th><?php echo __("Key"); ?></th>
|
|
||||||
<th><?php echo __("Last Clone"); ?></th>
|
|
||||||
<th><?php echo __("Status"); ?></th>
|
|
||||||
<th></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tfoot>
|
|
||||||
<tr>
|
|
||||||
<th><?php echo __("URL"); ?></th>
|
|
||||||
<th><?php echo __("Key"); ?></th>
|
|
||||||
<th><?php echo __("Last Clone"); ?></th>
|
|
||||||
<th><?php echo __("Status"); ?></th>
|
|
||||||
<th></th>
|
|
||||||
</tr>
|
|
||||||
</tfoot>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div id="btnModelLinks" style="display: none;">
|
<div class="panel-body">
|
||||||
<div class="btn-group pull-right">
|
<table id="campaignTable" class="display" width="100%" cellspacing="0">
|
||||||
<button href="" class="editor_status btn {status-class} btn-xs">
|
<thead>
|
||||||
<i class="{status-icon}"></i> {status-text}
|
<tr>
|
||||||
</button>
|
<th><?php echo __("URL"); ?></th>
|
||||||
<button href="" class="editor_delete_link btn btn-danger btn-xs">
|
<th><?php echo __("Key"); ?></th>
|
||||||
<i class="fa fa-trash"></i>
|
<th><?php echo __("Last Clone"); ?></th>
|
||||||
</button>
|
<th><?php echo __("Status"); ?></th>
|
||||||
</div>
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tfoot>
|
||||||
|
<tr>
|
||||||
|
<th><?php echo __("URL"); ?></th>
|
||||||
|
<th><?php echo __("Key"); ?></th>
|
||||||
|
<th><?php echo __("Last Clone"); ?></th>
|
||||||
|
<th><?php echo __("Status"); ?></th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</tfoot>
|
||||||
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="btnModelLinks" style="display: none;">
|
||||||
|
<div class="btn-group pull-right">
|
||||||
|
<button href="" class="editor_status btn {status-class} btn-xs">
|
||||||
|
<i class="{status-icon}"></i> {status-text}
|
||||||
|
</button>
|
||||||
|
<button href="" class="editor_delete_link btn btn-danger btn-xs">
|
||||||
|
<i class="fa fa-trash"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
$(document).ready(function() {
|
||||||
|
|
||||||
<?php
|
var tableLinks = $('#campaignTable').DataTable({
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
"ajax": "<?php echo $global['webSiteRootURL']; ?>plugin/CloneSite/clones.json.php",
|
||||||
?>
|
"columns": [{
|
||||||
<script type="text/javascript" src="<?php echo getURL('view/css/DataTables/datatables.min.js'); ?>"></script>
|
"data": "url"
|
||||||
|
},
|
||||||
<script type="text/javascript">
|
{
|
||||||
|
"data": "key"
|
||||||
$(document).ready(function () {
|
},
|
||||||
|
{
|
||||||
var tableLinks = $('#campaignTable').DataTable({
|
"data": "last_clone_request"
|
||||||
"ajax": "<?php echo $global['webSiteRootURL']; ?>plugin/CloneSite/clones.json.php",
|
},
|
||||||
"columns": [
|
{
|
||||||
{"data": "url"},
|
data: 'status',
|
||||||
{"data": "key"},
|
"render": function(data, type, full, meta) {
|
||||||
{"data": "last_clone_request"},
|
var content = "<span class='label label-success'>Active</span>";
|
||||||
{
|
if (full.status === 'i') {
|
||||||
data: 'status',
|
content = "<span class='label label-danger'>Inactive</span>";
|
||||||
"render": function (data, type, full, meta) {
|
|
||||||
var content = "<span class='label label-success'>Active</span>";
|
|
||||||
if(full.status === 'i'){
|
|
||||||
content = "<span class='label label-danger'>Inactive</span>";
|
|
||||||
}
|
|
||||||
return content;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
data: 'status',
|
|
||||||
"render": function (data, type, full, meta) {
|
|
||||||
var content = $('#btnModelLinks').html();
|
|
||||||
if(full.status === 'i'){
|
|
||||||
content = content.replace("{status-class}", "btn-success");
|
|
||||||
content = content.replace("{status-icon}", "fas fa-check-square");
|
|
||||||
content = content.replace("{status-text}", "Activate");
|
|
||||||
}else{
|
|
||||||
content = content.replace("{status-class}", "btn-default");
|
|
||||||
content = content.replace("{status-icon}", "fas fa-ban");
|
|
||||||
content = content.replace("{status-text}", "Deactivate");
|
|
||||||
}
|
|
||||||
return content;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
],
|
return content;
|
||||||
select: true,
|
}
|
||||||
});
|
},
|
||||||
$('#campaignTable').on('click', 'button.editor_status', function (e) {
|
{
|
||||||
e.preventDefault();
|
data: 'status',
|
||||||
var tr = $(this).closest('tr')[0];
|
"render": function(data, type, full, meta) {
|
||||||
var data = tableLinks.row(tr).data();
|
var content = $('#btnModelLinks').html();
|
||||||
modal.showPleaseWait();
|
if (full.status === 'i') {
|
||||||
$.ajax({
|
content = content.replace("{status-class}", "btn-success");
|
||||||
type: "POST",
|
content = content.replace("{status-icon}", "fas fa-check-square");
|
||||||
url: "<?php echo $global['webSiteRootURL']; ?>plugin/CloneSite/changeStatus.json.php",
|
content = content.replace("{status-text}", "Activate");
|
||||||
data: data
|
} else {
|
||||||
|
content = content.replace("{status-class}", "btn-default");
|
||||||
}).done(function (resposta) {
|
content = content.replace("{status-icon}", "fas fa-ban");
|
||||||
if (resposta.error) {
|
content = content.replace("{status-text}", "Deactivate");
|
||||||
avideoAlert("<?php echo __("Sorry!"); ?>", resposta.msg, "error");
|
|
||||||
}
|
}
|
||||||
tableLinks.ajax.reload();
|
return content;
|
||||||
modal.hidePleaseWait();
|
}
|
||||||
});
|
}
|
||||||
});
|
],
|
||||||
$('#campaignTable').on('click', 'button.editor_delete_link', function (e) {
|
select: true,
|
||||||
e.preventDefault();
|
});
|
||||||
var tr = $(this).closest('tr')[0];
|
$('#campaignTable').on('click', 'button.editor_status', function(e) {
|
||||||
var data = tableLinks.row(tr).data();
|
e.preventDefault();
|
||||||
|
var tr = $(this).closest('tr')[0];
|
||||||
swal({
|
var data = tableLinks.row(tr).data();
|
||||||
title: "<?php echo __("Are you sure?"); ?>",
|
modal.showPleaseWait();
|
||||||
text: "<?php echo __("You will not be able to recover this action!"); ?>",
|
$.ajax({
|
||||||
icon: "warning",
|
type: "POST",
|
||||||
buttons: true,
|
url: "<?php echo $global['webSiteRootURL']; ?>plugin/CloneSite/changeStatus.json.php",
|
||||||
dangerMode: true,
|
data: data
|
||||||
})
|
|
||||||
.then(function(willDelete) {
|
|
||||||
if (willDelete) {
|
|
||||||
modal.showPleaseWait();
|
|
||||||
$.ajax({
|
|
||||||
type: "POST",
|
|
||||||
url: "<?php echo $global['webSiteRootURL']; ?>plugin/CloneSite/delete.json.php",
|
|
||||||
data: data
|
|
||||||
|
|
||||||
}).done(function (resposta) {
|
}).done(function(resposta) {
|
||||||
if (resposta.error) {
|
if (resposta.error) {
|
||||||
avideoAlert("<?php echo __("Sorry!"); ?>", resposta.msg, "error");
|
avideoAlert("<?php echo __("Sorry!"); ?>", resposta.msg, "error");
|
||||||
}
|
}
|
||||||
tableLinks.ajax.reload();
|
tableLinks.ajax.reload();
|
||||||
modal.hidePleaseWait();
|
modal.hidePleaseWait();
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
$('#campaignTable').on('click', 'button.editor_delete_link', function(e) {
|
||||||
|
e.preventDefault();
|
||||||
|
var tr = $(this).closest('tr')[0];
|
||||||
|
var data = tableLinks.row(tr).data();
|
||||||
|
|
||||||
|
swal({
|
||||||
|
title: "<?php echo __("Are you sure?"); ?>",
|
||||||
|
text: "<?php echo __("You will not be able to recover this action!"); ?>",
|
||||||
|
icon: "warning",
|
||||||
|
buttons: true,
|
||||||
|
dangerMode: true,
|
||||||
|
})
|
||||||
|
.then(function(willDelete) {
|
||||||
|
if (willDelete) {
|
||||||
|
modal.showPleaseWait();
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: "<?php echo $global['webSiteRootURL']; ?>plugin/CloneSite/delete.json.php",
|
||||||
|
data: data
|
||||||
|
|
||||||
|
}).done(function(resposta) {
|
||||||
|
if (resposta.error) {
|
||||||
|
avideoAlert("<?php echo __("Sorry!"); ?>", resposta.msg, "error");
|
||||||
|
}
|
||||||
|
tableLinks.ajax.reload();
|
||||||
|
modal.hidePleaseWait();
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
</script>
|
||||||
</script>
|
<?php
|
||||||
</body>
|
$_page->print();
|
||||||
</html>
|
?>
|
|
@ -105,7 +105,7 @@ if (!User::isAdmin()) {
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$('#addCategories_has_users_groupsBtn').click(function () {
|
$('#addCategories_has_users_groupsBtn').click(function () {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/CustomizeUser/View/addCategories_has_users_groupsVideo.php',
|
url: webSiteRootURL+'plugin/CustomizeUser/View/addCategories_has_users_groupsVideo.php',
|
||||||
data: $('#panelCategories_has_users_groupsForm').serialize(),
|
data: $('#panelCategories_has_users_groupsForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -145,7 +145,7 @@ if (!User::isAdmin()) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/CustomizeUser/View/Categories_has_users_groups/add.json.php',
|
url: webSiteRootURL+'plugin/CustomizeUser/View/Categories_has_users_groups/add.json.php',
|
||||||
data: $('#panelCategories_has_users_groupsForm').serialize(),
|
data: $('#panelCategories_has_users_groupsForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -124,7 +124,7 @@ if (!User::isAdmin()) {
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$('#addUsers_affiliationsBtn').click(function () {
|
$('#addUsers_affiliationsBtn').click(function () {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/CustomizeUser/View/addUsers_affiliationsVideo.php',
|
url: webSiteRootURL+'plugin/CustomizeUser/View/addUsers_affiliationsVideo.php',
|
||||||
data: $('#panelUsers_affiliationsForm').serialize(),
|
data: $('#panelUsers_affiliationsForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -167,7 +167,7 @@ if (!User::isAdmin()) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/CustomizeUser/View/Users_affiliations/add.json.php',
|
url: webSiteRootURL+'plugin/CustomizeUser/View/Users_affiliations/add.json.php',
|
||||||
data: $('#panelUsers_affiliationsForm').serialize(),
|
data: $('#panelUsers_affiliationsForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -153,7 +153,7 @@ if (!User::isAdmin()) {
|
||||||
});
|
});
|
||||||
$('#addUsers_extra_infoBtn').click(function () {
|
$('#addUsers_extra_infoBtn').click(function () {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/CustomizeUser/View/addUsers_extra_infoVideo.php',
|
url: webSiteRootURL+'plugin/CustomizeUser/View/addUsers_extra_infoVideo.php',
|
||||||
data: $('#panelUsers_extra_infoForm').serialize(),
|
data: $('#panelUsers_extra_infoForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -199,7 +199,7 @@ if (!User::isAdmin()) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/CustomizeUser/View/Users_extra_info/add.json.php',
|
url: webSiteRootURL+'plugin/CustomizeUser/View/Users_extra_info/add.json.php',
|
||||||
data: $('#panelUsers_extra_infoForm').serialize(),
|
data: $('#panelUsers_extra_infoForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -4,54 +4,38 @@ if (!User::isAdmin()) {
|
||||||
forbiddenPage("Must be admin");
|
forbiddenPage("Must be admin");
|
||||||
}
|
}
|
||||||
AVideoPlugin::loadPlugin("CustomizeUser");
|
AVideoPlugin::loadPlugin("CustomizeUser");
|
||||||
|
$_page = new Page(array('Customize User'));
|
||||||
|
$_page->loadBasicCSSAndJS();
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container-fluid">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<div class="panel panel-default">
|
||||||
<head>
|
<div class="panel-heading"><i class="fas fa-user"></i> <?php echo __('CustomizeUser') ?></div>
|
||||||
<title><?php echo $config->getWebSiteTitle(); ?> :: CustomizeUser</title>
|
<div class="panel-body">
|
||||||
<?php
|
<ul class="nav nav-tabs">
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
<li class="active"><a data-toggle="tab" href="#Categories_has_users_groups"><i class="fas fa-list"></i> <?php echo __("Categories"); ?> <i class="fas fa-times"></i> <i class="fas fa-users"></i> <?php echo __("Categories Has Users Groups"); ?></a></li>
|
||||||
?>
|
<li class=""><a data-toggle="tab" href="#Users_extra_info"><i class="fas fa-address-book"></i> <?php echo __("Users Extra Info"); ?></a></li>
|
||||||
<link rel="stylesheet" type="text/css" href="<?php echo getCDN(); ?>view/css/DataTables/datatables.min.css"/>
|
<li class=""><a data-toggle="tab" href="#Users_affiliations"><i class="fas fa-child"></i> <?php echo __("Users Affiliations"); ?></a></li>
|
||||||
<link href="<?php echo getCDN(); ?>view/js/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css" rel="stylesheet" type="text/css"/>
|
</ul>
|
||||||
</head>
|
<div class="tab-content">
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
<div id="Categories_has_users_groups" class="tab-pane fade in active" style="padding: 10px;">
|
||||||
<?php
|
<?php
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
include $global['systemRootPath'] . 'plugin/CustomizeUser/View/Categories_has_users_groups/index_body.php';
|
||||||
?>
|
?>
|
||||||
<div class="container-fluid">
|
</div>
|
||||||
<div class="panel panel-default">
|
<div id="Users_extra_info" class="tab-pane fade " style="padding: 10px;">
|
||||||
<div class="panel-heading"><i class="fas fa-user"></i> <?php echo __('CustomizeUser') ?></div>
|
<?php
|
||||||
<div class="panel-body">
|
include $global['systemRootPath'] . 'plugin/CustomizeUser/View/Users_extra_info/index_body.php';
|
||||||
<ul class="nav nav-tabs">
|
?>
|
||||||
<li class="active"><a data-toggle="tab" href="#Categories_has_users_groups"><i class="fas fa-list"></i> <?php echo __("Categories"); ?> <i class="fas fa-times"></i> <i class="fas fa-users"></i> <?php echo __("Categories Has Users Groups"); ?></a></li>
|
</div>
|
||||||
<li class=""><a data-toggle="tab" href="#Users_extra_info"><i class="fas fa-address-book"></i> <?php echo __("Users Extra Info"); ?></a></li>
|
<div id="Users_affiliations" class="tab-pane fade" style="padding: 10px;">
|
||||||
<li class=""><a data-toggle="tab" href="#Users_affiliations"><i class="fas fa-child"></i> <?php echo __("Users Affiliations"); ?></a></li>
|
<?php
|
||||||
</ul>
|
include $global['systemRootPath'] . 'plugin/CustomizeUser/View/Users_affiliations/index_body.php';
|
||||||
<div class="tab-content">
|
?>
|
||||||
<div id="Categories_has_users_groups" class="tab-pane fade in active" style="padding: 10px;">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'plugin/CustomizeUser/View/Categories_has_users_groups/index_body.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<div id="Users_extra_info" class="tab-pane fade " style="padding: 10px;">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'plugin/CustomizeUser/View/Users_extra_info/index_body.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<div id="Users_affiliations" class="tab-pane fade" style="padding: 10px;">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'plugin/CustomizeUser/View/Users_affiliations/index_body.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript" src="<?php echo getURL('view/css/DataTables/datatables.min.js'); ?>"></script>
|
</div>
|
||||||
<script src="<?php echo getCDN(); ?>js/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js" type="text/javascript"></script>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
$_page->print();
|
||||||
?>
|
?>
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -94,7 +94,7 @@
|
||||||
var data = Users_affiliationstableVar.row(tr).data();
|
var data = Users_affiliationstableVar.row(tr).data();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/CustomizeUser/View/Users_affiliations/confirm.json.php',
|
url: webSiteRootURL+'plugin/CustomizeUser/View/Users_affiliations/confirm.json.php',
|
||||||
data: {id: data.id, confirm: confirm},
|
data: {id: data.id, confirm: confirm},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -108,7 +108,7 @@
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$('#addUsers_affiliationsBtn').click(function () {
|
$('#addUsers_affiliationsBtn').click(function () {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/CustomizeUser/View/addUsers_affiliationsVideo.php',
|
url: webSiteRootURL+'plugin/CustomizeUser/View/addUsers_affiliationsVideo.php',
|
||||||
data: $('#panelUsers_affiliationsForm').serialize(),
|
data: $('#panelUsers_affiliationsForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -164,7 +164,7 @@ echo 'var sendConfirmationCancelButton = row.company_agree_date && row.affiliate
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/CustomizeUser/View/Users_affiliations/add.json.php',
|
url: webSiteRootURL+'plugin/CustomizeUser/View/Users_affiliations/add.json.php',
|
||||||
data: $('#panelUsers_affiliationsForm').serialize(),
|
data: $('#panelUsers_affiliationsForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -118,7 +118,7 @@ if ($obj->allowWalletDirectTransferDonation && !empty($video['users_id']) && cla
|
||||||
function submitDonation<?php echo $uid; ?>() {
|
function submitDonation<?php echo $uid; ?>() {
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/CustomizeUser/donate.json.php',
|
url: webSiteRootURL+'plugin/CustomizeUser/donate.json.php',
|
||||||
data: {
|
data: {
|
||||||
"value": $('#donationValue<?php echo $uid; ?>').val(),
|
"value": $('#donationValue<?php echo $uid; ?>').val(),
|
||||||
"videos_id": <?php echo intval(@$video['id']); ?>,
|
"videos_id": <?php echo intval(@$video['id']); ?>,
|
||||||
|
@ -144,7 +144,7 @@ if ($obj->allowWalletDirectTransferDonation && !empty($video['users_id']) && cla
|
||||||
function submitDonationButton<?php echo $uid; ?>(buttonIndex) {
|
function submitDonationButton<?php echo $uid; ?>(buttonIndex) {
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/CustomizeUser/donate.json.php',
|
url: webSiteRootURL+'plugin/CustomizeUser/donate.json.php',
|
||||||
data: {
|
data: {
|
||||||
"buttonIndex": buttonIndex,
|
"buttonIndex": buttonIndex,
|
||||||
"videos_id": <?php echo intval(@$video['id']); ?>,
|
"videos_id": <?php echo intval(@$video['id']); ?>,
|
||||||
|
|
|
@ -8,97 +8,88 @@ if (!empty($images->posterPortrait) && !ImagesPlaceHolders::isDefaultImage($imag
|
||||||
}
|
}
|
||||||
$imgw = 1280;
|
$imgw = 1280;
|
||||||
$imgh = 720;
|
$imgh = 720;
|
||||||
$ogURL = Video::getLinkToVideo($video['id'], $video['clean_title'], false,false);
|
$ogURL = Video::getLinkToVideo($video['id'], $video['clean_title'], false, false);
|
||||||
|
$_page = new Page(array('Confirm Password'));
|
||||||
|
$_page->setIncludeNavbar(false);
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<style>
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
body {
|
||||||
<head>
|
padding-top: 0;
|
||||||
<title><?php echo __("Confirm Password") . $config->getPageTitleSeparator() . $config->getWebSiteTitle(); ?></title>
|
}
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
|
||||||
?>
|
|
||||||
<style>
|
|
||||||
body {
|
|
||||||
padding-top: 0;
|
|
||||||
}
|
|
||||||
footer{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
#bg{
|
|
||||||
position: fixed;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
background-image: url('<?php echo $images->poster; ?>');
|
|
||||||
background-size: cover;
|
|
||||||
opacity: 0.3;
|
|
||||||
filter: alpha(opacity=30); /* For IE8 and earlier */
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
|
||||||
<?php
|
|
||||||
//include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
?>
|
|
||||||
<div id="bg"></div>
|
|
||||||
|
|
||||||
<!-- Modal -->
|
footer {
|
||||||
<div id="myModal" class="modal fade in" role="dialog">
|
display: none;
|
||||||
<div class="modal-dialog">
|
}
|
||||||
|
|
||||||
<!-- Modal content-->
|
#bg {
|
||||||
<div class="modal-content">
|
position: fixed;
|
||||||
<div class="modal-header">
|
width: 100%;
|
||||||
<h1 class="modal-title">
|
height: 100%;
|
||||||
<center>
|
background-image: url('<?php echo $images->poster; ?>');
|
||||||
<i class="fas fa-lock"></i> <?php echo $video['title']; ?> <?php echo __("is Private"); ?>
|
background-size: cover;
|
||||||
</center>
|
opacity: 0.3;
|
||||||
</h1>
|
filter: alpha(opacity=30);
|
||||||
|
/* For IE8 and earlier */
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div id="bg"></div>
|
||||||
|
|
||||||
|
<!-- Modal -->
|
||||||
|
<div id="myModal" class="modal fade in" role="dialog">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
|
||||||
|
<!-- Modal content-->
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h1 class="modal-title">
|
||||||
|
<center>
|
||||||
|
<i class="fas fa-lock"></i> <?php echo $video['title']; ?> <?php echo __("is Private"); ?>
|
||||||
|
</center>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<img src="<?php echo $img; ?>" class="img img-responsive" />
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="col-sm-6">
|
||||||
<div class="row">
|
<center>
|
||||||
<div class="col-sm-6">
|
<form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
|
||||||
<img src="<?php echo $img; ?>" class="img img-responsive"/>
|
<?php
|
||||||
</div>
|
if (!empty($_REQUEST['video_password'])) {
|
||||||
<div class="col-sm-6">
|
?>
|
||||||
<center>
|
<div class="alert alert-danger"><?php echo __("Your password does not match!"); ?></div>
|
||||||
<form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
|
<?php
|
||||||
<?php
|
}
|
||||||
if (!empty($_REQUEST['video_password'])) {
|
?>
|
||||||
?>
|
<div class="form-group">
|
||||||
<div class="alert alert-danger"><?php echo __("Your password does not match!"); ?></div>
|
<label for="video_password"><?php echo __("This Video Requires a Password"); ?></label>
|
||||||
<?php
|
<?php
|
||||||
}
|
echo getInputPassword('video_password', 'class="form-control"', __("Password"));
|
||||||
?>
|
?>
|
||||||
<div class="form-group">
|
</div>
|
||||||
<label for="video_password"><?php echo __("This Video Requires a Password"); ?></label>
|
<div class="row">
|
||||||
<?php
|
<div class="col-md-6">
|
||||||
echo getInputPassword('video_password', 'class="form-control"', __("Password"));
|
<button type="submit" class="btn btn-success btn-block"><i class="fas fa-check-circle"></i> <?php echo __("Confirm"); ?></button>
|
||||||
?>
|
</div>
|
||||||
</div>
|
<div class="col-md-6">
|
||||||
<div class="row">
|
<a href="<?php echo getHomePageURL(); ?>" class="btn btn-danger btn-block"><i class="fas fa-times-circle"></i> <?php echo __("Cancel"); ?></a>
|
||||||
<div class="col-md-6">
|
</div>
|
||||||
<button type="submit" class="btn btn-success btn-block"><i class="fas fa-check-circle"></i> <?php echo __("Confirm"); ?></button>
|
</div>
|
||||||
</div>
|
</form>
|
||||||
<div class="col-md-6">
|
</center>
|
||||||
<a href="<?php echo getHomePageURL(); ?>" class="btn btn-danger btn-block"><i class="fas fa-times-circle"></i> <?php echo __("Cancel"); ?></a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</center>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
</div>
|
||||||
?>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(window).on('load', function () {
|
$(window).on('load', function() {
|
||||||
$('#myModal').modal('show');
|
$('#myModal').modal('show');
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
<?php
|
||||||
</html>
|
$_page->print();
|
||||||
|
?>
|
|
@ -20,52 +20,39 @@ if (empty($sources)) {
|
||||||
forbiddenPage("Empty sources");
|
forbiddenPage("Empty sources");
|
||||||
}
|
}
|
||||||
//var_dump($sources);
|
//var_dump($sources);
|
||||||
|
$_page = new Page(array('Customize User'));
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container-fluid">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<div class="panel panel-default">
|
||||||
<head>
|
<div class="panel-heading">
|
||||||
<title><?php echo $config->getWebSiteTitle(); ?> :: CustomizeUser</title>
|
<i class="fas fa-file"></i> <?php echo __('Source Files') ?>
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
|
||||||
?>
|
|
||||||
</head>
|
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
?>
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<i class="fas fa-file"></i> <?php echo __('Source Files') ?>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<?php
|
|
||||||
foreach ($sources as $key => $value) {
|
|
||||||
?>
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<h1><?php echo strtoupper($key); ?></h1>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<?php
|
|
||||||
if(is_string($value)){
|
|
||||||
echo "$value <br>";
|
|
||||||
}else{
|
|
||||||
foreach ($value as $key2 => $value2) {
|
|
||||||
echo "<strong class='badge '>{$key2}</strong> $value2 <br>";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<div class="panel-body">
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
<?php
|
||||||
?>
|
foreach ($sources as $key => $value) {
|
||||||
</body>
|
?>
|
||||||
</html>
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-heading">
|
||||||
|
<h1><?php echo strtoupper($key); ?></h1>
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
<?php
|
||||||
|
if (is_string($value)) {
|
||||||
|
echo "$value <br>";
|
||||||
|
} else {
|
||||||
|
foreach ($value as $key2 => $value2) {
|
||||||
|
echo "<strong class='badge '>{$key2}</strong> $value2 <br>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
$_page->print();
|
||||||
|
?>
|
|
@ -9,59 +9,49 @@ if (empty($users_id)) {
|
||||||
forbiddenPage('Empty users_id');
|
forbiddenPage('Empty users_id');
|
||||||
}
|
}
|
||||||
$pass = User::getProfilePassword($users_id);
|
$pass = User::getProfilePassword($users_id);
|
||||||
|
$_page = new Page(array('Set Password'));
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="panel panel-default">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<div class="panel-heading">
|
||||||
<head>
|
|
||||||
<title><?php echo __("Set Password"); ?></title>
|
|
||||||
<?php
|
<?php
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
echo Video::getCreatorHTML($users_id);
|
||||||
?>
|
?>
|
||||||
</head>
|
</div>
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
<div class="panel-body">
|
||||||
<div class="panel panel-default">
|
Protect the user's channel with a password
|
||||||
<div class="panel-heading">
|
|
||||||
<?php
|
|
||||||
echo Video::getCreatorHTML($users_id);
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
Protect the user's channel with a password
|
|
||||||
<?php
|
|
||||||
echo getInputPassword('ProfilePassword', 'maxlength="100" value="'.$pass.'" class="form-control"', __('Channel Password'));
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<div class="panel-footer">
|
|
||||||
<button class="btn btn-success btn-lg btn-block" onclick="setSubscribers();">
|
|
||||||
<i class="fas fa-save"></i> <?php echo __('Save'); ?>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php
|
<?php
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
echo getInputPassword('ProfilePassword', 'maxlength="100" value="' . $pass . '" class="form-control"', __('Channel Password'));
|
||||||
?>
|
?>
|
||||||
<script type="text/javascript">
|
</div>
|
||||||
function setSubscribers() {
|
<div class="panel-footer">
|
||||||
modal.showPleaseWait();
|
<button class="btn btn-success btn-lg btn-block" onclick="setSubscribers();">
|
||||||
$.ajax({
|
<i class="fas fa-save"></i> <?php echo __('Save'); ?>
|
||||||
url: webSiteRootURL + 'plugin/CustomizeUser/setPassword.json.php',
|
</button>
|
||||||
method: 'POST',
|
</div>
|
||||||
data: {
|
</div>
|
||||||
users_id: <?php echo $users_id; ?>,
|
<script type="text/javascript">
|
||||||
ProfilePassword: $('#ProfilePassword').val()
|
function setSubscribers() {
|
||||||
},
|
modal.showPleaseWait();
|
||||||
success: function (response) {
|
$.ajax({
|
||||||
modal.hidePleaseWait();
|
url: webSiteRootURL + 'plugin/CustomizeUser/setPassword.json.php',
|
||||||
avideoResponse(response);
|
method: 'POST',
|
||||||
}
|
data: {
|
||||||
});
|
users_id: <?php echo $users_id; ?>,
|
||||||
|
ProfilePassword: $('#ProfilePassword').val()
|
||||||
|
},
|
||||||
|
success: function(response) {
|
||||||
|
modal.hidePleaseWait();
|
||||||
|
avideoResponse(response);
|
||||||
}
|
}
|
||||||
$(document).ready(function () {
|
});
|
||||||
|
}
|
||||||
|
$(document).ready(function() {
|
||||||
|
|
||||||
$('#ProfilePassword').keyup(function () {
|
$('#ProfilePassword').keyup(function() {
|
||||||
$(this).val($(this).val().replace(/[^0-9a-z]/i, ''));
|
$(this).val($(this).val().replace(/[^0-9a-z]/i, ''));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
<?php
|
||||||
</html>
|
$_page->print();
|
||||||
|
?>
|
|
@ -9,51 +9,44 @@ if (empty($users_id)) {
|
||||||
forbiddenPage('Empty users_id');
|
forbiddenPage('Empty users_id');
|
||||||
}
|
}
|
||||||
$count = User::getExtraSubscribers($users_id);
|
$count = User::getExtraSubscribers($users_id);
|
||||||
?>
|
$_page = new Page(array('Set subscribers'));
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
|
||||||
<head>
|
|
||||||
<title><?php echo __("Set subscribers"); ?></title>
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
|
||||||
?>
|
|
||||||
</head>
|
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<?php
|
|
||||||
echo Video::getCreatorHTML($users_id);
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
Add extra <input type="number" step="1" id="ExtraSubscribers" value="<?php echo $count; ?>"/> subscribers on his subscription counter.
|
|
||||||
|
|
||||||
</div>
|
?>
|
||||||
<div class="panel-footer">
|
<div class="container">
|
||||||
<button class="btn btn-success btn-lg btn-block" onclick="setSubscribers();">
|
<div class="panel panel-default">
|
||||||
<i class="fas fa-save"></i> <?php echo __('Save'); ?>
|
<div class="panel-heading">
|
||||||
</button>
|
<?php
|
||||||
</div>
|
echo Video::getCreatorHTML($users_id);
|
||||||
|
?>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<div class="panel-body">
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
Add extra <input type="number" step="1" id="ExtraSubscribers" value="<?php echo $count; ?>" /> subscribers on his subscription counter.
|
||||||
?>
|
|
||||||
<script type="text/javascript">
|
</div>
|
||||||
function setSubscribers() {
|
<div class="panel-footer">
|
||||||
modal.showPleaseWait();
|
<button class="btn btn-success btn-lg btn-block" onclick="setSubscribers();">
|
||||||
$.ajax({
|
<i class="fas fa-save"></i> <?php echo __('Save'); ?>
|
||||||
url: webSiteRootURL + 'plugin/CustomizeUser/setSubscribers.json.php',
|
</button>
|
||||||
method: 'POST',
|
</div>
|
||||||
data: {
|
</div>
|
||||||
users_id: <?php echo $users_id; ?>,
|
<script type="text/javascript">
|
||||||
ExtraSubscribers: $('#ExtraSubscribers').val()
|
function setSubscribers() {
|
||||||
},
|
modal.showPleaseWait();
|
||||||
success: function (response) {
|
$.ajax({
|
||||||
modal.hidePleaseWait();
|
url: webSiteRootURL + 'plugin/CustomizeUser/setSubscribers.json.php',
|
||||||
avideoResponse(response);
|
method: 'POST',
|
||||||
}
|
data: {
|
||||||
});
|
users_id: <?php echo $users_id; ?>,
|
||||||
}
|
ExtraSubscribers: $('#ExtraSubscribers').val()
|
||||||
</script>
|
},
|
||||||
</body>
|
success: function(response) {
|
||||||
</html>
|
modal.hidePleaseWait();
|
||||||
|
avideoResponse(response);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
$_page->print();
|
||||||
|
?>
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
$uid = uniqid();
|
$uid = uniqid();
|
||||||
?>
|
?>
|
||||||
<div class="material-switch">
|
<div class="material-switch">
|
||||||
<input class="playerSwitchDefault" data-toggle="toggle" type="checkbox" value="" id="switch<?php echo $uid; ?>" <?php echo (CustomizeUser::canDownloadVideosFromUser($users_id)) ? "checked" : ""; ?>>
|
<input class="playerSwitchDefault" data-toggle="toggle" type="checkbox" value="" id="switch<?php echo $uid; ?>" <?php echo (CustomizeUser::canDownloadVideosFromUser($users_id)) ? "checked" : ""; ?>>
|
||||||
<label for="switch<?php echo $uid; ?>" class="label-primary"></label>
|
<label for="switch<?php echo $uid; ?>" class="label-primary"></label>
|
||||||
|
@ -10,7 +10,7 @@ $uid = uniqid();
|
||||||
$('#switch<?php echo $uid; ?>').change(function (e) {
|
$('#switch<?php echo $uid; ?>').change(function (e) {
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/CustomizeUser/set.json.php',
|
url: webSiteRootURL+'plugin/CustomizeUser/set.json.php',
|
||||||
data: {"type": "userCanAllowFilesDownload", "value": $('#switch<?php echo $uid; ?>').is(":checked")},
|
data: {"type": "userCanAllowFilesDownload", "value": $('#switch<?php echo $uid; ?>').is(":checked")},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -10,7 +10,7 @@ $uid = uniqid();
|
||||||
$('#switch<?php echo $uid; ?>').change(function (e) {
|
$('#switch<?php echo $uid; ?>').change(function (e) {
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/CustomizeUser/set.json.php',
|
url: webSiteRootURL+'plugin/CustomizeUser/set.json.php',
|
||||||
data: {"type": "userCanAllowFilesShare", "value": $('#switch<?php echo $uid; ?>').is(":checked")},
|
data: {"type": "userCanAllowFilesShare", "value": $('#switch<?php echo $uid; ?>').is(":checked")},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -1,36 +1,21 @@
|
||||||
<?php
|
<?php
|
||||||
require_once '../../../videos/configuration.php';
|
require_once '../../../videos/configuration.php';
|
||||||
|
$_page = new Page(array('Animations'));
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container-fluid">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<div class="row">
|
||||||
<head>
|
|
||||||
<?php
|
<?php
|
||||||
echo getHTMLTitle(__("Animations"));
|
foreach (glob("{$global['systemRootPath']}plugin/Layout/animatedBackGrounds/*.php") as $file) {
|
||||||
|
$name = basename($file);
|
||||||
|
if ($name === 'index.php') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$url = str_replace($global['systemRootPath'], getCDN(), $file);
|
||||||
|
echo "<div class='col-sm-3'>{$name}<iframe src='{$url}' style='width:100%; height: 400px;'></iframe></div>";
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
<?php
|
</div>
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
</div>
|
||||||
?>
|
<?php
|
||||||
</head>
|
$_page->print();
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
?>
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
?>
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="row">
|
|
||||||
<?php
|
|
||||||
foreach (glob("{$global['systemRootPath']}plugin/Layout/animatedBackGrounds/*.php") as $file) {
|
|
||||||
$name = basename($file);
|
|
||||||
if($name === 'index.php'){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
$url = str_replace($global['systemRootPath'], getCDN(), $file);
|
|
||||||
echo "<div class='col-sm-3'>{$name}<iframe src='{$url}' style='width:100%; height: 400px;'></iframe></div>";
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
|
||||||
?>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -28,93 +28,87 @@ if (!empty($_REQUEST['live_schedule'])) {
|
||||||
}
|
}
|
||||||
$imgw = 640;
|
$imgw = 640;
|
||||||
$imgh = 360;
|
$imgh = 360;
|
||||||
|
$_page = new Page(array('Confirm Password'));
|
||||||
|
$_page->setIncludeNavbar(false);
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<style>
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
body {
|
||||||
<head>
|
padding-top: 0;
|
||||||
<title><?php echo __("Confirm Password"); ?></title>
|
}
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
|
||||||
?>
|
|
||||||
<style>
|
|
||||||
body {
|
|
||||||
padding-top: 0;
|
|
||||||
}
|
|
||||||
footer{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
#bg{
|
|
||||||
position: fixed;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
background-image: url('<?php echo $img; ?>');
|
|
||||||
background-size: cover;
|
|
||||||
opacity: 0.3;
|
|
||||||
filter: alpha(opacity=30); /* For IE8 and earlier */
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<div id="bg"></div>
|
|
||||||
|
|
||||||
<!-- Modal -->
|
footer {
|
||||||
<div id="myModal" class="modal fade in" role="dialog">
|
display: none;
|
||||||
<div class="modal-dialog">
|
}
|
||||||
|
|
||||||
<!-- Modal content-->
|
#bg {
|
||||||
<div class="modal-content">
|
position: fixed;
|
||||||
<div class="modal-header">
|
width: 100%;
|
||||||
<h1 class="modal-title">
|
height: 100%;
|
||||||
<center>
|
background-image: url('<?php echo $img; ?>');
|
||||||
<i class="fas fa-lock"></i> <?php echo $video['title']; ?> <?php echo __("is Private"); ?>
|
background-size: cover;
|
||||||
</center>
|
opacity: 0.3;
|
||||||
</h1>
|
filter: alpha(opacity=30);
|
||||||
|
/* For IE8 and earlier */
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div id="bg"></div>
|
||||||
|
|
||||||
|
<!-- Modal -->
|
||||||
|
<div id="myModal" class="modal fade in" role="dialog">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
|
||||||
|
<!-- Modal content-->
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h1 class="modal-title">
|
||||||
|
<center>
|
||||||
|
<i class="fas fa-lock"></i> <?php echo $video['title']; ?> <?php echo __("is Private"); ?>
|
||||||
|
</center>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<img src="<?php echo $img; ?>" class="img img-responsive" />
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="col-sm-6">
|
||||||
<div class="row">
|
<center>
|
||||||
<div class="col-sm-6">
|
<form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
|
||||||
<img src="<?php echo $img; ?>" class="img img-responsive"/>
|
<?php
|
||||||
</div>
|
if (!empty($_POST['live_password'])) {
|
||||||
<div class="col-sm-6">
|
?>
|
||||||
<center>
|
<div class="alert alert-danger"><?php echo __("Your password does not match!"); ?></div>
|
||||||
<form method="post" action="<?php echo $_SERVER['REQUEST_URI']; ?>">
|
<?php
|
||||||
<?php
|
}
|
||||||
if (!empty($_POST['live_password'])) {
|
?>
|
||||||
?>
|
<div class="form-group">
|
||||||
<div class="alert alert-danger"><?php echo __("Your password does not match!"); ?></div>
|
<label for="live_password"><?php echo __("This Live Requires a Password"); ?></label>
|
||||||
<?php
|
<?php
|
||||||
}
|
echo getInputPassword('live_password', 'class="form-control"', __("Password"));
|
||||||
?>
|
?>
|
||||||
<div class="form-group">
|
</div>
|
||||||
<label for="live_password"><?php echo __("This Live Requires a Password"); ?></label>
|
<div class="row">
|
||||||
<?php
|
<div class="col-md-6">
|
||||||
echo getInputPassword('live_password', 'class="form-control"', __("Password"));
|
<button type="submit" class="btn btn-success btn-block"><i class="fas fa-check-circle"></i> <?php echo __("Confirm"); ?></button>
|
||||||
?>
|
</div>
|
||||||
</div>
|
<div class="col-md-6">
|
||||||
<div class="row">
|
<a href="<?php echo getHomePageURL(); ?>" class="btn btn-danger btn-block"><i class="fas fa-times-circle"></i> <?php echo __("Cancel"); ?></a>
|
||||||
<div class="col-md-6">
|
</div>
|
||||||
<button type="submit" class="btn btn-success btn-block"><i class="fas fa-check-circle"></i> <?php echo __("Confirm"); ?></button>
|
</div>
|
||||||
</div>
|
</form>
|
||||||
<div class="col-md-6">
|
</center>
|
||||||
<a href="<?php echo getHomePageURL(); ?>" class="btn btn-danger btn-block"><i class="fas fa-times-circle"></i> <?php echo __("Cancel"); ?></a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</center>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
</div>
|
||||||
?>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(window).on('load', function () {
|
$(window).on('load', function() {
|
||||||
$('#myModal').modal('show');
|
$('#myModal').modal('show');
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
<?php
|
||||||
</html>
|
$_page->print();
|
||||||
|
?>
|
|
@ -113,227 +113,188 @@ if (!empty($chat2) && !empty($chat2->useStaticLayout)) {
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
$global['doNotLoadPlayer'] = 1;
|
$global['doNotLoadPlayer'] = 1;
|
||||||
|
|
||||||
|
$_page = new Page(array('Live'));
|
||||||
|
$_page->setExtraScripts(
|
||||||
|
array(
|
||||||
|
'view/js/bootstrap-fileinput/js/fileinput.min.js',
|
||||||
|
)
|
||||||
|
);
|
||||||
|
$_page->setExtraStyles(
|
||||||
|
array(
|
||||||
|
'view/js/bootstrap-fileinput/css/fileinput.min.css',
|
||||||
|
)
|
||||||
|
);
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container-fluid">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
|
||||||
|
|
||||||
<head>
|
<div class="panel panel-default">
|
||||||
<title><?php echo __("Live") . $config->getPageTitleSeparator() . $config->getWebSiteTitle(); ?></title>
|
<div class="panel-heading tabbable-line">
|
||||||
<?php
|
<ul class="nav nav-tabs">
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
|
||||||
?>
|
|
||||||
<link href="<?php echo getURL('view/js/bootstrap-fileinput/css/fileinput.min.css'); ?>" rel="stylesheet" type="text/css" />
|
|
||||||
<script src="<?php echo getURL('view/js/bootstrap-fileinput/js/fileinput.min.js'); ?>" type="text/javascript"></script>
|
|
||||||
<style>
|
|
||||||
.krajee-default.file-preview-frame .kv-file-content {
|
|
||||||
width: auto;
|
|
||||||
height: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
#live .panel-body {
|
|
||||||
height: calc(100vh - 220px);
|
|
||||||
}
|
|
||||||
|
|
||||||
#live .panel-body>div,
|
|
||||||
#mainVideo {
|
|
||||||
height: -webkit-fill-available;
|
|
||||||
width: -webkit-fill-available;
|
|
||||||
}
|
|
||||||
|
|
||||||
<?php
|
|
||||||
/*
|
|
||||||
if (AVideoPlugin::isEnabledByName('Chat2')) {
|
|
||||||
?>
|
|
||||||
@media (max-width: 769px) {
|
|
||||||
#live .panel-body {
|
|
||||||
height: calc(50vh - 200px);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
<?php
|
<?php
|
||||||
}
|
$activeServerFound = false;
|
||||||
*
|
if (!$obj->useLiveServers) {
|
||||||
*/
|
$liveStreamObject = new LiveStreamObject($trasnmition['key'], 0, @$_REQUEST['live_index'], 0);
|
||||||
?>
|
$key = $liveStreamObject->getKeyWithIndex(true);
|
||||||
</style>
|
$activeServerFound = true;
|
||||||
</head>
|
$_REQUEST['live_servers_id'] = 0;
|
||||||
|
?>
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
<li class="active <?php echo getCSSAnimationClassAndStyle('animate__fadeInLeft', 'menu'); ?>">
|
||||||
<?php
|
<a href="<?php echo $global['webSiteRootURL']; ?>plugin/Live/?live_servers_id=0">
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
<i class="fas fa-broadcast-tower"></i> <?php echo __("Local Server"); ?>
|
||||||
?>
|
</a>
|
||||||
<div class="container-fluid">
|
</li>
|
||||||
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading tabbable-line">
|
|
||||||
<ul class="nav nav-tabs">
|
|
||||||
<?php
|
<?php
|
||||||
$activeServerFound = false;
|
} else {
|
||||||
if (!$obj->useLiveServers) {
|
$servers = Live::getAllServers();
|
||||||
$liveStreamObject = new LiveStreamObject($trasnmition['key'], 0, @$_REQUEST['live_index'], 0);
|
$activeFound = false;
|
||||||
|
foreach ($servers as $index => $value) {
|
||||||
|
$liveStreamObject = new LiveStreamObject($trasnmition['key'], $value['id'], @$_REQUEST['live_index'], 0);
|
||||||
$key = $liveStreamObject->getKeyWithIndex(true);
|
$key = $liveStreamObject->getKeyWithIndex(true);
|
||||||
$activeServerFound = true;
|
$active = "";
|
||||||
$_REQUEST['live_servers_id'] = 0;
|
if (!empty($_REQUEST['live_servers_id'])) {
|
||||||
?>
|
if ($_REQUEST['live_servers_id'] == $value['id']) {
|
||||||
<li class="active <?php echo getCSSAnimationClassAndStyle('animate__fadeInLeft', 'menu'); ?>">
|
|
||||||
<a href="<?php echo $global['webSiteRootURL']; ?>plugin/Live/?live_servers_id=0">
|
|
||||||
<i class="fas fa-broadcast-tower"></i> <?php echo __("Local Server"); ?>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<?php
|
|
||||||
} else {
|
|
||||||
$servers = Live::getAllServers();
|
|
||||||
$activeFound = false;
|
|
||||||
foreach ($servers as $index => $value) {
|
|
||||||
$liveStreamObject = new LiveStreamObject($trasnmition['key'], $value['id'], @$_REQUEST['live_index'], 0);
|
|
||||||
$key = $liveStreamObject->getKeyWithIndex(true);
|
|
||||||
$active = "";
|
|
||||||
if (!empty($_REQUEST['live_servers_id'])) {
|
|
||||||
if ($_REQUEST['live_servers_id'] == $value['id']) {
|
|
||||||
$activeServerFound = true;
|
|
||||||
$active = "active";
|
|
||||||
}
|
|
||||||
} elseif ($index == 0) {
|
|
||||||
$_REQUEST['live_servers_id'] = $value['id'];
|
|
||||||
$activeServerFound = true;
|
$activeServerFound = true;
|
||||||
$active = "active";
|
$active = "active";
|
||||||
}
|
}
|
||||||
?>
|
} elseif ($index == 0) {
|
||||||
<li class="<?php echo $active; ?> <?php echo getCSSAnimationClassAndStyle('animate__fadeInLeft', 'menu'); ?>">
|
$_REQUEST['live_servers_id'] = $value['id'];
|
||||||
<a href="<?php echo $global['webSiteRootURL']; ?>plugin/Live/?live_servers_id=<?php echo $value['id']; ?>">
|
$activeServerFound = true;
|
||||||
<i class="fas fa-broadcast-tower"></i> <?php echo $value['name']; ?>
|
$active = "active";
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<?php
|
|
||||||
}
|
}
|
||||||
if (User::isAdmin()) {
|
?>
|
||||||
?>
|
<li class="<?php echo $active; ?> <?php echo getCSSAnimationClassAndStyle('animate__fadeInLeft', 'menu'); ?>">
|
||||||
<button onclick="avideoModalIframeFullScreen(webSiteRootURL + 'plugin/Live/view/editor.php');" class="btn btn-primary pull-right"><i class="fa fa-edit"></i> Edit Live Servers</button>
|
<a href="<?php echo $global['webSiteRootURL']; ?>plugin/Live/?live_servers_id=<?php echo $value['id']; ?>">
|
||||||
<?php
|
<i class="fas fa-broadcast-tower"></i> <?php echo $value['name']; ?>
|
||||||
}
|
</a>
|
||||||
}
|
</li>
|
||||||
if (Live::canStreamWithMeet()) {
|
|
||||||
?>
|
|
||||||
<button onclick="avideoModalIframeFullScreen(webSiteRootURL + 'plugin/Meet/');" class="btn btn-default pull-right">
|
|
||||||
<i class="fas fa-comments"></i> <span class="hidden-md hidden-sm hidden-xs"><?php echo __("Start a Live Stream Meeting"); ?></span><span class="hidden-lg"><?php echo __("Meeting"); ?></span>
|
|
||||||
</button>
|
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
if (Live::canStreamWithWebRTC()) {
|
if (User::isAdmin()) {
|
||||||
?>
|
?>
|
||||||
<button onclick="avideoModalIframeFullScreen(webSiteRootURL + 'plugin/Live/webcamFullscreen.php?avideoIframe=1');" class="btn btn-default pull-right" data-toggle="tooltip" title=<?php printJSString(__("Go Live With Webcam")); ?>>
|
<button onclick="avideoModalIframeFullScreen(webSiteRootURL + 'plugin/Live/view/editor.php');" class="btn btn-primary pull-right"><i class="fa fa-edit"></i> Edit Live Servers</button>
|
||||||
<i class="fas fa-camera"></i> <span class="hidden-md hidden-sm hidden-xs"><?php echo __("Go Live With Webcam"); ?></span><span class="hidden-lg"><?php echo __("Webcam"); ?></span>
|
|
||||||
</button>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
if (empty($activeServerFound)) {
|
|
||||||
if (!empty($servers[0])) {
|
|
||||||
$_REQUEST['live_servers_id'] = $servers[0]['id'];
|
|
||||||
} else {
|
|
||||||
?>
|
|
||||||
<li>
|
|
||||||
<a href="<?php echo $global['webSiteRootURL']; ?>plugin/Live/view/editor.php" class="btn btn-danger">
|
|
||||||
<i class="fas fa-exclamation-triangle"></i> <?php echo __("Server not found or inactive"); ?>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<?php
|
<?php
|
||||||
}
|
|
||||||
}
|
}
|
||||||
$_REQUEST['live_servers_id'] = Live::getLiveServersIdRequest();
|
}
|
||||||
$getLiveKey['live_servers_id'] = $_REQUEST['live_servers_id'];
|
if (Live::canStreamWithMeet()) {
|
||||||
$getLiveKey['live_index'] = @$_REQUEST['live_index'];
|
|
||||||
$poster = Live::getPosterImage(User::getId(), $_REQUEST['live_servers_id']);
|
|
||||||
?>
|
?>
|
||||||
</ul>
|
<button onclick="avideoModalIframeFullScreen(webSiteRootURL + 'plugin/Meet/');" class="btn btn-default pull-right">
|
||||||
</div>
|
<i class="fas fa-comments"></i> <span class="hidden-md hidden-sm hidden-xs"><?php echo __("Start a Live Stream Meeting"); ?></span><span class="hidden-lg"><?php echo __("Meeting"); ?></span>
|
||||||
<div class="panel-body">
|
</button>
|
||||||
<div class="col-lg-6" id="indexCol1">
|
<?php
|
||||||
<div class="row">
|
}
|
||||||
<div class="<?php echo $col1Class; ?>">
|
if (Live::canStreamWithWebRTC()) {
|
||||||
<?php
|
?>
|
||||||
include $global['systemRootPath'] . 'plugin/Live/indexCol1.php';
|
<button onclick="avideoModalIframeFullScreen(webSiteRootURL + 'plugin/Live/webcamFullscreen.php?avideoIframe=1');" class="btn btn-default pull-right" data-toggle="tooltip" title=<?php printJSString(__("Go Live With Webcam")); ?>>
|
||||||
?>
|
<i class="fas fa-camera"></i> <span class="hidden-md hidden-sm hidden-xs"><?php echo __("Go Live With Webcam"); ?></span><span class="hidden-lg"><?php echo __("Webcam"); ?></span>
|
||||||
</div>
|
</button>
|
||||||
<div class="<?php echo $col2Class; ?>" id="yptRightBar">
|
<?php
|
||||||
<?php
|
}
|
||||||
include $global['systemRootPath'] . 'plugin/Live/indexCol2.php';
|
if (empty($activeServerFound)) {
|
||||||
?>
|
if (!empty($servers[0])) {
|
||||||
</div>
|
$_REQUEST['live_servers_id'] = $servers[0]['id'];
|
||||||
|
} else {
|
||||||
|
?>
|
||||||
|
<li>
|
||||||
|
<a href="<?php echo $global['webSiteRootURL']; ?>plugin/Live/view/editor.php" class="btn btn-danger">
|
||||||
|
<i class="fas fa-exclamation-triangle"></i> <?php echo __("Server not found or inactive"); ?>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$_REQUEST['live_servers_id'] = Live::getLiveServersIdRequest();
|
||||||
|
$getLiveKey['live_servers_id'] = $_REQUEST['live_servers_id'];
|
||||||
|
$getLiveKey['live_index'] = @$_REQUEST['live_index'];
|
||||||
|
$poster = Live::getPosterImage(User::getId(), $_REQUEST['live_servers_id']);
|
||||||
|
?>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="col-lg-6" id="indexCol1">
|
||||||
|
<div class="row">
|
||||||
|
<div class="<?php echo $col1Class; ?>">
|
||||||
|
<?php
|
||||||
|
include $global['systemRootPath'] . 'plugin/Live/indexCol1.php';
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
<div class="<?php echo $col2Class; ?>" id="yptRightBar">
|
||||||
|
<?php
|
||||||
|
include $global['systemRootPath'] . 'plugin/Live/indexCol2.php';
|
||||||
|
?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-6 " id="indexCol2">
|
</div>
|
||||||
<?php
|
<div class="col-lg-6 " id="indexCol2">
|
||||||
include $global['systemRootPath'] . 'plugin/Live/indexCol3.php';
|
<?php
|
||||||
?>
|
include $global['systemRootPath'] . 'plugin/Live/indexCol3.php';
|
||||||
</div>
|
?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
|
||||||
?>
|
|
||||||
<script>
|
|
||||||
var flashvars = {
|
|
||||||
server: "<?php echo Live::getRTMPLinkWithOutKeyFromKey($trasnmition['key']); ?>",
|
|
||||||
stream: "<?php echo $trasnmition['key']; ?>"
|
|
||||||
};
|
|
||||||
var params = {};
|
|
||||||
var attributes = {};
|
|
||||||
|
|
||||||
function saveStream() {
|
</div>
|
||||||
|
<script>
|
||||||
|
var flashvars = {
|
||||||
|
server: "<?php echo Live::getRTMPLinkWithOutKeyFromKey($trasnmition['key']); ?>",
|
||||||
|
stream: "<?php echo $trasnmition['key']; ?>"
|
||||||
|
};
|
||||||
|
var params = {};
|
||||||
|
var attributes = {};
|
||||||
|
|
||||||
|
function saveStream() {
|
||||||
|
modal.showPleaseWait();
|
||||||
|
|
||||||
|
var selectedUserGroups = [];
|
||||||
|
$('.userGroups:checked').each(function() {
|
||||||
|
selectedUserGroups.push($(this).val());
|
||||||
|
});
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: webSiteRootURL+'plugin/Live/saveLive.php',
|
||||||
|
data: {
|
||||||
|
"title": $('#title').val(),
|
||||||
|
"description": $('#description').val(),
|
||||||
|
"categories_id": $('select[name="categories_id"]').val(),
|
||||||
|
"key": "<?php echo $trasnmition['key']; ?>",
|
||||||
|
"listed": $('#listed').is(":checked"),
|
||||||
|
"saveTransmition": $('#recordLive').is(":checked"),
|
||||||
|
"userGroups": selectedUserGroups,
|
||||||
|
users_id: '<?php echo $users_id; ?>',
|
||||||
|
password: $('#password_livestream').val()
|
||||||
|
},
|
||||||
|
type: 'post',
|
||||||
|
success: function(response) {
|
||||||
|
modal.hidePleaseWait();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
$(document).ready(function() {
|
||||||
|
$('#removePoster').click(function() {
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
|
|
||||||
var selectedUserGroups = [];
|
|
||||||
$('.userGroups:checked').each(function() {
|
|
||||||
selectedUserGroups.push($(this).val());
|
|
||||||
});
|
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Live/saveLive.php',
|
url: webSiteRootURL + "plugin/Live/removePoster.php?live_servers_id=<?php echo $_REQUEST['live_servers_id']; ?>",
|
||||||
data: {
|
|
||||||
"title": $('#title').val(),
|
|
||||||
"description": $('#description').val(),
|
|
||||||
"categories_id": $('select[name="categories_id"]').val(),
|
|
||||||
"key": "<?php echo $trasnmition['key']; ?>",
|
|
||||||
"listed": $('#listed').is(":checked"),
|
|
||||||
"saveTransmition": $('#recordLive').is(":checked"),
|
|
||||||
"userGroups": selectedUserGroups,
|
|
||||||
users_id: '<?php echo $users_id; ?>',
|
|
||||||
password: $('#password_livestream').val()
|
|
||||||
},
|
|
||||||
type: 'post',
|
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
modal.hidePleaseWait();
|
modal.hidePleaseWait();
|
||||||
|
if (response.error) {
|
||||||
|
avideoAlert("<?php echo __("Sorry!"); ?>", response.msg, "error");
|
||||||
|
} else {
|
||||||
|
$('#mainVideo video').attr('poster', webSiteRootURL + response.newPoster);
|
||||||
|
$('#mainVideo .vjs-poster').css('background-image', 'url("' + webSiteRootURL + response.newPoster + '")');
|
||||||
|
$('.kv-file-content img').attr('src', '<?php echo $global['webSiteRootURL']; ?>' + response.newPoster);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
|
||||||
$(document).ready(function() {
|
|
||||||
$('#removePoster').click(function() {
|
|
||||||
modal.showPleaseWait();
|
|
||||||
$.ajax({
|
|
||||||
url: webSiteRootURL + "plugin/Live/removePoster.php?live_servers_id=<?php echo $_REQUEST['live_servers_id']; ?>",
|
|
||||||
success: function(response) {
|
|
||||||
modal.hidePleaseWait();
|
|
||||||
if (response.error) {
|
|
||||||
avideoAlert("<?php echo __("Sorry!"); ?>", response.msg, "error");
|
|
||||||
} else {
|
|
||||||
$('#mainVideo video').attr('poster', webSiteRootURL + response.newPoster);
|
|
||||||
$('#mainVideo .vjs-poster').css('background-image', 'url("' + webSiteRootURL + response.newPoster + '")');
|
|
||||||
$('.kv-file-content img').attr('src', '<?php echo $global['webSiteRootURL']; ?>' + response.newPoster);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
$('.btnSaveStream').click(function() {
|
|
||||||
saveStream();
|
|
||||||
});
|
|
||||||
|
|
||||||
<?php
|
|
||||||
echo PlayerSkins::getStartPlayerJS("", "", true);
|
|
||||||
?>
|
|
||||||
});
|
});
|
||||||
</script>
|
$('.btnSaveStream').click(function() {
|
||||||
</body>
|
saveStream();
|
||||||
|
});
|
||||||
|
|
||||||
</html>
|
<?php
|
||||||
<?php include_once $global['systemRootPath'] . 'objects/include_end.php'; ?>
|
echo PlayerSkins::getStartPlayerJS("", "", true);
|
||||||
|
?>
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
$_page->print();
|
||||||
|
?>
|
|
@ -14,55 +14,46 @@ $ls = new Live_schedule($_REQUEST['live_schedule_id']);
|
||||||
$liveImg = Live_schedule::getPosterURL($_REQUEST['live_schedule_id']);
|
$liveImg = Live_schedule::getPosterURL($_REQUEST['live_schedule_id']);
|
||||||
|
|
||||||
$liveInfo = Live::getInfo($ls->getKey(), $ls->getLive_servers_id());
|
$liveInfo = Live::getInfo($ls->getKey(), $ls->getLive_servers_id());
|
||||||
|
$_page = new Page(array('Remind me'));
|
||||||
|
//$_page->setIncludeNavbar(false);
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<style>
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
.schedulePoster {
|
||||||
<head>
|
max-width: 20vw;
|
||||||
<title>Remind me</title>
|
max-height: 10vh;
|
||||||
<?php
|
padding: 0 10px 0 0;
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
}
|
||||||
?>
|
</style>
|
||||||
<style>
|
<div class="container-fluid">
|
||||||
.schedulePoster{
|
<div class="panel panel-default">
|
||||||
max-width: 20vw;
|
<div class="panel-heading clearfix">
|
||||||
max-height: 10vh;
|
<div class="pull-left">
|
||||||
padding: 0 10px 0 0;
|
<img src="<?php echo $liveImg; ?>" class="img img-responsive schedulePoster">
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body style="padding: 0 10px;">
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading clearfix">
|
|
||||||
<div class="pull-left">
|
|
||||||
<img src="<?php echo $liveImg; ?>" class="img img-responsive schedulePoster">
|
|
||||||
</div>
|
|
||||||
<h2>
|
|
||||||
<?php
|
|
||||||
echo __('Remind me');
|
|
||||||
?>
|
|
||||||
</h2>
|
|
||||||
<h3>
|
|
||||||
<?php
|
|
||||||
echo $ls->getTitle();
|
|
||||||
?>
|
|
||||||
</h3>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body" style="padding: 10px;">
|
|
||||||
<?php
|
|
||||||
echo Live::getScheduleReminderOptions($_REQUEST['live_schedule_id']);
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<div class="panel-footer" >
|
|
||||||
<i class="far fa-clock"></i>
|
|
||||||
<?php
|
|
||||||
echo $liveInfo['displayTime'];
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<h2>
|
||||||
|
<?php
|
||||||
|
echo __('Remind me');
|
||||||
|
?>
|
||||||
|
</h2>
|
||||||
|
<h3>
|
||||||
|
<?php
|
||||||
|
echo $ls->getTitle();
|
||||||
|
?>
|
||||||
|
</h3>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<div class="panel-body" style="padding: 10px;">
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
<?php
|
||||||
?>
|
echo Live::getScheduleReminderOptions($_REQUEST['live_schedule_id']);
|
||||||
</body>
|
?>
|
||||||
</html>
|
</div>
|
||||||
|
<div class="panel-footer">
|
||||||
|
<i class="far fa-clock"></i>
|
||||||
|
<?php
|
||||||
|
echo $liveInfo['displayTime'];
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
$_page->print();
|
||||||
|
?>
|
|
@ -7,223 +7,209 @@ if (!isset($global['systemRootPath'])) {
|
||||||
if (!Live::canRestream()) {
|
if (!Live::canRestream()) {
|
||||||
forbiddenPage('You cannot restream');
|
forbiddenPage('You cannot restream');
|
||||||
}
|
}
|
||||||
|
$_page = new Page(array('Active Lives'));
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<style>
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
#livesRestreamList .livesRestreamStatus.inactive .hideWhenInactive,
|
||||||
<head>
|
#livesRestreamList .livesRestreamStatus.active .hideWhenActive,
|
||||||
<title><?php echo __("Live") . $config->getPageTitleSeparator() . $config->getWebSiteTitle(); ?></title>
|
#livesRestreamList .livesRestreamStatus.loading .hideWhenLoading,
|
||||||
<?php
|
#livesRestreamList .livesRestreamStatus.hasLog .hideWhenHasLog,
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
#livesRestreamList .livesRestreamStatus.hasNoLog .hideWhenHasNoLog {
|
||||||
//include $global['systemRootPath'] . 'plugin/Live/view/{$classname}/index_head.php';
|
display: none;
|
||||||
?>
|
}
|
||||||
<style>
|
|
||||||
#livesRestreamList .livesRestreamStatus.inactive .hideWhenInactive,
|
|
||||||
#livesRestreamList .livesRestreamStatus.active .hideWhenActive,
|
|
||||||
#livesRestreamList .livesRestreamStatus.loading .hideWhenLoading,
|
|
||||||
#livesRestreamList .livesRestreamStatus.hasLog .hideWhenHasLog,
|
|
||||||
#livesRestreamList .livesRestreamStatus.hasNoLog .hideWhenHasNoLog{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
#livesRestreamList .livesRestreamStatus.active .showWhenActive{
|
#livesRestreamList .livesRestreamStatus.active .showWhenActive {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
</head>
|
<div class="container-fluid">
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
<div class="panel panel-default">
|
||||||
<?php
|
<div class="panel-heading">
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
?>
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<table class="table table-hover" id="livesRestreamList">
|
<table class="table table-hover" id="livesRestreamList">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th colspan="4"></th>
|
<th colspan="4"></th>
|
||||||
<th colspan="2" class="text-center">Viewers</th>
|
<th colspan="2" class="text-center">Viewers</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>ID</th>
|
<th>ID</th>
|
||||||
<th>Title</th>
|
<th>Title</th>
|
||||||
<th>Live Status</th>
|
<th>Live Status</th>
|
||||||
<th>Key</th>
|
<th>Key</th>
|
||||||
<th>Started</th>
|
<th>Started</th>
|
||||||
<th><abbr title="<?php echo __('Max at same time'); ?>">Max</abbr></th>
|
<th><abbr title="<?php echo __('Max at same time'); ?>">Max</abbr></th>
|
||||||
<th>Total</th>
|
<th>Total</th>
|
||||||
<th></th>
|
<th></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-footer">
|
<div class="panel-footer">
|
||||||
<button type="button" class="btn btn-info " onclick="getActiveLives();">
|
<button type="button" class="btn btn-info " onclick="getActiveLives();">
|
||||||
<i class="fas fa-sync faa-spin"></i>
|
<i class="fas fa-sync faa-spin"></i>
|
||||||
<?php echo __('Reload'); ?>
|
<?php echo __('Reload'); ?>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
var activeLiveTemplate = <?php echo json_encode(file_get_contents($global['systemRootPath'] . 'plugin/Live/view/getActiveLives.template.html')); ?>;
|
||||||
|
var activeLiveRestreamTemplate = <?php echo json_encode(file_get_contents($global['systemRootPath'] . 'plugin/Live/view/getActiveLivesRestreams.template.html')); ?>;
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
|
getActiveLives();
|
||||||
|
});
|
||||||
|
|
||||||
|
function getAction(action, live_transmitions_history_id, live_restreams_id) {
|
||||||
|
var url = webSiteRootURL + 'plugin/Live/view/Live_restreams/getAction.json.php';
|
||||||
|
url = addQueryStringParameter(url, 'action', action);
|
||||||
|
url = addQueryStringParameter(url, 'live_transmitions_history_id', live_transmitions_history_id);
|
||||||
|
url = addQueryStringParameter(url, 'live_restreams_id', live_restreams_id);
|
||||||
|
|
||||||
</div>
|
modal.showPleaseWait();
|
||||||
<?php
|
$.ajax({
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
url: url,
|
||||||
?>
|
success: function(response) {
|
||||||
<script>
|
modal.hidePleaseWait();
|
||||||
|
if (response.error) {
|
||||||
var activeLiveTemplate = <?php echo json_encode(file_get_contents($global['systemRootPath'] . 'plugin/Live/view/getActiveLives.template.html')); ?>;
|
avideoAlertError(response.msg);
|
||||||
var activeLiveRestreamTemplate = <?php echo json_encode(file_get_contents($global['systemRootPath'] . 'plugin/Live/view/getActiveLivesRestreams.template.html')); ?>;
|
} else {
|
||||||
|
avideoToastSuccess(response.msg);
|
||||||
$(document).ready(function () {
|
if (typeof response.eval !== 'undefined') {
|
||||||
|
eval(response.eval);
|
||||||
|
}
|
||||||
|
}
|
||||||
getActiveLives();
|
getActiveLives();
|
||||||
});
|
|
||||||
|
|
||||||
function getAction(action, live_transmitions_history_id, live_restreams_id) {
|
|
||||||
var url = webSiteRootURL + 'plugin/Live/view/Live_restreams/getAction.json.php';
|
|
||||||
url = addQueryStringParameter(url, 'action', action);
|
|
||||||
url = addQueryStringParameter(url, 'live_transmitions_history_id', live_transmitions_history_id);
|
|
||||||
url = addQueryStringParameter(url, 'live_restreams_id', live_restreams_id);
|
|
||||||
|
|
||||||
modal.showPleaseWait();
|
|
||||||
$.ajax({
|
|
||||||
url: url,
|
|
||||||
success: function (response) {
|
|
||||||
modal.hidePleaseWait();
|
|
||||||
if (response.error) {
|
|
||||||
avideoAlertError(response.msg);
|
|
||||||
} else {
|
|
||||||
avideoToastSuccess(response.msg);
|
|
||||||
if (typeof response.eval !== 'undefined') {
|
|
||||||
eval(response.eval);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
getActiveLives();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getActiveLives() {
|
||||||
function getActiveLives() {
|
var url = webSiteRootURL + 'plugin/Live/view/getActiveLives.json.php';
|
||||||
var url = webSiteRootURL + 'plugin/Live/view/getActiveLives.json.php';
|
//modal.showPleaseWait();
|
||||||
//modal.showPleaseWait();
|
$.ajax({
|
||||||
$.ajax({
|
url: url,
|
||||||
url: url,
|
success: function(response) {
|
||||||
success: function (response) {
|
console.log('getActiveLives', response);
|
||||||
console.log('getActiveLives', response);
|
//modal.hidePleaseWait();
|
||||||
//modal.hidePleaseWait();
|
if (response.error) {
|
||||||
if (response.error) {
|
avideoAlertError(response.msg);
|
||||||
avideoAlertError(response.msg);
|
} else {
|
||||||
} else {
|
activeLivesToTable(response.lives);
|
||||||
activeLivesToTable(response.lives);
|
loadIfRestreamIsActive();
|
||||||
loadIfRestreamIsActive();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function activeLivesToTable(lives) {
|
|
||||||
var liveTemplate = activeLiveTemplate;
|
|
||||||
var restreamTemplate = activeLiveRestreamTemplate;
|
|
||||||
$('#livesRestreamList tbody').empty();
|
|
||||||
//console.log('activeLivesToTable', lives);
|
|
||||||
for (var i in lives) {
|
|
||||||
var live = lives[i];
|
|
||||||
if (typeof live == 'function') {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
//console.log('activeLivesToTable restream_log', live.restream_log);
|
|
||||||
var restream = '';
|
|
||||||
for (var j in live.restream) {
|
|
||||||
var itemsArray = live.restream[j];
|
|
||||||
if (typeof itemsArray == 'function') {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
itemsArray.live_transmitions_history_id = live.id;
|
|
||||||
itemsArray.live_restream_id = itemsArray.live_transmitions_history_id + '_' + itemsArray.id;
|
|
||||||
console.log('activeLivesToTable live', itemsArray);
|
|
||||||
restream += arrayToTemplate(itemsArray, restreamTemplate);
|
|
||||||
}
|
|
||||||
//console.log('activeLivesToTable restreams', restream);
|
|
||||||
live['restream'] = restream;
|
|
||||||
live['class'] = '';
|
|
||||||
liveHTML = arrayToTemplate(live, liveTemplate);
|
|
||||||
$('#livesRestreamList tbody').append(liveHTML);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function loadIfRestreamIsActive() {
|
function activeLivesToTable(lives) {
|
||||||
$(".livesRestreamStatus").each(function (index) {
|
var liveTemplate = activeLiveTemplate;
|
||||||
var restreams_id = $(this).attr('restreams_id');
|
var restreamTemplate = activeLiveRestreamTemplate;
|
||||||
var live_transmitions_history_id = $(this).attr('live_transmitions_history_id');
|
$('#livesRestreamList tbody').empty();
|
||||||
|
//console.log('activeLivesToTable', lives);
|
||||||
|
for (var i in lives) {
|
||||||
|
var live = lives[i];
|
||||||
|
if (typeof live == 'function') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
//console.log('activeLivesToTable restream_log', live.restream_log);
|
||||||
|
var restream = '';
|
||||||
|
for (var j in live.restream) {
|
||||||
|
var itemsArray = live.restream[j];
|
||||||
|
if (typeof itemsArray == 'function') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
itemsArray.live_transmitions_history_id = live.id;
|
||||||
|
itemsArray.live_restream_id = itemsArray.live_transmitions_history_id + '_' + itemsArray.id;
|
||||||
|
console.log('activeLivesToTable live', itemsArray);
|
||||||
|
restream += arrayToTemplate(itemsArray, restreamTemplate);
|
||||||
|
}
|
||||||
|
//console.log('activeLivesToTable restreams', restream);
|
||||||
|
live['restream'] = restream;
|
||||||
|
live['class'] = '';
|
||||||
|
liveHTML = arrayToTemplate(live, liveTemplate);
|
||||||
|
$('#livesRestreamList tbody').append(liveHTML);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadIfRestreamIsActive() {
|
||||||
|
$(".livesRestreamStatus").each(function(index) {
|
||||||
|
var restreams_id = $(this).attr('restreams_id');
|
||||||
|
var live_transmitions_history_id = $(this).attr('live_transmitions_history_id');
|
||||||
|
checkIfRestreamIsActive(live_transmitions_history_id, restreams_id);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
var checkIfRestreamIsActiveTimeout = [];
|
||||||
|
|
||||||
|
function checkIfRestreamIsActive(live_transmitions_history_id, restreams_id) {
|
||||||
|
var live_restream_id = live_transmitions_history_id + '_' + restreams_id;
|
||||||
|
clearTimeout(checkIfRestreamIsActiveTimeout[live_restream_id]);
|
||||||
|
setRestreamLogLoading(live_transmitions_history_id, restreams_id);
|
||||||
|
var url = webSiteRootURL + 'plugin/Live/view/getRestream.json.php';
|
||||||
|
url = addQueryStringParameter(url, 'live_transmitions_history_id', live_transmitions_history_id);
|
||||||
|
url = addQueryStringParameter(url, 'restreams_id', restreams_id);
|
||||||
|
$.ajax({
|
||||||
|
url: url,
|
||||||
|
success: function(response) {
|
||||||
|
if (response.error) {
|
||||||
|
avideoAlertError(response.msg);
|
||||||
|
} else {
|
||||||
|
if (response.log.error) {
|
||||||
|
avideoAlertError('Log error');
|
||||||
|
} else {
|
||||||
|
if (empty(response.log)) {
|
||||||
|
setRestreamHasNoLog(live_transmitions_history_id, restreams_id);
|
||||||
|
} else if (response.log.isActive) {
|
||||||
|
setRestreamLogActive(live_transmitions_history_id, restreams_id);
|
||||||
|
} else {
|
||||||
|
console.log('checkIfRestreamIsActive', live_transmitions_history_id, restreams_id, response.log, empty(response.log));
|
||||||
|
setRestreamLogInactive(live_transmitions_history_id, restreams_id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
checkIfRestreamIsActiveTimeout[live_restream_id] = setTimeout(function() {
|
||||||
checkIfRestreamIsActive(live_transmitions_history_id, restreams_id);
|
checkIfRestreamIsActive(live_transmitions_history_id, restreams_id);
|
||||||
});
|
}, 120000);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
|
||||||
var checkIfRestreamIsActiveTimeout = [];
|
function setRestreamHasNoLog(live_transmitions_history_id, restreams_id) {
|
||||||
function checkIfRestreamIsActive(live_transmitions_history_id, restreams_id) {
|
removeAllClassesAndAdd(live_transmitions_history_id, restreams_id, 'hasNoLog');
|
||||||
var live_restream_id = live_transmitions_history_id + '_' + restreams_id;
|
}
|
||||||
clearTimeout(checkIfRestreamIsActiveTimeout[live_restream_id]);
|
|
||||||
setRestreamLogLoading(live_transmitions_history_id, restreams_id);
|
|
||||||
var url = webSiteRootURL + 'plugin/Live/view/getRestream.json.php';
|
|
||||||
url = addQueryStringParameter(url, 'live_transmitions_history_id', live_transmitions_history_id);
|
|
||||||
url = addQueryStringParameter(url, 'restreams_id', restreams_id);
|
|
||||||
$.ajax({
|
|
||||||
url: url,
|
|
||||||
success: function (response) {
|
|
||||||
if (response.error) {
|
|
||||||
avideoAlertError(response.msg);
|
|
||||||
} else {
|
|
||||||
if (response.log.error) {
|
|
||||||
avideoAlertError('Log error');
|
|
||||||
} else {
|
|
||||||
if (empty(response.log)) {
|
|
||||||
setRestreamHasNoLog(live_transmitions_history_id, restreams_id);
|
|
||||||
} else if (response.log.isActive) {
|
|
||||||
setRestreamLogActive(live_transmitions_history_id, restreams_id);
|
|
||||||
} else {
|
|
||||||
console.log('checkIfRestreamIsActive', live_transmitions_history_id, restreams_id, response.log, empty(response.log));
|
|
||||||
setRestreamLogInactive(live_transmitions_history_id, restreams_id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
checkIfRestreamIsActiveTimeout[live_restream_id] = setTimeout(function () {
|
|
||||||
checkIfRestreamIsActive(live_transmitions_history_id, restreams_id);
|
|
||||||
}, 120000);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
function setRestreamHasNoLog(live_transmitions_history_id, restreams_id) {
|
function setRestreamHasLog(live_transmitions_history_id, restreams_id) {
|
||||||
removeAllClassesAndAdd(live_transmitions_history_id, restreams_id, 'hasNoLog');
|
removeAllClassesAndAdd(live_transmitions_history_id, restreams_id, 'hasLog');
|
||||||
}
|
}
|
||||||
function setRestreamHasLog(live_transmitions_history_id, restreams_id) {
|
|
||||||
removeAllClassesAndAdd(live_transmitions_history_id, restreams_id, 'hasLog');
|
|
||||||
}
|
|
||||||
function setRestreamLogLoading(live_transmitions_history_id, restreams_id) {
|
|
||||||
removeAllClassesAndAdd(live_transmitions_history_id, restreams_id, 'loading');
|
|
||||||
}
|
|
||||||
function setRestreamLogActive(live_transmitions_history_id, restreams_id) {
|
|
||||||
removeAllClassesAndAdd(live_transmitions_history_id, restreams_id, 'active');
|
|
||||||
}
|
|
||||||
function setRestreamLogInactive(live_transmitions_history_id, restreams_id) {
|
|
||||||
removeAllClassesAndAdd(live_transmitions_history_id, restreams_id, 'inactive');
|
|
||||||
}
|
|
||||||
|
|
||||||
function removeAllClassesAndAdd(live_transmitions_history_id, restreams_id, addClass) {
|
function setRestreamLogLoading(live_transmitions_history_id, restreams_id) {
|
||||||
var live_restream_id = live_transmitions_history_id + '_' + restreams_id;
|
removeAllClassesAndAdd(live_transmitions_history_id, restreams_id, 'loading');
|
||||||
$(".livesRestreamStatus_" + live_restream_id).removeClass('active');
|
}
|
||||||
$(".livesRestreamStatus_" + live_restream_id).removeClass('inactive');
|
|
||||||
$(".livesRestreamStatus_" + live_restream_id).removeClass('loading');
|
function setRestreamLogActive(live_transmitions_history_id, restreams_id) {
|
||||||
$(".livesRestreamStatus_" + live_restream_id).removeClass('hasNoLog');
|
removeAllClassesAndAdd(live_transmitions_history_id, restreams_id, 'active');
|
||||||
$(".livesRestreamStatus_" + live_restream_id).removeClass('hasLog');
|
}
|
||||||
$(".livesRestreamStatus_" + live_restream_id).addClass(addClass);
|
|
||||||
}
|
function setRestreamLogInactive(live_transmitions_history_id, restreams_id) {
|
||||||
}
|
removeAllClassesAndAdd(live_transmitions_history_id, restreams_id, 'inactive');
|
||||||
</script>
|
}
|
||||||
</body>
|
|
||||||
</html>
|
function removeAllClassesAndAdd(live_transmitions_history_id, restreams_id, addClass) {
|
||||||
|
var live_restream_id = live_transmitions_history_id + '_' + restreams_id;
|
||||||
|
$(".livesRestreamStatus_" + live_restream_id).removeClass('active');
|
||||||
|
$(".livesRestreamStatus_" + live_restream_id).removeClass('inactive');
|
||||||
|
$(".livesRestreamStatus_" + live_restream_id).removeClass('loading');
|
||||||
|
$(".livesRestreamStatus_" + live_restream_id).removeClass('hasNoLog');
|
||||||
|
$(".livesRestreamStatus_" + live_restream_id).removeClass('hasLog');
|
||||||
|
$(".livesRestreamStatus_" + live_restream_id).addClass(addClass);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
$_page->print();
|
||||||
|
?>
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -119,7 +119,7 @@ if (!User::isAdmin()) {
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$('#addLive_restreamsBtn').click(function () {
|
$('#addLive_restreamsBtn').click(function () {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Live/view/addLive_restreamsVideo.php',
|
url: webSiteRootURL+'plugin/Live/view/addLive_restreamsVideo.php',
|
||||||
data: $('#panelLive_restreamsForm').serialize(),
|
data: $('#panelLive_restreamsForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -161,7 +161,7 @@ if (!User::isAdmin()) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Live/view/Live_restreams/add.json.php',
|
url: webSiteRootURL+'plugin/Live/view/Live_restreams/add.json.php',
|
||||||
data: $('#panelLive_restreamsForm').serialize(),
|
data: $('#panelLive_restreamsForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../../../videos/configuration.php';
|
require_once '../../../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -178,7 +178,7 @@ if (!User::isAdmin()) {
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$('#addLive_scheduleBtn').click(function () {
|
$('#addLive_scheduleBtn').click(function () {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Live/view/addLive_scheduleVideo.php',
|
url: webSiteRootURL+'plugin/Live/view/addLive_scheduleVideo.php',
|
||||||
data: $('#panelLive_scheduleForm').serialize(),
|
data: $('#panelLive_scheduleForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -226,7 +226,7 @@ if (!User::isAdmin()) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Live/view/Live_schedule/add.json.php',
|
url: webSiteRootURL+'plugin/Live/view/Live_schedule/add.json.php',
|
||||||
data: $('#panelLive_scheduleForm').serialize(),
|
data: $('#panelLive_scheduleForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -8,20 +8,7 @@ if (!User::canStream()) {
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
$_page = new Page(array('Live'));
|
||||||
<!DOCTYPE html>
|
include $global['systemRootPath'] . 'plugin/Live/view/Live_schedule/panel.php';
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
$_page->print();
|
||||||
<head>
|
?>
|
||||||
<title><?php echo $config->getWebSiteTitle(); ?> :: Live</title>
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
|
||||||
?>
|
|
||||||
</head>
|
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
include $global['systemRootPath'] . 'plugin/Live/view/Live_schedule/panel.php';
|
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
|
||||||
?>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -33,215 +33,199 @@ $image_postroll = getURL($poster);
|
||||||
|
|
||||||
$defaultTIme = 30;
|
$defaultTIme = 30;
|
||||||
$defaultCloseTIme = 10;
|
$defaultCloseTIme = 10;
|
||||||
|
$_page = new Page(array('Upload Poster'));
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container-fluid">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<div class="row">
|
||||||
<head>
|
<div class="col-sm-2">
|
||||||
<title><?php echo $config->getWebSiteTitle(); ?> :: Upload Poster</title>
|
<div class="panel panel-default">
|
||||||
<?php
|
<div class="panel-heading">
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
<?php echo __('Poster Type'); ?>
|
||||||
?>
|
|
||||||
</head>
|
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
?>
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-2">
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<?php echo __('Poster Type'); ?>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<ul class="nav nav-pills nav-stacked">
|
|
||||||
<li class="active posterTypeBtn" posterType="<?php echo Live::$posterType_regular; ?>"><a href="#"><i class="fas fa-photo-video"></i> <?php echo __("Regular Poster"); ?></a></li>
|
|
||||||
<li class="posterTypeBtn" posterType="<?php echo Live::$posterType_preroll; ?>"><a href="#"><i class="fas fa-step-backward"></i> <?php echo __("Preroll Poster"); ?></a></li>
|
|
||||||
<li class="posterTypeBtn" posterType="<?php echo Live::$posterType_postroll; ?>"><a href="#"><i class="fas fa-step-forward"></i> <?php echo __("Postroll Poster"); ?></a></li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="panel panel-default" id="PosterConfiguration" style="display: none;">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<?php echo __('Poster Configuration'); ?>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="liveImgTimeInSeconds"><?php echo __('Poster Display Time'); ?></label>
|
|
||||||
<select class="form-control" id="liveImgTimeInSeconds">
|
|
||||||
<?php
|
|
||||||
$seconds = __('Seconds');
|
|
||||||
?>
|
|
||||||
<optgroup label="<?php echo $seconds; ?>">
|
|
||||||
<?php
|
|
||||||
for ($i = 0; $i < 10; $i++) {
|
|
||||||
echo "<option value=\"{$i}\">{$i} {$seconds}</option>";
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<?php
|
|
||||||
for ($i = 10; $i < 60; $i += 5) {
|
|
||||||
$selected = '';
|
|
||||||
if ($i == $defaultTIme) {
|
|
||||||
$selected = 'selected';
|
|
||||||
}
|
|
||||||
echo "<option value=\"{$i}\" {$selected}>{$i} {$seconds}</option>";
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
||||||
</optgroup>
|
|
||||||
<?php
|
|
||||||
$minutes = __('Minutes');
|
|
||||||
?>
|
|
||||||
<optgroup label="<?php echo $minutes; ?>">
|
|
||||||
<?php
|
|
||||||
for ($i = 60; $i < 600; $i += 60) {
|
|
||||||
$selected = '';
|
|
||||||
if ($i == $defaultTIme) {
|
|
||||||
$selected = 'selected';
|
|
||||||
}
|
|
||||||
$min = intval($i / 60);
|
|
||||||
echo "<option value=\"{$i}\" {$selected}>{$min} {$minutes}</option>";
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<?php
|
|
||||||
for ($i = 600; $i <= 3600; $i += 300) {
|
|
||||||
$selected = '';
|
|
||||||
if ($i == $defaultTIme) {
|
|
||||||
$selected = 'selected';
|
|
||||||
}
|
|
||||||
$min = intval($i / 60);
|
|
||||||
echo "<option value=\"{$i}\" {$selected}>{$min} {$minutes}</option>";
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</optgroup>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="liveImgCloseTimeInSeconds"><?php echo __('Close Button Delay'); ?></label>
|
|
||||||
<select class="form-control" id="liveImgCloseTimeInSeconds">
|
|
||||||
<option value="-1" selected><?php echo __('Do not allow close'); ?></option>
|
|
||||||
<?php
|
|
||||||
$seconds = __('Seconds');
|
|
||||||
for ($i = 0; $i < 10; $i++) {
|
|
||||||
echo "<option value=\"{$i}\">{$i} {$seconds}</option>";
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<?php
|
|
||||||
for ($i = 10; $i < 600; $i += 5) {
|
|
||||||
$selected = '';
|
|
||||||
echo "<option value=\"{$i}\" {$selected}>{$i} {$seconds}</option>";
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-10">
|
<div class="panel-body">
|
||||||
<div class="panel panel-default">
|
<ul class="nav nav-pills nav-stacked">
|
||||||
<div class="panel-heading">
|
<li class="active posterTypeBtn" posterType="<?php echo Live::$posterType_regular; ?>"><a href="#"><i class="fas fa-photo-video"></i> <?php echo __("Regular Poster"); ?></a></li>
|
||||||
<?php echo __('Save Poster'); ?>
|
<li class="posterTypeBtn" posterType="<?php echo Live::$posterType_preroll; ?>"><a href="#"><i class="fas fa-step-backward"></i> <?php echo __("Preroll Poster"); ?></a></li>
|
||||||
</div>
|
<li class="posterTypeBtn" posterType="<?php echo Live::$posterType_postroll; ?>"><a href="#"><i class="fas fa-step-forward"></i> <?php echo __("Postroll Poster"); ?></a></li>
|
||||||
<div class="panel-body">
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="panel panel-default" id="PosterConfiguration" style="display: none;">
|
||||||
|
<div class="panel-heading">
|
||||||
|
<?php echo __('Poster Configuration'); ?>
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="liveImgTimeInSeconds"><?php echo __('Poster Display Time'); ?></label>
|
||||||
|
<select class="form-control" id="liveImgTimeInSeconds">
|
||||||
<?php
|
<?php
|
||||||
$croppie1 = getCroppie(__("Upload Poster"), $callBackJSFunction);
|
$seconds = __('Seconds');
|
||||||
//var_dump($croppie1);exit;
|
|
||||||
echo $croppie1['html'];
|
|
||||||
?>
|
?>
|
||||||
</div>
|
<optgroup label="<?php echo $seconds; ?>">
|
||||||
<div class="panel-footer">
|
<?php
|
||||||
<button class="btn btn-success btn-lg btn-block" onclick="closeWindowAfterImageSave = true;<?php echo $croppie1['getCroppieFunction']; ?>"><i class="fas fa-save"></i> <?php echo __('Save'); ?></button>
|
for ($i = 0; $i < 10; $i++) {
|
||||||
</div>
|
echo "<option value=\"{$i}\">{$i} {$seconds}</option>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<?php
|
||||||
|
for ($i = 10; $i < 60; $i += 5) {
|
||||||
|
$selected = '';
|
||||||
|
if ($i == $defaultTIme) {
|
||||||
|
$selected = 'selected';
|
||||||
|
}
|
||||||
|
echo "<option value=\"{$i}\" {$selected}>{$i} {$seconds}</option>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
</optgroup>
|
||||||
|
<?php
|
||||||
|
$minutes = __('Minutes');
|
||||||
|
?>
|
||||||
|
<optgroup label="<?php echo $minutes; ?>">
|
||||||
|
<?php
|
||||||
|
for ($i = 60; $i < 600; $i += 60) {
|
||||||
|
$selected = '';
|
||||||
|
if ($i == $defaultTIme) {
|
||||||
|
$selected = 'selected';
|
||||||
|
}
|
||||||
|
$min = intval($i / 60);
|
||||||
|
echo "<option value=\"{$i}\" {$selected}>{$min} {$minutes}</option>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<?php
|
||||||
|
for ($i = 600; $i <= 3600; $i += 300) {
|
||||||
|
$selected = '';
|
||||||
|
if ($i == $defaultTIme) {
|
||||||
|
$selected = 'selected';
|
||||||
|
}
|
||||||
|
$min = intval($i / 60);
|
||||||
|
echo "<option value=\"{$i}\" {$selected}>{$min} {$minutes}</option>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</optgroup>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="liveImgCloseTimeInSeconds"><?php echo __('Close Button Delay'); ?></label>
|
||||||
|
<select class="form-control" id="liveImgCloseTimeInSeconds">
|
||||||
|
<option value="-1" selected><?php echo __('Do not allow close'); ?></option>
|
||||||
|
<?php
|
||||||
|
$seconds = __('Seconds');
|
||||||
|
for ($i = 0; $i < 10; $i++) {
|
||||||
|
echo "<option value=\"{$i}\">{$i} {$seconds}</option>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<?php
|
||||||
|
for ($i = 10; $i < 600; $i += 5) {
|
||||||
|
$selected = '';
|
||||||
|
echo "<option value=\"{$i}\" {$selected}>{$i} {$seconds}</option>";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-heading">
|
||||||
|
<?php echo __('Save Poster'); ?>
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
<?php
|
||||||
|
$croppie1 = getCroppie(__("Upload Poster"), $callBackJSFunction);
|
||||||
|
//var_dump($croppie1);exit;
|
||||||
|
echo $croppie1['html'];
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
<div class="panel-footer">
|
||||||
|
<button class="btn btn-success btn-lg btn-block" onclick="closeWindowAfterImageSave = true;<?php echo $croppie1['getCroppieFunction']; ?>"><i class="fas fa-save"></i> <?php echo __('Save'); ?></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
var closeWindowAfterImageSave = false;
|
||||||
|
var posterType = 0;
|
||||||
|
|
||||||
|
function <?php echo $callBackJSFunction; ?>(image) {
|
||||||
|
modal.showPleaseWait();
|
||||||
|
$.ajax({
|
||||||
|
url: webSiteRootURL + 'plugin/Live/uploadPoster.json.php',
|
||||||
|
data: {
|
||||||
|
posterType: posterType,
|
||||||
|
liveImgCloseTimeInSeconds: $('#liveImgCloseTimeInSeconds').val(),
|
||||||
|
liveImgTimeInSeconds: $('#liveImgTimeInSeconds').val(),
|
||||||
|
live_schedule_id: <?php echo $live_schedule_id; ?>,
|
||||||
|
live_servers_id: <?php echo $live_servers_id; ?>,
|
||||||
|
image: image,
|
||||||
|
},
|
||||||
|
type: 'post',
|
||||||
|
success: function(response) {
|
||||||
|
modal.hidePleaseWait();
|
||||||
|
avideoResponse(response);
|
||||||
|
if (response && !response.error) {
|
||||||
|
if (closeWindowAfterImageSave) {
|
||||||
|
var scheduleElem = $('#schedule_poster_<?php echo $live_schedule_id; ?>', window.parent.document);
|
||||||
|
$(scheduleElem).attr('src', addGetParam($(scheduleElem).attr('src'), 'cache', Math.random()));
|
||||||
|
avideoModalIframeClose();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$(document).ready(function() {
|
||||||
<?php
|
<?php
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
echo $croppie1['createCroppie'] . "('{$image}');";
|
||||||
?>
|
?>
|
||||||
<script>
|
|
||||||
var closeWindowAfterImageSave = false;
|
|
||||||
var posterType = 0;
|
|
||||||
function <?php echo $callBackJSFunction; ?>(image) {
|
|
||||||
modal.showPleaseWait();
|
|
||||||
$.ajax({
|
|
||||||
url: webSiteRootURL + 'plugin/Live/uploadPoster.json.php',
|
|
||||||
data: {
|
|
||||||
posterType: posterType,
|
|
||||||
liveImgCloseTimeInSeconds: $('#liveImgCloseTimeInSeconds').val(),
|
|
||||||
liveImgTimeInSeconds: $('#liveImgTimeInSeconds').val(),
|
|
||||||
live_schedule_id: <?php echo $live_schedule_id; ?>,
|
|
||||||
live_servers_id: <?php echo $live_servers_id; ?>,
|
|
||||||
image: image,
|
|
||||||
},
|
|
||||||
type: 'post',
|
|
||||||
success: function (response) {
|
|
||||||
modal.hidePleaseWait();
|
|
||||||
avideoResponse(response);
|
|
||||||
if (response && !response.error) {
|
|
||||||
if (closeWindowAfterImageSave) {
|
|
||||||
var scheduleElem = $('#schedule_poster_<?php echo $live_schedule_id; ?>', window.parent.document);
|
|
||||||
$(scheduleElem).attr('src', addGetParam($(scheduleElem).attr('src'), 'cache', Math.random()));
|
|
||||||
avideoModalIframeClose();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
$('.posterTypeBtn').click(function() {
|
||||||
|
posterType = parseInt($(this).attr('posterType'));
|
||||||
|
$('.posterTypeBtn').removeClass('active');
|
||||||
|
$('.posterTypeBtn[posterType="' + posterType + '"]').addClass('active');
|
||||||
|
var jsonFile = false;
|
||||||
|
switch (posterType) {
|
||||||
|
case <?php echo Live::$posterType_preroll; ?>:
|
||||||
|
$('#PosterConfiguration').slideDown();
|
||||||
|
imageToRelaod = '<?php echo $image_preroll; ?>';
|
||||||
|
jsonFile = imageToRelaod.replace('.jpg', '.json');
|
||||||
|
break;
|
||||||
|
case <?php echo Live::$posterType_postroll; ?>:
|
||||||
|
$('#PosterConfiguration').slideDown();
|
||||||
|
imageToRelaod = '<?php echo $image_postroll; ?>';
|
||||||
|
jsonFile = imageToRelaod.replace('.jpg', '.json');
|
||||||
|
break;
|
||||||
|
|
||||||
$(document).ready(function () {
|
default:
|
||||||
<?php
|
$('#PosterConfiguration').slideUp();
|
||||||
echo $croppie1['createCroppie'] . "('{$image}');";
|
imageToRelaod = '<?php echo $image; ?>';
|
||||||
?>
|
break;
|
||||||
|
}
|
||||||
$('.posterTypeBtn').click(function () {
|
console.log('posterTypeBtn click', posterType, imageToRelaod);
|
||||||
posterType = parseInt($(this).attr('posterType'));
|
<?php
|
||||||
$('.posterTypeBtn').removeClass('active');
|
echo $croppie1['restartCroppie'] . "(imageToRelaod);";
|
||||||
$('.posterTypeBtn[posterType="' + posterType + '"]').addClass('active');
|
?>
|
||||||
var jsonFile = false;
|
var liveImgCloseTimeInSeconds = -1;
|
||||||
switch (posterType) {
|
var liveImgTimeInSeconds = <?php echo $defaultTIme; ?>;
|
||||||
case <?php echo Live::$posterType_preroll; ?>:
|
if (jsonFile) {
|
||||||
$('#PosterConfiguration').slideDown();
|
modal.showPleaseWait();
|
||||||
imageToRelaod = '<?php echo $image_preroll; ?>';
|
$.getJSON(jsonFile, function(data) {
|
||||||
jsonFile = imageToRelaod.replace('.jpg', '.json');
|
if (data) {
|
||||||
break;
|
liveImgCloseTimeInSeconds = data.liveImgCloseTimeInSeconds;
|
||||||
case <?php echo Live::$posterType_postroll; ?>:
|
liveImgTimeInSeconds = data.liveImgTimeInSeconds;
|
||||||
$('#PosterConfiguration').slideDown();
|
}
|
||||||
imageToRelaod = '<?php echo $image_postroll; ?>';
|
}).always(function() {
|
||||||
jsonFile = imageToRelaod.replace('.jpg', '.json');
|
modal.hidePleaseWait();
|
||||||
break;
|
$('#liveImgCloseTimeInSeconds').val(liveImgCloseTimeInSeconds);
|
||||||
|
$('#liveImgTimeInSeconds').val(liveImgTimeInSeconds);
|
||||||
default:
|
});
|
||||||
$('#PosterConfiguration').slideUp();
|
} else {
|
||||||
imageToRelaod = '<?php echo $image; ?>';
|
$('#liveImgCloseTimeInSeconds').val(liveImgCloseTimeInSeconds);
|
||||||
break;
|
$('#liveImgTimeInSeconds').val(liveImgTimeInSeconds);
|
||||||
}
|
}
|
||||||
console.log('posterTypeBtn click', posterType, imageToRelaod);
|
});
|
||||||
<?php
|
});
|
||||||
echo $croppie1['restartCroppie'] . "(imageToRelaod);";
|
</script>
|
||||||
?>
|
|
||||||
var liveImgCloseTimeInSeconds = -1;
|
|
||||||
var liveImgTimeInSeconds = <?php echo $defaultTIme; ?>;
|
|
||||||
if (jsonFile) {
|
|
||||||
modal.showPleaseWait();
|
|
||||||
$.getJSON(jsonFile, function (data) {
|
|
||||||
if (data) {
|
|
||||||
liveImgCloseTimeInSeconds = data.liveImgCloseTimeInSeconds;
|
|
||||||
liveImgTimeInSeconds = data.liveImgTimeInSeconds;
|
|
||||||
}
|
|
||||||
}).always(function () {
|
|
||||||
modal.hidePleaseWait();
|
|
||||||
$('#liveImgCloseTimeInSeconds').val(liveImgCloseTimeInSeconds);
|
|
||||||
$('#liveImgTimeInSeconds').val(liveImgTimeInSeconds);
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
$('#liveImgCloseTimeInSeconds').val(liveImgCloseTimeInSeconds);
|
|
||||||
$('#liveImgTimeInSeconds').val(liveImgTimeInSeconds);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
$obj = AVideoPlugin::getObjectData("Live");
|
$obj = AVideoPlugin::getObjectData("Live");
|
||||||
|
@ -197,7 +197,7 @@ $obj = AVideoPlugin::getObjectData("Live");
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$('#addLiveBtn').click(function() {
|
$('#addLiveBtn').click(function() {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Live/view/addLive_serversVideo.php',
|
url: webSiteRootURL+'plugin/Live/view/addLive_serversVideo.php',
|
||||||
data: $('#panelLive_serversForm').serialize(),
|
data: $('#panelLive_serversForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
|
@ -244,7 +244,7 @@ $obj = AVideoPlugin::getObjectData("Live");
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Live/view/Live_servers/add.json.php',
|
url: webSiteRootURL+'plugin/Live/view/Live_servers/add.json.php',
|
||||||
data: $('#panelLive_serversForm').serialize(),
|
data: $('#panelLive_serversForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
|
|
|
@ -1,58 +1,42 @@
|
||||||
<?php
|
<?php
|
||||||
require_once '../../../videos/configuration.php';
|
require_once '../../../videos/configuration.php';
|
||||||
AVideoPlugin::loadPlugin("Live");
|
AVideoPlugin::loadPlugin("Live");
|
||||||
|
$_page = new Page(array('Live'));
|
||||||
|
$_page->loadBasicCSSAndJS();
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container-fluid">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<div class="panel panel-default">
|
||||||
<head>
|
<div class="panel-heading"><?php echo __('Live') ?>
|
||||||
<title><?php echo __("Live") . $config->getPageTitleSeparator() . $config->getWebSiteTitle(); ?></title>
|
<div class="pull-right">
|
||||||
<?php
|
<?php echo AVideoPlugin::getSwitchButton("Live"); ?>
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
</div>
|
||||||
?>
|
</div>
|
||||||
<link rel="stylesheet" type="text/css" href="<?php echo getCDN(); ?>view/css/DataTables/datatables.min.css"/>
|
<div class="panel-body">
|
||||||
<link href="<?php echo getCDN(); ?>view/js/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css" rel="stylesheet" type="text/css"/>
|
<ul class="nav nav-tabs">
|
||||||
</head>
|
<li class="active"><a data-toggle="tab" href="#Live_servers"><i class="fas fa-broadcast-tower"></i> <?php echo __("Live Servers"); ?></a></li>
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
<li class=""><a data-toggle="tab" href="#Live_restreams"><?php echo __("Live Restreams"); ?></a></li>
|
||||||
<?php
|
<li class=""><a data-toggle="tab" href="#Live_restreams_logs"><?php echo __("Live Restreams Logs"); ?></a></li>
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
</ul>
|
||||||
?>
|
<div class="tab-content">
|
||||||
<div class="container-fluid">
|
<div id="Live_servers" class="tab-pane fade in active" style="padding: 10px;">
|
||||||
<div class="panel panel-default">
|
<?php
|
||||||
<div class="panel-heading"><?php echo __('Live') ?>
|
include $global['systemRootPath'] . 'plugin/Live/view/Live_servers/index_body.php';
|
||||||
<div class="pull-right">
|
?>
|
||||||
<?php echo AVideoPlugin::getSwitchButton("Live"); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div id="Live_restreams" class="tab-pane fade" style="padding: 10px;">
|
||||||
<ul class="nav nav-tabs">
|
<?php
|
||||||
<li class="active"><a data-toggle="tab" href="#Live_servers"><i class="fas fa-broadcast-tower"></i> <?php echo __("Live Servers"); ?></a></li>
|
include $global['systemRootPath'] . 'plugin/Live/view/Live_restreams/index_body.php';
|
||||||
<li class=""><a data-toggle="tab" href="#Live_restreams"><?php echo __("Live Restreams"); ?></a></li>
|
?>
|
||||||
<li class=""><a data-toggle="tab" href="#Live_restreams_logs"><?php echo __("Live Restreams Logs"); ?></a></li>
|
</div>
|
||||||
</ul>
|
<div id="Live_restreams_logs" class="tab-pane fade in active" style="padding: 10px;">
|
||||||
<div class="tab-content">
|
<?php
|
||||||
<div id="Live_servers" class="tab-pane fade in active" style="padding: 10px;">
|
include $global['systemRootPath'] . 'plugin/Live/view/Live_restreams_logs/index_body.php';
|
||||||
<?php
|
?>
|
||||||
include $global['systemRootPath'] . 'plugin/Live/view/Live_servers/index_body.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<div id="Live_restreams" class="tab-pane fade" style="padding: 10px;">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'plugin/Live/view/Live_restreams/index_body.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<div id="Live_restreams_logs" class="tab-pane fade in active" style="padding: 10px;">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'plugin/Live/view/Live_restreams_logs/index_body.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript" src="<?php echo getURL('view/css/DataTables/datatables.min.js'); ?>"></script>
|
</div>
|
||||||
<script src="<?php echo getCDN(); ?>js/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js" type="text/javascript"></script>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
$_page->print();
|
||||||
?>
|
?>
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -109,155 +109,141 @@ if (isHTMLEmpty($sideAd)) {
|
||||||
}
|
}
|
||||||
// to fix the unfinished lives
|
// to fix the unfinished lives
|
||||||
$liveInfo = Live::getInfo($livet['key'], Live::getLiveServersIdRequest());
|
$liveInfo = Live::getInfo($livet['key'], Live::getLiveServersIdRequest());
|
||||||
|
$_page = new Page(array('Live'));
|
||||||
|
$_page->setExtraScripts(
|
||||||
|
array(
|
||||||
|
'view/js/webui-popover/jquery.webui-popover.min.js',
|
||||||
|
'view/js/bootstrap-list-filter/bootstrap-list-filter.min.js'
|
||||||
|
)
|
||||||
|
);
|
||||||
|
$_page->setExtraStyles(
|
||||||
|
array(
|
||||||
|
'node_modules/video.js/dist/video-js.min.css',
|
||||||
|
'view/js/webui-popover/jquery.webui-popover.min.css'
|
||||||
|
)
|
||||||
|
);
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<!-- Live modeYoutubeLive.php -->
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<div class="container-fluid principalContainer" style="padding: 0; overflow: hidden;" id="modeYoutubePrincipal">
|
||||||
|
|
||||||
<head>
|
|
||||||
<title><?php echo $liveTitle . $config->getPageTitleSeparator() . __("Live") . $config->getPageTitleSeparator() . $config->getWebSiteTitle(); ?></title>
|
|
||||||
<link href="<?php echo getURL('node_modules/video.js/dist/video-js.min.css'); ?>" rel="stylesheet" type="text/css" />
|
|
||||||
<link href="<?php echo getCDN(); ?>js/webui-popover/jquery.webui-popover.min.css" rel="stylesheet" type="text/css" />
|
|
||||||
<?php
|
<?php
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
if (!$isCompressed) {
|
||||||
?>
|
?>
|
||||||
<?php
|
<div class="" id="modeYoutubeTop">
|
||||||
//echo AVideoPlugin::getHeadCode();
|
<div class="col-md-12">
|
||||||
?>
|
<center style="margin:5px;">
|
||||||
</head>
|
<?php echo getAdsLeaderBoardTop(); ?>
|
||||||
|
</center>
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
?>
|
|
||||||
<!-- Live modeYoutubeLive.php -->
|
|
||||||
<div class="container-fluid principalContainer" style="padding: 0; overflow: hidden;" id="modeYoutubePrincipal">
|
|
||||||
<?php
|
|
||||||
if (!$isCompressed) {
|
|
||||||
?>
|
|
||||||
<div class="" id="modeYoutubeTop">
|
|
||||||
<div class="col-md-12">
|
|
||||||
<center style="margin:5px;">
|
|
||||||
<?php echo getAdsLeaderBoardTop(); ?>
|
|
||||||
</center>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-12">
|
|
||||||
<?php require "{$global['systemRootPath']}plugin/Live/view/liveVideo.php"; ?>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-12">
|
|
||||||
<center style="margin:5px;">
|
|
||||||
<?php echo getAdsLeaderBoardTop2(); ?>
|
|
||||||
</center>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<div class="col-md-12">
|
||||||
}
|
<?php require "{$global['systemRootPath']}plugin/Live/view/liveVideo.php"; ?>
|
||||||
?>
|
</div>
|
||||||
<div class="row" id="modeYoutubeBottom" style="margin: 0;">
|
<div class="col-md-12">
|
||||||
<div class="col-lg-1"></div>
|
<center style="margin:5px;">
|
||||||
<div class="<?php echo $modeYoutubeBottomClass1; ?>" id="modeYoutubeBottomContent">
|
<?php echo getAdsLeaderBoardTop2(); ?>
|
||||||
<?php
|
</center>
|
||||||
if ($isCompressed) {
|
</div>
|
||||||
?>
|
</div>
|
||||||
<div class="" id="modeYoutubeTop">
|
<?php
|
||||||
<div class="col-md-12">
|
}
|
||||||
<center style="margin:5px;">
|
?>
|
||||||
<?php echo getAdsLeaderBoardTop(); ?>
|
<div class="row" id="modeYoutubeBottom" style="margin: 0;">
|
||||||
</center>
|
<div class="col-lg-1"></div>
|
||||||
</div>
|
<div class="<?php echo $modeYoutubeBottomClass1; ?>" id="modeYoutubeBottomContent">
|
||||||
<div class="col-md-12">
|
<?php
|
||||||
<?php require "{$global['systemRootPath']}plugin/Live/view/liveVideo.php"; ?>
|
if ($isCompressed) {
|
||||||
</div>
|
?>
|
||||||
<div class="col-md-12">
|
<div class="" id="modeYoutubeTop">
|
||||||
<center style="margin:5px;">
|
<div class="col-md-12">
|
||||||
<?php echo getAdsLeaderBoardTop2(); ?>
|
<center style="margin:5px;">
|
||||||
</center>
|
<?php echo getAdsLeaderBoardTop(); ?>
|
||||||
</div>
|
</center>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<div class="col-md-12">
|
||||||
}
|
<?php require "{$global['systemRootPath']}plugin/Live/view/liveVideo.php"; ?>
|
||||||
?>
|
</div>
|
||||||
<div class="panel panel-default">
|
<div class="col-md-12">
|
||||||
<div class="panel-body">
|
<center style="margin:5px;">
|
||||||
<h1 itemprop="name">
|
<?php echo getAdsLeaderBoardTop2(); ?>
|
||||||
<?php
|
</center>
|
||||||
if ($lt->isAPrivateLive()) {
|
</div>
|
||||||
?>
|
</div>
|
||||||
<i class="fas fa-lock"></i>
|
<?php
|
||||||
<?php
|
}
|
||||||
} else {
|
?>
|
||||||
?>
|
<div class="panel panel-default">
|
||||||
<i class="fas fa-video"></i>
|
<div class="panel-body">
|
||||||
<?php
|
<h1 itemprop="name">
|
||||||
}
|
<?php
|
||||||
?>
|
if ($lt->isAPrivateLive()) {
|
||||||
<span class="title_liveKey_<?php echo $livet['key']?>"><?php echo getSEOTitle($liveTitle); ?></span>
|
?>
|
||||||
<small class="text-muted">
|
<i class="fas fa-lock"></i>
|
||||||
<?php
|
<?php
|
||||||
echo $liveInfo['displayTime'];
|
} else {
|
||||||
?>
|
?>
|
||||||
</small>
|
<i class="fas fa-video"></i>
|
||||||
</h1>
|
|
||||||
<div class="col-xs-12 col-sm-12 col-lg-12"><?php echo $video['creator']; ?></div>
|
|
||||||
<p><?php echo nl2br(textToLink($liveDescription)); ?></p>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-12 watch8-action-buttons text-muted">
|
|
||||||
<?php if (isShareEnabled()) { ?>
|
|
||||||
<a href="#" class="btn btn-default no-outline" id="shareBtn">
|
|
||||||
<span class="fa fa-share"></span> <?php echo __("Share"); ?>
|
|
||||||
</a>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<script>
|
|
||||||
$(document).ready(function() {
|
|
||||||
$("#shareDiv").slideUp();
|
|
||||||
$("#shareBtn").click(function() {
|
|
||||||
$(".menusDiv").not("#shareDiv").slideUp();
|
|
||||||
$("#shareDiv").slideToggle();
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<?php echo AVideoPlugin::getWatchActionButton(0); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php
|
<?php
|
||||||
$link = Live::getLinkToLiveFromUsers_id($user_id);
|
|
||||||
if (!empty($_REQUEST['live_schedule'])) {
|
|
||||||
$link = addQueryStringParameter($link, 'live_schedule', intval($_REQUEST['live_schedule']));
|
|
||||||
}
|
|
||||||
if (isShareEnabled()) {
|
|
||||||
getShareMenu($liveTitle, $link, $link, addQueryStringParameter($link, 'embed', 1), $img, "row bgWhite list-group-item menusDiv");
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<div class="row">
|
<span class="title_liveKey_<?php echo $livet['key'] ?>"><?php echo getSEOTitle($liveTitle); ?></span>
|
||||||
<div class="col-lg-12 col-sm-12 col-xs-12 extraVideos nopadding"></div>
|
<small class="text-muted">
|
||||||
|
<?php
|
||||||
|
echo $liveInfo['displayTime'];
|
||||||
|
?>
|
||||||
|
</small>
|
||||||
|
</h1>
|
||||||
|
<div class="col-xs-12 col-sm-12 col-lg-12"><?php echo $video['creator']; ?></div>
|
||||||
|
<p><?php echo nl2br(textToLink($liveDescription)); ?></p>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12 watch8-action-buttons text-muted">
|
||||||
|
<?php if (isShareEnabled()) { ?>
|
||||||
|
<a href="#" class="btn btn-default no-outline" id="shareBtn">
|
||||||
|
<span class="fa fa-share"></span> <?php echo __("Share"); ?>
|
||||||
|
</a>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
$("#shareDiv").slideUp();
|
||||||
|
$("#shareBtn").click(function() {
|
||||||
|
$(".menusDiv").not("#shareDiv").slideUp();
|
||||||
|
$("#shareDiv").slideToggle();
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<?php echo AVideoPlugin::getWatchActionButton(0); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<?php
|
||||||
|
$link = Live::getLinkToLiveFromUsers_id($user_id);
|
||||||
|
if (!empty($_REQUEST['live_schedule'])) {
|
||||||
|
$link = addQueryStringParameter($link, 'live_schedule', intval($_REQUEST['live_schedule']));
|
||||||
|
}
|
||||||
|
if (isShareEnabled()) {
|
||||||
|
getShareMenu($liveTitle, $link, $link, addQueryStringParameter($link, 'embed', 1), $img, "row bgWhite list-group-item menusDiv");
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12 col-sm-12 col-xs-12 extraVideos nopadding"></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="<?php echo $modeYoutubeBottomClass2; ?> rightBar" id="yptRightBar">
|
|
||||||
<div class="list-group-item ">
|
|
||||||
<?php
|
|
||||||
echo $sideAd;
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-1"></div>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="<?php echo $modeYoutubeBottomClass2; ?> rightBar" id="yptRightBar">
|
||||||
|
<div class="list-group-item ">
|
||||||
|
<?php
|
||||||
|
echo $sideAd;
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-1"></div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
</div>
|
||||||
include $global['systemRootPath'] . 'view/include/video.min.js.php';
|
|
||||||
echo AVideoPlugin::afterVideoJS();
|
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
|
||||||
?>
|
|
||||||
<script src="<?php echo getURL('js/webui-popover/jquery.webui-popover.min.js'); ?>" type="text/javascript"></script>
|
|
||||||
<script src="<?php echo getURL('js/bootstrap-list-filter/bootstrap-list-filter.min.js'); ?>" type="text/javascript"></script>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
include $global['systemRootPath'] . 'objects/include_end.php';
|
include $global['systemRootPath'] . 'view/include/video.min.js.php';
|
||||||
|
echo AVideoPlugin::afterVideoJS();
|
||||||
|
?>
|
||||||
|
<?php
|
||||||
|
$_page->print();
|
||||||
?>
|
?>
|
|
@ -6,26 +6,13 @@ $plugin = AVideoPlugin::loadPluginIfEnabled('LiveLinks');
|
||||||
if (empty($plugin) || !$plugin->canAddLinks()) {
|
if (empty($plugin) || !$plugin->canAddLinks()) {
|
||||||
forbiddenPage(__("You can not do this"));
|
forbiddenPage(__("You can not do this"));
|
||||||
}
|
}
|
||||||
|
$_page = new Page(array('Live Links'));
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<?php
|
||||||
<head>
|
include_once './view/panel.php';
|
||||||
<title><?php echo __("Live Links") . $config->getPageTitleSeparator() . $config->getWebSiteTitle(); ?></title>
|
?>
|
||||||
<?php
|
</div>
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
<?php
|
||||||
?>
|
$_page->print();
|
||||||
</head>
|
?>
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
?>
|
|
||||||
<div class="container">
|
|
||||||
<?php
|
|
||||||
include_once './view/panel.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
|
||||||
?>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -88,141 +88,121 @@ if (isHTMLEmpty($sideAd)) {
|
||||||
$modeYoutubeBottomClass1 = "col-sm-12 col-md-12 col-lg-10";
|
$modeYoutubeBottomClass1 = "col-sm-12 col-md-12 col-lg-10";
|
||||||
$modeYoutubeBottomClass2 = "hidden ";
|
$modeYoutubeBottomClass2 = "hidden ";
|
||||||
}
|
}
|
||||||
|
$_page = new Page(array('Live Links'));
|
||||||
|
$_page->setExtraStyles(array('node_modules/video.js/dist/video-js.min.css'));
|
||||||
|
$_page->setExtraScripts(array('node_modules/videojs-contrib-ads/dist/videojs.ads.min.js'));
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container-fluid principalContainer" style="padding: 0;overflow: hidden;" id="modeYoutubePrincipal">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<?php
|
||||||
<head>
|
if (!$isCompressed) {
|
||||||
<title><?php echo $t['title'] . $config->getPageTitleSeparator() . __("Live Links") . $config->getPageTitleSeparator() . $config->getWebSiteTitle(); ?></title>
|
?>
|
||||||
<link href="<?php echo getURL('node_modules/video.js/dist/video-js.min.css'); ?>" rel="stylesheet" type="text/css"/>
|
<div class="" id="modeYoutubeTop">
|
||||||
<link href="<?php echo getURL('node_modules/videojs-contrib-ads/dist/videojs.ads.min.js'); ?>" rel="stylesheet" type="text/css"/>
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
|
||||||
?>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
<div class="col-md-12">
|
||||||
<?php
|
<center style="margin:5px;">
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
<?php echo getAdsLeaderBoardTop(); ?>
|
||||||
?>
|
</center>
|
||||||
<!-- LiveLinks Live.php -->
|
</div>
|
||||||
<div class="container-fluid principalContainer" style="padding: 0;overflow: hidden;" id="modeYoutubePrincipal">
|
<div class="col-md-12">
|
||||||
<?php
|
<?php
|
||||||
if (!$isCompressed) {
|
require "{$global['systemRootPath']}plugin/LiveLinks/view/liveVideo.php";
|
||||||
?>
|
?>
|
||||||
<div class="" id="modeYoutubeTop" >
|
</div>
|
||||||
|
<div class="col-md-12">
|
||||||
|
<center style="margin:5px;">
|
||||||
|
<?php echo getAdsLeaderBoardTop2(); ?>
|
||||||
|
</center>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<div class="row" id="modeYoutubeBottom" style="margin: 0;">
|
||||||
|
<div class="col-lg-1"></div>
|
||||||
|
<div class="<?php echo $modeYoutubeBottomClass1; ?>" id="modeYoutubeBottomContent">
|
||||||
|
<?php
|
||||||
|
if ($isCompressed) {
|
||||||
|
?>
|
||||||
|
<div class="" id="modeYoutubeTop">
|
||||||
|
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<center style="margin:5px;">
|
<center style="margin:5px;">
|
||||||
<?php echo getAdsLeaderBoardTop(); ?>
|
<?php echo getAdsLeaderBoardTop(); ?>
|
||||||
</center>
|
</center>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<?php
|
<?php
|
||||||
require "{$global['systemRootPath']}plugin/LiveLinks/view/liveVideo.php";
|
require "{$global['systemRootPath']}plugin/LiveLinks/view/liveVideo.php";
|
||||||
?>
|
?>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<center style="margin:5px;">
|
<center style="margin:5px;">
|
||||||
<?php echo getAdsLeaderBoardTop2(); ?>
|
<?php echo getAdsLeaderBoardTop2(); ?>
|
||||||
</center>
|
</center>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<div class="row" id="modeYoutubeBottom" style="margin: 0;">
|
<div class="panel panel-default">
|
||||||
<div class="col-lg-1"></div>
|
<div class="panel-body">
|
||||||
<div class="<?php echo $modeYoutubeBottomClass1; ?>" id="modeYoutubeBottomContent">
|
<h1 itemprop="name"><i class="fas fa-video"></i> <?php echo getSEOTitle($t['title']); ?></h1>
|
||||||
<?php
|
<div class="col-xs-12 col-sm-12 col-lg-12"><?php echo $video['creator']; ?></div>
|
||||||
if ($isCompressed) {
|
<p><?php echo nl2br(textToLink($t['description'])); ?></p>
|
||||||
?>
|
|
||||||
<div class="" id="modeYoutubeTop" >
|
|
||||||
|
|
||||||
<div class="col-md-12">
|
<div class="row">
|
||||||
<center style="margin:5px;">
|
<div class="col-md-12 watch8-action-buttons text-muted">
|
||||||
<?php echo getAdsLeaderBoardTop(); ?>
|
<?php if (isShareEnabled()) { ?>
|
||||||
</center>
|
<a href="#" class="btn btn-default no-outline" id="shareBtn">
|
||||||
</div>
|
<span class="fa fa-share"></span> <?php echo __("Share"); ?>
|
||||||
<div class="col-md-12">
|
</a>
|
||||||
<?php
|
|
||||||
require "{$global['systemRootPath']}plugin/LiveLinks/view/liveVideo.php";
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-12">
|
|
||||||
<center style="margin:5px;">
|
|
||||||
<?php echo getAdsLeaderBoardTop2(); ?>
|
|
||||||
</center>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-body">
|
|
||||||
<h1 itemprop="name"><i class="fas fa-video"></i> <?php echo getSEOTitle($t['title']); ?></h1>
|
|
||||||
<div class="col-xs-12 col-sm-12 col-lg-12"><?php echo $video['creator']; ?></div>
|
|
||||||
<p><?php echo nl2br(textToLink($t['description'])); ?></p>
|
|
||||||
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-md-12 watch8-action-buttons text-muted">
|
|
||||||
<?php if (isShareEnabled()) { ?>
|
|
||||||
<a href="#" class="btn btn-default no-outline" id="shareBtn">
|
|
||||||
<span class="fa fa-share"></span> <?php echo __("Share"); ?>
|
|
||||||
</a>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<script>
|
|
||||||
$(document).ready(function () {
|
|
||||||
$("#shareDiv").slideUp();
|
|
||||||
$("#shareBtn").click(function () {
|
|
||||||
$(".menusDiv").not("#shareDiv").slideUp();
|
|
||||||
$("#shareDiv").slideToggle();
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<?php echo AVideoPlugin::getWatchActionButton(0); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php
|
<?php
|
||||||
if (isShareEnabled()) {
|
|
||||||
/**
|
|
||||||
* @var string $link
|
|
||||||
* @var string $linkEmbed
|
|
||||||
*/
|
|
||||||
$link = LiveLinks::getLinkToLiveFromId($_GET['link']);
|
|
||||||
$linkEmbed = LiveLinks::getLinkToLiveFromId($_GET['link'], true);
|
|
||||||
getShareMenu($t['title'], $link, $link, $linkEmbed, $img, "row");
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<div class="row">
|
<script>
|
||||||
<div class="col-lg-12 col-sm-12 col-xs-12 extraVideos nopadding"></div>
|
$(document).ready(function() {
|
||||||
</div>
|
$("#shareDiv").slideUp();
|
||||||
|
$("#shareBtn").click(function() {
|
||||||
|
$(".menusDiv").not("#shareDiv").slideUp();
|
||||||
|
$("#shareDiv").slideToggle();
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<?php echo AVideoPlugin::getWatchActionButton(0); ?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<?php
|
||||||
<div class="<?php echo $modeYoutubeBottomClass2; ?> rightBar" id="yptRightBar">
|
if (isShareEnabled()) {
|
||||||
<div class="list-group-item ">
|
/**
|
||||||
<?php
|
* @var string $link
|
||||||
echo $sideAd;
|
* @var string $linkEmbed
|
||||||
?>
|
*/
|
||||||
|
$link = LiveLinks::getLinkToLiveFromId($_GET['link']);
|
||||||
|
$linkEmbed = LiveLinks::getLinkToLiveFromId($_GET['link'], true);
|
||||||
|
getShareMenu($t['title'], $link, $link, $linkEmbed, $img, "row");
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-12 col-sm-12 col-xs-12 extraVideos nopadding"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-1"></div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<div class="<?php echo $modeYoutubeBottomClass2; ?> rightBar" id="yptRightBar">
|
||||||
include $global['systemRootPath'] . 'view/include/video.min.js.php';
|
<div class="list-group-item ">
|
||||||
echo AVideoPlugin::afterVideoJS();
|
<?php
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
echo $sideAd;
|
||||||
?>
|
?>
|
||||||
</body>
|
</div>
|
||||||
</html>
|
</div>
|
||||||
|
<div class="col-lg-1"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<?php
|
<?php
|
||||||
include $global['systemRootPath'] . 'objects/include_end.php';
|
include $global['systemRootPath'] . 'view/include/video.min.js.php';
|
||||||
|
echo AVideoPlugin::afterVideoJS();
|
||||||
?>
|
?>
|
||||||
|
<?php
|
||||||
|
$_page->print();
|
||||||
|
?>
|
|
@ -175,7 +175,7 @@
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/LiveLinks/view/addLiveLink.php',
|
url: webSiteRootURL+'plugin/LiveLinks/view/addLiveLink.php',
|
||||||
data: $('#liveLinksForm').serialize(),
|
data: $('#liveLinksForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -126,7 +126,7 @@ if (!User::isAdmin()) {
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$('#addlogincontrol_historyBtn').click(function () {
|
$('#addlogincontrol_historyBtn').click(function () {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/LoginControl/View/addlogincontrol_historyVideo.php',
|
url: webSiteRootURL+'plugin/LoginControl/View/addlogincontrol_historyVideo.php',
|
||||||
data: $('#panellogincontrol_historyForm').serialize(),
|
data: $('#panellogincontrol_historyForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -168,7 +168,7 @@ if (!User::isAdmin()) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/LoginControl/View/Users_login_history/add.json.php',
|
url: webSiteRootURL+'plugin/LoginControl/View/Users_login_history/add.json.php',
|
||||||
data: $('#panellogincontrol_historyForm').serialize(),
|
data: $('#panellogincontrol_historyForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -1,46 +1,30 @@
|
||||||
<?php
|
<?php
|
||||||
require_once '../../../videos/configuration.php';
|
require_once '../../../videos/configuration.php';
|
||||||
AVideoPlugin::loadPlugin("LoginControl");
|
AVideoPlugin::loadPlugin("LoginControl");
|
||||||
|
$_page = new Page(array('Login Control'));
|
||||||
|
$_page->loadBasicCSSAndJS();
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container-fluid">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<div class="panel panel-default">
|
||||||
<head>
|
<div class="panel-heading"><?php echo __('LoginControl') ?>
|
||||||
<title><?php echo __("Login Control") . $config->getPageTitleSeparator() . $config->getWebSiteTitle(); ?></title>
|
<div class="pull-right">
|
||||||
<?php
|
<?php echo AVideoPlugin::getSwitchButton("LoginControl"); ?>
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
</div>
|
||||||
?>
|
</div>
|
||||||
<link rel="stylesheet" type="text/css" href="<?php echo getCDN(); ?>view/css/DataTables/datatables.min.css"/>
|
<div class="panel-body">
|
||||||
<link href="<?php echo getCDN(); ?>view/js/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css" rel="stylesheet" type="text/css"/>
|
<ul class="nav nav-tabs">
|
||||||
</head>
|
<li class="active"><a data-toggle="tab" href="#logincontrol_history"><?php echo __("Users Login History"); ?></a></li>
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
</ul>
|
||||||
<?php
|
<div class="tab-content">
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
<div id="logincontrol_history" class="tab-pane fade in active" style="padding: 10px;">
|
||||||
?>
|
<?php
|
||||||
<div class="container-fluid">
|
include $global['systemRootPath'] . 'plugin/LoginControl/View/Users_login_history/index_body.php';
|
||||||
<div class="panel panel-default">
|
?>
|
||||||
<div class="panel-heading"><?php echo __('LoginControl') ?>
|
|
||||||
<div class="pull-right">
|
|
||||||
<?php echo AVideoPlugin::getSwitchButton("LoginControl"); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<ul class="nav nav-tabs">
|
|
||||||
<li class="active"><a data-toggle="tab" href="#logincontrol_history"><?php echo __("Users Login History"); ?></a></li>
|
|
||||||
</ul>
|
|
||||||
<div class="tab-content">
|
|
||||||
<div id="logincontrol_history" class="tab-pane fade in active" style="padding: 10px;">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'plugin/LoginControl/View/Users_login_history/index_body.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript" src="<?php echo getURL('view/css/DataTables/datatables.min.js'); ?>"></script>
|
</div>
|
||||||
<script src="<?php echo getCDN(); ?>js/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js" type="text/javascript"></script>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
$_page->print();
|
||||||
?>
|
?>
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -11,42 +11,27 @@ if (empty($users_id)) {
|
||||||
forbiddenPage('Empty user ID');
|
forbiddenPage('Empty user ID');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$_page = new Page(array("Login History"));
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container-fluid">
|
||||||
<html>
|
<div class="panel panel-default">
|
||||||
<head>
|
<div class="panel-heading tabbable-line">
|
||||||
<title><?php echo __("Login History"); ?></title>
|
<?php
|
||||||
<?php
|
echo Video::getCreatorHTML($users_id);
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
?>
|
||||||
?>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
?>
|
|
||||||
<div class="container-fluid">
|
|
||||||
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading tabbable-line">
|
|
||||||
<?php
|
|
||||||
echo Video::getCreatorHTML($users_id);
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<?php
|
|
||||||
include '../../plugin/LoginControl/profileTabContent.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<div class="panel-body">
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
<?php
|
||||||
?>
|
include '../../plugin/LoginControl/profileTabContent.php';
|
||||||
<script>
|
?>
|
||||||
$(document).ready(function () {
|
</div>
|
||||||
$('#loginHistory').addClass('in');
|
</div>
|
||||||
});
|
</div>
|
||||||
</script>
|
<script>
|
||||||
</body>
|
$(document).ready(function() {
|
||||||
</html>
|
$('#loginHistory').addClass('in');
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
$_page->print();
|
||||||
|
?>
|
|
@ -1,102 +1,89 @@
|
||||||
<?php
|
<?php
|
||||||
require_once dirname(__FILE__) . '/../../../videos/configuration.php';
|
require_once dirname(__FILE__) . '/../../../videos/configuration.php';
|
||||||
AVideoPlugin::loadPlugin("LoginControl");
|
AVideoPlugin::loadPlugin("LoginControl");
|
||||||
?>
|
$_page = new Page(array('PGP Challenge'));
|
||||||
<!DOCTYPE html>
|
?>
|
||||||
<html>
|
<div class="container">
|
||||||
<head>
|
<div class="row">
|
||||||
<title><?php echo __("PGP Challenge"); ?></title>
|
<div class="col-sm-6">
|
||||||
<?php
|
<div class="panel panel-default">
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
<div class="panel-heading">
|
||||||
?>
|
<?php echo __('Two-Factor Challenge'); ?>
|
||||||
</head>
|
<button class="btn btn-default btn-xs pull-right" onclick="avideoModalIframe(webSiteRootURL + 'plugin/LoginControl/pgp/keys.php')"><i class="fas fa-key"></i> <?php echo __('Generate Keys'); ?>/<?php echo __('Tools'); ?></button>
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
<button class="btn btn-default pull-right btn-xs" onclick="copyToClipboard($('#pgpChallenge').val());"><i class="fas fa-copy"></i> <?php echo __('Copy to clipboard') ?></button>
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
?>
|
|
||||||
<br>
|
|
||||||
<div class="container">
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-sm-6">
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<?php echo __('Two-Factor Challenge'); ?>
|
|
||||||
<button class="btn btn-default btn-xs pull-right" onclick="avideoModalIframe(webSiteRootURL + 'plugin/LoginControl/pgp/keys.php')"><i class="fas fa-key"></i> <?php echo __('Generate Keys'); ?>/<?php echo __('Tools'); ?></button>
|
|
||||||
<button class="btn btn-default pull-right btn-xs" onclick="copyToClipboard($('#pgpChallenge').val());"><i class="fas fa-copy"></i> <?php echo __('Copy to clipboard') ?></button>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<textarea class="form-control" rows="10" id="pgpChallenge"><?php echo LoginControl::getChallenge(); ?></textarea>
|
|
||||||
<?php echo __('Two-Factor Response'); ?>
|
|
||||||
<input type="text" class="form-control" id="pgpResponse" placeholder="<?php echo __('Enter Code'); ?>"/>
|
|
||||||
</div>
|
|
||||||
<div class="panel-footer">
|
|
||||||
<button class="btn btn-block btn-primary" onclick="checkCode();"><?php echo __('Check Code') ?></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6">
|
<div class="panel-body">
|
||||||
<div class="panel panel-default">
|
<textarea class="form-control" rows="10" id="pgpChallenge"><?php echo LoginControl::getChallenge(); ?></textarea>
|
||||||
<div class="panel-heading">
|
<?php echo __('Two-Factor Response'); ?>
|
||||||
<?php echo __('Challenge Decryptor'); ?>
|
<input type="text" class="form-control" id="pgpResponse" placeholder="<?php echo __('Enter Code'); ?>" />
|
||||||
<i class="fas fa-info-circle" data-toggle="tooltip" title="<?php echo __('To increase your security, we recommend that you use your own PGP tools (offsite)'); ?>"></i>
|
</div>
|
||||||
</div>
|
<div class="panel-footer">
|
||||||
<div class="panel-body">
|
<button class="btn btn-block btn-primary" onclick="checkCode();"><?php echo __('Check Code') ?></button>
|
||||||
<textarea class="form-control" rows="10" id="privateKeyToDecryptMsg" placeholder="<?php echo __('Private Key'); ?>"></textarea>
|
|
||||||
<?php echo __('Key Password'); ?>
|
|
||||||
<input type="password" class="form-control" id="keyPasswordToDecrypt" placeholder="<?php echo __('Key Password'); ?>"/>
|
|
||||||
</div>
|
|
||||||
<div class="panel-footer">
|
|
||||||
<button class="btn btn-block btn-primary" onclick="decryptMessage();"><?php echo __('Decrypt') ?></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<div class="col-sm-6">
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
<div class="panel panel-default">
|
||||||
?>
|
<div class="panel-heading">
|
||||||
<script>
|
<?php echo __('Challenge Decryptor'); ?>
|
||||||
function checkCode() {
|
<i class="fas fa-info-circle" data-toggle="tooltip" title="<?php echo __('To increase your security, we recommend that you use your own PGP tools (offsite)'); ?>"></i>
|
||||||
modal.showPleaseWait();
|
</div>
|
||||||
$.ajax({
|
<div class="panel-body">
|
||||||
url: webSiteRootURL + 'plugin/LoginControl/pgp/verifyChallenge.json.php',
|
<textarea class="form-control" rows="10" id="privateKeyToDecryptMsg" placeholder="<?php echo __('Private Key'); ?>"></textarea>
|
||||||
method: 'POST',
|
<?php echo __('Key Password'); ?>
|
||||||
data: {
|
<input type="password" class="form-control" id="keyPasswordToDecrypt" placeholder="<?php echo __('Key Password'); ?>" />
|
||||||
'response': $('#pgpResponse').val()
|
</div>
|
||||||
},
|
<div class="panel-footer">
|
||||||
success: function (response) {
|
<button class="btn btn-block btn-primary" onclick="decryptMessage();"><?php echo __('Decrypt') ?></button>
|
||||||
if (response.error) {
|
</div>
|
||||||
avideoAlertError(response.msg);
|
</div>
|
||||||
modal.hidePleaseWait();
|
</div>
|
||||||
} else {
|
</div>
|
||||||
avideoToastSuccess("Success");
|
</div>
|
||||||
location.reload();
|
<script>
|
||||||
}
|
function checkCode() {
|
||||||
}
|
modal.showPleaseWait();
|
||||||
});
|
$.ajax({
|
||||||
|
url: webSiteRootURL + 'plugin/LoginControl/pgp/verifyChallenge.json.php',
|
||||||
|
method: 'POST',
|
||||||
|
data: {
|
||||||
|
'response': $('#pgpResponse').val()
|
||||||
|
},
|
||||||
|
success: function(response) {
|
||||||
|
if (response.error) {
|
||||||
|
avideoAlertError(response.msg);
|
||||||
|
modal.hidePleaseWait();
|
||||||
|
} else {
|
||||||
|
avideoToastSuccess("Success");
|
||||||
|
location.reload();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
function decryptMessage() {
|
});
|
||||||
modal.showPleaseWait();
|
}
|
||||||
$.ajax({
|
|
||||||
url: webSiteRootURL + 'plugin/LoginControl/pgp/decryptMessage.json.php',
|
function decryptMessage() {
|
||||||
method: 'POST',
|
modal.showPleaseWait();
|
||||||
data: {
|
$.ajax({
|
||||||
'privateKeyToDecryptMsg': $('#privateKeyToDecryptMsg').val(),
|
url: webSiteRootURL + 'plugin/LoginControl/pgp/decryptMessage.json.php',
|
||||||
'textToDecrypt': $('#pgpChallenge').val(),
|
method: 'POST',
|
||||||
'keyPassword': $('#keyPasswordToDecrypt').val()
|
data: {
|
||||||
},
|
'privateKeyToDecryptMsg': $('#privateKeyToDecryptMsg').val(),
|
||||||
success: function (response) {
|
'textToDecrypt': $('#pgpChallenge').val(),
|
||||||
if (response.error) {
|
'keyPassword': $('#keyPasswordToDecrypt').val()
|
||||||
modal.hidePleaseWait();
|
},
|
||||||
avideoAlertError(response.msg);
|
success: function(response) {
|
||||||
} else {
|
if (response.error) {
|
||||||
$('#pgpResponse').val(response.textDecrypted);
|
modal.hidePleaseWait();
|
||||||
modal.hidePleaseWait();
|
avideoAlertError(response.msg);
|
||||||
checkCode();
|
} else {
|
||||||
}
|
$('#pgpResponse').val(response.textDecrypted);
|
||||||
}
|
modal.hidePleaseWait();
|
||||||
});
|
checkCode();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
});
|
||||||
</body>
|
}
|
||||||
</html>
|
</script>
|
||||||
|
<?php
|
||||||
|
$_page->print();
|
||||||
|
?>
|
|
@ -1,73 +1,60 @@
|
||||||
<?php
|
<?php
|
||||||
require_once '../../../videos/configuration.php';
|
require_once '../../../videos/configuration.php';
|
||||||
AVideoPlugin::loadPlugin("LoginControl");
|
AVideoPlugin::loadPlugin("LoginControl");
|
||||||
require_once $global['systemRootPath'] . 'plugin/LoginControl/pgp/functions.php';
|
require_once $global['systemRootPath'] . 'plugin/LoginControl/pgp/functions.php';
|
||||||
|
|
||||||
?>
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title><?php echo __("PGP Keys"); ?></title>
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
|
||||||
?>
|
|
||||||
<style>
|
|
||||||
.monospacedKey{
|
|
||||||
font-family: 'Courier New', monospace;
|
|
||||||
font-size: 0.8em;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
?>
|
|
||||||
<br>
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading tabbable-line">
|
|
||||||
<ul class="nav nav-tabs">
|
|
||||||
<li class="nav-item active">
|
|
||||||
<a class="nav-link " href="#decryptMessage" data-toggle="tab">
|
|
||||||
<i class="fas fa-unlock"></i> <?php echo __('Decrypt Message') ?>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item">
|
|
||||||
<a class="nav-link " href="#encryptMessage" data-toggle="tab">
|
|
||||||
<i class="fas fa-lock"></i> <?php echo __('Encrypt Message') ?>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item ">
|
|
||||||
<a class="nav-link " href="#generateKeys" data-toggle="tab">
|
|
||||||
<i class="fas fa-key"></i> <?php echo __('Generate Keys') ?>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<div class="tab-content clearfix">
|
|
||||||
<div class="tab-pane active" id="decryptMessage">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'plugin/LoginControl/pgp/decryptMessage.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<div class="tab-pane" id="encryptMessage">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'plugin/LoginControl/pgp/encryptMessage.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<div class="tab-pane " id="generateKeys">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'plugin/LoginControl/pgp/generateKeys.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
AVideoPlugin::loadPlugin("LoginControl");
|
||||||
|
$_page = new Page(array('PGP Keys'));
|
||||||
|
?>
|
||||||
|
<style>
|
||||||
|
.monospacedKey {
|
||||||
|
font-family: 'Courier New', monospace;
|
||||||
|
font-size: 0.8em;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-heading tabbable-line">
|
||||||
|
<ul class="nav nav-tabs">
|
||||||
|
<li class="nav-item active">
|
||||||
|
<a class="nav-link " href="#decryptMessage" data-toggle="tab">
|
||||||
|
<i class="fas fa-unlock"></i> <?php echo __('Decrypt Message') ?>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item">
|
||||||
|
<a class="nav-link " href="#encryptMessage" data-toggle="tab">
|
||||||
|
<i class="fas fa-lock"></i> <?php echo __('Encrypt Message') ?>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item ">
|
||||||
|
<a class="nav-link " href="#generateKeys" data-toggle="tab">
|
||||||
|
<i class="fas fa-key"></i> <?php echo __('Generate Keys') ?>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
<div class="tab-content clearfix">
|
||||||
|
<div class="tab-pane active" id="decryptMessage">
|
||||||
|
<?php
|
||||||
|
include $global['systemRootPath'] . 'plugin/LoginControl/pgp/decryptMessage.php';
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
<div class="tab-pane" id="encryptMessage">
|
||||||
|
<?php
|
||||||
|
include $global['systemRootPath'] . 'plugin/LoginControl/pgp/encryptMessage.php';
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
<div class="tab-pane " id="generateKeys">
|
||||||
|
<?php
|
||||||
|
include $global['systemRootPath'] . 'plugin/LoginControl/pgp/generateKeys.php';
|
||||||
|
?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<?php
|
</div>
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
</div>
|
||||||
?>
|
<?php
|
||||||
</body>
|
$_page->print();
|
||||||
</html>
|
?>
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
$uid = uniqid();
|
$uid = uniqid();
|
||||||
?>
|
?>
|
||||||
<div class="material-switch">
|
<div class="material-switch">
|
||||||
<input class="playerSwitchDefault" data-toggle="toggle" type="checkbox" value="" id="switch<?php echo $uid; ?>" <?php echo (LoginControl::is2FAEnabled($users_id)) ? "checked" : ""; ?>>
|
<input class="playerSwitchDefault" data-toggle="toggle" type="checkbox" value="" id="switch<?php echo $uid; ?>" <?php echo (LoginControl::is2FAEnabled($users_id)) ? "checked" : ""; ?>>
|
||||||
<label for="switch<?php echo $uid; ?>" class="label-primary"></label>
|
<label for="switch<?php echo $uid; ?>" class="label-primary"></label>
|
||||||
|
@ -10,7 +10,7 @@ $uid = uniqid();
|
||||||
$('#switch<?php echo $uid; ?>').change(function (e) {
|
$('#switch<?php echo $uid; ?>').change(function (e) {
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/LoginControl/set.json.php',
|
url: webSiteRootURL+'plugin/LoginControl/set.json.php',
|
||||||
data: {"type": "set2FA", "value": $('#switch<?php echo $uid; ?>').is(":checked")},
|
data: {"type": "set2FA", "value": $('#switch<?php echo $uid; ?>').is(":checked")},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -113,7 +113,7 @@ if (!User::isAdmin()) {
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$('#addMeet_join_logBtn').click(function () {
|
$('#addMeet_join_logBtn').click(function () {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Meet/View/addMeet_join_logVideo.php',
|
url: webSiteRootURL+'plugin/Meet/View/addMeet_join_logVideo.php',
|
||||||
data: $('#panelMeet_join_logForm').serialize(),
|
data: $('#panelMeet_join_logForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -152,7 +152,7 @@ if (!User::isAdmin()) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Meet/View/Meet_join_log/add.json.php',
|
url: webSiteRootURL+'plugin/Meet/View/Meet_join_log/add.json.php',
|
||||||
data: $('#panelMeet_join_logForm').serialize(),
|
data: $('#panelMeet_join_logForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -153,7 +153,7 @@ if (!User::isAdmin()) {
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$('#addMeet_scheduleBtn').click(function () {
|
$('#addMeet_scheduleBtn').click(function () {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Meet/View/addMeet_scheduleVideo.php',
|
url: webSiteRootURL+'plugin/Meet/View/addMeet_scheduleVideo.php',
|
||||||
data: $('#panelMeet_scheduleForm').serialize(),
|
data: $('#panelMeet_scheduleForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -199,7 +199,7 @@ if (!User::isAdmin()) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Meet/View/Meet_schedule/add.json.php',
|
url: webSiteRootURL+'plugin/Meet/View/Meet_schedule/add.json.php',
|
||||||
data: $('#panelMeet_scheduleForm').serialize(),
|
data: $('#panelMeet_scheduleForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -21,7 +21,7 @@ if (!User::isAdmin()) {
|
||||||
<div class="panel-body">
|
<div class="panel-body">
|
||||||
<form id="panelMeet_schedule_has_users_groupsForm">
|
<form id="panelMeet_schedule_has_users_groupsForm">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<input type="hidden" name="id" id="Meet_schedule_has_users_groupsid" value="" >
|
<input type="hidden" name="id" id="Meet_schedule_has_users_groupsid" value="" >
|
||||||
<div class="form-group col-sm-12">
|
<div class="form-group col-sm-12">
|
||||||
<label for="Meet_schedule_has_users_groupsmeet_schedule_id"><?php echo __("Meet Schedule Id"); ?>:</label>
|
<label for="Meet_schedule_has_users_groupsmeet_schedule_id"><?php echo __("Meet Schedule Id"); ?>:</label>
|
||||||
<select class="form-control input-sm" name="meet_schedule_id" id="Meet_schedule_has_users_groupsmeet_schedule_id">
|
<select class="form-control input-sm" name="meet_schedule_id" id="Meet_schedule_has_users_groupsmeet_schedule_id">
|
||||||
|
@ -32,7 +32,7 @@ if (!User::isAdmin()) {
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group col-sm-12">
|
<div class="form-group col-sm-12">
|
||||||
<label for="Meet_schedule_has_users_groupsusers_groups_id"><?php echo __("Users Groups Id"); ?>:</label>
|
<label for="Meet_schedule_has_users_groupsusers_groups_id"><?php echo __("Users Groups Id"); ?>:</label>
|
||||||
<select class="form-control input-sm" name="users_groups_id" id="Meet_schedule_has_users_groupsusers_groups_id">
|
<select class="form-control input-sm" name="users_groups_id" id="Meet_schedule_has_users_groupsusers_groups_id">
|
||||||
|
@ -92,14 +92,14 @@ if (!User::isAdmin()) {
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
function clearMeet_schedule_has_users_groupsForm() {
|
function clearMeet_schedule_has_users_groupsForm() {
|
||||||
$('#Meet_schedule_has_users_groupsid').val('');
|
$('#Meet_schedule_has_users_groupsid').val('');
|
||||||
$('#Meet_schedule_has_users_groupsmeet_schedule_id').val('');
|
$('#Meet_schedule_has_users_groupsmeet_schedule_id').val('');
|
||||||
$('#Meet_schedule_has_users_groupsusers_groups_id').val('');
|
$('#Meet_schedule_has_users_groupsusers_groups_id').val('');
|
||||||
}
|
}
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$('#addMeet_schedule_has_users_groupsBtn').click(function () {
|
$('#addMeet_schedule_has_users_groupsBtn').click(function () {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Meet/View/addMeet_schedule_has_users_groupsVideo.php',
|
url: webSiteRootURL+'plugin/Meet/View/addMeet_schedule_has_users_groupsVideo.php',
|
||||||
data: $('#panelMeet_schedule_has_users_groupsForm').serialize(),
|
data: $('#panelMeet_schedule_has_users_groupsForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -136,7 +136,7 @@ $('#Meet_schedule_has_users_groupsusers_groups_id').val('');
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Meet/View/Meet_schedule_has_users_groups/add.json.php',
|
url: webSiteRootURL+'plugin/Meet/View/Meet_schedule_has_users_groups/add.json.php',
|
||||||
data: $('#panelMeet_schedule_has_users_groupsForm').serialize(),
|
data: $('#panelMeet_schedule_has_users_groupsForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -187,8 +187,8 @@ $('#Meet_schedule_has_users_groupsusers_groups_id').val('');
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
var tr = $(this).closest('tr')[0];
|
var tr = $(this).closest('tr')[0];
|
||||||
var data = Meet_schedule_has_users_groupstableVar.row(tr).data();
|
var data = Meet_schedule_has_users_groupstableVar.row(tr).data();
|
||||||
$('#Meet_schedule_has_users_groupsid').val(data.id);
|
$('#Meet_schedule_has_users_groupsid').val(data.id);
|
||||||
$('#Meet_schedule_has_users_groupsmeet_schedule_id').val(data.meet_schedule_id);
|
$('#Meet_schedule_has_users_groupsmeet_schedule_id').val(data.meet_schedule_id);
|
||||||
$('#Meet_schedule_has_users_groupsusers_groups_id').val(data.users_groups_id);
|
$('#Meet_schedule_has_users_groupsusers_groups_id').val(data.users_groups_id);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -1,58 +1,42 @@
|
||||||
<?php
|
<?php
|
||||||
require_once '../../../videos/configuration.php';
|
require_once '../../../videos/configuration.php';
|
||||||
AVideoPlugin::loadPlugin("Meet");
|
AVideoPlugin::loadPlugin("Meet");
|
||||||
|
$_page = new Page(array('Meet'));
|
||||||
|
$_page->loadBasicCSSAndJS();
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container-fluid">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<div class="panel panel-default">
|
||||||
<head>
|
<div class="panel-heading"><?php echo __('Meet') ?>
|
||||||
<title><?php echo __("Meet") . $config->getPageTitleSeparator() . $config->getWebSiteTitle(); ?></title>
|
<div class="pull-right">
|
||||||
<?php
|
<?php echo AVideoPlugin::getSwitchButton("Meet"); ?>
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
</div>
|
||||||
?>
|
</div>
|
||||||
<link rel="stylesheet" type="text/css" href="<?php echo getCDN(); ?>view/css/DataTables/datatables.min.css"/>
|
<div class="panel-body">
|
||||||
<link href="<?php echo getCDN(); ?>view/js/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css" rel="stylesheet" type="text/css"/>
|
<ul class="nav nav-tabs">
|
||||||
</head>
|
<li class="active"><a data-toggle="tab" href="#Meet_schedule"><?php echo __("Meet Schedule"); ?></a></li>
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
<li class=""><a data-toggle="tab" href="#Meet_schedule_has_users_groups"><?php echo __("Meet Schedule Has Users Groups"); ?></a></li>
|
||||||
<?php
|
<li class=""><a data-toggle="tab" href="#Meet_join_log"><?php echo __("Meet Join Log"); ?></a></li>
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
</ul>
|
||||||
?>
|
<div class="tab-content">
|
||||||
<div class="container-fluid">
|
<div id="Meet_schedule" class="tab-pane fade in active" style="padding: 10px;">
|
||||||
<div class="panel panel-default">
|
<?php
|
||||||
<div class="panel-heading"><?php echo __('Meet') ?>
|
include $global['systemRootPath'] . 'plugin/Meet/View/Meet_schedule/index_body.php';
|
||||||
<div class="pull-right">
|
?>
|
||||||
<?php echo AVideoPlugin::getSwitchButton("Meet"); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body">
|
<div id="Meet_schedule_has_users_groups" class="tab-pane fade " style="padding: 10px;">
|
||||||
<ul class="nav nav-tabs">
|
<?php
|
||||||
<li class="active"><a data-toggle="tab" href="#Meet_schedule"><?php echo __("Meet Schedule"); ?></a></li>
|
include $global['systemRootPath'] . 'plugin/Meet/View/Meet_schedule_has_users_groups/index_body.php';
|
||||||
<li class=""><a data-toggle="tab" href="#Meet_schedule_has_users_groups"><?php echo __("Meet Schedule Has Users Groups"); ?></a></li>
|
?>
|
||||||
<li class=""><a data-toggle="tab" href="#Meet_join_log"><?php echo __("Meet Join Log"); ?></a></li>
|
</div>
|
||||||
</ul>
|
<div id="Meet_join_log" class="tab-pane fade " style="padding: 10px;">
|
||||||
<div class="tab-content">
|
<?php
|
||||||
<div id="Meet_schedule" class="tab-pane fade in active" style="padding: 10px;">
|
include $global['systemRootPath'] . 'plugin/Meet/View/Meet_join_log/index_body.php';
|
||||||
<?php
|
?>
|
||||||
include $global['systemRootPath'] . 'plugin/Meet/View/Meet_schedule/index_body.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<div id="Meet_schedule_has_users_groups" class="tab-pane fade " style="padding: 10px;">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'plugin/Meet/View/Meet_schedule_has_users_groups/index_body.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<div id="Meet_join_log" class="tab-pane fade " style="padding: 10px;">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'plugin/Meet/View/Meet_join_log/index_body.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript" src="<?php echo getURL('view/css/DataTables/datatables.min.js'); ?>"></script>
|
</div>
|
||||||
<script src="<?php echo getCDN(); ?>js/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js" type="text/javascript"></script>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
$_page->print();
|
||||||
?>
|
?>
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -13,7 +13,7 @@ if (empty($obj)) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,362 +26,349 @@ $m = AVideoPlugin::loadPlugin("Meet");
|
||||||
$emptyObject = $m->getEmptyDataObject();
|
$emptyObject = $m->getEmptyDataObject();
|
||||||
|
|
||||||
$timeouts = 2000;
|
$timeouts = 2000;
|
||||||
|
$_page = new Page(array('Check Meet Servers'));
|
||||||
?>
|
?>
|
||||||
|
<div class="container-fluid">
|
||||||
<!DOCTYPE html>
|
<div class="panel panel-default">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<div class="panel-heading">
|
||||||
<head>
|
<a href="<?php echo $global['webSiteRootURL']; ?>plugin/Meet/" class="btn btn-default" data-toggle="tooltip" title="<?php echo __("Create a Meet"); ?> " data-placement="bottom">
|
||||||
<title><?php echo __("Check Meet Servers") . $config->getPageTitleSeparator() . $config->getWebSiteTitle(); ?></title>
|
<i class="fas fa-comments"></i> <?php echo __("Create a Meet"); ?>
|
||||||
<?php
|
</a>
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
</div>
|
||||||
?>
|
<div class="panel-body tabbable-line">
|
||||||
</head>
|
<div class="row">
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
<?php
|
||||||
<?php
|
foreach ($emptyObject->server->type as $key => $value) {
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
if ($key == "custom") {
|
||||||
?>
|
?>
|
||||||
<div class="container-fluid">
|
<div class="col-xs-6">
|
||||||
<div class="panel panel-default">
|
<div class="panel panel-default" id="panel<?php echo $newKey; ?>">
|
||||||
<div class="panel-heading">
|
<div class="panel-heading ">
|
||||||
<a href="<?php echo $global['webSiteRootURL']; ?>plugin/Meet/" class="btn btn-default" data-toggle="tooltip" title="<?php echo __("Create a Meet"); ?> " data-placement="bottom" >
|
<?php
|
||||||
<i class="fas fa-comments"></i> <?php echo __("Create a Meet"); ?>
|
echo "<b>{$value} ({$obj->CUSTOM_JITSI_DOMAIN})</b> ";
|
||||||
</a>
|
if ($obj->server->value !== $key) {
|
||||||
</div>
|
|
||||||
<div class="panel-body tabbable-line">
|
|
||||||
<div class="row">
|
|
||||||
<?php
|
|
||||||
foreach ($emptyObject->server->type as $key => $value) {
|
|
||||||
if ($key == "custom") {
|
|
||||||
?>
|
|
||||||
<div class="col-xs-6">
|
|
||||||
<div class="panel panel-default" id="panel<?php echo $newKey; ?>">
|
|
||||||
<div class="panel-heading ">
|
|
||||||
<?php
|
|
||||||
echo "<b>{$value} ({$obj->CUSTOM_JITSI_DOMAIN})</b> ";
|
|
||||||
if ($obj->server->value !== $key) {
|
|
||||||
?>
|
?>
|
||||||
<a href="<?php echo $global['webSiteRootURL']; ?>plugin/Meet/?newServer=<?php echo $key; ?>" data-toggle="tooltip" data-placement="bottom" title="Change to (<?php echo $value; ?>) server" >
|
<a href="<?php echo $global['webSiteRootURL']; ?>plugin/Meet/?newServer=<?php echo $key; ?>" data-toggle="tooltip" data-placement="bottom" title="Change to (<?php echo $value; ?>) server">
|
||||||
<i class="fas fa-random" ></i>
|
<i class="fas fa-random"></i>
|
||||||
</a>
|
</a>
|
||||||
<?php
|
<?php
|
||||||
} else {
|
} else {
|
||||||
?>
|
?>
|
||||||
<a href="<?php echo $global['webSiteRootURL']; ?>plugin/Meet/" data-toggle="tooltip" data-placement="bottom" title="Stay on (<?php echo $value; ?>)" >
|
<a href="<?php echo $global['webSiteRootURL']; ?>plugin/Meet/" data-toggle="tooltip" data-placement="bottom" title="Stay on (<?php echo $value; ?>)">
|
||||||
<i class="fas fa-check" ></i>
|
<i class="fas fa-check"></i>
|
||||||
</a>
|
</a>
|
||||||
<?php
|
<?php
|
||||||
} ?>
|
} ?>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<?php
|
</div>
|
||||||
} else {
|
</div>
|
||||||
$newKey = str_replace(".", "_", $key); ?>
|
<?php
|
||||||
<div class="col-xs-6">
|
} else {
|
||||||
<div class="panel panel-default" id="panel<?php echo $newKey; ?>">
|
$newKey = str_replace(".", "_", $key); ?>
|
||||||
<div class="panel-heading ">
|
<div class="col-xs-6">
|
||||||
<?php
|
<div class="panel panel-default" id="panel<?php echo $newKey; ?>">
|
||||||
echo "<b>{$value}</b> ";
|
<div class="panel-heading ">
|
||||||
if ($obj->server->value !== $key) {
|
<?php
|
||||||
|
echo "<b>{$value}</b> ";
|
||||||
|
if ($obj->server->value !== $key) {
|
||||||
?>
|
?>
|
||||||
<a href="<?php echo $global['webSiteRootURL']; ?>plugin/Meet/?newServer=<?php echo $key; ?>" data-toggle="tooltip" data-placement="bottom" title="Change to (<?php echo $value; ?>) server" >
|
<a href="<?php echo $global['webSiteRootURL']; ?>plugin/Meet/?newServer=<?php echo $key; ?>" data-toggle="tooltip" data-placement="bottom" title="Change to (<?php echo $value; ?>) server">
|
||||||
<i class="fas fa-random" ></i>
|
<i class="fas fa-random"></i>
|
||||||
</a>
|
</a>
|
||||||
<?php
|
<?php
|
||||||
} else {
|
} else {
|
||||||
?>
|
?>
|
||||||
<a href="<?php echo $global['webSiteRootURL']; ?>plugin/Meet/" data-toggle="tooltip" data-placement="bottom" title="Stay on (<?php echo $value; ?>)" >
|
<a href="<?php echo $global['webSiteRootURL']; ?>plugin/Meet/" data-toggle="tooltip" data-placement="bottom" title="Stay on (<?php echo $value; ?>)">
|
||||||
<i class="fas fa-check" ></i>
|
<i class="fas fa-check"></i>
|
||||||
</a>
|
</a>
|
||||||
<?php
|
<?php
|
||||||
} ?>
|
} ?>
|
||||||
<span class="label label-primary grade pull-right" id="grade<?php echo $newKey; ?>">
|
<span class="label label-primary grade pull-right" id="grade<?php echo $newKey; ?>">
|
||||||
|
<i class="fas fa-cog"></i>
|
||||||
|
</span>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="panel-body">
|
||||||
|
<ul class="list-group">
|
||||||
|
<li class="list-group-item">
|
||||||
|
<i class="fas fa-download"></i> Download Speed
|
||||||
|
<small class="text-muted" id='gradespeed<?php echo $newKey; ?>'></small>
|
||||||
|
<span class="badge" id='speed<?php echo $newKey; ?>'>
|
||||||
<i class="fas fa-cog"></i>
|
<i class="fas fa-cog"></i>
|
||||||
</span>
|
</span>
|
||||||
|
</li>
|
||||||
</div>
|
<li class="list-group-item">
|
||||||
<div class="panel-body">
|
<i class="fas fa-upload"></i> Upload Speed
|
||||||
<ul class="list-group">
|
<small class="text-muted" id='gradeUspeed<?php echo $newKey; ?>'></small>
|
||||||
<li class="list-group-item">
|
<span class="badge" id='Uspeed<?php echo $newKey; ?>'>
|
||||||
<i class="fas fa-download"></i> Download Speed
|
<i class="fas fa-cog"></i>
|
||||||
<small class="text-muted" id='gradespeed<?php echo $newKey; ?>'></small>
|
</span>
|
||||||
<span class="badge" id='speed<?php echo $newKey; ?>'>
|
</li>
|
||||||
<i class="fas fa-cog"></i>
|
<li class="list-group-item">
|
||||||
</span>
|
<i class="fas fa-stopwatch"></i> Response Time
|
||||||
</li>
|
<small class="text-muted" id='graderesponse<?php echo $newKey; ?>'></small>
|
||||||
<li class="list-group-item">
|
<span class="badge" id='response<?php echo $newKey; ?>'>
|
||||||
<i class="fas fa-upload"></i> Upload Speed
|
<i class="fas fa-cog"></i>
|
||||||
<small class="text-muted" id='gradeUspeed<?php echo $newKey; ?>'></small>
|
</span>
|
||||||
<span class="badge" id='Uspeed<?php echo $newKey; ?>'>
|
</li>
|
||||||
<i class="fas fa-cog"></i>
|
<li class="list-group-item">
|
||||||
</span>
|
<i class="fas fa-network-wired"></i> Sites Active
|
||||||
</li>
|
<small class="text-muted" id='gradetotalSitesActive<?php echo $newKey; ?>'></small>
|
||||||
<li class="list-group-item">
|
<span class="badge" id='totalSitesActive<?php echo $newKey; ?>'>
|
||||||
<i class="fas fa-stopwatch"></i> Response Time
|
<i class="fas fa-cog"></i>
|
||||||
<small class="text-muted" id='graderesponse<?php echo $newKey; ?>'></small>
|
</span>
|
||||||
<span class="badge" id='response<?php echo $newKey; ?>'>
|
</li>
|
||||||
<i class="fas fa-cog"></i>
|
<li class="list-group-item">
|
||||||
</span>
|
<i class="fas fa-video"></i> Streamers Services
|
||||||
</li>
|
<small class="text-muted" id='gradeStreamersServices<?php echo $newKey; ?>'></small>
|
||||||
<li class="list-group-item">
|
<span class="badge" id='StreamersServices<?php echo $newKey; ?>'>
|
||||||
<i class="fas fa-network-wired"></i> Sites Active
|
<i class="fas fa-cog"></i>
|
||||||
<small class="text-muted" id='gradetotalSitesActive<?php echo $newKey; ?>'></small>
|
</span>
|
||||||
<span class="badge" id='totalSitesActive<?php echo $newKey; ?>'>
|
</li>
|
||||||
<i class="fas fa-cog"></i>
|
</ul>
|
||||||
</span>
|
|
||||||
</li>
|
|
||||||
<li class="list-group-item">
|
|
||||||
<i class="fas fa-video"></i> Streamers Services
|
|
||||||
<small class="text-muted" id='gradeStreamersServices<?php echo $newKey; ?>'></small>
|
|
||||||
<span class="badge" id='StreamersServices<?php echo $newKey; ?>'>
|
|
||||||
<i class="fas fa-cog"></i>
|
|
||||||
</span>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<?php
|
</div>
|
||||||
}
|
</div>
|
||||||
}
|
<?php
|
||||||
?>
|
}
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<div class="alert alert-info">
|
||||||
|
Before Change the server make sure you do not have any meeting running.
|
||||||
|
Other users may not able to connect after you change it.
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
</div>
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
<div class="alert alert-info">
|
<div class="alert alert-info">
|
||||||
Before Change the server make sure you do not have any meeting running.
|
Higher grade, means the server is better for a meeting.
|
||||||
Other users may not able to connect after you change it.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-12">
|
|
||||||
<div class="alert alert-info">
|
|
||||||
Higher grade, means the server is better for a meeting.
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
var roundedDecimals = 2;
|
||||||
|
var bytesInAKilobyte = 1024;
|
||||||
|
var tries = 1;
|
||||||
|
var timeouts = <?php echo $timeouts; ?>;
|
||||||
|
|
||||||
|
function speed(bitsPerSecond) {
|
||||||
|
var Kbps = (bitsPerSecond / bytesInAKilobyte).toFixed(roundedDecimals);
|
||||||
|
if (Kbps <= 1)
|
||||||
|
return {
|
||||||
|
value: bitsPerSecond,
|
||||||
|
units: "Bps"
|
||||||
|
};
|
||||||
|
var MBps = (Kbps / bytesInAKilobyte).toFixed(roundedDecimals);
|
||||||
|
//if (MBps <= 1)
|
||||||
|
return {
|
||||||
|
value: Kbps,
|
||||||
|
units: "Kbps",
|
||||||
|
text: Kbps + " Kbps",
|
||||||
|
bitsPerSecond: bitsPerSecond
|
||||||
|
};
|
||||||
|
//else
|
||||||
|
//return {value: MBps, units: "MBps", text: MBps + " MBps", bitsPerSecond: bitsPerSecond};
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkSpeed(server) {
|
||||||
|
var imageAddr = "https://" + server + "/jesus.png?n=" + Math.random();
|
||||||
|
var startTime, endTime;
|
||||||
|
var downloadSize = 3881702; //3.70 MB
|
||||||
|
var download = new Image();
|
||||||
|
var serverId = server.replace(/[.]/g, "_");
|
||||||
|
var speedId = '#speed' + serverId;
|
||||||
|
var gradespeedId = '#gradespeed' + serverId;
|
||||||
|
download.onload = function() {
|
||||||
|
endTime = (new Date()).getTime();
|
||||||
|
var duration = (endTime - startTime) / 1000;
|
||||||
|
var bitsLoaded = downloadSize * 8;
|
||||||
|
var speedBps = (bitsLoaded / duration).toFixed(roundedDecimals);
|
||||||
|
var response = speed(speedBps);
|
||||||
|
console.log(speedBps);
|
||||||
|
$(gradespeedId).html("+" + (speedBps / 1000000).toFixed(2));
|
||||||
|
sitesGrade[server] += (speedBps / 1000000);
|
||||||
|
|
||||||
|
animateValue('speed' + serverId, 0, response.value, timeouts * 2, "", response.units);
|
||||||
|
}
|
||||||
|
download.onerror = function() {
|
||||||
|
$(speedId).html(response.text);
|
||||||
|
}
|
||||||
|
startTime = (new Date()).getTime();
|
||||||
|
download.src = imageAddr;
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkServerUsage(server) {
|
||||||
|
var ajaxTime = new Date().getTime();
|
||||||
|
$.ajax({
|
||||||
|
url: "https://" + server + "/api/info.json.php",
|
||||||
|
}).done(function(response) {
|
||||||
|
var totalTime = new Date().getTime() - ajaxTime;
|
||||||
|
var serverId = server.replace(/[.]/g, "_");
|
||||||
|
|
||||||
|
animateValue('response' + serverId, 0, totalTime, timeouts * 2, "", "ms");
|
||||||
|
animateValue('totalSitesActive' + serverId, 0, response.totalSitesActive, timeouts * 2, "", "/" + (response.totalSitesActive + response.totalSitesInactive));
|
||||||
|
animateValue('StreamersServices' + serverId, 0, response.totalOnlineLiveStreamersServices, timeouts * 2, "", "/" + (response.totalLiveStreamersServices));
|
||||||
|
|
||||||
|
// calculate grade
|
||||||
|
sitesGrade[server] -= (response.totalOnlineLiveStreamersServices * 10);
|
||||||
|
sitesGrade[server] -= (response.totalLiveStreamersServices);
|
||||||
|
sitesGrade[server] -= (response.totalSitesActive);
|
||||||
|
sitesGrade[server] -= (totalTime / 50);
|
||||||
|
|
||||||
|
$('#graderesponse' + serverId).html("-" + (totalTime / 50).toFixed(2));
|
||||||
|
$('#gradetotalSitesActive' + serverId).html("-" + (response.totalSitesActive).toFixed(2));
|
||||||
|
$('#gradeStreamersServices' + serverId).html("-" + ((response.totalOnlineLiveStreamersServices * 10) + (response.totalLiveStreamersServices)).toFixed(2));
|
||||||
|
|
||||||
|
// Here I want to get the how long it took to load some.php and use it further
|
||||||
|
}).fail(function(jqXHR, textStatus) {
|
||||||
|
tries++;
|
||||||
|
setTimeout(function() {
|
||||||
|
checkServerUsage(server);
|
||||||
|
}, tries * timeouts);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function check(server) {
|
||||||
|
checkSpeed(server);
|
||||||
|
checkServerUsage(server);
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkGrades() {
|
||||||
|
bestGrade = -1;
|
||||||
|
bestGradeServer = '';
|
||||||
|
for (const server in sitesGrade) {
|
||||||
|
if (bestGrade < sitesGrade[server]) {
|
||||||
|
bestGrade = sitesGrade[server];
|
||||||
|
bestGradeServer = server;
|
||||||
|
}
|
||||||
|
var serverId = server.replace(/[.]/g, "_");
|
||||||
|
$('#grade' + serverId).html("Grade: " + (sitesGrade[server].toFixed(2)));
|
||||||
|
}
|
||||||
|
var serverId = bestGradeServer.replace(/[.]/g, "_");
|
||||||
|
$('.grade').not('#grade' + serverId).removeClass('label-success');
|
||||||
|
$('.grade').not('#grade' + serverId).addClass('label-primary');
|
||||||
|
$('#grade' + serverId).addClass('label-success');
|
||||||
|
$('#grade' + serverId).removeClass('label-primary');
|
||||||
|
}
|
||||||
|
|
||||||
|
function checkUploadSpeed(server, iterations, update) {
|
||||||
|
var average = 0,
|
||||||
|
index = 0,
|
||||||
|
timer = window.setInterval(check, 5000);
|
||||||
|
check();
|
||||||
|
|
||||||
|
function check() {
|
||||||
|
var xhr = new XMLHttpRequest(),
|
||||||
|
url = 'https://' + server + '?cache=' + Math.floor(Math.random() * 10000), //prevent url cache
|
||||||
|
data = getRandomString(1), //1 meg POST size handled by all servers
|
||||||
|
startTime,
|
||||||
|
speed = 0;
|
||||||
|
xhr.onreadystatechange = function(event) {
|
||||||
|
if (xhr.readyState == 4) {
|
||||||
|
speed = Math.round(1024 / ((new Date() - startTime) / 1000));
|
||||||
|
average == 0 ?
|
||||||
|
average = speed :
|
||||||
|
average = Math.round((average + speed) / 2);
|
||||||
|
update(speed, average);
|
||||||
|
index++;
|
||||||
|
if (index == iterations) {
|
||||||
|
window.clearInterval(timer);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
xhr.open('POST', url, true);
|
||||||
|
startTime = new Date();
|
||||||
|
xhr.send(data);
|
||||||
|
};
|
||||||
|
|
||||||
|
function getRandomString(sizeInMb) {
|
||||||
|
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~!@#$%^&*()_+`-=[]\{}|;':,./<>?", //random data prevents gzip effect
|
||||||
|
iterations = sizeInMb * 1024 * 1024, //get byte count
|
||||||
|
result = '';
|
||||||
|
for (var index = 0; index < iterations; index++) {
|
||||||
|
result += chars.charAt(Math.floor(Math.random() * chars.length));
|
||||||
|
};
|
||||||
|
return result;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
function runAll(server) {
|
||||||
|
var serverId = server.replace(/[.]/g, '_');
|
||||||
|
$('#panel' + serverId + " .fa-cog").addClass('fa-spin');
|
||||||
|
sitesGrade[server] = 100;
|
||||||
|
check(server);
|
||||||
|
checkUploadSpeed(server, 1, function(speed, average) {
|
||||||
|
var serverId = server.replace(/[.]/g, '_');
|
||||||
|
|
||||||
|
animateValue('Uspeed' + serverId, 0, average, timeouts * 2, "", "Kbps");
|
||||||
|
|
||||||
|
if (previewsGrade[server]) {
|
||||||
|
sitesGrade[server] -= previewsGrade[server];
|
||||||
|
}
|
||||||
|
previewsGrade[server] = (average / 50);
|
||||||
|
sitesGrade[server] += previewsGrade[server];
|
||||||
|
|
||||||
|
$('#gradeUspeed' + serverId).html('+' + previewsGrade[server].toFixed(2));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function animateValue(id, start, end, duration, prepend, postpend) {
|
||||||
|
// assumes integer values for start and end
|
||||||
|
|
||||||
|
var obj = document.getElementById(id);
|
||||||
|
var range = end - start;
|
||||||
|
// no timer shorter than 50ms (not really visible any way)
|
||||||
|
var minTimer = 50;
|
||||||
|
// calc step time to show all interediate values
|
||||||
|
var stepTime = Math.abs(Math.floor(duration / range));
|
||||||
|
|
||||||
|
// never go below minTimer
|
||||||
|
stepTime = Math.max(stepTime, minTimer);
|
||||||
|
|
||||||
|
// get current time and calculate desired end time
|
||||||
|
var startTime = new Date().getTime();
|
||||||
|
var endTime = startTime + duration;
|
||||||
|
var timer;
|
||||||
|
|
||||||
|
function run() {
|
||||||
|
var now = new Date().getTime();
|
||||||
|
var remaining = Math.max((endTime - now) / duration, 0);
|
||||||
|
var value = Math.round(end - (remaining * range));
|
||||||
|
obj.innerHTML = prepend + " " + value + " " + postpend;
|
||||||
|
if (value == end) {
|
||||||
|
clearInterval(timer);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
timer = setInterval(run, stepTime);
|
||||||
|
run();
|
||||||
|
}
|
||||||
|
|
||||||
|
var previewsGrade = {};
|
||||||
|
|
||||||
|
var sitesGrade = {};
|
||||||
|
$(document).ready(function() {
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
$count = 0;
|
||||||
|
foreach ($emptyObject->server->type as $key => $value) {
|
||||||
|
if ($key == 'custom') {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$count++;
|
||||||
|
echo "setTimeout(function(){runAll('{$key}')}," . ($count * $timeouts) . ");";
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
<script>
|
setInterval(function() {
|
||||||
|
checkGrades();
|
||||||
var roundedDecimals = 2;
|
}, 1000);
|
||||||
var bytesInAKilobyte = 1024;
|
});
|
||||||
var tries = 1;
|
</script>
|
||||||
var timeouts = <?php echo $timeouts; ?>;
|
</div>
|
||||||
|
|
||||||
function speed(bitsPerSecond) {
|
|
||||||
var Kbps = (bitsPerSecond / bytesInAKilobyte).toFixed(roundedDecimals);
|
|
||||||
if (Kbps <= 1)
|
|
||||||
return {value: bitsPerSecond, units: "Bps"};
|
|
||||||
var MBps = (Kbps / bytesInAKilobyte).toFixed(roundedDecimals);
|
|
||||||
//if (MBps <= 1)
|
|
||||||
return {value: Kbps, units: "Kbps", text: Kbps + " Kbps", bitsPerSecond: bitsPerSecond};
|
|
||||||
//else
|
|
||||||
//return {value: MBps, units: "MBps", text: MBps + " MBps", bitsPerSecond: bitsPerSecond};
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkSpeed(server) {
|
|
||||||
var imageAddr = "https://" + server + "/jesus.png?n=" + Math.random();
|
|
||||||
var startTime, endTime;
|
|
||||||
var downloadSize = 3881702;//3.70 MB
|
|
||||||
var download = new Image();
|
|
||||||
var serverId = server.replace(/[.]/g, "_");
|
|
||||||
var speedId = '#speed' + serverId;
|
|
||||||
var gradespeedId = '#gradespeed' + serverId;
|
|
||||||
download.onload = function () {
|
|
||||||
endTime = (new Date()).getTime();
|
|
||||||
var duration = (endTime - startTime) / 1000;
|
|
||||||
var bitsLoaded = downloadSize * 8;
|
|
||||||
var speedBps = (bitsLoaded / duration).toFixed(roundedDecimals);
|
|
||||||
var response = speed(speedBps);
|
|
||||||
console.log(speedBps);
|
|
||||||
$(gradespeedId).html("+" + (speedBps / 1000000).toFixed(2));
|
|
||||||
sitesGrade[server] += (speedBps / 1000000);
|
|
||||||
|
|
||||||
animateValue('speed' + serverId, 0, response.value, timeouts * 2, "", response.units);
|
|
||||||
}
|
|
||||||
download.onerror = function () {
|
|
||||||
$(speedId).html(response.text);
|
|
||||||
}
|
|
||||||
startTime = (new Date()).getTime();
|
|
||||||
download.src = imageAddr;
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkServerUsage(server) {
|
|
||||||
var ajaxTime = new Date().getTime();
|
|
||||||
$.ajax({
|
|
||||||
url: "https://" + server + "/api/info.json.php",
|
|
||||||
}).done(function (response) {
|
|
||||||
var totalTime = new Date().getTime() - ajaxTime;
|
|
||||||
var serverId = server.replace(/[.]/g, "_");
|
|
||||||
|
|
||||||
animateValue('response' + serverId, 0, totalTime, timeouts * 2, "", "ms");
|
|
||||||
animateValue('totalSitesActive' + serverId, 0, response.totalSitesActive, timeouts * 2, "", "/" + (response.totalSitesActive + response.totalSitesInactive));
|
|
||||||
animateValue('StreamersServices' + serverId, 0, response.totalOnlineLiveStreamersServices, timeouts * 2, "", "/" + (response.totalLiveStreamersServices));
|
|
||||||
|
|
||||||
// calculate grade
|
|
||||||
sitesGrade[server] -= (response.totalOnlineLiveStreamersServices * 10);
|
|
||||||
sitesGrade[server] -= (response.totalLiveStreamersServices);
|
|
||||||
sitesGrade[server] -= (response.totalSitesActive);
|
|
||||||
sitesGrade[server] -= (totalTime / 50);
|
|
||||||
|
|
||||||
$('#graderesponse' + serverId).html("-" + (totalTime / 50).toFixed(2));
|
|
||||||
$('#gradetotalSitesActive' + serverId).html("-" + (response.totalSitesActive).toFixed(2));
|
|
||||||
$('#gradeStreamersServices' + serverId).html("-" + ((response.totalOnlineLiveStreamersServices * 10) + (response.totalLiveStreamersServices)).toFixed(2));
|
|
||||||
|
|
||||||
// Here I want to get the how long it took to load some.php and use it further
|
|
||||||
}).fail(function (jqXHR, textStatus) {
|
|
||||||
tries++;
|
|
||||||
setTimeout(function () {
|
|
||||||
checkServerUsage(server);
|
|
||||||
}, tries * timeouts);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function check(server) {
|
|
||||||
checkSpeed(server);
|
|
||||||
checkServerUsage(server);
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkGrades() {
|
|
||||||
bestGrade = -1;
|
|
||||||
bestGradeServer = '';
|
|
||||||
for (const server in sitesGrade) {
|
|
||||||
if (bestGrade < sitesGrade[server]) {
|
|
||||||
bestGrade = sitesGrade[server];
|
|
||||||
bestGradeServer = server;
|
|
||||||
}
|
|
||||||
var serverId = server.replace(/[.]/g, "_");
|
|
||||||
$('#grade' + serverId).html("Grade: " + (sitesGrade[server].toFixed(2)));
|
|
||||||
}
|
|
||||||
var serverId = bestGradeServer.replace(/[.]/g, "_");
|
|
||||||
$('.grade').not('#grade' + serverId).removeClass('label-success');
|
|
||||||
$('.grade').not('#grade' + serverId).addClass('label-primary');
|
|
||||||
$('#grade' + serverId).addClass('label-success');
|
|
||||||
$('#grade' + serverId).removeClass('label-primary');
|
|
||||||
}
|
|
||||||
|
|
||||||
function checkUploadSpeed(server, iterations, update) {
|
|
||||||
var average = 0,
|
|
||||||
index = 0,
|
|
||||||
timer = window.setInterval(check, 5000);
|
|
||||||
check();
|
|
||||||
|
|
||||||
function check() {
|
|
||||||
var xhr = new XMLHttpRequest(),
|
|
||||||
url = 'https://' + server + '?cache=' + Math.floor(Math.random() * 10000), //prevent url cache
|
|
||||||
data = getRandomString(1), //1 meg POST size handled by all servers
|
|
||||||
startTime,
|
|
||||||
speed = 0;
|
|
||||||
xhr.onreadystatechange = function (event) {
|
|
||||||
if (xhr.readyState == 4) {
|
|
||||||
speed = Math.round(1024 / ((new Date() - startTime) / 1000));
|
|
||||||
average == 0
|
|
||||||
? average = speed
|
|
||||||
: average = Math.round((average + speed) / 2);
|
|
||||||
update(speed, average);
|
|
||||||
index++;
|
|
||||||
if (index == iterations) {
|
|
||||||
window.clearInterval(timer);
|
|
||||||
}
|
|
||||||
;
|
|
||||||
}
|
|
||||||
;
|
|
||||||
};
|
|
||||||
xhr.open('POST', url, true);
|
|
||||||
startTime = new Date();
|
|
||||||
xhr.send(data);
|
|
||||||
}
|
|
||||||
;
|
|
||||||
|
|
||||||
function getRandomString(sizeInMb) {
|
|
||||||
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~!@#$%^&*()_+`-=[]\{}|;':,./<>?", //random data prevents gzip effect
|
|
||||||
iterations = sizeInMb * 1024 * 1024, //get byte count
|
|
||||||
result = '';
|
|
||||||
for (var index = 0; index < iterations; index++) {
|
|
||||||
result += chars.charAt(Math.floor(Math.random() * chars.length));
|
|
||||||
}
|
|
||||||
;
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
;
|
|
||||||
}
|
|
||||||
|
|
||||||
function runAll(server) {
|
|
||||||
var serverId = server.replace(/[.]/g, '_');
|
|
||||||
$('#panel' + serverId + " .fa-cog").addClass('fa-spin');
|
|
||||||
sitesGrade[server] = 100;
|
|
||||||
check(server);
|
|
||||||
checkUploadSpeed(server, 1, function (speed, average) {
|
|
||||||
var serverId = server.replace(/[.]/g, '_');
|
|
||||||
|
|
||||||
animateValue('Uspeed' + serverId, 0, average, timeouts * 2, "", "Kbps");
|
|
||||||
|
|
||||||
if (previewsGrade[server]) {
|
|
||||||
sitesGrade[server] -= previewsGrade[server];
|
|
||||||
}
|
|
||||||
previewsGrade[server] = (average / 50);
|
|
||||||
sitesGrade[server] += previewsGrade[server];
|
|
||||||
|
|
||||||
$('#gradeUspeed' + serverId).html('+' + previewsGrade[server].toFixed(2));
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function animateValue(id, start, end, duration, prepend, postpend) {
|
|
||||||
// assumes integer values for start and end
|
|
||||||
|
|
||||||
var obj = document.getElementById(id);
|
|
||||||
var range = end - start;
|
|
||||||
// no timer shorter than 50ms (not really visible any way)
|
|
||||||
var minTimer = 50;
|
|
||||||
// calc step time to show all interediate values
|
|
||||||
var stepTime = Math.abs(Math.floor(duration / range));
|
|
||||||
|
|
||||||
// never go below minTimer
|
|
||||||
stepTime = Math.max(stepTime, minTimer);
|
|
||||||
|
|
||||||
// get current time and calculate desired end time
|
|
||||||
var startTime = new Date().getTime();
|
|
||||||
var endTime = startTime + duration;
|
|
||||||
var timer;
|
|
||||||
|
|
||||||
function run() {
|
|
||||||
var now = new Date().getTime();
|
|
||||||
var remaining = Math.max((endTime - now) / duration, 0);
|
|
||||||
var value = Math.round(end - (remaining * range));
|
|
||||||
obj.innerHTML = prepend + " " + value + " " + postpend;
|
|
||||||
if (value == end) {
|
|
||||||
clearInterval(timer);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
timer = setInterval(run, stepTime);
|
|
||||||
run();
|
|
||||||
}
|
|
||||||
|
|
||||||
var previewsGrade = {};
|
|
||||||
|
|
||||||
var sitesGrade = {};
|
|
||||||
$(document).ready(function () {
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
$count = 0;
|
$_page->print();
|
||||||
foreach ($emptyObject->server->type as $key => $value) {
|
?>
|
||||||
if ($key == 'custom') {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
$count++;
|
|
||||||
echo "setTimeout(function(){runAll('{$key}')}," . ($count * $timeouts) . ");";
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
setInterval(function () {
|
|
||||||
checkGrades();
|
|
||||||
}, 1000);
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -12,94 +12,85 @@ $meet = new Meet_schedule($meet_schedule_id);
|
||||||
|
|
||||||
$img = User::getBackgroundURLFromUserID($meet->getUsers_id());
|
$img = User::getBackgroundURLFromUserID($meet->getUsers_id());
|
||||||
$photo = User::getPhoto($meet->getUsers_id());
|
$photo = User::getPhoto($meet->getUsers_id());
|
||||||
|
$_page = new Page(array('Confirm Meet Password'));
|
||||||
|
$_page->setIncludeNavbar(false);
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
|
||||||
<head>
|
|
||||||
<title><?php echo __("Confirm Meet Password") . $config->getPageTitleSeparator() . $config->getWebSiteTitle(); ?></title>
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
|
||||||
?>
|
|
||||||
<style>
|
|
||||||
body {
|
|
||||||
padding-top: 0;
|
|
||||||
}
|
|
||||||
footer{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
#bg{
|
|
||||||
position: fixed;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
background-image: url('<?php echo $global['webSiteRootURL'], $img; ?>');
|
|
||||||
background-size: cover;
|
|
||||||
opacity: 0.3;
|
|
||||||
filter: alpha(opacity=30); /* For IE8 and earlier */
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
|
||||||
<?php
|
|
||||||
//include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
?>
|
|
||||||
<div id="bg"></div>
|
|
||||||
|
|
||||||
<!-- Modal -->
|
<style>
|
||||||
<div id="myModal" class="modal fade in" role="dialog">
|
body {
|
||||||
<div class="modal-dialog">
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
<!-- Modal content-->
|
footer {
|
||||||
<div class="modal-content">
|
display: none;
|
||||||
<div class="modal-header">
|
}
|
||||||
<h1 class="modal-title">
|
|
||||||
<center>
|
#bg {
|
||||||
<i class="fas fa-lock"></i> <?php echo __("Meet"); ?> <?php echo $meet->getTopic(); ?> <?php echo __("is Private"); ?>
|
position: fixed;
|
||||||
</center>
|
width: 100%;
|
||||||
</h1>
|
height: 100%;
|
||||||
|
background-image: url('<?php echo $global['webSiteRootURL'], $img; ?>');
|
||||||
|
background-size: cover;
|
||||||
|
opacity: 0.3;
|
||||||
|
filter: alpha(opacity=30);
|
||||||
|
/* For IE8 and earlier */
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div id="bg"></div>
|
||||||
|
|
||||||
|
<!-- Modal -->
|
||||||
|
<div id="myModal" class="modal fade in" role="dialog">
|
||||||
|
<div class="modal-dialog">
|
||||||
|
<!-- Modal content-->
|
||||||
|
<div class="modal-content">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h1 class="modal-title">
|
||||||
|
<center>
|
||||||
|
<i class="fas fa-lock"></i> <?php echo __("Meet"); ?> <?php echo $meet->getTopic(); ?> <?php echo __("is Private"); ?>
|
||||||
|
</center>
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-6">
|
||||||
|
<img src="<?php echo $photo; ?>" class="img img-responsive" />
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="col-sm-6">
|
||||||
<div class="row">
|
<center>
|
||||||
<div class="col-sm-6">
|
<form method="post" action="<?php echo getSelfURI(); ?>">
|
||||||
<img src="<?php echo $photo; ?>" class="img img-responsive"/>
|
<?php
|
||||||
</div>
|
if (!empty($_POST['meet_password'])) {
|
||||||
<div class="col-sm-6">
|
?>
|
||||||
<center>
|
<div class="alert alert-danger"><?php echo __("Your password does not match!"); ?></div>
|
||||||
<form method="post" action="<?php echo getSelfURI(); ?>">
|
<?php
|
||||||
<?php
|
}
|
||||||
if (!empty($_POST['meet_password'])) {
|
?>
|
||||||
?>
|
<div class="form-group">
|
||||||
<div class="alert alert-danger"><?php echo __("Your password does not match!"); ?></div>
|
<label for="meet_password"><?php echo __("This Meet Requires a Password"); ?></label>
|
||||||
<?php
|
<input type="text" class="form-control" id="meet_password" name="meet_password" placeholder="<?php echo __("Password"); ?>" required>
|
||||||
}
|
</div>
|
||||||
?>
|
<div class="row">
|
||||||
<div class="form-group">
|
<div class="col-md-6">
|
||||||
<label for="meet_password"><?php echo __("This Meet Requires a Password"); ?></label>
|
<button type="submit" class="btn btn-success btn-block"><i class="fas fa-check-circle"></i> <?php echo __("Confirm"); ?></button>
|
||||||
<input type="text" class="form-control" id="meet_password" name="meet_password" placeholder="<?php echo __("Password"); ?>" required>
|
</div>
|
||||||
</div>
|
<div class="col-md-6">
|
||||||
<div class="row">
|
<a href="<?php echo getHomePageURL(); ?>" class="btn btn-danger btn-block"><i class="fas fa-times-circle"></i> <?php echo __("Cancel"); ?></a>
|
||||||
<div class="col-md-6">
|
</div>
|
||||||
<button type="submit" class="btn btn-success btn-block"><i class="fas fa-check-circle"></i> <?php echo __("Confirm"); ?></button>
|
</div>
|
||||||
</div>
|
</form>
|
||||||
<div class="col-md-6">
|
</center>
|
||||||
<a href="<?php echo getHomePageURL(); ?>" class="btn btn-danger btn-block"><i class="fas fa-times-circle"></i> <?php echo __("Cancel"); ?></a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</form>
|
|
||||||
</center>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
</div>
|
||||||
?>
|
</div>
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(window).on('load', function () {
|
$(window).on('load', function() {
|
||||||
$('#myModal').modal('show');
|
$('#myModal').modal('show');
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</body>
|
<?php
|
||||||
</html>
|
$_page->print();
|
||||||
|
?>
|
|
@ -20,208 +20,183 @@ if (User::isAdmin() && !empty($_GET['newServer'])) {
|
||||||
$p = AVideoPlugin::loadPluginIfEnabled("Meet");
|
$p = AVideoPlugin::loadPluginIfEnabled("Meet");
|
||||||
$p->setDataObjectParameter("server->value", preg_replace("/[^0-1a-z.]/i", "", $_GET['newServer']));
|
$p->setDataObjectParameter("server->value", preg_replace("/[^0-1a-z.]/i", "", $_GET['newServer']));
|
||||||
}
|
}
|
||||||
|
$_page = new Page(array('Meet'));
|
||||||
|
$_page->loadBasicCSSAndJS();
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<style>
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
.serverLabels {
|
||||||
|
padding-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
<head>
|
.serverLabels .label {
|
||||||
<title><?php echo __("Meet") . $config->getPageTitleSeparator() . $config->getWebSiteTitle(); ?></title>
|
float: right;
|
||||||
<?php
|
margin: 0 2px;
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
}
|
||||||
?>
|
|
||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="<?php echo getCDN(); ?>view/css/DataTables/datatables.min.css" />
|
#serverProgressBar,
|
||||||
<link href="<?php echo getCDN(); ?>view/js/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css" rel="stylesheet" type="text/css" />
|
#serverProgressBar .progress-bar {
|
||||||
<style>
|
transition: width 1s linear !important;
|
||||||
.serverLabels {
|
height: 2px;
|
||||||
padding-bottom: 15px;
|
margin-bottom: 0;
|
||||||
}
|
}
|
||||||
|
</style>
|
||||||
.serverLabels .label {
|
<div class="container-fluid">
|
||||||
float: right;
|
<div class="panel panel-default">
|
||||||
margin: 0 2px;
|
<div class="panel-heading">
|
||||||
}
|
<i class="far fa-comments"></i> <?php echo __("Meeting"); ?>
|
||||||
|
<span id="serverTime" class="label label-default pull-right" data-toggle="tooltip" data-placement="bottom" title="Server Time"></span>
|
||||||
#serverProgressBar,
|
<span class="label label-default pull-right" data-toggle="tooltip" data-placement="bottom" title="Timezone"> <?php echo date_default_timezone_get(); ?> </span>
|
||||||
#serverProgressBar .progress-bar {
|
<div class="pull-right serverLabels">
|
||||||
transition: width 1s linear !important;
|
<span class="label label-warning"><i class="fas fa-cog fa-spin"></i> <?php echo __("Loading Server Info"); ?></span>
|
||||||
height: 2px;
|
</div>
|
||||||
margin-bottom: 0;
|
<div class="clearfix"></div>
|
||||||
}
|
<div class="progress" id="serverProgressBar" data-toggle="tooltip" data-placement="bottom" title="Check Server Again">
|
||||||
</style>
|
<div class="progress-bar" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width:100%; ">
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
?>
|
|
||||||
<div class="container-fluid">
|
|
||||||
<div class="panel panel-default">
|
|
||||||
<div class="panel-heading">
|
|
||||||
<i class="far fa-comments"></i> <?php echo __("Meeting"); ?>
|
|
||||||
<span id="serverTime" class="label label-default pull-right" data-toggle="tooltip" data-placement="bottom" title="Server Time"></span>
|
|
||||||
<span class="label label-default pull-right" data-toggle="tooltip" data-placement="bottom" title="Timezone"> <?php echo date_default_timezone_get(); ?> </span>
|
|
||||||
<div class="pull-right serverLabels">
|
|
||||||
<span class="label label-warning"><i class="fas fa-cog fa-spin"></i> <?php echo __("Loading Server Info"); ?></span>
|
|
||||||
</div>
|
|
||||||
<div class="clearfix"></div>
|
|
||||||
<div class="progress" id="serverProgressBar" data-toggle="tooltip" data-placement="bottom" title="Check Server Again">
|
|
||||||
<div class="progress-bar" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width:100%; ">
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel-body tabbable-line">
|
</div>
|
||||||
<div class="row">
|
<div class="panel-body tabbable-line">
|
||||||
<div class="col-xs-12 tabbable-line" id="indexTabs">
|
<div class="row">
|
||||||
<ul class="nav nav-tabs">
|
<div class="col-xs-12 tabbable-line" id="indexTabs">
|
||||||
<li class="active"><a data-toggle="tab" href="#meetLog"><i class="far fa-clock"></i> <span class="hidden-sm hidden-xs"><?php echo __("Meetings"); ?></span></a></li>
|
<ul class="nav nav-tabs">
|
||||||
<?php
|
<li class="active"><a data-toggle="tab" href="#meetLog"><i class="far fa-clock"></i> <span class="hidden-sm hidden-xs"><?php echo __("Meetings"); ?></span></a></li>
|
||||||
if (User::canCreateMeet()) {
|
<?php
|
||||||
?>
|
if (User::canCreateMeet()) {
|
||||||
<li><a data-toggle="tab" href="#createMeet"><i class="far fa-calendar-alt"></i> <span class="hidden-sm hidden-xs"><?php echo __("Schedule"); ?></span></a></li>
|
?>
|
||||||
<li><a data-toggle="tab" href="#none" onclick="_startMeetNow();return false;"><i class="far fa-comments"></i> <?php echo __("New Meet"); ?></a></li>
|
<li><a data-toggle="tab" href="#createMeet"><i class="far fa-calendar-alt"></i> <span class="hidden-sm hidden-xs"><?php echo __("Schedule"); ?></span></a></li>
|
||||||
<?php
|
<li><a data-toggle="tab" href="#none" onclick="_startMeetNow();return false;"><i class="far fa-comments"></i> <?php echo __("New Meet"); ?></a></li>
|
||||||
}
|
<?php
|
||||||
?>
|
}
|
||||||
</ul>
|
?>
|
||||||
<div class="tab-content">
|
</ul>
|
||||||
<div id="meetLog" class="tab-pane fade in active" url="<?php
|
<div class="tab-content">
|
||||||
echo $global['webSiteRootURL'] . 'plugin/Meet/meet_log.php?' . $userCredentials;
|
<div id="meetLog" class="tab-pane fade in active" url="<?php
|
||||||
?>">
|
echo $global['webSiteRootURL'] . 'plugin/Meet/meet_log.php?' . $userCredentials;
|
||||||
|
?>">
|
||||||
|
<div class="loader"></div>
|
||||||
|
</div>
|
||||||
|
<?php
|
||||||
|
if (User::canCreateMeet()) {
|
||||||
|
?>
|
||||||
|
<div id="createMeet" class="tab-pane fade" url="<?php
|
||||||
|
echo $global['webSiteRootURL'] . 'plugin/Meet/meet_manager.php?' . $userCredentials; ?>">
|
||||||
<div class="loader"></div>
|
<div class="loader"></div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
if (User::canCreateMeet()) {
|
}
|
||||||
?>
|
?>
|
||||||
<div id="createMeet" class="tab-pane fade" url="<?php
|
|
||||||
echo $global['webSiteRootURL'] . 'plugin/Meet/meet_manager.php?' . $userCredentials; ?>">
|
|
||||||
<div class="loader"></div>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
var serverLabelsRequestTime;
|
||||||
|
$(document).ready(function() {
|
||||||
|
<?php $today = getdate(); ?>
|
||||||
|
var d = new Date(<?php echo $today['year'] . "," . $today['mon'] . "," . $today['mday'] . "," . $today['hours'] . "," . $today['minutes'] . "," . $today['seconds']; ?>);
|
||||||
|
setInterval(function() {
|
||||||
|
d.setSeconds(d.getSeconds() + 1);
|
||||||
|
$('#serverTime').html("<i class=\"far fa-clock\"></i> " + (d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds()));
|
||||||
|
}, 1000);
|
||||||
|
|
||||||
|
$('#indexTabs .nav-tabs a').click(function(e) {
|
||||||
<script type="text/javascript" src="<?php echo getURL('view/css/DataTables/datatables.min.js'); ?>"></script>
|
var href = $(this).attr('href');
|
||||||
<script src="<?php echo getCDN(); ?>js/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js" type="text/javascript"></script>
|
if (href && href !== "#") {
|
||||||
|
var now_tab = $(href);
|
||||||
<?php
|
console.log("tab clicked");
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
if ($(now_tab).attr('url')) {
|
||||||
?>
|
var url = $(now_tab).attr('url');
|
||||||
<script>
|
$(now_tab).attr('url', '');
|
||||||
var serverLabelsRequestTime;
|
if (url) {
|
||||||
$(document).ready(function() {
|
$.ajax({
|
||||||
<?php $today = getdate(); ?>
|
url: url,
|
||||||
var d = new Date(<?php echo $today['year'] . "," . $today['mon'] . "," . $today['mday'] . "," . $today['hours'] . "," . $today['minutes'] . "," . $today['seconds']; ?>);
|
success: function(response) {
|
||||||
setInterval(function() {
|
$(now_tab).html(response);
|
||||||
d.setSeconds(d.getSeconds() + 1);
|
|
||||||
$('#serverTime').html("<i class=\"far fa-clock\"></i> " + (d.getHours() + ':' + d.getMinutes() + ':' + d.getSeconds()));
|
|
||||||
}, 1000);
|
|
||||||
|
|
||||||
$('#indexTabs .nav-tabs a').click(function(e) {
|
|
||||||
var href = $(this).attr('href');
|
|
||||||
if (href && href !== "#") {
|
|
||||||
var now_tab = $(href);
|
|
||||||
console.log("tab clicked");
|
|
||||||
if ($(now_tab).attr('url')) {
|
|
||||||
var url = $(now_tab).attr('url');
|
|
||||||
$(now_tab).attr('url', '');
|
|
||||||
if (url) {
|
|
||||||
$.ajax({
|
|
||||||
url: url,
|
|
||||||
success: function(response) {
|
|
||||||
$(now_tab).html(response);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
} else {
|
});
|
||||||
console.log("no URL on tab clicked");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
} else {
|
||||||
try {
|
console.log("no URL on tab clicked");
|
||||||
$('#indexTabs .nav-tabs a').first().trigger("click");
|
}
|
||||||
} catch (e) {
|
}
|
||||||
|
});
|
||||||
|
try {
|
||||||
|
$('#indexTabs .nav-tabs a').first().trigger("click");
|
||||||
|
} catch (e) {
|
||||||
|
|
||||||
|
}
|
||||||
|
serverLabels();
|
||||||
|
});
|
||||||
|
var serverLabelsStartTime;
|
||||||
|
var serverLabelsRunning = false;
|
||||||
|
function serverLabels() {
|
||||||
|
if (serverLabelsRunning) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
serverLabelsRunning = true;
|
||||||
|
serverLabelsStartTime = new Date().getTime();
|
||||||
|
$.ajax({
|
||||||
|
url: webSiteRootURL+'plugin/Meet/serverLabels.php?<?php echo $userCredentials; ?>',
|
||||||
|
success: function(response) {
|
||||||
|
setTimeout(function() {
|
||||||
|
serverLabelsRunning = false;
|
||||||
|
}, 2000);
|
||||||
|
serverLabelsRequestTime = new Date().getTime() - serverLabelsStartTime;
|
||||||
|
$('.serverLabels').html(response);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
<?php
|
||||||
|
if (User::canCreateMeet()) {
|
||||||
|
?>
|
||||||
|
|
||||||
|
function _startMeetNow() {
|
||||||
|
var userCredentials = '<?php echo $userCredentials; ?>';
|
||||||
|
console.log('_startMeetNow 1');
|
||||||
|
swal({
|
||||||
|
text: __("Meet Topic"),
|
||||||
|
content: "input",
|
||||||
|
button: {
|
||||||
|
text: __("Start Now"),
|
||||||
|
closeModal: false,
|
||||||
|
},
|
||||||
|
}).then(function(name) {
|
||||||
|
if (!name)
|
||||||
|
throw null;
|
||||||
|
var url = webSiteRootURL + 'plugin/Meet/saveMeet.json.php?' + userCredentials + '&RoomTopic=' + encodeURI(name);
|
||||||
|
console.log('_startMeetNow 2', url);
|
||||||
|
return fetch(url);
|
||||||
|
}).then(function(results) {
|
||||||
|
console.log('_startMeetNow 3', results);
|
||||||
|
return results.json();
|
||||||
|
}).then(function(response) {
|
||||||
|
console.log('_startMeetNow 4', response);
|
||||||
|
if (response.error) {
|
||||||
|
avideoAlertError(response.msg);
|
||||||
|
modal.hidePleaseWait();
|
||||||
|
} else {
|
||||||
|
document.location = response.link + '?' + userCredentials;
|
||||||
|
}
|
||||||
|
|
||||||
|
}).catch(function(err) {
|
||||||
|
console.log('_startMeetNow 5', err);
|
||||||
|
if (err) {
|
||||||
|
swal("Oh noes!", "The AJAX request failed!", "error");
|
||||||
|
} else {
|
||||||
|
swal.stopLoading();
|
||||||
|
swal.close();
|
||||||
}
|
}
|
||||||
serverLabels();
|
|
||||||
});
|
});
|
||||||
var serverLabelsStartTime;
|
console.log('_startMeetNow 6');
|
||||||
var serverLabelsRunning = false;
|
return false;
|
||||||
|
|
||||||
function serverLabels() {
|
}
|
||||||
if (serverLabelsRunning) {
|
<?php
|
||||||
return false;
|
}
|
||||||
}
|
?>
|
||||||
serverLabelsRunning = true;
|
</script>
|
||||||
serverLabelsStartTime = new Date().getTime();
|
<?php
|
||||||
$.ajax({
|
$_page->print();
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Meet/serverLabels.php?<?php echo $userCredentials; ?>',
|
?>
|
||||||
success: function(response) {
|
|
||||||
setTimeout(function() {
|
|
||||||
serverLabelsRunning = false;
|
|
||||||
}, 2000);
|
|
||||||
serverLabelsRequestTime = new Date().getTime() - serverLabelsStartTime;
|
|
||||||
$('.serverLabels').html(response);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
<?php
|
|
||||||
if (User::canCreateMeet()) {
|
|
||||||
?>
|
|
||||||
|
|
||||||
function _startMeetNow() {
|
|
||||||
var userCredentials = '<?php echo $userCredentials; ?>';
|
|
||||||
console.log('_startMeetNow 1');
|
|
||||||
swal({
|
|
||||||
text: __("Meet Topic"),
|
|
||||||
content: "input",
|
|
||||||
button: {
|
|
||||||
text: __("Start Now"),
|
|
||||||
closeModal: false,
|
|
||||||
},
|
|
||||||
}).then(function(name) {
|
|
||||||
if (!name)
|
|
||||||
throw null;
|
|
||||||
var url = webSiteRootURL + 'plugin/Meet/saveMeet.json.php?' + userCredentials + '&RoomTopic=' + encodeURI(name);
|
|
||||||
console.log('_startMeetNow 2', url);
|
|
||||||
return fetch(url);
|
|
||||||
}).then(function(results) {
|
|
||||||
console.log('_startMeetNow 3', results);
|
|
||||||
return results.json();
|
|
||||||
}).then(function(response) {
|
|
||||||
console.log('_startMeetNow 4', response);
|
|
||||||
if (response.error) {
|
|
||||||
avideoAlertError(response.msg);
|
|
||||||
modal.hidePleaseWait();
|
|
||||||
} else {
|
|
||||||
document.location = response.link + '?' + userCredentials;
|
|
||||||
}
|
|
||||||
|
|
||||||
}).catch(function(err) {
|
|
||||||
console.log('_startMeetNow 5', err);
|
|
||||||
if (err) {
|
|
||||||
swal("Oh noes!", "The AJAX request failed!", "error");
|
|
||||||
} else {
|
|
||||||
swal.stopLoading();
|
|
||||||
swal.close();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
console.log('_startMeetNow 6');
|
|
||||||
return false;
|
|
||||||
|
|
||||||
}
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
|
@ -13,7 +13,7 @@ if (empty($obj)) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!User::isLogged()) {
|
if (!User::isLogged()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
$userCredentials = User::loginFromRequestToGet();
|
$userCredentials = User::loginFromRequestToGet();
|
||||||
|
|
|
@ -13,7 +13,7 @@ if (empty($obj)) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!User::canCreateMeet()) {
|
if (!User::canCreateMeet()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
$userCredentials = User::loginFromRequestToGet();
|
$userCredentials = User::loginFromRequestToGet();
|
||||||
|
@ -154,7 +154,7 @@ $userCredentials = User::loginFromRequestToGet();
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Meet/saveMeet.json.php?<?php echo $userCredentials; ?>',
|
url: webSiteRootURL+'plugin/Meet/saveMeet.json.php?<?php echo $userCredentials; ?>',
|
||||||
data: $('#formMeetManager').serialize(),
|
data: $('#formMeetManager').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -1,21 +1,7 @@
|
||||||
<?php
|
<?php
|
||||||
require_once '../../../videos/configuration.php';
|
require_once '../../../videos/configuration.php';
|
||||||
AVideoPlugin::loadPlugin("VideosStatistics");
|
AVideoPlugin::loadPlugin("VideosStatistics");
|
||||||
?>
|
$_page = new Page(array('Monetize user'));
|
||||||
<!DOCTYPE html>
|
include $global['systemRootPath'] . 'plugin/MonetizeUsers/View/report.php';
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
$_page->print();
|
||||||
<head>
|
?>
|
||||||
<title><?php echo $config->getWebSiteTitle(); ?></title>
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
|
||||||
?>
|
|
||||||
</head>
|
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
include $global['systemRootPath'] . 'plugin/MonetizeUsers/View/report.php';
|
|
||||||
|
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
|
||||||
?>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -115,7 +115,7 @@ if (!User::isAdmin()) {
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$('#addPayPalYPT_logBtn').click(function () {
|
$('#addPayPalYPT_logBtn').click(function () {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/PayPalYPT/View/addPayPalYPT_logVideo.php',
|
url: webSiteRootURL+'plugin/PayPalYPT/View/addPayPalYPT_logVideo.php',
|
||||||
data: $('#panelPayPalYPT_logForm').serialize(),
|
data: $('#panelPayPalYPT_logForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -156,7 +156,7 @@ if (!User::isAdmin()) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/PayPalYPT/View/PayPalYPT_log/add.json.php',
|
url: webSiteRootURL+'plugin/PayPalYPT/View/PayPalYPT_log/add.json.php',
|
||||||
data: $('#panelPayPalYPT_logForm').serialize(),
|
data: $('#panelPayPalYPT_logForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -1,46 +1,30 @@
|
||||||
<?php
|
<?php
|
||||||
require_once '../../../videos/configuration.php';
|
require_once '../../../videos/configuration.php';
|
||||||
AVideoPlugin::loadPlugin("PayPalYPT");
|
AVideoPlugin::loadPlugin("PayPalYPT");
|
||||||
|
$_page = new Page(array('PayPal'));
|
||||||
|
$_page->loadBasicCSSAndJS();
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container-fluid">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<div class="panel panel-default">
|
||||||
<head>
|
<div class="panel-heading"><?php echo __('PayPalYPT') ?>
|
||||||
<title><?php echo $config->getWebSiteTitle(); ?> :: PayPalYPT</title>
|
<div class="pull-right">
|
||||||
<?php
|
<?php echo AVideoPlugin::getSwitchButton("PayPalYPT"); ?>
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
</div>
|
||||||
?>
|
</div>
|
||||||
<link rel="stylesheet" type="text/css" href="<?php echo $global['webSiteRootURL']; ?>view/css/DataTables/datatables.min.css"/>
|
<div class="panel-body">
|
||||||
<link href="<?php echo $global['webSiteRootURL']; ?>view/js/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css" rel="stylesheet" type="text/css"/>
|
<ul class="nav nav-tabs">
|
||||||
</head>
|
<li class="active"><a data-toggle="tab" href="#PayPalYPT_log"><?php echo __("PayPalYPT Log"); ?></a></li>
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
</ul>
|
||||||
<?php
|
<div class="tab-content">
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
<div id="PayPalYPT_log" class="tab-pane fade in active" style="padding: 10px;">
|
||||||
?>
|
<?php
|
||||||
<div class="container-fluid">
|
include $global['systemRootPath'] . 'plugin/PayPalYPT/View/PayPalYPT_log/index_body.php';
|
||||||
<div class="panel panel-default">
|
?>
|
||||||
<div class="panel-heading"><?php echo __('PayPalYPT') ?>
|
|
||||||
<div class="pull-right">
|
|
||||||
<?php echo AVideoPlugin::getSwitchButton("PayPalYPT"); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<ul class="nav nav-tabs">
|
|
||||||
<li class="active"><a data-toggle="tab" href="#PayPalYPT_log"><?php echo __("PayPalYPT Log"); ?></a></li>
|
|
||||||
</ul>
|
|
||||||
<div class="tab-content">
|
|
||||||
<div id="PayPalYPT_log" class="tab-pane fade in active" style="padding: 10px;">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'plugin/PayPalYPT/View/PayPalYPT_log/index_body.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript" src="<?php echo $global['webSiteRootURL']; ?>view/css/DataTables/datatables.min.js"></script>
|
</div>
|
||||||
<script src="<?php echo $global['webSiteRootURL']; ?>js/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js" type="text/javascript"></script>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
$_page->print();
|
||||||
?>
|
?>
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
$uid = uniqid();
|
$uid = uniqid();
|
||||||
?>
|
?>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="col-md-4 control-label"><?php echo __("PayPal payout email"); ?></label>
|
<label class="col-md-4 control-label"><?php echo __("PayPal payout email"); ?></label>
|
||||||
<div class="col-md-8 inputGroupContainer">
|
<div class="col-md-8 inputGroupContainer">
|
||||||
|
@ -35,7 +35,7 @@ $uid = uniqid();
|
||||||
}
|
}
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/PayPalYPT/savePayPalReceiverEmail.json.php',
|
url: webSiteRootURL+'plugin/PayPalYPT/savePayPalReceiverEmail.json.php',
|
||||||
data: {"PayPalReceiverEmail": PayPalReceiverEmail},
|
data: {"PayPalReceiverEmail": PayPalReceiverEmail},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -7,109 +7,97 @@ if (!User::isLogged()) {
|
||||||
forbiddenPage();
|
forbiddenPage();
|
||||||
}
|
}
|
||||||
$rows = PayPalYPT::getAllLogsFromUser(User::getId());
|
$rows = PayPalYPT::getAllLogsFromUser(User::getId());
|
||||||
|
$_page = new Page(array('Paypal subscriptions'));
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
|
||||||
<head>
|
|
||||||
<title>Paypal subscriptions</title>
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
|
||||||
?>
|
|
||||||
</head>
|
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
|
||||||
?>
|
|
||||||
<div class="container">
|
|
||||||
|
|
||||||
<table class="display table table-bordered table-responsive table-striped table-hover table-condensed" width="100%" cellspacing="0">
|
<table class="display table table-bordered table-responsive table-striped table-hover table-condensed" width="100%" cellspacing="0">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>#</th>
|
<th>#</th>
|
||||||
<th><?php echo __("Type"); ?></th>
|
<th><?php echo __("Type"); ?></th>
|
||||||
<th><?php echo __("Agreement ID"); ?></th>
|
<th><?php echo __("Agreement ID"); ?></th>
|
||||||
<th><?php echo __("Status"); ?></th>
|
<th><?php echo __("Status"); ?></th>
|
||||||
<th><?php echo __("Date"); ?></th>
|
<th><?php echo __("Date"); ?></th>
|
||||||
<th></th>
|
<th></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<?php
|
<?php
|
||||||
foreach ($rows as $value) {
|
foreach ($rows as $value) {
|
||||||
$json = json_decode($value['json']);
|
$json = json_decode($value['json']);
|
||||||
$value['status'] = '';
|
$value['status'] = '';
|
||||||
if (!empty($value['agreement_id'])) {
|
if (!empty($value['agreement_id'])) {
|
||||||
$agreement = PayPalYPT::getBillingAgreement($value['agreement_id']);
|
$agreement = PayPalYPT::getBillingAgreement($value['agreement_id']);
|
||||||
if (!empty($agreement)) {
|
if (!empty($agreement)) {
|
||||||
$value['status'] = $agreement->getState();
|
$value['status'] = $agreement->getState();
|
||||||
}
|
}
|
||||||
} ?>
|
} ?>
|
||||||
<tr id="tr<?php echo $value['agreement_id']; ?>">
|
<tr id="tr<?php echo $value['agreement_id']; ?>">
|
||||||
<td><?php echo $value['id']; ?></td>
|
<td><?php echo $value['id']; ?></td>
|
||||||
<td>
|
<td>
|
||||||
<?php echo $json->get->json->type; ?>
|
<?php echo $json->get->json->type; ?>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<?php echo $value['agreement_id']; ?>
|
<?php echo $value['agreement_id']; ?>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<?php echo $value['created']; ?>
|
<?php echo $value['created']; ?>
|
||||||
</td>
|
</td>
|
||||||
<td><?php echo $value['expiration']; ?></td>
|
<td><?php echo $value['expiration']; ?></td>
|
||||||
<td><?php echo $value['expiration']; ?></td>
|
<td><?php echo $value['expiration']; ?></td>
|
||||||
<td>
|
<td>
|
||||||
<?php
|
|
||||||
if ($value['status'] == 'Active') {
|
|
||||||
?>
|
|
||||||
<button class="btn btn-danger btn-xs" onclick="cancelAgreement('<?php echo $value['agreement_id']; ?>')">
|
|
||||||
<?php
|
|
||||||
echo __('Cancel Agreement'); ?>
|
|
||||||
</button>
|
|
||||||
<?php
|
|
||||||
} ?>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<?php
|
<?php
|
||||||
}
|
if ($value['status'] == 'Active') {
|
||||||
?>
|
?>
|
||||||
</tbody>
|
<button class="btn btn-danger btn-xs" onclick="cancelAgreement('<?php echo $value['agreement_id']; ?>')">
|
||||||
<tfoot>
|
<?php
|
||||||
<tr>
|
echo __('Cancel Agreement'); ?>
|
||||||
<th>#</th>
|
</button>
|
||||||
<th><?php echo __("Type"); ?></th>
|
<?php
|
||||||
<th><?php echo __("Agreement ID"); ?></th>
|
} ?>
|
||||||
<th><?php echo __("Status"); ?></th>
|
</td>
|
||||||
<th><?php echo __("Date"); ?></th>
|
</tr>
|
||||||
<th></th>
|
<?php
|
||||||
</tr>
|
|
||||||
</tfoot>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
|
||||||
?>
|
|
||||||
<script>
|
|
||||||
$(document).ready(function () {
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
function cancelAgreement(agreement_id) {
|
|
||||||
modal.showPleaseWait();
|
|
||||||
$.ajax({
|
|
||||||
url: webSiteRootURL + 'plugin/PayPalYPT/agreementCancel.json.php',
|
|
||||||
data: {agreement: agreement_id},
|
|
||||||
type: 'post',
|
|
||||||
success: function (response) {
|
|
||||||
if (response.error) {
|
|
||||||
avideoAlertError(response.msg);
|
|
||||||
} else {
|
|
||||||
$('.tr' + agreement_id).fadeOut();
|
|
||||||
avideoToastSuccess(response.msg);
|
|
||||||
}
|
|
||||||
modal.hidePleaseWait();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
</script>
|
?>
|
||||||
</body>
|
</tbody>
|
||||||
</html>
|
<tfoot>
|
||||||
|
<tr>
|
||||||
|
<th>#</th>
|
||||||
|
<th><?php echo __("Type"); ?></th>
|
||||||
|
<th><?php echo __("Agreement ID"); ?></th>
|
||||||
|
<th><?php echo __("Status"); ?></th>
|
||||||
|
<th><?php echo __("Date"); ?></th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
</tfoot>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
|
||||||
|
});
|
||||||
|
function cancelAgreement(agreement_id) {
|
||||||
|
modal.showPleaseWait();
|
||||||
|
$.ajax({
|
||||||
|
url: webSiteRootURL + 'plugin/PayPalYPT/agreementCancel.json.php',
|
||||||
|
data: {
|
||||||
|
agreement: agreement_id
|
||||||
|
},
|
||||||
|
type: 'post',
|
||||||
|
success: function(response) {
|
||||||
|
if (response.error) {
|
||||||
|
avideoAlertError(response.msg);
|
||||||
|
} else {
|
||||||
|
$('.tr' + agreement_id).fadeOut();
|
||||||
|
avideoToastSuccess(response.msg);
|
||||||
|
}
|
||||||
|
modal.hidePleaseWait();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
$_page->print();
|
||||||
|
?>
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -124,7 +124,7 @@ if (!User::isAdmin()) {
|
||||||
$(document).ready(function () {
|
$(document).ready(function () {
|
||||||
$('#addUsers_groups_permissionsBtn').click(function () {
|
$('#addUsers_groups_permissionsBtn').click(function () {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Permissions/View/addUsers_groups_permissionsVideo.php',
|
url: webSiteRootURL+'plugin/Permissions/View/addUsers_groups_permissionsVideo.php',
|
||||||
data: $('#panelUsers_groups_permissionsForm').serialize(),
|
data: $('#panelUsers_groups_permissionsForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
@ -164,7 +164,7 @@ if (!User::isAdmin()) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Permissions/View/Users_groups_permissions/add.json.php',
|
url: webSiteRootURL+'plugin/Permissions/View/Users_groups_permissions/add.json.php',
|
||||||
data: $('#panelUsers_groups_permissionsForm').serialize(),
|
data: $('#panelUsers_groups_permissionsForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -1,46 +1,30 @@
|
||||||
<?php
|
<?php
|
||||||
require_once '../../../videos/configuration.php';
|
require_once '../../../videos/configuration.php';
|
||||||
AVideoPlugin::loadPlugin("Permissions");
|
AVideoPlugin::loadPlugin("Permissions");
|
||||||
|
$_page = new Page(array('Permissions'));
|
||||||
|
$_page->loadBasicCSSAndJS();
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container-fluid">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<div class="panel panel-default">
|
||||||
<head>
|
<div class="panel-heading"><?php echo __('Permissions') ?>
|
||||||
<title><?php echo __("Permissions") . $config->getPageTitleSeparator() . $config->getWebSiteTitle(); ?></title>
|
<div class="pull-right">
|
||||||
<?php
|
<?php echo AVideoPlugin::getSwitchButton("Permissions"); ?>
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
</div>
|
||||||
?>
|
</div>
|
||||||
<link rel="stylesheet" type="text/css" href="<?php echo getCDN(); ?>view/css/DataTables/datatables.min.css"/>
|
<div class="panel-body">
|
||||||
<link href="<?php echo getCDN(); ?>view/js/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css" rel="stylesheet" type="text/css"/>
|
<ul class="nav nav-tabs">
|
||||||
</head>
|
<li class="active"><a data-toggle="tab" href="#Users_groups_permissions"><?php echo __("Users Groups Permissions"); ?></a></li>
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
</ul>
|
||||||
<?php
|
<div class="tab-content">
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
<div id="Users_groups_permissions" class="tab-pane fade in active" style="padding: 10px;">
|
||||||
?>
|
<?php
|
||||||
<div class="container-fluid">
|
include $global['systemRootPath'] . 'plugin/Permissions/View/Users_groups_permissions/index_body.php';
|
||||||
<div class="panel panel-default">
|
?>
|
||||||
<div class="panel-heading"><?php echo __('Permissions') ?>
|
|
||||||
<div class="pull-right">
|
|
||||||
<?php echo AVideoPlugin::getSwitchButton("Permissions"); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<ul class="nav nav-tabs">
|
|
||||||
<li class="active"><a data-toggle="tab" href="#Users_groups_permissions"><?php echo __("Users Groups Permissions"); ?></a></li>
|
|
||||||
</ul>
|
|
||||||
<div class="tab-content">
|
|
||||||
<div id="Users_groups_permissions" class="tab-pane fade in active" style="padding: 10px;">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'plugin/Permissions/View/Users_groups_permissions/index_body.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript" src="<?php echo getURL('view/css/DataTables/datatables.min.js'); ?>"></script>
|
</div>
|
||||||
<script src="<?php echo getCDN(); ?>js/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js" type="text/javascript"></script>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
$_page->print();
|
||||||
?>
|
?>
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -82,7 +82,7 @@ $uid = uniqid();
|
||||||
console.log(users_groups_id, plugins_id, type);
|
console.log(users_groups_id, plugins_id, type);
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/Permissions/setPermission.json.php',
|
url: webSiteRootURL+'plugin/Permissions/setPermission.json.php',
|
||||||
data: {"users_groups_id": users_groups_id, "plugins_id": plugins_id, "type": type, "isEnabled": $('#pluginPermission'+users_groups_id+'<?php echo $uid; ?>_'+type).is(":checked")},
|
data: {"users_groups_id": users_groups_id, "plugins_id": plugins_id, "type": type, "isEnabled": $('#pluginPermission'+users_groups_id+'<?php echo $uid; ?>_'+type).is(":checked")},
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@ if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
if (!User::isAdmin()) {
|
if (!User::isAdmin()) {
|
||||||
header("Location: {$global['webSiteRootURL']}?error=" . __("You can not do this"));
|
forbiddenPage("You can not do this");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -155,7 +155,7 @@ if (!User::isAdmin()) {
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$('#addPlaylists_schedulesBtn').click(function() {
|
$('#addPlaylists_schedulesBtn').click(function() {
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/PlayLists/View/addPlaylists_schedulesVideo.php',
|
url: webSiteRootURL+'plugin/PlayLists/View/addPlaylists_schedulesVideo.php',
|
||||||
data: $('#panelPlaylists_schedulesForm').serialize(),
|
data: $('#panelPlaylists_schedulesForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
|
@ -221,7 +221,7 @@ if (!User::isAdmin()) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/PlayLists/View/Playlists_schedules/add.json.php',
|
url: webSiteRootURL+'plugin/PlayLists/View/Playlists_schedules/add.json.php',
|
||||||
data: $('#panelPlaylists_schedulesForm').serialize(),
|
data: $('#panelPlaylists_schedulesForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
|
|
|
@ -215,7 +215,7 @@ $_page->setExtraScripts(
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
modal.showPleaseWait();
|
modal.showPleaseWait();
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '<?php echo $global['webSiteRootURL']; ?>plugin/PlayLists/View/Playlists_schedules/add.json.php',
|
url: webSiteRootURL+'plugin/PlayLists/View/Playlists_schedules/add.json.php',
|
||||||
data: $('#panelPlaylists_schedulesForm').serialize(),
|
data: $('#panelPlaylists_schedulesForm').serialize(),
|
||||||
type: 'post',
|
type: 'post',
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
|
|
|
@ -1,46 +1,30 @@
|
||||||
<?php
|
<?php
|
||||||
require_once '../../../videos/configuration.php';
|
require_once '../../../videos/configuration.php';
|
||||||
AVideoPlugin::loadPlugin("PlayLists");
|
AVideoPlugin::loadPlugin("PlayLists");
|
||||||
|
$_page = new Page(array("PlayLists"));
|
||||||
|
$_page->loadBasicCSSAndJS();
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container-fluid">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<div class="panel panel-default">
|
||||||
<head>
|
<div class="panel-heading"><?php echo __('PlayLists') ?>
|
||||||
<title><?php echo __("PlayLists") . $config->getPageTitleSeparator() . $config->getWebSiteTitle(); ?></title>
|
<div class="pull-right">
|
||||||
<?php
|
<?php echo AVideoPlugin::getSwitchButton("PlayLists"); ?>
|
||||||
include $global['systemRootPath'] . 'view/include/head.php';
|
</div>
|
||||||
?>
|
</div>
|
||||||
<link rel="stylesheet" type="text/css" href="<?php echo getCDN(); ?>view/css/DataTables/datatables.min.css"/>
|
<div class="panel-body">
|
||||||
<link href="<?php echo getCDN(); ?>view/js/bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css" rel="stylesheet" type="text/css"/>
|
<ul class="nav nav-tabs">
|
||||||
</head>
|
<li class="active"><a data-toggle="tab" href="#Playlists_schedules"><?php echo __("Playlists Schedules"); ?></a></li>
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
</ul>
|
||||||
<?php
|
<div class="tab-content">
|
||||||
include $global['systemRootPath'] . 'view/include/navbar.php';
|
<div id="Playlists_schedules" class="tab-pane fade in active" style="padding: 10px;">
|
||||||
?>
|
<?php
|
||||||
<div class="container-fluid">
|
include $global['systemRootPath'] . 'plugin/PlayLists/View/Playlists_schedules/index_body.php';
|
||||||
<div class="panel panel-default">
|
?>
|
||||||
<div class="panel-heading"><?php echo __('PlayLists') ?>
|
|
||||||
<div class="pull-right">
|
|
||||||
<?php echo AVideoPlugin::getSwitchButton("PlayLists"); ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="panel-body">
|
|
||||||
<ul class="nav nav-tabs">
|
|
||||||
<li class="active"><a data-toggle="tab" href="#Playlists_schedules"><?php echo __("Playlists Schedules"); ?></a></li>
|
|
||||||
</ul>
|
|
||||||
<div class="tab-content">
|
|
||||||
<div id="Playlists_schedules" class="tab-pane fade in active" style="padding: 10px;">
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'plugin/PlayLists/View/Playlists_schedules/index_body.php';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script type="text/javascript" src="<?php echo getURL('view/css/DataTables/datatables.min.js'); ?>"></script>
|
</div>
|
||||||
<script src="<?php echo getCDN(); ?>js/bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js" type="text/javascript"></script>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
$_page->print();
|
||||||
?>
|
?>
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -2,32 +2,17 @@
|
||||||
if (!isset($global['systemRootPath'])) {
|
if (!isset($global['systemRootPath'])) {
|
||||||
require_once '../../videos/configuration.php';
|
require_once '../../videos/configuration.php';
|
||||||
}
|
}
|
||||||
|
$_page = new Page(array('EPG'));
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<div class="container-fluid">
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
<?php
|
||||||
<head>
|
$_REQUEST['site'] = get_domain($global['webSiteRootURL']);
|
||||||
<title><?php echo __("EPG") . $config->getPageTitleSeparator() . $config->getWebSiteTitle(); ?></title>
|
echo '<div class="panel panel-default"><div class="panel-heading">' . __("Now Playing") . '</div><div class="panel-body">';
|
||||||
<?php include $global['systemRootPath'] . 'view/include/head.php'; ?>
|
//include_once $global['systemRootPath'] . 'plugin/PlayLists/epg.html.php';
|
||||||
</head>
|
include_once $global['systemRootPath'] . 'plugin/PlayLists/epg.day.php';
|
||||||
|
echo '</div></div>';
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
?>
|
||||||
<?php include $global['systemRootPath'] . 'view/include/navbar.php'; ?>
|
</div>
|
||||||
<div class="container-fluid">
|
<?php
|
||||||
<?php
|
$_page->print();
|
||||||
$_REQUEST['site'] = get_domain($global['webSiteRootURL']);
|
?>
|
||||||
echo '<div class="panel panel-default"><div class="panel-heading">' . __("Now Playing") . '</div><div class="panel-body">';
|
|
||||||
//include_once $global['systemRootPath'] . 'plugin/PlayLists/epg.html.php';
|
|
||||||
include_once $global['systemRootPath'] . 'plugin/PlayLists/epg.day.php';
|
|
||||||
echo '</div></div>';
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
|
||||||
?>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
<?php include $global['systemRootPath'] . 'objects/include_end.php'; ?>
|
|
|
@ -7,7 +7,7 @@ require_once $global['systemRootPath'] . 'plugin/PlayLists/PlayListElement.php';
|
||||||
require_once $global['systemRootPath'] . 'plugin/Gallery/functions.php';
|
require_once $global['systemRootPath'] . 'plugin/Gallery/functions.php';
|
||||||
|
|
||||||
if (!PlayList::canSee($_GET['playlists_id'], User::getId())) {
|
if (!PlayList::canSee($_GET['playlists_id'], User::getId())) {
|
||||||
forbiddenPage(_('You cannot see this playlist').' '.basename(__FILE__));
|
forbiddenPage(_('You cannot see this playlist') . ' ' . basename(__FILE__));
|
||||||
}
|
}
|
||||||
$global['doNotLoadPlayer'] = 1;
|
$global['doNotLoadPlayer'] = 1;
|
||||||
/*
|
/*
|
||||||
|
@ -49,57 +49,45 @@ foreach ($playList as $key => $value) {
|
||||||
$videos[$key] = $value;
|
$videos[$key] = $value;
|
||||||
$videos[$key]['id'] = $value['videos_id'];
|
$videos[$key]['id'] = $value['videos_id'];
|
||||||
}
|
}
|
||||||
|
$_page = new Page(array($playListObj->getName()));
|
||||||
|
$_page->setExtraStyles(array('view/css/social.css', 'plugin/Gallery/style.css'));
|
||||||
|
$_page->setExtraScripts(array('plugin/Gallery/script.js'));
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE html>
|
<style>
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
.clearfix {
|
||||||
<head>
|
margin-bottom: 10px;
|
||||||
<title><?php echo $playListObj->getName() . $config->getPageTitleSeparator() . $config->getWebSiteTitle(); ?></title>
|
}
|
||||||
<link href="<?php echo getURL('view/css/social.css'); ?>" rel="stylesheet" type="text/css"/>
|
</style>
|
||||||
<link href="<?php echo getURL('plugin/Gallery/style.css'); ?>" rel="stylesheet" type="text/css"/>
|
<div class="container-fluid " style="overflow: hidden;">
|
||||||
<script src="<?php echo getURL('plugin/Gallery/script.js'); ?>" type="text/javascript"></script>
|
<div class="gallery">
|
||||||
|
|
||||||
<?php include $global['systemRootPath'] . 'view/include/head.php'; ?>
|
|
||||||
<style>
|
|
||||||
.clearfix {
|
|
||||||
margin-bottom: 10px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="<?php echo $global['bodyClass']; ?>" style="padding: 5px;">
|
|
||||||
<div class="container-fluid " style="overflow: hidden;">
|
|
||||||
<div class="gallery">
|
|
||||||
<?php
|
|
||||||
if (!empty($playList)) {
|
|
||||||
if(isMobile()){
|
|
||||||
createGallerySection($videos, true, true,6, 4, 2, 1, false);
|
|
||||||
}else{
|
|
||||||
createGallerySection($videos, true, true,6, 6, 4, 2, false);
|
|
||||||
}
|
|
||||||
} ?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php
|
<?php
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
if (!empty($playList)) {
|
||||||
?>
|
if (isMobile()) {
|
||||||
<script>
|
createGallerySection($videos, true, true, 6, 4, 2, 1, false);
|
||||||
$(document).ready(function () {
|
} else {
|
||||||
$('.galleryVideo a').click(function(event){
|
createGallerySection($videos, true, true, 6, 6, 4, 2, false);
|
||||||
event.preventDefault();
|
}
|
||||||
//avideoModalIframeFull($(this).attr('alternativeLink'));
|
} ?>
|
||||||
var url = $(this).attr('embed');
|
</div>
|
||||||
if(empty(url)){
|
</div>
|
||||||
console.log('$(\'.galleryVideo a\').click does not have embed');
|
<script>
|
||||||
url = $(this).attr('href');
|
$(document).ready(function() {
|
||||||
}
|
$('.galleryVideo a').click(function(event) {
|
||||||
url = addGetParam(url, 'controls', -1);
|
event.preventDefault();
|
||||||
url = addGetParam(url, 'showinfo', 0);
|
//avideoModalIframeFull($(this).attr('alternativeLink'));
|
||||||
url = addGetParam(url, 'autoplay', 1);
|
var url = $(this).attr('embed');
|
||||||
console.log('$(\'.galleryVideo a\').click open', url);
|
if (empty(url)) {
|
||||||
avideoAddIframeIntoElement(this, url, '');
|
console.log('$(\'.galleryVideo a\').click does not have embed');
|
||||||
});
|
url = $(this).attr('href');
|
||||||
});
|
}
|
||||||
</script>
|
url = addGetParam(url, 'controls', -1);
|
||||||
</body>
|
url = addGetParam(url, 'showinfo', 0);
|
||||||
</html>
|
url = addGetParam(url, 'autoplay', 1);
|
||||||
<?php include $global['systemRootPath'] . 'objects/include_end.php'; ?>
|
console.log('$(\'.galleryVideo a\').click open', url);
|
||||||
|
avideoAddIframeIntoElement(this, url, '');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
$_page->print();
|
||||||
|
?>
|
|
@ -1,348 +0,0 @@
|
||||||
<?php
|
|
||||||
if (!isset($global['systemRootPath'])) {
|
|
||||||
require_once '../../videos/configuration.php';
|
|
||||||
}
|
|
||||||
$isSerie = 1;
|
|
||||||
$isPlayList = true;
|
|
||||||
require_once $global['systemRootPath'] . 'objects/playlist.php';
|
|
||||||
require_once $global['systemRootPath'] . 'plugin/PlayLists/PlayListElement.php';
|
|
||||||
|
|
||||||
if (!PlayList::canSee($_GET['playlists_id'], User::getId())) {
|
|
||||||
die('{"error":"' . __("Permission denied") . '"}');
|
|
||||||
}
|
|
||||||
|
|
||||||
$playListObj = new PlayList($_GET['playlists_id']);
|
|
||||||
|
|
||||||
$playList = PlayList::getVideosFromPlaylist($_GET['playlists_id']);
|
|
||||||
|
|
||||||
$playListData = array();
|
|
||||||
$videoStartSeconds = array();
|
|
||||||
foreach ($playList as $value) {
|
|
||||||
if ($value['type'] === 'embed') {
|
|
||||||
$sources[0]['type'] = 'video';
|
|
||||||
$sources[0]['url'] = $value["videoLink"];
|
|
||||||
} else {
|
|
||||||
$sources = getVideosURL($value['filename']);
|
|
||||||
}
|
|
||||||
$images = Video::getImageFromFilename($value['filename'], $value['type']);
|
|
||||||
$externalOptions = _json_decode($value['externalOptions']);
|
|
||||||
|
|
||||||
$src = new stdClass();
|
|
||||||
$src->src = $images->thumbsJpg;
|
|
||||||
$thumbnail = array($src);
|
|
||||||
|
|
||||||
$playListSources = array();
|
|
||||||
foreach ($sources as $value2) {
|
|
||||||
if ($value2['type'] !== 'video' && $value2['type'] !== 'audio' && $value2['type'] !== 'serie') {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
$playListSources[] = new playListSource($value2['url'], $value['type'] === 'embed');
|
|
||||||
}
|
|
||||||
if (empty($playListSources)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
$playListData[] = new PlayListElement($value['title'], $value['description'], $value['duration'], $playListSources, $thumbnail, $images->poster, parseDurationToSeconds(@$externalOptions->videoStartSeconds), $value['cre'], $value['likes'], $value['views_count'], $value['videos_id']);
|
|
||||||
}
|
|
||||||
|
|
||||||
$video = PlayLists::isPlayListASerie($_GET['playlists_id']);
|
|
||||||
if (!empty($video['id'])) {
|
|
||||||
AVideoPlugin::getEmbed($video['id']);
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="<?php echo getLanguage(); ?>">
|
|
||||||
<head>
|
|
||||||
<title><?php echo $playListObj->getName() . $config->getPageTitleSeparator() . $config->getWebSiteTitle(); ?></title>
|
|
||||||
<link href="<?php echo getURL('node_modules/video.js/dist/video-js.min.css'); ?>" rel="stylesheet" type="text/css"/>
|
|
||||||
<link href="<?php echo getCDN(); ?>view/css/social.css" rel="stylesheet" type="text/css"/>
|
|
||||||
|
|
||||||
<link href="<?php echo getCDN(); ?>node_modules/videojs-playlist-ui/dist/videojs-playlist-ui.css" rel="stylesheet">
|
|
||||||
|
|
||||||
<?php include $global['systemRootPath'] . 'view/include/head.php'; ?>
|
|
||||||
<style>
|
|
||||||
.next-button:before {
|
|
||||||
-moz-osx-font-smoothing: grayscale;
|
|
||||||
-webkit-font-smoothing: antialiased;
|
|
||||||
display: inline-block;
|
|
||||||
font-style: normal;
|
|
||||||
font-variant: normal;
|
|
||||||
text-rendering: auto;
|
|
||||||
line-height: 1;
|
|
||||||
content: "\f051";
|
|
||||||
font-family: 'Font Awesome 5 Free';
|
|
||||||
font-weight: 900;
|
|
||||||
}
|
|
||||||
|
|
||||||
.video-js .next-button {width: 2em !important;}
|
|
||||||
</style>
|
|
||||||
<?php
|
|
||||||
if (!empty($video['id'])) {
|
|
||||||
getLdJson($video['id']);
|
|
||||||
getItemprop($video['id']);
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="<?php echo $global['bodyClass']; ?>">
|
|
||||||
<?php include $global['systemRootPath'] . 'view/include/navbar.php'; ?>
|
|
||||||
<?php
|
|
||||||
if (!empty($advancedCustomUser->showChannelBannerOnModeYoutube)) {
|
|
||||||
?>
|
|
||||||
<div class="container" style="margin-bottom: 10px;">
|
|
||||||
<img src="<?php echo User::getBackground($video['users_id']); ?>" class="img img-responsive" />
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<div class="container-fluid principalContainer">
|
|
||||||
<?php
|
|
||||||
if (!empty($playListObj)) {
|
|
||||||
if (!empty($advancedCustom->showAdsenseBannerOnTop)) {
|
|
||||||
?>
|
|
||||||
<style>
|
|
||||||
.compress {
|
|
||||||
top: 100px !important;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<div class="row">
|
|
||||||
<div class="col-lg-12 col-sm-12 col-xs-12">
|
|
||||||
<center style="margin:5px;">
|
|
||||||
<?php
|
|
||||||
echo getAdsLeaderBoardTop();
|
|
||||||
?>
|
|
||||||
</center>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
<!-- playlist player -->
|
|
||||||
<div class="row main-video" id="mvideo">
|
|
||||||
<div class="col-sm-2 col-md-2 firstC"></div>
|
|
||||||
<div class="col-sm-8 col-md-8 secC">
|
|
||||||
<div id="videoContainer">
|
|
||||||
<div id="floatButtons" style="display: none;">
|
|
||||||
<p class="btn btn-outline btn-xs move">
|
|
||||||
<i class="fas fa-expand-arrows-alt"></i>
|
|
||||||
</p>
|
|
||||||
<button type="button" class="btn btn-outline btn-xs"
|
|
||||||
onclick="closeFloatVideo(); floatClosed = 1;">
|
|
||||||
<i class="fas fa-times"></i>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div id="main-video" class="embed-responsive embed-responsive-16by9">
|
|
||||||
|
|
||||||
<video <?php echo PlayerSkins::getPlaysinline(); ?>
|
|
||||||
<?php if ($config->getAutoplay() && false) { // disable it for now ?>
|
|
||||||
autoplay="true"
|
|
||||||
muted="muted"
|
|
||||||
<?php } ?>
|
|
||||||
preload="auto"
|
|
||||||
controls class="embed-responsive-item video-js vjs-default-skin vjs-big-play-centered" id="mainVideo"
|
|
||||||
data-setup='{"techOrder": ["youtube","html5"]}'>
|
|
||||||
</video>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
showCloseButton();
|
|
||||||
?>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-2 col-md-2"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="row" id="modeYoutubeBottom">
|
|
||||||
<div class="col-sm-1 col-md-1"></div>
|
|
||||||
<div class="col-sm-8 col-md-8" id="modeYoutubeBottomContent">
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-2 col-md-2 bgWhite list-group-item rightBar">
|
|
||||||
<div class="col-lg-12 col-sm-12 col-xs-12">
|
|
||||||
<?php echo getAdsSideRectangle(); ?>
|
|
||||||
</div>
|
|
||||||
<input type="search" id="playListSearch" class="form-control" placeholder=" <?php echo __("Search"); ?>"/>
|
|
||||||
<select class="form-control" id="embededSortBy" >
|
|
||||||
<option value="default"> <?php echo __("Default"); ?></option>
|
|
||||||
<option value="titleAZ" data-icon="glyphicon-sort-by-attributes"> <?php echo __("Title (A-Z)"); ?></option>
|
|
||||||
<option value="titleZA" data-icon="glyphicon-sort-by-attributes-alt"> <?php echo __("Title (Z-A)"); ?></option>
|
|
||||||
<option value="newest" data-icon="glyphicon-sort-by-attributes"> <?php echo __("Date added (newest)"); ?></option>
|
|
||||||
<option value="oldest" data-icon="glyphicon-sort-by-attributes-alt" > <?php echo __("Date added (oldest)"); ?></option>
|
|
||||||
<option value="popular" data-icon="glyphicon-thumbs-up"> <?php echo __("Most popular"); ?></option>
|
|
||||||
<?php
|
|
||||||
if (empty($advancedCustom->doNotDisplayViews)) {
|
|
||||||
?>
|
|
||||||
<option value="views_count" data-icon="glyphicon-eye-open" <?php echo (!empty($_POST['sort']['views_count'])) ? "selected='selected'" : "" ?>> <?php echo __("Most watched"); ?></option>
|
|
||||||
<?php } ?>
|
|
||||||
</select>
|
|
||||||
<div class="vjs-playlist" style="" id="playList">
|
|
||||||
<!--
|
|
||||||
The contents of this element will be filled based on the
|
|
||||||
currently loaded playlist
|
|
||||||
-->
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-1 col-md-1"></div>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
} else {
|
|
||||||
?>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<div class="alert alert-warning">
|
|
||||||
<i class="fa-solid fa-video"></i> <strong><?php echo __("Attention"); ?>!</strong> <?php echo empty($advancedCustom->videoNotFoundText->value) ? __("We have not found any videos or audios to show") : $advancedCustom->videoNotFoundText->value; ?>.
|
|
||||||
</div>
|
|
||||||
<?php } ?>
|
|
||||||
</div>
|
|
||||||
<?php
|
|
||||||
include $global['systemRootPath'] . 'view/include/video.min.js.php';
|
|
||||||
?>
|
|
||||||
<?php
|
|
||||||
echo AVideoPlugin::afterVideoJS();
|
|
||||||
include $global['systemRootPath'] . 'view/include/footer.php';
|
|
||||||
$videoJSArray = array(
|
|
||||||
"view/js/BootstrapMenu.min.js");
|
|
||||||
$jsURL = combineFiles($videoJSArray, "js");
|
|
||||||
?>
|
|
||||||
<script src="<?php echo $jsURL; ?>" type="text/javascript"></script><script src="<?php echo getCDN(); ?>node_modules/videojs-playlist/dist/videojs-playlist.min.js"></script>
|
|
||||||
<script src="<?php echo getCDN(); ?>node_modules/videojs-playlist-ui/dist/videojs-playlist-ui.min.js"></script>
|
|
||||||
<script src="<?php echo getURL('node_modules/videojs-youtube/dist/Youtube.min.js'); ?>node_modules/videojs-playlist/dist/videojs-playlist.min.js"></script>
|
|
||||||
<script>
|
|
||||||
|
|
||||||
var playerPlaylist = <?php echo json_encode($playListData); ?>;
|
|
||||||
var originalPlayerPlaylist = playerPlaylist;
|
|
||||||
|
|
||||||
if (typeof player === 'undefined' && $('#mainVideo').length) {
|
|
||||||
player = videojs('mainVideo'<?php echo PlayerSkins::getDataSetup(); ?>);
|
|
||||||
}
|
|
||||||
|
|
||||||
var videos_id = playerPlaylist[0].videos_id;
|
|
||||||
|
|
||||||
player.on('play', function () {
|
|
||||||
addView(videos_id, this.currentTime());
|
|
||||||
});
|
|
||||||
|
|
||||||
player.on('timeupdate', function () {
|
|
||||||
var time = Math.round(this.currentTime());
|
|
||||||
if (time >= 5 && time % 5 === 0) {
|
|
||||||
addView(videos_id, time);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
player.on('ended', function () {
|
|
||||||
var time = Math.round(this.currentTime());
|
|
||||||
addView(videos_id, time);
|
|
||||||
});
|
|
||||||
|
|
||||||
player.playlist(playerPlaylist);
|
|
||||||
player.playlist.autoadvance(0);
|
|
||||||
player.playlist.repeat(true);
|
|
||||||
// Initialize the playlist-ui plugin with no option (i.e. the defaults).
|
|
||||||
player.playlistUi();
|
|
||||||
var timeout;
|
|
||||||
$(document).ready(function () {
|
|
||||||
|
|
||||||
$("#playListSearch").keyup(function () {
|
|
||||||
var filter = $(this).val();
|
|
||||||
$(".vjs-playlist-item-list li").each(function () {
|
|
||||||
if ($(this).find('.vjs-playlist-name').text().search(new RegExp(filter, "i")) < 0) {
|
|
||||||
$(this).slideUp();
|
|
||||||
} else {
|
|
||||||
$(this).slideDown();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#embededSortBy').click(function () {
|
|
||||||
setTimeout(function () {
|
|
||||||
clearTimeout(timeout);
|
|
||||||
}, 2000);
|
|
||||||
});
|
|
||||||
|
|
||||||
$('#embededSortBy').change(function () {
|
|
||||||
var value = $(this).val();
|
|
||||||
playerPlaylist.sort(function (a, b) {
|
|
||||||
return compare(a, b, value);
|
|
||||||
});
|
|
||||||
player.playlist.sort(function (a, b) {
|
|
||||||
return compare(a, b, value);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
//Prevent HTML5 video from being downloaded (right-click saved)?
|
|
||||||
$('#mainVideo').bind('contextmenu', function () {
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
|
|
||||||
player.currentTime(playerPlaylist[0].videoStartSeconds);
|
|
||||||
$("#modeYoutubeBottomContent").load("<?php echo $global['webSiteRootURL']; ?>view/modeYoutubeBottom.php?videos_id=" + playerPlaylist[0].videos_id);
|
|
||||||
$(".vjs-playlist-item ").click(function () {
|
|
||||||
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
player.on('playlistitem', function () {
|
|
||||||
index = player.playlist.currentIndex();
|
|
||||||
videos_id = playerPlaylist[index].videos_id;
|
|
||||||
$("#modeYoutubeBottomContent").load("<?php echo $global['webSiteRootURL']; ?>view/modeYoutubeBottom.php?videos_id=" + playerPlaylist[index].videos_id);
|
|
||||||
setTimeout(function () {
|
|
||||||
player.currentTime(playerPlaylist[index].videoStartSeconds);
|
|
||||||
}, 500);
|
|
||||||
if (typeof enableDownloadProtection === 'function') {
|
|
||||||
enableDownloadProtection();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
setTimeout(function () {
|
|
||||||
var Button = videojs.getComponent('Button');
|
|
||||||
var nextButton = videojs.extend(Button, {
|
|
||||||
//constructor: function(player, options) {
|
|
||||||
constructor: function () {
|
|
||||||
Button.apply(this, arguments);
|
|
||||||
//this.addClass('vjs-chapters-button');
|
|
||||||
this.addClass('next-button');
|
|
||||||
this.addClass('vjs-button-fa-size');
|
|
||||||
this.controlText("Next");
|
|
||||||
},
|
|
||||||
handleClick: function () {
|
|
||||||
player.playlist.next();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Register the new component
|
|
||||||
videojs.registerComponent('nextButton', nextButton);
|
|
||||||
player.getChild('controlBar').addChild('nextButton', {}, getPlayerButtonIndex('PlayToggle') + 1);
|
|
||||||
}, 30);
|
|
||||||
|
|
||||||
});
|
|
||||||
function compare(a, b, type) {
|
|
||||||
console.log(type);
|
|
||||||
switch (type) {
|
|
||||||
case "titleAZ":
|
|
||||||
return strcasecmp(a.name, b.name);
|
|
||||||
break;
|
|
||||||
case "titleZA":
|
|
||||||
return strcasecmp(b.name, a.name);
|
|
||||||
break;
|
|
||||||
case "newest":
|
|
||||||
return a.created > b.created ? 1 : (a.created < b.created ? -1 : 0);
|
|
||||||
break;
|
|
||||||
case "oldest":
|
|
||||||
return b.created > a.created ? 1 : (b.created < a.created ? -1 : 0);
|
|
||||||
break;
|
|
||||||
case "popular":
|
|
||||||
return a.likes > b.likes ? 1 : (a.likes < b.likes ? -1 : 0);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return 0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
function strcasecmp(s1, s2) {
|
|
||||||
s1 = (s1 + '').toLowerCase();
|
|
||||||
s2 = (s2 + '').toLowerCase();
|
|
||||||
return s1 > s2 ? 1 : (s1 < s2 ? -1 : 0);
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
<?php include $global['systemRootPath'] . 'objects/include_end.php'; ?>
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue