'Tour Name', 'num' => 'Tour Number', 'description' => 'Description', 'capacity' => 'Capacity', 'grade_min' => 'Minimum Grade', 'grade_max' => 'Maximum Grade', 'conferences_id' => 'Conference ID', 'contact' => 'Contact', 'location' => 'Location'); class tours { /* Static members for the table editor */ function tableEditorSetup($editor) { global $tours_fields; global $config, $conference; /* Setup the table editor with the fields we want to display * when displaying a list of tours, and also the type of each * field where required */ $l = array( 'num' => 'Tour Number', 'name' => 'Tour Name', 'capacity' => 'Capacity', 'grade_min' => 'Minimum Grade', 'grade_max' => 'Maximum Grade', 'conferences_id' => 'Conference ID', ); /* Most of these should be moved to the base class, as they * will be the same for all person groups */ $editor->setTable('tours'); $editor->setRecordType('Tour'); $editor->setListFields($l); $editor->setPrimaryKey('id'); $editor->setEditFields($tours_fields); $editor->setFieldOptions('conferences_id', array( array('key' => 'NULL', 'val' => 'Inactive'), array('key' => $conference['id'], 'val' => $conference['name']))); // print_r($e); print("
\n"); /* Build an array of grades */ $gradechoices = array(); for($g = $config['mingrade']; $g <= $config['maxgrade']; $g++) { $gradechoices[] = array('key' => $g, 'val' => "Grade $g"); } $editor->setFieldOptions("grade_min", $gradechoices); $editor->setFieldInputType("grade_min", 'select'); $editor->setFieldOptions("grade_max", $gradechoices); $editor->setFieldInputType("grade_max", 'select'); } /* Functions for $this */ function tours($tour_id=NULL) { if($tour_id == NULL) { $this->id = FALSE; } else { $this->id = $tour_id; } } function tableEditorLoad() { global $config; $id = $this->id; // print("Loading Judge ID $id\n"); $q=mysql_query("SELECT tours.* FROM tours WHERE tours.id='$id'"); echo mysql_error(); /* We assume that the field names in the array we want to return * are the same as those in the database, so we'll turn the entire * query into a single associative array */ $j = mysql_fetch_assoc($q); return $j; } function tableEditorSave($data) { /* If $this->id == false, then we need to INSERT a new record. * if it's a number, then we want an UPDATE statement */ global $tours_fields; global $config; $query = ""; /* Construct an insert query if we have to */ if($this->id == false) { $query = "INSERT INTO tours (id) VALUES ('')"; mysql_query($query); $this->id = mysql_insert_id(); } /* Now just update the record */ $query="UPDATE `tours` SET "; foreach($tours_fields AS $f=>$n) { $n = $data[$f]; $query .= "`$f`=$n,"; } //rip off the last comma $query=substr($query,0,-1); $query .= " WHERE id='{$this->id}'"; mysql_query($query); } function tableEditorDelete() { global $conference; $id = $this->id; mysql_query("DELETE FROM tours_choice WHERE tour_id='$id' AND conferences_id=".$conference['id']."'"); mysql_query("DELETE FROM tours WHERE id='$id' AND conferences_id='".$conference['id']."'"); echo happy(i18n("Successfully removed tour from this conference")); } }; ?>