Automad
 All Classes Functions Variables Pages
filelist.php
1 <?php
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  * AUTOMAD
29  *
30  * Copyright (c) 2015 by Marc Anton Dahmen
31  * http://marcdahmen.de
32  *
33  * Licensed under the MIT license.
34  * http://automad.org/license
35  */
36 
37 
38 namespace Automad\Core;
39 
40 
41 defined('AUTOMAD') or die('Direct access not permitted!');
42 
43 
53 class Filelist {
54 
55 
60  private $Context;
61 
62 
67  private $defaults = array(
68  'glob' => '*.jpg, *.png, *.gif',
69  'sortOrder' => 'asc'
70  );
71 
76  private $files = array();
77 
78 
85  public function __construct($Context) {
86 
87  $this->Context = $Context;
88  $this->config($this->defaults);
89 
90  }
91 
92 
99  public function config($options) {
100 
101  // Merge defaults and options.
102  $options = array_merge($this->defaults, $options);
103 
104  // Find files.
105  $files = Parse::fileDeclaration($options['glob'], $this->Context->get(), true);
106 
107  // Sorting files.
108  if ($options['sortOrder'] == 'asc') {
109  sort($files);
110  }
111 
112  if ($options['sortOrder'] == 'desc') {
113  rsort($files);
114  }
115 
116  Debug::log($files);
117 
118  $this->files = $files;
119 
120  }
121 
122 
129  public function getFiles() {
130 
131  return $this->files;
132 
133  }
134 
135 
136 }
137 
138 
139 ?>
static log($element, $description= '')
Definition: debug.php:113
static fileDeclaration($str, $Page, $stripBaseDir=false)
Definition: parse.php:116
__construct($Context)
Definition: filelist.php:85