Esempio n. 1
0
 /**
  * get pdu object by type
  * @return Deliver|Submit|Report
  * @throws Exception
  */
 public static function getPduByType()
 {
     // parse type of sms
     $type = Type::parse();
     $self = NULL;
     switch ($type->getMti()) {
         case Type::SMS_DELIVER:
             $self = new Deliver();
             break;
         case Type::SMS_SUBMIT:
             $self = new Submit();
             // get mr
             $self->setMr(hexdec(PDU::getPduSubstr(2)));
             break;
         case Type::SMS_REPORT:
             $self = new Report();
             // get reference
             $self->setReference(hexdec(PDU::getPduSubstr(2)));
             break;
         default:
             throw new Exception("Unknown sms type");
     }
     // set type
     $self->setType($type);
     return $self;
 }