<?php
/*******************************************************************************
 * Copyright (c) 2015, 2016 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://eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Eric Poirier (Eclipse Foundation) - Initial implementation
 *    Christopher Guindon (Eclipse Foundation)
 *******************************************************************************/
// This file must be included
if(basename(__FILE__) == basename($_SERVER['PHP_SELF'])){exit();}
?>

<div id="fullcolumn">
  <div id="midcolumn">
    <h1><?php echo $pageTitle; ?></h1>
  </div>

  <!-- remove the entire <div> tag to omit the right column!  -->
  <div id="rightcolumn">
    <div class="sideitem text-center">
      <h6>About the Author</h6>
      <p class="author-picture"><img class="img-responsive"
        src="/community/eclipse_newsletter/2016/september/images/"
        alt="Jonas Helming" /></p>
      <p class="author-name">
        Jonas Helming <br />
        <a target="_blank" href="http://eclipsesource.com/">EclipseSource</a>
      </p>
      <ul class="author-link list-inline">
        <li><a class="btn btn-small btn-warning" target="_blank" href="http://eclipsesource.com/blogs/author/jhelming/">Blog</a>
        </li>
        <li><a class="btn btn-small btn-warning" target="_blank" href="https://twitter.com/JonasHelming">Twitter</a></li>
        <?php //echo $og; ?>
      </ul>
      
    </div>
    
     <div class="sideitem text-center">
      <h6>Related Articles</h6>
      <p class="author-picture"><a href="/community/eclipse_newsletter/2016/july/"><img class="img-responsive"
        src="/community/eclipse_newsletter/2016/july/images/.png"
        alt="newsletter logos" /></a></p>
      <p class="author-name">Neon Lights Everywhere
      <br />
        <a target="_blank" href="/community/eclipse_newsletter/2016/july/">Read More</a>
      </p>
      </div>
    <!--<div class="sideitem">
        <h6>Related Links</h6>
        <ul>
          <li><a href="/community/eclipse_newsletter/">The Eclipse Newsletter</a></li>
        </ul>
      </div> -->
  </div>
</div>
