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

70 lines
2.0 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 NewsletterProApiSyncChimp extends NewsletterProApi
{
public function call()
{
$module = NewsletterProTools::module();
if (!isset($module->chimp)) {
throw new Exception('The chimp is not defined');
}
$chimp = &$module->chimp;
ignore_user_abort(true);
set_time_limit(0);
@ini_set('max_execution_time', '0');
if (!NewsletterProConfig::test('LAST_DATE_CHIMP_SYNC')) {
NewsletterProConfig::save('LAST_DATE_CHIMP_SYNC', date('Y-m-d H:i:s'));
}
$dbFrom = NewsletterProConfig::get('LAST_DATE_CHIMP_SYNC');
if (strtotime($dbFrom)) {
$from = $dbFrom;
} else {
$from = date('Y-m-d H:i:s');
NewsletterProConfig::save('LAST_DATE_CHIMP_SYNC', $from);
}
$to = date('Y-m-d', strtotime('+1 days'));
if ($chimp->ping()) {
NewsletterProConfig::save('LAST_DATE_CHIMP_SYNC', date('Y-m-d H:i:s'));
}
if (Tools::isSubmit('forceSync')) {
$from = '0000-00-00 00:00:00';
}
$sync = $chimp->syncLists($from, $to);
$module->context->smarty->assign($sync);
$module->context->smarty->assign([
'last_date_chimp_sync' => NewsletterProConfig::get('LAST_DATE_CHIMP_SYNC'),
'chimp_last_date_sync_orders' => NewsletterProConfig::get('CHIMP_LAST_DATE_SYNC_ORDERS'),
'subscription_active' => (bool) pqnp_config('SUBSCRIPTION_ACTIVE'),
]);
return $module->context->smarty->fetch(pqnp_template_path($module->dir_location.'views/templates/admin/sync_chimp.tpl'));
}
}