PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.36
OttoKit: All-in-One Automation Platform v1.1.36
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 / suredash / triggers / suredash-item-bookmarked.php
suretriggers / src / Integrations / suredash / triggers Last commit date
suredash-comment-deleted.php 8 months ago suredash-comment-edited.php 8 months ago suredash-comment-submitted.php 8 months ago suredash-course-completed.php 10 months ago suredash-item-bookmarked.php 8 months ago suredash-post-deleted.php 8 months ago suredash-post-edited.php 8 months ago suredash-post-liked.php 10 months ago suredash-post-submitted.php 8 months ago suredash-space-deleted.php 8 months ago
suredash-item-bookmarked.php
118 lines
1 <?php
2 /**
3 * SureDashItemBookmarked trigger for handling item bookmark events.
4 * php version 5.6
5 *
6 * @category SureDashItemBookmarked
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\SureDash\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Integrations\WordPress\WordPress;
18 use SureTriggers\Traits\SingletonLoader;
19
20 /**
21 * SureDashItemBookmarked
22 *
23 * @category SureDashItemBookmarked
24 * @package SureTriggers
25 * @author BSF <username@example.com>
26 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
27 * @link https://www.brainstormforce.com/
28 * @since 1.0.0
29 */
30 class SureDashItemBookmarked {
31
32 /**
33 * Integration type.
34 *
35 * @var string
36 */
37 public $integration = 'SureDash';
38
39 /**
40 * Trigger name.
41 *
42 * @var string
43 */
44 public $trigger = 'suredash_item_bookmarked';
45
46 use SingletonLoader;
47
48 /**
49 * Constructor
50 *
51 * @since 1.0.0
52 */
53 public function __construct() {
54 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
55 }
56
57 /**
58 * Register a trigger.
59 *
60 * @param array $triggers triggers.
61 * @return array
62 */
63 public function register( $triggers ) {
64 $triggers[ $this->integration ][ $this->trigger ] = [
65 'label' => __( 'Item Bookmarked', 'suretriggers' ),
66 'action' => 'suredash_item_bookmark',
67 'function' => [ $this, 'trigger_listener' ],
68 'priority' => 10,
69 'accepted_args' => 4,
70 ];
71 return $triggers;
72 }
73
74 /**
75 * Trigger listener for item bookmark events.
76 *
77 * @param int $item_id Item ID.
78 * @param string $item_type Type of item (post, course, etc.).
79 * @param string $status Bookmark status (bookmarked/unbookmarked).
80 * @param int $user_id User ID.
81 * @since 1.0.0
82 *
83 * @return void
84 */
85 public function trigger_listener( $item_id, $item_type, $status, $user_id ) {
86 if ( ! $item_id || ! $user_id ) {
87 return;
88 }
89
90 $context = WordPress::get_user_context( $user_id );
91 $context['item_id'] = $item_id;
92 $context['item_type'] = $item_type;
93 $context['bookmark_status'] = $status;
94 $context['is_bookmarked'] = ( 'bookmarked' === $status ) ? true : false;
95 $context['is_unbookmarked'] = ( 'unbookmarked' === $status ) ? true : false;
96
97 $item = get_post( $item_id );
98 if ( $item instanceof \WP_Post ) {
99 $context['item_title'] = $item->post_title;
100 $context['item_content'] = $item->post_content;
101 $context['item_excerpt'] = $item->post_excerpt;
102 $context['item_author'] = $item->post_author;
103 $context['item_date'] = $item->post_date;
104 $context['item_status'] = $item->post_status;
105 $context['item_permalink'] = get_permalink( $item_id );
106 }
107
108 AutomationController::sure_trigger_handle_trigger(
109 [
110 'trigger' => $this->trigger,
111 'context' => $context,
112 ]
113 );
114 }
115 }
116
117 SureDashItemBookmarked::get_instance();
118