aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Guse <nathaniel.guse@gmail.com>2012-07-22 22:54:27 -0500
committerUnknown Bliss <m@michaelcullum.com>2012-09-01 15:05:18 +0100
commit28ca2d6a5fe8f8f1d8733af70951fa1191336eb6 (patch)
treee792bdd55a7ba8c3231786f4812a0a8e1f8dda91
parentbf6e91b5f3f6d56c1a38cbff0ccf206f13202e50 (diff)
downloadforums-28ca2d6a5fe8f8f1d8733af70951fa1191336eb6.tar
forums-28ca2d6a5fe8f8f1d8733af70951fa1191336eb6.tar.gz
forums-28ca2d6a5fe8f8f1d8733af70951fa1191336eb6.tar.bz2
forums-28ca2d6a5fe8f8f1d8733af70951fa1191336eb6.tar.xz
forums-28ca2d6a5fe8f8f1d8733af70951fa1191336eb6.zip
[ticket/10631] Stagger the enable/disable/purge for extensions
PHPBB3-10631
-rw-r--r--phpBB/adm/style/acp_ext_disable.html58
-rw-r--r--phpBB/adm/style/acp_ext_enable.html58
-rw-r--r--phpBB/adm/style/acp_ext_purge.html58
-rw-r--r--phpBB/includes/acp/acp_extensions.php21
-rw-r--r--phpBB/language/en/acp/extensions.php11
5 files changed, 118 insertions, 88 deletions
diff --git a/phpBB/adm/style/acp_ext_disable.html b/phpBB/adm/style/acp_ext_disable.html
index c7de43a611..e47ba2d8b9 100644
--- a/phpBB/adm/style/acp_ext_disable.html
+++ b/phpBB/adm/style/acp_ext_disable.html
@@ -1,27 +1,31 @@
-<!-- INCLUDE overall_header.html -->
-
- <a name="maincontent"></a>
-
- <h1>{L_EXTENSIONS_ADMIN}</h1>
-
- <p>{L_EXTENSIONS_EXPLAIN}</p>
- <p>{L_ENABLE_EXPLAIN}</p>
-
- <!-- IF PRE -->
- <p>{L_DISABLE_CONFIRM}</p>
-
- <form id="acp_extensions" method="post" action="{U_DISABLE}">
- <fieldset class="submit-buttons">
- <legend>{L_DISABLE}</legend>
- <input class="button1" type="submit" name="{L_DISABLE}" value="{L_DISABLE}" />
- </fieldset>
- </form>
- <!-- ELSE IF -->
- <div class="successbox">
- <p>{L_DISABLE_SUCCESS}</p>
- <br />
- <p><a href="{U_RETURN}">{L_RETURN}</a></p>
- </div>
- <!-- ENDIF -->
-
-<!-- INCLUDE overall_footer.html -->
+<!-- INCLUDE overall_header.html -->
+
+ <a name="maincontent"></a>
+
+ <h1>{L_EXTENSIONS_ADMIN}</h1>
+
+ <p>{L_EXTENSIONS_EXPLAIN}</p>
+ <p>{L_ENABLE_EXPLAIN}</p>
+
+ <!-- IF PRE -->
+ <p>{L_DISABLE_CONFIRM}</p>
+
+ <form id="acp_extensions" method="post" action="{U_DISABLE}">
+ <fieldset class="submit-buttons">
+ <legend>{L_DISABLE}</legend>
+ <input class="button1" type="submit" name="{L_DISABLE}" value="{L_DISABLE}" />
+ </fieldset>
+ </form>
+ <!-- ELSEIF S_NEXT_STEP -->
+ <div class="errorbox">
+ <p>{L_DISABLE_IN_PROGRESS}</p>
+ </div>
+ <!-- ELSE -->
+ <div class="successbox">
+ <p>{L_DISABLE_SUCCESS}</p>
+ <br />
+ <p><a href="{U_RETURN}">{L_RETURN}</a></p>
+ </div>
+ <!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_ext_enable.html b/phpBB/adm/style/acp_ext_enable.html
index dd892d3477..4b0f8bfdd7 100644
--- a/phpBB/adm/style/acp_ext_enable.html
+++ b/phpBB/adm/style/acp_ext_enable.html
@@ -1,27 +1,31 @@
-<!-- INCLUDE overall_header.html -->
-
- <a name="maincontent"></a>
-
- <h1>{L_EXTENSIONS_ADMIN}</h1>
-
- <p>{L_EXTENSIONS_EXPLAIN}</p>
- <p>{L_ENABLE_EXPLAIN}</p>
-
- <!-- IF PRE -->
- <p>{L_ENABLE_CONFIRM}</p>
-
- <form id="acp_extensions" method="post" action="{U_ENABLE}">
- <fieldset class="submit-buttons">
- <legend>{L_ENABLE}</legend>
- <input class="button1" type="submit" name="{L_ENABLE}" value="{L_ENABLE}" />
- </fieldset>
- </form>
- <!-- ELSE IF -->
- <div class="successbox">
- <p>{L_ENABLE_SUCCESS}</p>
- <br />
- <p><a href="{U_RETURN}">{L_RETURN}</a></p>
- </div>
- <!-- ENDIF -->
-
-<!-- INCLUDE overall_footer.html -->
+<!-- INCLUDE overall_header.html -->
+
+ <a name="maincontent"></a>
+
+ <h1>{L_EXTENSIONS_ADMIN}</h1>
+
+ <p>{L_EXTENSIONS_EXPLAIN}</p>
+ <p>{L_ENABLE_EXPLAIN}</p>
+
+ <!-- IF PRE -->
+ <p>{L_ENABLE_CONFIRM}</p>
+
+ <form id="acp_extensions" method="post" action="{U_ENABLE}">
+ <fieldset class="submit-buttons">
+ <legend>{L_ENABLE}</legend>
+ <input class="button1" type="submit" name="{L_ENABLE}" value="{L_ENABLE}" />
+ </fieldset>
+ </form>
+ <!-- ELSEIF S_NEXT_STEP -->
+ <div class="errorbox">
+ <p>{L_ENABLE_IN_PROGRESS}</p>
+ </div>
+ <!-- ELSE -->
+ <div class="successbox">
+ <p>{L_ENABLE_SUCCESS}</p>
+ <br />
+ <p><a href="{U_RETURN}">{L_RETURN}</a></p>
+ </div>
+ <!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/adm/style/acp_ext_purge.html b/phpBB/adm/style/acp_ext_purge.html
index 55a648a3e3..7255057d04 100644
--- a/phpBB/adm/style/acp_ext_purge.html
+++ b/phpBB/adm/style/acp_ext_purge.html
@@ -1,27 +1,31 @@
-<!-- INCLUDE overall_header.html -->
-
- <a name="maincontent"></a>
-
- <h1>{L_EXTENSIONS_ADMIN}</h1>
-
- <p>{L_EXTENSIONS_EXPLAIN}</p>
- <p>{L_ENABLE_EXPLAIN}</p>
-
- <!-- IF PRE -->
- <p>{L_PURGE_CONFIRM}</p>
-
- <form id="acp_extensions" method="post" action="{U_PURGE}">
- <fieldset class="submit-buttons">
- <legend>{L_PURGE}</legend>
- <input class="button1" type="submit" name="{L_PURGE}" value="{L_PURGE}" />
- </fieldset>
- </form>
- <!-- ELSE IF -->
- <div class="successbox">
- <p>{L_PURGE_SUCCESS}</p>
- <br />
- <p><a href="{U_RETURN}">{L_RETURN}</a></p>
- </div>
- <!-- ENDIF -->
-
-<!-- INCLUDE overall_footer.html -->
+<!-- INCLUDE overall_header.html -->
+
+ <a name="maincontent"></a>
+
+ <h1>{L_EXTENSIONS_ADMIN}</h1>
+
+ <p>{L_EXTENSIONS_EXPLAIN}</p>
+ <p>{L_ENABLE_EXPLAIN}</p>
+
+ <!-- IF PRE -->
+ <p>{L_PURGE_CONFIRM}</p>
+
+ <form id="acp_extensions" method="post" action="{U_PURGE}">
+ <fieldset class="submit-buttons">
+ <legend>{L_PURGE}</legend>
+ <input class="button1" type="submit" name="{L_PURGE}" value="{L_PURGE}" />
+ </fieldset>
+ </form>
+ <!-- ELSEIF S_NEXT_STEP -->
+ <div class="errorbox">
+ <p>{L_PURGE_IN_PROGRESS}</p>
+ </div>
+ <!-- ELSE -->
+ <div class="successbox">
+ <p>{L_PURGE_SUCCESS}</p>
+ <br />
+ <p><a href="{U_RETURN}">{L_RETURN}</a></p>
+ </div>
+ <!-- ENDIF -->
+
+<!-- INCLUDE overall_footer.html -->
diff --git a/phpBB/includes/acp/acp_extensions.php b/phpBB/includes/acp/acp_extensions.php
index b65be0c641..8cb6685d9f 100644
--- a/phpBB/includes/acp/acp_extensions.php
+++ b/phpBB/includes/acp/acp_extensions.php
@@ -56,7 +56,12 @@ class acp_extensions
break;
case 'enable':
- $phpbb_extension_manager->enable($ext_name);
+ if ($phpbb_extension_manager->enable_step($ext_name))
+ {
+ $template->assign_var('S_NEXT_STEP', true);
+
+ meta_refresh(0, $this->u_action . '&amp;action=enable&amp;ext_name=' . $ext_name);
+ }
$this->tpl_name = 'acp_ext_enable';
@@ -75,7 +80,12 @@ class acp_extensions
break;
case 'disable':
- $phpbb_extension_manager->disable($ext_name);
+ if ($phpbb_extension_manager->disable_step($ext_name))
+ {
+ $template->assign_var('S_NEXT_STEP', true);
+
+ meta_refresh(0, $this->u_action . '&amp;action=disable&amp;ext_name=' . $ext_name);
+ }
$this->tpl_name = 'acp_ext_disable';
@@ -94,7 +104,12 @@ class acp_extensions
break;
case 'purge':
- $phpbb_extension_manager->purge($ext_name);
+ if ($phpbb_extension_manager->purge_step($ext_name))
+ {
+ $template->assign_var('S_NEXT_STEP', true);
+
+ meta_refresh(0, $this->u_action . '&amp;action=purge&amp;ext_name=' . $ext_name);
+ }
$this->tpl_name = 'acp_ext_purge';
diff --git a/phpBB/language/en/acp/extensions.php b/phpBB/language/en/acp/extensions.php
index 950f3b5332..66f3665757 100644
--- a/phpBB/language/en/acp/extensions.php
+++ b/phpBB/language/en/acp/extensions.php
@@ -60,10 +60,13 @@ $lang = array_merge($lang, array(
'PURGE_EXPLAIN' => 'Purging an extension clears an extensions data while retaining its files.',
'DELETE_EXPLAIN' => 'Deleting an extension removes all of its files and settings. Log entries will remain, although any language variables added by the extension will not be available.',
- 'ENABLE_SUCESS' => 'The extension was enabled successfully',
- 'DISABLE_SUCESS' => 'The extension was disabled successfully',
- 'PURGE_SUCESS' => 'The extension was purged successfully',
- 'DELETE_SUCESS' => 'The extension was deleted successfully',
+ 'DISABLE_IN_PROGRESS' => 'The extension is currently being disabled, please do not leave this page or refresh until it is completed.',
+ 'ENABLE_IN_PROGRESS' => 'The extension is currently being installed, please do not leave this page or refresh until it is completed.',
+ 'PURGE_IN_PROGRESS' => 'The extension is currently being purged, please do not leave this page or refresh until it is completed.',
+ 'ENABLE_SUCCESS' => 'The extension was enabled successfully',
+ 'DISABLE_SUCCESS' => 'The extension was disabled successfully',
+ 'PURGE_SUCCESS' => 'The extension was purged successfully',
+ 'DELETE_SUCCESS' => 'The extension was deleted successfully',
'ENABLE_FAIL' => 'The extension could not be enabled',
'DISABLE_FAIL' => 'The extension could not be disabled',