Ich mein, der % Bug ist noch nicht behoben:
PHP-Code:
function db_query($sql_tag){
global $count_query;
$count_query++;
$fargs = func_get_args();
if (!empty($fargs)){
$vargs = array();
foreach($fargs as $key => $arg){
$vargs[$key] = mysql_real_escape_string($arg);
}
array_shift($vargs);
$sql_tag = vsprintf($sql_tag,$vargs);
}
if($ret = mysql_query($sql_tag)){
return $ret;
}else{
return 0;
}
}
(so ist es aktuell drin)
array shift löscht ja das 1. element aus den übergebenen parametern raus, und zeile danach wird vsprintf ausgeführt, AUCH WENN es nur 1 Parameter gab, somit $vargs dann leer ist.
Da sollte ja sowas wie:
PHP-Code:
function db_query($sql_tag){
global $count_query;
$count_query++;
$fargs = func_get_args();
if (!empty($fargs)){
$vargs = array();
foreach($fargs as $key => $arg){
$vargs[$key] = mysql_real_escape_string($arg);
}
array_shift($vargs);
if(!empty($vargs))$sql_tag = vsprintf($sql_tag,$vargs);
}
if($ret = mysql_query($sql_tag)){
return $ret;
}else{
return 0;
}
}
Abhilfe schaffen (bzw gabs da schon mehrere Themen zu, aber iwie wurde es nie eingebaut
Funktion refumsatz:
da fehlt noch das setzen der aktivzeit
PHP-Code:
// Refumsatz gutschreiben
function refumsatz ($buchungssumme,$fuer) {
global $db_prefix;
db_query ('UPDATE '.$db_prefix.'_werberdaten SET umsatz = umsatz + '.$buchungssumme.' WHERE uid = '.$fuer.' and werber != 0');
}
(aktuell)
also so:
PHP-Code:
// Refumsatz gutschreiben
function refumsatz ($buchungssumme,$fuer) {
global $db_prefix;
db_query ('UPDATE '.$db_prefix.'_werberdaten SET umsatz = umsatz + '.$buchungssumme.', aktivzeit='.time().' WHERE uid = '.$fuer.' and werber != 0');
}
von: http://www.designerscripte.net/showp...74&postcount=9
Und in der Version, die ich mir gerade ausm DL Bereich geholt hab, ist auch noch das in der topframe_forced.php mit dem Mindestaufenthalt nicht drin ?
siehe dazu:
http://www.designerscripte.net/showt...ezeit+umgangen