added: new winix function: "sort"

sorting items in a directory (Item::sort_index is used)


git-svn-id: svn://ttmath.org/publicrep/winix/trunk@754 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
2011-08-02 00:10:45 +00:00
parent 4d87359aca
commit 3b2a1c3f25
34 changed files with 703 additions and 272 deletions

View File

@@ -30,7 +30,7 @@ app.o: ../functions/login.h ../functions/logout.h ../functions/ln.h
app.o: ../functions/ls.h ../functions/mkdir.h ../functions/mv.h
app.o: ../functions/nicedit.h ../functions/node.h ../functions/passwd.h
app.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h
app.o: ../functions/specialdefault.h ../functions/stat.h
app.o: ../functions/sort.h ../functions/specialdefault.h ../functions/stat.h
app.o: ../functions/subject.h ../functions/template.h ../functions/tinymce.h
app.o: ../functions/uname.h ../functions/upload.h ../functions/uptime.h
app.o: ../functions/who.h ../functions/vim.h ../core/htmlfilter.h
@@ -75,8 +75,8 @@ config.o: ../functions/login.h ../functions/logout.h ../functions/ln.h
config.o: ../functions/ls.h ../functions/mkdir.h ../functions/mv.h
config.o: ../functions/nicedit.h ../functions/node.h ../functions/passwd.h
config.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h
config.o: ../functions/specialdefault.h ../functions/stat.h
config.o: ../functions/subject.h ../functions/template.h
config.o: ../functions/sort.h ../functions/specialdefault.h
config.o: ../functions/stat.h ../functions/subject.h ../functions/template.h
config.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
config.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
config.o: ../core/htmlfilter.h ../templates/templates.h
@@ -203,8 +203,8 @@ mounts.o: ../functions/login.h ../functions/logout.h ../functions/ln.h
mounts.o: ../functions/ls.h ../functions/mkdir.h ../functions/mv.h
mounts.o: ../functions/nicedit.h ../functions/node.h ../functions/passwd.h
mounts.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h
mounts.o: ../functions/specialdefault.h ../functions/stat.h
mounts.o: ../functions/subject.h ../functions/template.h
mounts.o: ../functions/sort.h ../functions/specialdefault.h
mounts.o: ../functions/stat.h ../functions/subject.h ../functions/template.h
mounts.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
mounts.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
mounts.o: ../core/htmlfilter.h ../templates/templates.h
@@ -240,8 +240,8 @@ plugin.o: ../functions/login.h ../functions/logout.h ../functions/ln.h
plugin.o: ../functions/ls.h ../functions/mkdir.h ../functions/mv.h
plugin.o: ../functions/nicedit.h ../functions/node.h ../functions/passwd.h
plugin.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h
plugin.o: ../functions/specialdefault.h ../functions/stat.h
plugin.o: ../functions/subject.h ../functions/template.h
plugin.o: ../functions/sort.h ../functions/specialdefault.h
plugin.o: ../functions/stat.h ../functions/subject.h ../functions/template.h
plugin.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
plugin.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
plugin.o: ../core/htmlfilter.h ../templates/templates.h
@@ -279,7 +279,7 @@ plugindata.o: ../functions/emacs.h ../functions/last.h ../functions/login.h
plugindata.o: ../functions/logout.h ../functions/ln.h ../functions/ls.h
plugindata.o: ../functions/mkdir.h ../functions/mv.h ../functions/nicedit.h
plugindata.o: ../functions/node.h ../functions/passwd.h ../functions/priv.h
plugindata.o: ../functions/reload.h ../functions/rm.h
plugindata.o: ../functions/reload.h ../functions/rm.h ../functions/sort.h
plugindata.o: ../functions/specialdefault.h ../functions/stat.h
plugindata.o: ../functions/subject.h ../functions/template.h
plugindata.o: ../functions/tinymce.h ../functions/uname.h
@@ -329,7 +329,7 @@ request.o: ../functions/emacs.h ../functions/last.h ../functions/login.h
request.o: ../functions/logout.h ../functions/ln.h ../functions/ls.h
request.o: ../functions/mkdir.h ../functions/mv.h ../functions/nicedit.h
request.o: ../functions/node.h ../functions/passwd.h ../functions/priv.h
request.o: ../functions/reload.h ../functions/rm.h
request.o: ../functions/reload.h ../functions/rm.h ../functions/sort.h
request.o: ../functions/specialdefault.h ../functions/stat.h
request.o: ../functions/subject.h ../functions/template.h
request.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
@@ -386,7 +386,7 @@ sessionmanager.o: ../functions/logout.h ../functions/ln.h ../functions/ls.h
sessionmanager.o: ../functions/mkdir.h ../functions/mv.h
sessionmanager.o: ../functions/nicedit.h ../functions/node.h
sessionmanager.o: ../functions/passwd.h ../functions/priv.h
sessionmanager.o: ../functions/reload.h ../functions/rm.h
sessionmanager.o: ../functions/reload.h ../functions/rm.h ../functions/sort.h
sessionmanager.o: ../functions/specialdefault.h ../functions/stat.h
sessionmanager.o: ../functions/subject.h ../functions/template.h
sessionmanager.o: ../functions/tinymce.h ../functions/uname.h
@@ -438,8 +438,8 @@ system.o: ../functions/login.h ../functions/logout.h ../functions/ln.h
system.o: ../functions/ls.h ../functions/mkdir.h ../functions/mv.h
system.o: ../functions/nicedit.h ../functions/node.h ../functions/passwd.h
system.o: ../functions/priv.h ../functions/reload.h ../functions/rm.h
system.o: ../functions/specialdefault.h ../functions/stat.h
system.o: ../functions/subject.h ../functions/template.h
system.o: ../functions/sort.h ../functions/specialdefault.h
system.o: ../functions/stat.h ../functions/subject.h ../functions/template.h
system.o: ../functions/tinymce.h ../functions/uname.h ../functions/upload.h
system.o: ../functions/uptime.h ../functions/who.h ../functions/vim.h
textstream.o: textstream.h misc.h item.h requesttypes.h

