/** Remove Access -Right from a user. * * @param name * @return void */ private function removeFileFromRole($file, $name = null) { $role = null; if (!is_null($name)) { if (Opus_UserRole::fetchByname($name)) { $role = Opus_UserRole::fetchByname($name); $role->removeAccessFile($file->getId()); $role->store(); } } }
private function mapRoles() { $mf = $this->config->migration->mapping->roles; $fp = null; try { $fp = @fopen($mf, 'w'); if (!$fp) { throw new Exception("ERROR Opus3RoleImport: Could not create '" . $mf . "' for Roles.\n"); } } catch (Exception $e) { $this->logger->log($e->getMessage(), Zend_Log::ERR); return; } try { if (count($this->roles) > 0) { foreach ($this->roles as $r) { $name = $r->name; $bereich = $r->bereich; $role = null; if (Opus_UserRole::fetchByname($name)) { $role = Opus_UserRole::fetchByname($name); $this->logger->log("Role in DB found: " . $r->name, Zend_Log::DEBUG); } else { $role = new Opus_UserRole(); $role->setName($r->name); $role->store(); $this->logger->log("Role imported: " . $r->name, Zend_Log::DEBUG); } $db_ips = array(); $db_ips = Opus_Iprange::getAll(); if (count($r->ip) > 0) { foreach ($r->ip as $role_ip) { foreach ($db_ips as $db_ip) { if ($role_ip == $db_ip->getDisplayName()) { $roles = array(); $roles = $db_ip->getRole(); array_push($roles, $role); $db_ip->setRole($roles); $db_ip->store(); } } } } fputs($fp, $r->bereich . ' ' . $role->getId() . "\n"); } } } catch (Exception $e) { $this->logger->log($e->getMessage(), Zend_Log::ERR); } fclose($fp); }