*/
/**
* 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();
}
}