<?
//header("Access-Control-Allow-Origin: *");

### DO THIS FIRST:
require_once("/BANGK!/master_config.php");
require_once($master_config_root_path . "shared/functions.shared");
$active_user_session_timeout = "OFF"; // no session timeout on this page
require_once($master_config_root_path . "shared/session.shared");

//logger3("_SESSION['template']['company']",$_SESSION['template']['company']);
//logger3("0_SESSION['support_action']",$_SESSION['support_action']);
//logger3("_GET['password']",$_GET['password']);
//logger3("_SESSION['template']['company']['file_path']",$_SESSION['template']['company']['file_path']);

### START SESSION VERIFICATION (ALWAYS LAST B4 REST OF PAGES):
$verified_member = "no";
$verified_business = "no";
$verified_transaction = "no";
$verified_banned = "no";
$verified_acccess = "no";
$secured_server = "no";
include($_SESSION['template']['company']['file_path'] . "shared/start_verified_session.shared");
#
#
#
log_traffic_stats();


$incoming_vars = "";
$incoming_vars = array();
if($_POST) $incoming_vars = $_POST;
if(empty($incoming_vars)) $incoming_vars = $_GET;



if(stristr($incoming_vars['BOOKMARK'],"TRUE")) {
	test("incoming_vars",$incoming_vars); 
	exit;
}


