Probleem met Ultimate points na update ( 3.0.12 )

Hulp nodig bij een modificaties of op zoek naar een MOD?
Forumregels

LEES: Richtlijnen voor Support. Vul de support template in!
phpBB3.0.x
Verschaf iemand geen servertoegang tenzij het niet anders kan. Maak altijd eerst een volledige backup en verander de inloggevens na afloop. Eigen risico.
Plaats reactie
Gebruikersavatar
Solidjeuh
Berichten: 681
Lid geworden op: 05 okt 2010, 06:28
Locatie: Aalst / Belgie
Contacteer:

Probleem met Ultimate points na update ( 3.0.12 )

Bericht door Solidjeuh » 29 sep 2013, 16:57

Ik heb geupdate van 3.0.11 naar 3.0.12 via de automatische updater
En wanneer ik nu een bestand wil uploaden in die dowload modificatie krijg ik deze SQL fout.
Wat heel raar is, want het punten systeem heeft niets te maken met die download mod..
Gebruikers ontvangen geen punten voor het up / downloaden

Code: Selecteer alles

SQL ERROR [ mysqli ]

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE user_id = 0' at line 3 [1064]

SQL

UPDATE phpbb_users SET user_points = user_points - WHERE user_id = 0

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysqli.php
LINE: 189
CALL: dbal->sql_error()

FILE: [ROOT]/includes/points/functions_points.php
LINE: 385
CALL: dbal_mysqli->sql_query()

FILE: [ROOT]/includes/functions_posting.php
LINE: 2531
CALL: substract_points()

FILE: [ROOT]/dl_mod/classes/class_dl_topic.php
LINE: 589
CALL: submit_post()

FILE: [ROOT]/dl_mod/includes/dl_modcp.php
LINE: 675
CALL: dl_topic::update_topic()

FILE: [ROOT]/downloads.php
LINE: 860
CALL: include('[ROOT]/dl_mod/includes/dl_modcp.php')
========== EDIT =========

het heeft te maken met deze code, Want het gebeurd enkel als je een download bewerkt zie ik net..
Bij het uploaden van een nieuw bestand gaat alles goed..

Code: Selecteer alles

/*
* reset reported broken download if allowed
*/
if ($view == 'unbroken' && $df_id && $cat_id)
{
	$cat_auth = array();
	$cat_auth = dl_auth::dl_cat_auth($cat_id);

	if (isset($index[$cat_id]['auth_mod']) && $index[$cat_id]['auth_mod'] || isset($cat_auth['auth_mod']) && $cat_auth['auth_mod'] || ($auth->acl_get('a_') && $user->data['is_registered']))
	{
		$sql = 'UPDATE ' . DOWNLOADS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', array(
			'broken' => 0)) . ' WHERE id = ' . (int) $df_id;
		$db->sql_query($sql);
	}

	redirect(append_sid("{$phpbb_root_path}downloads.$phpEx", "view=detail&df_id=$df_id&cat_id=$cat_id"));
}
Forum voor NL Extensie vertalingen ---> https://www.solidjeuh.fun
----------------------------------------------------------------------------

Gebruikersavatar
Ger
Berichten: 4864
Lid geworden op: 03 jan 2006, 22:23
Locatie: 192.68.1.100
Contacteer:

Re: Probleem met Ultimate points na update ( 3.0.12 )

Bericht door Ger » 30 sep 2013, 08:56

Hoe weet je dat het te maken heeft met die code? Als ik naar de foutmelding kijk, komt die query helemaal niet voor in die code namelijk. De fout is een queryfout:

Code: Selecteer alles

UPDATE phpbb_users SET user_points = user_points - WHERE user_id = 0
Achter die user_points = user_points - moet nog iets komen. Het is nu namelijk nieuw = oud - {leegte} en daar kan de database niets mee. Je moet dus kijken hoe het komt dat die query niet klopt. Waarschijnlijk moet je zijn in:
FILE: [ROOT]/includes/points/functions_points.php
LINE: 385
(of iets daarboven)

Gebruikersavatar
Solidjeuh
Berichten: 681
Lid geworden op: 05 okt 2010, 06:28
Locatie: Aalst / Belgie
Contacteer:

Re: Probleem met Ultimate points na update ( 3.0.12 )

Bericht door Solidjeuh » 30 sep 2013, 19:01

Bedankt voor de reactie!
Daar staat dit:

Code: Selecteer alles

