winix/functions/mv.h

57 lines
1019 B
C++
Executable File

/*
* This file is a part of Winix
* and is not publicly distributed
*
* Copyright (c) 2010, Tomasz Sowa
* All rights reserved.
*
*/
#ifndef headerfilecmslucontentmv
#define headerfilecmslucontentmv
#include "functionbase.h"
namespace Fun
{
class Mv : public FunctionBase
{
public:
Mv();
void MakePost();
void MakeGet();
private:
std::wstring mv_dir;
std::wstring mv_file;
std::wstring mv_new_path;
long mv_dir_id;
std::vector<Item> mv_auth;
DbItemQuery mv_auth_iq;
bool MoveCheckAccessFromToDir();
bool MoveCheckAccessFrom();
bool MoveCheckAccessTo(long dir_id);
bool MoveCheckMountPoints(long dir_id);
bool MoveParseDir(long & dir_id, std::wstring & dir, std::wstring & file);
void MoveAuth(Item & item);
bool MoveIsTheSameFile(const Item & item);
void MoveFile(Item & item, bool redirect = true);
void MoveContentOfDir();
void MoveAuthPrepareQuery();
void MoveAuthContentOfDir(const Item & item);
void MoveDir(Item & item, bool redirect = true);
};
} // namespace
#endif