/** * Updates an advertisements genres if a change has occurred.. * * @param int $advertisementID * @param int $memberID * @param String $changeKey * @param int [] $genreInputIDs * @param Connection $dbConnection */ public function updateAdvertisementGenres($advertisementID, $memberID, $changeKey, $genreInputIDs, $dbConnection) { try { //If the genres have been changed, delete the current genres and create new ones. //This is quicker then trying to determine the records to keep. if (stripos($changeKey, AdvertisementEditConstants::GENRE_INPUT_CHANGE_KEY) !== false) { if (AdvertisementGenreController::deleteAdvertisementGenres($advertisementID, $dbConnection)) { AdvertisementGenreController::createAdvertisementGenres($advertisementID, $memberID, $genreInputIDs, $dbConnection); } } } catch (Exception $ex) { //Do nothing } }
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); } else { require_once $config->getIncludeURL(Config::INCLUDES_PATH, "views%advertisement_applications.php");
$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); $position->setVariable(AdvertisementPosition::POSITION_NUMBER, $i); $position->setVariable(AdvertisementPosition::INSTRUMENT_ID, $_POST[AdvertisementPositionConstants::POSITION_TYPE_INPUT_ID . $i]); $position->setVariable(AdvertisementPosition::DURATION_ID, $_POST[AdvertisementPositionConstants::POSITION_DURATION_INPUT_ID . $i]); $position->setVariable(AdvertisementPosition::EXPERIENCE_ID, $_POST[AdvertisementPositionConstants::POSITION_EXP_INPUT_ID . $i]); $position->setVariable(AdvertisementPosition::GENDER_ID, $_POST[AdvertisementPositionConstants::POSITION_GENDER_INPUT_ID . $i]); $position->setVariable(AdvertisementPosition::AGE_RANGE_ID, $_POST[AdvertisementPositionConstants::POSITION_AGE_INPUT_ID . $i]); $position->setVariable(AdvertisementPosition::DESCRIPTION, $_POST[AdvertisementPositionConstants::POSITION_OTHER_INPUT_ID . $i]); $positionList[] = $position; }
$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) { $submissionKey = $_POST[AdvertisementEditConstants::SUBMISSION_KEY_INPUT]; if (MemberSubmissionController::checkSubmissionKey($memberID, $submissionKey, $dbConnection)) { if (AdvertisementController::processAdvertisementUpdateSecurityCheck($memberID, $_POST[AdvertisementEditConstants::MEMBER_ID_INPUT], $_POST[AdvertisementEditConstants::ENCRYPTED_ID_INPUT], $_POST[AdvertisementEditConstants::ADVERTISEMENT_ID_INPUT], $_POST[AdvertisementEditConstants::KEY])) { $advertisementID = $_POST[AdvertisementEditConstants::ADVERTISEMENT_ID_INPUT]; $changeKey = $_POST[AdvertisementEditConstants::CHANGED_INPUT_ID]; AdvertisementController::updateAdvertisement($memberID, $changeKey, $advertisementID, $_POST[AdvertisementEditConstants::FOR_INPUT_ID], $_POST[AdvertisementEditConstants::BAND_INPUT_ID], $_POST[AdvertisementEditConstants::SUMMARY_INPUT_ID], $_POST[AdvertisementEditConstants::INSPIRATIONS_INPUT_ID], $_POST[AdvertisementEditConstants::DESCRIPTION_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); BandAdvertisementController::updateBandAdvertisement($_POST[AdvertisementEditConstants::BAND_INPUT_ID], $advertisementID, $memberID, $changeKey, $_POST[AdvertisementEditConstants::FOR_INPUT_ID], $dbConnection); AdvertisementGenreController::updateAdvertisementGenres($advertisementID, $memberID, $changeKey, $_POST[AdvertisementEditConstants::GENRE_INPUT_ID], $dbConnection); //Update advertisement positions. if ($_POST[AdvertisementEditConstants::POSITION_COUNT_ID] > 0) { $i = 1; $positionCount = $_POST[AdvertisementEditConstants::POSITION_COUNT_ID]; for ($i = 1; $i <= $_POST[AdvertisementEditConstants::POSITION_COUNT_ID]; $i++) { $advertisementPositionID = $_POST[AdvertisementPositionConstants::ADVERTISEMENT_POSITION_ID . $i]; if ($advertisementPositionID == null) { AdvertisementPositiionController::createAdvertisementPosition($advertisementID, $memberID, $i, $_POST[AdvertisementPositionConstants::POSITION_TYPE_INPUT_ID . $i], $_POST[AdvertisementPositionConstants::POSITION_DURATION_INPUT_ID . $i], $_POST[AdvertisementPositionConstants::POSITION_OTHER_INPUT_ID . $i], $_POST[AdvertisementPositionConstants::POSITION_EXP_INPUT_ID . $i], $_POST[AdvertisementPositionConstants::POSITION_AGE_INPUT_ID . $i], $_POST[AdvertisementPositionConstants::POSITION_GENDER_INPUT_ID . $i], $dbConnection); } else { AdvertisementPositiionController::updateAdvertisementPosition($advertisementPositionID, $_POST[AdvertisementPositionConstants::CHANGE_KEY_INPUT . $i], $advertisementID, $memberID, $i, $_POST[AdvertisementPositionConstants::POSITION_TYPE_INPUT_ID . $i], $_POST[AdvertisementPositionConstants::POSITION_DURATION_INPUT_ID . $i], $_POST[AdvertisementPositionConstants::POSITION_OTHER_INPUT_ID . $i], $_POST[AdvertisementPositionConstants::POSITION_EXP_INPUT_ID . $i], $_POST[AdvertisementPositionConstants::POSITION_AGE_INPUT_ID . $i], $_POST[AdvertisementPositionConstants::POSITION_GENDER_INPUT_ID . $i], $dbConnection); } } } $processed = true; }