protected function getLinks($rowsIterator, $deleted) {
        $usersMailTemplates = array();

        foreach ($rowsIterator as $row) {
            $link = new Pap_Db_DirectLinkUrl();
            $link->fillFromRecord($row);

            $userId = $link->getPapUserId();
            if (!array_key_exists($userId, $usersMailTemplates)) {
                $usersMailTemplates[$userId] = new Pap_Mail_AffiliateDirectLinkNotification();
            }
            if ($deleted) {
                $usersMailTemplates[$userId]->addDeletedDirectLink($link);
            } else {
                switch ($link->get(Pap_Db_Table_DirectLinkUrls::STATUS)) {
                    case Pap_Common_Constants::STATUS_APPROVED:
                        $usersMailTemplates[$userId]->addApprovedDirectLink($link);
                        break;
                    case Pap_Common_Constants::STATUS_DECLINED:
                        $usersMailTemplates[$userId]->addDeclinedDirectLink($link);
                        break;
                    case Pap_Common_Constants::STATUS_PENDING:
                        $usersMailTemplates[$userId]->addPendingDirectLink($link);
                        break;
                }
            }
        }
        return $usersMailTemplates;
    }
 /**
  *
  * @param $paramName
  * @param $paramValue
  * @return string
  */
 private function createApproveDeclineTask(Gpf_Tasks_QuickTaskGroup $quickTaskGroup, $newStatus) {
     $actionRequest = new Gpf_Rpc_ActionRequest('Pap_Merchants_User_DirectLinksForm', 'quickTaskApprove');
     $actionRequest->addParam('directLinkId', $this->directLink->getId());
     $actionRequest->addParam('rstatus', $newStatus);
     $quickTask = new Gpf_Tasks_QuickTask($actionRequest);
     $quickTaskGroup->add($quickTask);
     return $quickTask->getUrl();
 }
    private function createSampleDirectLinkUrl() {
        $directLinkUrl = new Pap_Db_DirectLinkUrl();
        $directLinkUrl->setId('11111111');
        $directLinkUrl->setPapUserId('11111111');
        $directLinkUrl->setUrl('*tests/banners_linking.*');
        $directLinkUrl->setStatus('A');
        $directLinkUrl->save();

        $directLinksBase = Pap_Tracking_DirectLinksBase::getInstance();
        $directLinksBase->regenerateDirectLinksFile();
    }
 public function addDeletedDirectLink(Pap_Db_DirectLinkUrl $directLink) {
     $this->deletedDirectLinks[] = $directLink->getUrl();
 }
    private function getIsDirectLinkEnabled() {
        // check if it is supported in general
        $support = Gpf_Settings::get(Pap_Settings::SUPPORT_DIRECT_LINKING);
        if($support <> Gpf::YES) {
            return Gpf::NO;
        }

        // check if this user has at least one direct link approved
        $directLinks = new Pap_Db_DirectLinkUrl();
        if($directLinks->checkUserApprovedDirectLinks($this->user->getId())) {
            return Gpf::YES;
        } else {
            return Gpf::NO;
        }
    }