public static function get_update($file, $version, $current_version)
 {
     $updates_url = WP_PLUGIN_DIR . '/' . dirname($file) . '/parts/updates/';
     $updates = piklist::get_directory_list($updates_url);
     if ($updates) {
         array_multisort($updates);
     } else {
         return;
     }
     $operator = $current_version ? '=' : '>=';
     // Upgrade : Install
     $valid_updates = array();
     foreach ($updates as $update) {
         $update_version_number = rtrim($update, '.php');
         if (version_compare($version, $update_version_number, $operator)) {
             $update_code = file_get_contents($updates_url . $update);
             $stripped_update_code = str_ireplace(array('<?php', '<?', '?>'), '', $update_code);
             $update_function = create_function('', $stripped_update_code);
             $valid_updates[$update] = $update_function;
         }
     }
     if ($valid_updates) {
         piklist::check_network_propagate(array('piklist_admin', 'run_update'), $valid_updates);
     }
 }
 public static function activate()
 {
     piklist::check_network_propagate('do_action', 'piklist_activate');
 }
Ejemplo n.º 3
0
 /**
  * get_update
  * Get the update for a piklist plugin.
  *
  * @param string $file The plugin filename.
  * @param string $version The plugin version.
  * @param string $current_version The current plugin version.
  *
  * @access public
  * @static
  * @since 1.0
  */
 public static function get_update($file, $version, $current_version)
 {
     $updates_url = WP_PLUGIN_DIR . '/' . dirname($file) . '/parts/updates/';
     $updates = piklist::get_directory_list($updates_url);
     if ($updates) {
         array_multisort($updates);
     } else {
         return;
     }
     $valid_updates = array();
     foreach ($updates as $update) {
         $update_version_number = rtrim($update, '.php');
         if (version_compare($current_version, $update_version_number, '<')) {
             $valid_updates[$update_version_number] = $updates_url . $update;
         }
     }
     if ($valid_updates) {
         piklist::check_network_propagate(array('piklist_admin', 'run_update'), $valid_updates);
     }
 }