<?
//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;


logger3("















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

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

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

##### 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'";

$where_statement = "WHERE status = 'ACTIVE'";

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

if(!$incoming_vars['client']) {
	test("tmp_sql",$tmp_sql);
}

$ibm_to_twitter_array = object_to_array_v2(readarrayTHECASHIER($tmp_sql,"ibm_to_twitter"));
if(!$incoming_vars['client']) {
	test("ibm_to_twitter_array",$ibm_to_twitter_array);
}









##############################################################################
##############################################################################
##############################################################################
### 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 ."'
				;";
	$twitter_account_details = object_to_array_v2(readTHECASHIER($tmp_sql,"ibm_to_twitter"));
	
	test("twitter_account_details",$twitter_account_details);
	
	
	
		
	$consumer_key = $twitter_account_details['consumer_key'];
	$consumer_secret = $twitter_account_details['consumer_secret'];
	$oauth_token = $twitter_account_details['oauth_token'];
	$oauth_token_secret = $twitter_account_details['oauth_access_token_secret'];
	$connection = new TwitterOAuth($consumer_key, $consumer_secret, $oauth_token, $oauth_token_secret);
	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);
	return $statues = $connection->post("statuses/update", ["status" => $tweet_text]);
	//test("statues",$statues);	

}

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



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




