diff --git a/Changelog b/Changelog index 399a23c8e..4a4261e96 100755 --- a/Changelog +++ b/Changelog @@ -1,4 +1,5 @@ 2017-11-16 DariusIII + * Chg: Rename and update MultigroupPosters class * Chg: Update composer.lock 2017-11-15 DariusIII * Chg: Use Cache facade in Genres class diff --git a/app/Models/MultigroupPosters.php b/app/Models/MultigroupPoster.php similarity index 83% rename from app/Models/MultigroupPosters.php rename to app/Models/MultigroupPoster.php index 673b7e9cf..5e62a019a 100644 --- a/app/Models/MultigroupPosters.php +++ b/app/Models/MultigroupPoster.php @@ -21,16 +21,28 @@ namespace App\Models; use Illuminate\Database\Eloquent\Model; -class MultigroupPosters extends Model +class MultigroupPoster extends Model { - protected $table = 'multigroup_posters'; - - protected $fillable = ['id', 'poster']; + /** + * @var array + */ + protected $guarded = []; + /** + * @var bool + */ public $dateFormat = false; + /** + * @var bool + */ public $timestamps = false; + /** + * @var bool + */ + public $incrementing = false; + /** * @return string */ diff --git a/nntmux/Binaries.php b/nntmux/Binaries.php index 1ef821dd6..6a1308aa8 100755 --- a/nntmux/Binaries.php +++ b/nntmux/Binaries.php @@ -2,6 +2,8 @@ namespace nntmux; +use App\Models\MultigroupPoster; +use Illuminate\Support\Facades\Cache; use nntmux\db\DB; use Carbon\Carbon; use App\Models\Group; @@ -1787,16 +1789,21 @@ class Binaries /** * Returns all multigroup poster entries from the database. * - * @return array + * + * @return \Illuminate\Database\Eloquent\Collection|static[] */ - protected function getMultiGroupPosters(): array + protected function getMultiGroupPosters() { - return $this->_pdo->query( - ' - SELECT poster - FROM multigroup_posters', - true, - NN_CACHE_EXPIRY_SHORT - ); + $query = MultigroupPoster::query()->select(['poster']); + $poster = Cache::get(md5($query)); + if ($poster !== null) { + return $poster; + } + + $poster = $query->get(); + $expiresAt = Carbon::now()->addSeconds(NN_CACHE_EXPIRY_SHORT); + Cache::put(md5($query), $poster, $expiresAt); + + return $poster; } } diff --git a/nntmux/processing/ProcessReleases.php b/nntmux/processing/ProcessReleases.php index a4212dbac..3522d049e 100755 --- a/nntmux/processing/ProcessReleases.php +++ b/nntmux/processing/ProcessReleases.php @@ -21,7 +21,7 @@ use nntmux\RequestIDLocal; use nntmux\ReleaseCleaning; use App\Models\ReleaseRegex; use App\Models\ReleasesGroups; -use App\Models\MultigroupPosters; +use App\Models\MultigroupPoster; class ProcessReleases { @@ -556,7 +556,7 @@ class ProcessReleases */ protected function formFromNamesQuery(): void { - $posters = MultigroupPosters::commaSeparatedList(); + $posters = MultigroupPoster::commaSeparatedList(); $this->fromNamesQuery = sprintf("AND r.fromname NOT IN('%s')", $posters); } @@ -609,7 +609,8 @@ class ProcessReleases str_replace(['#', '@', '$', '%', '^', '§', '¨', '©', 'Ö'], '', $collection['subject']) ) ); - $fromName = utf8_encode(trim($collection['fromname'], "'") + $fromName = utf8_encode( + trim($collection['fromname'], "'") ); // Look for duplicates, duplicates match on releases.name, releases.fromname and releases.size diff --git a/nntmux/processing/ProcessReleasesMultiGroup.php b/nntmux/processing/ProcessReleasesMultiGroup.php index 9a8890c71..11bbf8f3a 100644 --- a/nntmux/processing/ProcessReleasesMultiGroup.php +++ b/nntmux/processing/ProcessReleasesMultiGroup.php @@ -3,7 +3,7 @@ namespace nntmux\processing; use nntmux\NZBMultiGroup; -use App\Models\MultigroupPosters; +use App\Models\MultigroupPoster; class ProcessReleasesMultiGroup extends ProcessReleases { @@ -42,7 +42,7 @@ class ProcessReleasesMultiGroup extends ProcessReleases */ public static function isMultiGroup($fromName): bool { - $poster = MultigroupPosters::query()->where('poster', '=', $fromName)->first(); + $poster = MultigroupPoster::query()->where('poster', '=', $fromName)->first(); return empty($poster) ? false : true; } @@ -67,10 +67,10 @@ class ProcessReleasesMultiGroup extends ProcessReleases public static function tableNames(): array { return [ - 'cname' => 'multigroup_collections', - 'bname' => 'multigroup_binaries', - 'pname' => 'multigroup_parts', - 'prname' => 'multigroup_missed_parts', - ]; + 'cname' => 'multigroup_collections', + 'bname' => 'multigroup_binaries', + 'pname' => 'multigroup_parts', + 'prname' => 'multigroup_missed_parts', + ]; } } diff --git a/public/admin/poster-delete.php b/public/admin/poster-delete.php index 6a7003b11..595396aa2 100644 --- a/public/admin/poster-delete.php +++ b/public/admin/poster-delete.php @@ -2,12 +2,12 @@ require_once dirname(__DIR__).DIRECTORY_SEPARATOR.'smarty.php'; -use App\Models\MultigroupPosters; +use App\Models\MultigroupPoster; $page = new AdminPage(); if (isset($_GET['id'])) { - MultigroupPosters::query()->where('id', '=', $_GET['id'])->delete(); + MultigroupPoster::query()->where('id', '=', $_GET['id'])->delete(); } if (isset($_GET['from'])) { diff --git a/public/admin/posters-edit.php b/public/admin/posters-edit.php index 2109555b8..08335a248 100644 --- a/public/admin/posters-edit.php +++ b/public/admin/posters-edit.php @@ -2,7 +2,7 @@ require_once dirname(__DIR__).DIRECTORY_SEPARATOR.'smarty.php'; -use App\Models\MultigroupPosters; +use App\Models\MultigroupPoster; use nntmux\processing\ProcessReleasesMultiGroup; $page = new AdminPage(); @@ -15,10 +15,10 @@ switch ($action) { case 'submit': if ($_POST['id'] === '') { // Add a new mg poster. - $poster = MultigroupPosters::query()->create(['poster' => $_POST['poster']]); + $poster = MultigroupPoster::query()->create(['poster' => $_POST['poster']]); } else { // Update an existing mg poster. - $poster = MultigroupPosters::query()->where('id', '=', $_POST['id'])->update(['poster' => $_POST['poster']]); + $poster = MultigroupPoster::query()->where('id', '=', $_POST['id'])->update(['poster' => $_POST['poster']]); } header('Location:'.WWW_TOP.'/posters-list.php'); @@ -28,7 +28,7 @@ switch ($action) { default: if (! empty($_GET['id'])) { $page->title = 'MultiGroup Poster Edit'; - $poster = MultigroupPosters::query()->where('id', '=', $_GET['id'])->firstOrFail(); + $poster = MultigroupPoster::query()->where('id', '=', $_GET['id'])->firstOrFail(); } else { $page->title = 'MultiGroup Poster Add'; $poster = ''; diff --git a/public/admin/posters-list.php b/public/admin/posters-list.php index a58033049..5f514667a 100644 --- a/public/admin/posters-list.php +++ b/public/admin/posters-list.php @@ -2,22 +2,22 @@ require_once dirname(__DIR__).DIRECTORY_SEPARATOR.'smarty.php'; -use App\Models\MultigroupPosters; +use App\Models\MultigroupPoster; $page = new AdminPage(); -$posters = MultigroupPosters::all('id', 'poster')->sortBy('poster'); +$posters = MultigroupPoster::all('id', 'poster')->sortBy('poster'); $postersCheck = $posters->first(); $poster = isset($_REQUEST['poster']) && ! empty($_REQUEST['poster']) ? $_REQUEST['poster'] : ''; $page->smarty->assign( - [ - 'poster' => $poster, - 'posters' => $posters, - 'check' => $postersCheck, - ] + [ + 'poster' => $poster, + 'posters' => $posters, + 'check' => $postersCheck, + ] ); $page->title = 'MultiGroup Posters List';