コード例 #1
0
 /**
  * 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;
 }
コード例 #2
0
 /**
  * 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;
 }
コード例 #3
0
 /**
  * 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;
     }
 }