move VCS-related classes to VCS directory
[diogenes.git] / include / diogenes.spool.inc.php
diff --git a/include/diogenes.spool.inc.php b/include/diogenes.spool.inc.php
deleted file mode 100644 (file)
index 6afa6e2..0000000
+++ /dev/null
@@ -1,204 +0,0 @@
-<?php
-/*
- * Copyright (C) 2003-2004 Polytechnique.org
- * http://opensource.polytechnique.org/
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- */
-
-
-/** This class handles Diogenes spool operations.
- */
-class Diogenes_VCS_Spool {
-  /** The barrel we are running on */
-  var $alias;
-  /** Absolute directory location for the barrel's spool. */
-  var $datadir;
-
-  /** The last command that was executed. */
-  var $cmd_call;
-  
-  /** The output of the last command that was executed. */
-  var $cmd_output;
-  
-  /** The return value of the last command. */
-  var $cmd_return;
-  
-  /** The caller. It needs to define the 3 following methods :
-   * 
-   * @see info, kill, log
-   */
-  var $caller;
-
-  /** The constructor.
-   *
-   * @param caller the caller
-   * @param alias the alias to work on
-   */
-  function Diogenes_VCS_Spool(&$caller,$alias) {
-    global $globals;
-    $this->datadir = "{$globals->spoolroot}/$alias";
-    $this->caller =& $caller;
-    $this->alias = $alias;
-  }
-
-  
-  /** Execute a shell command and store information about it.
-   *
-   * @param $cmd the command to execute
-   */
-  function cmdExec($cmd)
-  {
-    $this->cmd_call = $cmd;    
-    unset($this->cmd_output);
-    unset($this->cmd_return);
-    
-    exec($cmd, $this->cmd_output, $this->cmd_return);
-    
-    return $this->cmd_return;
-  }
-  
-  
-  /** Return information about the last command that was executed.
-   */
-  function cmdStatus()
-  {
-    $out  =
-     "-- [ command information ] -- \n".
-     "command : {$this->cmd_call}\n".
-     "return value : {$this->cmd_return}\n".
-     "-- [ command output ] --\n".
-     implode("\n", $this->cmd_output)."\n".
-     "--";
-   return $out;
-  }
-
-  
-  /** Report an information.
-   *
-   * @param msg
-   */
-  function info($msg) {
-    $this->caller->info($msg);
-  }
-
-
-  /** Die with a given error message.
-   *
-   * @param msg
-   */
-  function kill($msg) {
-    $this->caller->kill($msg);
-  }
-
-
-  /** Record an action to the log.
-   *
-   * @param action
-   * @param data
-   */
-  function log($action,$data) {
-    $this->caller->log($action, $data);
-  }
-
-
-  /** Check that a path is valid.
-   *
-   * @param parent parent directory
-   * @param entry the item
-   * @param fatal should we consider a failure to be fatal?
-   */
-  function checkPath($parent,$entry,$fatal = true) {
-    $ret = preg_match("/^([a-zA-Z0-9\-_]+[\.,\/]?)*$/",$parent)
-        && preg_match("/^([a-zA-Z0-9\-_]+[\., ]?)*$/",$entry);
-
-    if (!$ret && $fatal)
-      $this->kill("malformed path ('$parent','$entry')");
-    
-    return $ret;
-  }
-
-
-  /** Add missing tags to a Diogenes page to make it a proper HTML file
-   *
-   * @param html
-   * @see importHtmlString
-   */
-  function exportHtmlString($html)
-  {
-    // if we have the body open & close tags, return raw file
-    if (preg_match("/<body(\s[^>]*|)>(.*)<\/body>/si",$html))
-      return $html;
-    
-    return "<html>\n<head><title>Diogenes page</title></head>\n<body>$html</body>\n</html>\n";
-  }
-
-
-  /** Makes a Diogenes page from a proper HTML file, that is return everything
-   *  inside the "body" tags.
-   *
-   * @param html
-   * @see exportHtmlString
-   */
-  function importHtmlString($html)
-  {
-    // If available, run tidy to clean sources
-    if (function_exists('tidy_repair_string')) {
-        $tidy_config = array('drop-empty-paras' => true,
-                             'drop-proprietary-attributes' => true,
-                             'hide-comments' => true,
-                             'logical-emphasis' => true,
-                             'output-xhtml' => true,
-                             'replace-color' => true,
-                             'join-classes'  => true,
-                             'join-style' => true, 
-                             'clean' => true,
-                             'show-body-only' => true,
-                             'alt-text' => '[ inserted by TIDY ]',
-                             'break-before-br' => true,
-                             'indent' => true,
-                             'vertical-space' => true,
-                             'wrap' => 120);
-        if (function_exists('tidy_setopt')) { // Tidy 1.0
-            foreach ($tidy_config as $field=>$value) {
-                tidy_setopt($field, $value);
-            }
-            $html = tidy_repair_string($html);
-        } else { // Tidy 2.0
-            $html = tidy_repair_string($html, $tidy_config);
-        }
-    }
-    // if we cannot find the body open & close tags, return raw file
-    if (!preg_match("/<body(\s[^>]*|)>(.*)<\/body>/si",$html,$matches))
-      return $html;
-
-    return $matches[2];
-  }
-
-
-  /** Return the path of a spool "item" (file or directory).
-   *
-   * @param parent parent directory (optional)
-   * @param entry the item
-   */
-  function spoolPath($parent="",$entry="") {
-    $this->checkPath($parent,$entry);
-    return $this->datadir.($parent ? "/$parent": "") . ($entry ? "/$entry" : "");
-  }
-
-}
-
-?>