fix SAP blog parser

This commit is contained in:
2018-07-16 20:13:31 +02:00
parent 4054f58fd5
commit 1ecbd92cf7

View File

@@ -7,8 +7,8 @@
class Databap extends PhpObject class Databap extends PhpObject
{ {
//Common Constants //Common Constants
const VERSION = '1.1.1'; //Versioning: <Main_Version>.<Enhancement_Package>.<Patch>-<Release_Candidate> const VERSION = '1.1.2'; //Versioning: <Main_Version>.<Enhancement_Package>.<Patch>-<Release_Candidate>
const VERSION_DATE = '08/06/2015'; const VERSION_DATE = '16/07/2018';
const EXPECTED_PAGE_COOKIE = 'exp_page'; const EXPECTED_PAGE_COOKIE = 'exp_page';
const MAIN_SEPARATOR = ' '; const MAIN_SEPARATOR = ' ';
const DATE_FORMAT = 'd/m/Y'; const DATE_FORMAT = 'd/m/Y';
@@ -43,6 +43,7 @@ class Databap extends PhpObject
const FILE_TABLE = 'files'; const FILE_TABLE = 'files';
const SEARCH_TABLE = 'searchs'; const SEARCH_TABLE = 'searchs';
const TABL_TABLE = 'tables'; const TABL_TABLE = 'tables';
const TITLE_LEN = 200;
//Code //Code
const MAX_LIST_LENGTH = 5; const MAX_LIST_LENGTH = 5;
@@ -266,7 +267,7 @@ class Databap extends PhpObject
'active' => "tinyint(1) DEFAULT ".self::MEMBER_ACTIVE, 'active' => "tinyint(1) DEFAULT ".self::MEMBER_ACTIVE,
'clearance' => "int(1) DEFAULT ".self::CLEARANCE_MEMBER, 'clearance' => "int(1) DEFAULT ".self::CLEARANCE_MEMBER,
MySqlManager::getText(self::CODE_TABLE) => "longtext NOT NULL", MySqlManager::getText(self::CODE_TABLE) => "longtext NOT NULL",
'title' => "varchar(200) NOT NULL", 'title' => "varchar(".self::TITLE_LEN.") NOT NULL",
'description' => "varchar(500) NOT NULL", 'description' => "varchar(500) NOT NULL",
'link' => "varchar(200) NOT NULL", 'link' => "varchar(200) NOT NULL",
'refer_id' => "int(10) UNSIGNED NOT NULL", 'refer_id' => "int(10) UNSIGNED NOT NULL",
@@ -613,18 +614,17 @@ class Databap extends PhpObject
public function syncSapBlog() public function syncSapBlog()
{ {
//Get articles list
$asArticles = $this->getSAPBlogRss();
//Update and spread the news //Update and spread the news
$asResult = array(); $asResult = array();
$iTimeStamp = time(); $iTimeStamp = time();
if(date('N', $iTimeStamp)>5 || date('G', $iTimeStamp)>19) $asResult[] = "Pas de mise-à-jour pendant le week end ou en soirée."; if((date('N', $iTimeStamp)>5 || date('G', $iTimeStamp)>19) && !Settings::DEBUG) $asResult[] = "Pas de mise-à-jour pendant le week end ou en soirée.";
else else
{ {
//Get articles list
$asArticles = $this->getSAPBlogRss();
foreach($asArticles as $asArticle) foreach($asArticles as $asArticle)
{ {
$iArticleId = $this->oMySql->selectValue(self::ART_TABLE, MySqlManager::getId(self::ART_TABLE), array('title'=>$asArticle['title'])); $iArticleId = $this->oMySql->selectValue(self::ART_TABLE, MySqlManager::getId(self::ART_TABLE), array('title'=>mb_substr($asArticle['title'], 0, self::TITLE_LEN)));
if(!$iArticleId) if(!$iArticleId)
{ {
$iArticleId = $this->oMySql->insertRow(self::ART_TABLE, $asArticle); $iArticleId = $this->oMySql->insertRow(self::ART_TABLE, $asArticle);
@@ -646,20 +646,29 @@ class Databap extends PhpObject
//SAP Blogs //SAP Blogs
$sSAPDomain = 'https://blogs.sap.com/'; $sSAPDomain = 'https://blogs.sap.com/';
$asBlogTags = array('73554900100700001049', //Lumira $asBlogTags = array('73554900100700001049', //Lumira
'73555000100800000662', //Another Lumira
'67837800100800004495', //Lumira Desktop Edition
'73554900100700000818', //Design Studio '73554900100700000818', //Design Studio
'01200615320800003687', //Another Design Studio
'242586194391178517100436979900901',//BW '242586194391178517100436979900901',//BW
'01200245450800000012', //Another BW '01200245450800000012', //Another BW
'73554900100800000681', //BW/4HANA '73554900100800000681', //BW/4HANA
'73554900100700001661', //Another BW/4HANA '73554900100700001661', //Another BW/4HANA
'337684911283545157914465705009179',//Another BW/4HANA
'73554900100700000814', //BO Platform '73554900100700000814', //BO Platform
'907900296036854683333078008146613',//Webi '907900296036854683333078008146613',//Webi
'73554900100700000813', //Analysis '73554900100700000813', //Analysis
'SAPSAC_FeaturedBlogs', //SAC
'67838200100800006884', //Another SAC
'73554900100700000996', //Hana
'73554900100800000098', //Streaming Analytics
'73554900100800000033' //SDI
); );
$this->oClassManagement->incClass('rss'); $this->oClassManagement->incClass('rss');
foreach($asBlogTags as $asBlogTag) foreach($asBlogTags as $sBlogTag)
{ {
$oRss = new Feed(); $oRss = new Feed();
$oRss->loadRss($sSAPDomain.'tags/'.$asBlogTag.'/feed/'); $oRss->loadRss($sSAPDomain.'tags/'.$sBlogTag.'/feed/');
$asBlogItems = $oRss->getItems(); $asBlogItems = $oRss->getItems();
foreach($asBlogItems as $asBlogItem) foreach($asBlogItems as $asBlogItem)
{ {