Subversion-Projekte lars-tiefland.ci

Revision

Revision 881 | Revision 884 | 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
		}
882 lars 74
		$start = 0;
75
		$limit = ITEMS_PER_PAGE;
881 lars 76
		$filter["start"] = $start;
77
 
78
		$limit = "
79
			LIMIT
80
				".$start.", ".$limit."
81
		";
82
		if ($search)
83
		{
84
			$zusatz = "AND m.name LIKE '%".$search."%'";
85
		}
86
		$folder2 = trim($folder, "/");
87
		$sql = "SELECT
88
				SQL_CALC_FOUND_ROWS
89
				m.*,
90
				mt.name as typ
91
			FROM
92
				medien m
93
			JOIN
94
				content_management.medien_typ mt
95
			ON
96
				mt.id=m.typ
97
			WHERE
98
			(
99
				(folder='".$folder."')
100
				OR
101
				(folder='".$folder2."')
102
			)
103
			".$zusatz."
104
			ORDER BY
105
				id
106
			".$limit."
107
		";
108
		$res = $this->db->query($sql);
109
		$sqlAnz = "SELECT
110
			FOUND_ROWS() AS anz
111
		";
112
		$resAnz = mysql_query($sqlAnz);
113
		$rowAnz = mysql_fetch_assoc($resAnz);
114
		$anz = $rowAnz["anz"];
115
		$templateFolder = "common/";
116
		while ($row = mysql_fetch_assoc($res))
117
		{
118
			$sql_z = "SELECT
119
					count(*) AS anz
120
				FROM
121
					artikel_medien
122
				WHERE
123
					medien_id = ".$row["id"]."
124
			";
125
			$res_z = $this->db->query($sql_z);
126
			$row_z = $res_z->row_array();
127
			$row["anz"]["artikel"] = $row_z["anz"];
128
			$sql_z = "SELECT
129
					count(*) AS anz
130
				FROM
131
					directory_medien
132
				WHERE
133
					medien_id = ".$row["id"]."
134
			";
135
			$res_z = $this->db->query($sql_z);
136
			$row_z = $res_z->row_array();
137
			$row["anz"]["directory"] = $row_z["anz"];
138
			$bilder[] = $row;
139
		}
140
		$sql = "SELECT
141
				id,
142
				name
143
			FROM
144
				medien_typ
145
		";
146
		$res = $GLOBALS["db_red"]->query($sql);
147
		while ($row = $res->unbuffered_row('array'))
148
		{
149
			$typen[$row['id']] = $row['name'];
150
		}
151
		$data = array(
152
			"typen" => $typen,
153
			"folder" => $folder2,
154
			"folders" => $ret,
155
			"real_folder" => $real_folder,
156
			"pos" => $posLinks,
157
			"search" => $search,
158
			"pagination_id" => $pagination_id,
159
			"bilder" => $bilder,
160
			);
161
		$this->smarty->view('bilder.tpl', $data);
859 lars 162
	}
163
}