<!DOCTYPE html> <html> <head> <title>AIL-Framework</title> <link rel="icon" href="{{ url_for('static', filename='image/ail-icon.png')}}"> <!-- Core CSS --> <link href="{{ url_for('static', filename='css/bootstrap4.min.css') }}" rel="stylesheet"> <link href="{{ url_for('static', filename='css/font-awesome.min.css') }}" rel="stylesheet"> <link href="{{ url_for('static', filename='css/tags.css') }}" rel="stylesheet" type="text/css" /> <!-- JS --> <script src="{{ url_for('static', filename='js/jquery.js')}}"></script> <script src="{{ url_for('static', filename='js/popper.min.js')}}"></script> <script src="{{ url_for('static', filename='js/bootstrap4.min.js')}}"></script> <script src="{{ url_for('static', filename='js/tags.js') }}"></script> </head> <body> {% if UUID %} <div id="modalsubmit" class="modal fade" role="dialog"> <div class="modal-dialog modal-lg"> <div id="mymodalcontent" class="modal-content"> <div class="modal-header" style="border-bottom: 4px solid #cccccc; background-color: #cccccc; color: #ffffff;"> <p class="heading"><h1>Submitting Items ...</h1></p> </div> <div class="modal-body"> <div class="progress mt-1" id="pr" hidden> <div class="progress-bar progress-bar-striped progress-bar-animated" role="progressbar" aria-valuenow="0" aria-valuemin="0" aria-valuemax="100" style="width:0%" id="progress-bar"> 0% </div> </div> <span class="btn btn-info mt-2" id="files_submitted_btn" hidden> Files Submitted <span class="badge badge-light" id="files_submitted">1 / 1</span> </span> <button class="btn btn-lg btn-warning" style="margin: auto;" id="loading_button"> <i class="fas fa-sync-alt fa-spin"></i> Loading . . . </button> <br></br> <div class="card border-danger" id="panel_error" hidden> <div class="card-header bg-danger text-white">ERROR</div> <div class="card-body"> <p id="error_message">error</p> </div> </div> <div class="list-group" id="submit_pastes" hidden> <li class="list-group-item bg-dark text-white">Submitted Items</li> </div> </div> <div class="modal-footer"> <a class="btn btn-light text-secondary" href="{{ url_for('Tags.Tags_page') }}?ltags=infoleak:submission="manual"" target="_blank" id="submit_result" hidden> <i class="fas fa-paper-plane fa-2x"></i> <span class="label-icon">Submitted Items </span> </a> <button class="btn btn-success btn-tags ml-auto" data-dismiss="modal" id="success_submit_button" hidden> <span class="label-icon">Success </span> <i class="fas fa-check"></i> </button> <button class="btn btn-danger btn-tags ml-auto" data-dismiss="modal" id="error_submit_button" hidden> <span class="label-icon">ERROR </span> <i class="fas fa-times"></i> </button> </div> </div> </div> </div> {% endif %} {% include 'nav_bar.html' %} <div class="container-fluid"> <div class="row"> {% include 'item_submit/menu_sidebar.html' %} <div class="col-12 col-lg-10" id="core_content"> <form action="{{ url_for('PasteSubmit.submit') }}" id="pasteSubmitForm" method="post" enctype=multipart/form-data onsubmit="submitPaste()"> <input type="hidden" id="tags_taxonomies" name="tags_taxonomies" value="test"> <input type="hidden" id="tags_galaxies" name="tags_galaxies" value="test"> <div class="row"> <div class="col-xl-5"> <div class="card mt-2"> <div class="card-header text-white" style="background-color: #337ab7;"> Files submission </div> <div class="card-body"> <div class="form-group"> <label for="file">Submit a file</label> <input type="file" class="form-control-file" id="file" name="file"> </div> <div class="form-group"> <label for="paste_name">Archive Password</label> <input type="password" class="form-control" id="password" name="password" placeholder="Optionnal"> </div> </div> </div> </div> <div class="col-xl-7"> <div class="card mt-2"> <div class="card-header text-white" style="background-color: #337ab7;"> Tags : </div> <div class="card-body"> <div class="input-group" > <input id="ltags" type="text" class="form-control" autocomplete="off"> </div> <button type="button" class="btn btn-info dropdown-toggle mt-1 mb-3" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Taxonomie Selected </button> <div class="dropdown-menu dropdown-menu-right"> <!-- TODO: make dropdown-scrollable --> <h6 class="dropdown-header">Taxonomie Tags</h6> <button class="dropdown-item" type="button" id="all-tags-taxonomies">All Tags <i class="fas fa-tags"></i></button> <div class="dropdown-divider"></div> {% for taxo in active_taxonomies %} <button class="dropdown-item" type="button" id="{{ taxo }}-id{{ loop.index0 }}">{{ taxo }}</button> {% endfor %} </div> <div class="input-group"> <input id="ltagsgalaxies" type="text" class="form-control" autocomplete="off"> </div> <button type="button" class="btn btn-info dropdown-toggle mt-1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Galaxy Selected </button> <div class="dropdown-menu dropdown-menu-right"> <!-- TODO: make dropdown-scrollable --> <h6 class="dropdown-header">Galaxy Tags</h6> <button class="dropdown-item" type="button" id="all-tags-galaxies">All Tags <i class="fas fa-tags"></i></button> <div class="dropdown-divider"></div> {% for galaxy in active_galaxies %} <button class="dropdown-item" type="button" id="{{ galaxy }}-idgalax{{ loop.index0 }}">{{ galaxy }}</button> {% endfor %} </div> </div> </div> </div> </div> <div class="form-group mt-3"> <textarea class="form-control" id="paste_content" name="paste_content" rows="25"></textarea> </div> <div class="form-group"> <button class="btn btn-primary " name="submit" type="submit">Submit Item</button> </div> </form> </div> </div> </div> </body> <script> var ltags var ltagsgalaxies $(document).ready(function(){ $("#page-items-submit").addClass("active"); $.getJSON("{{ url_for('Tags.get_all_tags_taxonomies') }}", function(data) { ltags = $('#ltags').tagSuggest({ data: data, maxDropHeight: 200, name: 'ltags' }); }); $.getJSON("{{ url_for('Tags.get_all_tags_galaxy') }}", function(data) { ltagsgalaxies = $('#ltagsgalaxies').tagSuggest({ data: data, maxDropHeight: 200, name: 'ltagsgalaxies' }); }); $('#modalsubmit').modal({backdrop: 'static'}) }); function toggle_sidebar(){ if($('#nav_menu').is(':visible')){ $('#nav_menu').hide(); $('#side_menu').removeClass('border-right') $('#side_menu').removeClass('col-lg-2') $('#core_content').removeClass('col-lg-10') }else{ $('#nav_menu').show(); $('#side_menu').addClass('border-right') $('#side_menu').addClass('col-lg-2') $('#core_content').addClass('col-lg-10') } } </script> <script> function submitPaste(){ document.getElementById("tags_taxonomies").value = ltags.getValue(); document.getElementById("tags_galaxies").value = ltagsgalaxies.getValue(); } </script> <script> jQuery("#all-tags-taxonomies").click(function(e){ //change input tags list $.getJSON("{{ url_for('Tags.get_all_tags_taxonomies') }}", function(data) { ltags.setData(data) }); }); </script> <script> jQuery("#all-tags-galaxies").click(function(e){ $.getJSON("{{ url_for('Tags.get_all_tags_galaxy') }}", function(data) { ltagsgalaxies.setData(data) }); }); {% for taxo in active_taxonomies %} jQuery("#{{ taxo }}-id{{ loop.index0 }}").click(function(e){ $.getJSON("{{ url_for('Tags.get_tags_taxonomie') }}?taxonomie={{ taxo }}", function(data) { ltags.setData(data) }); }); {% endfor %} </script> <script> {% for galaxy in active_galaxies %} jQuery("#{{ galaxy }}-idgalax{{ loop.index0 }}").click(function(e){ $.getJSON("{{ url_for('Tags.get_tags_galaxy') }}?galaxy={{ galaxy }}", function(data) { ltagsgalaxies.setData(data) }); }); {% endfor %} </script> <script type="text/javascript"> var i = 0; var err = 0; $(".progress-bar").css("width", i + "%").text(i + " %"); function makeProgress(){ $.getJSON("{{ url_for('PasteSubmit.submit_status') }}?UUID={{ UUID }}", function(data) { var end = data.end; var prog = data.prog; var in_progress = data.in_progress; var processing = data.processing; var isError = data.isError; var error = data.error; if(processing){ $("#loading_button").hide(); $("#pr").removeAttr('hidden'); $("#files_submitted_btn").removeAttr('hidden'); } if(i < 100){ $(".progress-bar").css("width", prog + "%").text(prog + " %"); } if(!end){ document.getElementById('files_submitted').innerHTML = in_progress; //error handler if(isError){ document.getElementById('error_message').innerHTML = error; $("#panel_error").removeAttr('hidden'); $("#error_submit_button").removeAttr('hidden'); err = err + 1; } // Wait for sometime before running this script again if(err < 100){ setTimeout("makeProgress()", 100); } } else { document.getElementById('files_submitted').innerHTML = in_progress; $("#progress-bar").removeClass('progress-bar-animated'); $("#submit_result").removeAttr('hidden'); if(isError){ document.getElementById('error_message').innerHTML = error; $("#panel_error").removeAttr('hidden'); $("#error_submit_button").removeAttr('hidden'); } else { $("#success_submit_button").removeAttr('hidden'); } if(in_progress == '0 / '){ document.getElementById('files_submitted').innerHTML = '0 / 0' $(".progress-bar").css("width", "100%").text("100 %"); $("#progress-bar").addClass('bg-danger') } else { var link = data.link; $("#submit_pastes").append(link); $("#submit_pastes").removeAttr('hidden'); } } } ); } makeProgress(); </script> </html>