<?php
// add any new or customised functions here
add_action( 'wp_enqueue_scripts', 'metro_pirate_enqueue_styles' );
function metro_pirate_enqueue_styles() {
	wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
	// Loads our main stylesheet.
	wp_enqueue_style( 'metro_pirate-child-style', get_stylesheet_uri() );
}	

add_action( 'after_setup_theme', 'metro_pirate_setup' );
function metro_pirate_setup() {
    load_child_theme_textdomain( 'metro-pirate', get_stylesheet_directory() . '/languages' );
}


/**
 * Notice in Customize to announce the theme is not maintained anymore
 */

function metro_pirate_customize_register( $wp_customize ) {

	require_once get_stylesheet_directory() . '/class-ti-notify.php';

	$wp_customize->register_section_type( 'Ti_Notify' );

	$wp_customize->add_section(
		new Ti_Notify(
			$wp_customize,
			'ti-notify',
			array( /* translators: link to our latest theme */
				'text'     => sprintf( __( 'This theme is not maintained anymore, check-out our latest free one-page theme: %1$s.','metro-pirate' ), sprintf( '<a href="' . admin_url( 'theme-install.php?theme=hestia' ) . '">%s</a>', 'Hestia' ) ),
				'priority' => 0,
			)
		)
	);

	$wp_customize->add_setting( 'metro-pirate-notify', array(
		'sanitize_callback' => 'esc_html',
	) );

	$wp_customize->add_control( 'metro-pirate-notify', array(
		'label'    => __( 'Notification', 'metro-pirate' ),
		'section'  => 'ti-notify',
		'priority' => 1,
	) );
}

add_action( 'customize_register', 'metro_pirate_customize_register' );

/**
 * Notice in admin dashboard to announce the theme is not maintained anymore
 */

function metro_pirate_admin_notice() {

	global $pagenow;

	if ( is_admin() && ( 'themes.php' == $pagenow ) && isset( $_GET['activated'] ) ) {
		echo '<div class="updated notice is-dismissible"><p>';
		/* translators: link to our latest theme */
		printf( __( 'This theme is not maintained anymore, check-out our latest free one-page theme: %1$s.','metro-pirate' ), sprintf( '<a href="' . admin_url( 'theme-install.php?theme=hestia' ) . '">%s</a>', 'Hestia' ) );
		echo '</p></div>';
	}
}

add_action( 'admin_notices', 'metro_pirate_admin_notice', 99 );

//↓↓↓↓↓ここから↓↓↓↓↓
// functions.phpに記載

function the_posts_pagination_bootstrap( $args = array() ) {
	$navigation = '';
	// 1ページのみの場合は出力しません。
	if ( $GLOBALS['wp_query']->max_num_pages > 1 ) {
		$args = wp_parse_args( $args, array(
			'mid_size'           => 1,
			'show_all'           => true,
			'prev_text'          => _x( 'Previous', 'previous post' ),
			'next_text'          => _x( 'Next', 'next post' ),
			'screen_reader_text' => __( 'Posts navigation' ),
		) );
		// typeは必ずlistにします。
		$args['type'] = 'list';
 
		//  ページ区切りリンクを準備します。
		$links = paginate_links( $args );
		if ( $links ) {
			// リストにBootstrapのクラス(ul.pagination)を付加します。
			$links = preg_replace(
				'#<ul class=\'page-numbers\'>#', 
				'<ul class=\'page-numbers pagination\'>', 
				$links);
				
			// 現在のページのリンクにBootstrapのクラス(li.active)を付加します。
			$links = preg_replace(
				'#<li><span class=\'page-numbers current\'#', 
				'<li class=\'active\'><span class=\'page-numbers current\'', 
				$links);
 
			// 「...」などのリンクではない部分にBootstrapのクラス(li.disabled)を付加します。
			$links = preg_replace(
				'#<li><span#', 
				'<li class=\'disabled\'><span', 
				$links);
 
			// リンクを囲うタグを準備します。(変更したい場合はここを直接編集するとよいです)
			$template = '
			<nav class="navigation pagination-outer" role="navigation">
				<div class="nav-links">%1$s</div>
			</nav>';
			$navigation = sprintf($template, $links);
		}
	}
 
	echo $navigation;
}


