|
11 | 11 | use MediaWiki\HTMLForm\HTMLForm;
|
12 | 12 | use MediaWiki\MediaWikiServices;
|
13 | 13 | use MediaWiki\SpecialPage\SpecialPage;
|
14 |
| -use Miraheze\CreateWiki\CreateWikiJson; |
15 |
| -use Miraheze\CreateWiki\CreateWikiPhp; |
16 | 14 | use Miraheze\CreateWiki\Hooks\CreateWikiHookRunner;
|
17 | 15 | use Miraheze\CreateWiki\RemoteWiki;
|
| 16 | +use Miraheze\CreateWiki\Services\CreateWikiDataFactory; |
18 | 17 | use Miraheze\ManageWiki\FormFactory\ManageWikiFormFactory;
|
19 | 18 | use Miraheze\ManageWiki\Helpers\ManageWikiPermissions;
|
20 | 19 | use Miraheze\ManageWiki\Hooks;
|
21 | 20 | use Miraheze\ManageWiki\ManageWiki;
|
22 | 21 |
|
23 | 22 | class SpecialManageWikiDefaultPermissions extends SpecialPage {
|
24 | 23 |
|
25 |
| - /** @var Config */ |
26 |
| - private $config; |
| 24 | + private Config $config; |
| 25 | + private CreateWikiDataFactory $dataFactory; |
| 26 | + private CreateWikiHookRunner $createWikiHookRunner; |
27 | 27 |
|
28 |
| - /** @var CreateWikiHookRunner */ |
29 |
| - private $createWikiHookRunner; |
30 |
| - |
31 |
| - public function __construct() { |
| 28 | + public function __construct( CreateWikiDataFactory $dataFactory ) { |
32 | 29 | parent::__construct( 'ManageWikiDefaultPermissions' );
|
33 | 30 |
|
34 | 31 | $this->config = MediaWikiServices::getInstance()->getConfigFactory()->makeConfig( 'managewiki' );
|
35 | 32 | $this->createWikiHookRunner = MediaWikiServices::getInstance()->get( 'CreateWikiHookRunner' );
|
| 33 | + $this->dataFactory = $dataFactory; |
36 | 34 | }
|
37 | 35 |
|
38 | 36 | public function canModify() {
|
@@ -224,19 +222,8 @@ public function onSubmitSettingsResetForm( $formData ) {
|
224 | 222 | );
|
225 | 223 |
|
226 | 224 | // Reset the cache or else the changes won't work
|
227 |
| - if ( $this->config->get( 'CreateWikiUsePhpCache' ) ) { |
228 |
| - $cWP = new CreateWikiPhp( |
229 |
| - $this->config->get( 'DBname' ), |
230 |
| - $this->createWikiHookRunner |
231 |
| - ); |
232 |
| - $cWP->resetWiki(); |
233 |
| - } else { |
234 |
| - $cWJ = new CreateWikiJson( |
235 |
| - $this->config->get( 'DBname' ), |
236 |
| - $this->createWikiHookRunner |
237 |
| - ); |
238 |
| - $cWJ->resetWiki(); |
239 |
| - } |
| 225 | + $data = $this->dataFactory->newInstance( $this->config->get( 'DBname' ) ); |
| 226 | + $data->resetWikiData( isNewChanges: true ); |
240 | 227 |
|
241 | 228 | $logEntry = new ManualLogEntry( 'managewiki', 'settings-reset' );
|
242 | 229 | $logEntry->setPerformer( $this->getContext()->getUser() );
|
|
0 commit comments