PluginProbe ʕ •ᴥ•ʔ
VikAppointments Services Booking Calendar / 1.2.21
VikAppointments Services Booking Calendar v1.2.21
1.2.21 1.2.20 trunk 1.2.17 1.2.18 1.2.19
vikappointments / libraries / mvc / admin / views / overrides / tmpl / default_diff.php
vikappointments / libraries / mvc / admin / views / overrides / tmpl Last commit date
default.php 5 days ago default_diff.php 5 days ago default_editor.php 5 days ago default_file.php 5 days ago default_folder.php 5 days ago default_guide.php 5 days ago
default_diff.php
125 lines
1 <?php
2 /**
3 * @package VikAppointments
4 * @subpackage core
5 * @author E4J s.r.l.
6 * @copyright Copyright (C) 2024 E4J s.r.l. All Rights Reserved.
7 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
8 * @link https://vikwp.com
9 */
10
11 // No direct access
12 defined('ABSPATH') or die('No script kiddies please!');
13
14 $diff = $this->filters['differences'];
15
16 $codes = $lines = [];
17
18 foreach ($diff as $index => $line)
19 {
20 if ($index > 1 && !isset($diff[$index - 1]))
21 {
22 $codes[] = '';
23 $codes[] = '...';
24 $codes[] = '';
25
26 $lines[] = '';
27 $lines[] = '';
28 $lines[] = '';
29 }
30
31 if ($line[1] === -1)
32 {
33 $code = '<span class="overrides-diff-line line-delete">';
34 }
35 else if ($line[1] === 1)
36 {
37 $code = '<span class="overrides-diff-line line-insert">';
38 }
39 else
40 {
41 $code = '<span class="overrides-diff-line line-keep">';
42 }
43
44 $codes[] = $code . htmlentities($line[0]) . "</span>";
45
46 // register real line number
47 $lines[] = $line[2];
48 }
49 ?>
50
51 <style>
52 .overrides-diff-wrapper {
53 display: flex;
54 }
55
56 .overrides-diff-wrapper pre {
57 margin: 0;
58 }
59 .overrides-diff-wrapper pre code {
60 display: block;
61 font-family: monospace;
62 }
63 .overrides-diff-wrapper pre code:last-of-type {
64 padding-bottom: 20px !important;
65 }
66
67 .overrides-diff-numbers {
68 display: flex;
69 border-right: 1px solid #ccc;
70 text-align: right;
71 padding-left: 0px;
72 }
73 .overrides-diff-numbers code {
74 background: rgba(0, 0, 0, 0.04);
75 color: #646970;
76 margin: 0;
77 padding: 0px 3px 0px 5px;
78 min-width: 20px;
79 }
80
81 .overrides-diff-code-scrollable {
82 flex: 1;
83 overflow-x: scroll;
84 width: 0;
85 }
86 pre.overrides-diff-code {
87 word-break: keep-all !important;
88 word-wrap: normal !important;
89 white-space: pre !important;
90 }
91 .overrides-diff-code code {
92 background: #fff;
93 }
94
95 .overrides-diff-line.line-delete {
96 background: #9005;
97 }
98 .overrides-diff-line.line-insert {
99 background: #0905;
100 }
101 </style>
102
103 <div class="overrides-diff-wrapper">
104
105 <pre class="overrides-diff-numbers"><code><?php echo implode("\n", $lines); ?></code></pre>
106
107 <div class="overrides-diff-code-scrollable">
108 <pre class="overrides-diff-code"><code><?php echo implode("\n", $codes); ?></code></pre>
109 </div>
110
111 </div>
112
113 <script>
114 (function($) {
115 'use strict;'
116
117 $(function() {
118 onInstanceReady(() => {
119 return $('.CodeMirror-linenumber.CodeMirror-gutter-elt').first().width() || undefined;
120 }).then((gutterWidth) => {
121 $('.overrides-diff-numbers code').css('width', gutterWidth + 'px');
122 });
123 });
124 })(jQuery);
125 </script>