You are here

class MailhandlerFetcher in Mailhandler 7.2

Same name and namespace in other branches
  1. 6.2 plugins/feeds/plugins/MailhandlerFetcher.class.php \MailhandlerFetcher

Implementation of FeedsFetcher.

Hierarchy

Expanded class hierarchy of MailhandlerFetcher

3 string references to 'MailhandlerFetcher'
MailhandlerFetcher.inc in plugins/feeds/plugins/MailhandlerFetcher.inc
mailhandler_default_feeds_importer_default in modules/mailhandler_default/mailhandler_default.feeds_importer_default.inc
Implements hook_feeds_importer_default().
mailhandler_update_7204 in ./mailhandler.install
Update filter plugin names.

File

plugins/feeds/plugins/MailhandlerFetcher.class.php, line 40
Checks for new messages in a mailbox (IMAP, POP3, etc...).

View source
class MailhandlerFetcher extends FeedsFetcher {

  /**
   * Implementation of FeedsFetcher::fetch().
   */
  public function fetch(FeedsSource $source) {
    $source_config = $source
      ->getConfigFor($this);
    return new MailhandlerFetcherResult($source_config['source'], $this->config['filter']);
  }

  /**
   * Source form.
   */
  public function sourceForm($source_config) {
    $form = array();
    $form['source'] = array(
      '#type' => 'select',
      '#title' => t('Mailbox'),
      '#description' => t('Select a mailbox to use'),
      '#default_value' => isset($source_config['source']) ? $source_config['source'] : '',
      '#options' => _mailhandler_build_options(mailhandler_mailbox_load_all(FALSE), 'admin_title'),
    );
    return $form;
  }

  /**
   * Define defaults.
   */
  public function sourceDefaults() {
    return array(
      'source' => '',
    );
  }

  /**
   * Override parent::configDefaults().
   */
  public function configDefaults() {
    return array(
      'filter' => 'MailhandlerFilters',
    );
  }

  /**
   * Config form.
   */
  public function configForm(&$form_state) {
    $form = array();

    // Select message filter (to differentiate nodes/comments/etc)
    $form['filter'] = array(
      '#type' => 'select',
      '#title' => t('Message filter'),
      '#description' => t('Select which types of messages to import. This is a heuristic filter, and may fail in some scenarios. For instance, messages from a mailing list will almost always look like comments. Thus, the safest setting is <em>all</em>.'),
      '#default_value' => $this->config['filter'],
      '#options' => _mailhandler_build_options(mailhandler_get_plugins('mailhandler', 'filters')),
    );
    return $form;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
MailhandlerFetcher::configDefaults public function Override parent::configDefaults().
MailhandlerFetcher::configForm public function Config form.
MailhandlerFetcher::fetch public function Implementation of FeedsFetcher::fetch().
MailhandlerFetcher::sourceDefaults public function Define defaults.
MailhandlerFetcher::sourceForm public function Source form.