Votre question

[Résolu] Problème code PHP

Tags :
  • Copyright
  • Programmation
Dernière réponse : dans Programmation
4 Janvier 2011 22:22:23

Bonjours à tous,

Je suis en train de faire un forum sous FluxBB, mais je rencontre une erreur à la ligne 497 quand je vais sur un profil d'un membre (membre essai) voir ICI à mon avis c'est un problème de balise { }, mais je n'arrive pas à trouvé. Quand je regarde sous Adobe Dreamweaver je tombe sur le code else if (isset($_POST['update_forums']))

Merci pour votre aide, Cordialement

Voici mon code entier:

[cpp]<?php

/**
* Copyright (C) 2008-2010 FluxBB
* based on code by Rickard Andersson copyright (C) 2002-2008 PunBB
* License: http://www.gnu.org/licenses/gpl.html GPL version 2 or higher
*/

define('PUN_ROOT', './');
require PUN_ROOT.'include/common.php';

// Include UTF-8 function
require PUN_ROOT.'include/utf8/substr_replace.php';
require PUN_ROOT.'include/utf8/ucwords.php'; // utf8_ucwords needs utf8_substr_replace
require PUN_ROOT.'include/utf8/strcasecmp.php';

$action = isset($_GET['action']) ? $_GET['action'] : null;
$section = isset($_GET['section']) ? $_GET['section'] : null;
$id = isset($_GET['id']) ? intval($_GET['id']) : 0;
if ($id < 2)
message($lang_common['Bad request']);

if ($action != 'change_pass' || !isset($_GET['key']))
{
if ($pun_user['g_read_board'] == '0')
message($lang_common['No view']);
else if ($pun_user['g_view_users'] == '0' && ($pun_user['is_guest'] || $pun_user['id'] != $id))
message($lang_common['No permission']);
}

// Load the profile.php/register.php language file
require PUN_ROOT.'lang/'.$pun_user['language'].'/prof_reg.php';

// Load the profile.php language file
require PUN_ROOT.'lang/'.$pun_user['language'].'/profile.php';


if ($action == 'change_pass')
{
if (isset($_GET['key']))
{
// If the user is already logged in we shouldn't be here :) 
if (!$pun_user['is_guest'])
{
header('Location: index.php');
exit;
}

$key = $_GET['key'];

$result = $db->query('SELECT * FROM '.$db->prefix.'users WHERE id='.$id) or error('Unable to fetch new password', __FILE__, __LINE__, $db->error());
$cur_user = $db->fetch_assoc($result);

if ($key == '' || $key != $cur_user['activate_key'])
message($lang_profile['Pass key bad'].' <a href="mailto:'.$pun_config['o_admin_email'].'">'.$pun_config['o_admin_email'].'</a>.');
else
{
$db->query('UPDATE '.$db->prefix.'users SET password=\''.$cur_user['activate_string'].'\', activate_string=NULL, activate_key=NULL'.(!empty($cur_user['salt']) ? ', salt=NULL' : '').' WHERE id='.$id) or error('Unable to update password', __FILE__, __LINE__, $db->error());

message($lang_profile['Pass updated'], true);
}
}

// Make sure we are allowed to change this users password
if ($pun_user['id'] != $id)
{
if (!$pun_user['is_admmod']) // A regular user trying to change another users password?
message($lang_common['No permission']);
else if ($pun_user['g_moderator'] == '1') // A moderator trying to change a users password?
{
$result = $db->query('SELECT u.group_id, g.g_moderator FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON (g.g_id=u.group_id) WHERE u.id='.$id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result))
message($lang_common['Bad request']);

list($group_id, $is_moderator) = $db->fetch_row($result);

if ($pun_user['g_mod_edit_users'] == '0' || $pun_user['g_mod_change_passwords'] == '0' || $group_id == PUN_ADMIN || $is_moderator == '1')
message($lang_common['No permission']);
}
}

if (isset($_POST['form_sent']))
{
if ($pun_user['is_admmod'])
confirm_referrer('profile.php');

$old_password = isset($_POST['req_old_password']) ? pun_trim($_POST['req_old_password']) : '';
$new_password1 = pun_trim($_POST['req_new_password1']);
$new_password2 = pun_trim($_POST['req_new_password2']);

if ($new_password1 != $new_password2)
message($lang_prof_reg['Pass not match']);
if (pun_strlen($new_password1) < 4)
message($lang_prof_reg['Pass too short']);

$result = $db->query('SELECT * FROM '.$db->prefix.'users WHERE id='.$id) or error('Unable to fetch password', __FILE__, __LINE__, $db->error());
$cur_user = $db->fetch_assoc($result);

$authorized = false;

if (!empty($cur_user['password']))
{
$old_password_hash = pun_hash($old_password);

if ($cur_user['password'] == $old_password_hash || $pun_user['is_admmod'])
$authorized = true;
}

if (!$authorized)
message($lang_profile['Wrong pass']);

$new_password_hash = pun_hash($new_password1);

$db->query('UPDATE '.$db->prefix.'users SET password=\''.$new_password_hash.'\''.(!empty($cur_user['salt']) ? ', salt=NULL' : '').' WHERE id='.$id) or error('Unable to update password', __FILE__, __LINE__, $db->error());

if ($pun_user['id'] == $id)
pun_setcookie($pun_user['id'], $new_password_hash, time() + $pun_config['o_timeout_visit']);

redirect('profile.php?section=essentials&id='.$id, $lang_profile['Pass updated redirect']);
}

$page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_common['Profile'], $lang_profile['Change pass']);
$required_fields = array('req_old_password' => $lang_profile['Old pass'], 'req_new_password1' => $lang_profile['New pass'], 'req_new_password2' => $lang_profile['Confirm new pass']);
$focus_element = array('change_pass', ((!$pun_user['is_admmod']) ? 'req_old_password' : 'req_new_password1'));
define('PUN_ACTIVE_PAGE', 'profile');
require PUN_ROOT.'header.php';

?>
<div class="blockform">
<h2><span><?php echo $lang_profile['Change pass'] ?></span></h2>
<div class="box">
<form id="change_pass" method="post" action="profile.php?action=change_pass&id=<?php echo $id ?>" onsubmit="return process_form(this)">
<div class="inform">
<input type="hidden" name="form_sent" value="1" />
<fieldset>
<legend><?php echo $lang_profile['Change pass legend'] ?></legend>
<div class="infldset">
<?php if (!$pun_user['is_admmod']): ?> <label class="required"><strong><?php echo $lang_profile['Old pass'] ?> <span><?php echo $lang_common['Required'] ?></span></strong><br />
<input type="password" name="req_old_password" size="16" /><br /></label>
<?php endif; ?> <label class="conl required"><strong><?php echo $lang_profile['New pass'] ?> <span><?php echo $lang_common['Required'] ?></span></strong><br />
<input type="password" name="req_new_password1" size="16" /><br /></label>
<label class="conl required"><strong><?php echo $lang_profile['Confirm new pass'] ?> <span><?php echo $lang_common['Required'] ?></span></strong><br />
<input type="password" name="req_new_password2" size="16" /><br /></label>
<p class="clearb"><?php echo $lang_profile['Pass info'] ?></p>
</div>
</fieldset>
</div>
<p class="buttons"><input type="submit" name="update" value="<?php echo $lang_common['Submit'] ?>" /> <a href="javascript:history.go(-1)"><?php echo $lang_common['Go back'] ?></a></p>
</form>
</div>
</div>
<?php

require PUN_ROOT.'footer.php';
}


else if ($action == 'change_email')
{
// Make sure we are allowed to change this users email
if ($pun_user['id'] != $id)
{
if (!$pun_user['is_admmod']) // A regular user trying to change another users email?
message($lang_common['No permission']);
else if ($pun_user['g_moderator'] == '1') // A moderator trying to change a users email?
{
$result = $db->query('SELECT u.group_id, g.g_moderator FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON (g.g_id=u.group_id) WHERE u.id='.$id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result))
message($lang_common['Bad request']);

list($group_id, $is_moderator) = $db->fetch_row($result);

if ($pun_user['g_mod_edit_users'] == '0' || $group_id == PUN_ADMIN || $is_moderator == '1')
message($lang_common['No permission']);
}
}

