Hey Beat,
The object was moscomprofilerUser and the field names that were being asked for were firstname, lastname, and username. I wasn't asking for them, the importer was, and it was dying with a fatal error because moscomprofilerUser doesn't have a get() method.
We have many thousands users and so I'm using this format:
This text file is multiple lines (one line per user) comma-separated list with following format: userid,planid,statusSingleChar,SubscriptionDateISO.
Status: A = Active, X = Expired, C= Unsubscribed/Cancelled.
Example: 63,1,A,2009-01-01 00:00:00
Everything entered is correct. I'm literally taking the example line and replacing it with a valid user, a valid plan, and a time period within the plan's length (1 year subscription starting 2011-01-01 00:00:00) and the subscription is imported and immediately expired. The importer says Success and that the plan is active, but a check of the database reveals that it was expired. There are no other subscriptions -at all- the _cbsubs_subscriptions table is empty and only this one line is being imported.
The only way to keep the subscription from expiring is to put the starting date some time in the future.
Originally, I wrote a db import script that I just plugged directly into the _cbsubs_subscriptions table however users that were expired did not have their groups re-assigned when they renewed their subscription.
Any idea what would cause this?