/** * @param string $userName * @return boolean */ public function RetrieveAdminGrant($userName) { $queryBuilder = new SelectCommand($this->connectionFactory->CreateEngCommandImp()); $queryBuilder->AddField($this->usersTable, $this->users_UserId, FieldType::Number, 'users_user_id'); $queryBuilder->AddField($this->usersTable, $this->users_UserName, FieldType::String, 'users_user_name'); $queryBuilder->AddField($this->userPermsTable, $this->userPerms_UserId, FieldType::Number, 'userperms_user_id'); $queryBuilder->AddField($this->userPermsTable, $this->userPerms_PageName, FieldType::String, 'userperms_pagename'); $queryBuilder->AddField($this->userPermsTable, $this->userPerms_Grant, FieldType::String, 'userperms_grant'); $queryBuilder->SetSourceTableName($this->userPermsTable); $queryBuilder->AddJoin(JoinKind::Inner, $this->usersTable, 'userperms_user_id', $this->users_UserId); $queryBuilder->AddFieldFilter('users_user_name', new FieldFilter($userName, 'ILIKE')); $queryBuilder->AddFieldFilter('userperms_grant', new FieldFilter('ADMIN', 'ILIKE')); $queryBuilder->AddCompositeFieldFilter('OR', array('userperms_pagename', 'userperms_pagename'), array(new FieldFilter('', 'ILIKE'), new IsNullFieldFilter())); $dataset = new QueryDataset($this->connectionFactory, $this->connectionOptions, $queryBuilder->GetSQL(), array(), array(), array(), 'user_grants'); $dataset->AddField(new StringField('userperms_grant'), false); $dataset->Open(); if ($dataset->Next()) { $dataset->Close(); return true; } $dataset->Close(); return false; }