Difference between revisions of "Uninstall Function"

From GeeklogWiki
Jump to: navigation, search
m (added link to Plugin Auto-Uninstall)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
If you want to give your plugin the ability to uninstall itself then you must implement this function.</p>
+
If you want to give your plugin the ability to uninstall itself then you must implement this function.
  
 
       <table cellpadding="2" cellspacing="2" border="1" width="90%" align="Center">
 
       <table cellpadding="2" cellspacing="2" border="1" width="90%" align="Center">
Line 15: Line 15:
 
       </table>
 
       </table>
  
as of Geeklog 1.4.2 you can also use the internal plugin-uninstall function, "Autouninstall".
+
As of Geeklog 1.5.0 you can also use the internal plugin uninstall function, "[[Plugin Auto-Uninstall|Autouninstall]]".
  
 
       <table cellpadding="2" cellspacing="2" border="1" width="90%" align="Center">
 
       <table cellpadding="2" cellspacing="2" border="1" width="90%" align="Center">
Line 27: Line 27:
 
     name&gt;</td>
 
     name&gt;</td>
 
             <td valign="top" class="code">This function does not take any parameters. The plugin has to return an array listing all the elemts that should be uninstalled. This array needs to have a specific format. Here is a sample for the links plugin:<br>
 
             <td valign="top" class="code">This function does not take any parameters. The plugin has to return an array listing all the elemts that should be uninstalled. This array needs to have a specific format. Here is a sample for the links plugin:<br>
<code>
+
<pre>
 
function plugin_autouninstall_links ()
 
function plugin_autouninstall_links ()
 
{
 
{
Line 44: Line 44:
 
     return $out;
 
     return $out;
 
}
 
}
</code>
+
</pre>
 
If you have other things to remove then tables, groups, features, blocks and default values, please remove them before returning the array. If the removal fails, please return "false" instead of the array.
 
If you have other things to remove then tables, groups, features, blocks and default values, please remove them before returning the array. If the removal fails, please return "false" instead of the array.
 
</td>
 
</td>

Latest revision as of 08:05, 6 May 2009

If you want to give your plugin the ability to uninstall itself then you must implement this function.

Table 6. Uninstall function
Function Description of Function
plugin_uninstall_<plugin name> This function does not take any parameters. The plugin should try and uninstall itself, especially removing all its tables and data structures from the database.
The function should return true if the uninstall succeeded and false if it failed.

As of Geeklog 1.5.0 you can also use the internal plugin uninstall function, "Autouninstall".

Table 7. Autouninstall function
Function Description of Function
plugin_autouninstall_<plugin name> This function does not take any parameters. The plugin has to return an array listing all the elemts that should be uninstalled. This array needs to have a specific format. Here is a sample for the links plugin:
function plugin_autouninstall_links ()
{
    $out = array (
        /* give the name of the tables, without $_TABLES[] */
        'tables' => array('links','linksubmission'),
        /* give the full name of the group, as in the db */
        'groups' => array('Links Admin'),
        /* give the full name of the feature, as in the db */
        'features' => array('links.edit', 'links.moderate', 'links.submit'),
        /* give the full name of the block, including 'phpblock_', etc */
        'php_blocks' => array(),
        /* give all vars with their name */
        'vars'=> array()
    );
    return $out;
}

If you have other things to remove then tables, groups, features, blocks and default values, please remove them before returning the array. If the removal fails, please return "false" instead of the array.