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

WEB邮件程序

开发平台:

PHP

  1. <?php
  2. class Mysql_MailServer_Settings_Db extends BaseObject {
  3.    var $debug;
  4.    var $server_settings_db;
  5.    Function Mysql_MailServer_Settings_Db( $db_config = '' ) {
  6.       $this->BaseObject( 'Mysql_MailServer_Settings_Db' );
  7.       $this->server_settings_db           = new Mysql_Db();
  8.       if ( is_object( $db_config ) ) {
  9.         $this->server_settings_db->db = $db_config;
  10.       }
  11.       $this->debug                  = new Debug();
  12.       $this->debug->prefix          = 'Mysql_Db::Mysql_MailServer_Settings';
  13.       $this->debug->Off();
  14.       $this->server_settings_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->server_settings_db->connection_init == false) {
  23.          $returns = $this->server_settings_db->CreateConnection();
  24.       }
  25.       /* Oh no we failed to open the connection */
  26.       if ( $this->server_settings_db->connection_init == false ) {
  27.          return array( false, 'Database not connected', $returns );
  28.       }
  29.       return array( true );
  30.    }
  31.    Function ListAll() {}
  32.    Function Add( $settings_obj ) {
  33.       /* Make sure the database handle is available */
  34.       /* Init the database connection and bubble up errors */
  35.       $this->debug->Message( 'Init connection' );
  36.       list( $ret_val, $reason ) = $this->InitDbConnection();
  37.       if ( $ret_val == false ) {
  38.       $this->debug->Message( 'connect failed' );
  39.          return array( $ret_val, $reason );
  40.       }
  41.       $sql_util = new SqlUtil();
  42.       /* Look ma no hands, and out comes a nice formated sql */
  43.       $insert_setting = $this->server_settings_db->PrepareSql(
  44.          $sql_util->InsertStatement(
  45.             'server_settings_table',
  46.             Array(
  47.                'user_id'          => $settings_obj->user_id,
  48.                'server_name'      => $settings_obj->server_name,
  49.                'server_username'  => $settings_obj->server_username,
  50.                'server_password'  => $settings_obj->server_password,
  51.                'server_type'      => $settings_obj->server_type,
  52.                'from_address'     => $settings_obj->from_address,
  53.                'from_name'        => $settings_obj->from_name
  54.             )
  55.          )
  56.       );
  57.       list( $ret_val, $reason ) = $insert_setting->Exec();
  58.       if ( ! $ret_val ) {
  59.          return Array( false, 'Insert to table failed.' );
  60.       } else {
  61.          return Array( true );
  62.       }
  63.    } /* End get */
  64.    Function Delete( $user_id) { 
  65.       /* Make sure the database handle is available */
  66.       /* Init the database connection and bubble up errors */
  67.       $this->debug->Message( 'Init connection' );
  68.       list( $ret_val, $reason ) = $this->InitDbConnection();
  69.       if ( $ret_val == false ) {
  70.       $this->debug->Message( 'connect failed' );
  71.          return array( $ret_val, $reason );
  72.       }
  73.       $sql_util = new SqlUtil();
  74.       /* Look ma no hands, and out comes a nice formated sql */
  75.       $delete_setting = $this->server_settings_db->PrepareSql(
  76.          $sql_util->DeleteStatement(
  77.             'server_settings_table',
  78.             'user_id = ' . $user_id
  79.          )
  80.       );
  81.       list( $ret_val, $reason ) = $delete_setting->Exec();
  82.       if ( ! $ret_val ) {
  83.          return Array( false, 'Delete of setting failed.' );
  84.       } else {
  85.          return Array( true );
  86.       }
  87.    }
  88.    Function Get( $user_id )    { 
  89.       /* Make sure the database handle is available */
  90.       /* Init the database connection and bubble up errors */
  91.       $this->debug->Message( 'Init connection' );
  92.       list( $ret_val, $reason ) = $this->InitDbConnection();
  93.       if ( $ret_val == false ) {
  94.       $this->debug->Message( 'connect failed' );
  95.          return array( $ret_val, $reason );
  96.       }
  97.       $sql_util = new SqlUtil();
  98.       /* Look ma no hands, and out comes a nice formated sql */
  99.       $get_setting = $this->server_settings_db->PrepareSql(
  100.          $sql_util->SelectStatement(
  101.             Array( 'server_settings_table' ),
  102.             Array( 
  103.             'user_id',           'server_name',    'server_username',
  104.             'server_password',   'server_type',    'from_address',
  105.             'from_name'
  106.             ),
  107.             'user_id = ' . $user_id
  108.          )
  109.       );
  110.       if ( ! (
  111.          list( $user_id, $server_name, $server_username, $server_password, $server_type, $from_address, $from_name ) = $get_setting->FetchRow()
  112.          ) ) {
  113.          return Array( false, 'No match found.' );
  114.       } else {
  115.          $setting_obj = new MailServerSettings();
  116.          $setting_obj->user_id            = $user_id;
  117.          $setting_obj->server_name        = $server_name;
  118.          $setting_obj->server_username    = $server_username;
  119.          $setting_obj->server_password    = $server_password;
  120.          $setting_obj->from_address       = $from_address;
  121.          $setting_obj->from_name          = $from_name;
  122.          return Array( true, $setting_obj );
  123.       }
  124.    }
  125.    Function Modify( $setting_obj ) {
  126.       /* Make sure the database handle is available */
  127.       /* Init the database connection and bubble up errors */
  128.       $this->debug->Message( 'Init connection' );
  129.       list( $ret_val, $reason ) = $this->InitDbConnection();
  130.       if ( $ret_val == false ) {
  131.       $this->debug->Message( 'connect failed' );
  132.          return array( $ret_val, $reason );
  133.       }
  134.       $sql_util = new SqlUtil();
  135.       /* Look ma no hands, and out comes a nice formated sql */
  136.       $update_setting = $this->server_settings_db->PrepareSql(
  137.          $sql_util->UpdateStatement(
  138.             'server_settings_table',
  139.             Array(
  140.                'user_id'          => $setting_obj->user_id,
  141.                'server_name'      => $setting_obj->server_name,
  142.                'server_username'  => $setting_obj->server_username,
  143.                'server_password'  => $setting_obj->server_password,
  144.                'server_type'      => $setting_obj->server_type,
  145.                'from_address'     => $setting_obj->from_address,
  146.                'from_name'        => $setting_obj->from_name
  147.             ),
  148.             'user_id = ' . $setting_obj->user_id
  149.          )
  150.       );
  151.       list( $ret_val, $reason ) = $update_setting->Exec();
  152.       if ( ! $ret_val ) {
  153.          return Array( false, 'Update of setting failed.' );
  154.       } else {
  155.          return Array( true );
  156.       }
  157.    }
  158. }
  159. ?>