Commit graph

78 commits

Author SHA1 Message Date
Rob Church
4331d13d87 * (bug 10181) Support the XCache object caching mechanism [patch from Kurt Radwanski]
* Minor tweak to installer form
2007-06-08 15:56:32 +00:00
Rob Church
2bbe34ff54 * (bug 10118) Introduce Special:Mostlinkedtemplates
* Change default text for "specialpage-empty"
2007-06-04 21:39:12 +00:00
Tim Starling
ed4303922f Merged filerepo-work branch:
* Added support for configuration of an arbitrary number of commons-style file repositories.
* Split Image.php into filerepo/File.php and filerepo/LocalFile.php
* Renamed Image::getImagePath() to File::getPath()
* Added initial support for timestamp-based file fetching (OldLocalFile), to be expanded upon by aaron.
* Changed the interface for Image/File object creation: use wfFindFile() or wfLocalFile() depending on semantics
* ImageGallery::add() now accepts a title object as the first parameter
* Moved file handling operations on upload from SpecialUpload to File
* Removed path-related functions from ImageFunctions.php. Removed static path accessors from File. 
* Added a Content-Disposition header to thumb.php output
* Improved thumb.php error handling
* Updated the unit test suite to kind of partially work with modern computers. RunTests.php doesn't work just yet. Fixed an actual regression that the test suite detected -- moved some defines to Defines.php where they will be loaded consistently.
2007-05-30 21:02:32 +00:00
Yuri Astrakhan
bf246be8c6 * API: added property for external links (urls) retrieval 2007-05-14 07:04:13 +00:00
Yuri Astrakhan
b10c524d73 * API: added categories property 2007-05-14 06:21:49 +00:00
Yuri Astrakhan
0e68016b72 * New properties: links, templates, images, langlinks
* Breaking Change: imagelinks renamed into imageusage (il->iu)
* Bug fix: incorrect generator behavior in some cases
2007-05-14 05:28:06 +00:00
River Tarnell
a6f6e04841 instead of storing every mail as a job, have a job to send enotif updates for the whole mail at once. 2007-05-11 16:42:18 +00:00
River Tarnell
848d8f4611 allow enotif mails to be sent via job queue 2007-05-05 12:44:55 +00:00
Brion Vibber
3d0b03d0eb Revert r21461 for now; a cleanup patch which doesn't change functionality but makes more things to clean up -- ugly function names, incorrect profiling function titles... 2007-04-23 18:52:51 +00:00
Antoine Musso
fc1a14eab7 Add support for microsoft bmp format. It simply give out the height and size,
we might want to transform them to png automaticly.
2007-04-22 17:34:09 +00:00
Antoine Musso
8eb0cdfdfa Move tidy callbacks from the Parser class to a new Tidy class. This is to keep
Parser.php at a reasonable size.
2007-04-21 23:25:36 +00:00
Tim Starling
b15d8cffc4 * Introduced media handler modules for file-type specific operations: thumbnailing, img_metadata, capabilities, etc.
* Deprecated $wgUseImageResize, thumbnailing will be enabled unconditionally.
* Fixed interaction of page parameter to ImagePage with the HTML file cache
* Improved error reporting for image thumbnailing
* Fixed MIME type for SVG files, will be silently changed from image/svg to image/svg+xml after loading from the database.
* Workaround for djvutoxml bug #1704049 (poor performance). Use djvudump instead.
* Fixed odd behaviour in ImagePage on DjVu thumbnailing errors
* Improved error reporting for image thumbnailing
* Added sharpening option for ImageMagick thumbnailing
* Removed Image::selectPage(), added page parameters to getWidth() and getHeight(), deprecated Image::renderThumb() and Image::getThumbnail()
* Changed default contents of img_metadata to empty string instead of a:0:{}
* Moved responsibility for respecting $wgGenerateThumbnailOnParse from the UI to Image.php
2007-04-20 12:31:36 +00:00
Ilmari Karonen
a5d5a6b5b8 make Special:Random retry (once, but more carefully) if the chosen random offset was too high, provide error message if there really are no pages to choose from rather than going to the main page. rewrite Special:Randomredirect to reuse code from Special:Random. 2007-04-19 10:19:27 +00:00
Rob Church
874d1d6990 (bug 9508) Special page to list articles with the fewest revisions, based on http://bugzilla.wikimedia.org/attachment.cgi?id=3421&action=view with minor modification 2007-04-08 07:23:15 +00:00
Rob Church
06278e5bcf Move PageQueryPage class into own file 2007-03-31 23:36:58 +00:00
Rob Church
8e8c887dce (bug 9046) Special page to list pages without language links 2007-03-31 22:54:30 +00:00
Rob Church
c640837eac * Split most of the result output code from QueryPage::doQuery() into QueryPage::outputResults(), leaving paging and other logic behind
* Introduce ImageQueryPage class which uses galleries instead of boring old lists
* (bug 9069) Use galleries in query pages dedicated to images [uncategorised images, most linked-to images and unused files at the moment]
2007-03-28 21:01:58 +00:00
Aaron Schulz
9359dd0601 *Rename FSarchivedFile to ArchivedFile, add to autoloader 2007-03-14 05:27:26 +00:00
River Tarnell
0b2f7f7ea4 full-search search for oracle using Oracle Text 2007-03-11 04:41:02 +00:00
River Tarnell
033b6b9646 revive experimental Oracle support
fix use of limitResult(); must pass actual SQL, not empty string
2007-03-11 03:59:37 +00:00
Tim Starling
11f05acd53 Removed ListUsersPage from the lists in QueryPage.php and AutoLoader.php, it no longer exists. List formatting, comment fix. 2007-02-21 17:37:25 +00:00
Nick Jenkins
baaee13afc Prevent some unnecessary lstat system calls, generated by include or require directives.
This can be done either by:
* Using explicit full paths, using the $IP global for the installation directory full path, and then working down the tree from there.
* Using explicit full paths, using the "dirname(__FILE__)" directive to get a full directory path for the includer file. 
* Occasionally removing the line altogether, and then for some files the inclusion is handled by the autoloader.

