"addressbook", "enable_nextmatchs_class" => True, "noappheader" => True, "noappfooter" => True); include("../header.inc.php"); function display_row($bg_color,$label,$id,$name) { global $p; global $phpgw; global $phpgw_info; global $acl; $p->set_var('row_color',$bg_color); $p->set_var('user',$name); $rights = $acl->get_rights($label.$id,$phpgw_info["flags"]["currentapp"]); $p->set_var('read',$label.$phpgw_info["flags"]["currentapp"].'['.$id.']['.PHPGW_ACL_READ.']'); if ($rights & PHPGW_ACL_READ) { $p->set_var('read_selected',' checked'); } else { $p->set_var('read_selected',''); } $p->set_var('add',$label.$phpgw_info["flags"]["currentapp"].'['.$id.']['.PHPGW_ACL_ADD.']'); if ($rights & PHPGW_ACL_ADD) { $p->set_var('add_selected',' checked'); } else { $p->set_var('add_selected',''); } $p->set_var('edit',$label.$phpgw_info["flags"]["currentapp"].'['.$id.']['.PHPGW_ACL_EDIT.']'); if ($rights & PHPGW_ACL_EDIT) { $p->set_var('edit_selected',' checked'); } else { $p->set_var('edit_selected',''); } $p->set_var('delete',$label.$phpgw_info["flags"]["currentapp"].'['.$id.']['.PHPGW_ACL_DELETE.']'); if ($rights & PHPGW_ACL_DELETE) { $p->set_var('delete_selected',' checked'); } else { $p->set_var('delete_selected',''); } $p->parse('row','acl_row',True); } if(!isset($owner) || !$phpgw_info["user"]["apps"]["admin"]) { $owner = $phpgw_info["user"]["account_id"]; } $groups = $phpgw->accounts->memberships($owner); $acl = CreateObject('phpgwapi.acl',intval($owner)); $acl->read_repository(); if ($submit) { $to_remove = unserialize(urldecode($processed)); for($i=0;$idelete($phpgw_info["flags"]["currentapp"],$to_remove[$i]); } // Group records $group_variable = 'g_'.$phpgw_info["flags"]["currentapp"]; @reset($$group_variable); while(list($group_id,$acllist) = each($$group_variable)) { $totalacl = 0; while(list($right,$permission) = each($acllist)) { $totalacl += $right; } $acl->add($phpgw_info["flags"]["currentapp"],'g_'.$group_id,$totalacl); } // User records $user_variable = 'u_'.$phpgw_info["flags"]["currentapp"]; @reset($$user_variable); while(list($user_id,$acllist) = each($$user_variable)) { $totalacl = 0; while(list($right,$permission) = each($acllist)) { $totalacl += $right; } $acl->add($phpgw_info["flags"]["currentapp"],'u_'.$user_id,$totalacl); } $acl->save_repository(); } $processed = Array(); $total = 0; if(!isset($start)) { $start = 0; } if(!$start) { $s_groups = 0; $s_users = 0; } if(!isset($s_groups)) { $s_groups = 0; } if(!isset($s_users)) { $s_users = 0; } if(!isset($query)) { $query = ""; } if(!isset($maxm)) { $maxm = $phpgw_info["user"]["preferences"]["common"]["maxmatchs"]; } if(!isset($totalentries)) { $totalentries = count($groups); $db = $phpgw->db; $db->query("SELECT count(*) FROM phpgw_accounts WHERE account_type='u'"); $db->next_record(); $totalentries += intval($db->f(0)); } $p = CreateObject('phpgwapi.Template',$phpgw_info["server"]["app_tpl"]); $p->set_file(array('preferences' => 'preference_acl.tpl', 'row_colspan' => 'preference_colspan.tpl', 'acl_row' => 'preference_acl_row.tpl')); // $p->set_var('errors','

This does nothing at this time!
Strictly as a template for use!
'); $p->set_var('errors',''); $p->set_var('title','

'.lang($phpgw_info["flags"]["currentapp"]." preferences").' - '.lang("acl").':


'); $p->set_var('action_url',$phpgw->link('')); $p->set_var('bg_color',$phpgw_info["theme"]["th_bg"]); $p->set_var('submit_lang',lang('submit')); $common_hidden_vars = ' '."\n" . ' '."\n" . ' '."\n" . ' '."\n" . ' '."\n" . ' '."\n" . ' '."\n"; $p->set_var('common_hidden_vars_form',$common_hidden_vars); if(isset($query_result) && $query_result) $common_hidden_vars .= "\n"; $p->set_var('common_hidden_vars',$common_hidden_vars); $p->set_var(array('read_lang' => lang('Read'), 'add_lang' => lang('Add'), 'edit_lang' => lang('Edit'), 'delete_lang' => lang('Delete'))); if(intval($s_groups) <> count($groups)) { $p->set_var('string',lang('Groups')); $p->parse('row','row_colspan',True); reset($groups); for($k=0;$knextmatchs->alternate_row_color($tr_color); display_row($tr_color,'g_',$group["account_id"],$group["account_name"]); $s_groups++; $processed[] = 'g_'.$group["account_id"]; $total++; if($total == $maxm) break; } } } if($total <> $maxm) { if(!is_object($db)) { $db = $phpgw->db; } $db->query("select account_id, account_firstname, account_lastname, account_lid FROM phpgw_accounts WHERE account_type='u' ORDER BY account_lastname, account_firstname, account_lid ".$db->limit(intval($s_users),$maxm),__LINE__,__FILE__); $users = $db->num_rows(); if($total <> $maxm) { if($users) { $p->set_var('string',ucfirst(lang('Users'))); $p->parse('row','row_colspan',True); $tr_color = $phpgw->nextmatchs->alternate_row_color($tr_color); while($db->next_record()) { $go = True; if($query) { $name = ' '.$db->f("account_firstname").' '.$db->f("account_lastname").' '.$db->f("account_lid").' '; if(!strpos($name,$query)) { $go = False; } } if($go) { $tr_color = $phpgw->nextmatchs->alternate_row_color($tr_color); $id = $db->f("account_id"); display_row($tr_color,'u_',$id,$phpgw->common->grab_owner_name($id)); $s_users++; $processed[] = 'u_'.$id; $total++; if($total == $maxm) break; } } } } } $extra_parms = "&s_users=".$s_users."&s_groups=".$s_groups."&maxm=".$maxm."&totalentries=".$totalentries."&total=".($start + $total)."&owner=".$owner; $p->set_var("nml",$phpgw->nextmatchs->left("",$start,$totalentries,$extra_parms)); $p->set_var("nmr",$phpgw->nextmatchs->right("",$start,$totalentries,$extra_parms)); $p->set_var("search_value",(isset($query) && $query?$query:"")); $p->set_var("search",lang("search")); $p->set_var('processed',urlencode(serialize($processed))); $p->pparse('out','preferences'); $phpgw->common->phpgw_footer(); ?>