· 7 years ago · Sep 03, 2018, 11:08 PM
1<?php
2 echo '<title>CR members</title>';
3
4 // Creëer databases
5 $db = new SQLite3('db.sqlite');
6
7 // Definieer headers
8 $key = "Authorization: Bearer: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiIsImtpZCI6IjI4YTMxOGY3LTAwMDAtYTFlYi03ZmExLTJjNzQzM2M2Y2NhNSJ9.eyJpc3MiOiJzdXBlcmNlbGwiLCJhdWQiOiJzdXBlcmNlbGw6Z2FtZWFwaSIsImp0aSI6IjRjYjQzNDVlLWY1ZmUtNDZmMi04ZWI5LTBiNDc2YWM4ODU2MyIsImlhdCI6MTUzMjQyMjkwOSwic3ViIjoiZGV2ZWxvcGVyL2FkMWUyMzhhLWM4NTQtZWE0My0wMTY2LTMyODYwYzE1ZTQ0OSIsInNjb3BlcyI6WyJyb3lhbGUiXSwibGltaXRzIjpbeyJ0aWVyIjoiZGV2ZWxvcGVyL3NpbHZlciIsInR5cGUiOiJ0aHJvdHRsaW5nIn0seyJjaWRycyI6WyIzNC4yNTEuMTI4LjUwIl0sInR5cGUiOiJjbGllbnQifV19.C1r9iyOi7wiEG997fCIMv5ixwrRoz93AwDHyALVzWxpuBuqyJM3b2NPzA6Q4hIZelZi_LRNgd7MoztmC5RG9xg";
9
10 // Clantag zonder #
11 $clantag = '82P2VV0';
12
13 // Definieer API URL
14 $api_url = 'https://api.clashroyale.com/v1/clans/%23'.$clantag.'/';
15
16 // Maak curl object
17 $ch = curl_init();
18 curl_setopt($ch, CURLOPT_URL, $api_url);
19 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
20 curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json' , $key ]);
21
22 // Run curl object
23 $rawdata = curl_exec($ch);
24
25 // Toon data
26 echo '<div style="height:400px;overflow:auto;border:1px solid;">' . $rawdata . '</div>';
27
28 // Converteer
29 $data = json_decode($rawdata);
30
31 // Ruim curl object op
32 curl_close($ch);
33
34 // Ga items object in
35 $real_data = $data;
36
37 // Maak een database aan met de leden
38 $sql = 'CREATE TABLE IF NOT EXISTS "members" ("name" TEXT NOT NULL, "tag" TEXT PRIMARY KEY NOT NULL, "role" TEXT, "status" INTEGER NOT NULL, "level" NUMERIC, "trophies" NUMERIC NOT NULL, "don_given" NUMERIC, "don_receiv" NUMERIC, "time_joined" TEXT, "time_left" TEXT)';
39 $db->exec($sql) or die('Tabel maken mislukt');
40
41 // Vervang alle status-waarden door 0 (inactief) en rapporteer voor degenen die de clan verlaten wanneer dat gebeurt
42 //$sql = "UPDATE 'members' SET status = 0, time_left = datetime('now') WHERE status != 0";
43 //$db->exec($sql) or die('Activiteit resetten mislukt');
44
45 // Loop through memberlist
46 foreach ($real_data->memberList as $members) {
47
48 // Get some basic info
49 $name = $members->name;
50 $tag = $members->tag;
51 $role = $members->role;
52 $level = $members->expLevel;
53 $trophies = $members->trophies;
54 $don_given = $members->donations;
55 $don_receiv = $members->donationsReceived;
56 $time_left = time(); //Met de corresponderende tijd
57
58 //var_dump($tag);
59 $sql = 'SELECT * FROM "members" WHERE tag = "'.$tag.'"';
60 $aantal = $db->exec($sql) or die('Tagcheck mislukt');
61
62 var_dump($aantal);
63 //$rows = $aantal->numRows();
64 //echo $rows;
65 $a = sqlite_fetch_array($aantal, SQLITE_NUM);
66 var_dump($a);
67
68 if ($aantal == 0) {
69 // Bestaat niet in de database, dus lid is gejoind:
70 $time_joined = time();
71 $status = 1;
72
73 $sql = 'INSERT OR REPLACE INTO "members" VALUES ("'.$name.'","'.$tag.'","'.$role.'","'.$status.'","'.$level.'","'.$trophies.'","'.$don_given.'","'.$don_receiv.'","'.$time_joined.'","'.$time_left.'")';
74 $db->exec($sql) or die('Error 1');
75
76 echo '<b>2. Naam: ' .$name. ', tag: ' .$tag. ', time_left: '.$time_left.'</b><br />';
77 } else if ($aantal == 1) {
78 $status = $db->exec('SELECT status FROM "members" WHERE tag = "'.$tag.'"') or die('Status ophalen mislukt');
79 // Lid bestaat al in de database, dus is lid (geweest)
80 echo $status.'-';
81 if ($status == 0) {
82 // Lid is teruggekomen in de clan
83 $time_joined = time();
84 $status = 1;
85
86 $sql = 'UPDATE `members` SET level = $level, role = $role, status = $status, trophies = $trophies, don_given = $don_given, don_receiv = $don_receiv, time_joined = $time_joined, time_left = $time_left WHERE tag = $tag';
87
88 $db->exec($sql) or die('Error 2');
89 echo '<b>2. Naam: ' .$name. ', tag: ' .$tag. ', time_left: '.$time_left.'</b><br />';
90
91 } else if ($status == 1) {
92 // Lid bestaat al en is in de clan gebleven
93 echo '<b>3. Naam: ' .$name.$role. ', tag: ' .$tag. ', time_left: '.$time_left.'</b><br />';
94
95 $sql = 'UPDATE "members" SET level = '.$level.', role = "'.$role.'", status = '.$status.', trophies = '.$trophies.', don_given = '.$don_given.', don_receiv = '.$don_receiv.', time_left = '.$time_left.' WHERE tag = "'.$tag.'"';
96
97 echo '<span class="SQL">'.$sql.'</span><br /><br />';
98
99 $db->exec($sql) or die('Error 3');
100
101 }
102 }
103
104 // Print
105
106
107 // Schrijf weg in database
108 //$db->exec($sql) or die('Toevoegen data mislukt.');
109 }
110
111 // Nu alle leden die nu lid zijn zijn toegevoegd, check welke leden ontbreken en verander hun status in 0 (uit de clan)
112 $sql = 'UPDATE "members" SET status = 0 WHERE time_left != "'.time().'"';
113 echo '<br />'.$sql;
114 $db->exec($sql) or die('Status wijzigen mislukt');
115?>