protected function saveData()
    {
        $subscriptionID = parent::saveData();
        $this->dbh->modify('UPDATE mail_subscriptions2users
			SET session_id = NULL, subscription_id=%s
			WHERE (subscription_id IS NULL and session_id = %s) or (subscription_id = %1$s)', $subscriptionID, session_id());
        return $subscriptionID;
    }
Пример #2
0
 protected function saveData()
 {
     //Для всех с не админскими правами принудительно выставляем в те сайты на которые у юзера есть права
     if ($this->document->getRights() < ACCESS_FULL) {
         $_POST[$this->getTableName()]['ads_item_site_multi'] = $this->document->getUser()->getSites();
     }
     return parent::saveData();
 }
 protected function saveData()
 {
     $subscribersTable = 'mail_email_subscribers';
     if (!isset($_POST[$subscribersTable]['me_name']) || !$_POST[$subscribersTable]['me_name']) {
         throw new SystemException('ERR_NO_DATA', SystemException::ERR_CRITICAL);
     }
     $email = $_POST[$subscribersTable]['me_name'];
     if (!($id = $this->dbh->getScalar($subscribersTable, 'me_id', ['me_name' => $email]))) {
         $id = $this->dbh->modify(QAL::INSERT, $subscribersTable, ['me_date' => date('Y-m-d'), 'me_name' => $_POST[$subscribersTable]['me_name']]);
     }
     unset($_POST[$subscribersTable]);
     if (!($result = $this->dbh->getScalar($this->getTableName(), 'mes_id', ['me_id' => $id]))) {
         $_POST[$this->getTableName()]['me_id'] = $id;
         $result = parent::saveData();
     }
     return $result;
 }
Пример #4
0
 /**
  * @copydoc Grid::saveData
  */
 protected function saveData()
 {
     //обрезаем лишние незначащие пробелы и прочее в самих тегах и в переводах
     //в переводах - сделано на случай вывода в джаваскрипт
     $_POST[$this->getTableName()]['ltag_name'] = strtoupper(trim($_POST[$this->getTableName()]['ltag_name']));
     foreach (array_keys(E()->getLanguage()->getLanguages()) as $langID) {
         if (isset($_POST[$this->getTranslationTableName()][$langID]['ltag_value_rtf'])) {
             $_POST[$this->getTranslationTableName()][$langID]['ltag_value_rtf'] = trim($_POST[$this->getTranslationTableName()][$langID]['ltag_value_rtf']);
         }
     }
     $result = parent::saveData();
     $c = E()->getCache();
     if ($c->isEnabled()) {
         $c->dispose(Cache::TRANSLATIONS_KEY);
     }
     return $result;
 }
Пример #5
0
 /**
  * @copydoc Grid::saveData
  */
 protected function saveData()
 {
     //При сохранении данных из формы редактирования
     //Если не пришел пароль - не трогаем его
     if ($this->getPreviousState() == 'edit' && $_POST[$this->getTableName()]['u_password'] === '') {
         unset($_POST[$this->getTableName()]['u_password']);
     } else {
         $_POST[$this->getTableName()]['u_password'] = password_hash($_POST[$this->getTableName()]['u_password'], PASSWORD_DEFAULT);
     }
     if ($this->getPreviousState() == 'add' && $this->dbh->getScalar('SELECT COUNT(*) FROM ' . $this->getTableName() . ' WHERE u_name=%s', $_POST[$this->getTableName()]['u_name'])) {
         throw new SystemException('ERR_USER_EXISTS', SystemException::ERR_CRITICAL);
     }
     $result = parent::saveData();
     $UID = is_int($result) ? $result : current($this->getFilter());
     $this->dbh->modify(QAL::DELETE, 'user_user_groups', null, array('u_id' => $UID));
     if (isset($_POST['group_id']) && is_array($_POST['group_id'])) {
         foreach ($_POST['group_id'] as $groupID) {
             $this->dbh->modify(QAL::INSERT, 'user_user_groups', array('u_id' => $UID, 'group_id' => $groupID));
         }
     }
     return $result;
 }
Пример #6
0
 protected function saveData()
 {
     if (isset($_POST[$this->getTableName()]['domain_root']) && substr($_POST[$this->getTableName()]['domain_root'], -1) != '/') {
         $_POST[$this->getTableName()]['domain_root'] .= '/';
     }
     return parent::saveData();
 }
Пример #7
0
 protected function saveData()
 {
     $voteID = parent::saveData();
     $this->dbh->modify('UPDATE apps_vote_question SET vote_id=%s WHERE (vote_id IS NULL) or (vote_id = %1$s)', $voteID);
     return $voteID;
 }
Пример #8
0
 protected function saveData()
 {
     $result = parent::saveData();
     $roleID = is_int($result) ? $result : current($this->getFilter());
     $this->dbh->modify(QAL::DELETE, 'share_access_level', null, ['group_id' => $roleID]);
     if (isset($_POST['div_right']) && is_array($_POST['div_right'])) {
         foreach ($_POST['div_right'] as $smapID => $rightID) {
             if (!empty($rightID)) {
                 $this->dbh->modify(QAL::INSERT, 'share_access_level', ['group_id' => $roleID, 'smap_id' => $smapID, 'right_id' => $rightID]);
             }
         }
     }
     return $result;
 }
Пример #9
0
 protected function saveData()
 {
     if (isset($_POST[$this->getTableName()][$this->getPK()]) && empty($_POST[$this->getTableName()][$this->getPK()])) {
         $_POST[$this->getTableName()]['lang_default'] = '0';
     }
     $langID = parent::saveData();
     if ($this->saver->getMode() == QAL::INSERT) {
         //При создании нового языка для всех таблиц переводов
         //создаем переводы копируя данные из дефолтного языка
         if ($translationTables = $this->dbh->select('SHOW TABLES LIKE "%_translation"')) {
             $defaultLangID = E()->getLanguage()->getDefault();
             foreach ($translationTables as $row) {
                 $tableName = current($row);
                 $fields = array_keys($this->dbh->getColumnsInfo($tableName));
                 $fields[1] = $langID;
                 $this->dbh->modify('INSERT INTO ' . $tableName . ' SELECT ' . implode(',', $fields) . ' FROM ' . $tableName . ' WHERE lang_id=%s', $defaultLangID);
             }
         }
     }
     return $langID;
 }