Horriblesubs/custom/shortcode.php

1379 lines
84 KiB
PHP

<?php
function fansub_horriblesubs_new_release_shortcode($atts, $content = null)
{
$defaults = fansub_horriblesubs_get_option_defaults();
$option_data = fansub_horriblesubs_get_option();
$option_data = shortcode_atts($defaults, $option_data);
$option_data = shortcode_atts($option_data, $atts);
$release_title = fansub_get_value_by_key($option_data, 'release_box_title');
$post_number = fansub_get_value_by_key($option_data, 'posts_per_page');
$date_format = fansub_get_value_by_key($option_data, 'date_format');
$single_page = fansub_get_value_by_key($option_data, 'single_page');
$release_box_search_placeholder = fansub_get_value_by_key($option_data, 'release_box_search_placeholder');
$data = $option_data;
$result = '';
$title = isset($data['release_box_title']) ? $data['release_box_title'] : $release_title;
$number = isset($data['posts_per_page']) ? $data['posts_per_page'] : $post_number;
$query = fansub_horriblesubs_query_new_release(array('posts_per_page' => $number));
$date_format = isset($data['date_format']) ? $data['date_format'] : $date_format;
$post_type = fansub_horriblesubs_get_post_type();
$option_data = fansub_horriblesubs_get_option();
$query_vars = $query->query_vars;
$post_not_in = isset($query->query_vars['post__not_in']) ? $query->query_vars['post__not_in'] : array();
$refresh_text = fansub_get_value_by_key($option_data, 'refresh_text');
$clear_text = fansub_get_value_by_key($option_data, 'clear_text');
ob_start();
?>
<div class="fansub-new-release fansub-box fansub-release">
<?php if (!empty($title)) : ?>
<h2 class="box-title"><?php echo $title; ?></h2>
<?php endif; ?>
<div class="box-content" data-type="release">
<form action="" id="search" class="searchbox search-form">
<div class="searchcontainer">
<input placeholder="<?php echo $release_box_search_placeholder; ?>" class="searchbar search-field">
</div>
<div class="refreshlink btn-refresh">
<a class="refreshbutton" href="#">
<i title="<?php echo $refresh_text; ?>" data-refresh-text="<?php echo $refresh_text; ?>"
data-clear-text="<?php echo $clear_text; ?>" class="dashicons dashicons-update"></i>
</a>
</div>
</form>
<div class="latest">
<ul class="list-releases">
<?php
while ($query->have_posts()) {
$query->the_post();
$post = get_post(get_the_ID());
$post_not_in[] = $post->ID;
$post_title = $post->post_title;
$post_link = '#';
$suffix = '';
$parts = array();
if ('episode' == $post->post_type) {
$parts = fansub_horriblesubs_convert_post_title_to_parts($post->post_title);
array_shift($parts);
$parts = array_map('trim', $parts);
$animation_id = get_post_meta($post->ID, 'animation', true);
$animation = get_post($animation_id);
if (is_a($animation, 'WP_Post')) {
$post_title = $animation->post_title;
$post_link = fansub_horriblesubs_build_single_url($single_page, $animation->ID);
if (!fansub_array_has_value($parts)) {
}
$part = array_pop($parts);
if (!empty($part)) {
$suffix = '<span class="suffix">' . ' - ' . $part . '</span>';
}
}
} elseif ('batch' == $post->post_type) {
$parts = fansub_horriblesubs_convert_post_title_to_parts($post->post_title);
array_shift($parts);
$parts = array_map('trim', $parts);
$episode_id = get_post_meta($post->ID, 'episode', true);
if (is_numeric($episode_id) && $episode_id > 0) {
$animation_id = get_post_meta($episode_id, 'animation', true);
$animation = get_post($animation_id);
if (is_a($animation, 'WP_Post')) {
$post_title = $animation->post_title;
$post_link = fansub_horriblesubs_build_single_url($single_page, $animation->ID);
if (!fansub_array_has_value($parts)) {
}
$part = array_pop($parts);
if (!empty($part)) {
$tmp_part = array_pop($parts);
if (!empty($tmp_part)) {
$part = $tmp_part . '-' . $part;
}
$suffix = '<span class="suffix">' . ' - ' . $part . '</span>';
}
}
} else {
$animation_id = get_post_meta($post->ID, 'animation', true);
$animation = get_post($animation_id);
if (is_a($animation, 'WP_Post')) {
$post_title = $animation->post_title;
$post_link = fansub_horriblesubs_build_single_url($single_page, $animation->ID);
if (!fansub_array_has_value($parts)) {
}
$part = array_pop($parts);
if (!empty($part)) {
$tmp_part = array_pop($parts);
if (!empty($tmp_part)) {
//$part = $tmp_part . '-' . $part;
}
$suffix = '<span class="suffix">' . ' - ' . $part . '</span>';
}
}
}
$post_title = $post->post_title;
} else {
$post_title = $post->post_title;
$post_link = fansub_horriblesubs_build_single_url($single_page, $post->ID);
}
$link_html = new FANSUB_HTML('a');
$link_html->set_href($post_link);
$link_html->set_text($post_title);
$link_html->set_class('post-title-link');
$saved_suffix = get_post_meta($post->ID, 'suffix', true);
if ('batch' == $post->post_type) {
$suffix = '';
}
if (!empty($saved_suffix)) {
$suffix = '<span class="suffix">' . ' - ' . $saved_suffix . '</span>';
}
$qs = fansub_ph_get_qualities_and_servers(get_the_ID());
$qualities = $qs['qualities'];
$servers = $qs['servers'];
?>
<li <?php post_class(sanitize_html_class($post->post_type)); ?>>
<ul class="list-cols">
<li class="col-date"><span
class="post-date">(<?php echo get_the_date($date_format); ?>)</span></li>
<li class="col-title"><span
class="post-title"><?php $link_html->output(); ?><?php echo $suffix; ?></span>
</li>
<li class="col-download">
<ul class="list-qualities">
<?php foreach ($qualities as $quality) : ?>
<?php
$file_name_key = 'quality_' . $quality . '_file_name';
$file_name = get_post_meta($post->ID, $file_name_key, true);
if (empty($file_name)) {
if ('episode' == $post->post_type) {
$ep_am_id = get_post_meta($post->ID, 'animation', true);
if (fansub_id_number_valid($ep_am_id)) {
$ep_am = get_post($ep_am_id);
$file_name = $ep_am->post_title . ' [' . $quality . ']';
}
} elseif ('batch' == $post->post_type) {
$bt_ep_id = get_post_meta($post->ID, 'episode', true);
if (fansub_id_number_valid($bt_ep_id)) {
$ep_am_id = get_post_meta($bt_ep_id, 'animation', true);
if (fansub_id_number_valid($ep_am_id)) {
$ep_am = get_post($ep_am_id);
$file_name = $ep_am->post_title . ' [' . $quality . ']';
}
} else {
$ep_am_id = get_post_meta($post->ID, 'animation', true);
if (fansub_id_number_valid($ep_am_id)) {
$ep_am = get_post($ep_am_id);
$file_name = $ep_am->post_title . ' [' . $quality . ']';
}
}
}
} else {
if (!fansub_string_contain($file_name, $quality)) {
//$file_name .= ' [' . $quality . ']';
}
}
$quality_item_class = 'quality quality-' . $quality;
$server_items_html = '<li class="server-item file-name">' . $file_name . '</li>';
$server_items_html .= fansub_ph_servers_loop($servers, $quality, $post, $quality_item_class);
fansub_ph_quality_item_html($quality, $quality_item_class, $server_items_html);
?>
<?php endforeach; ?>
</ul>
</li>
</ul>
</li>
<?php
}
wp_reset_postdata();
?>
</ul>
<?php $query_vars['post__not_in'] = $post_not_in; ?>
<input type="hidden" class="default-query-vars"
value="<?php echo esc_attr(json_encode($query->query_vars)); ?>" autocomplete="off">
<input type="hidden" class="query-vars"
data-default="<?php echo esc_attr(json_encode($query_vars)); ?>"
value="<?php echo esc_attr(json_encode($query_vars)); ?>" autocomplete="off">
<input type="hidden" class="options-data" value="<?php echo esc_attr(json_encode($data)); ?>"
autocomplete="off">
</div>
<?php
$load_more_text = fansub_get_value_by_key($option_data, 'show_more_text');
$loading_text = fansub_get_value_by_key($option_data, 'loading_text');
$reached_end_text = fansub_get_value_by_key($option_data, 'reached_end_text');
?>
<div class="morebox">
<a id="0" class="morebutton btn-more" style="display: block;" href="#"
data-reached-end-text="<?php echo $reached_end_text; ?>"
data-loading-text="<?php echo $loading_text; ?>"
data-text="<?php echo $load_more_text; ?>"><?php echo $load_more_text; ?></a>
</div>
</div>
</div>
<?php
$result = ob_get_clean();
return $result;
}
add_shortcode('fansub_release', 'fansub_horriblesubs_new_release_shortcode');
function fansub_horriblesubs_single_shortcode($atts, $content = null)
{
$animation = fansub_horriblesubs_get_current_animation_single();
$result = '';
if (fansub_id_number_valid($animation)) {
if (post_password_required($animation)) {
return get_the_password_form();
}
$animation = get_post($animation);
if (is_a($animation, 'WP_Post') && fansub_horriblesubs_get_post_type() == $animation->post_type) {
if ('private' == $animation->post_status) {
return '';
}
$defaults = fansub_horriblesubs_get_option_defaults();
$option_data = fansub_horriblesubs_get_option();
$option_data = shortcode_atts($defaults, $option_data);
$option_data = shortcode_atts($option_data, $atts);
$single_batch_title = fansub_get_value_by_key($option_data, 'single_batch_title');
$single_episode_title = fansub_get_value_by_key($option_data, 'single_episode_title');
$post_number = fansub_get_value_by_key($option_data, 'posts_per_page');
$date_format = fansub_get_value_by_key($option_data, 'date_format');
$single_page = fansub_get_value_by_key($option_data, 'single_page');
$release_box_search_placeholder = fansub_get_value_by_key($option_data, 'release_box_search_placeholder');
$single_search_placeholder = fansub_get_value_by_key($option_data, 'single_search_placeholder');
$data = $option_data;
$post_not_in = isset($query->query_vars['post__not_in']) ? $query->query_vars['post__not_in'] : array();
$refresh_text = fansub_get_value_by_key($option_data, 'refresh_text');
$clear_text = fansub_get_value_by_key($option_data, 'clear_text');
$episode = fansub_query_post_by_meta('animation', $animation->ID, array(
'post_type' => 'episode',
'posts_per_page' => $post_number
), 'numeric');
$batch = new WP_Query(array('post_type' => 'batch', 'posts_per_page' => $post_number));
$batches = array();
if ($episode->have_posts()) {
foreach ($episode->posts as $apost) {
$saved = get_post_meta($apost->ID, 'batches', true);
if (fansub_array_has_value($saved)) {
$batches = array_merge($batches, $saved);
}
}
}
$am_batches = get_post_meta($animation->ID, 'batches', true);
if (is_array($batches) && is_array($am_batches)) {
$batches = array_merge($batches, $am_batches);
}
$batches = fansub_sanitize_array($batches);
if (fansub_array_has_value($batches)) {
$batch_args = array(
'post_type' => 'batch',
'post__in' => $batches,
'posts_per_page' => -1
);
$batch = fansub_query($batch_args);
}
if (!$batch->have_posts() || !$episode->have_posts()) {
$batches = get_post_meta($animation->ID, 'batches', true);
$batches = fansub_sanitize_array($batches);
$batch_args = array(
'post_type' => 'batch',
'post__in' => $batches,
'posts_per_page' => -1
);
$batch = fansub_query($batch_args);
}
$post_content = apply_filters('the_content', $animation->post_content);
ob_start();
?>
<div class="fansub-new-release single-box fansub-box fansub-single">
<div class="series-info">
<div class="series-image"><?php fansub_post_thumbnail(array(
'loop' => false,
'bfi_thumb' => false,
'post_id' => $animation->ID
)); ?></div>
<div class="series-desc"><?php echo $post_content; ?></div>
</div>
<div style="clear:both;"></div>
<div class="series-releases">
<div class="batch-box">
<?php
$query = $batch;
$have_batch = false;
?>
<h2><?php echo $single_batch_title; ?></h2>
<div class="content-box box-content" data-type="all">
<?php if ($query->have_posts() && 1 == 2) : ?>
<form action="" id="search" class="searchbox search-form">
<div class="searchcontainer">
<input placeholder="<?php echo $single_search_placeholder; ?>"
class="searchbar search-field">
</div>
<div class="refreshlink btn-refresh">
<a class="refreshbutton" href="#">
<i title="<?php echo $refresh_text; ?>"
data-refresh-text="<?php echo $refresh_text; ?>"
data-clear-text="<?php echo $clear_text; ?>"
class="dashicons dashicons-update"></i>
</a>
</div>
</form>
<?php endif; ?>
<div class="latest">
<?php if ($query->have_posts()) : ?>
<div class="tips">
<i><?php echo fansub_get_value_by_key($option_data, 'single_batch_tip'); ?></i>
</div>
<?php endif; ?>
<ul class="list-releases">
<?php
if ($query->have_posts()) {
$query_vars = $query->query_vars;
while ($query->have_posts()) {
$query->the_post();
$post = get_post(get_the_ID());
$post_not_in[] = $post->ID;
$post_title = $post->post_title;
$post_link = '#';
$suffix = '';
if (!$have_batch) {
$saved_ep = get_post_meta($post->ID, 'episode', true);
$saved_am = get_post_meta($saved_ep, 'animation', true);
if ($saved_am == $animation->ID) {
$have_batch = true;
} else {
$saved_am = get_post_meta($post->ID, 'animation', true);
if ($saved_am == $animation->ID) {
$have_batch = true;
} else {
continue;
}
}
}
$parts = array();
if ('episode' == $post->post_type) {
$parts = fansub_horriblesubs_convert_post_title_to_parts($post->post_title);
array_shift($parts);
$parts = array_map('trim', $parts);
$animation_id = get_post_meta($post->ID, 'animation', true);
$animation = get_post($animation_id);
if (is_a($animation, 'WP_Post')) {
$post_link = fansub_horriblesubs_build_single_url($single_page, $animation->ID);
if (!fansub_array_has_value($parts)) {
}
$part = array_pop($parts);
if (!empty($part)) {
$suffix = '<span class="suffix">' . ' - ' . $part . '</span>';
}
}
} elseif ('batch' == $post->post_type) {
$parts = fansub_horriblesubs_convert_post_title_to_parts($post->post_title);
array_shift($parts);
$parts = array_map('trim', $parts);
$episode_id = get_post_meta($post->ID, 'episode', true);
if (is_numeric($episode_id) && $episode_id > 0) {
$animation_id = get_post_meta($episode_id, 'animation', true);
$animation = get_post($animation_id);
if (is_a($animation, 'WP_Post')) {
$post_link = fansub_horriblesubs_build_single_url($single_page, $animation->ID);
if (!fansub_array_has_value($parts)) {
}
$part = array_pop($parts);
if (!empty($part)) {
$tmp_part = array_pop($parts);
if (!empty($tmp_part)) {
$part = $tmp_part . '-' . $part;
}
$suffix = '<span class="suffix">' . ' - ' . $part . '</span>';
}
}
} else {
$animation_id = get_post_meta($post->ID, 'animation', true);
$animation = get_post($animation_id);
if (is_a($animation, 'WP_Post')) {
$post_link = fansub_horriblesubs_build_single_url($single_page, $animation->ID);
if (!fansub_array_has_value($parts)) {
}
$part = array_pop($parts);
if (!empty($part)) {
$tmp_part = array_pop($parts);
if (!empty($tmp_part)) {
$part = $tmp_part . '-' . $part;
}
$suffix = '<span class="suffix">' . ' - ' . $part . '</span>';
}
}
}
} else {
$post_title = $post->post_title;
$post_link = fansub_horriblesubs_build_single_url($single_page, $post->ID);
}
if (fansub_array_has_value($parts)) {
}
$link_html = new FANSUB_HTML('span');
$link_html->set_text($post_title);
$link_html->set_class('post-title-link');
$saved_suffix = get_post_meta($post->ID, 'suffix', true);
if (!empty($saved_suffix)) {
$suffix = '<span class="suffix">' . ' - ' . $saved_suffix . '</span>';
}
$qs = fansub_ph_get_qualities_and_servers(get_the_ID());
$qualities = $qs['qualities'];
$servers = $qs['servers'];
?>
<li <?php post_class(sanitize_html_class($post->post_type)); ?>>
<ul class="list-cols">
<li class="col-date"><span
class="post-date">(<?php echo get_the_date($date_format); ?>
)</span></li>
<li class="col-title"><span
class="post-title"><?php $link_html->output(); ?></span>
</li>
<li class="col-download">
<ul class="list-qualities">
<?php foreach ($qualities as $quality) : ?>
<?php
$file_name_key = 'quality_' . $quality . '_file_name';
$file_name = get_post_meta($post->ID, $file_name_key, true);
if (empty($file_name)) {
if ('episode' == $post->post_type) {
$ep_am_id = get_post_meta($post->ID, 'animation', true);
if (fansub_id_number_valid($ep_am_id)) {
$ep_am = get_post($ep_am_id);
$file_name = $ep_am->post_title . ' [' . $quality . ']';
}
} elseif ('batch' == $post->post_type) {
$bt_ep_id = get_post_meta($post->ID, 'episode', true);
if (fansub_id_number_valid($bt_ep_id)) {
$ep_am_id = get_post_meta($bt_ep_id, 'animation', true);
if (fansub_id_number_valid($ep_am_id)) {
$ep_am = get_post($ep_am_id);
$file_name = $ep_am->post_title . ' [' . $quality . ']';
}
} else {
$ep_am_id = get_post_meta($post->ID, 'animation', true);
if (fansub_id_number_valid($ep_am_id)) {
$ep_am = get_post($ep_am_id);
$file_name = $ep_am->post_title . ' [' . $quality . ']';
}
}
}
} else {
if (!fansub_string_contain($file_name, $quality)) {
//$file_name .= ' [' . $quality . ']';
}
}
$quality_item_class = 'quality quality-' . $quality;
$server_items_html = '<li class="server-item file-name">' . $file_name . '</li>';
$server_items_html .= fansub_ph_servers_loop($servers, $quality, $post, $quality_item_class);
fansub_ph_quality_item_html($quality, $quality_item_class, $server_items_html);
?>
<?php endforeach; ?>
</ul>
</li>
</ul>
</li>
<?php
}
wp_reset_postdata();
if (!$have_batch) {
echo '<li>' . fansub_get_value_by_key($option_data, 'single_batch_none') . '</li>';
}
} else {
echo '<li>' . fansub_get_value_by_key($option_data, 'single_batch_none') . '</li>';
}
?>
</ul>
<?php
$query_vars['post__not_in'] = $post_not_in;
//unset($query_vars['post__not_in']);
?>
<input type="hidden" class="default-query-vars"
value="<?php echo esc_attr(json_encode($query->query_vars)); ?>"
autocomplete="off">
<input type="hidden" class="query-vars"
data-default="<?php echo esc_attr(json_encode($query_vars)); ?>"
value="<?php echo esc_attr(json_encode($query_vars)); ?>" autocomplete="off">
<input type="hidden" class="options-data"
value="<?php echo esc_attr(json_encode($data)); ?>" autocomplete="off">
</div>
<?php
$load_more_text = fansub_get_value_by_key($option_data, 'show_more_text');
$loading_text = fansub_get_value_by_key($option_data, 'loading_text');
$reached_end_text = fansub_get_value_by_key($option_data, 'reached_end_text');
?>
<?php if ($query->have_posts() && $have_batch && 1 == 2) : ?>
<div class="morebox">
<a id="0" class="morebutton btn-more" style="display: block;" href="#"
data-reached-end-text="<?php echo $reached_end_text; ?>"
data-loading-text="<?php echo $loading_text; ?>"
data-text="<?php echo $load_more_text; ?>"><?php echo $load_more_text; ?></a>
</div>
<?php endif; ?>
</div>
</div>
<div class="episode-box">
<?php
$query = $episode;
?>
<h2><?php echo $single_episode_title; ?></h2>
<div class="content-box box-content" data-type="single">
<?php if ($query->have_posts()) : ?>
<form action="" id="search" class="searchbox search-form">
<div class="searchcontainer">
<input placeholder="<?php echo $single_search_placeholder; ?>"
class="searchbar search-field">
</div>
<div class="refreshlink btn-refresh">
<a class="refreshbutton" href="#">
<i title="<?php echo $refresh_text; ?>"
data-refresh-text="<?php echo $refresh_text; ?>"
data-clear-text="<?php echo $clear_text; ?>"
class="dashicons dashicons-update"></i>
</a>
</div>
</form>
<?php endif; ?>
<div class="latest">
<ul class="list-releases">
<?php
if ($query->have_posts()) {
$query_vars = $episode->query_vars;
while ($episode->have_posts()) {
$episode->the_post();
$post = get_post(get_the_ID());
$post_not_in[] = $post->ID;
$post_title = $post->post_title;
$post_link = '#';
$suffix = '';
$parts = array();
if ('episode' == $post->post_type) {
$parts = fansub_horriblesubs_convert_post_title_to_parts($post->post_title);
array_shift($parts);
$parts = array_map('trim', $parts);
$animation_id = get_post_meta($post->ID, 'animation', true);
$animation = get_post($animation_id);
if (is_a($animation, 'WP_Post')) {
$post_link = fansub_horriblesubs_build_single_url($single_page, $animation->ID);
if (!fansub_array_has_value($parts)) {
}
$part = array_pop($parts);
if (!empty($part)) {
$suffix = '<span class="suffix">' . ' - ' . $part . '</span>';
}
}
} elseif ('batch' == $post->post_type) {
$parts = fansub_horriblesubs_convert_post_title_to_parts($post->post_title);
array_shift($parts);
$parts = array_map('trim', $parts);
$episode_id = get_post_meta($post->ID, 'episode', true);
if (is_numeric($episode_id) && $episode_id > 0) {
$animation_id = get_post_meta($episode_id, 'animation', true);
$animation = get_post($animation_id);
if (is_a($animation, 'WP_Post')) {
$post_link = fansub_horriblesubs_build_single_url($single_page, $animation->ID);
if (!fansub_array_has_value($parts)) {
}
$part = array_pop($parts);
if (!empty($part)) {
$tmp_part = array_pop($parts);
if (!empty($tmp_part)) {
$part = $tmp_part . '-' . $part;
}
$suffix = '<span class="suffix">' . ' - ' . $part . '</span>';
}
}
} else {
$animation_id = get_post_meta($post->ID, 'animation', true);
$animation = get_post($animation_id);
if (is_a($animation, 'WP_Post')) {
$post_link = fansub_horriblesubs_build_single_url($single_page, $animation->ID);
if (!fansub_array_has_value($parts)) {
}
$part = array_pop($parts);
if (!empty($part)) {
$tmp_part = array_pop($parts);
if (!empty($tmp_part)) {
$part = $tmp_part . '-' . $part;
}
$suffix = '<span class="suffix">' . ' - ' . $part . '</span>';
}
}
}
} else {
$post_title = $post->post_title;
$post_link = fansub_horriblesubs_build_single_url($single_page, $post->ID);
}
$link_html = new FANSUB_HTML('span');
$link_html->set_text($post_title);
$link_html->set_class('post-title-link');
$saved_suffix = get_post_meta($post->ID, 'suffix', true);
if (!empty($saved_suffix)) {
$suffix = '<span class="suffix">' . ' - ' . $saved_suffix . '</span>';
}
$qs = fansub_ph_get_qualities_and_servers(get_the_ID());
$qualities = $qs['qualities'];
$servers = $qs['servers'];
?>
<li <?php post_class(sanitize_html_class($post->post_type)); ?>>
<ul class="list-cols">
<li class="col-date"><span
class="post-date">(<?php echo get_the_date($date_format); ?>
)</span></li>
<li class="col-title"><span
class="post-title"><?php $link_html->output(); ?></span>
</li>
<li class="col-download">
<ul class="list-qualities">
<?php foreach ($qualities as $quality) : ?>
<?php
$file_name_key = 'quality_' . $quality . '_file_name';
$file_name = get_post_meta($post->ID, $file_name_key, true);
if (empty($file_name)) {
if ('episode' == $post->post_type) {
$ep_am_id = get_post_meta($post->ID, 'animation', true);
if (fansub_id_number_valid($ep_am_id)) {
$ep_am = get_post($ep_am_id);
$file_name = $ep_am->post_title . ' [' . $quality . ']';
}
} elseif ('batch' == $post->post_type) {
$bt_ep_id = get_post_meta($post->ID, 'episode', true);
if (fansub_id_number_valid($bt_ep_id)) {
$ep_am_id = get_post_meta($bt_ep_id, 'animation', true);
if (fansub_id_number_valid($ep_am_id)) {
$ep_am = get_post($ep_am_id);
$file_name = $ep_am->post_title . ' [' . $quality . ']';
}
} else {
$ep_am_id = get_post_meta($post->ID, 'animation', true);
if (fansub_id_number_valid($ep_am_id)) {
$ep_am = get_post($ep_am_id);
$file_name = $ep_am->post_title . ' [' . $quality . ']';
}
}
}
} else {
if (!fansub_string_contain($file_name, $quality)) {
//$file_name .= ' [' . $quality . ']';
}
}
$quality_item_class = 'quality quality-' . $quality;
$server_items_html = '<li class="server-item file-name">' . $file_name . '</li>';
$server_items_html .= fansub_ph_servers_loop($servers, $quality, $post, $quality_item_class);
fansub_ph_quality_item_html($quality, $quality_item_class, $server_items_html);
?>
<?php endforeach; ?>
</ul>
</li>
</ul>
</li>
<?php
}
wp_reset_postdata();
} else {
echo '<li>' . fansub_get_value_by_key($option_data, 'single_episode_none') . '</li>';
}
?>
</ul>
<?php
$query_vars['post__not_in'] = $post_not_in;
//unset($query_vars['post__not_in']);
?>
<input type="hidden" class="default-query-vars"
value="<?php echo esc_attr(json_encode($query->query_vars)); ?>"
autocomplete="off">
<input type="hidden" class="query-vars"
data-default="<?php echo esc_attr(json_encode($query_vars)); ?>"
value="<?php echo esc_attr(json_encode($query_vars)); ?>" autocomplete="off">
<input type="hidden" class="options-data"
value="<?php echo esc_attr(json_encode($data)); ?>" autocomplete="off">
</div>
<?php
$load_more_text = fansub_get_value_by_key($option_data, 'show_more_text');
$loading_text = fansub_get_value_by_key($option_data, 'loading_text');
$reached_end_text = fansub_get_value_by_key($option_data, 'reached_end_text');
?>
<?php if ($query->have_posts()) : ?>
<div class="morebox">
<a id="0" class="morebutton btn-more" style="display: block;" href="#"
data-reached-end-text="<?php echo $reached_end_text; ?>"
data-loading-text="<?php echo $loading_text; ?>"
data-text="<?php echo $load_more_text; ?>"><?php echo $load_more_text; ?></a>
</div>
<?php endif; ?>
</div>
</div>
<?php
$video = fansub_query_post_by_meta('animation', $animation->ID, array(
'post_type' => 'video',
'posts_per_page' => -1
), 'numeric');
$video_box_title = fansub_get_value_by_key($option_data, 'video_box_title', 'Promotional Videos');
if ($video->have_posts()) {
?>
<div class="video-box" data-post-id="<?php echo $animation->ID; ?>">
<div class="module-header">
<h2><?php echo $video_box_title; ?></h2>
</div>
<div class="module-body">
<div class="center">
<img alt=""
src="<?php echo fansub_get_image_url('icon-loading-circle-light-full.gif'); ?>"
style="border: medium none; box-shadow: none; display: block; margin: 80px auto; clear: both;">
</div>
</div>
</div>
<?php
}
?>
</div>
<?php if (comments_open($animation->ID)) : ?>
<div class="comments-area" id="comments">
<h2 class="comments-title"></h2>
<ul class="commentlist list-comments">
<?php wp_list_comments(array(), get_comments(array('post_id' => $animation->ID))); ?>
</ul>
<!-- .commentlist -->
<?php comment_form(array(), $animation->ID); ?>
</div>
<?php endif; ?>
</div>
<?php
$result = ob_get_clean();
}
}
return $result;
}
add_shortcode('fansub_single', 'fansub_horriblesubs_single_shortcode');
function fansub_horriblesubs_episode_shortcode($atts, $content = null)
{
$defaults = fansub_horriblesubs_get_option_defaults();
$option_data = fansub_horriblesubs_get_option();
$option_data = shortcode_atts($defaults, $option_data);
$option_data = shortcode_atts($option_data, $atts);
$release_title = fansub_get_value_by_key($option_data, 'release_box_title');
$post_number = fansub_get_value_by_key($option_data, 'posts_per_page');
$date_format = fansub_get_value_by_key($option_data, 'date_format');
$single_page = fansub_get_value_by_key($option_data, 'single_page');
$release_box_search_placeholder = fansub_get_value_by_key($option_data, 'release_box_search_placeholder');
$data = $option_data;
$result = '';
$title = isset($data['release_box_title']) ? $data['release_box_title'] : $release_title;
$number = isset($data['posts_per_page']) ? $data['posts_per_page'] : $post_number;
$query_args = array(
'posts_per_page' => $number,
'post_type' => 'episode'
);
$query = fansub_query($query_args);
$date_format = isset($data['date_format']) ? $data['date_format'] : $date_format;
$post_type = fansub_horriblesubs_get_post_type();
$option_data = fansub_horriblesubs_get_option();
$query_vars = $query->query_vars;
$post_not_in = isset($query->query_vars['post__not_in']) ? $query->query_vars['post__not_in'] : array();
$refresh_text = fansub_get_value_by_key($option_data, 'refresh_text');
$clear_text = fansub_get_value_by_key($option_data, 'clear_text');
ob_start();
?>
<div class="fansub-new-release fansub-box fansub-episode">
<?php if (!empty($title)) : ?>
<h2 class="box-title"><?php echo $title; ?></h2>
<?php endif; ?>
<div class="box-content" data-type="epsisode">
<form action="" id="search" class="searchbox search-form">
<div class="searchcontainer">
<input placeholder="<?php echo $release_box_search_placeholder; ?>" class="searchbar search-field">
</div>
<div class="refreshlink btn-refresh">
<a class="refreshbutton" href="#">
<i title="<?php echo $refresh_text; ?>" data-refresh-text="<?php echo $refresh_text; ?>"
data-clear-text="<?php echo $clear_text; ?>" class="dashicons dashicons-update"></i>
</a>
</div>
</form>
<div class="latest">
<ul class="list-releases">
<?php
while ($query->have_posts()) {
$query->the_post();
$post = get_post(get_the_ID());
$post_not_in[] = $post->ID;
$post_title = '';
$post_link = '#';
$suffix = '';
$parts = array();
if ('episode' == $post->post_type) {
$parts = fansub_horriblesubs_convert_post_title_to_parts($post->post_title);
array_shift($parts);
$parts = array_map('trim', $parts);
$animation_id = get_post_meta($post->ID, 'animation', true);
$animation = get_post($animation_id);
if (is_a($animation, 'WP_Post')) {
$post_title = $animation->post_title;
$post_link = fansub_horriblesubs_build_single_url($single_page, $animation->ID);
if (!fansub_array_has_value($parts)) {
}
$part = array_pop($parts);
if (!empty($part)) {
$suffix = '<span class="suffix">' . ' - ' . $part . '</span>';
}
}
} elseif ('batch' == $post->post_type) {
$parts = fansub_horriblesubs_convert_post_title_to_parts($post->post_title);
array_shift($parts);
$parts = array_map('trim', $parts);
$episode_id = get_post_meta($post->ID, 'episode', true);
if (is_numeric($episode_id) && $episode_id > 0) {
$animation_id = get_post_meta($episode_id, 'animation', true);
$animation = get_post($animation_id);
if (is_a($animation, 'WP_Post')) {
$post_title = $animation->post_title;
$post_link = fansub_horriblesubs_build_single_url($single_page, $animation->ID);
if (!fansub_array_has_value($parts)) {
}
$part = array_pop($parts);
if (!empty($part)) {
$tmp_part = array_pop($parts);
if (!empty($tmp_part)) {
$part = $tmp_part . '-' . $part;
}
$suffix = '<span class="suffix">' . ' - ' . $part . '</span>';
}
}
} else {
$animation_id = get_post_meta($post->ID, 'animation', true);
$animation = get_post($animation_id);
if (is_a($animation, 'WP_Post')) {
$post_title = $animation->post_title;
$post_link = fansub_horriblesubs_build_single_url($single_page, $animation->ID);
if (!fansub_array_has_value($parts)) {
}
$part = array_pop($parts);
if (!empty($part)) {
$tmp_part = array_pop($parts);
if (!empty($tmp_part)) {
$part = $tmp_part . '-' . $part;
}
$suffix = '<span class="suffix">' . ' - ' . $part . '</span>';
}
}
}
} else {
$post_title = $post->post_title;
$post_link = fansub_horriblesubs_build_single_url($single_page, $post->ID);
}
$link_html = new FANSUB_HTML('a');
$link_html->set_href($post_link);
$link_html->set_text($post_title);
$link_html->set_class('post-title-link');
$saved_suffix = get_post_meta($post->ID, 'suffix', true);
if (!empty($saved_suffix)) {
$suffix = '<span class="suffix">' . ' - ' . $saved_suffix . '</span>';
}
$qs = fansub_ph_get_qualities_and_servers(get_the_ID());
$qualities = $qs['qualities'];
$servers = $qs['servers'];
?>
<li <?php post_class(sanitize_html_class($post->post_type)); ?>>
<ul class="list-cols">
<li class="col-date"><span
class="post-date">(<?php echo get_the_date($date_format); ?>)</span></li>
<li class="col-title"><span
class="post-title"><?php $link_html->output(); ?><?php echo $suffix; ?></span>
</li>
<li class="col-download">
<ul class="list-qualities">
<?php foreach ($qualities as $quality) : ?>
<?php
$file_name_key = 'quality_' . $quality . '_file_name';
$file_name = get_post_meta($post->ID, $file_name_key, true);
if (empty($file_name)) {
if ('episode' == $post->post_type) {
$ep_am_id = get_post_meta($post->ID, 'animation', true);
if (fansub_id_number_valid($ep_am_id)) {
$ep_am = get_post($ep_am_id);
$file_name = $ep_am->post_title . ' [' . $quality . ']';
}
} elseif ('batch' == $post->post_type) {
$bt_ep_id = get_post_meta($post->ID, 'episode', true);
if (fansub_id_number_valid($bt_ep_id)) {
$ep_am_id = get_post_meta($bt_ep_id, 'animation', true);
if (fansub_id_number_valid($ep_am_id)) {
$ep_am = get_post($ep_am_id);
$file_name = $ep_am->post_title . ' [' . $quality . ']';
}
} else {
$ep_am_id = get_post_meta($post->ID, 'animation', true);
if (fansub_id_number_valid($ep_am_id)) {
$ep_am = get_post($ep_am_id);
$file_name = $ep_am->post_title . ' [' . $quality . ']';
}
}
}
} else {
if (!fansub_string_contain($file_name, $quality)) {
//$file_name .= ' [' . $quality . ']';
}
}
$quality_item_class = 'quality quality-' . $quality;
$server_items_html = '<li class="server-item file-name">' . $file_name . '</li>';
$server_items_html .= fansub_ph_servers_loop($servers, $quality, $post, $quality_item_class);
fansub_ph_quality_item_html($quality, $quality_item_class, $server_items_html);
?>
<?php endforeach; ?>
</ul>
</li>
</ul>
</li>
<?php
}
wp_reset_postdata();
?>
</ul>
<?php $query_vars['post__not_in'] = $post_not_in; ?>
<input type="hidden" class="default-query-vars"
value="<?php echo esc_attr(json_encode($query->query_vars)); ?>" autocomplete="off">
<input type="hidden" class="query-vars"
data-default="<?php echo esc_attr(json_encode($query_vars)); ?>"
value="<?php echo esc_attr(json_encode($query_vars)); ?>" autocomplete="off">
<input type="hidden" class="options-data" value="<?php echo esc_attr(json_encode($data)); ?>"
autocomplete="off">
</div>
<?php
$load_more_text = fansub_get_value_by_key($option_data, 'show_more_text');
$loading_text = fansub_get_value_by_key($option_data, 'loading_text');
$reached_end_text = fansub_get_value_by_key($option_data, 'reached_end_text');
?>
<div class="morebox">
<a id="0" class="morebutton btn-more" style="display: block;" href="#"
data-reached-end-text="<?php echo $reached_end_text; ?>"
data-loading-text="<?php echo $loading_text; ?>"
data-text="<?php echo $load_more_text; ?>"><?php echo $load_more_text; ?></a>
</div>
</div>
</div>
<?php
$result = ob_get_clean();
return $result;
}
add_shortcode('fansub_episode', 'fansub_horriblesubs_episode_shortcode');
function fansub_horriblesubs_batch_shortcode($atts, $content = null)
{
$defaults = fansub_horriblesubs_get_option_defaults();
$option_data = fansub_horriblesubs_get_option();
$option_data = shortcode_atts($defaults, $option_data);
$option_data = shortcode_atts($option_data, $atts);
$release_title = fansub_get_value_by_key($option_data, 'release_box_title');
$post_number = fansub_get_value_by_key($option_data, 'posts_per_page');
$date_format = fansub_get_value_by_key($option_data, 'date_format');
$single_page = fansub_get_value_by_key($option_data, 'single_page');
$release_box_search_placeholder = fansub_get_value_by_key($option_data, 'release_box_search_placeholder');
$data = $option_data;
$result = '';
$title = isset($data['release_box_title']) ? $data['release_box_title'] : $release_title;
$number = isset($data['posts_per_page']) ? $data['posts_per_page'] : $post_number;
$query_args = array(
'posts_per_page' => $number,
'post_type' => 'batch'
);
$query = fansub_query($query_args);
$date_format = isset($data['date_format']) ? $data['date_format'] : $date_format;
$post_type = fansub_horriblesubs_get_post_type();
$option_data = fansub_horriblesubs_get_option();
$query_vars = $query->query_vars;
$post_not_in = isset($query->query_vars['post__not_in']) ? $query->query_vars['post__not_in'] : array();
$refresh_text = fansub_get_value_by_key($option_data, 'refresh_text');
$clear_text = fansub_get_value_by_key($option_data, 'clear_text');
ob_start();
?>
<div class="fansub-new-release fansub-box fansub-batch">
<?php if (!empty($title)) : ?>
<h2 class="box-title"><?php echo $title; ?></h2>
<?php endif; ?>
<div class="box-content" data-type="batch">
<form action="" id="search" class="searchbox search-form">
<div class="searchcontainer">
<input placeholder="<?php echo $release_box_search_placeholder; ?>" class="searchbar search-field">
</div>
<div class="refreshlink btn-refresh">
<a class="refreshbutton" href="#">
<i title="<?php echo $refresh_text; ?>" data-refresh-text="<?php echo $refresh_text; ?>"
data-clear-text="<?php echo $clear_text; ?>" class="dashicons dashicons-update"></i>
</a>
</div>
</form>
<div class="latest">
<ul class="list-releases">
<?php
while ($query->have_posts()) {
$query->the_post();
$post = get_post(get_the_ID());
$post_not_in[] = $post->ID;
$post_title = $post->post_title;
$post_link = '#';
$suffix = '';
$parts = array();
if ('episode' == $post->post_type) {
$parts = fansub_horriblesubs_convert_post_title_to_parts($post->post_title);
array_shift($parts);
$parts = array_map('trim', $parts);
$animation_id = get_post_meta($post->ID, 'animation', true);
$animation = get_post($animation_id);
if (is_a($animation, 'WP_Post')) {
//$post_title = $animation->post_title;
$post_link = fansub_horriblesubs_build_single_url($single_page, $animation->ID);
if (!fansub_array_has_value($parts)) {
}
$part = array_pop($parts);
if (!empty($part)) {
$suffix = '<span class="suffix">' . ' - ' . $part . '</span>';
}
}
} elseif ('batch' == $post->post_type) {
$parts = fansub_horriblesubs_convert_post_title_to_parts($post->post_title);
array_shift($parts);
$parts = array_map('trim', $parts);
$episode_id = get_post_meta($post->ID, 'episode', true);
if (is_numeric($episode_id) && $episode_id > 0) {
$animation_id = get_post_meta($episode_id, 'animation', true);
$animation = get_post($animation_id);
if (is_a($animation, 'WP_Post')) {
//$post_title = $animation->post_title;
$post_link = fansub_horriblesubs_build_single_url($single_page, $animation->ID);
if (!fansub_array_has_value($parts)) {
}
$part = array_pop($parts);
if (!empty($part)) {
$tmp_part = array_pop($parts);
if (!empty($tmp_part)) {
$part = $tmp_part . '-' . $part;
}
$suffix = '<span class="suffix">' . ' - ' . $part . '</span>';
}
}
} else {
$animation_id = get_post_meta($post->ID, 'animation', true);
$animation = get_post($animation_id);
if (is_a($animation, 'WP_Post')) {
//$post_title = $animation->post_title;
$post_link = fansub_horriblesubs_build_single_url($single_page, $animation->ID);
if (!fansub_array_has_value($parts)) {
}
$part = array_pop($parts);
if (!empty($part)) {
$tmp_part = array_pop($parts);
if (!empty($tmp_part)) {
//$part = $tmp_part . '-' . $part;
}
$suffix = '<span class="suffix">' . ' - ' . $part . '</span>';
}
}
}
} else {
$post_title = $post->post_title;
$post_link = fansub_horriblesubs_build_single_url($single_page, $post->ID);
}
$link_html = new FANSUB_HTML('a');
$link_html->set_href($post_link);
$link_html->set_text($post_title);
$link_html->set_class('post-title-link');
$saved_suffix = get_post_meta($post->ID, 'suffix', true);
$suffix = '';
if (!empty($saved_suffix)) {
$suffix = '<span class="suffix">' . ' - ' . $saved_suffix . '</span>';
}
$qs = fansub_ph_get_qualities_and_servers(get_the_ID());
$qualities = $qs['qualities'];
$servers = $qs['servers'];
?>
<li <?php post_class(sanitize_html_class($post->post_type)); ?>>
<ul class="list-cols">
<li class="col-date"><span
class="post-date">(<?php echo get_the_date($date_format); ?>)</span></li>
<li class="col-title"><span
class="post-title"><?php $link_html->output(); ?><?php echo $suffix; ?></span>
</li>
<li class="col-download">
<ul class="list-qualities">
<?php foreach ($qualities as $quality) : ?>
<?php
$file_name_key = 'quality_' . $quality . '_file_name';
$file_name = get_post_meta($post->ID, $file_name_key, true);
if (empty($file_name)) {
if ('episode' == $post->post_type) {
$ep_am_id = get_post_meta($post->ID, 'animation', true);
if (fansub_id_number_valid($ep_am_id)) {
$ep_am = get_post($ep_am_id);
$file_name = $ep_am->post_title . ' [' . $quality . ']';
}
} elseif ('batch' == $post->post_type) {
$bt_ep_id = get_post_meta($post->ID, 'episode', true);
if (fansub_id_number_valid($bt_ep_id)) {
$ep_am_id = get_post_meta($bt_ep_id, 'animation', true);
if (fansub_id_number_valid($ep_am_id)) {
$ep_am = get_post($ep_am_id);
$file_name = $ep_am->post_title . ' [' . $quality . ']';
}
} else {
$ep_am_id = get_post_meta($post->ID, 'animation', true);
if (fansub_id_number_valid($ep_am_id)) {
$ep_am = get_post($ep_am_id);
$file_name = $ep_am->post_title . ' [' . $quality . ']';
}
}
}
} else {
if (!fansub_string_contain($file_name, $quality)) {
//$file_name .= ' [' . $quality . ']';
}
}
$quality_item_class = 'quality quality-' . $quality;
$server_items_html = '<li class="server-item file-name">' . $file_name . '</li>';
$server_items_html .= fansub_ph_servers_loop($servers, $quality, $post, $quality_item_class);
fansub_ph_quality_item_html($quality, $quality_item_class, $server_items_html);
?>
<?php endforeach; ?>
</ul>
</li>
</ul>
</li>
<?php
}
wp_reset_postdata();
?>
</ul>
<?php $query_vars['post__not_in'] = $post_not_in; ?>
<input type="hidden" class="default-query-vars"
value="<?php echo esc_attr(json_encode($query->query_vars)); ?>" autocomplete="off">
<input type="hidden" class="query-vars"
data-default="<?php echo esc_attr(json_encode($query_vars)); ?>"
value="<?php echo esc_attr(json_encode($query_vars)); ?>" autocomplete="off">
<input type="hidden" class="options-data" value="<?php echo esc_attr(json_encode($data)); ?>"
autocomplete="off">
</div>
<?php
$load_more_text = fansub_get_value_by_key($option_data, 'show_more_text');
$loading_text = fansub_get_value_by_key($option_data, 'loading_text');
$reached_end_text = fansub_get_value_by_key($option_data, 'reached_end_text');
?>
<div class="morebox">
<a id="0" class="morebutton btn-more" style="display: block;" href="#"
data-reached-end-text="<?php echo $reached_end_text; ?>"
data-loading-text="<?php echo $loading_text; ?>"
data-text="<?php echo $load_more_text; ?>"><?php echo $load_more_text; ?></a>
</div>
</div>
</div>
<?php
$result = ob_get_clean();
return $result;
}
add_shortcode('fansub_batch', 'fansub_horriblesubs_batch_shortcode');
function fansub_horriblesubs_anime_list($atts, $content = null)
{
$defaults = fansub_horriblesubs_get_option_defaults();
$option_data = fansub_horriblesubs_get_option();
$default_atts = array('title' => 'Anime Titles');
$option_data = wp_parse_args($option_data, $defaults);
$atts = shortcode_atts($default_atts, $atts);
$option_data = wp_parse_args($atts, $option_data);
$box_title = fansub_get_value_by_key($option_data, 'title');
$single_page = fansub_get_value_by_key($option_data, 'single_page');
$posts_per_page = fansub_get_value_by_key($option_data, 'anime_number', 20);
$posts_per_page = 12;
$post_type = fansub_horriblesubs_get_post_type();
$args = array(
'posts_per_page' => $posts_per_page,
'post_type' => $post_type,
'orderby' => 'title',
'order' => 'ASC',
'paged' => fansub_get_paged()
);
$query = fansub_query($args);
if (!empty($box_title)) {
$box_title = fansub_wrap_tag($box_title, 'h2');
}
$result = '<div class="anime-list fansub-new-release">' . $box_title;
if ($query->have_posts()) {
$pagination_args = array(
'query' => $query,
'show_first_item' => true,
'label' => '',
'first' => '««',
'last' => '»»',
'ajax' => true,
'current_item_link' => true
);
ob_start();
fansub_pagination($pagination_args);
$pagination = ob_get_clean();
$result .= $pagination;
$result .= '<ul class="list-unstyled list-animes">';
$loop_html = '';
while ($query->have_posts()) {
$query->the_post();
$permalink = fansub_horriblesubs_build_single_url($single_page, get_the_ID());
ob_start();
?>
<li <?php post_class(); ?>>
<?php
fansub_post_thumbnail(array(
'bfi_thumb' => false,
'lazyload' => true,
'before' => '<div class="anime-thumb">',
'after' => '</div>',
'permalink' => $permalink
));
fansub_post_title_link(array('permalink' => $permalink));
fansub_entry_summary();
?>
</li>
<?php
$loop_html .= ob_get_clean();
}
wp_reset_postdata();
$result .= $loop_html;
$result .= '</ul>';
$result .= $pagination;
}
$result .= '</div>';
return $result;
}
add_shortcode('fansub_list', 'fansub_horriblesubs_anime_list');
function fansub_horriblesubs_advanced_search($atts, $content = null)
{
$defaults = fansub_horriblesubs_get_option_defaults();
$option_data = fansub_horriblesubs_get_option();
$default_atts = array('title' => '');
$option_data = wp_parse_args($option_data, $defaults);
$atts = shortcode_atts($default_atts, $atts);
$option_data = wp_parse_args($atts, $option_data);
$box_title = fansub_get_value_by_key($option_data, 'title');
$placeholder = fansub_get_value_by_key($option_data, 'placehoder', 'Search Anime...');
$single_page = fansub_get_value_by_key($option_data, 'single_page');
$post_type = fansub_horriblesubs_get_post_type();
$q = isset($_REQUEST['q']) ? $_REQUEST['q'] : '';
$args = array(
'posts_per_page' => -1,
'post_type' => $post_type,
's' => $q
);
$query = fansub_query($args);
if (!empty($box_title)) {
$box_title = fansub_wrap_tag($box_title, 'h2');
}
$result = '<div class="advanced-search fansub-new-release">' . $box_title . '<div class="module-body">';
$form = fansub_search_form(array(
'placeholder' => $placeholder,
'action' => get_permalink(),
'echo' => false,
'class' => 'advanced-search-form',
'name' => 'q'
));
$result .= $form;
if ($query->have_posts() && !empty($q)) {
$result .= '<div class="anime-list search-results">';
$result .= '<h4>Search Results</h4>';
$result .= '<ul class="list-unstyled list-animes">';
$loop_html = '';
while ($query->have_posts()) {
$query->the_post();
$permalink = fansub_horriblesubs_build_single_url($single_page, get_the_ID());
ob_start();
?>
<li <?php post_class(); ?>>
<?php
fansub_post_thumbnail(array(
'bfi_thumb' => false,
'lazyload' => true,
'before' => '<div class="anime-thumb">',
'after' => '</div>',
'permalink' => $permalink
));
fansub_post_title_link(array('permalink' => $permalink));
fansub_entry_summary();
?>
</li>
<?php
$loop_html .= ob_get_clean();
}
wp_reset_postdata();
$result .= $loop_html;
$result .= '</ul></div>';
}
$result .= '</div></div>';
return $result;
}
add_shortcode('fansub_advanced_search', 'fansub_horriblesubs_advanced_search');
function fansub_horriblesubs_jwplayer_shortcode_embed($atts, $content = null)
{
$defaults = fansub_horriblesubs_get_option_defaults();
$option_data = fansub_horriblesubs_get_option();
$default_atts = array('title' => '');
$option_data = wp_parse_args($option_data, $defaults);
$atts = shortcode_atts($default_atts, $atts);
$option_data = wp_parse_args($atts, $option_data);
$post_id = fansub_get_value_by_key($option_data, 'post_id');
$result = '';
if (!fansub_id_number_valid($post_id)) {
$post_id = isset($_REQUEST['post_id']) ? $_REQUEST['post_id'] : 0;
}
if (fansub_id_number_valid($post_id)) {
global $post;
$tmp = $post;
$post = get_post($post_id);
setup_postdata($post);
ob_start();
the_content();
$html_data = ob_get_clean();
wp_reset_postdata();
$post = $tmp;
$result = $html_data;
}
return $result;
}
add_shortcode('fansub_jwplayer', 'fansub_horriblesubs_jwplayer_shortcode_embed');