85 private function load_permits_for_user( $UserId =
false )
89 if( $UserId ===
false )
91 $UserId = $this->UserAlgorithms->get_id();
94 if( isset( $this->Permits[ $UserId ] ) ===
false )
96 $this->Permits[ $UserId ] = $this->PermitAlgorithms->get_permits_for_object( $UserId ,
'user' );
119 $this->CachedMultyFS =
get_package(
'cached_multy_fs' ,
'last' , __FILE__ );
120 $this->Database =
get_package(
'database' ,
'last' , __FILE__ );
121 $this->PermitAlgorithms =
get_package(
'permit::permit_algorithms' ,
'last' , __FILE__ );
122 $this->UserAlgorithms =
get_package(
'user::user_algorithms' ,
'last' , __FILE__ );
124 catch( Exception $e )
152 private function has_premits( &$Settings )
156 $RawSettings = $Settings->get_raw_settings();
157 $Parmit = array_shift( array_keys( $RawSettings ) );
159 $UserId = $this->UserAlgorithms->get_id();
160 $this->load_permits_for_user( $UserId );
162 return(
in_array( $Parmit , $this->Permits[ $UserId ] ) );
164 catch( Exception $e )
200 $Flag = $this->has_premits( $Settings , $Data );
211 catch( Exception $e )
247 $Flag = $this->has_premits( $Settings , $Data );
258 catch( Exception $e )
291 $Items = $this->Database->select(
'permit' ,
'umx_permit' ,
'1 = 1' );
292 $c = count( $Items );
294 foreach( $Items as $k => $i )
296 $AllPermits .= $i->permit;
303 return( $AllPermits );
305 catch( Exception $e )
339 list( $Object , $Type ) = $Settings->get_settings(
'object,type' ,
'public,' );
340 $PermitList = $this->PermitAlgorithms->get_permits_for_object( $Object , $Type ,
false );
343 $PermitList = implode(
', ' , $PermitList );
345 return( $PermitList );
347 catch( Exception $e )
379 private function compile_object_permits( $ObjectPermitList , $PermitListWidget )
383 sort( $ObjectPermitList );
385 foreach( $ObjectPermitList as $key => $p )
387 $Template = $this->CachedMultyFS->get_template( __FILE__ ,
'delete_permit_item.tpl' );
388 $Template = str_replace(
'{permit}' , $p , $Template );
389 $PermitListWidget = str_replace(
'{object_permits}' , $Template , $PermitListWidget );
392 $PermitListWidget = str_replace(
'{object_permits}' ,
'' , $PermitListWidget );
394 return( $PermitListWidget );
396 catch( Exception $e )
428 private function compile_all_permits( $AllPermitList , $ObjectPermitList , $PermitListWidget )
432 sort( $AllPermitList );
434 foreach( $AllPermitList as $key => $p )
436 if(
in_array( $p , $ObjectPermitList ) ===
false )
438 $Template = $this->CachedMultyFS->get_template( __FILE__ ,
'add_permit_item.tpl' );
439 $Template = str_replace(
'{permit}' , $p , $Template );
440 $PermitListWidget = str_replace(
'{rest_permits}' , $Template , $PermitListWidget );
444 return( $PermitListWidget );
446 catch( Exception $e )
474 private function get_permits( &$Settings )
478 $AllPermitList = $Settings->get_setting(
'all' ,
'public' );
479 if( strlen( $AllPermitList ) == 0 )
481 $AllPermitList = array();
485 $AllPermitList = explode(
', ' , $AllPermitList );
488 $ObjectPermitList = $Settings->get_setting(
'object_permits' ,
'' );
489 $ObjectPermitList = strlen( $ObjectPermitList ) == 0 ? array() :
490 explode(
', ' , $ObjectPermitList );
492 return( array( $ObjectPermitList , $AllPermitList ) );
494 catch( Exception $e )
526 list( $ObjectPermitList , $AllPermitList ) = $this->get_permits( $Settings );
528 $PermitListWidget = $this->CachedMultyFS->get_template( __FILE__ ,
'permit_list.tpl' );
529 $Object = $Settings->get_setting(
'object' );
530 $PermitListWidget = str_replace(
'{object}' , $Object , $PermitListWidget );
532 $PermitListWidget = $this->compile_object_permits( $ObjectPermitList , $PermitListWidget );
534 return( $this->compile_all_permits( $AllPermitList , $ObjectPermitList , $PermitListWidget ) );
536 catch( Exception $e )
569 list( $Name , $Class ) = $Settings->get_settings(
'name,class',
'permit,flat width_160' );
571 $Code =
"{select:name=$Name;class=$Class;".
572 "query=SELECT id , title AS value FROM `umx_permit` ORDER BY title}";
576 catch( Exception $e )