├── LICENSE-GPL ├── LICENSE-MIT ├── README.markdown ├── ba-simple-proxy.php ├── docs ├── files │ └── ba-simple-proxy-php.html ├── index.html ├── index │ ├── Files.html │ └── General.html ├── javascript │ ├── main.js │ └── searchdata.js ├── nd │ ├── Data │ │ ├── ClassHierarchy.nd │ │ ├── ConfigFileInfo.nd │ │ ├── FileInfo.nd │ │ ├── ImageFileInfo.nd │ │ ├── ImageReferenceTable.nd │ │ ├── IndexInfo.nd │ │ ├── PreviousMenuState.nd │ │ ├── PreviousSettings.nd │ │ └── SymbolTable.nd │ ├── Languages.txt │ ├── Menu.txt │ └── Topics.txt ├── search │ ├── FilesS.html │ ├── GeneralC.html │ ├── GeneralE.html │ ├── GeneralG.html │ ├── GeneralJ.html │ ├── GeneralL.html │ ├── GeneralN.html │ ├── GeneralP.html │ ├── GeneralR.html │ ├── GeneralS.html │ └── NoResults.html └── styles │ ├── 1.css │ ├── 2.css │ └── main.css ├── examples ├── config.php ├── donate.gif ├── index.css ├── index.php └── simple │ ├── index.php │ └── json_sample.js └── shared ├── SyntaxHighlighter ├── LGPLv3.txt ├── scripts │ ├── clipboard.swf │ ├── shBrushAS3.js │ ├── shBrushBash.js │ ├── shBrushCSharp.js │ ├── shBrushCpp.js │ ├── shBrushCss.js │ ├── shBrushDelphi.js │ ├── shBrushDiff.js │ ├── shBrushGroovy.js │ ├── shBrushJScript.js │ ├── shBrushJava.js │ ├── shBrushJavaFX.js │ ├── shBrushPerl.js │ ├── shBrushPhp.js │ ├── shBrushPlain.js │ ├── shBrushPowerShell.js │ ├── shBrushPython.js │ ├── shBrushRuby.js │ ├── shBrushScala.js │ ├── shBrushSql.js │ ├── shBrushVb.js │ ├── shBrushXml.js │ ├── shCore.js │ └── shLegacy.js ├── src │ ├── shCore.js │ └── shLegacy.js ├── styles │ ├── help.png │ ├── magnifier.png │ ├── page_white_code.png │ ├── page_white_copy.png │ ├── printer.png │ ├── shCore.css │ ├── shThemeDefault.css │ ├── shThemeDjango.css │ ├── shThemeEmacs.css │ ├── shThemeFadeToGrey.css │ ├── shThemeMidnight.css │ ├── shThemeRDark.css │ └── wrapping.png └── test.html ├── ba-debug.js ├── jquery-1.3.2.js └── json2.js /LICENSE-MIT: -------------------------------------------------------------------------------- 1 | Copyright (c) 2010 "Cowboy" Ben Alman 2 | 3 | Permission is hereby granted, free of charge, to any person 4 | obtaining a copy of this software and associated documentation 5 | files (the "Software"), to deal in the Software without 6 | restriction, including without limitation the rights to use, 7 | copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the 9 | Software is furnished to do so, subject to the following 10 | conditions: 11 | 12 | The above copyright notice and this permission notice shall be 13 | included in all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 16 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 17 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 18 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 19 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 20 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 21 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 22 | OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /README.markdown: -------------------------------------------------------------------------------- 1 | # Simple PHP Proxy: Get external HTML, JSON and more! # 2 | [http://benalman.com/projects/php-simple-proxy/](http://benalman.com/projects/php-simple-proxy/) 3 | 4 | Version: 1.6, Last updated: 1/24/2009 5 | 6 | With Simple PHP Proxy, your JavaScript can access content in remote webpages, without cross-domain security limitations, even if it's not available in JSONP format. Of course, you'll need to install this PHP script on your server.. but that's a small price to have to pay for this much awesomeness. 7 | 8 | Visit the [project page](http://benalman.com/projects/php-simple-proxy/) for more information and usage examples! 9 | 10 | 11 | ## Documentation ## 12 | [http://benalman.com/code/projects/php-simple-proxy/docs/](http://benalman.com/code/projects/php-simple-proxy/docs/) 13 | 14 | 15 | ## Examples ## 16 | This working example, complete with fully commented code, illustrates one way 17 | in which this PHP script can be used. 18 | 19 | [http://benalman.com/code/projects/php-simple-proxy/examples/simple/](http://benalman.com/code/projects/php-simple-proxy/examples/simple/) 20 | 21 | 22 | ## Release History ## 23 | 24 | 1.6 - (1/24/2009) Now defaults to JSON mode, which can now be changed to native mode by specifying ?mode=native. Native and JSONP modes are disabled by default because of possible XSS vulnerability issues, but are configurable in the PHP script along with a url validation regex. 25 | 1.5 - (12/27/2009) Initial release 26 | 27 | 28 | ## License ## 29 | Copyright (c) 2010 "Cowboy" Ben Alman 30 | Dual licensed under the MIT and GPL licenses. 31 | [http://benalman.com/about/license/](http://benalman.com/about/license/) 32 | -------------------------------------------------------------------------------- /ba-simple-proxy.php: -------------------------------------------------------------------------------- 1 | and 42 | // are disabled by default, see for more information. 43 | // callback - If specified, the response JSON will be wrapped in this named 44 | // function call. This parameter and are disabled by 45 | // default, see for more information. 46 | // user_agent - This value will be sent to the remote URL request as the 47 | // `User-Agent:` HTTP request header. If omitted, the browser user agent 48 | // will be passed through. 49 | // send_cookies - If send_cookies=1, all cookies will be forwarded through to 50 | // the remote URL request. 51 | // send_session - If send_session=1 and send_cookies=1, the SID cookie will be 52 | // forwarded through to the remote URL request. 53 | // full_headers - If a JSON request and full_headers=1, the JSON response will 54 | // contain detailed header information. 55 | // full_status - If a JSON request and full_status=1, the JSON response will 56 | // contain detailed cURL status information, otherwise it will just contain 57 | // the `http_code` property. 58 | // 59 | // Topic: POST Parameters 60 | // 61 | // All POST parameters are automatically passed through to the remote URL 62 | // request. 63 | // 64 | // Topic: JSON requests 65 | // 66 | // This request will return the contents of the specified url in JSON format. 67 | // 68 | // Request: 69 | // 70 | // > ba-simple-proxy.php?url=http://example.com/ 71 | // 72 | // Response: 73 | // 74 | // > { "contents": "...", "headers": {...}, "status": {...} } 75 | // 76 | // JSON object properties: 77 | // 78 | // contents - (String) The contents of the remote URL resource. 79 | // headers - (Object) A hash of HTTP headers returned by the remote URL 80 | // resource. 81 | // status - (Object) A hash of status codes returned by cURL. 82 | // 83 | // Topic: JSONP requests 84 | // 85 | // This request will return the contents of the specified url in JSONP format 86 | // (but only if $enable_jsonp is enabled in the PHP script). 87 | // 88 | // Request: 89 | // 90 | // > ba-simple-proxy.php?url=http://example.com/&callback=foo 91 | // 92 | // Response: 93 | // 94 | // > foo({ "contents": "...", "headers": {...}, "status": {...} }) 95 | // 96 | // JSON object properties: 97 | // 98 | // contents - (String) The contents of the remote URL resource. 99 | // headers - (Object) A hash of HTTP headers returned by the remote URL 100 | // resource. 101 | // status - (Object) A hash of status codes returned by cURL. 102 | // 103 | // Topic: Native requests 104 | // 105 | // This request will return the contents of the specified url in the format it 106 | // was received in, including the same content-type and other headers (but only 107 | // if $enable_native is enabled in the PHP script). 108 | // 109 | // Request: 110 | // 111 | // > ba-simple-proxy.php?url=http://example.com/&mode=native 112 | // 113 | // Response: 114 | // 115 | // > ... 116 | // 117 | // Topic: Notes 118 | // 119 | // * Assumes magic_quotes_gpc = Off in php.ini 120 | // 121 | // Topic: Configuration Options 122 | // 123 | // These variables can be manually edited in the PHP file if necessary. 124 | // 125 | // $enable_jsonp - Only enable if you really need to. If you 126 | // install this script on the same server as the page you're calling it 127 | // from, plain JSON will work. Defaults to false. 128 | // $enable_native - You can enable , but you should only do 129 | // this if you also whitelist specific URLs using $valid_url_regex, to avoid 130 | // possible XSS vulnerabilities. Defaults to false. 131 | // $valid_url_regex - This regex is matched against the url parameter to 132 | // ensure that it is valid. This setting only needs to be used if either 133 | // $enable_jsonp or $enable_native are enabled. Defaults to '/.*/' which 134 | // validates all URLs. 135 | // 136 | // ############################################################################ 137 | 138 | // Change these configuration options if needed, see above descriptions for info. 139 | $enable_jsonp = false; 140 | $enable_native = false; 141 | $valid_url_regex = '/.*/'; 142 | 143 | // ############################################################################ 144 | 145 | $url = $_GET['url']; 146 | 147 | if ( !$url ) { 148 | 149 | // Passed url not specified. 150 | $contents = 'ERROR: url not specified'; 151 | $status = array( 'http_code' => 'ERROR' ); 152 | 153 | } else if ( !preg_match( $valid_url_regex, $url ) ) { 154 | 155 | // Passed url doesn't match $valid_url_regex. 156 | $contents = 'ERROR: invalid url'; 157 | $status = array( 'http_code' => 'ERROR' ); 158 | 159 | } else { 160 | $ch = curl_init( $url ); 161 | 162 | if ( strtolower($_SERVER['REQUEST_METHOD']) == 'post' ) { 163 | curl_setopt( $ch, CURLOPT_POST, true ); 164 | curl_setopt( $ch, CURLOPT_POSTFIELDS, $_POST ); 165 | } 166 | 167 | if ( $_GET['send_cookies'] ) { 168 | $cookie = array(); 169 | foreach ( $_COOKIE as $key => $value ) { 170 | $cookie[] = $key . '=' . $value; 171 | } 172 | if ( $_GET['send_session'] ) { 173 | $cookie[] = SID; 174 | } 175 | $cookie = implode( '; ', $cookie ); 176 | 177 | curl_setopt( $ch, CURLOPT_COOKIE, $cookie ); 178 | } 179 | 180 | curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, true ); 181 | curl_setopt( $ch, CURLOPT_HEADER, true ); 182 | curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true ); 183 | 184 | curl_setopt( $ch, CURLOPT_USERAGENT, $_GET['user_agent'] ? $_GET['user_agent'] : $_SERVER['HTTP_USER_AGENT'] ); 185 | 186 | list( $header, $contents ) = preg_split( '/([\r\n][\r\n])\\1/', curl_exec( $ch ), 2 ); 187 | 188 | $status = curl_getinfo( $ch ); 189 | 190 | curl_close( $ch ); 191 | } 192 | 193 | // Split header text into an array. 194 | $header_text = preg_split( '/[\r\n]+/', $header ); 195 | 196 | if ( $_GET['mode'] == 'native' ) { 197 | if ( !$enable_native ) { 198 | $contents = 'ERROR: invalid mode'; 199 | $status = array( 'http_code' => 'ERROR' ); 200 | } 201 | 202 | // Propagate headers to response. 203 | foreach ( $header_text as $header ) { 204 | if ( preg_match( '/^(?:Content-Type|Content-Language|Set-Cookie):/i', $header ) ) { 205 | header( $header ); 206 | } 207 | } 208 | 209 | print $contents; 210 | 211 | } else { 212 | 213 | // $data will be serialized into JSON data. 214 | $data = array(); 215 | 216 | // Propagate all HTTP headers into the JSON data object. 217 | if ( $_GET['full_headers'] ) { 218 | $data['headers'] = array(); 219 | 220 | foreach ( $header_text as $header ) { 221 | preg_match( '/^(.+?):\s+(.*)$/', $header, $matches ); 222 | if ( $matches ) { 223 | $data['headers'][ $matches[1] ] = $matches[2]; 224 | } 225 | } 226 | } 227 | 228 | // Propagate all cURL request / response info to the JSON data object. 229 | if ( $_GET['full_status'] ) { 230 | $data['status'] = $status; 231 | } else { 232 | $data['status'] = array(); 233 | $data['status']['http_code'] = $status['http_code']; 234 | } 235 | 236 | // Set the JSON data object contents, decoding it from JSON if possible. 237 | $decoded_json = json_decode( $contents ); 238 | $data['contents'] = $decoded_json ? $decoded_json : $contents; 239 | 240 | // Generate appropriate content-type header. 241 | $is_xhr = strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'; 242 | header( 'Content-type: application/' . ( $is_xhr ? 'json' : 'x-javascript' ) ); 243 | 244 | // Get JSONP callback. 245 | $jsonp_callback = $enable_jsonp && isset($_GET['callback']) ? $_GET['callback'] : null; 246 | 247 | // Generate JSON/JSONP string 248 | $json = json_encode( $data ); 249 | 250 | print $jsonp_callback ? "$jsonp_callback($json)" : $json; 251 | 252 | } 253 | 254 | ?> 255 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /docs/index/Files.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | File Index 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
File Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
S
 Simple PHP Proxy:Get external HTML,JSON and more!
15 | 16 |
Version: 1.6, Last updated: 1/24/2009
17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/index/General.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Index 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
Index
$#! · 0-9 · A · B · C · D · E · F · G · H · I · J · K · L · M · N · O · P · Q · R · S · T · U · V · W · X · Y · Z
C
 Configuration Options
E
 Examples
G
 GET Parameters
J
 JSON requests
 JSONP requests
L
 License
N
 Native requests
 Notes
P
 POST Parameters
R
 Release History
S
 Simple PHP Proxy:Get external HTML,JSON and more!
