value = $flags; } /** add flag * @param $flag XXX * @return VOID */ function addflag($flag) { if (!$flag) return; if (!$this->hasflag($flag)) { if ($this->value) $this->value .= $this->sep; $this->value .= $flag; } } /** test si flag ou pas * @param $flag XXX * @return 1 || 0 */ function hasflag($flag) { $tok = strtok($this->value,$this->sep); while ($tok) { if ($tok==$flag) return 1; $tok = strtok($this->sep); } return 0; } /** remove flag * @param $flag XXX * @return VOID */ function rmflag($flag) { if (!$flag) return; $newvalue = ""; $tok = strtok($this->value,$this->sep); while ($tok) { if ($tok!=$flag) { if ($newvalue) $newvalue .= $this->sep; $newvalue .= $tok; } $tok = strtok($this->sep); } $this->value=$newvalue; } } // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: ?>