Beispiel #1
0
             }
             break;
         case 'x-twitteremailtype':
         case 'x-twittersendername':
         case 'x-twittersenderscreenname':
             $headers[$key] = $val;
             break;
     }
 }
 if (!empty($headers['x-twitteremailtype']) and !empty($headers['x-twittersendername']) and !empty($header['x-twittersenderscreenname'])) {
     // Mark it as seen now to minimise the possibility of clashes
     $processed++;
     switch ($headers['x-twitteremailtype']) {
         case 'is_following':
             // Note that we handle the case where we're already following a user and don't try to re-create them
             $user = Twitter::Follow($headers['x-twittersenderscreenname']);
             if (isset($user['error']) and stripos($user['error'], 'already on your list') === false) {
                 echo 'Follow failed for "' . $headers['x-twittersenderscreenname'] . '": ' . $user['error'] . "\n";
             } elseif (stripos(@$user['error'], 'already on your list') !== false or User::Create($user)) {
                 Twitter::Tweet('d ' . $headers['x-twittersenderscreenname'] . ' Welcome to Replies from TwitApps. Send your email address by direct message to @' . $_twitter['username'] . ' to activate this service.');
             } else {
                 echo 'Failed to create user "' . $headers['x-twittersenderscreenname'] . '": ' . mysql_error(GetDB()) . "\n";
             }
             break;
         case 'direct_message':
             // Direct message should contain a command or an email address
             $body = imap_body($mbox, $msgid, FT_PEEK);
             $email = false;
             foreach (preg_split('/\\s/', strtolower($body)) as $word) {
                 switch ($word) {
                     case 'start':
Beispiel #2
0
<?php

if (empty($info['headers']['x-twitteremailtype']) or empty($info['headers']['x-twittersendername']) or empty($info['headers']['x-twittersenderscreenname'])) {
    mail('*****@*****.**', 'TwitApps incoming mail: Missing header(s)', $body . "\n\n========================================\n\n" . $data, 'From: TwitApps <*****@*****.**>', '*****@*****.**');
} else {
    require dirname(__FILE__) . '/../fx.php';
    switch ($info['headers']['x-twitteremailtype']) {
        case 'is_following':
            // Note that we handle the case where we're already following a user and don't try to re-create them
            $user = Twitter::Follow($info['headers']['x-twittersenderscreenname']);
            if (isset($user['error']) and stripos($user['error'], 'already on your list') === false) {
                echo 'Follow failed for "' . $info['headers']['x-twittersenderscreenname'] . '": ' . $user['error'] . "\n";
            } elseif (stripos(@$user['error'], 'already on your list') !== false or User::Create(isset($user['screen_name']) ? $user : array('screen_name' => $info['headers']['x-twittersenderscreenname']))) {
                Twitter::Tweet('d ' . $info['headers']['x-twittersenderscreenname'] . ' Welcome to Follows from TwitApps. Send your email address by direct message to @' . $_twitter['username'] . ' to activate this service.');
            } else {
                echo 'Failed to create user "' . $info['headers']['x-twittersenderscreenname'] . '": ' . mysql_error(GetDB()) . "\n";
            }
            break;
        case 'direct_message':
            // Direct message should contain a command or an email address
            $email = false;
            foreach (preg_split('/\\s/', strtolower($body)) as $word) {
                switch ($word) {
                    case 'start':
                        //echo 'Start for "'.$info['headers']['x-twittersenderscreenname'].'"'."\n";
                        $user = Twitter::GetUserDetails($info['headers']['x-twittersenderscreenname']);
                        if ($user and User::SetStatus($info['headers']['x-twittersenderscreenname'], 'active', $user->status->id)) {
                            $dm = 'Sorted! I\'ll start sending you emails again shortly.';
                        } else {
                            $dm = 'Grrr, something went wrong restarting your emails. I\'ve notified the team and they\'ll look into it ASAP.';
                            echo '  Failed to start emails for "' . $info['headers']['x-twittersenderscreenname'] . '"' . "\n\n";