DokuWiki Installer

:

This page assists in the first time installation and configuration of Dokuwiki. More info on this installer is available on it's own documentation page.

DokuWiki uses ordinary files for the storage of wiki pages and other information associated with those pages (e.g. images, search indexes, old revisions, etc). In order to operate successfully DokuWiki must have write access to the directories that hold those files. This installer is not capable of setting up directory permissions. That normally needs to be done directly on a command shell or if you are using hosting, through FTP or your hosting control panel (e.g. cPanel).

This installer will setup your DokuWiki configuration for ACL, which in turn allows administrator login and access to DokuWiki's admin menu for installing plugins, managing users, managing access to wiki pages and alteration of configuration settings. It isn't required for DokuWiki to operate, however it will make Dokuwiki easier to administer.

Experienced users or users with special setup requirements should use these links for details concerning installation instructions and configuration settings.

For security reasons this script will only work with a new and unmodified Dokuwiki installation. You should either re-extract the files from the downloaded package or consult the complete Dokuwiki installation instructions

driven by DokuWiki powered by PHP
ADODB Fixes [Mantis Bug Tracker Wiki]

User Tools

Site Tools


mantisbt:adodb_fixes

ADODB Fixes

Introduction

This page is to track fixes that we have applied to the ADODB version distributed with Mantis. The aim of the page is to be able to reapply these fixes when we upgrade and to keep track of whether these fixes are applied to the official ADODB version (noting the version number with the fix).

Commits with Fixes

  • 4715 - ADODB PGSQL DATA FIX
  • 4584 - More changes relating to #8384: db_table_exists() doesn't work in case of DB2.
    • Reported via email sent on 22nd of October 2007
  • 4583 - Fixed #8387: adodb2-db2.DBTimeStamp uses TO_DATE() which doesn't work on DB2.
    • Reported via email sent on 22nd of October 2007
  • 4582 - Fixed #8386: ADODB_db2 uses an invalid time format which is not accepted by db2.
    • Reported via email sent on 22nd of October 2007
  • 4581 - Fixed #8385: ADODB_db2._insert_id doesn't work.
    • Reported via email sent on 22nd of October 2007
  • 4364 - Fixed #5333: Invalid zip file core/adodb/adodb-time.zip in CVS.
    • Reported via email sent on 22nd of October 2007

Emails to ADODB

  • Email sent to John Lim on 22nd of October 2007
Hi, John,

I'm working with a team from IBM and Zend, and Victor Boctor of the Mantis Bug Tracker, to port Mantis to DB2/400 (IBM System i).

Mantis uses ADODB, so we're interested in fixing any DB2 bugs we find in ADODB.

Here are 4 bugs we found in ADODB 5's DB2 driver (adodb-db2.inc.php). I've also attached the modified version of adodb-db2.inc.php. Please let me know what else I can do to help.

1. $fmtTimeStamp needed a DB2-compatible format.

class ADODB_db2 extends ADOConnection {
    // original:  var $fmtTimeStamp = "'Y-m-d-H:i:s'";
    // DB2 valid formats: Y-m-d-H.i.s (IBM SQL format, center dash and dots) or Y-m-d H:i:s (ISO format, center space and colons). We'll use ISO: Y-m-d H:i:s 
    var $fmtTimeStamp = "'Y-m-d H:i:s'";


2. _insertid() needs DB2-specific SQL.

     function _insertid()
    {
//   original:     return ADOConnection::GetOne('VALUES IDENTITY_VAL_LOCAL()');
//
        return ADOConnection::GetOne('SELECT IDENTITY_VAL_LOCAL() FROM SYSIBM.SYSDUMMY1');
    }


3. DBTimeStamp: remove the unsupported TO_DATE function.

// format and return date string in database timestamp format
    function DBTimeStamp($ts)
    {
        if (empty($ts) && $ts !== 0) return 'null';
        if (is_string($ts)) $ts = ADORecordSet::UnixTimeStamp($ts);
//
//   original: return 'TO_DATE('.adodb_date($this->fmtTimeStamp,$ts).",'YYYY-MM-DD HH24:MI:SS')";
//   remove TO_DATE, which is not supported on DB2/400.
        return adodb_date($this->fmtTimeStamp,$ts);

    }


4. Metatables has several changes that allow table and schema to be specified, much as with ODBC and other drivers.

// original:    function MetaTables($ttype=false,$schema=false)
// DB2/400 Allow table and schema as optional parameters. Use $showSchema instead of $schema for consistency with other drivers.
    function MetaTables($ttype=false,$showSchema=false, $qtable="%", $qschema="%")

    {
    global $ADODB_FETCH_MODE;
   
        $savem = $ADODB_FETCH_MODE;
        $ADODB_FETCH_MODE = ADODB_FETCH_NUM;
// DB2/400 original:    $qid = db2_tables($this->_connectionID);
        $qid = db2_tables($this->_connectionID, null, $qschema, $qtable);       
   
        $rs = new ADORecordSet_db2($qid);
       
        $ADODB_FETCH_MODE = $savem;
        if (!$rs) {
            $false = false;
            return $false;
        }
       
        $arr = $rs->GetArray();

        $rs->Close();
        $arr2 = array();
       
        if ($ttype) {
            $isview = strncmp($ttype,'V',1) === 0;
        }
        for ($i=0; $i < sizeof($arr); $i++) {
            if (!$arr[$i][2]) continue;
            $type = $arr[$i][3];
// original:      $schemaval = ($schema) ? $arr[$i][1].'.' : '';
// use $showSchema instead of $schema, for consistency with odbc_db2.inc.php
            $schemaval = ($showSchema) ? $arr[$i][1].'.' : '';
            if ($ttype) {
                if ($isview) {
                    if (strncmp($type,'V',1) === 0) $arr2[] = $schemaval.$arr[$i][2];
                } else if (strncmp($type,'SYS',3) !== 0) $arr2[] = $schemaval.$arr[$i][2];
            } else if (strncmp($type,'SYS',3) !== 0) $arr2[] = $schemaval.$arr[$i][2];
        }
        return $arr2;
    }




Best regards,
Alan
mantisbt/adodb_fixes.txt · Last modified: 2008/10/29 04:25 (external edit)