{% extends 'layout-page.twig' %} {% set page = 'files' %} {% block title %}P3X GitList{% endblock %} {% block content %} {% embed 'breadcrumb.twig' with {breadcrumbs: breadcrumbs } %} {% block left %} {% if enable_editing %} <div class="p3x-gitlist-button"> <button type="button" class="btn btn-sm btn-info" id="p3x-gitlist-tree-new-file"> <i class="far fa-file-alt"></i> New file or directory </button> {% embed 'modal/modal-commit.twig' with {type: 'new', title: 'New file', bodyTitle: 'Are you sure to add a new file or directory?<br/><strong>If you add a slash to the end of the "filename", you create a directory, otherwise you create a file. <br/>Please, make sure you use a relative path.</strong><br/><br/><span style="text-decoration: underline;">Note:</span> The filename is not created on the current tree browser you are, but that actual root of the repo.', wrapForm: true } %} {% block form %} <div class="input-group"> <span class="input-group-addon" id="p3x-gitlist-modal-{{ type }}-filename-aria"><i class="far fa-file-alt"></i></span> <input required type="text" class="form-control" placeholder="New filename or directory" aria-describedby="p3x-gitlist-modal-{{ type }}-filename-aria" id="p3x-gitlist-modal-{{ type }}-filename" minlength="1" maxlength="128" value=""> </div> <br/> {% endblock %} {% block buttons %} <button id="p3x-gitlist-modal-new-filename-confirm" type="submit" class="btn btn-info"> <span class="far fa-file-alt"></span> New file or directory </button> {% endblock %} {% endembed %} <button type="button" class="btn btn-sm btn-info" id="p3x-gitlist-tree-new-binary"> <i class="far fa-file"></i> Upload file and/or override/binary </button> {% embed 'modal/modal-commit.twig' with {enctype: 'multipart/form-data', type: 'new-binary', title: 'New binary', bodyTitle: 'Are you sure to add a new binary file?', wrapForm: true } %} {% block form %} <div class="input-group"> <input required type="file" class="form-control-file" placeholder="New binary filename" aria-describedby="p3x-gitlist-modal-{{ type }}-filename-binary-upload-aria" id="p3x-gitlist-modal-{{ type }}-filename-binary-upload"> </div> <div class="checkbox"> <label><input id="p3x-gitlist-modal-{{ type }}-filename-binary-override" type="checkbox" value="1">Allow override existing</label> </div> <div class="input-group"> <span class="input-group-addon" id="p3x-gitlist-modal-{{ type }}-filename-binary-aria"><i class="far fa-file"></i></span> <input required type="text" class="form-control" placeholder="New binary filename" aria-describedby="p3x-gitlist-modal-{{ type }}-filename-binary-aria" id="p3x-gitlist-modal-{{ type }}-filename-binary" minlength="1" maxlength="128" value=""> </div> <br/> {% endblock %} {% block buttons %} <button id="p3x-gitlist-modal-new-filename-binary-confirm" type="submit" class="btn btn-info"> <span class="far fa-file"></span> Upload file and/or override/binary </button> {% endblock %} {% endembed %} </div> {% endif %} {% endblock %} {% endembed %} {% if files is not empty %} <table class="table table-striped table-hover" id="p3x-gitlist-tree-table"> <tbody> {% if parent is not null %} <tr style="cursor: pointer"> {% if not parent %} <td colspan="4" onclick='location.href = "{{ path('branch', {repo: repo, branch: branch}) }}"'> <a href="{{ path('branch', {repo: repo, branch: branch}) }}">..</a> </td> {% else %} <td colspan="4" onclick='location.href = "{{ path('tree', {repo: repo, commitishPath: branch ~ '/' ~ parent}) }}"'> <a href="{{ path('tree', {repo: repo, commitishPath: branch ~ '/' ~ parent}) }}">..</a> </td> {% endif %} </tr> {% endif %} {% for file in files %} {%- if file.type == "folder" or file.type == "symlink" -%} <tr> <td width="20%" style="cursor: pointer" onclick='location.href="{{ path('tree', {repo: repo, commitishPath: branch ~ '/' ~ path ~ (file.type == "symlink" ? file.path : file.name)}) }}"' nowrap> <span class="fas fa-folder"></span> <a href="{{ path('tree', {repo: repo, commitishPath: branch ~ '/' ~ path ~ (file.type == "symlink" ? file.path : file.name)}) }}">{{ file.name }}</a> {%- elseif file.type == "module" -%} <tr> <td width="20%" nowrap> <span class="fas fa-folder-open"></span> <a title="Head: {{ head }}" href="{{ file.url }}/tree/{{ head }}">{{ file.name }}</a> @ <a title="Commit: {{ file.hash }}" href="{{ file.url }}/tree/{{ file.hash }}">{{ file.shortHash }}</a> {%- else -%} <tr > <td width="20%" style="cursor: pointer" onclick='location.href="{{ path('blob', {repo: repo, commitishPath: branch ~ '/' ~ path ~ (file.type == "symlink" ? file.path : file.name)}) }}"' nowrap> <span class="far fa-file-alt"></span> <a href="{{ path('blob', {repo: repo, commitishPath: branch ~ '/' ~ path ~ (file.type == "symlink" ? file.path : file.name)}) }}">{{ file.name }}</a> {%- endif -%} </a> </td> <td width="5%" class="p3x-gitlist-tree-table-item" style="text-align: right;" title="{% if file.size %}{{ file.size | format_size | htmlentities }} kb{% endif %}"> {% if file.size %} {{ file.size | format_size }} {% endif %} </td> <td width="55%" class="p3x-gitlist-tree-table-item p3x-gitlist-tree-table-item-message" title="{{ file.message | htmlentities }}"> {{ file.message }} </td> <td width="15%" class="p3x-gitlist-tree-table-item" style="text-align: right;" title="{{ file.lastModified | htmlentities }}"> {{ file.lastModified }} </td> </tr> {% endfor %} </tbody> </table> {% else %} <p>This repository is empty.</p> {% endif %} {% if readme is defined and readme is not empty %} {% include 'markdown.twig' with {'filename': readme.filename, 'data': readme.content} %} {% endif %} {% endblock %}