<?php
namespace Claromentis\People\NameProvider;

$GLOBALS["__65da1b1ec2d6653e8a0ab7848e53" . "6215"] = (@$GLOBALS["__65da1b1ec2d6653e8a0ab7848e53621" . "5"] ?: array()) + array("_1b8003906020f4551" . "3d54c7a55e9a572" => base64_decode("U0VMRUNUIENPVU5UKDEpIEZST00gZXh0c" . "mFuZXRfYXJlYXM="), "_0301dac72879547917d01783dd4" . "d945a" => base64_decode("aWQgSU" . "4gaW46" . "aW50Om" . "lkcw=="), "_26ea2e897858c" . "c8734f06d5e684" . "4e562" => base64_decode("U0VMRUNUIGlkLCBuYW1lIEZST00gZXh0cmFuZXRfYXJlYXMgT1JERVIgQlkgcHJpbWFyeV9hcmVhIER" . "FU0MsIG5hbWU="), "n" . "a" . "m" . "e" => base64_decode("bmFt" . "ZQ=="));
use Claromentis\Core\DAL\QueryBuilder;
use Claromentis\Core\Services;
use PeopleGRENamesProvider;
class AssignableExtranets implements PeopleGRENamesProvider
{
    protected $keywords;
    protected $admin;
    public function __construct()
    {
        $this->admin = new \UsersAdmin(\AuthUser::I()->GetId());
    }
    public function count()
    {
        $_4c8189237e0d0b5cd82c06d69613c88e = new QueryBuilder($GLOBALS["__65da1b1ec2d6653e8a0ab7848" . "e536215"]["_1b8003906020f45513d54c7a55" . "e9a572"]);
        $this->addFilter($_4c8189237e0d0b5cd82c06d69613c88e);
        list($_f53d35a1a1e233d98d9ce73d92ab3bb1) = Services::I()->GetDb()->query_row($_4c8189237e0d0b5cd82c06d69613c88e->GetQuery());
        return (int) $_f53d35a1a1e233d98d9ce73d92ab3bb1;
    }
    public function SetFilterKeywords($keywords)
    {
        $this->keywords = $keywords;
    }
    public function GetList($page_size, $_85008ed1ba1db3b691d57c5329e12ac8 = 0)
    {
        $_4c8189237e0d0b5cd82c06d69613c88e = new QueryBuilder($GLOBALS["__65da1b1ec2d" . "6653e8a0ab784" . "8e536215"]["_26ea2e897858cc8" . "734f06d5e6844e56" . "2"]);
        $this->addFilter($_4c8189237e0d0b5cd82c06d69613c88e);
        $_7f5aa4e96d4b415a86ed72ebff677cbe = $_4c8189237e0d0b5cd82c06d69613c88e->GetQuery();
        $_7f5aa4e96d4b415a86ed72ebff677cbe->setLimit($page_size, $_85008ed1ba1db3b691d57c5329e12ac8);
        $_189840d11056515e52402d1412a0b6e4 = Services::I()->GetDb()->query($_7f5aa4e96d4b415a86ed72ebff677cbe);
        $_1f24efd4735b7a11b391147435e7d35d = [];
        while (list($id, $name) = $_189840d11056515e52402d1412a0b6e4->fetchRow()) {
            $_1f24efd4735b7a11b391147435e7d35d[$id] = $name;
        }
        return $_1f24efd4735b7a11b391147435e7d35d;
    }
    protected function addFilter(QueryBuilder $_4c8189237e0d0b5cd82c06d69613c88e)
    {
        if ($this->keywords) {
            $_4c8189237e0d0b5cd82c06d69613c88e->AddSubstringFilter($GLOBALS["__65da1b1ec2d6653e8a0" . "ab7848e536215"]["na" . "me"], $this->keywords);
        }
        if (!$this->admin->IsPeopleAdmin()) {
            $_4c8189237e0d0b5cd82c06d69613c88e->AddWhereAndClause($GLOBALS["__65da1b1ec2d6653e8" . "a0ab7848e536215"]["_0301dac72879547917d01783dd4d945" . "a"], $this->admin->GetAssignExAreas());
        }
        return $_4c8189237e0d0b5cd82c06d69613c88e;
    }
}