mirror of
https://github.com/Oreolek/ifhub.club.git
synced 2024-06-26 03:30:48 +03:00
Рефакторинг управления плагинами
This commit is contained in:
parent
a0b83b9534
commit
2c1658123e
|
@ -83,17 +83,6 @@ class ActionAdmin extends Action {
|
|||
*/
|
||||
protected function EventPlugins() {
|
||||
$this->sMenuHeadItemSelect='plugins';
|
||||
/**
|
||||
* Обработка удаления плагинов
|
||||
*/
|
||||
if (isPost('submit_plugins_del')) {
|
||||
$this->Security_ValidateSendForm();
|
||||
|
||||
$aPluginsDelete=getRequest('plugin_del');
|
||||
if (is_array($aPluginsDelete)) {
|
||||
$this->Plugin_Delete(array_keys($aPluginsDelete));
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Получаем название плагина и действие
|
||||
*/
|
||||
|
@ -103,7 +92,7 @@ class ActionAdmin extends Action {
|
|||
/**
|
||||
* Получаем список блогов
|
||||
*/
|
||||
$aPlugins=$this->Plugin_GetList(array('order'=>'name'));
|
||||
$aPlugins=$this->PluginManager_GetPluginsItems(array('order'=>'name'));
|
||||
/**
|
||||
* Загружаем переменные в шаблон
|
||||
*/
|
||||
|
@ -122,14 +111,22 @@ class ActionAdmin extends Action {
|
|||
*/
|
||||
protected function SubmitManagePlugin($sPlugin,$sAction) {
|
||||
$this->Security_ValidateSendForm();
|
||||
if(!in_array($sAction,array('activate','deactivate'))) {
|
||||
if(!in_array($sAction,array('activate','deactivate','remove'))) {
|
||||
$this->Message_AddError($this->Lang_Get('admin.plugins.notices.unknown_action'),$this->Lang_Get('error'),true);
|
||||
Router::Location(Router::GetPath('plugins'));
|
||||
Router::Location(Router::GetPath('admin/plugins'));
|
||||
}
|
||||
$bResult=false;
|
||||
/**
|
||||
* Активируем\деактивируем плагин
|
||||
*/
|
||||
if($bResult=$this->Plugin_Toggle($sPlugin,$sAction)) {
|
||||
if ($sAction=='activate') {
|
||||
$bResult=$this->PluginManager_ActivatePlugin($sPlugin);
|
||||
} elseif ($sAction=='deactivate') {
|
||||
$bResult=$this->PluginManager_DeactivatePlugin($sPlugin);
|
||||
} elseif ($sAction=='remove') {
|
||||
$bResult=$this->PluginManager_RemovePlugin($sPlugin);
|
||||
}
|
||||
if($bResult) {
|
||||
$this->Message_AddNotice($this->Lang_Get('admin.plugins.notices.action_ok'),$this->Lang_Get('attention'),true);
|
||||
} else {
|
||||
if(!($aMessages=$this->Message_GetErrorSession()) or !count($aMessages)) $this->Message_AddErrorSingle($this->Lang_Get('system_error'),$this->Lang_Get('error'),true);
|
||||
|
|
|
@ -1614,7 +1614,7 @@ return array(
|
|||
'plugin_activate' => 'Активировать',
|
||||
'plugin_deactivate' => 'Деактивировать',
|
||||
'plugin_settings' => 'Настройки',
|
||||
'submit_delete' => '___common.remove___',
|
||||
'plugin_delete' => '___common.remove___',
|
||||
|
||||
// Сообщения
|
||||
'notices' => array(
|
||||
|
@ -1626,6 +1626,8 @@ return array(
|
|||
'activation_file_write_error' => 'Файл плагина не доступен для записи',
|
||||
'activation_version_error' => 'Для работы плагина необходимо ядро LiveStreet версии не ниже %%version%%',
|
||||
'activation_requires_error' => 'Для работы плагина необходим активированный плагин <b>%%plugin%%</b>',
|
||||
'activation_already_error' => 'Плагин уже активирован',
|
||||
'deactivation_already_error' => 'Плагин не активирован',
|
||||
'deactivation_requires_error' => 'От плагина зависит другой плагин, сначала отключите его - <b>%%plugin%%</b>',
|
||||
)
|
||||
),
|
||||
|
|
|
@ -11,11 +11,9 @@
|
|||
{/block}
|
||||
|
||||
{block 'layout_content'}
|
||||
<form action="{router page='admin'}plugins/" method="post" id="form_plugins_list">
|
||||
<table class="table table-plugins">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="cell-checkbox"><input type="checkbox" name="" onclick="ls.tools.checkAll('form_plugins_checkbox', this, true);" /></th>
|
||||
<th>{$aLang.admin.plugins.plugin_name}</th>
|
||||
<th>{$aLang.admin.plugins.plugin_version}</th>
|
||||
<th>{$aLang.admin.plugins.plugin_author}</th>
|
||||
|
@ -27,7 +25,6 @@
|
|||
<tbody>
|
||||
{foreach $aPlugins as $aPlugin}
|
||||
<tr {if $aPlugin.is_active}class="active"{/if}>
|
||||
<td class="cell-checkbox"><input type="checkbox" name="plugin_del[{$aPlugin.code}]" class="form_plugins_checkbox" /></td>
|
||||
<td>
|
||||
<h3>{$aPlugin.property->name->data}</h3>
|
||||
{$aPlugin.property->description->data}
|
||||
|
@ -52,17 +49,10 @@
|
|||
{else}
|
||||
<a href="{router page='admin'}plugins/?plugin={$aPlugin.code}&action=activate&security_ls_key={$LIVESTREET_SECURITY_KEY}" class="button button-primary">{$aLang.admin.plugins.plugin_activate}</a>
|
||||
{/if}
|
||||
<a href="{router page='admin'}plugins/?plugin={$aPlugin.code}&action=remove&security_ls_key={$LIVESTREET_SECURITY_KEY}" class="button" onclick="return confirm('{$aLang.common.remove_confirm}');">{lang name='admin.plugins.plugin_delete'}</a>
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<input type="hidden" name="security_ls_key" value="{$LIVESTREET_SECURITY_KEY}" />
|
||||
<input type="submit"
|
||||
name="submit_plugins_del"
|
||||
value="{lang name='admin.plugins.submit_delete'}"
|
||||
class="button"
|
||||
onclick="return (jQuery('.form_plugins_checkbox:checked').length==0)?false:confirm('{$aLang.common.remove_confirm}');" />
|
||||
</form>
|
||||
{/block}
|
|
@ -29,7 +29,7 @@ abstract class AbstractFixtures
|
|||
{
|
||||
$this->oEngine = $oEngine;
|
||||
$this->aReferences = $aReferences;
|
||||
$this->aActivePlugins = $oEngine->Plugin_GetActivePlugins();
|
||||
$this->aActivePlugins = $oEngine->PluginManager_GetPluginsActive();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -210,7 +210,7 @@ class BaseFeatureContext extends BehatContext
|
|||
*/
|
||||
public function CheckIsPluginActive($sPluginName)
|
||||
{
|
||||
$activePlugins = $this->getEngine()->Plugin_GetActivePlugins();
|
||||
$activePlugins = $this->getEngine()->PluginManager_GetPluginsActive();
|
||||
|
||||
if (!in_array($sPluginName, $activePlugins)) {
|
||||
throw new ExpectationException( sprintf('Plugin %s is not active', $sPluginName), $this->getMinkContext()->getSession());
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 856759497a9157a738801ebc9643418147d0bb81
|
||||
Subproject commit a013a770e97037621e99bbb5d8bbfaef49d963bc
|
Loading…
Reference in a new issue