if( !$wgExternalStores )
return false;
- @list( $proto, $path ) = explode( '://', $url, 2 );
- /* Bad URL */
- if( $path == '' )
+ $parts = explode( '://', $url, 2 );
+
+ if ( count( $parts ) != 2 ) {
return false;
+ }
+
+ list( $proto, $path ) = $parts;
+
+ if ( $path == '' ) { // Bad URL
+ return false;
+ }
$store = self::getStoreObject( $proto, $params );
if ( $store === false )
$class = 'ExternalStore' . ucfirst( $proto );
/* Any custom modules should be added to $wgAutoLoadClasses for on-demand loading */
- if( !class_exists( $class ) ) {
+ if( !MWInit::classExists( $class ) ) {
return false;
}
* Store a data item to an external store, identified by a partial URL
* The protocol part is used to identify the class, the rest is passed to the
* class itself as a parameter.
- * @return The URL of the stored data item, or false on error
+ * @param $url
+ * @param $data
+ * @param $params array
+ * @return string|false The URL of the stored data item, or false on error
*/
static function insert( $url, $data, $params = array() ) {
list( $proto, $params ) = explode( '://', $url, 2 );
*
* @param $data String
* @param $storageParams Array: associative array of parameters for the ExternalStore object.
- * @return The URL of the stored data item, or false on error
+ * @return string The URL of the stored data item, or false on error
*/
public static function insertToDefault( $data, $storageParams = array() ) {
global $wgDefaultExternalStore;
}
}
- /** Like insertToDefault, but inserts on another wiki */
+ /**
+ * @param $data
+ * @param $wiki
+ *
+ * @return string
+ */
public static function insertToForeignDefault( $data, $wiki ) {
return self::insertToDefault( $data, array( 'wiki' => $wiki ) );
}