15 | 16 |
These variables can be manually edited in the PHP file if necessary.
17 | 18 | 19 | 20 |
This working example, complete with fully commented code, illustrates one way in which this PHP script can be used.
21 | 22 | 23 | 24 |
Certain GET (query string) parameters may be passed into ba-simple-proxy.php to control its behavior, this is a list of these parameters.
25 | 26 | 27 | 28 |
This request will return the contents of the specified url in JSON format.
This request will return the contents of the specified url in JSONP format (but only if $enable_jsonp is enabled in the PHP script).
29 | 30 | 31 | 32 |
Copyright © 2010 “Cowboy” Ben Alman, Dual licensed under the MIT and GPL licenses.
33 | 34 | 35 | 36 |
This request will return the contents of the specified url in the format it was received in, including the same content-type and other headers (but only if $enable_native is enabled in the PHP script).
37 | 38 | 39 | 40 |
All POST parameters are automatically passed through to the remote URL request.
41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 |
Version: 1.6, Last updated: 1/24/2009
49 | 50 |
51 | 52 | 53 | 54 | 55 | 56 | 59 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /docs/javascript/searchdata.js: -------------------------------------------------------------------------------- 1 | var indexSectionsWithContent = { 2 | "General": { 3 | "Symbols": false, 4 | "Numbers": false, 5 | "A": false, 6 | "B": false, 7 | "C": false, 8 | "D": false, 9 | "E": true, 10 | "F": false, 11 | "G": false, 12 | "H": false, 13 | "I": false, 14 | "J": false, 15 | "K": false, 16 | "L": true, 17 | "M": false, 18 | "N": false, 19 | "O": false, 20 | "P": false, 21 | "Q": false, 22 | "R": true, 23 | "S": true, 24 | "T": false, 25 | "U": false, 26 | "V": false, 27 | "W": false, 28 | "X": false, 29 | "Y": false, 30 | "Z": false 31 | }, 32 | "Files": { 33 | "Symbols": false, 34 | "Numbers": false, 35 | "A": false, 36 | "B": false, 37 | "C": false, 38 | "D": false, 39 | "E": false, 40 | "F": false, 41 | "G": false, 42 | "H": false, 43 | "I": false, 44 | "J": false, 45 | "K": false, 46 | "L": false, 47 | "M": false, 48 | "N": false, 49 | "O": false, 50 | "P": false, 51 | "Q": false, 52 | "R": false, 53 | "S": true, 54 | "T": false, 55 | "U": false, 56 | "V": false, 57 | "W": false, 58 | "X": false, 59 | "Y": false, 60 | "Z": false 61 | } 62 | } -------------------------------------------------------------------------------- /docs/nd/Data/ClassHierarchy.nd: -------------------------------------------------------------------------------- 1 | ( -------------------------------------------------------------------------------- /docs/nd/Data/ConfigFileInfo.nd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cowboy/php-simple-proxy/5dbb1be7bfe61d6db40ab51aa6bfe015145a1ccd/docs/nd/Data/ConfigFileInfo.nd -------------------------------------------------------------------------------- /docs/nd/Data/FileInfo.nd: -------------------------------------------------------------------------------- 1 | 1.4 2 | PHP 3 | /srv/projects/php-simple-proxy/ba-simple-proxy.php 1264309619 1 Simple PHP Proxy: Get external HTML, JSON and more! 4 | -------------------------------------------------------------------------------- /docs/nd/Data/ImageFileInfo.nd: -------------------------------------------------------------------------------- 1 | ( -------------------------------------------------------------------------------- /docs/nd/Data/ImageReferenceTable.nd: -------------------------------------------------------------------------------- 1 | ( -------------------------------------------------------------------------------- /docs/nd/Data/IndexInfo.nd: -------------------------------------------------------------------------------- 1 | (GeneralFile -------------------------------------------------------------------------------- /docs/nd/Data/PreviousMenuState.nd: -------------------------------------------------------------------------------- 1 | (Simple PHP Proxy2/srv/projects/php-simple-proxy/ba-simple-proxy.phpIndex 2 | EverythinggeneralFilesfile -------------------------------------------------------------------------------- /docs/nd/Data/PreviousSettings.nd: -------------------------------------------------------------------------------- 1 | (/srv/projects/php-simple-proxy1#/srv/projects/php-simple-proxy/docsHTML -------------------------------------------------------------------------------- /docs/nd/Data/SymbolTable.nd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cowboy/php-simple-proxy/5dbb1be7bfe61d6db40ab51aa6bfe015145a1ccd/docs/nd/Data/SymbolTable.nd -------------------------------------------------------------------------------- /docs/nd/Languages.txt: -------------------------------------------------------------------------------- 1 | Format: 1.4 2 | 3 | # This is the Natural Docs languages file for this project. If you change 4 | # anything here, it will apply to THIS PROJECT ONLY. If you'd like to change 5 | # something for all your projects, edit the Languages.txt in Natural Docs' 6 | # Config directory instead. 7 | 8 | 9 | # You can prevent certain file extensions from being scanned like this: 10 | # Ignore Extensions: [extension] [extension] ... 11 | 12 | 13 | #------------------------------------------------------------------------------- 14 | # SYNTAX: 15 | # 16 | # Unlike other Natural Docs configuration files, in this file all comments 17 | # MUST be alone on a line. Some languages deal with the # character, so you 18 | # cannot put comments on the same line as content. 19 | # 20 | # Also, all lists are separated with spaces, not commas, again because some 21 | # languages may need to use them. 22 | # 23 | # Language: [name] 24 | # Alter Language: [name] 25 | # Defines a new language or alters an existing one. Its name can use any 26 | # characters. If any of the properties below have an add/replace form, you 27 | # must use that when using Alter Language. 28 | # 29 | # The language Shebang Script is special. It's entry is only used for 30 | # extensions, and files with those extensions have their shebang (#!) lines 31 | # read to determine the real language of the file. Extensionless files are 32 | # always treated this way. 33 | # 34 | # The language Text File is also special. It's treated as one big comment 35 | # so you can put Natural Docs content in them without special symbols. Also, 36 | # if you don't specify a package separator, ignored prefixes, or enum value 37 | # behavior, it will copy those settings from the language that is used most 38 | # in the source tree. 39 | # 40 | # Extensions: [extension] [extension] ... 41 | # [Add/Replace] Extensions: [extension] [extension] ... 42 | # Defines the file extensions of the language's source files. You can 43 | # redefine extensions found in the main languages file. You can use * to 44 | # mean any undefined extension. 45 | # 46 | # Shebang Strings: [string] [string] ... 47 | # [Add/Replace] Shebang Strings: [string] [string] ... 48 | # Defines a list of strings that can appear in the shebang (#!) line to 49 | # designate that it's part of the language. You can redefine strings found 50 | # in the main languages file. 51 | # 52 | # Ignore Prefixes in Index: [prefix] [prefix] ... 53 | # [Add/Replace] Ignored Prefixes in Index: [prefix] [prefix] ... 54 | # 55 | # Ignore [Topic Type] Prefixes in Index: [prefix] [prefix] ... 56 | # [Add/Replace] Ignored [Topic Type] Prefixes in Index: [prefix] [prefix] ... 57 | # Specifies prefixes that should be ignored when sorting symbols in an 58 | # index. Can be specified in general or for a specific topic type. 59 | # 60 | #------------------------------------------------------------------------------ 61 | # For basic language support only: 62 | # 63 | # Line Comments: [symbol] [symbol] ... 64 | # Defines a space-separated list of symbols that are used for line comments, 65 | # if any. 66 | # 67 | # Block Comments: [opening sym] [closing sym] [opening sym] [closing sym] ... 68 | # Defines a space-separated list of symbol pairs that are used for block 69 | # comments, if any. 70 | # 71 | # Package Separator: [symbol] 72 | # Defines the default package separator symbol. The default is a dot. 73 | # 74 | # [Topic Type] Prototype Enders: [symbol] [symbol] ... 75 | # When defined, Natural Docs will attempt to get a prototype from the code 76 | # immediately following the topic type. It stops when it reaches one of 77 | # these symbols. Use \n for line breaks. 78 | # 79 | # Line Extender: [symbol] 80 | # Defines the symbol that allows a prototype to span multiple lines if 81 | # normally a line break would end it. 82 | # 83 | # Enum Values: [global|under type|under parent] 84 | # Defines how enum values are referenced. The default is global. 85 | # global - Values are always global, referenced as 'value'. 86 | # under type - Values are under the enum type, referenced as 87 | # 'package.enum.value'. 88 | # under parent - Values are under the enum's parent, referenced as 89 | # 'package.value'. 90 | # 91 | # Perl Package: [perl package] 92 | # Specifies the Perl package used to fine-tune the language behavior in ways 93 | # too complex to do in this file. 94 | # 95 | #------------------------------------------------------------------------------ 96 | # For full language support only: 97 | # 98 | # Full Language Support: [perl package] 99 | # Specifies the Perl package that has the parsing routines necessary for full 100 | # language support. 101 | # 102 | #------------------------------------------------------------------------------- 103 | 104 | # The following languages are defined in the main file, if you'd like to alter 105 | # them: 106 | # 107 | # Text File, Shebang Script, C/C++, C#, Java, JavaScript, Perl, Python, 108 | # PHP, SQL, Visual Basic, Pascal, Assembly, Ada, Tcl, Ruby, Makefile, 109 | # ActionScript, ColdFusion, R, Fortran 110 | 111 | # If you add a language that you think would be useful to other developers 112 | # and should be included in Natural Docs by default, please e-mail it to 113 | # languages [at] naturaldocs [dot] org. 114 | -------------------------------------------------------------------------------- /docs/nd/Menu.txt: -------------------------------------------------------------------------------- 1 | Format: 1.4 2 | 3 | 4 | # You can add a title and sub-title to your menu like this: 5 | # Title: [project name] 6 | # SubTitle: [subtitle] 7 | 8 | # You can add a footer to your documentation like this: 9 | # Footer: [text] 10 | # If you want to add a copyright notice, this would be the place to do it. 11 | 12 | # You can add a timestamp to your documentation like one of these: 13 | # Timestamp: Generated on month day, year 14 | # Timestamp: Updated mm/dd/yyyy 15 | # Timestamp: Last updated mon day 16 | # 17 | # m - One or two digit month. January is "1" 18 | # mm - Always two digit month. January is "01" 19 | # mon - Short month word. January is "Jan" 20 | # month - Long month word. January is "January" 21 | # d - One or two digit day. 1 is "1" 22 | # dd - Always two digit day. 1 is "01" 23 | # day - Day with letter extension. 1 is "1st" 24 | # yy - Two digit year. 2006 is "06" 25 | # yyyy - Four digit year. 2006 is "2006" 26 | # year - Four digit year. 2006 is "2006" 27 | 28 | 29 | # -------------------------------------------------------------------------- 30 | # 31 | # Cut and paste the lines below to change the order in which your files 32 | # appear on the menu. Don't worry about adding or removing files, Natural 33 | # Docs will take care of that. 34 | # 35 | # You can further organize the menu by grouping the entries. Add a 36 | # "Group: [name] {" line to start a group, and add a "}" to end it. 37 | # 38 | # You can add text and web links to the menu by adding "Text: [text]" and 39 | # "Link: [name] ([URL])" lines, respectively. 40 | # 41 | # The formatting and comments are auto-generated, so don't worry about 42 | # neatness when editing the file. Natural Docs will clean it up the next 43 | # time it is run. When working with groups, just deal with the braces and 44 | # forget about the indentation and comments. 45 | # 46 | # -------------------------------------------------------------------------- 47 | 48 | 49 | File: Simple PHP Proxy (no auto-title, ba-simple-proxy.php) 50 | 51 | Group: Index { 52 | 53 | Index: Everything 54 | File Index: Files 55 | } # Group: Index 56 | 57 | -------------------------------------------------------------------------------- /docs/nd/Topics.txt: -------------------------------------------------------------------------------- 1 | Format: 1.4 2 | 3 | # This is the Natural Docs topics file for this project. If you change anything 4 | # here, it will apply to THIS PROJECT ONLY. If you'd like to change something 5 | # for all your projects, edit the Topics.txt in Natural Docs' Config directory 6 | # instead. 7 | 8 | 9 | # If you'd like to prevent keywords from being recognized by Natural Docs, you 10 | # can do it like this: 11 | # Ignore Keywords: [keyword], [keyword], ... 12 | # 13 | # Or you can use the list syntax like how they are defined: 14 | # Ignore Keywords: 15 | # [keyword] 16 | # [keyword], [plural keyword] 17 | # ... 18 | 19 | 20 | #------------------------------------------------------------------------------- 21 | # SYNTAX: 22 | # 23 | # Topic Type: [name] 24 | # Alter Topic Type: [name] 25 | # Creates a new topic type or alters one from the main file. Each type gets 26 | # its own index and behavior settings. Its name can have letters, numbers, 27 | # spaces, and these charaters: - / . ' 28 | # 29 | # Plural: [name] 30 | # Sets the plural name of the topic type, if different. 31 | # 32 | # Keywords: 33 | # [keyword] 34 | # [keyword], [plural keyword] 35 | # ... 36 | # Defines or adds to the list of keywords for the topic type. They may only 37 | # contain letters, numbers, and spaces and are not case sensitive. Plural 38 | # keywords are used for list topics. You can redefine keywords found in the 39 | # main topics file. 40 | # 41 | # Index: [yes|no] 42 | # Whether the topics get their own index. Defaults to yes. Everything is 43 | # included in the general index regardless of this setting. 44 | # 45 | # Scope: [normal|start|end|always global] 46 | # How the topics affects scope. Defaults to normal. 47 | # normal - Topics stay within the current scope. 48 | # start - Topics start a new scope for all the topics beneath it, 49 | # like class topics. 50 | # end - Topics reset the scope back to global for all the topics 51 | # beneath it. 52 | # always global - Topics are defined as global, but do not change the scope 53 | # for any other topics. 54 | # 55 | # Class Hierarchy: [yes|no] 56 | # Whether the topics are part of the class hierarchy. Defaults to no. 57 | # 58 | # Page Title If First: [yes|no] 59 | # Whether the topic's title becomes the page title if it's the first one in 60 | # a file. Defaults to no. 61 | # 62 | # Break Lists: [yes|no] 63 | # Whether list topics should be broken into individual topics in the output. 64 | # Defaults to no. 65 | # 66 | # Can Group With: [type], [type], ... 67 | # Defines a list of topic types that this one can possibly be grouped with. 68 | # Defaults to none. 69 | #------------------------------------------------------------------------------- 70 | 71 | # The following topics are defined in the main file, if you'd like to alter 72 | # their behavior or add keywords: 73 | # 74 | # Generic, Class, Interface, Section, File, Group, Function, Variable, 75 | # Property, Type, Constant, Enumeration, Event, Delegate, Macro, 76 | # Database, Database Table, Database View, Database Index, Database 77 | # Cursor, Database Trigger, Cookie, Build Target 78 | 79 | # If you add something that you think would be useful to other developers 80 | # and should be included in Natural Docs by default, please e-mail it to 81 | # topics [at] naturaldocs [dot] org. 82 | -------------------------------------------------------------------------------- /docs/search/FilesS.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
Loading...
Searching...
No Matches
-------------------------------------------------------------------------------- /docs/search/GeneralC.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
Loading...
Searching...
No Matches
-------------------------------------------------------------------------------- /docs/search/GeneralE.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
Loading...
Searching...
No Matches
-------------------------------------------------------------------------------- /docs/search/GeneralG.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
Loading...
Searching...
No Matches
-------------------------------------------------------------------------------- /docs/search/GeneralJ.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
Loading...
Searching...
No Matches
-------------------------------------------------------------------------------- /docs/search/GeneralL.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
Loading...
Searching...
No Matches
-------------------------------------------------------------------------------- /docs/search/GeneralN.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
Loading...
Searching...
No Matches
-------------------------------------------------------------------------------- /docs/search/GeneralP.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
Loading...
Searching...
No Matches
-------------------------------------------------------------------------------- /docs/search/GeneralR.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
Loading...
Searching...
No Matches
-------------------------------------------------------------------------------- /docs/search/GeneralS.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
Loading...
Searching...
No Matches
-------------------------------------------------------------------------------- /docs/search/NoResults.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
No Matches
-------------------------------------------------------------------------------- /docs/styles/2.css: -------------------------------------------------------------------------------- 1 | /* 2 | bg: #FDEBDC 3 | bg1: #FFD6AF 4 | bg2: #FFAB59 5 | orange: #FF7F00 6 | brown: #913D00 7 | lt. brown: #C4884F 8 | */ 9 | 10 | .IndexPage #Index { 11 | margin-left: 31ex !important; 12 | } 13 | 14 | #MSelected { 15 | -webkit-border-top-right-radius: 10px; 16 | -webkit-border-bottom-right-radius: 10px; 17 | } 18 | 19 | .MGroup #MSelected { 20 | -webkit-border-top-left-radius: 10px; 21 | -webkit-border-bottom-left-radius: 10px; 22 | } 23 | 24 | .Safari #MSelected { 25 | border-width: 1px; 26 | border-left-width: 0; 27 | } 28 | 29 | .Safari .MGroup #MSelected { 30 | border-left-width: 1px; 31 | } 32 | 33 | .SBorder { 34 | -webkit-border-radius: 20px; 35 | } 36 | 37 | 38 | body { 39 | font-size: 0.75em; 40 | line-height: 1.6em; 41 | font-family: Arial, sans-serif; 42 | } 43 | 44 | a:link, a:visited { 45 | color: #913D00; 46 | text-decoration: underline; 47 | } 48 | 49 | a:hover { 50 | color: #FF7F00; 51 | } 52 | 53 | p { 54 | margin-left: 5ex; 55 | text-indent: 0; 56 | margin-bottom: 0.6em; 57 | } 58 | 59 | .Summary a:link, .Summary a:visited { 60 | text-decoration: none; 61 | } 62 | 63 | .CClass .CTitle, .CInterface .CTitle, .CDatabase .CTitle, .CDatabaseTable .CTitle, .CSection .CTitle, 64 | #MainTopic .CTitle, 65 | .STitle { 66 | text-transform: uppercase; 67 | font-family: "Gill Sans", "Gill Sans MT", Arial, Helvetica, sans-serif; 68 | } 69 | 70 | .CClass .CTitle, .CInterface .CTitle, .CDatabase .CTitle, .CDatabaseTable .CTitle, .CSection .CTitle, 71 | .IPageTitle, 72 | #MainTopic .CTitle { 73 | color: #913D00; 74 | font-size: 22px; 75 | font-weight: 400; 76 | 77 | background: #FDEBDC; 78 | border: none; 79 | } 80 | 81 | .CClass .CTitle, .CInterface .CTitle, .CDatabase .CTitle, .CDatabaseTable .CTitle, .CSection .CTitle { 82 | border-top: 2px solid #913D00; 83 | } 84 | 85 | .CGroup .CTitle { 86 | color: #913D00; 87 | font-family: "Gill Sans", "Gill Sans MT", Arial, Helvetica, sans-serif; 88 | font-weight: 700; 89 | font-size: 130%; 90 | font-variant: none; 91 | border-bottom: 2px solid #913D00; 92 | } 93 | 94 | .CTitle { 95 | border-color: #C4884F; 96 | line-height: 1.2em; 97 | } 98 | 99 | .ContentPage #Content { 100 | background: #FDEBDC; 101 | } 102 | 103 | .STitle { 104 | color: #FF7F00; 105 | font-size: 140%; 106 | font-weight: 700; 107 | margin: 1.2em 0 0.3em; 108 | } 109 | 110 | .CBody pre { 111 | margin-left: 5ex; 112 | } 113 | 114 | .CBody pre, 115 | .CDLEntry { 116 | color: #913D00; 117 | font-family: Monaco, "Courier New", Courier, monospace; 118 | font-size: 9pt; 119 | } 120 | 121 | .SBorder { 122 | background-color: #fff; 123 | border: 1px solid #913D00; 124 | padding: 15px; 125 | } 126 | 127 | .SMarked { 128 | background-color: #eee; 129 | } 130 | 131 | .ContentPage, .IndexPage, .FramedMenuPage { 132 | background-color: #FFAB59; 133 | } 134 | 135 | .MEntry a:link, .MEntry a:hover, .MEntry a:visited, 136 | .MGroup a:link, .MGroup a:hover, .MGroup a:visited { 137 | color: #000; 138 | } 139 | 140 | #MSearchField { 141 | color: #913D00; 142 | background: #FDEBDC; 143 | } 144 | 145 | #Footer a:link, #Footer a:hover, #Footer a:visited { 146 | color: #913D00; 147 | } 148 | 149 | .INavigationBar { 150 | background: #FFD6AF; 151 | border-top: 1px solid #000; 152 | border-bottom: 1px solid #000; 153 | } 154 | 155 | #MSelected { 156 | color: #913D00; 157 | border-color: #913D00; 158 | } 159 | 160 | 161 | 162 | -------------------------------------------------------------------------------- /docs/styles/main.css: -------------------------------------------------------------------------------- 1 | @import URL("1.css"); 2 | @import URL("2.css"); 3 | -------------------------------------------------------------------------------- /examples/config.php: -------------------------------------------------------------------------------- 1 | 8 | Project Home, 9 | Documentation, 10 | Source 11 | 20 | -------------------------------------------------------------------------------- /examples/donate.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cowboy/php-simple-proxy/5dbb1be7bfe61d6db40ab51aa6bfe015145a1ccd/examples/donate.gif -------------------------------------------------------------------------------- /examples/index.css: -------------------------------------------------------------------------------- 1 | /* YUI RESETS */ 2 | 3 | /* 4 | Copyright (c) 2008, Yahoo! Inc. All rights reserved. 5 | Code licensed under the BSD License: 6 | http://developer.yahoo.net/yui/license.txt 7 | version: 2.5.2 8 | */ 9 | html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym {border:0;font-variant:normal;}sup {vertical-align:text-top;}sub {vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;} 10 | 11 | /* 12 | Copyright (c) 2008, Yahoo! Inc. All rights reserved. 13 | Code licensed under the BSD License: 14 | http://developer.yahoo.net/yui/license.txt 15 | version: 2.5.2 16 | */ 17 | body {font:13px/1.231 arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}table {font-size:inherit;font:100%;}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;} 18 | 19 | /* 20 | Copyright (c) 2008, Yahoo! Inc. All rights reserved. 21 | Code licensed under the BSD License: 22 | http://developer.yahoo.net/yui/license.txt 23 | version: 2.5.2 24 | */ 25 | h1{font-size:138.5%;}h2{font-size:123.1%;}h3{font-size:108%;}h1,h2,h3{margin:1em 0;}h1,h2,h3,h4,h5,h6,strong{font-weight:bold;}abbr,acronym{border-bottom:1px dotted #000;cursor:help;} em{font-style:italic;}blockquote,ul,ol,dl{margin:1em;}ol,ul,dl{margin-left:2em;}ol li{list-style:decimal outside;}ul li{list-style:disc outside;}dl dd{margin-left:1em;}th,td{border:1px solid #000;padding:.5em;}th{font-weight:bold;text-align:center;}caption{margin-bottom:.5em;text-align:center;}p,fieldset,table,pre{margin-bottom:1em;}input[type=text],input[type=password],textarea{width:12.25em;*width:11.9em;} 26 | 27 | /* MISC RESETS */ 28 | 29 | em, i { 30 | font-weight: inherit; 31 | } 32 | 33 | ul, ol { 34 | margin-right: 0; 35 | } 36 | 37 | pre { 38 | white-space: pre-wrap; 39 | white-space: -moz-pre-wrap; 40 | white-space: -o-pre-wrap; 41 | word-wrap: break-word; 42 | _white-space: pre; 43 | } 44 | 45 | /* LISTS */ 46 | 47 | div.nav ul, ul.nav { 48 | margin: 0 !important; 49 | padding: 0 !important; 50 | } 51 | 52 | div.nav li, ul.nav li { 53 | list-style: none !important; 54 | background: none !important; 55 | margin: 0 !important; 56 | padding: 0 !important; 57 | } 58 | 59 | div.nav-inline ul, ul.nav-inline { 60 | width: auto !important; 61 | } 62 | 63 | div.nav-inline li, ul.nav-inline li { 64 | display: inline !important; 65 | } 66 | 67 | dl.inline { 68 | margin-left: 0; 69 | } 70 | 71 | dl.inline dt, 72 | dl.inline dd { 73 | margin: 0; 74 | display: inline; 75 | } 76 | 77 | /* HORIZONTAL RULE */ 78 | 79 | hr { 80 | height: 1px; 81 | color: #777; 82 | } 83 | 84 | div.hr { 85 | height: 1px; 86 | overflow: hidden; 87 | border-bottom: 1px solid #777; 88 | margin: 0.8em 0; 89 | } 90 | 91 | 92 | /* GENERAL-PURPOSE CLASSES */ 93 | 94 | .hidden { 95 | display: none !important; 96 | } 97 | 98 | .inline { 99 | display: inline !important; 100 | float: none !important; 101 | } 102 | 103 | .floatright { 104 | display: inline; 105 | float: right !important; 106 | } 107 | 108 | .floatleft { 109 | display: inline; 110 | float: left !important; 111 | } 112 | 113 | .clear { 114 | clear: both !important; 115 | display: block; 116 | } 117 | 118 | .clearleft { 119 | clear: left !important; 120 | display: block; 121 | } 122 | 123 | .clearright { 124 | clear: right !important; 125 | display: block; 126 | } 127 | 128 | .left { 129 | text-align: left !important; 130 | } 131 | 132 | .right { 133 | text-align: right !important; 134 | } 135 | 136 | .center { 137 | text-align: center !important; 138 | } 139 | 140 | .nowrap { 141 | white-space: nowrap !important; 142 | } 143 | 144 | .uppercase { 145 | text-transform: uppercase !important; 146 | } 147 | 148 | .lowercase { 149 | text-transform: lowercase !important; 150 | } 151 | 152 | .nocase { 153 | text-transform: default !important; 154 | } 155 | 156 | .bold { 157 | font-weight: 700 !important; 158 | } 159 | 160 | .normal { 161 | font-weight: 400 !important; 162 | } 163 | 164 | .small { 165 | font-size: 86% !important; 166 | } 167 | 168 | @media print { 169 | .hidden-print { 170 | display: none !important; 171 | } 172 | .nopagebreak { 173 | page-break-inside: avoid !important; 174 | } 175 | } 176 | 177 | @media screen { 178 | .hidden-screen { 179 | display: none !important; 180 | } 181 | } 182 | 183 | 184 | /* HORIZONTAL + VERTICAL CENTERING */ 185 | 186 | .center1 { 187 | text-align: center; 188 | } 189 | 190 | .center2 { 191 | #left: 50%; 192 | } 193 | 194 | .center3 { 195 | margin: 0 auto; 196 | #left: -50%; 197 | } 198 | 199 | .center1, .vcenter1 { 200 | display: table; 201 | #display: block; 202 | #text-align: auto; 203 | #position: relative; 204 | } 205 | 206 | .center2, .vcenter2 { 207 | display: table-cell; 208 | vertical-align: middle; 209 | #position: absolute; 210 | #top: 50%; 211 | } 212 | 213 | .center3, .vcenter3 { 214 | display: block; 215 | #position: relative; 216 | #top: -50%; 217 | } 218 | 219 | /* 220 | .center1, .vcenter1 { border: 1px solid #f00 !important; } 221 | .center2, .vcenter2 { border: 1px solid #0f0 !important; } 222 | .center3, .vcenter3 { border: 1px solid #00f !important; } 223 | */ 224 | 225 | 226 | /* CSS BG IMAGE REPLACEMENT */ 227 | 228 | .bgfx, .bgfx1, .bgfx2 { 229 | display: block; 230 | width: 300px; 231 | height: 50px; 232 | padding: 0 !important; 233 | } 234 | 235 | a.bgfx, a.bgfx1, a.bgfx2, 236 | a.bgfx:hover, a.bgfx1:hover, a.bgfx2:hover { 237 | text-decoration: none; 238 | cursor: pointer; 239 | cursor: hand; 240 | } 241 | 242 | .bgfx { 243 | position: relative; 244 | overflow: hidden; 245 | background: no-repeat 0 0; 246 | } 247 | 248 | .bgfx1, .bgfx2 { 249 | position: absolute; 250 | left: 0; 251 | top: 0; 252 | z-index: 1; 253 | background: no-repeat 0 0; 254 | } 255 | 256 | 257 | /* "HIT" LINKS */ 258 | 259 | .hit, .hit .hit1 { 260 | display: block; 261 | position: absolute; 262 | left: 0; 263 | right: 0; 264 | top: 0; 265 | bottom: 0; 266 | cursor: hand; 267 | cursor: pointer; 268 | _width: 100%; 269 | _height: 100%; 270 | } 271 | 272 | .hit { 273 | z-index: 1000; 274 | } 275 | 276 | .hit .hit1 { 277 | #background: #fff; 278 | #filter: alpha(opacity=1); 279 | } 280 | 281 | 282 | /* EXAMPLE CSS */ 283 | 284 | /* http://colorschemedesigner.com/#3s40M--K-BRJD */ 285 | 286 | .primary-1 { background-color: #008CD0 } 287 | .primary-2 { background-color: #2C7091 } 288 | .primary-3 { background-color: #005178 } 289 | .primary-4 { background-color: #58C0F2 } 290 | .primary-5 { background-color: #9FD7F2 } 291 | 292 | .secondary-a-1 { background-color: #0BE700 } 293 | .secondary-a-2 { background-color: #36A131 } 294 | .secondary-a-3 { background-color: #078500 } 295 | .secondary-a-4 { background-color: #62F85A } 296 | .secondary-a-5 { background-color: #A7F8A3 } 297 | 298 | .secondary-b-1 { background-color: #FE0006 } 299 | .secondary-b-2 { background-color: #B13639 } 300 | .secondary-b-3 { background-color: #920004 } 301 | .secondary-b-4 { background-color: #FF5D61 } 302 | .secondary-b-5 { background-color: #FFA7A9 } 303 | 304 | .complement-1 { background-color: #FF8900 } 305 | .complement-2 { background-color: #B27836 } 306 | .complement-3 { background-color: #934F00 } 307 | .complement-4 { background-color: #FFB45D } 308 | .complement-5 { background-color: #FFD6A7 } 309 | 310 | /* 311 | bg: #FDEBDC 312 | bg1: #FFBE7D 313 | bg2: #FFAB59 314 | orange: #FF7F00 315 | brown: #913D00 316 | lt. brown: #C4884F 317 | */ 318 | 319 | html, body { 320 | color: #000; 321 | background: #fff; 322 | font-family: Arial; 323 | } 324 | 325 | body { 326 | font-size: 0.8em; 327 | margin: 1em; 328 | } 329 | 330 | h1, h2 { 331 | font-family: "Gill Sans", "Gill Sans MT", Arial, Helvetica, sans-serif; 332 | } 333 | 334 | h1 { 335 | font-size: 140%; 336 | font-weight: 400; 337 | text-transform: uppercase; 338 | color: #FF7F00; 339 | margin: 0 0 0.6em; 340 | } 341 | 342 | h1 a { 343 | color: #FF7F00; 344 | } 345 | 346 | h1 a:hover { 347 | color: #913D00; 348 | } 349 | 350 | h1 .title { 351 | color: #913D00; 352 | } 353 | 354 | h1 a.title:hover { 355 | color: #FF7F00; 356 | } 357 | 358 | h2 { 359 | font-size: 120%; 360 | color: #913D00; 361 | } 362 | 363 | h3 { 364 | font-size: 100%; 365 | } 366 | 367 | a { 368 | color: #913D00; 369 | } 370 | 371 | a:hover { 372 | color: #FF7F00; 373 | } 374 | 375 | .divider { 376 | color: #C4884F; 377 | } 378 | 379 | #page { 380 | width: 700px; 381 | } 382 | 383 | #header h1 { 384 | white-space: nowrap; 385 | } 386 | 387 | #footer { 388 | clear: both; 389 | padding-top: 2em; 390 | font-size: 80%; 391 | color: #C4884F; 392 | } 393 | 394 | #footer a { 395 | color: #C4884F; 396 | } 397 | 398 | #footer a:hover { 399 | color: #FF7F00; 400 | } 401 | 402 | #donate { 403 | color: #000; 404 | background: #fff; 405 | border: 1px solid #3D942F; 406 | font-size: 80%; 407 | padding: 0.5em; 408 | float: right; 409 | width: 11em; 410 | margin: 0 0 1.5em 2em; 411 | -moz-box-shadow: 0 0 6px #3D942F; 412 | -webkit-box-shadow: 0 0 6px #3D942F; 413 | box-shadow: 0 0 6px #3D942F; 414 | } 415 | 416 | #donate form { 417 | text-align: center; 418 | } 419 | 420 | #donate .submit { 421 | width: 74px; 422 | height: 21px; 423 | } 424 | 425 | pre { 426 | overflow-x: auto; 427 | } 428 | 429 | pre code { 430 | display: block; 431 | border: 1px solid transparent; 432 | _border: none; 433 | } 434 | 435 | /* ROUNDED BORDERS */ 436 | 437 | #donate, 438 | pre, 439 | .syntaxhighlighter, 440 | .syntaxhighlighter .toolbar { 441 | -moz-border-radius: 10px; 442 | -webkit-border-radius: 10px; 443 | border-radius: 10px; 444 | } 445 | 446 | /* PRE/CODE BLOCKS, SYNTAX HIGHLIGHTING */ 447 | 448 | code, pre { 449 | font-family: "Consolas","Monaco","Bitstream Vera Sans Mono","Courier New",Courier,monospace; 450 | } 451 | 452 | a code { 453 | color: inherit; 454 | } 455 | 456 | code { 457 | color: #913D00; 458 | font-size: 12px; 459 | font-weight: inherit; 460 | } 461 | 462 | pre { 463 | margin: 0 0 0.6em; 464 | padding: 0 0.6em; 465 | border: 1px solid #C4884F; 466 | background: #fee0c5; 467 | color: #000; 468 | } 469 | 470 | pre code { 471 | color: #000; 472 | } 473 | 474 | pre, 475 | .syntaxhighlighter, 476 | .syntaxhighlighter div, 477 | .syntaxhighlighter code, 478 | .syntaxhighlighter span { 479 | font-size: 11px !important; 480 | line-height: 1.5em !important; 481 | } 482 | 483 | pre, 484 | .syntaxhighlighter, 485 | .syntaxhighlighter .line:first-child .content { 486 | min-height: 2.99em; 487 | } 488 | 489 | .syntaxhighlighter .line:not(:last-child) .content { 490 | min-height: 0; 491 | } 492 | 493 | .syntaxhighlighter .content { 494 | min-height: 0\9 !important; /* IE6, IE7, IE8 */ 495 | } 496 | 497 | .syntaxhighlighter, 498 | .syntaxhighlighter code, 499 | .syntaxhighlighter a { 500 | word-wrap: break-word !important; 501 | } 502 | 503 | .syntaxhighlighter .line .content .block { 504 | background-position: 0 1.5em !important; 505 | } 506 | 507 | .syntaxhighlighter { 508 | width: auto !important; 509 | margin: 0 0 0.6em !important; 510 | padding: 0 1px !important; 511 | background: #fee0c5 !important; 512 | border: 1px solid #C4884F !important; 513 | _zoom: 1; 514 | } 515 | 516 | .syntaxhighlighter .toolbar { 517 | right: 3px !important; 518 | top: 3px !important; 519 | } 520 | 521 | .syntaxhighlighter .line .number { 522 | color: #C4884F !important; 523 | } 524 | 525 | .syntaxhighlighter .lines .content { 526 | border-color: #C4884F !important; 527 | } 528 | 529 | .syntaxhighlighter .lines .line:first-child, 530 | .syntaxhighlighter .lines .line:first-child .content { 531 | -moz-border-radius-topright: 10px; 532 | -webkit-border-top-right-radius: 10px; 533 | } 534 | 535 | .syntaxhighlighter .lines .line:last-child, 536 | .syntaxhighlighter .lines .line:last-child .content { 537 | -moz-border-radius-bottomright: 10px; 538 | -webkit-border-bottom-right-radius: 10px; 539 | } 540 | 541 | .syntaxhighlighter.nogutter .lines .line:first-child, 542 | .syntaxhighlighter.nogutter .lines .line:first-child .content { 543 | -moz-border-radius-topleft: 10px; 544 | -webkit-border-top-left-radius: 10px; 545 | } 546 | 547 | .syntaxhighlighter.nogutter .lines .line:last-child, 548 | .syntaxhighlighter.nogutter .lines .line:last-child .content { 549 | -moz-border-radius-bottomleft: 10px; 550 | -webkit-border-bottom-left-radius: 10px; 551 | } 552 | -------------------------------------------------------------------------------- /examples/index.php: -------------------------------------------------------------------------------- 1 | 13 | 23 | 31 | 32 | 33 | 34 | Ben Alman » <?= $shell['title1'] ?><? if ( $shell['title2'] ) { print ' » ' . $shell['title2']; } ?><? if ( $shell['title3'] ) { print ' » ' . $shell['title3']; } ?> 35 | 36 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 |
59 | 84 |
85 | 86 |
87 | 95 |
96 | 97 | 98 | $title
"; 117 | } 118 | } 119 | 120 | $base = ''; 121 | draw_shell(); 122 | } 123 | 124 | ?> 125 | -------------------------------------------------------------------------------- /examples/simple/index.php: -------------------------------------------------------------------------------- 1 | 15 | $(function(){ 16 | 17 | // Handle form submit. 18 | $('#params').submit(function(){ 19 | var proxy = '../../ba-simple-proxy.php', 20 | url = proxy + '?' + $('#params').serialize(); 21 | 22 | // Update some stuff. 23 | $('#request').html( $('').attr( 'href', url ).text( url ) ); 24 | $('#response').html( 'Loading...' ); 25 | 26 | // Test to see if HTML mode. 27 | if ( /mode=native/.test( url ) ) { 28 | 29 | // Make GET request. 30 | $.get( url, function(data){ 31 | 32 | $('#response') 33 | .html( '
' )
 34 |           .find( 'pre' )
 35 |             .text( data );
 36 |         
 37 |         SyntaxHighlighter.highlight();
 38 |       });
 39 |       
 40 |     } else {
 41 |       
 42 |       // Make JSON request.
 43 |       $.getJSON( url, function(data){
 44 |         
 45 |         $('#response')
 46 |           .html( '
' )
 47 |           .find( 'pre' )
 48 |             .text( JSON.stringify( data, null, 2 ) );
 49 |         
 50 |         SyntaxHighlighter.highlight();
 51 |       });
 52 |     }
 53 |     
 54 |     // Prevent default form submit action.
 55 |     return false;
 56 |   });
 57 |   
 58 |   // Submit the form on page load if ?url= is passed into the example page.
 59 |   if ( $('#url').val() !== '' ) {
 60 |     $('#params').submit();
 61 |   }
 62 |   
 63 |   // Disable AJAX caching.
 64 |   $.ajaxSetup({ cache: false });
 65 |   
 66 |   // Disable dependent checkboxes as necessary.
 67 |   $('input:radio').click(function(){
 68 |     var that = $(this),
 69 |       c1 = 'dependent-' + that.attr('name'),
 70 |       c2 = c1 + '-' + that.val();
 71 |     
 72 |     that.closest('form')
 73 |       .find( '.' + c1 + ' input' )
 74 |         .attr( 'disabled', 'disabled' )
 75 |         .end()
 76 |       .find( '.' + c2 + ' input' )
 77 |         .removeAttr( 'disabled' );
 78 |   });
 79 |   
 80 |   // Clicking sample remote urls should populate the "Remote URL" box.
 81 |   $('#sample a').click(function(){
 82 |     $('#url').val( $(this).attr( 'href' ) );
 83 |     return false;
 84 |   });
 85 | });
 86 | 
 96 | 
