Ejemplo n.º 1
0
 public static function update_plugin()
 {
     if (!current_user_can('upload_plugins')) {
         wp_die(esc_html__('Sorry, you are not allowed to install plugins on this site.'));
     }
     check_admin_referer('plugin-upload');
     $file_upload = new File_Upload_Upgrader('pluginzip', 'package');
     $title = __('Upload Plugin');
     $parent_file = 'plugins.php';
     $submenu_file = 'plugin-install.php';
     require_once ABSPATH . 'wp-admin/admin-header.php';
     $title = sprintf(__('Installing Plugin from uploaded file: %s'), esc_html(basename($file_upload->filename)));
     $nonce = 'plugin-upload';
     $url = add_query_arg(array('package' => $file_upload->id), 'update.php?action=upload-plugin');
     $type = 'upload';
     // Install plugin type, From Web or an Upload.
     require_once dirname(__FILE__) . '/custom-plugin-upgrader.php';
     $upgrader = new CAJ_ETPU_Plugin_Upgrader(new Plugin_Installer_Skin(compact('type', 'title', 'nonce', 'url')));
     $result = $upgrader->install($file_upload->package);
     if ($result || is_wp_error($result)) {
         $file_upload->cleanup();
     }
     include ABSPATH . 'wp-admin/admin-footer.php';
     exit;
 }
 /**
  * Custom Iconfont update.
  */
 public function upload_iconfont()
 {
     include_once 'class-ac-iconfont-upgrader.php';
     include_once 'class-ac-iconfont-upgrader-skin.php';
     if (isset($_GET['action'])) {
         $action = isset($_REQUEST['action']) ? $_REQUEST['action'] : '';
         if ('upload-iconfont' == $action) {
             if (!current_user_can('manage_axiscomposer')) {
                 wp_die(__('You do not have sufficient permissions to install iconfonts on this site.', 'axiscomposer-iconfont'));
             }
             check_admin_referer('axiscomposer-iconfont-upload');
             $file_upload = new File_Upload_Upgrader('iconfontzip', 'package');
             $title = __('Upload Iconfont', 'axiscomposer-iconfont');
             $parent_file = 'axiscomposer-iconfont-new';
             $submenu_file = 'admin.php?page=axiscomposer-iconfont';
             require_once ABSPATH . 'wp-admin/admin-header.php';
             $title = sprintf(__('Installing Iconfont from uploaded file: %s', 'axiscomposer-iconfont'), esc_html(basename($file_upload->filename)));
             $nonce = 'axiscomposer-iconfont-upload';
             $url = add_query_arg(array('package' => $file_upload->id), 'update.php?action=upload-iconfont');
             $type = 'upload';
             //Install plugin type, From Web or an Upload.
             $upgrader = new AC_Iconfont_Upgrader(new WP_Upgrader_Skin(compact('type', 'title', 'nonce', 'url')));
             $result = $upgrader->install($file_upload->package);
             if ($result || is_wp_error($result)) {
                 $file_upload->cleanup();
             }
             include ABSPATH . 'wp-admin/admin-footer.php';
         }
     }
 }
Ejemplo n.º 3
0
 public function save()
 {
     global $thesis;
     if ($this->args['file_type'] === 'image') {
         $url = "admin-post.php?action=" . $this->args['window_action'] . "&window_nonce=" . wp_create_nonce('thesis_upload_iframe');
         if (is_array($result = $thesis->api->save_image('thesis_file', substr($this->args['folder'], 0, 7), (int) $this->args['post_id']))) {
             foreach ($result as $p => $value) {
                 $url .= "&{$p}=" . ($p == 'url' ? urlencode(esc_url_raw($value)) : $value);
             }
         }
         if ($this->args['save_callback'] && is_callable($this->args['save_callback'])) {
             call_user_func_array($this->args['save_callback'], array($result, 'delete' => !empty($_POST['delete_image']) ? true : false));
         }
         wp_redirect(admin_url($url));
         exit;
     } elseif ($this->args['file_type'] === 'zip' && in_array($this->args['folder'], array('skin', 'package', 'box'))) {
         // new skin/box/package. Unpack and send to the right directory
         define('IFRAME_REQUEST', true);
         require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
         require_once THESIS_API . '/upload-ext.php';
         $upload = new File_Upload_Upgrader('thesis_file', 'object');
         add_action('admin_head', array($this, 'admin_css'));
         add_action('admin_enqueue_scripts', array($this, 'admin_scripts'));
         require_once ABSPATH . 'wp-admin/admin-header.php';
         $title = sprintf(__('Installing %s from uploaded file: %s'), ucwords($this->args['folder']), basename($upload->filename));
         $nonce = $this->args['nonce'];
         $url = add_query_arg(array('object' => $upload->id), 'update.php?action=' . $this->args['action'] . '');
         $type = 'upload';
         $upgrader = new thesis_uploader(new thesis_upload_skin(compact('type', 'title', 'nonce', 'url')));
         $result = $upgrader->install($upload->package, $this->args, $upload->id);
         if ($result || is_wp_error($result)) {
             $upload->cleanup();
         }
         include ABSPATH . 'wp-admin/admin-footer.php';
     } elseif ($this->args['file_type'] === 'txt') {
         $url = "admin-post.php?action=" . $this->args['window_action'] . "&window_nonce=" . wp_create_nonce('thesis_upload_iframe');
         if ($thesis->skins->import('thesis_file', $this->args['nonce'])) {
             wp_redirect("{$url}&import=true");
         } else {
             wp_redirect("{$url}&import=false");
         }
         exit;
     }
 }
