Social Poster provides a collection of events for extending its functionality. Modules and plugins can register event listeners, typically in their init()
methods, to modify Social Poster’s behavior.
beforeSavePost
event#The event that is triggered before a post is saved. You can set $event->isValid
to false to prevent saving.
use craft\events\ModelEvent;
use verbb\socialposter\elements\Post;
use yii\base\Event;
Event::on(Post::class, Post::EVENT_BEFORE_SAVE, function(ModelEvent $event) {
$post = $event->sender;
$event->isValid = false;
// ...
});
afterSavePost
event#The event that is triggered after a post is saved.
use craft\events\ModelEvent;
use verbb\socialposter\elements\Post;
use yii\base\Event;
Event::on(Post::class, Post::EVENT_AFTER_SAVE, function(ModelEvent $event) {
$post = $event->sender;
// ...
});
beforeDeletePost
event#The event that is triggered before a post is deleted.
The isValid
event property can be set to false
to prevent the deletion from proceeding.
use verbb\socialposter\elements\Post;
use yii\base\Event;
Event::on(Post::class, Post::EVENT_BEFORE_DELETE, function(Event $event) {
$post = $event->sender;
$event->isValid = false;
// ...
});
afterDeleteForm
event#The event that is triggered after a post is deleted.
use verbb\socialposter\elements\Post;
use yii\base\Event;
Event::on(Post::class, Post::EVENT_AFTER_DELETE, function(Event $event) {
$post = $event->sender;
// ...
});
beforeSendPost
event#The event that is triggered before an account sends a post.
The isValid
event property can be set to false
to prevent the post from being sent.
use verbb\socialposter\accounts\Twitter;
use verbb\socialposter\events\SendPostEvent;
use yii\base\Event;
Event::on(Twitter::class, Twitter::EVENT_BEFORE_SEND_POST, function(SendPostEvent $event) {
$element = $event->element;
$payload = $event->payload;
$account = $event->account;
$endpoint = $event->endpoint;
$method = $event->method;
// ...
});
afterSendPost
event#The event that is triggered after an account sends a post.
The isValid
event property can be set to false
to flag a post-sending response.
use verbb\socialposter\accounts\Twitter;
use verbb\socialposter\events\SendPostEvent;
use yii\base\Event;
Event::on(Twitter::class, Twitter::EVENT_AFTER_SEND_POST, function(SendPostEvent $event) {
$element = $event->element;
$payload = $event->payload;
$account = $event->account;
$response = $event->response;
// ...
});
beforeSaveAccount
event#The event that is triggered before an account is saved.
use verbb\socialposter\events\AccountEvent;
use verbb\socialposter\services\Accounts;
use yii\base\Event;
Event::on(Accounts::class, Accounts::EVENT_BEFORE_SAVE_ACCOUNT, function(AccountEvent $event) {
$account = $event->account;
$isNew = $event->isNew;
// ...
});
afterSaveAccount
event#The event that is triggered after an account is saved.
use verbb\socialposter\events\AccountEvent;
use verbb\socialposter\services\Accounts;
use yii\base\Event;
Event::on(Accounts::class, Accounts::EVENT_AFTER_SAVE_ACCOUNT, function(AccountEvent $event) {
$account = $event->account;
$isNew = $event->isNew;
// ...
});
beforeDeleteAccount
event#The event that is triggered before an account is deleted.
use verbb\socialposter\events\AccountEvent;
use verbb\socialposter\services\Accounts;
use yii\base\Event;
Event::on(Accounts::class, Accounts::EVENT_BEFORE_DELETE_ACCOUNT, function(AccountEvent $event) {
$account = $event->account;
// ...
});
afterDeleteAccount
event#The event that is triggered after an account is deleted.
use verbb\socialposter\events\AccountEvent;
use verbb\socialposter\services\Accounts;
use yii\base\Event;
Event::on(Accounts::class, Accounts::EVENT_AFTER_DELETE_ACCOUNT, function(AccountEvent $event) {
$account = $event->account;
// ...
});