103 | 
104 | 
117 | 
154 | 
164 | 
165 | 
166 | 

167 | With Simple PHP Proxy, your JavaScript can 168 | access content in remote webpages, without cross-domain security limitations, even if it's not available 169 | in JSONP format. Of course, you'll need to install this PHP script on your server.. but that's a small 170 | price to have to pay for this much awesomeness. 171 |

172 |

173 | Please note that while jQuery is used here, you can use any library you'd like.. or just code your 174 | XMLHttpRequest objects by hand, it doesn't matter. This proxy just acts a bridge between the client 175 | and server to facilitate cross-domain communication, so the client-side JavaScript is entirely left 176 | up to you (but I recommend jQuery's getJSON 177 | method because of its simplicity). 178 |

179 |

180 | Please see the project page and 181 | documentation for more usage 182 | information. 183 |

184 | 185 |
186 |
187 | 191 |
192 |

193 | ..or try these sample Remote URLs: 194 | GitHub, 195 | a sample JSON (not JSONP) request, 196 | a 404 error page 197 |

198 |
199 | 203 |
204 |
205 | 209 |
210 |
211 |
212 | 216 |
217 |
218 | 222 |
223 |
224 | 225 |
226 | 227 |

Request URL

228 |

N/A, click Submit!

229 | 230 |

Simple PHP Proxy response

231 |
N/A, click Submit!
232 | 233 |

The code

234 | 235 |
236 | 
237 | 
238 | 239 | 250 | -------------------------------------------------------------------------------- /examples/simple/json_sample.js: -------------------------------------------------------------------------------- 1 | { "test": "this is a test string", "another_test": "and another test string" } 2 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/LGPLv3.txt: -------------------------------------------------------------------------------- 1 | GNU LESSER GENERAL PUBLIC LICENSE 2 | Version 3, 29 June 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | 9 | This version of the GNU Lesser General Public License incorporates 10 | the terms and conditions of version 3 of the GNU General Public 11 | License, supplemented by the additional permissions listed below. 12 | 13 | 0. Additional Definitions. 14 | 15 | As used herein, "this License" refers to version 3 of the GNU Lesser 16 | General Public License, and the "GNU GPL" refers to version 3 of the GNU 17 | General Public License. 18 | 19 | "The Library" refers to a covered work governed by this License, 20 | other than an Application or a Combined Work as defined below. 21 | 22 | An "Application" is any work that makes use of an interface provided 23 | by the Library, but which is not otherwise based on the Library. 24 | Defining a subclass of a class defined by the Library is deemed a mode 25 | of using an interface provided by the Library. 26 | 27 | A "Combined Work" is a work produced by combining or linking an 28 | Application with the Library. The particular version of the Library 29 | with which the Combined Work was made is also called the "Linked 30 | Version". 31 | 32 | The "Minimal Corresponding Source" for a Combined Work means the 33 | Corresponding Source for the Combined Work, excluding any source code 34 | for portions of the Combined Work that, considered in isolation, are 35 | based on the Application, and not on the Linked Version. 36 | 37 | The "Corresponding Application Code" for a Combined Work means the 38 | object code and/or source code for the Application, including any data 39 | and utility programs needed for reproducing the Combined Work from the 40 | Application, but excluding the System Libraries of the Combined Work. 41 | 42 | 1. Exception to Section 3 of the GNU GPL. 43 | 44 | You may convey a covered work under sections 3 and 4 of this License 45 | without being bound by section 3 of the GNU GPL. 46 | 47 | 2. Conveying Modified Versions. 48 | 49 | If you modify a copy of the Library, and, in your modifications, a 50 | facility refers to a function or data to be supplied by an Application 51 | that uses the facility (other than as an argument passed when the 52 | facility is invoked), then you may convey a copy of the modified 53 | version: 54 | 55 | a) under this License, provided that you make a good faith effort to 56 | ensure that, in the event an Application does not supply the 57 | function or data, the facility still operates, and performs 58 | whatever part of its purpose remains meaningful, or 59 | 60 | b) under the GNU GPL, with none of the additional permissions of 61 | this License applicable to that copy. 62 | 63 | 3. Object Code Incorporating Material from Library Header Files. 64 | 65 | The object code form of an Application may incorporate material from 66 | a header file that is part of the Library. You may convey such object 67 | code under terms of your choice, provided that, if the incorporated 68 | material is not limited to numerical parameters, data structure 69 | layouts and accessors, or small macros, inline functions and templates 70 | (ten or fewer lines in length), you do both of the following: 71 | 72 | a) Give prominent notice with each copy of the object code that the 73 | Library is used in it and that the Library and its use are 74 | covered by this License. 75 | 76 | b) Accompany the object code with a copy of the GNU GPL and this license 77 | document. 78 | 79 | 4. Combined Works. 80 | 81 | You may convey a Combined Work under terms of your choice that, 82 | taken together, effectively do not restrict modification of the 83 | portions of the Library contained in the Combined Work and reverse 84 | engineering for debugging such modifications, if you also do each of 85 | the following: 86 | 87 | a) Give prominent notice with each copy of the Combined Work that 88 | the Library is used in it and that the Library and its use are 89 | covered by this License. 90 | 91 | b) Accompany the Combined Work with a copy of the GNU GPL and this license 92 | document. 93 | 94 | c) For a Combined Work that displays copyright notices during 95 | execution, include the copyright notice for the Library among 96 | these notices, as well as a reference directing the user to the 97 | copies of the GNU GPL and this license document. 98 | 99 | d) Do one of the following: 100 | 101 | 0) Convey the Minimal Corresponding Source under the terms of this 102 | License, and the Corresponding Application Code in a form 103 | suitable for, and under terms that permit, the user to 104 | recombine or relink the Application with a modified version of 105 | the Linked Version to produce a modified Combined Work, in the 106 | manner specified by section 6 of the GNU GPL for conveying 107 | Corresponding Source. 108 | 109 | 1) Use a suitable shared library mechanism for linking with the 110 | Library. A suitable mechanism is one that (a) uses at run time 111 | a copy of the Library already present on the user's computer 112 | system, and (b) will operate properly with a modified version 113 | of the Library that is interface-compatible with the Linked 114 | Version. 115 | 116 | e) Provide Installation Information, but only if you would otherwise 117 | be required to provide such information under section 6 of the 118 | GNU GPL, and only to the extent that such information is 119 | necessary to install and execute a modified version of the 120 | Combined Work produced by recombining or relinking the 121 | Application with a modified version of the Linked Version. (If 122 | you use option 4d0, the Installation Information must accompany 123 | the Minimal Corresponding Source and Corresponding Application 124 | Code. If you use option 4d1, you must provide the Installation 125 | Information in the manner specified by section 6 of the GNU GPL 126 | for conveying Corresponding Source.) 127 | 128 | 5. Combined Libraries. 129 | 130 | You may place library facilities that are a work based on the 131 | Library side by side in a single library together with other library 132 | facilities that are not Applications and are not covered by this 133 | License, and convey such a combined library under terms of your 134 | choice, if you do both of the following: 135 | 136 | a) Accompany the combined library with a copy of the same work based 137 | on the Library, uncombined with any other library facilities, 138 | conveyed under the terms of this License. 139 | 140 | b) Give prominent notice with the combined library that part of it 141 | is a work based on the Library, and explaining where to find the 142 | accompanying uncombined form of the same work. 143 | 144 | 6. Revised Versions of the GNU Lesser General Public License. 145 | 146 | The Free Software Foundation may publish revised and/or new versions 147 | of the GNU Lesser General Public License from time to time. Such new 148 | versions will be similar in spirit to the present version, but may 149 | differ in detail to address new problems or concerns. 150 | 151 | Each version is given a distinguishing version number. If the 152 | Library as you received it specifies that a certain numbered version 153 | of the GNU Lesser General Public License "or any later version" 154 | applies to it, you have the option of following the terms and 155 | conditions either of that published version or of any later version 156 | published by the Free Software Foundation. If the Library as you 157 | received it does not specify a version number of the GNU Lesser 158 | General Public License, you may choose any version of the GNU Lesser 159 | General Public License ever published by the Free Software Foundation. 160 | 161 | If the Library as you received it specifies that a proxy can decide 162 | whether future versions of the GNU Lesser General Public License shall 163 | apply, that proxy's public statement of acceptance of any version is 164 | permanent authorization for you to choose that version for the 165 | Library. -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/clipboard.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cowboy/php-simple-proxy/5dbb1be7bfe61d6db40ab51aa6bfe015145a1ccd/shared/SyntaxHighlighter/scripts/clipboard.swf -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushAS3.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.AS3 = function() 31 | { 32 | // Created by Peter Atoria @ http://iAtoria.com 33 | 34 | var inits = 'class interface function package'; 35 | 36 | var keywords = '-Infinity ...rest Array as AS3 Boolean break case catch const continue Date decodeURI ' + 37 | 'decodeURIComponent default delete do dynamic each else encodeURI encodeURIComponent escape ' + 38 | 'extends false final finally flash_proxy for get if implements import in include Infinity ' + 39 | 'instanceof int internal is isFinite isNaN isXMLName label namespace NaN native new null ' + 40 | 'Null Number Object object_proxy override parseFloat parseInt private protected public ' + 41 | 'return set static String super switch this throw true try typeof uint undefined unescape ' + 42 | 'use void while with' 43 | ; 44 | 45 | this.regexList = [ 46 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 47 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 48 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings 49 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings 50 | { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css: 'value' }, // numbers 51 | { regex: new RegExp(this.getKeywords(inits), 'gm'), css: 'color3' }, // initializations 52 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keywords 53 | { regex: new RegExp('var', 'gm'), css: 'variable' }, // variable 54 | { regex: new RegExp('trace', 'gm'), css: 'color1' } // trace 55 | ]; 56 | 57 | this.forHtmlScript(SyntaxHighlighter.regexLib.scriptScriptTags); 58 | }; 59 | 60 | SyntaxHighlighter.brushes.AS3.prototype = new SyntaxHighlighter.Highlighter(); 61 | SyntaxHighlighter.brushes.AS3.aliases = ['actionscript3', 'as3']; 62 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushBash.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Bash = function() 31 | { 32 | var keywords = 'if fi then elif else for do done until while break continue case function return in eq ne gt lt ge le'; 33 | var commands = 'alias apropos awk bash bc bg builtin bzip2 cal cat cd cfdisk chgrp chmod chown chroot' + 34 | 'cksum clear cmp comm command cp cron crontab csplit cut date dc dd ddrescue declare df ' + 35 | 'diff diff3 dig dir dircolors dirname dirs du echo egrep eject enable env ethtool eval ' + 36 | 'exec exit expand export expr false fdformat fdisk fg fgrep file find fmt fold format ' + 37 | 'free fsck ftp gawk getopts grep groups gzip hash head history hostname id ifconfig ' + 38 | 'import install join kill less let ln local locate logname logout look lpc lpr lprint ' + 39 | 'lprintd lprintq lprm ls lsof make man mkdir mkfifo mkisofs mknod more mount mtools ' + 40 | 'mv netstat nice nl nohup nslookup open op passwd paste pathchk ping popd pr printcap ' + 41 | 'printenv printf ps pushd pwd quota quotacheck quotactl ram rcp read readonly renice ' + 42 | 'remsync rm rmdir rsync screen scp sdiff sed select seq set sftp shift shopt shutdown ' + 43 | 'sleep sort source split ssh strace su sudo sum symlink sync tail tar tee test time ' + 44 | 'times touch top traceroute trap tr true tsort tty type ulimit umask umount unalias ' + 45 | 'uname unexpand uniq units unset unshar useradd usermod users uuencode uudecode v vdir ' + 46 | 'vi watch wc whereis which who whoami Wget xargs yes' 47 | ; 48 | 49 | this.regexList = [ 50 | { regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css: 'comments' }, // one line comments 51 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings 52 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keywords 53 | { regex: new RegExp(this.getKeywords(commands), 'gm'), css: 'functions' } // commands 54 | ]; 55 | } 56 | 57 | SyntaxHighlighter.brushes.Bash.prototype = new SyntaxHighlighter.Highlighter(); 58 | SyntaxHighlighter.brushes.Bash.aliases = ['bash', 'shell']; 59 | 60 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushCSharp.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.CSharp = function() 31 | { 32 | var keywords = 'abstract as base bool break byte case catch char checked class const ' + 33 | 'continue decimal default delegate do double else enum event explicit ' + 34 | 'extern false finally fixed float for foreach get goto if implicit in int ' + 35 | 'interface internal is lock long namespace new null object operator out ' + 36 | 'override params private protected public readonly ref return sbyte sealed set ' + 37 | 'short sizeof stackalloc static string struct switch this throw true try ' + 38 | 'typeof uint ulong unchecked unsafe ushort using virtual void while'; 39 | 40 | function fixComments(match, regexInfo) 41 | { 42 | var css = (match[0].indexOf("///") == 0) 43 | ? 'color1' 44 | : 'comments' 45 | ; 46 | 47 | return [new SyntaxHighlighter.Match(match[0], match.index, css)]; 48 | } 49 | 50 | this.regexList = [ 51 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, func : fixComments }, // one line comments 52 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 53 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 54 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 55 | { regex: /^\s*#.*/gm, css: 'preprocessor' }, // preprocessor tags like #region and #endregion 56 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // c# keyword 57 | ]; 58 | 59 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 60 | }; 61 | 62 | SyntaxHighlighter.brushes.CSharp.prototype = new SyntaxHighlighter.Highlighter(); 63 | SyntaxHighlighter.brushes.CSharp.aliases = ['c#', 'c-sharp', 'csharp']; 64 | 65 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushCpp.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Cpp = function() 31 | { 32 | // Copyright 2006 Shin, YoungJin 33 | 34 | var datatypes = 'ATOM BOOL BOOLEAN BYTE CHAR COLORREF DWORD DWORDLONG DWORD_PTR ' + 35 | 'DWORD32 DWORD64 FLOAT HACCEL HALF_PTR HANDLE HBITMAP HBRUSH ' + 36 | 'HCOLORSPACE HCONV HCONVLIST HCURSOR HDC HDDEDATA HDESK HDROP HDWP ' + 37 | 'HENHMETAFILE HFILE HFONT HGDIOBJ HGLOBAL HHOOK HICON HINSTANCE HKEY ' + 38 | 'HKL HLOCAL HMENU HMETAFILE HMODULE HMONITOR HPALETTE HPEN HRESULT ' + 39 | 'HRGN HRSRC HSZ HWINSTA HWND INT INT_PTR INT32 INT64 LANGID LCID LCTYPE ' + 40 | 'LGRPID LONG LONGLONG LONG_PTR LONG32 LONG64 LPARAM LPBOOL LPBYTE LPCOLORREF ' + 41 | 'LPCSTR LPCTSTR LPCVOID LPCWSTR LPDWORD LPHANDLE LPINT LPLONG LPSTR LPTSTR ' + 42 | 'LPVOID LPWORD LPWSTR LRESULT PBOOL PBOOLEAN PBYTE PCHAR PCSTR PCTSTR PCWSTR ' + 43 | 'PDWORDLONG PDWORD_PTR PDWORD32 PDWORD64 PFLOAT PHALF_PTR PHANDLE PHKEY PINT ' + 44 | 'PINT_PTR PINT32 PINT64 PLCID PLONG PLONGLONG PLONG_PTR PLONG32 PLONG64 POINTER_32 ' + 45 | 'POINTER_64 PSHORT PSIZE_T PSSIZE_T PSTR PTBYTE PTCHAR PTSTR PUCHAR PUHALF_PTR ' + 46 | 'PUINT PUINT_PTR PUINT32 PUINT64 PULONG PULONGLONG PULONG_PTR PULONG32 PULONG64 ' + 47 | 'PUSHORT PVOID PWCHAR PWORD PWSTR SC_HANDLE SC_LOCK SERVICE_STATUS_HANDLE SHORT ' + 48 | 'SIZE_T SSIZE_T TBYTE TCHAR UCHAR UHALF_PTR UINT UINT_PTR UINT32 UINT64 ULONG ' + 49 | 'ULONGLONG ULONG_PTR ULONG32 ULONG64 USHORT USN VOID WCHAR WORD WPARAM WPARAM WPARAM ' + 50 | 'char bool short int __int32 __int64 __int8 __int16 long float double __wchar_t ' + 51 | 'clock_t _complex _dev_t _diskfree_t div_t ldiv_t _exception _EXCEPTION_POINTERS ' + 52 | 'FILE _finddata_t _finddatai64_t _wfinddata_t _wfinddatai64_t __finddata64_t ' + 53 | '__wfinddata64_t _FPIEEE_RECORD fpos_t _HEAPINFO _HFILE lconv intptr_t ' + 54 | 'jmp_buf mbstate_t _off_t _onexit_t _PNH ptrdiff_t _purecall_handler ' + 55 | 'sig_atomic_t size_t _stat __stat64 _stati64 terminate_function ' + 56 | 'time_t __time64_t _timeb __timeb64 tm uintptr_t _utimbuf ' + 57 | 'va_list wchar_t wctrans_t wctype_t wint_t signed'; 58 | 59 | var keywords = 'break case catch class const __finally __exception __try ' + 60 | 'const_cast continue private public protected __declspec ' + 61 | 'default delete deprecated dllexport dllimport do dynamic_cast ' + 62 | 'else enum explicit extern if for friend goto inline ' + 63 | 'mutable naked namespace new noinline noreturn nothrow ' + 64 | 'register reinterpret_cast return selectany ' + 65 | 'sizeof static static_cast struct switch template this ' + 66 | 'thread throw true false try typedef typeid typename union ' + 67 | 'using uuid virtual void volatile whcar_t while'; 68 | 69 | var functions = 'assert isalnum isalpha iscntrl isdigit isgraph islower isprint' + 70 | 'ispunct isspace isupper isxdigit tolower toupper errno localeconv ' + 71 | 'setlocale acos asin atan atan2 ceil cos cosh exp fabs floor fmod ' + 72 | 'frexp ldexp log log10 modf pow sin sinh sqrt tan tanh jmp_buf ' + 73 | 'longjmp setjmp raise signal sig_atomic_t va_arg va_end va_start ' + 74 | 'clearerr fclose feof ferror fflush fgetc fgetpos fgets fopen ' + 75 | 'fprintf fputc fputs fread freopen fscanf fseek fsetpos ftell ' + 76 | 'fwrite getc getchar gets perror printf putc putchar puts remove ' + 77 | 'rename rewind scanf setbuf setvbuf sprintf sscanf tmpfile tmpnam ' + 78 | 'ungetc vfprintf vprintf vsprintf abort abs atexit atof atoi atol ' + 79 | 'bsearch calloc div exit free getenv labs ldiv malloc mblen mbstowcs ' + 80 | 'mbtowc qsort rand realloc srand strtod strtol strtoul system ' + 81 | 'wcstombs wctomb memchr memcmp memcpy memmove memset strcat strchr ' + 82 | 'strcmp strcoll strcpy strcspn strerror strlen strncat strncmp ' + 83 | 'strncpy strpbrk strrchr strspn strstr strtok strxfrm asctime ' + 84 | 'clock ctime difftime gmtime localtime mktime strftime time'; 85 | 86 | this.regexList = [ 87 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 88 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 89 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 90 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 91 | { regex: /^ *#.*/gm, css: 'preprocessor' }, 92 | { regex: new RegExp(this.getKeywords(datatypes), 'gm'), css: 'color1 bold' }, 93 | { regex: new RegExp(this.getKeywords(functions), 'gm'), css: 'functions bold' }, 94 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword bold' } 95 | ]; 96 | }; 97 | 98 | SyntaxHighlighter.brushes.Cpp.prototype = new SyntaxHighlighter.Highlighter(); 99 | SyntaxHighlighter.brushes.Cpp.aliases = ['cpp', 'c']; 100 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushCss.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.CSS = function() 31 | { 32 | function getKeywordsCSS(str) 33 | { 34 | return '\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\b|\\b([a-z_\\*]|\\*|)') + '(?=:)\\b'; 35 | }; 36 | 37 | function getValuesCSS(str) 38 | { 39 | return '\\b' + str.replace(/ /g, '(?!-)(?!:)\\b|\\b()') + '\:\\b'; 40 | }; 41 | 42 | var keywords = 'ascent azimuth background-attachment background-color background-image background-position ' + 43 | 'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' + 44 | 'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' + 45 | 'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' + 46 | 'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' + 47 | 'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' + 48 | 'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' + 49 | 'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' + 50 | 'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans ' + 51 | 'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' + 52 | 'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' + 53 | 'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' + 54 | 'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' + 55 | 'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index'; 56 | 57 | var values = 'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder '+ 58 | 'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed '+ 59 | 'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero default digits disc dotted double '+ 60 | 'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia '+ 61 | 'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic '+ 62 | 'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha '+ 63 | 'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower '+ 64 | 'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset '+ 65 | 'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side '+ 66 | 'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow '+ 67 | 'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize '+ 68 | 'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal '+ 69 | 'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin '+ 70 | 'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow'; 71 | 72 | var fonts = '[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif'; 73 | 74 | this.regexList = [ 75 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 76 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings 77 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings 78 | { regex: /\#[a-fA-F0-9]{3,6}/g, css: 'value' }, // html colors 79 | { regex: /(-?\d+)(\.\d+)?(px|em|pt|\:|\%|)/g, css: 'value' }, // sizes 80 | { regex: /!important/g, css: 'color3' }, // !important 81 | { regex: new RegExp(getKeywordsCSS(keywords), 'gm'), css: 'keyword' }, // keywords 82 | { regex: new RegExp(getValuesCSS(values), 'g'), css: 'value' }, // values 83 | { regex: new RegExp(this.getKeywords(fonts), 'g'), css: 'color1' } // fonts 84 | ]; 85 | 86 | this.forHtmlScript({ 87 | left: /(<|<)\s*style.*?(>|>)/gi, 88 | right: /(<|<)\/\s*style\s*(>|>)/gi 89 | }); 90 | }; 91 | 92 | SyntaxHighlighter.brushes.CSS.prototype = new SyntaxHighlighter.Highlighter(); 93 | SyntaxHighlighter.brushes.CSS.aliases = ['css']; 94 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushDelphi.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Delphi = function() 31 | { 32 | var keywords = 'abs addr and ansichar ansistring array as asm begin boolean byte cardinal ' + 33 | 'case char class comp const constructor currency destructor div do double ' + 34 | 'downto else end except exports extended false file finalization finally ' + 35 | 'for function goto if implementation in inherited int64 initialization ' + 36 | 'integer interface is label library longint longword mod nil not object ' + 37 | 'of on or packed pansichar pansistring pchar pcurrency pdatetime pextended ' + 38 | 'pint64 pointer private procedure program property pshortstring pstring ' + 39 | 'pvariant pwidechar pwidestring protected public published raise real real48 ' + 40 | 'record repeat set shl shortint shortstring shr single smallint string then ' + 41 | 'threadvar to true try type unit until uses val var varirnt while widechar ' + 42 | 'widestring with word write writeln xor'; 43 | 44 | this.regexList = [ 45 | { regex: /\(\*[\s\S]*?\*\)/gm, css: 'comments' }, // multiline comments (* *) 46 | { regex: /{(?!\$)[\s\S]*?}/gm, css: 'comments' }, // multiline comments { } 47 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line 48 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 49 | { regex: /\{\$[a-zA-Z]+ .+\}/g, css: 'color1' }, // compiler Directives and Region tags 50 | { regex: /\b[\d\.]+\b/g, css: 'value' }, // numbers 12345 51 | { regex: /\$[a-zA-Z0-9]+\b/g, css: 'value' }, // numbers $F5D3 52 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // keyword 53 | ]; 54 | }; 55 | 56 | SyntaxHighlighter.brushes.Delphi.prototype = new SyntaxHighlighter.Highlighter(); 57 | SyntaxHighlighter.brushes.Delphi.aliases = ['delphi', 'pascal']; 58 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushDiff.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Diff = function() 31 | { 32 | this.regexList = [ 33 | { regex: /^\+\+\+.*$/gm, css: 'color2' }, 34 | { regex: /^\-\-\-.*$/gm, css: 'color2' }, 35 | { regex: /^\s.*$/gm, css: 'color1' }, 36 | { regex: /^@@.*@@$/gm, css: 'variable' }, 37 | { regex: /^\+[^\+]{1}.*$/gm, css: 'string' }, 38 | { regex: /^\-[^\-]{1}.*$/gm, css: 'comments' } 39 | ]; 40 | }; 41 | 42 | SyntaxHighlighter.brushes.Diff.prototype = new SyntaxHighlighter.Highlighter(); 43 | SyntaxHighlighter.brushes.Diff.aliases = ['diff', 'patch']; 44 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushGroovy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Groovy = function() 31 | { 32 | // Contributed by Andres Almiray 33 | // http://jroller.com/aalmiray/entry/nice_source_code_syntax_highlighter 34 | 35 | var keywords = 'as assert break case catch class continue def default do else extends finally ' + 36 | 'if in implements import instanceof interface new package property return switch ' + 37 | 'throw throws try while public protected private static'; 38 | var types = 'void boolean byte char short int long float double'; 39 | var constants = 'null'; 40 | var methods = 'allProperties count get size '+ 41 | 'collect each eachProperty eachPropertyName eachWithIndex find findAll ' + 42 | 'findIndexOf grep inject max min reverseEach sort ' + 43 | 'asImmutable asSynchronized flatten intersect join pop reverse subMap toList ' + 44 | 'padRight padLeft contains eachMatch toCharacter toLong toUrl tokenize ' + 45 | 'eachFile eachFileRecurse eachB yte eachLine readBytes readLine getText ' + 46 | 'splitEachLine withReader append encodeBase64 decodeBase64 filterLine ' + 47 | 'transformChar transformLine withOutputStream withPrintWriter withStream ' + 48 | 'withStreams withWriter withWriterAppend write writeLine '+ 49 | 'dump inspect invokeMethod print println step times upto use waitForOrKill '+ 50 | 'getText'; 51 | 52 | this.regexList = [ 53 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 54 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 55 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 56 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 57 | { regex: /""".*"""/g, css: 'string' }, // GStrings 58 | { regex: new RegExp('\\b([\\d]+(\\.[\\d]+)?|0x[a-f0-9]+)\\b', 'gi'), css: 'value' }, // numbers 59 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // goovy keyword 60 | { regex: new RegExp(this.getKeywords(types), 'gm'), css: 'color1' }, // goovy/java type 61 | { regex: new RegExp(this.getKeywords(constants), 'gm'), css: 'constants' }, // constants 62 | { regex: new RegExp(this.getKeywords(methods), 'gm'), css: 'functions' } // methods 63 | ]; 64 | 65 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 66 | } 67 | 68 | SyntaxHighlighter.brushes.Groovy.prototype = new SyntaxHighlighter.Highlighter(); 69 | SyntaxHighlighter.brushes.Groovy.aliases = ['groovy']; 70 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushJScript.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.JScript = function() 31 | { 32 | var keywords = 'break case catch continue ' + 33 | 'default delete do else false ' + 34 | 'for function if in instanceof ' + 35 | 'new null return super switch ' + 36 | 'this throw true try typeof var while with' 37 | ; 38 | 39 | this.regexList = [ 40 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 41 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 42 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings 43 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings 44 | { regex: /\s*#.*/gm, css: 'preprocessor' }, // preprocessor tags like #region and #endregion 45 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // keywords 46 | ]; 47 | 48 | this.forHtmlScript(SyntaxHighlighter.regexLib.scriptScriptTags); 49 | }; 50 | 51 | SyntaxHighlighter.brushes.JScript.prototype = new SyntaxHighlighter.Highlighter(); 52 | SyntaxHighlighter.brushes.JScript.aliases = ['js', 'jscript', 'javascript']; 53 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushJava.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Java = function() 31 | { 32 | var keywords = 'abstract assert boolean break byte case catch char class const ' + 33 | 'continue default do double else enum extends ' + 34 | 'false final finally float for goto if implements import ' + 35 | 'instanceof int interface long native new null ' + 36 | 'package private protected public return ' + 37 | 'short static strictfp super switch synchronized this throw throws true ' + 38 | 'transient try void volatile while'; 39 | 40 | this.regexList = [ 41 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 42 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 43 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 44 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 45 | { regex: /\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi, css: 'value' }, // numbers 46 | { regex: /(?!\@interface\b)\@[\$\w]+\b/g, css: 'color1' }, // annotation @anno 47 | { regex: /\@interface\b/g, css: 'color2' }, // @interface keyword 48 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // java keyword 49 | ]; 50 | 51 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 52 | }; 53 | 54 | SyntaxHighlighter.brushes.Java.prototype = new SyntaxHighlighter.Highlighter(); 55 | SyntaxHighlighter.brushes.Java.aliases = ['java']; 56 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushJavaFX.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.JavaFX = function() 31 | { 32 | // Contributed by Patrick Webster 33 | // http://patrickwebster.blogspot.com/2009/04/javafx-brush-for-syntaxhighlighter.html 34 | var datatypes = 'Boolean Byte Character Double Duration ' 35 | + 'Float Integer Long Number Short String Void' 36 | ; 37 | 38 | var keywords = 'abstract after and as assert at before bind bound break catch class ' 39 | + 'continue def delete else exclusive extends false finally first for from ' 40 | + 'function if import in indexof init insert instanceof into inverse last ' 41 | + 'lazy mixin mod nativearray new not null on or override package postinit ' 42 | + 'protected public public-init public-read replace return reverse sizeof ' 43 | + 'step super then this throw true try tween typeof var where while with ' 44 | + 'attribute let private readonly static trigger' 45 | ; 46 | 47 | this.regexList = [ 48 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, 49 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, 50 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, 51 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, 52 | { regex: /(-?\.?)(\b(\d*\.?\d+|\d+\.?\d*)(e[+-]?\d+)?|0x[a-f\d]+)\b\.?/gi, css: 'color2' }, // numbers 53 | { regex: new RegExp(this.getKeywords(datatypes), 'gm'), css: 'variable' }, // datatypes 54 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } 55 | ]; 56 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 57 | }; 58 | 59 | SyntaxHighlighter.brushes.JavaFX.prototype = new SyntaxHighlighter.Highlighter(); 60 | SyntaxHighlighter.brushes.JavaFX.aliases = ['jfx', 'javafx']; 61 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushPerl.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Perl = function() 31 | { 32 | // Contributed by David Simmons-Duffin and Marty Kube 33 | 34 | var funcs = 35 | 'abs accept alarm atan2 bind binmode chdir chmod chomp chop chown chr ' + 36 | 'chroot close closedir connect cos crypt defined delete each endgrent ' + 37 | 'endhostent endnetent endprotoent endpwent endservent eof exec exists ' + 38 | 'exp fcntl fileno flock fork format formline getc getgrent getgrgid ' + 39 | 'getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr ' + 40 | 'getnetbyname getnetent getpeername getpgrp getppid getpriority ' + 41 | 'getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid ' + 42 | 'getservbyname getservbyport getservent getsockname getsockopt glob ' + 43 | 'gmtime grep hex index int ioctl join keys kill lc lcfirst length link ' + 44 | 'listen localtime lock log lstat map mkdir msgctl msgget msgrcv msgsnd ' + 45 | 'oct open opendir ord pack pipe pop pos print printf prototype push ' + 46 | 'quotemeta rand read readdir readline readlink readpipe recv rename ' + 47 | 'reset reverse rewinddir rindex rmdir scalar seek seekdir select semctl ' + 48 | 'semget semop send setgrent sethostent setnetent setpgrp setpriority ' + 49 | 'setprotoent setpwent setservent setsockopt shift shmctl shmget shmread ' + 50 | 'shmwrite shutdown sin sleep socket socketpair sort splice split sprintf ' + 51 | 'sqrt srand stat study substr symlink syscall sysopen sysread sysseek ' + 52 | 'system syswrite tell telldir time times tr truncate uc ucfirst umask ' + 53 | 'undef unlink unpack unshift utime values vec wait waitpid warn write'; 54 | 55 | var keywords = 56 | 'bless caller continue dbmclose dbmopen die do dump else elsif eval exit ' + 57 | 'for foreach goto if import last local my next no our package redo ref ' + 58 | 'require return sub tie tied unless untie until use wantarray while'; 59 | 60 | this.regexList = [ 61 | { regex: new RegExp('#[^!].*$', 'gm'), css: 'comments' }, 62 | { regex: new RegExp('^\\s*#!.*$', 'gm'), css: 'preprocessor' }, // shebang 63 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, 64 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, 65 | { regex: new RegExp('(\\$|@|%)\\w+', 'g'), css: 'variable' }, 66 | { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'functions' }, 67 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } 68 | ]; 69 | 70 | this.forHtmlScript(SyntaxHighlighter.regexLib.phpScriptTags); 71 | } 72 | 73 | SyntaxHighlighter.brushes.Perl.prototype = new SyntaxHighlighter.Highlighter(); 74 | SyntaxHighlighter.brushes.Perl.aliases = ['perl', 'Perl', 'pl']; -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushPhp.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Php = function() 31 | { 32 | var funcs = 'abs acos acosh addcslashes addslashes ' + 33 | 'array_change_key_case array_chunk array_combine array_count_values array_diff '+ 34 | 'array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_fill '+ 35 | 'array_filter array_flip array_intersect array_intersect_assoc array_intersect_key '+ 36 | 'array_intersect_uassoc array_intersect_ukey array_key_exists array_keys array_map '+ 37 | 'array_merge array_merge_recursive array_multisort array_pad array_pop array_product '+ 38 | 'array_push array_rand array_reduce array_reverse array_search array_shift '+ 39 | 'array_slice array_splice array_sum array_udiff array_udiff_assoc '+ 40 | 'array_udiff_uassoc array_uintersect array_uintersect_assoc '+ 41 | 'array_uintersect_uassoc array_unique array_unshift array_values array_walk '+ 42 | 'array_walk_recursive atan atan2 atanh base64_decode base64_encode base_convert '+ 43 | 'basename bcadd bccomp bcdiv bcmod bcmul bindec bindtextdomain bzclose bzcompress '+ 44 | 'bzdecompress bzerrno bzerror bzerrstr bzflush bzopen bzread bzwrite ceil chdir '+ 45 | 'checkdate checkdnsrr chgrp chmod chop chown chr chroot chunk_split class_exists '+ 46 | 'closedir closelog copy cos cosh count count_chars date decbin dechex decoct '+ 47 | 'deg2rad delete ebcdic2ascii echo empty end ereg ereg_replace eregi eregi_replace error_log '+ 48 | 'error_reporting escapeshellarg escapeshellcmd eval exec exit exp explode extension_loaded '+ 49 | 'feof fflush fgetc fgetcsv fgets fgetss file_exists file_get_contents file_put_contents '+ 50 | 'fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype '+ 51 | 'floatval flock floor flush fmod fnmatch fopen fpassthru fprintf fputcsv fputs fread fscanf '+ 52 | 'fseek fsockopen fstat ftell ftok getallheaders getcwd getdate getenv gethostbyaddr gethostbyname '+ 53 | 'gethostbynamel getimagesize getlastmod getmxrr getmygid getmyinode getmypid getmyuid getopt '+ 54 | 'getprotobyname getprotobynumber getrandmax getrusage getservbyname getservbyport gettext '+ 55 | 'gettimeofday gettype glob gmdate gmmktime ini_alter ini_get ini_get_all ini_restore ini_set '+ 56 | 'interface_exists intval ip2long is_a is_array is_bool is_callable is_dir is_double '+ 57 | 'is_executable is_file is_finite is_float is_infinite is_int is_integer is_link is_long '+ 58 | 'is_nan is_null is_numeric is_object is_readable is_real is_resource is_scalar is_soap_fault '+ 59 | 'is_string is_subclass_of is_uploaded_file is_writable is_writeable mkdir mktime nl2br '+ 60 | 'parse_ini_file parse_str parse_url passthru pathinfo readlink realpath rewind rewinddir rmdir '+ 61 | 'round str_ireplace str_pad str_repeat str_replace str_rot13 str_shuffle str_split '+ 62 | 'str_word_count strcasecmp strchr strcmp strcoll strcspn strftime strip_tags stripcslashes '+ 63 | 'stripos stripslashes stristr strlen strnatcasecmp strnatcmp strncasecmp strncmp strpbrk '+ 64 | 'strpos strptime strrchr strrev strripos strrpos strspn strstr strtok strtolower strtotime '+ 65 | 'strtoupper strtr strval substr substr_compare'; 66 | 67 | var keywords = 'and or xor array as break case ' + 68 | 'cfunction class const continue declare default die do else ' + 69 | 'elseif enddeclare endfor endforeach endif endswitch endwhile ' + 70 | 'extends for foreach function include include_once global if ' + 71 | 'new old_function return static switch use require require_once ' + 72 | 'var while abstract interface public implements extends private protected throw'; 73 | 74 | var constants = '__FILE__ __LINE__ __METHOD__ __FUNCTION__ __CLASS__'; 75 | 76 | this.regexList = [ 77 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 78 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 79 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings 80 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings 81 | { regex: /\$\w+/g, css: 'variable' }, // variables 82 | { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'functions' }, // common functions 83 | { regex: new RegExp(this.getKeywords(constants), 'gmi'), css: 'constants' }, // constants 84 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // keyword 85 | ]; 86 | 87 | this.forHtmlScript(SyntaxHighlighter.regexLib.phpScriptTags); 88 | }; 89 | 90 | SyntaxHighlighter.brushes.Php.prototype = new SyntaxHighlighter.Highlighter(); 91 | SyntaxHighlighter.brushes.Php.aliases = ['php']; 92 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushPlain.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Plain = function() 31 | { 32 | }; 33 | 34 | SyntaxHighlighter.brushes.Plain.prototype = new SyntaxHighlighter.Highlighter(); 35 | SyntaxHighlighter.brushes.Plain.aliases = ['text', 'plain']; 36 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushPowerShell.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.PowerShell = function() 31 | { 32 | // Contributes by B.v.Zanten, Getronics 33 | // http://confluence.atlassian.com/display/CONFEXT/New+Code+Macro 34 | 35 | var keywords = 'Add-Content Add-History Add-Member Add-PSSnapin Clear(-Content)? Clear-Item ' + 36 | 'Clear-ItemProperty Clear-Variable Compare-Object ConvertFrom-SecureString Convert-Path ' + 37 | 'ConvertTo-Html ConvertTo-SecureString Copy(-Item)? Copy-ItemProperty Export-Alias ' + 38 | 'Export-Clixml Export-Console Export-Csv ForEach(-Object)? Format-Custom Format-List ' + 39 | 'Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command ' + 40 | 'Get-Content Get-Credential Get-Culture Get-Date Get-EventLog Get-ExecutionPolicy ' + 41 | 'Get-Help Get-History Get-Host Get-Item Get-ItemProperty Get-Location Get-Member ' + 42 | 'Get-PfxCertificate Get-Process Get-PSDrive Get-PSProvider Get-PSSnapin Get-Service ' + 43 | 'Get-TraceSource Get-UICulture Get-Unique Get-Variable Get-WmiObject Group-Object ' + 44 | 'Import-Alias Import-Clixml Import-Csv Invoke-Expression Invoke-History Invoke-Item ' + 45 | 'Join-Path Measure-Command Measure-Object Move(-Item)? Move-ItemProperty New-Alias ' + 46 | 'New-Item New-ItemProperty New-Object New-PSDrive New-Service New-TimeSpan ' + 47 | 'New-Variable Out-Default Out-File Out-Host Out-Null Out-Printer Out-String Pop-Location ' + 48 | 'Push-Location Read-Host Remove-Item Remove-ItemProperty Remove-PSDrive Remove-PSSnapin ' + 49 | 'Remove-Variable Rename-Item Rename-ItemProperty Resolve-Path Restart-Service Resume-Service ' + 50 | 'Select-Object Select-String Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content ' + 51 | 'Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-Location Set-PSDebug ' + 52 | 'Set-Service Set-TraceSource Set(-Variable)? Sort-Object Split-Path Start-Service ' + 53 | 'Start-Sleep Start-Transcript Stop-Process Stop-Service Stop-Transcript Suspend-Service ' + 54 | 'Tee-Object Test-Path Trace-Command Update-FormatData Update-TypeData Where(-Object)? ' + 55 | 'Write-Debug Write-Error Write(-Host)? Write-Output Write-Progress Write-Verbose Write-Warning'; 56 | var alias = 'ac asnp clc cli clp clv cpi cpp cvpa diff epal epcsv fc fl ' + 57 | 'ft fw gal gc gci gcm gdr ghy gi gl gm gp gps group gsv ' + 58 | 'gsnp gu gv gwmi iex ihy ii ipal ipcsv mi mp nal ndr ni nv oh rdr ' + 59 | 'ri rni rnp rp rsnp rv rvpa sal sasv sc select si sl sleep sort sp ' + 60 | 'spps spsv sv tee cat cd cp h history kill lp ls ' + 61 | 'mount mv popd ps pushd pwd r rm rmdir echo cls chdir del dir ' + 62 | 'erase rd ren type % \\?'; 63 | 64 | this.regexList = [ 65 | { regex: /#.*$/gm, css: 'comments' }, // one line comments 66 | { regex: /\$[a-zA-Z0-9]+\b/g, css: 'value' }, // variables $Computer1 67 | { regex: /\-[a-zA-Z]+\b/g, css: 'keyword' }, // Operators -not -and -eq 68 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 69 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 70 | { regex: new RegExp(this.getKeywords(keywords), 'gmi'), css: 'keyword' }, 71 | { regex: new RegExp(this.getKeywords(alias), 'gmi'), css: 'keyword' } 72 | ]; 73 | }; 74 | 75 | SyntaxHighlighter.brushes.PowerShell.prototype = new SyntaxHighlighter.Highlighter(); 76 | SyntaxHighlighter.brushes.PowerShell.aliases = ['powershell', 'ps']; 77 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushPython.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Python = function() 31 | { 32 | // Contributed by Gheorghe Milas 33 | 34 | var keywords = 'and assert break class continue def del elif else ' + 35 | 'except exec finally for from global if import in is ' + 36 | 'lambda not or pass print raise return try yield while'; 37 | 38 | var special = 'None True False self cls class_'; 39 | 40 | this.regexList = [ 41 | { regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css: 'comments' }, 42 | { regex: /^\s*@\w+/gm, css: 'decorator' }, 43 | { regex: /(['\"]{3})([^\1])*?\1/gm, css: 'comments' }, 44 | { regex: /"(?!")(?:\.|\\\"|[^\""\n])*"/gm, css: 'string' }, 45 | { regex: /'(?!')(?:\.|(\\\')|[^\''\n])*'/gm, css: 'string' }, 46 | { regex: /\+|\-|\*|\/|\%|=|==/gm, css: 'keyword' }, 47 | { regex: /\b\d+\.?\w*/g, css: 'value' }, 48 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, 49 | { regex: new RegExp(this.getKeywords(special), 'gm'), css: 'color1' } 50 | ]; 51 | 52 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 53 | }; 54 | 55 | SyntaxHighlighter.brushes.Python.prototype = new SyntaxHighlighter.Highlighter(); 56 | SyntaxHighlighter.brushes.Python.aliases = ['py', 'python']; 57 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushRuby.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Ruby = function() 31 | { 32 | // Contributed by Erik Peterson. 33 | 34 | var keywords = 'alias and BEGIN begin break case class def define_method defined do each else elsif ' + 35 | 'END end ensure false for if in module new next nil not or raise redo rescue retry return ' + 36 | 'self super then throw true undef unless until when while yield'; 37 | 38 | var builtins = 'Array Bignum Binding Class Continuation Dir Exception FalseClass File::Stat File Fixnum Fload ' + 39 | 'Hash Integer IO MatchData Method Module NilClass Numeric Object Proc Range Regexp String Struct::TMS Symbol ' + 40 | 'ThreadGroup Thread Time TrueClass'; 41 | 42 | this.regexList = [ 43 | { regex: SyntaxHighlighter.regexLib.singleLinePerlComments, css: 'comments' }, // one line comments 44 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // double quoted strings 45 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // single quoted strings 46 | { regex: /\b[A-Z0-9_]+\b/g, css: 'constants' }, // constants 47 | { regex: /:[a-z][A-Za-z0-9_]*/g, css: 'color2' }, // symbols 48 | { regex: /(\$|@@|@)\w+/g, css: 'variable bold' }, // $global, @instance, and @@class variables 49 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keywords 50 | { regex: new RegExp(this.getKeywords(builtins), 'gm'), css: 'color1' } // builtins 51 | ]; 52 | 53 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 54 | }; 55 | 56 | SyntaxHighlighter.brushes.Ruby.prototype = new SyntaxHighlighter.Highlighter(); 57 | SyntaxHighlighter.brushes.Ruby.aliases = ['ruby', 'rails', 'ror']; 58 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushScala.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Scala = function() 31 | { 32 | // Contributed by Yegor Jbanov and David Bernard. 33 | 34 | var keywords = 'val sealed case def true trait implicit forSome import match object null finally super ' + 35 | 'override try lazy for var catch throw type extends class while with new final yield abstract ' + 36 | 'else do if return protected private this package false'; 37 | 38 | var keyops = '[_:=><%#@]+'; 39 | 40 | this.regexList = [ 41 | { regex: SyntaxHighlighter.regexLib.singleLineCComments, css: 'comments' }, // one line comments 42 | { regex: SyntaxHighlighter.regexLib.multiLineCComments, css: 'comments' }, // multiline comments 43 | { regex: SyntaxHighlighter.regexLib.multiLineSingleQuotedString, css: 'string' }, // multi-line strings 44 | { regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString, css: 'string' }, // double-quoted string 45 | { regex: SyntaxHighlighter.regexLib.singleQuotedString, css: 'string' }, // strings 46 | { regex: /0x[a-f0-9]+|\d+(\.\d+)?/gi, css: 'value' }, // numbers 47 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' }, // keywords 48 | { regex: new RegExp(keyops, 'gm'), css: 'keyword' } // scala keyword 49 | ]; 50 | } 51 | 52 | SyntaxHighlighter.brushes.Scala.prototype = new SyntaxHighlighter.Highlighter(); 53 | SyntaxHighlighter.brushes.Scala.aliases = ['scala']; 54 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushSql.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Sql = function() 31 | { 32 | var funcs = 'abs avg case cast coalesce convert count current_timestamp ' + 33 | 'current_user day isnull left lower month nullif replace right ' + 34 | 'session_user space substring sum system_user upper user year'; 35 | 36 | var keywords = 'absolute action add after alter as asc at authorization begin bigint ' + 37 | 'binary bit by cascade char character check checkpoint close collate ' + 38 | 'column commit committed connect connection constraint contains continue ' + 39 | 'create cube current current_date current_time cursor database date ' + 40 | 'deallocate dec decimal declare default delete desc distinct double drop ' + 41 | 'dynamic else end end-exec escape except exec execute false fetch first ' + 42 | 'float for force foreign forward free from full function global goto grant ' + 43 | 'group grouping having hour ignore index inner insensitive insert instead ' + 44 | 'int integer intersect into is isolation key last level load local max min ' + 45 | 'minute modify move name national nchar next no numeric of off on only ' + 46 | 'open option order out output partial password precision prepare primary ' + 47 | 'prior privileges procedure public read real references relative repeatable ' + 48 | 'restrict return returns revoke rollback rollup rows rule schema scroll ' + 49 | 'second section select sequence serializable set size smallint static ' + 50 | 'statistics table temp temporary then time timestamp to top transaction ' + 51 | 'translation trigger true truncate uncommitted union unique update values ' + 52 | 'varchar varying view when where with work'; 53 | 54 | var operators = 'all and any between cross in join like not null or outer some'; 55 | 56 | this.regexList = [ 57 | { regex: /--(.*)$/gm, css: 'comments' }, // one line and multiline comments 58 | { regex: SyntaxHighlighter.regexLib.multiLineDoubleQuotedString, css: 'string' }, // double quoted strings 59 | { regex: SyntaxHighlighter.regexLib.multiLineSingleQuotedString, css: 'string' }, // single quoted strings 60 | { regex: new RegExp(this.getKeywords(funcs), 'gmi'), css: 'color2' }, // functions 61 | { regex: new RegExp(this.getKeywords(operators), 'gmi'), css: 'color1' }, // operators and such 62 | { regex: new RegExp(this.getKeywords(keywords), 'gmi'), css: 'keyword' } // keyword 63 | ]; 64 | }; 65 | 66 | SyntaxHighlighter.brushes.Sql.prototype = new SyntaxHighlighter.Highlighter(); 67 | SyntaxHighlighter.brushes.Sql.aliases = ['sql']; 68 | 69 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushVb.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Vb = function() 31 | { 32 | var keywords = 'AddHandler AddressOf AndAlso Alias And Ansi As Assembly Auto ' + 33 | 'Boolean ByRef Byte ByVal Call Case Catch CBool CByte CChar CDate ' + 34 | 'CDec CDbl Char CInt Class CLng CObj Const CShort CSng CStr CType ' + 35 | 'Date Decimal Declare Default Delegate Dim DirectCast Do Double Each ' + 36 | 'Else ElseIf End Enum Erase Error Event Exit False Finally For Friend ' + 37 | 'Function Get GetType GoSub GoTo Handles If Implements Imports In ' + 38 | 'Inherits Integer Interface Is Let Lib Like Long Loop Me Mod Module ' + 39 | 'MustInherit MustOverride MyBase MyClass Namespace New Next Not Nothing ' + 40 | 'NotInheritable NotOverridable Object On Option Optional Or OrElse ' + 41 | 'Overloads Overridable Overrides ParamArray Preserve Private Property ' + 42 | 'Protected Public RaiseEvent ReadOnly ReDim REM RemoveHandler Resume ' + 43 | 'Return Select Set Shadows Shared Short Single Static Step Stop String ' + 44 | 'Structure Sub SyncLock Then Throw To True Try TypeOf Unicode Until ' + 45 | 'Variant When While With WithEvents WriteOnly Xor'; 46 | 47 | this.regexList = [ 48 | { regex: /'.*$/gm, css: 'comments' }, // one line comments 49 | { regex: SyntaxHighlighter.regexLib.doubleQuotedString, css: 'string' }, // strings 50 | { regex: /^\s*#.*$/gm, css: 'preprocessor' }, // preprocessor tags like #region and #endregion 51 | { regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword' } // vb keyword 52 | ]; 53 | 54 | this.forHtmlScript(SyntaxHighlighter.regexLib.aspScriptTags); 55 | }; 56 | 57 | SyntaxHighlighter.brushes.Vb.prototype = new SyntaxHighlighter.Highlighter(); 58 | SyntaxHighlighter.brushes.Vb.aliases = ['vb', 'vbnet']; 59 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shBrushXml.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | SyntaxHighlighter.brushes.Xml = function() 31 | { 32 | function process(match, regexInfo) 33 | { 34 | var constructor = SyntaxHighlighter.Match, 35 | code = match[0], 36 | tag = new XRegExp('(<|<)[\\s\\/\\?]*(?[:\\w-\\.]+)', 'xg').exec(code), 37 | result = [] 38 | ; 39 | 40 | if (match.attributes != null) 41 | { 42 | var attributes, 43 | regex = new XRegExp('(? [\\w:\\-\\.]+)' + 44 | '\\s*=\\s*' + 45 | '(? ".*?"|\'.*?\'|\\w+)', 46 | 'xg'); 47 | 48 | while ((attributes = regex.exec(code)) != null) 49 | { 50 | result.push(new constructor(attributes.name, match.index + attributes.index, 'color1')); 51 | result.push(new constructor(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string')); 52 | } 53 | } 54 | 55 | if (tag != null) 56 | result.push( 57 | new constructor(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword') 58 | ); 59 | 60 | return result; 61 | } 62 | 63 | this.regexList = [ 64 | { regex: new XRegExp('(\\<|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](\\>|>)', 'gm'), css: 'color2' }, // 65 | { regex: new XRegExp('(\\<|<)!--\\s*.*?\\s*--(\\>|>)', 'gm'), css: 'comments' }, // 66 | { regex: new XRegExp('(<|<)[\\s\\/\\?]*(\\w+)(?.*?)[\\s\\/\\?]*(>|>)', 'sg'), func: process } 67 | ]; 68 | }; 69 | 70 | SyntaxHighlighter.brushes.Xml.prototype = new SyntaxHighlighter.Highlighter(); 71 | SyntaxHighlighter.brushes.Xml.aliases = ['xml', 'xhtml', 'xslt', 'html', 'xhtml']; 72 | -------------------------------------------------------------------------------- /shared/SyntaxHighlighter/scripts/shLegacy.js: -------------------------------------------------------------------------------- 1 | /** 2 | * SyntaxHighlighter 3 | * http://alexgorbatchev.com/ 4 | * 5 | * SyntaxHighlighter is donationware. If you are using it, please donate. 6 | * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate 7 | * 8 | * @version 9 | * 2.0.320 (May 03 2009) 10 | * 11 | * @copyright 12 | * Copyright (C) 2004-2009 Alex Gorbatchev. 13 | * 14 | * @license 15 | * This file is part of SyntaxHighlighter. 16 | * 17 | * SyntaxHighlighter is free software: you can redistribute it and/or modify 18 | * it under the terms of the GNU Lesser General Public License as published by 19 | * the Free Software Foundation, either version 3 of the License, or 20 | * (at your option) any later version. 21 | * 22 | * SyntaxHighlighter is distributed in the hope that it will be useful, 23 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 24 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 25 | * GNU General Public License for more details. 26 | * 27 | * You should have received a copy of the GNU General Public License 28 | * along with SyntaxHighlighter. If not, see . 29 | */ 30 | eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('1 y={d:{}};y.d={F:6(S,l,q,k,m,n){6 J(z,Y){1 V=16 15("^"+Y+"\\\\[(?\\\\w+)\\\\]$","14"),x=2;h(1 i=0;i. 29 | */ 30 | var dp = { 31 | SyntaxHighlighter : {} 32 | }; 33 | 34 | dp.SyntaxHighlighter = { 35 | parseParams: function( 36 | input, 37 | showGutter, 38 | showControls, 39 | collapseAll, 40 | firstLine, 41 | showColumns 42 | ) 43 | { 44 | function getValue(list, name) 45 | { 46 | var regex = new XRegExp('^' + name + '\\[(?\\w+)\\]$', 'gi'), 47 | match = null 48 | ; 49 | 50 | for (var i = 0; i < list.length; i++) 51 | if ((match = regex.exec(list[i])) != null) 52 | return match.value; 53 | 54 | return null; 55 | }; 56 | 57 | function defaultValue(value, def) 58 | { 59 | return value != null ? value : def; 60 | }; 61 | 62 | function asString(value) 63 | { 64 | return value != null ? value.toString() : null; 65 | }; 66 | 67 | var parts = input.split(':'), 68 | brushName = parts[0], 69 | options = {}, 70 | straight = { 'true' : 'true' } 71 | reverse = { 'true' : 'false' }, 72 | result = null, 73 | defaults = SyntaxHighlighter.defaults 74 | ; 75 | 76 | for (var i in parts) 77 | options[parts[i]] = 'true'; 78 | 79 | showGutter = asString(defaultValue(showGutter, defaults.gutter)); 80 | showControls = asString(defaultValue(showControls, defaults.toolbar)); 81 | collapseAll = asString(defaultValue(collapseAll, defaults.collapse)); 82 | showColumns = asString(defaultValue(showColumns, defaults.ruler)); 83 | firstLine = asString(defaultValue(firstLine, defaults['first-line'])); 84 | 85 | result = { 86 | brush : brushName, 87 | gutter : defaultValue(reverse[options.nogutter], showGutter), 88 | toolbar : defaultValue(reverse[options.nocontrols], showControls), 89 | collapse : defaultValue(straight[options.collapse], collapseAll), 90 | ruler : defaultValue(straight[options.showcolumns], showColumns), 91 | 'first-line' : defaultValue(getValue(parts, 'firstline'), firstLine) 92 | }; 93 | 94 | return result; 95 | }, 96 | 97 | HighlightAll: function( 98 | name, 99 | showGutter /* optional */, 100 | showControls /* optional */, 101 | collapseAll /* optional */, 102 | firstLine /* optional */, 103 | showColumns /* optional */ 104 | ) 105 | { 106 | function findValue() 107 | { 108 | var a = arguments; 109 | 110 | for (var i = 0; i < a.length; i++) 111 | { 112 | if (a[i] === null) 113 | continue; 114 | 115 | if (typeof(a[i]) == 'string' && a[i] != '') 116 | return a[i] + ''; 117 | 118 | if (typeof(a[i]) == 'object' && a[i].value != '') 119 | return a[i].value + ''; 120 | } 121 | 122 | return null; 123 | }; 124 | 125 | function findTagsByName(list, name, tagName) 126 | { 127 | var tags = document.getElementsByTagName(tagName); 128 | 129 | for (var i = 0; i < tags.length; i++) 130 | if (tags[i].getAttribute('name') == name) 131 | list.push(tags[i]); 132 | } 133 | 134 | var elements = [], 135 | highlighter = null, 136 | registered = {}, 137 | propertyName = 'innerHTML' 138 | ; 139 | 140 | // for some reason IE doesn't find
 by name, however it does see them just fine by tag name... 
141 | 		findTagsByName(elements, name, 'pre');
142 | 		findTagsByName(elements, name, 'textarea');
143 | 
144 | 		if (elements.length === 0)
145 | 			return;
146 | 		
147 | 		for (var i = 0; i < elements.length; i++)
148 | 		{
149 | 			var element = elements[i],
150 | 				params = findValue(
151 | 					element.attributes['class'], element.className, 
152 | 					element.attributes['language'], element.language
153 | 					),
154 | 				language = ''
155 | 				;
156 | 			
157 | 			if (params === null) 
158 | 				continue;
159 | 
160 | 			params = dp.SyntaxHighlighter.parseParams(
161 | 				params,
162 | 				showGutter, 
163 | 				showControls, 
164 | 				collapseAll, 
165 | 				firstLine, 
166 | 				showColumns
167 | 				);
168 | 
169 | 			SyntaxHighlighter.highlight(params, element);
170 | 		}
171 | 	}
172 | };
173 | 


