2015-05-07 00:51:52 +02:00
|
|
|
{% extends 'base.html.twig' %}
|
|
|
|
|
|
|
|
{% block css %}
|
|
|
|
<link rel="stylesheet" href="{{ web_path }}app/css/geshi/vibrant-ink.css" />
|
|
|
|
|
|
|
|
{{ parent() }}
|
|
|
|
{% endblock %}
|
|
|
|
|
2015-05-11 21:06:41 +02:00
|
|
|
{% block title %}{{ gist.title ? gist.title : 'gist.untitled'|trans }} - {{ 'gist.action.history'|trans }}{% endblock %}
|
|
|
|
|
2015-05-07 00:51:52 +02:00
|
|
|
{% block body %}
|
|
|
|
<div class="row">
|
|
|
|
<div class="col-md-12">
|
2016-09-24 14:43:15 +02:00
|
|
|
<ul class="nav nav-tabs">
|
|
|
|
<li>
|
|
|
|
<a href="{{ path('view', {gist: gist.file}) }}" class="cipher-link">
|
|
|
|
{{ 'gist.action.view'|trans }}
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="active">
|
|
|
|
<a href="{{ path('revisions', {gist: gist.file}) }}" class="cipher-link">
|
|
|
|
{{ 'gist.action.history'|trans }}
|
|
|
|
<span class="badge">{{ history|length }}</span>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
2015-05-07 00:51:52 +02:00
|
|
|
|
|
|
|
<div class="panel panel-default">
|
|
|
|
<div class="panel-heading">
|
|
|
|
{{ gist.title ? gist.title : 'gist.untitled'|trans }}
|
|
|
|
</div>
|
|
|
|
<div class="panel-body">
|
|
|
|
<div class="tab-content">
|
2016-09-24 14:43:15 +02:00
|
|
|
<div id="revisions" class="tab-pane in active">
|
|
|
|
{% for commit in history %}
|
|
|
|
<div class="commit">
|
|
|
|
<p>
|
|
|
|
<a href="{{ path('view', {gist: gist.file, commit: commit.commit}) }}" class="btn btn-warning btn-sm cipher-link">
|
|
|
|
{{ commit.commit|slice(0, 10) }}
|
|
|
|
</a>
|
2015-05-07 00:51:52 +02:00
|
|
|
|
2016-09-24 14:43:15 +02:00
|
|
|
{% if loop.first %}<span class="btn btn-info btn-sm">init</span>{% endif %}
|
|
|
|
|
|
|
|
{% if not loop.first %}
|
|
|
|
<a href="#diff-{{ loop.index }}" data-target="#diff-{{ loop.index }}" class="btn btn-default btn-sm show-diff">
|
|
|
|
diff
|
|
|
|
</a>
|
|
|
|
{% endif %}
|
|
|
|
</p>
|
|
|
|
<p>
|
|
|
|
{{ commit.date|date('date.format'|trans) }}
|
|
|
|
</p>
|
|
|
|
<div>
|
|
|
|
{% if not loop.first %}
|
|
|
|
<div class="diff" id="diff-{{ loop.index }}">
|
2016-09-24 16:07:35 +02:00
|
|
|
{% if not gist.cipher %}
|
|
|
|
{{ commit.diff|raw }}
|
|
|
|
{% endif %}
|
2016-09-24 14:43:15 +02:00
|
|
|
</div>
|
|
|
|
{% endif %}
|
2015-05-07 00:51:52 +02:00
|
|
|
</div>
|
2016-09-24 14:43:15 +02:00
|
|
|
</div>
|
2015-05-07 00:51:52 +02:00
|
|
|
|
2016-09-24 14:43:15 +02:00
|
|
|
{% if not loop.last %}
|
|
|
|
<hr />
|
|
|
|
{% endif %}
|
|
|
|
{% endfor %}
|
|
|
|
</div>
|
2015-05-07 00:51:52 +02:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{% endblock %}
|
|
|
|
|
|
|
|
{% block js %}
|
|
|
|
{{ parent() }}
|
2016-09-24 16:07:35 +02:00
|
|
|
|
|
|
|
{% if gist.cipher %}
|
|
|
|
{{ include('View/cipherJs.html.twig') }}
|
|
|
|
|
|
|
|
<script src="{{ web_path }}components/jsdiff/diff.min.js"></script>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
var key = getKey();
|
|
|
|
|
|
|
|
var decrypt = function(content) {
|
|
|
|
var decrypted = CryptoJS.AES.decrypt(content, key, {
|
|
|
|
format: JsonFormatter
|
|
|
|
});
|
|
|
|
|
|
|
|
return decrypted.toString(CryptoJS.enc.Utf8);
|
|
|
|
}
|
|
|
|
|
|
|
|
var commits = [];
|
|
|
|
|
|
|
|
{% for commit in history %}
|
|
|
|
try {
|
|
|
|
var content = decrypt('{{ commit.content|raw }}');
|
|
|
|
commits[{{ loop.index - 1 }}] = content;
|
|
|
|
} catch(e) {
|
|
|
|
}
|
|
|
|
{% endfor %}
|
|
|
|
|
|
|
|
for (var u = commits.length - 1; u > 0; u--) {
|
|
|
|
if (commits.hasOwnProperty(u) && commits.hasOwnProperty(u - 1)) {
|
|
|
|
var previous = commits[u - 1];
|
|
|
|
var current = commits[u];
|
|
|
|
var diff = JsDiff.diffLines(previous, current);
|
|
|
|
var diffContent = [];
|
|
|
|
|
|
|
|
for (var v = 0, c = diff.length; v < c; v++) {
|
|
|
|
var value = diff[v].value;
|
|
|
|
var sign = diff[v].added ? '+' : '-';
|
|
|
|
var lines = value.split("\n");
|
|
|
|
|
|
|
|
for (var i = 0, l = lines.length; i < l; i++) {
|
|
|
|
diffContent.push(sign + lines[i]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
diffContent = diffContent.join("\n");
|
|
|
|
|
|
|
|
var $pre = $('<pre>')
|
|
|
|
.attr('class', 'brush: diff; syntaxhighlighter')
|
2016-09-26 01:41:08 +02:00
|
|
|
.text(diffContent);
|
2016-09-24 16:07:35 +02:00
|
|
|
|
|
|
|
$('#diff-' + (u + 1).toString()).append($pre);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
SyntaxHighlighter.all();
|
|
|
|
</script>
|
|
|
|
{% endif %}
|
2015-05-07 00:51:52 +02:00
|
|
|
{% endblock %}
|