<?php
/*
 * Created on 28.01.2010
 *
 * JS-Widget-Module for hooolp-API
 * VERSION 1.0
 * Author : Denny Kruse (develonet.de)
 * Copyright : 2010 Denny Kruse develonet.de IT-Service - Internet - Software
 * 
 */

$dir=dirname(realpath(dirname(__FILE__).'/../class.Helper.php'));
require_once($dir.'/class.Helper.php');
$h=new Helper();


if(isset($_GET['key'])){
	$user=$h->DBgetArray('SELECT user_id FROM fcms_x_api_keys WHERE api_key="'.$h->dbEscape($_GET['key']).'"');
	if($user===false || count($user)==0){
		returnErrorAlert('Invalid API-Key');
		exit();
	}
}else{
	returnErrorAlert('Invalid API-Key');
	exit();
}

//parse INIT-Values

$options=array();
foreach($_GET as $option=>$val){
	$options[$option]=$val;
}

$returnJS='';

//get Jquery
$data='';

if(!isset($options['nojquery'])){

	$filename=$_SERVER['DOCUMENT_ROOT']."/acp/lib/api2.0/jquery/js/jquery-1.4.1.min.js";
	$fp=fopen($filename,"r");
	$data=fread($fp,filesize($filename));
	fclose ($fp);
	$returnJS.='/*JQUERY-FRAMEWORK*/'."\n\n".$data."\n\n";

}

if(!isset($options['nojqueryui'])){
	if($options['datepicker']){
		//getJqueryUI
		$data='';
		$filename=$_SERVER['DOCUMENT_ROOT']."/acp/lib/api2.0/jquery/js/jquery-ui-1.8rc1.custom.min.js";
		$fp=fopen($filename,"r");
		$data=fread($fp,filesize($filename));
		fclose ($fp);
		$returnJS.='/*JQUERY-UI*/'."\n\n".$data."\n\n";
	}
}

$retOptions=array();
foreach($_GET as $key=>$val){
	$retOptions[$key]=$val;
}
if($retOptions['gmaps']){
	if(substr($retOptions['gmaps'],0,1)=='['){
		$retOptions['gmaps']=substr($retOptions['gmaps'],1);
	}
	if(substr($retOptions['gmaps'],-1)==']'){
		$retOptions['gmaps']=substr($retOptions['gmaps'],0,-1);
	}
}
$retOptions['apiPath']=dirname(__FILE__).'/'; //$_SERVER['HTTP_HOST'].'/acp/lib/api2.0/';
$retOptions['apiHost']='api2.hooolp.com';

if(isset($options['bands']) && preg_match('/^[0-9]{1,12}((,[0-9]{1,12})*)?(,)?$/',$options['bands'])){
	if($options['bands']==0){
		$res=$h->DBgetArray('' .
			'SELECT fcms_x_bands.id,fcms_x_bands.bandname ' .
			'FROM fcms_x_api_items ' .
			'JOIN fcms_x_bands ON (fcms_x_api_items.item_key=fcms_x_bands.id) ' .
			'WHERE type=1 AND api_key="'.$h->dbEscape($_GET['key']).'" ORDER BY fcms_x_api_items.ordering' .
		'');
	}else{
		if(substr($options['bands'],-1)==','){
			$options['bands']=substr($options['bands'],0,-1);
		}
		$res=$h->DBgetArray('SELECT id,bandname FROM fcms_x_bands WHERE id IN ('.$options['bands'].')');
	}
	if($res===false || count($res)==0){
		$retOptions['bands']=array();
	}else{
		$retOptions['bands']=$res;
	}
}else if(isset($options['bands'])){
	returnErrorAlert('Invalid Parameter - bands');
}else{
	if($retOptions['bands']){
		unset($retOptions['bands']);
	}
}
/*
if(isset($options['locations']) && preg_match('/^[0-9]{1,12}((,[0-9]{1,12})*)?(,)?$/',$options['locations'])){
	if($options['locations']==0){
		$res=$h->DBgetArray('' .
			'SELECT fcms_x_bands.id,fcms_x_bands.bandname ' .
			'FROM fcms_x_api_items ' .
			'JOIN fcms_x_bands ON (fcms_x_api_items.item_key=fcms_x_bands.id) ' .
			'WHERE type=1 AND api_key="'.$h->dbEscape($_GET['key']).'"' .
		'');
	}else{
		if(substr($options['bands'],-1)==','){
			$options['bands']=substr($options['bands'],0,-1);
		}
		$res=$h->DBgetArray('SELECT id,bandname FROM fcms_x_bands WHERE id IN ('.$options['bands'].')');
	}
	if($res===false || count($res)==0){
		$retOptions['bands']=array();
	}else{
		$retOptions['bands']=$res;
	}
}else if(isset($options['bands'])){
	returnErrorAlert('Invalid Parameter - bands');
}else{
	if($retOptions['bands']){
		unset($retOptions['bands']);
	}
}
*/

$retOptions['initCallback']='standard';
$retOptions['onSelectDateCallback']='standard';
$retOptions['onSelectBandCallback']='standard';
$retOptions['onSelectBand']='getBandDetails';


//get InitFunction for Widget
$data='';
$filename=$_SERVER['DOCUMENT_ROOT']."/acp/lib/api2.0/widgetInit.js";
$fp=fopen($filename,"r");
$data=fread($fp,filesize($filename));
fclose ($fp);
$returnJS.='/*HOOOLP-API-JS-WIDGET-INIT*/'."\n\n".$data."\n\n";




//get hooolp JS-Widget
$data='';
$filename=$_SERVER['DOCUMENT_ROOT']."/acp/lib/api2.0/apiWidget.js";
$fp=fopen($filename,"r");
$data=fread($fp,filesize($filename));
fclose ($fp);
$returnJS.='/*HOOOLP-API-JS-WIDGET*/'."\n\n".$data."\n".'var widgetOptions='.json_encode($retOptions)."\n\n";



echo $returnJS;
exit();


function returnErrorAlert($error){
	echo 'alert("'.str_replace('"','\"',$error).'");';
	exit();
}


?>
