/**
  * 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);
 }
Example #2
0
	/**
	 * @test
	 */
	public function getLogDataForSerializedObjectReturnsEmptyArray() {
		$this->subject->setLogData(new \stdClass());
		$this->assertSame(array(), $this->subject->getLogData());
	}