/** * Replace Wildcards * * @since 1.3 */ function dedo_search_replace_wildcards($string, $id) { // id if (strpos($string, '%id%') !== false) { $string = str_replace('%id%', $id, $string); } // url if (strpos($string, '%url%') !== false) { $value = dedo_download_link($id); $string = str_replace('%url%', $value, $string); } // title if (strpos($string, '%title%') !== false) { $value = get_the_title($id); $string = str_replace('%title%', $value, $string); } // date if (strpos($string, '%date%') !== false) { $value = get_the_date(apply_filters('dedo_shortcode_date_format', '')); $string = str_replace('%date%', $value, $string); } // filesize if (strpos($string, '%filesize%') !== false) { $value = size_format(get_post_meta($id, '_dedo_file_size', true), 1); $string = str_replace('%filesize%', $value, $string); } // downloads if (strpos($string, '%count%') !== false) { $value = number_format_i18n(get_post_meta($id, '_dedo_file_count', true)); $string = str_replace('%count%', $value, $string); } // file name if (strpos($string, '%filename%') !== false) { $value = dedo_get_file_name(get_post_meta($id, '_dedo_file_url', true)); $string = str_replace('%filename%', $value, $string); } // file extension if (strpos($string, '%ext%') !== false) { $value = strtoupper(dedo_get_file_ext(get_post_meta($id, '_dedo_file_url', true))); $string = str_replace('%ext%', $value, $string); } // file mime if (strpos($string, '%mime%') !== false) { $value = dedo_get_file_mime(get_post_meta($id, '_dedo_file_url', true)); $string = str_replace('%mime%', $value, $string); } return apply_filters('dedo_search_replace_wildcards', $string, $id); }
/** * Download Post Type Column Contents * * @since 1.0 */ function dedo_download_column_contents($column_name, $post_id) { // File column if ($column_name == 'file') { $file_url = get_post_meta($post_id, '_dedo_file_url', true); $file_url = dedo_get_file_name($file_url); echo !$file_url ? '<span class="blank">--</span>' : esc_attr($file_url); } // Filesize column if ($column_name == 'filesize') { $file_size = get_post_meta($post_id, '_dedo_file_size', true); $file_size = !$file_size ? 0 : size_format($file_size, 1); echo !$file_size ? '<span class="blank">--</span>' : esc_attr($file_size); } // Shortcode column if ($column_name == 'shortcode') { echo '<code>[ddownload id="' . esc_attr($post_id) . '"]</code>'; } // Count column if ($column_name == 'downloads') { $count = get_post_meta($post_id, '_dedo_file_count', true); $count = !$count ? 0 : number_format_i18n($count); echo esc_attr($count); } // Members only column if ('members_only' == $column_name) { $file = get_post_meta($post_id, '_dedo_file_options', true); if (isset($file['members_only'])) { echo 1 == $file['members_only'] ? '<span class="true" title="' . __('Yes', 'delightful-downloads') . '"></span>' : '<span class="false" title="' . __('No', 'delightful-downloads') . '"></span>'; } else { echo '<span class="blank" title="' . __('Inherit', 'delightful-downloads') . '">--</span>'; } } // Open browser column if ('open_browser' == $column_name) { $file = get_post_meta($post_id, '_dedo_file_options', true); if (isset($file['open_browser'])) { echo 1 == $file['open_browser'] ? '<span class="true" title="' . __('Yes', 'delightful-downloads') . '"></span>' : '<span class="false" title="' . __('No', 'delightful-downloads') . '"></span>'; } else { echo '<span class="blank" title="' . __('Inherit', 'delightful-downloads') . '">--</span>'; } } }
/** * Update Status Ajax * * @since 1.5 */ function dedo_download_update_status_ajax() { global $dedo_statistics; // Check for nonce and permission if (!check_ajax_referer('dedo_download_update_status', 'nonce', false) || !current_user_can(apply_filters('dedo_cap_add_new', 'edit_pages'))) { echo json_encode(array('status' => 'error', 'content' => __('Failed security check!', 'delightful-downloads'))); die; } $file_url = trim($_REQUEST['url']); if ($result = dedo_get_file_status($file_url)) { // Cache remote file sizes, for 15 mins if ('remote' === $result['type']) { $cached_remotes = get_transient('dedo_remote_file_sizes'); if (false === $cached_remotes || !isset($cached_remotes[esc_url_raw($file_url)])) { $cached_remotes[esc_url_raw($file_url)] = $result['size']; set_transient('dedo_remote_file_sizes', $cached_remotes, 900); } } // Add extra data to result $result['size'] = size_format($result['size'], 1); $result['icon'] = dedo_get_file_icon($file_url); $result['filename'] = dedo_get_file_name($file_url); // Exists echo json_encode(array('status' => 'success', 'content' => $result)); } else { $result['filename'] = dedo_get_file_name($file_url); echo json_encode(array('status' => 'error', 'content' => $result)); } die; }