* @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 2004-04-24 * 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); page_close(); ?> /** * HTMLObj Class * * Object of an HTML Element. * * @author Jan Lengowski * @copyright four for business AG */ function HTMLObj(objId) { this.objId = objId; this.obj = document.getElementById( this.objId ); this.type = this.getElementType(); this.id = null; this.status = 0; /* status for images / other elements.. 0 - normal 1 - out 2 - locked */ } // end function /** * Defines the HTML Element Type * and calls the setMethods() method * to add the corresponding methods * to the HTMLObj instance. * * @return type string Type of the HTML Element ('image'/'select') */ HTMLObj.prototype.getElementType = function () { var type = 'undefined'; switch ( this.obj.tagName ) { case 'IMG': type = 'image'; break; case 'SELECT': type = 'select'; break; } if ( 'undefined' != type ) { this.setMethods( type ); } return type; } // end function /** * Set methods depending on * the HTML Element type */ HTMLObj.prototype.setMethods = function(type) { switch ( type ) { case 'image': /* .over() method */ this.over = function() { if ( '' != this.oImgSrc ) { this.obj.src = this.oImgSrc; this.status = "over"; /* If there is a corresponding label, show it */ if (document.getElementById(this.objId+'_label')) { document.getElementById(this.objId+'_label').style.display = 'block'; } } } /* .out() method */ this.out = function() { if ( '' != this.nImgSrc ) { this.obj.src = this.nImgSrc this.status = "out"; /* If there is a corresponding label, show it */ if (document.getElementById(this.objId+'_label')) { document.getElementById(this.objId+'_label').style.display = 'block'; } } } /* Set image sources */ this.setImgSrc = function( nImgSrc, oImgSrc ) { this.nImgSrc = nImgSrc; this.oImgSrc = oImgSrc; } /* Set the intance id */ this.setId = function(id) { /* JS Object */ this.id = id; /* HTML Object */ this.obj.id = id; } /* Lock the image */ this.lock = function() { this.obj.src = "images/spacer.gif"; /* If there is a corresponding label, hide it */ if (document.getElementById(this.objId+'_label')) { document.getElementById(this.objId+'_label').style.display = 'none'; } } /* ATTENTION HARDCODED EVENTS =/ */ /* this.obj.onmouseover = showAction; this.obj.onmouseout = hideAction; */ this.obj.onclick = doAction; //Also make corresponding Labels clickable this.obj.parentNode.nextSibling.onclick = doAction; this.obj.parentNode.nextSibling.onmouseover = showAction; this.obj.parentNode.nextSibling.onmouseout = hideAction; break; case 'select': /** * Select an entry * @param string value of the entry * @return void */ this.select = function( selectedValue ) { var options = this.obj.getElementsByTagName( 'option' ); var index = 0; for (i = 0; i < options.length; i ++) { if ( selectedValue == options[i].value ) { index = i; } } this.obj.selectedIndex = index; } /** * Return value of the * select */ this.getValue = function() { return this.obj.value; } /** * Return 'object HTMLCollection' for 'options' * @return object HTMLCollection All 'option' objects */ this.getCollection = function() { return this.obj.getElementsByTagName( 'option' ); } break; } // end switch } // end function /** * Controls the actions of * the infoBox class * * @return void * @author Jan Lengowski * @copyright four for business AG */ function showAction() { //alert("this is the JS function showAction() located in the file HTMLObj.js.php. This should not have been called as it is old style Contenido") /* var str = this.src; //if Label is clicked, get src from previous image if (!str) { var str = this.previousSibling.firstChild.src; } if ( str.indexOf('setoffline') != -1 ) { box.show( '' ); } else if ( str.indexOf('online.gif') != -1 ) { box.show(''); } else if ( str.indexOf('offline.gif') != -1 ) { box.show(''); } else if ( str.indexOf('folder_delock.gif') != -1 ) { box.show(''); } else if ( str.indexOf('folder_lock.gif') != -1 ) { box.show(''); } else { box.show(''); } */ } /** * Controls the execution of * the actions depending on * the cfg properties * * @return void * @author Jan Lengowski * @copyright four for business AG */ function doAction() { var str = this.src; //if Label is clicked, get src from previous image if (!str) { var str = this.previousSibling.firstChild.src; } // Set Category Offline if ( str.indexOf('online.gif') != -1 ) { str = ""; str += "main.php?area=con"; str += "&action=con_makecatonline"; str += "&frame=2"; str += "&idcat=" + cfg.catId; str += "&online=" + 0; str += "&contenido=" + sid; if (cfg.catId != 0 && cfg.hasRight['online'] ) { cfg.setAction(str); /* change image source */ if ( this.status == "out" ) { cfg.objRef[1].over() cfg.isOnline = ( cfg.isOnline == 0 ) ? 1 : 0; } else { cfg.objRef[1].out() cfg.isOnline = ( cfg.isOnline == 0 ) ? 1 : 0; } } } // Set Category Online else if ( str.indexOf('offline.gif') != -1 ) { str = ""; str += "main.php?area=con"; str += "&action=con_makecatonline"; str += "&frame=2"; str += "&idcat=" + cfg.catId; str += "&online=" + 1; str += "&contenido=" + sid; if (cfg.catId != 0 && cfg.hasRight['online'] ) { cfg.setAction(str); /* change image source */ if ( this.status == "out" ) { cfg.objRef[1].over() cfg.isOnline = ( cfg.isOnline == 0 ) ? 1 : 0; } else { cfg.objRef[1].out() cfg.isOnline = ( cfg.isOnline == 0 ) ? 1 : 0; } } } // else if ( str.indexOf('folder_delock.gif') != -1 ) { str = ""; str += "main.php?area=con"; str += "&action=con_makepublic"; str += "&frame=2"; str += "&idcat=" + cfg.catId; str += "&public=" + 0; str += "&contenido=" + sid; if (cfg.catId != 0 && cfg.hasRight['public'] ) { cfg.setAction(str); /* change image source */ if ( this.status == "out" ) { cfg.objRef[2].over() cfg.isPublic = ( cfg.isPublic == 0 ) ? 1 : 0; } else { cfg.objRef[2].out() cfg.isPublic = ( cfg.isPublic == 0 ) ? 1 : 0; } } } // Set C else if ( str.indexOf('folder_lock.gif') != -1 ) { str = ""; str += "main.php?area=con"; str += "&action=con_makepublic"; str += "&frame=2"; str += "&idcat=" + cfg.catId; str += "&public=" + 1; str += "&contenido=" + sid; if (cfg.catId != 0 && cfg.hasRight['public'] ) { cfg.setAction(str); /* change image source */ if ( this.status == "out" ) { cfg.objRef[2].over(); cfg.isPublic = ( cfg.isPublic == 0 ) ? 1 : 0; } else { cfg.objRef[2].out(); cfg.isPublic = ( cfg.isPublic == 0 ) ? 1 : 0; } } } } /** * Show the default text * in the infoBox * * @return void * @author Jan Lengowski * @copyright four for business AG */ function hideAction() { //box.show(); //alert("this is the JS function hideAction() located in the file HTMLObj.js.php. This should not have been called as it is old style Contenido") }