aboutsummaryrefslogtreecommitdiffstats
path: root/maintenance/deleteSelfExternals.php
Commit message (Collapse)AuthorAgeFilesLines
* add `use MediaWiki\Maintenance\Maintenance` to some maintenance classesNovem Linguae2024-11-121-0/+1
| | | | | | | A–F. Still need to do F–Z. Bug: T353458 Change-Id: Ieb4bad0658b9cddc9403c6a55ef3bd1245aa08ae
* Fix broken deleteSelfExternals.php and test itDreamy Jazz2024-09-111-13/+30
| | | | | | | | | | | | | | | | | | | Why: * The deleteSelfExternals.php maintenance script is broken on my local wiki as the SQL generated by the script errors out when run on MariaDB. * This script should be fixed, updated to use the query builders, and tested to ensure that any future breakages do not go unnoticed. What: * Fix the deleteSelfExternals.php script to use a DELETE query that works, by generating it using the query builder. * Create DeleteSelfExternalsTest to test that the script now works. Bug: T371167 Change-Id: Id423fa5c1bfe666f57a38e733334342ac1ad2cea
* Exclude boilerplate maintenance code from code coverage reportsDreamy Jazz2024-08-271-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | Why: * Maintenance scripts in core have bolierplate code that is added before and after the class to allow directly running the maintenance script. * Running the maintenance script directly has been deprecated since 1.40, so this boilerplate code is only to support a now deprecated method of running maintenance scripts. * This code cannot also be marked as covered, due to PHPUnit not recognising code coverage for files. * Therefore, it is best to ignore this boilerplate code in code coverage reports as it cannot be marked as covered and also is for deprecated code. What: * Wrap the boilerplate code (requiring Maintenance.php and then later defining the maintenance script class and running if the maintenance script was called directly) with @codeCoverageIgnore comments. * Some files use a different boilerplate code, however, these should also be marked as ignored for coverage for the same reason that coverage is not properly reported for files. Bug: T371167 Change-Id: I32f5c6362dfb354149a48ce9c28da9a7fc494f7c
* maintenance: Use getServiceContainer() when in instances of MaintenanceJames D. Forrester2024-02-131-2/+1
| | | | Change-Id: I00caa744deb805f4156eebee92068025f2aea2a4
* maintenance: Introduce getReplicaDB() and getPrimaryDB()Amir Sarabadani2024-01-181-1/+1
| | | | | | | | | | | | And start using them instead of wfGetDB(), LB/LBF connection methods or worse, $this->getDB(). $this->getDB() reuses the database object regardless of whether you're calling a replica or primary, leading to returning a replica on a primary and other way around. Bug: T330641 Change-Id: I9e2cf85ca277022284fc26b9f37db57bd12aaa81
* Replace deprecated wfParseUrl with UrlUtils::parseDogu2024-01-071-1/+2
| | | | | | | | | | | The wfParseUrl function is deprecated as of MediaWiki 1.39 and has been replaced with the UrlUtils::parse method provided by the UrlUtils class. List of affected classes: - deleteSelfExternals - UserMailer Change-Id: I5e36ee80e5c30e95b79bf45e7b26860cb2668d56
* Reorg: Move LinkFilter to ExternalLinksAmir Sarabadani2023-03-011-0/+1
| | | | | | | | | | | | It's one-class namespace and I know it's not great but: - I hope to add more classes with the redesign of externallinks table - It's not named very well either, it's a collection of URL-related functionalities - Making it clear LinkFilter is about external links, not internal or interwiki or templatelinks etc. Bug: T321882 Change-Id: I0dd530237f45e4fec786178ec03ee941c6bcd982
* Maintenance scripts: replace most globals with ConfigFerran Tufan2022-07-121-4/+5
| | | | | Bug: T72673 Change-Id: Idc46e88756b1aa20f5dccbe7ab3e661b2b102964
* maintenance: Cleanup use of exit in Maintenance::execute implementationUmherirrender2021-08-301-2/+1
| | | | | | | | Returning void from execute() is success. Returning true is success, false is failure with exit(1) Using fatalError also using exit(1) Change-Id: I1d40430ad6226e4aab8f0810b03ee1213282d123
* Replace uses of DB_MASTER with DB_PRIMARYJames D. Forrester2021-04-291-1/+1
| | | | | | Just an auto-replace from codesniffer for now. Change-Id: I5240dc9ac5929d291b0ef1c743ea2bfd3f428266
* Pass function name to database functions (maintenance scripts)Umherirrender2020-06-071-1/+1
| | | | | | Useful for logging Change-Id: I79fe037abcd74f56c935abc118d706bef0198124
* Use new externallinks.el_index_60 fieldBrad Jorsch2018-11-121-8/+35
| | | | | | | | | | | | | | | | | | | | | This adds a method to LinkFilter to build the query conditions necessary to properly use it, and adjusts code to use it. This also takes the opportunity to clean up the calculation of el_index: IPs are handled more sensibly and IDNs are canonicalized. Also weird edge cases for invalid hosts like "http://.example.com" and corresponding searches like "http://*..example.com" are now handled more regularly instead of being treated as if the extra dot were omitted, while explicit specification of the DNS root like "http://example.com./" is canonicalized to the usual implicit specification. Note that this patch will break link searches for links where the host is an IP or IDN until refreshExternallinksIndex.php is run. Bug: T59176 Bug: T130482 Change-Id: I84d224ef23de22dfe179009ec3a11fd0e4b5f56d
* Remove wfWaitForSlaves when using Maintenance::commitTransactionUmherirrender2018-02-261-1/+0
| | | | | | | Maintenance::commitTransaction is calling waitForReplication already. No need to wait a second time, hopefully the lags are 0 already. Change-Id: Id457ed2cdd6bfd9663665ba0cd5c4e3dd640b738
* Use ::class to resolve class names in maintenance scriptsUmherirrender2018-01-231-1/+1
| | | | | | | This helps to find renamed or misspelled classes earlier. Phan will check the class names Change-Id: I1d4567f47f93eb1436cb98558388e48d35258666
* Introduce Maintenance::getBatchSize()Max Semenik2017-11-051-1/+1
| | | | | | Just to isolate the internals. Fix most of usages in the core. Change-Id: I8b3e9ca1f42b7c49ee57f17b88ca2fc7b404f342
* Use Maintenance::setBatchSize() everywhereMax Semenik2017-11-041-1/+1
| | | | Change-Id: Id48b95c547ddd8ea02fb1c577203f17056f38402
* Use addDescription() instead of accessing mDescription directlyMax Semenik2016-01-301-1/+1
| | | | Change-Id: I0e2aa83024b8abf5298cfea4b21bf45722ad3103
* Update wfGetDB calls in Maintenance scripts to use getDB()Reedy2016-01-021-1/+1
| | | | Change-Id: I9ad6745d84506b736dae94747256caac89715899
* Clean up transactions in maintenance scriptsAaron Schulz2015-12-301-1/+1
| | | | | | | | | | | | | | | Add transaction methods to complement getDB(). This makes it easy to grep for direct begin()/commit() calls to IDatabase by having script use their own wrapper. Maintenance scripts are one of the few places that can (and need to) use begin/commit instead of the start/end atomic methods. Eventually, there should be almost no direct callers and those methods can be made stricter about throwing errors on nested calls. Change-Id: Ibbfc7a77c0d2a55f7fc2261087f6c3a19061e0aa
* phpcs: More require/include is not a functionTimo Tijhof2013-05-211-1/+1
| | | | | | | | | | | | | Follows-up I1343872de7, Ia533aedf63 and I2df2f80b81. Also updated usage in text in documentation and the installer LocalSettingsGenerator. Most of them were handled by this regex: - find: (require|include|require_once|include_once)\s*\(\s*(.+?)\s*\)\s*;$ - replace: $1 $2; Change-Id: I6b38aad9a5149c9c43ce18bd8edbab14b8ce43fa
* phpcs: Fix WhiteSpace.LanguageConstructSpacing warningsTimo Tijhof2013-05-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Squiz.WhiteSpace.LanguageConstructSpacing: Language constructs must be followed by a single space; expected "require_once expression" but found "require_once(expression)" It is a keyword (e.g. like `new`, `return` and `print`). As such the parentheses don't make sense. Per our code conventions, we use a space after keywords like these. We appeared to have an unwritten exception for `require` that doesn't make sense. About 60% of require/include usage was missing the space and/or had superfluous parentheses. It is as silly as print("foo") or return("foo"), it works because keywords have no significance for whitespace between it and the expression that follows, and since experessions can be wrapped in parentheses for clarity (e.g. when doing string concatenation or mathematical operations) the parenthesis before and after basiclaly just ignored. Change-Id: I2df2f80b8123714bea7e0771bf94b51ad5bb4b87
* Fixed some spacing in maintenance folderumherirrender2013-04-181-1/+3
| | | | | | | Added spaces before if, foreach Added some braces for one line statements Change-Id: I9657f72996358f8c1c154cea1ea97970d973723c
* Use __DIR__ instead of dirname( __FILE__ )jeroendedauw2012-08-271-1/+1
| | | | | | We can now do this since we finally switched to PHP 5.3 for MW 1.20 and get rid of the silly dirname(__FILE__) stuff :) Change-Id: Id9b2c9cd2e678197aa81c78adced5d1d31ff57b1
* Improve documentation of maintenance scripts.Alexandre Emsenhuber2012-07-081-6/+8
| | | | Change-Id: I2433d23544e808e16f28805f93183b1af2409c94
* Pass __METHOD__ to DatabaseBase::commit() and DatabaseBase::rollback()Alexandre Emsenhuber2012-02-281-1/+1
| | | | Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/112625
* Merge r86398 into the old wfWaitForSlaves. Update core calls.Platonides2011-04-201-1/+1
| | | | | | | | | | maintenance/waitForSlave.php still calls the old prototype. Most instances were replaced with sed -i 's/wfWaitForSlaves( [0-9]* );/wfWaitForSlaves();/' ./maintenance/initEditCount.php ./maintenance/updateRestrictions.php ./maintenance/updateSpecialPages.php ./maintenance/importDump.php ./maintenance/moveBatch.php ./maintenance/storage/resolveStubs.php ./maintenance/storage/trackBlobs.php ./maintenance/storage/fixBug20757.php ./maintenance/storage/moveToExternal.php ./maintenance/storage/compressOld.inc ./maintenance/populateSha1.php ./maintenance/deleteDefaultMessages.php ./maintenance/migrateUserGroup.php ./maintenance/importImages.php ./maintenance/runJobs.php ./maintenance/archives/upgradeLogging.php ./maintenance/deleteBatch.php ./maintenance/populateLogSearch.php ./maintenance/populateLogUsertext.php ./maintenance/gearman/gearmanWorker.php ./maintenance/populateRevisionLength.php ./maintenance/refreshLinks.php ./maintenance/deleteSelfExternals.php ./maintenance/upgrade1_5.php ./maintenance/rebuildFileCache.php ./includes/job/RefreshLinksJob.php ./includes/installer/MysqlUpdater.php ./maintenance/convertUserOptions.php ./maintenance/populateParentId.php ./maintenance/runBatchedQuery.php ./maintenance/upgrade1_5.php ./maintenance/waitForSlave.php ./maintenance/populateCategory.php ./maintenance/importImages.php Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/86447
* Fix concern raised by Brion in r74108 (but has really existed since the ↵Chad Horohoe2011-01-131-1/+1
| | | | | | | | | | | maintenance rewrite). Right now, including a maintenance script causes it to execute. This is bad when you want to reuse the particular class but not have it start executing all by itself. Until now, we relied on setting MW_NO_SETUP which was a) hacky, b) irreversable, and c) likely to be forgotten if you didn't use one of the wrappers like runChild(). Instead, move the freaky magic to doMaintenance and have *it* check if it's in a specific call stack that indicates this is being run from the file scope and should be executed. Rename DO_MAINTENANCE to RUN_MAINTENANCE_IF_MAIN so it's nice and clear what magic happens behind the require_once(). Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/80205
* Whitespace fixup under tha maint directory.Mark A. Hershberger2010-12-041-2/+2
| | | | Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/77711
* exit -> returnAlexandre Emsenhuber2010-10-101-1/+1
| | | | Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/74577
* Use full path to Maintenance.phpAlexandre Emsenhuber2010-10-101-1/+1
| | | | Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/74575
* Stylize maintenance folder..Sam Reed2010-05-221-5/+5
| | | | Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/66751
* Change deleteSelfExternals to use Maintenance.phpChad Horohoe2009-12-041-12/+51
| | | | Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/59732
* (bug 20275) Fixed LIKE queries on SQLite backendMax Semenik2009-10-211-2/+2
| | | | | | | | * All manually built LIKE queries in the core are replaced with a wrapper function Database::buildLike() * This function automatically performs all escaping, so Database::escapeLike() is now almost never used Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/57989
* cleanup r56216 deleteSelfExternals a little - fix short PHP tag, use ↵Brion Vibber2009-09-121-4/+3
| | | | | | | escaping for good measure (though in most cases we'll be clean) Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/56218
* Merge deleteSelfExternals.php handy pruning script from wmf-deployment r53856Brion Vibber2009-09-121-0/+16
Notes: http://mediawiki.org/wiki/Special:Code/MediaWiki/56216