/* In order to abstract a CLIENT side JavaScript function we embedded it into a bunch of write statements using SERVER side JavaScript. This allowed us to use the same Client side function in many pages, while keeping the function in only one place (sam.js). */ makeClientScriptDateFunction(); Add/Modify Files

System Administration

Add/Modify Files

/*====================================================================== The get_db_files_rec function retrieves a single file record from the database. This is a method of the file object. Once the file object has been created and an initial value for filename placed in it, this method is called to complete the population of the objects attribute values. ======================================================================= */ function get_db_files_rec() { files_info = database.cursor('SELECT filename, location, format, file.ownerid, file.folderid, folder.foldername, folder.group, file.description, '+ ' MONTH(expirationdate) AS ex_mon, DAY(expirationdate) AS ex_day, YEAR(expirationdate) AS ex_year, MONTH(activationdate) AS ac_mon, DAY(activationdate) AS ac_day, YEAR(activationdate) AS ac_year,'+ ' modifieddate FROM file, folder WHERE file.folderid = folder.folderid and filename = "'+this.filename+'"'); if(files_info.next()) {this.filename = ""+files_info.filename+""; this.location = ""+files_info.location+""; this.description = ""+files_info.description+""; this.format = ""+files_info.format+""; this.ownerid = ""+files_info.ownerid+""; this.folderid = files_info.folderid; this.expirationdate = files_info.ex_mon + "/" + files_info.ex_day + "/" + files_info.ex_year; this.activationdate = files_info.ac_mon + "/" + files_info.ac_day + "/" + files_info.ac_year; this.modifieddate = files_info.modifieddate; this.foldername = ""+files_info.foldername+""; this.group = ""+files_info.group+""; files_info.close(); result = true; } else {write('

Record Not Found!

Another administrator has deleted this record!'); result = false; request.mode =""; } return result; } /*====================================================================== The ins_db_files_rec function inserts a single file record into the database. This is a method of the file object. ====================================================================== */ function ins_db_files_rec() { this.description = check_size(this.description, 255); result = database.execute('INSERT INTO file (filename, location, description, format, ownerid, folderid, expirationdate, activationdate, modifieddate ) VALUES ("'+this.filename+'","' + this.location +'","' +this.description +'","' +this.format +'","' +this.ownerid +'",' +this.folderid +',"' +this.expirationdate +'","' +this.activationdate +'", CURRENT)' ); if (result != 0) {write('
A Database error has occurred ' + result + '
'); write('
' + database.majorErrorCode() + '
'); write('
' + database.majorErrorMessage() + '
'); request.mode="add"}; else {write('

The following file has been added.

');} } /*====================================================================== The del_db_file_rec function deletes a single file record from the database. This is a method of the file object. ====================================================================== */ function del_db_files_rec() { result = database.execute('DELETE FROM file WHERE filename="'+this.filename+'"'); if (result != 0) {write('
A Database error has occurred ' + result + '
'); write('
' + database.majorErrorCode() + '
'); write('
' + database.majorErrorMessage() + '
'); request.mode="D"}; else {write('File: '+this.filename+' deleted.'); } } /*====================================================================== The upd_db_files_rec function updates a single file record in the database. This is a method of the file object. ====================================================================== */ function upd_db_files_rec() { this.description = check_size(this.description, 255); result = database.execute('UPDATE file SET filename="'+ this.filename +'", location="'+ this.location +'", description="'+this.description +'", format="'+this.format +'", ownerid="'+this.ownerid +'", folderid = '+this.folderid +', expirationdate= (DATE("'+this.expirationdate +'")), activationdate= (DATE("'+this.activationdate +'")), modifieddate = CURRENT WHERE filename="'+this.filename+'"'); if (result != 0) {write('
A Database error has occurred ' + result + '
'); write('
' + database.majorErrorCode() + '
'); write('
' + database.majorErrorMessage() + '
'); request.mode=""; return result; } else {write('

The following file has been updated.

'); return result;} } //File Object function files_rec(filename, location, description, format, ownerid, folderid, activationdate, expirationdate, modifieddate, foldername, group) { this.filename = filename; this.location = location; this.description = description; this.format = format; this.ownerid = ownerid; this.folderid = folderid; this.expirationdate = expirationdate; this.activationdate = activationdate; this.modifieddate = modifieddate; this.foldername = foldername; this.group = group; this.ins_db_files_rec = ins_db_files_rec; this.upd_db_files_rec = upd_db_files_rec; this.get_db_files_rec = get_db_files_rec; this.del_db_files_rec = del_db_files_rec; } /*====================================================================== The load_Files_Tbl function creates the file object and loads it with initial values. The appropriate method is then executed against the current object based on the mode the form is in. The form basically has two main categories of modes: user and database. User modes are add, D (delete), M (modify). Database modes are insert, dump, and update. Once the initial method has been called on the object, the specifics of the page formatting are determined based on field, user access, and mode. ====================================================================== */ function load_Files_Tbl() { if (request.mode == "insert") { temp_files = new files_rec(request.filename, "", request.description, request.format, request.ownerid, request.folderid, request.activationdate, request.expirationdate, request.modifieddate, request.foldername, request.group); temp_files.location = determine_location(temp_files.group, temp_files.filename); temp_files.ins_db_files_rec(); result = temp_files.get_db_files_rec(); } if (request.mode == "add") { todays_date = makeToday(); expir_date = todayPlus(1, "M"); temp_files = new files_rec("","","","",client.userid, request.folderid,todays_date,expir_date,"","",request.group); temp_files.location = determine_location(temp_files.group, ""); result = true; } if (request.mode == "dump") { temp_files = new files_rec(request.filename, "", request.description, request.format, request.ownerid, request.folderid, request.activationdate, request.expirationdate, request.modifieddate, request.foldername, request.group); temp_files.del_db_files_rec(); } if ((request.mode == "M") || (request.mode == "D")) { temp_files = new files_rec(unescape(request.filename), "", request.description, request.format, request.ownerid, request.folderid, request.activationdate, request.expirationdate, request.modifieddate, request.foldername, request.group); result = temp_files.get_db_files_rec(); temp_files.location = determine_location(temp_files.group, ""); request.group = temp_files.group; } if (request.mode == "update") { temp_files = new files_rec(request.filename, "", request.description, request.format, request.ownerid, request.folderid, request.activationdate, request.expirationdate, request.modifieddate, request.foldername, request.group); temp_files.location = determine_location(temp_files.group, temp_files.filename); upd = temp_files.upd_db_files_rec(); if (upd == 0 ) {result = temp_files.get_db_files_rec();} else { result = false;} } if ((request.mode != "dump") && (result)) { write(''); write(''); write(''); displayRow("File Name","RIGHT","TEXT","filename",temp_files.filename, client.accesslevel, 40, 50,"V"); write(''); write(''); write(''); write(''); if ((request.mode == "add") || (request.mode == "M")) {get_formats(temp_files.format);} else {write(''); write(''); write(''); } write(''); if ((request.mode == "add") || (request.mode == "M")) {get_folders(temp_files.group, temp_files.folderid, client.accesslevel);} else {write(''); write(''); write(''); } write(''); write(''); write(''); write(''); displayRow("Activation Date","RIGHT","TEXT","activationdate",temp_files.activationdate, client.accesslevel, 10, 12,"A"); displayRow("Expiration Date","RIGHT","TEXT","expirationdate",temp_files.expirationdate, client.accesslevel, 10, 12,"A"); write('
Description'); if ((request.mode == "add") || (request.mode == "M")) { write(''); } else {write(''); write(temp_files.description); } write('
Format '+temp_files.format+'
Folder '+temp_files.foldername+'
Owner ID'); write(''); write(temp_files.ownerid); write('
'); write(''); result = true; } else { result = false; } return result; } write('
'); write('
'); result = load_Files_Tbl(); if (result) { write('

'); if (request.mode == "add") { } if (request.mode == "M") { } if (request.mode == "D") { write(''); write(''); } if ((request.mode == "dump") || (request.mode == "insert") || (request.mode == "update")) { write(''); write(''); } write('

'); write('
'); } else {write(''); write(''); }
if ((request.mode == "add") || (request.mode == "insert")) {write('
'); write(''); write(''); write('
'); } else {write('
'); write(''); write(''); write(''); write(''); write('
'); }