Hi there- We bought and installed the iSoft to aMember "Sync" plugin. We ran it. Running it had unexpected results. It left us in a bad state... HELP! Here is what we did... We had users on legacy products in aMember. We created a dummy tag in Infusion labeled "a_never-use". In aMember we assigned all these legacy products to the dummy tag. We created a new set of tags in Infusion to trigger new aMember products. In aMember we created a new set of products and assigned them to the new Infusion tags so there was a 1 to 1 agreement. We ran the script. Here's what running the script did... The script deactivated all the legacy products. All our users lost their access to our Joomla and phpBB3 installs that were associated with the legacy products. The script activated the appropriate new products. However, the script did NOT resync the plugins (like Joomla and phpBB). Even though, in the aMember admin panel, our users have the new products assigned... they do NOT have access to Joomla and phpBB3. I looked through the script code... I think here is the piece of code that adds new subscriptions. Can you tell me why it doesn't resync the plugins (liek Joomla and phpBB)? foreach($v as $gid){ if(!$user_have[$gid]){ $log[] = "Add payment for user $user[login] to product ".$ISGroupToProduct[$gid]; $payment_id = $db->add_waiting_payment($user[member_id], $ISGroupToProduct[$gid], 'free', '', date('Y-m-d'), '2012-12-31',array()); $db->finish_waiting_payment($payment_id, 'free', '', '',array()); } } Also, I think here is the piece of the IF statement that expires out the subscriptions. Can you clarify what the conditions are that should be met to run this? (I don't think the script was supposed to deactivate my legacy products if they were set to the "a_never-use" tag in Infusion.) if((($p[expire_date] >= $now) && ($p[begin_date]<=$now)) && ($ISProductToGroup[$p[product_id]]) && (!in_array($ISProductToGroup[$p[product_id]], (array)$ISContactGroupAssign[CONTACT][$user[isoft_id]]))){ // Expire this payment; $log[] = "Expire payment $p[payment_id] for user $user[login]"; $payment = $db->get_payment($p[payment_id]); $payment[expire_date] = date("Y-m-d", mktime(0,0,0,date("m"), date("d")-1, date("Y"))); $db->update_payment($payment[payment_id], $payment); } Thank you in advance.
Just an update... Alex contacted us. Told us that there was a bug in the plugin. He went into the plugin and made it so we could assign "no integration" in the aMember to isoft product config. With this new option... we did that for products we did not want to get affected by the "cron" sync. We re ran the "cron" sync. It never finished... it went into what seemed an infinite loop. It messed things up again. First, it assigned random products to people in aMember. Argh! Second, it messed up the secondary database sync... our permissions with our external plugins didn't match those of the aMember config. Argh! Alex suggested we run the "Rebuild Db" function from within the admin panel. We've run that script. It too has never finished... it went into what seemed an infinite loop as well. It's been running for over 38 hours. It hasn't helped with anything. I'm thinking that if either of these scripts actually ran from start to finish, we might be in better shape. Alex hasn't responded to us since... Wondering if anyone else has had similar experiences and what you did... Please share. Inquiring minds want to know badly.
Sorry for delay with this. Ticket was answered and plugin fixed. If there will be further issues with plugin you can contact me in Skype. I leave my Skype id in the ticket.