本文整理汇总了PHP中AuthManager::validateUserIdOrNull方法的典型用法代码示例。如果您正苦于以下问题:PHP AuthManager::validateUserIdOrNull方法的具体用法?PHP AuthManager::validateUserIdOrNull怎么用?PHP AuthManager::validateUserIdOrNull使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AuthManager
的用法示例。
在下文中一共展示了AuthManager::validateUserIdOrNull方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: saveMessageImpl
/**
* Имплементация метода, создающего сообщение
*
* @return DiscussionMsg созданное сообщение
*/
public final function saveMessageImpl($threadId, $parentId, $text, $theme, $templateId, $templateData, PsUser $author)
{
$threadId = $this->validateThreadId($threadId);
$unique = $this->SETTINGS->getUnique();
check_condition($templateId === null || is_integer($templateId), "Код шаблона [{$templateId}] должен быть целочисленным");
check_condition($templateId === null || $this->SETTINGS->isTemplatable(), "Дискуссия [{$unique}] не работает с шаблонными сообщениями");
/* @var $parent DiscussionMsg */
$parent = is_numeric($parentId) ? $this->getMsgById($parentId) : null;
$checkThreadId = $parent ? $this->validateThreadId($parent->getThreadId()) : $threadId;
check_condition($threadId === $checkThreadId, "Не совпадают коды тредов: [{$threadId}]!=[{$checkThreadId}]");
if ($parent) {
check_condition(!$parent->isDeleted(), 'Родительское сообщение удалено.');
check_condition(!$parent->isMaxDeepLevel(), 'Достигнут максимальный уровень вложенности.');
}
$this->assertCanSaveDiscussionMsg($author, $parent, $threadId);
$idUserTo = $parent ? $parent->getUser()->getId() : AuthManager::validateUserIdOrNull($this->getIdUserTo4Root($author, $threadId));
$userTo = is_integer($idUserTo) ? PsUser::inst($idUserTo, true) : null;
return $this->BEAN->saveMsg($threadId, $text, $theme, $templateId, $templateData, $author, $userTo, $parent);
}
示例2: doAudit
protected function doAudit($action, $userId = null, $data = null, $saveToSession = false, $parentAction = null, $auditIfNoParent = true, $clearParent = true)
{
try {
$action = $this->validateAction($action);
$parentAction = $this->validateAction($parentAction, true);
$actionSessionKey = $this->sessionCode($action);
$parentActionSessionKey = $parentAction ? $this->sessionCode($parentAction) : null;
$parentId = $parentActionSessionKey ? SessionArrayHelper::getInt($parentActionSessionKey) : null;
$hasParentIdInSession = is_integer($parentId);
$userId = AuthManager::validateUserIdOrNull($userId);
$userIdAuthed = AuthManager::getUserIdOrNull();
if ($this->LOGGER->isEnabled()) {
$this->LOGGER->info();
$this->LOGGER->info("<Запись #{}>", ++$this->NUM);
$this->LOGGER->info('Действие: {}', $this->decodeAction($action));
$this->LOGGER->info('Пользователь: {}', is_inumeric($userId) ? $userId : 'НЕТ');
$this->LOGGER->info('Авторизованный пользователь: {}', is_inumeric($userIdAuthed) ? $userIdAuthed : 'НЕТ');
$this->LOGGER->info('Данные: {}', $data === null ? 'НЕТ' : print_r($data, true));
$this->LOGGER->info('Сохранять в сессию: {}', $saveToSession ? 'ДА' : 'НЕТ');
$this->LOGGER->info('Родительское действие: {}', $this->decodeAction($parentAction));
if ($parentAction) {
$this->LOGGER->info('Родительское действие есть в сессии: {}', $hasParentIdInSession ? "ДА ({$parentActionSessionKey}={$parentId})" : 'НЕТ');
if ($hasParentIdInSession) {
$this->LOGGER->info('Очищать родительское действие в сессии: {}', $clearParent ? 'ДА' : 'НЕТ');
} else {
$this->LOGGER->info('Производить аудит при отсутствии родит. действия: {}', $auditIfNoParent ? 'ДА' : 'НЕТ');
}
}
}
if (!$hasParentIdInSession && !$auditIfNoParent) {
$this->LOGGER->info('АУДИТ НЕ ПРОИЗВЕДЁН!');
return;
//--- Нужен предок, но его нет
}
$encoded = 0;
if (is_array($data)) {
if (count($data) == 0) {
$data = null;
} else {
$data = self::encodeData($data);
$encoded = 1;
}
}
check_condition($data === null || is_string($data) || is_numeric($data), 'Illegal audit data type: ' . gettype($data) . ' for ' . $this);
$recId = UtilsBean::inst()->saveAudit($parentId, $userId, $userIdAuthed, $this->PROCESS_CODE, $action, $data, $encoded);
if ($this->LOGGER->isEnabled()) {
if ($data !== null) {
$this->LOGGER->info('Данные кодированы: {}', $encoded ? "ДА ({$data})" : 'НЕТ');
}
$this->LOGGER->info('Информация сохранена в базу, id={}', $recId);
}
if ($saveToSession) {
SessionArrayHelper::setInt($actionSessionKey, $recId);
$this->LOGGER->info("Данные о действии сохранены в сессию ({$actionSessionKey}={$recId})");
}
if ($hasParentIdInSession && $clearParent) {
SessionArrayHelper::reset($parentActionSessionKey);
$this->LOGGER->info('Данные о родительском действии удалены из сессии');
}
$this->LOGGER->info('АУДИТ ПРОИЗВЕДЁН.');
} catch (Exception $ex) {
//Не удалось записть аудит, но работа должна быть продолжена!
ExceptionHandler::dumpError($ex);
}
}