Ejemplo n.º 1
0
    case 'tweet_show':
        $twextra->showTweet($data);
        break;
    case 'tweet_translate':
        $twextra->translateTweet($data);
        break;
    case 'update_twitter':
        $twextra->updateTwitter($data);
        break;
    case 'api_update_json':
        $twextra->apiUpdateJson($data);
        break;
    case 'signout':
        header("Location: " . $hostname . "?signout=true");
        exit;
        break;
    case 'delete_msg':
        $twextra->delete_message($data);
        break;
    case 'signin_twitter':
        $_SESSION['signin_with_twitter'] = 'yes';
        $prefix = '';
        $message = '';
        tw_page1($prefix, $message);
        break;
    case 'default':
        //error
        exit(1);
}
///////////////
//require_once $docroot . "/models/twextra_model.php";
Ejemplo n.º 2
0
 function postTweet($data)
 {
     //configuration parameters:
     $config_params = Config::getConfigParams();
     $hostname = $config_params['hostname'];
     $tweet_size_max = $config_params['tweet_size_max'];
     $prefix_size_max = $config_params['prefix_size_max'];
     $docroot = $config_params['docroot'];
     $debug = $config_params['debug'];
     $enable_stats = $config_params['enable_stats'];
     $cookie_name = $config_params['cookie_name'];
     $script_path = __FUNCTION__;
     //save logs
     if ($enable_stats) {
         $model = new TwextraModel();
         $model->saveStat();
     }
     //save the tweet if the submitted form is not empty
     //logger ( $script_path."  Topx: ", "", false ); //start with the same log file
     logger($script_path . "  Topx: ", "", true);
     //start with a new log file
     logger("//..............................................START A NEW TRANSACTION..........................\n        ............................................//");
     logger($script_path . "  IP Address: ", $_SERVER['REMOTE_ADDR']);
     logger($script_path . "  userAgent: ", $_SERVER['HTTP_USER_AGENT']);
     logger($script_path . "  request array: ", $data);
     logger($script_path . "  get memory usage: ", memory_get_usage(true));
     $_SESSION['controller_remote_ip'] = $_SERVER['REMOTE_ADDR'];
     $twitter_access_token = '';
     $twitter_access_token_secret = '';
     $twextra_key = '';
     $twitter_user_id = '';
     $twitter_user_id_hash = '';
     $result_t = '';
     //
     if (isset($data)) {
         if (isset($data['editor1'])) {
             $tweet_raw = $data['editor1'];
         } elseif (isset($data['editorI'])) {
             $tweet_raw = $data['editorI'];
         } elseif (isset($data['editor'])) {
             $tweet_raw = $data['editor'];
         }
         //for api access
         if (isset($data['twextra_key'])) {
             $twextra_key = $data['twextra_key'];
         }
         //for api access
         if (isset($data['twitter_user_id'])) {
             $twitter_user_id = $data['twitter_user_id'];
         }
         //for api access
         if (isset($data['twitter_access_token'])) {
             $twitter_access_token = $data['twitter_access_token'];
         }
         //for api access
         if (isset($data['twitter_access_token_secret'])) {
             $twitter_access_token_secret = $data['twitter_access_token_secret'];
         }
         $tweet = str_replace("<br>", "<br />", $tweet_raw);
         $tweet_size = strlen($tweet);
         $tweet = stripslashes($tweet);
     }
     if (isset($data['message_id_reply'])) {
         $message_id_reply = $data['message_id_reply'];
     } else {
         $message_id_reply = '';
     }
     if (isset($data['message_id'])) {
         $message_id = $data['message_id'];
     } else {
         $message_id = '';
     }
     //print_r($data);
     /*
     //embed @replies for all cases
     	$pattern_to_embed = 'at_reply';
     	$embed = new EmbedInLink ( $tweet, $pattern_to_embed );
     	$tweet = $embed->embedPattern ();
     	
     //embed links for all cases (Twitter, LinkedIn, Twextra)
     	$pattern_to_embed = 'link';
     	$embed = new EmbedInLink ( $tweet, $pattern_to_embed );
     	$tweet = $embed->embedPattern ();
     */
     //validate and update twextra key
     if ($twextra_key != '') {
         $model = new TwextraModel();
         $success = $model->apiKeyMatchUpdate($twextra_key);
         if ($success == 'error') {
             $err_message = array('error' => 'Error: Your Twextra key did not match or the daily limit is exceeded.');
             print_r(json_encode($err_message));
             exit;
         }
     }
     if ($tweet_size < $tweet_size_max) {
         if ($message_id == '412641') {
             //have one fixed message_id for admin work...
             $message_id_reply = $message_id;
         } else {
             //generate a random url
             $message_id = $this->random_message_id();
         }
         //echo 'message_id:', $message_id; exit;
         $url = $hostname . "tweet_display.php?message_id={$message_id}&mthd=displayTweet";
         $url_rewrite = "{$hostname}/{$message_id}";
         //save in database
         logger($script_path . "  before model save:");
         if (isset($data['social']) && $data['social'] == 'twitter') {
             if (isset($_COOKIE[$cookie_name])) {
                 $twitter_user_id_hash = $_COOKIE[$cookie_name];
             } else {
                 if ($twitter_user_id != '') {
                     logger($script_path . "  twitter_user_id2: ", $twitter_user_id);
                     $twitter_user_id_hash = sha1($twitter_user_id, false);
                     logger($script_path . " twitter_user_id_hash2: ", $twitter_user_id_hash);
                 }
             }
             logger($script_path . "  twitter_user_id_hash", $twitter_user_id_hash);
             if ($twitter_user_id_hash != '') {
                 $result_t = $this->getTwCredentials($twitter_user_id_hash);
                 //
                 logger($script_path . "  result_t/tw credentials: ", $result_t);
                 //$tid = $result_t ['tid'];
             } else {
                 //$tid = null;
                 $result_t = 'error';
             }
         } else {
             //$tid = null;
         }
         $url_ln2 = $this->getPrefix($tweet, $message_id);
         //prefix
         $model = new TwextraModel();
         $success = $model->saveTweet($tweet, $message_id, $message_id_reply, $url_ln2);
         logger($script_path . "  after model save:");
         //...........................................................................
         //if twitter request then generate prefix and message and redirect to page 1 or 2
         if (isset($data['social'])) {
             logger($script_path . "  final prefix:", $url_ln2);
             $url_ln1 = "{$hostname}/linkedin/page1.php?prefix=";
             $url_tw1 = "{$hostname}/twitter/page1.php?prefix=";
             $url_ln3 = "&message=";
             $url_ln4 = rawurlencode($url_rewrite);
             $url_ln = $url_ln1 . $url_ln2 . $url_ln3 . $url_ln4;
             $url_tw = $url_tw1 . $url_ln2 . $url_ln3 . $url_ln4;
             $_SESSION['prefix'] = $url_ln2;
             $_SESSION['message'] = $url_ln4;
             $_SESSION['message_id'] = $message_id;
             //logic: if cookie is set and a hit in the table, go to page 2; else go to page 1.
             //$_COOKIE['tw_tok']
             if ($twextra_key != '' && $twitter_access_token != '' && $twitter_access_token_secret != '') {
                 //validate and update twextra key;
                 $api_result = $this->apiUpdateJson($data);
                 logger($script_path . "  api_result: ", $api_result);
                 if ($api_result != false) {
                     //echo $api_result;
                 } else {
                     echo "Error: Please check your data and try again.";
                 }
             }
             if (isset($data['social']) && $data['social'] == 'twitter') {
                 logger($script_path . "  postTweet/test1:");
                 if (isset($twitter_user_id_hash)) {
                     logger($script_path . "  test2");
                     if ($result_t != 'error') {
                         //go to page 2
                         tw_page2_cookie($url_ln2, $url_ln4, $twitter_access_token, $twitter_access_token_secret);
                     } else {
                         //go to page 1
                         tw_page1($url_ln2, $url_ln4);
                     }
                 } else {
                     //go to page 1
                     tw_page1($url_ln2, $url_ln4);
                 }
             }
             if (isset($data['social']) && $data['social'] == 'linkedin') {
                 //go to page 1
                 logger($script_path . "  Linkedin/Cookie not set2: ");
                 logger($script_path . "  Linkedin/url_ln2", $url_ln2);
                 logger($script_path . "  Linkedin/url_ln4", $url_ln4);
                 ln_page1($url_ln2, $url_ln4);
             }
         }
         //............................................................................
         //finally if neither twitter or linkedin request redirect to view page
         logger($script_path . "  RD url: ", $url_rewrite);
         header("Location:{$url_rewrite}");
         //
         exit;
     } else {
         //require_once $docroot . "/tw.lib.php";
         $error_size = "Your message size exceeds the max size limit of {$tweet_size_max} (incl. formatting).<br> Your message size: {$tweet_size}. Please try again.";
         $_SESSION['error_size'] = $error_size;
         $_SESSION['tweet'] = $tweet;
         //index ( $tweet, $error_size );
         header("Location:{$hostname}");
         //
         exit;
     }
 }