--------------------------------------------------------------------------------
/shared/SyntaxHighlighter/styles/help.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cowboy/php-simple-proxy/5dbb1be7bfe61d6db40ab51aa6bfe015145a1ccd/shared/SyntaxHighlighter/styles/help.png


--------------------------------------------------------------------------------
/shared/SyntaxHighlighter/styles/magnifier.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cowboy/php-simple-proxy/5dbb1be7bfe61d6db40ab51aa6bfe015145a1ccd/shared/SyntaxHighlighter/styles/magnifier.png


--------------------------------------------------------------------------------
/shared/SyntaxHighlighter/styles/page_white_code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cowboy/php-simple-proxy/5dbb1be7bfe61d6db40ab51aa6bfe015145a1ccd/shared/SyntaxHighlighter/styles/page_white_code.png


--------------------------------------------------------------------------------
/shared/SyntaxHighlighter/styles/page_white_copy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cowboy/php-simple-proxy/5dbb1be7bfe61d6db40ab51aa6bfe015145a1ccd/shared/SyntaxHighlighter/styles/page_white_copy.png


--------------------------------------------------------------------------------
/shared/SyntaxHighlighter/styles/printer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cowboy/php-simple-proxy/5dbb1be7bfe61d6db40ab51aa6bfe015145a1ccd/shared/SyntaxHighlighter/styles/printer.png


