221 $this->reflector = new \ReflectionClass(get_called_class());
227 return ($this[$offset] !== null);
233 if (!is_string($offset)) {
234 throw new \Erebot\InvalidValueException(
'Not a valid name');
238 $name = strtoupper($offset);
239 while (!in_array($name, $seen)) {
242 if (!$this->reflector->hasConstant($name)) {
245 $constValue = $this->reflector->getConstant($name);
247 if (is_int($constValue) &&
249 $constValue <= 999) {
253 if (is_string($constValue)) {
254 $name = strtoupper($constValue);
260 throw new \Erebot\InvalidValueException(
'Loop detected');
266 throw new \Erebot\NotImplementedException();
272 throw new \Erebot\NotImplementedException();
const RPL_STARTTLS
Alias for Erebot::Interfaces::Numerics::RPL_STARTTLSOK.
const ERR_LAST_ERR_MSG
Alias for Erebot::Interfaces::Numerics::ERR_NUMERICERR.
const RPL_REDIR
Alias for Erebot::Interfaces::Numerics::RPL_BOUNCE.
const RPL_YOURID
Alias for Erebot::Interfaces::Numerics::RPL_YOURUUID.
Interface to provide accessing objects as arrays.
const RPL_COMMANDSYNTAX
Alias for Erebot::Interfaces::Numerics::RPL_LISTSYNTAX.
const RPL_YOURHOST
Alias for Erebot::Interfaces::Numerics::RPL_YOURHOSTIS.
const RPL_ENDOFINVEXLIST
Alias for Erebot::Interfaces::Numerics::RPL_ENDOFINVITELIST.
const RPL_STARTTLSOK
Alias for Erebot::Interfaces::Numerics::RPL_STARTTLS.
const RPL_MYINFO
Alias for Erebot::Interfaces::Numerics::RPL_SERVERVERSION.
const ERR_WORDFILTERED
Alias for Erebot::Interfaces::Numerics::ERR_NOSWEAR.
const RPL_RULESSTART
Alias for Erebot::Interfaces::Numerics::RPL_RULESTART.
Abstract class that serves as a base to create a numeric profile for an IRCd server.
const ERR_NOTSSLCLIENT
Alias for Erebot::Interfaces::Numerics::ERR_NOSSL.
const RPL_EXLIST
Alias for Erebot::Interfaces::Numerics::RPL_EXCEPTLIST.
const RPL_RULESEND
Alias for Erebot::Interfaces::Numerics::RPL_ENDOFRULES.
const RPL_TRACEEND
Alias for Erebot::Interfaces::Numerics::RPL_ENDOFTRACE.
const ERR_ALREADYREGISTERED
Alias for Erebot::Interfaces::Numerics::ERR_ALREADYREGISTRED.
const RPL_INVEXLIST
Alias for Erebot::Interfaces::Numerics::RPL_INVITELIST.
const ERR_NEEDPONG
Alias for Erebot::Interfaces::Numerics::ERR_BADPING.
const RPL_CREATED
Alias for Erebot::Interfaces::Numerics::RPL_SERVERCREATED.
const ERR_CHANOPRIVSNEEDED
Alias for Erebot::Interfaces::Numerics::ERR_CHANOPPRIVSNEEDED.
const RPL_LOAD2HI
Alias for Erebot::Interfaces::Numerics::RPL_TRYAGAIN.
const RPL_YOURUUID
Alias for Erebot::Interfaces::Numerics::RPL_YOURID.
const RPL_USINGSSL
Alias for Erebot::Interfaces::Numerics::RPL_WHOISSECURE.
const RPL_NAMEREPLY
Alias for Erebot::Interfaces::Numerics::RPL_NAMREPLY.
const RPL_EXCEPTLIST
Alias for Erebot::Interfaces::Numerics::RPL_EXEMPTLIST.
const RPL_YOUREOPER
Alias for Erebot::Interfaces::Numerics::RPL_YOUAREOPER.
const ERR_NOSWEAR
Alias for Erebot::Interfaces::Numerics::ERR_WORDFILTERED.
const RPL_EXEMPTLIST
Alias for Erebot::Interfaces::Numerics::RPL_EXLIST.
const ERR_NOSSL
Alias for Erebot::Interfaces::Numerics::ERR_NOTSSLCLIENT.
const RPL_LISTSYNTAX
Alias for Erebot::Interfaces::Numerics::RPL_COMMANDSYNTAX.
const ERR_NUMERICERR
Alias for Erebot::Interfaces::Numerics::ERR_NUMERIC_ERR.
const RPL_ENDMAP
Alias for Erebot::Interfaces::Numerics::RPL_MAPEND.
const RPL_TOPICTIME
Alias for Erebot::Interfaces::Numerics::RPL_TOPICWHOTIME.
const RPL_TOPICWHOTIME
Alias for Erebot::Interfaces::Numerics::RPL_TOPICTIME.
const RPL_SERVERVERSION
Alias for Erebot::Interfaces::Numerics::RPL_MYINFO.
const RPL_YOURHOSTIS
Alias for Erebot::Interfaces::Numerics::RPL_YOURHOST.
const RPL_BOUNCE
Alias for Erebot::Interfaces::Numerics::RPL_REDIR.
const RPL_RULESTART
Alias for Erebot::Interfaces::Numerics::RPL_RULESSTART.
const ERR_OPERONLYCHAN
Alias for Erebot::Interfaces::Numerics::ERR_CANTJOINOPERSONLY.
const ERR_TARGETTOOFAST
Alias for Erebot::Interfaces::Numerics::ERR_TARGETTOFAST.
const RPL_ENDOFEXEMPTLIST
Alias for Erebot::Interfaces::Numerics::RPL_ENDOFEXLIST.
const RPL_TRYAGAIN
Alias for Erebot::Interfaces::Numerics::RPL_LOAD2HI.
const RPL_ENDOFTRACE
Alias for Erebot::Interfaces::Numerics::RPL_TRACEEND.
const RPL_ENDOFINVITELIST
Alias for Erebot::Interfaces::Numerics::RPL_ENDOFINVEXLIST.
const RPL_WHOISSECURE
Alias for Erebot::Interfaces::Numerics::RPL_USINGSSL.
const ERR_NCHANGETOOFAST
Alias for Erebot::Interfaces::Numerics::ERR_NICKTOOFAST.
const ERR_NUMERIC_ERR
Alias for Erebot::Interfaces::Numerics::ERR_LAST_ERR_MSG.
const RPL_NAMREPLY
Alias for Erebot::Interfaces::Numerics::RPL_NAMEREPLY.
const ERR_CHANOPPRIVSNEEDED
Alias for Erebot::Interfaces::Numerics::ERR_CHANOPRIVSNEEDED.
const RPL_ENDOFEXLIST
Alias for Erebot::Interfaces::Numerics::RPL_ENDOFEXCEPTLIST.
const RPL_INVITELIST
Alias for Erebot::Interfaces::Numerics::RPL_INVEXLIST.
const ERR_CANTJOINOPERSONLY
Alias for Erebot::Interfaces::Numerics::ERR_OPERONLY.
__construct()
Constructs a new instance of this numeric profile.
const ERR_DELAYREJOIN
Alias for Erebot::Interfaces::Numerics::ERR_KICKNOREJOIN.
const ERR_NOCTCPALLOWED
Alias for Erebot::Interfaces::Numerics::ERR_NOCTCPALLOWED.
const RPL_CHANNELCREATED
Alias for Erebot::Interfaces::Numerics::RPL_CREATIONTIME.
const ERR_STARTTLSFAIL
Alias for Erebot::Interfaces::Numerics::ERR_STARTTLS.
$reflector
Reflection object for this class.
const ERR_KICKNOREJOIN
Alias for Erebot::Interfaces::Numerics::ERR_DELAYREJOIN.
offsetSet($offset, $value)
const ERR_OPERONLY
Alias for Erebot::Interfaces::Numerics::ERR_OPERONLYCHAN.
const RPL_MAPEND
Alias for Erebot::Interfaces::Numerics::RPL_ENDMAP.
const ERR_CANTCHANGENICK
Alias for Erebot::Interfaces::Numerics::ERR_NONICKCHANGE.
const RPL_ENDOFEXCEPTLIST
Alias for Erebot::Interfaces::Numerics::RPL_ENDOFEXEMPTLIST.
const ERR_NOCTCP
Alias for Erebot::Interfaces::Numerics::ERR_NOCTCP.
const RPL_CREATIONTIME
Alias for Erebot::Interfaces::Numerics::RPL_CHANNELCREATED.
const RPL_ENDOFRULES
Alias for Erebot::Interfaces::Numerics::RPL_RULESEND.
const ERR_NONICKCHANGE
Alias for Erebot::Interfaces::Numerics::ERR_CANTCHANGENICK.
const ERR_NICKTOOFAST
Alias for Erebot::Interfaces::Numerics::ERR_NCHANGETOOFAST.
const ERR_ALREADYREGISTRED
Alias for Erebot::Interfaces::Numerics::ERR_ALREADYREGISTERED.
const ERR_TARGETTOFAST
Alias for Erebot::Interfaces::Numerics::ERR_TARGETTOOFAST.
const ERR_BADPING
Alias for Erebot::Interfaces::Numerics::ERR_NEEDPONG.
const RPL_SERVERCREATED
Alias for Erebot::Interfaces::Numerics::RPL_CREATED.
const ERR_STARTTLS
Alias for Erebot::Interfaces::Numerics::ERR_STARTTLSFAIL.
const RPL_YOUAREOPER
Alias for Erebot::Interfaces::Numerics::RPL_YOUREOPER.