added a special thread for making thumbnails (thumb.h thumb.cpp)

git-svn-id: svn://ttmath.org/publicrep/winix/trunk@700 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
Tomasz Sowa 2010-12-11 22:55:48 +00:00
parent e854fe3681
commit 5d09eb149c
39 changed files with 706 additions and 289 deletions

View File

@ -5,7 +5,7 @@ CXX = g++
endif
ifndef CXXFLAGS
CXXFLAGS = -fPIC -Wall -O2 -I/usr/local/include -I/home/tomek/roboczy/winix -I/home/tomek/roboczy/ezc/src -L/usr/local/lib -I/usr/local/include/ImageMagick -DEZC_USE_WINIX_LOGGER
CXXFLAGS = -fPIC -Wall -pedantic -O2 -I/usr/local/include -I/home/tomek/roboczy/winix -I/home/tomek/roboczy/ezc/src -L/usr/local/lib -DEZC_USE_WINIX_LOGGER
endif
@ -28,7 +28,7 @@ winix: FORCE
@cd plugins/stats ; $(MAKE) -e
@cd plugins/ticket ; $(MAKE) -e
@cd ../ezc/src ; $(MAKE) -e
$(CXX) -shared -o winix.so $(CXXFLAGS) core/*.o db/*.o functions/*.o templates/*.o notify/*.o ../ezc/src/ezc.a -lfcgi -lpq -lz -lpthread -lfetch `MagickWand-config --ldflags --libs`
$(CXX) -shared -o winix.so $(CXXFLAGS) core/*.o db/*.o functions/*.o templates/*.o notify/*.o ../ezc/src/ezc.a -lfcgi -lpq -lz -lpthread -lfetch
@cd main ; $(MAKE) -e
# use the full path with winix.so
$(CXX) -o winix $(CXXFLAGS) main/*.o /home/tomek/roboczy/winix/winix.so

View File

@ -17,10 +17,10 @@ app.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
app.o: ../notify/notifythread.h ../core/basethread.h synchro.h
app.o: ../notify/templatesnotify.h ../core/config.h ../core/users.h
app.o: ugcontainer.h lastcontainer.h mounts.h mount.h mountparser.h users.h
app.o: groups.h group.h loadavg.h sessionmanager.h sessioncontainer.h
app.o: basethread.h ../functions/functions.h ../functions/functionbase.h
app.o: ../core/request.h ../core/system.h ../core/synchro.h
app.o: ../functions/functionparser.h ../functions/adduser.h
app.o: groups.h group.h loadavg.h thumb.h basethread.h sessionmanager.h
app.o: sessioncontainer.h ../functions/functions.h
app.o: ../functions/functionbase.h ../core/request.h ../core/system.h
app.o: ../core/synchro.h ../functions/functionparser.h ../functions/adduser.h
app.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
app.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
app.o: ../functions/createthread.h ../functions/default.h
@ -59,7 +59,7 @@ config.o: ../templates/htmltextstream.h ../notify/notifythread.h
config.o: ../core/basethread.h synchro.h ../notify/templatesnotify.h
config.o: ../core/config.h ../core/users.h ugcontainer.h lastcontainer.h
config.o: mounts.h mount.h mountparser.h users.h groups.h group.h loadavg.h
config.o: sessionmanager.h sessioncontainer.h basethread.h
config.o: thumb.h basethread.h sessionmanager.h sessioncontainer.h
config.o: ../functions/functions.h ../functions/functionbase.h
config.o: ../core/request.h ../core/system.h ../core/synchro.h
config.o: ../functions/functionparser.h ../functions/adduser.h
@ -157,12 +157,13 @@ mounts.o: ../templates/htmltextstream.h ../notify/notifythread.h
mounts.o: ../core/basethread.h synchro.h ../notify/templatesnotify.h
mounts.o: ../core/config.h ../core/users.h ugcontainer.h lastcontainer.h
mounts.o: mountparser.h plugin.h pluginmsg.h system.h users.h groups.h
mounts.o: group.h loadavg.h sessionmanager.h sessioncontainer.h basethread.h
mounts.o: ../functions/functions.h ../functions/functionbase.h
mounts.o: ../core/request.h ../core/system.h ../core/synchro.h
mounts.o: ../functions/functionparser.h ../functions/adduser.h
mounts.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
mounts.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
mounts.o: group.h loadavg.h thumb.h basethread.h sessionmanager.h
mounts.o: sessioncontainer.h ../functions/functions.h
mounts.o: ../functions/functionbase.h ../core/request.h ../core/system.h
mounts.o: ../core/synchro.h ../functions/functionparser.h
mounts.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
mounts.o: ../functions/privchanger.h ../functions/chown.h
mounts.o: ../functions/ckeditor.h ../functions/cp.h
mounts.o: ../functions/createthread.h ../functions/default.h
mounts.o: ../functions/download.h ../functions/emacs.h ../functions/last.h
mounts.o: ../functions/login.h ../functions/logout.h ../functions/ls.h
@ -194,7 +195,7 @@ plugin.o: ../templates/htmltextstream.h ../notify/notifythread.h
plugin.o: ../core/basethread.h synchro.h ../notify/templatesnotify.h
plugin.o: ../core/config.h ../core/users.h ugcontainer.h lastcontainer.h
plugin.o: mounts.h mount.h mountparser.h users.h groups.h group.h loadavg.h
plugin.o: sessionmanager.h sessioncontainer.h basethread.h
plugin.o: thumb.h basethread.h sessionmanager.h sessioncontainer.h
plugin.o: ../functions/functions.h ../functions/functionbase.h
plugin.o: ../core/request.h ../core/system.h ../core/synchro.h
plugin.o: ../functions/functionparser.h ../functions/adduser.h
@ -231,8 +232,8 @@ plugindata.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
plugindata.o: ../notify/notifythread.h ../core/basethread.h synchro.h
plugindata.o: ../notify/templatesnotify.h ../core/config.h ../core/users.h
plugindata.o: ugcontainer.h lastcontainer.h mounts.h mount.h mountparser.h
plugindata.o: users.h groups.h group.h loadavg.h sessionmanager.h
plugindata.o: sessioncontainer.h basethread.h ../functions/functions.h
plugindata.o: users.h groups.h group.h loadavg.h thumb.h basethread.h
plugindata.o: sessionmanager.h sessioncontainer.h ../functions/functions.h
plugindata.o: ../functions/functionbase.h ../core/request.h ../core/system.h
plugindata.o: ../core/synchro.h ../functions/functionparser.h
plugindata.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
@ -277,7 +278,7 @@ request.o: ../templates/htmltextstream.h ../notify/notifythread.h
request.o: ../core/basethread.h synchro.h ../notify/templatesnotify.h
request.o: ../core/config.h ../core/users.h ugcontainer.h lastcontainer.h
request.o: mounts.h mount.h mountparser.h users.h groups.h group.h loadavg.h
request.o: sessionmanager.h sessioncontainer.h basethread.h
request.o: thumb.h basethread.h sessionmanager.h sessioncontainer.h
request.o: ../functions/functions.h ../functions/functionbase.h
request.o: ../core/request.h ../core/system.h ../core/synchro.h
request.o: ../functions/functionparser.h ../functions/adduser.h
@ -324,7 +325,7 @@ sessionmanager.o: ../templates/htmltextstream.h ../notify/notifythread.h
sessionmanager.o: ../core/basethread.h synchro.h ../notify/templatesnotify.h
sessionmanager.o: ../core/config.h ../core/users.h ugcontainer.h mounts.h
sessionmanager.o: mount.h mountparser.h users.h groups.h group.h loadavg.h
sessionmanager.o: sessionparser.h plugin.h pluginmsg.h
sessionmanager.o: thumb.h sessionparser.h plugin.h pluginmsg.h
sessionmanager.o: ../functions/functions.h ../functions/functionbase.h
sessionmanager.o: ../core/request.h ../core/system.h ../core/synchro.h
sessionmanager.o: ../functions/functionparser.h ../functions/adduser.h
@ -370,10 +371,16 @@ system.o: ../../ezc/src/stringconv.h ../templates/htmltextstream.h
system.o: ../notify/notifythread.h ../core/basethread.h synchro.h
system.o: ../notify/templatesnotify.h ../core/config.h ../core/users.h
system.o: ugcontainer.h lastcontainer.h mounts.h mount.h mountparser.h
system.o: users.h groups.h group.h loadavg.h ../templates/templates.h
system.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
system.o: ../core/httpsimpleparser.h ../core/log.h
system.o: ../templates/indexpatterns.h ../core/request.h ../core/system.h
system.o: ../core/sessionmanager.h
system.o: users.h groups.h group.h loadavg.h thumb.h basethread.h
system.o: ../templates/templates.h ../templates/patterncacher.h
system.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
system.o: ../core/log.h ../templates/indexpatterns.h ../core/request.h
system.o: ../core/system.h ../core/sessionmanager.h
textstream.o: textstream.h misc.h item.h
thumb.o: thumb.h basethread.h textstream.h ../db/db.h ../db/dbbase.h
thumb.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h misc.h
thumb.o: item.h ../core/error.h log.h ../db/dbitemquery.h ../core/item.h
thumb.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h
thumb.o: ../core/thread.h ../core/dircontainer.h ../core/ugcontainer.h
thumb.o: ../../ezc/src/utf8.h
users.o: users.h

View File

@ -1 +1 @@
o = acceptbaseparser.o app.o basethread.o bbcodeparser.o compress.o config.o confparser.o dircontainer.o dirs.o groups.o htmlfilter.o httpsimpleparser.o item.o lastcontainer.o loadavg.o log.o misc.o mount.o mountparser.o mounts.o plugin.o plugindata.o postmultiparser.o rebus.o request.o session.o sessioncontainer.o sessionmanager.o sessionparser.o synchro.o system.o textstream.o users.o
o = acceptbaseparser.o app.o basethread.o bbcodeparser.o compress.o config.o confparser.o dircontainer.o dirs.o groups.o htmlfilter.o httpsimpleparser.o item.o lastcontainer.o loadavg.o log.o misc.o mount.o mountparser.o mounts.o plugin.o plugindata.o postmultiparser.o rebus.o request.o session.o sessioncontainer.o sessionmanager.o sessionparser.o synchro.o system.o textstream.o thumb.o users.o

View File

@ -7,7 +7,6 @@
*
*/
#include "wand/MagickWand.h"
#include <sys/types.h>
#include <pwd.h>
#include <grp.h>
@ -147,7 +146,6 @@ bool App::Init()
session_manager.LoadSessions();
CreateStaticTree();
MagickWandGenesis();
plugin.Call(WINIX_PLUGIN_INIT);
@ -155,12 +153,6 @@ return true;
}
void App::Uninit()
{
MagickWandTerminus();
}
void App::Close()
{
@ -984,6 +976,7 @@ void App::WaitForThreads()
system.notify.WaitForThread();
session_manager.WaitForGC();
system.thumb.WaitForThread();
}
@ -1019,6 +1012,7 @@ sigset_t set;
Ezc::WideToUTF8(app->config.base_url, app->url_to_fetch_on_exit);
app->system.notify.PrepareToStopThread();
app->session_manager.PrepareToStopGC();
app->system.thumb.WakeUpThread();
app->Unlock();
// this thread will hang on this method
@ -1051,6 +1045,9 @@ sigset_t set;
// gc for sessions
session_manager.StartGC();
// thumbnails
system.thumb.StartThread();
}

