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

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