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

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

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