403Webshell
Server IP : 210.245.233.93  /  Your IP : 216.73.216.226
Web Server : Apache/2.2.15 (CentOS)
System : Linux webserver2.onesolution.com.hk 2.6.32-754.35.1.el6.x86_64 #1 SMP Sat Nov 7 12:42:14 UTC 2020 x86_64
User : apache ( 48)
PHP Version : 5.3.3
Disable Function : exec, shell_exec, system, passthru, popen, proc_open, pcntl_exec
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /var/www/(Del)pathways.org.hk/MIS_bk/inc/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/(Del)pathways.org.hk/MIS_bk/inc/db.php
<?php
namespace Db;

class Util {
	public static function execute($dbh, $sql, $parameters = array()) {
		if (!($sth = $dbh->prepare($sql))) {
			throw new Exception("sql prepare statement failure: $sql");
		}
		$sth->setFetchMode(\PDO::FETCH_ASSOC);
		if (!$sth->execute($parameters)) {
			throw new Exception("sql execute statement failure: $sql");
		}
		return $sth;
	}
	
	public static function uuid($dbh) {
		$sql = "SELECT uuid() AS uuid";
		$sth = static::execute($dbh, $sql);
		$record = $sth->fetch(\PDO::FETCH_ASSOC);
		return $record['uuid'];
	}

	public static function columns($dbh, $table) {
		$sql = "SELECT column_name FROM information_schema.columns WHERE table_schema = (SELECT DATABASE()) AND table_name = ?";
		$parameters = array($table);
		$sth = static::execute($dbh, $sql, $parameters);
		return $sth->fetchAll();
	}

	public static function create($dbh, $table, array $data, array $columns = null) {
		$insert_data = array();

		if (empty($columns)) {
			$columns = static::columns($dbh, $table);
		}
		foreach ($columns as $column) {
			$column_name = $column['column_name'];
			if (isset($data[$column_name])) {
				$insert_data[$column_name] = $data[$column_name];
			}
		}
		
		$now = date('Y-m-d H:i:s');
		if (!isset($insert_data['createdate'])) {
			$insert_data['createdate'] = $now;
		}
		if (!isset($insert_data['lastupdate'])) {
			$insert_data['lastupdate'] = $now;
		}
		if (!isset($insert_data['createby'])) {
			$insert_data['createby'] = $_SESSION['webadmin']['id'];
		}
		if (!isset($insert_data['lastupby'])) {
			$insert_data['lastupby'] = $_SESSION['webadmin']['id'];
		}

		$insert_columns = array();
		$values = array();
		$parameters = array();
		foreach ($insert_data as $column => $value) {
			$insert_columns[] = "`$column`";
			$parameters[] = !strlen($value) ? null : $value;
			$values[] = '?';
		}
		$sql = "INSERT `$table` (" . implode(', ', $insert_columns) . ") VALUES (" . implode(', ', $values) . ")";
		$sth = static::execute($dbh, $sql, $parameters);
		return $dbh->lastInsertId();
	}

	public static function update($dbh, $table, array $data, array $columns = null, $primary_key = 'id') {
		if (empty($data[$primary_key])) {
			throw new Exception('No primary key value.');
		}

		$update_data = array();

		if (empty($columns)) {
			$columns = static::columns($dbh, $table);
		}
		foreach ($columns as $column) {
			$column_name = $column['column_name'];
			if (array_key_exists($column_name, $data)) {
				$update_data[$column_name] = $data[$column_name];
			}
		}
		
		$now = date('Y-m-d H:i:s');
		$update_data['lastupdate'] = $now;
		$update_data['lastupby'] = $_SESSION['webadmin']['id'];

		$values = array();
		$parameters = array();
		foreach ($update_data as $column => $value) {
			if ($column != $primary_key) {
				$parameters[] = !strlen($value) ? null : $value;
				$values[] = "`$column` = ?";
			}
		}
		$sql = "UPDATE `$table` SET " . implode(', ', $values) . " WHERE `$primary_key` = ?";
		$parameters[] = $data[$primary_key];
		$sth = static::execute($dbh, $sql, $parameters);
		return $sth->rowCount();
	}
	
	public static function transaction($dbh, $runnable) {
		if (!$dbh->beginTransaction()) {
			throw new Exception('mysql begin transaction failure.');
		}
		try {
			$runnable();
			
			if (!$dbh->commit()) {
				throw new Exception('mysql commit transaction failure.');
			}
		} catch (Exception $exception) {
			if (!$dbh->rollBack()) {
				throw new Exception('mysql roll back transaction failure.');
			}
			throw $exception;
		}
	}
}

Youez - 2016 - github.com/yon3zu
LinuXploit