Project

General

Profile

Bug #18227 » 20090914_RFC_7552.diff

Administrator Admin, 2008-09-15 08:05

View differences:

typo3/stylesheet.css (working copy)
body#ext-lowlevel-dbint-index-php,
body#ext-lowlevel-config-index-php,
body#ext-indexed-search-mod-index-php,
body#ext-cms-layout-db-new-content-el-php {
body#ext-cms-layout-db-new-content-el-php,
body#imp-exp-mod {
padding: 0;
margin: 0;
overflow: hidden;
typo3/sysext/impexp/app/index.php (working copy)
*/
#unset($MCONF);
#require ('conf.php');
#require ($BACK_PATH.'init.php');
#require ($BACK_PATH.'template.php');
$LANG->includeLLFile('EXT:impexp/app/locallang.php');
require_once (PATH_t3lib.'class.t3lib_scbase.php');
require_once (t3lib_extMgm::extPath('impexp').'class.tx_impexp.php');
......
global $BE_USER,$LANG,$BACK_PATH;
// Start document template object:
$this->doc = t3lib_div::makeInstance('mediumDoc');
$this->doc = t3lib_div::makeInstance('template');
$this->doc->backPath = $BACK_PATH;
$this->doc->bodyTagId = 'imp-exp-mod';
$this->doc->setModuleTemplate(t3lib_extMgm::extRelPath('impexp') . '/app/template.html');
$this->pageinfo = t3lib_BEfunc::readPageAccess($this->id, $this->perms_clause);
// JavaScript
$this->doc->JScode = $this->doc->wrapScriptTags('
script_ended = 0;
......
// Set up JS for dynamic tab menu
$this->doc->JScode .= $this->doc->getDynTabMenuJScode();
// Setting up the context sensitive menu:
$this->doc->getContextMenuCode();
$this->doc->postCode = $this->doc->wrapScriptTags('
script_ended = 1;
if (top.fsMod) top.fsMod.recentIds["web"] = '.intval($this->id).';
');
$this->doc->form = '<form action="'.htmlspecialchars($GLOBALS['MCONF']['_']).'" method="post" enctype="'.$GLOBALS['TYPO3_CONF_VARS']['SYS']['form_enctype'].'"><input type="hidden" name="id" value="'.$this->id.'" />';
$this->content.= $this->doc->startPage($LANG->getLL('title'));
$this->content.= $this->doc->header($LANG->getLL('title'));
$this->content.= $this->doc->spacer(5);
......
break;
}
if ($BE_USER->mayMakeShortcut()) {
$this->content.=$this->doc->spacer(20).$this->doc->section('',$this->doc->makeShortcutIcon('tx_impexp','',$this->MCONF['name']));
}
// Setting up the buttons and markers for docheader
$docHeaderButtons = $this->getButtons();
$markers['CONTENT'] = $this->content;
// Build the <body> for the module
$this->content = $this->doc->startPage($LANG->getLL('title'));
$this->content.= $this->doc->moduleBody($this->pageinfo, $docHeaderButtons, $markers);
$this->content.= $this->doc->endPage();
$this->content = $this->doc->insertStylesAndJS($this->content);
}
/**
......
* @return void
*/
function printContent() {
$this->content.= $this->doc->spacer(20);
$this->content.= $this->doc->endPage();
echo $this->content;
}
/**
* Create the panel of buttons for submitting the form or otherwise perform operations.
*
* @return array all available buttons as an associated array
*/
protected function getButtons() {
$buttons = array(
'view' => '',
'record_list' => '',
'shortcut' => ''
);
if ($GLOBALS['BE_USER']->mayMakeShortcut()) {
$buttons['shortcut'] = $this->doc->makeShortcutIcon('tx_impexp', '', $this->MCONF['name']);
}
// Input data grabbed:
$inData = t3lib_div::_GP('tx_impexp');
if((string)$inData['action'] == 'import') {
if (($this->id && is_array($this->pageinfo)) || ($GLOBALS['BE_USER']->user['admin'] && !$this->id)) {
if (is_array($this->pageinfo) && $this->pageinfo['uid']) {
// View
$buttons['view'] = '<a href="#" onclick="' . htmlspecialchars(t3lib_BEfunc::viewOnClick($this->pageinfo['uid'], $this->doc->backPath, t3lib_BEfunc::BEgetRootLine($this->pageinfo['uid']))) . '">' .
'<img' . t3lib_iconWorks::skinImg($this->doc->backPath, 'gfx/zoom.gif') . ' title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.showPage', 1) . '" alt="" />' .
'</a>';
// Record list
if ($GLOBALS['BE_USER']->check('modules', 'web_list')) {
$href = $this->doc->backPath . 'db_list.php?id=' . $this->pageinfo['uid'] . '&returnUrl=' . rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI'));
$buttons['record_list'] = '<a href="' . htmlspecialchars($href) . '">' .
'<img' . t3lib_iconWorks::skinImg($this->doc->backPath, 'gfx/list.gif') . ' title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.showList', 1) . '" alt="" />' .
'</a>';
}
}
}
}
return $buttons;
}
......
$this->export->showStaticRelations = $inData['showStaticRelations'];
$this->export->includeExtFileResources = !$inData['excludeHTMLfileResources'];
#debug($inData);
// Static tables:
if (is_array($inData['external_static']['tables'])) {
$this->export->relStaticTables = $inData['external_static']['tables'];
......
$this->treeHTML = $pagetree->printTree($tree);
$idH = $pagetree->buffer_idH;
# debug($pagetree->buffer_idH);
} elseif ($inData['pagetree']['levels']==-2) { // Only tables on page
$this->addRecordsForPid($inData['pagetree']['id'],$inData['pagetree']['tables'],$inData['pagetree']['maxNumber']);
} else { // Based on depth
......
$pagetree = t3lib_div::makeInstance('localPageTree');
$this->treeHTML = $pagetree->printTree($tree->tree);
#debug($idH);
}
}
// In any case we should have a multi-level array, $idH, with the page structure here (and the HTML-code loaded into memory for nice display...)
......
}
// After adding ALL records we set relations:
# debug($this->export->relOnlyTables);
# if (count($this->export->relOnlyTables)) {
for($a=0;$a<10;$a++) {
$addR = $this->export->export_addDBRelations($a);
if (!count($addR)) break;
for($a=0;$a<10;$a++) {
$addR = $this->export->export_addDBRelations($a);
if (!count($addR)) {
break;
}
# }
}
// Finally files are added:
$this->export->export_addFilesFromRelations(); // MUST be after the DBrelations are set so that files from ALL added records are included!
#debug($this->export->dat['header']);
// If the download button is clicked, return file
if ($inData['download_export'] || $inData['save_export']) {
switch((string)$inData['filetype']) {
......
function importData($inData) {
global $TCA,$LANG,$BE_USER;
$this->pageinfo = t3lib_BEfunc::readPageAccess($this->id,$this->perms_clause);
$access = is_array($this->pageinfo) ? 1 : 0;
if (($this->id && $access) || ($BE_USER->user['admin'] && !$this->id)) {
......
$this->pageinfo=array('title' => '[root-level]','uid'=>0,'pid'=>0);
}
$headerSection = $this->doc->getHeader('pages',$this->pageinfo,$this->pageinfo['_thePath']).'<br />'.$LANG->sL('LLL:EXT:lang/locallang_core.php:labels.path').': '.t3lib_div::fixed_lgd_cs($this->pageinfo['_thePath'],-50);
$this->content.= $this->doc->section('',$headerSection);
if ($inData['new_import']) {
unset($inData['import_mode']);
}
typo3/sysext/impexp/app/template.html (revision 0)
<!-- ###FULLDOC### begin -->
<div class="typo3-fullDoc">
<!-- Page header with buttons, path details and csh -->
<div id="typo3-docheader">
<div id="typo3-docheader-row1">
<div class="buttonsleft">###BUTTONLIST_LEFT###</div>
<div class="buttonsright">###BUTTONLIST_RIGHT###</div>
</div>
<div id="typo3-docheader-row2">
<div class="docheader-row2-left"></div>
<div class="docheader-row2-right">###PAGEPATH######PAGEINFO###</div>
</div>
</div>
<!-- Content of module, for instance listing, info or editing -->
<div id="typo3-docbody">
<div id="typo3-inner-docbody">
###CONTENT###
</div>
</div>
</div>
<!-- ###FULLDOC### end -->
<!-- Grouping the icons on top -->
<!-- ###BUTTON_GROUP_WRAP### -->
<div class="buttongroup">###BUTTONS###</div>
<!-- ###BUTTON_GROUP_WRAP### -->
<!-- ###BUTTON_GROUPS_LEFT### -->
<!-- ###BUTTON_GROUP1### -->###VIEW###<!-- ###BUTTON_GROUP1### -->
<!-- ###BUTTON_GROUPS_LEFT### -->
<!-- ###BUTTON_GROUPS_RIGHT### -->
<!-- ###BUTTON_GROUP1### -->###RECORD_LIST######SHORTCUT###<!-- ###BUTTON_GROUP1### -->
<!-- ###BUTTON_GROUPS_RIGHT### -->
(3-3/3)