Forum » Server-Side scripting » Twitter Score Check
Zielegerd
Berichten: 89
avatar
Offline Stuur privebericht
Beste Criminalspoint,

Ik heb hier een Twitter Score script kan je je twitter ID invullen en kijken wat jou score is.
Maar ik wil hem dat hij elke 24 uur automatisch checkt wat de score is dat hij up-to-date blijft.
Kan iemand mij daarbij helpen?
Script: http://www.onlinestereo.org/ma/twitterscore.php

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
<?php

include ('values.php');

$step=$_POST["step"];
$var=$_GET["var"];

if (
$var==1) {
   
$step=3;
}

if (
$var==2) {
   
$step=4;
}

if (
$step=='') {

?>
<div id="contentfloat">
<div id="textbox">
      <br/>  <br/>    <p class="caption"><b>&nbsp; <u>Twitter Score</u></b><br/>    <br/>- See how well your score against &nbsp;&nbsp;other twitter users!<br/>
      <br/>
            <br/>
   - Scores are based on how many &nbsp;&nbsp;friends & followers you have & &nbsp;&nbsp;how often you post an update!<br/>    <br/>     <br/>
   - Tweet your score and rank on &nbsp;&nbsp;your twitter updates for everyone &nbsp;&nbsp;to see!<br/>  <br/>  <br/>  
   <A HREF="twitterscore.php?var=1">TOP SCORES!</a><br/>
   <A HREF="twitterscore.php?var=2">How It Works!</a><br/>
      </p>
      <p class="caption"><br/>  
     
      </p>
</div>
<div id="formbox">
  <form action="twitterscore.php" method="post">
      <label>Twitter ID</label><input type="hidden" name="step" value="2" />
    <input name="twitterid" type="text" size="20" /><input type="submit" class="button" value="Go" />
    
  </form>
</div>
</div>

<?php

} elseif ($step=='2') {

    function 
twitter_status($rss$hyperlinks false) {
        
$c curl_init();
        
curl_setopt($cCURLOPT_URL$rss);
        
curl_setopt($cCURLOPT_RETURNTRANSFER1);
        
$src curl_exec($c);
        
curl_close($c);
        
preg_match('/<text>(.*)</text>/'$src$m);
        
$status htmlentities($m[1]);
        if( 
$hyperlinks $status ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]""<a href=\"\0\">\0</a>"$status);
        
preg_match('/<screen_name>(.*)</screen_name>/'$src$m);
        
$screenname htmlentities($m[1]);
        
preg_match('/<created_at>(.*)</created_at>/'$src$m);
        
$created htmlentities($m[1]);
        
preg_match('/<id>(.*)</id>/'$src$m);
        
$id htmlentities($m[1]);
        
preg_match('/<name>(.*)</name>/'$src$m);
        
$name htmlentities($m[1]);
        
preg_match('/<created_at>(.*)</created_at>/'$src$m);
        
$createdate htmlentities($m[1]);
        
preg_match('/<followers_count>(.*)</followers_count>/'$src$m);
        
$followers htmlentities($m[1]);
        
preg_match('/<friends_count>(.*)</friends_count>/'$src$m);
        
$friends htmlentities($m[1]);
        
preg_match('/<statuses_count>(.*)</statuses_count>/'$src$m);
        
$updatecount htmlentities($m[1]);
        
preg_match('/<location>(.*)</location>/'$src$m);
        
$location htmlentities($m[1]);
        
preg_match('/<url>(.*)</url>/'$src$m);
        
$website htmlentities($m[1]);
        
preg_match('/<description>(.*)</description>/'$src$m);
        
$bio htmlentities($m[1]);
        
preg_match('/<profile_image_url>(.*)</profile_image_url>/'$src$m);
        
$profile htmlentities($m[1]);
        
$feedvariables=array($status$screenname$created$id$name$createdate$followers$friends$updatecount$location$website$bio$profile);
        return(
$feedvariables);
    }

    
$twitterid=$_POST["twitterid"];

    
$rss="http://twitter.com/users/show.xml?screen_name=".$twitterid;
    
    
$feedvar=twitter_status($rss);

    
$twitstatus=$feedvar[0];
    
$twitscreenname=$feedvar[1];
    
