/**
  * 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;
    }
Example #3
0
 /**
  * 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;
 }
Example #4
0
 /**
  * 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);
         }
     }
 }
Example #5
0
 /**
  * [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');
 }
Example #6
0
        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;
 }
Example #8
0
    /**
     * 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));
	}
Example #11
0
 /**
  * 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);
 }
Example #12
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;');
 }
Example #14
0
 /**
  * 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;');
 }