25 Commits
0.5.2 ... 0.5.5

Author SHA1 Message Date
d801f53154 changed: now we are using the C++ 11 language (-std=c++11) and we are using
the clang compiler by default
changed: Makefile files have been a little cleaned
         the main Makefile now will not compile winix and winix.so if there
         were not any changes to source files (it's faster)
         (added Makefile.dep in the global directory with list of all source/header files)
changed: winix version to 0.5.5




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@933 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-10-15 21:57:51 +00:00
a6b06f82e9 fixed: compiling in the clang (new version of c++ std lib)
(added some header files)
added: three messsages in ticket plugin:
       // send by showtickets winix function when tickets are loaded (and sorted)
       // in p1 you have a pointer to the ticket tab: std::vector<Ticket::Ticket> (include "ticket.h")
       // in p2 you have a pointer to the sort tab:   std::vector<Item*>
       // those tables don't have to be equal in size (in the case when there is no some tickets in the database)
       #define WINIX_PL_TICKET_TICKETS_LOADED                 4106
       
       // a new ticket has been added
       // in p1 you have a pointer to the Ticket::Ticket structure (include "ticket.h")
       // in p2 you have a pointer to the Item structure
       #define WINIX_PL_TICKET_ADDED_NEW                              4107
       
       // a ticket has been changed
       // in p1 you have a pointer to the Ticket::Ticket structure (include "ticket.h")
       // in p2 you have a pointer to the Item structure
       #define WINIX_PL_TICKET_CHANGED                                        4108

added: two ezc functions for tickets:
       ticket_does_param_id_have_value()
       tickets_tab_does_param_id_have_value()
       (they take two integer arguments -- testing whether a specified param_id has the given value)
changed: some more minor additions in tickets templates




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@932 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-10-10 11:59:21 +00:00
b7f3f84080 changed: in 'showtickets' winix function
now tickets are sorted by the sort_index and then by date
changed: html in 'sort' winix function (added items' subjects to the item lists)



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@931 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-07-08 14:42:14 +00:00
26715bdd4c changed: html for 'upload' winix function
all static files (css/js) are downloaded from our server now



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@930 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-07-02 07:14:19 +00:00
083fa7857f fixed: in notify/notify.cpp: a correct locale id should be taken
(we were not able to send: a mail with an activation link and 
        a mail with the reset password link when we didn't have a locale with id 0 loaded)



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@929 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-05-16 21:02:17 +00:00
9ffda3e070 changed: in passwd: a redirect make only if a password has been changed
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@928 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-05-16 20:11:27 +00:00
81160dbbe9 fixed: a passwd winix function should allow a non loged person to reset his password (permission fix)
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@927 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-05-16 20:08:07 +00:00
7c266b85e2 added: winix function 'account'
code for activating an account has been moved here from Pw
changed: the form for reseting a user's password has been moved
         to 'passwd' winix function (it was in Pw before)




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@926 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-05-16 19:26:44 +00:00
48cdca7549 changed: in fun_gallery.html: added js code to get the proper image id from url
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@925 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-05-14 08:37:22 +00:00
1c401eae3b added: to Rm function:
bool Rm::RemoveFileOrSymlink(long item_id, bool check_access)
added: in ticket plugin: possibility to remove a file/image
       (not finished yet)




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@924 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-05-06 07:23:44 +00:00
0e9eb30b5d added: some ezc function to ticket plugin:
ticket_param_value_for_param_id
       tickets_tab_param_value_for_param_id
       tickets_tab_conf_tab_param_name
       tickets_tab_conf_tab_file_tab
       tickets_tab_conf_tab_file_tab_index
       tickets_tab_conf_tab_file_tab_path
       tickets_tab_conf_tab_file_tab_itemid
       tickets_tab_conf_tab_file_tab_meta




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@923 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-04-24 01:21:19 +00:00
c10c9393c0 changed: plugin 'export': export winix function
the checkbox is now selected when we want to export static files too 
         (default it is not checked)
         



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@922 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-04-17 00:37:39 +00:00
8705b3437c fixed: imgcrop winix function should load only images
(when called in a directory)
added: to reload winix function:
       reloading (clearing) the cache from 'menu' plugin
added: to 'menu' plugin
       possibility to read 'meta' information from files 
       third argument 'withmeta' to menu_dir_tab ezc function
       e.g. [for menu_dir_tab "/directory" "..." "withmeta"]...[end]
       and some ezc functions to retrieve the meta values




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@921 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-04-16 09:51:36 +00:00
aed891764a added: to config: HasValue() methods
for checking if a value exists (useful for checking lists -- they don't have to be copied out)




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@920 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-04-02 22:24:30 +00:00
495499d12f added: a new winix function: imgcrop
for cropping images (and thumbnails)
       www.domain.com/dir/file.jpg/imgcrop  -- crop an image
       www.domain.com/dir/file.jpg/imgcrop/thumb  -- crop an image's thumbnail
       www.domain.com/dir/file.jpg/imgcrop/newthumb  -- crop and create a new thumbnail (from an original image)
       www.domain.com/dir/imgcrop -- show images' list with above options
added: to Image class: some methods for cropping




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@919 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-03-29 22:03:28 +00:00
8d9a021eab changed: when there is reqtype:json parameter and there is not set request.ajax_serializer
then we are using a generic json serializer
changed: we are sending the application/json header when returning an json string
added:   to config: log_server_answer (default false)
         when true we put the whole string (server's answer) to the log file
added:   to Request: use_200_status_for_not_found_and_permission_denied
         if this is true then if the server http code would be 403 or 404
         then we return 200 OK (useful when using ajax)
changed: System::RedirectTo() methods take as the last parameter: use_reqtype
         if this is true (default) then reqtype:type parameter is automatically added to the redirecting path
         




git-svn-id: svn://ttmath.org/publicrep/winix/trunk@918 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-03-26 00:04:01 +00:00
be6e09c5af added: some ezc functions (item_tab_meta*)
added: some ezc functions (gallery_tab_meta*) to gallery plugin
added: to gallery plugin: a new gallery: Gallery version 1.2.9



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@917 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-02-26 11:49:22 +00:00
293e426ed4 fixed: plugin 'group'
Groups::ReindexGroups incorrectly read a field from a PT::Space (it used 'table' object directly)
       but the value was in 'table_single' 
       now we are using GetValue method



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@916 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-02-01 21:14:56 +00:00
60f2337b73 updated: paths in Makefile (prog subdirectory)
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@915 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-01-19 16:31:15 +00:00
ce8152de2f changed: added 'logsave' when we are waiting for the database to be ready
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@913 e52654a7-88a9-db11-a3e9-0013d4bc506e
2013-01-19 10:10:17 +00:00
496a1979d2 fixed: in ticket plugin: editticket incorrectly used ticket_info->Clear() method
it was called after some objects were set consequently we were not allowed to edit a ticket



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@912 e52654a7-88a9-db11-a3e9-0013d4bc506e
2012-12-30 15:33:08 +00:00
fd698ca7b9 added: put the rebus answer into the log (when user has entered an incorrect answer)
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@911 e52654a7-88a9-db11-a3e9-0013d4bc506e
2012-12-26 23:08:57 +00:00
b4b368d324 changed: Makefile dep
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@910 e52654a7-88a9-db11-a3e9-0013d4bc506e
2012-11-17 01:10:00 +00:00
825694c880 changed: in editticket: closing ticket is better to do via POST request
added:   a new message sent by editticket when closing a ticket:
         #define WINIX_PL_TICKET_CLOSED                                 4105
         // a ticket has been closed (closed button pressed)
         // in p1 you have a pointer to the Item struct
         // in p2 you have a pointer to the Ticket struct





git-svn-id: svn://ttmath.org/publicrep/winix/trunk@909 e52654a7-88a9-db11-a3e9-0013d4bc506e
2012-11-05 23:13:52 +00:00
32750a7d50 changed: ticket plugin: redirect type in editticket winix function (when there is 'close' parameter)
fixed:   prototype doesn't work with jquery (in ticket winix function)
         (prototype was loaded for lightbox)



git-svn-id: svn://ttmath.org/publicrep/winix/trunk@908 e52654a7-88a9-db11-a3e9-0013d4bc506e
2012-11-04 22:39:02 +00:00
104 changed files with 9338 additions and 5478 deletions

View File

@@ -1,29 +1,48 @@
# Makefile for GNU make
include Makefile.dep
ifndef CXX
CXX = g++
endif
#ifndef CXX
# temporarily workaround: forcing using clang (CXX is defined by the OS and is equal to g++)
CXX = clang++
#endif
ifndef CXXFLAGS
CXXFLAGS = -fPIC -Wall -O2 -pthread -I/usr/local/include -I/home/tomek/roboczy/winix -I/home/tomek/roboczy/ezc/src -I/home/tomek/roboczy/tito/src -I/home/tomek/roboczy/pikotools -DEZC_USE_WINIX_LOGGER -DEZC_HAS_SPECIAL_STREAM
CXXFLAGS = -Wall -O2 -fPIC -pthread -std=c++11 -I/usr/local/include -DEZC_USE_WINIX_LOGGER -DEZC_HAS_SPECIAL_STREAM
endif
ifndef CXXWINIXINCLUDEFLAGS
# these flags are used for compiling and making dependencies (make depend)
# it's better to not using any system directories like -I/usr/local/include here
CXXWINIXINCLUDEFLAGS = -I../../winix -I../../../winix -I../../ezc/src -I../../../ezc/src -I../../tito/src -I../../../tito/src -I../../pikotools -I../../../pikotools
endif
ifndef LDFLAGS
LDFLAGS = -L/usr/local/lib
endif
# this macro is used in ezc's Makefile
EZC_USE_WINIX_LOGGER = yes
# for make install
winix_install_dir = /usr/local/winix
export CXX
export CXXFLAGS
export CXXWINIXINCLUDEFLAGS
export LDFLAGS
export EZC_USE_WINIX_LOGGER
all: winix.so plugins winix
winix.so: FORCE
winix.so: $(winix.src.files)
@cd core ; $(MAKE) -e
@cd db ; $(MAKE) -e
@cd functions ; $(MAKE) -e
@@ -32,13 +51,12 @@ winix.so: FORCE
@cd ../ezc/src ; $(MAKE) -e
@cd ../tito/src ; $(MAKE) -e
@cd ../pikotools ; $(MAKE) -e
$(CXX) -shared -rdynamic -Wl,-whole-archive -o winix.so $(CXXFLAGS) core/*.o db/*.o functions/*.o templates/*.o notify/*.o ../ezc/src/ezc.a ../tito/src/tito.a ../pikotools/utf8/utf8.a ../pikotools/space/space.a ../pikotools/mainparser/mainparser.a ../pikotools/date/date.a $(LDFLAGS) -lfcgi -lpq -lz -lfetch -lpthread -Wl,-no-whole-archive
$(CXX) -shared -rdynamic -Wl,-whole-archive -o winix.so $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) core/*.o db/*.o functions/*.o templates/*.o notify/*.o ../ezc/src/ezc.a ../tito/src/tito.a ../pikotools/utf8/utf8.a ../pikotools/space/space.a ../pikotools/mainparser/mainparser.a ../pikotools/date/date.a $(LDFLAGS) -lfcgi -lpq -lz -lfetch -lpthread -Wl,-no-whole-archive
winix: winix.so FORCE
@cd main ; $(MAKE) -e
# use the full path with winix.so
$(CXX) -o winix $(CXXFLAGS) $(LDFLAGS) main/*.o /home/tomek/roboczy/winix/winix.so
winix: winix.so $(winix.src.files)
@cd main ; $(MAKE) -e
$(CXX) -o winix $(CXXFLAGS) $(LDFLAGS) main/*.o winix.so
@@ -96,33 +114,42 @@ depend:
@cd ../tito/src ; $(MAKE) -e depend
@cd ../pikotools ; $(MAKE) -e depend
@cd main ; $(MAKE) -e depend
echo -n "winix.src.files = " > Makefile.dep
find -E . -type f -regex ".*\.h|.*\.cpp" | xargs -I foo echo -n foo " " >> Makefile.dep
find -E ../ezc/src -type f -regex ".*\.h|.*\.cpp" | xargs -I foo echo -n foo " " >> Makefile.dep
find -E ../tito/src -type f -regex ".*\.h|.*\.cpp" | xargs -I foo echo -n foo " " >> Makefile.dep
find -E ../pikotools -type f -regex ".*\.h|.*\.cpp" | xargs -I foo echo -n foo " " >> Makefile.dep
install: all
# binaries
mkdir -p /usr/local/winix/bin
cp winix.so /usr/local/winix/bin
# use the full path with winix.so (we have to recompile winix with a new path to winix.so)
$(CXX) -o /usr/local/winix/bin/winix $(CXXFLAGS) main/*.o /usr/local/winix/bin/winix.so
# installing binaries
rm -Rf $(winix_install_dir)/bin
mkdir -p $(winix_install_dir)/bin
cp winix $(winix_install_dir)/bin
cp winix.so $(winix_install_dir)/bin
# etc configs
mkdir -p /usr/local/winix/etc
cp -rf etc/ /usr/local/winix/etc/
find /usr/local/winix/etc/ -type d -name ".svn" | xargs -I foo rm -fr foo
rm -Rf $(winix_install_dir)/etc
mkdir -p $(winix_install_dir)/etc
cp -rf etc/ $(winix_install_dir)/etc/
# html templates
mkdir -p /usr/local/winix/html
cp -rf html/ /usr/local/winix/html/
find /usr/local/winix/html/ -type d -name ".svn" | xargs -I foo rm -fr foo
rm -Rf $(winix_install_dir)/html
mkdir -p $(winix_install_dir)/html
cp -rf html/ $(winix_install_dir)/html/
# txt templates
mkdir -p /usr/local/winix/txt
cp -rf txt/ /usr/local/winix/txt/
find /usr/local/winix/txt/ -type d -name ".svn" | xargs -I foo rm -fr foo
rm -Rf $(winix_install_dir)/txt
mkdir -p $(winix_install_dir)/txt
cp -rf txt/ $(winix_install_dir)/txt/
# locales
mkdir -p /usr/local/winix/locale
cp -rf locale/ /usr/local/winix/locale/
find /usr/local/winix/locale/ -type d -name ".svn" | xargs -I foo rm -fr foo
rm -Rf $(winix_install_dir)/locale
mkdir -p $(winix_install_dir)/locale
cp -rf locale/ $(winix_install_dir)/locale/
# plugins
mkdir -p /usr/local/winix/plugins
find plugins/ -name "*.so" | xargs -I foo cp foo /usr/local/winix/plugins/
# removed provileges for others
find /usr/local/winix -exec chmod o-r,o-x,o-w "{}" "+"
rm -Rf $(winix_install_dir)/plugins
mkdir -p $(winix_install_dir)/plugins
find plugins/ -name "*.so" | xargs -I foo cp foo $(winix_install_dir)/plugins/
# deleting subversion directories
find $(winix_install_dir) -type d -name ".svn" | xargs -I foo rm -fr foo
# removing privileges for others
find $(winix_install_dir) -exec chmod o-r,o-x,o-w "{}" "+"

1
Makefile.dep Normal file

File diff suppressed because one or more lines are too long

View File

@@ -5,11 +5,11 @@ all: $(o)
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $<
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. -I.. -I../../ezc/src -I../../pikotools -I../../tito/src -f- *.cpp > Makefile.dep
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep

File diff suppressed because it is too large Load Diff

View File

@@ -2,11 +2,12 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2011, Tomasz Sowa
* Copyright (c) 2008-2013, Tomasz Sowa
* All rights reserved.
*
*/
#include <cstdlib>
#include "acceptbaseparser.h"

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010-2012, Tomasz Sowa
* Copyright (c) 2010-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -438,6 +438,7 @@ bool sent = false;
if( cur.request->ajax_serializer )
{
log << log3 << "App: sending JSON" << logend;
std::wstring & ajax_content = cur.request->ajax.Add(L"content", L"");
ajax_content = cur.request->page.Str();
cur.request->ajax_serializer->Serialize(cur.request->ajax, cur.request->ajaxpage, true);
@@ -524,6 +525,13 @@ void App::Make()
return;
}
if( !cur.request->ajax_serializer && cur.request->ParamValue(L"reqtype") == L"json")
{
log << log3 << "App: using generic JSON serializer" << logend;
ajax_generic_serializer.Clear();
cur.request->ajax_serializer = &ajax_generic_serializer;
}
plugin.Call(WINIX_CONTENT_MAKE);
MakePage();
@@ -801,21 +809,29 @@ void App::SendHeadersStatic()
}
void App::SendHeaderContentType()
{
switch( config.content_type_header )
if( cur.request->ajax_serializer )
{
case 1:
FCGX_PutS("Content-Type: application/xhtml+xml", fcgi_request.out);
break;
case 2:
FCGX_PutS("Content-Type: application/xml", fcgi_request.out);
break;
FCGX_PutS("Content-Type: application/json", fcgi_request.out);
}
else
{
switch( config.content_type_header )
{
case 1:
FCGX_PutS("Content-Type: application/xhtml+xml", fcgi_request.out);
break;
case 0:
default:
FCGX_PutS("Content-Type: text/html", fcgi_request.out);
case 2:
FCGX_PutS("Content-Type: application/xml", fcgi_request.out);
break;
case 0:
default:
FCGX_PutS("Content-Type: text/html", fcgi_request.out);
}
}
if( config.utf8 )
@@ -830,7 +846,6 @@ void App::SendHeadersForbidden()
{
FCGX_PutS("Status: 403 Forbidden\r\n", fcgi_request.out);
SendHeaderContentType();
log << log2 << "App: response: 403 Forbidden" << logend;
}
@@ -893,7 +908,6 @@ void App::SendHeadersNormal(Header header)
case h_404:
FCGX_PutS("Status: 404 Not Found\r\n", fcgi_request.out);
SendHeaderContentType();
log << log2 << "App: response: 404 Not Found" << logend;
break;
case h_403:
@@ -971,6 +985,9 @@ void App::FilterCompressSend(bool compressing, int compress_encoding, const std:
else
AssignString(*source, source_a);
if( config.log_server_answer )
log << log1 << "App: the server's answer is:\n" << source_a << "\nApp: end of the server's answer" << logend;
if( compressing )
compress.CompressAndPut(source_a.c_str(), source_a.length(), fcgi_request.out, compress_encoding);
else
@@ -1089,10 +1106,22 @@ int compress_encoding;
SelectCompression(source->length(), compressing, compress_encoding);
if( status == WINIX_ERR_NO_ITEM || status == WINIX_ERR_NO_FUNCTION || status == WINIX_ERR_UNKNOWN_PARAM )
{
header = h_404;
log << log2 << "App: http response: 404 Not Found" << logend;
}
if( status == WINIX_ERR_PERMISSION_DENIED || status == WINIX_ERR_CANT_CHANGE_USER || status == WINIX_ERR_CANT_CHANGE_GROUP )
{
header = h_403;
log << log2 << "App: http response: 403 Forbidden" << logend;
}
if( cur.request->use_200_status_for_not_found_and_permission_denied && (header == h_404 || header == h_403) )
{
log << log3 << "App: changing the http response to: 200 OK" << logend;
header = h_200;
}
SendHeaders(compressing, compress_encoding, header);
@@ -1114,24 +1143,13 @@ void App::SendData(const BinaryPage & page, FCGX_Stream * out)
BinaryPage::const_iterator i = page.begin();
BinaryPage::const_iterator end = page.end();
// log << log1 << "size: " << page.size() << logend;
// for(size_t x=0 ; x<page.size() ; ++x)
// log << int((unsigned char)page[x]) << ' ';
// log << logend;
while( i != end )
{
size_t s = 0;
for( ; i != end && s < buf_size ; ++i, ++s)
{
send_data_buf[s] = *i;
// log << "swinka: " << int((unsigned char)*i) << logend;
}
if( s > 0 )
FCGX_PutStr(send_data_buf.c_str(), s, fcgi_request.out);
}

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010-2012, Tomasz Sowa
* Copyright (c) 2010-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -122,6 +122,7 @@ private:
std::string sendh_t, sendh_t2, sendh_t3;
std::string sendfilea, sendfile2a;
std::string send_data_buf;
PT::SpaceToJSON ajax_generic_serializer;
bool CheckAccessFromPlugins();
void ProcessRequestThrow();

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2012, Tomasz Sowa
* Copyright (c) 2008-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -113,6 +113,7 @@ void Config::AssignValues(bool stdout_is_closed)
log_request = Int(L"log_request", 1);
log_save_each_line = Bool(L"log_save_each_line", false);
log_time_zone_id = Size(L"log_time_zone_id", 34);
log_server_answer = Bool(L"log_server_answer", false);
log_stdout = Bool(L"log_stdout", false);
log_db_query = Bool(L"log_db_query", false);
log_plugin_call = Bool(L"log_plugin_call", false);
@@ -433,6 +434,28 @@ bool Config::ListText(const std::wstring & name, std::vector<std::wstring> & lis
}
bool Config::HasValue(const wchar_t * name, const wchar_t * value)
{
return space.HasValue(name, value);
}
bool Config::HasValue(const wchar_t * name, const std::wstring & value)
{
return space.HasValue(name, value);
}
bool Config::HasValue(const std::wstring & name, const wchar_t * value)
{
return space.HasValue(name, value);
}
bool Config::HasValue(const std::wstring & name, const std::wstring & value)
{
return space.HasValue(name, value);
}
void Config::Print(std::wostream & out)
{
space.Serialize(out);

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2012, Tomasz Sowa
* Copyright (c) 2008-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -71,6 +71,10 @@ public:
// default: 34 (Coordinated Universal Time UTC+00:00)
size_t log_time_zone_id;
// put to log what server is sending back to the client (html/json etc)
// default: false
bool log_server_answer;
// logging db queries
// default: false
bool log_db_query;
@@ -612,6 +616,11 @@ public:
bool ListText(const wchar_t * name, std::vector<std::wstring> & list);
bool ListText(const std::wstring & name, std::vector<std::wstring> & list);
bool HasValue(const wchar_t * name, const wchar_t * value);
bool HasValue(const wchar_t * name, const std::wstring & value);
bool HasValue(const std::wstring & name, const wchar_t * value);
bool HasValue(const std::wstring & name, const std::wstring & value);
// for debug
void Print(std::wostream & out);

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010-2012, Tomasz Sowa
* Copyright (c) 2010-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -13,6 +13,7 @@
#include "log.h"
#include "system.h"
#include "plugin.h"
#include "lock.h"
@@ -35,15 +36,91 @@ void Image::SetSystem(System * psystem)
}
// first thread (objects locked)
void Image::Resize(const Item & item, size_t cx, size_t cy, int aspect_mode, int quality)
Image::Scale Image::GetImageScale(long dir_id)
{
item_temp.type = WINIX_IMAGE_TYPE_RESIZE;
item_temp.file = item;
item_temp.cx = cx;
item_temp.cy = cy;
item_temp.aspect_mode = aspect_mode;
item_temp.quality = quality;
Scale scale;
Mount * m = system->mounts.CalcMount(dir_id);
scale.cx = config->image_cx;
scale.cy = config->image_cy;
scale.aspect_mode = config->image_mode;
scale.quality = config->image_quality;
// reading width and height from the mount point (if exists)
int index = system->mounts.MountParImageSize();
if( m && m->param[index].defined && m->param[index].arg.size() == 2 )
{
scale.cx = Tol(m->param[index].arg[0]);
scale.cy = Tol(m->param[index].arg[1]);
}
// reading image mode from the mount point (if exists)
index = system->mounts.MountParImageMode();
if( m && m->param[index].defined && m->param[index].arg.size() == 1 )
scale.aspect_mode = Toi(m->param[index].arg[0]);
// reading image quality from the mount point (if exists)
index = system->mounts.MountParImageQuality();
if( m && m->param[index].defined && m->param[index].arg.size() == 1 )
scale.quality = Toi(m->param[index].arg[0]);
return scale;
}
// first thread (objects locked)
Image::Scale Image::GetThumbScale(long dir_id)
{
Scale scale;
Mount * m = system->mounts.CalcMount(dir_id);
scale.cx = config->thumb_cx;
scale.cy = config->thumb_cy;
scale.aspect_mode = config->thumb_mode;
scale.quality = config->thumb_quality;
// reading width and height from the mount point (if exists)
int index = system->mounts.MountParThumbSize();
if( m && m->param[index].defined && m->param[index].arg.size() == 2 )
{
scale.cx = Tol(m->param[index].arg[0]);
scale.cy = Tol(m->param[index].arg[1]);
}
// reading thumb mode from the mount point (if exists)
index = system->mounts.MountParThumbMode();
if( m && m->param[index].defined && m->param[index].arg.size() == 1 )
scale.aspect_mode = Toi(m->param[index].arg[0]);
// reading image quality from the mount point (if exists)
index = system->mounts.MountParThumbQuality();
if( m && m->param[index].defined && m->param[index].arg.size() == 1 )
scale.quality = Toi(m->param[index].arg[0]);
return scale;
}
// first thread (objects locked)
void Image::Resize(long file_id, size_t cx, size_t cy, int aspect_mode, int quality)
{
item_temp.type = WINIX_IMAGE_TYPE_RESIZE;
item_temp.file_id = file_id;
item_temp.cx = cx;
item_temp.cy = cy;
item_temp.aspect_mode = aspect_mode;
item_temp.quality = quality;
CheckParam(item_temp);
image_tab.insert(image_tab.end(), item_temp);
@@ -51,15 +128,16 @@ void Image::Resize(const Item & item, size_t cx, size_t cy, int aspect_mode, int
}
// first thread (objects locked)
void Image::CreateThumb(const Item & item, size_t cx, size_t cy, int aspect_mode, int quality)
void Image::CreateThumb(long file_id, size_t thumb_cx, size_t thumb_cy, int aspect_mode, int quality)
{
item_temp.type = WINIX_IMAGE_TYPE_CREATE_THUMB;
item_temp.file = item;
item_temp.cx = cx;
item_temp.cy = cy;
item_temp.aspect_mode = aspect_mode;
item_temp.quality = quality;
item_temp.type = WINIX_IMAGE_TYPE_CREATE_THUMB;
item_temp.file_id = file_id;
item_temp.thumb_cx = thumb_cx;
item_temp.thumb_cy = thumb_cy;
item_temp.aspect_mode = aspect_mode;
item_temp.quality = quality;
CheckParam(item_temp);
image_tab.insert(image_tab.end(), item_temp);
@@ -68,31 +146,75 @@ void Image::CreateThumb(const Item & item, size_t cx, size_t cy, int aspect_mode
// first thread (objects locked)
void Image::Crop(long file_id, size_t xoffset, size_t yoffset, size_t cx, size_t cy, int quality)
{
item_temp.type = WINIX_IMAGE_TYPE_CROP;
item_temp.file_id = file_id;
item_temp.xoffset = xoffset;
item_temp.yoffset = yoffset;
item_temp.cx = cx;
item_temp.cy = cy;
item_temp.quality = quality;
CheckParam(item_temp);
image_tab.insert(image_tab.end(), item_temp);
WakeUpThread();
}
// first thread (objects locked)
void Image::CropThumb(long file_id, size_t xoffset, size_t yoffset, size_t cx, size_t cy, int quality)
{
item_temp.type = WINIX_IMAGE_TYPE_CROP_THUMB;
item_temp.file_id = file_id;
item_temp.xoffset = xoffset;
item_temp.yoffset = yoffset;
item_temp.cx = cx;
item_temp.cy = cy;
item_temp.quality = quality;
CheckParam(item_temp);
image_tab.insert(image_tab.end(), item_temp);
WakeUpThread();
}
// first thread (objects locked)
void Image::CropNewThumb(long file_id, size_t xoffset, size_t yoffset, size_t cx, size_t cy,
size_t thumb_cx, size_t thumb_cy, int aspect_mode, int quality)
{
item_temp.type = WINIX_IMAGE_TYPE_CREATE_CROP_NEW_THUMB;
item_temp.file_id = file_id;
item_temp.xoffset = xoffset;
item_temp.yoffset = yoffset;
item_temp.cx = cx;
item_temp.cy = cy;
item_temp.thumb_cx = thumb_cx;
item_temp.thumb_cy = thumb_cy;
item_temp.aspect_mode = aspect_mode;
item_temp.quality = quality;
CheckParam(item_temp);
image_tab.insert(image_tab.end(), item_temp);
WakeUpThread();
}
void Image::CheckParam(ImageItem & item)
{
if( item.aspect_mode < 1 )
item.aspect_mode = 1;
if( item.aspect_mode > 7 )
item.aspect_mode = 7;
if( item.quality < 0 )
item.quality = 0;
if( item.quality > 100 )
item.quality = 100;
if( item_temp.cx < 5 )
item_temp.cx = 5;
if( item_temp.cy < 5 )
item_temp.cy = 5;
if( item_temp.cx > 10000 )
item_temp.cx = 10000;
if( item_temp.cy > 10000 )
item_temp.cy = 10000;
SetMinMax(item.aspect_mode, 1, 7);
SetMinMax(item.quality, 0, 100);
SetMinMax(item.cx, 1, 30000);
SetMinMax(item.cy, 1, 30000);
SetMinMax(item.thumb_cx, 1, 30000);
SetMinMax(item.thumb_cy, 1, 30000);
SetMinMax(item.xoffset, 0, 30000);
SetMinMax(item.yoffset, 0, 30000);
}
@@ -117,7 +239,7 @@ bool end;
do
{
Lock();
class Lock lock_object(synchro);
if( i != image_tab.end() )
{
@@ -130,7 +252,7 @@ bool end;
end = true;
}
Unlock();
lock_object.Unlock();
if( !end )
CreateImage();
@@ -163,7 +285,8 @@ void Image::EscapePath(const std::string & path, TextStream<std::string> & out,
if( path[i] == '"' )
out << '\\';
out << path[i];
if( path[i] != 0 )
out << path[i];
}
out << '\"';
@@ -184,37 +307,37 @@ widthxheight! Width and height emphatically given, original aspect ratio ignor
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 Image::SelectAspect()
void Image::SelectAspect(size_t cx, size_t cy)
{
switch( item_work.aspect_mode )
{
case WINIX_IMAGE_MODE_1:
command << item_work.cx;
command << cx;
break;
case WINIX_IMAGE_MODE_3:
command << item_work.cx << "x" << item_work.cy;
command << cx << "x" << cy;
break;
case WINIX_IMAGE_MODE_4:
command << '"' << item_work.cx << "x" << item_work.cy << "^\"";
command << '"' << cx << "x" << cy << "^\"";
break;
case WINIX_IMAGE_MODE_5:
command << '"' << item_work.cx << "x" << item_work.cy << "!\"";
command << '"' << cx << "x" << cy << "!\"";
break;
case WINIX_IMAGE_MODE_6:
command << '"' << item_work.cx << "x" << item_work.cy << ">\"";
command << '"' << cx << "x" << cy << ">\"";
break;
case WINIX_IMAGE_MODE_7:
command << '"' << item_work.cx << "x" << item_work.cy << "<\"";
command << '"' << cx << "x" << cy << "<\"";
break;
case WINIX_IMAGE_MODE_2:
default:
command << "x" << item_work.cy;
command << "x" << cy;
break;
}
}
@@ -224,7 +347,17 @@ void Image::SelectAspect()
// second thread (objects locked)
bool Image::CreateInputFileName()
{
if( system->MakeFilePath(item_work.file, src_path) )
bool thumb = (item_work.type == WINIX_IMAGE_TYPE_CROP_THUMB);
if( thumb && !file_work.has_thumb )
{
log << log1 << "Image: file id: " << file_work.id << ", url: " << file_work.url
<< " doesn't have a thumbnail yet (skipping)" << logend;
return false;
}
if( system->MakeFilePath(file_work, src_path, thumb) )
{
PT::WideToUTF8(src_path, input_file_name);
return true;
@@ -237,6 +370,7 @@ bool Image::CreateInputFileName()
}
// second thread (objects locked)
void Image::CreateTmpFileName()
{
@@ -250,26 +384,17 @@ void Image::CreateTmpFileName()
// second thread (objects are not locked)
bool Image::CreateCommand()
{
Lock();
class Lock lock_object(synchro);
iq.SetAll(true, false);
iq.WhereId(item_work.file.id);
// !! skoro teraz i tak wczytujemy caly obiekt
// to teraz w kolejce wystarczy zapamietywac tylko samo item.id (a nie caly obiekt item)
iq.WhereId(item_work.file_id);
// the file could have been changed especially when there is a long queue of files
if( db->GetItem(item_work.file, iq) != WINIX_ERR_OK )
{
Unlock();
if( db->GetItem(file_work, iq) != WINIX_ERR_OK )
return false;
}
if( !CreateInputFileName() )
{
Unlock();
return false;
}
command.Clear();
Add(config->convert_cmd, command);
@@ -279,11 +404,38 @@ bool Image::CreateCommand()
command << " -quiet -quality " << item_work.quality;
if( item_work.type == WINIX_IMAGE_TYPE_RESIZE )
{
command << " -resize ";
SelectAspect(item_work.cx, item_work.cy);
}
else
if( item_work.type == WINIX_IMAGE_TYPE_CREATE_THUMB )
{
command << " -strip -thumbnail ";
SelectAspect(item_work.thumb_cx, item_work.thumb_cy);
}
else
if( item_work.type == WINIX_IMAGE_TYPE_CROP )
{
command << " -crop " << item_work.cx << "x" << item_work.cy
<< "+" << item_work.xoffset << "+" << item_work.yoffset << " +repage ";
}
else
if( item_work.type == WINIX_IMAGE_TYPE_CROP_THUMB )
{
command << " -strip -crop " << item_work.cx << "x" << item_work.cy
<< "+" << item_work.xoffset << "+" << item_work.yoffset
<< " +repage ";
}
else
if( item_work.type == WINIX_IMAGE_TYPE_CREATE_CROP_NEW_THUMB )
{
command << " -strip -crop " << item_work.cx << "x" << item_work.cy
<< "+" << item_work.xoffset << "+" << item_work.yoffset
<< " +repage -thumbnail ";
SelectAspect(item_work.thumb_cx, item_work.thumb_cy);
}
SelectAspect();
CreateTmpFileName();
command << " ";
@@ -291,7 +443,6 @@ bool Image::CreateCommand()
log << log4 << "Image: running: " << command.Str() << logend;
Unlock();
return true;
}
@@ -299,43 +450,77 @@ return true;
// second thread (objects are locked)
void Image::ImageSavedCorrectly()
{
if( item_work.type == WINIX_IMAGE_TYPE_CREATE_THUMB )
{
if( !file_work.has_thumb )
{
file_work.has_thumb = true;
db->EditHasThumbById(true, file_work.id);
}
log << log3 << "Image: generated a thumbnail: " << dst_path << logend;
plugin.Call((Session*)0, WINIX_CREATED_THUMB, &file_work);
}
else
if( item_work.type == WINIX_IMAGE_TYPE_RESIZE )
{
log << log3 << "Image: image resized: " << dst_path << logend;
plugin.Call((Session*)0, WINIX_IMAGE_RESIZED, &file_work);
}
else
if( item_work.type == WINIX_IMAGE_TYPE_CROP )
{
log << log3 << "Image: image cropped: " << dst_path << logend;
// !! IMPROVE ME add a correct message
//plugin.Call((Session*)0, WINIX_IMAGE_RESIZED, &file_work);
}
else
if( item_work.type == WINIX_IMAGE_TYPE_CROP_THUMB )
{
log << log3 << "Image: image thumbnail cropped: " << dst_path << logend;
// !! IMPROVE ME add a correct message
//plugin.Call((Session*)0, WINIX_IMAGE_RESIZED, &file_work);
}
else
if( item_work.type == WINIX_IMAGE_TYPE_CREATE_CROP_NEW_THUMB )
{
log << log3 << "Image: a new thumbnail from an original image was cropped: " << dst_path << logend;
// !! IMPROVE ME add a correct message
//plugin.Call((Session*)0, WINIX_IMAGE_RESIZED, &file_work);
}
}
// second thread (objects are not locked)
void Image::SaveImage()
{
bool moved = false;
Lock();
class Lock lock_object(synchro);
// the file could have been changed especially when creating the image lasted too long
iq.SetAll(true, false);
iq.WhereId(item_work.file.id);
iq.WhereId(item_work.file_id);
if( db->GetItem(item_work.file, iq) == WINIX_ERR_OK )
if( db->GetItem(file_work, iq) == WINIX_ERR_OK )
{
bool thumb = (item_work.type == WINIX_IMAGE_TYPE_CREATE_THUMB);
bool thumb = (item_work.type == WINIX_IMAGE_TYPE_CREATE_THUMB ||
item_work.type == WINIX_IMAGE_TYPE_CROP_THUMB ||
item_work.type == WINIX_IMAGE_TYPE_CREATE_CROP_NEW_THUMB );
if( system->MakeFilePath(item_work.file, dst_path, thumb, true, config->upload_dirs_chmod) )
if( system->MakeFilePath(file_work, dst_path, thumb, true, config->upload_dirs_chmod) )
{
if( RenameFile(stream_tmp_path.Str(), dst_path) )
{
if( thumb )
{
item_work.file.has_thumb = true;
db->EditHasThumbById(true, item_work.file.id);
log << log3 << "Image: generated a thumbnail: " << dst_path << logend;
plugin.Call((Session*)0, WINIX_CREATED_THUMB, &item_work.file);
}
else
{
log << log3 << "Image: image resized: " << dst_path << logend;
plugin.Call((Session*)0, WINIX_IMAGE_RESIZED, &item_work.file);
}
moved = true;
ImageSavedCorrectly();
}
else
{
log << log1 << "Image: cannot move a temporary file: " << stream_tmp_path.Str() << ", to: " << dst_path << logend;
log << log1 << "Image: cannot move a temporary file: " << stream_tmp_path.Str()
<< ", to: " << dst_path << logend;
::RemoveFile(stream_tmp_path.Str());
}
}
else
@@ -343,11 +528,6 @@ bool moved = false;
log << log1 << "Image: cannot create a destination path" << logend;
}
}
if( !moved )
::RemoveFile(stream_tmp_path.Str());
Unlock();
}
@@ -355,21 +535,20 @@ bool moved = false;
// second thread (objects are not locked)
void Image::CreateImage()
{
if( !CreateCommand() )
return;
int res = std::system(command.CStr());
if( res == 0 )
if( CreateCommand() )
{
SaveImage();
}
else
{
Lock();
log << log3 << "Image: some problems with creating an image"
<< ", 'convert' process returned: " << res << logend;
Unlock();
int res = std::system(command.CStr());
if( res == 0 )
{
SaveImage();
}
else
{
class Lock lock_object(synchro);
log << log3 << "Image: some problems with creating an image"
<< ", 'convert' process returned: " << res << logend;
}
}
}

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010-2011, Tomasz Sowa
* Copyright (c) 2010-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -22,7 +22,7 @@
class System;
// aspect modes:
// Width given, height automagically selected to preserve aspect ratio.
#define WINIX_IMAGE_MODE_1 1
@@ -45,25 +45,74 @@ class System;
#define WINIX_IMAGE_MODE_7 7
// resizing
#define WINIX_IMAGE_TYPE_RESIZE 1
// generating a thumbnail
#define WINIX_IMAGE_TYPE_CREATE_THUMB 2
// cropping an image
#define WINIX_IMAGE_TYPE_CROP 3
// cropping an thumbnail
#define WINIX_IMAGE_TYPE_CROP_THUMB 4
// creating by cropping a new thumbnail (from an original image)
#define WINIX_IMAGE_TYPE_CREATE_CROP_NEW_THUMB 5
/*
*/
class Image : public BaseThread
{
public:
struct Scale
{
size_t cx;
size_t cy;
int aspect_mode;
int quality;
Scale()
{
cx = cy = 1;
aspect_mode = 2;
quality = 100;
};
};
void SetDb(Db * pdb);
void SetConfig(Config * pconfig);
void SetSystem(System * psystem);
void Resize(const Item & item, size_t cx, size_t cy, int aspect_mode, int quality);
void CreateThumb(const Item & item, size_t cx, size_t cy, int aspect_mode, int quality);
// returning scale info for a directory
Scale GetImageScale(long dir_id);
// returning scale info (for thumbnails) for a directory
Scale GetThumbScale(long dir_id);
void Resize(long file_id, size_t cx, size_t cy, int aspect_mode, int quality);
// creating a new thumbnail from an original image
void CreateThumb(long file_id, size_t thumb_cx, size_t thumb_cy, int aspect_mode, int quality);
// cropping an image (the thumbnail is not changed)
void Crop(long file_id, size_t xoffset, size_t yoffset, size_t cx, size_t cy, int quality);
// cropping an existing thumbnail
void CropThumb(long file_id, size_t xoffset, size_t yoffset, size_t cx, size_t cy, int quality);
// creating and cropping a new thumbnail (from an original image)
void CropNewThumb(long file_id, size_t xoffset, size_t yoffset, size_t cx, size_t cy,
size_t thumb_cx, size_t thumb_cy, int aspect_mode, int quality);
private:
@@ -75,13 +124,29 @@ private:
struct ImageItem
{
int type; // WINIX_IMAGE_TYPE_*
Item file;
long file_id;
size_t cx;
size_t cy;
size_t xoffset; // xoffset and yoffset are used when cropping
size_t yoffset;
size_t thumb_cx;
size_t thumb_cy;
int aspect_mode;
int quality;
};
template<typename int_type>
void SetMinMax(int_type & var, int var_min, int var_max)
{
if( static_cast<int>(var) < var_min )
var = var_min;
if( static_cast<int>(var) > var_max )
var = var_max;
}
// queue of thumbnails to create
typedef std::list<ImageItem> ImageTab;
ImageTab image_tab;
@@ -96,6 +161,7 @@ private:
std::string add_tempa;
std::string input_file_name;
std::string tmp_file_name;
Item file_work;
virtual bool SignalReceived();
virtual void Do();
@@ -104,10 +170,12 @@ private:
void CreateTmpFileName();
void SaveImage();
void CreateImage();
void SelectAspect();
void SelectAspect(size_t cx, size_t cy);
void EscapePath(const std::string & path, TextStream<std::string> & out, bool clear_stream = true);
void CheckParam(ImageItem & item);
void Add(const std::wstring & in, TextStream<std::string> & out);
void ImageSavedCorrectly();
};

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2012, Tomasz Sowa
* Copyright (c) 2012-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -10,6 +10,8 @@
#ifndef headerfile_winix_core_ipban
#define headerfile_winix_core_ipban
#include <ctime>
// telling if the IPBan record is active
// we have two records: active and non active

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2012, Tomasz Sowa
* Copyright (c) 2008-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -10,6 +10,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <fstream>
#include <cstdlib>
#include "misc.h"
#include "log.h"
#include "templates/templates.h"
@@ -77,6 +78,34 @@ long Tol(const wchar_t * str, int base)
double Tod(const std::string & str)
{
return strtod(str.c_str(), 0);
}
double Tod(const std::wstring & str)
{
return wcstold(str.c_str(), 0);
}
double Tod(const char * str)
{
return strtod(str, 0);
}
double Tod(const wchar_t * str)
{
return wcstold(str, 0);
}
const wchar_t * Toa(unsigned int value, int base)
{

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2012, Tomasz Sowa
* Copyright (c) 2008-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -38,6 +38,11 @@ long Tol(const std::wstring & str, int base = 10);
long Tol(const char * str, int base = 10);
long Tol(const wchar_t * str, int base = 10);
double Tod(const std::string & str);
double Tod(const std::wstring & str);
double Tod(const char * str);
double Tod(const wchar_t * str);
// if the buffer is too small it will be terminated at the beginning (empty string)
// and the function returns false
@@ -272,7 +277,24 @@ typename StringType::size_type i;
template<class StringType>
void Trim(StringType & s, wchar_t c)
void TrimFirst(StringType & s, wchar_t c)
{
typename StringType::size_type i;
if( s.empty() )
return;
// looking for the 'c' characters at the beginning
for(i=0 ; i<s.size() && s[i]==c ; ++i);
// deleting the 'c' characters at the beginning
if( i != 0 )
s.erase(0, i);
}
template<class StringType>
void TrimLast(StringType & s, wchar_t c)
{
typename StringType::size_type i;
@@ -292,16 +314,23 @@ typename StringType::size_type i;
// deleting 'c' characters at the end
if( i != s.size() - 1 )
s.erase(i+1, StringType::npos);
// looking for the 'c' characters at the beginning
for(i=0 ; i<s.size() && s[i]==c ; ++i);
// deleting the 'c' characters at the beginning
if( i != 0 )
s.erase(0, i);
}
template<class StringType>
void Trim(StringType & s, wchar_t c)
{
if( s.empty() )
return;
TrimLast(s, c);
TrimFirst(s, c);
}
template<class StringType>
void MaxSize(StringType & str, size_t max_size)
{
@@ -971,4 +1000,18 @@ size_t i1, i2;
template<typename IntType>
void SetMinMax(IntType & val, IntType min_val, IntType max_val)
{
if( val < min_val )
val = min_val;
if( val > max_val )
val = max_val;
}
#endif

View File

@@ -2,11 +2,13 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2012, Tomasz Sowa
* Copyright (c) 2008-2013, Tomasz Sowa
* All rights reserved.
*
*/
#include <sys/types.h>
#include <unistd.h>
#include "postmultiparser.h"
#include "log.h"
#include "utf8/utf8.h"

View File

@@ -149,7 +149,9 @@ bool Rebus::CheckRebus()
if( IsAnswerOk(cur->session->rebus_item, cur->request->PostVar(L"rebus")) )
return true;
log << log1 << "Rebus: rebus has an incorrect answer" << logend;
log << log1 << "Rebus: rebus has an incorrect answer, expected: "
<< cur->session->rebus_item->answer << logend;
// don't add cur->session->spam_score when the rebus has incorrect answer
// a user could have made a mistake

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2012, Tomasz Sowa
* Copyright (c) 2008-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -129,6 +129,7 @@ void Request::Clear()
gen_use_special_chars = false;
ip = 0;
use_200_status_for_not_found_and_permission_denied = false;
}

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2012, Tomasz Sowa
* Copyright (c) 2008-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -160,12 +160,17 @@ struct Request
// used as a JSON output (when ajax_serializer is defined)
// it will be serialized and have at least:
// 'content' string - the whole html content
// 'http_status' integer - http status code (e.g. 200)
// 'http_status' integer - http status code (e.g. 200) !! FIXME this is not added at the moment
PT::Space ajax;
// if not null then the request will have a JSON as an output
PT::SpaceToJSON * ajax_serializer;
// if this variable is true then winix always return 200 OK header
// when the status would be 404 (not found) or 403 (permission denied)
// default: false
bool use_200_status_for_not_found_and_permission_denied;
// options used by ezc generators
bool gen_trim_white;
bool gen_skip_new_line;

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2011, Tomasz Sowa
* Copyright (c) 2011-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -12,6 +12,7 @@
#include <string>
#include <cstdio>
#include <unistd.h>
/*

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2012, Tomasz Sowa
* Copyright (c) 2008-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -89,7 +89,7 @@ long id;
{
if( sizeof(long) == 8 )
{
id = ((unsigned long)std::rand()) << 32 + std::rand();
id = (((unsigned long)std::rand()) << 32) + std::rand();
}
else
{

View File

@@ -150,7 +150,7 @@ bool ssl = false;
/*
postfix will not be UrlEncoded
*/
void System::RedirectTo(const Item & item, const wchar_t * postfix)
void System::RedirectTo(const Item & item, const wchar_t * postfix, bool use_reqtype)
{
PutUrlProto(config->use_ssl, cur->request->redirect_to);
@@ -176,6 +176,12 @@ void System::RedirectTo(const Item & item, const wchar_t * postfix)
if( postfix )
cur->request->redirect_to += postfix;
if( use_reqtype && cur->request->IsParam(L"reqtype") )
{
cur->request->redirect_to += L"/-/reqtype:";
cur->request->redirect_to += cur->request->ParamValue(L"reqtype");
}
}
@@ -183,7 +189,7 @@ void System::RedirectTo(const Item & item, const wchar_t * postfix)
/*
postfix will not be UrlEncoded
*/
void System::RedirectTo(long item_id, const wchar_t * postfix)
void System::RedirectTo(long item_id, const wchar_t * postfix, bool use_reqtype)
{
PutUrlProto(config->use_ssl, cur->request->redirect_to);
@@ -224,6 +230,12 @@ void System::RedirectTo(long item_id, const wchar_t * postfix)
if( postfix )
cur->request->redirect_to += postfix;
if( use_reqtype && cur->request->IsParam(L"reqtype") )
{
cur->request->redirect_to += L"/-/reqtype:";
cur->request->redirect_to += cur->request->ParamValue(L"reqtype");
}
}
@@ -231,7 +243,7 @@ void System::RedirectTo(long item_id, const wchar_t * postfix)
/*
url will not be UrlEncoded
*/
void System::RedirectTo(const wchar_t * url)
void System::RedirectTo(const wchar_t * url, bool use_reqtype)
{
PutUrlProto(config->use_ssl, cur->request->redirect_to);
@@ -262,15 +274,21 @@ void System::RedirectTo(const wchar_t * url)
cur->request->redirect_to += url;
}
}
if( use_reqtype && cur->request->IsParam(L"reqtype") )
{
cur->request->redirect_to += L"/-/reqtype:";
cur->request->redirect_to += cur->request->ParamValue(L"reqtype");
}
}
/*
url will not be UrlEncoded
*/
void System::RedirectTo(const std::wstring & url)
void System::RedirectTo(const std::wstring & url, bool use_reqtype)
{
RedirectTo(url.c_str());
RedirectTo(url.c_str(), use_reqtype);
}
@@ -324,38 +342,52 @@ void System::RedirectWithFunctionAndParamsTo(const std::wstring & url)
}
void System::RedirectToLastDir(const wchar_t * postfix)
void System::RedirectToLastDir(const wchar_t * postfix, bool use_reqtype)
{
if( !cur->request->dir_tab.empty() )
RedirectTo( *cur->request->dir_tab.back(), postfix );
RedirectTo( *cur->request->dir_tab.back(), postfix, use_reqtype);
}
void System::RedirectToLastItem(const wchar_t * postfix)
void System::RedirectToLastItem(const wchar_t * postfix, bool use_reqtype)
{
if( cur->request->last_item )
RedirectTo( *cur->request->last_item, postfix );
RedirectTo( *cur->request->last_item, postfix, use_reqtype );
}
void System::RedirectToLastFunction(const wchar_t * postfix)
void System::RedirectToLastFunction(const wchar_t * postfix, bool use_reqtype)
{
RedirectToLastDir();
RedirectToLastDir(0, false);
TrimLast(cur->request->redirect_to, '/');
if( cur->request->is_item )
{
cur->request->redirect_to += cur->request->item.url;
cur->request->redirect_to += '/';
cur->request->redirect_to += cur->request->item.url;
}
if( cur->request->function )
{
cur->request->redirect_to += '/';
cur->request->redirect_to += cur->request->function->fun.url;
}
if( postfix )
{
cur->request->redirect_to += '/';
cur->request->redirect_to += postfix;
}
if( use_reqtype && cur->request->IsParam(L"reqtype") )
{
if( !cur->request->function && !postfix )
cur->request->redirect_to += L"/-";
cur->request->redirect_to += L"/reqtype:";
cur->request->redirect_to += cur->request->ParamValue(L"reqtype");
}
}

View File

@@ -90,15 +90,15 @@ public:
void AddParams(const ParamTab & param_tab, std::wstring & str, bool clear_str = true);
void PutUrlProto(bool can_use_ssl, std::wstring & str, bool clear_str = true);
void RedirectTo(const Item & item, const wchar_t * postfix = 0);
void RedirectTo(long item_id, const wchar_t * postfix = 0);
void RedirectTo(const wchar_t * url);
void RedirectTo(const std::wstring & url);
void RedirectTo(const Item & item, const wchar_t * postfix = 0, bool use_reqtype = true);
void RedirectTo(long item_id, const wchar_t * postfix = 0, bool use_reqtype = true);
void RedirectTo(const wchar_t * url, bool use_reqtype = true);
void RedirectTo(const std::wstring & url, bool use_reqtype = true);
void RedirectWithFunctionAndParamsTo(const wchar_t * url);
void RedirectWithFunctionAndParamsTo(const std::wstring & url);
void RedirectToLastDir(const wchar_t * postfix = 0);
void RedirectToLastItem(const wchar_t * postfix = 0); // redirect to an item if exists or to the last directory
void RedirectToLastFunction(const wchar_t * postfix = 0);
void RedirectToLastDir(const wchar_t * postfix = 0, bool use_reqtype = true);
void RedirectToLastItem(const wchar_t * postfix = 0, bool use_reqtype = true); // redirect to an item if exists or to the last directory
void RedirectToLastFunction(const wchar_t * postfix = 0, bool use_reqtype = true);
bool CanChangeUser(const Item & item, long new_user_id);

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2012, Tomasz Sowa
* Copyright (c) 2008-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -13,7 +13,7 @@
#define WINIX_VER_MAJOR 0
#define WINIX_VER_MINOR 5
#define WINIX_VER_REVISION 2
#define WINIX_VER_REVISION 5
#endif

View File

@@ -5,11 +5,11 @@ all: $(o)
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $<
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. -I.. -I../../ezc/src -I../../pikotools -I../../tito/src -f- *.cpp > Makefile.dep
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep

View File

@@ -1,59 +1,69 @@
# DO NOT DELETE
db.o: db.h dbbase.h dbconn.h dbtextstream.h ../core/textstream.h
db.o: ../core/misc.h ../core/item.h ../../pikotools/space/space.h
db.o: ../../pikotools/textstream/types.h ../../pikotools/date/date.h
db.o: ../core/requesttypes.h ../../pikotools/textstream/textstream.h
db.o: db.h dbbase.h dbconn.h dbtextstream.h ../../winix/core/textstream.h
db.o: ../../winix/core/misc.h ../../winix/core/item.h
db.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
db.o: ../../pikotools/date/date.h ../../winix/core/requesttypes.h
db.o: ../../pikotools/textstream/textstream.h
db.o: ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h
db.o: ../../pikotools/membuffer/membuffer.h
db.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
db.o: ../core/error.h ../../pikotools/space/spaceparser.h
db.o: ../../pikotools/space/space.h dbitemquery.h ../core/item.h
db.o: dbitemcolumns.h ../core/user.h ../core/group.h ../core/dircontainer.h
db.o: ../core/ugcontainer.h ../core/log.h ../core/textstream.h
db.o: ../core/logmanipulators.h ../core/slog.h ../core/cur.h
db.o: ../core/request.h ../core/error.h ../core/config.h ../core/htmlfilter.h
db.o: ../templates/htmltextstream.h ../../pikotools/space/spacetojson.h
db.o: ../core/session.h ../core/user.h ../core/plugindata.h ../core/rebus.h
db.o: ../core/ipban.h ../core/mount.h ../templates/locale.h ../core/log.h
db.o: ../core/misc.h
dbbase.o: dbbase.h dbconn.h dbtextstream.h ../core/textstream.h
dbbase.o: ../core/misc.h ../core/item.h ../../pikotools/space/space.h
dbbase.o: ../../pikotools/textstream/types.h ../../pikotools/date/date.h
dbbase.o: ../core/requesttypes.h ../../pikotools/textstream/textstream.h
db.o: ../../winix/core/error.h ../../pikotools/space/spaceparser.h
db.o: ../../pikotools/space/space.h dbitemquery.h ../../winix/core/item.h
db.o: dbitemcolumns.h ../../winix/core/user.h ../../winix/core/group.h
db.o: ../../winix/core/dircontainer.h ../../winix/core/ugcontainer.h
db.o: ../../winix/core/log.h ../../winix/core/textstream.h
db.o: ../../winix/core/logmanipulators.h ../../winix/core/slog.h
db.o: ../../winix/core/cur.h ../../winix/core/request.h
db.o: ../../winix/core/error.h ../../winix/core/config.h
db.o: ../../winix/core/htmlfilter.h ../../winix/templates/htmltextstream.h
db.o: ../../pikotools/space/spacetojson.h ../../winix/core/session.h
db.o: ../../winix/core/user.h ../../winix/core/plugindata.h
db.o: ../../winix/core/rebus.h ../../winix/core/ipban.h
db.o: ../../winix/core/mount.h ../../winix/templates/locale.h
db.o: ../../winix/core/log.h ../../winix/core/misc.h
dbbase.o: dbbase.h dbconn.h dbtextstream.h ../../winix/core/textstream.h
dbbase.o: ../../winix/core/misc.h ../../winix/core/item.h
dbbase.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
dbbase.o: ../../pikotools/date/date.h ../../winix/core/requesttypes.h
dbbase.o: ../../pikotools/textstream/textstream.h
dbbase.o: ../../pikotools/convert/convert.h
dbbase.o: ../../pikotools/convert/inttostr.h
dbbase.o: ../../pikotools/membuffer/membuffer.h
dbbase.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
dbbase.o: ../core/error.h ../../pikotools/space/spaceparser.h
dbbase.o: ../../pikotools/space/space.h ../core/log.h ../core/misc.h
dbconn.o: dbconn.h dbtextstream.h ../core/textstream.h ../core/misc.h
dbconn.o: ../core/item.h ../../pikotools/space/space.h
dbconn.o: ../../pikotools/textstream/types.h ../../pikotools/date/date.h
dbconn.o: ../core/requesttypes.h ../../pikotools/textstream/textstream.h
dbbase.o: ../../winix/core/error.h ../../pikotools/space/spaceparser.h
dbbase.o: ../../pikotools/space/space.h ../../winix/core/log.h
dbbase.o: ../../winix/core/misc.h
dbconn.o: dbconn.h dbtextstream.h ../../winix/core/textstream.h
dbconn.o: ../../winix/core/misc.h ../../winix/core/item.h
dbconn.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
dbconn.o: ../../pikotools/date/date.h ../../winix/core/requesttypes.h
dbconn.o: ../../pikotools/textstream/textstream.h
dbconn.o: ../../pikotools/convert/convert.h
dbconn.o: ../../pikotools/convert/inttostr.h
dbconn.o: ../../pikotools/membuffer/membuffer.h
dbconn.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
dbconn.o: ../core/log.h ../core/error.h
dbitemcolumns.o: dbitemcolumns.h ../core/item.h dbbase.h dbconn.h
dbitemcolumns.o: dbtextstream.h ../core/textstream.h ../core/misc.h
dbitemcolumns.o: ../core/item.h ../../pikotools/space/space.h
dbconn.o: ../../winix/core/log.h ../../winix/core/error.h
dbitemcolumns.o: dbitemcolumns.h ../../winix/core/item.h dbbase.h dbconn.h
dbitemcolumns.o: dbtextstream.h ../../winix/core/textstream.h
dbitemcolumns.o: ../../winix/core/misc.h ../../winix/core/item.h
dbitemcolumns.o: ../../pikotools/space/space.h
dbitemcolumns.o: ../../pikotools/textstream/types.h
dbitemcolumns.o: ../../pikotools/date/date.h ../core/requesttypes.h
dbitemcolumns.o: ../../pikotools/date/date.h ../../winix/core/requesttypes.h
dbitemcolumns.o: ../../pikotools/textstream/textstream.h
dbitemcolumns.o: ../../pikotools/convert/convert.h
dbitemcolumns.o: ../../pikotools/convert/inttostr.h
dbitemcolumns.o: ../../pikotools/membuffer/membuffer.h
dbitemcolumns.o: ../../pikotools/textstream/types.h
dbitemcolumns.o: ../../pikotools/utf8/utf8.h ../core/error.h
dbitemcolumns.o: ../../pikotools/utf8/utf8.h ../../winix/core/error.h
dbitemcolumns.o: ../../pikotools/space/spaceparser.h
dbitemcolumns.o: ../../pikotools/space/space.h ../core/log.h
dbitemquery.o: dbitemquery.h ../core/item.h
dbtextstream.o: dbtextstream.h ../core/textstream.h ../core/misc.h
dbtextstream.o: ../core/item.h ../../pikotools/space/space.h
dbitemcolumns.o: ../../pikotools/space/space.h ../../winix/core/log.h
dbitemquery.o: dbitemquery.h ../../winix/core/item.h
dbtextstream.o: dbtextstream.h ../../winix/core/textstream.h
dbtextstream.o: ../../winix/core/misc.h ../../winix/core/item.h
dbtextstream.o: ../../pikotools/space/space.h
dbtextstream.o: ../../pikotools/textstream/types.h
dbtextstream.o: ../../pikotools/date/date.h ../core/requesttypes.h
dbtextstream.o: ../../pikotools/date/date.h ../../winix/core/requesttypes.h
dbtextstream.o: ../../pikotools/textstream/textstream.h
dbtextstream.o: ../../pikotools/convert/convert.h
dbtextstream.o: ../../pikotools/convert/inttostr.h

View File

@@ -2,11 +2,12 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010, Tomasz Sowa
* Copyright (c) 2010-2013, Tomasz Sowa
* All rights reserved.
*
*/
#include <unistd.h>
#include "dbconn.h"
#include "core/log.h"
#include "core/error.h"
@@ -76,7 +77,7 @@ void DbConn::WaitForConnection()
{
if( !pg_conn || PQstatus(pg_conn) != CONNECTION_OK )
{
log << log3 << "Db: waiting for the db to be ready...." << logend;
log << log3 << "Db: waiting for the db to be ready...." << logend << logsave;
while( !AssertConnection(false, false) )
sleep(5);

View File

@@ -5,11 +5,11 @@ all: $(o)
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $<
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. -I.. -I../../ezc/src -I../../pikotools -I../../tito/src -f- *.cpp > Makefile.dep
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1 @@
o = adduser.o cat.o chmod.o chown.o ckeditor.o cp.o default.o download.o emacs.o env.o functionbase.o functionparser.o functions.o ipban.o last.o ln.o locale.o login.o logout.o ls.o man.o meta.o mkdir.o mount.o mv.o nicedit.o node.o passwd.o priv.o privchanger.o pw.o reload.o rm.o rmuser.o run.o sort.o specialdefault.o stat.o subject.o template.o timezone.o tinymce.o uname.o upload.o uptime.o vim.o who.o
o = account.o adduser.o cat.o chmod.o chown.o ckeditor.o cp.o default.o download.o emacs.o env.o functionbase.o functionparser.o functions.o imgcrop.o ipban.o last.o ln.o locale.o login.o logout.o ls.o man.o meta.o mkdir.o mount.o mv.o nicedit.o node.o passwd.o priv.o privchanger.o pw.o reload.o rm.o rmuser.o run.o sort.o specialdefault.o stat.o subject.o template.o timezone.o tinymce.o uname.o upload.o uptime.o vim.o who.o

134
functions/account.cpp Executable file
View File

@@ -0,0 +1,134 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2013, Tomasz Sowa
* All rights reserved.
*
*/
#include "account.h"
#include "core/log.h"
#include "core/misc.h"
#include "functions/functions.h"
namespace Fun
{
Account::Account()
{
fun.url = L"account";
}
bool Account::ActivateAccount(User * puser, long code, bool use_ses_log)
{
std::wstring * user_code_str = puser->aenv.GetValue(L"activation_code");
if( user_code_str )
{
if( Tol(*user_code_str) == code )
{
if( db->ChangeUserStatus(puser->id, WINIX_ACCOUNT_READY) == WINIX_ERR_OK )
{
puser->aenv.Remove(L"activation_code");
db->ChangeUserAdminEnv(puser->id, puser->aenv);
puser->status = WINIX_ACCOUNT_READY;
log << log2 << "Account: account: " << puser->name << " activated" << logend;
if( use_ses_log )
slog << loginfo << T(L"account_activated") << logend;
return true;
}
else
{
log << log1 << "Account: account not activated -- database error" << logend;
}
}
else
{
// !! IMPROVE ME if too many errors from the same IP address
// add this ip to the banip list
log << log2 << "Account: incorrect activation code" << logend;
if( use_ses_log )
slog << logerror << T(L"incorrect_activation_code") << logend;
}
}
else
{
log << log1 << "Account: there is no activation_code value in an admin environment" << logend;
if( use_ses_log )
slog << loginfo << T(L"account_cannot_be_activated") << logend;
}
return false;
}
bool Account::ActivateAccount(const std::wstring & login, long code, bool use_ses_log)
{
bool result = false;
User * puser = system->users.GetUser(login);
if( puser )
{
if( puser->status == WINIX_ACCOUNT_NOT_ACTIVATED )
{
result = ActivateAccount(puser, code, use_ses_log);
}
else
{
log << log2 << "Account: this account is already activated" << logend;
if( use_ses_log )
slog << loginfo << T(L"account_already_activated") << logend;
}
}
else
{
log << log1 << "Account: there is no a user: " << login << logend;
}
return result;
}
void Account::ActivateAccount()
{
const std::wstring & login = cur->request->ParamValue(L"login");
long code = Tol(cur->request->ParamValue(L"code"));
if( !login.empty() )
{
ActivateAccount(login, code, true);
system->RedirectToLastItem();
}
}
void Account::MakePost()
{
}
void Account::MakeGet()
{
if( cur->request->IsParam(L"activate") )
ActivateAccount();
}
} // namespace

41
functions/account.h Executable file
View File

@@ -0,0 +1,41 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2013, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfile_winix_functions_account
#define headerfile_winix_functions_account
#include "functionbase.h"
namespace Fun
{
class Account : public FunctionBase
{
public:
Account();
void MakeGet();
void MakePost();
bool ActivateAccount(const std::wstring & login, long code, bool use_ses_log = false);
private:
bool ActivateAccount(User * puser, long code, bool use_ses_log);
void ActivateAccount();
};
} // namespace
#endif

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010-2012, Tomasz Sowa
* Copyright (c) 2010-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -182,6 +182,7 @@ void Functions::Add(FunctionBase & fun)
void Functions::CreateFunctions()
{
Add(fun_account);
Add(fun_adduser);
Add(fun_cat);
Add(fun_chmod);
@@ -192,6 +193,7 @@ void Functions::CreateFunctions()
Add(fun_download);
Add(fun_emacs);
Add(fun_env);
Add(fun_imgcrop);
Add(fun_last);
Add(fun_locale);
Add(fun_login);

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010-2012, Tomasz Sowa
* Copyright (c) 2010-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -13,6 +13,7 @@
#include <string>
#include "functionbase.h"
#include "functionparser.h"
#include "account.h"
#include "adduser.h"
#include "cat.h"
#include "chmod.h"
@@ -23,6 +24,7 @@
#include "download.h"
#include "emacs.h"
#include "env.h"
#include "imgcrop.h"
#include "last.h"
#include "locale.h"
#include "login.h"
@@ -67,6 +69,7 @@ class Functions
{
public:
Fun::Account fun_account;
Fun::AddUser fun_adduser;
Fun::Cat fun_cat;
Fun::Chmod fun_chmod;
@@ -77,6 +80,7 @@ public:
Fun::Download fun_download;
Fun::Emacs fun_emacs;
Fun::Env fun_env;
Fun::ImgCrop fun_imgcrop;
Fun::Last fun_last;
Fun::Locale fun_locale;
Fun::Login fun_login;

105
functions/imgcrop.cpp Executable file
View File

@@ -0,0 +1,105 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2013, Tomasz Sowa
* All rights reserved.
*
*/
#include "imgcrop.h"
#include "functions.h"
namespace Fun
{
ImgCrop::ImgCrop()
{
fun.url = L"imgcrop";
}
bool ImgCrop::HasAccess()
{
if( cur->request->is_item )
return system->HasWriteAccess(cur->request->item);
return true;
}
void ImgCrop::GetDirContent()
{
iq.sel_type = Item::file;
iq.sel_content = false;
iq.WhereParentId(cur->request->dir_tab.back()->id);
iq.WhereFileType(WINIX_ITEM_FILETYPE_IMAGE);
db->GetItems(cur->request->item_tab, iq);
system->CheckWriteAccessToItems(cur->request->item_tab);
}
void ImgCrop::MakePost()
{
int xoffset = int(Tod(cur->request->PostVar(L"cropxtop")) + 0.5);
int yoffset = int(Tod(cur->request->PostVar(L"cropytop")) + 0.5);
int width = int(Tod(cur->request->PostVar(L"cropwidth")) + 0.5);
int height = int(Tod(cur->request->PostVar(L"cropheight")) + 0.5);
SetMinMax(xoffset, 0, 30000);
SetMinMax(yoffset, 0, 30000);
SetMinMax(width, 1, 30000);
SetMinMax(height, 1, 30000);
Item & item = cur->request->item;
if( cur->request->is_item && item.type == Item::file && item.file_type == WINIX_ITEM_FILETYPE_IMAGE )
{
if( system->HasWriteAccess(item) )
{
// !! IMPROVE ME add info about modification (Item::modify_time)
if( cur->request->IsParam(L"thumb") )
{
Image::Scale scale = system->image.GetThumbScale(item.parent_id);
system->image.CropThumb(item.id, xoffset, yoffset, width, height, scale.quality);
}
else
if( cur->request->IsParam(L"newthumb") )
{
Image::Scale scale = system->image.GetThumbScale(item.parent_id);
system->image.CropNewThumb(item.id, xoffset, yoffset, width, height, scale.cx, scale.cy,
scale.aspect_mode, scale.quality);
}
else
{
Image::Scale scale = system->image.GetImageScale(item.parent_id);
system->image.Crop(item.id, xoffset, yoffset, width, height, scale.quality);
}
// !! IMPROVE ME redirect me somewhere else
system->RedirectToLastItem();
}
else
{
cur->request->status = WINIX_ERR_PERMISSION_DENIED;
}
}
}
void ImgCrop::MakeGet()
{
if( !cur->request->is_item )
GetDirContent();
}
} // namespace

42
functions/imgcrop.h Executable file
View File

@@ -0,0 +1,42 @@
/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2013, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfile_winix_functions_imgcrop
#define headerfile_winix_functions_imgcrop
#include "functionbase.h"
namespace Fun
{
class ImgCrop : public FunctionBase
{
public:
ImgCrop();
bool HasAccess();
void MakeGet();
void MakePost();
private:
DbItemQuery iq;
void GetDirContent();
};
} // namespace
#endif

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2011-2012, Tomasz Sowa
* Copyright (c) 2011-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -25,7 +25,8 @@ Passwd::Passwd()
bool Passwd::HasAccess()
{
return cur->session->puser != 0;
// a not logged user can use this function to reset his password
return true;
}
@@ -124,6 +125,127 @@ long user_id;
}
bool Passwd::SetNewPassword(User * puser, bool use_ses_log)
{
bool result = false;
const std::wstring & pass = cur->request->PostVar(L"passwordnew");
const std::wstring & pass_conf = cur->request->PostVar(L"passwordconfirm");
if( IsPasswordCorrect(pass, pass_conf, use_ses_log) )
{
if( ChangePassword(puser->id, pass) )
{
result = true;
if( use_ses_log )
slog << loginfo << T("pw_password_changed") << logend;
}
else
{
if( use_ses_log )
slog << logerror << T("service_unavailable") << logend;
}
}
return result;
}
bool Passwd::ResetPassword(User * puser, long code, bool use_ses_log, bool only_check_access)
{
std::wstring * user_code_str = puser->aenv.GetValue(L"password_change_code");
if( user_code_str )
{
if( Tol(*user_code_str) == code )
{
if( only_check_access )
return true;
else
return SetNewPassword(puser, use_ses_log);
}
else
{
log << log2 << "Passwd: incorrect change password code" << logend;
if( use_ses_log )
slog << logerror << T(L"incorrect_change_password_code") << logend;
}
}
else
{
log << log1 << "Passwd: there is no change password code in admin environment" << logend;
if( use_ses_log )
slog << loginfo << T(L"password_cannot_be_changed") << logend;
}
return false;
}
bool Passwd::ResetPassword(const std::wstring & login, long code, bool use_ses_log, bool only_check_access)
{
bool result = false;
User * puser = system->users.GetUser(login);
if( puser )
{
long t = static_cast<long>(cur->request->start_time);
if( puser->aenv.Long(L"password_change_time") + config->reset_password_code_expiration_time > t )
{
result = ResetPassword(puser, code, use_ses_log, only_check_access);
}
else
{
log << log2 << "Passwd: the code has expired" << logend;
if( use_ses_log )
slog << logerror << T(L"code_expired") << logend;
}
}
else
{
log << log1 << "Passwd: there is no a user: " << login << logend;
}
return result;
}
void Passwd::ResetPassword()
{
const std::wstring & login = cur->request->PostVar(L"login");
long code = Tol(cur->request->PostVar(L"code"));
if( ResetPassword(login, code, true, false) )
system->RedirectToLastItem();
}
void Passwd::ShowResetPasswordForm()
{
const std::wstring & login = cur->request->ParamValue(L"login");
long code = Tol(cur->request->ParamValue(L"code"));
if( !login.empty() )
{
if( !ResetPassword(login, code, true, true) )
system->RedirectToLastItem();
}
else
{
system->RedirectToLastItem();
}
}
/*
if you are a root (super_user) you can change a password for everyone
(the html form has a select option)
@@ -149,8 +271,24 @@ const std::wstring * plogin;
else
log << log1 << "Passwd: there is no such a user: " << *plogin << logend;
}
else
if( cur->request->IsParam(L"resetpassword") )
{
ResetPassword();
}
}
void Passwd::MakeGet()
{
if( cur->request->IsParam(L"resetpassword") )
ShowResetPasswordForm();
else
if( !cur->session->puser )
cur->request->status = WINIX_ERR_PERMISSION_DENIED;
}
} // namespace

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2011, Tomasz Sowa
* Copyright (c) 2011-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -24,10 +24,12 @@ public:
Passwd();
bool HasAccess();
void MakeGet();
void MakePost();
bool IsPasswordCorrect(const std::wstring & pass, const std::wstring & conf_pass, bool use_ses_log = false);
bool ChangePassword(long user_id, const std::wstring & new_password);
bool ResetPassword(const std::wstring & login, long code, bool use_ses_log = false, bool only_check_access = false);
private:
@@ -35,6 +37,12 @@ private:
void ChangePassword(User * puser);
bool ResetPassword(User * puser, long code, bool use_ses_log);
bool SetNewPassword(User * puser, bool use_ses_log);
bool ResetPassword(User * puser, long code, bool use_ses_log, bool only_check_access);
void ResetPassword();
void ShowResetPasswordForm();
};

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2012, Tomasz Sowa
* Copyright (c) 2012-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -10,7 +10,7 @@
#include "pw.h"
#include "core/log.h"
#include "core/misc.h"
#include "functions/functions.h"
namespace Fun
@@ -19,6 +19,7 @@ namespace Fun
Pw::Pw()
{
fun.url = L"pw";
fun.privileges = 07000;
}
@@ -29,224 +30,16 @@ bool Pw::HasAccess()
bool Pw::ActivateAccount(User * puser, long code, bool use_ses_log)
{
std::wstring * user_code_str = puser->aenv.GetValue(L"activation_code");
if( user_code_str )
{
if( Tol(*user_code_str) == code )
{
if( db->ChangeUserStatus(puser->id, WINIX_ACCOUNT_READY) == WINIX_ERR_OK )
{
puser->aenv.Remove(L"activation_code");
db->ChangeUserAdminEnv(puser->id, puser->aenv);
puser->status = WINIX_ACCOUNT_READY;
log << log2 << "Pw: account: " << puser->name << " activated" << logend;
if( use_ses_log )
slog << loginfo << T(L"account_activated") << logend;
return true;
}
else
{
log << log1 << "Pw: account not activated -- database error" << logend;
}
}
else
{
log << log2 << "Pw: incorrect activation code" << logend;
if( use_ses_log )
slog << logerror << T(L"incorrect_activation_code") << logend;
}
}
else
{
log << log1 << "Pw: there is no activation_code value in admin environment" << logend;
if( use_ses_log )
slog << loginfo << T(L"account_cannot_be_activated") << logend;
}
return false;
}
bool Pw::ActivateAccount(const std::wstring & login, long code, bool use_ses_log)
{
bool result = false;
User * puser = system->users.GetUser(login);
if( puser )
{
if( puser->status == WINIX_ACCOUNT_NOT_ACTIVATED )
{
result = ActivateAccount(puser, code, use_ses_log);
}
else
{
log << log2 << "Pw: this account is already activated" << logend;
if( use_ses_log )
slog << loginfo << T(L"account_already_activated") << logend;
}
}
else
{
log << log1 << "Pw: there is no a user: " << login << logend;
}
return result;
}
void Pw::ActivateAccount()
{
const std::wstring & login = cur->request->ParamValue(L"login");
long code = Tol(cur->request->ParamValue(L"code"));
ActivateAccount(login, code, true);
system->RedirectToLastItem();
}
bool Pw::SetNewPassword(User * puser, bool use_ses_log)
{
bool result = false;
const std::wstring & pass = cur->request->PostVar(L"passwordnew");
const std::wstring & pass_conf = cur->request->PostVar(L"passwordconfirm");
if( functions->fun_passwd.IsPasswordCorrect(pass, pass_conf, use_ses_log) )
{
if( functions->fun_passwd.ChangePassword(puser->id, pass) )
{
result = true;
if( use_ses_log )
slog << loginfo << T("pw_password_changed") << logend;
}
else
{
if( use_ses_log )
slog << logerror << T("service_unavailable") << logend;
}
}
return result;
}
bool Pw::ResetPassword(User * puser, long code, bool use_ses_log, bool only_check_access)
{
std::wstring * user_code_str = puser->aenv.GetValue(L"password_change_code");
if( user_code_str )
{
if( Tol(*user_code_str) == code )
{
if( only_check_access )
return true;
else
return SetNewPassword(puser, use_ses_log);
}
else
{
log << log2 << "Pw: incorrect change password code" << logend;
if( use_ses_log )
slog << logerror << T(L"incorrect_change_password_code") << logend;
}
}
else
{
log << log1 << "Pw: there is no change password code in admin environment" << logend;
if( use_ses_log )
slog << loginfo << T(L"password_cannot_be_changed") << logend;
}
return false;
}
bool Pw::ResetPassword(const std::wstring & login, long code, bool use_ses_log, bool only_check_access)
{
bool result = false;
User * puser = system->users.GetUser(login);
if( puser )
{
long t = static_cast<long>(cur->request->start_time);
if( puser->aenv.Long(L"password_change_time") + config->reset_password_code_expiration_time > t )
{
result = ResetPassword(puser, code, use_ses_log, only_check_access);
}
else
{
log << log2 << "Pw: the code has expired" << logend;
if( use_ses_log )
slog << logerror << T(L"code_expired") << logend;
}
}
else
{
log << log1 << "Pw: there is no a user: " << login << logend;
}
return result;
}
void Pw::ResetPassword()
{
const std::wstring & login = cur->request->PostVar(L"login");
long code = Tol(cur->request->PostVar(L"code"));
ResetPassword(login, code, true, false);
system->RedirectToLastItem();
}
void Pw::ShowResetPasswordForm()
{
const std::wstring & login = cur->request->ParamValue(L"login");
long code = Tol(cur->request->ParamValue(L"code"));
if( !login.empty() )
{
if( !ResetPassword(login, code, true, true) )
system->RedirectToLastItem();
}
else
{
system->RedirectToLastItem();
}
}
/* this function will be used for: adding a new user, adding a new group, deleting an existing user etc. */
void Pw::MakePost()
{
if( cur->request->IsParam(L"resetpassword") )
ResetPassword();
}
void Pw::MakeGet()
{
if( cur->request->IsParam(L"activate") )
ActivateAccount();
else
if( cur->request->IsParam(L"resetpassword") )
ShowResetPasswordForm();
}

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2012, Tomasz Sowa
* Copyright (c) 2012-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -27,18 +27,9 @@ public:
void MakePost();
void MakeGet();
bool ActivateAccount(const std::wstring & login, long code, bool use_ses_log = false);
bool ResetPassword(const std::wstring & login, long code, bool use_ses_log = false, bool only_check_access = false);
private:
bool ActivateAccount(User * puser, long code, bool use_ses_log);
bool ResetPassword(User * puser, long code, bool use_ses_log);
void ActivateAccount();
bool SetNewPassword(User * puser, bool use_ses_log);
bool ResetPassword(User * puser, long code, bool use_ses_log, bool only_check_access);
void ResetPassword();
void ShowResetPasswordForm();
};

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2012, Tomasz Sowa
* Copyright (c) 2008-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -214,6 +214,38 @@ return RemoveFile(item);
}
bool Rm::RemoveFileOrSymlink(long item_id, bool check_access)
{
bool result = false;
// selecting files, symlinks and directories
rm_by_id_iq.SetAll(false, false);
rm_by_id_iq.sel_parent_id = true;
rm_by_id_iq.sel_type = true;
rm_by_id_iq.sel_url = true;
rm_by_id_iq.sel_file = true;
rm_by_id_iq.sel_user_id = true;
rm_by_id_iq.sel_group_id = true;
rm_by_id_iq.sel_privileges = true;
rm_by_id_iq.sel_meta = true;
rm_by_id_iq.WhereId(item_id);
if( db->GetItem(rm_by_id_item, rm_by_id_iq) == WINIX_ERR_OK )
{
if( rm_by_id_item.type == Item::file || rm_by_id_item.type == Item::symlink )
{
result = RemoveFileOrSymlink(rm_by_id_item, check_access);
}
else
{
log << log2 << "Rm: I cannot remove file or symlink, item_id: " << item_id
<< " is a directory" << logend;
}
}
return result;
}
// for other uses (plugins etc)
bool Rm::RemoveItemById(long item_id, bool check_access)

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010-2012, Tomasz Sowa
* Copyright (c) 2010-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -31,6 +31,7 @@ public:
void RemoveDirTree(Item & dir, bool remove_this_dir, bool check_access = true);
// removing either a file or a symlink
bool RemoveFileOrSymlink(long item_id, bool check_access = true);
bool RemoveFileOrSymlink(Item & item, bool check_access = true);
// removing either a directory or a symlink or a file

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2012, Tomasz Sowa
* Copyright (c) 2008-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -89,68 +89,16 @@ bool Upload::UploadSaveStaticFile(const Item & item, const std::wstring & tmp_fi
void Upload::ResizeImage(Item & item)
{
::Mount * m = system->mounts.CalcMount(item.parent_id);
size_t cx = config->image_cx;
size_t cy = config->image_cy;
int mode = config->image_mode;
int quality = config->image_quality;
// reading width and height from the mount point (if exists)
int index = system->mounts.MountParImageSize();
if( m && m->param[index].defined && m->param[index].arg.size() == 2 )
{
cx = Tol(m->param[index].arg[0]);
cy = Tol(m->param[index].arg[1]);
}
// reading image mode from the mount point (if exists)
index = system->mounts.MountParImageMode();
if( m && m->param[index].defined && m->param[index].arg.size() == 1 )
mode = Toi(m->param[index].arg[0]);
// reading image quality from the mount point (if exists)
index = system->mounts.MountParImageQuality();
if( m && m->param[index].defined && m->param[index].arg.size() == 1 )
quality = Toi(m->param[index].arg[0]);
system->image.Resize(item, cx, cy, mode, quality);
Image::Scale scale = system->image.GetImageScale(item.parent_id);
system->image.Resize(item.id, scale.cx, scale.cy, scale.aspect_mode, scale.quality);
}
void Upload::CreateThumb(Item & item)
{
::Mount * m = system->mounts.CalcMount(item.parent_id);
size_t cx = config->thumb_cx;
size_t cy = config->thumb_cy;
int mode = config->thumb_mode;
int quality = config->thumb_quality;
// reading width and height from the mount point (if exists)
int index = system->mounts.MountParThumbSize();
if( m && m->param[index].defined && m->param[index].arg.size() == 2 )
{
cx = Tol(m->param[index].arg[0]);
cy = Tol(m->param[index].arg[1]);
}
// reading thumb mode from the mount point (if exists)
index = system->mounts.MountParThumbMode();
if( m && m->param[index].defined && m->param[index].arg.size() == 1 )
mode = Toi(m->param[index].arg[0]);
// reading image quality from the mount point (if exists)
index = system->mounts.MountParThumbQuality();
if( m && m->param[index].defined && m->param[index].arg.size() == 1 )
quality = Toi(m->param[index].arg[0]);
system->image.CreateThumb(item, cx, cy, mode, quality);
Image::Scale scale = system->image.GetThumbScale(item.parent_id);
system->image.CreateThumb(item.id, scale.cx, scale.cy, scale.aspect_mode, scale.quality);
}

20
html/fun_account.html Normal file
View File

@@ -0,0 +1,20 @@
<div class="winix">
<h1>Account</h1>
[if user_logged]
<p>You are logged as: [user_name]<br>
[if user_super_user]
You are the root
[end]
[# !! IMPROVE ME add info about groups, may other parameters like time zone, language?]
</p>
[else]
<p>You are not logged in.</p>
[end]
</div>

View File

@@ -48,7 +48,10 @@
[if ticket_tab_type_is "images"]
[for ticket_tab_file_tab]
<img src="[doc_base_url][ticket_tab_file_tab_path]/-/thumb" alt="[ticket_tab_file_tab_path]" height="150">
<div class="winix_create_ticket_file_row">
<img src="[doc_base_url][ticket_tab_file_tab_path]/-/thumb" alt="[ticket_tab_file_tab_path]" height="150">
<input type="submit" name="ticketdeletefile_[ticket_tab_file_tab_itemid]" value="{ticket_delete_file}">
</div>
[end]
<input size="30" type="file" name="ticketparam[ticket_tab_param_id]" multiple>
@@ -60,7 +63,11 @@
[if ticket_tab_file_tab]
<ul>
[for ticket_tab_file_tab]
<li><a href="[doc_base_url][ticket_tab_file_tab_path]/download">[ticket_tab_file_tab_path]</a></li>
<li>
<a href="[doc_base_url][ticket_tab_file_tab_path]/download">[ticket_tab_file_tab_path]</a>
[# !! CHECK ME how this look like -- css was not set]
<input type="submit" name="ticketdeletefile_[ticket_tab_file_tab_itemid]" value="{ticket_delete_file}">
</li>
[end]
</ul>
[end]

View File

@@ -1,16 +1,19 @@
<div class="winix">
<h1>Export</h1>
<h1>{export_header}</h1>
<p>Press Export to transfer the [if item_is]file[else]directory[end] to an external ftp server</p>
[if item_is]
<p>{export_transer_file_info}</p>
[else]
<p>{export_transer_dir_info}</p>
[end]
<form action="[doc_base_url][dir][if item_is][item_url]/[end]export" method="post">
<fieldset>
<input type="checkbox" name="onlynonstatic" id="nonstaticfiles"><label for="nonstaticfiles">Export only non static files</label>
<input type="checkbox" name="staticfilestoo" id="nonstaticfiles"><label for="nonstaticfiles">{export_checkbox_static_file_too}</label>
<br><br>
<input type="submit" value="Export">
@@ -19,8 +22,6 @@
<input type="hidden" name="postredirect" value="[winix_function_param_value "postredirect"]">
[end]
</fieldset>
</form>

View File

@@ -35,17 +35,62 @@
<script type="text/javascript">Galleria.loadTheme('[doc_base_url_common]/aino-galleria/themes/classic/galleria.classic.js');</script>
[end]
[end]
[if-no winix_function_param_is "image"]
<script type="text/javascript">$('.galleryimages').galleria();</script>
[else]
<script type="text/javascript">$('.galleryimages').galleria(\{show: [winix_function_param_value "image"]\});</script>
[# !! IMPROVE ME add this javascript code to the rest of galleria types]
<script type="text/javascript">var url = window.document.URL.toString(); var num = 0; var re = /\/image:(\d+)/; var numarr = re.exec(url); if( numarr && numarr.length == 2 ) \{var num = numarr\[1\];\}; $('.galleryimages').galleria(\{show: num\});</script>
[end]
[end]
[end]
[if gallery_mount_type_arg_is "galleria1.2.9"]
[if gallery_tab]
<ul class="galleryimages" style="width: [gallery_width]; height: [gallery_height];">
[for gallery_tab]
<li><a href="[gallery_tab_link]"><img src="[gallery_tab_link]/-/thumb" alt="[gallery_tab_subject]"></a></li>
[end]
</ul>
[if gallery_mount_theme_arg_is "transparent"]
<script type="text/javascript">Galleria.loadTheme('[doc_base_url_common]/galleria/themes/transparent/galleria.transparent.js');</script>
[if-no winix_function_param_is "image"]
<script type="text/javascript">Galleria.configure(\{showInfo:false\}); Galleria.run('.galleryimages');</script>
[else]
<script type="text/javascript">Galleria.configure(\{showInfo:false, show: [winix_function_param_value "image"]\}); Galleria.run('.galleryimages');</script>
[end]
[else]
[if gallery_mount_theme_arg_is "transparentinfo"]
<script type="text/javascript">Galleria.loadTheme('[doc_base_url_common]/galleria/themes/transparentinfo/galleria.transparent.js');</script>
[if-no winix_function_param_is "image"]
<script type="text/javascript">Galleria.configure(\{\}); Galleria.run('.galleryimages');</script>
[else]
<script type="text/javascript">Galleria.configure(\{show: [winix_function_param_value "image"]\}); Galleria.run('.galleryimages');</script>
[end]
[else]
<script type="text/javascript">Galleria.loadTheme('[doc_base_url_common]/galleria/themes/classic/galleria.classic.js');</script>
[if-no winix_function_param_is "image"]
<script type="text/javascript">Galleria.configure(\{\}); Galleria.run('.galleryimages');</script>
[else]
<script type="text/javascript">Galleria.configure(\{show: [winix_function_param_value "image"]\}); Galleria.run('.galleryimages');</script>
[end]
[end]
[end]
[end]
[end]
[if gallery_mount_type_arg_is "galleriathumb"]
@@ -79,4 +124,43 @@
[end]
[if gallery_mount_type_arg_is "galleriathumb1.2.9"]
[if-no winix_function_param_is "image"]
[if gallery_tab]
<ul class="galleryimages">
[for gallery_tab]
<li><a href="[doc_base_url][dir]-/image:[gallery_tab_index]"><img src="[gallery_tab_link]/-/thumb" alt="[gallery_tab_subject]"></a></li>
[end]
</ul>
[end]
[else]
[if gallery_tab]
<ul class="galleryimages" style="width: [gallery_width]; height: [gallery_height];">
[for gallery_tab]
<li><a href="[gallery_tab_link]"><img src="[gallery_tab_link]/-/thumb" alt="[gallery_tab_subject]"></a></li>
[end]
</ul>
[if gallery_mount_theme_arg_is "transparent"]
<script type="text/javascript">Galleria.loadTheme('[doc_base_url_common]/galleria/themes/transparent/galleria.transparent.js');</script>
<script type="text/javascript">Galleria.configure(\{showInfo:false, show: [winix_function_param_value "image"]\}); Galleria.run('.galleryimages');</script>
[else]
[if gallery_mount_theme_arg_is "transparentinfo"]
<script type="text/javascript">Galleria.loadTheme('[doc_base_url_common]/galleria/themes/transparentinfo/galleria.transparent.js');</script>
<script type="text/javascript">Galleria.configure(\{show: [winix_function_param_value "image"]\}); Galleria.run('.galleryimages');</script>
[end]
[end]
[end]
[end]
[end]
</div>

109
html/fun_imgcrop.html Normal file
View File

@@ -0,0 +1,109 @@
<div class="winix">
<h1>Kadrowanie obrazów</h1>
[if item_is]
[if winix_function_param_is "thumb"]
<p>Kadruj miniaturę zdjęcia, obraz oryginalny (duży) nie zostanie zmodyfikowany.</p>.
[else]
[if winix_function_param_is "newthumb"]
<p>Zaznacz myszką kadr na zdjęciu, z tej części zostanie stworzona nowa miniatura, obraz oryginalny (duży) nie zostanie zmodyfikowany.</p>.
[else]
<p>Kadruj oryginalny obraz (miniatura nie zostanie zmodyfikowana).</p>.
[end]
[end]
[if-any item_is item_filetype_is_image]
<script type="text/javascript">
var winix_jcrop;
</script>
<img src="[item_link][if winix_function_param_is "thumb"]/-/thumb[end]" alt="" id="winix_imgcropper">
<form id="winix_cropform" action="[item_link]/imgcrop[if winix_function_param_is "thumb"]/thumb[end][if winix_function_param_is "newthumb"]/newthumb[end]" method="post">
<input type="hidden" name="cropxtop" value="" id="winix_idcropxtop">
<input type="hidden" name="cropytop" value="" id="winix_idcropytop">
<input type="hidden" name="cropwidth" value="" id="winix_idcropwidth">
<input type="hidden" name="cropheight" value="" id="winix_idcropheight">
[if-any-no winix_function_param_is "thumb" winix_function_param_is "newthumb"]
[if false]
<div class="winix_input_b">
<input type="checkbox" name="createthumbtoo" id="winix_createthumbtooid">
<label for="winix_createthumbtooid">Stwórz także nową miniaturę</label>
</div>
[end]
[end]
[if winix_function_param_is "postredirect"]
<input type="hidden" name="postredirect" value="[winix_function_param_value "postredirect"]">
[end]
<input type="submit" value="Kadruj">
</form>
[else]
<p>To nie jest obrazek.</p>
[end]
<script type="text/javascript">
$('#winix_imgcropper').Jcrop(\{boxWidth: 700, boxHeight: 450\}, function()\{winix_jcrop = this;\});
$('form#winix_cropform').submit(function()\{
var c = winix_jcrop.tellSelect();
$('form#winix_cropform input#winix_idcropxtop').val(c.x);
$('form#winix_cropform input#winix_idcropytop').val(c.y);
$('form#winix_cropform input#winix_idcropwidth').val(c.w);
$('form#winix_cropform input#winix_idcropheight').val(c.h);
return c.w != 0 && c.h != 0;
\});
</script>
[else]
[if item_tab]
<ul class="winix_imgcrop_list">
[for item_tab]
<li>
<div class="winix_imgcrop_list_image">
<img src="[item_tab_link][if item_tab_has_thumb]/-/thumb[end]" alt="[item_tab_subject]">
</div>
<div class="winix_imgcrop_list_imageurl">
[item_tab_url]
</div>
<div class="winix_imgcrop_list_options">
<ul>
<li><a href="[item_tab_link]/imgcrop/postredirect:[filter fil_urlencode][doc_base_url][dir]imgcrop[end]">Kadruj zdjęcie</a></li>
<li><a href="[item_tab_link]/imgcrop/thumb/postredirect:[filter fil_urlencode][doc_base_url][dir]imgcrop[end]">Kadruj miniature</a></li>
<li><a href="[item_tab_link]/imgcrop/newthumb/postredirect:[filter fil_urlencode][doc_base_url][dir]imgcrop[end]">Kadruj i stwórz nową miniature</a></li>
</ul>
</div>
</li>
[end]
</ul>
[end]
[end]
</div>

View File

@@ -2,41 +2,70 @@
<h1>{passwd_header}</h1>
<form method="post" action="[doc_base_url][dir]passwd">
[if user_super_user]
[if winix_function_param_is "resetpassword"]
<form id="additem" method="post" action="[doc_base_url][dir]passwd/resetpassword">
<fieldset>
<legend>{passwd_form_legend}</legend>
<input type="hidden" name="login" value="[passwd_resetpass_login]">
<input type="hidden" name="code" value="[passwd_resetpass_code]">
<p class="withnext">{passwd_new_password}:</p>
<input class="edit" type="password" name="passwordnew" value="">
<p class="withnext">{passwd_confirm_new_password}:</p>
<input class="edit" type="password" name="passwordconfirm" value="">
<input class="submit" type="submit" value="{passwd_submit}">
[if winix_function_param_is "postredirect"]
<input type="hidden" name="postredirect" value="[winix_function_param_value "postredirect"]">
[end]
</fieldset>
</form>
[else]
<form method="post" action="[doc_base_url][dir]passwd">
[if user_super_user]
<div class="winix_input_a">
<label for="winix_users_id">{passwd_login}:</label>
<select name="login" id="winix_users_id">
[for user_tab]
<option [if user_tab_is_current]selected[end]>[user_tab_name]</option>
[end]
</div>
</select>
[else]
<div class="winix_input_a">
<label for="winix_current_pass_id">{passwd_current_password}:</label>
<input id="winix_current_pass_id" type="password" name="passwordcur" value="">
</div>
[end]
<div class="winix_input_a">
<label for="winix_users_id">{passwd_login}:</label>
<select name="login" id="winix_users_id">
[for user_tab]
<option [if user_tab_is_current]selected[end]>[user_tab_name]</option>
[end]
<label for="winix_pass_new_id">{passwd_new_password}:</label>
<input id="winix_pass_new_id" type="password" name="passwordnew" value="">
</div>
</select>
[else]
<div class="winix_input_a">
<label for="winix_current_pass_id">{passwd_current_password}:</label>
<input id="winix_current_pass_id" type="password" name="passwordcur" value="">
<label for="winix_pass_new_confirm_id">{passwd_confirm_new_password}:</label>
<input id="winix_pass_new_confirm_id" type="password" name="passwordconfirm" value="">
</div>
[end]
<div class="winix_input_a">
<label for="winix_pass_new_id">{passwd_new_password}:</label>
<input id="winix_pass_new_id" type="password" name="passwordnew" value="">
</div>
<div class="winix_input_a">
<label for="winix_pass_new_confirm_id">{passwd_confirm_new_password}:</label>
<input id="winix_pass_new_confirm_id" type="password" name="passwordconfirm" value="">
</div>
[if winix_function_param_is "postredirect"]
<input type="hidden" name="postredirect" value="[winix_function_param_value "postredirect"]">
[end]
[if winix_function_param_is "postredirect"]
<input type="hidden" name="postredirect" value="[winix_function_param_value "postredirect"]">
[end]
<input type="submit" value="{passwd_submit}">
<input type="submit" value="{passwd_submit}">
</form>
</form>
[end]
</div>

View File

@@ -2,59 +2,30 @@
<h1>Pw</h1>
[if winix_function_param_is "resetpassword"]
<form id="additem" method="post" action="[doc_base_url][dir]pw/resetpassword">
<fieldset>
<legend>{passwd_form_legend}</legend>
<input type="hidden" name="login" value="[pw_change_password_login]">
<input type="hidden" name="code" value="[pw_users_change_password_code]">
<p class="withnext">{passwd_new_password}:</p>
<input class="edit" type="password" name="passwordnew" value="">
<p class="withnext">{passwd_confirm_new_password}:</p>
<input class="edit" type="password" name="passwordconfirm" value="">
<input class="submit" type="submit" value="{passwd_submit}">
[if winix_function_param_is "postredirect"]
<input type="hidden" name="postredirect" value="[winix_function_param_value "postredirect"]">
[end]
</fieldset>
</form>
[else]
[if user_tab]
<table class="tablec">
<tr>
<th>{pw_table_no}</th>
<th>{pw_table_login}</th>
<th>{pw_table_is_root}</th>
<th>{pw_table_is_active}</th>
<th>{pw_table_is_suspended}</th>
<th>{pw_table_is_banned}</th>
[if user_tab]
<table class="tablec">
<tr>
<th>{pw_table_no}</th>
<th>{pw_table_login}</th>
<th>{pw_table_is_root}</th>
<th>{pw_table_is_active}</th>
<th>{pw_table_is_suspended}</th>
<th>{pw_table_is_banned}</th>
</tr>
[for user_tab]
<tr class="[if-index odd]roweven[else]rowodd[end]">
<td>[user_tab_index]</td>
<td>[user_tab_name]</td>
<td>[if user_tab_is_super_user]{pw_table_yes}[end]</td>
<td>[if user_tab_is_active]{pw_table_yes}[end]</td>
<td>[if user_tab_is_suspended]{pw_table_yes}[end]</td>
<td>[if user_tab_is_blocked]{pw_table_yes}[end]</td>
</tr>
[for user_tab]
<tr class="[if-index odd]roweven[else]rowodd[end]">
<td>[user_tab_index]</td>
<td>[user_tab_name]</td>
<td>[if user_tab_is_super_user]{pw_table_yes}[end]</td>
<td>[if user_tab_is_active]{pw_table_yes}[end]</td>
<td>[if user_tab_is_suspended]{pw_table_yes}[end]</td>
<td>[if user_tab_is_blocked]{pw_table_yes}[end]</td>
</tr>
[end]
</table>
[end]
</table>
[end]
</div>

View File

@@ -20,6 +20,10 @@
<li><a href="[doc_base_url][dir]reload/export">{reload_export}</a></li>
[end]
[if winix_has_plugin "menu"]
<li><a href="[doc_base_url][dir]reload/menu">{reload_menu}</a></li>
[end]
</ul>

View File

@@ -32,8 +32,11 @@
[for item_tab]
<li id="winix_sort_item_[item_tab_index]">
<input type="text" name="sort[item_tab_id]" value="[item_tab_sort]">
[# is it correct? may give this 'if' only to /-/thumb param? ]
[if item_tab_has_thumb]<img src="[item_tab_link]/-/thumb" alt="[item_tab_subject]">[end]
[item_tab_url]
[item_tab_url] [is-no item_tab_subject str ""]<span class="winix_sort_item_title">({sort_item_subject}: [item_tab_subject])</span>[end]
</li>
[end]
</ul>

View File

@@ -7,7 +7,7 @@
[if winix_function_param_is "jquery_upload"]
\[
\[
[for item_tab]
\{
"name":"[item_tab_url]",
@@ -162,8 +162,6 @@
</script>
</div>
<script type="text/javascript">
$('#fileupload button.start').css('display', 'none');

View File

@@ -6,7 +6,6 @@
<head>
<meta charset="{charset}">
<title>[doc_title]</title>
<link rel="stylesheet" href="[doc_base_url_common]/winix/winix.css">
[include "index_head_functions_add.html"]
</head>

View File

@@ -6,7 +6,6 @@
<head>
<meta charset="{charset}">
<title>[doc_title]</title>
<link rel="stylesheet" href="[doc_base_url_common]/winix/winix.css">
[include "index_head_functions_add.html"]
</head>

View File

@@ -9,6 +9,7 @@
winix_function_is "download"
winix_function_is "emacs"
winix_function_is "env"
winix_function_is "imgcrop"
winix_function_is "last"
winix_function_is "ln"
winix_function_is "locale"
@@ -79,10 +80,13 @@
[if winix_function_is "ticket"]
[# !! dodac lightboxa tylko jesli tickety zawieraja obrazki ]
<!--
[# warning: prototype doesn't work with jquery in clock tickets (in client panel)]
<link rel="stylesheet" href="[doc_base_url_common]/lightbox/lightbox.css" type="text/css" media="screen">
<script src="[doc_base_url_common]/lightbox/js/prototype.js" type="text/javascript"></script>
<script src="[doc_base_url_common]/lightbox/js/scriptaculous.js?load=effects,builder" type="text/javascript"></script>
<script src="[doc_base_url_common]/lightbox/js/lightbox.js" type="text/javascript"></script>
-->
[end]
@@ -99,38 +103,41 @@
<script type="text/javascript" src="[doc_base_url_common]/jquery-1.4.4.min.js"></script>
<script src="[doc_base_url_common]/aino-galleria/galleria-1.2.2.min.js" type="text/javascript"></script>
[end]
[if-one gallery_mount_type_arg_is "galleria1.2.9" gallery_mount_type_arg_is "galleriathumb1.2.9"]
<script type="text/javascript" src="[doc_base_url_common]/jquery-1.9.1.min.js"></script>
<script src="[doc_base_url_common]/galleria/galleria-1.2.9.min.js" type="text/javascript"></script>
[end]
[end]
[if winix_function_is "upload"]
[if winix_function_is "upload"]
[# Bootstrap CSS Toolkit styles]
[# I downloaded bootstrap.min.css and removed some normal elements from it such as html, body etc ]
[# I left only items with a class set]
[# <link rel="stylesheet" href="http://blueimp.github.com/cdn/css/bootstrap.min.css"> ]
<link rel="stylesheet" href="[doc_base_url_common]/bootstrap_custom_for_jqupload.css" type="text/css">
<link rel="stylesheet" href="[doc_base_url_common]/fileupload/others/bootstrap_custom_for_jqupload.css" type="text/css">
[# Generic page styles, removed, only one item there is there]
[# <link rel="stylesheet" href=".../fileupload/css/style.css"> ]
[# Bootstrap styles for responsive website layout, supporting different screen sizes]
<link rel="stylesheet" href="http://blueimp.github.com/cdn/css/bootstrap-responsive.min.css" type="text/css">
<link rel="stylesheet" href="[doc_base_url_common]/fileupload/others/bootstrap-responsive.min.css" type="text/css">
[# Bootstrap CSS fixes for IE6]
<!--\[if lt IE 7\]><link rel="stylesheet" href="http://blueimp.github.com/cdn/css/bootstrap-ie6.min.css" type="text/css"><!\[endif\]-->
<!--\[if lt IE 7\]><link rel="stylesheet" href="[doc_base_url_common]/fileupload/others/bootstrap-ie6.min.css" type="text/css"><!\[endif\]-->
[# Bootstrap Image Gallery styles]
<link rel="stylesheet" href="http://blueimp.github.com/Bootstrap-Image-Gallery/css/bootstrap-image-gallery.min.css" type="text/css">
<link rel="stylesheet" href="[doc_base_url_common]/fileupload/others/Bootstrap-Image-Gallery/css/bootstrap-image-gallery.min.css" type="text/css">
[# CSS to style the file input field as button and adjust the Bootstrap progress bars]
<link rel="stylesheet" href="[doc_base_url_common]/fileupload/css/jquery.fileupload-ui.css" type="text/css">
[# Shim to make HTML5 elements usable in older Internet Explorer versions]
<!--\[if lt IE 9\]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script><!\[endif\]-->
<!--\[if lt IE 9\]><script src="[doc_base_url_common]/fileupload/others/html5.js" type="text/javascript"></script><!\[endif\]-->
[# can be moved to the end of a page (before </html> tag) ]
@@ -140,17 +147,17 @@
<script type="text/javascript" src="[doc_base_url_common]/fileupload/js/vendor/jquery.ui.widget.js"></script>
[# The Templates plugin is included to render the upload/download listings]
<script type="text/javascript" src="http://blueimp.github.com/JavaScript-Templates/tmpl.min.js"></script>
<script type="text/javascript" src="[doc_base_url_common]/fileupload/others/JavaScript-Templates/tmpl.min.js"></script>
[# The Load Image plugin is included for the preview images and image resizing functionality]
<script type="text/javascript" src="http://blueimp.github.com/JavaScript-Load-Image/load-image.min.js"></script>
<script type="text/javascript" src="[doc_base_url_common]/fileupload/others/JavaScript-Load-Image/load-image.min.js"></script>
[# The Canvas to Blob plugin is included for image resizing functionality]
<script type="text/javascript" src="http://blueimp.github.com/JavaScript-Canvas-to-Blob/canvas-to-blob.min.js"></script>
<script type="text/javascript" src="[doc_base_url_common]/fileupload/others/JavaScript-Canvas-to-Blob/canvas-to-blob.min.js"></script>
[# Bootstrap JS and Bootstrap Image Gallery are not required, but included for the demo]
<script type="text/javascript" src="http://blueimp.github.com/cdn/js/bootstrap.min.js"></script>
<script type="text/javascript" src="http://blueimp.github.com/Bootstrap-Image-Gallery/js/bootstrap-image-gallery.min.js"></script>
<script type="text/javascript" src="[doc_base_url_common]/fileupload/others/bootstrap.min.js"></script>
<script type="text/javascript" src="[doc_base_url_common]/fileupload/others/Bootstrap-Image-Gallery/js/bootstrap-image-gallery.min.js"></script>
[# The Iframe Transport is required for browsers without support for XHR file uploads]
<script type="text/javascript" src="[doc_base_url_common]/fileupload/js/jquery.iframe-transport.js"></script>
@@ -163,11 +170,12 @@
[# The localization script]
<script type="text/javascript" src="[doc_base_url_common]/fileupload/js/locale.js"></script>
[# do not load main.js - is is at the end of fun_upload.html ]
[# do not load main.js - it is at the end of fun_upload.html ]
[# The XDomainRequest Transport is included for cross-domain file deletion for IE8+]
<!--\[if gte IE 8\]><script type="text/javascript" src="js/cors/jquery.xdr-transport.js"></script><!\[endif\]-->
<!--\[if gte IE 8\]><script type="text/javascript" src="[doc_base_url_common]/fileupload/js/cors/jquery.xdr-transport.js"></script><!\[endif\]-->
[end]
@@ -182,6 +190,13 @@
[end]
[if winix_function_is "imgcrop"]
<script type="text/javascript" src="[doc_base_url_common]/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="[doc_base_url_common]/jcrop-0.9.12/js/jquery.Jcrop.js"></script>
<link type="text/css" rel="stylesheet" href="[doc_base_url_common]/jcrop-0.9.12/css/jquery.Jcrop.css">
[end]
[if winix_has_plugin "stats"]
[include "stats_info.html"]

View File

@@ -24,6 +24,12 @@ account_already_activated = This account is already activated
account_cannot_be_activated = This account cannot be activated, please contact with the system administrator
account_email_sent = An email with an activation link has been sent to you
export_header = Export
export_transer_file_info = Press Export to transfer the file to an external ftp server
export_transer_dir_info = Press Export to transfer the directory to an external ftp server
export_checkbox_static_file_too = "Export static files too (images etc.)"
code_expired = The code has expired
password_cannot_be_changed = The password cannot be changed, please contact with the system administrator
incorrect_change_password_code = Incorrect code for changing your password
@@ -226,6 +232,7 @@ reload_templates = html templates
reload_tickets = tickets config files
reload_group = groups config files
reload_export = "export directories (FTP)"
reload_menu = plugin menu cache
rm_header = Remove
@@ -274,6 +281,7 @@ ticket_info_expected = Expected in
ticket_info_progress = Progress
ticket_reply_in_this_thread = Replay in this thread
ticket_value_not_set = this ticket doesn't have such a value yet
ticket_delete_file = Delete
template_header = Template
@@ -419,7 +427,7 @@ slog_turn_over = Session's log turned over due to size greater than
sort_header = Sort
sort_current_sortindex = Current sort index
sort_info_multi = Set an order of items by using the mouse.
sort_item_subject = Subject:
stat_header = Stat
stat_item_type = type

View File

@@ -26,6 +26,13 @@ account_already_activated = To konto jest już aktywowane
account_cannot_be_activated = To konto nie może być aktywowane, proszę skontaktować się z administratorem
account_email_sent = Wysłaliśmy Tobie email z linkiem aktywacyjnym
export_header = Export
export_transer_file_info = Wciśnij przycisk Export aby wysłać ten plik na zewnętrzny serwer ftp
export_transer_dir_info = Wciśnij przycisk Export aby wysłać podany katalog na zewnętrzny serwer ftp
export_checkbox_static_file_too = "Wyślij także pliki statyczne (zdjęcia itp.)"
code_expired = Ten kod stracił już swoją ważność
password_cannot_be_changed = Niestety nie możemy zmienić hasła dla tego konta, proszę skontaktować się z administratorem
incorrect_change_password_code = Nieprawidłowy kod do zmiany hasła
@@ -248,6 +255,7 @@ reload_templates = szablony html
reload_tickets = pliki konfiguracyjne ticketów
reload_group = pliki konfiguracyjne grup
reload_export = "katalogi exportu (FTP)"
reload_menu = cache pluginu 'menu'
rm_header = Usuń
@@ -293,6 +301,8 @@ ticket_info_expected = Oczekiwany w
ticket_info_progress = Postęp prac
ticket_reply_in_this_thread = Odpowiedz w tym wątku
ticket_value_not_set = to zgłoszenie nie ma jeszcze ustawionej tej wartości
ticket_delete_file = Usuń
template_header = Szablon
template_info_file = Bieżący szablon dla tego pliku
@@ -424,7 +434,7 @@ cp_follow_symlinks = Podążaj za linkami symbolicznymi
slog_warning = Ostrzeżenie
slog_error = Błąd
slog_error = Informacja
slog_info = Informacja
unknown_filesystem = Nieznany system plików
no_such_dir = Nie ma takiego katalogu
unknown_mount_type = Nieprawidłowy rodzaj punktu montowania
@@ -438,6 +448,7 @@ slog_turn_over = Log sesji wyczyszczony w związku z przekroczeniem wielkości
sort_header = Sortuj
sort_current_sortindex = Bieżący indeks sortowania
sort_info_multi = Ustaw kolejność elementów przeciągając je przy pomocy myszki.
sort_item_subject = Tytuł:
stat_header = Stat
stat_item_type = typ

View File

@@ -5,11 +5,11 @@ all: $(o)
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $<
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. -I.. -I../../ezc/src -I../../pikotools -I../../tito/src -f- *.cpp > Makefile.dep
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep

View File

@@ -1,58 +1,84 @@
# DO NOT DELETE
main.o: ../core/log.h ../core/textstream.h ../core/misc.h ../core/item.h
main.o: ../../winix/core/log.h ../../winix/core/textstream.h
main.o: ../../winix/core/misc.h ../../winix/core/item.h
main.o: ../../pikotools/space/space.h ../../pikotools/textstream/types.h
main.o: ../../pikotools/date/date.h ../core/requesttypes.h
main.o: ../../pikotools/date/date.h ../../winix/core/requesttypes.h
main.o: ../../pikotools/textstream/textstream.h
main.o: ../../pikotools/convert/convert.h ../../pikotools/convert/inttostr.h
main.o: ../../pikotools/membuffer/membuffer.h
main.o: ../../pikotools/textstream/types.h ../../pikotools/utf8/utf8.h
main.o: ../core/logmanipulators.h ../core/slog.h ../core/cur.h
main.o: ../core/request.h ../core/error.h ../core/config.h
main.o: ../../winix/core/logmanipulators.h ../../winix/core/slog.h
main.o: ../../winix/core/cur.h ../../winix/core/request.h
main.o: ../../winix/core/error.h ../../winix/core/config.h
main.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
main.o: ../core/htmlfilter.h ../templates/htmltextstream.h
main.o: ../core/textstream.h ../../pikotools/space/spacetojson.h
main.o: ../core/session.h ../core/user.h ../core/plugindata.h ../core/rebus.h
main.o: ../core/ipban.h ../core/mount.h ../templates/locale.h ../core/slog.h
main.o: ../core/app.h ../core/system.h ../core/job.h ../core/basethread.h
main.o: ../core/synchro.h ../core/dirs.h ../core/dircontainer.h ../db/db.h
main.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h ../core/error.h
main.o: ../db/dbitemquery.h ../core/item.h ../db/dbitemcolumns.h
main.o: ../core/user.h ../core/group.h ../core/dircontainer.h
main.o: ../core/ugcontainer.h ../core/log.h ../notify/notify.h
main.o: ../notify/notifypool.h ../templates/patterns.h ../templates/locale.h
main.o: ../templates/localefilter.h ../../ezc/src/ezc.h
main.o: ../../winix/core/htmlfilter.h ../../winix/templates/htmltextstream.h
main.o: ../../winix/core/textstream.h ../../pikotools/space/spacetojson.h
main.o: ../../winix/core/session.h ../../winix/core/user.h
main.o: ../../winix/core/plugindata.h ../../winix/core/rebus.h
main.o: ../../winix/core/ipban.h ../../winix/core/mount.h
main.o: ../../winix/templates/locale.h ../../winix/core/slog.h
main.o: ../../winix/core/app.h ../../winix/core/system.h
main.o: ../../winix/core/job.h ../../winix/core/basethread.h
main.o: ../../winix/core/synchro.h ../../winix/core/dirs.h
main.o: ../../winix/core/dircontainer.h ../../winix/db/db.h
main.o: ../../winix/db/dbbase.h ../../winix/db/dbconn.h
main.o: ../../winix/db/dbtextstream.h ../../winix/core/error.h
main.o: ../../winix/db/dbitemquery.h ../../winix/core/item.h
main.o: ../../winix/db/dbitemcolumns.h ../../winix/core/user.h
main.o: ../../winix/core/group.h ../../winix/core/dircontainer.h
main.o: ../../winix/core/ugcontainer.h ../../winix/core/log.h
main.o: ../../winix/notify/notify.h ../../winix/notify/notifypool.h
main.o: ../../winix/templates/patterns.h ../../winix/templates/locale.h
main.o: ../../winix/templates/localefilter.h ../../ezc/src/ezc.h
main.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
main.o: ../../ezc/src/functions.h ../../ezc/src/funinfo.h
main.o: ../../ezc/src/stringconv.h ../notify/notifythread.h
main.o: ../core/basethread.h ../notify/templatesnotify.h ../core/config.h
main.o: ../core/users.h ../core/ugcontainer.h ../core/lastcontainer.h
main.o: ../core/mounts.h ../core/mountparser.h ../core/crypt.h ../core/run.h
main.o: ../core/users.h ../core/groups.h ../core/group.h ../core/loadavg.h
main.o: ../core/image.h ../core/threadmanager.h ../core/timezones.h
main.o: ../core/timezone.h ../core/sessionmanager.h
main.o: ../core/sessioncontainer.h ../core/ipbancontainer.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 ../core/cur.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/default.h ../functions/download.h ../functions/emacs.h
main.o: ../functions/env.h ../functions/last.h ../functions/login.h
main.o: ../functions/logout.h ../functions/ln.h ../functions/ls.h
main.o: ../functions/man.h ../functions/meta.h ../functions/mkdir.h
main.o: ../functions/mv.h ../functions/nicedit.h ../functions/node.h
main.o: ../functions/passwd.h ../functions/priv.h ../functions/pw.h
main.o: ../functions/reload.h ../functions/rm.h ../functions/rmuser.h
main.o: ../functions/sort.h ../functions/specialdefault.h ../functions/stat.h
main.o: ../functions/subject.h ../functions/template.h ../functions/tinymce.h
main.o: ../functions/uname.h ../functions/upload.h ../functions/uptime.h
main.o: ../functions/who.h ../functions/vim.h ../core/htmlfilter.h
main.o: ../templates/templates.h ../templates/patterncacher.h
main.o: ../templates/indexpatterns.h ../templates/patterns.h
main.o: ../templates/changepatterns.h ../templates/htmltextstream.h
main.o: ../core/sessionmanager.h ../core/compress.h ../core/postparser.h
main.o: ../core/httpsimpleparser.h ../core/plugin.h ../core/pluginmsg.h
main.o: ../core/cookieparser.h ../core/postmultiparser.h
main.o: ../core/acceptencodingparser.h ../core/acceptbaseparser.h
main.o: ../core/plugin.h ../core/version.h
main.o: ../../ezc/src/stringconv.h ../../winix/notify/notifythread.h
main.o: ../../winix/core/basethread.h ../../winix/notify/templatesnotify.h
main.o: ../../winix/core/config.h ../../winix/core/users.h
main.o: ../../winix/core/ugcontainer.h ../../winix/core/lastcontainer.h
main.o: ../../winix/core/mounts.h ../../winix/core/mountparser.h
main.o: ../../winix/core/crypt.h ../../winix/core/run.h
main.o: ../../winix/core/users.h ../../winix/core/groups.h
main.o: ../../winix/core/group.h ../../winix/core/loadavg.h
main.o: ../../winix/core/image.h ../../winix/core/threadmanager.h
main.o: ../../winix/core/timezones.h ../../winix/core/timezone.h
main.o: ../../winix/core/sessionmanager.h ../../winix/core/sessioncontainer.h
main.o: ../../winix/core/ipbancontainer.h ../../winix/functions/functions.h
main.o: ../../winix/functions/functionbase.h ../../winix/core/request.h
main.o: ../../winix/core/system.h ../../winix/core/synchro.h
main.o: ../../winix/functions/functionparser.h ../../winix/core/cur.h
main.o: ../../winix/functions/account.h ../../winix/functions/adduser.h
main.o: ../../winix/functions/cat.h ../../winix/functions/chmod.h
main.o: ../../winix/functions/privchanger.h ../../winix/functions/chown.h
main.o: ../../winix/functions/ckeditor.h ../../winix/functions/cp.h
main.o: ../../winix/functions/default.h ../../winix/functions/download.h
main.o: ../../winix/functions/emacs.h ../../winix/functions/env.h
main.o: ../../winix/functions/imgcrop.h ../../winix/functions/last.h
main.o: ../../winix/functions/login.h ../../winix/functions/logout.h
main.o: ../../winix/functions/ln.h ../../winix/functions/ls.h
main.o: ../../winix/functions/man.h ../../winix/functions/meta.h
main.o: ../../winix/functions/mkdir.h ../../winix/functions/mv.h
main.o: ../../winix/functions/nicedit.h ../../winix/functions/node.h
main.o: ../../winix/functions/passwd.h ../../winix/functions/priv.h
main.o: ../../winix/functions/pw.h ../../winix/functions/reload.h
main.o: ../../winix/functions/rm.h ../../winix/functions/rmuser.h
main.o: ../../winix/functions/sort.h ../../winix/functions/specialdefault.h
main.o: ../../winix/functions/stat.h ../../winix/functions/subject.h
main.o: ../../winix/functions/template.h ../../winix/functions/tinymce.h
main.o: ../../winix/functions/uname.h ../../winix/functions/upload.h
main.o: ../../winix/functions/uptime.h ../../winix/functions/who.h
main.o: ../../winix/functions/vim.h ../../winix/core/htmlfilter.h
main.o: ../../winix/templates/templates.h
main.o: ../../winix/templates/patterncacher.h
main.o: ../../winix/templates/indexpatterns.h
main.o: ../../winix/templates/patterns.h
main.o: ../../winix/templates/changepatterns.h
main.o: ../../winix/templates/htmltextstream.h
main.o: ../../winix/core/sessionmanager.h ../../winix/core/compress.h
main.o: ../../winix/core/postparser.h ../../winix/core/httpsimpleparser.h
main.o: ../../winix/core/plugin.h ../../winix/core/pluginmsg.h
main.o: ../../winix/core/cookieparser.h ../../winix/core/postmultiparser.h
main.o: ../../winix/core/acceptencodingparser.h
main.o: ../../winix/core/acceptbaseparser.h ../../winix/core/plugin.h
main.o: ../../winix/core/version.h

View File

@@ -5,11 +5,11 @@ all: $(o)
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $<
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. -I.. -I../../ezc/src -I../../pikotools -I../../tito/src -f- *.cpp > Makefile.dep
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep

View File

@@ -1,6 +1,6 @@
# DO NOT DELETE
notify.o: notify.h notifypool.h ../templates/locale.h
notify.o: notify.h notifypool.h ../../winix/templates/locale.h
notify.o: ../../pikotools/space/spaceparser.h ../../pikotools/space/space.h
notify.o: ../../pikotools/textstream/types.h
notify.o: ../../pikotools/textstream/textstream.h
@@ -8,55 +8,77 @@ notify.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
notify.o: ../../pikotools/convert/convert.h
notify.o: ../../pikotools/convert/inttostr.h
notify.o: ../../pikotools/membuffer/membuffer.h
notify.o: ../../pikotools/textstream/types.h ../templates/patterns.h
notify.o: ../templates/locale.h ../templates/localefilter.h
notify.o: ../../pikotools/textstream/types.h ../../winix/templates/patterns.h
notify.o: ../../winix/templates/locale.h ../../winix/templates/localefilter.h
notify.o: ../../ezc/src/ezc.h ../../ezc/src/generator.h
notify.o: ../../ezc/src/pattern.h ../../ezc/src/item.h
notify.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h
notify.o: ../../ezc/src/stringconv.h ../../pikotools/utf8/utf8.h
notify.o: ../templates/misc.h ../templates/htmltextstream.h
notify.o: ../core/textstream.h notifythread.h ../core/basethread.h
notify.o: ../core/synchro.h templatesnotify.h ../core/config.h
notify.o: ../core/htmlfilter.h ../core/users.h ../core/user.h
notify.o: ../core/ugcontainer.h ../core/log.h ../core/textstream.h
notify.o: ../core/logmanipulators.h ../core/slog.h ../core/cur.h
notify.o: ../core/request.h ../core/requesttypes.h ../core/error.h
notify.o: ../core/config.h ../templates/htmltextstream.h
notify.o: ../../pikotools/space/spacetojson.h ../core/session.h
notify.o: ../core/plugindata.h ../core/rebus.h ../core/ipban.h
notify.o: ../core/mount.h ../core/lastcontainer.h ../db/db.h ../db/dbbase.h
notify.o: ../db/dbconn.h ../db/dbtextstream.h ../core/error.h
notify.o: ../db/dbitemquery.h ../core/item.h ../db/dbitemcolumns.h
notify.o: ../core/user.h ../core/group.h ../core/dircontainer.h
notify.o: ../core/ugcontainer.h ../templates/templates.h
notify.o: ../templates/patterncacher.h ../templates/indexpatterns.h
notify.o: ../templates/patterns.h ../templates/changepatterns.h ../core/cur.h
notify.o: ../core/system.h ../core/job.h ../core/basethread.h ../core/dirs.h
notify.o: ../core/dircontainer.h ../notify/notify.h ../core/mounts.h
notify.o: ../core/mountparser.h ../core/crypt.h ../core/run.h ../core/users.h
notify.o: ../core/groups.h ../core/group.h ../core/loadavg.h ../core/image.h
notify.o: ../core/threadmanager.h ../core/timezones.h ../core/timezone.h
notify.o: ../core/sessionmanager.h ../core/sessioncontainer.h
notify.o: ../core/ipbancontainer.h ../core/system.h ../core/htmlfilter.h
notify.o: ../core/request.h ../core/dirs.h ../core/plugin.h
notify.o: ../core/pluginmsg.h ../core/sessionmanager.h
notify.o: ../functions/functions.h ../functions/functionbase.h
notify.o: ../core/synchro.h ../functions/functionparser.h
notify.o: ../functions/adduser.h ../functions/cat.h ../functions/chmod.h
notify.o: ../functions/privchanger.h ../functions/chown.h
notify.o: ../functions/ckeditor.h ../functions/cp.h ../functions/default.h
notify.o: ../functions/download.h ../functions/emacs.h ../functions/env.h
notify.o: ../functions/last.h ../functions/login.h ../functions/logout.h
notify.o: ../functions/ln.h ../functions/ls.h ../functions/man.h
notify.o: ../functions/meta.h ../functions/mkdir.h ../functions/mv.h
notify.o: ../functions/nicedit.h ../functions/node.h ../functions/passwd.h
notify.o: ../functions/priv.h ../functions/pw.h ../functions/reload.h
notify.o: ../functions/rm.h ../functions/rmuser.h ../functions/sort.h
notify.o: ../functions/specialdefault.h ../functions/stat.h
notify.o: ../functions/subject.h ../functions/template.h
notify.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
notify.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
notifypool.o: notifypool.h ../templates/locale.h
notify.o: ../../winix/templates/misc.h ../../winix/templates/htmltextstream.h
notify.o: ../../winix/core/textstream.h notifythread.h
notify.o: ../../winix/core/basethread.h ../../winix/core/synchro.h
notify.o: templatesnotify.h ../../winix/core/config.h
notify.o: ../../winix/core/htmlfilter.h ../../winix/core/users.h
notify.o: ../../winix/core/user.h ../../winix/core/ugcontainer.h
notify.o: ../../winix/core/log.h ../../winix/core/textstream.h
notify.o: ../../winix/core/logmanipulators.h ../../winix/core/slog.h
notify.o: ../../winix/core/cur.h ../../winix/core/request.h
notify.o: ../../winix/core/requesttypes.h ../../winix/core/error.h
notify.o: ../../winix/core/config.h ../../winix/templates/htmltextstream.h
notify.o: ../../pikotools/space/spacetojson.h ../../winix/core/session.h
notify.o: ../../winix/core/plugindata.h ../../winix/core/rebus.h
notify.o: ../../winix/core/ipban.h ../../winix/core/mount.h
notify.o: ../../winix/core/lastcontainer.h ../../winix/db/db.h
notify.o: ../../winix/db/dbbase.h ../../winix/db/dbconn.h
notify.o: ../../winix/db/dbtextstream.h ../../winix/core/error.h
notify.o: ../../winix/db/dbitemquery.h ../../winix/core/item.h
notify.o: ../../winix/db/dbitemcolumns.h ../../winix/core/user.h
notify.o: ../../winix/core/group.h ../../winix/core/dircontainer.h
notify.o: ../../winix/core/ugcontainer.h ../../winix/templates/templates.h
notify.o: ../../winix/templates/patterncacher.h
notify.o: ../../winix/templates/indexpatterns.h
notify.o: ../../winix/templates/patterns.h
notify.o: ../../winix/templates/changepatterns.h ../../winix/core/cur.h
notify.o: ../../winix/core/system.h ../../winix/core/job.h
notify.o: ../../winix/core/basethread.h ../../winix/core/dirs.h
notify.o: ../../winix/core/dircontainer.h ../../winix/notify/notify.h
notify.o: ../../winix/core/mounts.h ../../winix/core/mountparser.h
notify.o: ../../winix/core/crypt.h ../../winix/core/run.h
notify.o: ../../winix/core/users.h ../../winix/core/groups.h
notify.o: ../../winix/core/group.h ../../winix/core/loadavg.h
notify.o: ../../winix/core/image.h ../../winix/core/threadmanager.h
notify.o: ../../winix/core/timezones.h ../../winix/core/timezone.h
notify.o: ../../winix/core/sessionmanager.h
notify.o: ../../winix/core/sessioncontainer.h
notify.o: ../../winix/core/ipbancontainer.h ../../winix/core/system.h
notify.o: ../../winix/core/htmlfilter.h ../../winix/core/request.h
notify.o: ../../winix/core/dirs.h ../../winix/core/plugin.h
notify.o: ../../winix/core/pluginmsg.h ../../winix/core/sessionmanager.h
notify.o: ../../winix/functions/functions.h
notify.o: ../../winix/functions/functionbase.h ../../winix/core/synchro.h
notify.o: ../../winix/functions/functionparser.h
notify.o: ../../winix/functions/account.h ../../winix/functions/adduser.h
notify.o: ../../winix/functions/cat.h ../../winix/functions/chmod.h
notify.o: ../../winix/functions/privchanger.h ../../winix/functions/chown.h
notify.o: ../../winix/functions/ckeditor.h ../../winix/functions/cp.h
notify.o: ../../winix/functions/default.h ../../winix/functions/download.h
notify.o: ../../winix/functions/emacs.h ../../winix/functions/env.h
notify.o: ../../winix/functions/imgcrop.h ../../winix/functions/last.h
notify.o: ../../winix/functions/login.h ../../winix/functions/logout.h
notify.o: ../../winix/functions/ln.h ../../winix/functions/ls.h
notify.o: ../../winix/functions/man.h ../../winix/functions/meta.h
notify.o: ../../winix/functions/mkdir.h ../../winix/functions/mv.h
notify.o: ../../winix/functions/nicedit.h ../../winix/functions/node.h
notify.o: ../../winix/functions/passwd.h ../../winix/functions/priv.h
notify.o: ../../winix/functions/pw.h ../../winix/functions/reload.h
notify.o: ../../winix/functions/rm.h ../../winix/functions/rmuser.h
notify.o: ../../winix/functions/sort.h ../../winix/functions/specialdefault.h
notify.o: ../../winix/functions/stat.h ../../winix/functions/subject.h
notify.o: ../../winix/functions/template.h ../../winix/functions/tinymce.h
notify.o: ../../winix/functions/uname.h ../../winix/functions/upload.h
notify.o: ../../winix/functions/uptime.h ../../winix/functions/who.h
notify.o: ../../winix/functions/vim.h
notifypool.o: notifypool.h ../../winix/templates/locale.h
notifypool.o: ../../pikotools/space/spaceparser.h
notifypool.o: ../../pikotools/space/space.h
notifypool.o: ../../pikotools/textstream/types.h
@@ -66,94 +88,137 @@ notifypool.o: ../../pikotools/convert/convert.h
notifypool.o: ../../pikotools/convert/inttostr.h
notifypool.o: ../../pikotools/membuffer/membuffer.h
notifypool.o: ../../pikotools/textstream/types.h
notifythread.o: notifythread.h ../core/basethread.h ../core/synchro.h
notifythread.o: templatesnotify.h ../../ezc/src/ezc.h
notifythread.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
notifythread.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
notifythread.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h
notifythread.o: ../../pikotools/utf8/utf8.h ../core/textstream.h
notifythread.o: ../templates/misc.h ../templates/localefilter.h
notifythread.o: ../templates/locale.h ../templates/htmltextstream.h
notifythread.o: notifythread.h ../../winix/core/basethread.h
notifythread.o: ../../winix/core/synchro.h templatesnotify.h
notifythread.o: ../../ezc/src/ezc.h ../../ezc/src/generator.h
notifythread.o: ../../ezc/src/pattern.h ../../ezc/src/item.h
notifythread.o: ../../ezc/src/funinfo.h ../../ezc/src/functions.h
notifythread.o: ../../ezc/src/stringconv.h ../../pikotools/utf8/utf8.h
notifythread.o: ../../winix/core/textstream.h ../../winix/templates/misc.h
notifythread.o: ../../winix/templates/localefilter.h
notifythread.o: ../../winix/templates/locale.h
notifythread.o: ../../winix/templates/htmltextstream.h
notifythread.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
notifythread.o: ../../pikotools/textstream/textstream.h
notifythread.o: ../../pikotools/convert/convert.h
notifythread.o: ../../pikotools/convert/inttostr.h
notifythread.o: ../../pikotools/membuffer/membuffer.h
notifythread.o: ../../pikotools/textstream/types.h notifypool.h
notifythread.o: ../templates/locale.h ../../pikotools/space/spaceparser.h
notifythread.o: ../../winix/templates/locale.h
notifythread.o: ../../pikotools/space/spaceparser.h
notifythread.o: ../../pikotools/space/space.h
notifythread.o: ../../pikotools/textstream/types.h ../core/config.h
notifythread.o: ../core/htmlfilter.h ../core/users.h ../core/user.h
notifythread.o: ../core/ugcontainer.h ../core/log.h ../core/textstream.h
notifythread.o: ../core/logmanipulators.h ../core/slog.h ../core/cur.h
notifythread.o: ../core/request.h ../core/requesttypes.h ../core/error.h
notifythread.o: ../core/config.h ../templates/htmltextstream.h
notifythread.o: ../../pikotools/space/spacetojson.h ../core/session.h
notifythread.o: ../core/plugindata.h ../core/rebus.h ../core/ipban.h
notifythread.o: ../core/mount.h ../core/lastcontainer.h ../db/db.h
notifythread.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
notifythread.o: ../core/error.h ../db/dbitemquery.h ../core/item.h
notifythread.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h
notifythread.o: ../core/dircontainer.h ../core/ugcontainer.h
notifythread.o: ../templates/patterns.h
notifythread.o: ../../pikotools/textstream/types.h ../../winix/core/config.h
notifythread.o: ../../winix/core/htmlfilter.h ../../winix/core/users.h
notifythread.o: ../../winix/core/user.h ../../winix/core/ugcontainer.h
notifythread.o: ../../winix/core/log.h ../../winix/core/textstream.h
notifythread.o: ../../winix/core/logmanipulators.h ../../winix/core/slog.h
notifythread.o: ../../winix/core/cur.h ../../winix/core/request.h
notifythread.o: ../../winix/core/requesttypes.h ../../winix/core/error.h
notifythread.o: ../../winix/core/config.h
notifythread.o: ../../winix/templates/htmltextstream.h
notifythread.o: ../../pikotools/space/spacetojson.h
notifythread.o: ../../winix/core/session.h ../../winix/core/plugindata.h
notifythread.o: ../../winix/core/rebus.h ../../winix/core/ipban.h
notifythread.o: ../../winix/core/mount.h ../../winix/core/lastcontainer.h
notifythread.o: ../../winix/db/db.h ../../winix/db/dbbase.h
notifythread.o: ../../winix/db/dbconn.h ../../winix/db/dbtextstream.h
notifythread.o: ../../winix/core/error.h ../../winix/db/dbitemquery.h
notifythread.o: ../../winix/core/item.h ../../winix/db/dbitemcolumns.h
notifythread.o: ../../winix/core/user.h ../../winix/core/group.h
notifythread.o: ../../winix/core/dircontainer.h
notifythread.o: ../../winix/core/ugcontainer.h
notifythread.o: ../../winix/templates/patterns.h
templatesnotify.o: templatesnotify.h ../../ezc/src/ezc.h
templatesnotify.o: ../../ezc/src/generator.h ../../ezc/src/pattern.h
templatesnotify.o: ../../ezc/src/item.h ../../ezc/src/funinfo.h
templatesnotify.o: ../../ezc/src/functions.h ../../ezc/src/stringconv.h
templatesnotify.o: ../../pikotools/utf8/utf8.h ../core/textstream.h
templatesnotify.o: ../templates/misc.h ../templates/localefilter.h
templatesnotify.o: ../templates/locale.h ../templates/htmltextstream.h
templatesnotify.o: ../../pikotools/utf8/utf8.h ../../winix/core/textstream.h
templatesnotify.o: ../../winix/templates/misc.h
templatesnotify.o: ../../winix/templates/localefilter.h
templatesnotify.o: ../../winix/templates/locale.h
templatesnotify.o: ../../winix/templates/htmltextstream.h
templatesnotify.o: ../../pikotools/space/space.h ../../pikotools/date/date.h
templatesnotify.o: ../../pikotools/textstream/textstream.h
templatesnotify.o: ../../pikotools/convert/convert.h
templatesnotify.o: ../../pikotools/convert/inttostr.h
templatesnotify.o: ../../pikotools/membuffer/membuffer.h
templatesnotify.o: ../../pikotools/textstream/types.h notifypool.h
templatesnotify.o: ../templates/locale.h ../../pikotools/space/spaceparser.h
templatesnotify.o: ../../winix/templates/locale.h
templatesnotify.o: ../../pikotools/space/spaceparser.h
templatesnotify.o: ../../pikotools/space/space.h
templatesnotify.o: ../../pikotools/textstream/types.h ../core/plugin.h
templatesnotify.o: ../core/pluginmsg.h ../core/log.h ../core/textstream.h
templatesnotify.o: ../core/logmanipulators.h ../core/slog.h ../core/cur.h
templatesnotify.o: ../core/request.h ../core/requesttypes.h ../core/error.h
templatesnotify.o: ../core/config.h ../templates/htmltextstream.h
templatesnotify.o: ../../pikotools/space/spacetojson.h ../core/session.h
templatesnotify.o: ../core/user.h ../core/plugindata.h ../core/rebus.h
templatesnotify.o: ../core/ipban.h ../core/mount.h ../core/system.h
templatesnotify.o: ../core/sessionmanager.h ../core/synchro.h
templatesnotify.o: ../functions/functions.h ../functions/functionbase.h
templatesnotify.o: ../core/item.h ../db/db.h ../db/dbbase.h ../db/dbconn.h
templatesnotify.o: ../db/dbtextstream.h ../core/error.h ../db/dbitemquery.h
templatesnotify.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h
templatesnotify.o: ../core/dircontainer.h ../core/ugcontainer.h
templatesnotify.o: ../core/request.h ../core/config.h ../core/htmlfilter.h
templatesnotify.o: ../core/system.h ../core/job.h ../core/basethread.h
templatesnotify.o: ../core/dirs.h ../core/dircontainer.h ../notify/notify.h
templatesnotify.o: ../core/mounts.h ../core/mountparser.h ../core/crypt.h
templatesnotify.o: ../core/run.h ../core/users.h ../core/groups.h
templatesnotify.o: ../core/group.h ../core/ugcontainer.h ../core/loadavg.h
templatesnotify.o: ../core/image.h ../core/threadmanager.h
templatesnotify.o: ../core/timezones.h ../core/timezone.h ../core/synchro.h
templatesnotify.o: ../functions/functionparser.h ../core/cur.h
templatesnotify.o: ../functions/adduser.h ../functions/cat.h
templatesnotify.o: ../functions/chmod.h ../functions/privchanger.h
templatesnotify.o: ../functions/chown.h ../functions/ckeditor.h
templatesnotify.o: ../functions/cp.h ../functions/default.h
templatesnotify.o: ../functions/download.h ../functions/emacs.h
templatesnotify.o: ../functions/env.h ../functions/last.h
templatesnotify.o: ../functions/login.h ../functions/logout.h
templatesnotify.o: ../functions/ln.h ../functions/ls.h ../functions/man.h
templatesnotify.o: ../functions/meta.h ../functions/mkdir.h ../functions/mv.h
templatesnotify.o: ../functions/nicedit.h ../functions/node.h
templatesnotify.o: ../functions/passwd.h ../functions/priv.h
templatesnotify.o: ../functions/pw.h ../functions/reload.h ../functions/rm.h
templatesnotify.o: ../functions/rmuser.h ../functions/sort.h
templatesnotify.o: ../functions/specialdefault.h ../functions/stat.h
templatesnotify.o: ../functions/subject.h ../functions/template.h
templatesnotify.o: ../functions/tinymce.h ../functions/uname.h
templatesnotify.o: ../functions/upload.h ../functions/uptime.h
templatesnotify.o: ../functions/who.h ../functions/vim.h ../core/htmlfilter.h
templatesnotify.o: ../templates/templates.h ../templates/patterncacher.h
templatesnotify.o: ../templates/indexpatterns.h ../templates/patterns.h
templatesnotify.o: ../templates/changepatterns.h ../core/sessionmanager.h
templatesnotify.o: ../core/sessioncontainer.h ../core/ipbancontainer.h
templatesnotify.o: ../core/lastcontainer.h ../core/misc.h
templatesnotify.o: ../../pikotools/textstream/types.h
templatesnotify.o: ../../winix/core/plugin.h ../../winix/core/pluginmsg.h
templatesnotify.o: ../../winix/core/log.h ../../winix/core/textstream.h
templatesnotify.o: ../../winix/core/logmanipulators.h ../../winix/core/slog.h
templatesnotify.o: ../../winix/core/cur.h ../../winix/core/request.h
templatesnotify.o: ../../winix/core/requesttypes.h ../../winix/core/error.h
templatesnotify.o: ../../winix/core/config.h
templatesnotify.o: ../../winix/templates/htmltextstream.h
templatesnotify.o: ../../pikotools/space/spacetojson.h
templatesnotify.o: ../../winix/core/session.h ../../winix/core/user.h
templatesnotify.o: ../../winix/core/plugindata.h ../../winix/core/rebus.h
templatesnotify.o: ../../winix/core/ipban.h ../../winix/core/mount.h
templatesnotify.o: ../../winix/core/system.h
templatesnotify.o: ../../winix/core/sessionmanager.h
templatesnotify.o: ../../winix/core/synchro.h
templatesnotify.o: ../../winix/functions/functions.h
templatesnotify.o: ../../winix/functions/functionbase.h
templatesnotify.o: ../../winix/core/item.h ../../winix/db/db.h
templatesnotify.o: ../../winix/db/dbbase.h ../../winix/db/dbconn.h
templatesnotify.o: ../../winix/db/dbtextstream.h ../../winix/core/error.h
templatesnotify.o: ../../winix/db/dbitemquery.h
templatesnotify.o: ../../winix/db/dbitemcolumns.h ../../winix/core/user.h
templatesnotify.o: ../../winix/core/group.h ../../winix/core/dircontainer.h
templatesnotify.o: ../../winix/core/ugcontainer.h ../../winix/core/request.h
templatesnotify.o: ../../winix/core/config.h ../../winix/core/htmlfilter.h
templatesnotify.o: ../../winix/core/system.h ../../winix/core/job.h
templatesnotify.o: ../../winix/core/basethread.h ../../winix/core/dirs.h
templatesnotify.o: ../../winix/core/dircontainer.h
templatesnotify.o: ../../winix/notify/notify.h ../../winix/core/mounts.h
templatesnotify.o: ../../winix/core/mountparser.h ../../winix/core/crypt.h
templatesnotify.o: ../../winix/core/run.h ../../winix/core/users.h
templatesnotify.o: ../../winix/core/groups.h ../../winix/core/group.h
templatesnotify.o: ../../winix/core/ugcontainer.h ../../winix/core/loadavg.h
templatesnotify.o: ../../winix/core/image.h ../../winix/core/threadmanager.h
templatesnotify.o: ../../winix/core/timezones.h ../../winix/core/timezone.h
templatesnotify.o: ../../winix/core/synchro.h
templatesnotify.o: ../../winix/functions/functionparser.h
templatesnotify.o: ../../winix/core/cur.h ../../winix/functions/account.h
templatesnotify.o: ../../winix/functions/adduser.h
templatesnotify.o: ../../winix/functions/cat.h ../../winix/functions/chmod.h
templatesnotify.o: ../../winix/functions/privchanger.h
templatesnotify.o: ../../winix/functions/chown.h
templatesnotify.o: ../../winix/functions/ckeditor.h
templatesnotify.o: ../../winix/functions/cp.h ../../winix/functions/default.h
templatesnotify.o: ../../winix/functions/download.h
templatesnotify.o: ../../winix/functions/emacs.h ../../winix/functions/env.h
templatesnotify.o: ../../winix/functions/imgcrop.h
templatesnotify.o: ../../winix/functions/last.h ../../winix/functions/login.h
templatesnotify.o: ../../winix/functions/logout.h ../../winix/functions/ln.h
templatesnotify.o: ../../winix/functions/ls.h ../../winix/functions/man.h
templatesnotify.o: ../../winix/functions/meta.h ../../winix/functions/mkdir.h
templatesnotify.o: ../../winix/functions/mv.h ../../winix/functions/nicedit.h
templatesnotify.o: ../../winix/functions/node.h
templatesnotify.o: ../../winix/functions/passwd.h
templatesnotify.o: ../../winix/functions/priv.h ../../winix/functions/pw.h
templatesnotify.o: ../../winix/functions/reload.h ../../winix/functions/rm.h
templatesnotify.o: ../../winix/functions/rmuser.h
templatesnotify.o: ../../winix/functions/sort.h
templatesnotify.o: ../../winix/functions/specialdefault.h
templatesnotify.o: ../../winix/functions/stat.h
templatesnotify.o: ../../winix/functions/subject.h
templatesnotify.o: ../../winix/functions/template.h
templatesnotify.o: ../../winix/functions/tinymce.h
templatesnotify.o: ../../winix/functions/uname.h
templatesnotify.o: ../../winix/functions/upload.h
templatesnotify.o: ../../winix/functions/uptime.h ../../winix/functions/who.h
templatesnotify.o: ../../winix/functions/vim.h ../../winix/core/htmlfilter.h
templatesnotify.o: ../../winix/templates/templates.h
templatesnotify.o: ../../winix/templates/patterncacher.h
templatesnotify.o: ../../winix/templates/indexpatterns.h
templatesnotify.o: ../../winix/templates/patterns.h
templatesnotify.o: ../../winix/templates/changepatterns.h
templatesnotify.o: ../../winix/core/sessionmanager.h
templatesnotify.o: ../../winix/core/sessioncontainer.h
templatesnotify.o: ../../winix/core/ipbancontainer.h
templatesnotify.o: ../../winix/core/lastcontainer.h ../../winix/core/misc.h

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2012, Tomasz Sowa
* Copyright (c) 2008-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -110,7 +110,7 @@ void Notify::ActivateAccount(const std::wstring & name, const std::wstring & ema
msg.code = WINIX_NOTIFY_CODE_CONFIRM_ACCOUNT;
msg.name = name;
msg.email = email;
msg.lang = 0; // !! IMPROVE ME a better language can be chose
msg.lang = config->locale_default_id;
msg.activate_code = code;
msg.template_index = notify_template_activate_account;
CreateActivateLink(name, code, msg.item_link);
@@ -126,7 +126,7 @@ void Notify::ResetPassword(const std::wstring & name, const std::wstring & email
msg.code = WINIX_NOTIFY_CODE_RESET_PASSWORD;
msg.name = name;
msg.email = email;
msg.lang = 0; // !! IMPROVE ME a better language can be chose
msg.lang = config->locale_default_id; // !! IMPROVE ME a better language can be chose (the same as the user has)
msg.activate_code = code;
msg.template_index = notify_template_reset_password;
CreateResetPasswordLink(name, code, msg.item_link);
@@ -176,7 +176,7 @@ wchar_t buff[50];
link = config->url_proto;
link += config->base_url;// !! IMPROVE ME what about subdomains?
link += L"/pw/activate/login:";
link += L"/account/activate/login:";
UrlEncode(name, link, false);
link += L"/code:";
Toa(code, buff, sizeof(buff)/sizeof(wchar_t));
@@ -189,7 +189,7 @@ wchar_t buff[50];
link = config->url_proto;
link += config->base_url;// !! IMPROVE ME what about subdomains?
link += L"/pw/resetpassword/login:";
link += L"/passwd/resetpassword/login:";
UrlEncode(name, link, false);
link += L"/code:";
Toa(code, buff, sizeof(buff)/sizeof(wchar_t));

View File

@@ -65,7 +65,7 @@ struct NotifyUserMsg
{
std::wstring name;
std::wstring email;
size_t lang;
size_t lang; // locale id (not an index)
};

View File

@@ -173,16 +173,17 @@ void NotifyThread::SendMail()
{
notify_stream.Clear();
size_t lang_index = TemplatesNotifyFunctions::notify_user_msg.lang;
size_t lang_id = TemplatesNotifyFunctions::notify_user_msg.lang;
size_t template_index = TemplatesNotifyFunctions::notify_msg.template_index;
Lock();
// 'patterns' object can use logger or other stuff so we use Lock() before
Ezc::Pattern * pat = patterns.Get(template_index, lang_index);
Ezc::Pattern * pat = patterns.Get(template_index, lang_id);
if( !pat )
log << log1 << "NotifyThread: I don't have a template with index: " << template_index
<< " and locale index: " << lang_index << logend;
<< " and locale id: " << lang_id << logend;
Unlock();

View File

@@ -6,22 +6,23 @@ name = export.so
all: $(name)
$(name): $(o)
$(CXX) -shared -Wl,-soname,$(name).so -o $(name) $(CXXFLAGS) $(LDFLAGS) *.o -lcurl
$(CXX) -shared -Wl,-soname,$(name) -o $(name) $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $(LDFLAGS) *.o -lcurl
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $<
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. -I../.. -I../../../ezc/src -I../../../pikotools -I../../../tito/src -f- *.cpp > Makefile.dep
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
rm -f *.so
rm -f $(name)
include Makefile.dep

View File

@@ -1,192 +1,253 @@
# DO NOT DELETE
edb.o: edb.h ../../db/dbbase.h ../../db/dbconn.h ../../db/dbtextstream.h
edb.o: ../../core/textstream.h ../../core/misc.h ../../core/item.h
edb.o: edb.h ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
edb.o: ../../../winix/db/dbtextstream.h ../../../winix/core/textstream.h
edb.o: ../../../winix/core/misc.h ../../../winix/core/item.h
edb.o: ../../../pikotools/space/space.h ../../../pikotools/textstream/types.h
edb.o: ../../../pikotools/date/date.h ../../core/requesttypes.h
edb.o: ../../../pikotools/date/date.h ../../../winix/core/requesttypes.h
edb.o: ../../../pikotools/textstream/textstream.h
edb.o: ../../../pikotools/convert/convert.h
edb.o: ../../../pikotools/convert/inttostr.h
edb.o: ../../../pikotools/membuffer/membuffer.h
edb.o: ../../../pikotools/textstream/types.h ../../../pikotools/utf8/utf8.h
edb.o: ../../core/error.h ../../../pikotools/space/spaceparser.h
edb.o: ../../../pikotools/space/space.h export.h ../../core/dirs.h
edb.o: ../../core/dircontainer.h ../../db/db.h ../../db/dbbase.h
edb.o: ../../db/dbitemquery.h ../../core/item.h ../../db/dbitemcolumns.h
edb.o: ../../core/user.h ../../core/group.h ../../core/dircontainer.h
edb.o: ../../core/ugcontainer.h ../../core/log.h ../../core/textstream.h
edb.o: ../../core/logmanipulators.h ../../core/slog.h ../../core/cur.h
edb.o: ../../core/request.h ../../core/error.h ../../core/config.h
edb.o: ../../core/htmlfilter.h ../../templates/htmltextstream.h
edb.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
edb.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
edb.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
edb.o: ../../notify/notify.h ../../notify/notifypool.h
edb.o: ../../templates/patterns.h ../../templates/locale.h
edb.o: ../../templates/localefilter.h ../../../ezc/src/ezc.h
edb.o: ../../../winix/core/error.h ../../../pikotools/space/spaceparser.h
edb.o: ../../../pikotools/space/space.h export.h ../../../winix/core/dirs.h
edb.o: ../../../winix/core/dircontainer.h ../../../winix/db/db.h
edb.o: ../../../winix/db/dbbase.h ../../../winix/db/dbitemquery.h
edb.o: ../../../winix/core/item.h ../../../winix/db/dbitemcolumns.h
edb.o: ../../../winix/core/user.h ../../../winix/core/group.h
edb.o: ../../../winix/core/dircontainer.h ../../../winix/core/ugcontainer.h
edb.o: ../../../winix/core/log.h ../../../winix/core/textstream.h
edb.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
edb.o: ../../../winix/core/cur.h ../../../winix/core/request.h
edb.o: ../../../winix/core/error.h ../../../winix/core/config.h
edb.o: ../../../winix/core/htmlfilter.h
edb.o: ../../../winix/templates/htmltextstream.h
edb.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
edb.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
edb.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
edb.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
edb.o: ../../../winix/notify/notify.h ../../../winix/notify/notifypool.h
edb.o: ../../../winix/templates/patterns.h ../../../winix/templates/locale.h
edb.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
edb.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
edb.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
edb.o: ../../../ezc/src/stringconv.h ../../notify/notifythread.h
edb.o: ../../core/basethread.h ../../core/synchro.h
edb.o: ../../notify/templatesnotify.h ../../core/config.h ../../core/users.h
edb.o: ../../core/ugcontainer.h ../../core/lastcontainer.h ../../core/log.h
exportinfo.o: ../../core/log.h exportinfo.h ../../core/system.h
exportinfo.o: ../../core/job.h ../../core/basethread.h ../../core/synchro.h
edb.o: ../../../ezc/src/stringconv.h ../../../winix/notify/notifythread.h
edb.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
edb.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/config.h
edb.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
edb.o: ../../../winix/core/lastcontainer.h ../../../winix/core/log.h
exportinfo.o: ../../../winix/core/log.h exportinfo.h
exportinfo.o: ../../../winix/core/system.h ../../../winix/core/job.h
exportinfo.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
exportinfo.o: ../../../pikotools/space/space.h
exportinfo.o: ../../../pikotools/textstream/types.h ../../core/dirs.h
exportinfo.o: ../../core/item.h ../../../pikotools/date/date.h
exportinfo.o: ../../core/dircontainer.h ../../db/db.h ../../db/dbbase.h
exportinfo.o: ../../db/dbitemquery.h ../../core/item.h
exportinfo.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
exportinfo.o: ../../core/dircontainer.h ../../core/ugcontainer.h
exportinfo.o: ../../core/log.h ../../core/textstream.h
exportinfo.o: ../../core/logmanipulators.h
exportinfo.o: ../../../pikotools/textstream/types.h
exportinfo.o: ../../../winix/core/dirs.h ../../../winix/core/item.h
exportinfo.o: ../../../pikotools/date/date.h
exportinfo.o: ../../../winix/core/dircontainer.h ../../../winix/db/db.h
exportinfo.o: ../../../winix/db/dbbase.h ../../../winix/db/dbitemquery.h
exportinfo.o: ../../../winix/core/item.h ../../../winix/db/dbitemcolumns.h
exportinfo.o: ../../../winix/core/user.h ../../../winix/core/group.h
exportinfo.o: ../../../winix/core/dircontainer.h
exportinfo.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
exportinfo.o: ../../../winix/core/textstream.h
exportinfo.o: ../../../winix/core/logmanipulators.h
exportinfo.o: ../../../pikotools/textstream/textstream.h
exportinfo.o: ../../../pikotools/convert/convert.h
exportinfo.o: ../../../pikotools/convert/inttostr.h
exportinfo.o: ../../../pikotools/membuffer/membuffer.h
exportinfo.o: ../../../pikotools/textstream/types.h ../../core/slog.h
exportinfo.o: ../../core/cur.h ../../core/request.h ../../core/requesttypes.h
exportinfo.o: ../../core/error.h ../../core/config.h
exportinfo.o: ../../../pikotools/textstream/types.h
exportinfo.o: ../../../winix/core/slog.h ../../../winix/core/cur.h
exportinfo.o: ../../../winix/core/request.h
exportinfo.o: ../../../winix/core/requesttypes.h ../../../winix/core/error.h
exportinfo.o: ../../../winix/core/config.h
exportinfo.o: ../../../pikotools/space/spaceparser.h
exportinfo.o: ../../../pikotools/space/space.h ../../core/htmlfilter.h
exportinfo.o: ../../templates/htmltextstream.h ../../core/textstream.h
exportinfo.o: ../../core/misc.h ../../../pikotools/utf8/utf8.h
exportinfo.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
exportinfo.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
exportinfo.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
exportinfo.o: ../../notify/notify.h ../../notify/notifypool.h
exportinfo.o: ../../templates/patterns.h ../../templates/locale.h
exportinfo.o: ../../templates/localefilter.h ../../../ezc/src/ezc.h
exportinfo.o: ../../../pikotools/space/space.h
exportinfo.o: ../../../winix/core/htmlfilter.h
exportinfo.o: ../../../winix/templates/htmltextstream.h
exportinfo.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
exportinfo.o: ../../../pikotools/utf8/utf8.h
exportinfo.o: ../../../pikotools/space/spacetojson.h
exportinfo.o: ../../../winix/core/session.h ../../../winix/core/user.h
exportinfo.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
exportinfo.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
exportinfo.o: ../../../winix/templates/locale.h
exportinfo.o: ../../../winix/notify/notify.h
exportinfo.o: ../../../winix/notify/notifypool.h
exportinfo.o: ../../../winix/templates/patterns.h
exportinfo.o: ../../../winix/templates/locale.h
exportinfo.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
exportinfo.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
exportinfo.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
exportinfo.o: ../../../ezc/src/stringconv.h ../../notify/notifythread.h
exportinfo.o: ../../core/basethread.h ../../notify/templatesnotify.h
exportinfo.o: ../../core/config.h ../../core/users.h ../../core/ugcontainer.h
exportinfo.o: ../../core/lastcontainer.h ../../core/mounts.h
exportinfo.o: ../../core/mountparser.h ../../core/crypt.h ../../core/run.h
exportinfo.o: ../../core/users.h ../../core/groups.h ../../core/group.h
exportinfo.o: ../../core/loadavg.h ../../core/image.h
exportinfo.o: ../../core/threadmanager.h ../../core/timezones.h
exportinfo.o: ../../core/timezone.h export.h edb.h ../../db/dbbase.h
exportinfo.o: ../../db/dbconn.h ../../db/dbtextstream.h ../../core/error.h
exportinfo.o: ../../core/dirs.h message.h exportthread.h
exportthread.o: exportthread.h ../../core/basethread.h ../../core/synchro.h
exportthread.o: message.h ../../core/log.h ../../core/misc.h
exportthread.o: ../../core/item.h ../../../pikotools/space/space.h
exportinfo.o: ../../../ezc/src/stringconv.h
exportinfo.o: ../../../winix/notify/notifythread.h
exportinfo.o: ../../../winix/core/basethread.h
exportinfo.o: ../../../winix/notify/templatesnotify.h
exportinfo.o: ../../../winix/core/config.h ../../../winix/core/users.h
exportinfo.o: ../../../winix/core/ugcontainer.h
exportinfo.o: ../../../winix/core/lastcontainer.h
exportinfo.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
exportinfo.o: ../../../winix/core/crypt.h ../../../winix/core/run.h
exportinfo.o: ../../../winix/core/users.h ../../../winix/core/groups.h
exportinfo.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
exportinfo.o: ../../../winix/core/image.h ../../../winix/core/threadmanager.h
exportinfo.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
exportinfo.o: export.h edb.h ../../../winix/db/dbbase.h
exportinfo.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
exportinfo.o: ../../../winix/core/error.h ../../../winix/core/dirs.h
exportinfo.o: message.h exportthread.h
exportthread.o: exportthread.h ../../../winix/core/basethread.h
exportthread.o: ../../../winix/core/synchro.h message.h
exportthread.o: ../../../winix/core/log.h ../../../winix/core/misc.h
exportthread.o: ../../../winix/core/item.h ../../../pikotools/space/space.h
exportthread.o: ../../../pikotools/textstream/types.h
exportthread.o: ../../../pikotools/date/date.h ../../core/requesttypes.h
exportthread.o: ../../../pikotools/date/date.h
exportthread.o: ../../../winix/core/requesttypes.h
exportthread.o: ../../../pikotools/textstream/textstream.h
exportthread.o: ../../../pikotools/convert/convert.h
exportthread.o: ../../../pikotools/convert/inttostr.h
exportthread.o: ../../../pikotools/membuffer/membuffer.h
exportthread.o: ../../../pikotools/textstream/types.h
exportthread.o: ../../../pikotools/utf8/utf8.h
funexport.o: funexport.h ../../functions/functionbase.h ../../core/item.h
funexport.o: ../../db/db.h ../../db/dbbase.h ../../db/dbitemquery.h
funexport.o: ../../db/dbitemcolumns.h ../../core/user.h
funexport.o: funexport.h ../../../winix/functions/functionbase.h
funexport.o: ../../../winix/core/item.h ../../../winix/db/db.h
funexport.o: ../../../winix/db/dbbase.h ../../../winix/db/dbitemquery.h
funexport.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
funexport.o: ../../../pikotools/space/space.h
funexport.o: ../../../pikotools/textstream/types.h
funexport.o: ../../../pikotools/date/date.h ../../core/group.h
funexport.o: ../../core/dircontainer.h ../../core/ugcontainer.h
funexport.o: ../../core/log.h ../../core/textstream.h
funexport.o: ../../core/logmanipulators.h
funexport.o: ../../../pikotools/date/date.h ../../../winix/core/group.h
funexport.o: ../../../winix/core/dircontainer.h
funexport.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
funexport.o: ../../../winix/core/textstream.h
funexport.o: ../../../winix/core/logmanipulators.h
funexport.o: ../../../pikotools/textstream/textstream.h
funexport.o: ../../../pikotools/convert/convert.h
funexport.o: ../../../pikotools/convert/inttostr.h
funexport.o: ../../../pikotools/membuffer/membuffer.h
funexport.o: ../../../pikotools/textstream/types.h ../../core/slog.h
funexport.o: ../../core/cur.h ../../core/request.h ../../core/requesttypes.h
funexport.o: ../../core/item.h ../../core/error.h ../../core/config.h
funexport.o: ../../../pikotools/textstream/types.h ../../../winix/core/slog.h
funexport.o: ../../../winix/core/cur.h ../../../winix/core/request.h
funexport.o: ../../../winix/core/requesttypes.h ../../../winix/core/item.h
funexport.o: ../../../winix/core/error.h ../../../winix/core/config.h
funexport.o: ../../../pikotools/space/spaceparser.h
funexport.o: ../../../pikotools/space/space.h ../../core/htmlfilter.h
funexport.o: ../../templates/htmltextstream.h ../../core/textstream.h
funexport.o: ../../core/misc.h ../../../pikotools/utf8/utf8.h
funexport.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
funexport.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
funexport.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
funexport.o: ../../core/request.h ../../core/config.h ../../core/system.h
funexport.o: ../../core/job.h ../../core/basethread.h ../../core/synchro.h
funexport.o: ../../core/dirs.h ../../core/dircontainer.h
funexport.o: ../../notify/notify.h ../../notify/notifypool.h
funexport.o: ../../templates/patterns.h ../../templates/locale.h
funexport.o: ../../templates/localefilter.h ../../../ezc/src/ezc.h
funexport.o: ../../../pikotools/space/space.h
funexport.o: ../../../winix/core/htmlfilter.h
funexport.o: ../../../winix/templates/htmltextstream.h
funexport.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
funexport.o: ../../../pikotools/utf8/utf8.h
funexport.o: ../../../pikotools/space/spacetojson.h
funexport.o: ../../../winix/core/session.h ../../../winix/core/user.h
funexport.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
funexport.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
funexport.o: ../../../winix/templates/locale.h ../../../winix/core/request.h
funexport.o: ../../../winix/core/config.h ../../../winix/core/system.h
funexport.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
funexport.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
funexport.o: ../../../winix/core/dircontainer.h
funexport.o: ../../../winix/notify/notify.h
funexport.o: ../../../winix/notify/notifypool.h
funexport.o: ../../../winix/templates/patterns.h
funexport.o: ../../../winix/templates/locale.h
funexport.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
funexport.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
funexport.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
funexport.o: ../../../ezc/src/stringconv.h ../../notify/notifythread.h
funexport.o: ../../core/basethread.h ../../notify/templatesnotify.h
funexport.o: ../../core/users.h ../../core/ugcontainer.h
funexport.o: ../../core/lastcontainer.h ../../core/mounts.h
funexport.o: ../../core/mountparser.h ../../core/crypt.h ../../core/run.h
funexport.o: ../../core/users.h ../../core/groups.h ../../core/group.h
funexport.o: ../../core/loadavg.h ../../core/image.h
funexport.o: ../../core/threadmanager.h ../../core/timezones.h
funexport.o: ../../core/timezone.h ../../core/synchro.h exportinfo.h export.h
funexport.o: edb.h ../../db/dbbase.h ../../db/dbconn.h
funexport.o: ../../db/dbtextstream.h ../../core/error.h ../../core/dirs.h
funexport.o: message.h exportthread.h
init.o: ../../core/log.h ../../core/plugin.h ../../core/pluginmsg.h
init.o: ../../core/log.h ../../core/textstream.h ../../core/logmanipulators.h
funexport.o: ../../../ezc/src/stringconv.h
funexport.o: ../../../winix/notify/notifythread.h
funexport.o: ../../../winix/core/basethread.h
funexport.o: ../../../winix/notify/templatesnotify.h
funexport.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
funexport.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
funexport.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
funexport.o: ../../../winix/core/run.h ../../../winix/core/users.h
funexport.o: ../../../winix/core/groups.h ../../../winix/core/group.h
funexport.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
funexport.o: ../../../winix/core/threadmanager.h
funexport.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
funexport.o: ../../../winix/core/synchro.h exportinfo.h export.h edb.h
funexport.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
funexport.o: ../../../winix/db/dbtextstream.h ../../../winix/core/error.h
funexport.o: ../../../winix/core/dirs.h message.h exportthread.h
init.o: ../../../winix/core/log.h ../../../winix/core/plugin.h
init.o: ../../../winix/core/pluginmsg.h ../../../winix/core/log.h
init.o: ../../../winix/core/textstream.h
init.o: ../../../winix/core/logmanipulators.h
init.o: ../../../pikotools/textstream/textstream.h
init.o: ../../../pikotools/space/space.h
init.o: ../../../pikotools/textstream/types.h ../../../pikotools/date/date.h
init.o: ../../../pikotools/convert/convert.h
init.o: ../../../pikotools/convert/inttostr.h
init.o: ../../../pikotools/membuffer/membuffer.h
init.o: ../../../pikotools/textstream/types.h ../../core/slog.h
init.o: ../../core/cur.h ../../core/request.h ../../core/requesttypes.h
init.o: ../../core/item.h ../../core/error.h ../../core/config.h
init.o: ../../../pikotools/textstream/types.h ../../../winix/core/slog.h
init.o: ../../../winix/core/cur.h ../../../winix/core/request.h
init.o: ../../../winix/core/requesttypes.h ../../../winix/core/item.h
init.o: ../../../winix/core/error.h ../../../winix/core/config.h
init.o: ../../../pikotools/space/spaceparser.h
init.o: ../../../pikotools/space/space.h ../../core/htmlfilter.h
init.o: ../../templates/htmltextstream.h ../../core/textstream.h
init.o: ../../core/misc.h ../../../pikotools/utf8/utf8.h
init.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
init.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
init.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
init.o: ../../core/system.h ../../core/job.h ../../core/basethread.h
init.o: ../../core/synchro.h ../../core/dirs.h ../../core/dircontainer.h
init.o: ../../db/db.h ../../db/dbbase.h ../../db/dbitemquery.h
init.o: ../../core/item.h ../../db/dbitemcolumns.h ../../core/user.h
init.o: ../../core/group.h ../../core/dircontainer.h ../../core/ugcontainer.h
init.o: ../../notify/notify.h ../../notify/notifypool.h
init.o: ../../templates/patterns.h ../../templates/locale.h
init.o: ../../templates/localefilter.h ../../../ezc/src/ezc.h
init.o: ../../../pikotools/space/space.h ../../../winix/core/htmlfilter.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
init.o: ../../../pikotools/utf8/utf8.h ../../../pikotools/space/spacetojson.h
init.o: ../../../winix/core/session.h ../../../winix/core/user.h
init.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
init.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
init.o: ../../../winix/templates/locale.h ../../../winix/core/system.h
init.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
init.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
init.o: ../../../winix/core/dircontainer.h ../../../winix/db/db.h
init.o: ../../../winix/db/dbbase.h ../../../winix/db/dbitemquery.h
init.o: ../../../winix/core/item.h ../../../winix/db/dbitemcolumns.h
init.o: ../../../winix/core/user.h ../../../winix/core/group.h
init.o: ../../../winix/core/dircontainer.h ../../../winix/core/ugcontainer.h
init.o: ../../../winix/notify/notify.h ../../../winix/notify/notifypool.h
init.o: ../../../winix/templates/patterns.h ../../../winix/templates/locale.h
init.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
init.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
init.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
init.o: ../../../ezc/src/stringconv.h ../../notify/notifythread.h
init.o: ../../core/basethread.h ../../notify/templatesnotify.h
init.o: ../../core/config.h ../../core/users.h ../../core/ugcontainer.h
init.o: ../../core/lastcontainer.h ../../core/mounts.h
init.o: ../../core/mountparser.h ../../core/crypt.h ../../core/run.h
init.o: ../../core/users.h ../../core/groups.h ../../core/group.h
init.o: ../../core/loadavg.h ../../core/image.h ../../core/threadmanager.h
init.o: ../../core/timezones.h ../../core/timezone.h
init.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
init.o: ../../core/ipbancontainer.h ../../functions/functions.h
init.o: ../../functions/functionbase.h ../../core/request.h
init.o: ../../core/system.h ../../core/synchro.h
init.o: ../../functions/functionparser.h ../../core/cur.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/default.h
init.o: ../../functions/download.h ../../functions/emacs.h
init.o: ../../functions/env.h ../../functions/last.h ../../functions/login.h
init.o: ../../functions/logout.h ../../functions/ln.h ../../functions/ls.h
init.o: ../../functions/man.h ../../functions/meta.h ../../functions/mkdir.h
init.o: ../../functions/mv.h ../../functions/nicedit.h ../../functions/node.h
init.o: ../../functions/passwd.h ../../functions/priv.h ../../functions/pw.h
init.o: ../../functions/reload.h ../../functions/rm.h
init.o: ../../functions/rmuser.h ../../functions/sort.h
init.o: ../../functions/specialdefault.h ../../functions/stat.h
init.o: ../../functions/subject.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/indexpatterns.h ../../templates/patterns.h
init.o: ../../templates/changepatterns.h ../../templates/htmltextstream.h
init.o: ../../core/sessionmanager.h exportthread.h message.h exportinfo.h
init.o: export.h edb.h ../../db/dbbase.h ../../db/dbconn.h
init.o: ../../db/dbtextstream.h ../../core/error.h ../../core/dirs.h
init.o: funexport.h ../../functions/functionbase.h
init.o: ../../../ezc/src/stringconv.h ../../../winix/notify/notifythread.h
init.o: ../../../winix/core/basethread.h
init.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/config.h
init.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
init.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
init.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
init.o: ../../../winix/core/run.h ../../../winix/core/users.h
init.o: ../../../winix/core/groups.h ../../../winix/core/group.h
init.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
init.o: ../../../winix/core/threadmanager.h ../../../winix/core/timezones.h
init.o: ../../../winix/core/timezone.h ../../../winix/core/sessionmanager.h
init.o: ../../../winix/core/sessioncontainer.h
init.o: ../../../winix/core/ipbancontainer.h
init.o: ../../../winix/functions/functions.h
init.o: ../../../winix/functions/functionbase.h ../../../winix/core/request.h
init.o: ../../../winix/core/system.h ../../../winix/core/synchro.h
init.o: ../../../winix/functions/functionparser.h ../../../winix/core/cur.h
init.o: ../../../winix/functions/account.h ../../../winix/functions/adduser.h
init.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
init.o: ../../../winix/functions/privchanger.h
init.o: ../../../winix/functions/chown.h ../../../winix/functions/ckeditor.h
init.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
init.o: ../../../winix/functions/download.h ../../../winix/functions/emacs.h
init.o: ../../../winix/functions/env.h ../../../winix/functions/imgcrop.h
init.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
init.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
init.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
init.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
init.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
init.o: ../../../winix/functions/node.h ../../../winix/functions/passwd.h
init.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
init.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
init.o: ../../../winix/functions/rmuser.h ../../../winix/functions/sort.h
init.o: ../../../winix/functions/specialdefault.h
init.o: ../../../winix/functions/stat.h ../../../winix/functions/subject.h
init.o: ../../../winix/functions/template.h
init.o: ../../../winix/functions/tinymce.h ../../../winix/functions/uname.h
init.o: ../../../winix/functions/upload.h ../../../winix/functions/uptime.h
init.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
init.o: ../../../winix/core/htmlfilter.h ../../../winix/templates/templates.h
init.o: ../../../winix/templates/patterncacher.h
init.o: ../../../winix/templates/indexpatterns.h
init.o: ../../../winix/templates/patterns.h
init.o: ../../../winix/templates/changepatterns.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/sessionmanager.h exportthread.h message.h
init.o: exportinfo.h export.h edb.h ../../../winix/db/dbbase.h
init.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
init.o: ../../../winix/core/error.h ../../../winix/core/dirs.h funexport.h
init.o: ../../../winix/functions/functionbase.h

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2012, Tomasz Sowa
* Copyright (c) 2012-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -31,8 +31,9 @@ void FunExport::SetExportInfo(ExportInfo * pexport_info)
bool FunExport::HasAccess()
{
// temporarily only the root can use this function
return cur->session->puser && cur->session->puser->super_user;
// temporarily only a logged user can use this function
// !! IMPROVEME we have to change to only some users can use this function in a specified directory
return cur->session->puser;
}
@@ -52,7 +53,7 @@ void FunExport::ExportFile(const Item & item)
}
void FunExport::ExportDir(const Item & dir, bool only_non_static_files)
void FunExport::ExportDir(const Item & dir, bool static_files_too)
{
export_info->SendDir(dir);
@@ -65,7 +66,7 @@ void FunExport::ExportDir(const Item & dir, bool only_non_static_files)
iq_dir.WhereParentId(dir.id);
iq_dir.WhereType(Item::file);
if( only_non_static_files )
if( !static_files_too )
iq_dir.WhereFileType(WINIX_ITEM_FILETYPE_NONE);
db->GetItems(dir_items, iq_dir);
@@ -81,7 +82,7 @@ void FunExport::ExportDir(const Item & dir, bool only_non_static_files)
for( ; i != system->dirs.ParentEnd() ; i = system->dirs.NextChild(i) )
{
ExportDir(*i->second, only_non_static_files);
ExportDir(*i->second, static_files_too);
}
}
@@ -89,12 +90,12 @@ void FunExport::ExportDir(const Item & dir, bool only_non_static_files)
void FunExport::Export()
{
export_info->ResetRecurrenceCheck();
bool onlynonstatic = cur->request->IsPostVar(L"onlynonstatic");
bool static_files_too = cur->request->IsPostVar(L"staticfilestoo");
if( cur->request->is_item )
ExportFile(cur->request->item);
else
ExportDir(*cur->request->dir_tab.back(), onlynonstatic);
ExportDir(*cur->request->dir_tab.back(), static_files_too);
}

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2012, Tomasz Sowa
* Copyright (c) 2012-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -33,7 +33,7 @@ public:
void ExportFile(const Item & item);
void ExportDir(const Item & dir, bool only_non_static_files = false);
void ExportDir(const Item & dir, bool static_files_too = false);
private:

View File

@@ -6,22 +6,23 @@ name = gallery.so
all: $(name)
$(name): $(o)
$(CXX) -shared -Wl,-soname,$(name).so -o $(name) $(CXXFLAGS) $(LDFLAGS) *.o
$(CXX) -shared -Wl,-soname,$(name) -o $(name) $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $(LDFLAGS) *.o
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $<
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. -I../.. -I../../../ezc/src -I../../../pikotools -I../../../tito/src -f- *.cpp > Makefile.dep
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
rm -f *.so
rm -f $(name)
include Makefile.dep

View File

@@ -1,178 +1,242 @@
# DO NOT DELETE
gallery.o: gallery.h ../../functions/functionbase.h ../../core/item.h
gallery.o: ../../../pikotools/space/space.h
gallery.o: gallery.h ../../../winix/functions/functionbase.h
gallery.o: ../../../winix/core/item.h ../../../pikotools/space/space.h
gallery.o: ../../../pikotools/textstream/types.h
gallery.o: ../../../pikotools/date/date.h ../../db/db.h ../../db/dbbase.h
gallery.o: ../../db/dbconn.h ../../db/dbtextstream.h ../../core/textstream.h
gallery.o: ../../core/misc.h ../../core/item.h ../../core/requesttypes.h
gallery.o: ../../../pikotools/date/date.h ../../../winix/db/db.h
gallery.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
gallery.o: ../../../winix/db/dbtextstream.h ../../../winix/core/textstream.h
gallery.o: ../../../winix/core/misc.h ../../../winix/core/item.h
gallery.o: ../../../winix/core/requesttypes.h
gallery.o: ../../../pikotools/textstream/textstream.h
gallery.o: ../../../pikotools/convert/convert.h
gallery.o: ../../../pikotools/convert/inttostr.h
gallery.o: ../../../pikotools/membuffer/membuffer.h
gallery.o: ../../../pikotools/textstream/types.h
gallery.o: ../../../pikotools/utf8/utf8.h ../../core/error.h
gallery.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/error.h
gallery.o: ../../../pikotools/space/spaceparser.h
gallery.o: ../../../pikotools/space/space.h ../../db/dbitemquery.h
gallery.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
gallery.o: ../../core/dircontainer.h ../../core/ugcontainer.h
gallery.o: ../../core/log.h ../../core/textstream.h
gallery.o: ../../core/logmanipulators.h ../../core/slog.h ../../core/cur.h
gallery.o: ../../core/request.h ../../core/error.h ../../core/config.h
gallery.o: ../../core/htmlfilter.h ../../templates/htmltextstream.h
gallery.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
gallery.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
gallery.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
gallery.o: ../../core/request.h ../../core/config.h ../../core/system.h
gallery.o: ../../core/job.h ../../core/basethread.h ../../core/synchro.h
gallery.o: ../../core/dirs.h ../../core/dircontainer.h ../../notify/notify.h
gallery.o: ../../notify/notifypool.h ../../templates/patterns.h
gallery.o: ../../templates/locale.h ../../templates/localefilter.h
gallery.o: ../../../ezc/src/ezc.h ../../../ezc/src/generator.h
gallery.o: ../../../ezc/src/pattern.h ../../../ezc/src/functions.h
gallery.o: ../../../ezc/src/funinfo.h ../../../ezc/src/stringconv.h
gallery.o: ../../notify/notifythread.h ../../core/basethread.h
gallery.o: ../../notify/templatesnotify.h ../../core/users.h
gallery.o: ../../core/ugcontainer.h ../../core/lastcontainer.h
gallery.o: ../../core/mounts.h ../../core/mountparser.h ../../core/crypt.h
gallery.o: ../../core/run.h ../../core/users.h ../../core/groups.h
gallery.o: ../../core/group.h ../../core/loadavg.h ../../core/image.h
gallery.o: ../../core/threadmanager.h ../../core/timezones.h
gallery.o: ../../core/timezone.h ../../core/synchro.h galleryinfo.h
galleryinfo.o: galleryinfo.h ../../core/item.h
gallery.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
gallery.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
gallery.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
gallery.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
gallery.o: ../../../winix/core/textstream.h
gallery.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
gallery.o: ../../../winix/core/cur.h ../../../winix/core/request.h
gallery.o: ../../../winix/core/error.h ../../../winix/core/config.h
gallery.o: ../../../winix/core/htmlfilter.h
gallery.o: ../../../winix/templates/htmltextstream.h
gallery.o: ../../../pikotools/space/spacetojson.h
gallery.o: ../../../winix/core/session.h ../../../winix/core/user.h
gallery.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
gallery.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
gallery.o: ../../../winix/templates/locale.h ../../../winix/core/request.h
gallery.o: ../../../winix/core/config.h ../../../winix/core/system.h
gallery.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
gallery.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
gallery.o: ../../../winix/core/dircontainer.h ../../../winix/notify/notify.h
gallery.o: ../../../winix/notify/notifypool.h
gallery.o: ../../../winix/templates/patterns.h
gallery.o: ../../../winix/templates/locale.h
gallery.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
gallery.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
gallery.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
gallery.o: ../../../ezc/src/stringconv.h ../../../winix/notify/notifythread.h
gallery.o: ../../../winix/core/basethread.h
gallery.o: ../../../winix/notify/templatesnotify.h
gallery.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
gallery.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
gallery.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
gallery.o: ../../../winix/core/run.h ../../../winix/core/users.h
gallery.o: ../../../winix/core/groups.h ../../../winix/core/group.h
gallery.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
gallery.o: ../../../winix/core/threadmanager.h
gallery.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
gallery.o: ../../../winix/core/synchro.h galleryinfo.h
galleryinfo.o: galleryinfo.h ../../../winix/core/item.h
galleryinfo.o: ../../../pikotools/space/space.h
galleryinfo.o: ../../../pikotools/textstream/types.h
galleryinfo.o: ../../../pikotools/date/date.h
init.o: gallery.h ../../functions/functionbase.h ../../core/item.h
init.o: ../../../pikotools/space/space.h
init.o: gallery.h ../../../winix/functions/functionbase.h
init.o: ../../../winix/core/item.h ../../../pikotools/space/space.h
init.o: ../../../pikotools/textstream/types.h ../../../pikotools/date/date.h
init.o: ../../db/db.h ../../db/dbbase.h ../../db/dbconn.h
init.o: ../../db/dbtextstream.h ../../core/textstream.h ../../core/misc.h
init.o: ../../core/item.h ../../core/requesttypes.h
init.o: ../../../winix/db/db.h ../../../winix/db/dbbase.h
init.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
init.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
init.o: ../../../winix/core/item.h ../../../winix/core/requesttypes.h
init.o: ../../../pikotools/textstream/textstream.h
init.o: ../../../pikotools/convert/convert.h
init.o: ../../../pikotools/convert/inttostr.h
init.o: ../../../pikotools/membuffer/membuffer.h
init.o: ../../../pikotools/textstream/types.h ../../../pikotools/utf8/utf8.h
init.o: ../../core/error.h ../../../pikotools/space/spaceparser.h
init.o: ../../../pikotools/space/space.h ../../db/dbitemquery.h
init.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
init.o: ../../core/dircontainer.h ../../core/ugcontainer.h ../../core/log.h
init.o: ../../core/textstream.h ../../core/logmanipulators.h
init.o: ../../core/slog.h ../../core/cur.h ../../core/request.h
init.o: ../../core/error.h ../../core/config.h ../../core/htmlfilter.h
init.o: ../../templates/htmltextstream.h
init.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
init.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
init.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
init.o: ../../core/request.h ../../core/config.h ../../core/system.h
init.o: ../../core/job.h ../../core/basethread.h ../../core/synchro.h
init.o: ../../core/dirs.h ../../core/dircontainer.h ../../notify/notify.h
init.o: ../../notify/notifypool.h ../../templates/patterns.h
init.o: ../../templates/locale.h ../../templates/localefilter.h
init.o: ../../../ezc/src/ezc.h ../../../ezc/src/generator.h
init.o: ../../../ezc/src/pattern.h ../../../ezc/src/functions.h
init.o: ../../../ezc/src/funinfo.h ../../../ezc/src/stringconv.h
init.o: ../../notify/notifythread.h ../../core/basethread.h
init.o: ../../notify/templatesnotify.h ../../core/users.h
init.o: ../../core/ugcontainer.h ../../core/lastcontainer.h
init.o: ../../core/mounts.h ../../core/mountparser.h ../../core/crypt.h
init.o: ../../core/run.h ../../core/users.h ../../core/groups.h
init.o: ../../core/group.h ../../core/loadavg.h ../../core/image.h
init.o: ../../core/threadmanager.h ../../core/timezones.h
init.o: ../../core/timezone.h ../../core/synchro.h galleryinfo.h
init.o: ../../core/log.h ../../core/plugin.h ../../core/pluginmsg.h
init.o: ../../core/system.h ../../core/sessionmanager.h
init.o: ../../core/sessioncontainer.h ../../core/ipbancontainer.h
init.o: ../../functions/functions.h ../../functions/functionbase.h
init.o: ../../functions/functionparser.h ../../core/cur.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/default.h
init.o: ../../functions/download.h ../../functions/emacs.h
init.o: ../../functions/env.h ../../functions/last.h ../../functions/login.h
init.o: ../../functions/logout.h ../../functions/ln.h ../../functions/ls.h
init.o: ../../functions/man.h ../../functions/meta.h ../../functions/mkdir.h
init.o: ../../functions/mv.h ../../functions/nicedit.h ../../functions/node.h
init.o: ../../functions/passwd.h ../../functions/priv.h ../../functions/pw.h
init.o: ../../functions/reload.h ../../functions/rm.h
init.o: ../../functions/rmuser.h ../../functions/sort.h
init.o: ../../functions/specialdefault.h ../../functions/stat.h
init.o: ../../functions/subject.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/indexpatterns.h ../../templates/patterns.h
init.o: ../../templates/changepatterns.h ../../templates/htmltextstream.h
init.o: ../../core/sessionmanager.h
templates.o: gallery.h ../../functions/functionbase.h ../../core/item.h
templates.o: ../../../pikotools/space/space.h
init.o: ../../../winix/core/error.h ../../../pikotools/space/spaceparser.h
init.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
init.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
init.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
init.o: ../../../winix/core/textstream.h
init.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
init.o: ../../../winix/core/cur.h ../../../winix/core/request.h
init.o: ../../../winix/core/error.h ../../../winix/core/config.h
init.o: ../../../winix/core/htmlfilter.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
init.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
init.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
init.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
init.o: ../../../winix/core/request.h ../../../winix/core/config.h
init.o: ../../../winix/core/system.h ../../../winix/core/job.h
init.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
init.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/notify/notify.h ../../../winix/notify/notifypool.h
init.o: ../../../winix/templates/patterns.h ../../../winix/templates/locale.h
init.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
init.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
init.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
init.o: ../../../ezc/src/stringconv.h ../../../winix/notify/notifythread.h
init.o: ../../../winix/core/basethread.h
init.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/users.h
init.o: ../../../winix/core/ugcontainer.h ../../../winix/core/lastcontainer.h
init.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
init.o: ../../../winix/core/crypt.h ../../../winix/core/run.h
init.o: ../../../winix/core/users.h ../../../winix/core/groups.h
init.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
init.o: ../../../winix/core/image.h ../../../winix/core/threadmanager.h
init.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
init.o: ../../../winix/core/synchro.h galleryinfo.h ../../../winix/core/log.h
init.o: ../../../winix/core/plugin.h ../../../winix/core/pluginmsg.h
init.o: ../../../winix/core/system.h ../../../winix/core/sessionmanager.h
init.o: ../../../winix/core/sessioncontainer.h
init.o: ../../../winix/core/ipbancontainer.h
init.o: ../../../winix/functions/functions.h
init.o: ../../../winix/functions/functionbase.h
init.o: ../../../winix/functions/functionparser.h ../../../winix/core/cur.h
init.o: ../../../winix/functions/account.h ../../../winix/functions/adduser.h
init.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
init.o: ../../../winix/functions/privchanger.h
init.o: ../../../winix/functions/chown.h ../../../winix/functions/ckeditor.h
init.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
init.o: ../../../winix/functions/download.h ../../../winix/functions/emacs.h
init.o: ../../../winix/functions/env.h ../../../winix/functions/imgcrop.h
init.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
init.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
init.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
init.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
init.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
init.o: ../../../winix/functions/node.h ../../../winix/functions/passwd.h
init.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
init.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
init.o: ../../../winix/functions/rmuser.h ../../../winix/functions/sort.h
init.o: ../../../winix/functions/specialdefault.h
init.o: ../../../winix/functions/stat.h ../../../winix/functions/subject.h
init.o: ../../../winix/functions/template.h
init.o: ../../../winix/functions/tinymce.h ../../../winix/functions/uname.h
init.o: ../../../winix/functions/upload.h ../../../winix/functions/uptime.h
init.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
init.o: ../../../winix/core/htmlfilter.h ../../../winix/templates/templates.h
init.o: ../../../winix/templates/patterncacher.h
init.o: ../../../winix/templates/indexpatterns.h
init.o: ../../../winix/templates/patterns.h
init.o: ../../../winix/templates/changepatterns.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/sessionmanager.h
templates.o: gallery.h ../../../winix/functions/functionbase.h
templates.o: ../../../winix/core/item.h ../../../pikotools/space/space.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../../pikotools/date/date.h ../../db/db.h ../../db/dbbase.h
templates.o: ../../db/dbconn.h ../../db/dbtextstream.h
templates.o: ../../core/textstream.h ../../core/misc.h ../../core/item.h
templates.o: ../../core/requesttypes.h
templates.o: ../../../pikotools/date/date.h ../../../winix/db/db.h
templates.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
templates.o: ../../../winix/db/dbtextstream.h
templates.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
templates.o: ../../../winix/core/item.h ../../../winix/core/requesttypes.h
templates.o: ../../../pikotools/textstream/textstream.h
templates.o: ../../../pikotools/convert/convert.h
templates.o: ../../../pikotools/convert/inttostr.h
templates.o: ../../../pikotools/membuffer/membuffer.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../../pikotools/utf8/utf8.h ../../core/error.h
templates.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/error.h
templates.o: ../../../pikotools/space/spaceparser.h
templates.o: ../../../pikotools/space/space.h ../../db/dbitemquery.h
templates.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
templates.o: ../../core/dircontainer.h ../../core/ugcontainer.h
templates.o: ../../core/log.h ../../core/textstream.h
templates.o: ../../core/logmanipulators.h ../../core/slog.h ../../core/cur.h
templates.o: ../../core/request.h ../../core/error.h ../../core/config.h
templates.o: ../../core/htmlfilter.h ../../templates/htmltextstream.h
templates.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
templates.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
templates.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
templates.o: ../../core/request.h ../../core/config.h ../../core/system.h
templates.o: ../../core/job.h ../../core/basethread.h ../../core/synchro.h
templates.o: ../../core/dirs.h ../../core/dircontainer.h
templates.o: ../../notify/notify.h ../../notify/notifypool.h
templates.o: ../../templates/patterns.h ../../templates/locale.h
templates.o: ../../templates/localefilter.h ../../../ezc/src/ezc.h
templates.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
templates.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
templates.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
templates.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
templates.o: ../../../winix/core/textstream.h
templates.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
templates.o: ../../../winix/core/cur.h ../../../winix/core/request.h
templates.o: ../../../winix/core/error.h ../../../winix/core/config.h
templates.o: ../../../winix/core/htmlfilter.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../pikotools/space/spacetojson.h
templates.o: ../../../winix/core/session.h ../../../winix/core/user.h
templates.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
templates.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
templates.o: ../../../winix/templates/locale.h ../../../winix/core/request.h
templates.o: ../../../winix/core/config.h ../../../winix/core/system.h
templates.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
templates.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
templates.o: ../../../winix/core/dircontainer.h
templates.o: ../../../winix/notify/notify.h
templates.o: ../../../winix/notify/notifypool.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/locale.h
templates.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
templates.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
templates.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
templates.o: ../../../ezc/src/stringconv.h ../../notify/notifythread.h
templates.o: ../../core/basethread.h ../../notify/templatesnotify.h
templates.o: ../../core/users.h ../../core/ugcontainer.h
templates.o: ../../core/lastcontainer.h ../../core/mounts.h
templates.o: ../../core/mountparser.h ../../core/crypt.h ../../core/run.h
templates.o: ../../core/users.h ../../core/groups.h ../../core/group.h
templates.o: ../../core/loadavg.h ../../core/image.h
templates.o: ../../core/threadmanager.h ../../core/timezones.h
templates.o: ../../core/timezone.h ../../core/synchro.h galleryinfo.h
templates.o: ../../core/misc.h ../../core/plugin.h ../../core/pluginmsg.h
templates.o: ../../core/system.h ../../core/sessionmanager.h
templates.o: ../../core/sessioncontainer.h ../../core/ipbancontainer.h
templates.o: ../../functions/functions.h ../../functions/functionbase.h
templates.o: ../../functions/functionparser.h ../../core/cur.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/default.h
templates.o: ../../functions/download.h ../../functions/emacs.h
templates.o: ../../functions/env.h ../../functions/last.h
templates.o: ../../functions/login.h ../../functions/logout.h
templates.o: ../../functions/ln.h ../../functions/ls.h ../../functions/man.h
templates.o: ../../functions/meta.h ../../functions/mkdir.h
templates.o: ../../functions/mv.h ../../functions/nicedit.h
templates.o: ../../functions/node.h ../../functions/passwd.h
templates.o: ../../functions/priv.h ../../functions/pw.h
templates.o: ../../functions/reload.h ../../functions/rm.h
templates.o: ../../functions/rmuser.h ../../functions/sort.h
templates.o: ../../functions/specialdefault.h ../../functions/stat.h
templates.o: ../../functions/subject.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/indexpatterns.h
templates.o: ../../templates/patterns.h ../../templates/changepatterns.h
templates.o: ../../templates/htmltextstream.h ../../core/sessionmanager.h
templates.o: ../../../ezc/src/stringconv.h
templates.o: ../../../winix/notify/notifythread.h
templates.o: ../../../winix/core/basethread.h
templates.o: ../../../winix/notify/templatesnotify.h
templates.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
templates.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
templates.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
templates.o: ../../../winix/core/run.h ../../../winix/core/users.h
templates.o: ../../../winix/core/groups.h ../../../winix/core/group.h
templates.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
templates.o: ../../../winix/core/threadmanager.h
templates.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
templates.o: ../../../winix/core/synchro.h galleryinfo.h
templates.o: ../../../winix/core/misc.h ../../../winix/core/plugin.h
templates.o: ../../../winix/core/pluginmsg.h ../../../winix/core/system.h
templates.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/core/sessioncontainer.h
templates.o: ../../../winix/core/ipbancontainer.h
templates.o: ../../../winix/functions/functions.h
templates.o: ../../../winix/functions/functionbase.h
templates.o: ../../../winix/functions/functionparser.h
templates.o: ../../../winix/core/cur.h ../../../winix/functions/account.h
templates.o: ../../../winix/functions/adduser.h
templates.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
templates.o: ../../../winix/functions/privchanger.h
templates.o: ../../../winix/functions/chown.h
templates.o: ../../../winix/functions/ckeditor.h
templates.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
templates.o: ../../../winix/functions/download.h
templates.o: ../../../winix/functions/emacs.h ../../../winix/functions/env.h
templates.o: ../../../winix/functions/imgcrop.h
templates.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
templates.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
templates.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
templates.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
templates.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
templates.o: ../../../winix/functions/node.h
templates.o: ../../../winix/functions/passwd.h
templates.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
templates.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
templates.o: ../../../winix/functions/rmuser.h
templates.o: ../../../winix/functions/sort.h
templates.o: ../../../winix/functions/specialdefault.h
templates.o: ../../../winix/functions/stat.h
templates.o: ../../../winix/functions/subject.h
templates.o: ../../../winix/functions/template.h
templates.o: ../../../winix/functions/tinymce.h
templates.o: ../../../winix/functions/uname.h
templates.o: ../../../winix/functions/upload.h
templates.o: ../../../winix/functions/uptime.h ../../../winix/functions/who.h
templates.o: ../../../winix/functions/vim.h ../../../winix/core/htmlfilter.h
templates.o: ../../../winix/templates/templates.h
templates.o: ../../../winix/templates/patterncacher.h
templates.o: ../../../winix/templates/indexpatterns.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/changepatterns.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/templates/miscspace.h
templates.o: ../../../winix/templates/templates.h

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2011, Tomasz Sowa
* Copyright (c) 2011-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -53,12 +53,13 @@ void Gallery::SortPointers()
void Gallery::MakeGetDir()
{
iq.SetAll(false, false);
iq.sel_parent_id = true;
iq.sel_subject = true;
iq.sel_url = true;
iq.sel_type = true;
iq.sel_file = true;
iq.sel_sort_index = true;
iq.sel_parent_id = true;
iq.sel_subject = true;
iq.sel_url = true;
iq.sel_type = true;
iq.sel_file = true;
iq.sel_sort_index = true;
iq.sel_meta = true;
iq.WhereParentId(cur->request->dir_tab.back()->id);
iq.WhereFileType(WINIX_ITEM_FILETYPE_IMAGE);

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2011, Tomasz Sowa
* Copyright (c) 2011-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -13,6 +13,7 @@
#include "core/plugin.h"
#include "templates/templates.h"
#include "functions/functions.h"
#include "templates/miscspace.h"
@@ -85,6 +86,64 @@ void gallery_tab_link(Info & i)
void gallery_tab_meta_str(Info & i)
{
if( gallery_index < gallery_info.item_sort_tab.size() )
{
Item & item = *gallery_info.item_sort_tab[gallery_index];
item.meta.Serialize(i.out, true, false);
}
}
void gallery_tab_meta(Info & i)
{
if( gallery_index < gallery_info.item_sort_tab.size() )
{
Item & item = *gallery_info.item_sort_tab[gallery_index];
space(i, item.meta);
}
}
void gallery_tab_meta_tab(Info & i)
{
if( gallery_index < gallery_info.item_sort_tab.size() )
{
Item & item = *gallery_info.item_sort_tab[gallery_index];
spaces_tab(i, item.meta);
}
}
void gallery_tab_meta_tab_value(Info & i)
{
if( gallery_index < gallery_info.item_sort_tab.size() )
{
Item & item = *gallery_info.item_sort_tab[gallery_index];
spaces_tab_value(i, item.meta);
}
}
void gallery_tab_meta_tab_has_next(Info & i)
{
if( gallery_index < gallery_info.item_sort_tab.size() )
{
Item & item = *gallery_info.item_sort_tab[gallery_index];
spaces_tab_has_next(i, item.meta);
}
}
void gallery_width(Info & i)
{
if( !system->mounts.pmount )
@@ -147,17 +206,22 @@ void AddEzcFunctions(PluginInfo & info)
using TemplatesFunctions::EzcFun;
EzcFun * fun = reinterpret_cast<EzcFun*>(info.p1);
fun->Insert("gallery_tab", gallery_tab);
fun->Insert("gallery_tab_index", gallery_tab_index);
fun->Insert("gallery_tab_dir", gallery_tab_dir);
fun->Insert("gallery_tab_url", gallery_tab_url);
fun->Insert("gallery_tab_subject", gallery_tab_subject);
fun->Insert("gallery_tab_link", gallery_tab_link);
fun->Insert("gallery_width", gallery_width);
fun->Insert("gallery_height", gallery_height);
fun->Insert("gallery_has_not_mount_type", gallery_has_not_mount_type);
fun->Insert("gallery_mount_type_arg_is", gallery_mount_type_arg_is);
fun->Insert("gallery_mount_theme_arg_is", gallery_mount_theme_arg_is);
fun->Insert("gallery_tab", gallery_tab);
fun->Insert("gallery_tab_index", gallery_tab_index);
fun->Insert("gallery_tab_dir", gallery_tab_dir);
fun->Insert("gallery_tab_url", gallery_tab_url);
fun->Insert("gallery_tab_subject", gallery_tab_subject);
fun->Insert("gallery_tab_link", gallery_tab_link);
fun->Insert("gallery_tab_meta_str", gallery_tab_meta_str);
fun->Insert("gallery_tab_meta", gallery_tab_meta);
fun->Insert("gallery_tab_meta_tab", gallery_tab_meta_tab);
fun->Insert("gallery_tab_meta_tab_value", gallery_tab_meta_tab_value);
fun->Insert("gallery_tab_meta_tab_has_next", gallery_tab_meta_tab_has_next);
fun->Insert("gallery_width", gallery_width);
fun->Insert("gallery_height", gallery_height);
fun->Insert("gallery_has_not_mount_type", gallery_has_not_mount_type);
fun->Insert("gallery_mount_type_arg_is", gallery_mount_type_arg_is);
fun->Insert("gallery_mount_theme_arg_is", gallery_mount_theme_arg_is);
}

View File

@@ -6,22 +6,23 @@ name = group.so
all: $(name)
$(name): $(o)
$(CXX) -shared -Wl,-soname,$(name).so -o $(name) $(CXXFLAGS) $(LDFLAGS) *.o
$(CXX) -shared -Wl,-soname,$(name) -o $(name) $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $(LDFLAGS) *.o
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $<
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. -I../.. -I../../../ezc/src -I../../../pikotools -I../../../tito/src -f- *.cpp > Makefile.dep
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
rm -f *.so
rm -f $(name)
include Makefile.dep

View File

@@ -2,173 +2,237 @@
groupinfo.o: groupinfo.h groups.h ../../../pikotools/space/spaceparser.h
groupinfo.o: ../../../pikotools/space/space.h
groupinfo.o: ../../../pikotools/textstream/types.h ../../core/item.h
groupinfo.o: ../../../pikotools/textstream/types.h ../../../winix/core/item.h
groupinfo.o: ../../../pikotools/space/space.h ../../../pikotools/date/date.h
groupinfo.o: ../../core/system.h ../../core/job.h ../../core/basethread.h
groupinfo.o: ../../core/synchro.h ../../core/dirs.h ../../core/item.h
groupinfo.o: ../../core/dircontainer.h ../../db/db.h ../../db/dbbase.h
groupinfo.o: ../../db/dbconn.h ../../db/dbtextstream.h
groupinfo.o: ../../core/textstream.h ../../core/misc.h
groupinfo.o: ../../core/requesttypes.h
groupinfo.o: ../../../winix/core/system.h ../../../winix/core/job.h
groupinfo.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
groupinfo.o: ../../../winix/core/dirs.h ../../../winix/core/item.h
groupinfo.o: ../../../winix/core/dircontainer.h ../../../winix/db/db.h
groupinfo.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
groupinfo.o: ../../../winix/db/dbtextstream.h
groupinfo.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
groupinfo.o: ../../../winix/core/requesttypes.h
groupinfo.o: ../../../pikotools/textstream/textstream.h
groupinfo.o: ../../../pikotools/convert/convert.h
groupinfo.o: ../../../pikotools/convert/inttostr.h
groupinfo.o: ../../../pikotools/membuffer/membuffer.h
groupinfo.o: ../../../pikotools/textstream/types.h
groupinfo.o: ../../../pikotools/utf8/utf8.h ../../core/error.h
groupinfo.o: ../../db/dbitemquery.h ../../db/dbitemcolumns.h
groupinfo.o: ../../core/user.h ../../core/group.h ../../core/dircontainer.h
groupinfo.o: ../../core/ugcontainer.h ../../core/log.h
groupinfo.o: ../../core/textstream.h ../../core/logmanipulators.h
groupinfo.o: ../../core/slog.h ../../core/cur.h ../../core/request.h
groupinfo.o: ../../core/error.h ../../core/config.h ../../core/htmlfilter.h
groupinfo.o: ../../templates/htmltextstream.h
groupinfo.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
groupinfo.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
groupinfo.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
groupinfo.o: ../../notify/notify.h ../../notify/notifypool.h
groupinfo.o: ../../templates/patterns.h ../../templates/locale.h
groupinfo.o: ../../templates/localefilter.h ../../../ezc/src/ezc.h
groupinfo.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/error.h
groupinfo.o: ../../../winix/db/dbitemquery.h
groupinfo.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
groupinfo.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
groupinfo.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
groupinfo.o: ../../../winix/core/textstream.h
groupinfo.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
groupinfo.o: ../../../winix/core/cur.h ../../../winix/core/request.h
groupinfo.o: ../../../winix/core/error.h ../../../winix/core/config.h
groupinfo.o: ../../../winix/core/htmlfilter.h
groupinfo.o: ../../../winix/templates/htmltextstream.h
groupinfo.o: ../../../pikotools/space/spacetojson.h
groupinfo.o: ../../../winix/core/session.h ../../../winix/core/user.h
groupinfo.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
groupinfo.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
groupinfo.o: ../../../winix/templates/locale.h ../../../winix/notify/notify.h
groupinfo.o: ../../../winix/notify/notifypool.h
groupinfo.o: ../../../winix/templates/patterns.h
groupinfo.o: ../../../winix/templates/locale.h
groupinfo.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
groupinfo.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
groupinfo.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
groupinfo.o: ../../../ezc/src/stringconv.h ../../notify/notifythread.h
groupinfo.o: ../../core/basethread.h ../../notify/templatesnotify.h
groupinfo.o: ../../core/config.h ../../core/users.h ../../core/ugcontainer.h
groupinfo.o: ../../core/lastcontainer.h ../../core/mounts.h
groupinfo.o: ../../core/mountparser.h ../../core/crypt.h ../../core/run.h
groupinfo.o: ../../core/users.h ../../core/loadavg.h ../../core/image.h
groupinfo.o: ../../core/threadmanager.h ../../core/timezones.h
groupinfo.o: ../../core/timezone.h ../../core/log.h
groupinfo.o: ../../../ezc/src/stringconv.h
groupinfo.o: ../../../winix/notify/notifythread.h
groupinfo.o: ../../../winix/core/basethread.h
groupinfo.o: ../../../winix/notify/templatesnotify.h
groupinfo.o: ../../../winix/core/config.h ../../../winix/core/users.h
groupinfo.o: ../../../winix/core/ugcontainer.h
groupinfo.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
groupinfo.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
groupinfo.o: ../../../winix/core/run.h ../../../winix/core/users.h
groupinfo.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
groupinfo.o: ../../../winix/core/threadmanager.h
groupinfo.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
groupinfo.o: ../../../winix/core/log.h
groups.o: groups.h ../../../pikotools/space/spaceparser.h
groups.o: ../../../pikotools/space/space.h
groups.o: ../../../pikotools/textstream/types.h ../../core/log.h
init.o: ../../core/log.h ../../core/plugin.h ../../core/pluginmsg.h
init.o: ../../core/log.h ../../core/textstream.h ../../core/logmanipulators.h
groups.o: ../../../pikotools/textstream/types.h ../../../winix/core/log.h
init.o: ../../../winix/core/log.h ../../../winix/core/plugin.h
init.o: ../../../winix/core/pluginmsg.h ../../../winix/core/log.h
init.o: ../../../winix/core/textstream.h
init.o: ../../../winix/core/logmanipulators.h
init.o: ../../../pikotools/textstream/textstream.h
init.o: ../../../pikotools/space/space.h ../../../pikotools/date/date.h
init.o: ../../../pikotools/convert/convert.h
init.o: ../../../pikotools/convert/inttostr.h
init.o: ../../../pikotools/membuffer/membuffer.h
init.o: ../../../pikotools/textstream/types.h ../../core/slog.h
init.o: ../../core/cur.h ../../core/request.h ../../core/requesttypes.h
init.o: ../../core/item.h ../../core/error.h ../../core/config.h
init.o: ../../../pikotools/textstream/types.h ../../../winix/core/slog.h
init.o: ../../../winix/core/cur.h ../../../winix/core/request.h
init.o: ../../../winix/core/requesttypes.h ../../../winix/core/item.h
init.o: ../../../winix/core/error.h ../../../winix/core/config.h
init.o: ../../../pikotools/space/spaceparser.h
init.o: ../../../pikotools/space/space.h
init.o: ../../../pikotools/textstream/types.h ../../core/htmlfilter.h
init.o: ../../templates/htmltextstream.h ../../core/textstream.h
init.o: ../../core/misc.h ../../../pikotools/utf8/utf8.h
init.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
init.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
init.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
init.o: ../../core/system.h ../../core/job.h ../../core/basethread.h
init.o: ../../core/synchro.h ../../core/dirs.h ../../core/dircontainer.h
init.o: ../../db/db.h ../../db/dbbase.h ../../db/dbconn.h
init.o: ../../db/dbtextstream.h ../../core/error.h ../../db/dbitemquery.h
init.o: ../../core/item.h ../../db/dbitemcolumns.h ../../core/user.h
init.o: ../../core/group.h ../../core/dircontainer.h ../../core/ugcontainer.h
init.o: ../../notify/notify.h ../../notify/notifypool.h
init.o: ../../templates/patterns.h ../../templates/locale.h
init.o: ../../templates/localefilter.h ../../../ezc/src/ezc.h
init.o: ../../../pikotools/textstream/types.h
init.o: ../../../winix/core/htmlfilter.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
init.o: ../../../pikotools/utf8/utf8.h ../../../pikotools/space/spacetojson.h
init.o: ../../../winix/core/session.h ../../../winix/core/user.h
init.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
init.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
init.o: ../../../winix/templates/locale.h ../../../winix/core/system.h
init.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
init.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
init.o: ../../../winix/core/dircontainer.h ../../../winix/db/db.h
init.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
init.o: ../../../winix/db/dbtextstream.h ../../../winix/core/error.h
init.o: ../../../winix/db/dbitemquery.h ../../../winix/core/item.h
init.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
init.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/core/ugcontainer.h ../../../winix/notify/notify.h
init.o: ../../../winix/notify/notifypool.h
init.o: ../../../winix/templates/patterns.h ../../../winix/templates/locale.h
init.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
init.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
init.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
init.o: ../../../ezc/src/stringconv.h ../../notify/notifythread.h
init.o: ../../core/basethread.h ../../notify/templatesnotify.h
init.o: ../../core/config.h ../../core/users.h ../../core/ugcontainer.h
init.o: ../../core/lastcontainer.h ../../core/mounts.h
init.o: ../../core/mountparser.h ../../core/crypt.h ../../core/run.h
init.o: ../../core/users.h groups.h ../../core/loadavg.h ../../core/image.h
init.o: ../../core/threadmanager.h ../../core/timezones.h
init.o: ../../core/timezone.h ../../core/sessionmanager.h
init.o: ../../core/sessioncontainer.h ../../core/ipbancontainer.h
init.o: ../../functions/functions.h ../../functions/functionbase.h
init.o: ../../core/request.h ../../core/system.h ../../core/synchro.h
init.o: ../../functions/functionparser.h ../../core/cur.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/default.h
init.o: ../../functions/download.h ../../functions/emacs.h
init.o: ../../functions/env.h ../../functions/last.h ../../functions/login.h
init.o: ../../functions/logout.h ../../functions/ln.h ../../functions/ls.h
init.o: ../../functions/man.h ../../functions/meta.h ../../functions/mkdir.h
init.o: ../../functions/mv.h ../../functions/nicedit.h ../../functions/node.h
init.o: ../../functions/passwd.h ../../functions/priv.h ../../functions/pw.h
init.o: ../../functions/reload.h ../../functions/rm.h
init.o: ../../functions/rmuser.h ../../functions/sort.h
init.o: ../../functions/specialdefault.h ../../functions/stat.h
init.o: ../../functions/subject.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/indexpatterns.h ../../templates/patterns.h
init.o: ../../templates/changepatterns.h ../../templates/htmltextstream.h
init.o: ../../core/sessionmanager.h groupinfo.h
templates.o: ../../templates/templates.h ../../../ezc/src/ezc.h
init.o: ../../../ezc/src/stringconv.h ../../../winix/notify/notifythread.h
init.o: ../../../winix/core/basethread.h
init.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/config.h
init.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
init.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
init.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
init.o: ../../../winix/core/run.h ../../../winix/core/users.h groups.h
init.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
init.o: ../../../winix/core/threadmanager.h ../../../winix/core/timezones.h
init.o: ../../../winix/core/timezone.h ../../../winix/core/sessionmanager.h
init.o: ../../../winix/core/sessioncontainer.h
init.o: ../../../winix/core/ipbancontainer.h
init.o: ../../../winix/functions/functions.h
init.o: ../../../winix/functions/functionbase.h ../../../winix/core/request.h
init.o: ../../../winix/core/system.h ../../../winix/core/synchro.h
init.o: ../../../winix/functions/functionparser.h ../../../winix/core/cur.h
init.o: ../../../winix/functions/account.h ../../../winix/functions/adduser.h
init.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
init.o: ../../../winix/functions/privchanger.h
init.o: ../../../winix/functions/chown.h ../../../winix/functions/ckeditor.h
init.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
init.o: ../../../winix/functions/download.h ../../../winix/functions/emacs.h
init.o: ../../../winix/functions/env.h ../../../winix/functions/imgcrop.h
init.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
init.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
init.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
init.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
init.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
init.o: ../../../winix/functions/node.h ../../../winix/functions/passwd.h
init.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
init.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
init.o: ../../../winix/functions/rmuser.h ../../../winix/functions/sort.h
init.o: ../../../winix/functions/specialdefault.h
init.o: ../../../winix/functions/stat.h ../../../winix/functions/subject.h
init.o: ../../../winix/functions/template.h
init.o: ../../../winix/functions/tinymce.h ../../../winix/functions/uname.h
init.o: ../../../winix/functions/upload.h ../../../winix/functions/uptime.h
init.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
init.o: ../../../winix/core/htmlfilter.h ../../../winix/templates/templates.h
init.o: ../../../winix/templates/patterncacher.h
init.o: ../../../winix/templates/indexpatterns.h
init.o: ../../../winix/templates/patterns.h
init.o: ../../../winix/templates/changepatterns.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/sessionmanager.h groupinfo.h
templates.o: ../../../winix/templates/templates.h ../../../ezc/src/ezc.h
templates.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
templates.o: ../../core/item.h ../../../ezc/src/functions.h
templates.o: ../../../winix/core/item.h ../../../ezc/src/functions.h
templates.o: ../../../ezc/src/funinfo.h ../../../ezc/src/stringconv.h
templates.o: ../../../pikotools/utf8/utf8.h ../../core/misc.h
templates.o: ../../core/requesttypes.h
templates.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/misc.h
templates.o: ../../../winix/core/requesttypes.h
templates.o: ../../../pikotools/textstream/textstream.h
templates.o: ../../../pikotools/space/space.h ../../../pikotools/date/date.h
templates.o: ../../../pikotools/convert/convert.h
templates.o: ../../../pikotools/convert/inttostr.h
templates.o: ../../../pikotools/membuffer/membuffer.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../templates/patterncacher.h ../../core/item.h
templates.o: ../../templates/indexpatterns.h ../../templates/patterns.h
templates.o: ../../templates/locale.h ../../templates/changepatterns.h
templates.o: ../../templates/htmltextstream.h ../../templates/localefilter.h
templates.o: ../../core/config.h ../../core/cur.h ../../core/system.h
templates.o: ../../core/job.h ../../core/basethread.h ../../core/synchro.h
templates.o: ../../core/dirs.h ../../core/dircontainer.h ../../db/db.h
templates.o: ../../db/dbbase.h ../../db/dbconn.h ../../db/dbtextstream.h
templates.o: ../../core/textstream.h ../../core/error.h
templates.o: ../../../winix/templates/patterncacher.h
templates.o: ../../../winix/core/item.h
templates.o: ../../../winix/templates/indexpatterns.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/locale.h
templates.o: ../../../winix/templates/changepatterns.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../winix/templates/localefilter.h
templates.o: ../../../winix/core/config.h ../../../winix/core/cur.h
templates.o: ../../../winix/core/system.h ../../../winix/core/job.h
templates.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
templates.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
templates.o: ../../../winix/db/db.h ../../../winix/db/dbbase.h
templates.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
templates.o: ../../../winix/core/textstream.h ../../../winix/core/error.h
templates.o: ../../../pikotools/space/spaceparser.h
templates.o: ../../../pikotools/space/space.h
templates.o: ../../../pikotools/textstream/types.h ../../db/dbitemquery.h
templates.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
templates.o: ../../core/dircontainer.h ../../core/ugcontainer.h
templates.o: ../../core/log.h ../../core/textstream.h
templates.o: ../../core/logmanipulators.h ../../core/slog.h ../../core/cur.h
templates.o: ../../core/request.h ../../core/error.h ../../core/config.h
templates.o: ../../core/htmlfilter.h ../../templates/htmltextstream.h
templates.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
templates.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
templates.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
templates.o: ../../notify/notify.h ../../notify/notifypool.h
templates.o: ../../templates/patterns.h ../../notify/notifythread.h
templates.o: ../../core/basethread.h ../../notify/templatesnotify.h
templates.o: ../../core/users.h ../../core/ugcontainer.h
templates.o: ../../core/lastcontainer.h ../../core/mounts.h
templates.o: ../../core/mountparser.h ../../core/crypt.h ../../core/run.h
templates.o: ../../core/users.h groups.h ../../core/loadavg.h
templates.o: ../../core/image.h ../../core/threadmanager.h
templates.o: ../../core/timezones.h ../../core/timezone.h
templates.o: ../../core/sessionmanager.h ../../core/htmlfilter.h
templates.o: ../../core/plugin.h ../../core/pluginmsg.h ../../core/system.h
templates.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
templates.o: ../../core/ipbancontainer.h ../../functions/functions.h
templates.o: ../../functions/functionbase.h ../../core/request.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/default.h
templates.o: ../../functions/download.h ../../functions/emacs.h
templates.o: ../../functions/env.h ../../functions/last.h
templates.o: ../../functions/login.h ../../functions/logout.h
templates.o: ../../functions/ln.h ../../functions/ls.h ../../functions/man.h
templates.o: ../../functions/meta.h ../../functions/mkdir.h
templates.o: ../../functions/mv.h ../../functions/nicedit.h
templates.o: ../../functions/node.h ../../functions/passwd.h
templates.o: ../../functions/priv.h ../../functions/pw.h
templates.o: ../../functions/reload.h ../../functions/rm.h
templates.o: ../../functions/rmuser.h ../../functions/sort.h
templates.o: ../../functions/specialdefault.h ../../functions/stat.h
templates.o: ../../functions/subject.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 groupinfo.h
templates.o: ../../core/misc.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../../winix/db/dbitemquery.h
templates.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
templates.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
templates.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
templates.o: ../../../winix/core/textstream.h
templates.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
templates.o: ../../../winix/core/cur.h ../../../winix/core/request.h
templates.o: ../../../winix/core/error.h ../../../winix/core/config.h
templates.o: ../../../winix/core/htmlfilter.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../pikotools/space/spacetojson.h
templates.o: ../../../winix/core/session.h ../../../winix/core/user.h
templates.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
templates.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
templates.o: ../../../winix/templates/locale.h ../../../winix/notify/notify.h
templates.o: ../../../winix/notify/notifypool.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/notify/notifythread.h
templates.o: ../../../winix/core/basethread.h
templates.o: ../../../winix/notify/templatesnotify.h
templates.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
templates.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
templates.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
templates.o: ../../../winix/core/run.h ../../../winix/core/users.h groups.h
templates.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
templates.o: ../../../winix/core/threadmanager.h
templates.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
templates.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/core/htmlfilter.h ../../../winix/core/plugin.h
templates.o: ../../../winix/core/pluginmsg.h ../../../winix/core/system.h
templates.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/core/sessioncontainer.h
templates.o: ../../../winix/core/ipbancontainer.h
templates.o: ../../../winix/functions/functions.h
templates.o: ../../../winix/functions/functionbase.h
templates.o: ../../../winix/core/request.h ../../../winix/core/synchro.h
templates.o: ../../../winix/functions/functionparser.h
templates.o: ../../../winix/functions/account.h
templates.o: ../../../winix/functions/adduser.h
templates.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
templates.o: ../../../winix/functions/privchanger.h
templates.o: ../../../winix/functions/chown.h
templates.o: ../../../winix/functions/ckeditor.h
templates.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
templates.o: ../../../winix/functions/download.h
templates.o: ../../../winix/functions/emacs.h ../../../winix/functions/env.h
templates.o: ../../../winix/functions/imgcrop.h
templates.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
templates.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
templates.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
templates.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
templates.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
templates.o: ../../../winix/functions/node.h
templates.o: ../../../winix/functions/passwd.h
templates.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
templates.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
templates.o: ../../../winix/functions/rmuser.h
templates.o: ../../../winix/functions/sort.h
templates.o: ../../../winix/functions/specialdefault.h
templates.o: ../../../winix/functions/stat.h
templates.o: ../../../winix/functions/subject.h
templates.o: ../../../winix/functions/template.h
templates.o: ../../../winix/functions/tinymce.h
templates.o: ../../../winix/functions/uname.h
templates.o: ../../../winix/functions/upload.h
templates.o: ../../../winix/functions/uptime.h ../../../winix/functions/who.h
templates.o: ../../../winix/functions/vim.h groupinfo.h
templates.o: ../../../winix/core/misc.h

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2011-2012, Tomasz Sowa
* Copyright (c) 2011-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -58,32 +58,39 @@ size_t i, v;
for( i=0 ; i < set.spaces.size() ; ++i )
{
PT::Space & group = *set.spaces[i];
// !! IMPROVE ME will be safer to copy the value out
// if we used accidently the group.Text later the key
// would be overwritten
const std::wstring & key = group.Text(L"key", L"value");
// loop through all values in the group
for(v=0 ; v<group.spaces.size() ; )
{
PT::Space::Table::iterator vali = group.spaces[v]->table.find(key);
std::wstring * vali = group.spaces[v]->GetValue(key);
if( vali != group.spaces[v]->table.end() && vali->second.size() == 1 )
if( vali )
{
GroupIndex::iterator g = group_index.find(vali->second[0]);
GroupIndex::iterator g = group_index.find(*vali);
if( g == group_index.end() )
{
group_index[vali->second[0]] = i;
group_index[*vali] = i;
v += 1;
}
else
{
slog << logwarning << "set: " << set.name << " has a group with a duplicated value: "
<< vali->second[0] << " (skipping)" << logend;
<< *vali << " (skipping)" << logend;
group.spaces.erase(group.spaces.begin() + v);
}
}
else
{
slog << logwarning << "set: " << set.name << " has a group without a value (skipping)" << logend;
log << log1 << "key: " << key << " was not found" << logend;
slog << logwarning << "set: " << set.name
<< " has a group without a value (skipping)" << logend;
group.spaces.erase(group.spaces.begin() + v);
}
}

View File

@@ -6,22 +6,23 @@ name = menu.so
all: $(name)
$(name): $(o)
$(CXX) -shared -Wl,-soname,$(name).so -o $(name) $(CXXFLAGS) $(LDFLAGS) *.o
$(CXX) -shared -Wl,-soname,$(name) -o $(name) $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $(LDFLAGS) *.o
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $<
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. -I../.. -I../../../ezc/src -I../../../pikotools -I../../../tito/src -f- *.cpp > Makefile.dep
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
rm -f *.so
rm -f $(name)
include Makefile.dep

View File

@@ -1,105 +1,132 @@
# DO NOT DELETE
cache.o: cache.h ../../core/item.h ../../../pikotools/space/space.h
cache.o: cache.h ../../../winix/core/item.h ../../../pikotools/space/space.h
cache.o: ../../../pikotools/textstream/types.h ../../../pikotools/date/date.h
cache.o: ../../core/dirs.h ../../core/item.h ../../core/dircontainer.h
cache.o: ../../db/db.h ../../db/dbbase.h ../../db/dbconn.h
cache.o: ../../db/dbtextstream.h ../../core/textstream.h ../../core/misc.h
cache.o: ../../core/requesttypes.h ../../../pikotools/textstream/textstream.h
cache.o: ../../../winix/core/dirs.h ../../../winix/core/item.h
cache.o: ../../../winix/core/dircontainer.h ../../../winix/db/db.h
cache.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
cache.o: ../../../winix/db/dbtextstream.h ../../../winix/core/textstream.h
cache.o: ../../../winix/core/misc.h ../../../winix/core/requesttypes.h
cache.o: ../../../pikotools/textstream/textstream.h
cache.o: ../../../pikotools/convert/convert.h
cache.o: ../../../pikotools/convert/inttostr.h
cache.o: ../../../pikotools/membuffer/membuffer.h
cache.o: ../../../pikotools/textstream/types.h ../../../pikotools/utf8/utf8.h
cache.o: ../../core/error.h ../../../pikotools/space/spaceparser.h
cache.o: ../../../pikotools/space/space.h ../../db/dbitemquery.h
cache.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
cache.o: ../../core/dircontainer.h ../../core/ugcontainer.h ../../core/log.h
cache.o: ../../core/textstream.h ../../core/logmanipulators.h
cache.o: ../../core/slog.h ../../core/cur.h ../../core/request.h
cache.o: ../../core/error.h ../../core/config.h ../../core/htmlfilter.h
cache.o: ../../templates/htmltextstream.h
cache.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
cache.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
cache.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
cache.o: ../../notify/notify.h ../../notify/notifypool.h
cache.o: ../../templates/patterns.h ../../templates/locale.h
cache.o: ../../templates/localefilter.h ../../../ezc/src/ezc.h
cache.o: ../../../winix/core/error.h ../../../pikotools/space/spaceparser.h
cache.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
cache.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
cache.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
cache.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
cache.o: ../../../winix/core/textstream.h
cache.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
cache.o: ../../../winix/core/cur.h ../../../winix/core/request.h
cache.o: ../../../winix/core/error.h ../../../winix/core/config.h
cache.o: ../../../winix/core/htmlfilter.h
cache.o: ../../../winix/templates/htmltextstream.h
cache.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
cache.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
cache.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
cache.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
cache.o: ../../../winix/notify/notify.h ../../../winix/notify/notifypool.h
cache.o: ../../../winix/templates/patterns.h
cache.o: ../../../winix/templates/locale.h
cache.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
cache.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
cache.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
cache.o: ../../../ezc/src/stringconv.h ../../notify/notifythread.h
cache.o: ../../core/basethread.h ../../core/synchro.h
cache.o: ../../notify/templatesnotify.h ../../core/config.h
cache.o: ../../core/users.h ../../core/ugcontainer.h
cache.o: ../../core/lastcontainer.h ../../core/misc.h
init.o: ../../core/log.h ../../core/textstream.h ../../core/logmanipulators.h
cache.o: ../../../ezc/src/stringconv.h ../../../winix/notify/notifythread.h
cache.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
cache.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/config.h
cache.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
cache.o: ../../../winix/core/lastcontainer.h ../../../winix/core/misc.h
init.o: ../../../winix/core/log.h ../../../winix/core/textstream.h
init.o: ../../../winix/core/logmanipulators.h
init.o: ../../../pikotools/textstream/textstream.h
init.o: ../../../pikotools/space/space.h
init.o: ../../../pikotools/textstream/types.h ../../../pikotools/date/date.h
init.o: ../../../pikotools/convert/convert.h
init.o: ../../../pikotools/convert/inttostr.h
init.o: ../../../pikotools/membuffer/membuffer.h
init.o: ../../../pikotools/textstream/types.h ../../core/slog.h
init.o: ../../core/cur.h ../../core/request.h ../../core/requesttypes.h
init.o: ../../core/item.h ../../core/error.h ../../core/config.h
init.o: ../../../pikotools/textstream/types.h ../../../winix/core/slog.h
init.o: ../../../winix/core/cur.h ../../../winix/core/request.h
init.o: ../../../winix/core/requesttypes.h ../../../winix/core/item.h
init.o: ../../../winix/core/error.h ../../../winix/core/config.h
init.o: ../../../pikotools/space/spaceparser.h
init.o: ../../../pikotools/space/space.h ../../core/htmlfilter.h
init.o: ../../templates/htmltextstream.h ../../core/textstream.h
init.o: ../../core/misc.h ../../../pikotools/utf8/utf8.h
init.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
init.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
init.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
init.o: ../../core/plugin.h ../../core/pluginmsg.h ../../core/log.h
init.o: ../../core/system.h ../../core/job.h ../../core/basethread.h
init.o: ../../core/synchro.h ../../core/dirs.h ../../core/dircontainer.h
init.o: ../../db/db.h ../../db/dbbase.h ../../db/dbconn.h
init.o: ../../db/dbtextstream.h ../../core/error.h ../../db/dbitemquery.h
init.o: ../../core/item.h ../../db/dbitemcolumns.h ../../core/user.h
init.o: ../../core/group.h ../../core/dircontainer.h ../../core/ugcontainer.h
init.o: ../../notify/notify.h ../../notify/notifypool.h
init.o: ../../templates/patterns.h ../../templates/locale.h
init.o: ../../templates/localefilter.h ../../../ezc/src/ezc.h
init.o: ../../../pikotools/space/space.h ../../../winix/core/htmlfilter.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
init.o: ../../../pikotools/utf8/utf8.h ../../../pikotools/space/spacetojson.h
init.o: ../../../winix/core/session.h ../../../winix/core/user.h
init.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
init.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
init.o: ../../../winix/templates/locale.h ../../../winix/core/plugin.h
init.o: ../../../winix/core/pluginmsg.h ../../../winix/core/log.h
init.o: ../../../winix/core/system.h ../../../winix/core/job.h
init.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
init.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/db/db.h ../../../winix/db/dbbase.h
init.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
init.o: ../../../winix/core/error.h ../../../winix/db/dbitemquery.h
init.o: ../../../winix/core/item.h ../../../winix/db/dbitemcolumns.h
init.o: ../../../winix/core/user.h ../../../winix/core/group.h
init.o: ../../../winix/core/dircontainer.h ../../../winix/core/ugcontainer.h
init.o: ../../../winix/notify/notify.h ../../../winix/notify/notifypool.h
init.o: ../../../winix/templates/patterns.h ../../../winix/templates/locale.h
init.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
init.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
init.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
init.o: ../../../ezc/src/stringconv.h ../../notify/notifythread.h
init.o: ../../core/basethread.h ../../notify/templatesnotify.h
init.o: ../../core/config.h ../../core/users.h ../../core/ugcontainer.h
init.o: ../../core/lastcontainer.h ../../core/mounts.h
init.o: ../../core/mountparser.h ../../core/crypt.h ../../core/run.h
init.o: ../../core/users.h ../../core/groups.h ../../core/group.h
init.o: ../../core/loadavg.h ../../core/image.h ../../core/threadmanager.h
init.o: ../../core/timezones.h ../../core/timezone.h
init.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
init.o: ../../core/ipbancontainer.h ../../functions/functions.h
init.o: ../../functions/functionbase.h ../../core/request.h
init.o: ../../core/system.h ../../core/synchro.h
init.o: ../../functions/functionparser.h ../../core/cur.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/default.h
init.o: ../../functions/download.h ../../functions/emacs.h
init.o: ../../functions/env.h ../../functions/last.h ../../functions/login.h
init.o: ../../functions/logout.h ../../functions/ln.h ../../functions/ls.h
init.o: ../../functions/man.h ../../functions/meta.h ../../functions/mkdir.h
init.o: ../../functions/mv.h ../../functions/nicedit.h ../../functions/node.h
init.o: ../../functions/passwd.h ../../functions/priv.h ../../functions/pw.h
init.o: ../../functions/reload.h ../../functions/rm.h
init.o: ../../functions/rmuser.h ../../functions/sort.h
init.o: ../../functions/specialdefault.h ../../functions/stat.h
init.o: ../../functions/subject.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/indexpatterns.h ../../templates/patterns.h
init.o: ../../templates/changepatterns.h ../../templates/htmltextstream.h
init.o: ../../core/sessionmanager.h cache.h ../../core/dirs.h
templates.o: ../../templates/templates.h ../../../ezc/src/ezc.h
init.o: ../../../ezc/src/stringconv.h ../../../winix/notify/notifythread.h
init.o: ../../../winix/core/basethread.h
init.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/config.h
init.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
init.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
init.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
init.o: ../../../winix/core/run.h ../../../winix/core/users.h
init.o: ../../../winix/core/groups.h ../../../winix/core/group.h
init.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
init.o: ../../../winix/core/threadmanager.h ../../../winix/core/timezones.h
init.o: ../../../winix/core/timezone.h ../../../winix/core/sessionmanager.h
init.o: ../../../winix/core/sessioncontainer.h
init.o: ../../../winix/core/ipbancontainer.h
init.o: ../../../winix/functions/functions.h
init.o: ../../../winix/functions/functionbase.h ../../../winix/core/request.h
init.o: ../../../winix/core/system.h ../../../winix/core/synchro.h
init.o: ../../../winix/functions/functionparser.h ../../../winix/core/cur.h
init.o: ../../../winix/functions/account.h ../../../winix/functions/adduser.h
init.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
init.o: ../../../winix/functions/privchanger.h
init.o: ../../../winix/functions/chown.h ../../../winix/functions/ckeditor.h
init.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
init.o: ../../../winix/functions/download.h ../../../winix/functions/emacs.h
init.o: ../../../winix/functions/env.h ../../../winix/functions/imgcrop.h
init.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
init.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
init.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
init.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
init.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
init.o: ../../../winix/functions/node.h ../../../winix/functions/passwd.h
init.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
init.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
init.o: ../../../winix/functions/rmuser.h ../../../winix/functions/sort.h
init.o: ../../../winix/functions/specialdefault.h
init.o: ../../../winix/functions/stat.h ../../../winix/functions/subject.h
init.o: ../../../winix/functions/template.h
init.o: ../../../winix/functions/tinymce.h ../../../winix/functions/uname.h
init.o: ../../../winix/functions/upload.h ../../../winix/functions/uptime.h
init.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
init.o: ../../../winix/core/htmlfilter.h ../../../winix/templates/templates.h
init.o: ../../../winix/templates/patterncacher.h
init.o: ../../../winix/templates/indexpatterns.h
init.o: ../../../winix/templates/patterns.h
init.o: ../../../winix/templates/changepatterns.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/sessionmanager.h cache.h
init.o: ../../../winix/core/dirs.h
templates.o: ../../../winix/templates/templates.h ../../../ezc/src/ezc.h
templates.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
templates.o: ../../core/item.h ../../../ezc/src/functions.h
templates.o: ../../../winix/core/item.h ../../../ezc/src/functions.h
templates.o: ../../../ezc/src/funinfo.h ../../../ezc/src/stringconv.h
templates.o: ../../../pikotools/utf8/utf8.h ../../core/misc.h
templates.o: ../../core/requesttypes.h
templates.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/misc.h
templates.o: ../../../winix/core/requesttypes.h
templates.o: ../../../pikotools/textstream/textstream.h
templates.o: ../../../pikotools/space/space.h
templates.o: ../../../pikotools/textstream/types.h
@@ -108,59 +135,92 @@ templates.o: ../../../pikotools/convert/convert.h
templates.o: ../../../pikotools/convert/inttostr.h
templates.o: ../../../pikotools/membuffer/membuffer.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../templates/patterncacher.h ../../core/item.h
templates.o: ../../templates/indexpatterns.h ../../templates/patterns.h
templates.o: ../../templates/locale.h ../../templates/changepatterns.h
templates.o: ../../templates/htmltextstream.h ../../templates/localefilter.h
templates.o: ../../core/config.h ../../core/cur.h ../../core/system.h
templates.o: ../../core/sessionmanager.h ../../core/htmlfilter.h
templates.o: ../../db/db.h ../../db/dbbase.h ../../db/dbconn.h
templates.o: ../../db/dbtextstream.h ../../core/textstream.h
templates.o: ../../core/error.h ../../../pikotools/space/spaceparser.h
templates.o: ../../../pikotools/space/space.h ../../db/dbitemquery.h
templates.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
templates.o: ../../core/dircontainer.h ../../core/ugcontainer.h
templates.o: ../../core/log.h ../../core/textstream.h
templates.o: ../../core/logmanipulators.h ../../core/slog.h ../../core/cur.h
templates.o: ../../core/request.h ../../core/error.h ../../core/config.h
templates.o: ../../core/htmlfilter.h ../../templates/htmltextstream.h
templates.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
templates.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
templates.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
templates.o: ../../core/plugin.h ../../core/pluginmsg.h ../../core/system.h
templates.o: ../../core/job.h ../../core/basethread.h ../../core/synchro.h
templates.o: ../../core/dirs.h ../../core/dircontainer.h
templates.o: ../../notify/notify.h ../../notify/notifypool.h
templates.o: ../../templates/patterns.h ../../notify/notifythread.h
templates.o: ../../core/basethread.h ../../notify/templatesnotify.h
templates.o: ../../core/users.h ../../core/ugcontainer.h
templates.o: ../../core/lastcontainer.h ../../core/mounts.h
templates.o: ../../core/mountparser.h ../../core/crypt.h ../../core/run.h
templates.o: ../../core/users.h ../../core/groups.h ../../core/group.h
templates.o: ../../core/loadavg.h ../../core/image.h
templates.o: ../../core/threadmanager.h ../../core/timezones.h
templates.o: ../../core/timezone.h ../../core/sessionmanager.h
templates.o: ../../core/sessioncontainer.h ../../core/ipbancontainer.h
templates.o: ../../functions/functions.h ../../functions/functionbase.h
templates.o: ../../core/request.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/default.h ../../functions/download.h
templates.o: ../../functions/emacs.h ../../functions/env.h
templates.o: ../../functions/last.h ../../functions/login.h
templates.o: ../../functions/logout.h ../../functions/ln.h
templates.o: ../../functions/ls.h ../../functions/man.h
templates.o: ../../functions/meta.h ../../functions/mkdir.h
templates.o: ../../functions/mv.h ../../functions/nicedit.h
templates.o: ../../functions/node.h ../../functions/passwd.h
templates.o: ../../functions/priv.h ../../functions/pw.h
templates.o: ../../functions/reload.h ../../functions/rm.h
templates.o: ../../functions/rmuser.h ../../functions/sort.h
templates.o: ../../functions/specialdefault.h ../../functions/stat.h
templates.o: ../../functions/subject.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 ../../core/log.h
templates.o: ../../core/misc.h cache.h ../../core/dirs.h
templates.o: ../../../winix/templates/patterncacher.h
templates.o: ../../../winix/core/item.h
templates.o: ../../../winix/templates/indexpatterns.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/locale.h
templates.o: ../../../winix/templates/changepatterns.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../winix/templates/localefilter.h
templates.o: ../../../winix/core/config.h ../../../winix/core/cur.h
templates.o: ../../../winix/core/system.h
templates.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/core/htmlfilter.h ../../../winix/db/db.h
templates.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
templates.o: ../../../winix/db/dbtextstream.h
templates.o: ../../../winix/core/textstream.h ../../../winix/core/error.h
templates.o: ../../../pikotools/space/spaceparser.h
templates.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
templates.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
templates.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
templates.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
templates.o: ../../../winix/core/textstream.h
templates.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
templates.o: ../../../winix/core/cur.h ../../../winix/core/request.h
templates.o: ../../../winix/core/error.h ../../../winix/core/config.h
templates.o: ../../../winix/core/htmlfilter.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../pikotools/space/spacetojson.h
templates.o: ../../../winix/core/session.h ../../../winix/core/user.h
templates.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
templates.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
templates.o: ../../../winix/templates/locale.h ../../../winix/core/plugin.h
templates.o: ../../../winix/core/pluginmsg.h ../../../winix/core/system.h
templates.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
templates.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
templates.o: ../../../winix/core/dircontainer.h
templates.o: ../../../winix/notify/notify.h
templates.o: ../../../winix/notify/notifypool.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/notify/notifythread.h
templates.o: ../../../winix/core/basethread.h
templates.o: ../../../winix/notify/templatesnotify.h
templates.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
templates.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
templates.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
templates.o: ../../../winix/core/run.h ../../../winix/core/users.h
templates.o: ../../../winix/core/groups.h ../../../winix/core/group.h
templates.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
templates.o: ../../../winix/core/threadmanager.h
templates.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
templates.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/core/sessioncontainer.h
templates.o: ../../../winix/core/ipbancontainer.h
templates.o: ../../../winix/functions/functions.h
templates.o: ../../../winix/functions/functionbase.h
templates.o: ../../../winix/core/request.h ../../../winix/core/synchro.h
templates.o: ../../../winix/functions/functionparser.h
templates.o: ../../../winix/functions/account.h
templates.o: ../../../winix/functions/adduser.h
templates.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
templates.o: ../../../winix/functions/privchanger.h
templates.o: ../../../winix/functions/chown.h
templates.o: ../../../winix/functions/ckeditor.h
templates.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
templates.o: ../../../winix/functions/download.h
templates.o: ../../../winix/functions/emacs.h ../../../winix/functions/env.h
templates.o: ../../../winix/functions/imgcrop.h
templates.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
templates.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
templates.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
templates.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
templates.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
templates.o: ../../../winix/functions/node.h
templates.o: ../../../winix/functions/passwd.h
templates.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
templates.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
templates.o: ../../../winix/functions/rmuser.h
templates.o: ../../../winix/functions/sort.h
templates.o: ../../../winix/functions/specialdefault.h
templates.o: ../../../winix/functions/stat.h
templates.o: ../../../winix/functions/subject.h
templates.o: ../../../winix/functions/template.h
templates.o: ../../../winix/functions/tinymce.h
templates.o: ../../../winix/functions/uname.h
templates.o: ../../../winix/functions/upload.h
templates.o: ../../../winix/functions/uptime.h ../../../winix/functions/who.h
templates.o: ../../../winix/functions/vim.h ../../../winix/core/log.h
templates.o: ../../../winix/core/misc.h cache.h ../../../winix/core/dirs.h
templates.o: ../../../winix/templates/miscspace.h
templates.o: ../../../winix/templates/templates.h

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2012, Tomasz Sowa
* Copyright (c) 2012-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -24,11 +24,12 @@ namespace Menu
struct MenuItem
{
long id; // item id
long id; // item id
std::wstring url;
std::wstring subject;
Item::Type type;
int file_type;
PT::Space meta;
Item::Type type;
int file_type;
};

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2011-2012, Tomasz Sowa
* Copyright (c) 2011-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -85,6 +85,19 @@ void InvalidateCacheById(PluginInfo & info)
void ProcessRequest(PluginInfo & info)
{
if( info.cur->request->function == &info.functions->fun_reload )
{
if( info.cur->request->IsParam(L"menu") )
{
cache.Clear();
log << log3 << "Menu: cache has been cleared" << logend;
}
}
}
void AddEzcFunctions(PluginInfo & info);
} // namespace
@@ -117,6 +130,7 @@ using namespace Menu;
plugin.Assign(WINIX_FILE_PREPARE_TO_MOVE, InvalidateCacheByPointerParent);
plugin.Assign(WINIX_FILE_MOVED, InvalidateCacheByPointerParent);
plugin.Assign(WINIX_DIR_CONTENT_SORTED, InvalidateCacheByPointer);
plugin.Assign(WINIX_PROCESS_REQUEST, ProcessRequest);
// !! IMPROVE ME
// we need a WINIX_DIR_CHANGED message

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2011-2012, Tomasz Sowa
* Copyright (c) 2011-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -13,6 +13,7 @@
#include "core/log.h"
#include "core/misc.h"
#include "cache.h"
#include "templates/miscspace.h"
#define WINIX_PL_MENU_PARAM_NONE 0
@@ -70,7 +71,7 @@ return WINIX_PL_MENU_PARAM_NONE;
void read_from_db(long dir_id, int param)
void read_from_db(long dir_id, int param, bool with_meta)
{
iq.SetAll(false, false);
iq.sel_subject = true;
@@ -78,6 +79,7 @@ void read_from_db(long dir_id, int param)
iq.sel_sort_index = true;
iq.sel_type = true;
iq.sel_file = true;
iq.sel_meta = with_meta;
iq.WhereParentId(dir_id);
if( param == WINIX_PL_MENU_PARAM_IMAGES )
@@ -158,6 +160,7 @@ void copy_items(CacheItem & citem)
menu_item.id = item_tab[i].id;
menu_item.subject = item_tab[i].subject;
menu_item.url = item_tab[i].url;
menu_item.meta = item_tab[i].meta;
menu_item.type = item_tab[i].type;
menu_item.file_type = item_tab[i].file_type;
@@ -167,13 +170,13 @@ void copy_items(CacheItem & citem)
void menu_dir_init(Info & i, long dir_id, int param)
void menu_dir_init(Info & i, long dir_id, int param, bool with_meta)
{
CacheItem * citem = cache.Get(dir_id, param);
if( !citem )
{
read_from_db(dir_id, param);
read_from_db(dir_id, param, with_meta);
citem = cache.Insert(dir_id, param);
copy_items(*citem);
skip_mount_items(*citem);
@@ -186,13 +189,13 @@ void menu_dir_init(Info & i, long dir_id, int param)
}
void menu_dir_init(Info & i, const std::wstring & dir, int param)
void menu_dir_init(Info & i, const std::wstring & dir, int param, bool with_meta)
{
Item * pdir = system->dirs.GetDir(dir);
if( pdir )
{
menu_dir_init(i, pdir->id, param);
menu_dir_init(i, pdir->id, param, with_meta);
}
else
{
@@ -205,13 +208,17 @@ void menu_dir_init(Info & i, const std::wstring & dir, int param)
void menu_dir_init(Info & i)
{
int param = WINIX_PL_MENU_PARAM_NONE;
bool with_meta = false;
if( i.params.size() >= 2 )
param = string_to_param(i.params[1]);
if( i.params.size() >=3 && i.params[2] == L"withmeta" )
with_meta = true;
if( i.params.empty() || i.params[0].empty() )
{
menu_dir_init(i, cur->request->dir_tab.back()->id, param);
menu_dir_init(i, cur->request->dir_tab.back()->id, param, with_meta);
}
else
if( !i.params.empty() )
@@ -223,10 +230,15 @@ void menu_dir_init(Info & i)
StackItem * previous_sitem = reinterpret_cast<StackItem*>(stack->fun_data);
if( stack->iter < previous_sitem->citem->menu_items.size() )
menu_dir_init(i, previous_sitem->citem->menu_items[stack->iter].id, param);
menu_dir_init(i, previous_sitem->citem->menu_items[stack->iter].id, param, with_meta);
}
}
else
if( i.params[0] == L"this" )
{
menu_dir_init(i, cur->request->dir_tab.back()->id, param, with_meta);
}
else
if( !i.params[0].empty() && i.params[0][0] != '/' )
{
log << log1 << "Menu: path for a menu should not be relative" << logend;
@@ -234,7 +246,7 @@ void menu_dir_init(Info & i)
}
else
{
menu_dir_init(i, i.params[0], param);
menu_dir_init(i, i.params[0], param, with_meta);
}
}
}
@@ -274,6 +286,13 @@ void menu_dir_tab(Info & i)
}
void menu_dir_tab_index(Info & i)
{
i.out << stack->iter;
}
void menu_dir_tab_subject(Info & i)
{
if( stack->fun_data )
@@ -314,6 +333,66 @@ void menu_dir_tab_link(Info & i)
}
void menu_dir_tab_meta_str(Info & i)
{
if( stack->fun_data )
{
StackItem * sitem = reinterpret_cast<StackItem*>(stack->fun_data);
if( stack->iter < sitem->citem->menu_items.size() )
sitem->citem->menu_items[stack->iter].meta.Serialize(i.out, true, false);
}
}
void menu_dir_tab_meta(Info & i)
{
if( stack->fun_data )
{
StackItem * sitem = reinterpret_cast<StackItem*>(stack->fun_data);
if( stack->iter < sitem->citem->menu_items.size() )
space(i, sitem->citem->menu_items[stack->iter].meta);
}
}
void menu_dir_tab_meta_tab(Info & i)
{
if( stack->fun_data )
{
StackItem * sitem = reinterpret_cast<StackItem*>(stack->fun_data);
if( stack->iter < sitem->citem->menu_items.size() )
spaces_tab(i, sitem->citem->menu_items[stack->iter].meta);
}
}
void menu_dir_tab_meta_tab_value(Info & i)
{
if( stack->fun_data )
{
StackItem * sitem = reinterpret_cast<StackItem*>(stack->fun_data);
if( stack->iter < sitem->citem->menu_items.size() )
spaces_tab_value(i, sitem->citem->menu_items[stack->iter].meta);
}
}
void menu_dir_tab_meta_tab_has_next(Info & i)
{
if( stack->fun_data )
{
StackItem * sitem = reinterpret_cast<StackItem*>(stack->fun_data);
if( stack->iter < sitem->citem->menu_items.size() )
spaces_tab_has_next(i, sitem->citem->menu_items[stack->iter].meta);
}
}
void menu_dir_tab_is_dir(Info & i)
{
if( stack->fun_data )
@@ -428,9 +507,17 @@ void AddEzcFunctions(PluginInfo & info)
EzcFun * fun = reinterpret_cast<EzcFun*>(info.p1);
fun->Insert("menu_dir_tab", menu_dir_tab);
fun->Insert("menu_dir_tab_index", menu_dir_tab_index);
fun->Insert("menu_dir_tab_subject", menu_dir_tab_subject);
fun->Insert("menu_dir_tab_url", menu_dir_tab_url);
fun->Insert("menu_dir_tab_link", menu_dir_tab_link);
fun->Insert("menu_dir_tab_meta_str", menu_dir_tab_meta_str);
fun->Insert("menu_dir_tab_meta", menu_dir_tab_meta);
fun->Insert("menu_dir_tab_meta_tab", menu_dir_tab_meta_tab);
fun->Insert("menu_dir_tab_meta_tab_value", menu_dir_tab_meta_tab_value);
fun->Insert("menu_dir_tab_meta_tab_has_next", menu_dir_tab_meta_tab_has_next);
fun->Insert("menu_dir_tab_is_dir", menu_dir_tab_is_dir);
fun->Insert("menu_dir_tab_is_file", menu_dir_tab_is_file);
fun->Insert("menu_dir_tab_is_symlink", menu_dir_tab_is_symlink);

View File

@@ -6,22 +6,23 @@ name = stats.so
all: $(name)
$(name): $(o)
$(CXX) -shared -Wl,-soname,$(name).so -o $(name) $(CXXFLAGS) $(LDFLAGS) *.o
$(CXX) -shared -Wl,-soname,$(name) -o $(name) $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $(LDFLAGS) *.o
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $<
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. -I../.. -I../../../ezc/src -I../../../pikotools -I../../../tito/src -f- *.cpp > Makefile.dep
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
rm -f *.so
rm -f $(name)
include Makefile.dep

View File

@@ -1,89 +1,119 @@
# DO NOT DELETE
bot.o: bot.h
init.o: ../../core/log.h ../../core/textstream.h ../../core/misc.h
init.o: ../../core/item.h ../../../pikotools/space/space.h
init.o: ../../../winix/core/log.h ../../../winix/core/textstream.h
init.o: ../../../winix/core/misc.h ../../../winix/core/item.h
init.o: ../../../pikotools/space/space.h
init.o: ../../../pikotools/textstream/types.h ../../../pikotools/date/date.h
init.o: ../../core/requesttypes.h ../../../pikotools/textstream/textstream.h
init.o: ../../../winix/core/requesttypes.h
init.o: ../../../pikotools/textstream/textstream.h
init.o: ../../../pikotools/convert/convert.h
init.o: ../../../pikotools/convert/inttostr.h
init.o: ../../../pikotools/membuffer/membuffer.h
init.o: ../../../pikotools/textstream/types.h ../../../pikotools/utf8/utf8.h
init.o: ../../core/logmanipulators.h ../../core/slog.h ../../core/cur.h
init.o: ../../core/request.h ../../core/error.h ../../core/config.h
init.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
init.o: ../../../winix/core/cur.h ../../../winix/core/request.h
init.o: ../../../winix/core/error.h ../../../winix/core/config.h
init.o: ../../../pikotools/space/spaceparser.h
init.o: ../../../pikotools/space/space.h ../../core/htmlfilter.h
init.o: ../../templates/htmltextstream.h ../../core/textstream.h
init.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
init.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
init.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
init.o: ../../core/request.h ../../core/config.h ../../db/db.h
init.o: ../../db/dbbase.h ../../db/dbconn.h ../../db/dbtextstream.h
init.o: ../../core/error.h ../../db/dbitemquery.h ../../core/item.h
init.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
init.o: ../../core/dircontainer.h ../../core/ugcontainer.h ../../core/log.h
init.o: bot.h stats.h templates.h ../../core/plugin.h ../../core/pluginmsg.h
init.o: ../../core/system.h ../../core/job.h ../../core/basethread.h
init.o: ../../core/synchro.h ../../core/dirs.h ../../core/dircontainer.h
init.o: ../../notify/notify.h ../../notify/notifypool.h
init.o: ../../templates/patterns.h ../../templates/locale.h
init.o: ../../templates/localefilter.h ../../../ezc/src/ezc.h
init.o: ../../../pikotools/space/space.h ../../../winix/core/htmlfilter.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/textstream.h
init.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
init.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
init.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
init.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
init.o: ../../../winix/core/request.h ../../../winix/core/config.h
init.o: ../../../winix/db/db.h ../../../winix/db/dbbase.h
init.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
init.o: ../../../winix/core/error.h ../../../winix/db/dbitemquery.h
init.o: ../../../winix/core/item.h ../../../winix/db/dbitemcolumns.h
init.o: ../../../winix/core/user.h ../../../winix/core/group.h
init.o: ../../../winix/core/dircontainer.h ../../../winix/core/ugcontainer.h
init.o: ../../../winix/core/log.h bot.h stats.h templates.h
init.o: ../../../winix/core/plugin.h ../../../winix/core/pluginmsg.h
init.o: ../../../winix/core/system.h ../../../winix/core/job.h
init.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
init.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/notify/notify.h ../../../winix/notify/notifypool.h
init.o: ../../../winix/templates/patterns.h ../../../winix/templates/locale.h
init.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
init.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
init.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
init.o: ../../../ezc/src/stringconv.h ../../notify/notifythread.h
init.o: ../../core/basethread.h ../../notify/templatesnotify.h
init.o: ../../core/users.h ../../core/ugcontainer.h
init.o: ../../core/lastcontainer.h ../../core/mounts.h
init.o: ../../core/mountparser.h ../../core/crypt.h ../../core/run.h
init.o: ../../core/users.h ../../core/groups.h ../../core/group.h
init.o: ../../core/loadavg.h ../../core/image.h ../../core/threadmanager.h
init.o: ../../core/timezones.h ../../core/timezone.h
init.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
init.o: ../../core/ipbancontainer.h ../../functions/functions.h
init.o: ../../functions/functionbase.h ../../core/system.h
init.o: ../../core/synchro.h ../../functions/functionparser.h
init.o: ../../core/cur.h ../../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/default.h
init.o: ../../functions/download.h ../../functions/emacs.h
init.o: ../../functions/env.h ../../functions/last.h ../../functions/login.h
init.o: ../../functions/logout.h ../../functions/ln.h ../../functions/ls.h
init.o: ../../functions/man.h ../../functions/meta.h ../../functions/mkdir.h
init.o: ../../functions/mv.h ../../functions/nicedit.h ../../functions/node.h
init.o: ../../functions/passwd.h ../../functions/priv.h ../../functions/pw.h
init.o: ../../functions/reload.h ../../functions/rm.h
init.o: ../../functions/rmuser.h ../../functions/sort.h
init.o: ../../functions/specialdefault.h ../../functions/stat.h
init.o: ../../functions/subject.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/indexpatterns.h ../../templates/patterns.h
init.o: ../../templates/changepatterns.h ../../templates/htmltextstream.h
init.o: ../../core/sessionmanager.h statssession.h ../../core/plugindata.h
stats.o: stats.h ../../core/config.h ../../core/log.h ../../core/textstream.h
stats.o: ../../core/misc.h ../../core/item.h ../../../pikotools/space/space.h
init.o: ../../../ezc/src/stringconv.h ../../../winix/notify/notifythread.h
init.o: ../../../winix/core/basethread.h
init.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/users.h
init.o: ../../../winix/core/ugcontainer.h ../../../winix/core/lastcontainer.h
init.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
init.o: ../../../winix/core/crypt.h ../../../winix/core/run.h
init.o: ../../../winix/core/users.h ../../../winix/core/groups.h
init.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
init.o: ../../../winix/core/image.h ../../../winix/core/threadmanager.h
init.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
init.o: ../../../winix/core/sessionmanager.h
init.o: ../../../winix/core/sessioncontainer.h
init.o: ../../../winix/core/ipbancontainer.h
init.o: ../../../winix/functions/functions.h
init.o: ../../../winix/functions/functionbase.h ../../../winix/core/system.h
init.o: ../../../winix/core/synchro.h
init.o: ../../../winix/functions/functionparser.h ../../../winix/core/cur.h
init.o: ../../../winix/functions/account.h ../../../winix/functions/adduser.h
init.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
init.o: ../../../winix/functions/privchanger.h
init.o: ../../../winix/functions/chown.h ../../../winix/functions/ckeditor.h
init.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
init.o: ../../../winix/functions/download.h ../../../winix/functions/emacs.h
init.o: ../../../winix/functions/env.h ../../../winix/functions/imgcrop.h
init.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
init.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
init.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
init.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
init.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
init.o: ../../../winix/functions/node.h ../../../winix/functions/passwd.h
init.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
init.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
init.o: ../../../winix/functions/rmuser.h ../../../winix/functions/sort.h
init.o: ../../../winix/functions/specialdefault.h
init.o: ../../../winix/functions/stat.h ../../../winix/functions/subject.h
init.o: ../../../winix/functions/template.h
init.o: ../../../winix/functions/tinymce.h ../../../winix/functions/uname.h
init.o: ../../../winix/functions/upload.h ../../../winix/functions/uptime.h
init.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
init.o: ../../../winix/core/htmlfilter.h ../../../winix/templates/templates.h
init.o: ../../../winix/templates/patterncacher.h
init.o: ../../../winix/templates/indexpatterns.h
init.o: ../../../winix/templates/patterns.h
init.o: ../../../winix/templates/changepatterns.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/sessionmanager.h statssession.h
init.o: ../../../winix/core/plugindata.h
stats.o: stats.h ../../../winix/core/config.h ../../../winix/core/log.h
stats.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
stats.o: ../../../winix/core/item.h ../../../pikotools/space/space.h
stats.o: ../../../pikotools/textstream/types.h ../../../pikotools/date/date.h
stats.o: ../../core/requesttypes.h ../../../pikotools/textstream/textstream.h
stats.o: ../../../winix/core/requesttypes.h
stats.o: ../../../pikotools/textstream/textstream.h
stats.o: ../../../pikotools/convert/convert.h
stats.o: ../../../pikotools/convert/inttostr.h
stats.o: ../../../pikotools/membuffer/membuffer.h
stats.o: ../../../pikotools/textstream/types.h ../../../pikotools/utf8/utf8.h
stats.o: ../../core/logmanipulators.h ../../core/slog.h ../../core/cur.h
stats.o: ../../core/request.h ../../core/error.h ../../core/config.h
stats.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
stats.o: ../../../winix/core/cur.h ../../../winix/core/request.h
stats.o: ../../../winix/core/error.h ../../../winix/core/config.h
stats.o: ../../../pikotools/space/spaceparser.h
stats.o: ../../../pikotools/space/space.h ../../core/htmlfilter.h
stats.o: ../../templates/htmltextstream.h ../../core/textstream.h
stats.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
stats.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
stats.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
templates.o: templates.h ../../core/plugin.h ../../core/pluginmsg.h
templates.o: ../../core/log.h ../../core/plugindata.h ../../core/config.h
stats.o: ../../../pikotools/space/space.h ../../../winix/core/htmlfilter.h
stats.o: ../../../winix/templates/htmltextstream.h
stats.o: ../../../winix/core/textstream.h
stats.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
stats.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
stats.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
stats.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
templates.o: templates.h ../../../winix/core/plugin.h
templates.o: ../../../winix/core/pluginmsg.h ../../../winix/core/log.h
templates.o: ../../../winix/core/plugindata.h ../../../winix/core/config.h
templates.o: ../../../pikotools/space/spaceparser.h
templates.o: ../../../pikotools/space/space.h ../../core/htmlfilter.h
templates.o: ../../core/request.h ../../core/requesttypes.h
templates.o: ../../../pikotools/space/space.h
templates.o: ../../../winix/core/htmlfilter.h ../../../winix/core/request.h
templates.o: ../../../winix/core/requesttypes.h
templates.o: ../../../pikotools/textstream/textstream.h
templates.o: ../../../pikotools/space/space.h
templates.o: ../../../pikotools/textstream/types.h
@@ -91,58 +121,87 @@ templates.o: ../../../pikotools/date/date.h
templates.o: ../../../pikotools/convert/convert.h
templates.o: ../../../pikotools/convert/inttostr.h
templates.o: ../../../pikotools/membuffer/membuffer.h
templates.o: ../../../pikotools/textstream/types.h ../../core/item.h
templates.o: ../../core/error.h ../../core/textstream.h ../../core/misc.h
templates.o: ../../../pikotools/utf8/utf8.h ../../templates/htmltextstream.h
templates.o: ../../core/textstream.h ../../../pikotools/space/spacetojson.h
templates.o: ../../core/system.h ../../core/job.h ../../core/basethread.h
templates.o: ../../core/synchro.h ../../core/dirs.h ../../core/dircontainer.h
templates.o: ../../db/db.h ../../db/dbbase.h ../../db/dbconn.h
templates.o: ../../db/dbtextstream.h ../../core/error.h
templates.o: ../../db/dbitemquery.h ../../core/item.h
templates.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
templates.o: ../../core/dircontainer.h ../../core/ugcontainer.h
templates.o: ../../notify/notify.h ../../notify/notifypool.h
templates.o: ../../templates/locale.h ../../templates/patterns.h
templates.o: ../../templates/locale.h ../../templates/localefilter.h
templates.o: ../../../ezc/src/ezc.h ../../../ezc/src/generator.h
templates.o: ../../../ezc/src/pattern.h ../../../ezc/src/functions.h
templates.o: ../../../ezc/src/funinfo.h ../../../ezc/src/stringconv.h
templates.o: ../../notify/notifythread.h ../../core/basethread.h
templates.o: ../../notify/templatesnotify.h ../../core/config.h
templates.o: ../../core/users.h ../../core/user.h ../../core/ugcontainer.h
templates.o: ../../core/lastcontainer.h ../../core/cur.h ../../core/session.h
templates.o: ../../core/rebus.h ../../core/ipban.h ../../core/mount.h
templates.o: ../../core/mounts.h ../../core/mountparser.h ../../core/crypt.h
templates.o: ../../core/run.h ../../core/users.h ../../core/groups.h
templates.o: ../../core/group.h ../../core/loadavg.h ../../core/image.h
templates.o: ../../core/threadmanager.h ../../core/timezones.h
templates.o: ../../core/timezone.h ../../core/sessionmanager.h
templates.o: ../../core/sessioncontainer.h ../../core/ipbancontainer.h
templates.o: ../../functions/functions.h ../../functions/functionbase.h
templates.o: ../../core/request.h ../../core/system.h ../../core/synchro.h
templates.o: ../../functions/functionparser.h ../../core/cur.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/default.h
templates.o: ../../functions/download.h ../../functions/emacs.h
templates.o: ../../functions/env.h ../../functions/last.h
templates.o: ../../functions/login.h ../../functions/logout.h
templates.o: ../../functions/ln.h ../../functions/ls.h ../../functions/man.h
templates.o: ../../functions/meta.h ../../functions/mkdir.h
templates.o: ../../functions/mv.h ../../functions/nicedit.h
templates.o: ../../functions/node.h ../../functions/passwd.h
templates.o: ../../functions/priv.h ../../functions/pw.h
templates.o: ../../functions/reload.h ../../functions/rm.h
templates.o: ../../functions/rmuser.h ../../functions/sort.h
templates.o: ../../functions/specialdefault.h ../../functions/stat.h
templates.o: ../../functions/subject.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/indexpatterns.h
templates.o: ../../templates/patterns.h ../../templates/changepatterns.h
templates.o: ../../templates/htmltextstream.h ../../core/sessionmanager.h
templates.o: ../../core/misc.h stats.h ../../templates/misc.h
templates.o: ../../../pikotools/textstream/types.h ../../../winix/core/item.h
templates.o: ../../../winix/core/error.h ../../../winix/core/textstream.h
templates.o: ../../../winix/core/misc.h ../../../pikotools/utf8/utf8.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../winix/core/textstream.h
templates.o: ../../../pikotools/space/spacetojson.h
templates.o: ../../../winix/core/system.h ../../../winix/core/job.h
templates.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
templates.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
templates.o: ../../../winix/db/db.h ../../../winix/db/dbbase.h
templates.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
templates.o: ../../../winix/core/error.h ../../../winix/db/dbitemquery.h
templates.o: ../../../winix/core/item.h ../../../winix/db/dbitemcolumns.h
templates.o: ../../../winix/core/user.h ../../../winix/core/group.h
templates.o: ../../../winix/core/dircontainer.h
templates.o: ../../../winix/core/ugcontainer.h ../../../winix/notify/notify.h
templates.o: ../../../winix/notify/notifypool.h
templates.o: ../../../winix/templates/locale.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/locale.h
templates.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
templates.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
templates.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
templates.o: ../../../ezc/src/stringconv.h
templates.o: ../../../winix/notify/notifythread.h
templates.o: ../../../winix/core/basethread.h
templates.o: ../../../winix/notify/templatesnotify.h
templates.o: ../../../winix/core/config.h ../../../winix/core/users.h
templates.o: ../../../winix/core/user.h ../../../winix/core/ugcontainer.h
templates.o: ../../../winix/core/lastcontainer.h ../../../winix/core/cur.h
templates.o: ../../../winix/core/session.h ../../../winix/core/rebus.h
templates.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
templates.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
templates.o: ../../../winix/core/crypt.h ../../../winix/core/run.h
templates.o: ../../../winix/core/users.h ../../../winix/core/groups.h
templates.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
templates.o: ../../../winix/core/image.h ../../../winix/core/threadmanager.h
templates.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
templates.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/core/sessioncontainer.h
templates.o: ../../../winix/core/ipbancontainer.h
templates.o: ../../../winix/functions/functions.h
templates.o: ../../../winix/functions/functionbase.h
templates.o: ../../../winix/core/request.h ../../../winix/core/system.h
templates.o: ../../../winix/core/synchro.h
templates.o: ../../../winix/functions/functionparser.h
templates.o: ../../../winix/core/cur.h ../../../winix/functions/account.h
templates.o: ../../../winix/functions/adduser.h
templates.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
templates.o: ../../../winix/functions/privchanger.h
templates.o: ../../../winix/functions/chown.h
templates.o: ../../../winix/functions/ckeditor.h
templates.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
templates.o: ../../../winix/functions/download.h
templates.o: ../../../winix/functions/emacs.h ../../../winix/functions/env.h
templates.o: ../../../winix/functions/imgcrop.h
templates.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
templates.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
templates.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
templates.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
templates.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
templates.o: ../../../winix/functions/node.h
templates.o: ../../../winix/functions/passwd.h
templates.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
templates.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
templates.o: ../../../winix/functions/rmuser.h
templates.o: ../../../winix/functions/sort.h
templates.o: ../../../winix/functions/specialdefault.h
templates.o: ../../../winix/functions/stat.h
templates.o: ../../../winix/functions/subject.h
templates.o: ../../../winix/functions/template.h
templates.o: ../../../winix/functions/tinymce.h
templates.o: ../../../winix/functions/uname.h
templates.o: ../../../winix/functions/upload.h
templates.o: ../../../winix/functions/uptime.h ../../../winix/functions/who.h
templates.o: ../../../winix/functions/vim.h ../../../winix/core/htmlfilter.h
templates.o: ../../../winix/templates/templates.h
templates.o: ../../../winix/templates/patterncacher.h
templates.o: ../../../winix/templates/indexpatterns.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/changepatterns.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../winix/core/sessionmanager.h ../../../winix/core/misc.h
templates.o: stats.h ../../../winix/templates/misc.h

View File

@@ -6,22 +6,23 @@ name = thread.so
all: $(name)
$(name): $(o)
$(CXX) -shared -Wl,-soname,$(name).so -o $(name) $(CXXFLAGS) $(LDFLAGS) *.o
$(CXX) -shared -Wl,-soname,$(name) -o $(name) $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $(LDFLAGS) *.o
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $<
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. -I../.. -I../../../ezc/src -I../../../pikotools -I../../../tito/src -f- *.cpp > Makefile.dep
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
rm -f *.so
rm -f $(name)
include Makefile.dep

View File

@@ -1,72 +1,108 @@
# DO NOT DELETE
createthread.o: createthread.h ../../functions/functionbase.h
createthread.o: ../../core/item.h ../../../pikotools/space/space.h
createthread.o: createthread.h ../../../winix/functions/functionbase.h
createthread.o: ../../../winix/core/item.h ../../../pikotools/space/space.h
createthread.o: ../../../pikotools/textstream/types.h
createthread.o: ../../../pikotools/date/date.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
createthread.o: ../../core/requesttypes.h
createthread.o: ../../../pikotools/date/date.h ../../../winix/db/db.h
createthread.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
createthread.o: ../../../winix/db/dbtextstream.h
createthread.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
createthread.o: ../../../winix/core/item.h ../../../winix/core/requesttypes.h
createthread.o: ../../../pikotools/textstream/textstream.h
createthread.o: ../../../pikotools/convert/convert.h
createthread.o: ../../../pikotools/convert/inttostr.h
createthread.o: ../../../pikotools/membuffer/membuffer.h
createthread.o: ../../../pikotools/textstream/types.h
createthread.o: ../../../pikotools/utf8/utf8.h ../../core/error.h
createthread.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/error.h
createthread.o: ../../../pikotools/space/spaceparser.h
createthread.o: ../../../pikotools/space/space.h ../../db/dbitemquery.h
createthread.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
createthread.o: ../../core/dircontainer.h ../../core/ugcontainer.h
createthread.o: ../../core/log.h ../../core/textstream.h
createthread.o: ../../core/logmanipulators.h ../../core/slog.h
createthread.o: ../../core/cur.h ../../core/request.h ../../core/error.h
createthread.o: ../../core/config.h ../../core/htmlfilter.h
createthread.o: ../../templates/htmltextstream.h
createthread.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
createthread.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
createthread.o: ../../core/ipban.h ../../core/mount.h
createthread.o: ../../templates/locale.h ../../core/request.h
createthread.o: ../../core/config.h ../../core/system.h ../../core/job.h
createthread.o: ../../core/basethread.h ../../core/synchro.h
createthread.o: ../../core/dirs.h ../../core/dircontainer.h
createthread.o: ../../notify/notify.h ../../notify/notifypool.h
createthread.o: ../../templates/patterns.h ../../templates/locale.h
createthread.o: ../../templates/localefilter.h ../../../ezc/src/ezc.h
createthread.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
createthread.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
createthread.o: ../../../ezc/src/stringconv.h ../../notify/notifythread.h
createthread.o: ../../core/basethread.h ../../notify/templatesnotify.h
createthread.o: ../../core/users.h ../../core/ugcontainer.h
createthread.o: ../../core/lastcontainer.h ../../core/mounts.h
createthread.o: ../../core/mountparser.h ../../core/crypt.h ../../core/run.h
createthread.o: ../../core/users.h ../../core/groups.h ../../core/group.h
createthread.o: ../../core/loadavg.h ../../core/image.h
createthread.o: ../../core/threadmanager.h ../../core/timezones.h
createthread.o: ../../core/timezone.h ../../core/synchro.h tdb.h thread.h
createthread.o: ../../db/dbbase.h threadinfo.h ../../functions/functions.h
createthread.o: ../../functions/functionbase.h
createthread.o: ../../functions/functionparser.h ../../core/cur.h
createthread.o: ../../functions/adduser.h ../../functions/cat.h
createthread.o: ../../functions/chmod.h ../../functions/privchanger.h
createthread.o: ../../functions/chown.h ../../functions/ckeditor.h
createthread.o: ../../functions/cp.h ../../functions/default.h
createthread.o: ../../functions/download.h ../../functions/emacs.h
createthread.o: ../../functions/env.h ../../functions/last.h
createthread.o: ../../functions/login.h ../../functions/logout.h
createthread.o: ../../functions/ln.h ../../functions/ls.h
createthread.o: ../../functions/man.h ../../functions/meta.h
createthread.o: ../../functions/mkdir.h ../../functions/mv.h
createthread.o: ../../functions/nicedit.h ../../functions/node.h
createthread.o: ../../functions/passwd.h ../../functions/priv.h
createthread.o: ../../functions/pw.h ../../functions/reload.h
createthread.o: ../../functions/rm.h ../../functions/rmuser.h
createthread.o: ../../functions/sort.h ../../functions/specialdefault.h
createthread.o: ../../functions/stat.h ../../functions/subject.h
createthread.o: ../../functions/template.h ../../functions/tinymce.h
createthread.o: ../../functions/uname.h ../../functions/upload.h
createthread.o: ../../functions/uptime.h ../../functions/who.h
createthread.o: ../../functions/vim.h ../../core/htmlfilter.h
funthread.o: ../../core/misc.h ../../core/item.h ../../core/requesttypes.h
createthread.o: ../../../pikotools/space/space.h
createthread.o: ../../../winix/db/dbitemquery.h
createthread.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
createthread.o: ../../../winix/core/group.h
createthread.o: ../../../winix/core/dircontainer.h
createthread.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
createthread.o: ../../../winix/core/textstream.h
createthread.o: ../../../winix/core/logmanipulators.h
createthread.o: ../../../winix/core/slog.h ../../../winix/core/cur.h
createthread.o: ../../../winix/core/request.h ../../../winix/core/error.h
createthread.o: ../../../winix/core/config.h ../../../winix/core/htmlfilter.h
createthread.o: ../../../winix/templates/htmltextstream.h
createthread.o: ../../../pikotools/space/spacetojson.h
createthread.o: ../../../winix/core/session.h ../../../winix/core/user.h
createthread.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
createthread.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
createthread.o: ../../../winix/templates/locale.h
createthread.o: ../../../winix/core/request.h ../../../winix/core/config.h
createthread.o: ../../../winix/core/system.h ../../../winix/core/job.h
createthread.o: ../../../winix/core/basethread.h
createthread.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
createthread.o: ../../../winix/core/dircontainer.h
createthread.o: ../../../winix/notify/notify.h
createthread.o: ../../../winix/notify/notifypool.h
createthread.o: ../../../winix/templates/patterns.h
createthread.o: ../../../winix/templates/locale.h
createthread.o: ../../../winix/templates/localefilter.h
createthread.o: ../../../ezc/src/ezc.h ../../../ezc/src/generator.h
createthread.o: ../../../ezc/src/pattern.h ../../../ezc/src/functions.h
createthread.o: ../../../ezc/src/funinfo.h ../../../ezc/src/stringconv.h
createthread.o: ../../../winix/notify/notifythread.h
createthread.o: ../../../winix/core/basethread.h
createthread.o: ../../../winix/notify/templatesnotify.h
createthread.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
createthread.o: ../../../winix/core/lastcontainer.h
createthread.o: ../../../winix/core/mounts.h
createthread.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
createthread.o: ../../../winix/core/run.h ../../../winix/core/users.h
createthread.o: ../../../winix/core/groups.h ../../../winix/core/group.h
createthread.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
createthread.o: ../../../winix/core/threadmanager.h
createthread.o: ../../../winix/core/timezones.h
createthread.o: ../../../winix/core/timezone.h ../../../winix/core/synchro.h
createthread.o: tdb.h thread.h ../../../winix/db/dbbase.h threadinfo.h
createthread.o: ../../../winix/functions/functions.h
createthread.o: ../../../winix/functions/functionbase.h
createthread.o: ../../../winix/functions/functionparser.h
createthread.o: ../../../winix/core/cur.h ../../../winix/functions/account.h
createthread.o: ../../../winix/functions/adduser.h
createthread.o: ../../../winix/functions/cat.h
createthread.o: ../../../winix/functions/chmod.h
createthread.o: ../../../winix/functions/privchanger.h
createthread.o: ../../../winix/functions/chown.h
createthread.o: ../../../winix/functions/ckeditor.h
createthread.o: ../../../winix/functions/cp.h
createthread.o: ../../../winix/functions/default.h
createthread.o: ../../../winix/functions/download.h
createthread.o: ../../../winix/functions/emacs.h
createthread.o: ../../../winix/functions/env.h
createthread.o: ../../../winix/functions/imgcrop.h
createthread.o: ../../../winix/functions/last.h
createthread.o: ../../../winix/functions/login.h
createthread.o: ../../../winix/functions/logout.h
createthread.o: ../../../winix/functions/ln.h ../../../winix/functions/ls.h
createthread.o: ../../../winix/functions/man.h
createthread.o: ../../../winix/functions/meta.h
createthread.o: ../../../winix/functions/mkdir.h
createthread.o: ../../../winix/functions/mv.h
createthread.o: ../../../winix/functions/nicedit.h
createthread.o: ../../../winix/functions/node.h
createthread.o: ../../../winix/functions/passwd.h
createthread.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
createthread.o: ../../../winix/functions/reload.h
createthread.o: ../../../winix/functions/rm.h
createthread.o: ../../../winix/functions/rmuser.h
createthread.o: ../../../winix/functions/sort.h
createthread.o: ../../../winix/functions/specialdefault.h
createthread.o: ../../../winix/functions/stat.h
createthread.o: ../../../winix/functions/subject.h
createthread.o: ../../../winix/functions/template.h
createthread.o: ../../../winix/functions/tinymce.h
createthread.o: ../../../winix/functions/uname.h
createthread.o: ../../../winix/functions/upload.h
createthread.o: ../../../winix/functions/uptime.h
createthread.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
createthread.o: ../../../winix/core/htmlfilter.h
funthread.o: ../../../winix/core/misc.h ../../../winix/core/item.h
funthread.o: ../../../winix/core/requesttypes.h
funthread.o: ../../../pikotools/textstream/textstream.h
funthread.o: ../../../pikotools/space/space.h
funthread.o: ../../../pikotools/textstream/types.h
@@ -76,345 +112,489 @@ funthread.o: ../../../pikotools/convert/inttostr.h
funthread.o: ../../../pikotools/membuffer/membuffer.h
funthread.o: ../../../pikotools/textstream/types.h
funthread.o: ../../../pikotools/utf8/utf8.h funthread.h
funthread.o: ../../functions/functionbase.h ../../core/item.h ../../db/db.h
funthread.o: ../../db/dbbase.h ../../db/dbconn.h ../../db/dbtextstream.h
funthread.o: ../../core/textstream.h ../../core/misc.h ../../core/error.h
funthread.o: ../../../winix/functions/functionbase.h
funthread.o: ../../../winix/core/item.h ../../../winix/db/db.h
funthread.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
funthread.o: ../../../winix/db/dbtextstream.h
funthread.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
funthread.o: ../../../winix/core/error.h
funthread.o: ../../../pikotools/space/spaceparser.h
funthread.o: ../../../pikotools/space/space.h ../../db/dbitemquery.h
funthread.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
funthread.o: ../../core/dircontainer.h ../../core/ugcontainer.h
funthread.o: ../../core/log.h ../../core/textstream.h
funthread.o: ../../core/logmanipulators.h ../../core/slog.h ../../core/cur.h
funthread.o: ../../core/request.h ../../core/error.h ../../core/config.h
funthread.o: ../../core/htmlfilter.h ../../templates/htmltextstream.h
funthread.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
funthread.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
funthread.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
funthread.o: ../../core/request.h ../../core/config.h ../../core/system.h
funthread.o: ../../core/job.h ../../core/basethread.h ../../core/synchro.h
funthread.o: ../../core/dirs.h ../../core/dircontainer.h
funthread.o: ../../notify/notify.h ../../notify/notifypool.h
funthread.o: ../../templates/patterns.h ../../templates/locale.h
funthread.o: ../../templates/localefilter.h ../../../ezc/src/ezc.h
funthread.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
funthread.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
funthread.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
funthread.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
funthread.o: ../../../winix/core/textstream.h
funthread.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
funthread.o: ../../../winix/core/cur.h ../../../winix/core/request.h
funthread.o: ../../../winix/core/error.h ../../../winix/core/config.h
funthread.o: ../../../winix/core/htmlfilter.h
funthread.o: ../../../winix/templates/htmltextstream.h
funthread.o: ../../../pikotools/space/spacetojson.h
funthread.o: ../../../winix/core/session.h ../../../winix/core/user.h
funthread.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
funthread.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
funthread.o: ../../../winix/templates/locale.h ../../../winix/core/request.h
funthread.o: ../../../winix/core/config.h ../../../winix/core/system.h
funthread.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
funthread.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
funthread.o: ../../../winix/core/dircontainer.h
funthread.o: ../../../winix/notify/notify.h
funthread.o: ../../../winix/notify/notifypool.h
funthread.o: ../../../winix/templates/patterns.h
funthread.o: ../../../winix/templates/locale.h
funthread.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
funthread.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
funthread.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
funthread.o: ../../../ezc/src/stringconv.h ../../notify/notifythread.h
funthread.o: ../../core/basethread.h ../../notify/templatesnotify.h
funthread.o: ../../core/users.h ../../core/ugcontainer.h
funthread.o: ../../core/lastcontainer.h ../../core/mounts.h
funthread.o: ../../core/mountparser.h ../../core/crypt.h ../../core/run.h
funthread.o: ../../core/users.h ../../core/groups.h ../../core/group.h
funthread.o: ../../core/loadavg.h ../../core/image.h
funthread.o: ../../core/threadmanager.h ../../core/timezones.h
funthread.o: ../../core/timezone.h ../../core/synchro.h tdb.h thread.h
funthread.o: ../../db/dbbase.h threadinfo.h
init.o: tdb.h thread.h ../../../pikotools/date/date.h ../../db/dbbase.h
init.o: ../../core/error.h reply.h ../../functions/functionbase.h
init.o: ../../core/item.h ../../../pikotools/space/space.h
init.o: ../../../pikotools/textstream/types.h ../../db/db.h ../../db/dbbase.h
init.o: ../../db/dbconn.h ../../db/dbtextstream.h ../../core/textstream.h
init.o: ../../core/misc.h ../../core/item.h ../../core/requesttypes.h
funthread.o: ../../../ezc/src/stringconv.h
funthread.o: ../../../winix/notify/notifythread.h
funthread.o: ../../../winix/core/basethread.h
funthread.o: ../../../winix/notify/templatesnotify.h
funthread.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
funthread.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
funthread.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
funthread.o: ../../../winix/core/run.h ../../../winix/core/users.h
funthread.o: ../../../winix/core/groups.h ../../../winix/core/group.h
funthread.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
funthread.o: ../../../winix/core/threadmanager.h
funthread.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
funthread.o: ../../../winix/core/synchro.h tdb.h thread.h
funthread.o: ../../../winix/db/dbbase.h threadinfo.h
init.o: tdb.h thread.h ../../../pikotools/date/date.h
init.o: ../../../winix/db/dbbase.h ../../../winix/core/error.h reply.h
init.o: ../../../winix/functions/functionbase.h ../../../winix/core/item.h
init.o: ../../../pikotools/space/space.h
init.o: ../../../pikotools/textstream/types.h ../../../winix/db/db.h
init.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
init.o: ../../../winix/db/dbtextstream.h ../../../winix/core/textstream.h
init.o: ../../../winix/core/misc.h ../../../winix/core/item.h
init.o: ../../../winix/core/requesttypes.h
init.o: ../../../pikotools/textstream/textstream.h
init.o: ../../../pikotools/convert/convert.h
init.o: ../../../pikotools/convert/inttostr.h
init.o: ../../../pikotools/membuffer/membuffer.h
init.o: ../../../pikotools/textstream/types.h ../../../pikotools/utf8/utf8.h
init.o: ../../../pikotools/space/spaceparser.h
init.o: ../../../pikotools/space/space.h ../../db/dbitemquery.h
init.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
init.o: ../../core/dircontainer.h ../../core/ugcontainer.h ../../core/log.h
init.o: ../../core/textstream.h ../../core/logmanipulators.h
init.o: ../../core/slog.h ../../core/cur.h ../../core/request.h
init.o: ../../core/error.h ../../core/config.h ../../core/htmlfilter.h
init.o: ../../templates/htmltextstream.h
init.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
init.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
init.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
init.o: ../../core/request.h ../../core/config.h ../../core/system.h
init.o: ../../core/job.h ../../core/basethread.h ../../core/synchro.h
init.o: ../../core/dirs.h ../../core/dircontainer.h ../../notify/notify.h
init.o: ../../notify/notifypool.h ../../templates/patterns.h
init.o: ../../templates/locale.h ../../templates/localefilter.h
init.o: ../../../ezc/src/ezc.h ../../../ezc/src/generator.h
init.o: ../../../ezc/src/pattern.h ../../../ezc/src/functions.h
init.o: ../../../ezc/src/funinfo.h ../../../ezc/src/stringconv.h
init.o: ../../notify/notifythread.h ../../core/basethread.h
init.o: ../../notify/templatesnotify.h ../../core/users.h
init.o: ../../core/ugcontainer.h ../../core/lastcontainer.h
init.o: ../../core/mounts.h ../../core/mountparser.h ../../core/crypt.h
init.o: ../../core/run.h ../../core/users.h ../../core/groups.h
init.o: ../../core/group.h ../../core/loadavg.h ../../core/image.h
init.o: ../../core/threadmanager.h ../../core/timezones.h
init.o: ../../core/timezone.h ../../core/synchro.h threadinfo.h funthread.h
init.o: createthread.h showthreads.h ../../core/log.h ../../core/plugin.h
init.o: pluginmsg.h ../../core/system.h ../../core/sessionmanager.h
init.o: ../../core/sessioncontainer.h ../../core/ipbancontainer.h
init.o: ../../functions/functions.h ../../functions/functionbase.h
init.o: ../../functions/functionparser.h ../../core/cur.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/default.h
init.o: ../../functions/download.h ../../functions/emacs.h
init.o: ../../functions/env.h ../../functions/last.h ../../functions/login.h
init.o: ../../functions/logout.h ../../functions/ln.h ../../functions/ls.h
init.o: ../../functions/man.h ../../functions/meta.h ../../functions/mkdir.h
init.o: ../../functions/mv.h ../../functions/nicedit.h ../../functions/node.h
init.o: ../../functions/passwd.h ../../functions/priv.h ../../functions/pw.h
init.o: ../../functions/reload.h ../../functions/rm.h
init.o: ../../functions/rmuser.h ../../functions/sort.h
init.o: ../../functions/specialdefault.h ../../functions/stat.h
init.o: ../../functions/subject.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/indexpatterns.h ../../templates/patterns.h
init.o: ../../templates/changepatterns.h ../../templates/htmltextstream.h
init.o: ../../core/sessionmanager.h templates.h
reply.o: ../../core/plugin.h pluginmsg.h ../../core/log.h
reply.o: ../../core/textstream.h ../../core/logmanipulators.h
init.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
init.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
init.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
init.o: ../../../winix/core/textstream.h
init.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
init.o: ../../../winix/core/cur.h ../../../winix/core/request.h
init.o: ../../../winix/core/error.h ../../../winix/core/config.h
init.o: ../../../winix/core/htmlfilter.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
init.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
init.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
init.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
init.o: ../../../winix/core/request.h ../../../winix/core/config.h
init.o: ../../../winix/core/system.h ../../../winix/core/job.h
init.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
init.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
init.o: ../../../winix/notify/notify.h ../../../winix/notify/notifypool.h
init.o: ../../../winix/templates/patterns.h ../../../winix/templates/locale.h
init.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
init.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
init.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
init.o: ../../../ezc/src/stringconv.h ../../../winix/notify/notifythread.h
init.o: ../../../winix/core/basethread.h
init.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/users.h
init.o: ../../../winix/core/ugcontainer.h ../../../winix/core/lastcontainer.h
init.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
init.o: ../../../winix/core/crypt.h ../../../winix/core/run.h
init.o: ../../../winix/core/users.h ../../../winix/core/groups.h
init.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
init.o: ../../../winix/core/image.h ../../../winix/core/threadmanager.h
init.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
init.o: ../../../winix/core/synchro.h threadinfo.h funthread.h createthread.h
init.o: showthreads.h ../../../winix/core/log.h ../../../winix/core/plugin.h
init.o: pluginmsg.h ../../../winix/core/system.h
init.o: ../../../winix/core/sessionmanager.h
init.o: ../../../winix/core/sessioncontainer.h
init.o: ../../../winix/core/ipbancontainer.h
init.o: ../../../winix/functions/functions.h
init.o: ../../../winix/functions/functionbase.h
init.o: ../../../winix/functions/functionparser.h ../../../winix/core/cur.h
init.o: ../../../winix/functions/account.h ../../../winix/functions/adduser.h
init.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
init.o: ../../../winix/functions/privchanger.h
init.o: ../../../winix/functions/chown.h ../../../winix/functions/ckeditor.h
init.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
init.o: ../../../winix/functions/download.h ../../../winix/functions/emacs.h
init.o: ../../../winix/functions/env.h ../../../winix/functions/imgcrop.h
init.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
init.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
init.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
init.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
init.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
init.o: ../../../winix/functions/node.h ../../../winix/functions/passwd.h
init.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
init.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
init.o: ../../../winix/functions/rmuser.h ../../../winix/functions/sort.h
init.o: ../../../winix/functions/specialdefault.h
init.o: ../../../winix/functions/stat.h ../../../winix/functions/subject.h
init.o: ../../../winix/functions/template.h
init.o: ../../../winix/functions/tinymce.h ../../../winix/functions/uname.h
init.o: ../../../winix/functions/upload.h ../../../winix/functions/uptime.h
init.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
init.o: ../../../winix/core/htmlfilter.h ../../../winix/templates/templates.h
init.o: ../../../winix/templates/patterncacher.h
init.o: ../../../winix/templates/indexpatterns.h
init.o: ../../../winix/templates/patterns.h
init.o: ../../../winix/templates/changepatterns.h
init.o: ../../../winix/templates/htmltextstream.h
init.o: ../../../winix/core/sessionmanager.h templates.h
reply.o: ../../../winix/core/plugin.h pluginmsg.h ../../../winix/core/log.h
reply.o: ../../../winix/core/textstream.h
reply.o: ../../../winix/core/logmanipulators.h
reply.o: ../../../pikotools/textstream/textstream.h
reply.o: ../../../pikotools/space/space.h
reply.o: ../../../pikotools/textstream/types.h ../../../pikotools/date/date.h
reply.o: ../../../pikotools/convert/convert.h
reply.o: ../../../pikotools/convert/inttostr.h
reply.o: ../../../pikotools/membuffer/membuffer.h
reply.o: ../../../pikotools/textstream/types.h ../../core/slog.h
reply.o: ../../core/cur.h ../../core/request.h ../../core/requesttypes.h
reply.o: ../../core/item.h ../../core/error.h ../../core/config.h
reply.o: ../../../pikotools/textstream/types.h ../../../winix/core/slog.h
reply.o: ../../../winix/core/cur.h ../../../winix/core/request.h
reply.o: ../../../winix/core/requesttypes.h ../../../winix/core/item.h
reply.o: ../../../winix/core/error.h ../../../winix/core/config.h
reply.o: ../../../pikotools/space/spaceparser.h
reply.o: ../../../pikotools/space/space.h ../../core/htmlfilter.h
reply.o: ../../templates/htmltextstream.h ../../core/textstream.h
reply.o: ../../core/misc.h ../../../pikotools/utf8/utf8.h
reply.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
reply.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
reply.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
reply.o: ../../core/system.h ../../core/sessionmanager.h
reply.o: ../../core/sessioncontainer.h ../../core/ipbancontainer.h
reply.o: ../../core/lastcontainer.h ../../core/synchro.h
reply.o: ../../core/basethread.h ../../functions/functions.h
reply.o: ../../functions/functionbase.h ../../functions/functionparser.h
reply.o: ../../db/db.h ../../db/dbbase.h ../../db/dbconn.h
reply.o: ../../db/dbtextstream.h ../../core/error.h ../../db/dbitemquery.h
reply.o: ../../core/item.h ../../db/dbitemcolumns.h ../../core/user.h
reply.o: ../../core/group.h ../../core/dircontainer.h
reply.o: ../../core/ugcontainer.h ../../core/cur.h ../../core/system.h
reply.o: ../../core/job.h ../../core/dirs.h ../../core/dircontainer.h
reply.o: ../../notify/notify.h ../../notify/notifypool.h
reply.o: ../../templates/patterns.h ../../templates/locale.h
reply.o: ../../templates/localefilter.h ../../../ezc/src/ezc.h
reply.o: ../../../pikotools/space/space.h ../../../winix/core/htmlfilter.h
reply.o: ../../../winix/templates/htmltextstream.h
reply.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
reply.o: ../../../pikotools/utf8/utf8.h
reply.o: ../../../pikotools/space/spacetojson.h ../../../winix/core/session.h
reply.o: ../../../winix/core/user.h ../../../winix/core/plugindata.h
reply.o: ../../../winix/core/rebus.h ../../../winix/core/ipban.h
reply.o: ../../../winix/core/mount.h ../../../winix/templates/locale.h
reply.o: ../../../winix/core/system.h ../../../winix/core/sessionmanager.h
reply.o: ../../../winix/core/sessioncontainer.h
reply.o: ../../../winix/core/ipbancontainer.h
reply.o: ../../../winix/core/lastcontainer.h ../../../winix/core/synchro.h
reply.o: ../../../winix/core/basethread.h
reply.o: ../../../winix/functions/functions.h
reply.o: ../../../winix/functions/functionbase.h
reply.o: ../../../winix/functions/functionparser.h ../../../winix/db/db.h
reply.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
reply.o: ../../../winix/db/dbtextstream.h ../../../winix/core/error.h
reply.o: ../../../winix/db/dbitemquery.h ../../../winix/core/item.h
reply.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
reply.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
reply.o: ../../../winix/core/ugcontainer.h ../../../winix/core/cur.h
reply.o: ../../../winix/core/system.h ../../../winix/core/job.h
reply.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
reply.o: ../../../winix/notify/notify.h ../../../winix/notify/notifypool.h
reply.o: ../../../winix/templates/patterns.h
reply.o: ../../../winix/templates/locale.h
reply.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
reply.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
reply.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
reply.o: ../../../ezc/src/stringconv.h ../../notify/notifythread.h
reply.o: ../../core/basethread.h ../../notify/templatesnotify.h
reply.o: ../../core/config.h ../../core/users.h ../../core/ugcontainer.h
reply.o: ../../core/mounts.h ../../core/mountparser.h ../../core/crypt.h
reply.o: ../../core/run.h ../../core/users.h ../../core/groups.h
reply.o: ../../core/group.h ../../core/loadavg.h ../../core/image.h
reply.o: ../../core/threadmanager.h ../../core/timezones.h
reply.o: ../../core/timezone.h ../../functions/adduser.h
reply.o: ../../functions/cat.h ../../functions/chmod.h
reply.o: ../../functions/privchanger.h ../../core/request.h
reply.o: ../../functions/chown.h ../../functions/ckeditor.h
reply.o: ../../functions/cp.h ../../functions/default.h
reply.o: ../../functions/download.h ../../functions/emacs.h
reply.o: ../../functions/env.h ../../functions/last.h ../../functions/login.h
reply.o: ../../functions/logout.h ../../functions/ln.h ../../functions/ls.h
reply.o: ../../functions/man.h ../../functions/meta.h ../../functions/mkdir.h
reply.o: ../../functions/mv.h ../../functions/nicedit.h
reply.o: ../../functions/node.h ../../functions/passwd.h
reply.o: ../../functions/priv.h ../../functions/pw.h ../../functions/reload.h
reply.o: ../../functions/rm.h ../../functions/rmuser.h ../../functions/sort.h
reply.o: ../../functions/specialdefault.h ../../functions/stat.h
reply.o: ../../functions/subject.h ../../functions/template.h
reply.o: ../../functions/tinymce.h ../../functions/uname.h
reply.o: ../../functions/upload.h ../../functions/uptime.h
reply.o: ../../functions/who.h ../../functions/vim.h ../../core/htmlfilter.h
reply.o: ../../templates/templates.h ../../templates/patterncacher.h
reply.o: ../../templates/indexpatterns.h ../../templates/patterns.h
reply.o: ../../templates/changepatterns.h ../../templates/htmltextstream.h
reply.o: ../../core/sessionmanager.h reply.h ../../functions/functionbase.h
reply.o: ../../core/synchro.h tdb.h thread.h ../../db/dbbase.h threadinfo.h
reply.o: ../../core/misc.h
showthreads.o: showthreads.h ../../functions/functionbase.h ../../core/item.h
showthreads.o: ../../../pikotools/space/space.h
reply.o: ../../../ezc/src/stringconv.h ../../../winix/notify/notifythread.h
reply.o: ../../../winix/core/basethread.h
reply.o: ../../../winix/notify/templatesnotify.h ../../../winix/core/config.h
reply.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
reply.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
reply.o: ../../../winix/core/crypt.h ../../../winix/core/run.h
reply.o: ../../../winix/core/users.h ../../../winix/core/groups.h
reply.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
reply.o: ../../../winix/core/image.h ../../../winix/core/threadmanager.h
reply.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
reply.o: ../../../winix/functions/account.h
reply.o: ../../../winix/functions/adduser.h ../../../winix/functions/cat.h
reply.o: ../../../winix/functions/chmod.h
reply.o: ../../../winix/functions/privchanger.h ../../../winix/core/request.h
reply.o: ../../../winix/functions/chown.h ../../../winix/functions/ckeditor.h
reply.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
reply.o: ../../../winix/functions/download.h ../../../winix/functions/emacs.h
reply.o: ../../../winix/functions/env.h ../../../winix/functions/imgcrop.h
reply.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
reply.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
reply.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
reply.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
reply.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
reply.o: ../../../winix/functions/node.h ../../../winix/functions/passwd.h
reply.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
reply.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
reply.o: ../../../winix/functions/rmuser.h ../../../winix/functions/sort.h
reply.o: ../../../winix/functions/specialdefault.h
reply.o: ../../../winix/functions/stat.h ../../../winix/functions/subject.h
reply.o: ../../../winix/functions/template.h
reply.o: ../../../winix/functions/tinymce.h ../../../winix/functions/uname.h
reply.o: ../../../winix/functions/upload.h ../../../winix/functions/uptime.h
reply.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
reply.o: ../../../winix/core/htmlfilter.h
reply.o: ../../../winix/templates/templates.h
reply.o: ../../../winix/templates/patterncacher.h
reply.o: ../../../winix/templates/indexpatterns.h
reply.o: ../../../winix/templates/patterns.h
reply.o: ../../../winix/templates/changepatterns.h
reply.o: ../../../winix/templates/htmltextstream.h
reply.o: ../../../winix/core/sessionmanager.h reply.h
reply.o: ../../../winix/functions/functionbase.h
reply.o: ../../../winix/core/synchro.h tdb.h thread.h
reply.o: ../../../winix/db/dbbase.h threadinfo.h ../../../winix/core/misc.h
showthreads.o: showthreads.h ../../../winix/functions/functionbase.h
showthreads.o: ../../../winix/core/item.h ../../../pikotools/space/space.h
showthreads.o: ../../../pikotools/textstream/types.h
showthreads.o: ../../../pikotools/date/date.h ../../db/db.h ../../db/dbbase.h
showthreads.o: ../../db/dbconn.h ../../db/dbtextstream.h
showthreads.o: ../../core/textstream.h ../../core/misc.h ../../core/item.h
showthreads.o: ../../core/requesttypes.h
showthreads.o: ../../../pikotools/date/date.h ../../../winix/db/db.h
showthreads.o: ../../../winix/db/dbbase.h ../../../winix/db/dbconn.h
showthreads.o: ../../../winix/db/dbtextstream.h
showthreads.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
showthreads.o: ../../../winix/core/item.h ../../../winix/core/requesttypes.h
showthreads.o: ../../../pikotools/textstream/textstream.h
showthreads.o: ../../../pikotools/convert/convert.h
showthreads.o: ../../../pikotools/convert/inttostr.h
showthreads.o: ../../../pikotools/membuffer/membuffer.h
showthreads.o: ../../../pikotools/textstream/types.h
showthreads.o: ../../../pikotools/utf8/utf8.h ../../core/error.h
showthreads.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/error.h
showthreads.o: ../../../pikotools/space/spaceparser.h
showthreads.o: ../../../pikotools/space/space.h ../../db/dbitemquery.h
showthreads.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
showthreads.o: ../../core/dircontainer.h ../../core/ugcontainer.h
showthreads.o: ../../core/log.h ../../core/textstream.h
showthreads.o: ../../core/logmanipulators.h ../../core/slog.h
showthreads.o: ../../core/cur.h ../../core/request.h ../../core/error.h
showthreads.o: ../../core/config.h ../../core/htmlfilter.h
showthreads.o: ../../templates/htmltextstream.h
showthreads.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
showthreads.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
showthreads.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
showthreads.o: ../../core/request.h ../../core/config.h ../../core/system.h
showthreads.o: ../../core/job.h ../../core/basethread.h ../../core/synchro.h
showthreads.o: ../../core/dirs.h ../../core/dircontainer.h
showthreads.o: ../../notify/notify.h ../../notify/notifypool.h
showthreads.o: ../../templates/patterns.h ../../templates/locale.h
showthreads.o: ../../templates/localefilter.h ../../../ezc/src/ezc.h
showthreads.o: ../../../pikotools/space/space.h
showthreads.o: ../../../winix/db/dbitemquery.h
showthreads.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
showthreads.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
showthreads.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
showthreads.o: ../../../winix/core/textstream.h
showthreads.o: ../../../winix/core/logmanipulators.h
showthreads.o: ../../../winix/core/slog.h ../../../winix/core/cur.h
showthreads.o: ../../../winix/core/request.h ../../../winix/core/error.h
showthreads.o: ../../../winix/core/config.h ../../../winix/core/htmlfilter.h
showthreads.o: ../../../winix/templates/htmltextstream.h
showthreads.o: ../../../pikotools/space/spacetojson.h
showthreads.o: ../../../winix/core/session.h ../../../winix/core/user.h
showthreads.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
showthreads.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
showthreads.o: ../../../winix/templates/locale.h
showthreads.o: ../../../winix/core/request.h ../../../winix/core/config.h
showthreads.o: ../../../winix/core/system.h ../../../winix/core/job.h
showthreads.o: ../../../winix/core/basethread.h ../../../winix/core/synchro.h
showthreads.o: ../../../winix/core/dirs.h ../../../winix/core/dircontainer.h
showthreads.o: ../../../winix/notify/notify.h
showthreads.o: ../../../winix/notify/notifypool.h
showthreads.o: ../../../winix/templates/patterns.h
showthreads.o: ../../../winix/templates/locale.h
showthreads.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
showthreads.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
showthreads.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
showthreads.o: ../../../ezc/src/stringconv.h ../../notify/notifythread.h
showthreads.o: ../../core/basethread.h ../../notify/templatesnotify.h
showthreads.o: ../../core/users.h ../../core/ugcontainer.h
showthreads.o: ../../core/lastcontainer.h ../../core/mounts.h
showthreads.o: ../../core/mountparser.h ../../core/crypt.h ../../core/run.h
showthreads.o: ../../core/users.h ../../core/groups.h ../../core/group.h
showthreads.o: ../../core/loadavg.h ../../core/image.h
showthreads.o: ../../core/threadmanager.h ../../core/timezones.h
showthreads.o: ../../core/timezone.h ../../core/synchro.h tdb.h thread.h
showthreads.o: ../../db/dbbase.h threadinfo.h
tdb.o: tdb.h thread.h ../../../pikotools/date/date.h ../../db/dbbase.h
tdb.o: ../../core/error.h ../../core/log.h
templates.o: threadinfo.h ../../core/item.h ../../../pikotools/space/space.h
showthreads.o: ../../../ezc/src/stringconv.h
showthreads.o: ../../../winix/notify/notifythread.h
showthreads.o: ../../../winix/core/basethread.h
showthreads.o: ../../../winix/notify/templatesnotify.h
showthreads.o: ../../../winix/core/users.h ../../../winix/core/ugcontainer.h
showthreads.o: ../../../winix/core/lastcontainer.h
showthreads.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
showthreads.o: ../../../winix/core/crypt.h ../../../winix/core/run.h
showthreads.o: ../../../winix/core/users.h ../../../winix/core/groups.h
showthreads.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
showthreads.o: ../../../winix/core/image.h
showthreads.o: ../../../winix/core/threadmanager.h
showthreads.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
showthreads.o: ../../../winix/core/synchro.h tdb.h thread.h
showthreads.o: ../../../winix/db/dbbase.h threadinfo.h
tdb.o: tdb.h thread.h ../../../pikotools/date/date.h
tdb.o: ../../../winix/db/dbbase.h ../../../winix/core/error.h
tdb.o: ../../../winix/core/log.h
templates.o: threadinfo.h ../../../winix/core/item.h
templates.o: ../../../pikotools/space/space.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../../pikotools/date/date.h ../../core/system.h
templates.o: ../../core/job.h ../../core/basethread.h ../../core/synchro.h
templates.o: ../../core/dirs.h ../../core/item.h ../../core/dircontainer.h
templates.o: ../../db/db.h ../../db/dbbase.h ../../db/dbconn.h
templates.o: ../../db/dbtextstream.h ../../core/textstream.h
templates.o: ../../core/misc.h ../../core/requesttypes.h
templates.o: ../../../pikotools/date/date.h ../../../winix/core/system.h
templates.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
templates.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
templates.o: ../../../winix/core/item.h ../../../winix/core/dircontainer.h
templates.o: ../../../winix/db/db.h ../../../winix/db/dbbase.h
templates.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
templates.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
templates.o: ../../../winix/core/requesttypes.h
templates.o: ../../../pikotools/textstream/textstream.h
templates.o: ../../../pikotools/convert/convert.h
templates.o: ../../../pikotools/convert/inttostr.h
templates.o: ../../../pikotools/membuffer/membuffer.h
templates.o: ../../../pikotools/textstream/types.h
templates.o: ../../../pikotools/utf8/utf8.h ../../core/error.h
templates.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/error.h
templates.o: ../../../pikotools/space/spaceparser.h
templates.o: ../../../pikotools/space/space.h ../../db/dbitemquery.h
templates.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
templates.o: ../../core/dircontainer.h ../../core/ugcontainer.h
templates.o: ../../core/log.h ../../core/textstream.h
templates.o: ../../core/logmanipulators.h ../../core/slog.h ../../core/cur.h
templates.o: ../../core/request.h ../../core/error.h ../../core/config.h
templates.o: ../../core/htmlfilter.h ../../templates/htmltextstream.h
templates.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
templates.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
templates.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
templates.o: ../../notify/notify.h ../../notify/notifypool.h
templates.o: ../../templates/patterns.h ../../templates/locale.h
templates.o: ../../templates/localefilter.h ../../../ezc/src/ezc.h
templates.o: ../../../pikotools/space/space.h ../../../winix/db/dbitemquery.h
templates.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
templates.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
templates.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
templates.o: ../../../winix/core/textstream.h
templates.o: ../../../winix/core/logmanipulators.h ../../../winix/core/slog.h
templates.o: ../../../winix/core/cur.h ../../../winix/core/request.h
templates.o: ../../../winix/core/error.h ../../../winix/core/config.h
templates.o: ../../../winix/core/htmlfilter.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../pikotools/space/spacetojson.h
templates.o: ../../../winix/core/session.h ../../../winix/core/user.h
templates.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
templates.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
templates.o: ../../../winix/templates/locale.h ../../../winix/notify/notify.h
templates.o: ../../../winix/notify/notifypool.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/locale.h
templates.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
templates.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
templates.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
templates.o: ../../../ezc/src/stringconv.h ../../notify/notifythread.h
templates.o: ../../core/basethread.h ../../notify/templatesnotify.h
templates.o: ../../core/config.h ../../core/users.h ../../core/ugcontainer.h
templates.o: ../../core/lastcontainer.h ../../core/mounts.h
templates.o: ../../core/mountparser.h ../../core/crypt.h ../../core/run.h
templates.o: ../../core/users.h ../../core/groups.h ../../core/group.h
templates.o: ../../core/loadavg.h ../../core/image.h
templates.o: ../../core/threadmanager.h ../../core/timezones.h
templates.o: ../../core/timezone.h thread.h tdb.h ../../db/dbbase.h reply.h
templates.o: ../../functions/functionbase.h ../../core/request.h
templates.o: ../../core/synchro.h funthread.h createthread.h showthreads.h
templates.o: ../../core/misc.h ../../core/plugin.h pluginmsg.h
templates.o: ../../core/system.h ../../core/sessionmanager.h
templates.o: ../../core/sessioncontainer.h ../../core/ipbancontainer.h
templates.o: ../../functions/functions.h ../../functions/functionbase.h
templates.o: ../../functions/functionparser.h ../../core/cur.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/default.h
templates.o: ../../functions/download.h ../../functions/emacs.h
templates.o: ../../functions/env.h ../../functions/last.h
templates.o: ../../functions/login.h ../../functions/logout.h
templates.o: ../../functions/ln.h ../../functions/ls.h ../../functions/man.h
templates.o: ../../functions/meta.h ../../functions/mkdir.h
templates.o: ../../functions/mv.h ../../functions/nicedit.h
templates.o: ../../functions/node.h ../../functions/passwd.h
templates.o: ../../functions/priv.h ../../functions/pw.h
templates.o: ../../functions/reload.h ../../functions/rm.h
templates.o: ../../functions/rmuser.h ../../functions/sort.h
templates.o: ../../functions/specialdefault.h ../../functions/stat.h
templates.o: ../../functions/subject.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/indexpatterns.h
templates.o: ../../templates/patterns.h ../../templates/changepatterns.h
templates.o: ../../templates/htmltextstream.h ../../core/sessionmanager.h
threadinfo.o: threadinfo.h ../../core/item.h ../../../pikotools/space/space.h
templates.o: ../../../ezc/src/stringconv.h
templates.o: ../../../winix/notify/notifythread.h
templates.o: ../../../winix/core/basethread.h
templates.o: ../../../winix/notify/templatesnotify.h
templates.o: ../../../winix/core/config.h ../../../winix/core/users.h
templates.o: ../../../winix/core/ugcontainer.h
templates.o: ../../../winix/core/lastcontainer.h ../../../winix/core/mounts.h
templates.o: ../../../winix/core/mountparser.h ../../../winix/core/crypt.h
templates.o: ../../../winix/core/run.h ../../../winix/core/users.h
templates.o: ../../../winix/core/groups.h ../../../winix/core/group.h
templates.o: ../../../winix/core/loadavg.h ../../../winix/core/image.h
templates.o: ../../../winix/core/threadmanager.h
templates.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
templates.o: thread.h tdb.h ../../../winix/db/dbbase.h reply.h
templates.o: ../../../winix/functions/functionbase.h
templates.o: ../../../winix/core/request.h ../../../winix/core/synchro.h
templates.o: funthread.h createthread.h showthreads.h
templates.o: ../../../winix/core/misc.h ../../../winix/core/plugin.h
templates.o: pluginmsg.h ../../../winix/core/system.h
templates.o: ../../../winix/core/sessionmanager.h
templates.o: ../../../winix/core/sessioncontainer.h
templates.o: ../../../winix/core/ipbancontainer.h
templates.o: ../../../winix/functions/functions.h
templates.o: ../../../winix/functions/functionbase.h
templates.o: ../../../winix/functions/functionparser.h
templates.o: ../../../winix/core/cur.h ../../../winix/functions/account.h
templates.o: ../../../winix/functions/adduser.h
templates.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
templates.o: ../../../winix/functions/privchanger.h
templates.o: ../../../winix/functions/chown.h
templates.o: ../../../winix/functions/ckeditor.h
templates.o: ../../../winix/functions/cp.h ../../../winix/functions/default.h
templates.o: ../../../winix/functions/download.h
templates.o: ../../../winix/functions/emacs.h ../../../winix/functions/env.h
templates.o: ../../../winix/functions/imgcrop.h
templates.o: ../../../winix/functions/last.h ../../../winix/functions/login.h
templates.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
templates.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
templates.o: ../../../winix/functions/meta.h ../../../winix/functions/mkdir.h
templates.o: ../../../winix/functions/mv.h ../../../winix/functions/nicedit.h
templates.o: ../../../winix/functions/node.h
templates.o: ../../../winix/functions/passwd.h
templates.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
templates.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
templates.o: ../../../winix/functions/rmuser.h
templates.o: ../../../winix/functions/sort.h
templates.o: ../../../winix/functions/specialdefault.h
templates.o: ../../../winix/functions/stat.h
templates.o: ../../../winix/functions/subject.h
templates.o: ../../../winix/functions/template.h
templates.o: ../../../winix/functions/tinymce.h
templates.o: ../../../winix/functions/uname.h
templates.o: ../../../winix/functions/upload.h
templates.o: ../../../winix/functions/uptime.h ../../../winix/functions/who.h
templates.o: ../../../winix/functions/vim.h ../../../winix/core/htmlfilter.h
templates.o: ../../../winix/templates/templates.h
templates.o: ../../../winix/templates/patterncacher.h
templates.o: ../../../winix/templates/indexpatterns.h
templates.o: ../../../winix/templates/patterns.h
templates.o: ../../../winix/templates/changepatterns.h
templates.o: ../../../winix/templates/htmltextstream.h
templates.o: ../../../winix/core/sessionmanager.h
threadinfo.o: threadinfo.h ../../../winix/core/item.h
threadinfo.o: ../../../pikotools/space/space.h
threadinfo.o: ../../../pikotools/textstream/types.h
threadinfo.o: ../../../pikotools/date/date.h ../../core/system.h
threadinfo.o: ../../core/job.h ../../core/basethread.h ../../core/synchro.h
threadinfo.o: ../../core/dirs.h ../../core/item.h ../../core/dircontainer.h
threadinfo.o: ../../db/db.h ../../db/dbbase.h ../../db/dbconn.h
threadinfo.o: ../../db/dbtextstream.h ../../core/textstream.h
threadinfo.o: ../../core/misc.h ../../core/requesttypes.h
threadinfo.o: ../../../pikotools/date/date.h ../../../winix/core/system.h
threadinfo.o: ../../../winix/core/job.h ../../../winix/core/basethread.h
threadinfo.o: ../../../winix/core/synchro.h ../../../winix/core/dirs.h
threadinfo.o: ../../../winix/core/item.h ../../../winix/core/dircontainer.h
threadinfo.o: ../../../winix/db/db.h ../../../winix/db/dbbase.h
threadinfo.o: ../../../winix/db/dbconn.h ../../../winix/db/dbtextstream.h
threadinfo.o: ../../../winix/core/textstream.h ../../../winix/core/misc.h
threadinfo.o: ../../../winix/core/requesttypes.h
threadinfo.o: ../../../pikotools/textstream/textstream.h
threadinfo.o: ../../../pikotools/convert/convert.h
threadinfo.o: ../../../pikotools/convert/inttostr.h
threadinfo.o: ../../../pikotools/membuffer/membuffer.h
threadinfo.o: ../../../pikotools/textstream/types.h
threadinfo.o: ../../../pikotools/utf8/utf8.h ../../core/error.h
threadinfo.o: ../../../pikotools/utf8/utf8.h ../../../winix/core/error.h
threadinfo.o: ../../../pikotools/space/spaceparser.h
threadinfo.o: ../../../pikotools/space/space.h ../../db/dbitemquery.h
threadinfo.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
threadinfo.o: ../../core/dircontainer.h ../../core/ugcontainer.h
threadinfo.o: ../../core/log.h ../../core/textstream.h
threadinfo.o: ../../core/logmanipulators.h ../../core/slog.h ../../core/cur.h
threadinfo.o: ../../core/request.h ../../core/error.h ../../core/config.h
threadinfo.o: ../../core/htmlfilter.h ../../templates/htmltextstream.h
threadinfo.o: ../../../pikotools/space/spacetojson.h ../../core/session.h
threadinfo.o: ../../core/user.h ../../core/plugindata.h ../../core/rebus.h
threadinfo.o: ../../core/ipban.h ../../core/mount.h ../../templates/locale.h
threadinfo.o: ../../notify/notify.h ../../notify/notifypool.h
threadinfo.o: ../../templates/patterns.h ../../templates/locale.h
threadinfo.o: ../../templates/localefilter.h ../../../ezc/src/ezc.h
threadinfo.o: ../../../pikotools/space/space.h
threadinfo.o: ../../../winix/db/dbitemquery.h
threadinfo.o: ../../../winix/db/dbitemcolumns.h ../../../winix/core/user.h
threadinfo.o: ../../../winix/core/group.h ../../../winix/core/dircontainer.h
threadinfo.o: ../../../winix/core/ugcontainer.h ../../../winix/core/log.h
threadinfo.o: ../../../winix/core/textstream.h
threadinfo.o: ../../../winix/core/logmanipulators.h
threadinfo.o: ../../../winix/core/slog.h ../../../winix/core/cur.h
threadinfo.o: ../../../winix/core/request.h ../../../winix/core/error.h
threadinfo.o: ../../../winix/core/config.h ../../../winix/core/htmlfilter.h
threadinfo.o: ../../../winix/templates/htmltextstream.h
threadinfo.o: ../../../pikotools/space/spacetojson.h
threadinfo.o: ../../../winix/core/session.h ../../../winix/core/user.h
threadinfo.o: ../../../winix/core/plugindata.h ../../../winix/core/rebus.h
threadinfo.o: ../../../winix/core/ipban.h ../../../winix/core/mount.h
threadinfo.o: ../../../winix/templates/locale.h
threadinfo.o: ../../../winix/notify/notify.h
threadinfo.o: ../../../winix/notify/notifypool.h
threadinfo.o: ../../../winix/templates/patterns.h
threadinfo.o: ../../../winix/templates/locale.h
threadinfo.o: ../../../winix/templates/localefilter.h ../../../ezc/src/ezc.h
threadinfo.o: ../../../ezc/src/generator.h ../../../ezc/src/pattern.h
threadinfo.o: ../../../ezc/src/functions.h ../../../ezc/src/funinfo.h
threadinfo.o: ../../../ezc/src/stringconv.h ../../notify/notifythread.h
threadinfo.o: ../../core/basethread.h ../../notify/templatesnotify.h
threadinfo.o: ../../core/config.h ../../core/users.h ../../core/ugcontainer.h
threadinfo.o: ../../core/lastcontainer.h ../../core/mounts.h
threadinfo.o: ../../core/mountparser.h ../../core/crypt.h ../../core/run.h
threadinfo.o: ../../core/users.h ../../core/groups.h ../../core/group.h
threadinfo.o: ../../core/loadavg.h ../../core/image.h
threadinfo.o: ../../core/threadmanager.h ../../core/timezones.h
threadinfo.o: ../../core/timezone.h thread.h tdb.h ../../db/dbbase.h
threadinfo.o: ../../core/plugin.h pluginmsg.h ../../core/system.h
threadinfo.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
threadinfo.o: ../../core/ipbancontainer.h ../../functions/functions.h
threadinfo.o: ../../functions/functionbase.h ../../functions/functionparser.h
threadinfo.o: ../../core/cur.h ../../functions/adduser.h
threadinfo.o: ../../functions/cat.h ../../functions/chmod.h
threadinfo.o: ../../functions/privchanger.h ../../core/request.h
threadinfo.o: ../../functions/chown.h ../../functions/ckeditor.h
threadinfo.o: ../../functions/cp.h ../../functions/default.h
threadinfo.o: ../../functions/download.h ../../functions/emacs.h
threadinfo.o: ../../functions/env.h ../../functions/last.h
threadinfo.o: ../../functions/login.h ../../functions/logout.h
threadinfo.o: ../../functions/ln.h ../../functions/ls.h ../../functions/man.h
threadinfo.o: ../../functions/meta.h ../../functions/mkdir.h
threadinfo.o: ../../functions/mv.h ../../functions/nicedit.h
threadinfo.o: ../../functions/node.h ../../functions/passwd.h
threadinfo.o: ../../functions/priv.h ../../functions/pw.h
threadinfo.o: ../../functions/reload.h ../../functions/rm.h
threadinfo.o: ../../functions/rmuser.h ../../functions/sort.h
threadinfo.o: ../../functions/specialdefault.h ../../functions/stat.h
threadinfo.o: ../../functions/subject.h ../../functions/template.h
threadinfo.o: ../../functions/tinymce.h ../../functions/uname.h
threadinfo.o: ../../functions/upload.h ../../functions/uptime.h
threadinfo.o: ../../functions/who.h ../../functions/vim.h
threadinfo.o: ../../core/htmlfilter.h ../../templates/templates.h
threadinfo.o: ../../templates/patterncacher.h ../../templates/indexpatterns.h
threadinfo.o: ../../templates/patterns.h ../../templates/changepatterns.h
threadinfo.o: ../../templates/htmltextstream.h ../../core/sessionmanager.h
threadinfo.o: ../../../ezc/src/stringconv.h
threadinfo.o: ../../../winix/notify/notifythread.h
threadinfo.o: ../../../winix/core/basethread.h
threadinfo.o: ../../../winix/notify/templatesnotify.h
threadinfo.o: ../../../winix/core/config.h ../../../winix/core/users.h
threadinfo.o: ../../../winix/core/ugcontainer.h
threadinfo.o: ../../../winix/core/lastcontainer.h
threadinfo.o: ../../../winix/core/mounts.h ../../../winix/core/mountparser.h
threadinfo.o: ../../../winix/core/crypt.h ../../../winix/core/run.h
threadinfo.o: ../../../winix/core/users.h ../../../winix/core/groups.h
threadinfo.o: ../../../winix/core/group.h ../../../winix/core/loadavg.h
threadinfo.o: ../../../winix/core/image.h ../../../winix/core/threadmanager.h
threadinfo.o: ../../../winix/core/timezones.h ../../../winix/core/timezone.h
threadinfo.o: thread.h tdb.h ../../../winix/db/dbbase.h
threadinfo.o: ../../../winix/core/plugin.h pluginmsg.h
threadinfo.o: ../../../winix/core/system.h
threadinfo.o: ../../../winix/core/sessionmanager.h
threadinfo.o: ../../../winix/core/sessioncontainer.h
threadinfo.o: ../../../winix/core/ipbancontainer.h
threadinfo.o: ../../../winix/functions/functions.h
threadinfo.o: ../../../winix/functions/functionbase.h
threadinfo.o: ../../../winix/functions/functionparser.h
threadinfo.o: ../../../winix/core/cur.h ../../../winix/functions/account.h
threadinfo.o: ../../../winix/functions/adduser.h
threadinfo.o: ../../../winix/functions/cat.h ../../../winix/functions/chmod.h
threadinfo.o: ../../../winix/functions/privchanger.h
threadinfo.o: ../../../winix/core/request.h ../../../winix/functions/chown.h
threadinfo.o: ../../../winix/functions/ckeditor.h
threadinfo.o: ../../../winix/functions/cp.h
threadinfo.o: ../../../winix/functions/default.h
threadinfo.o: ../../../winix/functions/download.h
threadinfo.o: ../../../winix/functions/emacs.h ../../../winix/functions/env.h
threadinfo.o: ../../../winix/functions/imgcrop.h
threadinfo.o: ../../../winix/functions/last.h
threadinfo.o: ../../../winix/functions/login.h
threadinfo.o: ../../../winix/functions/logout.h ../../../winix/functions/ln.h
threadinfo.o: ../../../winix/functions/ls.h ../../../winix/functions/man.h
threadinfo.o: ../../../winix/functions/meta.h
threadinfo.o: ../../../winix/functions/mkdir.h ../../../winix/functions/mv.h
threadinfo.o: ../../../winix/functions/nicedit.h
threadinfo.o: ../../../winix/functions/node.h
threadinfo.o: ../../../winix/functions/passwd.h
threadinfo.o: ../../../winix/functions/priv.h ../../../winix/functions/pw.h
threadinfo.o: ../../../winix/functions/reload.h ../../../winix/functions/rm.h
threadinfo.o: ../../../winix/functions/rmuser.h
threadinfo.o: ../../../winix/functions/sort.h
threadinfo.o: ../../../winix/functions/specialdefault.h
threadinfo.o: ../../../winix/functions/stat.h
threadinfo.o: ../../../winix/functions/subject.h
threadinfo.o: ../../../winix/functions/template.h
threadinfo.o: ../../../winix/functions/tinymce.h
threadinfo.o: ../../../winix/functions/uname.h
threadinfo.o: ../../../winix/functions/upload.h
threadinfo.o: ../../../winix/functions/uptime.h
threadinfo.o: ../../../winix/functions/who.h ../../../winix/functions/vim.h
threadinfo.o: ../../../winix/core/htmlfilter.h
threadinfo.o: ../../../winix/templates/templates.h
threadinfo.o: ../../../winix/templates/patterncacher.h
threadinfo.o: ../../../winix/templates/indexpatterns.h
threadinfo.o: ../../../winix/templates/patterns.h
threadinfo.o: ../../../winix/templates/changepatterns.h
threadinfo.o: ../../../winix/templates/htmltextstream.h
threadinfo.o: ../../../winix/core/sessionmanager.h

View File

@@ -6,22 +6,23 @@ name = ticket.so
all: $(name)
$(name): $(o)
$(CXX) -shared -Wl,-soname,$(name).so -o $(name) $(CXXFLAGS) $(LDFLAGS) *.o
$(CXX) -shared -Wl,-soname,$(name) -o $(name) $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $(LDFLAGS) *.o
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $<
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. -I../.. -I../../../ezc/src -I../../../pikotools -I../../../tito/src -f- *.cpp > Makefile.dep
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
rm -f *.so
rm -f $(name)
include Makefile.dep

File diff suppressed because it is too large Load Diff

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2012, Tomasz Sowa
* Copyright (c) 2008-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -70,6 +70,9 @@ void CreateTicket::AddTicket(Ticket & ticket, Item & item)
notify_msg.item_link += item.url;
system->notify.ItemChanged(notify_msg);
// sending a message
plugin.Call(WINIX_PL_TICKET_ADDED_NEW, &ticket, &item);
}
}
@@ -157,12 +160,14 @@ void CreateTicket::MakePost()
ticket_info->ticket = &ticket;
ticket_info->item = &item;
ticket_info->ReadTicketParams(ticket, false, meta);
bool file_was_deleted;
ticket_info->ReadTicketParams(ticket, false, meta, file_was_deleted);
functions->ReadItem(item, Item::file);
ticket_info->CopyTicketSpace(meta, item);
if( !cur->request->IsPostVar(L"fileuploadsubmit") )
if( !cur->request->IsPostVar(L"fileuploadsubmit") && !file_was_deleted )
{
Submit(ticket, item);
ticket_info->ticket = ticket_info->GetEmptyTicket(); // ticket was deleted by Submit() method -- RemoveTmpTicket() was used

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2012, Tomasz Sowa
* Copyright (c) 2008-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -10,6 +10,8 @@
#include "editticket.h"
#include "functions/functions.h"
#include "sessiondata.h"
#include "core/plugin.h"
#include "pluginmsg.h"
@@ -75,6 +77,9 @@ void EditTicket::ChangeTicket(Ticket & ticket, Item & item)
notify_msg.item_link += item.url;
system->notify.ItemChanged(notify_msg);
// sending a message
plugin.Call(WINIX_PL_TICKET_CHANGED, &ticket, &item);
}
}
@@ -164,32 +169,7 @@ return new_space;
}
void EditTicket::MakePost()
{
ticket_info->Clear();
ticket_info->FindCurrentConf();
Ticket & ticket = PrepareTicket();
PT::Space & meta = PrepareSpace();
Item & item = cur->request->item;
old_url = item.url;
ticket_info->ticket = &ticket;
ticket_info->item = &item;
ticket_info->ReadTicketParams(ticket, false, meta);
functions->ReadItem(item, Item::file);
ticket_info->CopyTicketSpace(meta, item);
if( !cur->request->IsPostVar(L"fileuploadsubmit") )
{
Submit(ticket, item);
ticket_info->ticket = ticket_info->GetEmptyTicket(); // ticket was deleted by Submit() method -- RemoveTmpTicket() was used
}
}
void EditTicket::CloseTicket()
bool EditTicket::CloseTicket()
{
PT::Space & ticket_space = cur->request->item.ameta.FindAddSpace(L"ticket");
ticket_space.Add(L"closed", true);
@@ -198,30 +178,68 @@ void EditTicket::CloseTicket()
thread_space.Add(L"closed", true);
if( db->EditAdminMetaById(cur->request->item.ameta, cur->request->item.id) == WINIX_ERR_OK )
{
log << log3 << "EditTicket: closing ticket" << logend;
return true;
}
return false;
}
void EditTicket::MakePost()
{
ticket_info->Clear();
ticket_info->FindCurrentConf();
Ticket & ticket = PrepareTicket();
PT::Space & meta = PrepareSpace();
Item & item = cur->request->item;
old_url = item.url;
ticket_info->ticket = &ticket;
ticket_info->item = &item;
if( cur->request->IsParam(L"close") )
{
if( CloseTicket() )
plugin.Call(WINIX_PL_TICKET_CLOSED, ticket_info->item, ticket_info->ticket);
ticket_info->MakeRedirectIfPossible(*cur->request->last_item);
}
else
{
bool file_was_deleted;
ticket_info->ReadTicketParams(ticket, false, meta, file_was_deleted);
functions->ReadItem(item, Item::file);
ticket_info->CopyTicketSpace(meta, item);
if( !cur->request->IsPostVar(L"fileuploadsubmit") && !file_was_deleted )
{
Submit(ticket, item);
ticket_info->ticket = ticket_info->GetEmptyTicket(); // ticket was deleted by Submit() method -- RemoveTmpTicket() was used
}
}
}
void EditTicket::MakeGet()
{
if( cur->request->IsParam(L"close") )
{
CloseTicket();
system->RedirectToLastItem();
}
else
{
ticket_info->Clear();
ticket_info->FindCurrentConf();
ticket_info->Clear();
ticket_info->FindCurrentConf();
Ticket & ticket = PrepareTicket();
PT::Space & meta = PrepareSpace();
ticket_info->ticket = &ticket;
ticket_info->item = &cur->request->item;
Ticket & ticket = PrepareTicket();
PT::Space & meta = PrepareSpace();
ticket_info->ticket = &ticket;
ticket_info->item = &cur->request->item;
// copy meta info to display correctly new files
ticket_info->CopyTicketSpace(meta, cur->request->item);
}
// copy meta info to display correctly new files
ticket_info->CopyTicketSpace(meta, cur->request->item);
}

View File

@@ -46,7 +46,7 @@ private:
PT::Space & PrepareSpace();
void ChangeTicket(Ticket & ticket, Item & item);
void Submit(Ticket & ticket, Item & item);
void CloseTicket();
bool CloseTicket();
};

View File

@@ -148,6 +148,7 @@ void ShowTicketsFromDir(PluginInfo & info)
// defined in templates.cpp
void AddEzcFunctions(PluginInfo & info);
@@ -173,6 +174,7 @@ using namespace Ticket;
plugin.Assign(WINIX_END_REQUEST, EndRequest);
plugin.Assign(WINIX_PL_TICKET_LOAD_TICKETS, ShowTicketsFromDir);
tdb.SetConn(info.db->GetConn());
tdb.LogQueries(info.config->log_db_query);

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2011-2012, Tomasz Sowa
* Copyright (c) 2011-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -13,6 +13,9 @@
// values from 4100 - 4199 reserved for 'ticket' plugin
// showtickets winix function is about to sort pointers to tickets
// in p1 you have pointer to std::vector<Item*> struct
// you can sort it in your own (in such a case you have to return true)
#define WINIX_PL_TICKET_SORT_POINTERS 4100
@@ -20,6 +23,8 @@
#define WINIX_PL_TICKET_CAN_MAKE_REDIRECT 4101
// calling ShowTicketsFromDir(long dir_id) method from ShowTickets object
// when tickets are read and sorted then WINIX_PL_TICKET_TICKETS_LOADED is called
// in l1 you shoud give the directory_id
// from the tickets have to be read
// and you can use only ezc functions to display the tickets
@@ -38,6 +43,32 @@
#define WINIX_PL_TICKET_TICKETS_TAB_IS_NEXT 4104
// a ticket has been closed (closed button pressed)
// in p1 you have a pointer to the Item struct
// in p2 you have a pointer to the Ticket struct
#define WINIX_PL_TICKET_CLOSED 4105
// send by showtickets winix function when tickets are loaded (and sorted)
// in p1 you have a pointer to the ticket tab: std::vector<Ticket::Ticket> (include "ticket.h")
// in p2 you have a pointer to the sort tab: std::vector<Item*>
// those tables don't have to be equal in size (in the case when there is no some tickets in the database)
#define WINIX_PL_TICKET_TICKETS_LOADED 4106
// a new ticket has been added
// in p1 you have a pointer to the Ticket::Ticket structure (include "ticket.h")
// in p2 you have a pointer to the Item structure
#define WINIX_PL_TICKET_ADDED_NEW 4107
// a ticket has been changed
// in p1 you have a pointer to the Ticket::Ticket structure (include "ticket.h")
// in p2 you have a pointer to the Item structure
#define WINIX_PL_TICKET_CHANGED 4108
#endif

View File

@@ -86,7 +86,7 @@ void SessionData::RemoveAllStaleFiles(PT::Space & new_space, PT::Space & old_spa
{
if( new_file_tab[n] < old_file_tab[o] )
{
fun_rm->RemoveItemById(new_file_tab[n], false);
fun_rm->RemoveFileOrSymlink(new_file_tab[n], false);
n += 1;
}
else
@@ -103,7 +103,7 @@ void SessionData::RemoveAllStaleFiles(PT::Space & new_space, PT::Space & old_spa
while( n < new_file_tab.size() )
{
fun_rm->RemoveItemById(new_file_tab[n], false);
fun_rm->RemoveFileOrSymlink(new_file_tab[n], false);
n += 1;
}
}

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010-2012, Tomasz Sowa
* Copyright (c) 2010-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -55,7 +55,11 @@ bool ShowTickets::Sort::operator()(const Item * item1, const Item * item2)
}
else
{
// sorting by date
// sorting by sort_index and if equal then by date
if( item1->sort_index != item2->sort_index )
return item1->sort_index < item2->sort_index;
return item1->date_creation > item2->date_creation;
}
}
@@ -77,6 +81,7 @@ void ShowTickets::ReadFiles(long dir_id)
iq.sel_privileges = true;
iq.sel_date = true;
iq.sel_meta = true;
iq.sel_sort_index = true;
iq.WhereParentId(dir_id);
iq.WhereType(Item::file);
iq.WhereFileType(WINIX_ITEM_FILETYPE_NONE);
@@ -138,6 +143,8 @@ void ShowTickets::ShowTicketsFromDir(long dir_id)
SortPointers();
ReadTickets();
plugin.Call(WINIX_PL_TICKET_TICKETS_LOADED, &ticket_info->ticket_tab, &ticket_info->item_sort_tab);
// !! IMPROVE ME may a better name instead of WINIX_PL_THREAD_SET_SORTTAB?
plugin.Call(WINIX_PL_THREAD_SET_SORTTAB, &ticket_info->item_sort_tab);
plugin.Call(WINIX_PL_THREAD_READ_THREADS);

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2012, Tomasz Sowa
* Copyright (c) 2008-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -37,15 +37,22 @@ extern EditTicket fun_edit_ticket;
struct TicketValue
{
bool is_param; // true if there is a paremeter (in config Space)
PT::Space * config_par; // current space param (from current config) if is_param is true
// when is_param is true then this pointer is never null
long param_id; // param id (the same as config_par->Long(L"id"))
bool is_value; // true if value for such a param was defined
bool is_in_ticket_par; // true if the value is defined in ticket.par_tab
// else the value is defined in meta
Ticket::TicketParam * ticket_par; // if is_in_ticket_par is true:
PT::Space * value_meta; // if is_in_ticket_par is false:
long param_id; // param id (the same as config_par->Long(L"id"))
bool is_value; // true if value for such a param was defined
// (either in ticket_par or in meta)
// *you have to check this variable first before using ticket_par or value_meta*
bool is_in_ticket_par; // true if the value is defined in ticket.par_tab
// else the value can be defined in meta (or not at all)
Ticket::TicketParam * ticket_par; // if is_in_ticket_par is true
PT::Space * value_meta; // if is_in_ticket_par is false and if there is such a value in meta
TicketValue()
{
@@ -59,6 +66,7 @@ PT::Space * value_meta; // if is_in_ticket_par is false:
param_id = 0;
is_value = false;
is_in_ticket_par = false;
ticket_par = 0;
value_meta = 0;
}
};
@@ -276,13 +284,95 @@ void ticket_meta_value(Info & i)
void ticket_is_closed(Info & i)
{
PT::Space * ticket_space = cur->request->item.ameta.FindSpace(L"ticket");
PT::Space * ticket_space = ticket_info.item->ameta.FindSpace(L"ticket");
if( ticket_space )
i.res = ticket_space->Bool(L"closed", false);
}
TicketValue value_for_param_id;
void ticket_param_value_for_param_id(Info & i)
{
value_for_param_id.Clear();
size_t conf_index = 0;
PT::Space & space = *ticket_info.cur_conf;
int id = Toi(i.par);
for( ; conf_index < space.spaces.size() ; ++conf_index)
{
if( space.spaces[conf_index]->name == L"param" &&
space.spaces[conf_index]->Int(L"id") == id )
{
value_for_param_id.Clear();
value_for_param_id.is_param = true;
value_for_param_id.config_par = space.spaces[conf_index];
value_for_param_id.param_id = value_for_param_id.config_par->Long(L"id");
if( ticket_info.ticket && ticket_info.item )
{
find_ticket_value(value_for_param_id, ticket_info.ticket->par_tab, ticket_info.item->meta);
ticket_print_value(i, value_for_param_id);
}
break;
}
}
}
// it takes two integer parameters (param id and value)
void ticket_does_param_id_have_value(Info & i)
{
value_for_param_id.Clear();
size_t conf_index = 0;
PT::Space & space = *ticket_info.cur_conf;
if( i.params.size() == 2 )
{
long id = Tol(i.params[0]);
long id2 = Tol(i.params[1]);
for( ; conf_index < space.spaces.size() ; ++conf_index)
{
if( space.spaces[conf_index]->name == L"param" &&
space.spaces[conf_index]->Int(L"id") == id )
{
value_for_param_id.Clear();
value_for_param_id.is_param = true;
value_for_param_id.config_par = space.spaces[conf_index];
value_for_param_id.param_id = value_for_param_id.config_par->Long(L"id");
if( ticket_info.ticket && ticket_info.item )
{
find_ticket_value(value_for_param_id, ticket_info.ticket->par_tab, ticket_info.item->meta);
if( value_for_param_id.is_value )
{
if( value_for_param_id.is_in_ticket_par )
{
i.res = value_for_param_id.ticket_par->intv == id2;
}
else
{
log << log1 << "Ticket: ticket_does_param_id_have_value cannot be used with meta values"
<< logend;
}
}
}
break;
}
}
}
}
namespace ns_tickets_tab
{
@@ -295,7 +385,7 @@ struct TicketsTabValue
Ticket * ticket; // pointer to the ticket (if is_ticket is true)
/*
there can be two situations:
there can be three situations:
- is_item is false and is_ticket is false
- is_item is true and is_ticket is false
- is_item is true and is_ticket is true
@@ -403,18 +493,17 @@ void tickets_tab(Info & i)
// !! IMPROVEME if there is no a ticket (find_ticket returns false)
// may we add en ampty ticket and tickets_value.ticket will be pointing to it?
// !! IMPROVE ME change the name of the message
// !! IMPROVEME change the name of the message
plugin.Call(WINIX_PL_TICKET_TICKETS_TAB_IS_NEXT, tickets_value.item);
if( find_ticket(file_id, ticket_info.ticket_tab, ticket_index) )
{
tickets_value.is_ticket = true;
tickets_value.ticket = &ticket_info.ticket_tab[ticket_index];
}
else
{
log << log1 << "Ticket: I cannot find a ticket for file_id: " << file_id << logend;
}
plugin.Call(WINIX_PL_THREAD_SET_SORTTAB_INDEX, item_sort_index);
@@ -446,6 +535,7 @@ void tickets_tab_url(Info & i)
}
// !! IMPROVEME change name to tickets_tab_subject_is_empty
void tickets_tab_subject_empty(Info & i)
{
tickets_tab_check_reqid();
@@ -495,6 +585,83 @@ void tickets_tab_date_creation_nice(Info & i)
}
static TicketValue value_for_param_id;
// takes param id (integer) as a first parameter
void tickets_tab_param_value_for_param_id(Info & i)
{
tickets_tab_check_reqid();
if( tickets_value.is_ticket )
{
size_t param_index = 0;
PT::Space & space = *ticket_info.cur_conf;
int id = Toi(i.par);
for( ; param_index < space.spaces.size() ; ++param_index)
{
if( space.spaces[param_index]->name == L"param" &&
space.spaces[param_index]->Int(L"id") == id )
{
value_for_param_id.Clear();
value_for_param_id.is_param = true;
value_for_param_id.config_par = space.spaces[param_index];
value_for_param_id.param_id = value_for_param_id.config_par->Long(L"id");
find_ticket_value(value_for_param_id, tickets_value.ticket->par_tab, tickets_value.item->meta);
ticket_print_value(i, value_for_param_id);
break;
}
}
}
}
// it takes two integer parameters (param id and value)
void tickets_tab_does_param_id_have_value(Info & i)
{
tickets_tab_check_reqid();
if( tickets_value.is_ticket && i.params.size() == 2 )
{
size_t param_index = 0;
PT::Space & space = *ticket_info.cur_conf;
long id = Toi(i.params[0]);
long id2 = Toi(i.params[1]);
for( ; param_index < space.spaces.size() ; ++param_index)
{
if( space.spaces[param_index]->name == L"param" &&
space.spaces[param_index]->Int(L"id") == id )
{
value_for_param_id.Clear();
value_for_param_id.is_param = true;
value_for_param_id.config_par = space.spaces[param_index];
value_for_param_id.param_id = value_for_param_id.config_par->Long(L"id");
find_ticket_value(value_for_param_id, tickets_value.ticket->par_tab, tickets_value.item->meta);
if( value_for_param_id.is_value )
{
if( value_for_param_id.is_in_ticket_par )
{
i.res = value_for_param_id.ticket_par->intv == id2;
}
else
{
log << log1 << "Ticket: tickets_tab_does_param_id_have_value cannot be used with meta values"
<< logend;
}
}
break;
}
}
}
}
void tickets_tab_conf_tab(Info & i)
@@ -531,6 +698,37 @@ void tickets_tab_conf_tab_has_value(Info & i)
}
void tickets_tab_conf_tab_param_id(Info & i)
{
tickets_tab_check_reqid();
if( value.is_param )
i.out << value.param_id;
}
// takes one parameter
void tickets_tab_conf_tab_param_id_is(Info & i)
{
tickets_tab_check_reqid();
if( value.is_param )
i.res = (value.param_id == Tol(i.par));
}
void tickets_tab_conf_tab_param_name(Info & i)
{
tickets_tab_check_reqid();
if( value.is_param )
{
std::wstring & name = value.config_par->Text(L"name");
i.out << name;
}
}
void tickets_tab_conf_tab_value(Info & i)
{
tickets_tab_check_reqid();
@@ -561,6 +759,95 @@ void tickets_tab_conf_tab_progress_image_number(Info & i)
}
static size_t tickets_file_index;
static size_t tickets_file_number;
void tickets_tab_conf_tab_file_tab(Info & i)
{
tickets_tab_check_reqid();
if( value.is_value && !value.is_in_ticket_par )
{
tickets_file_index = i.iter;
if( i.iter == 0 )
tickets_file_number = 0;
PT::Space & mt = *value.value_meta;
while( tickets_file_index < mt.spaces.size() && mt.spaces[tickets_file_index]->name != L"file" )
tickets_file_index += 1;
i.res = (tickets_file_index < mt.spaces.size());
if( i.res && i.iter > 0 )
tickets_file_number += 1;
}
}
void tickets_tab_conf_tab_file_tab_index(Info & i)
{
tickets_tab_check_reqid();
if( value.is_value && !value.is_in_ticket_par )
{
PT::Space & mt = *value.value_meta;
if( tickets_file_index < mt.spaces.size() )
i.out << tickets_file_number;
}
}
void tickets_tab_conf_tab_file_tab_path(Info & i)
{
tickets_tab_check_reqid();
if( value.is_value && !value.is_in_ticket_par )
{
PT::Space & mt = *value.value_meta;
if( tickets_file_index < mt.spaces.size() )
i.out << mt.spaces[tickets_file_index]->Text(L"path");
}
}
void tickets_tab_conf_tab_file_tab_itemid(Info & i)
{
tickets_tab_check_reqid();
if( value.is_value && !value.is_in_ticket_par )
{
PT::Space & mt = *value.value_meta;
if( tickets_file_index < mt.spaces.size() )
i.out << mt.spaces[tickets_file_index]->Text(L"itemid");
}
}
void tickets_tab_conf_tab_file_tab_meta(Info & i)
{
tickets_tab_check_reqid();
if( value.is_value && !value.is_in_ticket_par )
{
PT::Space & mt = *value.value_meta;
if( tickets_file_index < mt.spaces.size() )
space(i, *mt.spaces[tickets_file_index]);
}
}
} // namespace ns_tickets_tab
@@ -623,6 +910,16 @@ void ticket_tab_param_id(Info & i)
}
// takes one parameter
void ticket_tab_param_id_is(Info & i)
{
ticket_tab_check_reqid();
if( value.is_param )
i.res = (value.param_id == Tol(i.par));
}
void ticket_tab_param_name(Info & i)
{
ticket_tab_check_reqid();
@@ -863,50 +1160,64 @@ using namespace ns_ticket_tab;
using TemplatesFunctions::EzcFun;
EzcFun * fun = reinterpret_cast<EzcFun*>(info.p1);
fun->Insert("ticket_can_create", ticket_can_create);
fun->Insert("ticket_can_edit", ticket_can_edit);
fun->Insert("ticket_is_creating_new", ticket_is_creating_new);
fun->Insert("ticket_meta_value", ticket_meta_value);
fun->Insert("ticket_is_closed", ticket_is_closed);
fun->Insert("ticket_can_create", ticket_can_create);
fun->Insert("ticket_can_edit", ticket_can_edit);
fun->Insert("ticket_is_creating_new", ticket_is_creating_new);
fun->Insert("ticket_meta_value", ticket_meta_value);
fun->Insert("ticket_is_closed", ticket_is_closed);
fun->Insert("tickets_tab", tickets_tab);
fun->Insert("tickets_tab_is_closed", tickets_tab_is_closed);
fun->Insert("tickets_tab_url", tickets_tab_url);
fun->Insert("tickets_tab_subject_empty", tickets_tab_subject_empty);
fun->Insert("tickets_tab_subject", tickets_tab_subject);
fun->Insert("tickets_tab_meta_value", tickets_tab_meta_value);
fun->Insert("tickets_tab_date_creation", tickets_tab_date_creation);
fun->Insert("tickets_tab_date_creation_nice", tickets_tab_date_creation_nice);
fun->Insert("ticket_param_value_for_param_id", ticket_param_value_for_param_id);
fun->Insert("ticket_does_param_id_have_value", ticket_does_param_id_have_value);
fun->Insert("tickets_tab_conf_tab", tickets_tab_conf_tab);
fun->Insert("tickets_tab_conf_tab_has_value", tickets_tab_conf_tab_has_value);
fun->Insert("tickets_tab_conf_tab_value", tickets_tab_conf_tab_value);
fun->Insert("tickets_tab_conf_tab_type_is", tickets_tab_conf_tab_type_is);
fun->Insert("tickets_tab_conf_tab_progress_image_number", tickets_tab_conf_tab_progress_image_number);
fun->Insert("tickets_tab", tickets_tab);
fun->Insert("tickets_tab_is_closed", tickets_tab_is_closed);
fun->Insert("tickets_tab_url", tickets_tab_url);
fun->Insert("tickets_tab_subject_empty", tickets_tab_subject_empty);
fun->Insert("tickets_tab_subject", tickets_tab_subject);
fun->Insert("tickets_tab_meta_value", tickets_tab_meta_value);
fun->Insert("tickets_tab_date_creation", tickets_tab_date_creation);
fun->Insert("tickets_tab_date_creation_nice", tickets_tab_date_creation_nice);
fun->Insert("tickets_tab_param_value_for_param_id", tickets_tab_param_value_for_param_id);
fun->Insert("tickets_tab_does_param_id_have_value", tickets_tab_does_param_id_have_value);
fun->Insert("tickets_tab_conf_tab", tickets_tab_conf_tab);
fun->Insert("tickets_tab_conf_tab_has_value", tickets_tab_conf_tab_has_value);
fun->Insert("tickets_tab_conf_tab_param_id", tickets_tab_conf_tab_param_id);
fun->Insert("tickets_tab_conf_tab_param_id_is", tickets_tab_conf_tab_param_id_is);
fun->Insert("tickets_tab_conf_tab_param_name", tickets_tab_conf_tab_param_name);
fun->Insert("tickets_tab_conf_tab_value", tickets_tab_conf_tab_value);
fun->Insert("tickets_tab_conf_tab_type_is", tickets_tab_conf_tab_type_is);
fun->Insert("tickets_tab_conf_tab_progress_image_number", tickets_tab_conf_tab_progress_image_number);
fun->Insert("tickets_tab_conf_tab_file_tab", tickets_tab_conf_tab_file_tab);
fun->Insert("tickets_tab_conf_tab_file_tab_index", tickets_tab_conf_tab_file_tab_index);
fun->Insert("tickets_tab_conf_tab_file_tab_path", tickets_tab_conf_tab_file_tab_path);
fun->Insert("tickets_tab_conf_tab_file_tab_itemid", tickets_tab_conf_tab_file_tab_itemid);
fun->Insert("tickets_tab_conf_tab_file_tab_meta", tickets_tab_conf_tab_file_tab_meta);
fun->Insert("ticket_tab", ticket_tab);
fun->Insert("ticket_tab_param_id", ticket_tab_param_id);
fun->Insert("ticket_tab_param_id_is", ticket_tab_param_id_is);
fun->Insert("ticket_tab_param_name", ticket_tab_param_name);
fun->Insert("ticket_tab_has_value", ticket_tab_has_value);
fun->Insert("ticket_tab_value", ticket_tab_value);
fun->Insert("ticket_tab_value_int", ticket_tab_value_int);
fun->Insert("ticket_tab_value_dec", ticket_tab_value_dec);
fun->Insert("ticket_tab_value_meta", ticket_tab_value_meta);
fun->Insert("ticket_tab_type_is", ticket_tab_type_is);
fun->Insert("ticket_tab", ticket_tab);
fun->Insert("ticket_tab_param_id", ticket_tab_param_id);
fun->Insert("ticket_tab_param_name", ticket_tab_param_name);
fun->Insert("ticket_tab_has_value", ticket_tab_has_value);
fun->Insert("ticket_tab_value", ticket_tab_value);
fun->Insert("ticket_tab_value_int", ticket_tab_value_int);
fun->Insert("ticket_tab_value_dec", ticket_tab_value_dec);
fun->Insert("ticket_tab_value_meta", ticket_tab_value_meta);
fun->Insert("ticket_tab_type_is", ticket_tab_type_is);
fun->Insert("ticket_tab_select_tab", ticket_tab_select_tab);
fun->Insert("ticket_tab_select_tab_is_selected", ticket_tab_select_tab_is_selected);
fun->Insert("ticket_tab_select_tab_name", ticket_tab_select_tab_name);
fun->Insert("ticket_tab_select_tab_id", ticket_tab_select_tab_id);
fun->Insert("ticket_tab_select_tab_meta", ticket_tab_select_tab_meta);
fun->Insert("ticket_tab_select_tab", ticket_tab_select_tab);
fun->Insert("ticket_tab_select_tab_is_selected", ticket_tab_select_tab_is_selected);
fun->Insert("ticket_tab_select_tab_name", ticket_tab_select_tab_name);
fun->Insert("ticket_tab_select_tab_id", ticket_tab_select_tab_id);
fun->Insert("ticket_tab_select_tab_meta", ticket_tab_select_tab_meta);
fun->Insert("ticket_tab_file_tab", ticket_tab_file_tab);
fun->Insert("ticket_tab_file_tab_index", ticket_tab_file_tab_index);
fun->Insert("ticket_tab_file_tab_path", ticket_tab_file_tab_path);
fun->Insert("ticket_tab_file_tab_itemid", ticket_tab_file_tab_itemid);
fun->Insert("ticket_tab_file_tab_meta", ticket_tab_file_tab_meta);
fun->Insert("ticket_tab_file_tab", ticket_tab_file_tab);
fun->Insert("ticket_tab_file_tab_index", ticket_tab_file_tab_index);
fun->Insert("ticket_tab_file_tab_path", ticket_tab_file_tab_path);
fun->Insert("ticket_tab_file_tab_itemid", ticket_tab_file_tab_itemid);
fun->Insert("ticket_tab_file_tab_meta", ticket_tab_file_tab_meta);
}

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010-2012, Tomasz Sowa
* Copyright (c) 2010-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -17,6 +17,8 @@
#include "pluginmsg.h"
#include "sessiondata.h"
namespace Ticket
{
@@ -473,18 +475,76 @@ void TicketInfo::ReadTicketParam(long param_id, const PostFile & value, PT::Spac
void TicketInfo::ReadTicketParams(Ticket & ticket, bool clear_ticket, PT::Space & meta)
bool TicketInfo::DeleteTicketFile(Ticket & ticket, long file_id, PT::Space & meta)
{
for(size_t i=0 ; i<meta.spaces.size() ; ++i)
{
PT::Space & param = *meta.spaces[i];
if( param.name == L"param" )
{
for(size_t z=0 ; z<param.spaces.size() ; ++z)
{
PT::Space & file = *param.spaces[z];
if( file.name == L"file" )
{
if( file.Long(L"itemid") == file_id )
{
param.RemoveSpace(z);
// !! IMPROVE ME
// temporarily we delete the file here
// but it should be really deleted when the user will press
// the submit button
//functions->fun_rm.RemoveFileOrSymlink(file_id, true);
return true;
}
}
}
}
}
return false;
}
void TicketInfo::ReadTicketParams(Ticket & ticket, bool clear_ticket, PT::Space & meta, bool & file_was_deleted)
{
PostTab::iterator i;
PostFileTab::iterator i2;
file_was_deleted = false;
if( clear_ticket )
ticket.Clear();
// !! IMPROVE ME move me somewhere
std::wstring ticket_delete_prefix = L"ticketdeletefile_";
for(i=cur->request->post_tab.begin() ; i!=cur->request->post_tab.end() ; ++i)
{
// !! CHECKME why ticket_form_prefix is in the global config?
// (this is a plugin variable)
if( IsSubString(config->ticket_form_prefix, i->first) )
ReadTicketParam(ticket, Tol(i->first.c_str() + config->ticket_form_prefix.size()), i->second, meta);
{
long param_id = Tol(i->first.c_str() + config->ticket_form_prefix.size());
ReadTicketParam(ticket, param_id, i->second, meta);
}
if( IsSubString(ticket_delete_prefix, i->first) )
{
long file_id = Tol(i->first.c_str() + ticket_delete_prefix.size());
if( DeleteTicketFile(ticket, file_id, meta) )
{
file_was_deleted = true;
}
}
}
for(i2=cur->request->post_file_tab.begin() ; i2!=cur->request->post_file_tab.end() ; ++i2)
@@ -501,19 +561,16 @@ PostFileTab::iterator i2;
void TicketInfo::RemoveTicket(long file_id)
{
/*
* IMPROVEME
* we should also remove some files (images) for a ticket
* may when 'rm' function is displayed we should show some checkboxes
* 'remove static files etc.' and if they are checked then the files are removed?
*
*/
if( tdb->GetTicket(file_id, rm_ticket) == WINIX_ERR_OK )
{
// !! WTF?
/*
for(size_t i=0 ; i<rm_ticket.par_tab.size(); ++i)
{
long id = rm_ticket.par_tab[i].int_value;
functions->fun_rm.RemoveItemById(id);
}
*/
//
tdb->RemoveTicket(file_id);
}
}

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010-2012, Tomasz Sowa
* Copyright (c) 2010-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -99,7 +99,7 @@ public:
void ReadTicketConf(bool skip_existing_configs = false);
void FindCurrentConf(long dir_id);
void FindCurrentConf();
void ReadTicketParams(Ticket & ticket, bool clear_ticket, PT::Space & meta);
void ReadTicketParams(Ticket & ticket, bool clear_ticket, PT::Space & meta, bool & file_was_deleted);
void RemoveTicket(long file_id);
void CopyTicketSpace(PT::Space & ticket_space, Item & item);
@@ -156,6 +156,8 @@ private:
void ReadTicketParam(PT::Space & space, Ticket & ticket, long param_id, const std::wstring & value, PT::Space & meta);
void ReadTicketParam(Ticket & ticket, long param_id, const std::wstring & value, PT::Space & meta);
void ReadTicketParam(long param_id, const PostFile & value, PT::Space & meta);
bool DeleteTicketFile(Ticket & ticket, long file_id, PT::Space & meta);
};

View File

@@ -5,11 +5,11 @@ all: $(o)
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) $<
$(CXX) -c $(CXXFLAGS) $(CXXWINIXINCLUDEFLAGS) $<
depend:
makedepend -Y. -I.. -I../../ezc/src -I../../pikotools -I../../tito/src -f- *.cpp > Makefile.dep
makedepend -Y. $(CXXWINIXINCLUDEFLAGS) -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep

File diff suppressed because it is too large Load Diff

View File

@@ -1 +1 @@
o = adduser.o changepatterns.o config.o dir.o doc.o env.o filters.o htmltextstream.o indexpatterns.o insert.o ipban.o item.o last.o locale.o localefilter.o login.o ls.o man.o misc.o miscspace.o mount.o patterncacher.o patterns.o priv.o pw.o rebus.o slog.o stat.o sys.o template.o templates.o textextstream.o upload.o uptime.o user.o who.o winix.o
o = adduser.o changepatterns.o config.o dir.o doc.o env.o filters.o htmltextstream.o indexpatterns.o insert.o ipban.o item.o last.o locale.o localefilter.o login.o ls.o man.o misc.o miscspace.o mount.o passwd.o patterncacher.o patterns.o priv.o rebus.o slog.o stat.o sys.o template.o templates.o textextstream.o upload.o uptime.o user.o who.o winix.o

View File

@@ -2,7 +2,7 @@
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2008-2012, Tomasz Sowa
* Copyright (c) 2008-2013, Tomasz Sowa
* All rights reserved.
*
*/
@@ -803,6 +803,48 @@ void item_tab_has_next(Info & i)
i.res = item_index + 1 < cur->request->item_tab.size();
}
void item_tab_meta_str(Info & i)
{
if( item_index < cur->request->item_tab.size() )
cur->request->item_tab[item_index].meta.Serialize(i.out, true, false);
}
void item_tab_meta(Info & i)
{
if( item_index < cur->request->item_tab.size() )
space(i, cur->request->item_tab[item_index].meta);
}
void item_tab_meta_tab(Info & i)
{
if( item_index < cur->request->item_tab.size() )
spaces_tab(i, cur->request->item_tab[item_index].meta);
}
void item_tab_meta_tab_value(Info & i)
{
if( item_index < cur->request->item_tab.size() )
spaces_tab_value(i, cur->request->item_tab[item_index].meta);
}
void item_tab_meta_tab_has_next(Info & i)
{
if( item_index < cur->request->item_tab.size() )
spaces_tab_has_next(i, cur->request->item_tab[item_index].meta);
}
} // namespace TemplatesFunctions

Some files were not shown because too many files have changed in this diff Show More