PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.32
OttoKit: All-in-One Automation Platform v1.1.32
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 / thrive-apprentice / triggers / user-submits-assessment.php
suretriggers / src / Integrations / thrive-apprentice / triggers Last commit date
user-certificate-verified.php 6 months ago user-completes-course.php 6 months ago user-completes-lesson.php 6 months ago user-completes-module.php 6 months ago user-downloads-certificate.php 6 months ago user-fails-assessment.php 6 months ago user-passes-assessment.php 6 months ago user-receives-product-access.php 6 months ago user-submits-assessment.php 6 months ago
user-submits-assessment.php
148 lines
1 <?php
2 /**
3 * UserSubmitsAssessment.
4 * php version 5.6
5 *
6 * @category UserSubmitsAssessment
7 * @package SureTriggers
8 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
9 * @link https://www.brainstormforce.com/
10 * @since 1.0.0
11 */
12
13 namespace SureTriggers\Integrations\ThriveApprentice\Triggers;
14
15 use SureTriggers\Controllers\AutomationController;
16 use SureTriggers\Traits\SingletonLoader;
17
18 if ( ! class_exists( 'UserSubmitsAssessment' ) ) :
19
20 /**
21 * UserSubmitsAssessment
22 *
23 * @category UserSubmitsAssessment
24 * @package SureTriggers
25 * @since 1.0.0
26 */
27 class UserSubmitsAssessment {
28
29 use SingletonLoader;
30
31 /**
32 * Integration type.
33 *
34 * @var string
35 */
36 public $integration = 'ThriveApprentice';
37
38 /**
39 * Trigger name.
40 *
41 * @var string
42 */
43 public $trigger = 'user_submits_assessment';
44
45 /**
46 * Constructor.
47 *
48 * @since 1.0.0
49 */
50 public function __construct() {
51 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
52 }
53
54 /**
55 * Register trigger.
56 *
57 * @param array $triggers Registered triggers.
58 * @return array
59 */
60 public function register( $triggers ) {
61
62 $triggers[ $this->integration ][ $this->trigger ] = [
63 'label' => __( 'User Submits Assessment in Course', 'suretriggers' ),
64 'action' => 'user_submits_assessment',
65 'common_action' => 'tva_assessment_submitted',
66 'function' => [ $this, 'trigger_listener' ],
67 'priority' => 10,
68 'accepted_args' => 1,
69 ];
70
71 return $triggers;
72 }
73
74 /**
75 * Trigger listener
76 *
77 * @param object $user_assessment {
78 * User assessment object.
79 * @type int $ID Assessment submission ID.
80 * @type int $post_parent Assessment ID.
81 * @type string $post_date Assessment submission date.
82 * @type int $post_author User ID who submitted.
83 * @type string $type Assessment type.
84 * @type mixed $value Assessment value.
85 * @type string $status Assessment status.
86 * @type int $user_submission_counter Submission counter.
87 * }
88 * @since 1.0.0
89 *
90 * @return void
91 */
92 /**
93 * Get property value from user assessment object.
94 *
95 * @param object $obj User assessment object.
96 * @param string $property Property name.
97 * @return mixed Property value.
98 */
99 private function get_property( $obj, $property ) {
100 return $obj->{$property};
101 }
102
103 /**
104 * Trigger listener
105 *
106 * @param object $user_assessment {
107 * User assessment object.
108 * @type int $ID Assessment submission ID.
109 * @type int $post_parent Assessment ID.
110 * @type string $post_date Assessment submission date.
111 * @type int $post_author User ID who submitted.
112 * @type string $type Assessment type.
113 * @type mixed $value Assessment value.
114 * @type string $status Assessment status.
115 * @type int $user_submission_counter Submission counter.
116 * }
117 * @since 1.0.0
118 *
119 * @return void
120 */
121 public function trigger_listener( $user_assessment ) {
122 $user_id = $this->get_property( $user_assessment, 'post_author' );
123 $context = [];
124 $context['assessment_id'] = $this->get_property( $user_assessment, 'post_parent' );
125 $context = [
126 'submission_id' => $this->get_property( $user_assessment, 'ID' ),
127 'assessment_id' => $this->get_property( $user_assessment, 'post_parent' ),
128 'user_assessment_date' => $this->get_property( $user_assessment, 'post_date' ),
129 'user_assessment_author' => is_numeric( $user_id ) ? get_the_author_meta( 'display_name', (int) $user_id ) : null,
130 'user_assessment_author_id' => $this->get_property( $user_assessment, 'post_author' ),
131 'user_assessment_type' => $this->get_property( $user_assessment, 'type' ),
132 'user_assessment_value' => $this->get_property( $user_assessment, 'value' ),
133 'user_assessment_status' => $this->get_property( $user_assessment, 'status' ),
134 'user_submission_counter' => $this->get_property( $user_assessment, 'user_submission_counter' ),
135 ];
136 AutomationController::sure_trigger_handle_trigger(
137 [
138 'trigger' => $this->trigger,
139 'context' => $context,
140 ]
141 );
142 }
143 }
144
145 UserSubmitsAssessment::get_instance();
146
147 endif;
148