PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.32
OttoKit: All-in-One Automation Platform v1.1.32
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 / CluevoLms / cluevo-lms.php
suretriggers / src / Integrations / CluevoLms Last commit date
actions 1 month ago cluevo-lms.php 1 month ago
cluevo-lms.php
103 lines
1 <?php
2 /**
3 * CluevoLms core integrations file
4 *
5 * @since 1.0.0
6 * @package SureTrigger
7 */
8
9 namespace SureTriggers\Integrations\CluevoLms;
10
11 use SureTriggers\Controllers\IntegrationsController;
12 use SureTriggers\Integrations\Integrations;
13 use SureTriggers\Traits\SingletonLoader;
14
15 /**
16 * Class CluevoLms
17 *
18 * @package SureTriggers\Integrations\CluevoLms
19 */
20 class CluevoLms extends Integrations {
21
22 use SingletonLoader;
23
24 /**
25 * ID
26 *
27 * @var string
28 */
29 protected $id = 'CluevoLms';
30
31 /**
32 * SureTrigger constructor.
33 */
34 public function __construct() {
35 $this->name = __( 'CLUEVO LMS', 'suretriggers' );
36 $this->description = __( 'A WordPress LMS with native SCORM support.', 'suretriggers' );
37 $this->icon_url = SURE_TRIGGERS_URL . 'assets/icons/cluevo-lms.png';
38 parent::__construct();
39 }
40
41 /**
42 * Returns context data for a learning structure item.
43 *
44 * @param int $item_id The CLUEVO tree item ID.
45 * @return array
46 */
47 public static function get_item_context( $item_id ) {
48 if ( ! function_exists( 'cluevo_get_lms_item_list' ) ) {
49 return [ 'cluevo_item_id' => $item_id ];
50 }
51
52 $items = cluevo_get_lms_item_list();
53 if ( ! is_array( $items ) ) {
54 return [ 'cluevo_item_id' => $item_id ];
55 }
56
57 foreach ( $items as $item ) {
58 if ( (int) $item->item_id === (int) $item_id ) {
59 return [
60 'cluevo_item_id' => $item->item_id,
61 'cluevo_item_name' => $item->name,
62 'cluevo_item_path' => $item->path,
63 ];
64 }
65 }
66
67 return [ 'cluevo_item_id' => $item_id ];
68 }
69
70 /**
71 * Returns standard WP user context.
72 *
73 * @param int $user_id WordPress user ID.
74 * @return array
75 */
76 public static function get_user_context( $user_id ) {
77 $user = get_userdata( (int) $user_id );
78 if ( ! $user instanceof \WP_User ) {
79 return [];
80 }
81
82 return [
83 'user_id' => $user->ID,
84 'user_email' => $user->user_email,
85 'display_name' => $user->display_name,
86 'user_login' => $user->user_login,
87 'first_name' => $user->first_name,
88 'last_name' => $user->last_name,
89 ];
90 }
91
92 /**
93 * Is Plugin depended plugin is installed or not.
94 *
95 * @return bool
96 */
97 public function is_plugin_installed() {
98 return class_exists( 'Cluevo' );
99 }
100 }
101
102 IntegrationsController::register( CluevoLms::class );
103