You are here

class FeedsClientsParser in Web Service Clients 6

Same name and namespace in other branches
  1. 7 clients/clients_feeds/FeedsClientsParser.inc \FeedsClientsParser

Class definition for Common Syndication Parser.

Hierarchy

Expanded class hierarchy of FeedsClientsParser

2 string references to 'FeedsClientsParser'
clients_feeds_feeds_plugins in clients/clients_feeds/clients_feeds.module
Implementation of hook_feeds_plugins().
_clients_feeds_feeds_importer_default in clients/clients_feeds/clients_feeds.defaults.inc
Helper to implementation of hook_feeds_importer_default().

File

clients/clients_feeds/FeedsClientsParser.inc, line 11
Parser for clients. Contains source selector @todo work out how to make source selector work in fetcher

View source
class FeedsClientsParser extends FeedsParser {

  /**
   * Parses a raw string and returns a Feed object from it.
   */
  public function parse(FeedsImportBatch $batch, FeedsSource $source) {
    return $batch;
  }

  /**
   * Build configuration form.
   */
  public function configForm(&$form_state) {
    $form = array();
    $services = array();
    foreach (clients_resources_load() as $rid => $source) {
      $services[$rid] = $source['name'];
    }
    $form['source'] = array(
      '#type' => 'select',
      '#title' => t('Available resources'),
      '#default_value' => $this->config['source'],
      '#options' => $services,
      '#description' => t('Choose a resource'),
    );
    return $form;
  }

  /**
   * Define default configuration.
   */
  public function configDefaults() {
    return array(
      'source' => '',
    );
  }

  /**
   * Return mapping sources.
   *
   * At a future point, we could expose data type information here,
   * storage systems like Data module could use this information to store
   * parsed data automatically in fields with a correct field type.
   */
  public function getMappingSources() {
    $resource = clients_resource_load((int) $this->config['source']);
    return clients_fields($resource);
  }

  /**
   * Source form.
   */
  public function sourceForm($source_config) {
    if ($this->config['source']) {
      $form = array();

      // value doesn't work for some reason so use hidden
      $form['source'] = array(
        '#type' => 'hidden',
        '#value' => $this->config['source'],
      );
      $resource = clients_resource_load((int) $this->config['source']);
      $source_config_info[] = array(
        t('Name'),
        $resource->name,
      );
      foreach ($resource->configuration['options'] as $field => $val) {
        if (is_array($val)) {
          $val = implode(', ', $val);
        }
        $source_config_info[] = array(
          ucfirst($field),
          $val,
        );
      }
      $form['info'] = array(
        '#value' => theme_table(array(
          t('Resource'),
        ), $source_config_info),
      );
      return $form;
    }
    else {
      return array();
    }
  }

}

Members

Namesort descending Modifiers Type Description Overrides
FeedsClientsParser::configDefaults public function Define default configuration. Overrides FeedsConfigurable::configDefaults
FeedsClientsParser::configForm public function Build configuration form. Overrides FeedsConfigurable::configForm
FeedsClientsParser::getMappingSources public function Return mapping sources. Overrides FeedsParser::getMappingSources
FeedsClientsParser::parse public function Parses a raw string and returns a Feed object from it. Overrides FeedsParser::parse
FeedsClientsParser::sourceForm public function Source form. Overrides FeedsPlugin::sourceForm
FeedsConfigurable::$config protected property
FeedsConfigurable::$disabled protected property CTools export enabled status of this object.
FeedsConfigurable::$export_type protected property
FeedsConfigurable::$id protected property
FeedsConfigurable::addConfig public function Similar to setConfig but adds to existing configuration. 1
FeedsConfigurable::configFormSubmit public function Submission handler for configForm(). 3
FeedsConfigurable::configFormValidate public function Validation handler for configForm(). 3
FeedsConfigurable::copy public function Copy a configuration. 1
FeedsConfigurable::existing public function Determine whether this object is persistent and enabled. I. e. it is defined either in code or in the database and it is enabled. 1
FeedsConfigurable::getConfig public function Implementation of getConfig(). 1
FeedsConfigurable::instance public static function Instantiate a FeedsConfigurable object. 1
FeedsConfigurable::setConfig public function Set configuration. 1
FeedsConfigurable::__get public function Override magic method __get(). Make sure that $this->config goes through getConfig()
FeedsConfigurable::__isset public function Override magic method __isset(). This is needed due to overriding __get().
FeedsParser::clear public function Clear all caches for results for given source.
FeedsParser::getSourceElement public function Get an element identified by $element_key of the given item. The element key corresponds to the values in the array returned by FeedsParser::getMappingSources(). 1
FeedsPlugin::hasSourceConfig public function Returns TRUE if $this->sourceForm() returns a form. Overrides FeedsSourceInterface::hasSourceConfig
FeedsPlugin::loadMappers protected static function Loads on-behalf implementations from mappers/ directory.
FeedsPlugin::save public function Save changes to the configuration of this object. Delegate saving to parent (= Feed) which will collect information from this object by way of getConfig() and store it. Overrides FeedsConfigurable::save
FeedsPlugin::sourceDefaults public function Implementation of FeedsSourceInterface::sourceDefaults(). Overrides FeedsSourceInterface::sourceDefaults 1
FeedsPlugin::sourceDelete public function A source is being deleted. Overrides FeedsSourceInterface::sourceDelete 1
FeedsPlugin::sourceFormValidate public function Validation handler for sourceForm. Overrides FeedsSourceInterface::sourceFormValidate 2
FeedsPlugin::sourceSave public function A source is being saved. Overrides FeedsSourceInterface::sourceSave 1
FeedsPlugin::__construct protected function Constructor. Overrides FeedsConfigurable::__construct