101
jegelstaff
Re: Editing Memberlist module and having search members find new inputs...

It wouldn't be too hard to modify the xoopsmember module to also integrate with the custom form you would create in Formulize. Since you're looking at a major hack anyway to get any sort of customization in there, I suggest you stick with using Formulize and Reg Codes, and build up some code in the xoopsmember module that works nicely with the custom profile form.

The way it would have to work would be something like this...

// in the area where the form is drawn, comment out the 
// unused fields, and add something like this:

// determine which form the "User Profile" is
$module_handler =& xoops_gethandler('module');
$formulizeModule =& $module_handler->getByDirname("formulize");
$formulizeConfig =& $config_handler->getConfigsByCat(0$formulizeModule->getVar('mid'));
$profileFormID $formulizeConfig['profileForm'];

// get a series of element objects from that form:

$groups $xoopsUser $xoopsUser->getGroups() : XOOPS_GROUP_ANONYMOUS;
$formulize_mgr =& xoops_getmodulehandler('elements''formulize');
$criteria = new CriteriaCompo();
$criteria->add(new Criteria('ele_display'1), 'OR');
foreach(
$groups as $thisgroup) {
  
$criteria->add(new Criteria('ele_display''%,'.$thisgroup.',%''LIKE'), 'OR');
}
$criteria->setSort('ele_order');
$criteria->setOrder('ASC');
$elements =& $formulize_mgr->getObjects2($criteria,$profileFormID);

// $elements is an array of element objects, one object per
// element in the custom profile form.
// Now simply loop through the elements and add a search box
// to the form for each one:

foreach($elements as $element) {
  
// put code here to add an HTML textbox to the search form
  // for each field that you want to search in the profile 
  // form.
  // You will need to somehow include the element ID number 
  // of each element so you can search that element later 
  // when you have received the search form submission.

  // example, print 'Search "[element caption]":' and then 
  // put in a textbox:

  
print 'Search "' $element->getVar('ele_caption') . '":';
  print 
'<input type="text" name="formulize_ele_' $element->getVar('ele_id') . '" />';

  
// Actually, since the xoopsmember search form is  
  // generated from a XOOPS form object, you couldn't do
  // direct HTML like above, you'd have to use that info to
  // create an element object to add to the XOOPS form 
  // object that is going to appear on the screen.

  // But the important part is that we assume we're getting
  // $_POST['formulize_ele_XX'] back from this form, where 
  // XX is the ID number of the element in the custom 
  // profile form that we need to search

}

// So on the receiving end, once a user has submitted a 
// search request, you will have to make sure that the 
// "formulize_ele_XX" submissions don't mess up the normal 
// search parameters.  That could be done by looping through
// $_POST right away and sticking all the Formulize-based
// search requests in a separate array:

$formulizeSearches = array();
foreach(
$_POST as $key=>$value) {
  if(
substr($key014) == "formulize_ele_")  {
    
$elementID substr($key14); // isolate the XX part
    
$formulizeSearches[$elementID] = $value;
    unset(
$_POST[$key]); // remove this from $_POST
  
}
}

// Then, you just need to search the profile form with the
// Formulize search data identified above, if any:

// if there actually are searches on the custom fields...
if(count($formulizeSearches) > 0) {

// include the Formulize data extraction layer:
include_once XOOPS_ROOT_PATH "/modules/formulize/include/extract.php";

// build a filter string compatible with the getData 
// function in the extraction layer:

$filterContents = array();
foreach(
$formulizeSearches as $elementID=>$searchTerm) {
  
$filterContents[] = $elementID "/**/" $searchTerm;
}
if(
count($filterContents) > 1) {
  
$filter implode("][" $filterContents);
} else {
  
$filter $filterContents[0];
}

// search the user profile form 
$userData getData(""$profileFormID$filter)

// $userData is now an array of results from the custom 
// profile field.  You will have to get a list of user IDs 
// that correspond to each found entry.

$foundUserID = array();
foreach(
$userData as $thisUser) {
  
$foundUserID[] = display($thisUser"uid");
}

// end of "if(count($formulizeSearches) > 0)"

// Now you just need to make sure that all the user IDs
// collected in $foundUserID are processed by the normal
// query to the user database table -- the one xoopsmembers
// already does based on the non-custom profile criteria.
// That way, data for these found users will appear on 
// screen just like normal.


Lots of text, but mostly comments. Exactly how it gets integrated into the xoopsmembers module, well, that's a bit more work, and why I just wrote this up here instead of actually hacking it into the module. But someone with fair PHP skills should be able to make it work (if we don't bother to do it ourselves first).

