Пример #1
0
 function check($php_files, $css_files, $other_files)
 {
     $ret = true;
     $check = Redux_ThemeCheck::get_instance();
     $redux = $check::get_redux_details($php_files);
     if ($redux) {
         $blacklist = array('.tx' => __('Redux localization utilities', 'themecheck'), 'bin' => __('Redux Resting Diles', 'themecheck'), 'codestyles' => __('Redux Code Styles', 'themecheck'), 'tests' => __('Redux Unit Testing', 'themecheck'), 'class.redux-plugin.php' => __('Redux Plugin File', 'themecheck'), 'bootstrap_tests.php' => __('Redux Boostrap Tests', 'themecheck'), '.travis.yml' => __('CI Testing FIle', 'themecheck'), 'phpunit.xml' => __('PHP Unit Testing', 'themecheck'));
         $errors = array();
         foreach ($blacklist as $file => $reason) {
             checkcount();
             if (file_exists($redux['parent_dir'] . $file)) {
                 $errors[$redux['parent_dir'] . $file] = $reason;
             }
         }
         if (!empty($errors)) {
             $error = '<span class="tc-lead tc-required">REQUIRED</span> ' . __('It appears that you have embedded the full Redux package inside your theme. You need only embed the <strong>ReduxCore</strong> folder. Embedding anything else will get your rejected from theme submission. Suspected Redux package file(s):', 'redux-framework');
             $error .= '<ol>';
             foreach ($errors as $key => $e) {
                 $error .= '<li><strong>' . $e . '</strong>: ' . $key . '</li>';
             }
             $error .= '</ol>';
             $this->error[] = '<div class="redux-error">' . $error . '</div>';
             $ret = false;
         }
     }
     return $ret;
 }
Пример #2
0
 function check($php_files, $css_files, $other_files)
 {
     $ret = true;
     $check = Redux_ThemeCheck::get_instance();
     $redux = $check::get_redux_details($php_files);
     if ($redux) {
         if (!isset($_POST['redux_wporg'])) {
             checkcount();
             $this->error[] = '<div class="redux-error">' . sprintf(__('<span class="tc-lead tc-recommended">RECOMMENDED</span>: If you are submitting to WordPress.org Theme Repository, it is <strong>strongly</strong> suggested that you read <a href="%1" target="_blank">this document</a>, or your theme will be rejected because of Redux.', 'redux-framework'), 'https://docs.reduxframework.com/core/wordpress-org-submissions/') . '</div>';
             $ret = false;
         } else {
             // TODO Granular WP.org tests!!!
             // Check for Tracking
             checkcount();
             $tracking = $redux['dir'] . 'inc/tracking.php';
             if (file_exists($tracking)) {
                 $this->error[] = '<div class="redux-error">' . sprintf(__('<span class="tc-lead tc-required">REQUIRED</span>: You MUST delete <strong> %s </strong>, or your theme will be rejected by WP.org theme submission because of Redux.', 'redux-framework'), $tracking) . '</div>';
                 $ret = false;
             }
             // Embedded CDN package
             //use_cdn
             // Arguments
             checkcount();
             $args = '<ol>';
             $args .= "<li><code>'save_defaults' => false</code></li>";
             $args .= "<li><code>'use_cdn' => false</code></li>";
             $args .= "<li><code>'customizer_only' => true</code> Non-Customizer Based Panels are Prohibited within WP.org Themes</li>";
             $args .= "<li><code>'database' => 'theme_mods'</code> (" . __('Optional', 'redux-framework') . ")</li>";
             $args .= '</ol>';
             $this->error[] = '<div class="redux-error">' . __('<span class="tc-lead tc-recommended">RECOMMENDED</span>: The following arguments MUST be used for WP.org submissions, or you will be rejected because of your Redux configuration.', 'redux-framework') . $args . '</div>';
         }
     }
     return $ret;
 }
 /**
  * Return the Redux path info, if had.
  *
  * @since     1.0.0
  * @return    object    A single instance of this class.
  */
 public static function get_redux_details($php_files = array())
 {
     if (self::$redux_details === null) {
         foreach ($php_files as $php_key => $phpfile) {
             if (strpos($phpfile, 'class' . ' ReduxFramework {') !== false) {
                 self::$redux_details = array('filename' => strtolower(basename($php_key)), 'path' => $php_key);
                 self::$redux_details['dir'] = str_replace(basename($php_key), '', $php_key);
                 self::$redux_details['parent_dir'] = str_replace(basename(self::$redux_details['dir']) . '/', '', self::$redux_details['dir']);
             }
         }
     }
     if (self::$redux_details === null) {
         self::$redux_details = false;
     }
     return self::$redux_details;
 }