/** * Create new CjwNewsletterEditionSend object * * @param CjwNewsletterEdition $editionObject * @return object */ static function create(CjwNewsletterEdition $editionObject) { $editionContentObjectId = $editionObject->attribute('contentobject_id'); $editionContentObjectVersion = $editionObject->attribute('contentobject_attribute_version'); $user = eZUser::currentUser(); $creatorId = $user->attribute('contentobject_id'); // $outputXml = '<xml>hali hallo</xml>'; $outputXml = $editionObject->createOutputXml(); $listAttributeContent = $editionObject->attribute('list_attribute_content'); $listContentObjectId = $listAttributeContent->attribute('contentobject_id'); $outputFormatArrayString = $listAttributeContent->attribute('output_format_array_string'); $mainSiteAccess = $listAttributeContent->attribute('main_siteaccess'); $emailSender = $listAttributeContent->attribute('email_sender'); $emailSenderName = $listAttributeContent->attribute('email_sender_name'); $personalizeContent = $listAttributeContent->attribute('personalize_content'); $rows = array('list_contentobject_id' => $listContentObjectId, 'edition_contentobject_id' => $editionContentObjectId, 'edition_contentobject_version' => $editionContentObjectVersion, 'siteaccess' => $mainSiteAccess, 'output_format_array_string' => $outputFormatArrayString, 'created' => time(), 'creator_id' => $creatorId, 'status' => CjwNewsletterEditionSend::STATUS_WAIT_FOR_PROCESS, 'output_xml' => $outputXml, 'hash' => CjwNewsletterUtils::generateUniqueMd5Hash($listContentObjectId . $editionContentObjectId . $editionContentObjectVersion), 'email_sender' => $emailSender, 'email_sender_name' => $emailSenderName, 'personalize_content' => $personalizeContent); $object = new CjwNewsletterEditionSend($rows); return $object; }
/** * Create new CjwNewsletterEditionSend object * * @param CjwNewsletterEdition $editionObject * @return object */ static function create(CjwNewsletterEdition $editionObject, $schedule = null) { $editionContentObjectId = $editionObject->attribute('contentobject_id'); $editionContentObjectVersion = $editionObject->attribute('contentobject_attribute_version'); $user = eZUser::currentUser(); $creatorId = $user->attribute('contentobject_id'); // $outputXml = '<xml>hali hallo</xml>'; $outputXml = $editionObject->createOutputXml(); $listAttributeContent = $editionObject->attribute('list_attribute_content'); $listContentObjectId = $listAttributeContent->attribute('contentobject_id'); $listContentObjectVersion = $listAttributeContent->attribute('contentobject_attribute_version'); $listIsVirtual = $listAttributeContent->attribute('is_virtual'); $outputFormatArrayString = $listAttributeContent->attribute('output_format_array_string'); $mainSiteAccess = $listAttributeContent->attribute('main_siteaccess'); $emailSender = $listAttributeContent->attribute('email_sender'); $emailSenderName = $listAttributeContent->attribute('email_sender_name'); $emailReplyTo = $listAttributeContent->attribute('email_reply_to'); $emailReturnPath = $listAttributeContent->attribute('email_return_path'); $personalizeContent = $listAttributeContent->attribute('personalize_content'); $rows = array('list_contentobject_id' => $listContentObjectId, 'list_contentobject_version' => $listContentObjectVersion, 'list_is_virtual' => $listIsVirtual, 'edition_contentobject_id' => $editionContentObjectId, 'edition_contentobject_version' => $editionContentObjectVersion, 'siteaccess' => $mainSiteAccess, 'output_format_array_string' => $outputFormatArrayString, 'created' => time(), 'creator_id' => $creatorId, 'status' => CjwNewsletterEditionSend::STATUS_WAIT_FOR_SCHEDULE, 'mailqueue_process_scheduled' => is_null($schedule) ? time() : $schedule, 'output_xml' => $outputXml, 'hash' => CjwNewsletterUtils::generateUniqueMd5Hash($listContentObjectId . $editionContentObjectId . $editionContentObjectVersion), 'email_sender' => $emailSender, 'email_sender_name' => $emailSenderName, 'email_reply_to' => $emailReplyTo, 'email_return_path' => $emailReturnPath, 'personalize_content' => $personalizeContent); $object = new CjwNewsletterEditionSend($rows); return $object; }
/** * Validates input on content object level * * * @see kernel/classes/eZDataType#validateObjectAttributeHTTPInput($http, $base, $objectAttribute) * @return EZ_INPUT_VALIDATOR_STATE */ function validateObjectAttributeHTTPInput($http, $base, $contentObjectAttribute) { $contentclassAttribute = $contentObjectAttribute->attribute('contentclass_attribute'); $inputValidationCheck = true; $validationErrorMesssageArray = array(); $prefix = $base . '_CjwNewsletterEdition_'; $postfix = '_' . $contentObjectAttribute->attribute('id'); // ContentObjectAttribute_CjwNewsletterEdition_MainSiteaccess_123 $postListData = array(); $postListData['status'] = $http->hasPostVariable($prefix . 'Status' . $postfix) ? (int) $http->postVariable($prefix . 'Status' . $postfix) : 0; $requireFieldArray = array('status'); foreach ($postListData as $varName => $varValue) { switch ($varName) { case 'status': /* if ( $postListData['email_receiver_test'] == '' or !eZMail::validate( $postListData['email_receiver_test'] ) ) { $validationErrorMesssageArray[] = ezi18n( 'cjw_newsletter/datatype/cjwnewsletteredition', "You have to set a valid email adress", null , array( ) ); } */ break; default: break; } } $object = new CjwNewsletterEdition(array('contentobject_attribute_id' => $contentObjectAttribute->attribute('id'), 'contentobject_attribute_version' => $contentObjectAttribute->attribute('version'), 'contentobject_id' => $contentObjectAttribute->attribute('contentobject_id'), 'contentclass_id' => $contentclassAttribute->attribute('contentclass_id'), 'status' => $postListData['status'])); $contentObjectAttribute->Content = $object; // if the current version != DRAFT, than abort, because a version can't has more than one status if ($object->attribute('is_process') || $object->attribute('is_abort') || $object->attribute('is_archive')) { $error = $contentObjectAttribute->setValidationError(ezi18n('cjw_newsletter/datatype/cjwnewsletteredition', "The current edition is already in sending process - you have to create a new copy of this object", null, array())); return eZInputValidator::STATE_INVALID; } if (count($validationErrorMesssageArray) > 0) { $inputValidationCheck = false; } if ($inputValidationCheck == true) { // 3.x/ return EZ_INPUT_VALIDATOR_STATE_ACCEPTED; return eZInputValidator::STATE_ACCEPTED; } else { $validationErrorMessage = implode('<br />', $validationErrorMesssageArray); $error = $contentObjectAttribute->setValidationError($validationErrorMessage); // 3.x/ return EZ_INPUT_VALIDATOR_STATE_INVALID; return eZInputValidator::STATE_INVALID; } }