if (isset($_GET['key']))
{
$key = $_GET['key'];

$result = $db->query('SELECT activate_string, activate_key FROM '.$db->prefix.'users WHERE id='.$id) or error('Unable to fetch activation data', __FILE__, __LINE__, $db->error());
list($new_email, $new_email_key) = $db->fetch_row($result);

if ($key == '' || $key != $new_email_key)
message($lang_profile['Email key bad'].' <a href="mailto:'.$pun_config['o_admin_email'].'">'.$pun_config['o_admin_email'].'</a>.');
else
{
$db->query('UPDATE '.$db->prefix.'users SET email=activate_string, activate_string=NULL, activate_key=NULL WHERE id='.$id) or error('Unable to update email address', __FILE__, __LINE__, $db->error());

message($lang_profile['Email updated'], true);
}
}
else if (isset($_POST['form_sent']))
{
if (pun_hash($_POST['req_password']) !== $pun_user['password'])
message($lang_profile['Wrong pass']);

require PUN_ROOT.'include/email.php';

// Validate the email address
$new_email = strtolower(trim($_POST['req_new_email']));
if (!is_valid_email($new_email))
message($lang_common['Invalid email']);

// Check if it's a banned email address
if (is_banned_email($new_email))
{
if ($pun_config['p_allow_banned_email'] == '0')
message($lang_prof_reg['Banned email']);
else if ($pun_config['o_mailing_list'] != '')
{
$mail_subject = $lang_common['Banned email notification'];
$mail_message = sprintf($lang_common['Banned email change message'], $pun_user['username'], $new_email)."\n";
$mail_message .= sprintf($lang_common['User profile'], $pun_config['o_base_url'].'/profile.php?id='.$id)."\n";
$mail_message .= "\n".'--'."\n".$lang_common['Email signature'];

pun_mail($pun_config['o_mailing_list'], $mail_subject, $mail_message);
}
}

// Check if someone else already has registered with that email address
$result = $db->query('SELECT id, username FROM '.$db->prefix.'users WHERE email=\''.$db->escape($new_email).'\'') or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
if ($db->num_rows($result))
{
if ($pun_config['p_allow_dupe_email'] == '0')
message($lang_prof_reg['Dupe email']);
else if ($pun_config['o_mailing_list'] != '')
{
while ($cur_dupe = $db->fetch_assoc($result))
$dupe_list[] = $cur_dupe['username'];

$mail_subject = $lang_common['Duplicate email notification'];
$mail_message = sprintf($lang_common['Duplicate email change message'], $pun_user['username'], implode(', ', $dupe_list))."\n";
$mail_message .= sprintf($lang_common['User profile'], $pun_config['o_base_url'].'/profile.php?id='.$id)."\n";
$mail_message .= "\n".'--'."\n".$lang_common['Email signature'];

pun_mail($pun_config['o_mailing_list'], $mail_subject, $mail_message);
}
}


$new_email_key = random_pass(8);

$db->query('UPDATE '.$db->prefix.'users SET activate_string=\''.$db->escape($new_email).'\', activate_key=\''.$new_email_key.'\' WHERE id='.$id) or error('Unable to update activation data', __FILE__, __LINE__, $db->error());

// Load the "activate email" template
$mail_tpl = trim(file_get_contents(PUN_ROOT.'lang/'.$pun_user['language'].'/mail_templates/activate_email.tpl'));

// The first row contains the subject
$first_crlf = strpos($mail_tpl, "\n");
$mail_subject = trim(substr($mail_tpl, 8, $first_crlf-8));
$mail_message = trim(substr($mail_tpl, $first_crlf));

$mail_message = str_replace('<username>', $pun_user['username'], $mail_message);
$mail_message = str_replace('<base_url>', $pun_config['o_base_url'], $mail_message);
$mail_message = str_replace('<activation_url>', $pun_config['o_base_url'].'/profile.php?action=change_email&id='.$id.'&key='.$new_email_key, $mail_message);
$mail_message = str_replace('<board_mailer>', $pun_config['o_board_title'].' '.$lang_common['Mailer'], $mail_message);

pun_mail($new_email, $mail_subject, $mail_message);

message($lang_profile['Activate email sent'].' <a href="mailto:'.$pun_config['o_admin_email'].'">'.$pun_config['o_admin_email'].'</a>.', true);
}

$page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_common['Profile'], $lang_profile['Change email']);
$required_fields = array('req_new_email' => $lang_profile['New email'], 'req_password' => $lang_common['Password']);
$focus_element = array('change_email', 'req_new_email');
define('PUN_ACTIVE_PAGE', 'profile');
require PUN_ROOT.'header.php';

?>
<div class="blockform">
<h2><span><?php echo $lang_profile['Change email'] ?></span></h2>
<div class="box">
<form id="change_email" method="post" action="profile.php?action=change_email&id=<?php echo $id ?>" id="change_email" onsubmit="return process_form(this)">
<div class="inform">
<fieldset>
<legend><?php echo $lang_profile['Email legend'] ?></legend>
<div class="infldset">
<input type="hidden" name="form_sent" value="1" />
<label class="required"><strong><?php echo $lang_profile['New email'] ?> <span><?php echo $lang_common['Required'] ?></span></strong><br /><input type="text" name="req_new_email" size="50" maxlength="80" /><br /></label>
<label class="required"><strong><?php echo $lang_common['Password'] ?> <span><?php echo $lang_common['Required'] ?></span></strong><br /><input type="password" name="req_password" size="16" /><br /></label>
<p><?php echo $lang_profile['Email instructions'] ?></p>
</div>
</fieldset>
</div>
<p class="buttons"><input type="submit" name="new_email" value="<?php echo $lang_common['Submit'] ?>" /> <a href="javascript:history.go(-1)"><?php echo $lang_common['Go back'] ?></a></p>
</form>
</div>
</div>
<?php

require PUN_ROOT.'footer.php';
}


else if ($action == 'upload_avatar' || $action == 'upload_avatar2')
{
if ($pun_config['o_avatars'] == '0')
message($lang_profile['Avatars disabled']);

if ($pun_user['id'] != $id && !$pun_user['is_admmod'])
message($lang_common['No permission']);

if (isset($_POST['form_sent']))
{
if (!isset($_FILES['req_file']))
message($lang_profile['No file']);

$uploaded_file = $_FILES['req_file'];

// Make sure the upload went smooth
if (isset($uploaded_file['error']))
{
switch ($uploaded_file['error'])
{
case 1: // UPLOAD_ERR_INI_SIZE
case 2: // UPLOAD_ERR_FORM_SIZE
message($lang_profile['Too large ini']);
break;

case 3: // UPLOAD_ERR_PARTIAL
message($lang_profile['Partial upload']);
break;

case 4: // UPLOAD_ERR_NO_FILE
message($lang_profile['No file']);
break;

case 6: // UPLOAD_ERR_NO_TMP_DIR
message($lang_profile['No tmp directory']);
break;

default:
// No error occured, but was something actually uploaded?
if ($uploaded_file['size'] == 0)
message($lang_profile['No file']);
break;
}
}

if (is_uploaded_file($uploaded_file['tmp_name']))
{
// Preliminary file check, adequate in most cases
$allowed_types = array('image/gif', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/x-png');
if (!in_array($uploaded_file['type'], $allowed_types))
message($lang_profile['Bad type']);

// Make sure the file isn't too big
if ($uploaded_file['size'] > $pun_config['o_avatars_size'])
message($lang_profile['Too large'].' '.forum_number_format($pun_config['o_avatars_size']).' '.$lang_profile['bytes'].'.');

// Move the file to the avatar directory. We do this before checking the width/height to circumvent open_basedir restrictions
if (!@move_uploaded_file($uploaded_file['tmp_name'], $pun_config['o_avatars_dir'].'/'.$id.'.tmp'))
message($lang_profile['Move failed'].' <a href="mailto:'.$pun_config['o_admin_email'].'">'.$pun_config['o_admin_email'].'</a>.');

list($width, $height, $type,) = @getimagesize($pun_config['o_avatars_dir'].'/'.$id.'.tmp');

// Determine type
$extension = null;
if ($type == IMAGETYPE_GIF)
$extension = '.gif';
else if ($type == IMAGETYPE_JPEG)
$extension = '.jpg';
else if ($type == IMAGETYPE_PNG)
$extension = '.png';
else
{
// Invalid type
@unlink($pun_config['o_avatars_dir'].'/'.$id.'.tmp');
message($lang_profile['Bad type']);
}

// Now check the width/height
if (empty($width) || empty($height) || $width > $pun_config['o_avatars_width'] || $height > $pun_config['o_avatars_height'])
{
@unlink($pun_config['o_avatars_dir'].'/'.$id.'.tmp');
message($lang_profile['Too wide or high'].' '.$pun_config['o_avatars_width'].'x'.$pun_config['o_avatars_height'].' '.$lang_profile['pixels'].'.');
}

// Delete any old avatars and put the new one in place
delete_avatar($id);
@rename($pun_config['o_avatars_dir'].'/'.$id.'.tmp', $pun_config['o_avatars_dir'].'/'.$id.$extension);
@chmod($pun_config['o_avatars_dir'].'/'.$id.$extension, 0644);
}
else
message($lang_profile['Unknown failure']);

redirect('profile.php?section=personality&id='.$id, $lang_profile['Avatar upload redirect']);
}

$page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_common['Profile'], $lang_profile['Upload avatar']);
$required_fields = array('req_file' => $lang_profile['File']);
$focus_element = array('upload_avatar', 'req_file');
define('PUN_ACTIVE_PAGE', 'profile');
require PUN_ROOT.'header.php';

?>
<div class="blockform">
<h2><span><?php echo $lang_profile['Upload avatar'] ?></span></h2>
<div class="box">
<form id="upload_avatar" method="post" enctype="multipart/form-data" action="profile.php?action=upload_avatar2&id=<?php echo $id ?>" onsubmit="return process_form(this)">
<div class="inform">
<fieldset>
<legend><?php echo $lang_profile['Upload avatar legend'] ?></legend>
<div class="infldset">
<input type="hidden" name="form_sent" value="1" />
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $pun_config['o_avatars_size'] ?>" />
<label class="required"><strong><?php echo $lang_profile['File'] ?> <span><?php echo $lang_common['Required'] ?></span></strong><br /><input name="req_file" type="file" size="40" /><br /></label>
<p><?php echo $lang_profile['Avatar desc'].' '.$pun_config['o_avatars_width'].' x '.$pun_config['o_avatars_height'].' '.$lang_profile['pixels'].' '.$lang_common['and'].' '.forum_number_format($pun_config['o_avatars_size']).' '.$lang_profile['bytes'].' ('.forum_number_format(ceil($pun_config['o_avatars_size'] / 1024)) ?> KB).</p>
</div>
</fieldset>
</div>
<p class="buttons"><input type="submit" name="upload" value="<?php echo $lang_profile['Upload'] ?>" /> <a href="javascript:history.go(-1)"><?php echo $lang_common['Go back'] ?></a></p>
</form>
</div>
</div>
<?php

