PluginProbe
Tagembed: Social Media Feeds and Customer Reviews Widget / 8.0
Tagembed: Social Media Feeds and Customer Reviews Widget v8.0
7.9 8.0 7.8 7.5 7.6 7.7 7.4 trunk 3.10 3.9 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 5.0 5.1 5.2 5.3 5.4 All 45 releases
tagembed-widget / tagembed.php

tagembed.php in Tagembed: Social Media Feeds and Customer Reviews Widget 8.0, at tagembed.php

1,692 lines 82.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /**
4 * Plugin Name: Tagembed: Social Media Feeds and Customer Reviews Widget
5 * Plugin URI: https://tagembed.com/
6 * Description: Display social media feeds and user-generated content in an interactive widget.
7 * Version: 8.0
8 * Author: Tagembed
9 * Author URI: https://tagembed.com/
10 * License: GPLv3
11 * License URI: https://www.gnu.org/licenses/gpl-3.0.html
12 * Text Domain: tagembed-widget
13 */
14 if (!defined('WPINC')) :
15 die;
16 endif;
17
18 /* --Start-- Create Constant */
19 !defined('TAGEMBED_PLUGIN_VERSION') && define('TAGEMBED_PLUGIN_VERSION', '8.0');
20 !defined('TAGEMBED_PLUGIN_DIR_PATH') && define('TAGEMBED_PLUGIN_DIR_PATH', plugin_dir_path(__FILE__));
21 !defined('TAGEMBED_PLUGIN_URL') && define('TAGEMBED_PLUGIN_URL', plugin_dir_url(__FILE__));
22 !defined('TAGEMBED_PLUGIN_REDIRECT_URL') && define('TAGEMBED_PLUGIN_REDIRECT_URL', get_admin_url(null, 'admin.php?page='));
23
24 !defined('TAGEMBED_PLUGIN_API_URL') && define('TAGEMBED_PLUGIN_API_URL', 'https://api.tagembed.com/app/');
25 !defined('TAGEMBED_PLUGIN_SERVER_URL') && define('TAGEMBED_PLUGIN_SERVER_URL', 'https://api.tagembed.com/app/');
26
27 !defined('TAGEMBED_PLUGIN_REACT_URL') && define('TAGEMBED_PLUGIN_REACT_URL', 'https://widget.tagembed.com/');
28 !defined('TAGEMBED_PLUGIN_CALL_BACK_URL') && define('TAGEMBED_PLUGIN_CALL_BACK_URL', admin_url() . 'admin.php?page=tagembed');
29 !defined('TAGEMBED_PLUGIN_PLATFORM') && define('TAGEMBED_PLUGIN_PLATFORM', 'tagembed');
30
31 /* --End-- Create Constant */
32
33 /* --Start--Include Files */
34 require_once TAGEMBED_PLUGIN_DIR_PATH . 'helper/helper.php';
35 /* --End--Include Files */
36
37 /* --Start-- Add Js And Css */
38 function tagembed_plugin_scripts_css()
39 {
40 wp_enqueue_script('__tagembed__embbedJs', TAGEMBED_PLUGIN_REACT_URL . 'embed.min.js', ['jquery'], TAGEMBED_PLUGIN_VERSION, true);
41 if (is_admin()) :
42 /* CSS */
43 wp_enqueue_style('__tagembed__commonCss', TAGEMBED_PLUGIN_URL . '/assets/css/common.css', '', TAGEMBED_PLUGIN_VERSION);
44 wp_enqueue_style('__tagembed__toastCss', TAGEMBED_PLUGIN_URL . '/assets/css/toast.css', '', TAGEMBED_PLUGIN_VERSION);
45 wp_enqueue_style('__tagembed__confirmDialogCss', TAGEMBED_PLUGIN_URL . '/assets/css/confirm_dialog.css', '', TAGEMBED_PLUGIN_VERSION);
46 wp_enqueue_style('__tagembed__tagembedloaderCss', TAGEMBED_PLUGIN_URL . '/assets/css/loader.css', '', TAGEMBED_PLUGIN_VERSION);
47 wp_enqueue_style('__tagembed__popupCss', TAGEMBED_PLUGIN_URL . '/assets/css/styles.css', '', TAGEMBED_PLUGIN_VERSION);
48 /* JS */
49 wp_enqueue_script('__tagembed__toastJs', TAGEMBED_PLUGIN_URL . '/assets/js/toast.js', ['jquery'], TAGEMBED_PLUGIN_VERSION, true);
50 wp_enqueue_script('__tagembed__confirmDialogJs', TAGEMBED_PLUGIN_URL . '/assets/js/confirm_dialog.js', ['jquery'], TAGEMBED_PLUGIN_VERSION, true);
51 wp_enqueue_script('__tagembed__tagemedLoaderJs', TAGEMBED_PLUGIN_URL . '/assets/js/loader.js', ['jquery'], TAGEMBED_PLUGIN_VERSION, true);
52 wp_localize_script('__tagembed__tagemedLoaderJs', '__tagembed__pluginLoaderImageUrlObj', ['__tagembed__pluginLoaderImageUrl' => TAGEMBED_PLUGIN_URL]);
53 wp_enqueue_script('__tagembed__deactive-js', TAGEMBED_PLUGIN_URL . '/assets/js/tagembed.deactive.js', ['jquery'], TAGEMBED_PLUGIN_VERSION, true);
54 $__tagembed__ajax_call_security_nones = wp_create_nonce('__tagembed__ajax_call_security_nones');
55 wp_localize_script('__tagembed__deactive-js', '__tagembed__ajax_call_security_nones_object', ['__tagembed__ajax_call_security_nones' => $__tagembed__ajax_call_security_nones]);
56 wp_enqueue_script('__tagembed__tagembedDialogFormJs', TAGEMBED_PLUGIN_URL . '/assets/js/dialog.form.js', ['jquery'], TAGEMBED_PLUGIN_VERSION, true);
57 /* --Start-- Gutenberge */
58 if (!function_exists('register_block_type')) :
59 return;
60 else :
61 wp_enqueue_style('__tagembed__editorCss', TAGEMBED_PLUGIN_URL . '/assets/css/editor/editor.css', '', TAGEMBED_PLUGIN_VERSION);
62 wp_register_script('__tagembed__editor-js', TAGEMBED_PLUGIN_URL . '/assets/js/editor/editor.js', ['wp-block-editor', 'wp-blocks', 'wp-element', 'wp-components', 'wp-i18n', 'wp-data', 'wp-compose'], TAGEMBED_PLUGIN_VERSION);
63 register_block_type('tagembed-block/tagembed', ['editor_script' => '__tagembed__editor-js', 'editor_style' => '__tagembed__editorCss', 'style' => '']);
64 endif;
65 /* --End-- Gutenberge */
66 endif;
67 }
68 add_action('init', 'tagembed_plugin_scripts_css');
69 add_filter(
70 'script_loader_tag',
71 function ($tag, $handle) {
72 if ('embbedJs' !== $handle) :
73 return $tag;
74 else :
75 return str_replace('src', 'defer src', $tag);
76 endif;
77 },
78 10,
79 2
80 );
81 /* --End-- Add Js And Css */
82
83 /* --Start-- Add Menus */
84 function ___tagembed__plugin_menus()
85 {
86 ob_start();
87 ?>
88 <svg version='1.1' id='Layer_1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 200 200' style='enable-background:new 0 0 200 200;' xml:space='preserve'>
89 <title>Tagembed Icon</title>
90 <g transform='translate(-211 -31)'>
91 <g id='Group_3576' transform='translate(211 31)'>
92 <path id='Path_5098' fill='#00E9FF' d='M64.3,119.1c5.4-25.2,10.2-49.2,15.6-73.8c0.6-3.6,1.2-7.2,1.8-10.8c0.6-10.8-6.6-19.8-17.4-21.6c-10.8-2.4-21,4.2-23.4,15C33,63.3,25.2,99.3,18,134.7c-3,14.4,7.2,25.2,22.8,25.2c32.4,1.2,65.4,1.8,97.8,2.4c6.6,0,12.6-0.6,18.6-3c7.8-4.2,12-13.2,9.6-22.2c-2.4-9.6-10.8-16.2-20.4-16.2c-21-0.6-42.6-1.2-63.6-1.8C76.9,119.1,70.9,119.1,64.3,119.1z' />
93 <path id='Path_5099' fill='#4179FF' d='M136.9,81.9c-25.8,0-50.4,0-75,0c-3.6,0-7.2,0-10.8-0.6c-10.8-1.8-18-10.8-18-21.6s9-19.8,19.8-19.8c36,0,72.6,0,109.2,0c14.4,0,22.8,12,19.8,27.6c-6,31.8-12,64.2-18,96c-1.2,6.6-3.6,12.6-7.2,17.4c-6,6.6-15.6,8.4-23.4,4.8c-9-4.2-13.2-13.8-11.4-23.4c3.6-21,7.8-41.4,11.4-62.4C134.5,94.5,135.7,87.9,136.9,81.9z' />
94 <g id='Group_3575' transform='translate(16.61 16.942)'>
95 <g>
96 <g>
97 <defs>
98 <polygon id='SVGID_1_' points='113.1,97 101.1,148.7 147.3,148.7 158.1,103.6' />
99 </defs>
100 <clipPath id='SVGID_2_'>
101 <use xlink:href='#SVGID_1_' style='overflow:visible;' />
102 </clipPath>
103 <g id='Group_3574' class='st2' clip-path='url(#SVGID_2_)'>
104 <path id='Path_5100' fill='#00E9FF' d='M47.7,101.8C53.1,76.6,57.9,52.6,63.3,28c0.6-3.6,1.2-7.2,1.8-10.8C65.7,6.4,58.5-2.6,47.7-4.4c-10.8-1.8-21,4.8-23.4,15.6C16.5,46.6,8.7,82,1.5,118.1c-3,14.4,7.2,25.2,22.8,25.2c33,0.6,65.4,1.8,98.4,2.4c6.6,0,12.6-0.6,18.6-3c7.8-4.2,12-13.2,9.6-22.2c-2.4-9.6-10.8-16.2-21-16.2c-21-0.6-42-1.2-63-1.8C60.3,102.4,54.3,102.4,47.7,101.8z' />
105 </g>
106 </g>
107 </g>
108 </g>
109 </g>
110 </g>
111 </svg>
112 <?php
113 $svg = ob_get_clean();
114 add_menu_page('Tagembed', 'Tagembed', 'manage_options', 'tagembed', '___tagembed__view', 'data:image/svg+xml;base64,' . base64_encode($svg));
115 }
116 add_action('admin_menu', '___tagembed__plugin_menus');
117 /* --End-- Add Menus */
118
119 /* --Start-- Add & Manage Views */
120 function ___tagembed__view()
121 {
122 if (!empty(___tagembed__user()->isLogin) && ___tagembed__user()->isLogin == 'yes') :
123 $__tagembed__menus = ___tagembed__menus(['__tagembed__menu_condation' => 1]);
124 if (empty($__tagembed__menus)) :
125 include_once TAGEMBED_PLUGIN_DIR_PATH . 'views/widget/widgetView.php';
126 else :
127 include_once TAGEMBED_PLUGIN_DIR_PATH . 'views/' . $__tagembed__menus[0]->path . '.php';
128 endif;
129 else :
130 include_once TAGEMBED_PLUGIN_DIR_PATH . 'views/account/accountView.php';
131 endif;
132 }
133 /* --End-- Add & Manage Views */
134
135 /* --Start-- Manage Ajax Calls */
136 add_action('wp_ajax_tagembed_data', '___tagembed__dataAjaxHandler');
137 function ___tagembed__dataAjaxHandler()
138 {
139 if (!current_user_can('manage_options')) :
140 return ___tagembed__exitWithDanger('You do not have sufficient permissions to access this page.');
141 endif;
142 /* --Start-- Manage Ajax call Request Security (Verified Before Any Other Request Data Is Used) */
143 $__tagembed__ajaxCallSecurityNones = isset($_REQUEST['__tagembed__ajax_call_nones']) ? sanitize_text_field(wp_unslash($_REQUEST['__tagembed__ajax_call_nones'])) : '';
144 if (!wp_verify_nonce($__tagembed__ajaxCallSecurityNones, '__tagembed__ajax_call_security_nones')) :
145 return ___tagembed__exitWithDanger();
146 endif;
147 /* --End-- Manage Ajax call Request Security */
148 if (empty($_REQUEST['__tagembed__ajax_action'])) :
149 return false;
150 endif;
151 $data = ___tagembed__sanitizeRequestData(wp_unslash($_REQUEST));
152 $data = (object)$data;
153 /* --Start__ Sanetize All Input */
154 foreach ($data as $key => $value) :
155 if (!in_array($key, ['emailId', 'password', 'youtubePlaylist'])) :
156 ___tagembed__inputSanetize($value);
157 endif;
158 endforeach;
159 /* --End__ Sanetize All Input */
160
161 $param = [];
162 $action = $data->__tagembed__ajax_action;
163 $__tagembed__user_details = ___tagembed__user();
164 switch ($action):
165 case '__tagembed__getCallingCode':
166 /* --Start-- Manage Param Data */
167 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
168 /* --End-- Manage Param Data */
169 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getCallingCode', $param, []);
170 $response = ___tagembed__manageApiResponse($response);
171 unset($param);
172 return ___tagembed__exitWithSuccess(['callingCode' => $response]);
173 break;
174 case '__tagembed__register':
175 if (empty($data->emailId) || empty($data->password) || empty($data->fullName)) :
176 return ___tagembed__exitWithDanger();
177 endif;
178 /* --Start-- Manage Param Data */
179 $param['fullName'] = sanitize_text_field($data->fullName);
180 $param['emailId'] = sanitize_email($data->emailId);
181 $param['password'] = $data->password;
182 $param['contact_no'] = $data->contact_no;
183 $param['calling_code'] = $data->calling_code;
184 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
185 /* --End-- Manage Param Data */
186 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/register', $param, []);
187 $response = ___tagembed__manageApiResponse($response);
188 unset($param);
189 $param = ['userId' => sanitize_key($response->userId), 'inheritStyles' => 1];
190 ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/create', $param, ['Authorization:' . $response->access_token]);
191 if (___tagembed__login($response) == true) :
192 return ___tagembed__exitWithSuccess(['redirectUrl' => TAGEMBED_PLUGIN_CALL_BACK_URL]);
193 else :
194 return ___tagembed__exitWithDanger();
195 endif;
196 break;
197 case '__tagembed__login':
198 if (empty($data->emailId) || empty($data->password)) :
199 return ___tagembed__exitWithDanger();
200 endif;
201 /* --Start-- Manage Param Data */
202 $param['emailId'] = sanitize_email($data->emailId);
203 $param['password'] = $data->password;
204 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
205 /* --End-- Manage Param Data */
206 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/login', $param, []);
207 unset($param);
208 $response = ___tagembed__manageApiResponse($response);
209 if (___tagembed__login($response) == true) :
210 return ___tagembed__exitWithSuccess(['redirectUrl' => TAGEMBED_PLUGIN_CALL_BACK_URL]);
211 else :
212 return ___tagembed__exitWithDanger();
213 endif;
214 break;
215 case '__tagembed__google_auth_url':
216 $__tagembed__google_state = wp_generate_password(32, false, false);
217 $__tagembed__google_verifier = wp_generate_password(64, false, false);
218 set_transient('__tagembed__google_' . $__tagembed__google_state, ['verifier' => $__tagembed__google_verifier, 'userId' => get_current_user_id()], 10 * MINUTE_IN_SECONDS);
219 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
220 $param['state'] = $__tagembed__google_state;
221 $param['challenge'] = hash('sha256', $__tagembed__google_verifier);
222 $param['returnUrl'] = TAGEMBED_PLUGIN_CALL_BACK_URL;
223 $__tagembed__google_auth_url = TAGEMBED_PLUGIN_API_URL . 'apiaccount/googleauth?' . http_build_query($param, '', '&');
224 unset($param);
225 return ___tagembed__exitWithSuccess(['authUrl' => $__tagembed__google_auth_url]);
226 break;
227 case '__tagembed__logout':
228 if (tagembed_logout()) :
229 return ___tagembed__exitWithSuccess(['redirectUrl' => TAGEMBED_PLUGIN_REDIRECT_URL . 'tagembed']);
230 else :
231 return ___tagembed__exitWithDanger();
232 endif;
233 break;
234 case '__tagembed__check_plan_premium_feature':
235 if (empty($__tagembed__user_details)) :
236 return ___tagembed__exitWithDanger();
237 endif;
238 /* --Start-- Manage Param Data */
239 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
240 /* --End-- Manage Param Data */
241 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/checkPlanPremiumFeature', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
242 unset($param);
243 $response = ___tagembed__manageApiResponse($response);
244 return ___tagembed__exitWithSuccess($response);
245 break;
246 case '__tagembed__check_user_accout_status':
247 if (empty($__tagembed__user_details)) :
248 return ___tagembed__exitWithDanger();
249 endif;
250 /* --Start-- Manage Param Data */
251 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
252 /* --End-- Manage Param Data */
253 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/checkUserAccountStatus', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
254 unset($param);
255 $response = ___tagembed__manageApiResponse($response);
256 return ___tagembed__exitWithSuccess($response);
257 break;
258 case '__tagembed__get_cards':
259 if (empty($__tagembed__user_details)) :
260 return ___tagembed__exitWithDanger();
261 endif;
262 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
263 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
264 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getcards', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
265 unset($param);
266 $response = ___tagembed__manageApiResponse($response);
267 return ___tagembed__exitWithSuccess($response);
268 break;
269 case '__tagembed__card_session':
270 if (empty($__tagembed__user_details)) :
271 return ___tagembed__exitWithDanger();
272 endif;
273 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
274 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
275 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/cardsession', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
276 unset($param);
277 $response = ___tagembed__manageApiResponse($response);
278 return ___tagembed__exitWithSuccess($response);
279 break;
280 case '__tagembed__get_plan_status':
281 if (empty($__tagembed__user_details)) :
282 return ___tagembed__exitWithDanger();
283 endif;
284 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
285 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
286 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/planstatus', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
287 unset($param);
288 $response = ___tagembed__manageApiResponse($response);
289 return ___tagembed__exitWithSuccess($response);
290 break;
291 case '__tagembed__get_invoice_pdf':
292 if (empty($__tagembed__user_details) || empty($data->invoiceId)) :
293 return ___tagembed__exitWithDanger();
294 endif;
295 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
296 $param['invoiceId'] = sanitize_text_field($data->invoiceId);
297 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
298 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/invoicepdf', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
299 unset($param);
300 $response = ___tagembed__manageApiResponse($response);
301 return ___tagembed__exitWithSuccess($response);
302 break;
303 case '__tagembed__get_invoices':
304 if (empty($__tagembed__user_details)) :
305 return ___tagembed__exitWithDanger();
306 endif;
307 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
308 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
309 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getinvoices', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
310 unset($param);
311 $response = ___tagembed__manageApiResponse($response);
312 return ___tagembed__exitWithSuccess($response);
313 break;
314 case '__tagembed__get_account_details':
315 $data->auth = !empty($data->auth) ? 1 : 0;
316 if (empty($__tagembed__user_details)) :
317 return ___tagembed__exitWithDanger();
318 endif;
319 /* --Start-- Manage Param Data */
320 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
321 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
322 /* --End-- Manage Param Data */
323 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getdetails', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
324 unset($param);
325 $response = ___tagembed__manageApiResponse($response);
326 return ___tagembed__exitWithSuccess($response);
327 break;
328
329 case '__tagembed__manage_active_widget':
330 if (empty($data->widgetId)) :
331 return ___tagembed__exitWithDanger();
332 endif;
333 if (___tagembed__manageActiveWidget($data->widgetId)) :
334 return ___tagembed__exitWithSuccess();
335 else :
336 return ___tagembed__exitWithDanger();
337 endif;
338 break;
339 case '__tagembed__menue':
340 if (empty($data->menueId)) :
341 return ___tagembed__exitWithDanger();
342 endif;
343 if (___tagembed__menus(['__tagembed__menu_id' => $data->menueId])) :
344 return ___tagembed__exitWithSuccess(['redirectUrl' => TAGEMBED_PLUGIN_REDIRECT_URL . 'tagembed']);
345 else :
346 return ___tagembed__exitWithDanger();
347 endif;
348 break;
349 case '__tagembed__create_widget':
350 if (empty($__tagembed__user_details) || empty($data->name)) :
351 return ___tagembed__exitWithDanger('Validation Error', ['name' => 'Widget name is required']);
352 endif;
353 $data->profanity = (isset($data->profanity)) ? 0 : 1;
354 /* --Start-- Manage Param Data */
355 $param['name'] = sanitize_text_field($data->name);
356 $param['profanity'] = sanitize_key($data->profanity);
357 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
358 $param['inheritStyles'] = 1;
359 /* --End-- Manage Param Data */
360 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/create', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
361 unset($param);
362 $response = ___tagembed__manageApiResponse($response);
363 $response = !empty($response->message) ? $response->message : 'Done';
364 return ___tagembed__exitWithSuccess(['message' => $response, 'redirectUrl' => TAGEMBED_PLUGIN_CALL_BACK_URL]);
365 break;
366 case '__tagembed__edit_widget':
367 if (empty($__tagembed__user_details) || empty($data->name) || empty($data->widgetId)) :
368 return ___tagembed__exitWithDanger('Validation Error', ['name' => 'Widget name is required']);
369 endif;
370 /* --Start-- Manage Param Data */
371 $param['name'] = sanitize_text_field($data->name);
372 $param['widgetId'] = sanitize_key($data->widgetId);
373 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
374 /* --End-- Manage Param Data */
375 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/edit', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
376 unset($param);
377 $response = ___tagembed__manageApiResponse($response);
378 $response = !empty($response->message) ? $response->message : 'Done';
379 return ___tagembed__exitWithSuccess(['message' => $response, 'redirectUrl' => TAGEMBED_PLUGIN_CALL_BACK_URL]);
380 break;
381 case '__tagembed__update_widget_status':
382 if (empty($__tagembed__user_details) || empty($data->widgetId)) :
383 return ___tagembed__exitWithDanger();
384 endif;
385 /* --Start-- Manage Param Data */
386 $param['status'] = sanitize_key($data->status);
387 $param['widgetId'] = sanitize_key($data->widgetId);
388 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
389 /* --End-- Manage Param Data */
390 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/status', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
391 unset($param);
392 $response = ___tagembed__manageApiResponse($response);
393 $response = !empty($response->message) ? $response->message : 'Done';
394 return ___tagembed__exitWithSuccess(['message' => $response]);
395 break;
396 case '__tagembed__delete_widget':
397 if (empty($__tagembed__user_details) || empty($data->widgetId)) :
398 return ___tagembed__exitWithDanger();
399 endif;
400 /* --Start-- Manage Param Data */
401 $param['widgetId'] = sanitize_key($data->widgetId);
402 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
403 /* --End-- Manage Param Data */
404 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/delete', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
405 unset($param);
406 $response = ___tagembed__manageApiResponse($response);
407 $response = !empty($response->message) ? $response->message : 'Done';
408 return ___tagembed__exitWithSuccess(['message' => $response]);
409 break;
410 case '__tagembed__source_networks':
411 $data->auth = !empty($data->auth) ? 1 : 0;
412 if (empty($__tagembed__user_details)) :
413 return ___tagembed__exitWithDanger();
414 endif;
415 /* --Start-- Manage Param Data */
416 $param['auth'] = sanitize_key($data->auth);
417 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
418 /* --End-- Manage Param Data */
419 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apinetwork/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
420 unset($param);
421 $response = ___tagembed__manageApiResponse($response);
422 return ___tagembed__exitWithSuccess($response);
423 break;
424 case '__tagembed__get_themes':
425 if (empty($__tagembed__user_details) || empty($data->widgetId)) :
426 return ___tagembed__exitWithDanger();
427 endif;
428 /* --Start-- Manage Param Data */
429 $param['widgetId'] = sanitize_key($data->widgetId);
430 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
431 /* --End-- Manage Param Data */
432 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'Apitheme/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
433 unset($param);
434 $response = ___tagembed__manageApiResponse($response);
435 return ___tagembed__exitWithSuccess($response);
436 break;
437 case '__tagembed__edit_themes':
438 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->themeId)) :
439 return ___tagembed__exitWithDanger();
440 endif;
441 /* --Start-- Manage Param Data */
442 $param['themeId'] = sanitize_key($data->themeId);
443 $param['widgetId'] = sanitize_key($data->widgetId);
444 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
445 /* --End-- Manage Param Data */
446 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'Apitheme/edit', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
447 unset($param);
448 $response = ___tagembed__manageApiResponse($response);
449 return ___tagembed__exitWithSuccess($response);
450 break;
451 case '__tagembed__get_network_filter':
452 if (empty($__tagembed__user_details) || empty($data->networkId)) :
453 return ___tagembed__exitWithDanger();
454 endif;
455 /* --Start-- Manage Param Data */
456 $param['networkId'] = sanitize_key($data->networkId);
457 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
458 /* --End-- Manage Param Data */
459 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apinetwork/filter', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
460 unset($param);
461 $response = ___tagembed__manageApiResponse($response);
462 return ___tagembed__exitWithSuccess($response);
463 break;
464 case '__tagembed__get_already_exist_accounts':
465 if (empty($__tagembed__user_details)) :
466 return ___tagembed__exitWithDanger();
467 endif;
468 /* --Start-- Manage Param Data */
469 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
470 /* --End-- Manage Param Data */
471 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/getalreadyexistaccounts', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
472 unset($param);
473 $response = ___tagembed__manageApiResponse($response);
474 return ___tagembed__exitWithSuccess($response);
475 break;
476 case '__tagembed__add_or_update_account':
477 if (empty($__tagembed__user_details) || empty($data->networkId) || empty($data->type)) :
478 return ___tagembed__exitWithDanger();
479 endif;
480 /* --Start-- Manage Param Data */
481 $param['connectedAccountId'] = $data->connectedAccountId;
482 $param['feedId'] = sanitize_key($data->feedId);
483 $param['type'] = sanitize_text_field($data->type);
484 $param['networkId'] = sanitize_key($data->networkId);
485 $param['filterId'] = sanitize_key($data->filterId);
486 $param['otherData'] = $data->otherData;
487 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
488 /* --End-- Manage Param Data */
489 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/addorupdate', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
490 unset($param);
491 $response = ___tagembed__manageApiResponse($response);
492 return ___tagembed__exitWithSuccess(['__tagembed__requestCallBackUrl' => TAGEMBED_PLUGIN_CALL_BACK_URL, 'redirectUrl' => TAGEMBED_PLUGIN_API_URL . 'apiauth/getauth', '__tagembed__feedData' => $response->__tagembed__feedData]);
493 break;
494 case '__tagembed__delete_account':
495 if (empty($__tagembed__user_details) || empty($data->networkId) || empty($data->parentId)) :
496 return ___tagembed__exitWithDanger();
497 endif;
498 /* --Start-- Manage Param Data */
499 $param['parentId'] = sanitize_key($data->parentId);
500 $param['networkId'] = sanitize_key($data->networkId);
501 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
502 /* --End-- Manage Param Data */
503 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/delete', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
504 unset($param);
505 $response = ___tagembed__manageApiResponse($response);
506 $response = !empty($response->message) ? $response->message : 'Done';
507 return ___tagembed__exitWithSuccess(['message' => $response]);
508 break;
509 case '__tagembed__get_already_exist_auth':
510 if (empty($__tagembed__user_details) || empty($data->networkId)) :
511 return ___tagembed__exitWithDanger();
512 endif;
513 /* --Start-- Manage Param Data */
514 $param['networkId'] = sanitize_key($data->networkId);
515 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
516 /* --End-- Manage Param Data */
517 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
518 unset($param);
519 $response = ___tagembed__manageApiResponse($response);
520 return ___tagembed__exitWithSuccess($response);
521 break;
522 case '__tagembed__search_google_location':
523 if (empty($__tagembed__user_details) || empty($data->googleLocationName)) :
524 return ___tagembed__exitWithDanger();
525 endif;
526 /* --Start-- Manage Param Data */
527 $param['googleLocationName'] = $data->googleLocationName;
528 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
529 /* --End-- Manage Param Data */
530 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/searchgooglelocation', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
531 unset($param);
532 $response = ___tagembed__manageApiResponse($response);
533 return ___tagembed__exitWithSuccess($response);
534 break;
535 case '__tagembed__search_vk_communities':
536 if (empty($__tagembed__user_details) || empty($data->vkCommunitiesName)) :
537 return ___tagembed__exitWithDanger();
538 endif;
539 /* --Start-- Manage Param Data */
540 $param['vkCommunitiesName'] = $data->vkCommunitiesName;
541 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
542 /* --End-- Manage Param Data */
543 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/searchVkCommunities', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
544 unset($param);
545 $response = ___tagembed__manageApiResponse($response);
546 return ___tagembed__exitWithSuccess($response);
547 break;
548 case '__tagembed__search_facebook_page':
549 if (empty($data->facebookPageData)) :
550 return ___tagembed__exitWithDanger();
551 endif;
552 /* --Start-- Manage Param Data */
553 $param['facebookPageData'] = $data->facebookPageData;
554 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
555 /* --End-- Manage Param Data */
556 /* --Start-- Call And Manage Api Call */
557 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/searchfacebookpage', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
558 unset($param);
559 $response = ___tagembed__manageApiResponse($response);
560 return ___tagembed__exitWithSuccess($response);
561 break;
562 case '__tagembed__get_facebook_page_albums':
563 if (empty($__tagembed__user_details) || empty($data->connectedAccountsId)) :
564 return ___tagembed__exitWithDanger();
565 endif;
566 /* --Start-- Manage Param Data */
567 $param['connectedAccountsId'] = sanitize_key($data->connectedAccountsId);
568 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
569 /* --End-- Manage Param Data */
570 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/apiauthfacebookpagealbums', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
571 unset($param);
572 $response = ___tagembed__manageApiResponse($response);
573 return ___tagembed__exitWithSuccess($response);
574 break;
575 case '__tagembed__search_youtube_channel':
576 if (empty($__tagembed__user_details) || empty($data->youtubeChannelData)) :
577 return ___tagembed__exitWithDanger();
578 endif;
579 /* --Start-- Manage Param Data */
580 $param['youtubeChannelData'] = $data->youtubeChannelData;
581 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
582 /* --End-- Manage Param Data */
583 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/searchyoutubechannel', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
584 unset($param);
585 $response = ___tagembed__manageApiResponse($response);
586 return ___tagembed__exitWithSuccess($response);
587 break;
588 case '__tagembed__get_youtube_playlist':
589 if (empty($__tagembed__user_details) || empty($data->youtubeId)) :
590 return ___tagembed__exitWithDanger();
591 endif;
592 /* --Start-- Manage Param Data */
593 $param['youtubeId'] = $data->youtubeId;
594 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
595 /* --End-- Manage Param Data */
596 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/getyoutubeplaylist', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
597 unset($param);
598 $response = ___tagembed__manageApiResponse($response);
599 return ___tagembed__exitWithSuccess($response);
600 break;
601 case '__tagembed__get_slack_channel_list':
602 if (empty($data->connectedAccountsId)) :
603 return ___tagembed__exitWithDanger();
604 endif;
605 /* --Start-- Manage Param Data */
606 $param['connectedAccountsId'] = $data->connectedAccountsId;
607 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
608 /* --End-- Manage Param Data */
609 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/getslackchannellist', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
610 unset($param);
611 $response = ___tagembed__manageApiResponse($response);
612 return ___tagembed__exitWithSuccess($response);
613 break;
614 case '__tagembed__get_feed':
615 if (empty($__tagembed__user_details) || empty($data->widgetId)) :
616 return ___tagembed__exitWithDanger();
617 endif;
618 /* --Start-- Manage Param Data */
619 $param['widgetId'] = sanitize_key($data->widgetId);
620 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
621 /* --End-- Manage Param Data */
622 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
623 unset($param);
624 $response = ___tagembed__manageApiResponse($response);
625 return ___tagembed__exitWithSuccess($response);
626 break;
627 case '__tagembed__update_feed_status':
628 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->feedId)) :
629 return ___tagembed__exitWithDanger();
630 endif;
631 /* --Start-- Manage Param Data */
632 $param['feedId'] = sanitize_key($data->feedId);
633 $param['status'] = sanitize_key($data->status);
634 $param['widgetId'] = sanitize_key($data->widgetId);
635 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
636 /* --End-- Manage Param Data */
637 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/status', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
638 unset($param);
639 $response = ___tagembed__manageApiResponse($response);
640 $response = !empty($response->message) ? $response->message : 'Done';
641 return ___tagembed__exitWithSuccess(['message' => $response]);
642 break;
643 case '__tagembed__delete_feed':
644 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->feedId)) :
645 return ___tagembed__exitWithDanger();
646 endif;
647 /* --Start-- Manage Param Data */
648 $param['feedId'] = sanitize_key($data->feedId);
649 $param['widgetId'] = sanitize_key($data->widgetId);
650 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
651 /* --End-- Manage Param Data */
652 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/delete', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
653 unset($param);
654 $response = ___tagembed__manageApiResponse($response);
655 $response = !empty($response->message) ? $response->message : 'Done';
656 return ___tagembed__exitWithSuccess(['message' => $response]);
657 break;
658 case '__tagembed__create_feed':
659 if (empty($__tagembed__user_details) || empty($data->widgetName) || empty($data->networkName) || empty($data->filterName) || empty($data->widgetId) || empty($data->networkId) || empty($data->filterId)) :
660 return ___tagembed__exitWithDanger();
661 endif;
662 $__tagembed__feed_input_data = ['feed' => sanitize_text_field($data->feed), 'userId' => sanitize_key($__tagembed__user_details->userId), 'moderation' => sanitize_key(isset($data->moderation) ? 1 : 0), 'widgetName' => sanitize_text_field($data->widgetName), 'networkName' => sanitize_text_field($data->networkName), 'filterName' => sanitize_text_field($data->filterName), 'widgetId' => sanitize_key($data->widgetId), 'networkId' => sanitize_key($data->networkId), 'filterId' => sanitize_key($data->filterId), 'auth' => 0, 'authId' => isset($data->authId) ? sanitize_key($data->authId) : 0];
663 $__tagembed__feed_input_data['feed'] = !empty($data->feed) ? sanitize_text_field($data->feed) : '__tagembed__feed';
664 $__tagembed__feed_filter_id = $data->filterId;
665 switch ($__tagembed__feed_input_data['networkId']):
666 case 1:
667 $__tagembed__feed_input_data['auth'] = 1;
668 $__tagembed__feed_input_data['multiplePhoto'] = sanitize_key(isset($data->multiplePhoto) ? 1 : 0);
669 $__tagembed__feed_input_data['excludeRetweet'] = sanitize_key(isset($data->excludeRetweet) ? 1 : 0);
670 if (!empty($data->list)) :
671 $__tagembed__feed_input_data['list'] = sanitize_key($data->list);
672 endif;
673 break;
674 case 2:
675 $__tagembed__feed_input_data['auth'] = 1;
676 break;
677 case 3:
678 $__tagembed__feed_input_data['auth'] = 1;
679 switch ($__tagembed__feed_filter_id):
680 case 65:
681 $__tagembed__feed_input_data['accountAlbumType'] = sanitize_key(isset($data->accountAlbumType) ? $data->accountAlbumType : '');
682 $__tagembed__feed_input_data['accountAlbumData'] = sanitize_text_field(isset($data->accountAlbumData) ? $data->accountAlbumData : '');
683 break;
684 endswitch;
685 break;
686 case 4:
687 if ($__tagembed__feed_filter_id == 29) :
688 $__tagembed__feed_input_data['auth'] = 1;
689 else :
690 $__tagembed__feed_input_data['placeId'] = $data->placeId;
691 $__tagembed__feed_input_data['placeName'] = $data->placeName;
692 endif;
693 break;
694 case 5:
695 switch ($__tagembed__feed_filter_id):
696 case 1:
697 case 71:
698 break;
699 case 12:
700 if (!preg_match('/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
701 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
702 endif;
703 $pintrestHeaders = explode('/', parse_url($data->feed)['path']);
704 $__tagembed__feed_input_data['value1'] = strtolower($pintrestHeaders[1]);
705 $__tagembed__feed_input_data['value2'] = strtolower($pintrestHeaders[2]);
706 break;
707 endswitch;
708 break;
709 case 6:
710 switch ($__tagembed__feed_filter_id):
711 case 1:
712 case 2:
713 $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = $data->feed;
714 break;
715 endswitch;
716 break;
717 case 7:
718 if (in_array($__tagembed__feed_filter_id, [1, 71])) :
719 $isUrl = false;
720 if (preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
721 $isUrl = true;
722 endif;
723 if ((empty($data->youtubeId) || empty($data->youtubeName)) && !$isUrl) :
724 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid Channel URL Or Tab On Search Icon']);
725 endif;
726 if ($isUrl) :
727 $data->youtubeId = explode('/', $data->feed);
728 $data->youtubeId = $data->youtubeId[4];
729 $data->youtubeName = 'youtube';
730 if (empty($data->youtubeId) || empty($data->youtubeName)) :
731 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid Channel URL']);
732 endif;
733 endif;
734 endif;
735 switch ($__tagembed__feed_filter_id):
736 case 1:
737 case 75:
738 $__tagembed__feed_input_data['youtubeId'] = $data->youtubeId;
739 $__tagembed__feed_input_data['youtubeName'] = $data->youtubeName;
740 break;
741 case 11:
742 if (empty($data->youtubePlaylist) && empty($data->youtubeId)) :
743 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid Channel URL Or Tab On Search Icon']);
744 elseif (empty($data->youtubePlaylist) && !empty($data->youtubeId)) :
745 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Play List Not Found']);
746 endif;
747 $data->youtubePlaylist = explode('#', $data->youtubePlaylist);
748 $__tagembed__feed_input_data['youtubeId'] = $data->youtubePlaylist[0];
749 $__tagembed__feed_input_data['youtubeName'] = $data->youtubePlaylist[1];
750 $__tagembed__feed_input_data['feed'] = $data->youtubePlaylist[1];
751 unset($data->youtubePlaylist);
752 break;
753 endswitch;
754 break;
755 case 8:
756 switch ($__tagembed__feed_filter_id):
757 case 1:
758 case 2:
759 $__tagembed__feed_input_data['auth'] = 1;
760 break;
761 endswitch;
762 break;
763 case 10:
764 if (in_array($__tagembed__feed_filter_id, [1, 16, 17])) :
765 if (!preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
766 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
767 endif;
768 endif;
769 switch ($__tagembed__feed_filter_id):
770 case 16:
771 $postUrl = parse_url($data->feed);
772 if (!strstr($postUrl['host'], 'linkedin')) :
773 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Linkedin Post Url']);
774 endif;
775 $postUrl = $data->feed;
776 $postUrl = rtrim($postUrl, '/');
777 preg_match('/[^\/]+$/', $postUrl, $postId);
778 $postId = $postId[0];
779 $postId = (explode('?', $postId)[0]);
780 $value1 = 'LinkedIn';
781 if (stripos($postId, 'activity') !== false) :
782 $postId = (explode('activity', $postId)[1]);
783 $value2 = 'activity';
784 elseif (stripos($postId, 'ugcPost') !== false) :
785 $postId = (explode('ugcPost', $postId)[1]);
786 $value2 = 'ugcPost';
787 else :
788 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Linkedin Post Url']);
789 endif;
790 preg_match_all('!\d+!', $postId, $postId);
791 if (isset($postId[0][0]) && empty($postId[0][0])) :
792 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Linkedin Post Url']);
793 endif;
794 $value3 = $postId[0][0];
795 if (empty($value1) || empty($value2) || empty($value3)) :
796 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Linkedin Post Url']);
797 endif;
798 $__tagembed__feed_input_data['value1'] = $value1;
799 $__tagembed__feed_input_data['value2'] = $value2;
800 $__tagembed__feed_input_data['value3'] = $value3;
801 break;
802 case 1:
803 case 17:
804 $url = parse_url($data->feed);
805 $companyPageUrl = $url['scheme'] . '://' . $url['host'];
806 $url = explode('/', $url['path']);
807 $companyPageUrl = $companyPageUrl . '/' . $url[1] . '/' . $url[2] . '/';
808 $__tagembed__feed_input_data['feed'] = $companyPageUrl;
809 $url[2] = str_replace('-', ' ', '$url[2]');
810 $__tagembed__feed_input_data['page'] = ucwords($url[2], ' ');
811 break;
812 case 2:
813 $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = $data->feed;
814 break;
815 endswitch;
816 break;
817 case 11:
818 switch ($__tagembed__feed_filter_id):
819 case 1:
820 case 2:
821 $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = $data->feed;
822 break;
823 endswitch;
824 break;
825 case 12:
826 if (!preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
827 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
828 endif;
829 $__tagembed__feed_input_data['name'] = $data->name;
830 break;
831 case 18:
832 switch ($__tagembed__feed_filter_id):
833 case 23:
834 if (!preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
835 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
836 endif;
837 break;
838 case 26:
839 $__tagembed__feed_input_data['hashtagCaption'] = sanitize_key(isset($data->hashtagCaption) ? 1 : 0);
840 $__tagembed__feed_input_data['hashtagOlder'] = sanitize_key(isset($data->hashtagOlder) ? 1 : 0);
841 break;
842 endswitch;
843 $__tagembed__feed_input_data['auth'] = 1;
844 break;
845 case 19:
846 if (!preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
847 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
848 endif;
849 $yelpBusinessUrl = parse_url($data->feed);
850 if (!strstr($yelpBusinessUrl['host'], 'yelp')) :
851 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Yelp Business Url']);
852 endif;
853 $yelpBusinessPath = explode('/', $yelpBusinessUrl['path']);
854 $__tagembed__feed_input_data['feed'] = $yelpBusinessPath[2];
855 $__tagembed__feed_input_data['name'] = $yelpBusinessPath[2];
856 break;
857 case 20:
858 $__tagembed__feed_input_data['auth'] = 1;
859 $slackData = isset($data->slackChannelList) ? $data->slackChannelList : '';
860 if (!empty($slackData)) :
861 $slackData = explode('#', $slackData);
862 $__tagembed__feed_input_data['name'] = $slackData[1];
863 $__tagembed__feed_input_data['feed'] = $slackData[0];
864 endif;
865 break;
866 case 23:
867 if (!preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
868 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
869 endif;
870 $airbnbListUrl = parse_url($data->feed);
871 if (strstr($airbnbListUrl['host'], 'airbnb')) :
872 preg_match('/[^\/]+$/', $data->feed, $matches);
873 $__tagembed__feed_input_data['listId'] = explode('?', $matches[0])[0];
874 else :
875 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Airbnb Url']);
876 endif;
877 $__tagembed__feed_input_data['name'] = $data->name;
878 break;
879 case 36:
880 if (!preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
881 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
882 endif;
883 $etsyShopUrl = parse_url($data->feed);
884 if (!strstr($etsyShopUrl['host'], 'etsy')) :
885 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Etsy Shop Url']);
886 endif;
887 $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = explode('/shop/', $etsyShopUrl['path'])[1];
888 break;
889 case 28:
890 switch ($__tagembed__feed_filter_id):
891 case 72:
892 $__tagembed__feed_input_data['feed'] = $data->feed;
893 $__tagembed__feed_input_data['name'] = $data->feed;
894 break;
895 endswitch;
896 if (!in_array($__tagembed__feed_filter_id, [72])) :
897 $__tagembed__feed_input_data['auth'] = 1;
898 endif;
899 break;
900 case 30:
901 switch ($__tagembed__feed_filter_id):
902 case 2:
903 $__tagembed__feed_input_data['feed'] = $data->feed;
904 $__tagembed__feed_input_data['name'] = $data->feed;
905 break;
906 case 75:
907 $__tagembed__feed_input_data['communitiesName'] = $data->communitiesName;
908 $__tagembed__feed_input_data['communitiesId'] = $data->communitiesId;
909 break;
910 endswitch;
911 if (!in_array($__tagembed__feed_filter_id, [2, 75])) :
912 $__tagembed__feed_input_data['auth'] = 1;
913 endif;
914 break;
915 case 33:
916 if (!preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
917 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
918 endif;
919 preg_match('/[^\/]+$/', '$data->feed', $matches);
920 $__tagembed__feed_input_data['feed'] = $matches[0];
921 $__tagembed__feed_input_data['name'] = $matches[0];
922 break;
923 case 34:
924 if (!preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
925 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
926 endif;
927 $__tagembed__feed_input_data['name'] = explode('/', $data->feed)[3];
928 $__tagembed__feed_input_data['feed'] = $data->feed;
929 break;
930 case 35:
931 if (!preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
932 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
933 endif;
934 $__tagembed__feed_input_data['name'] = explode('Reviews-', $data->feed)[1];
935 $__tagembed__feed_input_data['name'] = explode('.html', $__tagembed__feed_input_data['name'])[0];
936 $__tagembed__feed_input_data['feed'] = $data->feed;
937 break;
938 case 37:
939 $data->feed = explode('.html', $data->feed)[0];
940 if (!preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
941 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
942 endif;
943 $__tagembed__feed_input_data['name'] = $data->feed;
944 $__tagembed__feed_input_data['feed'] = explode('item/', $data->feed)[1];
945 break;
946 endswitch;
947 unset($data);
948
949 /* --Start-- Manage Api Calling */
950 $byApiCall = 0;
951 if (empty($__tagembed__feed_input_data['authId'])) :
952 switch ($__tagembed__feed_input_data['networkId']):
953 case 4:
954 if (33 == $__tagembed__feed_filter_id) :
955 $byApiCall = 1;
956 $__tagembed__feed_input_data['byApiCall'] = 1;
957 endif;
958 break;
959 case 5:
960 case 7:
961 case 6:
962 case 10:
963 case 11:
964 case 12:
965 case 19:
966 case 23:
967 case 28:
968 case 29:
969 case 33:
970 case 34:
971 case 35:
972 case 37:
973 $byApiCall = 1;
974 $__tagembed__feed_input_data['byApiCall'] = 1;
975 break;
976 case 31:
977 if (2 == $__tagembed__feed_filter_id) :
978 $byApiCall = 1;
979 $__tagembed__feed_input_data['byApiCall'] = 1;
980 endif;
981 break;
982 case 32:
983 if (in_array($__tagembed__feed_filter_id, [2, 75])) :
984 $byApiCall = 1;
985 $__tagembed__feed_input_data['byApiCall'] = 1;
986 endif;
987 break;
988 endswitch;
989 else :
990 $byApiCall = 1;
991 $__tagembed__feed_input_data['byApiCall'] = 1;
992 endif;
993 $__tagembed__feed_input_data['appUser'] = 1;
994 $__tagembed__feed_input_data['platform'] = TAGEMBED_PLUGIN_PLATFORM;
995 /* --End-- Manage Api Calling */
996 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/create', ['feedData' => $__tagembed__feed_input_data], ['Authorization:' . $__tagembed__user_details->accessToken]);
997 $response = ___tagembed__manageApiResponse($response);
998 return ___tagembed__exitWithSuccess(['byapiCall' => $byApiCall, '__tagembed__requestCallBackUrl' => TAGEMBED_PLUGIN_CALL_BACK_URL, 'redirectUrl' => TAGEMBED_PLUGIN_API_URL . 'apiauth/getauth', '__tagembed__feedData' => $response->__tagembed__feedData]);
999 break;
1000 case '__tagembed__make_payment':
1001
1002 if (empty($__tagembed__user_details) || empty($data->planId)) :
1003 return ___tagembed__exitWithDanger();
1004 endif;
1005 /* --Start-- Manage Param Data */
1006 $param['planId'] = sanitize_key($data->planId);
1007 $param['priceCode'] = $data->priceCode;
1008 /* --Start-- Manage Param Data */
1009 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1010 $param['email'] = $__tagembed__user_details->email;
1011 $param['name'] = $__tagembed__user_details->name;
1012 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
1013 /* --End-- Manage Param Data */
1014 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getpaymentdetails', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1015 unset($param);
1016 $response = ___tagembed__manageApiResponse($response);
1017 return ___tagembed__exitWithSuccess(['__tagembed__requestCallBackUrl' => TAGEMBED_PLUGIN_CALL_BACK_URL, 'redirectUrl' => TAGEMBED_PLUGIN_API_URL . 'apiaccount/makepayment', '__tagembed__paymentData' => $response->__tagembed__paymentData]);
1018 break;
1019 case '__tagembed__resume_subscription':
1020 if (empty($__tagembed__user_details)) :
1021 return ___tagembed__exitWithDanger();
1022 endif;
1023 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1024 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
1025 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/resumesubscription', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1026 unset($param);
1027 $response = ___tagembed__manageApiResponse($response);
1028 $response = !empty($response->message) ? $response->message : 'Done';
1029 return ___tagembed__exitWithSuccess(['message' => $response]);
1030 break;
1031 case '__tagembed__cancel_subscription':
1032 if (empty($__tagembed__user_details) || empty($data->planId)) :
1033 return ___tagembed__exitWithDanger();
1034 endif;
1035 /* --Start-- Manage Param Data */
1036 $param['planId'] = sanitize_key($data->planId);
1037 /* --Start-- Manage Param Data */
1038 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1039 $param['email'] = $__tagembed__user_details->email;
1040 $param['name'] = $__tagembed__user_details->name;
1041 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
1042 /* --End-- Manage Param Data */
1043 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/cancelsubscription', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1044 unset($param);
1045 $response = ___tagembed__manageApiResponse($response);
1046 $response = !empty($response->message) ? $response->message : 'Done';
1047 return ___tagembed__exitWithSuccess(['message' => $response]);
1048 break;
1049 case '__tagembed__get_post':
1050 if (empty($__tagembed__user_details) || empty($data->widgetId) || !isset($data->perPage) || !isset($data->offset) || !isset($data->postStatus)) :
1051 return ___tagembed__exitWithDanger();
1052 endif;
1053 /* --Start-- Manage Param Data */
1054 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1055 $param['widgetId'] = sanitize_key($data->widgetId);
1056 $param['perPage'] = sanitize_key($data->perPage);
1057 $param['offset'] = sanitize_key($data->offset);
1058 $param['postStatus'] = sanitize_key($data->postStatus);
1059 $param['feedIds'] = $data->feedIds;
1060 $param['postType'] = $data->postType;
1061 $param['highlightFilter'] = sanitize_key($data->highlightFilter);
1062 $param['pinFilter'] = sanitize_key($data->pinFilter);
1063 $param['recentFilter'] = sanitize_key($data->recentFilter);
1064 $param['retweetFilter'] = sanitize_key($data->retweetFilter);
1065 $param['searchText'] = sanitize_text_field($data->searchText);
1066 /* --End-- Manage Param Data */
1067 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1068 unset($param);
1069 $response = ___tagembed__manageApiResponse($response);
1070 return ___tagembed__exitWithSuccess($response);
1071 break;
1072 case '__tagembed__manage_post_status':
1073 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->postIds) || empty($data->postStatus)) :
1074 return ___tagembed__exitWithDanger();
1075 endif;
1076 /* --Start-- Manage Param Data */
1077 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1078 $param['widgetId'] = sanitize_key($data->widgetId);
1079 $param['postIds'] = $data->postIds;
1080 $param['postStatus'] = sanitize_key($data->postStatus);
1081 /* --End-- Manage Param Data */
1082 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/status', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1083 unset($param);
1084 $response = ___tagembed__manageApiResponse($response);
1085 $response = !empty($response->message) ? $response->message : 'Done';
1086 return ___tagembed__exitWithSuccess(['message' => $response]);
1087 break;
1088 case '__tagembed__feed_for_search':
1089 if (empty($__tagembed__user_details) || empty($data->widgetId)) :
1090 return ___tagembed__exitWithDanger();
1091 endif;
1092 /* --Start-- Manage Param Data */
1093 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1094 $param['widgetId'] = sanitize_key($data->widgetId);
1095 /* --End-- Manage Param Data */
1096 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/getfeeds', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1097 unset($param);
1098 $response = ___tagembed__manageApiResponse($response);
1099 return ___tagembed__exitWithSuccess($response);
1100 break;
1101 case '__tagembed__manage_post_pin':
1102 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->postId) || !isset($data->pin)) :
1103 return ___tagembed__exitWithDanger();
1104 endif;
1105 /* --Start-- Manage Param Data */
1106 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1107 $param['widgetId'] = sanitize_key($data->widgetId);
1108 $param['postId'] = $data->postId;
1109 $param['pin'] = sanitize_key($data->pin);
1110 /* --End-- Manage Param Data */
1111 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/pin', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1112 unset($param);
1113 $response = ___tagembed__manageApiResponse($response);
1114 $response = !empty($response->message) ? $response->message : 'Done';
1115 return ___tagembed__exitWithSuccess(['message' => $response]);
1116 break;
1117 case '__tagembed__manage_post_highlight':
1118 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->postId) || !isset($data->highlight)) :
1119 return ___tagembed__exitWithDanger();
1120 endif;
1121 /* --Start-- Manage Param Data */
1122 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1123 $param['widgetId'] = sanitize_key($data->widgetId);
1124 $param['postId'] = $data->postId;
1125 $param['highlight'] = sanitize_key($data->highlight);
1126 /* --End-- Manage Param Data */
1127 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/highlight', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1128 unset($param);
1129 $response = ___tagembed__manageApiResponse($response);
1130 $response = !empty($response->message) ? $response->message : 'Done';
1131 return ___tagembed__exitWithSuccess(['message' => $response]);
1132 break;
1133 case '__tagembed__plugin_version':
1134 /* --Start-- Manage Param Data */
1135 $param = [];
1136 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
1137 /* --End-- Manage Param Data */
1138 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/pluginversion', $param, []);
1139 $response = ___tagembed__manageApiResponse($response);
1140 unset($param);
1141 $installedPluginVersion = get_file_data(__FILE__, ['Version' => 'Version'], false);
1142 $installedPluginVersion = $installedPluginVersion['Version'];
1143 $response->installedPluginVersion = $installedPluginVersion;
1144 $response->pluginUpgradeURL = admin_url() . 'plugins.php';
1145 return ___tagembed__exitWithSuccess($response);
1146 break;
1147 case '__tagembed__check_user_token':
1148 if (empty($__tagembed__user_details)) :
1149 return ___tagembed__exitWithDanger();
1150 endif;
1151 /* --Start-- Manage Param Data */
1152 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1153 /* --End-- Manage Param Data */
1154 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/checkusertoken', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1155 if (!empty($response->head) && 401 == $response->head->code && empty($response->head->status)) :
1156 tagembed_logout();
1157 endif;
1158 unset($param);
1159 return ___tagembed__exitWithSuccess($response);
1160 break;
1161 case '__tagembed__plugin_deactivate':
1162 /* --Start-- Manage Param Data */
1163 $__tagembed__user_details = ___tagembed__userData();
1164 $param = [];
1165 $param['userId'] = !empty($__tagembed__user_details) ? sanitize_key($__tagembed__user_details->userId) : '';
1166 $param['userName'] = !empty($__tagembed__user_details) ? sanitize_text_field($__tagembed__user_details->name) : '';
1167 $param['userEmail'] = !empty($__tagembed__user_details) ? sanitize_email($__tagembed__user_details->email) : '';
1168 $param['pluginDeactivateReason'] = sanitize_text_field($data->pluginDeactivateReason);
1169 $param['otherReason'] = sanitize_text_field($data->otherReason);
1170 $param['betterPlugin'] = sanitize_text_field($data->betterPlugin);
1171 $param['userWebsiteUrl'] = get_site_url();
1172 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
1173 /* --End-- Manage Param Data */
1174 ___tagembed__dropDatabaseTablesForPlugin();
1175 deactivate_plugins(plugin_basename(__FILE__), true);
1176 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/deactivateuserdata', $param, []);
1177 $response = ___tagembed__manageApiResponse($response);
1178 unset($param);
1179 return ___tagembed__exitWithSuccess();
1180 break;
1181 case '__tagembed__get_customization_option':
1182 if (empty($__tagembed__user_details) || empty($data->widgetId)) :
1183 return ___tagembed__exitWithDanger();
1184 endif;
1185 /* --Start-- Manage Param Data */
1186 $param['widgetId'] = sanitize_key($data->widgetId);
1187 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1188 /* --End-- Manage Param Data */
1189 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1190 unset($param);
1191 $response = ___tagembed__manageApiResponse($response);
1192 return ___tagembed__exitWithSuccess($response);
1193 break;
1194 case '__tagembed__update_footer_customization_option':
1195 /* --Start-- Manage Param Data */
1196 $param['widgetId'] = sanitize_key($data->widgetId);
1197 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1198 $param['personalizationId'] = sanitize_key($data->personalizationId);
1199 $param['themeRuleId'] = sanitize_key($data->themeRuleId);
1200 $param['loadMoreStatus'] = sanitize_key($data->loadMoreStatus);
1201 $param['autoScrollStatus'] = sanitize_key($data->autoScrollStatus);
1202 /* --End-- Manage Param Data */
1203 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/footer', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1204 unset($param);
1205 $response = ___tagembed__manageApiResponse($response);
1206 return ___tagembed__exitWithSuccess($response);
1207 break;
1208 case '__tagembed__update_layout_customization_option':
1209 /* --Start-- Manage Param Data */
1210 $param['widgetId'] = sanitize_key($data->widgetId);
1211 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1212 $param['personalizationId'] = sanitize_key($data->personalizationId);
1213 $param['themeRuleId'] = sanitize_key($data->themeRuleId);
1214 $param['numberOfPosts'] = sanitize_key($data->numberOfPosts);
1215 $param['padding'] = sanitize_key($data->padding);
1216 $param['minimumPostWidth'] = sanitize_key($data->minimumPostWidth);
1217 $param['columnCount'] = sanitize_key($data->columnCount);
1218 $param['columnCountMobile'] = sanitize_key($data->columnCountMobile);
1219 $param['postText'] = sanitize_key($data->postText);
1220 $param['mobilePopup'] = sanitize_key($data->mobilePopup);
1221 $param['postFeatured'] = sanitize_key($data->postFeatured);
1222 /* --End-- Manage Param Data */
1223 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/layout', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1224 unset($param);
1225 $response = ___tagembed__manageApiResponse($response);
1226 return ___tagembed__exitWithSuccess($response);
1227 break;
1228 case '__tagembed__update_card_customization_option':
1229 /* --Start-- Manage Param Data */
1230 $param['widgetId'] = sanitize_key($data->widgetId);
1231 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1232 $param['personalizationId'] = sanitize_key($data->personalizationId);
1233 $param['inheritStyles'] = sanitize_key($data->inheritStyles);
1234 $param['themeRuleId'] = sanitize_key($data->themeRuleId);
1235 $param['fontColor'] = $data->fontColor;
1236 $param['authorColor'] = $data->authorColor;
1237 $param['cardColor'] = $data->cardColor;
1238 $param['fontSize'] = sanitize_key($data->fontSize);
1239 $param['shareOption'] = sanitize_key($data->shareOption);
1240 $param['hideContent'] = sanitize_key($data->hideContent);
1241 $param['postAuthor'] = sanitize_key($data->postAuthor);
1242 $param['postTime'] = sanitize_key($data->postTime);
1243 $param['lineTrim'] = sanitize_key($data->lineTrim);
1244 $param['aspectImageRatio'] = $data->aspectImageRatio;
1245 $param['textAlignment'] = $data->textAlignment;
1246 $param['roundEdge'] = $data->roundEdge;
1247 /* --End-- Manage Param Data */
1248 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/card', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1249 unset($param);
1250 $response = ___tagembed__manageApiResponse($response);
1251 return ___tagembed__exitWithSuccess($response);
1252 break;
1253 case '__tagembed__update_other_customization_option':
1254 /* --Start-- Manage Param Data */
1255 $param['widgetId'] = sanitize_key($data->widgetId);
1256 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1257 $param['personalizationId'] = sanitize_key($data->personalizationId);
1258 $param['themeRuleId'] = sanitize_key($data->themeRuleId);
1259 $param['css'] = $data->css;
1260 /* --End-- Manage Param Data */
1261 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/other', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1262 unset($param);
1263 $response = ___tagembed__manageApiResponse($response);
1264 return ___tagembed__exitWithSuccess($response);
1265 break;
1266 case '__tagembed__get_and_manage_intercom_chat_setting':
1267 if (empty($__tagembed__user_details)) :
1268 return ___tagembed__exitWithDanger();
1269 endif;
1270 /* --Start-- Manage Param Data */
1271 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1272 /* --End-- Manage Param Data */
1273 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getIntercomSettingData', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1274 unset($param);
1275 $response = ___tagembed__manageApiResponse($response);
1276 return ___tagembed__exitWithSuccess($response);
1277 break;
1278 default:
1279 return ___tagembed__exitWithDanger();
1280 endswitch;
1281 }
1282 /* --End-- Manage Ajax Calls */
1283
1284 add_action('admin_init', '___tagembed__googleAuthListener');
1285 function ___tagembed__googleAuthListener()
1286 {
1287 if (empty($_GET['__tb_google_state'])) :
1288 return;
1289 endif;
1290 if (empty($_GET['page']) || 'tagembed' !== sanitize_key(wp_unslash($_GET['page']))) :
1291 return;
1292 endif;
1293 if (!current_user_can('manage_options')) :
1294 return;
1295 endif;
1296 $__tagembed__google_state = isset($_GET['__tb_google_state']) ? sanitize_text_field(wp_unslash($_GET['__tb_google_state'])) : '';
1297 if ('' === $__tagembed__google_state || !preg_match('/^[A-Za-z0-9]{16,64}$/', $__tagembed__google_state)) :
1298 return;
1299 endif;
1300 $__tagembed__google_session = get_transient('__tagembed__google_' . $__tagembed__google_state);
1301 delete_transient('__tagembed__google_' . $__tagembed__google_state);
1302 if (empty($__tagembed__google_session['verifier']) || (int) $__tagembed__google_session['userId'] !== get_current_user_id()) :
1303 return ___tagembed__googleAuthFailed('expired');
1304 endif;
1305 if (empty($_GET['__tb_google_code'])) :
1306 $__tagembed__google_error_code = isset($_GET['__tb_google_error']) ? sanitize_text_field(wp_unslash($_GET['__tb_google_error'])) : 'failed';
1307 return ___tagembed__googleAuthFailed($__tagembed__google_error_code);
1308 endif;
1309 $param = [
1310 'token' => sanitize_text_field(wp_unslash($_GET['__tb_google_code'])),
1311 'verifier' => $__tagembed__google_session['verifier'],
1312 'platform' => TAGEMBED_PLUGIN_PLATFORM,
1313 ];
1314 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/googleexchange', $param, []);
1315 unset($param);
1316 if (empty($response->head) || empty($response->head->status) || empty($response->body->userId) || empty($response->body->emailId) || empty($response->body->access_token)) :
1317 return ___tagembed__googleAuthFailed('failed');
1318 endif;
1319 $__tagembed__google_user = $response->body;
1320 if (!empty($__tagembed__google_user->createFirstWidget)) :
1321 ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/create', ['userId' => sanitize_key($__tagembed__google_user->userId), 'inheritStyles' => 1], ['Authorization:' . $__tagembed__google_user->access_token]);
1322 endif;
1323 if (___tagembed__login($__tagembed__google_user) !== true) :
1324 return ___tagembed__googleAuthFailed('failed');
1325 endif;
1326 wp_safe_redirect(TAGEMBED_PLUGIN_CALL_BACK_URL);
1327 exit;
1328 }
1329 function ___tagembed__googleAuthFailed($errorCode)
1330 {
1331 $__tagembed__google_errors = [
1332 'cancelled' => 'Google sign in was cancelled. Please try again.',
1333 'expired' => 'Google sign in session has expired. Please try again.',
1334 'email' => 'Your Google account email could not be verified. Please use another account.',
1335 'account' => 'Your account is not active. Please contact support.',
1336 'register' => 'We could not create an account with this Google email. Please sign up with your email instead.',
1337 'process' => 'Your registration is already in progress. Please wait a moment and try again.',
1338 'failed' => 'Google sign in failed. Please try again.',
1339 ];
1340 $__tagembed__google_message = isset($__tagembed__google_errors[$errorCode]) ? $__tagembed__google_errors[$errorCode] : $__tagembed__google_errors['failed'];
1341 set_transient('__tagembed__google_error_' . get_current_user_id(), $__tagembed__google_message, MINUTE_IN_SECONDS);
1342 wp_safe_redirect(TAGEMBED_PLUGIN_CALL_BACK_URL);
1343 exit;
1344 }
1345 /* --Start-- Login */
1346 function ___tagembed__login($response)
1347 {
1348 global $wpdb;
1349 $return = false;
1350 $user = ___tagembed__user($response->emailId);
1351 if (empty($user->email)) :
1352 if ($wpdb->query($wpdb->prepare('INSERT INTO wp_tagembed_user (userId, name, email, accessToken, isLogin) VALUES (%d, %s, %s, %s, %s)', $response->userId, $response->name, $response->emailId, $response->access_token, 'yes'))) :
1353 $return = true;
1354 endif;
1355 else :
1356 if ($wpdb->query($wpdb->prepare('UPDATE wp_tagembed_user SET userId = %d, name = %s, email = %s, accessToken = %s, isLogin = %s WHERE email = %s', $response->userId, $response->name, $response->emailId, $response->access_token, 'yes', $response->emailId))) :
1357 $return = true;
1358 endif;
1359 endif;
1360 ___tagembed__manageActiveOptions($response->emailId, 'yes'); /* Manage Active Options */
1361 if ($return) :
1362 ___tagembed__manageActiveWidgetsUser($response->userId);
1363 endif;
1364 return $return;
1365 }
1366 /* --End-- Login */
1367
1368 /* --Start-- Manage Active Options */
1369 function ___tagembed__manageActiveOptions($email = null, $other = null)
1370 {
1371 global $wpdb;
1372 if (null == $email && null != $other) :
1373 $wpdb->query($wpdb->prepare('UPDATE wp_tagembed_active_options SET isLogin = %s WHERE id = %d', $other, 1));
1374 else :
1375 $__tagembed__activeOptions = $wpdb->get_results($wpdb->prepare('SELECT email FROM wp_tagembed_active_options WHERE id = %d', 1));
1376 if (empty($__tagembed__activeOptions[0]->email)) :
1377 $wpdb->query($wpdb->prepare('INSERT INTO wp_tagembed_active_options (email, isLogin) VALUES (%s, %s)', $email, $other));
1378 else :
1379 $wpdb->query($wpdb->prepare('UPDATE wp_tagembed_active_options SET email = %s, isLogin = %s WHERE id = %d', $email, $other, 1));
1380 endif;
1381 endif;
1382 }
1383 /* --End-- Manage Active Options */
1384
1385 /* --Start-- Logout */
1386 function tagembed_logout()
1387 {
1388 global $wpdb;
1389 if ($wpdb->query($wpdb->prepare('UPDATE wp_tagembed_user SET isLogin = %s WHERE isLogin = %s', 'no', 'yes'))) :
1390 ___tagembed__manageActiveOptions(null, 'no'); /* Manage Active Options */
1391 return true;
1392 endif;
1393 return false;
1394 }
1395 /* --End-- Logout */
1396
1397 /* --Start--Manage Menues */
1398 function ___tagembed__menus($__tagembed__menu_condatation = [])
1399 {
1400 global $wpdb;
1401 if (empty($__tagembed__menu_condatation)) :
1402 return $wpdb->get_results('SELECT * FROM wp_tagembed_menus');
1403 endif;
1404 if (array_key_exists('__tagembed__menu_condation', $__tagembed__menu_condatation)) :
1405 return $wpdb->get_results($wpdb->prepare('SELECT * FROM wp_tagembed_menus WHERE status = %s', $__tagembed__menu_condatation['__tagembed__menu_condation']));
1406 endif;
1407 if (array_key_exists('__tagembed__menu_id', $__tagembed__menu_condatation)) :
1408 if ($wpdb->query($wpdb->prepare('UPDATE wp_tagembed_menus SET status = %d WHERE status = %d', 0, 1)) && $wpdb->query($wpdb->prepare('UPDATE wp_tagembed_menus SET status = %d WHERE id = %d', 1, $__tagembed__menu_condatation['__tagembed__menu_id']))) :
1409 return true;
1410 else :
1411 return false;
1412 endif;
1413 endif;
1414 }
1415 /* --End--Manage Menues */
1416
1417 /* --Start-- Get User Details */
1418 function ___tagembed__user($email = null)
1419 {
1420 global $wpdb;
1421 $__tagembed__userResponse = '';
1422 if (empty($email)) :
1423 $__tagembed__userResponse = $wpdb->get_results($wpdb->prepare('SELECT * FROM wp_tagembed_user WHERE isLogin = %s', 'yes'));
1424 else :
1425 $__tagembed__userResponse = $wpdb->get_results($wpdb->prepare('SELECT * FROM wp_tagembed_user WHERE email = %s', $email));
1426 endif;
1427 if (!empty($__tagembed__userResponse)) :
1428 return $__tagembed__userResponse[0];
1429 else :
1430 return;
1431 endif;
1432 }
1433 function ___tagembed__userData()
1434 {
1435 global $wpdb;
1436 $__tagembed__user_dataResponse = '';
1437 $__tagembed__user_dataResponse = $wpdb->get_results('SELECT * FROM wp_tagembed_user');
1438 if (!empty($__tagembed__user_dataResponse)) :
1439 return $__tagembed__user_dataResponse[0];
1440 else :
1441 return;
1442 endif;
1443 }
1444 /* --End-- Get User Details */
1445
1446 /* --Start-- Get Widget */
1447 function ___tagembed__widgets()
1448 {
1449 $returnWidgetData = [];
1450 $__tagembed__user_details = ___tagembed__user();
1451 if (!empty($__tagembed__user_details)) :
1452 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/get', ['userId' => sanitize_key($__tagembed__user_details->userId)], ['Authorization:' . $__tagembed__user_details->accessToken]);
1453 if (!isset($response->head->status)) :
1454 return $returnWidgetData;
1455 endif;
1456 if (false == $response->head->status || 200 != $response->head->code || false == $response->body || empty($response->body)) :
1457 return $returnWidgetData;
1458 endif;
1459 $returnWidgetData = $response->body;
1460 endif;
1461 return $returnWidgetData;
1462 }
1463 /* --End-- Get Widget */
1464
1465 /* --Start-- Get Active Widget */
1466 function ___tagembed__activeWidget()
1467 {
1468 global $wpdb;
1469 $__tagembed__activeWidgetResponse = '';
1470 $__tagembed__activeWidgetResponse = $wpdb->get_results('SELECT * FROM wp_tagembed_active_widget');
1471 if (!empty($__tagembed__activeWidgetResponse)) :
1472 return $__tagembed__activeWidgetResponse[0]->widgetId;
1473 else :
1474 return;
1475 endif;
1476 }
1477 /* --End-- Get Active Widget */
1478
1479 /* --Start-- Manage Active Widget User */
1480 function ___tagembed__manageActiveWidget($widgetId)
1481 {
1482 global $wpdb;
1483 $activeWidgetUserId = ___tagembed__activeWidget();
1484 if ($activeWidgetUserId == $widgetId) :
1485 return true;
1486 endif;
1487 if (empty($activeWidgetUserId)) :
1488 $wpdb->query($wpdb->prepare('INSERT INTO wp_tagembed_active_widget (widgetId) VALUES (%s)', $widgetId));
1489 return true;
1490 else :
1491 $wpdb->query($wpdb->prepare('UPDATE wp_tagembed_active_widget SET widgetId = %s WHERE id = %d', $widgetId, 1));
1492 return true;
1493 endif;
1494 return false;
1495 }
1496 /* --End-- Manage Active Widget User */
1497
1498 /* --Start-- Get Active Widget User */
1499 function ___tagembed__activeWidgetUser()
1500 {
1501 global $wpdb;
1502 $__tagembed__activeWidgetUserResponse = '';
1503 $__tagembed__activeWidgetUserResponse = $wpdb->get_results('SELECT * FROM wp_tagembed_active_widget_user');
1504 if (!empty($__tagembed__activeWidgetUserResponse)) :
1505 return $__tagembed__activeWidgetUserResponse[0]->userId;
1506 endif;
1507 return;
1508 }
1509 /* --End-- Get Active Widget User */
1510
1511 /* --Start-- Manage Active Widget User */
1512 function ___tagembed__manageActiveWidgetsUser($userId)
1513 {
1514 global $wpdb;
1515 $activeWidgetUserId = ___tagembed__activeWidgetUser();
1516 if ($activeWidgetUserId == $userId) :
1517 return true;
1518 endif;
1519 if (empty($activeWidgetUserId)) :
1520 $wpdb->query($wpdb->prepare('INSERT INTO wp_tagembed_active_widget_user (userId) VALUES (%d)', $userId));
1521 return true;
1522 else :
1523 $wpdb->query($wpdb->prepare('UPDATE wp_tagembed_active_widget_user SET userId = %d WHERE id = %d', $userId, 1));
1524 return true;
1525 endif;
1526 return false;
1527 }
1528 /* --End-- Manage Active Widget User */
1529
1530 /* * ** DATABASE *** */
1531 /* --Start-- Manage Database */
1532 function ___tagembed__createDatabaseTableForPlugin()
1533 {
1534 global $wpdb;
1535 include_once ABSPATH . 'wp-admin/includes/upgrade.php';
1536 $wpdb->query('CREATE TABLE IF NOT EXISTS `wp_tagembed_user` (`id` int(11) NOT NULL AUTO_INCREMENT,`userId` varchar(100) NOT NULL,`name` varchar(100) NOT NULL,`email` varchar(100) NOT NULL,`accessToken` varchar(255) NOT NULL,`isLogin` enum(\'no\', \'yes\') NOT NULL,PRIMARY KEY(`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci');
1537 $wpdb->query('CREATE TABLE IF NOT EXISTS `wp_tagembed_active_widget_user` (`id` int(11) NOT NULL AUTO_INCREMENT,`userId` varchar(100) NOT NULL,PRIMARY KEY(`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci');
1538 $wpdb->query('CREATE TABLE IF NOT EXISTS `wp_tagembed_menus` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(100) NOT NULL,`status` tinyint(2) NOT NULL,`path` varchar(255) NOT NULL,PRIMARY KEY(`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci');
1539 $wpdb->query('CREATE TABLE IF NOT EXISTS `wp_tagembed_active_widget` (`id` int(11) NOT NULL AUTO_INCREMENT,`widgetId` varchar(100) NOT NULL,PRIMARY KEY(`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci');
1540 $wpdb->query('CREATE TABLE IF NOT EXISTS `wp_tagembed_active_options` (`id` int(11) NOT NULL AUTO_INCREMENT,`email` varchar(500) NOT NULL,`isLogin` enum(\'no\', \'yes\'),PRIMARY KEY(`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci');
1541 /* --Start-- Manage Tagembed Plugin Menus */
1542 $__tagembed__checkAlreadyExistMenusDataExistOrNot = $wpdb->get_results('SELECT id FROM wp_tagembed_menus');
1543 if (empty($__tagembed__checkAlreadyExistMenusDataExistOrNot)) :
1544 $__tagembed__menus = [['name' => 'Widget', 'status' => 0, 'path' => 'widget/widgetView'], ['name' => 'Feed', 'status' => 1, 'path' => 'feed/addView'], ['name' => 'Choose Theme', 'status' => 0, 'path' => 'theme/themeView'], ['name' => 'Filter', 'status' => 0, 'path' => 'filter/filterView'], ['name' => 'Customize', 'status' => 0, 'path' => 'customize/customizeView'], ['name' => 'Display', 'status' => 0, 'path' => 'display/displayView'], ['name' => 'Social Accounts', 'status' => 0, 'path' => 'socialAccount/socialAccountView'], ['name' => 'Support', 'status' => 0, 'path' => 'support/supportView'], ['name' => 'Upgrade', 'status' => 0, 'path' => 'upgrade/upgradeView'], ['name' => 'Analytics', 'status' => 0, 'path' => 'analytics/analyticsView']];
1545 foreach ($__tagembed__menus as $__tagembed__menu) :
1546 $wpdb->query($wpdb->prepare('INSERT INTO wp_tagembed_menus (name, status, path) VALUES (%s, %s, %s)', $__tagembed__menu['name'], $__tagembed__menu['status'], $__tagembed__menu['path']));
1547 endforeach;
1548 endif;
1549 /* --End-- Manage Tagembed Plugin Menus */
1550 }
1551 function ___tagembed__dropDatabaseTablesForPlugin()
1552 {
1553 global $wpdb;
1554 $wpdb->query('DROP table IF EXISTS wp_tagembed_active_widget_user');
1555 $wpdb->query('DROP table IF EXISTS wp_tagembed_active_widget');
1556 $wpdb->query('DROP table IF EXISTS wp_tagembed_menus');
1557 }
1558 /* --End-- Manage Database */
1559
1560 /* --Start-- Manage Active Deactive And Uninstall Webhook */
1561 register_activation_hook(__FILE__, '___tagembed__pluginActivate');
1562 function ___tagembed__pluginActivate()
1563 {
1564 ___tagembed__createDatabaseTableForPlugin();
1565 add_action('activated_plugin', '___tagembed__plginActivationRedirect');
1566 }
1567 register_uninstall_hook(__FILE__, '___tagembed__pluginUnistall');
1568 function ___tagembed__pluginUnistall()
1569 {
1570 ___tagembed__dropDatabaseTablesForPlugin();
1571 global $wpdb;
1572 $wpdb->query('DROP table IF EXISTS wp_tagembed_active_options');
1573 $wpdb->query('DROP table IF EXISTS wp_tagembed_user');
1574 }
1575 /* --End-- Manage Active Deactive And Uninstall Webhook */
1576
1577 /* --Start--Manage Redirect After Plugin Activate */
1578 function ___tagembed__plginActivationRedirect()
1579 {
1580 $__tagembed__activeUserData = wp_get_current_user();
1581 if (empty($__tagembed__activeUserData->roles)) :
1582 return false;
1583 endif;
1584 $__tagembed__pluginCallbackUrl = esc_url(TAGEMBED_PLUGIN_CALL_BACK_URL);
1585 wp_safe_redirect($__tagembed__pluginCallbackUrl);
1586 exit;
1587 }
1588 /* --End--Manage Redirect After Plugin Activate */
1589
1590 /* --Start--Manage Setting Link */
1591 function ___tagembed__settingsLink($links)
1592 {
1593 array_unshift($links, '<a href=' . TAGEMBED_PLUGIN_CALL_BACK_URL . '>Settings</a>');
1594 return $links;
1595 }
1596 add_filter('plugin_action_links_' . plugin_basename(__FILE__), '___tagembed__settingsLink');
1597 /* --End--Manage Setting Link */
1598
1599 /* --Start--Manage Database On Plugin Update Time */
1600 function ___tagembed__manageDatabaseOnPluginUpdateTime()
1601 {
1602 ___tagembed__dropDatabaseTablesForPlugin();
1603 ___tagembed__createDatabaseTableForPlugin();
1604 }
1605 add_action('upgrader_process_complete', '___tagembed__manageDatabaseOnPluginUpdateTime', 10, 2);
1606 /* --End--Manage Database On Plugin Update Time */
1607
1608 /* --Sart--Get And Manage Social Accout Id */
1609 function ___tagembed__get_user_social_account_id()
1610 {
1611 $__tagembed__user_details = ___tagembed__user();
1612 $param['userId'] = $__tagembed__user_details->userId;
1613 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getsocialaccountid', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1614 if (!empty($response->head->status)) :
1615 if (!empty($response->body->userId)) :
1616 return $response->body->userId;
1617 endif;
1618 endif;
1619 return false;
1620 }
1621 /* --End--Get And Manage Social Accout Id */
1622
1623 /* --Start-- Show Admin General Notification After Login And Register */
1624 function ___tagembed__generalAdminNotice()
1625 {
1626 $__tagmebed__page_name = '';
1627 if (!empty($_GET['page'])) :
1628 $__tagmebed__page_name = ___tagembed__sanitizeRequestData($_GET);
1629 $__tagmebed__page_name = $__tagmebed__page_name['page'];
1630 endif;
1631 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/notification', ['callBy' => 'wordpress'], []);
1632 if (!is_wp_error($response)) :
1633 if (!empty($response->head->status) && !empty($response->body)) :
1634 $response = $response->body;
1635 if (!empty($response->notifications) && is_array($response->notifications)) :
1636 $htmlData = '';
1637 foreach ($response->notifications as $notifications) :
1638 if ('tagembed' == $notifications->location || 'inner' == $notifications->location) :
1639 if ('tagembed' != $__tagmebed__page_name) :
1640 continue;
1641 endif;
1642 $htmlData .= '<div class=\'notice notice-' . esc_attr($notifications->type) . ' is-dismissible\'>';
1643 $htmlData .= '<p>' . $notifications->message . '</p>';
1644 $htmlData .= '</div>';
1645 elseif ('all' == $notifications->location) :
1646 $htmlData .= '<div class=\'notice notice-' . esc_attr($notifications->type) . ' is-dismissible\'>';
1647 $htmlData .= '<p>' . $notifications->message . '</p>';
1648 $htmlData .= '</div>';
1649 endif;
1650 endforeach;
1651 echo wp_kses_post($htmlData);
1652 endif;
1653 endif;
1654 endif;
1655 }
1656 add_action('in_admin_header', '___tagembed__hideGeneralAdminNotice');
1657 function ___tagembed__hideGeneralAdminNotice()
1658 {
1659 $__tagmebed__page_name = '';
1660 if (!empty($_GET['page'])) :
1661 $__tagmebed__page_name = ___tagembed__sanitizeRequestData($_GET);
1662 $__tagmebed__page_name = $__tagmebed__page_name['page'];
1663 endif;
1664 if ('tagembed' == $__tagmebed__page_name) :
1665 remove_all_actions('admin_notices');
1666 remove_all_actions('all_admin_notices');
1667 endif;
1668 if (!empty(___tagembed__user())) :
1669 add_action('admin_notices', '___tagembed__generalAdminNotice');
1670 endif;
1671 }
1672 /* --End-- Show Admin General Notification After Login And Register */
1673 /* --End-- Drop Database Table */
1674
1675 /* --Start-- Create Short Code */
1676 function ___tagembed__PluginShortCode($__tagembed__shortCodeAttr)
1677 {
1678 $__tagembed__shortCodeDefaultAttr = ['width' => '', 'height' => '', 1 => ''];
1679 $__tagembed__shortCodeAttr = shortcode_atts($__tagembed__shortCodeDefaultAttr, $__tagembed__shortCodeAttr, 'tagembed');
1680 $width = isset($__tagembed__shortCodeAttr['width']) ? sanitize_text_field($__tagembed__shortCodeAttr['width']) : '';
1681 $height = isset($__tagembed__shortCodeAttr['height']) ? sanitize_text_field($__tagembed__shortCodeAttr['height']) : '';
1682 $widgetId = isset($__tagembed__shortCodeAttr[1]) ? sanitize_text_field($__tagembed__shortCodeAttr[1]) : '';
1683 if (!empty($widgetId) && is_numeric($widgetId) && (('' === $width || preg_match('/^\d+(px|%|)$/', $width)) && ('' === $height || preg_match('/^\d+(px|%|)$/', $height)))) :
1684 $output = '<div class=\'tagembed-widget\' style=\'width:' . esc_attr($width) . '; height:' . esc_attr($height) . ';\' data-widget-id=\'' . esc_attr($widgetId) . '\' view-url=\'https://widget.tagembed.com/' . esc_attr($widgetId) . '\'></div>';
1685 else :
1686 $output = '<span style=\'display: block; text-align: center; border: 1px solid #eee; padding: 5px 15px; background-color: #fafafa;\'>Invalid Parameters Provided In The Tagembed Shortcode.</span>';
1687 endif;
1688 return $output;
1689 }
1690 add_shortcode('tagembed', '___tagembed__PluginShortCode');
1691 /* --End-- Create Short Code */
1692