PDA

View Full Version : New Profile Option Problem


SorentoUltimate
01-10-2010, 09:45 PM
Hello,

I try to add a CoboBox Custom Option to User Profile Option but i have two problems :

a.When i go to Edit Option don't bring the Right Value to the New Setting.
b.When i press Save Options always save a 0 to New Option.

Here all the codes i use to do that :

Field Creation (Table user, fieldname whoquotedmenotify)
$db->hide_errors();
require_once(DIR . '/includes/class_dbalter.php');
$db_alter =& new vB_Database_Alter_MySQL($db);

$mysqlversion = $db->query_first("SELECT version() AS version");
define('MYSQL_VERSION', $mysqlversion['version']);

$enginetype = (version_compare(MYSQL_VERSION, '4.0.18', '<')) ? 'TYPE' : 'ENGINE';
$tabletype = (version_compare(MYSQL_VERSION, '4.1', '<')) ? 'HEAP' : 'MEMORY';

if ($db_alter->fetch_table_info('user'))
{
$db_alter->add_field(array(
'name' => 'whoquotedmenotify',
'type' => 'int',
'length' => '10',
'attributes' => 'unsigned',
'null' => false,
'default' => '0',
));
}

$db->show_errors(); __

New Template who_quoted_me_profile_modify
<fieldset class="fieldset">
<legend><label for="sel_whoquotedmenotify">$vbphrase[who_quoted_me_notify_title]</label></legend>
<table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%">
<tr>
<td>$vbphrase[who_quoted_me_notify_desc]</td>
</tr>
<tr>
<td>
<span style="float:$stylevar[right]">
<select name="whoquotedmenotify" id="sel_whoquotedmenotify">
<option value="0" $whoquotedmenotifysel[0]>$vbphrase[who_quoted_me_not_notification]</option>
<option value="1" $whoquotedmenotifysel[1]>$vbphrase[who_quoted_me_email_notification]</option>
<option value="2" $whoquotedmenotifysel[2]>$vbphrase[who_quoted_me_pm_notification]</option>
</select>
</span>
<label for="sel_whoquotedmenotify">$vbphrase[who_quoted_me_notify_title]:</label>
</td>
</tr>
</table>
</fieldset>__

Plugin cache_templates
$globaltemplates[] = 'who_quoted_me_profile_modify';__

Plugin profile_editoptions_start
$whoquotedmenotifysel = array();

$whoquotedmenotifysel[0] = '';
$whoquotedmenotifysel[1] = '';
$whoquotedmenotifysel[2] = '';

$whoquotedmenotifyuserselection = $vbulletin->userinfo['whoquotedmenotify'];

$whoquotedmenotifysel[$whoquotedmenotifyuserselection] = 'selected="selected"';

eval('$template_hook[\'usercp_options_messaging\'] .= "' . fetch_template('who_quoted_me_profile_modify') . '";');__

Plugin profile_updateoptions
$vbulletin->input->clean_array_gpc('p', array(
'whoquotedmenotify' => TYPE_UINT,
));

$userdata->set('whoquotedmenotify', $vbulletin->GPC['whoquotedmenotify']);__

Plugin userdata_start
$this->validfields['whoquotedmenotify'] = array(TYPE_UINT, REQ_NO);__

Options Screenshot
https://vborg.vbsupport.ru/external/2010/01/23.jpg


Can some help to find where the problem are ???

Thanks In Advance
SorentoUltimate

SorentoUltimate
01-14-2010, 12:56 PM
I heed your help on that....

SorentoUltimate
01-26-2010, 12:48 PM
Hello,

I try to add a CoboBox Custom Option to User Profile Option but i have two problems :

a.When i go to Edit Option don't bring the Right Value to the New Setting.
b.When i press Save Options always save a 0 to New Option.

Here all the codes i use to do that :

Field Creation (Table user, fieldname whoquotedmenotify)
$db->hide_errors();
require_once(DIR . '/includes/class_dbalter.php');
$db_alter =& new vB_Database_Alter_MySQL($db);

$mysqlversion = $db->query_first("SELECT version() AS version");
define('MYSQL_VERSION', $mysqlversion['version']);

$enginetype = (version_compare(MYSQL_VERSION, '4.0.18', '<')) ? 'TYPE' : 'ENGINE';
$tabletype = (version_compare(MYSQL_VERSION, '4.1', '<')) ? 'HEAP' : 'MEMORY';

if ($db_alter->fetch_table_info('user'))
{
$db_alter->add_field(array(
'name' => 'whoquotedmenotify',
'type' => 'int',
'length' => '10',
'attributes' => 'unsigned',
'null' => false,
'default' => '0',
));
}

$db->show_errors(); __

New Template who_quoted_me_profile_modify
<fieldset class="fieldset">
<legend><label for="sel_whoquotedmenotify">$vbphrase[who_quoted_me_notify_title]</label></legend>
<table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0" width="100%">
<tr>
<td>$vbphrase[who_quoted_me_notify_desc]</td>
</tr>
<tr>
<td>
<span style="float:$stylevar[right]">
<select name="whoquotedmenotify" id="sel_whoquotedmenotify">
<option value="0" $selectwhoquotedmenotify[0]>$vbphrase[who_quoted_me_not_notification]</option>
<option value="1" $selectwhoquotedmenotify[1]>$vbphrase[who_quoted_me_email_notification]</option>
<option value="2" $selectwhoquotedmenotify[2]>$vbphrase[who_quoted_me_pm_notification]</option>
</select>
</span>
<label for="sel_whoquotedmenotify">$vbphrase[who_quoted_me_notify_title]:</label>
</td>
</tr>
</table>
</fieldset>__

Plugin global_setup_complete
eval('$template_hook[\'usercp_options_messaging\'] .= "' . fetch_template('who_quoted_me_profile_modify') . '";'); __

Plugin cache_templates
$globaltemplates[] = 'who_quoted_me_profile_modify';__

Plugin profile_editoptions_start
$whoquotedmenotifysel = $vbulletin->userinfo['whoquotedmenotify'];
$whoquotedmenotifysel = array($whoquotedmenotifysel => 'selected="selected"');__

Plugin profile_updateoptions
$vbulletin->input->clean_array_gpc('p', array(
'whoquotedmenotify' => TYPE_UINT,
));

$userdata->set('whoquotedmenotify', $vbulletin->GPC['whoquotedmenotify']);__

Plugin userdata_start
$this->validfields['whoquotedmenotify'] = array(TYPE_UINT, REQ_NO);__

Options Screenshot
https://vborg.vbsupport.ru/attachment.php?attachmentid=109678&stc=1&d=1263166934


Can some help to find where the problem are ???

Thanks In Advance
SorentoUltimate

After same changes made to code, now write the selected value but When i go to Edit Option don't bring the Right Value to the New Setting.

I update the first Post with Code Changes !!!!

SorentoUltimate
01-27-2010, 09:37 PM
WORK NOW !!!

FIRST POST UPDATED WITH CORRECTIONS.

Everyone can use it as sample to do something similar.