Bug #18537 » 7986_III.diff
t3lib/class.t3lib_recordlist.php (Arbeitskopie) | ||
---|---|---|
var $leftMargin = 0; // OBSOLETE - NOT USED ANYMORE. leftMargin
|
||
var $showIcon = 1;
|
||
var $no_noWrap = 0;
|
||
var $oddColumnsTDParams =''; // If set this is <td>-params for odd columns in addElement. Used with db_layout / pages section
|
||
var $oddColumnsCSSClass =''; // If set this is <td> CSS-classname for odd columns in addElement. Used with db_layout / pages section
|
||
var $backPath='';
|
||
var $fieldArray = Array(); // Decides the columns shown. Filled with values that refers to the keys of the data-array. $this->fieldArray[0] is the title column.
|
||
var $addElement_tdParams = array(); // Keys are fieldnames and values are td-parameters to add in addElement();
|
||
var $addElement_tdParams = array(); // Keys are fieldnames and values are td-parameters to add in addElement(), please use $addElement_tdCSSClass for CSS-classes;
|
||
var $addElement_tdCSSClass = array(); // Keys are fieldnames and values are td-css-classes to add in addElement();
|
||
|
||
// Not used in this class - but maybe extension classes...
|
||
var $fixedL = 50; // Max length of strings
|
||
var $fixedL = 30; // Max length of strings
|
||
var $script = '';
|
||
var $thumbScript = 'thumbs.php';
|
||
var $setLMargin=1; // Set to zero, if you don't want a left-margin with addElement function
|
||
... | ... | |
* @param string $altLine is the HTML <img>-tag for an alternative 'gfx/ol/line.gif'-icon (used in the top)
|
||
* @return string HTML content for the table row
|
||
*/
|
||
function addElement($h,$icon,$data,$tdParams='',$lMargin='',$altLine='') {
|
||
function addElement($h,$icon,$data,$trParams='',$lMargin='',$altLine='') {
|
||
$noWrap = ($this->no_noWrap) ? '' : ' nowrap="nowrap"';
|
||
// Start up:
|
||
$out='
|
||
<!-- Element, begin: -->
|
||
<tr>';
|
||
<tr '.$trParams.'>';
|
||
// Show icon and lines
|
||
if ($this->showIcon) {
|
||
$out.='
|
||
<td nowrap="nowrap"'.$tdParams.'>';
|
||
<td nowrap="nowrap" class="col-icon">';
|
||
if (!$h) {
|
||
# $out.='<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/ol/halfline.gif','width="18" height="8"').' alt="" />';
|
||
... | ... | |
$lastKey='';
|
||
$c=0;
|
||
$ccount=0;
|
||
$tdP[0] = $this->oddColumnsTDParams ? $this->oddColumnsTDParams : $tdParams;
|
||
$tdP[1] = $tdParams;
|
||
// Traverse field array which contains the data to present:
|
||
reset($this->fieldArray);
|
||
while(list(,$vKey)=each($this->fieldArray)) {
|
||
if (isset($data[$vKey])) {
|
||
if ($lastKey) {
|
||
$CSSClass = ($this->oddColumnsCSSClass && $ccount%2==0)? implode(' ',array($this->addElement_tdCSSClass[$lastKey],$this->oddColumnsCSSClass)):$this->addElement_tdCSSClass[$lastKey];
|
||
$out.='
|
||
<td'.
|
||
$noWrap.
|
||
$tdP[($ccount%2)].
|
||
'class="' . $CSSClass . '"'.
|
||
$colsp.
|
||
$this->addElement_tdParams[$lastKey].
|
||
'>'.$data[$lastKey].'</td>';
|
||
... | ... | |
}
|
||
if ($c>1) {$colsp=' colspan="'.$c.'"';} else {$colsp='';}
|
||
}
|
||
if ($lastKey) { $out.='
|
||
<td'.$noWrap.$tdP[($ccount%2)].$colsp.$this->addElement_tdParams[$lastKey].'>'.$data[$lastKey].'</td>'; }
|
||
if ($lastKey) {
|
||
$CSSClass = $this->oddColumnsCSSClass ? implode(' ',array($this->addElement_tdCSSClass[$lastKey],$this->oddColumnsCSSClass)):$this->addElement_tdCSSClass[$lastKey];
|
||
$out.='
|
||
<td'.$noWrap.'class="' . $CSSClass . '"' . $colsp.$this->addElement_tdParams[$lastKey].'>'.$data[$lastKey].'</td>'; }
|
||
// End row
|
||
$out.='
|
typo3/class.db_list.inc (Arbeitskopie) | ||
---|---|---|
$code = '<i>['.$GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.no_title',1).']</i> - '.htmlspecialchars(t3lib_div::fixed_lgd_cs(t3lib_BEfunc::getRecordTitle($table,$row),$GLOBALS['BE_USER']->uc['titleLen']));
|
||
} else {
|
||
$code = htmlspecialchars(t3lib_div::fixed_lgd_cs($code,$this->fixedL));
|
||
if ($code!=htmlspecialchars($origCode)) {
|
||
$code = '<span title="'.htmlspecialchars($origCode).'">'.$code.'</span>';
|
||
}
|
||
}
|
||
switch((string)$this->clickTitleMode) {
|
typo3/sysext/t3skin/ext_tables.php (Arbeitskopie) | ||
---|---|---|
'relDir' => t3lib_extMgm::extRelPath($_EXTKEY).'icons/',
|
||
'forceFileExtension' => 'gif', // Force to look for PNG alternatives...
|
||
# 'scaleFactor' => 2/3, // Scaling factor, default is 1
|
||
'iconSizeWidth' => 16,
|
||
'iconSizeHeight' => 16,
|
||
);
|
||
// Manual setting up of alternative icons. This is mainly for module icons which has a special prefix:
|
||
... | ... | |
}
|
||
?>
|
||
?>
|
typo3/sysext/t3skin/stylesheets/typo3-db-list-php.css (Arbeitskopie) | ||
---|---|---|
}
|
||
table.typo3-dblist tr td.db_list_alt,
|
||
typo3-page-stdlist tr td.db_list_alt {
|
||
table.typo3-page-stdlist tr td.db_list_alt {
|
||
background-color: #E4E5F0;
|
||
}
|
||
... | ... | |
background-color: #EFEFF4;
|
||
}
|
||
table.typo3-dblist td.c-headLineTable,
|
||
table.typo3-page-stdlist td.c-headLineTable {
|
||
table.typo3-dblist tr.c-headLineTable td,
|
||
table.typo3-page-stdlist tr.c-headLineTable td {
|
||
background-color: #B8BEC9;
|
||
background-image: url('../icons/gfx/alt_menu_mainitem_bg.gif');
|
||
background-repeat: repeat-x;
|
||
}
|
||
table.typo3-dblist td.c-headLineTable a,
|
||
table.typo3-page-stdlist td.c-headLineTable a {
|
||
table.typo3-dblist tr.c-headLineTable td a,
|
||
table.typo3-page-stdlist tr.c-headLineTable td a {
|
||
font-weight: bold;
|
||
color: #FFFFFF;
|
||
}
|
||
... | ... | |
background-repeat: repeat-x;
|
||
}
|
||
table.typo3-dblist td.c-table-row-spacer,
|
||
table.typo3-page-stdlist td.c-table-row-spacer {
|
||
table.typo3-dblist tr.c-table-row-spacer td,
|
||
table.typo3-page-stdlist tr.c-table-row-spacer td{
|
||
display: none;
|
||
}
|
||
... | ... | |
margin: 1px 1px 1px 10px;
|
||
float: right;
|
||
}
|
||
table.typo3-dblist tr td.col-icon {
|
||
width: 40px;
|
||
}
|
||
table.typo3-dblist tr td.col-icon a {
|
||
width: 40px;
|
||
display: block;
|
||
}
|
||
table.typo3-dblist tr td.col-title {
|
||
width: 250px;
|
||
overflow: hidden;
|
||
}
|
||
table.typo3-dblist tr.c-headLine td.col-title a {
|
||
width: 250px;
|
||
display: block;
|
||
}
|
||
table.typo3-dblist tr td.col-control {
|
||
width: 250px;
|
||
text-align: left;
|
||
}
|
||
table.typo3-dblist tr.c-headLine td.col-control a{
|
||
width: 250px;
|
||
display: block;
|
||
}
|
||
table.typo3-dblist tr td.col-clipboard {
|
||
width: 64px;
|
||
text-align: left;
|
||
}
|
typo3/sysext/cms/layout/class.tx_cms_layout.php (Arbeitskopie) | ||
---|---|---|
// Overriding a few things:
|
||
$this->no_noWrap=0;
|
||
$this->oddColumnsTDParams=' class="bgColor3-20"';
|
||
$this->oddColumnsCSSClass='bgColor3-20';
|
||
// Items
|
||
$this->eCounter=$this->firstElementNumber;
|
||
... | ... | |
}
|
||
// Start table:
|
||
$this->oddColumnsTDParams = '';
|
||
$this->oddColumnsCSSClass = '';
|
||
// CSH:
|
||
$out = t3lib_BEfunc::cshItem($this->descrTable,'func_'.$pKey,$GLOBALS['BACK_PATH']).
|
||
... | ... | |
$out.'
|
||
</table>';
|
||
}
|
||
$this->oddColumnsTDParams = '';
|
||
$this->oddColumnsCSSClass = '';
|
||
return $out;
|
||
}
|
||
typo3/class.db_list_extra.inc (Arbeitskopie) | ||
---|---|---|
// Cleaning rowlist for duplicates and place the $titleCol as the first column always!
|
||
$this->fieldArray=array();
|
||
// title Column
|
||
$this->fieldArray[] = $titleCol; // Add title column
|
||
if ($this->localizationView && $l10nEnabled) {
|
||
$this->fieldArray[] = '_LOCALIZATION_';
|
||
$this->fieldArray[] = '_LOCALIZATION_b';
|
||
$addWhere.=' AND (
|
||
'.$TCA[$table]['ctrl']['languageField'].'<=0
|
||
OR
|
||
'.$TCA[$table]['ctrl']['transOrigPointerField'].' = 0
|
||
)';
|
||
}
|
||
// Control-Panel
|
||
if (!t3lib_div::inList($rowlist,'_CONTROL_')) {
|
||
$this->fieldArray[] = '_CONTROL_';
|
||
}
|
||
// Clipboard
|
||
if ($this->showClipboard) {
|
||
$this->fieldArray[] = '_CLIPBOARD_';
|
||
}
|
||
// Ref
|
||
if (!$this->dontShowClipControlPanels) {
|
||
$this->fieldArray[]='_REF_';
|
||
}
|
||
// Path
|
||
if ($this->searchLevels) {
|
||
$this->fieldArray[]='_PATH_';
|
||
}
|
||
// Localization
|
||
if ($this->localizationView && $l10nEnabled) {
|
||
$this->fieldArray[] = '_LOCALIZATION_';
|
||
$this->fieldArray[] = '_LOCALIZATION_b';
|
||
$addWhere.=' AND (
|
||
'.$TCA[$table]['ctrl']['languageField'].'<=0
|
||
OR
|
||
'.$TCA[$table]['ctrl']['transOrigPointerField'].' = 0
|
||
)';
|
||
}
|
||
// Cleaning up:
|
||
$this->fieldArray=array_unique(array_merge($this->fieldArray,t3lib_div::trimExplode(',',$rowlist,1)));
|
||
if ($this->noControlPanels) {
|
||
... | ... | |
unset($tempArray['_CLIPBOARD_']);
|
||
$this->fieldArray = array_keys($tempArray);
|
||
}
|
||
|
||
// Creating the list of fields to include in the SQL query:
|
||
$selectFields = $this->fieldArray;
|
||
$selectFields[] = 'uid';
|
||
... | ... | |
// Create the SQL query for selecting the elements in the listing:
|
||
if ($this->csvOutput) { // do not do paging when outputting as CSV
|
||
$this->iLimit = 0;
|
||
}
|
||
}
|
||
|
||
$queryParts = $this->makeQueryArray($table, $id,$addWhere,$selFieldList); // (API function from class.db_list.inc)
|
||
$this->setTotalItems($queryParts); // Finding the total amount of records on the page (API function from class.db_list.inc)
|
||
... | ... | |
// Background color, if any:
|
||
$row_bgColor=
|
||
$this->alternateBgColors ?
|
||
(($cc%2)?'' :' class="db_list_alt"') :
|
||
'';
|
||
(($cc%2)?' class="db_list_normal"' :' class="db_list_alt"') :
|
||
' class="db_list_normal"';
|
||
// Overriding with versions background color if any:
|
||
$row_bgColor = $row['_CSSCLASS'] ? ' class="'.$row['_CSSCLASS'].'"' : $row_bgColor;
|
||
... | ... | |
$this->addToCSV($row,$table);
|
||
}
|
||
// Add classes to table cells
|
||
$this->addElement_tdCSSClass[$titleCol] = 'col-title';
|
||
$this->addElement_tdCSSClass['_CONTROL_'] = 'col-control';
|
||
$this->addElement_tdCSSClass['_PATH_'] = 'col-path';
|
||
$this->addElement_tdCSSClass['_CLIPBOARD_'] = 'col-clipboard';
|
||
$this->addElement_tdCSSClass['_LOCALIZATION_'] = 'col-localizationa';
|
||
$this->addElement_tdCSSClass['_LOCALIZATION_b'] = 'col-localizationb';
|
||
|
||
|
||
// Create element in table cells:
|
||
$iOut.=$this->addelement(1,$theIcon,$theData,$row_bgColor);
|
||
... | ... | |
$cells['view']='<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::viewOnClick($table=='tt_content'?$this->id.'#'.$row['uid']:$row['uid'], $this->backPath)).'">'.
|
||
'<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/zoom.gif','width="12" height="12"').' title="'.$LANG->sL('LLL:EXT:lang/locallang_core.php:labels.showPage',1).'" alt="" />'.
|
||
'</a>';
|
||
} elseif(!$this->table) {
|
||
$cells['view'] = '<img src="' . $this->backPath . 'clear.gif" width="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']:12) . '" height="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']:12) . '" title="" alt="" />';
|
||
}
|
||
// "Edit" link: ( Only if permissions to edit the page-record of the content of the parent page ($this->id)
|
||
... | ... | |
$cells['edit']='<a href="#" onclick="'.htmlspecialchars(t3lib_BEfunc::editOnClick($params,$this->backPath,-1)).'">'.
|
||
'<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/edit2'.(!$TCA[$table]['ctrl']['readOnly']?'':'_d').'.gif','width="11" height="12"').' title="'.$LANG->getLL('edit',1).'" alt="" />'.
|
||
'</a>';
|
||
} elseif(!$this->table) {
|
||
$cells['edit'] = '<img src="' . $this->backPath . 'clear.gif" width="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']:11) . '" height="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']:12) . '" title="" alt="" />';
|
||
}
|
||
// "Move" wizard link for pages/tt_content elements:
|
||
... | ... | |
$cells['move']='<a href="#" onclick="'.htmlspecialchars('return jumpExt(\''.$this->backPath.'move_el.php?table='.$table.'&uid='.$row['uid'].'\');').'">'.
|
||
'<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/move_'.($table=='tt_content'?'record':'page').'.gif','width="11" height="12"').' title="'.$LANG->getLL('move_'.($table=='tt_content'?'record':'page'),1).'" alt="" />'.
|
||
'</a>';
|
||
} elseif(!$this->table) {
|
||
$cells['move'] = '<img src="' . $this->backPath . 'clear.gif" width="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']:11) . '" height="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']:12) . '" title="" alt="" />';
|
||
}
|
||
// If the extended control panel is enabled OR if we are seeing a single table:
|
||
... | ... | |
$cells['version']='<a href="'.htmlspecialchars($this->backPath.t3lib_extMgm::extRelPath('version')).'cm1/index.php?table='.rawurlencode($table).'&uid='.rawurlencode($row['uid']).'" title="'.$LANG->getLL('displayVersions',1).'" style="'.htmlspecialchars($st).'">'.
|
||
$lab.
|
||
'</a>';
|
||
} elseif(!$this->table) {
|
||
$cells['version'] = '<span style="font-weight: bold; visibility: hidden">V</span>';
|
||
}
|
||
}
|
||
... | ... | |
$cells['perms']='<a href="'.htmlspecialchars('mod/web/perm/index.php?id='.$row['uid'].'&return_id='.$row['uid'].'&edit=1').'">'.
|
||
'<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/perm.gif','width="7" height="12"').' title="'.$LANG->getLL('permissions',1).'" alt="" />'.
|
||
'</a>';
|
||
} elseif(!$this->table && $GLOBALS['BE_USER']->check('modules','web_perm')) {
|
||
$cells['perms'] = '<img src="' . $this->backPath . 'clear.gif" width="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']:7) . '" height="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']:12) . '" title="" alt="" />';
|
||
}
|
||
// "New record after" link (ONLY if the records in the table are sorted by a "sortby"-row or if default values can depend on previous record):
|
||
... | ... | |
'</a>';
|
||
}
|
||
}
|
||
} elseif(!$this->table) {
|
||
$cells['new'] = '<img src="' . $this->backPath . 'clear.gif" width="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']:13) . '" height="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']:12) . '" title="" alt="" />';
|
||
}
|
||
// "Up/Down" links
|
||
... | ... | |
} else {
|
||
$cells['moveDown']='<img src="clear.gif" '.t3lib_iconWorks::skinImg($this->backPath,'gfx/button_down.gif','width="11" height="10"',2).' alt="" />';
|
||
}
|
||
} elseif(!$this->table) {
|
||
$cells['moveUp'] = '<img src="' . $this->backPath . 'clear.gif" width="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']:12) . '" height="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']:12) . '" title="" alt="" />';
|
||
$cells['moveDow'] = '<img src="' . $this->backPath . 'clear.gif" width="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']:12) . '" height="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']:12) . '" title="" alt="" />';
|
||
}
|
||
// "Hide/Unhide" links:
|
||
... | ... | |
'<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/button_hide.gif','width="11" height="10"').' title="'.$LANG->getLL('hide'.($table=='pages'?'Page':''),1).'" alt="" />'.
|
||
'</a>';
|
||
}
|
||
} elseif(!$this->table) {
|
||
$cells['hide'] = '<img src="' . $this->backPath . 'clear.gif" width="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']:10) . '" height="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']:12) . '" title="" alt="" />';
|
||
}
|
||
// "Delete" link:
|
||
... | ... | |
$cells['delete']='<a href="#" onclick="'.htmlspecialchars('if (confirm('.$LANG->JScharCode($LANG->getLL('deleteWarning').t3lib_BEfunc::referenceCount($table,$row['uid'],' (There are %s reference(s) to this record!)')).')) {jumpToUrl(\''.$SOBE->doc->issueCommand($params,-1).'\');} return false;').'">'.
|
||
'<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/garbage.gif','width="11" height="12"').' title="'.$LANG->getLL('delete',1).'" alt="" />'.
|
||
'</a>';
|
||
} elseif(!$this->table) {
|
||
$cells['delete'] = '<img src="' . $this->backPath . 'clear.gif" width="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']:11) . '" height="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']:12) . '" title="" alt="" />';
|
||
}
|
||
// "Levels" links: Moving pages into new levels...
|
||
... | ... | |
} else {
|
||
$cells['moveRight']='<img src="clear.gif" '.t3lib_iconWorks::skinImg($this->backPath,'gfx/button_right.gif','width="11" height="10"',2).' alt="" />';
|
||
}
|
||
} elseif(!$this->table) {
|
||
$cells['moveLeft'] = '<img src="' . $this->backPath . 'clear.gif" width="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']:11) . '" height="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']:12) . '" title="" alt="" />';
|
||
$cells['moveRight'] = '<img src="' . $this->backPath . 'clear.gif" width="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeWidth']:11) . '" height="' . ($GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']?$GLOBALS['TBE_STYLES']['skinImgAutoCfg']['iconSizeHeight']:12) . '" title="" alt="" />';
|
||
}
|
||
}
|
||
}
|