<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>Analysis Information Leak framework Dashboard</title>

  <!-- Core CSS -->
  <link href="{{ url_for('static', filename='css/bootstrap.min.css') }}" rel="stylesheet">
  <link href="{{ url_for('static', filename='font-awesome/css/font-awesome.css') }}" rel="stylesheet">
  <link href="{{ url_for('static', filename='css/sb-admin-2.css') }}" rel="stylesheet">
  <link href="{{ url_for('static', filename='css/dygraph_gallery.css') }}" rel="stylesheet" type="text/css" />
  <link href="{{ url_for('static', filename='css/dataTables.bootstrap.css') }}" rel="stylesheet" type="text/css" />
  <!-- JS -->
  <script type="text/javascript" src="{{ url_for('static', filename='js/dygraph-combined.js') }}"></script>
  <script language="javascript" src="{{ url_for('static', filename='js/jquery.js')}}"></script>
  <script src="{{ url_for('static', filename='js/jquery.dataTables.min.js') }}"></script>
  <script src="{{ url_for('static', filename='js/dataTables.bootstrap.js') }}"></script>
  <!-- Custom style -->
  <style>
      .tooltip-inner {
         text-align: left;
         height: 200%;
         width: 200%;
         max-width: 500px;
         max-height: 500px;
         font-size: 13px;
      }
      xmp {
         white-space:pre-wrap;
         word-wrap:break-word;
      }
      .modal-backdrop.fade {
         opacity: 0;
      }
  </style>

</head>
<body>

    <div id="wrapper">
      <nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0">
          <div class="navbar-header">
          <ul class="nav navbar-nav">
               <li class="active"><a href="{{ url_for('index') }}"><i class="fa fa-dashboard fa-fw"></i> Dashboard</a></li>
               <li><a href="{{ url_for('trending') }}"><i class="glyphicon glyphicon-stats"></i> Trending charts</a></li>
          </ul>
          </div>
          <!-- /.navbar-top-links -->
          <div class="navbar-default sidebar" role="navigation">
              <div class="sidebar-collapse">
                  <ul class="nav" id="side-menu">
                 {% include 'searchbox.html' %}
                 </ul>
                  <!-- /#side-menu -->
              </div>
              <!-- /.sidebar-collapse -->
           <a  href="{{ url_for('index') }}"><img src="{{ url_for('static', filename='image/AIL.png') }}" /></a>
          </div>
          <!-- /.navbar-static-side -->
      </nav>


      <!-- Modal -->
      <div id="mymodal" class="modal fade" role="dialog">
        <div class="modal-dialog modal-lg">

          <!-- Modal content-->
          <div id="mymodalcontent" class="modal-content">
            <div id="mymodalbody" class="modal-body" max-width="850px">
              <p>Loading paste information...</p>
              <img id="loading-gif-modal" src="{{url_for('static', filename='image/loading.gif') }}" height="26" width="26" style="margin: 4px;">
            </div>
            <div class="modal-footer">
              <a id="button_show_path" target="_blank" href=""><button type="button" class="btn btn-info">Show saved paste</button></a>
              <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            </div>
          </div>
        </div>
      </div>


        <div id="page-wrapper">
            <!-- /.row -->
            <div class="row"> </div>
            <div class="row">
                <div class="col-lg-12">
                    </br>
                    <div class="panel panel-default">
                        <div class="panel-heading">
                            <i class="glyphicon glyphicon-search"></i> {{ r|length }} Results for "<strong>{{ query }}</strong>"
                            <div class="pull-right">

                            </div>
                        </div>
                        <!-- /.panel-heading -->
                          <div class="panel-body">
                          <table class="table table-striped table-bordered table-hover" id="myTable">
                              <thead>
                                   <tr>
                                      <th>#</th>
                                      <th style="max-width: 800px;">Path</th>
                                      <th>Date</th>
                                      <th>Size (Kb)</th>
                                      <th>Action</th>
                                   </tr>
                              </thead>
                              <tbody>
                          {% set i = 0 %}
                          {% for path in r %}
                                <tr>
                                    <td>{{ i + 1 }}</td>
                                    <td><a target="_blank" href="{{ url_for('showsavedpaste') }}?paste={{ path }}&num={{ i+1 }}"> {{ path }}</a></td>
                                    <td>{{ paste_date[i] }}</td>
                                    <td>{{ paste_size[i] }}</td>
                                    <td><p><span class="glyphicon glyphicon-info-sign" data-toggle="tooltip" data-placement="left" title="{{ c[i] }}"></span> <button type="button" class="btn-link" data-num="{{ i + 1 }}" data-toggle="modal" data-target="#mymodal" data-url="{{ url_for('showsavedpaste') }}?paste={{ path }}&num={{ i+1 }}" data-path="{{ path }}"><span class="fa fa-search-plus"></span></button></p></td>
                                </tr>
                              {% set i = i + 1 %}
                          {% endfor %}
                              </tbody>
                          </table>
                          </div>
                        <!-- /.panel-body -->
                    </div>
                </div>
            <!-- /.row -->
        </div>
        <!-- /#page-wrapper -->
    </div>
    <script src="{{ url_for('static', filename='js/bootstrap.min.js') }}"></script>
