Overview

Namespaces

  • SMSApi
    • Api
      • Action
        • Phonebook
        • Sender
        • Sms
        • User
      • Response
    • Exception
    • Proxy
      • Http

Classes

  • SMSApi\Proxy\Http\AbstractHttp
  • SMSApi\Proxy\Http\Curl
  • SMSApi\Proxy\Http\Native
  • Overview
  • Namespace
  • Class
  1: <?php
  2: 
  3: namespace SMSApi\Api\Action\Phonebook;
  4: 
  5: use SMSApi\Api\Action\AbstractAction;
  6: use SMSApi\Proxy\Uri;
  7: 
  8: /**
  9:  * Class ContactAdd
 10:  * @package SMSApi\Api\Action\Phonebook
 11:  */
 12: class ContactAdd extends AbstractAction {
 13: 
 14:     /**
 15:      * @var \ArrayObject
 16:      */
 17:     private $groups;
 18: 
 19:     /**
 20:      *
 21:      */
 22:     function __construct() {
 23:         $this->groups = new \ArrayObject();
 24:     }
 25: 
 26:     /**
 27:      * @param $data
 28:      * @return \SMSApi\Api\Response\ContactResponse
 29:      */
 30:     protected function response( $data ) {
 31: 
 32:         return new \SMSApi\Api\Response\ContactResponse( $data );
 33:     }
 34: 
 35:     /**
 36:      * @return Uri
 37:      */
 38:     public function uri() {
 39: 
 40:         $query = "";
 41: 
 42:         $query .= $this->paramsLoginToQuery();
 43: 
 44:         $query .= $this->paramsOther();
 45: 
 46:         if ( count( $this->groups ) > 0 ) {
 47:             $query .= "&groups=" . implode( ",", $this->groups->getArrayCopy() );
 48:         }
 49: 
 50:         return new Uri( $this->proxy->getProtocol(), $this->proxy->getHost(), $this->proxy->getPort(), "/api/phonebook.do", $query );
 51:     }
 52: 
 53:     /**
 54:      * Set contact phone number.
 55:      *
 56:      * @param string|int $number
 57:      * @return $this
 58:      */
 59:     public function setNumber( $number ) {
 60:         $this->params[ "add_contact" ] = $number;
 61:         return $this;
 62:     }
 63: 
 64:     /**
 65:      * Set contact first name.
 66:      *
 67:      * @param string $firstName
 68:      * @return $this
 69:      */
 70:     public function setFirstName( $firstName ) {
 71:         $this->params[ "first_name" ] = $firstName;
 72:         return $this;
 73:     }
 74: 
 75:     /**
 76:      * Set contact last name.
 77:      *
 78:      * @param string $lastName
 79:      * @return $this
 80:      */
 81:     public function setLastName( $lastName ) {
 82:         $this->params[ "last_name" ] = $lastName;
 83:         return $this;
 84:     }
 85: 
 86:     /**
 87:      * Set additional contact description.
 88:      *
 89:      * @param string $info
 90:      * @return $this
 91:      */
 92:     public function setInfo( $info ) {
 93:         $this->params[ "info" ] = $info;
 94:         return $this;
 95:     }
 96: 
 97:     /**
 98:      * Set contact email address.
 99:      *
100:      * @param $email
101:      * @return $this
102:      */
103:     public function setEmail( $email ) {
104:         $this->params[ "email" ] = $email;
105:         return $this;
106:     }
107: 
108:     /**
109:      * Set contact birthday date.
110:      *
111:      * @param string $birthday
112:      * @return $this
113:      */
114:     public function setBirthday( $birthday ) {
115:         $this->params[ "birthday" ] = $birthday;
116:         return $this;
117:     }
118: 
119:     /**
120:      * Set contact city.
121:      *
122:      * @param string $city
123:      * @return $this
124:      */
125:     public function setCity( $city ) {
126:         $this->params[ "city" ] = $city;
127:         return $this;
128:     }
129: 
130:     /**
131:      * Set contact gender.
132:      *
133:      * @param string $gender female, male, unknown
134:      * @return $this
135:      */
136:     public function setGender( $gender ) {
137:         $this->params[ "gender" ] = $gender;
138:         return $this;
139:     }
140: 
141:     /**
142:      * Set contact to group.
143:      * Others contact groups will be removed.
144:      *
145:      * @param string $group group name
146:      * @return $this
147:      */
148:     public function setGroup( $group ) {
149:         $this->groups->append( $group );
150:         return $this;
151:     }
152: 
153:     /**
154:      * Set contact to groups.
155:      * Others contact groups will be removed.
156:      *
157:      * @param array $groups array with groups names
158:      * @return $this
159:      */
160:     public function setGroups( array $groups ) {
161:         $this->groups->exchangeArray( $groups );
162:         return $this;
163:     }
164: 
165: }
166: 
167: 
SMSAPI Api Client API documentation generated by ApiGen