SetName($name); } function AddRectArea($x1,$y1,$x2,$y2,$href,$alt) { return $this->AddArea(array($x1,$y1,$x2,$y2),$href,$alt,'rect'); } function AddArea($coords,$href,$alt,$shape) { return $this->AddItem(new CArea($coords,$href,$alt,$shape)); } function AddItem($value) { if(strtolower(get_class($value)) != 'carea') return $this->error("Incorrect value for AddItem [$value]"); return parent::AddItem($value); } } class CArea extends CTag { function CArea($coords,$href,$alt,$shape) { parent::CTag("area","no"); $this->SetCoords($coords); $this->SetShape($shape); $this->SetHref($href); $this->SetAlt($alt); } function SetCoords($value) { if(!is_array($value)) return $this->error("Incorrect value for SetCoords [$value]"); if(count($value)<3) return $this->error("Incorrect values count for SetCoords [".count($value)."]"); $str_val = ""; foreach($value as $val) { if(!is_numeric($val)) return $this->error("Incorrect value for SetCoords [$val]"); $str_val .= $val.","; } $this->AddOption("coords",trim($str_val,',')); } function SetShape($value) { if(!is_string($value)) return $this->error("Incorrect value for SetShape [$value]"); $this->AddOption("shape",$value); } function SetHref($value) { if(!is_string($value)) return $this->error("Incorrect value for SetHref [$value]"); $this->AddOption("href",$value); } function SetAlt($value) { if(!is_string($value)) return $this->error("Incorrect value for SetAlt [$value]"); $this->AddOption("alt",$value); } } ?>