%
%>
<%
add_nocache_headers
asp_include "include/courses_variables.asp",false
asp_include "include/xtempl.asp",false
asp_include "classes/runnerpage.asp",false
filename = ""
status = ""
message = ""
mesClass = ""
usermessage = ""
error_happened = false
readavalues = false
Set keys = (CreateDictionary())
Set showValues = (CreateDictionary())
Set showRawValues = (CreateDictionary())
Set showFields = (CreateDictionary())
Set showDetailKeys = (CreateDictionary())
IsSaved = false
HaveData = true
popUpSave = false
doAssignment sessionPrefix,strTableName
onFly = false
if bValue(postvalue("onFly")) then
onFly = true
end if
if IsEqual(GetRequestValue(Request,"editType"),"inline") then
inlineadd = ADD_INLINE
else
if IsEqual(GetRequestValue(Request,"editType"),ADD_POPUP) then
inlineadd = ADD_POPUP
if (IsEqual(GetRequestValue(RequestForm(),"a"),"added") and IsEqual(postvalue("field"),"")) and IsEqual(postvalue("category"),"") then
popUpSave = true
end if
else
if IsEqual(GetRequestValue(Request,"editType"),"addmaster") then
inlineadd = ADD_MASTER
else
if bValue(onFly) then
inlineadd = ADD_ONTHEFLY
sessionPrefix = CSmartStr(strTableName) & "_add"
else
inlineadd = ADD_SIMPLE
end if
end if
end if
end if
if IsEqual(inlineadd,ADD_INLINE) then
templatefile = "courses_inline_add.htm"
else
templatefile = "courses_add.htm"
end if
doAssignmentByRef id,postvalue("id")
if IsEqual(asp_intval(id),0) then
id = 1
end if
if not bValue(Session(CSmartStr(sessionPrefix) & "_mastertable")) and bValue(postvalue("mastertable")) then
setArrElement Session,CSmartStr(sessionPrefix) & "_mastertable",postvalue("mastertable")
end if
Set xt = (CreateClass("Xtempl",0,Empty,Empty,Empty,Empty,Empty,Empty,Empty))
xt.assign_p2 "id",id
doAssignmentByRef auditObj,GetAuditObject(strTableName)
Set params = (CreateDictionary3("pageType",PAGE_ADD,"id",id,"mode",inlineadd))
setArrElement params,"tName",strTableName
setArrElement params,"strOriginalTableName",strOriginalTableName
setArrElement params,"menuTablesArr",menuTablesArr
setArrElementByRef params,"xt",xt
setArrElement params,"needSearchClauseObj",false
setArrElement params,"includes_js",includes_js
setArrElement params,"includes_jsreq",includes_jsreq
setArrElement params,"includes_css",includes_css
setArrElement params,"locale_info",locale_info
setArrElement params,"pageAddLikeInline",IsEqual(inlineadd,ADD_INLINE)
setArrElement params,"useTabsOnAdd",useTabsOnAdd(strTableName)
if bValue(ArrayElement(params,"useTabsOnAdd")) then
setArrElement params,"arrAddTabs",GetAddTabs(strTableName)
end if
Set pageObject = (CreateClass("RunnerPage",1,params,Empty,Empty,Empty,Empty,Empty,Empty))
doAssignment detailKeys,pageObject.detailKeysByM
doAssignmentByRef addFields,pageObject.getFieldsByPageType()
if IsEqual(inlineadd,ADD_SIMPLE) then
pageObject.addButtonHandlers
end if
doAssignmentByRef url_page,asp_substr(GetRequestValue(Request.ServerVariables,"SCRIPT_NAME"),CSmartDbl(asp_strrpos(GetRequestValue(Request.ServerVariables,"SCRIPT_NAME"),"/",empty))+1,12)
if (IsEqual(inlineadd,ADD_SIMPLE) or IsEqual(inlineadd,ADD_MASTER)) or IsEqual(inlineadd,ADD_POPUP) then
Set dpParams = (CreateDictionary())
if bValue(pageObject.isShowDetailTables) then
doAssignment ids,id
setArrElementN pageObject.jsSettings,CreateArray3("tableSettings",strTableName,"dpParams"),CreateDictionary2("tableNames",ArrayElement(dpParams,"strTableNames"),"ids",ArrayElement(dpParams,"ids"))
if IsEqual(inlineadd,ADD_SIMPLE) then
pageObject.AddJSFile_p1 "include/detailspreview"
end if
end if
end if
if bValue(eventObj.exists_p1("BeforeProcessAdd")) then
eventObj.BeforeProcessAdd_p1 conn
end if
if (IsEqual(inlineadd,ADD_SIMPLE) or IsEqual(inlineadd,ADD_MASTER)) or IsEqual(inlineadd,ADD_POPUP) then
if bValue(pageObject.captchaExists()) then
pageObject.doCaptchaCode
end if
end if
if IsEqual(GetRequestValue(RequestForm(),"a"),"added") then
Set afilename_values = (CreateDictionary())
Set avalues = (CreateDictionary())
Set blobfields = (CreateDictionary())
inlineAddOption = true
if bValue(inlineAddOption) then
doAssignmentByRef value,postvalue("value_CourseTitle_" & CSmartStr(id))
doAssignmentByRef var_type,postvalue("type_CourseTitle_" & CSmartStr(id))
if bValue(FieldSubmitted("CourseTitle_" & CSmartStr(id))) then
doAssignmentByRef value,prepare_for_db("CourseTitle",value,var_type,"","")
else
value = false
end if
if not (IsFalse(value)) then
if (bValue(0) and "CourseTitle"="Password") and IsEqual(url_page,"admin_users_") then
doAssignmentByRef value,md5(value)
end if
setArrElement avalues,"CourseTitle",value
end if
end if
inlineAddOption = true
if bValue(inlineAddOption) then
doAssignmentByRef value,postvalue("value_CEUCredit_" & CSmartStr(id))
doAssignmentByRef var_type,postvalue("type_CEUCredit_" & CSmartStr(id))
if bValue(FieldSubmitted("CEUCredit_" & CSmartStr(id))) then
doAssignmentByRef value,prepare_for_db("CEUCredit",value,var_type,"","")
else
value = false
end if
if not (IsFalse(value)) then
if (bValue(0) and "CEUCredit"="Password") and IsEqual(url_page,"admin_users_") then
doAssignmentByRef value,md5(value)
end if
setArrElement avalues,"CEUCredit",value
end if
end if
inlineAddOption = true
if bValue(inlineAddOption) then
doAssignmentByRef value,postvalue("value_Location_" & CSmartStr(id))
doAssignmentByRef var_type,postvalue("type_Location_" & CSmartStr(id))
if bValue(FieldSubmitted("Location_" & CSmartStr(id))) then
doAssignmentByRef value,prepare_for_db("Location",value,var_type,"","")
else
value = false
end if
if not (IsFalse(value)) then
if (bValue(0) and "Location"="Password") and IsEqual(url_page,"admin_users_") then
doAssignmentByRef value,md5(value)
end if
setArrElement avalues,"Location",value
end if
end if
inlineAddOption = true
if bValue(inlineAddOption) then
doAssignmentByRef value,postvalue("value_CourseDates_" & CSmartStr(id))
doAssignmentByRef var_type,postvalue("type_CourseDates_" & CSmartStr(id))
if bValue(FieldSubmitted("CourseDates_" & CSmartStr(id))) then
doAssignmentByRef value,prepare_for_db("CourseDates",value,var_type,"","")
else
value = false
end if
if not (IsFalse(value)) then
if (bValue(0) and "CourseDates"="Password") and IsEqual(url_page,"admin_users_") then
doAssignmentByRef value,md5(value)
end if
setArrElement avalues,"CourseDates",value
end if
end if
inlineAddOption = true
if bValue(inlineAddOption) then
doAssignmentByRef value,postvalue("value_DurationInDays_" & CSmartStr(id))
doAssignmentByRef var_type,postvalue("type_DurationInDays_" & CSmartStr(id))
if bValue(FieldSubmitted("DurationInDays_" & CSmartStr(id))) then
doAssignmentByRef value,prepare_for_db("DurationInDays",value,var_type,"","")
else
value = false
end if
if not (IsFalse(value)) then
if (bValue(0) and "DurationInDays"="Password") and IsEqual(url_page,"admin_users_") then
doAssignmentByRef value,md5(value)
end if
setArrElement avalues,"DurationInDays",value
end if
end if
inlineAddOption = true
if bValue(inlineAddOption) then
doAssignmentByRef value,postvalue("value_Tuitionfees_" & CSmartStr(id))
doAssignmentByRef var_type,postvalue("type_Tuitionfees_" & CSmartStr(id))
if bValue(FieldSubmitted("Tuitionfees_" & CSmartStr(id))) then
doAssignmentByRef value,prepare_for_db("Tuitionfees",value,var_type,"","")
else
value = false
end if
if not (IsFalse(value)) then
if (bValue(0) and "Tuitionfees"="Password") and IsEqual(url_page,"admin_users_") then
doAssignmentByRef value,md5(value)
end if
setArrElement avalues,"Tuitionfees",value
end if
end if
if IsEqual(Session(CSmartStr(sessionPrefix) & "_mastertable"),"customer") then
if bValue(postvalue("masterkey1")) then
setArrElement Session,CSmartStr(sessionPrefix) & "_masterkey1",postvalue("masterkey1")
end if
if IsEqual(ArrayElement(avalues,"CourseID"),"") then
setArrElement avalues,"CourseID",prepare_for_db("CourseID",Session(CSmartStr(sessionPrefix) & "_masterkey1"),"","","")
end if
end if
failed_inline_add = false
GetCollectionBounds afilename_values,add_loopIdx2,add_loopMax2
do while add_loopIdx2<=add_loopMax2
akey = GetCollectionKey(afilename_values,add_loopIdx2)
doAssignment value,ArrayElement(afilename_values,akey)
setArrElement avalues,akey,value
add_loopIdx2=add_loopIdx2+1
loop
retval = true
if bValue(eventObj.exists_p1("BeforeAdd")) then
doAssignmentByRef retval,eventObj.BeforeAdd_p3(avalues,usermessage,bValue(inlineadd))
end if
if bValue(retval) and bValue(pageObject.isCaptchaOk) then
setArrElement Session,CSmartStr(strTableName) & "_count_captcha",CSmartDbl(Session(CSmartStr(strTableName) & "_count_captcha"))+1
if bValue(DoInsertRecord(strOriginalTableName,avalues,blobfields,id,pageObject)) then
IsSaved = true
if bValue(auditObj) or bValue(eventObj.exists_p1("AfterAdd")) then
GetCollectionBounds keys,add_loopIdx3,add_loopMax3
do while add_loopIdx3<=add_loopMax3
idx = GetCollectionKey(keys,add_loopIdx3)
doAssignment val,ArrayElement(keys,idx)
setArrElement avalues,idx,val
add_loopIdx3=add_loopIdx3+1
loop
end if
if bValue(auditObj) then
auditObj.LogAdd_p3 strTableName,avalues,keys
end if
if bValue(eventObj.exists_p1("AfterAdd")) then
eventObj.AfterAdd_p3 avalues,keys,bValue(inlineadd)
end if
if IsEqual(inlineadd,ADD_SIMPLE) or IsEqual(inlineadd,ADD_MASTER) then
Set permis = (CreateDictionary())
keylink = ""
k = 0
GetCollectionBounds keys,add_loopIdx4,add_loopMax4
do while add_loopIdx4<=add_loopMax4
idx = GetCollectionKey(keys,add_loopIdx4)
doAssignment val,ArrayElement(keys,idx)
if not IsEqual(k,0) then
keylink = CSmartStr(keylink) & "&"
end if
keylink = CSmartStr(keylink) & ((("editid" & CSmartStr(preInc(k))) & "=") & CSmartStr(htmlspecialchars(asp_rawurlencode(val))))
add_loopIdx4=add_loopIdx4+1
loop
doAssignmentByRef permis,pageObject.getPermissions()
if bValue(asp_count(keys)) then
message = CSmartStr(message) & ""
if bValue(GetTableData(strTableName,".edit",false)) and bValue(ArrayElement(permis,"edit")) then
message = CSmartStr(message) & ((((" ") & CSmartStr("Edit")) & " ")
end if
if bValue(GetTableData(strTableName,".view",false)) and bValue(ArrayElement(permis,"search")) then
message = CSmartStr(message) & ((((" ") & CSmartStr("View")) & " ")
end if
end if
mesClass = "mes_ok"
end if
else
if not IsEqual(inlineadd,ADD_INLINE) then
mesClass = "mes_not"
end if
end if
else
doAssignment message,usermessage
status = "DECLINED"
readavalues = true
end if
end if
message = ((("
") & CSmartStr(message)) & "
"
if (bValue(no_output_done()) and IsEqual(inlineadd,ADD_SIMPLE)) and bValue(IsSaved) then
setArrElement Session,"message",IIF(message,message,"")
asp_header ("Location: courses_" & CSmartStr(pageObject.getPageType())) & ".asp"
Response.End
end if
if IsEqual(inlineadd,ADD_MASTER) and bValue(IsSaved) then
setArrElement Session,"message",IIF(message,message,"")
end if
if IsEqual(inlineadd,ADD_SIMPLE) and not IsEmpty(Session("message")) then
doAssignment message,Session("message")
asp_unsetElement Session,"message"
end if
Set defvalues = (CreateDictionary())
if bValue(asp_array_key_exists("copyid1",Request)) or bValue(asp_array_key_exists("editid1",Request)) then
Set copykeys = (CreateDictionary())
if bValue(asp_array_key_exists("copyid1",Request)) then
setArrElement copykeys,"CourseID",postvalue("copyid1")
else
setArrElement copykeys,"CourseID",postvalue("editid1")
end if
doAssignmentByRef strWhere,KeyWhere(copykeys,"")
doAssignmentByRef strSQL,gSQLWhere(strWhere,"")
LogInfo strSQL
doAssignmentByRef rs,db_query(strSQL,conn)
doAssignmentByRef defvalues,db_fetch_array(rs)
if not bValue(defvalues) then
Set defvalues = (CreateDictionary())
end if
setArrElement defvalues,"CourseID",""
if bValue(eventObj.exists_p1("CopyOnLoad")) then
eventObj.CopyOnLoad_p2 defvalues,strWhere
end if
else
end if
if IsEqual(Session(CSmartStr(sessionPrefix) & "_mastertable"),"customer") then
if bValue(postvalue("masterkey1")) then
setArrElement Session,CSmartStr(sessionPrefix) & "_masterkey1",postvalue("masterkey1")
end if
setArrElement defvalues,"CourseID",Session(CSmartStr(sessionPrefix) & "_masterkey1")
end if
if bValue(readavalues) then
setArrElement defvalues,"CourseTitle",ArrayElement(avalues,"CourseTitle")
setArrElement defvalues,"CEUCredit",ArrayElement(avalues,"CEUCredit")
setArrElement defvalues,"Location",ArrayElement(avalues,"Location")
setArrElement defvalues,"CourseDates",ArrayElement(avalues,"CourseDates")
setArrElement defvalues,"DurationInDays",ArrayElement(avalues,"DurationInDays")
setArrElement defvalues,"Tuitionfees",ArrayElement(avalues,"Tuitionfees")
end if
if bValue(eventObj.exists_p1("ProcessValuesAdd")) then
eventObj.ProcessValuesAdd_p1 defvalues
end if
includes = ""
if not IsEqual(inlineadd,ADD_INLINE) then
if not IsEqual(inlineadd,ADD_ONTHEFLY) and not IsEqual(inlineadd,ADD_POPUP) then
includes = CSmartStr(includes) & "" & vbcrlf
if IsIdentical(pageObject.debugJSMode,true) then
includes = CSmartStr(includes) & "" & vbcrlf
else
includes = CSmartStr(includes) & ""
end if
includes = CSmartStr(includes) & "" & vbcrlf
includes = CSmartStr(includes) & "" & vbcrlf
end if
if not bValue(pageObject.isAppearOnTabs_p1("CourseTitle")) then
xt.assign_p2 "CourseTitle_fieldblock",true
else
xt.assign_p2 "CourseTitle_tabfieldblock",true
end if
xt.assign_p2 "CourseTitle_label",true
if bValue(isEnableSection508()) then
xt.assign_section_p3 "CourseTitle_label",(""
end if
if not bValue(pageObject.isAppearOnTabs_p1("CEUCredit")) then
xt.assign_p2 "CEUCredit_fieldblock",true
else
xt.assign_p2 "CEUCredit_tabfieldblock",true
end if
xt.assign_p2 "CEUCredit_label",true
if bValue(isEnableSection508()) then
xt.assign_section_p3 "CEUCredit_label",(""
end if
if not bValue(pageObject.isAppearOnTabs_p1("Location")) then
xt.assign_p2 "Location_fieldblock",true
else
xt.assign_p2 "Location_tabfieldblock",true
end if
xt.assign_p2 "Location_label",true
if bValue(isEnableSection508()) then
xt.assign_section_p3 "Location_label",(""
end if
if not bValue(pageObject.isAppearOnTabs_p1("CourseDates")) then
xt.assign_p2 "CourseDates_fieldblock",true
else
xt.assign_p2 "CourseDates_tabfieldblock",true
end if
xt.assign_p2 "CourseDates_label",true
if bValue(isEnableSection508()) then
xt.assign_section_p3 "CourseDates_label",(""
end if
if not bValue(pageObject.isAppearOnTabs_p1("DurationInDays")) then
xt.assign_p2 "DurationInDays_fieldblock",true
else
xt.assign_p2 "DurationInDays_tabfieldblock",true
end if
xt.assign_p2 "DurationInDays_label",true
if bValue(isEnableSection508()) then
xt.assign_section_p3 "DurationInDays_label",(""
end if
if not bValue(pageObject.isAppearOnTabs_p1("Tuitionfees")) then
xt.assign_p2 "Tuitionfees_fieldblock",true
else
xt.assign_p2 "Tuitionfees_tabfieldblock",true
end if
xt.assign_p2 "Tuitionfees_label",true
if bValue(isEnableSection508()) then
xt.assign_section_p3 "Tuitionfees_label",(""
end if
if not IsEqual(inlineadd,ADD_ONTHEFLY) and not IsEqual(inlineadd,ADD_POPUP) then
setArrElement pageObject.body,"begin",CSmartStr(ArrayElement(pageObject.body,"begin")) & CSmartStr(includes)
if bValue(pageObject.isShowDetailTables) then
setArrElement pageObject.body,"begin",CSmartStr(ArrayElement(pageObject.body,"begin")) & "
"
end if
xt.assign_p2 "backbutton_attrs",("id=""backButton" & CSmartStr(id)) & """"
xt.assign_p2 "back_button",true
else
xt.assign_p2 "cancelbutton_attrs",("id=""cancelButton" & CSmartStr(id)) & """"
xt.assign_p2 "cancel_button",true
xt.assign_p2 "header",""
end if
xt.assign_p2 "save_button",true
end if
xt.assign_p2 "savebutton_attrs",("id=""saveButton" & CSmartStr(id)) & """"
if bValue(message) then
xt.assign_p2 "message_block",true
xt.assign_p2 "message",message
end if
Set readonlyfields = (CreateDictionary())
linkdata = ""
if IsEqual(GetRequestValue(RequestForm(),"a"),"added") and IsEqual(inlineadd,ADD_ONTHEFLY) then
if not bValue(error_happened) and not IsEqual(status,"DECLINED") then
LookupSQL = ""
linkfield = ""
dispfield = ""
if bValue(LookupSQL) then
LookupSQL = CSmartStr(LookupSQL) & (" from " & CSmartStr(AddTableWrappers(strOriginalTableName)))
end if
data = 0
if bValue(asp_count(keys)) and bValue(LookupSQL) then
doAssignmentByRef where,KeyWhere(keys,"")
LookupSQL = CSmartStr(LookupSQL) & (" where " & CSmartStr(where))
doAssignmentByRef rs,db_query(LookupSQL,conn)
doAssignmentByRef data,db_fetch_numarray(rs)
end if
if bValue(data) then
Set respData = (CreateDictionary2(linkfield,ArrayElement(data,0),dispfield,ArrayElement(data,1)))
else
Set respData = (CreateDictionary2(linkfield,ArrayElement(avalues,linkfield),dispfield,ArrayElement(avalues,dispfield)))
end if
setArrElement returnJSON,"success",true
setArrElement returnJSON,"keys",keys
setArrElement returnJSON,"vals",respData
setArrElement returnJSON,"fields",showFields
else
setArrElement returnJSON,"success",false
setArrElement returnJSON,"message",message
end if
ResponseWrite (""
Response.End
end if
if IsEqual(GetRequestValue(RequestForm(),"a"),"added") and ((IsEqual(inlineadd,ADD_INLINE) or IsEqual(inlineadd,ADD_MASTER)) or IsEqual(inlineadd,ADD_POPUP)) then
dispFieldAlias = ""
data = 0
if bValue(asp_count(keys)) then
doAssignmentByRef where,KeyWhere(keys,"")
doAssignmentByRef sqlHead,gQuery.HeadToSql()
doAssignmentByRef sqlGroupBy,gQuery.GroupByToSql()
doAssignmentByRef oHaving,gQuery.Having()
doAssignmentByRef sqlHaving,oHaving.toSql_p1(gQuery)
doAssignmentByRef dispFieldAlias,postvalue("dispFieldAlias")
doAssignmentByRef dispField,postvalue("dispField")
if bValue(dispFieldAlias) then
sqlHead = CSmartStr(sqlHead) & ((((", " & CSmartStr(dispField)) & " as ") & CSmartStr(AddFieldWrappers(dispFieldAlias))) & " ")
end if
doAssignmentByRef strSQL,gSQLWhere_having(sqlHead,gsqlFrom,gsqlWhereExpr,sqlGroupBy,sqlHaving,where,"")
LogInfo strSQL
doAssignmentByRef rs,db_query(strSQL,conn)
doAssignmentByRef data,db_fetch_array(rs)
end if
if not bValue(data) then
doAssignment data,avalues
HaveData = false
end if
keylink = ""
keylink = CSmartStr(keylink) & ("&key1=" & CSmartStr(htmlspecialchars(asp_rawurlencode(ArrayElement(data,"CourseID")))))
display = false
if (IsEqual(inlineadd,ADD_INLINE) or IsEqual(inlineadd,ADD_ONTHEFLY)) or IsEqual(inlineadd,ADD_POPUP) then
display = true
end if
if bValue(display) then
value = ""
doAssignmentByRef value,ProcessLargeText(GetData(data,"CourseID",""),"field=CourseID" & CSmartStr(keylink),"",MODE_LIST,"")
setArrElement showValues,"CourseID",value
setArrElement showFields,asp_count(showFields),"CourseID"
setArrElement showRawValues,"CourseID",asp_substr(ArrayElement(data,"CourseID"),0,100)
end if
display = false
if IsEqual(inlineadd,ADD_MASTER) then
display = true
end if
if (IsEqual(inlineadd,ADD_INLINE) or IsEqual(inlineadd,ADD_ONTHEFLY)) or IsEqual(inlineadd,ADD_POPUP) then
display = true
end if
if bValue(display) then
value = ""
doAssignmentByRef value,ProcessLargeText(GetData(data,"CourseTitle",""),"field=CourseTitle" & CSmartStr(keylink),"",MODE_LIST,"")
setArrElement showValues,"CourseTitle",value
setArrElement showFields,asp_count(showFields),"CourseTitle"
setArrElement showRawValues,"CourseTitle",asp_substr(ArrayElement(data,"CourseTitle"),0,100)
end if
display = false
if IsEqual(inlineadd,ADD_MASTER) then
display = true
end if
if (IsEqual(inlineadd,ADD_INLINE) or IsEqual(inlineadd,ADD_ONTHEFLY)) or IsEqual(inlineadd,ADD_POPUP) then
display = true
end if
if bValue(display) then
value = ""
doAssignmentByRef value,ProcessLargeText(GetData(data,"CEUCredit","Number"),"field=CEUCredit" & CSmartStr(keylink),"",MODE_LIST,"")
setArrElement showValues,"CEUCredit",value
setArrElement showFields,asp_count(showFields),"CEUCredit"
setArrElement showRawValues,"CEUCredit",asp_substr(ArrayElement(data,"CEUCredit"),0,100)
end if
display = false
if IsEqual(inlineadd,ADD_MASTER) then
display = true
end if
if (IsEqual(inlineadd,ADD_INLINE) or IsEqual(inlineadd,ADD_ONTHEFLY)) or IsEqual(inlineadd,ADD_POPUP) then
display = true
end if
if bValue(display) then
value = ""
doAssignmentByRef value,ProcessLargeText(GetData(data,"Location",""),"field=Location" & CSmartStr(keylink),"",MODE_LIST,"")
setArrElement showValues,"Location",value
setArrElement showFields,asp_count(showFields),"Location"
setArrElement showRawValues,"Location",asp_substr(ArrayElement(data,"Location"),0,100)
end if
display = false
if IsEqual(inlineadd,ADD_MASTER) then
display = true
end if
if (IsEqual(inlineadd,ADD_INLINE) or IsEqual(inlineadd,ADD_ONTHEFLY)) or IsEqual(inlineadd,ADD_POPUP) then
display = true
end if
if bValue(display) then
value = ""
doAssignmentByRef value,ProcessLargeText(GetData(data,"CourseDates",""),"field=CourseDates" & CSmartStr(keylink),"",MODE_LIST,"")
setArrElement showValues,"CourseDates",value
setArrElement showFields,asp_count(showFields),"CourseDates"
setArrElement showRawValues,"CourseDates",asp_substr(ArrayElement(data,"CourseDates"),0,100)
end if
display = false
if IsEqual(inlineadd,ADD_MASTER) then
display = true
end if
if (IsEqual(inlineadd,ADD_INLINE) or IsEqual(inlineadd,ADD_ONTHEFLY)) or IsEqual(inlineadd,ADD_POPUP) then
display = true
end if
if bValue(display) then
value = ""
doAssignmentByRef value,ProcessLargeText(GetData(data,"DurationInDays",""),"field=DurationInDays" & CSmartStr(keylink),"",MODE_LIST,"")
setArrElement showValues,"DurationInDays",value
setArrElement showFields,asp_count(showFields),"DurationInDays"
setArrElement showRawValues,"DurationInDays",asp_substr(ArrayElement(data,"DurationInDays"),0,100)
end if
display = false
if IsEqual(inlineadd,ADD_MASTER) then
display = true
end if
if (IsEqual(inlineadd,ADD_INLINE) or IsEqual(inlineadd,ADD_ONTHEFLY)) or IsEqual(inlineadd,ADD_POPUP) then
display = true
end if
if bValue(display) then
value = ""
doAssignmentByRef value,ProcessLargeText(GetData(data,"Tuitionfees","Number"),"field=Tuitionfees" & CSmartStr(keylink),"",MODE_LIST,"")
setArrElement showValues,"Tuitionfees",value
setArrElement showFields,asp_count(showFields),"Tuitionfees"
setArrElement showRawValues,"Tuitionfees",asp_substr(ArrayElement(data,"Tuitionfees"),0,100)
end if
if bValue(dispFieldAlias) then
setArrElement showValues,asp_count(showValues),ArrayElement(data,dispFieldAlias)
setArrElement showFields,asp_count(showFields),dispFieldAlias
setArrElement showRawValues,asp_count(showRawValues),asp_substr(ArrayElement(data,dispFieldAlias),0,100)
end if
if IsEqual(inlineadd,ADD_INLINE) or IsEqual(inlineadd,ADD_POPUP) then
if bValue(IsSaved) and bValue(asp_count(showValues)) then
setArrElement returnJSON,"success",true
if bValue(HaveData) then
setArrElement returnJSON,"noKeys",false
else
setArrElement returnJSON,"noKeys",true
end if
setArrElement returnJSON,"keys",keys
setArrElement returnJSON,"vals",showValues
setArrElement returnJSON,"fields",showFields
setArrElement returnJSON,"rawVals",showRawValues
setArrElement returnJSON,"detKeys",showDetailKeys
setArrElement returnJSON,"userMess",usermessage
else
setArrElement returnJSON,"success",false
setArrElement returnJSON,"message",message
end if
ResponseWrite (""
Response.End
end if
end if
if IsEqual(inlineadd,ADD_MASTER) then
Set respJSON = (CreateDictionary())
if IsEqual(GetRequestValue(RequestForm(),"a"),"added") and bValue(IsSaved) then
setArrElement respJSON,"success",true
setArrElement respJSON,"fields",showFields
setArrElement respJSON,"vals",showValues
if bValue(onFly) then
if bValue(HaveData) then
setArrElement returnJSON,"noKeys",false
else
setArrElement returnJSON,"noKeys",true
end if
setArrElement respJSON,"keys",keys
setArrElement respJSON,"rawVals",showRawValues
setArrElement respJSON,"detKeys",showDetailKeys
setArrElement respJSON,"userMess",usermessage
end if
setArrElement respJSON,"mKeys",CreateDictionary()
i = 0
do while IsLess(i,asp_count(ArrayElement(dpParams,"ids")))
data = 0
if bValue(asp_count(keys)) then
doAssignmentByRef where,KeyWhere(keys,"")
doAssignmentByRef strSQL,gSQLWhere(where,"")
LogInfo strSQL
doAssignmentByRef rs,db_query(strSQL,conn)
doAssignmentByRef data,db_fetch_array(rs)
end if
if not bValue(data) then
doAssignment data,avalues
end if
mKeyId = 1
GetCollectionBounds ArrayElement(mKeys,ArrayElement(ArrayElement(dpParams,"strTableNames"),i)),add_loopIdx6,add_loopMax6
do while add_loopIdx6<=add_loopMax6
add_arrKey6 = GetCollectionKey(ArrayElement(mKeys,ArrayElement(ArrayElement(dpParams,"strTableNames"),i)),add_loopIdx6)
doAssignment mk,ArrayElement(ArrayElement(mKeys,ArrayElement(ArrayElement(dpParams,"strTableNames"),i)),add_arrKey6)
if bValue(ArrayElement(data,mk)) then
setArrElementN respJSON,CreateArray3("mKeys",ArrayElement(ArrayElement(dpParams,"strTableNames"),i),"masterkey" & CSmartStr(postInc(mKeyId))),ArrayElement(data,mk)
else
setArrElementN respJSON,CreateArray3("mKeys",ArrayElement(ArrayElement(dpParams,"strTableNames"),i),"masterkey" & CSmartStr(postInc(mKeyId))),""
end if
add_loopIdx6=add_loopIdx6+1
loop
i = CSmartDbl(i)+1
loop
if (not IsEmpty(Session(CSmartStr(strTableName) & "_count_captcha")) or IsLess(0,Session(CSmartStr(strTableName) & "_count_captcha"))) or IsLess(Session(CSmartStr(strTableName) & "_count_captcha"),5) then
setArrElement respJSON,"hideCaptha",true
end if
else
setArrElement respJSON,"success",false
if not bValue(pageObject.isCaptchaOk) then
setArrElement respJSON,"captha",false
else
setArrElement respJSON,"error",message
end if
if bValue(onFly) then
setArrElement respJSON,"message",message
end if
end if
ResponseWrite (""
Response.End
end if
regex = ""
regexmessage = ""
regextype = ""
Set control = (CreateDictionary())
GetCollectionBounds addFields,add_loopIdx7,add_loopMax7
do while add_loopIdx7<=add_loopMax7
add_arrKey7 = GetCollectionKey(addFields,add_loopIdx7)
doAssignment fName,ArrayElement(addFields,add_arrKey7)
doAssignmentByRef gfName,GoodFieldName(fName)
Set controls = (CreateDictionary1("controls",CreateDictionary()))
if (not bValue(detailKeys) or not bValue(asp_in_array(fName,detailKeys,false))) or IsEqual(fName,postvalue("category")) then
setArrElement control,gfName,CreateDictionary()
setArrElementN control,CreateArray2(gfName,"func"),"xt_buildeditcontrol"
setArrElementN control,CreateArray2(gfName,"params"),CreateDictionary()
setArrElementN control,CreateArray3(gfName,"params","id"),id
setArrElementN control,CreateArray3(gfName,"params","field"),fName
setArrElementN control,CreateArray3(gfName,"params","value"),ArrayElement(defvalues,fName)
if bValue(UseRTE(fName,"")) then
setArrElement Session,((CSmartStr(strTableName) & "_") & CSmartStr(fName)) & "_rte",ArrayElement(defvalues,fName)
end if
doAssignmentByRef arrValidate,getValidation(fName,strTableName)
setArrElementN control,CreateArray3(gfName,"params","validate"),arrValidate
end if
setArrElementN controls,CreateArray2("controls","ctrlInd"),0
setArrElementN controls,CreateArray2("controls","id"),id
setArrElementN controls,CreateArray2("controls","fieldName"),fName
if (bValue(UseRTEFCK(fName,"")) or bValue(UseRTEInnova(fName,""))) or bValue(UseRTEBasic(fName,"")) then
if not bValue(detailKeys) or not bValue(asp_in_array(fName,detailKeys,false)) then
setArrElementN control,CreateArray3(gfName,"params","mode"),"add"
end if
setArrElementN controls,CreateArray2("controls","mode"),"add"
else
if IsEqual(inlineadd,ADD_ONTHEFLY) or IsEqual(inlineadd,ADD_POPUP) then
if (not bValue(detailKeys) or not bValue(asp_in_array(fName,detailKeys,false))) or IsEqual(fName,postvalue("category")) then
setArrElementN control,CreateArray3(gfName,"params","mode"),"inline_add"
end if
setArrElementN controls,CreateArray2("controls","mode"),"inline_add"
else
if (not bValue(detailKeys) or not bValue(asp_in_array(fName,detailKeys,false))) or IsEqual(fName,postvalue("category")) then
setArrElementN control,CreateArray3(gfName,"params","mode"),"add"
end if
setArrElementN controls,CreateArray2("controls","mode"),"add"
end if
end if
if not bValue(detailKeys) or not bValue(asp_in_array(fName,detailKeys,false)) then
xt.assignbyref_p2 CSmartStr(gfName) & "_editcontrol",ArrayElement(control,gfName)
else
if bValue(detailKeys) and bValue(asp_in_array(fName,detailKeys,false)) then
setArrElementN controls,CreateArray2("controls","value"),ArrayElement(defvalues,fName)
end if
end if
doAssignmentByRef strCategoryControl,pageObject.hasDependField_p1(fName)
if not IsFalse(strCategoryControl) and bValue(asp_in_array(strCategoryControl,addFields,false)) then
Set vals = (CreateDictionary2(fName,ArrayElement(defvalues,fName),strCategoryControl,ArrayElement(defvalues,strCategoryControl)))
else
Set vals = (CreateDictionary1(fName,ArrayElement(defvalues,fName)))
end if
doAssignmentByRef preload,pageObject.fillPreload_p2(fName,vals)
if not IsFalse(preload) then
setArrElementN controls,CreateArray2("controls","preloadData"),preload
end if
pageObject.fillControlsMap_p1 controls
pageObject.fillFieldToolTips_p1 fName
if IsEqual(GetEditFormat(fName,""),"Time") then
pageObject.fillTimePickSettings_p2 fName,ArrayElement(defvalues,fName)
end if
if (bValue(detailKeys) and bValue(asp_in_array(fName,detailKeys,false)) or IsEqual(fName,postvalue("category"))) and bValue(asp_array_key_exists(fName,defvalues)) then
if (IsEqual(GetEditFormat(fName,""),EDIT_FORMAT_LOOKUP_WIZARD) or IsEqual(GetEditFormat(fName,""),EDIT_FORMAT_RADIO)) and IsEqual(GetpLookupType(fName,""),LT_LOOKUPTABLE) then
doAssignmentByRef value,DisplayLookupWizard(fName,ArrayElement(defvalues,fName),defvalues,"",MODE_VIEW)
else
if bValue(NeedEncode(fName,"")) then
doAssignmentByRef value,ProcessLargeText(GetData(defvalues,fName,ViewFormat(fName,"")),"field=" & CSmartStr(asp_rawurlencode(htmlspecialchars(fName))),"",MODE_VIEW,"")
else
doAssignmentByRef value,GetData(defvalues,fName,ViewFormat(fName,""))
end if
end if
xt.assign_p2 CSmartStr(gfName) & "_editcontrol",value
end if
add_loopIdx7=add_loopIdx7+1
loop
pageObject.fillCntrlTabGroups
pageObject.fillSetCntrlMaps
if bValue(pageObject.isShowDetailTables) and (IsEqual(inlineadd,ADD_SIMPLE) or IsEqual(inlineadd,ADD_POPUP)) then
Set options = (CreateDictionary())
setArrElement options,"mode",LIST_DETAILS
setArrElement options,"pageType",PAGE_LIST
setArrElement options,"masterPageType",PAGE_ADD
setArrElement options,"mainMasterPageType",PAGE_ADD
setArrElement options,"masterTable",strTableName
setArrElement options,"firstTime",1
if bValue(asp_count(ArrayElement(dpParams,"ids"))) then
xt.assign_p2 "detail_tables",true
asp_include "classes/listpage.asp",false
asp_include "classes/listpage_embed.asp",false
asp_include "classes/listpage_dpinline.asp",false
asp_include "classes/searchclause.asp",false
end if
Set dControlsMap = (CreateDictionary())
flyId = CSmartDbl(ids)+1
d = 0
do while IsLess(d,asp_count(ArrayElement(dpParams,"ids")))
doAssignment strTableName,ArrayElement(ArrayElement(dpParams,"strTableNames"),d)
asp_include ("include/" & CSmartStr(GetTableURL(strTableName))) & "_settings.asp",false
setArrElement options,"xt",CreateClass("Xtempl",0,Empty,Empty,Empty,Empty,Empty,Empty,Empty)
setArrElement options,"id",ArrayElement(ArrayElement(dpParams,"ids"),d)
setArrElement options,"flyId",postInc(flyId)
mkr = 1
GetCollectionBounds ArrayElement(mKeys,strTableName),add_loopIdx9,add_loopMax9
do while add_loopIdx9<=add_loopMax9
add_arrKey9 = GetCollectionKey(ArrayElement(mKeys,strTableName),add_loopIdx9)
doAssignment mk,ArrayElement(ArrayElement(mKeys,strTableName),add_arrKey9)
if bValue(ArrayElement(defvalues,mk)) then
setArrElementN options,CreateArray2("masterKeysReq",postInc(mkr)),ArrayElement(defvalues,mk)
else
setArrElementN options,CreateArray2("masterKeysReq",postInc(mkr)),""
end if
add_loopIdx9=add_loopIdx9+1
loop
doAssignmentByRef listPageObject,method_ListPage_createListPage(this_object,strTableName,options)
listPageObject.prepareForBuildPage
flyId = CSmartDbl(listPageObject.recId)+1
if bValue(listPageObject.isDispGrid()) then
listPageObject.fillSetCntrlMaps
setArrElementN pageObject.jsSettings,CreateArray2("tableSettings",strTableName),ArrayElement(ArrayElement(listPageObject.jsSettings,"tableSettings"),strTableName)
setArrElementN dControlsMap,CreateArray2(strTableName,"gridRows"),ArrayElement(ArrayElement(ArrayElement(ArrayElement(listPageObject.controlsHTMLMap,strTableName),PAGE_LIST),ArrayElement(ArrayElement(dpParams,"ids"),d)),"gridRows")
setArrElementN dControlsMap,CreateArray2(strTableName,"video"),ArrayElement(ArrayElement(ArrayElement(ArrayElement(listPageObject.controlsHTMLMap,strTableName),PAGE_LIST),ArrayElement(ArrayElement(dpParams,"ids"),d)),"video")
setArrElementN dControlsMap,CreateArray2(strTableName,"gMaps"),ArrayElement(ArrayElement(ArrayElement(ArrayElement(listPageObject.controlsHTMLMap,strTableName),PAGE_LIST),ArrayElement(ArrayElement(dpParams,"ids"),d)),"gMaps")
GetCollectionBounds ArrayElement(ArrayElement(listPageObject.jsSettings,"global"),"shortTNames"),add_loopIdx10,add_loopMax10
do while add_loopIdx10<=add_loopMax10
key = GetCollectionKey(ArrayElement(ArrayElement(listPageObject.jsSettings,"global"),"shortTNames"),add_loopIdx10)
doAssignment val,ArrayElement(ArrayElement(ArrayElement(listPageObject.jsSettings,"global"),"shortTNames"),key)
if not bValue(asp_array_key_exists(key,ArrayElement(ArrayElement(pageObject.jsSettings,"global"),"shortTNames"))) then
setArrElementN pageObject.jsSettings,CreateArray3("global","shortTNames",key),val
end if
add_loopIdx10=add_loopIdx10+1
loop
pageObject.copyAllJSFiles_p1 listPageObject.grabAllJSFiles()
pageObject.copyAllCSSFiles_p1 listPageObject.grabAllCSSFiles()
end if
xt.assign_p2 "displayDetailTable_" & CSmartStr(GoodFieldName(strTableName)),CreateDictionary2("func","showDetailTable","params",CreateDictionary2("dpObject",listPageObject,"dpParams",strTableName))
d = CSmartDbl(d)+1
loop
strTableName = "courses"
setArrElementN pageObject.controlsHTMLMap,CreateArray4(strTableName,PAGE_ADD,id,"dControlsMap"),dControlsMap
end if
if IsEqual(inlineadd,ADD_SIMPLE) then
setArrElement pageObject.body,"end",CSmartStr(ArrayElement(pageObject.body,"end")) & ""
else
setArrElement returnJSON,"controlsMap",pageObject.controlsHTMLMap
setArrElement returnJSON,"settings",pageObject.jsSettings
end if
pageObject.addCommonJs
doAssignmentByRef jscode,pageObject.PrepareJS()
if IsEqual(inlineadd,ADD_SIMPLE) then
setArrElement pageObject.body,"end",CSmartStr(ArrayElement(pageObject.body,"end")) & (("")
xt.assign_p2 "body",pageObject.body
xt.assign_p2 "flybody",true
else
if (IsEqual(inlineadd,ADD_ONTHEFLY) or IsEqual(inlineadd,ADD_MASTER)) or IsEqual(inlineadd,ADD_POPUP) then
xt.assign_p2 "footer",""
xt.assign_p2 "flybody",pageObject.body
xt.assign_p2 "body",true
end if
end if
xt.assign_p2 "style_block",true
pageObject.xt.assign_p2 "legendBreak"," "
if bValue(eventObj.exists_p1("BeforeShowAdd")) then
eventObj.BeforeShowAdd_p2 xt,templatefile
end if
if IsEqual(inlineadd,ADD_ONTHEFLY) or IsEqual(inlineadd,ADD_POPUP) then
xt.load_template_p1 templatefile
setArrElement returnJSON,"html",CSmartStr(xt.fetch_loaded_p1("style_block")) & CSmartStr(xt.fetch_loaded_p1("flybody"))
if IsEqual(inlineadd,ADD_POPUP) and bValue(pageObject.isShowDetailTables) then
setArrElement returnJSON,"html",CSmartStr(ArrayElement(returnJSON,"html")) & CSmartStr(xt.fetch_loaded_p1("detail_tables"))
end if
setArrElement returnJSON,"idStartFrom",CSmartDbl(id)+1
ResponseWrite my_json_encode(returnJSON)
else
if IsEqual(inlineadd,ADD_INLINE) then
xt.load_template_p1 templatefile
setArrElement returnJSON,"html",CreateDictionary()
GetCollectionBounds addFields,add_loopIdx11,add_loopMax11
do while add_loopIdx11<=add_loopMax11
add_arrKey11 = GetCollectionKey(addFields,add_loopIdx11)
doAssignment fName,ArrayElement(addFields,add_arrKey11)
setArrElementN returnJSON,CreateArray2("html",fName),xt.fetchVar_p1(CSmartStr(GoodFieldName(fName)) & "_editcontrol")
add_loopIdx11=add_loopIdx11+1
loop
ResponseWrite my_json_encode(returnJSON)
else
xt.display_p1 templatefile
end if
end if
%>