Current File : /home/pacjaorg/public_html/copp/copp/wp-content/plugins/backwpup/inc/Notice/DropboxNotice.php |
<?php
namespace Inpsyde\BackWPup\Notice;
use BackWPup_Option;
class DropboxNotice extends Notice
{
/**
* @var string
*/
public const OPTION_NAME = 'backwpup_notice_dropbox_needs_reauthenticated';
/**
* @var string
*/
public const ID = self::OPTION_NAME;
/**
* List of jobs that need to be reauthenticated.
*
* @var array<int, string>
*/
private $jobs = [];
/**
* {@inheritdoc}
*/
protected function render(NoticeMessage $message): void
{
$this->view->warning($message, $this->getDismissActionUrl());
}
/**
* {@inheritdoc}
*/
protected function isScreenAllowed(): bool
{
return true;
}
/**
* {@inheritdoc}
*/
protected function shouldDisplay(): bool
{
if (!parent::shouldDisplay()) {
return false;
}
$jobs = BackWPup_Option::get_job_ids();
foreach ($jobs as $job) {
$token = BackWPup_Option::get($job, 'dropboxtoken');
if (is_array($token) && isset($token['access_token']) && !isset($token['refresh_token'])) {
$name = BackWPup_Option::get($job, 'name');
if (is_string($name)) {
$this->jobs[$job] = $name;
}
}
}
return !empty($this->jobs);
}
protected function message(): NoticeMessage
{
$message = new NoticeMessage('dropbox');
$message->jobs = $this->jobs;
return $message;
}
}