class mw_env_data_upgrade extends mw_env{
- var $data_upgrades;
- var $UPGRADE_REQUIRED;
+ public $data_upgrades;
+ public $UPGRADE_REQUIRED;
- function data_upgrades(){
+ public function data_upgrades(){
return $this->data_upgrades;
}
- function init_data_upgrades(){
+ public function init_data_upgrades(){
$impl_dir = ($this->bdd("sgbd") == "xml" ? "xml" : "sql")."/";
$versions_dir = $this->path("mw_dir")."app/data/upgrades/".$impl_dir;
if(is_dir($versions_dir)){
return true;
}
- function data_upgrade_required($RELOAD = false){
+ public function data_upgrade_required($RELOAD = false){
if(!isset($this->data_upgrades)){
if(($res = $this->init_data_upgrades()) !== true){
return $res;
return $this->UPGRADE_REQUIRED;
}
- function do_data_upgrade(){
+ public function do_data_upgrade(){
if(!isset($this->data_upgrades)) return false;
foreach($this->data_upgrades as $data_upgrade){
if($data_upgrade->upgrade_required() && ($res = $data_upgrade->do_upgrade()) !== true){
}
+ // -------------------------------------------------------------------------------------------
+ // class mw_data_upgrade
+ //
+
class mw_data_upgrade{
- var $application_name;
- var $versions;
- var $env;
+ public $application_name;
+ public $versions;
+ public $env;
- function mw_data_upgrade($env, $application_name){
+ public function __construct($env, $application_name){
$this->env = $env;
$this->application_name = $application_name;
}
- function env(){
+ public function env(){
return isset($this->env) ? $this->env : false;
}
- function load_versions($versions_dir){
+ public function load_versions($versions_dir){
if($dh = opendir($versions_dir)){
$versions_dir .= $versions_dir && substr($versions_dir, -1) != "/" ? "/" : "";
while(($file = readdir($dh)) !== false){
return true;
}
- function load_version($versions_dir, $version_file){
+ public function load_version($versions_dir, $version_file){
if(
!$version_file
|| !file_exists($versions_dir.$version_file)
return $this->add_version($version);
}
- function add_version($version){
+ public function add_version($version){
if(!$version->version()) return false;
if(!isset($this->versions)) $this->versions = array();
$tmp = array();
return true;
}
- function upgrade_required(){
+ public function upgrade_required(){
if(!isset($this->versions)) return false;
foreach($this->versions as $version){
if($version->upgrade_required()) return true;
return false;
}
- function do_upgrade(){
+ public function do_upgrade(){
if(!isset($this->versions)) return true;
foreach($this->versions as $version){
if($version->upgrade_required() && ($res = $version->do_upgrade()) !== true){
}
- class mw_data_version{
+ // -------------------------------------------------------------------------------------------
+ // class mw_data_version
+ //
- var $env;
- var $application_name;
+ abstract class mw_data_version{
- function version(){
- return false;
+ public $env;
+ public $application_name;
+
+ public function __construct($env, $application_name){
+ $this->env = $env;
+ $this->application_name = $application_name;
}
- function application_name(){
- return $this->application_name;
+ public function version(){
+ return false;
}
- function mw_data_version($env, $application_name){
- $this->env = $env;
- $this->application_name = $application_name;
+ public function application_name(){
+ return $this->application_name;
}
- function env(){
+ public function env(){
return isset($this->env) ? $this->env : false;
}
- function upgrade_required(){
+ public function upgrade_required(){
if(!isset($this->application_name)) return false;
if(!$this->version()) return false;
$env = $this->env();
return version_compare($data_version, $this->version()) < 0;
}
- function do_upgrade(){
+ public function do_upgrade(){
return true;
}
- function set_data_version(){
+ public function set_data_version(){
if(!isset($this->application_name)) return false;
if(!$this->version()) return false;
$env = $this->env();