| <?php | |
| /** | |
| * Copyright (c) 2014, 2018 Eclipse Foundation. | |
| * | |
| * This program and the accompanying materials are made | |
| * available under the terms of the Eclipse Public License 2.0 | |
| * which is available at https://www.eclipse.org/legal/epl-2.0/ | |
| * | |
| * Contributors: | |
| * Christopher Guindon (Eclipse Foundation) - Initial implementation | |
| * Eric Poirier (Eclipse Foundation) | |
| * | |
| * SPDX-License-Identifier: EPL-2.0 | |
| */ | |
| require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php"); | |
| require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/friends/payment.class.php"); | |
| $App = new App(); | |
| $Theme = $App->getThemeClass(); | |
| $PaymentGateway = new PaymentGateway(); | |
| $App->preventCaching(); | |
| // Begin: page-specific settings. Change these. | |
| $pageTitle = "Link donation with your Eclipse account"; | |
| $Theme->setPageTitle($pageTitle); | |
| $Theme->setPageKeywords("friends of eclipse, donation, contribution"); | |
| $Theme->setPageAuthor("Christopher Guindon"); | |
| // Custom logic | |
| $hide_form = FALSE; | |
| if (!$PaymentGateway->Donation->link_donation()) { | |
| $PaymentGateway->set_client_message('This is not a valid transaction.', 'danger'); | |
| $hide_form = TRUE; | |
| } | |
| else { | |
| $stage = $PaymentGateway->Donation->update_donation(); | |
| if ($stage == 'updated') { | |
| $PaymentGateway->set_client_message('Your donation was succesfully updated. Please check your e-mail for addionnal information.', 'success'); | |
| $hide_form = TRUE; | |
| } | |
| elseif ($stage == 'invalid_eclipse_id') { | |
| $PaymentGateway->set_client_message('Unable to find an eclipse account from your e-mail address.', 'danger'); | |
| } | |
| elseif ($stage == 'link_already_done') { | |
| $PaymentGateway->set_client_message('Your donation is already linked to an eclipse account.', 'danger'); | |
| $hide_form = TRUE; | |
| } | |
| } | |
| // Custom theme variables | |
| $variables = array(); | |
| $variables['main_container_classes'] = 'container-full'; | |
| $App->setThemeVariables($variables); | |
| // Generate the web page | |
| ob_start(); | |
| include ("content/en_" . $App->getScriptName()); | |
| $html = ob_get_clean(); | |
| $Theme->setHtml($html); | |
| $Theme->generatePage(); |