Pagina 1 di 5

User Reputation Mod

Inviato: 29/04/2011, 22:10
da devilrex
Qualcuno è riuscito a far funzionare perfettamente questa mod??

Io l'ho installata un pò di mesi fa, e dopo una lunga e perfetta configurazione, non riesco a far andare la funzione che mostra i dettagli della reputazione di un utente.

Se un utente apre il proprio pannello personale, vede la sua reputazione.
Ma se si vuole vedere quella altrui, la query sembra sbagliata in quanto non restituisce risultati.
Ho smanettato un pò con quella query da mysql e con una corretta sintassi si riesce a far uscire il risultato.

C'è un vecchio topic su phpbb.com dove un utente dice di avere lo stesso problema e che è legato al layout, ma non ho trovato soluzione perchè il topic è stato chiuso.

Ne sapete qualcosa?

Re: User Reputation Mod

Inviato: 29/04/2011, 22:52
da Carlo
Puoi linkare la discussione di questa MOD che hai trovato sul com?

Re: User Reputation Mod

Inviato: 29/04/2011, 23:08
da devilrex

Re: User Reputation Mod

Inviato: 30/04/2011, 12:00
da Carlo
La discussione è stata bloccata poichè la MOD è stata abbandonata.
Non è più raggiungibile neanche il sito dell'autore.

Il mio consiglio è quello di cambiare MOD.

Re: User Reputation Mod

Inviato: 30/04/2011, 13:03
da devilrex
Ci avevo pensato, ma ripristinare tutto mi spaventa un pò.
In fondo la mod funziona in tutto, tranne quella query. Che peccato.
Ma penso che se si studia bene si riesce a risolvere.
Ora posto il contenuto del file incriminato, magari qualcuno competente capisce dov'è l'errore.

Codice: Seleziona tutto

<?php
/**
*
* @author idiotnesia pungkerz@gmail.com - http://www.phpbbindonesia.com
*
* @package phpBB3
* @version 0.3.1
* @copyright (c) 2008, 2009 phpbbindonesia
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

/**
* @ignore
*/

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup('mods/reputation_mod');

// Define initial vars
$id			= request_var('id', 0);
$rep_id		= request_var('rep_id', 0);
$action		= request_var('action', '');
$start		= request_var('start', 0);

$cancel		= (isset($_POST['cancel'])) ? true : false;

if ($cancel)
{
	$redirect = append_sid("{$phpbb_root_path}viewreputation.$phpEx", 'id=' . $id);
	redirect($redirect);
}

if (!$user->data['is_registered'])
{
	login_box();
}

if (!$auth->acl_get('u_rp_view_comment'))
{
	trigger_error('NO_AUTH');
}

$reputation->display_comment($id, 'viewreputation', $start, false, true);

if ($action == 'delete') 

{
	if (!$auth->acl_get('m_rp_moderate'))
	{
		trigger_error('NO_ADMIN');
	}
	
	$sql = 'SELECT rep_to, rep_point
		FROM ' . REPUTATIONS_TABLE . "
		WHERE rep_id = $rep_id";
	
		
	$result = $db->sql_query($sql);
	$row = $db->sql_fetchrow($result);
	$db->sql_freeresult($result);
	
	
	if (!$row)
	{
		die();
	}
	if (confirm_box(true))
	{
		$sql = 'UPDATE ' . USERS_TABLE . '
			SET user_reputation = user_reputation - ' . $row['rep_point'] . '
			WHERE user_id = ' . $row['rep_to'];
		$db->sql_query($sql);
		
		$sql = 'DELETE FROM ' . REPUTATIONS_TABLE . '
			WHERE rep_id = ' . $rep_id;
		$db->sql_query($sql);
		
		$redirect = append_sid("{$phpbb_root_path}viewreputation.$phpEx", 'id=' . $row['rep_to']);
		meta_refresh(3, $redirect);
		trigger_error('RP_SUCCESS_DELETE');
	}
	else
	{
		confirm_box(false, $user->lang['CONFIRM_OPERATION'], build_hidden_fields(array(
			'id'			=> $row['rep_to'],
			'rep_id'		=> $rep_id))
		);
	}
}

// Preleva username e punti Vito funzionante
$sql = 'SELECT username, user_reputation
	FROM ' . USERS_TABLE . '
	WHERE user_id = ' . $id;
	
$result = $db->sql_query($sql);
echo $sql;
$reputation = $db->sql_fetchrow($result);
$db->sql_freeresult($result);

$template->assign_vars(array(
	'USERNAME'		=> $reputation['username'],
	'U_USER'		=> append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $id),
	'TOTAL_POINTS'	=> $reputation['user_reputation'],
	'S_MODERATE'	=> ($auth->acl_get('m_rp_moderate')) ? true : false,
	
	)
);

page_header($user->lang['RP_TITLE']); 

$template->set_filenames(array(
	'body' => 'viewreputation_body.html')
);

page_footer();

?>
Il risultato di quella quety, che vi ricordo è utilizzata per vedere la rep di un'altro utente, è questo:

Immagine




Mentre se un utente apre il suo pannello personale per vedere la propria rep, vede tutto correttamente, così:

Immagine

Re: User Reputation Mod

Inviato: 30/04/2011, 13:17
da Carlo
Io non conosco questa MOD, quindi solo da questo spezzettone di codice non è che ti possa dire qualcosa.

P.S.: Inserisci il codice nel BBCode CODE.


EDIT: L'autore della MOD, ha pubbicato una versione aggiornata a dicembre 2010, sul suo sito:
http://www.phpbb-id.com/customise/mod/u ... on_points/

Re: User Reputation Mod

Inviato: 30/04/2011, 13:27
da devilrex
la versione che utilizzo già è la 0.3.1

Non so, proverò ad installarla nuovamente (per la 4° volta) speriamo bene :-)

Re: User Reputation Mod

Inviato: 30/04/2011, 13:41
da Carlo
Edita il tuo precedente messaggio come ti ho specificato prima.

Re: User Reputation Mod

Inviato: 30/04/2011, 14:03
da devilrex
Done.
Ho controllato.
Alla fine è solo quel file che ho incollato che non va, tutto il resto funziona a meraviglia.
Quindi va controllato solo quello imho.

Re: User Reputation Mod

Inviato: 02/05/2011, 13:44
da Barrnet
Se vuoi provare una mod per la reputazione non abbandonata, prova la Irkoo reputation mod ^^