Пример #1
0
 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;
 }
Пример #2
0
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);
     }
 }