$api = new FooGallery_Extensions_API(); //clear any extenasion cache $api->clear_cached_extensions(); $extension_slugs = $api->get_all_slugs(); //get all gallery templates $template_slugs = array(); foreach (foogallery_gallery_templates() as $template) { $template_slugs[] = $template['slug']; } //get all activated plugins $plugins = array(); foreach (get_option('active_plugins') as $plugin_slug => $plugin) { $plugins[] = $plugin; } $current_theme = wp_get_theme(); $debug_info = array(__('FooGallery version', 'foogallery') => $info['version'], __('WordPress version', 'foogallery') => $wp_version, __('Activated Theme', 'foogallery') => $current_theme['Name'], __('WordPress URL', 'foogallery') => get_site_url(), __('PHP version', 'foogallery') => phpversion(), __('PHP GD Loaded', 'foogallery') => extension_loaded('gd') && function_exists('gd_info') ? foogallery_gdversion() : __('Not found!', 'foogallery'), __('Extensions Endpoint', 'foogallery') => $api->get_extensions_endpoint(), __('Extensions Errors', 'foogallery') => $api->has_extension_loading_errors() == true ? $api->get_extension_loading_errors_response() : __('Nope, all good', 'foogallery'), __('Extensions', 'foogallery') => $extension_slugs, __('Extensions Active', 'foogallery') => array_keys($api->get_active_extensions()), __('Gallery Templates', 'foogallery') => $template_slugs, __('Lightboxes', 'foogallery') => apply_filters('foogallery_gallery_template_field_lightboxes', array()), __('Active Plugins', 'foogallery') => $plugins); $debug_info = apply_filters('foogallery_admin_debug_info', $debug_info); ?> <style> .foogallery-debug { width: 100%; font-family: "courier new"; height: 500px; } </style> <div class="wrap about-wrap"> <h1><?php echo $title; ?> </h1>
<?php $instance = FooGallery_Plugin::get_instance(); $api = new FooGallery_Extensions_API(); $extensions = $api->get_all(); $has_errors = $api->has_extension_loading_errors(); $categories = $api->get_all_categories(); $show_message = safe_get_from_request('show_message'); if ('yes' === $show_message) { $result = get_transient(FOOGALLERY_EXTENSIONS_MESSAGE_TRANSIENT_KEY); } $tagline = apply_filters('foogallery_admin_extensions_tagline', sprintf(__('Extensions make %s even more awesome, without bloating the core plugin.', 'foogallery'), foogallery_plugin_name())); $show_foobot = apply_filters('foogallery_admin_show_foobot', true); ?> <style> .foogallery-badge-foobot { position: absolute; top: 5px; right: 0; background: url(<?php echo FOOGALLERY_URL; ?> assets/foobot_small.png) no-repeat; width: 82px; height: 150px; z-index: 100; } .foogallery-text { font-size: 18px; margin: 10px 0; }
function handle_extension_action() { $action = safe_get_from_request('action'); $extension_slug = safe_get_from_request('extension'); $has_error = safe_get_from_request('has_error'); if ($action && $extension_slug) { $api = new FooGallery_Extensions_API(); $fatal_error_redirect = remove_query_arg('action'); wp_redirect(add_query_arg('has_error', 'yes', $fatal_error_redirect)); // we'll override this later if the plugin can be included without fatal error ob_start(); switch ($action) { case 'download': $result = $api->download($extension_slug); break; case 'activate': $result = $api->activate($extension_slug); break; case 'deactivate': $result = $api->deactivate($extension_slug); break; } //if we get here then no fatal error - cool! ob_end_clean(); //store the result in a short-lived transient if (isset($result)) { set_transient(FOOGALLERY_EXTENSIONS_MESSAGE_TRANSIENT_KEY, $result, 30); } //first, remove unwanted query args $redirect_url = remove_query_arg(array('extension', 'action')); //then add a query arg for our message $redirect_url = add_query_arg('show_message', 'yes', $redirect_url); //finally, allow extensions to override their own redirect $redirect_url = apply_filters('foogallery_extensions_redirect_url-' . $extension_slug, $redirect_url, $action); //redirect to this page, so the plugin can be properly activated/deactivated etc if ($redirect_url) { wp_redirect($redirect_url); die; } } else { if ('reload' === $action) { $api = new FooGallery_Extensions_API(); $api->reload(); //first, remove unwanted query args $redirect_url = remove_query_arg(array('extension', 'action')); if (!$api->has_extension_loading_errors()) { $result = array('message' => __('The extensions have been reloaded', 'foogallery'), 'type' => 'success'); set_transient(FOOGALLERY_EXTENSIONS_MESSAGE_TRANSIENT_KEY, $result, 30); //then add a query arg for our message $redirect_url = add_query_arg('show_message', 'yes', $redirect_url); } wp_redirect($redirect_url); die; } else { if ($has_error) { $api = new FooGallery_Extensions_API(); $api->deactivate($extension_slug, true, false); $result = array('message' => __('The extension could not be activated due to an error!', 'foogallery'), 'type' => 'error'); set_transient(FOOGALLERY_EXTENSIONS_MESSAGE_TRANSIENT_KEY, $result, 30); $api->add_to_error_extensions($extension_slug, __('Activation Error!', 'foogallery')); //first, remove unwanted query args $redirect_url = remove_query_arg(array('extension', 'action', 'has_error')); //then add a query arg for our message $redirect_url = add_query_arg('show_message', 'yes', $redirect_url); wp_redirect($redirect_url); } } } }