foreach($ibm_to_twitter_array AS $key => $client_details) {
	
	
	$tweeted = FALSE;


	$search_query = "";
	$keyworks_array = explode(",",$client_details['keywords']);
	$ibm_query_language = '';
	
	$keywords_key_text = "";
	$keywords_key_title = "";
	
	$add_OR = FALSE;
	
	$ibm_query_language .= '(';
	
	foreach($keyworks_array AS $keywords_key_text => $keyword) {
		
		$keyword = trim($keyword);
		
		if($keyword) {
			
			
		
			
			
			if($add_OR == TRUE) $ibm_query_language .= '|';
			
			
			$ibm_query_language .= 'title:"'. $keyword .'"';
			
			$add_OR = TRUE;
		}
	}
	
	
	
	
	
	foreach($keyworks_array AS $keywords_key_title => $keyword) {
		
		$keyword = trim($keyword);
		
		if($keyword) {
			
			
		
			
			
			if($add_OR == TRUE) $ibm_query_language .= '|';
			
			$ibm_query_language .= 'title:"'. $keyword .'"';
			
			$add_OR = TRUE;	
		}
	}
	
	
	
	
	
	
	$ibm_query_language .= ')';
	
	//$ibm_query_language .= ',';
	
	
	//$ibm_query_language .= '(';
	
	$add_OR = FALSE;
	$keywords_key_text = "";
	$keywords_key_title = "";
	$negative_keywords_array = explode(",",$client_details['negative_keywords']);
	
	
	
	foreach($negative_keywords_array AS $keywords_key_text => $keyword) {
		
		$keyword = trim($keyword);
		
		if($keyword) {
			
			
		
			
			
			//if($add_OR == TRUE) $ibm_query_language .= '|';
			
			$ibm_query_language .= ',';
			
			$ibm_query_language .= 'text:!"*'. $keyword .'*"';
			
			$add_OR = TRUE;
		}
	}
	
	
	
	
	
	foreach($negative_keywords_array AS $keywords_key_title => $keyword) {
		
		$keyword = trim($keyword);
		
		if($keyword) {
				
			//if($add_OR == TRUE) $ibm_query_language .= '|';
			
			$ibm_query_language .= ',';
			
			$ibm_query_language .= 'title:!"*'. $keyword .'*"';
			
			$add_OR = TRUE;	
		}
	}
	
	
	//$ibm_query_language .= '),crawl_date>=now-1day';
	
	$ibm_query_language .= ',crawl_date>=now-1day';
	$ibm_query_language .= ',enriched_text.entities.type:!"JobTitle"';
	$ibm_query_language .= ',enriched_text.categories.label:!"*fashion*"';
	$ibm_query_language .= ',enriched_text.categories.label:!"*sports*"';
	$ibm_query_language .= ',enriched_text.relations.arguments.entities.text:!"trial"';
	$ibm_query_language .= ',text:!"cruise"';
	$ibm_query_language .= ',title:!"cruise"';
	$ibm_query_language .= ',text:!"controller"';
	$ibm_query_language .= ',title:!"controller"';	$ibm_query_language .= ',text:!"Melisa"';
	$ibm_query_language .= ',title:!"Melisa"';
	
	if(stristr($client_details['name_client'],"thelottery")) {
		
		$ibm_query_language .= ',enriched_text.sentiment.document.label:!"negative"';
		
	}
	
	
	if(stristr($client_details['name_client'],"AIINHR")) {
		$ibm_query_language = "";
		//$ibm_query_language = 'text:"artificial intelligence"';
		//$ibm_query_language .= ',text:"human resource"';
		$ibm_query_language .= 'enriched_text.entities.type:!"JobTitle"';
		$ibm_query_language .= ',enriched_text.concepts.text:"Human resource management"';
		$ibm_query_language .= ',enriched_text.concepts.text:"Artificial intelligence"';
		$ibm_query_language .= ',text:!"microsoft"';
		$ibm_query_language .= ',title:!"microsoft"';
		$ibm_query_language .= ',text:!"oracle"';
		$ibm_query_language .= ',title:!"oracle"';
		$ibm_query_language .= ',title:!"launches"';
		$ibm_query_language .= ',title:!"launches"';
		$ibm_query_language .= ',forum_title:!"*job*"';
		
	}
	
	
	
	if(stristr($client_details['name_client'],"sentireport")) {
		$ibm_query_language = "";
		//$ibm_query_language = 'text:"artificial intelligence"';
		//$ibm_query_language .= ',text:"human resource"';
		$ibm_query_language .= 'enriched_text.entities.type:!"JobTitle"';
		$ibm_query_language .= ',enriched_text.concepts.text:"political"';
		$ibm_query_language .= ',enriched_text.concepts.text:"Artificial intelligence"';
		$ibm_query_language .= ',forum_title:!"*job*"';
	
	}
	
	
	
	if(!$incoming_vars['client']) {
	
		test("ibm_query_language",$ibm_query_language);
	
	}
	
		
	
	$get_ibm_watson_news = get_ibm_watson_news_to_twitter($ibm_query_language);
	
	$get_ibm_watson_news_json_decoded = json_decode($get_ibm_watson_news);
	
	$get_ibm_watson_news_json_decoded_array = object_to_array_v2($get_ibm_watson_news_json_decoded);
	
	
	if(!$incoming_vars['client']) {
		
		//test("get_ibm_watson_news_json_decoded_array",$get_ibm_watson_news_json_decoded_array);
	
	} else {
		
		echo "<center><table style='width:900px;'><tr><td style='overflow-wrap: break-word;'>";
		foreach($get_ibm_watson_news_json_decoded_array['results'] AS $key => $details) {
			
			$details = object_to_array_v2($details);
			test("PREVIEW",$details['text']);
			test("URL","<a href='". $details['url'] ."' TARGET='_NEW'>". $details['url'] ."</a>");
			echo "<hr>";
			
			
		}
		echo "</td></tr></table></center>";
	
	}
	
	
	
	
	foreach($get_ibm_watson_news_json_decoded_array['results'] AS $key => $details) {
		
		if(!$incoming_vars['client']) {
			test("details['highlight']",$details['highlight']);
		}
		
		$news_exists = "";
		$tmp_sql = "SELECT hash
					FROM news
					WHERE ibm_watson_news_id = '". $details['id'] ."'
					;";
		if(!$incoming_vars['client']) {
			test("tmp_sql",$tmp_sql);
		}
		
		$news_exists = getTHECASHIER($tmp_sql,"ibm_to_twitter");
		if(!$incoming_vars['client']) {
			test("news_NOT_exists",$news_exists);
		} else {
			test("news_exists",$news_exists);
		}
		
		if(!$news_exists) {
			
			$_XXXXX_news_id = "";
			$_XXXXX_hash = hash_me();
			$_XXXXX_client = $client_details['name_client'];
			$_XXXXX_ibm_watson_news_id = $details['id'];
			$_XXXXX_title = addslashes($details['highlight']['title'][0]);
			$_XXXXX_tweet_text = "";
			$_XXXXX_url = $details['url'];
			$_XXXXX_sentiscore = $details['enriched_text']['entities'][0]['sentiment']['score'];
			$_XXXXX_keywords = addslashes(json_encode($details['highlight']['enriched_text.semantic_roles.subject.keywords.text']));
			$_XXXXX_news_data = "";
			$_XXXXX_datetime_publication = $details['publication_date'];
			$_XXXXX_datetime_crawl = $details['crawl_date'];
			$_XXXXX_datetime_created = datetime_v2();
			
			$tmp_sql = "INSERT INTO `news`
						(
							`news_id`
							, `hash`
							, `client`
							, `ibm_watson_news_id`
							, `title`
							, `tweet_text`
							, `url`
							, `sentiscore`
							, `keywords`
							, `news_data`
							, `datetime_publication`
							, `datetime_crawl`
							, `datetime_created`
						
						) VALUES (
						
							'". $_XXXXX_news_id . "'
							,'". $_XXXXX_hash . "'
							,'". $_XXXXX_client . "'
							,'". $_XXXXX_ibm_watson_news_id . "'
							,'". $_XXXXX_title . "'
							,'". $_XXXXX_tweet_text . "'
							,'". $_XXXXX_url . "'
							,'". $_XXXXX_sentiscore . "'
							,'". $_XXXXX_keywords . "'
							,'". $_XXXXX_news_data . "'
							,'". $_XXXXX_datetime_publication . "'
							,'". $_XXXXX_datetime_crawl . "'
							,'". $_XXXXX_datetime_created . "'
						
						)";
				if(!$incoming_vars['client']) {
					test("tmp_sql",$tmp_sql);
				}
				
				$insert_results = insertTHECASHIER($tmp_sql,"ibm_to_twitter");
				
				//test("insert_results",$insert_results);
				
				
				$twitter_screen_name = $client_details['twitter_screen_name'];
				
				
				$tweet_text = "";
				$hashtags = "";
				
				if($details['highlight']['enriched_text.semantic_roles.subject.keywords.text'][0]) {
				
					foreach($details['highlight']['enriched_text.semantic_roles.subject.keywords.text'] AS $keywords_key => $keyword) {
						
						$keyword = trim($keyword);
						$keyword = str_ireplace("<em>", "", $keyword);
						$keyword = str_ireplace("</em>", "", $keyword);
						$keyword = ucwords($keyword);
						$keyword = letters_and_numbers_only_v2($keyword);
						$keyword = "#".$keyword;
						$hashtags .= " ". $keyword; 
						
						
					}
				
				
				} else if($details['highlight']['enriched_text.keywords.text'][0]) {
					
					foreach($details['highlight']['enriched_text.keywords.text'] AS $keywords_key => $keyword) {
						//test("0-keyword",$keyword);
						$keyword = trim($keyword);
						//test("1-keyword",$keyword);
						
						
						$keyword = str_ireplace("<em>", "", $keyword);
						$keyword = str_ireplace("</em>", "", $keyword);
						//test("2-keyword",$keyword);
						
						$keyword = ucwords($keyword);
						//test("3-keyword",$keyword);
						$keyword = letters_and_numbers_only_v2($keyword);
						//test("4-keyword",$keyword);
						$keyword = "#".$keyword;
						//test("5-keyword",$keyword);
						$hashtags .= " ". $keyword; 	
					}
				
				
				} else if($details['highlight']['enriched_title.keywords.text'][0]) {
					
					foreach($details['highlight']['enriched_title.keywords.text'] AS $keywords_key => $keyword) {
						//test("0-keyword",$keyword);
						$keyword = trim($keyword);
						//test("1-keyword",$keyword);
						
						
						$keyword = str_ireplace("<em>", "", $keyword);
						$keyword = str_ireplace("</em>", "", $keyword);
						//test("2-keyword",$keyword);
						
						$keyword = ucwords($keyword);
						//test("3-keyword",$keyword);
						$keyword = letters_and_numbers_only_v2($keyword);
						//test("4-keyword",$keyword);
						$keyword = "#".$keyword;
						//test("5-keyword",$keyword);
						$hashtags .= " ". $keyword; 	
					}
				
				
				} else if($details['highlight']['enriched_title.concepts.text'][0]) {
					
					foreach($details['highlight']['enriched_title.concepts.text'] AS $keywords_key => $keyword) {
						//test("0-keyword",$keyword);
						$keyword = trim($keyword);
						//test("1-keyword",$keyword);
						
						
						$keyword = str_ireplace("<em>", "", $keyword);
						$keyword = str_ireplace("</em>", "", $keyword);
						//test("2-keyword",$keyword);
						
						$keyword = ucwords($keyword);
						//test("3-keyword",$keyword);
						$keyword = letters_and_numbers_only_v2($keyword);
						//test("4-keyword",$keyword);
						$keyword = "#".$keyword;
						//test("5-keyword",$keyword);
						$hashtags .= " ". $keyword; 	
					}
				
				
				} else if($details['highlight']['enriched_text.concepts.text'][0]) {
					
					foreach($details['highlight']['enriched_text.concepts.text'] AS $keywords_key => $keyword) {
						//test("0-keyword",$keyword);
						$keyword = trim($keyword);
						//test("1-keyword",$keyword);
						
						
						$keyword = str_ireplace("<em>", "", $keyword);
						$keyword = str_ireplace("</em>", "", $keyword);
						//test("2-keyword",$keyword);
						
						$keyword = ucwords($keyword);
						//test("3-keyword",$keyword);
						$keyword = letters_and_numbers_only_v2($keyword);
						//test("4-keyword",$keyword);
						$keyword = "#".$keyword;
						//test("5-keyword",$keyword);
						$hashtags .= " ". $keyword; 	
					}
				}
				
				
				
				
				
				
				
				
				
				
				if($details['highlight']['title'][0]) {
				
					$tweet_text = $details['highlight']['title'][0];
					$length_title = strlen($details['highlight']['title'][0]);
				
				} else if ($details['highlight']['enriched_text.semantic_roles.sentence'][0]) {
					
					$tweet_text = $details['highlight']['enriched_text.semantic_roles.sentence'][0];
					$length_title = strlen($details['highlight']['enriched_text.semantic_roles.sentence'][0]);
					
					
				} else if ($details['highlight']['text'][0]) {
					
					$tweet_text = $details['highlight']['text'][0];
					$length_title = strlen($details['highlight']['text'][0]);
					
					
				} else if ($details['text']) {
					
					$tweet_text = $details['text'];
					$length_title = strlen($details['text']);
					
					
				}
				
				
				
				$tweet_text = str_ireplace("<em>", "", $tweet_text);
				$tweet_text = str_ireplace("</em>", "", $tweet_text);
				$tweet_text = trim($tweet_text);
				
				/// do not tweet if iframe
				if(!stristr($tweet_text,"<iframe")) {
					
					$max_tweet = 280;
					$max_short_url = 25;
				
					$length_hashtags = strlen($hashtags);
					if( ($length_title + $length_hashtags) > ($max_tweet - $max_short_url) ) {
						$length = $length_title - $length_hashtags - $max_short_url;
					} else {
						$length = $length_title;
					}
					//$string = $details['highlight']['title'] . $hashtags;
					$length = $length;
					$final_tweet_string = truncate_title($tweet_text, $length, $dots = "...") . $hashtags . " " . $details['url'];
					
					test("final_tweet_string",$final_tweet_string);
					
					//exit;
					
					
					tweet_it($twitter_screen_name,$final_tweet_string);
					$tweeted = TRUE;
				
				}
				
			
		}
		
		if($tweeted == TRUE) break;
		//sleep(5);
	}

}




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







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

?>