* There's no more need for this here than anywhere else..
[mediawiki.git] / includes / ExternalStoreDB.php
blob00f8c481ea89abcef62953e746ba0876fa2f99b6
1 <?php
2 /**
3 *
4 * @package MediaWiki
6 * DB accessable external objects
8 */
9 require_once( 'LoadBalancer.php' );
12 /** @package MediaWiki */
13 class ExternalStoreDB {
14 /**
15 * Fetch data from given URL
16 * @param string $url An url
18 function fetchFromURL($url) {
19 global $wgExternalServers;
21 # URLs have the form DB://cluster/id, e.g.
22 # DB://cluster1/3298247
24 $path = explode( '/', $url );
25 $cluster = $path[2];
26 $id = $path[3];
28 $lb = LoadBalancer::NewFromParams( $wgExternalServers[$cluster] );
29 $db = $lb->getConnection( DB_SLAVE );
31 $ret = $db->selectField( 'blobs', 'blob_text', array( 'blob_id' => $id ) );
33 return $ret;
36 /* @fixme XXX: may require other methods, for store, delete,
37 * whatever, for initial ext storage