--------------------------------------------------------------------------------
/shared/SyntaxHighlighter/styles/shCore.css:
--------------------------------------------------------------------------------
  1 | /**
  2 |  * SyntaxHighlighter
  3 |  * http://alexgorbatchev.com/
  4 |  *
  5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
  6 |  * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
  7 |  *
  8 |  * @version
  9 |  * 2.0.320 (May 03 2009)
 10 |  * 
 11 |  * @copyright
 12 |  * Copyright (C) 2004-2009 Alex Gorbatchev.
 13 |  *
 14 |  * @license
 15 |  * This file is part of SyntaxHighlighter.
 16 |  * 
 17 |  * SyntaxHighlighter is free software: you can redistribute it and/or modify
 18 |  * it under the terms of the GNU Lesser General Public License as published by
 19 |  * the Free Software Foundation, either version 3 of the License, or
 20 |  * (at your option) any later version.
 21 |  * 
 22 |  * SyntaxHighlighter is distributed in the hope that it will be useful,
 23 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 24 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 25 |  * GNU General Public License for more details.
 26 |  * 
 27 |  * You should have received a copy of the GNU General Public License
 28 |  * along with SyntaxHighlighter.  If not, see .
 29 |  */
 30 | .syntaxhighlighter,
 31 | .syntaxhighlighter div,
 32 | .syntaxhighlighter code,
 33 | .syntaxhighlighter span
 34 | {
 35 | 	margin: 0 !important;
 36 | 	padding: 0 !important;
 37 | 	border: 0 !important;
 38 | 	outline: 0 !important;
 39 | 	background: none !important;
 40 | 	text-align: left !important;
 41 | 	float: none !important;
 42 | 	vertical-align: baseline !important;
 43 | 	position: static !important;
 44 | 	left: auto !important;
 45 | 	top: auto !important;
 46 | 	right: auto !important;
 47 | 	bottom: auto !important;
 48 | 	height: auto !important;
 49 | 	width: auto !important;
 50 | 	line-height: 1.1em !important;
 51 | 	font-family: "Consolas", "Monaco", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
 52 | 	font-weight: normal !important;
 53 | 	font-style: normal !important;
 54 | 	font-size: 1em !important;
 55 | }
 56 | 
 57 | .syntaxhighlighter
 58 | {
 59 | 	width: 100% !important;
 60 | 	margin: 1em 0 1em 0 !important;
 61 | 	padding: 1px !important; /* adds a little border on top and bottom */
 62 | 	position: relative !important;
 63 | }
 64 | 
 65 | .syntaxhighlighter code {
 66 | 	display: inline !important;
 67 | }
 68 | 
 69 | .syntaxhighlighter .bold {
 70 | 	font-weight: bold !important;
 71 | }
 72 | 
 73 | .syntaxhighlighter .italic {
 74 | 	font-style: italic !important;
 75 | }
 76 | 
 77 | .syntaxhighlighter .line .number
 78 | {
 79 | 	float: left !important; 
 80 | 	width: 3em !important; 
 81 | 	padding-right: .3em !important;
 82 | 	text-align: right !important;
 83 | 	display: block !important;
 84 | }
 85 | 
 86 | /* Disable numbers when no gutter option is set */
 87 | .syntaxhighlighter.nogutter .line .number
 88 | {
 89 | 	display: none !important;
 90 | }
 91 | 
 92 | .syntaxhighlighter .line .content
 93 | {
 94 | 	margin-left: 3.3em !important; 
 95 | 	padding-left: .5em !important;
 96 | 	display: block !important;
 97 | }
 98 | 
 99 | .syntaxhighlighter .line .content .block
