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

1,398 lines 85.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Plugin Name: Tagembed Widget
4 * Plugin URI: https://tagembed.com/
5 * Description: Display Facebook feed, Instagram feed, Twitter feed, YouTube Videos and more social feeds from 15+ social networks on any page, posts or widgets using shortcode. Beautifully clean, customizable, and responsive Social Media Feed Widget Plugin for WordPress.
6 * Version: 5.5
7 * Author: Tagembed
8 * Author URI: https://tagembed.com/
9 * License: GPLv3
10 * License URI: https://www.gnu.org/licenses/gpl-3.0.html
11 */
12 if (!defined('WPINC'))
13 die;
14 /* --Start-- Create Constant */
15 !defined('TAGEMBED_PLUGIN_VERSION') && define('TAGEMBED_PLUGIN_VERSION', '5.5');
16 !defined('TAGEMBED_PLUGIN_DIR_PATH') && define('TAGEMBED_PLUGIN_DIR_PATH', plugin_dir_path(__FILE__));
17 !defined('TAGEMBED_PLUGIN_URL') && define('TAGEMBED_PLUGIN_URL', plugin_dir_url(__FILE__));
18 !defined('TAGEMBED_PLUGIN_REDIRECT_URL') && define('TAGEMBED_PLUGIN_REDIRECT_URL', get_admin_url(null, 'admin.php?page='));
19 !defined('TAGEMBED_PLUGIN_API_URL') && define('TAGEMBED_PLUGIN_API_URL', "https://api.tagembed.com/app/");
20 !defined('TAGEMBED_PLUGIN_SERVER_URL') && define('TAGEMBED_PLUGIN_SERVER_URL', "https://api.tagembed.com/app/");
21 !defined('TAGEMBED_PLUGIN_REACT_URL') && define('TAGEMBED_PLUGIN_REACT_URL', "https://widget.tagembed.com/");
22 !defined('TAGEMBED_PLUGIN_CALL_BACK_URL') && define('TAGEMBED_PLUGIN_CALL_BACK_URL', admin_url() . "admin.php?page=tagembed");
23 /* --End-- Create Constant */
24 /* --Start--Include Files */
25 include_once TAGEMBED_PLUGIN_DIR_PATH . "helper/helper.php";
26 /* --End--Include Files */
27 /* --Start-- Add Js And Css */
28 function tagembed_plugin_scripts_css() {
29 wp_enqueue_script('__tagembed__embbedJs', TAGEMBED_PLUGIN_REACT_URL . 'embed.min.js', ['jquery'], TAGEMBED_PLUGIN_VERSION, true);
30 if (is_admin()):
31 /* CSS */
32 wp_enqueue_style('__tagembed__commonCss', TAGEMBED_PLUGIN_URL . '/assets/css/common.css', '', TAGEMBED_PLUGIN_VERSION);
33 wp_enqueue_style('__tagembed__toastCss', TAGEMBED_PLUGIN_URL . '/assets/css/toast.css', '', TAGEMBED_PLUGIN_VERSION);
34 wp_enqueue_style('__tagembed__confirmDialogCss', TAGEMBED_PLUGIN_URL . '/assets/css/confirm_dialog.css', '', TAGEMBED_PLUGIN_VERSION);
35 wp_enqueue_style('__tagembed__tagembedloaderCss', TAGEMBED_PLUGIN_URL . '/assets/css/loader.css', '', TAGEMBED_PLUGIN_VERSION);
36 wp_enqueue_style('__tagembed__popupCss', TAGEMBED_PLUGIN_URL . '/assets/css/styles.css', '', TAGEMBED_PLUGIN_VERSION);
37 wp_enqueue_style('__tagembed__editorCss', TAGEMBED_PLUGIN_URL . '/assets/css/editor/editor.css', '', TAGEMBED_PLUGIN_VERSION);
38 /* JS */
39 wp_enqueue_script('__tagembed__toastJs', TAGEMBED_PLUGIN_URL . '/assets/js/toast.js', ['jquery'], TAGEMBED_PLUGIN_VERSION, true);
40 wp_enqueue_script('__tagembed__confirmDialogJs', TAGEMBED_PLUGIN_URL . '/assets/js/confirm_dialog.js', ['jquery'], TAGEMBED_PLUGIN_VERSION, true);
41 wp_enqueue_script('__tagembed__tagemedLoaderJs', TAGEMBED_PLUGIN_URL . '/assets/js/loader.js', ['jquery'], TAGEMBED_PLUGIN_VERSION, true);
42 wp_enqueue_script('__tagembed__deactive-js', TAGEMBED_PLUGIN_URL . '/assets/js/tagembed.deactive.js', ['jquery'], TAGEMBED_PLUGIN_VERSION, true);
43 $__tagembed__ajax_call_security_nones = wp_create_nonce('__tagembed__ajax_call_security_nones');
44 wp_localize_script('__tagembed__deactive-js', '__tagembed__ajax_call_security_nones_object', ['__tagembed__ajax_call_security_nones' => $__tagembed__ajax_call_security_nones]);
45 wp_enqueue_script('__tagembed__tagembedDialogFormJs', TAGEMBED_PLUGIN_URL . '/assets/js/dialog.form.js', ["jquery"], TAGEMBED_PLUGIN_VERSION, true);
46 /* --Start-- Gutenberge */
47 if (!function_exists("register_block_type")):
48 return;
49 else:
50 wp_register_script("__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);
51 register_block_type("tagembed-block/tagembed", ["editor_script" => "__editor-js", "editor_style" => "__editor-css", "style" => "__editor-style-css"]);
52 endif;
53 /* --End-- Gutenberge */
54 endif;
55 }
56 add_action("init", "tagembed_plugin_scripts_css");
57 add_filter('script_loader_tag', function ($tag, $handle) {
58 if ('embbedJs' !== $handle)
59 return $tag;
60 return str_replace(' src', ' defer src', $tag);
61 }, 10, 2);
62 /* --End-- Add Js And Css */
63 /* --Start-- Add Menus */
64 function __tagembed__plugin_menus() {
65 ob_start();
66 ?>
67 <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">
68 <title>Tagembed Icon</title>
69 <g transform="translate(-211 -31)"><g id="Group_3576" transform="translate(211 31)">
70 <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"/>
71 <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"/>
72 <g id="Group_3575" transform="translate(16.61 16.942)"><g><g><defs><polygon id="SVGID_1_" points="113.1,97 101.1,148.7 147.3,148.7 158.1,103.6"/></defs><clipPath id="SVGID_2_"><use xlink:href="#SVGID_1_" style="overflow:visible;"/></clipPath><g id="Group_3574" class="st2" clip-path="url(#SVGID_2_)"><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"/></g></g></g></g></g></g></svg>
73 <?php
74 $svg = ob_get_clean();
75 add_menu_page('Tagembed', 'Tagembed', 'manage_options', 'tagembed', '__tagembed__view', 'data:image/svg+xml;base64,' . base64_encode($svg));
76 }
77 add_action("admin_menu", '__tagembed__plugin_menus');
78 /* --End-- Add Menus */
79
80 /* --Start-- Add & Manage Views */
81 function __tagembed__view() {
82 if (!empty(__tagembed__user()->isLogin) && __tagembed__user()->isLogin == 'yes'):
83 /* Remove This */ /* $__tagembed__menus = __tagembed__menus(['__tagembed__menu_condation' => 'STATUS = 1']); */
84 $__tagembed__menus = __tagembed__menus(['__tagembed__menu_condation' => 1]);
85 if (empty($__tagembed__menus)):
86 include_once TAGEMBED_PLUGIN_DIR_PATH . "views/widget/widgetView.php";
87 else:
88 include_once TAGEMBED_PLUGIN_DIR_PATH . "views/" . $__tagembed__menus[0]->path . ".php";
89 endif;
90 else:
91 include_once TAGEMBED_PLUGIN_DIR_PATH . "views/account/accountView.php";
92 endif;
93 }
94 /* --End-- Add & Manage Views */
95 /* --Start-- Manage Ajax Calls */
96 add_action("wp_ajax_data", "__tagembed__dataAjaxHandler");
97 function __tagembed__dataAjaxHandler() {
98 if (empty($_REQUEST['__tagembed__ajax_action']))
99 return false;
100 $data = __tagembed__sanitizeRequestData($_REQUEST);
101 $data = (object) $data;
102 /* --Start-- Manage Ajax call Request Security */
103 $__tagembed__ajaxCallSecurityNones = isset($data->__tagembed__ajax_call_nones) ? sanitize_text_field($data->__tagembed__ajax_call_nones) : '';
104 if (!wp_verify_nonce($__tagembed__ajaxCallSecurityNones, "__tagembed__ajax_call_security_nones"))
105 return __tagembed__exitWithDanger();
106 /* --End-- Manage Ajax call Request Security */
107
108 /* --Start__ Sanetize All Input */
109 foreach ($data as $key => $value):
110 if (!in_array($key, ['emailId', 'password', 'youtubePlaylist']))
111 __tagembed__inputSanetize($value);
112 endforeach;
113 /* --End__ Sanetize All Input */
114 $param = [];
115 global $wpdb;
116 $action = $data->__tagembed__ajax_action;
117 $__tagembed__user_details = __tagembed__user();
118 switch ($action):
119 case "__tagembed__register":
120 if (empty($data->emailId) || empty($data->password) || empty($data->fullName))
121 return __tagembed__exitWithDanger();
122 /* --Start-- Manage Param Data */
123 $param['fullName'] = sanitize_text_field($data->fullName);
124 $param['emailId'] = sanitize_email($data->emailId);
125 $param['password'] = $data->password;
126 /* --End-- Manage Param Data */
127 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/register', $param, []);
128 $response = __tagembed__manageApiResponse($response);
129 unset($param);
130 $param = ['userId' => sanitize_key($response->userId), 'inheritStyles' => 1];
131 __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/create', $param, ['Authorization:' . $response->accessToken]);
132 if (__tagembed__login($response) == true)
133 return __tagembed__exitWithSuccess(["redirectUrl" => TAGEMBED_PLUGIN_CALL_BACK_URL]);
134 return __tagembed__exitWithDanger();
135 break;
136 case "__tagembed__login":
137 if (empty($data->emailId) || empty($data->password))
138 return __tagembed__exitWithDanger();
139 /* --Start-- Manage Param Data */
140 $param['emailId'] = sanitize_email($data->emailId);
141 $param['password'] = $data->password;
142 /* --End-- Manage Param Data */
143 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/login', $param, []);
144 unset($param);
145 $response = __tagembed__manageApiResponse($response);
146 if (__tagembed__login($response) == true)
147 return __tagembed__exitWithSuccess(["redirectUrl" => TAGEMBED_PLUGIN_CALL_BACK_URL]);
148 return __tagembed__exitWithDanger();
149 break;
150 case "__tagembed__logout":
151 if (tagembed_logout())
152 __tagembed__exitWithSuccess(["redirectUrl" => TAGEMBED_PLUGIN_REDIRECT_URL . 'tagembed']);
153 return __tagembed__exitWithDanger();
154 break;
155 case "__tagembed__get_account_details":
156 $data->auth = !empty($data->auth) ? 1 : 0;
157 if (empty($__tagembed__user_details))
158 return __tagembed__exitWithDanger();
159 /* --Start-- Manage Param Data */
160 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
161 /* --End-- Manage Param Data */
162 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getdetails', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
163 unset($param);
164 $response = __tagembed__manageApiResponse($response);
165 return __tagembed__exitWithSuccess($response);
166 break;
167 case "__tagembed__manage_active_widget":
168 if (empty($data->widgetId))
169 return __tagembed__exitWithDanger();
170 if (__tagembed__manageActiveWidget($data->widgetId))
171 __tagembed__exitWithSuccess();
172 return __tagembed__exitWithDanger();
173 break;
174 case "__tagembed__menue":
175 if (empty($data->menueId))
176 return __tagembed__exitWithDanger();
177 if (__tagembed__menus(['__tagembed__menu_id' => $data->menueId]))
178 __tagembed__exitWithSuccess(["redirectUrl" => TAGEMBED_PLUGIN_REDIRECT_URL . 'tagembed']);
179 return __tagembed__exitWithDanger();
180 break;
181 case "__tagembed__create_widget":
182 if (empty($__tagembed__user_details) || empty($data->name))
183 return __tagembed__exitWithDanger("Validation Error", ['name' => 'Widget name is required']);
184 $data->profanity = (isset($data->profanity)) ? 0 : 1;
185 /* --Start-- Manage Param Data */
186 $param['name'] = sanitize_text_field($data->name);
187 $param['profanity'] = sanitize_key($data->profanity);
188 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
189 $param['inheritStyles'] = 1;
190 /* --End-- Manage Param Data */
191 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/create', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
192 unset($param);
193 $response = __tagembed__manageApiResponse($response);
194 $response = !empty($response->message) ? $response->message : 'Done';
195 return __tagembed__exitWithSuccess(["message" => $response, "redirectUrl" => TAGEMBED_PLUGIN_CALL_BACK_URL]);
196 break;
197 case "__tagembed__edit_widget":
198 if (empty($__tagembed__user_details) || empty($data->name) || empty($data->widgetId))
199 return __tagembed__exitWithDanger("Validation Error", ['name' => 'Widget name is required']);
200 /* --Start-- Manage Param Data */
201 $param['name'] = sanitize_text_field($data->name);
202 $param['widgetId'] = sanitize_key($data->widgetId);
203 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
204 /* --End-- Manage Param Data */
205 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/edit', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
206 unset($param);
207 $response = __tagembed__manageApiResponse($response);
208 $response = !empty($response->message) ? $response->message : 'Done';
209 return __tagembed__exitWithSuccess(["message" => $response, "redirectUrl" => TAGEMBED_PLUGIN_CALL_BACK_URL]);
210 break;
211 case "__tagembed__update_widget_status":
212 if (empty($__tagembed__user_details) || empty($data->widgetId))
213 return __tagembed__exitWithDanger();
214 /* --Start-- Manage Param Data */
215 $param['status'] = sanitize_key($data->status);
216 $param['widgetId'] = sanitize_key($data->widgetId);
217 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
218 /* --End-- Manage Param Data */
219 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/status', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
220 unset($param);
221 $response = __tagembed__manageApiResponse($response);
222 $response = !empty($response->message) ? $response->message : 'Done';
223 return __tagembed__exitWithSuccess(["message" => $response]);
224 break;
225 case "__tagembed__delete_widget":
226 if (empty($__tagembed__user_details) || empty($data->widgetId))
227 return __tagembed__exitWithDanger();
228 /* --Start-- Manage Param Data */
229 $param['widgetId'] = sanitize_key($data->widgetId);
230 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
231 /* --End-- Manage Param Data */
232 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/delete', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
233 unset($param);
234 $response = __tagembed__manageApiResponse($response);
235 $response = !empty($response->message) ? $response->message : 'Done';
236 return __tagembed__exitWithSuccess(["message" => $response]);
237 break;
238 case "__tagembed__source_networks":
239 $data->auth = !empty($data->auth) ? 1 : 0;
240 if (empty($__tagembed__user_details))
241 return __tagembed__exitWithDanger();
242 /* --Start-- Manage Param Data */
243 $param['auth'] = sanitize_key($data->auth);
244 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
245 /* --End-- Manage Param Data */
246 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apinetwork/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
247 unset($param);
248 $response = __tagembed__manageApiResponse($response);
249 return __tagembed__exitWithSuccess($response);
250 break;
251 case "__tagembed__get_themes":
252 if (empty($__tagembed__user_details) || empty($data->widgetId))
253 return __tagembed__exitWithDanger();
254 /* --Start-- Manage Param Data */
255 $param['widgetId'] = sanitize_key($data->widgetId);
256 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
257 /* --End-- Manage Param Data */
258 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'Apitheme/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
259 unset($param);
260 $response = __tagembed__manageApiResponse($response);
261 return __tagembed__exitWithSuccess($response);
262 break;
263 case "__tagembed__edit_themes":
264 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->themeId))
265 return __tagembed__exitWithDanger();
266 /* --Start-- Manage Param Data */
267 $param['themeId'] = sanitize_key($data->themeId);
268 $param['widgetId'] = sanitize_key($data->widgetId);
269 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
270 /* --End-- Manage Param Data */
271 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'Apitheme/edit', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
272 unset($param);
273 $response = __tagembed__manageApiResponse($response);
274 return __tagembed__exitWithSuccess($response);
275 break;
276 case "__tagembed__get_network_filter":
277 if (empty($__tagembed__user_details) || empty($data->networkId))
278 return __tagembed__exitWithDanger();
279 /* --Start-- Manage Param Data */
280 $param['networkId'] = sanitize_key($data->networkId);
281 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
282 /* --End-- Manage Param Data */
283 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apinetwork/filter', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
284 unset($param);
285 $response = __tagembed__manageApiResponse($response);
286 return __tagembed__exitWithSuccess($response);
287 break;
288 case "__tagembed__get_already_exist_accounts":
289 if (empty($__tagembed__user_details))
290 return __tagembed__exitWithDanger();
291 /* --Start-- Manage Param Data */
292 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
293 /* --End-- Manage Param Data */
294 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/getalreadyexistaccounts', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
295 unset($param);
296 $response = __tagembed__manageApiResponse($response);
297 return __tagembed__exitWithSuccess($response);
298 break;
299 case "__tagembed__add_or_update_account":
300 if (empty($__tagembed__user_details) || empty($data->networkId) || empty($data->type))
301 return __tagembed__exitWithDanger();
302 /* --Start-- Manage Param Data */
303 $param['connectedAccountId'] = $data->connectedAccountId;
304 $param['feedId'] = sanitize_key($data->feedId);
305 $param['type'] = sanitize_text_field($data->type);
306 $param['networkId'] = sanitize_key($data->networkId);
307 $param['filterId'] = sanitize_key($data->filterId);
308 $param['otherData'] = $data->otherData;
309 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
310 /* --End-- Manage Param Data */
311 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/addorupdate', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
312 unset($param);
313 $response = __tagembed__manageApiResponse($response);
314 return __tagembed__exitWithSuccess(["__tagembed__requestCallBackUrl" => TAGEMBED_PLUGIN_CALL_BACK_URL, "redirectUrl" => TAGEMBED_PLUGIN_API_URL . "apiauth/getauth", "__tagembed__feedData" => $response->__tagembed__feedData]);
315 break;
316 case "__tagembed__delete_account":
317 if (empty($__tagembed__user_details) || empty($data->networkId) || empty($data->parentId))
318 return __tagembed__exitWithDanger();
319 /* --Start-- Manage Param Data */
320 $param['parentId'] = sanitize_key($data->parentId);
321 $param['networkId'] = sanitize_key($data->networkId);
322 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
323 /* --End-- Manage Param Data */
324 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/delete', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
325 unset($param);
326 $response = __tagembed__manageApiResponse($response);
327 $response = !empty($response->message) ? $response->message : 'Done';
328 return __tagembed__exitWithSuccess(["message" => $response]);
329 break;
330 case "__tagembed__get_already_exist_auth":
331 if (empty($__tagembed__user_details) || empty($data->networkId))
332 return __tagembed__exitWithDanger();
333 /* --Start-- Manage Param Data */
334 $param['networkId'] = sanitize_key($data->networkId);
335 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
336 /* --End-- Manage Param Data */
337 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
338 unset($param);
339 $response = __tagembed__manageApiResponse($response);
340 return __tagembed__exitWithSuccess($response);
341 break;
342 case "__tagembed__search_google_location":
343 if (empty($__tagembed__user_details) || empty($data->googleLocationName))
344 return __tagembed__exitWithDanger();
345 /* --Start-- Manage Param Data */
346 $param['googleLocationName'] = $data->googleLocationName;
347 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
348 /* --End-- Manage Param Data */
349 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/searchgooglelocation', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
350 unset($param);
351 $response = __tagembed__manageApiResponse($response);
352 return __tagembed__exitWithSuccess($response);
353 break;
354 case "__tagembed__search_vk_communities":
355 if (empty($__tagembed__user_details) || empty($data->vkCommunitiesName))
356 return __tagembed__exitWithDanger();
357 /* --Start-- Manage Param Data */
358 $param['vkCommunitiesName'] = $data->vkCommunitiesName;
359 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
360 /* --End-- Manage Param Data */
361 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/searchVkCommunities', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
362 unset($param);
363 $response = __tagembed__manageApiResponse($response);
364 return __tagembed__exitWithSuccess($response);
365 break;
366 case "__tagembed__search_facebook_page":
367 if (empty($data->facebookPageData))
368 return __tagembed__exitWithDanger();
369 /* --Start-- Manage Param Data */
370 $param['facebookPageData'] = $data->facebookPageData;
371 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
372 /* --End-- Manage Param Data */
373 /* --Start-- Call And Manage Api Call */
374 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/searchfacebookpage', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
375 unset($param);
376 $response = __tagembed__manageApiResponse($response);
377 return __tagembed__exitWithSuccess($response);
378 break;
379 case "__tagembed__get_facebook_page_albums":
380 if (empty($__tagembed__user_details) || empty($data->connectedAccountsId))
381 return __tagembed__exitWithDanger();
382 /* --Start-- Manage Param Data */
383 $param['connectedAccountsId'] = sanitize_key($data->connectedAccountsId);
384 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
385 /* --End-- Manage Param Data */
386 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/apiauthfacebookpagealbums', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
387 unset($param);
388 $response = __tagembed__manageApiResponse($response);
389 return __tagembed__exitWithSuccess($response);
390 break;
391 case "__tagembed__search_youtube_channel":
392 if (empty($__tagembed__user_details) || empty($data->youtubeChannelData))
393 return __tagembed__exitWithDanger();
394 /* --Start-- Manage Param Data */
395 $param['youtubeChannelData'] = $data->youtubeChannelData;
396 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
397 /* --End-- Manage Param Data */
398 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/searchyoutubechannel', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
399 unset($param);
400 $response = __tagembed__manageApiResponse($response);
401 return __tagembed__exitWithSuccess($response);
402 break;
403 case "__tagembed__get_youtube_playlist":
404 if (empty($__tagembed__user_details) || empty($data->youtubeId))
405 return __tagembed__exitWithDanger();
406 /* --Start-- Manage Param Data */
407 $param['youtubeId'] = $data->youtubeId;
408 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
409 /* --End-- Manage Param Data */
410 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/getyoutubeplaylist', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
411 unset($param);
412 $response = __tagembed__manageApiResponse($response);
413 return __tagembed__exitWithSuccess($response);
414 break;
415 case "__tagembed__get_slack_channel_list":
416 if (empty($data->connectedAccountsId))
417 return __tagembed__exitWithDanger();
418 /* --Start-- Manage Param Data */
419 $param['connectedAccountsId'] = $data->connectedAccountsId;
420 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
421 /* --End-- Manage Param Data */
422 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/getslackchannellist', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
423 unset($param);
424 $response = __tagembed__manageApiResponse($response);
425 return __tagembed__exitWithSuccess($response);
426 break;
427 case "__tagembed__get_feed":
428 if (empty($__tagembed__user_details) || empty($data->widgetId))
429 return __tagembed__exitWithDanger();
430 /* --Start-- Manage Param Data */
431 $param['widgetId'] = sanitize_key($data->widgetId);
432 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
433 /* --End-- Manage Param Data */
434 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
435 unset($param);
436 $response = __tagembed__manageApiResponse($response);
437 return __tagembed__exitWithSuccess($response);
438 break;
439 case "__tagembed__update_feed_status":
440 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->feedId))
441 return __tagembed__exitWithDanger();
442 /* --Start-- Manage Param Data */
443 $param['feedId'] = sanitize_key($data->feedId);
444 $param['status'] = sanitize_key($data->status);
445 $param['widgetId'] = sanitize_key($data->widgetId);
446 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
447 /* --End-- Manage Param Data */
448 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/status', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
449 unset($param);
450 $response = __tagembed__manageApiResponse($response);
451 $response = !empty($response->message) ? $response->message : 'Done';
452 return __tagembed__exitWithSuccess(["message" => $response]);
453 break;
454 case "__tagembed__delete_feed":
455 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->feedId))
456 return __tagembed__exitWithDanger();
457 /* --Start-- Manage Param Data */
458 $param['feedId'] = sanitize_key($data->feedId);
459 $param['widgetId'] = sanitize_key($data->widgetId);
460 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
461 /* --End-- Manage Param Data */
462 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/delete', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
463 unset($param);
464 $response = __tagembed__manageApiResponse($response);
465 $response = !empty($response->message) ? $response->message : 'Done';
466 return __tagembed__exitWithSuccess(["message" => $response]);
467 break;
468 case "__tagembed__create_feed":
469 if (empty($__tagembed__user_details) || empty($data->widgetName) || empty($data->networkName) || empty($data->filterName) || empty($data->widgetId) || empty($data->networkId) || empty($data->filterId))
470 return __tagembed__exitWithDanger();
471 $__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];
472 $__tagembed__feed_input_data["feed"] = !empty($data->feed) ? sanitize_text_field($data->feed) : '__tagembed__feed';
473 $__tagembed__feed_filter_id = $data->filterId;
474 switch ($__tagembed__feed_input_data['networkId']):
475 case 1:
476 $__tagembed__feed_input_data['auth'] = 1;
477 $__tagembed__feed_input_data['multiplePhoto'] = sanitize_key(isset($data->multiplePhoto) ? 1 : 0);
478 $__tagembed__feed_input_data['excludeRetweet'] = sanitize_key(isset($data->excludeRetweet) ? 1 : 0);
479 if (!empty($data->list))
480 $__tagembed__feed_input_data['list'] = sanitize_key($data->list);
481 break;
482 case 2:
483 $__tagembed__feed_input_data['auth'] = 1;
484 break;
485 case 3:
486 $__tagembed__feed_input_data['auth'] = 1;
487 switch ($__tagembed__feed_filter_id):
488 case 65:
489 $__tagembed__feed_input_data['accountAlbumType'] = sanitize_key(isset($data->accountAlbumType) ? $data->accountAlbumType : "");
490 $__tagembed__feed_input_data['accountAlbumData'] = sanitize_text_field(isset($data->accountAlbumData) ? $data->accountAlbumData : "");
491 break;
492 endswitch;
493 break;
494 case 4:
495 if ($__tagembed__feed_filter_id == 29):
496 $__tagembed__feed_input_data['auth'] = 1;
497 else:
498 $__tagembed__feed_input_data['placeId'] = $data->placeId;
499 $__tagembed__feed_input_data['placeName'] = $data->placeName;
500 endif;
501 break;
502 case 5:
503 switch ($__tagembed__feed_filter_id):
504 case 1:
505 case 72:
506 break;
507 case 12:
508 if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed))
509 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]);
510 $pintrestHeaders = explode("/", parse_url($data->feed)['path']);
511 $__tagembed__feed_input_data['value1'] = strtolower($pintrestHeaders[1]);
512 $__tagembed__feed_input_data['value2'] = strtolower($pintrestHeaders[2]);
513 break;
514 endswitch;
515 break;
516 case 6:
517 switch ($__tagembed__feed_filter_id):
518 case 1:
519 case 2:
520 $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = $data->feed;
521 break;
522 endswitch;
523 break;
524 case 7:
525 if (in_array($__tagembed__feed_filter_id, [1, 71])):
526 $isUrl = false;
527 if (preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed))
528 $isUrl = true;
529 if ((empty($data->youtubeId) || empty($data->youtubeName)) && !$isUrl)
530 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid Channel URL Or Tab On Search Icon"]);
531 if ($isUrl):
532 $data->youtubeId = explode('/', $data->feed);
533 $data->youtubeId = $data->youtubeId[4];
534 $data->youtubeName = "youtube";
535 if (empty($data->youtubeId) || empty($data->youtubeName))
536 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid Channel URL"]);
537 endif;
538 endif;
539 switch ($__tagembed__feed_filter_id):
540 case 1:
541 case 71:
542 $__tagembed__feed_input_data['youtubeId'] = $data->youtubeId;
543 $__tagembed__feed_input_data['youtubeName'] = $data->youtubeName;
544 break;
545 case 11:
546 if (empty($data->youtubePlaylist) && empty($data->youtubeId)):
547 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid Channel URL Or Tab On Search Icon"]);
548 elseif (empty($data->youtubePlaylist) && !empty($data->youtubeId)):
549 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Play List Not Found"]);
550 endif;
551 $data->youtubePlaylist = explode("#", $data->youtubePlaylist);
552 $__tagembed__feed_input_data['youtubeId'] = $data->youtubePlaylist[0];
553 $__tagembed__feed_input_data['youtubeName'] = $data->youtubePlaylist[1];
554 $__tagembed__feed_input_data['feed'] = $data->youtubePlaylist[1];
555 unset($data->youtubePlaylist);
556 break;
557 endswitch;
558 break;
559 case 8:
560 switch ($__tagembed__feed_filter_id):
561 case 1:
562 case 2:
563 $__tagembed__feed_input_data['auth'] = 1;
564 break;
565 endswitch;
566 break;
567 case 10:
568 if (in_array($__tagembed__feed_filter_id, [1, 16, 17])):
569 if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed))
570 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]);
571 endif;
572 switch ($__tagembed__feed_filter_id):
573 case 16:
574 $postUrl = parse_url($data->feed);
575 if (!strstr($postUrl['host'], 'linkedin'))
576 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Linkedin Post Url"]);
577 $postUrl = $data->feed;
578 $postUrl = rtrim($postUrl, '/');
579 preg_match("/[^\/]+$/", $postUrl, $postId);
580 $postId = $postId[0];
581 $postId = (explode("?", $postId)[0]);
582 $value1 = 'LinkedIn';
583 if (stripos($postId, "activity") !== false):
584 $postId = (explode("activity", $postId)[1]);
585 $value2 = "activity";
586 elseif (stripos($postId, "ugcPost") !== false):
587 $postId = (explode("ugcPost", $postId)[1]);
588 $value2 = "ugcPost";
589 else:
590 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Linkedin Post Url"]);
591 endif;
592 preg_match_all('!\d+!', $postId, $postId);
593 if (isset($postId[0][0]) && empty($postId[0][0]))
594 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Linkedin Post Url"]);
595 $value3 = $postId[0][0];
596 if (empty($value1) || empty($value2) || empty($value3))
597 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Linkedin Post Url"]);
598 $__tagembed__feed_input_data['value1'] = $value1;
599 $__tagembed__feed_input_data['value2'] = $value2;
600 $__tagembed__feed_input_data['value3'] = $value3;
601 break;
602 case 1:
603 case 17:
604 $url = parse_url($data->feed);
605 $companyPageUrl = $url['scheme'] . "://" . $url['host'];
606 $url = explode("/", $url['path']);
607 $companyPageUrl = $companyPageUrl . "/" . $url[1] . "/" . $url[2] . "/";
608 $__tagembed__feed_input_data['feed'] = $companyPageUrl;
609 $url[2] = str_replace("-", " ", "$url[2]");
610 $__tagembed__feed_input_data['page'] = ucwords($url[2], " ");
611 break;
612 case 2:
613 $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = $data->feed;
614 break;
615 endswitch;
616 break;
617 case 11:
618 switch ($__tagembed__feed_filter_id):
619 case 1:
620 case 2:
621 $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = $data->feed;
622 break;
623 endswitch;
624 break;
625 case 12:
626 if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed))
627 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]);
628 $__tagembed__feed_input_data['name'] = $data->name;
629 break;
630 case 18:
631 switch ($__tagembed__feed_filter_id):
632 case 23:
633 if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed))
634 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]);
635 break;
636 case 26:
637 $__tagembed__feed_input_data['hashtagCaption'] = sanitize_key(isset($data->hashtagCaption) ? 1 : 0);
638 $__tagembed__feed_input_data['hashtagOlder'] = sanitize_key(isset($data->hashtagOlder) ? 1 : 0);
639 break;
640 endswitch;
641 if (!in_array($__tagembed__feed_filter_id, [34]))
642 $__tagembed__feed_input_data['auth'] = 1;
643 break;
644 case 19:
645 if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed))
646 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]);
647 $yelpBusinessUrl = parse_url($data->feed);
648 if (!strstr($yelpBusinessUrl['host'], 'yelp'))
649 return __tagembed__exitWithDanger("Validation Error", ["feed" => "'Enter Yelp Business Url"]);
650 $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = explode('/', $yelpBusinessUrl['path'])[2];
651 break;
652 case 20:
653 $__tagembed__feed_input_data['auth'] = 1;
654 $slackData = isset($data->slackChannelList) ? $data->slackChannelList : "";
655 if (!empty($slackData)):
656 $slackData = explode('#', $slackData);
657 $__tagembed__feed_input_data['name'] = $slackData[1];
658 $__tagembed__feed_input_data['feed'] = $slackData[0];
659 endif;
660 break;
661 case 23:
662 if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed))
663 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]);
664 $airbnbListUrl = parse_url($data->feed);
665 if (strstr($airbnbListUrl['host'], 'airbnb')):
666 preg_match("/[^\/]+$/", $data->feed, $matches);
667 $__tagembed__feed_input_data['listId'] = explode("?", $matches[0])[0];
668 else:
669 return __tagembed__exitWithDanger("Validation Error", ["feed" => "'Enter Airbnb Url"]);
670 endif;
671 $__tagembed__feed_input_data['name'] = $data->name;
672 break;
673 case 28:
674 if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed))
675 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]);
676 $capeterraCompanyUrl = parse_url($data->feed);
677 if (!strstr($capeterraCompanyUrl['host'], 'capterra'))
678 return __tagembed__exitWithDanger("Validation Error", ["feed" => "'Enter Capeterra Company Url"]);
679 $__tagembed__feed_input_data['name'] = explode("/", $capeterraCompanyUrl['path'])['3'];
680 $__tagembed__feed_input_data['feed'] = explode("/", $capeterraCompanyUrl['path'])['2'];
681 break;
682 case 29:
683 if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed))
684 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]);
685 $etsyShopUrl = parse_url($data->feed);
686 if (!strstr($etsyShopUrl['host'], 'etsy'))
687 return __tagembed__exitWithDanger("Validation Error", ["feed" => "'Enter Etsy Shop Url"]);
688 $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = explode('/shop/', $etsyShopUrl['path'])[1];
689 break;
690 case 31:
691 switch ($__tagembed__feed_filter_id):
692 case 2:
693 $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = $data->feed;
694 break;
695 endswitch;
696 if (!in_array($__tagembed__feed_filter_id, [2]))
697 $__tagembed__feed_input_data['auth'] = 1;
698 break;
699 case 32:
700 switch ($__tagembed__feed_filter_id):
701 case 2:
702 $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = $data->feed;
703 break;
704 case 75:
705 $__tagembed__feed_input_data['communitiesName'] = $data->communitiesName;
706 $__tagembed__feed_input_data['communitiesId'] = $data->communitiesId;
707 break;
708 endswitch;
709 if (!in_array($__tagembed__feed_filter_id, [2, 75]))
710 $__tagembed__feed_input_data['auth'] = 1;
711 break;
712 case 33:
713 if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed))
714 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]);
715 preg_match("/[^\/]+$/", "$data->feed", $matches);
716 $__tagembed__feed_input_data['name'] = $__tagembed__feed_input_data['feed'] = $matches[0];
717 break;
718 case 34:
719 if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed))
720 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]);
721 $__tagembed__feed_input_data['name'] = explode('/', $data->feed)[3];
722 $__tagembed__feed_input_data['feed'] = $data->feed;
723 break;
724 case 35:
725 if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed))
726 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]);
727 $__tagembed__feed_input_data['name'] = explode('Reviews-', $data->feed)[1];
728 $__tagembed__feed_input_data['name'] = explode('.html', $__tagembed__feed_input_data['name'])[0];
729 $__tagembed__feed_input_data['feed'] = $data->feed;
730 break;
731 case 37:
732 $data->feed = explode('.html', $data->feed)[0];
733 if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed))
734 return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]);
735 $__tagembed__feed_input_data['name'] = $data->feed;
736 $__tagembed__feed_input_data['feed'] = explode('item/', $data->feed)[1];
737 break;
738 endswitch;
739 unset($data);
740 /* --Start-- Manage Api Calling */
741 $byApiCall = 0;
742 if (empty($__tagembed__feed_input_data['authId'])):
743 switch ($__tagembed__feed_input_data['networkId']):
744 case 4:
745 if ($__tagembed__feed_filter_id == 33):
746 $byApiCall = 1;
747 $__tagembed__feed_input_data['byApiCall'] = 1;
748 endif;
749 break;
750 case 5:
751 case 7:
752 case 6:
753 case 10:
754 case 11:
755 case 12:
756 case 19:
757 case 23:
758 case 28:
759 case 29:
760 case 33:
761 case 34:
762 case 35:
763 case 37:
764 $byApiCall = 1;
765 $__tagembed__feed_input_data['byApiCall'] = 1;
766 break;
767 case 31:
768 if ($__tagembed__feed_filter_id == 2):
769 $byApiCall = 1;
770 $__tagembed__feed_input_data['byApiCall'] = 1;
771 endif;
772 break;
773 case 32:
774 if (in_array($__tagembed__feed_filter_id, [2, 75])):
775 $byApiCall = 1;
776 $__tagembed__feed_input_data['byApiCall'] = 1;
777 endif;
778 break;
779 endswitch;
780 else:
781 $byApiCall = 1;
782 $__tagembed__feed_input_data['byApiCall'] = 1;
783 endif;
784 $__tagembed__feed_input_data['appUser'] = 1;
785 /* --End-- Manage Api Calling */
786
787 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/create', ['feedData' => $__tagembed__feed_input_data], ['Authorization:' . $__tagembed__user_details->accessToken]);
788 $response = __tagembed__manageApiResponse($response);
789 return __tagembed__exitWithSuccess(["byapiCall" => $byApiCall, "__tagembed__requestCallBackUrl" => TAGEMBED_PLUGIN_CALL_BACK_URL, "redirectUrl" => TAGEMBED_PLUGIN_API_URL . "apiauth/getauth", "__tagembed__feedData" => $response->__tagembed__feedData]);
790 break;
791 case "__tagembed__make_payment":
792 if (empty($__tagembed__user_details) || empty($data->planId) || empty($data->priceCode))
793 return __tagembed__exitWithDanger();
794 /* --Start-- Manage Param Data */
795 $param['planId'] = sanitize_key($data->planId);
796 $param['priceCode'] = $data->priceCode;
797 /* --Start-- Manage Param Data */
798 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
799 $param['email'] = $__tagembed__user_details->email;
800 $param['name'] = $__tagembed__user_details->name;
801 /* --End-- Manage Param Data */
802 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getpaymentdetails', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
803 unset($param);
804 $response = __tagembed__manageApiResponse($response);
805 return __tagembed__exitWithSuccess(["__tagembed__requestCallBackUrl" => TAGEMBED_PLUGIN_CALL_BACK_URL, "redirectUrl" => TAGEMBED_PLUGIN_API_URL . "apiaccount/makepayment", "__tagembed__paymentData" => $response->__tagembed__paymentData]);
806 break;
807 case "__tagembed__cancel_subscription":
808 if (empty($__tagembed__user_details) || empty($data->planId))
809 return __tagembed__exitWithDanger();
810 /* --Start-- Manage Param Data */
811 $param['planId'] = sanitize_key($data->planId);
812 /* --Start-- Manage Param Data */
813 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
814 $param['email'] = $__tagembed__user_details->email;
815 $param['name'] = $__tagembed__user_details->name;
816 /* --End-- Manage Param Data */
817 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/cancelsubscription', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
818 unset($param);
819 $response = __tagembed__manageApiResponse($response);
820 $response = !empty($response->message) ? $response->message : 'Done';
821 return __tagembed__exitWithSuccess(["message" => $response]);
822 break;
823 case "__tagembed__get_post":
824 if (empty($__tagembed__user_details) || empty($data->widgetId) || !isset($data->perPage) || !isset($data->offset) || !isset($data->postStatus))
825 return __tagembed__exitWithDanger();
826 /* --Start-- Manage Param Data */
827 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
828 $param['widgetId'] = sanitize_key($data->widgetId);
829 $param['perPage'] = sanitize_key($data->perPage);
830 $param['offset'] = sanitize_key($data->offset);
831 $param['postStatus'] = sanitize_key($data->postStatus);
832 $param['feedIds'] = $data->feedIds;
833 $param['postType'] = $data->postType;
834 $param['highlightFilter'] = sanitize_key($data->highlightFilter);
835 $param['pinFilter'] = sanitize_key($data->pinFilter);
836 $param['recentFilter'] = sanitize_key($data->recentFilter);
837 $param['retweetFilter'] = sanitize_key($data->retweetFilter);
838 $param['searchText'] = sanitize_text_field($data->searchText);
839 /* --End-- Manage Param Data */
840 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
841 unset($param);
842 $response = __tagembed__manageApiResponse($response);
843 return __tagembed__exitWithSuccess($response);
844 break;
845 case "__tagembed__manage_post_status":
846 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->postIds) || empty($data->postStatus))
847 return __tagembed__exitWithDanger();
848 /* --Start-- Manage Param Data */
849 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
850 $param['widgetId'] = sanitize_key($data->widgetId);
851 $param['postIds'] = $data->postIds;
852 $param['postStatus'] = sanitize_key($data->postStatus);
853 /* --End-- Manage Param Data */
854 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/status', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
855 unset($param);
856 $response = __tagembed__manageApiResponse($response);
857 $response = !empty($response->message) ? $response->message : 'Done';
858 return __tagembed__exitWithSuccess(["message" => $response]);
859 break;
860 case "__tagembed__feed_for_search":
861 if (empty($__tagembed__user_details) || empty($data->widgetId))
862 return __tagembed__exitWithDanger();
863 /* --Start-- Manage Param Data */
864 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
865 $param['widgetId'] = sanitize_key($data->widgetId);
866 /* --End-- Manage Param Data */
867 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/getfeeds', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
868 unset($param);
869 $response = __tagembed__manageApiResponse($response);
870 return __tagembed__exitWithSuccess($response);
871 break;
872 case "__tagembed__manage_post_pin":
873 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->postId) || !isset($data->pin))
874 return __tagembed__exitWithDanger();
875 /* --Start-- Manage Param Data */
876 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
877 $param['widgetId'] = sanitize_key($data->widgetId);
878 $param['postId'] = $data->postId;
879 $param['pin'] = sanitize_key($data->pin);
880 /* --End-- Manage Param Data */
881 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/pin', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
882 unset($param);
883 $response = __tagembed__manageApiResponse($response);
884 $response = !empty($response->message) ? $response->message : 'Done';
885 return __tagembed__exitWithSuccess(["message" => $response]);
886 break;
887 case "__tagembed__manage_post_highlight":
888 if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->postId) || !isset($data->highlight))
889 return __tagembed__exitWithDanger();
890 /* --Start-- Manage Param Data */
891 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
892 $param['widgetId'] = sanitize_key($data->widgetId);
893 $param['postId'] = $data->postId;
894 $param['highlight'] = sanitize_key($data->highlight);
895 /* --End-- Manage Param Data */
896 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/highlight', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
897 unset($param);
898 $response = __tagembed__manageApiResponse($response);
899 $response = !empty($response->message) ? $response->message : 'Done';
900 return __tagembed__exitWithSuccess(["message" => $response]);
901 break;
902 case "__tagembed__plugin_version":
903 /* --Start-- Manage Param Data */
904 $param = [];
905 /* --End-- Manage Param Data */
906 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/pluginversion', $param, ['Authorization: __tagembed__']);
907 $response = __tagembed__manageApiResponse($response);
908 unset($param);
909 $installedPluginVersion = get_file_data(__FILE__, ['Version' => 'Version'], false);
910 $installedPluginVersion = $installedPluginVersion['Version'];
911 $response->installedPluginVersion = $installedPluginVersion;
912 $response->pluginUpgradeURL = admin_url() . "plugins.php";
913 return __tagembed__exitWithSuccess($response);
914 break;
915 case "__tagembed__check_user_token":
916 if (empty($__tagembed__user_details))
917 return __tagembed__exitWithDanger();
918 /* --Start-- Manage Param Data */
919 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
920 /* --End-- Manage Param Data */
921 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/checkusertoken', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
922 if ($response->head->code == 401 && !$response->head->status)
923 tagembed_logout();
924 unset($param);
925 return __tagembed__exitWithSuccess($response);
926 break;
927 case "__tagembed__plugin_deactivate":
928 /* --Start-- Manage Param Data */
929 $__tagembed__user_details = __tagembed__userData();
930 $param = [];
931 $param['userId'] = !empty($__tagembed__user_details) ? sanitize_key($__tagembed__user_details->userId) : "";
932 $param['userName'] = !empty($__tagembed__user_details) ? sanitize_text_field($__tagembed__user_details->name) : "";
933 $param['userEmail'] = !empty($__tagembed__user_details) ? sanitize_email($__tagembed__user_details->email) : "";
934 $param['pluginDeactivateReason'] = sanitize_text_field($data->pluginDeactivateReason);
935 $param['otherReason'] = sanitize_text_field($data->otherReason);
936 $param['betterPlugin'] = sanitize_text_field($data->betterPlugin);
937 $param['userWebsiteUrl'] = get_site_url();
938 /* --End-- Manage Param Data */
939 __tagembed__dropDatabaseTablesForPlugin();
940 deactivate_plugins(plugin_basename(__FILE__), true);
941 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/deactivateuserdata', $param, ['Authorization: __tagembed__']);
942 $response = __tagembed__manageApiResponse($response);
943 unset($param);
944 return __tagembed__exitWithSuccess();
945 break;
946 case "__tagembed__get_customization_option":
947 if (empty($__tagembed__user_details) || empty($data->widgetId))
948 return __tagembed__exitWithDanger();
949 /* --Start-- Manage Param Data */
950 $param['widgetId'] = sanitize_key($data->widgetId);
951 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
952 /* --End-- Manage Param Data */
953 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
954 unset($param);
955 $response = __tagembed__manageApiResponse($response);
956 return __tagembed__exitWithSuccess($response);
957 break;
958 case "__tagembed__update_footer_customization_option":
959 /* --Start-- Manage Param Data */
960 $param['widgetId'] = sanitize_key($data->widgetId);
961 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
962 $param['personalizationId'] = sanitize_key($data->personalizationId);
963 $param['themeRuleId'] = sanitize_key($data->themeRuleId);
964 $param['loadMoreStatus'] = sanitize_key($data->loadMoreStatus);
965 $param['autoScrollStatus'] = sanitize_key($data->autoScrollStatus);
966 $param['showMoreTxt'] = $data->showMoreTxt;
967 /* --End-- Manage Param Data */
968 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/footer', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
969 unset($param);
970 $response = __tagembed__manageApiResponse($response);
971 return __tagembed__exitWithSuccess($response);
972 break;
973 case "__tagembed__update_layout_customization_option":
974 /* --Start-- Manage Param Data */
975 $param['widgetId'] = sanitize_key($data->widgetId);
976 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
977 $param['personalizationId'] = sanitize_key($data->personalizationId);
978 $param['themeRuleId'] = sanitize_key($data->themeRuleId);
979 $param['numberOfPosts'] = sanitize_key($data->numberOfPosts);
980 $param['padding'] = sanitize_key($data->padding);
981 $param['minimumPostWidth'] = sanitize_key($data->minimumPostWidth);
982 $param['columnCount'] = sanitize_key($data->columnCount);
983 $param['columnCountMobile'] = sanitize_key($data->columnCountMobile);
984 $param['postText'] = sanitize_key($data->postText);
985 $param['mobilePopup'] = sanitize_key($data->mobilePopup);
986 $param['postFeatured'] = sanitize_key($data->postFeatured);
987 /* --End-- Manage Param Data */
988 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/layout', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
989 unset($param);
990 $response = __tagembed__manageApiResponse($response);
991 return __tagembed__exitWithSuccess($response);
992 break;
993 case "__tagembed__update_card_customization_option":
994 /* --Start-- Manage Param Data */
995 $param['widgetId'] = sanitize_key($data->widgetId);
996 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
997 $param['personalizationId'] = sanitize_key($data->personalizationId);
998 $param['inheritStyles'] = sanitize_key($data->inheritStyles);
999 $param['themeRuleId'] = sanitize_key($data->themeRuleId);
1000 $param['fontColor'] = $data->fontColor;
1001 $param['authorColor'] = $data->authorColor;
1002 $param['cardColor'] = $data->cardColor;
1003 $param['fontSize'] = sanitize_key($data->fontSize);
1004 $param['font'] = sanitize_key($data->font);
1005 $param['shareOption'] = sanitize_key($data->shareOption);
1006 $param['hideContent'] = sanitize_key($data->hideContent);
1007 $param['postAuthor'] = sanitize_key($data->postAuthor);
1008 $param['postTime'] = sanitize_key($data->postTime);
1009 $param['lineTrim'] = sanitize_key($data->lineTrim);
1010 $param['aspectImageRatio'] = $data->aspectImageRatio;
1011 $param['textAlignment'] = $data->textAlignment;
1012 $param['cardCurve'] = $data->cardCurve;
1013 $param['colorType'] = $data->colorType;
1014 /* --End-- Manage Param Data */
1015 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/card', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1016 unset($param);
1017 $response = __tagembed__manageApiResponse($response);
1018 return __tagembed__exitWithSuccess($response);
1019 break;
1020 case "__tagembed__update_other_customization_option":
1021 /* --Start-- Manage Param Data */
1022 $param['widgetId'] = sanitize_key($data->widgetId);
1023 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1024 $param['personalizationId'] = sanitize_key($data->personalizationId);
1025 $param['themeRuleId'] = sanitize_key($data->themeRuleId);
1026 $param['css'] = $data->css;
1027 /* --End-- Manage Param Data */
1028 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/other', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1029 unset($param);
1030 $response = __tagembed__manageApiResponse($response);
1031 return __tagembed__exitWithSuccess($response);
1032 break;
1033 case "__tagembed__get_and_manage_intercom_chat_setting":
1034 if (empty($__tagembed__user_details))
1035 return __tagembed__exitWithDanger();
1036 /* --Start-- Manage Param Data */
1037 $param['userId'] = sanitize_key($__tagembed__user_details->userId);
1038 /* --End-- Manage Param Data */
1039 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getIntercomSettingData', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1040 unset($param);
1041 $response = __tagembed__manageApiResponse($response);
1042 return __tagembed__exitWithSuccess($response);
1043 break;
1044 default:
1045 return __tagembed__exitWithDanger();
1046 endswitch;
1047 }
1048 /* --End-- Manage Ajax Calls */
1049
1050 /* --Start-- Manage Login And Register On Plugin Activate */
1051 function __tagembed__manageLoginAndRegisterOnPluginActivate() {
1052 global $wpdb;
1053 $__tagembed__activeUserData = wp_get_current_user();
1054 if (empty($__tagembed__activeUserData->roles) || $__tagembed__activeUserData->roles[0] != "administrator")
1055 return false;
1056 if (!empty($__tagembed__activeUserData->data->user_email) && !empty($__tagembed__activeUserData->data->display_name)):
1057 $__tagembed__activeUserName = $__tagembed__activeUserData->data->display_name;
1058 $__tagembed__activeUserEmail = $__tagembed__activeUserData->data->user_email;
1059 /* --Start-- Mange Other Active Options */
1060 $__tagembed__activeOptions = __tagembed__getActiveOptions();
1061 if (!empty($__tagembed__activeOptions[0]->email)):
1062 if (empty($__tagembed__activeOptions[0]->isLogin) || $__tagembed__activeOptions[0]->isLogin == "no")
1063 return false;
1064 $__tagembed__activeUserEmail = $__tagembed__activeOptions[0]->email;
1065 endif;
1066 /* --End-- Mange Other Active Options */
1067 $param = [];
1068 /* --Start-- Manage Param Data */
1069 $param['emailId'] = sanitize_email($__tagembed__activeUserEmail);
1070 /* --End-- Manage Param Data */
1071 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/checkUserExistOrNotAndGetData', $param);
1072 $response = __tagembed__manageApiResponse($response);
1073 unset($param);
1074 if (!empty($response->userId))
1075 __tagembed__login($response); /* After Register Manage User Login Process */
1076 endif;
1077 }
1078 /* --End-- Manage Login And Register On Plugin Activate */
1079
1080 /* --Start-- Login */
1081 function __tagembed__login($response) {
1082 global $wpdb;
1083 $return = false;
1084 $user = __tagembed__user($response->emailId);
1085 if (empty($user->email)):
1086 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->accessToken, 'yes'))):
1087 $return = true;
1088 endif;
1089 else:
1090 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->accessToken, 'yes', $response->emailId))):
1091 $return = true;
1092 endif;
1093 endif;
1094 __tagembed__manageActiveOptions($response->emailId, "yes"); /* Manage Active Options */
1095 if ($return):
1096 __tagembed__manageActiveWidgetsUser($response->userId);
1097 endif;
1098 return $return;
1099 }
1100 /* --End-- Login */
1101
1102 /* --Start-- Manage Active Options */
1103 function __tagembed__manageActiveOptions($email = null, $other = null) {
1104 global $wpdb;
1105 if ($email == null && $other != null):
1106 $wpdb->query($wpdb->prepare("UPDATE wp_tagembed_active_options SET isLogin = %s WHERE id = %d", $other, 1));
1107 else:
1108 $__tagembed__activeOptions = $wpdb->get_results($wpdb->prepare("SELECT email FROM wp_tagembed_active_options WHERE id = %d", 1));
1109 if (empty($__tagembed__activeOptions[0]->email)):
1110 $wpdb->query($wpdb->prepare("INSERT INTO wp_tagembed_active_options (email, isLogin) VALUES (%s, %s)", $email, $other));
1111 else:
1112 $wpdb->query($wpdb->prepare("UPDATE wp_tagembed_active_options SET email = %s, isLogin = %s WHERE id = %d", $email, $other, 1));
1113 endif;
1114 endif;
1115 }
1116 /* --End-- Manage Active Options */
1117 /* --Start--Get User Last Login Email Id */
1118 function __tagembed__getActiveOptions() {
1119 global $wpdb;
1120 $__tagembed__activeOptions = $wpdb->get_results($wpdb->prepare("SELECT email, isLogin FROM wp_tagembed_active_options WHERE id = %d", 1));
1121 return $__tagembed__activeOptions;
1122 }
1123 /* --End--Get User last Login Email Id */
1124 /* --Start-- Logout */
1125 function tagembed_logout() {
1126 global $wpdb;
1127 if ($wpdb->query($wpdb->prepare("UPDATE wp_tagembed_user SET isLogin = %s WHERE isLogin = %s", "no", "yes"))):
1128 __tagembed__manageActiveOptions(null, "no"); /* Manage Active Options */
1129 return true;
1130 endif;
1131 return false;
1132 }
1133 /* --End-- Logout */
1134 /* --Start--Manage Menues */
1135 function __tagembed__menus($__tagembed__menu_condatation = []) {
1136 global $wpdb;
1137 if (empty($__tagembed__menu_condatation))
1138 return $wpdb->get_results("SELECT * FROM wp_tagembed_menus");
1139 if (array_key_exists('__tagembed__menu_condation', $__tagembed__menu_condatation))
1140 return $wpdb->get_results($wpdb->prepare("SELECT * FROM wp_tagembed_menus WHERE status = %s", $__tagembed__menu_condatation['__tagembed__menu_condation']));
1141 if (array_key_exists('__tagembed__menu_id', $__tagembed__menu_condatation)):
1142 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'])))
1143 return true;
1144 return false;
1145 endif;
1146 }
1147 /* --End--Manage Menues */
1148 /* --Start-- Get User Details */
1149 function __tagembed__user($email = null) {
1150 global $wpdb;
1151 $__tagembed__userResponse = "";
1152 if (empty($email)):
1153 $__tagembed__userResponse = $wpdb->get_results($wpdb->prepare("SELECT * FROM wp_tagembed_user WHERE isLogin = %s", 'yes'));
1154 else:
1155 $__tagembed__userResponse = $wpdb->get_results($wpdb->prepare("SELECT * FROM wp_tagembed_user WHERE email = %s", $email));
1156 endif;
1157 if (!empty($__tagembed__userResponse))
1158 return $__tagembed__userResponse[0];
1159 return;
1160 }
1161 function __tagembed__userData() {
1162 global $wpdb;
1163 $__tagembed__user_dataResponse = "";
1164 $__tagembed__user_dataResponse = $wpdb->get_results("SELECT * FROM wp_tagembed_user");
1165 if (!empty($__tagembed__user_dataResponse))
1166 return $__tagembed__user_dataResponse[0];
1167 return;
1168 }
1169 /* --End-- Get User Details */
1170 /* --Start-- Get Widget */
1171 function __tagembed__widgets() {
1172 $returnWidgetData = [];
1173 $__tagembed__user_details = __tagembed__user();
1174 if (!empty($__tagembed__user_details)):
1175 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/get', ['userId' => sanitize_key($__tagembed__user_details->userId)], ['Authorization:' . $__tagembed__user_details->accessToken]);
1176 if (!isset($response->head->status))
1177 return $returnWidgetData;
1178 if (!$response->head->status || $response->head->code != 200 || !$response->body || empty($response->body))
1179 return $returnWidgetData;
1180 $returnWidgetData = $response->body;
1181 endif;
1182 return $returnWidgetData;
1183 }
1184 /* --End-- Get Widget */
1185 /* --Start-- Get Active Widget */
1186 function __tagembed__activeWidget() {
1187 global $wpdb;
1188 $__tagembed__activeWidgetResponse = "";
1189 $__tagembed__activeWidgetResponse = $wpdb->get_results("SELECT * FROM wp_tagembed_active_widget");
1190 if (!empty($__tagembed__activeWidgetResponse))
1191 return $__tagembed__activeWidgetResponse[0]->widgetId;
1192 return;
1193 }
1194 /* --End-- Get Active Widget */
1195 /* --Start-- Manage Active Widget User */
1196 function __tagembed__manageActiveWidget($widgetId) {
1197 global $wpdb;
1198 $return = '';
1199 $activeWidgetUserId = __tagembed__activeWidget();
1200 if ($activeWidgetUserId == $widgetId)
1201 return true;
1202 if (empty($activeWidgetUserId)):
1203 $wpdb->query($wpdb->prepare("INSERT INTO wp_tagembed_active_widget (widgetId) VALUES (%s)", $widgetId));
1204 return true;
1205 else:
1206 $wpdb->query($wpdb->prepare("UPDATE wp_tagembed_active_widget SET widgetId = %s WHERE id = %d", $widgetId, 1));
1207 return true;
1208 endif;
1209 return false;
1210 }
1211 /* --End-- Manage Active Widget User */
1212 /* --Start-- Get Active Widget User */
1213 function __tagembed__activeWidgetUser() {
1214 global $wpdb;
1215 $__tagembed__activeWidgetUserResponse = "";
1216 $__tagembed__activeWidgetUserResponse = $wpdb->get_results("SELECT * FROM wp_tagembed_active_widget_user");
1217 if (!empty($__tagembed__activeWidgetUserResponse)):
1218 return $__tagembed__activeWidgetUserResponse[0]->userId;
1219 endif;
1220 return;
1221 }
1222 /* --End-- Get Active Widget User */
1223 /* --Start-- Manage Active Widget User */
1224 function __tagembed__manageActiveWidgetsUser($userId) {
1225 global $wpdb;
1226 $return = '';
1227 $activeWidgetUserId = __tagembed__activeWidgetUser();
1228 if ($activeWidgetUserId == $userId)
1229 return true;
1230 if (empty($activeWidgetUserId)):
1231 $wpdb->query($wpdb->prepare("INSERT INTO wp_tagembed_active_widget_user (userId) VALUES (%d)", $userId));
1232 return true;
1233 else:
1234 $wpdb->query($wpdb->prepare("UPDATE wp_tagembed_active_widget_user SET userId = %d WHERE id = %d", $userId, 1));
1235 return true;
1236 endif;
1237 return false;
1238 }
1239 /* --End-- Manage Active Widget User */
1240 /* * ** DATABASE *** */
1241 /* --Start-- Manage Database */
1242 function __tagembed__createDatabaseTableForPlugin() {
1243 global $wpdb;
1244 require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
1245 $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 = latin1");
1246 $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 = latin1");
1247 $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 = latin1");
1248 $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 = latin1");
1249 $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 = latin1");
1250 /* --Start-- Manage Tagembed Plugin Menus */
1251 $__tagembed__checkAlreadyExistMenusDataExistOrNot = $wpdb->get_results("SELECT id FROM wp_tagembed_menus");
1252 if (empty($__tagembed__checkAlreadyExistMenusDataExistOrNot)):
1253 $__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']];
1254 foreach ($__tagembed__menus as $__tagembed__menu):
1255 $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']));
1256 endforeach;
1257 endif;
1258 /* --End-- Manage Tagembed Plugin Menus */
1259 }
1260 function __tagembed__dropDatabaseTablesForPlugin() {
1261 global $wpdb;
1262 $wpdb->query("DROP table IF EXISTS wp_tagembed_user");
1263 $wpdb->query("DROP table IF EXISTS wp_tagembed_active_widget_user");
1264 $wpdb->query("DROP table IF EXISTS wp_tagembed_active_widget");
1265 $wpdb->query("DROP table IF EXISTS wp_tagembed_menus");
1266 }
1267 /* --End-- Manage Database */
1268 /* --Start-- Manage Active Deactive And Uninstall Webhook */
1269 register_activation_hook(__FILE__, '__tagembed__pluginActivate');
1270 function __tagembed__pluginActivate() {
1271 __tagembed__createDatabaseTableForPlugin();
1272 __tagembed__manageLoginAndRegisterOnPluginActivate();
1273 add_action('activated_plugin', '__tagembed__plginActivationRedirect');
1274 }
1275 register_uninstall_hook(__FILE__, '__tagembed__pluginUnistall');
1276 function __tagembed__pluginUnistall() {
1277 __tagembed__dropDatabaseTablesForPlugin();
1278 global $wpdb;
1279 $wpdb->query("DROP table IF EXISTS wp_tagembed_active_options"); /* Delete When Plugin Uninstall */
1280 }
1281 /* register_deactivation_hook(__FILE__, '__tagembed__pluginDeactivate');
1282 function __tagembed__pluginDeactivate() {
1283 __tagembed__dropDatabaseTablesForPlugin();
1284 } */
1285
1286 /* --End-- Manage Active Deactive And Uninstall Webhook */
1287 /* --Start--Manage Redirect After Plugin Activate */
1288 function __tagembed__plginActivationRedirect() {
1289 $__tagembed__activeUserData = wp_get_current_user();
1290 if (empty($__tagembed__activeUserData->roles))
1291 return false;
1292 exit(wp_redirect(TAGEMBED_PLUGIN_CALL_BACK_URL));
1293 }
1294 /* --End--Manage Redirect After Plugin Activate */
1295 /* --Start--Manage Setting Link */
1296 function __tagembed__settingsLink($links) {
1297 array_unshift($links, '<a href=' . TAGEMBED_PLUGIN_CALL_BACK_URL . '>Settings</a>');
1298 return $links;
1299 }
1300 add_filter("plugin_action_links_" . plugin_basename(__FILE__), '__tagembed__settingsLink');
1301 /* --End--Manage Setting Link */
1302 /* --Start--Manage Database On Plugin Update Time */
1303 function __tagembed__manageDatabaseOnPluginUpdateTime() {
1304 __tagembed__dropDatabaseTablesForPlugin();
1305 __tagembed__createDatabaseTableForPlugin();
1306 __tagembed__manageLoginAndRegisterOnPluginActivate();
1307 }
1308 add_action('upgrader_process_complete', '__tagembed__manageDatabaseOnPluginUpdateTime', 10, 2);
1309 /* --End--Manage Database On Plugin Update Time */
1310 /* --Sart--Get And Manage Social Accout Id */
1311 function __tagembed__get_user_social_account_id() {
1312 $__tagembed__user_details = __tagembed__user();
1313 $param['userId'] = $__tagembed__user_details->userId;
1314 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getsocialaccountid', $param, ['Authorization:' . $__tagembed__user_details->accessToken]);
1315 if (isset($response->head->status)):
1316 if ($response->head->status):
1317 $response = __tagembed__manageApiResponse($response);
1318 if (!empty($response->userId)):
1319 return $response->userId;
1320 endif;
1321 endif;
1322 endif;
1323 return false;
1324 }
1325 /* --End--Manage Chat Hide And Show */
1326 /* --Start-- Show Admin General Notification After Login And Register */
1327 function __tagembed__generalAdminNotice() {
1328 $__tagmebed__page_name = "";
1329 if (!empty($_GET['page'])):
1330 $__tagmebed__page_name = __tagembed__sanitizeRequestData($_GET);
1331 $__tagmebed__page_name = $__tagmebed__page_name['page'];
1332 endif;
1333 TRY {
1334 $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/notification', ['callBy' => 'wordpress'], ['Authorization: __tagembed__']);
1335 if (!is_wp_error($response)):
1336 if (isset($response->head->status)):
1337 $response = __tagembed__manageApiResponse($response);
1338 if (!empty($response->notifications) && is_array($response->notifications)):
1339 $htmlData = "";
1340 foreach ($response->notifications as $notifications):
1341 if ($notifications->location == "tagembed" || $notifications->location == "inner"):
1342 if ($__tagmebed__page_name != "tagembed")
1343 continue;
1344 $htmlData .= '<div class="notice notice-' . esc_html($notifications->type) . ' is-dismissible">';
1345 $htmlData .= '<p>' . $notifications->message . '</p>';
1346 $htmlData .= '</div>';
1347 elseif ($notifications->location == "all"):
1348 $htmlData .= '<div class="notice notice-' . esc_html($notifications->type) . ' is-dismissible">';
1349 $htmlData .= '<p>' . $notifications->message . '</p>';
1350 $htmlData .= '</div>';
1351 endif;
1352 endforeach;
1353 echo wp_kses_post($htmlData);
1354 endif;
1355 endif;
1356 endif;
1357 } CATCH (Exception $e) {
1358
1359 }
1360 }
1361 add_action('in_admin_header', '__tagembed__hideGeneralAdminNotice');
1362 function __tagembed__hideGeneralAdminNotice() {
1363 $__tagmebed__page_name = "";
1364 if (!empty($_GET['page'])):
1365 $__tagmebed__page_name = __tagembed__sanitizeRequestData($_GET);
1366 $__tagmebed__page_name = $__tagmebed__page_name['page'];
1367 endif;
1368 if ($__tagmebed__page_name == "tagembed"):
1369 remove_all_actions('admin_notices');
1370 remove_all_actions('all_admin_notices');
1371 endif;
1372 if (!empty(__tagembed__user())):
1373 add_action('admin_notices', '__tagembed__generalAdminNotice');
1374 endif;
1375 }
1376 /* --End-- Show Admin General Notification After Login And Register */
1377
1378 /* --End-- Drop Database Table */
1379 /* --Start-- Create Short Code */
1380 function __tagembed__PluginShortCode($attr) {
1381 extract(shortcode_atts(['width' => '', 'height' => '',], $attr, 'tagembed'));
1382 $widgetId = (isset($attr[1]) ? $attr[1] : '');
1383 if (!empty($widgetId) && is_numeric($widgetId) && (($width === '' || preg_match('/^\d+(px|%|)$/', $width)) && ($height === '' || preg_match('/^\d+(px|%|)$/', $height)))):
1384 $output = '<span class=""></span>';
1385 $output .= '<div style="width:' . $width . '; height:' . $height . ';overflow: auto;" class="tagembed-container">';
1386 $output .= '<div style="width:100%; height:100%;" class="tagembed-socialwall tagembed-analystic" data-wall-id="' . $widgetId . '"></div>';
1387 $output .= '</div>';
1388 else:
1389 $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>';
1390 endif;
1391 return $output;
1392 }
1393 add_shortcode("tagembed", "__tagembed__PluginShortCode");
1394 /* --End-- Create Short Code */
1395
1396
1397
1398