$edit_icon_small"; $commands[] = "$delete_icon_small"; // // Get data based on $action value // switch ($action) { case 'generic-table-list': // startLog("generic-table-list"); if (array_key_exists('table_name', $_GET)) $TableName = $_GET['table_name']; if (array_key_exists('actual_table_name', $_GET)) $ActualTableName = $_GET['actual_table_name']; if (array_key_exists('action-name', $_GET)) $action_name = db_escape_string($_GET['action-name']); if (!isset($TableName)) logExit("$TableName is not set"); if (isset($TableName)) writeLog("TableName: $TableName"); if (isset($action_name)) { writeLog("action_name: $action_name"); $query = "SELECT * FROM _form_actions WHERE action_name = '$action_name'"; writeLog($query); $results = db_query($query); $ActionRecord = db_fetch_assoc($results); } unset($query); $commands = array(); $commands[] = "$edit_icon_small"; $commands[] = "$delete_icon_small"; $orderBy = "1"; writeLog("Generic: $TableName"); switch ($TableName) { case 'form-actions': $columnFields = array('action_name', 'action_table_name', 'action_table_load_name', 'action_sortable_flag', 'action_searchable_flag', 'action_default_commands_flag'); $columnHeaders = array('Action Name', 'DB Table', 'DataTable Name', 'Sortable', 'Seach Field', 'Default Commands'); $columnAlign = array('left', 'left', 'left', 'center', 'center', 'center'); $cwhere = ""; $orderBy = "action_name"; $commands[] = "$file_icon_small"; $commands[] = "$users_icon_small"; $commands[] = "$web_icon_small"; $query = "SELECT * FROM _form_actions ORDER BY action_name"; break; case 'form-fields': if (array_key_exists('current_form_action', $_GET)) $action_name = db_escape_string($_GET['current_form_action']); if (!isset($action_name)) { logExit("action_name is not set"); } // Validate the sction_name $query = "SELECT * FROM _form_actions WHERE action_name = '$action_name'"; writeLog($query); $action_record = db_getVal($query); if (!is_array($action_record)) { logExit("action_name is invalid: $action_name"); } $query = "SELECT count(*) FROM _form_fields WHERE action_name = '$action_name'"; $num = db_getVal($query); writeLog("Num Fields Found: $num"); if ($num == 0) { writeLog("action_table_name: ".$action_record['action_table_name']); $table = new Table($action_record['action_table_name']); $form_fields = new Table('_form_fields'); for ($i = 0; $i < count($table->column_names); $i++) { $fname = $table->column_names[$i]; $ftype = $table->column_types[$i]; $fvalues = $table->column_values[$i]; $fdefault = $table->column_defaults[$i]; $flength = 0; if ($fname == 'school_num') continue; if ($fname == 'record_num') continue; switch ($ftype) { case 'text': $ftype = 'textbox'; $flength = 60; break; case 'varchar': case 'int': case 'smallint': case 'decimal': $ftype = 'text'; $flength = 20; break; case 'enum': $ftype = 'select'; if ($fvalues == "'Y','N'") $fvalues = 'YN'; break; } if ($fname == 'sequence') $ftype = 'hidden'; $entry = array(); $entry['action_name'] = $action_name; $entry['action_fields_column_name'] = $fname; $entry['action_fields_screen_field_type'] = $ftype; $entry['action_fields_field_prompt'] = "TEXT-".strtoupper(str_replace('_','-',$fname)); $entry['action_fields_text_length'] = $flength; $entry['action_fields_insert_active_flag'] = 'Y'; $entry['action_fields_update_active_flag'] = 'Y'; $entry['action_fields_required_field_flag'] = 'N'; $entry['action_fields_default_field_value'] = $fdefault; $entry['action_fields_select_options'] = $fvalues; $entry['action_fields_report_alignment'] = 'left'; $entry['sequence'] = $i; $query = $form_fields->BuildInsert($entry); db_query($query); } } $columnFields = array('action_fields_column_name','action_fields_screen_field_type','action_fields_report_sequence', 'action_fields_insert_active_flag','action_fields_update_active_flag','action_fields_required_field_flag'); $columnHeaders = array('Column Name','Type','Report','Insert Active','Update Active','Required'); $columnAlign = array('left','left','center','center','center','center'); $cwhere = ""; $orderBy = "sequence, action_name"; $query = "SELECT * FROM _form_fields WHERE action_name = '$action_name' ORDER BY sequence, action_name, action_fields_column_name"; break; case 'form-permissions': if (array_key_exists('current_form_action', $_GET)) $action_name = db_escape_string($_GET['current_form_action']); $query = "SELECT * FROM _form_permission WHERE action_name = '$action_name' ORDER BY record_num"; writeLog($query); $results = db_query($query); if (db_num_rows($results) == 0) { $table = new Table('_form_permission'); $options = GetFileListArray("user_types.txt", "", ""); $entry = array(); $entry['action_name'] = $action_name; foreach ($options AS $value => $option) { $utype = $option; $entry['action_permission_user_type'] = $utype; $entry['action_permission_allowed'] = 'N'; switch ($utype) { case 'System Administrator': case 'Application Administrator': $entry['action_permission_allowed'] = 'Y'; break; } $query = $table->BuildInsert($entry); writeLog($query); db_query($query); } $query = "SELECT * FROM _form_permission WHERE action_name = '$action_name' ORDER BY record_num"; writeLog($query); $results = db_query($query); } $columnFields = array('action_name','action_permission_user_type','action_permission_allowed'); $columnHeaders = array('Action Name','User Type','Access Allowed'); $columnAlign = array('left','left','center'); $data = array(); while ($row = db_fetch_assoc($results)) { $entry = array(); $entry[] = $row['action_name']; $entry[] = $row['action_permission_user_type']; $entry[] = $row['action_permission_allowed']; $entry['record_num'] = $row['record_num']; $data[] = $entry; } $action = ''; $totals = array(); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); echo(json_encode($return_data)); exit(); break; case 'staff-people': $columnFields = array('first_name','last_name','user_num','staff_category','class_num'); $columnHeaders = array(getLanguageText('TEXT-FIRST-NAME'), getLanguageText('TEXT-LAST-NAME'), getLanguageText('TEXT-USER-ID'), getLanguageText('TEXT-CATEGORY'), $GlobalText['Class'], ); $columnAlign = array('left','left','left','left','center'); if ($school_record['special_item_prices'] != 'N') { $columnFields[] = 'menu_price_category'; $columnHeaders[] = getLanguageText('TEXT-MENU-PRICE-CATEGORY'); $columnAlign[] = 'center'; } if ($school_record['implement_multiple_item_prices'] != 'N') { $columnFields[] = 'access_to_multiple_item_prices'; $columnHeaders[] = getLanguageText('TEXT-ACCESS-TO-FLEX-PRICES'); $columnAlign[] = 'center'; } $cwhere = " AND people_type = 'Staff' "; $orderBy = "last_name,first_name"; if (array_key_exists('sort-field', $_GET)) $orderBy = db_escape_string($_GET['sort-field']); if (array_key_exists('sort-order', $_GET)) $orderBy .= ' '.db_escape_string($_GET['sort-order']); unset($query); break; case 'classes': $columnFields = array(); $columnHeaders = array(); $columnAlign = array(); if ($school_record['p_display_division'] != 'N' || $school_record['i_display_division'] != 'N') { $columnFields[] = 'division'; $columnHeaders[] = $school_record['division_class_num_text']; $columnAlign[] = 'center'; } if ($school_record['p_display_grade'] != 'N' || $school_record['i_display_grade'] != 'N') { $columnFields[] = 'grade'; $columnHeaders[] = getLanguageText('TEXT-GRADE'); $columnAlign[] = 'center'; } if ($school_record['p_display_program'] != 'N' || $school_record['i_display_program'] != 'N') { $columnFields[] = 'class_program'; $columnHeaders[] = getLanguageText('TEXT-PROGRAM'); $columnAlign[] = 'center'; } $columnFields[] = 'description'; $columnHeaders[] = getLanguageText('TEXT-DESCRIPTION'); $columnAlign[] = 'left'; $columnFields[] = 'label_description'; $columnHeaders[] = getLanguageText('TEXT-LABEL-DESCRIPTION'); $columnAlign[] = 'left'; $columnFields[] = 'default_price_category'; $columnHeaders[] = getLanguageText('TEXT-DEFAULT-PRICE-CATEGORY'); $columnAlign[] = 'center'; for ($i = 0; $i < count($columnFields); $i++) { $fname = $columnFields[$i]; writeLog($fname); } $orderBy = "sequence"; $cwhere = ""; if (array_key_exists('custom-where', $_GET)) $cwhere .= $_GET['custom-where']; writeLog("cwhere: $cwhere"); if (array_key_exists('cwhere', $_GET)) $cwhere .= $_GET['cwhere']; writeLog("cwhere: $cwhere"); unset($query); break; default: if (array_key_exists('action-name', $_GET)) $action_name = db_escape_string($_GET['action-name']); $query = "SELECT * FROM _form_fields " . "WHERE action_name = '$action_name' " . "AND action_fields_report_sequence > 0 " . "ORDER BY action_fields_report_sequence, sequence"; $results = db_query($query); if (db_num_rows($results) == 0) { $return_data['content'] = "No Report Fields Defined for : $action_name"; echo(json_encode($return_data)); exit(); } $columnFields = array(); $columnTypes = array(); $columnHeaders = array(); $columnAlign = array(); unset($orderBy); while ($row = db_fetch_assoc($results)) { $fname = $row['action_fields_column_name']; $skip = false; switch ($fname) { case 'menu_price_category': if ($school_record['special_item_prices'] == 'N') $skip = true; break; } if ($skip) continue; writeLog("school_record['special_item_prices']: ".$school_record['special_item_prices']); writeLog("Default: $fname"); $columnFields[] = $fname; $columnTypes[] = $row['action_fields_screen_field_type']; $columnAlign[] = $row['action_fields_report_alignment']; $header = $row['action_fields_field_prompt']; if (strpos($header, 'TEXT-') === 0) $header = getLanguageText($header); if (strpos($header, 'GlobalText.') === 0) { $pindex = str_replace('GlobalText.','',$header); $header = $GlobalText[$pindex]; } $columnHeaders[] = $header; if (!isset($orderBy)) $orderBy = $row['action_fields_column_name']; } writeLog("ActionRecord['action_sort_fields']: ".$ActionRecord['action_sort_fields']); if (strlen($ActionRecord['action_sort_fields'])) $orderBy = $ActionRecord['action_sort_fields']; if (array_key_exists('sort-field', $_GET)) $orderBy = db_escape_string($_GET['sort-field']); if (array_key_exists('sort-order', $_GET)) $orderBy .= ' '.db_escape_string($_GET['sort-order']); if ($sequence_flag == 'Y') $orderBy = "sequence"; $cwhere = ""; if (array_key_exists('custom-where', $_GET)) $cwhere .= $_GET['custom-where']; writeLog("cwhere: $cwhere"); if (array_key_exists('cwhere', $_GET)) $cwhere .= $_GET['cwhere']; writeLog("cwhere: $cwhere"); $cwhere = str_ireplace('where','',$cwhere); $cwhere = str_ireplace(';','',$cwhere); writeLog("cwhere: $cwhere"); unset($query); break; } if (!isset($ActualTableName)) $ActualTableName = $TableName; if (!isset($cwhere)) $cwhere = ""; if (!isset($query)) { $table = new Table($ActualTableName); writeLog("orderBy: $orderBy"); if ($table->school_num_flag == 'Y') $query = "SELECT * FROM $ActualTableName WHERE school_num = $school_num $cwhere ORDER BY $orderBy"; else $query = "SELECT * FROM $ActualTableName WHERE 1 = 1 $cwhere ORDER BY $orderBy"; } writeLog("$TableName query: $query"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); if ($return_data['num_records'] > 0) { $data = array(); while ($row = db_fetch_assoc($results)) { $entry = array(); for ($i = 0; $i < count($columnFields); $i++) { $fname = $columnFields[$i]; $ftype = $columnTypes[$i]; if (! array_key_exists($fname, $row)) { writeLog("fname error: $ActualTableName - $fname"); continue; } $fdata = $row[$fname]; $fkey = $action_name.'.'.$fname; unset($odata); if (isset($LookupArrays) && array_key_exists($fkey, $LookupArrays)) { $odata = $fdata; if (array_key_exists($fdata, $LookupArrays[$fkey])) $fdata = $LookupArrays[$fkey][$fdata]; else $fdata = ""; } if (strlen($fdata) && $ftype == 'money') { $fdata = '$'.number_format(floatval($fdata), 2); } if (array_key_exists('record_num',$row)) { $rnum = $row['record_num']; if ($i == 0) $fdata = "$fdata"; else { $span_name = str_replace('_','-',$fname).'-data-span'; $id = str_replace('_','-',$fname).'-data-span-id-'.$rnum; $stext = ""; if (isset($odata)) $stext = " ref-num='$odata'"; $fdata = "$fdata"; } } $entry[] = $fdata; } if (array_key_exists('record_num',$row)) $entry['record_num'] = $row['record_num']; $data[] = $entry; } $action = ''; if (!isset($totals)) $totals = array(); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); } else { writeLog("No Records"); $return_data['content'] = "
--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; echo(json_encode($return_data)); exit(); } // writeLog($return_data['content']); writeLog("end of generic-table-list"); break; case 'polls': // Setup format $columnHeaders = array(getLanguageText('TEXT-TITLE'), getLanguageText('TEXT-QUESTIONS'), getLanguageText('TEXT-ANSWERS'), ); $columnAlign = array('left','center','center'); // Get records to display $query = "SELECT * FROM polls WHERE school_num = $school_num ORDER BY sequence"; writeLog("query: $query\n"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); if (strlen(trim($description))) $description = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'delivery-groups': // Setup format $columnHeaders = array(getLanguageText('TEXT-GROUP'), getLanguageText('TEXT-TITLE'), getLanguageText('TEXT-CLASSES'), ); $columnAlign = array('center','center','center'); // Get records to display $query = "SELECT * FROM delivery_groups WHERE school_num = $school_num ORDER BY sequence,group_id"; writeLog("query: $query\n"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); $delete_flag = 'Y'; $numEntries = db_getVal("SELECT count(*) FROM classes WHERE school_num = $school_num AND delivery_group = '$group_id'"); if ($numEntries) $delete_flag = 'N'; $data[] = array($group_id, $group_title, $numEntries, "record_num" => $record_num, "delete_flag" => $delete_flag); } // Commands $commands = array(); $commands[] = "$edit_icon_small"; $commands[] = "$delete_icon_small"; if (isset($table_id) && strlen($table_id)) $customTableID = $table_id; $TableWidth = 450; if (!isset($totals)) $totals = array(); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); } else { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'student-categories': // Setup format $columnHeaders = array(getLanguageText('TEXT-CATEGORY'), getLanguageText('TEXT-NUMBER'), ); $columnAlign = array('left','center','center'); // Get records to display $query = "SELECT * FROM student_categories WHERE school_num = $school_num ORDER BY sequence"; writeLog("query: $query\n"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); $warnings = ""; if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); $numEntries = db_getVal("SELECT count(*) FROM people_categories WHERE school_num = $school_num AND category_num = $record_num"); $warnings .= "\n"; if (!isset($delete_flag)) $delete_flag = 'Y'; if ($numEntries > 0) $delete_flag = 'N'; $data[] = array($category, $numEntries, "record_num" => $record_num, "delete_flag" => $delete_flag); } // Commands $commands = array(); $commands[] = "$edit_icon_small"; $commands[] = "$delete_icon_small"; $commands[] = "$students_icon_small"; // $commands[] = "$view_icon_small"; if (isset($table_id) && strlen($table_id)) $customTableID = $table_id; $TableWidth = 450; if (!isset($totals)) $totals = array(); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); $return_data['content'] .= $warnings; } else { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'staff-categories': // Setup format $columnHeaders = array(getLanguageText('TEXT-CATEGORY'), getLanguageText('TEXT-NUMBER'), getLanguageText('TEXT-DEFAULT'), ); $columnAlign = array('left','center','center'); // Get records to display $query = "SELECT * FROM staff_categories WHERE school_num = $school_num ORDER BY sequence"; writeLog("query: $query\n"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); $delete_flag = 'Y'; $numEntries = db_getVal("SELECT count(*) FROM people WHERE school_num = $base_school_num AND people_type = 'Staff' AND staff_category = $record_num"); if ($numEntries) $delete_flag = 'N'; if (!isset($is_default)) $is_default = ''; $data[] = array($category_title, $numEntries, "$is_default", "record_num" => $record_num, "delete_flag" => $delete_flag); } // Commands $commands = array(); $commands[] = "$edit_icon_small"; $commands[] = "$delete_icon_small"; if (isset($table_id) && strlen($table_id)) $customTableID = $table_id; $TableWidth = 450; if (!isset($totals)) $totals = array(); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); } else { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'staff-list': // Are staff categories in use $nCategories = db_getVal("SELECT count(*) FROM people WHERE school_num = $school_num AND people_type = 'Staff' AND staff_category > 0"); // Setup format $columnHeaders = array(); $columnHeaders[] = getLanguageText('TEXT-NAME'); if ($nCategories > 0) $columnHeaders[] = getLanguageText('TEXT-CATEGORY'); $columnHeaders[] = getLanguageText('TEXT-USER-ID'); $columnHeaders[] = getLanguageText('TEXT-CLASS'); $columnAlign = array(); $columnAlign[] = 'left'; if ($nCategories > 0) $columnAlign[] = 'center'; $columnAlign[] = 'left'; $columnAlign[] = 'left'; if ($school_record['special_item_prices'] != 'N') { $columnHeaders[] = getLanguageText('TEXT-MENU-PRICE-CATEGORY'); $columnAlign[] = "center"; } $div_text = $school_record['division_class_num_text']; $query = "SELECT p.*,category_title " . "FROM people AS p LEFT JOIN staff_categories AS sc ON (sc.school_num = $school_num AND sc.record_num = p.staff_category) " . "WHERE p.school_num = $base_school_num " . "AND people_type = 'Staff' " . "ORDER BY last_name,first_name"; writeLog("query: $query\n"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); // Format the name if (strlen($title)) $name = "$title $first_name $last_name"; else $name = "$first_name $last_name"; // Get and format userid $userid = ''; $ruser = db_query("SELECT * FROM users WHERE school_num = $base_school_num AND record_num = $user_num"); if (db_num_rows($ruser)) { $user = db_fetch_assoc($ruser); $userid = $user['userid']; $userid = "$userid"; // If there is an email address create a link for the name field if (strlen($user['email']) && strstr($user['email'],'@')) { $name = "$name"; } } $numOrders = 0; $numOrders = db_getVal("SELECT count(*) FROM hotlunch_order_header WHERE school_num = $school_num AND ordered_by_num = $record_num"); if ($numOrders > 0) $name .= " ($numOrders)"; if ($school_record['implement_meal_locations'] == 'Y') { $location = ""; if ($meal_location > 0) { if ($meal_location != $class_num) { $location = "" . db_getVal("SELECT description FROM classes WHERE school_num = $base_school_num AND record_num = $meal_location") . ""; } else { $location = "" . getLanguageText('TEXT-CLASSROOM') . ""; } } if (strlen($location)) $name .= "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'application-contacts': // Setup format $columnHeaders = array(getLanguageText('TEXT-NAME'), getLanguageText('TEXT-EMAIL'), getLanguageText('TEXT-PHONE'), getLanguageText('TEXT-CELL-PHONE'), getLanguageText('TEXT-POSITION'), ); $columnAlign = array('left','left','left','left','left'); // Get records to display $query = "SELECT contact_name,contact_email,contact_phone,contact_cell,contact_position,sequence,record_num " . "FROM school_contact_list " . "WHERE school_num = $school_num " . "ORDER BY sequence"; writeLog("query: $query\n"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); $num = db_num_rows($results); if ($num > 0) { $data = array(); while ($row = db_fetch_assoc($results)) { $delete_flag = 'Y'; if ($num == 1) $delete_flag = 'N'; $email = $row['contact_email']; $data[] = array( $row['contact_name'], "$email", $row['contact_phone'], $row['contact_cell'], $row['contact_position'], $row['sequence'], "record_num" => $row['record_num'], "delete_flag" => $delete_flag); } // Commands $commands = array(); $commands[] = "$edit_icon_small"; $commands[] = "$delete_icon_small"; if (isset($table_id) && strlen($table_id)) $customTableID = $table_id; $TableWidth = 650; if (!isset($totals)) $totals = array(); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); } else { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'user-account-trx-codes': // Setup format $columnHeaders = array(getLanguageText('TEXT-TRANSACTION-CODE'), getLanguageText('TEXT-CATEGORY'), getLanguageText('TEXT-COUNT') ); $columnAlign = array('left','center','center'); // Get records to display $query = "select transaction_type_code,trx_category,sequence,record_num " . "from user_account_trx_codes " . "where school_num = $school_num " . "order by trx_category,sequence"; writeLog("query: $query\n"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); $count = db_getVal("SELECT count(*) FROM user_account WHERE school_num = $school_num AND transaction_type = '$transaction_type_code'"); $delete_flag = 'Y'; if ($count > 0) $delete_flag = 'N'; $trxCat = getLanguageText('TEXT-'.$trx_category); $data[] = array($transaction_type_code, $trxCat, $count, "record_num" => $record_num, "delete_flag" => $delete_flag); } // Commands $commands = array(); $commands[] = "$edit_icon_small"; $commands[] = "$delete_icon_small"; if (isset($table_id) && strlen($table_id)) $customTableID = $table_id; $TableWidth = 650; if (!isset($totals)) $totals = array(); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); } else { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'admin-user-access-list': // Get records to display $query = "SELECT userid, record_num FROM users " . "WHERE school_num = $base_school_num " . "AND type NOT IN ('Parent','Staff','Guest','Application Volunteer','Schedule Volunteer')"; $users = db_query($query); $content = ""; $schoolName = $school_record['school_name']; if (db_num_rows($users) > 0) { $content = "| ".getLanguageText('TEXT-USER-ID')." | "; $content .= "".getLanguageText('TEXT-ACCESS')." | "; $content .= "
| $userid | "; $content .= "$access | "; $content .= "
--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'deposit-amounts': // Setup format $columnHeaders = array(getLanguageText('TEXT-AMOUNT')); $columnAlign = array('center'); // Get records to display $query = "select amount,record_num " . "from account_deposit_amounts " . "where school_num = $school_num " . "order by amount"; writeLog("query: $query\n"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); $delete_flag = 'Y'; $data[] = array($currencySymbol.number_format($amount,2), "record_num" => $record_num, "delete_flag" => $delete_flag); } // Commands $commands = array(); $commands[] = "$edit_icon_small"; $commands[] = "$delete_icon_small"; if (isset($table_id) && strlen($table_id)) $customTableID = $table_id; $TableWidth = 350; if (!isset($totals)) $totals = array(); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); } else { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'organization-contacts': // Setup format $columnHeaders = array(getLanguageText('TEXT-POSITION'), getLanguageText('TEXT-NAME'), getLanguageText('TEXT-EMAIL'), ); $columnAlign = array('left','left','left'); // Get records to display $query = "select position,person,email,sequence,record_num " . "from organization_contacts " . "where school_num = $school_num " . "order by sequence,position"; writeLog("query: $query\n"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); $delete_flag = 'Y'; $data[] = array($position, $person, $email, "record_num" => $record_num, "delete_flag" => $delete_flag); } // Commands $commands = array(); $commands[] = "$edit_icon_small"; $commands[] = "$delete_icon_small"; if (isset($table_id) && strlen($table_id)) $customTableID = $table_id; $TableWidth = 650; if (!isset($totals)) $totals = array(); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); } else { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'payment-discounts': // Setup format $columnHeaders = array(getLanguageText('TEXT-TYPE'), getLanguageText('TEXT-AMOUNT'), getLanguageText('TEXT-START-DATE'), getLanguageText('TEXT-END-DATE') ); $columnAlign = array('left','center','center','center'); // Get records to display $query = "select discount_type,discount,start_date,end_date,record_num " . "from payment_discounts " . "where school_num = $school_num " . "order by start_date,end_date"; writeLog("query: $query\n"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); $delete_flag = 'Y'; $data[] = array($discount_type, $currencySymbol.number_format($discount,2), $start_date, $end_date, "record_num" => $record_num, "delete_flag" => $delete_flag); } // Commands $commands = array(); $commands[] = "$edit_icon_small"; $commands[] = "$delete_icon_small"; if (isset($table_id) && strlen($table_id)) $customTableID = $table_id; $TableWidth = 600; if (!isset($totals)) $totals = array(); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); } else { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'document-categories': // Setup format $columnHeaders = array(getLanguageText('TEXT-TITLE'), getLanguageText('TEXT-DOCUMENTS'), ); $columnAlign = array('left','center'); // Get records to display $query = "select dc.category,count(d.record_num) as number,dc.sequence,dc.record_num " . "from document_categories as dc left join documents as d on d.school_num = $school_num and d.category_num = dc.record_num " . "where dc.school_num = $base_school_num " . "group by 1,3,4 " . "order by sequence,category"; writeLog("query: $query\n"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); $delete_flag = 'Y'; if ($number > 0) $delete_flag = 'N'; $data[] = array($category, $number, "record_num" => $record_num, "delete_flag" => $delete_flag); } // Commands $commands = array(); $commands[] = "$edit_icon_small"; $commands[] = "$delete_icon_small"; if (isset($table_id) && strlen($table_id)) $customTableID = $table_id; $TableWidth = 450; if (!isset($totals)) $totals = array(); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); } else { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'documents': // Set document path $documentPath = "files/" . sprintf("%08d",$school_num) . "/uploads/"; // Get set of documents in system $columnHeaders = array(getLanguageText('TEXT-FILE'), getLanguageText('TEXT-TITLE'), getLanguageText('TEXT-DATE'), getLanguageText('TEXT-STATUS')); $columnAlign = array("left","left","center","center"); $query = "SELECT document_name,document_title,notes,added_datetime,status,record_num FROM school_documents " . "WHERE school_num = $school_num " . "ORDER BY added_datetime DESC"; writeLog("query: $query"); $documents = db_query($query); $cutoff = date("Y-m-d 00:00:00",time() - 60 * 60 * 24 * 30); $data = array(); if (db_num_rows($documents)) { while ($row = db_fetch_assoc($documents)) { extract($row); $entry = array(); if (!file_exists("$documentPath$document_name")) { if ($status == 'Uploaded') db_query("UPDATE school_documents SET status = 'Deleted' WHERE school_num = $school_num AND record_num = $record_num"); $status = 'Deleted'; } if ($status == 'Deleted' && $added_datetime < $cutoff) { db_query("DELETE FROM school_documents WHERE school_num = $school_num AND record_num = $record_num"); continue; } if (!isset($notes)) $notes = ''; $note = str_replace("'","'",$notes); $entry[] = "$document_name"; $entry[] = $document_title; $entry[] = $added_datetime; $entry[] = $status; $entry['record_num'] = $record_num; $data[] = $entry; } $commands = array(); $commands[] = "$delete_icon_small"; if (isset($table_id) && strlen($table_id)) $customTableID = $table_id; writeLog("table_id: $table_id\n"); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,array()); } else { $return_data['content'] = "--- " . getLanguageText('ERRORMSG-NO-RECORDS') . " ---
"; } break; case 'content-tabs': // Setup format $columnHeaders = array(getLanguageText('TEXT-TITLE'), getLanguageText('TEXT-VISIBLE-TO-PARENTS'), getLanguageText('TEXT-PAGES'), ); $columnAlign = array('left','center','center'); // Get records to display $query = "select ct.tab_title,ct.visible_to_parents,count(fc.record_num) as number,ct.sequence,ct.record_num " . "from content_tabs as ct left join formatted_content as fc on fc.tab_num = ct.record_num " . "where ct.school_num = $school_num " . "group by 1,2,4,5 " . "order by 4,1"; writeLog("query: $query\n"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); $delete_flag = 'Y'; if ($number > 0) $delete_flag = 'N'; $data[] = array($tab_title, $visible_to_parents, $number, "record_num" => $record_num, "delete_flag" => $delete_flag); } // Commands $commands = array(); $commands[] = "$edit_icon_small"; $commands[] = "$delete_icon_small"; if (isset($table_id) && strlen($table_id)) $customTableID = $table_id; $TableWidth = 550; if (!isset($totals)) $totals = array(); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); } else { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'page-content': // startLog('page-content'); // Setup format $columnHeaders = array(getLanguageText('TEXT-PAGE-NAME'), getLanguageText('TEXT-DATE-MODIFIED'), ); $columnAlign = array('left','center'); // Get records to display $query = "select content_id,date_modified,record_num " . "from formatted_content " . "where school_num = $school_num " . "and content_type = 'C' " . "order by content_id"; writeLog("query: $query"); $results = db_query($query); $numPages = db_num_rows($results); writeLog("Pages: $numPages"); $return_data['num_records'] = $numPages; if ($numPages == 0) { $today = date("Y-m-d",time()); $pQuery = $query; $query = "INSERT INTO formatted_content (school_num,content_id,content_title,content_type,tab_num,date_added,date_modified) " . "VALUES($school_num,'Login Page','','C',0,'$today','$today')"; writeLog("query: $query"); db_query($query); $query = "INSERT INTO formatted_content (school_num,content_id,content_title,content_type,tab_num,date_added,date_modified) " . "VALUES($school_num,'Welcome Page','','C',0,'$today','$today')"; writeLog("query: $query"); db_query($query); $results = db_query($pQuery); $numPages = db_num_rows($results); } if ($numPages > 0) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); $delete_flag = 'Y'; $content_id = getLanguageText('ID-'.$content_id); $content_id .= ""; $data[] = array($content_id, $date_modified, "record_num" => $record_num, "delete_flag" => $delete_flag); } // Commands $reset_icon = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'additional-pages': // Setup format $columnHeaders = array(getLanguageText('TEXT-MENU-TAB'), getLanguageText('TEXT-PAGE-NAME'), getLanguageText('TEXT-DATE-MODIFIED'), getLanguageText('TEXT-PUBLIC'), ); $columnAlign = array('left','left','center','center'); // Get records to display $query = "select ct.tab_title,content_id,date_modified,public_page,fc.record_num,ct.sequence as tab_sequence,fc.sequence " . "from formatted_content as fc left join content_tabs as ct on ct.record_num = fc.tab_num " . "where fc.school_num = $school_num " . "and fc.content_type = 'A' " . "order by tab_sequence,sequence,content_id"; writeLog("query: $query"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); $delete_flag = 'Y'; if (strlen($tab_title) == 0) $tab_title = "-- ".getLanguageText('MENUTAB-HOME')." --"; $flag = 'Y'; if ($public_page == 'Y') $flag = 'N'; $public_page = " $public_page "; $data[] = array($tab_title, $content_id, $date_modified, $public_page, "record_num" => $record_num, "delete_flag" => $delete_flag); } // Commands $commands = array(); $commands[] = "$edit_icon_small"; $commands[] = "$delete_icon_small"; if (isset($table_id) && strlen($table_id)) $customTableID = $table_id; $TableWidth = 650; if (!isset($totals)) $totals = array(); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); } else { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'delivery-classes': // Setup format $columnHeaders = array(getLanguageText('TEXT-CLASS'), getLanguageText('TEXT-DELIVERY-GROUP'), ); $columnAlign = array('left','center','center'); // Get records to display $query = "SELECT * FROM classes WHERE school_num = $base_school_num ORDER BY sequence"; writeLog("query: $query"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); if (db_num_rows($results)) { $data = array(); // Get delivery groups $query = "SELECT * FROM delivery_groups WHERE school_num = $school_num ORDER BY sequence"; writeLog("query: $query"); $groups = db_query($query); if (db_num_rows($groups)) { $groupEntries = array(); while ($row = db_fetch_assoc($groups)) { $groupEntries[] = $row; } } else { $return_data['content'] = "--- ".getLanguageText('TEXT-NO-DELIVERY-GROUPS-FOUND')." ---
"; return; } while ($row = db_fetch_assoc($results)) { extract($row); $classInfo = getClassInfo($record_num, 'internal'); $groupField = ""; $data[] = array($classInfo, $groupField); } // Commands $commands = array(); if (isset($table_id) && strlen($table_id)) $customTableID = $table_id; $TableWidth = 600; if (!isset($totals)) $totals = array(); if (isset($totals)) $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); } else { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'classes-list': // startLog('classes-list'); $columnFields = array(); $columnHeaders = array(); $columnAlign = array(); $columnFields[] = 'teachers'; $columnHeaders[] = $GlobalText['Teacher']; $columnAlign[] = 'left'; if ($school_record['p_display_division'] != 'N' || $school_record['i_display_division'] != 'N') { $columnFields[] = 'division'; $columnHeaders[] = $school_record['division_class_num_text']; $columnAlign[] = 'center'; } if ($school_record['p_display_grade'] != 'N' || $school_record['i_display_grade'] != 'N') { $columnFields[] = 'grade'; $columnHeaders[] = getLanguageText('TEXT-GRADE'); $columnAlign[] = 'center'; } if ($school_record['p_display_program'] != 'N' || $school_record['i_display_program'] != 'N') { $columnFields[] = 'class_program'; $columnHeaders[] = getLanguageText('TEXT-PROGRAM'); $columnAlign[] = 'center'; } $columnFields[] = 'description'; $columnHeaders[] = getLanguageText('TEXT-DESCRIPTION'); $columnAlign[] = 'left'; // $columnFields[] = 'label_description'; // $columnHeaders[] = getLanguageText('TEXT-LABEL-DESCRIPTION'); // $columnAlign[] = 'left'; $columnFields[] = 'default_price_category'; $columnHeaders[] = getLanguageText('TEXT-DEFAULT-PRICE-CATEGORY'); $columnAlign[] = 'center'; if ($school_record['implement_delivery_groups'] == 'Y') { $columnFields[] = 'delivery_group'; $columnHeaders[] = getLanguageText('TEXT-DELIVERY-GROUP'); $columnAlign[] = 'center'; } $columnFields[] = 'num_students'; $columnHeaders[] = getLanguageText('TEXT-NUMBER'); $columnAlign[] = 'center'; // Get set of class programs $Programs = array(); $query = "SELECT * FROM class_programs WHERE school_num = $base_school_num ORDER BY sequence"; writeLog("query: $query"); $results = db_query($query); while ($row = db_fetch_assoc($results)) { $Programs[$row['record_num']] = $row['program_name']; } // Get records to display $query = "SELECT * FROM classes WHERE school_num = $base_school_num AND entry_type = 'Class' ORDER BY sequence"; writeLog("query: $query"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); writeLog("Classes: ".db_num_rows($results)); if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); writeLog(print_r($row,true)); $teachers = ''; if (intval($teacher1) > 0) { $r = db_getVal("SELECT title,first_name,last_name FROM people WHERE school_num = $base_school_num AND record_num = $teacher1"); if (is_array($r)) { extract($r); if ($school_record['staff_titles'] == 'Y') $teachers = "$title $first_name $last_name"; else $teachers = "$first_name $last_name"; } } if (intval($teacher2) > 0) { $r = db_getVal("SELECT title,first_name,last_name FROM people WHERE school_num = $base_school_num AND record_num = $teacher2"); if (is_array($r)) { extract($r); if ($school_record['staff_titles'] == 'Y') $teachers .= "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'locations-list': $columnFields = array(); $columnHeaders = array(); $columnAlign = array(); $columnFields[] = 'description'; $columnHeaders[] = getLanguageText('TEXT-DESCRIPTION'); $columnAlign[] = 'left'; $columnFields[] = 'label_description'; $columnHeaders[] = getLanguageText('TEXT-LABEL-DESCRIPTION'); $columnAlign[] = 'left'; if ($school_record['implement_delivery_groups'] == 'Y') { $columnFields[] = 'delivery_group'; $columnHeaders[] = getLanguageText('TEXT-DELIVERY-GROUP'); $columnAlign[] = 'center'; } // Get records to display $query = "SELECT * FROM classes WHERE school_num = $base_school_num AND entry_type = 'Location' ORDER BY sequence"; writeLog("query: $query"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); $entry = array(); for ($i = 0; $i < count($columnFields); $i++) { $fname = $columnFields[$i]; $value = $$fname; if ($fname == 'class_program') $value = $Programs[$value]; $entry[] = $value; } $entry['record_num'] = $record_num; $data[] = $entry; } // Commands $commands = array(); $commands[] = "$edit_icon_small"; $commands[] = "$delete_icon_small"; if (isset($table_id) && strlen($table_id)) $customTableID = $table_id; writeLog("customTableID: $customTableID"); $TableWidth = 850; if (!isset($totals)) $totals = array(); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); } else { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'suppliers-list': $set = 'Active'; if (array_key_exists('set', $_GET)) $set = $_GET['set']; $columnFields = array(); $columnHeaders = array(); $columnAlign = array(); $columnFields[] = 'supplier_name'; $columnHeaders[] = getLanguageText('TEXT-SUPPLIER'); $columnAlign[] = 'left'; $columnFields[] = 'contact_name'; $columnHeaders[] = getLanguageText('TEXT-CONTACT-PERSON'); $columnAlign[] = 'left'; $columnFields[] = 'work_phone'; $columnHeaders[] = getLanguageText('TEXT-PHONE'); $columnAlign[] = 'left'; $columnFields[] = 'status'; $columnHeaders[] = getLanguageText('TEXT-STATUS'); $columnAlign[] = 'left'; $columnFields[] = 'num_products'; $columnHeaders[] = getLanguageText('TEXT-PRODUCTS'); $columnAlign[] = 'center'; $swhere = ""; if ($set == 'Active') $swhere = "and s.status NOT IN ('Inactive','Deleted') "; // Get records to display $query = "select supplier_name,contact_name,work_phone,s.status," . "count(distinct sp.record_num) as num_products,email,s.school_num as actual_school_num,s.record_num " . "from suppliers as s left join supplier_products as sp on " . "sp.school_num = $supplier_school_num and s.record_num = sp.supplier_num AND sp.status = 'Active' AND product_type = 'Product' " . "where s.school_num = $supplier_school_num " . $swhere . "group by 1,2,3,4,6,7,8 " . "order by supplier_name"; writeLog("query: $query"); $results = db_query($query); $return_data['num_records'] = db_num_rows($results); if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); $entry = array(); for ($i = 0; $i < count($columnFields); $i++) { $fname = $columnFields[$i]; $value = $$fname; if ($fname == 'num_products' && intval($value) > 0) { $query = "SELECT * FROM supplier_products " . "WHERE school_num = $supplier_school_num " . "AND supplier_num = $record_num " . "AND status = 'Active' " . "AND product_type = 'Product' " . "ORDER BY sequence"; $products = db_query($query); $numProducts = db_num_rows($products); $value = $numProducts; $entry['delete_flag'] = 'Y'; if ($numProducts > 0) { $Tip = "| ".getLanguageText('TEXT-PRODUCT')." | " . "".getLanguageText('TEXT-COST')." | " . "".getLanguageText('TEXT-PRICE')." | " . "
| " . $prow['product_name'] . " | " . "$" . number_format($prow['package_cost'],2) . " | " . "$" . number_format($prow['standard_online_price'],2) . " | " . "
| $numProducts " . getLanguageText('TEXT-TOTAL-ITEMS') . " |
--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'supplier-products-list': $set = 'Active'; $supplier_num = 0; if (array_key_exists('set', $_GET)) $set = $_GET['set']; if (array_key_exists('supplier_num', $_GET)) $supplier_num = intval($_GET['supplier_num']); // startLog("supplier-products-list"); writeLog("supplier_num: $supplier_num"); writeLog("set: $set"); $columnFields = array(); $columnHeaders = array(); $columnAlign = array(); $columnWidths = array(); $columnFields[] = 'product_name'; $columnHeaders[] = getLanguageText('TEXT-PRODUCT'); $columnAlign[] = 'left'; $columnWidths[] = 250; if ($set != 'Description') { if ($set != 'Special') { $columnFields[] = 'label_name'; $columnHeaders[] = getLanguageText('TEXT-LABEL'); $columnAlign[] = 'left'; $columnWidths[] = 200; $columnFields[] = 'supplier_name'; $columnHeaders[] = getLanguageText('TEXT-SUPPLIER'); $columnAlign[] = 'left'; $columnWidths[] = 150; $columnFields[] = 'package_qty'; $columnHeaders[] = getLanguageText('TEXT-PACKAGE-QUANTITY'); $columnAlign[] = 'center'; $columnWidths[] = 30; } $columnFields[] = 'package_cost'; $columnHeaders[] = getLanguageText('TEXT-COST'); $columnAlign[] = 'right'; $columnWidths[] = 60; $columnFields[] = 'standard_online_price'; $columnHeaders[] = getLanguageText('TEXT-ON-LINE-PRICE'); $columnAlign[] = 'right'; $columnWidths[] = 60; $columnFields[] = 'standard_offline_price'; $columnHeaders[] = getLanguageText('TEXT-PAPER-PRICE'); $columnAlign[] = 'right'; $columnWidths[] = 60; if ($set == 'Special') { $columnFields[] = 'special_price1'; $columnHeaders[] = $Special1_Title; $columnAlign[] = 'right'; $columnWidths[] = 60; $columnFields[] = 'special_price2'; $columnHeaders[] = $Special2_Title; $columnAlign[] = 'right'; $columnWidths[] = 60; $columnFields[] = 'special_price3'; $columnHeaders[] = $Special3_Title; $columnAlign[] = 'right'; $columnWidths[] = 60; } } else { $columnFields[] = 'product_description'; $columnHeaders[] = getLanguageText('TEXT-DESCRIPTION'); $columnAlign[] = 'left'; $columnWidths[] = 200; $columnFields[] = 'label_name'; $columnHeaders[] = getLanguageText('TEXT-LABEL'); $columnAlign[] = 'left'; $columnWidths[] = 200; } $columnFields[] = 'sales_summary_item'; $columnHeaders[] = "".getLanguageText('TEXT-SALES-SUMMARY').""; $columnAlign[] = 'center'; $columnWidths[] = 30; $swhere = ""; if ($set == 'Active' || $set == 'Special') $swhere = "and sp.status = 'Active' AND s.status = 'Active' "; if ($supplier_num > 0) { // if (strlen($swhere)) $swhere .= "AND "; $swhere .= "AND supplier_num = $supplier_num "; } // Get records to display $query = "select supplier_num,product_type,product_name,product_description,label_name,supplier_code,sp.status," . "package_qty,package_cost,standard_online_price,standard_offline_price,special_price1,special_price2,special_price3," . "sales_summary_item,sequence,sp.record_num,supplier_name " . "from supplier_products as sp, suppliers as s " . "WHERE s.school_num = $supplier_school_num " . "AND sp.school_num = $supplier_school_num " . "AND s.record_num = sp.supplier_num " . "AND sp.product_type = 'Product' " . $swhere . "order by sequence,product_name,supplier_name"; writeLog("query: $query"); $results = db_query($query); $num_records = db_num_rows($results); writeLog("Num Records: $num_records"); $return_data['num_records'] = $num_records; if ($num_records) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); $entry = array(); for ($i = 0; $i < count($columnFields); $i++) { $fname = $columnFields[$i]; switch ($fname) { case 'product_name': if ($set != 'Description') { $style = ""; if ($status == 'Inactive') $style = " class='warning'"; $entry[] = "$product_name--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'menu-dates-list': // if ($_SESSION['UserInfo']['type'] == 'SuperUser') startLog("menu-dates-list"); if (array_key_exists('schedule_num', $_GET)) $schedule_num = intval($_GET['schedule_num']); writeLog("schedule_num: $schedule_num"); // Get schedule record $results = db_query("SELECT * FROM hotlunch_schedules WHERE school_num = $school_num AND record_num = $schedule_num"); if (db_num_rows($results) == 0) { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-INVALID-SCHEDULE-NUM')." ---
"; break; } $hotlunch_schedule = db_fetch_assoc($results); // Get menu orders data $query = "SELECT menu_num, sum(qty) AS qty_ordered FROM hotlunch_order_items " . "WHERE school_num = $school_num " . "AND schedule_num = $schedule_num " . "AND ordered_by_type != 'Concession' " . "AND active != 'N' " . "AND order_num NOT IN (" . "SELECT record_num FROM hotlunch_order_header " . "WHERE school_num = $school_num " . "AND schedule_num = $schedule_num " . "AND status IN ('Deleted','Inactive')) " . "GROUP BY 1"; $results = db_query($query); $MenuOrderCount = array(); if (db_num_rows($results) > 0) { while ($row = db_fetch_assoc($results)) { extract($row); writeLog("$menu_num => $qty_ordered"); $MenuOrderCount[$menu_num] = $qty_ordered; if ($qty_ordered == 0) { db_query("UPDATE hotlunch_menu_dates SET order_revenue = 0, other_revenue = 0, supplier_costs = 0, other_costs = 0 WHERE school_num = $school_num AND record_num = $menu_num"); } } } else { db_query("UPDATE hotlunch_menu_dates SET order_revenue = 0, other_revenue = 0, supplier_costs = 0, other_costs = 0 WHERE school_num = $school_num AND schedule_num = $schedule_num"); } // Determine if there are any linked menus in this set db_query("UPDATE hotlunch_menu_dates SET menu_link = 'No' WHERE school_num = $school_num AND schedule_num = $schedule_num AND menu_link = ''"); db_query("UPDATE hotlunch_menu_dates SET current_menu_link = 'No' WHERE school_num = $school_num AND schedule_num = $schedule_num AND menu_link = 'No'"); $num_links = db_getVal("select count(*) from hotlunch_menu_dates where school_num = $school_num and schedule_num = $schedule_num and menu_link != 'No'"); $num_titles = db_getVal("select count(*) from hotlunch_menu_dates where school_num = $school_num and schedule_num = $schedule_num and length(menu_title) > 0"); // Setup arrays $columnFields = array(); $columnHeaders = array(); $columnAlign = array(); $columnWidths = array(); $numCols = 0; $groupBy = ""; $queryCols = ""; if ($num_titles > 0) { $columnFields[] = 'menu_title'; $columnHeaders[] = getLanguageText('TEXT-TITLE'); $columnAlign[] = 'left'; $columnWidths[] = 150; $queryCols .= "hlmd.menu_title,"; $numCols++; if (strlen($groupBy)) $groupBy .= ","; $groupBy .= $numCols; $date_col = 0; } $displayDate = false; if ($hotlunch_schedule['schedule_type'] == 'Date Sensitive' || $hotlunch_schedule['menu_display_mode'] == 'Calendar') $displayDate = true; if ($hotlunch_schedule['display_menu_date'] == 'Y' || $hotlunch_schedule['menu_display_mode'] == 'Calendar') $displayDate = true; if ($displayDate) { $columnFields[] = 'menu_date'; $columnHeaders[] = getLanguageText('TEXT-DATE'); $columnAlign[] = "center"; $columnWidths[] = 60; $queryCols .= "hlmd.menu_date,"; $date_col = 1; $numCols++; if (strlen($groupBy)) $groupBy .= ","; $groupBy .= "$numCols"; } $columnFields[] = 'num_items'; if ($siteType == 'hotlunch' || $siteType == 'fundraising') { $columnHeaders[] = getLanguageText('TEXT-NUMBER-OF-ITEMS')."| " . getLanguageText('TEXT-ITEM-NAME') . " | "; $menu_items_tooltip .= "" . getLanguageText('TEXT-PAPER') . " | "; $menu_items_tooltip .= "" . getLanguageText('TEXT-ON-LINE') . " | "; $menu_items_tooltip .= "" . getLanguageText('TEXT-PRODUCTS') . " | "; $menu_items_tooltip .= "" . getLanguageText('TEXT-MAXIMUM') . " | "; $menu_items_tooltip .= "" . getLanguageText('TEXT-AVAILABLE') . " | "; $menu_items_tooltip .= "" . getLanguageText('TEXT-ACTIVE') . " | "; $menu_items_tooltip .= "" . getLanguageText('TEXT-GROUP') . " | "; $menu_items_tooltip .= "
| " . $mrow['item_title'] . " | |||||||
| " . $mrow['item_title'] . " | "; $menu_items_tooltip .= "$" . $mrow['offline_price'] . " | "; $menu_items_tooltip .= "$" . $mrow['online_price'] . " | "; $menu_items_tooltip .= "" . $prods . " | "; $menu_items_tooltip .= "" . $mrow['max_quantity'] . " | "; $menu_items_tooltip .= "" . $mrow['quantity_available'] . " | "; $menu_items_tooltip .= "" . $mrow['active'] . " | "; $menu_items_tooltip .= "" . $mrow['menu_group'] . " | "; $menu_items_tooltip .= "
--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'menu-items-list': // startLog("menu-items-list"); if (array_key_exists('schedule_num', $_GET)) $schedule_num = intval($_GET['schedule_num']); if (array_key_exists('menu_num', $_GET)) $menu_num = intval($_GET['menu_num']); if (array_key_exists('menu_link', $_GET)) $menu_link = db_escape_string($_GET['menu_link']); writeLog("schedule_num: $schedule_num"); writeLog("menu_num: $menu_num"); // Get schedule record $results = db_query("SELECT * FROM hotlunch_schedules WHERE school_num = $school_num AND record_num = $schedule_num"); if (db_num_rows($results) == 0) { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-INVALID-SCHEDULE-NUM')." ---
"; break; } $hotlunch_schedule = db_fetch_assoc($results); // Determine if groups are in use in this menu $query = "SELECT count(*) FROM hotlunch_menu_items " . "WHERE school_num = $school_num " . "AND menu_num = $menu_num " . "AND menu_group IN ('A','B','C','D','E')"; $groupCount = db_getVal($query); // Setup arrays $columnFields = array(); $columnHeaders = array(); $columnAlign = array(); $columnWidths = array(); $queryCols = ""; $numCols = 0; $columnFields[] = 'item_title'; $columnHeaders[] = getLanguageText('TEXT-TITLE'); $columnAlign[] = 'left'; $columnWidths[] = 200; $queryCols .= "item_title,"; $numCols++; // $columnFields[] = 'item_type'; // $columnHeaders[] = getLanguageText('TEXT-TYPE'); // $columnAlign[] = 'left'; // $columnWidths[] = 50; // $queryCols .= "item_type,"; // $numCols++; $columnFields[] = 'label_title'; $columnHeaders[] = getLanguageText('TEXT-LABEL-TITLE'); $columnAlign[] = 'left'; $columnWidths[] = 100; $queryCols .= "label_title,"; $numCols++; // if ($groupCount > 0) { $columnFields[] = 'menu_group'; $columnHeaders[] = getLanguageText('TEXT-GROUP'); $columnAlign[] = 'center'; $columnWidths[] = 50; $queryCols .= "menu_group,"; $numCols++; // } $columnFields[] = 'online_price'; $columnHeaders[] = getLanguageText('TEXT-ON-LINE'); $columnAlign[] = 'right'; $columnWidths[] = 50; $queryCols .= "online_price,"; $numCols++; $columnFields[] = 'offline_price'; $columnHeaders[] = getLanguageText('TEXT-PAPER'); $columnAlign[] = 'right'; $columnWidths[] = 50; $queryCols .= "offline_price,"; $numCols++; $columnFields[] = 'num_products'; $columnHeaders[] = getLanguageText('TEXT-PRODUCTS'); $columnAlign[] = 'center'; $columnWidths[] = 50; // $queryCols .= "num_products,"; $numCols++; $columnFields[] = 'active'; $columnHeaders[] = getLanguageText('TEXT-ACTIVE'); $columnAlign[] = 'center'; $columnWidths[] = 50; $queryCols .= "active,"; $numCols++; $columnFields[] = 'sales_summary_item'; $columnHeaders[] = getLanguageText('TEXT-SUMMARY'); $columnAlign[] = 'center'; $columnWidths[] = 50; $queryCols .= "sales_summary_item,"; $numCols++; // Get menu items $query = "SELECT $queryCols item_description,item_type,heading_visibility,record_num FROM hotlunch_menu_items " . "WHERE school_num = $school_num " . "AND menu_num = $menu_num " . "ORDER BY sequence"; $menu_items = db_query($query); if (db_num_rows($menu_items)) { $data = array(); while ($menu_item = db_fetch_assoc($menu_items)) { $item_num = $menu_item['record_num']; $record_num = $menu_item['record_num']; $item_title = $menu_item['item_title']; $item_type = $menu_item['item_type']; $entry = array(); writeLog($item_title); if ($item_type == 'Item') { $query = "SELECT supplier_name,product_name,package_qty,package_cost,product_sequence,supplier_product_qty,suppliers.status " . "FROM suppliers,supplier_products,hotlunch_menu_products " . "WHERE suppliers.school_num IN ($supplier_school_num,$school_num) " . "AND suppliers.status = 'Active' " . "AND supplier_products.school_num IN ($supplier_school_num,$school_num) " . "AND hotlunch_menu_products.school_num IN ($supplier_school_num,$school_num) " . "AND hotlunch_menu_products.menu_item_num = $item_num " . "AND hotlunch_menu_products.supplier_product_num = supplier_products.record_num " . "AND supplier_products.supplier_num = suppliers.record_num " . "ORDER BY product_sequence"; writeLog($query); $products = db_query($query); $menu_item['num_products'] = db_num_rows($products); $products_tooltip = ""; if (db_num_rows($products)) { $products_tooltip .= "| ".getLanguageText('TEXT-SUPPLIER')." | ".$row['supplier_name']." ($status) |
| ".getLanguageText('TEXT-PRODUCT')." | ".$row['product_name']." |
| ".getLanguageText('TEXT-QUANTITY')." | ".$row['supplier_product_qty']." |
| ".getLanguageText('TEXT-PACKAGE-QUANTITY')." | ".$row['package_qty']." |
| ".getLanguageText('TEXT-PACKAGE-COST')." | $currencySymbol".sprintf("%0.".$school_record['supplier_costs_decimals']."f",$row['package_qty'])." |
--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'supplier-products-select': // startLog("supplier-products-select"); if (array_key_exists('supplier_num', $_GET)) $supplier_num = intval($_GET['supplier_num']); if (!isset($supplier_num)) return; writeLog("supplier_num: $supplier_num"); $mode = 'select'; if (array_key_exists('mode', $_GET)) $mode = db_escape_string($_GET['mode']); // Get supplier info // $supplier = db_getVal("SELECT * FROM suppliers WHERE school_num = $supplier_school_num AND record_num = $supplier_num"); $supplier = db_getVal("SELECT * FROM suppliers WHERE record_num = $supplier_num"); if (is_array($supplier)) { $schoolNum = $supplier['school_num']; $schoolName = db_getVal("SELECT school_name FROM schools WHERE record_num = $schoolNum"); $num_products = db_getVal("SELECT count(*) FROM supplier_products WHERE supplier_num = $supplier_num AND status = 'Active'"); if ($num_products == 0) { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-SUPPLIER-HAS-NO-PRODUCTS')." ---
"; $return_data['ajax_return_code'] = -1; break; } $products = db_query("SELECT * FROM supplier_products WHERE supplier_num = $supplier_num AND status = 'Active' ORDER BY sequence,product_name"); $count = 0; if (db_num_rows($products) > 0) { $content = "| ".$supplier['supplier_name']." | "; if ($mode == 'select') $content .= ""; $content .= " |
| ";
$content .= "$product_name";
$content .= " "; $content .= "$product_description"; $content .= " | ";
if ($mode == 'select') {
$content .= ""; $content .= ""; $content .= " | "; } $content .= "
--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; $return_data['ajax_return_code'] = -1; } break; case 'copy-menu-dates-list': // startLog("copy-menu-dates-list"); $field_name = 'selected_menu_dates'; $title = getLanguageText('TEXT-COPY-TO-MENUS'); $curr_menu_num = 0; if (array_key_exists('schedule_num', $_GET)) $schedule_num = intval($_GET['schedule_num']); if (array_key_exists('menu_num', $_GET)) $curr_menu_num = intval($_GET['menu_num']); if (array_key_exists('field_name', $_GET)) $field_name = db_escape_string($_GET['field_name']); if (array_key_exists('title', $_GET)) $title = db_escape_string($_GET['title']); if (!isset($schedule_num)) return; writeLog("schedule_num: $schedule_num"); writeLog("curr_menu_num: $curr_menu_num"); // Get schedule info $schedule = db_getVal("SELECT * FROM hotlunch_schedules WHERE school_num = $school_num AND record_num = $schedule_num"); // Get other menus if ($field_name == 'selected_menu_dates') { $query = "SELECT * FROM hotlunch_menu_dates " . "WHERE school_num = $school_num " . "AND schedule_num = $schedule_num " . "AND record_num != $curr_menu_num " . "ORDER BY sequence,menu_date"; } else { $query = "SELECT * FROM hotlunch_menu_dates " . "WHERE school_num = $school_num " . "AND schedule_num = $schedule_num " . "AND menu_link = 'No' " . "ORDER BY sequence,menu_date"; } $menus = db_query($query); $numMenus = db_num_rows($menus); if ($numMenus > 0) { $id = 'select-all-menu-dates'; if ($field_name == 'generate_menu_dates') $id = 'select-all-generate-menu-dates'; $content = "| $title | "; $content .= ""; $content .= " | |
| "; $content .= "$menu_title"; $content .= " | "; $content .= ""; $content .= "$num_items ".getLanguageText('TEXT-ITEMS').""; $content .= " | "; $content .= ""; $checked = ''; if ($field_name == 'generate_menu_dates' && $curr_menu_num == $record_num) $checked = " checked='checked'"; $content .= ""; $content .= " | "; $content .= "
--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; $return_data['ajax_return_code'] = -1; } break; case 'users-list': $order_by_field = "last_name,first_name"; $swhere = ""; $show_status = ""; $show_type = ""; $mwhere = ""; $mhaving = ""; $lookup_where = ''; if (array_key_exists('match', $_GET)) $match = db_escape_string($_GET['match']); $numClasses = db_getVal("SELECT count(*) FROM classes WHERE school_num = $base_school_num"); if (!isset($match) || strlen($match) < 3) { $titleText = getLanguageText('TEXT-ALL-USERS'); // Get parameters if (array_key_exists('record_num', $_GET)) { $record_num = intval($_GET['record_num']); if ($record_num > 0) $swhere = "AND u.record_num = $record_num "; } if (array_key_exists('sortby', $_GET)) { $sortby = db_escape_string($_GET['sortby']); if (strlen($sortby)) $order_by_field = $sortby . ",last_name,first_name"; } if (array_key_exists('show_status',$_REQUEST) && strlen($_REQUEST['show_status'])) { $show_status = db_escape_string($_REQUEST['show_status']); $swhere = "and u.status = '$show_status' "; } if (array_key_exists('show_type',$_REQUEST) && strlen($_REQUEST['show_type'])) { $show_type = db_escape_string($_REQUEST['show_type']); if ($show_type == 'Admin') { $swhere = "and u.type not in ('Parent','Guest','Staff','Supplier') "; $titleText = getLanguageText('TEXT-ADMIN-USERS'); } else { $swhere = "and u.type = '$show_type' "; switch ($show_type) { case 'Staff': $titleText = getLanguageText('TEXT-STAFF'); break; case 'Parent': $titleText = getLanguageText('TEXT-PARENTS'); break; case 'Guest': $titleText = getLanguageText('TEXT-GUESTS'); break; case 'Supplier': $titleText = getLanguageText('TEXT-SUPPLIERS'); break; } } } if (array_key_exists('show_modifier',$_REQUEST) && strlen($_REQUEST['show_modifier'])) { $show_modifier = db_escape_string($_REQUEST['show_modifier']); if ($show_modifier == 'noemail') $mwhere = "and (u.email = '' or u.email is null) "; if ($show_modifier == 'balance-owing') $mhaving = "having sum(ua.transaction_amount) > 0 "; if ($show_modifier == 'balance-payable') $mhaving = "having sum(ua.transaction_amount) < 0 "; if ($show_modifier == 'volunteers') $mwhere = "and u.available_to_volunteer = 'Y' "; if (strlen($titleText)) $titleText .= ' - '; $titleText .= getLanguageText('TEXT-'.strtoupper($show_modifier)); } } else { $word = $match; $lookup_where = "AND (userid LIKE '%$word%' " . "OR first_name LIKE '$word%' " . "OR last_name LIKE '$word%' " . "OR email LIKE '%$word%' " . "OR home_phone LIKE '%$word%' " . "OR cell_phone LIKE '%$word%' " . "OR daytime_phone LIKE '%$word%') "; writeLog($lookup_where); } // Get set of user records $columnHeaders = array(getLanguageText('TEXT-USER-ID'), getLanguageText('TEXT-NAME'), getLanguageText('TEXT-TYPE'), $GlobalText['Students'], getLanguageText('TEXT-STATUS'), getLanguageText('TEXT-ORDER'), getLanguageText('TEXT-EMAIL'), getLanguageText('TEXT-SYSTEM-REMINDER'), getLanguageText('TEXT-BALANCE')); $columnAlign = array('left','left','left','center','center','center','center','center','center'); $columnFields = array('userid', 'name', 'type', 'nstudents', 'status_display', 'can_order_display', 'receive_emails_display', 'email_reminders_display', 'balance'); if (isset($titleText) && strlen($titleText)) $titleText = "$titleText
"; $query = "SELECT email,userid,first_name,last_name,type,status,can_order,receive_emails,sum(ua.transaction_amount) as balance,trx_status," . "home_phone,cell_phone,date_added,last_login,email_flag,email_reminders,u.record_num " . "FROM users AS u LEFT JOIN user_account AS ua ON user_num = u.record_num and ua.school_num = $school_num and (ua.deleted != 'Y' or ua.deleted is null) " . "WHERE u.school_num = $base_school_num " . $lookup_where . $swhere . $mwhere . "GROUP BY 1,2,3,4,5,6,7,8,10,11,12,13,14,15,16,17 " . $mhaving . "ORDER BY $order_by_field"; writeLog($query); $menu_dates = db_query($query); $return_data['num_records'] = db_num_rows($menu_dates); $numRecords = db_num_rows($menu_dates); if ($numRecords > 0) { $count = 0; $data = array(); while ($row = db_fetch_array($menu_dates)) { extract($row); $userNum = $record_num; $userid = "$userid"; $query = "SELECT * FROM people " . "WHERE school_num = $base_school_num " . "AND user_num = $record_num " . "AND active != 'N' " . "AND people_type IN ('Student','Customer')"; $students = db_query($query); $numStudents = db_num_rows($students); if (isset($show_modifier) && $show_modifier == 'nostudents' && $numStudents > 0) continue; $nstudents = $numStudents; if ($numStudents > 0) { $Tip = "| ".$row['first_name'].' '.$row['last_name']." - $class_info | "; } $Tip .= "
| ".getLanguageText('TEXT-NAME').": | $first_name $last_name |
| ".getLanguageText('TEXT-EMAIL').": | |
| ".getLanguageText('TEXT-PHONE').": | $home_phone |
| ".getLanguageText('TEXT-CELL-PHONE').": | $cell_phone |
| ".getLanguageText('TEXT-TYPE').": | $type |
| ".getLanguageText('TEXT-DATE-ADDED').": | $date_added |
| ".getLanguageText('TEXT-LAST-LOGIN').": | $last_login |
| ".getLanguageText('TEXT-ACCOUNT-BALANCE').": | $balance |
--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'user-account-students': if (array_key_exists('user_num', $_GET)) $user_num = intval($_GET['user_num']); if (!isset($user_num)) return; // Get schedules data $Schedules = array(); $query = "SELECT * FROM hotlunch_schedules WHERE school_num = $school_num AND status IN ('Pending','Active')"; $results = db_query($query); while ($row = db_fetch_assoc($results)) { $snum = $row['record_num']; $title = $row['schedule_name']; $Schedules[$snum] = $title; } $numClasses = db_getVal("SELECT count(*) FROM classes WHERE school_num = $base_school_num"); // Get user data $results = db_query("SELECT * FROM users WHERE school_num = $base_school_num AND record_num = $user_num"); if (db_num_rows($results)) { $user = db_fetch_assoc($results); extract($user); $header = " $first_name $last_name";
$header .= "
$userid";
if (strlen($email)) $header .= "
$email";
if (strlen($home_phone)) $header .= "
$home_phone";
$query = "SELECT * FROM people WHERE school_num = $base_school_num AND user_num = $user_num ORDER BY first_name, last_name";
$students = db_query($query);
$return_data['num_records'] = db_num_rows($students);
if (db_num_rows($students)) {
$return_data['content'] = $header;
$return_data['content'] .= "
| ".getLanguageText('TEXT-NAME')." | "; $return_data['content'] .= "".getLanguageText('TEXT-ORDERS')." | "; $return_data['content'] .= ""; $return_data['content'] .= " | "; $return_data['content'] .= " | ||||||||
| $first_name $last_name | "; $orders = db_query("SELECT * FROM hotlunch_order_header WHERE school_num = $school_num AND ordered_by_num = $record_num ORDER BY added_time"); $norders = db_num_rows($orders); $Tip = ''; if ($norders > 0) { $Tip = "|||||||||||
| $first_name $last_name | |||
| $title: | $amt | $ostatus | "; $orderCount++; } } $Tip .= "|
$Name
"; $return_data['name'] = $Name; $time = date("H",time()); $now = date("Y-m-d H:i:s",time()); $orderButtonText = getLanguageText('TEXT-ORDER'); if (isset($order_button_text) && strlen($order_button_text)) $orderButtonText = $order_button_text; // $orderButtonText = str_replace(' ',' ',$orderButtonText); // Determine the number of currently active schedules $today = date("Y-m-d",time()); $now = date("Y-m-d H:i:s",time()); $cutoff_date = date("Y-m-d 00:00:00",time() - 60 * 60 * 24 * 300); $swhere = "AND start_order_datetime <= '$now' AND status in ('Active') "; $cwhere = "AND start_order_datetime > '$cutoff_date' "; if ($display_mode == 'AllSchedules') $cwhere = ''; $num_active = db_getVal("SELECT count(*) FROM hotlunch_schedules " . "WHERE school_num = $school_num " . "AND schedule_type != 'Volunteer Only' " . $cwhere . $swhere); // Check if there is a current schedule $today = date("Y-m-d",time()); db_query("UPDATE hotlunch_schedules SET start_order_date = start_order_datetime, end_order_date = end_order_datetime WHERE school_num = $school_num"); $query = "select * from hotlunch_schedules " . "where school_num = $school_num " . "AND schedule_type != 'Volunteer Only' " . $cwhere . $swhere . "order by start_order_date DESC"; writeLog($query); $current_schedules = db_query($query); $num_schedules = db_num_rows($current_schedules); writeLog("num_schedules: $num_schedules"); $num_classes = db_getVal("SELECT count(*) FROM classes WHERE school_num = $base_school_num"); $schedules = array(); $displayDiscounts = False; if (db_num_rows($current_schedules) > 0) { $cutoff_date = date("Y-m-d",time() - 60 * 60 * 24 * 45); while ($row = db_fetch_array($current_schedules)) { $schedule_num = $row['record_num']; $schedule_name = $row['schedule_name']; $start_order_date = $row['start_order_date']; writeLog("schedule_name: $schedule_name - $start_order_date"); // Check that the schedule has menu dates and items defined $numDates = db_getVal("SELECT count(*) FROM hotlunch_menu_dates WHERE school_num = $school_num AND schedule_num = $schedule_num"); if ($numDates == 0) continue; $numItems = db_getVal("SELECT count(*) FROM hotlunch_menu_dates AS hlmd, hotlunch_menu_items AS hlmi " . "WHERE hlmd.school_num = $school_num " . "AND hlmi.school_num = $school_num " . "AND hlmd.schedule_num = $schedule_num " . "AND hlmi.menu_num = hlmd.record_num"); if ($numItems == 0) continue; // Check if there is an order for this schedule $results = db_query("SELECT * FROM hotlunch_order_header " . "WHERE school_num = $school_num " . "AND ordered_by_num = $student_num " . "AND schedule_num = $schedule_num"); if (db_num_rows($results)) { $schedules[] = $row; continue; } // Check if this is a limited access schedule by class $class_entries = db_getVal("select count(*) from hotlunch_schedules_classes where school_num = $school_num and schedule_num = $schedule_num"); if ($class_entries > 0 && $class_num > 0) { $query = "select count(*) from hotlunch_schedules_classes " . "where school_num = $school_num " . "and schedule_num = $schedule_num " . "and class_num = $class_num"; $schedule_access = db_getVal($query); if ($schedule_access == 0) continue; } // Check if this is a limited access schedule by category $category_entries = db_getVal("select count(*) from hotlunch_schedules_categories " . "where school_num = $school_num " . "and schedule_num = $schedule_num"); if ($category_entries > 0) { $query = "SELECT count(*) FROM hotlunch_schedules_categories AS hlsc, people_categories AS pc " . "WHERE hlsc.school_num = $school_num " . "AND pc.school_num = $school_num " . "AND schedule_num = $schedule_num " . "AND hlsc.category_num = pc.category_num " . "AND pc.people_num = $student_num"; $schedule_access = db_getVal($query); if ($schedule_access == 0) continue; } $schedules[] = $row; $schedule_num = $row['record_num']; $discount = db_getVal("SELECT discount_amount " . "FROM hotlunch_order_header " . "WHERE school_num = $school_num " . "AND schedule_num = $schedule_num " . "AND ordered_by_num = $student_num " . "AND ordered_by_type IN ('Staff','Student','Customer')"); if ($discount > 0) $displayDiscounts = True; } } $content = ''; if (count($schedules) > 0) { // Initialize the totals $t_balance = 0; $t_subtotal = 0; $t_total = 0; $t_discount = 0; $t_paid = 0; $columnHeaders = array(); $columnHeaders[] = getLanguageText('TEXT-SCHEDULE'); $columnHeaders[] = getLanguageText('TEXT-TOTAL'); if ($displayDiscounts) $columnHeaders[] = getLanguageText('TEXT-DISCOUNT'); $columnHeaders[] = getLanguageText('TEXT-AMOUNT-PAID'); $columnHeaders[] = getLanguageText('TEXT-STATUS'); $columnHeaders[] = getLanguageText('TEXT-CATEGORY'); $columnHeaders[] = ''; $columnAlign = array(); $columnAlign[] = 'left'; $columnAlign[] = 'right'; if ($displayDiscounts) $columnAlign[] = 'right'; $columnAlign[] = 'right'; $columnAlign[] = 'center'; $columnAlign[] = 'center'; $order_total = 0; $order_net = 0; $lcount = 0; $schedule_status = ""; for ($sn = 0; $sn < count($schedules); $sn++) { $schedule = $schedules[$sn]; extract($schedule); $ScheduleName = $schedule_name; $schedule_num = $record_num; $schedule_status = ""; writeLog($status); if (in_array($_SESSION['UserInfo']['type'],array('SuperUser','System Administrator'))) $schedule_status = "(" . $status . ")"; writeLog("schedule_name: $schedule_name"); $start_order_datet = $start_order_date; $end_order_datet = $end_order_date; if (isset($start_order_datetime) && strlen($start_order_datetime)) { $start_order_datet = substr($start_order_datetime,0,16); $end_order_datet = substr($end_order_datetime,0,16); } $Tip = "| ".getLanguageText('TEXT-SCHEDULE')." | $schedule_name |
| ".getLanguageText('TEXT-START-ORDER')." | $start_order_datet |
| ".getLanguageText('TEXT-END-ORDER')." | $end_order_datet |
| ".getLanguageText('TEXT-SCHEDULE-START')." | $schedule_start_date |
| ".getLanguageText('TEXT-SCHEDULE-END')." | $schedule_end_date |
| ".getLanguageText('TEXT-TYPE')." | $schedule_type |
--- ".getLanguageText('TEXT-NO-ORDERS-FOUND')." ---
"; } break; case 'students-list': // if ($_SESSION['UserInfo']['type'] == 'SuperUser') startLog("students-list"); // startLog("students-list"); if (!array_key_exists('type', $_SESSION['UserInfo'])) { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; break; } $displayMode = 'AdminDisplay'; $curr_school_num = $school_num; $show_commands = 'Y'; if (array_key_exists('show_commands', $_GET)) $show_commands = db_escape_string($_GET['show_commands']); if (array_key_exists('match', $_GET)) $match = db_escape_string($_GET['match']); $swhere = ""; $ParentAcctsTypes = array('Parent', 'Staff', 'Guest', 'Application Volunteer', 'Administration Team', 'Schedule Team', 'Financial Team'); if (array_key_exists('type', $_SESSION['UserInfo']) && in_array($_SESSION['UserInfo']['type'], $ParentAcctsTypes)) { $unum = intval($_SESSION['UserInfo']['record_num']); $swhere = "AND user_num = $unum "; $displayMode = 'ParentDisplay'; writeLog("displayMode: $displayMode"); } else { if (!isset($match) || strlen($match) < 3) { $titleText = $GlobalText['AllStudents']; $swhere = "AND people_type IN ('Student','Customer','Staff') "; writeLog("swhere: $swhere"); // Get parameters if (array_key_exists('show_type', $_GET)) $show_type = db_escape_string($_GET['show_type']); if (array_key_exists('naction', $_GET)) $naction = db_escape_string($_GET['naction']); if (array_key_exists('record_num', $_GET)) $record_num = intval($_GET['record_num']); if (isset($record_num)) $swhere = "AND st.record_num = $record_num "; writeLog("swhere: $swhere"); $header = ""; if (isset($naction)) { writeLog("naction: $naction"); switch ($naction) { case 'view-class-students': $cnum = 0; if (array_key_exists('class_num', $_GET)) $cnum = intval($_GET['class_num']); if ($cnum == 0) return; $swhere = "AND class_num = $cnum "; writeLog("swhere: $swhere"); break; case 'view-meal-locations': $cnum = 0; if (array_key_exists('class_num', $_GET)) $cnum = intval($_GET['class_num']); if ($cnum > 0) $swhere = "AND class_num = $cnum "; // $swhere = "AND class_num != meal_location "; writeLog("swhere: $swhere"); break; case 'view-account-students': $unum = 0; if (array_key_exists('user_num', $_GET)) $unum = intval($_GET['user_num']); if ($unum == 0) return; $swhere = "AND user_num = $unum "; break; case 'view-unverified': $swhere = "AND st.status = 'Unverified' "; break; case 'view-inactive': $swhere = "AND active = 'N' "; $swhere = "AND st.status = 'Inactive' "; break; case 'view-unassigned': $swhere = "AND (class_num < 3 OR class_num IS NULL) AND people_type = 'Student' "; break; case 'view-price-category': if (array_key_exists('price_category', $_GET)) { $price_category = db_escape_string($_GET['price_category']); $swhere = "AND menu_price_category = '$price_category' "; } break; case 'view-flex-pricing': $swhere = "AND access_to_multiple_item_prices = 'Y' "; break; case 'view-missing-student-number': $swhere = "AND (student_number = '' OR student_number IS NULL) "; break; case 'view-students': $swhere = "AND people_type = 'Student' "; $header = $GlobalText['Students']; break; case 'view-staff': $swhere = "AND people_type = 'Staff' "; break; case 'view-customers': $swhere = "AND people_type = 'Customer' "; break; case 'view-all': $swhere = "AND active = 'Y' "; break; case 'view-category-students': $cnum = 0; if (array_key_exists('category_num',$_GET)) $cnum = intval($_GET['category_num']); $swhere = "AND st.record_num IN (SELECT people_num FROM people_categories WHERE school_num = $school_num AND category_num = $cnum) "; break; } } } else { $naction = 'match'; $word = trim($match); $lookup_where = "AND (st.first_name LIKE '$word%' " . "OR st.last_name LIKE '$word%' " . "OR st.email LIKE '$word%' " . "OR u.userid LIKE '$word%' " . "OR student_number LIKE '$word%' " . "OR label_note LIKE '%$word%' " . "OR cust_phone LIKE '%$word%' " . "OR cust_phone LIKE '%$word%' " . "OR cust_address LIKE '%$word%' " . "OR st.notes LIKE '%$word%') "; } } // Get schedules data $Schedules = array(); $query = "SELECT * FROM hotlunch_schedules WHERE school_num = $curr_school_num AND status IN ('Pending','Active')"; $results = db_query($query); while ($row = db_fetch_assoc($results)) { $snum = $row['record_num']; $title = $row['schedule_name']; $Schedules[$snum] = $title; } $Classes = array(); $Classes[0] = array( 'class_info' => getClassInfo(0), 'division' => '', 'grade' => getLanguageText('TEXT-STAFF'), 'gfield' => 'grade', 'eclass' => '' ); $Classes[1] = array( 'class_info' => getClassInfo(1), 'division' => '', 'grade' => getLanguageText('TEXT-CUSTOMER'), 'gfield' => 'grade', 'eclass' => '' ); $Classes[2] = array( 'class_info' => getClassInfo(2), 'division' => '', 'grade' => '-', 'gfield' => 'grade', 'eclass' => '' ); $results = db_query("SELECT * FROM classes WHERE school_num = $base_school_num"); while ($row = db_fetch_assoc($results)) { $cnum = $row['record_num']; $type = $row['entry_type']; $div = $row['division']; $grade = $row['grade']; $gfield = 'grade'; $eclass = ''; if (!strlen($grade)) { $grade = $row['label_description']; $gfield = 'label_description'; if (strlen($grade) == 0 && strlen($row['description'])) { $grade = $row['description']; $gfield = 'description'; } if (strlen($grade) == 0 && strlen($row['division'])) { $grade = $row['division']; $gfield = 'division'; } if (!strlen($grade)) { if (isset($people_type) && $people_type != 'Staff') { $grade = " error "; $eclass = " error"; $class_info = ''; } } } if ($type == 'Class') $text = getClassInfo($cnum); else $text = $row['description']; if (strlen($grade) > 30) $grade = substr($grade, 0, 25)."..."; $entry = array(); $entry['class_info'] = $text; $entry['division'] = $div; $entry['grade'] = $grade; $entry['gfield'] = $gfield; $entry['eclass'] = $eclass; $Classes[$cnum] = $entry; } $columnHeaders = array(); $columnHeaders[] = getLanguageText('TEXT-NAME'); if (isset($naction) && $naction != 'view-meal-locations') { if ($displayMode == 'AdminDisplay') $columnHeaders[] = getLanguageText('TEXT-ACCOUNT'); $columnHeaders[] = getLanguageText('TEXT-ORDERS'); if ($school_record['collect_student_number'] == 'Y') $columnHeaders[] = getLanguageText('TEXT-STUDENT-NUMBER'); if ($school_record['participant_grouping'] != 'None') { $columnHeaders[] = $GlobalText['Class']; if ($school_record['i_display_division'] == 'Y') { $columnHeaders[] = getLanguageText('TEXT-DIVISION'); } } if ($displayMode == 'AdminDisplay') $columnHeaders[] = getLanguageText('TEXT-TYPE'); $columnHeaders[] = getLanguageText('TEXT-STATUS'); if ($displayMode == 'AdminDisplay' && $school_record['implement_multiple_item_prices'] == 'Y') { $columnHeaders[] = getLanguageText('TEXT-FLEX-PRICING'); } if ($displayMode == 'AdminDisplay') $columnHeaders[] = getLanguageText('TEXT-DISPLAY'); $columnAlign = array('left','center','center','center','center','center','center','center','center','center'); } else { $columnHeaders[] = getLanguageText('TEXT-TYPE'); $columnHeaders[] = $GlobalText['Class']; $columnHeaders[] = getLanguageText('TEXT-ALTERNATE-LOCATION'); $columnAlign = array('left','center','center'); } // if ($_SESSION['UserInfo']['type'] == 'SuperUser') { // $columnHeaders[] = 'rNum'; // $columnAlign[] = 'center'; // } if (!isset($swhere)) $swhere = ''; if (!isset($lookup_where)) $lookup_where = ''; writeLog("swhere: $swhere"); writeLog("lookup_where: $lookup_where"); $query = "SELECT st.* FROM people AS st, users AS u " . "WHERE st.school_num = $base_school_num " . "AND u.school_num = $base_school_num " . "AND st.user_num = u.record_num " . $swhere . $lookup_where . "order by last_name, first_name"; writeLog($query); $students = db_query($query); $numRecords = db_num_rows($students); $return_data['num_records'] = $numRecords; if ($numRecords) { $data = array(); while ($row = db_fetch_array($students)) { extract($row); $student_num = $record_num; writeLog("---------------------------------------------------"); writeLog("student_num: $student_num"); $delete_flag = 'Y'; $eclass = ''; $people_info = "| $people_type |
| ".$Classes[$class_num]['class_info']." |
".getLanguageText('TEXT-ALLERGIES').""; $people_info .= "
|
| $first_name $last_name | |||
| $title: | $amt | $ostatus | "; $orderCount++; } } $ordersTip .= "|
| ".getLanguageText('TEXT-USER-ID').": | $userid |
| ".getLanguageText('TEXT-NAME').": | $urow[first_name] $urow[last_name] |
| ".getLanguageText('TEXT-EMAIL').": | $urow[email] |
| ".getLanguageText('TEXT-PHONE').": | $urow[home_phone] |
| ".getLanguageText('TEXT-CELL-PHONE').": | $urow[cell_phone] |
| ".getLanguageText('TEXT-NUMBER-OF-STUDENTS').": | $num_students |
| ".getLanguageText('TEXT-TYPE').": | $urow[type] |
| ".getLanguageText('TEXT-DATE-ADDED').": | $urow[date_added] |
| ".getLanguageText('TEXT-LAST-LOGIN').": | $urow[last_login] |
| ".getLanguageText('TEXT-ACCOUNT-BALANCE').": | $user_balance |
--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'parent-student-list': // startLog("parent-students-list"); $ParentAcctsTypes = array('Parent', 'Staff', 'Guest', 'Application Volunteer', 'Administration Team', 'Schedule Team', 'Financial Team'); if (array_key_exists('type', $_SESSION['UserInfo']) && in_array($_SESSION['UserInfo']['type'], $ParentAcctsTypes)) { $unum = intval($_SESSION['UserInfo']['record_num']); $swhere = "AND user_num = $unum "; $displayMode = 'ParentDisplay'; writeLog("displayMode: $displayMode"); } else { $return_data['content'] = '' . getLanguageText('ERRORMSG-INVALID-ACCESS') . '
'; break; } $numClasses = db_getVal("SELECT count(*) FROM classes WHERE school_num = $base_school_num"); $query = "SELECT st.* FROM people AS st, users AS u " . "WHERE st.school_num = $base_school_num " . "AND u.school_num = $base_school_num " . "AND st.user_num = u.record_num " . $swhere . "order by last_name, first_name"; writeLog($query); $students = db_query($query); if (db_num_rows($students)) { $content = "
".getLanguageText('TEXT-THERE-ARE-NO-CLASSIFIED-ADS-AT-THIS-TIME')."
--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'resellers-list': // Setup format $columnHeaders = array("Reseller Code", "Business", "Contact", "Phone", "Email", "Schools"); $columnAlign = array('left','left','left','left','left','center'); // Get records to display $query = "select * from resellers order by business_name"; writeLog("query: $query\n"); $results = db_query($query); if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); $number = db_getVal("SELECT count(*) FROM schools WHERE reseller = '$reseller_code' AND status = 'Active'"); $delete_flag = 'Y'; if ($number > 0) $delete_flag = 'N'; if (strlen($email)) $email = "$email"; $data[] = array($reseller_code, $business_name, $contact_name, $phone, $email, $number, "record_num" => $record_num, "delete_flag" => $delete_flag); } // Commands $commands = array(); $commands[] = "$edit_icon_small"; $commands[] = "$delete_icon_small"; if (isset($table_id) && strlen($table_id)) $customTableID = $table_id; $TableWidth = 850; if (!isset($totals)) $totals = array(); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); } else { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'category-people': // Get category number $cnum = intval($_GET['cnum']); // Setup format $columnHeaders = array(getLanguageText('TEXT-NAME'), ); $columnAlign = array('left','center','center'); // Get records to display $query = "SELECT p.* FROM people_categories AS pc, people AS p " . "WHERE pc.school_num = $school_num " . "AND p.school_num = $school_num " . "AND p.record_num = pc.people_num " . "AND pc.category_num = $cnum " . "ORDER BY last_name,first_name"; writeLog("query: $query\n"); $results = db_query($query); if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); $name = $first_name.' '.$last_name; $delete_flag = 'Y'; $data[] = array($name, "record_num" => $record_num); } // Commands $commands = array(); $commands[] = "$delete_icon_small"; if (isset($table_id) && strlen($table_id)) $customTableID = $table_id; $TableWidth = 450; if (!isset($totals)) $totals = array(); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); } else { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'meal-locations': // Setup format $columnHeaders = array(getLanguageText('TEXT-ALTERNATE-LOCATION'), getLanguageText('TEXT-NUMBER'), ); $columnAlign = array('left','center','center'); // Get records to display $query = "SELECT * FROM meal_locations " . "WHERE school_num = $school_num " . "ORDER BY sequence"; writeLog("query: $query\n"); $results = db_query($query); if (db_num_rows($results)) { $data = array(); while ($row = db_fetch_assoc($results)) { extract($row); $delete_flag = 'Y'; $numPeople = db_getVal("SELECT count(*) FROM people WHERE meal_location = $record_num"); $data[] = array($location, $numPeople, "record_num" => $record_num); } if (isset($table_id) && strlen($table_id)) $customTableID = $table_id; $TableWidth = 450; if (!isset($totals)) $totals = array(); $return_data['content'] = getDataCustom($data,$columnHeaders,$action,$commands,'N',$columnAlign,$totals); } else { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'delete-trx-info': // startLog('delete-trx-info'); // Get parameters if (array_key_exists('user_num', $_GET)) $user_num = intval($_GET['user_num']); if (array_key_exists('trx_num', $_GET)) $tn = intval($_GET['trx_num']); if (!isset($user_num)) return; writeLog("user_num: $user_num"); if (!isset($tn)) return; writeLog("tn: $tn"); // Get user information $results = db_query("SELECT * FROM users WHERE school_num = $base_school_num AND record_num = $user_num"); $user_info = db_fetch_array($results); $user_email = $user_info['email']; $userid = $user_info['userid']; // $userid = "$userid"; $user_name = $user_info['first_name'] . ' ' . $user_info['last_name']; $user_contact = "$userid| " . getLanguageText('TEXT-NAME') . ": | "; $return_data['content'] .= "$user_contact | "; $return_data['content'] .= "
| " . getLanguageText('TEXT-TRANSACTION-TYPE') . ": | "; $return_data['content'] .= "" . translateText($trx['transaction_type']) . " | "; $return_data['content'] .= "
| " . getLanguageText('TEXT-PAYMENT-METHOD') . ": | "; $return_data['content'] .= "$payment_method | "; $return_data['content'] .= "
| " . getLanguageText('TEXT-TRANSACTION-AMOUNT') . ": | "; $return_data['content'] .= "" . $trx['transaction_amount'] . " | "; $return_data['content'] .= "
| " . getLanguageText('TEXT-TRANSACTION-NOTE') . ": | "; $return_data['content'] .= "" . translateText($trx['note']) . " | "; $return_data['content'] .= "
| " . getLanguageText('TEXT-PAYMENT-REFERENCE') . ": | "; $return_data['content'] .= "" . $trx['payment_reference'] . " | "; $return_data['content'] .= "
| " . getLanguageText('TEXT-ENTERED-BY') . ": | "; $return_data['content'] .= "$entered_by_userid | "; $return_data['content'] .= "
--- No Demos Scheduled ---
"; writeLog($return_data['content'] . "\n"); } else { $return_data['content'] .= "-- Hot Lunch Demos --
"; $return_data['content'] .= "| $school_name | "; $return_data['content'] .= "$demo_scheduled_date | "; $return_data['content'] .= "
| ".getLanguageText('TEXT-TITLE')." | "; $return_data['schedules'] .= "".getLanguageText('TEXT-STATUS')." | "; $return_data['schedules'] .= "".getLanguageText('TEXT-ORDERS')." | "; $return_data['schedules'] .= "$Special1_Title | "; $return_data['schedules'] .= "$Special2_Title | "; $return_data['schedules'] .= "$Special3_Title | "; $return_data['schedules'] .= "
| $schedule_name | "; $return_data['schedules'] .= "$status | "; $return_data['schedules'] .= "$numOrders | "; $return_data['schedules'] .= "$numSpecial1 | "; $return_data['schedules'] .= "$numSpecial2 | "; $return_data['schedules'] .= "$numSpecial3 | "; $return_data['schedules'] .= "
| YEAR | "; $return_data['invoices'] .= "NUM | "; $return_data['invoices'] .= "DATE | "; $return_data['invoices'] .= "STATUS | "; $return_data['invoices'] .= "TOTAL | "; $return_data['invoices'] .= "PAID | "; $return_data['invoices'] .= "BALANCE | "; $return_data['invoices'] .= "METHOD | "; $return_data['invoices'] .= ""; $return_data['invoices'] .= " |
| $school_year | "; $return_data['invoices'] .= "#$invnum | "; $return_data['invoices'] .= "$invoice_date | "; $return_data['invoices'] .= "$status | "; $return_data['invoices'] .= "$currencySymbol$total | "; $return_data['invoices'] .= "$currencySymbol$amount_paid | "; $return_data['invoices'] .= "$currencySymbol$balance | "; $return_data['invoices'] .= "$payment_method | "; $return_data['invoices'] .= "[edit] $invlink [print] $pay $send | "; $return_data['invoices'] .= "
| ";
$return_data['content'] .= " Notifications: "; $cutoff = date("Y-m-d 00:00:00", time() - 60 * 60 * 24 * 45); $query = "SELECT * FROM school_notifications WHERE notification_date > '$cutoff' ORDER BY notification_date DESC"; $results = db_query($query); if (db_num_rows($results)) { while ($row = db_fetch_assoc($results)) { extract($row); $query = "SELECT * FROM schools WHERE record_num = $school_num"; $r = db_query($query); $school = db_fetch_assoc($r); if ($school['status'] != 'Active') { db_query("DELETE FROM school_notifications WHERE record_num = $record_num"); continue; } $note = $school['notes']; $start_date = $school['start_date']; $query = "SELECT * FROM login_log WHERE school_num = $school_num AND userid = 'admin' AND last_login > '$notification_date'"; $r = db_query($query); if (db_num_rows($r) > 0) { db_query("DELETE FROM school_notifications WHERE record_num = $record_num"); continue; } $return_data['content'] .= "$notification_date";
$return_data['content'] .= " $delete_icon =============================================== "; } } $return_data['content'] .= " |
".getLanguageText('TEXT-ACCOUNT-BALANCE').": $".number_format($balance,2)."
"; // Get student info $query = "SELECT * FROM people WHERE school_num = $school_num AND user_num = $user_num ORDER BY last_name, first_name"; $results = db_query($query); if (db_num_rows($results)) { $return_data['content'] .= "Students:" . "
"; $return_data['content'] = $titleText . getDataCustom($data,$columnHeaders,$action,array(),'N',$columnAlign,$totals); break; case 'trx-history': // Get trx number $rnum = intval($_GET['rnum']); writeLog("rnum: $rnum\n"); $info = "| ".getLanguageText('TEXT-TRANSACTION-TYPE')." | "; $info .= "".getLanguageText('TEXT-AMOUNT')." | "; $info .= "".getLanguageText('TEXT-SCHEDULE')." | "; $info .= "
| ".$row[0]." | "; $info .= "".$row[1]." | "; $info .= "".$row[2]." ".$row[3]." | ";
$info .= "
";
// School header
$return_data['content'] .= "
"; $return_data['content'] .= "
"; $return_data['content'] .= "
"; $return_data['content'] .= "
"; $return_data['content'] .= " ".getLanguageText('TEXT-PRINTED').": $printed_time "; // End content table $return_data['content'] .= " | ||||||||||||||||||||||
| ".getLanguageText("TEXT-ACTIVITY").": | $order_action |
| ".getLanguageText("TEXT-DATE").": | $updated_time |
| ".getLanguageText("TEXT-USER-ID").": | $userid |
| ".getLanguageText("TEXT-ORDER-NUMBER").": | $order_num |
| ".getLanguageText("TEXT-ORDERED-BY").": | $student_name |
| ".getLanguageText("TEXT-USER-ACCOUNT").": | $userid |
| ".getLanguageText("TEXT-ORDER-TOTAL").": | $order_total |
| ".getLanguageText('TEXT-EMAIL') .": | $email_to |
| ".getLanguageText('TEXT-EMAIL-SUBJECT') .": | $email_subject |
| ".getLanguageText('TEXT-PROCESSED-TIME') .": | $sent_time |
| ".getLanguageText('TEXT-STATUS') .": | $status |
| ".getLanguageText('TEXT-MESSAGE') .": ".nl2br($email_message)." | |
| "; $return_data['content'] .= ""; $return_data['content'] .= " | "; $return_data['content'] .= "||||||
| $item_title | "; $return_data['content'] .= "";
if ($qtyFieldFormat == 'Quantity' && $menu_item_format == 'D' || $menu_item_format == 'Q') {
$return_data['content'] .= "
| ";
$return_data['content'] .= "$symbol" . number_format($item_price,2) . " | "; $return_data['content'] .= ""; $return_data['content'] .= " | |||
| " . getLanguageText('TEXT-TOTAL') . " | $symbol" . number_format($orderTotal,2) . " | |||||
| " . getLanguageText('TEXT-NAME') . " | "; $content .= "" . $GlobalText['Class'] . " | "; $content .= "
| $first_name $last_name | "; $content .= ""; $content .= ""; $content .= " | "; $content .= "
--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'load-email-reminders-log-detail': // startLog("load-email-reminders-log-detail"); if (array_key_exists('school_num',$_GET) && $_SESSION['UserInfo']['type'] == 'SuperUser') $school_num = intval($_GET['school_num']); writeLog("school_num: $school_num"); if (array_key_exists('log_num',$_GET)) $log_num = intval($_GET['log_num']); writeLog("log_num: $log_num"); // Setup format $columnHeaders = array(getLanguageText('TEXT-USERID'), getLanguageText('TEXT-EMAIL'), getLanguageText('TEXT-TIME'), ); $columnAlign = array('left','left','left'); $commands = array(); $commands[] = "$view_icon_small"; $results = db_query("SELECT * FROM email_reminders_log WHERE school_num = $school_num AND record_num = $log_num"); if (db_num_rows($results)) { $query = "SELECT * FROM email_reminders_log_detail WHERE school_num = $school_num AND log_num = $log_num ORDER BY userid,time_sent ASC"; writeLog($query); $logs = db_query($query); writeLog("Num records: ".db_num_rows($logs)); if (db_num_rows($logs)) { $data = array(); while ($row = db_fetch_assoc($logs)) { extract($row); $msg = "| " . nl2br(str_replace("'",""",$email_message)) . " |
--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } } else { $return_data['content'] = "--- ".getLanguageText('ERRORMSG-NO-RECORDS')." ---
"; } break; case 'load-image-list': if ($userType != 'Admin') return; $content = ""; $image_path = "files/$subpath/image"; if (is_dir($image_path)) { $imagedir = opendir($image_path); $file_names = array(); while ($file = readdir($imagedir)) { if ($file == ".") continue; if ($file == "..") continue; $file_names[] = $file; } } if (count($file_names)) { sort($file_names); $class = 'data-odd'; $content .= "| $fname | " . "".getLanguageText('TEXT-DELETE')." |
--- ".getLanguageText('TEXT-NO-IMAGES-FOUND')." ---
"; } break; case 'load-image-gallery': // startLog('load-image-gallery'); if ($userType != 'Admin') return; $content = ""; $image_path = "files/$subpath/image"; writeLog("image_path: $image_path"); if (is_dir($image_path)) { $imagedir = opendir($image_path); $file_names = array(); while ($file = readdir($imagedir)) { if ($file == ".") continue; if ($file == "..") continue; if (strstr($file,"-tn.jpg") !== false) $file_names[] = $file; if (strstr($file,"-tn.jpeg") !== false) $file_names[] = $file; if (strstr($file,"-tn.png") !== false) $file_names[] = $file; if (strstr($file,"-tn.gif") !== false) $file_names[] = $file; } } sort($file_names); $count = count($file_names); $rows = intval(($count + 3) / 4); $columns = 4; $img = 0; if (count($file_names)) { $content = "| ";
if ($img < count($file_names)) {
$thumbnail = $file_names[$img];
$image = str_replace("-tn.",".",$thumbnail);
writeLog("image_path: $image_path");
writeLog("image: $image");
$content .= " | ";
}
$content .= "