Password Protect Boards
ficheiros em anexo
antes de mais nada mandar o passwdBoard.php para a pasta Sources
depois amndar o passwdBoard.template.php para a pasta do teu tema
agora vou por aqui as alteracoes que tem de afzer manualmente
source/Load.php
pesquisar por
b.ID_THEME, b.override_theme, b.permission_mode, b.countPosts
adicionar antes
, b.passwd
pesquisar por
'posts_count' => empty($row['countPosts']),
adicionar antes
'passwd' => $row['passwd'],
pesquisar por
if ($user_info['is_mod'])
$user_info['groups'][] = 3;
adicionar antes
// Can they view this board?
if ( !$user_info['is_admin'] && !$user_info['is_mod'] && $board_info['passwd'] && !in_array($board, $_SESSION['board_access']) )
{
if ( !isset($_POST['passwd']) || sha1($board_info['name'].$_POST['passwd']) != $board_info['passwd'] )
{
loadPermissions();
loadTheme();
require_once($GLOBALS['sourcedir'] . '/passwdBoard.php');
passwdBoardFailed(!empty($board) ? "board=$board" : "topic=$topic");
}
else
$_SESSION['board_access'][] = $board;
}
pesquisar por
$sc = $_SESSION['rand_code'];
adicionar antes
if ( !isset($_SESSION['board_access']) )
$_SESSION['board_access'] = array();
agora no source/BoardIndex.php
pesquisar por
IFNULL(mods_mem.ID_MEMBER, 0) AS ID_MODERATOR, mods_mem.realName AS modRealName
adicionar antes
, b.passwd
pesquisar por
'href' => $scripturl . '?board=' . $row_board['ID_BOARD'] . '.0',
adicionar antes
'passwd' => !empty($row_board['passwd']),
agora no source/Subs-Boards.php
pesquisar por
if (isset($boardOptions['board_name']))
$boardUpdates[] = 'name = \'' . $boardOptions['board_name'] . '\'';
adicionar antes
if (isset($boardOptions['passwd']))
$boardUpdates[] = 'passwd = \'' . $boardOptions['passwd'] . '\'';
pesquisar por
b.permission_mode, c.ID_CAT, c.name AS cName, c.catOrder, c.canCollapse
adicionar antes
, b.passwd
pesquisar por
'prev_board' => $prevBoard
adicionar depois
'passwd' => !empty($row['passwd']),
agora no source/ManageBoards.php
pesquisar por
'override_theme' => 0,
adicionar antes
'passwd' => '',
pesquisar por
$boardOptions['board_description'] = preg_replace('~[&]([^;]{8}|[^;]{0,8}$)~', '&$1', $_POST['desc']);
adicionar antes
if ( $_POST['passwdBoard'] != "#FAKEPASSWORD" )
$boardOptions['passwd'] = !empty($_POST['passwdBoard']) ? sha1($boardOptions['board_name'].$_POST['passwdBoard']) : '';
agora todas as alteraçoes que se seguem seram feitas nos ficheiros do teu tema
/languages/Modifications.portuguese.php
pesquisar por
?>
adicionar antes
$txt['passwdBoard1'] = "Palavra pass para este quadro";
$txt['passwdBoard2'] = "Deixe espaço em branco para não tem palavra pass";
$txt['passwdBoard3'] = "Introduzir Password: ";
$txt['passwdBoard4'] = "Entrar no Quadro";
$txt['passwdBoard5'] = "Este quadro esta protegido so tem acesso se colocar a palavra pass ( Password ) ";
$txt['passwdBoard6'] = "Quadro Protegido";
/ManageBoards.template.php
pesquisar por
// Finish off the table.
adicionar depois
echo '
<tr>
<td>
<b>', $txt['passwdBoard1'], '</b><br />
', $txt['passwdBoard2'], '<br /><br />
</td>
<td align="right">
<input type="password" name="passwdBoard" value="', $context['board']['passwd'] ? '#FAKEPASSWORD' : '', '" />
</td>
</tr>';
/BoardIndex.template.php
pesquisar por
// Show some basic information about the number of posts, etc.
adicionar depois
if ( !$context['user']['is_admin'] && !$context['user']['is_mod'] && !isset($board['moderators'][$context['user']['id']]) && $board['passwd'] && !in_array($board['id'], $_SESSION['board_access']) )
echo '<br/>
', $txt['passwdBoard3'], '
<form style="display:inline" action="', $board['href'], '" method="post">
<input type="password" name="passwd" />
<input type="submit" value="', $txt['passwdBoard4'], '" />
</form>';
else if ( $board['passwd'] )
echo '<img src="', $settings['images_url'], '/icons/quick_lock.gif" style="vertical-align:bottom" title="', $txt['passwdBoard6'], '" />';
aconselho vivamente a afzerem um backup antes de procederem as alteracoes pois nao serei responsabel se se enganarem
Topico criado por: aalex Nao autorizo a divulzação sem pedirem autorizaçao