Вход Регистрация
Файл: adm_panel/plugins.php
Строк: 126
<?php 

require( '../sys/inc/core.php' );

user_access'plugins'null'index.php?' SID );

$action = (isset($_GET['action']) ? $_GET['action'] : 'list'); 
$slug = (isset($_GET['slug']) ? $_GET['slug'] : ''); 
$set'title' ] = __('Плагины');

if (
$action == 'list') {
    
add_event('ds_admin_title_action', function($links = array()) {
        
$links['add'] = array(
            
'title' => __('Установить'), 
            
'url'   => get_admin_url('plugins.php''action=add'), 
        ); 
        
        return 
$links
    });     
}

if (
$action == 'add') {
    
$set'title' ] = __('Установка плагинов');
}

if (isset(
$_FILES['file']) && is_file($_FILES['file']['tmp_name'])) {
    if (
ds_plugin_upload($_FILES['file']['tmp_name'])) {
        
$_SESSION['message'] = __('Плагин успешно установлен'); 
        
ds_redirect('?'); 
    }


if (
$action && $slug) {
    if (
$action == 'install') {
        if (
ds_plugin_install($slug)) {
            
$_SESSION['message'] = __('Плагин установлен');  
        }
    }
    
    if (
$action == 'activate') {
        if (
ds_plugin_activate($slug)) {
            
$_SESSION['message'] = __('Плагин активирован'); 
        }
    }
    
    if (
$action == 'deactivate') {
        if (
ds_plugin_deactivate($slug)) {
            
$_SESSION['message'] = __('Плагин деактивирован'); 
        }
    }

    if (
$action == 'remove') {
        if (
ds_plugin_remove($slug)) {
            
$_SESSION['message'] = __('Плагин удален из системы'); 
        }
    }

    if (!
is_errors()) {
        
ds_redirect('?'); 
    }
}

get_header_admin(); 
?>

<?php if ($action == 'add') : ?>
<div class="form-plugins-upload">
    <form action="?" method="POST" enctype="multipart/form-data">
        <input type="file" name="file"><input type="submit" value="Загрузить">
    </form>
</div>
<?php endif; ?>

<?
$plugins 
= new Plugins(); 
$list $plugins->listPlugins(); 

if (
$action == 'add') {
    
?>
    <div class="cards cards-plugins" id="result">
        <?php echo __('Загрузка данных...'); ?>
    </div>

    <script>
    jQuery(function($) {
        $.ajax(ajax_url, {
            data: 'action=plugins_search_api', 
            success: function(resp) {
                $('#result').html(resp); 
            }
        }); 

        $(document).on('click', '.plugin-install', function() {
            var b = $(this).addClass('button-process').html('<?php echo __('Установка'); ?>...'); 

            $.ajax(ajax_url, {
                data: 'action=plugins_install_api&slug=' + $(this).data('slug'), 
                dataType: 'json', 
                success: function(resp) {
                    b.removeClass('plugin-install'); 

                    if (resp.status == 'success') {
                        b.removeClass('button-process').addClass('button-installed').html('<i class="fa fa-check" aria-hidden="true"></i> ' + resp.message).attr('href', 'javascript:void(0)'); 

                        setTimeout(function() {
                            b.removeClass('button-installed').addClass('button-primary').attr('href', resp.href).html(resp.title); 
                        }, 2000); 
                    } else {
                        b.removeClass('button-process').addClass('button-error').html(resp.message); 

                        if (resp.errors) {
                            var wrapErrors = $('<div/>', {
                                class: 'plugin-install-errors', 
                            }); 

                            $(b).replaceWith(wrapErrors); 

                            for(var key in resp.errors) {
                                $(wrapErrors).append($('<div/>', {
                                    class: 'alert alert-error', 
                                    text: resp.errors[key], 
                                })); 
                            }
                        }
                    }
                }
            }); 

            return false; 
        }); 
    }); 
    </script>
    <?
}

else {
    if (empty(
$list)) : 
        
do_event('ds_plugins_empty'); 
        
?>
        <div class="empty empty-plugins">
            <?php echo __('Нет установленных плагинов'); ?>
        </div>
        <?
    
endif; 

    if (!empty(
$list)) : 
        
do_event('ds_plugins_list'); 

        
?><div class="list"><?
        
foreach($list AS $plugin
        {
            
$plug_action = array(); 
            
$plug_action['activate'] = '<a href="?slug=' $plugin['slug'] . '&action=' . ($plugin['active'] == 'deactivate' 'activate') . '">' 
                        
__($plugin['active'] == 'Деактивировать' 'Активировать') . '</a>';

            
$plug_action use_filters('ds_plugin_' $plugin['slug'] . '_action'$plug_action); 
            
$plug_action use_filters('ds_plugins_action'$plug_action); 

            if (
$plugin['active'] == 0) {
                
$plug_action[] = '<a class="ds-link-delete" href="?slug=' $plugin['slug'] . '&action=remove">' __('Удалить') . '</a>';
            }
            
?>
            <div class="list-item <?php echo ($plugin['active'] == 'active' ''); ?>">
                <div class="list-item-title"><?php echo $plugin['name']; ?></div>
                <div class="list-item-description"><?php echo $plugin['full']; ?></div>
                <div class="list-item-action">
                    <?php echo join(' | '$plug_action); ?>
                </div>
            </div>
            <?
        
}
        
?></div><?
    
endif; 
}
get_footer_admin();
Онлайн: 0
Реклама