本文整理汇总了PHP中permissions::getUserPermissions方法的典型用法代码示例。如果您正苦于以下问题:PHP permissions::getUserPermissions方法的具体用法?PHP permissions::getUserPermissions怎么用?PHP permissions::getUserPermissions使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类permissions
的用法示例。
在下文中一共展示了permissions::getUserPermissions方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getUserWarns
/**
* Возвращает список предупреждение пользователя для попап окна.
*
* @param int $uid UID пользователя
* @param array $contextId Контекст (для лога админских действий)
* @param string $draw_func способ отображения
*
* @return object xajaxResponse
*/
function getUserWarns($uid = 0, $contextId = '', $draw_func = '')
{
session_start();
$objResponse = new xajaxResponse();
if (hasPermissions('users')) {
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/permissions.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/users.php';
$user = new users();
$user->GetUserByUID($uid);
if ($user->uid) {
$aPermissions = permissions::getUserPermissions($_SESSION['uid']);
$admin_log = new admin_log('user', $_SESSION['uid'], $aPermissions);
$aWarns = $admin_log->getUserWarns($nCount, $uid);
$sCount = $nCount ? $nCount : '0';
$sWarns = $user->warn ? $user->warn : '0';
$objResponse->assign('a_user_warns', 'href', '/users/' . $user->login);
$objResponse->assign('s_user_warns', 'innerHTML', $user->uname . ' ' . $user->usurname . ' [' . $user->login . ']');
$objResponse->assign('e_user_warns', 'innerHTML', $sWarns);
$objResponse->assign('n_user_warns', 'innerHTML', $sCount);
if ($nCount) {
$sTable = '<table id="t_user_warns" class="notice-table">';
$nCount = 1;
foreach ($aWarns as $aOne) {
$sReason = $aOne['admin_comment'] ? hyphen_words($aOne['admin_comment'], true) : '<без причины>';
$sAdmin = $aOne['adm_login'] ? '<a target="_blank" href="/users/' . $aOne['adm_login'] . '">' . $aOne['adm_login'] . '</a>' : 'не известно';
$sDate = $aOne['act_time'] ? date('d.m.Y H:i', strtotime($aOne['act_time'])) : 'не известно';
$sTable .= '<tr>
<td class="cell-number">' . $nCount . '.</td>
<td class="cell-uwarn">' . $sReason . '</td>
<td class="cell-who">Выдан: [' . $sAdmin . ']
<td class="cell-date">' . $sDate . '</td>
<td' . ($aOne['src_id'] ? ' id="i_user_warns_' . $aOne['src_id'] . '"' : '') . '>' . ($aOne['src_id'] ? '<a href="javascript:void(0);" onclick="banned.warnUser(' . $uid . ',' . $aOne['src_id'] . ',\'' . $draw_func . '\',\'' . $contextId . '\',0);"><img src="/images/btn-remove2.png" alt="" width="11" height="11" /></a>' : '') . '</td>
</tr>';
++$nCount;
}
$sTable .= '</table>';
$objResponse->assign('d_user_warns', 'innerHTML', $sTable);
} else {
$objResponse->assign('d_user_warns', 'innerHTML', ' ');
}
$sBanTitle = $user->is_banned || $user->ban_where ? 'Разбанить' : 'Забанить';
$objResponse->script('adminLogOverlayClose();');
$objResponse->script("\$('ov-notice4').setStyle('display', '');");
$objResponse->script('adjustUserWarnsHTML();');
$objResponse->assign('b_user_warns', 'innerHTML', '<button onclick="adminLogOverlayClose();banned.userBan(' . $uid . ', \'' . $contextId . '\',0)">' . $sBanTitle . '</button><a class="lnk-dot-grey" href="javascript:void(0);" onclick="adminLogOverlayClose();">Отмена</a>');
}
}
return $objResponse;
}
示例2: header
<?php
if (!defined('IS_SITE_ADMIN')) {
header('Location: /404.php');
exit;
}
$s = 'style="color: #666;"';
if (!isset($aPermissions)) {
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/permissions.php';
$aPermissions = permissions::getUserPermissions($uid);
}
foreach ($aPermissions as $sPermission) {
$sVar = 'bHas' . ucfirst($sPermission);
${$sVar} = true;
}
if ($bHasAll || $bHasAdm) {
?>
<?php
if ($bHasAll || $bHasUsers || $bHasProjects || $bHasBlogs || $bHasCommunes) {
?>
<div class="admin-menu">
<h3>Действия</h3>
<ul>
<?php
if ($bHasAll || $bHasUsers || $bHasProjects || $bHasBlogs || $bHasCommunes) {
?>
<li><a <?php
echo $menu_item == 1 ? $s : '';
?>
href="/siteadmin/admin_log/?site=log">Лента всех действий</a></li>
示例3: hasPermissions
/**
* Проверяем имеет ли пользователь разрешенные права доступа
*
* @todo: делает запрос даже если НЕТ! юзера? - доработано
*
* @param string код права доступа
* @param integer ID пользователя
* @return boolean true - имеет, false - нет
*/
function hasPermissions($permission, $uid = 0)
{
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/permissions.php";
$uid = intval($uid);
if (!$uid) {
$uid = get_uid(false);
}
//Если забанен или незалогин то прав у тебя нет!
if ($uid <= 0) {
return false;
}
if ($uid != $_SESSION['uid']) {
$user_permissions = permissions::getUserPermissions($uid);
} else {
$user_permissions = $_SESSION['permissions'];
}
if (!$user_permissions) {
$user_permissions = array();
}
return in_array($permission, $user_permissions) || in_array('all', $user_permissions);
}
示例4: Auth
//.........这里部分代码省略.........
$opauthModel = new OpauthModel();
$is_2fa = $opauthModel->getMultilevel($res['uid']);
if (isset($is_2fa['type'])) {
//$is_2fa - авторизация через выбранную соцсеть
//0 - нужна обычная авторизация так как вход был выполнен через соцсеть
$params['2fa_provider'] = array('type' => !$is_opauth ? $is_2fa['type'] : 0, 'uid' => $res['uid'], 'login' => $res['login']);
//Сбрасываем авторизацию
$res = array();
//переходим ко 2ой стадии
return self::AUTH_STATUS_2FA;
}
}
}
//Более нам параметр этапов авторизации не нужен
unset($params['2fa_provider']);
/**
* Успешная авторизация.
*/
if (count($res)) {
list($email, $trole, $tname, $tsurname, $tid, $is_banned, $ban_where, $active, $sum, $bonus_sum, $log, $anti_uid, $is_pro_test, $is_pro_new, $is_chuck, $sex, $settings, $splash_show, $is_verify, $reg_date, $activate_code, $photo, $is_profi, $birthday) = array_values($res);
if ($activate_code != '' && $active == 't') {
$this->checkRegDate($tid, $reg_date);
}
if ($is_banned) {
return -1;
}
//if ($active=='f') return -2; //##0027983
if (!$this->CheckUserAllowIP($ip, $tid)) {
return -3;
}
$params['birthday'] = $birthday ? strtotime($birthday) : null;
$params['age'] = $params['birthday'] ? intval(ElapsedYears($params['birthday'])) : null;
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/permissions.php';
$params['permissions'] = permissions::getUserPermissions($tid);
$params['email'] = $email;
$params['role'] = $trole;
$params['name'] = $tname;
$params['surname'] = $tsurname;
$params['uid'] = $tid;
$params['user_ip'] = $ip;
$params['ac_sum'] = zin($sum);
$params['bn_sum'] = zin($bonus_sum);
$params['login'] = $log;
$params['is_pro_new'] = $is_pro_new;
$params['pro_test'] = $is_pro_test;
$params['is_chuck'] = $is_chuck;
$params['is_verify'] = $is_verify;
$params['sex'] = $sex;
$params['reg_date'] = $reg_date;
$params['photo'] = $photo;
if (!is_emp($trole)) {
$params['is_profi'] = $is_profi === 't';
}
if ($anti_uid) {
$anti_class = is_emp($trole) ? 'freelancer' : 'employer';
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/{$anti_class}.php";
$anti = new $anti_class();
$anti->GetUserByUID($anti_uid);
$params['anti_uid'] = $anti->uid;
$params['anti_login'] = $anti->login;
$params['anti_surname'] = $anti->usurname;
$params['anti_name'] = $anti->uname;
}
if (!is_emp($params['role'])) {
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects_offers.php';
if ($po_summary = projects_offers::GetFrlOffersSummary($params['uid'])) {
示例5: setDeleted
/**
* Удаление сущности
*
* @param string $sId составной уникальный ID сущности
* @param int $sUid UID сздателя сущности
* @param string $sReason причина удаления
* @param string $sDrawFunc имя функции для выполнения после сохранения
* @param string $sParams JSON кодированные дополнительные параметры
* @return xajaxResponse
*/
function setDeleted($sId = '', $sUid = 0, $sReason = '', $sDrawFunc = '', $sParams = '')
{
session_start();
$objResponse = new xajaxResponse();
list($rec_content_id, $rec_id, $rec_type) = explode('_', $sId);
$aParams = _jsonArray($sParams);
if ($sDrawFunc == 'stream0' || $sDrawFunc == 'stream1' || $sDrawFunc == 'stream2') {
// удаление в потоках
resolveContent($aParams['content_id'], $aParams['stream_id'], $sId, 2, $sUid, $aParams['content_cnt'], $aParams['status'], $aParams['is_sent'], $sReason, $objResponse);
} else {
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/user_content.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/permissions.php';
$aPermissions = permissions::getUserPermissions($_SESSION['uid']);
$user_content = new user_content($_SESSION['uid'], $aPermissions);
$bSend = false;
if ($user_content->hasContentPermissions($rec_content_id)) {
if (strpos($sReason, '%USERNAME%') !== false && $sUid) {
$user = new users();
$user->GetUserByUID($sUid);
$sReason = str_replace('%USERNAME%', $user->uname . ' ' . $user->usurname, $sReason);
}
switch ($rec_content_id) {
case user_content::MODER_MSSAGES:
switch ($sDrawFunc) {
// дейсвие из переписки между юзерами
case 'updateLetter':
updateLetter($rec_id, $sUid, 2, $sReason, $objResponse);
break;
case 'delLetter':
// в потоке - важно чтобы поток не был потерян либо перехвачен
// в потоке - важно чтобы поток не был потерян либо перехвачен
default:
delLetter($aParams['stream_id'], $sUid, $rec_id . '_' . $rec_type, $sReason, $objResponse);
break;
}
break;
case user_content::MODER_BLOGS:
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/blogs.php';
if ($rec_type == 1) {
// post
blogs::MarkDeleteBlog($_SESSION['uid'], $rec_id, $group, $base, $thread_id, $page, $msg, 0, $sReason);
} else {
// comment
blogs::MarkDeleteMsg($_SESSION['uid'], $rec_id, getRemoteIP(), $err, 0, $sReason);
}
$bSend = true;
break;
case user_content::MODER_TSERVICES:
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/tservices/tservices.php';
$tserviceObj = new tservices();
if ($tserviceObj->Blocked($rec_id, $_SESSION['uid'], $sReason)) {
$objResponse->script("\$('ov-notice22-r').toggleClass('b-shadow_hide');");
$objResponse->script("\$\$('#__tservices_blocked,#__tservices_unblocked').toggleClass('b-button_hide');");
}
break;
case user_content::MODER_SBR_REQV:
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/sbr_meta.php';
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/Finance/FinanceSmail.php';
if (sbr_meta::reqvBlocked($rec_id, $_SESSION['uid'], $sReason, 0, $_SESSION['login'])) {
$finSmail = new FinanceSmail();
$finSmail->financeBlocked($rec_id, $sReason);
$objResponse->script("\$('ov-notice22-r').toggleClass('b-shadow_hide');");
$objResponse->script("\$\$('#__finance_blocked,#__finance_unblocked').toggleClass('b-button_hide');");
}
break;
default:
break;
}
if ($bSend) {
$user_content->sendNotification($_SESSION['uid'], $sUid, $rec_content_id, $rec_id, $rec_type, 2, $sReason);
$objResponse->script('window.location.reload(true)');
}
}
return $objResponse;
}
$objResponse->script("delete banned.buffer['delreason_{$sId}'];");
$objResponse->script("parent.\$\$(\"div[id^='ov-notice']\").setStyle('display', 'none');");
$objResponse->script("parent.\$('ov-notice22-r').toggleClass('b-shadow_hide');");
return $objResponse;
}
示例6: _parsePortfolioOne
/**
* Парсит HTML одной работы в портфолио
*
* @param array $aOne массив с данными комментария
* @param int $status статус: 0 - не проверенно, 1 - утверждено, 2 - удалено
* @param string $sKind опционально. тип записи
* @param array $aStream данные о потоке
* @param int $nCnt количество записей в потоке
* @param int $nContentId идентификатор сущности из admin_contents (фактический из потоков, то есть со сборными)
* @return string HTML
*/
function _parsePortfolioOne($aOne = array(), $status = 0, $sKind = '0', $aStream = array(), $nCnt = 0, $nContentId = 0)
{
global $stop_words, $user_content, $sTeam;
$sReturn = '';
$sAttach = '';
if ($aOne['is_video'] == 't') {
// работа есть видео
if ($aOne['prev_pict']) {
// есть отдельно загруженное превью
$sInner = '<img src="' . WDCPREFIX . '/users/' . $aOne['login'] . '/upload/' . $aOne['prev_pict'] . '" alt="' . $aOne['prev_pict'] . '" title="' . $aOne['prev_pict'] . '" />';
} else {
// нет отдельно загруженного превью
$sInner = $aOne['video_link'];
}
$sAttach = '<div class="b-post__txt b-post__txt_padbot_15 b-post__txt_fontsize_15"><strong>Ссылка на YouTube/RuTube/Vimeo видео:</strong> <br/><a href="http://' . $aOne['video_link'] . '" target="_blank">' . $sInner . '</a></div>';
} elseif ($aOne['pict']) {
// работа есть файл
$ext = CFile::getext($aOne['pict']);
$preview = $aOne['prev_pict'];
$sPreview = '';
if (in_array($ext, $GLOBALS['graf_array']) && $ext != 'swf') {
// работа есть картинка
if ($aOne['pict'] != substr($preview, 3, strlen($preview))) {
// превью сделано не на основе оригинальной картинки либо вообще отсутствует
$sInner = '<img src="' . WDCPREFIX . '/users/' . $aOne['login'] . '/upload/tn_' . $aOne['pict'] . '" alt="' . $aOne['pict'] . '" title="' . $aOne['pict'] . '" />';
if ($preview) {
// превью загружено отдельно
$sPreview = 'Превью: <br/><img src="' . WDCPREFIX . '/users/' . $aOne['login'] . '/upload/' . $preview . '" alt="' . $preview . '" title="' . $preview . '" />';
}
} else {
// превью сделано на основе оригинальной картинки
$sInner = '<img src="' . WDCPREFIX . '/users/' . $aOne['login'] . '/upload/' . $preview . '" alt="' . $preview . '" title="' . $preview . '" />';
}
} else {
//работа не есть картинка
if ($preview) {
// есть отдельно загруженное превью
$sInner = '<img src="' . WDCPREFIX . '/users/' . $aOne['login'] . '/upload/' . $preview . '" alt="' . $preview . '" title="' . $preview . '" />';
} else {
// нет отдельно загруженного превью
$sInner = 'Работа';
}
}
$sAttach = '<div class="b-post__txt b-post__txt_padbot_15 b-post__txt_fontsize_15">
<a href="' . WDCPREFIX . '/users/' . $aOne['login'] . '/upload/' . $aOne['pict'] . '" target="_blank">' . $sInner . '</a><br/>
' . $sPreview . '
</div>';
}
$txt_cost = view_cost2($aOne['cost'], '', '', false, $aOne['cost_type']);
$txt_time = view_time($aOne['time_value'], $aOne['time_type']);
$is_txt_time = $txt_cost != '' && $txt_time != '';
$sLink = $GLOBALS['host'] . '/users/' . $aOne['login'];
$sLink2 = $aOne['link'] ? '<div class="b-post__txt b-post__txt_padbot_15 b-post__txt_fontsize_15"><strong>Ссылка:</strong> <br/><a href="' . $aOne['link'] . '" target="_blank">' . $aOne['link'] . '</a></div>' : '';
$sTitle = $status != 1 ? $stop_words->replace(xmloutofrangechars($aOne['name'])) : xmloutofrangechars($aOne['name']);
$sTitle = reformat($sTitle, 52, 0, 1);
$aOne['descr'] = nl2br($aOne['descr']);
// грязный хак так как close_tags стала съедать переносы строк
$sMessage = close_tags($aOne['descr'], 'b,i,p,ul,li');
$sMessage = $status != 1 ? $stop_words->replace(xmloutofrangechars($aOne['descr'])) : xmloutofrangechars($aOne['descr']);
$sMessage = reformat($sMessage, 60, 0, 0, 1);
$aOne['is_sent'] = '0';
$aOne['context_code'] = '1';
$aOne['context_link'] = $sLink;
$aOne['context_title'] = $aOne['uname'] . ' ' . $aOne['usurname'] . ' [' . $aOne['login'] . ']';
$sJSParams = "{'content_id': {$nContentId}, 'stream_id': '{$aStream['stream_id']}', 'content_cnt': {$nCnt}, 'status': {$status}, 'is_sent': '{$aOne['is_sent']}'}";
$sEditIcon = _parseEditIcon('admEditPortfolio', $aOne['id'], $status, $sKind, $sJSParams);
$bIsModer = $user_content->hasContentPermissions($nContentId, permissions::getUserPermissions($aOne['user_id']));
$sModified = $aOne['moduser_id'] && ($aOne['moduser_id'] != $aOne['user_id'] || $bIsModer) ? '<div class="b-post__txt b-post__txt_padbot_15"><span style="color:red;">Работа была отредактирована. ' . ($aOne['modified_reason'] ? 'Причина: ' . $aOne['modified_reason'] : 'Без причины') . '</span></div>' : '';
$sPRO = $aOne['moderator_status'] == -1 ? '<div class="b-post__txt b-post__txt_fontsize_11"><span style="color: #cc4642;">У пользователя был аккаунт PRO</span></div>' : '';
$sPro = $aOne['is_pro'] == 't' ? view_pro2($aOne['is_pro_test'] == 't' ? true : false) . ' ' : '';
$sReturn .= '
<div class="b-post b-post_bordtop_dfe3e4 b-post_padtop_15 b-post_marg_20_10" id="my_div_content_' . $aOne['content_id'] . '_' . $aOne['id'] . '_' . $sKind . '">
' . _parseHidden($aOne, $sKind) . '
' . _parseOkIcon($status, $aOne['content_id'], $aOne['id'], $sKind, $aOne['user_id']) . '
' . _parsePostTime($status, $aOne['post_time']) . '
<div class="b-username b-username_padbot_5">' . ($aOne['is_team'] == 't' ? $sTeam : $sPro) . '<a class="b-username__link b-username__link_color_fd6c30 b-username__link_fontsize_11 b-username__link_bold" href="/users/' . $aOne['login'] . '" target="_blank">' . $aOne['uname'] . ' ' . $aOne['usurname'] . ' [' . $aOne['login'] . ']</a></div>
' . ($aOne['warn'] ? '<div class="b-username_padbot_5"><a onclick="parent.user_content.getUserWarns(' . $aOne['user_id'] . ');" href="javascript:void(0);" class="notice">Предупреждения: <span id="warn_' . $aOne['user_id'] . '_' . $aOne['content_id'] . '_' . $aOne['id'] . '">' . intval($aOne['warn']) . '</span></a></div>' : '<div class="b-username_padbot_5 user-notice">Предупреждений нет</div>') . '
' . $sPRO . '
' . _parseMass($aOne, $status, $sKind) . '
<div class="b-post__txt b-post__txt_padbot_10 b-post__txt_fontsize_15"><span class="b-post__bold">Новая работа:</span> <a class="b-post__link b-post__link_fontsize_15" href="/users/' . $aOne['login'] . '/viewproj.php?prjid=' . $aOne['id'] . '" target="_blank">' . $sTitle . '</a></div>
<div class="b-post__txt b-post__txt_fontsize_15">' . $sMessage . '</div>
<div class="b-post__txt b-post__txt_fontsize_15">' . $txt_cost . ($is_txt_time ? ', ' : '') . ($txt_time != '' ? $txt_time : '') . '</div>
' . $sAttach . '
' . $sLink2 . '
' . $sModified . '
' . _parseDelIcons($aOne, 'user_id', $status, $sKind, $sJSParams, $sEditIcon) . '
</div>';
//.........这里部分代码省略.........
示例7: ucfirst
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/messages_spam.php';
$nMessagesSpamCount = messages_spam::getSpamCount();
// количество жалоб на проекты
if (!isset($nComplainProjectsCount)) {
require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/projects.php';
$nComplainProjectsCount = projects::GetComplainPrjsCount();
}
?>
<div class="admin-menu">
<h3>Модераторская</h3>
<?php
if (!isset($aPermissions)) {
require_once $_SERVER['DOCUMENT_ROOT'] . "/classes/permissions.php";
$aPermissions = permissions::getUserPermissions(get_uid(false));
}
foreach ($aPermissions as $sPermission) {
$sVar = 'bHas' . ucfirst($sPermission);
${$sVar} = true;
}
?>
<?php
if ($bHasAll || $bHasAdm) {
?>
<?php
if ($bHasAll || $bHasUsers || $bHasProjects || $bHasBlogs || $bHasCommunes) {
?>
- Действия<br/>
<?php