r4299 RE_STATIC_URI: require filename prefix be at least one char long
authorDenis Ovsienko <infrastation@yandex.ru>
Mon, 7 Mar 2011 10:26:16 +0000 (10:26 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Mon, 7 Mar 2011 10:26:16 +0000 (10:26 +0000)
init.php: always have a default value for $racktables_staticdir
TSURI(): sayonara
index.php: rename "tsuri" module to "chrome"
getImageHREF(): update
printPageHeaders(): update
proxyStaticURI(): update
formatPortLinkHints(): update
portinfo.js: update

wwwroot/inc/ajax-interface.php
wwwroot/inc/functions.php
wwwroot/inc/init.php
wwwroot/inc/interface-lib.php
wwwroot/index.php
wwwroot/js/portinfo.js

index 8db848b06782eeff90e09549d9258081cf050e5c..80d8ccdf62c0ba2b2bf6095c2b5de8af3a43e085 100644 (file)
@@ -36,7 +36,7 @@ function formatPortLinkHints ($object_id)
                        $hidden_lines[] = 'Duplex: ' . $link_info['duplex'];
                if (count ($hidden_lines))
                        $result[$portname]['popup'] = implode ('<br>', $hidden_lines);
-               $visible_part = '<img width="16" height="16" src="' . TSURI ("pix/${img_filename}") . '">';
+               $visible_part = "<img width=16 height=16 src='?module=chrome&uri=pix/${img_filename}'>";
                $result[$portname]['inline'] = $visible_part;
        }
        // put empty pictures for not-found ports
@@ -44,7 +44,7 @@ function formatPortLinkHints ($object_id)
        amplifyCell ($object);
        foreach ($object['ports'] as $port)
                if (! isset ($result[$port['name']]))
-                       $result[$port['name']]['inline'] = '<img width="16" height="16" src="' . TSURI ('pix/1x1t.gif') . ' ">';
+                       $result[$port['name']]['inline'] = "<img width=16 height=16 src='?module=chrome&uri=pix/1x1t.gif'>";
        return $result;
 }
 
index 63f540a46f3d4612d83e5264fe63ff7f3fef6ab5..80ef1bb67f0db08f33cbf5d46f13e7d64978a6dc 100644 (file)
@@ -39,7 +39,7 @@ define ('RE_L2_WWN_HYPHEN', '/^[0-9a-f]{2}(-[0-9a-f]{2}){7}$/i');
 define ('RE_L2_WWN_SOLID', '/^[0-9a-f]{16}$/i');
 define ('RE_IP4_ADDR', '#^[0-9]{1,3}(\.[0-9]{1,3}){3}$#');
 define ('RE_IP4_NET', '#^[0-9]{1,3}(\.[0-9]{1,3}){3}/[0-9]{1,2}$#');
-define ('RE_STATIC_URI', '#^([[:alpha:]]+)/(?:[[:alpha:]]+/)*[[:alnum:]\._-]*\.([[:alpha:]]+)$#');
+define ('RE_STATIC_URI', '#^([[:alpha:]]+)/(?:[[:alpha:]]+/)*[[:alnum:]\._-]+\.([[:alpha:]]+)$#');
 define ('E_8021Q_NOERROR', 0);
 define ('E_8021Q_VERSION_CONFLICT', 101);
 define ('E_8021Q_PULL_REMOTE_ERROR', 102);
@@ -2346,15 +2346,6 @@ function ip_long2quad ($quad)
       return long2ip($quad);
 }
 
-// translate static URI
-function TSURI ($URI)
-{
-       global $racktables_static_dir;
-       if (! isset ($racktables_static_dir))
-               return $URI;
-       return "?module=tsuri&uri=${URI}";
-}
-
 // make "A" HTML element
 function mkA ($text, $nextpage, $bypass = NULL, $nexttab = NULL)
 {
@@ -3745,7 +3736,7 @@ function printPageHeaders ()
                if ($item['type'] == 'inline')
                        echo '<style type="text/css">' . "\n" . trim ($item['style'], "\r\n") . "\n</style>\n";
                elseif ($item['type'] == 'file')
-                       echo '<link rel="stylesheet" type="text/css" href="' . TSURI ($item['style']) . "\" />\n";
+                       echo "<link rel=stylesheet type='text/css' href='?module=chrome&uri=${item['style']}' />\n";
 
        // add JS scripts
        foreach (addJS (NULL) as $group_name => $js_list)
@@ -4752,12 +4743,11 @@ function proxyStaticURI ($URI)
                or ! array_key_exists ($matches[2], $content_type)
        )
                printStatic404();
