[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/includes/externalstore/ -> ExternalStoreMedium.php (source)

   1  <?php
   2  /**
   3   * External storage in some particular medium.
   4   *
   5   * This program is free software; you can redistribute it and/or modify
   6   * it under the terms of the GNU General Public License as published by
   7   * the Free Software Foundation; either version 2 of the License, or
   8   * (at your option) any later version.
   9   *
  10   * This program is distributed in the hope that it will be useful,
  11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13   * GNU General Public License for more details.
  14   *
  15   * You should have received a copy of the GNU General Public License along
  16   * with this program; if not, write to the Free Software Foundation, Inc.,
  17   * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  18   * http://www.gnu.org/copyleft/gpl.html
  19   *
  20   * @file
  21   * @ingroup ExternalStorage
  22   * @author Aaron Schulz
  23   */
  24  
  25  /**
  26   * Accessable external objects in a particular storage medium
  27   *
  28   * @ingroup ExternalStorage
  29   * @since 1.21
  30   */
  31  abstract class ExternalStoreMedium {
  32      /** @var array */
  33      protected $params = array();
  34  
  35      /**
  36       * @param array $params Options
  37       */
  38  	public function __construct( array $params = array() ) {
  39          $this->params = $params;
  40      }
  41  
  42      /**
  43       * Fetch data from given external store URL
  44       *
  45       * @param string $url An external store URL
  46       * @return string|bool The text stored or false on error
  47       * @throws MWException
  48       */
  49      abstract public function fetchFromURL( $url );
  50  
  51      /**
  52       * Fetch data from given external store URLs.
  53       *
  54       * @param array $urls A list of external store URLs
  55       * @return array Map from the url to the text stored. Unfound data is not represented
  56       */
  57  	public function batchFetchFromURLs( array $urls ) {
  58          $retval = array();
  59          foreach ( $urls as $url ) {
  60              $data = $this->fetchFromURL( $url );
  61              // Dont return when false to allow for simpler implementations.
  62              // errored urls are handled in ExternalStore::batchFetchFromURLs
  63              if ( $data !== false ) {
  64                  $retval[$url] = $data;
  65              }
  66          }
  67  
  68          return $retval;
  69      }
  70  
  71      /**
  72       * Insert a data item into a given location
  73       *
  74       * @param string $location The location name
  75       * @param string $data The data item
  76       * @return string|bool The URL of the stored data item, or false on error
  77       * @throws MWException
  78       */
  79      abstract public function store( $location, $data );
  80  }


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1