1
0
Fork 0
mirror of https://github.com/DanielnetoDotCom/YouPHPTube synced 2025-10-03 09:49:28 +02:00
DanielnetoDotCom 2021-06-09 10:20:41 -03:00
parent b7351b7ba4
commit 49b16700bb
25 changed files with 80 additions and 54 deletions

1
.gitignore vendored
View file

@ -67,7 +67,6 @@
/plugin/ZoomMeetingRecorder/
/plugin/oncologytube/
/plugin/predefinedCategory/
/plugin/Pedagoflix/
/videos/
*.ser
sitemap.xml

View file

@ -72,6 +72,9 @@ Options All -Indexes
<IfModule mod_rewrite.c>
RewriteEngine on
#VideoHLS for DRM
RewriteRule ^videos/webfonts/(fa-.*) view/css/fontawesome-free-5.5.0-web/webfonts/$1 [NC,L]
RewriteRule ^playLink/?$ view/modePlayLink.php [QSA]
RewriteRule ^videos/([^/]+)/(.*).key$ plugin/VideoHLS/downloadProtection.php?filename=$1&key=$2 [QSA]
@ -307,6 +310,7 @@ Options All -Indexes
RewriteRule ^vast.xml/?([0-9]+)?$ plugin/AD_Server/VAST.php?campaign_has_videos_id=$1 [NC,L]
<IfModule mod_xsendfile.c>
RewriteRule ^videos/([_A-Za-z0-9.-]+/)?([^!#$&'()*+,\/:;=?@[\]]+(\.(mp4|webm|m3u8|mp3|ogg)))$ view/xsendfile.php?file=$2 [QSA]
</IfModule>

View file

@ -371,7 +371,7 @@ $t['Embed Codes'] = "Integrer koder";
$t['Embed Selected'] = "Integrer valgt";
$t['Embed Stream'] = "Integrer Stream";
$t['Embed a video link'] = "Integrer et videolink";
$t['Embed code for trailer'] = "Integrer kode til trailer";
$t['Embed URL for trailer'] = "Integrer kode til trailer";
$t['Embed videos/files in your site'] = "Integrer videoer / filer på dit websted";
$t['Embedded'] = "Integreret";
$t['Enable 2FA Login'] = "Aktivér 2FA-login";

View file

@ -191,7 +191,7 @@ $t['Embed All'] = "Alles einbetten";
$t['Embed Selected'] = "Ausgewählte einbetten";
$t['Embed Stream'] = "Stream einbetten";
$t['Embed a video link'] = "Video-Link einbetten";
$t['Embed code for trailer'] = "Einbettungscode für Anreißer";
$t['Embed URL for trailer'] = "Einbettungscode für Anreißer";
$t['Embed'] = "Einbetten";
$t['Embedded'] = "Eingebettet";
$t['Enable Ads Plugin'] = "Werbe-Erweiterung aktivieren";

View file

@ -204,7 +204,7 @@ $t['Embed All'] = "Insertar todo";
$t['Embed Selected'] = "Insertar seleccionado";
$t['Embed Stream'] = "Insertar secuencia";
$t['Embed a video link'] = "Insertar un enlace de video";
$t['Embed code for trailer'] = "Insertar código para el trailer";
$t['Embed URL for trailer'] = "Insertar código para el trailer";
$t['Embed'] = "Insertar";
$t['Embedded'] = "Insertado";
$t['Enable Ads Plugin'] = "Habilitar complemento de anuncios";

View file

@ -196,7 +196,7 @@ $t['Email Configuration'] = 'Configuration e-mail';
$t['Email can not be blank'] = "L'e-mail ne peut pas être vide";
$t['Embed Stream'] = "Diffusion en direct intégrée";
$t['Embed a video link'] = "Intégrer un nouveau média";
$t['Embed code for trailer'] = 'Code d\'intégration pour le trailer';
$t['Embed URL for trailer'] = 'Code d\'intégration pour le trailer';
$t['Embed videos/files in your site'] = 'Intégrer directement des médias externes';
$t['Embed'] = "Intégrer";
$t['Embedded'] = "Intégré";

View file

@ -196,7 +196,7 @@ $t['Email Verified'] = "אימייל מאומת";
$t['Email verification error'] = "שגיאת אימות דוא\"ל";
$t['Embed Stream'] = "שבץ זרם";
$t['Embed a video link'] = "הטמע קישור וידאו";
$t['Embed code for trailer'] = "הטמע קוד עבור טריילר";
$t['Embed URL for trailer'] = "הטמע קוד עבור טריילר";
$t['Embed'] = "הטמע";
$t['Embedded'] = "הטמע";
$t['Enable Ads Plugin'] = "הפעל פלאגין מודעות";

View file

@ -222,7 +222,7 @@ $t['Embed All'] = "全項目を埋め込む";
$t['Embed Selected'] = "選択した項目を埋め込む";
$t['Embed Stream'] = "ストリームを埋め込む";
$t['Embed a video link'] = "動画リンクを埋め込む";
$t['Embed code for trailer'] = "トレーラーの為の埋め込みコード";
$t['Embed URL for trailer'] = "トレーラーの為の埋め込みコード";
$t['Embed'] = "埋め込む";
$t['Embedded'] = "埋め込む";
$t['Enable Ads Plugin'] = "アドセンスプラグインの使用する";

View file

@ -197,7 +197,7 @@ $t['Embed All'] = "임베드 올";
$t['Embed Selected'] = "선택한 항목 포함";
$t['Embed Stream'] = "임베드 스트림";
$t['Embed a video link'] = "비디오 링크 포함";
$t['Embed code for trailer'] = "트레일러에 대한 내장 코드";
$t['Embed URL for trailer'] = "트레일러에 대한 내장 코드";
$t['Embed'] = "임베드";
$t['Embedded'] = "임베드";
$t['Enable Ads Plugin'] = "광고 플러그인 사용";

View file

@ -1916,7 +1916,7 @@ $t["Groups that can see this video"] = "Grupos que podem ver este vídeo";
$t["Autoplay Next Video"] = "Auto-reproduzir próximo vídeo";
$t["Remove Autoplay Next Video"] = "Remover auto-reproduzir próximo vídeo";
$t["Autoplay Next Video URL"] = "URL da auto-reprodução do próximo vídeo";
$t["Embed code for trailer"] = "Embutir código para trailer";
$t["Embed URL for trailer"] = "Embutir código para trailer";
$t["Start video at"] = "Iniciar vídeo em";
$t["Video Link"] = "Link do vídeo";
$t["Download your videos list"] = "Baixar lista dos vídeos";

View file

@ -196,7 +196,7 @@ $t['Embed All'] = "Вставить всё";
$t['Embed Selected'] = "Вставить выбранное";
$t['Embed Stream'] = "Вставить поток";
$t['Embed a video link'] = "Вставить ссылку на видео";
$t['Embed code for trailer'] = "Код для вставки трейлера";
$t['Embed URL for trailer'] = "Код для вставки трейлера";
$t['Embed'] = "Вставить";
$t['Embedded'] = "Вставленный";
$t['Enable Ads Plugin'] = "Включить рекламный плагин";

View file

@ -218,7 +218,7 @@ $t['Embed All'] = "嵌入所有";
$t['Embed Selected'] = "嵌入已选择的";
$t['Embed Stream'] = "嵌入流媒体";
$t['Embed a video link'] = "嵌入视频连接";
$t['Embed code for trailer'] = "为预告片嵌入代码";
$t['Embed URL for trailer'] = "为预告片嵌入代码";
$t['Embed'] = "嵌入";
$t['Embedded'] = "嵌入";
$t['Enable Ads Plugin'] = "启用广告插件";

View file

@ -510,7 +510,7 @@ abstract class ObjectYPT implements ObjectInterface {
$tmpDir .= 'notlogged_'.md5("notlogged".$global['salt']).DIRECTORY_SEPARATOR;
}
}
$tmpDir = fixPath($tmpDir);
make_path($tmpDir);
if (!file_exists($tmpDir . "index.html") && is_writable($tmpDir)) {// to avoid search into the directory
file_put_contents($tmpDir . "index.html", time());

View file

@ -33,24 +33,24 @@
append: '$infinityScrollGetFromSelector',
status: '.scroller-status$uid',
hideNav: '.infiniteScrollPagination$uid',
debug: true,
debug: false,
prefill: true,
history: false,
checkLastPage: false,
button: '#loadInfiniteScrollButton$uid'
});
$container$uid.on('scrollThreshold.infiniteScroll', function (event) {
console.log('infiniteScroll Scroll at bottom');
//console.log('infiniteScroll Scroll at bottom');
});
$container$uid.on('request.infiniteScroll', function (event, path, fetchPromise) {
console.log(`infiniteScroll Loading page: ${path}`);
//console.log(`infiniteScroll Loading page: ${path}`);
});
let infScroll = $container$uid.data('infiniteScroll');
$container$uid.on('load.infiniteScroll', function (event, body, path, response) {
console.log(`infiniteScroll Loaded: ${path}`, `Status: ${response.status}`, `Current page: ${infScroll.pageIndex}`, `${infScroll.loadCount} pages loaded`);
//console.log(`infiniteScroll Loaded: ${path}`, `Status: ${response.status}`, `Current page: ${infScroll.pageIndex}`, `${infScroll.loadCount} pages loaded`);
});
$container$uid.on('append.infiniteScroll', function (event, body, path, items, response) {
console.log(`infiniteScroll Appended ${items.length} items on ${path}`, body);
//console.log(`infiniteScroll Appended ${items.length} items on ${path}`, body);
clearTimeout(append_infiniteScroll_timout);
append_infiniteScroll_timout = setTimeout(function () {
lazyImage();
@ -58,13 +58,13 @@
}, 1000);
});
$container$uid.on('error.infiniteScroll', function (event, error, path, response) {
console.error(`infiniteScroll Could not load: ${path}. ${error}`);
//console.error(`infiniteScroll Could not load: ${path}. ${error}`);
});
$container$uid.on('last.infiniteScroll', function (event, body, path) {
console.log(`infiniteScroll Last page hit on ${path}`, body, event);
//console.log(`infiniteScroll Last page hit on ${path}`, body, event);
});
$container$uid.on('history.infiniteScroll', function (event, title, path) {
console.log(`infiniteScroll History changed to: ${path}`);
//console.log(`infiniteScroll History changed to: ${path}`);
});
}
}

