37 if ( df_get_database_version() == df_get_file_system_version() ){
38 $app->redirect(DATAFACE_SITE_HREF.
'?--msg='.urlencode(
'The application database is up to date at version '.df_get_database_version()));
41 if ( df_get_database_version() > df_get_file_system_version() ){
42 $app->redirect(DATAFACE_SITE_HREF.
'?--msg='.urlencode(
'The database version is greater than the file system version. Please upgrade your application to match the version in the database (version '.df_get_database_version()));
45 $res = mysql_query(
"select count(*) from dataface__version", df_db());
47 throw new Exception(mysql_error(df_db()));
49 $row = mysql_fetch_row($res);
51 $res2 = mysql_query(
"insert into dataface__version (`version`) values (0)", df_db());
52 if ( !$res2 )
throw new Exception(mysql_error(df_db()));
55 if ( file_exists(
'conf/Installer.php') ){
56 import(
'conf/Installer.php');
59 $methods = get_class_methods(
'conf_Installer');
60 $methods = preg_grep(
'/^update_([0-9]+)$/', $methods);
64 foreach ($methods as $method){
65 preg_match(
'/^update_([0-9]+)$/', $method, $matches);
66 $version = intval($matches[1]);
67 if ( $version > df_get_database_version() and $version <= df_get_file_system_version() ){
68 $updates[] = $version;
74 foreach ($updates as $update ){
75 $method =
'update_'.$update;
78 $res = mysql_query(
"update dataface__version set `version`='".addslashes($update).
"'", df_db());
79 if ( !$res )
throw new Exception(mysql_error(df_db()), E_USER_ERROR);
87 $res = mysql_query(
"update dataface__version set `version`='".addslashes(df_get_file_system_version()).
"'", df_db());
88 if ( !$res )
throw new Exception(mysql_error(df_db()), E_USER_ERROR);
90 $app->redirect(DATAFACE_SITE_HREF.
'?--msg='.urlencode(
'The database has been successfully updated to version '.df_get_file_system_version()));