fixed: in DbBase: removed:
DbBase::AssertQuery(const std::wstring & q) there was a recurrence calling (the method called itself) we don't need a method which get a wstring as an argument added: DbBase::AssertQuery(const char * q, ExecStatusType t) DbBase::AssertQuery(const DbTextStream & query, ExecStatusType t) (AssertQuery with a second argument -- the same as to AssertResult) we don't have to use AssertQuery and AssertResult only one AssertQuery now added: to plugins: two messages: // preparing a current user to logout // send from 'logout' winix function // !! IMPROVE ME this message can be sent when winix is making the shutdown // (for sessions which are not mark as 'remember me') // and when the SessionManager deletes a session (from the special thread) #define WINIX_PREPARE_USER_LOGGED_OUT 30610 // a user has been logged out // send from 'logout' winix function // in l1 you have the old user_id // !! IMPROVE ME this message can be sent when winix is making the shutdown // (for sessions which are not mark as 'remember me') // and when the SessionManager deletes a session (from the special thread) #define WINIX_USER_LOGGED_OUT 30620 git-svn-id: svn://ttmath.org/publicrep/winix/trunk@804 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
parent
f6db85fcdb
commit
f381f24402
|
@ -161,6 +161,21 @@
|
|||
// from the session file
|
||||
#define WINIX_USER_LOGGED 30600
|
||||
|
||||
// preparing a current user to logout
|
||||
// send from 'logout' winix function
|
||||
// !! IMPROVE ME this message can be sent when winix is making the shutdown
|
||||
// (for sessions which are not mark as 'remember me')
|
||||
// and when the SessionManager deletes a session (from the special thread)
|
||||
#define WINIX_PREPARE_USER_LOGGED_OUT 30610
|
||||
|
||||
// a user has been logged out
|
||||
// send from 'logout' winix function
|
||||
// in l1 you have the old user_id
|
||||
// !! IMPROVE ME this message can be sent when winix is making the shutdown
|
||||
// (for sessions which are not mark as 'remember me')
|
||||
// and when the SessionManager deletes a session (from the special thread)
|
||||
#define WINIX_USER_LOGGED_OUT 30620
|
||||
|
||||
|
||||
// here you add your own html templates
|
||||
// call TemplatesFunctions::patterns.Add(L"file_name.html")
|
||||
|
|
|
@ -88,10 +88,6 @@ return r;
|
|||
}
|
||||
|
||||
|
||||
PGresult * DbBase::AssertQuery(const std::wstring & q)
|
||||
{
|
||||
return AssertQuery(q.c_str());
|
||||
}
|
||||
|
||||
|
||||
PGresult * DbBase::AssertQuery(const DbTextStream & query)
|
||||
|
@ -100,6 +96,23 @@ PGresult * DbBase::AssertQuery(const DbTextStream & query)
|
|||
}
|
||||
|
||||
|
||||
|
||||
PGresult * DbBase::AssertQuery(const char * q, ExecStatusType t)
|
||||
{
|
||||
PGresult * r = AssertQuery(q);
|
||||
AssertResult(r, t);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
PGresult * DbBase::AssertQuery(const DbTextStream & query, ExecStatusType t)
|
||||
{
|
||||
return AssertQuery(query.CStr(), t);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void DbBase::AssertResult(PGresult * r, ExecStatusType t)
|
||||
{
|
||||
if( PQresultStatus(r) != t )
|
||||
|
|
|
@ -32,8 +32,9 @@ public:
|
|||
void LogQueries(bool log_q);
|
||||
|
||||
PGresult * AssertQuery(const char * query);
|
||||
PGresult * AssertQuery(const std::wstring & query);
|
||||
PGresult * AssertQuery(const DbTextStream & query);
|
||||
PGresult * AssertQuery(const char * q, ExecStatusType t);
|
||||
PGresult * AssertQuery(const DbTextStream & query, ExecStatusType t);
|
||||
void AssertResult(PGresult * r, ExecStatusType t);
|
||||
static int AssertColumn(PGresult * r, const char * column_name);
|
||||
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
* This file is a part of Winix
|
||||
* and is not publicly distributed
|
||||
*
|
||||
* Copyright (c) 2008-2010, Tomasz Sowa
|
||||
* Copyright (c) 2008-2012, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "logout.h"
|
||||
|
||||
#include "core/plugin.h"
|
||||
|
||||
|
||||
|
||||
|
@ -22,11 +22,26 @@ Logout::Logout()
|
|||
}
|
||||
|
||||
|
||||
void Logout::LogoutCurrentUser()
|
||||
{
|
||||
if( cur->session && cur->session->puser )
|
||||
{
|
||||
long user_id = cur->session->puser->id;
|
||||
plugin.Call(WINIX_PREPARE_USER_LOGGED_OUT);
|
||||
|
||||
system->users.LogoutCurrentUser();
|
||||
plugin.Call(WINIX_USER_LOGGED_OUT, user_id);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void Logout::MakeGet()
|
||||
{
|
||||
system->users.LogoutCurrentUser();
|
||||
system->RedirectToLastItem();
|
||||
if( cur->session->puser )
|
||||
{
|
||||
LogoutCurrentUser();
|
||||
system->RedirectToLastItem();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
* This file is a part of Winix
|
||||
* and is not publicly distributed
|
||||
*
|
||||
* Copyright (c) 2010, Tomasz Sowa
|
||||
* Copyright (c) 2010-2012, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
@ -23,7 +23,10 @@ class Logout : public FunctionBase
|
|||
public:
|
||||
|
||||
Logout();
|
||||
|
||||
void MakeGet();
|
||||
void LogoutCurrentUser();
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
|
Loading…
Reference in New Issue