HTML;
foreach( ipsRegistry::$applications as $app_dir => $application )
{
$checked = in_array( $application['app_id'], $access['applications'] ) ? 1 : 0;
$form = $this->registry->output->formCheckbox( 'app_' . $application['app_id'], $checked, 1, 'app_' . $application['app_id'], "onclick='checkApp( {$application['app_id']} );'" );
if( is_array(ipsRegistry::$modules[ $app_dir ]) AND count(ipsRegistry::$modules[ $app_dir ]) )
{
$IPBHTML .= <<
|
HTML;
foreach( ipsRegistry::$modules[ $app_dir ] as $module )
{
$checked = in_array( $module['sys_module_id'], $access['modules'] ) ? 1 : 0;
$form = $this->registry->output->formCheckbox( 'module_' . $module['sys_module_id'], $checked, 1, 'module_' . $module['sys_module_id'], "onclick='checkModule( {$module['sys_module_id']} );'" );
if( ! $module['sys_module_admin'] )
{
continue;
}
$IPBHTML .= <<
| |
HTML;
if( is_array( $permissions ) AND is_array($permissions[ $application['app_id'] ][ $module['sys_module_id'] ]) AND count($permissions[ $application['app_id'] ][ $module['sys_module_id'] ]) )
{
// Call me lazy if you wish :P
$shorten = $permissions[ $application['app_id'] ][ $module['sys_module_id'] ];
foreach( $shorten as $group => $shorter )
{
if( !is_array($shorter) OR !count($shorter) )
{
continue;
}
$IPBHTML .= <<
| {$shorter['title']} |
HTML;
if( is_array($shorter['items']) AND count($shorter['items']) )
{
foreach( $shorter['items'] as $item_key => $item_text )
{
$itemsByModules[ $module['sys_module_id'] ][] = $item_key;
$checked = (is_array($access['items'][ $module['sys_module_id'] ]) AND in_array($item_key, $access['items'][ $module['sys_module_id'] ] )) ? 1 : 0;
$form = $this->registry->output->formCheckbox( 'item_' . $module['sys_module_id'] . '_' . $item_key, $checked, 1, 'item_' . $module['sys_module_id'] . '_' . $item_key, "onclick='checkItem( {$module['sys_module_id']} );'" );
$IPBHTML .= <<
|
HTML;
}
}
$IPBHTML .= <<
HTML;
}
}
}
$IPBHTML .= <<
HTML;
}
}
$IPBHTML .= <<
HTML;
$IPBHTML .= <<
var modulesByApp = [];
var appsByModule = [];
var itemsByModule = [];
HTML;
foreach( ipsRegistry::$applications as $app_dir => $application )
{
$modules = array();
foreach( ipsRegistry::$modules[ $app_dir ] as $module )
{
if( ! $module['sys_module_admin'] )
{
continue;
}
$modules[] = $module['sys_module_id'];
$IPBHTML .= << $items )
{
$items = implode( ',', array_map( create_function( '$v', 'return "\'$v\'";' ), $items ) );
$IPBHTML .= <<
HTML;
//--endhtml--//
return $IPBHTML;
}
}