Files
grzanieplus.pl/plugins/stNewsletterPlugin/lib/model/NewsletterMessage.php
2025-03-12 17:06:23 +01:00

188 lines
4.7 KiB
PHP

<?php
/**
* Subclass for representing a row from the 'st_newsletter_message' table.
*
* @package stNewsletterPlugin
* @subpackage libs
*/
class NewsletterMessage extends BaseNewsletterMessage
{
public function getUsers(Criteria $c)
{
$c = clone $c;
$this->addUserCriteria($c);
$c->addGroupByColumn(NewsletterUserPeer::ID);
return NewsletterUserPeer::doSelect($c);
}
public function countUsers(Criteria $c)
{
$c = clone $c;
$this->addUserCriteria($c);
return NewsletterUserPeer::doCount($c, true);
}
public function countGmailUsers(Criteria $c, $id)
{
$c = clone $c;
$this->addUserCriteria($c);
$c->addGroupByColumn(NewsletterUserPeer::ID);
$c->add(NewsletterUserPeer::ACTIVE, 1);
$c->add(NewsletterUserPeer::CONFIRM, 1);
$emails = NewsletterUserPeer::doSelect($c);
$i = 0;
foreach ($emails as $email) {
if (strpos($email->getEmail(),'gmail.com') !== false) {
$i++;
}
}
$newsletterMessage = NewsletterMessagePeer::retrieveByPK($id);
$newsletterMessage->setNumberSentGmail($i);
$newsletterMessage->save();
/*echo $i;
echo "<pre>";
print_r($emails);
echo "</pre>";*/
}
protected function addUserCriteria(Criteria $c)
{
$c->addJoin(NewsletterUserHasNewsletterGroupPeer::NEWSLETTER_USER_ID, NewsletterUserPeer::ID);
$c->addJoin(NewsletterUserHasNewsletterGroupPeer::NEWSLETTER_GROUP_ID, NewsletterMessageHasNewsletterGroupPeer::NEWSLETTER_GROUP_ID);
$c->add(NewsletterMessageHasNewsletterGroupPeer::NEWSLETTER_MESSAGE_ID, $this->getId());
$c->add(NewsletterUserPeer::ACTIVE, true);
$c->add(NewsletterUserPeer::CONFIRM, true);
}
public function getSubject()
{
if ($this->getCulture() == stLanguage::getOptLanguage()) {
return stLanguage::getDefaultValue($this, __METHOD__);
}
$v = parent::getSubject();
if (is_null($v)) {
$v = stLanguage::getDefaultValue($this, __METHOD__);
}
return $v;
}
/**
* Przeciążenie setName
*
* @param string
*/
public function setSubject($v)
{
if ($this->getCulture() == stLanguage::getOptLanguage()) {
stLanguage::setDefaultValue($this, __METHOD__, $v);
}
parent::setSubject($v);
}
public function getContent()
{
if ($this->getCulture() == stLanguage::getOptLanguage()) {
return stLanguage::getDefaultValue($this, __METHOD__);
}
$v = parent::getContent();
if (is_null($v))
$v = stLanguage::getDefaultValue($this, __METHOD__);
return $v;
}
public function setContent($v)
{
if ($this->getCulture() == stLanguage::getOptLanguage()) {
stLanguage::setDefaultValue($this, __METHOD__, $v);
}
parent::setContent($v);
}
public function getCtaDescriptionHead()
{
if ($this->getCulture() == stLanguage::getOptLanguage()) {
return stLanguage::getDefaultValue($this, __METHOD__);
}
$v = parent::getContent();
if (is_null($v))
$v = stLanguage::getDefaultValue($this, __METHOD__);
return $v;
}
public function setCtaDescriptionHead($v)
{
if ($this->getCulture() == stLanguage::getOptLanguage()) {
stLanguage::setDefaultValue($this, __METHOD__, $v);
}
parent::setCtaDescriptionHead($v);
}
public function getCtaDescriptionFoot()
{
if ($this->getCulture() == stLanguage::getOptLanguage()) {
return stLanguage::getDefaultValue($this, __METHOD__);
}
$v = parent::getContent();
if (is_null($v))
$v = stLanguage::getDefaultValue($this, __METHOD__);
return $v;
}
public function setCtaDescriptionFoot($v)
{
if ($this->getCulture() == stLanguage::getOptLanguage()) {
stLanguage::setDefaultValue($this, __METHOD__, $v);
}
parent::setCtaDescriptionFoot($v);
}
public function getCtaButtonName()
{
if ($this->getCulture() == stLanguage::getOptLanguage()) {
return stLanguage::getDefaultValue($this, __METHOD__);
}
$v = parent::getContent();
if (is_null($v))
$v = stLanguage::getDefaultValue($this, __METHOD__);
return $v;
}
public function setCtaButtonName($v)
{
if ($this->getCulture() == stLanguage::getOptLanguage()) {
stLanguage::setDefaultValue($this, __METHOD__, $v);
}
parent::setCtaButtonName($v);
}
}