97 public function store( $backend, $data ) {
98 $be = $this->fbGroup->get( $backend );
100 $rand = Wikimedia\base_convert( (
string)mt_rand( 0, 46655 ), 10, 36, 3 );
102 $gen = MediaWikiServices::getInstance()->getGlobalIdGenerator();
103 $id = str_pad( $gen->newTimestampedUID128( 32 ), 26,
'0', STR_PAD_LEFT );
105 $domain = $this->isDbDomainExplicit
108 : WikiMap::getWikiIdFromDbDomain( $this->dbDomain );
109 $url = $be->getContainerStoragePath(
'data' ) .
'/' . rawurlencode( $domain );
112 ?
"/{$rand[0]}/{$rand[1]}/{$rand[2]}/{$id}"
113 :
"/{$rand[0]}/{$rand[1]}/{$id}";
115 $be->prepare( [
'dir' => dirname(
$url ),
'noAccess' => 1,
'noListing' => 1 ] );
116 $status = $be->create( [
'dst' =>
$url,
'content' => $data ] );
118 if ( $status->isOK() ) {