public static XVar PrepareSQL(dynamic _param_sql, params dynamic[] _param_args) { #region pass-by-value parameters dynamic sql = XVar.Clone(_param_sql); dynamic args = XVar.Clone(_param_args); #endregion dynamic context = null, offsetShift = null, replacements = XVar.Array(), tokens = XVar.Array(); args = XVar.Clone(CommonFunctions.func_get_args(_param_sql, _param_args)); GlobalVars.conn = XVar.Clone(CurrentConnection()); context = XVar.Clone(RunnerContext.current()); tokens = XVar.Clone(scanTokenString((XVar)(sql))); replacements = XVar.Clone(XVar.Array()); foreach (KeyValuePair <XVar, dynamic> match in tokens["matches"].GetEnumerator()) { dynamic offset = null, repl = XVar.Array(), token = null, val = null; offset = XVar.Clone(tokens["offsets"][match.Key]); token = XVar.Clone(tokens["tokens"][match.Key]); repl = XVar.Clone(new XVar("offset", offset, "len", MVCFunctions.strlen((XVar)(match.Value)))); val = new XVar(""); if ((XVar)(MVCFunctions.IsNumeric(token)) && (XVar)(token < MVCFunctions.count(args))) { val = XVar.Clone(args[(int)token]); } else { val = XVar.Clone(context.getValue((XVar)(token))); } if (XVar.Pack(GlobalVars.conn.positionQuoted((XVar)(sql), (XVar)(offset)))) { repl.InitAndSetArrayItem(GlobalVars.conn.addSlashes((XVar)(val)), "insert"); } else { if (XVar.Pack(MVCFunctions.IsNumeric(val))) { repl.InitAndSetArrayItem(prepareNumberValue((XVar)(val)), "insert"); } else { repl.InitAndSetArrayItem(val, "insert"); } } replacements.InitAndSetArrayItem(repl, null); } offsetShift = new XVar(0); foreach (KeyValuePair <XVar, dynamic> r in replacements.GetEnumerator()) { sql = XVar.Clone(MVCFunctions.substr_replace((XVar)(sql), (XVar)(r.Value["insert"]), (XVar)(r.Value["offset"] + offsetShift), (XVar)(r.Value["len"]))); offsetShift += MVCFunctions.strlen((XVar)(r.Value["insert"])) - r.Value["len"]; } return(sql); }
public static XVar buttonHandler_Guia_de_Permisos(dynamic _param_params) { #region pass-by-value parameters dynamic var_params = XVar.Clone(_param_params); #endregion dynamic ajax = null, button = null, contextParams = XVar.Array(), keys = null, masterData = null, result = null; result = XVar.Clone(XVar.Array()); var_params.InitAndSetArrayItem(MVCFunctions.my_json_decode((XVar)(MVCFunctions.postvalue(new XVar("keys")))), "keys"); var_params.InitAndSetArrayItem(MVCFunctions.postvalue(new XVar("isManyKeys")), "isManyKeys"); var_params.InitAndSetArrayItem(MVCFunctions.postvalue(new XVar("location")), "location"); button = XVar.Clone(new Button((XVar)(var_params))); ajax = XVar.Clone(button); keys = XVar.Clone(button.getKeys()); masterData = new XVar(false); if ((XVar)(var_params.KeyExists("masterData")) && (XVar)(0 < MVCFunctions.count(var_params["masterData"]))) { masterData = XVar.Clone(var_params["masterData"]); } else { if (XVar.Pack(var_params.KeyExists("masterTable"))) { masterData = XVar.Clone(button.getMasterData((XVar)(var_params["masterTable"]))); } } contextParams = XVar.Clone(XVar.Array()); if (var_params["location"] == Constants.PAGE_VIEW) { contextParams.InitAndSetArrayItem(button.getRecordData(), "data"); contextParams.InitAndSetArrayItem(masterData, "masterData"); } else { if (var_params["location"] == Constants.PAGE_EDIT) { contextParams.InitAndSetArrayItem(button.getRecordData(), "data"); contextParams.InitAndSetArrayItem(var_params["fieldsData"], "newData"); contextParams.InitAndSetArrayItem(masterData, "masterData"); } else { if (var_params["location"] == "grid") { var_params.InitAndSetArrayItem("list", "location"); contextParams.InitAndSetArrayItem(button.getRecordData(), "data"); contextParams.InitAndSetArrayItem(var_params["fieldsData"], "newData"); contextParams.InitAndSetArrayItem(masterData, "masterData"); } else { contextParams.InitAndSetArrayItem(masterData, "masterData"); } } } RunnerContext.push((XVar)(new RunnerContextItem((XVar)(var_params["location"]), (XVar)(contextParams)))); var eventContext = XVar.Array(); eventContext["var_params"] = var_params; eventContext["result"] = result; eventContext["keys"] = keys; eventContext["button"] = button; GlobalVars.globalEvents.event_Guia_de_Permisos(eventContext); result = eventContext["result"]; RunnerContext.pop(); MVCFunctions.Echo(MVCFunctions.my_json_encode((XVar)(result))); return(null); }
public XVar lookupsuggest() { try { dynamic LookupSQL = null, LookupSQLTable = null, LookupType = null, contextParams = XVar.Array(), data = XVar.Array(), displayFieldIndex = null, displayFieldName = null, field = null, isExistParent = null, likeConditionField = null, likeField = null, likeWheres = XVar.Array(), linkAndDisplaySame = null, linkFieldIndex = null, linkFieldName = null, lookupCipherer = null, lookupConnection = null, lookupField = null, lookupIndices = XVar.Array(), lookupOrderBy = null, lookupPSet = null, lookupQueryObj = null, lookupTable = null, lwDisplayField = null, masterTable = null, pageType = null, parentCtrlsData = XVar.Array(), qResult = null, respObj = null, searchByLinkField = null, strLookupWhere = null, strUniqueOrderBy = null, table = null, value = null, values = XVar.Array(), var_response = XVar.Array(); MVCFunctions.Header("Expires", "Thu, 01 Jan 1970 00:00:01 GMT"); table = XVar.Clone(MVCFunctions.postvalue(new XVar("table"))); if (XVar.Pack(!(XVar)(CommonFunctions.checkTableName((XVar)(table))))) { MVCFunctions.Echo(new XVar(0)); return(MVCFunctions.GetBuferContentAndClearBufer()); } Assembly.GetExecutingAssembly().GetType(MVCFunctions.Concat("runnerDotNet.", MVCFunctions.Concat("", table, ""), "_Variables")).InvokeMember("Apply", BindingFlags.InvokeMethod, null, null, null); pageType = XVar.Clone(MVCFunctions.postvalue(new XVar("pageType"))); GlobalVars.strTableName = XVar.Clone(CommonFunctions.GetTableByShort((XVar)(table))); GlobalVars.cipherer = XVar.Clone(new RunnerCipherer((XVar)(GlobalVars.strTableName))); GlobalVars.gSettings = XVar.Clone(new ProjectSettings((XVar)(GlobalVars.strTableName), (XVar)(pageType))); field = XVar.Clone(MVCFunctions.postvalue(new XVar("searchField"))); if (GlobalVars.gSettings.getEntityType() == Constants.titDASHBOARD) { dynamic dashFields = XVar.Array(); dashFields = XVar.Clone(GlobalVars.gSettings.getDashboardSearchFields()); table = XVar.Clone(MVCFunctions.GoodFieldName((XVar)(dashFields[field][0]["table"]))); GlobalVars.strTableName = XVar.Clone(CommonFunctions.GetTableByShort((XVar)(table))); field = XVar.Clone(MVCFunctions.GoodFieldName((XVar)(dashFields[field][0]["field"]))); if (XVar.Pack(!(XVar)(CommonFunctions.checkTableName((XVar)(table))))) { MVCFunctions.Echo(new XVar(0)); return(MVCFunctions.GetBuferContentAndClearBufer()); } Assembly.GetExecutingAssembly().GetType(MVCFunctions.Concat("runnerDotNet.", MVCFunctions.Concat("", table, ""), "_Variables")).InvokeMember("Apply", BindingFlags.InvokeMethod, null, null, null); GlobalVars.cipherer = XVar.Clone(new RunnerCipherer((XVar)(GlobalVars.strTableName))); GlobalVars.gSettings = XVar.Clone(new ProjectSettings((XVar)(GlobalVars.strTableName), (XVar)(pageType))); } masterTable = XVar.Clone(MVCFunctions.postvalue(new XVar("masterTable"))); if ((XVar)(masterTable != XVar.Pack("")) && (XVar)(XSession.Session.KeyExists(MVCFunctions.Concat(masterTable, "_masterRecordData")))) { contextParams.InitAndSetArrayItem(XSession.Session[MVCFunctions.Concat(masterTable, "_masterRecordData")], "masterData"); } contextParams.InitAndSetArrayItem(MVCFunctions.my_json_decode((XVar)(MVCFunctions.postvalue(new XVar("data")))), "data"); RunnerContext.push((XVar)(new RunnerContextItem((XVar)(pageType), (XVar)(contextParams)))); if (GlobalVars.strTableName != "dbo._ABCSecurity") { if (XVar.Pack(!(XVar)(CommonFunctions.isLogged()))) { return(MVCFunctions.GetBuferContentAndClearBufer()); } if ((XVar)((XVar)(!(XVar)(CommonFunctions.CheckSecurity((XVar)(XSession.Session[MVCFunctions.Concat("_", GlobalVars.strTableName, "_OwnerID")]), new XVar("Edit")))) && (XVar)(!(XVar)(CommonFunctions.CheckSecurity((XVar)(XSession.Session[MVCFunctions.Concat("_", GlobalVars.strTableName, "_OwnerID")]), new XVar("Add"))))) && (XVar)(!(XVar)(CommonFunctions.CheckSecurity((XVar)(XSession.Session[MVCFunctions.Concat("_", GlobalVars.strTableName, "_OwnerID")]), new XVar("Search"))))) { return(MVCFunctions.GetBuferContentAndClearBufer()); } } else { dynamic checkResult = null; checkResult = new XVar(true); if (field == "username") { checkResult = new XVar(false); } if (field == "password") { checkResult = new XVar(false); } if (XVar.Pack(checkResult)) { if (XVar.Pack(!(XVar)(CommonFunctions.isLogged()))) { return(MVCFunctions.GetBuferContentAndClearBufer()); } if ((XVar)((XVar)(!(XVar)(CommonFunctions.CheckSecurity((XVar)(XSession.Session[MVCFunctions.Concat("_", GlobalVars.strTableName, "_OwnerID")]), new XVar("Edit")))) && (XVar)(!(XVar)(CommonFunctions.CheckSecurity((XVar)(XSession.Session[MVCFunctions.Concat("_", GlobalVars.strTableName, "_OwnerID")]), new XVar("Add"))))) && (XVar)(!(XVar)(CommonFunctions.CheckSecurity((XVar)(XSession.Session[MVCFunctions.Concat("_", GlobalVars.strTableName, "_OwnerID")]), new XVar("Search"))))) { return(MVCFunctions.GetBuferContentAndClearBufer()); } } } isExistParent = XVar.Clone(MVCFunctions.postvalue(new XVar("isExistParent"))); searchByLinkField = XVar.Clone(MVCFunctions.postvalue(new XVar("searchByLinkField"))); parentCtrlsData = XVar.Clone(MVCFunctions.my_json_decode((XVar)(MVCFunctions.postvalue(new XVar("parentCtrlsData"))))); value = XVar.Clone(MVCFunctions.postvalue(new XVar("searchFor"))); values = XVar.Clone((XVar.Pack(MVCFunctions.postvalue(new XVar("multiselection"))) ? XVar.Pack(CommonFunctions.splitvalues((XVar)(value))) : XVar.Pack(new XVar(0, value)))); lookupField = new XVar(""); foreach (KeyValuePair <XVar, dynamic> f in GlobalVars.gSettings.getFieldsList().GetEnumerator()) { if ((XVar)(MVCFunctions.GoodFieldName((XVar)(f.Value)) == field) && (XVar)(GlobalVars.gSettings.getEditFormat((XVar)(f.Value)) == Constants.EDIT_FORMAT_LOOKUP_WIZARD)) { LookupType = XVar.Clone(GlobalVars.gSettings.getLookupType((XVar)(f.Value))); if ((XVar)(LookupType == Constants.LT_LOOKUPTABLE) || (XVar)(LookupType == Constants.LT_QUERY)) { lookupField = XVar.Clone(f.Value); break; } } } if (XVar.Pack(!(XVar)(lookupField))) { respObj = XVar.Clone(new XVar("success", false, "data", XVar.Array())); MVCFunctions.Echo(CommonFunctions.printJSON((XVar)(respObj))); MVCFunctions.Echo(new XVar("")); return(MVCFunctions.GetBuferContentAndClearBufer()); } lookupTable = XVar.Clone(GlobalVars.gSettings.getLookupTable((XVar)(lookupField))); linkFieldName = XVar.Clone(GlobalVars.gSettings.getLinkField((XVar)(lookupField))); displayFieldName = XVar.Clone(GlobalVars.gSettings.getDisplayField((XVar)(lookupField))); linkAndDisplaySame = XVar.Clone(displayFieldName == linkFieldName); if (LookupType == Constants.LT_QUERY) { lookupConnection = XVar.Clone(GlobalVars.cman.byTable((XVar)(lookupTable))); } else { dynamic connId = null; connId = XVar.Clone(GlobalVars.gSettings.getNotProjectLookupTableConnId((XVar)(lookupField))); lookupConnection = XVar.Clone((XVar.Pack(MVCFunctions.strlen((XVar)(connId))) ? XVar.Pack(GlobalVars.cman.byId((XVar)(connId))) : XVar.Pack(GlobalVars.cman.getDefault()))); } lookupOrderBy = XVar.Clone(GlobalVars.gSettings.getLookupOrderBy((XVar)(lookupField))); if (lookupConnection.dbType == Constants.nDATABASE_MSSQLServer) { strUniqueOrderBy = XVar.Clone(lookupOrderBy); } if (LookupType == Constants.LT_QUERY) { lookupPSet = XVar.Clone(new ProjectSettings((XVar)(lookupTable), (XVar)(pageType))); lookupCipherer = XVar.Clone(new RunnerCipherer((XVar)(lookupTable))); lookupQueryObj = XVar.Clone(lookupPSet.getSQLQuery()); if (XVar.Pack(GlobalVars.gSettings.getCustomDisplay((XVar)(lookupField)))) { lookupQueryObj.AddCustomExpression((XVar)(displayFieldName), (XVar)(lookupPSet), (XVar)(GlobalVars.strTableName), (XVar)(lookupField)); } lookupQueryObj.ReplaceFieldsWithDummies((XVar)(lookupPSet.getBinaryFieldsIndices())); } else { dynamic lwLinkField = null; LookupSQLTable = new XVar("SELECT "); lwLinkField = XVar.Clone(lookupConnection.addFieldWrappers((XVar)(GlobalVars.gSettings.getLinkField((XVar)(lookupField))))); if (XVar.Pack(GlobalVars.gSettings.isLookupUnique((XVar)(lookupField)))) { LookupSQLTable = MVCFunctions.Concat(LookupSQLTable, "DISTINCT "); } LookupSQLTable = MVCFunctions.Concat(LookupSQLTable, GlobalVars.cipherer.GetLookupFieldName((XVar)(lwLinkField), (XVar)(lookupField), new XVar(null), new XVar(true))); if (lookupConnection.dbType == Constants.nDATABASE_MSSQLServer) { if ((XVar)(strUniqueOrderBy) && (XVar)(GlobalVars.gSettings.isLookupUnique((XVar)(lookupField)))) { LookupSQLTable = MVCFunctions.Concat(LookupSQLTable, ",", lookupConnection.addFieldWrappers((XVar)(strUniqueOrderBy))); } } lwDisplayField = XVar.Clone(RunnerPage.sqlFormattedDisplayField((XVar)(lookupField), (XVar)(lookupConnection), (XVar)(GlobalVars.gSettings))); if (XVar.Pack(!(XVar)(linkAndDisplaySame))) { LookupSQLTable = MVCFunctions.Concat(LookupSQLTable, ",", (XVar.Pack(lwDisplayField == lwLinkField) ? XVar.Pack(GlobalVars.cipherer.GetFieldName((XVar)(lwDisplayField), (XVar)(lookupField), new XVar(true))) : XVar.Pack(lwDisplayField))); } LookupSQLTable = MVCFunctions.Concat(LookupSQLTable, " FROM ", lookupConnection.addTableWrappers((XVar)(lookupTable)), " "); } strLookupWhere = XVar.Clone(CommonFunctions.prepareLookupWhere((XVar)(lookupField), (XVar)(GlobalVars.gSettings))); if (LookupType == Constants.LT_QUERY) { dynamic secOpt = null; secOpt = XVar.Clone(lookupPSet.getAdvancedSecurityType()); if (secOpt == Constants.ADVSECURITY_VIEW_OWN) { strLookupWhere = XVar.Clone(CommonFunctions.whereAdd((XVar)(strLookupWhere), (XVar)(CommonFunctions.SecuritySQL(new XVar("Search"), (XVar)(lookupTable))))); } } if (XVar.Pack(strLookupWhere)) { strLookupWhere = XVar.Clone(MVCFunctions.Concat(" (", strLookupWhere, ") AND ")); } if (LookupType == Constants.LT_QUERY) { if (XVar.Pack(GlobalVars.gSettings.getCustomDisplay((XVar)(lookupField)))) { likeField = XVar.Clone((XVar.Pack(searchByLinkField) ? XVar.Pack(linkFieldName) : XVar.Pack(displayFieldName))); } else { likeField = XVar.Clone(RunnerPage._getFieldSQLDecrypt((XVar)((XVar.Pack(searchByLinkField) ? XVar.Pack(linkFieldName) : XVar.Pack(displayFieldName))), (XVar)(lookupConnection), (XVar)(lookupPSet), (XVar)(GlobalVars.cipherer))); } } else { likeField = XVar.Clone(GlobalVars.cipherer.GetFieldName((XVar)(lwDisplayField), (XVar)(lookupField))); } if (XVar.Pack(searchByLinkField)) { likeConditionField = XVar.Clone((XVar.Pack(LookupType == Constants.LT_QUERY) ? XVar.Pack(linkFieldName) : XVar.Pack(lookupField))); } else { likeConditionField = XVar.Clone((XVar.Pack(LookupType == Constants.LT_QUERY) ? XVar.Pack(displayFieldName) : XVar.Pack(lookupField))); } likeWheres = XVar.Clone(XVar.Array()); foreach (KeyValuePair <XVar, dynamic> fieldValue in values.GetEnumerator()) { if (LookupType == Constants.LT_QUERY) { likeWheres.InitAndSetArrayItem(MVCFunctions.Concat(likeField, lookupCipherer.GetLikeClause((XVar)(likeConditionField), (XVar)(fieldValue.Value))), null); } else { likeWheres.InitAndSetArrayItem(MVCFunctions.Concat(likeField, GlobalVars.cipherer.GetLikeClause((XVar)(likeConditionField), (XVar)(fieldValue.Value))), null); } } strLookupWhere = MVCFunctions.Concat(strLookupWhere, MVCFunctions.implode(new XVar(" OR "), (XVar)(likeWheres))); if ((XVar)(isExistParent) && (XVar)(GlobalVars.gSettings.useCategory((XVar)(lookupField)))) { dynamic parentWhereParts = XVar.Array(); parentWhereParts = XVar.Clone(XVar.Array()); foreach (KeyValuePair <XVar, dynamic> cData in GlobalVars.gSettings.getParentFieldsData((XVar)(lookupField)).GetEnumerator()) { dynamic arLookupWhere = XVar.Array(), category = null, lookupCategory = XVar.Array(); arLookupWhere = XVar.Clone(XVar.Array()); category = XVar.Clone(parentCtrlsData[cData.Value["main"]]); lookupCategory = XVar.Clone((XVar.Pack(category == XVar.Pack("")) ? XVar.Pack(XVar.Array()) : XVar.Pack(CommonFunctions.splitvalues((XVar)(category))))); foreach (KeyValuePair <XVar, dynamic> arLookupCategory in lookupCategory.GetEnumerator()) { dynamic catField = null, cvalue = null; cvalue = XVar.Clone(CommonFunctions.make_db_value((XVar)(cData.Value["main"]), (XVar)(arLookupCategory.Value))); if (XVar.Pack(lookupPSet)) { catField = XVar.Clone(RunnerPage._getFieldSQLDecrypt((XVar)(cData.Value["lookup"]), (XVar)(lookupConnection), (XVar)(lookupPSet), (XVar)(GlobalVars.cipherer))); } else { catField = XVar.Clone(lookupConnection.addFieldWrappers((XVar)(cData.Value["lookup"]))); } arLookupWhere.InitAndSetArrayItem(MVCFunctions.Concat(catField, "=", cvalue), null); } if (XVar.Pack(MVCFunctions.count(arLookupWhere))) { parentWhereParts.InitAndSetArrayItem(MVCFunctions.Concat("(", MVCFunctions.implode(new XVar(" OR "), (XVar)(arLookupWhere)), ")"), null); } } if (MVCFunctions.count(parentWhereParts) == MVCFunctions.count(GlobalVars.gSettings.getParentFieldsData((XVar)(lookupField)))) { strLookupWhere = XVar.Clone(CommonFunctions.whereAdd((XVar)(strLookupWhere), (XVar)(MVCFunctions.Concat("(", MVCFunctions.implode(new XVar(" AND "), (XVar)(parentWhereParts)), ")")))); } else { respObj = XVar.Clone(new XVar("success", false, "data", XVar.Array())); MVCFunctions.Echo(CommonFunctions.printJSON((XVar)(respObj))); MVCFunctions.Echo(new XVar("")); return(MVCFunctions.GetBuferContentAndClearBufer()); } } if (XVar.Pack(MVCFunctions.strlen((XVar)(lookupOrderBy)))) { lookupOrderBy = XVar.Clone(lookupConnection.addFieldWrappers((XVar)(lookupOrderBy))); if (XVar.Pack(GlobalVars.gSettings.isLookupDesc((XVar)(lookupField)))) { lookupOrderBy = MVCFunctions.Concat(lookupOrderBy, " DESC"); } } if (LookupType == Constants.LT_QUERY) { LookupSQL = XVar.Clone(lookupQueryObj.buildSQL_default((XVar)(strLookupWhere))); if (XVar.Pack(MVCFunctions.strlen((XVar)(lookupOrderBy)))) { LookupSQL = MVCFunctions.Concat(LookupSQL, " ORDER BY ", lookupOrderBy); } } else { LookupSQL = XVar.Clone(MVCFunctions.Concat(LookupSQLTable, " where ", strLookupWhere)); if ((XVar)(!(XVar)(GlobalVars.gSettings.isLookupUnique((XVar)(lookupField)))) || (XVar)(Constants.nDATABASE_Access != lookupConnection.dbType)) { if (XVar.Pack(lookupOrderBy)) { LookupSQL = MVCFunctions.Concat(LookupSQL, " ORDER BY ", lookupOrderBy); } } } lookupIndices = XVar.Clone(CommonFunctions.GetLookupFieldsIndexes((XVar)(GlobalVars.gSettings), (XVar)(lookupField))); linkFieldIndex = XVar.Clone(lookupIndices["linkFieldIndex"]); displayFieldIndex = XVar.Clone(lookupIndices["displayFieldIndex"]); var_response = XVar.Clone(XVar.Array()); qResult = XVar.Clone(lookupConnection.query((XVar)(LookupSQL))); while (XVar.Pack(data = XVar.Clone(qResult.fetchNumeric()))) { if ((XVar)(LookupType == Constants.LT_QUERY) && (XVar)(GlobalVars.gSettings.isLookupUnique((XVar)(lookupField)))) { dynamic uniqueArray = XVar.Array(); if (XVar.Pack(!(XVar)(uniqueArray as object != null))) { uniqueArray = XVar.Clone(XVar.Array()); } if (XVar.Pack(MVCFunctions.in_array((XVar)(data[displayFieldIndex]), (XVar)(uniqueArray)))) { continue; } uniqueArray.InitAndSetArrayItem(data[displayFieldIndex], null); } data.InitAndSetArrayItem(GlobalVars.cipherer.DecryptField((XVar)(lookupField), (XVar)(data[linkFieldIndex])), linkFieldIndex); if (LookupType == Constants.LT_QUERY) { data.InitAndSetArrayItem(GlobalVars.cipherer.DecryptField((XVar)(displayFieldName), (XVar)(data[displayFieldIndex])), displayFieldIndex); } var_response.InitAndSetArrayItem(data[linkFieldIndex], null); var_response.InitAndSetArrayItem(data[displayFieldIndex], null); } respObj = XVar.Clone(new XVar("success", true, "data", MVCFunctions.array_slice((XVar)(var_response), new XVar(0), new XVar(40)))); MVCFunctions.Echo(CommonFunctions.printJSON((XVar)(respObj))); MVCFunctions.Echo(new XVar("")); return(MVCFunctions.GetBuferContentAndClearBufer()); } catch (RunnerRedirectException ex) { return(Redirect(ex.Message)); } }
public virtual XVar __destruct() { RunnerContext.pop(); return(null); }
public XVar autocomplete() { try { dynamic contextParams = XVar.Array(), control = null, editControls = null, field = null, isExistParent = null, masterTable = null, mode = null, pageType = null, parentCtrlsData = null, respObj = null, shortTableName = null; ProjectSettings pSet; MVCFunctions.Header("Expires", "Thu, 01 Jan 1970 00:00:01 GMT"); shortTableName = XVar.Clone(MVCFunctions.postvalue(new XVar("shortTName"))); Assembly.GetExecutingAssembly().GetType(MVCFunctions.Concat("runnerDotNet.", MVCFunctions.Concat("", shortTableName, ""), "_Variables")).InvokeMember("Apply", BindingFlags.InvokeMethod, null, null, null); field = XVar.Clone(MVCFunctions.postvalue(new XVar("field"))); if (GlobalVars.strTableName != "dbo._ABCSecurity") { if (XVar.Pack(!(XVar)(CommonFunctions.isLogged()))) { return(MVCFunctions.GetBuferContentAndClearBufer()); } if ((XVar)((XVar)(!(XVar)(CommonFunctions.CheckSecurity((XVar)(XSession.Session[MVCFunctions.Concat("_", GlobalVars.strTableName, "_OwnerID")]), new XVar("Edit")))) && (XVar)(!(XVar)(CommonFunctions.CheckSecurity((XVar)(XSession.Session[MVCFunctions.Concat("_", GlobalVars.strTableName, "_OwnerID")]), new XVar("Add"))))) && (XVar)(!(XVar)(CommonFunctions.CheckSecurity((XVar)(XSession.Session[MVCFunctions.Concat("_", GlobalVars.strTableName, "_OwnerID")]), new XVar("Search"))))) { return(MVCFunctions.GetBuferContentAndClearBufer()); } } else { dynamic checkField = null; checkField = new XVar(true); if (field == "username") { checkField = new XVar(false); } if (field == "password") { checkField = new XVar(false); } if (XVar.Pack(checkField)) { if (XVar.Pack(!(XVar)(CommonFunctions.isLogged()))) { return(MVCFunctions.GetBuferContentAndClearBufer()); } if ((XVar)((XVar)(!(XVar)(CommonFunctions.CheckSecurity((XVar)(XSession.Session[MVCFunctions.Concat("_", GlobalVars.strTableName, "_OwnerID")]), new XVar("Edit")))) && (XVar)(!(XVar)(CommonFunctions.CheckSecurity((XVar)(XSession.Session[MVCFunctions.Concat("_", GlobalVars.strTableName, "_OwnerID")]), new XVar("Add"))))) && (XVar)(!(XVar)(CommonFunctions.CheckSecurity((XVar)(XSession.Session[MVCFunctions.Concat("_", GlobalVars.strTableName, "_OwnerID")]), new XVar("Search"))))) { return(MVCFunctions.GetBuferContentAndClearBufer()); } } } pageType = XVar.Clone(MVCFunctions.postvalue(new XVar("pageType"))); GlobalVars.cipherer = XVar.Clone(new RunnerCipherer((XVar)(GlobalVars.strTableName))); pSet = XVar.UnPackProjectSettings(new ProjectSettings((XVar)(GlobalVars.strTableName), (XVar)(pageType))); editControls = XVar.Clone(new EditControlsContainer(new XVar(null), (XVar)(pSet), (XVar)(pageType), (XVar)(GlobalVars.cipherer))); control = XVar.Clone(editControls.getControl((XVar)(field))); contextParams = XVar.Clone(XVar.Array()); contextParams.InitAndSetArrayItem(MVCFunctions.my_json_decode((XVar)(MVCFunctions.postvalue(new XVar("data")))), "data"); masterTable = XVar.Clone(MVCFunctions.postvalue(new XVar("masterTable"))); if ((XVar)(masterTable != XVar.Pack("")) && (XVar)(XSession.Session.KeyExists(MVCFunctions.Concat(masterTable, "_masterRecordData")))) { dynamic masterControlsData = XVar.Array(), masterData = XVar.Array(); masterData = XVar.Clone(XSession.Session[MVCFunctions.Concat(masterTable, "_masterRecordData")]); masterControlsData = XVar.Clone(MVCFunctions.my_json_decode((XVar)(MVCFunctions.postvalue(new XVar("masterData"))))); foreach (KeyValuePair <XVar, dynamic> mValue in masterControlsData.GetEnumerator()) { masterData.InitAndSetArrayItem(mValue.Value, mValue.Key); } contextParams.InitAndSetArrayItem(masterData, "masterData"); } RunnerContext.push((XVar)(new RunnerContextItem(new XVar(Constants.CONTEXT_ROW), (XVar)(contextParams)))); parentCtrlsData = XVar.Clone(MVCFunctions.my_json_decode((XVar)(MVCFunctions.postvalue(new XVar("parentCtrlsData"))))); isExistParent = XVar.Clone(MVCFunctions.postvalue(new XVar("isExistParent"))); mode = XVar.Clone(MVCFunctions.intval((XVar)(MVCFunctions.postvalue(new XVar("mode"))))); respObj = XVar.Clone(new XVar("success", true, "data", control.getLookupContentToReload((XVar)(XVar.Equals(XVar.Pack(isExistParent), XVar.Pack("1"))), (XVar)(mode), (XVar)(parentCtrlsData)))); MVCFunctions.Echo(CommonFunctions.printJSON((XVar)(respObj))); RunnerContext.pop(); MVCFunctions.Echo(new XVar("")); return(MVCFunctions.GetBuferContentAndClearBufer()); } catch (RunnerRedirectException ex) { return(Redirect(ex.Message)); } }