For example, if the "extensions/wikihiero/wh_main.php" file does an include or require on "wh_list.php", then PHP does the following:
* tries to open "wiki/wh_list.php", and fails.
* tries to open "wiki/includes/wh_list.php", and fails.
* tries to open "wiki/languages/wh_list.php", and fails.
* tries to open "wiki/extensions/wikihiero/wh_list.php", and succeeds.

So in this example, the first 3 calls can be prevented if PHP is told where the file is.

Testing Method: On a Linux box, run these commands to attach strace to all the apache2 processes, and log their system calls to a temporary file, then generate some activity, and then stop the strace:
-----------------------------------
rm /tmp/strace-log.txt
strace -tt -o /tmp/strace-log.txt -p `pidof apache2 | sed 's/ / -p /g'` &
php maintenance/fuzz-tester.php --keep-passed-tests --include-binary --max-runtime=3 > /tmp/strace-tests.txt
killall -9 strace
grep "No such file or directory"  /tmp/strace-log.txt | sort -u
-----------------------------------

Any failed file stats will be marked with: "-1 ENOENT (No such file or directory)".

Also:
* Strict Standards: Undefined offset:  230 in includes/normal/UtfNormal.php on line 637
* Strict Standards: iconv() [<a href='function.iconv'>function.iconv</a>]: Detected an illegal character in input string in languages/Language.php on line 776
  [Note: Partial only - despite adding "//IGNORE", it still seems to be possible with some
         messed- up binary input to cause PHP 5.1.2's iconv() function to squeal like a stuck pig].
* Update one $fname variable (method belongs to HistoryBlobStub class).
2007-02-09 05:36:56 +00:00
Domas Mituzas
1092312499 * Add AlphabeticPager abstract class
* Use AlphabeticPager for Special:Categories
* Introduce 'first' message
2007-02-04 15:35:52 +00:00
Rob Church
ce733745aa Check for interface existence in wfLoadAllExtensions() too, otherwise if an extension comes with an interface [e.g. BookInformation], the require() can cause it to be double-initialised (the implementing classes will have been loaded, which will have caused PHP to autoload the interface definition) leading to a fatal error 2007-01-20 19:24:37 +00:00
Antoine Musso
52d2e48d27 Split out ParserOptions and ParserOutput classes in their own files.
Made using svn copy so the logs are kept.
2007-01-20 12:50:56 +00:00
Brion Vibber
d88bf87284 Apply most of the code tweaks from the live site:
* use configured cache servers for mctest.php
* bucket details in mcc.php
* fix input validation and remove debugging code in compressOld
* full ID range for moveToExternal
* fix resolveStubs.php for compatibility with older serialized data
* maximum line length for bar graphs in getLagTimes.php
* recognize specieswiki in rebuildInterwiki.inc
* --purge option to do additional parser-cache purging for purgeList.php
* default changed in MiniDonation extension
* profile unicode cleanup in Xml
* log slow parses in Article.php
* profile wfMsgReal
* log mkdir failures
* profile AutoLoader
* rebuild empty DjVu metadata containing ''
* security fix for DjVu metadata retrieval
2007-01-17 00:54:54 +00:00
Rob Church
c16298f2d2 * (bug 8621) Log revisions marked as patrolled
* Uses normal logging framework, but
** doesn't duplicate the log in recentchanges ;)
** uses a cleaner method to override LogPage::actionText() and do all the formatting
* Introduces PatrolLog::record()
2007-01-16 17:05:30 +00:00
Brion Vibber
ccf91e827a * Unmaintained Oracle support files have been removed. 2007-01-13 05:02:41 +00:00
Brion Vibber
8d4c6af284 revert r18517; should have been on branch 2006-12-23 09:03:36 +00:00
Paa Kwesi Imbeah
9574ae460f Minimal version of IC functionality. 2006-12-23 05:30:40 +00:00
Rob Church
58f17c71e1 * (bug 8164) Special:Booksources should use GET for form submission
* Rewrite Special:Booksources to clean up interface and remove redundant code
2006-12-16 19:20:44 +00:00
Brion Vibber
1c4daa9724 * Change behavior of logins using the temporary e-mailed password (as stored
in user_newpassword hash field). Instead of just logging in silently and
  leaving the previous user_password field in place indefinitely, the user
  is now prompted to set a new password.
  
  The password-changing form is at Special:Resetpass; currently it's only
  usable for changing from the temporary password during login, but it
  could perhaps be generalized, replacing the subform in preferences.
  
  Once the new password is set successfully, the temporary password is wiped
  so it cannot be used to login a second time, and the login process
  is completed.
* Suppress 'mail new password' button on login form if $wgAuth forbids
  changing user passwords; it wouldn't work very well...
* Consolidate password length checks and $wgAuth manipulation into
  User::setPassword() to avoid duplicate code in different places
  that set passwords.
* User::setPassword() now throws PasswordError exceptions if the password
  is illegal or cannot be set via $wgAuth. These can be caught and a human-
  readable error message displayed by UI code.
2006-12-12 04:15:00 +00:00
Ilmari Karonen
0f50b6db3a New special page Special:NewbieContributions to replace Special:Contributions/newbies
Also remove some obsolete contributions-related UI messages.
2006-12-03 01:59:57 +00:00
Ilmari Karonen
2df501fa0d Didn't really mean to delete SpecialContributions.php back there, but now that
it's gone, I might just as well roll out my new, completely rewritten version.
2006-12-03 00:05:45 +00:00
Brion Vibber
07de0fc7be Revert special:deletedcontribs for now; it's not ready to go live without the
index change so would hold up other work for a few days, and the code's kind
of ugly and should get refactored.
Would love to see this on a branch for the moment.
2006-11-28 04:31:35 +00:00
Ilmari Karonen
c1c00f2bd6 New special page Special:Deletedcontribs for browsing deleted edits made by a user.
NOTENOTENOTE: This is a one-night hack; feel free to tweak it mercilessly.  It has
a lot of common code with Special:Contributions that should be factored out.  There
is no link to this new page anywhere in the UI yet; I'd like people to test and
review this a bit before officially announcing it.  The page is currently only
available to users with deletedhistory privileges; a possible additional feature
might be to allow all users to list (but not view) their _own_ deleted edits.
2006-11-28 03:22:12 +00:00
Tim Starling
2f12a58d93 * Introduced StringUtils.php, populated it with some generic string functions, both new and collected from various other files.
* Removed some backtracking regexes with an O(N^2) worst case, replaced with StringUtils::delimiterReplace(). There is a beneficial functional difference: /*/ is no longer considered to be a complete CSS comment.
* Changed the parser strip state from an array to an object. This should hopefully avoid the PHP bugs with array references. StripState uses the new ReplacementArray to do the replacements, thereby supporting FSS. 
* Removed DatabaseFunctions.php from the default startup sequence. Moved wfGetDB() to GlobalFunctions.php.
* Introduced the SiteStats class, with a collection of cached site stats accessor functions.
* Removed all global functions from Parser.php, they don't belong there.
* Made LanguageConverter use the new ReplacementArray class instead of managing its own FSS objects.
2006-11-21 09:53:45 +00:00
Yuri Astrakhan
b900efa97f API * version param now links to the SVN
* debug case fixes 
* renamed ApiQueryContributions to ApiQueryUserContributions (a bit clearer)
2006-11-04 05:24:59 +00:00
Andrew Garrett
9f1eee86c1 Implement usercontribs module for API. 2006-11-01 12:06:29 +00:00
Yuri Astrakhan
3ec1b5b646 API * simple backlinks module (no redirect resolution yet)
* Cleaned up references
2006-10-25 03:54:56 +00:00
Yuri Astrakhan
eb02c1a87b API * cache expiration control
* Added PHP-serialized & WDDX formats
2006-10-22 23:45:20 +00:00
Yuri Astrakhan
10390af521 API * Added rudimentary RC list
* More readable query formulation
2006-10-20 07:10:18 +00:00
Yuri Astrakhan
d7a95b125c * API: logevents query module (incomplete) 2006-10-16 07:19:20 +00:00
Yuri Astrakhan
262435b9f8 * API: help screen now shows default and allowed parameter values
* API: added experimental watchlist rss/atom feed
* API: if available, json_encode() will be used
* API: opensearch parameter changed to "search=" (more descriptive)
* API: minor parameter cleanup, a wrapper for Feed class
2006-10-16 00:08:03 +00:00
Tim Starling
07940059be Dependency tracking layer for caching. 2006-10-14 10:27:41 +00:00
Yuri Astrakhan
b56d23ed46 * API: Restructured to allow internal usage. Error handling cleanup.
* API: Added opensearch module, added apprefix param for list=allpages
2006-10-14 07:18:08 +00:00
Tim Starling
d411e0b1e0 Renamed CacheManager to HTMLFileCache, to avoid confusion with the other sort of cache. 2006-10-11 08:25:26 +00:00
Brion Vibber
b871f030a2 Add missing AjaxResponse class 2006-10-05 21:15:03 +00:00
Tim Starling
3005679b0e * Removed lots of explicit require_once statements. The autoloader should theoretically be faster, because it always uses an absolute path, eliminating the need for a search, and it is never called unnecessarily. Absolute paths are also more robust in the face of odd configurations or usage patterns. Moved a few constants around to support this, they always have to be available before the method call.
* Deleted DatabaseMysql.php, no longer necessary, database classes are autoloaded. 
* Moved wfGetMimeMagic() to MimeMagic::singleton()
* Fixed a couple of __CLASS__.'::'.__FUNCTION__ things.
2006-10-03 13:00:52 +00:00
Tim Starling
c06507c4e2 CategoryPage bug fix 2006-08-25 07:33:55 +00:00