TiChoblin писал(а):кстати, почему нет кнопочки "сдаться"?
rtrt писал(а):Кнопки "Предложить ничью" и "Сдаться" никто еще не прилепил???
сделал то, что вы просили.
алгоритм таков: под доской появляются две кнопочки (поскольку они в файле .tpl, то можете переместить их куда угодно). нажав на "Сдаюсь!" происходит вызов функции "пипец", которая записывает в базу данных сообщение о сдаче, и отключает возможность дальнейших ходов. плюс проверка условия, если кнопку нажал играющий белыми, то сообщение о сдаче пишется в его столбик ходов, в противном случае - в столбик черных.
в принципе всё предельно просто. не знаю, почему до сих пор никто это не сделал
а вот и сами изменения:
файл posting.php
после
- Код: Выделить всё
case 'chess_delete':
case 'chess_join':
case 'chess_play':
добавляем:
- Код: Выделить всё
//
// *** added by Zlodey ***
case 'pipez':
// *** added by Zlodey ***
//
делаем это в двух местахпосле
- Код: Выделить всё
chess_posting_action();
добавляем:
- Код: Выделить всё
//
// *** added by Zlodey ***
if ($mode == "pipez")
{
chess_pipez();
redirect(append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id", true));
}
// *** added by Zlodey ***
//
файл chess_posting.phpперед
- Код: Выделить всё
function chess_posting_entry ()
добавляем:
- Код: Выделить всё
//
// *** added by Zlodey ***
// *** функция Пипец ***
function chess_pipez()
{
global $db, $userdata, $topic_id;
$username = $userdata['username'];
$user_id = $userdata['user_id'];
$sql = "SELECT chess_list_move , chess_p1_id FROM " . CHESS_TABLE . " WHERE topic_id = $topic_id LIMIT 1";
if (!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Непонятный облом", '', __LINE__, __FILE__, $sql);
}
$temp1 = $db->sql_fetchrow($result);
$chess_list_move = $temp1['chess_list_move'];
$chess_p1_id = $temp1['chess_p1_id'];
if ( $chess_p1_id == $user_id )
{
$chess_list_move = explode( '|', $chess_list_move );
$chess_list_move[0] = $chess_list_move[0] . " <font color=red>" . $username . " сдался</font>";
$chess_list_move = implode( '|', $chess_list_move );
}
else
{
$chess_list_move = $chess_list_move . " <font color=red>" . $username . " сдался</font>";
}
$sql = "UPDATE " . CHESS_TABLE . " SET chess_closed = 1 , chess_turn = 0, chess_list_move = '$chess_list_move' WHERE topic_id = $topic_id LIMIT 1";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, "Непонятный облом", '', __LINE__, __FILE__, $sql);
}
}
// *** функция Пипец ***
// *** added by Zlodey ***
//
файл chess_viewtopic.phpпосле
- Код: Выделить всё
'S_CHESS_ACTION' => append_sid("posting.$phpEx?mode=chess_play&" . POST_TOPIC_URL . "=$topic_id"),
добавляем:
- Код: Выделить всё
//
// *** added by Zlodey ***
'S_PIPEZ_ACTION' => append_sid("posting.$phpEx?mode=pipez&" . POST_TOPIC_URL . "=$topic_id"),
// *** added by Zlodey ***
//
файл chess_viewtopic_body.tplпосле
- Код: Выделить всё
<input type='submit' name='chess_play' value='{L_CHESS_SUBMIT}' class='mainoption'><br /></span>
добавляем:
- Код: Выделить всё
<!-- *** added by Zlodey *** -->
<table align=left><tr><td>
<input type=button name='pipez' onclick="window.open ('{S_PIPEZ_ACTION}')" value='Сдаюсь!'>
<input type=button name='nich' value='Ничья?'>
</table>
<!-- *** added by Zlodey *** -->
пробуйте, у меня вроде всё работает так, как задумывалось
P.S. Кнопка "Ничья" пока не работает, поскольку функция ничьи еще не писалась. если будет время, постараюсь сделать до выходных
Добавлено спустя 4 минуты 43 секунды:
ах да, забыл сказать, что это для версии 0.0.1