コード例 #1
0
 /**
  * @see    \wcf\data\DatabaseObjectList::readObjects()
  */
 public function readObjects()
 {
     parent::readObjects();
     if ($this->loadDeleteNote) {
         $objectIDs = array();
         foreach ($this->objects as $object) {
             if ($object->isDeleted) {
                 $objectIDs[] = $object->entryID;
             }
         }
         // load deletion data
         if (!empty($objectIDs)) {
             $this->logList = new EntryListModificationLogList();
             $this->logList->setEntryData($objectIDs, 'trash');
             $this->logList->readObjects();
             foreach ($this->logList as $logEntry) {
                 foreach ($this->objects as $object) {
                     if ($object->entryID == $logEntry->objectID) {
                         $object->setLogEntry($logEntry);
                     }
                 }
             }
         }
     }
 }
コード例 #2
0
 /**
  * Trashes entries.
  */
 public function trash()
 {
     $entryIDs = array();
     foreach ($this->objects as $entry) {
         $entry->update(array('deleteTime' => TIME_NOW, 'isDeleted' => 1));
         $this->addEntryData($entry->getDecoratedObject(), 'isDeleted', 1);
         EntryModificationLogHandler::getInstance()->trash($entry->getDecoratedObject(), $this->parameters['data']['reason']);
         $entryIDs[] = $entry->entryID;
     }
     // get delete notes
     $logList = new EntryListModificationLogList($entryIDs, 'trash');
     $logList->getConditionBuilder()->add("modification_log.time = ?", array(TIME_NOW));
     $logList->readObjects();
     $logEntries = array();
     foreach ($logList as $logEntry) {
         $logEntries[$logEntry->objectID] = $logEntry->__toString();
     }
     foreach ($this->objects as $entry) {
         $this->addEntryData($entry->getDecoratedObject(), 'deleteNote', $logEntries[$entry->entryID]);
     }
     $this->unmarkItems();
     UserStorageHandler::getInstance()->resetAll('linklistUnreadEntries');
     return $this->getEntryData();
 }