/**
  * Returns a TYPO3 sprite icon
  *
  * @param string $iconName
  * @param array $options
  * @param array $overlays
  *
  * @return string The full HTML tag (usually a <span>)
  */
 public static function getSpriteIcon($iconName, array $options = array(), array $overlays = array())
 {
     return Tx_Rnbase_Backend_Utility_Icons::getSpriteIcon($iconName, $options, $overlays);
 }
 /**
  * Create the panel of buttons for submitting the form or otherwise perform operations.
  *
  * @return	array	all available buttons as an assoc. array
  */
 function getButtons()
 {
     global $BACK_PATH, $BE_USER;
     $buttons = array('csh' => '', 'view' => '', 'record_list' => '', 'shortcut' => '');
     // TODO: CSH
     $buttons['csh'] = Tx_Rnbase_Backend_Utility::cshItem('_MOD_' . $this->MCONF['name'], '', $GLOBALS['BACK_PATH'], '', TRUE);
     if ($this->id && is_array($this->pageinfo)) {
         // View page
         $buttons['view'] = '<a href="#" onclick="' . htmlspecialchars(Tx_Rnbase_Backend_Utility::viewOnClick($this->pageinfo['uid'], $BACK_PATH, Tx_Rnbase_Backend_Utility::BEgetRootLine($this->pageinfo['uid']))) . '">' . '<img' . Tx_Rnbase_Backend_Utility_Icons::skinImg($BACK_PATH, 'gfx/zoom.gif') . ' title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.showPage', 1) . '" hspace="3" alt="" />' . '</a>';
         // Shortcut
         if ($BE_USER->mayMakeShortcut()) {
             $buttons['shortcut'] = $this->getDoc()->makeShortcutIcon('id, edit_record, pointer, new_unique_uid, search_field, search_levels, showLimit', implode(',', array_keys($this->MOD_MENU)), $this->MCONF['name']);
         }
         // If access to Web>List for user, then link to that module.
         if ($BE_USER->check('modules', 'web_list')) {
             $href = $BACK_PATH . 'db_list.php?id=' . $this->pageinfo['uid'] . '&returnUrl=' . rawurlencode(tx_rnbase_util_Misc::getIndpEnv('REQUEST_URI'));
             $buttons['record_list'] = '<a href="' . htmlspecialchars($href) . '">' . '<img' . Tx_Rnbase_Backend_Utility_Icons::skinImg($BACK_PATH, 'gfx/list.gif') . ' title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.showList', 1) . '" alt="" />' . '</a>';
         }
     }
     return $buttons;
 }
Example #3
0
 /**
  * Liefert einen Sortierungslink für das gegebene Feld
  * @param string $sSortField
  * @return string
  */
 public function createSortLink($sSortField, $sLabel)
 {
     //das ist aktuell gesetzt
     $sCurrentSortField = tx_rnbase_parameters::getPostOrGetParameter('sortField');
     $sCurrentSortRev = tx_rnbase_parameters::getPostOrGetParameter('sortRev');
     //wir verweisen immer auf die aktuelle Seite
     //es kann aber schon ein sort parameter gesetzt sein
     //weshalb wir alte entfernen
     $sUrl = preg_replace('/&sortField=.*&sortRev=[^&]*/', '', tx_rnbase_util_Misc::getIndpEnv('TYPO3_REQUEST_URL'));
     //sort richtung rausfinden
     //beim initialen Aufruf (spalte noch nicht geklickt) wird immer aufsteigend sortiert
     if ($sCurrentSortField != $sSortField) {
         $sSortRev = 'asc';
     } else {
         //sonst das gegenteil vom aktuellen
         $sSortRev = $sCurrentSortRev == 'desc' ? 'asc' : 'desc';
     }
     //prüfen ob Parameter mit ? oder & angehängt werden müssen
     $sAddParamsWith = strstr($sUrl, '?') ? '&' : '?';
     //jetzt setzen wir den aktuellen Sort parameter zusammen
     $sSortUrl = $sUrl . $sAddParamsWith . 'sortField=' . $sSortField . '&sortRev=' . $sSortRev;
     //noch den Pfeil für die aktuelle Sortierungsrichtung ggf. einblenden
     $sSortArrow = $sCurrentSortField == $sSortField ? '<img' . Tx_Rnbase_Backend_Utility_Icons::skinImg($GLOBALS['BACK_PATH'], 'gfx/red' . ($sSortRev == 'asc' ? 'up' : 'down') . '.gif', 'width="7" height="4"') . ' alt="" />' : '';
     return '<a href="' . htmlspecialchars($sSortUrl) . '">' . $sLabel . $sSortArrow . '</a>';
 }
 /**
  *
  * @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;
 }