I hope this helps.

--Julian
Technical Architect - Freeform Solutions
Formulize - custom registration forms, ad hoc forms and reports



102
jegelstaff
Re: Register fields. hack?

Yes, that's right, the codes and the custom form go together in the Formulize+Reg Codes option. But you can allow users to register without a code, depending on the site configuration options you specify under System Admin->User Settings. Details are in the Reg Codes readme.

--Julian
Technical Architect - Freeform Solutions
Formulize - custom registration forms, ad hoc forms and reports



103
jegelstaff
Re: Article Module vs. Xpress (Wordpress for XOOPS)

Thanks for the info, that is very helpful! Client usability is key in this case, so we will focus on Article.

--Julian
Technical Architect - Freeform Solutions
Formulize - custom registration forms, ad hoc forms and reports



104
jegelstaff
Article Module vs. Xpress (Wordpress for XOOPS)

Hello,

Can someone help me out here? What are the key differences between Xpress and the Article module, both managed by phppp? Is Xpress the top choice if you just plain need a blog? And Article is intended for all other uses? I'm just trying to figure out why these somewhat similar modules are being so actively maintained, by the same person/team.

Of course, installing and checking out the modules would help. And I plan on doing that very shortly. But I thought I'd ask for comments here as well, to see what people have to say.

Thanks very much,

--Julian
Technical Architect - Freeform Solutions
Formulize - custom registration forms, ad hoc forms and reports



105
jegelstaff
Re: Need suggestion for a module

Hello,

It sounds like Formulize could definitely fill this need. You might have to make some custom pages in Pageworks if you're concerned about exactly how the table looks and what information is presented. But ultimately, that should be simpler than writing a new module or maybe even hacking something else that is maybe close (like MyReviews).

We always try to funnel as many development needs through Formulize as possible, so that when improvements are made to meet the needs of one project, they're immediately available to all other projects using Formulize. So notifications are a good example. One project needed notifications for when new entries are made in forms. We added in a notification system, and then all other projects using Formulize immediately had that, even though the use of Formulize in one site might be activity logs, and in another site it might be surveys. Those are quite different modes of interacting with information, but since they're based on the same general form system, ie: Formulize, they benefit from each other's improvements.

So the hope is that by making a generalized form and data management tool, then the same underlying features can support wildly different user-facing applications.

If you think Formulize might work for you, feel free to post more details of what you're trying to build in the discussion forums in our dev.xoops.org area, which you can easily reach through this URL:

http://www.freeformsolutions.ca/formulize

The "Using Formulize..." PDF available for download there hopefully gives you enough background to get going.

Good luck,

--Julian
Technical Architect - Freeform Solutions
Formulize - custom registration forms, ad hoc forms and reports



106
jegelstaff
Re: Registration Extra fields?

I should mention that the French translation is not complete in Registration Codes nor Formulize.

The good news is that the text that users see when they register and view their profile information, it has all been translated.

