I'm having trouble with some code and was wondering if someone who is more knowledgeable would be able to help? Here is my situation....
I'm trying to give my mods more editing options in their modcp. In /modcp/user.php I have added this code to try and let them edit the join date of users.
PHP Code:
// ###################### Start editjoindate #####################
if ($_REQUEST['do'] == 'editjoindate')
{
globalize($_REQUEST, array('userid' => INT));
if (empty($userid))
{
print_stop_message('invalid_user_specified');
}
$noalter = explode(',', $undeletableusers);
if (!empty($noalter[0]) AND in_array($userid, $noalter))
{
print_stop_message('user_is_protected_from_alteration_by_undeletableusers_var');
}
$user = $DB_site->query_first("
SELECT * FROM " . TABLE_PREFIX . "user WHERE userid = $userid
");
print_form_header('user','doeditjoindate', 0, 1);
construct_hidden_code('userid', $userid);
print_table_header(construct_phrase($vbphrase['x_y_id_z'], $vbphrase['join_date'], $user['username'], $user['userid']));
print_time_row($vbphrase['join_date'], 'joindate', $user['joindate'], 0);
print_submit_row();
}
// ###################### Start doeditjoindate #######################
if ($_POST['do'] == 'doeditjoindate')
{
globalize($_POST, array('userid' => INT, 'joindate' => STR));
$noalter = explode(',', $undeletableusers);
if (!empty($noalter[0]) AND in_array($userid, $noalter))
{
print_stop_message('user_is_protected_from_alteration_by_undeletableusers_var');
}
if (empty($userid))
{
print_stop_message('invalid_user_specified');
}
$DB_site->query("
UPDATE " . TABLE_PREFIX . "user SET
joindate = $joindate
WHERE userid = $userid
");
if (can_moderate(0, 'canviewprofile'))
{
define('CP_REDIRECT', "user.php?do=viewuser&userid=$userid");
}
else
{
define('CP_REDIRECT', "index.php?do=home");
}
print_stop_message('updated_joindate_successfully');
}
Everything worked fine except that it wont store the changed join date. Instead it sets it to 0. It probably has to do with the print_time_row and the way I'm updating the db, but I can't figure it out.
Can anyone help?