static function adjust($priv) { $blogid = getBlogId(); if (!Acl::isAvailable($blogid)) { Acl::setAcl($blogid); } $currpriv = Acl::getCurrentPrivilege(); foreach ($priv as $obj) { if (function_exists("fireEvent")) { $currpriv = call_user_func("fireEvent", "AclAdjustPrivilege", $currpriv, $obj); } } return $currpriv; }
function login($loginid, $password, $expires = null) { $ctx = Model_Context::getInstance(); $loginid = POD::escapeString($loginid); $blogid = getBlogId(); $userid = Auth::authenticate($blogid, $loginid, $password); if ($userid === false) { return false; } if (empty($_POST['save'])) { setcookie('TSSESSION_LOGINID', '', time() - 31536000, $ctx->getProperty('service.path') . '/', $ctx->getProperty('service.domain')); } else { setcookie('TSSESSION_LOGINID', $loginid, time() + 31536000, $ctx->getProperty('service.path') . '/', $ctx->getProperty('service.domain')); } if (in_array("group.writers", Acl::getCurrentPrivilege())) { Session::authorize($blogid, $userid, $expires); } return true; }
function setAcl($openid) { Acl::authorize('openid', $openid); $pool = DBModel::getInstance(); $context = Model_Context::getInstance(); $blogid = intval($context->getProperty('blog.id')); $pool->reset('UserSettings'); $pool->setQualifier('name', 'like', 'openid.', true); $pool->setQualifier('value', 'equals', $openid, true); $pool->setOrder('userid', 'ASC'); $result = $pool->getCell('userid'); $userid = null; if ($result) { $userid = $result; Acl::authorize('textcube', $userid); } if (!empty($userid) && in_array("group.writers", Acl::getCurrentPrivilege())) { Session::authorize($blogid, $userid); } else { Session::authorize($blogid, SESSION_OPENID_USERID); } }