<?php
require_once("./include/membersite_config.php");

if(!$fgmembersite->CheckLogin())
{
    $fgmembersite->RedirectToURL("login.php");
    exit;
}

if(!$fgmembersite->DBLogin())
{
    echo "Database Login failed! Please make sure that the DB login credentials provided are correct";
    return false;
}

// Initialize variables
$valid_formats = array(
    array("zip"),
    array("pdf", "PDF"),
    array("mpg", "mpeg", "mp4", "ogg", "mkv", "avi")
);
$max_file_size = 1024 * 100000; //30 Mb
$filenames = array('code_path', 'report_path', 'video_path');

if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST" and isset($_POST['fileupload']))
{
    // --------------- FILE UPLOAD ---------------- //
    $f_groupid = $_POST['idgroup'];
    $path = "uploads/group$f_groupid/"; // Upload directory
    $count = 0;

    // Loop $_FILES to execute all files
    foreach ($_FILES['files']['name'] as $f => $name) {     
        $filename=$_FILES['files']['name'][$f];
        
        if ($_FILES['files']['error'][$f] == 4) {
            continue; // Skip file if any error found
        }           
        if ($_FILES['files']['error'][$f] == 0) {               
            if ($_FILES['files']['size'][$f] > $max_file_size) {
                    $fgmembersite->HandleError("File <em>$name</em> is too large!");
                continue; // Skip large files
            } elseif( ! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats[$f]) ){
                $fgmembersite->HandleError("File $name is not a valid format!");
                continue; // Skip invalid file formats
        } else { // No error found! Move uploaded files 
            if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$name)) {
                $count++; // Number of successfully uploaded file
                    
                $idx_name = $filenames[$f];
                $qry = "select * from $fgmembersite->database.$fgmembersite->media_tab ".
                    "where note = \"$idx_name\" and id_group=$f_groupid";
                $result = mysql_query($qry, $fgmembersite->connection);
                
                if(!$result)
                {
                    $fgmembersite->HandleDBError("Error inserting data to the table\nquery:$qry");
                } else {
                    if(mysql_num_rows($result) == 0) {
                        $qry = "insert into $fgmembersite->database.$fgmembersite->media_tab ".
                            " (name, id_group, note) ".
                            " VALUES ".
                            " (\"$path$name\", ". $f_groupid . ",".
                            " \"$idx_name\")";
                    } else {
                        $row = mysql_fetch_assoc($result);
                        $filetoremove = $row['name'];
                        $qry = "update $fgmembersite->database.$fgmembersite->media_tab ".
                            "set name = \"$path$name\" ".
                            "where note=\"$idx_name\" and  id_group = $f_groupid";
                    }
    
                            
//                    echo "$qry </br>";
                    
                    if(!mysql_query( $qry ,$fgmembersite->connection))
                    {
                        $fgmembersite->HandleDBError("Error inserting data to the table\nquery:$qry");
                    }
                    unlink($filetoremove);
                }
            } else {
                        $fgmembersite->HandleError("Error uploading file $name.");
            }
            }
        }
    }
}
?>
<!DOCTYPE html>
<html lang="en">
  <?php
  $mytitle="Personal Home |";
  require_once("header.php");
  ?>

  <body>
    <?php
    require_once("navbar.php");
    ?>

    <div class="container">
    <!-- SHOW ERRORS -->
      <?php
          $err_msg = $fgmembersite->GetErrorMessage();
          if (!empty($err_msg)) {
      ?>
      <div class="row">
        <div class="col-md-offset-1 col-md-10 col-md-offset-1 alert alert-danger" role="alert">
            <strong>Oh snap!</strong> <?php echo $err_msg; ?>
        </div>
      </div>
      <?php
      }
      ?>

<div class="row">
        <div class="col-md-offset-1 col-md-10 col-md-offset-1 alert alert-warning" role="alert">
            This is a preliminary version of the site. If you encounter any errors please write an email to <a href="mailto:DeSouzaG@missouri.edu">DeSouzaG@missouri.edu</a>
            with the details of the error
        </div>
</div>
    <div class="row">
          <div class="col-sm-6 col-xs-12 col-lg-6">
            <p class="lead" style="text-align:justify;">
Welcome back <i><?php echo $fgmembersite->UserFullName(); ?></i>
        </p>
            <p class="lead" style="text-align:justify;">
This page provides an interface to all the functionalities related to the IEEE CIS competition. Here you can modify your personal infomation and manage your submissions.
</p>
            <p class="lead" style="text-align:justify;">
        If there are open competitions to which you can register, a button will appear in the gray bar right under this section.
        If you are already registered for a competition, you will instead be allowed to modify your submission at the bottom part of this page.
        </p>
          </div>
          <div class="col-sm-6 col-xs-12 col-lg-6">
        <h4>News</h4>
            <p style="text-align:justify;"><b>2016-06-30</b> Website for the 2016 IEEE CIS Studend Competition is up. </p>
            <p style="text-align:justify;">&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbspTheme: Interactive Web Learning Systems </p>
            <p style="text-align:justify;"><b>2016-07-05</b> Sumbission for the IEEE 2016 Student Competition is now open. </p>
          </div>
    </div>
</div>
<?php
    $sql = "select * from ".
        "$fgmembersite->database.$fgmembersite->comp_tab ".
        "where active=TRUE and id_comp not in ".
        "(select id_comp from ".
        "$fgmembersite->database.$fgmembersite->group_tab, $fgmembersite->database.$fgmembersite->usergroupconn_tab ".
        "where id_user=".$fgmembersite->UserId()." and $fgmembersite->group_tab.id_group= $fgmembersite->usergroupconn_tab.id_group)";
    //echo $sql."</br>";
        $result = mysql_query($sql, $fgmembersite->connection);

        if(!$result)
    {
            echo "Fallimento nell'esecuzione della query ($qry) dal DB: " . mysql_error();
        exit;
    }
    if(mysql_num_rows($result) == 0) {
        $add_group = false;
    } else {
        $add_group = true;
    }
?>
<div class="jumbotron">
  <div class="container text-center">
    <h3><em>WHAT YOU CAN DO</em></h3>
    <p>
     <a class="btn btn-primary btn-lg" role="button" href="pinfo.php">Modify personal info</a>
<?php
    if($add_group == true) {
        echo '<a class="btn btn-primary btn-lg" role="button" href="addgroup.php">Register for the competition</a>';
    }
?>
    </p>
  </div>
</div> 
<div class="container">
<!--<div class="row">
<input id="fileupload" type="file" name="files[]" data-url="uploads/group1/" >
<div id="progress">
    <div class="bar" style="width: 0%;"></div>
