get_plugin_slug() static public method

static public get_plugin_slug ( $plugin_file )
 protected function format_plugin($plugin_file, $plugin_data)
 {
     $plugin = array();
     $plugin['id'] = preg_replace("/(.+)\\.php\$/", "\$1", $plugin_file);
     $plugin['slug'] = Jetpack_Autoupdate::get_plugin_slug($plugin_file);
     $plugin['active'] = Jetpack::is_plugin_active($plugin_file);
     $plugin['name'] = $plugin_data['Name'];
     $plugin['plugin_url'] = $plugin_data['PluginURI'];
     $plugin['version'] = $plugin_data['Version'];
     $plugin['description'] = $plugin_data['Description'];
     $plugin['author'] = $plugin_data['Author'];
     $plugin['author_url'] = $plugin_data['AuthorURI'];
     $plugin['network'] = $plugin_data['Network'];
     $plugin['update'] = $this->get_plugin_updates($plugin_file);
     $plugin['next_autoupdate'] = date('Y-m-d H:i:s', wp_next_scheduled('wp_maybe_auto_update'));
     $autoupdate = in_array($plugin_file, Jetpack_Options::get_option('autoupdate_plugins', array()));
     $plugin['autoupdate'] = $autoupdate;
     $autoupdate_translation = in_array($plugin_file, Jetpack_Options::get_option('autoupdate_plugins_translations', array()));
     $plugin['autoupdate_translation'] = $autoupdate || $autoupdate_translation;
     $plugin['uninstallable'] = is_uninstallable_plugin($plugin_file);
     if (!empty($this->log[$plugin_file])) {
         $plugin['log'] = $this->log[$plugin_file];
     }
     return $plugin;
 }
 function update_translations()
 {
     include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
     // Clear the cache.
     wp_clean_plugins_cache();
     ob_start();
     wp_update_plugins();
     // Check for Plugin updates
     ob_end_clean();
     $available_updates = get_site_transient('update_plugins');
     if (!isset($available_updates->translations) || empty($available_updates->translations)) {
         return new WP_Error('nothing_to_translate');
     }
     $update_attempted = false;
     $result = false;
     foreach ($this->plugins as $plugin) {
         $this->slug = Jetpack_Autoupdate::get_plugin_slug($plugin);
         $translation = array_filter($available_updates->translations, array($this, 'get_translation'));
         if (empty($translation)) {
             $this->log[$plugin][] = __('No update needed', 'jetpack');
             continue;
         }
         /**
          * Pre-upgrade action
          *
          * @since 4.4
          *
          * @param array $plugin Plugin data
          * @param array $plugin Array of plugin objects
          * @param bool $updated_attempted false for the first update, true subsequently
          */
         do_action('jetpack_pre_plugin_upgrade_translations', $plugin, $this->plugins, $update_attempted);
         $update_attempted = true;
         $skin = new Automatic_Upgrader_Skin();
         $upgrader = new Language_Pack_Upgrader($skin);
         $upgrader->init();
         $result = $upgrader->upgrade((object) $translation[0]);
         $this->log[$plugin] = $upgrader->skin->get_upgrade_messages();
     }
     if (!$this->bulk && !$result) {
         return new WP_Error('update_fail', __('There was an error updating your plugin', 'jetpack'), 400);
     }
     return true;
 }