PluginProbe
Tagembed: Social Media Feeds and Customer Reviews Widget / 7.6
Tagembed: Social Media Feeds and Customer Reviews Widget v7.6
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 5.5 5.6 5.7 All 42 releases
tagembed-widget / tagembed.php

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

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