</div>
</div>
-->
<div class="row" style="padding-bottom:40px;">
<h1 class="arrowDowntitle"><span class="arrowDown"><a href="#howgetit" name="howgetit">
<span class="glyphicon glyphicon-chevron-down" ></span>
</a></span></h1>
</div>
<!-- Elenco dei gruppi a cui appartiene utente corrente -->
<?php

    $qry = "select $fgmembersite->database.$fgmembersite->usergroupconn_tab.id_group,".
               " $fgmembersite->group_tab.name as group_name, $fgmembersite->comp_tab.name as comp_name, materialdeadline, ".
           " id_teamleader".
           " FROM ".
           " $fgmembersite->database.$fgmembersite->usergroupconn_tab, $fgmembersite->database.$fgmembersite->group_tab,".
           " $fgmembersite->comp_tab".
               " where id_user=".$fgmembersite->UserId() .
           " and $fgmembersite->comp_tab.id_comp=$fgmembersite->group_tab.id_comp".
           " and $fgmembersite->usergroupconn_tab.id_group=$fgmembersite->group_tab.id_group".
           " order by $fgmembersite->comp_tab.materialdeadline desc";
    //echo $qry;
    //echo "</br>";
    $result = mysql_query($qry,$fgmembersite->connection);
    if (!$result) {
            echo "Fallimento nell'esecuzione della query ($qry) dal DB: " . mysql_error();
            exit;
        }
    if (mysql_num_rows($result) == 0) {
        echo "<h4>NO REGISTERED GROUP.</h4>";
    } else {
        //echo mysql_num_rows($result)."</br>";
        while ($row = mysql_fetch_assoc($result)) {
            //echo $row['id_group'] ."</br>";
            //Ottieni tutti i membri del gruppo
            $sql = "select $fgmembersite->user_tab.id_user, name, email, university, ieeecode ".
                "from $fgmembersite->database.$fgmembersite->user_tab, $fgmembersite->database.$fgmembersite->usergroupconn_tab ".
                "where ".
                "id_group=".$row['id_group'] . " and 
 $fgmembersite->database.$fgmembersite->user_tab.id_user = $fgmembersite->database.$fgmembersite->usergroupconn_tab.id_user"; 
//    echo $sql;
//    echo "</br>";
            $res = mysql_query($sql,$fgmembersite->connection);
            if (!$res) {
                    echo "Fallimento nell'esecuzione della query ($qry) dal DB: " . mysql_error();
                    exit;
                }
            //Visualizza i dati
?>
<!-- open panel -->
<div class="row">
<div class="col-md-1"></div>
<div class="col-md-10">
<div class="panel panel-primary"> 
<?php
//            echo "id_group: ".$row['id_group']."</br>";
//            echo "group name: ".$row['group_name']."</br>";
            echo "<div class=\"panel-heading\"><h4>".$row['comp_name']."</h4></div>";
//            echo "competition name: ".$row['comp_name']."</br>";
//            if ($row['id_teamleader'] == $fgmembersite->UserId()) {
//                echo "You are the team leader</br>";
//            } else {
//                echo "Team Leader: ".$row['id_teamleader']."</br>";
//            }
?>
<div class="panel panel-default">
<table class="table">
        <thead>
          <tr>
            <th>#</th>
            <th>Name</th>
            <th>e-mail</th>
            <th>University</th>
        <th>IEEE code</th>
        <th></th>
          </tr>
        </thead>
<?php
            $matDeadline = $row['materialdeadline'];
            echo "<div class=\"panel-body\">";
            echo "<p class=\"text-right\"><strong>Material Submission Deadline:</strong> ".$row['materialdeadline']."</p>";
            echo "<p><strong>Group Members:</strong></p>";
            echo "</div>";
            $UserNb = 1;
            while ($row2 = mysql_fetch_assoc($res)) {
//                echo $row2['id_user']." ".$row2['name']." ".$row2['email']." ".$row2['university'];
                     echo "<tr>";
                echo "<td>".$UserNb."</td>";//" (".$row2['id_user'].")</td>";
                echo "<td>".$row2['name']."</td>";
                echo "<td>".$row2['email']."</td>";
                echo "<td>".$row2['university']."</td>";
                echo "<td>".$row2['ieeecode']."</td>";
                if ($row2['id_user'] == $row['id_teamleader']) {
                    echo "<td>Leader</td>";
                } else {
                    echo "<td></td>";
                }
                echo "</tr>";
                $UserNb++;
            }
?>
        </tbody>
      </table>
</div>
<?php
if (date('Y-m-d H:i:s') < $matDeadline) {
?>
<p class="text-right" style="padding-right:5%"><a href='addgroup.php?idg=<?php echo $row['id_group']+356;?>'>Modify group information</a></p>
<?php
} //close date check
?>
            <div class="panel-body">
            <p><strong>Files:</strong></p>

            <p>
We expect to receive three documents: the source code, a description of the application and a video showing application features.<br/>
Several restrictions have been imposed on the file types and dimensions:
<ul>
<li>source code: a single zip file (maximum size of 100Mb)</li>
<li>report: a single pdf file (maximum size of 100Mb)</li>
<li>video: any video format with maximum size of 100Mb (supported files are "mpg", "mpeg", "mp4", "ogg", "mkv", "avi")</li>
</ul>
</p>
<?php
// mostra i file associati
$groupid=$row['id_group'];
$path = "uploads/group$groupid/"; // Upload directory


//get current files
$qry = "select * from $fgmembersite->database.$fgmembersite->media_tab where id_group = $groupid";
$result_el = mysql_query( $qry ,$fgmembersite->connection);
$code_file = '';
$report_file = '';
$video_file = '';

while ($row_el = mysql_fetch_assoc($result_el))
{
    if (strcmp($row_el['note'], $filenames[0]) == 0)
        $code_file=$row_el['name'];
    else if (strcmp($row_el['note'], $filenames[1]) == 0)
        $report_file=$row_el['name'];
    else if (strcmp($row_el['note'], $filenames[2]) == 0)
        $video_file= $row_el['name'];
    else {
        printf("Error unknown media type");
        return;
    }
}

//printf("<br>query: %s<br>", $qry);
//printf("code: %s<br>", $code_file);
//printf("report: %s<br>", $report_file);
//printf("video: %s<br>", $video_file);
//
if (date('Y-m-d H:i:s') < $matDeadline) {
?>
    <form class="form-horizontal" role="form" action='<?php echo $fgmembersite->GetSelfScript(); ?>' method='post' enctype="multipart/form-data">
      <input type='hidden' name='idgroup' id='idgroup' value='<?php echo $groupid; ?>'/>
      <input type='hidden' name='fileupload' id='fileupload' value='1'/>
<?php
} // close date control
?>
    <table class="table">
        <tbody>
<?php
  if(!empty($code_file)) {
                echo "<tr>";
  } else {
                echo "<tr class=\"danger\">";
  }
?>
                <td><strong>Source Code:</strong></td>
                <td><i>zip</i> file</td>
                <td>
<?php
if (date('Y-m-d H:i:s') < $matDeadline) {
?>
                <input type="file" class="fileup" name="files[]" accept="application/zip"/>
<?php
} //close date check
?>
                </td>
                <td>
  <?php
  if(!empty($code_file)) {
    echo '<a href="'.$code_file.'" alt="'.basename($code_file).'" target="_blank"><span class="glyphicon glyphicon-download" style="font-size:20px"></span></a>';
  } else {
    echo '<p class="text-danger"><strong>Missing file</strong></p>';
  }
  ?>
                </td>    
            </tr>
<?php
  if(!empty($report_file)) {
                echo "<tr>";
  } else {
                echo "<tr class=\"danger\">";
  }
?>
                <td><strong>Report:</strong></td>
                <td><i>pdf</i> file</td>
                <td>
<?php
if (date('Y-m-d H:i:s') < $matDeadline) {
?>
                <input type="file" class="fileup" name="files[]" accept="application/pdf"/>
<?php
} //close date check
?>
                </td>
                <td>
  <?php
  if(!empty($report_file)) {
    echo '<a href="'.$report_file.'" alt="'.basename($report_file).'" target="_blank"><span class="glyphicon glyphicon-book" style="font-size:20px"></span></a>';
  } else {
    echo '<p class="text-danger"><strong>Missing file</strong></p>';
  }
  ?>
                </td>    
            </tr>
<?php
  if(!empty($video_file)) {
                echo "<tr>";
  } else {
                echo "<tr class=\"danger\">";
  }
?>
                <td><strong>Video:</strong></td>
                <td>any video format (max 100Mb)</td>
                <td>
<?php
if (date('Y-m-d H:i:s') < $matDeadline) {
?>
                <input type="file" class="fileup" name="files[]" accept="video/*"/>
<?php
} //close date check
?>
                </td>
                <td>
  <?php
  if(!empty($video_file)) {
    echo '<a href="'.$video_file.'" alt="'.basename($video_file).'" target="_blank"><span class="glyphicon glyphicon-film" style="font-size:20px"></span></a>';
  } else {
    echo '<p class="text-danger"><strong>Missing file</strong></p>';
  }
  ?>
                </td>    
            </tr>
        </tbody>
    </table>
<!-- <div class="form-group">
        <label class="col-sm-2 control-label">Codice</label>
        <div class="col-sm-6">
            <input type="file" class="fileup" name="files[]" />
        </div>
        <div class="col-sm-4">-->
  <?php
//  if(!empty($code_file)) {
//    echo '<a href="'.$code_file.'">'.basename($code_file).'</a>';
//  } else {
//    echo 'Missing file';
//  }
  ?>
<!--        </div>
    </div>
  </br> 
    <div class="form-group">
        <label class="col-sm-2 control-label">Report</label>
        <div class="col-sm-6">
            <input type="file" class="fileup" name="files[]" />
        </div>
        <div class="col-sm-4"> -->
  <?php
//  if(!empty($report_file)) {
//    echo '<a href="'.$report_file.'">'.basename($report_file).'</a>';
//  } else {
//    echo 'Missing file';
//  }
  ?>
<!--        </div>
    </div>
  </br>
    <div class="form-group">
        <label class="col-sm-2 control-label">Video</label>
        <div class="col-sm-6">
            <input type="file" class="fileup" name="files[]" />
        </div>
        <div class="col-sm-4">-->
  <?php
//  if(!empty($video_file)) {
//    echo '<a href="'.$video_file.'">'.basename($video_file).'</a>';
//  } else {
//    echo 'Missing file';
//  }
  ?>
<!--        </div>
    </div>
  </br>-->
<?php
if (date('Y-m-d H:i:s') < $matDeadline) {
?>
  <div class="form-group">
    <div class="col-sm-offset-5 col-sm-7">
      <button type="submit" class="btn btn-default">Upload files</button>
    </div>
  </div>
</form>
<?php
} //close date check
?>

</div> <!-- close panel body -->
 <!-- close panel -->
</div>
 <!-- close column -->
</div>
 <!-- close column -->
<div class="col-md-1"></div>
 <!-- close row -->
</div>
<?php
        }
    }
?>

      <hr class="featurette-divider"></hr>
      <div class="container marketing">
         <?php
         require_once("footer.php");
         ?>
      </div><!-- /.container -->


    <!-- Bootstrap core JavaScript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->

    <?php
    require_once("bootstrap.php");
    ?>

    <!--<script src="js/vendor/jquery.ui.widget.js"></script>
    <script src="js/jquery.iframe-transport.js"></script>
    <script src="js/jquery.fileupload.js"></script>
    <script>
        $(function () {
            $('#fileupload').fileupload({
                dataType: 'json',
                done: function (e, data) {
                    $.each(data.result.files, function (index, file) {
                        $('<p/>').text(file.name).appendTo(document.body);
                    });
                }
            progressall: function (e, data) {
                    var progress = parseInt(data.loaded / data.total * 100, 10);
                    $('#progress .bar').css(
                        'width',
                        progress + '%'
                    );
                }
            });
        });
    </script>-->

  </body>
</html>
