Exemplo n.º 1
0
function ls_sliders_bulk_action()
{
    // Remove
    if ($_POST['action'] === 'remove') {
        if (is_array($_POST['sliders']) && !empty($_POST['sliders'])) {
            foreach ($_POST['sliders'] as $item) {
                layerslider_removeslider($item);
            }
        }
        header('Location: admin.php?page=layerslider&message=removeSuccess');
        die;
    }
    // Delete
    if ($_POST['action'] === 'delete') {
        if (is_array($_POST['sliders']) && !empty($_POST['sliders'])) {
            foreach ($_POST['sliders'] as $item) {
                LS_Sliders::delete($item);
            }
        }
        header('Location: admin.php?page=layerslider&message=removeSuccess');
        die;
    }
    // Restore
    if ($_POST['action'] === 'restore') {
        if (is_array($_POST['sliders']) && !empty($_POST['sliders'])) {
            foreach ($_POST['sliders'] as $item) {
                LS_Sliders::restore($item);
            }
        }
        header('Location: admin.php?page=layerslider&message=removeSuccess');
        die;
    }
    // Merge
    if ($_POST['action'] === 'merge') {
        // Error check
        if (!isset($_POST['sliders'][1]) || !is_array($_POST['sliders'])) {
            header('Location: admin.php?page=layerslider&error=1&message=mergeSelectError');
            die;
        }
        // Vars
        global $wpdb;
        $ids = array();
        $slider = array();
        // Iterate over the sliders
        foreach ($_POST['sliders'] as $key => $item) {
            $ids[] = '#' . $item;
            $data = lsSliderById($item);
            if ($key === 0) {
                $slider = $data['data'];
            } else {
                $slider['layers'] = array_merge($slider['layers'], $data['data']['layers']);
            }
        }
        // DB data
        $name = esc_sql($slider['properties']['title'] = 'Merged sliders of ' . implode(', ', $ids));
        $data = esc_sql(json_encode($slider));
        // Save as new slider
        $table_name = $wpdb->prefix . LS_DB_TABLE;
        $wpdb->query("INSERT INTO {$table_name} (name, data, date_c, date_m) VALUES ('{$name}', '{$data}', '" . time() . "', '" . time() . "')");
        header('Location: admin.php?page=layerslider&message=mergeSuccess');
        die;
    }
}
Exemplo n.º 2
0
/********************************************************/
// Activation hook for creating the initial DB table
register_activation_hook(__FILE__, 'layerslider_activation_scripts');
// Register custom settings menu
add_action('admin_menu', 'layerslider_settings_menu');
// Link content resources
add_action('wp_enqueue_scripts', 'layerslider_enqueue_content_res');
// Link admin resources
add_action('admin_enqueue_scripts', 'layerslider_enqueue_admin_res');
// Add shortcode
add_shortcode("layerslider", "layerslider_init");
// Widget action
add_action('widgets_init', create_function('', 'register_widget("LayerSlider_Widget");'));
// Remove slider
if (isset($_GET['page']) && $_GET['page'] == 'layerslider' && isset($_GET['action']) && $_GET['action'] == 'remove') {
    layerslider_removeslider($_GET['id']);
}
// Duplicate slider
if (isset($_GET['page']) && $_GET['page'] == 'layerslider' && isset($_GET['action']) && $_GET['action'] == 'duplicate') {
    layerslider_duplicateslider($_GET['id']);
}
// Import sample sliders
if (isset($_GET['page']) && $_GET['page'] == 'layerslider' && isset($_GET['action']) && $_GET['action'] == 'import_sample') {
    layerslider_import_sample_slider();
}
// Convert data storage
if (isset($_GET['page']) && $_GET['page'] == 'layerslider' && isset($_GET['action']) && $_GET['action'] == 'convert') {
    layerslider_convert();
}
// Help menu
add_filter('contextual_help', 'layerslider_help', 10, 3);