Forums

CB Subs and Chronoforms

daemonhunt 20 Jul, 2009
Hi, not sure but I may be the first to ask about this: integration with CB SUBS.

I have a custom multi-page chronoform set up to handle Community Builder registration to my client's site, but now they have requested 2 different registration types - Teachers (Free Lifetime) and Coaches (Annual Subscription) using the same form, but will have different content access permissions (CB Subs seems to handle content/menu access permissions beautifully).

So I have downloaded a 500-seat license for CB Subs from the Community Builder website and have set everything up in that to enable it to handle the subscriptions. I have a "Teachers" subscription plan and a "Coaches" plan.

My question is: has anyone had experience with passing form information (such as name and address details) from Chronoforms back to a CB form, wherein I propose that the person registering then chooses their subscription plan and finishes the payment process via the CB Subs API?

Or alternatively, is there a way to manage the whole CB subs sign-up all within Chronoforms?


The reason I started using Chronoforms in the beginning was the relative ease with which one can create a better designed form. The form is quite long and moderately complex, and so Chronoforms was the recommended solution to build this... but the problem now seems to be CB Subs integration!

Any help would be much appreciated. I have 30 days left to get a refund on CB Subs if it is not the way forward.
:wink:
Thanks
GreyHead 20 Jul, 2009
Hi daemonhunt,

Sorry, no experience at all with CB Subs, I'd never heard about it until your post so I guess that it hasn't been mentioned by anyone else here.

It can probably be made to work with ChronoForms but the CB processes aren't always very straightforward to work with because of the way they structure optional elements using tables to structure tables.

Bob
daemonhunt 21 Jul, 2009

Hi daemonhunt,

Sorry, no experience at all with CB Subs, I'd never heard about it until your post so I guess that it hasn't been mentioned by anyone else here.

It can probably be made to work with ChronoForms but the CB processes aren't always very straightforward to work with because of the way they structure optional elements using tables to structure tables.

Bob



Ahhh... that's quite sad. I have been finding this subscriptions and custom forms thing very difficult to do with Joomla. Have spent hundreds of dollars on 3rd party components and weeks customising them, always to get near the end and find I can't do what I want. Oh well, guess I gotta carry on :-) Thanks anyway.

If there is anyone out there who has any idea where to start customising the design of a Community Builder form, then please msg me.

Cheers
daemonhunt 27 Jul, 2009
Okay, I'm going to try again. I have looked into this some more and have successfully got CBSubs AND my Chronoforms working.

CBSubs is a plugin for Community Builder, though the only difference is that it handles time-based paid subscriptions.

Using the CB Plugin for Chronoforms, I can pass data from a complex multi-page form into CB, but all I need to do is pass this information on to the CBSubs plugin instead.... even if I could somehow modify the CB Plugin itself and duplicate it to create one that submits it to the CB Subs plugin? The architecture is very similar, but I am not expert on these things.

Is it possible for me to communicate with the creator of the CB plugin for Chronoforms? He/she would most likely be able to help me do this. I have people from CB telling me they aren't familiar with Chronoforms, and Chronoforms people telling me they aren't familiar with CBSubs... Is there anyone who is familiar with CB and Chronoforms who can help me?

Thanks in advance
GreyHead 27 Jul, 2009
Hi daemonhunt,

Max wrote the Plugin - I think that it was for a client quite a long time ago.

As far as I know, apart from the odd small project neither of us have used CB, I'm certainly not at all familiar with it.

Bob
peers 27 Jul, 2009
also looking for solution to this. looks like the database table is jos_cbsubs_subscriptions for assigning the userid to a subscription plan. there is a box for onsubmit code in the cb reg plugin. there are other tables but in my case the form is for assigning this particular user to a free subscription, so i can use cbsubs restricted content functionality.

same boat as you in terms of having purchased hundreds of pounds worth of joomla stuff, so many obstacles over past six months and having to rethink stuff all the time
daemonhunt 27 Jul, 2009

also looking for solution to this. looks like the database table is jos_cbsubs_subscriptions..



Yep, I'm furiously hunting down a solution at the moment. Trying to modify the Chronoforms CB Plugin to populate the value of a CBSubs checkbox along with all the user detail now. I'll post up how I go.

My guess is that Max and Bob are gonna get a lot more of these requests for integration with CBSubs over time. It's a brilliant plugin for CB (and expensive)!
peers 27 Jul, 2009
edited previous reply
daemonhunt 28 Jul, 2009
You know, I only started using Chronoforms for the flexibilty and control one has over the layout/design of complex forms.... no other reason. CB's in-built styling is terrible - even if you muck around with its new so-called customisation capabilities... especially bad for long, complex forms... no multipage, no selective styling down to the field/cell/div level.

I've got to stop moaning... :-)

Okay, here is a screenshot of my database with the particular CBSubs table under scrutiny here. I am absolute crap at this kind of stuff. Perhaps Max could help if he's not too busy?

You'll notice that plan_id is circled in red. This is the primary value that CBSubs uses to select the subs plan that a user is subscribing to.



I attempted to modify the cf_cb_registration plugin to include an extra database lookup for #__cbsubs_subscriptions and then create additional "foreach($fields as $field){ $fieldname = $field->name;" under the exisiting CB comprofiler_fields for this, but I failed miserably. I'm not really expert at php/database work at all, though I understand the very basic concepts.

