<?php
/**
 * Copyright (c) 2018 Eclipse Foundation and others.
 *
 * 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:
 * Eric Poirier (Eclipse Foundation) - Initial implementation
 *
 * SPDX-License-Identifier: EPL-2.0
 */

$videos = array();
$videos[] = array(
  'url' => 'https://www.youtube.com/watch?v=rIzGkMcfLqw',
  'text' => 'Mickael Istria | Eclipse Photon Drives Innovation'
);
$videos[] = array(
  'url' => 'https://www.youtube.com/watch?v=lpA858Ebfqo',
  'text' => 'Lakshmi Shanmugam | What it means to be an Eclipse Contributor'
);
$videos[] = array(
  'url' => 'https://www.youtube.com/watch?v=eZ-92ov0a7A',
  'text' => 'Noopur Gupta | What\'s exciting about Eclipse Photon'
);
$videos[] = array(
  'url' => 'https://www.youtube.com/watch?v=NiyLoF1cRzI',
  'text' => 'Karsten Thoms | What\'s exciting about Eclipse Photon'
);

$videos_row = array();
$videos_more_row = array();
$i = 1;
shuffle($videos);
foreach ($videos as $video) {
  if ($i <= 3) {
    $videos_row[] = '<div class="col-sm-8 col-sm-offset-0 col-xs-16 col-xs-offset-4"><a class="eclipsefdn-video" href="'. $video['url'] .'"></a><br>'. $video['text'] .'</div>';
  }
  else {
    $videos_more_row[] = '<div class="col-sm-8 col-sm-offset-0 col-xs-16 col-xs-offset-4"><a class="eclipsefdn-video" href="'. $video['url'] .'"></a><br>'. $video['text'] .'</div>';
  }
  $i++;
}


?>

<div class="featured-new-noteworthy">
  <div class="container">
    <h2 class="margin-bottom-40">Better code. At light speed.</h2>

    <div class="row">
      <div class="col-sm-6 featured-new-noteworthy-item">
        <div class="featured-new-noteworthy-title">
          <span class="featured-circle featured-circle-new-noteworthy"><i data-feather="zap" stroke-width="1"></i></span>
          <p class="big fw-600">Future-friendly</p>
        </div>
        <div class="featured-new-noteworthy-read-more">
          <p>Rolling quarterly release cadence for new features</p>
          <i class="hidden-xs" data-feather="x" stroke-width="1"></i>
        </div>
      </div>
      <div class="col-sm-6 featured-new-noteworthy-item">
        <div class="featured-new-noteworthy-title">
          <span class="featured-circle featured-circle-new-noteworthy"><i data-feather="settings" stroke-width="1"></i></span>
          <p class="big fw-600">Native Rust support</p>
        </div>
        <div class="featured-new-noteworthy-read-more">
          <p>Full Eclipse IDE user experience for Rust applications</p>
          <i class="hidden-xs" data-feather="x" stroke-width="1"></i>
        </div>
      </div>
      <div class="col-sm-6 featured-new-noteworthy-item">
        <div class="featured-new-noteworthy-title">
          <span class="featured-circle featured-circle-new-noteworthy"><i data-feather="package" stroke-width="1"></i></span>
          <p class="big fw-600">Latest Java<sup class="small">TM</sup> versions</p>
        </div>
        <div class="featured-new-noteworthy-read-more">
          <p>Support for building Java<sup class="small">TM</sup> 10 and Java EE<sup class="small">TM</sup> 8 based applications out of the box</p>
          <i class="hidden-xs" data-feather="x" stroke-width="1"></i>
        </div>
      </div>
      <div class="col-sm-6 featured-new-noteworthy-item">
        <div class="featured-new-noteworthy-title">
          <span class="featured-circle featured-circle-new-noteworthy"><i data-feather="check-circle" stroke-width="1"></i></span>
          <p class="big fw-600">Dark theme improvements</p>
        </div>
        <div class="featured-new-noteworthy-read-more">
          <p>Updates to text colors, background color, popup dialogs, mark occurrences, and more</p>
          <i class="hidden-xs" data-feather="x" stroke-width="1"></i>
        </div>
      </div>
    </div>
    <h3 class="margin-bottom-30 margin-top-50">Eclipse Photon delivers what you need to rapidly innovate.</h3>
    <p><a class="btn btn-photon-secondary btn-xl" href="noteworthy/index.php"><i class="fa fa-bullhorn"></i> New and Noteworthy</a></p>
  </div>

</div>
<!--
<div class="featured-videos">
  <div class="container">
    <h2>Passion meets execution</h2>
    <p class="margin-bottom-30">Mike Milinkovich, State of the Union, on what drove the innovations in Eclipse Photon.</p>
    <div class="row">
      <div class="col-sm-18 col-sm-offset-3">
        <a class="eclipsefdn-video" href="https://www.youtube.com/watch?v=cnSMhgKApOg"></a>
      </div>
    </div>
  </div>
</div>
 -->
