Esempio n. 1
0
function fv_wp_flowplayer_install_extension($plugin_package = 'fv_player_pro')
{
    global $hook_suffix;
    $aInstalled = get_option('fv_flowplayer_extension_install') ? get_option('fv_flowplayer_extension_install') : array();
    $aInstalled = array_merge($aInstalled, array($plugin_package => false));
    update_option('fv_flowplayer_extension_install', $aInstalled);
    $aPluginInfo = get_transient('fv_flowplayer_license');
    $plugin_basename = $aPluginInfo->{$plugin_package}->slug;
    $download_url = $aPluginInfo->{$plugin_package}->url;
    $sPluginBasenameReal = fv_flowplayer_get_extension_path(str_replace('_', '-', $plugin_package));
    $plugin_basename = $sPluginBasenameReal ? $sPluginBasenameReal : $plugin_basename;
    $url = wp_nonce_url(site_url() . '/wp-admin/options-general.php?page=fvplayer', 'fv_player_pro_install', 'nonce_fv_player_pro_install');
    set_current_screen();
    ob_start();
    if (false === ($creds = request_filesystem_credentials($url, '', false, false, false))) {
        $form = ob_get_clean();
        include ABSPATH . 'wp-admin/admin-header.php';
        echo fv_wp_flowplayer_install_extension_talk($form);
        include ABSPATH . 'wp-admin/admin-footer.php';
        die;
    }
    if (!WP_Filesystem($creds)) {
        ob_start();
        request_filesystem_credentials($url, $method, true, false, false);
        $form = ob_get_clean();
        include ABSPATH . 'wp-admin/admin-header.php';
        echo fv_wp_flowplayer_install_extension_talk($form);
        include ABSPATH . 'wp-admin/admin-footer.php';
        die;
    }
    require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
    $sTaskDone = 'FV Flowplayer Pro extension installed - check the new <a href="' . site_url() . '/wp-admin/options-general.php?page=fvplayer#fv_player_pro">Pro features!</a>!';
    if (!$sPluginBasenameReal || is_wp_error(validate_plugin($plugin_basename))) {
        echo '<div style="display: none;">';
        $objInstaller = new Plugin_Upgrader();
        $objInstaller->install($download_url);
        echo '</div>';
        wp_cache_flush();
        if (is_wp_error($objInstaller->skin->result)) {
            update_option('fv_wordpress_flowplayer_deferred_notices', 'FV Flowplayer Pro extension install failed - ' . $objInstaller->skin->result->get_error_message());
            $bResult = false;
        } else {
            if ($objInstaller->plugin_info()) {
                $plugin_basename = $objInstaller->plugin_info();
            }
            $activate = activate_plugin($plugin_basename);
            if (is_wp_error($activate)) {
                update_option('fv_wordpress_flowplayer_deferred_notices', 'FV Flowplayer Pro extension install failed - ' . $activate->get_error_message());
                $bResult = false;
            }
        }
    } else {
        if ($sPluginBasenameReal) {
            $sTaskDone = 'FV Flowplayer Pro extension upgraded succesfully!';
            echo '<div style="display: none;">';
            $objInstaller = new Plugin_Upgrader();
            $objInstaller->upgrade($sPluginBasenameReal);
            echo '</div></div>';
            //  explanation: extra closing tag just to be safe (in case of "The plugin is at the latest version.")
            wp_cache_flush();
            if (is_wp_error($objInstaller->skin->result)) {
                update_option('fv_wordpress_flowplayer_deferred_notices', 'FV Flowplayer Pro extension upgrade failed - ' . $objInstaller->skin->result->get_error_message());
                $bResult = false;
            } else {
                if ($objInstaller->plugin_info()) {
                    $plugin_basename = $objInstaller->plugin_info();
                }
                $activate = activate_plugin($plugin_basename);
                if (is_wp_error($activate)) {
                    update_option('fv_wordpress_flowplayer_deferred_notices', 'FV Flowplayer Pro extension upgrade failed - ' . $activate->get_error_message());
                    $bResult = false;
                }
            }
        }
    }
    if (!isset($bResult)) {
        if (!isset($_GET['page']) || strcmp($_GET['page'], 'fvplayer') != 0) {
            update_option('fv_wordpress_flowplayer_deferred_notices', $sTaskDone);
        }
        $bResult = true;
    }
    $aInstalled = get_option('fv_flowplayer_extension_install') ? get_option('fv_flowplayer_extension_install') : array();
    $aInstalled = array_merge($aInstalled, array($plugin_package => $bResult));
    update_option('fv_flowplayer_extension_install', $aInstalled);
    return $bResult;
}
Esempio n. 2
0
do_action('fv_flowplayer_admin_buttons_after');
?>
    </p>
    <div id="fv_flowplayer_admin_notices">
    </div>
  <?php 
do_action('fv_player_settings_pre');
if (isset($_GET['fv_flowplayer_checker'])) {
    do_action('fv_flowplayer_checker_event');
}
if (flowplayer::is_licensed()) {
    $aCheck = get_transient('fv_flowplayer_license');
    $aInstalled = get_option('fv_flowplayer_extension_install');
}
if (isset($aCheck->valid) && $aCheck->valid) {
    $fv_player_pro_path = fv_flowplayer_get_extension_path('fv-player-pro');
    if (is_plugin_inactive($fv_player_pro_path) && !is_wp_error(validate_plugin($fv_player_pro_path))) {
        ?>
      <div id="fv_flowplayer_addon_pro">
        <p>Thank you for purchasing FV Player license! <input type="button" class='button fv_wp_flowplayer_activate_extension' data-plugin="<?php 
        echo $fv_player_pro_path;
        ?>
" value="Enable the Pro extension" /> <img style="display: none; " src="<?php 
        echo site_url();
        ?>
/wp-includes/images/wpspin.gif" width="16" height="16" /></p>
      </div>
    <?php 
    } elseif (is_plugin_active($fv_player_pro_path) && !is_wp_error(validate_plugin($fv_player_pro_path))) {
        ?>
      <div id="fv_flowplayer_addon_pro">