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); ?>