Sobald du auf anzeige aktualisieren drückst im ACP verlieren die nicht newbie ihre Punkte für den Thread.
Ansonsten sollte der Code aber gehen.
Werde ich bei dir morgen einfügen.
Sobald du auf anzeige aktualisieren drückst im ACP verlieren die nicht newbie ihre Punkte für den Thread.
Ansonsten sollte der Code aber gehen.
Werde ich bei dir morgen einfügen.
Das wird auch zu einem Problem, sobald du die Anzeige im ACP aktualisiert wird der Beitrag nicht mehr gezählt, weil er schon in der Gruppe ist.
Für alle neuen Beiträge sollte es danach aber gehen.
Ob die Benutzer die keine Punkte bekommen sollen nicht in der Gruppe Newbie sind oder auch in der Gruppe?
Falls nicht dann wäre es möglich einmal FTP Zugang zu haben zwei Accounts mit den ich das testen kann(Newbie und nicht Newbie)?
Dann gucke ich mal
Sind die anderen Benutzee auch in der Gruppe Newbie als Zusatz Gruppe?
Dann müsste der code wie folgt geändert werden das hier in PostAction ab Zeile 250
// fire activity event
if ($post->userID){
UserActivityEventHandler::getInstance()->fireEvent('com.woltlab.wbb.recentActivityEvent.post', $post->postID, $threadEditor->languageID, $post->userID, $post->time);
$user = new \wcf\data\user\User($post->userID);
$groupID = 0;
$boardIDs = array();
if(!in_array($post->getThread()->boardID, $boardIDs) || (!in_array($groupID, $user->getGroupIDs()) && in_array($post->getThread()->boardID, $boardIDs))){
if(!$isBulkProcessing && $boardEditor->countUserPosts) UserActivityPointHandler::getInstance()->fireEvent('com.woltlab.wbb.activityPointEvent.post', $post->postID, $post->userID);
}
}
Alles anzeigen
und das hier in den RebuildDataWorker
$user = new \wcf\data\user\User($post->userID);
$groupID = 0;
$boardIDs = array();
if(!in_array($post->getThread()->boardID, $boardIDs) || (!in_array($groupID, $user->getGroupIDs()) && in_array($post->getThread()->boardID, $boardIDs))){
if(!$post->isDisabled && $post->userID && $post->getThread()->getBoard()->countUserPosts && !$post->isFirstPost()){
if(!isset($itemsToUser[$post->userID])){
$itemsToUser[$post->userID] = 0;
}
$itemsToUser[$post->userID]++;
}
}
Alles anzeigen
Nicht vergessen die groupId aus zu tauschen durch die der Newbiegruppe
Ja das wäre möglich.
Das hier müsste in den RebuildDataWorker
$user = new \wcf\data\user\User($post->userID);
$groupID = 0;
$boardIDs = array();
if(!in_array($post->getThread()->boardID, $boardIDs) || (!in_array($groupID, $user->getGroupIDs()) && in_array($post->getThread()->boardID, $boardIDs))){
if(!$post->isDisabled && $post->userID && $post->getThread()->getBoard()->countUserPosts && !$post->isFirstPost()){
if(!isset($itemsToUser[$post->userID])){
$itemsToUser[$post->userID] = 0;
}
$itemsToUser[$post->userID]++;
}
}
Alles anzeigen
ab der Zeile 146 das ersetzen(nicht alles!)
Und das hier müsste in die PostAction ab der Zeile 250
// fire activity event
if ($post->userID){
UserActivityEventHandler::getInstance()->fireEvent('com.woltlab.wbb.recentActivityEvent.post', $post->postID, $threadEditor->languageID, $post->userID, $post->time);
$user = new \wcf\data\user\User($post->userID);
$groupID = 0;
$boardIDs = array();
if(!in_array($post->getThread()->boardID, $boardIDs) || (!in_array($groupID, $user->getGroupIDs()) && in_array($post->getThread()->boardID, $boardIDs))){
if(!$isBulkProcessing && $boardEditor->countUserPosts) UserActivityPointHandler::getInstance()->fireEvent('com.woltlab.wbb.activityPointEvent.post', $post->postID, $post->userID);
}
}
Alles anzeigen
Du must dann jeweils nur die passenden ForenIDs und die BenutzergruppenID eintragen.
Bie der GruppenID muss die eingetragen werden, in der der Benutzer nicht sein darf um Punkte zu bekommen.
Bei den boardIDs muss eine array die so aussehen kann eingetragen werden, dafür nur die passenden boardIDs eintragen
Wichtig!
Dies ist nicht getestet und kann Fehler verursachen
SO grob würde ich sagen, sollte es reichen das zwei Änderungen gemacht werden.
Und zwar jedes mal wenn die Aktivitätspunkte vergeben werden, das wäre in der PostAction.class.php und in der PostRebuildDataWorker.class.php, dort müsste eine Überprüfung rein, in welcher Gruppe der Autor ist.
Das ist mit einem Plugin nicht umsetzbar, dafür müssen die Hauptdateien des WBB´s verändert werden um dies umzusetzen.