All pastes #799180 Raw Edit

Stuff

public php v1 · immutable
#799180 ·published 2007-11-27 11:29 UTC
rendered paste body
/*Use primer:                        <database name="name" class="AgaviMdb2Database">                                <parameters>                                        <parameter name="dsn">mysql://foo@localhost/bar</parameter>                                        <parameter name="dataobject">                                            <parameters>                                                <parameter name="debug">0</parameter>                                                <parameter name="schema_location">/somepath/db</parameter>                                                <parameter name="class_location">/somepath/db/</parameter>                                                <parameter name="require_prefix">db/</parameter>                                                <parameter name="class_prefix">DO_</parameter>                                                <parameter name="quote_identifiers">true</parameter>                                            </parameters>                                        </parameter>Note that <dataobject> inner parameters correspond to DB_DataObject options. Thus, they are all optional and override the defaults. If <parameter name="dataobject"> is not present, DB_DataObject will not be loaded/initialized*/class AgaviMdb2Database extends AgaviDatabase{  var $db;  public function connect()  {    if (! $dsn = $this->getParameter('dsn'))      throw new AgaviDatabaseException("Please define a DSN in database configuration");    if (PEAR::isError($db =& MDB2::connect($dsn)))      throw new AgaviDatabaseException("Failed to connect to the database: " . $db->getMessage());    if ($do = $this->getParameter('dataobject'))      {        require_once 'DB/DataObject.php';        $do['database'] = $dsn;        $options = &PEAR::getStaticProperty('DB_DataObject', 'options');        foreach($do as $key=>$value)          $options[$key] = $value;      }    $this->connection = $db;  }  public function shutdown()  {    if ($this->db)      $db->disconnect();  }}