mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-24 19:18:44 +02:00
85 lines
2.0 KiB
PHP
85 lines
2.0 KiB
PHP
<?php
|
|
|
|
require_once(APPROOT.'application/newsroomprovider.class.inc.php');
|
|
|
|
class HubNewsroomProvider extends NewsroomProviderBase
|
|
{
|
|
/**
|
|
* {@inheritDoc}
|
|
* @see NewsroomProviderBase::GetTTL()
|
|
*/
|
|
public function GetTTL()
|
|
{
|
|
// TODO Auto-generated method stub
|
|
return 15 * 60; // Update every 15 minutes
|
|
}
|
|
|
|
/**
|
|
* {@inheritDoc}
|
|
* @see NewsroomProviderBase::IsApplicable()
|
|
*/
|
|
public function IsApplicable(?User $oUser = null)
|
|
{
|
|
if ($oUser !== null) {
|
|
return UserRights::IsAdministrator($oUser);
|
|
} else {
|
|
return false;
|
|
}
|
|
|
|
}
|
|
/**
|
|
* {@inheritDoc}
|
|
* @see NewsroomProviderBase::GetLabel()
|
|
*/
|
|
public function GetLabel()
|
|
{
|
|
return 'iTop Hub'; // No need to translate...
|
|
}
|
|
|
|
public function GetMarkAllAsReadURL()
|
|
{
|
|
return $this->MakeURL('route_mark_all_messages_as_read');
|
|
}
|
|
|
|
public function GetFetchURL()
|
|
{
|
|
return $this->MakeURL('route_fetch_unread_messages');
|
|
}
|
|
|
|
public function GetViewAllURL()
|
|
{
|
|
return $sBaseUrl = $this->oConfig->GetModuleSetting('itop-hub-connector', 'url').MetaModel::GetModuleSetting('itop-hub-connector', 'route_view_all_messages');
|
|
}
|
|
|
|
/**
|
|
* {@inheritDoc}
|
|
* @see iNewsroomProvider::GetPlaceholders()
|
|
*/
|
|
public function GetPlaceholders()
|
|
{
|
|
return [
|
|
'%connect_to_itop_hub%' => utils::GetAbsoluteUrlModulePage('itop-hub-connector', 'launch.php', ['target' => 'view_dashboard']),
|
|
];
|
|
}
|
|
|
|
/**
|
|
* {@inheritDoc}
|
|
* @see NewsroomProviderBase::GetPreferencesUrl()
|
|
*/
|
|
public function GetPreferencesUrl()
|
|
{
|
|
return null;
|
|
}
|
|
|
|
private function MakeURL($sRouteCode)
|
|
{
|
|
$sBaseUrl = $this->oConfig->GetModuleSetting('itop-hub-connector', 'url').MetaModel::GetModuleSetting('itop-hub-connector', $sRouteCode);
|
|
|
|
$sParameters = 'uuid[bdd]='.urlencode((string) trim(DBProperty::GetProperty('database_uuid', ''), '{}'));
|
|
$sParameters .= '&uuid[file]='.urlencode((string) trim(@file_get_contents(APPROOT."data/instance.txt"), "{} \n"));
|
|
$sParameters .= '&uuid[user]='.urlencode(UserRights::GetUserId());
|
|
|
|
return $sBaseUrl.'?'.$sParameters;
|
|
}
|
|
}
|