function execute($process, $event) { $parameters = $process->attribute('parameter_list'); $co = eZContentObject::fetch($parameters['object_id']); $parent = eZContentObjectTreeNode::fetch($co->attribute('main_parent_node_id')); $parentco = $parent->attribute('object'); $newslettertype = eZPersistentObject::fetchObject(eZNewsletterType::definition(), null, array('article_pool_object_id' => $parentco->attribute('id'), 'status' => eZNewsletterType_StatusPublished)); $list = eZNewsletter::fetchByContentObject($parameters['object_id']); if (empty($list) and is_object($newslettertype)) { $newsletter = eZNewsletter::create($co->attribute('name'), $co->attribute('owner_id'), $newslettertype->attribute('id')); $newsletter->setAttribute('contentobject_id', $parameters['object_id']); $newsletter->setAttribute('template_to_use', 'mobotixnewsletter'); $newsletter->setAttribute('contentobject_version', $parameters['version']); $newsletter->store(); $newsletter->publish(); } return eZWorkflowType::STATUS_ACCEPTED; }
function fetchNewsletterByObject($contentObjectID, $contentObjectVersion, $published = false) { if (!$published) { $newsletter = eZNewsletter::fetchByContentObject($contentObjectID, $contentObjectVersion, eZNewsletter::StatusDraft); } else { $newsletter = eZNewsletter::fetchByContentObject($contentObjectID, $contentObjectVersion, eZNewsletter::StatusPublished); } if (!$newsletter) { $newsletter = eZNewsletter::fetchByContentObject($contentObjectID, $contentObjectVersion, eZNewsletter::StatusPublished); if ($newsletter) { $newsletter->setAttribute('status', eZNewsletter::StatusDraft); $newsletter->store(); } } if (!$newsletter) { if (!$newsletter) { $newsletter = eZNewsletter::fetchByContentObject($contentObjectID, $contentObjectVersion - 1, false); } if (!$newsletter) { $newsletter = eZNewsletter::fetchByContentObject($contentObjectID, false, false); } if ($newsletter) { $newsletter->setAttribute('contentobject_version', $contentObjectVersion); $newsletter->setAttribute('status', eZNewsletter::StatusDraft); $newsletter->store(); } } return array('result' => $newsletter); }
$cli->output('Found ' . count($newsletterArray) . ' recurring newsletter.'); foreach ($newsletterArray as $newsletter) { // 1.0 check if constraint is fullfilled, skip if not if (false === $recurrence->checkRecurrenceCondition($newsletter) || in_array('--force-condition', $_SERVER['argv'])) { $cli->output('Condition "' . $newsletter->attribute('recurrence_condition') . '" for newsletter "' . $newsletter->attribute('name') . '" [id:' . $newsletter->attribute('id') . '] was not fulfilled. Skipping.'); continue; } $cli->output(''); $cli->output('Archiving newsletter: ' . $newsletter->attribute('id') . ' ' . $newsletter->attribute('name')); //1.1 copy newsletter and contentobject $newObject = $newsletter->copy(); $oldObject = eZContentObject::fetch($newsletter->attribute('contentobject_id')); $cli->output('Publishing new object...'); // publish the newly created object eZOperationHandler::execute('content', 'publish', array('object_id' => $newObject->attribute('id'), 'version' => $newObject->attribute('current_version'))); $newNewsletter = eZNewsletter::fetchByContentObject($newObject->attribute('id'), $newObject->attribute('current_version'), eZNewsletter::StatusPublished, true); if ($newNewsletter) { $cli->output('Copied newsletter: ' . $newsletter->attribute('id') . ' to ' . $newNewsletter->attribute('id') . ' ' . $newsletter->attribute('name')); //1.2 remove recurrency of old one $newsletter->setAttribute('recurrence_type', ''); $newsletter->setAttribute('recurrence_value', ''); //1.3 set status of new to None for sending $newNewsletter->setAttribute('send_status', eZNewsletter::SendStatusNone); //1.4 set send date for new recurrence $oldDate = $newNewsletter->attribute('send_date'); //echo date("YmdGHjs", $olddate); $date = mktime($newNewsletter->attribute('send_hour'), $newNewsletter->attribute('send_minute'), $newNewsletter->attribute('send_second'), $newNewsletter->attribute('send_month'), $newNewsletter->attribute('send_day'), $newNewsletter->attribute('send_year')); if ($newNewsletter->attribute('recurrence_type') == 'd') { echo "daily value: " . $newNewsletter->attribute('recurrence_value') . "\n"; //get next senddate $date = getNextSendDateDaily($newNewsletter);
// The "eZ publish professional licence" version 2 is available at // http://ez.no/ez_publish/licences/professional/ and in the file // PROFESSIONAL_LICENCE included in the packaging of this file. // For pricing of this licence please contact us via e-mail to licence@ez.no. // Further contact information is available at http://ez.no/company/contact/. // // The "GNU General Public License" (GPL) is available at // http://www.gnu.org/copyleft/gpl.html. // // Contact licence@ez.no if any conditions of this licencing isn't clear to // you. // $ObjectID = $Params['ObjectID']; $ObjectVersion = $Params['ObjectVersion']; $object = eZContentObjectVersion::fetchVersion($ObjectVersion, $ObjectID); $newsletter = eZNewsletter::fetchByContentObject($ObjectID, $ObjectVersion, false, true); $tpl = eZNewsletterTemplateWrapper::templateInit(); $tpl->setVariable('object', $object); $tpl->setVariable('contentobject', $object); $tpl->setVariable('newsletter', $newsletter); if (!$newsletter) { return false; } //skin selection $skin_prefix = 'eznewsletter'; $custom_skin = $newsletter->attribute('design_to_use'); $Result = array(); if ($custom_skin) { $skin_prefix = $custom_skin; } $template = 'design:' . $skin_prefix . '/sendout/html.tpl';
// For pricing of this licence please contact us via e-mail to licence@ez.no. // Further contact information is available at http://ez.no/company/contact/. // // The "GNU General Public License" (GPL) is available at // http://www.gnu.org/copyleft/gpl.html. // // Contact licence@ez.no if any conditions of this licencing isn't clear to // you. // $Module = $Params['Module']; $http = eZHTTPTool::instance(); $ObjectID = $Params['ObjectID']; $ObjectVersion = $Params['ObjectVersion']; $contentObject = eZContentObjectVersion::fetchVersion($ObjectVersion, $ObjectID); if (is_object($contentObject)) { $newsletter = eZNewsletter::fetchByContentObject($contentObject->attribute('id'), $contentObject->attribute('version'), false); if ($http->hasPostVariable('BackButton')) { $http->setSessionVariable('RedirectIfDiscarded', $http->postVariable('RedirectAfterDiscard')); //return $Module->redirectTo( 'content/edit/' . $contentObject->attribute( 'id' ) . '/' . $contentObject->attribute( 'current_version' ) ); return $Module->redirectTo('content/edit/' . $contentObject->attribute('id') . '/' . $contentObject->attribute('current_version') . '/' . $contentObject->attribute('current_language')); } $tpl = eZNewsletterTemplateWrapper::templateInit(); $tpl->setVariable('object', $contentObject); $tpl->setVariable('newsletter', $newsletter); $Result = array(); $Result['content'] = $tpl->fetch('design:eznewsletter/newsletter_preview.tpl'); $Result['pagelayout'] = true; } else { $tpl = eZNewsletterTemplateWrapper::templateInit(); $Result = array(); $Result['content'] = $tpl->fetch('design:eznewsletter/newsletter_preview.tpl');
function publish($contentObjectID, $contentObjectVersion) { $newsletter = eZNewsletter::fetchByContentObject($contentObjectID, $contentObjectVersion, eZNewsletter::StatusDraft); if ($newsletter) { $newsletter->publish(); } }