added a new winix function "vim" - an editor based on the WYMeditor
git-svn-id: svn://ttmath.org/publicrep/winix/trunk@673 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
@@ -90,7 +90,8 @@ ckeditor.o: functions.h functionparser.h adduser.h cat.h chmod.h
|
||||
ckeditor.o: privchanger.h chown.h cp.h createthread.h default.h download.h
|
||||
ckeditor.o: emacs.h last.h login.h logout.h ls.h mkdir.h mv.h node.h priv.h
|
||||
ckeditor.o: reload.h rm.h run.h stat.h subject.h funthread.h template.h
|
||||
ckeditor.o: tinymce.h uname.h upload.h uptime.h who.h ../core/htmlfilter.h
|
||||
ckeditor.o: tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
ckeditor.o: ../core/htmlfilter.h
|
||||
cp.o: cp.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
cp.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
cp.o: ../core/error.h ../core/log.h ../db/dbitemquery.h ../db/dbitemcolumns.h
|
||||
@@ -110,7 +111,7 @@ cp.o: ../core/system.h ../core/misc.h functions.h functionparser.h adduser.h
|
||||
cp.o: cat.h chmod.h privchanger.h chown.h ckeditor.h createthread.h default.h
|
||||
cp.o: download.h emacs.h last.h login.h logout.h ls.h mkdir.h mv.h node.h
|
||||
cp.o: priv.h reload.h rm.h run.h stat.h subject.h funthread.h template.h
|
||||
cp.o: tinymce.h uname.h upload.h uptime.h who.h ../core/htmlfilter.h
|
||||
cp.o: tinymce.h uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
createthread.o: createthread.h functionbase.h ../core/item.h ../db/db.h
|
||||
createthread.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
|
||||
createthread.o: ../core/textstream.h ../core/error.h ../core/log.h
|
||||
@@ -133,7 +134,7 @@ createthread.o: functionparser.h adduser.h cat.h chmod.h privchanger.h
|
||||
createthread.o: chown.h ckeditor.h cp.h default.h download.h emacs.h last.h
|
||||
createthread.o: login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h
|
||||
createthread.o: rm.h run.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
createthread.o: uname.h upload.h uptime.h who.h ../core/htmlfilter.h
|
||||
createthread.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
default.o: default.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
default.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
default.o: ../core/error.h ../core/log.h ../db/dbitemquery.h
|
||||
@@ -193,7 +194,7 @@ emacs.o: ../core/sessioncontainer.h functions.h functionparser.h adduser.h
|
||||
emacs.o: cat.h chmod.h privchanger.h chown.h ckeditor.h cp.h createthread.h
|
||||
emacs.o: default.h download.h last.h login.h logout.h ls.h mkdir.h mv.h
|
||||
emacs.o: node.h priv.h reload.h rm.h run.h stat.h subject.h funthread.h
|
||||
emacs.o: template.h tinymce.h uname.h upload.h uptime.h who.h
|
||||
emacs.o: template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
emacs.o: ../core/htmlfilter.h
|
||||
functionbase.o: functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
functionbase.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
@@ -217,7 +218,7 @@ functionbase.o: functionparser.h adduser.h cat.h chmod.h privchanger.h
|
||||
functionbase.o: chown.h ckeditor.h cp.h createthread.h default.h download.h
|
||||
functionbase.o: emacs.h last.h login.h logout.h ls.h mkdir.h mv.h node.h
|
||||
functionbase.o: priv.h reload.h rm.h run.h stat.h subject.h funthread.h
|
||||
functionbase.o: template.h tinymce.h uname.h upload.h uptime.h who.h
|
||||
functionbase.o: template.h tinymce.h uname.h upload.h uptime.h who.h vim.h
|
||||
functionbase.o: ../core/htmlfilter.h
|
||||
functionparser.o: functionparser.h ../core/request.h ../core/requesttypes.h
|
||||
functionparser.o: ../core/session.h ../core/item.h ../core/error.h
|
||||
@@ -242,7 +243,7 @@ functionparser.o: privchanger.h chown.h ckeditor.h cp.h createthread.h
|
||||
functionparser.o: default.h download.h emacs.h last.h login.h logout.h ls.h
|
||||
functionparser.o: mkdir.h mv.h node.h priv.h reload.h rm.h run.h stat.h
|
||||
functionparser.o: subject.h funthread.h template.h tinymce.h uname.h upload.h
|
||||
functionparser.o: uptime.h who.h ../core/htmlfilter.h
|
||||
functionparser.o: uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
functions.o: functions.h functionbase.h ../core/item.h ../db/db.h
|
||||
functions.o: ../db/dbbase.h ../db/dbconn.h ../db/dbtextstream.h
|
||||
functions.o: ../core/textstream.h ../core/error.h ../core/log.h
|
||||
@@ -264,7 +265,7 @@ functions.o: functionparser.h adduser.h cat.h chmod.h privchanger.h chown.h
|
||||
functions.o: ckeditor.h cp.h createthread.h default.h download.h emacs.h
|
||||
functions.o: last.h login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h
|
||||
functions.o: rm.h run.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
functions.o: uname.h upload.h uptime.h who.h ../core/htmlfilter.h
|
||||
functions.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
functions.o: ../core/log.h ../core/misc.h ../core/plugin.h
|
||||
functions.o: ../core/pluginmsg.h ../core/sessionmanager.h
|
||||
functions.o: ../core/sessioncontainer.h ../functions/functions.h
|
||||
@@ -377,7 +378,7 @@ mkdir.o: functions.h functionparser.h adduser.h cat.h chmod.h privchanger.h
|
||||
mkdir.o: chown.h ckeditor.h cp.h createthread.h default.h download.h emacs.h
|
||||
mkdir.o: last.h login.h logout.h ls.h mv.h node.h priv.h reload.h rm.h run.h
|
||||
mkdir.o: stat.h subject.h funthread.h template.h tinymce.h uname.h upload.h
|
||||
mkdir.o: uptime.h who.h ../core/htmlfilter.h
|
||||
mkdir.o: uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
mv.o: mv.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
mv.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
mv.o: ../core/error.h ../core/log.h ../db/dbitemquery.h ../db/dbitemcolumns.h
|
||||
@@ -397,7 +398,7 @@ mv.o: ../core/system.h functions.h functionparser.h adduser.h cat.h chmod.h
|
||||
mv.o: privchanger.h chown.h ckeditor.h cp.h createthread.h default.h
|
||||
mv.o: download.h emacs.h last.h login.h logout.h ls.h mkdir.h node.h priv.h
|
||||
mv.o: reload.h rm.h run.h stat.h subject.h funthread.h template.h tinymce.h
|
||||
mv.o: uname.h upload.h uptime.h who.h ../core/htmlfilter.h
|
||||
mv.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
node.o: node.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
node.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
node.o: ../core/error.h ../core/log.h ../db/dbitemquery.h
|
||||
@@ -575,7 +576,7 @@ tinymce.o: functions.h functionparser.h adduser.h cat.h chmod.h privchanger.h
|
||||
tinymce.o: chown.h ckeditor.h cp.h createthread.h default.h download.h
|
||||
tinymce.o: emacs.h last.h login.h logout.h ls.h mkdir.h mv.h node.h priv.h
|
||||
tinymce.o: reload.h rm.h run.h stat.h subject.h funthread.h template.h
|
||||
tinymce.o: uname.h upload.h uptime.h who.h ../core/htmlfilter.h
|
||||
tinymce.o: uname.h upload.h uptime.h who.h vim.h ../core/htmlfilter.h
|
||||
uname.o: uname.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
uname.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
uname.o: ../core/error.h ../core/log.h ../db/dbitemquery.h
|
||||
@@ -628,6 +629,27 @@ uptime.o: ../core/loadavg.h ../core/notify.h
|
||||
uptime.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h
|
||||
uptime.o: ../core/mount.h ../core/locale.h ../templates/misc.h
|
||||
uptime.o: ../templates/localefilter.h ../core/locale.h ../core/system.h
|
||||
vim.o: vim.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
vim.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
vim.o: ../core/error.h ../core/log.h ../db/dbitemquery.h
|
||||
vim.o: ../db/dbitemcolumns.h ../core/user.h ../core/group.h ../core/thread.h
|
||||
vim.o: ../core/dircontainer.h ../core/item.h ../core/ugcontainer.h
|
||||
vim.o: ../core/request.h ../core/requesttypes.h ../core/session.h
|
||||
vim.o: ../core/error.h ../core/user.h ../core/plugindata.h ../core/rebus.h
|
||||
vim.o: ../core/config.h ../core/confparser.h ../core/htmlfilter.h
|
||||
vim.o: ../core/config.h ../core/system.h ../core/dirs.h
|
||||
vim.o: ../core/dircontainer.h ../core/request.h ../core/mounts.h
|
||||
vim.o: ../core/mount.h ../core/mountparser.h ../core/users.h
|
||||
vim.o: ../core/ugcontainer.h ../core/lastcontainer.h ../core/groups.h
|
||||
vim.o: ../core/group.h ../core/loadavg.h ../core/notify.h
|
||||
vim.o: ../templatesnotify/templatesnotify.h ../../ezc/src/ezc.h
|
||||
vim.o: ../core/mount.h ../core/locale.h ../templates/misc.h
|
||||
vim.o: ../templates/localefilter.h ../core/locale.h ../core/system.h
|
||||
vim.o: functions.h functionparser.h adduser.h cat.h chmod.h privchanger.h
|
||||
vim.o: chown.h ckeditor.h cp.h createthread.h default.h download.h emacs.h
|
||||
vim.o: last.h login.h logout.h ls.h mkdir.h mv.h node.h priv.h reload.h rm.h
|
||||
vim.o: run.h stat.h subject.h funthread.h template.h tinymce.h uname.h
|
||||
vim.o: upload.h uptime.h who.h ../core/htmlfilter.h
|
||||
who.o: who.h functionbase.h ../core/item.h ../db/db.h ../db/dbbase.h
|
||||
who.o: ../db/dbconn.h ../db/dbtextstream.h ../core/textstream.h
|
||||
who.o: ../core/error.h ../core/log.h ../db/dbitemquery.h
|
||||
|
||||
@@ -1 +1 @@
|
||||
o = adduser.o cat.o chmod.o chown.o ckeditor.o cp.o createthread.o default.o download.o emacs.o functionbase.o functionparser.o functions.o funthread.o last.o login.o logout.o ls.o mkdir.o mv.o node.o priv.o privchanger.o reload.o rm.o run.o stat.o subject.o template.o tinymce.o uname.o upload.o uptime.o who.o
|
||||
o = adduser.o cat.o chmod.o chown.o ckeditor.o cp.o createthread.o default.o download.o emacs.o functionbase.o functionparser.o functions.o funthread.o last.o login.o logout.o ls.o mkdir.o mv.o node.o priv.o privchanger.o reload.o rm.o run.o stat.o subject.o template.o tinymce.o uname.o upload.o uptime.o vim.o who.o
|
||||
|
||||
@@ -67,6 +67,13 @@ void FunctionBase::SetNotify(Notify * pnotify)
|
||||
}
|
||||
|
||||
|
||||
void FunctionBase::Init()
|
||||
{
|
||||
// this method is called only once at the beginning
|
||||
// when winix starts
|
||||
}
|
||||
|
||||
|
||||
bool FunctionBase::HasAccess()
|
||||
{
|
||||
// true by default
|
||||
|
||||
@@ -40,6 +40,7 @@ public:
|
||||
// user, group, permissions, url (function name)
|
||||
Item fun;
|
||||
|
||||
virtual void Init();
|
||||
virtual bool HasAccess();
|
||||
virtual void Clear();
|
||||
virtual void MakePost();
|
||||
|
||||
@@ -166,7 +166,7 @@ void Functions::Add(FunctionBase & fun)
|
||||
|
||||
|
||||
|
||||
void Functions::Create()
|
||||
void Functions::CreateFunctions()
|
||||
{
|
||||
Add(fun_adduser);
|
||||
Add(fun_cat);
|
||||
@@ -198,11 +198,28 @@ void Functions::Create()
|
||||
Add(fun_upload);
|
||||
Add(fun_uptime);
|
||||
Add(fun_who);
|
||||
Add(fun_vim);
|
||||
|
||||
plugin.Call(WINIX_CREATE_FUNCTIONS);
|
||||
}
|
||||
|
||||
|
||||
void Functions::InitFunctions()
|
||||
{
|
||||
Table::iterator i = table.begin();
|
||||
|
||||
for( ; i!=table.end() ; ++i)
|
||||
i->second->Init();
|
||||
}
|
||||
|
||||
|
||||
void Functions::Init()
|
||||
{
|
||||
CreateFunctions();
|
||||
InitFunctions();
|
||||
}
|
||||
|
||||
|
||||
void Functions::Parse()
|
||||
{
|
||||
function_parser.Parse(request, db, this, system);
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
#include "upload.h"
|
||||
#include "uptime.h"
|
||||
#include "who.h"
|
||||
#include "vim.h"
|
||||
#include "core/htmlfilter.h"
|
||||
|
||||
|
||||
@@ -84,11 +85,12 @@ public:
|
||||
Fun::Upload fun_upload;
|
||||
Fun::Uptime fun_uptime;
|
||||
Fun::Who fun_who;
|
||||
Fun::Vim fun_vim;
|
||||
|
||||
typedef std::map<std::string, FunctionBase*> Table;
|
||||
typedef Table::iterator Iterator;
|
||||
|
||||
void Create();
|
||||
void Init();
|
||||
void Parse();
|
||||
size_t FunctionsSize();
|
||||
|
||||
@@ -142,6 +144,9 @@ private:
|
||||
std::string temp;
|
||||
HTMLFilter html_filter;
|
||||
|
||||
void CreateFunctions();
|
||||
void InitFunctions();
|
||||
|
||||
void SetObjects(FunctionBase * fun);
|
||||
void SetDefaultFunctionForFile();
|
||||
void SetDefaultFunctionForDir();
|
||||
|
||||
101
functions/vim.cpp
Executable file
101
functions/vim.cpp
Executable file
@@ -0,0 +1,101 @@
|
||||
/*
|
||||
* This file is a part of Winix
|
||||
* and is not publicly distributed
|
||||
*
|
||||
* Copyright (c) 2010, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "vim.h"
|
||||
#include "functions.h"
|
||||
|
||||
|
||||
|
||||
namespace Fun
|
||||
{
|
||||
|
||||
// WYMeditor doesn't work on different domains by default,
|
||||
// solution: http://forum.wymeditor.org/forum/viewtopic.php?f=2&t=731&p=2507#p2504
|
||||
// we add one file to winix: /var/wymiframe.html
|
||||
// in the future this will be removed
|
||||
|
||||
|
||||
static const char vim_wymiframe[] =
|
||||
"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n"
|
||||
"<!--\n"
|
||||
" * WYMeditor : what you see is What You Mean web-based editor\n"
|
||||
" * Copyright (c) 2005 - 2009 Jean-Francois Hovinne, http://www.wymeditor.org/\n"
|
||||
" * Dual licensed under the MIT (MIT-license.txt)\n"
|
||||
" * and GPL (GPL-license.txt) licenses.\n"
|
||||
" *\n"
|
||||
" * For further information visit:\n"
|
||||
" * http://www.wymeditor.org/\n"
|
||||
" *\n"
|
||||
" * File Name:\n"
|
||||
" * wymiframe.html\n"
|
||||
" * Iframe used by designMode.\n"
|
||||
" * See the documentation for more info.\n"
|
||||
" *\n"
|
||||
" * File Authors:\n"
|
||||
" * Jean-Francois Hovinne (jf.hovinne a-t wymeditor dotorg)\n"
|
||||
"-->\n"
|
||||
"<html>\n"
|
||||
"<head>\n"
|
||||
"<title>WYMeditor iframe</title>\n"
|
||||
"<meta http-equiv=\"X-UA-Compatible\" content=\"IE=EmulateIE7\" />\n"
|
||||
"<link rel=\"stylesheet\" type=\"text/css\" media=\"screen\" href=\"[doc_base_url_common]/wymeditor/iframe/default/wymiframe.css\">\n"
|
||||
"</head>\n"
|
||||
"<body class=\"wym_iframe\"></body>\n"
|
||||
"</html>\n";
|
||||
|
||||
|
||||
Vim::Vim()
|
||||
{
|
||||
fun.url = "vim";
|
||||
}
|
||||
|
||||
|
||||
void Vim::Init()
|
||||
{
|
||||
Item * var = system->dirs.CreateVarDir();
|
||||
|
||||
if( var )
|
||||
{
|
||||
Item temp;
|
||||
|
||||
if( db->GetItem(var->id, "wymiframe.html", temp) == WINIX_ERR_NO_ITEM )
|
||||
{
|
||||
Item v;
|
||||
|
||||
v.parent_id = var->id;
|
||||
v.user_id = -1;
|
||||
v.group_id = -1;
|
||||
v.privileges = 0755;
|
||||
v.subject = "wymiframe.html";
|
||||
v.url = "wymiframe.html";
|
||||
v.type = Item::file;
|
||||
v.content = vim_wymiframe;
|
||||
v.content_type = Item::ct_raw;
|
||||
|
||||
system->AddFile(v, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
bool Vim::HasAccess()
|
||||
{
|
||||
return functions->fun_emacs.HasAccess();
|
||||
}
|
||||
|
||||
|
||||
void Vim::MakePost()
|
||||
{
|
||||
functions->fun_emacs.MakePost();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
} // namespace
|
||||
35
functions/vim.h
Executable file
35
functions/vim.h
Executable file
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* This file is a part of Winix
|
||||
* and is not publicly distributed
|
||||
*
|
||||
* Copyright (c) 2010, Tomasz Sowa
|
||||
* All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef headerfilecmslucontentvim
|
||||
#define headerfilecmslucontentvim
|
||||
|
||||
#include "functionbase.h"
|
||||
|
||||
|
||||
|
||||
namespace Fun
|
||||
{
|
||||
|
||||
|
||||
class Vim : public FunctionBase
|
||||
{
|
||||
public:
|
||||
|
||||
Vim();
|
||||
void Init();
|
||||
bool HasAccess();
|
||||
void MakePost();
|
||||
|
||||
};
|
||||
|
||||
|
||||
} // namespace
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user