require PUN_ROOT.'footer.php';
}


else if ($action == 'delete_avatar')
{
if ($pun_user['id'] != $id && !$pun_user['is_admmod'])
message($lang_common['No permission']);

confirm_referrer('profile.php');

delete_avatar($id);

redirect('profile.php?section=personality&id='.$id, $lang_profile['Avatar deleted redirect']);
}


else if (isset($_POST['update_group_membership']))
{
if ($pun_user['g_id'] > PUN_ADMIN)
message($lang_common['No permission']);

confirm_referrer('profile.php');

$new_group_id = intval($_POST['group_id']);

$db->query('UPDATE '.$db->prefix.'users SET group_id='.$new_group_id.' WHERE id='.$id) or error('Unable to change user group', __FILE__, __LINE__, $db->error());

$result = $db->query('SELECT g_moderator FROM '.$db->prefix.'groups WHERE g_id='.$new_group_id) or error('Unable to fetch group', __FILE__, __LINE__, $db->error());
$new_group_mod = $db->result($result);

// If the user was a moderator or an administrator, we remove him/her from the moderator list in all forums as well
if ($new_group_id != PUN_ADMIN && $new_group_mod != '1')
{
$result = $db->query('SELECT id, moderators FROM '.$db->prefix.'forums') or error('Unable to fetch forum list', __FILE__, __LINE__, $db->error());

while ($cur_forum = $db->fetch_assoc($result))
{
$cur_moderators = ($cur_forum['moderators'] != '') ? unserialize($cur_forum['moderators']) : array();

if (in_array($id, $cur_moderators))
{
$username = array_search($id, $cur_moderators);
unset($cur_moderators[$username]);
unset($cur_moderators['groups'][$id]);
if (empty($cur_moderators['groups']))
unset($cur_moderators['groups']);

$cur_moderators = (!empty($cur_moderators)) ? '\''.$db->escape(serialize($cur_moderators)).'\'' : 'NULL';

$db->query('UPDATE '.$db->prefix.'forums SET moderators='.$cur_moderators.' WHERE id='.$cur_forum['id']) or error('Unable to update forum', __FILE__, __LINE__, $db->error());
}
}
}
}

// Else update moderator's group_id
else
{
$result = $db->query('SELECT id, moderators FROM '.$db->prefix.'forums') or error('Unable to fetch forum list', __FILE__, __LINE__, $db->error());

while ($cur_forum = $db->fetch_assoc($result))
{
$cur_moderators = ($cur_forum['moderators'] != '') ? unserialize($cur_forum['moderators']) : array();

if (in_array($id, $cur_moderators))
{
$cur_moderators['groups'][$id] = $new_group_id;
$db->query('UPDATE '.$db->prefix.'forums SET moderators=\''.$db->escape(serialize($cur_moderators)).'\' WHERE id='.$cur_forum['id']) or error('Unable to update forum', __FILE__, __LINE__, $db->error());
}
}


redirect('profile.php?section=admin&id='.$id, $lang_profile['Group membership redirect']);
}


