PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.35
OttoKit: All-in-One Automation Platform v1.1.35
1.1.37 1.1.36 1.1.35 1.1.34 1.1.33 1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.9 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.47 1.0.48 1.0.49 1.0.50 1.0.51 1.0.52 1.0.53 1.0.54 1.0.55 1.0.56 1.0.57 1.0.58 1.0.59 1.0.60 1.0.61 1.0.62 1.0.63 1.0.64 1.0.65 1.0.66 1.0.67 1.0.68 1.0.69 1.0.7 1.0.70 1.0.71 1.0.72 1.0.73 1.0.74 1.0.75 1.0.76 1.0.77 1.0.78 1.0.79 1.0.8 1.0.80 1.0.81 1.0.82 1.0.83 1.0.84 1.0.85 1.0.86 1.0.87 1.0.88 1.0.89 1.0.9 1.0.90 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.20 1.1.21 1.1.22 1.1.23 1.1.24 1.1.25 1.1.26 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
suretriggers / src / Integrations / asgaros / triggers / user-creates-new-topic-forum.php
suretriggers / src / Integrations / asgaros / triggers Last commit date
user-creates-new-topic-forum.php 2 years ago user-replies-topic-forum.php 2 years ago
user-creates-new-topic-forum.php
133 lines
1 <?php
2 /**
3 * AsUserCreatesNewTopicForum.
4 * php version 5.6
5 *
6 * @category AsUserCreatesNewTopicForum
7 * @package SureTriggers
8 * @author BSF <username@example.com>
9 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
10 * @link https://www.brainstormforce.com/
11 * @since 1.0.0
12 */
13
14 namespace SureTriggers\Integrations\Asgaros\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18 use SureTriggers\Integrations\WordPress\WordPress;
19 use AsgarosForum;
20
21 if ( ! class_exists( 'AsUserCreatesNewTopicForum' ) ) :
22
23 /**
24 * AsUserCreatesNewTopicForum
25 *
26 * @category AsUserCreatesNewTopicForum
27 * @package SureTriggers
28 * @author BSF <username@example.com>
29 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
30 * @link https://www.brainstormforce.com/
31 * @since 1.0.0
32 *
33 * @psalm-suppress UndefinedTrait
34 */
35 class AsUserCreatesNewTopicForum {
36
37
38 /**
39 * Integration type.
40 *
41 * @var string
42 */
43 public $integration = 'Asgaros';
44
45
46 /**
47 * Trigger name.
48 *
49 * @var string
50 */
51 public $trigger = 'asgaros_user_creates_new_topic_forum';
52
53 use SingletonLoader;
54
55
56 /**
57 * Constructor
58 *
59 * @since 1.0.0
60 */
61 public function __construct() {
62 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
63 }
64
65 /**
66 * Register action.
67 *
68 * @param array $triggers trigger data.
69 * @return array
70 */
71 public function register( $triggers ) {
72
73 $triggers[ $this->integration ][ $this->trigger ] = [
74 'label' => __( 'User Creates New Topic in Forum', 'suretriggers' ),
75 'action' => $this->trigger,
76 'common_action' => 'asgarosforum_after_add_topic_submit',
77 'function' => [ $this, 'trigger_listener' ],
78 'priority' => 5,
79 'accepted_args' => 6,
80 ];
81
82 return $triggers;
83 }
84
85 /**
86 * Trigger listener
87 *
88 * @param integer $post_id Post.
89 * @param integer $topic_id Topic.
90 * @param string $subject Topic.
91 * @param string $content Content.
92 * @param string $link Link.
93 * @param integer $author_id author id.
94 * @return void
95 */
96 public function trigger_listener( $post_id, $topic_id, $subject, $content, $link, $author_id ) {
97 if ( ! class_exists( 'AsgarosForum' ) ) {
98 return;
99 }
100 $context = [];
101 $asgaros_forum = new AsgarosForum();
102 if ( ! isset( $post_id ) ) {
103 return;
104 }
105
106 $topic = $asgaros_forum->content->get_topic( $topic_id );
107 $forum_id = $topic->parent_id;
108 $context['topic_id'] = $topic_id;
109 $context['post_id'] = $post_id;
110
111 $context['forum_id'] = $forum_id;
112 $context['forum'] = $asgaros_forum->content->get_forum( $forum_id );
113 $context['topic'] = $asgaros_forum->content->get_topic( $topic_id );
114 $context['post'] = $asgaros_forum->content->get_post( $post_id );
115 $context['author'] = WordPress::get_user_context( $author_id );
116 AutomationController::sure_trigger_handle_trigger(
117 [
118 'trigger' => $this->trigger,
119 'context' => $context,
120 ]
121 );
122 }
123 }
124
125 /**
126 * Ignore false positive
127 *
128 * @psalm-suppress UndefinedMethod
129 */
130 AsUserCreatesNewTopicForum::get_instance();
131
132 endif;
133