File Manager

Current Directory: /home/astoriaah/www/old15/administrator/components/com_akeeba/views/buadmin
Viewing File: /home/astoriaah/www/old15/administrator/components/com_akeeba/views/buadmin/view.html.php
<?php /** * @package AkeebaBackup * @copyright Copyright (c)2009-2014 Nicholas K. Dionysopoulos * @license GNU General Public License version 3, or later * * @since 1.3 */ // Protect from unauthorized access defined('_JEXEC') or die(); use Akeeba\Engine\Factory; use Akeeba\Engine\Platform; /** * Akeeba Backup Administrator view class * */ class AkeebaViewBuadmin extends F0FViewHtml { protected $lists = null; function __construct($config = array()) { parent::__construct($config); $this->lists = new JObject(); } public function onEdit($tpl = null) { $model = $this->getModel(); $id = $model->getId(); $record = Platform::getInstance()->get_statistics($id); $this->record = $record; $this->record_id = $id; $this->setLayout('comment'); } public function onBrowse($tpl = null) { $session = JFactory::getSession(); $task = $session->get('buadmin.task', 'default', 'akeeba'); if ($task != 'restorepoint') { $task = 'default'; } $aeconfig = Factory::getConfiguration(); // Add custom submenus if (AKEEBA_PRO) { $toolbar = F0FToolbar::getAnInstance($this->input->get('option', 'com_foobar', 'cmd'), $this->config); $toolbar->appendLink( JText::_('BUADMIN_LABEL_BACKUPS'), JUri::base() . 'index.php?option=com_akeeba&view=buadmin&task=browse', ($task == 'default') ); $toolbar->appendLink( JText::_('BUADMIN_LABEL_SRP'), JUri::base() . 'index.php?option=com_akeeba&view=buadmin&task=restorepoint', ($task == 'restorepoint') ); } if (AKEEBA_PRO && ($task == 'default')) { $bar = JToolBar::getInstance('toolbar'); $bar->appendButton('Link', 'restore', JText::_('DISCOVER'), 'index.php?option=com_akeeba&view=discover'); JToolBarHelper::publish('restore', JText::_('STATS_LABEL_RESTORE')); } if (($task == 'default')) { JToolBarHelper::editList('showcomment', JText::_('STATS_LOG_EDITCOMMENT')); $pModel = F0FModel::getTmpInstance('Profiles', 'AkeebaModel'); $enginesPerPprofile = $pModel->getPostProcessingEnginePerProfile(); $this->enginesPerProfile = $enginesPerPprofile; } JToolBarHelper::spacer(); // "Show warning first" download button. Joomlantastic! $confirmationText = AkeebaHelperEscape::escapeJS(JText::_('STATS_LOG_DOWNLOAD_CONFIRM'), "'\n"); $baseURI = JUri::base(); $js = <<<JS ;// This comment is intentionally put here to prevent badly written plugins from causing a Javascript error // due to missing trailing semicolon and/or newline in their code. function confirmDownloadButton() { var answer = confirm('$confirmationText'); if(answer) submitbutton('download'); } function confirmDownload(id, part) { var answer = confirm('$confirmationText'); var newURL = '$baseURI'; if(answer) { newURL += 'index.php?option=com_akeeba&view=buadmin&task=download&id='+id; if( part != '' ) newURL += '&part=' + part window.location = newURL; } } JS; $document = JFactory::getDocument(); $document->addScriptDeclaration($js); $hash = 'akeebabuadmin'; // ...ordering $app = JFactory::getApplication(); $this->lists->set('order', $app->getUserStateFromRequest($hash . 'filter_order', 'filter_order', 'backupstart')); $this->lists->set('order_Dir', $app->getUserStateFromRequest($hash . 'filter_order_Dir', 'filter_order_Dir', 'DESC')); // ...filter state $this->lists->set('fltDescription', $app->getUserStateFromRequest($hash . 'filter_description', 'description', null)); $this->lists->set('fltFrom', $app->getUserStateFromRequest($hash . 'filter_from', 'from', null)); $this->lists->set('fltTo', $app->getUserStateFromRequest($hash . 'filter_to', 'to', null)); $this->lists->set('fltOrigin', $app->getUserStateFromRequest($hash . 'filter_origin', 'origin', null)); $this->lists->set('fltProfile', $app->getUserStateFromRequest($hash . 'filter_profile', 'profile', null)); $filters = $this->_getFilters(); $ordering = $this->_getOrdering(); require_once JPATH_COMPONENT_ADMINISTRATOR . '/models/statistics.php'; $model = new AkeebaModelStatistics(); $list = $model->getStatisticsListWithMeta(false, $filters, $ordering); // Assign data to the view $this->lists = $this->lists; // Filter lists $this->list = $list; // Data $this->pagination = $model->getPagination($filters); // Pagination object // Add live help if ($task == 'restorepoint') { $this->setLayout('restorepoint'); AkeebaHelperIncludes::addHelp('restorepoint'); } else { AkeebaHelperIncludes::addHelp('buadmin'); } return true; } private function _getFilters() { $filters = array(); if ($this->lists->fltDescription) { $filters[] = array( 'field' => 'description', 'operand' => 'LIKE', 'value' => $this->lists->fltDescription ); } if ($this->lists->fltFrom && $this->lists->fltTo) { $filters[] = array( 'field' => 'backupstart', 'operand' => 'BETWEEN', 'value' => $this->lists->fltFrom, 'value2' => $this->lists->fltTo ); } elseif ($this->lists->fltFrom) { $filters[] = array( 'field' => 'backupstart', 'operand' => '>=', 'value' => $this->lists->fltFrom, ); } elseif ($this->lists->fltTo) { JLoader::import('joomla.utilities.date'); $to = new JDate($this->lists->fltTo); $toUnix = $to->toUnix(); $to = date('Y-m-d') . ' 23:59:59'; $filters[] = array( 'field' => 'backupstart', 'operand' => '<=', 'value' => $to, ); } if ($this->lists->fltOrigin) { $filters[] = array( 'field' => 'origin', 'operand' => '=', 'value' => $this->lists->fltOrigin ); } if ($this->lists->fltProfile) { $filters[] = array( 'field' => 'profile_id', 'operand' => '=', 'value' => (int)$this->lists->fltProfile ); } $session = JFactory::getSession(); $task = $session->get('buadmin.task', 'browse', 'akeeba'); if ($task == 'restorepoint') { $filters[] = array( 'field' => 'tag', 'operand' => '=', 'value' => 'restorepoint' ); } else { $filters[] = array( 'field' => 'tag', 'operand' => '<>', 'value' => 'restorepoint' ); } if (empty($filters)) { $filters = null; } return $filters; } private function _getOrdering() { $order = array( 'by' => $this->lists->order, 'order' => strtoupper($this->lists->order_Dir) ); return $order; } }