/**
* Add points to user
*/
function add_points($user_id, $amount)
{
	global $db, $user;

	// Select users current points
	$sql_array = array(
		'SELECT'    => 'user_points',
		'FROM'      => array(
			USERS_TABLE => 'u',
		),
		'WHERE'		=> 'user_id = ' . (int) $user_id,
	);
	$sql = $db->sql_build_query('SELECT', $sql_array);
	$result = $db->sql_query($sql);
	$user_points = $db->sql_fetchfield('user_points');
	$db->sql_freeresult($result);

	// Add the points
	$sql = 'UPDATE ' . USERS_TABLE . '
		SET user_points = user_points + ' . $amount . '
		WHERE user_id = ' . (int) $user_id;
	$db->sql_query($sql);

	return;
}

/**
* Substract points from user
*/
function substract_points($user_id, $amount)
{
	global $db, $user;

	// Select users current points
	$sql_array = array(
		'SELECT'    => 'user_points',
		'FROM'      => array(
			USERS_TABLE => 'u',
		),
		'WHERE'		=> 'user_id = ' . (int) $user_id,
	);
	$sql = $db->sql_build_query('SELECT', $sql_array);
	$result = $db->sql_query($sql);
	$user_points = $db->sql_fetchfield('user_points');
	$db->sql_freeresult($result);

	// Update the points
	$sql = 'UPDATE ' . USERS_TABLE . '
		SET user_points = user_points - ' . $amount . '
		WHERE user_id = ' . (int) $user_id;
	$db->sql_query($sql);

	return;
}
Het zal ergens in die '* Substract points from user' zitten.. maar waar.. haha
Zo slim ben ik nog net niet :)
Forum voor NL Extensie vertalingen ---> https://www.solidjeuh.fun
----------------------------------------------------------------------------

Gebruikersavatar
Theriddler
Berichten: 1103
Lid geworden op: 20 apr 2012, 07:47
Contacteer:

Re: Probleem met Ultimate points na update ( 3.0.12 )

Bericht door Theriddler » 30 sep 2013, 20:22

volgends mij is de - en +de oorzaak want volgends mij herkend mysql dat niet

Code: Selecteer alles

SET user_points = user_points - ' . $amount . '
misschien zo:

Code: Selecteer alles

SET user_points = user_points MIN( ' . $amount . ' )
denk dat je in die richting moet zoeken

Gebruikersavatar
Solidjeuh
Berichten: 681
Lid geworden op: 05 okt 2010, 06:28
Locatie: Aalst / Belgie
Contacteer:

Re: Probleem met Ultimate points na update ( 3.0.12 )

Bericht door Solidjeuh » 30 sep 2013, 20:24

Maar alles werkte, voor de update naar 3.0.12
Dus zou het toch wel raar zijn als het probleem in die Ultimate points modificatie ligt..?
Want er is niets aangepast daar

Maar als ik dat doe krijg ik dit:

UPDATE phpbb_users SET user_points = user_points MIN( ) WHERE user_id = 0
Forum voor NL Extensie vertalingen ---> https://www.solidjeuh.fun
----------------------------------------------------------------------------

Gebruikersavatar
John P
Berichten: 163
Lid geworden op: 29 sep 2012, 13:48
Contacteer:

Re: Probleem met Ultimate points na update ( 3.0.12 )

Bericht door John P » 30 sep 2013, 20:38

Uit je foutmelding blijkt dat $amount geen waarde heeft.

UPDATE phpbb_users SET user_points = user_points - WHERE user_id = 0

De aanroepende functie moet je dus eens bekijken waarom de waarde van $amount leeg is.
Beter zou dan ook zijn als de functie op deze wijze gedeclareerd is:

function substract_points($user_id = 0, $amount = 0)
Afbeelding
Webhosting, Custom MODs, Technical management, MOD installation and Webdesign

Gebruikersavatar
Solidjeuh
Berichten: 681
Lid geworden op: 05 okt 2010, 06:28
Locatie: Aalst / Belgie
Contacteer:

Re: Probleem met Ultimate points na update ( 3.0.12 )

Bericht door Solidjeuh » 30 sep 2013, 20:53

Oooooooow stop! haha

De fout lag aan mezelf.. Sorry iedereen!!
Als er een bestand geupload word, maakt die automatisch een bericht in het forum, met melding van een nieuwe download. En ik had die post verwijderd, Om dat eens te testen.. En niet meer aan gedacht..

Dus wat gebeurde er nu, Als ik de download wou bewerken, kon hij die post ook niet meer automatisch bijwerken. Want die was er niet meer.. haha

Domme ik... Sorry hoor! :oops: :oops:
Forum voor NL Extensie vertalingen ---> https://www.solidjeuh.fun
----------------------------------------------------------------------------

Plaats reactie