#include <lib.h> #include <dirs.h> inherit LIB_DAEMON; mixed cmd(string str) { string *file_arr; string tmp, filename, str2, orig; int time; object ob; orig = str; if( !str ) return "You must specify a file to backup."; else str = absolute_path((string)this_player()->query_cwd(), str); if( !file_exists(str) ) str2 = str+".c"; if( !file_exists(str) && !file_exists(str2)) { if(str == "here" || str == "room") ob = environment(this_player()); else { ob = present(orig,environment(this_player())); if(!ob) ob = present(orig, this_player()); if(!ob) return "File not found."; } str2 = base_name(ob)+".c"; } if(str2 && !file_exists(str2)) return "File unfound."; else if(str2) str = str2; if( !(tmp = read_file(str)) ) return "Unable to read file " + str + "."; else { time = time(); file_arr = explode(str,"/"); filename = REALMS_DIRS + "/" + this_player()->GetKeyName(); filename += "/bak/"+file_arr[sizeof(file_arr)-1]+"."+time; write_file(REALMS_DIRS + "/" + this_player()->GetKeyName()+ "/bak/bk.db",file_arr[sizeof(file_arr)-1]+"."+time+" : "+str+"\n"); load_object("/secure/cmds/creators/cp")->cmd(str + " " +filename); } return 1; } int help() { message("help", "Syntax: <bk [file]>\n\n" "Copies the specified file into your bak/ directory, and " "appends a unique identifying number to the backup file name.", this_player()); }