function get_per_page($fp, $pn){
    global $wp_query;
//      print('get_per_page start');
//      print(' fp = ');
//      print($fp);
//      print(' pn = ');
//      print($pn);
    // 結果の件数を取得
    $wp_query->found_posts = $fp;
    $fonud_posts = $wp_query->found_posts;
    // ページ当たりの件数を取得
    $page_range = get_query_var('posts_per_page');
    // 現在のページを取得
    $paged = get_query_var('paged') ?get_query_var('paged') :1 ;
    // 現在のページの開始件数を取得
    $start = $page_range * ($paged-1) + 1;
    // 現在のページの終了件数を取得
    $end = $page_range * $paged;
    if($fonud_posts <= $end){
        // 結果の件数が終了件数より小さい場合、終了件数に設定
        $end = $fonud_posts;
    }
    if($end == 0){
        // 終了件数が0の場合、開始件数も0に設定
        $start = 0;
    }
//print('get_template_directory_uri() = ');
//print(get_template_directory_uri());
//      print('$fonud_posts = ');
//      print($fonud_posts);
//      print('$page_range = ');
//      print($page_range);
//      print('$paged = ');
//      print($paged);
//      print('$start = ');
//      print($start);
//      print('$end = ');
//      print($end);
//      print('get_per_page end');
//    return $fonud_posts . '件中 ' . $start .' - '. $end . "件";
}









add_shortcode('avlabolist', 'view_test1');

