public function __construct() {
        $this->request = new Pap_Tracking_Request();
        $this->site = $this->loadSite($this->request->getRequestParameter('a_bid'));
        $userId = $this->request->getRequestParameter('a_aid');
        $fileName = $this->request->getRequestParameter('a_file');

        $this->checkIfTestCall($userId, $fileName);
        $this->user = $this->loadUser($userId);

        if ($this->request->getRequestParameter('a_redir') == Gpf::YES) {
            Gpf_Http::setHeader(Gpf_Net_Server_Http_Response::LOCATION, $this->site->getUrl($this->user));
            exit();
        }

        if ($this->site->getSourceType() == Pap_Features_SiteReplication_Site::SOURCE_EXTERNAL_URL) {
            $this->driver = new Pap_Features_SiteReplication_Driver_ExternalUrl($this->sanitizeFileName($fileName), $this->site);
        } else {
            $this->driver = new Pap_Features_SiteReplication_Driver_LocalFiles($this->sanitizeFileName($fileName), $this->site);
        }
    }