PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 3.9.13
Tutor LMS – eLearning and online course solution v3.9.13
4.0.1 4.0.0 3.9.15 3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / views / pages / tools / manage-tokens.php
tutor / views / pages / tools Last commit date
manage-tokens.php 3 months ago settings-log.php 3 months ago status.php 1 year ago tutor_pages.php 3 years ago
manage-tokens.php
205 lines
1 <?php
2 /**
3 * Tutor pages
4 *
5 * @package Tutor\Views
6 * @subpackage Tutor\Tools
7 * @author Themeum <support@themeum.com>
8 * @link https://themeum.com
9 * @since 2.2.1
10 */
11
12 use Tutor\Helpers\QueryHelper;
13 use TUTOR\RestAuth;
14
15 global $wpdb;
16
17 $user_id = get_current_user_id();
18
19 // Getting user meta using custom query since get_user_meta .
20 // not return umeta_id .
21 $tokens = QueryHelper::get_all(
22 $wpdb->usermeta,
23 array(
24 'user_id' => $user_id,
25 'meta_key' => RestAuth::KEYS_USER_META_KEY, //phpcs:ignore
26 ),
27 'umeta_id'
28 );
29
30 $permissions = RestAuth::available_permissions();
31 $user = get_userdata( get_current_user_id() );
32
33 ?>
34 <div class="tutor-option-main-title">
35 <div class="tutor-fs-4 tutor-fw-medium tutor-color-black">
36 <?php esc_html_e( 'Rest API', 'tutor' ); ?>
37 </div>
38 </div>
39
40 <div class="tutor-rest-api-keys-wrapper">
41 <button class="tutor-btn tutor-btn-outline-primary tutor-btn-md tutor-mb-12" data-tutor-modal-target="tutor-add-new-api-keys">
42 + <?php esc_html_e( 'Add New', 'tutor' ); ?>
43 </button>
44
45 <table class="tutor-table tutor-pages-table">
46 <thead>
47 <tr>
48 <th><?php esc_html_e( 'User', 'tutor' ); ?></th>
49 <th><?php esc_html_e( 'API Key', 'tutor' ); ?></th>
50 <th><?php esc_html_e( 'Secret', 'tutor' ); ?></th>
51 <th><?php esc_html_e( 'Permission', 'tutor' ); ?></th>
52 <th><?php esc_html_e( 'Action', 'tutor' ); ?></th>
53 </tr>
54 </thead>
55 <tbody>
56 <?php
57 if ( is_array( $tokens ) && count( $tokens ) ) {
58 foreach ( $tokens as $token ) {
59 $api = json_decode( $token->meta_value );
60 echo RestAuth::prepare_response( $token->umeta_id, $api->key, $api->secret, $api->permission, $api->description ?? '' ); //phpcs:ignore
61 }
62 } else {
63 ?>
64 <tr>
65 <td colspan="100%" id="tutor-api-keys-no-record">
66 <?php esc_html_e( 'No record available', 'tutor' ); ?>
67 </td>
68 </tr>
69 <?php
70 }
71 ?>
72 </tbody>
73 </table>
74 </div>
75
76 <!-- add new token modal -->
77 <div id="tutor-add-new-api-keys" class="tutor-modal tutor-modal-scrollable" role="dialog" aria-modal="true" aria-labelledby="tutor-add-new-api-keys-title" aria-hidden="true">
78 <div class="tutor-modal-overlay"></div>
79 <div class="tutor-modal-window">
80 <form id="tutor-generate-api-keys" class="tutor-modal-content" autocomplete="off" method="post">
81 <div class="tutor-modal-header">
82 <div id="tutor-add-new-api-keys-title" class="tutor-modal-title">
83 <?php esc_html_e( 'Generate API Key, Secret', 'tutor' ); ?>
84 </div>
85 <button type="button" class="tutor-iconic-btn tutor-modal-close" data-tutor-modal-close aria-label="<?php esc_attr_e( 'Close', 'tutor' ); ?>">
86 <span class="tutor-icon-times" aria-hidden="true"></span>
87 </button>
88 </div>
89
90 <div class="tutor-modal-body">
91 <?php tutor_nonce_field(); ?>
92 <input type="hidden" name="action" value="tutor_generate_api_keys">
93 <div class="tutor-row">
94 <div class="tutor-col">
95 <label class="tutor-form-label">
96 <?php esc_html_e( 'User', 'tutor' ); ?>
97 </label>
98 <div class="tutor-mb-16">
99 <input type="text" class="tutor-form-control" value="<?php echo esc_html( tutor_utils()->display_name( $user->ID ) ); ?>" disabled>
100 </div>
101 </div>
102 </div>
103 <div class="tutor-row">
104 <div class="tutor-col">
105 <label class="tutor-form-label" for="permission">
106 <?php esc_html_e( 'Permission', 'tutor' ); ?>
107 </label>
108 <div class="tutor-mb-16">
109 <select name="permission" id="permission" class="tutor-form-control" style="max-width: 100%;">
110 <?php foreach ( $permissions as $permission ) : ?>
111 <option value="<?php echo esc_attr( $permission['value'] ); ?>">
112 <?php echo esc_html( $permission['label'] ); ?>
113 </option>
114 <?php endforeach; ?>
115 </select>
116 </div>
117 <div class="tutor-mb-16">
118 <label class="tutor-form-label" for="description">
119 <?php esc_html_e( 'Description', 'tutor' ); ?>
120 </label>
121 <textarea name="description" id="description" class="tutor-form-control" cols="30" rows="3" placeholder="<?php esc_html_e( 'Write here...', 'tutor' ); ?>"></textarea>
122 </div>
123 </div>
124 </div>
125
126 </div>
127
128 <div class="tutor-modal-footer">
129 <button class="tutor-btn tutor-btn-outline-primary" data-tutor-modal-close>
130 <?php esc_html_e( 'Cancel', 'tutor' ); ?>
131 </button>
132
133 <button type="submit" class="tutor-btn tutor-btn-primary">
134 <?php esc_html_e( 'Generate', 'tutor' ); ?>
135 </button>
136 </div>
137 </form>
138 </div>
139 </div>
140
141 <!-- Update permission modal -->
142 <div id="tutor-update-permission-modal" class="tutor-modal tutor-modal-scrollable" role="dialog" aria-modal="true" aria-labelledby="tutor-update-permission-modal-title" aria-hidden="true">
143 <div class="tutor-modal-overlay"></div>
144 <div class="tutor-modal-window">
145 <form id="tutor-update-permission-form" class="tutor-modal-content" autocomplete="off" method="post">
146 <div class="tutor-modal-header">
147 <div id="tutor-update-permission-modal-title" class="tutor-modal-title">
148 <?php esc_html_e( 'Update API', 'tutor' ); ?>
149 </div>
150 <button type="button" class="tutor-iconic-btn tutor-modal-close" data-tutor-modal-close aria-label="<?php esc_attr_e( 'Close', 'tutor' ); ?>">
151 <span class="tutor-icon-times" aria-hidden="true"></span>
152 </button>
153 </div>
154
155 <div class="tutor-modal-body">
156 <?php tutor_nonce_field(); ?>
157 <input type="hidden" name="action" value="tutor_update_api_permission">
158 <input type="hidden" name="meta_id">
159 <div class="tutor-row">
160 <div class="tutor-col">
161 <label class="tutor-form-label">
162 <?php esc_html_e( 'User', 'tutor' ); ?>
163 </label>
164 <div class="tutor-mb-16">
165 <input type="text" class="tutor-form-control" value="<?php echo esc_html( tutor_utils()->display_name( $user->ID ) ); ?>" disabled>
166 </div>
167 </div>
168 </div>
169 <div class="tutor-row">
170 <div class="tutor-col">
171 <label class="tutor-form-label" for="permission">
172 <?php esc_html_e( 'Permission', 'tutor' ); ?>
173 </label>
174 <div class="tutor-mb-16">
175 <select name="permission" id="permission" class="tutor-form-control" style="max-width: 100%;">
176 <?php foreach ( $permissions as $permission ) : ?>
177 <option value="<?php echo esc_attr( $permission['value'] ); ?>">
178 <?php echo esc_html( $permission['label'] ); ?>
179 </option>
180 <?php endforeach; ?>
181 </select>
182 </div>
183 <div class="tutor-mb-16">
184 <label class="tutor-form-label" for="description">
185 <?php esc_html_e( 'Description', 'tutor' ); ?>
186 </label>
187 <textarea name="description" id="description" class="tutor-form-control" cols="30" rows="3" placeholder="<?php esc_html_e( 'Write here...', 'tutor' ); ?>"></textarea>
188 </div>
189 </div>
190 </div>
191 </div>
192
193 <div class="tutor-modal-footer">
194 <button class="tutor-btn tutor-btn-outline-primary" data-tutor-modal-close>
195 <?php esc_html_e( 'Cancel', 'tutor' ); ?>
196 </button>
197
198 <button type="submit" class="tutor-btn tutor-btn-primary">
199 <?php esc_html_e( 'Submit', 'tutor' ); ?>
200 </button>
201 </div>
202 </form>
203 </div>
204 </div>
205