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