Aller au contenu

Phobos

Hubmaster
  • Compteur de contenus

    306
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par Phobos

  1. ForumFr ouvert le 1er decembre 2004 et on est à plus de 5000VU, on a fait plus de 9000 vendredi dernier
  2. Salut, ça ne pose aucun problèmes puisque ce ne sont simplement que quelques commentaires, non lus par les robots des principaux moteurs de recherche
  3. De rien Xavfun La réponse est quand même présente dans le forum spécialisé mais elle est bien cachée, dans un post datant d'avril je crois, (sans rapports avec la 2.0.15 ). edit: Voici le code pour ceux qui n'arrive pas à acceder à la page donnée par Xavfun <?php /*************************************************************************** * admin_ug_auth.php * ------------------- * begin : Saturday, Feb 13, 2001 * copyright : © 2001 The phpBB Group * email : support_AT_phpbb.com * * $Id: admin_ug_auth.php,v 1.5 2005/02/21 02:50:25 jelly_doughnut Exp $ * * ***************************************************************************/ /*************************************************************************** * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * ***************************************************************************/ define('IN_PHPBB', 1); if( !empty($setmodules) ) { $filename = basename(__FILE__); $module['Users']['Permissions'] = $filename . "?mode=user"; $module['Groups']['Permissions'] = $filename . "?mode=group"; return; } // // Load default header // $no_page_header = TRUE; $phpbb_root_path = "./../"; require($phpbb_root_path . 'extension.inc'); require('./pagestart.' . $phpEx); $params = array('mode' => 'mode', 'user_id' => POST_USERS_URL, 'group_id' => POST_GROUPS_URL, 'adv' => 'adv'); while( list($var, $param) = _AT_each($params) ) { if ( !empty($_POST[$param]) || !empty($_GET[$param]) ) { $$var = ( !empty($_POST[$param]) ) ? $_POST[$param] : $_GET[$param]; } else { $$var = ""; } } $user_id = intval($user_id); $group_id = intval($group_id); $adv = intval($adv); $mode = htmlspecialchars($mode); // // Start program - define vars // $forum_auth_fields = array('auth_view', 'auth_read', 'auth_post', 'auth_reply', 'auth_edit', 'auth_delete', 'auth_sticky', 'auth_announce', 'auth_vote', 'auth_pollcreate'); $auth_field_match = array( 'auth_view' => AUTH_VIEW, 'auth_read' => AUTH_READ, 'auth_post' => AUTH_POST, 'auth_reply' => AUTH_REPLY, 'auth_edit' => AUTH_EDIT, 'auth_delete' => AUTH_DELETE, 'auth_sticky' => AUTH_STICKY, 'auth_announce' => AUTH_ANNOUNCE, 'auth_vote' => AUTH_VOTE, 'auth_pollcreate' => AUTH_POLLCREATE); $field_names = array( 'auth_view' => $lang['View'], 'auth_read' => $lang['Read'], 'auth_post' => $lang['Post'], 'auth_reply' => $lang['Reply'], 'auth_edit' => $lang['Edit'], 'auth_delete' => $lang['Delete'], 'auth_sticky' => $lang['Sticky'], 'auth_announce' => $lang['Announce'], 'auth_vote' => $lang['Vote'], 'auth_pollcreate' => $lang['Pollcreate']); // --------------- // Start Functions // function check_auth($type, $key, $u_access, $is_admin) { $auth_user = 0; if( count($u_access) ) { for($j = 0; $j < count($u_access); $j++) { $result = 0; switch($type) { case AUTH_ACL: $result = $u_access[$j][$key]; case AUTH_MOD: $result = $result || $u_access[$j]['auth_mod']; case AUTH_ADMIN: $result = $result || $is_admin; break; } $auth_user = $auth_user || $result; } } else { $auth_user = $is_admin; } return $auth_user; } // // End Functions // ------------- if ( isset($_POST['submit']) && ( ( $mode == 'user' && $user_id ) || ( $mode == 'group' && $group_id ) ) ) { $user_level = ''; if ( $mode == 'user' ) { // // Get group_id for this user_id // $sql = "SELECT g.group_id, u.user_level FROM " . USER_GROUP_TABLE . " ug, " . USERS_TABLE . " u, " . GROUPS_TABLE . " g WHERE u.user_id = $user_id AND ug.user_id = u.user_id AND g.group_id = ug.group_id AND g.group_single_user = " . TRUE; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'Could not select info from user/user_group table', '', __LINE__, __FILE__, $sql); } $row = $db->sql_fetchrow($result); $group_id = $row['group_id']; $user_level = $row['user_level']; $db->sql_freeresult($result); } // // Carry out requests // if ( $mode == 'user' && $_POST['userlevel'] == 'admin' && $user_level != ADMIN ) { // // Make user an admin (if already user) // if ( $userdata['user_id'] != $user_id ) { $sql = "UPDATE " . USERS_TABLE . " SET user_level = " . ADMIN . " WHERE user_id = $user_id"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'Could not update user level', '', __LINE__, __FILE__, $sql); } $sql = "DELETE FROM " . AUTH_ACCESS_TABLE . " WHERE group_id = $group_id AND auth_mod = 0"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "Couldn't delete auth access info", "", __LINE__, __FILE__, $sql); } // // Delete any entries in auth_access, they are not required if user is becoming an // admin // $sql = "UPDATE " . AUTH_ACCESS_TABLE . " SET auth_view = 0, auth_read = 0, auth_post = 0, auth_reply = 0, auth_edit = 0, auth_delete = 0, auth_sticky = 0, auth_announce = 0 WHERE group_id = $group_id"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "Couldn't update auth access", "", __LINE__, __FILE__, $sql); } } $message = $lang['Auth_updated'] . '<br /><br />' . sprintf($lang['Click_return_userauth'], '<a href="' . append_sid("admin_ug_auth.$phpEx?mode=$mode") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>'); message_die(GENERAL_MESSAGE, $message); } else { if ( $mode == 'user' && $_POST['userlevel'] == 'user' && $user_level == ADMIN ) { // // Make admin a user (if already admin) ... ignore if you're trying // to change yourself from an admin to user! // if ( $userdata['user_id'] != $user_id ) { $sql = "UPDATE " . AUTH_ACCESS_TABLE . " SET auth_view = 0, auth_read = 0, auth_post = 0, auth_reply = 0, auth_edit = 0, auth_delete = 0, auth_sticky = 0, auth_announce = 0 WHERE group_id = $group_id"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'Could not update auth access', '', __LINE__, __FILE__, $sql); } // // Update users level, reset to USER // $sql = "UPDATE " . USERS_TABLE . " SET user_level = " . USER . " WHERE user_id = $user_id"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, 'Could not update user level', '', __LINE__, __FILE__, $sql); } } $message = $lang['Auth_updated'] . '<br /><br />' . sprintf($lang['Click_return_userauth'], '<a href="' . append_sid("admin_ug_auth.$phpEx?mode=$mode") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>'); } else { $change_mod_list = ( isset($_POST['moderator']) ) ? $_POST['moderator'] : false; $change_acl_list = array(); if ( empty($adv) ) { while( list($forum_id, $value) = _AT_each($_POST['private']) ) { $change_acl_list[$forum_id] = $value; } } else { for($j = 0; $j < count($forum_auth_fields); $j++) { $auth_field = $forum_auth_fields[$j]; while( list($forum_id, $value) = _AT_each($_POST['private_' . $auth_field]) ) { $change_acl_list[$forum_id][$auth_field] = $value; } } } $sql = "SELECT * FROM " . FORUMS_TABLE . " f ORDER BY forum_order"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "Couldn't obtain forum information", "", __LINE__, __FILE__, $sql); } $forum_access = array(); while( $row = $db->sql_fetchrow($result) ) { $forum_access[] = $row; } $db->sql_freeresult($result); $sql = ( $mode == 'user' ) ? "SELECT aa.* FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE. " g WHERE ug.user_id = $user_id AND g.group_id = ug.group_id AND aa.group_id = ug.group_id AND g.group_single_user = " . TRUE : "SELECT * FROM " . AUTH_ACCESS_TABLE . " WHERE group_id = $group_id"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "Couldn't obtain user/group permissions", "", __LINE__, __FILE__, $sql); } $auth_access = array(); while( $row = $db->sql_fetchrow($result) ) { $auth_access[$row['forum_id']] = $row; } $db->sql_freeresult($result); $forum_auth_action = array(); $update_acl_status = array(); $update_mod_status = array(); for($i = 0; $i < count($forum_access); $i++) { $forum_id = $forum_access[$i]['forum_id']; if ( ( isset($auth_access[$forum_id]['auth_mod']) && $change_mod_list[$forum_id] != $auth_access[$forum_id]['auth_mod'] ) || ( !isset($auth_access[$forum_id]['auth_mod']) && !empty($change_mod_list[$forum_id]) ) ) { $update_mod_status[$forum_id] = $change_mod_list[$forum_id]; if ( !$update_mod_status[$forum_id] ) { $forum_auth_action[$forum_id] = 'delete'; } else if ( !isset($auth_access[$forum_id]['auth_mod']) ) { $forum_auth_action[$forum_id] = 'insert'; } else { $forum_auth_action[$forum_id] = 'update'; } } for($j = 0; $j < count($forum_auth_fields); $j++) { $auth_field = $forum_auth_fields[$j]; if( $forum_access[$i][$auth_field] == AUTH_ACL && isset($change_acl_list[$forum_id]) ) { if ( ( empty($auth_access[$forum_id]['auth_mod']) /*&& ( isset($auth_access[$forum_id][$auth_field]) && $change_acl_list[$forum_id][$auth_field] != $auth_access[$forum_id][$auth_field] )*/ || ( !isset($auth_access[$forum_id][$auth_field]) && empty($change_acl_list[$forum_id][$auth_field]) ) ) || !empty($update_mod_status[$forum_id]) ) { $update_acl_status[$forum_id][$auth_field] = ( !empty($update_mod_status[$forum_id]) ) ? 0 : $change_acl_list[$forum_id][$auth_field]; if ( isset($auth_access[$forum_id][$auth_field]) && empty($update_acl_status[$forum_id][$auth_field]) && $forum_auth_action[$forum_id] != 'insert' && $forum_auth_action[$forum_id] != 'update' ) { $forum_auth_action[$forum_id] = 'delete'; } else if ( empty($auth_access[$forum_id][$auth_field]) && !( $forum_auth_action[$forum_id] == 'delete' && empty($update_acl_status[$forum_id][$auth_field]) ) ) { $forum_auth_action[$forum_id] = 'insert'; } else if ( isset($auth_access[$forum_id][$auth_field]) && !empty($update_acl_status[$forum_id][$auth_field]) ) { $forum_auth_action[$forum_id] = 'update'; } } else if ( ( empty($auth_access[$forum_id]['auth_mod']) && ( isset($auth_access[$forum_id][$auth_field]) && $change_acl_list[$forum_id][$auth_field] == $auth_access[$forum_id][$auth_field] ) ) && $forum_auth_action[$forum_id] == 'delete' ) { $forum_auth_action[$forum_id] = 'update'; } } } } // // Checks complete, make updates to DB // $delete_sql = ''; while( list($forum_id, $action) = _AT_each($forum_auth_action) ) { if ( $action == 'delete' ) { $delete_sql .= ( ( $delete_sql != '' ) ? ', ' : '' ) . $forum_id; } else { if ( $action == 'insert' ) { $sql_field = ''; $sql_value = ''; while ( list($auth_type, $value) = _AT_each($update_acl_status[$forum_id]) ) { $sql_field .= ( ( $sql_field != '' ) ? ', ' : '' ) . $auth_type; $sql_value .= ( ( $sql_value != '' ) ? ', ' : '' ) . $value; } $sql_field .= ( ( $sql_field != '' ) ? ', ' : '' ) . 'auth_mod'; $sql_value .= ( ( $sql_value != '' ) ? ', ' : '' ) . ( ( !isset($update_mod_status[$forum_id]) ) ? 0 : $update_mod_status[$forum_id]); $sql = "INSERT INTO " . AUTH_ACCESS_TABLE . " (forum_id, group_id, $sql_field) VALUES ($forum_id, $group_id, $sql_value)"; } else { $sql_values = ''; while ( list($auth_type, $value) = _AT_each($update_acl_status[$forum_id]) ) { $sql_values .= ( ( $sql_values != '' ) ? ', ' : '' ) . $auth_type . ' = ' . $value; } $sql_values .= ( ( $sql_values != '' ) ? ', ' : '' ) . 'auth_mod = ' . ( ( !isset($update_mod_status[$forum_id]) ) ? 0 : $update_mod_status[$forum_id]); $sql = "UPDATE " . AUTH_ACCESS_TABLE . " SET $sql_values WHERE group_id = $group_id AND forum_id = $forum_id"; } if( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "Couldn't update private forum permissions", "", __LINE__, __FILE__, $sql); } } } if ( $delete_sql != '' ) { $sql = "DELETE FROM " . AUTH_ACCESS_TABLE . " WHERE group_id = $group_id AND forum_id IN ($delete_sql)"; if( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "Couldn't delete permission entries", "", __LINE__, __FILE__, $sql); } } $l_auth_return = ( $mode == 'user' ) ? $lang['Click_return_userauth'] : $lang['Click_return_groupauth']; $message = $lang['Auth_updated'] . '<br /><br />' . sprintf($l_auth_return, '<a href="' . append_sid("admin_ug_auth.$phpEx?mode=$mode") . '">', '</a>') . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>'); } // // Update user level to mod for appropriate users // $sql = "SELECT u.user_id FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug, " . USERS_TABLE . " u WHERE ug.group_id = aa.group_id AND u.user_id = ug.user_id AND u.user_level NOT IN (" . MOD . ", " . ADMIN . ") GROUP BY u.user_id HAVING SUM(aa.auth_mod) > 0"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "Couldn't obtain user/group permissions", "", __LINE__, __FILE__, $sql); } $set_mod = ''; while( $row = $db->sql_fetchrow($result) ) { $set_mod .= ( ( $set_mod != '' ) ? ', ' : '' ) . $row['user_id']; } $db->sql_freeresult($result); // // Update user level to user for appropriate users // switch ( SQL_LAYER ) { case 'postgresql': $sql = "SELECT u.user_id FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug, " . AUTH_ACCESS_TABLE . " aa WHERE ug.user_id = u.user_id AND aa.group_id = ug.group_id AND u.user_level NOT IN (" . USER . ", " . ADMIN . ") GROUP BY u.user_id HAVING SUM(aa.auth_mod) = 0 UNION ( SELECT u.user_id FROM " . USERS_TABLE . " u WHERE NOT EXISTS ( SELECT aa.auth_mod FROM " . USER_GROUP_TABLE . " ug, " . AUTH_ACCESS_TABLE . " aa WHERE ug.user_id = u.user_id AND aa.group_id = ug.group_id ) AND u.user_level NOT IN (" . USER . ", " . ADMIN . ") GROUP BY u.user_id )"; break; case 'oracle': $sql = "SELECT u.user_id FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug, " . AUTH_ACCESS_TABLE . " aa WHERE ug.user_id = u.user_id(+) AND aa.group_id = ug.group_id(+) AND u.user_level NOT IN (" . USER . ", " . ADMIN . ") GROUP BY u.user_id HAVING SUM(aa.auth_mod) = 0"; break; default: $sql = "SELECT u.user_id FROM ( ( " . USERS_TABLE . " u LEFT JOIN " . USER_GROUP_TABLE . " ug ON ug.user_id = u.user_id ) LEFT JOIN " . AUTH_ACCESS_TABLE . " aa ON aa.group_id = ug.group_id ) WHERE u.user_level NOT IN (" . USER . ", " . ADMIN . ") GROUP BY u.user_id HAVING SUM(aa.auth_mod) = 0"; break; } if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "Couldn't obtain user/group permissions", "", __LINE__, __FILE__, $sql); } $unset_mod = ""; while( $row = $db->sql_fetchrow($result) ) { $unset_mod .= ( ( $unset_mod != '' ) ? ', ' : '' ) . $row['user_id']; } $db->sql_freeresult($result); if ( $set_mod != '' ) { $sql = "UPDATE " . USERS_TABLE . " SET user_level = " . MOD . " WHERE user_id IN ($set_mod)"; if( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "Couldn't update user level", "", __LINE__, __FILE__, $sql); } } if ( $unset_mod != '' ) { $sql = "UPDATE " . USERS_TABLE . " SET user_level = " . USER . " WHERE user_id IN ($unset_mod)"; if( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "Couldn't update user level", "", __LINE__, __FILE__, $sql); } } message_die(GENERAL_MESSAGE, $message); } } else if ( ( $mode == 'user' && ( isset($_POST['username']) || $user_id ) ) || ( $mode == 'group' && $group_id ) ) { if ( isset($_POST['username']) ) { $this_userdata = get_userdata($_POST['username'], true); if ( !is_array($this_userdata) ) { message_die(GENERAL_MESSAGE, $lang['No_such_user']); } $user_id = $this_userdata['user_id']; } // // Front end // $sql = "SELECT * FROM " . FORUMS_TABLE . " f ORDER BY forum_order"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "Couldn't obtain forum information", "", __LINE__, __FILE__, $sql); } $forum_access = array(); while( $row = $db->sql_fetchrow($result) ) { $forum_access[] = $row; } $db->sql_freeresult($result); if( empty($adv) ) { for($i = 0; $i < count($forum_access); $i++) { $forum_id = $forum_access[$i]['forum_id']; $forum_auth_level[$forum_id] = AUTH_ALL; for($j = 0; $j < count($forum_auth_fields); $j++) { $forum_access[$i][$forum_auth_fields[$j]] . ' :: '; if ( $forum_access[$i][$forum_auth_fields[$j]] == AUTH_ACL ) { $forum_auth_level[$forum_id] = AUTH_ACL; $forum_auth_level_fields[$forum_id][] = $forum_auth_fields[$j]; } } } } $sql = "SELECT u.user_id, u.username, u.user_level, g.group_id, g.group_name, g.group_single_user FROM " . USERS_TABLE . " u, " . GROUPS_TABLE . " g, " . USER_GROUP_TABLE . " ug WHERE "; $sql .= ( $mode == 'user' ) ? "u.user_id = $user_id AND ug.user_id = u.user_id AND g.group_id = ug.group_id" : "g.group_id = $group_id AND ug.group_id = g.group_id AND u.user_id = ug.user_id"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "Couldn't obtain user/group information", "", __LINE__, __FILE__, $sql); } $ug_info = array(); while( $row = $db->sql_fetchrow($result) ) { $ug_info[] = $row; } $db->sql_freeresult($result); $sql = ( $mode == 'user' ) ? "SELECT aa.*, g.group_single_user FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE. " g WHERE ug.user_id = $user_id AND g.group_id = ug.group_id AND aa.group_id = ug.group_id AND g.group_single_user = 1" : "SELECT * FROM " . AUTH_ACCESS_TABLE . " WHERE group_id = $group_id"; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "Couldn't obtain user/group permissions", "", __LINE__, __FILE__, $sql); } $auth_access = array(); $auth_access_count = array(); while( $row = $db->sql_fetchrow($result) ) { $auth_access[$row['forum_id']][] = $row; $auth_access_count[$row['forum_id']]++; } $db->sql_freeresult($result); $is_admin = ( $mode == 'user' ) ? ( ( $ug_info[0]['user_level'] == ADMIN && $ug_info[0]['user_id'] != ANONYMOUS ) ? 1 : 0 ) : 0; for($i = 0; $i < count($forum_access); $i++) { $forum_id = $forum_access[$i]['forum_id']; unset($prev_acl_setting); for($j = 0; $j < count($forum_auth_fields); $j++) { $key = $forum_auth_fields[$j]; $value = $forum_access[$i][$key]; switch( $value ) { case AUTH_ALL: case AUTH_REG: $auth_ug[$forum_id][$key] = 1; break; case AUTH_ACL: $auth_ug[$forum_id][$key] = ( !empty($auth_access_count[$forum_id]) ) ? check_auth(AUTH_ACL, $key, $auth_access[$forum_id], $is_admin) : 0; $auth_field_acl[$forum_id][$key] = $auth_ug[$forum_id][$key]; if ( isset($prev_acl_setting) ) { if ( $prev_acl_setting != $auth_ug[$forum_id][$key] && empty($adv) ) { $adv = 1; } } $prev_acl_setting = $auth_ug[$forum_id][$key]; break; case AUTH_MOD: $auth_ug[$forum_id][$key] = ( !empty($auth_access_count[$forum_id]) ) ? check_auth(AUTH_MOD, $key, $auth_access[$forum_id], $is_admin) : 0; break; case AUTH_ADMIN: $auth_ug[$forum_id][$key] = $is_admin; break; default: $auth_ug[$forum_id][$key] = 0; break; } } // // Is user a moderator? // $auth_ug[$forum_id]['auth_mod'] = ( !empty($auth_access_count[$forum_id]) ) ? check_auth(AUTH_MOD, 'auth_mod', $auth_access[$forum_id], 0) : 0; } $i = 0; _AT_reset($auth_ug); while( list($forum_id, $user_ary) = _AT_each($auth_ug) ) { if ( empty($adv) ) { if ( $forum_auth_level[$forum_id] == AUTH_ACL ) { $allowed = 1; for($j = 0; $j < count($forum_auth_level_fields[$forum_id]); $j++) { if ( !$auth_ug[$forum_id][$forum_auth_level_fields[$forum_id][$j]] ) { $allowed = 0; } } $optionlist_acl = '<select name="private[' . $forum_id . ']">'; if ( $is_admin || $user_ary['auth_mod'] ) { $optionlist_acl .= '<option value="1">' . $lang['Allowed_Access'] . '</option>'; } else if ( $allowed ) { $optionlist_acl .= '<option value="1" selected="selected">' . $lang['Allowed_Access'] . '</option><option value="0">'. $lang['Disallowed_Access'] . '</option>'; } else { $optionlist_acl .= '<option value="1">' . $lang['Allowed_Access'] . '</option><option value="0" selected="selected">' . $lang['Disallowed_Access'] . '</option>'; } $optionlist_acl .= '</select>'; } else { $optionlist_acl = ' '; } } else { for($j = 0; $j < count($forum_access); $j++) { if ( $forum_access[$j]['forum_id'] == $forum_id ) { for($k = 0; $k < count($forum_auth_fields); $k++) { $field_name = $forum_auth_fields[$k]; if( $forum_access[$j][$field_name] == AUTH_ACL ) { $optionlist_acl_adv[$forum_id][$k] = '<select name="private_' . $field_name . '[' . $forum_id . ']">'; if( isset($auth_field_acl[$forum_id][$field_name]) && !($is_admin || $user_ary['auth_mod']) ) { if( !$auth_field_acl[$forum_id][$field_name] ) { $optionlist_acl_adv[$forum_id][$k] .= '<option value="1">' . $lang['ON'] . '</option><option value="0" selected="selected">' . $lang['OFF'] . '</option>'; } else { $optionlist_acl_adv[$forum_id][$k] .= '<option value="1" selected="selected">' . $lang['ON'] . '</option><option value="0">' . $lang['OFF'] . '</option>'; } } else { if( $is_admin || $user_ary['auth_mod'] ) { $optionlist_acl_adv[$forum_id][$k] .= '<option value="1">' . $lang['ON'] . '</option>'; } else { $optionlist_acl_adv[$forum_id][$k] .= '<option value="1">' . $lang['ON'] . '</option><option value="0" selected="selected">' . $lang['OFF'] . '</option>'; } } $optionlist_acl_adv[$forum_id][$k] .= '</select>'; } } } } } $optionlist_mod = '<select name="moderator[' . $forum_id . ']">'; $optionlist_mod .= ( $user_ary['auth_mod'] ) ? '<option value="1" selected="selected">' . $lang['Is_Moderator'] . '</option><option value="0">' . $lang['Not_Moderator'] . '</option>' : '<option value="1">' . $lang['Is_Moderator'] . '</option><option value="0" selected="selected">' . $lang['Not_Moderator'] . '</option>'; $optionlist_mod .= '</select>'; $row_class = ( !( $i % 2 ) ) ? 'row2' : 'row1'; $row_color = ( !( $i % 2 ) ) ? $theme['td_color1'] : $theme['td_color2']; $template->assign_block_vars('forums', array( 'ROW_COLOR' => '#' . $row_color, 'ROW_CLASS' => $row_class, 'FORUM_NAME' => $forum_access[$i]['forum_name'], 'U_FORUM_AUTH' => append_sid("admin_forumauth.$phpEx?f=" . $forum_access[$i]['forum_id']), 'S_MOD_SELECT' => $optionlist_mod) ); if( !$adv ) { $template->assign_block_vars('forums.aclvalues', array( 'S_ACL_SELECT' => $optionlist_acl) ); } else { for($j = 0; $j < count($forum_auth_fields); $j++) { $template->assign_block_vars('forums.aclvalues', array( 'S_ACL_SELECT' => $optionlist_acl_adv[$forum_id][$j]) ); } } $i++; } //reset($auth_user); if ( $mode == 'user' ) { $t_username = $ug_info[0]['username']; $s_user_type = ( $is_admin ) ? '<select name="userlevel"><option value="admin" selected="selected">' . $lang['Auth_Admin'] . '</option><option value="user">' . $lang['Auth_User'] . '</option></select>' : '<select name="userlevel"><option value="admin">' . $lang['Auth_Admin'] . '</option><option value="user" selected="selected">' . $lang['Auth_User'] . '</option></select>'; } else { $t_groupname = $ug_info[0]['group_name']; } $name = array(); $id = array(); for($i = 0; $i < count($ug_info); $i++) { if( ( $mode == 'user' && !$ug_info[$i]['group_single_user'] ) || $mode == 'group' ) { $name[] = ( $mode == 'user' ) ? $ug_info[$i]['group_name'] : $ug_info[$i]['username']; $id[] = ( $mode == 'user' ) ? intval($ug_info[$i]['group_id']) : intval($ug_info[$i]['user_id']); } } if( count($name) ) { $t_usergroup_list = ''; for($i = 0; $i < count($ug_info); $i++) { $ug = ( $mode == 'user' ) ? 'group&' . POST_GROUPS_URL : 'user&' . POST_USERS_URL; $t_usergroup_list .= ( ( $t_usergroup_list != '' ) ? ', ' : '' ) . '<a href="' . append_sid("admin_ug_auth.$phpEx?mode=$ug=" . $id[$i]) . '">' . $name[$i] . '</a>'; } } else { $t_usergroup_list = $lang['None']; } $s_column_span = 2; // Two columns always present if( !$adv ) { $template->assign_block_vars('acltype', array( 'L_UG_ACL_TYPE' => $lang['Simple_Permission']) ); $s_column_span++; } else { for($i = 0; $i < count($forum_auth_fields); $i++) { $cell_title = $field_names[$forum_auth_fields[$i]]; $template->assign_block_vars('acltype', array( 'L_UG_ACL_TYPE' => $cell_title) ); $s_column_span++; } } // // Dump in the page header ... // include('./page_header_admin.'.$phpEx); $template->set_filenames(array( "body" => 'admin/auth_ug_body.tpl') ); $adv_switch = ( empty($adv) ) ? 1 : 0; $u_ug_switch = ( $mode == 'user' ) ? POST_USERS_URL . "=" . $user_id : POST_GROUPS_URL . "=" . $group_id; $switch_mode = append_sid("admin_ug_auth.$phpEx?mode=$mode&" . $u_ug_switch . "&adv=$adv_switch"); $switch_mode_text = ( empty($adv) ) ? $lang['Advanced_mode'] : $lang['Simple_mode']; $u_switch_mode = '<a href="' . $switch_mode . '">' . $switch_mode_text . '</a>'; $s_hidden_fields = '<input type="hidden" name="mode" value="' . $mode . '" /><input type="hidden" name="adv" value="' . $adv . '" />'; $s_hidden_fields .= ( $mode == 'user' ) ? '<input type="hidden" name="' . POST_USERS_URL . '" value="' . $user_id . '" />' : '<input type="hidden" name="' . POST_GROUPS_URL . '" value="' . $group_id . '" />'; if ( $mode == 'user' ) { $template->assign_block_vars('switch_user_auth', array()); $template->assign_vars(array( 'USERNAME' => $t_username, 'USER_LEVEL' => $lang['User_Level'] . " : " . $s_user_type, 'USER_GROUP_MEMBERSHIPS' => $lang['Group_memberships'] . ' : ' . $t_usergroup_list) ); } else { $template->assign_block_vars("switch_group_auth", array()); $template->assign_vars(array( 'USERNAME' => $t_groupname, 'GROUP_MEMBERSHIP' => $lang['Usergroup_members'] . ' : ' . $t_usergroup_list) ); } $template->assign_vars(array( 'L_USER_OR_GROUPNAME' => ( $mode == 'user' ) ? $lang['Username'] : $lang['Group_name'], 'L_AUTH_TITLE' => ( $mode == 'user' ) ? $lang['Auth_Control_User'] : $lang['Auth_Control_Group'], 'L_AUTH_EXPLAIN' => ( $mode == 'user' ) ? $lang['User_auth_explain'] : $lang['Group_auth_explain'], 'L_MODERATOR_STATUS' => $lang['Moderator_status'], 'L_PERMISSIONS' => $lang['Permissions'], 'L_SUBMIT' => $lang['Submit'], 'L_RESET' => $lang['Reset'], 'L_FORUM' => $lang['Forum'], 'U_USER_OR_GROUP' => append_sid("admin_ug_auth.$phpEx"), 'U_SWITCH_MODE' => $u_switch_mode, 'S_COLUMN_SPAN' => $s_column_span, 'S_AUTH_ACTION' => append_sid("admin_ug_auth.$phpEx"), 'S_HIDDEN_FIELDS' => $s_hidden_fields) ); } else { // // Select a user/group // include('./page_header_admin.'.$phpEx); $template->set_filenames(array( 'body' => ( $mode == 'user' ) ? 'admin/user_select_body.tpl' : 'admin/auth_select_body.tpl') ); if ( $mode == 'user' ) { $template->assign_vars(array( 'L_FIND_USERNAME' => $lang['Find_username'], 'U_SEARCH_USER' => append_sid("../search.$phpEx?mode=searchuser")) ); } else { $sql = "SELECT group_id, group_name FROM " . GROUPS_TABLE . " WHERE group_single_user <> " . TRUE; if ( !($result = $db->sql_query($sql)) ) { message_die(GENERAL_ERROR, "Couldn't get group list", "", __LINE__, __FILE__, $sql); } if ( $row = $db->sql_fetchrow($result) ) { $select_list = '<select name="' . POST_GROUPS_URL . '">'; do { $select_list .= '<option value="' . $row['group_id'] . '">' . $row['group_name'] . '</option>'; } while ( $row = $db->sql_fetchrow($result) ); $select_list .= '</select>'; } $template->assign_vars(array( 'S_AUTH_SELECT' => $select_list) ); } $s_hidden_fields = '<input type="hidden" name="mode" value="' . $mode . '" />'; $l_type = ( $mode == 'user' ) ? 'USER' : 'AUTH'; $template->assign_vars(array( 'L_' . $l_type . '_TITLE' => ( $mode == 'user' ) ? $lang['Auth_Control_User'] : $lang['Auth_Control_Group'], 'L_' . $l_type . '_EXPLAIN' => ( $mode == 'user' ) ? $lang['User_auth_explain'] : $lang['Group_auth_explain'], 'L_' . $l_type . '_SELECT' => ( $mode == 'user' ) ? $lang['Select_a_User'] : $lang['Select_a_Group'], 'L_LOOK_UP' => ( $mode == 'user' ) ? $lang['Look_up_User'] : $lang['Look_up_Group'], 'S_HIDDEN_FIELDS' => $s_hidden_fields, 'S_' . $l_type . '_ACTION' => append_sid("admin_ug_auth.$phpEx")) ); } $template->pparse('body'); include('./page_footer_admin.'.$phpEx); ?>
  4. Salut, moi il me le download tous les jours, aucun problèmes
  5. Dan, tu es sûr de ce que tu avances pour le second membre avec une url complète ? Dans une rewriterule j'ai jamais fais ça pourtant les headers sont bons et ça marche
  6. Tu vas à la page indiquée, tu te log avec ton compte google ou gmail, et tu cliques sur add a sitemap
  7. Salut, je viens de voir un peu https://www.google.com/webmasters/sitemaps/ ce service permettrait de proposer un plan du site au format xml à googlebot Google code fournit un script en python pour générer automatiquement un plan du site mais ce n'est pas compatible avec toutes les organisations. Je viens de créer mes fichiers xml via php, (quelques milliers d'entrées sql à lister): http://www.forumfr.com/index-sitemap.xml j'ai proposé le fichier, pour l'instant il est en pending, on verra bien l'efficacité
  8. Salut, essaye RewriteRule ^modules.php?name=News /archives.html [R=301,L] RewriteRule ^modules.php?name=News archives.html [R=301,L] ou encore RedirectPermanent /modules.php?name=News http://www.monsite.com/archives.html [R=301,L]
  9. Salut, Les classements évoluent en permanence, on a parlé d'update car il y a eu un gros changement un peu partout
  10. mon système ne trierais pas bien par dates en fait, mais avec magpie il y a une solution parfaite ici: http://laughingmeme.org/magpie_blog/?p=61
  11. En ce moment le pr n'est plus visible, et une semaine c'est peu, laisse le temps C'est la meilleur façon pour tout transferer la redirection 301, après retrouver tes positions etc, c'est pas sûr
  12. Salut, bien sûr que tu peux mettre ton bouton à toi
  13. Salut, tu parses tes flux, tu fais un while pour chaque, et à chaque fois le while doit ajouter son contenu à une variable numérotée en fonction du while, après tu affiche toutes ses variables
  14. Phobos

    petit problème avec \'

    Salut, tu as la fonction stripslashes() pour ça
  15. Salut, Tu n'e pas obligé de laisser tes fichiers, tu peux les supprimer si tu veux, du moment qu'il y a le .htaccess tu fais ce que tu veux
  16. Salut, tes fichiers contiennent des caractères spécifiques windows, sans doute l'infâme apostrophe virgule de Word, la solution, soit utiliser le charset windows-1252, bof bof, soit mieux, copier le contenu de word vers le bloc note avant de copier le contenu du bloc note vers ta page ou encore, laisser tomber Word
  17. Salut, logiquement ce n'est pas possible en mutualisé
  18. Je viens de voir leur forum qui est hebergé par telecharger.com (il est bien referencé pour "forum micro hebdo" http://www.google.fr/search?q=forum+micro+hebdo ) Une petite recherche dans les posts, visiblement personne n'a critiqué, alors que dans la rubrique sites web, il y a plus de 20 posts sur le referencement, (et aucun je crois qui parle des moteurs de façon si obsolète )
  19. Dans la section group management de user and groups, édite le groupe membre et regarde si "Edit time restriction (in minutes)? Denies user edit after the time set has passed. Leave blank or enter 0 for no restriction" n'est pas trop court
  20. Salut, regarde dans les permissions du groupes si tu n'a pas mis un temps trop court pour lédition des posts
  21. Salut, essaye avec Firefox
  22. Et ? Quand on a pas les moyens, ont fais autrement, tu as d'autres forums existants et tu aurais pu utiliser la trial officielle, elle ne permet pas de modifier la source pour faire des mods importantes mais tu n'en a pas faites de toute manière. IPB est un produit qui mérite qu'on le paye lorsqu'on l'utilise.
×
×
  • Créer...