View File

@ -49,7 +49,6 @@ public:
bool InitFCGI();
bool DropPrivileges();
bool Init();
void Uninit();
void Start();
void Close();
void LogUserGroups();

View File

@ -17,6 +17,7 @@ BaseThread::BaseThread() : thread_signal(PTHREAD_COND_INITIALIZER)
synchro = 0;
thread_id = 0;
work_mode = 0;
wake_up_was_called = false;
}
@ -91,6 +92,8 @@ bool BaseThread::BaseSignalReceived()
{
bool make_do = false;
wake_up_was_called = false;
try
{
make_do = SignalReceived(); // your short-time virtual method (objects are locked)
@ -119,13 +122,18 @@ void BaseThread::BaseDo()
// use it with Lock and Unlock
bool BaseThread::WaitForSignal()
{
if( synchro->was_stop_signal || wake_up_was_called )
return true;
return pthread_cond_wait(&thread_signal, &synchro->mutex) == 0;
}
// you should use this method with: synchro->Lock() and Unlock()
void BaseThread::WakeUpThread()
{
// you should use it with: synchro->Lock() and Unlock()
wake_up_was_called = true;
pthread_cond_signal(&thread_signal);
}
@ -168,7 +176,7 @@ bool make_do;
{
make_do = false;
if( !synchro->was_stop_signal && WaitForSignal() ) // automatically unlock, wait and lock again when signal comes
if( WaitForSignal() ) // automatically unlock, wait and lock again when signal comes
if( !synchro->was_stop_signal )
make_do = BaseSignalReceived(); // your short-time virtual method will be called (objects locked)

View File

@ -63,6 +63,10 @@ public:
// it's called only if Init() returned true
virtual void Uninit() {}
protected:
// signal came (work mode = 0 - default)
// signal comes when an other thread calls WakeUpThread() method
// check specific job and return true to call Do() next
@ -81,12 +85,15 @@ public:
virtual void Work() {}
protected:
Synchro * synchro;
pthread_t thread_id; // thread id - set by StartThread()
pthread_cond_t thread_signal;
int work_mode;
bool wake_up_was_called;
void SignalLoop();
static void * StartRoutine(void *);

View File

@ -113,9 +113,11 @@ void Config::AssignValues(bool stdout_is_closed)
upload_dir = Text(L"upload_dir");
upload_dirs_chmod = Int(L"upload_dirs_chmod", 0750);
upload_files_chmod = Int(L"upload_files_chmod", 0640);
create_thumb = Bool(L"create_thumb", false); // !! will be true
create_thumb = Bool(L"create_thumb", true);
thumb_mode = Int(L"thumb_mode", 2);
thumb_cx = Size(L"thumb_cx", 150);
thumb_cy = Size(L"thumb_cy", 150);
convert_cmd = Text(L"convert_cmd", L"/usr/local/bin/convert");
templates_dir = Text(L"templates_dir");
templates_dir_default = Text(L"templates_dir_default");

View File

@ -198,9 +198,21 @@ public:
int upload_files_chmod;
// create a thumbnail from an image
// default: false (!!will be true)
// default: true
bool create_thumb;
// the mode of creating a thumbnail
// width means thumb_cx, height means thumb_cy
// 1: Width given, height automagically selected to preserve aspect ratio.
// 2: Height given, width automagically selected to preserve aspect ratio.
// 3: Maximum values of height and width given, aspect ratio preserved.
// 4: Minimum values of width and height given, aspect ratio preserved.
// 5: Width and height emphatically given, original aspect ratio ignored.
// 6: Change as per widthxheight (3) but only if an image dimension exceeds a specified dimension.
// 7: Change dimensions only if both image dimensions are less than specified dimensions.
// default: 2
int thumb_mode;
// width of thumbnails
// default: 150
size_t thumb_cx;
@ -209,6 +221,10 @@ public:
// default: 150
size_t thumb_cy;
// the convert program
// default: /usr/local/bin/convert
std::wstring convert_cmd;
// locale: en, pl
// default: en
std::wstring locale_str;

View File

@ -58,6 +58,8 @@ void Item::Clear()
file_fs = -1;
file_type = WINIX_ITEM_FILETYPE_NONE;
has_thumb = false;
html_template.clear();
SetDateToNow();

View File

@ -69,28 +69,12 @@ Type type;
long default_item;
// external static file authorized by winix
/*
enum Auth
{
auth_none = 0, // there is not an external file
auth_image = 1, // png, gif, jpg - only types available to render by a web browser
auth_document = 2, // pdf doc xls txt
auth_other = 3 // other file
};
Auth auth;
std::wstring auth_path; // path to a file (if auth!=auth_none)
*/
// static file (if exists)
std::wstring file_path; // relative file path
int file_fs; // file system type where the file was saved
int file_type; // file type (none, image, doc, etc)
bool has_thumb;
std::wstring html_template;

View File

@ -903,3 +903,4 @@ tm Time(time_t par)
return res;
}

View File

@ -67,6 +67,10 @@ void System::Init()
notify.SetUsers(&users);
notify.SetDirs(&dirs);
notify.Init();
thumb.SetSynchro(synchro);
thumb.SetConvertCmd(config->convert_cmd);
thumb.SetDb(db);
}

View File

@ -21,6 +21,7 @@
#include "rebus.h"
#include "loadavg.h"
#include "synchro.h"
#include "thumb.h"
#include "notify/notify.h"
@ -52,6 +53,9 @@ public:
// notifications (by emails)
Notify notify;
// thumbnails (special thread)
Thumb thumb;
// the time when the winix starts
time_t system_start;

228
core/thumb.cpp Executable file
View File

@ -0,0 +1,228 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010, Tomasz Sowa
* All rights reserved.
*
*/
#include "thumb.h"
#include "utf8.h"
#include "log.h"
void Thumb::SetConvertCmd(const std::wstring & cmd)
{
convert_cmd = cmd;
}
void Thumb::SetDb(Db * pdb)
{
db = pdb;
}
// first thread (objects locked)
void Thumb::CreateThumb(long item_id, const std::wstring & source, const std::wstring & dst, size_t cx, size_t cy, int aspect_mode)
{
item_temp.item_id = item_id;
item_temp.source = source;
item_temp.dst = dst;
item_temp.cx = cx;
item_temp.cy = cy;
item_temp.aspect_mode = aspect_mode;
thumb_tab.insert(thumb_tab.end(), item_temp);
WakeUpThread();
}
// second thread (objects locked)
bool Thumb::SignalReceived()
{
return !thumb_tab.empty();
}
// second thread (objects not locked)
void Thumb::Do()
{
ThumbTab::iterator i;
bool end;
Lock();
i = thumb_tab.begin();
Unlock();
do
{
Lock();
if( i != thumb_tab.end() )
{
item_work = *i;
thumb_tab.erase(i++);
end = false;
}
else
{
end = true;
}
Unlock();
if( !end )
CreateThumbnail();
}
while( !end );
}
void Thumb::EscapePath(const std::string & path)
{
command << '"';
for(size_t i=0 ; i<path.size() ; ++i)
{
if( path[i] == '"' )
command << '\\';
command << path[i];
}
command << "\" ";
}
/*
from: http://www.imagemagick.org/script/command-line-processing.php#geometry
scale% Height and width both scaled by specified percentage.
scale-x%xscale-y% Height and width individually scaled by specified percentages. (Only one % symbol needed.)
width Width given, height automagically selected to preserve aspect ratio.
xheight Height given, width automagically selected to preserve aspect ratio.
widthxheight Maximum values of height and width given, aspect ratio preserved.
widthxheight^ Minimum values of width and height given, aspect ratio preserved.
widthxheight! Width and height emphatically given, original aspect ratio ignored.
widthxheight> Change as per widthxheight but only if an image dimension exceeds a specified dimension.
widthxheight< Change dimensions only if both image dimensions exceed specified dimensions.
*/
void Thumb::SelectAspect()
{
switch( item_work.aspect_mode )
{
case WINIX_THUMB_MODE_1:
command << item_work.cx;
break;
case WINIX_THUMB_MODE_3:
command << item_work.cx << "x" << item_work.cy;
break;
case WINIX_THUMB_MODE_4:
command << '"' << item_work.cx << "x" << item_work.cy << "^\"";
break;
case WINIX_THUMB_MODE_5:
command << '"' << item_work.cx << "x" << item_work.cy << "!\"";
break;
case WINIX_THUMB_MODE_6:
command << '"' << item_work.cx << "x" << item_work.cy << ">\"";
break;
case WINIX_THUMB_MODE_7:
command << '"' << item_work.cx << "x" << item_work.cy << "<\"";
break;
case WINIX_THUMB_MODE_2:
default:
command << "x" << item_work.cy;
break;
}
}
// second thread (objects are not locked)
void Thumb::CreateThumbnail()
{
command.Clear();
Ezc::WideToUTF8(convert_cmd, tempa);
command << tempa << " -quiet -strip -thumbnail ";
SelectAspect();
command << " ";
Ezc::WideToUTF8(item_work.source, tempa);
EscapePath(tempa);
Ezc::WideToUTF8(item_work.dst, tempa);
EscapePath(tempa);
if( system(command.CStr()) == 0 )
{
Lock();
log << log3 << "Thumb: created a thumbnail: " << tempa << logend;
db->EditHasThumbById(true, item_work.item_id);
Unlock();
}
else
{
Lock();
log << log3 << "Thumb: some problems with creating a thumbnail: " << tempa << logend;
Unlock();
}
}
// second thread (objects are not locked)
// !! there is a problem with GIF files
// Bus error (core dumped)
/*
#include "wand/MagickWand.h"
// compiler options:
// include: -I/usr/local/include/ImageMagick
// link with: `MagickWand-config --ldflags --libs`
void Thumb::CreateThumbnail()
{
Ezc::WideToUTF8(item_work.source, sourcea);
Ezc::WideToUTF8(item_work.dst, dsta);
MagickWandGenesis();
MagickWand * wand = NewMagickWand();
if( MagickReadImage(wand, sourcea.c_str()) )
{
MagickThumbnailImage(wand, item_work.cx, item_work.cy);
if( MagickWriteImage(wand, dsta.c_str()) )
{
Lock();
log << log3 << "Thumb: created a thumbnail: " << dsta << logend;
Unlock();
}
}
DestroyMagickWand(wand);
MagickWandTerminus();
}
*/

90
core/thumb.h Executable file
View File

@ -0,0 +1,90 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfilecmslucorethumb
#define headerfilecmslucorethumb
#include "basethread.h"
#include <string>
#include <list>
#include "textstream.h"
#include "db/db.h"
// Width given, height automagically selected to preserve aspect ratio.
#define WINIX_THUMB_MODE_1 1
// Height given, width automagically selected to preserve aspect ratio.
#define WINIX_THUMB_MODE_2 2
// Maximum values of height and width given, aspect ratio preserved.
#define WINIX_THUMB_MODE_3 3
// Minimum values of width and height given, aspect ratio preserved.
#define WINIX_THUMB_MODE_4 4
// Width and height emphatically given, original aspect ratio ignored.
#define WINIX_THUMB_MODE_5 5
// Change as per widthxheight but only if an image dimension exceeds a specified dimension.
#define WINIX_THUMB_MODE_6 6
// Change dimensions only if both image dimensions are less than specified dimensions.
#define WINIX_THUMB_MODE_7 7
class Thumb : public BaseThread
{
public:
void CreateThumb(long item_id, const std::wstring & source, const std::wstring & dst,
size_t cx, size_t cy, int aspect_mode = WINIX_THUMB_MODE_2);
void SetConvertCmd(const std::wstring & cmd);
void SetDb(Db * pdb);
private:
Db * db;
struct ThumbItem
{
long item_id;
std::wstring source;
std::wstring dst;
size_t cx;
size_t cy;
int aspect_mode;
};
// queue of thumbnails to create
typedef std::list<ThumbItem> ThumbTab;
ThumbTab thumb_tab;
ThumbItem item_temp;
// this is set before the second thread starts
std::wstring convert_cmd;
// only for second thread
ThumbItem item_work;
std::string tempa;
TextStream<std::string> command;
virtual bool SignalReceived();
virtual void Do();
void CreateThumbnail();
void SelectAspect();
void EscapePath(const std::string & path);
};
#endif

View File

@ -240,7 +240,7 @@ Error Db::AddItemIntoItem(Item & item)
query.Clear();
query << R("insert into core.item (user_id, modification_user_id, group_id, privileges, "
"date_creation, date_modification, type, parent_id, content_id, file_path, file_fs, file_type, "
"default_item, subject, guest_name, template, url) values (")
"has_thumb, default_item, subject, guest_name, template, url) values (")
<< item.user_id
<< item.modification_user_id
<< item.group_id
@ -253,6 +253,7 @@ Error Db::AddItemIntoItem(Item & item)
<< item.file_path
<< item.file_fs
<< item.file_type
<< static_cast<int>(item.has_thumb)
<< item.default_item
<< item.subject
<< item.guest_name
@ -347,7 +348,7 @@ Error Db::EditItemInItem(Item & item, bool with_url)
query.Clear();
query << R("update core.item set (user_id, modification_user_id, group_id, privileges, "
"date_creation, date_modification, type, default_item, parent_id, subject, "
"guest_name, file_path, file_fs, file_type, template");
"guest_name, file_path, file_fs, file_type, has_thumb, template");
if( with_url )
query << R(", url");
@ -367,6 +368,7 @@ Error Db::EditItemInItem(Item & item, bool with_url)
<< item.file_path
<< item.file_fs
<< item.file_type
<< static_cast<int>(item.has_thumb)
<< item.html_template;
if( with_url )
@ -628,7 +630,7 @@ PGresult * Db::GetItemsQuery(const DbItemQuery & iq, bool skip_other_sel)
if( iq.sel_url ) query << R(" ,url");
if( iq.sel_type ) query << R(" ,type");
if( iq.sel_default_item ) query << R(" ,default_item");
if( iq.sel_file ) query << R(" ,file_path, file_fs, file_type");
if( iq.sel_file ) query << R(" ,file_path, file_fs, file_type, has_thumb");
if( iq.sel_html_template ) query << R(" ,template");
}
@ -1040,7 +1042,7 @@ return result;
Error Db::EditFileById(Item & item, long id)
Error Db::EditFileById(const Item & item, long id)
{
PGresult * r = 0;
Error result = WINIX_ERR_OK;
@ -1048,10 +1050,11 @@ Error Db::EditFileById(Item & item, long id)
try
{
query.Clear();
query << R("update core.item set (file_path, file_fs, file_type) = (")
query << R("update core.item set (file_path, file_fs, file_type, has_thumb) = (")
<< item.file_path
<< item.file_fs
<< item.file_type
<< static_cast<int>(item.has_thumb)
<< R(") where id=") << id << R(";");
r = AssertQuery(query);
@ -1069,6 +1072,34 @@ return result;
Error Db::EditHasThumbById(bool has_thumb, long id)
{
PGresult * r = 0;
Error result = WINIX_ERR_OK;
try
{
query.Clear();
query << R("update core.item set (has_thumb) = (")
<< static_cast<int>(has_thumb)
<< R(") where id=") << id << R(";");
r = AssertQuery(query);
AssertResult(r, PGRES_COMMAND_OK);
}
catch(const Error & e)
{
result = e;
}
ClearResult(r);
return result;
}
Error Db::DelDirById(long id)
{
Error result = WINIX_ERR_OK;

View File

@ -63,7 +63,8 @@ public:
bool GetPriv(Item & item, long id);
Error EditPrivById(Item & item, long id);
Error EditParentUrlById(Item & item, long id);
Error EditFileById(Item & item, long id); // file_path, file_fs, file_type
Error EditFileById(const Item & item, long id); // file_path, file_fs, file_type
Error EditHasThumbById(bool has_thumb, long id);
Error DelDirById(long id);
Error EditSubjectById(Item & item, long id);

View File

@ -168,6 +168,11 @@ int DbBase::AssertValueInt(PGresult * r, int row, int col)
}
bool DbBase::AssertValueBool(PGresult * r, int row, int col)
{
return strtol( AssertValue(r, row, col), 0, 10 ) != 0;
}
unsigned long DbBase::AssertValueULong(PGresult * r, int row, int col)
{

View File

@ -41,6 +41,7 @@ public:
static void AssertValueWide(PGresult * r, int row, int col, std::wstring & result);
static long AssertValueLong(PGresult * r, int row, int col);
static int AssertValueInt(PGresult * r, int row, int col);
static bool AssertValueBool(PGresult * r, int row, int col);
static unsigned long AssertValueULong(PGresult * r, int row, int col);
static unsigned int AssertValueUInt(PGresult * r, int row, int col);
static tm AssertValueTm(PGresult * r, int row, int col);

View File

@ -35,6 +35,7 @@ void DbItemColumns::SetColumns(PGresult * r)
file_path = PQfnumber(r, "file_path");
file_fs = PQfnumber(r, "file_fs");
file_type = PQfnumber(r, "file_type");
has_thumb = PQfnumber(r, "has_thumb");
}
@ -61,6 +62,7 @@ void DbItemColumns::SetItem(PGresult * r, long row, Item & item)
if( file_path != -1 ) item.file_path = DbBase::AssertValueWide(r, row, file_path);
if( file_fs != -1 ) item.file_fs = DbBase::AssertValueInt(r, row, file_fs);
if( file_type != -1 ) item.file_type = DbBase::AssertValueInt(r, row, file_type);
if( has_thumb != -1 ) item.has_thumb = DbBase::AssertValueBool(r, row, has_thumb);
}

View File

@ -39,6 +39,7 @@ struct DbItemColumns
int file_path;
int file_fs;
int file_type;
int has_thumb;
void SetColumns(PGresult * r);
void SetItem(PGresult * r, long row, Item & item);

View File

@ -30,7 +30,7 @@ struct DbItemQuery
bool sel_url; // url
bool sel_type; // type (dir, file, none)
bool sel_default_item; // default_item
bool sel_file; // file_path, file_fs, file_type
bool sel_file; // file_path, file_fs, file_type, has_thumb
bool sel_html_template; // template
bool where_id; //

View File

@ -26,7 +26,8 @@ adduser.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
adduser.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
adduser.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
adduser.o: ../core/mountparser.h ../core/users.h ../core/groups.h
adduser.o: ../core/group.h ../core/loadavg.h ../core/synchro.h
adduser.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
adduser.o: ../core/basethread.h ../core/synchro.h
cat.o: cat.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
cat.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
cat.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -51,7 +52,8 @@ cat.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
cat.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
cat.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
cat.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
cat.o: ../core/loadavg.h ../core/synchro.h
cat.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
cat.o: ../core/synchro.h
chmod.o: chmod.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
chmod.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
chmod.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -77,7 +79,8 @@ chmod.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
chmod.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
chmod.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
chmod.o: ../core/mountparser.h ../core/users.h ../core/groups.h
chmod.o: ../core/group.h ../core/loadavg.h ../core/synchro.h
chmod.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
chmod.o: ../core/basethread.h ../core/synchro.h
chown.o: chown.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
chown.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
chown.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -103,7 +106,8 @@ chown.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
chown.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
chown.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
chown.o: ../core/mountparser.h ../core/users.h ../core/groups.h
chown.o: ../core/group.h ../core/loadavg.h ../core/synchro.h
chown.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
chown.o: ../core/basethread.h ../core/synchro.h
ckeditor.o: ckeditor.h functionbase.h ../core/item.h ../db/db.h
ckeditor.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
ckeditor.o: ../core/textstream.h ../core/misc.h ../core/item.h
@ -132,7 +136,8 @@ ckeditor.o: ../core/basethread.h ../core/synchro.h
ckeditor.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
ckeditor.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
ckeditor.o: ../core/mountparser.h ../core/users.h ../core/groups.h
ckeditor.o: ../core/group.h ../core/loadavg.h ../core/synchro.h
ckeditor.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
ckeditor.o: ../core/basethread.h ../core/synchro.h
cp.o: cp.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
cp.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h ../core/misc.h
cp.o: ../core/item.h ../core/error.h ../core/log.h ../core/textstream.h
@ -157,7 +162,8 @@ cp.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
cp.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
cp.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
cp.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
cp.o: ../core/loadavg.h ../core/synchro.h ../core/misc.h
cp.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
cp.o: ../core/synchro.h ../core/misc.h
createthread.o: createthread.h functionbase.h ../core/item.h ../db/db.h
createthread.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
createthread.o: ../core/textstream.h ../core/misc.h ../core/item.h
@ -188,7 +194,8 @@ createthread.o: ../notify/templatesnotify.h ../core/users.h
createthread.o: ../core/ugcontainer.h ../core/lastcontainer.h
createthread.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
createthread.o: ../core/users.h ../core/groups.h ../core/group.h
createthread.o: ../core/loadavg.h ../core/synchro.h
createthread.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
createthread.o: ../core/synchro.h
default.o: default.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
default.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
default.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -215,7 +222,8 @@ default.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
default.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
default.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
default.o: ../core/mountparser.h ../core/users.h ../core/groups.h
default.o: ../core/group.h ../core/loadavg.h ../core/synchro.h
default.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
default.o: ../core/basethread.h ../core/synchro.h
download.o: download.h functionbase.h ../core/item.h ../db/db.h
download.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
download.o: ../core/textstream.h ../core/misc.h ../core/item.h
@ -244,7 +252,8 @@ download.o: ../core/basethread.h ../core/synchro.h
download.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
download.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
download.o: ../core/mountparser.h ../core/users.h ../core/groups.h
download.o: ../core/group.h ../core/loadavg.h ../core/synchro.h
download.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
download.o: ../core/basethread.h ../core/synchro.h
emacs.o: emacs.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
emacs.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
emacs.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -270,11 +279,12 @@ emacs.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
emacs.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
emacs.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
emacs.o: ../core/mountparser.h ../core/users.h ../core/groups.h
emacs.o: ../core/group.h ../core/loadavg.h ../core/synchro.h
emacs.o: ../templates/templates.h ../templates/patterncacher.h
emacs.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
emacs.o: ../core/log.h ../templates/indexpatterns.h ../core/sessionmanager.h
emacs.o: ../core/sessioncontainer.h ../core/basethread.h ../core/system.h
emacs.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
emacs.o: ../core/basethread.h ../core/synchro.h ../templates/templates.h
emacs.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
emacs.o: ../core/httpsimpleparser.h ../core/log.h
emacs.o: ../templates/indexpatterns.h ../core/sessionmanager.h
emacs.o: ../core/sessioncontainer.h ../core/system.h
functionbase.o: functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
functionbase.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
functionbase.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -304,7 +314,8 @@ functionbase.o: ../notify/templatesnotify.h ../core/users.h
functionbase.o: ../core/ugcontainer.h ../core/lastcontainer.h
functionbase.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
functionbase.o: ../core/users.h ../core/groups.h ../core/group.h
functionbase.o: ../core/loadavg.h ../core/synchro.h
functionbase.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
functionbase.o: ../core/synchro.h
functionparser.o: functionparser.h ../core/request.h ../core/requesttypes.h
functionparser.o: ../core/session.h ../core/item.h ../core/error.h
functionparser.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
@ -335,7 +346,8 @@ functionparser.o: ../core/synchro.h ../notify/templatesnotify.h
functionparser.o: ../core/users.h ../core/ugcontainer.h
functionparser.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
functionparser.o: ../core/mountparser.h ../core/users.h ../core/groups.h
functionparser.o: ../core/group.h ../core/loadavg.h ../core/log.h
functionparser.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
functionparser.o: ../core/basethread.h ../core/log.h
functions.o: functions.h functionbase.h ../core/item.h ../db/db.h
functions.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
functions.o: ../core/textstream.h ../core/misc.h ../core/item.h
@ -359,15 +371,15 @@ functions.o: ../notify/templatesnotify.h ../core/users.h
functions.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
functions.o: ../core/mount.h ../core/mountparser.h ../core/users.h
functions.o: ../core/groups.h ../core/group.h ../core/loadavg.h
functions.o: ../core/synchro.h functionparser.h adduser.h cat.h chmod.h
functions.o: privchanger.h chown.h ckeditor.h cp.h createthread.h default.h
functions.o: download.h emacs.h last.h login.h logout.h ls.h mkdir.h mv.h
functions.o: node.h priv.h reload.h rm.h run.h specialdefault.h stat.h
functions.o: subject.h funthread.h template.h tinymce.h uname.h upload.h
functions.o: uptime.h who.h vim.h ../core/htmlfilter.h ../core/log.h
functions.o: ../core/misc.h ../core/plugin.h ../core/pluginmsg.h
functions.o: ../core/system.h ../core/sessionmanager.h
functions.o: ../core/sessioncontainer.h ../core/basethread.h
functions.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
functions.o: functionparser.h adduser.h cat.h chmod.h privchanger.h chown.h
functions.o: ckeditor.h cp.h createthread.h default.h download.h emacs.h
functions.o: last.h login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h
functions.o: rm.h run.h specialdefault.h stat.h subject.h funthread.h
functions.o: template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
functions.o: ../core/htmlfilter.h ../core/log.h ../core/misc.h
functions.o: ../core/plugin.h ../core/pluginmsg.h ../core/system.h
functions.o: ../core/sessionmanager.h ../core/sessioncontainer.h
functions.o: ../functions/functions.h ../templates/templates.h
functions.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
functions.o: ../core/httpsimpleparser.h ../core/log.h
@ -401,7 +413,7 @@ funthread.o: ../notify/templatesnotify.h ../core/users.h
funthread.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
funthread.o: ../core/mount.h ../core/mountparser.h ../core/users.h
funthread.o: ../core/groups.h ../core/group.h ../core/loadavg.h
funthread.o: ../core/synchro.h
funthread.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
last.o: last.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
last.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
last.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -427,7 +439,8 @@ last.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
last.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
last.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
last.o: ../core/mountparser.h ../core/users.h ../core/groups.h
last.o: ../core/group.h ../core/loadavg.h ../core/synchro.h
last.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
last.o: ../core/basethread.h ../core/synchro.h
login.o: login.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
login.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
login.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -453,7 +466,8 @@ login.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
login.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
login.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
login.o: ../core/mountparser.h ../core/users.h ../core/groups.h
login.o: ../core/group.h ../core/loadavg.h ../core/synchro.h
login.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
login.o: ../core/basethread.h ../core/synchro.h
logout.o: logout.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
logout.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
logout.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -480,7 +494,7 @@ logout.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
logout.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
logout.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
logout.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
logout.o: ../core/synchro.h
logout.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
ls.o: ls.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
ls.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h ../core/misc.h
ls.o: ../core/item.h ../core/error.h ../core/log.h ../core/textstream.h
@ -505,7 +519,8 @@ ls.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
ls.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
ls.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
ls.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
ls.o: ../core/loadavg.h ../core/synchro.h
ls.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
ls.o: ../core/synchro.h
mkdir.o: mkdir.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
mkdir.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
mkdir.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -531,7 +546,8 @@ mkdir.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
mkdir.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
mkdir.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
mkdir.o: ../core/mountparser.h ../core/users.h ../core/groups.h
mkdir.o: ../core/group.h ../core/loadavg.h ../core/synchro.h
mkdir.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
mkdir.o: ../core/basethread.h ../core/synchro.h
mv.o: mv.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
mv.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h ../core/misc.h
mv.o: ../core/item.h ../core/error.h ../core/log.h ../core/textstream.h
@ -556,7 +572,8 @@ mv.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
mv.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
mv.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
mv.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
mv.o: ../core/loadavg.h ../core/synchro.h
mv.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
mv.o: ../core/synchro.h
node.o: node.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
node.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
node.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -582,7 +599,8 @@ node.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
node.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
node.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
node.o: ../core/mountparser.h ../core/users.h ../core/groups.h
node.o: ../core/group.h ../core/loadavg.h ../core/synchro.h
node.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
node.o: ../core/basethread.h ../core/synchro.h
priv.o: priv.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
priv.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
priv.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -608,7 +626,8 @@ priv.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
priv.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
priv.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
priv.o: ../core/mountparser.h ../core/users.h ../core/groups.h
priv.o: ../core/group.h ../core/loadavg.h ../core/synchro.h
priv.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
priv.o: ../core/basethread.h ../core/synchro.h
privchanger.o: privchanger.h ../core/request.h ../core/requesttypes.h
privchanger.o: ../core/session.h ../core/item.h ../core/error.h
privchanger.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
@ -639,6 +658,7 @@ privchanger.o: ../notify/templatesnotify.h ../core/users.h
privchanger.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
privchanger.o: ../core/mount.h ../core/mountparser.h ../core/users.h
privchanger.o: ../core/groups.h ../core/group.h ../core/loadavg.h
privchanger.o: ../core/thumb.h ../core/basethread.h
reload.o: reload.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
reload.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
reload.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -665,11 +685,11 @@ reload.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
reload.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
reload.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
reload.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
reload.o: ../core/synchro.h ../templates/templates.h
reload.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
reload.o: ../core/httpsimpleparser.h ../core/log.h
reload.o: ../templates/indexpatterns.h ../core/sessionmanager.h
reload.o: ../core/sessioncontainer.h ../core/basethread.h ../core/system.h
reload.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
reload.o: ../templates/templates.h ../templates/patterncacher.h
reload.o: ../templates/ckeditorgetparser.h ../core/httpsimpleparser.h
reload.o: ../core/log.h ../templates/indexpatterns.h ../core/sessionmanager.h
reload.o: ../core/sessioncontainer.h ../core/system.h
rm.o: rm.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
rm.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h ../core/misc.h
rm.o: ../core/item.h ../core/error.h ../core/log.h ../core/textstream.h
@ -694,9 +714,9 @@ rm.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
rm.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
rm.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
rm.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
rm.o: ../core/loadavg.h ../core/synchro.h ../core/plugin.h
rm.o: ../core/pluginmsg.h ../core/system.h ../core/sessionmanager.h
rm.o: ../core/sessioncontainer.h ../core/basethread.h
rm.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
rm.o: ../core/synchro.h ../core/plugin.h ../core/pluginmsg.h ../core/system.h
rm.o: ../core/sessionmanager.h ../core/sessioncontainer.h
rm.o: ../functions/functions.h ../templates/templates.h
rm.o: ../templates/patterncacher.h ../templates/ckeditorgetparser.h
rm.o: ../core/httpsimpleparser.h ../core/log.h ../templates/indexpatterns.h
@ -725,7 +745,8 @@ run.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
run.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
run.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
run.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
run.o: ../core/loadavg.h ../core/synchro.h
run.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
run.o: ../core/synchro.h
specialdefault.o: specialdefault.h functionbase.h ../core/item.h ../db/db.h
specialdefault.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
specialdefault.o: ../core/textstream.h ../core/misc.h ../core/item.h
@ -756,7 +777,8 @@ specialdefault.o: ../notify/templatesnotify.h ../core/users.h
specialdefault.o: ../core/ugcontainer.h ../core/lastcontainer.h
specialdefault.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
specialdefault.o: ../core/users.h ../core/groups.h ../core/group.h
specialdefault.o: ../core/loadavg.h ../core/synchro.h
specialdefault.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
specialdefault.o: ../core/synchro.h
stat.o: stat.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
stat.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
stat.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -782,7 +804,8 @@ stat.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
stat.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
stat.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
stat.o: ../core/mountparser.h ../core/users.h ../core/groups.h
stat.o: ../core/group.h ../core/loadavg.h ../core/synchro.h
stat.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
stat.o: ../core/basethread.h ../core/synchro.h
subject.o: subject.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
subject.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
subject.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -809,7 +832,7 @@ subject.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
subject.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
subject.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
subject.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
subject.o: ../core/synchro.h
subject.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
template.o: template.h functionbase.h ../core/item.h ../db/db.h
template.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
template.o: ../core/textstream.h ../core/misc.h ../core/item.h
@ -838,8 +861,8 @@ template.o: ../core/basethread.h ../core/synchro.h
template.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
template.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
template.o: ../core/mountparser.h ../core/users.h ../core/groups.h
template.o: ../core/group.h ../core/loadavg.h ../core/synchro.h
template.o: ../core/misc.h
template.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
template.o: ../core/basethread.h ../core/synchro.h ../core/misc.h
tinymce.o: tinymce.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
tinymce.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
tinymce.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -866,7 +889,7 @@ tinymce.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
tinymce.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
tinymce.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
tinymce.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
tinymce.o: ../core/synchro.h
tinymce.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
uname.o: uname.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
uname.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
uname.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -892,7 +915,8 @@ uname.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
uname.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
uname.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
uname.o: ../core/mountparser.h ../core/users.h ../core/groups.h
uname.o: ../core/group.h ../core/loadavg.h ../core/synchro.h
uname.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
uname.o: ../core/basethread.h ../core/synchro.h
upload.o: upload.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
upload.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
upload.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -919,7 +943,8 @@ upload.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
upload.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
upload.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
upload.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
upload.o: ../core/synchro.h ../core/misc.h ../functions/functions.h
upload.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
upload.o: ../core/misc.h ../functions/functions.h
uptime.o: uptime.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
uptime.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
uptime.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -946,7 +971,7 @@ uptime.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
uptime.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
uptime.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
uptime.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
uptime.o: ../core/synchro.h
uptime.o: ../core/thumb.h ../core/basethread.h ../core/synchro.h
vim.o: vim.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
vim.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
vim.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -971,7 +996,8 @@ vim.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
vim.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
vim.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
vim.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
vim.o: ../core/loadavg.h ../core/synchro.h
vim.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
vim.o: ../core/synchro.h
who.o: who.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
who.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
who.o: ../core/misc.h ../core/item.h ../core/error.h ../core/log.h
@ -996,4 +1022,5 @@ who.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
who.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
who.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
who.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
who.o: ../core/loadavg.h ../core/synchro.h
who.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
who.o: ../core/synchro.h

View File

@ -42,7 +42,7 @@ void Download::MakeGet()
request->send_as_attachment = request->IsParam(L"attachment");
if( request->item.file_type == WINIX_ITEM_FILETYPE_IMAGE && config->create_thumb && request->IsParam(L"thumb") )
if( request->item.has_thumb && request->IsParam(L"thumb") )
system->MakeFilePath(request->item, request->x_sendfile, true);
else
system->MakeFilePath(request->item, request->x_sendfile);

View File

@ -7,7 +7,6 @@
*
*/
#include "wand/MagickWand.h"
#include <sys/types.h>
#include <sys/stat.h>
#include <cstdio>
@ -73,23 +72,7 @@ void Upload::CreateThumbnail(const Item & item)
!system->MakeFilePath(item, path_thumb, true, true, config->upload_dirs_chmod) )
return;
Ezc::WideToUTF8(path, patha);
Ezc::WideToUTF8(path_thumb, path_thumba);
MagickWand * wand = NewMagickWand();
if( MagickReadImage(wand, patha.c_str()) )
{
//log <<log1 << "images: " << MagickGetNumberImages(wand) << logend << logsavenow;
//MagickResizeImage(wand, config->images_thumb_cx, config->images_thumb_cy, CubicFilter, 0.25);
//MagickScaleImage(wand, 100, 100);
MagickThumbnailImage(wand, config->thumb_cx, config->thumb_cy);
if( MagickWriteImage(wand, path_thumba.c_str()) )
log << log3 << "Upload: created a thumbnail: " << path_thumba << logend;
}
DestroyMagickWand(wand);
system->thumb.CreateThumb(item.id, path, path_thumb, config->thumb_cx, config->thumb_cy, config->thumb_mode);
}

