/** * Create formatted detail string from log row. * * The method handles two properties of the model: details and logData * Details is a string with possible %s placeholders, and logData an array * with the substitutions. * Furthermore, possible files in logData are stripped to their basename if * the action logged was a file action * * @param \TYPO3\CMS\Belog\Domain\Model\LogEntry $logEntry * @return string Formatted details */ public function render(\TYPO3\CMS\Belog\Domain\Model\LogEntry $logEntry) { $detailString = $logEntry->getDetails(); $substitutes = $logEntry->getLogData(); // Strip pathes from file names if the log was a file action if ($logEntry->getType() === 2) { $substitutes = $this->stripPathFromFilenames($substitutes); } // Substitute $detailString = vsprintf($detailString, $substitutes); // Remove possible pending other %s $detailString = str_replace('%s', '', $detailString); return htmlspecialchars($detailString); }
/** * @test */ public function getLogDataForSerializedObjectReturnsEmptyArray() { $this->subject->setLogData(new \stdClass()); $this->assertSame(array(), $this->subject->getLogData()); }