Server IP : 195.201.23.43 / Your IP : 3.144.86.78 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/self/cwd/administrator/components/com_akeeba/Controller/ |
Upload File : |
<?php /** * @package akeebabackup * @copyright Copyright (c)2006-2019 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ namespace Akeeba\Backup\Admin\Controller; // Protect from unauthorized access defined('_JEXEC') or die(); use Akeeba\Backup\Admin\Controller\Mixin\CustomACL; use FOF30\Controller\DataController; use JText; use RuntimeException; class Profiles extends DataController { use CustomACL; /** * Imports an exported profile .json file */ public function import() { $this->csrfProtection(); if (!$this->container->platform->authorise('akeeba.configure', 'com_akeeba')) { throw new RuntimeException(JText::_('JERROR_ALERTNOAUTHOR'), 403); } /** @var \Akeeba\Backup\Admin\Model\Profiles $model */ $model = $this->getModel(); // Get some data from the request $file = $this->input->files->get('importfile', array(), 'array'); if (!isset($file['name'])) { $this->setRedirect('index.php?option=com_akeeba&view=Profiles', JText::_('MSG_UPLOAD_INVALID_REQUEST'), 'error'); return; } // Load the file data $data = @file_get_contents($file['tmp_name']); @unlink($file['tmp_name']); // JSON decode $data = json_decode($data, true); // Import $message = JText::_('COM_AKEEBA_PROFILES_MSG_IMPORT_COMPLETE'); $messageType = null; try { $model->reset()->import($data); } catch (RuntimeException $e) { $message = $e->getMessage(); $messageType = 'error'; } // Redirect back to the main page $this->setRedirect('index.php?option=com_akeeba&view=Profiles', $message, $messageType); } /** * Enable the Quick Icon for a record * * @since 6.1.2 * @throws \Exception */ public function quickicon_publish() { $this->setQuickIcon(1); } /** * Disable the Quick Icon for a record * * @since 6.1.2 * @throws \Exception */ public function quickicon_unpublish() { $this->setQuickIcon(0); } /** * Sets the Quick Icon status for the record. * * @param int|bool $published Should this profile have a Quick Icon? * * @return void * @throws \Exception * * @since 6.1.2 */ private function setQuickIcon($published) { // CSRF prevention $this->csrfProtection(); /** @var \Akeeba\Backup\Admin\Model\Profiles $model */ $model = $this->getModel()->savestate(false); $ids = $this->getIDsFromRequest($model, false); $error = false; try { $status = true; foreach ($ids as $id) { $model->find($id); $model->save([ 'quickicon' => $published ? 1 : 0 ]); } } catch (\Exception $e) { $status = false; $error = $e->getMessage(); } // Redirect if ($customURL = $this->input->getBase64('returnurl', '')) { $customURL = base64_decode($customURL); } $url = !empty($customURL) ? $customURL : 'index.php?option=' . $this->container->componentName . '&view=' . $this->container->inflector->pluralize($this->view) . $this->getItemidURLSuffix(); if (!$status) { $this->setRedirect($url, $error, 'error'); } else { $this->setRedirect($url); } } }Private