コード例 #1
0
        public static Tuple <bool, string> FormatCode(string lang, string code)
        {
            SourceFormat sf = null;

            switch (lang)
            {
            case "csharp":
            case "cs":
                sf = new Manoli.Utils.CSharpFormat.CSharpFormat();
                break;

            case "c++":
            case "cpp":
                sf = new CPlusPlusFormat();
                break;

            case "js":
            case "javascript":
                sf = new JavaScriptFormat();
                break;

            case "vb":
            case "basic":
                sf = new VisualBasicFormat();
                break;

            case "sql":
                sf = new TsqlFormat();
                break;

            case "msh":
                sf = new MshFormat();
                break;

            case "haskell":
                sf = new HaskellFormat();
                break;

            case "php":
                sf = new PhpFormat();
                break;

            case "fsharp":
            case "fs":
                sf = new FSharpFormat();
                break;

            case "html":
            case "xml":
            case "aspx":
                sf = new HtmlFormat();
                break;

            case "paket":
                sf = new PaketFormat();
                break;
            }
            if (sf == null)
            {
                return(Tuple.Create(false, SourceFormat.EscapeHtml(code, tabSpaces: 2)));
            }
            else
            {
                sf.TabSpaces = 2;
                return(Tuple.Create(true, sf.FormatCode(code)));
            }
        }
コード例 #2
0
 /// <summary>
 /// Sets the HTML format (eg ordered list, paragraph, etc.) of the current text
 /// </summary>
 /// <param name="format"></param>
 public void SetHtmlFormat(HtmlFormat format)
 {
     editor.Exec(Interop.IDM_BLOCKFMT, formats[(int)format]);
 }
コード例 #3
0
 // Token: 0x06001CB1 RID: 7345 RVA: 0x000A5078 File Offset: 0x000A3278
 public static bool Initialize(int maxConversionTime, int maxConversionPerProcess, string rootPath, int totalSizeQuota, int rowNumberPerExcelPage, int maxInputSize, int maxOutputSize, bool isImageMode, HtmlFormat htmlFormat, int memoryLimitInMB)
 {
     if (!TranscodingTaskManager.isInitialized)
     {
         lock (TranscodingTaskManager.initLockObj)
         {
             if (!TranscodingTaskManager.isInitialized)
             {
                 ExTraceGlobals.TranscodingTracer.TraceDebug(0L, "Start Initialization");
                 TranscodingTaskManager.transcodingTaskManager = new TranscodingTaskManager(maxConversionTime, maxConversionPerProcess, rootPath, totalSizeQuota * 1024 * 1024, rowNumberPerExcelPage, maxInputSize * 1024, maxOutputSize * 1024, isImageMode, htmlFormat, memoryLimitInMB * 1024 * 1024);
                 TranscodingTaskManager.isInitialized          = true;
                 OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_TranscodingStartSuccessfully, string.Empty, new object[0]);
                 ExTraceGlobals.TranscodingTracer.TraceDebug(0L, "Initialization finished");
                 return(true);
             }
         }
         return(false);
     }
     return(false);
 }
