Commit graph

24 commits

Author SHA1 Message Date
Alexandre Emsenhuber
9dbae9019d Fixed some doxygen warnings 2010-11-08 10:19:28 +00:00
Trevor Parscal
c519873cdc Fixed Doxygen incompatible JSDoc style comments (bad Trevor!) as per some comments on r75036. 2010-11-05 18:33:50 +00:00
Tim Starling
e2cf4b81db * Break long lines
* For readability, rewrote ResourceLoaderFileModule::readScriptFiles() to use a loop instead of an excessively cute nested array_map() construction.
* In ResourceLoaderFileModule, check file_get_contents() result for errors. Golden rule of error checking: always check fopen(). Every call to fopen will fail some day for some user.
* In mediaWiki.loader.filter(): broke up a complex multi-line conditional into multiple commented if statements, for readability.
* Possessive "its" has no apostrophe.
2010-11-05 06:53:14 +00:00
Tim Starling
82f274088a * Introduced Xml::encodeJsCall(), to replace the awkward repetitive code that was doing the same thing throughout the resource loader with varying degrees of security and correctness.
* Modified Xml::encodeJsVar() to allow it to pass through JS expressions without encoding, using a special object.
* In ResourceLoader::makeModuleResponse(), renamed $messages to $messagesBlob to make it clear that it's JSON-encoded, not an array.
* Fixed MessageBlobStore to store {} for an empty message array instead of [].
* In ResourceLoader::makeMessageSetScript(), fixed call to non-existent function mediaWiki.msg.set.
* For security, changed the calling convention of makeMessageSetScript() and makeLoaderImplementScript() to require explicit object construction of XmlJsCode() before interpreting their input as JS code.
* Documented several ResourceLoader static functions.
* In ResourceLoaderWikiModule, for readability, reduced the indenting level by flipping some if blocks and adding continue statements.
* In makeCustomLoaderScript(), allow non-numeric $version. The only caller I can find is already sending a non-numeric $version, presumably it was broken. Luckily there aren't any loader scripts in existence, I had to make one to test it.
* wfGetDb -> wfGetDB
* Added an extra line break in the startup module output, for readability.
* In ResourceLoaderStartUpModule::getModuleRegistrations(), fixed another assignment expression
2010-11-04 07:53:37 +00:00
Tim Starling
06b2b1bd66 Resource loader minor changes. Fix for r73668 etc.
* Break long lines.
* Convert long or unnecessary ternary operator usages to if/else.
* Fixed excessively clever assignment expressions.
* Rename $cache to $cacheEntry.
* Removed unnecessary web invocation guards. Their perlish form was making me uncomfortable. BTW, unlike in Perl, die() is not a function, it's a special case in the PHP grammar which very roughly simulates the Perl syntax:

die "x"; // works
0 || die("x"); // works
0 || (die); // works
0 || (die "x"); // fail!
2010-11-03 07:58:03 +00:00
Platonides
eda718909c Remove unused globals. 2010-10-31 15:35:01 +00:00
Roan Kattouw
6d4d8641f6 (bug 25339) Allow specifying separate base paths for local and remote paths in ResourceLoaderFileModule::__construct(). Extensions can use this to properly point the resource loader to their resources in a way that doesn't depend on the extensions/ directory being a subdirectory of phase3/ on the filesystem and that respects $wgExtensionAssetsPath. Also converted all extensions using ResourceLoader to use this approach, except MWEmbed which uses way more indirection building its module registrations than I can deal with after midnight.
What actually happens here
* Add $localBasePath, $remoteBasePath params to the FileModule constructor, defaulting to $IP and $wgScriptPath respectively
* Add getLocalPath() and getRemotePath(), which use this information to build a proper FS or URL path for a file
* Make readScriptFiles() non-static so it can use these functions
* Run every single file path we use through either getLocalPath() or getRemotePath() as appropriate
** Except file dependencies, these are already prefixed. Our inability to give them special treatment caused bugs earlier
* Kill prefixFilePathList() and resolveFilePath(), no longer needed
2010-10-27 22:22:10 +00:00
Roan Kattouw
1fb4cc1f13 Fix regression introduced by doing data URL embedding early causing file dependencies for CSS not to be registered: the data URL embedding had modified the URL to the point where getLocalFileReferences() doesn't recognize it anymore. This is a quick&dirty fix registering dependencies in $this->fileDeps just before each remap() call 2010-10-27 19:59:10 +00:00
Trevor Parscal
46409b75fa Fixes comment mistakes in r75107 2010-10-26 20:17:32 +00:00
Trevor Parscal
0f94d0e00d Fixed missing break; in ResourceLoaderFileModule::__construct, and added extra error checking to it's input arrays. 2010-10-21 22:34:26 +00:00
Trevor Parscal
d7de31b5c3 ResourceLoaderFileModule now uses mediaWiki.loader.load to load scripts in debug mode. 2010-10-21 21:25:27 +00:00
Trevor Parscal
1f0e578130 Changed the way that ResourceLoaderFileModule and mediaWiki.loader work in debug mode. As of this commit, in debug mode, ResourceLoaderFileModule will emit code which appends a a script tag for each raw JavaScript file in the module, instead of the concatenated code of the module's scripts. This eliminates the need to disable batch loading on the client in debug mode, since it effectively supersedes the effect of turning batch loading off. 2010-10-21 01:03:46 +00:00
Trevor Parscal
f5565355b9 Improves on r75055, improving comment accuracy, and removing useless casting. 2010-10-20 20:56:33 +00:00
Trevor Parscal
cdd0fb65c2 * Improves on r75054 and r75036 by adding comments and renaming variables
* Fixes issue cased by creating a file module that only contains a list of dependencies.
2010-10-20 20:43:30 +00:00
Roan Kattouw
e9ff9c0f58 Include $IP in path passed to remap() so filesystem access will work properly 2010-10-20 19:13:43 +00:00
Trevor Parscal
0caccb3d28 Whitespace, comments and general cleanup. 2010-10-20 00:22:25 +00:00
Trevor Parscal
0c2d86685c Some cleanup work 2010-10-19 23:47:56 +00:00
Trevor Parscal
39b695ab1f Whitespace adjustments 2010-10-19 23:02:15 +00:00
Trevor Parscal
4b9b2ca889 Fixed remaning use of $this->loaders to use the new naming of $this->loaderScripts 2010-10-19 23:00:52 +00:00
Trevor Parscal
4f09b0fa47 Fixed case where tryForKey can sometimes not return an array 2010-10-19 22:53:53 +00:00
Trevor Parscal
f3388ec614 Refactored ResourceLoaderFileModule, most notably removing the set* methods, which are not in use at the moment, and should only be added when we have a use case for them (API bloat = bad) 2010-10-19 22:48:52 +00:00
Trevor Parscal
fb64a62306 Fixed ResourceLoaderFileModule constructor - collated lists were not being prefixed properly. Also did some renaming to improve consistency. 2010-10-19 20:59:23 +00:00
Trevor Parscal
70bae52c12 Part 2 of 2, moved ResourceLoader*Module classes to their own files - this commit removes the non file specific code. 2010-10-19 18:31:09 +00:00
Trevor Parscal
032ef610dd Part 1 of 2, moving ResourceLoader*Module classes to their own files - this commit copies the ResourceLoaderModules.php file to each of the new files, as to maintain revision history. The next revision will remove non file specific code. 2010-10-19 18:25:42 +00:00