else if (isset($_POST['update_forums']))
{
if ($pun_user['g_id'] > PUN_ADMIN)
message($lang_common['No permission']);

confirm_referrer('profile.php');

// Get the username of the user we are processing
$result = $db->query('SELECT username, group_id FROM '.$db->prefix.'users WHERE id='.$id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
list($username, $group_id) = $db->fetch_row($result);


$moderator_in = (isset($_POST['moderator_in'])) ? array_keys($_POST['moderator_in']) : array();

// Loop through all forums
$result = $db->query('SELECT id, moderators FROM '.$db->prefix.'forums') or error('Unable to fetch forum list', __FILE__, __LINE__, $db->error());

while ($cur_forum = $db->fetch_assoc($result))
{
$cur_moderators = ($cur_forum['moderators'] != '') ? unserialize($cur_forum['moderators']) : array();
if (in_array($cur_forum['id'], $moderator_in) || in_array($id, $cur_moderators))
{
if (!isset($cur_moderators['groups']))
$cur_moderators['groups'] = array();
$cur_moderators['groups'][$id] = $group_id;
}

// If the user should have moderator access (and he/she doesn't already have it)
if (in_array($cur_forum['id'], $moderator_in) && !in_array($id, $cur_moderators))
{
$cur_moderators[$username] = $id;
uksort($cur_moderators, 'utf8_strcasecmp');

$db->query('UPDATE '.$db->prefix.'forums SET moderators=\''.$db->escape(serialize($cur_moderators)).'\' WHERE id='.$cur_forum['id']) or error('Unable to update forum', __FILE__, __LINE__, $db->error());
}
// If the user shouldn't have moderator access (and he/she already has it)
else if (!in_array($cur_forum['id'], $moderator_in) && in_array($id, $cur_moderators))
{
unset($cur_moderators[$username]);
unset($cur_moderators['groups'][$id]);
if (empty($cur_moderators['groups']))
unset($cur_moderators['groups']);

$cur_moderators = (!empty($cur_moderators)) ? '\''.$db->escape(serialize($cur_moderators)).'\'' : 'NULL';

$db->query('UPDATE '.$db->prefix.'forums SET moderators='.$cur_moderators.' WHERE id='.$cur_forum['id']) or error('Unable to update forum', __FILE__, __LINE__, $db->error());
}
}

if (in_array($cur_forum['id'], $moderator_in) || in_array($id, $cur_moderators))
$db->query('UPDATE '.$db->prefix.'forums SET moderators=\''.$db->escape(serialize($cur_moderators)).'\' WHERE id='.$cur_forum['id']) or error('Unable to update forum', __FILE__, __LINE__, $db->error());

redirect('profile.php?section=admin&id='.$id, $lang_profile['Update forums redirect']);
}


else if (isset($_POST['ban']))
{
if ($pun_user['g_id'] != PUN_ADMIN && ($pun_user['g_moderator'] != '1' || $pun_user['g_mod_ban_users'] == '0'))
message($lang_common['No permission']);

redirect('admin_bans.php?add_ban='.$id, $lang_profile['Ban redirect']);
}


else if (isset($_POST['delete_user']) || isset($_POST['delete_user_comply']))
{
if ($pun_user['g_id'] > PUN_ADMIN)
message($lang_common['No permission']);

confirm_referrer('profile.php');

// Get the username and group of the user we are deleting
$result = $db->query('SELECT group_id, username FROM '.$db->prefix.'users WHERE id='.$id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
list($group_id, $username) = $db->fetch_row($result);

if ($group_id == PUN_ADMIN)
message($lang_profile['No delete admin message']);

if (isset($_POST['delete_user_comply']))
{
// If the user is a moderator or an administrator, we remove him/her from the moderator list in all forums as well
$result = $db->query('SELECT g_moderator FROM '.$db->prefix.'groups WHERE g_id='.$group_id) or error('Unable to fetch group', __FILE__, __LINE__, $db->error());
$group_mod = $db->result($result);

if ($group_id == PUN_ADMIN || $group_mod == '1')
{
$result = $db->query('SELECT id, moderators FROM '.$db->prefix.'forums') or error('Unable to fetch forum list', __FILE__, __LINE__, $db->error());

while ($cur_forum = $db->fetch_assoc($result))
{
$cur_moderators = ($cur_forum['moderators'] != '') ? unserialize($cur_forum['moderators']) : array();

if (in_array($id, $cur_moderators))
{
unset($cur_moderators[$username]);
$cur_moderators = (!empty($cur_moderators)) ? '\''.$db->escape(serialize($cur_moderators)).'\'' : 'NULL';

$db->query('UPDATE '.$db->prefix.'forums SET moderators='.$cur_moderators.' WHERE id='.$cur_forum['id']) or error('Unable to update forum', __FILE__, __LINE__, $db->error());
}
}
}

// Delete any subscriptions
$db->query('DELETE FROM '.$db->prefix.'subscriptions WHERE user_id='.$id) or error('Unable to delete subscriptions', __FILE__, __LINE__, $db->error());

// Remove him/her from the online list (if they happen to be logged in)
$db->query('DELETE FROM '.$db->prefix.'online WHERE user_id='.$id) or error('Unable to remove user from online list', __FILE__, __LINE__, $db->error());

// Should we delete all posts made by this user?
if (isset($_POST['delete_posts']))
{
require PUN_ROOT.'include/search_idx.php';
@set_time_limit(0);

// Find all posts made by this user
$result = $db->query('SELECT p.id, p.topic_id, t.forum_id FROM '.$db->prefix.'posts AS p INNER JOIN '.$db->prefix.'topics AS t ON t.id=p.topic_id INNER JOIN '.$db->prefix.'forums AS f ON f.id=t.forum_id WHERE p.poster_id='.$id) or error('Unable to fetch posts', __FILE__, __LINE__, $db->error());
if ($db->num_rows($result))
{
while ($cur_post = $db->fetch_assoc($result))
{
// Determine whether this post is the "topic post" or not
$result2 = $db->query('SELECT id FROM '.$db->prefix.'posts WHERE topic_id='.$cur_post['topic_id'].' ORDER BY posted LIMIT 1') or error('Unable to fetch post info', __FILE__, __LINE__, $db->error());

if ($db->result($result2) == $cur_post['id'])
delete_topic($cur_post['topic_id']);
else
delete_post($cur_post['id'], $cur_post['topic_id']);

update_forum($cur_post['forum_id']);
}
}
}
else
// Set all his/her posts to guest
$db->query('UPDATE '.$db->prefix.'posts SET poster_id=1 WHERE poster_id='.$id) or error('Unable to update posts', __FILE__, __LINE__, $db->error());

// Delete the user
$db->query('DELETE FROM '.$db->prefix.'users WHERE id='.$id) or error('Unable to delete user', __FILE__, __LINE__, $db->error());

// Delete user avatar
delete_avatar($id);

redirect('index.php', $lang_profile['User delete redirect']);
}

$page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_common['Profile'], $lang_profile['Confirm delete user']);
define('PUN_ACTIVE_PAGE', 'profile');
require PUN_ROOT.'header.php';

?>
<div class="blockform">
<h2><span><?php echo $lang_profile['Confirm delete user'] ?></span></h2>
<div class="box">
<form id="confirm_del_user" method="post" action="profile.php?id=<?php echo $id ?>">
<div class="inform">
<fieldset>
<legend><?php echo $lang_profile['Confirm delete legend'] ?></legend>
<div class="infldset">
<p><?php echo $lang_profile['Confirmation info'].' <strong>'.pun_htmlspecialchars($username).'</strong>.' ?></p>
<div class="rbox">
<label><input type="checkbox" name="delete_posts" value="1" checked="checked" /><?php echo $lang_profile['Delete posts'] ?><br /></label>
</div>
<p class="warntext"><strong><?php echo $lang_profile['Delete warning'] ?></strong></p>
</div>
</fieldset>
</div>
<p class="buttons"><input type="submit" name="delete_user_comply" value="<?php echo $lang_profile['Delete'] ?>" /> <a href="javascript:history.go(-1)"><?php echo $lang_common['Go back'] ?></a></p>
</form>
</div>
</div>
<?php

require PUN_ROOT.'footer.php';
}


else if (isset($_POST['form_sent']))
{
// Fetch the user group of the user we are editing
$result = $db->query('SELECT u.group_id, g.g_moderator FROM '.$db->prefix.'users AS u INNER JOIN '.$db->prefix.'groups AS g ON (g.g_id=u.group_id) WHERE u.id='.$id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result))
message($lang_common['Bad request']);

list($group_id, $is_moderator) = $db->fetch_row($result);

if ($pun_user['id'] != $id &&
(!$pun_user['is_admmod'] ||
($pun_user['g_moderator'] == '1' && $pun_user['g_mod_edit_users'] == '0') ||
($pun_user['g_moderator'] == '1' && $is_moderator)))
message($lang_common['No permission']);

if ($pun_user['is_admmod'])
confirm_referrer('profile.php');

$username_updated = false;

// Validate input depending on section
switch ($section)
{
case 'essentials':
{
$form = array(
'timezone' => floatval($_POST['form']['timezone']),
'dst' => isset($_POST['form']['dst']) ? '1' : '0',
'time_format' => intval($_POST['form']['time_format']),
'date_format' => intval($_POST['form']['date_format']),
);

// Make sure we got a valid language string
if (isset($_POST['form']['language']))
{
$form['language'] = preg_replace('#[\.\\\/]#', '', pun_trim($_POST['form']['language']));
if (!file_exists(PUN_ROOT.'lang/'.$form['language'].'/common.php'))
message($lang_common['Bad request']);
}

if ($pun_user['is_admmod'])
{
$form['admin_note'] = pun_trim($_POST['admin_note']);

// Are we allowed to change usernames?
if ($pun_user['g_id'] == PUN_ADMIN || ($pun_user['g_moderator'] == '1' && $pun_user['g_mod_rename_users'] == '1'))
{
$form['username'] = pun_trim($_POST['req_username']);
$old_username = pun_trim($_POST['old_username']);

// Check username
require PUN_ROOT.'lang/'.$pun_user['language'].'/register.php';

$errors = array();
check_username($form['username'], $id);
if (!empty($errors))
message($errors[0]);

if ($form['username'] != $old_username)
$username_updated = true;
}

// We only allow administrators to update the post count
if ($pun_user['g_id'] == PUN_ADMIN)
$form['num_posts'] = intval($_POST['num_posts']);
}

if ($pun_config['o_regs_verify'] == '0' || $pun_user['is_admmod'])
{
require PUN_ROOT.'include/email.php';

// Validate the email address
$form['email'] = strtolower(trim($_POST['req_email']));
if (!is_valid_email($form['email']))
message($lang_common['Invalid email']);
}

break;
}

case 'personal':
{
$form = array(
'realname' => pun_trim($_POST['form']['realname']),
'url' => pun_trim($_POST['form']['url']),
'location' => pun_trim($_POST['form']['location']),
);

// Add http:// if the URL doesn't contain it already (while allowing https://, too)
if ($form['url'] != '' && !preg_match('#^https?://#i', $form['url']))
$form['url'] = 'http://'.$form['url'];

if ($pun_user['g_id'] == PUN_ADMIN)
$form['title'] = pun_trim($_POST['title']);
else if ($pun_user['g_set_title'] == '1')
{
$form['title'] = pun_trim($_POST['title']);

if ($form['title'] != '')
{
// A list of words that the title may not contain
// If the language is English, there will be some duplicates, but it's not the end of the world
$forbidden = array('member', 'moderator', 'administrator', 'banned', 'guest', utf8_strtolower($lang_common['Member']), utf8_strtolower($lang_common['Moderator']), utf8_strtolower($lang_common['Administrator']), utf8_strtolower($lang_common['Banned']), utf8_strtolower($lang_common['Guest']));

if (in_array(utf8_strtolower($form['title']), $forbidden))
message($lang_profile['Forbidden title']);
}
}

break;
}

case 'messaging':
{
$form = array(
'jabber' => pun_trim($_POST['form']['jabber']),
'icq' => pun_trim($_POST['form']['icq']),
'msn' => pun_trim($_POST['form']['msn']),
'aim' => pun_trim($_POST['form']['aim']),
'yahoo' => pun_trim($_POST['form']['yahoo']),
);

// If the ICQ UIN contains anything other than digits it's invalid
if (preg_match('/[^0-9]/', $form['icq']))
message($lang_prof_reg['Bad ICQ']);

break;
}

case 'personality':
{
$form = array();

// Clean up signature from POST
if ($pun_config['o_signatures'] == '1')
{
$form['signature'] = pun_linebreaks(pun_trim($_POST['signature']));

// Validate signature
if (pun_strlen($form['signature']) > $pun_config['p_sig_length'])
message(sprintf($lang_prof_reg['Sig too long'], $pun_config['p_sig_length'], pun_strlen($form['signature']) - $pun_config['p_sig_length']));
else if (substr_count($form['signature'], "\n") > ($pun_config['p_sig_lines']-1))
message(sprintf($lang_prof_reg['Sig too many lines'], $pun_config['p_sig_lines']));
else if ($form['signature'] && $pun_config['p_sig_all_caps'] == '0' && is_all_uppercase($form['signature']) && !$pun_user['is_admmod'])
$form['signature'] = utf8_ucwords(utf8_strtolower($form['signature']));

// Validate BBCode syntax
if ($pun_config['p_sig_bbcode'] == '1')
{
require PUN_ROOT.'include/parser.php';

$errors = array();

$form['signature'] = preparse_bbcode($form['signature'], $errors, true);

if(count($errors) > 0)
message('<ul><li>'.implode('</li><li>', $errors).'</li></ul>');
}
}

break;
}

case 'display':
{
$form = array(
'disp_topics' => pun_trim($_POST['form']['disp_topics']),
'disp_posts' => pun_trim($_POST['form']['disp_posts']),
'show_smilies' => isset($_POST['form']['show_smilies']) ? '1' : '0',
'show_img' => isset($_POST['form']['show_img']) ? '1' : '0',
'show_img_sig' => isset($_POST['form']['show_img_sig']) ? '1' : '0',
'show_avatars' => isset($_POST['form']['show_avatars']) ? '1' : '0',
'show_sig' => isset($_POST['form']['show_sig']) ? '1' : '0',
);
$form['reputation_enable'] = pun_linebreaks(trim($_POST['reputation_enable']));
if (!isset($form['reputation_enable']) || $form['reputation_enable'] != '1') $form['reputation_enable'] = '0';

if ($form['disp_topics'] != '')
{
$form['disp_topics'] = intval($form['disp_topics']);
if ($form['disp_topics'] < 3)
$form['disp_topics'] = 3;
else if ($form['disp_topics'] > 75)
$form['disp_topics'] = 75;
}

if ($form['disp_posts'] != '')
{
$form['disp_posts'] = intval($form['disp_posts']);
if ($form['disp_posts'] < 3)
$form['disp_posts'] = 3;
else if ($form['disp_posts'] > 75)
$form['disp_posts'] = 75;
}

// Make sure we got a valid style string
if (isset($_POST['form']['style']))
{
$form['style'] = preg_replace('#[\.\\\/]#', '', pun_trim($_POST['form']['style']));
if (!file_exists(PUN_ROOT.'style/'.$form['style'].'.css'))
message($lang_common['Bad request']);
}

break;
}

case 'privacy':
{
$form = array(
'email_setting' => intval($_POST['form']['email_setting']),
'notify_with_post' => isset($_POST['form']['notify_with_post']) ? '1' : '0',
'auto_notify' => isset($_POST['form']['auto_notify']) ? '1' : '0',
);

if ($form['email_setting'] < 0 || $form['email_setting'] > 2)
$form['email_setting'] = $pun_config['o_default_email_setting'];

break;
}

default:
message($lang_common['Bad request']);
}


// Single quotes around non-empty values and NULL for empty values
$temp = array();
foreach ($form as $key => $input)
{
$value = ($input !== '') ? '\''.$db->escape($input).'\'' : 'NULL';

$temp[] = $key.'='.$value;
}

if (empty($temp))
message($lang_common['Bad request']);


$db->query('UPDATE '.$db->prefix.'users SET '.implode(',', $temp).' WHERE id='.$id) or error('Unable to update profile', __FILE__, __LINE__, $db->error());

// If we changed the username we have to update some stuff
if ($username_updated)
{
$db->query('UPDATE '.$db->prefix.'posts SET poster=\''.$db->escape($form['username']).'\' WHERE poster_id='.$id) or error('Unable to update posts', __FILE__, __LINE__, $db->error());
$db->query('UPDATE '.$db->prefix.'posts SET edited_by=\''.$db->escape($form['username']).'\' WHERE edited_by=\''.$db->escape($old_username).'\'') or error('Unable to update posts', __FILE__, __LINE__, $db->error());
$db->query('UPDATE '.$db->prefix.'topics SET poster=\''.$db->escape($form['username']).'\' WHERE poster=\''.$db->escape($old_username).'\'') or error('Unable to update topics', __FILE__, __LINE__, $db->error());
$db->query('UPDATE '.$db->prefix.'topics SET last_poster=\''.$db->escape($form['username']).'\' WHERE last_poster=\''.$db->escape($old_username).'\'') or error('Unable to update topics', __FILE__, __LINE__, $db->error());
$db->query('UPDATE '.$db->prefix.'forums SET last_poster=\''.$db->escape($form['username']).'\' WHERE last_poster=\''.$db->escape($old_username).'\'') or error('Unable to update forums', __FILE__, __LINE__, $db->error());
$db->query('UPDATE '.$db->prefix.'online SET ident=\''.$db->escape($form['username']).'\' WHERE ident=\''.$db->escape($old_username).'\'') or error('Unable to update online list', __FILE__, __LINE__, $db->error());

// If the user is a moderator or an administrator we have to update the moderator lists
$result = $db->query('SELECT group_id FROM '.$db->prefix.'users WHERE id='.$id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
$group_id = $db->result($result);

$result = $db->query('SELECT g_moderator FROM '.$db->prefix.'groups WHERE g_id='.$group_id) or error('Unable to fetch group', __FILE__, __LINE__, $db->error());
$group_mod = $db->result($result);

if ($group_id == PUN_ADMIN || $group_mod == '1')
{
$result = $db->query('SELECT id, moderators FROM '.$db->prefix.'forums') or error('Unable to fetch forum list', __FILE__, __LINE__, $db->error());

while ($cur_forum = $db->fetch_assoc($result))
{
$cur_moderators = ($cur_forum['moderators'] != '') ? unserialize($cur_forum['moderators']) : array();

if (in_array($id, $cur_moderators))
{
unset($cur_moderators[$old_username]);
$cur_moderators[$form['username']] = $id;
uksort($cur_moderators, 'utf8_strcasecmp');

$db->query('UPDATE '.$db->prefix.'forums SET moderators=\''.$db->escape(serialize($cur_moderators)).'\' WHERE id='.$cur_forum['id']) or error('Unable to update forum', __FILE__, __LINE__, $db->error());
}
}
}
}

redirect('profile.php?section='.$section.'&id='.$id, $lang_profile['Profile redirect']);
}


$result = $db->query('SELECT u.username, u.email, u.title, u.realname, u.url, u.jabber, u.icq, u.msn, u.aim, u.yahoo, u.location, u.signature, u.disp_topics, u.disp_posts, u.email_setting, u.notify_with_post, u.auto_notify, u.show_smilies, u.show_img, u.show_img_sig, u.show_avatars, u.show_sig, u.timezone, u.dst, u.language, u.style, u.num_posts, u.last_post, u.registered, u.registration_ip, u.admin_note, u.date_format, u.time_format, g.g_id, g.g_user_title, g.g_moderator FROM '.$db->prefix.'users AS u LEFT JOIN '.$db->prefix.'groups AS g ON g.g_id=u.group_id WHERE u.id='.$id) or error('Unable to fetch user info', __FILE__, __LINE__, $db->error());
if (!$db->num_rows($result))
message($lang_common['Bad request']);

$user = $db->fetch_assoc($result);

$last_post = format_time($user['last_post']);

if ($user['signature'] != '')
{
require PUN_ROOT.'include/parser.php';
$parsed_signature = parse_signature($user['signature']);
}


// View or edit?
if ($pun_user['id'] != $id &&
(!$pun_user['is_admmod'] ||
($pun_user['g_moderator'] == '1' && $pun_user['g_mod_edit_users'] == '0') ||
($pun_user['g_moderator'] == '1' && $user['g_moderator'] == '1')))
{
$user_personal = array();

$user_personal[] = '<dt>'.$lang_common['Username'].'</dt>';
$user_personal[] = '<dd>'.colorize_group($user['username'], $user['g_id']).'</dd>';


$user_title_field = get_title($user);
$user_personal[] = '<dt>'.$lang_common['Title'].'</dt>';
$user_personal[] = '<dd>'.(($pun_config['o_censoring'] == '1') ? censor_words($user_title_field) : $user_title_field).'</dd>';

if ($user['realname'] != '')
{
$user_personal[] = '<dt>'.$lang_profile['Realname'].'</dt>';
$user_personal[] = '<dd>'.pun_htmlspecialchars(($pun_config['o_censoring'] == '1') ? censor_words($user['realname']) : $user['realname']).'</dd>';
}

if ($user['location'] != '')
{
$user_personal[] = '<dt>'.$lang_profile['Location'].'</dt>';
$user_personal[] = '<dd>'.pun_htmlspecialchars(($pun_config['o_censoring'] == '1') ? censor_words($user['location']) : $user['location']).'</dd>';
}

if ($user['url'] != '')
{
$user['url'] = pun_htmlspecialchars(($pun_config['o_censoring'] == '1') ? censor_words($user['url']) : $user['url']);
$user_personal[] = '<dt>'.$lang_profile['Website'].'</dt>';
$user_personal[] = '<dd><span class="website"><a href="'.$user['url'].'">'.$user['url'].'</a></span></dd>';
}

if ($user['email_setting'] == '0' && !$pun_user['is_guest'] && $pun_user['g_send_email'] == '1')
$email_field = '<a href="mailto:'.$user['email'].'">'.$user['email'].'</a>';
else if ($user['email_setting'] == '1' && !$pun_user['is_guest'] && $pun_user['g_send_email'] == '1')
$email_field = '<a href="misc.php?email='.$id.'">'.$lang_common['Send email'].'</a>';
else
$email_field = '';
if ($email_field != '')
{
$user_personal[] = '<dt>'.$lang_common['Email'].'</dt>';
$user_personal[] = '<dd><span class="email">'.$email_field.'</span></dd>';
}

$user_messaging = array();

if ($user['jabber'] != '')
{
$user_messaging[] = '<dt>'.$lang_profile['Jabber'].'</dt>';
$user_messaging[] = '<dd>'.pun_htmlspecialchars(($pun_config['o_censoring'] == '1') ? censor_words($user['jabber']) : $user['jabber']).'</dd>';
}

if ($user['icq'] != '')
{
$user_messaging[] = '<dt>'.$lang_profile['ICQ'].'</dt>';
$user_messaging[] = '<dd>'.$user['icq'].'</dd>';
}

if ($user['msn'] != '')
{
$user_messaging[] = '<dt>'.$lang_profile['MSN'].'</dt>';
$user_messaging[] = '<dd>'.pun_htmlspecialchars(($pun_config['o_censoring'] == '1') ? censor_words($user['msn']) : $user['msn']).'</dd>';
}

if ($user['aim'] != '')
{
$user_messaging[] = '<dt>'.$lang_profile['AOL IM'].'</dt>';
$user_messaging[] = '<dd>'.pun_htmlspecialchars(($pun_config['o_censoring'] == '1') ? censor_words($user['aim']) : $user['aim']).'</dd>';
}

if ($user['yahoo'] != '')
{
$user_messaging[] = '<dt>'.$lang_profile['Yahoo'].'</dt>';
$user_messaging[] = '<dd>'.pun_htmlspecialchars(($pun_config['o_censoring'] == '1') ? censor_words($user['yahoo']) : $user['yahoo']).'</dd>';
}

$user_personality = array();

if ($pun_config['o_avatars'] == '1')
{
$avatar_field = generate_avatar_markup($id);
if ($avatar_field != '')
{
$user_personality[] = '<dt>'.$lang_profile['Avatar'].'</dt>';
$user_personality[] = '<dd>'.$avatar_field.'</dd>';
}
}

if ($pun_config['o_signatures'] == '1')
{
if (isset($parsed_signature))
{
$user_personality[] = '<dt>'.$lang_profile['Signature'].'</dt>';
$user_personality[] = '<dd><div class="postsignature postmsg">'.$parsed_signature.'</div></dd>';
}
}

$user_activity = array();

$posts_field = '';
if ($pun_config['o_show_post_count'] == '1' || $pun_user['is_admmod'])
$posts_field = forum_number_format($user['num_posts']);
if ($pun_user['g_search'] == '1' && $user['num_posts'] > 0)
$posts_field .= (($posts_field != '') ? ' - ' : '').'<a href="search.php?action=show_user&user_id='.$id.'">'.$lang_profile['Show posts'].'</a>';
if ($posts_field != '')
{
$user_activity[] = '<dt>'.$lang_common['Posts'].'</dt>';
$user_activity[] = '<dd>'.$posts_field.'</dd>';
}

if ($user['num_posts'] > 0)
{
$user_activity[] = '<dt>'.$lang_common['Last post'].'</dt>';
$user_activity[] = '<dd>'.$last_post.'</dd>';
}

$user_activity[] = '<dt>'.$lang_common['Registered'].'</dt>';
$user_activity[] = '<dd>'.format_time($user['registered'], true).'</dd>';

$page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), sprintf($lang_profile['Users profile'], pun_htmlspecialchars($user['username'])));
define('PUN_ALLOW_INDEX', 1);
define('PUN_ACTIVE_PAGE', 'index');
require PUN_ROOT.'header.php';