コード例 #4
0
        // Token: 0x06001CAD RID: 7341 RVA: 0x000A4D10 File Offset: 0x000A2F10
        private TranscodingTaskManager(int maxConversionTime, int maxConversionPerProcess, string rootCachePath, int totalSizeQuota, int rowNumberInExcel, int maxInputSize, int maxOutputSize, bool isImageMode, HtmlFormat htmlFormat, int memoryLimit)
        {
            if (maxConversionTime <= 0)
            {
                throw new ArgumentException("Invalid maximum conversion time", "maxConversionTime");
            }
            if (maxConversionPerProcess <= 0)
            {
                throw new ArgumentException("Invalid maximum conversion number per process", "maxConversionPerProcess");
            }
            if (string.IsNullOrEmpty(rootCachePath))
            {
                throw new ArgumentException("The root path for cache system can not be null or empty", "rootCachePath");
            }
            if (totalSizeQuota <= 0)
            {
                throw new ArgumentException("Invalid cache quota", "totalSizeQuota");
            }
            if (rowNumberInExcel <= 0)
            {
                throw new ArgumentException("Invalid maximum row/page of excel documents", "rowNumberInExcel");
            }
            if (maxInputSize <= 0)
            {
                throw new ArgumentException("Invalid input data threshold", "maxInputSize");
            }
            if (maxOutputSize <= 0)
            {
                throw new ArgumentException("Invalid output data threshold", "maxOutputSize");
            }
            if (memoryLimit <= 0)
            {
                throw new ArgumentException("Invalid memory limit", "memoryLimit");
            }
            this.rowNumberInExcel = rowNumberInExcel;
            this.maxOutputSize    = maxOutputSize;
            this.isImageMode      = isImageMode;
            this.htmlFormat       = htmlFormat;
            try
            {
                this.transcodingActiveMutex = new Mutex(false, "F7CC98B4-F6F5-489D-98EB-000689C721DE");
            }
            catch (UnauthorizedAccessException e)
            {
                this.CreateMutexFailed(e);
            }
            catch (IOException e2)
            {
                this.CreateMutexFailed(e2);
            }
            catch (ApplicationException e3)
            {
                this.CreateMutexFailed(e3);
            }
            OwaSingleCounters.TotalConversions.RawValue             = 0L;
            OwaSingleCounters.ActiveConversions.RawValue            = 0L;
            OwaSingleCounters.QueuedConversionRequests.RawValue     = 0L;
            OwaSingleCounters.AverageConvertingTime.RawValue        = 0L;
            OwaSingleCounters.AverageConversionQueuingTime.RawValue = 0L;
            OwaSingleCounters.TotalRejectedConversions.RawValue     = 0L;
            OwaSingleCounters.TotalTimeoutConversions.RawValue      = 0L;
            OwaSingleCounters.TotalErrorConversions.RawValue        = 0L;
            using (RegistryKey registryKey = Registry.LocalMachine.OpenSubKey(string.Format("SOFTWARE\\Classes\\CLSID\\{{{0}}}\\LocalServer32", "F7CC98B4-F6F5-489D-98EB-000689C721DE")))
            {
                if (registryKey == null)
                {
                    OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_TranscodingWorkerApplicationNotRegistered, string.Empty, new object[0]);
                    throw new TranscodingFatalFaultException("TranscodingService is not registered.", null, this);
                }
                this.workProcessPath = ((string)registryKey.GetValue(null)).Trim(new char[]
                {
                    '"'
                });
            }
            if (string.IsNullOrEmpty(this.workProcessPath) || !File.Exists(this.workProcessPath))
            {
                OwaDiagnostics.LogEvent(ClientsEventLogConstants.Tuple_TranscodingWorkerApplicationNotFound, string.Empty, new object[0]);
                throw new TranscodingFatalFaultException("Unable to find the transcoding service application.", null, this);
            }
            Cache.CacheOption option = new Cache.CacheOption(rootCachePath, totalSizeQuota, maxInputSize, maxOutputSize);
            this.cache     = new Cache(option);
            this.blockList = new BlockList(3000, TimeSpan.FromSeconds(86400.0));
            ComWorkerConfiguration workerConfiguration = new ComWorkerConfiguration(this.workProcessPath, null, new Guid("F7CC98B4-F6F5-489D-98EB-000689C721DE"), ComWorkerConfiguration.RunAsFlag.RunAsLocalService, this.transcodingActiveMutex, memoryLimit, 7200000, 30000, maxConversionPerProcess, maxConversionTime * 1000, 0);

            try
            {
                this.transcodingProcessManager = new ComProcessManager <ITranscoder>(TranscodingTaskManager.maxWorkProcessNumber, workerConfiguration, ExTraceGlobals.TranscodingTracer);
            }
            catch (ComProcessManagerInitializationException innerException)
            {
                throw new TranscodingFatalFaultException("Initialize transcoding process manager failed.", innerException, this);
            }
            ComProcessManager <ITranscoder> comProcessManager = this.transcodingProcessManager;

            comProcessManager.CreateWorkerCallback = (ComProcessManager <ITranscoder> .OnCreateWorker)Delegate.Combine(comProcessManager.CreateWorkerCallback, new ComProcessManager <ITranscoder> .OnCreateWorker(this.OnCreateWorkerDelegate));
            ComProcessManager <ITranscoder> comProcessManager2 = this.transcodingProcessManager;

            comProcessManager2.ExecuteRequestCallback = (ComProcessManager <ITranscoder> .OnExecuteRequest)Delegate.Combine(comProcessManager2.ExecuteRequestCallback, new ComProcessManager <ITranscoder> .OnExecuteRequest(this.OnExecuteRequestDelegate));
        }
