Subversion-Projekte lars-tiefland.ci

Revision

Revision 2161 | Revision 2163 | 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
	{
2103 lars 11
		$ret = array();
884 lars 12
		$bilder = array();
885 lars 13
		$zusatz = "";
14
		$posLinks = array();
881 lars 15
		define("ITEMS_PER_PAGE", 36);
16
		$pagination_id = "medienverwaltung";
17
		$search = $this->input->get('search');
18
		$folder = $this->input->get('folder');
19
		$folder = urldecode($folder);
20
		$start_folder = $GLOBALS["webs"]["verzeichnis"]."/images/upload/";
21
		$real_folder = $start_folder;
22
		if ($folder)
23
		{
24
			$folder .= "/";
25
			$real_folder .= $folder;
26
		}
27
		$Imagedaten = array_chunk(explode(";", $GLOBALS["web_rechte"]["admin"]["toolbox"]["bildverwaltung"]),
28
			4);
29
		$img_folders = array(
30
			".",
31
			"..",
32
			".svn",
33
			"kl",
34
			"mini",
35
			"gr",
36
			"br",
37
			"ba",
38
			"orig",
39
			"sl",
40
			"nav",
41
			"start",
42
			);
43
		$dh = opendir($real_folder);
44
		while ($entry = readdir($dh))
45
		{
46
			if (!is_dir($real_folder.$entry) || in_array($entry, $img_folders))
47
			{
48
				continue;
49
			}
50
			elseif ($folder)
51
			{
52
				$f = $folder.$entry;
53
			}
54
			else
55
			{
56
				$f = $entry;
57
			}
58
			$ret[] = $f;
59
		}
60
		if (is_array($ret))
61
		{
62
			asort($ret);
63
			sort($ret);
64
		}
65
		$posArr = explode("/", $folder);
66
		$fullName = "";
67
		foreach ($posArr as $pos)
68
		{
69
			if ($pos)
70
			{
71
				$fullName .= urlencode($pos)."/";
72
				$posLinks[] = array(
73
					"name" => $pos,
74
					"fullName" => $fullName,
75
					);
76
			}
77
		}
882 lars 78
		$start = 0;
2104 lars 79
		if ($this->input->get('per_page'))
2101 lars 80
		{
81
			$start = $this->input->get('per_page');
82
		}
882 lars 83
		$limit = ITEMS_PER_PAGE;
881 lars 84
		$filter["start"] = $start;
85
 
86
		$limit = "
87
			LIMIT
88
				".$start.", ".$limit."
89
		";
90
		if ($search)
91
		{
92
			$zusatz = "AND m.name LIKE '%".$search."%'";
93
		}
94
		$folder2 = trim($folder, "/");
95
		$sql = "SELECT
96
				SQL_CALC_FOUND_ROWS
97
				m.*,
98
				mt.name as typ
99
			FROM
100
				medien m
101
			JOIN
102
				content_management.medien_typ mt
103
			ON
104
				mt.id=m.typ
105
			WHERE
106
			(
107
				(folder='".$folder."')
108
				OR
109
				(folder='".$folder2."')
110
			)
111
			".$zusatz."
112
			ORDER BY
113
				id
114
			".$limit."
115
		";
116
		$res = $this->db->query($sql);
117
		$sqlAnz = "SELECT
118
			FOUND_ROWS() AS anz
119
		";
884 lars 120
		$resAnz = $this->db->query($sqlAnz);
121
		$rowAnz = $resAnz->row_array();
881 lars 122
		$anz = $rowAnz["anz"];
123
		$templateFolder = "common/";
884 lars 124
		while ($row = $res->unbuffered_row('array'))
881 lars 125
		{
126
			$sql_z = "SELECT
127
					count(*) AS anz
128
				FROM
129
					artikel_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"]["artikel"] = $row_z["anz"];
136
			$sql_z = "SELECT
137
					count(*) AS anz
138
				FROM
139
					directory_medien
140
				WHERE
141
					medien_id = ".$row["id"]."
142
			";
143
			$res_z = $this->db->query($sql_z);
144
			$row_z = $res_z->row_array();
145
			$row["anz"]["directory"] = $row_z["anz"];
146
			$bilder[] = $row;
147
		}
148
		$sql = "SELECT
149
				id,
150
				name
151
			FROM
152
				medien_typ
153
		";
154
		$res = $GLOBALS["db_red"]->query($sql);
155
		while ($row = $res->unbuffered_row('array'))
156
		{
157
			$typen[$row['id']] = $row['name'];
158
		}
2098 lars 159
		$config['total_rows'] = $anz;
2102 lars 160
		$config{'base_url'} = $this->config->item('base_url').'/bildverwaltung/index/';
2105 lars 161
		$qs = array();
162
		if ($this->input->get('search'))
163
		{
164
			$qs[] = "search=".$this->input->get('search');
165
		}
2104 lars 166
		if ($this->input->get('folder'))
167
		{
2105 lars 168
			$qs[] = "folder=".$this->input->get('folder');
2104 lars 169
		}
2105 lars 170
		if ($qs)
171
		{
172
			$config['base_url'] .= "?".implode("&", $qs);
173
		}
2098 lars 174
		$config['per_page'] = ITEMS_PER_PAGE;
175
		$config['page_query_string'] = true;
176
		//$config['use_page_numbers'] = true;
177
		$config['cur_tag_open'] = '&nbsp;[&nbsp;<b>';
178
		$config['cur_tag_close'] = '</b>&nbsp;]';
179
		$config['num_tag_open'] = '&nbsp;[&nbsp;';
180
		$config['num_tag_close'] = '&nbsp;]';
181
		$config['first_tag_open'] = '&nbsp;[&nbsp;';
182
		$config['first_tag_close'] = '&nbsp;]';
183
		$config['last_tag_open'] = '&nbsp;[&nbsp;';
184
		$config['last_tag_close'] = '&nbsp;]';
185
		$config['next_tag_open'] = '&nbsp;[&nbsp;';
186
		$config['next_tag_close'] = '&nbsp;]';
187
		$config['prev_tag_open'] = '&nbsp;[&nbsp;';
188
		$config['prev_tag_close'] = '&nbsp;]';
189
		$this->pagination->initialize($config);
190
		$this->smarty->assign('pagination', $this->pagination->create_links());
881 lars 191
		$data = array(
192
			"typen" => $typen,
193
			"folder" => $folder2,
194
			"folders" => $ret,
195
			"real_folder" => $real_folder,
196
			"pos" => $posLinks,
197
			"search" => $search,
198
			"pagination_id" => $pagination_id,
2097 lars 199
			"medien" => $bilder,
881 lars 200
			);
2091 lars 201
		$this->smarty->view('medienverwaltung.tpl', $data);
859 lars 202
	}
2119 lars 203
 
204
    public function upload()
205
    {
2159 lars 206
        //error_reporting(E_ALL | E_STRICT);
2162 lars 207
        trigger_error(var_export($this->input->get, true));
2161 lars 208
        trigger_error(var_export($_POST, true));
2119 lars 209
        require('UploadHandler.php');
210
        $upload_handler = new UploadHandler();
211
    }
859 lars 212
}