"; $FormFile = "aliases.form.php"; $TitleText = getLanguageText('TEXT-EMAIL-ALIASES'); $OrderBy = "alias"; // Start the template and output buffering startTemplate(); $templatePageTitle = "$TitleText " . getLanguageText('TEXT-ADMINISTRATION'); // Ensure that only valid user types have access to this module $AllowedUserTypes = array('SuperUser','System Administrator','Communications Administrator'); if (checkPermission($AllowedUserTypes) != 1) { $error_message = getLanguageText('ERRORMSG-ACCESS-DENIED'); include "form.messages.php"; endTemplate(); exit(); } // Only schools with email processing enabled can access this program if ($school_record['email_processing'] != 'Y') { $error_message = getLanguageText('ERRORMSG-NO-ALIASES'); include "form.messages.php"; endTemplate(); exit(); } // Check that the email aliases file is defined $aliasesFile = $school_record['email_aliases_file']; if (strlen($aliasesFile) == 0) { $error_message = getLanguageText('ERRORMSG-NO-ALIASES-FILE'); include "form.messages.php"; endTemplate(); exit(); } // Check that the aliases file exists $aliasesDir = "/etc/exim/domains"; if (!is_file("$aliasesDir/$aliasesFile")) { $error_message = getLanguageText('ERRORMSG-NO-ALIASES-FILE'); include "form.messages.php"; endTemplate(); exit(); } if (array_key_exists('naction',$_GET)) $naction = $_GET['naction']; if (array_key_exists('naction',$_POST)) $naction = $_POST['naction']; $school_num = $school_record['record_num']; switch (strtolower($naction)) { case "add": $next_naction = "insert"; $active = 'Y'; include $FormFile; break; case "insert": extract($_POST); $alias = strtolower(preg_replace("/@.*/","",$alias)); $email_addresses = strtolower(str_replace(' ','',$email_addresses)); // Validate the data entered if (strlen($alias) == 0 || strlen($email_addresses) == 0) { $error_message = getLanguageText('ERRORMSG-INCOMPLETE-ALIAS'); $next_naction = "insert"; $active = 'Y'; include $FormFile; break; } $added_date = date("Y-m-d",time()); $updated_date = $added_date; // Save the record $table = new Table("$CurrentTable"); $query = $table->BuildInsert(); db_query($query); writeAliases(); $form_message = getLanguageText('RECORD-INSERTED-MSG'); $naction = 'list'; header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message)); exit(); case "edit": $next_naction = "update"; // Get current record $record_num = intval($_GET['record_num']); $query = "select * from $CurrentTable " . "where school_num = $school_num " . "and record_num = $record_num"; $results = db_query($query); if (db_num_rows($results) == 1) { $row = db_fetch_array($results); extract($row); include $FormFile; } else { $error_message = getLanguageText('ERRORMSG-NOT-FOUND'); $naction = 'list'; header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message)); exit(); } break; case "update": extract($_POST); $alias = strtolower(preg_replace("/@.*/","",$alias)); $email_addresses = str_replace(' ','',$email_addresses); $record_num = intval($record_num); // Validate the data entered if (strlen($alias) == 0 || strlen($email_addresses) == 0) { $error_message = getLanguageText('ERRORMSG-INCOMPLETE-ALIAS'); $PageTitle = getLanguageText('RECORD-UPDATE-ENTRY') . " $TitleText"; $ButtonText = $PageTitle; $next_naction = "edit"; $active = 'Y'; include $FormFile; break; } $updated_date = date("Y-m-d",time()); $table = new Table("$CurrentTable"); $query = $table->BuildUpdate(); db_query($query); writeAliases(); $form_message = getLanguageText('RECORD-UPDATED-MSG'); $naction = 'list'; header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message)); exit(); case "delete": $record_num = intval($_GET['record_num']); $query = "select * from $CurrentTable " . "where school_num = $school_num " . "and record_num = $record_num"; $results = db_query($query); if (db_num_rows($results) == 1) { $row = db_fetch_array($results); extract($row); $dFields = explode(",",$DeleteField); $dTitle = "$TitleText "; for ($i = 0; $i < count($dFields); $i++) { $dTitle .= $row[$dFields[$i]] . $dSeparator; } include "delete.form.php"; } else { $error_message = getLanguageText('ERRORMSG-NOT-FOUND'); $naction = 'list'; header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message)); exit(); } break; case "delete-confirmed": $record_num = intval($_GET['record_num']); // Delete the current record $query = "delete from $CurrentTable " . "where school_num = $school_num " . "and record_num = $record_num"; db_query($query); writeAliases(); $form_message = getLanguageText('RECORD-DELETED-MSG'); $naction = 'list'; header("Location: /?action=$action&naction=$naction&form_message=" . urlencode($form_message) . "&error_message=" . urlencode($error_message)); exit(); default: $naction = "list"; break; } // // List all records if naction is "list" // if ($naction == "list") { $scriptName = str_replace("/m/data1/app.hotlunches.net/","",__FILE__); include "help.docs.php"; // Get records to display $columnHeaders = array(getLanguageText('TEXT-ALIAS'), getLanguageText('TEXT-EMAIL-ADDRESSES'), getLanguageText('TEXT-DATE-ADDED'), getLanguageText('TEXT-DATE-UPDATED') ); $columnAlign = array("left","left","left","left"); $query = "select alias,email_addresses,added_date,updated_date,record_num " . "from email_aliases " . "where school_num = $school_num " . "order by alias"; $records = db_query($query); $results = array(); while ($row = db_fetch_array($records)) { $entry = array(); $entry[] = $row['alias']; if (strlen($row['email_addresses']) < 70) $entry[] = $row['email_addresses']; else $entry[] = substr($row['email_addresses'],0,70) . "..."; $entry[] = $row['added_date']; $entry[] = $row['updated_date']; $entry[] = $row['record_num']; $entry['record_num'] = $row['record_num']; $results[] = $entry; } $message_width = $default_data_width; include "form.messages.php"; echo("
$TitleText List
\n"); echo("