added autoloading, configurable paste size limit, changed JS to calculate localized comment times instead of UTC
parent
5d6401b44d
commit
edf95ff56d
@ -1,3 +1,6 @@
|
||||
# Ignore data/ and tmp/
|
||||
data/
|
||||
tmp/
|
||||
.settings/
|
||||
.buildpath
|
||||
.project
|
||||
|
@ -0,0 +1,35 @@
|
||||
<?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
|
||||
*/
|
||||
|
||||
spl_autoload_register('auto::loader');
|
||||
|
||||
/**
|
||||
* auto
|
||||
*
|
||||
* provides autoloading functionality
|
||||
*/
|
||||
class auto
|
||||
{
|
||||
/**
|
||||
* strips slashes deeply
|
||||
*
|
||||
* @access public
|
||||
* @static
|
||||
* @param mixed $value
|
||||
* @return mixed
|
||||
*/
|
||||
public static function loader($class_name)
|
||||
{
|
||||
require_once PATH . 'lib/' . str_replace('_', '/', $class_name) . '.php';
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,124 @@
|
||||
<?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_abstract
|
||||
*
|
||||
* Abstract model for ZeroBin data access, implemented as a singleton.
|
||||
*/
|
||||
abstract class zerobin_abstract
|
||||
{
|
||||
/**
|
||||
* singleton instance
|
||||
*
|
||||
* @access private
|
||||
* @static
|
||||
* @var zerobin
|
||||
*/
|
||||
protected 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
|
||||
*/
|
||||
abstract public static function getInstance($options);
|
||||
|
||||
/**
|
||||
* Create a paste.
|
||||
*
|
||||
* @access public
|
||||
* @param string $pasteid
|
||||
* @param array $paste
|
||||
* @return int|false
|
||||
*/
|
||||
abstract public function create($pasteid, $paste);
|
||||
|
||||
/**
|
||||
* Read a paste.
|
||||
*
|
||||
* @access public
|
||||
* @param string $pasteid
|
||||
* @return string
|
||||
*/
|
||||
abstract public function read($pasteid);
|
||||
|
||||
/**
|
||||
* Delete a paste and its discussion.
|
||||
*
|
||||
* @access public
|
||||
* @param string $pasteid
|
||||
* @return void
|
||||
*/
|
||||
abstract public function delete($pasteid);
|
||||
|
||||
/**
|
||||
* Test if a paste exists.
|
||||
*
|
||||
* @access public
|
||||
* @param string $dataid
|
||||
* @return void
|
||||
*/
|
||||
abstract 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
|
||||
*/
|
||||
abstract public function createComment($pasteid, $parentid, $commentid, $comment);
|
||||
|
||||
/**
|
||||
* Read all comments of paste.
|
||||
*
|
||||
* @access public
|
||||
* @param string $pasteid
|
||||
* @return array
|
||||
*/
|
||||
abstract public function readComments($pasteid);
|
||||
|
||||
/**
|
||||
* Test if a comment exists.
|
||||
*
|
||||
* @access public
|
||||
* @param string $dataid
|
||||
* @param string $parentid
|
||||
* @param string $commentid
|
||||
* @return void
|
||||
*/
|
||||
abstract public function existsComment($pasteid, $parentid, $commentid);
|
||||
}
|
Loading…
Reference in new issue