?>
<div id="viewprofile" class="block">
<h2><span><?php echo $lang_common['Profile'] ?></span></h2>
<div class="box">
<div class="fakeform">
<div class="inform">
<fieldset>
<legend><?php echo $lang_profile['Section personal'] ?></legend>
<div class="infldset">
<dl>
<?php echo implode("\n\t\t\t\t\t\t\t", $user_personal)."\n" ?>
</dl>
<div class="clearer"></div>
</div>
</fieldset>
</div>
<?php if (!empty($user_messaging)): ?> <div class="inform">
<fieldset>
<legend><?php echo $lang_profile['Section messaging'] ?></legend>
<div class="infldset">
<dl>
<?php echo implode("\n\t\t\t\t\t\t\t", $user_messaging)."\n" ?>
</dl>
<div class="clearer"></div>
</div>
</fieldset>
</div>
<?php endif; if (!empty($user_personality)): ?> <div class="inform">
<fieldset>
<legend><?php echo $lang_profile['Section personality'] ?></legend>
<div class="infldset">
<dl>
<?php echo implode("\n\t\t\t\t\t\t\t", $user_personality)."\n" ?>
</dl>
<div class="clearer"></div>
</div>
</fieldset>
</div>
<?php endif; ?> <div class="inform">
<fieldset>
<legend><?php echo $lang_profile['User activity'] ?></legend>
<div class="infldset">
<dl>
<?php echo implode("\n\t\t\t\t\t\t\t", $user_activity)."\n" ?>
</dl>
<div class="clearer"></div>
</div>
</fieldset>
</div>
</div>
</div>
</div>

