Beispiel #1
0
function wowslider_add($folder = false, $update = 0, $delete = true)
{
    global $wp_filesystem, $wpdb, $user_ID;
    static $id = 0;
    if (!$folder) {
        return $id;
    }
    if (!$wp_filesystem || !is_object($wp_filesystem)) {
        WP_Filesystem();
    }
    if ($wp_filesystem->is_file($folder) && strtolower(substr($folder, -4)) == '.zip') {
        return wowslider_import($folder, $update, $delete);
    }
    $folder = rtrim(str_replace('\\', '/', $folder), '/') . '/';
    if ($wp_filesystem->is_file($folder . 'slider.html') && $wp_filesystem->is_dir($folder . 'images/')) {
        $images = array();
        $list = $wp_filesystem->dirlist($folder . ($wp_filesystem->is_dir($folder . 'tooltips/') ? 'tooltips/' : 'images/'));
        foreach ($list as $name => $v) {
            if ($v['type'] == 'f' && strtolower(substr($name, -4)) == '.jpg') {
                $images[] = $name;
            }
            if (count($images) == 10) {
                break;
            }
        }
        if (count($images)) {
            $name = '';
            if (preg_match('/<!--\\s*Name:(.+?)\\s*-->/ui', file_get_contents($folder . 'slider.html'), $match)) {
                $name = trim($match[1]);
            }
            $date = current_time('mysql');
            $insert = array('slider_name' => mb_substr($name, 0, 200), 'slider_author' => $user_ID, 'slider_date' => $date, 'slider_date_gmt' => get_gmt_from_date($date), 'slider_public' => 1, 'slider_images' => serialize($images));
            if ($update) {
                $insert['ID'] = $update;
            }
            foreach ($insert as $k => $v) {
                $insert[$k] = '"' . $wpdb->escape($v) . '"';
            }
            $wpdb->query('INSERT INTO ' . $wpdb->prefix . 'wowslider (' . implode(',', array_keys($insert)) . ') VALUES (' . implode(',', array_values($insert)) . ');');
            $id = $update ? (int) $update : (int) $wpdb->get_var('SELECT LAST_INSERT_ID();');
            if ($id) {
                $dest = WOWSLIDER_PLUGIN_PATH . 'sliders/' . $id . '/';
                if ($wp_filesystem->is_dir($dest)) {
                    $wp_filesystem->delete($dest, true);
                }
                $wp_filesystem->move($folder, $dest);
                if ($name == '') {
                    $wpdb->query('UPDATE ' . $wpdb->prefix . 'wowslider SET slider_name = "' . $wpdb->escape('Slider ' . $id) . '" WHERE ID = ' . $id . ';');
                }
                file_put_contents($dest . 'slider.html', str_replace('%ID%', $id, file_get_contents($dest . 'slider.html')));
                file_put_contents($dest . 'style.css', str_replace('%ID%', $id, file_get_contents($dest . 'style.css')));
                return true;
            } else {
                return __('Failure when added to the table.', 'wowslider');
            }
        }
    }
    return __('Wrong slider.', 'wowslider');
}
Beispiel #2
0
function wowslider_add_new()
{
    $tab = isset($_GET['tab']) && $_GET['tab'] == 'import' ? 'import' : 'upload';
    $verif = isset($_POST['_wpnonce']) && wp_verify_nonce($_POST['_wpnonce'], 'wowslider-add-new');
    if (isset($_GET['message'])) {
        if (isset($_GET['error'])) {
            echo '<div id="message" class="error"><p>' . htmlspecialchars(urldecode($_GET['message'])) . '</p></div>';
        } else {
            if (isset($_GET['slider'])) {
                if ($_GET['message']) {
                    echo '<div id="message" class="updated"><p>' . str_replace('%s', '<strong>./import/' . htmlspecialchars(urldecode($_GET['message'])) . '</strong>', __('Slider imported from file %s! To add it on the page use the shortcode:', 'wowslider')) . ' <strong><code>[wowslider id="' . (int) $_GET['slider'] . '"]</code></strong></p></div>';
                } else {
                    echo '<div id="message" class="updated"><p>' . __('Slider added! To add it on the page use the shortcode:', 'wowslider') . ' <strong><code>[wowslider id="' . (int) $_GET['slider'] . '"]</code></strong></p></div>';
                }
            }
        }
    }
    if ($tab == 'upload' && isset($_FILES['sliderzip']) && $verif) {
        $file = wp_handle_upload($_FILES['sliderzip'], array('test_form' => false, 'mimes' => array('zip' => 'application/zip')));
        if (isset($file['error'])) {
            exit(wp_redirect(admin_url('admin.php?page=wowslider-add-new&error=1&message=' . urlencode($file['error']))));
        } else {
            if (($status = wowslider_add($file['file'])) !== true) {
                exit(wp_redirect(admin_url('admin.php?page=wowslider-add-new&error=1&message=' . urlencode($status))));
            } else {
                exit(wp_redirect(admin_url('admin.php?page=wowslider-add-new&message=&slider=' . wowslider_add())));
            }
        }
    } else {
        if ($tab == 'import' && $verif) {
            if (($status = wowslider_import()) !== true) {
                exit(wp_redirect(admin_url('admin.php?page=wowslider-add-new&tab=import&error=1&message=' . urlencode($status))));
            } else {
                exit(wp_redirect(admin_url('admin.php?page=wowslider-add-new&tab=import&message=' . urlencode(wowslider_import('file')) . '&slider=' . wowslider_add())));
            }
        }
    }
    ?>
    <div class="wrap">
    <div id="icon-wowslider" class="icon32"><br /></div>
    <h2><?php 
    _e('Add New Slider', 'wowslider');
    ?>
</h2>
    <ul class="subsubsub">
        <li><a href="<?php 
    echo admin_url('admin.php?page=wowslider-add-new');
    ?>
"<?php 
    if ($tab == 'upload') {
        echo ' class="current"';
    }
    ?>
><?php 
    _e('Upload', 'wowslider');
    ?>
</a> |</li>
        <li><a href="<?php 
    echo admin_url('admin.php?page=wowslider-add-new&tab=import');
    ?>
"<?php 
    if ($tab == 'import') {
        echo ' class="current"';
    }
    ?>
><?php 
    _e('Import from Folder', 'wowslider');
    ?>
</a></li>
    </ul><br class="clear" />
    <?php 
    if ($tab == 'upload') {
        ?>
    <h4><?php 
        _e('Add a slider in .zip format', 'wowslider');
        ?>
</h4>
	<p class="install-help"><?php 
        echo str_replace('WOW Slider', '<a href="http://wowslider.com/wordpress-jquery-slider.html" target="_blank">WOW Slider</a>', __('Create a slider with WOW Slider first and then upload it here. <br/>Please see full tutorial+video here: <a href="http://wowslider.com/wordpress-jquery-slider.html" target="_blank">http://wowslider.com/wordpress-jquery-slider.html</a>', 'wowslider'));
        ?>
</p>
	<form method="post" enctype="multipart/form-data" action="<?php 
        echo self_admin_url('admin.php?page=wowslider-add-new&noheader=1');
        ?>
">
		<?php 
        wp_nonce_field('wowslider-add-new');
        ?>
		<label class="screen-reader-text" for="sliderzip"><?php 
        _e('Slider zip file', 'wowslider');
        ?>
</label>
		<input type="file" id="sliderzip" name="sliderzip" />
		<input type="submit" class="button" value="<?php 
        esc_attr_e('Add Now', 'wowslider');
        ?>
" />
	</form>
    <p><div class="video"><object width="532" height="325">
        <param name="movie" value="http://www.youtube.com/v/o82IuhWtgTo?fs=1" />
        <param name="allowFullScreen" value="true" />
        <param name="allowscriptaccess" value="never" />
        <embed src="http://www.youtube.com/v/o82IuhWtgTo?fs=1" type="application/x-shockwave-flash" allowscriptaccess="never" allowfullscreen="true" width="532" height="325" />
    </object></div></p>
    <?php 
    } else {
        ?>
    <h4><?php 
        _e('Add a slider in .zip format from folder', 'wowslider');
        ?>
</h4>
    <p class="install-help"><?php 
        echo str_replace('WOW Slider', '<a href="http://wowslider.com/" target="_blank">WOW Slider</a>', __('Create a slider with WOW Slider app and copy to folder:', 'wowslider'));
        ?>
 "./wp-content/uploads/wow-slider-plugin/import/".</p>    
    <br />
    <form method="post" action="<?php 
        echo self_admin_url('admin.php?page=wowslider-add-new&tab=import&noheader=1');
        ?>
">
		<?php 
        wp_nonce_field('wowslider-add-new');
        ?>
		<input type="submit" class="button" value="<?php 
        esc_attr_e('Import from Folder', 'wowslider');
        ?>
" />
	</form>
    <?php 
    }
    ?>
    </div>
<?php 
}