(bug 18115) ForeignAPIRepo cache isn't working, fixed a broken is_writable() call...
authorChad Horohoe <demon@users.mediawiki.org>
Fri, 10 Apr 2009 21:24:35 +0000 (21:24 +0000)
committerChad Horohoe <demon@users.mediawiki.org>
Fri, 10 Apr 2009 21:24:35 +0000 (21:24 +0000)
RELEASE-NOTES
includes/filerepo/ForeignAPIRepo.php

index b9dd86a..11df4a7 100644 (file)
@@ -338,6 +338,8 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN
 * (bug 7830) Pending transactions failed to commit on loginToUse() error
 * (bug 11613) session.save_handler being over-ridden
 * (bug 11381) session.save_handler being set twice (causes error)
+* (bug 17835) ForeignAPIRepo throwing error on first page load for file
+* (bug 18115) ForeignAPIRepo cache isn't working
 
 == API changes in 1.15 ==
 * (bug 16858) Revamped list=deletedrevs to make listing deleted contributions
index e63e4a6..613f4c0 100644 (file)
@@ -162,14 +162,13 @@ class ForeignAPIRepo extends FileRepo {
                        if ( !is_dir($wgUploadDirectory . '/' . $path) ) {
                                wfMkdirParents($wgUploadDirectory . '/' . $path);
                        }
-                       if ( !is_writable( $wgUploadDirectory . '/' . $path . $fileName ) ) {
-                               wfDebug( __METHOD__ . " could not write to thumb path\n" );
-                               return $foreignUrl;
-                       }
                        $localUrl =  $wgServer . $wgUploadPath . '/' . $path . $fileName;
                        $thumb = Http::get( $foreignUrl );
                        # FIXME: Delete old thumbs that aren't being used. Maintenance script?
-                       file_put_contents($wgUploadDirectory . '/' . $path . $fileName, $thumb );
+                       if( !file_put_contents($wgUploadDirectory . '/' . $path . $fileName, $thumb ) ) {
+                               wfDebug( __METHOD__ . " could not write to thumb path\n" );
+                               return $foreignUrl;
+                       }
                        $wgMemc->set( $key, $localUrl, $this->apiThumbCacheExpiry );
                        wfDebug( __METHOD__ . " got local thumb $localUrl, saving to cache \n" );
                        return $localUrl;