Mysql_User_Domain_Db.object
上传用户:xiao730204
上传日期:2007-01-04
资源大小:141k
文件大小:6k
源码类别:

WEB邮件程序

开发平台:

PHP

  1. <?php
  2. class Mysql_User_Domain_Db extends BaseObject {
  3.    var $debug;
  4.    var $user_domain_db;
  5.    Function Mysql_User_Domain_Db( $db_config = '' ) {
  6.       $this->BaseObject( 'Mysql_User_Domain_Db' );
  7.       $this->user_domain_db           = new Mysql_Db();
  8.       if ( is_object( $db_config ) ) {
  9.         $this->user_domain_db->db = $db_config;
  10.       }
  11.       $this->debug                  = new Debug();
  12.       $this->debug->prefix          = 'Mysql_Db::Mysql_User_Domain';
  13.       $this->debug->Off();
  14.       $this->user_domain_db->debug->Off();
  15.    }
  16.    Function InitDbConnection() {
  17.       /*
  18.         Make sure the database handle is available 
  19.         ( if not try to open it ) 
  20.       */
  21.       $returns = Array();
  22.       if ( $this->user_domain_db->connection_init == false) {
  23.          $returns = $this->user_domain_db->CreateConnection();
  24.       }
  25.       /* Oh no we failed to open the connection */
  26.       if ( $this->user_domain_db->connection_init == false ) {
  27.          return array( false, 'Database not connected', $returns );
  28.       }
  29.       return array( true );
  30.    }
  31.    Function ListAll() {
  32.       /* Make sure the database handle is available */
  33.       /* Init the database connection and bubble up errors */
  34.       $this->debug->Message( 'Init connection' );
  35.       list( $ret_val, $reason ) = $this->InitDbConnection();
  36.       if ( $ret_val == false ) {
  37.       $this->debug->Message( 'connect failed' );
  38.          return array( $ret_val, $reason );
  39.       }
  40.       $sql_util = new SqlUtil();
  41.       /* Look ma no hands, and out comes a nice formated sql */
  42.       $get_domain = $this->user_domain_db->PrepareSql(
  43.          $sql_util->SelectStatement(
  44.             Array( 'domain_table' ),
  45.             Array( 'domain_id', 'domain_name' ),
  46.             ''
  47.          )
  48.       );
  49.       $t_array    = Array();
  50.       $t_cnt      = 0;
  51.       while( list( $domain_id, $domain_name ) = $get_domain->FetchRow() ) {
  52.          $domain_obj = new User_Domain();
  53.          $domain_obj->domain_id       = $domain_id;
  54.          $domain_obj->domain_name     = $domain_name;
  55.          $t_array[ $t_cnt ] = $domain_obj;
  56.          $t_cnt++;
  57.       }
  58.       return Array( true, $t_cnt, $t_array );
  59.    }
  60.    Function Add( $domain_obj ) {
  61.       /* Make sure the database handle is available */
  62.       /* Init the database connection and bubble up errors */
  63.       $this->debug->Message( 'Init connection' );
  64.       list( $ret_val, $reason ) = $this->InitDbConnection();
  65.       if ( $ret_val == false ) {
  66.       $this->debug->Message( 'connect failed' );
  67.          return array( $ret_val, $reason );
  68.       }
  69.       $sql_util = new SqlUtil();
  70.       /* Look ma no hands, and out comes a nice formated sql */
  71.       $insert_domain = $this->user_domain_db->PrepareSql(
  72.          $sql_util->InsertStatement(
  73.             'domain_table',
  74.             Array(
  75.                'domain_id'      => $domain_obj->domain_id,
  76.                'domain_name'    => $domain_obj->domain_name
  77.             )
  78.          )
  79.       );
  80.       list( $ret_val, $reason ) = $insert_domain->Exec();
  81.       if ( ! $ret_val ) {
  82.          return Array( false, 'Insert to table failed.' );
  83.       } else {
  84.          return Array( true );
  85.       }
  86.    } /* End add */
  87.    Function Delete( $domain_id) { 
  88.       /* Make sure the database handle is available */
  89.       /* Init the database connection and bubble up errors */
  90.       $this->debug->Message( 'Init connection' );
  91.       list( $ret_val, $reason ) = $this->InitDbConnection();
  92.       if ( $ret_val == false ) {
  93.       $this->debug->Message( 'connect failed' );
  94.          return array( $ret_val, $reason );
  95.       }
  96.       $sql_util = new SqlUtil();
  97.       /* Look ma no hands, and out comes a nice formated sql */
  98.       $delete_domain = $this->user_domain_db->PrepareSql(
  99.          $sql_util->DeleteStatement(
  100.             'domain_table',
  101.             'domain_id = ' . $domain_id
  102.          )
  103.       );
  104.       list( $ret_val, $reason ) = $delete_domain->Exec();
  105.       if ( ! $ret_val ) {
  106.          return Array( false, 'Delete of domain failed.' );
  107.       } else {
  108.          return Array( true );
  109.       }
  110.    }
  111.    Function Get( $domain_id )    { 
  112.       /* Make sure the database handle is available */
  113.       /* Init the database connection and bubble up errors */
  114.       $this->debug->Message( 'Init connection' );
  115.       list( $ret_val, $reason ) = $this->InitDbConnection();
  116.       if ( $ret_val == false ) {
  117.       $this->debug->Message( 'connect failed' );
  118.          return array( $ret_val, $reason );
  119.       }
  120.       $sql_util = new SqlUtil();
  121.       /* Look ma no hands, and out comes a nice formated sql */
  122.       $get_domain = $this->user_domain_db->PrepareSql(
  123.          $sql_util->SelectStatement(
  124.             Array( 'domain_table' ),
  125.             Array( 'domain_id', 'domain_name' ),
  126.             'domain_id = ' . $domain_id
  127.          )
  128.       );
  129.       if ( ! (
  130.          list( $domain_id, $domain_name ) = $get_domain->FetchRow()
  131.          ) ) {
  132.          return Array( false, 'No match found.' );
  133.       } else {
  134.          $domain_obj = new User_Domain();
  135.          $domain_obj->domain_id       = $domain_id;
  136.          $domain_obj->domain_name     = $domain_name;
  137.          return Array( true, $domain_obj );
  138.       }
  139.    }
  140.    Function Modify( $domain_obj ) {
  141.       /* Make sure the database handle is available */
  142.       /* Init the database connection and bubble up errors */
  143.       $this->debug->Message( 'Init connection' );
  144.       list( $ret_val, $reason ) = $this->InitDbConnection();
  145.       if ( $ret_val == false ) {
  146.       $this->debug->Message( 'connect failed' );
  147.          return array( $ret_val, $reason );
  148.       }
  149.       $sql_util = new SqlUtil();
  150.       /* Look ma no hands, and out comes a nice formated sql */
  151.       $update_domain = $this->user_domain_db->PrepareSql(
  152.          $sql_util->UpdateStatement(
  153.             'domain_table',
  154.             Array(
  155.                'domain_name'       => $domain_obj->domain_name
  156.             ),
  157.             'domain_id = ' . $domain_obj->domain_id
  158.          )
  159.       );
  160.       list( $ret_val, $reason ) = $update_domain->Exec();
  161.       if ( ! $ret_val ) {
  162.          return Array( false, 'Update of domain failed.' );
  163.       } else {
  164.          return Array( true );
  165.       }
  166.    }
  167. }
  168. ?>