100 | {
101 | 	display: block !important;
102 | 	padding-left: 1.5em !important;
103 | 	text-indent: -1.5em !important;
104 | }
105 | 
106 | .syntaxhighlighter .line .content .spaces
107 | {
108 | 	display: none !important;
109 | }
110 | 
111 | /* Disable border and margin on the lines when no gutter option is set */
112 | .syntaxhighlighter.nogutter .line .content
113 | {
114 | 	margin-left: 0 !important; 
115 | 	border-left: none !important;
116 | }
117 | 
118 | .syntaxhighlighter .bar
119 | {
120 | 	display: none !important;
121 | }
122 | 
123 | .syntaxhighlighter .bar.show 
124 | {
125 | 	display: block !important;
126 | }
127 | 
128 | .syntaxhighlighter.collapsed .bar
129 | {
130 | 	display: block !important;
131 | }
132 | 
133 | .syntaxhighlighter.nogutter .ruler
134 | {
135 | 	margin-left: 0 !important;
136 | 	padding-left: 0 !important;
137 | }
138 | 
139 | .syntaxhighlighter .ruler
140 | {
141 | 	padding: 0 0 .5em .5em !important;
142 | 	margin-left: 3.3em !important;
143 | 	overflow: hidden !important;
144 | }
145 | 
146 | /* Adjust some properties when collapsed */
147 | 
148 | .syntaxhighlighter.collapsed .lines,
149 | .syntaxhighlighter.collapsed .ruler
150 | {
151 | 	display: none !important;
152 | }
153 | 
154 | .syntaxhighlighter .lines.no-wrap
155 | {
156 | 	overflow: auto;
157 | 	overflow-y: hidden;
158 | }
159 | 
160 | /* Styles for the toolbar */
161 | 
162 | .syntaxhighlighter .toolbar
163 | {
164 | 	position: absolute !important;
165 | 	right: 0px !important;
166 | 	top: 0px !important;
167 | 	font-size: 1px !important;
168 | 	padding: 8px 8px 8px 0 !important; /* in px because images don't scale with ems */
169 | }
170 | 
171 | .syntaxhighlighter.collapsed .toolbar
172 | {
173 | 	font-size: 80% !important;
174 | 	padding: .2em 0 .5em .5em !important;
175 | 	position: static !important;
176 | }
177 | 
178 | .syntaxhighlighter .toolbar a.item,
179 | .syntaxhighlighter .toolbar .item
180 | {
181 | 	display: block !important;
182 | 	float: left !important;
183 | 	margin-left: 8px !important;
184 | 	background-repeat: no-repeat !important;
185 | 	overflow: hidden !important;
186 | 	text-indent: -5000px !important;
187 | }
188 | 
189 | .syntaxhighlighter.collapsed .toolbar .item
190 | {
191 | 	display: none !important;
192 | }
193 | 
194 | .syntaxhighlighter.collapsed .toolbar .item.expandSource
195 | {
196 | 	background-image: url(magnifier.png) !important;
197 | 	display: inline !important;
198 | 	text-indent: 0 !important;
199 | 	width: auto !important;
200 | 	float: none !important;
201 | 	height: 16px !important;
202 | 	padding-left: 20px !important;
203 | }
204 | 
205 | .syntaxhighlighter .toolbar .item.viewSource
206 | {
207 | 	background-image: url(page_white_code.png) !important;
208 | }
209 | 
210 | .syntaxhighlighter .toolbar .item.printSource
211 | {
212 | 	background-image: url(printer.png) !important;
213 | }
214 | 
215 | .syntaxhighlighter .toolbar .item.copyToClipboard
216 | {
217 | 	text-indent: 0 !important;
218 | 	background: none !important;
219 | 	overflow: visible !important;
220 | }
221 | 
222 | .syntaxhighlighter .toolbar .item.about
223 | {
224 | 	background-image: url(help.png) !important;
225 | }
226 | 
227 | /** 
228 |  * Print view.
229 |  * Colors are based on the default theme without background.
230 |  */
231 | 
232 | .syntaxhighlighter.printing,
233 | .syntaxhighlighter.printing .line.alt1 .content,
234 | .syntaxhighlighter.printing .line.alt2 .content,
235 | .syntaxhighlighter.printing .line.highlighted .number,
236 | .syntaxhighlighter.printing .line.highlighted.alt1 .content,
237 | .syntaxhighlighter.printing .line.highlighted.alt2 .content,
238 | .syntaxhighlighter.printing .line .content .block
239 | {
240 | 	background: none !important;
241 | }
242 | 
243 | .syntaxhighlighter .no-wrap .line .content .block
244 | {
245 | 	white-space: nowrap !important;
246 | }
247 | 
248 | /* Gutter line numbers */
249 | .syntaxhighlighter.printing .line .number
250 | {
251 | 	color: #bbb !important;
252 | }
253 | 
254 | /* Add border to the lines */
255 | .syntaxhighlighter.printing .line .content
256 | {
257 | 	color: #000 !important;
258 | }
259 | 
260 | /* Toolbar when visible */
261 | .syntaxhighlighter.printing .toolbar,
262 | .syntaxhighlighter.printing .ruler
263 | {
264 | 	display: none !important;
265 | }
266 | 
267 | .syntaxhighlighter.printing a
268 | {
269 | 	text-decoration: none !important;
270 | }
271 | 
272 | .syntaxhighlighter.printing .plain,
273 | .syntaxhighlighter.printing .plain a
274 | { 
275 | 	color: #000 !important;
276 | }
277 | 
278 | .syntaxhighlighter.printing .comments,
279 | .syntaxhighlighter.printing .comments a
280 | { 
281 | 	color: #008200 !important;
282 | }
283 | 
284 | .syntaxhighlighter.printing .string,
285 | .syntaxhighlighter.printing .string a
286 | {
287 | 	color: blue !important; 
288 | }
289 | 
290 | .syntaxhighlighter.printing .keyword
291 | { 
292 | 	color: #069 !important; 
293 | 	font-weight: bold !important; 
294 | }
295 | 
296 | .syntaxhighlighter.printing .preprocessor 
297 | { 
298 | 	color: gray !important; 
299 | }
300 | 
301 | .syntaxhighlighter.printing .variable 
302 | { 
303 | 	color: #a70 !important; 
304 | }
305 | 
306 | .syntaxhighlighter.printing .value
307 | { 
308 | 	color: #090 !important; 
309 | }
310 | 
311 | .syntaxhighlighter.printing .functions
312 | { 
313 | 	color: #ff1493 !important; 
314 | }
315 | 
316 | .syntaxhighlighter.printing .constants
317 | { 
318 | 	color: #0066CC !important; 
319 | }
320 | 
321 | .syntaxhighlighter.printing .script
322 | {
323 | 	font-weight: bold !important;
324 | }
325 | 
326 | .syntaxhighlighter.printing .color1,
327 | .syntaxhighlighter.printing .color1 a
328 | { 
329 | 	color: #808080 !important; 
330 | }
331 | 
332 | .syntaxhighlighter.printing .color2,
333 | .syntaxhighlighter.printing .color2 a
334 | { 
335 | 	color: #ff1493 !important; 
336 | }
337 | 
338 | .syntaxhighlighter.printing .color3,
339 | .syntaxhighlighter.printing .color3 a
340 | { 
341 | 	color: red !important; 
342 | }
343 | 


--------------------------------------------------------------------------------
/shared/SyntaxHighlighter/styles/shThemeDefault.css:
--------------------------------------------------------------------------------
  1 | /**
  2 |  * SyntaxHighlighter
  3 |  * http://alexgorbatchev.com/
  4 |  *
  5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
  6 |  * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
  7 |  *
  8 |  * @version
  9 |  * 2.0.320 (May 03 2009)
 10 |  * 
 11 |  * @copyright
 12 |  * Copyright (C) 2004-2009 Alex Gorbatchev.
 13 |  *
 14 |  * @license
 15 |  * This file is part of SyntaxHighlighter.
 16 |  * 
 17 |  * SyntaxHighlighter is free software: you can redistribute it and/or modify
 18 |  * it under the terms of the GNU Lesser General Public License as published by
 19 |  * the Free Software Foundation, either version 3 of the License, or
 20 |  * (at your option) any later version.
 21 |  * 
 22 |  * SyntaxHighlighter is distributed in the hope that it will be useful,
 23 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 24 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 25 |  * GNU General Public License for more details.
 26 |  * 
 27 |  * You should have received a copy of the GNU General Public License
 28 |  * along with SyntaxHighlighter.  If not, see .
 29 |  */
 30 | /************************************
 31 |  * Default Syntax Highlighter theme.
 32 |  * 
 33 |  * Interface elements.
 34 |  ************************************/
 35 | 
 36 | .syntaxhighlighter
 37 | {
 38 | 	background-color: #E7E5DC !important;
 39 | }
 40 | 
 41 | /* Highlighed line number */
 42 | .syntaxhighlighter .line.highlighted .number
 43 | {
 44 | 	background-color: #6CE26C !important;
 45 | 	color: black !important;
 46 | }
 47 | 
 48 | /* Highlighed line */
 49 | .syntaxhighlighter .line.highlighted.alt1 .content,
 50 | .syntaxhighlighter .line.highlighted.alt2 .content
 51 | {
 52 | 	background-color: #6CE26C !important;
 53 | }
 54 | 
 55 | /* Gutter line numbers */
 56 | .syntaxhighlighter .line .number
 57 | {
 58 | 	color: #5C5C5C !important;
 59 | }
 60 | 
 61 | /* Add border to the lines */
 62 | .syntaxhighlighter .line .content
 63 | {
 64 | 	border-left: 3px solid #6CE26C !important;
 65 | 	color: #000 !important;
 66 | }
 67 | 
 68 | .syntaxhighlighter.printing .line .content 
 69 | {
 70 | 	border: 0 !important;
 71 | }
 72 | 
 73 | /* First line */
 74 | .syntaxhighlighter .line.alt1 .content
 75 | {
 76 | 	background-color: #fff !important;
 77 | }
 78 | 
 79 | /* Second line */
 80 | .syntaxhighlighter .line.alt2 .content
 81 | {
 82 | 	background-color: #F8F8F8 !important;
 83 | }
 84 | 
 85 | .syntaxhighlighter .line .content .block
 86 | {
 87 | 	background: url(wrapping.png) 0 1.1em no-repeat !important;
 88 | }
 89 | 
 90 | .syntaxhighlighter .ruler
 91 | {
 92 | 	color: silver !important;
 93 | 	background-color: #F8F8F8 !important;
 94 | 	border-left: 3px solid #6CE26C !important;
 95 | }
 96 | 
 97 | .syntaxhighlighter.nogutter .ruler
 98 | {
 99 | 	border: 0 !important;
100 | }
101 | 
102 | .syntaxhighlighter .toolbar
103 | {
104 | 	background-color: #F8F8F8 !important;
105 | 	border: #E7E5DC solid 1px !important;
106 | }
107 | 
108 | .syntaxhighlighter .toolbar a
109 | {
110 | 	color: #a0a0a0 !important;
111 | }
112 | 
113 | .syntaxhighlighter .toolbar a:hover
114 | {
115 | 	color: red !important;
116 | }
117 | 
118 | /************************************
119 |  * Actual syntax highlighter colors.
120 |  ************************************/
121 | .syntaxhighlighter .plain,
122 | .syntaxhighlighter .plain a
123 | { 
124 | 	color: #000 !important;
125 | }
126 | 
127 | .syntaxhighlighter .comments,
128 | .syntaxhighlighter .comments a
129 | { 
130 | 	color: #008200 !important;
131 | }
132 | 
133 | .syntaxhighlighter .string,
134 | .syntaxhighlighter .string a
135 | {
136 | 	color: blue !important; 
137 | }
138 | 
139 | .syntaxhighlighter .keyword
140 | { 
141 | 	color: #069 !important; 
142 | 	font-weight: bold !important; 
143 | }
144 | 
145 | .syntaxhighlighter .preprocessor 
146 | { 
147 | 	color: gray !important; 
148 | }
149 | 
150 | .syntaxhighlighter .variable 
151 | { 
152 | 	color: #a70 !important; 
153 | }
154 | 
155 | .syntaxhighlighter .value
156 | { 
157 | 	color: #090 !important; 
158 | }
159 | 
160 | .syntaxhighlighter .functions
161 | { 
162 | 	color: #ff1493 !important; 
163 | }
164 | 
165 | .syntaxhighlighter .constants
166 | { 
167 | 	color: #0066CC !important; 
168 | }
169 | 
170 | .syntaxhighlighter .script
171 | { 
172 | 	background-color: yellow !important;
173 | }
174 | 
175 | .syntaxhighlighter .color1,
176 | .syntaxhighlighter .color1 a
177 | { 
178 | 	color: #808080 !important; 
179 | }
180 | 
181 | .syntaxhighlighter .color2,
182 | .syntaxhighlighter .color2 a
183 | { 
184 | 	color: #ff1493 !important; 
185 | }
186 | 
187 | .syntaxhighlighter .color3,
188 | .syntaxhighlighter .color3 a
189 | { 
190 | 	color: red !important; 
191 | }
192 | 


