minimum_capability, 'redux-about', array( $this, 'about_screen' ) ); // Changelog Page add_theme_page( __( 'Redux Framework Changelog', 'redux-framework' ), __( 'Redux Framework Changelog', 'redux-framework' ), $this->minimum_capability, 'redux-changelog', array( $this, 'changelog_screen' ) ); // Getting Started Page add_theme_page( __( 'Getting started with Redux Framework', 'redux-framework' ), __( 'Getting started with Redux Framework', 'redux-framework' ), $this->minimum_capability, 'redux-getting-started', array( $this, 'getting_started_screen' ) ); // Credits Page add_theme_page( __( 'The people that develop Redux Framework', 'redux-framework' ), __( 'The people that develop Redux Framework', 'redux-framework' ), $this->minimum_capability, 'redux-credits', array( $this, 'credits_screen' ) ); } /** * Hide Individual Dashboard Pages * * @access public * @since 1.4 * @return void */ public function admin_head() { remove_submenu_page( 'index.php', 'redux-about' ); remove_submenu_page( 'index.php', 'redux-changelog' ); remove_submenu_page( 'index.php', 'redux-getting-started' ); remove_submenu_page( 'index.php', 'redux-credits' ); // Badge for welcome page $badge_url = ReduxFramework::$_url . 'assets/images/redux-badge.png'; ?>

', 'redux-framework' ), $display_version ); ?>
tabs(); ?>

·

', 'redux-framework' ), $display_version ); ?>
tabs(); ?>

parse_readme(); ?>

', 'redux-framework' ), $display_version ); ?>
tabs(); ?>

%s → Add New', 'redux-framework' ), admin_url( 'post-new.php?post_type=download' ), redux_get_label_plural() ); ?>

Enable variable pricing and enter the options.', 'redux-framework' ); ?>

Upload File in the Download Files section and choose your download file. To add more than one file, simply click the Add New button.', 'redux-framework' ); ?>

[downloads columns="4"]

extensive documentation to assist you.', 'redux-framework' ); ?>

[purchase_link] Shortcode', 'redux-framework' ); ?>

support forums.', 'redux-framework' ); ?>

Priority Support forums are there for customers that need faster and/or more in-depth assistance.', 'redux-framework' ); ?>

Signup now to ensure you do not miss a release!', 'redux-framework' ); ?>

Signup now to hear about the latest tutorial releases that explain how to take Easy Digital Downloads further.', 'redux-framework' ); ?>

The Extensions store has a list of all available extensions, including convenient category filters so you can find exactly what you are looking for.', 'redux-framework' ); ?>

', 'redux-framework' ), $display_version ); ?>
tabs(); ?>

', 'redux-framework' ); ?>

contributors(); ?>
' . __( 'No valid changlog was found.', 'redux-framework' ) . '

'; } else { $readme = wp_remote_retrieve_body( wp_remote_get( $file ) ); $readme = nl2br( esc_html( $readme ) ); $readme = explode( '== Changelog ==', $readme ); $readme = end( $readme ); $remove = explode( '== Attribution ==', $readme ); $readme = str_replace( '== Attribution ==' . end( $remove ), '', $readme ); $readme = preg_replace( '/`(.*?)`/', '\\1', $readme ); $readme = preg_replace( '/[\040]\*\*(.*?)\*\*/', ' \\1', $readme ); $readme = preg_replace( '/[\040]\*(.*?)\*/', ' \\1', $readme ); $readme = preg_replace( '/= (.*?) =/', '

\\1

', $readme ); $readme = preg_replace( '/\[(.*?)\]\((.*?)\)/', '\\1', $readme ); } return $readme; } /** * Render Contributors List * * @since 1.4 * @uses Redux_Welcome::get_contributors() * @return string $contributor_list HTML formatted list of all the contributors for Redux */ public function contributors() { $contributors = $this->get_contributors(); if ( empty ( $contributors ) ) { return ''; } $contributor_list = ''; return $contributor_list; } /** * Retreive list of contributors from GitHub. * * @access public * @since 1.4 * @return array $contributors List of contributors */ public function get_contributors() { $contributors = get_transient( 'redux_contributors' ); if ( false !== $contributors ) { return $contributors; } $response = wp_remote_get( 'https://api.github.com/repos/ReduxFramework/redux-framework/contributors', array( 'sslverify' => false ) ); if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) { return array(); } $contributors = json_decode( wp_remote_retrieve_body( $response ) ); if ( ! is_array( $contributors ) ) { return array(); } set_transient( 'redux_contributors', $contributors, 3600 ); return $contributors; } /** * Sends user to the Welcome page on first activation of Redux as well as each * time Redux is upgraded to a new version * * @access public * @since 1.4 * @global $redux_options Array of all the Redux Options * @return void */ public function welcome() { logconsole( 'welcome.php' ); //return; // Bail if no activation redirect if ( ! get_transient( '_redux_activation_redirect' ) ) { return; } // Delete the redirect transient delete_transient( '_redux_activation_redirect' ); // Bail if activating from network, or bulk if ( is_network_admin() || isset ( $_GET['activate-multi'] ) ) { return; } $upgrade = get_option( 'redux_version_upgraded_from' ); // // if ( !$upgrade ) { // First time install // wp_safe_redirect ( admin_url ( 'index.php?page=redux-getting-started' ) ); // exit; // } else { // Update // wp_safe_redirect ( admin_url ( 'index.php?page=redux-about' ) ); // exit; // } } } new Redux_Welcome();