Version Description
Fixes and improvements
- home_url
value is now cached, performance win for polylang! #1507 (thanks @oxyc)
- Post::$css_class is only fetched if requested #1522 (thanks @ruscon)
- Improved flexibility of PostCollection to be filterable #1544 (thanks @gchtr)
- More test coverage
Changes for Theme Developers - None! But the above fixes have significant changes in the code which necessitated the ".x" version jump
Download this release
Release Info
Developer | jarednova |
Plugin | Timber |
Version | 1.5.0 |
Comparing to | |
See all releases |
Code changes from version 1.4.1 to 1.5.0
- lib/ImageHelper.php +36 -22
- lib/MenuItem.php +4 -2
- lib/Post.php +112 -74
- lib/PostCollection.php +23 -12
- lib/PostGetter.php +23 -5
- lib/PostsIterator.php +18 -0
- readme.txt +21 -2
- timber-starter-theme/humans.txt +10 -0
- timber-starter-theme/templates/html-header.twig +9 -8
- timber.php +1 -1
- vendor/autoload.php +1 -1
- vendor/composer/autoload_classmap.php +5 -1
- vendor/composer/autoload_real.php +3 -3
- vendor/composer/installed.json +115 -112
- vendor/composer/installers/.travis.yml +13 -4
- vendor/composer/installers/CHANGELOG.md +12 -3
- vendor/composer/installers/README.md +4 -0
- vendor/composer/installers/_config.yml +1 -0
- vendor/composer/installers/composer.json +3 -0
- vendor/composer/installers/src/Composer/Installers/EzPlatformInstaller.php +10 -0
- vendor/composer/installers/src/Composer/Installers/Installer.php +4 -0
- vendor/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php +27 -0
- vendor/composer/installers/src/Composer/Installers/LavaLiteInstaller.php +1 -1
- vendor/composer/installers/src/Composer/Installers/OsclassInstaller.php +14 -0
- vendor/composer/installers/src/Composer/Installers/UserFrostingInstaller.php +9 -0
- vendor/composer/installers/tests/Composer/Installers/Test/InstallerTest.php +25 -1
lib/ImageHelper.php
CHANGED
@@ -28,9 +28,13 @@ class ImageHelper {
|
|
28 |
const BASE_UPLOADS = 1;
|
29 |
const BASE_CONTENT = 2;
|
30 |
|
|
|
|
|
31 |
public static function init() {
|
32 |
-
self
|
33 |
-
|
|
|
|
|
34 |
return true;
|
35 |
}
|
36 |
|
@@ -165,34 +169,44 @@ class ImageHelper {
|
|
165 |
return self::_operate($src, $op, $force);
|
166 |
}
|
167 |
|
|
|
|
|
168 |
/**
|
169 |
-
* Deletes all resized versions of an image when the source is deleted
|
170 |
-
*
|
|
|
|
|
171 |
*/
|
172 |
-
|
173 |
-
|
174 |
-
\Timber\ImageHelper::_delete_generated_if_image($post_id);
|
175 |
-
} );
|
176 |
-
add_filter('wp_generate_attachment_metadata', function( $metadata, $post_id ) {
|
177 |
-
\Timber\ImageHelper::_delete_generated_if_image($post_id);
|
178 |
-
return $metadata;
|
179 |
-
}, 10, 2);
|
180 |
}
|
181 |
|
|
|
182 |
/**
|
183 |
-
*
|
184 |
-
*
|
185 |
-
* @
|
|
|
|
|
|
|
186 |
*/
|
187 |
-
static function
|
188 |
-
|
189 |
-
|
190 |
-
return $arr;
|
191 |
-
} );
|
192 |
}
|
193 |
|
194 |
-
|
195 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
|
197 |
/**
|
198 |
* Checks if attachment is an image before deleting generated files
|
28 |
const BASE_UPLOADS = 1;
|
29 |
const BASE_CONTENT = 2;
|
30 |
|
31 |
+
static $home_url;
|
32 |
+
|
33 |
public static function init() {
|
34 |
+
self::$home_url = get_home_url();
|
35 |
+
add_action('delete_attachment', array(__CLASS__, 'delete_attachment'));
|
36 |
+
add_filter('wp_generate_attachment_metadata', array(__CLASS__, 'generate_attachment_metadata'), 10, 2);
|
37 |
+
add_filter('upload_dir', array(__CLASS__, 'add_relative_upload_dir_key'), 10, 2);
|
38 |
return true;
|
39 |
}
|
40 |
|
169 |
return self::_operate($src, $op, $force);
|
170 |
}
|
171 |
|
172 |
+
//-- end of public methods --//
|
173 |
+
|
174 |
/**
|
175 |
+
* Deletes all resized versions of an image when the source is deleted.
|
176 |
+
*
|
177 |
+
* @since 1.5.0
|
178 |
+
* @param int $post_id an attachment post id
|
179 |
*/
|
180 |
+
public static function delete_attachment( $post_id ) {
|
181 |
+
self::_delete_generated_if_image($post_id);
|
|
|
|
|
|
|
|
|
|
|
|
|
182 |
}
|
183 |
|
184 |
+
|
185 |
/**
|
186 |
+
* Delete all resized version of an image when its meta data is regenerated.
|
187 |
+
*
|
188 |
+
* @since 1.5.0
|
189 |
+
* @param array $metadata
|
190 |
+
* @param int $post_id an attachment post id
|
191 |
+
* @return array
|
192 |
*/
|
193 |
+
public static function generate_attachment_metadata( $metadata, $post_id ) {
|
194 |
+
self::_delete_generated_if_image($post_id);
|
195 |
+
return $metadata;
|
|
|
|
|
196 |
}
|
197 |
|
198 |
+
/**
|
199 |
+
* Adds a 'relative' key to wp_upload_dir() result.
|
200 |
+
* It will contain the relative url to upload dir.
|
201 |
+
*
|
202 |
+
* @since 1.5.0
|
203 |
+
* @param array $arr
|
204 |
+
* @return array
|
205 |
+
*/
|
206 |
+
public static function add_relative_upload_dir_key( $arr ) {
|
207 |
+
$arr['relative'] = str_replace(self::$home_url, '', $arr['baseurl']);
|
208 |
+
return $arr;
|
209 |
+
}
|
210 |
|
211 |
/**
|
212 |
* Checks if attachment is an image before deleting generated files
|
lib/MenuItem.php
CHANGED
@@ -111,6 +111,7 @@ class MenuItem extends Core implements CoreInterface {
|
|
111 |
* @internal
|
112 |
* @see TimberMenuItem::link
|
113 |
* @deprecated 1.0
|
|
|
114 |
* @return string an absolute URL http://example.org/my-page
|
115 |
*/
|
116 |
public function get_link() {
|
@@ -119,6 +120,7 @@ class MenuItem extends Core implements CoreInterface {
|
|
119 |
|
120 |
/**
|
121 |
* @internal
|
|
|
122 |
* @see TimberMenuItem::path()
|
123 |
* @deprecated 1.0
|
124 |
* @return string a relative url /my-page
|
@@ -263,7 +265,7 @@ class MenuItem extends Core implements CoreInterface {
|
|
263 |
if ( isset($this->_menu_item_type) && $this->_menu_item_type == 'custom' ) {
|
264 |
$this->url = $this->_menu_item_url;
|
265 |
} else if ( isset($this->menu_object) && method_exists($this->menu_object, 'get_link') ) {
|
266 |
-
$this->url = $this->menu_object->
|
267 |
}
|
268 |
}
|
269 |
return $this->url;
|
@@ -274,6 +276,7 @@ class MenuItem extends Core implements CoreInterface {
|
|
274 |
* @internal
|
275 |
* @deprecated since 0.21.7 use link instead
|
276 |
* @see link()
|
|
|
277 |
* @return string a full URL like http://mysite.com/thing/
|
278 |
*/
|
279 |
public function permalink() {
|
@@ -289,7 +292,6 @@ class MenuItem extends Core implements CoreInterface {
|
|
289 |
* <li><a href="{{ item.path }}">{{ item.title }}</a></li>
|
290 |
* {% endfor %}
|
291 |
* ```
|
292 |
-
* @see get_path()
|
293 |
* @return string the path of a URL like /foo
|
294 |
*/
|
295 |
public function path() {
|
111 |
* @internal
|
112 |
* @see TimberMenuItem::link
|
113 |
* @deprecated 1.0
|
114 |
+
* @codeCoverageIgnore
|
115 |
* @return string an absolute URL http://example.org/my-page
|
116 |
*/
|
117 |
public function get_link() {
|
120 |
|
121 |
/**
|
122 |
* @internal
|
123 |
+
* @codeCoverageIgnore
|
124 |
* @see TimberMenuItem::path()
|
125 |
* @deprecated 1.0
|
126 |
* @return string a relative url /my-page
|
265 |
if ( isset($this->_menu_item_type) && $this->_menu_item_type == 'custom' ) {
|
266 |
$this->url = $this->_menu_item_url;
|
267 |
} else if ( isset($this->menu_object) && method_exists($this->menu_object, 'get_link') ) {
|
268 |
+
$this->url = $this->menu_object->link();
|
269 |
}
|
270 |
}
|
271 |
return $this->url;
|
276 |
* @internal
|
277 |
* @deprecated since 0.21.7 use link instead
|
278 |
* @see link()
|
279 |
+
* @codeCoverageIgnore
|
280 |
* @return string a full URL like http://mysite.com/thing/
|
281 |
*/
|
282 |
public function permalink() {
|
292 |
* <li><a href="{{ item.path }}">{{ item.title }}</a></li>
|
293 |
* {% endfor %}
|
294 |
* ```
|
|
|
295 |
* @return string the path of a URL like /foo
|
296 |
*/
|
297 |
public function path() {
|
lib/Post.php
CHANGED
@@ -95,10 +95,9 @@ class Post extends Core implements CoreInterface {
|
|
95 |
protected $_prev = array();
|
96 |
|
97 |
/**
|
98 |
-
* @api
|
99 |
* @var string $class stores the CSS classes for the post (ex: "post post-type-book post-123")
|
100 |
*/
|
101 |
-
|
102 |
|
103 |
/**
|
104 |
* @api
|
@@ -178,6 +177,33 @@ class Post extends Core implements CoreInterface {
|
|
178 |
$this->init($pid);
|
179 |
}
|
180 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
/**
|
182 |
* tries to figure out what post you want to get if not explictly defined (or if it is, allows it to be passed through)
|
183 |
* @internal
|
@@ -192,12 +218,12 @@ class Post extends Core implements CoreInterface {
|
|
192 |
&& isset($wp_query->queried_object)
|
193 |
&& is_object($wp_query->queried_object)
|
194 |
&& get_class($wp_query->queried_object) == 'WP_Post'
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
} else if ( $pid === null && $wp_query->is_home && isset($wp_query->queried_object_id) && $wp_query->queried_object_id ) {
|
202 |
//hack for static page as home page
|
203 |
$pid = $wp_query->queried_object_id;
|
@@ -233,23 +259,23 @@ class Post extends Core implements CoreInterface {
|
|
233 |
|
234 |
protected function get_post_preview_id( $query ) {
|
235 |
$can = array(
|
236 |
-
|
237 |
-
|
238 |
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
|
243 |
-
|
244 |
|
245 |
foreach ( $can as $type ) {
|
246 |
-
|
247 |
$can_preview[] = true;
|
248 |
-
|
249 |
}
|
250 |
|
251 |
if ( count($can_preview) !== count($can) ) {
|
252 |
-
|
253 |
}
|
254 |
|
255 |
$revisions = wp_get_post_revisions($query->queried_object_id);
|
@@ -276,9 +302,6 @@ class Post extends Core implements CoreInterface {
|
|
276 |
}
|
277 |
$post_info = $this->get_info($pid);
|
278 |
$this->import($post_info);
|
279 |
-
//cant have a function, so gots to do it this way
|
280 |
-
$post_class = $this->post_class();
|
281 |
-
$this->class = $post_class;
|
282 |
}
|
283 |
|
284 |
/**
|
@@ -338,7 +361,7 @@ class Post extends Core implements CoreInterface {
|
|
338 |
return $pid;
|
339 |
}
|
340 |
if ( !is_numeric($pid) && is_string($pid) ) {
|
341 |
-
$pid =
|
342 |
return $pid;
|
343 |
}
|
344 |
if ( !$pid ) {
|
@@ -351,17 +374,12 @@ class Post extends Core implements CoreInterface {
|
|
351 |
/**
|
352 |
* get_post_id_by_name($post_name)
|
353 |
* @internal
|
|
|
354 |
* @param string $post_name
|
355 |
* @return int
|
356 |
*/
|
357 |
public static function get_post_id_by_name( $post_name ) {
|
358 |
-
|
359 |
-
$query = $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_name = %s LIMIT 1", $post_name);
|
360 |
-
$result = $wpdb->get_row($query);
|
361 |
-
if ( !$result ) {
|
362 |
-
return null;
|
363 |
-
}
|
364 |
-
return $result->ID;
|
365 |
}
|
366 |
|
367 |
/**
|
@@ -539,11 +557,11 @@ class Post extends Core implements CoreInterface {
|
|
539 |
* ```twig
|
540 |
* <section id="job-feed">
|
541 |
* {% for post in job %}
|
542 |
-
*
|
543 |
-
*
|
544 |
-
*
|
545 |
-
*
|
546 |
-
* {% endfor %}
|
547 |
* </section>
|
548 |
* ```
|
549 |
* ```html
|
@@ -708,13 +726,12 @@ class Post extends Core implements CoreInterface {
|
|
708 |
}
|
709 |
|
710 |
/**
|
711 |
-
* Get the CSS classes for a post. For usage you should use `{{post.class}}`
|
712 |
* @internal
|
713 |
* @param string $class additional classes you want to add
|
714 |
-
* @see Timber\Post::$class
|
715 |
* @example
|
716 |
* ```twig
|
717 |
-
* <article class="{{ post.
|
718 |
* {# Some stuff here #}
|
719 |
* </article>
|
720 |
* ```
|
@@ -738,6 +755,28 @@ class Post extends Core implements CoreInterface {
|
|
738 |
return $class_array;
|
739 |
}
|
740 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
741 |
// Docs
|
742 |
|
743 |
/**
|
@@ -914,11 +953,11 @@ class Post extends Core implements CoreInterface {
|
|
914 |
* If the Password form is to be shown, show it!
|
915 |
* @return string|void
|
916 |
*/
|
917 |
-
protected function maybe_show_password_form(){
|
918 |
if ( $this->password_required() ) {
|
919 |
$show_pw = false;
|
920 |
$show_pw = apply_filters('timber/post/content/show_password_form_for_protected', $show_pw);
|
921 |
-
if ($show_pw) {
|
922 |
return apply_filters('timber/post/content/password_form', get_the_password_form($this->ID), $this);
|
923 |
}
|
924 |
}
|
@@ -1014,8 +1053,8 @@ class Post extends Core implements CoreInterface {
|
|
1014 |
*/
|
1015 |
public function time( $time_format = '' ) {
|
1016 |
$tf = $time_format ? $time_format : get_option('time_format');
|
1017 |
-
|
1018 |
-
|
1019 |
}
|
1020 |
|
1021 |
|
@@ -1061,7 +1100,7 @@ class Post extends Core implements CoreInterface {
|
|
1061 |
public function format() {
|
1062 |
return get_post_format($this->ID);
|
1063 |
}
|
1064 |
-
|
1065 |
/**
|
1066 |
* whether post requires password and correct password has been provided
|
1067 |
* @api
|
@@ -1189,7 +1228,7 @@ class Post extends Core implements CoreInterface {
|
|
1189 |
* @param array|WP_Post $data
|
1190 |
* @param string $class
|
1191 |
*/
|
1192 |
-
public function convert( $data, $class ) {
|
1193 |
if ( $data instanceof WP_Post ) {
|
1194 |
$data = new $class($data);
|
1195 |
} else if ( is_array($data) ) {
|
@@ -1204,7 +1243,6 @@ class Post extends Core implements CoreInterface {
|
|
1204 |
}
|
1205 |
}
|
1206 |
}
|
1207 |
-
|
1208 |
return $data;
|
1209 |
}
|
1210 |
|
@@ -1294,7 +1332,7 @@ class Post extends Core implements CoreInterface {
|
|
1294 |
if ( $tid ) {
|
1295 |
//return new Image($tid);
|
1296 |
return new $this->ImageClass($tid);
|
1297 |
-
}
|
1298 |
}
|
1299 |
|
1300 |
|
@@ -1391,19 +1429,19 @@ class Post extends Core implements CoreInterface {
|
|
1391 |
return $this->title();
|
1392 |
}
|
1393 |
|
1394 |
-
|
1395 |
-
|
1396 |
-
|
1397 |
-
|
1398 |
-
|
1399 |
-
|
1400 |
-
|
1401 |
-
|
1402 |
-
|
1403 |
-
|
1404 |
-
|
1405 |
-
|
1406 |
-
|
1407 |
public function get_content( $len = -1, $page = 0 ) {
|
1408 |
if ( $len === 0 ) {
|
1409 |
$len = -1;
|
@@ -1444,14 +1482,14 @@ class Post extends Core implements CoreInterface {
|
|
1444 |
return $this->link();
|
1445 |
}
|
1446 |
|
1447 |
-
|
1448 |
-
|
1449 |
-
|
1450 |
-
|
1451 |
-
|
1452 |
-
|
1453 |
-
|
1454 |
-
|
1455 |
public function get_date( $date_format = '' ) {
|
1456 |
return $this->date($date_format);
|
1457 |
}
|
@@ -1492,15 +1530,15 @@ class Post extends Core implements CoreInterface {
|
|
1492 |
return $this->children($post_type, $childPostClass);
|
1493 |
}
|
1494 |
|
1495 |
-
|
1496 |
-
|
1497 |
-
|
1498 |
-
|
1499 |
-
|
1500 |
-
|
1501 |
-
|
1502 |
-
|
1503 |
-
|
1504 |
public function get_path() {
|
1505 |
return $this->path();
|
1506 |
}
|
95 |
protected $_prev = array();
|
96 |
|
97 |
/**
|
|
|
98 |
* @var string $class stores the CSS classes for the post (ex: "post post-type-book post-123")
|
99 |
*/
|
100 |
+
protected $_css_class;
|
101 |
|
102 |
/**
|
103 |
* @api
|
177 |
$this->init($pid);
|
178 |
}
|
179 |
|
180 |
+
/**
|
181 |
+
* This is helpful for twig to return properties and methods see: https://github.com/fabpot/Twig/issues/2
|
182 |
+
* This is also here to ensure that {{ post.class }} remains usable
|
183 |
+
* @return mixed
|
184 |
+
*/
|
185 |
+
public function __get( $field ) {
|
186 |
+
if ( 'class' === $field ) {
|
187 |
+
return $this->css_class();
|
188 |
+
}
|
189 |
+
|
190 |
+
return parent::__get($field);
|
191 |
+
}
|
192 |
+
|
193 |
+
/**
|
194 |
+
* This is helpful for twig to return properties and methods see: https://github.com/fabpot/Twig/issues/2
|
195 |
+
* This is also here to ensure that {{ post.class }} remains usable
|
196 |
+
* @return mixed
|
197 |
+
*/
|
198 |
+
public function __call( $field, $args ) {
|
199 |
+
if ( 'class' === $field ) {
|
200 |
+
$class = isset($args[0]) ? $args[0] : '';
|
201 |
+
return $this->css_class($class);
|
202 |
+
}
|
203 |
+
|
204 |
+
return parent::__call($field, $args);
|
205 |
+
}
|
206 |
+
|
207 |
/**
|
208 |
* tries to figure out what post you want to get if not explictly defined (or if it is, allows it to be passed through)
|
209 |
* @internal
|
218 |
&& isset($wp_query->queried_object)
|
219 |
&& is_object($wp_query->queried_object)
|
220 |
&& get_class($wp_query->queried_object) == 'WP_Post'
|
221 |
+
) {
|
222 |
+
if ( isset($_GET['preview']) && isset($_GET['preview_nonce']) && wp_verify_nonce($_GET['preview_nonce'], 'post_preview_'.$wp_query->queried_object_id) ) {
|
223 |
+
$pid = $this->get_post_preview_id($wp_query);
|
224 |
+
} else if ( !$pid ) {
|
225 |
+
$pid = $wp_query->queried_object_id;
|
226 |
+
}
|
227 |
} else if ( $pid === null && $wp_query->is_home && isset($wp_query->queried_object_id) && $wp_query->queried_object_id ) {
|
228 |
//hack for static page as home page
|
229 |
$pid = $wp_query->queried_object_id;
|
259 |
|
260 |
protected function get_post_preview_id( $query ) {
|
261 |
$can = array(
|
262 |
+
'edit_'.$query->queried_object->post_type.'s',
|
263 |
+
);
|
264 |
|
265 |
+
if ( $query->queried_object->author_id !== get_current_user_id() ) {
|
266 |
+
$can[] = 'edit_others_'.$query->queried_object->post_type.'s';
|
267 |
+
}
|
268 |
|
269 |
+
$can_preview = array();
|
270 |
|
271 |
foreach ( $can as $type ) {
|
272 |
+
if ( current_user_can($type) ) {
|
273 |
$can_preview[] = true;
|
274 |
+
}
|
275 |
}
|
276 |
|
277 |
if ( count($can_preview) !== count($can) ) {
|
278 |
+
return;
|
279 |
}
|
280 |
|
281 |
$revisions = wp_get_post_revisions($query->queried_object_id);
|
302 |
}
|
303 |
$post_info = $this->get_info($pid);
|
304 |
$this->import($post_info);
|
|
|
|
|
|
|
305 |
}
|
306 |
|
307 |
/**
|
361 |
return $pid;
|
362 |
}
|
363 |
if ( !is_numeric($pid) && is_string($pid) ) {
|
364 |
+
$pid = PostGetter::get_post_id_by_name($pid);
|
365 |
return $pid;
|
366 |
}
|
367 |
if ( !$pid ) {
|
374 |
/**
|
375 |
* get_post_id_by_name($post_name)
|
376 |
* @internal
|
377 |
+
* @deprecated since 1.5.0
|
378 |
* @param string $post_name
|
379 |
* @return int
|
380 |
*/
|
381 |
public static function get_post_id_by_name( $post_name ) {
|
382 |
+
return PostGetter::get_post_id_by_name($post_name);
|
|
|
|
|
|
|
|
|
|
|
|
|
383 |
}
|
384 |
|
385 |
/**
|
557 |
* ```twig
|
558 |
* <section id="job-feed">
|
559 |
* {% for post in job %}
|
560 |
+
* <div class="job">
|
561 |
+
* <h2>{{ post.title }}</h2>
|
562 |
+
* <p>{{ post.terms('category') | join(', ') }}
|
563 |
+
* </div>
|
564 |
+
* {% endfor %}
|
565 |
* </section>
|
566 |
* ```
|
567 |
* ```html
|
726 |
}
|
727 |
|
728 |
/**
|
729 |
+
* Get the CSS classes for a post without cache. For usage you should use `{{post.class}}`
|
730 |
* @internal
|
731 |
* @param string $class additional classes you want to add
|
|
|
732 |
* @example
|
733 |
* ```twig
|
734 |
+
* <article class="{{ post.post_class }}">
|
735 |
* {# Some stuff here #}
|
736 |
* </article>
|
737 |
* ```
|
755 |
return $class_array;
|
756 |
}
|
757 |
|
758 |
+
/**
|
759 |
+
* Get the CSS classes for a post, but with caching css post classes. For usage you should use `{{ post.class }}` instead of `{{post.css_class}}` or `{{post.post_class}}`
|
760 |
+
* @internal
|
761 |
+
* @param string $class additional classes you want to add
|
762 |
+
* @see Timber\Post::$_css_class
|
763 |
+
* @example
|
764 |
+
* ```twig
|
765 |
+
* <article class="{{ post.class }}">
|
766 |
+
* {# Some stuff here #}
|
767 |
+
* </article>
|
768 |
+
* ```
|
769 |
+
*
|
770 |
+
* @return string a space-seperated list of classes
|
771 |
+
*/
|
772 |
+
public function css_class( $class = '' ) {
|
773 |
+
if ( !$this->_css_class ) {
|
774 |
+
$this->_css_class = $this->post_class();
|
775 |
+
}
|
776 |
+
|
777 |
+
return trim(sprintf('%s %s', $this->_css_class, $class));
|
778 |
+
}
|
779 |
+
|
780 |
// Docs
|
781 |
|
782 |
/**
|
953 |
* If the Password form is to be shown, show it!
|
954 |
* @return string|void
|
955 |
*/
|
956 |
+
protected function maybe_show_password_form() {
|
957 |
if ( $this->password_required() ) {
|
958 |
$show_pw = false;
|
959 |
$show_pw = apply_filters('timber/post/content/show_password_form_for_protected', $show_pw);
|
960 |
+
if ( $show_pw ) {
|
961 |
return apply_filters('timber/post/content/password_form', get_the_password_form($this->ID), $this);
|
962 |
}
|
963 |
}
|
1053 |
*/
|
1054 |
public function time( $time_format = '' ) {
|
1055 |
$tf = $time_format ? $time_format : get_option('time_format');
|
1056 |
+
$the_time = (string) mysql2date($tf, $this->post_date);
|
1057 |
+
return apply_filters('get_the_time', $the_time, $tf);
|
1058 |
}
|
1059 |
|
1060 |
|
1100 |
public function format() {
|
1101 |
return get_post_format($this->ID);
|
1102 |
}
|
1103 |
+
|
1104 |
/**
|
1105 |
* whether post requires password and correct password has been provided
|
1106 |
* @api
|
1228 |
* @param array|WP_Post $data
|
1229 |
* @param string $class
|
1230 |
*/
|
1231 |
+
public function convert( $data, $class = '\Timber\Post' ) {
|
1232 |
if ( $data instanceof WP_Post ) {
|
1233 |
$data = new $class($data);
|
1234 |
} else if ( is_array($data) ) {
|
1243 |
}
|
1244 |
}
|
1245 |
}
|
|
|
1246 |
return $data;
|
1247 |
}
|
1248 |
|
1332 |
if ( $tid ) {
|
1333 |
//return new Image($tid);
|
1334 |
return new $this->ImageClass($tid);
|
1335 |
+
}
|
1336 |
}
|
1337 |
|
1338 |
|
1429 |
return $this->title();
|
1430 |
}
|
1431 |
|
1432 |
+
/**
|
1433 |
+
* Displays the content of the post with filters, shortcodes and wpautop applied
|
1434 |
+
* @example
|
1435 |
+
* ```twig
|
1436 |
+
* <div class="article-text">{{post.get_content}}</div>
|
1437 |
+
* ```
|
1438 |
+
* ```html
|
1439 |
+
* <div class="article-text"><p>Blah blah blah</p><p>More blah blah blah.</p></div>
|
1440 |
+
* ```
|
1441 |
+
* @param int $len
|
1442 |
+
* @param int $page
|
1443 |
+
* @return string
|
1444 |
+
*/
|
1445 |
public function get_content( $len = -1, $page = 0 ) {
|
1446 |
if ( $len === 0 ) {
|
1447 |
$len = -1;
|
1482 |
return $this->link();
|
1483 |
}
|
1484 |
|
1485 |
+
/**
|
1486 |
+
* @internal
|
1487 |
+
* @see Timber\Post::date
|
1488 |
+
* @deprecated since 1.0
|
1489 |
+
* @codeCoverageIgnore
|
1490 |
+
* @param string $date_format
|
1491 |
+
* @return string
|
1492 |
+
*/
|
1493 |
public function get_date( $date_format = '' ) {
|
1494 |
return $this->date($date_format);
|
1495 |
}
|
1530 |
return $this->children($post_type, $childPostClass);
|
1531 |
}
|
1532 |
|
1533 |
+
/**
|
1534 |
+
* Get the permalink for a post, but as a relative path
|
1535 |
+
* For example, where {{post.link}} would return "http://example.org/2015/07/04/my-cool-post"
|
1536 |
+
* this will return the relative version: "/2015/07/04/my-cool-post"
|
1537 |
+
* @internal
|
1538 |
+
* @deprecated since 1.0
|
1539 |
+
* @codeCoverageIgnore
|
1540 |
+
* @return string
|
1541 |
+
*/
|
1542 |
public function get_path() {
|
1543 |
return $this->path();
|
1544 |
}
|
lib/PostCollection.php
CHANGED
@@ -6,13 +6,34 @@ use Timber\Helper;
|
|
6 |
use Timber\Post;
|
7 |
|
8 |
/**
|
9 |
-
*
|
|
|
|
|
|
|
|
|
10 |
*/
|
11 |
class PostCollection extends \ArrayObject {
|
12 |
|
13 |
public function __construct( $posts = array(), $post_class = '\Timber\Post' ) {
|
14 |
$returned_posts = self::init($posts, $post_class);
|
15 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
}
|
17 |
|
18 |
protected static function init( $posts, $post_class ) {
|
@@ -77,16 +98,6 @@ class PostCollection extends \ArrayObject {
|
|
77 |
|
78 |
return $posts;
|
79 |
}
|
80 |
-
|
81 |
-
}
|
82 |
-
|
83 |
-
class PostsIterator extends \ArrayIterator {
|
84 |
-
|
85 |
-
public function current() {
|
86 |
-
global $post;
|
87 |
-
$post = parent::current();
|
88 |
-
return $post;
|
89 |
-
}
|
90 |
}
|
91 |
|
92 |
class_alias('Timber\PostCollection', 'Timber\PostsCollection');
|
6 |
use Timber\Post;
|
7 |
|
8 |
/**
|
9 |
+
* Class PostCollection
|
10 |
+
*
|
11 |
+
* PostCollections are internal objects used to hold a collection of posts.
|
12 |
+
*
|
13 |
+
* @package Timber
|
14 |
*/
|
15 |
class PostCollection extends \ArrayObject {
|
16 |
|
17 |
public function __construct( $posts = array(), $post_class = '\Timber\Post' ) {
|
18 |
$returned_posts = self::init($posts, $post_class);
|
19 |
+
|
20 |
+
$posts_iterator = 'Timber\PostsIterator';
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Filters the PostIterator class to use for a PostCollection.
|
24 |
+
*
|
25 |
+
* This filter is useful if you need to set special values or globals on each post. Because many plugins still
|
26 |
+
* rely on The Loop, a custom PostIterator can make it much easier to integrate third party plugins with Timber.
|
27 |
+
*
|
28 |
+
* @since 1.4.x
|
29 |
+
*
|
30 |
+
* @param string $posts_iterator The iterator class to use to loop over posts. Default `Timber\PostsIterator`.
|
31 |
+
* @param array $returned_posts An array of posts.
|
32 |
+
* @param string $post_class The post class to use to extend posts with.
|
33 |
+
*/
|
34 |
+
$posts_iterator = apply_filters('timber/class/posts_iterator', $posts_iterator, $returned_posts, $post_class);
|
35 |
+
|
36 |
+
parent::__construct($returned_posts, 0, $posts_iterator);
|
37 |
}
|
38 |
|
39 |
protected static function init( $posts, $post_class ) {
|
98 |
|
99 |
return $posts;
|
100 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
}
|
102 |
|
103 |
class_alias('Timber\PostCollection', 'Timber\PostsCollection');
|
lib/PostGetter.php
CHANGED
@@ -34,6 +34,23 @@ class PostGetter {
|
|
34 |
return false;
|
35 |
}
|
36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
public static function get_posts( $query = false, $PostClass = '\Timber\Post', $return_collection = false ) {
|
38 |
$posts = self::query_posts($query, $PostClass);
|
39 |
return apply_filters('timber_post_getter_get_posts', $posts->get_posts($return_collection));
|
@@ -121,12 +138,13 @@ class PostGetter {
|
|
121 |
Helper::error_log('Unexpeted value for PostClass: '.print_r($post_class, true));
|
122 |
}
|
123 |
|
124 |
-
$
|
125 |
-
|
126 |
-
$test_post = new $post_class_use();
|
127 |
}
|
128 |
-
|
129 |
-
|
|
|
|
|
130 |
}
|
131 |
|
132 |
return $post_class_use;
|
34 |
return false;
|
35 |
}
|
36 |
|
37 |
+
/**
|
38 |
+
* get_post_id_by_name($post_name)
|
39 |
+
* @internal
|
40 |
+
* @since 1.5.0
|
41 |
+
* @param string $post_name
|
42 |
+
* @return int
|
43 |
+
*/
|
44 |
+
public static function get_post_id_by_name( $post_name ) {
|
45 |
+
global $wpdb;
|
46 |
+
$query = $wpdb->prepare("SELECT ID FROM $wpdb->posts WHERE post_name = %s LIMIT 1", $post_name);
|
47 |
+
$result = $wpdb->get_row($query);
|
48 |
+
if ( !$result ) {
|
49 |
+
return null;
|
50 |
+
}
|
51 |
+
return $result->ID;
|
52 |
+
}
|
53 |
+
|
54 |
public static function get_posts( $query = false, $PostClass = '\Timber\Post', $return_collection = false ) {
|
55 |
$posts = self::query_posts($query, $PostClass);
|
56 |
return apply_filters('timber_post_getter_get_posts', $posts->get_posts($return_collection));
|
138 |
Helper::error_log('Unexpeted value for PostClass: '.print_r($post_class, true));
|
139 |
}
|
140 |
|
141 |
+
if ( $post_class_use === '\Timber\Post' ) {
|
142 |
+
return $post_class_use;
|
|
|
143 |
}
|
144 |
+
|
145 |
+
if ( !class_exists($post_class_use) || !is_a(new $post_class_use, '\Timber\Post') ) {
|
146 |
+
Helper::error_log('Class '.$post_class_use.' either does not exist or implement \Timber\Post');
|
147 |
+
return '\Timber\Post';
|
148 |
}
|
149 |
|
150 |
return $post_class_use;
|
lib/PostsIterator.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Timber;
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Class PostsIterator
|
7 |
+
*
|
8 |
+
* @package Timber
|
9 |
+
*/
|
10 |
+
class PostsIterator extends \ArrayIterator {
|
11 |
+
|
12 |
+
public function current() {
|
13 |
+
global $post;
|
14 |
+
$post = parent::current();
|
15 |
+
return $post;
|
16 |
+
}
|
17 |
+
|
18 |
+
}
|
readme.txt
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
Contributors: jarednova, connorjburton, lggorman
|
3 |
Tags: template engine, templates, twig
|
4 |
Requires at least: 3.7
|
5 |
-
Stable tag: 1.
|
6 |
Tested up to: 4.8.1
|
7 |
PHP version: 5.3.0 or greater
|
8 |
License: GPLv2 or later
|
@@ -28,6 +28,25 @@ _Twig is the template language powering Timber; if you need a little background
|
|
28 |
|
29 |
== Changelog ==
|
30 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
31 |
= 1.4.1 =
|
32 |
|
33 |
**Fixes and improvements**
|
@@ -38,7 +57,7 @@ _Twig is the template language powering Timber; if you need a little background
|
|
38 |
|
39 |
**Fixes and Improvements**
|
40 |
- Improve GIF resize performance #1495 (thanks @ahallais)
|
41 |
-
- Fix for get_host which could generate an
|
42 |
|
43 |
**Changes for Theme Developers**
|
44 |
- Improve loader performance and logic #1476 #1489 #1491 (thanks @heino). This introduces potential changes if you were loading templates in a non-standard way and with multiple sources (ex: from a theme and plugin directory). Non-existing templates are no longer passed all the way to Twig’s `render()`, which currently generates an exception.
|
2 |
Contributors: jarednova, connorjburton, lggorman
|
3 |
Tags: template engine, templates, twig
|
4 |
Requires at least: 3.7
|
5 |
+
Stable tag: 1.5.0
|
6 |
Tested up to: 4.8.1
|
7 |
PHP version: 5.3.0 or greater
|
8 |
License: GPLv2 or later
|
28 |
|
29 |
== Changelog ==
|
30 |
|
31 |
+
= Develop (next release) =
|
32 |
+
|
33 |
+
**Fixes and improvements**
|
34 |
+
- Please add bullet points here with your PR. The heading for this section will get the correct version number once released.
|
35 |
+
|
36 |
+
**Changes for Theme Developers**
|
37 |
+
- Please add any usage changes here so theme developers are informed of changes.
|
38 |
+
|
39 |
+
= 1.5.0 =
|
40 |
+
|
41 |
+
**Fixes and improvements**
|
42 |
+
- `home_url` value is now cached, performance win for polylang! #1507 (thanks @oxyc)
|
43 |
+
- Post::$css_class is only fetched if requested #1522 (thanks @ruscon)
|
44 |
+
- Improved flexibility of PostCollection to be filterable #1544 (thanks @gchtr)
|
45 |
+
- More test coverage
|
46 |
+
|
47 |
+
**Changes for Theme Developers**
|
48 |
+
- None! But the above fixes have significant changes in the code which necessitated the ".x" version jump
|
49 |
+
|
50 |
= 1.4.1 =
|
51 |
|
52 |
**Fixes and improvements**
|
57 |
|
58 |
**Fixes and Improvements**
|
59 |
- Improve GIF resize performance #1495 (thanks @ahallais)
|
60 |
+
- Fix for get_host which could generate an unnecessary warning #1490 (thanks @ahallais)
|
61 |
|
62 |
**Changes for Theme Developers**
|
63 |
- Improve loader performance and logic #1476 #1489 #1491 (thanks @heino). This introduces potential changes if you were loading templates in a non-standard way and with multiple sources (ex: from a theme and plugin directory). Non-existing templates are no longer passed all the way to Twig’s `render()`, which currently generates an exception.
|
timber-starter-theme/humans.txt
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
## Team
|
2 |
+
|
3 |
+
Your name or company
|
4 |
+
http://yoursite.org
|
5 |
+
@you_on_twitter
|
6 |
+
|
7 |
+
|
8 |
+
## Site
|
9 |
+
|
10 |
+
Software: Built with [Timber](http://upstatement.com/timber) by Upstatement
|
timber-starter-theme/templates/html-header.twig
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
<!doctype html>
|
2 |
-
<!--[if lt IE 7]><html class="no-js ie ie6 lt-ie9 lt-ie8 lt-ie7" {{site.language_attributes}}> <![endif]-->
|
3 |
-
<!--[if IE 7]><html class="no-js ie ie7 lt-ie9 lt-ie8" {{site.language_attributes}}> <![endif]-->
|
4 |
-
<!--[if IE 8]><html class="no-js ie ie8 lt-ie9" {{site.language_attributes}}> <![endif]-->
|
5 |
-
<!--[if gt IE 8]><!--><html class="no-js" {{site.language_attributes}}> <!--<![endif]-->
|
6 |
<head>
|
7 |
-
<meta charset="{{site.charset}}" />
|
8 |
<title>
|
9 |
{% if wp_title %}
|
10 |
{{ wp_title }} - {{ site.name }}
|
@@ -12,10 +12,11 @@
|
|
12 |
{{ site.name }}
|
13 |
{% endif %}
|
14 |
</title>
|
15 |
-
<meta name="description" content="{{site.description}}">
|
16 |
-
<link rel="stylesheet" href="{{site.theme.link}}/style.css" type="text/css" media="screen" />
|
17 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
18 |
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
19 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
20 |
-
<link rel="
|
|
|
21 |
{{function('wp_head')}}
|
1 |
<!doctype html>
|
2 |
+
<!--[if lt IE 7]><html class="no-js ie ie6 lt-ie9 lt-ie8 lt-ie7" {{ site.language_attributes }}> <![endif]-->
|
3 |
+
<!--[if IE 7]><html class="no-js ie ie7 lt-ie9 lt-ie8" {{ site.language_attributes }}> <![endif]-->
|
4 |
+
<!--[if IE 8]><html class="no-js ie ie8 lt-ie9" {{ site.language_attributes }}> <![endif]-->
|
5 |
+
<!--[if gt IE 8]><!--><html class="no-js" {{ site.language_attributes }}> <!--<![endif]-->
|
6 |
<head>
|
7 |
+
<meta charset="{{ site.charset }}" />
|
8 |
<title>
|
9 |
{% if wp_title %}
|
10 |
{{ wp_title }} - {{ site.name }}
|
12 |
{{ site.name }}
|
13 |
{% endif %}
|
14 |
</title>
|
15 |
+
<meta name="description" content="{{ site.description }}">
|
16 |
+
<link rel="stylesheet" href="{{ site.theme.link }}/style.css" type="text/css" media="screen" />
|
17 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
18 |
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
19 |
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
20 |
+
<link rel="author" href="{{ site.theme.link }}/humans.txt" />
|
21 |
+
<link rel="pingback" href="{{ site.pingback_url }}" />
|
22 |
{{function('wp_head')}}
|
timber.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Timber
|
|
4 |
Description: The WordPress Timber Library allows you to write themes using the power of Twig templates.
|
5 |
Plugin URI: http://timber.upstatement.com
|
6 |
Author: Jared Novack + Upstatement
|
7 |
-
Version: 1.
|
8 |
Author URI: http://upstatement.com/
|
9 |
*/
|
10 |
// we look for Composer files first in the plugins dir.
|
4 |
Description: The WordPress Timber Library allows you to write themes using the power of Twig templates.
|
5 |
Plugin URI: http://timber.upstatement.com
|
6 |
Author: Jared Novack + Upstatement
|
7 |
+
Version: 1.5.0
|
8 |
Author URI: http://upstatement.com/
|
9 |
*/
|
10 |
// we look for Composer files first in the plugins dir.
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInite4b27420d2a2e71228ec8df046d75250::getLoader();
|
vendor/composer/autoload_classmap.php
CHANGED
@@ -47,6 +47,7 @@ return array(
|
|
47 |
'Composer\\Installers\\ElggInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ElggInstaller.php',
|
48 |
'Composer\\Installers\\EliasisInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/EliasisInstaller.php',
|
49 |
'Composer\\Installers\\ExpressionEngineInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php',
|
|
|
50 |
'Composer\\Installers\\FuelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelInstaller.php',
|
51 |
'Composer\\Installers\\FuelphpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelphpInstaller.php',
|
52 |
'Composer\\Installers\\GravInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/GravInstaller.php',
|
@@ -59,6 +60,7 @@ return array(
|
|
59 |
'Composer\\Installers\\KirbyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KirbyInstaller.php',
|
60 |
'Composer\\Installers\\KodiCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php',
|
61 |
'Composer\\Installers\\KohanaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KohanaInstaller.php',
|
|
|
62 |
'Composer\\Installers\\LaravelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LaravelInstaller.php',
|
63 |
'Composer\\Installers\\LavaLiteInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LavaLiteInstaller.php',
|
64 |
'Composer\\Installers\\LithiumInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LithiumInstaller.php',
|
@@ -73,6 +75,7 @@ return array(
|
|
73 |
'Composer\\Installers\\MoodleInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MoodleInstaller.php',
|
74 |
'Composer\\Installers\\OctoberInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OctoberInstaller.php',
|
75 |
'Composer\\Installers\\OntoWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OntoWikiInstaller.php',
|
|
|
76 |
'Composer\\Installers\\OxidInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OxidInstaller.php',
|
77 |
'Composer\\Installers\\PPIInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PPIInstaller.php',
|
78 |
'Composer\\Installers\\PhiftyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
|
@@ -97,6 +100,7 @@ return array(
|
|
97 |
'Composer\\Installers\\TYPO3FlowInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php',
|
98 |
'Composer\\Installers\\TheliaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
|
99 |
'Composer\\Installers\\TuskInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TuskInstaller.php',
|
|
|
100 |
'Composer\\Installers\\VanillaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VanillaInstaller.php',
|
101 |
'Composer\\Installers\\VgmcpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VgmcpInstaller.php',
|
102 |
'Composer\\Installers\\WHMCSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php',
|
@@ -143,7 +147,7 @@ return array(
|
|
143 |
'Timber\\PostPreview' => $baseDir . '/lib/PostPreview.php',
|
144 |
'Timber\\PostQuery' => $baseDir . '/lib/PostQuery.php',
|
145 |
'Timber\\PostType' => $baseDir . '/lib/PostType.php',
|
146 |
-
'Timber\\PostsIterator' => $baseDir . '/lib/
|
147 |
'Timber\\QueryIterator' => $baseDir . '/lib/QueryIterator.php',
|
148 |
'Timber\\Request' => $baseDir . '/lib/Request.php',
|
149 |
'Timber\\Site' => $baseDir . '/lib/Site.php',
|
47 |
'Composer\\Installers\\ElggInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ElggInstaller.php',
|
48 |
'Composer\\Installers\\EliasisInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/EliasisInstaller.php',
|
49 |
'Composer\\Installers\\ExpressionEngineInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/ExpressionEngineInstaller.php',
|
50 |
+
'Composer\\Installers\\EzPlatformInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/EzPlatformInstaller.php',
|
51 |
'Composer\\Installers\\FuelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelInstaller.php',
|
52 |
'Composer\\Installers\\FuelphpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/FuelphpInstaller.php',
|
53 |
'Composer\\Installers\\GravInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/GravInstaller.php',
|
60 |
'Composer\\Installers\\KirbyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KirbyInstaller.php',
|
61 |
'Composer\\Installers\\KodiCMSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KodiCMSInstaller.php',
|
62 |
'Composer\\Installers\\KohanaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/KohanaInstaller.php',
|
63 |
+
'Composer\\Installers\\LanManagementSystemInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php',
|
64 |
'Composer\\Installers\\LaravelInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LaravelInstaller.php',
|
65 |
'Composer\\Installers\\LavaLiteInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LavaLiteInstaller.php',
|
66 |
'Composer\\Installers\\LithiumInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/LithiumInstaller.php',
|
75 |
'Composer\\Installers\\MoodleInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/MoodleInstaller.php',
|
76 |
'Composer\\Installers\\OctoberInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OctoberInstaller.php',
|
77 |
'Composer\\Installers\\OntoWikiInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OntoWikiInstaller.php',
|
78 |
+
'Composer\\Installers\\OsclassInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OsclassInstaller.php',
|
79 |
'Composer\\Installers\\OxidInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/OxidInstaller.php',
|
80 |
'Composer\\Installers\\PPIInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PPIInstaller.php',
|
81 |
'Composer\\Installers\\PhiftyInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/PhiftyInstaller.php',
|
100 |
'Composer\\Installers\\TYPO3FlowInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TYPO3FlowInstaller.php',
|
101 |
'Composer\\Installers\\TheliaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TheliaInstaller.php',
|
102 |
'Composer\\Installers\\TuskInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/TuskInstaller.php',
|
103 |
+
'Composer\\Installers\\UserFrostingInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/UserFrostingInstaller.php',
|
104 |
'Composer\\Installers\\VanillaInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VanillaInstaller.php',
|
105 |
'Composer\\Installers\\VgmcpInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/VgmcpInstaller.php',
|
106 |
'Composer\\Installers\\WHMCSInstaller' => $vendorDir . '/composer/installers/src/Composer/Installers/WHMCSInstaller.php',
|
147 |
'Timber\\PostPreview' => $baseDir . '/lib/PostPreview.php',
|
148 |
'Timber\\PostQuery' => $baseDir . '/lib/PostQuery.php',
|
149 |
'Timber\\PostType' => $baseDir . '/lib/PostType.php',
|
150 |
+
'Timber\\PostsIterator' => $baseDir . '/lib/PostsIterator.php',
|
151 |
'Timber\\QueryIterator' => $baseDir . '/lib/QueryIterator.php',
|
152 |
'Timber\\Request' => $baseDir . '/lib/Request.php',
|
153 |
'Timber\\Site' => $baseDir . '/lib/Site.php',
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -19,9 +19,9 @@ class ComposerAutoloaderInitdf0038319ddcc4e70ed54620c71e6bea
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
27 |
foreach ($map as $namespace => $path) {
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInite4b27420d2a2e71228ec8df046d75250
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInite4b27420d2a2e71228ec8df046d75250', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInite4b27420d2a2e71228ec8df046d75250', 'loadClassLoader'));
|
25 |
|
26 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
27 |
foreach ($map as $namespace => $path) {
|
vendor/composer/installed.json
CHANGED
@@ -1,17 +1,17 @@
|
|
1 |
[
|
2 |
{
|
3 |
"name": "composer/installers",
|
4 |
-
"version": "v1.
|
5 |
-
"version_normalized": "1.
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/composer/installers.git",
|
9 |
-
"reference": "
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
-
"url": "https://api.github.com/repos/composer/installers/zipball/
|
14 |
-
"reference": "
|
15 |
"shasum": ""
|
16 |
},
|
17 |
"require": {
|
@@ -25,7 +25,7 @@
|
|
25 |
"composer/composer": "1.0.*@dev",
|
26 |
"phpunit/phpunit": "4.1.*"
|
27 |
},
|
28 |
-
"time": "2017-
|
29 |
"type": "composer-plugin",
|
30 |
"extra": {
|
31 |
"class": "Composer\\Installers\\Plugin",
|
@@ -59,6 +59,7 @@
|
|
59 |
"Hurad",
|
60 |
"ImageCMS",
|
61 |
"Kanboard",
|
|
|
62 |
"MODX Evo",
|
63 |
"Mautic",
|
64 |
"Maya",
|
@@ -82,6 +83,7 @@
|
|
82 |
"croogo",
|
83 |
"dokuwiki",
|
84 |
"drupal",
|
|
|
85 |
"elgg",
|
86 |
"expressionengine",
|
87 |
"fuelphp",
|
@@ -98,6 +100,7 @@
|
|
98 |
"mediawiki",
|
99 |
"modulework",
|
100 |
"moodle",
|
|
|
101 |
"phpbb",
|
102 |
"piwik",
|
103 |
"ppi",
|
@@ -115,6 +118,112 @@
|
|
115 |
"zikula"
|
116 |
]
|
117 |
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
118 |
{
|
119 |
"name": "twig/twig",
|
120 |
"version": "v1.34.4",
|
@@ -237,111 +346,5 @@
|
|
237 |
"extension",
|
238 |
"twig"
|
239 |
]
|
240 |
-
},
|
241 |
-
{
|
242 |
-
"name": "altorouter/altorouter",
|
243 |
-
"version": "v1.1.0",
|
244 |
-
"version_normalized": "1.1.0.0",
|
245 |
-
"source": {
|
246 |
-
"type": "git",
|
247 |
-
"url": "https://github.com/dannyvankooten/AltoRouter.git",
|
248 |
-
"reference": "09d9d946c546bae6d22a7654cdb3b825ffda54b4"
|
249 |
-
},
|
250 |
-
"dist": {
|
251 |
-
"type": "zip",
|
252 |
-
"url": "https://api.github.com/repos/dannyvankooten/AltoRouter/zipball/09d9d946c546bae6d22a7654cdb3b825ffda54b4",
|
253 |
-
"reference": "09d9d946c546bae6d22a7654cdb3b825ffda54b4",
|
254 |
-
"shasum": ""
|
255 |
-
},
|
256 |
-
"require": {
|
257 |
-
"php": ">=5.3.0"
|
258 |
-
},
|
259 |
-
"time": "2014-04-16 09:44:40",
|
260 |
-
"type": "library",
|
261 |
-
"installation-source": "dist",
|
262 |
-
"autoload": {
|
263 |
-
"classmap": [
|
264 |
-
"AltoRouter.php"
|
265 |
-
]
|
266 |
-
},
|
267 |
-
"notification-url": "https://packagist.org/downloads/",
|
268 |
-
"license": [
|
269 |
-
"MIT"
|
270 |
-
],
|
271 |
-
"authors": [
|
272 |
-
{
|
273 |
-
"name": "Danny van Kooten",
|
274 |
-
"email": "dannyvankooten@gmail.com",
|
275 |
-
"homepage": "http://dannyvankooten.com/"
|
276 |
-
},
|
277 |
-
{
|
278 |
-
"name": "Koen Punt",
|
279 |
-
"homepage": "https://github.com/koenpunt"
|
280 |
-
},
|
281 |
-
{
|
282 |
-
"name": "niahoo",
|
283 |
-
"homepage": "https://github.com/niahoo"
|
284 |
-
}
|
285 |
-
],
|
286 |
-
"description": "A lightning fast router for PHP",
|
287 |
-
"homepage": "https://github.com/dannyvankooten/AltoRouter",
|
288 |
-
"keywords": [
|
289 |
-
"lightweight",
|
290 |
-
"router",
|
291 |
-
"routing"
|
292 |
-
]
|
293 |
-
},
|
294 |
-
{
|
295 |
-
"name": "upstatement/routes",
|
296 |
-
"version": "0.4",
|
297 |
-
"version_normalized": "0.4.0.0",
|
298 |
-
"source": {
|
299 |
-
"type": "git",
|
300 |
-
"url": "https://github.com/Upstatement/routes.git",
|
301 |
-
"reference": "fae7d46f56e8b5775f072774941a5f0a25cb86f3"
|
302 |
-
},
|
303 |
-
"dist": {
|
304 |
-
"type": "zip",
|
305 |
-
"url": "https://api.github.com/repos/Upstatement/routes/zipball/fae7d46f56e8b5775f072774941a5f0a25cb86f3",
|
306 |
-
"reference": "fae7d46f56e8b5775f072774941a5f0a25cb86f3",
|
307 |
-
"shasum": ""
|
308 |
-
},
|
309 |
-
"require": {
|
310 |
-
"altorouter/altorouter": "1.1.0",
|
311 |
-
"composer/installers": "~1.0",
|
312 |
-
"php": ">=5.3.0"
|
313 |
-
},
|
314 |
-
"require-dev": {
|
315 |
-
"phpunit/phpunit": "3.7.*",
|
316 |
-
"satooshi/php-coveralls": "dev-master",
|
317 |
-
"wp-cli/wp-cli": "*"
|
318 |
-
},
|
319 |
-
"time": "2016-07-06 12:53:24",
|
320 |
-
"type": "library",
|
321 |
-
"installation-source": "dist",
|
322 |
-
"autoload": {
|
323 |
-
"psr-0": {
|
324 |
-
"Routes": ""
|
325 |
-
}
|
326 |
-
},
|
327 |
-
"notification-url": "https://packagist.org/downloads/",
|
328 |
-
"license": [
|
329 |
-
"MIT"
|
330 |
-
],
|
331 |
-
"authors": [
|
332 |
-
{
|
333 |
-
"name": "Jared Novack",
|
334 |
-
"email": "jared@upstatement.com",
|
335 |
-
"homepage": "http://upstatement.com"
|
336 |
-
}
|
337 |
-
],
|
338 |
-
"description": "Manage rewrites and routes in WordPress with this dead-simple plugin",
|
339 |
-
"homepage": "http://routes.upstatement.com",
|
340 |
-
"keywords": [
|
341 |
-
"redirects",
|
342 |
-
"rewrite",
|
343 |
-
"routes",
|
344 |
-
"routing"
|
345 |
-
]
|
346 |
}
|
347 |
]
|
1 |
[
|
2 |
{
|
3 |
"name": "composer/installers",
|
4 |
+
"version": "v1.4.0",
|
5 |
+
"version_normalized": "1.4.0.0",
|
6 |
"source": {
|
7 |
"type": "git",
|
8 |
"url": "https://github.com/composer/installers.git",
|
9 |
+
"reference": "9ce17fb70e9a38dd8acff0636a29f5cf4d575c1b"
|
10 |
},
|
11 |
"dist": {
|
12 |
"type": "zip",
|
13 |
+
"url": "https://api.github.com/repos/composer/installers/zipball/9ce17fb70e9a38dd8acff0636a29f5cf4d575c1b",
|
14 |
+
"reference": "9ce17fb70e9a38dd8acff0636a29f5cf4d575c1b",
|
15 |
"shasum": ""
|
16 |
},
|
17 |
"require": {
|
25 |
"composer/composer": "1.0.*@dev",
|
26 |
"phpunit/phpunit": "4.1.*"
|
27 |
},
|
28 |
+
"time": "2017-08-09 07:53:48",
|
29 |
"type": "composer-plugin",
|
30 |
"extra": {
|
31 |
"class": "Composer\\Installers\\Plugin",
|
59 |
"Hurad",
|
60 |
"ImageCMS",
|
61 |
"Kanboard",
|
62 |
+
"Lan Management System",
|
63 |
"MODX Evo",
|
64 |
"Mautic",
|
65 |
"Maya",
|
83 |
"croogo",
|
84 |
"dokuwiki",
|
85 |
"drupal",
|
86 |
+
"eZ Platform",
|
87 |
"elgg",
|
88 |
"expressionengine",
|
89 |
"fuelphp",
|
100 |
"mediawiki",
|
101 |
"modulework",
|
102 |
"moodle",
|
103 |
+
"osclass",
|
104 |
"phpbb",
|
105 |
"piwik",
|
106 |
"ppi",
|
118 |
"zikula"
|
119 |
]
|
120 |
},
|
121 |
+
{
|
122 |
+
"name": "altorouter/altorouter",
|
123 |
+
"version": "v1.1.0",
|
124 |
+
"version_normalized": "1.1.0.0",
|
125 |
+
"source": {
|
126 |
+
"type": "git",
|
127 |
+
"url": "https://github.com/dannyvankooten/AltoRouter.git",
|
128 |
+
"reference": "09d9d946c546bae6d22a7654cdb3b825ffda54b4"
|
129 |
+
},
|
130 |
+
"dist": {
|
131 |
+
"type": "zip",
|
132 |
+
"url": "https://api.github.com/repos/dannyvankooten/AltoRouter/zipball/09d9d946c546bae6d22a7654cdb3b825ffda54b4",
|
133 |
+
"reference": "09d9d946c546bae6d22a7654cdb3b825ffda54b4",
|
134 |
+
"shasum": ""
|
135 |
+
},
|
136 |
+
"require": {
|
137 |
+
"php": ">=5.3.0"
|
138 |
+
},
|
139 |
+
"time": "2014-04-16 09:44:40",
|
140 |
+
"type": "library",
|
141 |
+
"installation-source": "dist",
|
142 |
+
"autoload": {
|
143 |
+
"classmap": [
|
144 |
+
"AltoRouter.php"
|
145 |
+
]
|
146 |
+
},
|
147 |
+
"notification-url": "https://packagist.org/downloads/",
|
148 |
+
"license": [
|
149 |
+
"MIT"
|
150 |
+
],
|
151 |
+
"authors": [
|
152 |
+
{
|
153 |
+
"name": "Danny van Kooten",
|
154 |
+
"email": "dannyvankooten@gmail.com",
|
155 |
+
"homepage": "http://dannyvankooten.com/"
|
156 |
+
},
|
157 |
+
{
|
158 |
+
"name": "Koen Punt",
|
159 |
+
"homepage": "https://github.com/koenpunt"
|
160 |
+
},
|
161 |
+
{
|
162 |
+
"name": "niahoo",
|
163 |
+
"homepage": "https://github.com/niahoo"
|
164 |
+
}
|
165 |
+
],
|
166 |
+
"description": "A lightning fast router for PHP",
|
167 |
+
"homepage": "https://github.com/dannyvankooten/AltoRouter",
|
168 |
+
"keywords": [
|
169 |
+
"lightweight",
|
170 |
+
"router",
|
171 |
+
"routing"
|
172 |
+
]
|
173 |
+
},
|
174 |
+
{
|
175 |
+
"name": "upstatement/routes",
|
176 |
+
"version": "0.4",
|
177 |
+
"version_normalized": "0.4.0.0",
|
178 |
+
"source": {
|
179 |
+
"type": "git",
|
180 |
+
"url": "https://github.com/Upstatement/routes.git",
|
181 |
+
"reference": "fae7d46f56e8b5775f072774941a5f0a25cb86f3"
|
182 |
+
},
|
183 |
+
"dist": {
|
184 |
+
"type": "zip",
|
185 |
+
"url": "https://api.github.com/repos/Upstatement/routes/zipball/fae7d46f56e8b5775f072774941a5f0a25cb86f3",
|
186 |
+
"reference": "fae7d46f56e8b5775f072774941a5f0a25cb86f3",
|
187 |
+
"shasum": ""
|
188 |
+
},
|
189 |
+
"require": {
|
190 |
+
"altorouter/altorouter": "1.1.0",
|
191 |
+
"composer/installers": "~1.0",
|
192 |
+
"php": ">=5.3.0"
|
193 |
+
},
|
194 |
+
"require-dev": {
|
195 |
+
"phpunit/phpunit": "3.7.*",
|
196 |
+
"satooshi/php-coveralls": "dev-master",
|
197 |
+
"wp-cli/wp-cli": "*"
|
198 |
+
},
|
199 |
+
"time": "2016-07-06 12:53:24",
|
200 |
+
"type": "library",
|
201 |
+
"installation-source": "dist",
|
202 |
+
"autoload": {
|
203 |
+
"psr-0": {
|
204 |
+
"Routes": ""
|
205 |
+
}
|
206 |
+
},
|
207 |
+
"notification-url": "https://packagist.org/downloads/",
|
208 |
+
"license": [
|
209 |
+
"MIT"
|
210 |
+
],
|
211 |
+
"authors": [
|
212 |
+
{
|
213 |
+
"name": "Jared Novack",
|
214 |
+
"email": "jared@upstatement.com",
|
215 |
+
"homepage": "http://upstatement.com"
|
216 |
+
}
|
217 |
+
],
|
218 |
+
"description": "Manage rewrites and routes in WordPress with this dead-simple plugin",
|
219 |
+
"homepage": "http://routes.upstatement.com",
|
220 |
+
"keywords": [
|
221 |
+
"redirects",
|
222 |
+
"rewrite",
|
223 |
+
"routes",
|
224 |
+
"routing"
|
225 |
+
]
|
226 |
+
},
|
227 |
{
|
228 |
"name": "twig/twig",
|
229 |
"version": "v1.34.4",
|
346 |
"extension",
|
347 |
"twig"
|
348 |
]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
349 |
}
|
350 |
]
|
vendor/composer/installers/.travis.yml
CHANGED
@@ -1,21 +1,30 @@
|
|
1 |
language: php
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
php:
|
4 |
-
- 5.3
|
5 |
- 5.4
|
6 |
- 5.5
|
7 |
- 5.6
|
8 |
- 7.0
|
9 |
- 7.1
|
10 |
- hhvm
|
|
|
11 |
|
12 |
matrix:
|
|
|
|
|
|
|
13 |
fast_finish: true
|
14 |
allow_failures:
|
15 |
-
- php:
|
16 |
-
- php: 7.1
|
17 |
|
18 |
-
before_script:
|
19 |
- composer self-update
|
20 |
- composer install
|
21 |
|
1 |
language: php
|
2 |
|
3 |
+
sudo: false
|
4 |
+
|
5 |
+
dist: trusty
|
6 |
+
|
7 |
+
git:
|
8 |
+
depth: 5
|
9 |
+
|
10 |
php:
|
|
|
11 |
- 5.4
|
12 |
- 5.5
|
13 |
- 5.6
|
14 |
- 7.0
|
15 |
- 7.1
|
16 |
- hhvm
|
17 |
+
- nightly
|
18 |
|
19 |
matrix:
|
20 |
+
include:
|
21 |
+
- dist: precise
|
22 |
+
php: 5.3
|
23 |
fast_finish: true
|
24 |
allow_failures:
|
25 |
+
- php: nightly
|
|
|
26 |
|
27 |
+
before_script:
|
28 |
- composer self-update
|
29 |
- composer install
|
30 |
|
vendor/composer/installers/CHANGELOG.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1 |
# Change Log
|
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
## v1.3.0 - 2017-04-24
|
4 |
### Added
|
5 |
* Kanboard plugins installer.
|
@@ -14,9 +26,6 @@
|
|
14 |
* OntoWiki installer.
|
15 |
* The requirements for contributing (CONTRIBUTING.md).
|
16 |
|
17 |
-
### Changed
|
18 |
-
* Concrete5: block & theme install location updates.
|
19 |
-
|
20 |
## v1.2.0 - 2016-08-13
|
21 |
### Added
|
22 |
* Installer for Attogram.
|
1 |
# Change Log
|
2 |
|
3 |
+
## [Unreleased]
|
4 |
+
|
5 |
+
## v1.4.0 - 2017-08-09
|
6 |
+
### Added
|
7 |
+
* Installer for eZ Platform.
|
8 |
+
* Installer for UserFrosting.
|
9 |
+
* Installer for Osclass.
|
10 |
+
* Installer for Lan Management System.
|
11 |
+
|
12 |
+
### Changed
|
13 |
+
* Added vendor name to package path for Lavalite.
|
14 |
+
|
15 |
## v1.3.0 - 2017-04-24
|
16 |
### Added
|
17 |
* Kanboard plugins installer.
|
26 |
* OntoWiki installer.
|
27 |
* The requirements for contributing (CONTRIBUTING.md).
|
28 |
|
|
|
|
|
|
|
29 |
## v1.2.0 - 2016-08-13
|
30 |
### Added
|
31 |
* Installer for Attogram.
|
vendor/composer/installers/README.md
CHANGED
@@ -55,6 +55,7 @@ is not needed to install packages with these frameworks:
|
|
55 |
| Elgg | `elgg-plugin`
|
56 |
| Eliasis | `eliasis-module`
|
57 |
| ExpressionEngine 3 | `ee3-addon`<br>`ee3-theme`
|
|
|
58 |
| FuelPHP v1.x | `fuel-module`<br>`fuel-package`<br/>`fuel-theme`
|
59 |
| FuelPHP v2.x | `fuelphp-component`
|
60 |
| Grav | `grav-plugin`<br>`grav-theme`
|
@@ -66,6 +67,7 @@ is not needed to install packages with these frameworks:
|
|
66 |
| Kirby | **`kirby-plugin`**<br>`kirby-field`<br>`kirby-tag`
|
67 |
| KodiCMS | `kodicms-plugin`<br>`kodicms-media`
|
68 |
| Kohana | **`kohana-module`**
|
|
|
69 |
| Laravel | `laravel-library`
|
70 |
| Lavalite | `lavalite-theme`<br>`lavalite-package`
|
71 |
| Lithium | **`lithium-library`<br>`lithium-source`**
|
@@ -78,6 +80,7 @@ is not needed to install packages with these frameworks:
|
|
78 |
| October | **`october-module`<br>`october-plugin`<br>`october-theme`**
|
79 |
| OntoWiki | `ontowiki-extension`<br>`ontowiki-theme`<br>`ontowiki-translation`
|
80 |
| OXID | `oxid-module`<br>`oxid-theme`<br>`oxid-out`
|
|
|
81 |
| MODULEWork | `modulework-module`
|
82 |
| Moodle | `moodle-*` (Please [check source](https://raw.githubusercontent.com/composer/installers/master/src/Composer/Installers/MoodleInstaller.php) for all supported types)
|
83 |
| Piwik | `piwik-plugin`
|
@@ -99,6 +102,7 @@ is not needed to install packages with these frameworks:
|
|
99 |
| Tusk | `tusk-task`<br>`tusk-command`<br>`tusk-asset`
|
100 |
| TYPO3 Flow | `typo3-flow-package`<br>`typo3-flow-framework`<br>`typo3-flow-plugin`<br>`typo3-flow-site`<br>`typo3-flow-boilerplate`<br>`typo3-flow-build`
|
101 |
| TYPO3 CMS | `typo3-cms-extension` (Deprecated in this package, use the [TYPO3 CMS Installers](https://packagist.org/packages/typo3/cms-composer-installers) instead)
|
|
|
102 |
| Vanilla | `vanilla-plugin`<br>`vanilla-theme`
|
103 |
| Vgmcp | `vgmcp-bundle`<br>`vgmcp-theme`
|
104 |
| Wolf CMS | `wolfcms-plugin`
|
55 |
| Elgg | `elgg-plugin`
|
56 |
| Eliasis | `eliasis-module`
|
57 |
| ExpressionEngine 3 | `ee3-addon`<br>`ee3-theme`
|
58 |
+
| eZ Platform | `ezplatform-assets`<br>`ezplatform-meta-assets`
|
59 |
| FuelPHP v1.x | `fuel-module`<br>`fuel-package`<br/>`fuel-theme`
|
60 |
| FuelPHP v2.x | `fuelphp-component`
|
61 |
| Grav | `grav-plugin`<br>`grav-theme`
|
67 |
| Kirby | **`kirby-plugin`**<br>`kirby-field`<br>`kirby-tag`
|
68 |
| KodiCMS | `kodicms-plugin`<br>`kodicms-media`
|
69 |
| Kohana | **`kohana-module`**
|
70 |
+
| Lan Management System | `lms-plugin`<br>`lms-template`<br>`lms-document-template`<br>`lms-userpanel-module`
|
71 |
| Laravel | `laravel-library`
|
72 |
| Lavalite | `lavalite-theme`<br>`lavalite-package`
|
73 |
| Lithium | **`lithium-library`<br>`lithium-source`**
|
80 |
| October | **`october-module`<br>`october-plugin`<br>`october-theme`**
|
81 |
| OntoWiki | `ontowiki-extension`<br>`ontowiki-theme`<br>`ontowiki-translation`
|
82 |
| OXID | `oxid-module`<br>`oxid-theme`<br>`oxid-out`
|
83 |
+
| Osclass | `osclass-plugin`<br>`osclass-theme`<br>`osclass-language`
|
84 |
| MODULEWork | `modulework-module`
|
85 |
| Moodle | `moodle-*` (Please [check source](https://raw.githubusercontent.com/composer/installers/master/src/Composer/Installers/MoodleInstaller.php) for all supported types)
|
86 |
| Piwik | `piwik-plugin`
|
102 |
| Tusk | `tusk-task`<br>`tusk-command`<br>`tusk-asset`
|
103 |
| TYPO3 Flow | `typo3-flow-package`<br>`typo3-flow-framework`<br>`typo3-flow-plugin`<br>`typo3-flow-site`<br>`typo3-flow-boilerplate`<br>`typo3-flow-build`
|
104 |
| TYPO3 CMS | `typo3-cms-extension` (Deprecated in this package, use the [TYPO3 CMS Installers](https://packagist.org/packages/typo3/cms-composer-installers) instead)
|
105 |
+
| UserFrosting | `userfrosting-sprinkle`
|
106 |
| Vanilla | `vanilla-plugin`<br>`vanilla-theme`
|
107 |
| Vgmcp | `vgmcp-bundle`<br>`vgmcp-theme`
|
108 |
| Wolf CMS | `wolfcms-plugin`
|
vendor/composer/installers/_config.yml
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
theme: jekyll-theme-cayman
|
vendor/composer/installers/composer.json
CHANGED
@@ -23,6 +23,7 @@
|
|
23 |
"Elgg",
|
24 |
"Eliasis",
|
25 |
"ExpressionEngine",
|
|
|
26 |
"FuelPHP",
|
27 |
"Grav",
|
28 |
"Hurad",
|
@@ -31,6 +32,7 @@
|
|
31 |
"Joomla",
|
32 |
"Kanboard",
|
33 |
"Kohana",
|
|
|
34 |
"Laravel",
|
35 |
"Lavalite",
|
36 |
"Lithium",
|
@@ -41,6 +43,7 @@
|
|
41 |
"MODX Evo",
|
42 |
"MediaWiki",
|
43 |
"OXID",
|
|
|
44 |
"MODULEWork",
|
45 |
"Moodle",
|
46 |
"Piwik",
|
23 |
"Elgg",
|
24 |
"Eliasis",
|
25 |
"ExpressionEngine",
|
26 |
+
"eZ Platform",
|
27 |
"FuelPHP",
|
28 |
"Grav",
|
29 |
"Hurad",
|
32 |
"Joomla",
|
33 |
"Kanboard",
|
34 |
"Kohana",
|
35 |
+
"Lan Management System",
|
36 |
"Laravel",
|
37 |
"Lavalite",
|
38 |
"Lithium",
|
43 |
"MODX Evo",
|
44 |
"MediaWiki",
|
45 |
"OXID",
|
46 |
+
"osclass",
|
47 |
"MODULEWork",
|
48 |
"Moodle",
|
49 |
"Piwik",
|
vendor/composer/installers/src/Composer/Installers/EzPlatformInstaller.php
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Composer\Installers;
|
3 |
+
|
4 |
+
class EzPlatformInstaller extends BaseInstaller
|
5 |
+
{
|
6 |
+
protected $locations = array(
|
7 |
+
'meta-assets' => 'web/assets/ezplatform/',
|
8 |
+
'assets' => 'web/assets/ezplatform/{$name}/',
|
9 |
+
);
|
10 |
+
}
|
vendor/composer/installers/src/Composer/Installers/Installer.php
CHANGED
@@ -37,6 +37,7 @@ class Installer extends LibraryInstaller
|
|
37 |
'eliasis' => 'EliasisInstaller',
|
38 |
'ee3' => 'ExpressionEngineInstaller',
|
39 |
'ee2' => 'ExpressionEngineInstaller',
|
|
|
40 |
'fuel' => 'FuelInstaller',
|
41 |
'fuelphp' => 'FuelphpInstaller',
|
42 |
'grav' => 'GravInstaller',
|
@@ -48,6 +49,7 @@ class Installer extends LibraryInstaller
|
|
48 |
'kirby' => 'KirbyInstaller',
|
49 |
'kodicms' => 'KodiCMSInstaller',
|
50 |
'kohana' => 'KohanaInstaller',
|
|
|
51 |
'laravel' => 'LaravelInstaller',
|
52 |
'lavalite' => 'LavaLiteInstaller',
|
53 |
'lithium' => 'LithiumInstaller',
|
@@ -63,6 +65,7 @@ class Installer extends LibraryInstaller
|
|
63 |
'october' => 'OctoberInstaller',
|
64 |
'ontowiki' => 'OntoWikiInstaller',
|
65 |
'oxid' => 'OxidInstaller',
|
|
|
66 |
'phpbb' => 'PhpBBInstaller',
|
67 |
'pimcore' => 'PimcoreInstaller',
|
68 |
'piwik' => 'PiwikInstaller',
|
@@ -84,6 +87,7 @@ class Installer extends LibraryInstaller
|
|
84 |
'tusk' => 'TuskInstaller',
|
85 |
'typo3-cms' => 'TYPO3CmsInstaller',
|
86 |
'typo3-flow' => 'TYPO3FlowInstaller',
|
|
|
87 |
'vanilla' => 'VanillaInstaller',
|
88 |
'whmcs' => 'WHMCSInstaller',
|
89 |
'wolfcms' => 'WolfCMSInstaller',
|
37 |
'eliasis' => 'EliasisInstaller',
|
38 |
'ee3' => 'ExpressionEngineInstaller',
|
39 |
'ee2' => 'ExpressionEngineInstaller',
|
40 |
+
'ezplatform' => 'EzPlatformInstaller',
|
41 |
'fuel' => 'FuelInstaller',
|
42 |
'fuelphp' => 'FuelphpInstaller',
|
43 |
'grav' => 'GravInstaller',
|
49 |
'kirby' => 'KirbyInstaller',
|
50 |
'kodicms' => 'KodiCMSInstaller',
|
51 |
'kohana' => 'KohanaInstaller',
|
52 |
+
'lms' => 'LanManagementSystemInstaller',
|
53 |
'laravel' => 'LaravelInstaller',
|
54 |
'lavalite' => 'LavaLiteInstaller',
|
55 |
'lithium' => 'LithiumInstaller',
|
65 |
'october' => 'OctoberInstaller',
|
66 |
'ontowiki' => 'OntoWikiInstaller',
|
67 |
'oxid' => 'OxidInstaller',
|
68 |
+
'osclass' => 'OsclassInstaller',
|
69 |
'phpbb' => 'PhpBBInstaller',
|
70 |
'pimcore' => 'PimcoreInstaller',
|
71 |
'piwik' => 'PiwikInstaller',
|
87 |
'tusk' => 'TuskInstaller',
|
88 |
'typo3-cms' => 'TYPO3CmsInstaller',
|
89 |
'typo3-flow' => 'TYPO3FlowInstaller',
|
90 |
+
'userfrosting' => 'UserFrostingInstaller',
|
91 |
'vanilla' => 'VanillaInstaller',
|
92 |
'whmcs' => 'WHMCSInstaller',
|
93 |
'wolfcms' => 'WolfCMSInstaller',
|
vendor/composer/installers/src/Composer/Installers/LanManagementSystemInstaller.php
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
namespace Composer\Installers;
|
4 |
+
|
5 |
+
class LanManagementSystemInstaller extends BaseInstaller
|
6 |
+
{
|
7 |
+
|
8 |
+
protected $locations = array(
|
9 |
+
'plugin' => 'plugins/{$name}/',
|
10 |
+
'template' => 'templates/{$name}/',
|
11 |
+
'document-template' => 'documents/templates/{$name}/',
|
12 |
+
'userpanel-module' => 'userpanel/modules/{$name}/',
|
13 |
+
);
|
14 |
+
|
15 |
+
/**
|
16 |
+
* Format package name to CamelCase
|
17 |
+
*/
|
18 |
+
public function inflectPackageVars($vars)
|
19 |
+
{
|
20 |
+
$vars['name'] = strtolower(preg_replace('/(?<=\\w)([A-Z])/', '_\\1', $vars['name']));
|
21 |
+
$vars['name'] = str_replace(array('-', '_'), ' ', $vars['name']);
|
22 |
+
$vars['name'] = str_replace(' ', '', ucwords($vars['name']));
|
23 |
+
|
24 |
+
return $vars;
|
25 |
+
}
|
26 |
+
|
27 |
+
}
|
vendor/composer/installers/src/Composer/Installers/LavaLiteInstaller.php
CHANGED
@@ -4,7 +4,7 @@ namespace Composer\Installers;
|
|
4 |
class LavaLiteInstaller extends BaseInstaller
|
5 |
{
|
6 |
protected $locations = array(
|
7 |
-
'package' => 'packages/{$name}/',
|
8 |
'theme' => 'public/themes/{$name}/',
|
9 |
);
|
10 |
}
|
4 |
class LavaLiteInstaller extends BaseInstaller
|
5 |
{
|
6 |
protected $locations = array(
|
7 |
+
'package' => 'packages/{$vendor}/{$name}/',
|
8 |
'theme' => 'public/themes/{$name}/',
|
9 |
);
|
10 |
}
|
vendor/composer/installers/src/Composer/Installers/OsclassInstaller.php
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Composer\Installers;
|
3 |
+
|
4 |
+
|
5 |
+
class OsclassInstaller extends BaseInstaller
|
6 |
+
{
|
7 |
+
|
8 |
+
protected $locations = array(
|
9 |
+
'plugin' => 'oc-content/plugins/{$name}/',
|
10 |
+
'theme' => 'oc-content/themes/{$name}/',
|
11 |
+
'language' => 'oc-content/languages/{$name}/',
|
12 |
+
);
|
13 |
+
|
14 |
+
}
|
vendor/composer/installers/src/Composer/Installers/UserFrostingInstaller.php
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
namespace Composer\Installers;
|
3 |
+
|
4 |
+
class UserFrostingInstaller extends BaseInstaller
|
5 |
+
{
|
6 |
+
protected $locations = array(
|
7 |
+
'sprinkle' => 'app/sprinkles/{$name}/',
|
8 |
+
);
|
9 |
+
}
|
vendor/composer/installers/tests/Composer/Installers/Test/InstallerTest.php
CHANGED
@@ -124,6 +124,8 @@ class InstallerTest extends TestCase
|
|
124 |
array('ee2-addon', true),
|
125 |
array('elgg-plugin', true),
|
126 |
array('eliasis-module', true),
|
|
|
|
|
127 |
array('fuel-module', true),
|
128 |
array('fuel-package', true),
|
129 |
array('fuel-theme', true),
|
@@ -138,6 +140,10 @@ class InstallerTest extends TestCase
|
|
138 |
array('kanboard-plugin', true),
|
139 |
array('kirby-plugin', true),
|
140 |
array('kohana-module', true),
|
|
|
|
|
|
|
|
|
141 |
array('laravel-library', true),
|
142 |
array('lavalite-theme', true),
|
143 |
array('lavalite-package', true),
|
@@ -192,6 +198,7 @@ class InstallerTest extends TestCase
|
|
192 |
array('tusk-asset', true),
|
193 |
array('typo3-flow-plugin', true),
|
194 |
array('typo3-cms-extension', true),
|
|
|
195 |
array('vanilla-plugin', true),
|
196 |
array('vanilla-theme', true),
|
197 |
array('whmcs-gateway', true),
|
@@ -207,6 +214,9 @@ class InstallerTest extends TestCase
|
|
207 |
array('phifty-bundle', true),
|
208 |
array('phifty-library', true),
|
209 |
array('phifty-framework', true),
|
|
|
|
|
|
|
210 |
);
|
211 |
}
|
212 |
|
@@ -272,6 +282,8 @@ class InstallerTest extends TestCase
|
|
272 |
array('ee3-theme', 'themes/user/ee_package/', 'author/ee_package'),
|
273 |
array('ee2-addon', 'system/expressionengine/third_party/ee_theme/', 'author/ee_theme'),
|
274 |
array('ee2-theme', 'themes/third_party/ee_package/', 'author/ee_package'),
|
|
|
|
|
275 |
array('fuel-module', 'fuel/app/modules/module/', 'fuel/module'),
|
276 |
array('fuel-package', 'fuel/packages/orm/', 'fuel/orm'),
|
277 |
array('fuel-theme', 'fuel/app/themes/theme/', 'fuel/theme'),
|
@@ -286,9 +298,17 @@ class InstallerTest extends TestCase
|
|
286 |
array('kanboard-plugin', 'plugins/my_plugin/', 'shama/my_plugin'),
|
287 |
array('kirby-plugin', 'site/plugins/my_plugin/', 'shama/my_plugin'),
|
288 |
array('kohana-module', 'modules/my_package/', 'shama/my_package'),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
289 |
array('laravel-library', 'libraries/my_package/', 'shama/my_package'),
|
290 |
array('lavalite-theme', 'public/themes/my_theme/', 'shama/my_theme'),
|
291 |
-
array('lavalite-package', 'packages/my_package/', '
|
292 |
array('lithium-library', 'libraries/li3_test/', 'user/li3_test'),
|
293 |
array('magento-library', 'lib/foo/', 'test/foo'),
|
294 |
array('modxevo-snippet', 'assets/snippets/my_snippet/', 'shama/my_snippet'),
|
@@ -351,6 +371,7 @@ class InstallerTest extends TestCase
|
|
351 |
array('typo3-flow-package', 'Packages/Application/my_package/', 'shama/my_package'),
|
352 |
array('typo3-flow-build', 'Build/my_package/', 'shama/my_package'),
|
353 |
array('typo3-cms-extension', 'typo3conf/ext/my_extension/', 'shama/my_extension'),
|
|
|
354 |
array('vanilla-plugin', 'plugins/my_plugin/', 'shama/my_plugin'),
|
355 |
array('vanilla-theme', 'themes/my_theme/', 'shama/my_theme'),
|
356 |
array('whmcs-gateway', 'modules/gateways/gateway_name/', 'vendor/gateway_name'),
|
@@ -366,6 +387,9 @@ class InstallerTest extends TestCase
|
|
366 |
array('phifty-library', 'libraries/my-lib/', 'shama/my-lib'),
|
367 |
array('phifty-framework', 'frameworks/my-framework/', 'shama/my-framework'),
|
368 |
array('yawik-module', 'module/MyModule/', 'shama/my_module'),
|
|
|
|
|
|
|
369 |
);
|
370 |
}
|
371 |
|
124 |
array('ee2-addon', true),
|
125 |
array('elgg-plugin', true),
|
126 |
array('eliasis-module', true),
|
127 |
+
array('ezplatform-assets', true),
|
128 |
+
array('ezplatform-meta-assets', true),
|
129 |
array('fuel-module', true),
|
130 |
array('fuel-package', true),
|
131 |
array('fuel-theme', true),
|
140 |
array('kanboard-plugin', true),
|
141 |
array('kirby-plugin', true),
|
142 |
array('kohana-module', true),
|
143 |
+
array('lms-plugin', true),
|
144 |
+
array('lms-template', true),
|
145 |
+
array('lms-document-template', true),
|
146 |
+
array('lms-userpanel-module', true),
|
147 |
array('laravel-library', true),
|
148 |
array('lavalite-theme', true),
|
149 |
array('lavalite-package', true),
|
198 |
array('tusk-asset', true),
|
199 |
array('typo3-flow-plugin', true),
|
200 |
array('typo3-cms-extension', true),
|
201 |
+
array('userfrosting-sprinkle', true),
|
202 |
array('vanilla-plugin', true),
|
203 |
array('vanilla-theme', true),
|
204 |
array('whmcs-gateway', true),
|
214 |
array('phifty-bundle', true),
|
215 |
array('phifty-library', true),
|
216 |
array('phifty-framework', true),
|
217 |
+
array('osclass-plugin', true),
|
218 |
+
array('osclass-theme', true),
|
219 |
+
array('osclass-language', true),
|
220 |
);
|
221 |
}
|
222 |
|
282 |
array('ee3-theme', 'themes/user/ee_package/', 'author/ee_package'),
|
283 |
array('ee2-addon', 'system/expressionengine/third_party/ee_theme/', 'author/ee_theme'),
|
284 |
array('ee2-theme', 'themes/third_party/ee_package/', 'author/ee_package'),
|
285 |
+
array('ezplatform-assets', 'web/assets/ezplatform/ezplatform_comp/', 'author/ezplatform_comp'),
|
286 |
+
array('ezplatform-meta-assets', 'web/assets/ezplatform/', 'author/ezplatform_comp'),
|
287 |
array('fuel-module', 'fuel/app/modules/module/', 'fuel/module'),
|
288 |
array('fuel-package', 'fuel/packages/orm/', 'fuel/orm'),
|
289 |
array('fuel-theme', 'fuel/app/themes/theme/', 'fuel/theme'),
|
298 |
array('kanboard-plugin', 'plugins/my_plugin/', 'shama/my_plugin'),
|
299 |
array('kirby-plugin', 'site/plugins/my_plugin/', 'shama/my_plugin'),
|
300 |
array('kohana-module', 'modules/my_package/', 'shama/my_package'),
|
301 |
+
array('lms-plugin', 'plugins/MyPackage/', 'shama/MyPackage'),
|
302 |
+
array('lms-plugin', 'plugins/MyPackage/', 'shama/my_package'),
|
303 |
+
array('lms-template', 'templates/MyPackage/', 'shama/MyPackage'),
|
304 |
+
array('lms-template', 'templates/MyPackage/', 'shama/my_package'),
|
305 |
+
array('lms-document-template', 'documents/templates/MyPackage/', 'shama/MyPackage'),
|
306 |
+
array('lms-document-template', 'documents/templates/MyPackage/', 'shama/my_package'),
|
307 |
+
array('lms-userpanel-module', 'userpanel/modules/MyPackage/', 'shama/MyPackage'),
|
308 |
+
array('lms-userpanel-module', 'userpanel/modules/MyPackage/', 'shama/my_package'),
|
309 |
array('laravel-library', 'libraries/my_package/', 'shama/my_package'),
|
310 |
array('lavalite-theme', 'public/themes/my_theme/', 'shama/my_theme'),
|
311 |
+
array('lavalite-package', 'packages/my_group/my_package/', 'my_group/my_package'),
|
312 |
array('lithium-library', 'libraries/li3_test/', 'user/li3_test'),
|
313 |
array('magento-library', 'lib/foo/', 'test/foo'),
|
314 |
array('modxevo-snippet', 'assets/snippets/my_snippet/', 'shama/my_snippet'),
|
371 |
array('typo3-flow-package', 'Packages/Application/my_package/', 'shama/my_package'),
|
372 |
array('typo3-flow-build', 'Build/my_package/', 'shama/my_package'),
|
373 |
array('typo3-cms-extension', 'typo3conf/ext/my_extension/', 'shama/my_extension'),
|
374 |
+
array('userfrosting-sprinkle', 'app/sprinkles/my_sprinkle/', 'shama/my_sprinkle'),
|
375 |
array('vanilla-plugin', 'plugins/my_plugin/', 'shama/my_plugin'),
|
376 |
array('vanilla-theme', 'themes/my_theme/', 'shama/my_theme'),
|
377 |
array('whmcs-gateway', 'modules/gateways/gateway_name/', 'vendor/gateway_name'),
|
387 |
array('phifty-library', 'libraries/my-lib/', 'shama/my-lib'),
|
388 |
array('phifty-framework', 'frameworks/my-framework/', 'shama/my-framework'),
|
389 |
array('yawik-module', 'module/MyModule/', 'shama/my_module'),
|
390 |
+
array('osclass-plugin', 'oc-content/plugins/sample_plugin/', 'test/sample_plugin'),
|
391 |
+
array('osclass-theme', 'oc-content/themes/sample_theme/', 'test/sample_theme'),
|
392 |
+
array('osclass-language', 'oc-content/languages/sample_lang/', 'test/sample_lang'),
|
393 |
);
|
394 |
}
|
395 |
|