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

WEB邮件程序

开发平台:

PHP

  1. <?php
  2. $this->globals_needed = Array(
  3.    'browser_obj',
  4.    'PIMP_VERSION',
  5.    'current_application',
  6.    'c_application',
  7.    'default',
  8.    'form_mode',
  9.    'app_server',
  10.    'template_obj',
  11.    'user_obj',
  12.    'user_admin_privileges_obj',
  13.    'session',
  14.    'session_id',
  15.    'mail_action_message',
  16.    'title',
  17.    'page',
  18.    'select_message',
  19.    'selected_messages',
  20.    'mailbox_action',
  21.    'server_settings_db',
  22.    'current_server_settings',
  23.    /* Mail Sending Variables */
  24.    'attatchme',
  25.    'attatchme_name',
  26.    'attatchme_size',
  27.    'attatched_files',
  28.    'attatched_files_sizes',
  29.    'to_addr',
  30.    'cc_addr',
  31.    'bcc_addr',
  32.    'subject',
  33.    'mail_mesg',
  34.    'mail_action_send',
  35.    'mail_action_spellcheck',
  36.    'mail_action_postpone',
  37.    'mail_action_reset',
  38.    'mail_attatch_file',
  39.    'mail_folder',
  40.    'folder'
  41. );
  42. /* MAILBOX */
  43. $t_array = Array();
  44. $t_array = Array( 
  45.    'MAIL_CHECK_MAILBOX',
  46.    'MAIL_SORT_ASC_SUBJECT',
  47.    'MAIL_SORT_REV_SUBJECT',
  48.    'MAIL_SORT_ASC_FROM',
  49.    'MAIL_SORT_REV_FROM',
  50.    'MAIL_SORT_ASC_DATE',
  51.    'MAIL_SORT_REV_DATE',
  52.    'MAIL_SORT_ASC_SIZE',
  53.    'MAIL_SORT_REV_SIZE'
  54. );
  55. for( $i = 0; $i < count( $t_array ); $i++ ) {
  56. $this->AddHandler(
  57.    $temp = new AppHandler(
  58.       $t_array[ $i ],
  59.       './pimp/templates/mailbox/main.inc',   /* Include file */
  60.       Array(
  61.       ),                               /* Global Variables */
  62.       'PimpHandle',                          /* function */
  63.       '',                                    /* AutoLoad objects */
  64.       ''                                     /* AutoLoad Optimized */
  65.    )
  66. );
  67. }
  68. /* The mailbox is the default handler for the system */
  69. $this->AddDefaultHandler(
  70.    $temp = new AppHandler(
  71.       'MAIL_CHECK_MAILBOX',
  72.       './pimp/templates/mailbox/main.inc',
  73.       Array(),
  74.       'PimpHandle',
  75.       '',
  76.       ''
  77.    )
  78. );
  79. /* Read Message */
  80. $this->AddHandler(
  81.    $temp = new AppHandler(
  82.       'MAIL_READ_MESSAGE',                /* Handler Tag */
  83.       './pimp/templates/read/main.inc',   /* Include File */
  84.       Array( 'message_id', 'sort_by' ),   /* Global Variables */
  85.       'PimpHandle',                       /* Function */
  86.       '',                                 /* AutoLoad objects */
  87.       ''                                  /* AutoLoad optimized */
  88.    )
  89. );
  90. /* Read a attatchment */
  91. $this->AddHandler(
  92.    $temp = new AppHandler(
  93.       'MAIL_READ_ATTATCHMENT',
  94.       './pimp/templates/read/read_attatchment.inc', /* Include File */
  95.       Array( 'message_id', 'message_part' ), /* Global Variables */
  96.       'PimpHandle',                       /* Function */
  97.       '',                                 /* AutoLoad objects */
  98.       ''                                  /* AutoLoad optimized */
  99.    )
  100. );
  101. /* Compose a message */
  102. $t_array = Array();
  103. $t_array = Array(
  104.    'MAIL_FORWARD',
  105.    'MAIL_REPLY',
  106.    'MAIL_REPLY_QUOTED',
  107.    'MAIL_COMPOSE_ATTATCH',
  108.    'MAIL_COMPOSE_ATTATCH_REMOVE',
  109.    'MAIL_COMPOSE_MAIN',
  110.    'MAIL_COMPOSE'
  111. );
  112. for( $i = 0; $i < count( $t_array ); $i++ ) {
  113.    $this->AddHandler(
  114.       $temp = new AppHandler( 
  115.          $t_array[ $i ],
  116.          './pimp/templates/compose/main.inc',
  117.          /* Variables needed from the global scope */
  118.          Array(),
  119.          'PimpHandle',                /* Function */
  120.          '',                          /* AutoLoad objects */
  121.          ''                           /* AutoLoad optimized */
  122.       )
  123.    );
  124.    if ( is_array( $attatched_files ) ) {
  125.       $q = 0;
  126.       reset( $attatched_files );
  127.       while( list( $user_filename, $tmp_filename ) = each( $attatched_files ) ) {
  128.          $q++;
  129.          $handler_ref = $this->handlers[ $t_array[ $i ] ];
  130.          $handler_ref->globals_needed[] =
  131.             'mail_remove_attatch_' . $i ;
  132.          $this->handlers[ $t_array[ $i ] ] = $handler_ref;
  133.       }
  134.    }
  135. }
  136. /* Send a message */
  137. $this->AddHandler(
  138.    $temp = new AppHandler(
  139.      'MAIL_COMPOSE_SEND',
  140.      './pimp/templates/compose/send.inc',
  141.      /* Variables needed from the global scope */
  142.      Array(),
  143.      'PimpHandle',                /* Function */
  144.      '',                          /* AutoLoad objects */
  145.      ''                           /* AutoLoad optimized */
  146.    )
  147. );
  148. /* Mail Preferences */
  149. $t_array = Array();
  150. $t_array = Array(
  151. 'MAIL_PREFERENCES',
  152. 'MAIL_PREF_SERVER',
  153. 'MAIL_PREF_SIG'
  154. );
  155. for( $i = 0; $i < count( $t_array ); $i++ ) {
  156. $this->AddHandler(
  157.    $temp = new AppHandler(
  158.       $t_array[ $i ],
  159.       './pimp/templates/preferences/main.inc',
  160.       /* Variables needed from the global scope */
  161.       Array(
  162.          'mail_server_name',
  163.          'mail_user_name',
  164.          'mail_user_password',
  165.          'mail_from_address',
  166.          'mail_from_name',
  167.          'server_type',
  168.          'mail_sig'
  169.       ),
  170.       'PimpHandle',                       /* Function */
  171.       '',                                 /* AutoLoad objects */
  172.       ''                                  /* AutoLoad optimized */
  173.    )
  174. );
  175. }
  176. $this->AddHandler(
  177.    $temp = new AppHandler(
  178.       'MAIL_ADD_FOLDER_FRM',
  179.       './pimp/templates/folders/add/form.inc',
  180.       Array(),
  181.       'PimpHandle',
  182.       '',
  183.       ''
  184.    )
  185. );
  186. $this->AddHandler(
  187.    $temp = new AppHandler(
  188.       'MAIL_ADD_FOLDER',
  189.       './pimp/templates/folders/add/process_form.inc',
  190.       Array( 'new_folder' ),
  191.       'PimpHandle',
  192.       '',
  193.       ''
  194.    )
  195. );
  196. $this->AddHandler(
  197.    $temp = new AppHandler(
  198.       'MAIL_REMOVE_FOLDER_FRM',
  199.       './pimp/templates/folders/remove/form.inc',
  200.       Array(),
  201.       'PimpHandle',
  202.       '',
  203.       ''
  204.    )
  205. );
  206. $this->AddHandler(
  207.    $temp = new AppHandler(
  208.       'MAIL_REMOVE_FOLDER',
  209.       './pimp/templates/folders/remove/process_form.inc',
  210.       Array( 'folder_to_remove' ),
  211.       'PimpHandle',
  212.       '',
  213.       ''
  214.    )
  215. );
  216. ?>