<?php
/*******************************************************************************
 * Copyright (c) 2014-2015 Eclipse Foundation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Denis Roy (Eclipse Foundation)- initial API and implementation
 *    Christopher Guindon (Eclipse Foundation) - Bug 432355 - Update l&f of the Eclipse site login
 *******************************************************************************/

//if name of the file requested is the same as the current file, the script will exit directly.
if(basename(__FILE__) == basename($_SERVER['PHP_SELF'])){exit();}

?>
<div class="container padding-bottom" style="padding-top:2em;">
  <div class="col-md-24">
  <h1><?php print $pageTitle;?></h1>
    <ul>
      <?php
        $domains = array(
          'https://testeclipse.org/',
          'https://www.testeclipse.org',
          'https://eclipse.org.testeclipse.org',
          'https://eclipse.org',
          'https://eclipse.org/',
          'https://eclipse.local:50243',
          'https://eclipse.local:50243/',
          'https://marketplace.eclipse.org/',
          'https://marketplace.eclipse.org',
          'https://www.marketplace.eclipse.org',
          'https://marketplace.eclipse.local:50043',
          'https://marketplace.eclipse.local:50043/',
          'https://polarsys.org',
          'https://polarsys.org/',
          'https://www.polarsys.org',
          'https://bugs.polarsys.org',
          'https://bugs.polarsys.org/dsfdsfdsf.dsfom',
          'http://www.eclipse.org.someevilsite.com/nasty.php'
        );

        foreach ($domains as $d) {
          $class = ($Sitelogin->validateTakemebackUrl($d)) ? 'green' : 'red';
          print '<li class="' . $class . '">' . $d . '</li>';
        }
      ?>
    </ul>
  </div>
</div>

