Bug #21622 » 12679_v2.diff
typo3/sysext/t3skin/stylesheets/structure/module_web_page.css (working copy) | ||
---|---|---|
padding-left: 20px;
|
||
padding-right: 20px;
|
||
position: relative;
|
||
min-width: 150px;
|
||
}
|
||
.t3-page-colHeader a {
|
typo3/sysext/cms/layout/class.tx_cms_layout.php (working copy) | ||
---|---|---|
);
|
||
var $CType_labels=array(); // Used to store labels for CTypes for tt_content elements
|
||
var $itemLabels=array(); // Used to store labels for the various fields in tt_content elements
|
||
|
||
var $pObj;
|
||
// Clipboard is initialized:
|
||
function __construct() {
|
||
|
||
// Start clipboard
|
||
$this->clipObj = t3lib_div::makeInstance('t3lib_clipboard');
|
||
|
||
// Initialize - reads the clipboard content from the user session
|
||
$this->clipObj->initializeClipboard();
|
||
// Clipboard actions are handled:
|
||
$CB = t3lib_div::_GET('CB');
|
||
if ($this->cmd == 'setCB') {
|
||
|
||
// CBH is all the fields selected for the clipboard, CBC is the checkbox fields which were checked. By merging we get a full array of checked/unchecked elements
|
||
// This is set to the 'el' array of the CB after being parsed so only the table in question is registered.
|
||
$CB['el'] = $this->clipObj->cleanUpCBC(array_merge((array)t3lib_div::_POST('CBH'), (array)t3lib_div::_POST('CBC')), $this->cmd_table);
|
||
}
|
||
|
||
// If the clipboard is NOT shown, set the pad to 'normal'.
|
||
$CB['setP'] = 'normal';
|
||
|
||
// Execute commands.
|
||
$this->clipObj->setCmd($CB);
|
||
|
||
$this->clipObj->cleanCurrent();
|
||
$this->clipObj->endClipboard();
|
||
}
|
||
/*****************************************
|
||
... | ... | |
// Add new-icon link, header:
|
||
$newP = $this->newContentElementOnClick($id,$key,$lP);
|
||
$head[$key].= $this->tt_content_drawColHeader(t3lib_BEfunc::getProcessedValue('tt_content','colPos',$key), ($this->doEdit&&count($rowArr)?'&edit[tt_content]['.$editUidList.']=edit'.$pageTitleParamForAltDoc:''), $newP);
|
||
$head[$key].= $this->tt_content_drawColHeader(t3lib_BEfunc::getProcessedValue('tt_content','colPos',$key), ($this->doEdit&&count($rowArr)?'&edit[tt_content]['.$editUidList.']=edit'.$pageTitleParamForAltDoc:''), $newP, $key);
|
||
$editUidList = '';
|
||
}
|
||
... | ... | |
<tr>
|
||
<td></td>
|
||
<td valign="top" colspan="3">'.
|
||
$this->tt_content_drawColHeader(t3lib_BEfunc::getProcessedValue('tt_content','colPos',$key), ($this->doEdit&&count($rowArr)?'&edit[tt_content]['.$editUidList.']=edit'.$pageTitleParamForAltDoc:''), $newP).
|
||
$this->tt_content_drawColHeader(t3lib_BEfunc::getProcessedValue('tt_content','colPos',$key), ($this->doEdit&&count($rowArr)?'&edit[tt_content]['.$editUidList.']=edit'.$pageTitleParamForAltDoc:''), $newP, $key).
|
||
$theNewButton.
|
||
'<br /></td>
|
||
</tr>';
|
||
... | ... | |
* @param string New element params (Syntax: &edit[...] for alt_doc.php)
|
||
* @return string HTML table
|
||
*/
|
||
function tt_content_drawColHeader($colName,$editParams,$newParams) {
|
||
function tt_content_drawColHeader($colName,$editParams,$newParams, $colKey) {
|
||
$icons = '';
|
||
// Create command links:
|
||
... | ... | |
t3lib_iconWorks::getSpriteIcon('actions-document-open') .
|
||
'</a>';
|
||
}
|
||
$icons .= $this->getPasteLink($colKey);
|
||
}
|
||
if (strlen($icons)) {
|
||
$icons = '<div class="t3-page-colHeader-icons">' . $icons . '</div>';
|
||
... | ... | |
* @return string HTML table with the record header.
|
||
*/
|
||
function tt_content_drawHeader($row,$space=0,$disableMoveAndNewButtons=FALSE,$langMode=FALSE) {
|
||
global $TCA;
|
||
global $TCA, $LANG;
|
||
// Load full table description:
|
||
t3lib_div::loadTCA('tt_content');
|
||
... | ... | |
$out .= '</span>';
|
||
}
|
||
}
|
||
|
||
// Add copy/cut icons
|
||
if ($this->clipObj->current === 'normal') {
|
||
$isSel = (string)$this->clipObj->isSelected('tt_content', $row['uid']);
|
||
$url = htmlspecialchars(
|
||
$this->clipObj->selUrlDB(
|
||
'tt_content',
|
||
$row['uid'],
|
||
1,
|
||
($isSel == 'copy'),
|
||
array('returnUrl' => '')
|
||
)
|
||
);
|
||
$out .= '<a href="' . $url . '"
|
||
title="' . $LANG->sL('LLL:EXT:lang/locallang_core.php:cm.copy', TRUE) . '">' .
|
||
((!$isSel == 'copy') ? t3lib_iconWorks::getSpriteIcon('actions-edit-copy') : t3lib_iconWorks::getSpriteIcon('actions-edit-copy-release')) .
|
||
'</a>';
|
||
|
||
$url = htmlspecialchars(
|
||
$this->clipObj->selUrlDB(
|
||
'tt_content',
|
||
$row['uid'],
|
||
0,
|
||
($isSel == 'cut'),
|
||
array('returnUrl' => '')
|
||
)
|
||
);
|
||
$out .= '<a href="' . $url . '"
|
||
title="' . $LANG->sL('LLL:EXT:lang/locallang_core.php:cm.cut', TRUE) . '">'.
|
||
((!$isSel == 'cut') ? t3lib_iconWorks::getSpriteIcon('actions-edit-cut') : t3lib_iconWorks::getSpriteIcon('actions-edit-cut-release')) .
|
||
'</a>';
|
||
}
|
||
|
||
// Add paste link
|
||
$out .= $this->getPasteLink($row['colPos'], $row['uid']);
|
||
|
||
// Display info from records fields:
|
||
$infoOutput = '';
|
||
if (count($info)) {
|
||
... | ... | |
return strip_tags($content);
|
||
}
|
||
|
||
/**
|
||
* Returns a link to paste elements from clipboard into a page or
|
||
* after a content element if the second parameter is set
|
||
*
|
||
* @param int The ID of the column the elements in clipboard should get pasted into
|
||
* @param int Optional: The ID of an element the elements in clipboard should get pasted after
|
||
* @return string The generated link
|
||
*/
|
||
protected function getPasteLink($colPos, $insertAfterUid = FALSE) {
|
||
global $LANG;
|
||
$elFromTable = $this->clipObj->elFromTable('tt_content');
|
||
if (count($elFromTable)) {
|
||
$pasteUrl = '/typo3/tce_db.php?&vC=' . $GLOBALS['BE_USER']->veriCode() . '&prErr=1&uPT=1&';
|
||
|
||
foreach ($elFromTable as $info=>$val) {
|
||
$id = $this->id;
|
||
if($insertAfterUid) {
|
||
$id = '-' . $insertAfterUid;
|
||
}
|
||
list($table, $uid) = explode('|', $info);
|
||
$pasteUrl .= 'cmd[' . $table . '][' . $uid . '][copy]=' . $id;
|
||
|
||
}
|
||
$pasteUrl .= '&overrideValues[colPos]=' . $colPos;
|
||
$pasteUrl .= '&redirect=' . urlencode('/typo3/sysext/cms/layout/db_layout.php?&id=' . $this->id . '&SET[function]=' . $this->pObj->MOD_SETTINGS['function']);
|
||
if($insertAfterUid) {
|
||
$title = $LANG->sL('LLL:EXT:lang/locallang_core.php:cm.pasteafter', TRUE);
|
||
} else {
|
||
$title = $LANG->sL('LLL:EXT:lang/locallang_core.php:cm.pasteinto', TRUE);
|
||
}
|
||
return '<a
|
||
href="' . htmlspecialchars($pasteUrl) . '"
|
||
title="' . $title . '"
|
||
>'. t3lib_iconWorks::getSpriteIcon('actions-document-paste-after') . '</a>';
|
||
}
|
||
}
|
||
}
|
||
typo3/sysext/cms/layout/db_layout.php (working copy) | ||
---|---|---|
// Initialize list object (see "class.db_layout.inc"):
|
||
$dblist = t3lib_div::makeInstance('tx_cms_layout');
|
||
$dblist->backPath = $BACK_PATH;
|
||
$dblist->pObj = &$this;
|
||
$dblist->thumbs = $this->imagemode;
|
||
$dblist->no_noWrap = 1;
|
||
$dblist->descrTable = $this->descrTable;
|