query(sprintf("SELECT pages.*, picture_photo.source as page_picture_full, cover_photo.source as page_cover_full, pages_categories.category_name as page_category_name FROM pages LEFT JOIN posts_photos as picture_photo ON pages.page_picture_id = picture_photo.photo_id LEFT JOIN posts_photos as cover_photo ON pages.page_cover_id = cover_photo.photo_id LEFT JOIN pages_categories ON pages.page_category = pages_categories.category_id WHERE pages.page_name = %s", secure($_GET['username']))); if ($get_page->num_rows == 0) { _error(404); } $spage = $get_page->fetch_assoc(); /* check username case */ if (strtolower($_GET['username']) == strtolower($spage['page_name']) && $_GET['username'] != $spage['page_name']) { redirect('/pages/' . $spage['page_name']); } /* get page picture */ $spage['page_picture_default'] = ($spage['page_picture']) ? false : true; $spage['page_picture'] = get_picture($spage['page_picture'], 'page'); $spage['page_picture_full'] = ($spage['page_picture_full']) ? $system['system_uploads'] . '/' . $spage['page_picture_full'] : $spage['page_picture_full']; /* get page cover */ $spage['page_cover'] = ($spage['page_cover']) ? $system['system_uploads'] . '/' . $spage['page_cover'] : $spage['page_cover']; $spage['page_cover_full'] = ($spage['page_cover_full']) ? $system['system_uploads'] . '/' . $spage['page_cover_full'] : $spage['page_cover_full']; /* check page category */ $spage['page_category_name'] = (!$spage['page_category_name']) ? __('N/A') : $spage['page_category_name']; /* in case deleted by admin */ /* get the connection */ $spage['i_admin'] = $user->check_page_adminship($user->_data['user_id'], $spage['page_id']); $spage['i_like'] = $user->check_page_membership($user->_data['user_id'], $spage['page_id']); /* get page posts count */ $spage['posts_count'] = $user->get_posts_count($spage['page_id'], 'page'); /* get page photos count */ $spage['photos_count'] = $user->get_photos_count($spage['page_id'], 'page'); /* get page videos count */ if ($system['videos_enabled']) { $spage['videos_count'] = $user->get_videos_count($spage['page_id'], 'page'); } /* get page reviews count */ if ($system['pages_reviews_enabled']) { $spage['reviews_count'] = $user->get_reviews_count($spage['page_id']); } /* get page events */ if ($system['events_enabled'] && $system['pages_events_enabled']) { $spage['events'] = $user->get_events(['page_id' => $spage['page_id'], 'results' => $system['min_results']]); } /* check if can sell products */ $spage['can_sell_products'] = $system['market_enabled'] && $user->check_user_permission($spage['page_admin'], 'market_permission'); /* check if can receivce tips */ $spage['can_receive_tips'] = $system['tips_enabled'] && $user->check_user_permission($spage['page_admin'], 'tips_permission'); /* check if page's admin can monetize content */ $spage['can_monetize_content'] = $system['monetization_enabled'] && $user->check_user_permission($spage['page_admin'], 'monetization_permission'); /* check if page has monetization enabled && subscriptions plans */ $spage['has_subscriptions_plans'] = $spage['can_monetize_content'] && $spage['page_monetization_enabled'] && $spage['page_monetization_plans'] > 0; /* check if the page needs subscription (exclude: admins & mods & page's admin) */ $spage['needs_subscription'] = false; if ($spage['has_subscriptions_plans']) { if ($user->_logged_in) { if ($user->_data['user_group'] == 3 && !$spage['i_admin']) { if (!$user->is_subscribed($spage['page_id'], 'page')) { $spage['needs_subscription'] = true; } } } else { $spage['needs_subscription'] = true; } } // [2] get view content switch ($_GET['view']) { case '': /* get custom fields */ $smarty->assign('custom_fields', $user->get_custom_fields(["for" => "page", "get" => "profile", "node_id" => $spage['page_id']])); /* get photos */ if (!$spage['needs_subscription']) { $spage['photos'] = $user->get_photos($spage['page_id'], 'page'); } /* get subscribers */ if ($spage['has_subscriptions_plans']) { /* get subscribers count */ $spage['subscribers_count'] = $user->get_subscribers_count($spage['page_id'], 'page'); /* get subscribers */ if ($spage['subscribers_count'] > 0) { $spage['subscribers'] = $user->get_subscribers($spage['page_id'], 'page'); } } /* get invites */ $spage['invites'] = $user->get_page_invites($spage['page_id']); /* get pinned post */ $pinned_post = $user->get_post($spage['page_pinned_post'], true, false, true); $smarty->assign('pinned_post', $pinned_post); /* prepare publisher */ $smarty->assign('feelings', get_feelings()); $smarty->assign('feelings_types', get_feelings_types()); if ($system['colored_posts_enabled']) { $smarty->assign('colored_patterns', $user->get_posts_colored_patterns()); } if ($user->_data['can_upload_videos']) { $smarty->assign('videos_categories', $user->get_categories("posts_videos_categories")); } /* check if there is share URL */ if ($_GET['url']) { $smarty->assign('url', $_GET['url']); } /* get posts */ $posts = $user->get_posts(['get' => 'posts_page', 'id' => $spage['page_id']]); /* assign variables */ $smarty->assign('posts', $posts); /* get ads */ $smarty->assign('ads', $user->ads('pages', $spage['page_id'])); break; case 'photos': /* get content */ if (!$spage['needs_subscription']) { /* get photos */ $spage['photos'] = $user->get_photos($spage['page_id'], 'page'); } break; case 'albums': /* get content */ if (!$spage['needs_subscription']) { /* get albums */ $spage['albums'] = $user->get_albums($spage['page_id'], 'page'); } break; case 'album': /* get content */ if (!$spage['needs_subscription']) { /* get album */ $album = $user->get_album($_GET['id']); if (!$album || $album['in_group'] || $album['user_type'] == "user" || ($album['user_type'] == "page" && $album['page_id'] != $spage['page_id'])) { _error(404); } /* assign variables */ $smarty->assign('album', $album); } break; case 'videos': /* check if videos enabled */ if (!$system['videos_enabled']) { _error(404); } /* get content */ if (!$spage['needs_subscription']) { /* get videos */ $spage['videos'] = $user->get_videos($spage['page_id'], 'page'); } break; case 'reels': /* check if reels enabled */ if (!$system['reels_enabled']) { _error(404); } /* get content */ if (!$spage['needs_subscription']) { /* get reels */ $spage['reels'] = $user->get_reels($spage['page_id'], 'page'); } break; case 'products': /* get content */ if (!$spage['needs_subscription']) { /* get posts (products) */ $posts = $user->get_posts(['get' => 'posts_page', 'id' => $spage['page_id'], 'filter' => 'product']); /* assign variables */ $smarty->assign('posts', $posts); } break; case 'reviews': /* check if reviews enabled */ if (!$system['pages_reviews_enabled']) { _error(404); } /* get reviews */ if ($spage['reviews_count'] > 0) { $spage['reviews'] = $user->get_reviews($spage['page_id']); } break; case 'events': /* check if pages events enabled */ if (!$system['events_enabled'] && $system['pages_events_enabled']) { _error(404); } /* get content */ $spage['events'] = $user->get_events(['page_id' => $spage['page_id'], 'results' => $system['max_results_even']]); break; case 'activities': /* check if pages activities enabled */ if (!$system['pages_activities_enabled'] && !$spage['page_activities_enabled']) { _error(404); } /* get user activities permission */ $spage['activities_permission'] = false; if ($spage['i_admin']) { $spage['activities_permission'] = 'editor'; } else { $spage['activities_permission'] = $user->get_page_activities_user_permission($spage['page_id']); } /* get content */ if ($spage['activities_permission']) { $spage['activities'] = $user->get_page_activities($spage['page_id']); } else { /* check viewer request status */ $case = "request"; $get_last_request = $db->query(sprintf("SELECT * FROM activities_permisions_requests WHERE user_id = %s AND page_id = %s ORDER BY request_id DESC LIMIT 1", secure($user->_data['user_id'], 'int'), secure($spage['page_id'], 'int'))); if ($get_last_request->num_rows > 0) { $last_request = $get_last_request->fetch_assoc(); if ($last_request['status'] == '1') { $case = "request"; /* delete all requests */ $db->query(sprintf("DELETE FROM activities_permisions_requests WHERE user_id = %s AND page_id = %s", secure($user->_data['user_id'], 'int'), secure($spage['page_id'], 'int'))); } elseif ($last_request['status'] == '0') { $case = "pending"; } else { $case = "declined"; } } /* assign variables */ $smarty->assign('case', $case); } break; case 'subscribers': /* check if has subscriptions plans */ if (!$spage['has_subscriptions_plans']) { _error(404); } /* get subscribers count */ $spage['subscribers_count'] = $user->get_subscribers_count($spage['page_id'], 'page'); /* get subscribers */ if ($spage['subscribers_count'] > 0) { $spage['subscribers'] = $user->get_subscribers($spage['page_id'], 'page'); } break; case 'invites': /* check if the viewer is a page member */ if (!$spage['i_like']) { _error(404); } /* get invites */ $spage['invites'] = $user->get_page_invites($spage['page_id']); break; case 'search': /* get search */ if (isset($_GET['query'])) { $filter = (isset($_GET['filter'])) ? $_GET['filter'] : 'all'; $posts = $user->get_posts(['get' => 'posts_page', 'id' => $spage['page_id'], 'query' => $_GET['query'], 'filter' => $filter]); /* assign variables */ $smarty->assign('query', htmlentities($_GET['query'], ENT_QUOTES, 'utf-8')); $smarty->assign('filter', $filter); $smarty->assign('posts', $posts); } break; case 'settings': /* check if the viewer is the admin */ if (!$spage['i_admin']) { _error(404); } /* get sub_view content */ $sub_view = $_GET['id']; switch ($sub_view) { case '': /* get pages categories */ $smarty->assign('categories', $user->get_categories("pages_categories")); break; case 'info': /* get countries if not defined */ if (!$countries) { $smarty->assign('countries', $user->get_countries()); } /* get custom fields */ $smarty->assign('custom_fields', $user->get_custom_fields(["for" => "page", "get" => "settings", "node_id" => $spage['page_id']])); break; case 'admins': /* get admins */ $spage['page_admins_count'] = count($user->get_page_admins_ids($spage['page_id'])); $spage['page_admins'] = $user->get_page_admins($spage['page_id']); /* get members */ if ($spage['page_likes'] > 0) { $spage['members'] = $user->get_page_members($spage['page_id']); } break; case 'activities': /* get activities users */ $spage['page_activities_users'] = $user->get_page_activities_users($spage['page_id']); $spage['page_activities_permission_requests'] = $user->get_page_activities_permisions_requests($spage['page_id']); break; case 'monetization': /* check monetization permission (only page's super admin can do this) */ if (!$user->_data['can_monetize_content']) { _error(404); } /* get monetozaion plans */ $smarty->assign('monetization_plans', $user->get_monetization_plans($spage['page_id'], 'page')); /* get subscribers count */ $smarty->assign('subscribers_count', $user->get_subscribers_count($spage['page_id'], 'page')); break; case 'verification': if (!$system['verification_requests']) { _error(404); } /* verification */ if ($spage['page_verified']) { $case = "verified"; $user->delete_all_verification_requests($spage['page_id'], 'page'); } else { /* check last verification request */ $get_last_request = $db->query(sprintf("SELECT * FROM verification_requests WHERE node_id = %s AND node_type = 'page' ORDER BY request_id DESC LIMIT 1", secure($spage['page_id'], 'int'))); if ($get_last_request->num_rows > 0) { $last_request = $get_last_request->fetch_assoc(); if ($last_request['status'] == '1') { $case = "request"; $user->delete_all_verification_requests($spage['page_id'], 'page'); } elseif ($last_request['status'] == '0') { $case = "pending"; } else { $case = "declined"; } } else { $case = "request"; } } /* assign variables */ $smarty->assign('case', $case); break; case 'delete': /* check if the viewer not the super admin */ if ($user->_data['user_id'] != $spage['page_admin']) { _error(404); } break; default: _error(404); break; } /* assign variables */ $smarty->assign('sub_view', $sub_view); break; default: _error(404); break; } // recent rearches if (isset($_GET['ref']) && $_GET['ref'] == "qs") { $user->set_search_log($spage['page_id'], 'page'); } } catch (Exception $e) { _error(__("Error"), $e->getMessage()); } // page header page_header($spage['page_title'], $spage['page_description'], $spage['page_picture']); // assign variables $smarty->assign('spage', $spage); $smarty->assign('view', $_GET['view']); // page footer page_footer('page');