Subversion-Projekte lars-tiefland.ci

Revision

Revision 2101 | Revision 2103 | 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;
2101 lars 78
		if($this->input->get('per_page'))
79
		{
80
			$start = $this->input->get('per_page');
81
		}
882 lars 82
		$limit = ITEMS_PER_PAGE;
881 lars 83
		$filter["start"] = $start;
84
 
85
		$limit = "
86
			LIMIT
87
				".$start.", ".$limit."
88
		";
89
		if ($search)
90
		{
91
			$zusatz = "AND m.name LIKE '%".$search."%'";
92
		}
93
		$folder2 = trim($folder, "/");
94
		$sql = "SELECT
95
				SQL_CALC_FOUND_ROWS
96
				m.*,
97
				mt.name as typ
98
			FROM
99
				medien m
100
			JOIN
101
				content_management.medien_typ mt
102
			ON
103
				mt.id=m.typ
104
			WHERE
105
			(
106
				(folder='".$folder."')
107
				OR
108
				(folder='".$folder2."')
109
			)
110
			".$zusatz."
111
			ORDER BY
112
				id
113
			".$limit."
114
		";
115
		$res = $this->db->query($sql);
116
		$sqlAnz = "SELECT
117
			FOUND_ROWS() AS anz
118
		";
884 lars 119
		$resAnz = $this->db->query($sqlAnz);
120
		$rowAnz = $resAnz->row_array();
881 lars 121
		$anz = $rowAnz["anz"];
122
		$templateFolder = "common/";
884 lars 123
		while ($row = $res->unbuffered_row('array'))
881 lars 124
		{
125
			$sql_z = "SELECT
126
					count(*) AS anz
127
				FROM
128
					artikel_medien
129
				WHERE
130
					medien_id = ".$row["id"]."
131
			";
132
			$res_z = $this->db->query($sql_z);
133
			$row_z = $res_z->row_array();
134
			$row["anz"]["artikel"] = $row_z["anz"];
135
			$sql_z = "SELECT
136
					count(*) AS anz
137
				FROM
138
					directory_medien
139
				WHERE
140
					medien_id = ".$row["id"]."
141
			";
142
			$res_z = $this->db->query($sql_z);
143
			$row_z = $res_z->row_array();
144
			$row["anz"]["directory"] = $row_z["anz"];
145
			$bilder[] = $row;
146
		}
147
		$sql = "SELECT
148
				id,
149
				name
150
			FROM
151
				medien_typ
152
		";
153
		$res = $GLOBALS["db_red"]->query($sql);
154
		while ($row = $res->unbuffered_row('array'))
155
		{
156
			$typen[$row['id']] = $row['name'];
157
		}
2098 lars 158
		$config['total_rows'] = $anz;
2102 lars 159
		$config{'base_url'} = $this->config->item('base_url').'/bildverwaltung/index/';
2098 lars 160
		$config['per_page'] = ITEMS_PER_PAGE;
161
		$config['page_query_string'] = true;
162
		//$config['use_page_numbers'] = true;
163
		$config['cur_tag_open'] = '&nbsp;[&nbsp;<b>';
164
		$config['cur_tag_close'] = '</b>&nbsp;]';
165
		$config['num_tag_open'] = '&nbsp;[&nbsp;';
166
		$config['num_tag_close'] = '&nbsp;]';
167
		$config['first_tag_open'] = '&nbsp;[&nbsp;';
168
		$config['first_tag_close'] = '&nbsp;]';
169
		$config['last_tag_open'] = '&nbsp;[&nbsp;';
170
		$config['last_tag_close'] = '&nbsp;]';
171
		$config['next_tag_open'] = '&nbsp;[&nbsp;';
172
		$config['next_tag_close'] = '&nbsp;]';
173
		$config['prev_tag_open'] = '&nbsp;[&nbsp;';
174
		$config['prev_tag_close'] = '&nbsp;]';
175
		$this->pagination->initialize($config);
176
		$this->smarty->assign('pagination', $this->pagination->create_links());
881 lars 177
		$data = array(
178
			"typen" => $typen,
179
			"folder" => $folder2,
180
			"folders" => $ret,
181
			"real_folder" => $real_folder,
182
			"pos" => $posLinks,
183
			"search" => $search,
184
			"pagination_id" => $pagination_id,
2097 lars 185
			"medien" => $bilder,
881 lars 186
			);
2091 lars 187
		$this->smarty->view('medienverwaltung.tpl', $data);
859 lars 188
	}
189
}