<?php

require PUN_ROOT.'footer.php';
}
else
{
if (!$section || $section == 'essentials')
{
if ($pun_user['is_admmod'])
{
if ($pun_user['g_id'] == PUN_ADMIN || $pun_user['g_mod_rename_users'] == '1')
$username_field = '<input type="hidden" name="old_username" value="'.pun_htmlspecialchars($user['username']).'" /><label class="required"><strong>'.$lang_common['Username'].' <span>'.$lang_common['Required'].'</span></strong><br /><input type="text" name="req_username" value="'.pun_htmlspecialchars($user['username']).'" size="25" maxlength="25" /><br /></label>'."\n";
else
$username_field = '<p>'.sprintf($lang_profile['Username info'], pun_htmlspecialchars($user['username'])).'</p>'."\n";

$email_field = '<label class="required"><strong>'.$lang_common['Email'].' <span>'.$lang_common['Required'].'</span></strong><br /><input type="text" name="req_email" value="'.$user['email'].'" size="40" maxlength="80" /><br /></label><p><span class="email"><a href="misc.php?email='.$id.'">'.$lang_common['Send email'].'</a></span></p>'."\n";
}
else
{
$username_field = '<p>'.$lang_common['Username'].': '.pun_htmlspecialchars($user['username']).'</p>'."\n";

if ($pun_config['o_regs_verify'] == '1')
$email_field = '<p>'.sprintf($lang_profile['Email info'], $user['email'].' - <a href="profile.php?action=change_email&id='.$id.'">'.$lang_profile['Change email'].'</a>').'</p>'."\n";
else
$email_field = '<label class="required"><strong>'.$lang_common['Email'].' <span>'.$lang_common['Required'].'</span></strong><br /><input type="text" name="req_email" value="'.$user['email'].'" size="40" maxlength="80" /><br /></label>'."\n";
}

$posts_field = '';
if ($pun_user['g_id'] == PUN_ADMIN)
$posts_field = '<label>'.$lang_common['Posts'].'<br /><input type="text" name="num_posts" value="'.$user['num_posts'].'" size="8" maxlength="8" /><br /></label><p class="actions"><span><a href="search.php?action=show_user&user_id='.$id.'">'.$lang_profile['Show posts'].'</a></span></p>'."\n";
else if ($pun_config['o_show_post_count'] == '1' || $pun_user['is_admmod'])
$posts_field = '<p>'.sprintf($lang_profile['Posts info'], forum_number_format($user['num_posts']).($pun_user['g_search'] == '1' ? ' - <a href="search.php?action=show_user&user_id='.$id.'">'.$lang_profile['Show posts'].'</a>' : '')).'</p>'."\n";
else if ($pun_user['g_search'] == '1')
$posts_field = '<p class="actions"><span><a href="search.php?action=show_user&user_id='.$id.'">'.$lang_profile['Show posts'].'</a></span></p>'."\n";


$page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_common['Profile'], $lang_profile['Section essentials']);
$required_fields = array('req_username' => $lang_common['Username'], 'req_email' => $lang_common['Email']);
define('PUN_ACTIVE_PAGE', 'profile');
require PUN_ROOT.'header.php';

generate_profile_menu('essentials');

?>
<div class="blockform">
<h2><span><?php echo pun_htmlspecialchars($user['username']).' - '.$lang_profile['Section essentials'] ?></span></h2>
<div class="box">
<form id="profile1" method="post" action="profile.php?section=essentials&id=<?php echo $id ?>" onsubmit="return process_form(this)">
<div class="inform">
<fieldset>
<legend><?php echo $lang_profile['Username and pass legend'] ?></legend>
<div class="infldset">
<input type="hidden" name="form_sent" value="1" />
<?php echo $username_field ?>
<?php if ($pun_user['id'] == $id || $pun_user['g_id'] == PUN_ADMIN || ($user['g_moderator'] == '0' && $pun_user['g_mod_change_passwords'] == '1')): ?> <p class="actions"><span><a href="profile.php?action=change_pass&id=<?php echo $id ?>"><?php echo $lang_profile['Change pass'] ?></a></span></p>
<?php endif; ?> </div>
</fieldset>
</div>
<div class="inform">
<fieldset>
<legend><?php echo $lang_prof_reg['Email legend'] ?></legend>
<div class="infldset">
<?php echo $email_field ?>
</div>
</fieldset>
</div>
<div class="inform">
<fieldset>
<legend><?php echo $lang_prof_reg['Localisation legend'] ?></legend>
<div class="infldset">
<p><?php echo $lang_prof_reg['Time zone info'] ?></p>
<label><?php echo $lang_prof_reg['Time zone']."\n" ?>
<br /><select name="form[timezone]">
<option value="-12"<?php if ($user['timezone'] == -12) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC-12:00'] ?></option>
<option value="-11"<?php if ($user['timezone'] == -11) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC-11:00'] ?></option>
<option value="-10"<?php if ($user['timezone'] == -10) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC-10:00'] ?></option>
<option value="-9.5"<?php if ($user['timezone'] == -9.5) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC-09:30'] ?></option>
<option value="-9"<?php if ($user['timezone'] == -9) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC-09:00'] ?></option>
<option value="-8.5"<?php if ($user['timezone'] == -8.5) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC-08:30'] ?></option>
<option value="-8"<?php if ($user['timezone'] == -8) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC-08:00'] ?></option>
<option value="-7"<?php if ($user['timezone'] == -7) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC-07:00'] ?></option>
<option value="-6"<?php if ($user['timezone'] == -6) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC-06:00'] ?></option>
<option value="-5"<?php if ($user['timezone'] == -5) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC-05:00'] ?></option>
<option value="-4"<?php if ($user['timezone'] == -4) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC-04:00'] ?></option>
<option value="-3.5"<?php if ($user['timezone'] == -3.5) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC-03:30'] ?></option>
<option value="-3"<?php if ($user['timezone'] == -3) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC-03:00'] ?></option>
<option value="-2"<?php if ($user['timezone'] == -2) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC-02:00'] ?></option>
<option value="-1"<?php if ($user['timezone'] == -1) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC-01:00'] ?></option>
<option value="0"<?php if ($user['timezone'] == 0) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC'] ?></option>
<option value="1"<?php if ($user['timezone'] == 1) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+01:00'] ?></option>
<option value="2"<?php if ($user['timezone'] == 2) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+02:00'] ?></option>
<option value="3"<?php if ($user['timezone'] == 3) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+03:00'] ?></option>
<option value="3.5"<?php if ($user['timezone'] == 3.5) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+03:30'] ?></option>
<option value="4"<?php if ($user['timezone'] == 4) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+04:00'] ?></option>
<option value="4.5"<?php if ($user['timezone'] == 4.5) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+04:30'] ?></option>
<option value="5"<?php if ($user['timezone'] == 5) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+05:00'] ?></option>
<option value="5.5"<?php if ($user['timezone'] == 5.5) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+05:30'] ?></option>
<option value="5.75"<?php if ($user['timezone'] == 5.75) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+05:45'] ?></option>
<option value="6"<?php if ($user['timezone'] == 6) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+06:00'] ?></option>
<option value="6.5"<?php if ($user['timezone'] == 6.5) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+06:30'] ?></option>
<option value="7"<?php if ($user['timezone'] == 7) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+07:00'] ?></option>
<option value="8"<?php if ($user['timezone'] == 8) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+08:00'] ?></option>
<option value="8.75"<?php if ($user['timezone'] == 8.75) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+08:45'] ?></option>
<option value="9"<?php if ($user['timezone'] == 9) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+09:00'] ?></option>
<option value="9.5"<?php if ($user['timezone'] == 9.5) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+09:30'] ?></option>
<option value="10"<?php if ($user['timezone'] == 10) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+10:00'] ?></option>
<option value="10.5"<?php if ($user['timezone'] == 10.5) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+10:30'] ?></option>
<option value="11"<?php if ($user['timezone'] == 11) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+11:00'] ?></option>
<option value="11.5"<?php if ($user['timezone'] == 11.5) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+11:30'] ?></option>
<option value="12"<?php if ($user['timezone'] == 12) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+12:00'] ?></option>
<option value="12.75"<?php if ($user['timezone'] == 12.75) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+12:45'] ?></option>
<option value="13"<?php if ($user['timezone'] == 13) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+13:00'] ?></option>
<option value="14"<?php if ($user['timezone'] == 14) echo ' selected="selected"' ?>><?php echo $lang_prof_reg['UTC+14:00'] ?></option>
</select>
<br /></label>
<div class="rbox">
<label><input type="checkbox" name="form[dst]" value="1"<?php if ($user['dst'] == '1') echo ' checked="checked"' ?> /><?php echo $lang_prof_reg['DST'] ?><br /></label>
</div>
<label><?php echo $lang_prof_reg['Time format'] ?>

<br /><select name="form[time_format]">
<?php
foreach (array_unique($forum_time_formats) as $key => $time_format)
{
echo "\t\t\t\t\t\t\t\t".'<option value="'.$key.'"';
if ($user['time_format'] == $key)
echo ' selected="selected"';
echo '>'. format_time(time(), false, null, $time_format, true, true);
if ($key == 0)
echo ' ('.$lang_prof_reg['Default'].')';
echo "</option>\n";
}
?>
</select>
<br /></label>
<label><?php echo $lang_prof_reg['Date format'] ?>

<br /><select name="form[date_format]">
<?php
foreach (array_unique($forum_date_formats) as $key => $date_format)
{
echo "\t\t\t\t\t\t\t\t".'<option value="'.$key.'"';
if ($user['date_format'] == $key)
echo ' selected="selected"';
echo '>'. format_time(time(), true, $date_format, null, false, true);
if ($key == 0)
echo ' ('.$lang_prof_reg['Default'].')';
echo "</option>\n";
}
?>
</select>
<br /></label>

<?php

$languages = forum_list_langs();

// Only display the language selection box if there's more than one language available
if (count($languages) > 1)
{

?>
<label><?php echo $lang_prof_reg['Language'] ?>
<br /><select name="form[language]">
<?php

foreach ($languages as $temp)
{
if ($user['language'] == $temp)
echo "\t\t\t\t\t\t\t\t".'<option value="'.$temp.'" selected="selected">'.$temp.'</option>'."\n";
else
echo "\t\t\t\t\t\t\t\t".'<option value="'.$temp.'">'.$temp.'</option>'."\n";
}

?>
</select>
<br /></label>
<?php

}

?>
</div>
</fieldset>
</div>
<div class="inform">
<fieldset>
<legend><?php echo $lang_profile['User activity'] ?></legend>
<div class="infldset">
<p><?php printf($lang_profile['Registered info'], format_time($user['registered'], true).(($pun_user['is_admmod']) ? ' (<a href="moderate.php?get_host='.pun_htmlspecialchars($user['registration_ip']).'">'.pun_htmlspecialchars($user['registration_ip']).'</a>)' : '')) ?></p>
<p><?php printf($lang_profile['Last post info'], $last_post) ?></p>
<?php echo $posts_field ?>
<?php if ($pun_user['is_admmod']): ?> <label><?php echo $lang_profile['Admin note'] ?><br />
<input id="admin_note" type="text" name="admin_note" value="<?php echo pun_htmlspecialchars($user['admin_note']) ?>" size="30" maxlength="30" /><br /></label>
<?php endif; ?> </div>
</fieldset>
</div>
<p class="buttons"><input type="submit" name="update" value="<?php echo $lang_common['Submit'] ?>" /> <?php echo $lang_profile['Instructions'] ?></p>
</form>
</div>
</div>
<?php

}
else if ($section == 'personal')
{
if ($pun_user['g_set_title'] == '1')
$title_field = '<label>'.$lang_common['Title'].' <em>('.$lang_profile['Leave blank'].')</em><br /><input type="text" name="title" value="'.pun_htmlspecialchars($user['title']).'" size="30" maxlength="50" /><br /></label>'."\n";

$page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_common['Profile'], $lang_profile['Section personal']);
define('PUN_ACTIVE_PAGE', 'profile');
require PUN_ROOT.'header.php';

