mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2024-11-22 09:35:28 +03:00
[npci] Adds new NPCI Bridge (#2651)
This commit is contained in:
parent
63b08f7da9
commit
31455b6838
1 changed files with 95 additions and 0 deletions
95
bridges/NpciBridge.php
Normal file
95
bridges/NpciBridge.php
Normal file
|
@ -0,0 +1,95 @@
|
|||
<?php
|
||||
class NpciBridge extends BridgeAbstract {
|
||||
|
||||
const MAINTAINER = 'captn3m0';
|
||||
const NAME = 'NCPI Circulars';
|
||||
const URI = 'https://npci.org.in';
|
||||
const CACHE_TIMEOUT = 3600;
|
||||
const DESCRIPTION = 'Returns circulars from National Payments Corporation of India)';
|
||||
|
||||
const URL_SUFFIX = [
|
||||
'cts' => '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);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue