<?php /** * This function is used in installing updates for plugins. * It takes id of the plugin whose update is available using * $_GET global variable and then extract the update details * from db and then install it in the plugin. * * @author Shubham Meena, mentored by Matthew Lagoe */ function update_plugin() { // if logged in if ( WebUsers :: isLoggedIn() ) { if ( isset( $_GET['id'] ) ) { // id of plugin to update $id = filter_var( $_GET['id'], FILTER_SANITIZE_FULL_SPECIAL_CHARS ); $db = new DBLayer( 'lib' ); $sth = $db -> executeWithoutParams( "SELECT * FROM plugins INNER JOIN updates ON plugins.Id=updates.PluginId Where plugins.Id=$id" ); $row = $sth -> fetch(); // replacing update in the database Plugincache :: rrmdir( $row['FileName'] ); Plugincache :: zipExtraction( $row['UpdatePath'], rtrim( $row['FileName'], strtolower( $row['Name'] ) ) ); $db -> update( "plugins", array( 'Info' => $row['UpdateInfo'] ), "Id=$row[Id]" ); // deleting the previous update $db -> delete( "updates", array( 'id' => $row['s.no'] ), "s.no=:id" ); // if update is installed succesffully redirect to show success message header( "Location: index.php?page=plugins&result=8" ); exit; } } }