public function prepareData($res) { $data = []; $dbr = wfGetDB(DB_SLAVE); while ($row = $dbr->fetchObject($res)) { if ($row->title) { $article = []; $params = $this->getUrlParams(); $title = Title::newFromText($row->title, $row->namespace); if ($title === null) { continue; } $article['link'] = InsightsHelper::getTitleLink($title, $params); $article['metadata']['wantedBy'] = $this->makeWlhLink($title, $row); $data[] = $article; } } return $data; }
/** * Get params to generate link back to edit mode * * @param Title $title * @param InsightsModel $model */ private function getInsightFixItParams(Title $title, InsightsModel $model) { $link = InsightsHelper::getTitleLink($title, $model->getUrlParams()); return ['editPageText' => wfMessage('insights-notification-message-fixit')->plain(), 'editPageLink' => $link['url']]; }
/** * Get data for the next element that a user can take care of. * * @param string $type A key of a Querypage * @param string $articleName A title of an article * @return Array The next item's data */ public function getNextItem($type, $articleName) { $next = []; $dbr = wfGetDB(DB_SLAVE); $articleName = $dbr->strencode($articleName); $res = $dbr->select('querycache', 'qc_title', ['qc_type' => ucfirst($type), "qc_title != '{$articleName}'"], 'DatabaseBase::select', ['LIMIT' => 1]); if ($res->numRows() > 0) { $row = $dbr->fetchObject($res); $title = Title::newFromText($row->qc_title); $next['link'] = InsightsHelper::getTitleLink($title, self::getUrlParams()); } return $next; }