removed mods directory from the ATutor codebase
[atutor.git] / mods / wiki / tools / mkxpi
diff --git a/mods/wiki/tools/mkxpi b/mods/wiki/tools/mkxpi
deleted file mode 100755 (executable)
index 48aacc2..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/usr/local/bin/php -Cq
-<?php
-
-/*
-   this utility assembles a .xpi/.jpi file (installable ewiki plugin)
-
-   usage:
-      mkxpi xpi-source-file
-
-   The 'xpi-source-file' holds a rfc822-style list of settings and text
-   parts:
-    | id: ThePluginIdOrPageName          (REQ)
-    | type: page                         (REQ; "page" or "init")
-    | license: PublicDomain              (OPT)
-    | author: ...                        (OPT)
-    | version: ...                       (OPT)
-    | description: ...                   (OPT; notes/comments about plugin)
-    | code: ...                          (REQ; multiline field)
-
-   All entries, but especially 'description' and 'code' can be multiline
-   entries. The 'code' entry is followed by PHP code, with optional
-   surrounding <?php and ?> tags.
-   For "page" plugins it is simply the code (no function definition!) that
-   would normally be put into a page plugin func, but that you cannot use
-   return() and instead throw all output via the '$o' variable (workaround).
-
-   For "init" (any type: string will do) xpi plugins, you can add function
-   definitions and ewiki_plugin[] registry settings as usual. The execution
-   of that code is however not guaranteed to happen in global scope - most
-   of the ewiki_* vars are however accessible.
-
-   The special "jpi" type plugins are "page" plugins, but you must use
-   JavaScript code, so it can safely be executed in a sandbox (phpjs)
-   with the limited WikiApi functionality. Then however everybody can
-   install those .jpi plugins. (not yet ready)
-*/
-
-
-function srcxpi2xpi($str) {
-
-   $xpi = array(
-      "XPI" => "0.1",
-      "engine" => "ewiki",
-   );
-
-   $uu = preg_split('/^(\w+):/m', $str, $uu, PREG_SPLIT_DELIM_CAPTURE);
-   for ($i=1; $i<count($uu); $i+=2) {
-
-      $id = strtolower(trim($uu[$i]));
-      $val = trim($uu[$i+1]);
-
-      if ($id && $val) {
-         $xpi[$id] = $val;
-      }
-   }
-   if (strpos($xpi["code"], '<?')===0) {
-      $xpi["code"] = trim(preg_replace('/<\?(php|js)+|<\?|\?>/', '', $xpi["code"]));
-   }
-
-   #-- .jpi
-   if ($xpi["type"] == "jpi") {
-      $xpi["JPI"] = $xpi["XPI"];
-   }
-
-   return($xpi);
-}
-
-
-if ($file = $_SERVER["argv"][1]) {
-   echo "reading '$file'...";
-   if ($src = implode("", file($file))) {
-      $r = srcxpi2xpi($src);
-      if ($fn = $r["id"]) {
-         echo " passed.\n";
-         $fn .= ($r["JPI"] ? ".jpi" : ".xpi");
-         echo "writing '\e[33m".$fn."\e[37m'...";
-         if ($f = gzopen($fn, "wb9")) {
-            gzwrite($f, serialize($r));
-            gzclose($f);
-            echo " \e[32mdone\e[37m.";
-         }
-         echo "\n";
-      }
-      else {
-         echo " \e[31minvalid sorce file\e[37m.\n";
-      }
-   }
-}
-else {
-   echo "syntax: mkxpi  xpi-src-file\n";
-}
-
-?>
\ No newline at end of file