added two functions for shortening long file names and generating gid string

This commit is contained in:
huangjx
2021-09-14 12:03:51 +08:00
parent cff84cf0e5
commit 3c903e9b93

View File

@@ -7,6 +7,8 @@ use OC\Files\Filesystem;
class Helper class Helper
{ {
public const DOWNLOADTYPE = ['ARIA2' => 1, 'YOUTUBE-DL' => 2, 'OTHERS' => 3];
public const STATUS = ['ACTIVE' => 1, 'ERROR' => 2, 'COMPLETE' => 3];
public static function isUrl($URL) public static function isUrl($URL)
{ {
$URLPattern = '%^(?:(?:https?|ftp)://)(?:\S+(?::\S*)?@|\d{1,3}(?:\.\d{1,3}){3}|(?:(?:[a-z\d\x{00a1}-\x{ffff}' $URLPattern = '%^(?:(?:https?|ftp)://)(?:\S+(?::\S*)?@|\d{1,3}(?:\.\d{1,3}){3}|(?:(?:[a-z\d\x{00a1}-\x{ffff}'
@@ -38,7 +40,7 @@ class Helper
public static function isGetUrlSite($url) public static function isGetUrlSite($url)
{ {
$host = parse_url($url, PHP_URL_HOST); $host = parse_url($url, PHP_URL_HOST);
$sites = ['twitter.com', 'youtube.com']; $sites = ['twitter.com', 'www.twitter.com'];
return (bool) (in_array($host, $sites)); return (bool) (in_array($host, $sites));
} }
public static function parseUrl($url) public static function parseUrl($url)
@@ -50,7 +52,15 @@ class Helper
public static function getUrlPath($url) public static function getUrlPath($url)
{ {
$path = parse_url($url, PHP_URL_PATH); $path = parse_url($url, PHP_URL_PATH);
return self::cleanString(basename($path)); $filename = self::cleanString(basename($path));
return self::clipFilename($filename);
}
public static function clipFilename($filename)
{
if (($len = strlen($filename)) > 64) {
return substr($filename, $len - 64);
}
return $filename;
} }
public static function getFilename($url) public static function getFilename($url)
{ {
@@ -126,7 +136,7 @@ class Helper
public static function log($msg, $file = "/tmp/nc.log") public static function log($msg, $file = "/tmp/nc.log")
{ {
file_put_contents($file, print_r($msg, true)); file_put_contents($file, print_r($msg, true), FILE_APPEND);
} }
public static function filterData($data, $filter = null) public static function filterData($data, $filter = null)
{ {
@@ -266,26 +276,12 @@ class Helper
return ''; return '';
} }
public static function folderUpdated($dir) public static function generateGID($str = null)
{ {
if (!file_exists($dir)) { if (isset($str)) {
return false; return md5($str);
} }
$checkFile = $dir . "/.lastmodified"; return sprintf('%04x%04x%04x%04x%04x%04x%04x%04x', mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(0, 65535), mt_rand(16384, 20479));
if (!file_exists($checkFile)) {
$time = \filemtime($dir);
file_put_contents($checkFile, $time);
return false;
}
$lastModified = (int) file_get_contents($checkFile);
$time = \filemtime($dir);
if ($time > $lastModified) {
file_put_contents($checkFile, $time);
return true;
}
return false;
} }
} }