Ejemplo n.º 4
0
     $submenu_file = 'themes.php';
     require_once ABSPATH . 'wp-admin/admin-header.php';
     $title = sprintf(__('Installing Theme: %s'), $api->name . ' ' . $api->version);
     $nonce = 'install-theme_' . $theme;
     $url = 'update.php?action=install-theme&theme=' . urlencode($theme);
     $type = 'web';
     //Install theme type, From Web or an Upload.
     $upgrader = new Theme_Upgrader(new Theme_Installer_Skin(compact('title', 'url', 'nonce', 'plugin', 'api')));
     $upgrader->install($api->download_link);
     include ABSPATH . 'wp-admin/admin-footer.php';
 } elseif ('upload-theme' == $action) {
     if (!current_user_can('upload_themes')) {
         wp_die(__('You do not have sufficient permissions to install themes on this site.'));
     }
     check_admin_referer('theme-upload');
     $file_upload = new File_Upload_Upgrader('themezip', 'package');
     wp_enqueue_script('customize-loader');
     $title = __('Upload Theme');
     $parent_file = 'themes.php';
     $submenu_file = 'theme-install.php';
     require_once ABSPATH . 'wp-admin/admin-header.php';
     $title = sprintf(__('Installing Theme from uploaded file: %s'), esc_html(basename($file_upload->filename)));
     $nonce = 'theme-upload';
     $url = add_query_arg(array('package' => $file_upload->id), 'update.php?action=upload-theme');
     $type = 'upload';
     //Install plugin type, From Web or an Upload.
     $upgrader = new Theme_Upgrader(new Theme_Installer_Skin(compact('type', 'title', 'nonce', 'url')));
     $result = $upgrader->install($file_upload->package);
     if ($result || is_wp_error($result)) {
         $file_upload->cleanup();
     }
Ejemplo n.º 5
0
 /**
  * Upload lens request submission
  *
  * Adaptation of WordPress core theme upload and install routines for
  * uploading and
  * installing lenses via a ZIP file upload.
  *
  * @uses wp_verify_nonce()
  * @uses wp_die()
  * @uses wp_enqueue_style()
  * @uses add_query_tag()
  * @uses slidedeck2_action()
  * @uses SlideDeckLens::copy_inc()
  * @uses File_Upload_Upgrader
  * @uses SlideDeck_Lens_Installer_Skin
  * @uses SlideDeck_Lens_Upload
  * @uses SlideDeck_Lens_Upload::install()
  * @uses is_wp_error()
  * @uses File_Upload_Upgrader::cleanup()
  */
 function upload_lens()
 {
     if (!current_user_can($this->roles['upload_lens'])) {
         wp_die(__('You do not have sufficient permissions to install SlideDeck lenses on this site.', $this->namespace));
     }
     check_admin_referer("{$this->namespace}-upload-lens");
     // Load the SlideDeck Lens Upload Classes
     if (!class_exists('SlideDeckLensUpload')) {
         include SLIDEDECK2_DIRNAME . '/classes/slidedeck-lens-upload.php';
     }
     $file_upload = new File_Upload_Upgrader('slidedecklenszip', 'package');
     $title = __("Upload SlideDeck Lens", $this->namespace);
     $parent_file = "";
     $submenu_file = "";
     wp_enqueue_style("{$this->namespace}-admin");
     wp_enqueue_style("{$this->namespace}-admin-lite");
     require_once ABSPATH . 'wp-admin/admin-header.php';
     $title = sprintf(__("Installing SlideDeck Lens from uploaded file: %s", 'slidedeck'), basename($file_upload->filename));
     $nonce = "{$this->namespace}-upload-lens";
     $url = add_query_arg(array('package' => $file_upload->id), 'update.php?action=upload-slidedeck-lens');
     $type = 'upload';
     $lens_dirname = preg_replace("/\\.([a-zA-Z0-9]+)\$/", "", basename($file_upload->filename));
     $upgrader = new SlideDeck_Lens_Upload(new SlideDeck_Lens_Installer_Skin(compact('type', 'title', 'lens_dirname', 'nonce', 'url')));
     $result = $upgrader->install($file_upload->package);
     if ($result || is_wp_error($result)) {
         $file_upload->cleanup();
     }
     include ABSPATH . 'wp-admin/admin-footer.php';
 }
Ejemplo n.º 6
0
    public static function settings_panel()
    {
        if (isset($_GET['wpak_action']) && $_GET['wpak_action'] == 'upload-theme') {
            if (!current_user_can('upload_plugins') && !current_user_can('wpak_edit_apps')) {
                wp_die(__('You do not have sufficient permissions to install WP AppKit themes on this site.', WpAppKit::i18n_domain));
            }
            check_admin_referer('wpak-theme-upload');
            include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
            $file_upload = new File_Upload_Upgrader('themezip', 'package');
            $file_type = wp_check_filetype($file_upload->filename);
            if ($file_type['ext'] == 'zip' && $file_type['type'] == 'application/zip') {
                $title = sprintf(__('Installing WP AppKit from uploaded file: %s', WpAppKit::i18n_domain), esc_html(basename($file_upload->filename)));
                $nonce = 'wpak-theme-upload';
                $url = add_query_arg(array('package' => $file_upload->id));
                // A nonce is passed to WP_Upgrader_Skin class, so wp_nonce_url() is called and url is escaped there...
                $upgrader = new WP_Upgrader(new WP_Upgrader_Skin(compact('title', 'nonce', 'url')));
                $destination_folder_name = basename(sanitize_file_name($file_upload->filename), ".zip");
                $result = $upgrader->run(array('package' => $file_upload->package, 'destination' => WpakThemes::get_themes_directory() . '/' . $destination_folder_name, 'clear_destination' => true, 'clear_working' => true, 'hook_extra' => array()));
                if ($result || is_wp_error($result)) {
                    $file_upload->cleanup();
                }
                if (!is_wp_error($result)) {
                    echo sprintf(__("WP AppKit theme '%s' installed successfully!", WpAppKit::i18n_domain), $destination_folder_name);
                } else {
                    _e('An error occured', WpAppKit::i18n_domain);
                    echo ' : ' . $result->get_error_message();
                }
                echo '<br/><br/><a href="' . esc_url(remove_query_arg('wpak_action')) . '">' . __('Back to theme upload form', WpAppKit::i18n_domain) . '</a>';
                echo '<br/><br/><a href="' . admin_url() . '/edit.php?post_type=wpak_apps">' . __('Go to my WP AppKit app list', WpAppKit::i18n_domain) . '</a>';
            } else {
                _e("Uploaded file must be a valid zip file", WpAppKit::i18n_domain);
            }
        } else {
            ?>
			<div class="wrap" id="wpak-settings">
				<h2><?php 
            _e('WP AppKit Themes upload', WpAppKit::i18n_domain);
            ?>
</h2>

				<?php 
            if (!empty($result['message'])) {
                ?>
					<div class="<?php 
                echo $result['type'];
                ?>
" ><p><?php 
                echo $result['message'];
                ?>
</p></div>
				<?php 
            }
            ?>

				<div class="upload-plugin">
					<p class="install-help"><?php 
            _e('If you have a WP AppKit theme in a .zip format, you may install it by uploading it here.');
            ?>
</p>
					<form method="post" enctype="multipart/form-data" class="wp-upload-form" action="<?php 
            echo esc_url(add_query_arg(array('wpak_action' => 'upload-theme')));
            ?>
">
						<?php 
            wp_nonce_field('wpak-theme-upload');
            ?>
						<label class="screen-reader-text" for="themezip"><?php 
            _e('WP AppKit Theme zip file', WpAppKit::i18n_domain);
            ?>
</label>
						<input type="file" id="themezip" name="themezip" />
						<?php 
            submit_button(__('Install Now'), 'button', 'install-theme-submit', false);
            ?>
					</form>
				</div>

			</div>
			<?php 
        }
    }
function sp_do_theme_upload()
{
    if (!sp_current_user_can('SPF Manage Themes')) {
        spa_etext('Access denied - you do not have permission');
        die;
    }
    check_admin_referer('forum-theme_upload', 'forum-theme_upload');
    include_once SPBOOT . 'admin/spa-admin-updater-class.php';
    $file_upload = new File_Upload_Upgrader('themezip', 'package');
    require_once ABSPATH . 'wp-admin/admin-header.php';
    $title = sprintf(spa_text('Uploading SP Theme from uploaded file: %s'), basename($file_upload->filename));
    $nonce = 'theme-upload';
    $url = add_query_arg(array('package' => $file_upload->id), 'update.php?action=upload-sp-theme');
    $type = 'upload';
    $upgrader = new SP_Theme_Upgrader(new SP_Theme_Installer_Skin(compact('type', 'title', 'nonce', 'url')));
    $result = $upgrader->install($file_upload->package);
    if ($result || is_wp_error($result)) {
        $file_upload->cleanup();
    }
    # double check if we deleted the upload file and output message if not
    if (file_exists($file_upload->package)) {
        echo sprintf(spa_text('Notice: Unable to remove the uploaded theme zip archive: %s'), $file_upload->package);
    }
    include ABSPATH . 'wp-admin/admin-footer.php';
}