function view_test1() {
    global $wpdb;
 

    // ★デバッグ用
    $wpdb->show_errors();
    
    // 現在のページを取得
    $pagenumber = get_query_var('paged') ?get_query_var('paged') :1 ;

//1ページの表示行数
//今回は5レコードずつ表示します
$noOfRows=50;

//      print('$fonud_posts = ');
//      print($fonud_posts);
//print("<br>");
//      print('$page_range = ');
//      print($page_range);
//print("<br>");
//      print('$paged = ');
//      print($paged);
//print("<br>");
//      print('$start = ');
//      print($start);
//print("<br>");
//      print('$end = ');
//      print($end);
//print("<br>");
//print("pagenumber = ");
//print($pagenumber);
//print("<br>");
//print("start = ");
//print('start');
//print("<br>");
//print("pagenumber = ");
//print($pagenumber);
//print("<br>");
//startパラメータはこのページの最初の行
//startパラメータが無ければ、start=0をセット
//if (isset ($_GET['start'])==false) {
//$start=0;
//} else {
//そうでなければstartパラメータの値をstart変数にセット
//$start = $_GET['start'];
//}
if ($pagenumber <= 1) {
$start=0;
} else {
//そうでなければstartパラメータの値をstart変数にセット
$pagenumber = $pagenumber - 1;
$start = $pagenumber * $noOfRows;
}

//データベースでクエリする最初の行にstart値をセット
$now_rows = $start;
//データベースでクエリする最後の行にstart値に表示行数を足し、1を引いた数をセット
$last_rows = $start + $noOfRows -1;


//    print("start = ");
//    print($start);
//print("<br>");
//    print("noOfRows = ");
//    print($noOfRows);
//print("<br>");
//    print("last_rows = ");
//    print($last_rows);
//print("<br>");
// $start 行から $noOfRows 行までをクエリ
    $sql = $wpdb->prepare("SELECT * FROM wp_avlabolist ORDER BY ID DESC LIMIT $start, $noOfRows");
//    print('<li>'.$sql.'</li>');

    $results = $wpdb->get_results($sql);

//if (!$result) {
//print('クエリに失敗しました: ' . mysql_error());
//}


    $cnt = 1;
    foreach ($results as $value) {
//        print($cnt);
//        print(". ");
        print($value->ID);
        print(". ");
//        print("<br>");
        print($value->紹介用リンク);
        print($value->紹介用プレイヤー);
//        print($value->紹介用画像リンク);
        	
//        if( 50 < $cnt) {
//        	$cnt = 0;
//        	echo '<br><!--nextpage-->';
//            print("<br><!--nextpage-->");
//        }
//        print($cnt);
        $cnt++;

    }


//      print("現在のページに表示されている件数 : ");
//      print($results->count());
//        print("<br>");
//      print("現在のページ数 : ");
//      print($results->currentPage());
//        print("<br>");
//      print("現在のページの最初の要素 : ");
//      print($results->firstItem());
//        print("<br>");
//      print("次のページがあるかどうか : ");
//      print($results->hasMorePages());
//        print("<br>");
//      print("現在のページの最後の要素 : ");
//      print($results->lastItem());
//        print("<br>");
//      print("最後のページ数 : ");
//      print($results->lastPage());
//        print("<br>");
//      print("次のページのURL : ");
//      print($results->nextPageUrl());
//        print("<br>");
//      print("1ページに表示する件数 : ");
//      print($results->perPage());
//        print("<br>");
//      print("前のページのURL : ");
//      print($resultsata->previousPageUrl());
//        print("<br>");
//      print("合計件数 : ");
//      print($results->total());
//        print("<br>");
//      print("指定ページのURL : ");
//      print($results->url(4));
//        print("<br>");




//最終行か否かの比較のため、テーブルのすべての行数を取得し all_rows 変数に保存しておく
//      print('bbbbbbbbbb');
//        print("<br>");
    $sql_all = $wpdb->prepare("SELECT * FROM wp_avlabolist ORDER BY id DESC");
    $result_all = $wpdb->get_results($sql_all);
    $max_num = $wpdb->num_rows;

// postsテーブルのデータ件数を取得する
//$result_all->execute();
//      print('eeeeeeeeee');
//        print("<br>");
//$page_num = $result_all->fetchColumn();
//      print('ffffffffff');
//        print("<br>");
$pagination = $max_num / 10;
// ページネーションの数を取得する
$pagination = ceil($max_num / 10);
//	print(' max_num = ');
//	print($max_num);
//        print("<br>");
//	print(' pagination = ');
//	print($pagination);
//        print("<br>");

$nav =  get_per_page($max_num, $pagination);
//      print(' nav = ');
//print($nav);
//        print("<br>");


//the_posts_pagination( array (
                        // prevに表示するタグ
//                        'prev_text' => __( 'Previous page', 'twentyfifteen' ),
                        // nextに表示するタグ
//                        'next_text' => __( 'Next page', 'twentyfifteen' ),
                        // ページャーの表示形式。default=plain
//                        'type' => 'list',
                        // 現在のページ前後に表示するページ数
//                        'mid_size' => 3,
                        // ページャー上に表示されるh2タグ
//                        'screen_reader_text' => $nav
//                    ) );
//      print(' nav1 = ');
//      print($nav1);
//      print(get_template_directory_uri());
    pagenation($max_num, '2');
//the_posts_pagination( array( 
//     'mid_size'           => 3, 
//     'prev_text'          => __( 'Previous page', 'twentyfifteen' ), 
//     'next_text'          => __( 'Next page', 'twentyfifteen' ), 
//     'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'twentyfifteen' ) . ' </span>', 
//) ); 


//print("<div class=pagination>");
//print("<ul>");
//for ($x=1; $x <= $pagination ; $x++) {
////    print("<a href='".get_pagenum_link($x)."'>" .$x. "</a>");
//    print("<a href='".get_pagenum_link($x)."'>" .$x. "</a>");
////					the_content(); 
////					wp_link_pages();
//} // End of for
//print("</ul>");
//print("</div>");

//      print('hhhhhhhhhh');
}

function pagenation($pages, $range)
{
//print("pagenation start");
     $showitems = ($range * 2)+1;//表示するページ数（５ページを表示）

     global $paged;//現在のページ値
     if(empty($paged)) $paged = 1;//デフォルトのページ

     if($pages == '')
     {
         global $wp_query;
         $pages = $wp_query->max_num_pages;//全ページ数を取得
         if(!$pages)//全ページ数が空の場合は、１とする
         {
             $pages = 1;
         }
     }

     if(1 != $pages)//全ページが１でない場合はページネーションを表示する
     {
print("<div class=pagination>");
print("<ul>");
		 //Prev：現在のページ値が１より大きい場合は表示
         if($paged > 1) echo "<a href='".get_pagenum_link($paged - 1)."'>Prev</a>";

         for ($i=1; $i <= $pages; $i++)
         {
             if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
             {
                //三項演算子での条件分岐
//                echo ($paged == $i)? "".$i."":"<a href='".get_pagenum_link($i)."'>".$i."</a>";
//    print(($paged == $i)? "".$i."":"<a href='".get_pagenum_link($x)."'>" .$x. "</a>");

if($paged == $i){
    print("<a>"  .$i. "</a>");
}
else {
    print("<a href='".get_pagenum_link($i)."'>" .$i. "</a>");
}

//                echo ($paged == $i)? "<li class=\"active\">".$i."</li>\n":"<li><a href='".get_pagenum_link($i)."'>".$i."</a></li>\n";
             }
         }
		//Next：総ページ数より現在のページ値が小さい場合は表示
//		if ($paged < $pages) echo "<a href=\"".get_pagenum_link($paged + 1)."\">Next</a>";
		if ($paged < $pages) {
		    print("<a href='".get_pagenum_link($paged + 1)."'>Next</a>");
		}
print("</ul>");
print("</div>");
     }
//print("pagenation end");
}

