示例#1
0
function wowslider_get($q)
{
    global $wpdb;
    static $q_count = 0;
    $sliders = array();
    if (is_integer($q) || is_array($q) && isset($q['name'])) {
        $sort = '';
        if (is_array($q)) {
            $sort = ' ORDER BY ID DESC';
            $where = 'slider_name = "' . esc_sql($q['name']) . '"';
        } else {
            $where = 'ID = ' . $q;
        }
        $only_public = func_num_args() > 1 ? func_get_arg(1) : true;
        if ($id = $wpdb->get_var('SELECT ID FROM ' . $wpdb->prefix . 'wowslider WHERE ' . $where . ($only_public ? ' AND slider_public = 1' : '') . $sort . ' LIMIT 1;')) {
            $html = "\n\n<link rel='stylesheet' href='" . wowslider_upload_dir('url') . "{$id}/style.css' type='text/css' media='all' />\n" . str_replace('%URL%', wowslider_upload_dir('url') . "{$id}/", file_get_contents(wowslider_upload_dir() . $id . '/slider.html')) . "\n\n";
            if (file_exists(wowslider_upload_dir() . $id . '/script.js')) {
                $html .= "<script type='text/javascript' src='" . wowslider_upload_dir('url') . "{$id}/script.js'></script>\n\n";
            }
            return $html;
        }
        return '';
    } else {
        if (is_string($q) && ($q = preg_split('/\\s+/', $q, 2))) {
            list($q, $param) = array_pad($q, 2, '');
            if ($q == 'count') {
                return $q_count;
            } else {
                if ($q == 'totals') {
                    return array('published' => (int) $wpdb->get_var('SELECT COUNT(*) FROM ' . $wpdb->prefix . 'wowslider WHERE slider_public = 1;'), 'trash' => (int) $wpdb->get_var('SELECT COUNT(*) FROM ' . $wpdb->prefix . 'wowslider WHERE slider_public = 0;'));
                } else {
                    if ($q == 'months') {
                        if (!in_array($param, array('published', 'trash'))) {
                            $param = 'all';
                        }
                        return $wpdb->get_results('SELECT DISTINCT YEAR(slider_date) AS year, MONTH(slider_date) AS month FROM ' . $wpdb->prefix . 'wowslider' . ($param != 'all' ? ' WHERE slider_public = ' . ($param == 'trash' ? 0 : 1) : '') . ' ORDER BY slider_date DESC', ARRAY_A);
                    }
                }
            }
        } else {
            if (isset($q['last'])) {
                $sliders = $wpdb->get_results('SELECT ID as id, slider_name as name FROM ' . $wpdb->prefix . 'wowslider WHERE slider_public = 1 ORDER BY ID DESC LIMIT ' . (int) $q['last'] . ';', ARRAY_A);
            } else {
                if (isset($q['limit'])) {
                    $limit = ' LIMIT ' . $q['limit'];
                } else {
                    if (isset($q['page'])) {
                        $count = isset($q['count']) ? (int) $q['count'] : 10;
                        $limit = ' LIMIT ' . ((int) $q['page'] - 1) * $count . ', ' . $count;
                    } else {
                        $limit = '';
                    }
                }
                $sort = ' ORDER BY ' . (isset($q['sort']) ? $q['sort'] : 'ID ASC');
                $users = $where = array();
                if (isset($q['where'])) {
                    $where[] = $q['where'];
                }
                if (isset($q['month'])) {
                    $where[] = 'MONTH(slider_date) = ' . $q['month'];
                }
                if (isset($q['year'])) {
                    $where[] = 'YEAR(slider_date) = ' . $q['year'];
                }
                if (isset($q['search'])) {
                    $s = preg_split('/\\s+/', $q['search']);
                    foreach ($s as $i => $v) {
                        $s[$i] = 'slider_name LIKE "%' . esc_sql(addcslashes($v, '_%\\')) . '%"';
                    }
                    $where[] = '((' . implode(' AND ', $s) . ')';
                    $where[count($where) - 1] .= (preg_match('/^[0-9]+$/', $q['search']) ? ' OR ID = ' . (int) $q['search'] : '') . ')';
                }
                $where = $where ? ' WHERE ' . implode(' AND ', $where) : '';
                if (!($q_count = (int) $wpdb->get_var('SELECT COUNT(*) FROM ' . $wpdb->prefix . 'wowslider ' . $where . ';'))) {
                    return $sliders;
                }
                $sliders = $wpdb->get_results('SELECT ID as id, slider_name as name, slider_author as author,  slider_date as date, slider_date_gmt as date_gmt, slider_public as public, slider_images as images FROM ' . $wpdb->prefix . 'wowslider ' . $where . $sort . $limit . ';', ARRAY_A);
                foreach ($sliders as $i => $v) {
                    $users[] = $v['author'];
                }
                $results = get_users(array('include' => array_unique($users)));
                $users = array();
                for ($i = 0, $count = count($results); $i < $count; $i++) {
                    $users[(int) $results[$i]->ID] = $results[$i]->display_name;
                }
                foreach ($sliders as $i => $v) {
                    $index = (int) $v['author'];
                    $sliders[$i]['images'] = unserialize($v['images']);
                    $sliders[$i]['author'] = false;
                    if (isset($users[$index])) {
                        $sliders[$i]['author'] = array('id' => $index, 'name' => $users[$index]);
                    }
                    $sliders[$i]['trash'] = (int) $v['public'] ? false : true;
                    $sliders[$i]['name'] = htmlspecialchars($sliders[$i]['name']);
                }
            }
        }
    }
    return $sliders;
}
示例#2
0
function wowslider_old_version()
{
    $dir = WOWSLIDER_PLUGIN_PATH . 'sliders/';
    if (is_dir($dir)) {
        require_once ABSPATH . 'wp-admin/includes/file.php';
        if ($list = WOWSlider_Helpers::filesystem_dirlist($dir)) {
            foreach ($list as $item) {
                WOWSlider_Helpers::filesystem_move($source . $dir . $item['name'], wowslider_upload_dir() . $item['name']);
            }
        }
        WOWSlider_Helpers::filesystem_delete($dir, true);
    }
}
示例#3
0
 function single_row($id, $data, $index)
 {
     global $status, $page, $s, $mode;
     if ($data['trash']) {
         $actions = array('untrash' => '<a href="' . wp_nonce_url('admin.php?page=wowslider/admin.php&amp;slider=' . $id . '&amp;action=untrash&amp;slider_status=' . $status . '&amp;paged=' . $page, 'untrash') . '" title="' . esc_attr__('Restore this item from the Trash') . '">' . __('Restore') . '</a>', 'delete' => '<a href="' . wp_nonce_url('admin.php?page=wowslider/admin.php&amp;slider=' . $id . '&amp;action=delete&amp;slider_status=' . $status . '&amp;paged=' . $page, 'delete') . '" title="' . esc_attr__('Delete this item permanently') . '" class="submitdelete">' . __('Delete Permanently') . '</a>');
     } else {
         $actions = array('trash' => '<a href="' . wp_nonce_url('admin.php?page=wowslider/admin.php&amp;slider=' . $id . '&amp;action=trash&amp;slider_status=' . $status . '&amp;paged=' . $page, 'trash') . '" title="' . esc_attr__('Move this item to the Trash') . '" class="submitdelete">' . __('Trash') . '</a>', 'view' => '<a href="' . admin_url('admin.php?page=wowslider/admin.php&amp;slider=' . $id . '&amp;action=view') . '" title="' . esc_attr__('View this item', 'wowslider') . '" class="view">' . __('View') . '</a>');
     }
     echo "<tr id=\"slider-{$id}\" class=\"" . ($index % 2 ? 'alternate' : '') . "\" valign=\"top\">";
     list($columns, $hidden) = $this->get_column_info();
     foreach ($columns as $column_name => $column_display_name) {
         $style = '';
         if (in_array($column_name, $hidden)) {
             $style = ' style="display:none;"';
         }
         switch ($column_name) {
             case 'cb':
                 echo '<th scope="row" class="check-column"><input type="checkbox" name="checked[]" value="' . esc_attr($id) . '" id="checkbox_' . $id . '" /><label class="screen-reader-text" for="checkbox_' . $id . '" >' . __('Select') . ' ' . htmlspecialchars($data['Name']) . '</label></th>';
                 break;
             case 'name':
                 echo '<td class="column-title"' . $style . '><strong>';
                 if ($status == 'trash') {
                     echo htmlspecialchars($data['name']);
                 } else {
                     echo '<a href="' . admin_url('admin.php?page=wowslider/admin.php&amp;slider=' . $id . '&amp;action=view') . '" title="' . __('View') . ' ' . esc_attr('"' . $data['name'] . '"') . '">' . htmlspecialchars($data['name']) . '</a>';
                 }
                 echo '</strong>' . $this->row_actions($actions);
                 echo '</td>';
                 break;
             case 'code':
                 echo '<td class="column-code"' . $style . '><code>[wowslider id="' . $id . '"]</code>' . ('list' == $mode ? '' : '<br/><small>( ' . __('for templates', 'wowslider') . ': <code>&lt;?php wowslider(' . $id . '); ?&gt;</code>)</small>') . '</td>';
                 break;
             case 'author':
                 echo '<td class="column-author"' . $style . '>';
                 if ($data['author']) {
                     echo '<a href="' . admin_url('admin.php?page=wowslider/admin.php&author=' . $data['author']['id']) . '">' . htmlspecialchars($data['author']['name']) . '</a>';
                 } else {
                     echo '&nbsp;';
                 }
                 echo '</td>';
                 break;
             case 'images':
                 echo '<td class="column-images"' . $style . ' ' . ('list' == $mode ? '' : 'style="padding-bottom:7px;"') . '>';
                 $data['images'] = array_slice($data['images'], 0, 'list' == $mode ? 3 : 6);
                 $thumb_dir = is_dir(wowslider_upload_dir() . $id . '/tooltips/') ? '/tooltips/' : '/images/';
                 foreach ($data['images'] as $image) {
                     echo '<a href="' . wowslider_upload_dir('url') . $id . '/images/' . $image . '"><img src="' . wowslider_upload_dir('url') . $id . $thumb_dir . $image . '" /></a> ';
                 }
                 echo '</td>';
                 break;
             case 'date':
                 $t_time = mysql2date(__('Y/m/d g:i:s A'), $data['date'], true);
                 $m_time = $data['date'];
                 $time = mysql2date('G', $data['date_gmt'], false);
                 $time_diff = time() - $time;
                 if ($time_diff > 0 && $time_diff < 24 * 60 * 60) {
                     $h_time = sprintf(__('%s ago'), human_time_diff($time));
                 } else {
                     $h_time = mysql2date(__('Y/m/d'), $m_time);
                 }
                 echo '<td class="column-date"' . $style . '>';
                 if ('excerpt' == $mode) {
                     echo apply_filters('post_date_column_time', $t_time, $post, $column_name, $mode);
                 } else {
                     echo '<abbr title="' . $t_time . '">' . apply_filters('post_date_column_time', $h_time, $post, $column_name, $mode) . '</abbr>';
                 }
                 echo '</td>';
                 break;
             default:
                 echo "<td class=\"{$column_name} column-{$column_name}\"{$style}>";
                 echo '</td>';
         }
     }
     echo '</tr>';
 }
示例#4
0
function wowslider_old_version()
{
    global $wp_filesystem;
    $dir = WOWSLIDER_PLUGIN_PATH . 'sliders/';
    if (is_dir($dir)) {
        require_once ABSPATH . 'wp-admin/includes/file.php';
        if (!$wp_filesystem || !is_object($wp_filesystem)) {
            WP_Filesystem();
        }
        if ($list = $wp_filesystem->dirlist($dir)) {
            foreach ($list as $item) {
                $wp_filesystem->move($source . $dir . $item['name'], wowslider_upload_dir() . $item['name']);
            }
        }
        $wp_filesystem->delete($dir, true);
    }
}