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; }
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); } }
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&slider=' . $id . '&action=untrash&slider_status=' . $status . '&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&slider=' . $id . '&action=delete&slider_status=' . $status . '&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&slider=' . $id . '&action=trash&slider_status=' . $status . '&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&slider=' . $id . '&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&slider=' . $id . '&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><?php wowslider(' . $id . '); ?></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 ' '; } 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>'; }
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); } }