Changeset 12558

Show
Ignore:
Timestamp:
09/28/07 00:54:44 (1 year ago)
Author:
bergie
Message:

Support also setting privs to persons

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/midgard/data/midgard_admin_sitewizard_creator_structure.php

    r12109 r12558  
    384384    private function set_privileges($config_node, $object) 
    385385    { 
    386         foreach($config_node['acl'] as $group_name => $privilege) 
    387             { 
     386        foreach($config_node['acl'] as $identifier => $privilege) 
     387            { 
     388            $assignee = null 
     389            if (array_key_exists($assignee, $this->created_groups)) 
     390            { 
     391                $assignee = "group:{$this->created_groups[$identifier]->guid}"; 
     392            } 
     393            elseif (mgd_is_guid($identifier)) 
     394            { 
     395                $assignee = "user:{$identifier}"; 
     396            } 
     397             
     398            if (is_null($assignee)) 
     399            { 
     400                // Faulty assignment 
     401                continue; 
     402            } 
     403             
    388404                foreach($privilege as $name => $value) 
    389405                { 
    390                     if (array_key_exists($group_name, $this->created_groups)) 
    391                         { 
    392                     $acl = new midcom_core_privilege_db();  
    393                             $acl->objectguid = $object->guid; 
    394                             $acl->name = $name; 
    395                             $acl->sitegroup = $this->sitegroup->id; 
    396                             $acl->assignee = "group:" . $this->created_groups[$group_name]->guid; 
    397                             $acl->value = $value; 
    398                  
    399                             if (!$acl->create()) 
    400                             { 
    401                         throw new midgard_admin_sitewizard_exception(); 
    402                             } 
    403                             else 
    404                             { 
    405                         $this->verbose("ACL (" . $acl->name . "," . $acl->assignee . ","  
    406                             . $acl->value . " set for object GUID: " . $object->guid); 
    407                          
    408                                     return true; 
    409                             } 
    410                         } 
     406                $acl = new midcom_core_privilege_db();  
     407                $acl->objectguid = $object->guid; 
     408                $acl->name = $name; 
     409                $acl->sitegroup = $this->sitegroup->id; 
     410                $acl->assignee = $assignee; 
     411                $acl->value = $value; 
     412     
     413                if (!$acl->create()) 
     414                { 
     415                    throw new midgard_admin_sitewizard_exception(); 
     416                } 
     417                else 
     418                { 
     419                    $this->verbose("ACL (" . $acl->name . "," . $acl->assignee . ","  
     420                        . $acl->value . " set for object GUID: " . $object->guid); 
     421         
     422                    return true; 
     423                } 
    411424                }  
    412425        }