plugins/geshi/geshi/email.php
changeset 2 9e3258dfae15
child 3 f3e2bbbd2155
equal deleted inserted replaced
1:c715631f809a 2:9e3258dfae15
       
     1 <?php
       
     2 /*************************************************************************************
       
     3  * email.php
       
     4  * ---------------
       
     5  * Author: Benny Baumann (BenBE@geshi.org)
       
     6  * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
       
     7  * Release Version: 1.0.8.2
       
     8  * Date Started: 2008/10/19
       
     9  *
       
    10  * Email (mbox \ eml \ RFC format) language file for GeSHi.
       
    11  *
       
    12  * CHANGES
       
    13  * -------
       
    14  * 2008/10/19 (1.0.8.1)
       
    15  *   -  First Release
       
    16  *
       
    17  * TODO (updated 2008/10/19)
       
    18  * -------------------------
       
    19  * * Better checks when a header field should be expected
       
    20  * * Fix the bound checks for kw groups 2 and 3, as well as rx group 1
       
    21  *
       
    22  *************************************************************************************
       
    23  *
       
    24  *     This file is part of GeSHi.
       
    25  *
       
    26  *   GeSHi is free software; you can redistribute it and/or modify
       
    27  *   it under the terms of the GNU General Public License as published by
       
    28  *   the Free Software Foundation; either version 2 of the License, or
       
    29  *   (at your option) any later version.
       
    30  *
       
    31  *   GeSHi is distributed in the hope that it will be useful,
       
    32  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    33  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       
    34  *   GNU General Public License for more details.
       
    35  *
       
    36  *   You should have received a copy of the GNU General Public License
       
    37  *   along with GeSHi; if not, write to the Free Software
       
    38  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
       
    39  *
       
    40  ************************************************************************************/
       
    41 
       
    42 $language_data = array (
       
    43     'LANG_NAME' => 'eMail (mbox)',
       
    44     'COMMENT_SINGLE' => array(),
       
    45     'COMMENT_MULTI' => array(),
       
    46     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
       
    47     'QUOTEMARKS' => array('"'),
       
    48     'ESCAPE_CHAR' => '',
       
    49     'KEYWORDS' => array(
       
    50         1 => array(
       
    51             'HTTP', 'SMTP', 'ASMTP', 'ESMTP'
       
    52             ),
       
    53         2 => array(
       
    54             'Content-Type','Content-Transfer-Encoding','Content-Disposition',
       
    55             'Delivered-To','Dkim-Signature','Domainkey-Signature','In-Reply-To',
       
    56             'Message-Id','MIME-Version','Received','Received-SPF','References',
       
    57             'Resend-From','Resend-To','Return-Path'
       
    58             ),
       
    59         3 => array(
       
    60             'Date','From','Subject','To',
       
    61             ),
       
    62         4 => array(
       
    63             'by', 'for', 'from', 'id', 'with'
       
    64             )
       
    65         ),
       
    66     'SYMBOLS' => array(
       
    67         ':', ';', '<', '>', '[', ']'
       
    68         ),
       
    69     'CASE_SENSITIVE' => array(
       
    70         GESHI_COMMENTS => false,
       
    71         1 => true,
       
    72         2 => false,
       
    73         3 => false,
       
    74         4 => true
       
    75         ),
       
    76     'STYLES' => array(
       
    77         'KEYWORDS' => array(
       
    78             1 => 'color: #0000FF; font-weight: bold;',
       
    79             2 => 'color: #000000; font-weight: bold;',
       
    80             3 => 'color: #800000; font-weight: bold;',
       
    81             4 => 'font-weight: bold;',
       
    82             ),
       
    83         'COMMENTS' => array(
       
    84             ),
       
    85         'ESCAPE_CHAR' => array(
       
    86             0 => 'color: #000099; font-weight: bold;'
       
    87             ),
       
    88         'BRACKETS' => array(
       
    89             0 => 'color: #66cc66;'
       
    90             ),
       
    91         'STRINGS' => array(
       
    92             0 => 'color: #ff0000;'
       
    93             ),
       
    94         'NUMBERS' => array(
       
    95             0 => 'color: #cc66cc;'
       
    96             ),
       
    97         'METHODS' => array(
       
    98             ),
       
    99         'SYMBOLS' => array(
       
   100             0 => 'color: #66cc66;'
       
   101             ),
       
   102         'SCRIPT' => array(
       
   103             0 => 'color: #000040;',
       
   104             ),
       
   105         'REGEXPS' => array(
       
   106             1 => 'color: #000000; font-weight: bold;',
       
   107             2 => 'color: #0000FF;',
       
   108             3 => 'color: #008000;',
       
   109             4 => 'color: #0000FF; font-weight: bold;',
       
   110             5 => 'font-weight: bold;',
       
   111             6 => 'color: #400080;'
       
   112             )
       
   113         ),
       
   114     'URLS' => array(
       
   115         1 => '',
       
   116         2 => '',
       
   117         3 => '',
       
   118         4 => ''
       
   119         ),
       
   120     'OOLANG' => false,
       
   121     'OBJECT_SPLITTERS' => array(
       
   122         ),
       
   123     'REGEXPS' => array(
       
   124         // Non-Standard-Header
       
   125         1 => array(
       
   126             GESHI_SEARCH => "(?<=\A\x20|\n)x-[a-z0-9\-]*(?=\s*:|\s*<)",
       
   127             GESHI_REPLACE => "\\0",
       
   128             GESHI_MODIFIERS => "smi",
       
   129             GESHI_BEFORE => "",
       
   130             GESHI_AFTER => ""
       
   131             ),
       
   132         //Email-Adresses or Mail-IDs
       
   133         2 => array(
       
   134             GESHI_SEARCH => "\b[\w\.]+@\w+(?:(?:\.\w+)*\.\w{2,4})?",
       
   135             GESHI_REPLACE => "\\0",
       
   136             GESHI_MODIFIERS => "mi",
       
   137             GESHI_BEFORE => "",
       
   138             GESHI_AFTER => ""
       
   139             ),
       
   140         //Date values in RFC format
       
   141         3 => array(
       
   142             GESHI_SEARCH => "\b(?:Mon|Tue|Wed|Thu|Fri|Sat|Sun),\s+\d\d?\s+" .
       
   143                 "(?:Jan|Feb|Mar|apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+" .
       
   144                 "\d{4}\s+\d\d?:\d\d:\d\d\s+[+\-]\d{4}(?:\s+\(\w+\))?",
       
   145             GESHI_REPLACE => "\\0",
       
   146             GESHI_MODIFIERS => "mi",
       
   147             GESHI_BEFORE => "",
       
   148             GESHI_AFTER => ""
       
   149             ),
       
   150         //IP addresses
       
   151         4 => array(
       
   152             GESHI_SEARCH => "(?<=\s)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?=\s)|".
       
   153                 "(?<=\[)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?=\])|".
       
   154                 "(?<==)\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}(?=<)",
       
   155             GESHI_REPLACE => "\\0",
       
   156             GESHI_MODIFIERS => "i",
       
   157             GESHI_BEFORE => "",
       
   158             GESHI_AFTER => ""
       
   159             ),
       
   160         //Field-Assignments
       
   161         5 => array(
       
   162             GESHI_SEARCH => "(?<=\s)[A-Z0-9\-]+(?==(?!\s|$))",
       
   163             GESHI_REPLACE => "\\0",
       
   164             GESHI_MODIFIERS => "mi",
       
   165             GESHI_BEFORE => "",
       
   166             GESHI_AFTER => ""
       
   167             ),
       
   168         //MIME type
       
   169         6 => array(
       
   170             GESHI_SEARCH => "(?<=\s)(?:audio|application|image|multipart|text|".
       
   171                 "video|x-[a-z0-9\-]+)\/[a-z0-9][a-z0-9\-]*(?=\s|<|$)",
       
   172             GESHI_REPLACE => "\\0",
       
   173             GESHI_MODIFIERS => "m",
       
   174             GESHI_BEFORE => "",
       
   175             GESHI_AFTER => ""
       
   176             )
       
   177         ),
       
   178     'STRICT_MODE_APPLIES' => GESHI_ALWAYS,
       
   179     'SCRIPT_DELIMITERS' => array(
       
   180         0 => "/(^)[A-Z][a-zA-Z0-9\-]*\s*:\s*(?:.|(?=\n\s)\n)*($)/m"
       
   181     ),
       
   182     'HIGHLIGHT_STRICT_BLOCK' => array(
       
   183         0 => true,
       
   184         ),
       
   185     'TAB_WIDTH' => 4,
       
   186     'PARSER_CONTROL' => array(
       
   187         'KEYWORDS' => array(
       
   188             2 => array(
       
   189                 'DISALLOWED_BEFORE' => '(?<=\A\x20|\n)',
       
   190                 'DISALLOWED_AFTER' => '(?=\s*:)',
       
   191             ),
       
   192             3 => array(
       
   193                 'DISALLOWED_BEFORE' => '(?<=\A\x20|\n)',
       
   194                 'DISALLOWED_AFTER' => '(?=\s*:)',
       
   195             ),
       
   196             4 => array(
       
   197                 'DISALLOWED_BEFORE' => '(?<=\s)',
       
   198                 'DISALLOWED_AFTER' => '(?=\s|\b)',
       
   199             )
       
   200         ),
       
   201         'ENABLE_FLAGS' => array(
       
   202             'BRACKETS' => GESHI_NEVER,
       
   203             'COMMENTS' => GESHI_NEVER,
       
   204             'NUMBERS' => GESHI_NEVER
       
   205         )
       
   206     )
       
   207 );
       
   208 
       
   209 ?>