view = $view; if (array_key_exists ('id', $icon) && trim ($icon ['id']) != '') $this->id = $icon ['id']; $this->section = array_key_exists ('section', $icon) ? Business::singleton ()->getSection ($icon ['section']) : Business::singleton ()->getSection (Section::TCURRENT); $user = User::singleton (); if (array_key_exists ('action', $icon)) { $this->action = $this->section->getAction ($icon ['action']); if (!$user->accessAction ($this->action->getName (), $this->section->getName ())) $this->accessible = FALSE; } else $this->action = $this->section->getAction (Action::TDEFAULT); if (array_key_exists ('label', $icon)) $this->label = translate ($icon ['label']); if (array_key_exists ('image', $icon)) $this->image = $icon ['image']; elseif ($this->image == '') $this->image = $this->action->getName () .'.gif'; if (array_key_exists ('variable', $icon)) $this->variables = explode (',', $icon ['variable']); if (array_key_exists ('restrict', $icon)) { $aux = explode (',', $icon ['restrict']); foreach ($aux as $trash => $perm) { if ($user->hasPermission ($perm)) continue; $this->accessible = FALSE; break; } } } //abstract public function makeIcon (); //abstract public function makeLink (); protected function iconImage ($image) { $section = Business::singleton ()->getSection (Section::TCURRENT); if (file_exists ($section->getCompPath () .'_icon/'. $image)) return $section->getCompPath () .'_icon/'. $image; return Skin::singleton ()->getIconsFolder () . $image; } public function getId () { return $this->id; } } ?>