changed git call from https to git readonly
[atutor.git] / mods / wiki / plugins / action / verdiff.php
1 <?php
2
3 /*
4   allows to diff freely chooseable page versions
5 */
6
7
8 #-- glue
9 $ewiki_plugins["action"]["verdiff"] = "ewiki_action_verdiff";
10 $ewiki_config["action_links"]["view"]["verdiff"] = "verdiff";
11
12
13 #-- impl
14 function ewiki_action_verdiff($id, $data, $action) {
15
16    global $ewiki_plugins, $ewiki_diff_versions;
17
18    if (($v0 = (int)$_REQUEST["from"]) && ($v1 = (int)$_REQUEST["to"])) {
19
20       $ewiki_diff_versions = array($v0, $v1);
21
22       return($ewiki_plugins["action"]["diff"]($id, $data, $action));
23
24    }
25    else {
26
27       $o = ewiki_make_title($id, "$id version differences");
28
29       $o .= '<form action="' . ewiki_script($action, $id) . '" method="GET">';
30       $o .= '<input type="submit" value="diff">';
31       $o .= '<input type="hidden" name="id" value="'.$action."/".htmlentities($id).'">';
32
33       $o .= "\n".'<table border="1" class="diff"><tr>'
34          .  "<th>from</th> <th>to</th> <th>version</th> <th>mtime</th> "
35          .  "<th>size</th> <th>author</th></tr>\n";
36
37       for ($n=$data["version"]; $n>=1; $n--) {
38
39          $data = ewiki_db::GET($id, $n);
40          if (EWIKI_DB_F_TEXT == ($data["flags"] & EWIKI_DB_F_TYPE)) {
41
42             $o .= "<tr>"
43                .  '<td><input type="radio" name="from" value="'.$n.'"></td>'
44                .  '<td><input type="radio" name="to" value="'.$n.'"></td>'
45                .  "<td>#$n</td>"
46                .  "<td>".strftime("%Y-%m-%d %H:%M",$data["last_modified"])."</td>"
47                .  "<td>".strlen($data["content"])."</td>"
48                .  "<td>".$data["author"]."</td>"
49                .  "</tr>\n";
50
51          }
52       }
53
54       $o .= "</table>\n";
55       $o .= "</form>\n";
56
57    }
58
59    return($o);
60 }
61
62
63 ?>