</body>

<!-- enable tooltip and dataTable -->
<script>
    $(document).ready(function(){
        $('[data-toggle="tooltip"]').tooltip();
        $("#button_show_path").hide();
	$('#myTable').dataTable();
    });
</script>

<!-- Dynamically update the modal -->
<script type="text/javascript">
    // static data
    var alert_message = '<div class="alert alert-info alert-dismissable"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button><strong>No more data.</strong> Full paste displayed.</div>';
    var complete_paste = null;
    var char_to_display = {{ char_to_display }};
    var start_index = 0;

    // On click, get html content from url and update the corresponding modal
    $("[data-toggle='modal']").on("click", function (event) {
        event.preventDefault();
        var modal=$(this);
        var url = " {{ url_for('showpreviewpaste')  }}?paste=" + $(this).attr('data-path') + "&num=" + $(this).attr('data-num');
        $.get(url, function (data) {
            $("#mymodalbody").html(data);
            var button = $('<button type="button" id="load-more-button" class="btn btn-info btn-xs center-block" data-url="' + $(modal).attr('data-path') +'" data-toggle="tooltip" data-placement="bottom" title="Load more content"><span class="glyphicon glyphicon-download"></span></button>');
            button.tooltip();
            $("#mymodalbody").children(".panel-default").append(button);

            $("#button_show_path").attr('href', $(modal).attr('data-url'));
            $("#button_show_path").show('fast');
            $("#loading-gif-modal").css("visibility", "hidden"); // Hide the loading GIF
            if ($("[data-initsize]").attr('data-initsize') < char_to_display) { // All the content is displayed
                nothing_to_display();
            }
            // On click, donwload all paste's content
            $("#load-more-button").on("click", function (event) {
                if (complete_paste == null) { //Donwload only once
                    $.get("{{ url_for('getmoredata') }}"+"?paste="+$(modal).attr('data-path'), function(data, status){
                        complete_paste = data;
                        update_preview();
                    });
                } else {
                    update_preview();
                }
            });
        });
    });

    // When the modal goes out, refresh it to normal content
    $("#mymodal").on('hidden.bs.modal', function () {
        $("#mymodalbody").html("<p>Loading paste information...</p>");
        var loading_gif = "<img id='loading-gif-modal' class='img-center' src=\"{{url_for('static', filename='image/loading.gif') }}\" height='26' width='26' style='margin: 4px;'>";
        $("#mymodalbody").append(loading_gif); // Show the loading GIF
        $("#button_show_path").attr('href', '');
        $("#button_show_path").hide();
        complete_paste = null;
        start_index = 0;
    });

   // Update the paste preview in the modal
   function update_preview() {
       if (start_index + char_to_display > complete_paste.length-1){ // end of paste reached
           var final_index = complete_paste.length-1;
           var flag_stop = true;
       } else {
           var final_index = start_index + char_to_display;
       }

       if (final_index != start_index){ // still have data to display
           $("#mymodalbody").find("#paste-holder").append(complete_paste.substring(start_index+1, final_index+1)); // Append the new content
           start_index = final_index;
           if (flag_stop)
               nothing_to_display();
       } else {
          nothing_to_display();
      }
   }
   // Update the modal when there is no more data
   function nothing_to_display() {
       var new_content = $(alert_message).hide();
       $("#mymodalbody").find("#panel-body").append(new_content);
       new_content.show('fast');
       $("#load-more-button").hide();
   }
</script>
</html>