61 lines
1.6 KiB
PHP
61 lines
1.6 KiB
PHP
<?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';
|
|
}
|
|
|
|
} |