123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- <?php
- /**
- * @file
- * The install and update code for the Views Send module.
- *
- * @ingroup views_send.
- */
- /**
- * Implements hook_schema().
- */
- function views_send_schema() {
- $schema['views_send_spool'] = array(
- 'description' => 'Table holds e-mails that are being send on cron.',
- 'fields' => array(
- 'eid' => array(
- 'description' => 'The primary identifier for an e-mail.',
- 'type' => 'serial',
- 'unsigned' => TRUE,
- 'not null' => TRUE),
- 'uid' => array(
- 'description' => 'The user that has sent the message.',
- 'type' => 'int',
- 'not null' => TRUE,
- 'unsigned' => TRUE,
- 'default' => 0),
- 'timestamp' => array(
- 'description' => 'The Unix timestamp when the message was added to spool.',
- 'type' => 'int',
- 'not null' => TRUE,
- 'unsigned' => TRUE,
- 'default' => 0),
- 'status' => array(
- 'description' => 'Status: 0 = pending; 1 = sent.',
- 'type' => 'int',
- 'size' => 'tiny',
- 'not null' => TRUE,
- 'unsigned' => TRUE,
- 'default' => 0),
- 'tentatives' => array(
- 'description' => 'How many times we tried to send this message.',
- 'type' => 'int',
- 'not null' => TRUE,
- 'unsigned' => TRUE,
- 'default' => 0),
- 'from_name' => array(
- 'description' => 'The real name of the sender.',
- 'type' => 'varchar',
- 'length' => 255,
- 'not null' => FALSE,
- 'default' => ''),
- 'from_mail' => array(
- 'description' => 'The sender e-mail address.',
- 'type' => 'varchar',
- 'length' => 255,
- 'not null' => TRUE,
- 'default' => ''),
- 'to_name' => array(
- 'description' => 'The real name of the recipient.',
- 'type' => 'varchar',
- 'length' => 255,
- 'not null' => FALSE,
- 'default' => ''),
- 'to_mail' => array(
- 'description' => 'The recipient e-mail address.',
- 'type' => 'varchar',
- 'length' => 255,
- 'not null' => TRUE,
- 'default' => ''),
- 'subject' => array(
- 'description' => 'The e-mail subject.',
- 'type' => 'varchar',
- 'length' => 255,
- 'not null' => TRUE,
- 'default' => ''),
- 'body' => array(
- 'description' => 'The e-mail body.',
- 'type' => 'text',
- 'not null' => TRUE,
- 'size' => 'big',),
- 'headers' => array(
- 'description' => 'The e-mail additional headers.',
- 'type' => 'text',
- 'not null' => TRUE,
- 'size' => 'big',),
- ),
- 'indexes' => array(
- 'uid' => array('uid'),
- 'timestamp' => array('timestamp'),
- ),
- 'primary key' => array('eid'),
- );
- return $schema;
- }
- /**
- * Implements hook_uninstall().
- */
- function views_send_uninstall() {
- db_query("DELETE FROM {variable} WHERE name LIKE 'views_send_%'");
- db_query("DELETE FROM {cache} WHERE cid LIKE 'variables%'");
- }
- /**
- * Remove unused variables.
- */
- function views_send_update_6001() {
- variable_del('views_send_format');
- variable_del('views_send_from_mail');
- variable_del('views_send_from_name');
- variable_del('views_send_headers');
- variable_del('views_send_message');
- variable_del('views_send_priority');
- variable_del('views_send_receipt');
- variable_del('views_send_remember');
- variable_del('views_send_subject');
- variable_del('views_send_tokens');
- variable_del('views_send_to_mail');
- variable_del('views_send_to_name');
- return array();
- }
- /**
- * Remove views_send_format variables.
- */
- function views_send_update_6002() {
- $ret = array();
- $ret[] = update_sql("DELETE FROM {variable} WHERE name LIKE 'views_send_format_%'");
- return $ret;
- }
- /**
- * Backend structure is altered for implementing http://drupal.org/node/808058
- */
- function views_send_update_6003() {
- $ret = array();
- // Get updated schema.
- $schema = views_send_schema();
- // Rename body field from 'message' to 'body'.
- db_change_field($ret, 'views_send_spool', 'message', 'body', $schema['views_send_spool']['fields']['body']);
- // Drop other fields that are obsolete after spooling.
- db_drop_field($ret, 'views_send_spool', 'format');
- db_drop_field($ret, 'views_send_spool', 'priority');
- db_drop_field($ret, 'views_send_spool', 'receipt');
- return $ret;
- }
|