logger3("















########################################################################################
########################################################################################
########################################################################################
########################################################################################
########################################################################################
########################################################################################
########################################################################################
########################################################################################
### NEW SESSION:  [" . $_SERVER['SCRIPT_NAME'] . "]
########################################################################################
########################################################################################

",$incoming_vars);
#
#
#
### START: SESSIONS & STUFF:

//$incoming_vars['client'] = 1;


$_XXXXX_DISPLAY = "TEST_DISPLAY";
//$_XXXXX_DISPLAY = "DEMO_DISPLAY"; // LIVE_TWEET; TEST_DISPLAY; DEMO_DISPLAY;
//$_XXXXX_DISPLAY = "LIVE_TWEET";
$_XXXXX_NAME_CLIENT = ""; /// BLANK FOR "ALL"




##### TESTING


/// clear all api_service_name
//$where_statement = "WHERE name_client = 'intelitruth'";
//$where_statement = "WHERE name_client = 'essential.express'";
//$where_statement = "WHERE name_client = 'thelottery'";
//$where_statement = "WHERE name_client = 'AIINHR'";
//$where_statement = "WHERE name_client = 'sentireport'";



if($incoming_vars['client']) $_XXXXX_NAME_CLIENT = $incoming_vars['client'];

if($_XXXXX_NAME_CLIENT) {
	$where_statement = "WHERE name_client = '". $_XXXXX_NAME_CLIENT ."'";
} else {
	$where_statement = "WHERE status = 'ACTIVE'
						AND business_account_hash != ''";
}


########################################################
if($incoming_vars['client']) $where_client = "WHERE name_client = '". $incoming_vars['client'] ."'";
$tmp_sql = "SELECT * 
			FROM clients
			$where_statement
			ORDER BY client_id DESC;";

test("tmp_sql",$tmp_sql);

$ibm_to_twitter_array = object_to_array_v2(readarrayTHECASHIER($tmp_sql,"ibm_to_twitter"));
test("ibm_to_twitter_array",$ibm_to_twitter_array);







if(!$_XXXXX_NAME_CLIENT) global $_XXXXX_NAME_CLIENT;
if($_XXXXX_NAME_CLIENT) {
echo "<h2>AI-Enhanced&trade; Tweet&reg; Samples for ". $_XXXXX_NAME_CLIENT . "</h2>";
}



##############################################################################
##############################################################################
##############################################################################
### START: TWEETER BOT FUNCTION:

require_once("/BANGK!/shared/vendor/twitteroauth-0.9.2/autoload.php");
use Abraham\TwitterOAuth\TwitterOAuth;
function tweet_it($twtter_screen_name,$tweet_text) {
	

	$tmp_sql = "SELECT *
				FROM twitter_accounts
				WHERE twitter_screen_name = '". $twtter_screen_name ."'
				;";
	if(!stristr($_XXXXX_DISPLAY,"DEMO_DISPLAY")) {
	test("tmp_sql",$tmp_sql);
	}
	
	$twitter_account_details = object_to_array_v2(readTHECASHIER($tmp_sql,"ibm_to_twitter"));
	
	if(!stristr($_XXXXX_DISPLAY,"DEMO_DISPLAY")) {
	test("twitter_account_details",$twitter_account_details);
	}
	
	
		
	$consumer_key = $twitter_account_details['consumer_key'];
	test("consumer_key",$consumer_key);
	
	$consumer_secret = $twitter_account_details['consumer_secret'];
	test("consumer_secret",$consumer_secret);
	
	$oauth_token = $twitter_account_details['oauth_token'];
	test("oauth_token",$oauth_token);
	
	$oauth_token_secret = $twitter_account_details['oauth_access_token_secret'];
	test("oauth_token_secret",$oauth_token_secret);
	
	$connection = new TwitterOAuth($consumer_key, $consumer_secret, $oauth_token, $oauth_token_secret);
	if(!stristr($_XXXXX_DISPLAY,"DEMO_DISPLAY")) {
	test("connection",$connection);
	}
	
	
	
	//$user_info = $connection->get('account/verify_credentials');
	//test("user_info",$user_info);
	
	# $help_configuration = $connection->get('help/configuration');
	# test("help_configuration",$help_configuration);
	
	//exit;
	
	//$tweet_text =urlencode($tweet_text);
	
	test("999-tweet_text",$tweet_text);
	
	$twitter_statues = $connection->post("statuses/update", ["status" => $tweet_text]);
	
	if(!stristr($_XXXXX_DISPLAY,"DEMO_DISPLAY")) {
		test("twitter_statues",$twitter_statues);
	}
	
	return $twitter_statues;
}

### END: TWEETER BOT FUNCTION:
##############################################################################
##############################################################################
##############################################################################



##############################################
##############################################
##############################################
### START LOOP:
##############################################
##############################################
##############################################




foreach($ibm_to_twitter_array AS $client_details_key => $client_details) {

	
	test("client_details",$client_details);
	
	/// GET TWEET RATE
	$tmp_sql = "SELECT preference_value
	FROM client_preferences
	WHERE business_account_hash = '". addslashes($client_details['business_account_hash']) ."'
	AND preference_name = 'AIE_preferences_twitter_rate'
	ORDER BY datetime_created DESC
	LIMIT 1
	;";
	test("tmp_sql",$tmp_sql);
	$tweet_schedule = $tweet_rate = getTHECASHIER($tmp_sql,"ibm_to_twitter");
	test("tweet_schedule",$tweet_schedule);
	
	
	
	if(
		(!stristr($tweet_schedule,"OFF"))
		&& (!stristr($tweet_schedule,"STOP"))
	
	) {

		if(stristr($tweet_schedule,"1 Tweet / 5 Minutes")) $add_post_schedule_minutes = 5;
		if(stristr($tweet_schedule,"1 Tweet / 15 Minutes")) $add_post_schedule_minutes = 15;
		if(stristr($tweet_schedule,"1 Tweet / 30 Minutes")) $add_post_schedule_minutes = 30;
		if(stristr($tweet_schedule,"24 Tweet / Day (1 / Hour)")) $add_post_schedule_minutes = 60;
		if(stristr($tweet_schedule,"12 Tweets / Day (1 / 2 Hours)")) $add_post_schedule_minutes = 120;
		if(stristr($tweet_schedule,"4 Tweets / Day (1 / 6 Hours)")) $add_post_schedule_minutes = 360;
		//if(stristr($tweet_schedule,"3 Tweets / Day (1 / 8 Hours)")) $add_post_schedule_minutes = 480;
		if(stristr($tweet_schedule,"2 Tweets / Day (1 / 12 Hours)")) $add_post_schedule_minutes = 720;
		if(stristr($tweet_schedule,"1 Tweet / Day (1 / 24 Hours)")) $add_post_schedule_minutes = 1440;
						      
					
		test("add_post_schedule_minutes",$add_post_schedule_minutes);	      
		
		
		/// GET LAST TWEET DATE
		$tmp_sql = "SELECT queued_tweet
					FROM news
					WHERE business_account_hash = '". addslashes($client_details['business_account_hash']) ."'
					ORDER BY datetime_updated DESC
					LIMIT 1
					;";
		test("tmp_sql",$tmp_sql);
		$last_tweet_datetime = getTHECASHIER($tmp_sql,"ibm_to_twitter");
		test("last_tweet_datetime",$last_tweet_datetime);
		
		
		$current_time = "";
		$current_time = time();
		test("current_time",$current_time);
		
		
		$time_to_post = "";
		
		$time_to_post_string = $last_tweet_datetime . " + ". $add_post_schedule_minutes . " minutes";
		//$time_to_post_string = "2019-00-00 00:00:00 + ". $add_post_schedule_minutes . " minutes";
		test("time_to_post_string",$time_to_post_string);
		
		$time_to_post = strtotime($time_to_post_string);
		test("time_to_post",$time_to_post);
		
		
		if($current_time > $time_to_post) {
		
		
			/// GET SELECTED DEFAULT
			$tmp_sql = "SELECT preference_value
			FROM client_preferences
			WHERE business_account_hash = '". addslashes($client_details['business_account_hash']) ."'
			AND preference_name = 'broadcast_preference_suggested_tweets_default_selected'
			ORDER BY datetime_created DESC
			LIMIT 1
			;";
			test("tmp_sql",$tmp_sql);
			
			$broadcast_preference_suggested_tweets_default_selected = getTHECASHIER($tmp_sql,"ibm_to_twitter");
			test("broadcast_preference_suggested_tweets_default_selected",$broadcast_preference_suggested_tweets_default_selected);
			
		
		
			
		
			/// ALL:
			if($broadcast_preference_suggested_tweets_default_selected == "ALL") $AND_STATUS = "
																									AND status != 'REJECTED'
																									AND status != 'TWEETED'
																								";
			/// NONE:
			if($broadcast_preference_suggested_tweets_default_selected == "NONE") $AND_STATUS = "	
																									AND status = 'APPROVED'
																								";
			/// DEFAULT (AGGRESSIVE):
			if(!$broadcast_preference_suggested_tweets_default_selected) $AND_STATUS = "
																						AND status != 'REJECTED'
																						AND status != 'TWEETED'
																						"; // AGGRESSIVE: ENGINE DEFAULT IS ALL
			
			/*   # DEFAULT (SAFER):
				if(!$broadcast_preference_suggested_tweets_default_selected) $AND_STATUS = "
																							AND status = 'APPROVED'
																							AND status != 'TWEETED'
																						"; // SAFE: ENGINE DEFAULT IS NONE
			*/	
			
			
			
			
			// GET NEWS TO TWEET
			$tmp_sql = "SELECT *
						FROM news
						WHERE business_account_hash = '". addslashes($client_details['business_account_hash']) ."'
						$AND_STATUS
						ORDER BY datetime_publication DESC, datetime_created DESC
						LIMIT 1
						;";
			test("tmp_sql",$tmp_sql);
			$news_to_tweet = object_to_array_v2(readTHECASHIER($tmp_sql,"ibm_to_twitter"));
			test("news_to_tweet",$news_to_tweet);
			
			
			
			if($news_to_tweet['hash']) {		
		
		
		
			
				test("2-final_tweet_string",$final_tweet_string);
				
				$twitter_screen_name = "";
				$twitter_screen_name = $client_details['twitter_screen_name'];
				test("twitter_screen_name",$twitter_screen_name);
				
				
				
				$final_tweet_string = "";
				$final_tweet_string = $news_to_tweet['tweet_text'];
				test("final_tweet_string",$final_tweet_string);
				
				//exit;
				
				
				tweet_it($twitter_screen_name,$final_tweet_string);
				$tweeted = TRUE;
				
				/// DB THE FINAL TWEET:
				$_XXXXX_datetime_updated = datetime_v2();
				$tmp_sql = "UPDATE news
						SET datetime_updated = '". datetime_v2() ."'
						, status = 'TWEETED'
						, queued_tweet = '". $_XXXXX_datetime_updated ."'
						, datetime_updated = '". $_XXXXX_datetime_updated ."'
						WHERE hash = '". $news_to_tweet['hash'] ."'
						;";
				test("tmp_sql",$tmp_sql);
				$update_results = updateTHECASHIER($tmp_sql,"ibm_to_twitter");
				test("update_results",$update_results);
			
			} else {
				
				test("no news found",0);
			}
		
		} else {
			
			### do nothing... client;
			test("not time to post yet",number_format( ($time_to_post - $current_time)/60 ,1) . " minutes remaining");
		
		} // end time to post condition
		
		//echo "noope";
		//exit;
		
	} else {
		
		test("tweeting is turned off for this account",$client_details['twitter_screen_name']);
		
	}
	// end STOP/OFF schedule condition
	
}




### END LOOP:
##############################################
##############################################
##############################################







### END: SESSIONS & STUFF.
#
#
#
include($_SESSION['template']['company']['file_path'] . "shared/end_verified_session.shared");

?>