web/wp-content/themes/selecta/ocmx/ocmx-upgrade.php
author ymh <ymh.work@gmail.com>
Mon, 22 Mar 2010 16:36:28 +0100
changeset 5 ac511f1ccc8e
parent 1 0d28b7c10758
permissions -rw-r--r--
add hgignore
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
0d28b7c10758 First commit
ymh
parents:
diff changeset
     1
<?php
0d28b7c10758 First commit
ymh
parents:
diff changeset
     2
include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
0d28b7c10758 First commit
ymh
parents:
diff changeset
     3
function ocmx_theme_update($package, $delete_package = true) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
     4
		global $wp_filesystem;
0d28b7c10758 First commit
ymh
parents:
diff changeset
     5
0d28b7c10758 First commit
ymh
parents:
diff changeset
     6
		$upgrade_folder = WP_Filesystem_Base::wp_content_dir() . 'upgrade/'		;
0d28b7c10758 First commit
ymh
parents:
diff changeset
     7
		echo $upgrade_folder;
0d28b7c10758 First commit
ymh
parents:
diff changeset
     8
/*
0d28b7c10758 First commit
ymh
parents:
diff changeset
     9
		//Clean up contents of upgrade directory beforehand.
0d28b7c10758 First commit
ymh
parents:
diff changeset
    10
		$upgrade_files = $wp_filesystem->dirlist($upgrade_folder);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    11
		if ( !empty($upgrade_files) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    12
			foreach ( $upgrade_files as $file )
0d28b7c10758 First commit
ymh
parents:
diff changeset
    13
				$wp_filesystem->delete($upgrade_folder . $file['name'], true);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    14
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    15
0d28b7c10758 First commit
ymh
parents:
diff changeset
    16
		//We need a working directory
0d28b7c10758 First commit
ymh
parents:
diff changeset
    17
		$working_dir = $upgrade_folder . basename($package, '.zip');
0d28b7c10758 First commit
ymh
parents:
diff changeset
    18
0d28b7c10758 First commit
ymh
parents:
diff changeset
    19
		// Clean up working directory
0d28b7c10758 First commit
ymh
parents:
diff changeset
    20
		if ( $wp_filesystem->is_dir($working_dir) )
0d28b7c10758 First commit
ymh
parents:
diff changeset
    21
			$wp_filesystem->delete($working_dir, true);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    22
0d28b7c10758 First commit
ymh
parents:
diff changeset
    23
		// Unzip package to working directory
0d28b7c10758 First commit
ymh
parents:
diff changeset
    24
		$result = unzip_file($package, $working_dir); //TODO optimizations, Copy when Move/Rename would suffice?
0d28b7c10758 First commit
ymh
parents:
diff changeset
    25
0d28b7c10758 First commit
ymh
parents:
diff changeset
    26
		// Once extracted, delete the package if required.
0d28b7c10758 First commit
ymh
parents:
diff changeset
    27
		if ( $delete_package )
0d28b7c10758 First commit
ymh
parents:
diff changeset
    28
			unlink($package);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    29
0d28b7c10758 First commit
ymh
parents:
diff changeset
    30
		if ( is_wp_error($result) ) {
0d28b7c10758 First commit
ymh
parents:
diff changeset
    31
			$wp_filesystem->delete($working_dir, true);
0d28b7c10758 First commit
ymh
parents:
diff changeset
    32
			return $result;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    33
		}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    34
0d28b7c10758 First commit
ymh
parents:
diff changeset
    35
		return $working_dir;
0d28b7c10758 First commit
ymh
parents:
diff changeset
    36
		*/
0d28b7c10758 First commit
ymh
parents:
diff changeset
    37
	}
0d28b7c10758 First commit
ymh
parents:
diff changeset
    38