Das ist okay.
Sobald du es hast, schick es mir bitte per Konversation dann gucke ich es mir an sobald ich Zeit habe
Beiträge von Cyperghost im Thema „Probleme mit Themen ignorieren“
-
-
Versuch mal den Inhalt folgender Datei zu ersetzen(ist im Ordner wbb/system/event/listener
Ansonsten müsste ich wirklich mal FTP und Admin Zugang bekommen damit ich es mir mal ansehen kannPHP: ThreadIgnoreActionListener.class.php
Alles anzeigen<?php namespace wbb\system\event\listener; use wbb\data\post\PostAction; use wbb\system\worker\PostRebuildDataWorker; use wcf\system\event\listener\IParameterizedEventListener; use wcf\system\user\storage\UserStorageHandler; use wcf\system\visitTracker\VisitTracker; use wcf\system\WCF; /** * Mark all threads and post as read where is ignore from a user * * @author Olaf Braun * @copyright 2016 Olaf Braun - Software Development * * @package wbb\system\event\listener */ class ThreadIgnoreActionListener implements IParameterizedEventListener{ /** * Executes this action. * * @param object $eventObj Object firing the event * @param string $className class name of $eventObj * @param string $eventName name of the event fired * @param array &$parameters given parameters */ public function execute($eventObj, $className, $eventName, array &$parameters){ if(!($eventObj instanceof PostAction && $eventObj->getActionName() != "create")) return; //updating the last visit time $sql = "REPLACE INTO wcf".WCF_N."_tracked_visit (objectTypeID, objectID, userID, visitTime) (SELECT ?, threadID, userID, ? FROM wbb".WCF_N."_thread_ignore)"; $statement = WCF::getDB()->prepareStatement($sql); $statement->execute(array(VisitTracker::getInstance()->getObjectTypeID("com.woltlab.wbb.thread"), TIME_NOW)); //set notification as read $sql = "UPDATE wcf".WCF_N."_user_notification notification SET confirmTime = ? WHERE ( SELECT COUNT(*) FROM wbb".WCF_N."_thread_ignore thread_ignore LEFT JOIN wbb".WCF_N."_post post ON(post.threadID = thread_ignore.threadID) WHERE thread_ignore.userID = notification.userID AND notification.objectID = post.threadID ) > 0"; $statement = WCF::getDB()->prepareStatement($sql); $statement->execute(array(TIME_NOW)); // delete notification_to_user assignments (mimic legacy notification system) $sql = "DELETE FROM wcf".WCF_N."_user_notification_to_user WHERE notificationID NOT IN ( SELECT notificationID FROM wcf".WCF_N."_user_notification WHERE confirmTime = ? )"; $statement = WCF::getDB()->prepareStatement($sql); $statement->execute(array(0)); //mark likes as confirmed $sql = "UPDATE wcf".WCF_N."_user_notification notification SET confirmTime = ? WHERE ( SELECT COUNT(*) FROM wbb".WCF_N."_thread_ignore thread_ignore LEFT JOIN wbb".WCF_N."_post post ON(post.threadID = thread_ignore.threadID) WHERE thread_ignore.userID = notification.userID AND notification.baseObjectID = post.postID ) > 0"; $statement = WCF::getDB()->prepareStatement($sql); $statement->execute(array(TIME_NOW)); UserStorageHandler::getInstance()->resetAll('userNotificationCount'); UserStorageHandler::getInstance()->resetAll('wbbUnreadThreads'); UserStorageHandler::getInstance()->resetAll('wbbUnreadWatchedThreads'); } }
-
Da bräuchte ich die vorherigen Meldungen
-
So, ich habe da mal folgenden Fehler gefunden
Code
Alles anzeigen<<<<<<<<387b23b739069b9760cd70ca5f7045c66a7ab7a9<<<< Sun, 10 Jul 2016 11:07:20 +0000 Message: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'wbb4_db.wbb1_thread_ignore' doesn't exist File: /var/www/virtual/***/htdocs/wcf/lib/system/database/Database.class.php (231) PHP version: 5.5.9-1ubuntu4.17 WCF version: 2.1.11 (Typhoon) Request URI: /index.php?board/60-off-topic-und-chatforum/ Referrer: http://www.***/ User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:39.0) Gecko/20100101 Firefox/39.0 Information: "<b>sql type:<\/b> wcf\\system\\database\\MySQLDatabase<br \/><b>sql error:<\/b> Table 'wbb4_db.wbb1_thread_ignore' doesn't exist<br \/><b>sql error number:<\/b> 42S02<br \/><b>sql version:<\/b> 5.5.49-0ubuntu0.14.04.1<br \/><b>sql query:<\/b> SELECT\tthread.threadID AS objectID\n\t\t\tFROM\twbb1_thread thread\n\t\t\t\t\n\t\t\t\tWHERE (SELECT COUNT(*) FROM wbb1_thread_ignore WHERE userID = ? AND threadID = thread.threadID) = 0 AND thread.threadID IN (?,?,?,?,?) AND thread.isDeleted = 0 AND thread.isDisabled = 0 AND thread.movedThreadID IS NULL\n\t\t\t\tORDER BY thread.replies DESC, thread.lastPostTime DESC LIMIT 5<br \/>" Stacktrace: #0 /var/www/virtual/***/htdocs/wcf/lib/data/DatabaseObjectList.class.php(167): wcf\system\database\Database->prepareStatement('SELECT?thread.t...', 5, 0) #1 /var/www/virtual/***/htdocs/lib/data/thread/MostActiveThreadList.class.php(68): wcf\data\DatabaseObjectList->readObjectIDs() #2 /var/www/virtual/***/htdocs/lib/system/dashboard/box/MostActiveThreadsDashboardBox.class.php(35): wbb\data\thread\MostActiveThreadList->__construct(60) #3 /var/www/virtual/***/htdocs/wcf/lib/system/dashboard/DashboardHandler.class.php(71): wbb\system\dashboard\box\MostActiveThreadsDashboardBox->init(Object(wcf\data\dashboard\box\DashboardBox), Object(wbb\page\BoardPage)) #4 /var/www/virtual/***/htdocs/lib/page/BoardPage.class.php(356): wcf\system\dashboard\DashboardHandler->loadBoxes('com.woltlab.wbb...', Object(wbb\page\BoardPage)) #5 /var/www/virtual/***/htdocs/wcf/lib/page/AbstractPage.class.php(276): wbb\page\BoardPage->assignVariables() #6 /var/www/virtual/***/htdocs/wcf/lib/page/AbstractPage.class.php(100): wcf\page\AbstractPage->show() #7 /var/www/virtual/***/htdocs/wcf/lib/system/request/Request.class.php(58): wcf\page\AbstractPage->__run() #8 /var/www/virtual/***/htdocs/wcf/lib/system/request/RequestHandler.class.php(139): wcf\system\request\Request->execute() #9 /var/www/virtual/***/htdocs/index.php(10): wcf\system\request\RequestHandler->handle('wbb') #10 {main} <<<<
Der sagt das die Datenbank Tabelle nicht existiert.
Bitte lösch mal das Plugin und installier es neu.
Den die Fehler laut log haben nichts mit meinem Plugin zu tun sondern mit WCF selbst(die anderen) -
ich bräuchte etwas mehr vom Fehler Code, sonst kann ich nicht genau sagen wo der Fehler ist.