GetAllSchoolDataGroupByEntryTitle(); $topics_data = $All->GetTopicsData(); $blog_data = $News->GetBlogDataForAllIndex(); // スクールデータランダム $max_rand = count($school_data) - 1; srand((double)microtime() * 1000000); $array_key = array_rand($school_data,7); for ($i=0; $i<7; $i++){ $rand_school_data[$i] = $school_data[$array_key[$i]]; } //print_r($school_data); // ニュースデータ生成 ----------------------------------------------------- $news_data1 = $All->GetNewsByCategoryData(); $news_data2 = $All->GetNewsData(); $robot_news_data = $News->GetNewsData(); $news_data = array_merge($news_data1,$news_data2,$robot_news_data); foreach ($news_data as $key => $value){ if (trim($value['entry_authored_on']) != "") { $news_data[$key]['format_update'] = $value['entry_authored_on']; } elseif (trim($value['upd_date']) != "") { $news_data[$key]['format_update'] = $value['upd_date']; } //print_r($key."|".$news_data[$key]['format_update']."
"); } /*******************************************/ /* マージされた配列を日付順にソートします */ /******************************************/ function NewsDataSort($val1,$val2){ if ($val1["format_update"] < $val2["format_update"]) return 1; if ($val1["format_update"] > $val2["format_update"]) return -1; return 0; } Usort($news_data,"NewsDataSort"); // ----------------------------------------------------------------------- // 一か月前の日時を取得する。 $new_mark_close_date = strtotime("-1 month"); // 本日から1か月以内の投稿がNew表示 $smarty->assign("new_mark_close_date",$new_mark_close_date); // 前日の日時を取得する。 $yesterday = strtotime("-1 day"); $smarty->assign("yesterday",$yesterday); // サイト名取得 ----------------------------------------------------------- $setting_ini_data = parse_ini_file(SETTING_INI,true); foreach ($setting_ini_data['site'] as $key => $value){ if (mb_strlen($value) > 28) { $setting_ini_data['site'][$key] = mb_strcut($value,0,28,"EUC-JP"); } } // ------------------------------------------------------------------------ $school_news_data = new News_SchoolData(); $global_news_data= new GrobalReportNewsData(); $gyokai_page = $_GET['gyokai_page']; if (trim($_GET['gyokai_page']) == "") { $gyokai_page = "1"; } // データ取得 $school_news_data = $school_news_data->GetSchool_Data(); $global_data = $global_news_data->GetData(); //src取り出し for ($i = 0; $i <= count($school_news_data); $i++) { if ($school_news_data[$i]['entry_meta_vclob'] != null ){ preg_match_all("/(https?:\/\/[^\"]+)/i", $school_news_data[$i]['entry_meta_vclob'], $links); $school_news_data[$i]['entry_meta_vclob'] = $links[0][0]; } } for ($i = 0; $i <= count($global_data); $i++) { if ($global_data[$i]['entry_meta_vclob'] != null ){ preg_match_all("/(https?:\/\/[^\"]+)/i", $global_data[$i]['entry_meta_vclob'], $links); $global_data[$i]['entry_meta_vclob'] = $links[0][0]; } } //3番目の引数は下のPageCtlの3番目の引数と同じでするべき //開発者コメント //pear のpagerが使えなかったので仕方なかった。 $gyokaiPager = Pager::getPager(count($news_data), $gyokai_page, 10, 10); $gyokaiPages=array(); for ($i = $gyokaiPager['start_page']; $i <= $gyokaiPager['end_page']; $i++) { $gyokaiPages[] = $i; } // ページ遷移用データ(最新2件表示) --------------- $gyokai_page = new PageCtl($gyokai_page,$news_data,10); //-------------------------------------------------- // データを渡す $smarty->assign("gyokaiPage",$gyokai_page); $smarty->assign("gyokaiData",$gyokai_page->show_data); $smarty->assign("gyokaiBack",$gyokaiPager['prev']); $smarty->assign("gyokaiNext",$gyokaiPager['next']); $smarty->assign("gyokaiCurpage",$gyokaiPager['curpage']); $smarty->assign("gyokaiPages",$gyokaiPages); $smarty->assign("gyokai_size",count($news_data)); $smarty->assign("now_year",date("Y")); // 表示する $smarty->display(TEMPLATE_DIR."news/newsarchive.html"); ?>