123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- <?php
- //-
- // Copyright (c) 2011-2015 Joe Clarke <jclarke@cisco.com>
- // All rights reserved.
- // Redistribution and use in source and binary forms, with or without
- // modification, are permitted provided that the following conditions
- // are met:
- // 1. Redistributions of source code must retain the above copyright
- // notice, this list of conditions and the following disclaimer.
- // 2. Redistributions in binary form must reproduce the above copyright
- // notice, this list of conditions and the following disclaimer in the
- // documentation and/or other materials provided with the distribution.
- // THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- // ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
- // FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- // OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- // LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- // OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- // SUCH DAMAGE.
- require_once 'swreg/swreg.inc.php';
- $cfg = $_GET['cfg'];
- $dname = $_GET['dname'];
- $type = '';
- if (isset($_GET['type'])) {
- $type = $_GET['type'];
- }
- if (!isset($cfg) || !isset($dname)) {
- die("Error: Configuration file not specified via the cfg parameter or device name not specified with the dname parameter\r\n");
- }
- $path = DEVICE_CONFIG_DIR;
- $ext = 'txt';
- if ($type == 'profile') {
- $path = PORT_PROFILE_DIR;
- $ext = 'tmpl';
- }
- $basename = basename($cfg);
- if (!preg_match("/\.$ext$/", $basename)) {
- die("Error: Incorrect file type, $cfg\r\n");
- }
- $contents = file_get_contents("$path/$basename");
- if (!$contents) {
- die("Failed to open $path/$basename for reading\r\n");
- }
- $contents = preg_replace('/"/', '\\"', $contents);
- $contents = preg_replace("/\r\n/", '\\n', $contents);
- $contents = preg_replace("/\n/", '\\\\n', $contents);
- ?>
- <!DOCTYPE html>
- <html>
- <head>
- <title>Configuration for
- <?= $dname ?>
- </title>
- <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
- <script src="codemirror.js"></script>
- <link rel="stylesheet" href="codemirror.css" />
- <link rel="stylesheet" href="midnight.css" />
- <script src="cisco-config.js"></script>
- </head>
- <body>
- <hr />
- <script language="Javascript">
- var cfgViewer = CodeMirror(document.body, {
- value: "<?= $contents ?>",
- mode: "cisco-config",
- lineNumbers: true,
- theme: "midnight",
- readOnly: true
- });
- cfgViewer.setSize(null, 600);
- </script>
- <hr />
- </body>
- </html>
|