we do not have to rebuild indexes after deleting some items added: DirContainer::DelById(long id) changed: Dirs::CheckRootDir() addes the root dir if there is no one added: Dirs::DeleteDir(long id) - deletes specified directory (and its contents) (from the cache and the database) added: Db::DelDirById(long id) - deletes a dir from the database and its first children added: standard function rm can delete directories git-svn-id: svn://ttmath.org/publicrep/cmslu/trunk@487 e52654a7-88a9-db11-a3e9-0013d4bc506e
82 lines
1.0 KiB
C++
Executable File
82 lines
1.0 KiB
C++
Executable File
/*
|
|
* This file is a part of CMSLU -- Content Management System like Unix
|
|
* and is not publicly distributed
|
|
*
|
|
* Copyright (c) 2008, Tomasz Sowa
|
|
* All rights reserved.
|
|
*
|
|
*/
|
|
|
|
#include "session.h"
|
|
|
|
|
|
Session::Session()
|
|
{
|
|
Clear();
|
|
|
|
time = std::time(0);
|
|
tm_time = *std::localtime(&time);
|
|
|
|
last_time = time;
|
|
tm_last_time = tm_time;
|
|
}
|
|
|
|
|
|
void Session::Clear()
|
|
{
|
|
id = 0;
|
|
time = 0;
|
|
puser = 0;
|
|
done = Done::none;
|
|
done_status = Error::ok;
|
|
item.Clear();
|
|
done_timer = 0;
|
|
|
|
dir_old.clear();
|
|
}
|
|
|
|
|
|
bool Session::operator==(const Session & s) const
|
|
{
|
|
return id == s.id;
|
|
}
|
|
|
|
|
|
bool Session::operator<(const Session & s) const
|
|
{
|
|
return id < s.id;
|
|
}
|
|
|
|
|
|
|
|
|
|
bool Session::DecTimer(int & timer)
|
|
{
|
|
if( timer == 0 )
|
|
return false;
|
|
|
|
--timer;
|
|
|
|
if( timer == 0 )
|
|
return true; // we must clear our variables
|
|
|
|
return false;
|
|
}
|
|
|
|
|
|
|
|
void Session::CheckTimers()
|
|
{
|
|
if( DecTimer(done_timer) )
|
|
{
|
|
done = Done::none;
|
|
done_status = Error::ok;
|
|
}
|
|
}
|
|
|
|
void Session::IncrementTimersIfExist()
|
|
{
|
|
if( done_timer != 0 )
|
|
++done_timer;
|
|
}
|