generate_profile_menu('personal');

?>
<div class="blockform">
<h2><span><?php echo pun_htmlspecialchars($user['username']).' - '.$lang_profile['Section personal'] ?></span></h2>
<div class="box">
<form id="profile2" method="post" action="profile.php?section=personal&id=<?php echo $id ?>">
<div class="inform">
<fieldset>
<legend><?php echo $lang_profile['Personal details legend'] ?></legend>
<div class="infldset">
<input type="hidden" name="form_sent" value="1" />
<label><?php echo $lang_profile['Realname'] ?><br /><input type="text" name="form[realname]" value="<?php echo pun_htmlspecialchars($user['realname']) ?>" size="40" maxlength="40" /><br /></label>
<?php if (isset($title_field)): ?> <?php echo $title_field ?>
<?php endif; ?> <label><?php echo $lang_profile['Location'] ?><br /><input type="text" name="form[location]" value="<?php echo pun_htmlspecialchars($user['location']) ?>" size="30" maxlength="30" /><br /></label>
<label><?php echo $lang_profile['Website'] ?><br /><input type="text" name="form </div>
</fieldset>
</div>
<p class="buttons"><input type="submit" name="update" value="<?php echo $lang_common['Submit'] ?>" /> <?php echo $lang_profile['Instructions'] ?></p>
</form>
</div>
</div>
<?php

}
else if ($section == 'messaging')
{

$page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_common['Profile'], $lang_profile['Section messaging']);
define('PUN_ACTIVE_PAGE', 'profile');
require PUN_ROOT.'header.php';

