summaryrefslogtreecommitdiffstats
path: root/modules/imgmanagement/page.inc.php
blob: 27844e23555c5e1653059402060577167cb29ea6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php

class Page_Imgmanagement extends Page
{

	private $page;
	private $baselocation;
	private $images;

	protected function doPreprocess()
	{
		
		User::load();
		if (!User::hasPermission('baseconfig_local')) {
			Message::addError('no-permission');
			Util::redirect('?do=Main');
		}


		//Depends on the server location;
		$this->baselocation = '/var/images/';
		$this->images = array();

		error_reporting(E_ALL);
		ini_set('display_errors','on');

		Session::get('token');

	}

	protected function doRender()
	{
		/*get city of user !!!!NOT TESTED!!!!

		$data=array( 'id'= User.getId());
		$res = Database::exec("SELECT cityid FROM user WHERE userid=:id",$data);
		$cityid = $res->fetch(PDO::FETCH_ASSOC);
		$res = Database::exec("SELECT name FROM cities WHERE cityid=:cityid",$cityid);
		$city = $res->fetch(PDO::FETCH_ASSOC);
		$location = $baselocation . $city;
		
	
		verify type of vars (string concatenation and more)
		!!!!NOT TESTED!!!!
		*/
		
		error_reporting(E_ALL);
		ini_set('display_errors','on');
		//Search images on location specified
		$location = $this->baselocation . 'curitiba/*';
		//Gets the configuration of each image
		$config = substr($location,0,-1).'config.json';
		$imgsactive = json_decode(file_get_contents($config),true);
		$images = glob($location, GLOB_ONLYDIR);
		$actives = array();
		$deactives= array();
		foreach($images as &$imgname){
			$imgname= substr($imgname, strlen($location)-1);
			//fill associative array (img->active[true/false])
			$this->images[$imgname] = isset($imgsactive[$imgname])?$imgsactive[$imgname] : false;
			if($this->images[$imgname]){
				array_push($actives, array('name' => $imgname));
			}else{
				array_push($deactives, array('name'=>$imgname));
			}
		}
	
		//Save eventually new images to config.json
		$fp = fopen($config,'w');
		fwrite($fp,json_encode($this->images));
		fclose($fp);
		Render::addTemplate('page-imgmanagement', array( 
			'deactives' => $deactives,
			'actives' => $actives));
	}
}