New community based form block
Permalink 1 user found helpfulThe idea is that anyone who wants to contribute to the block (and has some php and svn skills) will be able to do it.
I won't submit it to the marketplace just yet, cause I want to see how/if it evolves in the next few weeks.
Feel free to download it, test it and ask for svn access to commit your changes.
https://sourceforge.net/projects/c5formblock/...

Editing:
- Html Block integration for descriptions
- Add user to group option on approved submission
- Should work with external form block, if action points to it
- Char or number limitation for text fields
- Add tooltips
- Page selector
- User/Group Picker
- Discussion selector
- Date Picker
View:
- Inline validation
- Tooltips
- etc
A few ideas (we all have them, right?):
- table-less layout for flexible arrangement/styling
- wrap required labels with a class for styling
- add a "separator" data type so forms can be visually broken into chunks
Apologies if any of this is already implemented... I haven't loaded it up yet.
I look forward to following this project. Thanks again!
I thought about the separator. It will fit many people's needs.
This seems to be an annoying thing to do /-:
So far nobody except you have requested svn access to the repository, so I'm not too sure what will be the future of this block. I don't want to be the only developer working on it, and I don't want to play catch with the official form. The idea was to free the form development from Andrew and Tony's time contraints and allow everybody not only to have it's say, but actually write some code.
We'll see what happens... as I said before, I started this as an experiment...
I would like to contribute, so you can give me access to the repository.
"Fatal error: Cannot redeclare class FormBlockStatistics in [file path]/concrete/blocks/form/controller.php on line 405"
Any thoughts on how to troubleshoot? Looks like a conflict with the core forms block?
http://www.concrete5.org/marketplace/addons/extended-form/...
As far as I can tell it solves many (if not all) of the problems people were having with the standard form block.
I just used it on a site, and to me it's well worth the $25 it costs.
I had to remove the Community Form block directory form the Packages directory to get rid of the error listed on my previous post.
The Community Block tab still appears in the Dashboard, tho. It's blank.
We should have an announcement discussion group for such opportunities -- maybe with an rss feed? If so, I'll know about these right away, and will always respond if I'm interested in something like it!
Regardless, I'd like to join this venture if still active!
Thanks,
D.
I've been meaning to fix small but annoying bug for ages, but never find the time...
My SourceForge username:
evolvecs
Thanks!!
D.
Ill have a look tonight at the block, but some nice features suggested and it would be good to work on some of them. Concrete5 certainly needs more community interaction, in comparison to the bigger cms systems that is.
"Fatal error: Cannot redeclare class FormBlockStatistics in [file path]/concrete/blocks/form/controller.php on line 405"
So, is this dead or what?
Also, see this thread for another take on this form issue:
http://www.concrete5.org/community/forums/customizing_c5/updating_f...
(specifically, the comment "akiller replied on Nov 7, 2009 at 3:39 pm")
One day (when I actually have some time -- ugh) I hope to go through this and that other one's code and see which works best (or combine best features from both). Getting a github repo for this and also other free blocks that could be useful to a general audience would be great -- really help spur community development on C5.
PM me if you're interested in helping out.
-Jordan
Anyway, here's the link:http://sourceforge.net/projects/c5formblock/files/community_form.zi...
"Fatal error: Class 'MiniSurvey' not found in /home/test/packages/community_form/blocks/community_form/edit.php on line 4"
Changing references in community_form/blocks/community_form/edit.php from "MiniSurvey" to "CF_MiniSurvey" seemed to fix it.
Old Code
$miniSurvey=new Minisurvey($b); $miniSurveyInfo=$miniSurvey->getMiniSurveyBlockInfo( $b->getBlockID() ); MiniSurvey::questionCleanup( intval($miniSurveyInfo['questionSetId']), $b->getBlockID() );
Replace with this
$miniSurvey=new CF_Minisurvey($b); $miniSurveyInfo=$miniSurvey->getMiniSurveyBlockInfo( $b->getBlockID() ); CF_MiniSurvey::questionCleanup( intval($miniSurveyInfo['questionSetId']), $b->getBlockID() );
The main problem for me is time at the moment, 3 sites on the go I need a site that has a complex form to get me to sit down in front of this for a few hours.
There are some basics we can probably all (or most) agree on, and then about a billion possibilities after that... seems like the project could get crushed by trying to do too much. And the too many cooks issue...
For now if I need more advanced functionality I just go with the Extended Form block. It has its faults and the price keeps inching upward, but generally fits the needs I have and I haven't had any stability issues.
(I did see this a while back but I was mostly needing a template I could style easily, whereas this seemed to be about overriding the controllers).
-Jordan
http://www.concrete5.org/marketplace/addons/form-tableless-layout/...
(ideally all that crap at the top of the file would be in the controller, but most importantly the loadSurvey() function should return an array of data about each form field, but not the actual html that it is displayed in.
Also, the custom controllers should probably extend the built-in controller instead of just being a completely different one, then you only override the methods that you want to be different for you own implementation.
I would be happy to help with this, but probably don't have time for a while -- let me know if anyone else wants to tackle it and could use a little assistance.
-Jordan
Within the controller function (action_submit_form) I added around line 278 the following - this was added within the foreach($rows as $row) loop but not within a particular if statement
//If Blank Set a variable that we can check on $this->errorClass[$row['msqID']]=true;
Then Within the setting of variables section (around line 315)
$this->set('errorClass',$this->errorClass);
Then I have create a template which replaces the tables with dives and adds an error onto a row if the entry is missed,
The style sheet also alters the default msg box, to have a red background and border,
Each Question row that is required and missing is also highlighted red with a red border placed around the input.
This has not been check in any other browsers then Chrome so far.
I also noticed that the "sample_controller.php" needs its class call renaming to "SampleControllerExternalFormBlockController" instead of "TestFormExternalFormBlockController"
I am rather new to C5 but not to the MVC concept or php.
I am having some trouble installing the community_form block on one of my projects. Can any one help me out with some instructions?
http://www.concrete5.org/marketplace/addons/form-tableless-layout...
This solves the problem of letting you customize the "view" portion of the form block. It does not let you add new functionality to the controller (like this community form block supposedly does), so it may or may not be helpful to your situation.
Best of luck.
-Jordan
Thank you very much for this. Will definitely have a look and give it a go!
:)
- Jaco