Skip to content

Commit

Permalink
Merge pull request #5 from skipperbent/feature-pdo
Browse files Browse the repository at this point in the history
[TASK] Added pdo related classes.
  • Loading branch information
skipperbent committed Oct 21, 2015
2 parents a802e49 + bd29434 commit f4746cd
Show file tree
Hide file tree
Showing 22 changed files with 551 additions and 460 deletions.
10 changes: 8 additions & 2 deletions config/helpers.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,15 @@
* Contain helper functions which provides shortcuts for various classes.
*/

function url($controller = null, $parameters = null, $getParams = null) {
function url($controller = null, $parameters = null, $getParams = null)
{
return \Pecee\Router::getRoute($controller, $parameters, $getParams);
}

function response() {
return new \Pecee\Http\Response();
}

function redirect($url, $code = null) {
$response = new \Pecee\Http\Response();

Expand Down Expand Up @@ -42,7 +47,8 @@ function message($message, $type, $form = null, $placement = null, $index = null
$msg->setIndex($index);
$msg->setPlacement($placement);

\Pecee\Session\SessionMessage::getInstance()->set($msg, $type);
$message = new \Pecee\Session\SessionMessage();
$message->set($msg, $type);
}

/**
Expand Down
163 changes: 80 additions & 83 deletions src/Base.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,107 +10,30 @@

abstract class Base {

const MSG_ERROR='error';
const MSG_ERROR = 'danger';

protected $_messages;
protected $_site;
protected $data;
protected $request;
protected $files;
protected $_messages;

public function __construct() {

Debug::getInstance()->add('BASE CLASS ' . get_class($this));

$this->_site = Site::getInstance();
$this->_messages = SessionMessage::getInstance();
$this->data = new ResponseDataPost();
$this->request = new ResponseDataGet();
$this->files = new ResponseDataFile();
$this->_messages = SessionMessage::getInstance();
$this->_messages->clear();
}

public function isAjaxRequest() {
return (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
}

/**
* Get form message
* @param string $type
* @return FormMessage|null
*/
public function getMessage($type){
$errors = $this->getMessages($type);
if($errors && is_array($errors)) {
return $errors[0];
}
return null;
}

/**
* Get form messages
* @param string $type
* @return FormMessage|null
*/
public function getMessages($type) {
return $this->_messages->get($type);
}

public function hasMessages($type) {
return $this->_messages->hasMessages($type);
}

/**
* Set message
* @param string $message
* @param string $type
* @param string|null $form
* @param string|null $placement Key to use if you want the message to be displayed an unique place
* @param string|null $index
*/
protected function setMessage($message, $type, $form=null, $placement=null, $index = null) {
$msg = new FormMessage();
$msg->setForm($form);
$msg->setMessage($message);
$msg->setPlacement($placement);
$msg->setIndex($index);
$this->_messages->set($msg, $type);
}

public function showErrors($formName=null) {
return $this->showMessages(self::MSG_ERROR, $formName);
}

public function hasErrors() {
return $this->hasMessages(self::MSG_ERROR);
}

/**
* Set error
* @param string $message
*/
protected function setError($message) {
$this->setMessage($message, self::MSG_ERROR);
}

/**
* Get error messages
* @return array
*/
public function getErrors() {
return $this->getMessages(self::MSG_ERROR);
}

public function getErrorsArray() {
$output = array();

/* @var $error FormMessage */
foreach($this->getMessages(self::MSG_ERROR) as $error) {
$output[] = $error->getMessage();
}

return $output;
}

public function getFormName($post=true) {
if($this->isPostBack() && $post) {
return ResponseDataPost::GetFormName();
Expand Down Expand Up @@ -199,8 +122,82 @@ public function getSite() {
return $this->_site;
}

public function __destruct() {
$this->_messages->clear();
/**
* Get form message
* @param string $type
* @return FormMessage|null
*/
public function getMessage($type){
$errors = $this->getMessages($type);
if($errors && is_array($errors)) {
return $errors[0];
}
return null;
}

/**
* Get form messages
* @param string $type
* @return FormMessage|null
*/
public function getMessages($type) {
return $this->_messages->get($type);
}

public function hasMessages($type) {
return $this->_messages->hasMessages($type);
}

/**
* Set message
* @param string $message
* @param string $type
* @param string|null $form
* @param string|null $placement Key to use if you want the message to be displayed an unique place
* @param string|null $index
*/
protected function setMessage($message, $type, $form=null, $placement=null, $index = null) {
$msg = new FormMessage();
$msg->setForm($form);
$msg->setMessage($message);
$msg->setPlacement($placement);
$msg->setIndex($index);
$this->_messages->set($msg, $type);
}

public function showErrors($formName=null) {
return $this->showMessages(self::MSG_ERROR, $formName);
}

public function hasErrors() {
return $this->hasMessages(self::MSG_ERROR);
}

/**
* Set error
* @param string $message
*/
protected function setError($message) {
$this->setMessage($message, self::MSG_ERROR);
}

/**
* Get error messages
* @return array
*/
public function getErrors() {
return $this->getMessages(self::MSG_ERROR);
}

public function getErrorsArray() {
$output = array();

/* @var $error FormMessage */
foreach($this->getMessages(self::MSG_ERROR) as $error) {
$output[] = $error->getMessage();
}

return $output;
}

}
3 changes: 3 additions & 0 deletions src/DB/DB.php
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
<?php
/**
* @deprecated This class is deprecated, please use Pdo class instead.
*/
namespace Pecee\DB;
use Pecee\Debug;
use Pecee\Integer;
Expand Down
12 changes: 7 additions & 5 deletions src/DB/DBTable.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ public function __construct($name = null) {

/**
* @param $name
* @param int|null $length
* @return DBColumn
*/
public function column($name) {
Expand Down Expand Up @@ -42,10 +41,13 @@ public function getColumnByIndex($index) {
return $this->columns[$index];
}

public function getColumnNames($lower = false) {
public function getColumnNames($lower = false, $excludePrimary = false) {
$names = array();
/* @var $column DBColumn */
foreach($this->columns as $column) {
if($excludePrimary && $column->getIndex() === DBColumn::INDEX_PRIMARY) {
continue;
}
if($lower) {
$names[] = strtolower($column->getName());
} else {
Expand Down Expand Up @@ -95,11 +97,11 @@ public function create() {
$tmp .= (!$column->getNullable()) ? 'NOT null' : 'null';

if($column->getDefaultValue()) {
$tmp .= DB::FormatQuery(' DEFAULT %s', array($column->getDefaultValue()));;
$tmp .= PdoHelper::formatQuery(' DEFAULT %s', array($column->getDefaultValue()));;
}

if($column->getComment()) {
$tmp .= DB::FormatQuery(' COMMENT %s', array($column->getComment()));
$tmp .= PdoHelper::formatQuery(' COMMENT %s', array($column->getComment()));
}

if($column->getIncrement()) {
Expand All @@ -116,7 +118,7 @@ public function create() {
$query = array_merge($query,$keys);
$sql = sprintf('CREATE TABLE `'. $this->name .'` (%s) ENGINE = InnoDB;', join(', ', $query));

\Pecee\DB\DB::getInstance()->nonQuery($sql);
Pdo::getInstance()->nonQuery($sql);
}

}
Loading

0 comments on commit f4746cd

Please sign in to comment.