Merge lp:~mthaddon/wordpress/wp-theme-xubuntu-website into lp:~canonical-sysadmins/wordpress/wp-theme-xubuntu-website
- wp-theme-xubuntu-website
- Merge into wp-theme-xubuntu-website
Proposed by
Tom Haddon
Status: | Merged |
---|---|
Merged at revision: | 108 |
Proposed branch: | lp:~mthaddon/wordpress/wp-theme-xubuntu-website |
Merge into: | lp:~canonical-sysadmins/wordpress/wp-theme-xubuntu-website |
Diff against target: |
770 lines (+468/-51) 13 files modified
xubuntu-fifteen/content-release.php (+49/-34) xubuntu-fifteen/content-releases-landing.php (+40/-0) xubuntu-fifteen/functions-features-release-links.php (+6/-3) xubuntu-fifteen/functions-features-release-mirrors.php (+216/-0) xubuntu-fifteen/functions-features-releases.php (+103/-10) xubuntu-fifteen/functions.php (+1/-0) xubuntu-fifteen/header.php (+1/-1) xubuntu-fifteen/index.php (+3/-1) xubuntu-fifteen/script-releases.js (+10/-1) xubuntu-fifteen/style-admin.css (+8/-0) xubuntu-fifteen/style-common.css (+2/-0) xubuntu-fifteen/style.css (+27/-1) xubuntu-fifteen/template-releases-landing.php (+2/-0) |
To merge this branch: | bzr merge lp:~mthaddon/wordpress/wp-theme-xubuntu-website |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Gareth Woolridge | Approve | ||
Review via email: mp+313430@code.launchpad.net |
Commit message
Description of the change
Merge per u#29426: Update Xubuntu.org themes
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'xubuntu-fifteen/content-release.php' |
2 | --- xubuntu-fifteen/content-release.php 2016-12-14 23:41:34 +0000 |
3 | +++ xubuntu-fifteen/content-release.php 2016-12-16 13:23:31 +0000 |
4 | @@ -1,58 +1,71 @@ |
5 | <?php |
6 | + // Get release information |
7 | $release = get_term_by( 'slug', get_query_var( 'release' ), 'release', OBJECT ); |
8 | $release_meta = get_option( 'taxonomy_term_' . $release->term_id ); |
9 | |
10 | + // Get release timestamp |
11 | if( isset( $release_meta['release_date'] ) && $release_meta['release_date'] > 0 ) { |
12 | list( $year, $month, $day ) = explode( '-', $release_meta['release_date'] ); |
13 | $release_time = gmmktime( 0, 0, 0, $month, $day, $year ); |
14 | } |
15 | + // Get EOL timestamp |
16 | if( isset( $release_meta['release_eol'] ) && $release_meta['release_eol'] > 0 ) { |
17 | list( $year, $month, $day ) = explode( '-', $release_meta['release_eol'] ); |
18 | $eol_time = gmmktime( 0, 0, 1, $month, $day, $year ); |
19 | } |
20 | - |
21 | - echo '<h1 class="post-title">Xubuntu ' . single_term_title( '', false ) . '</h1>'; |
22 | - if( strlen( $release_meta['release_codename'] ) > 0 || isset( $release_time ) || isset( $eol_time ) ) { |
23 | +?> |
24 | + |
25 | +<h1 class="post-title">Xubuntu <?php echo single_term_title( '', false ); ?></h1> |
26 | +<?php echo wpautop( $release->description ); ?> |
27 | + |
28 | +<?php |
29 | + // Release information |
30 | + $info = ''; |
31 | + if( strlen( $release_meta['release_codename'] ) > 0 ) { |
32 | + $info .= '<dt>' . __( 'Codename', 'xubuntu' ) . '</dt><dd>' . $release_meta['release_codename'] . '</dd>'; |
33 | + } |
34 | + if( isset( $release_time ) ) { |
35 | + $info .= '<dt>' . __( 'Release Date', 'xubuntu' ) . '</dt><dd>' . gmdate( 'F j, Y', $release_time ) . '</dd>'; |
36 | + } |
37 | + if( isset( $eol_time ) ) { |
38 | + $info .= '<dt>' . __( 'End of Life', 'xubuntu' ) . '</dt><dd>' . gmdate( 'F j, Y', $eol_time ) . '</dd>'; |
39 | + } |
40 | + |
41 | + // Release links |
42 | + if( isset( $release_meta['release_torrent_64bit'] ) ) { |
43 | + $info_links[] = '<strong><a href="' . $release_meta['release_torrent_64bit'] . '">' . __( 'Torrent download for 64-bit systems', 'xubuntu' ) . '</a></strong>'; |
44 | + } |
45 | + if( isset( $release_meta['release_torrent_32bit'] ) ) { |
46 | + $info_links[] = '<strong><a href="' . $release_meta['release_torrent_32bit'] . '">' . __( 'Torrent download for 32-bit systems', 'xubuntu' ) . '</a></strong>'; |
47 | + } |
48 | + if( isset( $release_meta['release_documentation_link'] ) ) { |
49 | + $info_links[] = '<a href="' . $release_meta['release_documentation_link'] . '">' . __( 'Online Documentation', 'xubuntu' ) . '</a>'; |
50 | + } |
51 | + if( isset( $info_links ) ) { |
52 | + $info .= '<dt>' . __( 'Release Links', 'xubuntu' ) . '</dt><dd>' . implode( $info_links, '<br />' ) . '</dd>'; |
53 | + } |
54 | + |
55 | + if( strlen( $info ) > 0 ) { |
56 | echo '<dl class="release-info group">'; |
57 | - if( strlen( $release_meta['release_codename'] ) > 0 ) { |
58 | - echo '<dt>' . __( 'Codename', 'xubuntu' ) . '</dt><dd>' . $release_meta['release_codename'] . '</dd>'; |
59 | - } |
60 | - if( isset( $release_time ) ) { |
61 | - echo '<dt>' . __( 'Release Date', 'xubuntu' ) . '</dt><dd>' . gmdate( 'F j, Y', $release_time ) . '</dd>'; |
62 | - } |
63 | - if( isset( $eol_time ) ) { |
64 | - echo '<dt>' . __( 'End of Life', 'xubuntu' ) . '</dt><dd>' . gmdate( 'F j, Y', $eol_time ) . '</dd>'; |
65 | - } |
66 | + echo $info; |
67 | echo '</dl>'; |
68 | } |
69 | - |
70 | - echo wpautop( $release->description ); |
71 | ?> |
72 | |
73 | <?php |
74 | - $official_links = release_link_list( array( 'official', 'official-expiring' ), $release->term_id ); |
75 | - |
76 | - if( $official_links ) { |
77 | - $output_links = array( ); |
78 | - |
79 | - foreach( $official_links as $official_link ) { |
80 | - $meta = get_post_meta( $official_link->ID ); |
81 | - if( ( $meta['link_type'][0] == 'official-expiring' && time( ) <= $eol_time ) || $meta['link_type'][0] == 'official' ) { |
82 | - $output_links[] = '<li><strong><a href="' . $meta['link_url'][0] . '">' . $official_link->post_title . '</a></strong></li>'; |
83 | - } |
84 | - } |
85 | - |
86 | - if( count( $output_links ) > 0 ) { |
87 | - echo '<h2>' . __( 'Official Links', 'xubuntu' ) . '</h2>'; |
88 | - echo '<ul class="link-list">'; |
89 | - foreach( $output_links as $link ) { |
90 | - echo $link; |
91 | - } |
92 | - echo '</ul>'; |
93 | + // Direct download links |
94 | + if( $eol_time > time( ) ) { |
95 | + if( shortcode_exists( 'mirrors' ) ) { |
96 | + $mirrors = do_shortcode( '[mirrors release=' . $release->name . ']' ); |
97 | + if( isset( $mirrors ) ) { |
98 | + echo '<h2>' . __( 'Direct Downloads', 'xubuntu' ) . '</h2>'; |
99 | + echo $mirrors; |
100 | + } |
101 | } |
102 | } |
103 | ?> |
104 | |
105 | +<?php // Articles ?> |
106 | <?php if( have_posts( ) ) { ?> |
107 | <h2><?php _e( 'Articles', 'xubuntu' ); ?></h2> |
108 | <ul class="posts-list"> |
109 | @@ -69,6 +82,7 @@ |
110 | <?php } ?> |
111 | |
112 | <?php |
113 | + // Press links |
114 | $press_links = release_link_list( 'press', $release->term_id ); |
115 | if( $press_links ) { |
116 | echo '<h2>' . __( 'In the Press', 'xubuntu' ) . '</h2>'; |
117 | @@ -77,6 +91,7 @@ |
118 | ?> |
119 | |
120 | <?php |
121 | + // Attachments, usually screenshots |
122 | $attachments = get_posts( array( |
123 | 'post_type' => 'attachment', |
124 | 'posts_per_page' => -1, |
125 | @@ -99,4 +114,4 @@ |
126 | echo '<h2>' . __( 'Screenshots', 'xubuntu' ) . '</h2>'; |
127 | echo do_shortcode( '[gallery size="xubuntu_split_to_3" link="file" ids="' . $gallery_ids . '"]' ); |
128 | } |
129 | -?> |
130 | +?> |
131 | \ No newline at end of file |
132 | |
133 | === added file 'xubuntu-fifteen/content-releases-landing.php' |
134 | --- xubuntu-fifteen/content-releases-landing.php 1970-01-01 00:00:00 +0000 |
135 | +++ xubuntu-fifteen/content-releases-landing.php 2016-12-16 13:23:31 +0000 |
136 | @@ -0,0 +1,40 @@ |
137 | +<?php while( have_posts( ) ) { ?> |
138 | + <?php the_post( ); ?> |
139 | + <div <?php post_class( 'group' ) ?> id="post-<?php the_ID( ); ?>"> |
140 | + <?php if( !is_front_page( ) ) { ?> |
141 | + <?php if( !is_page( ) ) { ?> |
142 | + <h1 class="post-title"><a href="<?php the_permalink( ); ?>"><?php the_title( ); ?></a></h1> |
143 | + <?php } else { ?> |
144 | + <h1 class="post-title"><?php the_title( ); ?></h1> |
145 | + <?php } ?> |
146 | + <?php } ?> |
147 | + |
148 | + <div class="post-post"> |
149 | + <div class="post-entry entry"> |
150 | + <?php the_content( __( 'Read the rest of this entry »', 'xubuntu' ) ); ?> |
151 | + </div> |
152 | + </div> |
153 | + </div> |
154 | +<?php } ?> |
155 | + |
156 | +<?php |
157 | + $releases = release_taxonomy_get_releases_sorted( ); |
158 | + |
159 | + if( is_array( $releases ) ) { |
160 | + $date_now = new DateTime( 'now' ); |
161 | + foreach( $releases as $release ) { |
162 | + $release_meta = get_option( 'taxonomy_term_' . $release->term_id ); |
163 | + $date_release = new DateTime( $release_meta['release_date'] ); |
164 | + |
165 | + if( strlen( $release_meta['release_codename'] ) > 0 ) { |
166 | + $release->name .= ' (' . $release_meta['release_codename'] . ')'; |
167 | + } |
168 | + if( $release->release_is_eol == 0 && $date_release->format( 'Ymd' ) <= $date_now->format( 'Ymd' ) ) { |
169 | + $date_eol = new DateTime( $release_meta['release_eol'] ); |
170 | + echo '<h2>Xubuntu ' . $release->name . '</h2>'; |
171 | + echo wpautop( $release->description ); |
172 | + echo '<p><a class="button primary" href="' . get_term_link( $release ) . '">' . __( 'Visit the release page', 'xubuntu' ) . '</a></p>'; |
173 | + } |
174 | + } |
175 | + } |
176 | +?> |
177 | \ No newline at end of file |
178 | |
179 | === modified file 'xubuntu-fifteen/functions-features-release-links.php' |
180 | --- xubuntu-fifteen/functions-features-release-links.php 2016-12-14 23:41:34 +0000 |
181 | +++ xubuntu-fifteen/functions-features-release-links.php 2016-12-16 13:23:31 +0000 |
182 | @@ -49,7 +49,6 @@ |
183 | add_meta_box( 'release_link_type', _x( 'Link Type', 'meta box title', 'xubuntu' ), 'release_link_meta_box_link_type', 'release_link', 'normal', 'high' ); |
184 | add_meta_box( 'release_link_link', _x( 'Link', 'meta box title', 'xubuntu' ), 'release_link_meta_box_link', 'release_link', 'normal', 'high' ); |
185 | add_meta_box( 'release_link_author', _x( 'Author', 'meta box title', 'xubuntu' ), 'release_link_meta_box_author', 'release_link', 'normal' ); |
186 | - |
187 | } |
188 | |
189 | function release_link_meta_box_link_type( $post, $box ) { |
190 | @@ -74,7 +73,6 @@ |
191 | |
192 | echo '<p><input type="text" class="widefat" name="link_title" placeholder="' . _x( 'Review of the latest Xubuntu release – awesome!', 'placeholder text', 'xubuntu' ) . '" value="' . $link_title . '" /></p>'; |
193 | echo '<p><input type="text" class="widefat" name="link_url" placeholder="' . _x( 'http://example.com/xubuntu-review/', 'placeholder text', 'xubuntu' ) . '" value="' . $link_url . '" /></p>'; |
194 | - echo '</label></p>'; |
195 | } |
196 | |
197 | function release_link_meta_box_author( $post, $box ) { |
198 | @@ -237,6 +235,7 @@ |
199 | } |
200 | |
201 | $releases = get_terms( 'release', $args ); |
202 | + usort( $releases, 'release_taxonomy_release_usort' ); |
203 | $navi = ''; |
204 | $links_out = ''; |
205 | |
206 | @@ -245,7 +244,11 @@ |
207 | if( count( $links ) > 0 ) { |
208 | $release_meta = get_option( 'taxonomy_term_' . $release->term_id ); |
209 | $navi .= '<a class="button" href="#' . $release->slug . '">' . $release->name . '</a>'; |
210 | - $links_out .= '<h2 id="' . $release->slug . '">' . $release->name . ' (' . $release_meta['release_codename'] . ')</h2>' . release_link_press_output( $links ); |
211 | + $links_out .= '<h2 id="' . $release->slug . '">' . $release->name; |
212 | + if( strlen( $release_meta['release_codename'] ) > 0 ) { |
213 | + $links_out .= ' (' . $release_meta['release_codename'] . ')'; |
214 | + } |
215 | + $links_out .= '</h2>' . release_link_press_output( $links ); |
216 | } |
217 | } |
218 | |
219 | |
220 | === added file 'xubuntu-fifteen/functions-features-release-mirrors.php' |
221 | --- xubuntu-fifteen/functions-features-release-mirrors.php 1970-01-01 00:00:00 +0000 |
222 | +++ xubuntu-fifteen/functions-features-release-mirrors.php 2016-12-16 13:23:31 +0000 |
223 | @@ -0,0 +1,216 @@ |
224 | +<?php |
225 | + |
226 | +/* |
227 | + * Register the release download mirror post type |
228 | + * |
229 | + */ |
230 | + |
231 | +add_action( 'init', 'release_download_mirror_register' ); |
232 | + |
233 | +function release_download_mirror_register( ) { |
234 | + register_post_type( |
235 | + 'download_mirror', |
236 | + array( |
237 | + 'label' => _x( 'Download Mirrors', 'post type label', 'xubuntu' ), |
238 | + 'labels' => array( |
239 | + 'name' => _x( 'Download Mirrors', 'post type label: name', 'xubuntu' ), |
240 | + 'singular_name' => _x( 'Download Mirror', 'post type label: singular_name', 'xubuntu' ), |
241 | + 'add_new_item' => _x( 'Add New Download Mirror', 'post type label: add_new_item', 'xubuntu' ), |
242 | + 'edit_item' => _x( 'Edit Download Mirror', 'post type label: edit_item', 'xubuntu' ), |
243 | + 'view_item' => _x( 'View Download Mirror', 'post type label: view_item', 'xubuntu' ), |
244 | + 'search_items' => _x( 'Search Download Mirrors', 'post type label: search_items', 'xubuntu' ), |
245 | + 'not_found' => _x( 'No download mirrors found.', 'post type label: not_found', 'xubuntu' ), |
246 | + 'all_items' => _x( 'All Download Mirrors', 'post type label: all_items', 'xubuntu' ), |
247 | + 'menu_name' => _x( 'DL Mirrors', 'post type label: menu_name', 'xubuntu' ), |
248 | + ), |
249 | + 'description' => _x( 'Xubuntu Download Mirrors', 'post type description', 'xubuntu' ), |
250 | + 'public' => false, |
251 | + 'show_ui' => true, |
252 | + 'show_in_menu' => true, |
253 | + 'menu_position' => 21, |
254 | + 'menu_icon' => 'dashicons-download', |
255 | + 'supports' => false, |
256 | + /* 'taxonomies' => array( |
257 | + 'release' |
258 | + ), */ |
259 | + 'rewrite' => false, |
260 | + 'query_var' => false |
261 | + ) |
262 | + ); |
263 | +} |
264 | + |
265 | +/* |
266 | + * Add meta boxes for the post type |
267 | + * |
268 | + */ |
269 | + |
270 | +add_action( 'add_meta_boxes', 'release_download_mirror_add_meta_boxes' ); |
271 | + |
272 | +function release_download_mirror_add_meta_boxes( ) { |
273 | + add_meta_box( 'release_download_mirror_info', _x( 'Mirror Information', 'meta box title', 'xubuntu' ), 'release_download_mirror_meta_box_info', 'download_mirror', 'normal', 'high' ); |
274 | + add_meta_box( 'release_download_mirror_location', _x( 'Mirror Location', 'meta box title', 'xubuntu' ), 'release_download_mirror_meta_box_location', 'download_mirror', 'normal' ); |
275 | + add_meta_box( 'release_download_mirror_link_template', _x( 'Mirror Link Template', 'meta box title', 'xubuntu' ), 'release_download_mirror_meta_box_link_template', 'download_mirror', 'normal' ); |
276 | + add_meta_box( 'release_download_mirror_activity', _x( 'Activity', 'meta box title', 'xubuntu' ), 'release_download_mirror_meta_box_activity', 'download_mirror', 'side' ); |
277 | +} |
278 | + |
279 | +function release_download_mirror_meta_box_info( $post, $box ) { |
280 | + $mirror_name = get_post_meta( $post->ID, 'mirror_name', true ); |
281 | + $mirror_lp_url = get_post_meta( $post->ID, 'mirror_lp_url', true ); |
282 | + |
283 | + echo '<p><input type="text" class="widefat" name="mirror_name" placeholder="' . _x( 'University of Mirrors', 'placeholder text', 'xubuntu' ) . '" value="' . $mirror_name . '" /></p>'; |
284 | + echo '<p><input type="text" class="widefat" name="mirror_lp_url" placeholder="' . _x( 'https://launchpad.net/ubuntu/+mirror/ubuntu.mirror.university-release', 'placeholder text', 'xubuntu' ) . '" value="' . $mirror_lp_url . '" /></p>'; |
285 | +} |
286 | + |
287 | +function release_download_mirror_meta_box_location( $post, $box ) { |
288 | + $mirror_area = get_post_meta( $post->ID, 'mirror_area', true ); |
289 | + $mirror_country = get_post_meta( $post->ID, 'mirror_country', true ); |
290 | + |
291 | + $mirror_areas = array( |
292 | + 'unknown' => __( 'Unknown or Other', 'xubuntu' ), |
293 | + 'africa' => __( 'Africa', 'xubuntu' ), |
294 | + 'americas' => __( 'Americas', 'xubuntu' ), |
295 | + 'asia' => __( 'Asia', 'xubuntu' ), |
296 | + 'europe' => __( 'Europe', 'xubuntu' ), |
297 | + 'oceania' => __( 'Oceania', 'xubuntu' ), |
298 | + ); |
299 | + |
300 | + echo '<select class="widefat" name="mirror_area">'; |
301 | + foreach( $mirror_areas as $value => $name ) { |
302 | + echo '<option value="' . $value . '" ' . selected( $mirror_area, $value, false ) . '>' . $name . '</option>'; |
303 | + } |
304 | + echo '</select>'; |
305 | + |
306 | + echo '<p><input type="text" class="widefat" name="mirror_country" placeholder="' . _x( 'Finland', 'placeholder text', 'xubuntu' ) . '" value="' . $mirror_country . '" /></p>'; |
307 | +} |
308 | + |
309 | +function release_download_mirror_meta_box_link_template( $post, $box ) { |
310 | + $mirror_http_template = get_post_meta( $post->ID, 'mirror_http_template', true ); |
311 | + |
312 | + echo '<p><input type="text" class="widefat" name="mirror_http_template" placeholder="' . _x( 'http://ubuntu.mirror.university/releases/VERSION/', 'placeholder text', 'xubuntu' ) . '" value="' . $mirror_http_template . '" /></p>'; |
313 | + echo '<p>' . __( 'The tag <code>VERSION</code> in the mirror template will be replaced by the appropriate version number (eg. <em>16.04</em>)', 'xubuntu' ) . '</p>'; |
314 | +} |
315 | + |
316 | +function release_download_mirror_meta_box_activity( $post, $box ) { |
317 | + $mirror_main = get_post_meta( $post->ID, 'mirror_main', true ); |
318 | + $mirror_active = get_post_meta( $post->ID, 'mirror_active', true ); |
319 | + |
320 | + echo '<ul>'; |
321 | + echo '<li><label class="selectit">'; |
322 | + echo '<input type="checkbox" name="mirror_active" ' . checked( $mirror_active, 1, false ) . '/>'; |
323 | + echo _x( 'Is active?', 'release mirror activity', 'xubuntu' ); |
324 | + echo '</label></li>'; |
325 | + echo '<li><label class="selectit">'; |
326 | + echo '<input type="checkbox" name="mirror_main" ' . checked( $mirror_main, 1, false ) . '/>'; |
327 | + echo __( 'Is a main download mirror?', 'release mirror status', 'xubuntu' ); |
328 | + echo '</label></li>'; |
329 | + echo '</ul>'; |
330 | +} |
331 | + |
332 | +/* |
333 | + * Handle saving the link data |
334 | + * |
335 | + */ |
336 | + |
337 | +add_action( 'save_post_download_mirror', 'release_download_mirror_save_post' ); |
338 | + |
339 | +function release_download_mirror_save_post( $post_id ) { |
340 | + global $wpdb; |
341 | + |
342 | + $fields_to_save = array( |
343 | + 'mirror_name', |
344 | + 'mirror_lp_url', |
345 | + 'mirror_area', |
346 | + 'mirror_country', |
347 | + 'mirror_http_template', |
348 | + ); |
349 | + |
350 | + foreach( $fields_to_save as $field ) { |
351 | + if( isset( $_POST[$field] ) ) { |
352 | + update_post_meta( $post_id, $field, sanitize_text_field( $_POST[$field] ) ); |
353 | + } |
354 | + } |
355 | + |
356 | + $bool_fields_to_save = array( |
357 | + 'mirror_active', |
358 | + 'mirror_main', |
359 | + ); |
360 | + |
361 | + foreach( $bool_fields_to_save as $field ) { |
362 | + if( $_POST[$field] != 'on' ) { // TODO |
363 | + update_post_meta( $post_id, $field, 0 ); |
364 | + } else { |
365 | + update_post_meta( $post_id, $field, 1 ); |
366 | + } |
367 | + } |
368 | + |
369 | + if( isset( $_POST['mirror_name'] ) ) { |
370 | + $wpdb->update( $wpdb->posts, array( 'post_title' => $_POST['mirror_name'] ), array( 'ID' => $post_id ) ); |
371 | + } |
372 | +} |
373 | + |
374 | +/* |
375 | + * Add a shortcode to print the list of mirrors |
376 | + * |
377 | + */ |
378 | + |
379 | +add_shortcode( 'mirrors', 'release_download_mirror_shortcode_downloads' ); |
380 | + |
381 | +function release_download_mirror_shortcode_downloads( $atts ) { |
382 | + $atts = shortcode_atts( |
383 | + array( |
384 | + 'release' => false, |
385 | + ), |
386 | + $atts, |
387 | + 'mirrors' |
388 | + ); |
389 | + |
390 | + if( strlen( $atts['release'] ) < 1 ) { |
391 | + return; |
392 | + } |
393 | + |
394 | + $args = array( |
395 | + 'post_type' => 'download_mirror', |
396 | + 'posts_per_page' => -1, |
397 | + 'orderby' => 'meta_value', |
398 | + 'order' => 'ASC', |
399 | + 'meta_key' => 'mirror_country', |
400 | + 'meta_query' => array( |
401 | + array( |
402 | + 'key' => 'mirror_active', |
403 | + 'value' => 1, |
404 | + 'compare' => '=' |
405 | + ), |
406 | + ), |
407 | + ); |
408 | + $mirrors = get_posts( $args ); |
409 | + |
410 | + if( count( $mirrors ) > 0 ) { |
411 | + $out = '<ul class="columnlist mirrors">'; |
412 | + foreach( $mirrors as $mirror ) { |
413 | + $mirror_meta = get_post_meta( $mirror->ID ); |
414 | + if( $mirror_meta['mirror_main'][0] == 1 ) { |
415 | + $class = 'main'; |
416 | + } else { |
417 | + $class = 'secondary'; |
418 | + } |
419 | + |
420 | + $out .= '<li class="' . $class . '"><a href="' . release_download_url( $mirror_meta['mirror_http_template'][0], $atts['release'] ) . '" title="' . $mirror->post_title . ', ' . $mirror_meta['mirror_country'][0] . '">' . $mirror_meta['mirror_country'][0] . '</a>'; |
421 | + if( strlen( $mirror_meta['mirror_lp_url'][0] ) > 0 ) { |
422 | + $out .= '<span class="mirror-lp-url"><a href="' . $mirror_meta['mirror_lp_url'][0] . '">' . _x( 'Info', 'Link to download mirror information on Launchpad', 'xubuntu' ) . '</a></span>'; |
423 | + } |
424 | + $out .= '</li>'; |
425 | + } |
426 | + $out .= '<li class="nobullet show-on-js"><a class="show-all" href="#show-all">' . __( 'Show all mirrors with full information', 'xubuntu' ) . '</a></li>'; |
427 | + $out .= '</ul>'; |
428 | + |
429 | + return $out; |
430 | + } |
431 | +} |
432 | + |
433 | +function release_download_url( $template, $release_slug ) { |
434 | + $release = get_term_by( 'slug', $release_slug, 'release' ); |
435 | + |
436 | + return str_replace( 'VERSION', $release->name, $template ); |
437 | +} |
438 | + |
439 | +?> |
440 | \ No newline at end of file |
441 | |
442 | === modified file 'xubuntu-fifteen/functions-features-releases.php' |
443 | --- xubuntu-fifteen/functions-features-releases.php 2016-08-29 12:39:20 +0000 |
444 | +++ xubuntu-fifteen/functions-features-releases.php 2016-12-16 13:23:31 +0000 |
445 | @@ -58,12 +58,29 @@ |
446 | ), |
447 | 'release_date' => array( |
448 | 'label' => __( 'Release Date', 'xubuntu' ), |
449 | - 'type' => 'date' |
450 | + 'type' => 'date', |
451 | + 'description' => __( 'Date in YYYY-MM-DD format.', 'xubuntu' ) |
452 | ), |
453 | 'release_eol' => array( |
454 | 'label' => __( 'Release End of Life', 'xubuntu' ), |
455 | - 'type' => 'date' |
456 | - ) |
457 | + 'type' => 'date', |
458 | + 'description' => __( 'Date in YYYY-MM-DD format.', 'xubuntu' ) |
459 | + ), |
460 | + 'release_torrent_32bit' => array( |
461 | + 'label' => __( 'Torrent download link (32-bit)', 'xubuntu' ), |
462 | + 'type' => 'url', |
463 | + 'description' => __( 'The download link for the 32-bit image; for LTS, always use the latest point release link. Will be hidden after the release goes EOL.', 'xubuntu' ) |
464 | + ), |
465 | + 'release_torrent_64bit' => array( |
466 | + 'label' => __( 'Torrent download link (64-bit)', 'xubuntu' ), |
467 | + 'type' => 'url', |
468 | + 'description' => __( 'The download link for the 64-bit image; for LTS, always use the latest point release link. Will be hidden after the release goes EOL.', 'xubuntu' ) |
469 | + ), |
470 | + 'release_documentation_link' => array( |
471 | + 'label' => __( 'Online Documentation', 'xubuntu' ), |
472 | + 'type' => 'url', |
473 | + 'description' => __( 'URL for the online documentation for the release. Will be hidden after the release goes EOL.', 'xubuntu' ) |
474 | + ), |
475 | ); |
476 | |
477 | add_action( 'release_edit_form_fields', 'release_taxonomy_custom_fields_edit', 10, 2 ); |
478 | @@ -81,9 +98,13 @@ |
479 | echo '<label for="' . $id . '">' . $field['label'] . '</label>'; |
480 | echo '</th>'; |
481 | echo '<td>'; |
482 | - echo '<input name="term_meta[' . $id . ']" id="' . $id . '" value="' . $term_meta[$id] . '" type="' . $field['type'] . '" />'; |
483 | - if( 'date' == $field['type'] ) { |
484 | - echo '<p class="description">Date in YYYY-MM-DD format.</p>'; |
485 | + if( isset( $term_meta[$id] ) ) { |
486 | + echo '<input name="term_meta[' . $id . ']" id="' . $id . '" value="' . $term_meta[$id] . '" type="' . $field['type'] . '" />'; |
487 | + } else { |
488 | + echo '<input name="term_meta[' . $id . ']" id="' . $id . '" value="" type="' . $field['type'] . '" />'; |
489 | + } |
490 | + if( isset( $field['description'] ) ) { |
491 | + echo '<p class="description">' . $field['description'] . '</p>'; |
492 | } |
493 | echo '</td>'; |
494 | echo '</tr>'; |
495 | @@ -130,7 +151,7 @@ |
496 | } |
497 | |
498 | update_option( 'taxonomy_term_' . $term_id, $term_meta ); |
499 | - } |
500 | + } |
501 | } |
502 | |
503 | /* |
504 | @@ -147,7 +168,7 @@ |
505 | foreach( $releases as $release ) { |
506 | $release_meta = get_option( 'taxonomy_term_' . $release->term_id ); |
507 | if( $class != 'eol' && $release->release_is_eol == 1 ) { |
508 | - echo '<li class="nobullet show-on-js"><a class="show-eol" href="#show-eol">Show EOL releases</a></li>'; |
509 | + echo '<li class="nobullet show-on-js"><a class="show-eol" href="#show-eol">' . __( 'Show EOL releases', 'xubuntu' ) . '</a></li>'; |
510 | $class = 'eol'; |
511 | } |
512 | |
513 | @@ -293,11 +314,11 @@ |
514 | } |
515 | } |
516 | |
517 | - usort( $releases, 'release_taxonomy_release_usort' ); |
518 | + usort( $releases, 'release_taxonomy_release_usort_eol_last' ); |
519 | return $releases; |
520 | } |
521 | |
522 | -function release_taxonomy_release_usort( $a, $b ) { |
523 | +function release_taxonomy_release_usort_eol_last( $a, $b ) { |
524 | $eolcmp = strnatcmp( $a->release_is_eol, $b->release_is_eol ); |
525 | |
526 | if( $eolcmp != 0 ) { |
527 | @@ -307,4 +328,76 @@ |
528 | } |
529 | } |
530 | |
531 | +function release_taxonomy_release_usort( $a, $b ) { |
532 | + return strnatcmp( $b->name, $a->name ); |
533 | +} |
534 | + |
535 | +/* |
536 | + * Add a shortcode to print the torrent link buttons |
537 | + * |
538 | + */ |
539 | + |
540 | +add_shortcode( 'torrents', 'release_torrent_links' ); |
541 | + |
542 | +function release_torrent_links( $atts ) { |
543 | + $atts = shortcode_atts( |
544 | + array( |
545 | + 'release' => false, |
546 | + ), |
547 | + $atts, |
548 | + 'torrents' |
549 | + ); |
550 | + |
551 | + if( strlen( $atts['release'] ) < 1 ) { |
552 | + return; |
553 | + } |
554 | + |
555 | + $release = get_term_by( 'slug', $atts['release'], 'release' ); |
556 | + $release_meta = get_option( 'taxonomy_term_' . $release->term_id ); |
557 | + $out = ''; |
558 | + |
559 | + if( isset( $release_meta['release_torrent_64bit'] ) ) { |
560 | + $out .= '<a class="button primary" href="' . $release_meta['release_torrent_64bit'] . '">' . _x( '<strong>64-bit</strong> systems', 'torrent download link', 'xubuntu' ) . '</a>'; |
561 | + } |
562 | + if( isset( $release_meta['release_torrent_32bit'] ) ) { |
563 | + $out .= '<a class="button" href="' . $release_meta['release_torrent_32bit'] . '">' . __( '<strong>32-bit</strong> systems', 'torrent download link', 'xubuntu' ) . '</a>'; |
564 | + } |
565 | + |
566 | + if( strlen( $out ) > 0 ) { |
567 | + return '<p>' . $out . '</p>'; |
568 | + } |
569 | +} |
570 | + |
571 | +/* |
572 | + * Add a shortcode to list all online documentation links for released, non-EOL releases |
573 | + * |
574 | + */ |
575 | + |
576 | +add_shortcode( 'documentation_links', 'release_documentation_links' ); |
577 | + |
578 | +function release_documentation_links( $atts ) { |
579 | + $releases = release_taxonomy_get_releases_sorted( ); |
580 | + |
581 | + if( is_array( $releases ) ) { |
582 | + $date_now = new DateTime( 'now' ); |
583 | + $out = '<ul>'; |
584 | + foreach( $releases as $release ) { |
585 | + $release_meta = get_option( 'taxonomy_term_' . $release->term_id ); |
586 | + $date_release = new DateTime( $release_meta['release_date'] ); |
587 | + |
588 | + if( strlen( $release_meta['release_codename'] ) > 0 ) { |
589 | + $release->name .= ' (' . $release_meta['release_codename'] . ')'; |
590 | + } |
591 | + if( $release->release_is_eol == 0 && $date_release->format( 'Ymd' ) <= $date_now->format( 'Ymd' ) ) { |
592 | + $date_eol = new DateTime( $release_meta['release_eol'] ); |
593 | + $out .= '<li><strong><a href="' . $release_meta['release_documentation_link'] . '">Xubuntu ' . $release->name . '</a></strong>, supported until ' . $date_eol->format( 'F Y' ) . '</li>'; |
594 | + } |
595 | + } |
596 | + $out .= '</ul>'; |
597 | + |
598 | + return $out; |
599 | + } |
600 | +} |
601 | + |
602 | + |
603 | ?> |
604 | \ No newline at end of file |
605 | |
606 | === modified file 'xubuntu-fifteen/functions.php' |
607 | --- xubuntu-fifteen/functions.php 2016-09-02 20:08:49 +0000 |
608 | +++ xubuntu-fifteen/functions.php 2016-12-16 13:23:31 +0000 |
609 | @@ -15,6 +15,7 @@ |
610 | include 'functions-features-articles.php'; |
611 | include 'functions-features-releases.php'; |
612 | include 'functions-features-release-links.php'; |
613 | +include 'functions-features-release-mirrors.php'; |
614 | |
615 | /* |
616 | * Configuration options |
617 | |
618 | === modified file 'xubuntu-fifteen/header.php' |
619 | --- xubuntu-fifteen/header.php 2016-09-02 20:08:49 +0000 |
620 | +++ xubuntu-fifteen/header.php 2016-12-16 13:23:31 +0000 |
621 | @@ -18,7 +18,7 @@ |
622 | |
623 | <header> |
624 | <div id="logo"> |
625 | - <a href="<?php echo home_url( '/' ); ?>"><img src="<?php bloginfo( 'stylesheet_directory' ); ?>/images/xubuntu-logo-45.png" alt="Xubuntu" /></a> |
626 | + <a href="<?php echo home_url( '/' ); ?>"><img src="<?php echo get_stylesheet_directory_uri( ); ?>/images/xubuntu-logo-45.png" alt="Xubuntu" /></a> |
627 | </div> |
628 | |
629 | <div id="navi"> |
630 | |
631 | === modified file 'xubuntu-fifteen/index.php' |
632 | --- xubuntu-fifteen/index.php 2016-09-02 20:08:49 +0000 |
633 | +++ xubuntu-fifteen/index.php 2016-12-16 13:23:31 +0000 |
634 | @@ -10,6 +10,8 @@ |
635 | get_template_part( 'content', 'release' ); |
636 | } elseif( is_attachment( ) ) { |
637 | get_template_part( 'content', 'attachment' ); |
638 | + } elseif( is_page_template( 'template-releases-landing.php' ) ) { |
639 | + get_template_part( 'content', 'releases-landing' ); |
640 | } elseif( have_posts( ) && !is_404( ) ) { |
641 | if( is_archive( ) ) { |
642 | get_template_part( 'content', 'archive' ); |
643 | @@ -27,7 +29,7 @@ |
644 | ?> |
645 | </main> |
646 | <?php |
647 | - if( is_tax( 'release' ) ) { |
648 | + if( is_tax( 'release' ) || is_page_template( 'template-releases-landing.php' ) ) { |
649 | get_template_part( 'widgets', 'release' ); |
650 | } elseif( is_blog( ) || is_search( ) ) { |
651 | get_template_part( 'widgets', 'blog' ); |
652 | |
653 | === modified file 'xubuntu-fifteen/script-releases.js' |
654 | --- xubuntu-fifteen/script-releases.js 2016-08-29 12:39:20 +0000 |
655 | +++ xubuntu-fifteen/script-releases.js 2016-12-16 13:23:31 +0000 |
656 | @@ -1,12 +1,21 @@ |
657 | jQuery( function( ) { |
658 | jQuery( '.show-on-js' ).show( ); |
659 | |
660 | + /* Release list */ |
661 | jQuery( '.releases .eol' ).hide( ); |
662 | jQuery( '.releases .show-eol' ).click( function( ) { |
663 | jQuery( this ).hide( ); |
664 | jQuery( '.releases .eol' ).fadeIn( ); |
665 | } ); |
666 | |
667 | - /* Admin */ |
668 | + /* Release list (admin) */ |
669 | jQuery( '.releases .eol input:checked' ).closest( '.eol' ).show( ); |
670 | + |
671 | + /* Mirror list */ |
672 | + jQuery( '.mirrors .secondary' ).hide( ); |
673 | + jQuery( '.mirrors .show-all' ).click( function( ) { |
674 | + jQuery( this ).hide( ); |
675 | + jQuery( this ).closest( '.mirrors' ).addClass( 'expanded' ); |
676 | + jQuery( this ).closest( '.mirrors' ).children( '.secondary' ).fadeIn( ); |
677 | + } ); |
678 | } ); |
679 | \ No newline at end of file |
680 | |
681 | === modified file 'xubuntu-fifteen/style-admin.css' |
682 | --- xubuntu-fifteen/style-admin.css 2016-08-28 23:39:44 +0000 |
683 | +++ xubuntu-fifteen/style-admin.css 2016-12-16 13:23:31 +0000 |
684 | @@ -8,4 +8,12 @@ |
685 | body.post-type-release_link .misc-pub-post-status, |
686 | body.post-type-release_link .misc-pub-visibility { |
687 | display: none; |
688 | +} |
689 | + |
690 | +body.post-type-download_mirror #post-body-content, |
691 | +body.post-type-download_mirror #save-action, |
692 | +body.post-type-download_mirror #preview-action, |
693 | +body.post-type-download_mirror .misc-pub-post-status, |
694 | +body.post-type-download_mirror .misc-pub-visibility { |
695 | + display: none; |
696 | } |
697 | \ No newline at end of file |
698 | |
699 | === modified file 'xubuntu-fifteen/style-common.css' |
700 | --- xubuntu-fifteen/style-common.css 2016-09-02 20:08:49 +0000 |
701 | +++ xubuntu-fifteen/style-common.css 2016-12-16 13:23:31 +0000 |
702 | @@ -146,12 +146,14 @@ |
703 | li { list-style-position: inside; } |
704 | main li { margin-bottom: 0.2em; list-style-position: outside; margin-left: 1.2em; } |
705 | main ul li { list-style-type: disc; } |
706 | + main ul.mirrors li, |
707 | main ul.link-list li, |
708 | main .post-list ul li, |
709 | main .post-post ul li { |
710 | list-style-type: none; |
711 | margin-left: 1em; |
712 | } |
713 | + main ul.mirrors li:before, |
714 | main ul.link-list li:before, |
715 | main .post-list ul li:before, |
716 | main .post-post ul li:before { |
717 | |
718 | === modified file 'xubuntu-fifteen/style.css' |
719 | --- xubuntu-fifteen/style.css 2016-09-02 20:26:40 +0000 |
720 | +++ xubuntu-fifteen/style.css 2016-12-16 13:23:31 +0000 |
721 | @@ -6,7 +6,7 @@ |
722 | * Author: Pasi Lallinaho |
723 | * Author URI: http://open.knome.fi/ |
724 | * |
725 | - * Version: 2016-sept (r118) |
726 | + * Version: 2016-dec (r120) |
727 | * |
728 | */ |
729 | |
730 | @@ -542,6 +542,32 @@ |
731 | color: rgba( 0, 0, 0, 0.5 ); |
732 | } |
733 | |
734 | +/* Mirror lists (code) */ |
735 | + |
736 | +.mirrors .main { |
737 | + font-weight: 600; |
738 | +} |
739 | + |
740 | +.mirrors .mirror-lp-url { |
741 | + display: none; |
742 | + margin-right: 1em; |
743 | + float: right; |
744 | +} |
745 | + .mirrors.expanded .mirror-lp-url { |
746 | + display: inline-block; |
747 | + } |
748 | + .mirrors .mirror-lp-url a { |
749 | + font-size: 80%; |
750 | + color: rgba( 0, 0, 0, 0.5 ); |
751 | + } |
752 | + |
753 | +.mirrors .nobullet a { |
754 | + font-size: 90%; |
755 | +} |
756 | + .mirrors .nobullet::before { |
757 | + content: " " !important; |
758 | + } |
759 | + |
760 | /* Search form */ |
761 | |
762 | .search-form { |
763 | |
764 | === added file 'xubuntu-fifteen/template-releases-landing.php' |
765 | --- xubuntu-fifteen/template-releases-landing.php 1970-01-01 00:00:00 +0000 |
766 | +++ xubuntu-fifteen/template-releases-landing.php 2016-12-16 13:23:31 +0000 |
767 | @@ -0,0 +1,2 @@ |
768 | +<?php /* Template Name: Releases landing page */ ?> |
769 | +<?php include get_stylesheet_directory( ) . '/index.php'; ?> |
770 | \ No newline at end of file |
+1