'circulars', 'upi' => 'circular', 'rupay' => 'circulars', 'nach' => 'circulars', 'imps' => 'circular', 'netc-fastag' => 'circulars', '99' => 'circular', 'nfs' => 'circulars', 'aeps' => 'circulars', 'bhim-aadhaar' => 'circular', 'e-rupi' => 'circular', 'Bharat QR' => 'circulars', 'bharat-billpay' => 'circulars', ]; const PARAMETERS = [[ 'product' => [ 'name' => 'product', 'type' => 'list', 'values' => [ 'CTS' => 'cts', 'UPI' => 'upi', 'RuPay' => 'rupay', 'NACH' => 'nach', 'IMPS' => 'imps', 'NETC FASTag' => 'netc-fastag', '*99#' => '99', 'NFS' => 'nfs', 'AePS' => 'aeps', 'BHIM Aadhaar' => 'bhim-aadhaar', 'e-RUPI' => 'e-rupi', 'Bharat BillPay' => 'bharat-billpay' ] ] ]]; public function getName() { $product = $this->getInput('product'); if ($product) { $productNameMap = array_flip(self::PARAMETERS[0]['product']['values']); $productName = $productNameMap[$product]; return "NPCI Circulars: $productName"; } return 'NPCI Circulars'; } public function getURI() { $product = $this->getInput('product'); return $product ? sprintf('%s/what-we-do/%s/%s', self::URI, $product, self::URL_SUFFIX[$product]) : self::URI; } public function collectData() { $html = getSimpleHTMLDOMCached($this->getURI()); $year = date('Y'); $elements = $html->find("div[id=year$year] .pdf-item"); foreach ($elements as $element) { $title = $element->find('p', 0)->innertext; $link = $element->find('a', 0); $uri = null; if ($link) { $pdfLink = $link->getAttribute('href'); $uri = self::URI . str_replace(' ', '+', $pdfLink); } $item = [ 'uri' => $uri, 'title' => $title, 'content' => $title , 'uid' => sha1($pdfLink), 'enclosures' => [ $uri ] ]; $this->items[] = $item; } $this->items = array_slice($this->items, 0, 15); } }