Ошибка авторизации и смена группы

Автор Сообщение

dozen12

#1/24.07.2016 22:56
0

Аватар

Пользователи

Карма: 0

Вобщем реализовал такую схему:

Пользователь регистрируется как фрилансер #8 (группа не верифицированных пользователей с отсутствием прав на размещение предложений к заданиям)

Затем пользователь проходит верификацию (отправляет скан паспорта)

Админ проверяет, одобряет верификацию и в ручную перемещает пользователя из группы фрилансер #8 в группу фрилансер #4 (у которой есть права на размещение предложений к заданиям).

Раньше все вроде работало и не возникало ошибок.

Сейчас я подкоректировал файл .htaccess и стала возникать такая ситуация:

все вышеуказанные действия проделаны и пользователь авторизовался, соответственно принадлежит группе #4, затем выходит из профиля и авторизовывается заного, вследствии чего при авторизации выдает такую ошибку:

Fatal error

2016-07-24 18:47

SQL error 23000: Integrity constraint violation: 1062 Duplicate entry '8-14' for key 'gru_groupid'

#0  cot_diefatal(SQL error 23000: Integrity constraint violation: 1062 Duplicate entry '8-14' for key 'gru_groupid') called at [/var/www/u0104/data/www/site.ru/system/database.php:664]
#1  CotDB->update(flance_groups_users, Array ([gru_groupid] => 8), gru_userid=14 AND gru_groupid=4) called at [/var/www/u0104/data/www/site.ru/plugins/usergroupselector/usergroupselector.users.auth.check.done.php:33]
#2  include(/var/www/u0104/data/www/site.ru/plugins/usergroupselector/usergroupselector.users.auth.check.done.php) called at [/var/www/u0104/data/www/site.ru/login.php:239]

 

Затем, обнавляю страничку и вроде авторизовался, НО почемуто пользователь снова принадлежит группе фрилансер # 8 а не #4

 

Что не так? Из-за чего такая проблема?!

 

Вот код моего файла .htaccess:

Options All -Indexes -Includes +FollowSymLinks

DirectoryIndex index.php

ServerSignature Off
AddDefaultCharset UTF-8

#Блокируем плохих ботов и роботов
SetEnvIfNoCase user-Agent ^FrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Java.* [NC,OR]
SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR]
SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR]
SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR]
SetEnvIfNoCase user-Agent ^Zeus [NC]
<limit get="" post="" head="">
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</limit>

#Защищаем .htaccess файл
<files .htaccess="">
order allow,deny
deny from all
</files>

#Включаем отслеживание сим-ссылок
Options +FollowSymLinks
#Запускаем url_rewriting
RewriteEngine On
#Блокируем все ссылки, содержащие <script>
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
#Блокируем все скрипты, которые пытаются изменить переменные PHP Globals:
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
#Блокируем все скрипты, которые пытаются изменить переменную _REQUEST:
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
#Перенаправляем все подобные на страницу с ошибкой 403 — запрещено
RewriteRule ^(.*)$ index.php [F,L]

Options +FollowSymlinks
#Запрещаем загрузку файлов с внешних сайтов
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?site.ru/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://site.ru/stop.gif[nc]

 

Сообщения: 15

Cmsworks

Булат
#2/25.07.2016 00:11
0

Администраторы

Карма: +683

Когда вы верифицировали пользователя своим кодом и соответственно перевели его в другую группу, то нужно также изменить значение поля user_usergroup, чтобы оно было равно номеру группы куда вы его перевели. Это нужно чтобы скрипт в плагине usergroupselector не вызывался повторно при каждой авторизации. Смотрите исходники usergroupselector.users.auth.check.done.php, там вся логика.

Сообщения: 2416

Опытный веб-разработчик, фрилансер.
Разрабатываю сайты любой сложности на профессиональных фреймворках.

------

Почта для связи: developer@cmsworks.ru

dozen12

#3/25.07.2016 00:54
0

Аватар

Пользователи

Карма: 0

Спасибо! Разобрался! Поступил иначе: оставил одну группу, а везде где надо скрыл поля  постинга предложений для пользователей не прошедших верификацию

Сообщения: 15