? autoresponder-d6.patch
Index: autoresponder.info
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/autoresponder/autoresponder.info,v
retrieving revision 1.1.4.4
diff -u -p -r1.1.4.4 autoresponder.info
--- autoresponder.info 30 Jul 2007 08:24:18 -0000 1.1.4.4
+++ autoresponder.info 5 Jul 2008 19:50:44 -0000
@@ -1,5 +1,6 @@
; $Id $
name = Autoresponder
description = Allow a site visitor to sign up for a series of emails sent each day via a cron job.
-dependencies = mimemail
-version = 5.x-1.x-dev
\ No newline at end of file
+core = 6.x
+dependencies[] = mimemail
+version = 6.x-1.x-dev
Index: autoresponder.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/autoresponder/autoresponder.install,v
retrieving revision 1.1.2.5
diff -u -p -r1.1.2.5 autoresponder.install
--- autoresponder.install 11 Sep 2007 13:28:49 -0000 1.1.2.5
+++ autoresponder.install 5 Jul 2008 19:50:45 -0000
@@ -3,77 +3,142 @@
//$Id: autoresponder.install,v 1.1.2.5 2007/09/11 13:28:49 cyberpunk Exp $
/**
+ * Schema specification for Drupal 6
+ */
+function autoresponder_schema() {
+ $schema = array();
+
+ $schema['autoresponder_users'] = array(
+ 'description' => t('The autoresponder users'),
+ 'fields' => array(
+ 'id' => array(
+ 'description' => t('Identifies the autoresponder subscriber'),
+ 'type' => 'serial',
+ 'not null' => TRUE,
+ ),
+ 'email' => array(
+ 'description' => t("The subscriber's e-mail address"),
+ 'type' => 'varchar',
+ 'length' => 50,
+ 'not null' => TRUE,
+ ),
+ 'reg_date' => array(
+ 'description' => t("Registration date"),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ ),
+ ),
+ 'primary key' => array('id'),
+ );
+
+ $schema['autoresponder_messages'] = array(
+ 'description' => t('The individual messages which can be part of {autoresponder_sets}'),
+ 'fields' => array(
+ 'id' => array(
+ 'description' => t('Identifies the message'),
+ 'type' => 'serial',
+ 'not null' => TRUE,
+ ),
+ 'subject' => array(
+ 'description' => t('The mail subject'),
+ 'type' => 'varchar',
+ 'length' => 50,
+ 'not null' => TRUE,
+ ),
+ 'body' => array(
+ 'description' => t('The mail body'),
+ 'type' => 'text',
+ 'size' => 'normal',
+ 'not null' => TRUE,
+ ),
+ 'day' => array(
+ 'description' => t('The day when the message is sent'),
+ 'type' => 'int',
+ 'not null' => FALSE,
+ ),
+ 'mset' => array(
+ 'description' => t('The {autoresponder_sets}.id which this message is part of'),
+ 'type' => 'int',
+ 'not null' => FALSE,
+ ),
+ ),
+ 'primary key' => array('id'),
+ );
+
+ $schema['autoresponder_sets'] = array(
+ 'description' => t('Message sets'),
+ 'fields' => array(
+ 'id' => array(
+ 'description' => t('Message set identifier'),
+ 'type' => 'serial',
+ 'not null' => TRUE,
+ ),
+ 'name' => array(
+ 'description' => t('Message set name'),
+ 'type' => 'varchar',
+ 'length' => 50,
+ 'not null' => TRUE,
+ ),
+ 'description' => array(
+ 'description' => t('Message set description'),
+ 'type' => 'text',
+ 'size' => 'normal',
+ 'not null' => TRUE,
+ ),
+ 'message' => array(
+ 'description' => t('Message that is shown to the user after successful subscribing'),
+ 'type' => 'text',
+ 'size' => 'normal',
+ 'not null' => TRUE,
+ ),
+ 'active' => array(
+ 'description' => t('Indicates this is an active set or not'),
+ 'type' => 'int',
+ 'size' => 'small',
+ 'not null' => TRUE,
+ ),
+ 'unsubscribe' => array(
+ 'description' => t('User automatically unsubscribed when last mail sent or not'),
+ 'type' => 'int',
+ 'size' => 'small',
+ 'not null' => TRUE,
+ 'default' => 0,
+ ),
+ ),
+ 'primary key' => array('id'),
+ );
+
+ $schema['autoresponder'] = array(
+ 'description' => t('Pairs {autoresponder_users} and {autoresponder_sets}'),
+ 'fields' => array(
+ 'id' => array(
+ 'description' => t('Identifies the user-set pair'),
+ 'type' => 'serial',
+ 'not null' => TRUE,
+ ),
+ 'uid' => array(
+ 'description' => t('{autoresponder_users}.id'),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ ),
+ 'setid' => array(
+ 'description' => t('{autoresponder_sets}.id'),
+ 'type' => 'int',
+ 'not null' => TRUE,
+ ),
+ ),
+ 'primary key' => array('id'),
+ );
+
+ return $schema;
+}
+
+/**
* Install the database schema
*/
function autoresponder_install() {
variable_set('emails_sent', '0');
- switch($GLOBALS['db_type']) {
- case 'mysql':
- case 'mysqli':
- db_query("CREATE TABLE {autoresponder_users} (
- id int(11) NOT NULL default '0',
- email char(50) NOT NULL,
- reg_date int(11) NOT NULL,
- PRIMARY KEY (id)
- );");
- db_query("CREATE TABLE {autoresponder_messages} (
- id int(11) NOT NULL default '0',
- subject char(50) NOT NULL,
- body text NOT NULL,
- day int(11) default NULL,
- mset int(11) default NULL,
- PRIMARY KEY (id)
- );");
- db_query("CREATE TABLE {autoresponder_sets} (
- id int(11) NOT NULL default '0',
- name char(50) NOT NULL,
- description text NOT NULL,
- message text NOT NULL,
- active bool NOT NULL,
- unsubscribe bool NOT NULL,
- PRIMARY KEY (id)
- );");
- db_query("CREATE TABLE {autoresponder} (
- id int(11) NOT NULL default '0',
- uid int(11) NOT NULL,
- setid int(11) NOT NULL,
- PRIMARY KEY (id)
- );");
- drupal_set_message(t("The database schema for the autoresponder module was created."));
- break;
- case 'pgsql':
- db_query("CREATE TABLE {autoresponder_users} (
- id integer NOT NULL UNIQUE,
- email char(50) NOT NULL,
- reg_date integer NOT NULL
- );");
- db_query("CREATE TABLE {autoresponder_messages} (
- id integer NOT NULL UNIQUE,
- subject char(50) NOT NULL,
- body text NOT NULL,
- day integer default NULL,
- mset integer default NULL
- );");
- db_query("CREATE TABLE {autoresponder_sets} (
- id integer NOT NULL UNIQUE,
- name char(50) NOT NULL,
- description text NOT NULL,
- message text NOT NULL,
- active smallint NOT NULL,
- unsubscribe smallint NOT NULL
- );");
- db_query("CREATE TABLE {autoresponder} (
- id integer NOT NULL UNIQUE,
- uid integer NOT NULL,
- setid integer NOT NULL
- );");
- db_query("CREATE SEQUENCE {autoresponder_users}_seq");
- db_query("CREATE SEQUENCE {autoresponder_messages}_seq");
- db_query("CREATE SEQUENCE {autoresponder_sets}_seq");
- db_query("CREATE SEQUENCE {autoresponder}_seq");
- drupal_set_message(t("The database schema for the autoresponder module was created."));
- break;
- }
+ drupal_install_schema('autoresponder');
}
/**
@@ -81,25 +146,5 @@ function autoresponder_install() {
*/
function autoresponder_uninstall() {
variable_del('emails_sent');
- switch($GLOBALS['db_type']) {
- case 'mysql':
- case 'mysqli':
- db_query("DROP TABLE {autoresponder_users}");
- db_query("DROP TABLE {autoresponder_messages}");
- db_query("DROP TABLE {autoresponder_sets}");
- db_query("DROP TABLE {autoresponder}");
- break;
- case 'pgsql':
- db_query("DROP TABLE {autoresponder_users}");
- db_query("DROP TABLE {autoresponder_messages}");
- db_query("DROP TABLE {autoresponder_sets}");
- db_query("DROP TABLE {autoresponder}");
- db_query("DROP SEQUENCE {autoresponder_users}_seq");
- db_query("DROP SEQUENCE {autoresponder_messages}_seq");
- db_query("DROP SEQUENCE {autoresponder_sets}_seq");
- db_query("DROP SEQUENCE {autoresponder}_seq");
- drupal_set_message(t("Autoresponder module successfully uninstalled."));
- break;
- }
+ drupal_uninstall_schema('autoresponder');
}
-?>
\ No newline at end of file
Index: autoresponder.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/autoresponder/autoresponder.module,v
retrieving revision 1.6.2.26
diff -u -p -r1.6.2.26 autoresponder.module
--- autoresponder.module 3 Jul 2008 15:33:15 -0000 1.6.2.26
+++ autoresponder.module 5 Jul 2008 19:50:48 -0000
@@ -6,175 +6,153 @@ function autoresponder_perm() {
return array('configure autoresponder', 'autoresponder massmail');
}
-function autoresponder_menu($may_cache) {
+function autoresponder_menu() {
$items = array();
- if ($may_cache) {
- global $user;
- $items[] = array(
- 'path' => 'autoresponder/unsubscribe',
- 'access' => TRUE,
- 'callback' => 'autoresponder_user_unsubscribe',
- 'type' => MENU_CALLBACK
- );
- $items[] = array(
- 'path' => 'autoresponder/mail',
- 'access' => TRUE,
- 'callback' => 'drupal_get_form',
- 'callback arguments' => array('autoresponder_mail_show_form'),
- 'title' => t('View message'),
- 'type' => MENU_CALLBACK
- );
- $items[] = array(
- 'path' => 'admin/settings/autoresponder',
- 'title' => t('Autoresponder'),
- 'access' => user_access('configure autoresponder'),
- 'callback' => 'system_admin_menu_block_page',
- 'description' => t('Autoresponder control panel')
- );
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/settings',
- 'title' => t('Autoresponder settings'),
- 'access' => user_access('autoresponder settings'),
- 'callback' => 'drupal_get_form',
- 'callback arguments' => array('autoresponder_admin_settings'),
- 'description' => t('Settings'),
- 'weight' => 7
- );
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/massmailer',
- 'title' => t('Mass-Mailer'),
- 'access' => user_access('autoresponder massmail'),
- 'callback' => 'drupal_get_form',
- 'callback arguments' => array('autoresponder_set_massmail_form'),
- 'description' => t('Sets/Subscribers/Roles mass-mailer')
- );
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/massmailer/sets',
- 'title' => t('Sets mass-mailing'),
- 'access' => user_access('autoresponder massmail'),
- 'type' => MENU_DEFAULT_LOCAL_TASK,
- 'callback' => 'drupal_get_form',
- 'callback arguments' => array('autoresponder_set_massmail_form'),
- 'weight' => 0
- );
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/massmailer/role',
- 'title' => t('Role mass-mailing'),
- 'access' => user_access('autoresponder massmail'),
- 'type' => MENU_LOCAL_TASK,
- 'callback' => 'drupal_get_form',
- 'callback arguments' => array('autoresponder_role_massmail_form'),
- 'weight' => 1
- );
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/massmailer/all',
- 'title' => t('All subscribers mass-mailing'),
- 'access' => user_access('autoresponder massmail'),
- 'type' => MENU_LOCAL_TASK,
- 'callback' => 'drupal_get_form',
- 'callback arguments' => array('autoresponder_all_massmail_form'),
- 'weight' => 2
- );
-
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/user/list',
- 'title' => t('Users'),
- 'access' => user_access('configure autoresponder'),
- 'callback' => 'autoresponder_user_list',
- 'description' => t('Subscribers overview'),
- 'weight' => 0
- );
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/user/edit',
- 'access' => user_access('configure autoresponder'),
- 'callback' => 'autoresponder_user_list',
- 'type' => MENU_CALLBACK,
- 'weight' => 1
- );
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/user/delete',
- 'access' => user_access('configure autoresponder'),
- 'callback' => 'autoresponder_user_list',
- 'type' => MENU_CALLBACK,
- );
-
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/mail/list',
- 'title' => t('Messages'),
- 'access' => user_access('configure autoresponder'),
- 'callback' => 'autoresponder_mail_list',
- 'description' => t('Messages overview'),
- 'weight' => 2
- );
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/mail/add',
- 'title' => t('Add message'),
- 'access' => user_access('configure autoresponder'),
- 'callback' => 'autoresponder_mail_list',
- 'type' => MENU_LOCAL_TASK,
- 'weight' => 3
- );
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/mail/edit',
- 'access' => user_access('configure autoresponder'),
- 'callback' => 'autoresponder_mail_list',
- 'type' => MENU_CALLBACK,
- );
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/mail/delete',
- 'access' => user_access('configure autoresponder'),
- 'callback' => 'autoresponder_mail_list',
- 'type' => MENU_CALLBACK,
- );
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/set/list',
- 'title' => t('Sets'),
- 'access' => user_access('configure autoresponder'),
- 'callback' => 'autoresponder_set_list',
- 'description' => t('E-mails sets overview'),
- 'weight' => 4
- );
-
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/set/add', 'title' => t('Add set'),
- 'access' => user_access('configure autoresponder'),
- 'callback' => 'autoresponder_set_list',
- 'type' => MENU_LOCAL_TASK,
- 'weight' => 5
- );
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/set/activate',
- 'access' => user_access('configure autoresponder'),
- 'callback' => 'autoresponder_set_list',
- 'type' => MENU_CALLBACK,
- );
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/set/deactivate',
- 'access' => user_access('configure autoresponder'),
- 'callback' => 'autoresponder_set_list',
- 'type' => MENU_CALLBACK,
- );
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/set/edit',
- 'access' => user_access('configure autoresponder'),
- 'callback' => 'autoresponder_set_list',
- 'type' => MENU_CALLBACK,
- );
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/set/delete',
- 'access' => user_access('configure autoresponder'),
- 'callback' => 'autoresponder_set_list',
- 'type' => MENU_CALLBACK,
- );
-
- $items[] = array(
- 'path' => 'admin/settings/autoresponder/status', 'title' => t('Status'),
- 'access' => user_access('configure autoresponder'),
- 'callback' => 'autoresponder_status',
- 'description' => t('Status of e-mails sending. Manual mailing.'),
- 'weight' => 6
- );
- }
+ global $user;
+ $items['autoresponder/unsubscribe'] = array(
+ 'access callback' => TRUE,
+ 'page callback' => 'autoresponder_user_unsubscribe',
+ 'type' => MENU_CALLBACK
+ );
+ $items['autoresponder/mail'] = array(
+ 'access callback' => TRUE,
+ 'page callback' => 'drupal_get_form',
+ 'page arguments' => array('autoresponder_mail_show_form'),
+ 'title' => 'View message',
+ 'type' => MENU_CALLBACK
+ );
+ $items['admin/settings/autoresponder'] = array(
+ 'title' => 'Autoresponder',
+ 'access arguments' => array('configure autoresponder'),
+ 'page callback' => 'system_admin_menu_block_page',
+ 'description' => 'Autoresponder control panel'
+ );
+ $items['admin/settings/autoresponder/settings'] = array(
+ 'title' => 'Autoresponder settings',
+ 'access arguments' => array('autoresponder settings'),
+ 'page callback' => 'drupal_get_form',
+ 'page arguments' => array('autoresponder_admin_settings'),
+ 'description' => 'Settings',
+ 'weight' => 7
+ );
+ $items['admin/settings/autoresponder/massmailer'] = array(
+ 'title' => 'Mass-Mailer',
+ 'access arguments' => array('autoresponder massmail'),
+ 'page callback' => 'drupal_get_form',
+ 'page arguments' => array('autoresponder_set_massmail_form'),
+ 'description' => 'Sets/Subscribers/Roles mass-mailer'
+ );
+ $items['admin/settings/autoresponder/massmailer/sets'] = array(
+ 'title' => 'Sets mass-mailing',
+ 'access arguments' => array('autoresponder massmail'),
+ 'type' => MENU_DEFAULT_LOCAL_TASK,
+ 'page callback' => 'drupal_get_form',
+ 'page arguments' => array('autoresponder_set_massmail_form'),
+ 'weight' => 0
+ );
+ $items['admin/settings/autoresponder/massmailer/role'] = array(
+ 'title' => 'Role mass-mailing',
+ 'access arguments' => array('autoresponder massmail'),
+ 'type' => MENU_LOCAL_TASK,
+ 'page callback' => 'drupal_get_form',
+ 'page arguments' => array('autoresponder_role_massmail_form'),
+ 'weight' => 1
+ );
+ $items['admin/settings/autoresponder/massmailer/all'] = array(
+ 'title' => 'All subscribers mass-mailing',
+ 'access arguments' => array('autoresponder massmail'),
+ 'type' => MENU_LOCAL_TASK,
+ 'page callback' => 'drupal_get_form',
+ 'page arguments' => array('autoresponder_all_massmail_form'),
+ 'weight' => 2
+ );
+
+ $items['admin/settings/autoresponder/user/list'] = array(
+ 'title' => 'Users',
+ 'access arguments' => array('configure autoresponder'),
+ 'page callback' => 'autoresponder_user_list',
+ 'description' => 'Subscribers overview',
+ 'weight' => 0
+ );
+ $items['admin/settings/autoresponder/user/edit'] = array(
+ 'access arguments' => array('configure autoresponder'),
+ 'page callback' => 'autoresponder_user_list',
+ 'type' => MENU_CALLBACK,
+ 'weight' => 1
+ );
+ $items['admin/settings/autoresponder/user/delete'] = array(
+ 'access arguments' => array('configure autoresponder'),
+ 'page callback' => 'autoresponder_user_list',
+ 'type' => MENU_CALLBACK,
+ );
+
+ $items['admin/settings/autoresponder/mail/list'] = array(
+ 'title' => 'Messages',
+ 'access arguments' => array('configure autoresponder'),
+ 'page callback' => 'autoresponder_mail_list',
+ 'description' => 'Messages overview',
+ 'weight' => 2
+ );
+ $items['admin/settings/autoresponder/mail/add'] = array(
+ 'title' => 'Add message',
+ 'access arguments' => array('configure autoresponder'),
+ 'page callback' => 'autoresponder_mail_list',
+ 'type' => MENU_LOCAL_TASK,
+ 'weight' => 3
+ );
+ $items['admin/settings/autoresponder/mail/edit'] = array(
+ 'access arguments' => array('configure autoresponder'),
+ 'page callback' => 'autoresponder_mail_list',
+ 'type' => MENU_CALLBACK,
+ );
+ $items['admin/settings/autoresponder/mail/delete'] = array(
+ 'access arguments' => array('configure autoresponder'),
+ 'page callback' => 'autoresponder_mail_list',
+ 'type' => MENU_CALLBACK,
+ );
+ $items['admin/settings/autoresponder/set/list'] = array(
+ 'title' => 'Sets',
+ 'access arguments' => array('configure autoresponder'),
+ 'page callback' => 'autoresponder_set_list',
+ 'description' => 'E-mails sets overview',
+ 'weight' => 4
+ );
+
+ $items['admin/settings/autoresponder/set/add'] = array(
+ 'title' => 'Add set',
+ 'access arguments' => array('configure autoresponder'),
+ 'page callback' => 'autoresponder_set_list',
+ 'type' => MENU_LOCAL_TASK,
+ 'weight' => 5
+ );
+ $items['admin/settings/autoresponder/set/activate'] = array(
+ 'access arguments' => array('configure autoresponder'),
+ 'page callback' => 'autoresponder_set_list',
+ 'type' => MENU_CALLBACK,
+ );
+ $items['admin/settings/autoresponder/set/deactivate'] = array(
+ 'access arguments' => array('configure autoresponder'),
+ 'page callback' => 'autoresponder_set_list',
+ 'type' => MENU_CALLBACK,
+ );
+ $items['admin/settings/autoresponder/set/edit'] = array(
+ 'access arguments' => array('configure autoresponder'),
+ 'page callback' => 'autoresponder_set_list',
+ 'type' => MENU_CALLBACK,
+ );
+ $items['admin/settings/autoresponder/set/delete'] = array(
+ 'access arguments' => array('configure autoresponder'),
+ 'page callback' => 'autoresponder_set_list',
+ 'type' => MENU_CALLBACK,
+ );
+
+ $items['admin/settings/autoresponder/status'] = array(
+ 'title' => 'Status',
+ 'access arguments' => array('configure autoresponder'),
+ 'page callback' => 'autoresponder_status',
+ 'description' => 'Status of e-mails sending. Manual mailing.',
+ 'weight' => 6
+ );
return $items;
}
@@ -191,7 +169,7 @@ function autoresponder_admin_settings()
'#default_value' => variable_get('autoresponder_select_type', 'select'),
'#options' => array('select' => t('Dropdown list'), 'checkboxes' => t('Multiple select list'))
);
- if (db_num_rows(db_query('SELECT * FROM {autoresponder_sets}')) > 1) {
+ if (db_result(db_query('SELECT COUNT(*) FROM {autoresponder_sets}')) > 1) {
$hide = TRUE;
}
$form['block_settings']['autoresponder_hide_select'] = array(
@@ -256,7 +234,7 @@ function autoresponder_status_form() {
return $form;
}
-function autoresponder_status_form_submit($form_id, $form_values) {
+function autoresponder_status_form_submit($form, &$form_state) {
variable_set('emails_sent', 0);
autoresponder_cron();
drupal_set_message(t('E-Mails successfully sent!'));
@@ -281,16 +259,14 @@ function autoresponder_user_unsubscribe_
return drupal_access_denied();
}
if ($id) {
- $result = db_query('SELECT a.*, at.name, au.email
+ $result = db_query_range('SELECT a.*, at.name, au.email
FROM {autoresponder} AS a
LEFT JOIN {autoresponder_sets} AS at ON a.setid = at.id
LEFT JOIN {autoresponder_users} AS au ON a.uid = au.id
WHERE at.id = %d AND au.id = %d
- LIMIT 1
- ', $id, $uid);
+ ', $id, $uid, 0, 1);
- if (db_num_rows($result) > 0) {
- $us = db_fetch_object($result);
+ if ($us = db_fetch_object($result)) {
$form = array();
$form['id'] = array(
'#type' => 'value',
@@ -323,12 +299,12 @@ function autoresponder_user_unsubscribe_
drupal_goto();
}
-function autoresponder_user_unsubscribe_confirm_form_submit($form_id, $form_values) {
- db_query('DELETE FROM {autoresponder} WHERE setid = %d AND uid = %d', $form_values['id'], $form_values['uid']);
- drupal_set_message(t('Successfully unsubscribed %email from %set mailing list!', array('%email' => $form_values['email'], '%set' => $form_values['set'])));
- $result = db_query('SELECT uid FROM {autoresponder} WHERE uid = %d', $form_values['uid']);
- if (!db_num_rows($result))
- db_query('DELETE FROM {autoresponder_users} WHERE id = %d', $form_values['uid']);
+function autoresponder_user_unsubscribe_confirm_form_submit($form, &$form_state) {
+ db_query('DELETE FROM {autoresponder} WHERE setid = %d AND uid = %d', $form_state['values']['id'], $form_state['values']['uid']);
+ drupal_set_message(t('Successfully unsubscribed %email from %set mailing list!', array('%email' => $form_state['values']['email'], '%set' => $form_state['values']['set'])));
+ $result = db_query('SELECT COUNT(uid) FROM {autoresponder} WHERE uid = %d', $form_state['values']['uid']);
+ if (!db_result($result))
+ db_query('DELETE FROM {autoresponder_users} WHERE id = %d', $form_state['values']['uid']);
drupal_goto();
}
@@ -379,8 +355,8 @@ function autoresponder_mail($u, $mail) {
$plain_text_only = FALSE;
$plain_text_body = autoresponder_html_to_text($mail->body, array());
$hash = md5($mail->to);
- $url_unsubscribe = url('autoresponder/unsubscribe/'.$u->setid.'/'.$u->uid.'/'.$hash, NULL, NULL, TRUE);
- $url_view = url('autoresponder/mail/'.$u->setid.'/'.$mail->id.'/'.$u->uid.'/'.$hash, NULL, NULL, TRUE);
+ $url_unsubscribe = url('autoresponder/unsubscribe/'.$u->setid.'/'.$u->uid.'/'.$hash, array('absolute' => TRUE));
+ $url_view = url('autoresponder/mail/'.$u->setid.'/'.$mail->id.'/'.$u->uid.'/'.$hash, array('absolute' => TRUE));
$mail->body .= "
-------------------------
To view this message in the web follow this link $url_view";
$mail->body .= "
To unsubscribe from the list follow this link $url_unsubscribe";
watchdog('autoresponder', "Email sended to $mail->to with subject $mail->subject");
@@ -396,19 +372,15 @@ function autoresponder_mail_show_form()
return drupal_not_found();
}
// Check if message exists
- $sql = 'SELECT * FROM {autoresponder_messages} WHERE id = %d AND mset = %d LIMIT 1';
- $result = db_query($sql, $mid, $sid);
- if (db_num_rows($result) < 1)
+ $sql = 'SELECT * FROM {autoresponder_messages} WHERE id = %d AND mset = %d';
+ $result = db_query_range($sql, $mid, $sid, 0, 1);
+ if (!($message = db_fetch_object($result)))
return drupal_not_found();
- else
- $message = db_fetch_object($result);
// Check if user exists and subscribed to this message
$sql = 'SELECT aus.email FROM {autoresponder} a LEFT JOIN {autoresponder_users} aus ON a.uid = aus.id WHERE a.uid = %d AND a.setid = %d';
$result = db_query($sql, $uid, $sid);
- if (db_num_rows($result) < 1)
+ if (!($u = db_fetch_object($result)))
return drupal_not_found();
- else
- $u = db_fetch_object($result);
if (md5($u->email) != $hash)
return drupal_access_denied();
@@ -493,7 +465,7 @@ function _autoresponder_mail_url($url) {
return str_replace('mailto:', '', $url);
}
else {
- return url($url, NULL, NULL, 1);
+ return url($url, array('absolute' => TRUE));
}
}
@@ -637,7 +609,7 @@ function autoresponder_user_list() {
}
function autoresponder_user_delete_confirm() {
- $result = db_query('SELECT * FROM {autoresponder_users} WHERE id = %d LIMIT 1', arg(5));
+ $result = db_query_range('SELECT * FROM {autoresponder_users} WHERE id = %d', arg(5), 0, 1);
$us = db_fetch_object($result);
$form['id'] = array(
'#type' => 'value',
@@ -711,7 +683,7 @@ function autoresponder_user_list_form($s
function autoresponder_mail_list() {
switch (arg(4)) {
case 'edit':
- $result = db_query('SELECT * FROM {autoresponder_messages} WHERE id = %d LIMIT 1', arg(6));
+ $result = db_query_range('SELECT * FROM {autoresponder_messages} WHERE id = %d', arg(6), 0, 1);
return autoresponder_mail_edit_create(db_fetch_array($result));
case 'add':
return autoresponder_mail_edit_create(array());
@@ -722,7 +694,7 @@ function autoresponder_mail_list() {
}
function autoresponder_mail_delete_confirm() {
- $result = db_query("SELECT * FROM {autoresponder_messages} WHERE id = %d LIMIT 1", arg(6));
+ $result = db_query_range("SELECT * FROM {autoresponder_messages} WHERE id = %d", arg(6), 0, 1);
$mail = db_fetch_object($result);
$form['mid'] = array(
'#type' => 'value',
@@ -739,7 +711,7 @@ function autoresponder_mail_delete_confi
}
function autoresponder_mail_list_form() {
- $result = db_query('SELECT am.*, at.name, at.id sid
+ $result = db_query('SELECT am.*, at.name, at.id AS sid
FROM {autoresponder_messages} as am
LEFT JOIN {autoresponder_sets} as at ON am.mset = at.id
ORDER BY am.subject ASC, am.day ASC
@@ -777,7 +749,7 @@ function autoresponder_mail_list_form()
function autoresponder_set_list() {
switch (arg(4)) {
case 'edit':
- $result = db_query('SELECT * FROM {autoresponder_sets} WHERE id=%d LIMIT 1', arg(5));
+ $result = db_query_range('SELECT * FROM {autoresponder_sets} WHERE id=%d', arg(5), 0, 1);
return autoresponder_set_edit_create(db_fetch_array($result));
case 'add':
return autoresponder_set_edit_create();
@@ -795,7 +767,7 @@ function autoresponder_set_list() {
}
function autoresponder_set_delete_confirm() {
- $result = db_query("SELECT * FROM {autoresponder_sets} WHERE id = %d LIMIT 1", arg(5));
+ $result = db_query_range("SELECT * FROM {autoresponder_sets} WHERE id = %d", arg(5), 0, 1);
$set = db_fetch_object($result);
$form['id'] = array(
'#type' => 'value',
@@ -851,13 +823,13 @@ function autoresponder_set_massmail_form
return $form;
}
-function autoresponder_set_massmail_form_submit($form_id, $form_values) {
- $result = db_query('SELECT a.uid, au.email FROM {autoresponder} a LEFT JOIN {autoresponder_users} au ON a.uid = au.id WHERE setid = %d', $form_values['set']);
+function autoresponder_set_massmail_form_submit($form, &$form_state) {
+ $result = db_query('SELECT a.uid, au.email FROM {autoresponder} a LEFT JOIN {autoresponder_users} au ON a.uid = au.id WHERE setid = %d', $form_state['values']['set']);
while ($u = db_fetch_object($result)) {
$mail->uid = $u->uid;
- $mail->setid = $form_values['id'];
- $mail->subject = $form_values['subject'];
- $mail->body = $form_values['body'];
+ $mail->setid = $form_state['values']['id'];
+ $mail->subject = $form_state['values']['subject'];
+ $mail->body = $form_state['values']['body'];
autoresponder_mail($u, $mail);
unset($mail);
}
@@ -893,13 +865,13 @@ function autoresponder_role_massmail_for
return $form;
}
-function autoresponder_role_massmail_form_submit($form_id, $form_values) {
- $result = db_query('SELECT u.mail, u.uid FROM {users_roles} ur LEFT JOIN {users} u ON u.uid = ur.uid WHERE ur.rid = %d', $form_values['role']);
+function autoresponder_role_massmail_form_submit($form, &$form_state) {
+ $result = db_query('SELECT u.mail, u.uid FROM {users_roles} ur LEFT JOIN {users} u ON u.uid = ur.uid WHERE ur.rid = %d', $form_state['values']['role']);
while ($u = db_fetch_object($result)) {
$mail->email = $u->mail;
$mail->uid = $u->uid;
- $mail->subject = $form_values['subject'];
- $mail->body = $form_values['body'];
+ $mail->subject = $form_state['values']['subject'];
+ $mail->body = $form_state['values']['body'];
autoresponder_mail($u, $mail);
unset($mail);
}
@@ -929,12 +901,12 @@ function autoresponder_all_massmail_form
return $form;
}
-function autoresponder_all_massmail_form_submit($form_id, $form_values) {
+function autoresponder_all_massmail_form_submit($form, &$form_state) {
$result = db_query('SELECT id as uid FROM {autoresponder_users}');
while ($u = db_fetch_object($result)) {
$mail->email = $u->email;
- $mail->subject = $form_values['subject'];
- $mail->body = $form_values['body'];
+ $mail->subject = $form_state['values']['subject'];
+ $mail->body = $form_state['values']['body'];
autoresponder_mail($u, $mail);
unset($mail);
}
@@ -947,7 +919,7 @@ function autoresponder_set_list_form() {
while ($set = db_fetch_object($result)) {
$rows[$set->id] = array(
'',
- l($set->name, 'admin/settings/autoresponder/user/list/'.$set->id, array('title' => 'View users')).'
'.$set->description.'',
+ l($set->name, 'admin/settings/autoresponder/user/list/'.$set->id, array('attributes' => array('title' => 'View users'))).'
'.$set->description.'',
$set->active == 0 ? l(t('Activate'), 'admin/settings/autoresponder/set/activate/'.$set->id) : l(t('Deactivate'), 'admin/settings/autoresponder/set/deactivate/'.$set->id),
/*$set->unsubscribe == 0 ? l(t('Unsubscribe users'), 'admin/settings/autoresponder/set/unsubscribe/'.$set->id) : l(t('Do not unsubscribe users'), 'admin/settings/autoresponder/set/subscribe/'.$set->id),*/
l(t('Edit'), 'admin/settings/autoresponder/set/edit/'.$set->id),
@@ -1011,26 +983,26 @@ function theme_autoresponder_user_list_f
return $output;
}
-function autoresponder_user_list_form_submit($form_id, $form_values) {
- switch ($form_values['op']) {
+function autoresponder_user_list_form_submit($form, &$form_state) {
+ switch ($form_state['values']['op']) {
case t('Delete users'):
foreach ($_POST AS $key => $value)
if (is_int($key))
$id[] = $key;
if ($id)
- $ids = implode(",", $id);
+ $placeholders = array_fill(0, count($id), "%d");
$count = count($id);
if ($count) {
- $form['count'] = array(
+ /*$form['count'] = array(
'#type' => 'value',
'#value' => $count
);
$form['ids'] = array(
'#type' => 'value',
'#value' => $ids
- );
- db_query('DELETE FROM {autoresponder_users} WHERE id IN (%s)', $ids);
- db_query('DELETE FROM {autoresponder} WHERE uid IN (%s)', $ids);
+ );*/
+ db_query('DELETE FROM {autoresponder_users} WHERE id IN ('. implode(',', $placeholders) .')', $id);
+ db_query('DELETE FROM {autoresponder} WHERE uid IN ('. implode(',', $placeholders) .')', $id);
drupal_set_message(t('%count user(s) has been deleted successfully!', array('%count' => $count)));
drupal_goto('admin/settings/autoresponder/user/list');
}
@@ -1042,52 +1014,52 @@ function autoresponder_user_list_form_su
}
}
-function autoresponder_mail_list_form_submit($form_id, $form_values) {
- switch ($form_values['op']) {
+function autoresponder_mail_list_form_submit($form, &$form_state) {
+ switch ($form_state['values']['op']) {
case t('Delete messages'):
foreach ($_POST AS $key => $value)
if (is_int($key))
$id[] = $key;
if ($id)
- $ids = implode(",", $id);
- $count = count($id);
- if ($count) {
- $form['count'] = array(
- '#type' => 'value',
- '#value' => $count
- );
- $form['ids'] = array(
- '#type' => 'value',
- '#value' => $ids
- );
- db_query('DELETE FROM {autoresponder_messages} WHERE id IN (%s)', $ids);
- drupal_set_message(t('%count message(s) has been deleted successfully!', array('%count' => $count)));
- drupal_goto('admin/settings/autoresponder/mail/list');
- }
- else
- drupal_set_message(t('There are no selected messages!'));
+ $placeholders = array_fill(0, count($id), "%d");
+ $count = count($id);
+ if ($count) {
+ /*$form['count'] = array(
+ '#type' => 'value',
+ '#value' => $count
+ );
+ $form['ids'] = array(
+ '#type' => 'value',
+ '#value' => $ids
+ );*/
+ db_query('DELETE FROM {autoresponder_messages} WHERE id IN ('. implode(',', $placeholders) .')', $id);
+ drupal_set_message(t('%count message(s) has been deleted successfully!', array('%count' => $count)));
+ drupal_goto('admin/settings/autoresponder/mail/list');
+ }
+ else
+ drupal_set_message(t('There are no selected messages!'));
}
}
-function autoresponder_set_list_form_submit($form_id, $form_values) {
- switch ($form_values['op']) {
+function autoresponder_set_list_form_submit($form, &$form_state) {
+ switch ($form_state['values']['op']) {
case t('Delete sets'):
foreach ($_POST AS $key => $value)
if (is_int($key))
$id[] = $key;
if ($id)
- $ids = implode(",", $id);
+ $placeholders = array_fill(0, count($id), "%d");
$count = count($id);
if ($count) {
- $form['count'] = array(
+ /*$form['count'] = array(
'#type' => 'value',
'#value' => $count
);
$form['ids'] = array(
'#type' => 'value',
'#value' => $ids
- );
- db_query('DELETE FROM {autoresponder_sets} WHERE id IN (%s)', $ids);
+ );*/
+ db_query('DELETE FROM {autoresponder_sets} WHERE id IN ('. implode(',', $placeholders) .')', $id);
drupal_set_message(t('%count set(s) has been deleted successfully!', array('%count' => $count)));
drupal_goto('admin/settings/autoresponder/set/list');
}
@@ -1207,25 +1179,30 @@ function autoresponder_user($op, &$edit,
'#options' => $sets,
'#description' => t('Select sets to subscribe'),
);
- }
+ }
}
return $form;
case 'insert':
if (variable_get('show_on_user_register', TRUE)) {
$sql = 'SELECT id FROM {autoresponder_users} WHERE email = \'%s\'';
$result = db_query($sql, $edit['mail']);
- if (db_num_rows($result)) {
- $us = db_fetch_object($result);
+ if ($us = db_fetch_object($result)) {
$auid = $us->id;
}
else {
- $auid = db_next_id('{autoresponder_users}');
- db_query("INSERT INTO {autoresponder_users} (id, email, reg_date) VALUES (%d, '%s', %d)", $auid, strtolower($edit['mail']), time());
+ $auobj = new stdClass();
+ $auobj->email = strtolower($edit['mail']);
+ $auobj->reg_date = time();
+ drupal_write_record('autoresponder_users', $auobj);
+ unset($auobj);
}
foreach ($edit['set'] as $key => $value) {
if ($value) {
- $aid = db_next_id('{autoresponder}');
- db_query('INSERT INTO {autoresponder} (id, uid, setid) VALUES(%d, %d, %d)', $aid, $auid, $value);
+ $aobj = new stdClass();
+ $aobj->uid = $auid;
+ $aobj->setid = $value;
+ drupal_write_record('autoresponder', $aobj);
+ unset($aobj);
$result_messages = db_query('SELECT * FROM {autoresponder_messages} WHERE day = %d AND mset = %d', 0, $value);
while ($mail = db_fetch_object($result_messages)) {
$u->mail = $edit['mail'];
@@ -1261,7 +1238,7 @@ function autoresponder_email_enter_form(
$u = db_fetch_object(db_query('SELECT id FROM {autoresponder_users} WHERE email = \'%s\'', $user->mail));
$result = db_query('SELECT aus.name, aus.id, a.uid FROM {autoresponder} a LEFT JOIN {autoresponder_sets} aus ON a.setid = aus.id WHERE a.uid = %d', $u->id);
while ($s = db_fetch_object($result)) {
- $user_sets .= $s->name.' | '.l('Unsubscribe', 'autoresponder/unsubscribe/'.$s->id.'/'.$s->uid, array(), drupal_get_destination()).'
';
+ $user_sets .= $s->name.' | '.l('Unsubscribe', 'autoresponder/unsubscribe/'.$s->id.'/'.$s->uid, array('query' => drupal_get_destination())).'
';
$set_array[$s->id] = $s->name;
}
if (!variable_get('autoresponder_hide_email', FALSE)) {
@@ -1490,43 +1467,49 @@ function autoresponder_mail_edit_create_
return $form;
}
-function autoresponder_email_enter_form_validate($form_id, $form_values) {
- if (!valid_email_address($form_values['email']))
+function autoresponder_email_enter_form_validate($form, &$form_state) {
+ if (!valid_email_address($form_state['values']['email']))
form_set_error('email', 'Email address is wrong. Example: john@coolsite.com');
- $result = db_query("SELECT * FROM {autoresponder_users} au LEFT JOIN {autoresponder} a ON au.id = a.uid WHERE au.email = '%s' AND a.setid = %d", $form_values['email'], $form_values['set']);
- $exist = db_num_rows($result);
+ $result = db_query("SELECT COUNT(*) FROM {autoresponder_users} au LEFT JOIN {autoresponder} a ON au.id = a.uid WHERE au.email = '%s' AND a.setid = %d", $form_state['values']['email'], $form_state['values']['set']);
+ $exist = db_result($result) > 0;
if ($exist)
- form_set_error('email',t('Your email address @mail is already subscribed for this list.', array('@mail' => $form_values['email'])));
+ form_set_error('email',t('Your email address @mail is already subscribed for this list.', array('@mail' => $form_state['values']['email'])));
}
-function autoresponder_email_enter_form_submit($form_id, $form_values) {
- if (!is_array($form_values['set']))
- $form_values['set'] = array($form_values['set'] => (int)$form_values['set']);
- if (isset($form_values['set']['empty'])) {
+function autoresponder_email_enter_form_submit($form, &$form_state) {
+ if (!is_array($form_state['values']['set']))
+ $form_state['values']['set'] = array($form_state['values']['set'] => (int)$form_state['values']['set']);
+ if (isset($form_state['values']['set']['empty'])) {
drupal_set_message(t('No sets available to subscribe.'));
return;
}
$sql = 'SELECT id FROM {autoresponder_users} WHERE email = \'%s\'';
- $result = db_query($sql, $form_values['email']);
- if (db_num_rows($result)) {
- $us = db_fetch_object($result);
+ $result = db_query($sql, $form_state['values']['email']);
+ if ($us = db_fetch_object($result)) {
$auid = $us->id;
}
else {
- $auid = db_next_id('{autoresponder_users}');
- db_query("INSERT INTO {autoresponder_users} (id, email, reg_date) VALUES (%d, '%s', %d)", $auid, strtolower($form_values['email']), time());
+ $auobj = new stdClass();
+ $auobj->email = strtolower($form_state['values']['email']);
+ $auobj->reg_date = time();
+ drupal_write_record('autoresponder_users', $auobj);
+ $auid = $auobj->id;
+ unset($auobj);
}
- foreach ($form_values['set'] as $key => $value) {
+ foreach ($form_state['values']['set'] as $key => $value) {
if ($value) {
- $aid = db_next_id('{autoresponder}');
- db_query('INSERT INTO {autoresponder} (id, uid, setid) VALUES(%d, %d, %d)', $aid, $auid, $value);
+ $aobj = new stdClass();
+ $aobj->uid = $auid;
+ $aobj->setid = $value;
+ drupal_write_record('autoresponder', $aobj);
+ unset($aobj);
$result_messages = db_query('SELECT * FROM {autoresponder_messages} WHERE day = %d AND mset = %d', 0, $value);
while ($mail = db_fetch_object($result_messages)) {
- $u->mail = $form_values['email'];
+ $u->mail = $form_state['values']['email'];
$u->uid = $auid;
$u->setid = $value;
autoresponder_mail($u, $mail);
- $message = t(db_result(db_query('SELECT message FROM {autoresponder_sets} WHERE id = %d LIMIT 1', $value)), array('%email' => $form_values['email']));
+ $message = t(db_result(db_query_range('SELECT message FROM {autoresponder_sets} WHERE id = %d', $value, 0, 1)), array('%email' => $form_state['values']['email']));
drupal_set_message($message);
}
}
@@ -1534,77 +1517,84 @@ function autoresponder_email_enter_form_
drupal_goto();
}
-function autoresponder_user_delete_confirm_submit($form_id, $form_values) {
- db_query('DELETE FROM {autoresponder_users} WHERE id = %d', $form_values['id']);
- db_query('DELETE FROM {autoresponder} WHERE uid = %d', $form_values['id']);
- drupal_set_message(t('User %email successfully deleted!',array('%email' => $form_values['email'])));
+function autoresponder_user_delete_confirm_submit($form, &$form_state) {
+ db_query('DELETE FROM {autoresponder_users} WHERE id = %d', $form_state['values']['id']);
+ db_query('DELETE FROM {autoresponder} WHERE uid = %d', $form_state['values']['id']);
+ drupal_set_message(t('User %email successfully deleted!',array('%email' => $form_state['values']['email'])));
drupal_goto('admin/settings/autoresponder/user/list');
}
-function autoresponder_mail_delete_confirm_submit($form_id, $form_values) {
- db_query('DELETE FROM {autoresponder_messages} WHERE id = %d', $form_values['mid']);
- drupal_set_message(t('Message %subject successfully deleted!', array('%subject' => $form_values['subject'])));
+function autoresponder_mail_delete_confirm_submit($form, &$form_state) {
+ db_query('DELETE FROM {autoresponder_messages} WHERE id = %d', $form_state['values']['mid']);
+ drupal_set_message(t('Message %subject successfully deleted!', array('%subject' => $form_state['values']['subject'])));
drupal_goto('admin/settings/autoresponder/mail/list');
}
-function autoresponder_set_delete_confirm_submit($form_id, $form_values) {
- $result = db_query('SELECT uid FROM {autoresponder} WHERE setid = %d', $form_values['id']);
+function autoresponder_set_delete_confirm_submit($form, &$form_state) {
+ $result = db_query('SELECT uid FROM {autoresponder} WHERE setid = %d', $form_state['values']['id']);
while ($user = db_fetch_object($result)) {
$users[] = $user->uid;
}
- db_query('DELETE FROM {autoresponder_sets} WHERE id = %d', $form_values['id']);
- db_query('DELETE FROM {autoresponder_messages} WHERE mset = %d', $form_values['id']);
+ db_query('DELETE FROM {autoresponder_sets} WHERE id = %d', $form_state['values']['id']);
+ db_query('DELETE FROM {autoresponder_messages} WHERE mset = %d', $form_state['values']['id']);
if ($users) {
+ $placeholders = array_fill(0, count($users), "%d");
$uids = implode(',', $users);
- db_query('DELETE FROM {autoresponder_users} WHERE uid IN (%s)', $uids);
- db_query('DELETE FROM {autoresponder} WHERE uid IN (%s)', $uids);
+ db_query('DELETE FROM {autoresponder_users} WHERE uid IN ('. implode(',', $placeholders) .')', $users);
+ db_query('DELETE FROM {autoresponder} WHERE uid IN ('. implode(',', $placeholders) .')', $users);
}
- drupal_set_message(t('Set %name successfully deleted! Messages, that associated with this set was deleted too.', array('%name' => $form_values['name'])));
+ drupal_set_message(t('Set %name successfully deleted! Messages, that associated with this set was deleted too.', array('%name' => $form_state['values']['name'])));
drupal_goto('admin/settings/autoresponder/set/list');
}
-function autoresponder_set_edit_create_form_submit($form_id, $form_values) {
- $id = db_next_id('{autoresponder_sets}');
- if ($form_values['id']) {
- db_query('UPDATE {autoresponder_sets} SET name = \'%s\', description = \'%s\', message = \'%s\', active = %d, unsubscribe = %d WHERE id = %d',
- $form_values['name'], $form_values['description'], $form_values['message'], $form_values['active'], $form_values['unsubscribe'], $form_values['id']);
- drupal_set_message(t('Set %name successfully updated!', array('%name' => $form_values['name'])));
+function autoresponder_set_edit_create_form_submit($form, &$form_state) {
+ $obj = new stdClass();
+ $obj->name = $form_state['values']['name'];
+ $obj->description = $form_state['values']['description'];
+ $obj->message = $form_state['values']['message'];
+ $obj->active = $form_state['values']['active'];
+ $obj->unsubscribe = $form_state['values']['unsubscribe'];
+ if ($form_state['values']['id']) {
+ $obj->id = $form_state['values']['id'];
+ drupal_write_record('autoresponder_sets', $obj, array('id'));
+ drupal_set_message(t('Set %name successfully updated!', array('%name' => $form_state['values']['name'])));
}
else {
- db_query('INSERT INTO {autoresponder_sets} (id, name, description, message, active, unsubscribe) VALUES(%d, \'%s\', \'%s\', \'%s\', \'%s\', %d)',
- $id, $form_values['name'], $form_values['description'], $form_values['description'], $form_values['active'], $form_values['unsubscribe']);
+ drupal_write_record('autoresponder_sets', $obj);
drupal_set_message(t('Successfully added!'));
}
- return 'admin/settings/autoresponder/set/list';
+ unset($obj);
+ $form_state['redirect'] = 'admin/settings/autoresponder/set/list';
}
-function autoresponder_mail_edit_create_form_validate($form_id, $form_values) {
- if (!is_numeric($form_values['day']))
+function autoresponder_mail_edit_create_form_validate($form, &$form_state) {
+ if (!is_numeric($form_state['values']['day']))
form_set_error('day', t('The day must be a number. Example: %num', array('%num' => 10)));
- /*elseif (!is_numeric($form_values['day']) && (strtotime($form_values['dt']['day'].'.'.$form_values['dt']['month'].'.'.$form_values['dt']['year']) < time())) {
+ /*elseif (!is_numeric($form_state['values']['day']) && (strtotime($form_state['values']['dt']['day'].'.'.$form_state['values']['dt']['month'].'.'.$form_state['values']['dt']['year']) < time())) {
form_set_error('dt', t('The date must be in the future.'));*/
}
-function autoresponder_mail_edit_create_form_submit($form_id, $form_values) {
- if ($form_values['id']) {
- db_query('UPDATE {autoresponder_messages} SET subject = \'%s\', body = \'%s\', mset = \'%s\', day = %d WHERE id = %d',
- $form_values['subject'], $form_values['body'], $form_values['set'], $form_values['day'], $form_values['id']);
- drupal_set_message(t('Mail set %subject successfully updated!', array('%subject' => $form_values['subject'])));
+function autoresponder_mail_edit_create_form_submit($form, &$form_state) {
+ $obj = new stdClass();
+ $obj->subject = $form_state['values']['subject'];
+ $obj->body = $form_state['values']['body'];
+ $obj->mset = $form_state['values']['set'];
+ $obj->day = $form_state['values']['day'];
+ if ($form_state['values']['id']) {
+ $obj->id = $form_state['values']['id'];
+ drupal_write_record('autoresponder_messages', $obj, array('id'));
+ drupal_set_message(t('Mail set %subject successfully updated!', array('%subject' => $form_state['values']['subject'])));
}
else {
- $mid = db_next_id('{autoresponder_messages}');
- db_query('INSERT INTO {autoresponder_messages}
- (id, subject, body, mset, day)
- VALUES(%d, \'%s\', \'%s\', %d, \'%s\')',
- $mid, $form_values['subject'], $form_values['body'], $form_values['set'], $form_values['day']
- );
- drupal_set_message(t('New message %subject successfully added on day %day! If you want, you can add more messages !url', array('%subject' => $form_values['subject'], '%day' => $form_values['day'], '!url' => l(t('here...'), 'admin/settings/autoresponder/mail/add'))));
+ drupal_write_record('autoresponder_messages', $obj);
+ drupal_set_message(t('New message %subject successfully added on day %day! If you want, you can add more messages !url', array('%subject' => $form_state['values']['subject'], '%day' => $form_state['values']['day'], '!url' => l(t('here...'), 'admin/settings/autoresponder/mail/add'))));
}
- return 'admin/settings/autoresponder/mail/list';
+ unset($obj);
+ $form_state['redirect'] = 'admin/settings/autoresponder/mail/list';
}
function autoresponder_set_activate($id) {
- $query = db_query('SELECT * FROM {autoresponder_sets} WHERE id = %d LIMIT 1', $id);
+ $query = db_query_range('SELECT * FROM {autoresponder_sets} WHERE id = %d', $id, 0, 1);
$set = db_fetch_object($query);
db_query('UPDATE {autoresponder_sets} SET active = 1 WHERE id = %d', $id);
drupal_set_message(t('Set %name successfully activated!', array('%name' => $set->name)));
@@ -1612,10 +1602,17 @@ function autoresponder_set_activate($id)
}
function autoresponder_set_deactivate($id) {
- $query = db_query('SELECT * FROM {autoresponder_sets} WHERE id = %d LIMIT 1', $id);
+ $query = db_query_range('SELECT * FROM {autoresponder_sets} WHERE id = %d', $id, 0, 1);
$set = db_fetch_object($query);
db_query('UPDATE {autoresponder_sets} SET active = 0 WHERE id = %d', $id);
drupal_set_message(t('Set %name successfully deactivated!', array('%name' => $set->name)));
drupal_goto('admin/settings/autoresponder/set/list');
}
-?>
\ No newline at end of file
+
+function autoresponder_theme() {
+ return array(
+ 'autoresponder_user_list_form' => array(
+ 'arguments' => array('form' => NULL),
+ ),
+ );
+}