$val) $action[] = $key .'='. urlencode($val); ?>
$value){ echo ''; $opt[$key] = $value; } } } global $wp_filesystem; if( ! $wp_filesystem || ! is_object($wp_filesystem) ) WP_Filesystem(); if( ! is_object($wp_filesystem) ) wp_die('WP_Filesystem Error:' . print_r($wp_filesystem,true)); if( !empty($wp_filesystem->errors) ){ ?>

errors as $id=>$values){ if( 'require' == $id ) continue; echo $value . '
'; } if( !empty($wp_filesystem->errors['require']) ){ foreach((array)$fs_compat['require'] as $id=>$value) echo '' . __($value) . ':
'; } ?>
delete($folder, true); echo '

'; _e('All files relating to the upgrade proceedure have been deleted.'); echo '
'; _e('The folder which holds the upgrade files was:'); echo $folder; echo '

'; } elseif( isset($_POST['submit_proceed']) ){ //Lets do the upgrade (And then delete the old stuff) $oldfile = PLUGINDIR . '/' . $_GET['upgrade']; //Full path to the plugin FILE, NOT PATH $source = 'wp-content/wpupdate/' . $_POST['upgrade_source']; $destination = PLUGINDIR . '/' . basename($source); //First Deactivate the plugin. $current = get_option('active_plugins'); array_splice($current, array_search( $_GET['upgrade'], $current), 1 ); // Array-fu! update_option('active_plugins', $current); //do_action('deactivate_' . trim( $_GET['plugin'] )); //Dont do the deactivate action. do_action('update_' . trim( $_GET['upgrade'] )); //Remove old files //First, Remove the old directory if need be: if( dirname($oldfile) !== dirname($destination . '/.') ){ // /. to make sure we get the foldername rather than the folder being treated as a file //We need to remove the old files first. $file = basename(str_replace(array(ABSPATH, PLUGINDIR),'',$oldfile)); $file = preg_replace("|^/+|",'',$file);//strip leading slashes if( basename($file) == $file){ //File: $messages[] = __('Deleteing file: ') . $file . succeeded( $wp_filesystem->delete( ABSPATH . PLUGINDIR . '/' . $file) ); } else { $messages[] = __('Deleteing Folder: ') . $file . succeeded( $wp_filesystem->delete( ABSPATH . PLUGINDIR . '/' . $file, true) ); } } $diff = folder_diff(ABSPATH . $source, ABSPATH . $destination); //Create folder structure $path = explode('/',$destination); $tmppath = ABSPATH . '/'; for( $j = 0; $j < count($path); $j++ ){ $tmppath .= $path[$j] . '/'; if( ! $wp_filesystem->is_dir($tmppath) ) $messages[] = __('Creating folder: ') . $tmppath . succeeded( $wp_filesystem->mkdir($tmppath) ); } foreach((array) $diff as $filename=>$fileInfo){ switch($fileInfo['status']) { case 'deleted': $messages[] = __('Deleteing file: ') . $filename . succeeded( $wp_filesystem->delete( ABSPATH . $destination . '/' . $filename, true) ); break; case 'changed': $messages[] = __('Deleteing file: ') . $filename . succeeded( $wp_filesystem->delete( ABSPATH . $destination . '/' . $filename, true) ); //No Break, We delete the file, then treat it as a new file. case 'new': $messages[] = __('Installing file: ') . $filename . succeeded( $wp_filesystem->copy( ABSPATH . $source . '/' . $filename, ABSPATH . $destination . '/' . $filename) ); break; default: case 'same': //Leave unchanged files alone. break; } } echo implode("
",$messages); $folder = ABSPATH . 'wp-content/wpupdate/' . $_POST['upgrade_source']; $wp_filesystem->delete($folder, true); } else { ?>




errors) ){ ?>

installItemFromZip($filename, $fileinfo, 'wp-content/wpupdate/'); unlink($filename); //Once installed, Delete the zip echo '
'; foreach($messages as $message){ echo $message.'
'; } echo '
'; $plugins = wpupdate_get_plugins(ABSPATH . 'wp-content/wpupdate/'); if( 1 == count($plugins) ){ foreach($plugins as $pluginFile => $plugin){ //We want the first one from the array. $newdata = $plugin; $newdata['Folder'] = dirname($pluginFile); break; } } else { foreach($plugins as $pluginFile => $plugin){ //We want the first one from the array. if( $plugin['Name'] != $installedInfo['Name'] ) continue; $newdata = $plugin; $newdata['Folder'] = dirname($pluginFile); } } echo ''; echo '' . __('Source') . ': ' . $file . '
'; echo ''.__('Title').': '.$newdata['Title'].'
'; echo ''.__('Author').': '.$newdata['Author'].'
'; echo ''.__('Version').': '.$newdata['Version'].'
'; echo '' . $newdata['Description'] . ''; ?>

$fileInfo){ switch($fileInfo['status']) { case 'new': echo "$fileName (".__('New').")
"; break; case 'deleted': echo "$fileName (".__('Deleted').")
"; break; case 'changed': echo "$fileName (".__('Changed').")
"; break; default: case 'same': echo "$fileName (".__('unChanged').")
"; break; } }//end foreach } //end if ! $diff ?>

errors) ?>

errors) } //end if submit_proceed | submit_cancel ?>