the first part of reimplementing has been done

now we have app object and singletons are only: log logn plugin and app



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@628 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2010-08-10 16:12:50 +00:00
parent 6897192364
commit 217cf1420b
191 changed files with 9529 additions and 7250 deletions

View File

@@ -9,7 +9,6 @@
#include "templates.h"
#include "misc.h"
#include "../core/data.h"
#include "../core/request.h"
#include "../core/misc.h"
#include "../core/bbcodeparser.h"
@@ -45,41 +44,41 @@ void print_user_name(Info & i, const User * puser, const std::string & guest_nam
void item_is(Info & i)
{
i.res = request.is_item;
i.res = request->is_item;
}
void item_id(Info & i)
{
i.out << request.item.id;
i.out << request->item.id;
}
void item_subject(Info & i)
{
HtmlEscape(i.out, request.item.subject);
HtmlEscape(i.out, request->item.subject);
}
void item_subject_noescape(Info & i)
{
i.out << request.item.subject;
i.out << request->item.subject;
}
void item_content(Info & i)
{
HtmlEscape(i.out, request.item.content);
HtmlEscape(i.out, request->item.content);
}
void item_content_noescape(Info & i)
{
i.out << request.item.content;
i.out << request->item.content;
}
@@ -87,19 +86,19 @@ void item_content_type_is(Info & i)
{
i.res = false;
if( request.item.content_type == Item::ct_text && i.par == "text" )
if( request->item.content_type == Item::ct_text && i.par == "text" )
i.res = true;
if( request.item.content_type == Item::ct_formatted_text && i.par == "formatted text" )
if( request->item.content_type == Item::ct_formatted_text && i.par == "formatted text" )
i.res = true;
if( request.item.content_type == Item::ct_html && i.par == "html" )
if( request->item.content_type == Item::ct_html && i.par == "html" )
i.res = true;
if( request.item.content_type == Item::ct_bbcode && i.par == "bbcode" )
if( request->item.content_type == Item::ct_bbcode && i.par == "bbcode" )
i.res = true;
if( request.item.content_type == Item::ct_raw && i.par == "raw" )
if( request->item.content_type == Item::ct_raw && i.par == "raw" )
i.res = true;
}
@@ -136,19 +135,19 @@ void item_print_content(std::ostringstream & out, const std::string & content, I
void item_content_is_empty(Info & i)
{
i.res = request.item.content.empty();
i.res = request->item.content.empty();
}
void item_print_content(Info & i)
{
item_print_content(i.out, request.item.content, request.item.content_type);
item_print_content(i.out, request->item.content, request->item.content_type);
}
void item_privileges(Info & i)
{
i.out << std::setbase(8) << request.item.privileges << std::setbase(10);
i.out << std::setbase(8) << request->item.privileges << std::setbase(10);
}
@@ -160,22 +159,22 @@ void item_dir(Info & i)
void item_url(Info & i)
{
HtmlEscape(i.out, request.item.url);
HtmlEscape(i.out, request->item.url);
}
void item_url_is(Info & i)
{
if( !request.is_item )
if( !request->is_item )
return; // default false
i.res = (request.item.url == i.par);
i.res = (request->item.url == i.par);
}
void item_link(Info & i)
{
HtmlEscape(i.out, data.base_url);
HtmlEscape(i.out, config->base_url);
item_dir(i);
item_url(i);
}
@@ -185,31 +184,33 @@ void item_link(Info & i)
void item_auth_is_none(Info & i)
{
i.res = request.item.auth == Item::auth_none;
i.res = request->item.auth == Item::auth_none;
}
void item_auth_is_image(Info & i)
{
i.res = request.item.auth == Item::auth_image;
i.res = request->item.auth == Item::auth_image;
}
void item_can_read(Info & i)
{
i.res = request.HasReadAccess(request.item);
i.res = system->HasReadAccess(request->item);
}
void item_can_write(Info & i)
{
i.res = request.HasWriteAccess(request.item);
i.res = system->HasWriteAccess(request->item);
}
void item_can_remove(Info & i)
{
i.res = request.CanRemove(request.item);
// !! tutaj trzeba bedzie cos innego zrobic
// zwlaszcza jak dojdzie sticky bit
i.res = system->HasWriteAccess(*request->dir_table.back());
}
@@ -218,35 +219,35 @@ void item_info(Info & i)
if( static_cast<size_t>(locale.GetLang()) >= patterns.size() )
return;
Ezc::Generator gen(i.out, patterns[locale.GetLang()][pat_item_info], functions);
Ezc::Generator gen(i.out, patterns[locale.GetLang()][pat_item_info], ezc_functions);
gen.Generate();
}
void item_user(Info & i)
{
User * puser = data.users.GetUser(request.item.user_id);
print_user_name(i, puser, request.item.guest_name);
User * puser = system->users.GetUser(request->item.user_id);
print_user_name(i, puser, request->item.guest_name);
}
void item_modification_user(Info & i)
{
User * puser = data.users.GetUser(request.item.modification_user_id);
print_user_name(i, puser, request.item.guest_name);
User * puser = system->users.GetUser(request->item.modification_user_id);
print_user_name(i, puser, request->item.guest_name);
}
void item_users_different(Info & i)
{
i.res = (request.item.user_id != request.item.modification_user_id);
i.res = (request->item.user_id != request->item.modification_user_id);
}
void item_date_creation(Info & i)
{
tm * ptm = &request.item.date_creation;
tm * ptm = &request->item.date_creation;
i.out << DateToStr(ptm->tm_year + 1900, ptm->tm_mon + 1, ptm->tm_mday, ptm->tm_hour, ptm->tm_min, ptm->tm_sec);
}
@@ -254,7 +255,7 @@ void item_date_creation(Info & i)
void item_date_modification(Info & i)
{
tm * ptm = &request.item.date_modification;
tm * ptm = &request->item.date_modification;
i.out << DateToStr(ptm->tm_year + 1900, ptm->tm_mon + 1, ptm->tm_mday, ptm->tm_hour, ptm->tm_min, ptm->tm_sec);
}
@@ -262,22 +263,22 @@ void item_date_modification(Info & i)
void item_date_creation_nice(Info & i)
{
tm * ptm = &request.item.date_creation;
tm * ptm = &request->item.date_creation;
print_date_nice(i, ptm);
}
void item_date_modification_nice(Info & i)
{
tm * ptm = &request.item.date_modification;
tm * ptm = &request->item.date_modification;
print_date_nice(i, ptm);
}
void item_dates_equal(Info & i)
{
tm * ptm1 = &request.item.date_creation;
tm * ptm2 = &request.item.date_modification;
tm * ptm1 = &request->item.date_creation;
tm * ptm2 = &request->item.date_modification;
i.res = ptm1->tm_year == ptm2->tm_year &&
ptm1->tm_mon == ptm2->tm_mon &&
@@ -291,31 +292,31 @@ void item_dates_equal(Info & i)
void item_run(Info & i)
{
if( !request.is_item )
if( !request->is_item )
{
i.out << "<!-- there is no an item to run -->";
return;
}
if( !request.HasReadExecAccess(request.item) )
if( !system->HasReadExecAccess(request->item) )
{
i.out << "<!-- run: permission denied -->";
return;
}
Ezc::Pattern * p = pattern_cacher.GetPattern(request.item);
Ezc::Pattern * p = pattern_cacher.GetPattern(request->item);
std::ostringstream item_run_content;
Ezc::Generator gen(item_run_content, *p, functions);
Ezc::Generator gen(item_run_content, *p, ezc_functions);
gen.Generate();
item_print_content(i.out, item_run_content.str(), request.item.content_type);
item_print_content(i.out, item_run_content.str(), request->item.content_type);
}
void item_guest_name(Info & i)
{
HtmlEscape(i.out, request.item.guest_name);
HtmlEscape(i.out, request->item.guest_name);
}
@@ -330,51 +331,51 @@ static size_t item_index;
void item_tab(Info & i)
{
item_index = i.iter;
i.res = item_index < request.item_table.size();
i.res = item_index < request->item_table.size();
}
void item_tab_id(Info & i)
{
if( item_index < request.item_table.size() )
i.out << request.item_table[item_index].id;
if( item_index < request->item_table.size() )
i.out << request->item_table[item_index].id;
}
void item_tab_subject(Info & i)
{
if( item_index < request.item_table.size() )
HtmlEscape(i.out, request.item_table[item_index].subject);
if( item_index < request->item_table.size() )
HtmlEscape(i.out, request->item_table[item_index].subject);
}
void item_tab_subject_noescape(Info & i)
{
if( item_index < request.item_table.size() )
i.out << request.item_table[item_index].subject;
if( item_index < request->item_table.size() )
i.out << request->item_table[item_index].subject;
}
void item_tab_content(Info & i)
{
if( item_index < request.item_table.size() )
HtmlEscape(i.out, request.item_table[item_index].content);
if( item_index < request->item_table.size() )
HtmlEscape(i.out, request->item_table[item_index].content);
}
void item_tab_content_noescape(Info & i)
{
if( item_index < request.item_table.size() )
i.out << request.item_table[item_index].content;
if( item_index < request->item_table.size() )
i.out << request->item_table[item_index].content;
}
void item_tab_print_content(Info & i)
{
if( item_index >= request.item_table.size() )
if( item_index >= request->item_table.size() )
return;
std::string & content = request.item_table[item_index].content;
Item::ContentType type = request.item_table[item_index].content_type;
std::string & content = request->item_table[item_index].content;
Item::ContentType type = request->item_table[item_index].content_type;
item_print_content(i.out, content, type);
}
@@ -382,19 +383,19 @@ void item_tab_print_content(Info & i)
void item_tab_privileges(Info & i)
{
if( item_index < request.item_table.size() )
i.out << "0" << std::setbase(8) << request.item_table[item_index].privileges << std::setbase(10);
if( item_index < request->item_table.size() )
i.out << "0" << std::setbase(8) << request->item_table[item_index].privileges << std::setbase(10);
}
void item_tab_dir(Info & i)
{
if( item_index < request.item_table.size() )
if( item_index < request->item_table.size() )
{
std::string path;
if( data.dirs.MakePath(request.item_table[item_index].parent_id, path) )
if( system->dirs.MakePath(request->item_table[item_index].parent_id, path) )
HtmlEscape(i.out, path);
else
i.out << "/the path does not exist/";
@@ -404,16 +405,16 @@ void item_tab_dir(Info & i)
void item_tab_url(Info & i)
{
if( item_index < request.item_table.size() )
HtmlEscape(i.out, request.item_table[item_index].url);
if( item_index < request->item_table.size() )
HtmlEscape(i.out, request->item_table[item_index].url);
}
void item_tab_link(Info & i)
{
if( item_index < request.item_table.size() )
if( item_index < request->item_table.size() )
{
HtmlEscape(i.out, data.base_url);
HtmlEscape(i.out, config->base_url);
item_tab_dir(i);
item_tab_url(i);
}
@@ -422,9 +423,9 @@ void item_tab_link(Info & i)
void item_tab_link_auth(Info & i)
{
if( item_index < request.item_table.size() )
if( item_index < request->item_table.size() )
{
HtmlEscape(i.out, data.base_url_auth);
HtmlEscape(i.out, config->base_url_auth);
item_tab_dir(i);
item_tab_url(i);
}
@@ -433,9 +434,9 @@ void item_tab_link_auth(Info & i)
void item_tab_can_read(Info & i)
{
if( item_index < request.item_table.size() )
if( item_index < request->item_table.size() )
{
if( request.HasReadAccess(request.item_table[item_index]) )
if( system->HasReadAccess(request->item_table[item_index]) )
i.res = true;
}
}
@@ -443,9 +444,9 @@ void item_tab_can_read(Info & i)
void item_tab_can_write(Info & i)
{
if( item_index < request.item_table.size() )
if( item_index < request->item_table.size() )
{
if( request.HasWriteAccess(request.item_table[item_index]) )
if( system->HasWriteAccess(request->item_table[item_index]) )
i.res = true;
}
}
@@ -456,17 +457,17 @@ void item_tab_info(Info & i)
if( static_cast<size_t>(locale.GetLang()) >= patterns.size() )
return;
Ezc::Generator gen(i.out, patterns[locale.GetLang()][pat_item_tab_info], functions);
Ezc::Generator gen(i.out, patterns[locale.GetLang()][pat_item_tab_info], ezc_functions);
gen.Generate();
}
void item_tab_user(Info & i)
{
if( item_index < request.item_table.size() )
if( item_index < request->item_table.size() )
{
User * puser = data.users.GetUser(request.item_table[item_index].user_id);
print_user_name(i, puser, request.item_table[item_index].guest_name);
User * puser = system->users.GetUser(request->item_table[item_index].user_id);
print_user_name(i, puser, request->item_table[item_index].guest_name);
}
}
@@ -474,10 +475,10 @@ void item_tab_user(Info & i)
void item_tab_modification_user(Info & i)
{
if( item_index < request.item_table.size() )
if( item_index < request->item_table.size() )
{
User * puser = data.users.GetUser(request.item_table[item_index].modification_user_id);
print_user_name(i, puser, request.item_table[item_index].guest_name);
User * puser = system->users.GetUser(request->item_table[item_index].modification_user_id);
print_user_name(i, puser, request->item_table[item_index].guest_name);
}
}
@@ -485,9 +486,9 @@ void item_tab_modification_user(Info & i)
void item_tab_users_different(Info & i)
{
if( item_index < request.item_table.size() )
if( item_index < request->item_table.size() )
{
i.res = (request.item_table[item_index].user_id != request.item_table[item_index].modification_user_id);
i.res = (request->item_table[item_index].user_id != request->item_table[item_index].modification_user_id);
}
}
@@ -495,10 +496,10 @@ void item_tab_users_different(Info & i)
void item_tab_group(Info & i)
{
if( item_index < request.item_table.size() )
if( item_index < request->item_table.size() )
{
long group_id = request.item_table[item_index].group_id;
Group * pgroup = data.groups.GetGroup(group_id);
long group_id = request->item_table[item_index].group_id;
Group * pgroup = system->groups.GetGroup(group_id);
if( pgroup )
HtmlEscape(i.out, pgroup->name);
@@ -510,9 +511,9 @@ void item_tab_group(Info & i)
void item_tab_date_creation(Info & i)
{
if( item_index < request.item_table.size() )
if( item_index < request->item_table.size() )
{
tm * ptm = &request.item_table[item_index].date_creation;
tm * ptm = &request->item_table[item_index].date_creation;
i.out << DateToStr(ptm->tm_year + 1900, ptm->tm_mon + 1, ptm->tm_mday, ptm->tm_hour, ptm->tm_min, ptm->tm_sec);
}
@@ -521,9 +522,9 @@ void item_tab_date_creation(Info & i)
void item_tab_date_modification(Info & i)
{
if( item_index < request.item_table.size() )
if( item_index < request->item_table.size() )
{
tm * ptm = &request.item_table[item_index].date_modification;
tm * ptm = &request->item_table[item_index].date_modification;
i.out << DateToStr(ptm->tm_year + 1900, ptm->tm_mon + 1, ptm->tm_mday, ptm->tm_hour, ptm->tm_min, ptm->tm_sec);
}
@@ -532,9 +533,9 @@ void item_tab_date_modification(Info & i)
void item_tab_date_creation_nice(Info & i)
{
if( item_index < request.item_table.size() )
if( item_index < request->item_table.size() )
{
tm * ptm = &request.item_table[item_index].date_creation;
tm * ptm = &request->item_table[item_index].date_creation;
print_date_nice(i, ptm);
}
}
@@ -543,9 +544,9 @@ void item_tab_date_creation_nice(Info & i)
void item_tab_date_modification_nice(Info & i)
{
if( item_index < request.item_table.size() )
if( item_index < request->item_table.size() )
{
tm * ptm = &request.item_table[item_index].date_modification;
tm * ptm = &request->item_table[item_index].date_modification;
print_date_nice(i, ptm);
}
}
@@ -553,10 +554,10 @@ void item_tab_date_modification_nice(Info & i)
void item_tab_dates_equal(Info & i)
{
if( item_index < request.item_table.size() )
if( item_index < request->item_table.size() )
{
tm * ptm1 = &request.item_table[item_index].date_creation;
tm * ptm2 = &request.item_table[item_index].date_modification;
tm * ptm1 = &request->item_table[item_index].date_creation;
tm * ptm2 = &request->item_table[item_index].date_modification;
i.res = ptm1->tm_year == ptm2->tm_year &&
ptm1->tm_mon == ptm2->tm_mon &&
@@ -570,16 +571,16 @@ void item_tab_dates_equal(Info & i)
void item_tab_run(Info & i)
{
if( item_index < request.item_table.size() )
if( item_index < request->item_table.size() )
{
if( !request.HasReadExecAccess(request.item) )
if( !system->HasReadExecAccess(request->item) )
{
i.out << "<!-- run: permission denied -->";
return;
}
Ezc::Pattern * p = pattern_cacher.GetPattern(request.item_table[item_index]);
Ezc::Generator gen(i.out, *p, functions);
Ezc::Pattern * p = pattern_cacher.GetPattern(request->item_table[item_index]);
Ezc::Generator gen(i.out, *p, ezc_functions);
gen.Generate();
}
}
@@ -587,9 +588,10 @@ void item_tab_run(Info & i)
void item_tab_can_use_emacs(Info & i)
{
if( item_index < request.item_table.size() )
if( item_index < request->item_table.size() )
{
i.res = request.CanUseEmacs(request.item_table[item_index], true);
// !!
//i.res = request->CanUseEmacs(request->item_table[item_index], true);
}
}