$__tagembed__ajax_call_security_nones]); wp_enqueue_script('__tagembed__tagembedDialogFormJs', TAGEMBED_PLUGIN_URL . '/assets/js/dialog.form.js', ["jquery"], TAGEMBED_PLUGIN_VERSION, true); /* --Start-- Gutenberge */ if (!function_exists("register_block_type")): return; else: wp_register_script("__editor-js", TAGEMBED_PLUGIN_URL . '/assets/js/editor/editor.js', ["wp-block-editor", "wp-blocks", "wp-element", "wp-components", "wp-i18n", "wp-data", "wp-compose"], TAGEMBED_PLUGIN_VERSION); register_block_type("tagembed-block/tagembed", ["editor_script" => "__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(); ?> Tagembed Icon isLogin) && __tagembed__user()->isLogin == 'yes'): /* Remove This */ /* $__tagembed__menus = __tagembed__menus(['__tagembed__menu_condation' => 'STATUS = 1']); */ $__tagembed__menus = __tagembed__menus(['__tagembed__menu_condation' => 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-- Manage Ajax call Request Security */ $__tagembed__ajaxCallSecurityNones = isset($data->__tagembed__ajax_call_nones) ? sanitize_text_field($data->__tagembed__ajax_call_nones) : ''; if (!wp_verify_nonce($__tagembed__ajaxCallSecurityNones, "__tagembed__ajax_call_security_nones")) return __tagembed__exitWithDanger(); /* --End-- Manage Ajax call Request Security */ /* --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), 'inheritStyles' => 1]; __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); $param['inheritStyles'] = 1; /* --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__search_facebook_page": if (empty($data->facebookPageData)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['facebookPageData'] = $data->facebookPageData; $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ /* --Start-- Call And Manage Api Call */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/searchfacebookpage', $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_slack_channel_list": if (empty($data->connectedAccountsId)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['connectedAccountsId'] = $data->connectedAccountsId; $param['userId'] = sanitize_key($__tagembed__user_details->userId); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apifeed/getslackchannellist', $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 8: switch ($__tagembed__feed_filter_id): case 1: case 2: $__tagembed__feed_input_data['auth'] = 1; 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 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"]); break; 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 20: $__tagembed__feed_input_data['auth'] = 1; $slackData = isset($data->slackChannelList) ? $data->slackChannelList : ""; if (!empty($slackData)): $slackData = explode('#', $slackData); $__tagembed__feed_input_data['name'] = $slackData[1]; $__tagembed__feed_input_data['feed'] = $slackData[0]; endif; 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; case 34: 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'] = explode('/', $data->feed)[3]; $__tagembed__feed_input_data['feed'] = $data->feed; break; case 35: 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'] = explode('Reviews-', $data->feed)[1]; $__tagembed__feed_input_data['name'] = explode('.html', $__tagembed__feed_input_data['name'])[0]; $__tagembed__feed_input_data['feed'] = $data->feed; break; case 37: $data->feed = explode('.html', $data->feed)[0]; 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->feed; $__tagembed__feed_input_data['feed'] = explode('item/', $data->feed)[1]; break; endswitch; unset($data); /* --Start-- Manage Api Calling */ $byApiCall = 0; if (empty($__tagembed__feed_input_data['authId'])): switch ($__tagembed__feed_input_data['networkId']): case 4: if ($__tagembed__feed_filter_id == 33): $byApiCall = 1; $__tagembed__feed_input_data['byApiCall'] = 1; endif; break; case 5: case 7: case 6: case 10: case 11: case 12: case 19: case 23: case 28: case 29: case 33: case 34: case 35: case 37: $byApiCall = 1; $__tagembed__feed_input_data['byApiCall'] = 1; break; case 31: if ($__tagembed__feed_filter_id == 2): $byApiCall = 1; $__tagembed__feed_input_data['byApiCall'] = 1; endif; break; case 32: if (in_array($__tagembed__feed_filter_id, [2, 75])): $byApiCall = 1; $__tagembed__feed_input_data['byApiCall'] = 1; endif; break; endswitch; else: $byApiCall = 1; $__tagembed__feed_input_data['byApiCall'] = 1; endif; $__tagembed__feed_input_data['appUser'] = 1; /* --End-- Manage Api Calling */ $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(["byapiCall" => $byApiCall, "__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->planId) || empty($data->priceCode)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['planId'] = sanitize_key($data->planId); $param['priceCode'] = $data->priceCode; /* --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->planId)) return __tagembed__exitWithDanger(); /* --Start-- Manage Param Data */ $param['planId'] = sanitize_key($data->planId); /* --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__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['inheritStyles'] = sanitize_key($data->inheritStyles); $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; case "__tagembed__get_and_manage_intercom_chat_setting": 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/getIntercomSettingData', $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 (empty($__tagembed__activeUserData->roles) || $__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['emailId'] = sanitize_email($__tagembed__activeUserEmail); /* --End-- Manage Param Data */ $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/checkUserExistOrNotAndGetData', $param); $response = __tagembed__manageApiResponse($response); unset($param); if (!empty($response->userId)) __tagembed__login($response); /* After Register Manage User Login Process */ 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->query($wpdb->prepare("INSERT INTO wp_tagembed_user (userId, name, email, accessToken, isLogin) VALUES (%d, %s, %s, %s, %s)", $response->userId, $response->name, $response->emailId, $response->accessToken, 'yes'))): $return = true; endif; else: if ($wpdb->query($wpdb->prepare("UPDATE wp_tagembed_user SET userId = %d, name = %s, email = %s, accessToken = %s, isLogin = %s WHERE email = %s", $response->userId, $response->name, $response->emailId, $response->accessToken, 'yes', $response->emailId))): $return = true; endif; endif; __tagembed__manageActiveOptions($response->emailId, "yes"); /* Manage Active Options */ if ($return): __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->query($wpdb->prepare("UPDATE wp_tagembed_active_options SET isLogin = %s WHERE id = %d", $other, 1)); else: $__tagembed__activeOptions = $wpdb->get_results($wpdb->prepare("SELECT email FROM wp_tagembed_active_options WHERE id = %d", 1)); if (empty($__tagembed__activeOptions[0]->email)): $wpdb->query($wpdb->prepare("INSERT INTO wp_tagembed_active_options (email, isLogin) VALUES (%s, %s)", $email, $other)); else: $wpdb->query($wpdb->prepare("UPDATE wp_tagembed_active_options SET email = %s, isLogin = %s WHERE id = %d", $email, $other, 1)); endif; endif; } /* --End-- Manage Active Options */ /* --Start--Get User Last Login Email Id */ function __tagembed__getActiveOptions() { global $wpdb; $__tagembed__activeOptions = $wpdb->get_results($wpdb->prepare("SELECT email, isLogin FROM wp_tagembed_active_options WHERE id = %d", 1)); return $__tagembed__activeOptions; } /* --End--Get User last Login Email Id */ /* --Start-- Logout */ function tagembed_logout() { global $wpdb; if ($wpdb->query($wpdb->prepare("UPDATE wp_tagembed_user SET isLogin = %s WHERE isLogin = %s", "no", "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($wpdb->prepare("SELECT * FROM wp_tagembed_menus WHERE status = %s", $__tagembed__menu_condatation['__tagembed__menu_condation'])); if (array_key_exists('__tagembed__menu_id', $__tagembed__menu_condatation)): if ($wpdb->query($wpdb->prepare("UPDATE wp_tagembed_menus SET status = %d WHERE status = %d", 0, 1)) && $wpdb->query($wpdb->prepare("UPDATE wp_tagembed_menus SET status = %d WHERE id = %d", 1, $__tagembed__menu_condatation['__tagembed__menu_id']))) 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($wpdb->prepare("SELECT * FROM wp_tagembed_user WHERE isLogin = %s", 'yes')); else: $__tagembed__userResponse = $wpdb->get_results($wpdb->prepare("SELECT * FROM wp_tagembed_user WHERE email = %s", $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 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->query($wpdb->prepare("INSERT INTO wp_tagembed_active_widget (widgetId) VALUES (%s)", $widgetId)); return true; else: $wpdb->query($wpdb->prepare("UPDATE wp_tagembed_active_widget SET widgetId = %s WHERE id = %d", $widgetId, 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; endif; 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->query($wpdb->prepare("INSERT INTO wp_tagembed_active_widget_user (userId) VALUES (%d)", $userId)); return true; else: $wpdb->query($wpdb->prepare("UPDATE wp_tagembed_active_widget_user SET userId = %d WHERE id = %d", $userId, 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_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"); /* --Start-- Manage Tagembed Plugin Menus */ $__tagembed__checkAlreadyExistMenusDataExistOrNot = $wpdb->get_results("SELECT id FROM wp_tagembed_menus"); if (empty($__tagembed__checkAlreadyExistMenusDataExistOrNot)): $__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->query($wpdb->prepare("INSERT INTO wp_tagembed_menus (name, status, path) VALUES (%s, %s, %s)", $__tagembed__menu['name'], $__tagembed__menu['status'], $__tagembed__menu['path'])); endforeach; endif; /* --End-- Manage Tagembed Plugin Menus */ } function __tagembed__dropDatabaseTablesForPlugin() { global $wpdb; $wpdb->query("DROP table IF EXISTS wp_tagembed_user"); $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() { $__tagembed__activeUserData = wp_get_current_user(); if (empty($__tagembed__activeUserData->roles)) return false; 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(); __tagembed__manageLoginAndRegisterOnPluginActivate(); } add_action('upgrader_process_complete', '__tagembed__manageDatabaseOnPluginUpdateTime', 10, 2); /* --End--Manage Database On Plugin Update Time */ /* --Sart--Get And Manage Social Accout Id */ function __tagembed__get_user_social_account_id() { $__tagembed__user_details = __tagembed__user(); $param['userId'] = $__tagembed__user_details->userId; $response = __tagembed__wpApiCall(TAGEMBED_PLUGIN_API_URL . 'apiaccount/getsocialaccountid', $param, ['Authorization:' . $__tagembed__user_details->accessToken]); if (isset($response->head->status)): if ($response->head->status): $response = __tagembed__manageApiResponse($response); if (!empty($response->userId)): return $response->userId; endif; endif; endif; return false; } /* --End--Manage Chat Hide And Show */ /* --Start-- Show Admin General Notification After Login And Register */ 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 .= '
'; $htmlData .= '

' . $notifications->message . '

'; $htmlData .= '
'; elseif ($notifications->location == "all"): $htmlData .= '
'; $htmlData .= '

' . $notifications->message . '

'; $htmlData .= '
'; endif; endforeach; echo $htmlData; endif; endif; endif; } CATCH (Exception $e) { } } add_action('in_admin_header', '__tagembed__hideGeneralAdminNotice'); function __tagembed__hideGeneralAdminNotice() { $__tagmebed__page_name = ""; if (!empty($_GET['page'])): $__tagmebed__page_name = __tagembed__sanitizeRequestData($_GET); $__tagmebed__page_name = $__tagmebed__page_name['page']; endif; if ($__tagmebed__page_name == "tagembed"): remove_all_actions('admin_notices'); remove_all_actions('all_admin_notices'); endif; if (!empty(__tagembed__user())): add_action('admin_notices', '__tagembed__generalAdminNotice'); endif; } /* --End-- Show Admin General Notification After Login And Register */ /* --End-- Drop Database Table */ /* --Start-- Create Short Code */ function __tagembed__PluginShortCode($attr) { extract(shortcode_atts(['width' => '', 'height' => '',], $attr, 'tagembed')); $widgetId = (isset($attr[1]) ? $attr[1] : ''); if (!empty($widgetId) && is_numeric($widgetId) && (($width === '' || preg_match('/^\d+(px|%|)$/', $width)) && ($height === '' || preg_match('/^\d+(px|%|)$/', $height)))): $output = ''; $output .= '
'; $output .= '
'; $output .= '
'; else: $output = 'Invalid Parameters Provided In The Tagembed Shortcode.'; endif; return $output; } add_shortcode("tagembed", "__tagembed__PluginShortCode"); /* --End-- Create Short Code */