-       global $racktables_static_dir;
-       $file_path = (isset ($racktables_static_dir) ? $racktables_static_dir : '.') . '/' . $URI;
-       if (! file_exists ($file_path))
+       global $racktables_staticdir;
+       if (! file_exists ("${racktables_staticdir}/${URI}"))
                printStatic404();
        header ('Content-type: ' . $content_type[$matches[2]]);
-       readfile ($file_path);
+       readfile ("${racktables_staticdir}/${URI}");
 }
 
 ?>
index 43698301b16ddad3bcce5acda734bb42e1d2ec57..5c0590be8ec94fa9209c571b71d04a3aa3107a64 100644 (file)
@@ -24,6 +24,7 @@ require_once 'interface-lib.php';
 $user_auth_src = 'database';
 $require_local_account = TRUE;
 $racktables_gwdir = '../gateways';
+$racktables_staticdir = '.';
 
 // (re)connects to DB, stores PDO object in $dbxlink global var
 function connectDB()
index ea6cc81c55c8f82dcd3046a8c0c1cd77c1b0ec71..1bb8022e9af9254b33678096873fd925edcee62e 100644 (file)
@@ -332,7 +332,7 @@ function getImageHREF ($tag, $title = '', $do_input = FALSE, $tabindex = 0)
        if (!isset ($image[$tag]))
                $tag = 'error';
        $img = $image[$tag];
-       $img['path'] = TSURI ($img['path']);
+       $img['path'] = '?module=chrome&uri=' . $img['path'];
        if ($do_input == TRUE)
                return
                        "<input type=image name=submit class=icon " .
index da3e24fa7073dbab916a9323362fc5e60143e2ec..dd00562ba8e6a3510b4807ea26725cec76ecb48e 100644 (file)
@@ -38,7 +38,7 @@ try {
                ob_clean();
                renderInterfaceHTML ($pageno, $tabno, $contents);
                break;
-       case 'tsuri' == $_REQUEST['module']:
+       case 'chrome' == $_REQUEST['module']:
                require_once 'inc/init.php';
                genericAssertion ('uri', 'string');
                proxyStaticURI ($_REQUEST['uri']);
index c8ae3774a710c1b07775090a42984d6a7fd960ab..688386b3f381cc38f1b857f3cb024dc9fbe28f3b 100644 (file)
@@ -38,7 +38,7 @@ $(document).ready(function () {
                port_cmenu = $.contextMenu.create(port_cmenu_items, {theme:'vista'});
                // add popup button after every portname
                $('.interactive-portname.port-menu').after('<a title="Show info from switch" class="port-popup" href="#">&#133;</a>');
-               $('<div />').hide().addClass('cursor-shadow').css('position', 'absolute').css('width', 16).css('height', 16).css("background-image", "url(pix/ajax-loader.gif").appendTo('body');
+               $('<div />').hide().addClass('cursor-shadow').css('position', 'absolute').css('width', 16).css('height', 16).css("background-image", "url(index.php?module=chrome&uri=pix/ajax-loader.gif").appendTo('body');
 
                // bind popup menu to every link with class port-popup
                $('a.port-popup').bind('click', function(e){port_cmenu.show(this,e);return false;});
@@ -60,9 +60,9 @@ function disableMenuItem(menuItem) {
 function setItemIcon(menuItem, iconName) {
        var iconURL;
        if (iconName == 'wait')
-               iconURL = 'pix/ajax-loader.gif';
+               iconURL = 'index.php?module=chrome&uri=pix/ajax-loader.gif';
        else if (iconName == 'ok')
-               iconURL = 'pix/checkbox_yes.png';
+               iconURL = 'index.php?module=chrome&uri=pix/checkbox_yes.png';
        $(menuItem).children('.' + $.contextMenu.innerDivClassName).css("background-image", "url(" + iconURL + ")");
 }