* @license http://www.contenido.org/license/LIZENZ.txt * @link http://www.4fb.de * @link http://www.contenido.org * @since file available since contenido release 4.8.7 * * {@internal * created 2003-05-23 * modified 2008-06-25, Frederic Schneider, add security fix * modified 2008-07-02, Frederic Schneider, include_security class * modified 2010-05-20, Murat Purc, standardized Contenido startup and security check invocations, see [#CON-307] * * $Id$: * }} * */ if (!defined("CON_FRAMEWORK")) { define("CON_FRAMEWORK", true); } // Contenido startup process include_once ('../includes/startup.php'); header("Content-Type: text/javascript"); page_open(array('sess' => 'Contenido_Session', 'auth' => 'Contenido_Challenge_Crypt_Auth', 'perm' => 'Contenido_Perm')); i18nInit($cfg["path"]["contenido"].$cfg["path"]["locale"], $belang); require($cfg["path"]["contenido"].'includes/functions.includePluginConf.php'); page_close(); /* Fetch chains */ $iterator = $_cecRegistry->getIterator("Contenido.Article.RegisterCustomTab"); echo "//itsameA"; $aTabs = array(); while ($chainEntry = $iterator->next()) { $aTmpArray = $chainEntry->execute(); if (is_array($aTmpArray)) { echo "//itsame"; $aTabs = array_merge($aTabs, $aTmpArray); } } ?> /** * Object of an article * * @author Jan Lengowski * @copyright four for business AG */ function articleObject(actionFrameName, frameNumber) { /* Name of the Actionframe. Defaults to 'right_bottom' */ this.actionFrameName = actionFrameName || 'right_bottom'; /* Reference to the Actionframe */ this.actionFrame = parent.parent.frames["right"].frames[this.actionFrameName]; /* Frame-number. Defaults to '4' */ this.frame = frameNumber || 4; /* Filename of the contenido main file - defaults to 'main.php' */ this.filename = "main.php?" /* Contenido session name - defaults to 'contenido' */ this.sessionName = "contenido" /* Current page selection (first shown article number) */ this.next = 0; /* Global Vars */ this.sessid = 0; this.client = 0; this.lang = 0; /* Article Properties*/ this.idart = 0; this.idartlang = 0; this.idcat = 0; this.idcatlang = 0; this.idcatart = 0; this.idlang = 0; /* Menu visible / invisible */ this.vis = 1; this.customTabs = new Array(); /* Href of OverviewPage */ this.hrefOverview = null; "); var_Dump($aTabs ); print("*/"); foreach ($aTabs as $key => $sTab) { echo 'this.customTabs[\''.$sTab.'\'] = new Object();'."\n"; $iterator = $_cecRegistry->getIterator("Contenido.Article.GetCustomTabProperties"); $aTabs = array(); while ($chainEntry = $iterator->next()) { $aTmpArray = $chainEntry->execute($sTab); if (is_array($aTmpArray)) { break; } } echo 'this.customTabs[\''.$sTab.'\'][\'area\'] = "'.$aTmpArray[0].'";'."\n"; echo 'this.customTabs[\''.$sTab.'\'][\'action\'] = "'.$aTmpArray[1].'";'."\n"; echo 'this.customTabs[\''.$sTab.'\'][\'custom\'] = "'.$aTmpArray[2].'";'."\n"; } ?> } /** * Define required global variables * * @return void * @author Jan Lengowski * @copyright four for business AG */ articleObject.prototype.setGlobalVars = function(sessid, client, lang) { this.sessid = sessid; this.client = client; this.lang = lang; } /** * Sets href to overview page, which was last visited * * @return void * @author Timo Trautmann * @copyright four for business AG */ articleObject.prototype.setHrefOverview = function(href) { /*copy url - cut all actions*/ if (href.match(/backend_search.php$/g)) { this.hrefOverview = 'javascript:top.content.left.left_top.document.getElementById(\'backend_search\').submit.click();'; } else if (href.match(/backend_search/g) || href.match(/area=con_workflow/g)) { this.hrefOverview = href.replace(/action=([^&]*)&?/g, ''); } else { this.hrefOverview = null; } } /** * Reset properties * * @return void * @author Jan Lengowski * @copyright four for business AG */ articleObject.prototype.reset = function() { this.idart = 0; this.idartlang = 0; this.idcatlang = 0; this.idcatart = 0; this.idlang = 0; } /** * Define required global variables * * @return string with attached frame & session parameters * @author Jan Lengowski * @copyright four for business AG */ articleObject.prototype.sessUrl = function(str) { var tmp_str = str; tmp_str += '&frame=' + this.frame; tmp_str += '&'+this.sessionName+'='+this.sessid; return tmp_str; } /** * Execute an action * * @return bool Action executes Yes/No * @author Jan Lengowski * @copyright four for business AG */ articleObject.prototype.doAction = function(str) { /* Flag if action will be executed. */ var doAction = false; /* create messageBox instance */ var box = new messageBox("", "", "", 0, 0); /* Notify Headline */ var headline = ""; /* Default error string */ var err_str = ""; switch (str) { /* Article overview mask */ case 'con': /* Check if required parameters are set */ if (this.hrefOverview) { url_str = this.hrefOverview; doAction = true; } else { if ( 0 != this.idcat ) { url_str = this.sessUrl(this.filename + "area=" + str + "&idcat=" + this.idcat + "&next=" + this.next); doAction = true; } else { /* This ERROR should never happen, i.e. the property idcat will not be reseted once set. */ err_str = ""; } } break; /* Edit article properties */ case 'con_editart': if (this.lang != 0 && this.idlang != 0 && this.lang != this.idlang) { err_str = "".i18n("Can't edit articles in foreign languages."); ?>"; if (parent.parent.frames["right"].frames["right_top"].document.getElementById("c_0")) { menuItem = parent.parent.frames["right"].frames["right_top"].document.getElementById("c_0"); parent.parent.frames["right"].frames["right_top"].sub.click(menuItem); } } else { /* Check if required parameters are set */ if ( 0 != this.idart && 0 != this.idcat ) { url_str = this.sessUrl(this.filename + "area=" + str + "&action=con_edit&idart=" + this.idart + "&idcat=" + this.idcat); doAction = true; } else { /* There is no selected article, we do not have the neccessary data to display the Article- properties mask */ err_str = "".i18n("No article was selected"); ?>"; if ( parent.parent.frames["right"].frames["right_top"].document.getElementById("c_0") ) { menuItem = parent.parent.frames["right"].frames["right_top"].document.getElementById("c_0"); parent.parent.frames["right"].frames["right_top"].sub.click(menuItem); } } } break; /* Template configuration */ case 'con_tplcfg': /* Check if required parameters are set */ if (this.lang != 0 && this.idlang != 0 && this.lang != this.idlang) { err_str = "".i18n("Can't edit articles in foreign languages."); ?>"; if ( parent.parent.frames["right"].frames["right_top"].document.getElementById("c_0") ) { menuItem = parent.parent.frames["right"].frames["right_top"].document.getElementById("c_0"); parent.parent.frames["right"].frames["right_top"].sub.click(menuItem); } } else { if ( 0 != this.idart && 0 != this.idcat ) { url_str = this.sessUrl(this.filename + "area=" + str + "&action=tplcfg_edit&idart=" + this.idart + "&idcat=" + this.idcat); doAction = true; } else { /* There is no selected article, we do not have the neccessary data to display the Template- configuration mask */ err_str = "".i18n("No article was selected"); ?>"; if ( parent.parent.frames["right"].frames["right_top"].document.getElementById("c_0") ) { menuItem = parent.parent.frames["right"].frames["right_top"].document.getElementById("c_0"); parent.parent.frames["right"].frames["right_top"].sub.click(menuItem); } } } break; /* Edit article */ case 'con_editcontent': if (this.lang != 0 && this.idlang != 0 && this.lang != this.idlang) { err_str = "".i18n("Can't edit articles in foreign languages."); ?>"; if ( parent.parent.frames["right"].frames["right_top"].document.getElementById("c_0") ) { menuItem = parent.parent.frames["right"].frames["right_top"].document.getElementById("c_0"); parent.parent.frames["right"].frames["right_top"].sub.click(menuItem); } } else { /* Check if required parameters are set */ if ( 0 != this.idart && 0 != this.idartlang && 0 != this.idcat ) { url_str = this.sessUrl(this.filename + "area=" + str + "&action=con_editart&changeview=edit&idart=" + this.idart + "&idartlang=" + this.idartlang + "&idcat=" + this.idcat); doAction = true; } else { /* There is no selected article, we do not have the neccessary data to display the Editor */ err_str = "".i18n("No article was selected"); ?>"; if ( parent.parent.frames["right"].frames["right_top"].document.getElementById("c_0") ) { menuItem = parent.parent.frames["right"].frames["right_top"].document.getElementById("c_0"); parent.parent.frames["right"].frames["right_top"].sub.click(menuItem); } } } break; /* Preview article */ case 'con_preview': /* Check if required parameters are set */ if ( 0 != this.idart && 0 != this.idartlang && 0 != this.idcat ) { url_str = this.sessUrl(this.filename + "area=con_editcontent&action=con_editart&changeview=prev&idart=" + this.idart + "&idartlang=" + this.idartlang + "&idcat=" + this.idcat + "&tmpchangelang="+ this.idlang); doAction = true; } else { /* There is no selected article, we do not have the neccessary data to display the Editor */ if ( parent.parent.frames["right"].frames["right_top"].document.getElementById("c_0") ) { menuItem = parent.parent.frames["right"].frames["right_top"].document.getElementById("c_0"); parent.parent.frames["right"].frames["right_top"].sub.click(menuItem); } err_str = "".i18n("No article was selected"); ?>"; } break; default: if (this.customTabs[str]) { var obj = this.customTabs[str]; if ( 0 != this.idart && 0 != this.idartlang && 0 != this.idcat ) { url_str = this.sessUrl(this.filename + "area=" + obj["area"] + "&action=" + obj["action"] + "&idart=" + this.idart + "&idartlang=" + this.idartlang + "&idcat=" + this.idcat + "&tmpchangelang="+ this.idlang + "&" + obj["custom"]); doAction = true; } else { /* There is no selected article, we do not have the neccessary data to display the Editor */ if ( parent.parent.frames["right"].frames["right_top"].document.getElementById("c_0") ) { menuItem = parent.parent.frames["right"].frames["right_top"].document.getElementById("c_0"); parent.parent.frames["right"].frames["right_top"].sub.click(menuItem); } err_str = "".i18n("No article was selected"); ?>"; } } break; } if (doAction) { this.actionFrame.location.href = url_str; return true; } else { box.notify(headline, err_str); } return false; } /** * Define article and category related properties * * @return void * @author Jan Lengowski * @copyright four for business AG */ articleObject.prototype.setProperties = function() { this.idart = arguments[0]; this.idartlang = arguments[1]; this.idcat = arguments[2]; this.idcatlang = arguments[3]; this.idcatart = arguments[4]; this.idlang = arguments[5]; } /** * Disables the navigation * * @param none * @return void */ articleObject.prototype.disable = function() { var oRef = []; oRef[0] = parent.parent.frames["right"].frames["right_top"].document.getElementById( "c_0" ); oRef[1] = parent.parent.frames["right"].frames["right_top"].document.getElementById( "c_1" ); oRef[2] = parent.parent.frames["right"].frames["right_top"].document.getElementById( "c_2" ); oRef[3] = parent.parent.frames["right"].frames["right_top"].document.getElementById( "c_3" ); oRef[4] = parent.parent.frames["right"].frames["right_top"].document.getElementById( "c_4" ); oRef[5] = parent.parent.frames["right"].frames["right_top"].document.getElementById( "c_5" ); if (this.vis == 1) { for (i=1; i