*/ /** * Klasa stPartnerFrontendActions. * * @package stPartnerPlugin * @subpackage actions */ class stPartnerBackendActions extends autoStPartnerBackendActions { public function executeAjaxValidateUrl() { $b = new sfWebBrowser(array(), 'sfFopenAdapter'); $incorrecturl = $this->getContext()->getI18N()->__('Podany adres url nie istnieje.'); $correcturl = $this->getContext()->getI18N()->__('Podany adres url strony jest poprawny.'); try { @$content = $b->get($this->getRequestParameter('url')); } catch(Exception $e) { return $this->renderText(''.$incorrecturl.''); } return $this->renderText($content->getResponseCode() != 200 ? ''.$incorrecturl.'' : ''.$correcturl.''); } public function executeCreateEdit() { $this->forward_parameters = $this->getUser()->getAttributeHolder()->getAll('sf_admin/autoStPartnerBackend/create_forward_parameters'); $this->partner = $this->getCreatePartnerOrCreate(); if ($this->getRequest()->getMethod() == sfRequest::POST) { $this->updateCreatePartnerFromRequest(); $this->saveCreatePartner($this->partner); $hash = md5($this->partner->getId()); $partnerHash = new PartnerHash(); $partnerHash->setPartnerId($this->partner->getId()); $partnerHash->setHash($hash); $partnerHash->save(); if (!$this->hasFlash('notice')) { $this->setFlash('notice', 'Twoje zmiany zostały zapisane'); } if ($this->getRequestParameter('save_and_add')) { return $this->redirect('stPartnerBackend/createCreate'); } else if ($this->getRequestParameter('save_and_list')) { return $this->redirect('stPartnerBackend/createList'); } else { return $this->redirect('stPartnerBackend/edit?id='.$this->partner->getId()); } } else { $this->labels = $this->getCreateLabels(); } } public function executeOrderList() { parent::executeOrderList(); $this->pager->getCriteria()->add(OrderPeer::PARTNER_ID, $this->forward_parameters['partner_id']); $this->pager->getCriteria()->add(OrderPeer::PARTNER_ID, $this->forward_parameters['partner_id']); $this->pager->getCriteria()->addJoin(OrderStatusPeer::ID, OrderPeer::ORDER_STATUS_ID); $this->pager->getCriteria()->add(OrderStatusPeer::TYPE, 'ST_COMPLETE'); $this->pager->init(); } public function executeUpdateConfirm() { $partner_id = $this->getRequestParameter('id'); $c = new Criteria(); $c->add(PartnerPeer::ID, $partner_id); $partnerData = PartnerPeer::doSelectOne($c); $partnerData->setIsConfirm(1); $partnerData->save(); $this->sendConfirmPartnerMail($partnerData); return $this->redirect('stPartnerBackend/edit?id='.$partnerData->getId()); } public function executeCreateAccount() { $user_id = $this->getRequestParameter('user_id'); $partnerData = new Partner(); $partnerData->setSfGuardUserId($user_id); $c = new Criteria(); $c->add(UserDataPeer::SF_GUARD_USER_ID, $user_id); $c->add(UserDataPeer::IS_DEFAULT , 1); $c->add(UserDataPeer::IS_BILLING , 1); if ($userDataBillingDefault = UserDataPeer::doSelectOne($c)) { $partnerData->setCompany($userDataBillingDefault->getCompany()); $partnerData->setName($userDataBillingDefault->getName()); $partnerData->setSurname($userDataBillingDefault->getSurname()); $partnerData->setStreet($userDataBillingDefault->getStreet()); $partnerData->setHouse($userDataBillingDefault->getHouse()); $partnerData->setFlat($userDataBillingDefault->getFlat()); $partnerData->setCode($userDataBillingDefault->getCode()); $partnerData->setTown($userDataBillingDefault->getTown()); $partnerData->setCountries($userDataBillingDefault->getCountries()); $partnerData->setPhone($userDataBillingDefault->getPhone()); $partnerData->setVatNumber($userDataBillingDefault->getVatNumber()); } $partnerData->setIsActive(1); $partnerData->setIsConfirm(0); $partnerData->save(); $hash = md5($user_id); $partnerHash = new PartnerHash(); $partnerHash->setPartnerId($partnerData->getId()); $partnerHash->setHash($hash); $partnerHash->save(); return $this->redirect('stPartnerBackend/edit?id='.$partnerData->getId()); } public function executeSaveConfigContent() { if ($this->getRequest()->getMethod() == sfRequest::POST) { $updateConfig = $this->getRequestParameter('config'); $this->config = stConfig::getInstance($this->getContext(), 'stPartnerBackend'); $this->config->load(); if(isset($updateConfig['is_active'])){ $this->config->set('is_active',$updateConfig['is_active']); } else { $this->config->set('is_active',0); } if(isset($updateConfig['cookie_day_expire'])){ $this->config->set('cookie_day_expire',$updateConfig['cookie_day_expire']); } $this->config->save(); $this->redirect('stPartnerBackend/configCustom'); $this->setFlash('notice', 'Twoje zmiany zostały zapisane'); } } /** * Obsługuje wysyłanie mail'i */ function sendConfirmPartnerMail($partnerData) { $mail_error = $this->MailWithConfirmPartnerToUser($partnerData); return $mail_error; } /** * Wysyła mail z prośbą o autoryzajcę */ function mailWithConfirmPartnerToUser($partnerData) { $c = new Criteria(); $c->add(sfGuardUserPeer::ID, $partnerData->getSfGuardUserId()); $user = sfGuardUserPeer::doSelectOne($c); $mailHtmlHead = stMailer::getHtmlMailDescription("header"); $mailHtmlFoot = stMailer::getHtmlMailDescription("footer"); $mailHtmlHeadContent = stMailer::getHtmlMailDescription("top_partner_confirm"); $mailHtmlFootContent = stMailer::getHtmlMailDescription("bottom_partner_confirm"); $sendConfirmPartnerMailToUserHtmlMailMessage = stMailTemplate::render('sendConfirmPartnerMailToUserHtml', array( 'user' => $user, 'head' => $mailHtmlHead, 'foot' => $mailHtmlFoot, 'partnerData' => $partnerData, 'head_content' => $mailHtmlHeadContent, 'foot_content' => $mailHtmlFootContent, )); //$sendConfirmPartnerMailToUserPlainMailMessage = stMailTemplate::render('sendConfirmPartnerMailToUserPlain'); $mail = stMailer::getInstance(); $verified_account = $this->getContext()->getI18N()->__('Zweryfikowano konto partnerskie.'); return $mail->setSubject($this->getRequest()->getHost() . ' - ' . $verified_account)->setHtmlMessage($sendConfirmPartnerMailToUserHtmlMailMessage)->setTo($user->getUsername())->sendToClient(); } }