PluginProbe
Tagembed: Social Media Feeds and Customer Reviews Widget / trunk
Tagembed: Social Media Feeds and Customer Reviews Widget vtrunk
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 trunk, at tagembed.php

1,551 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.7
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.7');
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
934 if (empty($__tagembed__user_details) || empty($data->planId)) :
935 return ___tagembed__exitWithDanger();
936 endif;
937 /* --Start-- Manage Param Data */
938 $param['planId'] = sanitize_key($data->planId);
939 $param['priceCode'] = $data->priceCode;
940 /* --Start-- Manage Param Data */
941 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
942 $param['email'] = $__tagembed__user_details->email;
943 $param['name'] = $__tagembed__user_details->name;
944 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
945 /* --End-- Manage Param Data */
946 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getpaymentdetails', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
947 unset($param);
948 $response = ___tagembed__manageApiResponse($response);
949 return ___tagembed__exitWithSuccess(['__tagembed__requestCallBackUrl' => TAGEMBED_PLUGIN_CALL_BACK_URL, 'redirectUrl' => TAGEMBED_PLUGIN_API_URL . 'apiaccount/makepayment', '__tagembed__paymentData' => $response->__tagembed__paymentData]);
950 break;
951 case '__tagembed__cancel_subscription':
952 if (empty($__tagembed__user_details) || empty($data->planId)) :
953 return ___tagembed__exitWithDanger();
954 endif;
955 /* --Start-- Manage Param Data */
956 $param['planId'] = sanitize_key($data->planId);
957 /* --Start-- Manage Param Data */
958 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
959 $param['email'] = $__tagembed__user_details->email;
960 $param['name'] = $__tagembed__user_details->name;
961 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
962 /* --End-- Manage Param Data */
963 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/cancelsubscription', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
964 unset($param);
965 $response = ___tagembed__manageApiResponse($response);
966 $response = !empty($response->message) ? $response->message : 'Done';
967 return ___tagembed__exitWithSuccess(['message' => $response]);
968 break;
969 case '__tagembed__get_post':
970 if (empty($__tagembed__user_details) || empty($data->widgetId) || !isset($data->perPage) || !isset($data->offset) || !isset($data->postStatus)) :
971 return ___tagembed__exitWithDanger();
972 endif;
973 /* --Start-- Manage Param Data */
974 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
975 $param['widgetId'] = sanitize_key($data->widgetId);
976 $param['perPage'] = sanitize_key($data->perPage);
977 $param['offset'] = sanitize_key($data->offset);
978 $param['postStatus'] = sanitize_key($data->postStatus);
979 $param['feedIds'] = $data->feedIds;
980 $param['postType'] = $data->postType;
981 $param['highlightFilter'] = sanitize_key($data->highlightFilter);
982 $param['pinFilter'] = sanitize_key($data->pinFilter);
983 $param['recentFilter'] = sanitize_key($data->recentFilter);
984 $param['retweetFilter'] = sanitize_key($data->retweetFilter);
985 $param['searchText'] = sanitize_text_field($data->searchText);
986 /* --End-- Manage Param Data */
987 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
988 unset($param);
989 $response = ___tagembed__manageApiResponse($response);
990 return ___tagembed__exitWithSuccess($response);
991 break;
992 case '__tagembed__manage_post_status':
993 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->postIds) || empty($data->postStatus)) :
994 return ___tagembed__exitWithDanger();
995 endif;
996 /* --Start-- Manage Param Data */
997 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
998 $param['widgetId'] = sanitize_key($data->widgetId);
999 $param['postIds'] = $data->postIds;
1000 $param['postStatus'] = sanitize_key($data->postStatus);
1001 /* --End-- Manage Param Data */
1002 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/status', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1003 unset($param);
1004 $response = ___tagembed__manageApiResponse($response);
1005 $response = !empty($response->message) ? $response->message : 'Done';
1006 return ___tagembed__exitWithSuccess(['message' => $response]);
1007 break;
1008 case '__tagembed__feed_for_search':
1009 if (empty($__tagembed__user_details) || empty($data->widgetId)) :
1010 return ___tagembed__exitWithDanger();
1011 endif;
1012 /* --Start-- Manage Param Data */
1013 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1014 $param['widgetId'] = sanitize_key($data->widgetId);
1015 /* --End-- Manage Param Data */
1016 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/getfeeds', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1017 unset($param);
1018 $response = ___tagembed__manageApiResponse($response);
1019 return ___tagembed__exitWithSuccess($response);
1020 break;
1021 case '__tagembed__manage_post_pin':
1022 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->postId) || !isset($data->pin)) :
1023 return ___tagembed__exitWithDanger();
1024 endif;
1025 /* --Start-- Manage Param Data */
1026 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1027 $param['widgetId'] = sanitize_key($data->widgetId);
1028 $param['postId'] = $data->postId;
1029 $param['pin'] = sanitize_key($data->pin);
1030 /* --End-- Manage Param Data */
1031 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/pin', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1032 unset($param);
1033 $response = ___tagembed__manageApiResponse($response);
1034 $response = !empty($response->message) ? $response->message : 'Done';
1035 return ___tagembed__exitWithSuccess(['message' => $response]);
1036 break;
1037 case '__tagembed__manage_post_highlight':
1038 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->postId) || !isset($data->highlight)) :
1039 return ___tagembed__exitWithDanger();
1040 endif;
1041 /* --Start-- Manage Param Data */
1042 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1043 $param['widgetId'] = sanitize_key($data->widgetId);
1044 $param['postId'] = $data->postId;
1045 $param['highlight'] = sanitize_key($data->highlight);
1046 /* --End-- Manage Param Data */
1047 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/highlight', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1048 unset($param);
1049 $response = ___tagembed__manageApiResponse($response);
1050 $response = !empty($response->message) ? $response->message : 'Done';
1051 return ___tagembed__exitWithSuccess(['message' => $response]);
1052 break;
1053 case '__tagembed__plugin_version':
1054 /* --Start-- Manage Param Data */
1055 $param = [];
1056 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
1057 /* --End-- Manage Param Data */
1058 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/pluginversion', $param, []);
1059 $response = ___tagembed__manageApiResponse($response);
1060 unset($param);
1061 $installedPluginVersion = get_file_data(__FILE__, ['Version' => 'Version'], false);
1062 $installedPluginVersion = $installedPluginVersion['Version'];
1063 $response->installedPluginVersion = $installedPluginVersion;
1064 $response->pluginUpgradeURL = admin_url() . 'plugins.php';
1065 return ___tagembed__exitWithSuccess($response);
1066 break;
1067 case '__tagembed__check_user_token':
1068 if (empty($__tagembed__user_details)) :
1069 return ___tagembed__exitWithDanger();
1070 endif;
1071 /* --Start-- Manage Param Data */
1072 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1073 /* --End-- Manage Param Data */
1074 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/checkusertoken', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1075 if (!empty($response->head) && 401 == $response->head->code && empty($response->head->status)) :
1076 tagembed_logout();
1077 endif;
1078 unset($param);
1079 return ___tagembed__exitWithSuccess($response);
1080 break;
1081 case '__tagembed__plugin_deactivate':
1082 /* --Start-- Manage Param Data */
1083 $__tagembed__user_details = ___tagembed__userData();
1084 $param = [];
1085 $param['userId'] = !empty($__tagembed__user_details) ? sanitize_key($__tagembed__user_details->userId) : '';
1086 $param['userName'] = !empty($__tagembed__user_details) ? sanitize_text_field($__tagembed__user_details->name) : '';
1087 $param['userEmail'] = !empty($__tagembed__user_details) ? sanitize_email($__tagembed__user_details->email) : '';
1088 $param['pluginDeactivateReason'] = sanitize_text_field($data->pluginDeactivateReason);
1089 $param['otherReason'] = sanitize_text_field($data->otherReason);
1090 $param['betterPlugin'] = sanitize_text_field($data->betterPlugin);
1091 $param['userWebsiteUrl'] = get_site_url();
1092 $param['platform'] = TAGEMBED_PLUGIN_PLATFORM;
1093 /* --End-- Manage Param Data */
1094 ___tagembed__dropDatabaseTablesForPlugin();
1095 deactivate_plugins(plugin_basename(__FILE__), true);
1096 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/deactivateuserdata', $param, []);
1097 $response = ___tagembed__manageApiResponse($response);
1098 unset($param);
1099 return ___tagembed__exitWithSuccess();
1100 break;
1101 case '__tagembed__get_customization_option':
1102 if (empty($__tagembed__user_details) || empty($data->widgetId)) :
1103 return ___tagembed__exitWithDanger();
1104 endif;
1105 /* --Start-- Manage Param Data */
1106 $param['widgetId'] = sanitize_key($data->widgetId);
1107 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1108 /* --End-- Manage Param Data */
1109 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1110 unset($param);
1111 $response = ___tagembed__manageApiResponse($response);
1112 return ___tagembed__exitWithSuccess($response);
1113 break;
1114 case '__tagembed__update_footer_customization_option':
1115 /* --Start-- Manage Param Data */
1116 $param['widgetId'] = sanitize_key($data->widgetId);
1117 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1118 $param['personalizationId'] = sanitize_key($data->personalizationId);
1119 $param['themeRuleId'] = sanitize_key($data->themeRuleId);
1120 $param['loadMoreStatus'] = sanitize_key($data->loadMoreStatus);
1121 $param['autoScrollStatus'] = sanitize_key($data->autoScrollStatus);
1122 /* --End-- Manage Param Data */
1123 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/footer', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1124 unset($param);
1125 $response = ___tagembed__manageApiResponse($response);
1126 return ___tagembed__exitWithSuccess($response);
1127 break;
1128 case '__tagembed__update_layout_customization_option':
1129 /* --Start-- Manage Param Data */
1130 $param['widgetId'] = sanitize_key($data->widgetId);
1131 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1132 $param['personalizationId'] = sanitize_key($data->personalizationId);
1133 $param['themeRuleId'] = sanitize_key($data->themeRuleId);
1134 $param['numberOfPosts'] = sanitize_key($data->numberOfPosts);
1135 $param['padding'] = sanitize_key($data->padding);
1136 $param['minimumPostWidth'] = sanitize_key($data->minimumPostWidth);
1137 $param['columnCount'] = sanitize_key($data->columnCount);
1138 $param['columnCountMobile'] = sanitize_key($data->columnCountMobile);
1139 $param['postText'] = sanitize_key($data->postText);
1140 $param['mobilePopup'] = sanitize_key($data->mobilePopup);
1141 $param['postFeatured'] = sanitize_key($data->postFeatured);
1142 /* --End-- Manage Param Data */
1143 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/layout', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1144 unset($param);
1145 $response = ___tagembed__manageApiResponse($response);
1146 return ___tagembed__exitWithSuccess($response);
1147 break;
1148 case '__tagembed__update_card_customization_option':
1149 /* --Start-- Manage Param Data */
1150 $param['widgetId'] = sanitize_key($data->widgetId);
1151 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1152 $param['personalizationId'] = sanitize_key($data->personalizationId);
1153 $param['inheritStyles'] = sanitize_key($data->inheritStyles);
1154 $param['themeRuleId'] = sanitize_key($data->themeRuleId);
1155 $param['fontColor'] = $data->fontColor;
1156 $param['authorColor'] = $data->authorColor;
1157 $param['cardColor'] = $data->cardColor;
1158 $param['fontSize'] = sanitize_key($data->fontSize);
1159 $param['shareOption'] = sanitize_key($data->shareOption);
1160 $param['hideContent'] = sanitize_key($data->hideContent);
1161 $param['postAuthor'] = sanitize_key($data->postAuthor);
1162 $param['postTime'] = sanitize_key($data->postTime);
1163 $param['lineTrim'] = sanitize_key($data->lineTrim);
1164 $param['aspectImageRatio'] = $data->aspectImageRatio;
1165 $param['textAlignment'] = $data->textAlignment;
1166 $param['roundEdge'] = $data->roundEdge;
1167 /* --End-- Manage Param Data */
1168 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/card', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1169 unset($param);
1170 $response = ___tagembed__manageApiResponse($response);
1171 return ___tagembed__exitWithSuccess($response);
1172 break;
1173 case '__tagembed__update_other_customization_option':
1174 /* --Start-- Manage Param Data */
1175 $param['widgetId'] = sanitize_key($data->widgetId);
1176 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1177 $param['personalizationId'] = sanitize_key($data->personalizationId);
1178 $param['themeRuleId'] = sanitize_key($data->themeRuleId);
1179 $param['css'] = $data->css;
1180 /* --End-- Manage Param Data */
1181 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/other', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1182 unset($param);
1183 $response = ___tagembed__manageApiResponse($response);
1184 return ___tagembed__exitWithSuccess($response);
1185 break;
1186 case '__tagembed__get_and_manage_intercom_chat_setting':
1187 if (empty($__tagembed__user_details)) :
1188 return ___tagembed__exitWithDanger();
1189 endif;
1190 /* --Start-- Manage Param Data */
1191 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1192 /* --End-- Manage Param Data */
1193 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getIntercomSettingData', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1194 unset($param);
1195 $response = ___tagembed__manageApiResponse($response);
1196 return ___tagembed__exitWithSuccess($response);
1197 break;
1198 default:
1199 return ___tagembed__exitWithDanger();
1200 endswitch;
1201 }
1202 /* --End-- Manage Ajax Calls */
1203
1204 /* --Start-- Login */
1205 function ___tagembed__login($response)
1206 {
1207 global $wpdb;
1208 $return = false;
1209 $user = ___tagembed__user($response->emailId);
1210 if (empty($user->email)) :
1211 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'))) :
1212 $return = true;
1213 endif;
1214 else :
1215 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))) :
1216 $return = true;
1217 endif;
1218 endif;
1219 ___tagembed__manageActiveOptions($response->emailId, 'yes'); /* Manage Active Options */
1220 if ($return) :
1221 ___tagembed__manageActiveWidgetsUser($response->userId);
1222 endif;
1223 return $return;
1224 }
1225 /* --End-- Login */
1226
1227 /* --Start-- Manage Active Options */
1228 function ___tagembed__manageActiveOptions($email = null, $other = null)
1229 {
1230 global $wpdb;
1231 if (null == $email && null != $other) :
1232 $wpdb->query($wpdb->prepare('UPDATE wp_tagembed_active_options SET isLogin = %s WHERE id = %d', $other, 1));
1233 else :
1234 $__tagembed__activeOptions = $wpdb->get_results($wpdb->prepare('SELECT email FROM wp_tagembed_active_options WHERE id = %d', 1));
1235 if (empty($__tagembed__activeOptions[0]->email)) :
1236 $wpdb->query($wpdb->prepare('INSERT INTO wp_tagembed_active_options (email, isLogin) VALUES (%s, %s)', $email, $other));
1237 else :
1238 $wpdb->query($wpdb->prepare('UPDATE wp_tagembed_active_options SET email = %s, isLogin = %s WHERE id = %d', $email, $other, 1));
1239 endif;
1240 endif;
1241 }
1242 /* --End-- Manage Active Options */
1243
1244 /* --Start-- Logout */
1245 function tagembed_logout()
1246 {
1247 global $wpdb;
1248 if ($wpdb->query($wpdb->prepare('UPDATE wp_tagembed_user SET isLogin = %s WHERE isLogin = %s', 'no', 'yes'))) :
1249 ___tagembed__manageActiveOptions(null, 'no'); /* Manage Active Options */
1250 return true;
1251 endif;
1252 return false;
1253 }
1254 /* --End-- Logout */
1255
1256 /* --Start--Manage Menues */
1257 function ___tagembed__menus($__tagembed__menu_condatation = [])
1258 {
1259 global $wpdb;
1260 if (empty($__tagembed__menu_condatation)) :
1261 return $wpdb->get_results('SELECT * FROM wp_tagembed_menus');
1262 endif;
1263 if (array_key_exists('__tagembed__menu_condation', $__tagembed__menu_condatation)) :
1264 return $wpdb->get_results($wpdb->prepare('SELECT * FROM wp_tagembed_menus WHERE status = %s', $__tagembed__menu_condatation['__tagembed__menu_condation']));
1265 endif;
1266 if (array_key_exists('__tagembed__menu_id', $__tagembed__menu_condatation)) :
1267 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']))) :
1268 return true;
1269 else :
1270 return false;
1271 endif;
1272 endif;
1273 }
1274 /* --End--Manage Menues */
1275
1276 /* --Start-- Get User Details */
1277 function ___tagembed__user($email = null)
1278 {
1279 global $wpdb;
1280 $__tagembed__userResponse = '';
1281 if (empty($email)) :
1282 $__tagembed__userResponse = $wpdb->get_results($wpdb->prepare('SELECT * FROM wp_tagembed_user WHERE isLogin = %s', 'yes'));
1283 else :
1284 $__tagembed__userResponse = $wpdb->get_results($wpdb->prepare('SELECT * FROM wp_tagembed_user WHERE email = %s', $email));
1285 endif;
1286 if (!empty($__tagembed__userResponse)) :
1287 return $__tagembed__userResponse[0];
1288 else :
1289 return;
1290 endif;
1291 }
1292 function ___tagembed__userData()
1293 {
1294 global $wpdb;
1295 $__tagembed__user_dataResponse = '';
1296 $__tagembed__user_dataResponse = $wpdb->get_results('SELECT * FROM wp_tagembed_user');
1297 if (!empty($__tagembed__user_dataResponse)) :
1298 return $__tagembed__user_dataResponse[0];
1299 else :
1300 return;
1301 endif;
1302 }
1303 /* --End-- Get User Details */
1304
1305 /* --Start-- Get Widget */
1306 function ___tagembed__widgets()
1307 {
1308 $returnWidgetData = [];
1309 $__tagembed__user_details = ___tagembed__user();
1310 if (!empty($__tagembed__user_details)) :
1311 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/get', ['userId' => sanitize_key($__tagembed__user_details->userId)], ['Authorization:' . $__tagembed__user_details->accessToken]);
1312 if (!isset($response->head->status)) :
1313 return $returnWidgetData;
1314 endif;
1315 if (false == $response->head->status || 200 != $response->head->code || false == $response->body || empty($response->body)) :
1316 return $returnWidgetData;
1317 endif;
1318 $returnWidgetData = $response->body;
1319 endif;
1320 return $returnWidgetData;
1321 }
1322 /* --End-- Get Widget */
1323
1324 /* --Start-- Get Active Widget */
1325 function ___tagembed__activeWidget()
1326 {
1327 global $wpdb;
1328 $__tagembed__activeWidgetResponse = '';
1329 $__tagembed__activeWidgetResponse = $wpdb->get_results('SELECT * FROM wp_tagembed_active_widget');
1330 if (!empty($__tagembed__activeWidgetResponse)) :
1331 return $__tagembed__activeWidgetResponse[0]->widgetId;
1332 else :
1333 return;
1334 endif;
1335 }
1336 /* --End-- Get Active Widget */
1337
1338 /* --Start-- Manage Active Widget User */
1339 function ___tagembed__manageActiveWidget($widgetId)
1340 {
1341 global $wpdb;
1342 $activeWidgetUserId = ___tagembed__activeWidget();
1343 if ($activeWidgetUserId == $widgetId) :
1344 return true;
1345 endif;
1346 if (empty($activeWidgetUserId)) :
1347 $wpdb->query($wpdb->prepare('INSERT INTO wp_tagembed_active_widget (widgetId) VALUES (%s)', $widgetId));
1348 return true;
1349 else :
1350 $wpdb->query($wpdb->prepare('UPDATE wp_tagembed_active_widget SET widgetId = %s WHERE id = %d', $widgetId, 1));
1351 return true;
1352 endif;
1353 return false;
1354 }
1355 /* --End-- Manage Active Widget User */
1356
1357 /* --Start-- Get Active Widget User */
1358 function ___tagembed__activeWidgetUser()
1359 {
1360 global $wpdb;
1361 $__tagembed__activeWidgetUserResponse = '';
1362 $__tagembed__activeWidgetUserResponse = $wpdb->get_results('SELECT * FROM wp_tagembed_active_widget_user');
1363 if (!empty($__tagembed__activeWidgetUserResponse)) :
1364 return $__tagembed__activeWidgetUserResponse[0]->userId;
1365 endif;
1366 return;
1367 }
1368 /* --End-- Get Active Widget User */
1369
1370 /* --Start-- Manage Active Widget User */
1371 function ___tagembed__manageActiveWidgetsUser($userId)
1372 {
1373 global $wpdb;
1374 $activeWidgetUserId = ___tagembed__activeWidgetUser();
1375 if ($activeWidgetUserId == $userId) :
1376 return true;
1377 endif;
1378 if (empty($activeWidgetUserId)) :
1379 $wpdb->query($wpdb->prepare('INSERT INTO wp_tagembed_active_widget_user (userId) VALUES (%d)', $userId));
1380 return true;
1381 else :
1382 $wpdb->query($wpdb->prepare('UPDATE wp_tagembed_active_widget_user SET userId = %d WHERE id = %d', $userId, 1));
1383 return true;
1384 endif;
1385 return false;
1386 }
1387 /* --End-- Manage Active Widget User */
1388
1389 /* * ** DATABASE *** */
1390 /* --Start-- Manage Database */
1391 function ___tagembed__createDatabaseTableForPlugin()
1392 {
1393 global $wpdb;
1394 include_once ABSPATH . 'wp-admin/includes/upgrade.php';
1395 $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');
1396 $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');
1397 $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');
1398 $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');
1399 $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');
1400 /* --Start-- Manage Tagembed Plugin Menus */
1401 $__tagembed__checkAlreadyExistMenusDataExistOrNot = $wpdb->get_results('SELECT id FROM wp_tagembed_menus');
1402 if (empty($__tagembed__checkAlreadyExistMenusDataExistOrNot)) :
1403 $__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']];
1404 foreach ($__tagembed__menus as $__tagembed__menu) :
1405 $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']));
1406 endforeach;
1407 endif;
1408 /* --End-- Manage Tagembed Plugin Menus */
1409 }
1410 function ___tagembed__dropDatabaseTablesForPlugin()
1411 {
1412 global $wpdb;
1413 $wpdb->query('DROP table IF EXISTS wp_tagembed_active_widget_user');
1414 $wpdb->query('DROP table IF EXISTS wp_tagembed_active_widget');
1415 $wpdb->query('DROP table IF EXISTS wp_tagembed_menus');
1416 }
1417 /* --End-- Manage Database */
1418
1419 /* --Start-- Manage Active Deactive And Uninstall Webhook */
1420 register_activation_hook(__FILE__, '___tagembed__pluginActivate');
1421 function ___tagembed__pluginActivate()
1422 {
1423 ___tagembed__createDatabaseTableForPlugin();
1424 add_action('activated_plugin', '___tagembed__plginActivationRedirect');
1425 }
1426 register_uninstall_hook(__FILE__, '___tagembed__pluginUnistall');
1427 function ___tagembed__pluginUnistall()
1428 {
1429 ___tagembed__dropDatabaseTablesForPlugin();
1430 global $wpdb;
1431 $wpdb->query('DROP table IF EXISTS wp_tagembed_active_options');
1432 $wpdb->query('DROP table IF EXISTS wp_tagembed_user');
1433 }
1434 /* --End-- Manage Active Deactive And Uninstall Webhook */
1435
1436 /* --Start--Manage Redirect After Plugin Activate */
1437 function ___tagembed__plginActivationRedirect()
1438 {
1439 $__tagembed__activeUserData = wp_get_current_user();
1440 if (empty($__tagembed__activeUserData->roles)) :
1441 return false;
1442 endif;
1443 $__tagembed__pluginCallbackUrl = esc_url(TAGEMBED_PLUGIN_CALL_BACK_URL);
1444 wp_safe_redirect($__tagembed__pluginCallbackUrl);
1445 exit;
1446 }
1447 /* --End--Manage Redirect After Plugin Activate */
1448
1449 /* --Start--Manage Setting Link */
1450 function ___tagembed__settingsLink($links)
1451 {
1452 array_unshift($links, '<a href=' . TAGEMBED_PLUGIN_CALL_BACK_URL . '>Settings</a>');
1453 return $links;
1454 }
1455 add_filter('plugin_action_links_' . plugin_basename(__FILE__), '___tagembed__settingsLink');
1456 /* --End--Manage Setting Link */
1457
1458 /* --Start--Manage Database On Plugin Update Time */
1459 function ___tagembed__manageDatabaseOnPluginUpdateTime()
1460 {
1461 ___tagembed__dropDatabaseTablesForPlugin();
1462 ___tagembed__createDatabaseTableForPlugin();
1463 }
1464 add_action('upgrader_process_complete', '___tagembed__manageDatabaseOnPluginUpdateTime', 10, 2);
1465 /* --End--Manage Database On Plugin Update Time */
1466
1467 /* --Sart--Get And Manage Social Accout Id */
1468 function ___tagembed__get_user_social_account_id()
1469 {
1470 $__tagembed__user_details = ___tagembed__user();
1471 $param['userId'] = $__tagembed__user_details->userId;
1472 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getsocialaccountid', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1473 if (!empty($response->head->status)) :
1474 if (!empty($response->body->userId)) :
1475 return $response->body->userId;
1476 endif;
1477 endif;
1478 return false;
1479 }
1480 /* --End--Get And Manage Social Accout Id */
1481
1482 /* --Start-- Show Admin General Notification After Login And Register */
1483 function ___tagembed__generalAdminNotice()
1484 {
1485 $__tagmebed__page_name = '';
1486 if (!empty($_GET['page'])) :
1487 $__tagmebed__page_name = ___tagembed__sanitizeRequestData($_GET);
1488 $__tagmebed__page_name = $__tagmebed__page_name['page'];
1489 endif;
1490 $response = ___tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/notification', ['callBy' => 'wordpress'], []);
1491 if (!is_wp_error($response)) :
1492 if (!empty($response->head->status) && !empty($response->body)) :
1493 $response = $response->body;
1494 if (!empty($response->notifications) && is_array($response->notifications)) :
1495 $htmlData = '';
1496 foreach ($response->notifications as $notifications) :
1497 if ('tagembed' == $notifications->location || 'inner' == $notifications->location) :
1498 if ('tagembed' != $__tagmebed__page_name) :
1499 continue;
1500 endif;
1501 $htmlData .= '<div class=\'notice notice-' . esc_attr($notifications->type) . ' is-dismissible\'>';
1502 $htmlData .= '<p>' . $notifications->message . '</p>';
1503 $htmlData .= '</div>';
1504 elseif ('all' == $notifications->location) :
1505 $htmlData .= '<div class=\'notice notice-' . esc_attr($notifications->type) . ' is-dismissible\'>';
1506 $htmlData .= '<p>' . $notifications->message . '</p>';
1507 $htmlData .= '</div>';
1508 endif;
1509 endforeach;
1510 echo wp_kses_post($htmlData);
1511 endif;
1512 endif;
1513 endif;
1514 }
1515 add_action('in_admin_header', '___tagembed__hideGeneralAdminNotice');
1516 function ___tagembed__hideGeneralAdminNotice()
1517 {
1518 $__tagmebed__page_name = '';
1519 if (!empty($_GET['page'])) :
1520 $__tagmebed__page_name = ___tagembed__sanitizeRequestData($_GET);
1521 $__tagmebed__page_name = $__tagmebed__page_name['page'];
1522 endif;
1523 if ('tagembed' == $__tagmebed__page_name) :
1524 remove_all_actions('admin_notices');
1525 remove_all_actions('all_admin_notices');
1526 endif;
1527 if (!empty(___tagembed__user())) :
1528 add_action('admin_notices', '___tagembed__generalAdminNotice');
1529 endif;
1530 }
1531 /* --End-- Show Admin General Notification After Login And Register */
1532 /* --End-- Drop Database Table */
1533
1534 /* --Start-- Create Short Code */
1535 function ___tagembed__PluginShortCode($__tagembed__shortCodeAttr)
1536 {
1537 $__tagembed__shortCodeDefaultAttr = ['width' => '', 'height' => '', 1 => ''];
1538 $__tagembed__shortCodeAttr = shortcode_atts($__tagembed__shortCodeDefaultAttr, $__tagembed__shortCodeAttr, 'tagembed');
1539 $width = isset($__tagembed__shortCodeAttr['width']) ? sanitize_text_field($__tagembed__shortCodeAttr['width']) : '';
1540 $height = isset($__tagembed__shortCodeAttr['height']) ? sanitize_text_field($__tagembed__shortCodeAttr['height']) : '';
1541 $widgetId = isset($__tagembed__shortCodeAttr[1]) ? sanitize_text_field($__tagembed__shortCodeAttr[1]) : '';
1542 if (!empty($widgetId) && is_numeric($widgetId) && (('' === $width || preg_match('/^\d+(px|%|)$/', $width)) && ('' === $height || preg_match('/^\d+(px|%|)$/', $height)))) :
1543 $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>';
1544 else :
1545 $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>';
1546 endif;
1547 return $output;
1548 }
1549 add_shortcode('tagembed', '___tagembed__PluginShortCode');
1550 /* --End-- Create Short Code */
1551