r4174 update: dictionary attribute values with external links are formatted different...
authorAlexey Andriyanov <alan@al-an.info>
Sun, 30 Jan 2011 14:35:10 +0000 (14:35 +0000)
committerAlexey Andriyanov <alan@al-an.info>
Sun, 30 Jan 2011 14:35:10 +0000 (14:35 +0000)
formatAttributeValue: checks if attr value already contains href to prevent nested hrefs
parseWikiLink: the formatting of external link changed to single image href in the end of text value

new CSS class and library image were added

ChangeLog
css/pi.css
inc/functions.php
inc/interface.php
pix/tango-text-html.png [new file with mode: 0644]

index 1442c78..43cf507 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -23,6 +23,7 @@
        update: 802.1Q template editor now supports single-submit edit and concerns concurrent submits
        bugfix: the 'Refcnt' counter on Configuration: Dictionary page was sometimes broken (closes mantis:0000381)
        update: new API for dispaying messages (showError, showWarning, showSuccess)
+       update: dictionary attribute values with external links are formatted differently to distinguish the filter and external info links
 0.18.7
        bugfix: adjust 802.1Q command generation
        bugfix: fixed telnet session hanging in NX-OS4 connector
index e9b5dc8..51b2bc8 100644 (file)
@@ -624,3 +624,7 @@ a.toggleTreeMode {
        font: bold 10px Verdana, sans-serif;
 }
 
+/* link with single image as body */
+a.img-link {
+       vertical-align: bottom;
+}
index eb80b4e..6aa9b30 100644 (file)
@@ -887,7 +887,7 @@ function parseWikiLink ($line, $which)
                return $o_value;
        $o_value = preg_replace ('/^.+%GSKIP%/', '', preg_replace ('/^(.+)%GPASS%/', '\\1 ', $o_value));
        $a_value = trim ($s[1]);
-       return "<a href='${a_value}'>${o_value}</a>";
+       return $o_value . " <a class='img-link' href='${a_value}'>" . getImageHREF ('html', 'vendor`s info page') . "</a>";
 }
 
 // FIXME: should this be saved as "P-data"?
index f464050..1124d1e 100644 (file)
@@ -304,6 +304,9 @@ $image['DQUEUE disabled']['height'] = 32;
 $image['COPY']['path'] = 'pix/tango-edit-copy-32x32.png';
 $image['COPY']['width'] = 32;
 $image['COPY']['height'] = 32;
+$image['html']['path'] = 'pix/tango-text-html.png';
+$image['html']['width'] = 16;
+$image['html']['height'] = 16;
 
 // This may be populated later onsite, report rendering function will use it.
 // See the $systemreport for structure.
@@ -9210,7 +9213,10 @@ function renderDiscoveredNeighbors ($object_id)
 
 function formatAttributeValue($attribute_id, $record)
 {
-       if (isset ($record['key'])) // if record is a dictionary value, generate href with autotag in cfe
+       if (! isset ($record['key'])) // if record is a dictionary value, generate href with autotag in cfe
+               return $record['a_value'];      
+       else
+       {
                $href = makeHref
                (
                        array
@@ -9221,7 +9227,11 @@ function formatAttributeValue($attribute_id, $record)
                                'cfe' => '{$attr_' . $attribute_id . '_' . $record['key'] . '}',
                        )
                );
-       return isset($href) ? "<a href=\"$href\">${record['a_value']}</a>" : $record['a_value'];        
+               if (preg_match ('#(.*?)\s*(<a[^<]+.*</a>)$#', $record['a_value'], $matches))
+                       return "<a href=\"$href\">${matches[1]}</a>&nbsp;${matches[2]}";
+               else
+                       return "<a href=\"$href\">${matches[1]}</a>";
+       }
 }
 
 function addAutoScrollScript ($ancor_name)
diff --git a/pix/tango-text-html.png b/pix/tango-text-html.png
new file mode 100644 (file)
index 0000000..53014ab
Binary files /dev/null and b/pix/tango-text-html.png differ