* The default for last_updated in the plugin_config table was wrong
* Re-arrange some columns for archived and available plugin versions
* Add the Archive/Available size to the respective table views.
* This changes makes a significant change to the archive restoral function due to learning more about working with Phar archives.
* Load from archive is now working..
* I will end up merging some of the functions in plugins.php into lib/plugins.php before finishing out.
* Removing upgrade/downgrade as those are simply restore and load functions.
* This commit is all about presenting the correction options from the user interface for the restore/load/upgrade/downgrade of plugins from either the archive or the available plugins.
* The actions, actually pulling the plugins from the available table and restoring them will be the last step.
* There are still some ToDo steps in this activity. They include
* Showing which plugins are new since you installed
* Drag & Drop for load ordering
* Present a downgrade warning before downgrading a plugin.
* Addressing the topic of unlinking files that disappeared between releases. Need to discuss with rest of the team on that.
* Do we need an 'unsafe' checkbox (aka use 'develop')?
* This is just a simple check for now true or false on cacti and plugin dependencies requirements
* The 'load' function is still not finalized, and it's going to either be a load, or either an Upgrade, Update, or Downgrade.
* In the case of flowview, when the config.php or config_local.php is not found, don't allow enabling the plugin or installing the tables.
* This change simply removes the 'archive' link and also allows 'installing' which was blocked.
* Archive backup and restore is working.
* Added single quotes around plugin messages for clarity.
* Case changes for Keywords in messages.
* ReadMe and ChangeLog viewing in flight. Icons are there but not working.
* Add destructors to phar objects for memory management.
* use loadUrl instead of ducment.location for actions.
This is a fairly hefty restructuring of the plugin page. In this change I did the following:
* remove the use of the 'mode' and switch to actions
* removed the use of directory where possible for all tables: tempoary, archive, and available
* Cleared out quite a bit of duplicated validation code.
There is a long way to go yet. As of right now, you can:
* Create and remove archives, but you can not restore them.
* Download plugins, but you can not install them.
* Validation on what actions can be performed based upon installed Cacti version and plugin versions is not complete.
All archives are stored in longblob columns in based64 encoded strings.
* When a plugin is disabled, set a status of Plugin Errors.
* Normalize the status' in the status' array.
* ToDo: The logic for setting plugin status is still a big wonky from my perspective.
* Add a few more checkss for installed plugins missing key files
* Filter and Sort issues
* Column naming to accommodate legacy design
* Add the schema to the default schema.
* Change the last_updated column upon install/upgrade
* Add new api_plugin_upgrade() function to standardize what get's updated when a plugin self upgrades.
* ToDo - Audit Schema