Exemplo n.º 1
0
        public static string ReplaceJScriptTags(Match match)
        {
            string input = match.Value;

            input = input.Replace("[jScript]", "");
            input = input.Replace("[/jScript]", "");
            input = input.Replace("´", "'");

            try
            {
                input = JsEvaluator.GetType().InvokeMember("Eval", System.Reflection.BindingFlags.InvokeMethod, null, JsEvaluator, new object[] { input }).ToString();
            }
            catch (Exception ex) //logged
            {
                Logger.WriteException(ex);
                //Assembly a = Assembly.LoadWithPartialName("SenseNet.Storage");
                //Type t = a.GetType("SenseNet.Services.Instrumentation.ExceptionLogger");
                //var r = Activator.CreateInstance(t, new object[] { ex });
                //MethodInfo m = t.GetMethod("LogToEventLog", BindingFlags.Public | BindingFlags.Instance);
                //m.Invoke(r, null);
                if (input.IndexOf("DateTime.Now.ToString(\"yyyy'/'MM'/'dd\")", StringComparison.Ordinal) != -1) // DateTime.Now.ToString("yyyy´/´MM´/´dd")
                {
                    return(DateTime.Now.ToString("yyyy'/'MM'/'dd"));
                }
            }
            return(input);
        }
Exemplo n.º 2
0
 public void EvalTest()
 {
     var eval = new JsEvaluator();
     var b    = eval.EvalBool("5 > 4");
     var d    = eval.EvalDecimal("2.5");
     var o    = eval.Eval("new Date()");
     var t    = eval.EvalDateTime("new Date('2018/01/01 12:00:00')");
 }
Exemplo n.º 3
0
        private async Task <object> Evaluate()
        {
            var sr = new StreamReader(await Loader.GetStream());

            var content = sr.ReadToEnd();

            var result = JsEvaluator.Evaluate(content);

            return(Task.FromResult(result));
        }
Exemplo n.º 4
0
        public static string ReplaceJScriptTags(Match match)
        {
            string input = match.Value;

            input = input.Replace("[jScript]", "");
            input = input.Replace("[/jScript]", "");
            input = input.Replace("´", "'");

            try
            {
                input = JsEvaluator.GetType().InvokeMember("Eval", System.Reflection.BindingFlags.InvokeMethod, null, JsEvaluator, new object[] { input }).ToString();
            }
            catch (Exception ex) // logged
            {
                SnLog.WriteException(ex);
                if (input.IndexOf("DateTime.UtcNow.ToString(\"yyyy'/'MM'/'dd\")", StringComparison.Ordinal) != -1)
                {
                    return(DateTime.UtcNow.ToString("yyyy'/'MM'/'dd"));
                }
            }
            return(input);
        }
Exemplo n.º 5
0
        public async Task BeforeUninstall(SetupContext context)
        {
            JsEvaluator.Init();

            var result = await Evaluate();
        }