/lenasys/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/lenasys/trunk

« back to all changes in this revision

Viewing changes to WebGL and Benchmarking/Benchy.php

  • Committer: elof.bigestans at gmail
  • Date: 2013-04-03 08:06:30 UTC
  • mto: This revision was merged to the branch mainline in revision 9.
  • Revision ID: elof.bigestans@gmail.com-20130403080630-r721wlstq15mdjby
Added new folders to match new folder structure

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?php
2
 
 
3
 
        // FPS Benchmarking Tool with User Agent Logging
4
 
 
5
 
        // Version 1.0
6
 
        //              Basic Insert Only
7
 
        // Version 2.0
8
 
        //              User Agent Parsing (mostly working for Windows Android Linux OSX Meego Maemo SunOS including versions in most)
9
 
        //              Host Lookup
10
 
        //
11
 
        //    Testing is necessary to confirm that it works for more operating systems / browsers etc
12
 
 
13
 
        function versi($string, $sep, $adder)
14
 
        {
15
 
                $starts = strpos($string, $sep);
16
 
                return substr($string, $starts + $adder);
17
 
        }
18
 
 
19
 
        $userID = substr($_POST['User'], 0, 20);
20
 
        $app = substr($_POST['App'], 0, 20);
21
 
        $fps = $_POST['Fps'];
22
 
        $maxFps = $_POST['MaxFps'];
23
 
        $runtime = $_POST['RunTime'];
24
 
        $ip = $_SERVER['REMOTE_ADDR'];
25
 
        $userAgent = substr($_SERVER['HTTP_USER_AGENT'], 0, 1020);
26
 
 
27
 
        $workstr = $userAgent;
28
 
 
29
 
        $starts = strpos($workstr, "(");
30
 
        $ends = strpos($workstr, ")");
31
 
        $ustr = substr($workstr, $starts + 1, $ends - $starts - 1);
32
 
 
33
 
        $host = gethostbyaddr($ip);
34
 
 
35
 
        $splitagent = explode(";", $ustr);
36
 
 
37
 
        $lstr = substr($workstr, $ends + 2);
38
 
        $splitbrows = explode(" ", $lstr);
39
 
 
40
 
        $os = "";
41
 
        $osvers = "";
42
 
 
43
 
        foreach($splitagent as $sst) {
44
 
                if(strpos($sst, "Mac OS X")  !== false) {
45
 
                        $os = "Mac OS X";
46
 
                        $osvers = versi($sst, "Mac OS X", 9);
47
 
                        $osvers = str_replace("_", ".", $osvers);
48
 
                }
49
 
                if(strpos($sst, "Windows NT")  !== false) {
50
 
                        $os = "Windows";
51
 
                        $osvers = versi($sst, "Windows NT", 11);
52
 
                }
53
 
                if(strpos($sst, "SunOS")  !== false) {
54
 
                        $os = "Solaris";
55
 
                        $osvers = versi($sst, "SunOS", 6);
56
 
                }
57
 
                if(strpos($sst, "Android")  !== false) {
58
 
                        $os = "Android";
59
 
                        $osvers = versi($sst, "Android", 7);
60
 
                }
61
 
                if(strpos($sst, "MeeGo")  !== false) {
62
 
                        $os = "MeeGo";
63
 
                }
64
 
                if(strpos($sst, "Maemo")  !== false) {
65
 
                        $os = "Maemo";
66
 
                }
67
 
                if(strpos($sst, "Ubuntu")  !== false) {
68
 
                        $os = "Ubuntu";
69
 
                }
70
 
        }
71
 
 
72
 
        if(empty($os)) {
73
 
                foreach($splitagent as $sst) {
74
 
                        if(strpos($sst, "Linux")  !== false) {
75
 
                                $os = "Linux";
76
 
                                $osvers = versi($sst, "Linux", 5);
77
 
                        }
78
 
                }
79
 
        }
80
 
 
81
 
        if(empty($os)) {
82
 
                echo "<tr>";
83
 
                echo "<td>UNKNOWN OS</td>";     
84
 
                foreach($splitagent as $sst) {
85
 
                        echo "<td>".$sst."</td>";       
86
 
                }
87
 
                echo "</tr>";   
88
 
        } 
89
 
 
90
 
        $browser = "";
91
 
        $bversion = "";
92
 
 
93
 
        foreach($splitagent as $sst) {
94
 
                if(strpos($sst, "MSIE")  !== false) {
95
 
                        $browser = "Internet Explorer";
96
 
                        $bversion = substr($sst, 6);
97
 
                }
98
 
        }
