function saveSubscriber()
 {
     //region SAVE_PARAMS
     $getResponse = new Getresponse();
     if (isset($_GET['CONTACT_ID'])) {
         $getResponse->setContact_id(urldecode($_GET['CONTACT_ID']));
     } else {
         $getResponse->setContact_id('-');
     }
     if (isset($_GET['ACCOUNT_ID'])) {
         $getResponse->setAccount_id(urldecode($_GET['ACCOUNT_ID']));
     } else {
         $getResponse->setAccount_id('-');
     }
     if (isset($_GET['account_login'])) {
         $getResponse->setAccount_login(urldecode($_GET['account_login']));
     } else {
         $getResponse->setAccount_id('-');
     }
     if (isset($_GET['contact_name'])) {
         $getResponse->setContact_name(urldecode($_GET['contact_name']));
     } else {
         $getResponse->setContact_name('-');
     }
     if (isset($_GET['campaign_name'])) {
         $getResponse->setCampaign_name(urldecode($_GET['campaign_name']));
     } else {
         $getResponse->setCampaign_name('-');
     }
     if (isset($_GET['contact_ip'])) {
         $getResponse->setContact_ip(urldecode($_GET['contact_ip']));
     } else {
         $getResponse->setContact_ip('-');
     }
     if (isset($_GET['CAMPAIGN_ID'])) {
         $getResponse->setCampaign_id(urldecode($_GET['CAMPAIGN_ID']));
     } else {
         $getResponse->setCampaign_id('-');
     }
     if (isset($_GET['contact_email'])) {
         $getResponse->setContact_email(urldecode($_GET['contact_email']));
     } else {
         $getResponse->setContact_email('-');
     }
     if (isset($_GET['contact_origin'])) {
         $getResponse->setContact_origin(urldecode($_GET['contact_origin']));
     } else {
         $getResponse->setContact_origin('-');
     }
     if (isset($_GET['action'])) {
         $getResponse->setAction(urldecode($_GET['action']));
     } else {
         $getResponse->setAction('-');
     }
     $timeZone = new DateTimeZone("Europe/Vilnius");
     $time = new DateTime("now", $timeZone);
     $getResponse->setA_date($time->format("Y-m-d H:i:s"));
     if (!$this->storeParams($getResponse)) {
         $getResponse->setId(99999);
     }
     //endregion
     //var_dump($getResponse);
     //region CHECK_POJECT
     $criteriaOr = new OrStatement();
     $field = $this->projectDao->getQCampaignName();
     $criteriaOr->addStatement($field . "='" . addslashes($getResponse->getCampaign_name()) . "'");
     $field = $this->projectDao->getQSuspendingName();
     $criteriaOr->addStatement($field . "='" . addslashes($getResponse->getCampaign_name()) . "'");
     $field = $this->projectDao->getQEndingName();
     $criteriaOr->addStatement($field . "='" . addslashes($getResponse->getCampaign_name()) . "'");
     $projects = $this->projectDao->find($criteriaOr, null, 1000);
     if (!is_array($projects)) {
         $this->setParamPoz($getResponse->getId(), 2, "Nepavyko nustatyti projekto");
         return false;
     } else {
         if (count($projects) == 0) {
             $this->setParamPoz($getResponse->getId(), 2, "Nepavyko nustatyti projekto");
             return false;
         }
     }
     //$project = reset($projects);
     //endregion
     //var_dump($project);
     foreach ($projects as $project) {
         $campaignType = -1;
         switch ($getResponse->getCampaign_name()) {
             case $project->getCampaign():
                 $campaignType = 1;
                 break;
             case $project->getSuspending():
                 $campaignType = 0;
                 break;
             case $project->getEnding():
                 $campaignType = 3;
                 break;
         }
         if ($campaignType == -1) {
             $this->setParamPoz($getResponse->getId(), 2, "Nepavyko nustatyti kampanijos tipo");
             return FALSE;
         }
         $newClient = FALSE;
         //Aktyvavimo kampanija
         if ($campaignType == 1) {
             // Patikrinam ar neegzistuoja toks klientas
             $criteria = new AndStatement();
             $field = $this->clientDaol->getQPidName();
             $criteria->addStatement($field . "='" . addslashes($project->getId()) . "'");
             $field = $this->clientDaol->getQEmailName();
             $criteria->addStatement($field . "='" . addslashes($getResponse->getContact_email()) . "'");
             $clients = $this->clientDaol->find($criteria, NULL, 1000);
             if (is_null($clients)) {
                 $this->setParamPoz($getResponse->getId(), 2, "Nepavyko patikrinti ar toks klientas jau uzregistruotas [1]");
                 return FALSE;
             } else {
                 if (is_string($clients)) {
                     $this->setParamPoz($getResponse->getId(), 2, "Nepavyko patikrinti ar toks klientas jau uzregistruotas [2]");
                     return FALSE;
                 } else {
                     if (!is_array($clients)) {
                         $this->setParamPoz($getResponse->getId(), 2, "Nepavyko patikrinti ar toks klientas jau uzregistruotas [3]");
                         return FALSE;
                     }
                 }
             }
             if (count($clients) == 0) {
                 //Jei neradome kliento - kuriame nauaja
                 $client = new Client();
                 $client->setPid($project->getId());
                 $client->setEmail($getResponse->getContact_email());
                 $client->setTelephone($getResponse->getContact_name());
                 $client->setActive(TRUE);
                 $newClient = TRUE;
             } else {
                 $client = reset($clients);
                 if (!$client->isActive() && !$client->isEnded()) {
                     $client->setActive(TRUE);
                     $this->saveEventHistory($client, "Aktyvuotas GetResponse sistemos");
                 } else {
                     $this->setParamPoz($getResponse->getId(), 2, "Klientas jau yra sukurtas projekte ir yra aktyvus arba pabaigtas");
                     return FALSE;
                 }
             }
         }
         //Suspendavimo kampanija
         if ($campaignType == 0) {
             $criteria = new AndStatement();
             $field = $this->clientDaol->getQPidName();
             $criteria->addStatement($field . "='" . addslashes($project->getId()) . "'");
             $field = $this->clientDaol->getQEmailName();
             $criteria->addStatement($field . "='" . addslashes($getResponse->getContact_email()) . "'");
             $field = $this->clientDaol->getQActiveName();
             $criteria->addStatement($field . "='1'");
             $clients = $this->clientDaol->find($criteria, NULL, 1000);
             if (is_null($clients)) {
                 $this->setParamPoz($getResponse->getId(), 2, "Nerastas klientas [1]");
                 return FALSE;
             } else {
                 if (is_string($clients)) {
                     $this->setParamPoz($getResponse->getId(), 2, "Nerastas klientas [2]");
                     return FALSE;
                 } else {
                     if (!is_array($clients)) {
                         $this->setParamPoz($getResponse->getId(), 2, "Nerastas klientas [3]");
                         return FALSE;
                     } else {
                         if (count($clients) == 0) {
                             $this->setParamPoz($getResponse->getId(), 2, "Nerastas klientas [4]");
                             return FALSE;
                         }
                     }
                 }
             }
             var_dump($clients);
             $client = reset($clients);
             if (!$client->isActive()) {
                 $this->setParamPoz($getResponse->getId(), 2, "Klientas jau suspenduotas");
                 return FALSE;
             }
             if ($client->isEnded()) {
                 $this->setParamPoz($getResponse->getId(), 2, "Klientas jau pabaigtas");
                 return FALSE;
             }
             $client->setActive(FALSE);
             $this->saveEventHistory($client, "Atsisakyta per GetResponse sistemą");
         }
         //Pabaigos kampanija
         if ($campaignType == 3) {
             $criteria = new AndStatement();
             $field = $this->clientDaol->getQPidName();
             $criteria->addStatement($field . "='" . addslashes($project->getId()) . "'");
             $field = $this->clientDaol->getQEmailName();
             $criteria->addStatement($field . "='" . addslashes($getResponse->getContact_email()) . "'");
             $field = $this->clientDaol->getQActiveName();
             $criteria->addStatement($field . "='1'");
             $clients = $this->clientDaol->find($criteria, NULL, 1000);
             if (is_null($clients)) {
                 $this->setParamPoz($getResponse->getId(), 2, "Nerastas klientas [1]");
                 return FALSE;
             } else {
                 if (is_string($clients)) {
                     $this->setParamPoz($getResponse->getId(), 2, "Nerastas klientas [2]");
                     return FALSE;
                 } else {
                     if (!is_array($clients)) {
                         $this->setParamPoz($getResponse->getId(), 2, "Nerastas klientas [3]");
                         return FALSE;
                     } else {
                         if (count($clients) == 0) {
                             $this->setParamPoz($getResponse->getId(), 2, "Nerastas klientas [4]");
                             return FALSE;
                         }
                     }
                 }
             }
             var_dump($clients);
             $client = reset($clients);
             if ($client->isEnded()) {
                 $this->setParamPoz($getResponse->getId(), 2, "Klientas jau pabaigtas");
                 return FALSE;
             }
             $client->setEnded(TRUE);
             $this->saveEventHistory($client, "Pabaigtas GetResponse sistemos");
         }
         $timeZone = new DateTimeZone("Europe/Vilnius");
         $time = new DateTime("now", $timeZone);
         $client->setR_date($time->format("Y-m-d H:i:s"));
         $client->setR_user(9999);
         $store = $this->storeClient($client, $getResponse);
         if (!$store) {
             return FALSE;
         }
         if ($newClient) {
             $this->saveEventHistory($client, "Sukurtas GetResponse sistemos");
         }
         $this->setParamPoz($getResponse->getId(), 1);
     }
     return true;
 }
 function find($criteria = null, $order = null, $limit = 1000, $from = 0)
 {
     $result = $this->database->query($this->buildFindQuery($criteria, $order, $limit, $from));
     if (!is_null($result->getError())) {
         return $result->getError();
     }
     $getresponses = array();
     while ($row = $result->fetchRow()) {
         $getresponse = new Getresponse();
         $value = $row[0];
         $getresponse->setId($value);
         $value = $row[1];
         $getresponse->setContact_id($value);
         $value = $row[2];
         $getresponse->setAccount_id($value);
         $value = $row[3];
         $getresponse->setAccount_login($value);
         $value = $row[4];
         $getresponse->setContact_name($value);
         $value = $row[5];
         $getresponse->setCampaign_name($value);
         $value = $row[6];
         $getresponse->setContact_ip($value);
         $value = $row[7];
         $getresponse->setCampaign_id($value);
         $value = $row[8];
         $getresponse->setContact_email($value);
         $value = $row[9];
         $getresponse->setContact_origin($value);
         $value = $row[10];
         $getresponse->setAction($value);
         $value = $row[11];
         $getresponse->setA_date($value);
         $value = $row[12];
         $getresponse->setPoz($value);
         $value = $row[13];
         $getresponse->setError($value);
         if ($order != null) {
             array_push($getresponses, $getresponse);
         } else {
             $getresponses[$getresponse->getId()] = $getresponse;
         }
     }
     return $getresponses;
 }