WIP: remove the old database abstraction layer
remove such classes: - DbBase - DbConn - DbTextStream - Db while here: - remove: TextStream, SLog, TexTextStream
This commit is contained in:
parent
5d457f3d4b
commit
6aa100f12c
8688
winixd/Makefile.dep
8688
winixd/Makefile.dep
File diff suppressed because it is too large
Load Diff
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2023, Tomasz Sowa
|
||||
* Copyright (c) 2010-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -103,13 +103,7 @@ App::App()
|
|||
cur.session = nullptr;
|
||||
cur.mount = nullptr;
|
||||
|
||||
db_conn.set_dependency(&winix_base);
|
||||
|
||||
db.set_dependency(&winix_base);
|
||||
db.SetConn(db_conn);
|
||||
|
||||
plugin.set_dependency(&winix_model);
|
||||
plugin.SetDb(&db);
|
||||
plugin.SetCur(&cur);
|
||||
plugin.SetSystem(&system);
|
||||
plugin.SetFunctions(&functions);
|
||||
|
@ -128,7 +122,6 @@ App::App()
|
|||
|
||||
//functions.SetConfig(&config);
|
||||
functions.SetCur(&cur);
|
||||
functions.SetDb(&db);
|
||||
functions.SetSystem(&system);
|
||||
functions.SetTemplates(&templates);
|
||||
//functions.SetSynchro(&synchro);
|
||||
|
@ -138,7 +131,6 @@ App::App()
|
|||
system.set_dependency(&winix_model);
|
||||
//system.SetConfig(&config);
|
||||
system.SetCur(&cur);
|
||||
system.SetDb(&db);
|
||||
//system.SetSynchro(&synchro);
|
||||
system.SetFunctions(&functions);
|
||||
system.SetSessionManager(&session_manager);
|
||||
|
@ -146,7 +138,6 @@ App::App()
|
|||
templates.set_dependency(&winix_request);
|
||||
templates.SetConfig(&config);
|
||||
templates.SetCur(&cur);
|
||||
templates.SetDb(&db);
|
||||
templates.SetSystem(&system);
|
||||
templates.SetFunctions(&functions);
|
||||
templates.SetSessionManager(&session_manager);
|
||||
|
@ -174,38 +165,10 @@ Log & App::GetMainLog()
|
|||
}
|
||||
|
||||
|
||||
|
||||
bool App::TranslateFCGInames(char * sock, char * sock_user, char * sock_group)
|
||||
{
|
||||
if( !wide_to_utf8(config.fcgi_socket, sock, WINIX_OS_PATH_SIZE) )
|
||||
{
|
||||
log << log1 << "App: I cannot correctly change FastCGI socket path to utf-8 string" << logend;
|
||||
return false;
|
||||
}
|
||||
|
||||
if( config.fcgi_set_socket_owner )
|
||||
{
|
||||
if( !wide_to_utf8(config.fcgi_socket_user, sock_user, WINIX_OS_USERNAME_SIZE) )
|
||||
{
|
||||
log << log1 << "App: I cannot correctly change FastCGI user name to utf-8 string" << logend;
|
||||
return false;
|
||||
}
|
||||
|
||||
if( !wide_to_utf8(config.fcgi_socket_group, sock_group, WINIX_OS_USERNAME_SIZE) )
|
||||
{
|
||||
log << log1 << "App: I cannot correctly change FastCGI group name to utf-8 string" << logend;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* chmod and chown of the socket are set before winix drops privileges
|
||||
*/
|
||||
bool App::InitFCGIChmodChownSocket(char * sock, char * sock_user, char * sock_group)
|
||||
bool App::InitFCGIChmodChownSocket(const char * sock)
|
||||
{
|
||||
if( config.fcgi_set_socket_chmod )
|
||||
{
|
||||
|
@ -218,7 +181,11 @@ bool App::InitFCGIChmodChownSocket(char * sock, char * sock_user, char * sock_gr
|
|||
|
||||
if( config.fcgi_set_socket_owner )
|
||||
{
|
||||
passwd * pw = getpwnam(sock_user);
|
||||
std::string sock_user, sock_group;
|
||||
pt::wide_to_utf8(config.fcgi_socket_user, sock_user);
|
||||
pt::wide_to_utf8(config.fcgi_socket_group, sock_group);
|
||||
|
||||
passwd * pw = getpwnam(sock_user.c_str());
|
||||
|
||||
if( !pw )
|
||||
{
|
||||
|
@ -226,7 +193,7 @@ bool App::InitFCGIChmodChownSocket(char * sock, char * sock_user, char * sock_gr
|
|||
return false;
|
||||
}
|
||||
|
||||
group * gr = getgrnam(sock_group);
|
||||
group * gr = getgrnam(sock_group.c_str());
|
||||
|
||||
if( !gr )
|
||||
{
|
||||
|
@ -248,17 +215,13 @@ return true;
|
|||
|
||||
bool App::InitFCGI()
|
||||
{
|
||||
char sock[WINIX_OS_PATH_SIZE];
|
||||
char sock_user[WINIX_OS_USERNAME_SIZE];
|
||||
char sock_group[WINIX_OS_USERNAME_SIZE];
|
||||
std::string sock, sock_user, sock_group;
|
||||
pt::wide_to_utf8(config.fcgi_socket, sock);
|
||||
|
||||
if( !TranslateFCGInames(sock, sock_user, sock_group) )
|
||||
return false;
|
||||
|
||||
unlink(sock);
|
||||
unlink(sock.c_str());
|
||||
|
||||
log << log3 << "App: trying to create a fcgi connection socket: " << sock << logend << logsave;
|
||||
fcgi_socket = FCGX_OpenSocket(sock, config.fcgi_socket_listen);
|
||||
fcgi_socket = FCGX_OpenSocket(sock.c_str(), config.fcgi_socket_listen);
|
||||
/*
|
||||
* WARNING:
|
||||
* when there is a problem with creating the socket then FCGX_OpenSocket will call exit()
|
||||
|
@ -273,16 +236,16 @@ char sock_group[WINIX_OS_USERNAME_SIZE];
|
|||
|
||||
log << log3 << "App: FastCGI socket number: " << fcgi_socket << logend;
|
||||
|
||||
if( !InitFCGIChmodChownSocket(sock, sock_user, sock_group) )
|
||||
if( !InitFCGIChmodChownSocket(sock.c_str()) )
|
||||
return false;
|
||||
|
||||
if( FCGX_Init() != 0 )
|
||||
{
|
||||
log << log1 << "App: FCGX_Init fails" << logend;
|
||||
log << log1 << "App: FCGX_Init has failed" << logend;
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
@ -385,7 +348,6 @@ bool App::Init()
|
|||
model_connector.set_winix_mounts(&system.mounts);
|
||||
model_connector.set_winix_users(&system.users);
|
||||
model_connector.set_winix_groups(&system.groups);
|
||||
model_connector.set_winix_session_logger(nullptr); // will be set for each request
|
||||
model_connector.set_winix_session(nullptr); // will be set for each request
|
||||
model_connector.set_winix_locale(&TemplatesFunctions::locale);
|
||||
model_connector.set_winix_session_manager(&session_manager);
|
||||
|
@ -400,17 +362,6 @@ bool App::Init()
|
|||
if( !TryToMakeDatabaseMigration() )
|
||||
return false;
|
||||
|
||||
// will be removed
|
||||
if( !config.db_conn_string.empty() )
|
||||
db_conn.SetConnParam(config.db_conn_string);
|
||||
else
|
||||
db_conn.SetConnParam(config.db_host, config.db_hostaddr, config.db_port, config.db_database, config.db_user, config.db_pass);
|
||||
|
||||
if( !db_conn.WaitForConnection(config.db_startup_connection_max_attempts, config.db_startup_connection_attempt_delay) )
|
||||
return false;
|
||||
|
||||
db.LogQueries(config.log_db_query);
|
||||
|
||||
compress.set_dependency(&winix_base);
|
||||
compress.Init();
|
||||
|
||||
|
@ -827,7 +778,6 @@ void App::ClearAfterRequest()
|
|||
|
||||
model_connector.set_winix_request(nullptr);
|
||||
model_connector.set_winix_session(nullptr);
|
||||
model_connector.set_winix_session_logger(nullptr);
|
||||
|
||||
log << logendrequest;
|
||||
}
|
||||
|
@ -1580,10 +1530,10 @@ void App::LogUserGroups()
|
|||
|
||||
bool App::DropPrivileges(char * user, char * group)
|
||||
{
|
||||
if( !wide_to_utf8(config.user, user, WINIX_OS_USERNAME_SIZE) )
|
||||
if( !pt::wide_to_utf8(config.user, (char*)user, WINIX_OS_USERNAME_SIZE) )
|
||||
return false;
|
||||
|
||||
if( !wide_to_utf8(config.group, group, WINIX_OS_USERNAME_SIZE) )
|
||||
if( !pt::wide_to_utf8(config.group, (char*)group, WINIX_OS_USERNAME_SIZE) )
|
||||
return false;
|
||||
|
||||
return true;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2023, Tomasz Sowa
|
||||
* Copyright (c) 2010-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -46,7 +46,6 @@
|
|||
#include <fcgiapp.h>
|
||||
|
||||
#include "sessionmanager.h"
|
||||
#include "db/db.h"
|
||||
#include "functions/functions.h"
|
||||
#include "templates/templates.h"
|
||||
#include "compress.h"
|
||||
|
@ -99,10 +98,6 @@ public:
|
|||
// users sessions
|
||||
SessionManager session_manager;
|
||||
|
||||
// database (DEPRACATED)
|
||||
Db db;
|
||||
DbConn db_conn;
|
||||
|
||||
// an unique id for each request
|
||||
size_t request_id;
|
||||
|
||||
|
@ -170,8 +165,7 @@ private:
|
|||
|
||||
bool AddSystemThreads();
|
||||
|
||||
bool TranslateFCGInames(char * sock, char * sock_user, char * sock_group);
|
||||
bool InitFCGIChmodChownSocket(char * sock, char * sock_user, char * sock_group);
|
||||
bool InitFCGIChmodChownSocket(const char * sock);
|
||||
bool DropPrivileges(char * user, char * group);
|
||||
bool DropPrivileges(const char * user, uid_t uid, gid_t gid, bool additional_groups);
|
||||
bool CheckAccessFromPlugins();
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2021, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -42,13 +42,6 @@ namespace Winix
|
|||
{
|
||||
|
||||
|
||||
|
||||
void Dirs::SetDb(Db * pdb)
|
||||
{
|
||||
db = pdb;
|
||||
}
|
||||
|
||||
|
||||
void Dirs::SetCur(Cur * pcur)
|
||||
{
|
||||
cur = pcur;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2021, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -40,7 +40,6 @@
|
|||
#include <map>
|
||||
#include <string>
|
||||
#include "dircontainer.h"
|
||||
#include "db/db.h"
|
||||
#include "request.h"
|
||||
#include "models/item.h"
|
||||
#include "winixmodeldeprecated.h"
|
||||
|
@ -65,7 +64,6 @@ public:
|
|||
void ReadDirs();
|
||||
|
||||
void SetCur(Cur * pcur);
|
||||
void SetDb(Db * pdb);
|
||||
void SetNotify(Notify * pnotify);
|
||||
|
||||
void set_dependency(WinixModelDeprecated * winix_model);
|
||||
|
@ -130,7 +128,6 @@ public:
|
|||
private:
|
||||
|
||||
Cur * cur;
|
||||
Db * db;
|
||||
Notify * notify;
|
||||
|
||||
DirContainer dir_tab;
|
||||
|
|
|
@ -59,7 +59,7 @@ void Groups::Clear()
|
|||
}
|
||||
|
||||
|
||||
void Groups::ReadGroups(Db * db)
|
||||
void Groups::ReadGroups()
|
||||
{
|
||||
Clear();
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2018, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -39,7 +39,6 @@
|
|||
|
||||
#include "models/group.h"
|
||||
#include "ugcontainer.h"
|
||||
#include "db/db.h"
|
||||
#include "winixmodeldeprecated.h"
|
||||
|
||||
|
||||
|
@ -64,7 +63,7 @@ public:
|
|||
|
||||
Groups();
|
||||
void Clear();
|
||||
void ReadGroups(Db * db);
|
||||
void ReadGroups();
|
||||
Group * GetGroup(long group_id);
|
||||
Group * GetGroup(const std::wstring & name);
|
||||
long GetGroupId(const std::wstring & name);
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2022, Tomasz Sowa
|
||||
* Copyright (c) 2010-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -34,6 +34,7 @@
|
|||
|
||||
#include <ctime>
|
||||
#include "image.h"
|
||||
#include "core/misc.h"
|
||||
#include "utf8/utf8.h"
|
||||
#include "system.h"
|
||||
#include "lock.h"
|
||||
|
@ -44,14 +45,6 @@ namespace Winix
|
|||
{
|
||||
|
||||
|
||||
|
||||
|
||||
void Image::SetDb(Db * pdb)
|
||||
{
|
||||
db = pdb;
|
||||
}
|
||||
|
||||
|
||||
void Image::SetConfig(Config * pconfig)
|
||||
{
|
||||
config = pconfig;
|
||||
|
@ -292,19 +285,13 @@ bool end;
|
|||
|
||||
|
||||
|
||||
void Image::Add(const std::wstring & in, TextStream<std::string> & out)
|
||||
{
|
||||
pt::wide_to_utf8(in, add_tempa);
|
||||
out << add_tempa;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
void Image::EscapePath(const std::string & path, TextStream<std::string> & out, bool clear_stream)
|
||||
void Image::EscapePath(const std::string & path, pt::TextStream & out, bool clear_stream)
|
||||
{
|
||||
if( clear_stream )
|
||||
out.Clear();
|
||||
out.clear();
|
||||
|
||||
out << '"';
|
||||
|
||||
|
@ -402,9 +389,9 @@ bool Image::CreateInputFileName()
|
|||
// second thread (objects locked)
|
||||
void Image::CreateTmpFileName()
|
||||
{
|
||||
stream_tmp_path.Clear();
|
||||
stream_tmp_path.clear();
|
||||
stream_tmp_path << config->upload_dir << L"/tmp/image_" << std::time(0);
|
||||
pt::wide_to_utf8(stream_tmp_path.Str(), tmp_file_name);
|
||||
stream_tmp_path.to_str(tmp_file_name);
|
||||
}
|
||||
|
||||
|
||||
|
@ -427,8 +414,8 @@ bool Image::CreateCommand()
|
|||
if( !CreateInputFileName() )
|
||||
return false;
|
||||
|
||||
command.Clear();
|
||||
Add(config->convert_cmd, command);
|
||||
command.clear();
|
||||
command << config->convert_cmd;
|
||||
|
||||
command << " ";
|
||||
EscapePath(input_file_name, command, false);
|
||||
|
@ -472,7 +459,7 @@ bool Image::CreateCommand()
|
|||
command << " ";
|
||||
EscapePath(tmp_file_name, command, false);
|
||||
|
||||
log << log4 << "Image: running: " << command.Str() << logend;
|
||||
log << log4 << "Image: running: " << command << logend;
|
||||
|
||||
|
||||
return true;
|
||||
|
@ -553,7 +540,10 @@ void Image::SaveImage()
|
|||
|
||||
if( system->MakeFilePath(file_work, dst_path, thumb, true, config->upload_dirs_chmod, config->upload_group_int) )
|
||||
{
|
||||
if( RenameFile(stream_tmp_path.Str(), dst_path) )
|
||||
std::wstring from;
|
||||
stream_tmp_path.to_str(from);
|
||||
|
||||
if( RenameFile(from, dst_path) )
|
||||
{
|
||||
// it doesn't matter for us if there is an error when chmod/chown on a file
|
||||
// the admin (root) will correct it
|
||||
|
@ -562,10 +552,10 @@ void Image::SaveImage()
|
|||
}
|
||||
else
|
||||
{
|
||||
log << log1 << "Image: cannot move a temporary file: " << stream_tmp_path.Str()
|
||||
log << log1 << "Image: cannot move a temporary file: " << stream_tmp_path
|
||||
<< ", to: " << dst_path << logend;
|
||||
|
||||
Winix::RemoveFile(stream_tmp_path.Str());
|
||||
Winix::RemoveFile(from);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -582,7 +572,9 @@ void Image::CreateImage()
|
|||
{
|
||||
if( CreateCommand() )
|
||||
{
|
||||
int res = std::system(command.CStr());
|
||||
std::string command_str;
|
||||
command.to_str(command_str);
|
||||
int res = std::system(command_str.c_str());
|
||||
|
||||
if( res == 0 )
|
||||
{
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2021, Tomasz Sowa
|
||||
* Copyright (c) 2010-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -38,8 +38,6 @@
|
|||
#include <string>
|
||||
#include <list>
|
||||
#include "basethread.h"
|
||||
#include "textstream.h"
|
||||
#include "db/db.h"
|
||||
#include "core/config.h"
|
||||
#include "models/item.h"
|
||||
|
||||
|
@ -116,7 +114,6 @@ public:
|
|||
};
|
||||
|
||||
|
||||
void SetDb(Db * pdb);
|
||||
void SetConfig(Config * pconfig);
|
||||
void SetSystem(System * psystem);
|
||||
|
||||
|
@ -147,7 +144,6 @@ public:
|
|||
|
||||
private:
|
||||
|
||||
Db * db;
|
||||
Config * config;
|
||||
System * system;
|
||||
|
||||
|
@ -185,9 +181,8 @@ private:
|
|||
// only for second thread
|
||||
ImageItem item_work;
|
||||
std::wstring src_path, dst_path;
|
||||
TextStream<std::string> command;
|
||||
TextStream<std::wstring> stream_tmp_path;
|
||||
std::string add_tempa;
|
||||
pt::TextStream command;
|
||||
pt::WTextStream stream_tmp_path;
|
||||
std::string input_file_name;
|
||||
std::string tmp_file_name;
|
||||
Item file_work;
|
||||
|
@ -200,9 +195,8 @@ private:
|
|||
void SaveImage();
|
||||
void CreateImage();
|
||||
void SelectAspect(size_t cx, size_t cy);
|
||||
void EscapePath(const std::string & path, TextStream<std::string> & out, bool clear_stream = true);
|
||||
void EscapePath(const std::string & path, pt::TextStream & out, bool clear_stream = true);
|
||||
void CheckParam(ImageItem & item);
|
||||
void Add(const std::wstring & in, TextStream<std::string> & out);
|
||||
void ImageSavedCorrectly();
|
||||
|
||||
};
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2011-2018, Tomasz Sowa
|
||||
* Copyright (c) 2011-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -74,12 +74,6 @@ enum LogManipulators
|
|||
*/
|
||||
logendrequest,
|
||||
|
||||
/*
|
||||
* it would be better to the SLog to have its own manipulators
|
||||
*/
|
||||
loginfo,
|
||||
logerror,
|
||||
logwarning
|
||||
};
|
||||
|
||||
|
||||
|
|
|
@ -855,7 +855,7 @@ bool IsFile(const wchar_t * file)
|
|||
struct stat sb;
|
||||
char file_name[WINIX_OS_PATH_SIZE];
|
||||
|
||||
if( !wide_to_utf8(file, file_name, WINIX_OS_PATH_SIZE) )
|
||||
if( !pt::wide_to_utf8(file, (char*)file_name, WINIX_OS_PATH_SIZE) )
|
||||
return false;
|
||||
|
||||
return (stat(file_name, &sb) == 0);
|
||||
|
@ -877,7 +877,7 @@ char dir_name[WINIX_OS_PATH_SIZE];
|
|||
|
||||
if( !IsFile(dir) )
|
||||
{
|
||||
if( !wide_to_utf8(dir, dir_name, WINIX_OS_PATH_SIZE) )
|
||||
if( !pt::wide_to_utf8(dir, (char*)dir_name, WINIX_OS_PATH_SIZE) )
|
||||
return false;
|
||||
|
||||
if( mkdir(dir_name, 0777) < 0 )
|
||||
|
@ -953,7 +953,7 @@ struct group * result;
|
|||
char group_name[WINIX_OS_USERNAME_SIZE];
|
||||
char buffer[512];
|
||||
|
||||
if( !wide_to_utf8(name, group_name, WINIX_OS_USERNAME_SIZE) )
|
||||
if( !pt::wide_to_utf8(name, (char*)group_name, WINIX_OS_USERNAME_SIZE) )
|
||||
return -1;
|
||||
|
||||
if( getgrnam_r(group_name, &gr, buffer, sizeof(buffer)/sizeof(char), &result) != 0 )
|
||||
|
@ -989,7 +989,7 @@ bool SetPriv(const wchar_t * name, int priv, int group)
|
|||
{
|
||||
char file_name[WINIX_OS_PATH_SIZE];
|
||||
|
||||
if( !wide_to_utf8(name, file_name, WINIX_OS_PATH_SIZE) )
|
||||
if( !pt::wide_to_utf8(name, (char*)file_name, WINIX_OS_PATH_SIZE) )
|
||||
return false;
|
||||
|
||||
if( chmod(file_name, priv) < 0 )
|
||||
|
@ -1047,10 +1047,10 @@ char src_name[WINIX_OS_PATH_SIZE];
|
|||
char dst_name[WINIX_OS_PATH_SIZE];
|
||||
FILE * in, * out;
|
||||
|
||||
if( !wide_to_utf8(src, src_name, WINIX_OS_PATH_SIZE) )
|
||||
if( !pt::wide_to_utf8(src, (char*)src_name, WINIX_OS_PATH_SIZE) )
|
||||
return false;
|
||||
|
||||
if( !wide_to_utf8(dst, dst_name, WINIX_OS_PATH_SIZE) )
|
||||
if( !pt::wide_to_utf8(dst, (char*)dst_name, WINIX_OS_PATH_SIZE) )
|
||||
return false;
|
||||
|
||||
in = fopen(src_name, "rb");
|
||||
|
@ -1092,7 +1092,7 @@ bool RemoveFile(const wchar_t * file)
|
|||
{
|
||||
char file_name[WINIX_OS_PATH_SIZE];
|
||||
|
||||
if( !wide_to_utf8(file, file_name, WINIX_OS_PATH_SIZE) )
|
||||
if( !pt::wide_to_utf8(file, (char*)file_name, WINIX_OS_PATH_SIZE) )
|
||||
return false;
|
||||
|
||||
return unlink(file_name) == 0;
|
||||
|
@ -1111,10 +1111,10 @@ bool RenameFile(const wchar_t * from, const wchar_t * to)
|
|||
char from_name[WINIX_OS_PATH_SIZE];
|
||||
char to_name[WINIX_OS_PATH_SIZE];
|
||||
|
||||
if( !wide_to_utf8(from, from_name, WINIX_OS_PATH_SIZE) )
|
||||
if( !pt::wide_to_utf8(from, (char*)from_name, WINIX_OS_PATH_SIZE) )
|
||||
return false;
|
||||
|
||||
if( !wide_to_utf8(to, to_name, WINIX_OS_PATH_SIZE) )
|
||||
if( !pt::wide_to_utf8(to, (char*)to_name, WINIX_OS_PATH_SIZE) )
|
||||
return false;
|
||||
|
||||
return rename(from_name, to_name) == 0;
|
||||
|
@ -1138,7 +1138,7 @@ std::ifstream get_file_content;
|
|||
if( clear_content )
|
||||
content.clear();
|
||||
|
||||
if( !wide_to_utf8(file_path, file, WINIX_OS_PATH_SIZE) )
|
||||
if( !pt::wide_to_utf8(file_path, (char*)file, WINIX_OS_PATH_SIZE) )
|
||||
return false;
|
||||
|
||||
get_file_content.open(file, std::ios_base::in | std::ios_base::binary);
|
||||
|
@ -1170,7 +1170,7 @@ std::ifstream get_file_content;
|
|||
if( clear_content )
|
||||
content.clear();
|
||||
|
||||
if( !wide_to_utf8(file_path, file, WINIX_OS_PATH_SIZE) )
|
||||
if( !pt::wide_to_utf8(file_path, (char*)file, WINIX_OS_PATH_SIZE) )
|
||||
return false;
|
||||
|
||||
get_file_content.open(file, std::ios_base::in | std::ios_base::binary);
|
||||
|
@ -1205,7 +1205,7 @@ std::ifstream get_file_content;
|
|||
if( clear_content )
|
||||
content.clear();
|
||||
|
||||
if( !wide_to_utf8(file_path, file, WINIX_OS_PATH_SIZE) )
|
||||
if( !pt::wide_to_utf8(file_path, (char*)file, WINIX_OS_PATH_SIZE) )
|
||||
return false;
|
||||
|
||||
get_file_content.open(file, std::ios_base::in | std::ios_base::binary);
|
||||
|
@ -1544,29 +1544,6 @@ void JSONescapeStream(const std::wstring & in, pt::WTextStream & out)
|
|||
|
||||
|
||||
|
||||
bool wide_to_utf8(const wchar_t * wide_string, char * utf8, size_t utf8_size)
|
||||
{
|
||||
bool res = pt::wide_to_utf8(wide_string, utf8, utf8_size);
|
||||
|
||||
if( !res )
|
||||
{
|
||||
/*
|
||||
* either the 'utf8' buffer is too small or there was an error when converting
|
||||
*/
|
||||
//log << log1 << "Misc: I cannot convert from a wide string to an UTF-8 string, original string was: "
|
||||
// << wide_string << logend;
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
bool wide_to_utf8(const std::wstring & wide_string, char * utf8, size_t utf8_size)
|
||||
{
|
||||
return wide_to_utf8(wide_string.c_str(), utf8, utf8_size);
|
||||
}
|
||||
|
||||
|
||||
void calculate_timespec_diff(timespec & start, timespec & stop, timespec & result)
|
||||
{
|
||||
/*
|
||||
|
|
|
@ -996,16 +996,6 @@ void JSONescapeStream(const std::wstring & in, pt::WTextStream & out);
|
|||
|
||||
|
||||
|
||||
/*
|
||||
* converting from a wide string to an UTF-8 string
|
||||
* and puts a log if the conversion fails
|
||||
*
|
||||
* it uses pt::wide_to_utf8()
|
||||
*/
|
||||
bool wide_to_utf8(const wchar_t * wide_string, char * utf8, size_t utf8_size);
|
||||
bool wide_to_utf8(const std::wstring & wide_string, char * utf8, size_t utf8_size);
|
||||
|
||||
|
||||
/*
|
||||
* calculate diff between start and stop timespec
|
||||
*
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2009-2022, Tomasz Sowa
|
||||
* Copyright (c) 2009-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -35,8 +35,6 @@
|
|||
#include "mounts.h"
|
||||
#include "request.h"
|
||||
#include "log.h"
|
||||
#include "db/db.h"
|
||||
#include "cur.h"
|
||||
#include "dirs.h"
|
||||
|
||||
|
||||
|
@ -115,12 +113,6 @@ void Mounts::SetDirs(Dirs * pdirs)
|
|||
}
|
||||
|
||||
|
||||
void Mounts::SetDb(Db * pdb)
|
||||
{
|
||||
db = pdb;
|
||||
}
|
||||
|
||||
|
||||
int Mounts::AddMountType(const wchar_t * type)
|
||||
{
|
||||
mount_type_tab.push_back(type);
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2009-2022, Tomasz Sowa
|
||||
* Copyright (c) 2009-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -41,9 +41,6 @@
|
|||
#include <string>
|
||||
#include <vector>
|
||||
#include "mount.h"
|
||||
#include "error.h"
|
||||
#include "db/db.h"
|
||||
#include "request.h"
|
||||
#include "mountparser.h"
|
||||
#include "winixmodeldeprecated.h"
|
||||
|
||||
|
@ -51,7 +48,7 @@
|
|||
namespace Winix
|
||||
{
|
||||
class Dirs;
|
||||
|
||||
class Request;
|
||||
|
||||
|
||||
class Mounts : public WinixModelDeprecated
|
||||
|
@ -113,7 +110,6 @@ public:
|
|||
int MountParLang() { return mount_par_lang; }
|
||||
|
||||
void SetDirs(Dirs * pdirs);
|
||||
void SetDb(Db * pdb);
|
||||
|
||||
// dir_id, mount_point
|
||||
typedef std::map<long, Mount> MountTab;
|
||||
|
@ -142,7 +138,6 @@ public:
|
|||
|
||||
private:
|
||||
|
||||
Db * db;
|
||||
Dirs * dirs;
|
||||
|
||||
bool skip_static;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2023, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -65,7 +65,6 @@ Plugin::Plugin()
|
|||
{
|
||||
current_plugin = -1;
|
||||
|
||||
db = nullptr;
|
||||
cur = nullptr;
|
||||
system = nullptr;
|
||||
functions = nullptr;
|
||||
|
@ -83,12 +82,6 @@ Plugin::~Plugin()
|
|||
}
|
||||
|
||||
|
||||
void Plugin::SetDb(Db * pdb)
|
||||
{
|
||||
db = pdb;
|
||||
}
|
||||
|
||||
|
||||
void Plugin::SetSystem(System * psystem)
|
||||
{
|
||||
system = psystem;
|
||||
|
@ -145,14 +138,13 @@ void Plugin::Unlock()
|
|||
bool Plugin::SetDependencyForPluginInfo(morm::ModelConnector * pmodel_connector, Log * plog, Cur * pcur, PluginInfo & info)
|
||||
{
|
||||
// for safety we call a plugin function only when all our pointers are not null
|
||||
bool res = (pmodel_connector && plog && pcur && db && config && system && functions && templates && synchro && session_manager && winix_request);
|
||||
bool res = (pmodel_connector && plog && pcur && config && system && functions && templates && synchro && session_manager && winix_request);
|
||||
|
||||
if( !res )
|
||||
{
|
||||
log << log1 << "Plugin: cannot call a function - some of the winix pointers are null" << logend;
|
||||
}
|
||||
|
||||
info.db = db;
|
||||
info.config = config;
|
||||
info.cur = pcur;
|
||||
info.system = system;
|
||||
|
@ -198,8 +190,8 @@ void * Plugin::LoadInitFun(const wchar_t * filename, Fun1 & fun_init)
|
|||
{
|
||||
char file[WINIX_OS_PATH_SIZE];
|
||||
|
||||
if( !wide_to_utf8(filename, file, WINIX_OS_PATH_SIZE) )
|
||||
return 0;
|
||||
if( !pt::wide_to_utf8(filename, (char*)file, WINIX_OS_PATH_SIZE) )
|
||||
return nullptr;
|
||||
|
||||
void * p = dlopen(file, RTLD_NOW | RTLD_LOCAL);
|
||||
|
||||
|
@ -207,7 +199,7 @@ char file[WINIX_OS_PATH_SIZE];
|
|||
{
|
||||
log << log1 << "Plugin: cannot load a plugin: \"" << filename << "\"" << logend;
|
||||
log << log1 << "Plugin: dlerror: " << dlerror() << logend;
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
fun_init = (Fun1)dlsym(p, "Init");
|
||||
|
@ -218,14 +210,14 @@ char file[WINIX_OS_PATH_SIZE];
|
|||
<< " (there is no Init() function)" << logend;
|
||||
|
||||
dlclose(p);
|
||||
return 0;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
log << log2 << "Plugin: plugin loaded"
|
||||
<< ", file: " << filename
|
||||
<< ", index: " << plugins.size() << logend;
|
||||
|
||||
return p;
|
||||
return p;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2023, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -99,7 +99,6 @@ struct PluginInfo
|
|||
|
||||
|
||||
// objects from winix which are accessible from a plugin
|
||||
Db * db;
|
||||
Config * config;
|
||||
Cur * cur;
|
||||
System * system;
|
||||
|
@ -208,7 +207,6 @@ public:
|
|||
Plugin();
|
||||
~Plugin();
|
||||
|
||||
void SetDb(Db * pdb);
|
||||
void SetSystem(System * psystem);
|
||||
void SetCur(Cur * cur);
|
||||
void SetFunctions(Functions * pfunctions);
|
||||
|
@ -253,7 +251,6 @@ public:
|
|||
|
||||
private:
|
||||
|
||||
Db * db;
|
||||
Cur * cur;
|
||||
System * system;
|
||||
Functions * functions;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2023, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -42,7 +42,6 @@
|
|||
#include "models/item.h"
|
||||
#include "error.h"
|
||||
#include "config.h"
|
||||
#include "textstream.h"
|
||||
#include "templates/htmltextstream.h"
|
||||
#include "date/date.h"
|
||||
#include "space/space.h"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2022, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -105,7 +105,6 @@ void Session::Clear(bool clear_plugin_data)
|
|||
start_date.Clear();
|
||||
last_date.Clear();
|
||||
|
||||
log_buffer.Clear();
|
||||
last_css.clear();
|
||||
ip_ban = 0;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2022, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -43,7 +43,6 @@
|
|||
#include "models/user.h"
|
||||
#include "plugindata.h"
|
||||
#include "rebus.h"
|
||||
#include "textstream.h"
|
||||
#include "date/date.h"
|
||||
#include "ipban.h"
|
||||
|
||||
|
@ -115,9 +114,6 @@ public:
|
|||
PluginData plugin_data;
|
||||
|
||||
|
||||
// buffer for the session log
|
||||
TextStream<std::wstring> log_buffer;
|
||||
|
||||
// !! IMPROVE ME it is still needed?
|
||||
// css cannot be taken directly from the mountpoint?
|
||||
// table with css files
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2022, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -35,6 +35,7 @@
|
|||
#include <sys/stat.h>
|
||||
#include <limits>
|
||||
#include "sessionmanager.h"
|
||||
#include "core/misc.h"
|
||||
#include "request.h"
|
||||
#include "log.h"
|
||||
#include "session.h"
|
||||
|
@ -713,7 +714,7 @@ char file_path[WINIX_OS_PATH_SIZE];
|
|||
return;
|
||||
}
|
||||
|
||||
if( !wide_to_utf8(config->session_file, file_path, WINIX_OS_PATH_SIZE) )
|
||||
if( !pt::wide_to_utf8(config->session_file, (char*)file_path, WINIX_OS_PATH_SIZE) )
|
||||
return;
|
||||
|
||||
std::ofstream file(file_path);
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2014, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -60,7 +60,7 @@ char file_path[WINIX_OS_PATH_SIZE];
|
|||
|
||||
container.Clear();
|
||||
|
||||
if( !wide_to_utf8(path, file_path, WINIX_OS_PATH_SIZE) )
|
||||
if( !pt::wide_to_utf8(path, (char*)file_path, WINIX_OS_PATH_SIZE) )
|
||||
return false;
|
||||
|
||||
file.open(file_path, std::ios_base::in | std::ios_base::binary);
|
||||
|
|
|
@ -1,257 +0,0 @@
|
|||
/*
|
||||
* This file is a part of Winix
|
||||
* and is distributed under the 2-Clause BSD licence.
|
||||
* Author: Tomasz Sowa <t.sowa@ttmath.org>
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2011-2021, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "slog.h"
|
||||
#include "utf8/utf8.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
SLog::SLog()
|
||||
{
|
||||
cur = 0;
|
||||
locale = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SLog::SetCur(Cur * pcur)
|
||||
{
|
||||
cur = pcur;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void SLog::SetLocale(Locale * plocale)
|
||||
{
|
||||
locale = plocale;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
SLog & SLog::operator<<(const void * s)
|
||||
{
|
||||
return PutLog(s);
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(const char * s)
|
||||
{
|
||||
return PutLog(s);
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(const std::string * s)
|
||||
{
|
||||
return PutLog(s);
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(const std::string & s)
|
||||
{
|
||||
return PutLog(s);
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(const wchar_t * s)
|
||||
{
|
||||
return PutLog(s);
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(const std::wstring * s)
|
||||
{
|
||||
return PutLog(s);
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(const std::wstring & s)
|
||||
{
|
||||
return PutLog(s);
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(int s)
|
||||
{
|
||||
return PutLog(s);
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(long s)
|
||||
{
|
||||
return PutLog(s);
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(char s)
|
||||
{
|
||||
return PutLog(s);
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(wchar_t s)
|
||||
{
|
||||
return PutLog(s);
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(size_t s)
|
||||
{
|
||||
return PutLog(s);
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(double s)
|
||||
{
|
||||
return PutLog(s);
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(const pt::Date & date)
|
||||
{
|
||||
return PutLog(date);
|
||||
}
|
||||
|
||||
|
||||
|
||||
SLog & SLog::operator<<(LogManipulators m)
|
||||
{
|
||||
if( cur && cur->session )
|
||||
{
|
||||
TextStream<std::wstring> & buf = cur->session->log_buffer;
|
||||
|
||||
switch(m)
|
||||
{
|
||||
case logend:
|
||||
buf << '\n';
|
||||
|
||||
if( buf.Size() > WINIX_SLOG_MAX_LOG_SIZE )
|
||||
{
|
||||
buf.Clear();
|
||||
(*this) << logwarning << T("slog_turn_over") << " " << WINIX_SLOG_MAX_LOG_SIZE << logend;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case loginfo:
|
||||
case logwarning:
|
||||
case logerror:
|
||||
buf << (wchar_t)(int)m;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
SLog & SLog::TranslateText(const char * str)
|
||||
{
|
||||
pt::utf8_to_wide(str, key_temp);
|
||||
return TranslateText(key_temp.c_str());
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::TranslateText(const wchar_t * str)
|
||||
{
|
||||
if( cur && cur->session )
|
||||
{
|
||||
const std::wstring * trans = 0;
|
||||
|
||||
if( locale )
|
||||
trans = &locale->Get(str);
|
||||
|
||||
// !! IMPROVE ME "Not translated" add to locale
|
||||
if( !trans || trans->empty() )
|
||||
cur->session->log_buffer << "Not translated: " << str;
|
||||
else
|
||||
cur->session->log_buffer << trans;
|
||||
}
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(const TranslateTextHelper<const char*> & raw)
|
||||
{
|
||||
return TranslateText(raw.par);
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(const TranslateTextHelper<const wchar_t*> & raw)
|
||||
{
|
||||
return TranslateText(raw.par);
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(TranslateTextHelper<const std::string*> raw)
|
||||
{
|
||||
return TranslateText(raw.par->c_str());
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(TranslateTextHelper<const std::wstring*> raw)
|
||||
{
|
||||
return TranslateText(raw.par->c_str());
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(TranslateTextHelper<std::string> raw)
|
||||
{
|
||||
return TranslateText(raw.par.c_str());
|
||||
}
|
||||
|
||||
|
||||
SLog & SLog::operator<<(TranslateTextHelper<std::wstring> raw)
|
||||
{
|
||||
return TranslateText(raw.par.c_str());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
} // namespace Winix
|
||||
|
|
@ -1,173 +0,0 @@
|
|||
/*
|
||||
* This file is a part of Winix
|
||||
* and is distributed under the 2-Clause BSD licence.
|
||||
* Author: Tomasz Sowa <t.sowa@ttmath.org>
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2011-2014, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef headerfile_winix_core_slog
|
||||
#define headerfile_winix_core_slog
|
||||
|
||||
#include "cur.h"
|
||||
#include "logmanipulators.h"
|
||||
#include "templates/locale.h"
|
||||
#include "textstream/textstream.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
{
|
||||
|
||||
|
||||
|
||||
#define WINIX_SLOG_MAX_LOG_SIZE 10240
|
||||
|
||||
|
||||
/*
|
||||
session logger
|
||||
|
||||
sample:
|
||||
#include "log.h" (or slog.h)
|
||||
slog << logerror << "message" << "something" << logend;
|
||||
slog << logwarning << T("message_to_translate") << x << logend;
|
||||
|
||||
if the latter example "message_to_translate" will be taken from locales
|
||||
currently following manipulators are taken into account:
|
||||
loginfo - the message in a normal info
|
||||
logwarning - this is a warning
|
||||
logerror - this is an error
|
||||
logend - end of a line -- we have one kind of a message (info, warning, error) per line
|
||||
|
||||
loginfo, logwarning, logerror should be specified at the beginning of a line
|
||||
(other manipulators are skipped)
|
||||
*/
|
||||
class SLog
|
||||
{
|
||||
public:
|
||||
|
||||
SLog();
|
||||
|
||||
void SetCur(Cur * pcur);
|
||||
void SetLocale(Locale * plocale);
|
||||
|
||||
template<class RawType>
|
||||
struct TranslateTextHelper
|
||||
{
|
||||
const RawType & par;
|
||||
|
||||
TranslateTextHelper(const TranslateTextHelper<RawType> & p) : par(p.par) {}
|
||||
TranslateTextHelper(const RawType & p) : par(p) {}
|
||||
};
|
||||
|
||||
SLog & operator<<(const void * s);
|
||||
SLog & operator<<(const char * s);
|
||||
SLog & operator<<(const std::string * s);
|
||||
SLog & operator<<(const std::string & s);
|
||||
SLog & operator<<(const wchar_t * s);
|
||||
SLog & operator<<(const std::wstring * s);
|
||||
SLog & operator<<(const std::wstring & s);
|
||||
SLog & operator<<(int s);
|
||||
SLog & operator<<(long s);
|
||||
SLog & operator<<(char s);
|
||||
SLog & operator<<(wchar_t s);
|
||||
SLog & operator<<(size_t s);
|
||||
SLog & operator<<(double s);
|
||||
SLog & operator<<(LogManipulators m);
|
||||
SLog & operator<<(const pt::Date & date);
|
||||
|
||||
template<typename char_type, size_t stack_size, size_t heap_block_size>
|
||||
SLog & operator<<(const pt::TextStreamBase<char_type, stack_size, heap_block_size> & buf);
|
||||
|
||||
|
||||
SLog & TranslateText(const char * str);
|
||||
SLog & TranslateText(const wchar_t * str);
|
||||
|
||||
template<size_t str_size>
|
||||
SLog & operator<<(const TranslateTextHelper<const char [str_size]> & raw) { return TranslateText(raw.par); }
|
||||
|
||||
template<size_t str_size>
|
||||
SLog & operator<<(const TranslateTextHelper<const wchar_t [str_size]> & raw){ return TranslateText(raw.par); }
|
||||
|
||||
template<size_t str_size>
|
||||
SLog & operator<<(const TranslateTextHelper<char [str_size]> & raw) { return TranslateText(raw.par); }
|
||||
|
||||
template<size_t str_size>
|
||||
SLog & operator<<(const TranslateTextHelper<wchar_t [str_size]> & raw){ return TranslateText(raw.par); }
|
||||
|
||||
SLog & operator<<(const TranslateTextHelper<const char*> & raw);
|
||||
SLog & operator<<(const TranslateTextHelper<const wchar_t*> & raw);
|
||||
SLog & operator<<(TranslateTextHelper<const std::string*> raw);
|
||||
SLog & operator<<(TranslateTextHelper<const std::wstring*> raw);
|
||||
SLog & operator<<(TranslateTextHelper<std::string> raw);
|
||||
SLog & operator<<(TranslateTextHelper<std::wstring> raw);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
template<class LogParam>
|
||||
SLog & PutLog(const LogParam & par);
|
||||
|
||||
Cur * cur;
|
||||
Locale * locale;
|
||||
std::wstring key_temp;
|
||||
|
||||
};
|
||||
|
||||
|
||||
template<class RawType>
|
||||
SLog::TranslateTextHelper<RawType> T(const RawType & par)
|
||||
{
|
||||
return SLog::TranslateTextHelper<RawType>(par);
|
||||
}
|
||||
|
||||
|
||||
template<typename char_type, size_t stack_size, size_t heap_block_size>
|
||||
SLog & SLog::operator<<(const pt::TextStreamBase<char_type, stack_size, heap_block_size> & buf)
|
||||
{
|
||||
return PutLog(buf);
|
||||
}
|
||||
|
||||
|
||||
template<class LogParam>
|
||||
SLog & SLog::PutLog(const LogParam & par)
|
||||
{
|
||||
if( cur && cur->session )
|
||||
cur->session->log_buffer << par;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
} // namespace Winix
|
||||
|
||||
|
||||
#endif
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2022, Tomasz Sowa
|
||||
* Copyright (c) 2010-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -58,12 +58,6 @@ void System::SetCur(Cur * pcur)
|
|||
//}
|
||||
|
||||
|
||||
void System::SetDb(Db * pdb)
|
||||
{
|
||||
db = pdb;
|
||||
}
|
||||
|
||||
|
||||
//void System::SetSynchro(Synchro * psynchro)
|
||||
//{
|
||||
// synchro = psynchro;
|
||||
|
@ -129,23 +123,21 @@ bool System::Init()
|
|||
//thread_manager.SetSynchro(synchro);
|
||||
thread_manager.Init();
|
||||
|
||||
dirs.SetDb(db);
|
||||
dirs.SetCur(cur); // only one method is using cur, can be passed as a parameter to the method
|
||||
dirs.SetNotify(¬ify);
|
||||
dirs.ReadDirs();
|
||||
|
||||
mounts.SkipStaticDirs(config->dont_use_static_dirs);
|
||||
mounts.SetDirs(&dirs);
|
||||
mounts.SetDb(db);
|
||||
mounts.CreateMounts();
|
||||
mounts.ReadMounts();
|
||||
|
||||
// users.SetCur(cur);
|
||||
// users.SetSessionManager(session_manager);
|
||||
users.set_connector(model_connector);
|
||||
users.ReadUsers(db);
|
||||
users.ReadUsers();
|
||||
|
||||
groups.ReadGroups(db); // !! chwilowe przekazanie argumentu, db bedzie zmienione
|
||||
groups.ReadGroups();
|
||||
|
||||
rebus.SetCur(cur);
|
||||
rebus.Init();
|
||||
|
@ -160,7 +152,6 @@ bool System::Init()
|
|||
if( !notify.Init() )
|
||||
return false;
|
||||
|
||||
image.SetDb(db);
|
||||
image.SetConfig(config);
|
||||
image.SetSystem(this);
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2022, Tomasz Sowa
|
||||
* Copyright (c) 2010-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -39,7 +39,6 @@
|
|||
#include "job.h"
|
||||
#include "dirs.h"
|
||||
#include "mounts.h"
|
||||
#include "db/db.h"
|
||||
#include "request.h"
|
||||
#include "config.h"
|
||||
#include "crypt.h"
|
||||
|
@ -116,7 +115,6 @@ public:
|
|||
|
||||
void SetCur(Cur * pcur);
|
||||
//void SetConfig(Config * pconfig);
|
||||
void SetDb(Db * pdb);
|
||||
//void SetSynchro(Synchro * psynchro);
|
||||
void SetFunctions(Functions * pfunctions);
|
||||
void SetSessionManager(SessionManager * sm);
|
||||
|
@ -229,7 +227,6 @@ public:
|
|||
private:
|
||||
|
||||
Cur * cur;
|
||||
Db * db;
|
||||
//Config * config;
|
||||
//Synchro * synchro;
|
||||
Functions * functions;
|
||||
|
|
|
@ -1,666 +0,0 @@
|
|||
/*
|
||||
* This file is a part of Winix
|
||||
* and is distributed under the 2-Clause BSD licence.
|
||||
* Author: Tomasz Sowa <t.sowa@ttmath.org>
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2021, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef headerfile_winix_core_textstream
|
||||
#define headerfile_winix_core_textstream
|
||||
|
||||
#include <string>
|
||||
#include <ctime>
|
||||
#include "misc.h"
|
||||
#include "space/space.h"
|
||||
#include "date/date.h"
|
||||
#include "textstream/textstream.h"
|
||||
#include "utf8/utf8.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
a special class representing a stream buffer
|
||||
similar to std::ostringstream
|
||||
|
||||
StringType can be either std::string or std::wstring
|
||||
|
||||
this class uses UTF-8 <-> wide characters conversions:
|
||||
if StringType is std::string:
|
||||
operator<<(const char*) only copies the input string
|
||||
operator<<(const wchar_t*) converts from wide characters to UTF-8
|
||||
(similary for an operator with std::string and std::wstring)
|
||||
if StringType is std::wstring:
|
||||
operator<<(const char*) converts from UTF-8 to wide characters
|
||||
operator<<(const wchar_t*) only copies the input string
|
||||
(similary for an operator with std::string and std::wstring)
|
||||
|
||||
*/
|
||||
template<class StringType>
|
||||
class TextStream
|
||||
{
|
||||
public:
|
||||
|
||||
typedef typename StringType::value_type CharType;
|
||||
typedef typename StringType::value_type char_type;
|
||||
typedef typename StringType::iterator iterator;
|
||||
typedef typename StringType::const_iterator const_iterator;
|
||||
|
||||
void Clear();
|
||||
void clear(); // utf8 methods call clear(), in the future Clear() will be renamed to clear()
|
||||
bool Empty() const;
|
||||
size_t Size() const;
|
||||
void Reserve(size_t len);
|
||||
|
||||
iterator begin();
|
||||
iterator end();
|
||||
const_iterator begin() const;
|
||||
const_iterator end() const;
|
||||
|
||||
const StringType & Str() const;
|
||||
const CharType * CStr() const;
|
||||
|
||||
void Str(const StringType & str);
|
||||
void Str(const StringType && str);
|
||||
|
||||
void to_str(std::string & str, bool clear_string = true) const;
|
||||
void to_str(std::wstring & str, bool clear_string = true) const;
|
||||
void to_string(std::string & str, bool clear_string = true) const;
|
||||
void to_string(std::wstring & str, bool clear_string = true) const;
|
||||
|
||||
CharType operator[](size_t index);
|
||||
|
||||
TextStream & operator<<(const char * str);
|
||||
TextStream & operator<<(const std::string * str);
|
||||
TextStream & operator<<(const std::string & str);
|
||||
|
||||
TextStream & operator<<(const wchar_t * str);
|
||||
TextStream & operator<<(const std::wstring * str);
|
||||
TextStream & operator<<(const std::wstring & str);
|
||||
|
||||
TextStream & operator<<(char);
|
||||
TextStream & operator<<(wchar_t);
|
||||
TextStream & operator<<(int);
|
||||
TextStream & operator<<(long);
|
||||
TextStream & operator<<(unsigned int);
|
||||
TextStream & operator<<(unsigned long);
|
||||
TextStream & operator<<(double);
|
||||
TextStream & operator<<(const void *);// printing a pointer
|
||||
TextStream & operator<<(const pt::Space & space);
|
||||
TextStream & operator<<(const pt::Date & date);
|
||||
|
||||
TextStream & operator<<(const TextStream & stream);
|
||||
|
||||
template<typename arg_char_type, size_t arg_stack_size, size_t arg_heap_block_size>
|
||||
TextStream & operator<<(const pt::TextStreamBase<arg_char_type, arg_stack_size, arg_heap_block_size> & arg);
|
||||
|
||||
TextStream & Write(const char * buf, size_t len);
|
||||
TextStream & Write(const wchar_t * buf, size_t len);
|
||||
TextStream & write(const char * buf, size_t len); // for compatibility with standard library (Ezc uses it)
|
||||
TextStream & write(const wchar_t * buf, size_t len);
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
StringType buffer;
|
||||
|
||||
void Convert(wchar_t c, std::string & dst);
|
||||
void Convert(wchar_t c, std::wstring & dst);
|
||||
|
||||
void Convert(const char * src, size_t len, std::wstring & dst);
|
||||
void Convert(const char * src, std::wstring & dst);
|
||||
void Convert(const std::string & src, std::wstring & dst);
|
||||
|
||||
void Convert(const wchar_t * src, size_t len, std::string & dst);
|
||||
void Convert(const wchar_t * src, std::string & dst);
|
||||
void Convert(const std::wstring & src, std::string & dst);
|
||||
|
||||
void Convert(const char * src, size_t len, std::string & dst);
|
||||
void Convert(const char * src, std::string & dst);
|
||||
void Convert(const std::string & src, std::string & dst);
|
||||
|
||||
void Convert(const wchar_t * src, size_t len, std::wstring & dst);
|
||||
void Convert(const wchar_t * src, std::wstring & dst);
|
||||
void Convert(const std::wstring & src, std::wstring & dst);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Clear()
|
||||
{
|
||||
buffer.clear();
|
||||
}
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::clear()
|
||||
{
|
||||
Clear();
|
||||
}
|
||||
|
||||
template<class StringType>
|
||||
bool TextStream<StringType>::Empty() const
|
||||
{
|
||||
return buffer.empty();
|
||||
}
|
||||
|
||||
template<class StringType>
|
||||
size_t TextStream<StringType>::Size() const
|
||||
{
|
||||
return buffer.size();
|
||||
}
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Reserve(size_t len)
|
||||
{
|
||||
buffer.reserve(len);
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
typename TextStream<StringType>::iterator TextStream<StringType>::begin()
|
||||
{
|
||||
return buffer.begin();
|
||||
}
|
||||
|
||||
template<class StringType>
|
||||
typename TextStream<StringType>::iterator TextStream<StringType>::end()
|
||||
{
|
||||
return buffer.end();
|
||||
}
|
||||
|
||||
template<class StringType>
|
||||
typename TextStream<StringType>::const_iterator TextStream<StringType>::begin() const
|
||||
{
|
||||
return buffer.begin();
|
||||
}
|
||||
|
||||
template<class StringType>
|
||||
typename TextStream<StringType>::const_iterator TextStream<StringType>::end() const
|
||||
{
|
||||
return buffer.end();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
template<class StringType>
|
||||
const StringType & TextStream<StringType>::Str() const
|
||||
{
|
||||
return buffer;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
const typename TextStream<StringType>::CharType * TextStream<StringType>::CStr() const
|
||||
{
|
||||
return buffer.c_str();
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Str(const StringType & str)
|
||||
{
|
||||
buffer = str;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Str(const StringType && str)
|
||||
{
|
||||
buffer = std::move(str);
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::to_str(std::string & str, bool clear_string) const
|
||||
{
|
||||
return to_string(str, clear_string);
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::to_str(std::wstring & str, bool clear_string) const
|
||||
{
|
||||
return to_string(str, clear_string);
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::to_string(std::string & str, bool clear_string) const
|
||||
{
|
||||
if( clear_string )
|
||||
str.clear();
|
||||
|
||||
if constexpr (sizeof(typename StringType::value_type) == sizeof(char))
|
||||
{
|
||||
str.append(buffer);
|
||||
}
|
||||
else
|
||||
{
|
||||
pt::wide_to_utf8(buffer, str, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::to_string(std::wstring & str, bool clear_string) const
|
||||
{
|
||||
if( clear_string )
|
||||
str.clear();
|
||||
|
||||
if constexpr (sizeof(typename StringType::value_type) == sizeof(wchar_t))
|
||||
{
|
||||
str.append(buffer);
|
||||
}
|
||||
else
|
||||
{
|
||||
pt::utf8_to_wide(buffer, str, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
template<class StringType>
|
||||
typename TextStream<StringType>::CharType TextStream<StringType>::operator[](size_t index)
|
||||
{
|
||||
return buffer[index];
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(const char * str)
|
||||
{
|
||||
Convert(str, buffer);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(const std::string * str)
|
||||
{
|
||||
Convert(*str, buffer);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(const std::string & str)
|
||||
{
|
||||
Convert(str, buffer);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(const wchar_t * str)
|
||||
{
|
||||
Convert(str, buffer);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(const std::wstring * str)
|
||||
{
|
||||
Convert(*str, buffer);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(const std::wstring & str)
|
||||
{
|
||||
Convert(str, buffer);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(char v)
|
||||
{
|
||||
/*
|
||||
* there is no any possibility to treat 'v' as UTF-8 character if we have got
|
||||
* only one character so we only copy it
|
||||
*/
|
||||
buffer += v;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(wchar_t v)
|
||||
{
|
||||
Convert(v, buffer);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(int v)
|
||||
{
|
||||
wchar_t buf[50];
|
||||
size_t len = sizeof(buf) / sizeof(wchar_t);
|
||||
|
||||
Toa(v, buf, len);
|
||||
Convert(buf, buffer);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(long v)
|
||||
{
|
||||
wchar_t buf[50];
|
||||
size_t len = sizeof(buf) / sizeof(wchar_t);
|
||||
|
||||
Toa(v, buf, len);
|
||||
Convert(buf, buffer);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(unsigned int v)
|
||||
{
|
||||
wchar_t buf[50];
|
||||
size_t len = sizeof(buf) / sizeof(wchar_t);
|
||||
|
||||
Toa(v, buf, len);
|
||||
Convert(buf, buffer);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(unsigned long v)
|
||||
{
|
||||
wchar_t buf[50];
|
||||
size_t len = sizeof(buf) / sizeof(wchar_t);
|
||||
|
||||
Toa(v, buf, len);
|
||||
Convert(buf, buffer);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(double v)
|
||||
{
|
||||
char buf[50];
|
||||
|
||||
sprintf(buf, "%f", v);
|
||||
Convert(buf, buffer);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(const void * v)
|
||||
{
|
||||
wchar_t buf[50];
|
||||
size_t len = sizeof(buf) / sizeof(wchar_t);
|
||||
|
||||
buf[0] = '0';
|
||||
buf[1] = 'x';
|
||||
|
||||
Toa(reinterpret_cast<unsigned long>(v), buf+2, len-2, 16);
|
||||
Convert(buf, buffer);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::Write(const char * buf, size_t len)
|
||||
{
|
||||
Convert(buf, len, buffer);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::write(const char * buf, size_t len)
|
||||
{
|
||||
return Write(buf, len);
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::Write(const wchar_t * buf, size_t len)
|
||||
{
|
||||
Convert(buf, len, buffer);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::write(const wchar_t * buf, size_t len)
|
||||
{
|
||||
return Write(buf, len);
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(const pt::Space & space)
|
||||
{
|
||||
space.serialize_to_space_stream(*this, true);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(const pt::Date & date)
|
||||
{
|
||||
date.Serialize(*this);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<class StringType>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(const TextStream<StringType> & stream)
|
||||
{
|
||||
buffer.append(stream.buffer);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
template<class StringType>
|
||||
template<typename arg_char_type, size_t arg_stack_size, size_t arg_heap_block_size>
|
||||
TextStream<StringType> & TextStream<StringType>::operator<<(
|
||||
const pt::TextStreamBase<arg_char_type, arg_stack_size, arg_heap_block_size> & arg)
|
||||
{
|
||||
typename pt::TextStreamBase<arg_char_type, arg_stack_size, arg_heap_block_size>::const_iterator i;
|
||||
|
||||
for(i=arg.begin() ; i != arg.end() ; ++i)
|
||||
buffer += static_cast<char_type>(*i);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Convert(wchar_t c, std::string & dst)
|
||||
{
|
||||
pt::int_to_utf8((int)c, dst, false);
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Convert(wchar_t c, std::wstring & dst)
|
||||
{
|
||||
dst += c;
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Convert(const char * src, size_t len, std::wstring & dst)
|
||||
{
|
||||
pt::utf8_to_wide(src, len, dst, false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Convert(const char * src, std::wstring & dst)
|
||||
{
|
||||
pt::utf8_to_wide(src, dst, false);
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Convert(const std::string & src, std::wstring & dst)
|
||||
{
|
||||
pt::utf8_to_wide(src, dst, false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Convert(const wchar_t * src, size_t len, std::string & dst)
|
||||
{
|
||||
pt::wide_to_utf8(src, len, dst, false);
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Convert(const wchar_t * src, std::string & dst)
|
||||
{
|
||||
pt::wide_to_utf8(src, dst, false);
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Convert(const std::wstring & src, std::string & dst)
|
||||
{
|
||||
pt::wide_to_utf8(src, dst, false);
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Convert(const char * src, size_t len, std::string & dst)
|
||||
{
|
||||
// we suppose that append is smart enough and we don't have to use reserve()
|
||||
dst.append(src, len);
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Convert(const char * src, std::string & dst)
|
||||
{
|
||||
size_t len;
|
||||
|
||||
for(len=0 ; src[len] ; ++len){}
|
||||
|
||||
Convert(src, len, dst);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Convert(const std::string & src, std::string & dst)
|
||||
{
|
||||
dst.append(src);
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Convert(const wchar_t * src, size_t len, std::wstring & dst)
|
||||
{
|
||||
// we suppose that append is smart enough and we don't have to use reserve()
|
||||
dst.append(src, len);
|
||||
}
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Convert(const wchar_t * src, std::wstring & dst)
|
||||
{
|
||||
size_t len;
|
||||
|
||||
for(len=0 ; src[len] ; ++len){}
|
||||
|
||||
Convert(src, len, dst);
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<class StringType>
|
||||
void TextStream<StringType>::Convert(const std::wstring & src, std::wstring & dst)
|
||||
{
|
||||
dst.append(src);
|
||||
}
|
||||
|
||||
|
||||
} // namespace Winix
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2011-2022, Tomasz Sowa
|
||||
* Copyright (c) 2011-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -114,7 +114,6 @@ bool ThreadManager::Add(BaseThread * pbase, const wchar_t * thread_name)
|
|||
data.model_connector.set_winix_mounts(nullptr);
|
||||
data.model_connector.set_winix_users(nullptr);
|
||||
data.model_connector.set_winix_groups(nullptr);
|
||||
data.model_connector.set_winix_session_logger(nullptr);
|
||||
data.model_connector.set_winix_session(nullptr);
|
||||
data.model_connector.set_winix_locale(nullptr); // null for a moment, may will be changed
|
||||
data.model_connector.set_winix_session_manager(nullptr);// null for a moment, may will be changed
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2022, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -35,7 +35,6 @@
|
|||
#include <arpa/inet.h>
|
||||
#include "users.h"
|
||||
#include "sessionmanager.h"
|
||||
#include "slog.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
|
@ -87,7 +86,7 @@ void Users::Clear()
|
|||
|
||||
|
||||
|
||||
void Users::ReadUsers(Db * db)
|
||||
void Users::ReadUsers()
|
||||
{
|
||||
Clear();
|
||||
|
||||
|
@ -195,11 +194,10 @@ return result;
|
|||
|
||||
|
||||
// private
|
||||
bool Users::LoginUserCheckSession(bool use_ses_log)
|
||||
bool Users::LoginUserCheckSession()
|
||||
{
|
||||
Session * session = get_session();
|
||||
Log * log = get_logger();
|
||||
SLog * slog = get_session_logger();
|
||||
|
||||
if( !session )
|
||||
return false;
|
||||
|
@ -209,8 +207,8 @@ bool Users::LoginUserCheckSession(bool use_ses_log)
|
|||
if( log )
|
||||
(*log) << log1 << "Users: I cannot login a user on a temporary session" << logend;
|
||||
|
||||
if( slog && use_ses_log )
|
||||
(*slog) << logerror << T(L"service_unavailable") << logend;
|
||||
// if( slog && use_ses_log )
|
||||
// (*slog) << logerror << T(L"service_unavailable") << logend;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -220,19 +218,18 @@ return true;
|
|||
|
||||
|
||||
// private
|
||||
User * Users::LoginUserCheckStatus(long user_id, bool use_ses_log)
|
||||
User * Users::LoginUserCheckStatus(long user_id)
|
||||
{
|
||||
User * puser = GetUser(user_id);
|
||||
Log * log = get_logger();
|
||||
SLog * slog = get_session_logger();
|
||||
|
||||
if( !puser )
|
||||
{
|
||||
if( log )
|
||||
(*log) << log1 << "Users: user id: " << user_id << " is not in system.users table" << logend;
|
||||
|
||||
if( slog && use_ses_log )
|
||||
(*slog) << logerror << T(L"service_unavailable") << logend;
|
||||
// if( slog && use_ses_log )
|
||||
// (*slog) << logerror << T(L"service_unavailable") << logend;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -242,17 +239,17 @@ User * Users::LoginUserCheckStatus(long user_id, bool use_ses_log)
|
|||
(*log) << log1 << "Users: user id: " << user_id << " is not ready for logging in (status: "
|
||||
<< puser->status << ")" << logend;
|
||||
|
||||
if( slog && use_ses_log )
|
||||
{
|
||||
if( puser->status == WINIX_ACCOUNT_NOT_ACTIVATED )
|
||||
(*slog) << logerror << T(L"account_not_activated") << logend;
|
||||
else
|
||||
if( puser->status == WINIX_ACCOUNT_SUSPENDED )
|
||||
(*slog) << logerror << T(L"account_suspended") << logend;
|
||||
else
|
||||
if( puser->status == WINIX_ACCOUNT_BLOCKED )
|
||||
(*slog) << logerror << T(L"account_banned") << logend;
|
||||
}
|
||||
// if( slog && use_ses_log )
|
||||
// {
|
||||
// if( puser->status == WINIX_ACCOUNT_NOT_ACTIVATED )
|
||||
// (*slog) << logerror << T(L"account_not_activated") << logend;
|
||||
// else
|
||||
// if( puser->status == WINIX_ACCOUNT_SUSPENDED )
|
||||
// (*slog) << logerror << T(L"account_suspended") << logend;
|
||||
// else
|
||||
// if( puser->status == WINIX_ACCOUNT_BLOCKED )
|
||||
// (*slog) << logerror << T(L"account_banned") << logend;
|
||||
// }
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -262,17 +259,17 @@ return puser;
|
|||
|
||||
|
||||
|
||||
bool Users::LoginUser(long user_id, bool remember_me, bool use_ses_log)
|
||||
bool Users::LoginUser(long user_id, bool remember_me)
|
||||
{
|
||||
Config * config = get_config();
|
||||
|
||||
if( !config || !config->use_internal_loggin_mechanism )
|
||||
return false;
|
||||
|
||||
if( !LoginUserCheckSession(use_ses_log) )
|
||||
if( !LoginUserCheckSession() )
|
||||
return false;
|
||||
|
||||
User * puser = LoginUserCheckStatus(user_id, use_ses_log);
|
||||
User * puser = LoginUserCheckStatus(user_id);
|
||||
Log * log = get_logger();
|
||||
Session * session = get_session();
|
||||
SessionManager * session_manager = get_session_manager();
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2021, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -40,7 +40,6 @@
|
|||
#include "ugcontainer.h"
|
||||
#include "lastcontainer.h"
|
||||
#include "cur.h"
|
||||
#include "db/db.h"
|
||||
#include "models/winixmodel.h"
|
||||
|
||||
|
||||
|
@ -73,7 +72,7 @@ public:
|
|||
// void SetSessionManager(SessionManager * sm);
|
||||
|
||||
void Clear();
|
||||
void ReadUsers(Db * db);
|
||||
void ReadUsers();
|
||||
bool AddUser(const User & user);
|
||||
bool IsUser(const std::wstring & name);
|
||||
User * GetUser(long user_id);
|
||||
|
@ -84,7 +83,7 @@ public:
|
|||
SizeType Size();
|
||||
bool Remove(long user_id);
|
||||
|
||||
bool LoginUser(long user_id, bool remember_me, bool use_ses_log = false);
|
||||
bool LoginUser(long user_id, bool remember_me);
|
||||
size_t LogoutUser(long user_id);
|
||||
void LogoutCurrentUser();
|
||||
|
||||
|
@ -104,8 +103,8 @@ private:
|
|||
//SessionManager * session_manager;
|
||||
long how_many_logged;
|
||||
|
||||
bool LoginUserCheckSession(bool use_ses_log);
|
||||
User * LoginUserCheckStatus(long user_id, bool use_ses_log);
|
||||
bool LoginUserCheckSession();
|
||||
User * LoginUserCheckStatus(long user_id);
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2018, Tomasz Sowa
|
||||
* Copyright (c) 2018-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -55,7 +55,6 @@ WinixRequest::~WinixRequest()
|
|||
void WinixRequest::set_cur(Cur * cur)
|
||||
{
|
||||
this->cur = cur;
|
||||
slog.SetCur(cur);
|
||||
}
|
||||
|
||||
|
||||
|
@ -68,7 +67,6 @@ void WinixRequest::set_session_manager(SessionManager * session_manager)
|
|||
void WinixRequest::set_locale(Locale * locale)
|
||||
{
|
||||
this->locale = locale;
|
||||
slog.SetLocale(locale);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2018, Tomasz Sowa
|
||||
* Copyright (c) 2018-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -38,7 +38,6 @@
|
|||
#include "core/winixsystem.h"
|
||||
#include "core/cur.h"
|
||||
#include "core/sessionmanager.h"
|
||||
#include "core/slog.h"
|
||||
#include "templates/locale.h"
|
||||
|
||||
|
||||
|
@ -66,8 +65,6 @@ public:
|
|||
|
||||
protected:
|
||||
|
||||
SLog slog;
|
||||
|
||||
Cur * cur;
|
||||
Locale * locale; // locales can be used not only in templates -- should be moved to a better place
|
||||
SessionManager * session_manager; // may it should be moved to WinixSystem or System?
|
||||
|
|
413
winixd/db/db.cpp
413
winixd/db/db.cpp
|
@ -1,413 +0,0 @@
|
|||
/*
|
||||
* This file is a part of Winix
|
||||
* and is distributed under the 2-Clause BSD licence.
|
||||
* Author: Tomasz Sowa <t.sowa@ttmath.org>
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2021, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "db.h"
|
||||
#include "core/log.h"
|
||||
#include "core/misc.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
{
|
||||
|
||||
//void Db::PostgreSQLsmallerThan10(bool is_smaller_than_10)
|
||||
//{
|
||||
// is_postgresql_smaller_than_10 = is_smaller_than_10;
|
||||
//
|
||||
// if( is_postgresql_smaller_than_10 )
|
||||
// {
|
||||
// postgrsql_row_statement.clear();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// postgrsql_row_statement = L"ROW";
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
/*
|
||||
bool Db::GetUserPass(const std::wstring & login, long & user_id, UserPass & up)
|
||||
{
|
||||
PGresult * r = 0;
|
||||
bool user_ok = false;
|
||||
user_id = -1;
|
||||
|
||||
try
|
||||
{
|
||||
query.Clear();
|
||||
query << R("select id, has_pass, password, pass_encrypted, pass_type, pass_hash_salted from core.user where login=")
|
||||
<< login
|
||||
<< R(";");
|
||||
|
||||
r = AssertQuery(query);
|
||||
AssertResult(r, PGRES_TUPLES_OK);
|
||||
|
||||
int rows = Rows(r);
|
||||
|
||||
if( rows == 0 )
|
||||
throw Error(WINIX_ERR_DB_INCORRECT_LOGIN);
|
||||
|
||||
if( rows > 1 )
|
||||
{
|
||||
log << log1 << "Db: there is more than one user: " << login << logend;
|
||||
throw Error(WINIX_ERR_DB_MORE_THAN_ONE_LOGIN);
|
||||
}
|
||||
|
||||
int cuser_id = AssertColumn(r, "id");
|
||||
int chas_pass = AssertColumn(r, "has_pass");
|
||||
int cpass_type = AssertColumn(r, "pass_type");
|
||||
int csalted = AssertColumn(r, "pass_hash_salted");
|
||||
int cpassword = AssertColumn(r, "password");
|
||||
int cpass_encrypted = AssertColumn(r, "pass_encrypted");
|
||||
|
||||
user_ok = true;
|
||||
user_id = AssertValueLong(r, 0, cuser_id);
|
||||
up.has_pass = AssertValueBool(r, 0, chas_pass);
|
||||
up.pass_type = AssertValueInt(r, 0, cpass_type);
|
||||
up.pass_hash_salted = AssertValueBool(r, 0, csalted);
|
||||
AssertValueWide(r, 0, cpassword, up.pass);
|
||||
AssertValueBin(r, 0, cpass_encrypted, up.pass_encrypted);
|
||||
}
|
||||
catch(const Error &)
|
||||
{
|
||||
}
|
||||
|
||||
ClearResult(r);
|
||||
|
||||
return user_ok;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Error Db::AddUser(User & user, const UserPass & up)
|
||||
{
|
||||
PGresult * r = 0;
|
||||
Error status = WINIX_ERR_OK;
|
||||
|
||||
try
|
||||
{
|
||||
query.Clear();
|
||||
query << R("insert into core.user (login, has_pass, password, pass_encrypted, super_user, email,"
|
||||
"notify, pass_type, pass_hash_salted, env, aenv, status, locale_id, time_zone_id) values (")
|
||||
<< user.name
|
||||
<< up.has_pass;
|
||||
|
||||
// for safety we put up.pass only if there is not an encrypted version
|
||||
// someone could have forgotten to clear up.pass
|
||||
if( up.pass_encrypted.empty() )
|
||||
query << up.pass;
|
||||
else
|
||||
query << "";
|
||||
|
||||
query.EPutBin(up.pass_encrypted);
|
||||
|
||||
query << user.super_user
|
||||
<< user.email
|
||||
<< user.notify
|
||||
<< up.pass_type
|
||||
<< up.pass_hash_salted
|
||||
<< user.env
|
||||
<< user.aenv
|
||||
<< user.status
|
||||
<< user.locale_id
|
||||
<< user.time_zone_id
|
||||
<< R(");");
|
||||
|
||||
r = AssertQuery(query);
|
||||
AssertResult(r, PGRES_COMMAND_OK);
|
||||
|
||||
user.id = AssertCurrval("core.user_id_seq");
|
||||
}
|
||||
catch(const Error & e)
|
||||
{
|
||||
status = e;
|
||||
}
|
||||
|
||||
ClearResult(r);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Error Db::ChangeUserPass(long user_id, const UserPass & up)
|
||||
{
|
||||
query.Clear();
|
||||
query << R("update core.user set(has_pass, password, pass_encrypted,"
|
||||
"pass_type, pass_hash_salted) = ") << R(postgrsql_row_statement) << R("(")
|
||||
<< up.has_pass;
|
||||
|
||||
// for safety
|
||||
if( up.pass_encrypted.empty() )
|
||||
query << up.pass;
|
||||
else
|
||||
query << "";
|
||||
|
||||
query.EPutBin(up.pass_encrypted);
|
||||
|
||||
query << up.pass_type
|
||||
<< up.pass_hash_salted
|
||||
<< R(") where id=")
|
||||
<< user_id
|
||||
<< R(";");
|
||||
|
||||
return DoCommand(query);
|
||||
}
|
||||
|
||||
|
||||
Error Db::ChangeUserEnv(long user_id, const PT::Space & space)
|
||||
{
|
||||
query.Clear();
|
||||
query << R("update core.user set(env) = ") << R(postgrsql_row_statement) << R("(")
|
||||
<< space
|
||||
<< R(") where id = ")
|
||||
<< user_id
|
||||
<< R(";");
|
||||
|
||||
return DoCommand(query);
|
||||
}
|
||||
|
||||
|
||||
Error Db::ChangeUserAdminEnv(long user_id, const PT::Space & space)
|
||||
{
|
||||
query.Clear();
|
||||
query << R("update core.user set(aenv) = ") << R(postgrsql_row_statement) << R("(")
|
||||
<< space
|
||||
<< R(") where id = ")
|
||||
<< user_id
|
||||
<< R(";");
|
||||
|
||||
return DoCommand(query);
|
||||
}
|
||||
|
||||
|
||||
Error Db::ChangeUserStatus(long user_id, int status)
|
||||
{
|
||||
query.Clear();
|
||||
query << R("update core.user set(status) = ") << R(postgrsql_row_statement) << R("(")
|
||||
<< status
|
||||
<< R(") where id = ")
|
||||
<< user_id
|
||||
<< R(";");
|
||||
|
||||
return DoCommand(query);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Error Db::ChangeUserEmail(long user_id, const std::wstring & email)
|
||||
{
|
||||
query.Clear();
|
||||
query << R("update core.user set(email) = ") << R(postgrsql_row_statement) << R("(")
|
||||
<< email
|
||||
<< R(") where id = ")
|
||||
<< user_id
|
||||
<< R(";");
|
||||
|
||||
return DoCommand(query);
|
||||
}
|
||||
|
||||
|
||||
Error Db::ChangeUserLocale(long user_id, size_t locale_id)
|
||||
{
|
||||
query.Clear();
|
||||
query << R("update core.user set(locale_id) = ") << R(postgrsql_row_statement) << R("(")
|
||||
<< locale_id
|
||||
<< R(") where id = ")
|
||||
<< user_id
|
||||
<< R(";");
|
||||
|
||||
return DoCommand(query);
|
||||
}
|
||||
|
||||
|
||||
Error Db::ChangeUserTimeZone(long user_id, size_t time_zone_id)
|
||||
{
|
||||
query.Clear();
|
||||
query << R("update core.user set(time_zone_id) = ") << R(postgrsql_row_statement) << R("(")
|
||||
<< time_zone_id
|
||||
<< R(") where id = ")
|
||||
<< user_id
|
||||
<< R(";");
|
||||
|
||||
return DoCommand(query);
|
||||
}
|
||||
|
||||
|
||||
Error Db::RemoveUser(long user_id)
|
||||
{
|
||||
query.Clear();
|
||||
query << R("delete from core.user where id = ")
|
||||
<< user_id
|
||||
<< R(";");
|
||||
|
||||
return DoCommand(query);
|
||||
}
|
||||
|
||||
|
||||
void Db::GetUsers(UGContainer<User> & user_tab)
|
||||
{
|
||||
PGresult * r = 0;
|
||||
|
||||
try
|
||||
{
|
||||
query.Clear();
|
||||
query << R("select id, login, super_user, group_id, email, notify,"
|
||||
" env, aenv, status, locale_id, time_zone_id"
|
||||
" from core.user left outer join core.group_mem on"
|
||||
" core.user.id = core.group_mem.user_id order by id asc;");
|
||||
|
||||
r = AssertQuery(query);
|
||||
AssertResult(r, PGRES_TUPLES_OK);
|
||||
|
||||
int rows = Rows(r);
|
||||
|
||||
int cid = AssertColumn(r, "id");
|
||||
int cname = AssertColumn(r, "login");
|
||||
int csuper_user = AssertColumn(r, "super_user");
|
||||
int cgroup_id = AssertColumn(r, "group_id");
|
||||
int cemail = AssertColumn(r, "email");
|
||||
int cnotify = AssertColumn(r, "notify");
|
||||
int cenv = AssertColumn(r, "env");
|
||||
int caenv = AssertColumn(r, "aenv");
|
||||
int cstatus = AssertColumn(r, "status");
|
||||
int clocale_id = AssertColumn(r, "locale_id");
|
||||
int ctzone_id = AssertColumn(r, "time_zone_id");
|
||||
|
||||
User u;
|
||||
long last_id = -1;
|
||||
UGContainer<User>::Iterator iter = user_tab.End();
|
||||
|
||||
for(int i=0 ; i<rows ; ++i)
|
||||
{
|
||||
u.id = AssertValueLong(r, i, cid);
|
||||
|
||||
if( u.id != last_id )
|
||||
{
|
||||
u.name = AssertValueWide(r, i, cname);
|
||||
u.super_user = AssertValueBool(r, i, csuper_user);
|
||||
u.email = AssertValueWide(r, i, cemail);
|
||||
u.notify = AssertValueInt(r, i, cnotify);
|
||||
u.status = AssertValueInt(r, i, cstatus);
|
||||
u.locale_id = (size_t)AssertValueInt(r, i, clocale_id);
|
||||
u.time_zone_id = (size_t)AssertValueInt(r, i, ctzone_id);
|
||||
AssertValueSpace(r, i, cenv, u.env);
|
||||
AssertValueSpace(r, i, caenv, u.aenv);
|
||||
|
||||
log << log2 << "Db: user: id: " << u.id << ", name: " << u.name << ", super_user: " << u.super_user << logend;
|
||||
|
||||
iter = user_tab.PushBack(u);
|
||||
|
||||
if( iter == user_tab.End() )
|
||||
log << log1 << "Db: can't add a user: " << u.name << logend;
|
||||
|
||||
last_id = u.id;
|
||||
}
|
||||
|
||||
long group_id = AssertValueLong(r, i, cgroup_id);
|
||||
|
||||
if( !IsNull(r, i, cgroup_id) && group_id!=-1 && iter!=user_tab.End() )
|
||||
{
|
||||
iter->groups.push_back(group_id);
|
||||
log << log3 << "Db: user:" << iter->name << " is a member of group_id: " << group_id << logend;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(const Error &)
|
||||
{
|
||||
}
|
||||
|
||||
ClearResult(r);
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Db::GetGroups(UGContainer<Group> & group_tab)
|
||||
{
|
||||
PGresult * r = 0;
|
||||
|
||||
try
|
||||
{
|
||||
query.Clear();
|
||||
query << R("select id, core.group.group, user_id from core.group left outer join"
|
||||
" core.group_mem on core.group.id = core.group_mem.group_id order by id asc;");
|
||||
|
||||
r = AssertQuery(query);
|
||||
AssertResult(r, PGRES_TUPLES_OK);
|
||||
|
||||
int rows = Rows(r);
|
||||
|
||||
int cid = AssertColumn(r, "id");
|
||||
int cname = AssertColumn(r, "group");
|
||||
int cuser_id = AssertColumn(r, "user_id");
|
||||
|
||||
Group g;
|
||||
long last_id = -1;
|
||||
UGContainer<Group>::Iterator iter;
|
||||
|
||||
for(int i = 0 ; i<rows ; ++i)
|
||||
{
|
||||
g.id = AssertValueLong(r, i, cid);
|
||||
|
||||
if( g.id != last_id )
|
||||
{
|
||||
g.name = AssertValueWide(r, i, cname);
|
||||
log << log3 << "Db: get group, id: " << g.id << ", group: " << g.name << logend;
|
||||
|
||||
iter = group_tab.PushBack( g );
|
||||
last_id = g.id;
|
||||
}
|
||||
|
||||
long user_id = AssertValueLong(r, i, cuser_id);
|
||||
|
||||
if( !IsNull(r, i, cuser_id) && user_id!=-1 && !group_tab.Empty() )
|
||||
{
|
||||
iter->members.push_back(user_id);
|
||||
log << log3 << "Db: get group member: user_id: " << user_id << logend;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(const Error &)
|
||||
{
|
||||
}
|
||||
|
||||
ClearResult(r);
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
} // namespace Winix
|
||||
|
|
@ -1,622 +0,0 @@
|
|||
/*
|
||||
* This file is a part of Winix
|
||||
* and is distributed under the 2-Clause BSD licence.
|
||||
* Author: Tomasz Sowa <t.sowa@ttmath.org>
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2021, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <limits.h>
|
||||
#include <limits>
|
||||
#include "dbbase.h"
|
||||
#include "core/log.h"
|
||||
#include "core/error.h"
|
||||
#include "core/misc.h"
|
||||
#include "utf8/utf8.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
{
|
||||
|
||||
|
||||
|
||||
DbBase::DbBase()
|
||||
{
|
||||
db_conn = 0;
|
||||
log_queries = false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void DbBase::SetConn(DbConn * conn)
|
||||
{
|
||||
db_conn = conn;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void DbBase::SetConn(DbConn & conn)
|
||||
{
|
||||
db_conn = &conn;
|
||||
}
|
||||
|
||||
|
||||
DbConn * DbBase::GetConn()
|
||||
{
|
||||
return db_conn;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void DbBase::LogQueries(bool log_q)
|
||||
{
|
||||
log_queries = log_q;
|
||||
}
|
||||
|
||||
|
||||
|
||||
PGresult * DbBase::AssertQuery(const char * q)
|
||||
{
|
||||
if( log_queries )
|
||||
log << log1 << "Db: executing query: " << q << logend;
|
||||
|
||||
bool bad_query = false;
|
||||
PGresult * r = PQexec(db_conn->GetPgConn(), q);
|
||||
|
||||
if( !r )
|
||||
{
|
||||
bad_query = true;
|
||||
|
||||
if( PQstatus(db_conn->GetPgConn()) != CONNECTION_OK )
|
||||
{
|
||||
db_conn->AssertConnection();
|
||||
r = PQexec(db_conn->GetPgConn(), q);
|
||||
|
||||
if( r )
|
||||
bad_query = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if( bad_query )
|
||||
{
|
||||
log << log1 << "Db: Problem with this query: \"" << q << '\"' << logend;
|
||||
log << log1 << "Db: " << PQerrorMessage(db_conn->GetPgConn()) << logend;
|
||||
|
||||
throw Error(WINIX_ERR_DB_INCORRECT_QUERY);
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
PGresult * DbBase::AssertQuery(const DbTextStream & query)
|
||||
{
|
||||
return AssertQuery(query.CStr());
|
||||
}
|
||||
|
||||
|
||||
|
||||
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 )
|
||||
{
|
||||
log << log1 << "Db: Incorrect result status: " << PQerrorMessage(db_conn->GetPgConn()) << logend;
|
||||
|
||||
throw Error(WINIX_ERR_DB_INCORRENT_RESULT_STATUS);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
int DbBase::AssertColumn(PGresult * r, const char * column_name)
|
||||
{
|
||||
int c = PQfnumber(r, column_name);
|
||||
|
||||
if( c == -1 )
|
||||
{
|
||||
log << log1 << "Db: there is no column: " << column_name << logend;
|
||||
throw Error(WINIX_ERR_DB_NO_COLUMN);
|
||||
}
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
|
||||
const char * DbBase::AssertValue(PGresult * r, int row, int col)
|
||||
{
|
||||
const char * res = PQgetvalue(r, row, col);
|
||||
|
||||
if( !res )
|
||||
{
|
||||
log << log1 << "Db: there is no such an item in the result, row:" << row << ", col:" << col << logend;
|
||||
throw Error(WINIX_ERR_NO_ITEM);
|
||||
}
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
const std::wstring & DbBase::AssertValueWide(PGresult * r, int row, int col)
|
||||
{
|
||||
const char * res = AssertValue(r, row, col);
|
||||
static std::wstring temp_wide_value; // !! IMPROVE ME add as a class field (nonstatic)
|
||||
|
||||
pt::utf8_to_wide(res, temp_wide_value);
|
||||
|
||||
return temp_wide_value;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void DbBase::AssertValueBin(PGresult * r, int row, int col, std::string & result)
|
||||
{
|
||||
result.clear();
|
||||
|
||||
const char * res = AssertValue(r, row, col);
|
||||
int len = PQgetlength(r, row, col);
|
||||
|
||||
if( len <= 0 )
|
||||
return;
|
||||
|
||||
UnescapeBin(res, len, result);
|
||||
}
|
||||
|
||||
|
||||
void DbBase::AssertValueWide(PGresult * r, int row, int col, std::wstring & result)
|
||||
{
|
||||
const char * res = AssertValue(r, row, col);
|
||||
pt::utf8_to_wide(res, result);
|
||||
}
|
||||
|
||||
|
||||
long DbBase::AssertValueLong(PGresult * r, int row, int col)
|
||||
{
|
||||
return strtol( AssertValue(r, row, col), 0, 10 );
|
||||
}
|
||||
|
||||
|
||||
int DbBase::AssertValueInt(PGresult * r, int row, int col)
|
||||
{
|
||||
return (int)strtol( AssertValue(r, row, col), 0, 10 );
|
||||
}
|
||||
|
||||
|
||||
bool DbBase::AssertValueBool(PGresult * r, int row, int col)
|
||||
{
|
||||
const char * s = AssertValue(r, row, col);
|
||||
return (s[0]=='t' || s[0]=='y' || s[0]=='1');
|
||||
}
|
||||
|
||||
|
||||
unsigned long DbBase::AssertValueULong(PGresult * r, int row, int col)
|
||||
{
|
||||
return strtoul( AssertValue(r, row, col), 0, 10 );
|
||||
}
|
||||
|
||||
|
||||
unsigned int DbBase::AssertValueUInt(PGresult * r, int row, int col)
|
||||
{
|
||||
return (unsigned int)strtoul( AssertValue(r, row, col), 0, 10 );
|
||||
}
|
||||
|
||||
|
||||
|
||||
pt::Date DbBase::AssertValueDate(PGresult * r, int row, int col)
|
||||
{
|
||||
pt::Date date = AssertValue(r, row, col);
|
||||
|
||||
return date;
|
||||
}
|
||||
|
||||
|
||||
bool DbBase::AssertValueSpace(PGresult * r, int row, int col, pt::Space & space)
|
||||
{
|
||||
const char * res = AssertValue(r, row, col);
|
||||
|
||||
pt::SpaceParser::Status status = conf_parser.parse_space(res, space);
|
||||
|
||||
if( status != pt::SpaceParser::ok )
|
||||
{
|
||||
log << log1 << "Db: a problem with parsing a PT::Space";
|
||||
|
||||
if( status == pt::SpaceParser::syntax_error )
|
||||
log << ", syntax error at line: " << conf_parser.get_last_parsed_line();
|
||||
|
||||
log << logend;
|
||||
|
||||
space.clear();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void DbBase::ClearResult(PGresult * r)
|
||||
{
|
||||
if( r )
|
||||
PQclear(r);
|
||||
}
|
||||
|
||||
|
||||
bool DbBase::IsNull(PGresult * r, int row, int col)
|
||||
{
|
||||
return PQgetisnull(r, row, col) == 1;
|
||||
}
|
||||
|
||||
|
||||
int DbBase::Rows(PGresult * r)
|
||||
{
|
||||
// PQntuples - Returns the number of rows (tuples) in the query result. Because it returns
|
||||
// an integer result, large result sets might overflow the return value on 32-bit operating systems.
|
||||
return PQntuples(r);
|
||||
}
|
||||
|
||||
|
||||
int DbBase::Cols(PGresult * r)
|
||||
{
|
||||
// PQnfields - Returns the number of columns (fields) in each row of the query result.
|
||||
return PQnfields(r);
|
||||
}
|
||||
|
||||
|
||||
long DbBase::AffectedRows(PGresult * r)
|
||||
{
|
||||
// PQcmdTuples - This function returns a string containing the number of rows affected by the SQL
|
||||
// statement that generated the PGresult. This function can only be used following the execution
|
||||
// of an INSERT, UPDATE, DELETE, MOVE, FETCH, or COPY statement, or [...]
|
||||
char * rows_str = PQcmdTuples(r); // can be an empty string
|
||||
long rows = 0;
|
||||
|
||||
if( rows_str )
|
||||
{
|
||||
rows = strtol(rows_str, 0, 10);
|
||||
// strtol - If an overflow or underflow occurs, errno is set to ERANGE
|
||||
// and the function return value is clamped according to the following table:
|
||||
// Function underflow overflow
|
||||
// strtol() LONG_MIN LONG_MAX
|
||||
|
||||
if( rows < 0 )
|
||||
rows = 0;
|
||||
}
|
||||
|
||||
return rows;
|
||||
}
|
||||
|
||||
|
||||
long DbBase::AssertCurrval(const char * table)
|
||||
{
|
||||
PGresult * r;
|
||||
|
||||
bquery.Clear();
|
||||
bquery << R("select currval(")
|
||||
<< table
|
||||
<< R(");");
|
||||
|
||||
r = AssertQuery(bquery);
|
||||
AssertResult(r, PGRES_TUPLES_OK);
|
||||
|
||||
if( Rows(r) != 1 )
|
||||
{
|
||||
log << log1 << "Db: error (currval) for table: " << table << ", " << PQerrorMessage(db_conn->GetPgConn()) << logend;
|
||||
throw Error(WINIX_ERR_DB_ERR_CURRVAL);
|
||||
}
|
||||
|
||||
return AssertValueLong(r, 0, 0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void DbBase::CreateIdList(const std::vector<long> & id_tab, std::wstring & list, bool add_parentheses)
|
||||
{
|
||||
wchar_t buffer[50];
|
||||
size_t buffer_len = sizeof(buffer) / sizeof(wchar_t);
|
||||
|
||||
list.clear();
|
||||
|
||||
if( add_parentheses )
|
||||
list += '(';
|
||||
|
||||
for(size_t i=0 ; i<id_tab.size() ; ++i)
|
||||
{
|
||||
Toa((unsigned long)id_tab[i], buffer, buffer_len);
|
||||
list += buffer;
|
||||
|
||||
if( i+1 < id_tab.size() )
|
||||
list += ',';
|
||||
}
|
||||
|
||||
if( add_parentheses )
|
||||
list += ')';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Error DbBase::DoCommand(const DbTextStream & command)
|
||||
{
|
||||
PGresult * r = 0;
|
||||
Error status = WINIX_ERR_OK;
|
||||
|
||||
try
|
||||
{
|
||||
r = AssertQuery(command);
|
||||
AssertResult(r, PGRES_COMMAND_OK);
|
||||
}
|
||||
catch(const Error & e)
|
||||
{
|
||||
status = e;
|
||||
}
|
||||
|
||||
ClearResult(r);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Error DbBase::DoCommand(const char * command)
|
||||
{
|
||||
PGresult * r = 0;
|
||||
Error status = WINIX_ERR_OK;
|
||||
|
||||
try
|
||||
{
|
||||
r = AssertQuery(command);
|
||||
AssertResult(r, PGRES_COMMAND_OK);
|
||||
}
|
||||
catch(const Error & e)
|
||||
{
|
||||
status = e;
|
||||
}
|
||||
|
||||
ClearResult(r);
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Error DbBase::BeginTrans()
|
||||
{
|
||||
return DoCommand("BEGIN;");
|
||||
}
|
||||
|
||||
|
||||
|
||||
Error DbBase::RollbackTrans()
|
||||
{
|
||||
return DoCommand("ROLLBACK;");
|
||||
}
|
||||
|
||||
|
||||
|
||||
Error DbBase::CommitTrans()
|
||||
{
|
||||
return DoCommand("COMMIT;");
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool DbBase::EndTrans(bool everything_ok)
|
||||
{
|
||||
bool result;
|
||||
|
||||
if( everything_ok )
|
||||
{
|
||||
result = (CommitTrans() == WINIX_ERR_OK);
|
||||
}
|
||||
else
|
||||
{
|
||||
RollbackTrans();
|
||||
// we return the old err code
|
||||
result = false;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
Error DbBase::EndTrans(Error err)
|
||||
{
|
||||
if( err == WINIX_ERR_OK )
|
||||
{
|
||||
err = CommitTrans();
|
||||
}
|
||||
else
|
||||
{
|
||||
// we return the old err code
|
||||
RollbackTrans();
|
||||
}
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
converting from a bytea
|
||||
the old way (escape format)
|
||||
*/
|
||||
/*
|
||||
int DbBase::CharToInt(char c)
|
||||
{
|
||||
return (int)(unsigned char)(c-'0');
|
||||
}
|
||||
|
||||
bool DbBase::IsCorrectOctalDigit(char c)
|
||||
{
|
||||
return c>='0' && c<='7';
|
||||
}
|
||||
|
||||
// moves 'i' at least once
|
||||
// return -1 if there is en error
|
||||
int DbBase::UnescapeBin(const char * str, size_t & i, size_t len)
|
||||
{
|
||||
if( str[i] != '\\' )
|
||||
return str[i++];
|
||||
|
||||
i += 1;
|
||||
|
||||
if( i >= len )
|
||||
return -1;
|
||||
|
||||
if( str[i] == '\\' )
|
||||
return str[i++];
|
||||
|
||||
if( i+2 >= len )
|
||||
{
|
||||
i = len;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if( !IsCorrectOctalDigit(str[i]) ||
|
||||
!IsCorrectOctalDigit(str[i+1]) ||
|
||||
!IsCorrectOctalDigit(str[i+2]) )
|
||||
{
|
||||
i += 3;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int c = 8*8*CharToInt(str[i]) + 8*CharToInt(str[i+1]) + CharToInt(str[i+2]);
|
||||
|
||||
i += 3;
|
||||
|
||||
if( c<0 || c>255 )
|
||||
return -1;
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
void DbBase::UnescapeBin(const char * str, size_t len, std::string & out, bool clear_out)
|
||||
{
|
||||
int c;
|
||||
size_t i = 0;
|
||||
|
||||
if( clear_out )
|
||||
out.clear();
|
||||
|
||||
while( i < len )
|
||||
{
|
||||
c = UnescapeBin(str, i, len);
|
||||
|
||||
if( c != -1 )
|
||||
out += c;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
converting from a bytea
|
||||
the new way (hex format)
|
||||
*/
|
||||
|
||||
|
||||
char DbBase::UnescapeBinHexToDigit(char hex)
|
||||
{
|
||||
if( hex>='0' && hex<='9' )
|
||||
return hex - '0';
|
||||
|
||||
if( hex>='a' && hex<='z' )
|
||||
return hex - 'a' + 10;
|
||||
|
||||
if( hex>='A' && hex<='Z' )
|
||||
return hex - 'A' + 10;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void DbBase::UnescapeBin(const char * str, size_t len, std::string & out, bool clear_out)
|
||||
{
|
||||
if( clear_out )
|
||||
out.clear();
|
||||
|
||||
if( len < 2 || str[0]!='\\' || str[1]!='x' )
|
||||
{
|
||||
log << log1 << "Db: unsupported binary format (skipping)" << logend;
|
||||
return;
|
||||
}
|
||||
|
||||
for(size_t i=2 ; i + 1 < len ; i+=2 )
|
||||
{
|
||||
int c1 = UnescapeBinHexToDigit(str[i]);
|
||||
int c2 = UnescapeBinHexToDigit(str[i+1]);
|
||||
|
||||
out += ((c1 << 4) | c2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
end of converting from bytea
|
||||
*/
|
||||
|
||||
|
||||
|
||||
} // namespace Winix
|
||||
|
||||
|
||||
|
|
@ -1,143 +0,0 @@
|
|||
/*
|
||||
* This file is a part of Winix
|
||||
* and is distributed under the 2-Clause BSD licence.
|
||||
* Author: Tomasz Sowa <t.sowa@ttmath.org>
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2018, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef headerfile_winix_db_dbbase
|
||||
#define headerfile_winix_db_dbbase
|
||||
|
||||
|
||||
#include "dbconn.h"
|
||||
#include "dbtextstream.h"
|
||||
#include <vector>
|
||||
#include <string>
|
||||
#include "core/error.h"
|
||||
#include "space/spaceparser.h"
|
||||
#include "date/date.h"
|
||||
#include "core/winixbase.h"
|
||||
|
||||
|
||||
|
||||
namespace Winix
|
||||
{
|
||||
|
||||
|
||||
|
||||
class DbBase : public WinixBase
|
||||
{
|
||||
public:
|
||||
|
||||
DbBase();
|
||||
|
||||
void SetConn(DbConn * conn);
|
||||
void SetConn(DbConn & conn);
|
||||
DbConn * GetConn();
|
||||
|
||||
void LogQueries(bool log_q);
|
||||
|
||||
PGresult * AssertQuery(const char * 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);
|
||||
int AssertColumn(PGresult * r, const char * column_name);
|
||||
|
||||
const char * AssertValue(PGresult * r, int row, int col);
|
||||
const std::wstring & AssertValueWide(PGresult * r, int row, int col); // warning: this method uses a static buffer
|
||||
void AssertValueWide(PGresult * r, int row, int col, std::wstring & result);
|
||||
void AssertValueBin(PGresult * r, int row, int col, std::string & result);
|
||||
long AssertValueLong(PGresult * r, int row, int col);
|
||||
int AssertValueInt(PGresult * r, int row, int col);
|
||||
bool AssertValueBool(PGresult * r, int row, int col);
|
||||
unsigned long AssertValueULong(PGresult * r, int row, int col);
|
||||
unsigned int AssertValueUInt(PGresult * r, int row, int col);
|
||||
pt::Date AssertValueDate(PGresult * r, int row, int col);
|
||||
|
||||
bool AssertValueSpace(PGresult * r, int row, int col, pt::Space & space);
|
||||
|
||||
void ClearResult(PGresult * r);
|
||||
long AssertCurrval(const char * table);
|
||||
|
||||
bool IsNull(PGresult * r, int row, int col);
|
||||
int Rows(PGresult * r);
|
||||
int Cols(PGresult * r);
|
||||
long AffectedRows(PGresult * r);
|
||||
|
||||
void CreateIdList(const std::vector<long> & id_tab, std::wstring & list, bool add_parentheses = true);
|
||||
|
||||
Error DoCommand(const DbTextStream & command);
|
||||
Error DoCommand(const char * command);
|
||||
Error BeginTrans();
|
||||
Error RollbackTrans();
|
||||
Error CommitTrans();
|
||||
Error EndTrans(Error err);
|
||||
|
||||
// new API (returns only bool)
|
||||
bool EndTrans(bool everything_ok);
|
||||
|
||||
void UnescapeBin(const char * str, size_t len, std::string & out, bool clear_out = true);
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
// a helper method for escaping strings
|
||||
template<class RawType>
|
||||
DbTextStream::RawText<RawType> R(const RawType & par)
|
||||
{
|
||||
return DbTextStream::RawText<RawType>(par);
|
||||
}
|
||||
|
||||
DbConn * db_conn;
|
||||
bool log_queries;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
// static int CharToInt(char c);
|
||||
// static bool IsCorrectOctalDigit(char c);
|
||||
// static int UnescapeBin(const char * str, size_t & i, size_t len);
|
||||
|
||||
char UnescapeBinHexToDigit(char hex);
|
||||
|
||||
DbTextStream bquery;
|
||||
pt::SpaceParser conf_parser;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
} // namespace Winix
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
|
@ -1,261 +0,0 @@
|
|||
/*
|
||||
* This file is a part of Winix
|
||||
* and is distributed under the 2-Clause BSD licence.
|
||||
* Author: Tomasz Sowa <t.sowa@ttmath.org>
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2022, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <unistd.h>
|
||||
#include "dbconn.h"
|
||||
#include "core/log.h"
|
||||
#include "core/error.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
DbConn::DbConn()
|
||||
{
|
||||
pg_conn = 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
DbConn::~DbConn()
|
||||
{
|
||||
Close();
|
||||
}
|
||||
|
||||
|
||||
|
||||
PGconn * DbConn::GetPgConn()
|
||||
{
|
||||
return pg_conn;
|
||||
}
|
||||
|
||||
|
||||
void DbConn::SetConnParam(const std::wstring & conn_string)
|
||||
{
|
||||
db_conn_string = conn_string;
|
||||
db_host.clear();
|
||||
db_hostaddr.clear();
|
||||
db_port.clear();
|
||||
db_database.clear();
|
||||
db_user.clear();
|
||||
db_pass.clear();
|
||||
}
|
||||
|
||||
|
||||
void DbConn::SetConnParam(const std::wstring & host, const std::wstring & hostaddr, const std::wstring & port,
|
||||
const std::wstring & database, const std::wstring & user, const std::wstring & pass)
|
||||
{
|
||||
db_conn_string.clear();
|
||||
db_host = host;
|
||||
db_hostaddr = hostaddr;
|
||||
db_port = port;
|
||||
db_database = database;
|
||||
db_user = user;
|
||||
db_pass = pass;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void DbConn::Connect()
|
||||
{
|
||||
Close();
|
||||
|
||||
conn_info.Clear();
|
||||
conn_info.SetExtented(false);
|
||||
|
||||
if( !db_conn_string.empty() )
|
||||
{
|
||||
conn_info << R(db_conn_string);
|
||||
}
|
||||
else
|
||||
{
|
||||
conn_info << R("dbname=") << db_database
|
||||
<< R(" user=") << db_user
|
||||
<< R(" password=") << db_pass;
|
||||
|
||||
if( !db_host.empty() )
|
||||
{
|
||||
conn_info << R(L" host=") << db_host;
|
||||
}
|
||||
|
||||
if( !db_hostaddr.empty() )
|
||||
{
|
||||
conn_info << R(L" hostaddr=") << db_hostaddr;
|
||||
}
|
||||
|
||||
if( !db_port.empty() )
|
||||
{
|
||||
conn_info << R(L" port=") << db_port;
|
||||
}
|
||||
}
|
||||
|
||||
pg_conn = PQconnectdb(conn_info.CStr());
|
||||
|
||||
// warning! pg_conn can be not null but there cannnot be a connection established
|
||||
// use PQstatus(pg_conn) to check whether the connection works fine
|
||||
}
|
||||
|
||||
|
||||
void DbConn::LogNoConnection(size_t attempts)
|
||||
{
|
||||
log << log2 << "Db: connection to the database cannot be established";
|
||||
log << ", (" << attempts << " attempt(s))" << logend;
|
||||
log << logsave;
|
||||
}
|
||||
|
||||
|
||||
void DbConn::LogConnectionSocket()
|
||||
{
|
||||
log << log2 << "Db: connection to the database works fine" << logend;
|
||||
log << log3 << "Db: connection socket: " << PQsocket(pg_conn) << logend;
|
||||
log << logsave;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool DbConn::WaitForConnection(size_t attempts_max, size_t attempt_delay)
|
||||
{
|
||||
size_t attempts = 0;
|
||||
bool attempts_exceeded = false;
|
||||
|
||||
if( attempt_delay == 0 )
|
||||
attempt_delay = 1;
|
||||
|
||||
if( attempt_delay > 120 )
|
||||
attempt_delay = 120;
|
||||
|
||||
if( !pg_conn || PQstatus(pg_conn) != CONNECTION_OK )
|
||||
{
|
||||
log << log3 << "Db: waiting for the db to be ready...." << logend << logsave;
|
||||
|
||||
while( !attempts_exceeded && !AssertConnection(false, false) )
|
||||
{
|
||||
if( attempts_max != 0 )
|
||||
{
|
||||
attempts += 1;
|
||||
attempts_exceeded = (attempts >= attempts_max);
|
||||
}
|
||||
|
||||
if( !attempts_exceeded )
|
||||
{
|
||||
sleep(attempt_delay);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( attempts_exceeded )
|
||||
{
|
||||
LogNoConnection(attempts);
|
||||
}
|
||||
else
|
||||
{
|
||||
LogConnectionSocket();
|
||||
}
|
||||
|
||||
return !attempts_exceeded;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void DbConn::Close()
|
||||
{
|
||||
if( pg_conn )
|
||||
{
|
||||
PQfinish(pg_conn);
|
||||
pg_conn = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool DbConn::AssertConnection(bool put_log, bool throw_if_no_connection)
|
||||
{
|
||||
bool was_connection = true;
|
||||
|
||||
|
||||
if( !pg_conn )
|
||||
{
|
||||
was_connection = false;
|
||||
Connect();
|
||||
}
|
||||
else
|
||||
if( PQstatus(pg_conn) != CONNECTION_OK )
|
||||
{
|
||||
if( put_log )
|
||||
log << log2 << "Db: connection to the database is lost, trying to recover" << logend;
|
||||
|
||||
was_connection = false;
|
||||
PQreset(pg_conn);
|
||||
}
|
||||
|
||||
|
||||
if( pg_conn && PQstatus(pg_conn) == CONNECTION_OK )
|
||||
{
|
||||
if( !was_connection )
|
||||
{
|
||||
if( put_log )
|
||||
LogConnectionSocket();
|
||||
|
||||
SetDbParameters();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( put_log )
|
||||
log << log1 << "Db: connection to db server cannot be established" << logend;
|
||||
|
||||
if( throw_if_no_connection )
|
||||
throw Error(WINIX_ERR_DB_FATAL_ERROR_DURING_CONNECTING);
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void DbConn::SetDbParameters()
|
||||
{
|
||||
if( PQsetClientEncoding(pg_conn, "UTF8") == -1 )
|
||||
log << log1 << "Db: Can't set the proper client encoding" << logend;
|
||||
}
|
||||
|
||||
|
||||
|
||||
} // namespace Winix
|
||||
|
|
@ -1,613 +0,0 @@
|
|||
/*
|
||||
* This file is a part of Winix
|
||||
* and is distributed under the 2-Clause BSD licence.
|
||||
* Author: Tomasz Sowa <t.sowa@ttmath.org>
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2021, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "dbtextstream.h"
|
||||
#include "utf8/utf8.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
{
|
||||
|
||||
|
||||
DbTextStream::DbTextStream()
|
||||
{
|
||||
was_param = false;
|
||||
ext_escape = true;
|
||||
}
|
||||
|
||||
|
||||
void DbTextStream::SetExtented(bool ext)
|
||||
{
|
||||
ext_escape = ext;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
without escaping
|
||||
*/
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::PutText(const char * str)
|
||||
{
|
||||
TextStream<std::string>::operator<<(str);
|
||||
was_param = false;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::PutText(const std::string * str)
|
||||
{
|
||||
return PutText(str->c_str());
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::PutText(const std::string & str)
|
||||
{
|
||||
return PutText(str.c_str());
|
||||
}
|
||||
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::PutText(const wchar_t * str)
|
||||
{
|
||||
TextStream<std::string>::operator<<(str);
|
||||
was_param = false;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::PutText(const std::wstring * str)
|
||||
{
|
||||
return PutText(str->c_str());
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::PutText(const std::wstring & str)
|
||||
{
|
||||
return PutText(str.c_str());
|
||||
}
|
||||
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(RawText<const char*> raw)
|
||||
{
|
||||
return PutText(raw.par);
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(RawText<const wchar_t*> raw)
|
||||
{
|
||||
return PutText(raw.par);
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(RawText<const std::string*> raw)
|
||||
{
|
||||
return PutText(raw.par);
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(RawText<const std::wstring*> raw)
|
||||
{
|
||||
return PutText(raw.par);
|
||||
}
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(RawText<std::string> raw)
|
||||
{
|
||||
return PutText(raw.par);
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(RawText<std::wstring> raw)
|
||||
{
|
||||
return PutText(raw.par);
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(RawText<bool> raw)
|
||||
{
|
||||
if( raw.par )
|
||||
PutText("true");
|
||||
else
|
||||
PutText("false");
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(RawText<char> raw)
|
||||
{
|
||||
TextStream<std::string>::operator<<(raw.par);
|
||||
was_param = false;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(RawText<wchar_t> raw)
|
||||
{
|
||||
TextStream<std::string>::operator<<(raw.par);
|
||||
was_param = false;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(RawText<int> raw)
|
||||
{
|
||||
TextStream<std::string>::operator<<(raw.par);
|
||||
was_param = false;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(RawText<long> raw)
|
||||
{
|
||||
TextStream<std::string>::operator<<(raw.par);
|
||||
was_param = false;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(RawText<unsigned int> raw)
|
||||
{
|
||||
TextStream<std::string>::operator<<(raw.par);
|
||||
was_param = false;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(RawText<unsigned long> raw)
|
||||
{
|
||||
TextStream<std::string>::operator<<(raw.par);
|
||||
was_param = false;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(RawText<double> raw)
|
||||
{
|
||||
TextStream<std::string>::operator<<(raw.par);
|
||||
was_param = false;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(RawText<void*> raw)
|
||||
{
|
||||
TextStream<std::string>::operator<<(raw.par);
|
||||
was_param = false;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(RawText<pt::Date> date)
|
||||
{
|
||||
tmp_stream.Clear();
|
||||
date.par.Serialize(tmp_stream);
|
||||
pt::wide_to_utf8(tmp_stream.CStr(), buffer, false);
|
||||
tmp_stream.Clear();
|
||||
|
||||
was_param = false;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
with escaping
|
||||
*/
|
||||
|
||||
|
||||
// get hex digit for c_ between <0, 15>
|
||||
char DbTextStream::EBinGetHex(char c)
|
||||
{
|
||||
if( c < 10 )
|
||||
return c + '0';
|
||||
|
||||
return c - 10 + 'A';
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::EBinPutChar(char c)
|
||||
{
|
||||
buffer += EBinGetHex(((unsigned char)c) >> 4);
|
||||
buffer += EBinGetHex(((unsigned char)c) & 0x0f);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::ETextPutChar(char c)
|
||||
{
|
||||
if( c == '\\' )
|
||||
buffer += "\\\\";
|
||||
else
|
||||
if( c == '\'' )
|
||||
buffer += "\\\'"; // don't use "''" because we use the method for PQconnectdb too
|
||||
else
|
||||
if( c != 0 )
|
||||
buffer += c;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::ETextPutChar(wchar_t c)
|
||||
{
|
||||
if( c == '\\' )
|
||||
buffer += "\\\\";
|
||||
else
|
||||
if( c == '\'' )
|
||||
buffer += "\\\'"; // don't use "''" because we use the method for PQconnectdb too
|
||||
else
|
||||
if( c != 0 )
|
||||
pt::int_to_utf8(int(c), buffer, false);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::EPutText(const char * str)
|
||||
{
|
||||
if( was_param )
|
||||
buffer += ", ";
|
||||
|
||||
if( ext_escape )
|
||||
buffer += 'E';
|
||||
|
||||
buffer += '\'';
|
||||
|
||||
for( ; *str ; ++str )
|
||||
ETextPutChar(*str);
|
||||
|
||||
buffer += '\'';
|
||||
was_param = true;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::EPutText(const std::string * str)
|
||||
{
|
||||
return EPutText(str->c_str());
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::EPutText(const std::string & str)
|
||||
{
|
||||
return EPutText(str.c_str());
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::EPutText(const wchar_t * str)
|
||||
{
|
||||
if( was_param )
|
||||
buffer += ", ";
|
||||
|
||||
if( ext_escape )
|
||||
buffer += 'E';
|
||||
|
||||
buffer += '\'';
|
||||
|
||||
for( ; *str ; ++str )
|
||||
ETextPutChar(*str);
|
||||
|
||||
buffer += '\'';
|
||||
was_param = true;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::EPutText(const std::wstring * str)
|
||||
{
|
||||
return EPutText(str->c_str());
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::EPutText(const std::wstring & str)
|
||||
{
|
||||
return EPutText(str.c_str());
|
||||
}
|
||||
|
||||
|
||||
|
||||
// this method can escaped 0 in the middle of the string
|
||||
DbTextStream & DbTextStream::EPutBin(const char * str, size_t len)
|
||||
{
|
||||
if( was_param )
|
||||
buffer += ", ";
|
||||
|
||||
if( ext_escape )
|
||||
buffer += 'E';
|
||||
|
||||
buffer += "\'\\\\x";
|
||||
|
||||
for(size_t i = 0 ; i < len ; ++i)
|
||||
EBinPutChar(str[i]);
|
||||
|
||||
buffer += '\'';
|
||||
was_param = true;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::EPutBin(const std::string * str)
|
||||
{
|
||||
return EPutBin(str->c_str(), str->size());
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::EPutBin(const std::string & str)
|
||||
{
|
||||
return EPutBin(str.c_str(), str.size());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(const char * str)
|
||||
{
|
||||
return EPutText(str);
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(const std::string * str)
|
||||
{
|
||||
return EPutText(str);
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(const std::string & str)
|
||||
{
|
||||
return EPutText(str);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(const wchar_t * str)
|
||||
{
|
||||
return EPutText(str);
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(const std::wstring * str)
|
||||
{
|
||||
return EPutText(str);
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(const std::wstring & str)
|
||||
{
|
||||
return EPutText(str);
|
||||
}
|
||||
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(bool v)
|
||||
{
|
||||
if( v )
|
||||
EPutText("true");
|
||||
else
|
||||
EPutText("false");
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(char v)
|
||||
{
|
||||
if( was_param )
|
||||
buffer += ", ";
|
||||
|
||||
if( ext_escape )
|
||||
buffer += 'E';
|
||||
|
||||
buffer += '\'';
|
||||
ETextPutChar(v);
|
||||
buffer += '\'';
|
||||
was_param = true;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(wchar_t v)
|
||||
{
|
||||
if( was_param )
|
||||
buffer += ", ";
|
||||
|
||||
if( ext_escape )
|
||||
buffer += 'E';
|
||||
|
||||
buffer += '\'';
|
||||
ETextPutChar(v);
|
||||
buffer += '\'';
|
||||
was_param = true;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(int v)
|
||||
{
|
||||
if( was_param )
|
||||
buffer += ", ";
|
||||
|
||||
TextStream<std::string>::operator<<(v);
|
||||
was_param = true;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(long v)
|
||||
{
|
||||
if( was_param )
|
||||
buffer += ", ";
|
||||
|
||||
TextStream<std::string>::operator<<(v);
|
||||
was_param = true;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(unsigned int v)
|
||||
{
|
||||
if( was_param )
|
||||
buffer += ", ";
|
||||
|
||||
TextStream<std::string>::operator<<(v);
|
||||
was_param = true;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(unsigned long v)
|
||||
{
|
||||
if( was_param )
|
||||
buffer += ", ";
|
||||
|
||||
TextStream<std::string>::operator<<(v);
|
||||
was_param = true;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(double v)
|
||||
{
|
||||
if( was_param )
|
||||
buffer += ", ";
|
||||
|
||||
TextStream<std::string>::operator<<(v);
|
||||
was_param = true;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(const void * v)
|
||||
{
|
||||
if( was_param )
|
||||
buffer += ", ";
|
||||
|
||||
buffer += '\''; // !! not needed here?
|
||||
TextStream<std::string>::operator<<(v);
|
||||
buffer += '\'';
|
||||
was_param = true;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(const std::vector<long> & tabid)
|
||||
{
|
||||
if( was_param )
|
||||
buffer += ", ";
|
||||
|
||||
buffer += '(';
|
||||
|
||||
for(size_t i=0 ; i<tabid.size(); ++i)
|
||||
{
|
||||
TextStream<std::string>::operator<<(tabid[i]);
|
||||
|
||||
if( i + 1 < tabid.size() )
|
||||
buffer += ',';
|
||||
}
|
||||
|
||||
buffer += ')';
|
||||
|
||||
was_param = true;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(const pt::Space & space)
|
||||
{
|
||||
tmp_stream.Clear();
|
||||
// !! IMPROVE ME
|
||||
// we can calculate how much memory is needed before serializing
|
||||
space.serialize_to_space_stream(tmp_stream, true);
|
||||
operator<<(tmp_stream.Str());
|
||||
tmp_stream.Clear();
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
DbTextStream & DbTextStream::operator<<(const pt::Date & date)
|
||||
{
|
||||
tmp_stream.Clear();
|
||||
date.Serialize(tmp_stream);
|
||||
operator<<(tmp_stream.Str());
|
||||
tmp_stream.Clear();
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
} // namespace Winix
|
||||
|
|
@ -1,241 +0,0 @@
|
|||
/*
|
||||
* This file is a part of Winix
|
||||
* and is distributed under the 2-Clause BSD licence.
|
||||
* Author: Tomasz Sowa <t.sowa@ttmath.org>
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2014, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef headerfile_winix_db_dbtextstream
|
||||
#define headerfile_winix_db_dbtextstream
|
||||
|
||||
#include <ctime>
|
||||
#include "core/textstream.h"
|
||||
#include "textstream/textstream.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
{
|
||||
|
||||
|
||||
|
||||
/*
|
||||
DbTextStream is used as a buffer for creating a database's query
|
||||
By default all operators<< escape its string artuments. If you don't want
|
||||
to escape an argument you should use a helper function R() (raw argument)
|
||||
note: you have to define the function yourself, we do not provide it
|
||||
because such a short name would make a mess in namespaces
|
||||
|
||||
sample:
|
||||
create a helper function R as follows:
|
||||
|
||||
template<class RawType>
|
||||
DbTextStream::RawText<RawType> R(const RawType & par)
|
||||
{
|
||||
return DbTextStream::RawText<RawType>(par);
|
||||
}
|
||||
|
||||
now you can use DbTextStream in an easy way:
|
||||
|
||||
DbTextStream query;
|
||||
std::string key = "some string";
|
||||
query << R("select * from table where key=") << key << R(";");
|
||||
|
||||
in above example only the key is escaped.
|
||||
|
||||
Also with escaping operators<< insert commas between parameters, e.g.:
|
||||
|
||||
query << R("insert into table (key1, key2, key3) values (")
|
||||
<< key1
|
||||
<< key2
|
||||
<< key3
|
||||
<< R(");");
|
||||
|
||||
between key1 key2 and key3 are commas inserted automatically
|
||||
*/
|
||||
class DbTextStream : public TextStream<std::string>
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
/*
|
||||
a helper struct to select a proper operator<<
|
||||
(for non-escaping versions of these operators)
|
||||
*/
|
||||
template<class RawType>
|
||||
struct RawText
|
||||
{
|
||||
const RawType & par;
|
||||
|
||||
RawText(const RawText<RawType> & p) : par(p.par) {}
|
||||
RawText(const RawType & p) : par(p) {}
|
||||
};
|
||||
|
||||
|
||||
DbTextStream();
|
||||
|
||||
// extented escaping: adding E character before the first quote e.g. E'string'
|
||||
// default: true
|
||||
void SetExtented(bool ext);
|
||||
|
||||
|
||||
|
||||
/*
|
||||
without escaping
|
||||
*/
|
||||
|
||||
DbTextStream & PutText(const char *);
|
||||
DbTextStream & PutText(const std::string *);
|
||||
DbTextStream & PutText(const std::string &);
|
||||
DbTextStream & PutText(const wchar_t * str);
|
||||
DbTextStream & PutText(const std::wstring * str);
|
||||
DbTextStream & PutText(const std::wstring & str);
|
||||
|
||||
/*
|
||||
we need this template operator for such calling:
|
||||
dbtextstream_object << R("some string");
|
||||
"some string" is actually a table (not a pointer)
|
||||
*/
|
||||
template<size_t str_size>
|
||||
DbTextStream & operator<<(RawText<char [str_size]> raw) { return PutText(raw.par); }
|
||||
|
||||
template<size_t str_size>
|
||||
DbTextStream & operator<<(RawText<wchar_t [str_size]> raw) { return PutText(raw.par); }
|
||||
|
||||
DbTextStream & operator<<(RawText<const char*> raw);
|
||||
DbTextStream & operator<<(RawText<const wchar_t*> raw);
|
||||
DbTextStream & operator<<(RawText<const std::string*> raw);
|
||||
DbTextStream & operator<<(RawText<const std::wstring*> raw);
|
||||
DbTextStream & operator<<(RawText<std::string> raw);
|
||||
DbTextStream & operator<<(RawText<std::wstring> raw);
|
||||
DbTextStream & operator<<(RawText<bool> raw);
|
||||
DbTextStream & operator<<(RawText<char> raw);
|
||||
DbTextStream & operator<<(RawText<wchar_t> raw);
|
||||
DbTextStream & operator<<(RawText<int> raw);
|
||||
DbTextStream & operator<<(RawText<long> raw);
|
||||
DbTextStream & operator<<(RawText<unsigned int> raw);
|
||||
DbTextStream & operator<<(RawText<unsigned long> raw);
|
||||
DbTextStream & operator<<(RawText<double> raw);
|
||||
DbTextStream & operator<<(RawText<void*> raw);
|
||||
DbTextStream & operator<<(RawText<pt::Date> date);
|
||||
|
||||
template<typename arg_char_type, size_t arg_stack_size, size_t arg_heap_block_size>
|
||||
DbTextStream & operator<<(RawText<pt::TextStreamBase<arg_char_type, arg_stack_size, arg_heap_block_size> > raw);
|
||||
|
||||
/*
|
||||
with escaping
|
||||
*/
|
||||
|
||||
DbTextStream & EBinPutChar(char c);
|
||||
DbTextStream & ETextPutChar(char c);
|
||||
DbTextStream & ETextPutChar(wchar_t c);
|
||||
|
||||
DbTextStream & EPutText(const char * str);
|
||||
DbTextStream & EPutText(const std::string * str);
|
||||
DbTextStream & EPutText(const std::string & str);
|
||||
DbTextStream & EPutText(const wchar_t * str);
|
||||
DbTextStream & EPutText(const std::wstring * str);
|
||||
DbTextStream & EPutText(const std::wstring & str);
|
||||
|
||||
DbTextStream & EPutBin(const char * str, size_t len);
|
||||
DbTextStream & EPutBin(const std::string * str);
|
||||
DbTextStream & EPutBin(const std::string & str);
|
||||
|
||||
DbTextStream & operator<<(const char * str);
|
||||
DbTextStream & operator<<(const std::string * str);
|
||||
DbTextStream & operator<<(const std::string & str);
|
||||
DbTextStream & operator<<(const wchar_t * str);
|
||||
DbTextStream & operator<<(const std::wstring * str);
|
||||
DbTextStream & operator<<(const std::wstring & str);
|
||||
DbTextStream & operator<<(bool);
|
||||
DbTextStream & operator<<(char);
|
||||
DbTextStream & operator<<(wchar_t);
|
||||
DbTextStream & operator<<(int);
|
||||
DbTextStream & operator<<(long);
|
||||
DbTextStream & operator<<(unsigned int);
|
||||
DbTextStream & operator<<(unsigned long);
|
||||
DbTextStream & operator<<(double);
|
||||
DbTextStream & operator<<(const void *);
|
||||
DbTextStream & operator<<(const std::vector<long> & tabid);
|
||||
DbTextStream & operator<<(const pt::Space & space);
|
||||
DbTextStream & operator<<(const pt::Date & date);
|
||||
|
||||
template<typename arg_char_type, size_t arg_stack_size, size_t arg_heap_block_size>
|
||||
DbTextStream & operator<<(const pt::TextStreamBase<arg_char_type, arg_stack_size, arg_heap_block_size> & arg);
|
||||
|
||||
private:
|
||||
|
||||
bool was_param;
|
||||
bool ext_escape;
|
||||
TextStream<std::wstring> tmp_stream;
|
||||
|
||||
char EBinGetHex(char c);
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
template<typename arg_char_type, size_t arg_stack_size, size_t arg_heap_block_size>
|
||||
DbTextStream & DbTextStream::operator<<(RawText<pt::TextStreamBase<arg_char_type, arg_stack_size, arg_heap_block_size> > raw)
|
||||
{
|
||||
TextStream<std::string>::operator<<(raw.par);
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<typename arg_char_type, size_t arg_stack_size, size_t arg_heap_block_size>
|
||||
DbTextStream & DbTextStream::operator<<(const pt::TextStreamBase<arg_char_type, arg_stack_size, arg_heap_block_size> & arg)
|
||||
{
|
||||
typename pt::TextStreamBase<arg_char_type, arg_stack_size, arg_heap_block_size>::const_iterator i;
|
||||
|
||||
if( was_param )
|
||||
buffer += ", ";
|
||||
|
||||
if( ext_escape )
|
||||
buffer += 'E';
|
||||
|
||||
buffer += '\'';
|
||||
|
||||
for(i=arg.begin() ; i != arg.end() ; ++i)
|
||||
ETextPutChar(*i);
|
||||
|
||||
buffer += '\'';
|
||||
was_param = true;
|
||||
|
||||
return *this;
|
||||
}
|
||||
|
||||
|
||||
} // namespace Winix
|
||||
|
||||
|
||||
|
||||
#endif
|
|
@ -35,7 +35,6 @@
|
|||
#include "account.h"
|
||||
#include "core/log.h"
|
||||
#include "core/misc.h"
|
||||
#include "functions/functions.h"
|
||||
|
||||
|
||||
|
||||
|
@ -53,7 +52,7 @@ Account::Account()
|
|||
|
||||
|
||||
|
||||
bool Account::ActivateAccount(User * puser, long code, bool use_ses_log)
|
||||
bool Account::ActivateAccount(User * puser, long code)
|
||||
{
|
||||
pt::Space * user_code_space = puser->admin_env.get_space(L"activation_code");
|
||||
|
||||
|
@ -68,8 +67,8 @@ bool Account::ActivateAccount(User * puser, long code, bool use_ses_log)
|
|||
{
|
||||
log << log2 << "Account: account: " << puser->login << " activated" << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << loginfo << T(L"account_activated") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << loginfo << T(L"account_activated") << logend;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -85,23 +84,23 @@ bool Account::ActivateAccount(User * puser, long code, bool use_ses_log)
|
|||
|
||||
log << log2 << "Account: incorrect activation code" << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << logerror << T(L"incorrect_activation_code") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << logerror << T(L"incorrect_activation_code") << logend;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
log << log1 << "Account: there is no activation_code value in an admin environment" << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << loginfo << T(L"account_cannot_be_activated") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << loginfo << T(L"account_cannot_be_activated") << logend;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
bool Account::ActivateAccount(const std::wstring & login, long code, bool use_ses_log)
|
||||
bool Account::ActivateAccount(const std::wstring & login, long code)
|
||||
{
|
||||
bool result = false;
|
||||
User * puser = system->users.GetUser(login);
|
||||
|
@ -110,14 +109,14 @@ bool Account::ActivateAccount(const std::wstring & login, long code, bool use_se
|
|||
{
|
||||
if( puser->status == WINIX_ACCOUNT_NOT_ACTIVATED )
|
||||
{
|
||||
result = ActivateAccount(puser, code, use_ses_log);
|
||||
result = ActivateAccount(puser, code);
|
||||
}
|
||||
else
|
||||
{
|
||||
log << log2 << "Account: this account is already activated" << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << loginfo << T(L"account_already_activated") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << loginfo << T(L"account_already_activated") << logend;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -137,7 +136,7 @@ void Account::ActivateAccount()
|
|||
|
||||
if( !login.empty() )
|
||||
{
|
||||
ActivateAccount(login, code, true);
|
||||
ActivateAccount(login, code);
|
||||
system->RedirectToLastItem();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -54,11 +54,11 @@ public:
|
|||
void MakeGet();
|
||||
void MakePost();
|
||||
|
||||
bool ActivateAccount(const std::wstring & login, long code, bool use_ses_log = false);
|
||||
bool ActivateAccount(const std::wstring & login, long code);
|
||||
|
||||
private:
|
||||
|
||||
bool ActivateAccount(User * puser, long code, bool use_ses_log);
|
||||
bool ActivateAccount(User * puser, long code);
|
||||
void ActivateAccount();
|
||||
|
||||
};
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2021, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -69,14 +69,14 @@ return true;
|
|||
|
||||
|
||||
|
||||
bool AddUser::IsLoginCorrect(const std::wstring & login, bool use_ses_log)
|
||||
bool AddUser::IsLoginCorrect(const std::wstring & login)
|
||||
{
|
||||
if( login.empty() )
|
||||
{
|
||||
log << log2 << "AddUser: login can't be empty" << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << logerror << T("adduser_err_login_empty") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << logerror << T("adduser_err_login_empty") << logend;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -85,9 +85,9 @@ bool AddUser::IsLoginCorrect(const std::wstring & login, bool use_ses_log)
|
|||
{
|
||||
log << log2 << "AddUser: login can't be longer than: " << WINIX_ACCOUNT_MAX_LOGIN_SIZE << " characters" << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << logerror << T("adduser_err_login_too_big") << " " << WINIX_ACCOUNT_MAX_LOGIN_SIZE
|
||||
<< " " << T("adduser_err_login_too_big2") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << logerror << T("adduser_err_login_too_big") << " " << WINIX_ACCOUNT_MAX_LOGIN_SIZE
|
||||
// << " " << T("adduser_err_login_too_big2") << logend;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -96,8 +96,8 @@ bool AddUser::IsLoginCorrect(const std::wstring & login, bool use_ses_log)
|
|||
{
|
||||
log << log2 << "AddUser: incorrect login characters" << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << logerror << T("adduser_err_login_incorrect_chars") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << logerror << T("adduser_err_login_incorrect_chars") << logend;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -106,8 +106,8 @@ bool AddUser::IsLoginCorrect(const std::wstring & login, bool use_ses_log)
|
|||
{
|
||||
log << log2 << "AddUser: such user already exists" << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << logerror << T("adduser_err_user_exists") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << logerror << T("adduser_err_user_exists") << logend;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -117,15 +117,15 @@ return true;
|
|||
|
||||
|
||||
|
||||
bool AddUser::IsEmailCorrect(const std::wstring & email, bool use_ses_log)
|
||||
bool AddUser::IsEmailCorrect(const std::wstring & email)
|
||||
{
|
||||
if( email.size() > WINIX_ACCOUNT_MAX_EMAIL_SIZE )
|
||||
{
|
||||
log << log2 << "AddUser: email can't be longer than: " << WINIX_ACCOUNT_MAX_EMAIL_SIZE << " characters" << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << logerror << T("adduser_err_email_too_big") << " " << WINIX_ACCOUNT_MAX_EMAIL_SIZE
|
||||
<< " " << T("adduser_err_email_too_big2") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << logerror << T("adduser_err_email_too_big") << " " << WINIX_ACCOUNT_MAX_EMAIL_SIZE
|
||||
// << " " << T("adduser_err_email_too_big2") << logend;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -134,8 +134,8 @@ bool AddUser::IsEmailCorrect(const std::wstring & email, bool use_ses_log)
|
|||
{
|
||||
log << log2 << "AddUser: email: " << email << " does not seem to be correct" << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << logerror << T(L"adduser_err_email_incorrect") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << logerror << T(L"adduser_err_email_incorrect") << logend;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -210,8 +210,7 @@ bool AddUser::AddNewUser(const std::wstring & login,
|
|||
const std::wstring & pass,
|
||||
const std::wstring & email,
|
||||
bool autoactivate,
|
||||
bool try_login,
|
||||
bool use_ses_log)
|
||||
bool try_login)
|
||||
{
|
||||
user.set_connector(model_connector);
|
||||
user.clear();
|
||||
|
@ -248,8 +247,8 @@ bool AddUser::AddNewUser(const std::wstring & login,
|
|||
{
|
||||
system->notify.ActivateAccount(user.login, user.email, code);
|
||||
|
||||
if( use_ses_log )
|
||||
slog << loginfo << T(L"account_email_sent") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << loginfo << T(L"account_email_sent") << logend;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -272,9 +271,9 @@ void AddUser::MakePost()
|
|||
// or some other place
|
||||
functions->fun_passwd.set_dependency(this);
|
||||
|
||||
if( !IsLoginCorrect(login, true) ||
|
||||
!IsEmailCorrect(email, true) ||
|
||||
!functions->fun_passwd.IsPasswordCorrect(pass, conf_pass, true) )
|
||||
if( !IsLoginCorrect(login) ||
|
||||
!IsEmailCorrect(email) ||
|
||||
!functions->fun_passwd.IsPasswordCorrect(pass, conf_pass) )
|
||||
return;
|
||||
|
||||
if( cur->session->puser && cur->session->puser->is_super_user )
|
||||
|
@ -285,7 +284,7 @@ void AddUser::MakePost()
|
|||
log << log2 << "AddUser: account activated by an admin" << logend;
|
||||
}
|
||||
|
||||
if( AddNewUser(login, pass, email, autoactivate, true, true) )
|
||||
if( AddNewUser(login, pass, email, autoactivate, true) )
|
||||
system->RedirectToLastItem();
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2021, Tomasz Sowa
|
||||
* Copyright (c) 2010-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -54,8 +54,8 @@ public:
|
|||
void MakePost();
|
||||
void MakeGet();
|
||||
|
||||
bool IsLoginCorrect(const std::wstring & login, bool use_ses_log = false);
|
||||
bool IsEmailCorrect(const std::wstring & email, bool use_ses_log = false);
|
||||
bool IsLoginCorrect(const std::wstring & login);
|
||||
bool IsEmailCorrect(const std::wstring & email);
|
||||
|
||||
bool HasLoginCorrectChars(const std::wstring & login);
|
||||
bool AddNewUser(User & user, const std::wstring & pass);
|
||||
|
@ -64,8 +64,7 @@ public:
|
|||
const std::wstring & pass,
|
||||
const std::wstring & email,
|
||||
bool autoactivate,
|
||||
bool try_login,
|
||||
bool use_ses_log = false);
|
||||
bool try_login);
|
||||
|
||||
private:
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2018, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -60,7 +60,6 @@ void Chmod::MakePost()
|
|||
{
|
||||
priv_changer.SetCur(cur);
|
||||
priv_changer.SetSystem(system);
|
||||
priv_changer.SetDb(db);
|
||||
|
||||
priv_changer.Change(false, true);
|
||||
}
|
||||
|
@ -70,7 +69,6 @@ void Chmod::MakeGet()
|
|||
{
|
||||
priv_changer.SetCur(cur);
|
||||
priv_changer.SetSystem(system);
|
||||
priv_changer.SetDb(db);
|
||||
|
||||
priv_changer.CheckAccess();
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2018, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -61,7 +61,6 @@ void Chown::MakePost()
|
|||
{
|
||||
priv_changer.SetCur(cur);
|
||||
priv_changer.SetSystem(system);
|
||||
priv_changer.SetDb(db);
|
||||
|
||||
priv_changer.Change(true, false);
|
||||
}
|
||||
|
@ -71,7 +70,6 @@ void Chown::MakeGet()
|
|||
{
|
||||
priv_changer.SetCur(cur);
|
||||
priv_changer.SetSystem(system);
|
||||
priv_changer.SetDb(db);
|
||||
|
||||
priv_changer.CheckAccess();
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2021, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -33,6 +33,7 @@
|
|||
*/
|
||||
|
||||
#include "default.h"
|
||||
#include "core/misc.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2022, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -33,6 +33,7 @@
|
|||
*/
|
||||
|
||||
#include "download.h"
|
||||
#include "core/misc.h"
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2012-2021, Tomasz Sowa
|
||||
* Copyright (c) 2012-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -34,6 +34,7 @@
|
|||
|
||||
#include "env.h"
|
||||
#include "core/log.h"
|
||||
#include "core/misc.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
|
@ -73,7 +74,7 @@ bool Env::Parse(const std::wstring & env_str)
|
|||
}
|
||||
|
||||
|
||||
bool Env::EditAdminEnv(const std::wstring & env_str, bool use_ses_log)
|
||||
bool Env::EditAdminEnv(const std::wstring & env_str)
|
||||
{
|
||||
if( Parse(env_str) )
|
||||
{
|
||||
|
@ -93,15 +94,15 @@ bool Env::EditAdminEnv(const std::wstring & env_str, bool use_ses_log)
|
|||
{
|
||||
log << log2 << "Env: Syntax error in line: " << conf_parser.get_last_parsed_line() << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << logerror << T("syntax_error_in_line") << ' ' << conf_parser.get_last_parsed_line() << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << logerror << T("syntax_error_in_line") << ' ' << conf_parser.get_last_parsed_line() << logend;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
bool Env::EditEnv(const std::wstring & env_str, bool use_ses_log)
|
||||
bool Env::EditEnv(const std::wstring & env_str)
|
||||
{
|
||||
if( Parse(env_str) )
|
||||
{
|
||||
|
@ -121,8 +122,8 @@ bool Env::EditEnv(const std::wstring & env_str, bool use_ses_log)
|
|||
{
|
||||
log << log2 << "Env: Syntax error in line: " << conf_parser.get_last_parsed_line() << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << logerror << T("syntax_error_in_line") << ' ' << conf_parser.get_last_parsed_line() << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << logerror << T("syntax_error_in_line") << ' ' << conf_parser.get_last_parsed_line() << logend;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -139,21 +140,21 @@ void Env::SaveEnv()
|
|||
{
|
||||
if( cur->session->puser->is_super_user )
|
||||
{
|
||||
status = EditAdminEnv(env_str, true);
|
||||
status = EditAdminEnv(env_str);
|
||||
|
||||
if( status )
|
||||
{
|
||||
slog << loginfo << T(L"env_admin_changed_successfully") << logend;
|
||||
//slog << loginfo << T(L"env_admin_changed_successfully") << logend;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
status = EditEnv(env_str, true);
|
||||
status = EditEnv(env_str);
|
||||
|
||||
if( status )
|
||||
{
|
||||
slog << loginfo << T(L"env_changed_successfully") << logend;
|
||||
//slog << loginfo << T(L"env_changed_successfully") << logend;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2012-2021, Tomasz Sowa
|
||||
* Copyright (c) 2012-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -66,8 +66,8 @@ private:
|
|||
pt::Space space;
|
||||
UserWrapper user_wrapper;
|
||||
|
||||
bool EditAdminEnv(const std::wstring & env_str, bool use_ses_log = false);
|
||||
bool EditEnv(const std::wstring & env_str, bool use_ses_log = false);
|
||||
bool EditAdminEnv(const std::wstring & env_str);
|
||||
bool EditEnv(const std::wstring & env_str);
|
||||
|
||||
bool Parse(const std::wstring & env_str);
|
||||
void SaveEnv();
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2023, Tomasz Sowa
|
||||
* Copyright (c) 2010-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -33,6 +33,7 @@
|
|||
*/
|
||||
|
||||
#include "functionbase.h"
|
||||
#include "core/misc.h"
|
||||
#include "functions.h"
|
||||
#include "templates/templates.h"
|
||||
|
||||
|
@ -60,7 +61,6 @@ FunctionBase::FunctionBase()
|
|||
fun.id = -1;
|
||||
fun.type = Item::file;
|
||||
|
||||
db = nullptr;
|
||||
functions = nullptr;
|
||||
templates = nullptr;
|
||||
}
|
||||
|
@ -85,12 +85,6 @@ FunctionBase::~FunctionBase()
|
|||
|
||||
|
||||
|
||||
void FunctionBase::SetDb(Db * pdb)
|
||||
{
|
||||
db = pdb;
|
||||
}
|
||||
|
||||
|
||||
//void FunctionBase::SetSystem(System * psystem)
|
||||
//{
|
||||
// system = psystem;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2023, Tomasz Sowa
|
||||
* Copyright (c) 2010-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -37,7 +37,6 @@
|
|||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include "db/db.h"
|
||||
#include "core/request.h"
|
||||
#include "core/config.h"
|
||||
#include "core/synchro.h"
|
||||
|
@ -160,7 +159,6 @@ public:
|
|||
|
||||
//void SetConfig(Config * pconfig);
|
||||
//void SetCur(Cur * pcur);
|
||||
void SetDb(Db * pdb);
|
||||
//void SetSystem(System * psystem);
|
||||
void SetFunctions(Functions * pfunctions);
|
||||
void SetTemplates(Templates * ptemplates);
|
||||
|
@ -172,7 +170,6 @@ public:
|
|||
protected:
|
||||
|
||||
//Config * config;
|
||||
Db * db; // depracated
|
||||
//System * system;
|
||||
Functions * functions;
|
||||
Templates * templates;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2022, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -34,6 +34,7 @@
|
|||
|
||||
#include "functionparser.h"
|
||||
#include "core/log.h"
|
||||
#include "core/winix_const.h"
|
||||
#include "functions.h"
|
||||
#include "utf8/utf8.h"
|
||||
#include "models/item.h"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2022, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -38,7 +38,6 @@
|
|||
#include <string>
|
||||
|
||||
#include "core/winixmodeldeprecated.h"
|
||||
#include "db/db.h"
|
||||
#include "core/cur.h"
|
||||
#include "core/dirs.h"
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2022, Tomasz Sowa
|
||||
* Copyright (c) 2010-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -55,13 +55,6 @@ void Functions::SetCur(Cur * pcur)
|
|||
}
|
||||
|
||||
|
||||
|
||||
void Functions::SetDb(Db * pdb)
|
||||
{
|
||||
db = pdb;
|
||||
}
|
||||
|
||||
|
||||
void Functions::SetSystem(System * psystem)
|
||||
{
|
||||
system = psystem;
|
||||
|
@ -190,7 +183,6 @@ void Functions::SetObjects(FunctionBase * fun)
|
|||
|
||||
//fun->SetConfig(config);
|
||||
//fun->SetCur(cur);
|
||||
fun->SetDb(db);
|
||||
//fun->SetSystem(system);
|
||||
fun->SetFunctions(this);
|
||||
fun->SetTemplates(templates);
|
||||
|
@ -661,17 +653,17 @@ bool Functions::CheckAntispamCounter()
|
|||
|
||||
// !!uwaga zwracana wartosc zmieniona (true/false)
|
||||
// !! IMPROVE ME in emacs.cpp there is a similar function
|
||||
bool Functions::CheckAbuse(SLog * slog)
|
||||
bool Functions::CheckAbuse()
|
||||
{
|
||||
if( !system->rebus.CheckRebus() )
|
||||
{
|
||||
cur->request->status = WINIX_ERR_INCORRECT_REBUS;
|
||||
|
||||
if( slog )
|
||||
{
|
||||
// put to locale
|
||||
(*slog) << logerror << T(L"rebus_need_to_solve") << logend;
|
||||
}
|
||||
// if( slog )
|
||||
// {
|
||||
// // put to locale
|
||||
// (*slog) << logerror << T(L"rebus_need_to_solve") << logend;
|
||||
// }
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2022, Tomasz Sowa
|
||||
* Copyright (c) 2010-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -169,7 +169,6 @@ public:
|
|||
|
||||
//void SetConfig(Config * pconfig);
|
||||
void SetCur(Cur * pcur);
|
||||
void SetDb(Db * pdb);
|
||||
void SetSystem(System * psystem);
|
||||
void SetTemplates(Templates * ptemplates);
|
||||
//void SetSynchro(Synchro * psynchro);
|
||||
|
@ -184,7 +183,7 @@ public:
|
|||
|
||||
void CheckGetPostTimes(time_t difference = 10);
|
||||
|
||||
bool CheckAbuse(SLog * slog = nullptr);
|
||||
bool CheckAbuse();
|
||||
|
||||
// !! dac lepsze nazwy
|
||||
void ReadItemFilterHtml(const std::wstring & html, std::wstring & html_filtered);
|
||||
|
@ -206,7 +205,6 @@ private:
|
|||
|
||||
//Config * config;
|
||||
Cur * cur;
|
||||
Db * db;
|
||||
System * system;
|
||||
//Synchro * synchro;
|
||||
Templates * templates;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2013-2022, Tomasz Sowa
|
||||
* Copyright (c) 2013-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -33,6 +33,7 @@
|
|||
*/
|
||||
|
||||
#include "imgcrop.h"
|
||||
#include "core/misc.h"
|
||||
#include "functions.h"
|
||||
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2012-2021, Tomasz Sowa
|
||||
* Copyright (c) 2012-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -89,7 +89,7 @@ size_t tmp_ip_len = sizeof(tmp_ip_str) / sizeof(char);
|
|||
if( cur->session->ip_ban )
|
||||
cur_ip = cur->session->ip_ban->ip;
|
||||
|
||||
if( wide_to_utf8(cur->request->ParamValue(L"removeip"), tmp_ip_str, tmp_ip_len) )
|
||||
if( pt::wide_to_utf8(cur->request->ParamValue(L"removeip"), tmp_ip_str, tmp_ip_len) )
|
||||
{
|
||||
int ip = (int)inet_addr(tmp_ip_str);
|
||||
session_manager->RemoveIPBan(ip);
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2012-2021, Tomasz Sowa
|
||||
* Copyright (c) 2012-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -33,6 +33,7 @@
|
|||
*/
|
||||
|
||||
#include "locale.h"
|
||||
#include "core/misc.h"
|
||||
#include "templates/templates.h"
|
||||
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2021, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -270,8 +270,7 @@ return true;
|
|||
|
||||
// if you are logging not from a webbrowser but from an application
|
||||
// then probably you need check_abuse to be false
|
||||
bool Login::LoginUser(const std::wstring & login, const std::wstring & password, bool remember_me,
|
||||
bool use_ses_log, bool check_abuse)
|
||||
bool Login::LoginUser(const std::wstring & login, const std::wstring & password, bool remember_me, bool check_abuse)
|
||||
{
|
||||
long user_id;
|
||||
|
||||
|
@ -305,7 +304,7 @@ long user_id;
|
|||
|
||||
if( CheckUserPass(login, password, user_id) )
|
||||
{
|
||||
if( system->users.LoginUser(user_id, remember_me, use_ses_log) )
|
||||
if( system->users.LoginUser(user_id, remember_me) )
|
||||
{
|
||||
if( cur->session->ip_ban )
|
||||
cur->session->ip_ban->incorrect_login_events = 0;
|
||||
|
@ -328,7 +327,7 @@ void Login::MakePost()
|
|||
const std::wstring & pass = cur->request->PostVar(L"password");
|
||||
const std::wstring & remem = cur->request->PostVar(L"rememberme");
|
||||
|
||||
if( LoginUser(login, pass, !remem.empty(), true, true) )
|
||||
if( LoginUser(login, pass, !remem.empty(), true) )
|
||||
system->RedirectToLastItem();
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2021, Tomasz Sowa
|
||||
* Copyright (c) 2010-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -69,8 +69,7 @@ public:
|
|||
bool CannotLoginFrom(const IPBan & ipban);
|
||||
|
||||
bool CheckUserPass(const std::wstring & login, const std::wstring & password, long & user_id);
|
||||
bool LoginUser(const std::wstring & login, const std::wstring & password, bool remember_me,
|
||||
bool use_ses_log = false, bool check_abuse = false);
|
||||
bool LoginUser(const std::wstring & login, const std::wstring & password, bool remember_me, bool check_abuse = false);
|
||||
|
||||
|
||||
private:
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2011-2021, Tomasz Sowa
|
||||
* Copyright (c) 2011-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -68,7 +68,7 @@ bool Meta::Parse(const std::wstring & meta_str)
|
|||
|
||||
|
||||
|
||||
bool Meta::EditAdminMeta(Item & item, const std::wstring & meta_str, bool use_ses_log)
|
||||
bool Meta::EditAdminMeta(Item & item, const std::wstring & meta_str)
|
||||
{
|
||||
if( Parse(meta_str) )
|
||||
{
|
||||
|
@ -90,8 +90,8 @@ bool Meta::EditAdminMeta(Item & item, const std::wstring & meta_str, bool use_se
|
|||
{
|
||||
log << log2 << "Meta: Syntax error in line: " << conf_parser.get_last_parsed_line() << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << logerror << T("syntax_error_in_line") << ' ' << conf_parser.get_last_parsed_line() << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << logerror << T("syntax_error_in_line") << ' ' << conf_parser.get_last_parsed_line() << logend;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -99,7 +99,7 @@ return false;
|
|||
|
||||
|
||||
|
||||
bool Meta::EditMeta(Item & item, const std::wstring & meta_str, bool use_ses_log)
|
||||
bool Meta::EditMeta(Item & item, const std::wstring & meta_str)
|
||||
{
|
||||
if( Parse(meta_str) )
|
||||
{
|
||||
|
@ -121,8 +121,8 @@ bool Meta::EditMeta(Item & item, const std::wstring & meta_str, bool use_ses_log
|
|||
{
|
||||
log << log2 << "Meta: Syntax error in line: " << conf_parser.get_last_parsed_line() << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << logerror << T("syntax_error_in_line") << ' ' << conf_parser.get_last_parsed_line() << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << logerror << T("syntax_error_in_line") << ' ' << conf_parser.get_last_parsed_line() << logend;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
@ -138,7 +138,7 @@ void Meta::ChangeAdminMeta()
|
|||
{
|
||||
const std::wstring & meta_str = cur->request->PostVar(L"itemmeta");
|
||||
|
||||
if( EditAdminMeta(*cur->request->last_item, meta_str, true) )
|
||||
if( EditAdminMeta(*cur->request->last_item, meta_str) )
|
||||
{
|
||||
system->RedirectToLastItem();
|
||||
}
|
||||
|
@ -152,7 +152,7 @@ void Meta::ChangeMeta()
|
|||
{
|
||||
const std::wstring & meta_str = cur->request->PostVar(L"itemmeta");
|
||||
|
||||
if( EditMeta(*cur->request->last_item, meta_str, true) )
|
||||
if( EditMeta(*cur->request->last_item, meta_str) )
|
||||
{
|
||||
system->RedirectToLastItem();
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2011-2021, Tomasz Sowa
|
||||
* Copyright (c) 2011-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -55,8 +55,8 @@ public:
|
|||
bool HasAccess();
|
||||
void MakePost();
|
||||
|
||||
bool EditAdminMeta(Item & item, const std::wstring & meta_str, bool use_ses_log = false);
|
||||
bool EditMeta(Item & item, const std::wstring & meta_str, bool use_ses_log = false);
|
||||
bool EditAdminMeta(Item & item, const std::wstring & meta_str);
|
||||
bool EditMeta(Item & item, const std::wstring & meta_str);
|
||||
|
||||
private:
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2021, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -34,6 +34,7 @@
|
|||
|
||||
#include <errno.h>
|
||||
#include "mv.h"
|
||||
#include "core/misc.h"
|
||||
#include "functions.h"
|
||||
|
||||
|
||||
|
@ -155,7 +156,7 @@ bool Mv::ParseDirCheckLastName()
|
|||
if( out_has_file )
|
||||
{
|
||||
log << log1 << "Mv: incorrent path" << logend;
|
||||
slog << logerror << T("mv_incorrect_path") << logend;
|
||||
//slog << logerror << T("mv_incorrect_path") << logend;
|
||||
return false;
|
||||
}
|
||||
else
|
||||
|
@ -212,7 +213,7 @@ bool Mv::ParseDir(const std::wstring & dst_path, bool check_access)
|
|||
|
||||
if( res != 0 && res != 1 )
|
||||
{
|
||||
slog << logerror << T("mv_incorrect_dst_path") << logend;
|
||||
//slog << logerror << T("mv_incorrect_dst_path") << logend;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -232,7 +233,7 @@ bool Mv::CanRemoveRenameChild(const Item & child)
|
|||
if( !parent_dir || !system->CanRemoveRenameChild(*parent_dir, child.item_content.user_id) )
|
||||
{
|
||||
log << log1 << "Mv: permission denied to: " << child.url << logend;
|
||||
slog << logerror << T("mv_permission_denied_to") << ": " << child.url << logend;
|
||||
//slog << logerror << T("mv_permission_denied_to") << ": " << child.url << logend;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -256,7 +257,7 @@ bool Mv::MoveStaticFile(const std::wstring & from, const std::wstring & to)
|
|||
else
|
||||
{
|
||||
log << log1 << "Mv: cannot move a static file from: " << from << ", to: " << to << logend;
|
||||
slog << logerror << T("internal_error") << logend;
|
||||
//slog << logerror << T("internal_error") << logend;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -277,7 +278,7 @@ bool ok = true;
|
|||
if( !ok )
|
||||
{
|
||||
log << log1 << "Mv: cannot create a static path" << logend;
|
||||
slog << logerror << T("internal_error") << logend;
|
||||
//slog << logerror << T("internal_error") << logend;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -289,7 +290,7 @@ bool ok = true;
|
|||
if( !item.item_content.update() )
|
||||
{
|
||||
log << log1 << "Mv: cannot move static file (database problem)" << logend;
|
||||
slog << logerror << T("internal_error") << logend;
|
||||
//slog << logerror << T("internal_error") << logend;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -384,7 +385,7 @@ bool Mv::MoveDir(Item & src_dir, std::vector<Item*> & dst_dir_tab, const std::ws
|
|||
if( dst_dir_id == src_dir.id || system->dirs.HasParent(dst_dir_id, src_dir.id) )
|
||||
{
|
||||
log << log1 << "Mv: cannot move directory to inside it" << logend;
|
||||
slog << logerror << T("mv_cannot_move_to_inside");
|
||||
//slog << logerror << T("mv_cannot_move_to_inside");
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -439,7 +440,7 @@ bool Mv::MoveDir2(Item & src_dir, long dst_dir_id, const std::wstring & new_url,
|
|||
if( src_dir.parent_id == -1 )
|
||||
{
|
||||
log << log1 << "Mv: the root directory cannot be moved anywhere" << logend;
|
||||
slog << logerror << T("mv_cant_move_root_dir") << logend;
|
||||
//slog << logerror << T("mv_cant_move_root_dir") << logend;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -455,7 +456,7 @@ bool Mv::MoveDir2(Item & src_dir, long dst_dir_id, const std::wstring & new_url,
|
|||
if( !system->dirs.CreateDirTab(dst_dir_id, out_dir_tab) )
|
||||
{
|
||||
log << log1 << "Mv: incorrect directory" << logend;
|
||||
slog << logerror << T("mv_incorrect_dir") << logend;
|
||||
//slog << logerror << T("mv_incorrect_dir") << logend;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -486,7 +487,7 @@ bool Mv::MoveDir2(Item & src_dir, const std::wstring & dst_path, bool check_acce
|
|||
if( src_dir.parent_id == -1 )
|
||||
{
|
||||
log << log1 << "Mv: the root directory cannot be moved anywhere" << logend;
|
||||
slog << logerror << T("mv_cant_move_root_dir") << logend;
|
||||
//slog << logerror << T("mv_cant_move_root_dir") << logend;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -499,7 +500,7 @@ bool Mv::MoveDir2(Item & src_dir, const std::wstring & dst_path, bool check_acce
|
|||
if( out_has_file )
|
||||
{
|
||||
log << log1 << "Mv: directory can be moved only to a directory" << logend;
|
||||
slog << logerror << T("mv_dir_can_be_moved_to_dir") << logend;
|
||||
//slog << logerror << T("mv_dir_can_be_moved_to_dir") << logend;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -623,7 +624,7 @@ bool Mv::MoveFileOrSymlink2(Item & src_file, const std::wstring & dst_path, bool
|
|||
if( out_has_file )
|
||||
{
|
||||
log << log3 << "Mv: such file already exists (skipping)" << logend;
|
||||
slog << logerror << T("mv_file_exists") << logend;
|
||||
//slog << logerror << T("mv_file_exists") << logend;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -653,7 +654,7 @@ void Mv::MoveAllFilesFromDir(Item & src_dir, std::vector<Item*> & dst_dir_tab, b
|
|||
if( check_access && !system->CanRemoveRenameChild(src_dir, item_tab[i].item_content.user_id) )
|
||||
{
|
||||
log << log1 << "Mv: permission denied to: " << src_dir.url << logend;
|
||||
slog << logerror << T("mv_permission_denied_to") << ": " << src_dir.url << logend;
|
||||
//slog << logerror << T("mv_permission_denied_to") << ": " << src_dir.url << logend;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -688,14 +689,14 @@ void Mv::MoveDirContent2(Item & src_dir, long dst_dir_id, bool check_access)
|
|||
if( src_dir.parent_id == -1 )
|
||||
{
|
||||
log << log1 << "Mv: the root directory cannot be moved anywhere" << logend;
|
||||
slog << logerror << T("mv_cant_move_root_dir") << logend;
|
||||
//slog << logerror << T("mv_cant_move_root_dir") << logend;
|
||||
return;
|
||||
}
|
||||
|
||||
if( !system->dirs.CreateDirTab(dst_dir_id, out_dir_tab) )
|
||||
{
|
||||
log << log1 << "Mv: incorrect directory" << logend;
|
||||
slog << logerror << T("mv_incorrect_dir") << logend;
|
||||
//slog << logerror << T("mv_incorrect_dir") << logend;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -721,7 +722,7 @@ void Mv::MoveDirContent2(Item & src_dir, const std::wstring & dst_dir, bool chec
|
|||
if( out_has_file || !out_filename.empty() )
|
||||
{
|
||||
log << log1 << "Mv: directory content can be moved only to a directory" << logend;
|
||||
slog << logerror << T("mv_dir_content_can_be_moved_to_dir") << logend;
|
||||
//slog << logerror << T("mv_dir_content_can_be_moved_to_dir") << logend;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2014, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -33,6 +33,7 @@
|
|||
*/
|
||||
|
||||
#include "node.h"
|
||||
#include "core/misc.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2011-2021, Tomasz Sowa
|
||||
* Copyright (c) 2011-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -33,7 +33,7 @@
|
|||
*/
|
||||
|
||||
#include "passwd.h"
|
||||
#include "core/slog.h"
|
||||
#include "core/misc.h"
|
||||
#include "functions/functions.h"
|
||||
|
||||
|
||||
|
@ -62,14 +62,14 @@ bool Passwd::HasAccess()
|
|||
|
||||
|
||||
|
||||
bool Passwd::IsPasswordCorrect(const std::wstring & pass, const std::wstring & conf_pass, bool use_ses_log)
|
||||
bool Passwd::IsPasswordCorrect(const std::wstring & pass, const std::wstring & conf_pass)
|
||||
{
|
||||
if( pass != conf_pass )
|
||||
{
|
||||
log << log2 << "Passwd: passwords are different" << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << logerror << T("adduser_err_passwords_different") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << logerror << T("adduser_err_passwords_different") << logend;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -78,9 +78,9 @@ bool Passwd::IsPasswordCorrect(const std::wstring & pass, const std::wstring & c
|
|||
{
|
||||
log << log2 << "Passwd: password is too small" << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << logerror << T("adduser_err_password_too_small") << " "
|
||||
<< config->pass_min_size << " " << T("adduser_err_password_too_small2") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << logerror << T("adduser_err_password_too_small") << " "
|
||||
// << config->pass_min_size << " " << T("adduser_err_password_too_small2") << logend;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -89,9 +89,9 @@ bool Passwd::IsPasswordCorrect(const std::wstring & pass, const std::wstring & c
|
|||
{
|
||||
log << log2 << "Passwd: password can't be longer than: " << WINIX_ACCOUNT_MAX_PASSWORD_SIZE << " characters" << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << logerror << T("adduser_err_password_too_big") << " " << WINIX_ACCOUNT_MAX_PASSWORD_SIZE
|
||||
<< " " << T("adduser_err_password_too_big2") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << logerror << T("adduser_err_password_too_big") << " " << WINIX_ACCOUNT_MAX_PASSWORD_SIZE
|
||||
// << " " << T("adduser_err_password_too_big2") << logend;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -143,16 +143,16 @@ long user_id;
|
|||
if( !cur->session->puser->is_super_user && !functions->fun_login.CheckUserPass(puser->login, pass_cur, user_id) )
|
||||
{
|
||||
log << log3 << "Passwd: incorrect current password" << logend;
|
||||
slog << logerror << T("passwd_err_bad_current_password") << logend;
|
||||
//slog << logerror << T("passwd_err_bad_current_password") << logend;
|
||||
return;
|
||||
}
|
||||
|
||||
if( !IsPasswordCorrect(pass_new, pass_conf, true) )
|
||||
if( !IsPasswordCorrect(pass_new, pass_conf) )
|
||||
return;
|
||||
|
||||
if( ChangePassword(puser->id, pass_new) )
|
||||
{
|
||||
slog << loginfo << T("passwd_password_changed") << logend;
|
||||
//slog << loginfo << T("passwd_password_changed") << logend;
|
||||
system->RedirectToLastItem();
|
||||
}
|
||||
}
|
||||
|
@ -160,26 +160,26 @@ long user_id;
|
|||
|
||||
|
||||
|
||||
bool Passwd::SetNewPassword(User * puser, bool use_ses_log)
|
||||
bool Passwd::SetNewPassword(User * puser)
|
||||
{
|
||||
bool result = false;
|
||||
|
||||
const std::wstring & pass = cur->request->PostVar(L"passwordnew");
|
||||
const std::wstring & pass_conf = cur->request->PostVar(L"passwordconfirm");
|
||||
|
||||
if( IsPasswordCorrect(pass, pass_conf, use_ses_log) )
|
||||
if( IsPasswordCorrect(pass, pass_conf) )
|
||||
{
|
||||
if( ChangePassword(puser->id, pass) )
|
||||
{
|
||||
result = true;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << loginfo << T("pw_password_changed") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << loginfo << T("pw_password_changed") << logend;
|
||||
}
|
||||
else
|
||||
{
|
||||
if( use_ses_log )
|
||||
slog << logerror << T("service_unavailable") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << logerror << T("service_unavailable") << logend;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -188,7 +188,7 @@ return result;
|
|||
|
||||
|
||||
|
||||
bool Passwd::ResetPassword(User * puser, long code, bool use_ses_log, bool only_check_access)
|
||||
bool Passwd::ResetPassword(User * puser, long code, bool only_check_access)
|
||||
{
|
||||
std::wstring * user_code_str = puser->admin_env.get_wstr(L"password_change_code");
|
||||
|
||||
|
@ -199,29 +199,29 @@ bool Passwd::ResetPassword(User * puser, long code, bool use_ses_log, bool only_
|
|||
if( only_check_access )
|
||||
return true;
|
||||
else
|
||||
return SetNewPassword(puser, use_ses_log);
|
||||
return SetNewPassword(puser);
|
||||
}
|
||||
else
|
||||
{
|
||||
log << log2 << "Passwd: incorrect change password code" << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << logerror << T(L"incorrect_change_password_code") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << logerror << T(L"incorrect_change_password_code") << logend;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
log << log1 << "Passwd: there is no change password code in admin environment" << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << loginfo << T(L"password_cannot_be_changed") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << loginfo << T(L"password_cannot_be_changed") << logend;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
bool Passwd::ResetPassword(const std::wstring & login, long code, bool use_ses_log, bool only_check_access)
|
||||
bool Passwd::ResetPassword(const std::wstring & login, long code, bool only_check_access)
|
||||
{
|
||||
bool result = false;
|
||||
User * puser = system->users.GetUser(login);
|
||||
|
@ -232,14 +232,14 @@ bool Passwd::ResetPassword(const std::wstring & login, long code, bool use_ses_l
|
|||
|
||||
if( puser->admin_env.to_long(L"password_change_time") + config->reset_password_code_expiration_time > t )
|
||||
{
|
||||
result = ResetPassword(puser, code, use_ses_log, only_check_access);
|
||||
result = ResetPassword(puser, code, only_check_access);
|
||||
}
|
||||
else
|
||||
{
|
||||
log << log2 << "Passwd: the code has expired" << logend;
|
||||
|
||||
if( use_ses_log )
|
||||
slog << logerror << T(L"code_expired") << logend;
|
||||
// if( use_ses_log )
|
||||
// slog << logerror << T(L"code_expired") << logend;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -256,7 +256,7 @@ void Passwd::ResetPassword()
|
|||
const std::wstring & login = cur->request->PostVar(L"login");
|
||||
long code = Tol(cur->request->PostVar(L"code"));
|
||||
|
||||
if( ResetPassword(login, code, true, false) )
|
||||
if( ResetPassword(login, code, false) )
|
||||
system->RedirectToLastItem();
|
||||
}
|
||||
|
||||
|
@ -268,7 +268,7 @@ void Passwd::ShowResetPasswordForm()
|
|||
|
||||
if( !login.empty() )
|
||||
{
|
||||
if( !ResetPassword(login, code, true, true) )
|
||||
if( !ResetPassword(login, code, true) )
|
||||
system->RedirectToLastItem();
|
||||
}
|
||||
else
|
||||
|
|
|
@ -55,17 +55,17 @@ public:
|
|||
void MakeGet();
|
||||
void MakePost();
|
||||
|
||||
bool IsPasswordCorrect(const std::wstring & pass, const std::wstring & conf_pass, bool use_ses_log = false);
|
||||
bool IsPasswordCorrect(const std::wstring & pass, const std::wstring & conf_pass);
|
||||
bool ChangePassword(long user_id, const std::wstring & new_password);
|
||||
bool ResetPassword(const std::wstring & login, long code, bool use_ses_log = false, bool only_check_access = false);
|
||||
bool ResetPassword(const std::wstring & login, long code, bool only_check_access = false);
|
||||
|
||||
private:
|
||||
|
||||
void ChangePassword(User * puser);
|
||||
|
||||
bool ResetPassword(User * puser, long code, bool use_ses_log);
|
||||
bool SetNewPassword(User * puser, bool use_ses_log);
|
||||
bool ResetPassword(User * puser, long code, bool use_ses_log, bool only_check_access);
|
||||
bool ResetPassword(User * puser, long code);
|
||||
bool SetNewPassword(User * puser);
|
||||
bool ResetPassword(User * puser, long code, bool only_check_access);
|
||||
void ResetPassword();
|
||||
void ShowResetPasswordForm();
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2018, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -62,7 +62,6 @@ void Priv::MakePost()
|
|||
{
|
||||
priv_changer.SetCur(cur);
|
||||
priv_changer.SetSystem(system);
|
||||
priv_changer.SetDb(db);
|
||||
|
||||
priv_changer.Change(true, true);
|
||||
}
|
||||
|
@ -72,7 +71,6 @@ void Priv::MakeGet()
|
|||
{
|
||||
priv_changer.SetCur(cur);
|
||||
priv_changer.SetSystem(system);
|
||||
priv_changer.SetDb(db);
|
||||
|
||||
priv_changer.CheckAccess();
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2021, Tomasz Sowa
|
||||
* Copyright (c) 2010-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -52,11 +52,6 @@ void PrivChanger::SetSystem(System * psystem)
|
|||
system = psystem;
|
||||
}
|
||||
|
||||
void PrivChanger::SetDb(Db * pdb)
|
||||
{
|
||||
db = pdb;
|
||||
}
|
||||
|
||||
|
||||
bool PrivChanger::CheckAccess()
|
||||
{
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2021, Tomasz Sowa
|
||||
* Copyright (c) 2010-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -36,9 +36,7 @@
|
|||
#define headerfile_winix_functions_privchanger
|
||||
|
||||
#include "core/winixmodeldeprecated.h"
|
||||
#include "core/request.h"
|
||||
#include "core/system.h"
|
||||
#include "db/db.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
|
@ -54,13 +52,11 @@ public:
|
|||
|
||||
void SetCur(Cur * pcur);
|
||||
void SetSystem(System * psystem);
|
||||
void SetDb(Db * pdb);
|
||||
|
||||
private:
|
||||
|
||||
Cur * cur;
|
||||
System * system;
|
||||
Db * db;
|
||||
|
||||
long user_id_file, group_id_file, user_id_dir, group_id_dir;
|
||||
int priv_file, priv_dir;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2021, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -116,7 +116,7 @@ bool res = false;
|
|||
else
|
||||
{
|
||||
log << log3 << "Rm: directories can be removed only with 'r' parameter" << logend;
|
||||
slog << logerror << T("rm_use_r_option") << logend;
|
||||
//slog << logerror << T("rm_use_r_option") << logend;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -154,7 +154,7 @@ void Rm::RemoveStaticFile(const std::wstring & path)
|
|||
else
|
||||
{
|
||||
log << log1 << "Rm: I can't remove a static file: " << path << logend;
|
||||
slog << logerror << T("rm_cannot_remove_static_file") << ": " << path << logend;
|
||||
//slog << logerror << T("rm_cannot_remove_static_file") << ": " << path << logend;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -174,7 +174,7 @@ void Rm::RemoveStaticFile(const Item & item)
|
|||
log << log1 << "Rm: I cannot create a path to a static file, url: "
|
||||
<< item.url << ", id: " << item.id << logend;
|
||||
|
||||
slog << logerror << T("rm_cannot_create_static_path") << ": " << item.url << logend;
|
||||
//slog << logerror << T("rm_cannot_create_static_path") << ": " << item.url << logend;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -234,7 +234,7 @@ bool Rm::RemoveFileOrSymlink(Item & item, bool check_access)
|
|||
if( !system->CanRemoveRenameChild(*dir, item.item_content.user_id) )
|
||||
{
|
||||
log << log1 << "Rm: permission denied to remove: " << item.url << ", id: " << item.id << logend;
|
||||
slog << logerror << T("rm_permission_denied_to") << ": " << item.url << logend;
|
||||
//slog << logerror << T("rm_permission_denied_to") << ": " << item.url << logend;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -392,7 +392,7 @@ void Rm::RemoveCurrentDir(Item * parent_dir, Item * current_dir, bool check_acce
|
|||
if( !parent_dir || !system->CanRemoveRenameChild(*parent_dir, current_dir->item_content.user_id) )
|
||||
{
|
||||
log << log1 << "Rm: permission denied to directory: " << current_dir->url << logend;
|
||||
slog << logerror << T("rm_permission_denied_to") << ": " << current_dir->url << logend;
|
||||
//slog << logerror << T("rm_permission_denied_to") << ": " << current_dir->url << logend;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -427,7 +427,7 @@ void Rm::RemoveDirTree(Item * parent_dir, Item * current_dir, bool remove_this_d
|
|||
if( check_access && !system->HasReadExecAccess(*current_dir) )
|
||||
{
|
||||
log << log1 << "Rm: permission denied to directory: " << current_dir->url << logend;
|
||||
slog << logerror << T("rm_permission_denied_to") << ": " << current_dir->url << logend;
|
||||
//slog << logerror << T("rm_permission_denied_to") << ": " << current_dir->url << logend;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -455,7 +455,7 @@ void Rm::RemoveDirTree(Item * parent_dir, Item * current_dir, bool remove_this_d
|
|||
else
|
||||
{
|
||||
log << log1 << "Rm: " << current_dir->url << " directory not empty" << logend;
|
||||
slog << logerror << current_dir->url << T("rm_directory_not_empty") << logend;
|
||||
//slog << logerror << current_dir->url << T("rm_directory_not_empty") << logend;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -477,7 +477,7 @@ void Rm::RemoveDirContent()
|
|||
{
|
||||
cur->request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
log << log3 << "Rm: directory content can be removed only with 'r' parameter" << logend;
|
||||
slog << logerror << T("rm_content_use_r_option") << logend;
|
||||
//slog << logerror << T("rm_content_use_r_option") << logend;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -492,7 +492,7 @@ void Rm::RemoveDir()
|
|||
{
|
||||
cur->request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
log << log3 << "Rm: a directory can be removed only with 'r' parameter" << logend;
|
||||
slog << logerror << T("rm_use_r_option") << logend;
|
||||
//slog << logerror << T("rm_use_r_option") << logend;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -500,7 +500,7 @@ void Rm::RemoveDir()
|
|||
{
|
||||
cur->request->status = WINIX_ERR_PERMISSION_DENIED;
|
||||
log << log1 << "Rm: the root directory cannot be removed" << logend;
|
||||
slog << logerror << T("rm_cannot_remove_root_dir") << logend;
|
||||
//slog << logerror << T("rm_cannot_remove_root_dir") << logend;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2011-2022, Tomasz Sowa
|
||||
* Copyright (c) 2011-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -34,6 +34,7 @@
|
|||
|
||||
#include <algorithm>
|
||||
#include "sort.h"
|
||||
#include "core/misc.h"
|
||||
#include "core/plugin.h"
|
||||
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2012-2021, Tomasz Sowa
|
||||
* Copyright (c) 2012-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -33,6 +33,7 @@
|
|||
*/
|
||||
|
||||
#include "timezone.h"
|
||||
#include "core/misc.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
[if slog_tab]
|
||||
|
||||
[for slog_tab]
|
||||
|
||||
<div class="uk-margin [if slog_tab_is_error] uk-alert-danger[end][if slog_tab_is_warning] uk-alert-warning[end][if slog_tab_is_info] uk-alert-success[end]" data-uk-alert>
|
||||
|
||||
<a class="uk-alert-close" data-uk-close></a>
|
||||
|
||||
[if slog_tab_is_info]
|
||||
{slog_info}:
|
||||
[end]
|
||||
|
||||
[if slog_tab_is_warning]
|
||||
{slog_warning}:
|
||||
[end]
|
||||
|
||||
[if slog_tab_is_error]
|
||||
{slog_error}:
|
||||
[end]
|
||||
|
||||
[slog_tab_print]
|
||||
|
||||
</div>
|
||||
|
||||
[end]
|
||||
|
||||
[end]
|
|
@ -474,9 +474,6 @@ cp_preserve_attr = Preserve attributes: user, group, times
|
|||
cp_follow_symlinks = Follow symlinks
|
||||
|
||||
|
||||
slog_warning = Warning
|
||||
slog_error = Error
|
||||
slog_info = Info
|
||||
unknown_filesystem = Unknown filesystem
|
||||
no_such_dir = There is not such a directory
|
||||
unknown_mount_type = There is not such a mount type
|
||||
|
|
|
@ -492,9 +492,6 @@ cp_remove_defaults = Usuń atrybut 'default' z kopiowanych katalogów
|
|||
cp_preserve_attr = Zachowaj atrybuty: użytkownik, grupa, czas
|
||||
cp_follow_symlinks = Podążaj za linkami symbolicznymi
|
||||
|
||||
slog_warning = Ostrzeżenie
|
||||
slog_error = Błąd
|
||||
slog_info = Informacja
|
||||
unknown_filesystem = Nieznany system plików
|
||||
no_such_dir = Nie ma takiego katalogu
|
||||
unknown_mount_type = Nieprawidłowy rodzaj punktu montowania
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2021, Tomasz Sowa
|
||||
* Copyright (c) 2021-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -131,19 +131,6 @@ Groups * WinixModel::get_groups()
|
|||
}
|
||||
|
||||
|
||||
SLog * WinixModel::get_session_logger()
|
||||
{
|
||||
WinixModelConnector * connector = get_winix_model_connector();
|
||||
|
||||
if( connector )
|
||||
{
|
||||
return connector->get_winix_session_logger();
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
Session * WinixModel::get_session()
|
||||
{
|
||||
WinixModelConnector * connector = get_winix_model_connector();
|
||||
|
@ -314,19 +301,6 @@ const Groups * WinixModel::get_groups() const
|
|||
}
|
||||
|
||||
|
||||
const SLog * WinixModel::get_session_logger() const
|
||||
{
|
||||
const WinixModelConnector * connector = get_winix_model_connector();
|
||||
|
||||
if( connector )
|
||||
{
|
||||
return connector->get_winix_session_logger();
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
|
||||
const Session * WinixModel::get_session() const
|
||||
{
|
||||
const WinixModelConnector * connector = get_winix_model_connector();
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2021, Tomasz Sowa
|
||||
* Copyright (c) 2021-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -49,7 +49,6 @@ class Dirs;
|
|||
class Mounts;
|
||||
class Users;
|
||||
class Groups;
|
||||
class SLog;
|
||||
class Session;
|
||||
class User;
|
||||
class Locale;
|
||||
|
@ -69,7 +68,6 @@ public:
|
|||
Mounts * get_mounts();
|
||||
Users * get_users();
|
||||
Groups * get_groups();
|
||||
SLog * get_session_logger(); // FIXME always return null at the moment, should be set when a new request is created and clear at the end of a request
|
||||
Session * get_session();
|
||||
User * get_current_user();
|
||||
Locale * get_locale();
|
||||
|
@ -84,7 +82,6 @@ public:
|
|||
const Mounts * get_mounts() const;
|
||||
const Users * get_users() const;
|
||||
const Groups * get_groups() const;
|
||||
const SLog * get_session_logger() const; // FIXME always return null at the moment, should be set when a new request is created and clear at the end of a request
|
||||
const Session * get_session() const;
|
||||
const User * get_current_user() const;
|
||||
const Locale * get_locale() const;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2021, Tomasz Sowa
|
||||
* Copyright (c) 2021-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -48,7 +48,6 @@ WinixModelConnector::WinixModelConnector()
|
|||
mounts = nullptr;
|
||||
users = nullptr;
|
||||
groups = nullptr;
|
||||
slog = nullptr;
|
||||
session = nullptr;
|
||||
locale = nullptr;
|
||||
session_manager = nullptr;
|
||||
|
@ -99,12 +98,6 @@ Groups * WinixModelConnector::get_winix_groups()
|
|||
}
|
||||
|
||||
|
||||
SLog * WinixModelConnector::get_winix_session_logger()
|
||||
{
|
||||
return slog;
|
||||
}
|
||||
|
||||
|
||||
Session * WinixModelConnector::get_winix_session()
|
||||
{
|
||||
return session;
|
||||
|
@ -182,12 +175,6 @@ const Groups * WinixModelConnector::get_winix_groups() const
|
|||
}
|
||||
|
||||
|
||||
const SLog * WinixModelConnector::get_winix_session_logger() const
|
||||
{
|
||||
return slog;
|
||||
}
|
||||
|
||||
|
||||
const Session * WinixModelConnector::get_winix_session() const
|
||||
{
|
||||
return session;
|
||||
|
@ -261,12 +248,6 @@ void WinixModelConnector::set_winix_groups(Groups * groups)
|
|||
}
|
||||
|
||||
|
||||
void WinixModelConnector::set_winix_session_logger(SLog * slog)
|
||||
{
|
||||
this->slog = slog;
|
||||
}
|
||||
|
||||
|
||||
void WinixModelConnector::set_winix_session(Session * session)
|
||||
{
|
||||
this->session = session;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2021, Tomasz Sowa
|
||||
* Copyright (c) 2021-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -47,7 +47,6 @@ class Dirs;
|
|||
class Mounts;
|
||||
class Users;
|
||||
class Groups;
|
||||
class SLog;
|
||||
class Session;
|
||||
class Locale;
|
||||
class SessionManager;
|
||||
|
@ -69,7 +68,6 @@ public:
|
|||
Mounts * get_winix_mounts();
|
||||
Users * get_winix_users();
|
||||
Groups * get_winix_groups();
|
||||
SLog * get_winix_session_logger();
|
||||
Session * get_winix_session();
|
||||
Locale * get_winix_locale();
|
||||
SessionManager * get_winix_session_manager();
|
||||
|
@ -84,7 +82,6 @@ public:
|
|||
const Mounts * get_winix_mounts() const;
|
||||
const Users * get_winix_users() const;
|
||||
const Groups * get_winix_groups() const;
|
||||
const SLog * get_winix_session_logger() const;
|
||||
const Session * get_winix_session() const;
|
||||
const Locale * get_winix_locale() const;
|
||||
const SessionManager * get_winix_session_manager() const;
|
||||
|
@ -98,7 +95,6 @@ public:
|
|||
void set_winix_mounts(Mounts * mounts);
|
||||
void set_winix_users(Users * users);
|
||||
void set_winix_groups(Groups * groups);
|
||||
void set_winix_session_logger(SLog * slog);
|
||||
void set_winix_session(Session * session);
|
||||
void set_winix_locale(Locale * locale);
|
||||
void set_winix_session_manager(SessionManager * session_manager);
|
||||
|
@ -115,7 +111,6 @@ protected:
|
|||
Mounts * mounts;
|
||||
Users * users;
|
||||
Groups * groups;
|
||||
SLog * slog;
|
||||
Session * session;
|
||||
Locale * locale;
|
||||
SessionManager * session_manager;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2022, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -33,6 +33,7 @@
|
|||
*/
|
||||
|
||||
#include "notify.h"
|
||||
#include "core/misc.h"
|
||||
#include "templates/templates.h"
|
||||
#include "core/request.h"
|
||||
#include "core/config.h"
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2022, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -33,6 +33,7 @@
|
|||
*/
|
||||
|
||||
#include "notifythread.h"
|
||||
#include "core/misc.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
|
@ -210,7 +211,7 @@ bool queue_end;
|
|||
// second thread
|
||||
void NotifyThread::SendMail()
|
||||
{
|
||||
notify_stream.Clear();
|
||||
notify_stream.clear();
|
||||
|
||||
size_t lang_id = TemplatesNotifyFunctions::notify_user_msg.lang;
|
||||
size_t template_index = TemplatesNotifyFunctions::notify_msg.template_index;
|
||||
|
@ -250,7 +251,9 @@ void NotifyThread::SendMail()
|
|||
generator.CanUseCache(false);
|
||||
generator.Generate(notify_stream);
|
||||
|
||||
SendMail(TemplatesNotifyFunctions::notify_user_msg.email, notify_stream.Str());
|
||||
notify_stream.to_str(msg_str);
|
||||
SendMail(TemplatesNotifyFunctions::notify_user_msg.email, msg_str);
|
||||
msg_str.clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2018, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -80,6 +80,7 @@ private:
|
|||
Patterns patterns;
|
||||
TemplatesNotifyFunctions::NotifyStream notify_stream;
|
||||
Ezc::Generator<TemplatesNotifyFunctions::NotifyStream, true> generator;
|
||||
std::wstring msg_str;
|
||||
|
||||
virtual bool Init();
|
||||
virtual bool SignalReceived();
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2018, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -50,13 +50,13 @@ Ezc::Functions<NotifyStream> ezc_functions;
|
|||
NotifyUserMsg notify_user_msg;
|
||||
NotifyMsg notify_msg;
|
||||
|
||||
static std::string qencode_tmp;
|
||||
static pt::WTextStream qencode_tmp;
|
||||
|
||||
|
||||
void fil_qencode(Info & i)
|
||||
{
|
||||
// QEncode can be used in other threads
|
||||
QEncode(i.in.Str(), qencode_tmp);
|
||||
q_encode(i.in, qencode_tmp);
|
||||
i.out << qencode_tmp;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2008-2014, Tomasz Sowa
|
||||
* Copyright (c) 2008-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -36,7 +36,6 @@
|
|||
#define headerfile_winix_notify_templatesnotify
|
||||
|
||||
#include "ezc.h"
|
||||
#include "core/textstream.h"
|
||||
#include "notifypool.h"
|
||||
|
||||
namespace Winix
|
||||
|
@ -45,7 +44,7 @@ namespace Winix
|
|||
|
||||
namespace TemplatesNotifyFunctions
|
||||
{
|
||||
typedef TextStream<std::wstring> NotifyStream;
|
||||
typedef pt::WTextStream NotifyStream;
|
||||
typedef Ezc::FunInfo<NotifyStream> Info;
|
||||
|
||||
extern NotifyUserMsg notify_user_msg;
|
||||
|
|
|
@ -1,30 +1,36 @@
|
|||
# DO NOT DELETE
|
||||
|
||||
./edb.o: edb.h ../../../../winix/winixd/db/dbbase.h
|
||||
./edb.o: ../../../../winix/winixd/db/dbconn.h
|
||||
./edb.o: ../../../../winix/winixd/db/dbtextstream.h
|
||||
./edb.o: ../../../../winix/winixd/core/textstream.h
|
||||
./edb.o: ../../../../winix/winixd/core/misc.h
|
||||
./edb.o: ../../../../winix/winixd/core/requesttypes.h
|
||||
./edb.o: edb.h export.h ../../../../morm/src/model.h
|
||||
./edb.o: ../../../../pikotools/src/textstream/textstream.h
|
||||
./edb.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./edb.o: ../../../../pikotools/src/space/space.h
|
||||
./edb.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./edb.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./edb.o: ../../../../pikotools/src/convert/misc.h
|
||||
./edb.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./edb.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./edb.o: ../../../../pikotools/src/date/date.h
|
||||
./edb.o: ../../../../pikotools/src/membuffer/membuffer.h
|
||||
./edb.o: ../../../../pikotools/src/textstream/types.h
|
||||
./edb.o: ../../../../pikotools/src/textstream/stream_private.h
|
||||
./edb.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./edb.o: ../../../../pikotools/src/convert/convert.h
|
||||
./edb.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./edb.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./edb.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./edb.o: ../../../../pikotools/src/convert/text.h
|
||||
./edb.o: ../../../../pikotools/src/convert/misc.h
|
||||
./edb.o: ../../../../pikotools/src/textstream/types.h
|
||||
./edb.o: ../../../../pikotools/src/convert/double.h
|
||||
./edb.o: ../../../../morm/src/modelconnector.h ../../../../morm/src/clearer.h
|
||||
./edb.o: ../../../../morm/src/ft.h ../../../../morm/src/dbconnector.h
|
||||
./edb.o: ../../../../pikotools/src/log/log.h
|
||||
./edb.o: ../../../../pikotools/src/log/filelog.h
|
||||
./edb.o: ../../../../morm/src/queryresult.h
|
||||
./edb.o: ../../../../morm/src/flatconnector.h
|
||||
./edb.o: ../../../../morm/src/dbexpression.h
|
||||
./edb.o: ../../../../morm/src/baseexpression.h
|
||||
./edb.o: ../../../../morm/src/morm_types.h ../../../../morm/src/modelenv.h
|
||||
./edb.o: ../../../../morm/src/modeldata.h ../../../../morm/src/cursorhelper.h
|
||||
./edb.o: ../../../../morm/src/finderhelper.h
|
||||
./edb.o: ../../../../morm/src/fieldvaluehelper.h
|
||||
./edb.o: ../../../../morm/src/wrapper.h ../../../../morm/src/spacewrapper.h
|
||||
./edb.o: ../../../../morm/src/baseobjectwrapper.h
|
||||
./edb.o: ../../../../morm/src/modelcontainerwrapper.h
|
||||
./edb.o: ../../../../morm/src/select.h ../../../../morm/src/flatexpression.h
|
||||
./edb.o: ../../../../ezc/src/funinfo.h ../../../../ezc/src/item.h exportftp.h
|
||||
./edb.o: exportdir.h ../../../../winix/winixd/core/dirs.h
|
||||
./edb.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
./edb.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./edb.o: ../../../../winix/winixd/core/config.h
|
||||
./edb.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
|
@ -32,29 +38,10 @@
|
|||
./edb.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./edb.o: ../../../../winix/winixd/core/log.h
|
||||
./edb.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./edb.o: ../../../../pikotools/src/log/log.h
|
||||
./edb.o: ../../../../pikotools/src/log/filelog.h
|
||||
./edb.o: ../../../../winix/winixd/core/filelog.h
|
||||
./edb.o: ../../../../winix/winixd/core/synchro.h ../../../../morm/src/morm.h
|
||||
./edb.o: ../../../../morm/src/version.h ../../../../morm/src/morm_types.h
|
||||
./edb.o: ../../../../morm/src/model.h ../../../../morm/src/modelconnector.h
|
||||
./edb.o: ../../../../morm/src/clearer.h ../../../../morm/src/ft.h
|
||||
./edb.o: ../../../../morm/src/dbconnector.h
|
||||
./edb.o: ../../../../morm/src/queryresult.h
|
||||
./edb.o: ../../../../morm/src/flatconnector.h export.h
|
||||
./edb.o: ../../../../morm/src/dbexpression.h
|
||||
./edb.o: ../../../../morm/src/baseexpression.h
|
||||
./edb.o: ../../../../morm/src/modelenv.h ../../../../morm/src/modeldata.h
|
||||
./edb.o: ../../../../morm/src/cursorhelper.h
|
||||
./edb.o: ../../../../morm/src/finderhelper.h
|
||||
./edb.o: ../../../../morm/src/fieldvaluehelper.h
|
||||
./edb.o: ../../../../morm/src/wrapper.h ../../../../morm/src/spacewrapper.h
|
||||
./edb.o: ../../../../morm/src/baseobjectwrapper.h
|
||||
./edb.o: ../../../../morm/src/modelcontainerwrapper.h
|
||||
./edb.o: ../../../../morm/src/select.h ../../../../morm/src/flatexpression.h
|
||||
./edb.o: ../../../../ezc/src/funinfo.h ../../../../ezc/src/item.h
|
||||
./edb.o: ../../../../morm/src/finder.h ../../../../morm/src/cursor.h
|
||||
./edb.o: ../../../../morm/src/jsonexpression.h
|
||||
./edb.o: ../../../../morm/src/version.h ../../../../morm/src/finder.h
|
||||
./edb.o: ../../../../morm/src/cursor.h ../../../../morm/src/jsonexpression.h
|
||||
./edb.o: ../../../../morm/src/postgresqlexpression.h
|
||||
./edb.o: ../../../../morm/src/xmlexpression.h
|
||||
./edb.o: ../../../../morm/src/jsonconnector.h
|
||||
|
@ -66,10 +53,6 @@
|
|||
./edb.o: ../../../../winix/winixd/core/filelog.h
|
||||
./edb.o: ../../../../winix/winixd/core/lock.h
|
||||
./edb.o: ../../../../winix/winixd/core/synchro.h
|
||||
./edb.o: ../../../../winix/winixd/core/error.h
|
||||
./edb.o: ../../../../winix/winixd/core/dirs.h
|
||||
./edb.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
./edb.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./edb.o: ../../../../winix/winixd/models/item.h
|
||||
./edb.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./edb.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
|
@ -78,25 +61,22 @@
|
|||
./edb.o: ../../../../winix/winixd/templates/misc.h
|
||||
./edb.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./edb.o: ../../../../winix/winixd/templates/locale.h
|
||||
./edb.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./edb.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./edb.o: ../../../../ezc/src/ezc.h ../../../../ezc/src/version.h
|
||||
./edb.o: ../../../../ezc/src/generator.h ../../../../ezc/src/blocks.h
|
||||
./edb.o: ../../../../ezc/src/cache.h ../../../../ezc/src/functions.h
|
||||
./edb.o: ../../../../ezc/src/objects.h ../../../../ezc/src/pattern.h
|
||||
./edb.o: ../../../../ezc/src/outstreams.h
|
||||
./edb.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./edb.o: ../../../../pikotools/src/convert/text.h
|
||||
./edb.o: ../../../../pikotools/src/convert/misc.h ../../../../ezc/src/ezc.h
|
||||
./edb.o: ../../../../ezc/src/version.h ../../../../ezc/src/generator.h
|
||||
./edb.o: ../../../../ezc/src/blocks.h ../../../../ezc/src/cache.h
|
||||
./edb.o: ../../../../ezc/src/functions.h ../../../../ezc/src/objects.h
|
||||
./edb.o: ../../../../ezc/src/pattern.h ../../../../ezc/src/outstreams.h
|
||||
./edb.o: ../../../../ezc/src/expressionparser.h ../../../../ezc/src/models.h
|
||||
./edb.o: ../../../../ezc/src/patternparser.h
|
||||
./edb.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./edb.o: ../../../../winix/winixd/db/db.h
|
||||
./edb.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./edb.o: ../../../../winix/winixd/models/user.h
|
||||
./edb.o: ../../../../winix/winixd/models/group.h
|
||||
./edb.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
./edb.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./edb.o: ../../../../winix/winixd/core/request.h
|
||||
./edb.o: ../../../../winix/winixd/core/requesttypes.h
|
||||
./edb.o: ../../../../winix/winixd/core/error.h
|
||||
./edb.o: ../../../../winix/winixd/core/config.h
|
||||
./edb.o: ../../../../winix/winixd/core/textstream.h
|
||||
./edb.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./edb.o: ../../../../winix/winixd/core/header.h
|
||||
./edb.o: ../../../../winix/winixd/core/compress.h
|
||||
|
@ -115,34 +95,27 @@
|
|||
./exportinfo.o: ../../../../winix/winixd/core/synchro.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/winixmodeldeprecated.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/config.h
|
||||
./exportinfo.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./exportinfo.o: ../../../../pikotools/src/space/space.h
|
||||
./exportinfo.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./exportinfo.o: ../../../../morm/src/morm.h ../../../../morm/src/version.h
|
||||
./exportinfo.o: ../../../../morm/src/morm_types.h
|
||||
./exportinfo.o: ../../../../morm/src/model.h
|
||||
./exportinfo.o: ../../../../pikotools/src/textstream/textstream.h
|
||||
./exportinfo.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./exportinfo.o: ../../../../pikotools/src/space/space.h
|
||||
./exportinfo.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./exportinfo.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./exportinfo.o: ../../../../pikotools/src/convert/misc.h
|
||||
./exportinfo.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./exportinfo.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./exportinfo.o: ../../../../pikotools/src/date/date.h
|
||||
./exportinfo.o: ../../../../pikotools/src/membuffer/membuffer.h
|
||||
./exportinfo.o: ../../../../pikotools/src/textstream/types.h
|
||||
./exportinfo.o: ../../../../pikotools/src/textstream/stream_private.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/log.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./exportinfo.o: ../../../../pikotools/src/log/log.h
|
||||
./exportinfo.o: ../../../../pikotools/src/log/filelog.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/filelog.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/synchro.h
|
||||
./exportinfo.o: ../../../../morm/src/morm.h ../../../../morm/src/version.h
|
||||
./exportinfo.o: ../../../../morm/src/morm_types.h
|
||||
./exportinfo.o: ../../../../morm/src/model.h
|
||||
./exportinfo.o: ../../../../morm/src/modelconnector.h
|
||||
./exportinfo.o: ../../../../morm/src/clearer.h ../../../../morm/src/ft.h
|
||||
./exportinfo.o: ../../../../morm/src/dbconnector.h
|
||||
./exportinfo.o: ../../../../pikotools/src/log/log.h
|
||||
./exportinfo.o: ../../../../pikotools/src/log/filelog.h
|
||||
./exportinfo.o: ../../../../morm/src/queryresult.h
|
||||
./exportinfo.o: ../../../../morm/src/flatconnector.h export.h
|
||||
./exportinfo.o: ../../../../morm/src/flatconnector.h export.h exportftp.h
|
||||
./exportinfo.o: ../../../../morm/src/dbexpression.h
|
||||
./exportinfo.o: ../../../../morm/src/baseexpression.h
|
||||
./exportinfo.o: ../../../../morm/src/modelenv.h
|
||||
|
@ -166,8 +139,6 @@
|
|||
./exportinfo.o: ../../../../morm/src/postgresqlqueryresult.h
|
||||
./exportinfo.o: ../../../../morm/src/xmlconnector.h
|
||||
./exportinfo.o: ../../../../morm/src/transaction.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/filelog.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/lock.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/jobtask.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/cur.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/request.h
|
||||
|
@ -180,7 +151,13 @@
|
|||
./exportinfo.o: ../../../../winix/winixd/templates/misc.h
|
||||
./exportinfo.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./exportinfo.o: ../../../../winix/winixd/templates/locale.h
|
||||
./exportinfo.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./exportinfo.o: ../../../../pikotools/src/space/space.h
|
||||
./exportinfo.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./exportinfo.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./exportinfo.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./exportinfo.o: ../../../../pikotools/src/convert/text.h
|
||||
./exportinfo.o: ../../../../pikotools/src/convert/misc.h
|
||||
./exportinfo.o: ../../../../ezc/src/ezc.h ../../../../ezc/src/version.h
|
||||
./exportinfo.o: ../../../../ezc/src/generator.h ../../../../ezc/src/blocks.h
|
||||
./exportinfo.o: ../../../../ezc/src/cache.h ../../../../ezc/src/functions.h
|
||||
|
@ -192,24 +169,25 @@
|
|||
./exportinfo.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/error.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/config.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/textstream.h
|
||||
./exportinfo.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/header.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/log.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/filelog.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/synchro.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/compress.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/config.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/filelog.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/lock.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/plugin.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/pluginmsg.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/plugindata.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/mount.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/mounts.h
|
||||
./exportinfo.o: ../../../../winix/winixd/db/db.h
|
||||
./exportinfo.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./exportinfo.o: ../../../../winix/winixd/models/user.h
|
||||
./exportinfo.o: ../../../../winix/winixd/models/group.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/mountparser.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/session.h
|
||||
./exportinfo.o: ../../../../winix/winixd/models/user.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/rebus.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/ipban.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/loadavg.h
|
||||
|
@ -224,6 +202,7 @@
|
|||
./exportinfo.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/lastcontainer.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/groups.h
|
||||
./exportinfo.o: ../../../../winix/winixd/models/group.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/image.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/threadmanager.h
|
||||
./exportinfo.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
|
@ -235,24 +214,9 @@
|
|||
./exportinfo.o: ../../../../winix/winixd/notify/notifythread.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/basethread.h
|
||||
./exportinfo.o: ../../../../winix/winixd/notify/templatesnotify.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/textstream.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/misc.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./exportinfo.o: ../../../../pikotools/src/convert/convert.h
|
||||
./exportinfo.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./exportinfo.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./exportinfo.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./exportinfo.o: ../../../../pikotools/src/convert/text.h
|
||||
./exportinfo.o: ../../../../pikotools/src/convert/misc.h
|
||||
./exportinfo.o: ../../../../pikotools/src/textstream/types.h
|
||||
./exportinfo.o: ../../../../pikotools/src/convert/double.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/users.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/timezones.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/timezone.h edb.h
|
||||
./exportinfo.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./exportinfo.o: ../../../../winix/winixd/db/dbconn.h
|
||||
./exportinfo.o: ../../../../winix/winixd/db/dbtextstream.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/error.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/timezone.h edb.h exportdir.h
|
||||
./exportinfo.o: ../../../../winix/winixd/core/dirs.h message.h exportthread.h
|
||||
./exportinfo.o: ../../../../pikotools/src/convert/text.h
|
||||
./exportthread.o: exportthread.h ../../../../winix/winixd/core/basethread.h
|
||||
|
@ -263,8 +227,9 @@
|
|||
./exportthread.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./exportthread.o: ../../../../pikotools/src/space/space.h
|
||||
./exportthread.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./exportthread.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./exportthread.o: ../../../../pikotools/src/convert/misc.h
|
||||
./exportthread.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./exportthread.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./exportthread.o: ../../../../pikotools/src/date/date.h
|
||||
./exportthread.o: ../../../../pikotools/src/membuffer/membuffer.h
|
||||
./exportthread.o: ../../../../pikotools/src/textstream/types.h
|
||||
|
@ -276,34 +241,40 @@
|
|||
./exportthread.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./exportthread.o: ../../../../pikotools/src/convert/text.h
|
||||
./exportthread.o: ../../../../pikotools/src/convert/misc.h
|
||||
./exportthread.o: ../../../../pikotools/src/textstream/types.h
|
||||
./exportthread.o: ../../../../pikotools/src/convert/double.h
|
||||
./exportthread.o: ../../../../pikotools/src/convert/text.h
|
||||
./funexport.o: funexport.h ../../../../winix/winixd/functions/functionbase.h
|
||||
./funexport.o: ../../../../winix/winixd/db/db.h
|
||||
./funexport.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./funexport.o: ../../../../winix/winixd/models/user.h
|
||||
./funexport.o: ../../../../morm/src/model.h
|
||||
./funexport.o: ../../../../winix/winixd/core/request.h
|
||||
./funexport.o: ../../../../winix/winixd/core/config.h
|
||||
./funexport.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./funexport.o: ../../../../pikotools/src/space/space.h
|
||||
./funexport.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./funexport.o: ../../../../pikotools/src/textstream/textstream.h
|
||||
./funexport.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./funexport.o: ../../../../pikotools/src/space/space.h
|
||||
./funexport.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./funexport.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./funexport.o: ../../../../pikotools/src/convert/misc.h
|
||||
./funexport.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./funexport.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./funexport.o: ../../../../pikotools/src/date/date.h
|
||||
./funexport.o: ../../../../pikotools/src/membuffer/membuffer.h
|
||||
./funexport.o: ../../../../pikotools/src/textstream/types.h
|
||||
./funexport.o: ../../../../pikotools/src/textstream/stream_private.h
|
||||
./funexport.o: ../../../../winix/winixd/core/log.h
|
||||
./funexport.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./funexport.o: ../../../../pikotools/src/log/log.h
|
||||
./funexport.o: ../../../../pikotools/src/log/filelog.h
|
||||
./funexport.o: ../../../../winix/winixd/core/filelog.h
|
||||
./funexport.o: ../../../../winix/winixd/core/synchro.h
|
||||
./funexport.o: ../../../../morm/src/morm.h ../../../../morm/src/version.h
|
||||
./funexport.o: ../../../../morm/src/morm_types.h ../../../../morm/src/model.h
|
||||
./funexport.o: ../../../../morm/src/modelconnector.h
|
||||
./funexport.o: ../../../../morm/src/clearer.h ../../../../morm/src/ft.h
|
||||
./funexport.o: ../../../../morm/src/dbconnector.h
|
||||
./funexport.o: ../../../../pikotools/src/log/log.h
|
||||
./funexport.o: ../../../../pikotools/src/log/filelog.h
|
||||
./funexport.o: ../../../../morm/src/queryresult.h
|
||||
./funexport.o: ../../../../morm/src/flatconnector.h export.h
|
||||
./funexport.o: ../../../../morm/src/flatconnector.h export.h exportftp.h
|
||||
./funexport.o: ../../../../morm/src/dbexpression.h
|
||||
./funexport.o: ../../../../morm/src/baseexpression.h
|
||||
./funexport.o: ../../../../morm/src/morm_types.h
|
||||
./funexport.o: ../../../../morm/src/modelenv.h
|
||||
./funexport.o: ../../../../morm/src/modeldata.h
|
||||
./funexport.o: ../../../../morm/src/cursorhelper.h
|
||||
|
@ -316,19 +287,6 @@
|
|||
./funexport.o: ../../../../morm/src/select.h
|
||||
./funexport.o: ../../../../morm/src/flatexpression.h
|
||||
./funexport.o: ../../../../ezc/src/funinfo.h ../../../../ezc/src/item.h
|
||||
./funexport.o: ../../../../winix/winixd/templates/misc.h
|
||||
./funexport.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./funexport.o: ../../../../winix/winixd/templates/locale.h
|
||||
./funexport.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./funexport.o: ../../../../pikotools/src/space/space.h
|
||||
./funexport.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./funexport.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./funexport.o: ../../../../winix/winixd/core/config.h
|
||||
./funexport.o: ../../../../winix/winixd/core/log.h
|
||||
./funexport.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./funexport.o: ../../../../winix/winixd/core/filelog.h
|
||||
./funexport.o: ../../../../winix/winixd/core/synchro.h
|
||||
./funexport.o: ../../../../morm/src/morm.h ../../../../morm/src/version.h
|
||||
./funexport.o: ../../../../morm/src/finder.h ../../../../morm/src/cursor.h
|
||||
./funexport.o: ../../../../morm/src/jsonexpression.h
|
||||
./funexport.o: ../../../../morm/src/postgresqlexpression.h
|
||||
|
@ -338,11 +296,18 @@
|
|||
./funexport.o: ../../../../morm/src/postgresqlqueryresult.h
|
||||
./funexport.o: ../../../../morm/src/xmlconnector.h
|
||||
./funexport.o: ../../../../morm/src/transaction.h
|
||||
./funexport.o: ../../../../winix/winixd/core/log.h
|
||||
./funexport.o: ../../../../winix/winixd/core/filelog.h
|
||||
./funexport.o: ../../../../winix/winixd/core/lock.h
|
||||
./funexport.o: ../../../../winix/winixd/core/synchro.h
|
||||
./funexport.o: ../../../../winix/winixd/notify/notify.h
|
||||
./funexport.o: ../../../../winix/winixd/core/winixmodeldeprecated.h
|
||||
./funexport.o: ../../../../winix/winixd/notify/notifypool.h
|
||||
./funexport.o: ../../../../winix/winixd/templates/locale.h
|
||||
./funexport.o: ../../../../winix/winixd/templates/patterns.h
|
||||
./funexport.o: ../../../../winix/winixd/templates/locale.h
|
||||
./funexport.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./funexport.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./funexport.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./funexport.o: ../../../../pikotools/src/convert/text.h
|
||||
./funexport.o: ../../../../pikotools/src/convert/misc.h
|
||||
./funexport.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./funexport.o: ../../../../ezc/src/ezc.h ../../../../ezc/src/version.h
|
||||
./funexport.o: ../../../../ezc/src/generator.h ../../../../ezc/src/blocks.h
|
||||
./funexport.o: ../../../../ezc/src/cache.h ../../../../ezc/src/functions.h
|
||||
|
@ -351,54 +316,38 @@
|
|||
./funexport.o: ../../../../ezc/src/expressionparser.h
|
||||
./funexport.o: ../../../../ezc/src/models.h
|
||||
./funexport.o: ../../../../ezc/src/patternparser.h
|
||||
./funexport.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./funexport.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./funexport.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
./funexport.o: ../../../../winix/winixd/models/group.h
|
||||
./funexport.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
./funexport.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./funexport.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./funexport.o: ../../../../winix/winixd/core/request.h
|
||||
./funexport.o: ../../../../winix/winixd/notify/notify.h
|
||||
./funexport.o: ../../../../winix/winixd/core/winixmodeldeprecated.h
|
||||
./funexport.o: ../../../../winix/winixd/notify/notifypool.h
|
||||
./funexport.o: ../../../../winix/winixd/templates/locale.h
|
||||
./funexport.o: ../../../../winix/winixd/templates/patterns.h
|
||||
./funexport.o: ../../../../winix/winixd/templates/misc.h
|
||||
./funexport.o: ../../../../winix/winixd/notify/notifythread.h
|
||||
./funexport.o: ../../../../winix/winixd/core/basethread.h
|
||||
./funexport.o: ../../../../winix/winixd/notify/templatesnotify.h
|
||||
./funexport.o: ../../../../winix/winixd/core/textstream.h
|
||||
./funexport.o: ../../../../winix/winixd/core/misc.h
|
||||
./funexport.o: ../../../../winix/winixd/core/requesttypes.h
|
||||
./funexport.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./funexport.o: ../../../../pikotools/src/convert/convert.h
|
||||
./funexport.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./funexport.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./funexport.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./funexport.o: ../../../../pikotools/src/convert/text.h
|
||||
./funexport.o: ../../../../pikotools/src/convert/misc.h
|
||||
./funexport.o: ../../../../pikotools/src/textstream/types.h
|
||||
./funexport.o: ../../../../pikotools/src/convert/double.h
|
||||
./funexport.o: ../../../../winix/winixd/core/users.h
|
||||
./funexport.o: ../../../../winix/winixd/core/filelog.h
|
||||
./funexport.o: ../../../../winix/winixd/core/winixrequest.h
|
||||
./funexport.o: ../../../../winix/winixd/core/winixsystem.h
|
||||
./funexport.o: ../../../../winix/winixd/core/system.h
|
||||
./funexport.o: ../../../../winix/winixd/core/job.h
|
||||
./funexport.o: ../../../../winix/winixd/core/basethread.h
|
||||
./funexport.o: ../../../../winix/winixd/core/synchro.h
|
||||
./funexport.o: ../../../../winix/winixd/core/winixmodeldeprecated.h
|
||||
./funexport.o: ../../../../winix/winixd/core/jobtask.h
|
||||
./funexport.o: ../../../../winix/winixd/core/cur.h
|
||||
./funexport.o: ../../../../winix/winixd/core/request.h
|
||||
./funexport.o: ../../../../winix/winixd/core/requesttypes.h
|
||||
./funexport.o: ../../../../winix/winixd/models/item.h
|
||||
./funexport.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./funexport.o: ../../../../winix/winixd/core/log.h
|
||||
./funexport.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
./funexport.o: ../../../../winix/winixd/models/itemcontent.h
|
||||
./funexport.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./funexport.o: ../../../../winix/winixd/templates/misc.h
|
||||
./funexport.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./funexport.o: ../../../../winix/winixd/core/error.h
|
||||
./funexport.o: ../../../../winix/winixd/core/config.h
|
||||
./funexport.o: ../../../../winix/winixd/core/textstream.h
|
||||
./funexport.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./funexport.o: ../../../../winix/winixd/core/header.h
|
||||
./funexport.o: ../../../../winix/winixd/core/compress.h
|
||||
./funexport.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./funexport.o: ../../../../winix/winixd/core/lock.h
|
||||
./funexport.o: ../../../../winix/winixd/core/plugin.h
|
||||
./funexport.o: ../../../../winix/winixd/core/pluginmsg.h
|
||||
./funexport.o: ../../../../winix/winixd/core/plugindata.h
|
||||
|
@ -406,6 +355,7 @@
|
|||
./funexport.o: ../../../../winix/winixd/core/mounts.h
|
||||
./funexport.o: ../../../../winix/winixd/core/mountparser.h
|
||||
./funexport.o: ../../../../winix/winixd/core/session.h
|
||||
./funexport.o: ../../../../winix/winixd/models/user.h
|
||||
./funexport.o: ../../../../winix/winixd/core/rebus.h
|
||||
./funexport.o: ../../../../winix/winixd/core/ipban.h
|
||||
./funexport.o: ../../../../winix/winixd/core/loadavg.h
|
||||
|
@ -418,6 +368,7 @@
|
|||
./funexport.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./funexport.o: ../../../../winix/winixd/core/lastcontainer.h
|
||||
./funexport.o: ../../../../winix/winixd/core/groups.h
|
||||
./funexport.o: ../../../../winix/winixd/models/group.h
|
||||
./funexport.o: ../../../../winix/winixd/core/image.h
|
||||
./funexport.o: ../../../../winix/winixd/core/threadmanager.h
|
||||
./funexport.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
|
@ -429,11 +380,7 @@
|
|||
./funexport.o: ../../../../winix/winixd/core/ipbancontainer.h
|
||||
./funexport.o: ../../../../winix/winixd/core/sessionidmanager.h
|
||||
./funexport.o: ../../../../tito/src/base64.h ../../../../tito/src/aes.h
|
||||
./funexport.o: ../../../../winix/winixd/core/slog.h exportinfo.h edb.h
|
||||
./funexport.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./funexport.o: ../../../../winix/winixd/db/dbconn.h
|
||||
./funexport.o: ../../../../winix/winixd/db/dbtextstream.h
|
||||
./funexport.o: ../../../../winix/winixd/core/error.h
|
||||
./funexport.o: exportinfo.h edb.h exportdir.h
|
||||
./funexport.o: ../../../../winix/winixd/core/dirs.h message.h exportthread.h
|
||||
./init.o: ../../../../winix/winixd/core/log.h
|
||||
./init.o: ../../../../winix/winixd/core/plugin.h
|
||||
|
@ -441,32 +388,26 @@
|
|||
./init.o: ../../../../winix/winixd/core/plugindata.h
|
||||
./init.o: ../../../../winix/winixd/core/winixmodeldeprecated.h
|
||||
./init.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./init.o: ../../../../winix/winixd/core/config.h
|
||||
./init.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./init.o: ../../../../pikotools/src/space/space.h
|
||||
./init.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./init.o: ../../../../morm/src/morm.h ../../../../morm/src/version.h
|
||||
./init.o: ../../../../morm/src/morm_types.h ../../../../morm/src/model.h
|
||||
./init.o: ../../../../pikotools/src/textstream/textstream.h
|
||||
./init.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./init.o: ../../../../pikotools/src/space/space.h
|
||||
./init.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./init.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./init.o: ../../../../pikotools/src/convert/misc.h
|
||||
./init.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./init.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./init.o: ../../../../pikotools/src/date/date.h
|
||||
./init.o: ../../../../pikotools/src/membuffer/membuffer.h
|
||||
./init.o: ../../../../pikotools/src/textstream/types.h
|
||||
./init.o: ../../../../pikotools/src/textstream/stream_private.h
|
||||
./init.o: ../../../../winix/winixd/core/log.h
|
||||
./init.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./init.o: ../../../../pikotools/src/log/log.h
|
||||
./init.o: ../../../../pikotools/src/log/filelog.h
|
||||
./init.o: ../../../../winix/winixd/core/filelog.h
|
||||
./init.o: ../../../../winix/winixd/core/synchro.h ../../../../morm/src/morm.h
|
||||
./init.o: ../../../../morm/src/version.h ../../../../morm/src/morm_types.h
|
||||
./init.o: ../../../../morm/src/model.h ../../../../morm/src/modelconnector.h
|
||||
./init.o: ../../../../morm/src/modelconnector.h
|
||||
./init.o: ../../../../morm/src/clearer.h ../../../../morm/src/ft.h
|
||||
./init.o: ../../../../morm/src/dbconnector.h
|
||||
./init.o: ../../../../pikotools/src/log/log.h
|
||||
./init.o: ../../../../pikotools/src/log/filelog.h
|
||||
./init.o: ../../../../morm/src/queryresult.h
|
||||
./init.o: ../../../../morm/src/flatconnector.h export.h
|
||||
./init.o: ../../../../morm/src/flatconnector.h export.h exportftp.h
|
||||
./init.o: ../../../../morm/src/dbexpression.h
|
||||
./init.o: ../../../../morm/src/baseexpression.h
|
||||
./init.o: ../../../../morm/src/modelenv.h ../../../../morm/src/modeldata.h
|
||||
|
@ -487,14 +428,12 @@
|
|||
./init.o: ../../../../morm/src/postgresqlqueryresult.h
|
||||
./init.o: ../../../../morm/src/xmlconnector.h
|
||||
./init.o: ../../../../morm/src/transaction.h
|
||||
./init.o: ../../../../winix/winixd/core/filelog.h
|
||||
./init.o: ../../../../winix/winixd/core/lock.h
|
||||
./init.o: ../../../../winix/winixd/core/synchro.h
|
||||
./init.o: ../../../../winix/winixd/core/mount.h exportthread.h
|
||||
./init.o: ../../../../winix/winixd/core/basethread.h message.h exportinfo.h
|
||||
./init.o: ../../../../winix/winixd/core/system.h
|
||||
./init.o: ../../../../winix/winixd/core/job.h
|
||||
./init.o: ../../../../winix/winixd/core/basethread.h
|
||||
./init.o: ../../../../winix/winixd/core/synchro.h
|
||||
./init.o: ../../../../winix/winixd/core/jobtask.h
|
||||
./init.o: ../../../../winix/winixd/core/cur.h
|
||||
./init.o: ../../../../winix/winixd/core/request.h
|
||||
|
@ -507,32 +446,38 @@
|
|||
./init.o: ../../../../winix/winixd/templates/misc.h
|
||||
./init.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./init.o: ../../../../winix/winixd/templates/locale.h
|
||||
./init.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./init.o: ../../../../pikotools/src/space/space.h
|
||||
./init.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./init.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./init.o: ../../../../ezc/src/ezc.h ../../../../ezc/src/version.h
|
||||
./init.o: ../../../../ezc/src/generator.h ../../../../ezc/src/blocks.h
|
||||
./init.o: ../../../../ezc/src/cache.h ../../../../ezc/src/functions.h
|
||||
./init.o: ../../../../ezc/src/objects.h ../../../../ezc/src/pattern.h
|
||||
./init.o: ../../../../ezc/src/outstreams.h
|
||||
./init.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./init.o: ../../../../pikotools/src/convert/text.h
|
||||
./init.o: ../../../../pikotools/src/convert/misc.h ../../../../ezc/src/ezc.h
|
||||
./init.o: ../../../../ezc/src/version.h ../../../../ezc/src/generator.h
|
||||
./init.o: ../../../../ezc/src/blocks.h ../../../../ezc/src/cache.h
|
||||
./init.o: ../../../../ezc/src/functions.h ../../../../ezc/src/objects.h
|
||||
./init.o: ../../../../ezc/src/pattern.h ../../../../ezc/src/outstreams.h
|
||||
./init.o: ../../../../ezc/src/expressionparser.h ../../../../ezc/src/models.h
|
||||
./init.o: ../../../../ezc/src/patternparser.h
|
||||
./init.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./init.o: ../../../../winix/winixd/core/error.h
|
||||
./init.o: ../../../../winix/winixd/core/config.h
|
||||
./init.o: ../../../../winix/winixd/core/textstream.h
|
||||
./init.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./init.o: ../../../../winix/winixd/core/header.h
|
||||
./init.o: ../../../../winix/winixd/core/log.h
|
||||
./init.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./init.o: ../../../../winix/winixd/core/filelog.h
|
||||
./init.o: ../../../../winix/winixd/core/synchro.h
|
||||
./init.o: ../../../../winix/winixd/core/compress.h
|
||||
./init.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./init.o: ../../../../winix/winixd/core/config.h
|
||||
./init.o: ../../../../winix/winixd/core/filelog.h
|
||||
./init.o: ../../../../winix/winixd/core/lock.h
|
||||
./init.o: ../../../../winix/winixd/core/plugin.h
|
||||
./init.o: ../../../../winix/winixd/core/mounts.h
|
||||
./init.o: ../../../../winix/winixd/db/db.h
|
||||
./init.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./init.o: ../../../../winix/winixd/models/user.h
|
||||
./init.o: ../../../../winix/winixd/models/group.h
|
||||
./init.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/mountparser.h
|
||||
./init.o: ../../../../winix/winixd/core/session.h
|
||||
./init.o: ../../../../winix/winixd/models/user.h
|
||||
./init.o: ../../../../winix/winixd/core/rebus.h
|
||||
./init.o: ../../../../winix/winixd/core/ipban.h
|
||||
./init.o: ../../../../winix/winixd/core/loadavg.h
|
||||
|
@ -547,6 +492,7 @@
|
|||
./init.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/lastcontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/groups.h
|
||||
./init.o: ../../../../winix/winixd/models/group.h
|
||||
./init.o: ../../../../winix/winixd/core/image.h
|
||||
./init.o: ../../../../winix/winixd/core/threadmanager.h
|
||||
./init.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
|
@ -557,24 +503,9 @@
|
|||
./init.o: ../../../../winix/winixd/templates/misc.h
|
||||
./init.o: ../../../../winix/winixd/notify/notifythread.h
|
||||
./init.o: ../../../../winix/winixd/notify/templatesnotify.h
|
||||
./init.o: ../../../../winix/winixd/core/textstream.h
|
||||
./init.o: ../../../../winix/winixd/core/misc.h
|
||||
./init.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./init.o: ../../../../pikotools/src/convert/convert.h
|
||||
./init.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./init.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./init.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./init.o: ../../../../pikotools/src/convert/text.h
|
||||
./init.o: ../../../../pikotools/src/convert/misc.h
|
||||
./init.o: ../../../../pikotools/src/textstream/types.h
|
||||
./init.o: ../../../../pikotools/src/convert/double.h
|
||||
./init.o: ../../../../winix/winixd/core/users.h
|
||||
./init.o: ../../../../winix/winixd/core/timezones.h
|
||||
./init.o: ../../../../winix/winixd/core/timezone.h edb.h
|
||||
./init.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./init.o: ../../../../winix/winixd/db/dbconn.h
|
||||
./init.o: ../../../../winix/winixd/db/dbtextstream.h
|
||||
./init.o: ../../../../winix/winixd/core/error.h
|
||||
./init.o: ../../../../winix/winixd/core/timezone.h edb.h exportdir.h
|
||||
./init.o: ../../../../winix/winixd/core/dirs.h funexport.h
|
||||
./init.o: ../../../../winix/winixd/functions/functionbase.h
|
||||
./init.o: ../../../../winix/winixd/core/winixrequest.h
|
||||
|
@ -585,7 +516,6 @@
|
|||
./init.o: ../../../../winix/winixd/core/ipbancontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/sessionidmanager.h
|
||||
./init.o: ../../../../tito/src/base64.h ../../../../tito/src/aes.h
|
||||
./init.o: ../../../../winix/winixd/core/slog.h
|
||||
./init.o: ../../../../winix/winixd/functions/functions.h
|
||||
./init.o: ../../../../winix/winixd/functions/functionbase.h
|
||||
./init.o: ../../../../winix/winixd/functions/functionparser.h
|
||||
|
@ -638,3 +568,72 @@
|
|||
./init.o: ../../../../winix/winixd/functions/who.h
|
||||
./init.o: ../../../../winix/winixd/functions/vim.h
|
||||
./init.o: ../../../../pikotools/src/html/htmlparser.h
|
||||
./init.o: ../../../../winix/winixd/models/migration.h
|
||||
./export.o: export.h ../../../../morm/src/model.h
|
||||
./export.o: ../../../../pikotools/src/textstream/textstream.h
|
||||
./export.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./export.o: ../../../../pikotools/src/space/space.h
|
||||
./export.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./export.o: ../../../../pikotools/src/convert/misc.h
|
||||
./export.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./export.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./export.o: ../../../../pikotools/src/date/date.h
|
||||
./export.o: ../../../../pikotools/src/membuffer/membuffer.h
|
||||
./export.o: ../../../../pikotools/src/textstream/types.h
|
||||
./export.o: ../../../../pikotools/src/textstream/stream_private.h
|
||||
./export.o: ../../../../morm/src/modelconnector.h
|
||||
./export.o: ../../../../morm/src/clearer.h ../../../../morm/src/ft.h
|
||||
./export.o: ../../../../morm/src/dbconnector.h
|
||||
./export.o: ../../../../pikotools/src/log/log.h
|
||||
./export.o: ../../../../pikotools/src/log/filelog.h
|
||||
./export.o: ../../../../morm/src/queryresult.h
|
||||
./export.o: ../../../../morm/src/flatconnector.h
|
||||
./export.o: ../../../../morm/src/dbexpression.h
|
||||
./export.o: ../../../../morm/src/baseexpression.h
|
||||
./export.o: ../../../../morm/src/morm_types.h ../../../../morm/src/modelenv.h
|
||||
./export.o: ../../../../morm/src/modeldata.h
|
||||
./export.o: ../../../../morm/src/cursorhelper.h
|
||||
./export.o: ../../../../morm/src/finderhelper.h
|
||||
./export.o: ../../../../morm/src/fieldvaluehelper.h
|
||||
./export.o: ../../../../morm/src/wrapper.h
|
||||
./export.o: ../../../../morm/src/spacewrapper.h
|
||||
./export.o: ../../../../morm/src/baseobjectwrapper.h
|
||||
./export.o: ../../../../morm/src/modelcontainerwrapper.h
|
||||
./export.o: ../../../../morm/src/select.h
|
||||
./export.o: ../../../../morm/src/flatexpression.h
|
||||
./export.o: ../../../../ezc/src/funinfo.h ../../../../ezc/src/item.h
|
||||
./export.o: exportftp.h
|
||||
./exportftp.o: exportftp.h ../../../../morm/src/model.h
|
||||
./exportftp.o: ../../../../pikotools/src/textstream/textstream.h
|
||||
./exportftp.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./exportftp.o: ../../../../pikotools/src/space/space.h
|
||||
./exportftp.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./exportftp.o: ../../../../pikotools/src/convert/misc.h
|
||||
./exportftp.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./exportftp.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./exportftp.o: ../../../../pikotools/src/date/date.h
|
||||
./exportftp.o: ../../../../pikotools/src/membuffer/membuffer.h
|
||||
./exportftp.o: ../../../../pikotools/src/textstream/types.h
|
||||
./exportftp.o: ../../../../pikotools/src/textstream/stream_private.h
|
||||
./exportftp.o: ../../../../morm/src/modelconnector.h
|
||||
./exportftp.o: ../../../../morm/src/clearer.h ../../../../morm/src/ft.h
|
||||
./exportftp.o: ../../../../morm/src/dbconnector.h
|
||||
./exportftp.o: ../../../../pikotools/src/log/log.h
|
||||
./exportftp.o: ../../../../pikotools/src/log/filelog.h
|
||||
./exportftp.o: ../../../../morm/src/queryresult.h
|
||||
./exportftp.o: ../../../../morm/src/flatconnector.h export.h
|
||||
./exportftp.o: ../../../../morm/src/dbexpression.h
|
||||
./exportftp.o: ../../../../morm/src/baseexpression.h
|
||||
./exportftp.o: ../../../../morm/src/morm_types.h
|
||||
./exportftp.o: ../../../../morm/src/modelenv.h
|
||||
./exportftp.o: ../../../../morm/src/modeldata.h
|
||||
./exportftp.o: ../../../../morm/src/cursorhelper.h
|
||||
./exportftp.o: ../../../../morm/src/finderhelper.h
|
||||
./exportftp.o: ../../../../morm/src/fieldvaluehelper.h
|
||||
./exportftp.o: ../../../../morm/src/wrapper.h
|
||||
./exportftp.o: ../../../../morm/src/spacewrapper.h
|
||||
./exportftp.o: ../../../../morm/src/baseobjectwrapper.h
|
||||
./exportftp.o: ../../../../morm/src/modelcontainerwrapper.h
|
||||
./exportftp.o: ../../../../morm/src/select.h
|
||||
./exportftp.o: ../../../../morm/src/flatexpression.h
|
||||
./exportftp.o: ../../../../ezc/src/funinfo.h ../../../../ezc/src/item.h
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2011-2014, Tomasz Sowa
|
||||
* Copyright (c) 2011-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -35,203 +35,63 @@
|
|||
#include "edb.h"
|
||||
#include "core/log.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
{
|
||||
|
||||
|
||||
namespace Export
|
||||
{
|
||||
|
||||
|
||||
void EDb::SetDirs(Dirs * pdirs)
|
||||
{
|
||||
dirs = pdirs;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void EDb::SetExportCols(PGresult * r)
|
||||
void EDb::GetExport(morm::ModelConnector * model_connector, long user_id, std::vector<Export> & export_tab)
|
||||
{
|
||||
cid = AssertColumn(r, "id");
|
||||
cuser_id = AssertColumn(r, "user_id");
|
||||
cdir = AssertColumn(r, "dir");
|
||||
cftp_id = AssertColumn(r, "ftp_id");
|
||||
cftp_dir = AssertColumn(r, "ftp_dir");
|
||||
cname = AssertColumn(r, "name");
|
||||
cserver = AssertColumn(r, "server");
|
||||
clogin = AssertColumn(r, "login");
|
||||
cpass = AssertColumn(r, "pass");
|
||||
cpass_type = AssertColumn(r, "pass_type");
|
||||
morm::Finder<Export> finder(model_connector);
|
||||
|
||||
ccan_change_ftp_params = AssertColumn(r, "can_change_ftp_params");
|
||||
ccan_change_dir = AssertColumn(r, "can_change_dir");
|
||||
chttp_server = AssertColumn(r, "http_server");
|
||||
finder.select().where().eq(L"user_id", user_id).get_vector(export_tab);
|
||||
}
|
||||
|
||||
|
||||
void EDb::SetExportValues(PGresult * r, int row, Export & exp)
|
||||
void EDb::GetExport(morm::ModelConnector * model_connector, long id, Export & exp)
|
||||
{
|
||||
exp.Clear();
|
||||
morm::Finder<Export> finder(model_connector);
|
||||
|
||||
exp.id = AssertValueLong(r, row, cid);
|
||||
exp.user_id = AssertValueLong(r, row, cuser_id);
|
||||
exp.ftp_id = AssertValueLong(r, row, cftp_id);
|
||||
exp.ftp_pass_type = AssertValueInt(r, row, cpass_type);
|
||||
|
||||
AssertValueWide(r, row, cdir, exp.dir);
|
||||
AssertValueWide(r, row, cftp_dir, exp.ftp_dir);
|
||||
AssertValueWide(r, row, cname, exp.ftp_name);
|
||||
AssertValueWide(r, row, cserver, exp.ftp_server);
|
||||
AssertValueWide(r, row, clogin, exp.ftp_login);
|
||||
AssertValueWide(r, row, chttp_server, exp.http_server);
|
||||
AssertValueWide(r, row, cpass, exp.ftp_pass);
|
||||
|
||||
exp.can_change_ftp_params = AssertValueBool(r, row, ccan_change_ftp_params);
|
||||
exp.can_change_dir = AssertValueBool(r, row, ccan_change_dir);
|
||||
finder.select().where().eq(L"id", id).get(exp);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
bool EDb::GetExport(long user_id, std::vector<Export> & export_tab, bool clear_tab)
|
||||
void EDb::GetExportDirs(morm::ModelConnector * model_connector, std::vector<ExportDir> & export_tab, bool clear_tab)
|
||||
{
|
||||
if( clear_tab )
|
||||
export_tab.clear();
|
||||
|
||||
PGresult * r = 0;
|
||||
bool result = true;
|
||||
std::vector<Export> exports;
|
||||
morm::Finder<Export> finder(model_connector);
|
||||
finder.select().get_vector(exports);
|
||||
|
||||
try
|
||||
for(size_t i=0 ; i < exports.size() ; ++i)
|
||||
{
|
||||
query.Clear();
|
||||
query << R( "select export.id, user_id, dir, ftp_id, ftp_dir, can_change_ftp_params, can_change_dir, "
|
||||
"http_server, name, server, login, pass, pass_type from plugins.export "
|
||||
"left join plugins.export_ftp on ftp_id = export_ftp.id where user_id = ")
|
||||
<< user_id
|
||||
<< R(";");
|
||||
|
||||
r = AssertQuery(query);
|
||||
AssertResult(r, PGRES_TUPLES_OK);
|
||||
Item * pdir = dirs->GetDir(exports[i].dir);
|
||||
|
||||
SetExportCols(r);
|
||||
int rows = Rows(r);
|
||||
|
||||
for(int i=0 ; i<rows ; ++i)
|
||||
if( pdir )
|
||||
{
|
||||
SetExportValues(r, i, exp);
|
||||
export_tab.push_back(exp);
|
||||
exp_dir.id = exports[i].id;
|
||||
exp_dir.dir_id = pdir->id;
|
||||
export_tab.push_back(exp_dir);
|
||||
}
|
||||
else
|
||||
{
|
||||
//slog << "There is not such a directory: " << dir_temp << " (skipping)" << logend;
|
||||
}
|
||||
}
|
||||
catch(const Error &)
|
||||
{
|
||||
result = false;
|
||||
}
|
||||
|
||||
ClearResult(r);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool EDb::GetExport(long id, Export & exp)
|
||||
{
|
||||
exp.Clear();
|
||||
PGresult * r = 0;
|
||||
bool result = false;
|
||||
|
||||
try
|
||||
{
|
||||
query.Clear();
|
||||
query << R( "select export.id, user_id, dir, ftp_id, ftp_dir, can_change_ftp_params, can_change_dir, "
|
||||
"http_server, name, server, login, pass, pass_type from plugins.export "
|
||||
"left join plugins.export_ftp on ftp_id = export_ftp.id where export.id = ")
|
||||
<< id
|
||||
<< R(";");
|
||||
|
||||
r = AssertQuery(query);
|
||||
AssertResult(r, PGRES_TUPLES_OK);
|
||||
SetExportCols(r);
|
||||
|
||||
if( Rows(r) == 1 )
|
||||
{
|
||||
SetExportValues(r, 0, exp);
|
||||
result = true;
|
||||
}
|
||||
}
|
||||
catch(const Error &)
|
||||
{
|
||||
}
|
||||
|
||||
ClearResult(r);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool EDb::GetExportDirs(std::vector<ExportDir> & export_tab, bool clear_tab)
|
||||
{
|
||||
if( clear_tab )
|
||||
export_tab.clear();
|
||||
|
||||
PGresult * r = 0;
|
||||
bool result = true;
|
||||
|
||||
try
|
||||
{
|
||||
query.Clear();
|
||||
query << R( "select export.id, dir from plugins.export;");
|
||||
|
||||
r = AssertQuery(query);
|
||||
AssertResult(r, PGRES_TUPLES_OK);
|
||||
|
||||
int rows = Rows(r);
|
||||
cid = AssertColumn(r, "id");
|
||||
cdir = AssertColumn(r, "dir");
|
||||
|
||||
for(int i=0 ; i<rows ; ++i)
|
||||
{
|
||||
exp_dir.id = AssertValueLong(r, i, cid);
|
||||
AssertValueWide(r, i, cdir, dir_temp);
|
||||
|
||||
Item * pdir = dirs->GetDir(dir_temp);
|
||||
|
||||
if( pdir )
|
||||
{
|
||||
exp_dir.dir_id = pdir->id;
|
||||
export_tab.push_back(exp_dir);
|
||||
}
|
||||
else
|
||||
{
|
||||
//slog << "There is not such a directory: " << dir_temp << " (skipping)" << logend;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch(const Error &)
|
||||
{
|
||||
result = false;
|
||||
}
|
||||
|
||||
ClearResult(r);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
} // namespace Winix
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2011-2014, Tomasz Sowa
|
||||
* Copyright (c) 2011-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -36,28 +36,24 @@
|
|||
#define headerfile_winix_plugins_export_edb
|
||||
|
||||
#include <vector>
|
||||
#include "db/dbbase.h"
|
||||
#include "export.h"
|
||||
#include "exportdir.h"
|
||||
#include "core/dirs.h"
|
||||
|
||||
namespace Winix
|
||||
|
||||
namespace Winix::Export
|
||||
{
|
||||
|
||||
|
||||
namespace Export
|
||||
{
|
||||
|
||||
|
||||
|
||||
class EDb : public DbBase
|
||||
class EDb
|
||||
{
|
||||
public:
|
||||
|
||||
void SetDirs(Dirs * pdirs);
|
||||
|
||||
bool GetExport(long user_id, std::vector<Export> & export_tab, bool clear_tab = true);
|
||||
bool GetExport(long id, Export & exp);
|
||||
bool GetExportDirs(std::vector<ExportDir> & export_tab, bool clear_tab = true);
|
||||
void GetExport(morm::ModelConnector * model_connector, long user_id, std::vector<Export> & export_tab);
|
||||
void GetExport(morm::ModelConnector * model_connector, long id, Export & exp);
|
||||
void GetExportDirs(morm::ModelConnector * model_connector, std::vector<ExportDir> & export_tab, bool clear_tab = true);
|
||||
|
||||
private:
|
||||
|
||||
|
@ -65,31 +61,11 @@ private:
|
|||
|
||||
Export exp;
|
||||
ExportDir exp_dir;
|
||||
DbTextStream query;
|
||||
std::wstring dir_temp;
|
||||
|
||||
int cid;
|
||||
int cuser_id;
|
||||
int cdir;
|
||||
int cftp_id;
|
||||
int cftp_dir;
|
||||
int cname;
|
||||
int cserver;
|
||||
int clogin;
|
||||
int cpass;
|
||||
int cpass_type;
|
||||
int ccan_change_ftp_params;
|
||||
int ccan_change_dir;
|
||||
int chttp_server;
|
||||
|
||||
void SetExportCols(PGresult * r);
|
||||
void SetExportValues(PGresult * r, int row, Export & exp);
|
||||
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
||||
} // namespace Winix
|
||||
|
||||
#endif
|
||||
|
|
|
@ -0,0 +1,122 @@
|
|||
/*
|
||||
* This file is a part of Winix
|
||||
* and is distributed under the 2-Clause BSD licence.
|
||||
* Author: Tomasz Sowa <t.sowa@ttmath.org>
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "export.h"
|
||||
|
||||
|
||||
namespace Winix::Export
|
||||
{
|
||||
|
||||
|
||||
void Export::fields()
|
||||
{
|
||||
field(L"id", id, morm::FT::no_insertable | morm::FT::no_updatable | morm::FT::primary_key);
|
||||
field(L"user_id", user_id);
|
||||
field(L"dir", dir);
|
||||
field(L"ftp_id", export_ftp, morm::FT::foreign_key);
|
||||
field(L"ftp_dir", ftp_dir);
|
||||
field(L"can_change_ftp_params", can_change_ftp_params);
|
||||
field(L"can_change_dir", can_change_dir);
|
||||
field(L"http_server", http_server);
|
||||
}
|
||||
|
||||
|
||||
void Export::after_insert()
|
||||
{
|
||||
get_last_sequence_for_primary_key(L"plugins.export_id_seq", id);
|
||||
}
|
||||
|
||||
|
||||
void Export::table()
|
||||
{
|
||||
table_name(L"plugins", L"export");
|
||||
}
|
||||
|
||||
|
||||
bool Export::do_migration(int & current_table_version)
|
||||
{
|
||||
bool ok = true;
|
||||
|
||||
ok = ok && morm::Model::do_migration(current_table_version, 1, this, &Export::do_migration_to_1);
|
||||
ok = ok && morm::Model::do_migration(current_table_version, 2, this, &Export::do_migration_to_2);
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
|
||||
bool Export::do_migration_to_1()
|
||||
{
|
||||
const char * str = R"sql(
|
||||
CREATE SEQUENCE plugins.export_id_seq
|
||||
INCREMENT BY 1
|
||||
MINVALUE 1
|
||||
MAXVALUE 9223372036854775807
|
||||
START WITH 1
|
||||
CACHE 1
|
||||
NO CYCLE
|
||||
OWNED BY NONE;
|
||||
)sql";
|
||||
|
||||
return db_query(str);
|
||||
}
|
||||
|
||||
|
||||
bool Export::do_migration_to_2()
|
||||
{
|
||||
const char * str = R"sql(
|
||||
CREATE TABLE plugins.export (
|
||||
id integer NOT NULL DEFAULT nextval('export_id_seq'::regclass),
|
||||
user_id bigint,
|
||||
dir character varying(1024),
|
||||
ftp_id bigint,
|
||||
ftp_dir character varying(1024),
|
||||
can_change_ftp_params boolean,
|
||||
can_change_dir boolean,
|
||||
http_server character varying(1024),
|
||||
CONSTRAINT export_pkey PRIMARY KEY (id)
|
||||
);
|
||||
)sql";
|
||||
|
||||
return db_query(str);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2011-2014, Tomasz Sowa
|
||||
* Copyright (c) 2011-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -36,67 +36,43 @@
|
|||
#define headerfile_winix_plugins_export_export
|
||||
|
||||
#include <string>
|
||||
#include "model.h"
|
||||
#include "exportftp.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
{
|
||||
|
||||
|
||||
|
||||
namespace Export
|
||||
{
|
||||
|
||||
struct ExportDir
|
||||
|
||||
class Export : public morm::Model
|
||||
{
|
||||
long id;
|
||||
long dir_id;
|
||||
};
|
||||
public:
|
||||
|
||||
|
||||
|
||||
struct Export
|
||||
{
|
||||
long id;
|
||||
long user_id;
|
||||
std::wstring dir;
|
||||
|
||||
long ftp_id;
|
||||
ExportFtp export_ftp;
|
||||
std::wstring ftp_dir;
|
||||
|
||||
std::wstring ftp_name;
|
||||
std::wstring ftp_server;
|
||||
std::wstring ftp_login;
|
||||
std::wstring ftp_pass;
|
||||
int ftp_pass_type;
|
||||
|
||||
bool can_change_ftp_params;
|
||||
bool can_change_dir;
|
||||
|
||||
std::wstring http_server;
|
||||
|
||||
|
||||
|
||||
Export()
|
||||
{
|
||||
Clear();
|
||||
}
|
||||
void table();
|
||||
|
||||
void Clear()
|
||||
{
|
||||
id = user_id = ftp_id = -1;
|
||||
ftp_pass_type = 0;
|
||||
|
||||
dir.clear();
|
||||
ftp_dir.clear();
|
||||
ftp_name.clear();
|
||||
ftp_server.clear();
|
||||
ftp_login.clear();
|
||||
ftp_pass.clear();
|
||||
protected:
|
||||
|
||||
can_change_ftp_params = false;
|
||||
can_change_dir = false;
|
||||
void fields();
|
||||
void after_insert();
|
||||
|
||||
bool do_migration(int & current_table_version);
|
||||
|
||||
bool do_migration_to_1();
|
||||
bool do_migration_to_2();
|
||||
|
||||
http_server.clear();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* This file is a part of Winix
|
||||
* and is distributed under the 2-Clause BSD licence.
|
||||
* Author: Tomasz Sowa <t.sowa@ttmath.org>
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef headerfile_winix_plugins_export_exportdir
|
||||
#define headerfile_winix_plugins_export_exportdir
|
||||
|
||||
|
||||
|
||||
namespace Winix::Export
|
||||
{
|
||||
|
||||
|
||||
struct ExportDir
|
||||
{
|
||||
long id;
|
||||
long dir_id;
|
||||
};
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
#endif
|
|
@ -0,0 +1,113 @@
|
|||
/*
|
||||
* This file is a part of Winix
|
||||
* and is distributed under the 2-Clause BSD licence.
|
||||
* Author: Tomasz Sowa <t.sowa@ttmath.org>
|
||||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice,
|
||||
* this list of conditions and the following disclaimer.
|
||||
*
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "exportftp.h"
|
||||
|
||||
|
||||
namespace Winix::Export
|
||||
{
|
||||
|
||||
|
||||
void ExportFtp::fields()
|
||||
{
|
||||
field(L"id", id, morm::FT::no_insertable | morm::FT::no_updatable | morm::FT::primary_key);
|
||||
field(L"name", name);
|
||||
field(L"server", server);
|
||||
field(L"login", login);
|
||||
field(L"pass", pass);
|
||||
field(L"pass_type", pass_type);
|
||||
}
|
||||
|
||||
|
||||
void ExportFtp::after_insert()
|
||||
{
|
||||
get_last_sequence_for_primary_key(L"plugins.export_ftp_id_seq", id);
|
||||
}
|
||||
|
||||
|
||||
void ExportFtp::table()
|
||||
{
|
||||
table_name(L"plugins", L"export_ftp");
|
||||
}
|
||||
|
||||
|
||||
bool ExportFtp::do_migration(int & current_table_version)
|
||||
{
|
||||
bool ok = true;
|
||||
|
||||
ok = ok && morm::Model::do_migration(current_table_version, 1, this, &ExportFtp::do_migration_to_1);
|
||||
ok = ok && morm::Model::do_migration(current_table_version, 2, this, &ExportFtp::do_migration_to_2);
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
|
||||
bool ExportFtp::do_migration_to_1()
|
||||
{
|
||||
const char * str = R"sql(
|
||||
CREATE SEQUENCE plugins.export_ftp_id_seq
|
||||
INCREMENT BY 1
|
||||
MINVALUE 1
|
||||
MAXVALUE 9223372036854775807
|
||||
START WITH 1
|
||||
CACHE 1
|
||||
NO CYCLE
|
||||
OWNED BY NONE;
|
||||
)sql";
|
||||
|
||||
return db_query(str);
|
||||
}
|
||||
|
||||
|
||||
bool ExportFtp::do_migration_to_2()
|
||||
{
|
||||
const char * str = R"sql(
|
||||
CREATE TABLE plugins.export_ftp (
|
||||
id integer NOT NULL DEFAULT nextval('export_ftp_id_seq'::regclass),
|
||||
name character varying(256),
|
||||
server character varying(1024),
|
||||
login character varying(1024),
|
||||
pass character varying(1024),
|
||||
pass_type integer,
|
||||
CONSTRAINT export_ftp_pkey PRIMARY KEY (id)
|
||||
);
|
||||
)sql";
|
||||
|
||||
return db_query(str);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2010-2022, Tomasz Sowa
|
||||
* Copyright (c) 2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -31,59 +31,48 @@
|
|||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef headerfile_winix_db_dbconn
|
||||
#define headerfile_winix_db_dbconn
|
||||
|
||||
#ifndef headerfile_winix_plugins_export_exportftp
|
||||
#define headerfile_winix_plugins_export_exportftp
|
||||
|
||||
#include <string>
|
||||
#include <libpq-fe.h>
|
||||
#include "dbtextstream.h"
|
||||
#include "core/winixbase.h"
|
||||
#include "model.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
namespace Winix::Export
|
||||
{
|
||||
|
||||
|
||||
|
||||
class DbConn : public WinixBase
|
||||
class ExportFtp : public morm::Model
|
||||
{
|
||||
public:
|
||||
|
||||
DbConn();
|
||||
~DbConn();
|
||||
long id;
|
||||
std::wstring name;
|
||||
std::wstring server;
|
||||
std::wstring login;
|
||||
std::wstring pass;
|
||||
int pass_type;
|
||||
|
||||
void SetConnParam(const std::wstring & conn_string);
|
||||
void SetConnParam(const std::wstring & host, const std::wstring & hostaddr, const std::wstring & port,
|
||||
const std::wstring & database, const std::wstring & user, const std::wstring & pass);
|
||||
void Connect();
|
||||
bool WaitForConnection(size_t attempts_max, size_t attempt_delay);
|
||||
void Close();
|
||||
bool AssertConnection(bool put_log = true, bool throw_if_no_connection = true);
|
||||
void SetDbParameters();
|
||||
PGconn * GetPgConn();
|
||||
|
||||
private:
|
||||
void table();
|
||||
|
||||
void LogNoConnection(size_t attempts);
|
||||
void LogConnectionSocket();
|
||||
|
||||
PGconn * pg_conn;
|
||||
std::wstring db_conn_string;
|
||||
std::wstring db_host, db_hostaddr, db_port, db_database, db_user, db_pass;
|
||||
DbTextStream conn_info;
|
||||
protected:
|
||||
|
||||
void fields();
|
||||
void after_insert();
|
||||
|
||||
bool do_migration(int & current_table_version);
|
||||
|
||||
bool do_migration_to_1();
|
||||
bool do_migration_to_2();
|
||||
|
||||
|
||||
// a helper method for escaping strings
|
||||
template<class RawType>
|
||||
DbTextStream::RawText<RawType> R(const RawType & par)
|
||||
{
|
||||
return DbTextStream::RawText<RawType>(par);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
} // namespace Winix
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2011-2021, Tomasz Sowa
|
||||
* Copyright (c) 2011-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -72,12 +72,6 @@ void ExportInfo::SetEDb(EDb * pdb)
|
|||
}
|
||||
|
||||
|
||||
void ExportInfo::SetDb(Db * pdb)
|
||||
{
|
||||
db = pdb;
|
||||
}
|
||||
|
||||
|
||||
void ExportInfo::SetExportThread(ExportThread * pexport_thread)
|
||||
{
|
||||
export_thread = pexport_thread;
|
||||
|
@ -87,7 +81,7 @@ void ExportInfo::SetExportThread(ExportThread * pexport_thread)
|
|||
|
||||
void ExportInfo::ReadExportDirs()
|
||||
{
|
||||
edb->GetExportDirs(export_dirs);
|
||||
edb->GetExportDirs(model_connector, export_dirs);
|
||||
}
|
||||
|
||||
|
||||
|
@ -114,7 +108,7 @@ return 0;
|
|||
|
||||
bool ExportInfo::DecodePass(Export & exp)
|
||||
{
|
||||
if( exp.ftp_pass_type == 0 )
|
||||
if( exp.export_ftp.pass_type == 0 )
|
||||
{
|
||||
|
||||
}
|
||||
|
@ -210,13 +204,15 @@ void ExportInfo::SendFile(const Item & item, bool thumb, bool put_to_recurrence_
|
|||
|
||||
msg.errors = 0;
|
||||
|
||||
if( SkipDir(exp_dir->dir_id, msg.path) && edb->GetExport(exp_dir->id, exp) )
|
||||
if( SkipDir(exp_dir->dir_id, msg.path) )
|
||||
{
|
||||
if( DecodePass(exp) )
|
||||
edb->GetExport(model_connector, exp_dir->id, exp);
|
||||
|
||||
if( exp.found() && DecodePass(exp) )
|
||||
{
|
||||
msg.ftp_login = exp.ftp_login;
|
||||
msg.ftp_pass = exp.ftp_pass;
|
||||
msg.ftp_server = exp.ftp_server;
|
||||
msg.ftp_login = exp.export_ftp.login;
|
||||
msg.ftp_pass = exp.export_ftp.pass;
|
||||
msg.ftp_server = exp.export_ftp.server;
|
||||
msg.http_server = exp.http_server;
|
||||
system->dirs.MakePath(exp_dir->dir_id, msg.src_dir);
|
||||
|
||||
|
@ -262,13 +258,15 @@ void ExportInfo::SendDir(const Item & item)
|
|||
|
||||
msg.errors = 0;
|
||||
|
||||
if( SkipDir(exp_dir->dir_id, msg.path) && edb->GetExport(exp_dir->id, exp) )
|
||||
if( SkipDir(exp_dir->dir_id, msg.path) )
|
||||
{
|
||||
if( DecodePass(exp) )
|
||||
edb->GetExport(model_connector, exp_dir->id, exp);
|
||||
|
||||
if( exp.found() && DecodePass(exp) )
|
||||
{
|
||||
msg.ftp_login = exp.ftp_login;
|
||||
msg.ftp_pass = exp.ftp_pass;
|
||||
msg.ftp_server = exp.ftp_server;
|
||||
msg.ftp_login = exp.export_ftp.login;
|
||||
msg.ftp_pass = exp.export_ftp.pass;
|
||||
msg.ftp_server = exp.export_ftp.server;
|
||||
msg.http_server = exp.http_server;
|
||||
system->dirs.MakePath(exp_dir->dir_id, msg.src_dir);
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2011-2021, Tomasz Sowa
|
||||
* Copyright (c) 2011-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -36,7 +36,6 @@
|
|||
#define headerfile_winix_plugins_export_exportinfo
|
||||
|
||||
#include "core/system.h"
|
||||
#include "db/db.h"
|
||||
#include "export.h"
|
||||
#include "edb.h"
|
||||
#include "message.h"
|
||||
|
@ -61,7 +60,6 @@ public:
|
|||
void SetSystem(System * psystem);
|
||||
void SetConfig(Config * pconfig);
|
||||
void SetEDb(EDb * pdb);
|
||||
void SetDb(Db * pdb);
|
||||
void SetExportThread(ExportThread * pexport_thread);
|
||||
|
||||
void ReadExportDirs();
|
||||
|
@ -83,7 +81,6 @@ private:
|
|||
System * system;
|
||||
Config * config;
|
||||
EDb * edb;
|
||||
Db * db;
|
||||
ExportThread * export_thread;
|
||||
|
||||
bool use_rsa;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2012-2021, Tomasz Sowa
|
||||
* Copyright (c) 2012-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -36,7 +36,6 @@
|
|||
#define headerfile_winix_plugins_export_funexport
|
||||
|
||||
#include "functions/functionbase.h"
|
||||
#include "db/db.h"
|
||||
#include "exportinfo.h"
|
||||
|
||||
namespace Winix
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2011-2022, Tomasz Sowa
|
||||
* Copyright (c) 2011-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -40,6 +40,7 @@
|
|||
#include "edb.h"
|
||||
#include "funexport.h"
|
||||
#include "functions/functions.h"
|
||||
#include "models/migration.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
|
@ -239,6 +240,20 @@ void ProcessRequest(PluginInfo & info)
|
|||
}
|
||||
|
||||
|
||||
void DatabaseMigration(PluginInfo & info)
|
||||
{
|
||||
bool ok = true;
|
||||
Export export_model;
|
||||
ExportFtp export_ftp;
|
||||
|
||||
ok = ok && Migration::do_migration(info.model_connector, export_model);
|
||||
ok = ok && Migration::do_migration(info.model_connector, export_ftp);
|
||||
|
||||
info.res = ok;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void AddEzcFunctions(PluginInfo & info);
|
||||
|
||||
} // namespace
|
||||
|
@ -251,36 +266,33 @@ void Init(PluginInfo & info)
|
|||
{
|
||||
using namespace Export;
|
||||
|
||||
edb.set_dependency(info.functions);
|
||||
edb.SetConn(info.db->GetConn());
|
||||
edb.LogQueries(info.config->log_db_query);
|
||||
edb.SetDirs(&info.system->dirs);
|
||||
|
||||
export_info.set_dependency((WinixModelDeprecated*)info.functions);
|
||||
export_info.SetSystem(info.system);
|
||||
export_info.SetConfig(info.config);
|
||||
export_info.SetEDb(&edb);
|
||||
export_info.SetDb(info.db);
|
||||
export_info.SetExportThread(&export_thread);
|
||||
|
||||
fun_export.SetExportInfo(&export_info);
|
||||
|
||||
|
||||
// info.plugin->Assign(WINIX_TEMPLATES_CREATEFUNCTIONS, AddEzcFunctions);
|
||||
info.plugin->Assign(WINIX_ADD_MOUNTS, AddMountParams);
|
||||
// info.plugin->Assign(WINIX_FSTAB_CHANGED, FstabChanged);
|
||||
// info.plugin->Assign(WINIX_TEMPLATES_CREATEFUNCTIONS, AddEzcFunctions);
|
||||
info.plugin->Assign(WINIX_MAKE_DATABASE_MIGRATION, DatabaseMigration);
|
||||
info.plugin->Assign(WINIX_ADD_MOUNTS, AddMountParams);
|
||||
// info.plugin->Assign(WINIX_FSTAB_CHANGED, FstabChanged);
|
||||
info.plugin->Assign(WINIX_CREATE_FUNCTIONS, AddWinixFunctions);
|
||||
|
||||
info.plugin->Assign(WINIX_FILE_ADDED, SendFileAdded);
|
||||
info.plugin->Assign(WINIX_FILE_ADDED, SendFileAdded);
|
||||
info.plugin->Assign(WINIX_FILE_CHANGED, SendFileChanged);
|
||||
info.plugin->Assign(WINIX_CREATED_THUMB, SendFileThumb);
|
||||
info.plugin->Assign(WINIX_IMAGE_RESIZED, SendFileResized);
|
||||
info.plugin->Assign(WINIX_CREATED_THUMB, SendFileThumb);
|
||||
info.plugin->Assign(WINIX_IMAGE_RESIZED, SendFileResized);
|
||||
|
||||
info.plugin->Assign(WINIX_FILE_PREPARE_TO_MOVE, SendFilePrepareMove);
|
||||
info.plugin->Assign(WINIX_FILE_MOVED, SendFileCopied);
|
||||
info.plugin->Assign(WINIX_FILE_MOVED, SendFileCopied);
|
||||
info.plugin->Assign(WINIX_FILE_COPIED, SendFileCopied);
|
||||
|
||||
info.plugin->Assign(WINIX_DIR_CONTENT_SORTED, SendDir);
|
||||
info.plugin->Assign(WINIX_DIR_CONTENT_SORTED, SendDir);
|
||||
info.plugin->Assign(WINIX_FILE_REMOVED, FileRemoved);
|
||||
|
||||
info.plugin->Assign(WINIX_PROCESS_REQUEST, ProcessRequest);
|
||||
|
|
|
@ -1,53 +1,33 @@
|
|||
# DO NOT DELETE
|
||||
|
||||
./gallery.o: gallery.h ../../../../winix/winixd/functions/functionbase.h
|
||||
./gallery.o: ../../../../winix/winixd/db/db.h
|
||||
./gallery.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./gallery.o: ../../../../winix/winixd/db/dbconn.h
|
||||
./gallery.o: ../../../../winix/winixd/db/dbtextstream.h
|
||||
./gallery.o: ../../../../winix/winixd/core/textstream.h
|
||||
./gallery.o: ../../../../winix/winixd/core/misc.h
|
||||
./gallery.o: ../../../../winix/winixd/core/request.h
|
||||
./gallery.o: ../../../../winix/winixd/core/requesttypes.h
|
||||
./gallery.o: ../../../../pikotools/src/textstream/textstream.h
|
||||
./gallery.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./gallery.o: ../../../../pikotools/src/space/space.h
|
||||
./gallery.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./gallery.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./gallery.o: ../../../../pikotools/src/convert/misc.h
|
||||
./gallery.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./gallery.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./gallery.o: ../../../../pikotools/src/date/date.h
|
||||
./gallery.o: ../../../../pikotools/src/membuffer/membuffer.h
|
||||
./gallery.o: ../../../../pikotools/src/textstream/types.h
|
||||
./gallery.o: ../../../../pikotools/src/textstream/stream_private.h
|
||||
./gallery.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./gallery.o: ../../../../pikotools/src/convert/convert.h
|
||||
./gallery.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./gallery.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./gallery.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./gallery.o: ../../../../pikotools/src/convert/text.h
|
||||
./gallery.o: ../../../../pikotools/src/convert/misc.h
|
||||
./gallery.o: ../../../../pikotools/src/textstream/types.h
|
||||
./gallery.o: ../../../../pikotools/src/convert/double.h
|
||||
./gallery.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./gallery.o: ../../../../winix/winixd/core/config.h
|
||||
./gallery.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./gallery.o: ../../../../pikotools/src/space/space.h
|
||||
./gallery.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./gallery.o: ../../../../winix/winixd/core/log.h
|
||||
./gallery.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./gallery.o: ../../../../pikotools/src/log/log.h
|
||||
./gallery.o: ../../../../pikotools/src/log/filelog.h
|
||||
./gallery.o: ../../../../winix/winixd/core/filelog.h
|
||||
./gallery.o: ../../../../winix/winixd/core/synchro.h
|
||||
./gallery.o: ../../../../morm/src/morm.h ../../../../morm/src/version.h
|
||||
./gallery.o: ../../../../morm/src/morm_types.h ../../../../morm/src/model.h
|
||||
./gallery.o: ../../../../winix/winixd/models/item.h
|
||||
./gallery.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./gallery.o: ../../../../morm/src/model.h
|
||||
./gallery.o: ../../../../morm/src/modelconnector.h
|
||||
./gallery.o: ../../../../morm/src/clearer.h ../../../../morm/src/ft.h
|
||||
./gallery.o: ../../../../morm/src/dbconnector.h
|
||||
./gallery.o: ../../../../pikotools/src/log/log.h
|
||||
./gallery.o: ../../../../pikotools/src/log/filelog.h
|
||||
./gallery.o: ../../../../morm/src/queryresult.h
|
||||
./gallery.o: ../../../../morm/src/flatconnector.h
|
||||
./gallery.o: ../../../../morm/src/export.h
|
||||
./gallery.o: ../../../../morm/src/dbexpression.h
|
||||
./gallery.o: ../../../../morm/src/baseexpression.h
|
||||
./gallery.o: ../../../../morm/src/morm_types.h
|
||||
./gallery.o: ../../../../morm/src/modelenv.h ../../../../morm/src/modeldata.h
|
||||
./gallery.o: ../../../../morm/src/cursorhelper.h
|
||||
./gallery.o: ../../../../morm/src/finderhelper.h
|
||||
|
@ -59,6 +39,11 @@
|
|||
./gallery.o: ../../../../morm/src/select.h
|
||||
./gallery.o: ../../../../morm/src/flatexpression.h
|
||||
./gallery.o: ../../../../ezc/src/funinfo.h ../../../../ezc/src/item.h
|
||||
./gallery.o: ../../../../winix/winixd/core/log.h
|
||||
./gallery.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./gallery.o: ../../../../winix/winixd/core/filelog.h
|
||||
./gallery.o: ../../../../winix/winixd/core/synchro.h
|
||||
./gallery.o: ../../../../morm/src/morm.h ../../../../morm/src/version.h
|
||||
./gallery.o: ../../../../morm/src/finder.h ../../../../morm/src/cursor.h
|
||||
./gallery.o: ../../../../morm/src/jsonexpression.h
|
||||
./gallery.o: ../../../../morm/src/postgresqlexpression.h
|
||||
|
@ -68,16 +53,25 @@
|
|||
./gallery.o: ../../../../morm/src/postgresqlqueryresult.h
|
||||
./gallery.o: ../../../../morm/src/xmlconnector.h
|
||||
./gallery.o: ../../../../morm/src/transaction.h
|
||||
./gallery.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
./gallery.o: ../../../../winix/winixd/models/itemcontent.h
|
||||
./gallery.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./gallery.o: ../../../../winix/winixd/templates/misc.h
|
||||
./gallery.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./gallery.o: ../../../../winix/winixd/templates/locale.h
|
||||
./gallery.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./gallery.o: ../../../../pikotools/src/space/space.h
|
||||
./gallery.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./gallery.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./gallery.o: ../../../../winix/winixd/core/config.h
|
||||
./gallery.o: ../../../../winix/winixd/core/log.h
|
||||
./gallery.o: ../../../../winix/winixd/core/filelog.h
|
||||
./gallery.o: ../../../../winix/winixd/core/lock.h
|
||||
./gallery.o: ../../../../winix/winixd/core/synchro.h
|
||||
./gallery.o: ../../../../winix/winixd/core/error.h
|
||||
./gallery.o: ../../../../winix/winixd/models/user.h
|
||||
./gallery.o: ../../../../winix/winixd/templates/misc.h
|
||||
./gallery.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./gallery.o: ../../../../winix/winixd/templates/locale.h
|
||||
./gallery.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./gallery.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./gallery.o: ../../../../pikotools/src/convert/text.h
|
||||
./gallery.o: ../../../../pikotools/src/convert/misc.h
|
||||
./gallery.o: ../../../../ezc/src/ezc.h ../../../../ezc/src/version.h
|
||||
./gallery.o: ../../../../ezc/src/generator.h ../../../../ezc/src/blocks.h
|
||||
./gallery.o: ../../../../ezc/src/cache.h ../../../../ezc/src/functions.h
|
||||
|
@ -86,29 +80,18 @@
|
|||
./gallery.o: ../../../../ezc/src/expressionparser.h
|
||||
./gallery.o: ../../../../ezc/src/models.h ../../../../ezc/src/patternparser.h
|
||||
./gallery.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./gallery.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./gallery.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
./gallery.o: ../../../../winix/winixd/models/group.h
|
||||
./gallery.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
./gallery.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./gallery.o: ../../../../winix/winixd/models/item.h
|
||||
./gallery.o: ../../../../winix/winixd/models/itemcontent.h
|
||||
./gallery.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./gallery.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./gallery.o: ../../../../winix/winixd/core/request.h
|
||||
./gallery.o: ../../../../winix/winixd/core/error.h
|
||||
./gallery.o: ../../../../winix/winixd/core/config.h
|
||||
./gallery.o: ../../../../winix/winixd/core/textstream.h
|
||||
./gallery.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./gallery.o: ../../../../winix/winixd/core/header.h
|
||||
./gallery.o: ../../../../winix/winixd/core/compress.h
|
||||
./gallery.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./gallery.o: ../../../../winix/winixd/core/plugin.h
|
||||
./gallery.o: ../../../../winix/winixd/core/pluginmsg.h
|
||||
./gallery.o: ../../../../winix/winixd/core/plugindata.h
|
||||
./gallery.o: ../../../../winix/winixd/core/winixmodeldeprecated.h
|
||||
./gallery.o: ../../../../winix/winixd/core/mount.h
|
||||
./gallery.o: ../../../../winix/winixd/core/mounts.h
|
||||
./gallery.o: ../../../../winix/winixd/core/request.h
|
||||
./gallery.o: ../../../../winix/winixd/core/mountparser.h
|
||||
./gallery.o: ../../../../winix/winixd/core/jobtask.h
|
||||
./gallery.o: ../../../../winix/winixd/notify/notify.h
|
||||
|
@ -121,9 +104,11 @@
|
|||
./gallery.o: ../../../../winix/winixd/core/basethread.h
|
||||
./gallery.o: ../../../../winix/winixd/notify/templatesnotify.h
|
||||
./gallery.o: ../../../../winix/winixd/core/users.h
|
||||
./gallery.o: ../../../../winix/winixd/models/user.h
|
||||
./gallery.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./gallery.o: ../../../../winix/winixd/core/lastcontainer.h
|
||||
./gallery.o: ../../../../winix/winixd/core/cur.h
|
||||
./gallery.o: ../../../../winix/winixd/core/request.h
|
||||
./gallery.o: ../../../../winix/winixd/core/session.h
|
||||
./gallery.o: ../../../../winix/winixd/core/rebus.h
|
||||
./gallery.o: ../../../../winix/winixd/core/ipban.h
|
||||
|
@ -140,6 +125,7 @@
|
|||
./gallery.o: ../../../../winix/winixd/core/run.h
|
||||
./gallery.o: ../../../../winix/winixd/core/users.h
|
||||
./gallery.o: ../../../../winix/winixd/core/groups.h
|
||||
./gallery.o: ../../../../winix/winixd/models/group.h
|
||||
./gallery.o: ../../../../winix/winixd/core/image.h
|
||||
./gallery.o: ../../../../winix/winixd/core/threadmanager.h
|
||||
./gallery.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
|
@ -151,7 +137,7 @@
|
|||
./gallery.o: ../../../../winix/winixd/core/ipbancontainer.h
|
||||
./gallery.o: ../../../../winix/winixd/core/sessionidmanager.h
|
||||
./gallery.o: ../../../../tito/src/base64.h ../../../../tito/src/aes.h
|
||||
./gallery.o: ../../../../winix/winixd/core/slog.h galleryinfo.h
|
||||
./gallery.o: galleryinfo.h
|
||||
./galleryinfo.o: galleryinfo.h ../../../../winix/winixd/models/item.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./galleryinfo.o: ../../../../morm/src/model.h
|
||||
|
@ -159,8 +145,9 @@
|
|||
./galleryinfo.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/space/space.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/convert/misc.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/date/date.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/membuffer/membuffer.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/textstream/types.h
|
||||
|
@ -189,18 +176,6 @@
|
|||
./galleryinfo.o: ../../../../morm/src/flatexpression.h
|
||||
./galleryinfo.o: ../../../../ezc/src/funinfo.h ../../../../ezc/src/item.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/core/log.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/models/itemcontent.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/templates/misc.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/templates/locale.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/space/space.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/core/config.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/core/log.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/core/filelog.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/core/synchro.h
|
||||
|
@ -214,10 +189,25 @@
|
|||
./galleryinfo.o: ../../../../morm/src/postgresqlqueryresult.h
|
||||
./galleryinfo.o: ../../../../morm/src/xmlconnector.h
|
||||
./galleryinfo.o: ../../../../morm/src/transaction.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/models/itemcontent.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/templates/misc.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/templates/locale.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/space/space.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/core/config.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/core/log.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/core/filelog.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/core/lock.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/core/synchro.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/convert/text.h
|
||||
./galleryinfo.o: ../../../../pikotools/src/convert/misc.h
|
||||
./galleryinfo.o: ../../../../ezc/src/ezc.h ../../../../ezc/src/version.h
|
||||
./galleryinfo.o: ../../../../ezc/src/generator.h ../../../../ezc/src/blocks.h
|
||||
./galleryinfo.o: ../../../../ezc/src/cache.h ../../../../ezc/src/functions.h
|
||||
|
@ -228,52 +218,32 @@
|
|||
./galleryinfo.o: ../../../../ezc/src/patternparser.h
|
||||
./galleryinfo.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./init.o: gallery.h ../../../../winix/winixd/functions/functionbase.h
|
||||
./init.o: ../../../../winix/winixd/db/db.h
|
||||
./init.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./init.o: ../../../../winix/winixd/db/dbconn.h
|
||||
./init.o: ../../../../winix/winixd/db/dbtextstream.h
|
||||
./init.o: ../../../../winix/winixd/core/textstream.h
|
||||
./init.o: ../../../../winix/winixd/core/misc.h
|
||||
./init.o: ../../../../winix/winixd/core/request.h
|
||||
./init.o: ../../../../winix/winixd/core/requesttypes.h
|
||||
./init.o: ../../../../pikotools/src/textstream/textstream.h
|
||||
./init.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./init.o: ../../../../pikotools/src/space/space.h
|
||||
./init.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./init.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./init.o: ../../../../pikotools/src/convert/misc.h
|
||||
./init.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./init.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./init.o: ../../../../pikotools/src/date/date.h
|
||||
./init.o: ../../../../pikotools/src/membuffer/membuffer.h
|
||||
./init.o: ../../../../pikotools/src/textstream/types.h
|
||||
./init.o: ../../../../pikotools/src/textstream/stream_private.h
|
||||
./init.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./init.o: ../../../../pikotools/src/convert/convert.h
|
||||
./init.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./init.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./init.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./init.o: ../../../../pikotools/src/convert/text.h
|
||||
./init.o: ../../../../pikotools/src/convert/misc.h
|
||||
./init.o: ../../../../pikotools/src/textstream/types.h
|
||||
./init.o: ../../../../pikotools/src/convert/double.h
|
||||
./init.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./init.o: ../../../../winix/winixd/core/config.h
|
||||
./init.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./init.o: ../../../../pikotools/src/space/space.h
|
||||
./init.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./init.o: ../../../../winix/winixd/core/log.h
|
||||
./init.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./init.o: ../../../../pikotools/src/log/log.h
|
||||
./init.o: ../../../../pikotools/src/log/filelog.h
|
||||
./init.o: ../../../../winix/winixd/core/filelog.h
|
||||
./init.o: ../../../../winix/winixd/core/synchro.h ../../../../morm/src/morm.h
|
||||
./init.o: ../../../../morm/src/version.h ../../../../morm/src/morm_types.h
|
||||
./init.o: ../../../../winix/winixd/models/item.h
|
||||
./init.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./init.o: ../../../../morm/src/model.h ../../../../morm/src/modelconnector.h
|
||||
./init.o: ../../../../morm/src/clearer.h ../../../../morm/src/ft.h
|
||||
./init.o: ../../../../morm/src/dbconnector.h
|
||||
./init.o: ../../../../pikotools/src/log/log.h
|
||||
./init.o: ../../../../pikotools/src/log/filelog.h
|
||||
./init.o: ../../../../morm/src/queryresult.h
|
||||
./init.o: ../../../../morm/src/flatconnector.h ../../../../morm/src/export.h
|
||||
./init.o: ../../../../morm/src/dbexpression.h
|
||||
./init.o: ../../../../morm/src/baseexpression.h
|
||||
./init.o: ../../../../morm/src/modelenv.h ../../../../morm/src/modeldata.h
|
||||
./init.o: ../../../../morm/src/morm_types.h ../../../../morm/src/modelenv.h
|
||||
./init.o: ../../../../morm/src/modeldata.h
|
||||
./init.o: ../../../../morm/src/cursorhelper.h
|
||||
./init.o: ../../../../morm/src/finderhelper.h
|
||||
./init.o: ../../../../morm/src/fieldvaluehelper.h
|
||||
|
@ -282,8 +252,12 @@
|
|||
./init.o: ../../../../morm/src/modelcontainerwrapper.h
|
||||
./init.o: ../../../../morm/src/select.h ../../../../morm/src/flatexpression.h
|
||||
./init.o: ../../../../ezc/src/funinfo.h ../../../../ezc/src/item.h
|
||||
./init.o: ../../../../morm/src/finder.h ../../../../morm/src/cursor.h
|
||||
./init.o: ../../../../morm/src/jsonexpression.h
|
||||
./init.o: ../../../../winix/winixd/core/log.h
|
||||
./init.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./init.o: ../../../../winix/winixd/core/filelog.h
|
||||
./init.o: ../../../../winix/winixd/core/synchro.h ../../../../morm/src/morm.h
|
||||
./init.o: ../../../../morm/src/version.h ../../../../morm/src/finder.h
|
||||
./init.o: ../../../../morm/src/cursor.h ../../../../morm/src/jsonexpression.h
|
||||
./init.o: ../../../../morm/src/postgresqlexpression.h
|
||||
./init.o: ../../../../morm/src/xmlexpression.h
|
||||
./init.o: ../../../../morm/src/jsonconnector.h
|
||||
|
@ -291,47 +265,44 @@
|
|||
./init.o: ../../../../morm/src/postgresqlqueryresult.h
|
||||
./init.o: ../../../../morm/src/xmlconnector.h
|
||||
./init.o: ../../../../morm/src/transaction.h
|
||||
./init.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
./init.o: ../../../../winix/winixd/models/itemcontent.h
|
||||
./init.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./init.o: ../../../../winix/winixd/templates/misc.h
|
||||
./init.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./init.o: ../../../../winix/winixd/templates/locale.h
|
||||
./init.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./init.o: ../../../../pikotools/src/space/space.h
|
||||
./init.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./init.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./init.o: ../../../../winix/winixd/core/config.h
|
||||
./init.o: ../../../../winix/winixd/core/log.h
|
||||
./init.o: ../../../../winix/winixd/core/filelog.h
|
||||
./init.o: ../../../../winix/winixd/core/lock.h
|
||||
./init.o: ../../../../winix/winixd/core/synchro.h
|
||||
./init.o: ../../../../winix/winixd/core/error.h
|
||||
./init.o: ../../../../winix/winixd/models/user.h
|
||||
./init.o: ../../../../winix/winixd/templates/misc.h
|
||||
./init.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./init.o: ../../../../winix/winixd/templates/locale.h
|
||||
./init.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./init.o: ../../../../ezc/src/ezc.h ../../../../ezc/src/version.h
|
||||
./init.o: ../../../../ezc/src/generator.h ../../../../ezc/src/blocks.h
|
||||
./init.o: ../../../../ezc/src/cache.h ../../../../ezc/src/functions.h
|
||||
./init.o: ../../../../ezc/src/objects.h ../../../../ezc/src/pattern.h
|
||||
./init.o: ../../../../ezc/src/outstreams.h
|
||||
./init.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./init.o: ../../../../pikotools/src/convert/text.h
|
||||
./init.o: ../../../../pikotools/src/convert/misc.h ../../../../ezc/src/ezc.h
|
||||
./init.o: ../../../../ezc/src/version.h ../../../../ezc/src/generator.h
|
||||
./init.o: ../../../../ezc/src/blocks.h ../../../../ezc/src/cache.h
|
||||
./init.o: ../../../../ezc/src/functions.h ../../../../ezc/src/objects.h
|
||||
./init.o: ../../../../ezc/src/pattern.h ../../../../ezc/src/outstreams.h
|
||||
./init.o: ../../../../ezc/src/expressionparser.h ../../../../ezc/src/models.h
|
||||
./init.o: ../../../../ezc/src/patternparser.h
|
||||
./init.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./init.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./init.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
./init.o: ../../../../winix/winixd/models/group.h
|
||||
./init.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./init.o: ../../../../winix/winixd/models/item.h
|
||||
./init.o: ../../../../winix/winixd/models/itemcontent.h
|
||||
./init.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./init.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/request.h
|
||||
./init.o: ../../../../winix/winixd/core/error.h
|
||||
./init.o: ../../../../winix/winixd/core/config.h
|
||||
./init.o: ../../../../winix/winixd/core/textstream.h
|
||||
./init.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./init.o: ../../../../winix/winixd/core/header.h
|
||||
./init.o: ../../../../winix/winixd/core/compress.h
|
||||
./init.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./init.o: ../../../../winix/winixd/core/plugin.h
|
||||
./init.o: ../../../../winix/winixd/core/pluginmsg.h
|
||||
./init.o: ../../../../winix/winixd/core/plugindata.h
|
||||
./init.o: ../../../../winix/winixd/core/winixmodeldeprecated.h
|
||||
./init.o: ../../../../winix/winixd/core/mount.h
|
||||
./init.o: ../../../../winix/winixd/core/mounts.h
|
||||
./init.o: ../../../../winix/winixd/core/request.h
|
||||
./init.o: ../../../../winix/winixd/core/mountparser.h
|
||||
./init.o: ../../../../winix/winixd/core/jobtask.h
|
||||
./init.o: ../../../../winix/winixd/notify/notify.h
|
||||
|
@ -344,9 +315,11 @@
|
|||
./init.o: ../../../../winix/winixd/core/basethread.h
|
||||
./init.o: ../../../../winix/winixd/notify/templatesnotify.h
|
||||
./init.o: ../../../../winix/winixd/core/users.h
|
||||
./init.o: ../../../../winix/winixd/models/user.h
|
||||
./init.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/lastcontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/cur.h
|
||||
./init.o: ../../../../winix/winixd/core/request.h
|
||||
./init.o: ../../../../winix/winixd/core/session.h
|
||||
./init.o: ../../../../winix/winixd/core/rebus.h
|
||||
./init.o: ../../../../winix/winixd/core/ipban.h
|
||||
|
@ -363,6 +336,7 @@
|
|||
./init.o: ../../../../winix/winixd/core/run.h
|
||||
./init.o: ../../../../winix/winixd/core/users.h
|
||||
./init.o: ../../../../winix/winixd/core/groups.h
|
||||
./init.o: ../../../../winix/winixd/models/group.h
|
||||
./init.o: ../../../../winix/winixd/core/image.h
|
||||
./init.o: ../../../../winix/winixd/core/threadmanager.h
|
||||
./init.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
|
@ -374,8 +348,7 @@
|
|||
./init.o: ../../../../winix/winixd/core/ipbancontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/sessionidmanager.h
|
||||
./init.o: ../../../../tito/src/base64.h ../../../../tito/src/aes.h
|
||||
./init.o: ../../../../winix/winixd/core/slog.h galleryinfo.h
|
||||
./init.o: ../../../../winix/winixd/core/plugin.h
|
||||
./init.o: galleryinfo.h ../../../../winix/winixd/core/plugin.h
|
||||
./init.o: ../../../../winix/winixd/functions/functions.h
|
||||
./init.o: ../../../../winix/winixd/functions/functionbase.h
|
||||
./init.o: ../../../../winix/winixd/functions/functionparser.h
|
||||
|
@ -430,53 +403,33 @@
|
|||
./init.o: ../../../../winix/winixd/functions/vim.h
|
||||
./init.o: ../../../../pikotools/src/html/htmlparser.h
|
||||
./templates.o: gallery.h ../../../../winix/winixd/functions/functionbase.h
|
||||
./templates.o: ../../../../winix/winixd/db/db.h
|
||||
./templates.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./templates.o: ../../../../winix/winixd/db/dbconn.h
|
||||
./templates.o: ../../../../winix/winixd/db/dbtextstream.h
|
||||
./templates.o: ../../../../winix/winixd/core/textstream.h
|
||||
./templates.o: ../../../../winix/winixd/core/misc.h
|
||||
./templates.o: ../../../../winix/winixd/core/request.h
|
||||
./templates.o: ../../../../winix/winixd/core/requesttypes.h
|
||||
./templates.o: ../../../../pikotools/src/textstream/textstream.h
|
||||
./templates.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./templates.o: ../../../../pikotools/src/space/space.h
|
||||
./templates.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./templates.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./templates.o: ../../../../pikotools/src/convert/misc.h
|
||||
./templates.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./templates.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./templates.o: ../../../../pikotools/src/date/date.h
|
||||
./templates.o: ../../../../pikotools/src/membuffer/membuffer.h
|
||||
./templates.o: ../../../../pikotools/src/textstream/types.h
|
||||
./templates.o: ../../../../pikotools/src/textstream/stream_private.h
|
||||
./templates.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./templates.o: ../../../../pikotools/src/convert/convert.h
|
||||
./templates.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./templates.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./templates.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./templates.o: ../../../../pikotools/src/convert/text.h
|
||||
./templates.o: ../../../../pikotools/src/convert/misc.h
|
||||
./templates.o: ../../../../pikotools/src/textstream/types.h
|
||||
./templates.o: ../../../../pikotools/src/convert/double.h
|
||||
./templates.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./templates.o: ../../../../winix/winixd/core/config.h
|
||||
./templates.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./templates.o: ../../../../pikotools/src/space/space.h
|
||||
./templates.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./templates.o: ../../../../winix/winixd/core/log.h
|
||||
./templates.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./templates.o: ../../../../pikotools/src/log/log.h
|
||||
./templates.o: ../../../../pikotools/src/log/filelog.h
|
||||
./templates.o: ../../../../winix/winixd/core/filelog.h
|
||||
./templates.o: ../../../../winix/winixd/core/synchro.h
|
||||
./templates.o: ../../../../morm/src/morm.h ../../../../morm/src/version.h
|
||||
./templates.o: ../../../../morm/src/morm_types.h ../../../../morm/src/model.h
|
||||
./templates.o: ../../../../winix/winixd/models/item.h
|
||||
./templates.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./templates.o: ../../../../morm/src/model.h
|
||||
./templates.o: ../../../../morm/src/modelconnector.h
|
||||
./templates.o: ../../../../morm/src/clearer.h ../../../../morm/src/ft.h
|
||||
./templates.o: ../../../../morm/src/dbconnector.h
|
||||
./templates.o: ../../../../pikotools/src/log/log.h
|
||||
./templates.o: ../../../../pikotools/src/log/filelog.h
|
||||
./templates.o: ../../../../morm/src/queryresult.h
|
||||
./templates.o: ../../../../morm/src/flatconnector.h
|
||||
./templates.o: ../../../../morm/src/export.h
|
||||
./templates.o: ../../../../morm/src/dbexpression.h
|
||||
./templates.o: ../../../../morm/src/baseexpression.h
|
||||
./templates.o: ../../../../morm/src/morm_types.h
|
||||
./templates.o: ../../../../morm/src/modelenv.h
|
||||
./templates.o: ../../../../morm/src/modeldata.h
|
||||
./templates.o: ../../../../morm/src/cursorhelper.h
|
||||
|
@ -489,6 +442,11 @@
|
|||
./templates.o: ../../../../morm/src/select.h
|
||||
./templates.o: ../../../../morm/src/flatexpression.h
|
||||
./templates.o: ../../../../ezc/src/funinfo.h ../../../../ezc/src/item.h
|
||||
./templates.o: ../../../../winix/winixd/core/log.h
|
||||
./templates.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./templates.o: ../../../../winix/winixd/core/filelog.h
|
||||
./templates.o: ../../../../winix/winixd/core/synchro.h
|
||||
./templates.o: ../../../../morm/src/morm.h ../../../../morm/src/version.h
|
||||
./templates.o: ../../../../morm/src/finder.h ../../../../morm/src/cursor.h
|
||||
./templates.o: ../../../../morm/src/jsonexpression.h
|
||||
./templates.o: ../../../../morm/src/postgresqlexpression.h
|
||||
|
@ -498,16 +456,25 @@
|
|||
./templates.o: ../../../../morm/src/postgresqlqueryresult.h
|
||||
./templates.o: ../../../../morm/src/xmlconnector.h
|
||||
./templates.o: ../../../../morm/src/transaction.h
|
||||
./templates.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
./templates.o: ../../../../winix/winixd/models/itemcontent.h
|
||||
./templates.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./templates.o: ../../../../winix/winixd/templates/misc.h
|
||||
./templates.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./templates.o: ../../../../winix/winixd/templates/locale.h
|
||||
./templates.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./templates.o: ../../../../pikotools/src/space/space.h
|
||||
./templates.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./templates.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./templates.o: ../../../../winix/winixd/core/config.h
|
||||
./templates.o: ../../../../winix/winixd/core/log.h
|
||||
./templates.o: ../../../../winix/winixd/core/filelog.h
|
||||
./templates.o: ../../../../winix/winixd/core/lock.h
|
||||
./templates.o: ../../../../winix/winixd/core/synchro.h
|
||||
./templates.o: ../../../../winix/winixd/core/error.h
|
||||
./templates.o: ../../../../winix/winixd/models/user.h
|
||||
./templates.o: ../../../../winix/winixd/templates/misc.h
|
||||
./templates.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./templates.o: ../../../../winix/winixd/templates/locale.h
|
||||
./templates.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./templates.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./templates.o: ../../../../pikotools/src/convert/text.h
|
||||
./templates.o: ../../../../pikotools/src/convert/misc.h
|
||||
./templates.o: ../../../../ezc/src/ezc.h ../../../../ezc/src/version.h
|
||||
./templates.o: ../../../../ezc/src/generator.h ../../../../ezc/src/blocks.h
|
||||
./templates.o: ../../../../ezc/src/cache.h ../../../../ezc/src/functions.h
|
||||
|
@ -517,29 +484,18 @@
|
|||
./templates.o: ../../../../ezc/src/models.h
|
||||
./templates.o: ../../../../ezc/src/patternparser.h
|
||||
./templates.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./templates.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./templates.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
./templates.o: ../../../../winix/winixd/models/group.h
|
||||
./templates.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
./templates.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./templates.o: ../../../../winix/winixd/models/item.h
|
||||
./templates.o: ../../../../winix/winixd/models/itemcontent.h
|
||||
./templates.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./templates.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./templates.o: ../../../../winix/winixd/core/request.h
|
||||
./templates.o: ../../../../winix/winixd/core/error.h
|
||||
./templates.o: ../../../../winix/winixd/core/config.h
|
||||
./templates.o: ../../../../winix/winixd/core/textstream.h
|
||||
./templates.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./templates.o: ../../../../winix/winixd/core/header.h
|
||||
./templates.o: ../../../../winix/winixd/core/compress.h
|
||||
./templates.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./templates.o: ../../../../winix/winixd/core/plugin.h
|
||||
./templates.o: ../../../../winix/winixd/core/pluginmsg.h
|
||||
./templates.o: ../../../../winix/winixd/core/plugindata.h
|
||||
./templates.o: ../../../../winix/winixd/core/winixmodeldeprecated.h
|
||||
./templates.o: ../../../../winix/winixd/core/mount.h
|
||||
./templates.o: ../../../../winix/winixd/core/mounts.h
|
||||
./templates.o: ../../../../winix/winixd/core/request.h
|
||||
./templates.o: ../../../../winix/winixd/core/mountparser.h
|
||||
./templates.o: ../../../../winix/winixd/core/jobtask.h
|
||||
./templates.o: ../../../../winix/winixd/notify/notify.h
|
||||
|
@ -552,9 +508,11 @@
|
|||
./templates.o: ../../../../winix/winixd/core/basethread.h
|
||||
./templates.o: ../../../../winix/winixd/notify/templatesnotify.h
|
||||
./templates.o: ../../../../winix/winixd/core/users.h
|
||||
./templates.o: ../../../../winix/winixd/models/user.h
|
||||
./templates.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./templates.o: ../../../../winix/winixd/core/lastcontainer.h
|
||||
./templates.o: ../../../../winix/winixd/core/cur.h
|
||||
./templates.o: ../../../../winix/winixd/core/request.h
|
||||
./templates.o: ../../../../winix/winixd/core/session.h
|
||||
./templates.o: ../../../../winix/winixd/core/rebus.h
|
||||
./templates.o: ../../../../winix/winixd/core/ipban.h
|
||||
|
@ -571,6 +529,7 @@
|
|||
./templates.o: ../../../../winix/winixd/core/run.h
|
||||
./templates.o: ../../../../winix/winixd/core/users.h
|
||||
./templates.o: ../../../../winix/winixd/core/groups.h
|
||||
./templates.o: ../../../../winix/winixd/models/group.h
|
||||
./templates.o: ../../../../winix/winixd/core/image.h
|
||||
./templates.o: ../../../../winix/winixd/core/threadmanager.h
|
||||
./templates.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
|
@ -582,8 +541,12 @@
|
|||
./templates.o: ../../../../winix/winixd/core/ipbancontainer.h
|
||||
./templates.o: ../../../../winix/winixd/core/sessionidmanager.h
|
||||
./templates.o: ../../../../tito/src/base64.h ../../../../tito/src/aes.h
|
||||
./templates.o: ../../../../winix/winixd/core/slog.h galleryinfo.h
|
||||
./templates.o: ../../../../winix/winixd/core/misc.h
|
||||
./templates.o: galleryinfo.h ../../../../winix/winixd/core/misc.h
|
||||
./templates.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./templates.o: ../../../../pikotools/src/convert/convert.h
|
||||
./templates.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./templates.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./templates.o: ../../../../pikotools/src/convert/double.h
|
||||
./templates.o: ../../../../winix/winixd/core/plugin.h
|
||||
./templates.o: ../../../../winix/winixd/templates/templates.h
|
||||
./templates.o: ../../../../winix/winixd/templates/patterncacher.h
|
||||
|
|
|
@ -19,12 +19,16 @@
|
|||
./groupinfo.o: ../../../../pikotools/src/space/space.h
|
||||
# ../../../../pikotools/src/space/space.h includes:
|
||||
# convert/inttostr.h
|
||||
# convert/misc.h
|
||||
# utf8/utf8.h
|
||||
./groupinfo.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./groupinfo.o: ../../../../pikotools/src/convert/misc.h
|
||||
# ../../../../pikotools/src/convert/misc.h includes:
|
||||
# textstream/stream.h
|
||||
./groupinfo.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./groupinfo.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
# ../../../../pikotools/src/utf8/utf8.h includes:
|
||||
# textstream/stream.h
|
||||
./groupinfo.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./groupinfo.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
# ../../../../pikotools/src/convert/baseparser.h includes:
|
||||
# textstream/textstream.h
|
||||
|
@ -51,7 +55,6 @@
|
|||
# core/winixsystem.h
|
||||
# core/cur.h
|
||||
# core/sessionmanager.h
|
||||
# core/slog.h
|
||||
# templates/locale.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/winixsystem.h
|
||||
# ../../../../winix/winixd/core/winixsystem.h includes:
|
||||
|
@ -62,7 +65,6 @@
|
|||
# job.h
|
||||
# dirs.h
|
||||
# mounts.h
|
||||
# db/db.h
|
||||
# request.h
|
||||
# config.h
|
||||
# crypt.h
|
||||
|
@ -182,7 +184,6 @@
|
|||
./groupinfo.o: ../../../../morm/src/dbexpression.h
|
||||
# ../../../../morm/src/dbexpression.h includes:
|
||||
# baseexpression.h
|
||||
# morm_types.h
|
||||
./groupinfo.o: ../../../../morm/src/baseexpression.h
|
||||
# ../../../../morm/src/baseexpression.h includes:
|
||||
# textstream/stream.h
|
||||
|
@ -289,7 +290,6 @@
|
|||
# models/item.h
|
||||
# error.h
|
||||
# config.h
|
||||
# textstream.h
|
||||
# templates/htmltextstream.h
|
||||
# date/date.h
|
||||
# space/space.h
|
||||
|
@ -359,11 +359,6 @@
|
|||
# misc.h
|
||||
./groupinfo.o: ../../../../pikotools/src/convert/text.h
|
||||
./groupinfo.o: ../../../../pikotools/src/convert/misc.h
|
||||
# ../../../../pikotools/src/convert/misc.h includes:
|
||||
# text.h
|
||||
# textstream/stream.h
|
||||
# textstream/types.h
|
||||
./groupinfo.o: ../../../../pikotools/src/textstream/types.h
|
||||
./groupinfo.o: ../../../../ezc/src/ezc.h
|
||||
# ../../../../ezc/src/ezc.h includes:
|
||||
# version.h
|
||||
|
@ -420,32 +415,6 @@
|
|||
./groupinfo.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/error.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/config.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/textstream.h
|
||||
# ../../../../winix/winixd/core/textstream.h includes:
|
||||
# misc.h
|
||||
# space/space.h
|
||||
# date/date.h
|
||||
# textstream/textstream.h
|
||||
# utf8/utf8.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/misc.h
|
||||
# ../../../../winix/winixd/core/misc.h includes:
|
||||
# requesttypes.h
|
||||
# date/date.h
|
||||
# textstream/textstream.h
|
||||
# utf8/utf8.h
|
||||
# winix_const.h
|
||||
# convert/convert.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./groupinfo.o: ../../../../pikotools/src/convert/convert.h
|
||||
# ../../../../pikotools/src/convert/convert.h includes:
|
||||
# inttostr.h
|
||||
# patternreplacer.h
|
||||
# strtoint.h
|
||||
# text.h
|
||||
# double.h
|
||||
./groupinfo.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./groupinfo.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./groupinfo.o: ../../../../pikotools/src/convert/double.h
|
||||
./groupinfo.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/header.h
|
||||
# ../../../../winix/winixd/core/header.h includes:
|
||||
|
@ -469,53 +438,8 @@
|
|||
./groupinfo.o: ../../../../winix/winixd/core/mounts.h
|
||||
# ../../../../winix/winixd/core/mounts.h includes:
|
||||
# mount.h
|
||||
# error.h
|
||||
# db/db.h
|
||||
# request.h
|
||||
# mountparser.h
|
||||
# winixmodeldeprecated.h
|
||||
./groupinfo.o: ../../../../winix/winixd/db/db.h
|
||||
# ../../../../winix/winixd/db/db.h includes:
|
||||
# dbbase.h
|
||||
# models/user.h
|
||||
# models/group.h
|
||||
# core/dircontainer.h
|
||||
# core/ugcontainer.h
|
||||
./groupinfo.o: ../../../../winix/winixd/db/dbbase.h
|
||||
# ../../../../winix/winixd/db/dbbase.h includes:
|
||||
# dbconn.h
|
||||
# dbtextstream.h
|
||||
# core/error.h
|
||||
# space/spaceparser.h
|
||||
# date/date.h
|
||||
# core/winixbase.h
|
||||
./groupinfo.o: ../../../../winix/winixd/db/dbconn.h
|
||||
# ../../../../winix/winixd/db/dbconn.h includes:
|
||||
# dbtextstream.h
|
||||
# core/winixbase.h
|
||||
./groupinfo.o: ../../../../winix/winixd/db/dbtextstream.h
|
||||
# ../../../../winix/winixd/db/dbtextstream.h includes:
|
||||
# core/textstream.h
|
||||
# textstream/textstream.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/textstream.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/error.h
|
||||
./groupinfo.o: ../../../../winix/winixd/models/user.h
|
||||
# ../../../../winix/winixd/models/user.h includes:
|
||||
# model.h
|
||||
# space/space.h
|
||||
# date/date.h
|
||||
# templates/misc.h
|
||||
# winixmodel.h
|
||||
./groupinfo.o: ../../../../winix/winixd/models/group.h
|
||||
# ../../../../winix/winixd/models/group.h includes:
|
||||
# model.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
# ../../../../winix/winixd/core/dircontainer.h includes:
|
||||
# winixbase.h
|
||||
# models/item.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
# ../../../../winix/winixd/core/ugcontainer.h includes:
|
||||
# winixbase.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/mountparser.h
|
||||
# ../../../../winix/winixd/core/mountparser.h includes:
|
||||
# mount.h
|
||||
|
@ -527,9 +451,15 @@
|
|||
# models/user.h
|
||||
# plugindata.h
|
||||
# rebus.h
|
||||
# textstream.h
|
||||
# date/date.h
|
||||
# ipban.h
|
||||
./groupinfo.o: ../../../../winix/winixd/models/user.h
|
||||
# ../../../../winix/winixd/models/user.h includes:
|
||||
# model.h
|
||||
# space/space.h
|
||||
# date/date.h
|
||||
# templates/misc.h
|
||||
# winixmodel.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/rebus.h
|
||||
# ../../../../winix/winixd/core/rebus.h includes:
|
||||
# winixbase.h
|
||||
|
@ -547,11 +477,13 @@
|
|||
./groupinfo.o: ../../../../winix/winixd/core/dirs.h
|
||||
# ../../../../winix/winixd/core/dirs.h includes:
|
||||
# dircontainer.h
|
||||
# db/db.h
|
||||
# request.h
|
||||
# models/item.h
|
||||
# winixmodeldeprecated.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
# ../../../../winix/winixd/core/dircontainer.h includes:
|
||||
# winixbase.h
|
||||
# models/item.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/crypt.h
|
||||
# ../../../../winix/winixd/core/crypt.h includes:
|
||||
# run.h
|
||||
|
@ -567,9 +499,10 @@
|
|||
# ugcontainer.h
|
||||
# lastcontainer.h
|
||||
# cur.h
|
||||
# db/db.h
|
||||
# models/winixmodel.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
# ../../../../winix/winixd/core/ugcontainer.h includes:
|
||||
# winixbase.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/lastcontainer.h
|
||||
# ../../../../winix/winixd/core/lastcontainer.h includes:
|
||||
# date/date.h
|
||||
|
@ -577,8 +510,6 @@
|
|||
./groupinfo.o: ../../../../winix/winixd/core/image.h
|
||||
# ../../../../winix/winixd/core/image.h includes:
|
||||
# basethread.h
|
||||
# textstream.h
|
||||
# db/db.h
|
||||
# core/config.h
|
||||
# models/item.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/threadmanager.h
|
||||
|
@ -618,7 +549,6 @@
|
|||
./groupinfo.o: ../../../../winix/winixd/notify/templatesnotify.h
|
||||
# ../../../../winix/winixd/notify/templatesnotify.h includes:
|
||||
# ezc.h
|
||||
# core/textstream.h
|
||||
# notifypool.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/users.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/timezones.h
|
||||
|
@ -660,17 +590,12 @@
|
|||
./groupinfo.o: ../../../../tito/src/base64.h ../../../../tito/src/aes.h
|
||||
# ../../../../tito/src/aes.h includes:
|
||||
# log/log.h
|
||||
./groupinfo.o: ../../../../winix/winixd/core/slog.h
|
||||
# ../../../../winix/winixd/core/slog.h includes:
|
||||
# cur.h
|
||||
# logmanipulators.h
|
||||
# templates/locale.h
|
||||
# textstream/textstream.h
|
||||
./groups.o: groups.h ../../../../pikotools/src/space/spaceparser.h
|
||||
./groups.o: ../../../../pikotools/src/space/space.h
|
||||
./groups.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./groups.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./groups.o: ../../../../pikotools/src/convert/misc.h
|
||||
./groups.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./groups.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./groups.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./groups.o: ../../../../pikotools/src/textstream/textstream.h
|
||||
./groups.o: ../../../../pikotools/src/textstream/stream.h
|
||||
|
@ -742,7 +667,6 @@
|
|||
./groups.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./groups.o: ../../../../pikotools/src/convert/text.h
|
||||
./groups.o: ../../../../pikotools/src/convert/misc.h
|
||||
./groups.o: ../../../../pikotools/src/textstream/types.h
|
||||
./groups.o: ../../../../ezc/src/ezc.h ../../../../ezc/src/version.h
|
||||
./groups.o: ../../../../ezc/src/generator.h ../../../../ezc/src/blocks.h
|
||||
./groups.o: ../../../../ezc/src/cache.h ../../../../ezc/src/functions.h
|
||||
|
@ -753,13 +677,6 @@
|
|||
./groups.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./groups.o: ../../../../winix/winixd/core/error.h
|
||||
./groups.o: ../../../../winix/winixd/core/config.h
|
||||
./groups.o: ../../../../winix/winixd/core/textstream.h
|
||||
./groups.o: ../../../../winix/winixd/core/misc.h
|
||||
./groups.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./groups.o: ../../../../pikotools/src/convert/convert.h
|
||||
./groups.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./groups.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./groups.o: ../../../../pikotools/src/convert/double.h
|
||||
./groups.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./groups.o: ../../../../winix/winixd/core/header.h
|
||||
./groups.o: ../../../../winix/winixd/core/compress.h
|
||||
|
@ -769,18 +686,9 @@
|
|||
./groups.o: ../../../../winix/winixd/core/plugindata.h
|
||||
./groups.o: ../../../../winix/winixd/core/mount.h
|
||||
./groups.o: ../../../../winix/winixd/core/mounts.h
|
||||
./groups.o: ../../../../winix/winixd/db/db.h
|
||||
./groups.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./groups.o: ../../../../winix/winixd/db/dbconn.h
|
||||
./groups.o: ../../../../winix/winixd/db/dbtextstream.h
|
||||
./groups.o: ../../../../winix/winixd/core/textstream.h
|
||||
./groups.o: ../../../../winix/winixd/core/error.h
|
||||
./groups.o: ../../../../winix/winixd/models/user.h
|
||||
./groups.o: ../../../../winix/winixd/models/group.h
|
||||
./groups.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
./groups.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./groups.o: ../../../../winix/winixd/core/mountparser.h
|
||||
./groups.o: ../../../../winix/winixd/core/session.h
|
||||
./groups.o: ../../../../winix/winixd/models/user.h
|
||||
./groups.o: ../../../../winix/winixd/core/rebus.h
|
||||
./groups.o: ../../../../winix/winixd/core/ipban.h
|
||||
./groups.o: ../../../../winix/winixd/core/loadavg.h
|
||||
|
@ -814,7 +722,6 @@
|
|||
./groups.o: ../../../../winix/winixd/core/ipbancontainer.h
|
||||
./groups.o: ../../../../winix/winixd/core/sessionidmanager.h
|
||||
./groups.o: ../../../../tito/src/base64.h ../../../../tito/src/aes.h
|
||||
./groups.o: ../../../../winix/winixd/core/slog.h
|
||||
./init.o: ../../../../winix/winixd/core/log.h
|
||||
./init.o: ../../../../winix/winixd/core/plugin.h
|
||||
# ../../../../winix/winixd/core/plugin.h includes:
|
||||
|
@ -831,8 +738,9 @@
|
|||
./init.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./init.o: ../../../../pikotools/src/space/space.h
|
||||
./init.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./init.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./init.o: ../../../../pikotools/src/convert/misc.h
|
||||
./init.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./init.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./init.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./init.o: ../../../../pikotools/src/textstream/textstream.h
|
||||
./init.o: ../../../../pikotools/src/textstream/stream.h
|
||||
|
@ -897,43 +805,25 @@
|
|||
./init.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./init.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./init.o: ../../../../pikotools/src/convert/text.h
|
||||
./init.o: ../../../../pikotools/src/convert/misc.h
|
||||
./init.o: ../../../../pikotools/src/textstream/types.h
|
||||
./init.o: ../../../../ezc/src/ezc.h ../../../../ezc/src/version.h
|
||||
./init.o: ../../../../ezc/src/generator.h ../../../../ezc/src/blocks.h
|
||||
./init.o: ../../../../ezc/src/cache.h ../../../../ezc/src/functions.h
|
||||
./init.o: ../../../../ezc/src/objects.h ../../../../ezc/src/pattern.h
|
||||
./init.o: ../../../../ezc/src/outstreams.h
|
||||
./init.o: ../../../../pikotools/src/convert/misc.h ../../../../ezc/src/ezc.h
|
||||
./init.o: ../../../../ezc/src/version.h ../../../../ezc/src/generator.h
|
||||
./init.o: ../../../../ezc/src/blocks.h ../../../../ezc/src/cache.h
|
||||
./init.o: ../../../../ezc/src/functions.h ../../../../ezc/src/objects.h
|
||||
./init.o: ../../../../ezc/src/pattern.h ../../../../ezc/src/outstreams.h
|
||||
./init.o: ../../../../ezc/src/expressionparser.h ../../../../ezc/src/models.h
|
||||
./init.o: ../../../../ezc/src/patternparser.h
|
||||
./init.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./init.o: ../../../../winix/winixd/core/error.h
|
||||
./init.o: ../../../../winix/winixd/core/config.h
|
||||
./init.o: ../../../../winix/winixd/core/textstream.h
|
||||
./init.o: ../../../../winix/winixd/core/misc.h
|
||||
./init.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./init.o: ../../../../pikotools/src/convert/convert.h
|
||||
./init.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./init.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./init.o: ../../../../pikotools/src/convert/double.h
|
||||
./init.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./init.o: ../../../../winix/winixd/core/header.h
|
||||
./init.o: ../../../../winix/winixd/core/compress.h
|
||||
./init.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./init.o: ../../../../winix/winixd/core/plugin.h
|
||||
./init.o: ../../../../winix/winixd/core/mounts.h
|
||||
./init.o: ../../../../winix/winixd/db/db.h
|
||||
./init.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./init.o: ../../../../winix/winixd/db/dbconn.h
|
||||
./init.o: ../../../../winix/winixd/db/dbtextstream.h
|
||||
./init.o: ../../../../winix/winixd/core/textstream.h
|
||||
./init.o: ../../../../winix/winixd/core/error.h
|
||||
./init.o: ../../../../winix/winixd/models/user.h
|
||||
./init.o: ../../../../winix/winixd/models/group.h
|
||||
./init.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/mountparser.h
|
||||
./init.o: ../../../../winix/winixd/core/session.h
|
||||
./init.o: ../../../../winix/winixd/models/user.h
|
||||
./init.o: ../../../../winix/winixd/core/rebus.h
|
||||
./init.o: ../../../../winix/winixd/core/ipban.h
|
||||
./init.o: ../../../../winix/winixd/core/loadavg.h
|
||||
|
@ -967,7 +857,6 @@
|
|||
./init.o: ../../../../winix/winixd/core/ipbancontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/sessionidmanager.h
|
||||
./init.o: ../../../../tito/src/base64.h ../../../../tito/src/aes.h
|
||||
./init.o: ../../../../winix/winixd/core/slog.h
|
||||
./init.o: ../../../../winix/winixd/functions/functions.h
|
||||
# ../../../../winix/winixd/functions/functions.h includes:
|
||||
# functionbase.h
|
||||
|
@ -1021,7 +910,6 @@
|
|||
# core/winixrequest.h
|
||||
./init.o: ../../../../winix/winixd/functions/functionbase.h
|
||||
# ../../../../winix/winixd/functions/functionbase.h includes:
|
||||
# db/db.h
|
||||
# core/request.h
|
||||
# core/config.h
|
||||
# core/synchro.h
|
||||
|
@ -1031,7 +919,6 @@
|
|||
./init.o: ../../../../winix/winixd/functions/functionparser.h
|
||||
# ../../../../winix/winixd/functions/functionparser.h includes:
|
||||
# core/winixmodeldeprecated.h
|
||||
# db/db.h
|
||||
# core/cur.h
|
||||
# core/dirs.h
|
||||
./init.o: ../../../../winix/winixd/core/dirs.h
|
||||
|
@ -1052,9 +939,7 @@
|
|||
./init.o: ../../../../winix/winixd/functions/privchanger.h
|
||||
# ../../../../winix/winixd/functions/privchanger.h includes:
|
||||
# core/winixmodeldeprecated.h
|
||||
# core/request.h
|
||||
# core/system.h
|
||||
# db/db.h
|
||||
./init.o: ../../../../winix/winixd/functions/chown.h
|
||||
# ../../../../winix/winixd/functions/chown.h includes:
|
||||
# functionbase.h
|
||||
|
@ -1210,7 +1095,6 @@
|
|||
# core/system.h
|
||||
# core/sessionmanager.h
|
||||
# html/htmlparser.h
|
||||
# db/db.h
|
||||
# core/winixrequest.h
|
||||
./templates.o: ../../../../ezc/src/ezc.h ../../../../ezc/src/version.h
|
||||
./templates.o: ../../../../ezc/src/generator.h ../../../../ezc/src/blocks.h
|
||||
|
@ -1264,6 +1148,7 @@
|
|||
./templates.o: ../../../../winix/winixd/core/config.h
|
||||
./templates.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./templates.o: ../../../../pikotools/src/space/space.h
|
||||
./templates.o: ../../../../pikotools/src/convert/misc.h
|
||||
./templates.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./templates.o: ../../../../winix/winixd/core/log.h
|
||||
./templates.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
|
@ -1295,7 +1180,6 @@
|
|||
./templates.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./templates.o: ../../../../pikotools/src/convert/text.h
|
||||
./templates.o: ../../../../pikotools/src/convert/misc.h
|
||||
./templates.o: ../../../../pikotools/src/textstream/types.h
|
||||
./templates.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./templates.o: ../../../../winix/winixd/templates/indexpatterns.h
|
||||
# ../../../../winix/winixd/templates/indexpatterns.h includes:
|
||||
|
@ -1323,13 +1207,6 @@
|
|||
./templates.o: ../../../../winix/winixd/core/requesttypes.h
|
||||
./templates.o: ../../../../winix/winixd/core/error.h
|
||||
./templates.o: ../../../../winix/winixd/core/config.h
|
||||
./templates.o: ../../../../winix/winixd/core/textstream.h
|
||||
./templates.o: ../../../../winix/winixd/core/misc.h
|
||||
./templates.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./templates.o: ../../../../pikotools/src/convert/convert.h
|
||||
./templates.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./templates.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./templates.o: ../../../../pikotools/src/convert/double.h
|
||||
./templates.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./templates.o: ../../../../winix/winixd/core/header.h
|
||||
./templates.o: ../../../../winix/winixd/core/compress.h
|
||||
|
@ -1339,18 +1216,9 @@
|
|||
./templates.o: ../../../../winix/winixd/core/plugindata.h
|
||||
./templates.o: ../../../../winix/winixd/core/mount.h
|
||||
./templates.o: ../../../../winix/winixd/core/mounts.h
|
||||
./templates.o: ../../../../winix/winixd/db/db.h
|
||||
./templates.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./templates.o: ../../../../winix/winixd/db/dbconn.h
|
||||
./templates.o: ../../../../winix/winixd/db/dbtextstream.h
|
||||
./templates.o: ../../../../winix/winixd/core/textstream.h
|
||||
./templates.o: ../../../../winix/winixd/core/error.h
|
||||
./templates.o: ../../../../winix/winixd/models/user.h
|
||||
./templates.o: ../../../../winix/winixd/models/group.h
|
||||
./templates.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
./templates.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./templates.o: ../../../../winix/winixd/core/mountparser.h
|
||||
./templates.o: ../../../../winix/winixd/core/session.h
|
||||
./templates.o: ../../../../winix/winixd/models/user.h
|
||||
./templates.o: ../../../../winix/winixd/core/rebus.h
|
||||
./templates.o: ../../../../winix/winixd/core/ipban.h
|
||||
./templates.o: ../../../../winix/winixd/core/loadavg.h
|
||||
|
@ -1371,7 +1239,6 @@
|
|||
./templates.o: ../../../../winix/winixd/core/ipbancontainer.h
|
||||
./templates.o: ../../../../winix/winixd/core/sessionidmanager.h
|
||||
./templates.o: ../../../../tito/src/base64.h ../../../../tito/src/aes.h
|
||||
./templates.o: ../../../../winix/winixd/core/slog.h
|
||||
./templates.o: ../../../../winix/winixd/templates/locale.h
|
||||
./templates.o: ../../../../winix/winixd/core/image.h
|
||||
./templates.o: ../../../../winix/winixd/core/threadmanager.h
|
||||
|
@ -1388,3 +1255,21 @@
|
|||
./templates.o: ../../../../pikotools/src/html/htmlparser.h
|
||||
./templates.o: ../../../../winix/winixd/core/plugin.h groupinfo.h
|
||||
./templates.o: ../../../../winix/winixd/core/misc.h
|
||||
# ../../../../winix/winixd/core/misc.h includes:
|
||||
# requesttypes.h
|
||||
# date/date.h
|
||||
# textstream/textstream.h
|
||||
# utf8/utf8.h
|
||||
# winix_const.h
|
||||
# convert/convert.h
|
||||
./templates.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./templates.o: ../../../../pikotools/src/convert/convert.h
|
||||
# ../../../../pikotools/src/convert/convert.h includes:
|
||||
# inttostr.h
|
||||
# patternreplacer.h
|
||||
# strtoint.h
|
||||
# text.h
|
||||
# double.h
|
||||
./templates.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./templates.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./templates.o: ../../../../pikotools/src/convert/double.h
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2011-2021, Tomasz Sowa
|
||||
* Copyright (c) 2011-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -85,7 +85,7 @@ bool GroupInfo::ParseGroups(const std::wstring & str, Groups & groups)
|
|||
}
|
||||
else
|
||||
{
|
||||
slog << logerror << "Syntax error in line: " << conf_parser.get_last_parsed_line() << logend;
|
||||
//slog << logerror << "Syntax error in line: " << conf_parser.get_last_parsed_line() << logend;
|
||||
log << log1 << "Syntax error in line: " << conf_parser.get_last_parsed_line() << logend;
|
||||
groups.Clear();
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2011-2021, Tomasz Sowa
|
||||
* Copyright (c) 2011-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -33,10 +33,10 @@
|
|||
*/
|
||||
|
||||
#include <algorithm>
|
||||
#include <limits>
|
||||
#include "groups.h"
|
||||
#include "core/log.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
{
|
||||
|
||||
|
@ -84,7 +84,7 @@ void Groups::Reindex()
|
|||
}
|
||||
else
|
||||
{
|
||||
slog << logerror << "set: " << set_name << " already defined (skipping)" << logend;
|
||||
//slog << logerror << "set: " << set_name << " already defined (skipping)" << logend;
|
||||
//space.remove_child_space(seti);
|
||||
}
|
||||
}
|
||||
|
@ -117,17 +117,17 @@ void Groups::ReindexGroups(GroupIndex & group_index, const std::wstring & set_na
|
|||
}
|
||||
else
|
||||
{
|
||||
slog << logwarning << "set: " << set_name
|
||||
<< " has a group with a duplicated value: "
|
||||
<< *vali << " (skipping)" << logend;
|
||||
// slog << logwarning << "set: " << set_name
|
||||
// << " has a group with a duplicated value: "
|
||||
// << *vali << " (skipping)" << logend;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
log << log1 << "key: " << key << " was not found" << logend;
|
||||
|
||||
slog << logwarning << "set: " << set_name
|
||||
<< " has a group without a value (skipping)" << logend;
|
||||
// slog << logwarning << "set: " << set_name
|
||||
// << " has a group without a value (skipping)" << logend;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -2,55 +2,33 @@
|
|||
|
||||
./funregistermail.o: funregistermail.h
|
||||
./funregistermail.o: ../../../../winix/winixd/functions/functionbase.h
|
||||
./funregistermail.o: ../../../../winix/winixd/db/db.h
|
||||
./funregistermail.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./funregistermail.o: ../../../../winix/winixd/db/dbconn.h
|
||||
./funregistermail.o: ../../../../winix/winixd/db/dbtextstream.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/textstream.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/misc.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/request.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/requesttypes.h
|
||||
./funregistermail.o: ../../../../pikotools/src/textstream/textstream.h
|
||||
./funregistermail.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./funregistermail.o: ../../../../pikotools/src/space/space.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./funregistermail.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/misc.h
|
||||
./funregistermail.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./funregistermail.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./funregistermail.o: ../../../../pikotools/src/date/date.h
|
||||
./funregistermail.o: ../../../../pikotools/src/membuffer/membuffer.h
|
||||
./funregistermail.o: ../../../../pikotools/src/textstream/types.h
|
||||
./funregistermail.o: ../../../../pikotools/src/textstream/stream_private.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/convert.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/text.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/misc.h
|
||||
./funregistermail.o: ../../../../pikotools/src/textstream/types.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/double.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/config.h
|
||||
./funregistermail.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./funregistermail.o: ../../../../pikotools/src/space/space.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/log.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./funregistermail.o: ../../../../pikotools/src/log/log.h
|
||||
./funregistermail.o: ../../../../pikotools/src/log/filelog.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/filelog.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/synchro.h
|
||||
./funregistermail.o: ../../../../morm/src/morm.h
|
||||
./funregistermail.o: ../../../../morm/src/version.h
|
||||
./funregistermail.o: ../../../../morm/src/morm_types.h
|
||||
./funregistermail.o: ../../../../winix/winixd/models/item.h
|
||||
./funregistermail.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./funregistermail.o: ../../../../morm/src/model.h
|
||||
./funregistermail.o: ../../../../morm/src/modelconnector.h
|
||||
./funregistermail.o: ../../../../morm/src/clearer.h ../../../../morm/src/ft.h
|
||||
./funregistermail.o: ../../../../morm/src/dbconnector.h
|
||||
./funregistermail.o: ../../../../pikotools/src/log/log.h
|
||||
./funregistermail.o: ../../../../pikotools/src/log/filelog.h
|
||||
./funregistermail.o: ../../../../morm/src/queryresult.h
|
||||
./funregistermail.o: ../../../../morm/src/flatconnector.h
|
||||
./funregistermail.o: ../../../../morm/src/export.h
|
||||
./funregistermail.o: ../../../../morm/src/dbexpression.h
|
||||
./funregistermail.o: ../../../../morm/src/baseexpression.h
|
||||
./funregistermail.o: ../../../../morm/src/morm_types.h
|
||||
./funregistermail.o: ../../../../morm/src/modelenv.h
|
||||
./funregistermail.o: ../../../../morm/src/modeldata.h
|
||||
./funregistermail.o: ../../../../morm/src/cursorhelper.h
|
||||
|
@ -63,6 +41,12 @@
|
|||
./funregistermail.o: ../../../../morm/src/select.h
|
||||
./funregistermail.o: ../../../../morm/src/flatexpression.h
|
||||
./funregistermail.o: ../../../../ezc/src/funinfo.h ../../../../ezc/src/item.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/log.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/filelog.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/synchro.h
|
||||
./funregistermail.o: ../../../../morm/src/morm.h
|
||||
./funregistermail.o: ../../../../morm/src/version.h
|
||||
./funregistermail.o: ../../../../morm/src/finder.h
|
||||
./funregistermail.o: ../../../../morm/src/cursor.h
|
||||
./funregistermail.o: ../../../../morm/src/jsonexpression.h
|
||||
|
@ -73,16 +57,25 @@
|
|||
./funregistermail.o: ../../../../morm/src/postgresqlqueryresult.h
|
||||
./funregistermail.o: ../../../../morm/src/xmlconnector.h
|
||||
./funregistermail.o: ../../../../morm/src/transaction.h
|
||||
./funregistermail.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
./funregistermail.o: ../../../../winix/winixd/models/itemcontent.h
|
||||
./funregistermail.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./funregistermail.o: ../../../../winix/winixd/templates/misc.h
|
||||
./funregistermail.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./funregistermail.o: ../../../../winix/winixd/templates/locale.h
|
||||
./funregistermail.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./funregistermail.o: ../../../../pikotools/src/space/space.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/config.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/log.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/filelog.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/lock.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/synchro.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/error.h
|
||||
./funregistermail.o: ../../../../winix/winixd/models/user.h
|
||||
./funregistermail.o: ../../../../winix/winixd/templates/misc.h
|
||||
./funregistermail.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./funregistermail.o: ../../../../winix/winixd/templates/locale.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/text.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/misc.h
|
||||
./funregistermail.o: ../../../../ezc/src/ezc.h ../../../../ezc/src/version.h
|
||||
./funregistermail.o: ../../../../ezc/src/generator.h
|
||||
./funregistermail.o: ../../../../ezc/src/blocks.h ../../../../ezc/src/cache.h
|
||||
|
@ -94,29 +87,18 @@
|
|||
./funregistermail.o: ../../../../ezc/src/models.h
|
||||
./funregistermail.o: ../../../../ezc/src/patternparser.h
|
||||
./funregistermail.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./funregistermail.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./funregistermail.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
./funregistermail.o: ../../../../winix/winixd/models/group.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./funregistermail.o: ../../../../winix/winixd/models/item.h
|
||||
./funregistermail.o: ../../../../winix/winixd/models/itemcontent.h
|
||||
./funregistermail.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/request.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/error.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/config.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/textstream.h
|
||||
./funregistermail.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/header.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/compress.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/plugin.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/pluginmsg.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/plugindata.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/winixmodeldeprecated.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/mount.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/mounts.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/request.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/mountparser.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/jobtask.h
|
||||
./funregistermail.o: ../../../../winix/winixd/notify/notify.h
|
||||
|
@ -129,9 +111,11 @@
|
|||
./funregistermail.o: ../../../../winix/winixd/core/basethread.h
|
||||
./funregistermail.o: ../../../../winix/winixd/notify/templatesnotify.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/users.h
|
||||
./funregistermail.o: ../../../../winix/winixd/models/user.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/lastcontainer.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/cur.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/request.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/session.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/rebus.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/ipban.h
|
||||
|
@ -148,6 +132,7 @@
|
|||
./funregistermail.o: ../../../../winix/winixd/core/run.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/users.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/groups.h
|
||||
./funregistermail.o: ../../../../winix/winixd/models/group.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/image.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/threadmanager.h
|
||||
./funregistermail.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
|
@ -159,61 +144,43 @@
|
|||
./funregistermail.o: ../../../../winix/winixd/core/ipbancontainer.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/sessionidmanager.h
|
||||
./funregistermail.o: ../../../../tito/src/base64.h ../../../../tito/src/aes.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/slog.h registermail_info.h
|
||||
./funregistermail.o: mdb.h ../../../../winix/winixd/db/dbbase.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/dirs.h
|
||||
./funregistermail.o: registermail_info.h registermail.h mdb.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/misc.h
|
||||
./funregistermail.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/convert.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./funregistermail.o: ../../../../pikotools/src/convert/double.h
|
||||
./funregistermail_showusers.o: funregistermail_showusers.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/functions/functionbase.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/db/db.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/db/dbconn.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/db/dbtextstream.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/textstream.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/misc.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/request.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/requesttypes.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/textstream/textstream.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/space/space.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/convert/misc.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/date/date.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/membuffer/membuffer.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/textstream/types.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/textstream/stream_private.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/convert/convert.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/convert/text.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/convert/misc.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/textstream/types.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/convert/double.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/config.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/space/space.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/log.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/log/log.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/log/filelog.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/filelog.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/synchro.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/morm.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/version.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/morm_types.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/models/item.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/model.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/modelconnector.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/clearer.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/ft.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/dbconnector.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/log/log.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/log/filelog.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/queryresult.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/flatconnector.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/export.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/dbexpression.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/baseexpression.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/morm_types.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/modelenv.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/modeldata.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/cursorhelper.h
|
||||
|
@ -227,6 +194,12 @@
|
|||
./funregistermail_showusers.o: ../../../../morm/src/flatexpression.h
|
||||
./funregistermail_showusers.o: ../../../../ezc/src/funinfo.h
|
||||
./funregistermail_showusers.o: ../../../../ezc/src/item.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/log.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/filelog.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/synchro.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/morm.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/version.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/finder.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/cursor.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/jsonexpression.h
|
||||
|
@ -237,16 +210,25 @@
|
|||
./funregistermail_showusers.o: ../../../../morm/src/postgresqlqueryresult.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/xmlconnector.h
|
||||
./funregistermail_showusers.o: ../../../../morm/src/transaction.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/models/itemcontent.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/templates/misc.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/templates/locale.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/space/space.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/config.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/log.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/filelog.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/lock.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/synchro.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/error.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/models/user.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/templates/misc.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/templates/locale.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/convert/text.h
|
||||
./funregistermail_showusers.o: ../../../../pikotools/src/convert/misc.h
|
||||
./funregistermail_showusers.o: ../../../../ezc/src/ezc.h
|
||||
./funregistermail_showusers.o: ../../../../ezc/src/version.h
|
||||
./funregistermail_showusers.o: ../../../../ezc/src/generator.h
|
||||
|
@ -260,29 +242,18 @@
|
|||
./funregistermail_showusers.o: ../../../../ezc/src/models.h
|
||||
./funregistermail_showusers.o: ../../../../ezc/src/patternparser.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/models/group.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/models/item.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/models/itemcontent.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/request.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/error.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/config.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/textstream.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/header.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/compress.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/plugin.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/pluginmsg.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/plugindata.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/winixmodeldeprecated.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/mount.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/mounts.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/request.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/mountparser.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/jobtask.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/notify/notify.h
|
||||
|
@ -295,9 +266,11 @@
|
|||
./funregistermail_showusers.o: ../../../../winix/winixd/core/basethread.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/notify/templatesnotify.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/users.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/models/user.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/lastcontainer.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/cur.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/request.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/session.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/rebus.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/ipban.h
|
||||
|
@ -314,6 +287,7 @@
|
|||
./funregistermail_showusers.o: ../../../../winix/winixd/core/run.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/users.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/groups.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/models/group.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/image.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/threadmanager.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
|
@ -325,34 +299,22 @@
|
|||
./funregistermail_showusers.o: ../../../../winix/winixd/core/ipbancontainer.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/sessionidmanager.h
|
||||
./funregistermail_showusers.o: ../../../../tito/src/base64.h
|
||||
./funregistermail_showusers.o: ../../../../tito/src/aes.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/slog.h
|
||||
./funregistermail_showusers.o: registermail_info.h mdb.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./funregistermail_showusers.o: ../../../../winix/winixd/core/dirs.h
|
||||
./funregistermail_showusers.o: ../../../../tito/src/aes.h registermail_info.h
|
||||
./funregistermail_showusers.o: registermail.h mdb.h
|
||||
./init.o: ../../../../winix/winixd/core/log.h
|
||||
./init.o: ../../../../winix/winixd/core/plugin.h
|
||||
./init.o: ../../../../winix/winixd/core/pluginmsg.h
|
||||
./init.o: ../../../../winix/winixd/core/plugindata.h
|
||||
./init.o: ../../../../winix/winixd/core/winixmodeldeprecated.h
|
||||
./init.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./init.o: ../../../../winix/winixd/core/config.h
|
||||
./init.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./init.o: ../../../../pikotools/src/space/space.h
|
||||
./init.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./init.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./init.o: ../../../../pikotools/src/log/log.h
|
||||
./init.o: ../../../../pikotools/src/textstream/textstream.h
|
||||
./init.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./init.o: ../../../../pikotools/src/space/space.h
|
||||
./init.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./init.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./init.o: ../../../../pikotools/src/convert/misc.h
|
||||
./init.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./init.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./init.o: ../../../../pikotools/src/date/date.h
|
||||
./init.o: ../../../../pikotools/src/membuffer/membuffer.h
|
||||
./init.o: ../../../../pikotools/src/textstream/types.h
|
||||
./init.o: ../../../../pikotools/src/textstream/stream_private.h
|
||||
./init.o: ../../../../winix/winixd/core/log.h
|
||||
./init.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./init.o: ../../../../pikotools/src/log/log.h
|
||||
./init.o: ../../../../pikotools/src/log/filelog.h
|
||||
./init.o: ../../../../winix/winixd/core/filelog.h
|
||||
./init.o: ../../../../winix/winixd/core/synchro.h ../../../../morm/src/morm.h
|
||||
|
@ -382,18 +344,6 @@
|
|||
./init.o: ../../../../morm/src/postgresqlqueryresult.h
|
||||
./init.o: ../../../../morm/src/xmlconnector.h
|
||||
./init.o: ../../../../morm/src/transaction.h
|
||||
./init.o: ../../../../winix/winixd/core/filelog.h
|
||||
./init.o: ../../../../winix/winixd/core/lock.h
|
||||
./init.o: ../../../../winix/winixd/core/synchro.h
|
||||
./init.o: ../../../../winix/winixd/core/mount.h mdb.h
|
||||
./init.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./init.o: ../../../../winix/winixd/core/dirs.h funregistermail.h
|
||||
./init.o: ../../../../winix/winixd/functions/functionbase.h
|
||||
./init.o: ../../../../winix/winixd/db/db.h
|
||||
./init.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./init.o: ../../../../winix/winixd/db/dbconn.h
|
||||
./init.o: ../../../../winix/winixd/db/dbtextstream.h
|
||||
./init.o: ../../../../winix/winixd/core/textstream.h
|
||||
./init.o: ../../../../winix/winixd/core/misc.h
|
||||
./init.o: ../../../../winix/winixd/core/requesttypes.h
|
||||
./init.o: ../../../../winix/winixd/core/winix_const.h
|
||||
|
@ -403,10 +353,28 @@
|
|||
./init.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./init.o: ../../../../pikotools/src/convert/text.h
|
||||
./init.o: ../../../../pikotools/src/convert/misc.h
|
||||
./init.o: ../../../../pikotools/src/textstream/types.h
|
||||
./init.o: ../../../../pikotools/src/convert/double.h
|
||||
./init.o: ../../../../winix/winixd/core/error.h
|
||||
./init.o: ../../../../winix/winixd/models/user.h
|
||||
./init.o: ../../../../winix/winixd/core/plugin.h
|
||||
./init.o: ../../../../winix/winixd/core/pluginmsg.h
|
||||
./init.o: ../../../../winix/winixd/core/plugindata.h
|
||||
./init.o: ../../../../winix/winixd/core/winixmodeldeprecated.h
|
||||
./init.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./init.o: ../../../../winix/winixd/core/config.h
|
||||
./init.o: ../../../../pikotools/src/space/spaceparser.h
|
||||
./init.o: ../../../../pikotools/src/space/space.h
|
||||
./init.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./init.o: ../../../../winix/winixd/core/log.h
|
||||
./init.o: ../../../../winix/winixd/core/filelog.h
|
||||
./init.o: ../../../../winix/winixd/core/lock.h
|
||||
./init.o: ../../../../winix/winixd/core/synchro.h
|
||||
./init.o: ../../../../winix/winixd/core/mount.h mdb.h registermail.h
|
||||
./init.o: funregistermail.h ../../../../winix/winixd/functions/functionbase.h
|
||||
./init.o: ../../../../winix/winixd/core/request.h
|
||||
./init.o: ../../../../winix/winixd/models/item.h
|
||||
./init.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./init.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
./init.o: ../../../../winix/winixd/models/itemcontent.h
|
||||
./init.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./init.o: ../../../../winix/winixd/templates/misc.h
|
||||
./init.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./init.o: ../../../../winix/winixd/templates/locale.h
|
||||
|
@ -419,25 +387,14 @@
|
|||
./init.o: ../../../../ezc/src/expressionparser.h ../../../../ezc/src/models.h
|
||||
./init.o: ../../../../ezc/src/patternparser.h
|
||||
./init.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./init.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./init.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
./init.o: ../../../../winix/winixd/models/group.h
|
||||
./init.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./init.o: ../../../../winix/winixd/models/item.h
|
||||
./init.o: ../../../../winix/winixd/models/itemcontent.h
|
||||
./init.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./init.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/request.h
|
||||
./init.o: ../../../../winix/winixd/core/error.h
|
||||
./init.o: ../../../../winix/winixd/core/config.h
|
||||
./init.o: ../../../../winix/winixd/core/textstream.h
|
||||
./init.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./init.o: ../../../../winix/winixd/core/header.h
|
||||
./init.o: ../../../../winix/winixd/core/compress.h
|
||||
./init.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./init.o: ../../../../winix/winixd/core/plugin.h
|
||||
./init.o: ../../../../winix/winixd/core/mounts.h
|
||||
./init.o: ../../../../winix/winixd/core/request.h
|
||||
./init.o: ../../../../winix/winixd/core/mountparser.h
|
||||
./init.o: ../../../../winix/winixd/core/jobtask.h
|
||||
./init.o: ../../../../winix/winixd/notify/notify.h
|
||||
|
@ -450,9 +407,11 @@
|
|||
./init.o: ../../../../winix/winixd/core/basethread.h
|
||||
./init.o: ../../../../winix/winixd/notify/templatesnotify.h
|
||||
./init.o: ../../../../winix/winixd/core/users.h
|
||||
./init.o: ../../../../winix/winixd/models/user.h
|
||||
./init.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/lastcontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/cur.h
|
||||
./init.o: ../../../../winix/winixd/core/request.h
|
||||
./init.o: ../../../../winix/winixd/core/session.h
|
||||
./init.o: ../../../../winix/winixd/core/rebus.h
|
||||
./init.o: ../../../../winix/winixd/core/ipban.h
|
||||
|
@ -469,6 +428,7 @@
|
|||
./init.o: ../../../../winix/winixd/core/run.h
|
||||
./init.o: ../../../../winix/winixd/core/users.h
|
||||
./init.o: ../../../../winix/winixd/core/groups.h
|
||||
./init.o: ../../../../winix/winixd/models/group.h
|
||||
./init.o: ../../../../winix/winixd/core/image.h
|
||||
./init.o: ../../../../winix/winixd/core/threadmanager.h
|
||||
./init.o: ../../../../winix/winixd/models/winixmodelconnector.h
|
||||
|
@ -480,11 +440,11 @@
|
|||
./init.o: ../../../../winix/winixd/core/ipbancontainer.h
|
||||
./init.o: ../../../../winix/winixd/core/sessionidmanager.h
|
||||
./init.o: ../../../../tito/src/base64.h ../../../../tito/src/aes.h
|
||||
./init.o: ../../../../winix/winixd/core/slog.h registermail_info.h
|
||||
./init.o: funregistermail_showusers.h
|
||||
./init.o: registermail_info.h funregistermail_showusers.h
|
||||
./init.o: ../../../../winix/winixd/functions/functions.h
|
||||
./init.o: ../../../../winix/winixd/functions/functionbase.h
|
||||
./init.o: ../../../../winix/winixd/functions/functionparser.h
|
||||
./init.o: ../../../../winix/winixd/core/dirs.h
|
||||
./init.o: ../../../../winix/winixd/functions/account.h
|
||||
./init.o: ../../../../winix/winixd/functions/adduser.h
|
||||
./init.o: ../../../../winix/winixd/functions/cat.h
|
||||
|
@ -534,10 +494,84 @@
|
|||
./init.o: ../../../../winix/winixd/functions/who.h
|
||||
./init.o: ../../../../winix/winixd/functions/vim.h
|
||||
./init.o: ../../../../pikotools/src/html/htmlparser.h
|
||||
./mdb.o: mdb.h ../../../../winix/winixd/db/dbbase.h
|
||||
./mdb.o: ../../../../winix/winixd/core/dirs.h
|
||||
./mdb.o: ../../../../winix/winixd/core/log.h
|
||||
./registermail_info.o: registermail_info.h
|
||||
./init.o: ../../../../winix/winixd/models/migration.h
|
||||
./mdb.o: mdb.h registermail.h ../../../../morm/src/model.h
|
||||
./mdb.o: ../../../../pikotools/src/textstream/textstream.h
|
||||
./mdb.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./mdb.o: ../../../../pikotools/src/space/space.h
|
||||
./mdb.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./mdb.o: ../../../../pikotools/src/convert/misc.h
|
||||
./mdb.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./mdb.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./mdb.o: ../../../../pikotools/src/date/date.h
|
||||
./mdb.o: ../../../../pikotools/src/membuffer/membuffer.h
|
||||
./mdb.o: ../../../../pikotools/src/textstream/types.h
|
||||
./mdb.o: ../../../../pikotools/src/textstream/stream_private.h
|
||||
./mdb.o: ../../../../morm/src/modelconnector.h ../../../../morm/src/clearer.h
|
||||
./mdb.o: ../../../../morm/src/ft.h ../../../../morm/src/dbconnector.h
|
||||
./mdb.o: ../../../../pikotools/src/log/log.h
|
||||
./mdb.o: ../../../../pikotools/src/log/filelog.h
|
||||
./mdb.o: ../../../../morm/src/queryresult.h
|
||||
./mdb.o: ../../../../morm/src/flatconnector.h ../../../../morm/src/export.h
|
||||
./mdb.o: ../../../../morm/src/dbexpression.h
|
||||
./mdb.o: ../../../../morm/src/baseexpression.h
|
||||
./mdb.o: ../../../../morm/src/morm_types.h ../../../../morm/src/modelenv.h
|
||||
./mdb.o: ../../../../morm/src/modeldata.h ../../../../morm/src/cursorhelper.h
|
||||
./mdb.o: ../../../../morm/src/finderhelper.h
|
||||
./mdb.o: ../../../../morm/src/fieldvaluehelper.h
|
||||
./mdb.o: ../../../../morm/src/wrapper.h ../../../../morm/src/spacewrapper.h
|
||||
./mdb.o: ../../../../morm/src/baseobjectwrapper.h
|
||||
./mdb.o: ../../../../morm/src/modelcontainerwrapper.h
|
||||
./mdb.o: ../../../../morm/src/select.h ../../../../morm/src/flatexpression.h
|
||||
./mdb.o: ../../../../ezc/src/funinfo.h ../../../../ezc/src/item.h
|
||||
./mdb.o: ../../../../morm/src/morm.h ../../../../morm/src/version.h
|
||||
./mdb.o: ../../../../morm/src/finder.h ../../../../morm/src/cursor.h
|
||||
./mdb.o: ../../../../morm/src/jsonexpression.h
|
||||
./mdb.o: ../../../../morm/src/postgresqlexpression.h
|
||||
./mdb.o: ../../../../morm/src/xmlexpression.h
|
||||
./mdb.o: ../../../../morm/src/jsonconnector.h
|
||||
./mdb.o: ../../../../morm/src/postgresqlconnector.h
|
||||
./mdb.o: ../../../../morm/src/postgresqlqueryresult.h
|
||||
./mdb.o: ../../../../morm/src/xmlconnector.h
|
||||
./mdb.o: ../../../../morm/src/transaction.h
|
||||
./registermail_info.o: registermail_info.h registermail.h
|
||||
./registermail_info.o: ../../../../morm/src/model.h
|
||||
./registermail_info.o: ../../../../pikotools/src/textstream/textstream.h
|
||||
./registermail_info.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./registermail_info.o: ../../../../pikotools/src/space/space.h
|
||||
./registermail_info.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./registermail_info.o: ../../../../pikotools/src/convert/misc.h
|
||||
./registermail_info.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./registermail_info.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./registermail_info.o: ../../../../pikotools/src/date/date.h
|
||||
./registermail_info.o: ../../../../pikotools/src/membuffer/membuffer.h
|
||||
./registermail_info.o: ../../../../pikotools/src/textstream/types.h
|
||||
./registermail_info.o: ../../../../pikotools/src/textstream/stream_private.h
|
||||
./registermail_info.o: ../../../../morm/src/modelconnector.h
|
||||
./registermail_info.o: ../../../../morm/src/clearer.h
|
||||
./registermail_info.o: ../../../../morm/src/ft.h
|
||||
./registermail_info.o: ../../../../morm/src/dbconnector.h
|
||||
./registermail_info.o: ../../../../pikotools/src/log/log.h
|
||||
./registermail_info.o: ../../../../pikotools/src/log/filelog.h
|
||||
./registermail_info.o: ../../../../morm/src/queryresult.h
|
||||
./registermail_info.o: ../../../../morm/src/flatconnector.h
|
||||
./registermail_info.o: ../../../../morm/src/export.h
|
||||
./registermail_info.o: ../../../../morm/src/dbexpression.h
|
||||
./registermail_info.o: ../../../../morm/src/baseexpression.h
|
||||
./registermail_info.o: ../../../../morm/src/morm_types.h
|
||||
./registermail_info.o: ../../../../morm/src/modelenv.h
|
||||
./registermail_info.o: ../../../../morm/src/modeldata.h
|
||||
./registermail_info.o: ../../../../morm/src/cursorhelper.h
|
||||
./registermail_info.o: ../../../../morm/src/finderhelper.h
|
||||
./registermail_info.o: ../../../../morm/src/fieldvaluehelper.h
|
||||
./registermail_info.o: ../../../../morm/src/wrapper.h
|
||||
./registermail_info.o: ../../../../morm/src/spacewrapper.h
|
||||
./registermail_info.o: ../../../../morm/src/baseobjectwrapper.h
|
||||
./registermail_info.o: ../../../../morm/src/modelcontainerwrapper.h
|
||||
./registermail_info.o: ../../../../morm/src/select.h
|
||||
./registermail_info.o: ../../../../morm/src/flatexpression.h
|
||||
./registermail_info.o: ../../../../ezc/src/funinfo.h
|
||||
./registermail_info.o: ../../../../ezc/src/item.h
|
||||
./templates.o: ../../../../winix/winixd/templates/templates.h
|
||||
./templates.o: ../../../../ezc/src/ezc.h ../../../../ezc/src/version.h
|
||||
./templates.o: ../../../../ezc/src/generator.h ../../../../ezc/src/blocks.h
|
||||
|
@ -552,6 +586,7 @@
|
|||
./templates.o: ../../../../morm/src/spacewrapper.h
|
||||
./templates.o: ../../../../pikotools/src/space/space.h
|
||||
./templates.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./templates.o: ../../../../pikotools/src/convert/misc.h
|
||||
./templates.o: ../../../../morm/src/baseobjectwrapper.h
|
||||
./templates.o: ../../../../pikotools/src/date/date.h
|
||||
./templates.o: ../../../../morm/src/modelcontainerwrapper.h
|
||||
|
@ -588,9 +623,10 @@
|
|||
./templates.o: ../../../../pikotools/src/space/space.h
|
||||
./templates.o: ../../../../pikotools/src/convert/baseparser.h
|
||||
./templates.o: ../../../../winix/winixd/core/log.h
|
||||
./templates.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./templates.o: ../../../../winix/winixd/core/filelog.h
|
||||
./templates.o: ../../../../winix/winixd/core/synchro.h
|
||||
./templates.o: ../../../../winix/winixd/core/log.h
|
||||
./templates.o: ../../../../winix/winixd/core/logmanipulators.h
|
||||
./templates.o: ../../../../morm/src/morm.h ../../../../morm/src/version.h
|
||||
./templates.o: ../../../../morm/src/finder.h ../../../../morm/src/cursor.h
|
||||
./templates.o: ../../../../morm/src/jsonexpression.h
|
||||
|
@ -601,7 +637,6 @@
|
|||
./templates.o: ../../../../morm/src/postgresqlqueryresult.h
|
||||
./templates.o: ../../../../morm/src/xmlconnector.h
|
||||
./templates.o: ../../../../morm/src/transaction.h
|
||||
./templates.o: ../../../../winix/winixd/core/log.h
|
||||
./templates.o: ../../../../winix/winixd/core/filelog.h
|
||||
./templates.o: ../../../../winix/winixd/core/lock.h
|
||||
./templates.o: ../../../../winix/winixd/core/synchro.h
|
||||
|
@ -614,6 +649,9 @@
|
|||
./templates.o: ../../../../winix/winixd/templates/localefilter.h
|
||||
./templates.o: ../../../../winix/winixd/templates/locale.h
|
||||
./templates.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./templates.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./templates.o: ../../../../pikotools/src/convert/text.h
|
||||
./templates.o: ../../../../pikotools/src/convert/misc.h
|
||||
./templates.o: ../../../../winix/winixd/templates/htmltextstream.h
|
||||
./templates.o: ../../../../winix/winixd/templates/indexpatterns.h
|
||||
./templates.o: ../../../../winix/winixd/templates/patterns.h
|
||||
|
@ -631,36 +669,16 @@
|
|||
./templates.o: ../../../../winix/winixd/core/plugindata.h
|
||||
./templates.o: ../../../../winix/winixd/core/rebus.h
|
||||
./templates.o: ../../../../winix/winixd/core/winixbase.h
|
||||
./templates.o: ../../../../winix/winixd/core/textstream.h
|
||||
./templates.o: ../../../../winix/winixd/core/ipban.h
|
||||
./templates.o: ../../../../winix/winixd/core/mount.h
|
||||
./templates.o: ../../../../winix/winixd/core/loadavg.h
|
||||
./templates.o: ../../../../winix/winixd/core/mounts.h
|
||||
./templates.o: ../../../../winix/winixd/db/db.h
|
||||
./templates.o: ../../../../winix/winixd/db/dbbase.h
|
||||
./templates.o: ../../../../winix/winixd/db/dbconn.h
|
||||
./templates.o: ../../../../winix/winixd/db/dbtextstream.h
|
||||
./templates.o: ../../../../winix/winixd/core/textstream.h
|
||||
./templates.o: ../../../../winix/winixd/core/misc.h
|
||||
./templates.o: ../../../../winix/winixd/core/requesttypes.h
|
||||
./templates.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./templates.o: ../../../../pikotools/src/convert/convert.h
|
||||
./templates.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./templates.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./templates.o: ../../../../pikotools/src/convert/strtoint.h
|
||||
./templates.o: ../../../../pikotools/src/convert/text.h
|
||||
./templates.o: ../../../../pikotools/src/convert/misc.h
|
||||
./templates.o: ../../../../pikotools/src/textstream/types.h
|
||||
./templates.o: ../../../../pikotools/src/convert/double.h
|
||||
./templates.o: ../../../../winix/winixd/core/error.h
|
||||
./templates.o: ../../../../winix/winixd/models/group.h
|
||||
./templates.o: ../../../../winix/winixd/core/dircontainer.h
|
||||
./templates.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./templates.o: ../../../../winix/winixd/core/mountparser.h
|
||||
./templates.o: ../../../../winix/winixd/core/winixmodeldeprecated.h
|
||||
./templates.o: ../../../../winix/winixd/requestjobs/requestjobbase.h
|
||||
./templates.o: ../../../../winix/winixd/core/winixmodeldeprecated.h
|
||||
./templates.o: ../../../../winix/winixd/core/request.h
|
||||
./templates.o: ../../../../winix/winixd/core/requesttypes.h
|
||||
./templates.o: ../../../../winix/winixd/core/config.h
|
||||
./templates.o: ../../../../winix/winixd/models/winixmodel.h
|
||||
./templates.o: ../../../../winix/winixd/core/header.h
|
||||
|
@ -673,6 +691,7 @@
|
|||
./templates.o: ../../../../winix/winixd/core/run.h
|
||||
./templates.o: ../../../../winix/winixd/core/users.h
|
||||
./templates.o: ../../../../winix/winixd/core/groups.h
|
||||
./templates.o: ../../../../winix/winixd/models/group.h
|
||||
./templates.o: ../../../../winix/winixd/core/ugcontainer.h
|
||||
./templates.o: ../../../../winix/winixd/core/image.h
|
||||
./templates.o: ../../../../winix/winixd/core/threadmanager.h
|
||||
|
@ -696,6 +715,46 @@
|
|||
./templates.o: ../../../../pikotools/src/html/htmlparser.h
|
||||
./templates.o: ../../../../winix/winixd/core/winixrequest.h
|
||||
./templates.o: ../../../../winix/winixd/core/winixsystem.h
|
||||
./templates.o: ../../../../winix/winixd/core/slog.h
|
||||
./templates.o: ../../../../winix/winixd/core/plugin.h
|
||||
./templates.o: ../../../../winix/winixd/core/misc.h registermail_info.h
|
||||
./templates.o: ../../../../winix/winixd/core/misc.h
|
||||
./templates.o: ../../../../winix/winixd/core/winix_const.h
|
||||
./templates.o: ../../../../pikotools/src/convert/convert.h
|
||||
./templates.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./templates.o: ../../../../pikotools/src/convert/patternreplacer.h
|
||||
./templates.o: ../../../../pikotools/src/convert/double.h registermail_info.h
|
||||
./templates.o: registermail.h
|
||||
./registermail.o: registermail.h ../../../../morm/src/model.h
|
||||
./registermail.o: ../../../../pikotools/src/textstream/textstream.h
|
||||
./registermail.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./registermail.o: ../../../../pikotools/src/space/space.h
|
||||
./registermail.o: ../../../../pikotools/src/convert/inttostr.h
|
||||
./registermail.o: ../../../../pikotools/src/convert/misc.h
|
||||
./registermail.o: ../../../../pikotools/src/textstream/stream.h
|
||||
./registermail.o: ../../../../pikotools/src/utf8/utf8.h
|
||||
./registermail.o: ../../../../pikotools/src/date/date.h
|
||||
./registermail.o: ../../../../pikotools/src/membuffer/membuffer.h
|
||||
./registermail.o: ../../../../pikotools/src/textstream/types.h
|
||||
./registermail.o: ../../../../pikotools/src/textstream/stream_private.h
|
||||
./registermail.o: ../../../../morm/src/modelconnector.h
|
||||
./registermail.o: ../../../../morm/src/clearer.h ../../../../morm/src/ft.h
|
||||
./registermail.o: ../../../../morm/src/dbconnector.h
|
||||
./registermail.o: ../../../../pikotools/src/log/log.h
|
||||
./registermail.o: ../../../../pikotools/src/log/filelog.h
|
||||
./registermail.o: ../../../../morm/src/queryresult.h
|
||||
./registermail.o: ../../../../morm/src/flatconnector.h
|
||||
./registermail.o: ../../../../morm/src/export.h
|
||||
./registermail.o: ../../../../morm/src/dbexpression.h
|
||||
./registermail.o: ../../../../morm/src/baseexpression.h
|
||||
./registermail.o: ../../../../morm/src/morm_types.h
|
||||
./registermail.o: ../../../../morm/src/modelenv.h
|
||||
./registermail.o: ../../../../morm/src/modeldata.h
|
||||
./registermail.o: ../../../../morm/src/cursorhelper.h
|
||||
./registermail.o: ../../../../morm/src/finderhelper.h
|
||||
./registermail.o: ../../../../morm/src/fieldvaluehelper.h
|
||||
./registermail.o: ../../../../morm/src/wrapper.h
|
||||
./registermail.o: ../../../../morm/src/spacewrapper.h
|
||||
./registermail.o: ../../../../morm/src/baseobjectwrapper.h
|
||||
./registermail.o: ../../../../morm/src/modelcontainerwrapper.h
|
||||
./registermail.o: ../../../../morm/src/select.h
|
||||
./registermail.o: ../../../../morm/src/flatexpression.h
|
||||
./registermail.o: ../../../../ezc/src/funinfo.h ../../../../ezc/src/item.h
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
*/
|
||||
|
||||
/*
|
||||
* Copyright (c) 2016, Tomasz Sowa
|
||||
* Copyright (c) 2016-2024, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
|
@ -33,6 +33,7 @@
|
|||
*/
|
||||
|
||||
#include "funregistermail.h"
|
||||
#include "core/misc.h"
|
||||
|
||||
namespace Winix
|
||||
{
|
||||
|
@ -89,14 +90,14 @@ void FunRegisterMail::MakeGet()
|
|||
if( ValidateEmail(mail) )
|
||||
{
|
||||
log << log3 << "RM: registering e-mail address: " << mail << logend;
|
||||
slog << loginfo << "Thank you, your e-mail address has been added to our list" << logend;
|
||||
//slog << loginfo << "Thank you, your e-mail address has been added to our list" << logend;
|
||||
|
||||
pmdb->AddMail(list_id, mail);
|
||||
pmdb->AddMail(model_connector, list_id, mail);
|
||||
}
|
||||
else
|
||||
{
|
||||
log << log2 << "RM: email: " << mail << " doesn't seem to be correct (skipping)" << logend;
|
||||
slog << logerror << "Sorry but the e-mail address: " << mail << " doesn't seem to be correct" << logend;
|
||||
//slog << logerror << "Sorry but the e-mail address: " << mail << " doesn't seem to be correct" << logend;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue