Subversion-Projekte lars-tiefland.ci

Revision

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