Files
XenForoRomhackPlazaAddon/ApprovalQueue/EntryFeaturedRequest.php

61 lines
1.6 KiB
PHP
Raw Permalink Normal View History

2026-06-16 16:21:43 +02:00
<?php
namespace RomhackPlaza\Master\ApprovalQueue;
use RomhackPlaza\Master\Helper\Laravel;
use XF\ApprovalQueue\AbstractHandler;
use XF\Mvc\Entity\Entity;
class EntryFeaturedRequest extends AbstractHandler
{
protected function canViewContent(Entity $content, &$error = null)
{
return $this->canActionContent($content, $error );
}
protected function canActionContent(Entity $content, &$error = null)
{
return \XF::visitor()->hasPermission('romhackplaza', 'canModerateEntries');
}
public function getEntityWith()
{
return ['User'];
}
public function actionApprove(\RomhackPlaza\Master\Entity\EntryFeaturedRequest $entryFeaturedRequest)
{
try {
$db = Laravel::db();
$db->update('entries', [
'featured' => 1,
'featured_at' => date('Y-m-d H:i:s', \XF::$time),
], 'id = ?',
[$entryFeaturedRequest->entry_id]
);
$entryFeaturedRequest->featured_request_state = 'visible';
$entryFeaturedRequest->save();
} catch ( \Exception $e ) {
\XF::logException($e, messagePrefix: "EntryFeaturedRequest error: " );
}
}
public function actionDelete(\RomhackPlaza\Master\Entity\EntryFeaturedRequest $entryFeaturedRequest)
{
$entryFeaturedRequest->featured_request_state = 'rejected';
$entryFeaturedRequest->save();
}
public function getTemplateName()
{
return 'public:approval_item_entry_featured_request';
}
}