function subscriptions_mail_mail_edit_list_form_submit in Subscriptions 6
1 string reference to 'subscriptions_mail_mail_edit_list_form_submit'
- _subscriptions_mail_form_mail_edit_list_form_alter in ./
subscriptions_mail.mail_edit_D5.inc - Implementation of hook_form_alter().
File
- ./
subscriptions_mail.mail_edit_D5.inc, line 71 - Subscriptions module mail gateway helper functions for upgrading mail_edit D5 to D6.
Code
function subscriptions_mail_mail_edit_list_form_submit($form, &$form_state) {
$languages = isset($form_state['values']['language']) ? array(
$form_state['values']['language'],
) : $form_state['values']['languages'];
switch ($form_state['values']['op']) {
case $form_state['values']['remove']:
if (db_table_exists('subscriptions_mail_edit')) {
db_query("DELETE FROM {subscriptions_mail_edit}");
}
if (db_table_exists('mail_edit_d5')) {
db_query("DELETE FROM {mail_edit_d5} WHERE mailkey LIKE 'subscriptions-%'");
}
break;
case $form_state['values']['import']:
// Import digest records:
$old_mailkey = 'subscriptions-digest';
$new_mailkey = 'subscriptions_mail_digest';
$result = db_query("SELECT * FROM {mail_edit_registry} WHERE id = '%s'", $new_mailkey);
if ($registry = db_fetch_array($result)) {
if (_subscriptions_mail_mail_edit_import($old_mailkey, $new_mailkey, $registry['description'], $languages)) {
$digest_item = db_result(db_query("SELECT item_body FROM {subscriptions_mail_edit} WHERE mailkey = '%s'", $old_mailkey . '-item'));
$digest_separator = db_result(db_query("SELECT item_body FROM {subscriptions_mail_edit} WHERE mailkey = '%s'", $old_mailkey . '-separator'));
$digest_comment = db_result(db_query("SELECT item_body FROM {subscriptions_mail_edit} WHERE mailkey = '%s'", $old_mailkey . '-item-comment'));
foreach ($languages as $language) {
db_query("INSERT INTO {mail_edit} (description, subject, id, body, language) VALUES ('%s', '%s', '%s', '%s', '%s')", '', $digest_separator, $new_mailkey . '+item', $digest_item, $language);
db_query("INSERT INTO {mail_edit} (description, subject, id, body, language) VALUES ('%s', '%s', '%s', '%s', '%s')", '', '', $new_mailkey . '+comment', $digest_comment, $language);
}
db_query("DELETE FROM {subscriptions_mail_edit} WHERE mailkey LIKE '%s'", $new_mailkey . '-%');
}
}
// Import node/nid (+ comment) records:
$result = db_query("SELECT * FROM {mail_edit_registry} WHERE id = '%s'", $new_mailkey);
if ($registry = db_fetch_array($result)) {
if (_subscriptions_mail_mail_edit_import('subscriptions-node-nid', 'subscriptions_content_node-nid', $registry['description'], $languages)) {
$comment_item = db_result(db_query("SELECT item_body FROM {subscriptions_mail_edit} WHERE mailkey = 'subscriptions-comment-item'"));
$comment_separator = db_result(db_query("SELECT item_body FROM {subscriptions_mail_edit} WHERE mailkey = 'subscriptions-comment-separator'"));
foreach ($languages as $language) {
db_query("INSERT INTO {mail_edit} (description, subject, id, body, language) VALUES ('%s', '%s', '%s', '%s', '%s')", '', $comment_separator, 'subscriptions_content_node-nid+comment', $comment_item, $language);
}
db_query("DELETE FROM {subscriptions_mail_edit} WHERE mailkey LIKE 'subscriptions-comment-%'");
}
}
// Import node/tid records:
$result = db_query("SELECT * FROM {mail_edit_registry} WHERE id = '%s'", $new_mailkey);
if ($registry = db_fetch_array($result)) {
_subscriptions_mail_mail_edit_import('subscriptions-node-tid', 'subscriptions_taxonomy_node-tid', $registry['description'], $languages);
}
// Import node-type-* records:
$old_mailkey = 'subscriptions-node-type-';
$new_mailkey = 'subscriptions_content_node-type-';
$result = db_query("SELECT * FROM {mail_edit_registry} WHERE id LIKE '%s'", $new_mailkey . '%');
while ($registry = db_fetch_array($result)) {
$type = substr($registry['id'], strlen($new_mailkey));
_subscriptions_mail_mail_edit_import($old_mailkey . $type, $new_mailkey . $type, $registry['description'], $languages);
}
break;
}
$dummy = array();
if (db_table_exists('subscriptions_mail_edit') && db_result(db_query("SELECT COUNT(*) FROM {subscriptions_mail_edit}")) == 0) {
db_drop_table($dummy, 'subscriptions_mail_edit');
}
if (db_table_exists('mail_edit_d5') && db_result(db_query("SELECT COUNT(*) FROM {mail_edit_d5}")) == 0) {
db_drop_table($dummy, 'mail_edit_d5');
}
}