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);
Пример #4
0
// 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';
Пример #5
0
// 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();
     }
 }