<?php



class AC_Contact extends ActiveCampaign {



	public $version;

	public $url_base;

	public $url;

	public $api_key;



	function __construct($version, $url_base, $url, $api_key) {

		$this->version = $version;

		$this->url_base = $url_base;

		$this->url = $url;

		$this->api_key = $api_key;

	}



	function add($params, $post_data) {

		$request_url = "{$this->url}&api_action=contact_add&api_output={$this->output}";

		if ($params) $request_url .= "&{$params}";

		$response = $this->curl($request_url, $post_data);

		return $response;

	}



	function automation_list($params) {

		$request_url = "{$this->url}&api_action=contact_automation_list&api_output={$this->output}&{$params}";

		$response = $this->curl($request_url);

		return $response;

	}



	function delete_list($params) {

		$request_url = "{$this->url}&api_action=contact_delete_list&api_output={$this->output}&{$params}";

		$response = $this->curl($request_url);

		return $response;

	}



	function delete($params) {

		$request_url = "{$this->url}&api_action=contact_delete&api_output={$this->output}&{$params}";

		$response = $this->curl($request_url);

		return $response;

	}



	function edit($params, $post_data) {

		$request_url = "{$this->url}&api_action=contact_edit&api_output={$this->output}&{$params}";

		$response = $this->curl($request_url, $post_data);

		return $response;

	}



	function list_($params) {

		if ($this->version == 1) {

			$request_url = "{$this->url}&api_action=contact_list&api_output={$this->output}&{$params}";

			$response = $this->curl($request_url);

		} elseif ($this->version == 2) {

			$request_url = "{$this->url_base}/contact/emails";

		

			$response = $this->curl($request_url, $params, "GET", "contact_list");

		}

		return $response;

	}



	function note_add($params, $post_data) {

		$request_url = "{$this->url}&api_action=contact_note_add&api_output={$this->output}&{$params}";

		$response = $this->curl($request_url, $post_data);

		return $response;

	}



	function note_edit($params, $post_data) {

		$request_url = "{$this->url}&api_action=contact_note_edit&api_output={$this->output}&{$params}";

		$response = $this->curl($request_url, $post_data);

		return $response;

	}



	function note_delete($params) {

		$request_url = "{$this->url}&api_action=contact_note_delete&api_output={$this->output}&{$params}";

		$response = $this->curl($request_url);

		return $response;

	}



	function paginator($params) {

		$request_url = "{$this->url}&api_action=contact_paginator&api_output={$this->output}&{$params}";

		$response = $this->curl($request_url);

		return $response;

	}



	function sync($params, $post_data) {

		$request_url = "{$this->url}&api_action=contact_sync&api_output={$this->output}";

		if ($params) $request_url .= "&{$params}";

		$response = $this->curl($request_url, $post_data);

		return $response;

	}



	function tag_add($params, $post_data) {

		$request_url = "{$this->url}&api_action=contact_tag_add&api_output={$this->output}";

		if ($params) $request_url .= "&{$params}";

		$response = $this->curl($request_url, $post_data);

		return $response;

	}



	function tag_remove($params, $post_data) {

		$request_url = "{$this->url}&api_action=contact_tag_remove&api_output={$this->output}";

		if ($params) $request_url .= "&{$params}";

		$response = $this->curl($request_url, $post_data);

		return $response;

	}



	function view($params) {

		// can be a contact ID, email, or hash

		if (preg_match("/^email=/", $params)) {

			$action = "contact_view_email";

		}

		elseif (preg_match("/^hash=/", $params)) {

			$action = "contact_view_hash";

		}

		elseif (preg_match("/^id=/", $params)) {

			$action = "contact_view";

		}

		else {

			// default

			$action = "contact_view";

		}

		$request_url = "{$this->url}&api_action={$action}&api_output={$this->output}&{$params}";

		$response = $this->curl($request_url);

		return $response;

	}



}



?>