本文整理汇总了PHP中cmsUser::checkUserContentAccess方法的典型用法代码示例。如果您正苦于以下问题:PHP cmsUser::checkUserContentAccess方法的具体用法?PHP cmsUser::checkUserContentAccess怎么用?PHP cmsUser::checkUserContentAccess使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cmsUser
的用法示例。
在下文中一共展示了cmsUser::checkUserContentAccess方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: rss_blogs
function rss_blogs($item_id, $cfg) {
if (!cmsCore::getInstance()->isComponentEnable('blogs')) { return false; }
$inDB = cmsDatabase::getInstance();
global $_LANG;
cmsCore::loadModel('blogs');
$model = new cms_model_blogs();
cmsCore::loadClass('blog');
$inBlog = cmsBlogs::getInstance();
$inBlog->owner = 'user';
$channel = array();
$items = array();
// Формируем канал
if ($item_id) {
$blog = $inBlog->getBlog($item_id);
if (!$blog) { return false; }
//Если доступа к блогу нет, возвращаемся
if (!cmsUser::checkUserContentAccess($blog['allow_who'], $blog['user_id'])) {
return false;
}
$inBlog->whereBlogIs($blog['id']);
$channel['title'] = $blog['title'];
$channel['description'] = $_LANG['NEW_POSTS_IN_BLOGS'];
$channel['link'] = HOST . $model->getBlogURL($blog['seolink']);
} else {
$channel['title'] = $_LANG['NEW_POSTS_IN_BLOGS'];
$channel['description'] = $_LANG['NEW_POSTS_IN_BLOGS'];
$channel['link'] = HOST .'/blogs';
}
// В RSS всегда только публичные посты
$inBlog->whereOnlyPublic();
$inDB->orderBy('p.pubdate', 'DESC');
$inDB->limit($cfg['maxitems']);
$posts = $inBlog->getPosts(false, $model, true);
if ($posts) {
foreach($posts as $post){
$post['link'] = HOST . $post['url'];
$post['description'] = mb_substr(strip_tags($post['content_html']), 0, 350). '...';
$post['comments'] = $post['link'].'#c';
$post['category'] = $post['blog_title'];
$items[] = $post;
}
}
return array('channel' => $channel, 'items' => $items);
}
示例2: users
//.........这里部分代码省略.........
cmsCore::addSessionMessage($_LANG['PASS_SHORT'], 'error');
$errors = true;
}
if ($errors) {
cmsCore::redirectBack();
}
cmsCore::callEvent('UPDATE_USER_PASSWORD', array('user_id' => $usr['id'], 'oldpass' => $oldpass, 'newpass' => $newpass));
$sql = "UPDATE cms_users SET password='" . md5($newpass) . "' WHERE id = '{$id}' AND password='" . md5($oldpass) . "'";
$inDB->query($sql);
cmsCore::addSessionMessage($_LANG['PASS_CHANGED'], 'info');
cmsCore::redirect(cmsUser::getProfileURL($inUser->login));
}
}
//============================================================================//
//============================= Просмотр профиля ============================//
//============================================================================//
if ($do == 'profile') {
$inPage->addHeadJsLang(array('NEW_POST_ON_WALL', 'CONFIRM_DEL_POST_ON_WALL'));
// если просмотр профиля гостям запрещен
if (!$inUser->id && !$model->config['sw_guest']) {
cmsUser::goToLogin();
}
if (is_numeric($login)) {
cmsCore::error404();
}
$usr = $model->getUser($login);
if (!$usr) {
cmsCore::error404();
}
$myprofile = $inUser->id == $usr['id'];
$inPage->setTitle($usr['nickname']);
$inPage->addPathway($usr['nickname']);
// просмотр профиля запрещен
if (!cmsUser::checkUserContentAccess($usr['allow_who'], $usr['id'])) {
cmsPage::initTemplate('components', 'com_users_not_allow')->assign('is_auth', $inUser->id)->assign('usr', $usr)->display('com_users_not_allow.tpl');
return;
}
// Профиль удален
if ($usr['is_deleted']) {
cmsPage::initTemplate('components', 'com_users_deleted.tpl')->assign('usr', $usr)->assign('is_admin', $inUser->is_admin)->assign('others_active', $inDB->rows_count('cms_users', "login='{$usr['login']}' AND is_deleted=0", 1))->display('com_users_deleted.tpl');
return;
}
// Данные о друзьях
$usr['friends_total'] = cmsUser::getFriendsCount($usr['id']);
$usr['friends'] = cmsUser::getFriends($usr['id']);
// очищать сессию друзей если в своем профиле и количество друзей из базы не совпадает с количеством друзей в сессии
if ($myprofile && sizeof($usr['friends']) != $usr['friends_total']) {
cmsUser::clearSessionFriends();
}
// обрезаем список
$usr['friends'] = array_slice($usr['friends'], 0, 6);
// выясняем друзья ли мы с текущим пользователем
$usr['isfriend'] = !$myprofile ? cmsUser::isFriend($usr['id']) : false;
// награды пользователя
$usr['awards'] = $model->config['sw_awards'] ? $model->getUserAwards($usr['id']) : false;
// стена
if ($model->config['sw_wall']) {
$inDB->limitPage(1, $model->config['wall_perpage']);
$usr['wall_html'] = cmsUser::getUserWall($usr['id'], 'users', $myprofile, $inUser->is_admin);
}
// можно ли пользователю изменять карму
$usr['can_change_karma'] = $model->isUserCanChangeKarma($usr['id']) && $inUser->id;
// Фотоальбомы пользователя
if ($model->config['sw_photo']) {
$usr['albums'] = $model->getPhotoAlbums($usr['id'], $usr['isfriend'], !$inCore->isComponentEnable('photos'));
$usr['albums_total'] = sizeof($usr['albums']);
示例3: blogs
//.........这里部分代码省略.........
assign('blogs', $blogs)->
assign('pagination', cmsPage::getPagebar($total, $page, cmsCore::m('blogs')->config['perpage_blog'], $link))->
display();
}
////////// ПРОСМОТР БЛОГА //////////////////////////////////////////////////
if ($inCore->do == 'blog'){
// получаем блог
$blog = cmsCore::c('blog')->getBlog($bloglink);
// Совместимость со старыми ссылками на клубные блоги
// Пробуем клубный блог получить по ссылке
if (!$blog) {
$blog_user_id = cmsCore::c('db')->get_field('cms_blogs', "seolink = '$bloglink' AND owner = 'club'", 'user_id');
if($blog_user_id){
cmsCore::redirect('/clubs/'.$blog_user_id.'_blog', '301');
}
}
if (!$blog) { cmsCore::error404(); }
// Права доступа
$myblog = (cmsCore::c('user')->id && cmsCore::c('user')->id == $blog['user_id']); // автор блога
$is_writer = cmsCore::c('blog')->isUserBlogWriter($blog, cmsCore::c('user')->id); // может ли пользователь писать в блог
cmsCore::c('page')->addPathway($blog['title'], cmsCore::m('blogs')->getBlogURL($blog['seolink']));
// rss в адресной строке
cmsCore::c('page')->addHead('<link rel="alternate" type="application/rss+xml" title="'.htmlspecialchars(strip_tags($blog['title'])).'" href="'.HOST.'/rss/blogs/'.$blog['id'].'/feed.rss">');
if($myblog || cmsCore::c('user')->is_admin){
cmsCore::c('page')->addHeadJS('components/blogs/js/blog.js');
}
//Если доступа нет, возвращаемся и выводим сообщение об ошибке
if (!cmsUser::checkUserContentAccess($blog['allow_who'], $blog['user_id'])){
cmsCore::addSessionMessage($_LANG['CLOSED_BLOG'].'<br>'.$_LANG['CLOSED_BLOG_TEXT'], 'error');
cmsCore::redirect('/blogs');
}
// Если показываем посты на модерации, если запрашиваем их
if($on_moderate){
if(!cmsCore::c('user')->is_admin && !($myblog && $blog['ownertype'] == 'multi' && $blog['premod'])){
cmsCore::error404();
}
cmsCore::c('blog')->whereNotPublished();
cmsCore::c('page')->setTitle($_LANG['POSTS_ON_MODERATE']);
cmsCore::c('page')->addPathway($_LANG['POSTS_ON_MODERATE']);
$blog['title'] .= ' - '.$_LANG['POSTS_ON_MODERATE'];
}
//Получаем html-код ссылки на автора с иконкой его пола
$blog['author'] = cmsUser::getGenderLink($blog['user_id']);
// посты данного блога
cmsCore::c('blog')->whereBlogIs($blog['id']);
// кроме админов автора в списке только с доступом для всех
if(!cmsCore::c('user')->is_admin && !$myblog && !cmsCore::c('user')->isFriend($blog['user_id'])){
cmsCore::c('blog')->whereOnlyPublic();
}
// если пришла категория
if($cat_id){
$all_total = cmsCore::c('blog')->getPostsCount(cmsCore::c('user')->is_admin || $myblog);
示例4: round
cmsCore::error404();
}
$photo = $inDB->fetch_assoc($result);
$inPage->setTitle($photo['title']);
$inPage->addPathway($usr['nickname'], cmsUser::getProfileURL($usr['login']));
$inPage->addPathway($_LANG['PHOTOALBUMS'], '/users/' . $usr['id'] . '/photoalbum.html');
$inPage->addPathway($photo['album'], '/users/' . $usr['login'] . '/photos/private' . $photo['album_id'] . '.html');
$inPage->addPathway($photo['title']);
$photo['pubdate'] = cmsCore::dateFormat($photo['pubdate'], true, false, false);
$photo['genderlink'] = cmsUser::getGenderLink($usr['id'], $usr['nickname'], $photo['gender'], $usr['login']);
$photo['filesize'] = round(filesize(PATH . '/images/users/photos/medium/' . $photo['imageurl']) / 1024, 2);
//ссылки на предыдущую и следующую фотографии
$previd = $inDB->get_fields('cms_user_photos', "id>'{$photo['id']}' AND user_id = '{$usr['id']}' AND album_id='{$photo['album_id']}'", 'id, title, pubdate', 'id ASC');
$nextid = $inDB->get_fields('cms_user_photos', "id<'{$photo['id']}' AND user_id = '{$usr['id']}' AND album_id='{$photo['album_id']}'", 'id, title, pubdate', 'id DESC');
// Проверяем права доступа
$is_allow = cmsUser::checkUserContentAccess($photo['allow_who'], $id);
// Если видим фото, обновляем просмотры
if ($is_allow) {
$inDB->query("UPDATE cms_user_photos SET hits = hits + 1 WHERE id = " . $photo['id']);
}
cmsPage::initTemplate('components', 'com_users_photos_view')->assign('photo', $photo)->assign('bbcode', '[IMG]' . HOST . '/images/users/photos/medium/' . $photo['imageurl'] . '[/IMG]')->assign('previd', $previd)->assign('nextid', $nextid)->assign('usr', $usr)->assign('myprofile', $myprofile)->assign('is_admin', cmsUser::userIsAdmin($inUser->id))->assign('is_allow', $is_allow)->assign('tagbar', $is_allow ? cmsTagBar('userphoto', $photo['id']) : '')->display('com_users_photos_view.tpl');
if ($inCore->isComponentInstalled('comments') && $is_allow) {
cmsCore::includeComments();
comments('userphoto', $photo['id']);
}
}
//============================================================================//
//============================ Один фотоальбом ===============================//
//============================================================================//
if ($pdo == 'viewalbum') {
if (!$inUser->id && !$model->config['sw_guest']) {
示例5:
if($bdo=='post'){
$post = $inBlog->getPost($seolink);
if (!$post){ cmsCore::error404(); }
$blog = $inBlog->getBlog($post['blog_id']);
if (!$blog) { cmsCore::error404(); }
$club = $model->getClub($blog['user_id']);
if(!$club) { cmsCore::error404(); }
// если блоги запрещены
if(!$club['enabled_blogs']){ cmsCore::error404(); }
// право просмотра самого поста
if (!cmsUser::checkUserContentAccess($post['allow_who'], $post['user_id'])){
cmsCore::addSessionMessage($_LANG['CLOSED_POST'].'<br>'.$_LANG['CLOSED_POST_TEXT'], 'error');
cmsCore::redirect('/clubs/'.$club['id']);
}
// Инициализируем участников клуба
$model->initClubMembers($club['id']);
// права доступа
$is_admin = $inUser->is_admin || ($inUser->id == $club['admin_id']);
$is_moder = $model->checkUserRightsInClub('moderator');
$is_member = $model->checkUserRightsInClub();
// пост приватного клуба показываем только участникам
if ($club['clubtype']=='private' && !$is_member && !$is_admin){ cmsCore::error404(); }
示例6: blog
//.........这里部分代码省略.........
if (stripslashes($title) != $blog['title']) {
// обновляем записи постов
cmsActions::updateLog('add_post', array('target' => $title, 'target_url' => $model->getBlogURL()), 0, $blog['id']);
// обновляем запись добавления блога
cmsActions::updateLog('add_blog', array('object' => $title, 'object_url' => $model->getBlogURL()), $blog['id']);
}
// Очищаем токен
cmsUser::clearCsrfToken();
cmsCore::jsonOutput(array('error' => false, 'redirect' => $model->getBlogURL()));
}
}
////////// ПРОСМОТР БЛОГА ////////////////////////////////////////////////////////////////////////////////////////
if ($do == 'blog') {
// получаем блог
$blog = $inBlog->getBlog($blog_id);
if (!$blog) {
cmsCore::error404();
}
// Права доступа
$myblog = $inUser->id && $inUser->id == $blog['user_id'];
// автор блога
$is_writer = $inBlog->isUserBlogWriter($blog, $inUser->id);
// может ли пользователь писать в блог
// Заполняем head страницы
$inPage->setTitle($blog['title']);
//$inPage->addPathway($blog['title'], $model->getBlogURL($blog['seolink']));
$inPage->setDescription($blog['title']);
// rss в адресной строке
$inPage->addHead('<link rel="alternate" type="application/rss+xml" title="' . htmlspecialchars(strip_tags($blog['title'])) . '" href="' . HOST . '/rss/blogs/' . $blog['id'] . '/feed.rss">');
if ($myblog || $inUser->is_admin) {
$inPage->addHeadJS('components/blog/js/blog.js');
}
//Если доступа нет, возвращаемся и выводим сообщение об ошибке
if (!cmsUser::checkUserContentAccess($blog['allow_who'], $blog['user_id'])) {
cmsCore::addSessionMessage($_LANG['CLOSED_BLOG'] . '<br>' . $_LANG['CLOSED_BLOG_TEXT'], 'error');
cmsCore::redirect('/');
}
// Если показываем посты на модерации, если запрашиваем их
if ($on_moderate) {
if (!$inUser->is_admin && !($myblog && $blog['ownertype'] == 'multi' && $blog['premod'])) {
cmsCore::error404();
}
$inBlog->whereNotPublished();
$inPage->setTitle($_LANG['POSTS_ON_MODERATE']);
$inPage->addPathway($_LANG['POSTS_ON_MODERATE']);
$blog['title'] .= ' - ' . $_LANG['POSTS_ON_MODERATE'];
}
//Получаем html-код ссылки на автора с иконкой его пола
$blog['author'] = cmsUser::getGenderLink($blog['user_id']);
// посты данного блога
$inBlog->whereBlogIs($blog['id']);
// кроме админов автора в списке только с доступом для всех
if (!$inUser->is_admin && !$myblog) {
$inBlog->whereOnlyPublic();
}
// если пришла категория
if ($cat_id) {
$all_total = $inBlog->getPostsCount($inUser->is_admin || $myblog);
$inBlog->whereCatIs($cat_id);
}
// всего постов
$total = $inBlog->getPostsCount($inUser->is_admin || $myblog);
//устанавливаем сортировку
$inDB->orderBy('p.pubdate', 'DESC');
$inDB->limitPage($page, $model->config['perpage']);
// сами посты