$twitcreated=$feedvar[2];
    
$twitid=$feedvar[3];
    
$twitname=$feedvar[4];
    
$createdate=$feedvar[5];
    
$followers=$feedvar[6];
    
$friends=$feedvar[7];
    
$updatecount=number_format($feedvar[8]);
    
$location=$feedvar[9];
    
$website=$feedvar[10];
    
$bio=$feedvar[11];
    
$profile=$feedvar[12];

        if (
$feedvar[3]!='') {

        
$twityear=substr($createdate, -4);

        
$temptwitdate=substr($createdate, -26);
        
$twitmonth=substr($temptwitdate03);
        if (
$twitmonth=="Jan") { $twitmonth="January"; }
        if (
$twitmonth=="Feb") { $twitmonth="February"; }
        if (
$twitmonth=="Mar") { $twitmonth="March"; }
        if (
$twitmonth=="Apr") { $twitmonth="April"; }
        if (
$twitmonth=="May") { $twitmonth="May"; }
        if (
$twitmonth=="Jun") { $twitmonth="June"; }
        if (
$twitmonth=="Jul") { $twitmonth="July"; }
        if (
$twitmonth=="Aug") { $twitmonth="August"; }
        if (
$twitmonth=="Sep") { $twitmonth="September"; }
        if (
$twitmonth=="Oct") { $twitmonth="October"; }
        if (
$twitmonth=="Nov") { $twitmonth="November"; }
        if (
$twitmonth=="Dec") { $twitmonth="December"; }

        
$temptwitdate=substr($createdate, -22);
        
$twitday=substr($temptwitdate02);

          
$outputtext=$twitmonth." ".$twitday.", ".$twityear;

        
$sql "SELECT rank FROM data ORDER BY ABS(rank) DESC LIMIT 1";
        
$result mysql_query ($sql);
        while (
$row mysql_fetch_array($result)) {
           
$toprank=$row["rank"];
        }

        
$rank=$friends+$followers;
        if (
$rank>$toprank) {
           
$toprank=$rank;
        } 

        
$score=($rank/$toprank)*10;
        if ((
$score>5) && ($score<10)) {
            
$score=$score*.7;
        }
        if (
$score<.01) {
            
$score=$score*1000;
        }
        if (
$score<1) {
            
$score=$score+1.5;
        }
        if (
$score<6) {
            
$score=$score*1.5;
        }
        
$score=number_format($score2);



        
$counter=0;
        
$placement=0;
        
$sql "SELECT rank, user FROM data ORDER BY ABS(rank) DESC";
        
$result mysql_query ($sql);
        while (
$row mysql_fetch_array($result)) {
           
$counter++;
           
$tempuser=$row["user"];
           
$temprank=$row["rank"];
           if (
$temprank<$rank) {
              
$placement=$counter;
              break;
           }
        }

        
$sql "SELECT * FROM data";
        
$result mysql_query ($sql);
        
$totalusers=mysql_num_rows($result);

        if (
$placement==0) {
           
$placement=$totalusers;
        }

$sql "SELECT * FROM data WHERE user='".$twitscreenname."' LIMIT 1";
$result mysql_query ($sql);

if(
mysql_num_rows($result)==0){
   
$update "INSERT INTO data (user, score, rank, name, site, followers, friends, location, image) VALUES ('$twitscreenname', '$score', '$rank', '$twitname', '$website', '$followers', '$friends', '$location', '$profile')";
   
mysql_query($update);
   
$didit="did it";
} else {
   
$update "update data set followers='$followers' WHERE user='".$twitscreenname."'";
   
mysql_query($update);
   
$update "update data set friends='$friends' WHERE user='".$twitscreenname."'";
   
mysql_query($update);
   
$update "update data set score='$score' WHERE user='".$twitscreenname."'";
   
mysql_query($update);
   
$update "update data set rank='$rank' WHERE user='".$twitscreenname."'";
   
mysql_query($update);
}

$twitterurl="http://twitter.com/home/?status=your message here";

        echo 
'
    <img src="'
.$profile.'" height=48 width=48> '.$twitname.''s Twitter Score Report </p>
      <
b>RANK '.$placement.' OF '.$totalusers.'</b>
      <
b>Followers:</b'.number_format($followers).'
      
<b>Following:</b'.number_format($friends).'
      
<b>Tweets:</b'.$updatecount.'
      
    
<h1>Profile Data</h1>';

        if ($twitname!='') {
           echo '
<b>Full Name:</b'.$twitname.'';
        }
        if ($location!='') {
           echo '
<b>Location:</b'.$location.'';
        }
        if ($website!='') {
           echo '
<b>Web site:</b'.$website.'';
        }
        if ($bio!='') {
           echo '
<b>Bio:</b'.$bio.'';
        }

        echo '
    
<class="name"><b>Last Tweet:</b'.$twitstatus.'</p>



    <
class="name"><span>Tweet This <b>I have a Twitter Score of '.$score.'!:</b></span> <a href="http://twitter.com/share" class="twitter-share-button" data-text="I have a Twitter Score of '.$score.'!" data-count="none" data-via="M4zZy">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></p>

        <h1>Twitter</h1>
        Score: '.$score.' of 10';
        echo '<br><br>';
        echo '<A HREF="twitterscore.php?var=1">TOP SCORES!</a>';

    } else {

        echo '

    There appears to be a problem with the Twitter ID that you entered - either the ID does not exist or was typed incorrectly.  Please press the back button on your browser and try again.  Thank you!<br><br>
    <a href="javascript:history.go(-1)" title="Return to the previous page">Go back</a>';
    }
} elseif ($step=='3') {

        echo '
        
     <p class="captiontext"><u><b>Top Twitter Scores Report</b></u></p>
       &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;NAME
       &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SCORE
       &nbsp;&nbsp;FRIENDS/FOLLOWERS
       &nbsp;&nbsp;LOCATION';

$sql2 = "SELECT followers FROM data ORDER BY ABS(followers) DESC LIMIT 1";
$result2 = mysql_query ($sql2);
while ($row2 = mysql_fetch_array($result2)) {
   $toprank=$row2["followers"];
}

$sql = "SELECT * FROM data";
$result = mysql_query ($sql);
    while ($row = mysql_fetch_array($result)) {
       $dispuser=$row["user"];
       $dispscore=$row["score"];
       $disprank=$row["rank"];
       $dispname=$row["name"];
       $dispsite=$row["site"];
       $dispfollowers=$row["followers"];
       $dispfriends=$row["friends"];
       $displocation=$row["location"];
       $dispimage=$row["image"];

        $rank=$dispfriends+$dispfollowers;

        $score=($rank/$toprank)*10;
        if (($score>5) && ($score<10)) {
            $score=$score*.7;
        }
        if ($score<.01) {
            $score=$score*1000;
        }
        if ($score<1) {
            $score=$score+1.5;
        }
        if ($score<6) {
            $score=$score*1.5;
        }
        $score=number_format($score, 2);

          $update = "update data set score='$score' WHERE user='".$dispuser."'";
          mysql_query($update);

          $update = "update data set rank='$rank' WHERE user='".$dispuser."'";
          mysql_query($update);

    }

$sql = "SELECT * FROM data ORDER BY ABS(score) DESC LIMIT 50";
$result = mysql_query ($sql);
$counter=0;
    while ($row = mysql_fetch_array($result)) {
       $counter++;
       $dispuser=$row["user"];
       $dispscore=$row["score"];
       $disprank=$row["rank"];
       $dispname=$row["name"];
       $dispsite=$row["site"];
       $dispfollowers=$row["followers"];
       $dispfriends=$row["friends"];
       $displocation=$row["location"];
       $dispimage=$row["image"];

    echo '
     <div class="toptablecontent">
     <ul>
       <li class="name"><span>'.$counter.'.</span> <a href="http://www.twitter.com/'.$dispuser.'/"target="_blank"><img border=0 src="images/twitter.png" width=32 height=32></a> <a href="http://www.twitter.com/'.$dispuser.'/"target="_blank"><img border=0 src="'.$dispimage.'" width=48 height=48></a> '.$dispname.' </li>
       <li class="score"><img src="images/spacer.gif" width=1 height=48>'.$dispscore.'</li>
       <li class="followers"><img src="images/spacer.gif" width=1 height=48>'.number_format($dispfriends).' / '.number_format($dispfollowers).'</li>
       <li class="location"><img src="images/spacer.gif" width=1 height=48>'.$displocation.'</li>
     </ul></div>';

    }
echo '';

} elseif ($step=='4') {

        echo '

     <b><u>How It Works</u></b>

     Twitter Score bases scores of Twitter users on three factors: friends, followers and frequency of updates.
     Based on the quantities of all three scores, a score between 0.01 and 10.00 is produced.
     
     In order to make the scoring fair, the bottom 30% of those scored are offered a handicap, and the top 10% of those scored are weighted down to make the playing field level.
     How It Works
     
     Twitter Score is meant for entertainment purposes only, so while reviewing your score, remember to have fun!<br/><br/><br/>
      <A HREF="twitterscore.php">Go Back!</a>
      <A HREF="twitterscore.php?var=1">TOP SCORES!</a>';

echo '';
}
?>

