From 2ee55372589ca636d1c8dd54603d966cf7cdc341 Mon Sep 17 00:00:00 2001 From: Andrew McMillan Date: Wed, 10 Mar 2010 22:44:32 +1300 Subject: [PATCH] Starting work on a PHP database upgrader. --- htdocs/upgrade.php | 87 ++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 76 insertions(+), 11 deletions(-) diff --git a/htdocs/upgrade.php b/htdocs/upgrade.php index c57375a7..ce03571b 100644 --- a/htdocs/upgrade.php +++ b/htdocs/upgrade.php @@ -1,21 +1,14 @@ LoginRequired(); +$session->LoginRequired('Admin'); include("interactive-page.php"); -include("page-header.php"); - echo <<Upgrade + $page_elements = array(); + $page_elements[] = <<Upgrade Database

Currently this page does nothing. Suggestions or patches to make it do something useful will be gratefully received.
  @@ -28,4 +21,76 @@ manually after upgrading the software to a new version of DAViCal.

script, but until then I'm afraid you do need to run it. EOBODY; + + +include("classEditor.php"); +include("AwlUpgrader.php"); + +$editor = new Editor(translate('Upgrade Database')); +$editor->AddField('dbhost', "''"); +$editor->AddField('dbport', "''"); +$editor->AddField('dbname', "'davical'"); +$editor->AddField('dbuser', "'davical_dba'"); +$editor->AddField('dbpass', "''"); +$editor->AddField('app_user', "'davical_app'"); +$editor->AddField('apply_patches', "'t'"); +$editor->AddField('owner', "davical_dba"); + +$prompt_dbname = translate('Database Name'); +$prompt_dbuser = translate('Database Username'); +$prompt_dbpass = translate('Database Password'); +$prompt_dbport = translate('Database Port'); +$prompt_dbhost = translate('Database Host'); + +$prompt_app_user = translate('Application DB User'); +$prompt_do_patch = translate('Apply DB Patches'); +$prompt_owner = translate('Database Owner'); + +$template = << + Connection Parameters + $prompt_dbhost: ##dbhost.input.20## + $prompt_dbport: ##dbport.input.5## + $prompt_dbname: ##dbname.input.20## + $prompt_dbuser: ##dbuser.input.20## + $prompt_dbpass: ##dbpass.password.20## + Operation Parameters + $prompt_app_user: ##app_user.input.20## + $prompt_do_patch: ##apply_patches.checkbox## + $prompt_owner: ##owner.input.20## + ##submit## + + + +EOTEMPLATE; + + +$editor->SetTemplate( $template ); +$page_elements[] = $editor; + +$c->stylesheets[] = 'css/edit.css'; + +include("page-header.php"); + +/** +* Page elements could be an array of viewers, browsers or something else +* that supports the Render() method... or a non-object which we assume is +* just a string of text that we echo. +*/ +$heading_level = null; +foreach( $page_elements AS $k => $page_element ) { + if ( is_object($page_element) ) { + echo $page_element->Render($heading_level); + $heading_level = 'h2'; + } + else { + echo $page_element; + } +} + +if (function_exists("post_render_function")) { + post_render_function(); +} + include("page-footer.php");