add_shortcode('avlabolist2', 'view_test2');

function view_test2() {
    global $wpdb;
 

    // ★デバッグ用
    $wpdb->show_errors();
    
    // 現在のページを取得
    $pagenumber = get_query_var('paged') ?get_query_var('paged') :1 ;

//1ページの表示行数
//今回は5レコードずつ表示します
$noOfRows=50;

//      print('$fonud_posts = ');
//      print($fonud_posts);
//print("<br>");
//      print('$page_range = ');
//      print($page_range);
//print("<br>");
//      print('$paged = ');
//      print($paged);
//print("<br>");
//      print('$start = ');
//      print($start);
//print("<br>");
//      print('$end = ');
//      print($end);
//print("<br>");
//print("pagenumber = ");
//print($pagenumber);
//print("<br>");
//print("start = ");
//print('start');
//print("<br>");
//print("pagenumber = ");
//print($pagenumber);
//print("<br>");
//startパラメータはこのページの最初の行
//startパラメータが無ければ、start=0をセット
//if (isset ($_GET['start'])==false) {
//$start=0;
//} else {
//そうでなければstartパラメータの値をstart変数にセット
//$start = $_GET['start'];
//}
if ($pagenumber <= 1) {
$start=0;
} else {
//そうでなければstartパラメータの値をstart変数にセット
$pagenumber = $pagenumber - 1;
$start = $pagenumber * $noOfRows;
}

//データベースでクエリする最初の行にstart値をセット
$now_rows = $start;
//データベースでクエリする最後の行にstart値に表示行数を足し、1を引いた数をセット
$last_rows = $start + $noOfRows -1;


//    print("start = ");
//    print($start);
//print("<br>");
//    print("noOfRows = ");
//    print($noOfRows);
//print("<br>");
//    print("last_rows = ");
//    print($last_rows);
//print("<br>");
// $start 行から $noOfRows 行までをクエリ
    $sql = $wpdb->prepare("SELECT * FROM wp_avlabolist ORDER BY ID DESC LIMIT $start, $noOfRows");
//    print('<li>'.$sql.'</li>');

    $results = $wpdb->get_results($sql);

//if (!$result) {
//print('クエリに失敗しました: ' . mysql_error());
//}


print("<table border='5'>");
print("<tbody>");

    $cnt = 1;
    foreach ($results as $value) {
print("<div style=float:left;>");
//        print($cnt);
//        print(". ");
        print($value->ID);
        print(". ");
//        print("<br>");
//        print($value->紹介用リンク);
//        print($value->紹介用プレイヤー);
        print($value->紹介用画像リンク);
        	
        $cnt++;

print("</div>");
    }
print("<div style=clear:both;>");
print("</tbody>");
print("</table>");


//最終行か否かの比較のため、テーブルのすべての行数を取得し all_rows 変数に保存しておく
    $sql_all = $wpdb->prepare("SELECT * FROM wp_avlabolist ORDER BY id DESC");
    $result_all = $wpdb->get_results($sql_all);

// postsテーブルのデータ件数を取得する
    $max_num = $wpdb->num_rows;
$pagination = $max_num / 10;
// ページネーションの数を取得する
$pagination = ceil($max_num / 10);

$nav =  get_per_page($max_num, $pagination);
    pagenation($max_num, '2');
}
//↑↑↑↑↑ここまで↑↑↑↑↑
