public function runFindDuplicateIssue(TBGRequest $request) { $status = 200; $message = null; if ($issue_id = $request['issue_id']) { try { $issue = TBGContext::factory()->TBGIssue($issue_id); } catch (Exception $e) { $status = 400; $message = TBGContext::getI18n()->__('Could not find this issue'); } } else { $status = 400; $message = TBGContext::getI18n()->__('Please provide an issue number'); } $searchfor = $request['searchfor']; if (mb_strlen(trim($searchfor)) < 3 && !is_numeric($searchfor)) { $status = 400; $message = TBGContext::getI18n()->__('Please enter something to search for (3 characters or more) %searchfor', array('searchfor' => $searchfor)); } $this->getResponse()->setHttpStatus($status); if ($status == 400) { return $this->renderJSON(array('error' => $message)); } list($issues, $count) = TBGIssue::findIssuesByText($searchfor, $this->selected_project); return $this->renderJSON(array('content' => $this->getComponentHTML('main/findduplicateissues', array('issue' => $issue, 'issues' => $issues, 'count' => $count)))); }