/** * 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; }