public function run() { $is_locked = Settings::getSetting('locked'); $items = [['title' => 'Fragen', 'icon' => 'question-circle', 'url' => 'question', 'items' => [['title' => 'Neue frage', 'url' => 'question/create', 'options' => []], ['title' => 'Aus Datei einspielen', 'url' => 'question/import', 'options' => []], ['title' => 'Liste', 'url' => 'question/index', 'options' => []]]], ['title' => 'Banken', 'icon' => 'money', 'url' => 'bank', 'items' => [['title' => 'Neue bank', 'url' => 'bank/create', 'options' => []], ['title' => 'Liste', 'url' => 'bank/index', 'options' => []], ['title' => 'Bankenstatistik', 'url' => 'bank/statistic-list', 'options' => []], ['title' => 'Platzhalter', 'url' => 'bank/placeholders', 'options' => []], ['title' => 'Aus Datei einspielen', 'url' => 'bank/import', 'options' => []]]], ['title' => 'Benutzergruppen', 'icon' => 'users', 'url' => 'group', 'items' => [['title' => 'Neue Gruppe', 'url' => 'group/create', 'options' => []], ['title' => 'Liste', 'url' => 'group/index', 'options' => []]]], ['title' => 'Fragebögen', 'icon' => 'terminal', 'url' => 'form', 'items' => [['title' => 'Neue Fragebögen', 'url' => 'form/create', 'options' => []], ['title' => 'Liste', 'url' => 'form/index', 'options' => []]]], ['title' => 'Zugangscodes', 'icon' => 'barcode', 'url' => 'code', 'items' => [['title' => 'Neue Codes erzeugen', 'url' => 'code/create', 'options' => []]]], ['title' => 'Individualisierung', 'icon' => 'paint-brush', 'url' => 'user-text', 'items' => [['title' => 'Texte', 'url' => 'texts/index', 'options' => []], ['title' => 'Styles', 'url' => 'styles/index', 'options' => []], ['title' => 'Begrüßungstexte', 'url' => 'user-text/index/start', 'options' => []], ['title' => 'Schlusstexte', 'url' => 'user-text/index/end', 'options' => []]]], ['title' => 'Sprachen', 'icon' => 'language', 'url' => 'language', 'items' => [['title' => 'Neue Sprache', 'url' => 'language/create', 'options' => []], ['title' => 'Liste', 'url' => 'language/index', 'options' => []], ['title' => 'Aus Datei einspielen', 'url' => 'language/import', 'options' => []], ['title' => 'Übersetzungen', 'url' => 'translation/index', 'options' => []]]], ['title' => 'System', 'icon' => 'cogs', 'url' => 'system', 'items' => [['title' => 'Statistik', 'url' => 'system/statistic', 'options' => []], ['title' => 'Sperren', 'icon' => 'lock', 'url' => 'system/lock', 'options' => ['data-confirm' => $is_locked == 0 ? 'Das System wird gesperrt. Nachdem sie OK geklickt haben, kann nur mehr der Superdamin die Sperre aufheben.' : 'Diese Aktion hebt die Sperre auf. Wollen sie dies?']], ['title' => 'Reset', 'url' => 'system/reset', 'options' => ['data-confirm' => 'Alle Produktionsdaten werden gelöscht. Bitte stellen sie sicher, dass sie ein Backup haben. Wollen sie alles löschen?']], ['title' => 'Ergebnisse löschen', 'url' => 'system/clean', 'options' => ['data-confirm' => 'Alle Statistiken werden gelöscht. Wollen sie dies?']]]]]; if ($is_locked == 1) { $items[7]['items'][1]['title'] = 'Öffnen'; } echo $this->render('adminmenu', ['items' => $items]); }
/** * Lists all Style models. * @return mixed */ public function actionIndex() { if (isset($_GET['pageSize'])) { Yii::$app->session->set('pageSize', (int) $_GET['pageSize']); unset($_GET['pageSize']); } $searchModel = new StylesSearch(); $dataProvider = $searchModel->search(Yii::$app->request->queryParams); $defStyle = Settings::getSetting('style'); return $this->render('index', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider, 'defaultStyle' => $defStyle]); }
public function actionLock() { $is_locked = Settings::getSetting('locked'); $setting = Settings::findOne(['pm_id' => 'locked']); $setting->locked = $is_locked == 1 ? 0 : 1; if (true == $setting->save()) { Yii::$app->user->logout(); return $this->redirect(['/admin']); } else { return $this->redirect(['index']); } }
/** * Validates the password. * This method serves as the inline validation for password. * * @param string $attribute the attribute currently being validated * @param array $params the additional name-value pairs given in the rule */ public function validatePassword($attribute, $params) { if (!$this->hasErrors()) { $user = $this->getUser(); if (!$user || !$user->validatePassword($this->password)) { $this->addError($attribute, 'Benutzername oder Passwort sind inkorrekt.'); return false; } $is_locked = Settings::getSetting('locked'); if ($is_locked == 1) { if ($this->_user->role != 'super admin') { $this->addError($attribute, 'Das System ist gesperrt. Sie müssen sich als Superadmin einloggen.'); } return false; } } return true; }
public function processCode($fullCode) { $code = $fullCode['code']; $original = $fullCode['original']; if ($this->isCodeActive($code)) { $group = Group::findOne($code->z_p_id)->toArray(); $bank = Bank::findOne($code->z_b_id)->toArray(); $form = Form::findOne(['f_klasse' => $bank['klasse'], 'f_p_id' => $group['p_id']]); $style = Style::findOne(['s_b_id' => $bank['b_id'], 's_p_id' => $group['p_id']]); if (!$style) { $style = Settings::getSetting('style'); } else { $style = $style->style; } $label = Yii::$app->params['default_next_label']; $message = Yii::$app->params['default_next_message']; if ($this->language != "default") { $language = Language::findOne($this->language); if ($language != null) { if ($language->label != '') { $label = $language->label; } if ($language->message != '') { $message = $language->message; } } } Yii::$app->session['anketData'] = ['original' => $original, 'code' => $code->toArray(), 'group' => $group, 'bank' => $bank, 'form' => $form->f_id, 'status' => 0, 'lang' => $this->language, 'style' => $style, 'label' => $label, 'message' => $message]; $meta = Meta::findOne(['m_z_id' => $code->z_id]); if (!$meta) { $meta = new Meta(); $meta->m_z_id = $code->z_id; $meta->ip = $_SERVER['REMOTE_ADDR']; $meta->time_start = time(); } else { $meta->ip = $_SERVER['REMOTE_ADDR']; } $meta->save(); return true; } return false; }
<?php use yii\widgets\ActiveForm; use yii\helpers\ArrayHelper; use app\models\Settings; $style = Settings::getSetting('style'); /* @var $this yii\web\View */ $this->title = 'Victor 2016'; $languages = ['default' => 'Default'] + ArrayHelper::map(app\models\Language::find()->all(), 'l_id', 'name'); $webRoot = Yii::$app->getUrlManager()->getBaseUrl(); ?> <link href="<?php echo $webRoot; ?> /css/styles/<?php echo $style; ?> /style.css" rel="stylesheet"> <div class="form-div"> <?php if ($error) { ?> <div class="alert alert-danger" role="alert"> <?php echo $error; ?> </div> <?php }
public function getIndex() { $settings = Settings::getSetting(); return $this->ResponseData($settings); }
static function getSetting() { return Settings::getSetting(); }
public function actionQuestionnaire($bezeichnung, $groupId, $langId) { $is_locked = Settings::getSetting('locked'); if ($is_locked == 1) { return $this->render('error', ['name' => 'Fehler', 'message' => 'Das System ist gesperrt. Bei Fragen wenden sie sich bitte an Emotion Banking.']); } try { $bankKlasse = Bank::findOne(['b_id' => $bezeichnung])->klasse; $questionnaire = Form::findOne(['f_klasse' => $bankKlasse, 'f_p_id' => $groupId]); if (empty($questionnaire)) { throw new ErrorException('Es gibt keinen Fragebogen für ihre Banken-, bzw. Kundengruppenauswahl'); } $code = $questionnaire->createSpecificCode($bezeichnung); if ($code->hasErrors()) { return $this->render('error', ['name' => 'Fehler', 'message' => $code->getLastErrorMessage()]); } } catch (ErrorException $e) { return $this->render('error', ['name' => 'Fehler', 'message' => $e->getMessage()]); } $codeString = $code->__toString(); if ($codeString !== null) { $warning = ''; $model = new AnketForm(); $model->code = $codeString; $model->language = $langId; if ($langId != "default") { $lanuage = Language::findOne($langId); if (empty($lanuage)) { $warning = "Die angegebene Sprache " . $langId . " kann nicht gefunden werden. Es wird die Standardsprache angezeigt"; } } if ($code !== false && ($code = $model->validateCode())) { $model->processCode($code); $data = Yii::$app->session['anketData']; $text = UserText::getText($data['group']['p_id'], $data['bank']['b_id'], $data['lang'], true); if (is_null($text)) { return $this->render('error', ['name' => 'Fehler', 'message' => 'kein Starttext für diese Sprache gefunden']); } return $this->render('welcome', ['text' => $text, 'code' => $data["original"], 'warning' => $warning, 'style' => $data['style']]); } else { return $this->render('error', ['name' => 'Fehler', 'message' => 'Bank gesperrt, Code ungültig oder bereits verwendet. Anmeldung fehlgeschlagen']); } } else { $this->redirect(['/site/index']); } $data = Yii::$app->session['anketData']; $form = Form::findOne($data['form']); $questions = $form->getQuestions($bank_id = $data["bank"]["b_id"]); //default $status = 0; //code not needed. if (Yii::$app->request->post('q')) { $userAnswers = Yii::$app->request->post('q'); $status = $form->saveAnswers($data['code'], $userAnswers); $data['status'] = $status; $data['code']['status'] = $status; } else { $data = Yii::$app->session['anketData']; $text = UserText::getText($data['group']['p_id'], $data['bank']['b_id'], $data['lang'], true); if (is_null($text)) { return $this->render('error', ['name' => 'Fehler', 'message' => 'kein Starttext für diese Sprache gefunden']); } return $this->render('welcome', ['text' => $text, 'code' => $data["original"], 'style' => $data["style"]]); } Yii::$app->session['anketData'] = $data; if (!($status < $form->getQuestionsCount($questions))) { $this->redirect(['/site/end']); } return $this->render('form', ['status' => $status, 'percent' => round($status / $form->getQuestionsCount($questions) * 100), 'questions' => $questions, 'anket' => $form, 'bank' => $data['bank']['b_id'], 'style' => $data['style']]); }