function action_import_fields($input) { if (!Perms::get()->admin_trackers) { throw new Services_Exception_Denied(tr('Reserved for tracker administrators')); } $trackerId = $input->trackerId->int(); $definition = Tracker_Definition::get($trackerId); if (!$definition) { throw new Services_Exception_NotFound(); } $raw = $input->raw->none(); $preserve = $input->preserve_ids->int(); $data = TikiLib::lib('tiki')->read_raw($raw); if ($_SERVER['REQUEST_METHOD'] == 'POST') { if (!$data) { throw new Services_Exception(tr('Invalid data provided'), 400); } foreach ($data as $info) { $this->utilities->importField($trackerId, new JitFilter($info), $preserve); } } return array('title' => tr('Import Tracker Fields'), 'trackerId' => $trackerId); }