CoolFace
Apppublic

kenken999/php

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
save-admin.php141 linesDownload Raw Back to public
1<?php2ini_set("display_errors","1");3ini_set("display_startup_errors","1");4include("include/dbcommon.php");5header("Expires: Thu, 01 Jan 1970 00:00:01 GMT");6include("include/reportfunctions.php");7 8 9//	CSRF protection10if( !isPostRequest() )11	return;12 13if(postvalue("name")=="password")14{15	if(DecodeUTF8(postvalue("password"))==$WRAdminPagePassword)16	{17		$_SESSION["WRAdmin"]=true;18		echo "OK";19	}20	else21	{22		unset($_SESSION["WRAdmin"]);23		echo "ERROR";24	}25	exit();26}27 28if(!isWRAdmin())29{30	$_SESSION["MyURL"]=$_SERVER["SCRIPT_NAME"]."?".$_SERVER["QUERY_STRING"];31	header("Location: ".GetTableLink("webreport", "", "message=expired"));32	return;33}34 35// #9875 It's expected that webreport_sql, webreport_admin tables belong to the same db connection36$_connection = $cman->getForWebReports();37 38if(postvalue("name")=="deletesql")39{40	if( postvalue("idsql") )41		$_connection->exec("delete from ".$_connection->addTableWrappers("webreport_sql")."  where ".$_connection->addFieldWrappers("id")."=".postvalue("idsql"));42	echo "OK";43	exit();44}45 46if(postvalue("name")=="sqledit")47{48	$errstr = "";49	$sqlcontent=postvalue("sqlcontent");50	$_SESSION["object_sql"]=$sqlcontent;51	$qResult=$_connection->query($sqlcontent);52	$rs = $qResult->fetchAssoc();53	if(!$rs)54	{55		echo $errstr;56		exit();57	}58	if($_SESSION["idSQL"])59	{60		$_connection->exec("update ".$_connection->addTableWrappers("webreport_sql")61			." set ".$_connection->addFieldWrappers("sqlname")."=".$_connection->prepareString( DecodeUTF8(postvalue("namesql") ))62			.",".$_connection->addFieldWrappers("sqlcontent")."=".$_connection->prepareString( $sqlcontent )63			." where ".$_connection->addFieldWrappers("id")."=".$_SESSION["idSQL"]);64			65		$_connection->exec("update ".$_connection->addTableWrappers("webreport_admin")66			." set ".$_connection->addFieldWrappers("tablename")."=".$_connection->prepareString( DecodeUTF8(postvalue("namesql")) )67			." where ".$_connection->addFieldWrappers("tablename")."=".$_connection->prepareString( $_SESSION["nameSQL"] ));68		69		$_SESSION["nameSQL"] = DecodeUTF8(postvalue("namesql"));70	}71	else72	{73		$sname=DecodeUTF8(postvalue("namesql"));74		$prefix=0;75		while(true)76		{77			if($prefix > 0)78				$sname = DecodeUTF8(postvalue("namesql"))."_".$prefix;79			80			$sql = "select count(*) from ".$_connection->addTableWrappers("webreport_sql")81				." where ".$_connection->addFieldWrappers("sqlname")."=".$_connection->prepareString( $sname );82				83			$data = $_connection->query( $sql )->fetchNumeric();84			if( $data[0] > 0 )85				$prefix++;86			else87				break;88		}89		90		$_connection->exec("insert into ".$_connection->addTableWrappers("webreport_sql")." (".$_connection->addFieldWrappers("sqlname")91			.",".$_connection->addFieldWrappers("sqlcontent").") values (".$_connection->prepareString($sname).",".$_connection->prepareString($sqlcontent).")");92		93		$_connection->exec("insert into ".$_connection->addTableWrappers("webreport_admin")." (".$_connection->addFieldWrappers("tablename")94			.",".$_connection->addFieldWrappers("db_type").",".$_connection->addFieldWrappers("group_name").")"95			." values (".$_connection->prepareString($sname).",'custom',".$_connection->prepareString( Security::getUserName() ).")");96		97		$sql = "select ".$_connection->addFieldWrappers("id")." from ".$_connection->addTableWrappers("webreport_sql")98			." where ".$_connection->addFieldWrappers("sqlname")."=".$_connection->prepareString($sname);99		100		$data = $_connection->query( $sql )->fetchNumeric();101		$_SESSION["idSQL"] = $data[0];102	}103	echo "OK";104	exit();105}106if(postvalue("name")=="viewsql")107{108 109	$arr=array();110	$arr=array(0,"",postvalue("output"));111	$customSQL=$arr[2];112	$_SESSION["customSQL"]=$customSQL;113	$_SESSION["idSQL"]=$arr[0];114	$_SESSION["nameSQL"]=$arr[1];115	$_SESSION["object_sql"]=$customSQL;116	echo $customSQL;117	exit();118}119if(postvalue("name")=="getcustomsql")120{121	$arr=array();122	$arr=WRgetCurrentCustomSQL(postvalue("output"));123	$customSQL=$arr[2];124	$_SESSION["customSQL"]=$customSQL;125	$_SESSION["idSQL"]=$arr[0];126	$_SESSION["nameSQL"]=$arr[1];127	$_SESSION["object_sql"]=$customSQL;128	echo $customSQL;129	exit();130}131 132$arr = my_json_decode(DecodeUTF8(postvalue("output")));133$_connection->exec("delete from ".$_connection->addTableWrappers("webreport_admin"));134foreach($arr as $val)135{136	$_connection->exec("insert into ".$_connection->addTableWrappers("webreport_admin")137		." (".$_connection->addFieldWrappers("tablename").",".$_connection->addFieldWrappers("db_type").",".$_connection->addFieldWrappers("group_name").")"138		." values (".$_connection->prepareString($val["table"]).",'".$val["db_type"]."',".$_connection->prepareString($val["group"]).")");139}140echo "OK";141?>