require_once "config.php";
require_once $config->getIncludeURL(Config::INCLUDES_PATH, "common_includes.php.inc");
require_once $config->getIncludeURL(Config::INCLUDES_PATH, "constants%advertisement_edit_constants.php");
require_once $config->getIncludeURL(Config::INCLUDES_PATH, "controllers%advertisement_controller.php");
require_once $config->getIncludeURL(Config::INCLUDES_PATH, "objects%advertisement.php");
require_once $config->getIncludeURL(Config::INCLUDES_PATH, "daos%advertisement_dao.php");
$dbConnection = null;
$memberID = null;
$processed = false;
try {
    $dbConnection = DatabaseUtilities::getDatabaseConnection();
    //Get the current user's ID and details.
    $memberID = LoginController::getLoggedInMemberID($dbConnection);
    if ($memberID != null) {
        if (isset($_POST[AdvertisementEditConstants::ADVERTISEMENT_ID_INPUT])) {
            $advertisementID = $_POST[AdvertisementEditConstants::ADVERTISEMENT_ID_INPUT];
            if (AdvertisementController::processAdvertisementUpdateSecurityCheck($memberID, $_POST[AdvertisementEditConstants::MEMBER_ID_INPUT], $_POST[AdvertisementEditConstants::ENCRYPTED_ID_INPUT], $_POST[AdvertisementEditConstants::ADVERTISEMENT_ID_INPUT], $_POST[AdvertisementEditConstants::KEY])) {
                $processed = AdvertisementController::deactivateAdvertisement($memberID, $advertisementID, $dbConnection);
            }
        }
    }
} catch (Exception $ex) {
    $processed = false;
}
$dbConnection = null;
if (!$processed) {
    ErrorUtilities::errorRedirect(ErrorConstants::ADVERTISEMENT_VIEW_ERROR);
} else {
    header("Location: my_advertisements.php");
}
$dbConnection = null;
$memberID = null;
$processed = false;
try {
    $dbConnection = DatabaseUtilities::getDatabaseConnection();
    //Get the current user's ID and details.
    $memberID = LoginController::getLoggedInMemberID($dbConnection);
    if ($memberID != null) {
        if (isset($_POST[AdvertisementCreateConstants::SUBMISSION_KEY_INPUT])) {
            $submissionKey = $_POST[AdvertisementCreateConstants::SUBMISSION_KEY_INPUT];
            echo "Submission Key " . $submissionKey;
            if (MemberSubmissionController::checkSubmissionKey($memberID, $submissionKey, $dbConnection)) {
                $inputMemberID = $_POST[AdvertisementCreateConstants::MEMBER_ID_INPUT];
                $encryptedID = $_POST[AdvertisementCreateConstants::ENCRYPTED_ID_INPUT];
                if (AdvertisementController::processAdvertisementCreateSecurityCheck($memberID, $inputMemberID, $encryptedID)) {
                    $advertisementID = AdvertisementController::createAdvertisement($memberID, $_POST[AdvertisementCreateConstants::FOR_INPUT_ID], $_POST[AdvertisementCreateConstants::SUMMARY_INPUT_ID], $_POST[AdvertisementCreateConstants::DESCRIPTION_INPUT_ID], $_POST[AdvertisementCreateConstants::INSPIRATIONS_INPUT_ID], $_POST[AdvertisementCreateConstants::BAND_INPUT_ID], $_POST[LocationConstants::LOCATION_COUNTRY_INPUT_ID], $_POST[LocationConstants::LOCATION_STATE_INPUT_ID], $_POST[LocationConstants::LOCATION_CITY_INPUT_ID], $_POST[LocationConstants::LOCATION_REGION_INPUT_ID], $dbConnection);
                    if ($advertisementID > 0) {
                        //If advertisement is for a position in a band.
                        if ($_POST[AdvertisementCreateConstants::FOR_INPUT_ID] == 2) {
                            $bandID = $_POST[AdvertisementCreateConstants::BAND_INPUT_ID];
                            if (BandMemberController::isBandMemberAdmin($bandID, $memberID, $dbConnection)) {
                                BandAdvertisementController::createBandAdvertisement($bandID, $advertisementID, $dbConnection);
                            }
                        }
                        if (AdvertisementGenreController::createAdvertisementGenres($advertisementID, $memberID, $_POST[AdvertisementCreateConstants::GENRE_INPUT_ID], $dbConnection)) {
                            $positionCount = $_POST[AdvertisementCreateConstants::POSITION_COUNT_ID];
                            echo "Position Count : " . $positionCount;
                            $positionList = null;
                            for ($i = 1; $i <= $positionCount; $i++) {
                                $position = new AdvertisementPosition();
                                $position->setVariable(AdvertisementPosition::ADVERTISEMENT_ID, $advertisementID);
$memberID = null;
$processed = false;
try {
    $dbConnection = DatabaseUtilities::getDatabaseConnection();
    //Get the current user's ID and details.
    $memberID = LoginController::getLoggedInMemberID($dbConnection);
    if ($memberID == null) {
        header("Location: login.php");
        exit;
    } else {
        //Check that the advertisement ID parameter has been passed.
        if (isset($_GET['advertisementID'])) {
            $advertisementID = $_GET['advertisementID'];
            if ($advertisementID != null) {
                //By called the getAdvertisementForEdit function we can ensure that the current user is an admin of the advertisement.
                $advertisementDetails = AdvertisementController::getAdvertisementForEdit($advertisementID, $memberID, $dbConnection);
                if ($advertisementDetails != null) {
                    $advertisementGenres = AdvertisementGenreController::getAdvertisementGenres($advertisementID, $dbConnection);
                    $advertisementPositions = AdvertisementPositiionController::getAdvertisementPositions($advertisementID, $dbConnection);
                    $memberIDEncrypted = EncryptionUtilities::encryptString($memberID);
                    $processed = true;
                }
            }
        }
    }
} catch (Exception $ex) {
    $processed = false;
}
$dbConnection = null;
if (!$processed) {
    ErrorUtilities::errorRedirect(ErrorConstants::ADVERTISEMENT_VIEW_ERROR);
require_once $config->getIncludeURL(Config::INCLUDES_PATH, "daos%band_member_instrument_dao.php");
require_once $config->getIncludeURL(Config::INCLUDES_PATH, "objects%advertisement.php");
require_once $config->getIncludeURL(Config::INCLUDES_PATH, "objects%band.php");
require_once $config->getIncludeURL(Config::INCLUDES_PATH, "objects%band_member.php");
require_once $config->getIncludeURL(Config::INCLUDES_PATH, "objects%search_parameters.php");
require_once $config->getIncludeURL(Config::INCLUDES_PATH, "objects%search_results.php");
require_once $config->getIncludeURL(Config::INCLUDES_PATH, "utilities%change_utilities.php");
try {
    $dbConnection = DatabaseUtilities::getDatabaseConnection();
    $memberID = LoginController::getLoggedInMemberID($dbConnection);
    $processed = false;
    if ($memberID != null) {
        $inputMemberID = $_POST[MemberEditConstants::MEMBER_ID_INPUT];
        $encryptedID = $_POST[MemberEditConstants::ENCRYPTED_ID_INPUT];
        if (MemberController::processMemberSecurityCheck($memberID, $inputMemberID, $encryptedID)) {
            AdvertisementController::deactivateMemberAdvertisements($memberID, $dbConnection);
            $bandSearchResults = BandSearchController::searchBandsByMemberID($memberID, 1, 100, $dbConnection);
            if ($bandSearchResults != null) {
                $bandSkeletons = $bandSearchResults->getVariable(SearchResults::SKELETONS);
                if ($bandSkeletons != null) {
                    foreach ($bandSkeletons as $bandSkeleton) {
                        $bandID = $bandSkeleton->getVariable(Band::BAND_ID);
                        $bandMembers = BandMemberDao::selectBandMembers($bandID, $dbConnection);
                        if (count($bandMembers) == 1) {
                            BandController::deactivateBand($memberID, $bandID, $dbConnection);
                        }
                    }
                }
            }
            MemberController::deactivateMusicianProfile($memberID, $dbConnection);
            $processed = true;