MyBB.de Forum

Normale Version: Usertitel Auswertung ändern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Leute.

Die Usertitel werden ja standardmäßig nach der Anzahl der Post vergeben.
Wir würden das ganz gerne umbauen, sodass es nach den Bewertungssystem funktioniert.

Ist dies ohne Probleme möglich?
In welcher php Datei werden die Usertitle ausgewertet, ich konnte sie nicht finden!?

Danke
Möglich ist das auf jeden Fall, allerdings findet sich der Code in mehreren Dateien (z.B. inc/functions_post.php).
Ah, dann hab ich mich doch nicht ganz verschaut.
In der Members.php ist es glaube ich auch drin.

Gehe ich recht in der Annahme, dass es sich um diesen Codeteil handelt:
PHP-Code:
elseif(is_array($titlescache) && !$usergroup['usertitle'])
{
reset($titlescache);
foreach(
$titlescache as $key => $titleinfo)
{
if(
$post['postnum'] >= $key)
{
if(!
$hascustomtitle)
{
$post['usertitle'] = $titleinfo['title'];
}
$post['stars'] = $titleinfo['stars'];
$post['starimage'] = $titleinfo['starimage'];
break;
}
}


Hier wird immer abgefragt, ob die Postanzahl mit den im ACP hinterlegten Werten übereinstimmt!?
Was alles auch noch gecached wird!?
Man müsste also nur die Anzahl der Likes abfragen und hier anstatt vergleichen.
Und ebenfalls in den anderen Skripten abändern!?
Die passende Abfrage hast du gefunden.
(15.06.2016, 22:04)cthulhu schrieb: [ -> ]In der Members.php ist es glaube ich auch drin.
Der Code kommt in eigenen Dateien vor, nicht nur diesen beiden. Um das genau zu sagen, müsste ich aber auch erst einmal suchen.
Das ist aus der member.php:
PHP-Code:
if($memprofile['postnum'] >= $title['posts'])
{
$usertitle $title['title'];
$stars $title['stars'];
$starimage $title['starimage'];

break;

Das ist klar, wenn die Postanzahl größer gleich dem eingestellten Wert ist, werden die Variablen dementsprechend gesetzt.

Das hier ist aus der functions_post.php
PHP-Code:
foreach($titlescache as $key => $titleinfo)
{
if(
$post['postnum'] >= $key)
{
if(!
$hascustomtitle)
{
$post['usertitle'] = $titleinfo['title'];
}
$post['stars'] = $titleinfo['stars'];
$post['starimage'] = $titleinfo['starimage'];
break;


Wieso wird hier $key abgefragt? Sollten hier nichr auch die Posts abgefragt werden?
Das Array $titlescache ist anders aufgebaut. Wink
Kannst du mir das genauer erklären bitte?
Möchte es gerne verstehen.

Das Array ist doch aufgebaut, wie man es im Cache Manager aufrufen kann oder!?
Dann nimmt die Variable $key doch nur die Werte 1 - n (n Anzahl der Usertitle) an oder!?

PS:
Konnte schon erfolgreich die Anzeige im Profil, sowie in der Memberliste auf Likes umbauen, danke schonmal.
$titlescache wird weiter oben in der inc/functions_post.php definiert. Es wird zwar der Cache verwendet, aber das Array sieht ganz anders aus.