function run($in, $twitteruser, $twitterpassword, $tide) { $day = date('j'); $month = date('n'); $year = date('Y'); $time = date('H:i'); while (($data = fgetcsv($in)) !== FALSE) { if ($data[0] == $day && $data[1] == $month && $data[2] == $year && $data[3] == $time) { // We have a match $m = date('M'); $next = fgetcsv($in); $nextday = $next[0]; $nextt = $next[3]; $nexth = $next[4]; if ($data[5] == 'h') { $body = "{$tide}: High tide @ {$time} {$day}-{$m}-{$year} ({$data[4]}m) Low tide due at {$nextt} ({$nexth}m)"; } else { $body = "{$tide}: Low tide @ {$time} {$day}-{$m}-{$year} ({$data[4]}m) High tide due at {$nextt} ({$nexth}m)"; } if ($nextday > $day) { $body .= ' tomorrow'; } // Set things up set_include_path('/path/to/Arc90_Service_Twitter/lib'); require_once '/path/to/Arc90_Service_Twitter/lib/Arc90/Service/Twitter.php'; $twitter = new Arc90_Service_Twitter($twitteruser, $twitterpassword); $result = $twitter->updateStatus($body, 0); // If an error occured (usually API is too busy), sleep 10 seconds, and try again if ($result->http_code != 200) { sleep(10); $twitter = new Arc90_Service_Twitter($twitteruser, $twitterpassword); $result = $twitter->updateStatus($body, 0); } if ($result->http_code != 200) { sleep(10); $twitter = new Arc90_Service_Twitter($twitteruser, $twitterpassword); $result = $twitter->updateStatus($body, 0); } if ($result->http_code != 200) { sleep(10); $twitter = new Arc90_Service_Twitter($twitteruser, $twitterpassword); $result = $twitter->updateStatus($body, 0); } } } }
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <?php require "./lib/WeatherApi.php"; require "./lib/Tweeter.php"; ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title></title> </head> <body> <?php $here = dirname(__FILE__); set_include_path(ini_get('include_path') . ":{$here}/vendor/arc90-service-twitter/lib"); $weather = new WeatherApi(); // ({start date}, {num days to recover}) $weather->get_24h_periods('97214', strtotime('Tomorrow'), 2); require_once 'Arc90/Service/Twitter.php'; $username = '******'; $password = '******'; $twitter = new Arc90_Service_Twitter($username, $password); $timeline = $twitter->test('json'); $timeline = $twitter->updateStatus($weather->description(), 'json'); echo $timeline; ?> </body> </html>
$db_lastTarget = $result[0]['lastTarget']; $db_reminder = $result[0]['reminder']; // sometimes it goes crazy if ($db_target == '') { echo "**Problem with user ({$sn}) ** \r\n"; } // ======================================= // *check in case the target value just hit // ======================================= if (intval($fc) >= intval($db_target)) { // ======================================= // send twitter msg // ======================================= $msg = "@{$sn} Congrats! You just reached {$db_target} followers!! Spread the word! http://bit.ly/roDP"; if ($debug === false && $db_target != '') { $response = $twitter->updateStatus($msg, 'xml'); // this is reply // $response = $twitter->sendMessage($sn, $msg, 'xml'); // this is DM $total_twitter_request++; } // ======================================= // update the followers table // ======================================= if (!$response->isError() && $db_target != '') { $dbFacade->updateFollowersCount($userId, $fc, 1, 1, $db_target); echo "Congrats {$sn} hit {$db_target} ({$fc}) - congrats sent and db updated. \r\n"; } } else { if ($db_reminder == '1' && intval($fc) > intval(intval($db_target) - 10)) { // ======================================= // send reminder