Scalr\Upgrade\Updates\Update20151015131054::run4 PHP Метод

run4() защищенный Метод

protected run4 ( $stage )
    protected function run4($stage)
    {
        $this->console->out("Adding Read-only base role");
        $this->db->BeginTrans();
        try {
            $this->db->Execute("\n                INSERT INTO `acl_roles` (`role_id`, `name`)\n                VALUES (?, ?)\n            ", [Acl::ROLE_ID_READ_ONLY_ACCESS, 'Read-only']);
            $params = [Acl::ROLE_ID_READ_ONLY_ACCESS, Acl::ROLE_ID_FULL_ACCESS];
            $noAccessResources = [Acl::RESOURCE_BILLING_ACCOUNT, Acl::RESOURCE_ANALYTICS_ACCOUNT, Acl::RESOURCE_ENV_CLOUDS_ENVIRONMENT, Acl::RESOURCE_GOVERNANCE_ENVIRONMENT, Acl::RESOURCE_ANALYTICS_ENVIRONMENT, Acl::RESOURCE_SECURITY_RETRIEVE_WINDOWS_PASSWORDS, Acl::RESOURCE_SERVICES_RABBITMQ, Acl::RESOURCE_DB_SERVICE_CONFIGURATION, Acl::RESOURCE_DISCOVERY_SERVERS];
            $notIn = "AND arc.`resource_id` NOT IN (" . implode(",", array_fill(0, count($noAccessResources), '?')) . ")";
            $params = array_merge($params, $noAccessResources);
            $this->db->Execute("\n                INSERT INTO `acl_role_resources` (`role_id`, `resource_id`, `granted`)\n                SELECT ?, arc.`resource_id`, 1\n                FROM `acl_role_resources` arc\n                WHERE arc.role_id = ? " . $notIn . "\n            ", $params);
            $this->db->CommitTrans();
        } catch (Exception $e) {
            $this->db->RollbackTrans();
            throw $e;
        }
    }