View File

@@ -196,6 +196,22 @@ DirContainer::Iterator i;
}
void Dirs::MakePath(const std::vector<Item*> dir_tab, std::wstring & path, bool clear_path)
{
if( clear_path )
path.clear();
for(size_t i=0 ; i<dir_tab.size() ; ++i)
{
path += dir_tab[i]->url;
path += '/';
}
}
size_t Dirs::DirLevel(long id)
{
DirContainer::Iterator i;

View File

@@ -40,6 +40,7 @@ public:
bool IsDir(long dir_id);
bool GetDirChilds(long parent_id, std::vector<Item*> & childs_tab); // !! zamienic na GetChilds()
bool MakePath(long dir_id, std::wstring & path, bool clear_path = true);
void MakePath(const std::vector<Item*> dir_tab, std::wstring & path, bool clear_path = true);
bool ChangeParent(long dir_id, long new_parent_id);
bool HasParent(long dir_id, long parent_id);

View File

@@ -402,6 +402,7 @@ bool System::DirsHaveReadExecPerm()
// if we don't have access we only remove the item from the table
// !! moze zamienic nazwe na CheckReadAccessToItems ?
void System::CheckAccessToItems(std::vector<Item> & item_tab)
{
size_t i = 0;
@@ -420,6 +421,23 @@ size_t i = 0;
}
void System::CheckWriteAccessToItems(std::vector<Item> & item_tab)
{
size_t i = 0;
while( i < item_tab.size() )
{
if( !HasWriteAccess(item_tab[i]) )
{
item_tab.erase(item_tab.begin() + i);
}
else
{
i += 1;
}
}
}
bool System::CanUseHtml(long user_id)
{

View File

@@ -94,6 +94,7 @@ public:
bool HasReadExecAccessToPath(const std::vector<Item*> & dir_tab);
bool DirsHaveReadExecPerm();
void CheckAccessToItems(std::vector<Item> & item_tab);
void CheckWriteAccessToItems(std::vector<Item> & item_tab);
bool CanUseHtml(long user_id);
bool CanUseBBCode(long user_id);