} if (!isset($form['show_img']) || $form['show_img'] != '1') { $form['show_img'] = '0'; } if (!isset($form['show_img_sig']) || $form['show_img_sig'] != '1') { $form['show_img_sig'] = '0'; } if (!isset($form['show_avatars']) || $form['show_avatars'] != '1') { $form['show_avatars'] = '0'; } if (!isset($form['show_sig']) || $form['show_sig'] != '1') { $form['show_sig'] = '0'; } break; case 'privacy': $form = extract_elements(array('email_setting', 'save_pass', 'notify_with_post')); $form['email_setting'] = intval($form['email_setting']); if ($form['email_setting'] < 0 && $form['email_setting'] > 2) { $form['email_setting'] = 1; } if (!isset($form['save_pass']) || $form['save_pass'] != '1') { $form['save_pass'] = '******'; } if (!isset($form['notify_with_post']) || $form['notify_with_post'] != '1') { $form['notify_with_post'] = '0'; } // If the save_pass setting has changed, we need to set a new cookie with the appropriate expire date if ($pun_user['id'] == $id && $form['save_pass'] != $pun_user['save_pass']) { $result = $db->query('SELECT password FROM ' . $db->prefix . 'users WHERE id=' . $id) or error('Unable to fetch user password hash', __FILE__, __LINE__, $db->error()); pun_setcookie($id, $db->result($result), $form['save_pass'] == '1' ? time() + 31536000 : 0); }
} if (!isset($form['show_img']) || $form['show_img'] != '1') { $form['show_img'] = '0'; } if (!isset($form['show_img_sig']) || $form['show_img_sig'] != '1') { $form['show_img_sig'] = '0'; } if (!isset($form['show_avatars']) || $form['show_avatars'] != '1') { $form['show_avatars'] = '0'; } if (!isset($form['show_sig']) || $form['show_sig'] != '1') { $form['show_sig'] = '0'; } break; case 'personality': $form = extract_elements(array('use_avatar')); // Clean up signature from POST $form['signature'] = pun_linebreaks(trim($_POST['signature'])); // Validate signature if (pun_strlen($form['signature']) > $pun_config['p_sig_length']) { message($lang_prof_reg['Sig too long'] . ' ' . $pun_config['p_sig_length'] . ' ' . $lang_prof_reg['characters'] . '.'); } else { if (substr_count($form['signature'], "\n") > $pun_config['p_sig_lines'] - 1) { message($lang_prof_reg['Sig too many lines'] . ' ' . $pun_config['p_sig_lines'] . ' ' . $lang_prof_reg['lines'] . '.'); } else { if ($form['signature'] && $pun_config['p_sig_all_caps'] == '0' && strtoupper($form['signature']) == $form['signature'] && $pun_user['g_id'] > PUN_MOD) { $form['signature'] = ucfirst(strtolower($form['signature'])); } } } // Validate BBCode syntax
} // Add http:// if the URL doesn't contain it or https:// already if ($form['url'] != '' && strpos(strtolower($form['url']), 'http://') !== 0 && strpos(strtolower($form['url']), 'https://') !== 0) { $form['url'] = 'http://' . $form['url']; } // Add http:// if the LinkedIn doesn't contain it or https:// already if ($form['linkedin'] != '' && strpos(strtolower($form['linkedin']), 'http://') !== 0 && strpos(strtolower($form['linkedin']), 'https://') !== 0) { $form['linkedin'] = 'http://' . $form['linkedin']; } // If the ICQ UIN contains anything other than digits it's invalid if ($form['icq'] != '' && !ctype_digit($form['icq'])) { $errors[] = $lang_profile['Bad ICQ']; } break; case 'settings': $form = extract_elements(array('dst', 'timezone', 'language', 'email_setting', 'notify_with_post', 'auto_notify', 'time_format', 'date_format', 'disp_topics', 'disp_posts', 'show_smilies', 'show_img', 'show_img_sig', 'show_avatars', 'show_sig', 'style')); ($hook = get_hook('pf_change_details_settings_validation')) ? eval($hook) : null; $form['dst'] = isset($form['dst']) ? 1 : 0; $form['time_format'] = isset($form['time_format']) ? intval($form['time_format']) : 0; $form['date_format'] = isset($form['date_format']) ? intval($form['date_format']) : 0; $form['timezone'] = isset($form['timezone']) ? floatval($form['timezone']) : $forum_config['o_default_timezone']; // Validate timezone if ($form['timezone'] > 14.0 || $form['timezone'] < -12.0) { message($lang_common['Bad request']); } $form['email_setting'] = intval($form['email_setting']); if ($form['email_setting'] < 0 || $form['email_setting'] > 2) { $form['email_setting'] = 1; } if ($forum_config['o_subscriptions'] == '1') { if (!isset($form['notify_with_post']) || $form['notify_with_post'] != '1') {
} if (!isset($form['show_img']) || $form['show_img'] != '1') { $form['show_img'] = '0'; } if (!isset($form['show_img_sig']) || $form['show_img_sig'] != '1') { $form['show_img_sig'] = '0'; } if (!isset($form['show_avatars']) || $form['show_avatars'] != '1') { $form['show_avatars'] = '0'; } if (!isset($form['show_sig']) || $form['show_sig'] != '1') { $form['show_sig'] = '0'; } break; case 'privacy': $form = extract_elements(array('email_setting', 'save_pass', 'notify_with_post', 'use_pm', 'notify_mp', 'popup_pm')); $form['email_setting'] = intval($form['email_setting']); if ($form['email_setting'] < 0 && $form['email_setting'] > 2) { $form['email_setting'] = 1; } if (!isset($form['save_pass']) || $form['save_pass'] != '1') { $form['save_pass'] = '******'; } if (!isset($form['notify_with_post']) || $form['notify_with_post'] != '1') { $form['notify_with_post'] = '0'; } if (!isset($form['use_pm']) || $form['use_pm'] != '1') { $form['use_pm'] = '0'; } if (!isset($form['notify_mp']) || $form['notify_mp'] != '1') { $form['notify_mp'] = '0';