%PDF- %PDF-
| Direktori : /proc/self/root/usr/local/prospamfilter/application/controllers/ |
| Current File : //proc/self/root/usr/local/prospamfilter/application/controllers/IndexController.php |
<?php
/*
*************************************************************************
* *
* ProSpamFilter *
* Bridge between Webhosting panels & SpamExperts filtering *
* *
* Copyright (c) 2010-2011 SpamExperts B.V. All Rights Reserved, *
* *
*************************************************************************
* *
* Email: support@spamexperts.com *
* Website: htttp://www.spamexperts.com *
* *
*************************************************************************
* *
* This software is furnished under a license and may be used and copied *
* only in accordance with the terms of such license and with the *
* inclusion of the above copyright notice. No title to and ownership *
* of the software is hereby transferred. *
* *
* You may not reverse engineer, decompile or disassemble this software *
* product or software product license. *
* *
* SpamExperts may terminate this license if you don't comply with any *
* of the terms and conditions set forth in our end user *
* license agreement (EULA). In such event, licensee agrees to return *
* licensor or destroy all copies of software upon termination of the *
* license. *
* *
* Please see the EULA file for the full End User License Agreement. *
* *
*************************************************************************
* @category SpamExperts
* @package ProSpamFilter
* @author $Author$
* @copyright Copyright (c) 2011, SpamExperts B.V., All rights Reserved. (http://www.spamexperts.com)
* @license Closed Source
* @version 3.0
* @link https://my.spamexperts.com/kb/34/Addons
* @since 2.5
*/
/** Zend_Controller_Action */
class IndexController extends Zend_Controller_Action
{
/** @var SpamFilter_Acl */
protected $_acl;
/** @var SpamFilter_Controller_Action_Helper_FlashMessenger */
var $_flashMessenger;
/** @var Zend_Translate_Adapter_Gettext */
var $t;
protected $_paneltype;
protected $_config;
public function init()
{
try {
// Enable the flash messenger helper so we can send messages.
$this->_flashMessenger = $this->_helper->getHelper('FlashMessenger');
} catch (Zend_Session_Exception $e) {
if (!$this->_helper->hasHelper('FlashMessenger')) {
if (!Zend_Session::isStarted() && Zend_Session::sessionExists()) {
Zend_Controller_Action_HelperBroker::addHelper(
new SpamFilter_Controller_Action_Helper_FlashMessenger()
);
$this->_flashMessenger = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessenger');
} else {
Zend_Session::setOptions(array("strict" => false));
$this->_flashMessenger = $this->_helper->getHelper('FlashMessenger');
Zend_Session::setOptions(array("strict" => true));
}
}
}
// Get the translator
$this->t = Zend_Registry::get('translator');
if (SpamFilter_Version::updateAvailable()) {
// Show update avail.
$version = trim(SpamFilter_Version::getCurrentVersion()); // Do not run realtime
$upgradeString = sprintf($this->t->_('There is an upgrade available to %s'), $version) . '. <strong><a href="?q=admin/update">' . $this->t->_('Upgrade now') . '</a></strong>';
$this->_flashMessenger->addMessage(array('message' => $upgradeString, 'status' => 'info'));
}
$this->_paneltype = strtolower( SpamFilter_Core::getPanelType() );
}
public function preDispatch()
{
// Setup ACL
$this->_acl = new SpamFilter_Acl();
$username = SpamFilter_Core::getUsername();
// Retrieve usertype using the Panel driver
$panel = new SpamFilter_PanelSupport();
$userlevel = $panel->getUserLevel();
/**
* Get changed brandname (in case of it was set)
* @see https://trac.spamexperts.com/ticket/16804
*/
$branding = new SpamFilter_Brand();
$brandname = $branding->getBrandUsed();
if (!$brandname) {
$brandname = 'Professional Spam Filter';
}
// Feed the ACL system the current username
$this->_acl->setRole($username, $userlevel);
$this->view->headTitle()->set($brandname);
$this->view->headTitle()->setSeparator(' | ');
if(strpos($_SERVER['PHP_SELF'], '/paper_lantern/') === false){
$this->view->headStyle()->appendStyle( file_get_contents(BASE_PATH . DS . 'public' . DS . 'css' . DS . 'bootstrap.min.css') );
}
$this->view->headStyle()->appendStyle( file_get_contents(BASE_PATH . DS . 'public' . DS . 'css' . DS . 'bootstrap-responsive.min.css') );
$this->view->headStyle()->appendStyle( file_get_contents(BASE_PATH . DS . 'public' . DS . 'css' . DS . 'addon.css') );
$this->view->headScript()->appendScript( file_get_contents(BASE_PATH . DS . 'public' . DS . 'js' . DS . 'jquery.min.js') );
$this->view->headScript()->appendScript( file_get_contents(BASE_PATH . DS . 'public' . DS . 'js' . DS . 'bootstrap.min.js') );
$this->view->acl = $this->_acl;
$this->view->t = $this->t;
$this->view->brandname = $brandname;
}
public function indexAction()
{
$this->view->headTitle()->append("Dashboard");
$this->view->image_folder = 'psf';
if ((!$this->_acl->isAllowed('settings_admin')) && (!$this->_acl->isAllowed('settings_reseller'))) {
$this->_flashMessenger->addMessage(
array('message' => $this->t->_('Your access level is not high enough to use this addon.') . ' <br/> ' . $this->t->_('Please contact your provider.'),
'status' => 'error')
);
$this->_helper->viewRenderer->setNoRender(); // Do not render the page
}
// Check if the addon is configured.
$config = Zend_Registry::get('general_config');
if (empty($config->apiuser)) {
$this->_flashMessenger->addMessage(
array('message' => $this->t->_('The addon appears to be not configured. You need to do this before you can use it.') . ' <strong><a href="?q=admin/settings">' . $this->t->_('Configure addon') . '</a></strong>',
'status' => 'warning')
);
}
// Check if resellers have no access to the addon.
if (isset($config->disable_reseller_access) && (1 == $config->disable_reseller_access)) {
$panel = new SpamFilter_PanelSupport();
if ('role_reseller' == $panel->getUserLevel()) {
$this->_flashMessenger->addMessage(
array('message' => $this->t->_('Resellers have no permissions to use this addon.') . ' <br/> ' . $this->t->_('Please contact your provider.'),
'status' => 'error')
);
$this->_helper->viewRenderer->setNoRender(); // Do not render the page
return false;
}
}
// We render a different file than $action.phtml, disable the renderer so it does not attempt to do so.
$this->getHelper('viewRenderer')->setNoRender();
$this->render();
}
}