<?PHP

/******************************************************
    category class

- used to import and retreive category information
******************************************************/

class category{
    
    var 
$id 0;
    var 
$title '';
    var 
$packages = array();

    function 
category($category$insertIfNeeded false){
        if (
is_numeric($category) && $category != 0){
            
        }elseif(
trim($category) != ''){
            
$sql "SELECT category_p, category_title FROM `category` WHERE `category_title` = '".mysqlclean($category)."' AND `_removed` IS NULL LIMIT 0,1";
            
$results mysql_query($sql) or die(mysql_error());
            
            if(
$row mysql_fetch_assoc($results)){
                
$this->id $row['category_p'];
                
$this->title $row['category_title'];
            }elseif(
$insertIfNeeded){
                
// import the category
                
$this->_import($category);
            }
        }
    }
    
    function 
packages(){
        if(
count($this->packages) == 0){
            
$sql "SELECT package_description, package_title, package_p FROM `package` WHERE category_f = {$this->id} AND `_removed` IS NULL ORDER BY `package_title`";
            
$results mysql_query($sql) or die(mysql_error());
            while(
$row mysql_fetch_assoc($results)){
                
$row['category_title'] = $this->title;
                
$this->packages[] = $row;
            }
        }
        return 
$this->packages;
    }
    
    function 
get_package_id($package){
        
$pkgs $this->packages();
        foreach(
$pkgs as $value)
            if(
$value['package_title'] == $package)
                return 
$value['package_p'];
                
        return 
false;
    }
    
    function 
_import($category){
        
$sql "INSERT INTO `category` (`category_title`, `_added`) VALUES ('".mysqlclean($category)."', NOW())";
        
mysql_query($sql) or die('Category Insert Error: ' mysql_error());
        
$this->id mysql_insert_id();
        
$this->title $category;
    }

}

?>