My thoughts are, do I have to add a whole additional row to the table to just include the plan_id value?



or alternatively, instead of a whole row, I am wondering is it just the value for plan_id I need to submit and then the plugin poplulates the entire row itself on submit via CB?

Client just rang to see how his new membership subscription form is working out. I told him I'm nearly there. In New Zealand, we call this "Pushing s**t up-hill".
GreyHead 28 Jul, 2009
Hi daemonhunt,

Looks like you'll need to add a row to that table with at least the id, status, user_id and plan_id having good values . . . and keep your fingers crossed that default values work for the rest.

Bob
daemonhunt 28 Jul, 2009

Hi daemonhunt,

Looks like you'll need to add a row to that table with at least the id, status, user_id and plan_id having good values . . . and keep your fingers crossed that default values work for the rest.

Bob



Thanks Bob,

I wish I knew how to do that. Like I have intimated, I'm out of my depth now ๐Ÿ˜Ÿ I guess I just sit and wait and see if there is an expert out there who can/wants to post a mod for the cf_cb plugin to enable me (and others) to do this.
GreyHead 28 Jul, 2009
Hi daemonhunt,

Unfortunately it's pretty hard to test. I just took a look at the app (a) it's $100 and (b) it's ioncube encoded so you can't see the raw PHP to work out what it is doing :-(

Bob
daemonhunt 28 Jul, 2009

Hi daemonhunt,

Unfortunately it's pretty hard to test. I just took a look at the app (a) it's $100 and (b) it's ioncube encoded so you can't see the raw PHP to work out what it is doing๐Ÿ˜Ÿ

Bob



Exactly, Bob! It's expensive and encoded, and thus my despair. It is a shame you guys (CB and Chronoforms) can't do a deal together to have open access to each other's stuff because Chronoforms augments CB in a way nothing else does.

The irony is I have paid for the cheaper Chronoforms and a 500-seat license for CB Subs to date. You have just reached the ioncube limitation of CB Subs, and I thank you because you are obviously trying, but I am yet to see if they come to the party... CBSubs lead me to believe (before I pulled my credit card out) that they will custom encode payment gateways upon request, but in this particular customer-driven request I am still waiting for them to see what they are willing to do, as the requests for this integration will certainly grow.

I have a forum going over at CB also which refers to my thread here:

http://www.joomlapolis.com/component/option,com_joomlaboard/Itemid,38/func,view/catid,88/id,106160/

I am cross-posting both threads for help, and am not going to give up easily. I simply refuse to use ugly, ungainly CB forms for my client's website!

Thanks Again Bob!
peers 29 Jul, 2009
have db writes working into sobi2 tables using onsubmit after email block of the form code,

the cb plugin is working great, but when i put the following code into the cb plugin-onsubmit after block, nothing goes into the table im trying to write to. anyone any ideas?

<?php 
$MyForm =& CFChronoForm::getInstance();
$MyPlugins =& CFPlugins::getInstance($MyForm->formrow->id);
$userid = $MyPlugins->cf_cb_registration['user']->id;
$dt = date("Y-m-d")." - ".date("H:i:s");
$expdt = date('Y-m-d', strtotime('+1 year'))." - ".date("H:i:s");
$ipa = $_SERVER["REMOTE_ADDR"];
$query = "INSERT INTO #__cbsubs_subscriptions 
  SET status = ".$db->quote('A').",  
	  user_id = ".$db->quote($userid).", 
	  plan_id = ".$db->quote('1').",
	  parent_plan = ".$db->quote('0').",
	  parent_subscription = ".$db->quote('0').", 
	  subscription_date = ".$db->quote($dt).",
	  last_renewed_date = ".$db->quote($dt).", 
	  expiry_date = ".$db->quote($expdt).", 
	  next_event_id = ".$db->quote('0').",
	  autorenew_type = ".$db->quote('2').", 
	  autorecurring_type = ".$db->quote('2').", 
	  regular_recurrings_total = ".$db->quote('0').", 
	  regular_recurrings_used = ".$db->quote('1').", 
	  previous_recurrings_used = ".$db->quote('0').",
	  previous_status = ".$db->quote('R').",
	  ip_addresses = ".$db->quote($ipa).", 
	  integrations = ".$db->quote($org).";";
$db->setQuery($query);
$db->query();
?>
peers 29 Jul, 2009
moved the code from the plugin-onsubmit after to the form code-onsubmit after, and it works. just need to tidy it up and confirm some of the table values from a user registered via cbsubs reg form, but for now im done.. nearly 3am here

although still tempted to keep cbsubs registration for a whole bunch of cbsubs 'workflow', and security reasons i dont even begin to understand. chronoforms has been a god send, but for cbsubs.. i might just stick with "you have to register first" rather than at the same time as submitting content to another component, which would just confuse everyone
GreyHead 29 Jul, 2009
Hi peers,

I don't think that the OnSubmit blocks work on the CB Registration plugin :-(

Bob

PS They do work for the Joomla Registration plugin which has been re-written in more recent releases.
This topic is locked and no more replies can be posted.