Skip to content

Commit

Permalink
Merge pull request #593 from bareos/dev/fbergkemper/bareos-18.2/s4269…
Browse files Browse the repository at this point in the history
…-bareos-18.2

webui: Fix login issue (bareos 18.2 backport)
  • Loading branch information
fbergkemper committed Sep 25, 2020
2 parents 602ee1a + 3faf221 commit 09b53e5
Show file tree
Hide file tree
Showing 3 changed files with 200 additions and 124 deletions.
@@ -1,44 +1,68 @@
<?php

/**
*
* bareos-webui - Bareos Web-Frontend
*
* @link https://github.com/bareos/bareos for the canonical source repository
* @copyright Copyright (c) 2013-2020 Bareos GmbH & Co. KG (http://www.bareos.org/)
* @license GNU Affero General Public License (http://www.gnu.org/licenses/)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/

namespace Application\Controller\Plugin;

use Zend\Mvc\Controller\Plugin\AbstractPlugin;
use Zend\Session\Container;

class SessionTimeoutPlugin extends AbstractPlugin
{
protected $session = null;

public function timeout()
{
$configuration = $this->getController()->getServiceLocator()->get('config');
$timeout = $configuration['configuration']['session']['timeout'];

if($timeout === 0) {
return true;
}
else {
if($_SESSION['bareos']['idletime'] + $timeout > time()) {
$_SESSION['bareos']['idletime'] = time();
return true;
}
else {
session_destroy();
return false;
} else {
if(($this->session->offsetGet('idletime') + $timeout) > time()) {
$this->session->offsetSet('idletime', time());
return false;
} else {
$this->session->getManager()->destroy();
return true;
}
}
}

public function isValid()
{
if($_SESSION['bareos']['authenticated']) {
$this->session = new Container('bareos');

if($this->session->offsetGet('authenticated')) {
if($this->timeout()) {
return true;
}
else {
return false;
} else {
return true;
}
}
else {
} else {
return false;
}
}

}
Expand Up @@ -32,16 +32,15 @@ class UpdateAlert extends AbstractHelper
protected $value;
protected $result;

public function __invoke($a=null,$b=null)
public function __invoke($product_updates_status=null, $dird_update_available=null)
{
if($a) {
if($b) {
$this->result = '<a data-toggle="tooltip" data-placement="bottom" href="http://download.bareos.com/" target="_blank"title="Updates available"><span class="glyphicon glyphicon-exclamation-sign text-danger" aria-hidden="true"></span></a>';
if($product_updates_status === false) {
$this->result = '<a data-toggle="tooltip" data-placement="bottom" href="http://download.bareos.com/" target="_blank"title="Update informaton could not be retrieved"><span class="glyphicon glyphicon-exclamation-sign text-danger" aria-hidden="true"></span></a>';
return $this->result;
}
}
else {
$this->result = '<a data-toggle="tooltip" data-placement="bottom" href="http://download.bareos.com/" target="_blank"title="Update informaton could not be retrieved"><span class="glyphicon glyphicon-exclamation-sign text-danger" aria-hidden="true"></span></a>';

if($dird_update_available === true) {
$this->result = '<a data-toggle="tooltip" data-placement="bottom" href="http://download.bareos.com/" target="_blank"title="Updates available"><span class="glyphicon glyphicon-exclamation-sign text-danger" aria-hidden="true"></span></a>';
return $this->result;
}
}
Expand Down

0 comments on commit 09b53e5

Please sign in to comment.