static function create($subscriptionListID, $firstname = '', $name = '', $mobile = '', $email = '', $userID = false) { if (!isset($subscriptionListID)) { return false; } $rows = array('created' => time(), 'creator_id' => eZUser::currentUserID(), 'hash' => md5(mt_rand() . '-' . mt_rand()), 'mobile' => $mobile, 'email' => $email, 'subscriptionlist_id' => $subscriptionListID, 'status' => eZSubscription::VersionStatusDraft); if ($userID !== false) { $rows['user_id'] = $userID; } else { $userData = eZUserSubscriptionData::fetch($email); if (!$userData && $email) { eZUserSubscriptionData::create($firstname, $name, $mobile, $email); } } $subscription = new eZSubscription($rows); $subscription->store(); return $subscription; }