added a new plugin: "gallery"
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@716 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
parent
18492e5d61
commit
5049961e17
3
Makefile
3
Makefile
|
@ -28,6 +28,7 @@ winix: FORCE
|
||||||
@cd plugins/stats ; $(MAKE) -e
|
@cd plugins/stats ; $(MAKE) -e
|
||||||
@cd plugins/thread ; $(MAKE) -e
|
@cd plugins/thread ; $(MAKE) -e
|
||||||
@cd plugins/ticket ; $(MAKE) -e
|
@cd plugins/ticket ; $(MAKE) -e
|
||||||
|
@cd plugins/gallery ; $(MAKE) -e
|
||||||
@cd ../ezc/src ; $(MAKE) -e
|
@cd ../ezc/src ; $(MAKE) -e
|
||||||
$(CXX) -shared -o winix.so $(CXXFLAGS) core/*.o db/*.o functions/*.o templates/*.o notify/*.o ../ezc/src/ezc.a -lfcgi -lpq -lz -lpthread -lfetch
|
$(CXX) -shared -o winix.so $(CXXFLAGS) core/*.o db/*.o functions/*.o templates/*.o notify/*.o ../ezc/src/ezc.a -lfcgi -lpq -lz -lpthread -lfetch
|
||||||
@cd main ; $(MAKE) -e
|
@cd main ; $(MAKE) -e
|
||||||
|
@ -45,6 +46,7 @@ clean:
|
||||||
@cd plugins/stats ; $(MAKE) -e clean
|
@cd plugins/stats ; $(MAKE) -e clean
|
||||||
@cd plugins/thread ; $(MAKE) -e clean
|
@cd plugins/thread ; $(MAKE) -e clean
|
||||||
@cd plugins/ticket ; $(MAKE) -e clean
|
@cd plugins/ticket ; $(MAKE) -e clean
|
||||||
|
@cd plugins/gallery ; $(MAKE) -e clean
|
||||||
@cd ../ezc/src ; $(MAKE) -e clean
|
@cd ../ezc/src ; $(MAKE) -e clean
|
||||||
@cd main ; $(MAKE) -e clean
|
@cd main ; $(MAKE) -e clean
|
||||||
rm -f winix.so
|
rm -f winix.so
|
||||||
|
@ -63,6 +65,7 @@ depend:
|
||||||
@cd plugins/stats ; $(MAKE) -e depend
|
@cd plugins/stats ; $(MAKE) -e depend
|
||||||
@cd plugins/thread ; $(MAKE) -e depend
|
@cd plugins/thread ; $(MAKE) -e depend
|
||||||
@cd plugins/ticket ; $(MAKE) -e depend
|
@cd plugins/ticket ; $(MAKE) -e depend
|
||||||
|
@cd plugins/gallery ; $(MAKE) -e depend
|
||||||
@cd ../ezc/src ; $(MAKE) -e depend
|
@cd ../ezc/src ; $(MAKE) -e depend
|
||||||
@cd main ; $(MAKE) -e depend
|
@cd main ; $(MAKE) -e depend
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
<h1>[dir_last_subject]</h1>
|
||||||
|
|
||||||
|
|
||||||
|
[if gallery_tab]
|
||||||
|
<ul class="images" style="width: [gallery_width]; height: [gallery_height];">
|
||||||
|
[for gallery_tab]
|
||||||
|
<li><a href="[gallery_tab_link]/download"><img src="[gallery_tab_link]/download/thumb" alt="[gallery_tab_subject]"></a></li>
|
||||||
|
[end]
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<script type="text/javascript">$('.images').galleria();</script>
|
||||||
|
[end]
|
||||||
|
|
||||||
|
|
||||||
|
[include "item_options.html"]
|
||||||
|
|
|
@ -38,3 +38,12 @@
|
||||||
<script src="[doc_base_url_common]/lightbox/js/lightbox.js" type="text/javascript"></script>
|
<script src="[doc_base_url_common]/lightbox/js/lightbox.js" type="text/javascript"></script>
|
||||||
[end]
|
[end]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[if winix_function_is "gallery"]
|
||||||
|
|
||||||
|
<script type="text/javascript" src="[doc_base_url_common]/jquery-1.4.2.min.js"></script>
|
||||||
|
<script src="[doc_base_url_common]/aino-galleria/src/galleria.js" type="text/javascript"></script>
|
||||||
|
<script type="text/javascript">Galleria.loadTheme('[doc_base_url_common]/aino-galleria/src/themes/classic/galleria.classic.js');</script>
|
||||||
|
|
||||||
|
[end]
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
include Makefile.o.dep
|
||||||
|
|
||||||
|
name = gallery.so
|
||||||
|
|
||||||
|
|
||||||
|
all: $(o)
|
||||||
|
$(CXX) -shared -Wl,-soname,$(name).so -o $(name) $(CXXFLAGS) *.o
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.SUFFIXES: .cpp .o
|
||||||
|
|
||||||
|
.cpp.o:
|
||||||
|
$(CXX) -c $(CXXFLAGS) $<
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
depend:
|
||||||
|
makedepend -Y. -I../.. -I../../../ezc/src -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 $(name)
|
||||||
|
|
||||||
|
include Makefile.dep
|
|
@ -0,0 +1,135 @@
|
||||||
|
# DO NOT DELETE
|
||||||
|
|
||||||
|
gallery.o: gallery.h ../../functions/functionbase.h ../../core/item.h
|
||||||
|
gallery.o: ../../db/db.h ../../db/dbbase.h ../../db/dbconn.h
|
||||||
|
gallery.o: ../../db/dbtextstream.h ../../core/textstream.h ../../core/misc.h
|
||||||
|
gallery.o: ../../core/item.h ../../core/error.h ../../core/log.h
|
||||||
|
gallery.o: ../../core/textstream.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/request.h ../../core/requesttypes.h ../../core/error.h
|
||||||
|
gallery.o: ../../core/config.h ../../core/confparser.h
|
||||||
|
gallery.o: ../../core/htmlfilter.h ../../templates/htmltextstream.h
|
||||||
|
gallery.o: ../../core/config.h ../../core/system.h ../../core/dirs.h
|
||||||
|
gallery.o: ../../core/dircontainer.h ../../core/request.h
|
||||||
|
gallery.o: ../../notify/notify.h ../../notify/notifypool.h
|
||||||
|
gallery.o: ../../templates/locale.h ../../core/confparser.h
|
||||||
|
gallery.o: ../../templates/misc.h ../../templates/localefilter.h
|
||||||
|
gallery.o: ../../templates/locale.h ../../../ezc/src/ezc.h
|
||||||
|
gallery.o: ../../../ezc/src/utf8.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: ../../templates/htmltextstream.h ../../notify/notifythread.h
|
||||||
|
gallery.o: ../../core/basethread.h ../../core/synchro.h
|
||||||
|
gallery.o: ../../notify/templatesnotify.h ../../core/users.h
|
||||||
|
gallery.o: ../../core/user.h ../../core/ugcontainer.h
|
||||||
|
gallery.o: ../../core/lastcontainer.h ../../core/cur.h ../../core/session.h
|
||||||
|
gallery.o: ../../core/plugindata.h ../../core/rebus.h ../../core/mounts.h
|
||||||
|
gallery.o: ../../core/mount.h ../../core/mountparser.h ../../core/users.h
|
||||||
|
gallery.o: ../../core/groups.h ../../core/group.h ../../core/loadavg.h
|
||||||
|
gallery.o: ../../core/thumb.h ../../core/basethread.h ../../core/synchro.h
|
||||||
|
gallery.o: galleryinfo.h
|
||||||
|
galleryinfo.o: galleryinfo.h ../../core/item.h
|
||||||
|
init.o: gallery.h ../../functions/functionbase.h ../../core/item.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/error.h ../../core/log.h
|
||||||
|
init.o: ../../core/textstream.h ../../db/dbitemquery.h
|
||||||
|
init.o: ../../db/dbitemcolumns.h ../../core/user.h ../../core/group.h
|
||||||
|
init.o: ../../core/dircontainer.h ../../core/ugcontainer.h
|
||||||
|
init.o: ../../core/request.h ../../core/requesttypes.h ../../core/error.h
|
||||||
|
init.o: ../../core/config.h ../../core/confparser.h ../../core/htmlfilter.h
|
||||||
|
init.o: ../../templates/htmltextstream.h ../../core/config.h
|
||||||
|
init.o: ../../core/system.h ../../core/dirs.h ../../core/dircontainer.h
|
||||||
|
init.o: ../../core/request.h ../../notify/notify.h ../../notify/notifypool.h
|
||||||
|
init.o: ../../templates/locale.h ../../core/confparser.h
|
||||||
|
init.o: ../../templates/misc.h ../../templates/localefilter.h
|
||||||
|
init.o: ../../templates/locale.h ../../../ezc/src/ezc.h
|
||||||
|
init.o: ../../../ezc/src/utf8.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: ../../templates/htmltextstream.h ../../notify/notifythread.h
|
||||||
|
init.o: ../../core/basethread.h ../../core/synchro.h
|
||||||
|
init.o: ../../notify/templatesnotify.h ../../core/users.h ../../core/user.h
|
||||||
|
init.o: ../../core/ugcontainer.h ../../core/lastcontainer.h ../../core/cur.h
|
||||||
|
init.o: ../../core/session.h ../../core/plugindata.h ../../core/rebus.h
|
||||||
|
init.o: ../../core/mounts.h ../../core/mount.h ../../core/mountparser.h
|
||||||
|
init.o: ../../core/users.h ../../core/groups.h ../../core/group.h
|
||||||
|
init.o: ../../core/loadavg.h ../../core/thumb.h ../../core/basethread.h
|
||||||
|
init.o: ../../core/synchro.h galleryinfo.h ../../core/log.h
|
||||||
|
init.o: ../../core/plugin.h ../../core/pluginmsg.h ../../core/system.h
|
||||||
|
init.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
|
||||||
|
init.o: ../../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/last.h ../../functions/login.h
|
||||||
|
init.o: ../../functions/logout.h ../../functions/ln.h ../../functions/ls.h
|
||||||
|
init.o: ../../functions/mkdir.h ../../functions/mv.h ../../functions/node.h
|
||||||
|
init.o: ../../functions/priv.h ../../functions/reload.h ../../functions/rm.h
|
||||||
|
init.o: ../../functions/run.h ../../functions/specialdefault.h
|
||||||
|
init.o: ../../functions/stat.h ../../functions/subject.h
|
||||||
|
init.o: ../../functions/template.h ../../functions/tinymce.h
|
||||||
|
init.o: ../../functions/uname.h ../../functions/upload.h
|
||||||
|
init.o: ../../functions/uptime.h ../../functions/who.h ../../functions/vim.h
|
||||||
|
init.o: ../../core/htmlfilter.h ../../templates/templates.h
|
||||||
|
init.o: ../../templates/patterncacher.h ../../templates/ckeditorgetparser.h
|
||||||
|
init.o: ../../core/httpsimpleparser.h ../../core/log.h
|
||||||
|
init.o: ../../templates/indexpatterns.h ../../core/sessionmanager.h
|
||||||
|
templates.o: gallery.h ../../functions/functionbase.h ../../core/item.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/item.h ../../core/error.h
|
||||||
|
templates.o: ../../core/log.h ../../core/textstream.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/request.h ../../core/requesttypes.h
|
||||||
|
templates.o: ../../core/error.h ../../core/config.h ../../core/confparser.h
|
||||||
|
templates.o: ../../core/htmlfilter.h ../../templates/htmltextstream.h
|
||||||
|
templates.o: ../../core/config.h ../../core/system.h ../../core/dirs.h
|
||||||
|
templates.o: ../../core/dircontainer.h ../../core/request.h
|
||||||
|
templates.o: ../../notify/notify.h ../../notify/notifypool.h
|
||||||
|
templates.o: ../../templates/locale.h ../../core/confparser.h
|
||||||
|
templates.o: ../../templates/misc.h ../../templates/localefilter.h
|
||||||
|
templates.o: ../../templates/locale.h ../../../ezc/src/ezc.h
|
||||||
|
templates.o: ../../../ezc/src/utf8.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: ../../templates/htmltextstream.h ../../notify/notifythread.h
|
||||||
|
templates.o: ../../core/basethread.h ../../core/synchro.h
|
||||||
|
templates.o: ../../notify/templatesnotify.h ../../core/users.h
|
||||||
|
templates.o: ../../core/user.h ../../core/ugcontainer.h
|
||||||
|
templates.o: ../../core/lastcontainer.h ../../core/cur.h ../../core/session.h
|
||||||
|
templates.o: ../../core/plugindata.h ../../core/rebus.h ../../core/mounts.h
|
||||||
|
templates.o: ../../core/mount.h ../../core/mountparser.h ../../core/users.h
|
||||||
|
templates.o: ../../core/groups.h ../../core/group.h ../../core/loadavg.h
|
||||||
|
templates.o: ../../core/thumb.h ../../core/basethread.h ../../core/synchro.h
|
||||||
|
templates.o: galleryinfo.h ../../core/misc.h ../../core/plugin.h
|
||||||
|
templates.o: ../../core/pluginmsg.h ../../core/system.h
|
||||||
|
templates.o: ../../core/sessionmanager.h ../../core/sessioncontainer.h
|
||||||
|
templates.o: ../../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/last.h ../../functions/login.h
|
||||||
|
templates.o: ../../functions/logout.h ../../functions/ln.h
|
||||||
|
templates.o: ../../functions/ls.h ../../functions/mkdir.h
|
||||||
|
templates.o: ../../functions/mv.h ../../functions/node.h
|
||||||
|
templates.o: ../../functions/priv.h ../../functions/reload.h
|
||||||
|
templates.o: ../../functions/rm.h ../../functions/run.h
|
||||||
|
templates.o: ../../functions/specialdefault.h ../../functions/stat.h
|
||||||
|
templates.o: ../../functions/subject.h ../../functions/template.h
|
||||||
|
templates.o: ../../functions/tinymce.h ../../functions/uname.h
|
||||||
|
templates.o: ../../functions/upload.h ../../functions/uptime.h
|
||||||
|
templates.o: ../../functions/who.h ../../functions/vim.h
|
||||||
|
templates.o: ../../core/htmlfilter.h ../../templates/templates.h
|
||||||
|
templates.o: ../../templates/patterncacher.h
|
||||||
|
templates.o: ../../templates/ckeditorgetparser.h
|
||||||
|
templates.o: ../../core/httpsimpleparser.h ../../core/log.h
|
||||||
|
templates.o: ../../templates/indexpatterns.h ../../core/sessionmanager.h
|
|
@ -0,0 +1 @@
|
||||||
|
o = gallery.o galleryinfo.o init.o templates.o
|
|
@ -0,0 +1,90 @@
|
||||||
|
/*
|
||||||
|
* This file is a part of Winix
|
||||||
|
* and is not publicly distributed
|
||||||
|
*
|
||||||
|
* Copyright (c) 2011, Tomasz Sowa
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "gallery.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gallery
|
||||||
|
{
|
||||||
|
|
||||||
|
Gallery::Gallery()
|
||||||
|
{
|
||||||
|
fun.url = L"gallery";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Gallery::SetGalleryInfo(GalleryInfo * pinfo)
|
||||||
|
{
|
||||||
|
gallery_info = pinfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
bool Gallery::HasAccess()
|
||||||
|
{
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void Gallery::CreatePointers()
|
||||||
|
{
|
||||||
|
gallery_info->item_sort_tab.resize(gallery_info->item_tab.size());
|
||||||
|
|
||||||
|
for(size_t i=0 ; i<gallery_info->item_tab.size() ; ++i)
|
||||||
|
gallery_info->item_sort_tab[i] = &gallery_info->item_tab[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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.WhereParentId(cur->request->dir_tab.back()->id);
|
||||||
|
iq.WhereFileType(WINIX_ITEM_FILETYPE_IMAGE);
|
||||||
|
|
||||||
|
db->GetItems(gallery_info->item_tab, iq);
|
||||||
|
CreatePointers();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void Gallery::MakeGetFile()
|
||||||
|
{
|
||||||
|
gallery_info->item_sort_tab.resize(1);
|
||||||
|
gallery_info->item_sort_tab[0] = &cur->request->item;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void Gallery::MakeGet()
|
||||||
|
{
|
||||||
|
if( cur->request->is_item )
|
||||||
|
MakeGetFile();
|
||||||
|
else
|
||||||
|
MakeGetDir();
|
||||||
|
|
||||||
|
SortPointers();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace
|
|
@ -0,0 +1,46 @@
|
||||||
|
/*
|
||||||
|
* This file is a part of Winix
|
||||||
|
* and is not publicly distributed
|
||||||
|
*
|
||||||
|
* Copyright (c) 2011, Tomasz Sowa
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef headerfile_winix_plugins_gallery_gallery
|
||||||
|
#define headerfile_winix_plugins_gallery_gallery
|
||||||
|
|
||||||
|
#include "functions/functionbase.h"
|
||||||
|
#include "galleryinfo.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gallery
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
class Gallery : public FunctionBase
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
Gallery();
|
||||||
|
bool HasAccess();
|
||||||
|
void MakeGet();
|
||||||
|
|
||||||
|
void SetGalleryInfo(GalleryInfo * pinfo);
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
GalleryInfo * gallery_info;
|
||||||
|
DbItemQuery iq;
|
||||||
|
|
||||||
|
void CreatePointers();
|
||||||
|
void SortPointers();
|
||||||
|
void MakeGetDir();
|
||||||
|
void MakeGetFile();
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,34 @@
|
||||||
|
/*
|
||||||
|
* This file is a part of Winix
|
||||||
|
* and is not publicly distributed
|
||||||
|
*
|
||||||
|
* Copyright (c) 2011, Tomasz Sowa
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "galleryinfo.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gallery
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void GalleryInfo::Clear()
|
||||||
|
{
|
||||||
|
item_tab.clear();
|
||||||
|
item_sort_tab.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
/*
|
||||||
|
* This file is a part of Winix
|
||||||
|
* and is not publicly distributed
|
||||||
|
*
|
||||||
|
* Copyright (c) 2011, Tomasz Sowa
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef headerfile_winix_plugins_gallery_galleryinfo
|
||||||
|
#define headerfile_winix_plugins_gallery_galleryinfo
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include "core/item.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gallery
|
||||||
|
{
|
||||||
|
|
||||||
|
class GalleryInfo
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
|
||||||
|
// id of a mount type
|
||||||
|
int mount_type_gallery;
|
||||||
|
|
||||||
|
// enable a thread in a specific directory
|
||||||
|
// and set sort type (asc, desc)
|
||||||
|
int mount_par_gallery;
|
||||||
|
|
||||||
|
int mount_par_gallery_size;
|
||||||
|
|
||||||
|
// id of the current plugin
|
||||||
|
int plugin_id;
|
||||||
|
|
||||||
|
|
||||||
|
void Clear();
|
||||||
|
|
||||||
|
std::vector<Item> item_tab;
|
||||||
|
std::vector<Item*> item_sort_tab;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,87 @@
|
||||||
|
/*
|
||||||
|
* This file is a part of Winix
|
||||||
|
* and is not publicly distributed
|
||||||
|
*
|
||||||
|
* Copyright (c) 2011, Tomasz Sowa
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "gallery.h"
|
||||||
|
#include "core/log.h"
|
||||||
|
#include "core/plugin.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
extern "C" void Init(PluginInfo &);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gallery
|
||||||
|
{
|
||||||
|
Gallery fun_gallery;
|
||||||
|
GalleryInfo gallery_info;
|
||||||
|
|
||||||
|
|
||||||
|
const wchar_t plugin_name[] = L"gallery";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void AddFunctions(PluginInfo & info)
|
||||||
|
{
|
||||||
|
info.functions->Add(fun_gallery);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void SelectDefaultFunction(PluginInfo & info)
|
||||||
|
{
|
||||||
|
if( info.system->mounts.pmount->type == gallery_info.mount_type_gallery )
|
||||||
|
info.cur->request->function = &fun_gallery;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void AddMounts(PluginInfo & info)
|
||||||
|
{
|
||||||
|
Mounts & m = info.system->mounts;
|
||||||
|
|
||||||
|
gallery_info.mount_type_gallery = m.AddMountType(L"gallery");
|
||||||
|
gallery_info.mount_par_gallery = m.AddMountPar(L"gallery");
|
||||||
|
gallery_info.mount_par_gallery_size = m.AddMountPar(L"gallery_size");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void EndRequest(PluginInfo & info)
|
||||||
|
{
|
||||||
|
gallery_info.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void AddEzcFunctions(PluginInfo & info);
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void Init(PluginInfo & info)
|
||||||
|
{
|
||||||
|
using namespace Gallery;
|
||||||
|
|
||||||
|
plugin.Assign(WINIX_CREATE_FUNCTIONS, AddFunctions);
|
||||||
|
plugin.Assign(WINIX_SELECT_DEFAULT_FUNCTION, SelectDefaultFunction);
|
||||||
|
plugin.Assign(WINIX_ADD_MOUNTS, AddMounts);
|
||||||
|
plugin.Assign(WINIX_TEMPLATES_CREATEFUNCTIONS, AddEzcFunctions);
|
||||||
|
plugin.Assign(WINIX_END_REQUEST, EndRequest);
|
||||||
|
|
||||||
|
gallery_info.plugin_id = info.plugin_id;
|
||||||
|
|
||||||
|
fun_gallery.SetGalleryInfo(&gallery_info);
|
||||||
|
|
||||||
|
info.p1 = (void*)(plugin_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,138 @@
|
||||||
|
/*
|
||||||
|
* This file is a part of Winix
|
||||||
|
* and is not publicly distributed
|
||||||
|
*
|
||||||
|
* Copyright (c) 2011, Tomasz Sowa
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "gallery.h"
|
||||||
|
#include "core/request.h"
|
||||||
|
#include "core/misc.h"
|
||||||
|
#include "core/plugin.h"
|
||||||
|
#include "templates/templates.h"
|
||||||
|
#include "functions/functions.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
namespace Gallery
|
||||||
|
{
|
||||||
|
using namespace TemplatesFunctions;
|
||||||
|
using TemplatesFunctions::system;
|
||||||
|
|
||||||
|
|
||||||
|
extern GalleryInfo gallery_info;
|
||||||
|
extern Gallery fun_gallery;
|
||||||
|
|
||||||
|
|
||||||
|
static size_t gallery_index;
|
||||||
|
static std::wstring item_dir;
|
||||||
|
|
||||||
|
|
||||||
|
void gallery_tab(Info & i)
|
||||||
|
{
|
||||||
|
gallery_index = i.iter;
|
||||||
|
i.res = gallery_index < gallery_info.item_sort_tab.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void gallery_tab_dir(Info & i)
|
||||||
|
{
|
||||||
|
if( gallery_index < gallery_info.item_sort_tab.size() )
|
||||||
|
{
|
||||||
|
Item & item = *gallery_info.item_sort_tab[gallery_index];
|
||||||
|
system->dirs.MakePath(item.parent_id, item_dir);
|
||||||
|
i.out << item_dir;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void gallery_tab_url(Info & i)
|
||||||
|
{
|
||||||
|
if( gallery_index < gallery_info.item_sort_tab.size() )
|
||||||
|
{
|
||||||
|
Item & item = *gallery_info.item_sort_tab[gallery_index];
|
||||||
|
i.out << item.url;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void gallery_tab_subject(Info & i)
|
||||||
|
{
|
||||||
|
if( gallery_index < gallery_info.item_sort_tab.size() )
|
||||||
|
{
|
||||||
|
Item & item = *gallery_info.item_sort_tab[gallery_index];
|
||||||
|
i.out << item.subject;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void gallery_tab_link(Info & i)
|
||||||
|
{
|
||||||
|
i.out << config->base_url;
|
||||||
|
gallery_tab_dir(i);
|
||||||
|
gallery_tab_url(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void gallery_width(Info & i)
|
||||||
|
{
|
||||||
|
if( !system->mounts.pmount )
|
||||||
|
return;
|
||||||
|
|
||||||
|
Mount & m = *system->mounts.pmount;
|
||||||
|
|
||||||
|
if( !m.param[gallery_info.mount_par_gallery_size].defined || m.param[gallery_info.mount_par_gallery_size].arg.size() != 2 )
|
||||||
|
{
|
||||||
|
i.out << "800px";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
i.out << m.param[gallery_info.mount_par_gallery_size].arg[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void gallery_height(Info & i)
|
||||||
|
{
|
||||||
|
if( !system->mounts.pmount )
|
||||||
|
return;
|
||||||
|
|
||||||
|
Mount & m = *system->mounts.pmount;
|
||||||
|
|
||||||
|
if( !m.param[gallery_info.mount_par_gallery_size].defined || m.param[gallery_info.mount_par_gallery_size].arg.size() != 2 )
|
||||||
|
{
|
||||||
|
i.out << "500px";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
i.out << m.param[gallery_info.mount_par_gallery_size].arg[1];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void AddEzcFunctions(PluginInfo & info)
|
||||||
|
{
|
||||||
|
using TemplatesFunctions::EzcFun;
|
||||||
|
EzcFun * fun = reinterpret_cast<EzcFun*>(info.p1);
|
||||||
|
|
||||||
|
fun->Insert("gallery_tab", gallery_tab);
|
||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
} // namespace
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -804,3 +804,4 @@ color: black;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue