| Comments |
 Re: custom profile mod
|
So necessary fields are not necessary at the moment...
I'll check.
|
|
Mighty Gorgon [ Sun 24 Sep, 2006 15:43 ]
|
 |
 Re: custom profile mod
|
|
I have noticed the same problem recently - people are able to register without filling in added custom fields that have been marked as required... but as I'm using 059rc3 now, I didn't know if it was specific to that, or to 058 or earlier XS as well...
*Edit* As I recall, it used to work well in 049... Ah yes, those were the days...
It used to work fine,
in XS version 049:
as I recall,
no problem at all...
Its only now that it behaves like a swine!
Last edited by moreteavicar on Sun 24 Sep, 2006 20:03; edited 1 time in total
|
|
moreteavicar [ Sun 24 Sep, 2006 19:55 ]
|
 |
 Re: custom profile mod
|
|
i have xs58 and its the error
|
|
casimedicos [ Sun 24 Sep, 2006 20:03 ]
|
 |
 Re: custom profile mod
|
|
It used to work fine,
in XS version 049:
as I recall,
no problem at all...
Since 058 it behaves like a swine!
|
|
moreteavicar [ Sun 24 Sep, 2006 20:05 ]
|
 |
 Re: BUG -custom profile mod
|
It used to work fine,
in XS version 049:
as I recall,
no problem at all...
Since 058 it behaves like a swine!
I think that in 049 this bug was there too...
Anyway, I still have to check this... please wait a little bit more! 
|
|
Mighty Gorgon [ Sun 01 Oct, 2006 14:05 ]
|
 |
 Re: BUG -Custom Profile Mod
|
I had this working in 049 - it never accepted a registration/profile change without the field being completed!
I keep meaning to look into this myself... but like you I've been too busy 
|
|
moreteavicar [ Sun 01 Oct, 2006 17:56 ]
|
 |
 Re: BUG -Custom Profile Mod
|
|
Update - I see this problem on sites where XS has been upgraded. It works fine on a fresh install of any version...
|
|
moreteavicar [ Sun 01 Oct, 2006 22:45 ]
|
 |
 Re: BUG -Custom Profile Mod
|
Update - I see this problem on sites where XS has been upgraded. It works fine on a fresh install of any version...
This is strange...
Anyway, when I have some free time, I'll test it. It is in my To Do List.
|
|
Mighty Gorgon [ Mon 02 Oct, 2006 01:07 ]
|
 |
 Re: Custom Profile Mod
|
|
This problem seems to have mutated... users are forced to enter a required custom profile field, but it doesn't go into the database. There are no SQL errors displayed though!
|
|
moreteavicar [ Fri 10 Nov, 2006 23:07 ]
|
 |
 Re: Custom Profile Mod
|
OK, found the problem. Custom Profile fields isn't completely installed... There are no SQL errors, because there are no SQL instructions
You need to do this:
#
#-----[ OPEN ]--------------------
#
includes/usercp_register.php
#
#-----[ FIND (around line 1125)]----------------------
#
if( !($result = $db->sql_query($sql, END_TRANSACTION)) )
{
message_die(GENERAL_ERROR, 'Could not insert data into user_group table', '', __LINE__, __FILE__, $sql);
}
#
#-----[ AFTER, ADD ]--------------------
#
//
// Custom Profile Fields MOD
//
$profile_data = get_fields('WHERE users_can_view = '.ALLOW_VIEW);
$profile_names = array();
$semaphore = 0;
$sql2 = "UPDATE " . USERS_TABLE . "
SET ";
foreach($profile_data as $fields)
{
$name = text_to_column($fields['field_name']);
$type = $fields['field_type'];
$required = $fields['is_required'] == REQUIRED ? true : false;
if(isset($HTTP_POST_VARS[$name]))
{
$temp = (isset($HTTP_POST_VARS[$name])) ? $HTTP_POST_VARS[$name] : array();
if($type == CHECKBOX)
{
$temp2 = '';
foreach($temp as $temp3)
$temp2 .= htmlspecialchars($temp3) . ',';
$temp2 = substr($temp2,0,strlen($temp2)-1);
$temp = $temp2;
}
else
$temp = htmlspecialchars($temp);
$profile_names[$name] = $temp;
$sql2 .= $name . " = '".str_replace("'","''",$profile_names[$name])."', ";
}
$semaphore++;
}
$sql2 = substr($sql2,0,strlen($sql2)-2)."
WHERE user_id = ".$user_id;
if(!$db->sql_query($sql2) && ($semaphore))
message_die(GENERAL_ERROR,'Could not update custom profile fields','',__LINE__,__FILE__,$sql2);
//
// END Custom Profile Fields MOD
//
With this added, any new registrations will see the profile field being saved to SQL. It is clear to see why this mod didn't work properly - the above code belongs within an else statement that begins around line 1027. And low and behold this else is the "else" to: if ( $mode == 'editprofile' ) around line 854 - in otherwords, when somebody wants to register, there was no code there to save the fields to the database!
|
|
moreteavicar [ Sat 11 Nov, 2006 00:46 ]
|
 |
 Re: BUG -Custom Profile Mod
|
|
thanks moreteavicar, i'll test it on my xs
|
|
Zuker [ Sat 11 Nov, 2006 19:43 ]
|
 |
 Re: Custom Profile Mod
|
Thanks Zucker
For the thread - I forgot to mention - I take back what I said earlier about it working on 049 - back then I didn't realise that it wasn't sending data to SQL because there weren't any new people registering on my site at the time - people were only updating the custom fields by editing their profiles! Only recently have I been getting a lot of new registrations, and none of the required profile fields data were being stored! However, since adding the above, I've had some new registrations, and the data was stored in SQL as intended. 
|
|
moreteavicar [ Sun 12 Nov, 2006 01:21 ]
|
 |
 Re: BUG -Custom Profile Mod
|
Great... I'll fix it...
Thank you.
|
|
Mighty Gorgon [ Tue 14 Nov, 2006 01:47 ]
|
 |
 Re: BUG -Custom Profile Mod
|
|
thanks
i will test it
|
|
casimedicos [ Tue 14 Nov, 2006 12:21 ]
|
 |
|
|