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