Revision 607 | Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed
<?php/*** @author Lars Tiefland* @copyright 2016*//*** Category_model** Liest alle Infos für Kategorien** @package WebanOS CI* @author Lars Tiefland* @copyright 2016* @version $Id: Category_model.php 609 2016-09-17 17:52:57Z lars $* @access public*/class Category_model extends CI_Model{/*** Category_model::__construct()** @return*/public function __construct(){parent::__construct();$this->load->model('artikel_model', 'artikel');$this->load->model('alias_model', 'alias');$this->load->model('preise_model', 'preise');}/*** Category_model::get_dir_items()** alle Artikel einer Kategorie** @param mixed $father* @return*/public function get_dir_items($father, $start = 0, $limit = null){if (is_numeric($father) && $father > 0){$link = $this->get_link($father);header("Location: ".$link);}elseif (!is_numeric($father)){$query = $this->db->get_where('alias', array("alias" => $father.'.html',"type_id" => 2,));$row = $query->row_array();$father = $row["id"];}$d_res = $this->db->get_where('directory', array('id' => $father,'language' => 'DE','status' => 0,));$dir_info = $d_res->row_array();$this->db->select('templateValue');$this->db->join('templates t', 'td.templates_id=t.id');$res = $this->db->get_where('templates_to_directory td', array('directory_id' => $father,'shops_id' => $GLOBALS['INI']['shops_ID'],'typ' => 'directory',));$t_row = $res->row_array();$folder = substr($t_row['templateValue'], 7);$dir_info['template_folder'] = $folder;$dir_info['KategoriebildTag'] = $dir_info['Name'];$dir_info["shopPosition"] = $this->shop_position->get_position($father);$items = $this->artikel->list_artikel($father, false, $start, $limit);$dir_info['items'] = $items['artikel'];$dir_info['item_anz'] = $items['count'];$dir_info['subdirs'] = $this->list_directory($father);$dir_info['medien'] = $this->medien->get_category_medien($father);$dir_info['artstaemmeItems'] = $this->get_artstaemme_items($father);$config{'base_url'} = $this->config->item('base_url').'/'.$this->get_link($father);$config['total_rows'] = $items['count'];$config['per_page'] = $limit;$config['page_query_string'] = true;//$config['use_page_numbers'] = true;$config['cur_tag_open'] = ' [ <b>';$config['cur_tag_close'] = '</b> ]';$config['num_tag_open'] = ' [ ';$config['num_tag_close'] = ' ]';$config['first_tag_open'] = ' [ ';$config['first_tag_close'] = ' ]';$config['last_tag_open'] = ' [ ';$config['last_tag_close'] = ' ]';$config['next_tag_open'] = ' [ ';$config['next_tag_close'] = ' ]';$config['prev_tag_open'] = ' [ ';$config['prev_tag_close'] = ' ]';$this->pagination->initialize($config);$this->smarty->assign('pagination', $this->pagination->create_links());$medien = $dir_info['medien'];if (count($medien) > 1){$dir_info['Kategoriebild'] = $medien[1]['bild_url_ba'];if ($medien[1]["beschreibung"] != ''){$dir_info['KategoriebildTag'] = $medien[1]['beschreibung'];}}elseif (count($medien)){$dir_info['Kategoriebild'] = $medien[0]['bild_url_ba'];if ($medien[0]["beschreibung"] != ''){$dir_info['KategoriebildTag'] = $medien[0]['beschreibung'];}}return $dir_info;}/*** Category_model::list_directory()** Unterkategorien** @param mixed $father* @param integer $artikelstamm* @return*/public function list_directory($father, $artikelstamm = 0){$subdirs = array();$this->db->order_by('kennung', 'ASC');$query = $this->db->get_where('directory', array("father" => $father,"language" => "DE","status" => 0,'Artikelstamm' => $artikelstamm,));while ($row = $query->unbuffered_row('array')){$row["dirLink"] = $this->get_link($row["ID"]);$row["medien"] = $this->medien->get_category_medien($row["ID"]);$subdirs[] = $row;}return $subdirs;}/*** Category_model::get_dir()** Infos zu einer Kategorie** @param mixed $id* @return*/public function get_dir($id){if (is_numeric($id)){$link = $this->get_link($id);header("Location: ".$link);}else{$query = $this->db->get_where('alias', array("alias" => $id.'.html',"type_id" => 2,));$row = $query->row_array();$id = $row["id"];$query = $this->db->get_where('directory', array('id' => $id,"language" => "DE",));$row = $query->row_array();return $row;}}/*** Category_model::get_link()** Link** @param mixed $id* @return*/public function get_link($id){$link = $this->alias->get_link($id, 2);return "/".$link;}/*** Category_model::get_artstaemme_items()** Artikel innerhalb von Artikelstämmen** @param mixed $id* @return*/private function get_artstaemme_items($id){$artikelstaemme = $this->list_directory($id, 1);foreach ($artikelstaemme as $as_id => $artikelstamm){$artikelstaemme[$as_id]['items'] = $this->artikel->list_artikel($artikelstamm['ID'], true);}return $artikelstaemme;}}?>