本文整理汇总了PHP中cmsUser::getFriends方法的典型用法代码示例。如果您正苦于以下问题:PHP cmsUser::getFriends方法的具体用法?PHP cmsUser::getFriends怎么用?PHP cmsUser::getFriends使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cmsUser
的用法示例。
在下文中一共展示了cmsUser::getFriends方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: clubs
//.........这里部分代码省略.........
}
$moders = cmsCore::request('moderslist', 'array_int', array());
$members = cmsCore::request('memberslist', 'array_int', array());
$all_users = array_merge($members, $moders);
// Сохраняем пользователей
$model->clubSaveUsers($club['id'], $all_users);
$model->clubSetRole($club['id'], $moders, 'moderator');
// Кешируем количество
$model->setClubMembersCount($club['id']);
cmsCore::addSessionMessage($_LANG['CONFIG_SAVE_OK'], 'info');
cmsCore::redirect('/clubs/'.$club['id']);
}
if (!cmsCore::inRequest('save')){
// Заголовки и пафвей
$inPage->addPathway($club['title'], '/clubs/'.$club['id']);
$inPage->addPathway($_LANG['CONFIG_CLUB']);
$inPage->setTitle($_LANG['CONFIG_CLUB']);
// Список друзей, отсутствующих в клубе
$friends_list = '';
// массив id друзей не в клубе
$friends_ids = array();
// Получаем список друзей
$friends = cmsUser::getFriends($inUser->id);
// Получаем список участников
$members = $model->getClubMembersIds();
// Формируем список друзей, которые еще не в клубе
foreach($friends as $key=>$friend){
if (!in_array($friend['id'], $members) && $friend['id'] != $club['admin_id']){
$friends_list .= '<option value="'.$friend['id'].'">'.$friend['nickname'].'</option>';
$friends_ids[] = $friend['id'];
}
}
// Получаем модераторов клуба
$moderators = $model->getClubMembersIds('moderator');
// формируем список друзья не в клубе + участники клуба кроме модераторов
$fr_plus_members = $members ? array_merge($friends_ids, $members) : $friends_ids;
// Убираем модераторов если они есть
$fr_plus_members = $moderators ? array_diff($fr_plus_members, $moderators) : $fr_plus_members;
// Формируем список option друзей (которые еще не в этом клубе) и участников
if ($fr_plus_members) { $fr_members_list = cmsUser::getAuthorsList($fr_plus_members); } else { $fr_members_list = ''; }
// Формируем список option участников клуба
if ($moderators) { $moders_list = cmsUser::getAuthorsList($moderators); } else { $moders_list = ''; }
if ($members) { $members_list = cmsUser::getAuthorsList($members); } else { $members_list = ''; }
cmsPage::initTemplate('components', 'com_clubs_config')->
assign('club', $club)->
assign('moders_list', $moders_list)->
assign('members_list', $members_list)->
assign('friends_list', $friends_list)->
assign('fr_members_list', $fr_members_list)->
assign('is_billing', IS_BILLING)->
assign('is_admin', $inUser->is_admin)->
assign('cfg', $model->config)->
示例2: users
//.........这里部分代码省略.........
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']);
$usr['albums_show'] = 6;
if ($usr['albums_total'] > $usr['albums_show']) {
array_splice($usr['albums'], $usr['albums_show']);
}
}
$usr['board_count'] = $model->config['sw_board'] ? $inDB->rows_count('cms_board_items', "user_id='{$usr['id']}' AND published=1") : 0;
$usr['comments_count'] = $model->config['sw_comm'] ? $inDB->rows_count('cms_comments', "user_id='{$usr['id']}' AND published=1") : 0;
$usr['forum_count'] = $model->config['sw_forum'] ? $inDB->rows_count('cms_forum_posts', "user_id = '{$usr['id']}'") : 0;
$usr['files_count'] = $model->config['sw_files'] ? $inDB->rows_count('cms_user_files', "user_id = '{$usr['id']}'") : 0;
$cfg_reg = $inCore->loadComponentConfig('registration');
示例3: onlyMyFriends
/**
* Включает режим показа только событий друзей
*
*/
public function onlyMyFriends()
{
$inUser = cmsUser::getInstance();
$friends = cmsUser::getFriends($inUser->id);
if (!$friends) {
$this->inDB->where('1=0');
return;
}
$f_list = array();
foreach ($friends as $friend) {
$f_list[] = $friend['id'];
}
$f_list = rtrim(implode(',', $f_list), ',');
if ($f_list) {
$this->inDB->where("log.user_id IN ({$f_list})");
} else {
$this->inDB->where('1=0');
}
$this->only_friends = true;
return;
}
示例4: isFriend
/**
* Проверяет дружбу текущего пользователя с $user_id
* @return bool
*/
public static function isFriend($user_id = 0)
{
if (!$user_id) {
return false;
}
$my_id = self::getInstance()->id;
if (!$my_id) {
return false;
}
$my_friends = cmsUser::getFriends($my_id);
if (!$my_friends) {
return false;
}
$is_friend = false;
foreach ($my_friends as $friend) {
if ($friend['id'] == $user_id) {
$is_friend = true;
break;
} else {
$is_friend = false;
}
}
return $is_friend;
}
示例5: actions
function actions()
{
$inCore = cmsCore::getInstance();
$inUser = cmsUser::getInstance();
$inPage = cmsPage::getInstance();
$inDB = cmsDatabase::getInstance();
$inActions = cmsActions::getInstance();
$model = new cms_model_actions();
global $_LANG;
$do = $inCore->do;
$page = cmsCore::request('page', 'int', 1);
$user_id = cmsCore::request('user_id', 'int', 0);
$perpage = 6;
$pagetitle = $inCore->getComponentTitle();
$inPage->setTitle($pagetitle);
$inPage->addPathway($pagetitle, '/actions');
$inPage->setDescription($model->config['meta_desc'] ? $model->config['meta_desc'] : $pagetitle);
$inPage->setKeywords($model->config['meta_keys'] ? $model->config['meta_keys'] : $pagetitle);
//============================================================================//
if ($do == 'delete') {
if (!$inUser->is_admin) {
cmsCore::error404();
}
$id = cmsCore::request('id', 'int', 0);
if (!$id) {
cmsCore::error404();
}
$model->deleteAction($id);
cmsCore::redirectBack();
}
//============================================================================//
if ($do == 'view') {
$inActions->showTargets($model->config['show_target']);
if ($model->config['act_type'] && !$model->config['is_all']) {
$inActions->onlySelectedTypes($model->config['act_type']);
}
$total = $inActions->getCountActions();
$inDB->limitPage($page, $model->config['perpage']);
$actions = $inActions->getActionsLog();
if (!$actions && $page > 1) {
cmsCore::error404();
}
cmsPage::initTemplate('components', 'com_actions_view')->assign('actions', $actions)->assign('pagetitle', $pagetitle)->assign('total', $total)->assign('user_id', $inUser->id)->assign('pagebar', cmsPage::getPagebar($total, $page, $model->config['perpage'], '/actions/page-%page%'))->display('com_actions_view.tpl');
}
//============================================================================//
if ($do == 'view_user_feed') {
if (!$inUser->id) {
cmsCore::error404();
}
if (!cmsCore::isAjax()) {
cmsCore::error404();
}
// Получаем друзей
$friends = cmsUser::getFriends($inUser->id);
$friends_total = count($friends);
// нам нужно только определенное количество друзей
$friends = array_slice($friends, ($page - 1) * $perpage, $perpage, true);
if ($friends) {
$inActions->onlyMyFriends();
$inActions->showTargets($model->config['show_target']);
$inDB->limitIs($model->config['perpage_tab']);
$actions = $inActions->getActionsLog();
} else {
$actions = array();
}
cmsPage::initTemplate('components', 'com_actions_view_tab')->assign('actions', $actions)->assign('friends', $friends)->assign('user_id', $user_id)->assign('page', $page)->assign('cfg', $model->config)->assign('total_pages', ceil($friends_total / $perpage))->assign('friends_total', $friends_total)->display('com_actions_view_tab.tpl');
}
//============================================================================//
if ($do == 'view_user_feed_only') {
if (!$inUser->id) {
cmsCore::error404();
}
if (!cmsCore::isAjax()) {
cmsCore::error404();
}
if ($user_id) {
if (!cmsUser::isFriend($user_id)) {
cmsCore::error404();
}
$inActions->whereUserIs($user_id);
} else {
$inActions->onlyMyFriends();
}
$inActions->showTargets($model->config['show_target']);
$inDB->limitIs($model->config['perpage_tab']);
$actions = $inActions->getActionsLog();
// получаем последний элемент массива для выборки имя пользователя и ссылки на профиль.
if ($actions) {
$user = end($actions);
} else {
$user = cmsUser::getShortUserData($user_id);
}
cmsPage::initTemplate('components', 'com_actions_tab')->assign('actions', $actions)->assign('user_id', $user_id)->assign('user', $user)->assign('cfg', $model->config)->display('com_actions_tab.tpl');
}
//============================================================================//
if ($do == 'view_user_friends_only') {
if (!$inUser->id) {
cmsCore::error404();
}
if (!cmsCore::isAjax()) {
//.........这里部分代码省略.........
示例6:
// //
// InstantCMS v1.10.4 //
// http://www.instantcms.ru/ //
// //
// written by InstantCMS Team, 2007-2014 //
// produced by InstantSoft, (www.instantsoft.ru) //
// //
// LICENSED BY GNU/GPL v2 //
// //
/******************************************************************************/
$opt = cmsCore::request('opt', 'str', 'in');
$whith_id = cmsCore::request('with_id', 'int', 0);
$perpage = 15;
$show_notice = false;
$new_msg = cmsUser::getNewMessages($inUser->id);
$friends = cmsUser::getFriends($inUser->id);
$interlocutors = cmsCore::getListItems("cms_users u INNER JOIN cms_user_msg m ON m.from_id = u.id AND m.to_id = '{$id}'", $whith_id, 'm.from_id', 'ASC', "m.from_del = 0 AND m.to_del = 0 GROUP BY m.from_id", 'from_id', 'nickname');
switch ($opt) {
case 'in':
$page_title = $_LANG['INBOX'];
$inDB->addJoin("INNER JOIN cms_user_msg m ON m.from_id = u.id AND m.to_id = '{$id}' AND m.to_del = 0");
$msg_count = $model->getMessagesCount();
$pagebar = cmsPage::getPagebar($msg_count, $page, $perpage, 'javascript:centerLink(\'/users/' . $id . '/messages%page%.html\')');
break;
case 'out':
$page_title = $_LANG['SENT'];
$inDB->addJoin("INNER JOIN cms_user_msg m ON m.to_id = u.id AND m.from_id = '{$id}' AND m.from_del = 0");
$msg_count = $model->getMessagesCount();
$pagebar = cmsPage::getPagebar($msg_count, $page, $perpage, 'javascript:centerLink(\'/users/' . $id . '/messages-sent%page%.html\')');
break;
case 'notices':
示例7: onlyMyFriends
/**
* Включает режим показа только событий друзей
*
*/
public function onlyMyFriends(){
$friends = cmsUser::getFriends(cmsCore::c('user')->id);
if (!$friends){ cmsCore::c('db')->where('1=0'); return; }
$f_list = array();
foreach($friends as $friend){
$f_list[] = $friend['id'];
}
$f_list = rtrim(implode(',', $f_list), ',');
if ($f_list){
cmsCore::c('db')->where("log.user_id IN ({$f_list})");
} else {
cmsCore::c('db')->where('1=0');
}
$this->only_friends = true;
return;
}