/**
  * Create new CjwNewsletterSubscription object
  *
  * @param integer $listContentObjectId
  * @param integer $newsletterUserId
  * @param array $outputFormatArray
  * @param unknown_type $status
  * @return object
  */
 static function create($listContentObjectId, $newsletterUserId, $outputFormatArray, $status = CjwNewsletterSubscription::STATUS_PENDING, $context = 'default')
 {
     $rows = array('created' => time(), 'list_contentobject_id' => $listContentObjectId, 'newsletter_user_id' => $newsletterUserId, 'output_format_array_string' => CjwNewsletterSubscription::arrayToString($outputFormatArray), 'creator_contentobject_id' => eZUser::currentUserID(), 'hash' => CjwNewsletterUtils::generateUniqueMd5Hash($newsletterUserId), 'remote_id' => 'cjwnl:' . $context . ':' . CjwNewsletterUtils::generateUniqueMd5Hash($newsletterUserId), 'status' => 0);
     $object = new CjwNewsletterSubscription($rows);
     // set status again so automatic status change is working
     $object->setAttribute('status', $status);
     return $object;
 }