| 1 |
<?php |
| 2 |
namespace IfSo\Addons\Base; |
| 3 |
require_once (__DIR__ . '/extension-initializer-base.class.php'); |
| 4 |
require_once (__DIR__ . '/extension-main-base.class.php'); |
| 5 |
|
| 6 |
class Extension{ |
| 7 |
protected static $instance; |
| 8 |
protected $default_initializer; |
| 9 |
|
| 10 |
public function __construct($plugin_main_class=null,$custom_init=null){ |
| 11 |
$this->set_default_initializer(); |
| 12 |
if($plugin_main_class!==null && class_exists($plugin_main_class)){ |
| 13 |
$main = $plugin_main_class::get_instance(); |
| 14 |
$upd_settings = $main->get_update_settings(); |
| 15 |
if($custom_init!==null) |
| 16 |
$init = new $custom_init($main,$upd_settings); |
| 17 |
else |
| 18 |
$init = new $this->default_initializer($main,$upd_settings); |
| 19 |
} |
| 20 |
} |
| 21 |
|
| 22 |
protected function set_default_initializer(){ |
| 23 |
$this->default_initializer = ExtensionInitializer::class; |
| 24 |
} |
| 25 |
} |
| 26 |
|
| 27 |
class UpdateSettings{ |
| 28 |
public $url; |
| 29 |
public $slug; |
| 30 |
public $main_file; |
| 31 |
public function __construct($slug,$url,$main_file){ |
| 32 |
$this->url=$url; |
| 33 |
$this->slug=$slug; |
| 34 |
$this->main_file = $main_file; |
| 35 |
} |
| 36 |
} |