mirror of
https://github.com/lkddi/nexusphp.git
synced 2026-04-14 04:20:49 +08:00
continue
This commit is contained in:
11
app/Models/Bookmark.php
Normal file
11
app/Models/Bookmark.php
Normal file
@@ -0,0 +1,11 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
|
||||
class Bookmark extends NexusModel
|
||||
{
|
||||
protected $table = 'bookmarks';
|
||||
|
||||
protected $fillable = ['userid', 'torrentid'];
|
||||
}
|
||||
@@ -40,7 +40,7 @@ class Exam extends NexusModel
|
||||
self::INDEX_UPLOADED => ['name' => 'Uploaded', 'unit' => 'GB', 'source_user_field' => 'uploaded'],
|
||||
self::INDEX_SEED_TIME_AVERAGE => ['name' => 'Seed time average', 'unit' => 'Hour', 'source_user_field' => 'seedtime'],
|
||||
self::INDEX_DOWNLOADED => ['name' => 'Downloaded', 'unit' => 'GB', 'source_user_field' => 'downloaded'],
|
||||
self::INDEX_SEED_BONUS => ['name' => 'Seed bonus', 'unit' => '', 'source_user_field' => 'seedbonus'],
|
||||
self::INDEX_SEED_BONUS => ['name' => 'Seed bonus', 'unit' => '', 'source_user_field' => 'seed_points'],
|
||||
];
|
||||
|
||||
const FILTER_USER_CLASS = 'classes';
|
||||
|
||||
@@ -86,7 +86,7 @@ class Torrent extends NexusModel
|
||||
|
||||
public static function getFieldLabels(): array
|
||||
{
|
||||
$fields = ['comments', 'times_completed', 'peers_count', 'thank_users_count', 'numfiles'];
|
||||
$fields = ['comments', 'times_completed', 'peers_count', 'thank_users_count', 'numfiles', 'bookmark_yes', 'bookmark_no'];
|
||||
$result = [];
|
||||
foreach($fields as $field) {
|
||||
$result[$field] = nexus_trans("torrent.show.{$field}_label");
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\Models;
|
||||
|
||||
use App\Http\Middleware\Locale;
|
||||
use Illuminate\Database\Eloquent\Builder;
|
||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
@@ -41,15 +42,15 @@ class User extends Authenticatable
|
||||
|
||||
public static $classes = [
|
||||
self::CLASS_PEASANT => ['text' => 'Peasant'],
|
||||
self::CLASS_USER => ['text' => 'User'],
|
||||
self::CLASS_POWER_USER => ['text' => 'Power User'],
|
||||
self::CLASS_ELITE_USER => ['text' => 'Elite User'],
|
||||
self::CLASS_CRAZY_USER => ['text' => 'Crazy User'],
|
||||
self::CLASS_INSANE_USER => ['text' => 'Insane User'],
|
||||
self::CLASS_VETERAN_USER => ['text' => 'Veteran User'],
|
||||
self::CLASS_EXTREME_USER => ['text' => 'Extreme User'],
|
||||
self::CLASS_ULTIMATE_USER => ['text' => 'Ultimate User'],
|
||||
self::CLASS_NEXUS_MASTER => ['text' => 'Nexus Master'],
|
||||
self::CLASS_USER => ['text' => 'User', 'min_seed_points' => 0],
|
||||
self::CLASS_POWER_USER => ['text' => 'Power User', 'min_seed_points' => 40000],
|
||||
self::CLASS_ELITE_USER => ['text' => 'Elite User', 'min_seed_points' => 80000],
|
||||
self::CLASS_CRAZY_USER => ['text' => 'Crazy User', 'min_seed_points' => 150000],
|
||||
self::CLASS_INSANE_USER => ['text' => 'Insane User', 'min_seed_points' => 250000],
|
||||
self::CLASS_VETERAN_USER => ['text' => 'Veteran User', 'min_seed_points' => 400000],
|
||||
self::CLASS_EXTREME_USER => ['text' => 'Extreme User', 'min_seed_points' => 600000],
|
||||
self::CLASS_ULTIMATE_USER => ['text' => 'Ultimate User', 'min_seed_points' => 800000],
|
||||
self::CLASS_NEXUS_MASTER => ['text' => 'Nexus Master', 'min_seed_points' => 1000000],
|
||||
self::CLASS_VIP => ['text' => 'Vip'],
|
||||
self::CLASS_RETIREE => ['text' => 'Retiree'],
|
||||
self::CLASS_UPLOADER => ['text' => 'Uploader'],
|
||||
@@ -161,6 +162,20 @@ class User extends Authenticatable
|
||||
return 'en';
|
||||
}
|
||||
|
||||
public static function getMinSeedPoints($class)
|
||||
{
|
||||
$setting = Setting::get("account.{$class}_min_seed_points");
|
||||
if (is_numeric($setting)) {
|
||||
return $setting;
|
||||
}
|
||||
return self::$classes[$class]['min_seed_points'] ?? false;
|
||||
}
|
||||
|
||||
public function scopeNormal(Builder $query): Builder
|
||||
{
|
||||
return $query->where('status', self::STATUS_CONFIRMED)->where('enabled', self::ENABLED_YES);
|
||||
}
|
||||
|
||||
|
||||
public function exams()
|
||||
{
|
||||
@@ -215,6 +230,11 @@ class User extends Authenticatable
|
||||
return $this->hasMany(Torrent::class, 'owner');
|
||||
}
|
||||
|
||||
public function bookmarks(): \Illuminate\Database\Eloquent\Relations\HasMany
|
||||
{
|
||||
return $this->hasMany(Bookmark::class, 'userid');
|
||||
}
|
||||
|
||||
|
||||
public function peers_torrents()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user