Add ReleasesController

This commit is contained in:
DariusIII
2018-04-18 15:57:21 +02:00
parent a30a9a25a5
commit 82f8800e08
28 changed files with 160 additions and 215 deletions
+1
View File
@@ -1,4 +1,5 @@
2018-04-18 DariusIII
* Chg: Add ReleasesController
* Chg: Add MgrPosterController
* Chg: Add TmuxController
* Chg: Add AjaxController, update utils-admin.js
@@ -0,0 +1,119 @@
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\BasePageController;
use App\Models\Category;
use App\Models\Release;
use Blacklight\Releases;
use Illuminate\Http\Request;
class ReleasesController extends BasePageController
{
/**
* @param \Illuminate\Http\Request $request
*
* @throws \Exception
*/
public function index()
{
$this->setAdminPrefs();
$title = 'Release List';
$pager = $this->smarty->fetch('pager.tpl');
$this->smarty->assign('pager', $pager);
$releaseList = Release::getReleasesRange();
$this->smarty->assign('releaselist', $releaseList);
$content = $this->smarty->fetch('release-list.tpl');
$this->smarty->assign(
[
'title' => $title,
'content' => $content,
]
);
$this->adminrender();
}
/**
* @param \Illuminate\Http\Request $request
*
* @throws \Exception
*/
public function edit(Request $request)
{
$this->setAdminPrefs();
// Set the current action.
$action = ($request->input('action') ?? 'view');
switch ($action) {
case 'submit':
Release::updateRelease(
$request->input('id'),
$request->input('name'),
$request->input('searchname'),
$request->input('fromname'),
$request->input('category'),
$request->input('totalpart'),
$request->input('grabs'),
$request->input('size'),
$request->input('postdate'),
$request->input('adddate'),
$request->input('videos_id'),
$request->input('tv_episodes_id'),
$request->input('imdbid'),
$request->input('anidbid')
);
$release = Release::getByGuid($request->input('guid'));
$this->smarty->assign('release', $release);
return redirect('details/'.$release['guid']);
break;
case 'view':
default:
$title = 'Release Edit';
$id = $request->input('id');
$release = Release::getByGuid($id);
$this->smarty->assign('release', $release);
break;
}
$this->smarty->assign('yesno_ids', [1, 0]);
$this->smarty->assign('yesno_names', ['Yes', 'No']);
$this->smarty->assign('catlist', Category::getForSelect(false));
$content = $this->smarty->fetch('release-edit.tpl');
$this->smarty->assign(
[
'title' => $title,
'content' => $content,
]
);
$this->adminrender();
}
/**
* @param $id
*
* @return \Illuminate\Http\RedirectResponse
* @throws \Exception
*/
public function destroy($id)
{
if ($id) {
$releases = new Releases(['Settings' => $this->pdo]);
$releases->deleteMultiple($id);
}
return redirect()->back();
}
}
+6 -11
View File
@@ -325,13 +325,11 @@ class Release extends Model
* Used for admin page release-list.
*
*
* @param $start
* @param $num
* @return \Illuminate\Database\Eloquent\Collection|\Illuminate\Support\Collection|static[]
* @return \Illuminate\Contracts\Pagination\LengthAwarePaginator|mixed
*/
public static function getReleasesRange($start, $num)
public static function getReleasesRange()
{
$range = Cache::get(md5($start.$num));
$range = Cache::get('range');
if ($range !== null) {
return $range;
}
@@ -353,15 +351,12 @@ class Release extends Model
->selectRaw('CONCAT(cp.title, ' > ', c.title) AS category_name')
->leftJoin('categories as c', 'c.id', '=', 'releases.categories_id')
->leftJoin('categories as cp', 'cp.id', '=', 'c.parentid')
->orderBy('releases.postdate', 'desc');
if ($start !== false) {
$query->limit($num)->offset($start);
}
->orderByDesc('releases.postdate');
$range = $query->get();
$range = $query->paginate(config('nntmux.items_per_page'));
$expiresAt = Carbon::now()->addSeconds(config('nntmux.cache_expiry_medium'));
Cache::put(md5($start.$num), $range, $expiresAt);
Cache::put('range', $range, $expiresAt);
return $range;
}
-16
View File
@@ -1,16 +0,0 @@
<?php
require_once dirname(__DIR__, 2).DIRECTORY_SEPARATOR.'resources/views/themes/smarty.php';
use Blacklight\Releases;
use Blacklight\http\BasePage;
$page = new BasePage();
if (request()->has('id')) {
$releases = new Releases(['Settings' => $page->pdo]);
$releases->deleteMultiple(request()->input('id'));
}
$referrer = request()->server('HTTP_REFERER');
header('Location: '.$referrer);
-57
View File
@@ -1,57 +0,0 @@
<?php
require_once dirname(__DIR__, 2).DIRECTORY_SEPARATOR.'resources/views/themes/smarty.php';
use App\Models\Release;
use App\Models\Category;
use Blacklight\Releases;
use Blacklight\http\BasePage;
$page = new BasePage();
$page->setAdminPrefs();
$releases = new Releases(['Settings' => $page->pdo]);
$id = 0;
// Set the current action.
$action = (request()->input('action') ?? 'view');
switch ($action) {
case 'submit':
Release::updateRelease(
request()->input('id'),
request()->input('name'),
request()->input('searchname'),
request()->input('fromname'),
request()->input('category'),
request()->input('totalpart'),
request()->input('grabs'),
request()->input('size'),
request()->input('postdate'),
request()->input('adddate'),
request()->input('videos_id'),
request()->input('tv_episodes_id'),
request()->input('imdbid'),
request()->input('anidbid')
);
$release = Release::getByGuid(request()->input('guid'));
$page->smarty->assign('release', $release);
header('Location:'.WWW_TOP.'/../details/'.$release['guid']);
break;
case 'view':
default:
$page->title = 'Release Edit';
$id = request()->input('id');
$release = Release::getByGuid($id);
$page->smarty->assign('release', $release);
break;
}
$page->smarty->assign('yesno_ids', [1, 0]);
$page->smarty->assign('yesno_names', ['Yes', 'No']);
$page->smarty->assign('catlist', Category::getForSelect(false));
$page->content = $page->smarty->fetch('release-edit.tpl');
$page->adminrender();
-46
View File
@@ -1,46 +0,0 @@
<?php
require_once dirname(__DIR__, 2).DIRECTORY_SEPARATOR.'resources/views/themes/smarty.php';
use Blacklight\NZB;
use Blacklight\db\DB;
use App\Models\Release;
use App\Models\Settings;
use Blacklight\http\BasePage;
$page = new BasePage();
$page->setAdminPrefs();
$pdo = new DB();
$nzb = new NZB();
if (request()->has('id')) {
$rel = Release::getByGuid(request()->input('id'));
if (! $rel) {
$page->show404();
}
$nzbpath = $nzb->getNZBPath(request()->input('id'), Settings::settingValue('..nzbpath'));
if (! file_exists($nzbpath)) {
$page->show404();
}
ob_start();
@readgzfile($nzbpath);
$nzbfile = ob_get_contents();
ob_end_clean();
$ret = $nzb->nzbFileList($nzbfile);
$page->smarty->assign('rel', $rel);
$page->smarty->assign('files', $ret);
$page->title = 'File List';
$page->meta_title = 'View Nzb file list';
$page->meta_keywords = 'view,nzb,file,list,description,details';
$page->meta_description = 'View Nzb File List';
$page->content = $page->smarty->fetch('release-files.tpl');
$page->adminrender();
}
-32
View File
@@ -1,32 +0,0 @@
<?php
require_once dirname(__DIR__, 2).DIRECTORY_SEPARATOR.'resources/views/themes/smarty.php';
use App\Models\Release;
use Blacklight\http\BasePage;
$page = new BasePage();
$page->setAdminPrefs();
$page->title = 'Release List';
$releasecount = Release::getReleasesCount();
$offset = request()->input('offset') ?? 0;
$page->smarty->assign([
'pagertotalitems' => $releasecount,
'pagerquerysuffix' => '#results',
'pageroffset' => $offset,
'pageritemsperpage' => config('nntmux.items_per_page'),
'pagerquerybase' => WWW_TOP.'/release-list.php?offset=',
]);
$pager = $page->smarty->fetch('pager.tpl');
$page->smarty->assign('pager', $pager);
$releaselist = Release::getReleasesRange($offset, config('nntmux.items_per_page'));
$page->smarty->assign('releaselist', $releaselist);
$page->content = $page->smarty->fetch('release-list.tpl');
$page->adminrender();
+1 -1
View File
@@ -135,7 +135,7 @@
{if isset($isadmin)}
<a
class="label label-warning"
href="{$smarty.const.WWW_TOP}/admin/release-edit.php?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
title="Edit release">
Edit</a>{/if}
<br/>
+1 -1
View File
@@ -145,7 +145,7 @@
ago</span>
{if isset($isadmin)}<a
class="label label-warning"
href="{$smarty.const.WWW_TOP}/admin/release-edit.php?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
title="Edit release">
Edit</a>{/if}
<br/>
+1 -1
View File
@@ -116,7 +116,7 @@
<span class="label label-default">Posted {$mpostdate[$m@index]|timeago}
ago</span>
{if isset($isadmin)}<a class="label label-warning"
href="{$smarty.const.WWW_TOP}/admin/release-edit.php?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
title="Edit release">
Edit</a>{/if}
<br/>
+2 -2
View File
@@ -16,10 +16,10 @@
<i class ="zmdi zmdi-thumbs-o-up"></i> {$release.grabs} Grab{if $release.grabs != 1}s{/if} / <i class ="zmdi zmdi-thumbs-o-down"></i> {$failed} Failed Download{if $failed != 1}s{/if}</span>{/if}</h1>
{if isset($isadmin)}
<a class="label label-warning"
href="{$smarty.const.WWW_TOP}/admin/release-edit.php?id={$release.guid}"
href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$release.guid}"
title="Edit release">Edit</a>
<a class="label label-danger"
href="{$smarty.const.WWW_TOP}/admin/release-delete.php?id={$release.guid}"
href="{$smarty.const.WWW_TOP}/admin/release-delete/{$release.guid}"
title="Delete release">Delete</a>
{/if}
{if $movie && $release.videos_id <= 0 && $movie.imdbid > 0}
@@ -219,10 +219,10 @@
{if isset($isadmin)}
<br/>
<a class="label label-warning"
href="{$smarty.const.WWW_TOP}/admin/release-edit.php?id={$result.id}&amp;from={$smarty.server.REQUEST_URI|escape:"url"}"
href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$result.id}&amp;from={$smarty.server.REQUEST_URI|escape:"url"}"
title="Edit Release">Edit</a>
<a class="label label-danger"
href="{$smarty.const.WWW_TOP}/admin/release-delete.php?id={$result.id}&amp;from={$smarty.server.REQUEST_URI|escape:"url"}"
href="{$smarty.const.WWW_TOP}/admin/release-delete/{$result.id}&amp;from={$smarty.server.REQUEST_URI|escape:"url"}"
title="Delete Release">Delete</a>
{/if}
</td>
+2 -2
View File
@@ -179,10 +179,10 @@
title="View similar nzbs">Similar</a>
{if isset($isadmin)}
<a class="rndbtn btn btn-mini btn-warning"
href="{$smarty.const.WWW_TOP}/admin/release-edit.php?id={$result.releases_id}&amp;from={$smarty.server.REQUEST_URI|escape:"url"}"
href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$result.releases_id}&amp;from={$smarty.server.REQUEST_URI|escape:"url"}"
title="Edit Release">Edit</a>
<a class="rndbtn confirm_action btn btn-mini btn-danger"
href="{$smarty.const.WWW_TOP}/admin/release-delete.php?id={$result.releases_id}&amp;from={$smarty.server.REQUEST_URI|escape:"url"}"
href="{$smarty.const.WWW_TOP}/admin/release-delete/{$result.releases_id}&amp;from={$smarty.server.REQUEST_URI|escape:"url"}"
title="Delete Release">Delete</a>
{/if}
<br/>
+2 -2
View File
@@ -187,8 +187,8 @@
{/if}
</li>
{if isset($isadmin)}
<a class="rndbtn confirm_action btn btn-mini btn-danger pull-right" href="{$smarty.const.WWW_TOP}/admin/release-delete.php?id={$result.releases_id}&amp;from={$smarty.server.REQUEST_URI|escape:"url"}" title="Delete Release">Delete</a>
<a class="rndbtn btn btn-mini btn-warning pull-right" href="{$smarty.const.WWW_TOP}/admin/release-edit.php?id={$result.releases_id}&amp;from={$smarty.server.REQUEST_URI|escape:"url"}" title="Edit Release">Edit</a>
<a class="rndbtn confirm_action btn btn-mini btn-danger pull-right" href="{$smarty.const.WWW_TOP}/admin/release-delete/{$result.releases_id}&amp;from={$smarty.server.REQUEST_URI|escape:"url"}" title="Delete Release">Delete</a>
<a class="rndbtn btn btn-mini btn-warning pull-right" href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$result.releases_id}&amp;from={$smarty.server.REQUEST_URI|escape:"url"}" title="Edit Release">Edit</a>
{/if}
</ul>
{if isset($result.genre) && $result.genre != ""}
+2 -2
View File
@@ -43,8 +43,8 @@
<div class="well well-sm pull-right">
Admin :
<div class="btn-group">
<a href="{$smarty.const.WWW_TOP}/admin/release-edit.php?id={$release.guid}" class="btn btn-small btn-warning" >Edit</a>
<a href="{$smarty.const.WWW_TOP}/admin/release-delete.php?id={$release.guid}" class=" btn btn-small btn-danger" >Delete</a>
<a href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$release.guid}" class="btn btn-small btn-warning" >Edit</a>
<a href="{$smarty.const.WWW_TOP}/admin/release-delete/{$release.guid}" class=" btn btn-small btn-danger" >Delete</a>
</div>
</div>
{/if}
+1 -1
View File
@@ -135,7 +135,7 @@
{if isset($isadmin)}
<a
class="label label-warning"
href="{$smarty.const.WWW_TOP}/admin/release-edit.php?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
title="Edit release">
Edit</a>{/if}
<br/>
+1 -1
View File
@@ -145,7 +145,7 @@
ago</span>
{if isset($isadmin)}<a
class="label label-warning"
href="{$smarty.const.WWW_TOP}/admin/release-edit.php?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
title="Edit release">
Edit</a>{/if}
<br/>
+1 -1
View File
@@ -129,7 +129,7 @@
<span class="label label-primary">Posted {$mpostdate[$m@index]|timeago}
ago</span>
{if isset($isadmin)}<a class="label label-warning"
href="{$smarty.const.WWW_TOP}/admin/release-edit.php?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
title="Edit release">
Edit</a>{/if}
<br/>
+2 -2
View File
@@ -19,10 +19,10 @@
{$failed} Failed Download{if $failed != 1}s{/if}</span>{/if}</h1>
{if isset($isadmin)}
<a class="label label-warning"
href="{$smarty.const.WWW_TOP}/admin/release-edit.php?id={$release.guid}"
href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$release.guid}"
title="Edit release">Edit</a>
<a class="label label-danger"
href="{$smarty.const.WWW_TOP}/admin/release-delete.php?id={$release.guid}"
href="{$smarty.const.WWW_TOP}/admin/release-delete/{$release.guid}"
title="Delete release">Delete</a>
{/if}
{if $movie && $release.videos_id <= 0 }
+1 -1
View File
@@ -137,7 +137,7 @@
{if isset($isadmin)}
<a
class="label label-warning"
href="{$smarty.const.WWW_TOP}/admin/release-edit.php?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
title="Edit release">
Edit</a>{/if}
<br/>
+1 -1
View File
@@ -145,7 +145,7 @@
ago</span>
{if isset($isadmin)}<a
class="label label-warning"
href="{$smarty.const.WWW_TOP}/admin/release-edit.php?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
title="Edit release">
Edit</a>{/if}
<br/>
+1 -1
View File
@@ -116,7 +116,7 @@
<span class="label label-default">Posted {$mpostdate[$m@index]|timeago}
ago</span>
{if isset($isadmin)}<a class="label label-warning"
href="{$smarty.const.WWW_TOP}/admin/release-edit.php?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$result.grp_release_id}&amp;from={$smarty.server.REQUEST_URI}"
title="Edit release">
Edit</a>{/if}
<br/>
+2 -2
View File
@@ -16,10 +16,10 @@
<i class ="fa fa-thumbs-o-up"></i> {$release.grabs} Grab{if $release.grabs != 1}s{/if} / <i class ="fa fa-thumbs-o-down"></i> {$failed} Failed Download{if $failed != 1}s{/if}</span>{/if}</h1>
{if isset($isadmin)}
<a class="label label-warning"
href="{$smarty.const.WWW_TOP}/admin/release-edit.php?id={$release.guid}"
href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$release.guid}"
title="Edit release">Edit</a>
<a class="label label-danger"
href="{$smarty.const.WWW_TOP}/admin/release-delete.php?id={$release.guid}"
href="{$smarty.const.WWW_TOP}/admin/release-delete/{$release.guid}"
title="Delete release">Delete</a>
{/if}
{if $movie && $release.videos_id <= 0 && $movie.imdbid > 0}
@@ -219,10 +219,10 @@
{if isset($isadmin)}
<br/>
<a class="label label-warning"
href="{$smarty.const.WWW_TOP}/admin/release-edit.php?id={$result.id}&amp;from={$smarty.server.REQUEST_URI|escape:"url"}"
href="{$smarty.const.WWW_TOP}/admin/release-edit?id={$result.id}&amp;from={$smarty.server.REQUEST_URI|escape:"url"}"
title="Edit Release">Edit</a>
<a class="label label-danger"
href="{$smarty.const.WWW_TOP}/admin/release-delete.php?id={$result.id}&amp;from={$smarty.server.REQUEST_URI|escape:"url"}"
href="{$smarty.const.WWW_TOP}/admin/release-delete/{$result.id}&amp;from={$smarty.server.REQUEST_URI|escape:"url"}"
title="Delete Release">Delete</a>
{/if}
</td>
@@ -28,8 +28,8 @@
<td class="less">{$release.adddate|date_format}</td>
<td class="less mid">{$release.grabs}</td>
<td>
{if $release.guid}<a href="{$smarty.const.WWW_TOP}/../details/{$release.guid}">view</a> |{/if}
<a href="{$smarty.const.WWW_TOP}/release-delete?id={$release.guid}">delete</a></td>
{if $release.guid}<a href="{$smarty.const.WWW_TOP}/details/{$release.guid}">view</a> |{/if}
<a href="{$smarty.const.WWW_TOP}/admin/release-delete/{$release.guid}">delete</a></td>
</tr>
{/foreach}
@@ -1,25 +0,0 @@
<div class="well well-sm">
<h1>{$title}</h1>
<h2>For {$rel.searchname|escape:'htmlall'}</h2>
<table style="width:100%;" class="data table table-striped responsive-utilities jambo-table Sortable">
<tr>
<th>#</th>
<th>filename</th>
<th>size</th>
<th>date</th>
</tr>
{foreach from=$binaries item=binary}
<tr>
<td width="20" title="{$binary.relpart}/{$binary.reltotalpart}">{$binary.relpart}</td>
<td title="{$binary.name|escape:'htmlall'}">{$binary.filename}</td>
<td class="less">{$binary.size|fsize_format:"MB"}</td>
<td class="less" title="{$binary.date}">{$binary.date|date_format}</td>
</tr>
{/foreach}
</table>
</div>
@@ -27,7 +27,7 @@
<td class="less">{$release.postdate|date_format}</td>
<td class="less">{$release.adddate|date_format}</td>
<td class="less mid">{$release.grabs}</td>
<td><a href="{$smarty.const.WWW_TOP}/release-delete?id={$release.guid}">delete</a></td>
<td><a href="{$smarty.const.WWW_TOP}/admin/release-delete/{$release.guid}">delete</a></td>
</tr>
{/foreach}
+6
View File
@@ -268,5 +268,11 @@ Route::prefix('admin')->group(function () {
Route::post('posters-edit', 'MgrPosterController@edit');
Route::get('poster-delete/{id}', 'MgrPosterController@destroy');
Route::post('poster-delete/{id}', 'MgrPosterController@destroy');
Route::get('release-list', 'ReleasesController@index');
Route::post('release-list', 'ReleasesController@index');
Route::get('release-edit', 'ReleasesController@edit');
Route::post('release-edit', 'ReleasesController@edit');
Route::get('release-delete/{id}', 'ReleasesController@destroy');
Route::post('release-delete/{id}', 'ReleasesController@destroy');
});
});