/** * Output Advertisement. * * @static * @param object $oData Db query. * @return string */ public static function output($oData) { // Stat Advertisement Shows \PH7\Framework\Analytics\Statistic::setView($oData->adsId, 'Ads'); // Advertisement Clicks $oHttpRequest = new Mvc\Request\Http(); if ($oHttpRequest->getExists(static::PARAM_URL) && $oHttpRequest->get(static::PARAM_URL) == $oData->adsId) { Mvc\Model\Ads::setClick($oData->adsId); } unset($oHttpRequest); return (new \PH7\Framework\Parse\SysVar())->parse($oData->code); }
public function read($sPostId) { if (!empty($sPostId)) { $oPost = $this->oBlogModel->readPost($sPostId); if (!empty($oPost->postId) && $this->str->equals($sPostId, $oPost->postId)) { $aVars = ['page_title' => $oPost->pageTitle, 'meta_description' => $oPost->metaDescription, 'meta_keywords' => $oPost->metaKeywords, 'slogan' => $oPost->slogan, 'meta_author' => $oPost->metaAuthor, 'meta_robots' => $oPost->metaRobots, 'meta_copyright' => $oPost->metaCopyright, 'post_id' => $oPost->postId, 'blog_id' => $oPost->blogId, 'h1_title' => $oPost->title, 'content' => Emoticon::init($oPost->content), 'categories' => $this->oBlogModel->getCategory($oPost->blogId, 0, 300), 'enable_comment' => $oPost->enableComment, 'created_date' => $this->dateTime->get($oPost->createdDate)->dateTime(), 'updated_date' => $this->dateTime->get($oPost->updatedDate)->dateTime()]; $this->view->assigns($aVars); // Set Blogs Post Views Statistics Framework\Analytics\Statistic::setView($oPost->blogId, 'Blogs'); } else { $this->sTitle = t('No Blog Found'); $this->notFound(); } } else { Framework\Url\Header::redirect(Framework\Mvc\Router\Uri::get('blog', 'main', 'index')); } $this->output(); }
public function read($sUsername, $sPostId) { if (isset($sUsername, $sPostId)) { $iProfileId = (new UserCoreModel())->getId(null, $sUsername); $oPost = $this->oNoteModel->readPost($sPostId, $iProfileId, $this->iApproved); if (!empty($oPost->postId) && $this->str->equals($sPostId, $oPost->postId)) { $aVars = ['page_title' => Ban::filterWord($oPost->pageTitle, false), 'meta_description' => Ban::filterWord($oPost->metaDescription, false), 'meta_keywords' => Ban::filterWord($oPost->metaKeywords, false), 'slogan' => Ban::filterWord($oPost->slogan, false), 'meta_author' => Ban::filterWord($oPost->metaAuthor, false), 'meta_robots' => Ban::filterWord($oPost->metaRobots, false), 'meta_copyright' => Ban::filterWord($oPost->metaCopyright, false), 'h1_title' => Ban::filterWord($oPost->title), 'categories' => $this->oNoteModel->getCategory($oPost->noteId, 0, 300), 'dateTime' => $this->dateTime, 'post' => $oPost]; $this->view->assigns($aVars); // Set Notes Post Views Statistics Framework\Analytics\Statistic::setView($oPost->noteId, 'Notes'); } else { $this->sTitle = t('Note Not Found'); $this->notFound(); } } else { Header::redirect(Uri::get('note', 'main', 'index')); } $this->output(); }
public function game() { $oGame = $this->oGameModel->get(strstr($this->httpRequest->get('title'), '-', true), $this->httpRequest->get('id'), 0, 1); if (empty($oGame)) { $this->sTitle = t('No Games Found!'); $this->_notFound(); } else { $this->sTitle = t('Game - %0%', substr($oGame->description, 0, 100)); $this->view->page_title = t('%0% Games Zone - %1%', $oGame->name, $oGame->title); $this->view->h1_title = $oGame->title; $this->view->meta_description = t('Flash Game - %0%', $this->sTitle); $this->view->meta_keywords = $oGame->keywords . $this->sMetaKeywords; $this->view->h2_title = $this->sTitle; $this->view->downloads = $this->oGameModel->getDownloadStat($oGame->gameId); $this->view->game = $oGame; //Set Game Statistics Framework\Analytics\Statistic::setView($oGame->gameId, 'Games'); } $this->output(); }
public function post() { $oPost = $this->oForumModel->getTopic(strstr($this->httpRequest->get('forum_name'), '-', true), $this->httpRequest->get('forum_id', 'int'), strstr($this->httpRequest->get('topic_name'), '-', true), $this->httpRequest->get('topic_id', 'int'), null, 1, 0, 1); $this->view->total_pages = $this->oPage->getTotalPages($this->oForumModel->totalMessages($this->httpRequest->get('topic_id', 'int')), 10); $this->view->current_page = $this->oPage->getCurrentPage(); $oMessages = $this->oForumModel->getMessage($this->httpRequest->get('topic_id', 'int'), null, null, 1, $this->oPage->getFirstItem(), $this->oPage->getNbItemsByPage()); if (empty($oPost)) { $this->sTitle = t('Topic Not Found!'); $this->_notFound(); } else { // Adding the RSS link $this->view->header = '<link rel="alternate" type="application/rss+xml" title="' . t('Latest Forum Posts') . '" href="' . Uri::get('xml', 'rss', 'xmlrouter', 'forum-post,' . $oPost->topicId) . '" />'; $this->sTitle = t('%0% | %1% - Forum', $this->str->upperFirst($this->httpRequest->get('forum_name')), $this->str->escape(Ban::filterWord($oPost->title), true)); $this->view->page_title = $this->sTitle; $this->view->meta_description = t('%0% Topics - Discussions Forums', substr($this->str->escape(Ban::filterWord($oPost->message), true), 0, 150)); // Generates beautiful meta keywords for good SEO $this->view->meta_keywords = t('%0%,%1%,forum,discussion,dating forum,social forum', str_replace(' ', ',', $this->httpRequest->get('forum_name')), substr(str_replace(' ', ',', Ban::filterWord($oPost->title, false)), 0, 250)); $this->view->h1_title = $this->sTitle; $this->view->dateTime = $this->dateTime; $this->view->post = $oPost; $this->view->messages = $oMessages; // Set Topics Views Statistics Framework\Analytics\Statistic::setView($oPost->topicId, 'ForumsTopics'); } $this->output(); }
public function video() { // Adding the JS Video Player file. $this->design->addJs(PH7_LAYOUT . PH7_SYS . PH7_MOD . $this->registry->module . PH7_SH . PH7_TPL . PH7_TPL_MOD_NAME . PH7_SH . PH7_JS, 'Video.js'); $oVideo = $this->oVideoModel->video($this->iProfileId, $this->httpRequest->get('album_id', 'int'), $this->httpRequest->get('video_id', 'int'), 1, 0, 1); if (empty($oVideo)) { $this->sTitle = t('No video found or is still in pending approval.'); $this->_notFound(); } else { $this->sTitle = t('Watch Video of <a href="%0%">%1%</a>', $this->sUsernameLink, $this->str->upperFirst($this->sUsername)); $sTitle = Ban::filterWord($oVideo->title, false); $this->view->page_title = t('Video of %0%, %1%', $oVideo->firstName, $sTitle); $this->view->meta_description = t('Video of %0%, %1%, %2%', $oVideo->firstName, $sTitle, substr(Ban::filterWord($oVideo->description, false), 0, 100)); $this->view->meta_keywords = t('video,movie,videos,video sharing,music,gallery,%0%,%1%,%2%', str_replace(' ', ',', $sTitle), $oVideo->firstName, $oVideo->username); $this->view->h1_title = $this->sTitle; $this->view->video = $oVideo; //Set Video Statistics Framework\Analytics\Statistic::setView($oVideo->videoId, 'Videos'); } $this->output(); }
public function photo() { $oPicture = $this->oPictureModel->photo($this->iProfileId, $this->httpRequest->get('album_id', 'int'), $this->httpRequest->get('picture_id', 'int'), 1, 0, 1); if (empty($oPicture)) { $this->sTitle = t('Photo not found or in pending approval.'); $this->_notFound(); } else { $this->sTitle = t('Photo of <a href="%0%">%1%</a>', $this->sUsernameLink, $this->str->upperFirst($this->sUsername)); $sTitle = Ban::filterWord($oPicture->title, false); $this->view->page_title = t('Photo of %0%, %1%', $oPicture->firstName, $sTitle); $this->view->meta_description = t('Photo of %0%, %1%, %2%', $oPicture->firstName, $sTitle, substr(Ban::filterWord($oPicture->description, false), 0, 100)); $this->view->meta_keywords = t('picture,photo,pictures,photos,album,albums,picture album,photo album,gallery,%0%,%1%,%2%', str_replace(' ', ',', $sTitle), $oPicture->firstName, $oPicture->username); $this->view->h1_title = $this->sTitle; $this->view->picture = $oPicture; //Set Photo Statistics Framework\Analytics\Statistic::setView($oPicture->pictureId, 'Pictures'); } $this->output(); }
public function index() { $oUserModel = new UserModel(); // Add the style sheet for the Tabs Menu $this->design->addCss(PH7_LAYOUT . PH7_TPL . PH7_TPL_NAME . PH7_SH . PH7_CSS, 'tabs.css'); // Add the JavaScript file for the Ajax Friend $this->design->addJs(PH7_LAYOUT . PH7_SYS . PH7_MOD . $this->registry->module . PH7_SH . PH7_TPL . PH7_TPL_MOD_NAME . PH7_SH . PH7_JS, 'friend.js'); // Set the Profile username $this->sUsername = $this->httpRequest->get('username', 'string'); // Set the Profile ID and Visitor ID $this->iProfileId = $oUserModel->getId(null, $this->sUsername); $this->iVisitorId = (int) $this->session->get('member_id'); // Read the Profile information $oUser = $oUserModel->readProfile($this->iProfileId); if (!empty($oUser->username) && $this->str->equalsIgnoreCase($this->sUsername, $oUser->username)) { // The administrators can view all profiles and profile visits are not saved. if (!AdminCore::auth()) { $this->_initPrivacy($oUserModel, $this->iProfileId, $this->iVisitorId); } // Gets the Profile background $this->view->img_background = $oUserModel->getBackground($this->iProfileId, 1); $oFields = $oUserModel->getInfoFields($this->iProfileId); unset($oUserModel); $sFirstName = !empty($oUser->firstName) ? $this->str->escape($this->str->upperFirst($oUser->firstName), true) : ''; $sLastName = !empty($oUser->lastName) ? $this->str->escape($this->str->upperFirst($oUser->lastName), true) : ''; $sMiddleName = !empty($oFields->middleName) ? $this->str->escape($this->str->upperFirst($oFields->middleName), true) : ''; $sCountry = !empty($oFields->country) ? $oFields->country : ''; $sCity = !empty($oFields->city) ? $this->str->escape($this->str->upperFirst($oFields->city), true) : ''; $sState = !empty($oFields->state) ? $this->str->escape($this->str->upperFirst($oFields->state), true) : ''; $sDescription = !empty($oFields->description) ? Emoticon::init(Ban::filterWord($oFields->description)) : ''; // Age $this->view->birth_date = $this->dateTime->get($oUser->birthDate)->date(); $aAge = explode('-', $oUser->birthDate); $iAge = (new Framework\Math\Measure\Year($aAge[0], $aAge[1], $aAge[2]))->get(); // Links of the Menubar $iNbFriend = FriendModel::totalFriends($this->iProfileId); $sNbFriend = $iNbFriend > 0 ? ' (' . $iNbFriend . ')' : ''; $sFriendTxt = $iNbFriend <= 1 ? $iNbFriend == 1 ? t('Friend:') : t('No Friends') : t('Friends:'); if ($this->sUserAuth) { $iNbMutFriend = (new FriendModel())->get($this->iVisitorId, $this->iProfileId, null, true, null, null, null, null); $sNbMutFriend = $iNbMutFriend > 0 ? ' (' . $iNbMutFriend . ')' : ''; $sMutFriendTxt = $iNbMutFriend <= 1 ? $iNbMutFriend == 1 ? t('Mutual Friend:') : t('No Mutual Friends') : t('Mutuals Friends:'); } $sMailLink = $this->sUserAuth ? Uri::get('mail', 'main', 'compose', $this->sUsername) : Uri::get('user', 'signup', 'step1', '?' . Url::httpBuildQuery(array('msg' => t('You need to free register for send a message to %0%.', $sFirstName), 'ref' => 'profile', 'a' => 'mail', 'u' => $this->sUsername, 'f_n' => $sFirstName, 's' => $oUser->sex)), false); $sMessengerLink = $this->sUserAuth ? 'javascript:void(0)" onclick="Messenger.chatWith(\'' . $this->sUsername . '\')' : Uri::get('user', 'signup', 'step1', '?' . Url::httpBuildQuery(array('msg' => t('You need to free register for talk to %0%.', $sFirstName), 'ref' => 'profile', 'a' => 'messenger', 'u' => $this->sUsername, 'f_n' => $sFirstName, 's' => $oUser->sex)), false); $sBefriendLink = $this->sUserAuth ? 'javascript:void(0)" onclick="friend(\'add\',' . $this->iProfileId . ',\'' . (new Framework\Security\CSRF\Token())->generate('friend') . '\')' : Uri::get('user', 'signup', 'step1', '?' . Url::httpBuildQuery(array('msg' => t('Free Sign up for %site_name% to become friend with %0%.', $sFirstName), 'ref' => 'profile', 'a' => 'befriend&', 'u' => $this->sUsername, 'f_n' => $sFirstName, 's' => $oUser->sex)), false); $this->view->page_title = t('Meet %0%, A beautiful %1% looking some %2% - %3% years - %4% - %5% %6%', $sFirstName, t($oUser->sex), t($oUser->matchSex), $iAge, t($sCountry), $sCity, $sState); $this->view->meta_description = t('Meet %0% %1% | %2% - %3%', $sFirstName, $sLastName, $this->sUsername, substr($sDescription, 0, 100)); $this->view->h1_title = t('Meet <span class="pH1">%0%</span> on <span class="pH0">%site_name%</span>', $sFirstName); $this->view->h2_title = t('A <span class="pH1">%0%</span> of <span class="pH3">%1% years</span>, from <span class="pH2">%2%, %3% %4%</span>', t($oUser->sex), $iAge, t($sCountry), $sCity, $sState); $this->view->avatarDesign = new AvatarDesignCore(); // Avatar Design Class // Member Menubar $this->view->friend_link = $sFriendTxt . $sNbFriend; if ($this->sUserAuth) { $this->view->mutual_friend_link = $sMutFriendTxt . $sNbMutFriend; } $this->view->mail_link = $sMailLink; $this->view->messenger_link = $sMessengerLink; $this->view->befriend_link = $sBefriendLink; // Set parameters Google Map $oMap = new Map(); $oMap->setCenter($sCity . ' ' . $sState . ' ' . t($sCountry)); $oMap->setSize('600px', '300px'); $oMap->setDivId('profileMap'); $oMap->setZoom(12); $oMap->addMarkerByAddress($sCity . ' ' . $sState . ' ' . t($sCountry), t('Meet %0% near here!', $this->sUsername)); $oMap->generate(); $this->view->map = $oMap->getMap(); unset($oMap); $this->view->id = $this->iProfileId; $this->view->username = $this->sUsername; $this->view->first_name = $sFirstName; $this->view->last_name = $sLastName; $this->view->middle_name = $sMiddleName; $this->view->sex = $oUser->sex; $this->view->match_sex = $oUser->matchSex; $this->view->match_sex_search = str_replace(array('[code]', ','), '&sex%5B%5D=', '[code]' . $oUser->matchSex); $this->view->age = $iAge; $this->view->country = t($sCountry); $this->view->country_code = $sCountry; $this->view->city = $sCity; $this->view->state = $sState; $this->view->description = nl2br($sDescription); $this->view->join_date = VDate::textTimeStamp($oUser->joinDate); $this->view->last_activity = VDate::textTimeStamp($oUser->lastActivity); $this->view->fields = $oFields; $this->view->is_logged = $this->sUserAuth; $this->view->is_himself_profile = $this->str->equals($this->iVisitorId, $this->iProfileId); // Stat Profile Statistic::setView($this->iProfileId, 'Members'); } else { $this->_notFound(); } $this->output(); }