View file

@ -31,6 +31,8 @@ foreach ($scanVars as $value) {
$originalValue = $scanThis['v'];
$scanThis['v'] = videosHashToID($scanThis['v']);
if(!empty($global['makeVideosIDHarderToGuessNotDecrypted']) && $originalValue != $scanThis['v']){
// if you set $global['makeVideosIDHarderToGuessNotDecrypted'] and originalValue = scanThis['v'] it meand it was not decrypted, and it is a direct video ID,
// otherwiseit was a hash that we decrypt into an ID
$global['makeVideosIDHarderToGuessNotDecrypted'] = 0;
}
}

View file

@ -142,6 +142,8 @@ class Cache extends PluginAbstract {
if($isBot){
$firstPageCache = strip_specific_tags($firstPageCache);
$firstPageCache = strip_render_blocking_resources($firstPageCache);
}else{
$firstPageCache = optimizeHTMLTags($firstPageCache);
}
echo $firstPageCache.PHP_EOL.'<!-- Cached Page Generated in '.getScriptRunMicrotimeInSeconds().' Seconds -->';
@ -170,8 +172,10 @@ class Cache extends PluginAbstract {
global $global;
$obj = $this->getDataObject();
echo PHP_EOL.'<!-- Page Generated in '.getScriptRunMicrotimeInSeconds().' Seconds -->';
$c = ob_get_contents();
$c = ob_get_clean();
$c = optimizeHTMLTags($c);
ob_start();
echo $c;
if (!headers_sent()) {
header_remove('Set-Cookie');
}

View file

@ -1,6 +1,6 @@
<script>
function onlineLabelOnline(selector) {
console.log("Change video to Online ",selector);
//console.log("Change video to Online ",selector);
$(selector).removeClass('label-warning');
$(selector).removeClass('label-danger');
$(selector).addClass('label-success');
@ -11,7 +11,7 @@
}
function onlineLabelPleaseWait(selector) {
console.log("Change video to please wait");
//console.log("Change video to please wait");
if(!$('#indexCol1 div.panel-heading .label-success').length){
isOnlineLabel = false;
}
@ -25,7 +25,7 @@
}
function onlineLabelOffline(selector) {
console.log("Change video to offline");
//console.log("Change video to offline");
$(selector).removeClass('label-warning');
$(selector).removeClass('label-success');
$(selector).addClass('label-danger');
@ -35,7 +35,7 @@
}
}
function onlineLabelFinishing(selector) {
console.log("Change video to finishing");
//console.log("Change video to finishing");
$(selector).removeClass('label-warning');
$(selector).removeClass('label-success');
$(selector).addClass('label-danger');

View file

@ -258,7 +258,7 @@ if (!empty($obj->playLiveInFullScreenOnIframe)) {
if (response.applications.length) {
disableGif = response.disableGif;
for (i = 0; i < response.applications.length; i++) {
console.log('processApplicationLive', response.applications[i]);
//console.log('processApplicationLive', response.applications[i]);
var live_index = 0;
if (typeof response.applications[i].live_index !== 'undefined') {
live_index = response.applications[i].live_index;
@ -351,7 +351,7 @@ if (isVideo()) {
}
$('#liveVideos').slideDown();
if (callback) {
eval("try {console.log('processApplication application.callback '+callback);$liveLi = " + callback + ";} catch (e) {console.log('processApplication application.callback error',e.message);}");
eval("try {$liveLi = " + callback + ";} catch (e) {console.log('processApplication application.callback error',e.message);}");
}
} else {

View file

@ -7,11 +7,11 @@
if(typeof liveLinkAppsCalled[className] !== 'undefined'){ // do not call it twice
//return false;
}
console.log('liveLinkApps', $liveLi, className, live_starts, $liveLi.find('.liveNow'));
//console.log('liveLinkApps', $liveLi, className, live_starts, $liveLi.find('.liveNow'));
liveLinkAppsCalled[className] = live_starts;
$liveLi.find('.liveNow').html("<?php echo __('Starts in'); ?> <span class='Timer_"+className+"'>"+live_starts+"<span>");
$liveLi.find('.liveNow').attr("class", 'label label-primary liveFuture');
console.log('liveLinkApps', '.'+className+' '+live_starts);
//console.log('liveLinkApps', '.'+className+' '+live_starts);
startTimerToDate(live_starts, '.Timer_'+className, false);
return $liveLi;
}

View file

@ -22,7 +22,7 @@ function createMenuSaveForm($menu) {
?>
<div class="panel panel-default">
<div class="panel-heading">
<h1>
<strong>
<?php
if (!empty($value['icon'])) {
?>
@ -31,19 +31,37 @@ function createMenuSaveForm($menu) {
}
?>
<?php echo __($value['menuName']); ?>
</h1>
</strong>
</div>
<div class="panel-body">
<?php
foreach ($menuItems as $key2 => $value2) {
?>
<div class="row">
<div class="col-xs-10">
<div class="col-xs-9">
<div class="form-group">
<div class="input-group">
<label class="input-group-addon" for="menuURL<?php echo $value2['id']; ?>">
<?php
if (!empty($value2['icon'])) {
?>
<i class="<?php echo $value2['icon'] ?>"></i>
<?php
}
?>
<?php echo __($value2['title']); ?>
</label>
<input type="url" class="form-control" placeholder="<?php echo __($value2['title']); ?>" id="menuURL<?php echo $value2['id']; ?>" value="<?php echo TopMenu::getVideoMenuURL($videos_id, $value2['id']); ?>"/>
</div>
</div>
<div class="col-xs-2">
<button class="btn btn-block btn-success" onclick="saveMenuInfo<?php echo $value2['id']; ?>();"><i class="fas fa-solid"></i> <?php echo __('Save'); ?></button>
</div>
<div class="col-xs-3">
<button class="btn btn-block btn-success" onclick="saveMenuInfo<?php echo $value2['id']; ?>();">
<i class="fas fa-save"></i>
<?php echo __('Save'); ?>
</button>
</div>
</div>
<script>

View file

@ -10,7 +10,7 @@ function socketConnect() {
clearTimeout(socketConnectTimeout);
socketConnectRequested = 1;
var url = addGetParam(webSocketURL, 'page_title', $('<textarea />').html($(document).find("title").text()).text());
console.log('Trying to reconnect on socket... ');
//console.log('Trying to reconnect on socket... ');
conn = new WebSocket(url);
setSocketIconStatus('loading');
conn.onopen = function (e) {
@ -153,7 +153,7 @@ function parseSocketResponse() {
if (typeof json === 'undefined') {
return false;
}
console.log("parseSocketResponse", json);
//console.log("parseSocketResponse", json);
if (json.isAdmin && webSocketServerVersion > json.webSocketServerVersion) {
if (typeof avideoToastWarning == 'funciton') {
avideoToastWarning("Please restart your socket server. You are running (v" + json.webSocketServerVersion + ") and your client is expecting (v" + webSocketServerVersion + ")");
@ -222,7 +222,7 @@ function parseSocketResponse() {
}
$(function () {
console.log('Getting webSocketToken ...');
//console.log('Getting webSocketToken ...');
var getWebSocket = webSiteRootURL + 'plugin/YPTSocket/getWebSocket.json.php';
getWebSocket = addGetParam(getWebSocket, 'webSocketSelfURI', webSocketSelfURI);
getWebSocket = addGetParam(getWebSocket, 'webSocketVideos_id', webSocketVideos_id);
@ -236,7 +236,7 @@ $(function () {
avideoToastError(response.msg);
}
} else {
console.log('Getting webSocketToken SUCCESS ', response);
//console.log('Getting webSocketToken SUCCESS ', response);
webSocketToken = response.webSocketToken;
webSocketURL = response.webSocketURL;
socketConnect();

View file

@ -122,8 +122,7 @@ $uid = uniqid();
if (!response.error) {
console.log(response);
stripe<?php echo $uid; ?>.confirmCardPayment(
response.client_secret,
{
response.client_secret,{
payment_method: {card: card<?php echo $uid; ?>}
}
).then(function (result) {

View file

@ -151,7 +151,7 @@ function lazyImage() {
});
gif.height(element.height());
gif.width(element.width());
console.log('lazyImage', gif);
//console.log('lazyImage', gif);
}
$("#log").append("<div>Handler for .mouseover() called.</div>");
@ -893,14 +893,14 @@ function isALiveContent() {
}
function isAutoplayEnabled() {
console.log("Cookies.get('autoplay')", Cookies.get('autoplay'));
//console.log("Cookies.get('autoplay')", Cookies.get('autoplay'));
if (isALiveContent()) {
console.log("isAutoplayEnabled always autoplay live contents");
//console.log("isAutoplayEnabled always autoplay live contents");
return true;
} else
if ($("#autoplay").length && $("#autoplay").is(':visible')) {
autoplay = $("#autoplay").is(":checked");
console.log("isAutoplayEnabled #autoplay said " + ((autoplay) ? "Yes" : "No"));
//console.log("isAutoplayEnabled #autoplay said " + ((autoplay) ? "Yes" : "No"));
setAutoplay(autoplay);
return autoplay;
} else if (
@ -908,23 +908,23 @@ function isAutoplayEnabled() {
typeof Cookies.get('autoplay') !== 'undefined'
) {
if (Cookies.get('autoplay') === 'true' || Cookies.get('autoplay') == true) {
console.log("isAutoplayEnabled Cookie said Yes ");
//console.log("isAutoplayEnabled Cookie said Yes ");
setAutoplay(true);
return true;
} else {
console.log("isAutoplayEnabled Cookie said No ");
//console.log("isAutoplayEnabled Cookie said No ");
setAutoplay(false);
return false;
}
} else {
if (typeof autoplay !== 'undefined') {
console.log("isAutoplayEnabled autoplay said " + ((autoplay) ? "Yes" : "No"));
//console.log("isAutoplayEnabled autoplay said " + ((autoplay) ? "Yes" : "No"));
setAutoplay(autoplay);
return autoplay;
}
}
setAutoplay(false);
console.log("isAutoplayEnabled Default is No ");
//console.log("isAutoplayEnabled Default is No ");
return false;
}
@ -1357,7 +1357,7 @@ function isURL(url) {
}
var startTimerInterval = [];
function startTimer(duration, selector) {
console.log('startTimer 1', duration);
//console.log('startTimer 1', duration);
clearInterval(startTimerInterval[selector]);
var timer = duration;
startTimerInterval[selector] = setInterval(function () {
@ -1567,7 +1567,7 @@ function getCroppie(uploadCropObject, callback, width, height) {
console.log('getCroppie 3', ret);
}
function setToolTips() {
async function setToolTips() {
if (!$('[data-toggle="tooltip"]').not('.alreadyTooltip').length) {
return false;
}

View file

@ -528,8 +528,8 @@
</div>
</div>
</div>
<label for="inputTrailer"><?php echo __("Embed code for trailer"); ?></label>
<input type="text" id="inputTrailer" class="form-control" placeholder="<?php echo __("Embed code for trailer"); ?>" required>
<label for="inputTrailer"><?php echo __("Embed URL for trailer"); ?></label>
<input type="text" id="inputTrailer" class="form-control" placeholder="<?php echo __("Embed URL for trailer"); ?>" required>
<div>
<label for="videoStartSecond" ><?php echo __("Start video at"); ?></label>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB