: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
abstract class Model_Asset {
protected $registered = false;
public function __construct($handle, $source = '', $dependencies = array(), $version = false) {
$this->dependencies = $dependencies;
$this->version = $version;
public function getSourceUrl() {
if (empty($this->source))
if (is_string($this->version))
$url = add_query_arg('ver', $this->version, $this->source);
public abstract function enqueue();
public abstract function isEnqueued();
public abstract function renderInline();
public function renderInlineIfNotEnqueued() {
if (!$this->isEnqueued())
public function setRegistered() {
$this->registered = true;
public function register() {
return $this->setRegistered();
public static function js($file) {
return self::_pluginBaseURL() . 'js/' . self::_versionedFileName($file);
public static function css($file) {
return self::_pluginBaseURL() . 'css/' . self::_versionedFileName($file);
public static function img($file) {
return self::_pluginBaseURL() . 'img/' . $file;
protected static function _pluginBaseURL() {
return plugins_url('', WORDFENCE_LS_FCPATH) . '/';
protected static function _versionedFileName($subpath) {
$version = WORDFENCE_LS_BUILD_NUMBER;
if ($version != 'WORDFENCE_LS_BUILD_NUMBER' && preg_match('/^(.+?)(\.[^\.]+)$/', $subpath, $matches)) {
return $prefix . '.' . $version . $suffix;
public static function create($handle, $source = '', $dependencies = array(), $version = false) {
return new static($handle, $source, $dependencies, $version);