Loading app/Controllers/HomeController.php +6 −6 Original line number Diff line number Diff line Loading @@ -11,25 +11,25 @@ declare(strict_types=1); namespace App\Controllers; use App\Models\PodcastModel; use CodeIgniter\Database\Exceptions\DatabaseException; use CodeIgniter\HTTP\RedirectResponse; use Config\Services; use mysqli_sql_exception; class HomeController extends BaseController { public function index(): RedirectResponse | string { try { $allPodcasts = (new PodcastModel())->findAll(); } catch (mysqli_sql_exception | DatabaseException) { // An error was caught when retrieving the podcasts from the database. $connections = \CodeIgniter\Database\Config::getConnections(); $db = db_connect(); if ($connections === [] || ! $db->tableExists('podcasts')) { // Cannot connect to the database or cannot find the podcasts table // Redirecting to install page because it is likely that Castopod Host has not been installed yet. // NB: as base_url wouldn't have been defined here, redirect to install wizard manually $route = Services::routes()->reverseRoute('install'); return redirect()->to(rtrim(host_url(), '/') . $route); } $allPodcasts = (new PodcastModel())->findAll(); // check if there's only one podcast to redirect user to it if (count($allPodcasts) === 1) { return redirect()->route('podcast-activity', [$allPodcasts[0]->name]); Loading app/Controllers/NoteController.php +8 −12 Original line number Diff line number Diff line Loading @@ -39,28 +39,24 @@ class NoteController extends ActivityPubNoteController public function _remap(string $method, string ...$params): mixed { if (count($params) < 2) { throw PageNotFoundException::forPageNotFound(); } if ( ($this->podcast = (new PodcastModel())->getPodcastByName($params[0])) === null ($podcast = (new PodcastModel())->getPodcastByName($params[0],)) === null ) { throw PageNotFoundException::forPageNotFound(); } $this->podcast = $podcast; $this->actor = $this->podcast->actor; if ( ($note = (new NoteModel())->getNoteById($params[1])) === null count($params) > 1 && ($note = (new NoteModel())->getNoteById($params[1])) !== null ) { throw PageNotFoundException::forPageNotFound(); } $this->note = $note; unset($params[0]); unset($params[1]); } return $this->{$method}(...$params); } Loading app/Controllers/PodcastController.php +1 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ class PodcastController extends BaseController $this->podcast = $podcast; unset($params[0]); return $this->{$method}(...$params); } Loading app/Libraries/ActivityPub/Controllers/ActorController.php +4 −4 Original line number Diff line number Diff line Loading @@ -272,9 +272,9 @@ class ActorController extends Controller ->where('`created_at` <= NOW()', null, false) ->orderBy('created_at', 'DESC'); $pageNumber = $this->request->getGet('page'); $pageNumber = (int) $this->request->getGet('page'); if (! isset($pageNumber)) { if ($pageNumber < 1) { $actorActivity->paginate(12); $pager = $actorActivity->pager; $collection = new OrderedCollectionObject(null, $pager); Loading Loading @@ -304,9 +304,9 @@ class ActorController extends Controller ->where('activitypub_follows.target_actor_id', $this->actor->id) ->orderBy('activitypub_follows.created_at', 'DESC'); $pageNumber = $this->request->getGet('page'); $pageNumber = (int) $this->request->getGet('page'); if (! isset($pageNumber)) { if ($pageNumber < 1) { $followers->paginate(12); $pager = $followers->pager; $followersCollection = new OrderedCollectionObject(null, $pager); Loading app/Libraries/ActivityPub/Controllers/NoteController.php +2 −6 Original line number Diff line number Diff line Loading @@ -39,10 +39,6 @@ class NoteController extends Controller public function _remap(string $method, string ...$params): mixed { if (count($params) < 1) { throw PageNotFoundException::forPageNotFound(); } if (($note = model('NoteModel')->getNoteById($params[0])) === null) { throw PageNotFoundException::forPageNotFound(); } Loading Loading @@ -80,9 +76,9 @@ class NoteController extends Controller ->where('`published_at` <= NOW()', null, false) ->orderBy('published_at', 'ASC'); $pageNumber = $this->request->getGet('page'); $pageNumber = (int) $this->request->getGet('page'); if (! isset($pageNumber)) { if ($pageNumber < 1) { $noteReplies->paginate(12); $pager = $noteReplies->pager; $collection = new OrderedCollectionObject(null, $pager); Loading Loading
app/Controllers/HomeController.php +6 −6 Original line number Diff line number Diff line Loading @@ -11,25 +11,25 @@ declare(strict_types=1); namespace App\Controllers; use App\Models\PodcastModel; use CodeIgniter\Database\Exceptions\DatabaseException; use CodeIgniter\HTTP\RedirectResponse; use Config\Services; use mysqli_sql_exception; class HomeController extends BaseController { public function index(): RedirectResponse | string { try { $allPodcasts = (new PodcastModel())->findAll(); } catch (mysqli_sql_exception | DatabaseException) { // An error was caught when retrieving the podcasts from the database. $connections = \CodeIgniter\Database\Config::getConnections(); $db = db_connect(); if ($connections === [] || ! $db->tableExists('podcasts')) { // Cannot connect to the database or cannot find the podcasts table // Redirecting to install page because it is likely that Castopod Host has not been installed yet. // NB: as base_url wouldn't have been defined here, redirect to install wizard manually $route = Services::routes()->reverseRoute('install'); return redirect()->to(rtrim(host_url(), '/') . $route); } $allPodcasts = (new PodcastModel())->findAll(); // check if there's only one podcast to redirect user to it if (count($allPodcasts) === 1) { return redirect()->route('podcast-activity', [$allPodcasts[0]->name]); Loading
app/Controllers/NoteController.php +8 −12 Original line number Diff line number Diff line Loading @@ -39,28 +39,24 @@ class NoteController extends ActivityPubNoteController public function _remap(string $method, string ...$params): mixed { if (count($params) < 2) { throw PageNotFoundException::forPageNotFound(); } if ( ($this->podcast = (new PodcastModel())->getPodcastByName($params[0])) === null ($podcast = (new PodcastModel())->getPodcastByName($params[0],)) === null ) { throw PageNotFoundException::forPageNotFound(); } $this->podcast = $podcast; $this->actor = $this->podcast->actor; if ( ($note = (new NoteModel())->getNoteById($params[1])) === null count($params) > 1 && ($note = (new NoteModel())->getNoteById($params[1])) !== null ) { throw PageNotFoundException::forPageNotFound(); } $this->note = $note; unset($params[0]); unset($params[1]); } return $this->{$method}(...$params); } Loading
app/Controllers/PodcastController.php +1 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ class PodcastController extends BaseController $this->podcast = $podcast; unset($params[0]); return $this->{$method}(...$params); } Loading
app/Libraries/ActivityPub/Controllers/ActorController.php +4 −4 Original line number Diff line number Diff line Loading @@ -272,9 +272,9 @@ class ActorController extends Controller ->where('`created_at` <= NOW()', null, false) ->orderBy('created_at', 'DESC'); $pageNumber = $this->request->getGet('page'); $pageNumber = (int) $this->request->getGet('page'); if (! isset($pageNumber)) { if ($pageNumber < 1) { $actorActivity->paginate(12); $pager = $actorActivity->pager; $collection = new OrderedCollectionObject(null, $pager); Loading Loading @@ -304,9 +304,9 @@ class ActorController extends Controller ->where('activitypub_follows.target_actor_id', $this->actor->id) ->orderBy('activitypub_follows.created_at', 'DESC'); $pageNumber = $this->request->getGet('page'); $pageNumber = (int) $this->request->getGet('page'); if (! isset($pageNumber)) { if ($pageNumber < 1) { $followers->paginate(12); $pager = $followers->pager; $followersCollection = new OrderedCollectionObject(null, $pager); Loading
app/Libraries/ActivityPub/Controllers/NoteController.php +2 −6 Original line number Diff line number Diff line Loading @@ -39,10 +39,6 @@ class NoteController extends Controller public function _remap(string $method, string ...$params): mixed { if (count($params) < 1) { throw PageNotFoundException::forPageNotFound(); } if (($note = model('NoteModel')->getNoteById($params[0])) === null) { throw PageNotFoundException::forPageNotFound(); } Loading Loading @@ -80,9 +76,9 @@ class NoteController extends Controller ->where('`published_at` <= NOW()', null, false) ->orderBy('published_at', 'ASC'); $pageNumber = $this->request->getGet('page'); $pageNumber = (int) $this->request->getGet('page'); if (! isset($pageNumber)) { if ($pageNumber < 1) { $noteReplies->paginate(12); $pager = $noteReplies->pager; $collection = new OrderedCollectionObject(null, $pager); Loading