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

WEB邮件程序

开发平台:

PHP

  1. <?php
  2. class Mysql_User_Signature_Db extends BaseObject {
  3.    var $debug;
  4.    var $signature_db;
  5.    Function Mysql_User_Signature_Db( $db_config = '' ) {
  6.       $this->BaseObject( 'Mysql_User_Signature_Db' );
  7.       $this->signature_db           = new Mysql_Db();
  8.       if ( is_object( $db_config ) ) {
  9.         $this->signature_db->db = $db_config;
  10.       }
  11.       $this->debug                  = new Debug();
  12.       $this->debug->prefix          = 'Mysql_Db::Mysql_User_Signature';
  13.    }
  14.    Function InitDbConnection() {
  15.       /*
  16.         Make sure the database handle is available 
  17.         ( if not try to open it ) 
  18.       */
  19.       $returns = Array();
  20.       if ( $this->signature_db->connection_init == false) {
  21.          $returns = $this->signature_db->CreateConnection();
  22.       }
  23.       /* Oh no we failed to open the connection */
  24.       if ( $this->signature_db->connection_init == false ) {
  25.          return array( false, 'Database not connected', $returns );
  26.       }
  27.       return array( true );
  28.    }
  29.    Function ListAll() {}
  30.    Function Add( $signature_obj ) {
  31.       /* Make sure the database handle is available */
  32.       /* Init the database connection and bubble up errors */
  33.       $this->debug->Message( 'Init connection' );
  34.       list( $ret_val, $reason ) = $this->InitDbConnection();
  35.       if ( $ret_val == false ) {
  36.       $this->debug->Message( 'connect failed' );
  37.          return array( $ret_val, $reason );
  38.       }
  39.       $sql_util = new SqlUtil();
  40.       /* Look ma no hands, and out comes a nice formated sql */
  41.       $insert_signature = $this->signature_db->PrepareSql(
  42.          $sql_util->InsertStatement(
  43.             'user_signatures_table',
  44.             Array(
  45.                'user_id'      => $signature_obj->user_id,
  46.                'signature'    => $signature_obj->signature
  47.             )
  48.          )
  49.       );
  50.       list( $ret_val, $reason ) = $insert_signature->Exec();
  51.       if ( ! $ret_val ) {
  52.          return Array( false, 'Insert to table failed.' );
  53.       } else {
  54.          return Array( true );
  55.       }
  56.    } /* End get */
  57.    Function Delete( $user_id) { 
  58.       /* Make sure the database handle is available */
  59.       /* Init the database connection and bubble up errors */
  60.       $this->debug->Message( 'Init connection' );
  61.       list( $ret_val, $reason ) = $this->InitDbConnection();
  62.       if ( $ret_val == false ) {
  63.       $this->debug->Message( 'connect failed' );
  64.          return array( $ret_val, $reason );
  65.       }
  66.       $sql_util = new SqlUtil();
  67.       /* Look ma no hands, and out comes a nice formated sql */
  68.       $delete_signature = $this->signature_db->PrepareSql(
  69.          $sql_util->DeleteStatement(
  70.             'user_signatures_table',
  71.             'user_id = ' . $user_id
  72.          )
  73.       );
  74.       list( $ret_val, $reason ) = $delete_signature->Exec();
  75.       if ( ! $ret_val ) {
  76.          return Array( false, 'Delete of signature failed.' );
  77.       } else {
  78.          return Array( true );
  79.       }
  80.    }
  81.    Function Get( $user_id )    { 
  82.       /* Make sure the database handle is available */
  83.       /* Init the database connection and bubble up errors */
  84.       $this->debug->Message( 'Init connection' );
  85.       list( $ret_val, $reason ) = $this->InitDbConnection();
  86.       if ( $ret_val == false ) {
  87.       $this->debug->Message( 'connect failed' );
  88.          return array( $ret_val, $reason );
  89.       }
  90.       $sql_util = new SqlUtil();
  91.       /* Look ma no hands, and out comes a nice formated sql */
  92.       $get_signature = $this->signature_db->PrepareSql(
  93.          $sql_util->SelectStatement(
  94.             Array( 'user_signatures_table' ),
  95.             Array( 'user_id', 'signature' ),
  96.             'user_id = ' . $user_id
  97.          )
  98.       );
  99.       if ( ! (
  100.          list( $user_id, $signature ) = $get_signature->FetchRow()
  101.          ) ) {
  102.          return Array( false, 'No match found.' );
  103.       } else {
  104.          $signature_obj = new Pimp_Signature();
  105.          $signature_obj->user_id       = $user_id;
  106.          $signature_obj->signature     = $signature;
  107.          return Array( true, $signature_obj );
  108.       }
  109.    }
  110.    Function Modify( $signature_obj ) {
  111.       /* Make sure the database handle is available */
  112.       /* Init the database connection and bubble up errors */
  113.       $this->debug->Message( 'Init connection' );
  114.       list( $ret_val, $reason ) = $this->InitDbConnection();
  115.       if ( $ret_val == false ) {
  116.       $this->debug->Message( 'connect failed' );
  117.          return array( $ret_val, $reason );
  118.       }
  119.       $sql_util = new SqlUtil();
  120.       /* Look ma no hands, and out comes a nice formated sql */
  121.       $update_signature = $this->signature_db->PrepareSql(
  122.          $sql_util->UpdateStatement(
  123.             'user_signatures_table',
  124.             Array(
  125.                'signature'       => $signature_obj->signature
  126.             ),
  127.             'user_id = ' . $signature_obj->user_id
  128.          )
  129.       );
  130.       list( $ret_val, $reason ) = $update_signature->Exec();
  131.       if ( ! $ret_val ) {
  132.          return Array( false, 'Update of signature failed.' );
  133.       } else {
  134.          return Array( true );
  135.       }
  136.    }
  137. }
  138. ?>