<?php

if('sco_ajax'==get_class($this)):
	$client_id 		=  $this->get_option('instagram_app_id','',true);
	$client_secret 	=  $this->get_option('instagram_app_secret','',true);
	//-----
	if(!class_exists('http_class'))			require( $path.'oauth-api/http.php');
	if(!class_exists('oauth_client_class'))	require( $path.'oauth-api/oauth_client.php');

	$client = new oauth_client_class;
	$client->debug = false;
	$client->debug_http = true;
	$client->oauth_version = '2.0';
	$client->dialog_url = 'https://api.instagram.com/oauth/authorize/?client_id={CLIENT_ID}&redirect_uri={REDIRECT_URI}&scope={SCOPE}&response_type=code&state={STATE}';
	$client->access_token_url = 'https://api.instagram.com/oauth/access_token';
	//--
	$client->redirect_uri	= $redirect_uri;
	$client->client_id 		= $client_id;
	$client->client_secret	= $client_secret;

	if(strlen($client->client_id) == 0
	|| strlen($client->client_secret) == 0)
		$this->error_message( __('Settings error, network api credentials not set.','rhsco') );

	/* API permissions
	 */
	$client->scope = 'basic';
	if(($success = $client->Initialize())){
		if(($success = $client->Process())){
			if(strlen($client->access_token)){
				$success = $client->CallAPI(
					'https://api.instagram.com/v1/users/self/', 
					'GET', array(), array('FailOnAccessError'=>true), $user);
			}
		}
		$success = $client->Finalize($success);
	}
	if($client->exit)
		exit;
	if($success){
		// stdClass Object
		// (
		//     [data] =&gt; stdClass Object
		//         (
		//             [username] =&gt; levikmax
		//             [bio] =&gt; 
		//             [website] =&gt; 
		//             [profile_picture] =&gt; https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-19/11005084_865154073531467_1036623033_a.jpg
		//             [full_name] =&gt; 


		//             [id] =&gt; 1736413069
		//         )

		// )

		$user_short = $user->data;
		$user = (object)array(
			'id'		=> $user_short->id,
			'username' 	=> $user_short->username,
			'name'		=> (isset($user_short->full_name)?$user_short->full_name:$user_short->username),
			'link'		=> 'https://instagram.com/'.$user_short->username
		);
		$SCO_Profile = new SCO_Profile( $network, (array)$user, $this->cb_get_option, true, true );
	}else{
		$this->error_message( sprintf( __('Error authenticating with social network: %s','rhsco'), HtmlSpecialChars($client->error) ) );
	}
else:
	$this->error_message( __('Settings error, cannot link directly to this file.', 'rhsco') );
endif; 
 

?>