UNPKG

@kldit/cms

Version:

A CMS Framework for @kldit/mvc

94 lines (83 loc) 1.89 kB
const mvc = require( '@kldit/mvc' ); /** * @author Orlando Leite * * AccessModel class */ module.exports = class AccessModel extends mvc.BaseModel { /* check( accessType, mapName, map, path, ids = NULL, curValues = NULL, newValues = NULL ) { validation = array(); if( map.access ) { if( map.access[accessType] ) { access = map.access.{accessType}; foreach( access AS key => rule ) { if( rule.procedure ) { if( newValues == null ) newValues = array(); foreach( rule.values AS k => v ) newValues[k] = v; CMSProcedures::setup( mapName, map, path, ids, this.db, newValues ); result = CMSProcedures::apply( CMS::procedures( key ) ); // print_r( result ); } else result = CMSValidation::validate( key, mapName, currentValues, rule ); if( !result ) { validation[] = array( 'icon' => rule.icon, 'class' => rule.class, 'message' => rule.message ); } } } } return validation; } public function getMenu( menu, map ) { CMSProcedures::setup( '', array(), array(), array(), this.db, array() ); // print_r( menu.anuncios.subs.destacados.access.values ); foreach( menu AS k => v ) { if( isset( v.subs ) ) { hasOne = false; foreach( v.subs AS k2 => v2 ) { if( !isset( v2.access ) || CMSProcedures::apply( CMS::procedures( v2.access.procedure ), v2.access.values ) ) { hasOne = true; unset( v2.access ); list[k2] = v2; } else { unset( v.subs.{k2} ); } } if( !hasOne ) { unset( menu.{k} ); } } else { if( !isset( v.access ) || CMSProcedures::apply( CMS::procedures( v.access.procedure ), v.access.values ) ) { unset( v.access ); } else { unset( menu.{k} ); } } } return menu; }*/ }