2016-10-06 15:57:01 +00:00
|
|
|
|
/*****************************************
|
|
|
|
|
*
|
2019-07-03 11:58:28 +00:00
|
|
|
|
* $Id$
|
2016-10-06 15:57:01 +00:00
|
|
|
|
*
|
|
|
|
|
* File : $RCSfile: contenidoConfig.js,v $
|
|
|
|
|
* Project :
|
|
|
|
|
* Descr :
|
|
|
|
|
*
|
|
|
|
|
* Author : $Author: oldperl $
|
2019-07-03 11:58:28 +00:00
|
|
|
|
* Modified : $Date$
|
2016-10-06 15:57:01 +00:00
|
|
|
|
*
|
|
|
|
|
* <EFBFBD> four for business AG, www.4fb.de
|
|
|
|
|
******************************************/
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* ContenidoConfig Class
|
|
|
|
|
*
|
|
|
|
|
* Contenido configuration object
|
|
|
|
|
*
|
|
|
|
|
* @author Jan Lengowski <Jan.Lengowski@4fb.de>
|
|
|
|
|
* @copyright four for business AG <www.4fb.de>
|
|
|
|
|
*/
|
|
|
|
|
function contenidoConfig( instanceName ,actionFrameName ) {
|
|
|
|
|
|
|
|
|
|
/* Name of the Instance for external calls
|
|
|
|
|
or CallBacks. Defaults to 'cfg' */
|
|
|
|
|
this.instanceName = instanceName || 'cfg';
|
|
|
|
|
|
|
|
|
|
/* Name of the Actionframe. Defaults to 'left_bottom' */
|
|
|
|
|
this.actionFrameName = actionFrameName || 'left_bottom';
|
|
|
|
|
|
|
|
|
|
/* Reference to the Actionframe */
|
|
|
|
|
this.actionFrame = parent.frames[this.actionFrameName];
|
|
|
|
|
|
|
|
|
|
/* Element references Array */
|
|
|
|
|
this.objRef = [];
|
|
|
|
|
|
|
|
|
|
/* Userright properties Array */
|
|
|
|
|
this.hasRight = [];
|
|
|
|
|
this.hasRight['template'] = 0;
|
|
|
|
|
this.hasRight['template_cfg'] = 0;
|
|
|
|
|
this.hasRight['online'] = 0;
|
|
|
|
|
this.hasRight['public'] = 0;
|
|
|
|
|
this.hasRight['syncable'] = 0;
|
|
|
|
|
|
|
|
|
|
/* Actionstatus */
|
|
|
|
|
this.action = '';
|
|
|
|
|
|
|
|
|
|
/* Status */
|
|
|
|
|
this.status = false;
|
|
|
|
|
|
|
|
|
|
/* Template ID */
|
|
|
|
|
this.tplId = 0;
|
|
|
|
|
|
|
|
|
|
/* New template id */
|
|
|
|
|
this.nTplId = null;
|
|
|
|
|
|
|
|
|
|
/* Online flag */
|
|
|
|
|
this.isOnline = 0;
|
|
|
|
|
|
|
|
|
|
/* Public flag */
|
|
|
|
|
this.isPublic = 0;
|
|
|
|
|
|
|
|
|
|
/* Category ID */
|
|
|
|
|
this.catId = 0;
|
|
|
|
|
|
|
|
|
|
/* idString */
|
|
|
|
|
this.idString = 0;
|
|
|
|
|
|
|
|
|
|
} // end function
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Initializes the class.
|
|
|
|
|
* This method should be overwritten if the
|
|
|
|
|
* class is used in an other area beside 'con'.
|
|
|
|
|
* Stuff is HARDCODED for 'con' ATM
|
|
|
|
|
*
|
|
|
|
|
* @param string Id of the On-/offline image
|
|
|
|
|
* @param string Id of the Lock/Unlock image
|
|
|
|
|
* @param string Id of the Template select
|
|
|
|
|
*/
|
|
|
|
|
contenidoConfig.prototype.init = function( imgOnlineId, imgPublicId, imgSelectId, imgTemplateCfgId) {
|
|
|
|
|
|
|
|
|
|
this.objRef = this.createRefs( imgOnlineId, imgPublicId, imgSelectId, imgTemplateCfgId);
|
|
|
|
|
|
|
|
|
|
if ( this.objRef.length == 4 ) {
|
|
|
|
|
|
|
|
|
|
this.status = true;
|
|
|
|
|
/* Set the object ID's */
|
|
|
|
|
this.objRef[1].setId('online');
|
|
|
|
|
this.objRef[2].setId('lock');
|
|
|
|
|
this.objRef[3].setId('template_cfg');
|
|
|
|
|
|
|
|
|
|
// HARDCODED STUFF
|
|
|
|
|
this.objRef[1].setImgSrc( 'images/online.gif', 'images/offline.gif' );
|
|
|
|
|
this.objRef[2].setImgSrc( 'images/folder_delock.gif', 'images/folder_lock.gif');
|
|
|
|
|
this.objRef[3].setImgSrc( 'images/but_cat_conf2.gif', 'images/but_cat_conf2.gif' );
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} // end function
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Loads a configuration and calls
|
|
|
|
|
* the updateScreen method
|
|
|
|
|
*
|
|
|
|
|
* @param int Contenido Template Id
|
|
|
|
|
* @param int Contenido Online flag
|
|
|
|
|
* @param int Contenido Public flag
|
|
|
|
|
*/
|
|
|
|
|
contenidoConfig.prototype.load = function( Idcat, Idtpl, Online, Public, RightTpl, RightOn, RightPublic, RightTemplateCfg, RightIsSyncable, idString ) {
|
|
|
|
|
this.catId = Idcat;
|
|
|
|
|
this.tplId = Idtpl;
|
|
|
|
|
this.isOnline = Online;
|
|
|
|
|
this.isPublic = Public;
|
|
|
|
|
this.idString = idString;
|
|
|
|
|
|
|
|
|
|
this.hasRight['template'] = RightTpl;
|
|
|
|
|
this.hasRight['template_cfg'] = RightTemplateCfg;
|
|
|
|
|
this.hasRight['online'] = RightOn;
|
|
|
|
|
this.hasRight['public'] = RightPublic;
|
|
|
|
|
this.hasRight['syncable'] = RightIsSyncable;
|
|
|
|
|
|
|
|
|
|
this.updateScreen();
|
|
|
|
|
|
|
|
|
|
} // end function
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Creates objects of class HTMLObj
|
|
|
|
|
*
|
|
|
|
|
* @param args string ID's of the objects
|
|
|
|
|
* @return array Array storing the objects
|
|
|
|
|
*/
|
|
|
|
|
contenidoConfig.prototype.createRefs = function() {
|
|
|
|
|
|
|
|
|
|
var objects = new Array;
|
|
|
|
|
|
|
|
|
|
for ( i = 0; i < arguments.length; i ++ ) {
|
|
|
|
|
objects[i] = new HTMLObj( arguments[i] );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return objects;
|
|
|
|
|
|
|
|
|
|
} // end function
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Updates the screen with the
|
|
|
|
|
* given class cfg information
|
|
|
|
|
* @return void
|
|
|
|
|
*/
|
|
|
|
|
contenidoConfig.prototype.updateScreen = function() {
|
|
|
|
|
if ( this.status ) {
|
|
|
|
|
/* Template select dropdown */
|
|
|
|
|
if ( this.hasRight['template'] == 1 ) {
|
|
|
|
|
|
|
|
|
|
/* User has right to change
|
|
|
|
|
the template, enable dropdown, select template */
|
|
|
|
|
this.objRef[0].obj.removeAttribute( "disabled" );
|
|
|
|
|
this.objRef[0].select(this.tplId);
|
|
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
/* User has NO right to change
|
|
|
|
|
the template, disable the dropdown */
|
|
|
|
|
this.objRef[0].obj.setAttribute( "disabled", "true" );
|
|
|
|
|
this.objRef[0].select(this.tplId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* On-/Offline */
|
|
|
|
|
if ( 0 == this.isOnline && this.hasRight['online'] == 1 ) {
|
|
|
|
|
this.objRef[1].over();
|
|
|
|
|
|
|
|
|
|
} else if ( 1 == this.isOnline && this.hasRight['online'] == 1 ) {
|
|
|
|
|
this.objRef[1].out();
|
|
|
|
|
|
|
|
|
|
} else if ( 0 == this.hasRight['online'] ) {
|
|
|
|
|
this.objRef[1].lock();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Public / Non-Public */
|
|
|
|
|
if ( 0 == this.isPublic && 1 == this.hasRight['public'] ) {
|
|
|
|
|
this.objRef[2].over();
|
|
|
|
|
} else if ( 1 == this.isPublic && 1 == this.hasRight['public'] ) {
|
|
|
|
|
this.objRef[2].out() ;
|
|
|
|
|
} else {
|
|
|
|
|
this.objRef[2].lock();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Template Config button */
|
|
|
|
|
if (this.hasRight['template_cfg'] == 1) {
|
|
|
|
|
this.objRef[3].out();
|
|
|
|
|
} else {
|
|
|
|
|
this.objRef[3].lock();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} // end if this.status
|
|
|
|
|
|
|
|
|
|
} // end function
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Set the action property and
|
|
|
|
|
* execute it
|
|
|
|
|
* @param string action
|
|
|
|
|
*/
|
|
|
|
|
contenidoConfig.prototype.setAction = function(action) {
|
|
|
|
|
|
|
|
|
|
//this.actionFrame.location.href = action;
|
|
|
|
|
|
|
|
|
|
} // end function
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Change template for a marked category
|
|
|
|
|
*
|
|
|
|
|
* @return void
|
|
|
|
|
* @author Jan Lengowski <jan.lengowski@4fb.de>
|
|
|
|
|
* @copyright four for business AG <www.4fb.de>
|
|
|
|
|
*/
|
|
|
|
|
contenidoConfig.prototype.changeTemplate = function() {
|
|
|
|
|
|
|
|
|
|
if ( this.catId && this.hasRight['template'] == 1 ) {
|
|
|
|
|
|
|
|
|
|
/* create action string */
|
|
|
|
|
str = "";
|
|
|
|
|
str += "main.php?area=con";
|
|
|
|
|
str += "&action=con_changetemplate"; // action
|
|
|
|
|
str += "&frame=2"; // frame 2
|
|
|
|
|
str += "&idcat=" + cfg.catId; // idcat of marked category
|
|
|
|
|
str += "&idtpl=" + this.objRef[0].getValue(); // id of selected template
|
|
|
|
|
str += "&contenido=" + sid; // contenido session id
|
|
|
|
|
|
|
|
|
|
/* execute action */
|
|
|
|
|
this.setAction(str);
|
|
|
|
|
|
|
|
|
|
/* set flag for changed template */
|
|
|
|
|
this.nTplId = this.objRef[0].getValue();
|
|
|
|
|
this.tplId = this.objRef[0].getValue();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Return template changed status
|
|
|
|
|
*
|
|
|
|
|
* @return bool has template changed?
|
|
|
|
|
*/
|
|
|
|
|
contenidoConfig.prototype.templateChanged = function () {
|
|
|
|
|
|
|
|
|
|
return ( this.nTplId != null ) ? true : false;
|
|
|
|
|
|
|
|
|
|
} // end function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Return the rowId String
|
|
|
|
|
* @return String RowId String
|
|
|
|
|
*/
|
|
|
|
|
contenidoConfig.prototype.getRowId = function() {
|
|
|
|
|
|
|
|
|
|
/* Build the data string.
|
|
|
|
|
0 -> category id
|
|
|
|
|
1 -> category template id
|
|
|
|
|
2 -> category online
|
|
|
|
|
3 -> category public
|
|
|
|
|
4 -> has right for: template
|
|
|
|
|
5 -> has right for: online
|
|
|
|
|
6 -> has right for: public
|
|
|
|
|
7-> has right for template_cfg
|
|
|
|
|
8-> category is syncable*/
|
|
|
|
|
|
|
|
|
|
var sRowId = "";
|
|
|
|
|
|
|
|
|
|
sRowId += this.catId + "-";
|
|
|
|
|
sRowId += this.tplId + "-";
|
|
|
|
|
sRowId += this.isOnline + "-";
|
|
|
|
|
sRowId += this.isPublic + "-";
|
|
|
|
|
sRowId += this.hasRight['template'] + "-";
|
|
|
|
|
sRowId += this.hasRight['online'] + "-";
|
|
|
|
|
sRowId += this.hasRight['public'] + "-";
|
|
|
|
|
sRowId += this.hasRight['template_cfg'] + "-";
|
|
|
|
|
sRowId += this.hasRight['syncable'];
|
|
|
|
|
|
|
|
|
|
return sRowId;
|
|
|
|
|
|
|
|
|
|
} // end function
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Reset the config object -> load default values;
|
|
|
|
|
* @return String RowId String
|
|
|
|
|
*/
|
|
|
|
|
contenidoConfig.prototype.reset = function() {
|
|
|
|
|
|
|
|
|
|
this.catId = 0;
|
|
|
|
|
this.tplId = 0;
|
|
|
|
|
this.isOnline = 0;
|
|
|
|
|
this.isPublic = 0;
|
|
|
|
|
|
|
|
|
|
this.hasRight['template_cfg'] = 0;
|
|
|
|
|
this.hasRight['template'] = 0;
|
|
|
|
|
this.hasRight['online'] = 0;
|
|
|
|
|
this.hasRight['public'] = 0;
|
|
|
|
|
|
|
|
|
|
this.updateScreen();
|
|
|
|
|
|
|
|
|
|
} // end function
|
|
|
|
|
|