PluginProbe
Tagembed: Social Media Feeds and Customer Reviews Widget / 4.8
Tagembed: Social Media Feeds and Customer Reviews Widget v4.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 5.7 All 42 releases
tagembed-widget / tagembed.php

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

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