PluginProbe
Tagembed: Social Media Feeds and Customer Reviews Widget / 8.1
Tagembed: Social Media Feeds and Customer Reviews Widget v8.1
8.1 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 All 46 releases
tagembed-widget / tagembed.php

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

1,684 lines 82.2 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.1
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.1');
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['timezone'] = !empty($data->timezone) ? sanitize_text_field($data->timezone) : '';
185 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
186 /* --End-- Manage Param Data */
187 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/register', $param, []);
188 $response = ___tagembed__manageApiResponse($response);
189 unset($param);
190 $param = ['userId' => sanitize_key($response->userId), 'inheritStyles' => 1];
191 ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/create', $param, ['Authorization:' . $response->access_token]);
192 if (___tagembed__login($response) == true) :
193 return ___tagembed__exitWithSuccess(['redirectUrl' => TAGEMBED_PLUGIN_CALL_BACK_URL]);
194 else :
195 return ___tagembed__exitWithDanger();
196 endif;
197 break;
198 case '__tagembed__login':
199 if (empty($data->emailId) || empty($data->password)) :
200 return ___tagembed__exitWithDanger();
201 endif;
202 /* --Start-- Manage Param Data */
203 $param['emailId'] = sanitize_email($data->emailId);
204 $param['password'] = $data->password;
205 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
206 /* --End-- Manage Param Data */
207 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/login', $param, []);
208 unset($param);
209 $response = ___tagembed__manageApiResponse($response);
210 if (___tagembed__login($response) == true) :
211 return ___tagembed__exitWithSuccess(['redirectUrl' => TAGEMBED_PLUGIN_CALL_BACK_URL]);
212 else :
213 return ___tagembed__exitWithDanger();
214 endif;
215 break;
216 case '__tagembed__google_auth_url':
217 $__tagembed__google_state = wp_generate_password(32, false, false);
218 $__tagembed__google_verifier = wp_generate_password(64, false, false);
219 set_transient('__tagembed__google_' . $__tagembed__google_state, ['verifier' => $__tagembed__google_verifier, 'userId' => get_current_user_id()], 10 * MINUTE_IN_SECONDS);
220 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
221 $param['state'] = $__tagembed__google_state;
222 $param['challenge'] = hash('sha256', $__tagembed__google_verifier);
223 $param['returnUrl'] = TAGEMBED_PLUGIN_CALL_BACK_URL;
224 $__tagembed__google_auth_url = TAGEMBED_PLUGIN_API_URL . 'apiaccount/googleauth?' . http_build_query($param, '', '&');
225 unset($param);
226 return ___tagembed__exitWithSuccess(['authUrl' => $__tagembed__google_auth_url]);
227 break;
228 case '__tagembed__logout':
229 if (tagembed_logout()) :
230 return ___tagembed__exitWithSuccess(['redirectUrl' => TAGEMBED_PLUGIN_REDIRECT_URL . 'tagembed']);
231 else :
232 return ___tagembed__exitWithDanger();
233 endif;
234 break;
235 case '__tagembed__check_plan_premium_feature':
236 if (empty($__tagembed__user_details)) :
237 return ___tagembed__exitWithDanger();
238 endif;
239 /* --Start-- Manage Param Data */
240 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
241 /* --End-- Manage Param Data */
242 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/checkPlanPremiumFeature', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
243 unset($param);
244 $response = ___tagembed__manageApiResponse($response);
245 return ___tagembed__exitWithSuccess($response);
246 break;
247 case '__tagembed__check_user_accout_status':
248 if (empty($__tagembed__user_details)) :
249 return ___tagembed__exitWithDanger();
250 endif;
251 /* --Start-- Manage Param Data */
252 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
253 /* --End-- Manage Param Data */
254 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/checkUserAccountStatus', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
255 unset($param);
256 $response = ___tagembed__manageApiResponse($response);
257 return ___tagembed__exitWithSuccess($response);
258 break;
259 case '__tagembed__get_cards':
260 if (empty($__tagembed__user_details)) :
261 return ___tagembed__exitWithDanger();
262 endif;
263 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
264 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
265 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getcards', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
266 unset($param);
267 $response = ___tagembed__manageApiResponse($response);
268 return ___tagembed__exitWithSuccess($response);
269 break;
270 case '__tagembed__card_session':
271 if (empty($__tagembed__user_details)) :
272 return ___tagembed__exitWithDanger();
273 endif;
274 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
275 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
276 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/cardsession', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
277 unset($param);
278 $response = ___tagembed__manageApiResponse($response);
279 return ___tagembed__exitWithSuccess($response);
280 break;
281 case '__tagembed__get_plan_status':
282 if (empty($__tagembed__user_details)) :
283 return ___tagembed__exitWithDanger();
284 endif;
285 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
286 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
287 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/planstatus', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
288 unset($param);
289 $response = ___tagembed__manageApiResponse($response);
290 return ___tagembed__exitWithSuccess($response);
291 break;
292 case '__tagembed__get_invoice_pdf':
293 if (empty($__tagembed__user_details) || empty($data->invoiceId)) :
294 return ___tagembed__exitWithDanger();
295 endif;
296 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
297 $param['invoiceId'] = sanitize_text_field($data->invoiceId);
298 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
299 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/invoicepdf', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
300 unset($param);
301 $response = ___tagembed__manageApiResponse($response);
302 return ___tagembed__exitWithSuccess($response);
303 break;
304 case '__tagembed__get_invoices':
305 if (empty($__tagembed__user_details)) :
306 return ___tagembed__exitWithDanger();
307 endif;
308 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
309 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
310 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getinvoices', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
311 unset($param);
312 $response = ___tagembed__manageApiResponse($response);
313 return ___tagembed__exitWithSuccess($response);
314 break;
315 case '__tagembed__get_account_details':
316 $data->auth = !empty($data->auth) ? 1 : 0;
317 if (empty($__tagembed__user_details)) :
318 return ___tagembed__exitWithDanger();
319 endif;
320 /* --Start-- Manage Param Data */
321 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
322 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
323 /* --End-- Manage Param Data */
324 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getdetails', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
325 unset($param);
326 $response = ___tagembed__manageApiResponse($response);
327 return ___tagembed__exitWithSuccess($response);
328 break;
329
330 case '__tagembed__manage_active_widget':
331 if (empty($data->widgetId)) :
332 return ___tagembed__exitWithDanger();
333 endif;
334 if (___tagembed__manageActiveWidget($data->widgetId)) :
335 return ___tagembed__exitWithSuccess();
336 else :
337 return ___tagembed__exitWithDanger();
338 endif;
339 break;
340 case '__tagembed__menue':
341 if (empty($data->menueId)) :
342 return ___tagembed__exitWithDanger();
343 endif;
344 if (___tagembed__menus(['__tagembed__menu_id' => $data->menueId])) :
345 return ___tagembed__exitWithSuccess(['redirectUrl' => TAGEMBED_PLUGIN_REDIRECT_URL . 'tagembed']);
346 else :
347 return ___tagembed__exitWithDanger();
348 endif;
349 break;
350 case '__tagembed__create_widget':
351 if (empty($__tagembed__user_details) || empty($data->name)) :
352 return ___tagembed__exitWithDanger('Validation Error', ['name' => 'Widget name is required']);
353 endif;
354 $data->profanity = (isset($data->profanity)) ? 0 : 1;
355 /* --Start-- Manage Param Data */
356 $param['name'] = sanitize_text_field($data->name);
357 $param['profanity'] = sanitize_key($data->profanity);
358 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
359 $param['inheritStyles'] = 1;
360 /* --End-- Manage Param Data */
361 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/create', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
362 unset($param);
363 $response = ___tagembed__manageApiResponse($response);
364 $response = !empty($response->message) ? $response->message : 'Done';
365 return ___tagembed__exitWithSuccess(['message' => $response, 'redirectUrl' => TAGEMBED_PLUGIN_CALL_BACK_URL]);
366 break;
367 case '__tagembed__edit_widget':
368 if (empty($__tagembed__user_details) || empty($data->name) || empty($data->widgetId)) :
369 return ___tagembed__exitWithDanger('Validation Error', ['name' => 'Widget name is required']);
370 endif;
371 /* --Start-- Manage Param Data */
372 $param['name'] = sanitize_text_field($data->name);
373 $param['widgetId'] = sanitize_key($data->widgetId);
374 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
375 /* --End-- Manage Param Data */
376 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/edit', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
377 unset($param);
378 $response = ___tagembed__manageApiResponse($response);
379 $response = !empty($response->message) ? $response->message : 'Done';
380 return ___tagembed__exitWithSuccess(['message' => $response, 'redirectUrl' => TAGEMBED_PLUGIN_CALL_BACK_URL]);
381 break;
382 case '__tagembed__update_widget_status':
383 if (empty($__tagembed__user_details) || empty($data->widgetId)) :
384 return ___tagembed__exitWithDanger();
385 endif;
386 /* --Start-- Manage Param Data */
387 $param['status'] = sanitize_key($data->status);
388 $param['widgetId'] = sanitize_key($data->widgetId);
389 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
390 /* --End-- Manage Param Data */
391 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/status', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
392 unset($param);
393 $response = ___tagembed__manageApiResponse($response);
394 $response = !empty($response->message) ? $response->message : 'Done';
395 return ___tagembed__exitWithSuccess(['message' => $response]);
396 break;
397 case '__tagembed__delete_widget':
398 if (empty($__tagembed__user_details) || empty($data->widgetId)) :
399 return ___tagembed__exitWithDanger();
400 endif;
401 /* --Start-- Manage Param Data */
402 $param['widgetId'] = sanitize_key($data->widgetId);
403 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
404 /* --End-- Manage Param Data */
405 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/delete', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
406 unset($param);
407 $response = ___tagembed__manageApiResponse($response);
408 $response = !empty($response->message) ? $response->message : 'Done';
409 return ___tagembed__exitWithSuccess(['message' => $response]);
410 break;
411 case '__tagembed__source_networks':
412 $data->auth = !empty($data->auth) ? 1 : 0;
413 if (empty($__tagembed__user_details)) :
414 return ___tagembed__exitWithDanger();
415 endif;
416 /* --Start-- Manage Param Data */
417 $param['auth'] = sanitize_key($data->auth);
418 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
419 /* --End-- Manage Param Data */
420 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apinetwork/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
421 unset($param);
422 $response = ___tagembed__manageApiResponse($response);
423 return ___tagembed__exitWithSuccess($response);
424 break;
425 case '__tagembed__get_themes':
426 if (empty($__tagembed__user_details) || empty($data->widgetId)) :
427 return ___tagembed__exitWithDanger();
428 endif;
429 /* --Start-- Manage Param Data */
430 $param['widgetId'] = sanitize_key($data->widgetId);
431 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
432 /* --End-- Manage Param Data */
433 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'Apitheme/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
434 unset($param);
435 $response = ___tagembed__manageApiResponse($response);
436 return ___tagembed__exitWithSuccess($response);
437 break;
438 case '__tagembed__edit_themes':
439 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->themeId)) :
440 return ___tagembed__exitWithDanger();
441 endif;
442 /* --Start-- Manage Param Data */
443 $param['themeId'] = sanitize_key($data->themeId);
444 $param['widgetId'] = sanitize_key($data->widgetId);
445 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
446 /* --End-- Manage Param Data */
447 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'Apitheme/edit', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
448 unset($param);
449 $response = ___tagembed__manageApiResponse($response);
450 return ___tagembed__exitWithSuccess($response);
451 break;
452 case '__tagembed__get_network_filter':
453 if (empty($__tagembed__user_details) || empty($data->networkId)) :
454 return ___tagembed__exitWithDanger();
455 endif;
456 /* --Start-- Manage Param Data */
457 $param['networkId'] = sanitize_key($data->networkId);
458 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
459 /* --End-- Manage Param Data */
460 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apinetwork/filter', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
461 unset($param);
462 $response = ___tagembed__manageApiResponse($response);
463 return ___tagembed__exitWithSuccess($response);
464 break;
465 case '__tagembed__get_already_exist_accounts':
466 if (empty($__tagembed__user_details)) :
467 return ___tagembed__exitWithDanger();
468 endif;
469 /* --Start-- Manage Param Data */
470 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
471 /* --End-- Manage Param Data */
472 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/getalreadyexistaccounts', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
473 unset($param);
474 $response = ___tagembed__manageApiResponse($response);
475 return ___tagembed__exitWithSuccess($response);
476 break;
477 case '__tagembed__add_or_update_account':
478 if (empty($__tagembed__user_details) || empty($data->networkId) || empty($data->type)) :
479 return ___tagembed__exitWithDanger();
480 endif;
481 /* --Start-- Manage Param Data */
482 $param['connectedAccountId'] = $data->connectedAccountId;
483 $param['feedId'] = sanitize_key($data->feedId);
484 $param['type'] = sanitize_text_field($data->type);
485 $param['networkId'] = sanitize_key($data->networkId);
486 $param['filterId'] = sanitize_key($data->filterId);
487 $param['otherData'] = $data->otherData;
488 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
489 /* --End-- Manage Param Data */
490 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/addorupdate', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
491 unset($param);
492 $response = ___tagembed__manageApiResponse($response);
493 return ___tagembed__exitWithSuccess(['__tagembed__requestCallBackUrl' => TAGEMBED_PLUGIN_CALL_BACK_URL, 'redirectUrl' => TAGEMBED_PLUGIN_API_URL . 'apiauth/getauth', '__tagembed__feedData' => $response->__tagembed__feedData]);
494 break;
495 case '__tagembed__delete_account':
496 if (empty($__tagembed__user_details) || empty($data->networkId) || empty($data->parentId)) :
497 return ___tagembed__exitWithDanger();
498 endif;
499 /* --Start-- Manage Param Data */
500 $param['parentId'] = sanitize_key($data->parentId);
501 $param['networkId'] = sanitize_key($data->networkId);
502 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
503 /* --End-- Manage Param Data */
504 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/delete', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
505 unset($param);
506 $response = ___tagembed__manageApiResponse($response);
507 $response = !empty($response->message) ? $response->message : 'Done';
508 return ___tagembed__exitWithSuccess(['message' => $response]);
509 break;
510 case '__tagembed__get_already_exist_auth':
511 if (empty($__tagembed__user_details) || empty($data->networkId)) :
512 return ___tagembed__exitWithDanger();
513 endif;
514 /* --Start-- Manage Param Data */
515 $param['networkId'] = sanitize_key($data->networkId);
516 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
517 /* --End-- Manage Param Data */
518 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
519 unset($param);
520 $response = ___tagembed__manageApiResponse($response);
521 return ___tagembed__exitWithSuccess($response);
522 break;
523 case '__tagembed__search_google_location':
524 if (empty($__tagembed__user_details) || empty($data->googleLocationName)) :
525 return ___tagembed__exitWithDanger();
526 endif;
527 /* --Start-- Manage Param Data */
528 $param['googleLocationName'] = $data->googleLocationName;
529 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
530 /* --End-- Manage Param Data */
531 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/searchgooglelocation', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
532 unset($param);
533 $response = ___tagembed__manageApiResponse($response);
534 return ___tagembed__exitWithSuccess($response);
535 break;
536 case '__tagembed__search_vk_communities':
537 if (empty($__tagembed__user_details) || empty($data->vkCommunitiesName)) :
538 return ___tagembed__exitWithDanger();
539 endif;
540 /* --Start-- Manage Param Data */
541 $param['vkCommunitiesName'] = $data->vkCommunitiesName;
542 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
543 /* --End-- Manage Param Data */
544 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/searchVkCommunities', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
545 unset($param);
546 $response = ___tagembed__manageApiResponse($response);
547 return ___tagembed__exitWithSuccess($response);
548 break;
549 case '__tagembed__search_facebook_page':
550 if (empty($data->facebookPageData)) :
551 return ___tagembed__exitWithDanger();
552 endif;
553 /* --Start-- Manage Param Data */
554 $param['facebookPageData'] = $data->facebookPageData;
555 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
556 /* --End-- Manage Param Data */
557 /* --Start-- Call And Manage Api Call */
558 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/searchfacebookpage', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
559 unset($param);
560 $response = ___tagembed__manageApiResponse($response);
561 return ___tagembed__exitWithSuccess($response);
562 break;
563 case '__tagembed__get_facebook_page_albums':
564 if (empty($__tagembed__user_details) || empty($data->connectedAccountsId)) :
565 return ___tagembed__exitWithDanger();
566 endif;
567 /* --Start-- Manage Param Data */
568 $param['connectedAccountsId'] = sanitize_key($data->connectedAccountsId);
569 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
570 /* --End-- Manage Param Data */
571 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/apiauthfacebookpagealbums', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
572 unset($param);
573 $response = ___tagembed__manageApiResponse($response);
574 return ___tagembed__exitWithSuccess($response);
575 break;
576 case '__tagembed__search_youtube_channel':
577 if (empty($__tagembed__user_details) || empty($data->youtubeChannelData)) :
578 return ___tagembed__exitWithDanger();
579 endif;
580 /* --Start-- Manage Param Data */
581 $param['youtubeChannelData'] = $data->youtubeChannelData;
582 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
583 /* --End-- Manage Param Data */
584 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/searchyoutubechannel', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
585 unset($param);
586 $response = ___tagembed__manageApiResponse($response);
587 return ___tagembed__exitWithSuccess($response);
588 break;
589 case '__tagembed__get_youtube_playlist':
590 if (empty($__tagembed__user_details) || empty($data->youtubeId)) :
591 return ___tagembed__exitWithDanger();
592 endif;
593 /* --Start-- Manage Param Data */
594 $param['youtubeId'] = $data->youtubeId;
595 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
596 /* --End-- Manage Param Data */
597 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/getyoutubeplaylist', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
598 unset($param);
599 $response = ___tagembed__manageApiResponse($response);
600 return ___tagembed__exitWithSuccess($response);
601 break;
602 case '__tagembed__get_slack_channel_list':
603 if (empty($data->connectedAccountsId)) :
604 return ___tagembed__exitWithDanger();
605 endif;
606 /* --Start-- Manage Param Data */
607 $param['connectedAccountsId'] = $data->connectedAccountsId;
608 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
609 /* --End-- Manage Param Data */
610 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/getslackchannellist', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
611 unset($param);
612 $response = ___tagembed__manageApiResponse($response);
613 return ___tagembed__exitWithSuccess($response);
614 break;
615 case '__tagembed__get_feed':
616 if (empty($__tagembed__user_details) || empty($data->widgetId)) :
617 return ___tagembed__exitWithDanger();
618 endif;
619 /* --Start-- Manage Param Data */
620 $param['widgetId'] = sanitize_key($data->widgetId);
621 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
622 /* --End-- Manage Param Data */
623 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
624 unset($param);
625 $response = ___tagembed__manageApiResponse($response);
626 return ___tagembed__exitWithSuccess($response);
627 break;
628 case '__tagembed__update_feed_status':
629 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->feedId)) :
630 return ___tagembed__exitWithDanger();
631 endif;
632 /* --Start-- Manage Param Data */
633 $param['feedId'] = sanitize_key($data->feedId);
634 $param['status'] = sanitize_key($data->status);
635 $param['widgetId'] = sanitize_key($data->widgetId);
636 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
637 /* --End-- Manage Param Data */
638 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/status', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
639 unset($param);
640 $response = ___tagembed__manageApiResponse($response);
641 $response = !empty($response->message) ? $response->message : 'Done';
642 return ___tagembed__exitWithSuccess(['message' => $response]);
643 break;
644 case '__tagembed__delete_feed':
645 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->feedId)) :
646 return ___tagembed__exitWithDanger();
647 endif;
648 /* --Start-- Manage Param Data */
649 $param['feedId'] = sanitize_key($data->feedId);
650 $param['widgetId'] = sanitize_key($data->widgetId);
651 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
652 /* --End-- Manage Param Data */
653 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/delete', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
654 unset($param);
655 $response = ___tagembed__manageApiResponse($response);
656 $response = !empty($response->message) ? $response->message : 'Done';
657 return ___tagembed__exitWithSuccess(['message' => $response]);
658 break;
659 case '__tagembed__create_feed':
660 if (empty($__tagembed__user_details) || empty($data->widgetName) || empty($data->networkName) || empty($data->filterName) || empty($data->widgetId) || empty($data->networkId) || empty($data->filterId)) :
661 return ___tagembed__exitWithDanger();
662 endif;
663 $__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];
664 $__tagembed__feed_input_data['feed'] = !empty($data->feed) ? sanitize_text_field($data->feed) : '__tagembed__feed';
665 $__tagembed__feed_filter_id = $data->filterId;
666 switch ($__tagembed__feed_input_data['networkId']):
667 case 1:
668 $__tagembed__feed_input_data['auth'] = 1;
669 $__tagembed__feed_input_data['multiplePhoto'] = sanitize_key(isset($data->multiplePhoto) ? 1 : 0);
670 $__tagembed__feed_input_data['excludeRetweet'] = sanitize_key(isset($data->excludeRetweet) ? 1 : 0);
671 if (!empty($data->list)) :
672 $__tagembed__feed_input_data['list'] = sanitize_key($data->list);
673 endif;
674 break;
675 case 2:
676 $__tagembed__feed_input_data['auth'] = 1;
677 break;
678 case 3:
679 $__tagembed__feed_input_data['auth'] = 1;
680 switch ($__tagembed__feed_filter_id):
681 case 65:
682 $__tagembed__feed_input_data['accountAlbumType'] = sanitize_key(isset($data->accountAlbumType) ? $data->accountAlbumType : '');
683 $__tagembed__feed_input_data['accountAlbumData'] = sanitize_text_field(isset($data->accountAlbumData) ? $data->accountAlbumData : '');
684 break;
685 endswitch;
686 break;
687 case 4:
688 if ($__tagembed__feed_filter_id == 29) :
689 $__tagembed__feed_input_data['auth'] = 1;
690 else :
691 $__tagembed__feed_input_data['placeId'] = $data->placeId;
692 $__tagembed__feed_input_data['placeName'] = $data->placeName;
693 endif;
694 break;
695 case 5:
696 switch ($__tagembed__feed_filter_id):
697 case 1:
698 case 71:
699 break;
700 case 12:
701 if (!preg_match('/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
702 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
703 endif;
704 $pintrestHeaders = explode('/', parse_url($data->feed)['path']);
705 $__tagembed__feed_input_data['value1'] = strtolower($pintrestHeaders[1]);
706 $__tagembed__feed_input_data['value2'] = strtolower($pintrestHeaders[2]);
707 break;
708 endswitch;
709 break;
710 case 6:
711 switch ($__tagembed__feed_filter_id):
712 case 1:
713 case 2:
714 $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = $data->feed;
715 break;
716 endswitch;
717 break;
718 case 7:
719 if (in_array($__tagembed__feed_filter_id, [1, 71])) :
720 $isUrl = false;
721 if (preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
722 $isUrl = true;
723 endif;
724 if ((empty($data->youtubeId) || empty($data->youtubeName)) && !$isUrl) :
725 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid Channel URL Or Tab On Search Icon']);
726 endif;
727 if ($isUrl) :
728 $data->youtubeId = explode('/', $data->feed);
729 $data->youtubeId = $data->youtubeId[4];
730 $data->youtubeName = 'youtube';
731 if (empty($data->youtubeId) || empty($data->youtubeName)) :
732 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid Channel URL']);
733 endif;
734 endif;
735 endif;
736 switch ($__tagembed__feed_filter_id):
737 case 1:
738 case 75:
739 $__tagembed__feed_input_data['youtubeId'] = $data->youtubeId;
740 $__tagembed__feed_input_data['youtubeName'] = $data->youtubeName;
741 break;
742 case 11:
743 if (empty($data->youtubePlaylist) && empty($data->youtubeId)) :
744 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid Channel URL Or Tab On Search Icon']);
745 elseif (empty($data->youtubePlaylist) && !empty($data->youtubeId)) :
746 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Play List Not Found']);
747 endif;
748 $data->youtubePlaylist = explode('#', $data->youtubePlaylist);
749 $__tagembed__feed_input_data['youtubeId'] = $data->youtubePlaylist[0];
750 $__tagembed__feed_input_data['youtubeName'] = $data->youtubePlaylist[1];
751 $__tagembed__feed_input_data['feed'] = $data->youtubePlaylist[1];
752 unset($data->youtubePlaylist);
753 break;
754 endswitch;
755 break;
756 case 8:
757 switch ($__tagembed__feed_filter_id):
758 case 1:
759 case 2:
760 $__tagembed__feed_input_data['auth'] = 1;
761 break;
762 endswitch;
763 break;
764 case 10:
765 if (in_array($__tagembed__feed_filter_id, [1, 16, 17])) :
766 if (!preg_match('/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
767 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
768 endif;
769 endif;
770 switch ($__tagembed__feed_filter_id):
771 case 16:
772 $__tagembed__postHostUrl = wp_parse_url($data->feed, PHP_URL_HOST);
773 $__tagembed__postHostUrl = is_string($__tagembed__postHostUrl) ? strtolower($__tagembed__postHostUrl) : '';
774 if ($__tagembed__postHostUrl === 'lnkd.in' || substr($__tagembed__postHostUrl, -8) === '.lnkd.in') :
775 $__tagembed__expandedPostUrl = ___tagembed__expandLinkedinShortUrl($data->feed);
776 if (!empty($__tagembed__expandedPostUrl)) :
777 $data->feed = $__tagembed__expandedPostUrl;
778 $__tagembed__postHostUrl = wp_parse_url($data->feed, PHP_URL_HOST);
779 $__tagembed__postHostUrl = is_string($__tagembed__postHostUrl) ? strtolower($__tagembed__postHostUrl) : '';
780 endif;
781 endif;
782 if (!strstr($__tagembed__postHostUrl, 'linkedin')) :
783 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Linkedin Post Url']);
784 endif;
785 $__tagembed__parsedPost = ___tagembed__parseLinkedinPostUrl($data->feed);
786 if (empty($__tagembed__parsedPost['value2']) || empty($__tagembed__parsedPost['value3'])) :
787 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Linkedin Post Url']);
788 endif;
789 $__tagembed__feed_input_data['feed'] = sanitize_text_field($data->feed);
790 $__tagembed__feed_input_data['value1'] = 'LinkedIn';
791 $__tagembed__feed_input_data['value2'] = $__tagembed__parsedPost['value2'];
792 $__tagembed__feed_input_data['value3'] = $__tagembed__parsedPost['value3'];
793 break;
794 case 1:
795 case 17:
796 $url = parse_url($data->feed);
797 $companyPageUrl = $url['scheme'] . '://' . $url['host'];
798 $url = explode('/', $url['path']);
799 $companyPageUrl = $companyPageUrl . '/' . $url[1] . '/' . $url[2] . '/';
800 $__tagembed__feed_input_data['feed'] = $companyPageUrl;
801 $url[2] = str_replace('-', ' ', '$url[2]');
802 $__tagembed__feed_input_data['page'] = ucwords($url[2], ' ');
803 break;
804 case 2:
805 $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = $data->feed;
806 break;
807 endswitch;
808 break;
809 case 11:
810 switch ($__tagembed__feed_filter_id):
811 case 1:
812 case 2:
813 $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = $data->feed;
814 break;
815 endswitch;
816 break;
817 case 12:
818 if (!preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
819 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
820 endif;
821 $__tagembed__feed_input_data['name'] = $data->name;
822 break;
823 case 18:
824 switch ($__tagembed__feed_filter_id):
825 case 23:
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 break;
830 case 26:
831 $__tagembed__feed_input_data['hashtagCaption'] = sanitize_key(isset($data->hashtagCaption) ? 1 : 0);
832 $__tagembed__feed_input_data['hashtagOlder'] = sanitize_key(isset($data->hashtagOlder) ? 1 : 0);
833 break;
834 endswitch;
835 $__tagembed__feed_input_data['auth'] = 1;
836 break;
837 case 19:
838 if (!preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
839 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
840 endif;
841 $yelpBusinessUrl = parse_url($data->feed);
842 if (!strstr($yelpBusinessUrl['host'], 'yelp')) :
843 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Yelp Business Url']);
844 endif;
845 $yelpBusinessPath = explode('/', $yelpBusinessUrl['path']);
846 $__tagembed__feed_input_data['feed'] = $yelpBusinessPath[2];
847 $__tagembed__feed_input_data['name'] = $yelpBusinessPath[2];
848 break;
849 case 20:
850 $__tagembed__feed_input_data['auth'] = 1;
851 $slackData = isset($data->slackChannelList) ? $data->slackChannelList : '';
852 if (!empty($slackData)) :
853 $slackData = explode('#', $slackData);
854 $__tagembed__feed_input_data['name'] = $slackData[1];
855 $__tagembed__feed_input_data['feed'] = $slackData[0];
856 endif;
857 break;
858 case 23:
859 if (!preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
860 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
861 endif;
862 $airbnbListUrl = parse_url($data->feed);
863 if (strstr($airbnbListUrl['host'], 'airbnb')) :
864 preg_match('/[^\/]+$/', $data->feed, $matches);
865 $__tagembed__feed_input_data['listId'] = explode('?', $matches[0])[0];
866 else :
867 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Airbnb Url']);
868 endif;
869 $__tagembed__feed_input_data['name'] = $data->name;
870 break;
871 case 36:
872 if (!preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
873 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
874 endif;
875 $etsyShopUrl = parse_url($data->feed);
876 if (!strstr($etsyShopUrl['host'], 'etsy')) :
877 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Etsy Shop Url']);
878 endif;
879 $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = explode('/shop/', $etsyShopUrl['path'])[1];
880 break;
881 case 28:
882 switch ($__tagembed__feed_filter_id):
883 case 72:
884 $__tagembed__feed_input_data['feed'] = $data->feed;
885 $__tagembed__feed_input_data['name'] = $data->feed;
886 break;
887 endswitch;
888 if (!in_array($__tagembed__feed_filter_id, [72])) :
889 $__tagembed__feed_input_data['auth'] = 1;
890 endif;
891 break;
892 case 30:
893 switch ($__tagembed__feed_filter_id):
894 case 2:
895 $__tagembed__feed_input_data['feed'] = $data->feed;
896 $__tagembed__feed_input_data['name'] = $data->feed;
897 break;
898 case 75:
899 $__tagembed__feed_input_data['communitiesName'] = $data->communitiesName;
900 $__tagembed__feed_input_data['communitiesId'] = $data->communitiesId;
901 break;
902 endswitch;
903 if (!in_array($__tagembed__feed_filter_id, [2, 75])) :
904 $__tagembed__feed_input_data['auth'] = 1;
905 endif;
906 break;
907 case 33:
908 if (!preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
909 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
910 endif;
911 preg_match('/[^\/]+$/', '$data->feed', $matches);
912 $__tagembed__feed_input_data['feed'] = $matches[0];
913 $__tagembed__feed_input_data['name'] = $matches[0];
914 break;
915 case 34:
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 $__tagembed__feed_input_data['name'] = explode('/', $data->feed)[3];
920 $__tagembed__feed_input_data['feed'] = $data->feed;
921 break;
922 case 35:
923 if (!preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
924 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
925 endif;
926 $__tagembed__feed_input_data['name'] = explode('Reviews-', $data->feed)[1];
927 $__tagembed__feed_input_data['name'] = explode('.html', $__tagembed__feed_input_data['name'])[0];
928 $__tagembed__feed_input_data['feed'] = $data->feed;
929 break;
930 case 37:
931 $data->feed = explode('.html', $data->feed)[0];
932 if (!preg_match('/\b(?:(?:https?|ftp) :\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i', $data->feed)) :
933 return ___tagembed__exitWithDanger('Validation Error', ['feed' => 'Enter Valid URL']);
934 endif;
935 $__tagembed__feed_input_data['name'] = $data->feed;
936 $__tagembed__feed_input_data['feed'] = explode('item/', $data->feed)[1];
937 break;
938 endswitch;
939 unset($data);
940
941 /* --Start-- Manage Api Calling */
942 $byApiCall = 0;
943 if (empty($__tagembed__feed_input_data['authId'])) :
944 switch ($__tagembed__feed_input_data['networkId']):
945 case 4:
946 if (33 == $__tagembed__feed_filter_id) :
947 $byApiCall = 1;
948 $__tagembed__feed_input_data['byApiCall'] = 1;
949 endif;
950 break;
951 case 5:
952 case 7:
953 case 6:
954 case 10:
955 case 11:
956 case 12:
957 case 19:
958 case 23:
959 case 28:
960 case 29:
961 case 33:
962 case 34:
963 case 35:
964 case 37:
965 $byApiCall = 1;
966 $__tagembed__feed_input_data['byApiCall'] = 1;
967 break;
968 case 31:
969 if (2 == $__tagembed__feed_filter_id) :
970 $byApiCall = 1;
971 $__tagembed__feed_input_data['byApiCall'] = 1;
972 endif;
973 break;
974 case 32:
975 if (in_array($__tagembed__feed_filter_id, [2, 75])) :
976 $byApiCall = 1;
977 $__tagembed__feed_input_data['byApiCall'] = 1;
978 endif;
979 break;
980 endswitch;
981 else :
982 $byApiCall = 1;
983 $__tagembed__feed_input_data['byApiCall'] = 1;
984 endif;
985 $__tagembed__feed_input_data['appUser'] = 1;
986 $__tagembed__feed_input_data['platform'] = TAGEMBED_PLUGIN_PLATFORM;
987 /* --End-- Manage Api Calling */
988 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/create', ['feedData' => $__tagembed__feed_input_data], ['Authorization:' . $__tagembed__user_details->accessToken]);
989 $response = ___tagembed__manageApiResponse($response);
990 return ___tagembed__exitWithSuccess(['byapiCall' => $byApiCall, '__tagembed__requestCallBackUrl' => TAGEMBED_PLUGIN_CALL_BACK_URL, 'redirectUrl' => TAGEMBED_PLUGIN_API_URL . 'apiauth/getauth', '__tagembed__feedData' => $response->__tagembed__feedData]);
991 break;
992 case '__tagembed__make_payment':
993
994 if (empty($__tagembed__user_details) || empty($data->planId)) :
995 return ___tagembed__exitWithDanger();
996 endif;
997 /* --Start-- Manage Param Data */
998 $param['planId'] = sanitize_key($data->planId);
999 $param['priceCode'] = $data->priceCode;
1000 /* --Start-- Manage Param Data */
1001 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1002 $param['email'] = $__tagembed__user_details->email;
1003 $param['name'] = $__tagembed__user_details->name;
1004 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
1005 /* --End-- Manage Param Data */
1006 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getpaymentdetails', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1007 unset($param);
1008 $response = ___tagembed__manageApiResponse($response);
1009 return ___tagembed__exitWithSuccess(['__tagembed__requestCallBackUrl' => TAGEMBED_PLUGIN_CALL_BACK_URL, 'redirectUrl' => TAGEMBED_PLUGIN_API_URL . 'apiaccount/makepayment', '__tagembed__paymentData' => $response->__tagembed__paymentData]);
1010 break;
1011 case '__tagembed__resume_subscription':
1012 if (empty($__tagembed__user_details)) :
1013 return ___tagembed__exitWithDanger();
1014 endif;
1015 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1016 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
1017 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/resumesubscription', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1018 unset($param);
1019 $response = ___tagembed__manageApiResponse($response);
1020 $response = !empty($response->message) ? $response->message : 'Done';
1021 return ___tagembed__exitWithSuccess(['message' => $response]);
1022 break;
1023 case '__tagembed__cancel_subscription':
1024 if (empty($__tagembed__user_details) || empty($data->planId)) :
1025 return ___tagembed__exitWithDanger();
1026 endif;
1027 /* --Start-- Manage Param Data */
1028 $param['planId'] = sanitize_key($data->planId);
1029 /* --Start-- Manage Param Data */
1030 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1031 $param['email'] = $__tagembed__user_details->email;
1032 $param['name'] = $__tagembed__user_details->name;
1033 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
1034 /* --End-- Manage Param Data */
1035 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/cancelsubscription', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1036 unset($param);
1037 $response = ___tagembed__manageApiResponse($response);
1038 $response = !empty($response->message) ? $response->message : 'Done';
1039 return ___tagembed__exitWithSuccess(['message' => $response]);
1040 break;
1041 case '__tagembed__get_post':
1042 if (empty($__tagembed__user_details) || empty($data->widgetId) || !isset($data->perPage) || !isset($data->offset) || !isset($data->postStatus)) :
1043 return ___tagembed__exitWithDanger();
1044 endif;
1045 /* --Start-- Manage Param Data */
1046 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1047 $param['widgetId'] = sanitize_key($data->widgetId);
1048 $param['perPage'] = sanitize_key($data->perPage);
1049 $param['offset'] = sanitize_key($data->offset);
1050 $param['postStatus'] = sanitize_key($data->postStatus);
1051 $param['feedIds'] = $data->feedIds;
1052 $param['postType'] = $data->postType;
1053 $param['highlightFilter'] = sanitize_key($data->highlightFilter);
1054 $param['pinFilter'] = sanitize_key($data->pinFilter);
1055 $param['recentFilter'] = sanitize_key($data->recentFilter);
1056 $param['retweetFilter'] = sanitize_key($data->retweetFilter);
1057 $param['searchText'] = sanitize_text_field($data->searchText);
1058 /* --End-- Manage Param Data */
1059 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1060 unset($param);
1061 $response = ___tagembed__manageApiResponse($response);
1062 return ___tagembed__exitWithSuccess($response);
1063 break;
1064 case '__tagembed__manage_post_status':
1065 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->postIds) || empty($data->postStatus)) :
1066 return ___tagembed__exitWithDanger();
1067 endif;
1068 /* --Start-- Manage Param Data */
1069 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1070 $param['widgetId'] = sanitize_key($data->widgetId);
1071 $param['postIds'] = $data->postIds;
1072 $param['postStatus'] = sanitize_key($data->postStatus);
1073 /* --End-- Manage Param Data */
1074 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/status', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1075 unset($param);
1076 $response = ___tagembed__manageApiResponse($response);
1077 $response = !empty($response->message) ? $response->message : 'Done';
1078 return ___tagembed__exitWithSuccess(['message' => $response]);
1079 break;
1080 case '__tagembed__feed_for_search':
1081 if (empty($__tagembed__user_details) || empty($data->widgetId)) :
1082 return ___tagembed__exitWithDanger();
1083 endif;
1084 /* --Start-- Manage Param Data */
1085 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1086 $param['widgetId'] = sanitize_key($data->widgetId);
1087 /* --End-- Manage Param Data */
1088 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/getfeeds', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1089 unset($param);
1090 $response = ___tagembed__manageApiResponse($response);
1091 return ___tagembed__exitWithSuccess($response);
1092 break;
1093 case '__tagembed__manage_post_pin':
1094 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->postId) || !isset($data->pin)) :
1095 return ___tagembed__exitWithDanger();
1096 endif;
1097 /* --Start-- Manage Param Data */
1098 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1099 $param['widgetId'] = sanitize_key($data->widgetId);
1100 $param['postId'] = $data->postId;
1101 $param['pin'] = sanitize_key($data->pin);
1102 /* --End-- Manage Param Data */
1103 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/pin', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1104 unset($param);
1105 $response = ___tagembed__manageApiResponse($response);
1106 $response = !empty($response->message) ? $response->message : 'Done';
1107 return ___tagembed__exitWithSuccess(['message' => $response]);
1108 break;
1109 case '__tagembed__manage_post_highlight':
1110 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->postId) || !isset($data->highlight)) :
1111 return ___tagembed__exitWithDanger();
1112 endif;
1113 /* --Start-- Manage Param Data */
1114 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1115 $param['widgetId'] = sanitize_key($data->widgetId);
1116 $param['postId'] = $data->postId;
1117 $param['highlight'] = sanitize_key($data->highlight);
1118 /* --End-- Manage Param Data */
1119 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/highlight', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1120 unset($param);
1121 $response = ___tagembed__manageApiResponse($response);
1122 $response = !empty($response->message) ? $response->message : 'Done';
1123 return ___tagembed__exitWithSuccess(['message' => $response]);
1124 break;
1125 case '__tagembed__plugin_version':
1126 /* --Start-- Manage Param Data */
1127 $param = [];
1128 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
1129 /* --End-- Manage Param Data */
1130 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/pluginversion', $param, []);
1131 $response = ___tagembed__manageApiResponse($response);
1132 unset($param);
1133 $installedPluginVersion = get_file_data(__FILE__, ['Version' => 'Version'], false);
1134 $installedPluginVersion = $installedPluginVersion['Version'];
1135 $response->installedPluginVersion = $installedPluginVersion;
1136 $response->pluginUpgradeURL = admin_url() . 'plugins.php';
1137 return ___tagembed__exitWithSuccess($response);
1138 break;
1139 case '__tagembed__check_user_token':
1140 if (empty($__tagembed__user_details)) :
1141 return ___tagembed__exitWithDanger();
1142 endif;
1143 /* --Start-- Manage Param Data */
1144 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1145 /* --End-- Manage Param Data */
1146 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/checkusertoken', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1147 if (!empty($response->head) && 401 == $response->head->code && empty($response->head->status)) :
1148 tagembed_logout();
1149 endif;
1150 unset($param);
1151 return ___tagembed__exitWithSuccess($response);
1152 break;
1153 case '__tagembed__plugin_deactivate':
1154 /* --Start-- Manage Param Data */
1155 $__tagembed__user_details = ___tagembed__userData();
1156 $param = [];
1157 $param['userId'] = !empty($__tagembed__user_details) ? sanitize_key($__tagembed__user_details->userId) : '';
1158 $param['userName'] = !empty($__tagembed__user_details) ? sanitize_text_field($__tagembed__user_details->name) : '';
1159 $param['userEmail'] = !empty($__tagembed__user_details) ? sanitize_email($__tagembed__user_details->email) : '';
1160 $param['pluginDeactivateReason'] = sanitize_text_field($data->pluginDeactivateReason);
1161 $param['otherReason'] = sanitize_text_field($data->otherReason);
1162 $param['betterPlugin'] = sanitize_text_field($data->betterPlugin);
1163 $param['userWebsiteUrl'] = get_site_url();
1164 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
1165 /* --End-- Manage Param Data */
1166 ___tagembed__dropDatabaseTablesForPlugin();
1167 deactivate_plugins(plugin_basename(__FILE__), true);
1168 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/deactivateuserdata', $param, []);
1169 $response = ___tagembed__manageApiResponse($response);
1170 unset($param);
1171 return ___tagembed__exitWithSuccess();
1172 break;
1173 case '__tagembed__get_customization_option':
1174 if (empty($__tagembed__user_details) || empty($data->widgetId)) :
1175 return ___tagembed__exitWithDanger();
1176 endif;
1177 /* --Start-- Manage Param Data */
1178 $param['widgetId'] = sanitize_key($data->widgetId);
1179 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1180 /* --End-- Manage Param Data */
1181 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1182 unset($param);
1183 $response = ___tagembed__manageApiResponse($response);
1184 return ___tagembed__exitWithSuccess($response);
1185 break;
1186 case '__tagembed__update_footer_customization_option':
1187 /* --Start-- Manage Param Data */
1188 $param['widgetId'] = sanitize_key($data->widgetId);
1189 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1190 $param['personalizationId'] = sanitize_key($data->personalizationId);
1191 $param['themeRuleId'] = sanitize_key($data->themeRuleId);
1192 $param['loadMoreStatus'] = sanitize_key($data->loadMoreStatus);
1193 $param['autoScrollStatus'] = sanitize_key($data->autoScrollStatus);
1194 /* --End-- Manage Param Data */
1195 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/footer', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1196 unset($param);
1197 $response = ___tagembed__manageApiResponse($response);
1198 return ___tagembed__exitWithSuccess($response);
1199 break;
1200 case '__tagembed__update_layout_customization_option':
1201 /* --Start-- Manage Param Data */
1202 $param['widgetId'] = sanitize_key($data->widgetId);
1203 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1204 $param['personalizationId'] = sanitize_key($data->personalizationId);
1205 $param['themeRuleId'] = sanitize_key($data->themeRuleId);
1206 $param['numberOfPosts'] = sanitize_key($data->numberOfPosts);
1207 $param['padding'] = sanitize_key($data->padding);
1208 $param['minimumPostWidth'] = sanitize_key($data->minimumPostWidth);
1209 $param['columnCount'] = sanitize_key($data->columnCount);
1210 $param['columnCountMobile'] = sanitize_key($data->columnCountMobile);
1211 $param['postText'] = sanitize_key($data->postText);
1212 $param['mobilePopup'] = sanitize_key($data->mobilePopup);
1213 $param['postFeatured'] = sanitize_key($data->postFeatured);
1214 /* --End-- Manage Param Data */
1215 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/layout', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1216 unset($param);
1217 $response = ___tagembed__manageApiResponse($response);
1218 return ___tagembed__exitWithSuccess($response);
1219 break;
1220 case '__tagembed__update_card_customization_option':
1221 /* --Start-- Manage Param Data */
1222 $param['widgetId'] = sanitize_key($data->widgetId);
1223 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1224 $param['personalizationId'] = sanitize_key($data->personalizationId);
1225 $param['inheritStyles'] = sanitize_key($data->inheritStyles);
1226 $param['themeRuleId'] = sanitize_key($data->themeRuleId);
1227 $param['fontColor'] = $data->fontColor;
1228 $param['authorColor'] = $data->authorColor;
1229 $param['cardColor'] = $data->cardColor;
1230 $param['fontSize'] = sanitize_key($data->fontSize);
1231 $param['shareOption'] = sanitize_key($data->shareOption);
1232 $param['hideContent'] = sanitize_key($data->hideContent);
1233 $param['postAuthor'] = sanitize_key($data->postAuthor);
1234 $param['postTime'] = sanitize_key($data->postTime);
1235 $param['lineTrim'] = sanitize_key($data->lineTrim);
1236 $param['aspectImageRatio'] = $data->aspectImageRatio;
1237 $param['textAlignment'] = $data->textAlignment;
1238 $param['roundEdge'] = $data->roundEdge;
1239 /* --End-- Manage Param Data */
1240 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/card', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1241 unset($param);
1242 $response = ___tagembed__manageApiResponse($response);
1243 return ___tagembed__exitWithSuccess($response);
1244 break;
1245 case '__tagembed__update_other_customization_option':
1246 /* --Start-- Manage Param Data */
1247 $param['widgetId'] = sanitize_key($data->widgetId);
1248 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1249 $param['personalizationId'] = sanitize_key($data->personalizationId);
1250 $param['themeRuleId'] = sanitize_key($data->themeRuleId);
1251 $param['css'] = $data->css;
1252 /* --End-- Manage Param Data */
1253 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/other', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1254 unset($param);
1255 $response = ___tagembed__manageApiResponse($response);
1256 return ___tagembed__exitWithSuccess($response);
1257 break;
1258 case '__tagembed__get_and_manage_intercom_chat_setting':
1259 if (empty($__tagembed__user_details)) :
1260 return ___tagembed__exitWithDanger();
1261 endif;
1262 /* --Start-- Manage Param Data */
1263 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1264 /* --End-- Manage Param Data */
1265 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getIntercomSettingData', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1266 unset($param);
1267 $response = ___tagembed__manageApiResponse($response);
1268 return ___tagembed__exitWithSuccess($response);
1269 break;
1270 default:
1271 return ___tagembed__exitWithDanger();
1272 endswitch;
1273 }
1274 /* --End-- Manage Ajax Calls */
1275
1276 add_action('admin_init', '___tagembed__googleAuthListener');
1277 function ___tagembed__googleAuthListener()
1278 {
1279 if (empty($_GET['__tb_google_state'])) :
1280 return;
1281 endif;
1282 if (empty($_GET['page']) || 'tagembed' !== sanitize_key(wp_unslash($_GET['page']))) :
1283 return;
1284 endif;
1285 if (!current_user_can('manage_options')) :
1286 return;
1287 endif;
1288 $__tagembed__google_state = isset($_GET['__tb_google_state']) ? sanitize_text_field(wp_unslash($_GET['__tb_google_state'])) : '';
1289 if ('' === $__tagembed__google_state || !preg_match('/^[A-Za-z0-9]{16,64}$/', $__tagembed__google_state)) :
1290 return;
1291 endif;
1292 $__tagembed__google_session = get_transient('__tagembed__google_' . $__tagembed__google_state);
1293 delete_transient('__tagembed__google_' . $__tagembed__google_state);
1294 if (empty($__tagembed__google_session['verifier']) || (int) $__tagembed__google_session['userId'] !== get_current_user_id()) :
1295 return ___tagembed__googleAuthFailed('expired');
1296 endif;
1297 if (empty($_GET['__tb_google_code'])) :
1298 $__tagembed__google_error_code = isset($_GET['__tb_google_error']) ? sanitize_text_field(wp_unslash($_GET['__tb_google_error'])) : 'failed';
1299 return ___tagembed__googleAuthFailed($__tagembed__google_error_code);
1300 endif;
1301 $param = [
1302 'token' => sanitize_text_field(wp_unslash($_GET['__tb_google_code'])),
1303 'verifier' => $__tagembed__google_session['verifier'],
1304 'platform' => TAGEMBED_PLUGIN_PLATFORM,
1305 ];
1306 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/googleexchange', $param, []);
1307 unset($param);
1308 if (empty($response->head) || empty($response->head->status) || empty($response->body->userId) || empty($response->body->emailId) || empty($response->body->access_token)) :
1309 return ___tagembed__googleAuthFailed('failed');
1310 endif;
1311 $__tagembed__google_user = $response->body;
1312 if (!empty($__tagembed__google_user->createFirstWidget)) :
1313 ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/create', ['userId' => sanitize_key($__tagembed__google_user->userId), 'inheritStyles' => 1], ['Authorization:' . $__tagembed__google_user->access_token]);
1314 endif;
1315 if (___tagembed__login($__tagembed__google_user) !== true) :
1316 return ___tagembed__googleAuthFailed('failed');
1317 endif;
1318 wp_safe_redirect(TAGEMBED_PLUGIN_CALL_BACK_URL);
1319 exit;
1320 }
1321 function ___tagembed__googleAuthFailed($errorCode)
1322 {
1323 $__tagembed__google_errors = [
1324 'cancelled' => 'Google sign in was cancelled. Please try again.',
1325 'expired' => 'Google sign in session has expired. Please try again.',
1326 'email' => 'Your Google account email could not be verified. Please use another account.',
1327 'account' => 'Your account is not active. Please contact support.',
1328 'register' => 'We could not create an account with this Google email. Please sign up with your email instead.',
1329 'process' => 'Your registration is already in progress. Please wait a moment and try again.',
1330 'failed' => 'Google sign in failed. Please try again.',
1331 ];
1332 $__tagembed__google_message = isset($__tagembed__google_errors[$errorCode]) ? $__tagembed__google_errors[$errorCode] : $__tagembed__google_errors['failed'];
1333 set_transient('__tagembed__google_error_' . get_current_user_id(), $__tagembed__google_message, MINUTE_IN_SECONDS);
1334 wp_safe_redirect(TAGEMBED_PLUGIN_CALL_BACK_URL);
1335 exit;
1336 }
1337 /* --Start-- Login */
1338 function ___tagembed__login($response)
1339 {
1340 global $wpdb;
1341 $return = false;
1342 $user = ___tagembed__user($response->emailId);
1343 if (empty($user->email)) :
1344 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'))) :
1345 $return = true;
1346 endif;
1347 else :
1348 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))) :
1349 $return = true;
1350 endif;
1351 endif;
1352 ___tagembed__manageActiveOptions($response->emailId, 'yes'); /* Manage Active Options */
1353 if ($return) :
1354 ___tagembed__manageActiveWidgetsUser($response->userId);
1355 endif;
1356 return $return;
1357 }
1358 /* --End-- Login */
1359
1360 /* --Start-- Manage Active Options */
1361 function ___tagembed__manageActiveOptions($email = null, $other = null)
1362 {
1363 global $wpdb;
1364 if (null == $email && null != $other) :
1365 $wpdb->query($wpdb->prepare('UPDATE wp_tagembed_active_options SET isLogin = %s WHERE id = %d', $other, 1));
1366 else :
1367 $__tagembed__activeOptions = $wpdb->get_results($wpdb->prepare('SELECT email FROM wp_tagembed_active_options WHERE id = %d', 1));
1368 if (empty($__tagembed__activeOptions[0]->email)) :
1369 $wpdb->query($wpdb->prepare('INSERT INTO wp_tagembed_active_options (email, isLogin) VALUES (%s, %s)', $email, $other));
1370 else :
1371 $wpdb->query($wpdb->prepare('UPDATE wp_tagembed_active_options SET email = %s, isLogin = %s WHERE id = %d', $email, $other, 1));
1372 endif;
1373 endif;
1374 }
1375 /* --End-- Manage Active Options */
1376
1377 /* --Start-- Logout */
1378 function tagembed_logout()
1379 {
1380 global $wpdb;
1381 if ($wpdb->query($wpdb->prepare('UPDATE wp_tagembed_user SET isLogin = %s WHERE isLogin = %s', 'no', 'yes'))) :
1382 ___tagembed__manageActiveOptions(null, 'no'); /* Manage Active Options */
1383 return true;
1384 endif;
1385 return false;
1386 }
1387 /* --End-- Logout */
1388
1389 /* --Start--Manage Menues */
1390 function ___tagembed__menus($__tagembed__menu_condatation = [])
1391 {
1392 global $wpdb;
1393 if (empty($__tagembed__menu_condatation)) :
1394 return $wpdb->get_results('SELECT * FROM wp_tagembed_menus');
1395 endif;
1396 if (array_key_exists('__tagembed__menu_condation', $__tagembed__menu_condatation)) :
1397 return $wpdb->get_results($wpdb->prepare('SELECT * FROM wp_tagembed_menus WHERE status = %s', $__tagembed__menu_condatation['__tagembed__menu_condation']));
1398 endif;
1399 if (array_key_exists('__tagembed__menu_id', $__tagembed__menu_condatation)) :
1400 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']))) :
1401 return true;
1402 else :
1403 return false;
1404 endif;
1405 endif;
1406 }
1407 /* --End--Manage Menues */
1408
1409 /* --Start-- Get User Details */
1410 function ___tagembed__user($email = null)
1411 {
1412 global $wpdb;
1413 $__tagembed__userResponse = '';
1414 if (empty($email)) :
1415 $__tagembed__userResponse = $wpdb->get_results($wpdb->prepare('SELECT * FROM wp_tagembed_user WHERE isLogin = %s', 'yes'));
1416 else :
1417 $__tagembed__userResponse = $wpdb->get_results($wpdb->prepare('SELECT * FROM wp_tagembed_user WHERE email = %s', $email));
1418 endif;
1419 if (!empty($__tagembed__userResponse)) :
1420 return $__tagembed__userResponse[0];
1421 else :
1422 return;
1423 endif;
1424 }
1425 function ___tagembed__userData()
1426 {
1427 global $wpdb;
1428 $__tagembed__user_dataResponse = '';
1429 $__tagembed__user_dataResponse = $wpdb->get_results('SELECT * FROM wp_tagembed_user');
1430 if (!empty($__tagembed__user_dataResponse)) :
1431 return $__tagembed__user_dataResponse[0];
1432 else :
1433 return;
1434 endif;
1435 }
1436 /* --End-- Get User Details */
1437
1438 /* --Start-- Get Widget */
1439 function ___tagembed__widgets()
1440 {
1441 $returnWidgetData = [];
1442 $__tagembed__user_details = ___tagembed__user();
1443 if (!empty($__tagembed__user_details)) :
1444 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/get', ['userId' => sanitize_key($__tagembed__user_details->userId)], ['Authorization:' . $__tagembed__user_details->accessToken]);
1445 if (!isset($response->head->status)) :
1446 return $returnWidgetData;
1447 endif;
1448 if (false == $response->head->status || 200 != $response->head->code || false == $response->body || empty($response->body)) :
1449 return $returnWidgetData;
1450 endif;
1451 $returnWidgetData = $response->body;
1452 endif;
1453 return $returnWidgetData;
1454 }
1455 /* --End-- Get Widget */
1456
1457 /* --Start-- Get Active Widget */
1458 function ___tagembed__activeWidget()
1459 {
1460 global $wpdb;
1461 $__tagembed__activeWidgetResponse = '';
1462 $__tagembed__activeWidgetResponse = $wpdb->get_results('SELECT * FROM wp_tagembed_active_widget');
1463 if (!empty($__tagembed__activeWidgetResponse)) :
1464 return $__tagembed__activeWidgetResponse[0]->widgetId;
1465 else :
1466 return;
1467 endif;
1468 }
1469 /* --End-- Get Active Widget */
1470
1471 /* --Start-- Manage Active Widget User */
1472 function ___tagembed__manageActiveWidget($widgetId)
1473 {
1474 global $wpdb;
1475 $activeWidgetUserId = ___tagembed__activeWidget();
1476 if ($activeWidgetUserId == $widgetId) :
1477 return true;
1478 endif;
1479 if (empty($activeWidgetUserId)) :
1480 $wpdb->query($wpdb->prepare('INSERT INTO wp_tagembed_active_widget (widgetId) VALUES (%s)', $widgetId));
1481 return true;
1482 else :
1483 $wpdb->query($wpdb->prepare('UPDATE wp_tagembed_active_widget SET widgetId = %s WHERE id = %d', $widgetId, 1));
1484 return true;
1485 endif;
1486 return false;
1487 }
1488 /* --End-- Manage Active Widget User */
1489
1490 /* --Start-- Get Active Widget User */
1491 function ___tagembed__activeWidgetUser()
1492 {
1493 global $wpdb;
1494 $__tagembed__activeWidgetUserResponse = '';
1495 $__tagembed__activeWidgetUserResponse = $wpdb->get_results('SELECT * FROM wp_tagembed_active_widget_user');
1496 if (!empty($__tagembed__activeWidgetUserResponse)) :
1497 return $__tagembed__activeWidgetUserResponse[0]->userId;
1498 endif;
1499 return;
1500 }
1501 /* --End-- Get Active Widget User */
1502
1503 /* --Start-- Manage Active Widget User */
1504 function ___tagembed__manageActiveWidgetsUser($userId)
1505 {
1506 global $wpdb;
1507 $activeWidgetUserId = ___tagembed__activeWidgetUser();
1508 if ($activeWidgetUserId == $userId) :
1509 return true;
1510 endif;
1511 if (empty($activeWidgetUserId)) :
1512 $wpdb->query($wpdb->prepare('INSERT INTO wp_tagembed_active_widget_user (userId) VALUES (%d)', $userId));
1513 return true;
1514 else :
1515 $wpdb->query($wpdb->prepare('UPDATE wp_tagembed_active_widget_user SET userId = %d WHERE id = %d', $userId, 1));
1516 return true;
1517 endif;
1518 return false;
1519 }
1520 /* --End-- Manage Active Widget User */
1521
1522 /* * ** DATABASE *** */
1523 /* --Start-- Manage Database */
1524 function ___tagembed__createDatabaseTableForPlugin()
1525 {
1526 global $wpdb;
1527 include_once ABSPATH . 'wp-admin/includes/upgrade.php';
1528 $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');
1529 $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');
1530 $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');
1531 $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');
1532 $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');
1533 /* --Start-- Manage Tagembed Plugin Menus */
1534 $__tagembed__checkAlreadyExistMenusDataExistOrNot = $wpdb->get_results('SELECT id FROM wp_tagembed_menus');
1535 if (empty($__tagembed__checkAlreadyExistMenusDataExistOrNot)) :
1536 $__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']];
1537 foreach ($__tagembed__menus as $__tagembed__menu) :
1538 $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']));
1539 endforeach;
1540 endif;
1541 /* --End-- Manage Tagembed Plugin Menus */
1542 }
1543 function ___tagembed__dropDatabaseTablesForPlugin()
1544 {
1545 global $wpdb;
1546 $wpdb->query('DROP table IF EXISTS wp_tagembed_active_widget_user');
1547 $wpdb->query('DROP table IF EXISTS wp_tagembed_active_widget');
1548 $wpdb->query('DROP table IF EXISTS wp_tagembed_menus');
1549 }
1550 /* --End-- Manage Database */
1551
1552 /* --Start-- Manage Active Deactive And Uninstall Webhook */
1553 register_activation_hook(__FILE__, '___tagembed__pluginActivate');
1554 function ___tagembed__pluginActivate()
1555 {
1556 ___tagembed__createDatabaseTableForPlugin();
1557 add_action('activated_plugin', '___tagembed__plginActivationRedirect');
1558 }
1559 register_uninstall_hook(__FILE__, '___tagembed__pluginUnistall');
1560 function ___tagembed__pluginUnistall()
1561 {
1562 ___tagembed__dropDatabaseTablesForPlugin();
1563 global $wpdb;
1564 $wpdb->query('DROP table IF EXISTS wp_tagembed_active_options');
1565 $wpdb->query('DROP table IF EXISTS wp_tagembed_user');
1566 }
1567 /* --End-- Manage Active Deactive And Uninstall Webhook */
1568
1569 /* --Start--Manage Redirect After Plugin Activate */
1570 function ___tagembed__plginActivationRedirect()
1571 {
1572 $__tagembed__activeUserData = wp_get_current_user();
1573 if (empty($__tagembed__activeUserData->roles)) :
1574 return false;
1575 endif;
1576 $__tagembed__pluginCallbackUrl = esc_url(TAGEMBED_PLUGIN_CALL_BACK_URL);
1577 wp_safe_redirect($__tagembed__pluginCallbackUrl);
1578 exit;
1579 }
1580 /* --End--Manage Redirect After Plugin Activate */
1581
1582 /* --Start--Manage Setting Link */
1583 function ___tagembed__settingsLink($links)
1584 {
1585 array_unshift($links, '<a href=' . TAGEMBED_PLUGIN_CALL_BACK_URL . '>Settings</a>');
1586 return $links;
1587 }
1588 add_filter('plugin_action_links_' . plugin_basename(__FILE__), '___tagembed__settingsLink');
1589 /* --End--Manage Setting Link */
1590
1591 /* --Start--Manage Database On Plugin Update Time */
1592 function ___tagembed__manageDatabaseOnPluginUpdateTime()
1593 {
1594 ___tagembed__dropDatabaseTablesForPlugin();
1595 ___tagembed__createDatabaseTableForPlugin();
1596 }
1597 add_action('upgrader_process_complete', '___tagembed__manageDatabaseOnPluginUpdateTime', 10, 2);
1598 /* --End--Manage Database On Plugin Update Time */
1599
1600 /* --Sart--Get And Manage Social Accout Id */
1601 function ___tagembed__get_user_social_account_id()
1602 {
1603 $__tagembed__user_details = ___tagembed__user();
1604 $param['userId'] = $__tagembed__user_details->userId;
1605 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getsocialaccountid', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1606 if (!empty($response->head->status)) :
1607 if (!empty($response->body->userId)) :
1608 return $response->body->userId;
1609 endif;
1610 endif;
1611 return false;
1612 }
1613 /* --End--Get And Manage Social Accout Id */
1614
1615 /* --Start-- Show Admin General Notification After Login And Register */
1616 function ___tagembed__generalAdminNotice()
1617 {
1618 $__tagmebed__page_name = '';
1619 if (!empty($_GET['page'])) :
1620 $__tagmebed__page_name = ___tagembed__sanitizeRequestData($_GET);
1621 $__tagmebed__page_name = $__tagmebed__page_name['page'];
1622 endif;
1623 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/notification', ['callBy' => 'wordpress'], []);
1624 if (!is_wp_error($response)) :
1625 if (!empty($response->head->status) && !empty($response->body)) :
1626 $response = $response->body;
1627 if (!empty($response->notifications) && is_array($response->notifications)) :
1628 $htmlData = '';
1629 foreach ($response->notifications as $notifications) :
1630 if ('tagembed' == $notifications->location || 'inner' == $notifications->location) :
1631 if ('tagembed' != $__tagmebed__page_name) :
1632 continue;
1633 endif;
1634 $htmlData .= '<div class=\'notice notice-' . esc_attr($notifications->type) . ' is-dismissible\'>';
1635 $htmlData .= '<p>' . $notifications->message . '</p>';
1636 $htmlData .= '</div>';
1637 elseif ('all' == $notifications->location) :
1638 $htmlData .= '<div class=\'notice notice-' . esc_attr($notifications->type) . ' is-dismissible\'>';
1639 $htmlData .= '<p>' . $notifications->message . '</p>';
1640 $htmlData .= '</div>';
1641 endif;
1642 endforeach;
1643 echo wp_kses_post($htmlData);
1644 endif;
1645 endif;
1646 endif;
1647 }
1648 add_action('in_admin_header', '___tagembed__hideGeneralAdminNotice');
1649 function ___tagembed__hideGeneralAdminNotice()
1650 {
1651 $__tagmebed__page_name = '';
1652 if (!empty($_GET['page'])) :
1653 $__tagmebed__page_name = ___tagembed__sanitizeRequestData($_GET);
1654 $__tagmebed__page_name = $__tagmebed__page_name['page'];
1655 endif;
1656 if ('tagembed' == $__tagmebed__page_name) :
1657 remove_all_actions('admin_notices');
1658 remove_all_actions('all_admin_notices');
1659 endif;
1660 if (!empty(___tagembed__user())) :
1661 add_action('admin_notices', '___tagembed__generalAdminNotice');
1662 endif;
1663 }
1664 /* --End-- Show Admin General Notification After Login And Register */
1665 /* --End-- Drop Database Table */
1666
1667 /* --Start-- Create Short Code */
1668 function ___tagembed__PluginShortCode($__tagembed__shortCodeAttr)
1669 {
1670 $__tagembed__shortCodeDefaultAttr = ['width' => '', 'height' => '', 1 => ''];
1671 $__tagembed__shortCodeAttr = shortcode_atts($__tagembed__shortCodeDefaultAttr, $__tagembed__shortCodeAttr, 'tagembed');
1672 $width = isset($__tagembed__shortCodeAttr['width']) ? sanitize_text_field($__tagembed__shortCodeAttr['width']) : '';
1673 $height = isset($__tagembed__shortCodeAttr['height']) ? sanitize_text_field($__tagembed__shortCodeAttr['height']) : '';
1674 $widgetId = isset($__tagembed__shortCodeAttr[1]) ? sanitize_text_field($__tagembed__shortCodeAttr[1]) : '';
1675 if (!empty($widgetId) && is_numeric($widgetId) && (('' === $width || preg_match('/^\d+(px|%|)$/', $width)) && ('' === $height || preg_match('/^\d+(px|%|)$/', $height)))) :
1676 $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>';
1677 else :
1678 $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>';
1679 endif;
1680 return $output;
1681 }
1682 add_shortcode('tagembed', '___tagembed__PluginShortCode');
1683 /* --End-- Create Short Code */
1684