Guest User

Untitled

a guest
Jan 4th, 2019
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.55 KB | None | 0 0
  1. <?php
  2.  
  3. if ( ! defined( 'ABSPATH' ) ) {
  4. exit; // Exit if accessed directly
  5. }
  6.  
  7. function tr_grabber_pregetposts( $query ) {
  8. global $pagenow;
  9.  
  10. if ( $query->is_main_query() and !is_admin() and is_tax( 'letters' ) ) {
  11. global $wp_query;
  12.  
  13. $current = $wp_query->queried_object;
  14. $paged = ( get_query_var( 'trpage' ) ) ? get_query_var( 'trpage' ) : 1;
  15.  
  16. $query->set( 'post_type', array('movies', 'series') );
  17. $query->set( 'letters', '' );
  18. $query->set( '_name__like', $current->slug );
  19. $query->set( 'orderby', 'name' );
  20. $query->set( 'order', 'asc' );
  21. $query->set( 'paged', $paged );
  22.  
  23. }
  24.  
  25. if ( $query->is_main_query() && !is_admin() ) {
  26.  
  27. $_GET['tr_post_type'] = isset( $_GET['tr_post_type'] ) ? intval( $_GET['tr_post_type'] ) : '';
  28.  
  29. if( isset($_GET['tr_post_type']) and $_GET['tr_post_type'] == 1 ){
  30.  
  31. $pt = 'movies';
  32.  
  33. }elseif( isset($_GET['tr_post_type']) and $_GET['tr_post_type'] == 2 ) {
  34.  
  35. $pt = 'series';
  36.  
  37. }else{
  38.  
  39. $pt = array('movies', 'series', 'page');
  40.  
  41. }
  42.  
  43. $query->set('post_type', $pt );
  44.  
  45. }
  46. }
  47. add_action( 'pre_get_posts', 'tr_grabber_pregetposts' );
  48.  
  49. function tr_grabber_remove_menus() { remove_menu_page( 'edit.php' ); }
  50. add_action( 'admin_menu', 'tr_grabber_remove_menus' );
  51.  
  52. add_filter('manage_movies_posts_columns', 'tr_grabber_posts_columns');
  53. add_filter('manage_series_posts_columns', 'tr_grabber_posts_columns');
  54.  
  55. function tr_grabber_posts_columns( $columns ) {
  56. unset($columns['tags'], $columns['author'],
  57. $columns['categories'], $columns['comments'], $columns['date'], $columns['title']);
  58. return $columns;
  59. }
  60.  
  61. add_filter('manage_movies_posts_columns', 'tr_grabber_table_head');
  62. add_filter('manage_series_posts_columns', 'tr_grabber_table_head');
  63.  
  64. function tr_grabber_table_head( $defaults ) {
  65. global $wp_query;
  66. $defaults['tr-grabber-img'] = __($wp_query->found_posts.' Results', 'tr-grabber');
  67. $defaults['tr-grabber-year'] = __('Year', 'tr-grabber');
  68. $defaults['tr-grabber-duration'] = __('Duration', 'tr-grabber');
  69. $defaults['tr-grabber-options'] = __('Options', 'tr-grabber');
  70. return $defaults;
  71. }
  72.  
  73. add_action('manage_movies_posts_custom_column', 'tr_grabber_table_content' );
  74. add_action('manage_series_posts_custom_column', 'tr_grabber_table_content' );
  75.  
  76. function tr_grabber_table_content( $column_name ) {
  77. global $post;
  78.  
  79. if ($column_name == 'tr-grabber-img') {
  80. echo trgrabber_img( $post->ID, 'thumbnail', get_the_title( $post->ID ) ).'<span><a data-id="'.$post->ID.'" class="trgrabber_viewlink" href="#">'.get_the_title($post->ID).'</a></span>';
  81. }
  82. if ($column_name == 'tr-grabber-year') {
  83. trgrabber_info('year');
  84. }
  85. if ($column_name == 'tr-grabber-duration') {
  86. trgrabber_info('runtime');
  87. }
  88. if ($column_name == 'tr-grabber-options') {
  89. echo '<a data-id="'.$post->ID.'" class="button edtlnk trgrabber_editlink" href="#"><i class="dashicons dashicons-edit"></i>'.__('Edit', 'tr-grabber').'</a><a data-id="'.$post->ID.'" class="button dltlnk trgrabber_deletelink" href="#"><i class="dashicons dashicons-trash"></i>'.__('Delete', 'tr-grabber').'</a>';
  90. }
  91. }
  92.  
  93. add_filter( 'posts_where', function( $where, $q )
  94. {
  95. if( $name__like = $q->get( '_name__like' ) )
  96. {
  97. global $wpdb;
  98.  
  99. if($name__like=='0-9'){
  100. $where .= $wpdb->prepare(
  101. " AND {$wpdb->posts}.post_title REGEXP '%s' ",
  102. $wpdb->esc_like('^[0-9|+|-]')
  103. );
  104. }else{
  105. $where .= $wpdb->prepare(
  106. " AND {$wpdb->posts}.post_title LIKE %s ",
  107. str_replace(
  108. array( '**', '*' ),
  109. array( '*', '%' ),
  110. mb_strtolower( $wpdb->esc_like( $name__like ).'%' )
  111. )
  112. );
  113. }
  114.  
  115. }
  116. return $where;
  117. }, 10, 2 );
  118.  
  119. add_filter( 'terms_clauses', function( $clauses, $taxonomy, $args )
  120. {
  121. if ( ! empty( $args['trsearch'] ) ) {
  122. global $wpdb;
  123.  
  124. $clauses['where'] .= $wpdb->prepare(
  125. " AND t.slug LIKE %s",
  126. '%'.$wpdb->esc_like( $args['trsearch'] ).'%'
  127. );
  128.  
  129. }
  130.  
  131. return $clauses;
  132. }, 10, 3 );
  133.  
  134. add_action('pre_get_posts', function($qry) {
  135.  
  136. if (is_admin()) return;
  137.  
  138. if (is_tax('server') or is_tax('language') or is_tax('quality')){
  139. $qry->set_404();
  140. }
  141.  
  142. }
  143.  
  144. );
  145.  
  146. add_filter( 'pre_get_document_title', 'trg_filter_search_title', 9999 );
  147. add_filter( 'wp_title', 'trg_filter_search_title', 9999, 3 );
  148.  
  149. function trg_filter_search_title( $title ) {
  150. if(get_query_var('trfilter')==''){
  151. return $title;
  152. }else{
  153. return __('Advance Search', 'tttttttt');
  154. }
  155. }
  156.  
  157. add_filter( 'template_include', 'trgrabber_template', 99 );
  158.  
  159. function trgrabber_template( $template ) {
  160.  
  161. if( get_query_var('trembed') != '' and get_query_var('trid') != '' ) {
  162. $template = TR_GRABBER_PLUGIN_DIR.'inc/embed.php';
  163. }
  164.  
  165. if( get_query_var('trhide') ) {
  166. $template = TR_GRABBER_PLUGIN_DIR.'inc/hide.php';
  167. }
  168.  
  169. return $template;
  170. }
  171.  
  172. function dame_el_link($trdownload,$trid) {
  173.  
  174. if( $trdownload != '' and $trid != '' ) {
  175.  
  176. $type = get_term_meta( intval($trid), 'tr_id_post', true );
  177.  
  178. $link = $type == '' ? unserialize ( get_post_meta( intval($trid), 'trglinks_'.intval($trdownload), true ) ) : unserialize ( get_term_meta( intval($trid), 'trglinks_'.intval($trdownload), true ) );
  179.  
  180. $link = base64_decode( $link['link'] );
  181.  
  182. return $link;
  183. }
  184. }
  185.  
  186. function trgrabber_template_redirect() {
  187.  
  188. if( get_query_var('trdownload') != '' and get_query_var('trid') != '' ) {
  189.  
  190. $type = get_term_meta( intval(get_query_var('trid')), 'tr_id_post', true );
  191.  
  192. $link = $type == '' ? unserialize ( get_post_meta( intval(get_query_var('trid')), 'trglinks_'.intval(get_query_var('trdownload')), true ) ) : unserialize ( get_term_meta( intval(get_query_var('trid')), 'trglinks_'.intval(get_query_var('trdownload')), true ) );
  193.  
  194. $link = base64_decode( $link['link'] );
  195.  
  196. wp_redirect( esc_url_raw( $link, array('http', 'https') ) );
  197. die;
  198. }
  199.  
  200. }
  201. add_action( 'template_redirect', 'trgrabber_template_redirect' );
  202.  
  203. function thumbnailid_custom_field_filter($metadata, $object_id, $meta_key, $single) {
  204. global $post;
  205.  
  206. if($meta_key=='_thumbnail_id' && isset($meta_key)){
  207.  
  208. $custom_fields = get_post_custom($object_id);
  209.  
  210. $content= isset($custom_fields['_thumbnail_id']['0']) ? $custom_fields['_thumbnail_id']['0'] : 'hotlink';
  211.  
  212. return $content;
  213. }
  214. }
  215.  
  216. if( !is_admin() ){
  217. add_filter('get_post_metadata', 'thumbnailid_custom_field_filter', 10, 4);
  218. }
  219.  
  220. add_filter( 'get_terms_args', 'trgrabber_get_terms_args', 10, 3 );
  221.  
  222. function trgrabber_get_terms_args( $args, $taxonomies ) {
  223. global $pagenow;
  224.  
  225. if (in_array( $pagenow, array( 'edit-tags.php' ) ) and is_admin() and isset($args['taxonomy'][0]) and $args['taxonomy'][0] == 'episodes' and isset($_GET['tr_id_post']) ) {
  226.  
  227. if( isset($_GET['tr_season']) ) {
  228. $field_key = $_GET['tr_season'] == 0 ? 'season_special' : 'season_number';
  229. $field_value = $_GET['tr_season'] == 0 ? 1 : intval($_GET['tr_season']);
  230.  
  231. $args['meta_query'] = array(
  232. 'relation' => 'and',
  233. array(
  234. 'key' => 'tr_id_post',
  235. 'value' => intval($_GET['tr_id_post']),
  236. 'compare' => '='
  237. ),
  238. array(
  239. 'key' => $field_key,
  240. 'value' => $field_value,
  241. 'compare' => '='
  242. ),
  243. );
  244.  
  245. }else{
  246.  
  247. $args['meta_query'] = array(
  248. array(
  249. 'key' => 'tr_id_post',
  250. 'value' => intval($_GET['tr_id_post']),
  251. 'compare' => '='
  252. )
  253. );
  254.  
  255. }
  256.  
  257. }
  258.  
  259. if ( in_array( 'seasons', $taxonomies ) && is_admin() && isset( $_GET['tr_id_post'] ) ) {
  260.  
  261. if( isset($_GET['tr_season']) ) {
  262.  
  263. $field_key = $_GET['tr_season'] == 0 ? 'season_special' : 'season_number';
  264. $field_value = $_GET['tr_season'] == 0 ? 1 : intval($_GET['tr_season']);
  265.  
  266. $args['meta_query'] = array(
  267. 'relation' => 'and',
  268. array(
  269. 'key' => 'tr_id_post',
  270. 'value' => intval($_GET['tr_id_post']),
  271. 'compare' => '='
  272. ),
  273. array(
  274. 'key' => $field_key,
  275. 'value' => $field_value,
  276. 'compare' => '='
  277. ),
  278. );
  279.  
  280. }else{
  281.  
  282. $args['meta_query'] = array(
  283. array(
  284. 'key' => 'tr_id_post',
  285. 'value' => intval($_GET['tr_id_post']),
  286. 'compare' => '='
  287. )
  288. );
  289.  
  290. }
  291.  
  292.  
  293. }
  294.  
  295. return $args;
  296. }
  297.  
  298. function tr_episodes_columns( $columns )
  299. {
  300. unset($columns['slug']);
  301. unset($columns['posts']);
  302. unset($columns['description']);
  303.  
  304. $columns['tr_season'] = __('Season', 'tr-grabber');
  305. $columns['tr_episode'] = __('Episode', 'tr-grabber');
  306. $columns['tr_post'] = __('Post', 'tr-grabber');
  307.  
  308. return $columns;
  309. }
  310. add_filter('manage_edit-episodes_columns' , 'tr_episodes_columns');
  311.  
  312. function tr_episodes_columns_content( $content, $column_name, $term_id )
  313. {
  314. if ( 'tr_season' == $column_name ) {
  315. $season_number = get_term_meta($term_id, 'season_number', true) == '' ? 0 : get_term_meta($term_id, 'season_number', true);
  316. $content = $season_number;
  317. }
  318. if ( 'tr_episode' == $column_name ) {
  319. $content = get_term_meta($term_id, 'episode_number', true);
  320. }
  321. if ( 'tr_post' == $column_name ) {
  322. $content = '<a target="_blank" href="post.php?post='.get_term_meta($term_id, 'tr_id_post', true).'&action=edit">'.get_the_title( get_term_meta($term_id, 'tr_id_post', true) ).'</a>';
  323. }
  324. return $content;
  325. }
  326. add_filter( 'manage_episodes_custom_column', 'tr_episodes_columns_content', 10, 3 );
  327.  
  328. function tr_seasons_columns( $columns )
  329. {
  330. unset($columns['slug']);
  331. unset($columns['posts']);
  332. unset($columns['description']);
  333.  
  334. $columns['tr_season'] = __('Season', 'tr-grabber');
  335. $columns['tr_post'] = __('Post', 'tr-grabber');
  336.  
  337. return $columns;
  338. }
  339. add_filter('manage_edit-seasons_columns' , 'tr_seasons_columns');
  340.  
  341. function tr_seasons_columns_content( $content, $column_name, $term_id )
  342. {
  343. if ( 'tr_season' == $column_name ) {
  344. $content = get_term_meta($term_id, 'season_number', true);
  345. }
  346.  
  347. if ( 'tr_post' == $column_name ) {
  348. $content = '<a target="_blank" href="post.php?post='.get_term_meta($term_id, 'tr_id_post', true).'&action=edit">'.get_the_title( get_term_meta($term_id, 'tr_id_post', true) ).'</a>';
  349. }
  350. return $content;
  351. }
  352. add_filter( 'manage_seasons_custom_column', 'tr_seasons_columns_content', 10, 3 );
Advertisement
Add Comment
Please, Sign In to add comment