db = $GLOBALS['phpgw']->db; } function get_newslist($cat_id, $start, $order,$sort,$limit=0,$activeonly,&$total) { if ($order) { $ordermethod = ' ORDER BY ' . $this->db->db_addslashes($order) . ' ' . $this->db->db_addslashes($sort); } else { $ordermethod = ' ORDER BY news_date DESC'; } if (is_array($cat_id)) { $filter = "IN (" . implode(',',$cat_id) . ')'; } else { $filter = "=" . intval($cat_id); } $sql = 'SELECT * FROM phpgw_news WHERE news_cat ' . $filter; if ($activeonly) { $now = time(); $sql .= " AND news_begin<=$now AND news_end>=$now"; } $sql .= $ordermethod; $this->db->query($sql,__LINE__,__FILE__); $total = $this->db->num_rows(); $this->db->limit_query($sql,$start,__LINE__,__FILE__,$limit); $news = array(); while ($this->db->next_record()) { $news[$this->db->f('news_id')] = array( 'subject' => htmlentities($this->db->f('news_subject', True)), 'submittedby' => $this->db->f('news_submittedby'), 'date' => $this->db->f('news_date'), 'id' => $this->db->f('news_id'), 'begin' => $this->db->f('news_begin'), 'end' => $this->db->f('news_end'), 'teaser' => htmlentities($this->db->f('news_teaser', True)), 'content' => $this->db->f('news_content',True), 'is_html' => ($this->db->f('is_html') ? True : False), ); } return $news; } function get_all_public_news($limit=5) { $now = time(); $this->db->limit_query("SELECT * FROM phpgw_news WHERE news_begin<=$now AND news_end>=$now ORDER BY news_date DESC",0,__LINE__,__FILE__,$limit); $news = array(); while ($this->db->next_record()) { $news[$this->db->f('news_id')] = array( 'subject' => $this->db->f('news_subject', True), 'submittedby' => $this->db->f('news_submittedby'), 'date' => $this->db->f('news_date'), 'id' => $this->db->f('news_id'), 'teaser' => $this->db->f('news_teaser', True), 'content' => $this->db->f('news_content', True), 'is_html' => ($this->db->f('is_html') ? True : False), ); } return $news; } function add($news) { $sql = 'INSERT INTO phpgw_news ' . ' (news_date, news_submittedby, news_content, news_subject, news_begin,' . ' news_end,news_teaser,news_cat,is_html) ' . 'VALUES (' . intval($news['date']) . ',' . $GLOBALS['phpgw_info']['user']['account_id'] . ',' . "'" . $this->db->db_addslashes($news['content']) ."'," . "'" . $this->db->db_addslashes($news['subject']) ."'," . intval($news['begin']) . ',' . intval($news['end']) . ',' . "'" . $this->db->db_addslashes($news['teaser']) . "'," . intval($news['category']) . ',' . intval($news['is_html']) .')'; $this->db->query($sql, __LINE__, __FILE__); return $this->db->get_last_insert_id('phpgw_news', 'news_id'); } function edit($news) { //echo '
SO-save:
'; print_r($news); echo '
'; $this->db->query("UPDATE phpgw_news SET " . "news_content='" . $this->db->db_addslashes($news['content']) . "'," . "news_subject='" . $this->db->db_addslashes($news['subject']) . "', " . "news_teaser='" . $this->db->db_addslashes($news['teaser']) . "', " . 'news_begin=' . intval($news['begin']) . ', ' . 'news_end=' . intval($news['end']) . ', ' . 'news_cat=' . intval($news['category']) . ', ' . 'is_html=' . ($news['is_html'] ? 1 : 0) .' ' . 'WHERE news_id=' . intval($news['id']),__LINE__,__FILE__); } function delete($news_id) { $this->db->query('DELETE FROM phpgw_news WHERE news_id=' . intval($news_id) ,__LINE__,__FILE__); } function get_news($news_id) { $this->db->query('SELECT * FROM phpgw_news WHERE news_id=' . intval($news_id),__LINE__,__FILE__); $this->db->next_record(); $item = array( 'id' => $this->db->f('news_id'), 'date' => $this->db->f('news_date'), 'subject' => $this->db->f('news_subject', True), 'submittedby' => $this->db->f('news_submittedby'), 'teaser' => $this->db->f('news_teaser', True), 'content' => $this->db->f('news_content', True), 'begin' => $this->db->f('news_begin'), 'end' => $this->db->f('news_end'), 'category' => $this->db->f('news_cat'), 'is_html' => ($this->db->f('is_html') ? True : False), ); //echo '
'; print_r($item); echo '
'; return $item; } // function getlist($order,$sort,$cat_id) // { // if ($order) // { // $ordermethod = ' ORDER BY ' . $this->db->db_addslashes($order) . ' ' . $this->db->db_addslashes($sort); // } // else // { // $ordermethod = ' ORDER BY news_date DESC'; // } // $this->db->query('SELECT * FROM phpgw_news WHERE news_cat=' . intval($cat_id) . $ordermethod,__LINE__,__FILE__); // while ($this->db->next_record()) // { // $items[] = array( // 'id' => $this->db->f('news_id'), // 'date' => $this->db->f('news_date'), // 'subject' => $this->db->f('news_subject'), // 'submittedby' => $this->db->f('news_submittedby'), // 'content' => $this->db->f('news_content'), // 'status' => $this->db->f('news_status'), // 'cat' => $this->db->f('news_cat') // ); // } // return $items; // } }