Qualifier.php
Go to the documentation of this file.
00001 <?PHP 00002 00003 # 00004 # FILE: SPT--Qualifier.php 00005 # 00006 # METHODS PROVIDED: 00007 # Qualifier($QualifierId = NULL) 00008 # - constructor (no ID creates new qualifier) 00009 # Delete() 00010 # - remove qualifier from database 00011 # Id() 00012 # - get attribute 00013 # Name($NewValue = DB_NOVALUE) 00014 # Url($NewValue = DB_NOVALUE) 00015 # - get/set attributes 00016 # 00017 # AUTHOR: Edward Almasy 00018 # 00019 # Part of the Scout Portal Toolkit 00020 # Copyright 2003 Internet Scout Project 00021 # http://scout.wisc.edu 00022 # 00023 00024 class Qualifier { 00025 00026 # ---- PUBLIC INTERFACE -------------------------------------------------- 00027 00028 # object constructor (no ID creates new qualifier) 00029 function Qualifier($QualifierId = NULL) 00030 { 00031 # create our own database handle 00032 $this->DB = new SPTDatabase(); 00033 $DB =& $this->DB; 00034 00035 if (func_num_args()==0) 00036 { 00037 # determine next qualifier ID 00038 $HighestId = $DB->Query( 00039 "SELECT QualifierId FROM Qualifiers" 00040 ." ORDER BY QualifierId DESC LIMIT 1", "QualifierId"); 00041 $this->Id = ($HighestId > 0) ? ($HighestId + 1) : 1; 00042 00043 # add record to database with that ID 00044 $DB->Query("INSERT INTO Qualifiers SET QualifierId = ".$this->Id); 00045 00046 } 00047 # if ID supplied 00048 elseif ($QualifierId !== NULL) 00049 { 00050 # save ID 00051 $this->Id = intval($QualifierId); 00052 00053 # attempt to load qualifier info from database 00054 $DB->Query("SELECT * FROM Qualifiers" 00055 ." WHERE QualifierId = '".$this->Id."'"); 00056 00057 # if row was loaded 00058 if ($DB->NumRowsSelected() > 0) 00059 { 00060 # set attributes to values returned by database 00061 $this->DBFields = $DB->FetchRow(); 00062 } 00063 } 00064 } 00065 00066 # remove qualifier from database 00067 function Delete() 00068 { 00069 # delete record from database 00070 $this->DB->Query("DELETE FROM Qualifiers WHERE QualifierId = ".$this->Id); 00071 } 00072 00073 # get attribute 00074 function Id() { return $this->Id; } 00075 00076 # get/set attributes 00077 function Name($NewValue = DB_NOVALUE) { return $this->UpdateValue("QualifierName", $NewValue); } 00078 function NSpace($NewValue = DB_NOVALUE) { return $this->UpdateValue("QualifierNamespace", $NewValue); } 00079 function Url($NewValue = DB_NOVALUE) { return $this->UpdateValue("QualifierUrl", $NewValue); } 00080 00081 00082 # ---- PRIVATE INTERFACE ------------------------------------------------- 00083 00084 var $Id; 00085 var $DB; 00086 var $DBFields; 00087 00088 # convenience function to supply parameters to Database->UpdateValue() 00089 function UpdateValue($FieldName, $NewValue) 00090 { 00091 return $this->DB->UpdateValue("Qualifiers", $FieldName, $NewValue, 00092 "QualifierId = '".$this->Id."'", $this->DBFields); 00093 } 00094 } 00095 00096 00097 ?>