generate_profile_menu('messaging');

?>
<div class="blockform">
<h2><span><?php echo pun_htmlspecialchars($user['username']).' - '.$lang_profile['Section messaging'] ?></span></h2>
<div class="box">
<form id="profile3" method="post" action="profile.php?section=messaging&id=<?php echo $id ?>">
<div class="inform">
<fieldset>
<legend><?php echo $lang_profile['Contact details legend'] ?></legend>
<div class="infldset">
<input type="hidden" name="form_sent" value="1" />
<label><?php echo $lang_profile['Jabber'] ?><br /><input id="jabber" type="text" name="form[jabber]" value="<?php echo pun_htmlspecialchars($user['jabber']) ?>" size="40" maxlength="75" /><br /></label>
<label><?php echo $lang_profile['ICQ'] ?><br /><input id="icq" type="text" name="form[icq]" value="<?php echo $user['icq'] ?>" size="12" maxlength="12" /><br /></label>
<label><?php echo $lang_profile['MSN'] ?><br /><input id="msn" type="text" name="form[msn]" value="<?php echo pun_htmlspecialchars($user['msn']) ?>" size="40" maxlength="50" /><br /></label>
<label><?php echo $lang_profile['AOL IM'] ?><br /><input id="aim" type="text" name="form[aim]" value="<?php echo pun_htmlspecialchars($user['aim']) ?>" size="20" maxlength="30" /><br /></label>
<label><?php echo $lang_profile['Yahoo'] ?><br /><input id="yahoo" type="text" name="form[yahoo]" value="<?php echo pun_htmlspecialchars($user['yahoo']) ?>" size="20" maxlength="30" /><br /></label>
</div>[/cp" target="_blank">" value="<?php echo pun_htmlspecialchars($user['url']) ?>" size="50" maxlength="80" /><br /></label>
</div>
</fieldset>
</div>
<p class="buttons"><input type="submit" name="update" value="<?php echo $lang_common['Submit'] ?>" /> <?php echo $lang_profile['Instructions'] ?></p>
</form>
</div>
</div>
<?php

}
else if ($section == 'messaging')
{

$page_title = array(pun_htmlspecialchars($pun_config['o_board_title']), $lang_common['Profile'], $lang_profile['Section messaging']);
define('PUN_ACTIVE_PAGE', 'profile');
require PUN_ROOT.'header.php';

generate_profile_menu('messaging');

?>
<div class="blockform">
<h2><span><?php echo pun_htmlspecialchars($user['username']).' - '.$lang_profile['Section messaging'] ?></span></h2>
<div class="box">
<form id="profile3" method="post" action="profile.php?section=messaging&id=<?php echo $id ?>">
<div class="inform">
<fieldset>
<legend><?php echo $lang_profile['Contact details legend'] ?></legend>
<div class="infldset">
<input type="hidden" name="form_sent" value="1" />
<label><?php echo $lang_profile['Jabber'] ?><br /><input id="jabber" type="text" name="form[jabber]" value="<?php echo pun_htmlspecialchars($user['jabber']) ?>" size="40" maxlength="75" /><br /></label>
<label><?php echo $lang_profile['ICQ'] ?><br /><input id="icq" type="text" name="form[icq]" value="<?php echo $user['icq'] ?>" size="12" maxlength="12" /><br /></label>
<label><?php echo $lang_profile['MSN'] ?><br /><input id="msn" type="text" name="form[msn]" value="<?php echo pun_htmlspecialchars($user['msn']) ?>" size="40" maxlength="50" /><br /></label>
<label><?php echo $lang_profile['AOL IM'] ?><br /><input id="aim" type="text" name="form[aim]" value="<?php echo pun_htmlspecialchars($user['aim']) ?>" size="20" maxlength="30" /><br /></label>
<label><?php echo $lang_profile['Yahoo'] ?><br /><input id="yahoo" type="text" name="form[yahoo]" value="<?php echo pun_htmlspecialchars($user['yahoo']) ?>" size="20" maxlength="30" /><br /></label>
</div>[/cp

Autres pages sur : resolu probleme code php

a c 145 L Programmation
4 Janvier 2011 22:48:14

Oui, il y a surement un } en trop, ce qui se voit quand on indente proprement le code.

A mon avis, c'est à la ligne 489, avant:
  1. redirect('profile.php?section=admin&id='.$id, $lang_profile['Group membership redirect']);

m
0
l
4 Janvier 2011 23:03:31

J'ai supprimer la balise } à la ligne 489, mais l'erreur est toujours la.
m
0
l
Contenus similaires
5 Janvier 2011 00:14:06

As tu pris la derniere version sur leur site ? As tu été voir leur forum de support ? Tu n'est peut etre pas le seul à avoir eu ce probleme.
m
0
l
a c 232 L Programmation
5 Janvier 2011 00:18:14

A la ligne 477 il y a un
else {
...
}

Sauf qu'à la ligne 497, c'est suivi par un
else if (...) {

Ce qui n'est pas possible

A mon avis, il manque un } juste avant la ligne 497 else if (isset($_POST['update_forums']))

Edit: bon c'est en ayant regardé le code 30s, donc c'est peut être pas ça
m
0
l
5 Janvier 2011 14:41:13

C'est bon mon problème est résolu,

J'ai refais mes modifications du codage de A à Z et tout est rentré dans l'ordre

Par contre je ne sais pas de où venait le problème, mais le principal c'est que tout re-fonctionne comme il faut

Merci quand même de votre aides

Cordialement,
m
0
l
a c 145 L Programmation
5 Janvier 2011 14:52:17

Parfait.
Un petit conseil tout de même: il vaut mieux utiliser "elseif" que "else if" pour une question de performances.
m
0
l
5 Janvier 2011 14:58:46

crazycat@idn a dit :
Parfait.
Un petit conseil tout de même: il vaut mieux utiliser "elseif" que "else if" pour une question de performances.


a cause d'un espace à la con ? susceptible pour un rien le php !
m
0
l
a c 145 L Programmation
5 Janvier 2011 15:16:39

Oui :) 
Mais c'est vrai dans tous les langages et ça se démontre très vite.
Si on a une grande suite de conditions:
  1. <?php
  2. if ($a ==1) {
  3. echo "1";
  4. } elseif ($a == 2) {
  5. echo "2";
  6. } elseif ($a == 3) {
  7. echo "3"
  8. } else {
  9. echo $a;
  10. }
  11. ?>

Ce code est simple et sitôt qu'une des conditions est validée, les autres sont oubliées.
Avec l'autre version (codée en explicite, pas en implicite):
  1. <?php
  2. if ($a ==1) {
  3. echo "1";
  4. } else {
  5. if ($a == 2) {
  6. echo "2";
  7. } else {
  8. if ($a == 3) {
  9. echo "3"
  10. } else {
  11. echo $a;
  12. }
  13. }
  14. ?>

La complexité du code montre que PHP va devoir tester bien plus de conditions si celle qui est remplie n'est pas dans les premières.
m
0
l
5 Janvier 2011 15:49:55

j'ai ou tu as mal interprété le sens, je parlais d'un espace entre else et if : elseif / else if mais pas avec des acollade pour des instructions supplémentaires.

Quand tu parlais d'un espace j'en déduisais :

<?php
if ($a ==1) {
echo "1";
} elseif ($a == 2) {
echo "2";
} elseif ($a == 3) {
echo "3"
} else {
echo $a;
}
?>

etait mieux que :

<?php
if ($a ==1) {
echo "1";
} else if ($a == 2) {
echo "2";
} else if ($a == 3) {
echo "3"
} else {
echo $a;
}
?>

c'est pour ca que je ne comprenais pas les "problèmes" de performances à ce niveaux. :D 
Car dans ton exemple tu double le nombre d'instruction donc sur ce point on est entièrement d'accord ;) 
m
0
l
a c 145 L Programmation
5 Janvier 2011 15:52:45

Je m'en doutais, c'est pour ça que j'ai mis le code explicité.
Cela se voit beaucoup mieux dans les langages où l'on utilise elif (ou elsif) et qui sont beaucoup moins permissifs sur la structure des conditions.
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS