Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 190 lines (170 sloc) 5.774 kb
c85be22 @jk init
authored
1 <?php
0001df3 @jk README überarbeitet, Avatar-Hinweis geschrieben
authored
2 require_once('config.php');
3
1b4da08 @jk getFollower.php holt sich jetzt auch die aktuellen Userinfos und spei…
authored
4 define('USERDIR', DIR.'/'.strtolower(USER));
5 $user = simplexml_load_string(file_get_contents(DIR.'/'.strtolower(USER).'.xml'));
c85be22 @jk init
authored
6 ?>
7 <?= '<?xml version="1.0" encoding="UTF-8"?>'."\n"; ?>
8 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
9 "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
10
e6cd421 @jk README mal wieder angepasst. Hinweis auf's Projekt in der Indexseite …
authored
11 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
c85be22 @jk init
authored
12 <head>
13 <title><?= USER; ?>'s follower</title>
e6cd421 @jk README mal wieder angepasst. Hinweis auf's Projekt in der Indexseite …
authored
14 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
15 <meta http-equiv="content-language" content="de"/>
16 <meta name="revisit-after" content="1 days"/>
0001df3 @jk README überarbeitet, Avatar-Hinweis geschrieben
authored
17 <meta name="viewport" content="width=460, user-scalable=yes" />
c85be22 @jk init
authored
18 <style>
19 body {
20 font-family: Helvetica, Arial, sans-serif;
21 }
22 h1 {
23 margin-bottom: 0px;
24 }
25 h3 {
26 margin-top: 0px;
27 }
28 .day {
29 float:left;
30 width:50px;
31 background-color: #EFF5FB;
32 color: #81BEF7;
33 font-size: 20pt;
34 text-align: center;
35 }
36 span.cntAdd, span.cntDel {
37 color: lightgray;
38 font-weight: normal;
39 }
40 a {
41 text-decoration: none;
42 color: #2E9AFE;
43 }
44 a:hover {
45 text-decoration: underline;
46 }
47 #location {
48 color: gray;
49 }
50 </style>
f2d04f7 @jk Noch ein paar Bugs gefixt. Diese Version funktioniert nun auch auf de…
authored
51 <?php if(GOOGLE_ANALYTICS_ID != ''): ?>
c85be22 @jk init
authored
52 <script type="text/javascript">
53 var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
54 document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
55 </script>
56 <script type="text/javascript">
0001df3 @jk README überarbeitet, Avatar-Hinweis geschrieben
authored
57 var pageTracker = _gat._getTracker("<?= GOOGLE_ANALYTICS_ID; ?>");
c85be22 @jk init
authored
58 pageTracker._initData();
59 pageTracker._trackPageview();
60 </script>
0001df3 @jk README überarbeitet, Avatar-Hinweis geschrieben
authored
61 <?php endif; ?>
c85be22 @jk init
authored
62 </head>
63
64 <body>
f2d04f7 @jk Noch ein paar Bugs gefixt. Diese Version funktioniert nun auch auf de…
authored
65 <img src="<?= str_replace('_normal', '_bigger', $user->profile_image_url); ?>" border="0" align="left" style="padding-right: 5px; padding-bottom: 10px;" width=73 height=73 />
1b4da08 @jk getFollower.php holt sich jetzt auch die aktuellen Userinfos und spei…
authored
66 <h1><a href="http://twitter.com/<?= $user->screen_name; ?>">@<?= $user->screen_name; ?></a> / <?= $user->name; ?></h1>
67 <div id="location">Standort: <strong><?= $user->location; ?></strong></div>
c85be22 @jk init
authored
68 <?php
69
70 function parseDate($strTime) {
71 $y = substr($strTime, 0, 4);
72 $m = substr($strTime, 4, 2);
73 $d = substr($strTime, 6, 2);
74
75 return strtotime("$y-$m-$d 00:00:00");
76 }
77
78 $files = array();
1b4da08 @jk getFollower.php holt sich jetzt auch die aktuellen Userinfos und spei…
authored
79 if ($handle = opendir(USERDIR)) {
c85be22 @jk init
authored
80 while (false !== ($file = readdir($handle))) {
81 if (!is_dir($file) && $file != '.' && $file != '..' && substr($file, 0, 1) != '.' ) {
82 $files[] = $file;
83 }
84 }
85 closedir($handle);
86 }
87
618b9cf @jk Einige Bugs in getFollower.php behoben
authored
88 if (strtolower(ORDER) == 'older')
c85be22 @jk init
authored
89 rsort($files);
90 else
91 sort($files);
92
93 $adds = array();
94 $dels = array();
95
96 $last = '';
0001df3 @jk README überarbeitet, Avatar-Hinweis geschrieben
authored
97 for ($i = 0; $i < min(count($files), DAYS); $i++) {
c85be22 @jk init
authored
98 if ($i == 0) {
99 $last = $files[$i];
100 continue;
101 }
102
103 $file = $files[$i];
104
105 if (ORDER == 'older') {
1b4da08 @jk getFollower.php holt sich jetzt auch die aktuellen Userinfos und spei…
authored
106 $old = explode("\n", file_get_contents(USERDIR.'/'.$file));
107 $new = explode("\n", file_get_contents(USERDIR.'/'.$last));
c85be22 @jk init
authored
108 $oldDate = parseDate($last);
109 $newDate = parseDate($file);
110 }
111 else {
1b4da08 @jk getFollower.php holt sich jetzt auch die aktuellen Userinfos und spei…
authored
112 $old = explode("\n", file_get_contents(USERDIR.'/'.$last));
113 $new = explode("\n", file_get_contents(USERDIR.'/'.$file));
c85be22 @jk init
authored
114 $oldDate = parseDate($file);
115 $newDate = parseDate($last);
116 }
117
118 $add = array_diff($new, $old);
119 $del = array_diff($old, $new);
120
121 foreach($add as $user) {
122 if ($user == '') {
123 $add = array();
124 break;
125 }
126 break;
127 }
128
129 foreach($del as $user) {
130 if ($user == '') {
131 $del = array();
132 break;
133 }
134 }
135
136 $adds[] = count($add);
137 $dels[] = count($del);
138 $labels[] = strftime("%d.%m.%Y", $newDate);
139
140 $last = $file;
141 ?>
142 <div style="clear: both;">
143 <div class="day"><?= strftime("%d", $newDate); ?><span style="font-size: 9px;"><br /><?= strftime("%b %y", $newDate); ?></span></div>
0001df3 @jk README überarbeitet, Avatar-Hinweis geschrieben
authored
144 <div style="float:left; width:200px; padding-left: 5px;">
145 <h3>Neue: <? if (count($add) != 0): ?><span class="cntAdd"><?= count($add); ?></span><? endif; ?></h3>
c85be22 @jk init
authored
146 <ul>
147 <? foreach ($add as $user): ?>
148 <li style="list-style-image:url(images/user_add.png);"><a href="http://twitter.com/<?= $user; ?>">@<?= $user; ?></a></li>
149 <? endforeach; ?>
150 <? if (count($add) == 0): ?>
0001df3 @jk README überarbeitet, Avatar-Hinweis geschrieben
authored
151 <li style="list-style-image:url(images/user_go.png); color: lightgray;">…</li>
c85be22 @jk init
authored
152 <? endif;?>
153 </ul>
154 </div>
155 <div style="float: left;">
156 <h3>Gehende: <? if (count($del) != 0): ?><span class="cntDel"><?= count($del); ?></span><? endif; ?></h3>
157 <ul>
158 <? foreach ($del as $user): ?>
159 <li style="list-style-image:url(images/user_del.png);"><a href="http://twitter.com/<?= $user; ?>">@<?= $user; ?></a></li>
160 <? endforeach; ?>
161 <? if (count($del) == 0): ?>
0001df3 @jk README überarbeitet, Avatar-Hinweis geschrieben
authored
162 <li style="list-style-image:url(images/user_go.png); color: lightgray;">…</li>
c85be22 @jk init
authored
163 <? endif; ?>
164 </ul>
165 </div>
166 </div>
0001df3 @jk README überarbeitet, Avatar-Hinweis geschrieben
authored
167 <? } // for ?>
168
c85be22 @jk init
authored
169 <?php
170 for($i = count($adds)-1; $i >= 0; $i--) {
171 $dataStr[] = $adds[$i] - $dels[$i];
172 $labelStr[] = $labels[$i];
173 }
174 ?>
175 <div style="clear:both; padding-top: 20px;">
0001df3 @jk README überarbeitet, Avatar-Hinweis geschrieben
authored
176 <h2 style="margin-bottom: 0px;">Grafische Darstellung</h2>
177 <small>der letzten <?=min(count($files), DAYS); ?> Tage.</small><br /><br />
178 <img src="http://chart.apis.google.com/chart?cht=lc&chs=450x100&chco=E6F2FA,0077CC&chm=B,E6F2FA,0,0,0&chls=1,0,0&chd=t:0,0|<?= implode(',', $dataStr); ?>&chds=<?= min($dataStr)-1; ?>,<?= max($dataStr); ?>&chxt=x,y&chxl=0:|<?= $labelStr[0]; ?>||<?= $labelStr[count($labelStr)-1]; ?>|1:|<?= min($dataStr)-1; ?>|<?= max($dataStr); ?>" width="450" height="100" border="0" />
c85be22 @jk init
authored
179 </div>
e6cd421 @jk README mal wieder angepasst. Hinweis auf's Projekt in der Indexseite …
authored
180
181 <!-- Copyright //-->
182 <div id="copyright" style="clear:both; padding-top: 20px">
183 <a href="http://creativecommons.org/licenses/by-sa/3.0/">
184 <img src="images/by-sa.png" width="88" height="31" align="left" hspace="5" alt="Creative Commons by-share alike button" title="Creative Commons by-share alike" border="0" /></a>
185 <a href="http://github.com/jk/twitter-comeandgo/tree/master">Twitter-comeandgo</a><br /><small>(source code available)</small><br />
186 <!-- /Copyright //-->
c85be22 @jk init
authored
187
188 </body>
189 </html>
Something went wrong with that request. Please try again.