You are here

function mailhandler_update_7211 in Mailhandler 7.2

Move default commands to source config.

File

./mailhandler.install, line 304
Install, update and uninstall functions for the Mailhandler module.

Code

function mailhandler_update_7211() {
  $importers = db_query('SELECT * FROM {feeds_importer}');
  while ($importer = $importers
    ->fetchAssoc()) {
    $importer['config'] = unserialize($importer['config']);
    if ($importer['config']['parser']['plugin_key'] == 'MailhandlerParser') {
      if (!empty($importer['config']['content_type']) && isset($importer['config']['parser']['config']['default_commands'])) {
        $nodes = db_query('SELECT * FROM {node} WHERE type = :type', array(
          ':type' => $importer['config']['content_type'],
        ));
        while ($node = $nodes
          ->fetchAssoc()) {
          $source = db_query('SELECT * FROM {feeds_source} WHERE feed_nid = :feed_nid', array(
            ':feed_nid' => $node['nid'],
          ))
            ->fetchAssoc();
          $source['config'] = unserialize($source['config']);
          $source['config']['MailhandlerParser']['default_commands'] = $importer['config']['parser']['config']['default_commands'];
          $source['config']['MailhandlerParser']['commands_failed_auth'] = $importer['config']['parser']['config']['commands_failed_auth'];
          drupal_write_record('feeds_source', $source, array(
            'id',
            'feed_nid',
          ));
        }
      }
    }
  }
}