3 require_once 'dump_file.inc';
4 require_once 'FeedWriter/vendor/autoload.php';
10 public function __construct($db)
16 * ATOM形式の新着スコア一覧のフィードを生成する
18 * @param $feed_path フィードを書き込むファイルのパス
20 public function make_atom_feed($feed_path)
22 $base_url = "http://". filter_input(INPUT_SERVER, 'SERVER_NAME') . dirname(filter_input(INPUT_SERVER, 'SCRIPT_NAME'));
26 $feed->setTitle('変愚蛮怒 スコアランキング (新着順)');
27 $feed->setDescription('変愚蛮怒新着スコア');
28 $feed->setLink("{$base_url}/score_ranking.php?sort=newcome");
29 $feed->setDate(new DateTime());
30 $feed->setImage("http://".filter_input(INPUT_SERVER, 'SERVER_NAME')."/tama.gif");
31 $feed->setSelfLink("{$base_url}/$feed_path");
33 $this->db->set_sort_mode('newcome');
34 $search_result = $this->db->search_score(0, 30); // 最新30件を取得
36 foreach ($search_result['scores'] as $s) {
37 $item = $feed->createNewItem();
39 $dump_url = "${base_url}/show_dump.php?score_id={$s['score_id']}";
40 $item->setTitle("{$s['personality_name']}{$s['name']} Score:{$s['score']} {$s['race_name']} {$s['class_name']} {$s['death_reason']} @{$s['depth']}F");
41 $item->setLink($dump_url);
42 $item->setDate($s['date']);
44 $dump_file = new DumpFile($s['score_id']);
47 array_map(function ($v) {
48 return htmlentities($v).'<br>';
49 }, $dump_file->get_last_message())
51 $item->setContent($contents);
53 $feed->addItem($item);
56 return file_put_contents($feed_path, $feed->generateFeed());