--------------------------------------------------------------------------------
/shared/SyntaxHighlighter/styles/shThemeDjango.css:
--------------------------------------------------------------------------------
  1 | /**
  2 |  * SyntaxHighlighter
  3 |  * http://alexgorbatchev.com/
  4 |  *
  5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
  6 |  * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
  7 |  *
  8 |  * @version
  9 |  * 2.0.320 (May 03 2009)
 10 |  * 
 11 |  * @copyright
 12 |  * Copyright (C) 2004-2009 Alex Gorbatchev.
 13 |  *
 14 |  * @license
 15 |  * This file is part of SyntaxHighlighter.
 16 |  * 
 17 |  * SyntaxHighlighter is free software: you can redistribute it and/or modify
 18 |  * it under the terms of the GNU Lesser General Public License as published by
 19 |  * the Free Software Foundation, either version 3 of the License, or
 20 |  * (at your option) any later version.
 21 |  * 
 22 |  * SyntaxHighlighter is distributed in the hope that it will be useful,
 23 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 24 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 25 |  * GNU General Public License for more details.
 26 |  * 
 27 |  * You should have received a copy of the GNU General Public License
 28 |  * along with SyntaxHighlighter.  If not, see .
 29 |  */
 30 | /**
 31 |  * Django SyntaxHighlighter theme
 32 |  */
 33 | 
 34 | /************************************
 35 |  * Interface elements.
 36 |  ************************************/
 37 | 
 38 | .syntaxhighlighter
 39 | {
 40 | 	background-color: #0B2F20 !important;
 41 | }
 42 | 
 43 | /* Gutter line numbers */
 44 | .syntaxhighlighter .line .number
 45 | {
 46 | 	color: #497958 !important;
 47 | }
 48 | 
 49 | /* Add border to the lines */
 50 | .syntaxhighlighter .line .content
 51 | {
 52 | 	border-left: 3px solid #41A83E !important;
 53 | 	color: #B9BDB6 !important;
 54 | }
 55 | 
 56 | .syntaxhighlighter.printing .line .content 
 57 | {
 58 | 	border: 0 !important;
 59 | }
 60 | 
 61 | /* First line */
 62 | .syntaxhighlighter .line.alt1 .content
 63 | {
 64 | }
 65 | 
 66 | /* Second line */
 67 | .syntaxhighlighter .line.alt2 .content
 68 | {
 69 | 	background-color: #0a2b1d !important;
 70 | }
 71 | 
 72 | .syntaxhighlighter .line .content .block
 73 | {
 74 | 	background: url(wrapping.png) 0 1.1em no-repeat !important;
 75 | }
 76 | 
 77 | /* Highlighed line number */
 78 | .syntaxhighlighter .line.highlighted .number
 79 | {
 80 | 	background-color: #336442 !important;
 81 | 	color: #fff !important;
 82 | }
 83 | 
 84 | /* Highlighed line */
 85 | .syntaxhighlighter .line.highlighted.alt1 .content,
 86 | .syntaxhighlighter .line.highlighted.alt2 .content
 87 | {
 88 | 	background-color: #336442 !important;
 89 | }
 90 | 
 91 | .syntaxhighlighter .ruler
 92 | {
 93 | 	color: #C4B14A !important;
 94 | 	background-color: #245032 !important;
 95 | 	border-left: 3px solid #41A83E !important;
 96 | }
 97 | 
 98 | .syntaxhighlighter.nogutter .ruler
 99 | {
100 | 	border: 0 !important;
101 | }
102 | 
103 | .syntaxhighlighter .toolbar
104 | {
105 | 	background-color: #245032 !important;
106 | 	border: #0B2F20 solid 1px !important;
107 | }
108 | 
109 | .syntaxhighlighter .toolbar a
110 | {
111 | 	color: #C4B14A !important;
112 | }
113 | 
114 | .syntaxhighlighter .toolbar a:hover
115 | {
116 | 	color: #FFE862 !important;
117 | }
118 | 
119 | /************************************
120 |  * Actual syntax highlighter colors.
121 |  ************************************/
122 | .syntaxhighlighter .plain,
123 | .syntaxhighlighter .plain a
124 | {
125 | 	color: #F8F8F8 !important;
126 | }
127 | 
128 | .syntaxhighlighter .comments,
129 | .syntaxhighlighter .comments a
130 | { 
131 | 	color: #336442 !important;
132 | 	font-style: italic !important;
133 | }
134 | 
135 | .syntaxhighlighter .string,
136 | .syntaxhighlighter .string a
137 | {
138 | 	color: #9DF39F !important; 
139 | }
140 | 
141 | .syntaxhighlighter .keyword
142 | { 
143 | 	color: #96DD3B !important; 
144 | 	font-weight: bold !important;
145 | }
146 | 
147 | .syntaxhighlighter .preprocessor 
148 | { 
149 | 	color: #91BB9E !important; 
150 | }
151 | 
152 | .syntaxhighlighter .variable 
153 | { 
154 | 	color: #FFAA3E !important; 
155 | }
156 | 
157 | .syntaxhighlighter .value
158 | { 
159 | 	color: #F7E741 !important; 
160 | }
161 | 
162 | .syntaxhighlighter .functions
163 | { 
164 | 	color: #FFAA3E !important; 
165 | }
166 | 
167 | .syntaxhighlighter .constants
168 | { 
169 | 	color: #E0E8FF !important; 
170 | }
171 | 
172 | .syntaxhighlighter .script
173 | { 
174 | 	background-color: #497958 !important;
175 | }
176 | 
177 | .syntaxhighlighter .color1,
178 | .syntaxhighlighter .color1 a
179 | { 
180 | 	color: #EB939A !important; 
181 | }
182 | 
183 | .syntaxhighlighter .color2,
184 | .syntaxhighlighter .color2 a
185 | { 
186 | 	color: #91BB9E !important; 
187 | }
188 | 
189 | .syntaxhighlighter .color3,
190 | .syntaxhighlighter .color3 a
191 | { 
192 | 	color: #EDEF7D !important; 
193 | }
194 | 


--------------------------------------------------------------------------------
/shared/SyntaxHighlighter/styles/shThemeEmacs.css:
--------------------------------------------------------------------------------
  1 | /**
  2 |  * SyntaxHighlighter
  3 |  * http://alexgorbatchev.com/
  4 |  *
  5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
  6 |  * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
  7 |  *
  8 |  * @version
  9 |  * 2.0.320 (May 03 2009)
 10 |  * 
 11 |  * @copyright
 12 |  * Copyright (C) 2004-2009 Alex Gorbatchev.
 13 |  *
 14 |  * @license
 15 |  * This file is part of SyntaxHighlighter.
 16 |  * 
 17 |  * SyntaxHighlighter is free software: you can redistribute it and/or modify
 18 |  * it under the terms of the GNU Lesser General Public License as published by
 19 |  * the Free Software Foundation, either version 3 of the License, or
 20 |  * (at your option) any later version.
 21 |  * 
 22 |  * SyntaxHighlighter is distributed in the hope that it will be useful,
 23 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 24 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 25 |  * GNU General Public License for more details.
 26 |  * 
 27 |  * You should have received a copy of the GNU General Public License
 28 |  * along with SyntaxHighlighter.  If not, see .
 29 |  */
 30 | /**
 31 |  * Emacs SyntaxHighlighter theme based on theme by Joshua Emmons
 32 |  * http://www.skia.net/
 33 |  */
 34 | 
 35 | /************************************
 36 |  * Interface elements.
 37 |  ************************************/
 38 | 
 39 | .syntaxhighlighter
 40 | {
 41 | 	background-color: #000000 !important;
 42 | }
 43 | 
 44 | /* Gutter line numbers */
 45 | .syntaxhighlighter .line .number
 46 | {
 47 | 	color: #D3D3D3 !important;
 48 | }
 49 | 
 50 | /* Add border to the lines */
 51 | .syntaxhighlighter .line .content
 52 | {
 53 | 	border-left: 3px solid #990000 !important;
 54 | 	color: #B9BDB6 !important;
 55 | }
 56 | 
 57 | .syntaxhighlighter.printing .line .content 
 58 | {
 59 | 	border: 0 !important;
 60 | }
 61 | 
 62 | /* First line */
 63 | .syntaxhighlighter .line.alt1 .content
 64 | {
 65 | }
 66 | 
 67 | /* Second line */
 68 | .syntaxhighlighter .line.alt2 .content
 69 | {
 70 | 	background-color: #0f0f0f !important;
 71 | }
 72 | 
 73 | .syntaxhighlighter .line .content .block
 74 | {
 75 | 	background: url(wrapping.png) 0 1.1em no-repeat !important;
 76 | }
 77 | 
 78 | /* Highlighed line number */
 79 | .syntaxhighlighter .line.highlighted .number
 80 | {
 81 | 	background-color: #435A5F !important;
 82 | 	color: #fff !important;
 83 | }
 84 | 
 85 | /* Highlighed line */
 86 | .syntaxhighlighter .line.highlighted.alt1 .content,
 87 | .syntaxhighlighter .line.highlighted.alt2 .content
 88 | {
 89 | 	background-color: #435A5F !important;
 90 | }
 91 | 
 92 | .syntaxhighlighter .ruler
 93 | {
 94 | 	color: silver !important;
 95 | 	background-color: #000000 !important;
 96 | 	border-left: 3px solid #990000 !important;
 97 | }
 98 | 
 99 | .syntaxhighlighter.nogutter .ruler
100 | {
101 | 	border: 0 !important;
102 | }
103 | 
104 | .syntaxhighlighter .toolbar
105 | {
106 | 	background-color: #000000 !important;
107 | 	border: #000000 solid 1px !important;
108 | }
109 | 
110 | .syntaxhighlighter .toolbar a
111 | {
112 | 	color: #646763 !important;
113 | }
114 | 
115 | .syntaxhighlighter .toolbar a:hover
116 | {
117 | 	color: #9CCFF4 !important;
118 | }
119 | 
120 | /************************************
121 |  * Actual syntax highlighter colors.
122 |  ************************************/
123 | .syntaxhighlighter .plain,
124 | .syntaxhighlighter .plain a
125 | { 
126 | 	color: #D3D3D3 !important;
127 | }
128 | 
129 | .syntaxhighlighter .comments,
130 | .syntaxhighlighter .comments a
131 | { 
132 | 	color: #FF7D27 !important;
133 | }
134 | 
135 | .syntaxhighlighter .string,
136 | .syntaxhighlighter .string a
137 | {
138 | 	color: #FF9E7B !important; 
139 | }
140 | 
141 | .syntaxhighlighter .keyword
142 | { 
143 | 	color: #00FFFF !important; 
144 | }
145 | 
146 | .syntaxhighlighter .preprocessor 
147 | { 
148 | 	color: #AEC4DE !important; 
149 | }
150 | 
151 | .syntaxhighlighter .variable 
152 | { 
153 | 	color: #FFAA3E !important; 
154 | }
155 | 
156 | .syntaxhighlighter .value
157 | { 
158 | 	color: #090 !important; 
159 | }
160 | 
161 | .syntaxhighlighter .functions
162 | { 
163 | 	color: #81CEF9 !important; 
164 | }
165 | 
166 | .syntaxhighlighter .constants
167 | { 
168 | 	color: #FF9E7B !important; 
169 | }
170 | 
171 | .syntaxhighlighter .script
172 | { 
173 | 	background-color: #990000 !important;
174 | }
175 | 
176 | .syntaxhighlighter .color1,
177 | .syntaxhighlighter .color1 a
178 | { 
179 | 	color: #EBDB8D !important; 
180 | }
181 | 
182 | .syntaxhighlighter .color2,
183 | .syntaxhighlighter .color2 a
184 | { 
185 | 	color: #FF7D27 !important; 
186 | }
187 | 
188 | .syntaxhighlighter .color3,
189 | .syntaxhighlighter .color3 a
190 | { 
191 | 	color: #AEC4DE !important; 
192 | }
193 | 


--------------------------------------------------------------------------------
/shared/SyntaxHighlighter/styles/shThemeFadeToGrey.css:
--------------------------------------------------------------------------------
  1 | /**
  2 |  * SyntaxHighlighter
  3 |  * http://alexgorbatchev.com/
  4 |  *
  5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
  6 |  * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
  7 |  *
  8 |  * @version
  9 |  * 2.0.320 (May 03 2009)
 10 |  * 
 11 |  * @copyright
 12 |  * Copyright (C) 2004-2009 Alex Gorbatchev.
 13 |  *
 14 |  * @license
 15 |  * This file is part of SyntaxHighlighter.
 16 |  * 
 17 |  * SyntaxHighlighter is free software: you can redistribute it and/or modify
 18 |  * it under the terms of the GNU Lesser General Public License as published by
 19 |  * the Free Software Foundation, either version 3 of the License, or
 20 |  * (at your option) any later version.
 21 |  * 
 22 |  * SyntaxHighlighter is distributed in the hope that it will be useful,
 23 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 24 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 25 |  * GNU General Public License for more details.
 26 |  * 
 27 |  * You should have received a copy of the GNU General Public License
 28 |  * along with SyntaxHighlighter.  If not, see .
 29 |  */
 30 | /**
 31 |  * Fade to Grey SyntaxHighlighter theme based on theme by Brasten Sager
 32 |  * http://www.ibrasten.com/
 33 |  */
 34 | 
 35 | /************************************
 36 |  * Interface elements.
 37 |  ************************************/
 38 | 
 39 | .syntaxhighlighter
 40 | {
 41 | 	background-color: #121212 !important;
 42 | }
 43 | 
 44 | /* Gutter line numbers */
 45 | .syntaxhighlighter .line .number
 46 | {
 47 | 	color: #C3C3C3 !important;
 48 | }
 49 | 
 50 | /* Add border to the lines */
 51 | .syntaxhighlighter .line .content
 52 | {
 53 | 	border-left: 3px solid #3185B9 !important;
 54 | 	color: #B9BDB6 !important;
 55 | }
 56 | 
 57 | .syntaxhighlighter.printing .line .content 
 58 | {
 59 | 	border: 0 !important;
 60 | }
 61 | 
 62 | /* First line */
 63 | .syntaxhighlighter .line.alt1 .content
 64 | {
 65 | }
 66 | 
 67 | /* Second line */
 68 | .syntaxhighlighter .line.alt2 .content
 69 | {
 70 | 	background-color: #000000 !important;
 71 | }
 72 | 
 73 | .syntaxhighlighter .line .content .block
 74 | {
 75 | 	background: url(wrapping.png) 0 1.1em no-repeat !important;
 76 | }
 77 | 
 78 | /* Highlighed line number */
 79 | .syntaxhighlighter .line.highlighted .number
 80 | {
 81 | 	background-color: #3A3A00 !important;
 82 | 	color: #fff !important;
 83 | }
 84 | 
 85 | /* Highlighed line */
 86 | .syntaxhighlighter .line.highlighted.alt1 .content,
 87 | .syntaxhighlighter .line.highlighted.alt2 .content
 88 | {
 89 | 	background-color: #3A3A00 !important;
 90 | }
 91 | 
 92 | .syntaxhighlighter .ruler
 93 | {
 94 | 	color: silver !important;
 95 | 	border-left: 3px solid #3185B9 !important;
 96 | }
 97 | 
 98 | .syntaxhighlighter.nogutter .ruler
 99 | {
100 | 	border: 0 !important;
101 | }
102 | 
103 | .syntaxhighlighter .toolbar
104 | {
105 | 	background-color: #000000 !important;
106 | 	border: #000000 solid 1px !important;
107 | }
108 | 
109 | .syntaxhighlighter .toolbar a
110 | {
111 | 	color: #808080 !important;
112 | }
113 | 
114 | .syntaxhighlighter .toolbar a:hover
115 | {
116 | 	color: #96DAFF !important;
117 | }
118 | 
119 | /************************************
120 |  * Actual syntax highlighter colors.
121 |  ************************************/
122 | .syntaxhighlighter .plain,
123 | .syntaxhighlighter .plain a
124 | { 
125 | 	color: #FFFFFF !important;
126 | }
127 | 
128 | .syntaxhighlighter .comments,
129 | .syntaxhighlighter .comments a
130 | { 
131 | 	color: #696854 !important;
132 | }
133 | 
134 | .syntaxhighlighter .string,
135 | .syntaxhighlighter .string a
136 | {
137 | 	color: #E3E658 !important; 
138 | }
139 | 
140 | .syntaxhighlighter .keyword
141 | { 
142 | 	color: #D01D33 !important; 
143 | }
144 | 
145 | .syntaxhighlighter .preprocessor 
146 | { 
147 | 	color: #435A5F !important; 
148 | }
149 | 
150 | .syntaxhighlighter .variable 
151 | { 
152 | 	color: #898989 !important; 
153 | }
154 | 
155 | .syntaxhighlighter .value
156 | { 
157 | 	color: #090 !important; 
158 | }
159 | 
160 | .syntaxhighlighter .functions
161 | { 
162 | 	color: #AAAAAA !important;
163 | 	font-weight: bold !important;
164 | }
165 | 
166 | .syntaxhighlighter .constants
167 | { 
168 | 	color: #96DAFF !important; 
169 | }
170 | 
171 | .syntaxhighlighter .script
172 | { 
173 | 	background-color: #C3C3C3 !important;
174 | 	color: #000 !important;
175 | }
176 | 
177 | .syntaxhighlighter .color1,
178 | .syntaxhighlighter .color1 a
179 | { 
180 | 	color: #FFC074 !important; 
181 | }
182 | 
183 | .syntaxhighlighter .color2,
184 | .syntaxhighlighter .color2 a
185 | { 
186 | 	color: #4A8CDB !important; 
187 | }
188 | 
189 | .syntaxhighlighter .color3,
190 | .syntaxhighlighter .color3 a
191 | { 
192 | 	color: #96DAFF !important; 
193 | }
194 | 


