Index: /drupal/modules/iutilities/trunk/iutilities.module =================================================================== --- /drupal/modules/iutilities/trunk/iutilities.module (revision 25) +++ /drupal/modules/iutilities/trunk/iutilities.module (revision 26) @@ -7,5 +7,24 @@ function iutilities_admin() { - $form['disk_space_limit'] = array( + $form['i_general'] = array( + '#type' => 'fieldset', + '#title' => 'General Settings', + '#description' => 'The settings apply to all the utilities below.', + ); + $form['i_general']['email_warnings_role'] = array( + '#type' => 'textfield', + '#title' => t('Role to receive warning emails'), + '#default_value' => variable_get('email_warnings_role', 'site administrator'), + '#size' => 20, + '#maxlength' => 25, + '#description' => t("The role entered here here will receive warning messages by email."), + '#required' => TRUE, + ); + $form['i_diskspace'] = array( + '#type' => 'fieldset', + '#title' => 'Disk Space Usage Settings', + '#description' => 'These settings apply to disk usage on this site.', + ); + $form['i_diskspace']['disk_space_limit'] = array( '#type' => 'textfield', '#title' => t('Maximum space allowed'), @@ -17,13 +36,60 @@ '#required' => TRUE, ); - $form['disk_space_warnings_role'] = array( - '#type' => 'textfield', - '#title' => t('Role to receive warning emails'), - '#default_value' => variable_get('disk_space_warnings_role', 'site administrator'), - '#size' => 20, - '#maxlength' => 25, - '#description' => t("The role entered here here will receive warning messages by email should the site exceed the space limitations."), - '#required' => TRUE, - ); + $form['i_hostingdate'] = array( + '#type' => 'fieldset', + '#title' => 'Hosting date settings.', + '#description' => 'These settings apply to the length and expiry of hosting contracts.', + ); + $next_year = time() + 31556926; + $now = time(); + $expiry_date = variable_get('hosting_expiry_date', $next_year); + $start_date = variable_get('hosting_start_date',$now); + $form['i_hostingdate']['hosting_start_date'] = array( + '#type' => 'date', + '#title' => t('Hosting start date.'), + '#default_value' => array( + 'month' => format_date($start_date, 'custom', 'n'), + 'day' => format_date($start_date, 'custom', 'j'), + 'year' => format_date($start_date, 'custom', 'Y'), + ), + '#description' => t("Hosting for this site began on the date here. This should not be changed once set."), + '#required' => TRUE, + ); + $form['i_hostingdate']['hosting_expiry_date'] = array( + '#type' => 'date', + '#title' => t('Hosting expiry date.'), + '#default_value' => array( + 'month' => format_date($expiry_date, 'custom', 'n'), + 'day' => format_date($expiry_date, 'custom', 'j'), + 'year' => format_date($expiry_date, 'custom', 'Y'), + ), + '#description' => t("Hosting for this site expires on the date here. Users with the role defined above will recieve reminder emails when the renewal date approaches"), + '#required' => TRUE, + ); + $hosting_term_period = drupal_map_assoc( + array( + 31536000, + 2*31536000, + 3*31536000, + 4*31536000, + 5*31536000, + 6*31536000, + 7*31536000, + 8*31536000, + 9*31536000, + 10*31536000, + 11*31536000, + 12*31536000 + ), 'format_interval' + ); + $form['i_hostingdate']['hosting_term'] = array( + '#type' => 'select', + '#title' => t('Web hosting term'), + '#default_value' => variable_get('hosting_term', 31536000), + '#options' => $hosting_term_period, + '#description' => t(""), + '#required' => TRUE, + ); + return system_settings_form($form); } @@ -45,7 +111,7 @@ if ( $space_used > $disk_space_limit && ($time_last_email==0 || $time_since_email > 604799) ) { $site_default_language = language_default(); - $disk_space_warnings_role = variable_get('disk_space_warnings_role', 'site administrator'); + $email_warnings_role = variable_get('email_warnings_role', 'site administrator'); $users_with_role_query = "select u.mail from {users} u inner join {users_roles} ur on u.uid=ur.uid inner join {role} r on r.rid=ur.rid where r.name='%s'"; - $result = db_query(db_rewrite_sql($users_with_role_query),$disk_space_warnings_role); + $result = db_query(db_rewrite_sql($users_with_role_query),$email_warnings_role); while ($data = db_fetch_object($result)) { drupal_mail('iutilities', 'warning', $data->mail, $site_default_language, $params); @@ -78,7 +144,7 @@ 'page callback' => 'display_diskusage_report', ); - $items['admin/settings/diskusage'] = array( - 'title' => 'Set Disk Usage Defaults', - 'description' => 'The default 150MB space allowance set by illuminate ICT can be increased here.', + $items['admin/settings/illuminate'] = array( + 'title' => 'Set Hosting Defaults', + 'description' => 'Hosting defaults can be changed here.', 'access callback' => 'access_disk_usage_settings', 'access arguments' => array('access disk usage settings'),