/** * constructor * * @param TYPO3backend TYPO3 backend object reference */ public function __construct(TYPO3backend &$backendReference = null) { $this->backendReference = $backendReference; $this->cacheActions = array(); $this->optionValues = array('all', 'pages'); // Clear cache for ALL tables! if ($GLOBALS['BE_USER']->isAdmin() || $GLOBALS['BE_USER']->getTSConfigVal('options.clearCache.all')) { $title = $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:rm.clearCacheMenu_all', true); $this->cacheActions[] = array('id' => 'all', 'title' => $title, 'href' => $this->backPath . 'tce_db.php?vC=' . $GLOBALS['BE_USER']->veriCode() . '&cacheCmd=all&ajaxCall=1' . t3lib_BEfunc::getUrlToken('tceAction'), 'icon' => t3lib_iconWorks::getSpriteIcon('actions-system-cache-clear-impact-high')); } // Clear cache for either ALL pages if ($GLOBALS['BE_USER']->isAdmin() || $GLOBALS['BE_USER']->getTSConfigVal('options.clearCache.pages')) { $title = $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:rm.clearCacheMenu_pages', true); $this->cacheActions[] = array('id' => 'pages', 'title' => $title, 'href' => $this->backPath . 'tce_db.php?vC=' . $GLOBALS['BE_USER']->veriCode() . '&cacheCmd=pages&ajaxCall=1' . t3lib_BEfunc::getUrlToken('tceAction'), 'icon' => t3lib_iconWorks::getSpriteIcon('actions-system-cache-clear-impact-medium')); } // Clearing of cache-files in typo3conf/ + menu if ($GLOBALS['BE_USER']->isAdmin() && $GLOBALS['TYPO3_CONF_VARS']['EXT']['extCache']) { $title = $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:rm.clearCacheMenu_allTypo3Conf', true); $this->cacheActions[] = array('id' => 'temp_CACHED', 'title' => $title, 'href' => $this->backPath . 'tce_db.php?vC=' . $GLOBALS['BE_USER']->veriCode() . '&cacheCmd=temp_CACHED&ajaxCall=1' . t3lib_BEfunc::getUrlToken('tceAction'), 'icon' => t3lib_iconWorks::getSpriteIcon('actions-system-cache-clear-impact-low')); } // hook for manipulate cacheActions if (is_array($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['additionalBackendItems']['cacheActions'])) { foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['additionalBackendItems']['cacheActions'] as $cacheAction) { $hookObject = t3lib_div::getUserObj($cacheAction); if (!$hookObject instanceof backend_cacheActionsHook) { throw new UnexpectedValueException('$hookObject must implement interface backend_cacheActionsHook', 1228262000); } $hookObject->manipulateCacheActions($this->cacheActions, $this->optionValues); } } t3lib_formprotection_Factory::get()->persistTokens(); }
/** * [Describe function...] * * @param [type] $row: ... * @param [type] $conf: ... * @param [type] $table: ... * @return [type] ... */ function resultRowDisplay($row, $conf, $table) { static $even = FALSE; $tce = t3lib_div::makeInstance('t3lib_TCEmain'); $SET = $GLOBALS['SOBE']->MOD_SETTINGS; $out = '<tr class="bgColor' . ($even ? '6' : '4') . '">'; $even = !$even; foreach ($row as $fN => $fV) { if (t3lib_div::inList($SET['queryFields'], $fN) || !$SET['queryFields'] && $fN != 'pid' && $fN != 'deleted') { if ($SET['search_result_labels']) { $fVnew = $this->getProcessedValueExtra($table, $fN, $fV, $conf, '<br />'); } else { $fVnew = htmlspecialchars($fV); } $out .= '<td>' . $fVnew . '</td>'; } } $params = '&edit[' . $table . '][' . $row['uid'] . ']=edit'; $out .= '<td nowrap>'; if (!$row['deleted']) { $out .= '<a href="#" onClick="top.launchView(\'' . $table . '\',' . $row['uid'] . ',\'' . $GLOBALS['BACK_PATH'] . '\');return false;">' . t3lib_iconWorks::getSpriteIcon('status-dialog-information') . '</a>'; $out .= '<a href="#" onClick="' . t3lib_BEfunc::editOnClick($params, $GLOBALS['BACK_PATH'], t3lib_div::getIndpEnv('REQUEST_URI') . t3lib_div::implodeArrayForUrl('SET', (array) t3lib_div::_POST('SET'))) . '">' . t3lib_iconWorks::getSpriteIcon('actions-document-open') . '</a>'; } else { $out .= '<a href="' . t3lib_div::linkThisUrl($GLOBALS['BACK_PATH'] . 'tce_db.php', array('cmd[' . $table . '][' . $row['uid'] . '][undelete]' => '1', 'redirect' => t3lib_div::linkThisScript(array()))) . t3lib_BEfunc::getUrlToken('tceAction') . '">'; $out .= t3lib_iconWorks::getSpriteIcon('actions-edit-restore', array('title' => 'undelete only')) . '</a>'; $out .= '<a href="' . t3lib_div::linkThisUrl($GLOBALS['BACK_PATH'] . 'tce_db.php', array('cmd[' . $table . '][' . $row['uid'] . '][undelete]' => '1', 'redirect' => t3lib_div::linkThisUrl('alt_doc.php', array('edit[' . $table . '][' . $row['uid'] . ']' => 'edit', 'returnUrl' => t3lib_div::linkThisScript(array()))))) . t3lib_BEfunc::getUrlToken('tceAction') . '">'; $out .= t3lib_iconWorks::getSpriteIcon('actions-edit-restore-edit', array('title' => 'undelete and edit')) . '</a>'; } $_params = array($table => $row); if (is_array($this->hookArray['additionalButtons'])) { foreach ($this->hookArray['additionalButtons'] as $_funcRef) { $out .= t3lib_div::callUserFunction($_funcRef, $_params, $this); } } $out .= '</td> </tr> '; return $out; }
/** * Create the panel of buttons for submitting the form or otherwise perform operations. * * @param string Identifier for function of module * @return array all available buttons as an assoc. array */ protected function getDocHeaderButtons() { global $TCA, $LANG, $BACK_PATH, $BE_USER; $buttons = array('csh' => '', 'view' => '', 'history_page' => '', 'move_page' => '', 'move_record' => '', 'new_page' => '', 'edit_page' => '', 'record_list' => '', 'shortcut' => '', 'cache' => ''); // View page $viewAddGetVars = $this->currentLanguageUid ? '&L=' . $this->currentLanguageUid : ''; $buttons['view'] = '<a href="#" onclick="' . htmlspecialchars(t3lib_BEfunc::viewOnClick($this->id, $BACK_PATH, t3lib_BEfunc::BEgetRootLine($this->id), '', '', $viewAddGetVars)) . '">' . t3lib_iconWorks::getSpriteIcon('actions-document-view', array('title' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.showPage', 1))) . '</a>'; // Shortcut if ($BE_USER->mayMakeShortcut()) { $buttons['shortcut'] = $this->doc->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')) { if (tx_templavoila_div::convertVersionNumberToInteger(TYPO3_version) < 4005000) { $href = $GLOBALS['BACK_PATH'] . 'db_list.php?id=' . $this->id . '&returnUrl=' . rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI')); } else { $href = t3lib_BEfunc::getModuleUrl('web_list', array('id' => $this->id, 'returnUrl' => t3lib_div::getIndpEnv('REQUEST_URI'))); } $buttons['record_list'] = '<a href="' . htmlspecialchars($href) . '">' . t3lib_iconWorks::getSpriteIcon('actions-system-list-open', array('title' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.showList', 1))) . '</a>'; } if (!$this->modTSconfig['properties']['disableIconToolbar']) { // Page history $buttons['history_page'] = '<a href="#" onclick="' . htmlspecialchars('jumpToUrl(\'' . $BACK_PATH . 'show_rechis.php?element=' . rawurlencode('pages:' . $this->id) . '&returnUrl=' . rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI')) . '#latest\');return false;') . '">' . t3lib_iconWorks::getSpriteIcon('actions-document-history-open', array('title' => $GLOBALS['LANG']->sL('LLL:EXT:cms/layout/locallang.xml:recordHistory', 1))) . '</a>'; if (!$this->translatorMode && $GLOBALS['BE_USER']->isPSet($this->calcPerms, 'pages', 'new')) { // Create new page (wizard) $buttons['new_page'] = '<a href="#" onclick="' . htmlspecialchars('jumpToUrl(\'' . $BACK_PATH . 'db_new.php?id=' . $this->id . '&pagesOnly=1&returnUrl=' . rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI') . '&updatePageTree=true') . '\');return false;') . '">' . t3lib_iconWorks::getSpriteIcon('actions-page-new', array('title' => $GLOBALS['LANG']->sL('LLL:EXT:cms/layout/locallang.xml:newPage', 1))) . '</a>'; } if (!$this->translatorMode && $GLOBALS['BE_USER']->isPSet($this->calcPerms, 'pages', 'edit')) { // Edit page properties $params = '&edit[pages][' . $this->id . ']=edit'; $buttons['edit_page'] = '<a href="#" onclick="' . htmlspecialchars(t3lib_BEfunc::editOnClick($params, $BACK_PATH)) . '">' . t3lib_iconWorks::getSpriteIcon('actions-document-open', array('title' => $GLOBALS['LANG']->sL('LLL:EXT:cms/layout/locallang.xml:editPageProperties', 1))) . '</a>'; // Move page $buttons['move_page'] = '<a href="' . htmlspecialchars($BACK_PATH . 'move_el.php?table=pages&uid=' . $this->id . '&returnUrl=' . rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI'))) . '">' . t3lib_iconWorks::getSpriteIcon('actions-page-move', array('title' => $GLOBALS['LANG']->sL('LLL:EXT:cms/layout/locallang.xml:move_page', 1))) . '</a>'; } $buttons['csh'] = t3lib_BEfunc::cshItem('_MOD_web_txtemplavoilaM1', 'pagemodule', $BACK_PATH); if ($this->id) { $cacheUrl = $GLOBALS['BACK_PATH'] . 'tce_db.php?vC=' . $GLOBALS['BE_USER']->veriCode() . t3lib_BEfunc::getUrlToken('tceAction') . '&redirect=' . rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI')) . '&cacheCmd=' . $this->id; $buttons['cache'] = '<a href="' . $cacheUrl . '" title="' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:labels.clear_cache', TRUE) . '">' . t3lib_iconWorks::getSpriteIcon('actions-system-cache-clear') . '</a>'; } } return $buttons; }
/** * Redirects to alt_doc with new parameters to edit a just created localized record * * @param string String passed by GET &justLocalized= * @return void */ function localizationRedirect($justLocalized) { global $TCA; list($table, $orig_uid, $language) = explode(':', $justLocalized); if ($TCA[$table] && $TCA[$table]['ctrl']['languageField'] && $TCA[$table]['ctrl']['transOrigPointerField']) { $localizedRecord = $GLOBALS['TYPO3_DB']->exec_SELECTgetSingleRow('uid', $table, $TCA[$table]['ctrl']['languageField'] . '=' . intval($language) . ' AND ' . $TCA[$table]['ctrl']['transOrigPointerField'] . '=' . intval($orig_uid) . t3lib_BEfunc::deleteClause($table) . t3lib_BEfunc::versioningPlaceholderClause($table)); if (is_array($localizedRecord)) { // Create parameters and finally run the classic page module for creating a new page translation $params = '&edit[' . $table . '][' . $localizedRecord['uid'] . ']=edit'; $returnUrl = '&returnUrl=' . rawurlencode(t3lib_div::sanitizeLocalUrl(t3lib_div::_GP('returnUrl'))); $location = $GLOBALS['BACK_PATH'] . 'alt_doc.php?' . $params . $returnUrl . t3lib_BEfunc::getUrlToken('editRecord'); t3lib_utility_Http::redirect($location); } } }
/** * [Describe function...] * * @param [type] $params: ... * @param [type] $rUrl: ... * @return [type] ... */ function issueCommand($params, $rUrl = '') { $rUrl = $rUrl ? $rUrl : t3lib_div::getIndpEnv('REQUEST_URI'); return $this->backPath . 'tce_db.php?' . $params . '&redirect=' . ($rUrl == -1 ? "'+T3_THIS_LOCATION+'" : rawurlencode($rUrl)) . '&vC=' . rawurlencode($GLOBALS['BE_USER']->veriCode()) . '&prErr=1&uPT=1' . t3lib_BEfunc::getUrlToken('tceAction'); }
if ($this->redirect && !$this->tce->debug) { t3lib_utility_Http::redirect($this->redirect); } } } if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['typo3/tce_db.php'])) { include_once $GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['typo3/tce_db.php']; } // Make instance: $SOBE = t3lib_div::makeInstance('SC_tce_db'); $SOBE->init(); // Include files? foreach ($SOBE->include_once as $INC_FILE) { include_once $INC_FILE; } $formprotection = t3lib_formprotection_Factory::get(); if ($formprotection->validateToken(t3lib_div::_GP('formToken'), 'tceAction')) { $SOBE->initClipboard(); $SOBE->main(); // This is done for the clear cache menu, so that it gets a new token // making it possible to clear cache several times. if (t3lib_div::_GP('ajaxCall')) { $token = array(); $token['value'] = $formprotection->generateToken('tceAction'); $token['name'] = 'formToken'; // This will be used by clearcachemenu.js to replace the token for the next call echo t3lib_BEfunc::getUrlToken('tceAction'); } } $formprotection->persistTokens(); $SOBE->finish();
/** * deleteUrl for current pad * * @param boolean If set, then the redirect URL will point back to the current script, but with CB reset. * @param boolean If set, then the URL will link to the tce_file.php script in the typo3/ dir. * @return string */ function deleteUrl($setRedirect = 1, $file = 0) { $rU = $this->backPath . ($file ? 'tce_file.php' : 'tce_db.php') . '?' . ($setRedirect ? 'redirect=' . rawurlencode(t3lib_div::linkThisScript(array('CB' => ''))) : '') . '&vC=' . $GLOBALS['BE_USER']->veriCode() . '&prErr=1&uPT=1' . '&CB[delete]=1' . '&CB[pad]=' . $this->current . t3lib_BEfunc::getUrlToken('tceAction'); return $rU; }
/** * Creates a selector box with clear-cache items. * Rather specialized functions - at least don't use it with $addSaveOptions unless you know what you do... * * @param integer The page uid of the "current page" - the one that will be cleared as "clear cache for this page". * @param boolean If $addSaveOptions is set, then also the array of save-options for TCE_FORMS will appear. * @return string <select> tag with content - a selector box for clearing the cache */ function clearCacheMenu($id, $addSaveOptions = 0) { global $BE_USER; $opt = array(); if ($addSaveOptions) { $opt[] = '<option value="">' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:rm.menu', 1) . '</option>'; $opt[] = '<option value="TBE_EDITOR.checkAndDoSubmit(1);">' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:rm.saveDoc', 1) . '</option>'; $opt[] = '<option value="document.editform.closeDoc.value=-2; TBE_EDITOR.checkAndDoSubmit(1);">' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:rm.saveCloseDoc', 1) . '</option>'; if ($BE_USER->uc['allSaveFunctions']) { $opt[] = '<option value="document.editform.closeDoc.value=-3; TBE_EDITOR.checkAndDoSubmit(1);">' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:rm.saveCloseAllDocs', 1) . '</option>'; } $opt[] = '<option value="document.editform.closeDoc.value=2; document.editform.submit();">' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:rm.closeDoc', 1) . '</option>'; $opt[] = '<option value="document.editform.closeDoc.value=3; document.editform.submit();">' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:rm.closeAllDocs', 1) . '</option>'; $opt[] = '<option value=""></option>'; } $opt[] = '<option value="">[ ' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:rm.clearCache_clearCache', 1) . ' ]</option>'; if ($id) { $opt[] = '<option value="' . $id . '">' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:rm.clearCache_thisPage', 1) . '</option>'; } if ($BE_USER->isAdmin() || $BE_USER->getTSConfigVal('options.clearCache.pages')) { $opt[] = '<option value="pages">' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:rm.clearCache_pages', 1) . '</option>'; } if ($BE_USER->isAdmin() || $BE_USER->getTSConfigVal('options.clearCache.all')) { $opt[] = '<option value="all">' . $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:rm.clearCache_all', 1) . '</option>'; } $onChange = 'if (!this.options[this.selectedIndex].value) { this.selectedIndex=0; } else if (this.options[this.selectedIndex].value.indexOf(\';\')!=-1) { eval(this.options[this.selectedIndex].value); } else { window.location.href=\'' . $this->backPath . 'tce_db.php?vC=' . $BE_USER->veriCode() . t3lib_BEfunc::getUrlToken('tceAction') . '&redirect=' . rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI')) . '&cacheCmd=\'+this.options[this.selectedIndex].value; }'; $af_content = '<select name="cacheCmd" onchange="' . htmlspecialchars($onChange) . '">' . implode('', $opt) . '</select>'; if (count($opt) > 1) { return $af_content; } }
/** * Create on-click event value. * * @param array The record. * @param string Column position value. * @param integer Move uid * @param integer PID value. * @param integer System language (not used currently) * @return string */ function onClickInsertRecord($row, $vv, $moveUid, $pid, $sys_lang = 0) { $table = 'tt_content'; if (is_array($row)) { $location = 'tce_db.php?cmd[' . $table . '][' . $moveUid . '][' . $this->moveOrCopy . ']=-' . $row['uid'] . '&prErr=1&uPT=1&vC=' . $GLOBALS['BE_USER']->veriCode() . t3lib_BEfunc::getUrlToken('tceAction'); } else { $location = 'tce_db.php?cmd[' . $table . '][' . $moveUid . '][' . $this->moveOrCopy . ']=' . $pid . '&data[' . $table . '][' . $moveUid . '][colPos]=' . $vv . '&prErr=1&vC=' . $GLOBALS['BE_USER']->veriCode() . t3lib_BEfunc::getUrlToken('tceAction'); } // $location.='&redirect='.rawurlencode($this->R_URI); // returns to prev. page $location .= '&uPT=1&redirect=' . rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI')); // This redraws screen return 'window.location.href=\'' . $location . '\';return false;'; }
/** * Reporting Marketing * * @return void */ public function reportingMarketingBeAction() { $mails = $this->mailsRepository->findAllInPid(t3lib_div::_GP('id'), $this->settings, $this->piVars); $firstMail = $this->mailsRepository->findFirstInPid(t3lib_div::_GP('id')); $groupedMarketingStuff = Tx_Powermail_Utility_Div::getGroupedMarketingStuff($mails); $this->view->assign('groupedMarketingStuff', $groupedMarketingStuff); $this->view->assign('mails', $mails); $this->view->assign('firstMail', $firstMail); $this->view->assign('piVars', $this->piVars); $this->view->assign('pid', t3lib_div::_GP('id')); $this->view->assign('token', t3lib_BEfunc::getUrlToken('tceAction')); $this->view->assign('perPage', ($this->settings['perPage'] ? $this->settings['perPage'] : 10)); }
/** * Adding CM element for Copying/Moving a Page Into/After from a drag & drop action * * @param integer source UID code for the record to modify * @param integer destination UID code for the record to modify * @param string Action code: either "move" or "copy" * @param string Parameter code: either "into" or "after" * @return array Item array, element in $menuItems * @internal */ function dragDrop_copymovepage($srcUid, $dstUid, $action, $into) { $negativeSign = $into == 'into' ? '' : '-'; $editOnClick = ''; $loc = 'top.content.list_frame'; $editOnClick = 'if(' . $loc . '){' . $loc . '.document.location=top.TS.PATH_typo3+"tce_db.php?redirect="+top.rawurlencode(' . $this->frameLocation($loc . '.document') . ')+"' . '&cmd[pages][' . $srcUid . '][' . $action . ']=' . $negativeSign . $dstUid . '&prErr=1&vC=' . $GLOBALS['BE_USER']->veriCode() . t3lib_BEfunc::getUrlToken('tceAction') . '";}hideCM();top.nav.refresh();'; return $this->linkItem($this->label($action . 'Page_' . $into), $this->excludeIcon(t3lib_iconWorks::getSpriteIcon('actions-document-paste-' . $into)), $editOnClick . 'return false;', 0); }
/** * Main function. * Creates some general objects and calls other functions for the main rendering of module content. * * @return void */ function main() { global $BE_USER, $LANG, $BACK_PATH; // Access check... // The page will show only if there is a valid page and if this page may be viewed by the user $access = is_array($this->pageinfo) ? 1 : 0; if ($this->id && $access) { // Initialize permission settings: $this->CALC_PERMS = $BE_USER->calcPerms($this->pageinfo); $this->EDIT_CONTENT = $this->CALC_PERMS & 16 ? 1 : 0; // Start document template object: $this->doc = t3lib_div::makeInstance('template'); $this->doc->backPath = $BACK_PATH; $this->doc->setModuleTemplate('templates/db_layout.html'); // JavaScript: $this->doc->JScode = '<script type="text/javascript" ' . 'src="' . t3lib_div::createVersionNumberedFilename($BACK_PATH . '../t3lib/jsfunc.updateform.js') . '">' . '</script>'; $this->doc->JScode .= $this->doc->wrapScriptTags(' if (top.fsMod) top.fsMod.recentIds["web"] = ' . intval($this->id) . '; if (top.fsMod) top.fsMod.navFrameHighlightedID["web"] = "pages' . intval($this->id) . '_"+top.fsMod.currentBank; ' . intval($this->id) . '; function jumpToUrl(URL,formEl) { // if (document.editform && TBE_EDITOR.isFormChanged) { // Check if the function exists... (works in all browsers?) if (!TBE_EDITOR.isFormChanged()) { // window.location.href = URL; } else if (formEl) { if (formEl.type=="checkbox") formEl.checked = formEl.checked ? 0 : 1; } } else window.location.href = URL; } ' . ($this->popView ? t3lib_BEfunc::viewOnClick($this->id, $BACK_PATH, t3lib_BEfunc::BEgetRootLine($this->id)) : '') . ' function deleteRecord(table,id,url) { // if (confirm(' . $LANG->JScharCode($LANG->getLL('deleteWarning')) . ')) { window.location.href = "' . $BACK_PATH . 'tce_db.php?cmd["+table+"]["+id+"][delete]=1&redirect="+escape(url)+"&vC=' . $BE_USER->veriCode() . t3lib_BEfunc::getUrlToken('tceAction') . '&prErr=1&uPT=1"; } return false; } '); $this->doc->JScode .= $this->doc->wrapScriptTags(' var DTM_array = new Array(); var DTM_origClass = new String(); // if tabs are used in a popup window the array might not exists if(!top.DTM_currentTabs) { top.DTM_currentTabs = new Array(); } function DTM_activate(idBase,index,doToogle) { // // Hiding all: if (DTM_array[idBase]) { for(cnt = 0; cnt < DTM_array[idBase].length ; cnt++) { if (DTM_array[idBase][cnt] != idBase+"-"+index) { document.getElementById(DTM_array[idBase][cnt]+"-DIV").style.display = "none"; document.getElementById(DTM_array[idBase][cnt]+"-MENU").attributes.getNamedItem("class").nodeValue = "tab"; } } } // Showing one: if (document.getElementById(idBase+"-"+index+"-DIV")) { if (doToogle && document.getElementById(idBase+"-"+index+"-DIV").style.display == "block") { document.getElementById(idBase+"-"+index+"-DIV").style.display = "none"; if(DTM_origClass=="") { document.getElementById(idBase+"-"+index+"-MENU").attributes.getNamedItem("class").nodeValue = "tab"; } else { DTM_origClass = "tab"; } top.DTM_currentTabs[idBase] = -1; } else { document.getElementById(idBase+"-"+index+"-DIV").style.display = "block"; if(DTM_origClass=="") { document.getElementById(idBase+"-"+index+"-MENU").attributes.getNamedItem("class").nodeValue = "tabact"; } else { DTM_origClass = "tabact"; } top.DTM_currentTabs[idBase] = index; } } } function DTM_toggle(idBase,index,isInit) { // // Showing one: if (document.getElementById(idBase+"-"+index+"-DIV")) { if (document.getElementById(idBase+"-"+index+"-DIV").style.display == "block") { document.getElementById(idBase+"-"+index+"-DIV").style.display = "none"; if(isInit) { document.getElementById(idBase+"-"+index+"-MENU").attributes.getNamedItem("class").nodeValue = "tab"; } else { DTM_origClass = "tab"; } top.DTM_currentTabs[idBase+"-"+index] = 0; } else { document.getElementById(idBase+"-"+index+"-DIV").style.display = "block"; if(isInit) { document.getElementById(idBase+"-"+index+"-MENU").attributes.getNamedItem("class").nodeValue = "tabact"; } else { DTM_origClass = "tabact"; } top.DTM_currentTabs[idBase+"-"+index] = 1; } } } function DTM_mouseOver(obj) { // DTM_origClass = obj.attributes.getNamedItem(\'class\').nodeValue; obj.attributes.getNamedItem(\'class\').nodeValue += "_over"; } function DTM_mouseOut(obj) { // obj.attributes.getNamedItem(\'class\').nodeValue = DTM_origClass; DTM_origClass = ""; } '); // Setting doc-header $this->doc->form = '<form action="' . htmlspecialchars('db_layout.php?id=' . $this->id . '&imagemode=' . $this->imagemode) . '" method="post">'; // Creating the top function menu: $this->topFuncMenu = t3lib_BEfunc::getFuncMenu($this->id, 'SET[function]', $this->MOD_SETTINGS['function'], $this->MOD_MENU['function'], 'db_layout.php', ''); $this->languageMenu = count($this->MOD_MENU['language']) > 1 ? $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_general.xml:LGL.language', 1) . t3lib_BEfunc::getFuncMenu($this->id, 'SET[language]', $this->current_sys_language, $this->MOD_MENU['language'], 'db_layout.php', '') : ''; // Find columns $modTSconfig_SHARED = t3lib_BEfunc::getModTSconfig($this->id, 'mod.SHARED'); // SHARED page-TSconfig settings. $this->colPosList = strcmp(trim($this->modTSconfig['properties']['tt_content.']['colPos_list']), '') ? trim($this->modTSconfig['properties']['tt_content.']['colPos_list']) : $modTSconfig_SHARED['properties']['colPos_list']; if (!strcmp($this->colPosList, '')) { $backendLayout = t3lib_div::callUserFunction('EXT:cms/classes/class.tx_cms_backendlayout.php:tx_cms_BackendLayout->getSelectedBackendLayout', $this->id, $this); if (count($backendLayout['__colPosList'])) { $this->colPosList = implode(',', $backendLayout['__colPosList']); } } if (!strcmp($this->colPosList, '')) { $this->colPosList = '1,0,2,3'; } $this->colPosList = implode(',', array_unique(t3lib_div::intExplode(',', $this->colPosList))); // Removing duplicates, if any // Render the primary module content: if ($this->MOD_SETTINGS['function'] == 0) { $body = $this->renderQuickEdit(); // QuickEdit } else { $body = $this->renderListContent(); // All other listings } // If page is a folder if ($this->pageinfo['doktype'] == 254) { // access to list module $moduleLoader = t3lib_div::makeInstance('t3lib_loadModules'); $moduleLoader->load($GLOBALS['TBE_MODULES']); $modules = $moduleLoader->modules; if (is_array($modules['web']['sub']['list'])) { $flashMessage = t3lib_div::makeInstance('t3lib_FlashMessage', '<p>' . $GLOBALS['LANG']->getLL('goToListModuleMessage') . '</p> <br /> <p>' . t3lib_iconWorks::getSpriteIcon('actions-system-list-open') . '<a href="javascript:top.goToModule( \'web_list\',1);">' . $GLOBALS['LANG']->getLL('goToListModule') . ' </a> </p>', '', t3lib_FlashMessage::INFO); $body = $flashMessage->render() . $body; } } if ($this->pageinfo['content_from_pid']) { $contentPage = t3lib_BEfunc::getRecord('pages', intval($this->pageinfo['content_from_pid'])); $title = t3lib_BEfunc::getRecordTitle('pages', $contentPage); $linkToPid = $this->local_linkThisScript(array('id' => $this->pageinfo['content_from_pid'])); $link = '<a href="' . $linkToPid . '">' . htmlspecialchars($title) . ' (PID ' . intval($this->pageinfo['content_from_pid']) . ')</a>'; $flashMessage = t3lib_div::makeInstance('t3lib_FlashMessage', '', sprintf($GLOBALS['LANG']->getLL('content_from_pid_title'), $link), t3lib_FlashMessage::INFO); $body = $flashMessage->render() . $body; } // Setting up the buttons and markers for docheader $docHeaderButtons = $this->getButtons($this->MOD_SETTINGS['function'] == 0 ? 'quickEdit' : ''); $markers = array('CSH' => $docHeaderButtons['csh'], 'TOP_FUNCTION_MENU' => $this->editSelect . $this->topFuncMenu, 'LANGSELECTOR' => $this->languageMenu, 'CONTENT' => $body); // Build the <body> for the module $this->content .= $this->doc->moduleBody($this->pageinfo, $docHeaderButtons, $markers); // Renders the module page $this->content = $this->doc->render($LANG->getLL('title'), $this->content); } else { // If no access or id value, create empty document: $this->doc = t3lib_div::makeInstance('template'); $this->doc->backPath = $BACK_PATH; $this->doc->setModuleTemplate('templates/db_layout.html'); $this->doc->JScode = $this->doc->wrapScriptTags(' if (top.fsMod) top.fsMod.recentIds["web"] = ' . intval($this->id) . '; '); $flashMessage = t3lib_div::makeInstance('t3lib_FlashMessage', $LANG->getLL('clickAPage_content'), $LANG->getLL('clickAPage_header'), t3lib_FlashMessage::INFO); $body = $flashMessage->render(); // Setting up the buttons and markers for docheader $docHeaderButtons = array('view' => '', 'history_page' => '', 'new_content' => '', 'move_page' => '', 'move_record' => '', 'new_page' => '', 'edit_page' => '', 'record_list' => '', 'csh' => '', 'shortcut' => '', 'cache' => '', 'savedok' => '', 'savedokshow' => '', 'closedok' => '', 'deletedok' => '', 'undo' => '', 'history_record' => ''); $markers = array('CSH' => t3lib_BEfunc::cshItem($this->descrTable, '', $BACK_PATH, '', TRUE), 'TOP_FUNCTION_MENU' => '', 'LANGSELECTOR' => '', 'CONTENT' => $body); $this->content .= $this->doc->moduleBody($this->pageinfo, $docHeaderButtons, $markers); // Renders the module page $this->content = $this->doc->render($LANG->getLL('title'), $this->content); } }
/** * Adding CM element for Delete * * @param string Table name * @param integer UID for the current record. * @param array Label for including in the confirmation message, EXT:lang/locallang_core.php:mess.delete * @return array Item array, element in $menuItems * @internal */ function DB_delete($table, $uid, $elInfo) { $loc = 'top.content.list_frame'; if ($GLOBALS['BE_USER']->jsConfirmation(4)) { $conf = "confirm(" . $GLOBALS['LANG']->JScharCode(sprintf($GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:mess.delete'), $elInfo[0]) . t3lib_BEfunc::referenceCount($table, $uid, ' (There are %s reference(s) to this record!)')) . ")"; } else { $conf = '1==1'; } $editOnClick = 'if(' . $loc . " && " . $conf . " ){" . $loc . ".location.href=top.TS.PATH_typo3+'tce_db.php?redirect='+top.rawurlencode(" . $this->backRef->frameLocation($loc . '.document') . ")+'" . "&cmd[" . $table . '][' . $uid . '][DDdelete]=1&prErr=1&vC=' . $GLOBALS['BE_USER']->veriCode() . t3lib_BEfunc::getUrlToken('tceAction') . "';hideCM();}"; return $this->backRef->linkItem($GLOBALS['LANG']->getLLL('delete', $this->LL), $this->backRef->excludeIcon('<img' . t3lib_iconWorks::skinImg($this->backRef->PH_backPath, 'gfx/garbage.gif', 'width="11" height="12"') . ' alt="" />'), $editOnClick . 'return false;'); }
/** * Creates the onclick event for the insert-icons. * * @param integer The pid. * @param integer New page id. * @return string Onclick attribute content */ function onClickEvent($pid, $newPagePID) { return 'window.location.href=\'tce_db.php?cmd[pages][' . $GLOBALS['SOBE']->moveUid . '][' . $this->moveOrCopy . ']=' . $pid . '&redirect=' . rawurlencode($this->R_URI) . '&prErr=1&uPT=1&vC=' . $GLOBALS['BE_USER']->veriCode() . t3lib_BEfunc::getUrlToken('tceAction') . '\';return false;'; }
/** * Returns the menu-item for deleting an item * * @param $table always tx_dam_cat * @param $uid uid of the specified tx_dam_cat item * @return clickMenu-object menu-item, ready for output */ function DAMcatDelete($table, $uid, $elInfo) { $editOnClick = ''; $loc = 'top.nav'; $frameLocation = $loc . '.iframe'; $editOnClick = 'if(' . $loc . ' && confirm(' . $GLOBALS['LANG']->JScharCode(sprintf($GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.php:mess.delete'), $elInfo[0])) . ')){this.location=' . $loc . '.setUrl(\'tce_db.php?' . 'redirect=\'+top.rawurlencode(' . $this->backRef->frameLocation($frameLocation) . ')+\'' . '&cmd[' . $table . '][' . $uid . '][delete]=1&prErr=1&vC=' . $GLOBALS['BE_USER']->veriCode() . t3lib_BEfunc::getUrlToken('tceAction') . '\');};'; return $this->backRef->linkItem($this->backRef->label('delete'), $this->backRef->excludeIcon('<img' . t3lib_iconWorks::skinImg($this->backRef->PH_backPath, 'gfx/garbage.gif', 'width="11" height="12"') . ' alt="" />'), $editOnClick . 'return false;'); }