Example #1
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;
 }
Example #2
0
 /**
  * @param array $issueData
  * @return JiraIssue
  */
 public static function createFromArray(array $issueData)
 {
     $issue = new self();
     if (isset($issueData['id'])) {
         $issue->setId($issueData['id']);
     }
     if (isset($issueData['key'])) {
         $issue->setKey($issueData['key']);
     }
     if (isset($issueData['exand'])) {
         $issue->setExpand(explode(',', $issueData['expand']));
     }
     if (!empty($issueData['fields'])) {
         $issue->setFields($issueData['fields']);
     }
     return $issue;
 }