fixing SAP blogs

This commit is contained in:
francois.lutran
2016-12-16 17:19:15 +13:00
parent 7fecaa602f
commit 1bca2ec8ad
3 changed files with 166 additions and 71 deletions

View File

@@ -262,7 +262,7 @@ class Databap extends PhpObject
'email' => "varchar(100) NOT NULL",
'hash' => "varchar(32) NOT NULL",
'pass' => "varchar(255) NOT NULL",
'auth_cookie' => "varchar(255) NOT NULL",
'auth_cookie' => "varchar(255)",
'active' => "tinyint(1) DEFAULT ".self::MEMBER_ACTIVE,
'clearance' => "int(1) DEFAULT ".self::CLEARANCE_MEMBER,
MySqlManager::getText(self::CODE_TABLE) => "longtext NOT NULL",
@@ -370,7 +370,7 @@ class Databap extends PhpObject
$this->oMySql->insertRow(self::OPTNAME_TABLE, array($sOptionNameIdCol=>self::OPT_CHAT_IMAGES, $sOptionNameCol=>'afficher les images du chat', 'type'=>self::OPT_CHECKBOX, 'language'=>self::LANG_FR));
//Select/checkbox and Default Option values: option_name => array(option_value => is_default, ...)
$asDefaultValues = array( self::OPT_CONSOLE=>array(true=>false, false=>true),
$asDefaultValues = array( self::OPT_CONSOLE=>array(true=>0, false=>1),
self::OPT_NICKNAME=>array('Utilisateur inconnu'=>true),
self::OPT_BG=>array('#04357B'=>true),
self::OPT_BG_2=>array('#88B2F0'=>true),
@@ -380,7 +380,7 @@ class Databap extends PhpObject
self::OPT_STATUS=>array('aucune mission en cours'=>true),
self::OPT_EMAIL=>array('email inconnu'=>true),
self::OPT_CHAT_HISTO=>array('0'=>true),
self::OPT_CHAT_IMAGES=>array(true=>true, false=>false)
self::OPT_CHAT_IMAGES=>array(true=>1, false=>0)
);
foreach($asDefaultValues as $sOptionNameId=>$asOptionValues)
{
@@ -510,7 +510,7 @@ class Databap extends PhpObject
'copyright'=>'Powered by Francois Lutran. RSS Feed Generator under GPLv3 License',
'description'=>'Flux RSS du chat'.($sCat==''?'':', section '.$sCat),
'language'=>'fr',
'webmaster_mail'=>'francois@lutran.fr'
'webMaster'=>'francois@lutran.fr'
);
$oFeed = new Feed($asDesc);
@@ -530,7 +530,7 @@ class Databap extends PhpObject
'description'=>$asRow['message'],
'author'=>$asRow['nickname'],
'link'=>$sChatlink,
'pub_date'=>$asRow['time'],
'pubDate'=>$asRow['time'],
'guid'=>$sChatlink
);
$oFeed->addItem($asItem);
@@ -581,7 +581,7 @@ class Databap extends PhpObject
'description'=>'Lien post&eacute; par '.self::getNickNameFormat($asRow['nickname']).' &agrave; '.self::getDateFormat($asRow['led']).' : <a href="'.$asRow['link'].'" target="_blank">'.$asRow['message'].'</a>',
'author'=>$asRow['nickname'],
'link'=>$sChatlink,
'pub_date'=>$asRow['led'],
'pubDate'=>$asRow['led'],
'guid'=>$sChatlink
);
$oFeed->addItem($asItem);
@@ -624,46 +624,36 @@ class Databap extends PhpObject
{
$asArticles = array();
//SCN SAP
$sSAPDomain = 'http://scn.sap.com';
$asBlogPaths = array( '/community/data-warehousing/bw/blog',
'/community/data-warehousing/blog',
'/community/bw-hana/blog',
'/community/businessobjects-design-studio/blog',
'/community/businessobjects-analysis-ms-office/blog');
foreach($asBlogPaths as $sSAPBlogPath)
//SAP Blogs
$sSAPDomain = 'https://blogs.sap.com/';
$asBlogTags = array('73554900100700001049', //Lumira
'73554900100700000818', //Design Studio
'242586194391178517100436979900901', //BW
'01200245450800000012', //Another BW
'242586194391178517100436979900901', //Another BW
'73554900100700001661', // BW/4HANA
'73554900100700000814', //BO Platform
'907900296036854683333078008146613', //Webi
'73554900100700000813', //Analysis
);
$this->oClassManagement->incClass('rss');
foreach($asBlogTags as $asBlogTag)
{
$sSAPBlogUrl = $sSAPDomain.$sSAPBlogPath;
$oDom = $this->getRemotePageDom($sSAPBlogUrl);
$aoArticles = $oDom->getElementsByTagName('header');
foreach($aoArticles as $oArticle)
$oRss = new Feed();
$oRss->loadRss($sSAPDomain.'tags/'.$asBlogTag.'/feed/');
$asBlogItems = $oRss->getItems();
foreach($asBlogItems as $asBlogItem)
{
if($oArticle->getAttribute('class')=='jive-blog-post-subject')
{
$asArticleInfo = array();
$aoLinks = $oArticle->getElementsByTagName('a');
foreach($aoLinks as $oLink)
{
switch($oLink->getAttribute('class'))
{
//Title & link
case 'font-color-normal':
$asArticleInfo['title'] = trim($oLink->nodeValue);
$asArticleInfo['title'] = mb_substr($asArticleInfo['title'], -1)=='.'?mb_substr($asArticleInfo['title'], 0, -1):$asArticleInfo['title'];
$asArticleInfo['link'] = $oLink->getAttribute('href');
$asArticleInfo['date'] = mb_substr(str_replace(array($sSAPBlogUrl.'/', '/'), array('', '-'), $asArticleInfo['link']), 0, 10);
break;
//Author
case 'jiveTT-hover-user jive-username-link':
$asNames = array_filter(explode(' ', ToolBox::mb_ucwords(trim($oLink->nodeValue))));
$asArticleInfo['first_name'] = array_shift($asNames);
$asArticleInfo['last_name'] = implode('-', $asNames);
$asArticleInfo['email'] = $sSAPDomain.$oLink->getAttribute('href');
break;
}
}
$asArticles[] = $asArticleInfo;
}
$asArticleInfo['title'] = $asBlogItem['title'];
$asArticleInfo['title'] = mb_substr($asArticleInfo['title'], -1)=='.'?mb_substr($asArticleInfo['title'], 0, -1):$asArticleInfo['title'];
$asArticleInfo['link'] = $asBlogItem['link'];
$asArticleInfo['date'] = date(self::DATE_SQL_FORMAT, strtotime($asBlogItem['pubDate']));
$asNames = array_filter(explode(' ', ToolBox::mb_ucwords(trim($asBlogItem['author']))));
$asArticleInfo['first_name'] = array_shift($asNames);
$asArticleInfo['last_name'] = implode('-', $asNames);
$asArticleInfo['email'] = '';
$asArticles[] = $asArticleInfo;
}
}
@@ -818,7 +808,7 @@ class Databap extends PhpObject
MySqlManager::getId(self::COMP_TABLE)=>$iCompanyId,
'pass'=>$this->oAuth->HashPassword(self::getLoginToken($sCompany)),
'clearance'=>$iClearance,
'led'=>'0000-00-00 00:00:00');
'led'=>'2000-01-01 00:00:01');
if($iUserId>0) $asInfo[MySqlManager::getId(self::USER_TABLE)] = $iUserId;
$iUserId = $this->oMySql->insertRow(self::USER_TABLE, $asInfo);
$bSuccess = ($iUserId>0);