sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error retrieving decks data ', '', __LINE__, __FILE__, $sql);
}
//get all records
while ( $row = $db->sql_fetchrow($result) )
{
$deck[] = $row['user_card_id'];
}
srand((float)microtime() * 1000000);
shuffle($deck);
//place shuffle'd deck into game deck
for ($i=0; $i < count($deck); $i++)
{
//sql command
$sql = "SELECT * FROM " . CARD_DUELS_CARDS_TABLE . " WHERE id='" . $deck[$i] . "'";
//if didn't succeed
if ( ! ( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error retreiving game list data ', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
//sql command
$sql = "INSERT INTO " . CARD_DUELS_GAME_DECKS_TABLE ." (user_id , user_card_id, dur, in_play, game_id) VALUES ('" . $userdata['user_id'] . "','" . $deck[$i] . "','" . $row['card_length'] . "','2','" . $game_id . "')";
//if didn't succeed
if ( ! ( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error retreiving game list data ', '', __LINE__, __FILE__, $sql);
}
}
}
$template->set_filenames(array(
"header" => 'card_duel_header.tpl')
);
//view sending challenge to person
if ( isset($HTTP_POST_VARS['send_challenge']) || isset($HTTP_GET_VARS['send_challenge']))
{
$template->set_filenames(array(
"body" => 'card_duel_info_body.tpl')
);
//cant challenge yourself.
if ($HTTP_POST_VARS['select'] <> $userdata['user_id'])
{
//sql command
$sql = "SELECT * FROM " . CARD_DUELS_GAMES_TABLE ." WHERE challenger_user_id='" . $userdata['user_id'] . "' AND oppoment_user_id='" . $HTTP_POST_VARS['select'] . "' AND game_status <>'0' AND game_status<>'1' AND game_status='3'";
//if didn't succeed
if ( ! ( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error retreiving game list data ', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
//user hasn't allerady challenged oppoment
if ($row['id'] == "")
{
//sql command
$sql = "INSERT INTO " . CARD_DUELS_GAMES_TABLE ." (challenger_user_id , oppoment_user_id, game_status) VALUES ('" . $userdata['user_id'] . "','" . $HTTP_POST_VARS['select'] . "','3')";
//if didn't succeed
if ( ! ( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error updating user data ', '', __LINE__, __FILE__, $sql);
}
//sql command (get game id)
$sql = "SELECT * FROM " . CARD_DUELS_GAMES_TABLE ." WHERE challenger_user_id='" . $userdata['user_id'] . "' AND oppoment_user_id='" . $HTTP_POST_VARS['select'] . "' AND game_status='3'";
//if didn't succeed
if ( ! ( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error updating user data ', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$game_id = $row['id'];
$template->assign_vars(array(
"CD_BACK" => $lang['CD_Back'],
"CD_INFO" => $lang['CD_Game_Challenge'])
);
shuffle_deck($userdata['user_id'], $game_id);
//sql command
$sql = "SELECT * FROM " . CARD_DUELS_GAMES_TABLE ." WHERE challenger_user_id='" . $userdata['user_id'] . "' AND oppoment_user_id='" . $HTTP_POST_VARS['select'] . "' AND game_status ='3'";
//if didn't succeed
if ( ! ( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error updating user data ', '', __LINE__, __FILE__, $sql);
}
//send user private message that challenge was sent.
$pm_message = 'You have been challenge by ' .$userdata['username'] . ' to a match in phpBB Card Duels. Visit the phpBB Card Duel page to accept this challenge.';
insert_pm($HTTP_POST_VARS['select'], $pm_message, $lang['CD_Card_Challenge'], 2,1);
}
else
{
$template->assign_vars(array(
"CD_BACK" => $lang['CD_Back'],
"CD_INFO" => $lang['CD_Game_Not_Challenge'])
);
}
}
else
{
$template->assign_vars(array(
"CD_BACK" => $lang['CD_Back'],
"CD_INFO" => $lang['CD_Game_Cant_Challenge_Self'])
);
}
$template->pparse("header");
$template->pparse("body");
}
//declining challenge
elseif ( isset($HTTP_POST_VARS['decline'])|| isset($HTTP_GET_VARS['decline']) )
{
$template->set_filenames(array(
"body" => 'card_duel_info_body.tpl')
);
//sql command
$sql = "SELECT * FROM " . CARD_DUELS_GAMES_TABLE . " WHERE id='" . $HTTP_POST_VARS['hidden'] . "'";
//if didn't succeed
if ( ! ( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error deleting card game data ', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
//send user private message that challenge was declined
$pm_message = 'Your challenge has been declined by ' . $userdata['username'];
insert_pm($row['challenger_user_id'], $pm_message, $lang['CD_Card_Challenge_Declined'], 2,1);
//sql command
$sql = "DELETE FROM " . CARD_DUELS_GAMES_TABLE . " WHERE id='" . $HTTP_POST_VARS['hidden'] . "' AND oppoment_user_id='" . $userdata['user_id']. "'";
//if didn't succeed
if ( ! ( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error deleting card game data ', '', __LINE__, __FILE__, $sql);
}
$template->assign_vars(array(
"CD_BACK" => $lang['CD_Back'],
"CD_INFO" => $lang['CD_Game_Challenge_Declined'])
);
$template->pparse("header");
$template->pparse("body");
}
//accepting challenge
elseif ( isset($HTTP_POST_VARS['accept'])|| isset($HTTP_GET_VARS['accept']) )
{
$template->set_filenames(array(
"body" => 'card_duel_info_body.tpl')
);
//sql command
$sql = "SELECT * FROM " . CARD_DUELS_GAMES_TABLE . " WHERE id='" . $HTTP_POST_VARS['hidden'] . "'";
//if didn't succeed
if ( ! ( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error retreiving card game data ', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
//set who's turn it is since game is begining by randomizing
if ( rand(1,2) == 1)
{
$player_turn = $userdata['user_id'];
}
else
{
$player_turn = $row['challenger_user_id'];
}
$challenger_user_id = $row['challenger_user_id'];
shuffle_deck($userdata['user_id'], $HTTP_POST_VARS['hidden']);
//sql command
$sql = "UPDATE " . CARD_DUELS_GAMES_TABLE . " SET oppoment_user_id='" . $userdata['user_id'] . "', user_turn_id='" . $player_turn . "',game_status='1' WHERE id='" . $HTTP_POST_VARS['hidden'] . "' AND game_status <>'0' AND game_status<>'1'";
//if didn't succeed
if ( ! ( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error updating card game data ', '', __LINE__, __FILE__, $sql);
}
//send user private message that challenge was accepted
$pm_message = 'Your challenge has been accepted by ' . $userdata['username'];
insert_pm($challenger_user_id, $pm_message, $lang['CD_Card_Challenge_Accepted'], 2,1);
$template->assign_vars(array(
"CD_BACK" => $lang['CD_Back'],
"CD_INFO" => $lang['CD_Game_Challenge_Accepted'])
);
$template->pparse("header");
$template->pparse("body");
}
//posting a challenge
elseif ( $HTTP_POST_VARS['action'] == "post_challenge" || $HTTP_GET_VARS['action'] == "post_challenge" )
{
$template->set_filenames(array(
"body" => 'card_duel_info_body.tpl')
);
//sql command
$sql = "SELECT * FROM " . CARD_DUELS_GAMES_TABLE ." WHERE challenger_user_id='" . $userdata['user_id'] . "' AND oppoment_user_id='0' AND game_status='2'";
//if didn't succeed
if ( ! ( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error retreiving game list data ', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
//user has no global challenges posted
if ($row['id'] == "")
{
//sql command
$sql = "INSERT INTO " . CARD_DUELS_GAMES_TABLE ." (challenger_user_id , oppoment_user_id, game_status) VALUES ('" . $userdata['user_id'] . "','0','2')";
//if didn't succeed
if ( ! ( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error updating user data ', '', __LINE__, __FILE__, $sql);
}
//sql command (get game id)
$sql = "SELECT * FROM " . CARD_DUELS_GAMES_TABLE ." WHERE challenger_user_id='" . $userdata['user_id'] . "' AND game_status='2'";
//if didn't succeed
if ( ! ( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error updating user data ', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$game_id = $row['id'];
shuffle_deck($userdata['user_id'], $game_id);
$template->assign_vars(array(
"CD_BACK" => $lang['CD_Back'],
"CD_INFO" => $lang['CD_Game_Posted'])
);
}
else
{
$template->assign_vars(array(
"CD_BACK" => $lang['CD_Back'],
"CD_INFO" => $lang['CD_Game_Not_Posted'])
);
}
$template->pparse("header");
$template->pparse("body");
}
else // listing challenges
{
$template->set_filenames(array(
"body" => 'card_duel_body.tpl')
);
//sql command
$sql = "SELECT * FROM " . CARD_DUELS_DECK_NAMES_TABLE . " WHERE user_id='" . $userdata['user_id'] . "'";
//if didn't succeed
if ( ! ( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error retrieving decks data ', '', __LINE__, __FILE__, $sql);
}
//get all records
while ( $row = $db->sql_fetchrow($result) )
{
$option_value = $option_value . '';
}
//sql command
$sql = "SELECT * FROM " . USERS_TABLE . " WHERE user_id > 1 ORDER BY username ASC";
//if didn't succeed
if ( ! ( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error retreiving user data ', '', __LINE__, __FILE__, $sql);
}
while( $row = $db->sql_fetchrow($result) )
{
$option_value1 = $option_value1 . '';
}
$template->assign_vars(array(
"CD_CHALLENGEE_NAMES" => $option_value1,
"CD_CARD_DECKS" => $option_value)
);
//sql command
$sql = "SELECT * FROM " . CARD_DUELS_GAMES_TABLE ." WHERE game_status = '1' AND oppoment_user_id='" . $userdata['user_id'] . "' OR challenger_user_id='" . $userdata['user_id'] . "'";
//if didn't succeed
if ( ! ( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error retreiving game challenges data ', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
//get oppoments user_id
if ($row['challenger_user_id'] == $userdata['user_id'])
{
$oppoment_user_id = $row['oppoment_user_id'];
}
else
{
$oppoment_user_id = $row['challenger_user_id'];
}
//sql command
$sql2 = "SELECT * FROM " . USERS_TABLE . " WHERE user_id='" . $oppoment_user_id . "'";
//if didn't succeed
if ( ! ( $result2 = $db->sql_query($sql2) ) )
{
message_die(GENERAL_ERROR, 'Error retreiving user data ', '', __LINE__, __FILE__, $sql);
}
$row2 = $db->sql_fetchrow($result2);
$template->assign_block_vars('games',array( 'OPPOMENT' => '' . $row2['username'] . '',
'PLAY' => '' . $lang['CD_Play'] . '')
);
}
//sql command
$sql = "SELECT * FROM " . CARD_DUELS_GAMES_TABLE ." WHERE game_status <> '1' AND game_status <> '0' AND challenger_user_id <> '" . $userdata['user_id'] . "'";
//if didn't succeed
if ( ! ( $result = $db->sql_query($sql) ) )
{
message_die(GENERAL_ERROR, 'Error retreiving game challenges data ', '', __LINE__, __FILE__, $sql);
}
while ( $row = $db->sql_fetchrow($result) )
{
//sql command
$sql2 = "SELECT * FROM " . USERS_TABLE . " WHERE user_id='" . $row['challenger_user_id'] . "'";
//if didn't succeed
if ( ! ( $result2 = $db->sql_query($sql2) ) )
{
message_die(GENERAL_ERROR, 'Error retreiving user data ', '', __LINE__, __FILE__, $sql);
}
$row2 = $db->sql_fetchrow($result2);
if ($row['oppoment_user_id'] == '0')
{
$template->assign_block_vars('challenges',array( 'USER_NAME' => '' . $row2['username'] . '',
'ACTION' => '' . $lang['CD_Accept_Challenge'] . '',
'GAME_ID' => $row['id'])
);
}
else
{
$template->assign_block_vars('challenges',array( 'USER_NAME' => '' . $row2['username'] . '',
'ACTION' => '' . $lang['CD_Accept_Challenge'] . ' | ' . $lang['CD_Decline_Challenge'] . '',
'GAME_ID' => $row['id'])
);
}
}
$template->pparse("header");
$template->pparse("body");
}
$template->set_filenames(array(
"footer" => 'card_duel_footer.tpl')
);
$template->pparse("footer");
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>