Files
b2b.redline.com.pl/modules/newsletterpro/classes/NewsletterProTplHistory.php
2025-06-24 14:14:35 +02:00

117 lines
3.1 KiB
PHP

<?php
/**
* Since 2013 Ovidiu Cimpean.
*
* Ovidiu Cimpean - Newsletter Pro © All rights reserved.
*
* DISCLAIMER
*
* Do not edit, modify or copy this file.
* If you wish to customize it, contact us at addons4prestashop@gmail.com.
*
* @author Ovidiu Cimpean <addons4prestashop@gmail.com>
* @copyright Since 2013 Ovidiu Cimpean
* @license Do not edit, modify or copy this file
*
* @version Release: 4
*/
class NewsletterProTplHistory extends ObjectModel
{
public $token;
public $template_name;
public $active;
public $clicks;
public $opened;
public $unsubscribed;
public $fwd_unsubscribed;
public $template;
public static $definition = [
'table' => 'newsletter_pro_tpl_history',
'primary' => 'id_newsletter_pro_tpl_history',
'multilang' => true,
'fields' => [
'token' => ['type' => self::TYPE_STRING, 'validate' => 'isString'],
'template_name' => ['type' => self::TYPE_STRING, 'validate' => 'isString'],
'active' => ['type' => self::TYPE_INT, 'validate' => 'isInt'],
'clicks' => ['type' => self::TYPE_INT, 'validate' => 'isInt'],
'opened' => ['type' => self::TYPE_INT, 'validate' => 'isInt'],
'unsubscribed' => ['type' => self::TYPE_INT, 'validate' => 'isInt'],
'fwd_unsubscribed' => ['type' => self::TYPE_INT, 'validate' => 'isInt'],
/* Lang fields */
'template' => ['type' => self::TYPE_HTML, 'validate' => 'isString', 'lang' => true],
],
];
public function __construct($id = null, $id_lang = null)
{
return parent::__construct($id, $id_lang);
}
public static function newInstance($id = null, $id_lang = null)
{
return new self($id, $id_lang);
}
public static function newFromTemplate(NewsletterProTemplate $template)
{
$html = $template->html(NewsletterProTemplateContent::CONTENT_HTML, true);
$hisotry = self::newInstance();
foreach ($html as $id_lang => $content) {
$hisotry->template[$id_lang] = NewsletterProEmoji::convertToDec($content, true);
}
$hisotry->active = true;
$hisotry->token = Tools::encrypt(time().uniqid());
$hisotry->template_name = $template->name;
return $hisotry;
}
public static function getTemplateName($id)
{
return Db::getInstance()->getValue('
SELECT `template_name`
FROM `'._DB_PREFIX_.'newsletter_pro_tpl_history`
WHERE `id_newsletter_pro_tpl_history` = '.(int) $id.'
');
}
public function getSendId()
{
if (!((int) $this->id)) {
return 0;
}
return (int) Db::getInstance()->getValue('
SELECT `id_newsletter_pro_send`
FROM `'._DB_PREFIX_.'newsletter_pro_send`
WHERE `id_newsletter_pro_tpl_history` = '.(int) $this->id.'
');
}
public function getTaskId()
{
if (!((int) $this->id)) {
return 0;
}
return (int) Db::getInstance()->getValue('
SELECT `id_newsletter_pro_task`
FROM `'._DB_PREFIX_.'newsletter_pro_task`
WHERE `id_newsletter_pro_tpl_history` = '.(int) $this->id.'
');
}
}