public function InstapageCmsPluginWPConnector::legacyGetPage in Instapage plugin 7.3
Same name and namespace in other branches
- 8.3 core/connectors/InstapageCmsPluginWPConnector.php \InstapageCmsPluginWPConnector::legacyGetPage()
Pulls the data from legacy DB structure.
Parameters
string $slug Slug of a page, that we want to pull.:
Return value
object Landing page object.
1 call to InstapageCmsPluginWPConnector::legacyGetPage()
- InstapageCmsPluginWPConnector::checkPage in core/
connectors/ InstapageCmsPluginWPConnector.php - Checks (and displays) if a landing page should be displayed instead of normal content served by CMS.
File
- core/
connectors/ InstapageCmsPluginWPConnector.php, line 872
Class
- InstapageCmsPluginWPConnector
- Class that utilizes native WordPress functions to perform actions like remote requests and DB operations.
Code
public function legacyGetPage($slug) {
global $wpdb;
$result = new stdClass();
$result->slug = $slug;
$result->enterprise_url = $slug ? InstapageCmsPluginConnector::getHomeURL() . '/' . $slug : InstapageCmsPluginConnector::getHomeURL();
$sql = "SELECT {$wpdb->posts}.ID, {$wpdb->postmeta}.meta_key, {$wpdb->postmeta}.meta_value FROM {$wpdb->posts} INNER JOIN {$wpdb->postmeta} ON ({$wpdb->posts}.ID = {$wpdb->postmeta}.post_id) WHERE ({$wpdb->posts}.post_type = %s) AND ({$wpdb->posts}.post_status = 'publish') AND ({$wpdb->postmeta}.meta_key IN ('instapage_my_selected_page', 'instapage_name', 'instapage_my_selected_page', 'instapage_slug'))";
$rows = $wpdb
->get_results($wpdb
->prepare($sql, 'instapage_post'));
$posts = array();
foreach ($rows as $row) {
if (!array_key_exists($row->ID, $posts)) {
$posts[$row->ID] = array();
}
$posts[$row->ID][$row->meta_key] = $row->meta_value;
}
foreach ($posts as $post) {
if (isset($post['instapage_slug']) && $post['instapage_slug'] == $slug) {
$result->instapage_id = isset($post['instapage_my_selected_page']) ? $post['instapage_my_selected_page'] : 0;
return $result;
}
}
$result->instapage_id = 0;
return $result;
}