mirror of https://github.com/YGGverse/YGGo.git
ghost
1 year ago
34 changed files with 41 additions and 105 deletions
@ -1,7 +1,9 @@ |
|||||||
.vscode |
/.vscode/ |
||||||
.ftpignore |
/vendor/ |
||||||
|
|
||||||
|
/src/config/app.php |
||||||
|
|
||||||
config/app.php |
/database/yggo.mwb.bak |
||||||
config/sphinx.conf |
|
||||||
|
|
||||||
database/yggo.mwb.bak |
.ftpignore |
||||||
|
composer.lock |
@ -0,0 +1,16 @@ |
|||||||
|
{ |
||||||
|
"name": "yggverse/yggo", |
||||||
|
"description": "YGGo! Distributed Web Search Engine", |
||||||
|
"type": "project", |
||||||
|
"require": { |
||||||
|
"php": ">=8.1", |
||||||
|
"yggverse/parser": ">=0.1.0" |
||||||
|
}, |
||||||
|
"license": "MIT", |
||||||
|
"autoload": { |
||||||
|
"psr-4": { |
||||||
|
"Yggverse\\Yggo\\": "src/" |
||||||
|
} |
||||||
|
}, |
||||||
|
"minimum-stability": "alpha" |
||||||
|
} |
@ -1,7 +0,0 @@ |
|||||||
@reboot searchd |
|
||||||
@reboot indexer --all --rotate |
|
||||||
|
|
||||||
30 0 * * * indexer --all --rotate |
|
||||||
|
|
||||||
0 0 * * * /usr/bin/php /{PATH}/YGGo/crontab/cleaner.php >> /{PATH}/cleaner.log 2>&1 |
|
||||||
* 1-23 * * * /usr/bin/php /{PATH}/YGGo/crontab/crawler.php >> /{PATH}/crawler.log 2>&1 |
|
@ -0,0 +1,7 @@ |
|||||||
|
@reboot searchd |
||||||
|
@reboot indexer --all --rotate |
||||||
|
|
||||||
|
30 0 * * * indexer --all --rotate |
||||||
|
|
||||||
|
0 0 * * * /usr/bin/php /{PATH}/YGGo/src/crontab/cleaner.php >> /{PATH}/cleaner.log 2>&1 |
||||||
|
* 1-23 * * * /usr/bin/php /{PATH}/YGGo/src/crontab/crawler.php >> /{PATH}/crawler.log 2>&1 |
@ -1,85 +0,0 @@ |
|||||||
<?php |
|
||||||
|
|
||||||
// @TODO deprecated, replace by the common library |
|
||||||
// https://github.com/YGGverse/parser-php |
|
||||||
|
|
||||||
class URL { |
|
||||||
|
|
||||||
public static function is(string $url) : bool { |
|
||||||
|
|
||||||
return filter_var($url, FILTER_VALIDATE_URL); |
|
||||||
} |
|
||||||
|
|
||||||
public static function parse(string $url) : mixed { |
|
||||||
|
|
||||||
$result = (object) |
|
||||||
[ |
|
||||||
'host' => (object) |
|
||||||
[ |
|
||||||
'url' => null, |
|
||||||
'scheme' => null, |
|
||||||
'name' => null, |
|
||||||
'port' => null, |
|
||||||
], |
|
||||||
'page' => (object) |
|
||||||
[ |
|
||||||
'url' => null, |
|
||||||
'uri' => null, |
|
||||||
'path' => null, |
|
||||||
'query' => null, |
|
||||||
] |
|
||||||
]; |
|
||||||
|
|
||||||
// Validate URL |
|
||||||
if (!self::is($url)) { |
|
||||||
|
|
||||||
return false; |
|
||||||
} |
|
||||||
|
|
||||||
// Parse host |
|
||||||
if ($scheme = parse_url($url, PHP_URL_SCHEME)) { |
|
||||||
|
|
||||||
$result->host->url = $scheme . '://'; |
|
||||||
$result->host->scheme = $scheme; |
|
||||||
|
|
||||||
} else { |
|
||||||
|
|
||||||
return false; |
|
||||||
} |
|
||||||
|
|
||||||
if ($host = parse_url($url, PHP_URL_HOST)) { |
|
||||||
|
|
||||||
$result->host->url .= $host; |
|
||||||
$result->host->name = $host; |
|
||||||
|
|
||||||
} else { |
|
||||||
|
|
||||||
return false; |
|
||||||
} |
|
||||||
|
|
||||||
if ($port = parse_url($url, PHP_URL_PORT)) { |
|
||||||
|
|
||||||
$result->host->url .= ':' . $port; |
|
||||||
$result->host->port = $port; |
|
||||||
|
|
||||||
// port is optional |
|
||||||
} |
|
||||||
|
|
||||||
// Parse page |
|
||||||
if ($path = parse_url($url, PHP_URL_PATH)) { |
|
||||||
|
|
||||||
$result->page->uri = $path; |
|
||||||
$result->page->path = $path; |
|
||||||
} |
|
||||||
|
|
||||||
if ($query = parse_url($url, PHP_URL_QUERY)) { |
|
||||||
|
|
||||||
$result->page->uri .= '?' . $query; |
|
||||||
$result->page->query = '?' . $query; |
|
||||||
} |
|
||||||
|
|
||||||
$result->page->url = $result->host->url . $result->page->uri; |
|
||||||
|
|
||||||
return $result; |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue