Dúvidas de SQL para inserir automaticamente em grupo

Suporte aos MODs/Hacks para phpBB.
professor mauricio
Novato
Novato
Mensagens: 130
Registrado em: 02 Abr 2011, 11:58

Dúvidas de SQL para inserir automaticamente em grupo

Mensagem por professor mauricio »

Amigos,

fiz um bocado de testes e procurei modificações para inserir alguém em um grupo de acordo com o número de posts e cheguei ao seguinte à ideia de que se for possível criar uma condição, por exemplo, depois daquela função do posting onde se soma o número de posts da pessoa:

Código: Selecionar todos

case 'reply':
			$sql_data[TOPICS_TABLE]['stat'][] = 'topic_last_view_time = ' . $current_time . ',
				topic_replies_real = topic_replies_real + 1,
				topic_bumped = 0,
				topic_bumper = 0' .
				(($post_approval) ? ', topic_replies = topic_replies + 1' : '') .
				((!empty($data['attachment_data']) || (isset($data['topic_attachment']) && $data['topic_attachment'])) ? ', topic_attachment = 1' : '');

			$sql_data[USERS_TABLE]['stat'][] = "user_lastpost_time = $current_time" . (($auth->acl_get('f_postcount', $data['forum_id']) && $post_approval) ? ', user_posts = user_posts + 1' : '');
aí eu pensei em botar logo depois:

"se" user_posts ficou > 10 e < 80 (intervalo desejado), veja se user_id existe na tabela 'user_group` como group_id = '9' (moderadores)
se não existe, criar agora uma linha a mais
`group_id` = grupo desejado para a pessoa, por exemplo, 9 (moderadores)
`user_id` = é o id do usuário que acabou de postar
`group_leader` esse tem que ser 0
`user_pending` esse tem que ser 1 para um administrador confirmar se a pessoa realmente mereceu entrar no grupo.
se já existe, não fazer nada.


A ideia é que, mesmo que grosseiramente, seja definido um intervalo de posts que adiciona alguém a um grupo automaticamente, ficando a cargo da administração ver se os posts do cara foram úteis o suficiente para ele 'subir' de grupo.

Mesmo que o código pode ficar meio estranho, já que o valor de user_posts só vai disparar o sql em caso de reply, já vai ajudar bastante para as pessoas dentro de determinado intervalo de mensagens serem inscritas em um grupo automaticamente.

abc amigos!
Avatar do usuário
Leinad4Mind
Novato
Novato
Mensagens: 28
Registrado em: 07 Fev 2012, 11:29

Re: Dúvidas de SQL para inserir automaticamente em grupo

Mensagem por Leinad4Mind »

Já existe MOD para aquilo que deseja: https://www.phpbb.com/customise/db/mod/auto_groups/

Embora terá de ler todas as mensagens na pagina do MOD, para resolver todos problemas inerentes às versões mais recentes do phpBB.
O trabalho que terá será certamente menor que escrever do 0 um MOD sobre isso.
Trancado