Ok, just working on the last details, but here is what is in store for WebLoginPE 1.2.0 (coming 8/28).
1. Case insensitive login.
2. Veryify ANY field in your form. Any field with the name attribute name="[fieldname]confirm" is checked against [fieldname].
<input type="text" name="email" value="[+post.email+]" />
<input type="text" name="emailconfirm" value="[+post.emailconfirm+]" />
<input type="password" name="password" value="" />
<input type="password" name="passwordconfirm" value="" />
3. New &type. &type=`users`. The default display will show all the web users with a usersTpl template. in the default usersTpl, the user’s image and username are links to view their full profile where you can send the user a message.
4. New parameter for super-fine control of inputs. &inputHandler=`Label:domID:fieldname:field type:Option(value),Option2(value2)`. Use double bars to separate inputs (for inputs that are not in the standard web_user_attributes table, remember to specify them in &cutomFields:
&customFields=`website,aim,msn,address1,city,favorite_color,demographic,emailprivate,aimprivate,msnprivate`
&inputHandler=`Favorite Colors:userProfileFavoriteColor:favorite_color:select multiple:Red(red),Blue(blue),Green(green),Black(black),Orange(orange),Yellow(yellow)||Age Group:userDemographic:demographic:radio:Less than 13(1),14 - 18(2),19 - 30(3),31 - 40(4),41-50(5),51-65(6),65 or older(7)||Keep my email private:userProfileEmailPrivate:emailprivate:checkbox:()||Keep my AIM account private:userProfileAIMPrivate:aimprivate:checkbox:()||Keep my MSN account private:userProfileMSNPrivate:msnprivate:checkbox:()`
&inputHandler loops over every option in the form field (select, select multiple, radio, or checkbox) and compares it to the entries stored in the user’s table. If the user has any of the options, radios or checkboxes selected, it will output selected="selected" or checked="checked" in the fields. You can see in the code below that I had "red" and "black" selected as my favorite_colors. &inputHander also sets a placeholder [+form.fieldname+] (example [+form.favorite_color+]) which includes the entire label, field, options and all. One of the placeholders the code above will generate is [+form.favorite_color+]. that will output:
<label for="userProfileFavoriteColor" id="userProfileFavoriteColorLabel">Favorite Colors
<select multiple id="userProfileFavoriteColor" name="favorite_color[]">
<option selected="selected" value ="red">Red</option>
<option value ="blue">Blue</option>
<option value ="green">Green</option>
<option selected="selected" value ="black">Black</option>
<option value ="orange">Orange</option>
<option value ="yellow">Yellow</option>
</select>
</label>
So in your form where you would put your label->input->etc... you just put the form placeholder. You have to use this placeholder if you want the checks checked and the selects selected.
5. You may have noticed the xxxprivate fields above. That is also a new feature. Lets take the email column in the attributes table for example. if you put `emailconfirm` in your &customFields and then assign it a checkbox in &inputHandler, when a user checks that checkbox on their profile, any time another user views their profile, it will say "Private" instead of their actual email. You can do this for ANY field. The demo site will have an example of this.
6. New parameter &userImage. Set Max upload size (in bytes), width(px), and height(px). Format is &userImage=`MAXFILESIZE,WIDTH,HEIGHT`. Example: &userImage=`105000,250,250`
There are a lot of small efficiency improvements as well, hopefully to pick up some speed.
-sD-
Dr. Scotty Delicious, Scientist DFPA.