mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-23 19:37:23 +08:00
clear icon cache after modify
This commit is contained in:
@@ -18,4 +18,9 @@ class CreateIcon extends CreateRecord
|
|||||||
'desc' => nexus_trans('label.icon.desc')
|
'desc' => nexus_trans('label.icon.desc')
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function afterCreate()
|
||||||
|
{
|
||||||
|
clear_icon_cache();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,4 +28,9 @@ class EditIcon extends EditRecord
|
|||||||
'desc' => nexus_trans('label.icon.desc')
|
'desc' => nexus_trans('label.icon.desc')
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function afterSave()
|
||||||
|
{
|
||||||
|
clear_icon_cache();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -43,7 +43,7 @@ class Kernel extends HttpKernel
|
|||||||
'api' => [
|
'api' => [
|
||||||
'throttle:api',
|
'throttle:api',
|
||||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||||
\App\Http\Middleware\Platform::class,
|
// \App\Http\Middleware\Platform::class,
|
||||||
],
|
],
|
||||||
'filament' => [
|
'filament' => [
|
||||||
\Illuminate\Session\Middleware\StartSession::class,
|
\Illuminate\Session\Middleware\StartSession::class,
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class SecondIcon extends NexusModel
|
|||||||
foreach (SearchBox::$taxonomies as $torrentField => $taxonomyTableModel) {
|
foreach (SearchBox::$taxonomies as $torrentField => $taxonomyTableModel) {
|
||||||
$mode = $data['mode'];
|
$mode = $data['mode'];
|
||||||
if ($mode === null || empty($data[$torrentField][$mode])) {
|
if ($mode === null || empty($data[$torrentField][$mode])) {
|
||||||
unset($data[$torrentField]);
|
$data[$torrentField] = 0;
|
||||||
} else {
|
} else {
|
||||||
$data[$torrentField] = $data[$torrentField][$mode];
|
$data[$torrentField] = $data[$torrentField][$mode];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,9 +17,9 @@ class AuthenticateRepository extends BaseRepository
|
|||||||
if (!$user || md5($user->secret . $password . $user->secret) != $user->passhash) {
|
if (!$user || md5($user->secret . $password . $user->secret) != $user->passhash) {
|
||||||
throw new \InvalidArgumentException('Username or password invalid.');
|
throw new \InvalidArgumentException('Username or password invalid.');
|
||||||
}
|
}
|
||||||
if (nexus()->isPlatformAdmin() && !$user->canAccessAdmin()) {
|
// if (nexus()->isPlatformAdmin() && !$user->canAccessAdmin()) {
|
||||||
throw new UnauthorizedException('Unauthorized!');
|
// throw new UnauthorizedException('Unauthorized!');
|
||||||
}
|
// }
|
||||||
$user->checkIsNormal();
|
$user->checkIsNormal();
|
||||||
$tokenName = __METHOD__ . __LINE__;
|
$tokenName = __METHOD__ . __LINE__;
|
||||||
$token = DB::transaction(function () use ($user, $tokenName) {
|
$token = DB::transaction(function () use ($user, $tokenName) {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
defined('VERSION_NUMBER') || define('VERSION_NUMBER', '1.8.0');
|
defined('VERSION_NUMBER') || define('VERSION_NUMBER', '1.8.0');
|
||||||
defined('RELEASE_DATE') || define('RELEASE_DATE', '2023-02-01');
|
defined('RELEASE_DATE') || define('RELEASE_DATE', '2023-02-06');
|
||||||
defined('IN_TRACKER') || define('IN_TRACKER', false);
|
defined('IN_TRACKER') || define('IN_TRACKER', false);
|
||||||
defined('PROJECTNAME') || define("PROJECTNAME","NexusPHP");
|
defined('PROJECTNAME') || define("PROJECTNAME","NexusPHP");
|
||||||
defined('NEXUSPHPURL') || define("NEXUSPHPURL","https://nexusphp.org");
|
defined('NEXUSPHPURL') || define("NEXUSPHPURL","https://nexusphp.org");
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ function emu_getallheaders() {
|
|||||||
|
|
||||||
function block_browser()
|
function block_browser()
|
||||||
{
|
{
|
||||||
$agent = $_SERVER["HTTP_USER_AGENT"];
|
$agent = $_SERVER["HTTP_USER_AGENT"] ?? '';
|
||||||
if (preg_match("/^Mozilla/", $agent) || preg_match("/^Opera/", $agent) || preg_match("/^Links/", $agent) || preg_match("/^Lynx/", $agent) )
|
if (preg_match("/^Mozilla/", $agent) || preg_match("/^Opera/", $agent) || preg_match("/^Links/", $agent) || preg_match("/^Lynx/", $agent) )
|
||||||
err("Browser access blocked!");
|
err("Browser access blocked!");
|
||||||
// check headers
|
// check headers
|
||||||
|
|||||||
@@ -1044,6 +1044,15 @@ function clear_search_box_cache()
|
|||||||
\Nexus\Database\NexusDB::cache_del("search_box_content");
|
\Nexus\Database\NexusDB::cache_del("search_box_content");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see functions.php::get_category_icon_row()
|
||||||
|
*/
|
||||||
|
function clear_icon_cache()
|
||||||
|
{
|
||||||
|
do_log("clear_icon_cache");
|
||||||
|
\Nexus\Database\NexusDB::cache_del("category_icon_content");
|
||||||
|
}
|
||||||
|
|
||||||
function user_can($permission, $fail = false, $uid = 0): bool
|
function user_can($permission, $fail = false, $uid = 0): bool
|
||||||
{
|
{
|
||||||
$log = "permission: $permission, fail: $fail, user: $uid";
|
$log = "permission: $permission, fail: $fail, user: $uid";
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ class Torrent
|
|||||||
$ptGen = new PTGen();
|
$ptGen = new PTGen();
|
||||||
}
|
}
|
||||||
$ptGenInfo = $torrentInfo['pt_gen'];
|
$ptGenInfo = $torrentInfo['pt_gen'];
|
||||||
if (!is_array($torrentInfo['pt_gen'])) {
|
if (!is_array($torrentInfo['pt_gen']) && is_string($torrentInfo['pt_gen'])) {
|
||||||
$ptGenInfo = json_decode($ptGenInfo, true);
|
$ptGenInfo = json_decode($ptGenInfo, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -3,7 +3,7 @@ require '../include/bittorrent_announce.php';
|
|||||||
require ROOT_PATH . 'include/core.php';
|
require ROOT_PATH . 'include/core.php';
|
||||||
do_log(nexus_json_encode($_SERVER));
|
do_log(nexus_json_encode($_SERVER));
|
||||||
//1. BLOCK ACCESS WITH WEB BROWSERS AND CHEATS!
|
//1. BLOCK ACCESS WITH WEB BROWSERS AND CHEATS!
|
||||||
$agent = $_SERVER["HTTP_USER_AGENT"];
|
$agent = $_SERVER["HTTP_USER_AGENT"] ?? '';
|
||||||
block_browser();
|
block_browser();
|
||||||
dbconn_announce();
|
dbconn_announce();
|
||||||
//check authkey
|
//check authkey
|
||||||
@@ -32,7 +32,7 @@ foreach (array("passkey","info_hash","peer_id","port","downloaded","uploaded","l
|
|||||||
if (!isset($x)) err("Missing key: $x");
|
if (!isset($x)) err("Missing key: $x");
|
||||||
foreach (array("info_hash","peer_id") as $x)
|
foreach (array("info_hash","peer_id") as $x)
|
||||||
if (strlen($GLOBALS[$x]) != 20) err("Invalid $x (" . strlen($GLOBALS[$x]) . " - " . rawurlencode($GLOBALS[$x]) . ")");
|
if (strlen($GLOBALS[$x]) != 20) err("Invalid $x (" . strlen($GLOBALS[$x]) . " - " . rawurlencode($GLOBALS[$x]) . ")");
|
||||||
if (strlen($passkey) != 32) err("Invalid passkey (" . strlen($passkey) . " - $passkey)");
|
if (isset($passkey) && strlen($passkey) != 32) err("Invalid passkey (" . strlen($passkey) . " - $passkey)");
|
||||||
|
|
||||||
//4. GET IP AND CHECK PORT
|
//4. GET IP AND CHECK PORT
|
||||||
$ip = getip(); // avoid to get the spoof ip from some agent
|
$ip = getip(); // avoid to get the spoof ip from some agent
|
||||||
|
|||||||
+4
-1
@@ -109,7 +109,10 @@ if (filesize($fn) == 0) {
|
|||||||
}
|
}
|
||||||
$approvalNotAllowed = $row['approval_status'] != \App\Models\Torrent::APPROVAL_STATUS_ALLOW && get_setting('torrent.approval_status_none_visible') == 'no';
|
$approvalNotAllowed = $row['approval_status'] != \App\Models\Torrent::APPROVAL_STATUS_ALLOW && get_setting('torrent.approval_status_none_visible') == 'no';
|
||||||
$allowOwnerDownload = $row['owner'] == $CURUSER['id'] && \App\Models\Snatch::query()->where('torrentid', $id)->count() == 0;
|
$allowOwnerDownload = $row['owner'] == $CURUSER['id'] && \App\Models\Snatch::query()->where('torrentid', $id)->count() == 0;
|
||||||
if ((($row['banned'] == 'yes' || ($approvalNotAllowed && !$allowOwnerDownload)) && !user_can('seebanned')) || !can_access_torrent($row)) {
|
$canSeedBanned = user_can('seebanned');
|
||||||
|
$canAccessTorrent = can_access_torrent($row);
|
||||||
|
if ((($row['banned'] == 'yes' || ($approvalNotAllowed && !$allowOwnerDownload)) && !$canSeedBanned) || !$canAccessTorrent) {
|
||||||
|
do_log("[DENY_DOWNLOAD], user: {$CURUSER['id']}, approvalNotAllowed: $approvalNotAllowed, allowOwnerDownload: $allowOwnerDownload, canSeedBanned: $canSeedBanned, canAccessTorrent: $canAccessTorrent", 'error');
|
||||||
denyDownload();
|
denyDownload();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -41,8 +41,8 @@ $locationInfo = get_ip_location_from_geoip($ip);
|
|||||||
$thisLoginLog = \App\Models\LoginLog::query()->create([
|
$thisLoginLog = \App\Models\LoginLog::query()->create([
|
||||||
'ip' => $ip,
|
'ip' => $ip,
|
||||||
'uid' => $row['id'],
|
'uid' => $row['id'],
|
||||||
'country' => $locationInfo['country_en'],
|
'country' => $locationInfo['country_en'] ?? '',
|
||||||
'city' => $locationInfo['city_en'],
|
'city' => $locationInfo['city_en'] ?? '',
|
||||||
'client' => 'Web',
|
'client' => 'Web',
|
||||||
]);
|
]);
|
||||||
$lastLoginLog = \App\Models\LoginLog::query()->where('uid', $row['id'])->orderBy('id', 'desc')->first();
|
$lastLoginLog = \App\Models\LoginLog::query()->where('uid', $row['id'])->orderBy('id', 'desc')->first();
|
||||||
|
|||||||
Reference in New Issue
Block a user