Laatst gewijzigd door Lodewijk op 2011-06-05 17:00:55
05-06-2011 16:58
Dit topic is 488 keer bekeken door 67 verschillende leden
Reacties op: "Twitter Score Check"
1 | 2 Volgende pagina
Dwebs.Be
Berichten: 272
avatar
Offline Stuur privébericht
Gebruik cronjobs
05-06-2011 17:42
Zielegerd
Berichten: 89
avatar
Offline Stuur privébericht
Quote: weide43

Gebruik cronjobs



Daarmee ben ik nog een newbie in omdat ik het nog nooit heb gebruikt!
05-06-2011 18:38
Moderator
Berichten: 878
avatar
Offline Stuur privébericht
05-06-2011 18:41
Zielegerd
Berichten: 89
avatar
Offline Stuur privébericht
Quote: r-mulder

here you go

http://www.cronjob.nl/



Bedankt maar dan ben ik nog niet klaar, nu heb ik een script nodig die dus via Cronjob werkt die het automatisch checkt.
05-06-2011 19:49
Berichten: 1751
avatar
Offline Stuur privébericht
Je geeft toch dan jou script als pad op bij de cronjobs?
06-06-2011 16:57
Zielegerd
Berichten: 89
avatar
Offline Stuur privébericht
Quote: stan

