Skip to content

Commit cdce425

Browse files
committed
Add additional interactions
1 parent cacb34f commit cdce425

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

wcfsetup/install/files/lib/system/interaction/admin/ArticleInteractions.class.php

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use wcf\system\interaction\DeleteInteraction;
1111
use wcf\system\interaction\LinkableObjectInteraction;
1212
use wcf\system\interaction\RestoreInteraction;
13+
use wcf\system\interaction\RpcInteraction;
1314
use wcf\system\interaction\TrashInteraction;
1415

1516
/**
@@ -35,6 +36,30 @@ public function __construct()
3536
new DeleteInteraction('core/articles/%s', function (ViewableArticle $article): bool {
3637
return $article->isDeleted === 1;
3738
}),
39+
new RpcInteraction(
40+
'publish',
41+
'core/articles/%s/publish',
42+
'wcf.article.button.publish',
43+
isAvailableCallback: static function (ViewableArticle $article): bool {
44+
if (!$article->canPublish()) {
45+
return false;
46+
}
47+
48+
return $article->publicationStatus !== Article::PUBLISHED;
49+
}
50+
),
51+
new RpcInteraction(
52+
'unpublish',
53+
'core/articles/%s/unpublish',
54+
'wcf.article.button.unpublish',
55+
isAvailableCallback: static function (ViewableArticle $article): bool {
56+
if (!$article->canPublish()) {
57+
return false;
58+
}
59+
60+
return $article->publicationStatus === Article::PUBLISHED;
61+
}
62+
),
3863
]);
3964

4065
EventHandler::getInstance()->fire(

wcfsetup/install/files/lib/system/interaction/bulk/admin/ArticleBulkInteractions.class.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ function (ViewableArticle $article): bool {
6565
}
6666
),
6767
new BulkRpcInteraction(
68-
'unPublish',
68+
'unpublish',
6969
'core/articles/%s/unpublish',
7070
'wcf.article.button.unpublish',
7171
InteractionConfirmationType::None,

0 commit comments

Comments
 (0)