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
|
// from the session file
|
||||||
#define WINIX_USER_LOGGED 30600
|
#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
|
// here you add your own html templates
|
||||||
// call TemplatesFunctions::patterns.Add(L"file_name.html")
|
// 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)
|
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)
|
void DbBase::AssertResult(PGresult * r, ExecStatusType t)
|
||||||
{
|
{
|
||||||
if( PQresultStatus(r) != t )
|
if( PQresultStatus(r) != t )
|
||||||
|
|
|
@ -32,8 +32,9 @@ public:
|
||||||
void LogQueries(bool log_q);
|
void LogQueries(bool log_q);
|
||||||
|
|
||||||
PGresult * AssertQuery(const char * query);
|
PGresult * AssertQuery(const char * query);
|
||||||
PGresult * AssertQuery(const std::wstring & query);
|
|
||||||
PGresult * AssertQuery(const DbTextStream & 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);
|
void AssertResult(PGresult * r, ExecStatusType t);
|
||||||
static int AssertColumn(PGresult * r, const char * column_name);
|
static int AssertColumn(PGresult * r, const char * column_name);
|
||||||
|
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
* This file is a part of Winix
|
* This file is a part of Winix
|
||||||
* and is not publicly distributed
|
* and is not publicly distributed
|
||||||
*
|
*
|
||||||
* Copyright (c) 2008-2010, Tomasz Sowa
|
* Copyright (c) 2008-2012, Tomasz Sowa
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "logout.h"
|
#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()
|
void Logout::MakeGet()
|
||||||
{
|
{
|
||||||
system->users.LogoutCurrentUser();
|
if( cur->session->puser )
|
||||||
|
{
|
||||||
|
LogoutCurrentUser();
|
||||||
system->RedirectToLastItem();
|
system->RedirectToLastItem();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* This file is a part of Winix
|
* This file is a part of Winix
|
||||||
* and is not publicly distributed
|
* and is not publicly distributed
|
||||||
*
|
*
|
||||||
* Copyright (c) 2010, Tomasz Sowa
|
* Copyright (c) 2010-2012, Tomasz Sowa
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -23,7 +23,10 @@ class Logout : public FunctionBase
|
||||||
public:
|
public:
|
||||||
|
|
||||||
Logout();
|
Logout();
|
||||||
|
|
||||||
void MakeGet();
|
void MakeGet();
|
||||||
|
void LogoutCurrentUser();
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue