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'); }
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; }
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); }