forked from WWBN/AVideo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
include_config.php
120 lines (102 loc) · 4.48 KB
/
include_config.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php
$global['webSiteRootURL'] .= (substr($global['webSiteRootURL'], -1) == '/' ? '' : '/');
$global['systemRootPath'] .= (substr($global['systemRootPath'], -1) == '/' ? '' : '/');
$global['session_name'] = md5($global['systemRootPath']);
session_name($global['session_name']);
if(empty($global['logfile'])){
$global['logfile'] = $global['systemRootPath'] . 'videos/avideo.log';
}
ini_set('error_log', $global['logfile']);
global $global, $config, $advancedCustom, $advancedCustomUser;
$global['mysqli'] = new mysqli($mysqlHost, $mysqlUser, $mysqlPass, $mysqlDatabase, @$mysqlPort);
if($global['mysqli']===false || !empty($global['mysqli']->connect_errno)){
include $global['systemRootPath'] . 'view/include/offlinePage.php';
exit;
}
// if you set it on configuration file it will help you to encode
if(!empty($global['mysqli_charset'])){
$global['mysqli']->set_charset($global['mysqli_charset']);
}
if(empty($global['disableTimeFix'])){
$now = new DateTime();
$mins = $now->getOffset() / 60;
$sgn = ($mins < 0 ? -1 : 1);
$mins = abs($mins);
$hrs = floor($mins / 60);
$mins -= $hrs * 60;
$offset = sprintf('%+d:%02d', $hrs * $sgn, $mins);
$global['mysqli']->query("SET time_zone='$offset';");
}
require_once $global['systemRootPath'] . 'objects/mysql_dal.php';
require_once $global['systemRootPath'] . 'objects/configuration.php';
require_once $global['systemRootPath'] . 'objects/security.php';
$config = new Configuration();
// for update config from old versions 2020-05-11
if (empty($global['webSiteRootPath']) || $global['configurationVersion'] < 3.1) {
Configuration::rewriteConfigFile();
}
$global['dont_show_us_flag'] = false;
// this is for old versions
session_write_close();
// server should keep session data for AT LEAST 1 hour
ini_set('session.gc_maxlifetime', $config->getSession_timeout());
// each client should remember their session id for EXACTLY 1 hour
session_set_cookie_params($config->getSession_timeout());
session_start();
// DDOS protection can be disabled in video/configuration.php
if(!empty($global['enableDDOSprotection'])) ddosProtection();
// set the reffer for aVideo
$url1['host'] = "";
if (!empty($_SERVER["HTTP_REFERER"])) {
if((
strpos($_SERVER["HTTP_REFERER"], '/video/') !== false || strpos($_SERVER["HTTP_REFERER"], '/v/') !== false) &&
!empty($_SESSION["LAST_HTTP_REFERER"])){
if(strpos($_SESSION["LAST_HTTP_REFERER"], 'cache/css/') !== false ||
strpos($_SESSION["LAST_HTTP_REFERER"], 'cache/js/') !== false||
strpos($_SESSION["LAST_HTTP_REFERER"], 'cache/img/') !== false){
$_SESSION["LAST_HTTP_REFERER"] = $global['webSiteRootURL'];
}
$global["HTTP_REFERER"] = $_SESSION["LAST_HTTP_REFERER"];
$url1 = parse_url($global["HTTP_REFERER"]);
}else{
$global["HTTP_REFERER"] = $_SERVER["HTTP_REFERER"];
$url1 = parse_url($global["HTTP_REFERER"]);
}
}
//var_dump($global["HTTP_REFERER"]);exit;
if(!isset($_POST['redirectUri'])){
$_POST['redirectUri'] = "";
}
$url2 = parse_url($global['webSiteRootURL']);
if ($url1['host'] !== $url2['host']) {
$global["HTTP_REFERER"] = $global['webSiteRootURL'];
}
$_SESSION["LAST_HTTP_REFERER"] = $global["HTTP_REFERER"];
//var_dump($global["HTTP_REFERER"], $url1);exit;
$output = ob_get_clean();
ob_start("ob_gzhandler");
echo $output;
$_SESSION['lastUpdate'] = time();
$_SESSION['savedQuerys'] = 0;
require_once $global['systemRootPath'] . 'objects/Object.php';
require_once $global['systemRootPath'] . 'locale/function.php';
require_once $global['systemRootPath'] . 'objects/plugin.php';
require_once $global['systemRootPath'] . 'objects/user.php';
require_once $global['systemRootPath'] . 'objects/video.php';
require_once $global['systemRootPath'] . 'plugin/AVideoPlugin.php';
allowOrigin();
$baseName = basename($_SERVER["SCRIPT_FILENAME"]);
if ($baseName !== 'xsendfile.php' && class_exists("Plugin")) {
AVideoPlugin::getStart();
} else if($baseName !== 'xsendfile.php') {
_error_log("Class Plugin Not found: {$_SERVER['REQUEST_URI']}");
}
if (empty($global['bodyClass'])) {
$global['bodyClass'] = "";
}
$global['allowedExtension'] = array('gif', 'jpg', 'mp4', 'webm', 'mp3','m4a', 'ogg', 'zip');
$advancedCustom = AVideoPlugin::getObjectData("CustomizeAdvanced");
$advancedCustomUser = AVideoPlugin::getObjectData("CustomizeUser");
$customizePlugin = AVideoPlugin::getObjectData("Customize");
AVideoPlugin::loadPlugin("PlayerSkins");
$sitemapFile = "{$global['systemRootPath']}sitemap.xml";