renamed: WinixModel -> WinixModelDeprecated (this class will be removed)
added: WinixModel (models/winixmodel.h|cpp) - a class inheriting from morm::WinixModel, we have methods such as: get_config(), get_logger(), get_request() and this class will be a base class for our models added: WinixModelConnector (models/winixmodelconnector.h|cpp) - a class inheriting from morm::WinixModelConnector this connector we are using instead of morm::ModelConnector - there are pointers to winix objects there (config, request, log) added to Request: Ezc::Models models removed from TemplatesFunctions: Ezc::Models ezc_models; changed: ImgCrop winix functions is using its own item_tab vector now (not finished yet) added: Item::is(), Item::link(), ItemContent::print_content()
This commit is contained in:
@@ -35,7 +35,8 @@
|
||||
#include "models/itemcontent.h"
|
||||
#include "core/crypt.h"
|
||||
#include "core/misc.h"
|
||||
|
||||
#include "templates/misc.h"
|
||||
#include "core/bbcodeparser.h"
|
||||
|
||||
|
||||
namespace Winix
|
||||
@@ -81,6 +82,8 @@ void ItemContent::fields()
|
||||
field(L"meta", meta);
|
||||
field(L"meta_admin", meta_admin);
|
||||
|
||||
field(L"print_content", &ItemContent::print_content);
|
||||
|
||||
content_raw_type = static_cast<ContentType>(content_raw_type_helper);
|
||||
content_parsed_type = static_cast<ContentType>(content_parsed_type_helper);
|
||||
}
|
||||
@@ -166,6 +169,51 @@ bool ItemContent::CanContentBeHtmlFiltered()
|
||||
|
||||
|
||||
|
||||
|
||||
void ItemContent::print_content(HtmlTextStream & out, const std::wstring & content, ItemContent::ContentType content_type, bool is_html_filter_on)
|
||||
{
|
||||
using TemplatesFunctions::R;
|
||||
|
||||
if( is_html_filter_on && !ItemContent::CanContentBeHtmlFiltered(content_type) )
|
||||
out << R("<nofilter>");
|
||||
|
||||
if( content_type == ItemContent::ct_text )
|
||||
{
|
||||
out << content;
|
||||
}
|
||||
else
|
||||
if( content_type == ItemContent::ct_formatted_text )
|
||||
{
|
||||
TemplatesFunctions::HtmlEscapeFormTxt(out, content);
|
||||
}
|
||||
else
|
||||
if( content_type == ItemContent::ct_bbcode )
|
||||
{
|
||||
static std::wstring out_temp;
|
||||
out_temp.clear();
|
||||
out_temp.reserve(content.size()*2);
|
||||
|
||||
BBCODEParser bbcode_parser; // IMPROVE ME move me to a better place
|
||||
bbcode_parser.Filter(content.c_str(), out_temp);
|
||||
out << R(out_temp);
|
||||
}
|
||||
else
|
||||
{
|
||||
// ct_html, ct_other
|
||||
out << R(content);
|
||||
}
|
||||
|
||||
if( is_html_filter_on && !ItemContent::CanContentBeHtmlFiltered(content_type) )
|
||||
out << R("</nofilter>");
|
||||
}
|
||||
|
||||
|
||||
void ItemContent::print_content(Ezc::FunInfo<HtmlTextStream> & env)
|
||||
{
|
||||
print_content(env.out, content_raw, content_raw_type, true); // IMPROVE ME get the 'true' from the config (config->html_filter)
|
||||
}
|
||||
|
||||
|
||||
bool ItemContent::do_migration(int & current_table_version)
|
||||
{
|
||||
bool ok = true;
|
||||
|
Reference in New Issue
Block a user