`TicketSaleStart` AND NOW() < `TicketSaleEnd` AND FIND_IN_SET('{$memberSex}', `EventSexFilter`) AND ( TO_DAYS('{$memberArr['DateOfBirth']}') BETWEEN TO_DAYS(DATE_SUB(NOW(), INTERVAL `EventAgeUpperFilter` YEAR)) AND TO_DAYS(DATE_SUB(NOW(), INTERVAL `EventAgeLowerFilter` YEAR)) ) AND ( INSTR(`EventMembershipFilter`, '\'all\'') OR INSTR(`EventMembershipFilter`, '\'{$membershipArr['ID']}\'') )" ); $partNumArr = db_arr( "SELECT COUNT(*) FROM `SDatingParticipants` LEFT JOIN `Profiles` ON `SDatingParticipants`.`IDMember` = `Profiles`.`ID` WHERE `SDatingParticipants`.`IDEvent` = $eventID AND `Profiles`.`Sex` = '{$memberSex}'" ); $ticketsLeft = ( $memberArr['Sex'] == 'male' ? $eventArr['TicketCountMale'] - $partNumArr[0] : $eventArr['TicketCountFemale'] - $partNumArr[0] ); $ticketPrice = (float)( $memberArr['Sex'] == 'male' ? $eventArr['TicketPriceMale'] : $eventArr['TicketPriceFemale'] ); $ticketPrice = sprintf( "%.2f", $ticketPrice ); if ( $eventArr['ID'] && $ticketsLeft > 0 ) $res = $ticketPrice; else $res = false; return $res; } /** * Stores specified member as participant of specified event and sends notification * letter to him * * @param int $memberID - member ID * @param int $eventID - event ID * @param int $transactionID - transaction ID in the database * * @return int/bool - true on success, 3 on mail wasn't sent, false otherwise * * */ function purchaseTicket( $memberID, $eventID, $transactionID ) { global $site; global $date_format; // argument validation $memberID = (int)$memberID; $eventID = (int)$eventID; $transactionID = (int)$transactionID; if ( $transactionID == 0 ) $transactionID = 'NULL'; $memberArr = getProfileInfo( $memberID ); $eventArr = db_arr( "SELECT `ID`, `Title`, `Place`, DATE_FORMAT(`EventStart`, '$date_format' ) AS EventStart, `TicketPriceFemale`, `TicketPriceMale`, `TicketCountFemale`, `TicketCountMale` FROM `SDatingEvents` WHERE `ID` = $eventID AND `Status` = 'Active'" ); $participantUID = $memberArr['NickName'] . $eventID . rand(100, 999); $res = db_res( "INSERT INTO `SDatingParticipants` SET `IDEvent` = {$eventID}, `IDMember` = {$memberID}, `ParticipantUID` = '{$participantUID}', `TransactionID` = {$transactionID}", 0 ); $subject = getParam( 't_SDatingCongratulation_subject' ); $messageText = getParam( 't_SDatingCongratulation' ); $aPlus = array(); $aPlus['NameSDating'] = $eventArr['Title']; $aPlus['PlaceSDating'] = $eventArr['Place']; $aPlus['WhenStarSDating'] = $eventArr['EventStart']; $aPlus['PersonalUID'] = $participantUID; $aPlus['LinkSDatingEvent'] = $site['url'] . 'events.php?action=show_info&event_id=' . $eventID; $mailRes = sendMail( $memberArr['Email'], $subject, $messageText, $memberID, $aPlus ); if ( $res ) return ($mailRes ? true : 3); else return false; } ?>