Revision 2212 | Revision 2233 | Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed
<?php/*** @author Lars Tiefland* @copyright 2016*//*** Medien_model** Liest die Bilder von Artikeln oder Kategorien aus** @package WebanOS CI* @author Lars Tiefland* @copyright 2016* @version $Id: Medien_model.php 2213 2017-12-23 20:23:44Z lars $* @access public*/class Medien_model extends CI_Model{private $sql;private $formate;private $basis;/*** Medien_model::__construct()** stellt alle nötigen SQL-Abfragen und Formate für die Medien bereit** @return*/public function __construct(){parent::__construct();$this->basis = $this->config->item('base_url');$this->formate = array("" => "","_klein" => "kl/","_mini" => "mini/","_gr" => "gr/","_br" => "br/","_ba" => "ba/","_nav" => "nav/","_sl" => "sl/","_start" => "start/","_icon" => "icon/",);$this->sql["medien"]["artikel"] = "SELECTm.id,m.name,m.folder,m.beschreibung,m.typ,am.rang,am.aehnlich,mt.name AS typ_nameFROMmedien mJOINartikel_medien amJOINcontent_management.medien_typ mtONmt.id=m.typWHEREam.medien_id=m.idANDartikel_id=?ANDtyp=?ORDER BYrang";$this->sql["medien"]["category"] = "SELECTm.id,m.name,m.folder,m.beschreibung,m.typ,dm.rang,dm.aehnlich,mt.name AS typ_nameFROMmedien mJOINdirectory_medien dmJOINcontent_management.medien_typ mtONmt.id=m.typWHEREdm.medien_id=m.idANDdirectory_id=?ANDtyp=?ORDER BYrang";$this->sql["medien"]["artikel_all"] = "SELECTm.id,m.name,m.folder,m.beschreibung,m.typ,am.rang,am.aehnlich,mt.name AS typ_nameFROMmedien mJOINartikel_medien amJOINcontent_management.medien_typ mtONmt.id=m.typWHEREam.medien_id=m.idANDartikel_id=?ORDER BYrang";$this->sql["medien"]["category_all"] = "SELECTm.id,m.name,m.folder,m.beschreibung,m.typ,dm.rang,dm.aehnlich,mt.name AS typ_nameFROMmedien mJOINdirectory_medien dmJOINcontent_management.medien_typ mtONmt.id=m.typWHEREdm.medien_id=m.idANDdirectory_id=?ORDER BYrang";$aehnlich = array("nein","ja",);$this->smarty->assign("aehnlich", $aehnlich);$this->sql["medien"]["list"] = "SELECT*FROMmedienWHEREfolder=?ANDtyp!=3";$this->sql["medien"]["artikel_add"] = "INSERT INTOartikel_medienSETmedien_id=?,artikel_id=?,rang=?,aehnlich=0";}/*** Medien_model::get_artikel_medien()** Liest alle Medien für einen Artikel aus und erzeugt alle konfigurierten URLs (relativ und absolut)** @param mixed $artikel_id* @param integer $typ* @return*/public function get_artikel_medien($artikel_id, $typ = null){$medien = array();if (is_null($typ)) {$am_res = $this->db->query($this->sql["medien"]["artikel_all"], array($artikel_id, ));} else {$am_res = $this->db->query($this->sql["medien"]["artikel"], array($artikel_id,$typ,));}$basis = $GLOBALS["webs"]["verzeichnis"] . "/images/upload/";if ($am_res->num_rows()) {while ($row = $am_res->unbuffered_row('array')) {$url = '/images/upload/';$folder = '';if ($row['folder']) {$folder = $row['folder'];$ende = substr($folder, -1);if ($ende != '/') {$folder .= '/';}}$url .= $folder;$b_name = $row['name'];foreach ($this->formate as $format => $dir) {$row['bild_url' . $format] = $url . $dir . $b_name;$row["abs_bild_url" . $format] = $this->basis . $row["bild_url" . $format];}$row["path"] = $basis . $row["folder"] . "/" . $row["name"];$row["size"] = filesize($row["path"]);$row["img_size"] = GetImageSize($row["path"]);$medien[] = $row;}} else {$url = "/images/webelemente/";$b_name = basename($GLOBALS["INI"]["itemKorrektur"]["noImage"]);$row["name"] = $b_name;$row["beschreibung"] = "";$row["folder"] = "";$row["typ"] = 1;$rot["typ_name"] = "Bild";$row["path"] = $basis . $row["folder"] . "/" . $row["name"];$row["size"] = filesize($row["path"]);$row["img_size"] = GetImageSize($row["path"]);foreach ($this->formate as $format => $dir) {$row["bild_url" . $format] = $url . $b_name;$row["abs_bild_url" . $format] = $this->basis . $row["bild_url" . $format];}$medien[] = $row;}return $medien;}/*** Medien_model::get_category_medien()** Liest alle Medien für eine Kategorie aus und erzeugt alle konfigurierten URLs (relativ und absolut)** @param mixed $category_id* @param integer $typ* @return*/public function get_category_medien($category_id, $typ = null){$basis = $GLOBALS["webs"]["verzeichnis"] . "/images/upload/";$medien = array();if (is_null($typ)) {$am_res = $this->db->query($this->sql["medien"]["category_all"], array($category_id, ));} else {$am_res = $this->db->query($this->sql["medien"]["category"], array($category_id,$typ,));}if ($am_res->num_rows()) {while ($row = $am_res->unbuffered_row('array')) {$url = '/images/upload/';$folder = '';if ($row['folder']) {$folder = $row['folder'];$ende = substr($folder, -1);if ($ende != '/') {$folder .= '/';}}$url .= $folder;$b_name = $row['name'];foreach ($this->formate as $format => $dir) {$row['bild_url' . $format] = $url . $dir . $b_name;$row["abs_bild_url" . $format] = $this->basis . $row["bild_url" . $format];}$row["path"] = $basis . $row["folder"] . "/" . $row["name"];$row["size"] = filesize($row["path"]);$row["img_size"] = GetImageSize($row["path"]);$medien[] = $row;}} else {$url = "/images/webelemente/";$b_name = basename($GLOBALS["INI"]["itemKorrektur"]["noImage"]);$row["name"] = $b_name;$row["beschreibung"] = "";$row["folder"] = "";$row["typ"] = 1;$rot["typ_name"] = "Bild";$row["path"] = $basis . $row["folder"] . "/" . $row["name"];$row["size"] = filesize($row["path"]);$row["img_size"] = GetImageSize($row["path"]);foreach ($this->formate as $format => $dir) {$row["bild_url" . $format] = $url . $b_name;$row["abs_bild_url" . $format] = $this->basis . $row["bild_url" . $format];}$medien[] = $row;}return $medien;}public function get(){$basis = $GLOBALS["webs"]["verzeichnis"] . "/images/upload/";$folder = $this->input->get('folder');if (!$folder) {$folder = "";}$res = $this->db->query($this->sql["medien"]["list"], array($folder));while ($row = $res->unbuffered_row("array")) {$url = '/images/upload/';$folder = '';if ($row['folder']) {$folder = $row['folder'];$ende = substr($folder, -1);if ($ende != '/') {$folder .= '/';}}$url .= $folder;$b_name = $row['name'];foreach ($this->formate as $format => $dir) {$row['bild_url' . $format] = $url . $dir . $b_name;$row["abs_bild_url" . $format] = $this->basis . $row["bild_url" . $format];}$row["path"] = $basis . $row["folder"] . "/" . $row["name"];$row["size"] = filesize($row["path"]);$row["img_size"] = GetImageSize($row["path"]);$medien[] = $row;}return $medien;}public function add(){$l_type = $this->input->get("l_type");$l_id = $this->input->get("l_id");switch ($l_type) {case "a":$sql = "SELECTMAX(rang) AS rangFROMartikel_medienWHEREartikel_id=" . $l_id . "";break;case "d":$sql = "SELECTMAX(rang) AS rangFROMdirectory_medienWHEREartikel_id=" . $l_id . "";break;}$res = $this->db->query($sql);$row = $res->unbuffered_row("array");$rang = $row["rang"] + 10;$b_id = $this->input->get("b_id");$this->db->query($this->sql["medien"]["artikel_add"], array($b_id,$l_id,$rang,));}}?>