View File

@ -2,6 +2,7 @@
[if mount_page_arg_is "info"][include "item_info.html"][end]
[if-one item_filetype_is_image]
[if-no item_has_thumb]<p>{creating_thumb}</p>[end]
<img class="catimage" src="[item_link]/download/thumb" alt="[item_subject]">
[item_print_content]
[else]

View File

@ -8,7 +8,7 @@
<ul class="ls_browse">
[for item_tab]
<li><a href="javascript:select('[item_tab_link_auth]')"><img src="[item_tab_link_auth]" alt="[item_tab_subject]" height="120"></a></li>
<li><a href="javascript:select('[item_tab_link]')"><img src="[item_tab_link]/-/thumb" alt="[item_tab_subject]" height="120"></a></li>
[end]
</ul>

View File

@ -35,7 +35,7 @@ access_denied = Permission denied
access_denied_msg = We are sory but you don't have access to the page.
download = download
creating_thumb = Creating a thumbnail in progress...
create_thread_header = Create thread
form_thread_legend = Thread form

View File

@ -34,7 +34,7 @@ access_denied = Brak dostępu
access_denied_msg = Przykro nam ale nie masz dostępu do tej części serwisu.
download = Ściągnij plik
creating_thumb = Przygotowywanie miniatury trwa...
create_thread_header = Załóż wątek
form_thread_legend = Wypełnij wszystkie pozycje formularza

View File

@ -21,20 +21,20 @@ main.o: ../core/basethread.h ../core/synchro.h ../notify/templatesnotify.h
main.o: ../core/config.h ../core/users.h ../core/ugcontainer.h
main.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
main.o: ../core/mountparser.h ../core/users.h ../core/groups.h
main.o: ../core/group.h ../core/loadavg.h ../core/sessionmanager.h
main.o: ../core/sessioncontainer.h ../core/basethread.h
main.o: ../functions/functions.h ../functions/functionbase.h
main.o: ../core/request.h ../core/system.h ../core/synchro.h
main.o: ../functions/functionparser.h ../functions/adduser.h
main.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
main.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
main.o: ../functions/createthread.h ../functions/default.h
main.o: ../functions/download.h ../functions/emacs.h ../functions/last.h
main.o: ../functions/login.h ../functions/logout.h ../functions/ls.h
main.o: ../functions/mkdir.h ../functions/mv.h ../functions/node.h
main.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h
main.o: ../functions/run.h ../functions/specialdefault.h ../functions/stat.h
main.o: ../functions/subject.h ../functions/funthread.h
main.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
main.o: ../core/basethread.h ../core/sessionmanager.h
main.o: ../core/sessioncontainer.h ../functions/functions.h
main.o: ../functions/functionbase.h ../core/request.h ../core/system.h
main.o: ../core/synchro.h ../functions/functionparser.h
main.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
main.o: ../functions/privchanger.h ../functions/chown.h
main.o: ../functions/ckeditor.h ../functions/cp.h ../functions/createthread.h
main.o: ../functions/default.h ../functions/download.h ../functions/emacs.h
main.o: ../functions/last.h ../functions/login.h ../functions/logout.h
main.o: ../functions/ls.h ../functions/mkdir.h ../functions/mv.h
main.o: ../functions/node.h ../functions/priv.h ../functions/reload.h
main.o: ../functions/rm.h ../functions/run.h ../functions/specialdefault.h
main.o: ../functions/stat.h ../functions/subject.h ../functions/funthread.h
main.o: ../functions/template.h ../functions/tinymce.h ../functions/uname.h
main.o: ../functions/upload.h ../functions/uptime.h ../functions/who.h
main.o: ../functions/vim.h ../core/htmlfilter.h ../templates/templates.h

View File

@ -120,8 +120,6 @@ int main(int argv, char ** argc)
app.WaitForThreads();
// now all others threads are terminated
app.Uninit();
log.PutDate(log1);
log << "winix stopped" << logend << logsavenow;

View File

@ -25,8 +25,8 @@ notify.o: ../templates/indexpatterns.h ../core/request.h ../core/system.h
notify.o: ../core/dirs.h ../core/dircontainer.h ../notify/notify.h
notify.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
notify.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
notify.o: ../core/sessionmanager.h ../core/sessioncontainer.h
notify.o: ../core/basethread.h ../core/system.h ../core/dirs.h
notify.o: ../core/thumb.h ../core/basethread.h ../core/sessionmanager.h
notify.o: ../core/sessioncontainer.h ../core/system.h ../core/dirs.h
notify.o: ../core/synchro.h ../core/plugin.h ../core/pluginmsg.h
notify.o: ../core/sessionmanager.h ../functions/functions.h
notify.o: ../functions/functionbase.h ../functions/functionparser.h
@ -86,7 +86,8 @@ templatesnotify.o: ../core/confparser.h ../core/htmlfilter.h ../core/system.h
templatesnotify.o: ../core/dirs.h ../core/dircontainer.h ../notify/notify.h
templatesnotify.o: ../core/mounts.h ../core/mount.h ../core/mountparser.h
templatesnotify.o: ../core/users.h ../core/groups.h ../core/group.h
templatesnotify.o: ../core/ugcontainer.h ../core/loadavg.h ../core/synchro.h
templatesnotify.o: ../core/ugcontainer.h ../core/loadavg.h ../core/thumb.h
templatesnotify.o: ../core/basethread.h ../core/synchro.h
templatesnotify.o: ../functions/functionparser.h ../functions/adduser.h
templatesnotify.o: ../functions/cat.h ../functions/chmod.h
templatesnotify.o: ../functions/privchanger.h ../functions/chown.h
@ -110,4 +111,4 @@ templatesnotify.o: ../core/httpsimpleparser.h ../core/log.h
templatesnotify.o: ../templates/indexpatterns.h ../templates/localefilter.h
templatesnotify.o: ../templates/locale.h ../templates/htmltextstream.h
templatesnotify.o: ../core/sessionmanager.h ../core/sessioncontainer.h
templatesnotify.o: ../core/lastcontainer.h ../core/basethread.h
templatesnotify.o: ../core/lastcontainer.h

View File

@ -27,8 +27,8 @@ init.o: ../../notify/templatesnotify.h ../../core/users.h
init.o: ../../core/ugcontainer.h ../../core/lastcontainer.h
init.o: ../../core/mounts.h ../../core/mount.h ../../core/mountparser.h
init.o: ../../core/users.h ../../core/groups.h ../../core/group.h
init.o: ../../core/loadavg.h ../../core/sessionmanager.h
init.o: ../../core/sessioncontainer.h ../../core/basethread.h
init.o: ../../core/loadavg.h ../../core/thumb.h ../../core/basethread.h
init.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
init.o: ../../functions/functions.h ../../functions/functionbase.h
init.o: ../../core/system.h ../../core/synchro.h
init.o: ../../functions/functionparser.h ../../functions/adduser.h
@ -78,31 +78,32 @@ templates.o: ../../core/ugcontainer.h ../../core/lastcontainer.h
templates.o: ../../core/mounts.h ../../core/mount.h ../../core/error.h
templates.o: ../../core/mountparser.h ../../core/users.h ../../core/groups.h
templates.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h
templates.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
templates.o: ../../core/session.h ../../core/basethread.h
templates.o: ../../functions/functions.h ../../functions/functionbase.h
templates.o: ../../core/request.h ../../core/requesttypes.h
templates.o: ../../core/thumb.h ../../core/basethread.h
templates.o: ../../core/textstream.h ../../core/misc.h
templates.o: ../../templates/htmltextstream.h ../../core/system.h
templates.o: ../../core/synchro.h ../../functions/functionparser.h
templates.o: ../../functions/adduser.h ../../functions/cat.h
templates.o: ../../functions/chmod.h ../../functions/privchanger.h
templates.o: ../../functions/chown.h ../../functions/ckeditor.h
templates.o: ../../functions/cp.h ../../functions/createthread.h
templates.o: ../../functions/default.h ../../functions/download.h
templates.o: ../../functions/emacs.h ../../functions/last.h
templates.o: ../../functions/login.h ../../functions/logout.h
templates.o: ../../functions/ls.h ../../functions/mkdir.h
templates.o: ../../functions/mv.h ../../functions/node.h
templates.o: ../../functions/priv.h ../../functions/reload.h
templates.o: ../../functions/rm.h ../../functions/run.h
templates.o: ../../functions/specialdefault.h ../../functions/stat.h
templates.o: ../../functions/subject.h ../../functions/funthread.h
templates.o: ../../functions/template.h ../../functions/tinymce.h
templates.o: ../../functions/uname.h ../../functions/upload.h
templates.o: ../../functions/uptime.h ../../functions/who.h
templates.o: ../../functions/vim.h ../../core/htmlfilter.h
templates.o: ../../templates/templates.h ../../templates/patterncacher.h
templates.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
templates.o: ../../core/session.h ../../functions/functions.h
templates.o: ../../functions/functionbase.h ../../core/request.h
templates.o: ../../core/requesttypes.h ../../templates/htmltextstream.h
templates.o: ../../core/system.h ../../core/synchro.h
templates.o: ../../functions/functionparser.h ../../functions/adduser.h
templates.o: ../../functions/cat.h ../../functions/chmod.h
templates.o: ../../functions/privchanger.h ../../functions/chown.h
templates.o: ../../functions/ckeditor.h ../../functions/cp.h
templates.o: ../../functions/createthread.h ../../functions/default.h
templates.o: ../../functions/download.h ../../functions/emacs.h
templates.o: ../../functions/last.h ../../functions/login.h
templates.o: ../../functions/logout.h ../../functions/ls.h
templates.o: ../../functions/mkdir.h ../../functions/mv.h
templates.o: ../../functions/node.h ../../functions/priv.h
templates.o: ../../functions/reload.h ../../functions/rm.h
templates.o: ../../functions/run.h ../../functions/specialdefault.h
templates.o: ../../functions/stat.h ../../functions/subject.h
templates.o: ../../functions/funthread.h ../../functions/template.h
templates.o: ../../functions/tinymce.h ../../functions/uname.h
templates.o: ../../functions/upload.h ../../functions/uptime.h
templates.o: ../../functions/who.h ../../functions/vim.h
templates.o: ../../core/htmlfilter.h ../../templates/templates.h
templates.o: ../../templates/patterncacher.h
templates.o: ../../templates/ckeditorgetparser.h
templates.o: ../../core/httpsimpleparser.h ../../core/log.h
templates.o: ../../templates/indexpatterns.h ../../core/sessionmanager.h

View File

@ -30,6 +30,7 @@ createticket.o: ../../core/ugcontainer.h ../../core/lastcontainer.h
createticket.o: ../../core/mounts.h ../../core/mount.h
createticket.o: ../../core/mountparser.h ../../core/users.h
createticket.o: ../../core/groups.h ../../core/group.h ../../core/loadavg.h
createticket.o: ../../core/thumb.h ../../core/basethread.h
createticket.o: ../../core/synchro.h ticketinfo.h ticketparser.h ticketconf.h
createticket.o: ../../functions/functions.h ../../functions/functionbase.h
createticket.o: ../../functions/functionparser.h ../../functions/adduser.h
@ -76,6 +77,7 @@ editticket.o: ../../core/mount.h ../../core/error.h ../../core/mountparser.h
editticket.o: ../../core/config.h ../../core/confparser.h
editticket.o: ../../core/htmlfilter.h ../../core/users.h ../../core/groups.h
editticket.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h
editticket.o: ../../core/thumb.h ../../core/basethread.h
editticket.o: ../../functions/functionbase.h ../../core/request.h
editticket.o: ../../core/requesttypes.h ../../core/session.h
editticket.o: ../../core/plugindata.h ../../templates/htmltextstream.h
@ -124,6 +126,7 @@ funticket.o: ../../core/mount.h ../../core/error.h ../../core/mountparser.h
funticket.o: ../../core/config.h ../../core/confparser.h
funticket.o: ../../core/htmlfilter.h ../../core/users.h ../../core/groups.h
funticket.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h
funticket.o: ../../core/thumb.h ../../core/basethread.h
funticket.o: ../../functions/functionbase.h ../../core/request.h
funticket.o: ../../core/requesttypes.h ../../core/session.h
funticket.o: ../../core/plugindata.h ../../templates/htmltextstream.h
@ -152,33 +155,33 @@ init.o: ../../core/mounts.h ../../core/mount.h ../../core/error.h
init.o: ../../core/mountparser.h ../../core/config.h ../../core/confparser.h
init.o: ../../core/htmlfilter.h ../../core/users.h ../../core/groups.h
init.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h
init.o: ../../core/thumb.h ../../core/basethread.h
init.o: ../../functions/functionbase.h ../../core/request.h
init.o: ../../core/requesttypes.h ../../core/session.h
init.o: ../../core/plugindata.h ../../templates/htmltextstream.h
init.o: ../../core/synchro.h editticket.h createticket.h ../../core/log.h
init.o: ../../core/plugin.h ../../core/pluginmsg.h ../../core/system.h
init.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
init.o: ../../core/basethread.h ../../functions/functions.h
init.o: ../../functions/functionbase.h ../../functions/functionparser.h
init.o: ../../functions/adduser.h ../../functions/cat.h
init.o: ../../functions/chmod.h ../../functions/privchanger.h
init.o: ../../functions/chown.h ../../functions/ckeditor.h
init.o: ../../functions/cp.h ../../functions/createthread.h
init.o: ../../functions/default.h ../../functions/download.h
init.o: ../../functions/emacs.h ../../functions/last.h
init.o: ../../functions/login.h ../../functions/logout.h ../../functions/ls.h
init.o: ../../functions/mkdir.h ../../functions/mv.h ../../functions/node.h
init.o: ../../functions/priv.h ../../functions/reload.h ../../functions/rm.h
init.o: ../../functions/run.h ../../functions/specialdefault.h
init.o: ../../functions/stat.h ../../functions/subject.h
init.o: ../../functions/funthread.h ../../functions/template.h
init.o: ../../functions/tinymce.h ../../functions/uname.h
init.o: ../../functions/upload.h ../../functions/uptime.h
init.o: ../../functions/who.h ../../functions/vim.h ../../core/htmlfilter.h
init.o: ../../templates/templates.h ../../templates/patterncacher.h
init.o: ../../templates/ckeditorgetparser.h ../../core/httpsimpleparser.h
init.o: ../../core/log.h ../../templates/indexpatterns.h
init.o: ../../core/sessionmanager.h
init.o: ../../functions/functions.h ../../functions/functionbase.h
init.o: ../../functions/functionparser.h ../../functions/adduser.h
init.o: ../../functions/cat.h ../../functions/chmod.h
init.o: ../../functions/privchanger.h ../../functions/chown.h
init.o: ../../functions/ckeditor.h ../../functions/cp.h
init.o: ../../functions/createthread.h ../../functions/default.h
init.o: ../../functions/download.h ../../functions/emacs.h
init.o: ../../functions/last.h ../../functions/login.h
init.o: ../../functions/logout.h ../../functions/ls.h ../../functions/mkdir.h
init.o: ../../functions/mv.h ../../functions/node.h ../../functions/priv.h
init.o: ../../functions/reload.h ../../functions/rm.h ../../functions/run.h
init.o: ../../functions/specialdefault.h ../../functions/stat.h
init.o: ../../functions/subject.h ../../functions/funthread.h
init.o: ../../functions/template.h ../../functions/tinymce.h
init.o: ../../functions/uname.h ../../functions/upload.h
init.o: ../../functions/uptime.h ../../functions/who.h ../../functions/vim.h
init.o: ../../core/htmlfilter.h ../../templates/templates.h
init.o: ../../templates/patterncacher.h ../../templates/ckeditorgetparser.h
init.o: ../../core/httpsimpleparser.h ../../core/log.h
init.o: ../../templates/indexpatterns.h ../../core/sessionmanager.h
tdb.o: tdb.h ticket.h ../../db/dbbase.h ../../db/dbconn.h
tdb.o: ../../db/dbtextstream.h ../../core/textstream.h ../../core/misc.h
tdb.o: ../../core/item.h ../../core/error.h ../../core/log.h
@ -206,7 +209,8 @@ templates.o: ../../core/lastcontainer.h ../../core/mounts.h
templates.o: ../../core/mount.h ../../core/error.h ../../core/mountparser.h
templates.o: ../../core/config.h ../../core/confparser.h
templates.o: ../../core/htmlfilter.h ../../core/users.h ../../core/groups.h
templates.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h tdb.h
templates.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h
templates.o: ../../core/thumb.h ../../core/basethread.h tdb.h
templates.o: ../../db/dbbase.h ../../db/dbconn.h ../../db/dbtextstream.h
templates.o: ../../core/error.h editticket.h ../../functions/functionbase.h
templates.o: ../../core/request.h ../../core/requesttypes.h
@ -215,26 +219,26 @@ templates.o: ../../templates/htmltextstream.h ../../core/synchro.h
templates.o: createticket.h ../../core/misc.h ../../core/plugin.h
templates.o: ../../core/pluginmsg.h ../../core/system.h
templates.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
templates.o: ../../core/basethread.h ../../functions/functions.h
templates.o: ../../functions/functionbase.h ../../functions/functionparser.h
templates.o: ../../functions/adduser.h ../../functions/cat.h
templates.o: ../../functions/chmod.h ../../functions/privchanger.h
templates.o: ../../functions/chown.h ../../functions/ckeditor.h
templates.o: ../../functions/cp.h ../../functions/createthread.h
templates.o: ../../functions/default.h ../../functions/download.h
templates.o: ../../functions/emacs.h ../../functions/last.h
templates.o: ../../functions/login.h ../../functions/logout.h
templates.o: ../../functions/ls.h ../../functions/mkdir.h
templates.o: ../../functions/mv.h ../../functions/node.h
templates.o: ../../functions/priv.h ../../functions/reload.h
templates.o: ../../functions/rm.h ../../functions/run.h
templates.o: ../../functions/specialdefault.h ../../functions/stat.h
templates.o: ../../functions/subject.h ../../functions/funthread.h
templates.o: ../../functions/template.h ../../functions/tinymce.h
templates.o: ../../functions/uname.h ../../functions/upload.h
templates.o: ../../functions/uptime.h ../../functions/who.h
templates.o: ../../functions/vim.h ../../core/htmlfilter.h
templates.o: ../../templates/templates.h ../../templates/patterncacher.h
templates.o: ../../functions/functions.h ../../functions/functionbase.h
templates.o: ../../functions/functionparser.h ../../functions/adduser.h
templates.o: ../../functions/cat.h ../../functions/chmod.h
templates.o: ../../functions/privchanger.h ../../functions/chown.h
templates.o: ../../functions/ckeditor.h ../../functions/cp.h
templates.o: ../../functions/createthread.h ../../functions/default.h
templates.o: ../../functions/download.h ../../functions/emacs.h
templates.o: ../../functions/last.h ../../functions/login.h
templates.o: ../../functions/logout.h ../../functions/ls.h
templates.o: ../../functions/mkdir.h ../../functions/mv.h
templates.o: ../../functions/node.h ../../functions/priv.h
templates.o: ../../functions/reload.h ../../functions/rm.h
templates.o: ../../functions/run.h ../../functions/specialdefault.h
templates.o: ../../functions/stat.h ../../functions/subject.h
templates.o: ../../functions/funthread.h ../../functions/template.h
templates.o: ../../functions/tinymce.h ../../functions/uname.h
templates.o: ../../functions/upload.h ../../functions/uptime.h
templates.o: ../../functions/who.h ../../functions/vim.h
templates.o: ../../core/htmlfilter.h ../../templates/templates.h
templates.o: ../../templates/patterncacher.h
templates.o: ../../templates/ckeditorgetparser.h
templates.o: ../../core/httpsimpleparser.h ../../core/log.h
templates.o: ../../templates/indexpatterns.h ../../core/sessionmanager.h
@ -264,7 +268,7 @@ ticketinfo.o: ../../core/mount.h ../../core/error.h ../../core/mountparser.h
ticketinfo.o: ../../core/config.h ../../core/confparser.h
ticketinfo.o: ../../core/htmlfilter.h ../../core/users.h ../../core/groups.h
ticketinfo.o: ../../core/group.h ../../core/rebus.h ../../core/loadavg.h
ticketinfo.o: tdb.h ../../db/dbbase.h ../../db/dbconn.h
ticketinfo.o: ../../db/dbtextstream.h ../../core/error.h ../../core/log.h
ticketinfo.o: ../../core/misc.h
ticketinfo.o: ../../core/thumb.h ../../core/basethread.h tdb.h
ticketinfo.o: ../../db/dbbase.h ../../db/dbconn.h ../../db/dbtextstream.h
ticketinfo.o: ../../core/error.h ../../core/log.h ../../core/misc.h
ticketparser.o: ticketparser.h ticketconf.h ../../core/log.h

View File

@ -22,8 +22,9 @@ adduser.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
adduser.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
adduser.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
adduser.o: ../core/mountparser.h ../core/users.h ../core/groups.h
adduser.o: ../core/group.h ../core/loadavg.h ../core/sessionmanager.h
adduser.o: ../core/sessioncontainer.h ../core/basethread.h ../core/system.h
adduser.o: ../core/group.h ../core/loadavg.h ../core/thumb.h
adduser.o: ../core/basethread.h ../core/sessionmanager.h
adduser.o: ../core/sessioncontainer.h ../core/system.h
dir.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
dir.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h ../../ezc/src/item.h
dir.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h
@ -45,10 +46,10 @@ dir.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
dir.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
dir.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
dir.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
dir.o: ../core/loadavg.h ../core/sessionmanager.h ../core/sessioncontainer.h
dir.o: ../core/basethread.h ../core/system.h ../core/misc.h
dir.o: ../functions/functions.h ../functions/functionbase.h ../core/synchro.h
dir.o: ../functions/functionparser.h ../functions/adduser.h
dir.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
dir.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h
dir.o: ../core/misc.h ../functions/functions.h ../functions/functionbase.h
dir.o: ../core/synchro.h ../functions/functionparser.h ../functions/adduser.h
dir.o: ../functions/cat.h ../functions/chmod.h ../functions/privchanger.h
dir.o: ../functions/chown.h ../functions/ckeditor.h ../functions/cp.h
dir.o: ../functions/createthread.h ../functions/default.h
@ -82,8 +83,9 @@ doc.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
doc.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
doc.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
doc.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
doc.o: ../core/loadavg.h ../core/sessionmanager.h ../core/sessioncontainer.h
doc.o: ../core/basethread.h ../core/system.h ../core/request.h ../core/misc.h
doc.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
doc.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h
doc.o: ../core/request.h ../core/misc.h
htmltextstream.o: htmltextstream.h ../core/textstream.h misc.h localefilter.h
htmltextstream.o: locale.h ../core/confparser.h ../../ezc/src/ezc.h
htmltextstream.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h
@ -119,9 +121,9 @@ item.o: ../templates/misc.h ../notify/notifythread.h ../core/basethread.h
item.o: ../core/synchro.h ../notify/templatesnotify.h ../core/users.h
item.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
item.o: ../core/mount.h ../core/mountparser.h ../core/users.h
item.o: ../core/groups.h ../core/group.h ../core/loadavg.h
item.o: ../core/sessionmanager.h ../core/sessioncontainer.h
item.o: ../core/basethread.h ../core/system.h ../core/misc.h
item.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
item.o: ../core/basethread.h ../core/sessionmanager.h
item.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h
item.o: ../core/bbcodeparser.h
last.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
last.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
@ -144,9 +146,9 @@ last.o: ../templates/misc.h ../notify/notifythread.h ../core/basethread.h
last.o: ../core/synchro.h ../notify/templatesnotify.h ../core/users.h
last.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
last.o: ../core/mount.h ../core/mountparser.h ../core/users.h
last.o: ../core/groups.h ../core/group.h ../core/loadavg.h
last.o: ../core/sessionmanager.h ../core/sessioncontainer.h
last.o: ../core/basethread.h ../core/system.h ../core/lastcontainer.h
last.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
last.o: ../core/basethread.h ../core/sessionmanager.h
last.o: ../core/sessioncontainer.h ../core/system.h ../core/lastcontainer.h
last.o: ../core/request.h ../core/misc.h
locale.o: locale.h ../core/confparser.h ../core/log.h ../core/textstream.h
localefilter.o: localefilter.h locale.h ../core/confparser.h
@ -176,8 +178,9 @@ ls.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
ls.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
ls.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
ls.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
ls.o: ../core/loadavg.h ../core/sessionmanager.h ../core/sessioncontainer.h
ls.o: ../core/basethread.h ../core/system.h ../core/request.h
ls.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
ls.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h
ls.o: ../core/request.h
misc.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
misc.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
misc.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
@ -199,9 +202,9 @@ misc.o: ../templates/misc.h ../notify/notifythread.h ../core/basethread.h
misc.o: ../core/synchro.h ../notify/templatesnotify.h ../core/users.h
misc.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
misc.o: ../core/mount.h ../core/mountparser.h ../core/users.h
misc.o: ../core/groups.h ../core/group.h ../core/loadavg.h
misc.o: ../core/sessionmanager.h ../core/sessioncontainer.h
misc.o: ../core/basethread.h ../core/system.h ../core/misc.h
misc.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
misc.o: ../core/basethread.h ../core/sessionmanager.h
misc.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h
mount.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
mount.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
mount.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
@ -223,9 +226,9 @@ mount.o: ../templates/misc.h ../notify/notifythread.h ../core/basethread.h
mount.o: ../core/synchro.h ../notify/templatesnotify.h ../core/users.h
mount.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
mount.o: ../core/mount.h ../core/mountparser.h ../core/users.h
mount.o: ../core/groups.h ../core/group.h ../core/loadavg.h
mount.o: ../core/sessionmanager.h ../core/sessioncontainer.h
mount.o: ../core/basethread.h ../core/system.h ../core/misc.h
mount.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
mount.o: ../core/basethread.h ../core/sessionmanager.h
mount.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h
patterncacher.o: patterncacher.h ../core/item.h misc.h localefilter.h
patterncacher.o: locale.h ../core/confparser.h ../../ezc/src/ezc.h
patterncacher.o: ../../ezc/src/utf8.h ../../ezc/src/generator.h
@ -255,9 +258,9 @@ priv.o: ../templates/misc.h ../notify/notifythread.h ../core/basethread.h
priv.o: ../core/synchro.h ../notify/templatesnotify.h ../core/users.h
priv.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
priv.o: ../core/mount.h ../core/mountparser.h ../core/users.h
priv.o: ../core/groups.h ../core/group.h ../core/loadavg.h
priv.o: ../core/sessionmanager.h ../core/sessioncontainer.h
priv.o: ../core/basethread.h ../core/system.h ../core/misc.h
priv.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
priv.o: ../core/basethread.h ../core/sessionmanager.h
priv.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h
priv.o: ../functions/functions.h ../functions/functionbase.h
priv.o: ../core/synchro.h ../functions/functionparser.h
priv.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
@ -293,9 +296,9 @@ rebus.o: ../templates/misc.h ../notify/notifythread.h ../core/basethread.h
rebus.o: ../core/synchro.h ../notify/templatesnotify.h ../core/users.h
rebus.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
rebus.o: ../core/mount.h ../core/mountparser.h ../core/users.h
rebus.o: ../core/groups.h ../core/group.h ../core/loadavg.h
rebus.o: ../core/sessionmanager.h ../core/sessioncontainer.h
rebus.o: ../core/basethread.h ../core/system.h
rebus.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
rebus.o: ../core/basethread.h ../core/sessionmanager.h
rebus.o: ../core/sessioncontainer.h ../core/system.h
stat.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
stat.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
stat.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
@ -317,9 +320,9 @@ stat.o: ../templates/misc.h ../notify/notifythread.h ../core/basethread.h
stat.o: ../core/synchro.h ../notify/templatesnotify.h ../core/users.h
stat.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
stat.o: ../core/mount.h ../core/mountparser.h ../core/users.h
stat.o: ../core/groups.h ../core/group.h ../core/loadavg.h
stat.o: ../core/sessionmanager.h ../core/sessioncontainer.h
stat.o: ../core/basethread.h ../core/system.h ../core/misc.h
stat.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
stat.o: ../core/basethread.h ../core/sessionmanager.h
stat.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h
sys.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
sys.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h ../../ezc/src/item.h
sys.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h
@ -341,9 +344,9 @@ sys.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
sys.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
sys.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
sys.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
sys.o: ../core/loadavg.h ../core/sessionmanager.h ../core/sessioncontainer.h
sys.o: ../core/basethread.h ../core/system.h ../core/request.h
sys.o: ../core/version.h
sys.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
sys.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h
sys.o: ../core/request.h ../core/version.h
template.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
template.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
template.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
@ -367,8 +370,8 @@ template.o: ../core/synchro.h ../notify/templatesnotify.h ../core/users.h
template.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
template.o: ../core/mount.h ../core/mountparser.h ../core/users.h
template.o: ../core/groups.h ../core/group.h ../core/loadavg.h
template.o: ../core/sessionmanager.h ../core/sessioncontainer.h
template.o: ../core/basethread.h ../core/system.h ../core/misc.h
template.o: ../core/thumb.h ../core/basethread.h ../core/sessionmanager.h
template.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h
templates.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
templates.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
templates.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
@ -393,8 +396,8 @@ templates.o: ../notify/templatesnotify.h ../core/users.h
templates.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
templates.o: ../core/mount.h ../core/mountparser.h ../core/users.h
templates.o: ../core/groups.h ../core/group.h ../core/loadavg.h
templates.o: ../core/sessionmanager.h ../core/sessioncontainer.h
templates.o: ../core/basethread.h ../core/system.h ../core/misc.h
templates.o: ../core/thumb.h ../core/basethread.h ../core/sessionmanager.h
templates.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h
templates.o: ../core/plugin.h ../core/pluginmsg.h ../core/sessionmanager.h
templates.o: ../functions/functions.h ../functions/functionbase.h
templates.o: ../core/synchro.h ../functions/functionparser.h
@ -433,9 +436,9 @@ thread.o: ../templates/misc.h ../notify/notifythread.h ../core/basethread.h
thread.o: ../core/synchro.h ../notify/templatesnotify.h ../core/users.h
thread.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
thread.o: ../core/mount.h ../core/mountparser.h ../core/users.h
thread.o: ../core/groups.h ../core/group.h ../core/loadavg.h
thread.o: ../core/sessionmanager.h ../core/sessioncontainer.h
thread.o: ../core/basethread.h ../core/system.h ../core/misc.h
thread.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
thread.o: ../core/basethread.h ../core/sessionmanager.h
thread.o: ../core/sessioncontainer.h ../core/system.h ../core/misc.h
thread.o: ../functions/functions.h ../functions/functionbase.h
thread.o: ../core/synchro.h ../functions/functionparser.h
thread.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
@ -472,9 +475,9 @@ upload.o: ../templates/misc.h ../notify/notifythread.h ../core/basethread.h
upload.o: ../core/synchro.h ../notify/templatesnotify.h ../core/users.h
upload.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
upload.o: ../core/mount.h ../core/mountparser.h ../core/users.h
upload.o: ../core/groups.h ../core/group.h ../core/loadavg.h
upload.o: ../core/sessionmanager.h ../core/sessioncontainer.h
upload.o: ../core/basethread.h ../core/system.h ../core/request.h
upload.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
upload.o: ../core/basethread.h ../core/sessionmanager.h
upload.o: ../core/sessioncontainer.h ../core/system.h ../core/request.h
uptime.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
uptime.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
uptime.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
@ -496,9 +499,9 @@ uptime.o: ../templates/misc.h ../notify/notifythread.h ../core/basethread.h
uptime.o: ../core/synchro.h ../notify/templatesnotify.h ../core/users.h
uptime.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
uptime.o: ../core/mount.h ../core/mountparser.h ../core/users.h
uptime.o: ../core/groups.h ../core/group.h ../core/loadavg.h
uptime.o: ../core/sessionmanager.h ../core/sessioncontainer.h
uptime.o: ../core/basethread.h ../core/system.h
uptime.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
uptime.o: ../core/basethread.h ../core/sessionmanager.h
uptime.o: ../core/sessioncontainer.h ../core/system.h
user.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
user.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
user.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
@ -520,9 +523,9 @@ user.o: ../templates/misc.h ../notify/notifythread.h ../core/basethread.h
user.o: ../core/synchro.h ../notify/templatesnotify.h ../core/users.h
user.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
user.o: ../core/mount.h ../core/mountparser.h ../core/users.h
user.o: ../core/groups.h ../core/group.h ../core/loadavg.h
user.o: ../core/sessionmanager.h ../core/sessioncontainer.h
user.o: ../core/basethread.h ../core/system.h ../core/request.h
user.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
user.o: ../core/basethread.h ../core/sessionmanager.h
user.o: ../core/sessioncontainer.h ../core/system.h ../core/request.h
user.o: ../core/misc.h
who.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
who.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h ../../ezc/src/item.h
@ -545,8 +548,9 @@ who.o: ../notify/notifythread.h ../core/basethread.h ../core/synchro.h
who.o: ../notify/templatesnotify.h ../core/users.h ../core/ugcontainer.h
who.o: ../core/lastcontainer.h ../core/mounts.h ../core/mount.h
who.o: ../core/mountparser.h ../core/users.h ../core/groups.h ../core/group.h
who.o: ../core/loadavg.h ../core/sessionmanager.h ../core/sessioncontainer.h
who.o: ../core/basethread.h ../core/system.h ../core/misc.h
who.o: ../core/loadavg.h ../core/thumb.h ../core/basethread.h
who.o: ../core/sessionmanager.h ../core/sessioncontainer.h ../core/system.h
who.o: ../core/misc.h
winix.o: templates.h ../../ezc/src/ezc.h ../../ezc/src/utf8.h
winix.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
winix.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
@ -568,9 +572,9 @@ winix.o: ../templates/misc.h ../notify/notifythread.h ../core/basethread.h
winix.o: ../core/synchro.h ../notify/templatesnotify.h ../core/users.h
winix.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/mounts.h
winix.o: ../core/mount.h ../core/mountparser.h ../core/users.h
winix.o: ../core/groups.h ../core/group.h ../core/loadavg.h
winix.o: ../core/sessionmanager.h ../core/sessioncontainer.h
winix.o: ../core/basethread.h ../core/system.h ../core/plugin.h
winix.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/thumb.h
winix.o: ../core/basethread.h ../core/sessionmanager.h
winix.o: ../core/sessioncontainer.h ../core/system.h ../core/plugin.h
winix.o: ../core/pluginmsg.h ../core/sessionmanager.h
winix.o: ../functions/functions.h ../functions/functionbase.h
winix.o: ../core/synchro.h ../functions/functionparser.h

View File

@ -181,6 +181,12 @@ void item_filetype_is_image(Info & i)
}
void item_has_thumb(Info & i)
{
i.res = request->item.has_thumb;
}
void item_can_read(Info & i)
{
i.res = system->HasReadAccess(request->item);

View File

@ -210,6 +210,7 @@ void Templates::CreateFunctions()
ezc_functions.Insert("item_link", item_link);
ezc_functions.Insert("item_filetype_is_none", item_filetype_is_none);
ezc_functions.Insert("item_filetype_is_image", item_filetype_is_image);
ezc_functions.Insert("item_has_thumb", item_has_thumb);
ezc_functions.Insert("item_can_read", item_can_read);
ezc_functions.Insert("item_can_write", item_can_write);

View File

@ -142,6 +142,7 @@ namespace TemplatesFunctions
void item_link(Info & i);
void item_filetype_is_none(Info & i);
void item_filetype_is_image(Info & i);
void item_has_thumb(Info & i);
void item_can_read(Info & i);
void item_can_write(Info & i);
void item_can_remove(Info & i);