/**
  * Factory - create the response
  *
  * @param $data
  *
  * @return self|boolean
  */
 public function create($data)
 {
     $parent = parent::create($data);
     $data = $parent->getData();
     $response = new self();
     $response->setStatus($parent->getStatus());
     $response->setErrorMessage($parent->getErrorMessage());
     if (isset($data['count'])) {
         $response->setCount($data['count']);
         if ($response->getCount() > 0) {
             $response->setSubscribers($data['subscriberlist']['item']);
         }
     }
     return $response;
 }
Example #2
0
 /**
  * @param array $data
  *
  * @return Name
  */
 public static function factory(array $data)
 {
     $name = new self();
     $name->setName($data['name']);
     $name->setGender($data['gender']);
     if (isset($data['probability'])) {
         $name->setProbability(floatval($data['probability']));
     }
     if (isset($data['count'])) {
         $name->setCount($data['count']);
     }
     if (isset($data['country_id'])) {
         $name->setCountry($data['country_id']);
     }
     if (isset($data['language_id'])) {
         $name->setLanguage($data['language_id']);
     }
     return $name;
 }
Example #3
0
 /**
  * {@inheritdoc}
  */
 public static function fromArray(array $values)
 {
     $message = new self();
     $values = array_merge(['item_id' => null, 'count' => null, 'unseen' => null], $values);
     $message->setItemId($values['item_id']);
     $message->setCount($values['count']);
     $message->setUnseen($values['unseen']);
     return $message;
 }
Example #4
0
 public static function extract(array $parameters)
 {
     $filter = new self();
     $fields = isset($parameters['fields']) ? $parameters['fields'] : null;
     $startIndex = isset($parameters['startIndex']) ? $parameters['startIndex'] : null;
     $count = isset($parameters['count']) ? $parameters['count'] : null;
     $sortBy = isset($parameters['sortBy']) ? $parameters['sortBy'] : null;
     $sortOrder = isset($parameters['sortOrder']) ? $parameters['sortOrder'] : null;
     $filterBy = isset($parameters['filterBy']) ? $parameters['filterBy'] : null;
     $filterOp = isset($parameters['filterOp']) ? $parameters['filterOp'] : null;
     $filterValue = isset($parameters['filterValue']) ? $parameters['filterValue'] : null;
     $updatedSince = isset($parameters['updatedSince']) ? $parameters['updatedSince'] : null;
     if (!empty($fields)) {
         $parts = explode(',', $fields);
         $fields = array();
         foreach ($parts as $field) {
             $field = trim($field);
             if (strlen($field) > 0 && strlen($field) < 32 && ctype_alnum($field)) {
                 $fields[] = $field;
             }
         }
     } else {
         $fields = null;
     }
     $filter->setFields($fields);
     $startIndex = (int) $startIndex;
     if (!empty($startIndex) && $startIndex > 0) {
         $filter->setStartIndex($startIndex);
     }
     $count = (int) $count;
     if (!empty($count) && $count > 0) {
         $filter->setCount($count);
     }
     if (!empty($sortBy) && strlen($sortBy) < 128) {
         $filter->setSortBy($sortBy);
     }
     if (!empty($sortOrder)) {
         switch (strtolower($sortOrder)) {
             case 'asc':
             case 'ascending':
                 $filter->setSortOrder(Sql::SORT_ASC);
                 break;
             case 'desc':
             case 'descending':
                 $filter->setSortOrder(Sql::SORT_DESC);
                 break;
         }
     }
     if (!empty($filterBy) && ctype_alnum($filterBy) && strlen($filterBy) < 32) {
         $filter->setFilterBy($filterBy);
     }
     if (!empty($filterOp) && in_array($filterOp, array('contains', 'equals', 'startsWith', 'present'))) {
         $filter->setFilterOp($filterOp);
     }
     if (!empty($filterValue) && strlen($filterValue) < 128) {
         $filter->setFilterValue($filterValue);
     }
     if (!empty($updatedSince)) {
         $filter->setUpdatedSince(new \DateTime($updatedSince));
     }
     return $filter;
 }