class DatabaseMySQL extends Zend_Db_Table
{
private $db;
public function __construct($params)
{
$this->db = Zend_Db::factory('pdoMysql', $params);
Zend_Db_Table::setDefaultAdapter($this->db);
}
public function addComment($name, $comment, $newsId)
{
$row = array(
'name' => $name,
'comment' => $comment,
'newsId' => $newsId
);
$table = 'comments';
return $this->db->insert($table, $row);
}
public function addNews($title, $content)
{
$row = array(
'title' => $title,
'content' => $content
);
$table = 'news';
return $this->db->insert($table, $row);
}
public function approveNews($ids)
{
$rows_affected = 0;
foreach ($ids as $id) {
$set = array(
'id' => $id,
'approval' => 'T'
);
$table = 'news';
$where = $this->db->quoteInto('id = ?', $id);
$rows_affected += $this->db->update($table, $set, $where);
}
return $rows_affected;
}
public function getComments($newsId)
{
$sql = $this->db->quoteInto(
"SELECT name, comment
FROM comments
WHERE newsId = ?",
$newsId);
if ($result = $this->db->query($sql)) {
return $result->fetchAll();
}
return FALSE;
}
public function getNews($id = 'ALL')
{
$id = sqlite_escape_string($id);
switch ($id) {
case 'ALL':
$sql = $this->db->quoteInto(
"SELECT id,
title
FROM news
WHERE approval = ?",
'T');
break;
case 'NEW':
$sql = $this->db->quoteInto(
"SELECT *
FROM news
WHERE approval != ?",
'T');
break;
default:
$sql = $this->db->quoteInto(
"SELECT *
FROM news
WHERE id = ?",
$id);
break;
}
if ($result = $this->db->query($sql)) {
if ($result->rowCount() != 1) {
return $result->fetchAll();
} else {
// wrap the result in an array
return array($result->fetch());
}
}
return FALSE;
}
}
?>