public function addJS($js_uri)
 {
     if (self::_isActive()) {
         if (!is_array($js_uri)) {
             $js_uri = array($js_uri);
         }
         foreach ($js_uri as &$uri) {
             if ($uri && !preg_match('/^http(s?):\\/\\//', $uri)) {
                 $proto = 'http://';
                 $uri = Tools::getMediaServer($uri, $proto) . $uri;
                 $uri = $proto . $uri;
             }
         }
     }
     return parent::addJS($js_uri);
 }
 /**
  * Add one or several JS files for front, checking if js files are overriden in theme/js/modules/ directory
  *
  * @see Controller::addJS()
  */
 public function addJS($js_uri)
 {
     require_once dirname(__FILE__) . '../../../../modules/designerpreview/defines.inc.php';
     if (!is_array($js_uri)) {
         $js_uri = array($js_uri);
     }
     foreach ($js_uri as $key => &$file) {
         if (!preg_match('/^http(s?):\\/\\//i', $file)) {
             $different = 0;
             $override_path = str_replace(__PS_BASE_URI__ . 'modules/', _PS_ROOT_DIR_ . '/themes/' . getThemeName() . '/js/modules/', $file, $different);
             if ($different && file_exists($override_path)) {
                 $file = str_replace(__PS_BASE_URI__ . 'modules/', __PS_BASE_URI__ . 'themes/' . getThemeName() . '/js/modules/', $file, $different);
             } else {
                 $override_path = str_replace(_THEME_JS_DIR_, _PS_ROOT_DIR_ . '/themes/' . getThemeName() . '/js/', $file, $different);
                 if ($different && file_exists($override_path)) {
                     $file = str_replace(_THEME_JS_DIR_, __PS_BASE_URI__ . 'themes/' . getThemeName() . '/js/', $file, $different);
                 }
             }
         }
     }
     return parent::addJS($js_uri);
 }