<div class="featured-stats">
  <div class="container">
    <h2 class="margin-bottom-40">All for one</h2>
    <div class="row">
      <div class="col-md-5 col-sm-6 col-md-offset-2 col-xs-12">
        <div class="row">
          <div class="col-xs-12 featured-stats-icon-container">
            <span class="featured-circle featured-circle-stats"><i data-feather="share-2" stroke-width="1"></i></span>
          </div>
          <div class="col-xs-12 featured-stats-text-container">
            <span class="featured-stats-number">85</span><br>
            Projects
          </div>
        </div>
      </div>

      <div class="col-md-5 col-sm-6 col-xs-12">
        <div class="row">
          <div class="col-xs-12 featured-stats-icon-container">
            <span class="featured-circle featured-circle-stats"><i data-feather="users" stroke-width="1"></i></span>
          </div>
          <div class="col-xs-12 featured-stats-text-container">
            <span class="featured-stats-number">246</span><br>
            Committers
          </div>
        </div>
      </div>

      <div class="col-md-5 col-sm-6 col-xs-12">
        <div class="row">
          <div class="col-xs-12 featured-stats-icon-container">
            <span class="featured-circle featured-circle-stats"><i data-feather="code" stroke-width="1"></i></span>
          </div>
          <div class="col-xs-12 featured-stats-text-container">
            <span class="featured-stats-number">73M</span><br>
            Lines of Code
          </div>
        </div>
      </div>

      <div class="col-md-5 col-sm-6 col-xs-12">
        <div class="row">
          <div class="col-xs-12 featured-stats-icon-container">
            <span class="featured-circle featured-circle-stats"><i data-feather="thumbs-up" stroke-width="1"></i></span>
          </div>
          <div class="col-xs-12 featured-stats-text-container">
            <span class="featured-stats-number">620</span><br>
            Contributors
          </div>
        </div>
      </div>
    </div>

    <div class="row">
      <?php foreach ($videos_row as $video): ?>
        <?php print $video; ?>
      <?php endforeach;?>
    </div>
    <hr>
    <div class="featured-more-videos">
      <div class="row">
        <?php foreach ($videos_more_row as $video): ?>
          <?php print $video; ?>
        <?php endforeach;?>
      </div>
      <hr>
    </div>
    <a class="btn btn-photon-secondary view-more-videos">View More Videos <i class="fa fa-arrow-down"></i></a>
  </div>
</div>

<div class="container featured-download">
  <div class="row">
    <div class="col-sm-18 col-sm-offset-3">
      <h2 class="margin-bottom-40">Community-driven. Better than ever.</h2>
      <p class="big fw-200">With a vast ecosystem of plugins from an active community, do everything you want to do.</p>
      <p class="big margin-bottom-20 fw-200">The best part? It's still 100% free and open source.</p>
      <ul class="list-inline">
        <!-- <li><a href="#" class="btn btn-photon-primary btn-lg"><i class="fa fa-download"></i> Download</a></li> -->
        <li><a href="/donate" class="btn btn-photon-secondary btn-lg"><i class="fa fa-star"></i> Donate</a></li>
      </ul>
    </div>
  </div>
</div>

