\n"; // node settings: $output .= "

Node settings

\n"; $output .= form_select(t("Default number of nodes to display"), "default_nodes_main", variable_get(default_nodes_main, 10), array(10 => 10, 15 => 15, 20 => 20, 25 => 25, 30 => 30), t("The default maximum number of nodes to display on the main page.")); $output .= "
\n"; // comment settings: $output .= "

Comment settings

\n"; $output .= form_select(t("Default display mode"), "default_comment_mode", $conf[default_comment_mode], $cmodes, t("The default mode in which comments are displayed.")); $output .= form_select(t("Default display order"), "default_comment_order", $conf[default_comment_order], $corder, t("The default order in which comments are displayed.")); for ($count = -1; $count < 6; $count++) $threshold[$count] = t("Filter") ." - $count"; $output .= form_select(t("Default filter threshold"), "default_comment_threshold", $conf[default_comment_threshold], $threshold, t("The default threshold used to filter comments.")); $output .= "
\n"; // submission settings: $output .= "

Submission settings

\n"; $size = array(1000 => "1.000 characters", 5000 => "5.000 characters", 10000 => "10.000 characters", 15000 => "15.000 characters", 30.000 => "30.000 characters", 50000 => "50.000 characters", 100000 => "100.000 characters"); $output .= form_select(t("Maximum submission size"), "max_input_size", variable_get(max_input_size, 10000), $size, t("The maximum number of characters someone can enter in a form.")); $rate = array(1 => "Maximum 1 every second", 5 => "Maximum 1 every 5 seconds", 15 => "Maximum 1 every 15 seconds", 30 => "Maximum 1 every 30 seconds", 60 => "Maximum 1 every minute", 300 => "Maximum 1 every 5 minutes", 900 => "Maximum 1 every 15 minutes", 1800 => "Maximum 1 every 30 minutes", 3600 => "Maximum 1 every hour", 21600 => "Maximum 1 every 6 hour", 43200 => "Maximum 1 every 12 hour"); $output .= form_select(t("Maximum node rate"), "max_node_rate", variable_get(max_node_rate, 900), $rate, t("The maximum submission rate for nodes. Its purpose is to stop potential abuse or denial of service attacks.")); $output .= form_select(t("Maximum comment rate"), "max_comment_rate", variable_get(max_comment_rate, 120), $rate, t("The maximum submission rate for comments. Its purpose is to stop potential abuse or denial of service attacks.")); $output .= "
\n"; // theme settings: $output .= "

Theme settings

\n"; foreach ($themes as $key=>$value) $options .= "\n"; $output .= form_item(t("Default theme"), "", t("The default theme as seen by new visitors and anonymous users.")); $output .= "
\n"; // development settings: $output .= "

Development settings

\n"; $output .= form_select(t("Display timings"), "dev_timing", variable_get(dev_timing, 0), array("Disabled", "Enabled"), t("Display the time it took to generate a page: for drupal development only.")); return $output; } function setting_modules() { foreach (module_list() as $name) { if (module_hook($name, "conf")) { $output .= "

". ucfirst($name) ." module

\n"; $output .= module_invoke($name, "conf"); $output .= "
\n"; } } return $output; } function settings_save($edit) { global $conf; // save all variables: if ($edit) { db_query("DELETE FROM variable"); foreach ($edit as $name=>$value) db_query("INSERT INTO variable (name, value) VALUES ('". check_input($name) ."', '". check_input($value) ."')"); } // update context: $conf = variable_init(); return "all settings have been saved."; } function settings_default() { db_query("DELETE FROM variable"); return "all settings have been reset to their default value."; } function settings_overview() { global $settings; $form .= setting_modules(); $form .= form_submit("Save settings"); $form .= form_submit("Reset to defaults"); return form("admin.php?mod=settings", $form); } function settings_admin() { global $edit, $op; switch ($op) { case "Reset to defaults": print status(settings_default($edit)); break; case "Save settings": print status(settings_save($edit)); break; } print settings_overview(); } ?>