99
 
 
100
 
        foreach($splitbrows as $sst) {
101
 
                if(strpos($sst, "Chrome/")  !== false) {
102
 
                        $browser = "Chrome";
103
 
                        $bversion = versi($sst, "/", 1);
104
 
                }
105
 
                if(strpos($sst, "Safari/")  !== false) {
106
 
                        if(strcmp($browser, "Chrome") != 0) {
107
 
                                $browser = "Safari";
108
 
                                $bversion = versi($sst, "/", 1);
109
 
                        }
110
 
                }               
111
 
                if(strpos($sst, "Firefox/")  !== false) {
112
 
                        $browser = "Firefox";
113
 
                        $bversion = versi($sst, "/", 1);
114
 
                }
115
 
                if(strpos($sst, "Version/")  !== false) {
116
 
                        $browser = "Opera";
117
 
                        $bversion = versi($sst, "/", 1);
118
 
                }
119
 
        }
120
 
 
121
 
        if(empty($browser)) {
122
 
                echo "<tr>";
123
 
                echo "<td>UNKNOWN BROWSER</td>";        
124
 
                foreach($splitbrows as $sst) {
125
 
                        echo "<td>". $sst ."</td>";     
126
 
                }
127
 
                echo "</tr>";   
128
 
        }
129
 
 
130
 
        $renderer = "";
131
 
        $rversion = "";
132
 
 
133
 
        foreach($splitagent as $sst) {
134
 
                if(strpos($sst, "Trident/")  !== false) {
135
 
                        $renderer = "Trident";
136
 
                        $rversion = versi($sst, "/", 1);
137
 
                }
138
 
        }
139
 
 
140
 
        foreach($splitbrows as $sst) {
141
 
                if(strpos($sst, "Gecko/")  !== false) {
142
 
                        $renderer = "Gecko";
143
 
                        $rversion = versi($sst, "/", 1);
144
 
                }
145
 
                if(strpos($sst, "Presto/")  !== false) {
146
 
                        $renderer = "Presto";
147
 
                        $rversion = versi($sst, "/", 1);
148
 
                }               
149
 
                if(strpos($sst, "AppleWebKit/")  !== false) {
150
 
                        $renderer = "WebKit";
151
 
                        $rversion = versi($sst, "/", 1);
152
 
                }
153
 
        }                       
154
 
 
155
 
        if(empty($renderer)) {
156
 
                echo "<tr>";
157
 
                echo "<td>UNKNOWN RENDERER</td>";       
158
 
                foreach($splitbrows as $sst) {
159
 
                        echo "<td>". $sst ."</td>";     
160
 
                }
161
 
                echo "</tr>";   
162
 
        }
163
 
 
164
 
        $pdo  =  new PDO('mysql:dbname = benchy;host = localhost',  'wikiadmin',  'kingfisher');
165
 
 
166
 
        $sql  =  'INSERT INTO benchmark(userID, app, fps, maxfps, runtime, ip, useragent, ts, os, osversion, renderer, rversion, browser, bversion, host) VALUES(:userID, :app, :fps, :maxfps, :runtime, :ip, :useragent, NOW(), :os, :osversion, :renderer, :rversion, :browser, :bversion, :host);';
167
 
 
168
 
        $stmt  =  $pdo->prepare($sql);
169
 
        $stmt->bindParam(':userID',  $userID);
170
 
        $stmt->bindParam(':app',  $app);
171
 
        $stmt->bindParam(':fps',  $fps);
172
 
        $stmt->bindParam(':maxfps',  $maxFps);
173
 
        $stmt->bindParam(':runtime',  $runtime);
174
 
        $stmt->bindParam(':ip',  $ip);
175
 
        $stmt->bindParam(':useragent',  $userAgent);
176
 
        $stmt->bindParam(':os',  $os);
177
 
        $stmt->bindParam(':osversion',  $osvers);
178
 
        $stmt->bindParam(':browser',  $browser);
179
 
        $stmt->bindParam(':bversion',  $bversion);
180
 
        $stmt->bindParam(':renderer',  $renderer);
181
 
        $stmt->bindParam(':rversion',  $rversion);
182
 
        $stmt->bindParam(':host',  $host);
183
 
 
184
 
        try { 
185
 
                $stmt->execute();                                                  
186
 
        } catch (PDOException $e) {
187
 
                echo $e->getMessage();
188
 
        }
189
 
 
190
 
?>
 
 
b'\\ No newline at end of file'