本文整理汇总了PHP中DiscussHelper::setPageTitle方法的典型用法代码示例。如果您正苦于以下问题:PHP DiscussHelper::setPageTitle方法的具体用法?PHP DiscussHelper::setPageTitle怎么用?PHP DiscussHelper::setPageTitle使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DiscussHelper
的用法示例。
在下文中一共展示了DiscussHelper::setPageTitle方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: display
function display($tmpl = null)
{
$document = JFactory::getDocument();
$config = DiscussHelper::getConfig();
$doc = JFactory::getDocument();
DiscussHelper::setPageTitle(JText::_('COM_EASYDISCUSS_MEMBERS_TITLE'));
$this->setPathway(JText::_('COM_EASYDISCUSS_BREADCRUMBS_MEMBERS'));
$model = $this->getModel('Users');
$userQuery = JRequest::getString('userQuery', '');
$result = $model->getData($userQuery);
$pagination = $model->getPagination();
$sort = JRequest::getString('sort', 'latest');
$filteractive = JRequest::getString('filter', 'allposts');
$users = DiscussHelper::formatUsers($result);
$sort = JRequest::getCmd('sort', 'name');
$uids = $config->get('main_exclude_members');
if (!empty($uids)) {
// Remove white space
$uids = str_replace(' ', '', $uids);
$excludeId = explode(',', $uids);
$temp = array();
foreach ($users as $user) {
if (!in_array($user->id, $excludeId)) {
$temp[] = $user;
}
}
$users = $temp;
}
$theme = new DiscussThemes();
$theme->set('users', $users);
$theme->set('pagination', $pagination);
$theme->set('sort', $sort);
$theme->set('userQuery', $userQuery);
echo $theme->fetch('users.php');
}
示例2: listings
public function listings()
{
$app = JFactory::getApplication();
$config = DiscussHelper::getConfig();
$id = JRequest::getInt('id');
if (empty($id)) {
$app->redirect(DiscussRouter::_('index.php?option=com_easydiscuss&view=badges', false), JText::_('COM_EASYDISCUSS_INVALID_BADGE'));
$app->close();
}
$badge = DiscussHelper::getTable('Badges');
$badge->load($id);
$this->setPathway(JText::_('COM_EASYDISCUSS_BADGES'), DiscussRouter::_('index.php?option=com_easydiscuss&view=badges'));
$this->setPathway(JText::_($badge->get('title')));
DiscussHelper::setPageTitle(JText::sprintf('COM_EASYDISCUSS_VIEWING_BADGE_TITLE', $this->escape($badge->title)));
$users = $badge->getUsers();
$theme = new DiscussThemes();
$theme->set('badge', $badge);
$theme->set('users', $users);
echo $theme->fetch('badge.php');
}
示例3: setPageHeaders
private function setPageHeaders($post)
{
// Set page title.
DiscussHelper::setPageTitle($post->getTitle());
$doc = JFactory::getDocument();
$doc->setMetadata('keywords', $post->title);
$doc->setMetadata('description', preg_replace('/\\s+/', ' ', substr(strip_tags(EasyDiscussParser::bbcode($post->content)), 0, 160)));
// Set canonical link to avoid URL duplication.
$doc->addHeadLink(DISCUSS_JURIROOT . DiscussRouter::getPostRoute($post->id), 'canonical', 'rel');
}
示例4: listings
/**
* Displays a list of recent discussions from a particular category.
*
* @since 3.0
* @access public
*/
public function listings()
{
// Initialise variables
$doc = JFactory::getDocument();
$my = JFactory::getUser();
$config = DiscussHelper::getConfig();
$app = JFactory::getApplication();
$registry = DiscussHelper::getRegistry();
$categoryId = JRequest::getInt('category_id', 0);
// Try to detect if there's any category id being set in the menu parameter.
$activeMenu = $app->getMenu()->getActive();
if ($activeMenu) {
// Load menu params to the registry.
$registry->loadString($activeMenu->params);
// Set the active category id if exists.
$categoryId = $registry->get('category_id') ? $registry->get('category_id') : $categoryId;
}
// Get the current logged in user's access.
$acl = DiscussHelper::getHelper('ACL');
// Todo: Perhaps we should fix the confused naming of filter and sort to type and sort
$activeFilter = JRequest::getString('filter', $registry->get('filter'));
$sort = JRequest::getString('sort', $registry->get('sort'));
// Get the pagination limit
$limit = $registry->get('limit');
$limit = $limit == '-2' ? DiscussHelper::getListLimit() : $limit;
$limit = $limit == '-1' ? DiscussHelper::getJConfig()->get('list_limit') : $limit;
// Get the active category id if there is any
$activeCategory = DiscussHelper::getTable('Category');
$activeCategory->load($categoryId);
DiscussHelper::setPageTitle($activeCategory->title);
// Add breadcrumbs for active category.
if ($activeCategory->id != 0) {
// Test if user is really allowed to access this category.
if (!$activeCategory->canAccess()) {
$app->redirect(DiscussRouter::_('index.php?option=com_easydiscuss&view=index', false), JText::_('COM_EASYDISCUSS_SYSTEM_INSUFFICIENT_PERMISSIONS'));
$app->close();
return;
}
// Add pathway for category here.
DiscussHelper::getHelper('Pathway')->setCategoryPathway($activeCategory);
}
// Add view to this page.
$this->logView();
// Set the meta of the page.
DiscussHelper::setMeta();
$doc = JFactory::getDocument();
$doc->setMetadata('description', strip_tags($activeCategory->getDescription()));
// Add rss feed into headers
DiscussHelper::getHelper('Feeds')->addHeaders('index.php?option=com_easydiscuss&view=index');
// Get list of categories on the site.
$catModel = $this->getModel('Categories');
// Pagination is by default disabled.
$pagination = false;
if ($categoryId) {
$category = DiscussHelper::getTable('Category');
$category->load($categoryId);
$categories[] = $category;
} else {
$categories = $catModel->getCategories($categoryId);
if (count($categories) > 1) {
$ids = array();
foreach ($categories as $row) {
$ids[] = $row->id;
}
// iniCounts should only called in index page.
$category = DiscussHelper::getTable('Category');
$category->initCounts($ids, true);
}
}
// Get the model.
$postModel = DiscussHelper::getModel('Posts');
$authorIds = array();
$topicIds = array();
for ($i = 0; $i < count($categories); $i++) {
$category =& $categories[$i];
// building category childs lickage.
$category->childs = null;
$nestedLinks = '';
// In category page
if ($config->get('layout_show_all_subcategories', '1')) {
// By default show all the subcategories of the selected category
DiscussHelper::buildNestedCategories($category->id, $category, false, true);
} else {
// Show one level of subcategories of the selected category only
$category->childs = $catModel->getChildCategories($category->id);
}
DiscussHelper::accessNestedCategories($category, $nestedLinks, '0', '', 'listlink', ', ');
$category->nestedLink = $nestedLinks;
// Get featured posts from this particular category.
$featured = $postModel->getDiscussions(array('pagination' => false, 'sort' => $sort, 'filter' => $activeFilter, 'category' => $category->id, 'limit' => $config->get('layout_featuredpost_limit', $limit), 'featured' => true));
// Get normal discussion posts.
$posts = $postModel->getDiscussions(array('sort' => $sort, 'filter' => $activeFilter, 'category' => $category->id, 'limit' => $limit, 'featured' => false));
$tmpPostsArr = array_merge($featured, $posts);
if (count($tmpPostsArr) > 0) {
//.........这里部分代码省略.........
示例5: display
/**
* Displays the user's profile.
*
* @since 2.0
* @access public
*/
function display($tmpl = null)
{
$doc = JFactory::getDocument();
$app = JFactory::getApplication();
$id = JRequest::getInt('id', null);
$my = JFactory::getUser($id);
$config = DiscussHelper::getConfig();
// Custom parameters.
$sort = JRequest::getString('sort', 'latest');
$filteractive = JRequest::getString('filter', 'allposts');
$viewType = JRequest::getString('viewtype', 'questions');
$profile = DiscussHelper::getTable('Profile');
$profile->load($my->id);
// If profile is invalid, throw an error.
if (!$profile->id) {
// Show login form.
$theme = new DiscussThemes();
$theme->set('redirect', DiscussRouter::_('index.php?option=com_easydiscuss&view=profile', false));
echo $theme->fetch('login.form.php');
return;
}
$params = DiscussHelper::getRegistry($profile->params);
$fields = array('facebook', 'linkedin', 'twitter', 'website');
foreach ($fields as $site) {
if ($params->get($site, '') != '') {
if ($site == 'facebook' || $site == 'linkedin' || $site == 'twitter') {
$name = $params->get($site);
$url = 'www.' . $site . '.com/' . $name;
$params->set($site, DiscussUrlHelper::clean($url));
}
if ($site == 'website') {
$url = $params->get($site);
$params->set($site, DiscussUrlHelper::clean($url));
}
}
}
// Set the title for the page.
DiscussHelper::setPageTitle(JText::sprintf('COM_EASYDISCUSS_PROFILE_PAGE_TITLE', $profile->getName()));
// Set the pathway
$this->setPathway(JText::_($profile->getName()));
$postsModel = DiscussHelper::getModel('Posts');
$tagsModel = DiscussHelper::getModel('Tags');
$posts = array();
$replies = array();
$tagCloud = array();
$badges = array();
$unresolved = array();
$pagination = null;
$filterArr = array();
$filterArr['viewtype'] = $viewType;
$filterArr['id'] = $profile->id;
switch ($viewType) {
case 'replies':
$replies = $postsModel->getRepliesFromUser($profile->id);
$pagination = $postsModel->getPagination();
$pagination = $pagination->getPagesLinks('profile', $filterArr, true);
$replies = DiscussHelper::formatPost($replies);
break;
case 'unresolved':
$unresolved = $postsModel->getUnresolvedFromUser($profile->id);
$pagination = $postsModel->getPagination();
$pagination = $pagination->getPagesLinks('profile', $filterArr, true);
$unresolved = DiscussHelper::formatPost($unresolved);
break;
case 'questions':
default:
$posts = $postsModel->getPostsBy('user', $profile->id);
$pagination = $postsModel->getPagination();
$pagination = $pagination->getPagesLinks('profile', $filterArr, true);
$posts = DiscussHelper::formatPost($posts);
break;
}
// Get user badges
$badges = $profile->getBadges();
// @rule: Clear up any notifications that are visible for the user.
$notifications = DiscussHelper::getModel('Notification');
$notifications->markRead($profile->id, false, array(DISCUSS_NOTIFICATIONS_PROFILE, DISCUSS_NOTIFICATIONS_BADGE));
$tpl = new DiscussThemes();
// EasyBlog integrations
$easyblogExists = $this->easyblogExists();
$blogCount = 0;
if ($easyblogExists && $config->get('integrations_easyblog_profile')) {
$blogModel = EasyBlogHelper::getModel('Blog');
$blogCount = $blogModel->getBlogPostsCount($profile->id, false);
}
$komentoExists = $this->komentoExists();
$commentCount = 0;
if ($komentoExists && $config->get('integrations_komento_profile')) {
$commentsModel = Komento::getModel('comments');
$commentCount = $commentsModel->getTotalComment($profile->id);
}
$posts = Discusshelper::getPostStatusAndTypes($posts);
$favPosts = $postsModel->getData('true', 'latest', 'null', 'favourites');
$favPosts = DiscussHelper::formatPost($favPosts);
//.........这里部分代码省略.........
示例6: tag
public function tag($tmpl = null)
{
//initialise variables
$mainframe = JFactory::getApplication();
$doc = JFactory::getDocument();
$user = JFactory::getUser();
$config = DiscussHelper::getConfig();
$tag = JRequest::getInt('id', 0);
if (empty($tag)) {
return JError::raiseError(404, JText::_('COM_EASYDISCUSS_INVALID_TAG'));
}
DiscussHelper::setMeta();
$table = DiscussHelper::getTable('Tags');
$table->load($tag);
$doc = JFactory::getDocument();
DiscussHelper::setPageTitle(JText::sprintf('COM_EASYDISCUSS_VIEWING_TAG_TITLE', $this->escape($table->title)));
$this->setPathway(JText::_($table->title));
$concatCode = DiscussHelper::getJConfig()->getValue('sef') ? '?' : '&';
$doc->addHeadLink(JRoute::_('index.php?option=com_easydiscuss&view=tags&id=' . $tag) . $concatCode . 'format=feed&type=rss', 'alternate', 'rel', array('type' => 'application/rss+xml', 'title' => 'RSS 2.0'));
$doc->addHeadLink(JRoute::_('index.php?option=com_easydiscuss&view=tags&id=' . $tag) . $concatCode . 'format=feed&type=atom', 'alternate', 'rel', array('type' => 'application/atom+xml', 'title' => 'Atom 1.0'));
$filteractive = JRequest::getString('filter', 'allposts');
$sort = JRequest::getString('sort', 'latest');
if ($filteractive == 'unanswered' && ($sort == 'active' || $sort == 'popular')) {
//reset the active to latest.
$sort = 'latest';
}
$postModel = DiscussHelper::getModel('Posts');
$posts = $postModel->getTaggedPost($tag, $sort, $filteractive);
$pagination = $postModel->getPagination($sort, $filteractive);
$authorIds = array();
$topicIds = array();
if (count($posts) > 0) {
foreach ($posts as $item) {
$authorIds[] = $item->user_id;
$topicIds[] = $item->id;
}
}
$lastReplyUser = $postModel->setLastReplyBatch($topicIds);
$authorIds = array_merge($lastReplyUser, $authorIds);
// Reduce SQL queries by pre-loading all author object.
$authorIds = array_unique($authorIds);
$profile = DiscussHelper::getTable('Profile');
$profile->init($authorIds);
$postLoader = DiscussHelper::getTable('Posts');
$postLoader->loadBatch($topicIds);
$postTagsModel = DiscussHelper::getModel('PostsTags');
$postTagsModel->setPostTagsBatch($topicIds);
$posts = DiscussHelper::formatPost($posts, false, true);
$currentTag = $table->title;
$posts = Discusshelper::getPostStatusAndTypes($posts);
$tpl = new DiscussThemes();
$tpl->set('rssLink', JRoute::_('index.php?option=com_easydiscuss&view=tags&id=' . $tag . '&format=feed'));
$tpl->set('posts', $posts);
$tpl->set('paginationType', DISCUSS_TAGS_TYPE);
$tpl->set('pagination', $pagination);
$tpl->set('sort', $sort);
$tpl->set('filter', $filteractive);
$tpl->set('showEmailSubscribe', true);
$tpl->set('currentTag', $currentTag);
$tpl->set('parent_id', $tag);
$tpl->set('config', $config);
echo $tpl->fetch('tag.php');
}
示例7: read
/**
* Displays the conversation.
*
* @since 3.0
* @access public
*/
public function read()
{
$id = JRequest::getInt('id');
$app = JFactory::getApplication();
$my = JFactory::getUser();
// Do not allow non logged in users to view anything in conversation.
if (!$my->id) {
$returnURL = base64_encode(JRequest::getURI());
//DiscussHelper::setMessageQueue( JText::_( 'COM_EASYDISCUSS_NOT_ALLOWED' ) , DISCUSS_QUEUE_ERROR );
//$app->redirect( DiscussRouter::_( 'index.php?option=com_easydiscuss&view=index' , false ) );
$app->redirect(DiscussHelper::getLoginLink($returnURL));
$app->close();
}
// Try to load the conversation
$conversation = DiscussHelper::getTable('Conversation');
$state = $conversation->load($id);
// The conversation id needs to be valid.
if (!$state) {
DiscussHelper::setMessageQueue(JText::_('COM_EASYDISCUSS_CONVERSATION_INVALID'), DISCUSS_QUEUE_ERROR);
$app->redirect(DiscussRouter::_('index.php?option=com_easydiscuss&view=index', false));
$app->close();
}
// Check if the current logged in user has access to this conversation.
$model = DiscussHelper::getModel('Conversation');
if (!$model->hasAccess($conversation->id, $my->id)) {
DiscussHelper::setMessageQueue(JText::_('COM_EASYDISCUSS_NOT_ALLOWED'), DISCUSS_QUEUE_ERROR);
$app->redirect(DiscussRouter::_('index.php?option=com_easydiscuss&view=index', false));
$app->close();
}
$doc = JFactory::getDocument();
$result = $conversation->getParticipants($my->id);
$user = DiscussHelper::getTable('Profile');
$user->load($result[0]);
DiscussHelper::setPageTitle(JText::sprintf('COM_EASYDISCUSS_VIEW_CONVERSATION_TITLE', $this->escape($user->getName())));
// Mark this message as read for the current logged in user.
$conversation->markAsRead($my->id);
// Check if it is view all messages
$viewAll = JRequest::getVar('show');
$count = JRequest::getInt('count');
if ($viewAll == 'all') {
// For future use
$count = '';
}
if ($viewAll == 'previous') {
$count = JRequest::getInt('count');
// Check if the value is integer, we do no want any weird values
if (isset($count) && is_int($count)) {
// Convert to absolute number
$count = abs($count);
}
}
// Get replies in the conversation
$replies = $model->getMessages($conversation->id, $my->id, $viewAll, $count);
// Format conversation replies.
DiscussHelper::formatConversationReplies($replies);
// Format the conversation object.
$data = array($conversation);
DiscussHelper::formatConversations($data);
$theme = new DiscussThemes();
$theme->set('replies', $replies);
$theme->set('conversation', $data[0]);
echo $theme->fetch('conversation.read.php');
}