mirror of
https://github.com/PrivateBin/PrivateBin.git
synced 2025-08-17 18:50:26 -04:00
Refactoring of code base - modularized code, introduced configuration, started working on a PDO based DB connector
This commit is contained in:
parent
241c75a5d5
commit
ba90d0cae2
10 changed files with 1170 additions and 388 deletions
176
lib/zerobin_db.php
Normal file
176
lib/zerobin_db.php
Normal file
|
@ -0,0 +1,176 @@
|
|||
<?php
|
||||
/**
|
||||
* ZeroBin
|
||||
*
|
||||
* a zero-knowledge paste bin
|
||||
*
|
||||
* @link http://sebsauvage.net/wiki/doku.php?id=php:zerobin
|
||||
* @copyright 2012 Sébastien SAUVAGE (sebsauvage.net)
|
||||
* @license http://www.opensource.org/licenses/zlib-license.php The zlib/libpng License
|
||||
* @version 0.15
|
||||
*/
|
||||
|
||||
/**
|
||||
* zerobin_db
|
||||
*
|
||||
* Model for DB access, implemented as a singleton.
|
||||
*/
|
||||
class zerobin_db
|
||||
{
|
||||
/*
|
||||
* @access private
|
||||
* @static
|
||||
* @var PDO instance of database connection
|
||||
*/
|
||||
private static $_db;
|
||||
|
||||
/**
|
||||
* singleton instance
|
||||
*
|
||||
* @access private
|
||||
* @static
|
||||
* @var zerobin
|
||||
*/
|
||||
private static $_instance = null;
|
||||
|
||||
/**
|
||||
* enforce singleton, disable constructor
|
||||
*
|
||||
* Instantiate using {@link getInstance()}, zerobin is a singleton object.
|
||||
*
|
||||
* @access protected
|
||||
*/
|
||||
protected function __construct() {}
|
||||
|
||||
/**
|
||||
* enforce singleton, disable cloning
|
||||
*
|
||||
* Instantiate using {@link getInstance()}, zerobin is a singleton object.
|
||||
*
|
||||
* @access private
|
||||
*/
|
||||
private function __clone() {}
|
||||
|
||||
/**
|
||||
* get instance of singleton
|
||||
*
|
||||
* @access public
|
||||
* @static
|
||||
* @return zerobin
|
||||
*/
|
||||
public static function getInstance($options)
|
||||
{
|
||||
// if needed initialize the singleton
|
||||
if(null === self::$_instance) {
|
||||
self::$_instance = new self;
|
||||
self::_init();
|
||||
}
|
||||
if (
|
||||
is_array($options) &&
|
||||
array_key_exists('dsn', $options) &&
|
||||
array_key_exists('usr', $options) &&
|
||||
array_key_exists('pwd', $options) &&
|
||||
array_key_exists('opt', $options)
|
||||
) self::$_db = new PDO(
|
||||
$options['dsn'],
|
||||
$options['usr'],
|
||||
$options['pwd'],
|
||||
$options['opt']
|
||||
);
|
||||
return self::$_instance;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a paste.
|
||||
*
|
||||
* @access public
|
||||
* @param string $pasteid
|
||||
* @param array $paste
|
||||
* @return int|false
|
||||
*/
|
||||
public function create($pasteid, $paste)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Read a paste.
|
||||
*
|
||||
* @access public
|
||||
* @param string $pasteid
|
||||
* @return string
|
||||
*/
|
||||
public function read($pasteid)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a paste and its discussion.
|
||||
*
|
||||
* @access public
|
||||
* @param string $pasteid
|
||||
* @return void
|
||||
*/
|
||||
public function delete($pasteid)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Test if a paste exists.
|
||||
*
|
||||
* @access public
|
||||
* @param string $dataid
|
||||
* @return void
|
||||
*/
|
||||
public function exists($pasteid)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a comment in a paste.
|
||||
*
|
||||
* @access public
|
||||
* @param string $pasteid
|
||||
* @param string $parentid
|
||||
* @param string $commentid
|
||||
* @param array $comment
|
||||
* @return int|false
|
||||
*/
|
||||
public function createComment($pasteid, $parentid, $commentid, $comment)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Read all comments of paste.
|
||||
*
|
||||
* @access public
|
||||
* @param string $pasteid
|
||||
* @return array
|
||||
*/
|
||||
public function readComments($pasteid)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Test if a comment exists.
|
||||
*
|
||||
* @access public
|
||||
* @param string $dataid
|
||||
* @param string $parentid
|
||||
* @param string $commentid
|
||||
* @return void
|
||||
*/
|
||||
public function existsComment($pasteid, $parentid, $commentid)
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* initialize zerobin
|
||||
*
|
||||
* @access private
|
||||
* @static
|
||||
* @return void
|
||||
*/
|
||||
private static function _init()
|
||||
{
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue