%PDF- %PDF-
| Direktori : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/legal/models/ |
| Current File : /home/vacivi36/intranet.vacivitta.com.br/protected/modules/legal/models/ConfigureForm.php |
<?php
/**
* @link https://www.humhub.org/
* @copyright Copyright (c) 2018 HumHub GmbH & Co. KG
* @license https://www.humhub.com/licences
*/
namespace humhub\modules\legal\models;
use humhub\modules\legal\Module;
use Yii;
use yii\base\Exception;
use yii\base\Model;
class ConfigureForm extends Model
{
public $enabledPages;
public $externalLinks;
public $showPagesAfterRegistration;
public $defaultLanguage;
public $showAgeCheck;
public $minimumAge;
/**
* @inheritdoc
*/
public function rules()
{
return [
[['enabledPages'], 'in', 'range' => array_keys(Page::getPages())],
[['externalLinks'], 'in', 'range' => ['icon', 'modal']],
[['defaultLanguage'], 'in', 'range' => array_keys(Yii::$app->i18n->getAllowedLanguages())],
[['showPagesAfterRegistration', 'showAgeCheck'], 'boolean'],
['minimumAge', 'integer', 'min' => 16, 'max' => 99]
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'enabledPages' => Yii::t('LegalModule.base', 'Enabled pages and features'),
'showPagesAfterRegistration' => Yii::t('LegalModule.base', 'For new account creation, show pages in full screen just after profile creation'),
'defaultLanguage' => Yii::t('LegalModule.base', 'Default languge'),
'showAgeCheck' => Yii::t('LegalModule.base', 'Show age verification {age}', ['age' => $this->minimumAge]),
'minimumAge' => Yii::t('LegalModule.base', 'Minimum age'),
];
}
/**
* @inheritdoc
*/
public function attributeHints()
{
return [
'defaultLanguage' => Yii::t('LegalModule.base', 'Will be used as default, if the legal texts are not available in the users language.')
];
}
public function loadSettings()
{
$this->defaultLanguage = $this->getModule()->getDefaultLanguage();
$this->enabledPages = $this->getModule()->getEnabledPages();
$this->externalLinks = $this->getModule()->getExternalLinksConfig();
$this->showPagesAfterRegistration = $this->getModule()->showPagesAfterRegistration();
$this->showAgeCheck = $this->getModule()->showAgeCheck();
$this->minimumAge = $this->getModule()->getMinimumAge();
return true;
}
/**
* @return bool
*/
public function saveSettings()
{
$settings = $this->getModule()->settings;
if (!is_array($this->enabledPages)) {
$this->enabledPages = [];
}
try {
$settings->set('defaultLanguage', $this->defaultLanguage);
$settings->set('enabledPages', implode(',', $this->enabledPages));
$settings->set('externalLinks', empty($this->externalLinks) ? '' : implode(',', $this->externalLinks));
$settings->set('showPagesAfterRegistration', $this->showPagesAfterRegistration);
$settings->set('showAgeCheck', $this->showAgeCheck);
$settings->set('minimumAge', $this->minimumAge);
} catch (Exception $e) {
Yii::error($e->getMessage());
return false;
}
return true;
}
/**
* @return Module
*/
public function getModule()
{
/** @var Module $module */
$module = Yii::$app->getModule('legal');
return $module;
}
}