Subversion-Projekte lars-tiefland.ci

Revision

Revision 885 | Revision 2097 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
859 lars 1
<?php
2
 
860 lars 3
class Bildverwaltung extends CI_Controller
859 lars 4
{
5
	public function __construct()
6
	{
7
		parent::__construct();
8
	}
9
	public function index()
10
	{
884 lars 11
		$bilder = array();
885 lars 12
		$zusatz = "";
13
		$posLinks = array();
881 lars 14
		define("ITEMS_PER_PAGE", 36);
15
		$pagination_id = "medienverwaltung";
16
		$search = $this->input->get('search');
17
		$folder = $this->input->get('folder');
18
		$folder = urldecode($folder);
19
		$start_folder = $GLOBALS["webs"]["verzeichnis"]."/images/upload/";
20
		$real_folder = $start_folder;
21
		if ($folder)
22
		{
23
			$folder .= "/";
24
			$real_folder .= $folder;
25
		}
26
		$Imagedaten = array_chunk(explode(";", $GLOBALS["web_rechte"]["admin"]["toolbox"]["bildverwaltung"]),
27
			4);
28
		$img_folders = array(
29
			".",
30
			"..",
31
			".svn",
32
			"kl",
33
			"mini",
34
			"gr",
35
			"br",
36
			"ba",
37
			"orig",
38
			"sl",
39
			"nav",
40
			"start",
41
			);
42
		$dh = opendir($real_folder);
43
		while ($entry = readdir($dh))
44
		{
45
			if (!is_dir($real_folder.$entry) || in_array($entry, $img_folders))
46
			{
47
				continue;
48
			}
49
			elseif ($folder)
50
			{
51
				$f = $folder.$entry;
52
			}
53
			else
54
			{
55
				$f = $entry;
56
			}
57
			$ret[] = $f;
58
		}
59
		if (is_array($ret))
60
		{
61
			asort($ret);
62
			sort($ret);
63
		}
64
		$posArr = explode("/", $folder);
65
		$fullName = "";
66
		foreach ($posArr as $pos)
67
		{
68
			if ($pos)
69
			{
70
				$fullName .= urlencode($pos)."/";
71
				$posLinks[] = array(
72
					"name" => $pos,
73
					"fullName" => $fullName,
74
					);
75
			}
76
		}
882 lars 77
		$start = 0;
78
		$limit = ITEMS_PER_PAGE;
881 lars 79
		$filter["start"] = $start;
80
 
81
		$limit = "
82
			LIMIT
83
				".$start.", ".$limit."
84
		";
85
		if ($search)
86
		{
87
			$zusatz = "AND m.name LIKE '%".$search."%'";
88
		}
89
		$folder2 = trim($folder, "/");
90
		$sql = "SELECT
91
				SQL_CALC_FOUND_ROWS
92
				m.*,
93
				mt.name as typ
94
			FROM
95
				medien m
96
			JOIN
97
				content_management.medien_typ mt
98
			ON
99
				mt.id=m.typ
100
			WHERE
101
			(
102
				(folder='".$folder."')
103
				OR
104
				(folder='".$folder2."')
105
			)
106
			".$zusatz."
107
			ORDER BY
108
				id
109
			".$limit."
110
		";
111
		$res = $this->db->query($sql);
112
		$sqlAnz = "SELECT
113
			FOUND_ROWS() AS anz
114
		";
884 lars 115
		$resAnz = $this->db->query($sqlAnz);
116
		$rowAnz = $resAnz->row_array();
881 lars 117
		$anz = $rowAnz["anz"];
118
		$templateFolder = "common/";
884 lars 119
		while ($row = $res->unbuffered_row('array'))
881 lars 120
		{
121
			$sql_z = "SELECT
122
					count(*) AS anz
123
				FROM
124
					artikel_medien
125
				WHERE
126
					medien_id = ".$row["id"]."
127
			";
128
			$res_z = $this->db->query($sql_z);
129
			$row_z = $res_z->row_array();
130
			$row["anz"]["artikel"] = $row_z["anz"];
131
			$sql_z = "SELECT
132
					count(*) AS anz
133
				FROM
134
					directory_medien
135
				WHERE
136
					medien_id = ".$row["id"]."
137
			";
138
			$res_z = $this->db->query($sql_z);
139
			$row_z = $res_z->row_array();
140
			$row["anz"]["directory"] = $row_z["anz"];
141
			$bilder[] = $row;
142
		}
143
		$sql = "SELECT
144
				id,
145
				name
146
			FROM
147
				medien_typ
148
		";
149
		$res = $GLOBALS["db_red"]->query($sql);
150
		while ($row = $res->unbuffered_row('array'))
151
		{
152
			$typen[$row['id']] = $row['name'];
153
		}
154
		$data = array(
155
			"typen" => $typen,
156
			"folder" => $folder2,
157
			"folders" => $ret,
158
			"real_folder" => $real_folder,
159
			"pos" => $posLinks,
160
			"search" => $search,
161
			"pagination_id" => $pagination_id,
162
			"bilder" => $bilder,
163
			);
2091 lars 164
		$this->smarty->view('medienverwaltung.tpl', $data);
859 lars 165
	}
166
}