SuperLinks - Adding lots of arbitrary content within Cacti

21st November 2007 (updated 30th November 2008)

This is a plugin for the Cacti Plugin Architecture created by Jimmy Conner for Cacti 0.8.x (0.9.0 is slated to have a new plugin system from the start). It it lets you have any number of pages of arbitrary HTML content behind tabs at the top of the page or extra entries on the Console menu. You could use this to integrate other tools into Cacti - say you want to have links to Smokeping, or Request Tracker, or Nagios...

It is intended as a replacement for the Links plugin that I wrote some time ago, but with the following key improvements:

To use it, you need to install the Plugin Architecture first, and make sure that you can get plugins to work at all. Then, unpack the superlinks archive into your plugins folder, and add the following line to your cacti config.php (for Cacti 0.8.6) or global.php (for Cacti 0.8.7):

$plugins = array();
$plugins[] = 'thold';
$plugins[] = 'superlinks';
Next, go to User Management for the user you are currently logged in as, and give yourself the new 'realm right' that should have appeared: "View SuperLinks" and "Manage SuperLinks". Then a SuperLinks item should appear in the Management section of the Console menu in Cacti.

Download

Here's a zip file for 0.8

The plugin is enabled for Jimmy Conner's update plugin, so if you have that plugin, then it will notify you of updates to this one.

License

See COPYING for the license under which SuperLinks is released (short version - it's GPLed).

This plugin includes one icon from Mark James's excellent Silk icon set. These are released under under a Creative Commons Attribution 2.5 License. The full icon set is available at
http://www.famfamfam.com/lab/icons/silk/

The supplied DejaVu Fonts are copyright Bitstream, with some additional glyphs copyright Tavmjung Bah. DejaVu changes are in public domain. For more information see:
http://dejavu.sourceforge.net/wiki/index.php/License

The fantastic jQuery 1.2.6 library is also included, which is released under the GPL.
http://docs.jquery.com/License

History

0.1 - Initial Release
0.2 - Added: red tab for 'current' page. Small fix for Cacti permissions.
0.3 - Fixes for strict mysql mode. Fix for console menu errors. 
      Uses unique tab image filenames to avoid browser caching issues.
0.4 - Switched from Vera to DejaVu for fonts. Added some automatic text-scaling/layout code.
      Added checks for the relevant PHP module support.
0.5 - Added explicit license statement.
      Fix for another (pretty obscure) mysql issue if your database name
      has a '-' in it.
0.6 - Some fixes for incompatible changes in Cacti 0.8.7
      Added a 'FRONT' option that appears on the 'three basic steps' page - make-your-own-MOTD?
      Added a new sample content page that pulls data from the Docs plugin. El-Cheapo CMS!
      Fixed the zip so you don't need to rename the directory. Sorry about that.
0.7 - Allow arbitrary html content to be added to the any Superlink (thanks to TheWitness)
      When a Superlink is selected to be a console selection, include the console (and again)
      Remove the "Console->" link from the Cacti Navigation for tabs (and again!)
      Rename the Superlinks navagation item to the Superlink title when displayed (and AGAIN)
      Allow 'guest' account access to superlinks pages (if you give that user access)
      Fixed some UI bugs so that the page title appears in the management pages. 
0.71  Fixed a typo in the IFRAME stuff, so including a web URL works now.
      Added in support for IFRAMEs on the FRONT option. Just cos. It's pretty ugly.
      Fix for Ubuntu/Debian failing to load fonts (thanks to corym)
0.72  Moved the 'Extra' console menu above Settings.
      Allow longer URLs than 60 chars (thanks to prune for pointing this out)
      Added support for the small tabs need by streaker69's cacti patches
         (http://forums.cacti.net/viewtopic.php?p=122097)
      Added a setting to allow you to switch tab size (see above)
      Added support for blocks before and after the login box
      CONSOLE links showed up when they shouldn't have (contents were still denied)
      Added some more examples (whohas.php and wmap-example.php)
0.8   Fixed LOGINBEFORE so it works (bodged - LOGINBEFOR doesn't overflow 10 chars)
      Added option in Settings to hide the Login Screen logo, to make a branding easier.
      Added support for multiple console menu sections
      Added an example for Loginbefore/Loginafter to demo the branding stuff
      Added option to try and hide the '3 things you can do' stuff on the console via CSS (for branding too)
      Added a new 'Smaller Tabs (force)' option that gives ALL plugins smaller tabs with javascript.
      Changed to GIF format for new tabs. Doesn't affect existing tabs. Matches new Cacti (87c) style.

Copyright 1994-2008, by Howard Jones. howie@thingy.com