__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
/**
* @package akeebabackup
* @copyright Copyright (c)2006-2024 Nicholas K. Dionysopoulos / Akeeba Ltd
* @license GNU General Public License version 3, or later
*/
namespace Akeeba\Component\AkeebaBackup\Administrator\Model;
defined('_JEXEC') || die();
use Joomla\CMS\Factory;
use Joomla\CMS\MVC\Model\AdminModel;
#[\AllowDynamicProperties]
class ProfileModel extends AdminModel
{
/**
* @inheritDoc
*/
public function getForm($data = [], $loadData = true)
{
$form = $this->loadForm(
'com_akeebabackup.profile',
'profile',
[
'control' => 'jform',
'load_data' => $loadData,
]
);
if (empty($form))
{
return false;
}
// Modify the form based on access controls.
if (!$this->canEditState((object) $data))
{
// Disable fields for display.
$form->setFieldAttribute('quickicon', 'disabled', 'true');
// Disable fields while saving.
// The controller has already verified this is a record you can edit.
$form->setFieldAttribute('quickicon', 'filter', 'unset');
}
return $form;
}
/**
* Reset the configuration and filters of a backup profile
*
* @param int $pk Backup profile ID
*
* @return bool True if the profile exists and we can reset its configuration.
* @throws \Exception
*/
public function resetConfiguration(int $pk)
{
$table = $this->getTable();
if (!$table->load($pk))
{
$this->setError($table->getError());
return false;
}
$table->configuration = '';
$table->filters = '';
return $table->save([
'configuration' => '',
'filters' => '',
]);
}
/**
* Method to get the data that should be injected in the form.
*
* @return mixed The data for the form.
*
* @since 1.6
*/
protected function loadFormData()
{
// Check the session for previously entered form data.
$app = Factory::getApplication();
$data = $app->getUserState('com_akeebabackup.edit.profile.data', []);
if (empty($data))
{
$data = (object) $this->getItem()->getProperties();
}
$this->preprocessData('com_akeebabackup.profile', $data);
return $data;
}
public function save($data)
{
// If we're working with the default profile, force a public access level
if (($data['id'] ?? 0) == 1)
{
$data['access'] = 1;
}
$app = Factory::getApplication();
// Perform the check on permissions only if we're not in CLI (better be safe than sorry)
if (!$app->isClient('cli'))
{
$user = $app->getIdentity();
// Wait, the user has no permissions
if (!$user->authorise('core.manage', 'com_akeebabackup'))
{
unset($data['access']);
}
}
return parent::save($data);
}
/**
* Method to test whether a record can be deleted.
*
* @param object $record A record object.
*
* @return boolean True if allowed to delete the record. Defaults to the permission set in the component.
*
* @since 1.6
*/
protected function canDelete($record)
{
if (empty($record->id))
{
return false;
}
if ($record->id == 1)
{
return false;
}
// Allow the check to be overridden by the API task
$override = $this->getState('workaround.override_canDelete');
if ($override !== null && is_bool($override))
{
return $override;
}
return parent::canDelete($record);
}
}| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Exceptions | Folder | 0775 |
|
|
| UpgradeHandler | Folder | 0775 |
|
|
| BackupModel.php | File | 20.31 KB | 0664 |
|
| BrowserModel.php | File | 2.92 KB | 0664 |
|
| ConfigurationModel.php | File | 8.27 KB | 0664 |
|
| ConfigurationwizardModel.php | File | 17.13 KB | 0664 |
|
| ControlpanelModel.php | File | 25.16 KB | 0664 |
|
| DatabasefiltersModel.php | File | 7.47 KB | 0664 |
|
| FilefiltersModel.php | File | 11.88 KB | 0664 |
|
| LogModel.php | File | 5.04 KB | 0664 |
|
| ProfileModel.php | File | 3.21 KB | 0664 |
|
| ProfilesModel.php | File | 5.49 KB | 0664 |
|
| PushModel.php | File | 1.11 KB | 0664 |
|
| RemotefilesModel.php | File | 15.51 KB | 0664 |
|
| StatisticModel.php | File | 6.07 KB | 0664 |
|
| StatisticsModel.php | File | 17.49 KB | 0664 |
|
| UpdatesModel.php | File | 17.03 KB | 0664 |
|
| UpgradeModel.php | File | 43.77 KB | 0664 |
|
| UsagestatsModel.php | File | 1.72 KB | 0664 |
|