コード例 #5
0
        static BbCodeProcessor()
        {
            _formatters.Add(new RegexFormatter("<(.|\\n)*?>", string.Empty));
            _formatters.Add(new LineBreaksFormatter(new string[7]
            {
                "html",
                "csharp",
                "code",
                "jscript",
                "sql",
                "vb",
                "php"
            }));
            _formatters.Add(new RegexFormatter("\\[b(?:\\s*)\\]((.|\\n)*?)\\[/b(?:\\s*)\\]", "<strong>$1</strong>"));
            _formatters.Add(new RegexFormatter("\\[chart(?:\\s*)\\]((.|\\n)*?)\\[/chart(?:\\s*)\\]", "<iframe src=\"/ShowChart/Charts/$1\"  border=\"0\" class=\"chartFrame\" > </iframe>"));

            _formatters.Add(new RegexFormatter("\\[tr(?:\\s*)\\]((.|\\n)*?)\\[/tr(?:\\s*)\\]", "<tr>$1</tr>"));
            _formatters.Add(new RegexFormatter("\\[td(?:\\s*)\\]((.|\\n)*?)\\[/td(?:\\s*)\\]", "<td>$1</td>"));
            _formatters.Add(new RegexFormatter("\\[table(?:\\s*)\\]((.|\\n)*?)\\[/table(?:\\s*)\\]", "<table>$1</table>"));
            _formatters.Add(new RegexFormatter("\\[chart(?:\\s*)\\]((.|\\n)*?)\\[/chart(?:\\s*)\\]", "<iframe src=\"/ShowChart/Charts/$1\" style=\"border:0 none;\" class=\"chartFrame\" > </iframe>"));

            _formatters.Add(new RegexFormatter("\\[i(?:\\s*)\\]((.|\\n)*?)\\[/i(?:\\s*)\\]", "<em>$1</em>"));
            _formatters.Add(new RegexFormatter("\\[s(?:\\s*)\\]((.|\\n)*?)\\[/s(?:\\s*)\\]", "<strike>$1</strike>"));
            _formatters.Add(new RegexFormatter("\\[u(?:\\s*)\\]((.|\\n)*?)\\[/u(?:\\s*)\\]", "<u>$1</u>"));
            _formatters.Add(new RegexFormatter("\\[left(?:\\s*)\\]((.|\\n)*?)\\[/left(?:\\s*)]", "<div style=\"text-align:left\">$1</div>"));
            _formatters.Add(new RegexFormatter("\\[center(?:\\s*)\\]((.|\\n)*?)\\[/center(?:\\s*)]", "<div style=\"text-align:center\">$1</div>"));
            _formatters.Add(new RegexFormatter("\\[right(?:\\s*)\\]((.|\\n)*?)\\[/right(?:\\s*)]", "<div style=\"text-align:right\">$1</div>"));
            _formatters.Add(new RegexFormatter("\\[rtl(?:\\s*)\\]((.|\\n)*?)\\[/rtl(?:\\s*)]", "<div style=\"text-align:right;direction:rtl\">$1</div>"));
            _formatters.Add(new RegexFormatter("\\[ltr(?:\\s*)\\]((.|\\n)*?)\\[/ltr(?:\\s*)]", "<div style=\"text-align:left;direction:ltr\">$1</div>"));
            _formatters.Add(new RegexFormatter("\\[code(?:\\s*)\\]((.|\\n)*?)\\[/code(?:\\s*)]", "<div class=\"bbc-codetitle\">Code:</div><div class=\"bbc-codecontent\"><pre>$1</pre></div>"));
            _formatters.Add(new RegexFormatter("\\[php(?:\\s*)\\]((.|\\n)*?)\\[/php(?:\\s*)]", "<div class=\"bbc-codetitle\">PHP Code:</div><div class=\"bbc-codecontent\"><pre>$1</pre></div>"));
            List <IHtmlFormatter> formatters1 = _formatters;
            HtmlFormat            htmlFormat  = new HtmlFormat();
            int num1 = 1;

            htmlFormat.EmbedStyleSheet = num1 != 0;
            string          pattern1         = "\\[html(?:\\s*)\\]((.|\\n)*?)\\[/html(?:\\s*)]";
            string          replace1         = "<div class=\"bbc-codetitle\">HTML Code:</div><div class=\"bbc-codecontent\">{0}</div>";
            SyntaxFormatter syntaxFormatter1 = new SyntaxFormatter(htmlFormat, pattern1, replace1);

            formatters1.Add(syntaxFormatter1);
            List <IHtmlFormatter> formatters2  = _formatters;
            CSharpFormat          csharpFormat = new CSharpFormat();
            int num2 = 1;

            csharpFormat.EmbedStyleSheet = num2 != 0;
            string          pattern2         = "\\[csharp(?:\\s*)\\]((.|\\n)*?)\\[/csharp(?:\\s*)]";
            string          replace2         = "<div class=\"bbc-codetitle\">C# Code:</div><div class=\"bbc-codecontent\">{0}</div>";
            SyntaxFormatter syntaxFormatter2 = new SyntaxFormatter(csharpFormat, pattern2, replace2);

            formatters2.Add(syntaxFormatter2);
            List <IHtmlFormatter> formatters3      = _formatters;
            JavaScriptFormat      javaScriptFormat = new JavaScriptFormat();
            int num3 = 1;

            javaScriptFormat.EmbedStyleSheet = num3 != 0;
            string          pattern3         = "\\[jscript(?:\\s*)\\]((.|\\n)*?)\\[/jscript(?:\\s*)]";
            string          replace3         = "<div class=\"bbc-codetitle\">JavaScript Code:</div><div class=\"bbc-codecontent\">{0}</div>";
            SyntaxFormatter syntaxFormatter3 = new SyntaxFormatter(javaScriptFormat, pattern3, replace3);

            formatters3.Add(syntaxFormatter3);
            List <IHtmlFormatter> formatters4 = _formatters;
            TsqlFormat            tsqlFormat  = new TsqlFormat();
            int num4 = 1;

            tsqlFormat.EmbedStyleSheet = num4 != 0;
            string          pattern4         = "\\[sql(?:\\s*)\\]((.|\\n)*?)\\[/sql(?:\\s*)]";
            string          replace4         = "<div class=\"bbc-codetitle\">SQL Code:</div><div class=\"bbc-codecontent\">{0}</div>";
            SyntaxFormatter syntaxFormatter4 = new SyntaxFormatter(tsqlFormat, pattern4, replace4);

            formatters4.Add(syntaxFormatter4);
            List <IHtmlFormatter> formatters5       = _formatters;
            VisualBasicFormat     visualBasicFormat = new VisualBasicFormat();
            int num5 = 1;

            visualBasicFormat.EmbedStyleSheet = num5 != 0;
            string          pattern5         = "\\[vb(?:\\s*)\\]((.|\\n)*?)\\[/vb(?:\\s*)]";
            string          replace5         = "<div class=\"bbc-codetitle\">Visual Basic Code:</div><div class=\"bbc-codecontent\">{0}</div>";
            SyntaxFormatter syntaxFormatter5 = new SyntaxFormatter(visualBasicFormat, pattern5, replace5);

            formatters5.Add(syntaxFormatter5);
            _formatters.Add(new RegexFormatter("\\[quote=((.|\\n)*?)(?:\\s*)\\]", "<div class=\"bbc-quotetitle\">$1 said:</div><div class=\"bbc-quotecontent\"><p>"));
            _formatters.Add(new RegexFormatter("\\[quote(?:\\s*)\\]", "<div class=\"bbc-quotecontent\"><p>"));
            _formatters.Add(new RegexFormatter("\\[/quote(?:\\s*)\\]", "</p></div>"));

            _formatters.Add(new RegexFormatter("\\[url(?:\\s*)\\]www\\.(.*?)\\[/url(?:\\s*)\\]", "<a href=\"http://www.$1\" target=\"_blank\" title=\"$1\">$1</a>"));

            _formatters.Add(new RegexFormatter("\\[url(?:\\s*)\\]((.|\\n)*?)\\[/url(?:\\s*)\\]", "<a href=\"$1\" target=\"_blank\" title=\"$1\">$1</a>"));
            _formatters.Add(new RegexFormatter("\\[url=\"((.|\\n)*?)(?:\\s*)\"\\]((.|\\n)*?)\\[/url(?:\\s*)\\]", "<a href=\"$1\" target=\"_blank\" title=\"$1\">$3</a>"));
            _formatters.Add(new RegexFormatter("\\[url=((.|\\n)*?)(?:\\s*)\\]((.|\\n)*?)\\[/url(?:\\s*)\\]", "<a href=\"$1\" target=\"_blank\" title=\"$1\">$3</a>"));
            _formatters.Add(new RegexFormatter("\\[link(?:\\s*)\\]((.|\\n)*?)\\[/link(?:\\s*)\\]", "<a href=\"$1\" target=\"_blank\" title=\"$1\">$1</a>"));
            _formatters.Add(new RegexFormatter("\\[link=((.|\\n)*?)(?:\\s*)\\]((.|\\n)*?)\\[/link(?:\\s*)\\]", "<a href=\"$1\" target=\"_blank\" title=\"$1\">$3</a>"));

            var rnd = new Random().Next(int.MaxValue);

            _formatters.Add(new RegexFormatter("\\[tree(?:\\s*)\\]((.|\\n)*?)\\[/tree(?:\\s*)\\]", "<div id='treegraph" + rnd + "'></div><script>   dTree.init(treeDataParcer('$1'), { target: '#treegraph" + rnd + "',width: document.getElementById('treegraph" + rnd + "').offsetWidth, height: 850}); </script>"));
            _formatters.Add(new RegexFormatter("\\[tree=((.|\\n)*?)(?:\\s*)\\]((.|\\n)*?)\\[/tree(?:\\s*)\\]", "<style>$1</style> <div id='treegraph" + rnd + "'></div> <script>   dTree.init(treeDataParcer('$3'), { target: '#treegraph" + rnd + "',width: document.getElementById('treegraph" + rnd + "').offsetWidth, height: 850 }); </script>"));


            _formatters.Add(new RegexFormatter("\\[img(?:\\s*)\\]((.|\\n)*?)\\[/img(?:\\s*)\\]", "<img src=\"$1\" border=\"0\" alt=\"\" />"));
            _formatters.Add(new RegexFormatter("\\[img align=((.|\\n)*?)(?:\\s*)\\]((.|\\n)*?)\\[/img(?:\\s*)\\]", "<img src=\"$3\" border=\"0\" align=\"$1\" alt=\"\" />"));
            _formatters.Add(new RegexFormatter("\\[img width=((.|\\n)*?),height=((.|\\n)*?)(?:\\s*)\\]((.|\\n)*?)\\[/img(?:\\s*)\\]", "<img width=\"$1\" height=\"$3\" src=\"$5\" border=\"0\" alt=\"\" />"));
            _formatters.Add(new RegexFormatter("\\[img=((.|\\n)*?)x((.|\\n)*?)(?:\\s*)\\]((.|\\n)*?)\\[/img(?:\\s*)\\]", "<img width=\"$1\" height=\"$3\" src=\"$5\" border=\"0\" alt=\"\" />"));
            _formatters.Add(new RegexFormatter("\\[color=((.|\\n)*?)(?:\\s*)\\]((.|\\n)*?)\\[/color(?:\\s*)\\]", "<span style=\"color:$1;\">$3</span>"));
            _formatters.Add(new RegexFormatter("\\[highlight(?:\\s*)\\]((.|\\n)*?)\\[/highlight(?:\\s*)]", "<span class=\"bbc-highlight\">$1</span>"));
            _formatters.Add(new RegexFormatter("\\[spoiler(?:\\s*)\\]((.|\\n)*?)\\[/spoiler(?:\\s*)]", "<span class=\"bbc-spoiler\">$1</span>"));
            _formatters.Add(new RegexFormatter("\\[indent(?:\\s*)\\]((.|\\n)*?)\\[/indent(?:\\s*)]", "<div class=\"bbc-indent\">$1</div>"));
            _formatters.Add(new RegexFormatter("\\[hr(?:\\s*)\\]", "<hr />"));
            _formatters.Add(new RegexFormatter("\\[rule=((.|\\n)*?)(?:\\s*)\\]((.|\\n)*?)\\[/rule(?:\\s*)\\]", "<div style=\"height: 0pt; border-top: 1px solid $3; margin: auto; width: $1;\"></div>"));
            _formatters.Add(new RegexFormatter("\\[email(?:\\s*)\\]((.|\\n)*?)\\[/email(?:\\s*)\\]", "<a href=\"mailto:$1\">$1</a>"));
            _formatters.Add(new RegexFormatter("\\[email=\"((.|\\n)*?)(?:\\s*)\"\\]((.|\\n)*?)\\[/email(?:\\s*)\\]", "<a href=\"mailto:$1\" title=\"$3\">$3</a>"));
            _formatters.Add(new RegexFormatter("\\[email=((.|\\n)*?)(?:\\s*)\\]((.|\\n)*?)\\[/email(?:\\s*)\\]", "<a href=\"mailto:$1\" title=\"$3\">$3</a>"));
            _formatters.Add(new RegexFormatter("\\[small(?:\\s*)\\]((.|\\n)*?)\\[/small(?:\\s*)]", "<small>$1</small>"));
            _formatters.Add(new RegexFormatter("\\[size=+((.|\\n)*?)(?:\\s*)\\]((.|\\n)*?)\\[/size(?:\\s*)\\]", "<span style=\"font-size:$1em\">$3</span>"));
            _formatters.Add(new RegexFormatter("\\[size=((.|\\n)*?)(?:\\s*)\\]((.|\\n)*?)\\[/size(?:\\s*)\\]", "<span style=\"font-size:$1\">$3</span>"));
            _formatters.Add(new RegexFormatter("\\[font=((.|\\n)*?)(?:\\s*)\\]((.|\\n)*?)\\[/font(?:\\s*)\\]", "<span style=\"font-family:$1;\">$3</span>"));
            _formatters.Add(new RegexFormatter("\\[align=((.|\\n)*?)(?:\\s*)\\]((.|\\n)*?)\\[/align(?:\\s*)\\]", "<span style=\"text-align:$1;\">$3</span>"));
            _formatters.Add(new RegexFormatter("\\[float=((.|\\n)*?)(?:\\s*)\\]((.|\\n)*?)\\[/float(?:\\s*)\\]", "<span style=\"float:$1;\">$3</div>"));
            string format = "<ol class=\"bbc-list\" style=\"list-style:{0};\">$1</ol>";

            _formatters.Add(new RegexFormatter("\\[\\*(?:\\s*)]\\s*([^\\[]*)", "<li>$1</li>"));
            _formatters.Add(new RegexFormatter("\\[list(?:\\s*)\\]((.|\\n)*?)\\[/list(?:\\s*)\\]", "<ul class=\"bbc-list\">$1</ul>"));
            _formatters.Add(new RegexFormatter("\\[list=1(?:\\s*)\\]((.|\\n)*?)\\[/list(?:\\s*)\\]", string.Format(format, "decimal"), false));
            _formatters.Add(new RegexFormatter("\\[list=i(?:\\s*)\\]((.|\\n)*?)\\[/list(?:\\s*)\\]", string.Format(format, "lower-roman"), false));
            _formatters.Add(new RegexFormatter("\\[list=I(?:\\s*)\\]((.|\\n)*?)\\[/list(?:\\s*)\\]", string.Format(format, "upper-roman"), false));
            _formatters.Add(new RegexFormatter("\\[list=a(?:\\s*)\\]((.|\\n)*?)\\[/list(?:\\s*)\\]", string.Format(format, "lower-alpha"), false));
            _formatters.Add(new RegexFormatter("\\[list=A(?:\\s*)\\]((.|\\n)*?)\\[/list(?:\\s*)\\]", string.Format(format, "upper-alpha"), false));
        }