Thomas Bruederli
2013-07-10 0703bfecd0b9efca36caee4f7b9c64c4135d57af
installer/rcube_install.php
@@ -432,6 +432,51 @@
    return $schema;
  }
  /**
   * Try to detect some file's mimetypes to test the correct behavior of fileinfo
   */
  function check_mime_detection()
  {
    $files = array(
      'installer/images/roundcube_logo.png' => 'image/png',
      'program/resources/blank.tif' => 'image/tiff',
      'skins/larry/templates/login.html' => 'text/html',
    );
    $errors = array();
    foreach ($files as $path => $expected) {
      $mimetype = rcube_mime::file_content_type(INSTALL_PATH . $path, basename($path));
      if ($mimetype != $expected) {
        $errors[] = array($path, $mimetype, $expected);
      }
    }
    return $errors;
  }
  /**
   * Check the correct configuration of the 'mime_types' mapping option
   */
  function check_mime_extensions()
  {
    $types = array(
      'application/zip'   => 'zip',
      'application/x-tar' => 'tar',
      'application/java-archive' => 'jar',
      'image/bmp'     => 'bmp',
      'image/svg+xml' => 'svg',
    );
    $errors = array();
    foreach ($types as $mimetype => $expected) {
      $ext = rcube_mime::get_mime_extensions($mimetype);
      if ($ext[0] != $expected) {
        $errors[] = array($mimetype, $ext, $expected);
      }
    }
    return $errors;
  }
  /**
   * Getter for the last error message
@@ -517,10 +562,13 @@
   * @param string Test name
   * @param string Error message
   * @param string URL for details
   * @param bool   Do not count this failure
   */
  function fail($name, $message = '', $url = '')
  function fail($name, $message = '', $url = '', $optional=false)
  {
    $this->failures++;
    if (!$optional) {
      $this->failures++;
    }
    echo Q($name) . ':&nbsp; <span class="fail">NOT OK</span>';
    $this->_showhint($message, $url);