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; }
} catch (Exception $e) { eZDebug::writeError("Invalid XML input data.", 'view_newslettertype'); $input = ""; } } else { $input = $newsletterType->attribute($typeSource); } $attribute->setAttribute('data_text', $input); $attribute->store(); } } $contentObject->store(); } $nodeAssignment = eZNodeAssignment::create(array('contentobject_id' => $contentObject->attribute('id'), 'contentobject_version' => $contentObject->attribute('current_version'), 'parent_node' => $parentNode->attribute('node_id'), 'is_main' => 1)); $nodeAssignment->store(); $newsletter = eZNewsletter::create('New "' . $class->attribute('name') . '" newsletter.', $userID, $newsletterType->attribute('id')); $newsletter->setAttribute('contentobject_id', $contentObject->attribute('id')); $newsletter->setAttribute('contentobject_version', $contentObject->attribute('current_version')); $newsletter->setAttribute('design_to_use', strtok($newsletterType->attribute('allowed_designs'), ',')); $newsletter->store(); $db->commit(); return $Module->redirectTo('content/edit/' . $contentObject->attribute('id') . '/' . $contentObject->attribute('current_version')); } $userParameters = $Params['UserParameters']; $offset = isset($userParameters['offset']) ? $userParameters['offset'] : 0; $limitKey = isset($userParameters['limit']) ? $userParameters['limit'] : '1'; $limitList = array('1' => 10, '2' => 25, '3' => 50); $limit = $limitList[(string) $limitKey]; $viewParameters = array('offset' => $offset, 'limitkey' => isset($userParameters['limitkey']) ? $userParameters['limitkey'] : 1); $tpl = eZNewsletterTemplateWrapper::templateInit(); $tpl->setVariable('limit', $limit);
function copy($frontendcopy = false) { $userID = eZUser::currentUserID(); if (!$userID) { $userID = $this->attribute('creator_id'); } $newNewsletter = eZNewsletter::create($this->attribute('name'), $userID, $this->attribute('newslettertype_id')); $newNewsletter->setAttribute('output_format', $this->attribute('output_format')); $newNewsletter->setAttribute('design_to_use', $this->attribute('design_to_use')); $newNewsletter->setAttribute('send_date', $this->attribute('send_date')); $newNewsletter->setAttribute('newslettertype_id', $this->attribute('newslettertype_id')); $newNewsletter->setAttribute('category', $this->attribute('category')); $newNewsletter->setAttribute('pretext', $this->attribute('pretext')); $newNewsletter->setAttribute('posttext', $this->attribute('posttext')); $newNewsletter->setAttribute('object_relations', $this->attribute('object_relations')); $newNewsletter->setAttribute('preview_email', $this->attribute('preview_email')); $newNewsletter->setAttribute('recurrence_type', $this->attribute('recurrence_type')); $newNewsletter->setAttribute('recurrence_value', $this->attribute('recurrence_value')); $newNewsletter->setAttribute('creator_id', $this->attribute('creator_id')); $newNewsletter->setAttribute('status', eZNewsletter::StatusPublished); if ($frontendcopy == true) { $newNewsletter->setAttribute('send_status', eZNewsletter::SendStatusNone); $newNewsletter->setAttribute('status', eZNewsletter::StatusDraft); } else { $newNewsletter->setAttribute('send_status', $this->attribute('send_status')); } $objectID = $this->attribute('contentobject_id'); $objectVersion = $this->attribute('contentobject_version'); $object = eZContentObject::fetch($objectID); if (is_object($object)) { $newObject = $object->copy($objectVersion); $newNewsletter->setAttribute('contentobject_id', $newObject->attribute('id')); $newNewsletter->setAttribute('contentobject_version', $newObject->attribute('current_version')); $newNewsletter->store(); return $newObject; } }