id; $laravelDb = \RomhackPlaza\Master\Helper\Laravel::db(); if( !$laravelDb ) return $this->notFound(); $entry = $laravelDb->fetchRow("SELECT id, slug FROM news WHERE id = ?", $entryId); if( !$entry ) return $this->notFound(); return $this->redirect(\XF::options()->homePageUrl . '/news/' . $entry['slug']); } public function actionReport(ParameterBag $params): AbstractReply { $this->assertRegistrationRequired(); $entryId = $params->id; $laravelDb = \RomhackPlaza\Master\Helper\Laravel::db(); if( !$laravelDb ) return $this->notFound(); $entry = $laravelDb->fetchRow("SELECT id, title, slug, user_id, description FROM news WHERE id = ?", $entryId); if( !$entry ) return $this->notFound(); $entity = $this->em()->instantiateEntity('RomhackPlaza\Master:News', $entry); $entity->setReadOnly(true); $reportPlugin = $this->plugin('XF:Report'); return $reportPlugin->actionReport( 'romhackplaza_news', $entity, $this->buildLink('romhackplaza_news/report', $entity), \XF::options()->homePageUrl . '/news/report_redirect?id=' . $entity->id ); } public static function getActivityDetails(array $activities) { return self::getActivityDetailsForContent( $activities, \XF::phrase('viewing_romhackplaza_news'), 'news_id', function (array $ids) { $db = Laravel::db(); if( !$db || empty($ids) ) return []; $entries = $db->fetchAll(" SELECT id, slug, title FROM news WHERE id IN (" . $db->quote($ids) . ") "); $data = []; foreach( $entries as $entry ){ $data[$entry['id']] = [ 'title' => $entry['title'], 'url' => \XF::options()->homePageUrl . '/news/' . $entry['slug'], ]; } return $data; }, \XF::phrase('viewing_romhackplaza_database') ); } }