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

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