--------------------------------------------------------------------------------
/shared/SyntaxHighlighter/styles/shThemeMidnight.css:
--------------------------------------------------------------------------------
  1 | /**
  2 |  * SyntaxHighlighter
  3 |  * http://alexgorbatchev.com/
  4 |  *
  5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
  6 |  * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
  7 |  *
  8 |  * @version
  9 |  * 2.0.320 (May 03 2009)
 10 |  * 
 11 |  * @copyright
 12 |  * Copyright (C) 2004-2009 Alex Gorbatchev.
 13 |  *
 14 |  * @license
 15 |  * This file is part of SyntaxHighlighter.
 16 |  * 
 17 |  * SyntaxHighlighter is free software: you can redistribute it and/or modify
 18 |  * it under the terms of the GNU Lesser General Public License as published by
 19 |  * the Free Software Foundation, either version 3 of the License, or
 20 |  * (at your option) any later version.
 21 |  * 
 22 |  * SyntaxHighlighter is distributed in the hope that it will be useful,
 23 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 24 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 25 |  * GNU General Public License for more details.
 26 |  * 
 27 |  * You should have received a copy of the GNU General Public License
 28 |  * along with SyntaxHighlighter.  If not, see .
 29 |  */
 30 | /**
 31 |  * Midnight SyntaxHighlighter theme based on theme by J.D. Myers
 32 |  * http://webdesign.lsnjd.com/
 33 |  */
 34 | 
 35 | /************************************
 36 |  * Interface elements.
 37 |  ************************************/
 38 | 
 39 | .syntaxhighlighter
 40 | {
 41 | 	background-color: #0F192A !important;
 42 | }
 43 | 
 44 | /* Gutter line numbers */
 45 | .syntaxhighlighter .line .number
 46 | {
 47 | 	color: #38566F !important;
 48 | }
 49 | 
 50 | /* Add border to the lines */
 51 | .syntaxhighlighter .line .content
 52 | {
 53 | 	border-left: 3px solid #435A5F !important;
 54 | 	color: #B9BDB6 !important;
 55 | }
 56 | 
 57 | .syntaxhighlighter.printing .line .content 
 58 | {
 59 | 	border: 0 !important;
 60 | }
 61 | 
 62 | /* First line */
 63 | .syntaxhighlighter .line.alt1 .content
 64 | {
 65 | 	background-color: #0F192A !important;
 66 | }
 67 | 
 68 | /* Second line */
 69 | .syntaxhighlighter .line.alt2 .content
 70 | {
 71 | 	background-color: #0F192A !important;
 72 | }
 73 | 
 74 | .syntaxhighlighter .line .content .block
 75 | {
 76 | 	background: url(wrapping.png) 0 1.1em no-repeat !important;
 77 | }
 78 | 
 79 | /* Highlighed line number */
 80 | .syntaxhighlighter .line.highlighted .number
 81 | {
 82 | 	background-color: #253E5A !important;
 83 | 	color: #fff !important;
 84 | }
 85 | 
 86 | /* Highlighed line */
 87 | .syntaxhighlighter .line.highlighted.alt1 .content,
 88 | .syntaxhighlighter .line.highlighted.alt2 .content
 89 | {
 90 | 	background-color: #253E5A !important;
 91 | }
 92 | 
 93 | .syntaxhighlighter .ruler
 94 | {
 95 | 	color: #38566F !important;
 96 | 	background-color: #0F192A !important;
 97 | 	border-left: 3px solid #435A5F !important;
 98 | }
 99 | 
100 | .syntaxhighlighter.nogutter .ruler
101 | {
102 | 	border: 0 !important;
103 | }
104 | 
105 | .syntaxhighlighter .toolbar
106 | {
107 | 	background-color: #0F192A !important;
108 | }
109 | 
110 | .syntaxhighlighter .toolbar a
111 | {
112 | 	color: #38566F !important;
113 | }
114 | 
115 | .syntaxhighlighter .toolbar a:hover
116 | {
117 | 	color: #8AA6C1 !important;
118 | }
119 | 
120 | /************************************
121 |  * Actual syntax highlighter colors.
122 |  ************************************/
123 | .syntaxhighlighter .plain,
124 | .syntaxhighlighter .plain a
125 | { 
126 | 	color: #D1EDFF !important;
127 | }
128 | 
129 | .syntaxhighlighter .comments,
130 | .syntaxhighlighter .comments a
131 | { 
132 | 	color: #428BDD !important;
133 | }
134 | 
135 | .syntaxhighlighter .string,
136 | .syntaxhighlighter .string a
137 | {
138 | 	color: #1DC116 !important; 
139 | }
140 | 
141 | .syntaxhighlighter .keyword
142 | { 
143 | 	color: #B43D3D !important; 
144 | }
145 | 
146 | .syntaxhighlighter .preprocessor 
147 | { 
148 | 	color: #8AA6C1 !important; 
149 | }
150 | 
151 | .syntaxhighlighter .variable 
152 | { 
153 | 	color: #FFAA3E !important; 
154 | }
155 | 
156 | .syntaxhighlighter .value
157 | { 
158 | 	color: #F7E741 !important; 
159 | }
160 | 
161 | .syntaxhighlighter .functions
162 | { 
163 | 	color: #FFAA3E !important; 
164 | }
165 | 
166 | .syntaxhighlighter .constants
167 | { 
168 | 	color: #E0E8FF !important; 
169 | }
170 | 
171 | .syntaxhighlighter .script
172 | { 
173 | 	background-color: #404040 !important;
174 | }
175 | 
176 | .syntaxhighlighter .color1,
177 | .syntaxhighlighter .color1 a
178 | { 
179 | 	color: #F8BB00 !important; 
180 | }
181 | 
182 | .syntaxhighlighter .color2,
183 | .syntaxhighlighter .color2 a
184 | { 
185 | 	color: #FFFFFF !important; 
186 | }
187 | 
188 | .syntaxhighlighter .color3,
189 | .syntaxhighlighter .color3 a
190 | { 
191 | 	color: #FFAA3E !important; 
192 | }
193 | 


--------------------------------------------------------------------------------
/shared/SyntaxHighlighter/styles/shThemeRDark.css:
--------------------------------------------------------------------------------
  1 | /**
  2 |  * SyntaxHighlighter
  3 |  * http://alexgorbatchev.com/
  4 |  *
  5 |  * SyntaxHighlighter is donationware. If you are using it, please donate.
  6 |  * http://alexgorbatchev.com/wiki/SyntaxHighlighter:Donate
  7 |  *
  8 |  * @version
  9 |  * 2.0.320 (May 03 2009)
 10 |  * 
 11 |  * @copyright
 12 |  * Copyright (C) 2004-2009 Alex Gorbatchev.
 13 |  *
 14 |  * @license
 15 |  * This file is part of SyntaxHighlighter.
 16 |  * 
 17 |  * SyntaxHighlighter is free software: you can redistribute it and/or modify
 18 |  * it under the terms of the GNU Lesser General Public License as published by
 19 |  * the Free Software Foundation, either version 3 of the License, or
 20 |  * (at your option) any later version.
 21 |  * 
 22 |  * SyntaxHighlighter is distributed in the hope that it will be useful,
 23 |  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 24 |  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 25 |  * GNU General Public License for more details.
 26 |  * 
 27 |  * You should have received a copy of the GNU General Public License
 28 |  * along with SyntaxHighlighter.  If not, see .
 29 |  */
 30 | /**
 31 |  * RDark SyntaxHighlighter theme based on theme by Radu Dineiu
 32 |  * http://www.vim.org/scripts/script.php?script_id=1732
 33 |  */
 34 | 
 35 | /************************************
 36 |  * Interface elements.
 37 |  ************************************/
 38 | 
 39 | .syntaxhighlighter
 40 | {
 41 | 	background-color: #1B2426 !important;
 42 | }
 43 | 
 44 | /* Gutter line numbers */
 45 | .syntaxhighlighter .line .number
 46 | {
 47 | 	color: #B9BDB6 !important;
 48 | }
 49 | 
 50 | /* Add border to the lines */
 51 | .syntaxhighlighter .line .content
 52 | {
 53 | 	border-left: 3px solid #435A5F !important;
 54 | 	color: #B9BDB6 !important;
 55 | }
 56 | 
 57 | .syntaxhighlighter.printing .line .content 
 58 | {
 59 | 	border: 0 !important;
 60 | }
 61 | 
 62 | /* First line */
 63 | .syntaxhighlighter .line.alt1 .content
 64 | {
 65 | 	background-color: #1B2426 !important;
 66 | }
 67 | 
 68 | /* Second line */
 69 | .syntaxhighlighter .line.alt2 .content
 70 | {
 71 | 	background-color: #1B2426 !important;
 72 | }
 73 | 
 74 | .syntaxhighlighter .line .content .block
 75 | {
 76 | 	background: url(wrapping.png) 0 1.1em no-repeat !important;
 77 | }
 78 | 
 79 | /* Highlighed line number */
 80 | .syntaxhighlighter .line.highlighted .number
 81 | {
 82 | 	background-color: #435A5F !important;
 83 | 	color: #fff !important;
 84 | }
 85 | 
 86 | /* Highlighed line */
 87 | .syntaxhighlighter .line.highlighted.alt1 .content,
 88 | .syntaxhighlighter .line.highlighted.alt2 .content
 89 | {
 90 | 	background-color: #435A5F !important;
 91 | }
 92 | 
 93 | .syntaxhighlighter .ruler
 94 | {
 95 | 	color: silver !important;
 96 | 	background-color: #1B2426 !important;
 97 | 	border-left: 3px solid #435A5F !important;
 98 | }
 99 | 
100 | .syntaxhighlighter.nogutter .ruler
101 | {
102 | 	border: 0 !important;
103 | }
104 | 
105 | .syntaxhighlighter .toolbar
106 | {
107 | 	background-color: #1B2426 !important;
108 | }
109 | 
110 | .syntaxhighlighter .toolbar a
111 | {
112 | 	color: #646763 !important;
113 | }
114 | 
115 | .syntaxhighlighter .toolbar a:hover
116 | {
117 | 	color: #E0E8FF !important;
118 | }
119 | 
120 | /************************************
121 |  * Actual syntax highlighter colors.
122 |  ************************************/
123 | .syntaxhighlighter .plain,
124 | .syntaxhighlighter .plain a
125 | { 
126 | 	color: #B9BDB6 !important;
127 | }
128 | 
129 | .syntaxhighlighter .comments,
130 | .syntaxhighlighter .comments a
131 | { 
132 | 	color: #878A85 !important;
133 | }
134 | 
135 | .syntaxhighlighter .string,
136 | .syntaxhighlighter .string a
137 | {
138 | 	color: #5CE638 !important; 
139 | }
140 | 
141 | .syntaxhighlighter .keyword
142 | { 
143 | 	color: #5BA1CF !important; 
144 | }
145 | 
146 | .syntaxhighlighter .preprocessor 
147 | { 
148 | 	color: #435A5F !important; 
149 | }
150 | 
151 | .syntaxhighlighter .variable 
152 | { 
153 | 	color: #FFAA3E !important; 
154 | }
155 | 
156 | .syntaxhighlighter .value
157 | { 
158 | 	color: #090 !important; 
159 | }
160 | 
161 | .syntaxhighlighter .functions
162 | { 
163 | 	color: #FFAA3E !important; 
164 | }
165 | 
166 | .syntaxhighlighter .constants
167 | { 
168 | 	color: #E0E8FF !important; 
169 | }
170 | 
171 | .syntaxhighlighter .script
172 | { 
173 | 	background-color: #435A5F !important;
174 | }
175 | 
176 | .syntaxhighlighter .color1,
177 | .syntaxhighlighter .color1 a
178 | { 
179 | 	color: #E0E8FF !important; 
180 | }
181 | 
182 | .syntaxhighlighter .color2,
183 | .syntaxhighlighter .color2 a
184 | { 
185 | 	color: #FFFFFF !important; 
186 | }
187 | 
188 | .syntaxhighlighter .color3,
189 | .syntaxhighlighter .color3 a
190 | { 
191 | 	color: #FFAA3E !important; 
192 | }
193 | 


--------------------------------------------------------------------------------
/shared/SyntaxHighlighter/styles/wrapping.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/cowboy/php-simple-proxy/5dbb1be7bfe61d6db40ab51aa6bfe015145a1ccd/shared/SyntaxHighlighter/styles/wrapping.png


--------------------------------------------------------------------------------
/shared/SyntaxHighlighter/test.html:
--------------------------------------------------------------------------------
 1 | 
 2 | 
 3 | 
 4 | 	
 5 | 	SyntaxHighlighter Build Test Page
 6 | 	
 7 | 	
 8 | 	
 9 | 	
10 | 	
11 | 	
12 | 	
13 | 	
14 | 	
15 | 	
16 | 	
17 | 	
18 | 	
19 | 	
20 | 	
21 | 	
22 | 	
23 | 	
24 | 	
25 | 	
26 | 	
30 | 
31 | 
32 | 
33 | 

SyntaxHihglighter Test

34 |

This is a test file to insure that everything is working well.

35 | 36 |
37 | function test() : String
38 | {
39 | 	return 10;
40 | }
41 | 
42 | 43 | -------------------------------------------------------------------------------- /shared/ba-debug.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * JavaScript Debug - v0.3 - 6/8/2009 3 | * http://benalman.com/projects/javascript-debug-console-log/ 4 | * 5 | * Copyright (c) 2009 "Cowboy" Ben Alman 6 | * Dual licensed under the MIT and GPL licenses. 7 | * http://benalman.com/about/license/ 8 | * 9 | * With lots of help from Paul Irish! 10 | * http://paulirish.com/ 11 | */ 12 | 13 | // Script: JavaScript Debug: A simple wrapper for console.log 14 | // 15 | // *Version: 0.3, Last Updated: 6/8/2009* 16 | // 17 | // Tested with Internet Explorer 6-8, Firefox 3, Safari 3-4, Chrome, Opera 9. 18 | // 19 | // Home - http://benalman.com/projects/javascript-debug-console-log/ 20 | // GitHub - http://github.com/cowboy/javascript-debug/ 21 | // Source - http://github.com/cowboy/javascript-debug/raw/master/ba-debug.js 22 | // (Minified) - http://github.com/cowboy/javascript-debug/raw/master/ba-debug.min.js (1.1kb) 23 | // 24 | // About: License 25 | // 26 | // Copyright (c) 2009 "Cowboy" Ben Alman, 27 | // Dual licensed under the MIT and GPL licenses. 28 | // http://benalman.com/about/license/ 29 | // 30 | // About: Support and Testing 31 | // 32 | // Information about what browsers this code has been tested in. 33 | // 34 | // Browsers Tested - Internet Explorer 6-8, Firefox 3-3.5, Safari 3-4, Chrome, Opera 9. 35 | // 36 | // About: Examples 37 | // 38 | // These working examples, complete with fully commented code, illustrate a few 39 | // ways in which this plugin can be used. 40 | // 41 | // Examples - http://benalman.com/code/projects/javascript-debug/examples/debug/ 42 | // 43 | // About: Revision History 44 | // 45 | // 0.3 - (6/8/2009) Initial release 46 | // 47 | // Topic: Pass-through console methods 48 | // 49 | // assert, clear, count, dir, dirxml, group, groupEnd, profile, profileEnd, 50 | // time, timeEnd, trace 51 | // 52 | // These console methods are passed through (but only if both the console and 53 | // the method exists), so use them without fear of reprisal. Note that these 54 | // methods will not be passed through if the logging level is set to 0 via 55 | // . 56 | 57 | window.debug = (function(){ 58 | var window = this, 59 | 60 | // Some convenient shortcuts. 61 | aps = Array.prototype.slice, 62 | con = window.console, 63 | 64 | // Public object to be returned. 65 | that = {}, 66 | 67 | callback_func, 68 | callback_force, 69 | 70 | // Default logging level, show everything. 71 | log_level = 9, 72 | 73 | // Logging methods, in "priority order". Not all console implementations 74 | // will utilize these, but they will be used in the callback passed to 75 | // setCallback. 76 | log_methods = [ 'error', 'warn', 'info', 'debug', 'log' ], 77 | 78 | // Pass these methods through to the console if they exist, otherwise just 79 | // fail gracefully. These methods are provided for convenience. 80 | pass_methods = 'assert clear count dir dirxml group groupEnd profile profileEnd time timeEnd trace'.split(' '), 81 | idx = pass_methods.length, 82 | 83 | // Logs are stored here so that they can be recalled as necessary. 84 | logs = []; 85 | 86 | while ( --idx >= 0 ) { 87 | (function( method ){ 88 | 89 | // Generate pass-through methods. These methods will be called, if they 90 | // exist, as long as the logging level is non-zero. 91 | that[ method ] = function() { 92 | log_level !== 0 && con && con[ method ] 93 | && con[ method ].apply( con, arguments ); 94 | } 95 | 96 | })( pass_methods[idx] ); 97 | } 98 | 99 | idx = log_methods.length; 100 | while ( --idx >= 0 ) { 101 | (function( idx, level ){ 102 | 103 | // Method: debug.log 104 | // 105 | // Call the console.log method if available. Adds an entry into the logs 106 | // array for a callback specified via . 107 | // 108 | // Usage: 109 | // 110 | // debug.log( object [, object, ...] ); - - 111 | // 112 | // Arguments: 113 | // 114 | // object - (Object) Any valid JavaScript object. 115 | 116 | // Method: debug.debug 117 | // 118 | // Call the console.debug method if available, otherwise call console.log. 119 | // Adds an entry into the logs array for a callback specified via 120 | // . 121 | // 122 | // Usage: 123 | // 124 | // debug.debug( object [, object, ...] ); - - 125 | // 126 | // Arguments: 127 | // 128 | // object - (Object) Any valid JavaScript object. 129 | 130 | // Method: debug.info 131 | // 132 | // Call the console.info method if available, otherwise call console.log. 133 | // Adds an entry into the logs array for a callback specified via 134 | // . 135 | // 136 | // Usage: 137 | // 138 | // debug.info( object [, object, ...] ); - - 139 | // 140 | // Arguments: 141 | // 142 | // object - (Object) Any valid JavaScript object. 143 | 144 | // Method: debug.warn 145 | // 146 | // Call the console.warn method if available, otherwise call console.log. 147 | // Adds an entry into the logs array for a callback specified via 148 | // . 149 | // 150 | // Usage: 151 | // 152 | // debug.warn( object [, object, ...] ); - - 153 | // 154 | // Arguments: 155 | // 156 | // object - (Object) Any valid JavaScript object. 157 | 158 | // Method: debug.error 159 | // 160 | // Call the console.error method if available, otherwise call console.log. 161 | // Adds an entry into the logs array for a callback specified via 162 | // . 163 | // 164 | // Usage: 165 | // 166 | // debug.error( object [, object, ...] ); - - 167 | // 168 | // Arguments: 169 | // 170 | // object - (Object) Any valid JavaScript object. 171 | 172 | that[ level ] = function() { 173 | var args = aps.call( arguments ), 174 | log_arr = [ level ].concat( args ); 175 | 176 | logs.push( log_arr ); 177 | exec_callback( log_arr ); 178 | 179 | if ( !con || !is_level( idx ) ) { return; } 180 | 181 | con.firebug ? con[ level ].apply( window, args ) 182 | : con[ level ] ? con[ level ]( args ) 183 | : con.log( args ); 184 | }; 185 | 186 | })( idx, log_methods[idx] ); 187 | } 188 | 189 | // Execute the callback function if set. 190 | function exec_callback( args ) { 191 | if ( callback_func && (callback_force || !con || !con.log) ) { 192 | callback_func.apply( window, args ); 193 | } 194 | }; 195 | 196 | // Method: debug.setLevel 197 | // 198 | // Set a minimum or maximum logging level for the console. Doesn't affect 199 | // the callback function, but if set to 0 to disable 200 | // logging, will be disabled as well. 201 | // 202 | // Usage: 203 | // 204 | // debug.setLevel( [ level ] ) - - 205 | // 206 | // Arguments: 207 | // 208 | // level - (Number) If 0, disables logging. If negative, shows N lowest 209 | // priority levels of log messages. If positive, shows N highest priority 210 | // levels of log messages. 211 | // 212 | // Priority levels: 213 | // 214 | // log (1) < debug (2) < info (3) < warn (4) < error (5) 215 | 216 | that.setLevel = function( level ) { 217 | log_level = typeof level === 'number' ? level : 9; 218 | }; 219 | 220 | // Determine if the level is visible given the current log_level. 221 | function is_level( level ) { 222 | return log_level > 0 223 | ? log_level > level 224 | : log_methods.length + log_level <= level; 225 | }; 226 | 227 | // Method: debug.setCallback 228 | // 229 | // Set a callback to be used if logging isn't possible due to console.log 230 | // not existing. If unlogged logs exist when callback is set, they will all 231 | // be logged immediately unless a limit is specified. 232 | // 233 | // Usage: 234 | // 235 | // debug.setCallback( callback [, force ] [, limit ] ) 236 | // 237 | // Arguments: 238 | // 239 | // callback - (Function) The aforementioned callback function. The first 240 | // argument is the logging level, and all subsequent arguments are those 241 | // passed to the initial debug logging method. 242 | // force - (Boolean) If false, log to console.log if available, otherwise 243 | // callback. If true, log to both console.log and callback. 244 | // limit - (Number) If specified, number of lines to limit initial scrollback 245 | // to. 246 | 247 | that.setCallback = function() { 248 | var args = aps.call( arguments ), 249 | max = logs.length, 250 | i = max; 251 | 252 | callback_func = args.shift() || null; 253 | callback_force = typeof args[0] === 'boolean' ? args.shift() : false; 254 | 255 | i -= typeof args[0] === 'number' ? args.shift() : max; 256 | 257 | while ( i < max ) { 258 | exec_callback( logs[i++] ); 259 | } 260 | }; 261 | 262 | return that; 263 | })(); 264 | 265 | --------------------------------------------------------------------------------