コード例 #1
0
 /**
  * @return bool
  */
 protected function assignOrgunits()
 {
     global $ilDB, $rbacadmin;
     if (!count($this->getAssignedOrgus())) {
         return false;
     }
     foreach ($this->getAssignedOrgus() as $orgu_obj_id) {
         if (ilObject2::_lookupType($orgu_obj_id) != 'orgu') {
             continue;
         }
         $usr_id = $this->getUsrObject()->getId();
         $orgu_ref_ids = ilObjOrgUnit::_getAllReferences($orgu_obj_id);
         $orgu_ref_id = array_shift(array_values($orgu_ref_ids));
         if (!$orgu_ref_id) {
             continue;
         }
         $q = "SELECT obj_id, title FROM object_data WHERE title LIKE 'il_orgu_employee_" . $ilDB->quote($orgu_ref_id, "integer") . "'";
         $set = $ilDB->query($q);
         $row = $set->fetchRow(DB_FETCHMODE_OBJECT);
         $employee_role = $row->obj_id;
         $rbacadmin->assignUser($employee_role, $usr_id);
     }
     return true;
 }