summaryrefslogtreecommitdiff
path: root/profiles
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2007-05-10 19:55:24 +0000
committerDries Buytaert <dries@buytaert.net>2007-05-10 19:55:24 +0000
commit258c653f56ce7dd7dddcbe7c3a46c678dcb79b36 (patch)
treea30e00872d523d70b1b1ff901b7d7717cc9f3937 /profiles
parent571013af8cac7f8c47bb8028495be2e0393d5150 (diff)
downloadbrdo-258c653f56ce7dd7dddcbe7c3a46c678dcb79b36.tar.gz
brdo-258c653f56ce7dd7dddcbe7c3a46c678dcb79b36.tar.bz2
- Patch #141637 by merlinofchaos, gabor, et al: provide a site config form at the end of install to collect data, plus allow profiles to modify and add more.
Diffstat (limited to 'profiles')
-rw-r--r--profiles/default/default.profile44
1 files changed, 41 insertions, 3 deletions
diff --git a/profiles/default/default.profile b/profiles/default/default.profile
index d80e15d6e..361d1f9ee 100644
--- a/profiles/default/default.profile
+++ b/profiles/default/default.profile
@@ -25,13 +25,48 @@ function default_profile_details() {
}
/**
+ * Return a list of tasks that this profile supports.
+ *
+ * @return
+ * A keyed array of tasks the profile will perform during the _final stage.
+ */
+function default_profile_task_list() {
+}
+
+/**
* Perform any final installation tasks for this profile.
*
+ * You can implement a state machine here to walk the user through
+ * more tasks, by setting $task to something other then the reserved
+ * 'configure', 'finished' and 'done' values. The installer goes
+ * through the configure-finished-done tasks in this order, if you
+ * don't modify $task. If you implement your custom tasks, this
+ * function will get called in every HTTP request (for form
+ * processing, printing your information screens and so on) until
+ * you advance to the 'finished' or 'done' tasks. Once ready with
+ * your profile's tasks, set $task to 'finished' and optionally
+ * return a final message to be included on the default final
+ * install page. Alternatively you can set $task to 'done' and
+ * return a completely custom finished page. In both cases, you
+ * hand the control back to the installer.
+ *
+ * Should a profile want to display a form here, it can; it should set
+ * the task using variable_set('install_task', 'new_task') and use
+ * the form technique used in install_tasks() rather than using
+ * drupal_get_form().
+ *
+ * @param $task
+ * The current $task of the install system. When hook_profile_final()
+ * is first called, this is 'configure' (the last built-in task of
+ * the Drupal installer).
+ *
* @return
- * An optional HTML string to display to the user on the final installation
- * screen.
+ * An optional HTML string to display to the user. Used as part of the
+ * completed page if $task is set to 'finished', or used to display a
+ * complete page in all other cases.
*/
-function default_profile_final() {
+function default_profile_final(&$task) {
+
// Insert default user-defined node types into the database. For a complete
// list of available node type attributes, refer to the node type API
// documentation at: http://api.drupal.org/api/HEAD/function/hook_node_info.
@@ -73,4 +108,7 @@ function default_profile_final() {
$theme_settings = variable_get('theme_settings', array());
$theme_settings['toggle_node_info_page'] = FALSE;
variable_set('theme_settings', $theme_settings);
+
+ // Let the installer know we're finished:
+ $task = 'finished';
}