diff options
Diffstat (limited to 'phpBB/adm/style')
-rw-r--r-- | phpBB/adm/style/acp_ext_actions.html | 6 | ||||
-rw-r--r-- | phpBB/adm/style/acp_ext_delete_data.html | 40 | ||||
-rw-r--r-- | phpBB/adm/style/acp_ext_disable.html | 34 | ||||
-rw-r--r-- | phpBB/adm/style/acp_ext_enable.html | 40 | ||||
-rw-r--r-- | phpBB/adm/style/acp_ext_list.html | 19 | ||||
-rw-r--r-- | phpBB/adm/style/admin.js | 58 | ||||
-rw-r--r-- | phpBB/adm/style/ajax.js | 28 |
7 files changed, 97 insertions, 128 deletions
diff --git a/phpBB/adm/style/acp_ext_actions.html b/phpBB/adm/style/acp_ext_actions.html new file mode 100644 index 0000000000..b9c2febbe5 --- /dev/null +++ b/phpBB/adm/style/acp_ext_actions.html @@ -0,0 +1,6 @@ +{% for action in enabled.actions %} +<a href="{{ action.U_ACTION }}"{% if action.L_ACTION_EXPLAIN %} title="{{ action.L_ACTION_EXPLAIN }}"{% endif %}{% if action.COLOR %} style="color: {{ action.COLOR }};"{% endif %} data-ajax="{{ action.ACTION_AJAX }}">{{ action.L_ACTION }}</a>{% if not action.S_LAST_ROW %} | {% endif %} +{% endfor %} +{% for action in disabled.actions %} +<a href="{{ action.U_ACTION }}"{% if action.L_ACTION_EXPLAIN %} title="{{ action.L_ACTION_EXPLAIN }}"{% endif %}{% if action.COLOR %} style="color: {{ action.COLOR }};"{% endif %} data-ajax="{{ action.ACTION_AJAX }}">{{ action.L_ACTION }}</a>{% if not action.S_LAST_ROW %} | {% endif %} +{% endfor %}
\ No newline at end of file diff --git a/phpBB/adm/style/acp_ext_delete_data.html b/phpBB/adm/style/acp_ext_delete_data.html deleted file mode 100644 index 0f3adb7cfe..0000000000 --- a/phpBB/adm/style/acp_ext_delete_data.html +++ /dev/null @@ -1,40 +0,0 @@ -<!-- INCLUDE overall_header.html --> - - <a id="maincontent"></a> - - <h1>{L_EXTENSIONS_ADMIN}</h1> - - <p>{L_EXTENSIONS_EXPLAIN}</p> - <p>{L_EXTENSION_DELETE_DATA_EXPLAIN}</p> - - <!-- IF MIGRATOR_ERROR --> - <div class="errorbox"> - <p><strong>{L_MIGRATION_EXCEPTION_ERROR}</strong></p> - <p>{MIGRATOR_ERROR}</p> - <p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p> - </div> - <!-- ELSEIF PRE --> - <div class="errorbox"> - <p>{L_CONFIRM_MESSAGE}</p> - </div> - - <form id="acp_extensions" method="post" action="{U_PURGE}"> - <fieldset class="submit-buttons"> - <legend>{L_EXTENSION_DELETE_DATA}</legend> - <input class="button1" type="submit" name="delete_data" value="{L_EXTENSION_DELETE_DATA}" /> - <input class="button2" type="submit" name="cancel" value="{L_CANCEL}" /> - </fieldset> - </form> - <!-- ELSEIF S_NEXT_STEP --> - <div class="errorbox"> - <p>{L_EXTENSION_DELETE_DATA_IN_PROGRESS}</p> - </div> - <!-- ELSE --> - <div class="successbox"> - <p>{L_EXTENSION_DELETE_DATA_SUCCESS}</p> - <br /> - <p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p> - </div> - <!-- ENDIF --> - -<!-- INCLUDE overall_footer.html --> diff --git a/phpBB/adm/style/acp_ext_disable.html b/phpBB/adm/style/acp_ext_disable.html deleted file mode 100644 index d2b5c46fe8..0000000000 --- a/phpBB/adm/style/acp_ext_disable.html +++ /dev/null @@ -1,34 +0,0 @@ -<!-- INCLUDE overall_header.html --> - - <a id="maincontent"></a> - - <h1>{L_EXTENSIONS_ADMIN}</h1> - - <p>{L_EXTENSIONS_EXPLAIN}</p> - <p>{L_EXTENSION_DISABLE_EXPLAIN}</p> - - <!-- IF PRE --> - <fieldset> - <h2>{L_CONFIRM}</h2> - <p>{L_CONFIRM_MESSAGE}</p> - </fieldset> - - <form id="acp_extensions" method="post" action="{U_DISABLE}"> - <fieldset class="submit-buttons"> - <input class="button1" type="submit" name="disable" value="{L_EXTENSION_DISABLE}" /> - <input class="button2" type="submit" name="cancel" value="{L_CANCEL}" /> - </fieldset> - </form> - <!-- ELSEIF S_NEXT_STEP --> - <div class="successbox notice"> - <p>{L_EXTENSION_DISABLE_IN_PROGRESS}</p> - </div> - <!-- ELSE --> - <div class="successbox"> - <p>{L_EXTENSION_DISABLE_SUCCESS}</p> - <br /> - <p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</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 deleted file mode 100644 index 8a4a35359e..0000000000 --- a/phpBB/adm/style/acp_ext_enable.html +++ /dev/null @@ -1,40 +0,0 @@ -<!-- INCLUDE overall_header.html --> - - <a id="maincontent"></a> - - <h1>{L_EXTENSIONS_ADMIN}</h1> - - <p>{L_EXTENSIONS_EXPLAIN}</p> - <p>{L_EXTENSION_ENABLE_EXPLAIN}</p> - - <!-- IF MIGRATOR_ERROR --> - <div class="errorbox"> - <p><strong>{L_MIGRATION_EXCEPTION_ERROR}</strong></p> - <p>{MIGRATOR_ERROR}</p> - <p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p> - </div> - <!-- ELSEIF PRE --> - <fieldset> - <h2>{L_CONFIRM}</h2> - <p>{L_CONFIRM_MESSAGE}</p> - </fieldset> - - <form id="acp_extensions" method="post" action="{U_ENABLE}"> - <fieldset class="submit-buttons"> - <input class="button1" type="submit" name="enable" value="{L_EXTENSION_ENABLE}" /> - <input class="button2" type="submit" name="cancel" value="{L_CANCEL}" /> - </fieldset> - </form> - <!-- ELSEIF S_NEXT_STEP --> - <div class="successbox notice"> - <p>{L_EXTENSION_ENABLE_IN_PROGRESS}</p> - </div> - <!-- ELSE --> - <div class="successbox"> - <p>{L_EXTENSION_ENABLE_SUCCESS}</p> - <br /> - <p><a href="{U_RETURN}">{L_RETURN_TO_EXTENSION_LIST}</a></p> - </div> - <!-- ENDIF --> - -<!-- INCLUDE overall_footer.html --> diff --git a/phpBB/adm/style/acp_ext_list.html b/phpBB/adm/style/acp_ext_list.html index 8e2c7452a3..c3c3b3fb66 100644 --- a/phpBB/adm/style/acp_ext_list.html +++ b/phpBB/adm/style/acp_ext_list.html @@ -42,8 +42,8 @@ </tr> </thead> <tbody> - <!-- IF .enabled --> - <tr> + + <tr id="ext_enabled_header"<!-- IF not .enabled --> class="hidden"<!-- ENDIF -->> <td class="row3" colspan="4"><strong>{L_EXTENSIONS_ENABLED}</strong><!-- EVENT acp_ext_list_enabled_title_after --></td> </tr> <!-- BEGIN enabled --> @@ -59,17 +59,12 @@ </td> <td style="text-align: center;"><a href="{enabled.U_DETAILS}">{L_DETAILS}</a></td> <td style="text-align: center;"> - <!-- BEGIN actions --> - <a href="{enabled.actions.U_ACTION}"<!-- IF enabled.actions.L_ACTION_EXPLAIN --> title="{enabled.actions.L_ACTION_EXPLAIN}"<!-- ENDIF -->>{enabled.actions.L_ACTION}</a> - <!-- IF not enabled.actions.S_LAST_ROW --> | <!-- ENDIF --> - <!-- END actions --> + <!-- INCLUDE acp_ext_actions.html --> </td> </tr> <!-- END enabled --> - <!-- ENDIF --> - <!-- IF .disabled --> - <tr> + <tr id="ext_disabled_header"<!-- IF not .disabled --> class="hidden"<!-- ENDIF -->> <td class="row3" colspan="4"><strong>{L_EXTENSIONS_DISABLED}</strong><!-- EVENT acp_ext_list_disabled_title_after --></td> </tr> <!-- BEGIN disabled --> @@ -87,14 +82,10 @@ <!-- IF disabled.U_DETAILS --><a href="{disabled.U_DETAILS}">{L_DETAILS}</a><!-- ENDIF --> </td> <td style="text-align: center;"> - <!-- BEGIN actions --> - <a href="{disabled.actions.U_ACTION}"<!-- IF disabled.actions.L_ACTION_EXPLAIN --> title="{disabled.actions.L_ACTION_EXPLAIN}"<!-- ENDIF -->>{disabled.actions.L_ACTION}</a> - <!-- IF not disabled.actions.S_LAST_ROW --> | <!-- ENDIF --> - <!-- END actions --> + <!-- INCLUDE acp_ext_actions.html --> </td> </tr> <!-- END disabled --> - <!-- ENDIF --> </tbody> </table> diff --git a/phpBB/adm/style/admin.js b/phpBB/adm/style/admin.js index 551c78a4a3..b7c25b7c86 100644 --- a/phpBB/adm/style/admin.js +++ b/phpBB/adm/style/admin.js @@ -229,6 +229,64 @@ function parse_document(container) } /** + * Extension actions helper functions + */ +function move_to_enabled(element) +{ + var disabled_header = document.querySelector('#ext_disabled_header'); + disabled_header.parentNode.insertBefore(element, disabled_header); + element.classList.remove('ext_disabled'); + element.classList.add('ext_enabled'); +} +function move_to_disabled(element) +{ + var table_body = document.querySelector('#ext_disabled_header').parentNode; + table_body.appendChild(element); + element.classList.remove('ext_enabled'); + element.classList.add('ext_disabled'); +} +function set_actions(container, actions) { + container.innerHTML = ''; + for (var i = 0; i < actions.length; i++) { + var a = document.createElement('a'); + a.href = actions[i].U_ACTION.split('&').join('&'); // replace all occurances + a.title = actions[i].L_ACTION_EXPLAIN; + if (actions[i].COLOR) { + a.style = actions[i].COLOR; + } + a.innerHTML = actions[i].L_ACTION; + // ajaxify this action as well + phpbb.ajaxify({ + selector: a, + refresh: false, + callback: actions[i].ACTION_AJAX + }); + + container.appendChild(a); + + if (i < actions.length - 1) { + container.innerHTML += ' | '; + } + } +} +function show_enabled_header() { + document.querySelector('#ext_enabled_header').classList.remove('hidden'); +} +function show_disabled_header() { + document.querySelector('#ext_disabled_header').classList.remove('hidden'); +} +function hide_disabled_header_if_empty() { + if (!document.querySelector('.ext_disabled')) { + document.querySelector('#ext_disabled_header').classList.add('hidden'); + } +} +function hide_enabled_header_if_empty() { + if (!document.querySelector('.ext_enabled')) { + document.querySelector('#ext_enabled_header').classList.add('hidden'); + } +} + +/** * Run onload functions */ (function($) { diff --git a/phpBB/adm/style/ajax.js b/phpBB/adm/style/ajax.js index 895bb056e5..644e74bef7 100644 --- a/phpBB/adm/style/ajax.js +++ b/phpBB/adm/style/ajax.js @@ -158,6 +158,34 @@ phpbb.addAjaxCallback('row_delete', function(res) { }); /** + * Callbacks for extension actions + */ +phpbb.addAjaxCallback('ext_enable', function(res) { + if (res.EXT_ENABLE_SUCCESS) { + move_to_enabled(this.parentNode.parentNode); + set_actions(this.parentNode, res.ACTIONS); + show_enabled_header(); + hide_disabled_header_if_empty(); + } +}); +phpbb.addAjaxCallback('ext_delete_data', function(res) { + if (res.EXT_DELETE_DATA_SUCCESS) { + move_to_disabled(this.parentNode.parentNode); + set_actions(this.parentNode, res.ACTIONS); + show_disabled_header(); + hide_enabled_header_if_empty(); + } +}); +phpbb.addAjaxCallback('ext_disable', function(res) { + if (res.EXT_DISABLE_SUCCESS) { + move_to_disabled(this.parentNode.parentNode); + set_actions(this.parentNode, res.ACTIONS); + show_disabled_header(); + hide_enabled_header_if_empty(); + } +}); + +/** * Handler for submitting permissions form in chunks * This call will submit permissions forms in chunks of 5 fieldsets. */ |