PluginProbe
WP Attachments / 3.2
WP Attachments v3.2
6.0.2 6.0.3 trunk 2.0 3 3.0.1 3.0.2 3.0.3 3.1 3.1.1 3.1.2 3.1.3 3.1.4 3.2 3.2.1 3.2.2 3.2.3 3.2.4 3.3 3.4 3.5 3.5.1 3.5.2 3.5.3 3.5.4 All 52 releases
wp-attachments / wp-attachments.php

wp-attachments.php in WP Attachments 3.2, at wp-attachments.php

160 lines 5.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 Plugin Name: WP Attachments
4 Plugin URI: http://marcomilesi.ml
5 Description: Automatically shows your attachments under every post and page content. Simple. Automatic. Easy. As it has to be!
6 Author: Marco Milesi
7 Version: 3.2
8 Author URI: http://marcomilesi.ml
9 */
10
11 function wpa_action_init()
12 {
13 load_plugin_textdomain( 'wp-attachments', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
14 update_option( 'wpa_version_number', '3.2' );
15 }
16
17 // Add actions
18 add_action('init', 'wpa_action_init');
19 require_once(plugin_dir_path(__FILE__) . 'settings.php');
20 require_once(plugin_dir_path(__FILE__) . 'ij-post-attachments.php');
21
22 function wpatt_format_bytes($a_bytes)
23 {
24
25 if ($a_bytes < 1024)
26 {
27
28 return $a_bytes . ' B';
29
30 }
31 elseif ($a_bytes < 1048576)
32 {
33
34 return round($a_bytes / 1024, 2) . ' KB';
35
36 }
37 elseif ($a_bytes < 1073741824)
38 {
39
40 return round($a_bytes / 1048576, 2) . ' MB';
41
42 }
43 elseif ($a_bytes < 1099511627776)
44 {
45
46 return round($a_bytes / 1073741824, 2) . ' GB';
47
48 }
49 else
50 {
51
52 return round($a_bytes / 1208925819614629174706176, 2) . ' ERROR';
53
54 }
55
56 }
57
58
59 add_filter('the_content', 'wpatt_job_cpt_template_filter');
60
61 function wpatt_job_cpt_template_filter($content)
62 {
63 global $post;
64 $somethingtoshow = 0;
65
66 $attachments = get_posts(array(
67 'post_type' => 'attachment',
68 'orderby' => 'menu_order',
69 'order' => 'ASC',
70 'posts_per_page' => 100,
71 'post_parent' => $post->ID
72 ));
73
74 if ($attachments)
75 {
76 $content_l .= '<div style="width:100%;float:left;margin:10px 0 10px 0;"><h3>' . get_option('wpatt_option_localization') . '</h3>
77 <style>
78 ul.post-attachments{list-style:none;margin:0;}
79 li.post-attachment{background:url(' . plugin_dir_url(__FILE__) . 'icons/document.png) 0 4px no-repeat;padding-left:24px} .post-attachment.mime-imagejpeg,.post-attachment.mime-imagepng,.post-attachment.mime-imagejpeg,.post-attachment.mime-imagegif{background-image:url(' . plugin_dir_url(__FILE__) . 'icons/document-image.png)}
80 .post-attachment.mime-applicationzip{background-image:url(' . plugin_dir_url(__FILE__) . 'icons/document-zipper.png)}
81 .post-attachment.mime-applicationpdf{background-image:url(' . plugin_dir_url(__FILE__) . 'icons/document-pdf.png)}
82 .post-attachment.mime-applicationvnd-ms-excel{background-image:url(' . plugin_dir_url(__FILE__) . 'icons/document-excel.png)}
83 .post-attachment.mime-applicationvnd-openxmlformats-officedocument-spreadsheetml-sheet{background-image:url(' . plugin_dir_url(__FILE__) . 'icons/document-excel.png)}
84 .post-attachment.mime-applicationmsword{background-image:url(' . plugin_dir_url(__FILE__) . 'icons/document-word.png)}
85 .post-attachment.mime-applicationvnd-openxmlformats-officedocument-wordprocessingml-document{background-image:url(' . plugin_dir_url(__FILE__) . 'icons/document-word.png)}
86 </style><ul class="post-attachments">';
87
88 foreach ($attachments as $attachment)
89 {
90
91 $wpatt_option_includeimages_get = get_option('wpatt_option_includeimages');
92 if ($wpatt_option_includeimages_get == '1') {
93 } else if ( wp_attachment_is_image( $attachment->ID ) ) {
94 continue;
95 }
96 $somethingtoshow = 1;
97
98 $class = "post-attachment mime-" . sanitize_title($attachment->post_mime_type);
99
100 $content_l .= '<li class="' . $class . '"><a href="' . wp_get_attachment_url($attachment->ID) . '">' . $attachment->post_title . '</a> (' . wpatt_format_bytes(filesize(get_attached_file($attachment->ID)));
101
102
103 $wpatt_option_showdate_get = get_option('wpatt_option_showdate');
104
105 if ($wpatt_option_showdate_get == '1')
106 {
107
108 $wpatt_date = new DateTime($attachment->post_date);
109
110 $content_l .= '<div style="float:right;">' . $wpatt_date->format('d.m.Y') . '</div>';
111
112 }
113
114 $content_l .= ')</li>';
115
116 }
117 $content_l .= '</ul></div>';
118
119 }
120 if ($somethingtoshow == 1) {
121 $content .= $content_l;
122 }
123 return $content;
124 }
125
126
127 /* Register Settings */
128
129 add_action('admin_init', 'wpatt_reg_settings');
130
131 function wpatt_reg_settings()
132 {
133
134 register_setting('wpatt_options_group', 'wpatt_option_showdate', 'intval');
135
136 register_setting('wpatt_options_group', 'wpatt_option_includeimages', 'intval');
137
138 register_setting('wpatt_options_group', 'wpatt_option_localization');
139
140 register_setting('wpatt_options_group', 'wpatt_disable_backend');
141
142 /* Preopulate 'Attachments' */
143
144 $wpatt_option_showdate_get = get_option('wpatt_option_showdate');
145
146 if (get_option('wpatt_option_localization') == '')
147 {
148 $value = __('Attachments','wp-attachments');
149 update_option('wpatt_option_localization', $value);
150 }
151 }
152
153 add_action('admin_menu', 'wpatt_plugin_menu');
154
155 function wpatt_plugin_menu(){
156 add_options_page('WP Attachments - Settings', 'WP Attachments', 'manage_options', 'wpatt-option-page', 'wpatt_plugin_options');
157 }
158
159
160 ?>