Je geeft toch dan jou script als pad op bij de cronjobs?



Maar enigste waar hij weer de scores veranderd is als je de Twitter ID opnieuw invoerd.
En dat moet hij automatisch pakken uit de database en zelf doen om de 24 uur.
06-06-2011 20:58
Rapifia Europe
Berichten: 3716
avatar
Offline Stuur privébericht
Wat je moet doen:
Ik neem aan dat je het opslaat in de database, je voert dan gewoon jouw script uit (exclusief outputs dus echt uitgekleed) in een while loop voor alle users. Enig nadeel is dan dat je een hoge executietijd hebt.. Wat je ook kan doen is de boel splitsen. Dan doe je bijvoorbeeld eerst 0-50 users, 5 minuten later doe je 50-100 users, weer 5 minuten laten doe je 100-150 users etc. Succes ermee .
07-06-2011 00:23
Zielegerd
Berichten: 89
avatar
Offline Stuur privébericht
Quote: L.Groot

Wat je moet doen:
Ik neem aan dat je het opslaat in de database, je voert dan gewoon jouw script uit (exclusief outputs dus echt uitgekleed) in een while loop voor alle users. Enig nadeel is dan dat je een hoge executietijd hebt.. Wat je ook kan doen is de boel splitsen. Dan doe je bijvoorbeeld eerst 0-50 users, 5 minuten later doe je 50-100 users, weer 5 minuten laten doe je 100-150 users etc. Succes ermee .



Dan zeg je wat! XD:<
07-06-2011 22:41
Rapifia Europe
Berichten: 3716
avatar
Offline Stuur privébericht
Hoe bedoel je precies?
07-06-2011 22:48
Zielegerd
Berichten: 89
avatar
Offline Stuur privébericht
Quote: L.Groot

Hoe bedoel je precies?



Dat ik dus hiervoor hulp heb gevraagd omdat ik het zelf niet kan.
08-06-2011 01:03
Reageer op: "Twitter Score Check"
1 | 2 Volgende pagina
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden