Removal of unnecessary files. Minor corrections to the code and translation
This commit is contained in:
parent
f55bf9eda8
commit
6690657c51
9 changed files with 25 additions and 165 deletions
|
@ -1,4 +1,8 @@
|
|||
<?php
|
||||
// QUrl Theme for YOURLS
|
||||
// A simple theme for YOURLS built based on the Bootstrap framework.
|
||||
// Author: ookris => https://github.com/ookris/QUrl
|
||||
|
||||
// Load functions file
|
||||
include('qurl/functions.php');
|
||||
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
<?php
|
||||
// Theme config file
|
||||
// QUrl Theme for YOURLS
|
||||
// A simple theme for YOURLS built based on the Bootstrap framework.
|
||||
// Author: ookris => https://github.com/ookris/QUrl
|
||||
|
||||
// Theme config file
|
||||
// Page title
|
||||
$sitetitle = 'Szybkie skracanie linków';
|
||||
$shorttitle = 'QUrl.pl';
|
||||
|
@ -24,8 +27,8 @@ $robots = 'index, nofollow';
|
|||
|
||||
// Google reCAPTCHA V3
|
||||
// More info: https://developers.google.com/recaptcha
|
||||
$recaptchaSiteKey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
|
||||
$recaptchaSecretKey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
|
||||
$recaptchaSiteKey = 'xxxxxxxxxxxxxx';
|
||||
$recaptchaSecretKey = 'xxxxxxxxxxxxxx';
|
||||
|
||||
// Email send settings
|
||||
// Sending emails using the PHPMailer library. More info: https://github.com/PHPMailer/PHPMailer
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
<?php
|
||||
|
||||
// get number of links in the database
|
||||
// Get URLs Count for current filter, total links in DB & total clicks
|
||||
require_once( dirname( __DIR__ ).'/includes/load-yourls.php' );
|
||||
// Variables
|
||||
|
||||
$table_url = YOURLS_DB_TABLE_URL;
|
||||
$where = array('sql' => '', 'binds' => array());
|
||||
|
||||
// Get URLs Count for current filter, total links in DB & total clicks
|
||||
list( $total_urls, $total_clicks ) = array_values( yourls_get_db_stats() );
|
||||
if ( !empty($where['sql']) ) {
|
||||
list( $total_items, $total_items_clicks ) = array_values( yourls_get_db_stats( $where ) );
|
||||
|
|
|
@ -10,21 +10,6 @@
|
|||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-QWTKZyjpPEjISv5WaRU9OFeRpok6YctnYmDr5pNlyT2bRjXh0JMhjY6hW+ALEwIH" crossorigin="anonymous">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
|
||||
<link href="/qurl/custom.css" rel="stylesheet">
|
||||
<!-- Matomo -->
|
||||
<script>
|
||||
var _paq = window._paq = window._paq || [];
|
||||
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
|
||||
_paq.push(['trackPageView']);
|
||||
_paq.push(['enableLinkTracking']);
|
||||
(function() {
|
||||
var u="//qurlpl.usermd.net/matomo/";
|
||||
_paq.push(['setTrackerUrl', u+'matomo.php']);
|
||||
_paq.push(['setSiteId', '1']);
|
||||
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
|
||||
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
|
||||
})();
|
||||
</script>
|
||||
<!-- /Matomo Code -->
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
<?php
|
||||
// QUrl Theme for YOURLS
|
||||
// A simple theme for YOURLS built based on the Bootstrap framework.
|
||||
// Author: ookris => https://github.com/ookris/QUrl
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
// Polish translation
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<?php
|
||||
// QUrl Theme for YOURLS
|
||||
// A simple theme for YOURLS built based on the Bootstrap framework.
|
||||
// Author: ookris => https://github.com/ookris/QUrl
|
||||
|
||||
if (empty($_POST['email'])) {
|
||||
exit('No access');
|
||||
|
@ -7,7 +10,7 @@ if (empty($_POST['email'])) {
|
|||
$reportDate = date('d.m.Y H:i');
|
||||
$reportID = mt_rand(100000, 999999);
|
||||
|
||||
// Load qurl config file
|
||||
// Load config file
|
||||
include('qurl/config.php');
|
||||
|
||||
//PHPMailer Library
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
<?php
|
||||
// QUrl Theme for YOURLS
|
||||
// A simple theme for YOURLS built based on the Bootstrap framework.
|
||||
// Author: ookris => https://github.com/ookris/QUrl
|
||||
|
||||
if (empty($_POST['link'])) {
|
||||
exit('No access');
|
||||
|
@ -7,7 +10,7 @@ if (empty($_POST['link'])) {
|
|||
$reportDate = date('d.m.Y H:i');
|
||||
$reportID = mt_rand(100000, 999999);
|
||||
|
||||
// Load qurl config file
|
||||
// Load config file
|
||||
include('qurl/config.php');
|
||||
|
||||
//PHPMailer Library
|
||||
|
|
|
@ -1,141 +0,0 @@
|
|||
<?php
|
||||
/*
|
||||
Plugin Name: U-SRV | helper file
|
||||
Plugin URI: https://github.com/joshp23/YOURLS-U-SRV
|
||||
Description: A universal file server for YOURLS | This is the server
|
||||
Version: 2.3.4
|
||||
Author: Josh Panter
|
||||
Author URI: https://unfettered.net
|
||||
*/
|
||||
if( !defined( 'YOURLS_ABSPATH' ) ) die();
|
||||
// Verify that all parameters have been set
|
||||
// get access key or die
|
||||
if( isset($_GET['key'])) {
|
||||
$key = $_GET['key'];
|
||||
} else {
|
||||
die('FAIL: missing passkey');
|
||||
}
|
||||
// get plugin id or die
|
||||
if( isset($_GET['id'])) {
|
||||
$id = $_GET['id'];
|
||||
} else {
|
||||
die('FAIL: missing id');
|
||||
}
|
||||
// get file name or die
|
||||
if( isset($_GET['fn'])) {
|
||||
$fn = $_GET['fn'];
|
||||
// strip path traversal characters - security
|
||||
$fn = preg_replace('/^((\.*)(\/*))*/', '', $fn);
|
||||
} else {
|
||||
die('FAIL: missing filename');
|
||||
}
|
||||
|
||||
// Do security check
|
||||
|
||||
// create access lock
|
||||
$now = round(time()/60);
|
||||
$lock = md5($now . $id);
|
||||
// set a cookie to help with javascript calls
|
||||
$cname = "usrv_" . $id;
|
||||
setcookie($cname,$now, 0, "/");
|
||||
// check access key
|
||||
if($lock !== $key) die('FAIL: bad access key');
|
||||
|
||||
/*
|
||||
*
|
||||
* ID
|
||||
*
|
||||
* Check sender and file store location
|
||||
*
|
||||
* To add your plugin or script, add a new case below
|
||||
* with an arbitrary ID and file store location and send
|
||||
* the same ID in the GET request.
|
||||
*
|
||||
* Ex. In this example the cache location is stored in the DB
|
||||
* as a YOURLS option. Note the default option name structure:
|
||||
*
|
||||
* case 'ID_VALUE':
|
||||
* $path = yourls_get_option('ID_VALUE_usrv_loc');
|
||||
* break;
|
||||
*
|
||||
* Ex. In this example the filepath is just stored here:
|
||||
*
|
||||
* case 'ID_VALUE':
|
||||
* $path = '/path/to/your/files/');
|
||||
* break;
|
||||
*/
|
||||
|
||||
$path = yourls_get_option('usrv_cache_loc');
|
||||
if($path == null) $path = dirname(YOURLS_ABSPATH)."/YOURLS_CACHE";
|
||||
$dir = yourls_get_option( $id.'_usrv_dir' );
|
||||
|
||||
switch ($id) {
|
||||
|
||||
case 'usrv_files':
|
||||
$path = $path.'/fu';
|
||||
break;
|
||||
case 'snapshot':
|
||||
if($dir == null) $dir = 'preview';
|
||||
$path = $path.'/'.$dir;
|
||||
break;
|
||||
case 'snapshot-alt':
|
||||
$path = YOURLS_PLUGINDIR.'/snapshot/assets';
|
||||
break;
|
||||
case 'iqrcodes':
|
||||
if($dir == null) $dir = 'qr';
|
||||
$path = $path .'/'. $dir;
|
||||
break;
|
||||
default:
|
||||
$path = $path.'/'.$dir;
|
||||
}
|
||||
// Work with the file
|
||||
$file = $path . '/' . $fn;
|
||||
|
||||
// Compare result path to conf path - 2nd security check for path traversal
|
||||
$loc = pathinfo($file, PATHINFO_DIRNAME);
|
||||
if( $loc != $path ) die('FAIL: malformed request');
|
||||
|
||||
// verify file
|
||||
if (is_file($file)) { // if the file exists at this location
|
||||
$type = pathinfo($fn, PATHINFO_EXTENSION); // then get the file extention type
|
||||
} else {
|
||||
die('FAIL: file not found'); // or die
|
||||
}
|
||||
/*
|
||||
* Mime Types
|
||||
*
|
||||
* Header information must beset explicitly.
|
||||
*
|
||||
* Add new file types by using the following format:
|
||||
*
|
||||
* case "": $ctype=""; break;
|
||||
*
|
||||
*/
|
||||
switch( $type ) {
|
||||
case "jpg":
|
||||
$ctype="image/jpeg";
|
||||
break;
|
||||
case "png":
|
||||
$ctype="image/png";
|
||||
break;
|
||||
case "svg":
|
||||
$ctype="image/svg+xml";
|
||||
break;
|
||||
case "zip":
|
||||
$ctype="application/zip";
|
||||
break;
|
||||
default:
|
||||
$ctype="pronk";
|
||||
break;
|
||||
}
|
||||
|
||||
if($ctype == "pronk") die('file type not supported, please check your configuration');
|
||||
|
||||
header('Content-type: ' . $ctype); // send the correct headers
|
||||
header('Expires: 0'); // .
|
||||
header('Content-Length: ' . filesize($file)); // .
|
||||
ob_clean(); // .
|
||||
flush(); // .
|
||||
readfile($file); // with the file data
|
||||
exit;
|
||||
?>
|
Loading…
Reference in a new issue