CoolFace
Apppublic

kenken999/php

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
buttonhandler.php916 linesDownload Raw Back to public
1<?php2@ini_set("display_errors","1");3@ini_set("display_startup_errors","1");4 5require_once("include/dbcommon.php");6require_once("classes/button.php");7 8//	CSRF protection9if( !isPostRequest() )10	return;11 12$params = (array)my_json_decode(postvalue('params'));13 14if( $params["_base64fields"] ) {15	foreach( $params["_base64fields"] as $f ) {16		$params[$f] = base64_str2bin( $params[$f] );17	}18}19 20$buttId = $params['buttId'];21$eventId = postvalue('event');22$table = $params['table'];23if( !GetTableURL( $table ) ) {24	exit;25}26$page = $params['page'];27if( !Security::userCanSeePage($table, $page ) ) {28	exit;29}30 31$pSet = new ProjectSettings( $table, "", $page );32if( $buttId ) {33	$pageButtons = $pSet->customButtons();34	if( array_search( $buttId , $pageButtons ) === false ) {35		exit;36	}37}38 39$params["masterTable"] = postValue("masterTable");;40$params["masterKeys"] = array();41// RunnerPage::readMasterKeysFromRequest42$i = 1;43while( isset( $_REQUEST["masterkey".$i] ) ) {44	$params["masterKeys"][ $i ] = $_REQUEST["masterkey".$i];45	$i++;46}47 48 49if($buttId=='Create_chart')50{51	//  for login page users table can be turned off52	if( $table != GLOBAL_PAGES )53	{54		require_once("include/". GetTableURL( $table ) ."_variables.php");55		$cipherer = new RunnerCipherer( $table );56	}57	buttonHandler_Create_chart($params);58}59if($buttId=='Send')60{61	//  for login page users table can be turned off62	if( $table != GLOBAL_PAGES )63	{64		require_once("include/". GetTableURL( $table ) ."_variables.php");65		$cipherer = new RunnerCipherer( $table );66	}67	buttonHandler_Send($params);68}69if($buttId=='New_Button')70{71	//  for login page users table can be turned off72	if( $table != GLOBAL_PAGES )73	{74		require_once("include/". GetTableURL( $table ) ."_variables.php");75		$cipherer = new RunnerCipherer( $table );76	}77	buttonHandler_New_Button($params);78}79if($buttId=='select_user_button')80{81	//  for login page users table can be turned off82	if( $table != GLOBAL_PAGES )83	{84		require_once("include/". GetTableURL( $table ) ."_variables.php");85		$cipherer = new RunnerCipherer( $table );86	}87	buttonHandler_select_user_button($params);88}89if($buttId=='New_Button1')90{91	//  for login page users table can be turned off92	if( $table != GLOBAL_PAGES )93	{94		require_once("include/". GetTableURL( $table ) ."_variables.php");95		$cipherer = new RunnerCipherer( $table );96	}97	buttonHandler_New_Button1($params);98}99if($buttId=='Audio')100{101	//  for login page users table can be turned off102	if( $table != GLOBAL_PAGES )103	{104		require_once("include/". GetTableURL( $table ) ."_variables.php");105		$cipherer = new RunnerCipherer( $table );106	}107	buttonHandler_Audio($params);108}109if($buttId=='stopAudio')110{111	//  for login page users table can be turned off112	if( $table != GLOBAL_PAGES )113	{114		require_once("include/". GetTableURL( $table ) ."_variables.php");115		$cipherer = new RunnerCipherer( $table );116	}117	buttonHandler_stopAudio($params);118}119if($buttId=='video_chat')120{121	//  for login page users table can be turned off122	if( $table != GLOBAL_PAGES )123	{124		require_once("include/". GetTableURL( $table ) ."_variables.php");125		$cipherer = new RunnerCipherer( $table );126	}127	buttonHandler_video_chat($params);128}129if($buttId=='clip')130{131	//  for login page users table can be turned off132	if( $table != GLOBAL_PAGES )133	{134		require_once("include/". GetTableURL( $table ) ."_variables.php");135		$cipherer = new RunnerCipherer( $table );136	}137	buttonHandler_clip($params);138}139if($buttId=='audiotest')140{141	//  for login page users table can be turned off142	if( $table != GLOBAL_PAGES )143	{144		require_once("include/". GetTableURL( $table ) ."_variables.php");145		$cipherer = new RunnerCipherer( $table );146	}147	buttonHandler_audiotest($params);148}149 150if( $eventId == 'select_provider' && "chat_settings" == $table )151{152	require_once("include/chat_settings_variables.php");153	$cipherer = new RunnerCipherer("chat_settings");154	fieldEventHandler_select_provider( $params );155}156if( $eventId == 'check_video' && "chat_settings" == $table )157{158	require_once("include/chat_settings_variables.php");159	$cipherer = new RunnerCipherer("chat_settings");160	fieldEventHandler_check_video( $params );161}162if( $eventId == 'tmp_file_event' && "chat_history" == $table )163{164	require_once("include/chat_history_variables.php");165	$cipherer = new RunnerCipherer("chat_history");166	fieldEventHandler_tmp_file_event( $params );167}168 169 170 171 172// create table and non table handlers173function buttonHandler_Create_chart($params)174{175	global $strTableName;176	$result = array();177 178	// create new button object for get record data179	$params["keys"] = (array)my_json_decode(postvalue('keys'));180	$params["isManyKeys"] = postvalue('isManyKeys');181	$params["location"] = postvalue('location');182 183	$button = new Button($params);184	$ajax = $button; // for examle from HELP185	$keys = $button->getKeys();186 187	$masterData = false;188	if ( isset($params['masterData']) && count($params['masterData']) > 0 )189	{190		$masterData = $params['masterData'];191	}192	else if ( isset($params["masterTable"]) )193	{194		$masterData = $button->getMasterData($params["masterTable"]);195	}196	197	$contextParams = array();198	if ( $params["location"] == PAGE_VIEW )199	{200		$contextParams["data"] = $button->getRecordData();201		$contextParams["masterData"] = $masterData;202	}203	else if ( $params["location"] == PAGE_EDIT )204	{205		$contextParams["data"] = $button->getRecordData();206		$contextParams["newData"] = $params['fieldsData'];207		$contextParams["masterData"] = $masterData;208	}209	else if ( $params["location"] == "grid" )210	{	211		$params["location"] = "list";212		$contextParams["data"] = $button->getRecordData();213		$contextParams["newData"] = $params['fieldsData'];214		$contextParams["masterData"] = $masterData;215	}216	else 217	{218		$contextParams["masterData"] = $masterData;219	}220 221	RunnerContext::push( new RunnerContextItem( $params["location"], $contextParams));222	/*global $loginKeyFields;223$userdata = Security::currentUserData();224$rs = DB::Query("select count(id) as cnt from chat_history where ownerid='".$userdata[$loginKeyFields[0]]."' and targetid='".$params["id"]."' and isread=0");225$data = $rs->fetchAssoc();226if($data["cnt"]==0){227	DB::Exec("insert into chat_history (messages, created, isread, targetid, ownerid) values ('','".date("Y-m-d- h:i:s")."',0,".$params["id"].",'".$userdata[$loginKeyFields[0]]."')");228}229$result["id"] = $params["id"];*/;230	RunnerContext::pop();231	echo my_json_encode($result);232	$button->deleteTempFiles();233}234function buttonHandler_Send($params)235{236	global $strTableName;237	$result = array();238 239	// create new button object for get record data240	$params["keys"] = (array)my_json_decode(postvalue('keys'));241	$params["isManyKeys"] = postvalue('isManyKeys');242	$params["location"] = postvalue('location');243 244	$button = new Button($params);245	$ajax = $button; // for examle from HELP246	$keys = $button->getKeys();247 248	$masterData = false;249	if ( isset($params['masterData']) && count($params['masterData']) > 0 )250	{251		$masterData = $params['masterData'];252	}253	else if ( isset($params["masterTable"]) )254	{255		$masterData = $button->getMasterData($params["masterTable"]);256	}257	258	$contextParams = array();259	if ( $params["location"] == PAGE_VIEW )260	{261		$contextParams["data"] = $button->getRecordData();262		$contextParams["masterData"] = $masterData;263	}264	else if ( $params["location"] == PAGE_EDIT )265	{266		$contextParams["data"] = $button->getRecordData();267		$contextParams["newData"] = $params['fieldsData'];268		$contextParams["masterData"] = $masterData;269	}270	else if ( $params["location"] == "grid" )271	{	272		$params["location"] = "list";273		$contextParams["data"] = $button->getRecordData();274		$contextParams["newData"] = $params['fieldsData'];275		$contextParams["masterData"] = $masterData;276	}277	else 278	{279		$contextParams["masterData"] = $masterData;280	}281 282	RunnerContext::push( new RunnerContextItem( $params["location"], $contextParams));283	/*include_once("chat_functions.php");284global $loginKeyFields;285$mess = $params["msg"];286if(strlen($mess)>4000)287	$mess = substr($mess,0,4000);288$userdata = Security::currentUserData();289$t = explode(" ",this_microtime());290$sql = DB::PrepareSQL("insert into chat_history (messages, created, isread, targetid, ownerid, status) values (':1',':2','0','".$_SESSION["targetid"]."','".$userdata[$loginKeyFields[0]]."','')", $mess, date("Y-m-d H:i:s",$t[1]).substr((string)$t[0],1,4));291//echo $sql;292DB::Exec($sql);293$_SESSION["message_id"] = DB::LastId();294 295**/;296	RunnerContext::pop();297	echo my_json_encode($result);298	$button->deleteTempFiles();299}300function buttonHandler_New_Button($params)301{302	global $strTableName;303	$result = array();304 305	// create new button object for get record data306	$params["keys"] = (array)my_json_decode(postvalue('keys'));307	$params["isManyKeys"] = postvalue('isManyKeys');308	$params["location"] = postvalue('location');309 310	$button = new Button($params);311	$ajax = $button; // for examle from HELP312	$keys = $button->getKeys();313 314	$masterData = false;315	if ( isset($params['masterData']) && count($params['masterData']) > 0 )316	{317		$masterData = $params['masterData'];318	}319	else if ( isset($params["masterTable"]) )320	{321		$masterData = $button->getMasterData($params["masterTable"]);322	}323	324	$contextParams = array();325	if ( $params["location"] == PAGE_VIEW )326	{327		$contextParams["data"] = $button->getRecordData();328		$contextParams["masterData"] = $masterData;329	}330	else if ( $params["location"] == PAGE_EDIT )331	{332		$contextParams["data"] = $button->getRecordData();333		$contextParams["newData"] = $params['fieldsData'];334		$contextParams["masterData"] = $masterData;335	}336	else if ( $params["location"] == "grid" )337	{	338		$params["location"] = "list";339		$contextParams["data"] = $button->getRecordData();340		$contextParams["newData"] = $params['fieldsData'];341		$contextParams["masterData"] = $masterData;342	}343	else 344	{345		$contextParams["masterData"] = $masterData;346	}347 348	RunnerContext::push( new RunnerContextItem( $params["location"], $contextParams));349	;350	RunnerContext::pop();351	echo my_json_encode($result);352	$button->deleteTempFiles();353}354function buttonHandler_select_user_button($params)355{356	global $strTableName;357	$result = array();358 359	// create new button object for get record data360	$params["keys"] = (array)my_json_decode(postvalue('keys'));361	$params["isManyKeys"] = postvalue('isManyKeys');362	$params["location"] = postvalue('location');363 364	$button = new Button($params);365	$ajax = $button; // for examle from HELP366	$keys = $button->getKeys();367 368	$masterData = false;369	if ( isset($params['masterData']) && count($params['masterData']) > 0 )370	{371		$masterData = $params['masterData'];372	}373	else if ( isset($params["masterTable"]) )374	{375		$masterData = $button->getMasterData($params["masterTable"]);376	}377	378	$contextParams = array();379	if ( $params["location"] == PAGE_VIEW )380	{381		$contextParams["data"] = $button->getRecordData();382		$contextParams["masterData"] = $masterData;383	}384	else if ( $params["location"] == PAGE_EDIT )385	{386		$contextParams["data"] = $button->getRecordData();387		$contextParams["newData"] = $params['fieldsData'];388		$contextParams["masterData"] = $masterData;389	}390	else if ( $params["location"] == "grid" )391	{	392		$params["location"] = "list";393		$contextParams["data"] = $button->getRecordData();394		$contextParams["newData"] = $params['fieldsData'];395		$contextParams["masterData"] = $masterData;396	}397	else 398	{399		$contextParams["masterData"] = $masterData;400	}401 402	RunnerContext::push( new RunnerContextItem( $params["location"], $contextParams));403	;404	RunnerContext::pop();405	echo my_json_encode($result);406	$button->deleteTempFiles();407}408function buttonHandler_New_Button1($params)409{410	global $strTableName;411	$result = array();412 413	// create new button object for get record data414	$params["keys"] = (array)my_json_decode(postvalue('keys'));415	$params["isManyKeys"] = postvalue('isManyKeys');416	$params["location"] = postvalue('location');417 418	$button = new Button($params);419	$ajax = $button; // for examle from HELP420	$keys = $button->getKeys();421 422	$masterData = false;423	if ( isset($params['masterData']) && count($params['masterData']) > 0 )424	{425		$masterData = $params['masterData'];426	}427	else if ( isset($params["masterTable"]) )428	{429		$masterData = $button->getMasterData($params["masterTable"]);430	}431	432	$contextParams = array();433	if ( $params["location"] == PAGE_VIEW )434	{435		$contextParams["data"] = $button->getRecordData();436		$contextParams["masterData"] = $masterData;437	}438	else if ( $params["location"] == PAGE_EDIT )439	{440		$contextParams["data"] = $button->getRecordData();441		$contextParams["newData"] = $params['fieldsData'];442		$contextParams["masterData"] = $masterData;443	}444	else if ( $params["location"] == "grid" )445	{	446		$params["location"] = "list";447		$contextParams["data"] = $button->getRecordData();448		$contextParams["newData"] = $params['fieldsData'];449		$contextParams["masterData"] = $masterData;450	}451	else 452	{453		$contextParams["masterData"] = $masterData;454	}455 456	RunnerContext::push( new RunnerContextItem( $params["location"], $contextParams));457	// Put your code here.458$result["txt"] = $params["txt"]." world!";459;460	RunnerContext::pop();461	echo my_json_encode($result);462	$button->deleteTempFiles();463}464function buttonHandler_Audio($params)465{466	global $strTableName;467	$result = array();468 469	// create new button object for get record data470	$params["keys"] = (array)my_json_decode(postvalue('keys'));471	$params["isManyKeys"] = postvalue('isManyKeys');472	$params["location"] = postvalue('location');473 474	$button = new Button($params);475	$ajax = $button; // for examle from HELP476	$keys = $button->getKeys();477 478	$masterData = false;479	if ( isset($params['masterData']) && count($params['masterData']) > 0 )480	{481		$masterData = $params['masterData'];482	}483	else if ( isset($params["masterTable"]) )484	{485		$masterData = $button->getMasterData($params["masterTable"]);486	}487	488	$contextParams = array();489	if ( $params["location"] == PAGE_VIEW )490	{491		$contextParams["data"] = $button->getRecordData();492		$contextParams["masterData"] = $masterData;493	}494	else if ( $params["location"] == PAGE_EDIT )495	{496		$contextParams["data"] = $button->getRecordData();497		$contextParams["newData"] = $params['fieldsData'];498		$contextParams["masterData"] = $masterData;499	}500	else if ( $params["location"] == "grid" )501	{	502		$params["location"] = "list";503		$contextParams["data"] = $button->getRecordData();504		$contextParams["newData"] = $params['fieldsData'];505		$contextParams["masterData"] = $masterData;506	}507	else 508	{509		$contextParams["masterData"] = $masterData;510	}511 512	RunnerContext::push( new RunnerContextItem( $params["location"], $contextParams));513	// Put your code here.514$result["txt"] = $params["txt"]." world!";515;516	RunnerContext::pop();517	echo my_json_encode($result);518	$button->deleteTempFiles();519}520function buttonHandler_stopAudio($params)521{522	global $strTableName;523	$result = array();524 525	// create new button object for get record data526	$params["keys"] = (array)my_json_decode(postvalue('keys'));527	$params["isManyKeys"] = postvalue('isManyKeys');528	$params["location"] = postvalue('location');529 530	$button = new Button($params);531	$ajax = $button; // for examle from HELP532	$keys = $button->getKeys();533 534	$masterData = false;535	if ( isset($params['masterData']) && count($params['masterData']) > 0 )536	{537		$masterData = $params['masterData'];538	}539	else if ( isset($params["masterTable"]) )540	{541		$masterData = $button->getMasterData($params["masterTable"]);542	}543	544	$contextParams = array();545	if ( $params["location"] == PAGE_VIEW )546	{547		$contextParams["data"] = $button->getRecordData();548		$contextParams["masterData"] = $masterData;549	}550	else if ( $params["location"] == PAGE_EDIT )551	{552		$contextParams["data"] = $button->getRecordData();553		$contextParams["newData"] = $params['fieldsData'];554		$contextParams["masterData"] = $masterData;555	}556	else if ( $params["location"] == "grid" )557	{	558		$params["location"] = "list";559		$contextParams["data"] = $button->getRecordData();560		$contextParams["newData"] = $params['fieldsData'];561		$contextParams["masterData"] = $masterData;562	}563	else 564	{565		$contextParams["masterData"] = $masterData;566	}567 568	RunnerContext::push( new RunnerContextItem( $params["location"], $contextParams));569	// Put your code here.570$result["txt"] = $params["txt"]." world!";571;572	RunnerContext::pop();573	echo my_json_encode($result);574	$button->deleteTempFiles();575}576function buttonHandler_video_chat($params)577{578	global $strTableName;579	$result = array();580 581	// create new button object for get record data582	$params["keys"] = (array)my_json_decode(postvalue('keys'));583	$params["isManyKeys"] = postvalue('isManyKeys');584	$params["location"] = postvalue('location');585 586	$button = new Button($params);587	$ajax = $button; // for examle from HELP588	$keys = $button->getKeys();589 590	$masterData = false;591	if ( isset($params['masterData']) && count($params['masterData']) > 0 )592	{593		$masterData = $params['masterData'];594	}595	else if ( isset($params["masterTable"]) )596	{597		$masterData = $button->getMasterData($params["masterTable"]);598	}599	600	$contextParams = array();601	if ( $params["location"] == PAGE_VIEW )602	{603		$contextParams["data"] = $button->getRecordData();604		$contextParams["masterData"] = $masterData;605	}606	else if ( $params["location"] == PAGE_EDIT )607	{608		$contextParams["data"] = $button->getRecordData();609		$contextParams["newData"] = $params['fieldsData'];610		$contextParams["masterData"] = $masterData;611	}612	else if ( $params["location"] == "grid" )613	{	614		$params["location"] = "list";615		$contextParams["data"] = $button->getRecordData();616		$contextParams["newData"] = $params['fieldsData'];617		$contextParams["masterData"] = $masterData;618	}619	else 620	{621		$contextParams["masterData"] = $masterData;622	}623 624	RunnerContext::push( new RunnerContextItem( $params["location"], $contextParams));625	include_once("chat_functions.php");626global $loginKeyFields, $cDisplayNameField, $cUserNameField;627$result["message"] = "";628$rs = DB::Select("chat_history", array("isVideo"=>1,"ownerid"=>$userdata[$loginKeyFields[0]]));629if(!($data = $rs->fetchAssoc())){630	if(!$cDisplayNameField)631		$cDisplayNameField = $cUserNameField;632	$userdata = Security::currentUserData();633	$username = $userdata[$cDisplayNameField];634	if(!$username)635		$username = $userdata[$cUserNameField];636	$t = explode(" ",this_microtime());637//--- create meeting638	$values["name"] = "Video chat";639	$values["schedule"] = date("Y-m-d H:i:s");640	$values["password"] = "";641 642	/*$rs = DB::Select("chat_settings");643	$data = $rs->fetchAssoc();644	$rs2 = DB::Select("chat_timezone", array("id"=>$data["timezone"]));645	$data2 = $rs2->fetchAssoc();646	$rctimezone = $data2["rc"];647	$zoomtimezone = $data2["zoom"];*/648 649	$rs = DB::Select("chat_settings");650	$data = $rs->fetchAssoc();651 652	$OAuoh = base64_encode($data["Z_APIKey"].":".$data["Z_APISecret"]);653	$url = "https://zoom.us/oauth/token";654	$headers = array("Authorization"=>" Basic ".$OAuoh, "Host"=>"zoom.us","Content-Type"=>"application/x-www-form-urlencoded");655	$postFields = "grant_type=account_credentials&account_id=".$data["Z_Token"]."&redirect_uri=https://zoom.us";656	$response = runner_http_request( $url, $postFields, "POST", $headers, true );657	$arrresponse = my_json_decode($response["content"]);658	if($arrresponse["message"]){659		$result["message"] = $arrresponse["message"];660	}661	else{662	  $token = $arrresponse["access_token"];663 664		$createAMeetingArray['topic']      = $values["name"];665	  $createAMeetingArray['agenda']     = "";666		$dt = "";667		if($values["schedule"]){668			$datetime = date("Y-m-d\TH:i:s", strtotime($values["schedule"]));669			$createAMeetingArray['type'] = 2;670			$createAMeetingArray['start_time'] = $datetime;671			$dt = date("m/d/Y H:i:s", strtotime($values["schedule"]));672		}673		else674			$createAMeetingArray['type'] = 1;675		676		//$createAMeetingArray['timezone'] = $zoomtimezone;677		if($values["password"])678			$createAMeetingArray['password'] = $values["password"];679		else680			$createAMeetingArray['password'] = "";681		$createAMeetingArray['duration'] = 60;682		$createAMeetingArray['settings'] = array(683			 'join_before_host'  => false,684			 'host_video'        => true,685			 'participant_video' => true,686			 'mute_upon_entry'   => false,687			 'enforce_login'     => false,688			 'alternative_hosts' => ""689		);690		if($data["saveInCloud"])691			$createAMeetingArray['settings']['auto_recording'] = true;692 693		$postFields = my_json_encode($createAMeetingArray);694		$url = "https://api.zoom.us/v2/users/me/meetings";695		$headers = array("authorization"=>" Bearer ".$token, "content-type"=>"application/json");696		$response = runner_http_request( $url, $postFields, "POST", $headers, true );697		$arrresponse = my_json_decode($response["content"]);698		$result["createlink"] = "";699		if($arrresponse["message"]){700			$result["message"] = $arrresponse["message"];701		}702		else{703			$values["createlink"] = $arrresponse["start_url"];704			$values["joinlink"] = $arrresponse["join_url"];705 706 707			$result["createlink"] = $values["createlink"];708			DB::Insert("chat_history", array("messages"=>$values["joinlink"],"created"=>date("Y-m-d H:i:s",$t[1]).substr((string)$t[0],1,4),"isread"=>0,"targetid"=>$_SESSION["targetid"], "isVideo"=>1, "ownerid"=>$userdata[$loginKeyFields[0]]));709			//DB::Insert("chat_history", array("messages"=>"<i>".$username." create video chat</i>","created"=>date("Y-m-d H:i:s",$t[1]).substr((string)$t[0],1,4),"isread"=>0,"targetid"=>$_SESSION["targetid"], "isVideo"=>0, "ownerid"=>$userdata[$loginKeyFields[0]]));710		}711	}712}713 714;715	RunnerContext::pop();716	echo my_json_encode($result);717	$button->deleteTempFiles();718}719function buttonHandler_clip($params)720{721	global $strTableName;722	$result = array();723 724	// create new button object for get record data725	$params["keys"] = (array)my_json_decode(postvalue('keys'));726	$params["isManyKeys"] = postvalue('isManyKeys');727	$params["location"] = postvalue('location');728 729	$button = new Button($params);730	$ajax = $button; // for examle from HELP731	$keys = $button->getKeys();732 733	$masterData = false;734	if ( isset($params['masterData']) && count($params['masterData']) > 0 )735	{736		$masterData = $params['masterData'];737	}738	else if ( isset($params["masterTable"]) )739	{740		$masterData = $button->getMasterData($params["masterTable"]);741	}742	743	$contextParams = array();744	if ( $params["location"] == PAGE_VIEW )745	{746		$contextParams["data"] = $button->getRecordData();747		$contextParams["masterData"] = $masterData;748	}749	else if ( $params["location"] == PAGE_EDIT )750	{751		$contextParams["data"] = $button->getRecordData();752		$contextParams["newData"] = $params['fieldsData'];753		$contextParams["masterData"] = $masterData;754	}755	else if ( $params["location"] == "grid" )756	{	757		$params["location"] = "list";758		$contextParams["data"] = $button->getRecordData();759		$contextParams["newData"] = $params['fieldsData'];760		$contextParams["masterData"] = $masterData;761	}762	else 763	{764		$contextParams["masterData"] = $masterData;765	}766 767	RunnerContext::push( new RunnerContextItem( $params["location"], $contextParams));768	;769	RunnerContext::pop();770	echo my_json_encode($result);771	$button->deleteTempFiles();772}773function buttonHandler_audiotest($params)774{775	global $strTableName;776	$result = array();777 778	// create new button object for get record data779	$params["keys"] = (array)my_json_decode(postvalue('keys'));780	$params["isManyKeys"] = postvalue('isManyKeys');781	$params["location"] = postvalue('location');782 783	$button = new Button($params);784	$ajax = $button; // for examle from HELP785	$keys = $button->getKeys();786 787	$masterData = false;788	if ( isset($params['masterData']) && count($params['masterData']) > 0 )789	{790		$masterData = $params['masterData'];791	}792	else if ( isset($params["masterTable"]) )793	{794		$masterData = $button->getMasterData($params["masterTable"]);795	}796	797	$contextParams = array();798	if ( $params["location"] == PAGE_VIEW )799	{800		$contextParams["data"] = $button->getRecordData();801		$contextParams["masterData"] = $masterData;802	}803	else if ( $params["location"] == PAGE_EDIT )804	{805		$contextParams["data"] = $button->getRecordData();806		$contextParams["newData"] = $params['fieldsData'];807		$contextParams["masterData"] = $masterData;808	}809	else if ( $params["location"] == "grid" )810	{	811		$params["location"] = "list";812		$contextParams["data"] = $button->getRecordData();813		$contextParams["newData"] = $params['fieldsData'];814		$contextParams["masterData"] = $masterData;815	}816	else 817	{818		$contextParams["masterData"] = $masterData;819	}820 821	RunnerContext::push( new RunnerContextItem( $params["location"], $contextParams));822	// Put your code here.823$result["txt"] = $params["txt"]." world!";824;825	RunnerContext::pop();826	echo my_json_encode($result);827	$button->deleteTempFiles();828}829 830 831		832function fieldEventHandler_select_provider( $params )833{834	$params["keys"] = (array)my_json_decode(postvalue('keys'));835	$params["isManyKeys"] = false;836	$params["location"] = postvalue('pageType');837	838	$button = new Button($params);839	$keys = $button->getKeys();840	$ajax = $button; // for examle from HELP841	$result = array();842	843	$pageType = postvalue("pageType");844	$fieldsData = my_json_decode( postvalue("fieldsData") );845	846	$contextParams = array(847		"data" => $fieldsData,848		"masterData" => $_SESSION[ $masterTable . "_masterRecordData" ]849	);850	851	RunnerContext::push( new RunnerContextItem( CONTEXT_ROW, $contextParams ) );852	;853	RunnerContext::pop();854	855	echo my_json_encode( $result );856	$button->deleteTempFiles();857}858function fieldEventHandler_check_video( $params )859{860	$params["keys"] = (array)my_json_decode(postvalue('keys'));861	$params["isManyKeys"] = false;862	$params["location"] = postvalue('pageType');863	864	$button = new Button($params);865	$keys = $button->getKeys();866	$ajax = $button; // for examle from HELP867	$result = array();868	869	$pageType = postvalue("pageType");870	$fieldsData = my_json_decode( postvalue("fieldsData") );871	872	$contextParams = array(873		"data" => $fieldsData,874		"masterData" => $_SESSION[ $masterTable . "_masterRecordData" ]875	);876	877	RunnerContext::push( new RunnerContextItem( CONTEXT_ROW, $contextParams ) );878	879// Sample:880$result["upper"] = strtoupper( $params["value"] );881;882	RunnerContext::pop();883	884	echo my_json_encode( $result );885	$button->deleteTempFiles();886}887function fieldEventHandler_tmp_file_event( $params )888{889	$params["keys"] = (array)my_json_decode(postvalue('keys'));890	$params["isManyKeys"] = false;891	$params["location"] = postvalue('pageType');892	893	$button = new Button($params);894	$keys = $button->getKeys();895	$ajax = $button; // for examle from HELP896	$result = array();897	898	$pageType = postvalue("pageType");899	$fieldsData = my_json_decode( postvalue("fieldsData") );900	901	$contextParams = array(902		"data" => $fieldsData,903		"masterData" => $_SESSION[ $masterTable . "_masterRecordData" ]904	);905	906	RunnerContext::push( new RunnerContextItem( CONTEXT_ROW, $contextParams ) );907	908// Sample:909$result["upper"] = strtoupper( $params["value"] );910;911	RunnerContext::pop();912	913	echo my_json_encode( $result );914	$button->deleteTempFiles();915}916?>