But there is a lot of text that is English only on the admin side, and on some of the more advanced screens on the user side (but those aren't used in the registration/profile system).

So for registering users it's probably okay. For other uses, you might need to do some translation if you or your users need to work in French.

--Julian
Technical Architect - Freeform Solutions
Formulize - custom registration forms, ad hoc forms and reports



107
jegelstaff
Re: Registration Extra fields?

Quote:

vaughan wrote:
Quote:

theFrenchGuy wrote:
I use smartprofile in my XOOPS site. In my website, I've 3 differents groups and I wanna create one registration form for each one. How I can do that ?


there's a hack called registration codes which has the possibility to assign registrations to a particular group based on a code (like a promotion code) that the user enters on registration. but having seperate registration forms has not been done.


Hello,

I'd just like to clarify...separate registration forms has been done. FrenchGuy, you can do exactly what you want with the Registration Codes module, it's not a hack, although it does involve swaping out three core files.

Registration Codes and Formulize work together to let you create a custom registration form. You make one form in Formulize that acts as your registration/user profile form.

Here's the fancy part that gives you separate forms for different groups...Formulize lets you control which groups of users should see which questions in a form. So you could have fifteen questions in your user profile form, and five of them would be for Group A, five for Group B and five for Group C. You could have some that are for all three groups, or some that are for just A and C, etc.

The Registration Codes module lets you create codes that users must use to register on your site. Each code is associated with certain groups in your site. So you could create a code for Group A, and a code for Group B and a code for Group C.

To use a code, users either go to the register.php page, and type in the code, or you can add the code to the URL like this:

http://www.yoursite.com/register.php?code=abcd56

After that, the user gets the registration/user profile form that you have created, and only the questions relevant for their particular group(s) are displayed to them.

From your description, it sounds like this is exactly what you need. You can get Formulize and Registration Codes here:

http://www.freeformsolutions.ca/formulize

(That redirects to our dev.xoops.org area.) If you have any questions about usage, check the detailed readme files, especially the one for Registration Codes, setting up and configuring the form is not trivial unfortunately.

If you have further questions or need help, please post in the forums over there in our area on dev.xoops.org and we will be happy to give pointers.

Good luck,

--Julian
Technical Architect - Freeform Solutions
Formulize - custom registration forms, ad hoc forms and reports



108
jegelstaff
Re: Looking for a module that can...

Thanks for the plug for Formulize Quest.

Yes, this is the exact situation we made Formulize for...when you have a particular need that there isn't a module for, but basically what you're looking for can be boiled down to a data input/output problem, and you just need to customize the input form, the way in which the information is output, and who is allowed to see what parts.

I suggest you download the module and play around with making a few forms and seeing what the different permissions do for you. That should give you a general idea if this is the right direction for you.

Post in the forums over there on dev.xoops.org if you want to discuss exactly what configuration of forms and permissions would suit your needs best. We'd need more details about exactly what you're trying to achieve to make good suggestions.

Good luck,

--Julian
Technical Architect - Freeform Solutions
Formulize - custom registration forms, ad hoc forms and reports



109
jegelstaff
Re: AJAX

I agree, Ajax-style features are missing from a lot of XOOPS modules, but that's largely because the free and easy development approach that you like about XOOPS (and that we like too!) means it's really up to each module developer to build the Ajax features they want in their module.

And serious Ajax stuff that really makes a difference to how the module works, is hard. And it usually means you have to rethink the information architecture of parts of your module, or of the whole thing. We would love to add tons of asynchronous requests to the standard "list of entries" view in Formulize, because it is a serious pain in the butt when you have to reload the page after each change you make to the view. But the whole architecture of that screen is based around making a request to the DB for your entries and then formatting them all. Changing it so you could modify how the list is displayed without making a new request, would fundamentally alter how that screen works. So it's a lot of work.

It will happen eventually though, in Formulize and other modules.

Thanks for the kind words Domineaux, it is much appreciated!

--Julian
Technical Architect - Freeform Solutions
Formulize - custom registration forms, ad hoc forms and reports



110
jegelstaff
Re: and the answer is . . .

Odd, maybe you had a typo. It shouldn't matter if it's before or after the title (it was before the title in a site I checked while writing that post). In the Formulize readme, we say put it after the title. Javascript should be read by the browser no matter where it is, as long as it's inside script tags, inside the html tags. Anyway, I'm glad it's working now!

--Julian
Technical Architect - Freeform Solutions
Formulize - custom registration forms, ad hoc forms and reports




TopTop
« 1 ... 8 9 10 (11) 12 13 14 ... 38 »



Login

Who's Online

156 user(s) are online (80 user(s) are browsing Support Forums)


Members: 0


Guests: 156


more...

Donat-O-Meter

Stats
Goal: $100.00
Due Date: May 31
Gross Amount: $0.00
Net Balance: $0.00
Left to go: $100.00
Make donations with PayPal!

Latest GitHub Commits