about.php (7135B)
1 <?php 2 /** 3 * Admin View: Page - About 4 * 5 * @package Redux Framework 6 */ 7 8 defined( 'ABSPATH' ) || exit; 9 10 ?> 11 <div class="wrap about-wrap"> 12 <div class="error hide"> 13 <p>Redux.io is running from within one of your products. To keep your site safe, please install the Redux 14 Framework 15 plugin from WordPress.org.</p> 16 </div> 17 <h1><?php printf( esc_html__( 'Welcome to', 'redux-framework' ) . ' Redux Framework %s', esc_html( $this->display_version ) ); ?></h1> 18 19 20 <div class="about-text"> 21 <?php esc_html_e( "Redux is the world's most powerful and widely used WordPress interface builder. We are trusted by millions of developers and end users world-wide.", 'redux-framework' ); ?> 22 </div> 23 <div class="redux-badge"> 24 <i class="el el-redux"></i> 25 <span><?php printf( esc_html__( 'Version', 'redux-framework' ) . ' %s', esc_html( Redux_Core::$version ) ); ?></span> 26 </div> 27 28 <?php $this->actions(); ?> 29 <?php $this->tabs(); ?> 30 31 <div class="feature-section one-col"> 32 <div class="col"> 33 <?php // translators: %s: HTML. ?> 34 <h2><?php echo sprintf( esc_html__( 'Redux is Where the End User %s Interacts with WordPress', 'redux-framework' ), '<br />' ); ?></h2> 35 <?php echo sprintf( '<h3 style="text-align: center;">%s</h3>', esc_html__( "Redux is a foundation on which to build any interface in WordPress. It's time saved, frustrations reduced, and a unified experience.", 'redux-framework' ) ); ?> 36 37 <div class="hide" style="text-align: center;margin-top:25px;"> 38 <span class="button button-secondary"><?php echo esc_html__( 'Metaboxes', 'redux-framework' ); ?></span> 39 <span class="button button-secondary hide"><?php echo esc_html__( 'Taxonomies', 'redux-framework' ); ?></span> 40 <span class="button button-secondary hide"><?php echo esc_html__( 'User Meta', 'redux-framework' ); ?></span> 41 <span class="button button-secondary"><?php echo esc_html__( 'Options Panel', 'redux-framework' ); ?></span> 42 <span class="button button-secondary"><?php echo esc_html__( 'Customizer', 'redux-framework' ); ?></span> 43 <span class="button button-secondary hide"><?php echo esc_html__( 'Gutenberg', 'redux-framework' ); ?></span> 44 </div> 45 </div> 46 </div> 47 48 <hr> 49 <?php 50 51 $sysinfo = Redux_Helpers::process_redux_callers(); 52 53 ?> 54 55 <div class="feature-section <?php echo empty( $sysinfo ) ? 'one-col' : 'two-col'; ?>"> 56 <div class="<?php echo ! empty( $sysinfo ) ? 'col' : ''; ?>"> 57 <h2 style="text-align:left;"><?php echo esc_html__( 'Did I install this?', 'redux-framework' ); ?></h2> 58 <h3> 59 <?php 60 if ( ! empty( $sysinfo ) ) { 61 esc_html_e( 'Maybe not! These items are using Redux. If you want to keep using them, Redux will need to remain installed and activated.', 'redux-framework' ); 62 } else { 63 $nonce = wp_create_nonce( 'redux_framework_demo' ); 64 65 $query_args = array( 66 'page' => 'redux-framework', 67 'redux-framework-plugin' => 'demo', 68 'nonce' => $nonce, 69 ); 70 71 // translators: %1$s: URL, %2$s: close tag. 72 echo sprintf( esc_html__( 'Maybe not! If you want to see what Redux is all about, click here to %1$sActivate Demo Mode%2$s.', 'redux-framework' ), '<a href="' . esc_url( admin_url( add_query_arg( $query_args, 'options-general.php' ) ) ) . '">', '</a>' ); 73 } 74 ?> 75 76 77 </h3> 78 </div> 79 80 <div class="col"> 81 <?php 82 if ( ! empty( $sysinfo ) && is_array( $sysinfo ) ) { 83 $plugin_index = array(); 84 $plugin_data = get_plugins(); 85 86 foreach ( $plugin_data as $key => $data ) { 87 $key_slug = explode( '/', $key ); 88 $key_slug = $key_slug[0]; 89 $plugin_index[ $key_slug ] = $key; 90 } 91 92 foreach ( $sysinfo as $project_type => $products ) { 93 if ( 'theme' === $project_type ) { 94 $my_theme = wp_get_theme(); 95 ?> 96 <div class="redux-product"> 97 <h2 class="name"><?php echo esc_html( $my_theme->get( 'Name' ) ); ?> 98 <?php if ( ! empty( $my_theme->get( 'Version' ) ) ) { ?> 99 <span class="version"><?php echo esc_html__( 'Version:', 'redux-framework' ); ?> <?php echo esc_html( $my_theme->get( 'Version' ) ); ?></span> 100 <?php } ?> 101 </h2> 102 <p class="author"> 103 <?php if ( ! empty( $my_theme->get( 'Author' ) ) ) { ?> 104 <?php echo esc_html__( 'By', 'redux-framework' ); ?> 105 <a href="<?php echo ! empty( $my_theme->get( 'AuthorURI' ) ) ? esc_attr( $my_theme->get( 'AuthorURI' ) ) : esc_attr( $my_theme->get( 'ThemeURI' ) ); ?>"> 106 <?php echo esc_html( $my_theme->get( 'Author' ) ); ?> 107 108 </a> 109 <?php } ?> 110 <span class="type theme"> 111 <?php echo esc_html__( 'Theme', 'redux-framework' ); ?> 112 </span> 113 </p> 114 <hr style="margin: 0 0 15px 0;padding:0;"> 115 <p class="author"> 116 <small> 117 <?php 118 foreach ( $products as $slug => $data ) { 119 foreach ( $data as $opt_name => $callers ) { 120 echo '<span><strong>opt_name</strong>: <code>' . esc_html( $opt_name ) . '</code></span><br />'; 121 122 foreach ( $callers as $caller ) { 123 echo '<span>~/' . esc_html( $caller['basename'] ) . '</span><br />'; 124 } 125 126 echo '<br />'; 127 } 128 } 129 ?> 130 </small> 131 </p> 132 </div> 133 134 <?php 135 } else { 136 foreach ( $products as $product => $data ) { 137 if ( ! isset( $plugin_index[ $product ] ) ) { 138 continue; 139 } 140 141 $plugin_path = Redux_Functions_Ex::wp_normalize_path( WP_PLUGIN_DIR . '/' . $plugin_index[ $product ] ); 142 $plugin_data = get_plugin_data( $plugin_path ); 143 144 ?> 145 <div class="redux-product"> 146 <h2 class="name"> 147 <?php echo esc_html( $plugin_data['Name'] ); ?> 148 <?php if ( ! empty( $plugin_data['Version'] ) ) { ?> 149 <span class="version"><?php echo esc_html__( 'Version', 'redux-framework' ); ?> <?php echo esc_html( $plugin_data['Version'] ); ?></span> 150 <?php } ?> 151 </h2> 152 <p class="author"> 153 <?php 154 if ( ! empty( $plugin_data['Author'] ) ) { 155 $plugin_url = ! empty( $plugin_data['AuthorURI'] ) ? $plugin_data['AuthorURI'] : $plugin_data['PluginURI']; 156 ?> 157 <?php echo esc_html__( 'By', 'redux-framework' ); ?> 158 <a href="<?php echo esc_attr( $plugin_url ); ?>"> 159 <?php echo esc_html( trim( wp_strip_all_tags( $plugin_data['Author'] ) ) ); ?> 160 </a> 161 <?php } ?> 162 <span class="type plugin"> 163 <?php echo esc_html__( 'Plugin', 'redux-framework' ); ?> 164 </span> 165 </p> 166 <hr style="margin: 0 0 15px 0;padding:0;"> 167 <p class="author"> 168 <small> 169 <?php 170 foreach ( $data as $opt_name => $callers ) { 171 echo '<span><strong>opt_name</strong>: <code>' . esc_html( $opt_name ) . '</code></span><br />'; 172 173 foreach ( $callers as $caller ) { 174 echo '<span>~/' . esc_html( $caller['basename'] ) . '</span><br />'; 175 } 176 } 177 ?> 178 </small> 179 </p> 180 </div> 181 <?php 182 } 183 } 184 } 185 } 186 ?> 187 </div> 188 </div> 189 </div>