%@LANGUAGE="JAVASCRIPT"%> <% // *** Edit Operations: declare variables // set the form action variable var MM_editAction = Request.ServerVariables("URL"); if (Request.QueryString) { MM_editAction += "?" + Request.QueryString; } // boolean to abort record edit var MM_abortEdit = false; // query string to execute var MM_editQuery = ""; %> <% // *** Insert Record: set variables if (String(Request("MM_insert")) != "undefined") { var MM_editConnection = MM_yoursay_STRING; var MM_editTable = "yoursay"; var MM_editRedirectUrl = "yoursay.asp"; var MM_fieldsStr = "name|value|email|value|ipaddress|value|date|value|comment|value|golive|value"; var MM_columnsStr = "yourname|',none,''|emailaddress|',none,''|ipaddress|',none,''|dateadded|',none,''|yourcomment|',none,''|yesno10|none,none,NULL"; // create the MM_fields and MM_columns arrays var MM_fields = MM_fieldsStr.split("|"); var MM_columns = MM_columnsStr.split("|"); // set the form values for (var i=0; i+1 < MM_fields.length; i+=2) { MM_fields[i+1] = String(Request.Form(MM_fields[i])); } // append the query string to the redirect URL if (MM_editRedirectUrl && Request.QueryString && Request.QueryString.length > 0) { MM_editRedirectUrl += ((MM_editRedirectUrl.indexOf('?') == -1)?"?":"&") + Request.QueryString; } } %> <% // *** Insert Record: construct a sql insert statement and execute it if (String(Request("MM_insert")) != "undefined") { // create the sql insert statement var MM_tableValues = "", MM_dbValues = ""; for (var i=0; i+1 < MM_fields.length; i+=2) { var formVal = MM_fields[i+1]; var MM_typesArray = MM_columns[i+1].split(","); var delim = (MM_typesArray[0] != "none") ? MM_typesArray[0] : ""; var altVal = (MM_typesArray[1] != "none") ? MM_typesArray[1] : ""; var emptyVal = (MM_typesArray[2] != "none") ? MM_typesArray[2] : ""; if (formVal == "" || formVal == "undefined") { formVal = emptyVal; } else { if (altVal != "") { formVal = altVal; } else if (delim == "'") { // escape quotes formVal = "'" + formVal.replace(/'/g,"''") + "'"; } else { formVal = delim + formVal + delim; } } MM_tableValues += ((i != 0) ? "," : "") + MM_columns[i]; MM_dbValues += ((i != 0) ? "," : "") + formVal; } MM_editQuery = "insert into " + MM_editTable + " (" + MM_tableValues + ") values (" + MM_dbValues + ")"; if (!MM_abortEdit) { // execute the insert var MM_editCmd = Server.CreateObject('ADODB.Command'); MM_editCmd.ActiveConnection = MM_editConnection; MM_editCmd.CommandText = MM_editQuery; MM_editCmd.Execute(); MM_editCmd.ActiveConnection.Close(); if (MM_editRedirectUrl) { Response.Redirect(MM_editRedirectUrl); } } } %> <% var yoursay = Server.CreateObject("ADODB.Recordset"); yoursay.ActiveConnection = MM_yoursay_STRING; yoursay.Source = "SELECT * FROM yoursay"; yoursay.CursorType = 0; yoursay.CursorLocation = 2; yoursay.LockType = 3; yoursay.Open(); var yoursay_numRows = 0; %> <% var yoursaylist__MMColParam = "1"; if(String(Request("MM_EmptyValue")) != "undefined") { yoursaylist__MMColParam = String(Request("MM_EmptyValue")); } %> <% var yoursaylist = Server.CreateObject("ADODB.Recordset"); yoursaylist.ActiveConnection = MM_yoursay_STRING; yoursaylist.Source = "SELECT * FROM yoursay WHERE yesno10 = "+ yoursaylist__MMColParam.replace(/'/g, "''") + " ORDER BY ID DESC"; yoursaylist.CursorType = 0; yoursaylist.CursorLocation = 2; yoursaylist.LockType = 3; yoursaylist.Open(); var yoursaylist_numRows = 0; %> <% var Repeat1__numRows = 10; var Repeat1__index = 0; yoursaylist_numRows += Repeat1__numRows; %> <% // *** Recordset Stats, Move To Record, and Go To Record: declare stats variables // set the record count var yoursaylist_total = yoursaylist.RecordCount; // set the number of rows displayed on this page if (yoursaylist_numRows < 0) { // if repeat region set to all records yoursaylist_numRows = yoursaylist_total; } else if (yoursaylist_numRows == 0) { // if no repeat regions yoursaylist_numRows = 1; } // set the first and last displayed record var yoursaylist_first = 1; var yoursaylist_last = yoursaylist_first + yoursaylist_numRows - 1; // if we have the correct record count, check the other stats if (yoursaylist_total != -1) { yoursaylist_numRows = Math.min(yoursaylist_numRows, yoursaylist_total); yoursaylist_first = Math.min(yoursaylist_first, yoursaylist_total); yoursaylist_last = Math.min(yoursaylist_last, yoursaylist_total); } %> <% var MM_paramName = ""; %> <% // *** Move To Record and Go To Record: declare variables var MM_rs = yoursaylist; var MM_rsCount = yoursaylist_total; var MM_size = yoursaylist_numRows; var MM_uniqueCol = ""; MM_paramName = ""; var MM_offset = 0; var MM_atTotal = false; var MM_paramIsDefined = (MM_paramName != "" && String(Request(MM_paramName)) != "undefined"); %> <% // *** Move To Record: handle 'index' or 'offset' parameter if (!MM_paramIsDefined && MM_rsCount != 0) { // use index parameter if defined, otherwise use offset parameter r = String(Request("index")); if (r == "undefined") r = String(Request("offset")); if (r && r != "undefined") MM_offset = parseInt(r); // if we have a record count, check if we are past the end of the recordset if (MM_rsCount != -1) { if (MM_offset >= MM_rsCount || MM_offset == -1) { // past end or move last if ((MM_rsCount % MM_size) != 0) { // last page not a full repeat region MM_offset = MM_rsCount - (MM_rsCount % MM_size); } else { MM_offset = MM_rsCount - MM_size; } } } // move the cursor to the selected record for (var i=0; !MM_rs.EOF && (i < MM_offset || MM_offset == -1); i++) { MM_rs.MoveNext(); } if (MM_rs.EOF) MM_offset = i; // set MM_offset to the last possible record } %> <% // *** Move To Record: if we dont know the record count, check the display range if (MM_rsCount == -1) { // walk to the end of the display range for this page for (var i=MM_offset; !MM_rs.EOF && (MM_size < 0 || i < MM_offset + MM_size); i++) { MM_rs.MoveNext(); } // if we walked off the end of the recordset, set MM_rsCount and MM_size if (MM_rs.EOF) { MM_rsCount = i; if (MM_size < 0 || MM_size > MM_rsCount) MM_size = MM_rsCount; } // if we walked off the end, set the offset based on page size if (MM_rs.EOF && !MM_paramIsDefined) { if ((MM_rsCount % MM_size) != 0) { // last page not a full repeat region MM_offset = MM_rsCount - (MM_rsCount % MM_size); } else { MM_offset = MM_rsCount - MM_size; } } // reset the cursor to the beginning if (MM_rs.CursorType > 0) { if (!MM_rs.BOF) MM_rs.MoveFirst(); } else { MM_rs.Requery(); } // move the cursor to the selected record for (var i=0; !MM_rs.EOF && i < MM_offset; i++) { MM_rs.MoveNext(); } } %> <% // *** Move To Record: update recordset stats // set the first and last displayed record yoursaylist_first = MM_offset + 1; yoursaylist_last = MM_offset + MM_size; if (MM_rsCount != -1) { yoursaylist_first = Math.min(yoursaylist_first, MM_rsCount); yoursaylist_last = Math.min(yoursaylist_last, MM_rsCount); } // set the boolean used by hide region to check if we are on the last record MM_atTotal = (MM_rsCount != -1 && MM_offset + MM_size >= MM_rsCount); %> <% // *** Go To Record and Move To Record: create strings for maintaining URL and Form parameters // create the list of parameters which should not be maintained var MM_removeList = "&index="; if (MM_paramName != "") MM_removeList += "&" + MM_paramName.toLowerCase() + "="; var MM_keepURL="",MM_keepForm="",MM_keepBoth="",MM_keepNone=""; // add the URL parameters to the MM_keepURL string for (var items=new Enumerator(Request.QueryString); !items.atEnd(); items.moveNext()) { var nextItem = "&" + items.item().toLowerCase() + "="; if (MM_removeList.indexOf(nextItem) == -1) { MM_keepURL += "&" + items.item() + "=" + Server.URLencode(Request.QueryString(items.item())); } } // add the Form variables to the MM_keepForm string for (var items=new Enumerator(Request.Form); !items.atEnd(); items.moveNext()) { var nextItem = "&" + items.item().toLowerCase() + "="; if (MM_removeList.indexOf(nextItem) == -1) { MM_keepForm += "&" + items.item() + "=" + Server.URLencode(Request.Form(items.item())); } } // create the Form + URL string and remove the intial '&' from each of the strings MM_keepBoth = MM_keepURL + MM_keepForm; if (MM_keepBoth.length > 0) MM_keepBoth = MM_keepBoth.substring(1); if (MM_keepURL.length > 0) MM_keepURL = MM_keepURL.substring(1); if (MM_keepForm.length > 0) MM_keepForm = MM_keepForm.substring(1); %> <% // *** Move To Record: set the strings for the first, last, next, and previous links var MM_moveFirst="",MM_moveLast="",MM_moveNext="",MM_movePrev=""; var MM_keepMove = MM_keepBoth; // keep both Form and URL parameters for moves var MM_moveParam = "index"; // if the page has a repeated region, remove 'offset' from the maintained parameters if (MM_size > 1) { MM_moveParam = "offset"; if (MM_keepMove.length > 0) { params = MM_keepMove.split("&"); MM_keepMove = ""; for (var i=0; i < params.length; i++) { var nextItem = params[i].substring(0,params[i].indexOf("=")); if (nextItem.toLowerCase() != MM_moveParam) { MM_keepMove += "&" + params[i]; } } if (MM_keepMove.length > 0) MM_keepMove = MM_keepMove.substring(1); } } // set the strings for the move to links if (MM_keepMove.length > 0) MM_keepMove += "&"; var urlStr = Request.ServerVariables("URL") + "?" + MM_keepMove + MM_moveParam + "="; MM_moveFirst = urlStr + "0"; MM_moveLast = urlStr + "-1"; MM_moveNext = urlStr + (MM_offset + MM_size); MM_movePrev = urlStr + Math.max(MM_offset - MM_size,0); %>