"__editor-js", "editor_style" => "__editor-css", "style" => "__editor-style-css"]); endif; /* --End-- Gutenberge */ endif; } add_action("init", "tagembed_plugin_scripts_css"); add_filter('script_loader_tag', function ($tag, $handle) { if ('embbedJs' !== $handle) return $tag; return str_replace(' src', ' defer src', $tag); }, 10, 2); /* --End-- Add Js And Css */ /* --Start-- Add Menus */ function __tagembed__plugin_menus() { ob_start(); ?> isLogin) && __tagembed__user()->isLogin == 'yes'): $__tagembed__menus = __tagembed__menus(['__tagembed__menu_condation' => 'STATUS = 1']); if (empty($__tagembed__menus)): include_once TAGEMBED_PLUGIN_DIR_PATH . "views/widget/widgetView.php"; else: include_once TAGEMBED_PLUGIN_DIR_PATH . "views/" . $__tagembed__menus[0]->path . ".php"; endif; else: include_once TAGEMBED_PLUGIN_DIR_PATH . "views/account/accountView.php"; endif; } /* --End-- Add & Manage Views */ /* --Start-- Manage Ajax Calls */ add_action("wp_ajax_data", "__tagembed__dataAjaxHandler"); function __tagembed__dataAjaxHandler() { if (empty($_REQUEST['__tagembed__ajax_action'])) return FALSE; $data = __tagembed__sanitizeRequestData($_REQUEST); $data = (object) $data; /* --Start__ Sanetize All Input */ foreach ($data as $key => $value): if (!in_array($key, ['emailId', 'password', 'youtubePlaylist'])) inputSanetize($value); endforeach; /* --End__ Sanetize All Input */ $param = []; global $wpdb; $action = $data->__tagembed__ajax_action; $__tagembed__user_details = __tagembed__user(); switch ($action): case "__tagembed__register": if (empty($data->emailId) || empty($data->password) || empty($data->fullName)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['fullName'] = sanitize_text_field($data->fullName); $param['emailId'] = sanitize_email($data->emailId); $param['password'] = $data->password; /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/register', $param); $response = __tagembed__manageApiResponse($response); unset($param); $param = ['userId' => sanitize_key($response->userId)]; __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/create', $param, ['Authorization:' . $response->accessToken]); if (__tagembed__login($response) == true) return __tagembed__exitWithSuccess(["redirectUrl" => TAGEMBED_PLUGIN_CALL_BACK_URL]); return __tagembed__exitWithDanger(); break; case "__tagembed__login": if (empty($data->emailId) || empty($data->password)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['emailId'] = sanitize_email($data->emailId); $param['password'] = $data->password; /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/login', $param, []); unset($param); $response = __tagembed__manageApiResponse($response); if (__tagembed__login($response) == true) return __tagembed__exitWithSuccess(["redirectUrl" => TAGEMBED_PLUGIN_CALL_BACK_URL]); return __tagembed__exitWithDanger(); break; case "__tagembed__logout": if (tagembed_logout()) __tagembed__exitWithSuccess(["redirectUrl" => TAGEMBED_PLUGIN_REDIRECT_URL . 'tagembed']); return __tagembed__exitWithDanger(); break; case "__tagembed__get_account_details": $data->auth = !empty($data->auth) ? 1 : 0; if (empty($__tagembed__user_details)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getdetails', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__manage_active_widget": if (empty($data->widgetId)) return __tagembed__exitWithDanger(); if (__tagembed__manageActiveWidget($data->widgetId)) __tagembed__exitWithSuccess(); return __tagembed__exitWithDanger(); break; case "__tagembed__menue": if (empty($data->menueId)) return __tagembed__exitWithDanger(); if (__tagembed__menus(['__tagembed__menu_id' => $data->menueId])) __tagembed__exitWithSuccess(["redirectUrl" => TAGEMBED_PLUGIN_REDIRECT_URL . 'tagembed']); return __tagembed__exitWithDanger(); break; case "__tagembed__create_widget": if (empty($__tagembed__user_details) || empty($data->name)) return __tagembed__exitWithDanger("Validation Error", ['name' => 'Widget name is required']); $data->profanity = (isset($data->profanity)) ? 0 : 1; /* --Start-- Manage Param Data */ $param['name'] = sanitize_text_field($data->name); $param['profanity'] = sanitize_key($data->profanity); $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/create', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); $response = !empty($response->message) ? $response->message : 'Done'; return __tagembed__exitWithSuccess(["message" => $response, "redirectUrl" => TAGEMBED_PLUGIN_CALL_BACK_URL]); break; case "__tagembed__edit_widget": if (empty($__tagembed__user_details) || empty($data->name) || empty($data->widgetId)) return __tagembed__exitWithDanger("Validation Error", ['name' => 'Widget name is required']); /* --Start-- Manage Param Data */ $param['name'] = sanitize_text_field($data->name); $param['widgetId'] = sanitize_key($data->widgetId); $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/edit', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); $response = !empty($response->message) ? $response->message : 'Done'; return __tagembed__exitWithSuccess(["message" => $response, "redirectUrl" => TAGEMBED_PLUGIN_CALL_BACK_URL]); break; case "__tagembed__update_widget_status": if (empty($__tagembed__user_details) || empty($data->widgetId)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['status'] = sanitize_key($data->status); $param['widgetId'] = sanitize_key($data->widgetId); $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/status', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); $response = !empty($response->message) ? $response->message : 'Done'; return __tagembed__exitWithSuccess(["message" => $response]); break; case "__tagembed__delete_widget": if (empty($__tagembed__user_details) || empty($data->widgetId)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['widgetId'] = sanitize_key($data->widgetId); $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/delete', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); $response = !empty($response->message) ? $response->message : 'Done'; return __tagembed__exitWithSuccess(["message" => $response]); break; case "__tagembed__source_networks": $data->auth = !empty($data->auth) ? 1 : 0; if (empty($__tagembed__user_details)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['auth'] = sanitize_key($data->auth); $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apinetwork/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__get_themes": if (empty($__tagembed__user_details) || empty($data->widgetId)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['widgetId'] = sanitize_key($data->widgetId); $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'Apitheme/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__edit_themes": if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->themeId)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['themeId'] = sanitize_key($data->themeId); $param['widgetId'] = sanitize_key($data->widgetId); $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'Apitheme/edit', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__get_network_filter": if (empty($__tagembed__user_details) || empty($data->networkId)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['networkId'] = sanitize_key($data->networkId); $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apinetwork/filter', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__get_already_exist_accounts": if (empty($__tagembed__user_details)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/getalreadyexistaccounts', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__add_or_update_account": if (empty($__tagembed__user_details) || empty($data->networkId) || empty($data->type)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['connectedAccountId'] = $data->connectedAccountId; $param['feedId'] = sanitize_key($data->feedId); $param['type'] = sanitize_text_field($data->type); $param['networkId'] = sanitize_key($data->networkId); $param['filterId'] = sanitize_key($data->filterId); $param['otherData'] = $data->otherData; $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/addorupdate', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess(["__tagembed__requestCallBackUrl" => TAGEMBED_PLUGIN_CALL_BACK_URL, "redirectUrl" => TAGEMBED_PLUGIN_API_URL . "apiauth/getauth", "__tagembed__feedData" => $response->__tagembed__feedData]); break; case "__tagembed__delete_account": if (empty($__tagembed__user_details) || empty($data->networkId) || empty($data->parentId)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['parentId'] = sanitize_key($data->parentId); $param['networkId'] = sanitize_key($data->networkId); $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/delete', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); $response = !empty($response->message) ? $response->message : 'Done'; return __tagembed__exitWithSuccess(["message" => $response]); break; case "__tagembed__get_already_exist_auth": if (empty($__tagembed__user_details) || empty($data->networkId)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['networkId'] = sanitize_key($data->networkId); $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__search_google_location": if (empty($__tagembed__user_details) || empty($data->googleLocationName)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['googleLocationName'] = $data->googleLocationName; $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/searchgooglelocation', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__search_vk_communities": if (empty($__tagembed__user_details) || empty($data->vkCommunitiesName)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['vkCommunitiesName'] = $data->vkCommunitiesName; $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/searchVkCommunities', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__get_facebook_page_albums": if (empty($__tagembed__user_details) || empty($data->connectedAccountsId)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['connectedAccountsId'] = sanitize_key($data->connectedAccountsId); $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/apiauthfacebookpagealbums', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__search_youtube_channel": if (empty($__tagembed__user_details) || empty($data->youtubeChannelData)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['youtubeChannelData'] = $data->youtubeChannelData; $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/searchyoutubechannel', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__get_youtube_playlist": if (empty($__tagembed__user_details) || empty($data->youtubeId)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['youtubeId'] = $data->youtubeId; $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/getyoutubeplaylist', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__get_feed": if (empty($__tagembed__user_details) || empty($data->widgetId)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['widgetId'] = sanitize_key($data->widgetId); $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__update_feed_status": if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->feedId)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['feedId'] = sanitize_key($data->feedId); $param['status'] = sanitize_key($data->status); $param['widgetId'] = sanitize_key($data->widgetId); $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/status', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); $response = !empty($response->message) ? $response->message : 'Done'; return __tagembed__exitWithSuccess(["message" => $response]); break; case "__tagembed__delete_feed": if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->feedId)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['feedId'] = sanitize_key($data->feedId); $param['widgetId'] = sanitize_key($data->widgetId); $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/delete', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); $response = !empty($response->message) ? $response->message : 'Done'; return __tagembed__exitWithSuccess(["message" => $response]); break; case "__tagembed__create_feed": if (empty($__tagembed__user_details) || empty($data->widgetName) || empty($data->networkName) || empty($data->filterName) || empty($data->widgetId) || empty($data->networkId) || empty($data->filterId)) return __tagembed__exitWithDanger(); $__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]; $__tagembed__feed_input_data["feed"] = !empty($data->feed) ? sanitize_text_field($data->feed) : '__tagembed__feed'; $__tagembed__feed_filter_id = $data->filterId; switch ($__tagembed__feed_input_data['networkId']): case 1: $__tagembed__feed_input_data['auth'] = 1; $__tagembed__feed_input_data['multiplePhoto'] = sanitize_key(isset($data->multiplePhoto) ? 1 : 0); $__tagembed__feed_input_data['excludeRetweet'] = sanitize_key(isset($data->excludeRetweet) ? 1 : 0); if (!empty($data->list)) $__tagembed__feed_input_data['list'] = sanitize_key($data->list); break; case 2: $__tagembed__feed_input_data['auth'] = 1; break; case 3: $__tagembed__feed_input_data['auth'] = 1; switch ($__tagembed__feed_filter_id): case 65: $__tagembed__feed_input_data['accountAlbumType'] = sanitize_key(isset($data->accountAlbumType) ? $data->accountAlbumType : ""); $__tagembed__feed_input_data['accountAlbumData'] = sanitize_text_field(isset($data->accountAlbumData) ? $data->accountAlbumData : ""); break; endswitch; break; case 4: if ($__tagembed__feed_filter_id == 29): $__tagembed__feed_input_data['auth'] = 1; else: $__tagembed__feed_input_data['placeId'] = $data->placeId; $__tagembed__feed_input_data['placeName'] = $data->placeName; endif; break; case 5: switch ($__tagembed__feed_filter_id): case 1: case 72: break; case 12: if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed)) return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]); $pintrestHeaders = explode("/", parse_url($data->feed)['path']); $__tagembed__feed_input_data['value1'] = strtolower($pintrestHeaders[1]); $__tagembed__feed_input_data['value2'] = strtolower($pintrestHeaders[2]); break; endswitch; break; case 6: switch ($__tagembed__feed_filter_id): case 1: case 2: $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = $data->feed; break; endswitch; break; case 7: if (in_array($__tagembed__feed_filter_id, [1, 71])): $isUrl = false; if (preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed)) $isUrl = true; if ((empty($data->youtubeId) || empty($data->youtubeName)) && !$isUrl) return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid Channel URL Or Tab On Search Icon"]); if ($isUrl): $data->youtubeId = explode('/', $data->feed); $data->youtubeId = $data->youtubeId[4]; $data->youtubeName = "youtube"; if (empty($data->youtubeId) || empty($data->youtubeName)) return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid Channel URL"]); endif; endif; switch ($__tagembed__feed_filter_id): case 1: case 71: $__tagembed__feed_input_data['youtubeId'] = $data->youtubeId; $__tagembed__feed_input_data['youtubeName'] = $data->youtubeName; break; case 11: if (empty($data->youtubePlaylist) && empty($data->youtubeId)): return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid Channel URL Or Tab On Search Icon"]); elseif (empty($data->youtubePlaylist) && !empty($data->youtubeId)): return __tagembed__exitWithDanger("Validation Error", ["feed" => "Play List Not Found"]); endif; $data->youtubePlaylist = explode("#", $data->youtubePlaylist); $__tagembed__feed_input_data['youtubeId'] = $data->youtubePlaylist[0]; $__tagembed__feed_input_data['youtubeName'] = $data->youtubePlaylist[1]; $__tagembed__feed_input_data['feed'] = $data->youtubePlaylist[1]; unset($data->youtubePlaylist); break; endswitch; break; case 10: if (in_array($__tagembed__feed_filter_id, [1, 16, 17])): if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed)) return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]); endif; switch ($__tagembed__feed_filter_id): case 16: $postUrl = parse_url($data->feed); if (!strstr($postUrl['host'], 'linkedin')) return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Linkedin Post Url"]); $postUrl = $data->feed; $postUrl = rtrim($postUrl, '/'); preg_match("/[^\/]+$/", $postUrl, $postId); $postId = $postId[0]; $postId = (explode("?", $postId)[0]); $value1 = 'LinkedIn'; if (stripos($postId, "activity") !== false): $postId = (explode("activity", $postId)[1]); $value2 = "activity"; elseif (stripos($postId, "ugcPost") !== false): $postId = (explode("ugcPost", $postId)[1]); $value2 = "ugcPost"; else: return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Linkedin Post Url"]); endif; preg_match_all('!\d+!', $postId, $postId); if (isset($postId[0][0]) && empty($postId[0][0])) return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Linkedin Post Url"]); $value3 = $postId[0][0]; if (empty($value1) || empty($value2) || empty($value3)) return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Linkedin Post Url"]); $__tagembed__feed_input_data['value1'] = $value1; $__tagembed__feed_input_data['value2'] = $value2; $__tagembed__feed_input_data['value3'] = $value3; break; case 1: case 17: $url = parse_url($data->feed); $companyPageUrl = $url['scheme'] . "://" . $url['host']; $url = explode("/", $url['path']); $companyPageUrl = $companyPageUrl . "/" . $url[1] . "/" . $url[2] . "/"; $__tagembed__feed_input_data['feed'] = $companyPageUrl; $url[2] = str_replace("-", " ", "$url[2]"); $__tagembed__feed_input_data['page'] = ucwords($url[2], " "); break; case 2: $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = $data->feed; break; endswitch; break; case 11: switch ($__tagembed__feed_filter_id): case 1: case 2: $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = $data->feed; break; endswitch; break; case 12: if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed)) return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]); $__tagembed__feed_input_data['name'] = $data->name; break; case 18: switch ($__tagembed__feed_filter_id): case 26: $__tagembed__feed_input_data['hashtagCaption'] = sanitize_key(isset($data->hashtagCaption) ? 1 : 0); $__tagembed__feed_input_data['hashtagOlder'] = sanitize_key(isset($data->hashtagOlder) ? 1 : 0); break; endswitch; if (!in_array($__tagembed__feed_filter_id, [34])) $__tagembed__feed_input_data['auth'] = 1; break; case 19: if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed)) return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]); $yelpBusinessUrl = parse_url($data->feed); if (!strstr($yelpBusinessUrl['host'], 'yelp')) return __tagembed__exitWithDanger("Validation Error", ["feed" => "'Enter Yelp Business Url"]); $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = explode('/', $yelpBusinessUrl['path'])[2]; break; case 23: if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed)) return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]); $airbnbListUrl = parse_url($data->feed); if (strstr($airbnbListUrl['host'], 'airbnb')): preg_match("/[^\/]+$/", $data->feed, $matches); $__tagembed__feed_input_data['listId'] = explode("?", $matches[0])[0]; else: return __tagembed__exitWithDanger("Validation Error", ["feed" => "'Enter Airbnb Url"]); endif; $__tagembed__feed_input_data['name'] = $data->name; break; case 28: if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed)) return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]); $capeterraCompanyUrl = parse_url($data->feed); if (!strstr($capeterraCompanyUrl['host'], 'capterra')) return __tagembed__exitWithDanger("Validation Error", ["feed" => "'Enter Capeterra Company Url"]); $__tagembed__feed_input_data['name'] = explode("/", $capeterraCompanyUrl['path'])['3']; $__tagembed__feed_input_data['feed'] = explode("/", $capeterraCompanyUrl['path'])['2']; break; case 29: if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed)) return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]); $etsyShopUrl = parse_url($data->feed); if (!strstr($etsyShopUrl['host'], 'etsy')) return __tagembed__exitWithDanger("Validation Error", ["feed" => "'Enter Etsy Shop Url"]); $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = explode('/shop/', $etsyShopUrl['path'])[1]; break; case 31: switch ($__tagembed__feed_filter_id): case 2: $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = $data->feed; break; endswitch; if (!in_array($__tagembed__feed_filter_id, [2])) $__tagembed__feed_input_data['auth'] = 1; break; case 32: switch ($__tagembed__feed_filter_id): case 2: $__tagembed__feed_input_data['feed'] = $__tagembed__feed_input_data['name'] = $data->feed; break; case 75: $__tagembed__feed_input_data['communitiesName'] = $data->communitiesName; $__tagembed__feed_input_data['communitiesId'] = $data->communitiesId; break; endswitch; if (!in_array($__tagembed__feed_filter_id, [2, 75])) $__tagembed__feed_input_data['auth'] = 1; break; case 33: if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i", $data->feed)) return __tagembed__exitWithDanger("Validation Error", ["feed" => "Enter Valid URL"]); preg_match("/[^\/]+$/", "$data->feed", $matches); $__tagembed__feed_input_data['name'] = $__tagembed__feed_input_data['feed'] = $matches[0]; break; endswitch; unset($data); $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/create', ['feedData' => $__tagembed__feed_input_data], ['Authorization:' . $__tagembed__user_details->accessToken]); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess(["__tagembed__requestCallBackUrl" => TAGEMBED_PLUGIN_CALL_BACK_URL, "redirectUrl" => TAGEMBED_PLUGIN_API_URL . "apiauth/getauth", "__tagembed__feedData" => $response->__tagembed__feedData]); break; case "__tagembed__make_payment": if (empty($__tagembed__user_details) || empty($data->plan) || empty($data->price)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['plan'] = sanitize_key($data->plan); $param['price'] = sanitize_key($data->price); /* --Start-- Manage Param Data */ $param['userId'] = sanitize_key($__tagembed__user_details->userId); $param['email'] = $__tagembed__user_details->email; $param['name'] = $__tagembed__user_details->name; /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getpaymentdetails', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess(["__tagembed__requestCallBackUrl" => TAGEMBED_PLUGIN_CALL_BACK_URL, "redirectUrl" => TAGEMBED_PLUGIN_API_URL . "apiaccount/makepayment", "__tagembed__paymentData" => $response->__tagembed__paymentData]); break; case "__tagembed__cancel_subscription": if (empty($__tagembed__user_details) || empty($data->plan)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['plan'] = sanitize_key($data->plan); /* --Start-- Manage Param Data */ $param['userId'] = sanitize_key($__tagembed__user_details->userId); $param['email'] = $__tagembed__user_details->email; $param['name'] = $__tagembed__user_details->name; /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/cancelsubscription', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); $response = !empty($response->message) ? $response->message : 'Done'; return __tagembed__exitWithSuccess(["message" => $response]); break; case "__tagembed__get_post": if (empty($__tagembed__user_details) || empty($data->widgetId) || !isset($data->perPage) || !isset($data->offset) || !isset($data->postStatus)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['userId'] = sanitize_key($__tagembed__user_details->userId); $param['widgetId'] = sanitize_key($data->widgetId); $param['perPage'] = sanitize_key($data->perPage); $param['offset'] = sanitize_key($data->offset); $param['postStatus'] = sanitize_key($data->postStatus); $param['feedIds'] = $data->feedIds; $param['postType'] = $data->postType; $param['highlightFilter'] = sanitize_key($data->highlightFilter); $param['pinFilter'] = sanitize_key($data->pinFilter); $param['recentFilter'] = sanitize_key($data->recentFilter); $param['retweetFilter'] = sanitize_key($data->retweetFilter); $param['searchText'] = sanitize_text_field($data->searchText); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__manage_post_status": if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->postIds) || empty($data->postStatus)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['userId'] = sanitize_key($__tagembed__user_details->userId); $param['widgetId'] = sanitize_key($data->widgetId); $param['postIds'] = $data->postIds; $param['postStatus'] = sanitize_key($data->postStatus); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/status', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); $response = !empty($response->message) ? $response->message : 'Done'; return __tagembed__exitWithSuccess(["message" => $response]); break; case "__tagembed__feed_for_search": if (empty($__tagembed__user_details) || empty($data->widgetId)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['userId'] = sanitize_key($__tagembed__user_details->userId); $param['widgetId'] = sanitize_key($data->widgetId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/getfeeds', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__manage_post_pin": if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->postId) || !isset($data->pin)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['userId'] = sanitize_key($__tagembed__user_details->userId); $param['widgetId'] = sanitize_key($data->widgetId); $param['postId'] = $data->postId; $param['pin'] = sanitize_key($data->pin); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/pin', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); $response = !empty($response->message) ? $response->message : 'Done'; return __tagembed__exitWithSuccess(["message" => $response]); break; case "__tagembed__manage_post_highlight": if (empty($__tagembed__user_details) || empty($data->widgetId) || empty($data->postId) || !isset($data->highlight)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['userId'] = sanitize_key($__tagembed__user_details->userId); $param['widgetId'] = sanitize_key($data->widgetId); $param['postId'] = $data->postId; $param['highlight'] = sanitize_key($data->highlight); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifilter/highlight', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); $response = !empty($response->message) ? $response->message : 'Done'; return __tagembed__exitWithSuccess(["message" => $response]); break; case "__tagembed__plugin_version": /* --Start-- Manage Param Data */ $param = []; /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/pluginversion', $param, ['Authorization: __tagembed__']); $response = __tagembed__manageApiResponse($response); unset($param); $installedPluginVersion = get_file_data(__FILE__, ['Version' => 'Version'], false); $installedPluginVersion = $installedPluginVersion['Version']; $response->installedPluginVersion = $installedPluginVersion; $response->pluginUpgradeURL = admin_url() . "plugins.php"; return __tagembed__exitWithSuccess($response); break; case "__tagembed__get_en_user_id": if (empty($__tagembed__user_details)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/enuserid', $param, ['Authorization: __tagembed__']); $response = __tagembed__manageApiResponse($response); unset($param); if (!empty($response->userId)) return __tagembed__exitWithSuccess(["shareLink" => "https://app.tagembed.com/apiauth/connections/" . $response->userId]); return __tagembed__exitWithDanger(); break; case "__tagembed__share_link": if (empty($__tagembed__user_details) || empty($data->emailIds) || empty($data->enUserId)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['userId'] = sanitize_key($__tagembed__user_details->userId); $param['userEmailId'] = sanitize_email($__tagembed__user_details->email); $param['userName'] = sanitize_text_field($__tagembed__user_details->name); $param['emailIds'] = sanitize_text_field($data->emailIds); $param['enUserId'] = sanitize_key($data->enUserId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiauth/sendconnectionemail', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); $response = __tagembed__manageApiResponse($response); unset($param); return __tagembed__exitWithSuccess($response); break; case "__tagembed__check_user_token": if (empty($__tagembed__user_details)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/checkusertoken', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); if ($response->head->code == 401 && !$response->head->status) tagembed_logout(); unset($param); return __tagembed__exitWithSuccess($response); break; case "__tagembed__plugin_deactivate": /* --Start-- Manage Param Data */ $__tagembed__user_details = __tagembed__userData(); $param = []; $param['userId'] = !empty($__tagembed__user_details) ? sanitize_key($__tagembed__user_details->userId) : ""; $param['userName'] = !empty($__tagembed__user_details) ? sanitize_text_field($__tagembed__user_details->name) : ""; $param['userEmail'] = !empty($__tagembed__user_details) ? sanitize_email($__tagembed__user_details->email) : ""; $param['pluginDeactivateReason'] = sanitize_text_field($data->pluginDeactivateReason); $param['otherReason'] = sanitize_text_field($data->otherReason); $param['betterPlugin'] = sanitize_text_field($data->betterPlugin); $param['userWebsiteUrl'] = get_site_url(); /* --End-- Manage Param Data */ __tagembed__dropDatabaseTablesForPlugin(); deactivate_plugins(plugin_basename(__FILE__), true); $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/deactivateuserdata', $param, ['Authorization: __tagembed__']); $response = __tagembed__manageApiResponse($response); unset($param); return __tagembed__exitWithSuccess(); break; case "__tagembed__get_customization_option": if (empty($__tagembed__user_details) || empty($data->widgetId)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['widgetId'] = sanitize_key($data->widgetId); $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/get', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__update_footer_customization_option": /* --Start-- Manage Param Data */ $param['widgetId'] = sanitize_key($data->widgetId); $param['userId'] = sanitize_key($__tagembed__user_details->userId); $param['personalizationId'] = sanitize_key($data->personalizationId); $param['themeRuleId'] = sanitize_key($data->themeRuleId); $param['loadMoreStatus'] = sanitize_key($data->loadMoreStatus); $param['autoScrollStatus'] = sanitize_key($data->autoScrollStatus); $param['showMoreTxt'] = $data->showMoreTxt; /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/footer', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__update_layout_customization_option": /* --Start-- Manage Param Data */ $param['widgetId'] = sanitize_key($data->widgetId); $param['userId'] = sanitize_key($__tagembed__user_details->userId); $param['personalizationId'] = sanitize_key($data->personalizationId); $param['themeRuleId'] = sanitize_key($data->themeRuleId); $param['numberOfPosts'] = sanitize_key($data->numberOfPosts); $param['padding'] = sanitize_key($data->padding); $param['minimumPostWidth'] = sanitize_key($data->minimumPostWidth); $param['columnCount'] = sanitize_key($data->columnCount); $param['columnCountMobile'] = sanitize_key($data->columnCountMobile); $param['postText'] = sanitize_key($data->postText); $param['mobilePopup'] = sanitize_key($data->mobilePopup); $param['postFeatured'] = sanitize_key($data->postFeatured); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/layout', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__update_card_customization_option": /* --Start-- Manage Param Data */ $param['widgetId'] = sanitize_key($data->widgetId); $param['userId'] = sanitize_key($__tagembed__user_details->userId); $param['personalizationId'] = sanitize_key($data->personalizationId); $param['themeRuleId'] = sanitize_key($data->themeRuleId); $param['fontColor'] = $data->fontColor; $param['authorColor'] = $data->authorColor; $param['cardColor'] = $data->cardColor; $param['fontSize'] = sanitize_key($data->fontSize); $param['font'] = sanitize_key($data->font); $param['shareOption'] = sanitize_key($data->shareOption); $param['hideContent'] = sanitize_key($data->hideContent); $param['postAuthor'] = sanitize_key($data->postAuthor); $param['postTime'] = sanitize_key($data->postTime); $param['lineTrim'] = sanitize_key($data->lineTrim); $param['aspectImageRatio'] = $data->aspectImageRatio; $param['textAlignment'] = $data->textAlignment; $param['cardCurve'] = $data->cardCurve; $param['colorType'] = $data->colorType; /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/card', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; case "__tagembed__update_other_customization_option": /* --Start-- Manage Param Data */ $param['widgetId'] = sanitize_key($data->widgetId); $param['userId'] = sanitize_key($__tagembed__user_details->userId); $param['personalizationId'] = sanitize_key($data->personalizationId); $param['themeRuleId'] = sanitize_key($data->themeRuleId); $param['css'] = $data->css; /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apicustomization/other', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); unset($param); $response = __tagembed__manageApiResponse($response); return __tagembed__exitWithSuccess($response); break; default: return __tagembed__exitWithDanger(); endswitch; } /* --End-- Manage Ajax Calls */ /* --Start-- Manage Login And Register On Plugin Activate */ function __tagembed__manageLoginAndRegisterOnPluginActivate() { global $wpdb; $__tagembed__activeUserData = wp_get_current_user(); if ($__tagembed__activeUserData->roles[0] != "administrator") return false; if (!empty($__tagembed__activeUserData->data->user_email) && !empty($__tagembed__activeUserData->data->display_name)): $__tagembed__activeUserName = $__tagembed__activeUserData->data->display_name; $__tagembed__activeUserEmail = $__tagembed__activeUserData->data->user_email; /* --Start-- Mange Other Active Options */ $__tagembed__activeOptions = __tagembed__getActiveOptions(); if (!empty($__tagembed__activeOptions[0]->email)): if (empty($__tagembed__activeOptions[0]->isLogin) || $__tagembed__activeOptions[0]->isLogin == "no") return false; $__tagembed__activeUserEmail = $__tagembed__activeOptions[0]->email; endif; /* --End-- Mange Other Active Options */ $param = []; /* --Start-- Manage Param Data */ $param['fullName'] = sanitize_text_field($__tagembed__activeUserName); $param['emailId'] = sanitize_email($__tagembed__activeUserEmail); $param['password'] = "TagembedWordpressUserPassword"; /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/register', $param); $response = __tagembed__manageApiResponse($response); unset($param); if (!empty($response->userId)): /* --Start--Mange Frist Widget Create Process */ if ($response->createFirstWidget): $param = ['userId' => sanitize_key($response->userId)]; __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/create', $param, ['Authorization:' . $response->accessToken]); endif; /* --End--Mange Frist Widget Create Process */ __tagembed__login($response); /* After Register Manage User Login Process */ endif; endif; } /* --End-- Manage Login And Register On Plugin Activate */ /* --Start-- Login */ function __tagembed__login($response) { global $wpdb; $return = false; $user = __tagembed__user($response->emailId); if (empty($user->email)): if ($wpdb->insert('wp_tagembed_user', ["userId" => $response->userId, "name" => $response->name, "email" => $response->emailId, "accessToken" => $response->accessToken, "isLogin" => "yes"])): $return = true; endif; else: if ($wpdb->update('wp_tagembed_user', ["userId" => $response->userId, "name" => $response->name, "email" => $response->emailId, "accessToken" => $response->accessToken, "isLogin" => "yes",], ['email' => $response->emailId])): $return = true; endif; endif; __tagembed__manageActiveOptions($response->emailId, "yes"); /* Manage Active Options */ if ($return): if (count($response->collaboratorlist)): __tagembed__manageCollaborator($response->collaboratorlist, $response->userId); endif; __tagembed__manageActiveWidgetsUser($response->userId); endif; return $return; } /* --End-- Login */ /* --Start-- Manage Active Options */ function __tagembed__manageActiveOptions($email = NULL, $other = NULL) { global $wpdb; if ($email == NULL && $other != NULL): $wpdb->update('wp_tagembed_active_options', ["isLogin" => $other], ['id' => 1]); else: $__tagembed__activeOptions = $wpdb->get_results("SELECT email FROM wp_tagembed_active_options WHERE(id = 1)"); if (empty($__tagembed__activeOptions[0]->email)): $wpdb->insert('wp_tagembed_active_options', ["email" => $email, "isLogin" => $other]); else: $wpdb->update('wp_tagembed_active_options', ["email" => $email, "isLogin" => $other], ['id' => 1]); endif; endif; } /* --End-- Manage Active Options */ /* --Start--Get User Last Login Email Id */ function __tagembed__getActiveOptions() { global $wpdb; $__tagembed__activeOptions = $wpdb->get_results("SELECT email,isLogin FROM wp_tagembed_active_options WHERE(id = 1)"); return $__tagembed__activeOptions; } /* --End--Get User last Login Email Id */ /* --Start-- Logout */ function tagembed_logout() { global $wpdb; if ($wpdb->update('wp_tagembed_user', ["isLogin" => "no"], ["isLogin" => "yes"])): __tagembed__manageActiveOptions(NULL, "no"); /* Manage Active Options */ return true; endif; return false; } /* --End-- Logout */ /* --Start--Manage Menues */ function __tagembed__menus($__tagembed__menu_condatation = []) { global $wpdb; if (empty($__tagembed__menu_condatation)) return $wpdb->get_results("SELECT * FROM wp_tagembed_menus"); if (array_key_exists('__tagembed__menu_condation', $__tagembed__menu_condatation)) return $wpdb->get_results("SELECT * FROM wp_tagembed_menus WHERE " . $__tagembed__menu_condatation['__tagembed__menu_condation']); if (array_key_exists('__tagembed__menu_id', $__tagembed__menu_condatation)): if ($wpdb->update('wp_tagembed_menus', ["status" => 0], ["status" => 1]) && $wpdb->update('wp_tagembed_menus', ["status" => 1], ["id" => $__tagembed__menu_condatation['__tagembed__menu_id']])) return true; return false; endif; } /* --End--Manage Menues */ /* --Start-- Get User Details */ function __tagembed__user($email = null) { global $wpdb; $__tagembed__userResponse = ""; if (empty($email)): $__tagembed__userResponse = $wpdb->get_results("SELECT * FROM wp_tagembed_user WHERE(isLogin = 'yes')"); else: $__tagembed__userResponse = $wpdb->get_results("SELECT * FROM wp_tagembed_user WHERE(email = '" . $email . "')"); endif; if (!empty($__tagembed__userResponse)) return $__tagembed__userResponse[0]; return; } function __tagembed__userData() { global $wpdb; $__tagembed__user_dataResponse = ""; $__tagembed__user_dataResponse = $wpdb->get_results("SELECT * FROM wp_tagembed_user"); if (!empty($__tagembed__user_dataResponse)) return $__tagembed__user_dataResponse[0]; return; } /* --End-- Get User Details */ /* --Start-- Get Collaborator Details */ function __tagembed__collaborator($userId) { global $wpdb; return $wpdb->get_results("SELECT * FROM wp_tagembed_collaborator WHERE(userId = '" . $userId . "')"); } /* --End-- Get Collaborator Details */ /* --Start-- Manage Collaborator */ function __tagembed__manageCollaborator($collaboratorList, $userId) { global $wpdb; $prevCollaboratorList = __tagembed__convertObjectToArray(__tagembed__collaborator($userId)); $collaboratorList = __tagembed__convertObjectToArray($collaboratorList); $collaboratorListIds = []; if (is_array($collaboratorList)) $collaboratorListIds = array_column($collaboratorList, 'id'); $prevCollaboratorListIds = []; if (is_array($prevCollaboratorList)): $prevCollaboratorListIds = array_column($prevCollaboratorList, 'collaboratorId'); $commonCollaboratorIds = array_intersect($prevCollaboratorListIds, $collaboratorListIds); $prevCollaboratorListIds = array_diff($prevCollaboratorListIds, $commonCollaboratorIds); $collaboratorListIds = array_diff($collaboratorListIds, $commonCollaboratorIds); endif; if (count($prevCollaboratorListIds)): foreach ($prevCollaboratorListIds as $delId): if ($wpdb->delete('wp_tagembed_collaborator', ["collaboratorId" => $delId, "userId" => $userId])) $wpdb->delete('wp_tagembed_widget', ["userId" => $delId]); endforeach; endif; foreach ($collaboratorList as $key => $collaborator): if (in_array($collaborator['id'], $collaboratorListIds)): $wpdb->insert('wp_tagembed_collaborator', ["userId" => $userId, "collaboratorId" => $collaboratorList[$key]['id'], "name" => $collaboratorList[$key]['name']]); elseif (in_array($collaborator['id'], $commonCollaboratorIds)): $wpdb->update('wp_tagembed_collaborator', ["userId" => $userId, "name" => $collaboratorList[$key]['name'],], ['collaboratorId' => $collaborator['id'], "userId" => $userId]); endif; endforeach; return true; } /* --End-- Manage Collaborator */ /* --Start-- Get Widget */ function __tagembed__widgets() { $returnWidgetData = []; $__tagembed__user_details = __tagembed__user(); if (!empty($__tagembed__user_details)): $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiwidget/get', ['userId' => sanitize_key($__tagembed__user_details->userId)], ['Authorization:' . $__tagembed__user_details->accessToken]); if (!isset($response->head->status)) return $returnWidgetData; if (!$response->head->status || $response->head->code != 200 || !$response->body || empty($response->body)) return $returnWidgetData; $returnWidgetData = $response->body; endif; return $returnWidgetData; } /* --End-- Get Widget */ /* --Start-- Get Active Widget */ function __tagembed__activeWidget() { global $wpdb; $__tagembed__activeWidgetResponse = ""; $__tagembed__activeWidgetResponse = $wpdb->get_results("SELECT * FROM wp_tagembed_active_widget"); if (!empty($__tagembed__activeWidgetResponse)) return $__tagembed__activeWidgetResponse[0]->widgetId; return; } /* --End-- Get Active Widget */ /* --Start-- Manage Active Widget User */ function __tagembed__manageActiveWidget($widgetId) { global $wpdb; $return = ''; $activeWidgetUserId = __tagembed__activeWidget(); if ($activeWidgetUserId == $widgetId) return true; if (empty($activeWidgetUserId)): $wpdb->insert('wp_tagembed_active_widget', ["widgetId" => $widgetId]); return true; else: $wpdb->update('wp_tagembed_active_widget', ["widgetId" => $widgetId], ['id' => 1]); return true; endif; return false; } /* --End-- Manage Active Widget User */ /* --Start-- Get Active Widget User */ function __tagembed__activeWidgetUser() { global $wpdb; $__tagembed__activeWidgetUserResponse = ""; $__tagembed__activeWidgetUserResponse = $wpdb->get_results("SELECT * FROM wp_tagembed_active_widget_user"); if (!empty($__tagembed__activeWidgetUserResponse)) return $__tagembed__activeWidgetUserResponse[0]->userId; return; } /* --End-- Get Active Widget User */ /* --Start-- Manage Active Widget User */ function __tagembed__manageActiveWidgetsUser($userId) { global $wpdb; $return = ''; $activeWidgetUserId = __tagembed__activeWidgetUser(); if ($activeWidgetUserId == $userId) return true; if (empty($activeWidgetUserId)): $wpdb->insert('wp_tagembed_active_widget_user', ["userId" => $userId]); return true; else: $wpdb->update('wp_tagembed_active_widget_user', ["userId" => $userId], ['id' => 1]); return true; endif; return false; } /* --End-- Manage Active Widget User */ /* * ** DATABASE *** */ /* --Start-- Manage Database */ function __tagembed__createDatabaseTableForPlugin() { global $wpdb; require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); $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"); $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"); $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"); $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"); $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"); $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"); /* Manage Tagembed Plugin Menus */ $__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']]; foreach ($__tagembed__menus as $__tagembed__menu) $wpdb->insert('wp_tagembed_menus', ["name" => $__tagembed__menu['name'], "status" => $__tagembed__menu['status'], "path" => $__tagembed__menu['path']]); } function __tagembed__dropDatabaseTablesForPlugin() { global $wpdb; $wpdb->query("DROP table IF EXISTS wp_tagembed_user"); $wpdb->query("DROP table IF EXISTS wp_tagembed_collaborator"); $wpdb->query("DROP table IF EXISTS wp_tagembed_active_widget_user"); $wpdb->query("DROP table IF EXISTS wp_tagembed_active_widget"); $wpdb->query("DROP table IF EXISTS wp_tagembed_menus"); } /* --End-- Manage Database */ /* --Start-- Manage Active Deactive And Uninstall Webhook */ register_activation_hook(__FILE__, '__tagembed__pluginActivate'); function __tagembed__pluginActivate() { __tagembed__createDatabaseTableForPlugin(); __tagembed__manageLoginAndRegisterOnPluginActivate(); add_action('activated_plugin', '__tagembed__plginActivationRedirect'); } register_uninstall_hook(__FILE__, '__tagembed__pluginUnistall'); function __tagembed__pluginUnistall() { __tagembed__dropDatabaseTablesForPlugin(); global $wpdb; $wpdb->query("DROP table IF EXISTS wp_tagembed_active_options"); /* Delete When Plugin Uninstall */ } /* register_deactivation_hook(__FILE__, '__tagembed__pluginDeactivate'); function __tagembed__pluginDeactivate() { __tagembed__dropDatabaseTablesForPlugin(); } */ /* --End-- Manage Active Deactive And Uninstall Webhook */ /* --Start--Manage Redirect After Plugin Activate */ function __tagembed__plginActivationRedirect() { exit(wp_redirect(TAGEMBED_PLUGIN_CALL_BACK_URL)); } /* --End--Manage Redirect After Plugin Activate */ /* --Start--Manage Setting Link */ function __tagembed__settingsLink($links) { array_unshift($links, 'Settings'); return $links; } add_filter("plugin_action_links_" . plugin_basename(__FILE__), '__tagembed__settingsLink'); /* --End--Manage Setting Link */ /* --Start--Manage Database On Plugin Update Time */ function __tagembed__manageDatabaseOnPluginUpdateTime() { __tagembed__dropDatabaseTablesForPlugin(); __tagembed__createDatabaseTableForPlugin(); } add_action('upgrader_process_complete', '__tagembed__manageDatabaseOnPluginUpdateTime', 10, 2); /* --End--Manage Database On Plugin Update Time */ /* --Sart--Manage Chat Hide And Show */ function __tagembed__chat() { $returnData = false; TRY { $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/chat', ['pluginName' => 'wordpress'], ['Authorization: __tagembed__']); if (isset($response->head->status)): if ($response->head->status): $response = __tagembed__manageApiResponse($response); if (!empty($response->chat) && is_array($response->chat)): foreach ($response->chat as $chat): if ($chat->location == "all"): $returnData = "all"; elseif ($chat->location == "inner"): $returnData = "inner"; endif; endforeach; endif; endif; endif; } CATCH (Exception $e) { } return $returnData; } /* --End--Manage Chat Hide And Show */ /* --Start-- Manage Hide And Show Admin Notificationa */ function __tagembed__generalAdminNotice() { $__tagmebed__page_name = ""; if (!empty($_GET['page'])): $__tagmebed__page_name = __tagembed__sanitizeRequestData($_GET); $__tagmebed__page_name = $__tagmebed__page_name['page']; endif; TRY { $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/notification', ['callBy' => 'wordpress'], ['Authorization: __tagembed__']); if (!is_wp_error($response)): if (isset($response->head->status)): $response = __tagembed__manageApiResponse($response); if (!empty($response->notifications) && is_array($response->notifications)): $htmlData = ""; foreach ($response->notifications as $notifications): if ($notifications->location == "tagembed" || $notifications->location == "inner"): if ($__tagmebed__page_name != "tagembed") continue; $htmlData .= '
' . $notifications->message . '
'; $htmlData .= '' . $notifications->message . '
'; $htmlData .= '