/** * * @param array $entry * @param array $columns * @param tx_rnbase_util_FormTool $formTool * @param Tx_Rnbase_Domain_Model_DataInterface $options * @return array */ protected static function prepareRow($entry, $columns, $formTool, $options) { $record = $entry; if ($entry instanceof Tx_Rnbase_Domain_Model_DataInterface) { $record = $entry->getProperty(); } if ($entry instanceof Tx_Rnbase_Domain_Model_RecordInterface) { $record = $entry->getRecord(); } $row = array(); if ($options->getCheckbox() !== NULL) { $checkName = $options->getCheckboxname() ? $options->getCheckboxname() : 'checkEntry'; $dontcheck = is_array($options->getDontcheck()) ? $options->getDontcheck() : array(); // Check if entry is checkable if (!array_key_exists($record['uid'], $dontcheck)) { $row[] = $formTool->createCheckbox($checkName . '[]', $record['uid']); } else { $row[] = '<img' . Tx_Rnbase_Backend_Utility_Icons::skinImg($GLOBALS['BACK_PATH'], 'gfx/zoom2.gif', 'width="11" height="12"') . ' title="Info: ' . $dontcheck[$record['uid']] . '" border="0" alt="" />'; } } if ($options->getAddRecordSprite()) { $spriteIconName = 'mimetypes-other-other'; if ($entry instanceof Tx_Rnbase_Domain_Model_RecordInterface && $entry->getTableName()) { $spriteIconName = Tx_Rnbase_Backend_Utility_Icons::mapRecordTypeToSpriteIconName($entry->getTableName(), $record); } $row[] = tx_rnbase_mod_Util::getSpriteIcon($spriteIconName); } reset($columns); foreach ($columns as $column => $data) { // Hier erfolgt die Ausgabe der Daten für die Tabelle. Wenn eine method angegeben // wurde, dann muss das Entry als Objekt vorliegen. Es wird dann die entsprechende // Methode aufgerufen. Es kann auch ein Decorator-Objekt gesetzt werden. Dann wird // von diesem die Methode format aufgerufen und der Wert, sowie der Name der aktuellen // Spalte übergeben. Ist nichts gesetzt wird einfach der aktuelle Wert verwendet. if (isset($data['method'])) { $row[] = call_user_func(array($entry, $data['method'])); } elseif (isset($data['decorator'])) { $decor = $data['decorator']; $row[] = $decor->format($record[$column], $column, $record, $entry); } else { $row[] = $record[$column]; } } if ($options->getLinker()) { $row[] = self::addLinker($options, $entry, $formTool); } return $row; }