示例#1
0
 private function getRemoteItems($syncInfo, array $conditions = array())
 {
     $controller = new Services_RemoteController($syncInfo['provider'], 'tracker');
     return $controller->getResultLoader('list_items', array_merge($conditions, array('trackerId' => $syncInfo['source'], 'format' => 'raw')), 'offset', 'maxRecords', 'result');
 }
示例#2
0
 function importRemoteField(array $info, array $syncInfo)
 {
     $groupIds = $this->getOption('groupIds', '');
     $groupIds = array_filter(explode('|', $groupIds));
     $groupIds = array_map('intval', $groupIds);
     $controller = new Services_RemoteController($syncInfo['provider'], 'user');
     $users = $controller->getResultLoader('list_users', array('groupIds' => $groupIds));
     $list = array();
     foreach ($users as $user) {
         $list[] = $user['login'];
     }
     if (count($list)) {
         $info['type'] = 'd';
         $info['options'] = implode(',', $list);
     } else {
         $info['type'] = 't';
         $info['options'] = '';
     }
     return $info;
 }
示例#3
0
 private function getRemoteItemLinks($syncInfo, $trackerId, $fieldId, $status)
 {
     $controller = new Services_RemoteController($syncInfo['provider'], 'tracker');
     $items = $controller->getResultLoader('list_items', array('trackerId' => $trackerId, 'status' => $status));
     $result = $controller->edit_field(array('trackerId' => $trackerId, 'fieldId' => $fieldId));
     $permName = $result['field']['permName'];
     if (empty($permName)) {
         return '';
     }
     $parts = array();
     foreach ($items as $item) {
         $parts[] = $item['itemId'] . '=' . $item['fields'][$permName];
     }
     return implode(',', $parts);
 }