Subversion-Projekte lars-tiefland.ci

Revision

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