<div class="featured-webinar">
  <div class="container">
    <h2 class="margin-bottom-40 text-center">Webinar Series</h2>
    <div class="row">
      <div class="col-sm-12 featured-webinar-container-left">
        <div class="row margin-bottom-20">
          <div class="col-sm-5 col-md-6">
            <h3>June 13</h3>
          </div>
          <div class="col-sm-12">
            <p><strong>Tip of the Day framework</strong><br>
            11am EDT<br>
            Wim Jongman</p>
          </div>
          <div class="col-sm-7 col-md-6">
            <p><a href="https://www.youtube.com/watch?v=gDAb_iyO5Fc" class="btn btn-default btn-sm">Watch Now</a></p>
          </div>
        </div>

        <div class="row margin-bottom-20">
          <div class="col-sm-5 col-md-6">
            <h3>June 18</h3>
          </div>
          <div class="col-sm-12">
            <p><strong>Modeling tools go up to the cloud…</strong><br>
            11am EDT<br>
            Pierre-Charles David & Mélanie Bats</p>
          </div>
          <div class="col-sm-7 col-md-6">
            <p><a href="https://www.youtube.com/watch?v=OQRFUyBt1r4" class="btn btn-default btn-sm">Watch Now</a></p>
          </div>
        </div>

        <div class="row margin-bottom-20">
          <div class="col-sm-5 col-md-6">
            <h3>June 20</h3>
          </div>
          <div class="col-sm-12">
            <p><strong>What’s new in Eclipse Platform</strong><br>
            9am EDT<br>
            Lakshmi P Shanmugam</p>
          </div>
          <div class="col-sm-7 col-md-6">
            <p><a href="https://www.youtube.com/watch?v=Ra2Wli51f30" class="btn btn-default btn-sm">Watch Now</a></p>
          </div>
        </div>

        <div class="row margin-bottom-20">
          <div class="col-sm-5 col-md-6">
            <h3>June 21</h3>
          </div>
          <div class="col-sm-12">
            <p><strong>LSP & TextMate powering a new era of Eclipse plugins</strong><br>
            11am EDT<br>
            Mickael Istria</p>
          </div>
          <div class="col-sm-7 col-md-6">
            <p><a href="https://www.youtube.com/watch?v=Pe_6mA8c48Y" class="btn btn-default btn-sm">Watch Now</a></p>
          </div>
        </div>

        <div class="row margin-bottom-20">
          <div class="col-sm-5 col-md-6">
            <h3>June 22</h3>
          </div>
          <div class="col-sm-12">
            <p><strong>Embracing Java 9 and beyond with Eclipse JDT</strong><br>
            11am EDT<br>
            Sarika Sinha</p>
          </div>
          <div class="col-sm-7 col-md-6">
            <p><a href="https://www.youtube.com/watch?v=dT6bAlhglrE" class="btn btn-default btn-sm">Watch Now</a></p>
          </div>
        </div>
      </div>

      <div class="col-sm-12 featured-webinar-container-right">


        <div class="row margin-bottom-20">
          <div class="col-sm-5 col-md-6">
            <h3>June 25</h3>
          </div>
          <div class="col-sm-12">
            <p><strong>Embracing JUnit 5 with Eclipse</strong><br>
            9am EDT<br>
            Noopur Gupta</p>
          </div>
          <div class="col-sm-7 col-md-6">
            <p><a href="https://www.youtube.com/watch?v=hrgF5ihZe0g" class="btn btn-default btn-sm">Watch Now</a></p>
          </div>
        </div>

        <div class="row margin-bottom-20">
          <div class="col-sm-5 col-md-6">
            <h3>June 25</h3>
          </div>
          <div class="col-sm-12">
            <p><strong>What’s new in Eclipse Xtext 2.14</strong><br>
            11am EDT<br>
            Holger Schill & Karsten Thoms</p>
          </div>
          <div class="col-sm-7 col-md-6">
            <p><a href="https://www.youtube.com/watch?v=Isxverh09e4" class="btn btn-default btn-sm">Watch Now</a></p>
          </div>
        </div>

        <div class="row margin-bottom-20">
          <div class="col-sm-5 col-md-6">
            <h3>June 26</h3>
          </div>
          <div class="col-sm-12">
            <p><strong>Developing with Eclipse Collections</strong><br>
            11am EDT<br>
            Nikhil Nanivadekar</p>
          </div>
          <div class="col-sm-7 col-md-6">
            <p><a href="https://www.youtube.com/watch?v=84PaWxSuBZs" class="btn btn-default btn-sm">Watch Now</a></p>
          </div>
        </div>

        <div class="row margin-bottom-20">
          <div class="col-sm-5 col-md-6">
            <h3>June 27</h3>
          </div>
          <div class="col-sm-12">
            <p><strong>What’s new in Eclipse VIATRA 2.0</strong><br>
            11am EDT<br>
            Istvan Rath</p>
          </div>
          <div class="col-sm-7 col-md-6">
            <p><a href="https://www.youtube.com/watch?v=SkCrPbtxrsg" class="btn btn-default btn-sm">Watch Now</a></p>
          </div>
        </div>
      </div>
    </div>
    <p class="text-center">
      <a href="https://www.meetup.com/Virtual-Eclipse-Community-MeetUp"><img width="300" src="public/images/virtual-eclipse.svg"></a>
    </p>

  </div>
</div>

<div class="featured-social">
  <div class="container">
    <h2 class="margin-bottom-40">Get Social</h2>
    <div class="row">
      <div class="col-sm-12 col-sm-offset-6">
        <p class="big margin-bottom-20 fw-200">Stay up to date and in the know with Eclipse Photon by following us on social media!</p>
        <ul class="list-inline featured-social-links">
          <li>
            <a class="fa-stack fa-xl" href="https://twitter.com/EclipseFdn">
              <i class="fa fa-circle-thin fa-stack-2x"></i>
              <i class="fa fa-twitter fa-stack-1x"></i>
            </a>
          </li>
          <li>
            <a class="fa-stack fa-xl" href="https://www.facebook.com/eclipse.org">
              <i class="fa fa-circle-thin fa-stack-2x"></i>
              <i class="fa fa-facebook fa-stack-1x"></i>
            </a>
          </li>
          <li>
            <a class="fa-stack fa-xl" href="https://www.youtube.com/user/EclipseFdn">
              <i class="fa fa-circle-thin fa-stack-2x"></i>
              <i class="fa fa-youtube fa-stack-1x"></i>
            </a>
          </li>
          <li>
            <a class="fa-stack fa-xl" href="https://www.linkedin.com/company/eclipse-foundation">
              <i class="fa fa-circle-thin fa-stack-2x"></i>
              <i class="fa fa-linkedin fa-stack-1x"></i>
            </a>
          </li>
        </ul>
      </div>
    </div>
  </div>
</div>