Version Description
- Adds importer for BP Album
- Tested with reallifescrapped, an aswesome social network for scrapbookers by Meg
- Other minor bug fixes, especially for Groups
Download this release
Release Info
Developer | JoshuaAbenazer |
Plugin | rtMedia for WordPress, BuddyPress and bbPress |
Version | 2.8 |
Comparing to | |
See all releases |
Code changes from version 2.7.6 to 2.8
- app/admin/BPMediaAdmin.php +22 -7
- app/assets/css/main.css +36 -2
- app/assets/js/admin.js +144 -27
- app/helper/BPMediaSettings.php +1 -2
- app/importers/BPMediaAlbumimporter.php +248 -77
- app/importers/BPMediaImporter.php +11 -16
- app/main/group/BPMediaGroupElementExtension.php +16 -8
- app/main/includes/BPMediaActions.php +21 -5
- app/main/includes/BPMediaHostWordpress.php +26 -18
- app/main/profile/BPMediaAlbumScreen.php +8 -2
- app/main/profile/BPMediaScreen.php +1 -1
- index.php +1 -1
- readme.txt +8 -3
app/admin/BPMediaAdmin.php
CHANGED
@@ -27,8 +27,11 @@ if (!class_exists('BPMediaAdmin')) {
|
|
27 |
add_action('wp_ajax_bp_media_submit_request', array($this->bp_media_support, 'submit_request'), 1);
|
28 |
add_action('wp_ajax_bp_media_fetch_feed', array($bp_media_feed, 'fetch_feed'), 1);
|
29 |
add_action('wp_ajax_bp_media_linkback', array($this, 'linkback'), 1);
|
30 |
-
|
31 |
-
|
|
|
|
|
|
|
32 |
add_action('wp_ajax_bp_media_convert_videos_form', array($this, 'convert_videos_mailchimp_send'), 1);
|
33 |
add_filter('plugin_row_meta', array($this, 'plugin_meta_premium_addon_link'), 1, 4);
|
34 |
if (is_admin()) {
|
@@ -59,7 +62,7 @@ if (!class_exists('BPMediaAdmin')) {
|
|
59 |
wp_localize_script('bp-media-admin', 'settings_url', add_query_arg(
|
60 |
array('page' => 'bp-media-settings'), (is_multisite() ? network_admin_url('admin.php') : admin_url('admin.php'))
|
61 |
) . '#privacy_enabled');
|
62 |
-
|
63 |
array('page' => 'bp-media-settings'), (is_multisite() ? network_admin_url('admin.php') : admin_url('admin.php'))
|
64 |
));
|
65 |
wp_enqueue_style('bp-media-admin', BP_MEDIA_URL . 'app/assets/css/main.css', '', BP_MEDIA_VERSION);
|
@@ -79,8 +82,8 @@ if (!class_exists('BPMediaAdmin')) {
|
|
79 |
}
|
80 |
$bp_album_active = BPMediaImporter::_active('bp-album/loader.php');
|
81 |
$table = "{$wpdb->base_prefix}bp_album";
|
82 |
-
if (BPMediaImporter::table_exists($table) && $bp_album_active
|
83 |
-
add_submenu_page('bp-media-settings', __('
|
84 |
}
|
85 |
add_submenu_page('bp-media-settings', __('BuddyPress Media Addons', BP_MEDIA_TXT_DOMAIN), __('Addons', BP_MEDIA_TXT_DOMAIN), 'manage_options', 'bp-media-addons', array($this, 'addons_page'));
|
86 |
add_submenu_page('bp-media-settings', __('BuddyPress Media Support', BP_MEDIA_TXT_DOMAIN), __('Support ', BP_MEDIA_TXT_DOMAIN), 'manage_options', 'bp-media-support', array($this, 'support_page'));
|
@@ -100,8 +103,8 @@ if (!class_exists('BPMediaAdmin')) {
|
|
100 |
$this->render_page('bp-media-privacy');
|
101 |
}
|
102 |
|
103 |
-
public function
|
104 |
-
$this->render_page('bp-media-
|
105 |
}
|
106 |
|
107 |
public function convert_videos_page() {
|
@@ -253,6 +256,18 @@ if (!class_exists('BPMediaAdmin')) {
|
|
253 |
'class' => ($tab == 'bp-media-convert-videos') ? $active_class : $idle_class . ' last_tab'
|
254 |
);
|
255 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
256 |
|
257 |
$tabs = apply_filters('bp_media_add_sub_tabs', $tabs, $tab);
|
258 |
foreach ($tabs as $tab) {
|
27 |
add_action('wp_ajax_bp_media_submit_request', array($this->bp_media_support, 'submit_request'), 1);
|
28 |
add_action('wp_ajax_bp_media_fetch_feed', array($bp_media_feed, 'fetch_feed'), 1);
|
29 |
add_action('wp_ajax_bp_media_linkback', array($this, 'linkback'), 1);
|
30 |
+
add_action('wp_ajax_bp_media_bp_album_deactivate', 'BPMediaAlbumimporter::bp_album_deactivate', 1);
|
31 |
+
add_action('wp_ajax_bp_media_bp_album_import', 'BPMediaAlbumimporter::bpmedia_ajax_import_callback', 1);
|
32 |
+
add_action('wp_ajax_bp_media_bp_album_import_favorites', 'BPMediaAlbumimporter::bpmedia_ajax_import_favorites', 1);
|
33 |
+
add_action('wp_ajax_bp_media_bp_album_import_step_favorites', 'BPMediaAlbumimporter::bpmedia_ajax_import_step_favorites', 1);
|
34 |
+
add_action('wp_ajax_bp_media_bp_album_cleanup', 'BPMediaAlbumimporter::cleanup_after_install');
|
35 |
add_action('wp_ajax_bp_media_convert_videos_form', array($this, 'convert_videos_mailchimp_send'), 1);
|
36 |
add_filter('plugin_row_meta', array($this, 'plugin_meta_premium_addon_link'), 1, 4);
|
37 |
if (is_admin()) {
|
62 |
wp_localize_script('bp-media-admin', 'settings_url', add_query_arg(
|
63 |
array('page' => 'bp-media-settings'), (is_multisite() ? network_admin_url('admin.php') : admin_url('admin.php'))
|
64 |
) . '#privacy_enabled');
|
65 |
+
wp_localize_script('bp-media-admin', 'settings_bp_album_import_url', add_query_arg(
|
66 |
array('page' => 'bp-media-settings'), (is_multisite() ? network_admin_url('admin.php') : admin_url('admin.php'))
|
67 |
));
|
68 |
wp_enqueue_style('bp-media-admin', BP_MEDIA_URL . 'app/assets/css/main.css', '', BP_MEDIA_VERSION);
|
82 |
}
|
83 |
$bp_album_active = BPMediaImporter::_active('bp-album/loader.php');
|
84 |
$table = "{$wpdb->base_prefix}bp_album";
|
85 |
+
if (BPMediaImporter::table_exists($table) && $bp_album_active != -1) {
|
86 |
+
add_submenu_page('bp-media-settings', __('Importer', BP_MEDIA_TXT_DOMAIN), __('Importer', BP_MEDIA_TXT_DOMAIN), 'manage_options', 'bp-media-importer', array($this, 'bp_importer_page'));
|
87 |
}
|
88 |
add_submenu_page('bp-media-settings', __('BuddyPress Media Addons', BP_MEDIA_TXT_DOMAIN), __('Addons', BP_MEDIA_TXT_DOMAIN), 'manage_options', 'bp-media-addons', array($this, 'addons_page'));
|
89 |
add_submenu_page('bp-media-settings', __('BuddyPress Media Support', BP_MEDIA_TXT_DOMAIN), __('Support ', BP_MEDIA_TXT_DOMAIN), 'manage_options', 'bp-media-support', array($this, 'support_page'));
|
103 |
$this->render_page('bp-media-privacy');
|
104 |
}
|
105 |
|
106 |
+
public function bp_importer_page() {
|
107 |
+
$this->render_page('bp-media-importer');
|
108 |
}
|
109 |
|
110 |
public function convert_videos_page() {
|
256 |
'class' => ($tab == 'bp-media-convert-videos') ? $active_class : $idle_class . ' last_tab'
|
257 |
);
|
258 |
}
|
259 |
+
|
260 |
+
global $wpdb;
|
261 |
+
$bp_album_active = BPMediaImporter::_active('bp-album/loader.php');
|
262 |
+
$table = "{$wpdb->base_prefix}bp_album";
|
263 |
+
if (BPMediaImporter::table_exists($table) && $bp_album_active!=-1) {
|
264 |
+
$tabs[] = array(
|
265 |
+
'href' => bp_get_admin_url(add_query_arg(array('page' => 'bp-media-importer'), 'admin.php')),
|
266 |
+
'title' => __('Importer', BP_MEDIA_TXT_DOMAIN),
|
267 |
+
'name' => __('Importer', BP_MEDIA_TXT_DOMAIN),
|
268 |
+
'class' => ($tab == 'bp-media-importer') ? $active_class : $idle_class
|
269 |
+
);
|
270 |
+
}
|
271 |
|
272 |
$tabs = apply_filters('bp_media_add_sub_tabs', $tabs, $tab);
|
273 |
foreach ($tabs as $tab) {
|
app/assets/css/main.css
CHANGED
@@ -38,8 +38,8 @@ ul#social li{display:inline;}
|
|
38 |
#spread-the-word .button{display:inline-block; margin: 9px 5px 0 5px;}
|
39 |
#spread-the-word label{display:block;}
|
40 |
#spread-the-word .inside{text-align: center;}
|
41 |
-
#spread-the-word .button-tweet{background: #33ACE6; border-color: #3399DD #3399DD #2288CC; color: #FFFFFF !important; text-shadow: -1px -1px 0 #3399DD;}
|
42 |
-
#spread-the-word .button-tweet:hover{background: #3399DD;border-color: #2288CC;box-shadow: 0 0 4px rgba(82, 168, 236, 0.75);}
|
43 |
#spread-the-word .button-rating{background: #8A8A8A; border-color: #222; color: #FFFFFF !important; text-shadow: -1px -1px 0 #444;}
|
44 |
#spread-the-word .button-rating:hover{background: #7E7E7E;border-color: #444;box-shadow: 0 0 4px rgba(128,128,128, 0.75);}
|
45 |
.wrap.bp-media-admin .bp-media-settings-tabs a.nav-tab{padding-left:20px;background:url('../img/tab-icon.png') 3px -4px no-repeat;}
|
@@ -92,6 +92,40 @@ a.toplevel_page_bp-media-settings div.wp-menu-image{
|
|
92 |
box-shadow: 0 1px rgba(0, 0, 0, 0.2), 0 0 1px rgba(0, 0, 0, 0.4) inset;
|
93 |
color: #FFFFFF;}
|
94 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
/* Admin bar Menu */
|
96 |
#wpadminbar .bp-media-settings-menu > .ab-item .ab-icon{background: url("../img/bpm-icon-16.png") no-repeat scroll -8px -7px transparent}
|
97 |
#wpadminbar .bp-media-settings-menu:hover .ab-icon{background-position: -8px -41px}
|
38 |
#spread-the-word .button{display:inline-block; margin: 9px 5px 0 5px;}
|
39 |
#spread-the-word label{display:block;}
|
40 |
#spread-the-word .inside{text-align: center;}
|
41 |
+
#spread-the-word .button-tweet, #bpmedia-bpalbumimporter .button-import-tweet{background: #33ACE6; border-color: #3399DD #3399DD #2288CC; color: #FFFFFF !important; text-shadow: -1px -1px 0 #3399DD;}
|
42 |
+
#spread-the-word .button-tweet:hover, #bpmedia-bpalbumimporter .button-import-tweet:hover{background: #3399DD;border-color: #2288CC;box-shadow: 0 0 4px rgba(82, 168, 236, 0.75);}
|
43 |
#spread-the-word .button-rating{background: #8A8A8A; border-color: #222; color: #FFFFFF !important; text-shadow: -1px -1px 0 #444;}
|
44 |
#spread-the-word .button-rating:hover{background: #7E7E7E;border-color: #444;box-shadow: 0 0 4px rgba(128,128,128, 0.75);}
|
45 |
.wrap.bp-media-admin .bp-media-settings-tabs a.nav-tab{padding-left:20px;background:url('../img/tab-icon.png') 3px -4px no-repeat;}
|
92 |
box-shadow: 0 1px rgba(0, 0, 0, 0.2), 0 0 1px rgba(0, 0, 0, 0.4) inset;
|
93 |
color: #FFFFFF;}
|
94 |
|
95 |
+
div.i-accept{ background-color: #dff0d8 !important; }
|
96 |
+
div.bp-album-import-accept{ padding: 1px 2px; margin-bottom: 15px; }
|
97 |
+
.bp-album-importer-wizard { display: none; margin-top: 15px; }
|
98 |
+
#setting-error-bp-album-importer { line-height: 1.8em; }
|
99 |
+
.wp-core-ui .btn-warning {
|
100 |
+
color: #ffffff;
|
101 |
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
102 |
+
background-color: #faa732;
|
103 |
+
*background-color: #f89406;
|
104 |
+
background-image: -moz-linear-gradient(top, #fbb450, #f89406);
|
105 |
+
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
|
106 |
+
background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
|
107 |
+
background-image: -o-linear-gradient(top, #fbb450, #f89406);
|
108 |
+
background-image: linear-gradient(to bottom, #fbb450, #f89406);
|
109 |
+
background-repeat: repeat-x;
|
110 |
+
border-color: #f89406 #f89406 #ad6704;
|
111 |
+
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
112 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
|
113 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
114 |
+
}
|
115 |
+
|
116 |
+
.wp-core-ui .btn-warning:hover,
|
117 |
+
.wp-core-ui .btn-warning:focus,
|
118 |
+
.wp-core-ui .btn-warning:active,
|
119 |
+
.wp-core-ui .btn-warning.active,
|
120 |
+
.wp-core-ui .btn-warning.disabled,
|
121 |
+
.wp-core-ui .btn-warning[disabled] {
|
122 |
+
color: #ffffff;
|
123 |
+
background: #f89406;
|
124 |
+
background-color: #f89406;
|
125 |
+
*background: #df8505;
|
126 |
+
*background-color: #df8505;
|
127 |
+
}
|
128 |
+
|
129 |
/* Admin bar Menu */
|
130 |
#wpadminbar .bp-media-settings-menu > .ab-item .ab-icon{background: url("../img/bpm-icon-16.png") no-repeat scroll -8px -7px transparent}
|
131 |
#wpadminbar .bp-media-settings-menu:hover .ab-icon{background-position: -8px -41px}
|
app/assets/js/admin.js
CHANGED
@@ -76,7 +76,6 @@ jQuery(document).ready(function(){
|
|
76 |
if(response != 0){
|
77 |
var redirect = false;
|
78 |
var progw = Math.ceil((((parseInt(response)*20)+parseInt(data.values['finished']))/parseInt(data.values['total'])) *100);
|
79 |
-
console.log(progw);
|
80 |
if(progw>100){
|
81 |
progw=100;
|
82 |
redirect=true
|
@@ -96,6 +95,11 @@ jQuery(document).ready(function(){
|
|
96 |
}
|
97 |
});
|
98 |
}
|
|
|
|
|
|
|
|
|
|
|
99 |
|
100 |
jQuery('#rtprivacyinstall').click(function(e){
|
101 |
e.preventDefault();
|
@@ -140,54 +144,154 @@ jQuery(document).ready(function(){
|
|
140 |
});
|
141 |
|
142 |
function fireimportRequest(data) {
|
143 |
-
return jQuery.
|
144 |
-
|
145 |
-
if(response
|
146 |
var redirect = false;
|
147 |
-
var
|
148 |
-
|
149 |
-
|
150 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
};
|
152 |
-
jQuery('#rtprogressbar>div').css('width',
|
153 |
-
|
154 |
-
jQuery('
|
155 |
-
|
156 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
}
|
158 |
} else {
|
159 |
-
jQuery('#map_progress_msgs').html('<div class="map_mapping_failure">Row '+response+' failed.</div>');
|
160 |
}
|
161 |
});
|
162 |
}
|
163 |
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
171 |
|
172 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
|
174 |
-
|
|
|
|
|
175 |
e.preventDefault();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
$progress_parent = jQuery('#bpmedia-bpalbumimport');
|
177 |
$values=[];
|
178 |
jQuery(this).parent().find('input').each(function(){
|
179 |
$values [jQuery(this).attr('name')]=[jQuery(this).val()];
|
180 |
|
181 |
});
|
182 |
-
|
|
|
|
|
183 |
|
184 |
$data = {};
|
185 |
for(var i=1;i<=$values['steps'][0];i++ ){
|
186 |
-
$count=
|
187 |
if(i==$values['steps'][0]){
|
188 |
$count=parseInt($values['laststep'][0]);
|
189 |
if($count==0){
|
190 |
-
$count=
|
191 |
};
|
192 |
}
|
193 |
newvals = {
|
@@ -198,7 +302,6 @@ jQuery(document).ready(function(){
|
|
198 |
}
|
199 |
$data[i] = newvals;
|
200 |
}
|
201 |
-
console.log($data);
|
202 |
var $startingpoint = jQuery.Deferred();
|
203 |
$startingpoint.resolve();
|
204 |
jQuery.each($data, function(i, v){
|
@@ -233,6 +336,20 @@ jQuery(document).ready(function(){
|
|
233 |
});
|
234 |
return false;
|
235 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
236 |
|
237 |
|
238 |
});
|
76 |
if(response != 0){
|
77 |
var redirect = false;
|
78 |
var progw = Math.ceil((((parseInt(response)*20)+parseInt(data.values['finished']))/parseInt(data.values['total'])) *100);
|
|
|
79 |
if(progw>100){
|
80 |
progw=100;
|
81 |
redirect=true
|
95 |
}
|
96 |
});
|
97 |
}
|
98 |
+
|
99 |
+
jQuery('#bpmedia-bpalbumimporter').on('change','#bp-album-import-accept',function(){
|
100 |
+
jQuery('.bp-album-import-accept').toggleClass('i-accept');
|
101 |
+
jQuery('.bp-album-importer-wizard').slideToggle();
|
102 |
+
});
|
103 |
|
104 |
jQuery('#rtprivacyinstall').click(function(e){
|
105 |
e.preventDefault();
|
144 |
});
|
145 |
|
146 |
function fireimportRequest(data) {
|
147 |
+
return jQuery.getJSON(ajaxurl, data, function(response){
|
148 |
+
favorites = false;
|
149 |
+
if(response){
|
150 |
var redirect = false;
|
151 |
+
var media_progw = Math.ceil((((parseInt(response.page)*5)+parseInt(data.values['finished']))/parseInt(data.values['total'])) *100);
|
152 |
+
comments_total = jQuery('#bpmedia-bpalbumimporter .bp-album-comments span.total').html();
|
153 |
+
users_total = jQuery('#bpmedia-bpalbumimporter .bp-album-users span.total').html();
|
154 |
+
media_total = jQuery('#bpmedia-bpalbumimporter .bp-album-media span.total').html();
|
155 |
+
comments_finished = jQuery('#bpmedia-bpalbumimporter .bp-album-comments span.finished').html();
|
156 |
+
users_finished = jQuery('#bpmedia-bpalbumimporter .bp-album-users span.finished').html();
|
157 |
+
var comments_progw = Math.ceil((((parseInt(response.comments))+parseInt(comments_finished))/parseInt(comments_total)) *100);
|
158 |
+
var users_progw = Math.ceil((parseInt(response.users)/parseInt(users_total)) *100);
|
159 |
+
if(media_progw>100 || media_progw==100 ){
|
160 |
+
media_progw=100;
|
161 |
+
favorites=true
|
162 |
};
|
163 |
+
jQuery('.bp-album-media #rtprogressbar>div').css('width',media_progw+'%');
|
164 |
+
jQuery('.bp-album-comments #rtprogressbar>div').css('width',comments_progw+'%');
|
165 |
+
jQuery('.bp-album-users #rtprogressbar>div').css('width',users_progw+'%');
|
166 |
+
media_finished = jQuery('#bpmedia-bpalbumimporter .bp-album-media span.finished').html();
|
167 |
+
if (parseInt(media_finished)<parseInt(media_total))
|
168 |
+
jQuery('#bpmedia-bpalbumimporter .bp-album-media span.finished').html(parseInt(media_finished)+data.count);
|
169 |
+
jQuery('#bpmedia-bpalbumimporter .bp-album-comments span.finished').html(parseInt(response.comments)+parseInt(comments_finished));
|
170 |
+
jQuery('#bpmedia-bpalbumimporter .bp-album-users span.finished').html(parseInt(response.users));
|
171 |
+
if ( favorites ) {
|
172 |
+
favorite_data = {
|
173 |
+
'action':'bp_media_bp_album_import_favorites'
|
174 |
+
}
|
175 |
+
jQuery.post(ajaxurl,favorite_data,function(response){
|
176 |
+
if(response.favorites!==0||response.favorites!=='0'){
|
177 |
+
if(!jQuery('.bp-album-favorites').length)
|
178 |
+
jQuery('.bp-album-comments').after('<br /><div class="bp-album-favorites"><strong>User\'s Favorites: <span class="finished">0</span> / <span class="total">'+response.users+'</span></strong><div id="rtprogressbar"><div style="width:0%"></div></div></div>');
|
179 |
+
$favorites = {};
|
180 |
+
if (response.offset != 0 || response.offset != '0')
|
181 |
+
start = response.offset*1+1;
|
182 |
+
else
|
183 |
+
start = 1
|
184 |
+
for(var i=start;i<=response.users;i++ ){
|
185 |
+
$count=1;
|
186 |
+
if(i==response.users){
|
187 |
+
$count=parseInt(response.users % $count);
|
188 |
+
if($count==0){
|
189 |
+
$count=1;
|
190 |
+
}
|
191 |
+
}
|
192 |
+
|
193 |
+
newvals = {
|
194 |
+
'action':'bp_media_bp_album_import_step_favorites',
|
195 |
+
'offset':(i-1)*1,
|
196 |
+
'redirect':i==response.users
|
197 |
+
}
|
198 |
+
$favorites[i] = newvals;
|
199 |
+
}
|
200 |
+
var $startingpoint = jQuery.Deferred();
|
201 |
+
$startingpoint.resolve();
|
202 |
+
jQuery.each($favorites, function(i, v){
|
203 |
+
$startingpoint = $startingpoint.pipe( function() {
|
204 |
+
return fireimportfavoriteRequest(v);
|
205 |
+
});
|
206 |
+
});
|
207 |
+
|
208 |
+
} else {
|
209 |
+
window.setTimeout(reload_url, 2000);
|
210 |
+
}
|
211 |
+
},'json');
|
212 |
}
|
213 |
} else {
|
214 |
+
jQuery('#map_progress_msgs').html('<div class="map_mapping_failure">Row '+response.page+' failed.</div>');
|
215 |
}
|
216 |
});
|
217 |
}
|
218 |
|
219 |
+
function fireimportfavoriteRequest(data) {
|
220 |
+
return jQuery.post(ajaxurl, data, function(response){
|
221 |
+
redirect=false;
|
222 |
+
favorites_total = jQuery('#bpmedia-bpalbumimporter .bp-album-favorites span.total').html();
|
223 |
+
favorites_finished = jQuery('#bpmedia-bpalbumimporter .bp-album-favorites span.finished').html();
|
224 |
+
jQuery('#bpmedia-bpalbumimporter .bp-album-favorites span.finished').html(parseInt(favorites_finished)+1);
|
225 |
+
var favorites_progw = Math.ceil((parseInt(favorites_finished+1)/parseInt(favorites_total)) *100);
|
226 |
+
if(favorites_progw>100 || favorites_progw==100 ){
|
227 |
+
favorites_progw=100;
|
228 |
+
redirect=true;
|
229 |
+
}
|
230 |
+
jQuery('.bp-album-favorites #rtprogressbar>div').css('width',favorites_progw+'%');
|
231 |
+
if(redirect){
|
232 |
+
window.setTimeout(reload_url, 2000);
|
233 |
+
}
|
234 |
+
});
|
235 |
+
}
|
236 |
+
|
237 |
+
function reload_url(){
|
238 |
+
window.location = document.URL;
|
239 |
+
}
|
240 |
|
241 |
+
jQuery('#bpmedia-bpalbumimport-cleanup').click(function(e){
|
242 |
+
e.preventDefault();
|
243 |
+
jQuery.post(ajaxurl, {
|
244 |
+
action: 'bp_media_bp_album_cleanup'
|
245 |
+
}, function(response){
|
246 |
+
window.location = settings_bp_album_import_url;
|
247 |
+
});
|
248 |
|
249 |
+
});
|
250 |
+
|
251 |
+
jQuery('#bpmedia-bpalbumimporter').on('click','#bpmedia-bpalbumimport',function(e){
|
252 |
e.preventDefault();
|
253 |
+
if(!jQuery('#bp-album-import-accept').prop('checked')){
|
254 |
+
jQuery('html, body').animate({
|
255 |
+
scrollTop: jQuery( '#bp-album-import-accept' ).offset().top
|
256 |
+
}, 500);
|
257 |
+
var $el = jQuery('.bp-album-import-accept'),
|
258 |
+
x = 500,
|
259 |
+
originalColor = '#FFEBE8',
|
260 |
+
i = 3; //counter
|
261 |
+
|
262 |
+
(function loop() { //recurisve IIFE
|
263 |
+
$el.css("background-color", "#EE0000");
|
264 |
+
setTimeout(function () {
|
265 |
+
$el.css("background-color", originalColor);
|
266 |
+
if (--i) setTimeout(loop, x); //restart loop
|
267 |
+
}, x);
|
268 |
+
}());
|
269 |
+
return;
|
270 |
+
} else {
|
271 |
+
jQuery(this).prop('disabled', true);
|
272 |
+
}
|
273 |
+
wp_admin_url = ajaxurl.replace('admin-ajax.php','');
|
274 |
+
if (!jQuery('.bpm-ajax-loader').length)
|
275 |
+
jQuery(this).after(' <img class="bpm-ajax-loader" src="'+wp_admin_url+'images/wpspin_light.gif" /> <strong>Please do not refresh this page.</strong>');
|
276 |
+
|
277 |
+
|
278 |
$progress_parent = jQuery('#bpmedia-bpalbumimport');
|
279 |
$values=[];
|
280 |
jQuery(this).parent().find('input').each(function(){
|
281 |
$values [jQuery(this).attr('name')]=[jQuery(this).val()];
|
282 |
|
283 |
});
|
284 |
+
|
285 |
+
if ( $values['steps'][0] == 0 )
|
286 |
+
$values['steps'][0]=1;
|
287 |
|
288 |
$data = {};
|
289 |
for(var i=1;i<=$values['steps'][0];i++ ){
|
290 |
+
$count=5;
|
291 |
if(i==$values['steps'][0]){
|
292 |
$count=parseInt($values['laststep'][0]);
|
293 |
if($count==0){
|
294 |
+
$count=5
|
295 |
};
|
296 |
}
|
297 |
newvals = {
|
302 |
}
|
303 |
$data[i] = newvals;
|
304 |
}
|
|
|
305 |
var $startingpoint = jQuery.Deferred();
|
306 |
$startingpoint.resolve();
|
307 |
jQuery.each($data, function(i, v){
|
336 |
});
|
337 |
return false;
|
338 |
});
|
339 |
+
|
340 |
+
jQuery('#bpmedia-bpalbumimporter').on('click','.deactivate-bp-album',function(e){
|
341 |
+
e.preventDefault();
|
342 |
+
$bpalbum = jQuery(this);
|
343 |
+
var data = {
|
344 |
+
action: 'bp_media_bp_album_deactivate'
|
345 |
+
}
|
346 |
+
jQuery.get(ajaxurl, data, function(response) {
|
347 |
+
if(response)
|
348 |
+
location.reload();
|
349 |
+
else
|
350 |
+
$bpalbum.parent().after('<p>Something went wronng. Please <a href onclick="location.reload();">refresh</a> page.</p>');
|
351 |
+
});
|
352 |
+
});
|
353 |
|
354 |
|
355 |
});
|
app/helper/BPMediaSettings.php
CHANGED
@@ -156,8 +156,7 @@ if (!class_exists('BPMediaSettings')) {
|
|
156 |
$table = "{$wpdb->base_prefix}bp_album";
|
157 |
if (BPMediaImporter::table_exists($table) && $bp_album_active!=-1) {
|
158 |
$bp_media_album_importer = new BPMediaAlbumimporter();
|
159 |
-
|
160 |
-
add_settings_section('bpm-bp-album-importer', __('BP Album Importer', BP_MEDIA_TXT_DOMAIN), array($bp_media_album_importer, 'ui'), 'bp-media-bp-album-importer');
|
161 |
}
|
162 |
|
163 |
add_settings_section('bpm-convert-videos', '', array($this, 'convert_videos_form'), 'bp-media-convert-videos');
|
156 |
$table = "{$wpdb->base_prefix}bp_album";
|
157 |
if (BPMediaImporter::table_exists($table) && $bp_album_active!=-1) {
|
158 |
$bp_media_album_importer = new BPMediaAlbumimporter();
|
159 |
+
add_settings_section('bpm-bp-album-importer', __('BP-Album Importer', BP_MEDIA_TXT_DOMAIN), array($bp_media_album_importer, 'ui'), 'bp-media-importer');
|
|
|
160 |
}
|
161 |
|
162 |
add_settings_section('bpm-convert-videos', '', array($this, 'convert_videos_form'), 'bp-media-convert-videos');
|
app/importers/BPMediaAlbumimporter.php
CHANGED
@@ -15,10 +15,8 @@ class BPMediaAlbumimporter extends BPMediaImporter {
|
|
15 |
function __construct() {
|
16 |
global $wpdb;
|
17 |
parent::__construct();
|
18 |
-
$this->path = 'bp-album/loader.php';
|
19 |
-
$this->active = $this->_active($this->path);
|
20 |
$table = "{$wpdb->base_prefix}bp_album";
|
21 |
-
if (BPMediaImporter::table_exists($table) &&
|
22 |
$this->update_table();
|
23 |
}
|
24 |
}
|
@@ -28,8 +26,11 @@ class BPMediaAlbumimporter extends BPMediaImporter {
|
|
28 |
return;
|
29 |
global $wpdb;
|
30 |
return $wpdb->query(
|
31 |
-
"ALTER TABLE {$wpdb->base_prefix}bp_album
|
32 |
-
|
|
|
|
|
|
|
33 |
);
|
34 |
}
|
35 |
|
@@ -40,70 +41,121 @@ class BPMediaAlbumimporter extends BPMediaImporter {
|
|
40 |
);
|
41 |
}
|
42 |
|
43 |
-
function tab($tabs, $tab) {
|
44 |
-
$idle_class = 'nav-tab';
|
45 |
-
$active_class = 'nav-tab nav-tab-active';
|
46 |
-
$tabs[] = array(
|
47 |
-
'href' => bp_get_admin_url(add_query_arg(array('page' => 'bp-media-bp-album-importer'), 'admin.php')),
|
48 |
-
'title' => __('Import BP-Album', BP_MEDIA_TXT_DOMAIN),
|
49 |
-
'name' => __('Import BP-Album', BP_MEDIA_TXT_DOMAIN),
|
50 |
-
'class' => ($tab == 'bp-media-bp-album-importer') ? $active_class : $idle_class
|
51 |
-
);
|
52 |
-
return $tabs;
|
53 |
-
}
|
54 |
-
|
55 |
function ui() {
|
56 |
$this->progress = new rtProgress();
|
57 |
-
$total =
|
58 |
-
$
|
59 |
-
|
60 |
-
|
61 |
-
|
|
|
|
|
|
|
62 |
echo '<div id="bpmedia-bpalbumimporter">';
|
63 |
-
if ($finished != $total) {
|
64 |
-
if (!$total) {
|
65 |
echo '<p><strong>' . __('You have nothing to import') . '</strong></p>';
|
66 |
-
} elseif (
|
67 |
echo '<div id="setting-error-bp-album-importer" class="error settings-error below-h2">
|
68 |
-
<p><strong>' . __('This process is irreversible.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
69 |
echo '<strong>';
|
70 |
-
echo '<span class="finished">' . $finished . '</span> / <span class="total">' . $total . '</span>';
|
71 |
echo '</strong>';
|
72 |
$progress = 100;
|
73 |
-
if ($total != 0) {
|
74 |
-
$todo = $total - $finished;
|
75 |
-
$steps = ceil($todo /
|
76 |
-
$laststep = $todo %
|
77 |
-
$progress = $this->progress->progress($finished, $total);
|
78 |
-
echo '<input type="hidden" value="' . $finished . '" name="finished"/>';
|
79 |
-
echo '<input type="hidden" value="' . $total . '" name="total"/>';
|
80 |
echo '<input type="hidden" value="' . $todo . '" name="todo"/>';
|
81 |
echo '<input type="hidden" value="' . $steps . '" name="steps"/>';
|
82 |
echo '<input type="hidden" value="' . $laststep . '" name="laststep"/>';
|
83 |
$this->progress->progress_ui($progress);
|
84 |
-
echo "<br>";
|
85 |
}
|
86 |
-
echo '
|
87 |
-
|
88 |
-
echo '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
89 |
} else {
|
90 |
-
$
|
91 |
-
echo '<p
|
|
|
92 |
}
|
93 |
} else {
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
<p
|
99 |
-
|
100 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
echo '</button>';
|
|
|
|
|
|
|
|
|
|
|
102 |
}
|
103 |
echo '</div>';
|
104 |
}
|
105 |
|
106 |
-
function create_album($author_id, $album_name = '
|
107 |
global $bp_media, $wpdb;
|
108 |
|
109 |
if (array_key_exists('bp_album_import_name', $bp_media->options)) {
|
@@ -121,61 +173,171 @@ class BPMediaAlbumimporter extends BPMediaImporter {
|
|
121 |
} else {
|
122 |
$album_id = $result[0]->ID;
|
123 |
}
|
124 |
-
$wpdb->update($wpdb->
|
125 |
|
126 |
return $album_id;
|
127 |
}
|
128 |
|
129 |
-
function get_total_count() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
130 |
global $wpdb;
|
131 |
$table = $wpdb->base_prefix . 'bp_album';
|
132 |
-
if (
|
133 |
-
return $wpdb->
|
134 |
}
|
135 |
return 0;
|
136 |
}
|
137 |
|
138 |
-
function
|
139 |
global $wpdb;
|
140 |
$table = $wpdb->base_prefix . 'bp_album';
|
141 |
-
if (
|
142 |
-
return $wpdb->
|
143 |
}
|
144 |
return 0;
|
145 |
}
|
146 |
|
147 |
-
static function batch_import($
|
148 |
global $wpdb;
|
149 |
$table = $wpdb->base_prefix . 'bp_album';
|
150 |
-
$bp_album_data = $wpdb->get_results("SELECT * FROM $table WHERE import_status=0
|
151 |
return $bp_album_data;
|
152 |
}
|
153 |
|
154 |
static function bpmedia_ajax_import_callback() {
|
155 |
|
156 |
$page = isset($_GET['page']) ? $_GET['page'] : 1;
|
157 |
-
$count = isset($_GET['count']) ? $_GET['count'] :
|
158 |
-
$
|
159 |
-
|
160 |
-
$bp_album_data = BPMediaAlbumimporter::batch_import($offset, $count);
|
161 |
global $wpdb;
|
162 |
$table = $wpdb->base_prefix . 'bp_album';
|
163 |
-
|
|
|
|
|
164 |
foreach ($bp_album_data as &$bp_album_item) {
|
165 |
|
166 |
if (get_site_option('bp_media_bp_album_importer_base_path') == '') {
|
167 |
$base_path = pathinfo($bp_album_item->pic_org_path);
|
168 |
update_site_option('bp_media_bp_album_importer_base_path', $base_path['dirname']);
|
169 |
}
|
170 |
-
$
|
|
|
|
|
171 |
$imported_media_id = BPMediaImporter::add_media(
|
172 |
-
$album_id, $bp_album_item->title, $bp_album_item->description, $bp_album_item->pic_org_path, $bp_album_item->privacy, $bp_album_item->owner_id
|
173 |
);
|
174 |
-
$wpdb->update($table, array('import_status' => $imported_media_id), array('id' => $bp_album_item->id), array('%d'), array('%d'));
|
175 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
}
|
177 |
|
178 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
die();
|
180 |
}
|
181 |
|
@@ -198,24 +360,33 @@ class BPMediaAlbumimporter extends BPMediaImporter {
|
|
198 |
}
|
199 |
}
|
200 |
$activity_id = get_post_meta($media->get_id(), 'bp_media_child_activity', true);
|
201 |
-
|
202 |
if ($activity_id) {
|
203 |
$date_uploaded = $wpdb->get_var("SELECT date_uploaded from $table WHERE id = $bp_album_id");
|
204 |
-
$old_activity_id = $wpdb->get_var("SELECT id from {$wpdb->
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
$
|
|
|
|
|
|
|
|
|
210 |
}
|
211 |
-
$wpdb->update($wpdb->prefix . 'bp_activity', $update, array('id' => $comment->id));
|
212 |
-
BP_Activity_Activity::rebuild_activity_comment_tree($activity_id);
|
213 |
}
|
214 |
-
$wpdb->update($wpdb->
|
|
|
215 |
}
|
|
|
|
|
216 |
}
|
217 |
}
|
218 |
|
|
|
|
|
|
|
|
|
|
|
219 |
}
|
220 |
|
221 |
?>
|
15 |
function __construct() {
|
16 |
global $wpdb;
|
17 |
parent::__construct();
|
|
|
|
|
18 |
$table = "{$wpdb->base_prefix}bp_album";
|
19 |
+
if (BPMediaImporter::table_exists($table) && BPMediaAlbumimporter::_active('bp-album/loader.php') != -1 && !$this->column_exists('import_status')) {
|
20 |
$this->update_table();
|
21 |
}
|
22 |
}
|
26 |
return;
|
27 |
global $wpdb;
|
28 |
return $wpdb->query(
|
29 |
+
"ALTER TABLE {$wpdb->base_prefix}bp_album
|
30 |
+
ADD COLUMN import_status BIGINT (20) NOT NULL DEFAULT 0,
|
31 |
+
ADD COLUMN old_activity_id BIGINT (20) NOT NULL DEFAULT 0,
|
32 |
+
ADD COLUMN new_activity_id BIGINT (20) NOT NULL DEFAULT 0,
|
33 |
+
ADD COLUMN favorites TINYINT (1) NOT NULL DEFAULT 0"
|
34 |
);
|
35 |
}
|
36 |
|
41 |
);
|
42 |
}
|
43 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
44 |
function ui() {
|
45 |
$this->progress = new rtProgress();
|
46 |
+
$total = BPMediaAlbumimporter::get_total_count();
|
47 |
+
$remaining_comments = $this->get_remaining_comments();
|
48 |
+
$finished = BPMediaAlbumimporter::get_completed_media($total);
|
49 |
+
$finished_users = BPMediaAlbumimporter::get_completed_users();
|
50 |
+
$finished_comments = $this->get_finished_comments();
|
51 |
+
$total_comments = (int) $finished_comments + (int) $remaining_comments;
|
52 |
+
$completed_users_favorites = (int) get_site_option('bp_media_bp_album_favorite_import_status', 0);
|
53 |
+
$users = count_users();
|
54 |
echo '<div id="bpmedia-bpalbumimporter">';
|
55 |
+
if (($finished[0]->media != $total[0]->media) || ( $users['total_users'] > $completed_users_favorites )) {
|
56 |
+
if (!$total[0]->media) {
|
57 |
echo '<p><strong>' . __('You have nothing to import') . '</strong></p>';
|
58 |
+
} elseif (BPMediaAlbumimporter::_active('bp-album/loader.php') != 1) {
|
59 |
echo '<div id="setting-error-bp-album-importer" class="error settings-error below-h2">
|
60 |
+
<p><strong>' . __('Warning!', BP_MEDIA_TXT_DOMAIN) . '</strong> ' . sprintf(__('This import process is irreversible. Although everything is tested, please take a <a target="_blank" href="http://codex.wordpress.org/WordPress_Backups">backup of your database and files</a>, before proceeding. If you don\'t know your way around databases and files, consider <a target="_blank" href="%s">hiring us</a>, or another professional.', BP_MEDIA_TXT_DOMAIN), 'http://rtcamp.com/contact/?purpose=buddypress&utm_source=dashboard&utm_medium=plugin&utm_campaign=buddypress-media') . '</p>';
|
61 |
+
echo '<p>' . __('If you have set "WP_DEBUG" in you wp-config.php file, please make sure it is set to "false", so that it doesn\'t conflict with the import process.', BP_MEDIA_TXT_DOMAIN) . '</p></div>';
|
62 |
+
echo '<div class="bp-album-import-accept"><p><strong><label for="bp-album-import-accept"><input type="checkbox" value="accept" name="bp-album-import-accept" id="bp-album-import-accept" /> ' . __('I have taken a backup of the database and files of this site.', BP_MEDIA_TXT_DOMAIN) . '</label></strong></p></div>';
|
63 |
+
echo '<button id="bpmedia-bpalbumimport" class="button button-primary">';
|
64 |
+
_e('Start Import', BP_MEDIA_TXT_DOMAIN);
|
65 |
+
echo '</button>';
|
66 |
+
echo '<div class="bp-album-importer-wizard">';
|
67 |
+
echo '<div class="bp-album-users">';
|
68 |
+
echo '<strong>';
|
69 |
+
echo __('Users', BP_MEDIA_TXT_DOMAIN) . ': <span class="finished">' . $finished_users[0]->users . '</span> / <span class="total">' . $total[0]->users . '</span>';
|
70 |
+
echo '</strong>';
|
71 |
+
if ($total[0]->users != 0) {
|
72 |
+
$users_progress = $this->progress->progress($finished_users[0]->users, $total[0]->users);
|
73 |
+
$this->progress->progress_ui($users_progress);
|
74 |
+
}
|
75 |
+
echo '</div>';
|
76 |
+
echo '<br />';
|
77 |
+
echo '<div class="bp-album-media">';
|
78 |
echo '<strong>';
|
79 |
+
echo __('Media', BP_MEDIA_TXT_DOMAIN) . ': <span class="finished">' . $finished[0]->media . '</span> / <span class="total">' . $total[0]->media . '</span>';
|
80 |
echo '</strong>';
|
81 |
$progress = 100;
|
82 |
+
if ($total[0]->media != 0) {
|
83 |
+
$todo = $total[0]->media - $finished[0]->media;
|
84 |
+
$steps = ceil($todo / 5);
|
85 |
+
$laststep = $todo % 5;
|
86 |
+
$progress = $this->progress->progress($finished[0]->media, $total[0]->media);
|
87 |
+
echo '<input type="hidden" value="' . $finished[0]->media . '" name="finished"/>';
|
88 |
+
echo '<input type="hidden" value="' . $total[0]->media . '" name="total"/>';
|
89 |
echo '<input type="hidden" value="' . $todo . '" name="todo"/>';
|
90 |
echo '<input type="hidden" value="' . $steps . '" name="steps"/>';
|
91 |
echo '<input type="hidden" value="' . $laststep . '" name="laststep"/>';
|
92 |
$this->progress->progress_ui($progress);
|
|
|
93 |
}
|
94 |
+
echo '</div>';
|
95 |
+
echo "<br>";
|
96 |
+
echo '<div class="bp-album-comments">';
|
97 |
+
if ($total_comments != 0) {
|
98 |
+
echo '<strong>';
|
99 |
+
echo __('Comments', BP_MEDIA_TXT_DOMAIN) . ': <span class="finished">' . $finished_comments . '</span> / <span class="total">' . $total_comments . '</span>';
|
100 |
+
echo '</strong>';
|
101 |
+
$comments_progress = $this->progress->progress($finished_comments, $total_comments);
|
102 |
+
$this->progress->progress_ui($comments_progress);
|
103 |
+
echo '<br />';
|
104 |
+
} else {
|
105 |
+
echo '<p><strong>' . __('Comments: 0/0 (No comments to import)', BP_MEDIA_TXT_DOMAIN) . '</strong></p>';
|
106 |
+
}
|
107 |
+
echo '</div>';
|
108 |
+
if ($completed_users_favorites != 0) {
|
109 |
+
echo '<br />';
|
110 |
+
echo '<div class="bp-album-favorites">';
|
111 |
+
echo '<strong>';
|
112 |
+
echo __('User\'s Favorites', BP_MEDIA_TXT_DOMAIN) . ': <span class="finished">' . $completed_users_favorites . '</span> / <span class="total">' . $users['total_users'] . '</span>';
|
113 |
+
echo '</strong>';
|
114 |
+
$favorites_progress = $this->progress->progress($completed_users_favorites, $users['total_users']);
|
115 |
+
$this->progress->progress_ui($favorites_progress);
|
116 |
+
echo '</div>';
|
117 |
+
}
|
118 |
+
echo '</div>';
|
119 |
} else {
|
120 |
+
$deactivate_link = wp_nonce_url(admin_url('plugins.php?action=deactivate&plugin=' . urlencode($this->path)), 'deactivate-plugin_' . $this->path);
|
121 |
+
echo '<p>' . __('BP-Album is active on your site and will cause problems with the import.', BP_MEDIA_TXT_DOMAIN) . '</p>';
|
122 |
+
echo '<p><a class="button button-primary deactivate-bp-album" href="' . $deactivate_link . '">' . __('Click here to deactivate BP-Album and continue importing', BP_MEDIA_TXT_DOMAIN) . '</a></p>';
|
123 |
}
|
124 |
} else {
|
125 |
+
$corrupt_media = BPMediaAlbumimporter::get_corrupt_media();
|
126 |
+
if ($corrupt_media) {
|
127 |
+
echo '<div class="error below-h2">';
|
128 |
+
echo '<p><strong>' . __('Some of the media failed to import. The file might be corrupt or deleted.', BP_MEDIA_TXT_DOMAIN) . '</strong></p>';
|
129 |
+
echo '<p>' . sprintf(__('The following %d BP Album Media id\'s could not be imported', BP_MEDIA_TXT_DOMAIN), count($corrupt_media)) . ': </p>';
|
130 |
+
$corrupt_prefix_path = str_replace('/wp-content','',WP_CONTENT_URL);
|
131 |
+
foreach ($corrupt_media as $corrupt) {
|
132 |
+
echo '<p>'.$corrupt->id.' => <a href="'.$corrupt_prefix_path.$corrupt->pic_org_url.'">'.$corrupt->title.'</a></p>';
|
133 |
+
}
|
134 |
+
echo '</div>';
|
135 |
+
} else {
|
136 |
+
echo '<div class="bp-album-import-accept i-accept">';
|
137 |
+
echo '<p class="info">';
|
138 |
+
$message = sprintf(__('I just imported bp-album to @buddypressmedia http://goo.gl/8Upmv on %s', BP_MEDIA_TXT_DOMAIN), home_url());
|
139 |
+
echo '<strong>' . __('Congratulations!', BP_MEDIA_TXT_DOMAIN) . '</strong> ' . __('All media from BP Album has been imported.', BP_MEDIA_TXT_DOMAIN);
|
140 |
+
echo ' <a href="http://twitter.com/home/?status=' . $message . '" class="button button-import-tweet" target= "_blank">' . __('Tweet this', BP_MEDIA_TXT_DOMAIN) . '</a>';
|
141 |
+
echo '</p>';
|
142 |
+
echo '</div>';
|
143 |
+
}
|
144 |
+
echo '<p>' . __('However, a lot of unnecessary files and a database table are still eating up your resources. If everything seems fine, you can clean this data up.', BP_MEDIA_TXT_DOMAIN) . '</p>';
|
145 |
+
echo '<br />';
|
146 |
+
echo '<button id="bpmedia-bpalbumimport-cleanup" class="button btn-warning">';
|
147 |
+
_e('Clean up Now', BP_MEDIA_TXT_DOMAIN);
|
148 |
echo '</button>';
|
149 |
+
echo ' <a href="' . add_query_arg(
|
150 |
+
array('page' => 'bp-media-settings'), (is_multisite() ? network_admin_url('admin.php') : admin_url('admin.php'))
|
151 |
+
) . '" id="bpmedia-bpalbumimport-cleanup-later" class="button">';
|
152 |
+
_e('Clean up Later', BP_MEDIA_TXT_DOMAIN);
|
153 |
+
echo '</a>';
|
154 |
}
|
155 |
echo '</div>';
|
156 |
}
|
157 |
|
158 |
+
function create_album($author_id, $album_name = 'Imported Media') {
|
159 |
global $bp_media, $wpdb;
|
160 |
|
161 |
if (array_key_exists('bp_album_import_name', $bp_media->options)) {
|
173 |
} else {
|
174 |
$album_id = $result[0]->ID;
|
175 |
}
|
176 |
+
$wpdb->update($wpdb->base_prefix . 'bp_activity', array('secondary_item_id' => -999), array('id' => get_post_meta($album_id, 'bp_media_child_activity', true)));
|
177 |
|
178 |
return $album_id;
|
179 |
}
|
180 |
|
181 |
+
static function get_total_count() {
|
182 |
+
global $wpdb;
|
183 |
+
$table = $wpdb->base_prefix . 'bp_album';
|
184 |
+
if (BPMediaAlbumimporter::table_exists($table) && BPMediaAlbumimporter::_active('bp-album/loader.php') != -1) {
|
185 |
+
return $wpdb->get_results("SELECT COUNT(DISTINCT owner_id) as users, COUNT(id) as media FROM $table");
|
186 |
+
}
|
187 |
+
return 0;
|
188 |
+
}
|
189 |
+
|
190 |
+
function get_remaining_comments() {
|
191 |
+
global $wpdb;
|
192 |
+
$bp_album_table = $wpdb->base_prefix . 'bp_album';
|
193 |
+
$activity_table = $wpdb->base_prefix . 'bp_activity';
|
194 |
+
if ($this->table_exists($bp_album_table) && BPMediaAlbumimporter::_active('bp-album/loader.php') != -1) {
|
195 |
+
return $wpdb->get_var("SELECT SUM( b.count ) AS total
|
196 |
+
FROM (
|
197 |
+
SELECT (
|
198 |
+
SELECT COUNT( a.id )
|
199 |
+
FROM $activity_table a
|
200 |
+
WHERE a.item_id = activity.id
|
201 |
+
AND a.component = 'activity'
|
202 |
+
AND a.type = 'activity_comment'
|
203 |
+
) AS count
|
204 |
+
FROM $activity_table AS activity
|
205 |
+
INNER JOIN $bp_album_table AS album ON ( album.id = activity.item_id )
|
206 |
+
WHERE activity.component = 'album'
|
207 |
+
AND activity.type = 'bp_album_picture'
|
208 |
+
AND album.import_status =0
|
209 |
+
)b");
|
210 |
+
}
|
211 |
+
return 0;
|
212 |
+
}
|
213 |
+
|
214 |
+
function get_finished_comments() {
|
215 |
+
global $wpdb;
|
216 |
+
$bp_album_table = $wpdb->base_prefix . 'bp_album';
|
217 |
+
$activity_table = $wpdb->base_prefix . 'bp_activity';
|
218 |
+
if ($this->table_exists($bp_album_table) && BPMediaAlbumimporter::_active('bp-album/loader.php') != -1) {
|
219 |
+
return $wpdb->get_var("SELECT COUNT( activity.id ) AS count
|
220 |
+
FROM $activity_table AS activity
|
221 |
+
INNER JOIN $bp_album_table AS album ON ( activity.item_id = album.import_status )
|
222 |
+
WHERE activity.component = 'activity'
|
223 |
+
AND activity.type = 'activity_comment'");
|
224 |
+
}
|
225 |
+
return 0;
|
226 |
+
}
|
227 |
+
|
228 |
+
static function get_completed_users() {
|
229 |
+
global $wpdb;
|
230 |
+
$table = $wpdb->base_prefix . 'bp_album';
|
231 |
+
if (BPMediaAlbumimporter::table_exists($table) && BPMediaAlbumimporter::_active('bp-album/loader.php') != -1) {
|
232 |
+
return $wpdb->get_results("SELECT COUNT( DISTINCT owner_id ) AS users
|
233 |
+
FROM $table
|
234 |
+
WHERE owner_id NOT
|
235 |
+
IN (
|
236 |
+
SELECT a.owner_id
|
237 |
+
FROM $table a
|
238 |
+
WHERE a.import_status =0
|
239 |
+
)
|
240 |
+
");
|
241 |
+
}
|
242 |
+
return 0;
|
243 |
+
}
|
244 |
+
|
245 |
+
static function get_completed_media() {
|
246 |
global $wpdb;
|
247 |
$table = $wpdb->base_prefix . 'bp_album';
|
248 |
+
if (BPMediaAlbumimporter::table_exists($table) && BPMediaAlbumimporter::_active('bp-album/loader.php') != -1) {
|
249 |
+
return $wpdb->get_results("SELECT COUNT(id) as media FROM $table WHERE import_status!=0");
|
250 |
}
|
251 |
return 0;
|
252 |
}
|
253 |
|
254 |
+
static function get_corrupt_media() {
|
255 |
global $wpdb;
|
256 |
$table = $wpdb->base_prefix . 'bp_album';
|
257 |
+
if (BPMediaAlbumimporter::table_exists($table) && BPMediaAlbumimporter::_active('bp-album/loader.php') != -1) {
|
258 |
+
return $wpdb->get_results("SELECT id,title,pic_org_url FROM $table WHERE import_status=-1");
|
259 |
}
|
260 |
return 0;
|
261 |
}
|
262 |
|
263 |
+
static function batch_import($count = 5) {
|
264 |
global $wpdb;
|
265 |
$table = $wpdb->base_prefix . 'bp_album';
|
266 |
+
$bp_album_data = $wpdb->get_results("SELECT * FROM $table WHERE import_status = 0 ORDER BY owner_id LIMIT $count");
|
267 |
return $bp_album_data;
|
268 |
}
|
269 |
|
270 |
static function bpmedia_ajax_import_callback() {
|
271 |
|
272 |
$page = isset($_GET['page']) ? $_GET['page'] : 1;
|
273 |
+
$count = isset($_GET['count']) ? $_GET['count'] : 5;
|
274 |
+
$bp_album_data = BPMediaAlbumimporter::batch_import($count);
|
|
|
|
|
275 |
global $wpdb;
|
276 |
$table = $wpdb->base_prefix . 'bp_album';
|
277 |
+
$activity_table = $wpdb->base_prefix . 'bp_activity';
|
278 |
+
$activity_meta_table = $wpdb->base_prefix . 'bp_activity_meta';
|
279 |
+
$comments = 0;
|
280 |
foreach ($bp_album_data as &$bp_album_item) {
|
281 |
|
282 |
if (get_site_option('bp_media_bp_album_importer_base_path') == '') {
|
283 |
$base_path = pathinfo($bp_album_item->pic_org_path);
|
284 |
update_site_option('bp_media_bp_album_importer_base_path', $base_path['dirname']);
|
285 |
}
|
286 |
+
$bpm_host_wp = new BPMediaHostWordpress();
|
287 |
+
$bpm_host_wp->check_and_create_album(0, 0, $bp_album_item->owner_id);
|
288 |
+
$album_id = BPMediaAlbumimporter::create_album($bp_album_item->owner_id, 'Imported Media');
|
289 |
$imported_media_id = BPMediaImporter::add_media(
|
290 |
+
$album_id, $bp_album_item->title, $bp_album_item->description, $bp_album_item->pic_org_path, $bp_album_item->privacy, $bp_album_item->owner_id, 'Imported Media'
|
291 |
);
|
292 |
+
$wpdb->update($table, array('import_status' => ($imported_media_id) ? $imported_media_id : -1), array('id' => $bp_album_item->id), array('%d'), array('%d'));
|
293 |
+
if ($imported_media_id) {
|
294 |
+
$comments += (int) BPMediaAlbumimporter::update_recorded_time_and_comments($imported_media_id, $bp_album_item->id, "{$wpdb->base_prefix}bp_album");
|
295 |
+
$bp_album_media_id = $wpdb->get_var("SELECT activity.id from $activity_table as activity INNER JOIN $table as album ON ( activity.item_id = album.id ) WHERE activity.item_id = $bp_album_item->id AND activity.component = 'album' AND activity.type='bp_album_picture'");
|
296 |
+
$wpdb->update($table, array('old_activity_id' => $bp_album_media_id), array('id' => $bp_album_item->id), array('%d'), array('%d'));
|
297 |
+
$bp_new_activity_id = $wpdb->get_var("SELECT id from $activity_table WHERE item_id = $imported_media_id AND component = 'activity' AND type='activity_update' AND secondary_item_id=0");
|
298 |
+
$wpdb->update($table, array('new_activity_id' => $bp_new_activity_id), array('id' => $bp_album_item->id), array('%d'), array('%d'));
|
299 |
+
if ($wpdb->update($activity_meta_table, array('activity_id' => $bp_new_activity_id), array('activity_id' => $bp_album_media_id, 'meta_key' => 'favorite_count'), array('%d'), array('%d'))) {
|
300 |
+
$wpdb->update($table, array('favorites' => 1), array('id' => $bp_album_item->id), array('%d'), array('%d'));
|
301 |
+
}
|
302 |
+
}
|
303 |
}
|
304 |
|
305 |
+
$finished_users = BPMediaAlbumimporter::get_completed_users();
|
306 |
+
|
307 |
+
echo json_encode(array('page' => $page, 'users' => $finished_users[0]->users, 'comments' => $comments));
|
308 |
+
die();
|
309 |
+
}
|
310 |
+
|
311 |
+
static function bpmedia_ajax_import_favorites() {
|
312 |
+
global $wpdb;
|
313 |
+
$table = $wpdb->base_prefix . 'bp_album';
|
314 |
+
$users = count_users();
|
315 |
+
echo json_encode(array('favorites' => $wpdb->get_var("SELECT COUNT(id) from $table WHERE favorites != 0"), 'users' => $users['total_users'], 'offset' => (int) get_site_option('bp_media_bp_album_favorite_import_status', 0)));
|
316 |
+
die();
|
317 |
+
}
|
318 |
+
|
319 |
+
static function bpmedia_ajax_import_step_favorites() {
|
320 |
+
$offset = isset($_POST['offset']) ? $_POST['offset'] : 0;
|
321 |
+
$redirect = isset($_POST['redirect']) ? $_POST['redirect'] : FALSE;
|
322 |
+
global $wpdb;
|
323 |
+
$table = $wpdb->base_prefix . 'bp_album';
|
324 |
+
$blogusers = get_users(array('meta_key' => 'bp_favorite_activities', 'offset' => $offset, 'number' => 1));
|
325 |
+
if ($blogusers) {
|
326 |
+
foreach ($blogusers as $user) {
|
327 |
+
$favorite_activities = get_user_meta($user->ID, 'bp_favorite_activities', true);
|
328 |
+
if ($favorite_activities) {
|
329 |
+
$new_favorite_activities = $favorite_activities;
|
330 |
+
foreach ($favorite_activities as $key => $favorite) {
|
331 |
+
if ($new_act = $wpdb->get_var("SELECT new_activity_id from $table WHERE old_activity_id = $favorite"))
|
332 |
+
$new_favorite_activities[$key] = $new_act;
|
333 |
+
}
|
334 |
+
update_user_meta($user->ID, 'bp_favorite_activities', $new_favorite_activities);
|
335 |
+
}
|
336 |
+
$completed_users_favorites = (int) get_site_option('bp_media_bp_album_favorite_import_status', 0) + 1;
|
337 |
+
update_site_option('bp_media_bp_album_favorite_import_status', $completed_users_favorites);
|
338 |
+
}
|
339 |
+
}
|
340 |
+
echo $redirect;
|
341 |
die();
|
342 |
}
|
343 |
|
360 |
}
|
361 |
}
|
362 |
$activity_id = get_post_meta($media->get_id(), 'bp_media_child_activity', true);
|
|
|
363 |
if ($activity_id) {
|
364 |
$date_uploaded = $wpdb->get_var("SELECT date_uploaded from $table WHERE id = $bp_album_id");
|
365 |
+
$old_activity_id = $wpdb->get_var("SELECT id from {$wpdb->base_prefix}bp_activity WHERE component = 'album' AND type = 'bp_album_picture' AND item_id = $bp_album_id");
|
366 |
+
if ($old_activity_id) {
|
367 |
+
$comments = $wpdb->get_results("SELECT id,secondary_item_id from {$wpdb->base_prefix}bp_activity WHERE component = 'activity' AND type = 'activity_comment' AND item_id = $old_activity_id");
|
368 |
+
foreach ($comments as $comment) {
|
369 |
+
$update = array('item_id' => $activity_id);
|
370 |
+
if ($comment->secondary_item_id == $old_activity_id) {
|
371 |
+
$update['secondary_item_id'] = $activity_id;
|
372 |
+
}
|
373 |
+
$wpdb->update($wpdb->base_prefix . 'bp_activity', $update, array('id' => $comment->id));
|
374 |
+
BP_Activity_Activity::rebuild_activity_comment_tree($activity_id);
|
375 |
}
|
|
|
|
|
376 |
}
|
377 |
+
$wpdb->update($wpdb->base_prefix . 'bp_activity', array('date_recorded' => $date_uploaded), array('id' => $activity_id));
|
378 |
+
return count($comments);
|
379 |
}
|
380 |
+
|
381 |
+
return 0;
|
382 |
}
|
383 |
}
|
384 |
|
385 |
+
static function bp_album_deactivate() {
|
386 |
+
deactivate_plugins('bp-album/loader.php');
|
387 |
+
die(true);
|
388 |
+
}
|
389 |
+
|
390 |
}
|
391 |
|
392 |
?>
|
app/importers/BPMediaImporter.php
CHANGED
@@ -22,11 +22,7 @@ class BPMediaImporter {
|
|
22 |
|
23 |
}
|
24 |
|
25 |
-
function table_exists($table) {
|
26 |
-
|
27 |
-
//for 2.7.6 please remove for 2.8
|
28 |
-
return false;
|
29 |
-
|
30 |
global $wpdb;
|
31 |
|
32 |
if ($wpdb->query("SHOW TABLES LIKE '" . $table . "'") == 1) {
|
@@ -37,10 +33,6 @@ class BPMediaImporter {
|
|
37 |
}
|
38 |
|
39 |
static function _active($path) {
|
40 |
-
|
41 |
-
//for 2.7.6 please remove for 2.8
|
42 |
-
return -1;
|
43 |
-
|
44 |
if (!function_exists('is_plugin_inactive')) {
|
45 |
require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
|
46 |
}
|
@@ -75,9 +67,12 @@ class BPMediaImporter {
|
|
75 |
if (!is_dir($tmp_dir)) {
|
76 |
wp_mkdir_p($tmp_dir);
|
77 |
}
|
78 |
-
if
|
79 |
-
|
|
|
|
|
80 |
}
|
|
|
81 |
}
|
82 |
|
83 |
function create_album($album_name = '', $author_id = 1) {
|
@@ -101,18 +96,18 @@ class BPMediaImporter {
|
|
101 |
return $album_id;
|
102 |
}
|
103 |
|
104 |
-
static function add_media($album_id, $title = '', $description = '', $filepath = '', $privacy = 0, $author_id = false) {
|
105 |
|
106 |
|
107 |
$files = BPMediaImporter::make_copy($filepath);
|
108 |
if ($files) {
|
109 |
-
|
110 |
$bp_imported_media = new BPMediaHostWordpress();
|
111 |
// add_filter('bp_media_force_hide_activity', create_function('', 'return true;'));
|
112 |
-
$imported_media_id = $bp_imported_media->
|
113 |
-
|
114 |
wp_update_post($args = array('ID' => $imported_media_id, 'post_author' => $author_id));
|
115 |
-
|
116 |
$bp_album_privacy = $privacy;
|
117 |
if ($bp_album_privacy == 10)
|
118 |
$bp_album_privacy = 6;
|
22 |
|
23 |
}
|
24 |
|
25 |
+
static function table_exists($table) {
|
|
|
|
|
|
|
|
|
26 |
global $wpdb;
|
27 |
|
28 |
if ($wpdb->query("SHOW TABLES LIKE '" . $table . "'") == 1) {
|
33 |
}
|
34 |
|
35 |
static function _active($path) {
|
|
|
|
|
|
|
|
|
36 |
if (!function_exists('is_plugin_inactive')) {
|
37 |
require_once( ABSPATH . '/wp-admin/includes/plugin.php' );
|
38 |
}
|
67 |
if (!is_dir($tmp_dir)) {
|
68 |
wp_mkdir_p($tmp_dir);
|
69 |
}
|
70 |
+
if(file_exists($filepath)) {
|
71 |
+
if (copy($filepath, $newpath)) {
|
72 |
+
return BPMediaImporter::file_array($newpath);
|
73 |
+
}
|
74 |
}
|
75 |
+
return 0;
|
76 |
}
|
77 |
|
78 |
function create_album($album_name = '', $author_id = 1) {
|
96 |
return $album_id;
|
97 |
}
|
98 |
|
99 |
+
static function add_media($album_id, $title = '', $description = '', $filepath = '', $privacy = 0, $author_id = false, $album_name = false) {
|
100 |
|
101 |
|
102 |
$files = BPMediaImporter::make_copy($filepath);
|
103 |
if ($files) {
|
104 |
+
global $wpdb;
|
105 |
$bp_imported_media = new BPMediaHostWordpress();
|
106 |
// add_filter('bp_media_force_hide_activity', create_function('', 'return true;'));
|
107 |
+
$imported_media_id = $bp_imported_media->insert_media($title, $description, $album_id, 0, false, false, $files, $author_id, $album_name);
|
108 |
+
|
109 |
wp_update_post($args = array('ID' => $imported_media_id, 'post_author' => $author_id));
|
110 |
+
|
111 |
$bp_album_privacy = $privacy;
|
112 |
if ($bp_album_privacy == 10)
|
113 |
$bp_album_privacy = 6;
|
app/main/group/BPMediaGroupElementExtension.php
CHANGED
@@ -29,7 +29,10 @@ if (class_exists('BP_Group_Extension')) :
|
|
29 |
* @throws Exception
|
30 |
*/
|
31 |
function display() {
|
32 |
-
global $bp;
|
|
|
|
|
|
|
33 |
$current_tab = BP_MEDIA_IMAGES_SLUG;
|
34 |
if (isset($bp->action_variables[0])) {
|
35 |
$current_tab = $bp->action_variables[0];
|
@@ -61,11 +64,20 @@ if (class_exists('BP_Group_Extension')) :
|
|
61 |
default:
|
62 |
/** @todo Error is to be displayed for 404 */
|
63 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
64 |
if ($slug != "" && $media_type != "") {
|
65 |
if (isset($bp->action_variables[1])) {
|
66 |
switch ($bp->action_variables[1]) {
|
67 |
case 'edit':
|
68 |
-
|
69 |
break;
|
70 |
case 'delete':
|
71 |
//Delete function for media file
|
@@ -83,11 +95,10 @@ if (class_exists('BP_Group_Extension')) :
|
|
83 |
return;
|
84 |
}
|
85 |
if ($media_type == "album") {
|
86 |
-
$bp_media_content = new BPMediaAlbumScreen($media_type, BP_MEDIA_ALBUMS_VIEW_SLUG);
|
87 |
$bp->action_variables[0] = BP_MEDIA_ALBUMS_VIEW_SLUG;
|
|
|
88 |
$bp_media_content->entry_screen();
|
89 |
} else {
|
90 |
-
$bp_media_content = new BPMediaScreen($media_type, $slug);
|
91 |
}
|
92 |
$bp_media_content->entry_screen_content();
|
93 |
|
@@ -99,15 +110,12 @@ if (class_exists('BP_Group_Extension')) :
|
|
99 |
} else {
|
100 |
if ($media_type == "album") {
|
101 |
BPMediaGroupAction::bp_media_groups_albums_set_query();
|
102 |
-
$bp_media_content = new BPMediaAlbumScreen($media_type, $slug);
|
103 |
$bp_media_content->screen_content();
|
104 |
} else if ($media_type == 'upload') {
|
105 |
if (BPMediaGroupLoader::can_upload()) {
|
106 |
-
$
|
107 |
-
$bp_media_upload->upload_screen_content();
|
108 |
}
|
109 |
} else {
|
110 |
-
$bp_media_content = new BPMediaScreen($media_type, $slug);
|
111 |
$bp_media_content->screen_content();
|
112 |
}
|
113 |
}
|
29 |
* @throws Exception
|
30 |
*/
|
31 |
function display() {
|
32 |
+
global $bp,$bp_media_current_entry;
|
33 |
+
//For saving the data if the form is submitted
|
34 |
+
if ( bp_action_variable(2) )
|
35 |
+
$bp_media_current_entry = new BPMediaHostWordpress(bp_action_variable(2));
|
36 |
$current_tab = BP_MEDIA_IMAGES_SLUG;
|
37 |
if (isset($bp->action_variables[0])) {
|
38 |
$current_tab = $bp->action_variables[0];
|
64 |
default:
|
65 |
/** @todo Error is to be displayed for 404 */
|
66 |
}
|
67 |
+
if ($media_type == "album") {
|
68 |
+
$bp_media_content = new BPMediaAlbumScreen($media_type, $slug);
|
69 |
+
} else if ($media_type == 'upload') {
|
70 |
+
if (BPMediaGroupLoader::can_upload()) {
|
71 |
+
$bp_media_content = new BPMediaUploadScreen('upload', BP_MEDIA_UPLOAD_SLUG);
|
72 |
+
}
|
73 |
+
} else {
|
74 |
+
$bp_media_content = new BPMediaScreen($media_type, $slug);
|
75 |
+
}
|
76 |
if ($slug != "" && $media_type != "") {
|
77 |
if (isset($bp->action_variables[1])) {
|
78 |
switch ($bp->action_variables[1]) {
|
79 |
case 'edit':
|
80 |
+
//$bp_media_content->edit_screen_content();
|
81 |
break;
|
82 |
case 'delete':
|
83 |
//Delete function for media file
|
95 |
return;
|
96 |
}
|
97 |
if ($media_type == "album") {
|
|
|
98 |
$bp->action_variables[0] = BP_MEDIA_ALBUMS_VIEW_SLUG;
|
99 |
+
echo '<h3>'.get_the_title($bp->action_variables[1]).'</h3>';
|
100 |
$bp_media_content->entry_screen();
|
101 |
} else {
|
|
|
102 |
}
|
103 |
$bp_media_content->entry_screen_content();
|
104 |
|
110 |
} else {
|
111 |
if ($media_type == "album") {
|
112 |
BPMediaGroupAction::bp_media_groups_albums_set_query();
|
|
|
113 |
$bp_media_content->screen_content();
|
114 |
} else if ($media_type == 'upload') {
|
115 |
if (BPMediaGroupLoader::can_upload()) {
|
116 |
+
$bp_media_content->upload_screen_content();
|
|
|
117 |
}
|
118 |
} else {
|
|
|
119 |
$bp_media_content->screen_content();
|
120 |
}
|
121 |
}
|
app/main/includes/BPMediaActions.php
CHANGED
@@ -150,8 +150,8 @@ class BPMediaActions {
|
|
150 |
wp_enqueue_script('jquery-ui-tabs');
|
151 |
wp_enqueue_script('bp-media-mejs', BP_MEDIA_URL . 'lib/media-element/mediaelement-and-player.min.js', '', BP_MEDIA_VERSION);
|
152 |
wp_enqueue_script('bp-media-default', BP_MEDIA_URL . 'app/assets/js/main.js', '', BP_MEDIA_VERSION);
|
153 |
-
$lightbox = isset($bp_media->options['enable_lightbox'])
|
154 |
-
if (
|
155 |
wp_enqueue_script('bp-media-modal', BP_MEDIA_URL . 'lib/simplemodal/jquery.simplemodal-1.4.4.js', '', BP_MEDIA_VERSION);
|
156 |
$cur_group_id = NULL;
|
157 |
if (bp_is_active("groups"))
|
@@ -306,7 +306,7 @@ class BPMediaActions {
|
|
306 |
if ($bp_media_current_entry != NULL) {
|
307 |
|
308 |
if (isset($bp_media->options['download_enabled']))
|
309 |
-
$action_buttons[] = '<a href="' . admin_url('admin-ajax.php').'?action=bp_media_download&file='
|
310 |
. '" target="_blank" class="button item-button bp-secondary-action bp-media-download" title="'
|
311 |
. __('Download', BP_MEDIA_TXT_DOMAIN) . '">' . __('Download', BP_MEDIA_TXT_DOMAIN) . '</a>';
|
312 |
|
@@ -482,9 +482,9 @@ class BPMediaActions {
|
|
482 |
wp_localize_script('bp-media-activity-uploader', 'bp_media_uploader_params', $params);
|
483 |
wp_localize_script('bp-media-activity-uploader', 'activity_ajax_url', admin_url('admin-ajax.php'));
|
484 |
if (bp_is_active('groups') && bp_get_current_group_id())
|
485 |
-
$default_album = (string)$this->default_group_album();
|
486 |
else
|
487 |
-
$default_album = (string)$this->default_user_album();
|
488 |
wp_localize_script('bp-media-activity-uploader', 'default_album', $default_album ? $default_album : '0');
|
489 |
} elseif (in_array(bp_current_action(), array(BP_MEDIA_IMAGES_SLUG, BP_MEDIA_VIDEOS_SLUG, BP_MEDIA_AUDIO_SLUG, BP_MEDIA_SLUG, BP_MEDIA_ALBUMS_SLUG))) {
|
490 |
$params = array(
|
@@ -886,6 +886,14 @@ class BPMediaActions {
|
|
886 |
if ($album_id) {
|
887 |
update_user_meta($current_user_id, 'bp-media-default-album', $album_id);
|
888 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
889 |
}
|
890 |
return $album_id;
|
891 |
}
|
@@ -913,6 +921,14 @@ class BPMediaActions {
|
|
913 |
if ($album_id) {
|
914 |
groups_update_groupmeta($group_id, 'bp_media_default_album', $album_id);
|
915 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
916 |
}
|
917 |
}
|
918 |
}
|
150 |
wp_enqueue_script('jquery-ui-tabs');
|
151 |
wp_enqueue_script('bp-media-mejs', BP_MEDIA_URL . 'lib/media-element/mediaelement-and-player.min.js', '', BP_MEDIA_VERSION);
|
152 |
wp_enqueue_script('bp-media-default', BP_MEDIA_URL . 'app/assets/js/main.js', '', BP_MEDIA_VERSION);
|
153 |
+
$lightbox = isset($bp_media->options['enable_lightbox']) ? $bp_media->options['enable_lightbox'] : 0;
|
154 |
+
if ($lightbox)
|
155 |
wp_enqueue_script('bp-media-modal', BP_MEDIA_URL . 'lib/simplemodal/jquery.simplemodal-1.4.4.js', '', BP_MEDIA_VERSION);
|
156 |
$cur_group_id = NULL;
|
157 |
if (bp_is_active("groups"))
|
306 |
if ($bp_media_current_entry != NULL) {
|
307 |
|
308 |
if (isset($bp_media->options['download_enabled']))
|
309 |
+
$action_buttons[] = '<a href="' . admin_url('admin-ajax.php') . '?action=bp_media_download&file=' . $bp_media_current_entry->get_attachment_url()
|
310 |
. '" target="_blank" class="button item-button bp-secondary-action bp-media-download" title="'
|
311 |
. __('Download', BP_MEDIA_TXT_DOMAIN) . '">' . __('Download', BP_MEDIA_TXT_DOMAIN) . '</a>';
|
312 |
|
482 |
wp_localize_script('bp-media-activity-uploader', 'bp_media_uploader_params', $params);
|
483 |
wp_localize_script('bp-media-activity-uploader', 'activity_ajax_url', admin_url('admin-ajax.php'));
|
484 |
if (bp_is_active('groups') && bp_get_current_group_id())
|
485 |
+
$default_album = (string) $this->default_group_album();
|
486 |
else
|
487 |
+
$default_album = (string) $this->default_user_album();
|
488 |
wp_localize_script('bp-media-activity-uploader', 'default_album', $default_album ? $default_album : '0');
|
489 |
} elseif (in_array(bp_current_action(), array(BP_MEDIA_IMAGES_SLUG, BP_MEDIA_VIDEOS_SLUG, BP_MEDIA_AUDIO_SLUG, BP_MEDIA_SLUG, BP_MEDIA_ALBUMS_SLUG))) {
|
490 |
$params = array(
|
886 |
if ($album_id) {
|
887 |
update_user_meta($current_user_id, 'bp-media-default-album', $album_id);
|
888 |
}
|
889 |
+
} else {
|
890 |
+
global $wpdb;
|
891 |
+
$exists = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE ID = $album_id");
|
892 |
+
if (!$exists) {
|
893 |
+
$bpm_host_wp = new BPMediaHostWordpress();
|
894 |
+
$album_id = $bpm_host_wp->check_and_create_album(0, 0, $current_user_id);
|
895 |
+
update_user_meta($current_user_id, 'bp-media-default-album', $album_id);
|
896 |
+
}
|
897 |
}
|
898 |
return $album_id;
|
899 |
}
|
921 |
if ($album_id) {
|
922 |
groups_update_groupmeta($group_id, 'bp_media_default_album', $album_id);
|
923 |
}
|
924 |
+
} else {
|
925 |
+
global $wpdb;
|
926 |
+
$exists = $wpdb->get_var("SELECT ID FROM $wpdb->posts WHERE ID = $album_id");
|
927 |
+
if (!$exists) {
|
928 |
+
$bp_album = new BPMediaHostWordpress();
|
929 |
+
$album_id = $bp_album->check_and_create_album(0, bp_get_current_group_id());
|
930 |
+
groups_update_groupmeta($group_id, 'bp_media_default_album', $album_id);
|
931 |
+
}
|
932 |
}
|
933 |
}
|
934 |
}
|
app/main/includes/BPMediaHostWordpress.php
CHANGED
@@ -110,14 +110,21 @@ class BPMediaHostWordpress {
|
|
110 |
* @throws Exception
|
111 |
* @uses global var $_FILES
|
112 |
*/
|
113 |
-
function add_media($name, $description, $album_id = 0, $group = 0, $is_multiple = false, $is_activity = false, $files = false) {
|
|
|
|
|
|
|
|
|
114 |
do_action('bp_media_before_add_media');
|
115 |
|
116 |
global $bp, $wpdb, $bp_media;
|
117 |
include_once(ABSPATH . 'wp-admin/includes/file.php');
|
118 |
include_once(ABSPATH . 'wp-admin/includes/image.php');
|
119 |
-
|
120 |
-
|
|
|
|
|
|
|
121 |
|
122 |
if (!$files) {
|
123 |
$files = $_FILES['bp_media_file'];
|
@@ -220,7 +227,7 @@ class BPMediaHostWordpress {
|
|
220 |
$activity_content = false;
|
221 |
throw new Exception(__('Media File you have tried to upload is not supported. Supported media files are .jpg, .png, .gif, .mp3, .mov and .mp4.', BP_MEDIA_TXT_DOMAIN));
|
222 |
}
|
223 |
-
|
224 |
if (!is_wp_error($attachment_id)) {
|
225 |
wp_update_attachment_metadata($attachment_id, wp_generate_attachment_metadata($attachment_id, $file));
|
226 |
} else {
|
@@ -231,12 +238,12 @@ class BPMediaHostWordpress {
|
|
231 |
$this->name = $name;
|
232 |
$this->description = $description;
|
233 |
$this->type = $type;
|
234 |
-
$this->owner =
|
235 |
$this->album_id = $post_id;
|
236 |
$this->group_id = $group;
|
237 |
$this->set_permalinks();
|
238 |
if ($group == 0) {
|
239 |
-
update_post_meta($attachment_id, 'bp-media-key',
|
240 |
} else {
|
241 |
update_post_meta($attachment_id, 'bp-media-key', (-$group));
|
242 |
}
|
@@ -274,7 +281,7 @@ class BPMediaHostWordpress {
|
|
274 |
function get_media_activity_content() {
|
275 |
global $bp_media_counter, $bp_media_default_excerpts, $bp_media;
|
276 |
$attachment_id = $this->id;
|
277 |
-
$activity_content = apply_filters('bp_media_single_activity_title', '<div class="bp_media_title"><a href="' . $this->url . '" title="' . __($this->
|
278 |
$activity_content .='<div class="bp_media_content">';
|
279 |
switch ($this->type) {
|
280 |
case 'video' :
|
@@ -358,13 +365,13 @@ class BPMediaHostWordpress {
|
|
358 |
case 'video' :
|
359 |
if ($this->thumbnail_id) {
|
360 |
$image_array = image_downsize($this->thumbnail_id, 'bp_media_single_image');
|
361 |
-
$content.=apply_filters('bp_media_single_content_filter', '<video poster="' . $image_array[0] . '" src="' . wp_get_attachment_url($this->id) . '" width="' . $default_sizes['single_video']['width'] . '" height="' . ($default_sizes['single_video']['height'] == 0 ? 'auto' : $default_sizes['single_video']['height']) . '" type="video/mp4" id="bp_media_video_' . $this->id . '" controls="controls" preload="none"></video
|
362 |
} else {
|
363 |
-
$content.=apply_filters('bp_media_single_content_filter', '<video src="' . wp_get_attachment_url($this->id) . '" width="' . $default_sizes['single_video']['width'] . '" height="' . ($default_sizes['single_video']['height'] == 0 ? 'auto' : $default_sizes['single_video']['height']) . '" type="video/mp4" id="bp_media_video_' . $this->id . '" controls="controls" preload="none"></video
|
364 |
}
|
365 |
break;
|
366 |
case 'audio' :
|
367 |
-
$content.=apply_filters('bp_media_single_content_filter', '<audio src="' . wp_get_attachment_url($this->id) . '" width="' . $default_sizes['single_audio']['width'] . '" type="audio/mp3" id="bp_media_audio_' . $this->id . '" controls="controls" preload="none" ></audio
|
368 |
break;
|
369 |
case 'image' :
|
370 |
$image_array = image_downsize($this->id, 'bp_media_single_image');
|
@@ -971,13 +978,14 @@ class BPMediaHostWordpress {
|
|
971 |
* @param type $group
|
972 |
* @return type
|
973 |
*/
|
974 |
-
function check_and_create_album($album_id, $group) {
|
975 |
global $wpdb;
|
976 |
-
|
|
|
977 |
$create_new_album_flag = false;
|
978 |
if ($album_id != 0) {
|
979 |
$album = get_post($album_id);
|
980 |
-
if ($album->post_author !=
|
981 |
$create_new_album_flag = true;
|
982 |
} else {
|
983 |
$post_id = $album->ID;
|
@@ -992,13 +1000,13 @@ class BPMediaHostWordpress {
|
|
992 |
"SELECT ID
|
993 |
FROM $wpdb->posts
|
994 |
WHERE
|
995 |
-
post_title = $
|
996 |
-
AND post_author = '" .
|
997 |
AND post_type='bp_media_album'"
|
998 |
);
|
999 |
} else {
|
1000 |
$post_id = $wpdb->get_var(
|
1001 |
-
"SELECT
|
1002 |
FROM $wpdb->posts
|
1003 |
INNER JOIN $wpdb->postmeta ON $wpdb->posts.ID = $wpdb->postmeta.post_id
|
1004 |
AND $wpdb->postmeta.meta_key = 'bp-media-key'
|
@@ -1008,9 +1016,9 @@ class BPMediaHostWordpress {
|
|
1008 |
if ($post_id == null) {
|
1009 |
$album = new BPMediaAlbum();
|
1010 |
if ($group == 0)
|
1011 |
-
$album->add_album($
|
1012 |
else {
|
1013 |
-
$album->add_album($current_user->display_name . '\'s Album',
|
1014 |
}
|
1015 |
$post_id = $album->get_id();
|
1016 |
}
|
110 |
* @throws Exception
|
111 |
* @uses global var $_FILES
|
112 |
*/
|
113 |
+
function add_media($name, $description, $album_id = 0, $group = 0, $is_multiple = false, $is_activity = false, $files = false, $author_id = false, $album_name = false) {
|
114 |
+
echo $this->insert_media($name, $description, $album_id, $group, $is_multiple, $is_activity, $files, $author_id, $album_name);
|
115 |
+
}
|
116 |
+
|
117 |
+
function insert_media($name, $description, $album_id = 0, $group = 0, $is_multiple = false, $is_activity = false, $files = false, $author_id = false, $album_name = false){
|
118 |
do_action('bp_media_before_add_media');
|
119 |
|
120 |
global $bp, $wpdb, $bp_media;
|
121 |
include_once(ABSPATH . 'wp-admin/includes/file.php');
|
122 |
include_once(ABSPATH . 'wp-admin/includes/image.php');
|
123 |
+
|
124 |
+
if ( !$author_id )
|
125 |
+
$author_id = get_current_user_id ();
|
126 |
+
|
127 |
+
$post_id = $this->check_and_create_album($album_id, $group, $author_id, $album_name);
|
128 |
|
129 |
if (!$files) {
|
130 |
$files = $_FILES['bp_media_file'];
|
227 |
$activity_content = false;
|
228 |
throw new Exception(__('Media File you have tried to upload is not supported. Supported media files are .jpg, .png, .gif, .mp3, .mov and .mp4.', BP_MEDIA_TXT_DOMAIN));
|
229 |
}
|
230 |
+
$attachment_id = wp_insert_attachment($attachment, $file, $post_id);
|
231 |
if (!is_wp_error($attachment_id)) {
|
232 |
wp_update_attachment_metadata($attachment_id, wp_generate_attachment_metadata($attachment_id, $file));
|
233 |
} else {
|
238 |
$this->name = $name;
|
239 |
$this->description = $description;
|
240 |
$this->type = $type;
|
241 |
+
$this->owner = $author_id;
|
242 |
$this->album_id = $post_id;
|
243 |
$this->group_id = $group;
|
244 |
$this->set_permalinks();
|
245 |
if ($group == 0) {
|
246 |
+
update_post_meta($attachment_id, 'bp-media-key', $author_id);
|
247 |
} else {
|
248 |
update_post_meta($attachment_id, 'bp-media-key', (-$group));
|
249 |
}
|
281 |
function get_media_activity_content() {
|
282 |
global $bp_media_counter, $bp_media_default_excerpts, $bp_media;
|
283 |
$attachment_id = $this->id;
|
284 |
+
$activity_content = apply_filters('bp_media_single_activity_title', '<div class="bp_media_title"><a href="' . $this->url . '" title="' . __($this->name, BP_MEDIA_TXT_DOMAIN) . '">' . __(wp_html_excerpt($this->name, $bp_media_default_excerpts['activity_entry_title']), BP_MEDIA_TXT_DOMAIN) . '</a></div>');
|
285 |
$activity_content .='<div class="bp_media_content">';
|
286 |
switch ($this->type) {
|
287 |
case 'video' :
|
365 |
case 'video' :
|
366 |
if ($this->thumbnail_id) {
|
367 |
$image_array = image_downsize($this->thumbnail_id, 'bp_media_single_image');
|
368 |
+
$content.=apply_filters('bp_media_single_content_filter', '<video poster="' . $image_array[0] . '" src="' . wp_get_attachment_url($this->id) . '" width="' . $default_sizes['single_video']['width'] . '" height="' . ($default_sizes['single_video']['height'] == 0 ? 'auto' : $default_sizes['single_video']['height']) . '" type="video/mp4" id="bp_media_video_' . $this->id . '" controls="controls" preload="none"></video>', $this);
|
369 |
} else {
|
370 |
+
$content.=apply_filters('bp_media_single_content_filter', '<video src="' . wp_get_attachment_url($this->id) . '" width="' . $default_sizes['single_video']['width'] . '" height="' . ($default_sizes['single_video']['height'] == 0 ? 'auto' : $default_sizes['single_video']['height']) . '" type="video/mp4" id="bp_media_video_' . $this->id . '" controls="controls" preload="none"></video>', $this);
|
371 |
}
|
372 |
break;
|
373 |
case 'audio' :
|
374 |
+
$content.=apply_filters('bp_media_single_content_filter', '<audio src="' . wp_get_attachment_url($this->id) . '" width="' . $default_sizes['single_audio']['width'] . '" type="audio/mp3" id="bp_media_audio_' . $this->id . '" controls="controls" preload="none" ></audio>', $this);
|
375 |
break;
|
376 |
case 'image' :
|
377 |
$image_array = image_downsize($this->id, 'bp_media_single_image');
|
978 |
* @param type $group
|
979 |
* @return type
|
980 |
*/
|
981 |
+
function check_and_create_album($album_id, $group, $author_id = false, $album_name = false) {
|
982 |
global $wpdb;
|
983 |
+
if (!$album_name)
|
984 |
+
$album_name = __('Wall Posts', BP_MEDIA_TXT_DOMAIN);
|
985 |
$create_new_album_flag = false;
|
986 |
if ($album_id != 0) {
|
987 |
$album = get_post($album_id);
|
988 |
+
if ($album->post_author != $author_id && $group == 0) {
|
989 |
$create_new_album_flag = true;
|
990 |
} else {
|
991 |
$post_id = $album->ID;
|
1000 |
"SELECT ID
|
1001 |
FROM $wpdb->posts
|
1002 |
WHERE
|
1003 |
+
post_title = '$album_name'
|
1004 |
+
AND post_author = '" . $author_id . "'
|
1005 |
AND post_type='bp_media_album'"
|
1006 |
);
|
1007 |
} else {
|
1008 |
$post_id = $wpdb->get_var(
|
1009 |
+
"SELECT $wpdb->posts.ID
|
1010 |
FROM $wpdb->posts
|
1011 |
INNER JOIN $wpdb->postmeta ON $wpdb->posts.ID = $wpdb->postmeta.post_id
|
1012 |
AND $wpdb->postmeta.meta_key = 'bp-media-key'
|
1016 |
if ($post_id == null) {
|
1017 |
$album = new BPMediaAlbum();
|
1018 |
if ($group == 0)
|
1019 |
+
$album->add_album($album_name, $author_id, $group);
|
1020 |
else {
|
1021 |
+
$album->add_album($current_user->display_name . '\'s Album', $author_id, $group);
|
1022 |
}
|
1023 |
$post_id = $album->get_id();
|
1024 |
}
|
app/main/profile/BPMediaAlbumScreen.php
CHANGED
@@ -42,7 +42,11 @@ class BPMediaAlbumScreen extends BPMediaScreen {
|
|
42 |
if (!isset($bp->action_variables[1])) {
|
43 |
$this->page_not_exist();
|
44 |
}
|
45 |
-
$
|
|
|
|
|
|
|
|
|
46 |
break;
|
47 |
default:
|
48 |
$this->set_query();
|
@@ -133,7 +137,9 @@ class BPMediaAlbumScreen extends BPMediaScreen {
|
|
133 |
if ($allowed_edit != false) {
|
134 |
echo '<div class="album-edit">';
|
135 |
echo '<a href="' . $bp_media_current_album->get_edit_url() . '" class="button item-button bp-secondary-action bp-media-edit bp-media-edit-album" title="' . __('Edit Album', BP_MEDIA_TXT_DOMAIN) . '">' . __('Edit', BP_MEDIA_TXT_DOMAIN) . '</a>';
|
136 |
-
|
|
|
|
|
137 |
echo '</div>';
|
138 |
}
|
139 |
}
|
42 |
if (!isset($bp->action_variables[1])) {
|
43 |
$this->page_not_exist();
|
44 |
}
|
45 |
+
$media_actions = new BPMediaActions();
|
46 |
+
if ( $media_actions->default_user_album() != $bp->action_variables[1])
|
47 |
+
$this->entry_delete();
|
48 |
+
else
|
49 |
+
$this->page_not_exist();
|
50 |
break;
|
51 |
default:
|
52 |
$this->set_query();
|
137 |
if ($allowed_edit != false) {
|
138 |
echo '<div class="album-edit">';
|
139 |
echo '<a href="' . $bp_media_current_album->get_edit_url() . '" class="button item-button bp-secondary-action bp-media-edit bp-media-edit-album" title="' . __('Edit Album', BP_MEDIA_TXT_DOMAIN) . '">' . __('Edit', BP_MEDIA_TXT_DOMAIN) . '</a>';
|
140 |
+
$media_actions = new BPMediaActions();
|
141 |
+
if ( $media_actions->default_user_album() != $bp_media_current_album->get_id())
|
142 |
+
echo '<a href="' . $bp_media_current_album->get_delete_url() . '" class="button item-button bp-secondary-action delete-activity-single confirm" rel="nofollow">' . __("Delete", BP_MEDIA_TXT_DOMAIN) . '</a>';
|
143 |
echo '</div>';
|
144 |
}
|
145 |
}
|
app/main/profile/BPMediaScreen.php
CHANGED
@@ -108,7 +108,7 @@ class BPMediaScreen {
|
|
108 |
*
|
109 |
* @global type $bp_media
|
110 |
*/
|
111 |
-
|
112 |
@setcookie('bp-message', __('The requested url does not exist', BP_MEDIA_TXT_DOMAIN), time() + 60 * 60 * 24, COOKIEPATH);
|
113 |
@setcookie('bp-message-type', 'error', time() + 60 * 60 * 24, COOKIEPATH);
|
114 |
$this->template->redirect($this->media_const);
|
108 |
*
|
109 |
* @global type $bp_media
|
110 |
*/
|
111 |
+
public function page_not_exist() {
|
112 |
@setcookie('bp-message', __('The requested url does not exist', BP_MEDIA_TXT_DOMAIN), time() + 60 * 60 * 24, COOKIEPATH);
|
113 |
@setcookie('bp-message-type', 'error', time() + 60 * 60 * 24, COOKIEPATH);
|
114 |
$this->template->redirect($this->media_const);
|
index.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: BuddyPress Media
|
4 |
Plugin URI: http://rtcamp.com/buddypress-media/?utm_source=dashboard&utm_medium=plugin&utm_campaign=buddypress-media
|
5 |
Description: This plugin adds missing media rich features like photos, videos and audio uploading to BuddyPress which are essential if you are building social network, seriously!
|
6 |
-
Version: 2.
|
7 |
Author: rtCamp
|
8 |
Text Domain: buddypress-media
|
9 |
Author URI: http://rtcamp.com/?utm_source=dashboard&utm_medium=plugin&utm_campaign=buddypress-media
|
3 |
Plugin Name: BuddyPress Media
|
4 |
Plugin URI: http://rtcamp.com/buddypress-media/?utm_source=dashboard&utm_medium=plugin&utm_campaign=buddypress-media
|
5 |
Description: This plugin adds missing media rich features like photos, videos and audio uploading to BuddyPress which are essential if you are building social network, seriously!
|
6 |
+
Version: 2.8
|
7 |
Author: rtCamp
|
8 |
Text Domain: buddypress-media
|
9 |
Author URI: http://rtcamp.com/?utm_source=dashboard&utm_medium=plugin&utm_campaign=buddypress-media
|
readme.txt
CHANGED
@@ -6,7 +6,7 @@ License: GPLv2 or later
|
|
6 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
7 |
Requires at least: WordPress 3.5 + BuddyPress 1.6
|
8 |
Tested up to: WordPress 3.5 + BuddyPress 1.6
|
9 |
-
Stable tag: 2.
|
10 |
|
11 |
Adds Photos, Music, Videos & Albums to BuddyPress. Supports mobile devices (iPhone/iPad, etc) and automatic audio/video conversion.
|
12 |
|
@@ -122,6 +122,11 @@ Please visit [BuddyPress Media's Features page](http://rtcamp.com/buddypress-med
|
|
122 |
|
123 |
Please visit [BuddyPress Media's Roadmap page](http://rtcamp.com/buddypress-media/roadmap/?utm_source=readme&utm_medium=plugin&utm_campaign=buddypress-media "Visit BuddyPress Media's Features page") to get some details about future releases.
|
124 |
|
|
|
|
|
|
|
|
|
|
|
125 |
= 2.7.6 =
|
126 |
* Fixes errors due to absence of EXIF
|
127 |
* Fixes duplicate comment box on lightbox
|
@@ -348,5 +353,5 @@ Please visit [BuddyPress Media's Roadmap page](http://rtcamp.com/buddypress-medi
|
|
348 |
* HTML5 Video Tag Support (with fallback)
|
349 |
|
350 |
== Upgrade Notice ==
|
351 |
-
= 2.
|
352 |
-
|
6 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
7 |
Requires at least: WordPress 3.5 + BuddyPress 1.6
|
8 |
Tested up to: WordPress 3.5 + BuddyPress 1.6
|
9 |
+
Stable tag: 2.8
|
10 |
|
11 |
Adds Photos, Music, Videos & Albums to BuddyPress. Supports mobile devices (iPhone/iPad, etc) and automatic audio/video conversion.
|
12 |
|
122 |
|
123 |
Please visit [BuddyPress Media's Roadmap page](http://rtcamp.com/buddypress-media/roadmap/?utm_source=readme&utm_medium=plugin&utm_campaign=buddypress-media "Visit BuddyPress Media's Features page") to get some details about future releases.
|
124 |
|
125 |
+
= 2.8 =
|
126 |
+
* Adds importer for BP Album
|
127 |
+
* Tested with [reallifescrapped](http://reallifescrapped), an aswesome social network for scrapbookers by [Meg](http://profiles.wordpress.org/oceanwidedesigns)
|
128 |
+
* Other minor bug fixes, especially for Groups
|
129 |
+
|
130 |
= 2.7.6 =
|
131 |
* Fixes errors due to absence of EXIF
|
132 |
* Fixes duplicate comment box on lightbox
|
353 |
* HTML5 Video Tag Support (with fallback)
|
354 |
|
355 |
== Upgrade Notice ==
|
356 |
+
= 2.8 =
|
357 |
+
BP-Media Importer added
|