[gelöst]Täglich Userpoints gutschreiben
am 03.10.2011 - 15:43 Uhr in
Guten Tag,
ich nutze den Core 7.8, sowie UserPoints und "" Contributed Modules in der Dev-Version.
Zur Zeit möchte ich realisieren, dass jeder Benutzer eine bestimmte Anzahl an UserPoints gutgeschrieben bekommt.
(Das Löschen ist kein Problem, dabei führe ich "TRUNCATE TABLE `userpoints`" aus.)
Folgende Lösung ist bisher am nächsten an dem Problem dran: Rules: Beim Ausführen des Cronjobs soll "site:curren-user" eine bestimmte Anzahl an Userpoints hinzugefügt werden.
Leider kann ich hierbei nicht "alle user" wählen, sondern nur den current-user (oder doch?)
Gibt es vielleicht einen anderen, besseren Lösungsweg, um bei allen Benutzern Ihre Userpoints zeitgesteuert zu incrementieren?
Vielen Dank schon mal.
Mit freundlichem Gruß
Hoamer
EDIT: Hier die Lösung:
Theorie:
Es wird die UID aus der Table Users abgefragt.
$result = mysql_query("SELECT `uid` FROM `users`");
Daraufhin verwenden wir eine Schleife, welche die Datensätze hintereinander abarbeitet.
while ($row = mysql_fetch_array($result, MYSQL_NUM))
{
In dieser Schleife wird nun ein Array geladen, welcher die Parameter für das Userpoints-API beinhaltet.
//Userpoints hinzufügen
$params = array(
'uid' => $row[0],
'points' => 10,
);
Daraufhin wird der Hook der UserpointsAPI ausgeführt und somit die Anzahl der Userpoints des Users(UID) addiert. Der Datenbankzugriff wird geschlossen.
userpoints_userpointsapi($params); }
mysql_close($link);
Diesen Code lasse ich per Rules ausführen, sobald der cronjob ausgeührt wird.
______________
Hier nochmal die Zusammenfassung:
<?php
$link = mysql_connect('localhost', 'xxxx', 'xxxx');
if (!$link) {
die('keine Verbindung möglich: ' . mysql_error());
}
mysql_select_db("findeteuch.de");
$result = mysql_query("SELECT `uid` FROM `users`");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
//Userpoints hinzufügen
$params = array(
'uid' => $row[0],
'points' => 10,
);
userpoints_userpointsapi($params);
}
mysql_close($link);
?>
- Anmelden oder Registrieren um Kommentare zu schreiben
Neue Kommentare
vor 23 Stunden 41 Minuten
vor 1 Tag 22 Stunden
vor 3 Tagen 17 Stunden
vor 3 Tagen 22 Stunden
vor 4 Tagen 1 Stunde
vor 4 Tagen 12 Stunden
vor 4 Tagen 15 Stunden
vor 4 Tagen 15 Stunden
vor 4 Tagen 15 Stunden
vor 4 Tagen 15 Stunden