Version Description
= * Fixed the Multisite issue for the options page.
Download this release
Release Info
Developer | rtcamp |
Plugin | rtMedia for WordPress, BuddyPress and bbPress |
Version | 2.2.6 |
Comparing to | |
See all releases |
Code changes from version 2.2.5 to 2.2.6
- includes/bp-media-actions.php +66 -41
- includes/bp-media-admin.php +80 -182
- includes/bp-media-class-wordpress.php +23 -10
- includes/bp-media-filters.php +1 -11
- includes/bp-media-loader.php +4 -1
- includes/bp-media-screens.php +5 -10
- includes/bp-media-upgrade-script.php +8 -3
- includes/bp-media-upload-handler.php +0 -5
- includes/css/bp-media-style.css +2 -1
- loader.php +24 -10
- readme.txt +4 -1
includes/bp-media-actions.php
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
*/
|
7 |
function bp_media_handle_uploads() {
|
8 |
global $bp,$bp_media_options;
|
9 |
-
$bp_media_options =
|
10 |
'videos_enabled' => true,
|
11 |
'audio_enabled' => true,
|
12 |
'images_enabled' => true,
|
@@ -14,52 +14,48 @@ function bp_media_handle_uploads() {
|
|
14 |
if (isset($_POST['action']) && $_POST['action'] == 'wp_handle_upload') {
|
15 |
/* @var $bp_media_entry BP_Media_Host_Wordpress */
|
16 |
if (isset($_FILES) && is_array($_FILES) && array_key_exists('bp_media_file', $_FILES) && $_FILES['bp_media_file']['name'] != '') {
|
17 |
-
if(preg_match('/image/',$_FILES['bp_media_file']['type'])){
|
18 |
-
|
19 |
-
$bp->{BP_MEDIA_SLUG}->messages['error'][] = __('Image uploads are disabled');
|
20 |
return;
|
21 |
-
}
|
22 |
}
|
23 |
-
|
24 |
-
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
return;
|
27 |
-
}
|
28 |
}
|
29 |
-
|
30 |
-
if($bp_media_options['audio_enabled']==false){
|
31 |
-
$bp->{BP_MEDIA_SLUG}->messages['error'][] = __('Audio uploads are disabled');
|
32 |
-
return;
|
33 |
-
}
|
34 |
-
}
|
35 |
-
$class_name = apply_filters('bp_media_transcoder','BP_Media_Host_Wordpress');
|
36 |
$bp_media_entry = new $class_name();
|
37 |
try {
|
38 |
$title = isset($_POST['bp_media_title']) ? ($_POST['bp_media_title'] != "") ? $_POST['bp_media_title'] : pathinfo($_FILES['bp_media_file']['name'], PATHINFO_FILENAME) : pathinfo($_FILES['bp_media_file']['name'], PATHINFO_FILENAME);
|
39 |
$album_id = isset($_POST['bp_media_album_id']) ? intval($_POST['bp_media_album_id']) : 0;
|
|
|
40 |
$description = isset($_POST['bp_media_description'])? $_POST['bp_media_description'] : '';
|
41 |
-
$
|
|
|
42 |
if(!isset($bp->{BP_MEDIA_SLUG}->messages['updated'][0]))
|
43 |
$bp->{BP_MEDIA_SLUG}->messages['updated'][0] = __('Upload Successful', 'bp-media');
|
44 |
} catch (Exception $e) {
|
45 |
$bp->{BP_MEDIA_SLUG}->messages['error'][] = $e->getMessage();
|
46 |
}
|
47 |
-
if(function_exists('bp_activity_add')){
|
48 |
-
$activity_content = $bp_media_entry->get_media_activity_content();
|
49 |
-
$args = array(
|
50 |
-
'action' => apply_filters( 'bp_media_added_media', sprintf( __( '%1$s added a %2$s', 'bp-media'), bp_core_get_userlink( bp_loggedin_user_id() ), '<a href="' . $bp_media_entry->get_url() . '">' . $bp_media_entry->get_media_activity_type() . '</a>' ) ),
|
51 |
-
'content' => $activity_content,
|
52 |
-
'primary_link' => $bp_media_entry->get_url(),
|
53 |
-
'item_id' => $bp_media_entry->get_id(),
|
54 |
-
'type' => 'media_upload',
|
55 |
-
);
|
56 |
-
if(isset($_POST['is_multiple_upload'])&&$_POST['is_multiple_upload']=='true'){
|
57 |
-
$args['secondary_item_id'] = -999;
|
58 |
-
do_action('bp_media_album_updated',$bp_media_entry->get_album_id());
|
59 |
-
}
|
60 |
-
$activity_id = bp_media_record_activity($args);
|
61 |
-
add_post_meta($bp_media_entry->get_id(),'bp_media_child_activity',$activity_id);
|
62 |
-
}
|
63 |
} else {
|
64 |
$bp->{BP_MEDIA_SLUG}->messages['error'][] = __('You did not specified a file to upload', 'bp-media');
|
65 |
}
|
@@ -165,7 +161,7 @@ add_action('bp_media_before_delete_media','bp_media_delete_media_handler');
|
|
165 |
* @since BP Media 2.0
|
166 |
*/
|
167 |
function bp_media_set_query() {
|
168 |
-
global $bp, $bp_media_query;
|
169 |
switch ($bp->current_action) {
|
170 |
case BP_MEDIA_IMAGES_SLUG:
|
171 |
$type = 'image';
|
@@ -193,7 +189,8 @@ function bp_media_set_query() {
|
|
193 |
'meta_key' => 'bp-media-key',
|
194 |
'meta_value' => $bp->displayed_user->id,
|
195 |
'meta_compare' => 'LIKE',
|
196 |
-
'paged' => $paged
|
|
|
197 |
);
|
198 |
$bp_media_query = new WP_Query($args);
|
199 |
}
|
@@ -353,7 +350,7 @@ function bp_media_albums_set_inner_query($album_id=0) {
|
|
353 |
* Function to return the media for the ajax requests
|
354 |
*/
|
355 |
function bp_media_load_more() {
|
356 |
-
global $bp,$bp_media_query;
|
357 |
$page = isset($_POST['page'])?$_POST['page']:die();
|
358 |
$current_action = isset($_POST['current_action'])?$_POST['current_action']:null;
|
359 |
$action_variables = isset($_POST['action_variables'])?$_POST['action_variables']:null;
|
@@ -362,7 +359,6 @@ function bp_media_load_more() {
|
|
362 |
if(!$displayed_user||intval($displayed_user)==0){
|
363 |
die();
|
364 |
}
|
365 |
-
$posts_per_page = 10;
|
366 |
switch($current_action){
|
367 |
case BP_MEDIA_IMAGES_SLUG:
|
368 |
$args = array(
|
@@ -374,7 +370,7 @@ function bp_media_load_more() {
|
|
374 |
'meta_value' => $bp->displayed_user->id,
|
375 |
'meta_compare' => 'LIKE',
|
376 |
'paged' => $page,
|
377 |
-
'posts_per_page' => $
|
378 |
);
|
379 |
break;
|
380 |
case BP_MEDIA_AUDIO_SLUG:
|
@@ -387,7 +383,7 @@ function bp_media_load_more() {
|
|
387 |
'meta_value' => $bp->displayed_user->id,
|
388 |
'meta_compare' => 'LIKE',
|
389 |
'paged' => $page,
|
390 |
-
'posts_per_page' => $
|
391 |
);
|
392 |
break;
|
393 |
case BP_MEDIA_VIDEOS_SLUG:
|
@@ -400,7 +396,7 @@ function bp_media_load_more() {
|
|
400 |
'meta_value' => $bp->displayed_user->id,
|
401 |
'meta_compare' => 'LIKE',
|
402 |
'paged' => $page,
|
403 |
-
'posts_per_page' => $
|
404 |
);
|
405 |
break;
|
406 |
case BP_MEDIA_ALBUMS_SLUG:
|
@@ -410,7 +406,8 @@ function bp_media_load_more() {
|
|
410 |
'post_status' => 'any',
|
411 |
'author' => $displayed_user,
|
412 |
'post_parent'=>$action_variables[1],
|
413 |
-
'paged' => $page
|
|
|
414 |
);
|
415 |
}
|
416 |
else{
|
@@ -418,6 +415,7 @@ function bp_media_load_more() {
|
|
418 |
'post_type' => 'bp_media_album',
|
419 |
'author' => $displayed_user,
|
420 |
'paged' => $page,
|
|
|
421 |
);
|
422 |
}
|
423 |
break;
|
@@ -526,4 +524,31 @@ function bp_media_album_activity_sync($media_id){
|
|
526 |
bp_media_update_album_activity($album_id,false,$media_id);
|
527 |
}
|
528 |
add_action('bp_media_after_delete_media','bp_media_album_activity_sync');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
529 |
?>
|
6 |
*/
|
7 |
function bp_media_handle_uploads() {
|
8 |
global $bp,$bp_media_options;
|
9 |
+
$bp_media_options = get_site_option('bp_media_options',array(
|
10 |
'videos_enabled' => true,
|
11 |
'audio_enabled' => true,
|
12 |
'images_enabled' => true,
|
14 |
if (isset($_POST['action']) && $_POST['action'] == 'wp_handle_upload') {
|
15 |
/* @var $bp_media_entry BP_Media_Host_Wordpress */
|
16 |
if (isset($_FILES) && is_array($_FILES) && array_key_exists('bp_media_file', $_FILES) && $_FILES['bp_media_file']['name'] != '') {
|
17 |
+
if(!preg_match('/audio|video|image/i',$_FILES['bp_media_file']['type'],$result)||!isset($result[0])){
|
18 |
+
$bp->{BP_MEDIA_SLUG}->messages['error'][] = __('File uploaded is not supported');
|
|
|
19 |
return;
|
|
|
20 |
}
|
21 |
+
$type = $result[0];
|
22 |
+
switch($result[0]){
|
23 |
+
case 'image' :
|
24 |
+
if($bp_media_options['images_enabled']==false){
|
25 |
+
$bp->{BP_MEDIA_SLUG}->messages['error'][] = __('Image uploads are disabled');
|
26 |
+
return;
|
27 |
+
}
|
28 |
+
break;
|
29 |
+
case 'video' :
|
30 |
+
if($bp_media_options['videos_enabled']==false){
|
31 |
+
$bp->{BP_MEDIA_SLUG}->messages['error'][] = __('Video uploads are disabled');
|
32 |
+
return;
|
33 |
+
}
|
34 |
+
break;
|
35 |
+
case 'audio' :
|
36 |
+
if($bp_media_options['audio_enabled']==false){
|
37 |
+
$bp->{BP_MEDIA_SLUG}->messages['error'][] = __('Audio uploads are disabled');
|
38 |
+
return;
|
39 |
+
}
|
40 |
+
break;
|
41 |
+
default :
|
42 |
+
$bp->{BP_MEDIA_SLUG}->messages['error'][] = __('File uploaded is not supported');
|
43 |
return;
|
|
|
44 |
}
|
45 |
+
$class_name = apply_filters('bp_media_transcoder','BP_Media_Host_Wordpress',$type);
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
$bp_media_entry = new $class_name();
|
47 |
try {
|
48 |
$title = isset($_POST['bp_media_title']) ? ($_POST['bp_media_title'] != "") ? $_POST['bp_media_title'] : pathinfo($_FILES['bp_media_file']['name'], PATHINFO_FILENAME) : pathinfo($_FILES['bp_media_file']['name'], PATHINFO_FILENAME);
|
49 |
$album_id = isset($_POST['bp_media_album_id']) ? intval($_POST['bp_media_album_id']) : 0;
|
50 |
+
$is_multiple = isset($_POST['is_multiple_upload'])?($_POST['is_multiple_upload']=='true'?true:false):false;
|
51 |
$description = isset($_POST['bp_media_description'])? $_POST['bp_media_description'] : '';
|
52 |
+
$group_id = isset($_POST['bp_media_group_id']) ? intval($_POST['bp_media_group_id']) : 0;
|
53 |
+
$entry = $bp_media_entry->add_media($title, $description,$album_id,$group_id,$is_multiple);
|
54 |
if(!isset($bp->{BP_MEDIA_SLUG}->messages['updated'][0]))
|
55 |
$bp->{BP_MEDIA_SLUG}->messages['updated'][0] = __('Upload Successful', 'bp-media');
|
56 |
} catch (Exception $e) {
|
57 |
$bp->{BP_MEDIA_SLUG}->messages['error'][] = $e->getMessage();
|
58 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
} else {
|
60 |
$bp->{BP_MEDIA_SLUG}->messages['error'][] = __('You did not specified a file to upload', 'bp-media');
|
61 |
}
|
161 |
* @since BP Media 2.0
|
162 |
*/
|
163 |
function bp_media_set_query() {
|
164 |
+
global $bp, $bp_media_query,$bp_media_posts_per_page;
|
165 |
switch ($bp->current_action) {
|
166 |
case BP_MEDIA_IMAGES_SLUG:
|
167 |
$type = 'image';
|
189 |
'meta_key' => 'bp-media-key',
|
190 |
'meta_value' => $bp->displayed_user->id,
|
191 |
'meta_compare' => 'LIKE',
|
192 |
+
'paged' => $paged,
|
193 |
+
'posts_per_page' => $bp_media_posts_per_page
|
194 |
);
|
195 |
$bp_media_query = new WP_Query($args);
|
196 |
}
|
350 |
* Function to return the media for the ajax requests
|
351 |
*/
|
352 |
function bp_media_load_more() {
|
353 |
+
global $bp,$bp_media_query,$bp_media_posts_per_page;
|
354 |
$page = isset($_POST['page'])?$_POST['page']:die();
|
355 |
$current_action = isset($_POST['current_action'])?$_POST['current_action']:null;
|
356 |
$action_variables = isset($_POST['action_variables'])?$_POST['action_variables']:null;
|
359 |
if(!$displayed_user||intval($displayed_user)==0){
|
360 |
die();
|
361 |
}
|
|
|
362 |
switch($current_action){
|
363 |
case BP_MEDIA_IMAGES_SLUG:
|
364 |
$args = array(
|
370 |
'meta_value' => $bp->displayed_user->id,
|
371 |
'meta_compare' => 'LIKE',
|
372 |
'paged' => $page,
|
373 |
+
'posts_per_page' => $bp_media_posts_per_page
|
374 |
);
|
375 |
break;
|
376 |
case BP_MEDIA_AUDIO_SLUG:
|
383 |
'meta_value' => $bp->displayed_user->id,
|
384 |
'meta_compare' => 'LIKE',
|
385 |
'paged' => $page,
|
386 |
+
'posts_per_page' => $bp_media_posts_per_page
|
387 |
);
|
388 |
break;
|
389 |
case BP_MEDIA_VIDEOS_SLUG:
|
396 |
'meta_value' => $bp->displayed_user->id,
|
397 |
'meta_compare' => 'LIKE',
|
398 |
'paged' => $page,
|
399 |
+
'posts_per_page' => $bp_media_posts_per_page
|
400 |
);
|
401 |
break;
|
402 |
case BP_MEDIA_ALBUMS_SLUG:
|
406 |
'post_status' => 'any',
|
407 |
'author' => $displayed_user,
|
408 |
'post_parent'=>$action_variables[1],
|
409 |
+
'paged' => $page,
|
410 |
+
'posts_per_page' => $bp_media_posts_per_page
|
411 |
);
|
412 |
}
|
413 |
else{
|
415 |
'post_type' => 'bp_media_album',
|
416 |
'author' => $displayed_user,
|
417 |
'paged' => $page,
|
418 |
+
'posts_per_page' => $bp_media_posts_per_page
|
419 |
);
|
420 |
}
|
421 |
break;
|
524 |
bp_media_update_album_activity($album_id,false,$media_id);
|
525 |
}
|
526 |
add_action('bp_media_after_delete_media','bp_media_album_activity_sync');
|
527 |
+
|
528 |
+
function bp_media_activity_create_after_add_media($media,$hidden=false){
|
529 |
+
if(function_exists('bp_activity_add')){
|
530 |
+
if(!is_object($media)){
|
531 |
+
try{
|
532 |
+
$media = new BP_Media_Host_Wordpress($media);
|
533 |
+
}catch(exception $e){
|
534 |
+
return false;
|
535 |
+
}
|
536 |
+
}
|
537 |
+
$args = array(
|
538 |
+
'action' => apply_filters( 'bp_media_added_media', sprintf( __( '%1$s added a %2$s', 'bp-media'), bp_core_get_userlink( $media->get_author() ), '<a href="' . $media->get_url() . '">' . $media->get_media_activity_type() . '</a>' ) ),
|
539 |
+
'content' => $media->get_media_activity_content(),
|
540 |
+
'primary_link' => $media->get_url(),
|
541 |
+
'item_id' => $media->get_id(),
|
542 |
+
'type' => 'media_upload',
|
543 |
+
'user_id' => $media->get_author()
|
544 |
+
);
|
545 |
+
if($hidden){
|
546 |
+
$args['secondary_item_id'] = -999;
|
547 |
+
do_action('bp_media_album_updated',$media->get_album_id());
|
548 |
+
}
|
549 |
+
$activity_id = bp_media_record_activity($args);
|
550 |
+
add_post_meta($media->get_id(),'bp_media_child_activity',$activity_id);
|
551 |
+
}
|
552 |
+
}
|
553 |
+
add_action('bp_media_after_add_media','bp_media_activity_create_after_add_media',10,2);
|
554 |
?>
|
includes/bp-media-admin.php
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
<?php
|
2 |
-
if(version_compare(BP_MEDIA_DB_VERSION,
|
3 |
add_action('admin_notices', 'bp_media_upgrade_db_notice');
|
4 |
}
|
5 |
|
@@ -8,7 +8,7 @@ function bp_media_upgrade_script(){
|
|
8 |
if(isset($_GET['bp_media_upgrade_db']) && empty($_REQUEST['settings-updated'])){
|
9 |
check_admin_referer('bp_media_upgrade_db','wp_nonce');
|
10 |
require_once('bp-media-upgrade-script.php');
|
11 |
-
$current_version =
|
12 |
if($current_version == '2.0')
|
13 |
bp_media_upgrade_from_2_0_to_2_1();
|
14 |
else
|
@@ -24,7 +24,7 @@ function bp_media_upgrade_script(){
|
|
24 |
function bp_media_upgrade_db_notice() {
|
25 |
?>
|
26 |
<div class="error"><p>
|
27 |
-
Please click upgrade to upgrade the database of BuddyPress Media <a class="button" id="refresh_media_count" href ="
|
28 |
</p></div>
|
29 |
<?php
|
30 |
}
|
@@ -36,9 +36,62 @@ function bp_media_upgrade_db_notice() {
|
|
36 |
*/
|
37 |
function bp_media_add_admin_menu() {
|
38 |
|
39 |
-
global $bp;
|
40 |
if (!is_super_admin())
|
41 |
return false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
|
43 |
add_menu_page( 'BP Media Component', 'BP Media', 'manage_options', 'bp-media-settings', 'bp_media_settings_page' );
|
44 |
add_submenu_page( 'bp-media-settings', __( 'BP-Media Settings', 'bp-media' ), __( 'Settings', 'bp-media' ), 'manage_options', 'bp-media-settings', "bp_media_settings_page" );
|
@@ -88,7 +141,7 @@ function bp_media_on_load_page() {
|
|
88 |
|
89 |
|
90 |
function bp_media_settings_page(){
|
91 |
-
|
92 |
$tab = isset( $_GET['page'] ) ? $_GET['page'] : "bp-media-settings";
|
93 |
|
94 |
?>
|
@@ -96,25 +149,7 @@ function bp_media_settings_page(){
|
|
96 |
<?php //screen_icon( 'buddypress' ); ?>
|
97 |
<div id="icon-buddypress" class="icon32"><br></div>
|
98 |
<h2 class="nav-tab-wrapper"><?php bp_core_admin_tabs( __( 'Media', 'bp-media' ) ); ?></h2>
|
99 |
-
<div class="metabox-holder columns-2"
|
100 |
-
|
101 |
-
if(array_key_exists('bp_media_refresh_count', $_GET) && empty($_REQUEST['settings-updated'])){
|
102 |
-
check_admin_referer('bp_media_refresh_count','wp_nonce');
|
103 |
-
if(!bp_media_update_count())
|
104 |
-
$bp_media_errors[]="Recounting Failed";
|
105 |
-
else
|
106 |
-
$bp_media_messages[]="Recounting of media files done successfully";
|
107 |
-
|
108 |
-
if(isset($bp_media_errors) && count($bp_media_errors)) { ?>
|
109 |
-
<div class="error"><p><?php foreach($bp_media_errors as $error) echo $error.'<br/>'; ?></p></div><?php
|
110 |
-
} if(isset($bp_media_messages) && count($bp_media_messages)){ ?>
|
111 |
-
<div class="updated"><p><?php foreach($bp_media_messages as $message) echo $message.'<br/>'; ?></p></div><?php
|
112 |
-
}
|
113 |
-
}
|
114 |
-
else{
|
115 |
-
settings_errors();
|
116 |
-
}?>
|
117 |
-
|
118 |
<div class="bp-media-settings-tabs"><?php
|
119 |
// Check to see which tab we are on
|
120 |
if(current_user_can('manage_options')){
|
@@ -160,7 +195,7 @@ function bp_media_settings_page(){
|
|
160 |
|
161 |
<div id="bp-media-settings-boxes">
|
162 |
|
163 |
-
<form id="bp_media_settings_form" name="bp_media_settings_form" action="
|
164 |
<?php
|
165 |
|
166 |
settings_fields( 'bp_media_options_settings');
|
@@ -198,13 +233,14 @@ function bp_media_admin_menu() {
|
|
198 |
$bp_media_messages=array();
|
199 |
|
200 |
global $bp_media_options;
|
201 |
-
$bp_media_options =
|
202 |
'videos_enabled' => true,
|
203 |
'audio_enabled' => true,
|
204 |
'images_enabled' => true,
|
|
|
|
|
205 |
));
|
206 |
-
|
207 |
-
$bp_media_options = get_option('bp_media_options');?>
|
208 |
|
209 |
<?php if(count($bp_media_errors)) { ?>
|
210 |
<div class="error"><p><?php foreach($bp_media_errors as $error) echo $error.'<br/>'; ?></p></div>
|
@@ -214,29 +250,29 @@ function bp_media_admin_menu() {
|
|
214 |
<table class="form-table ">
|
215 |
<tbody>
|
216 |
<tr valign="top">
|
217 |
-
<th scope="row"><label for="
|
218 |
<td>
|
219 |
<fieldset>
|
220 |
<legend class="screen-reader-text"><span>Enable Videos</span></legend>
|
221 |
-
<label for="videos_enabled"><input name="bp_media_options[videos_enabled]" type="checkbox" id="videos_enabled" value="
|
222 |
</fieldset>
|
223 |
</td>
|
224 |
</tr>
|
225 |
<tr valign="top">
|
226 |
-
<th scope="row"><label for="
|
227 |
<td>
|
228 |
<fieldset>
|
229 |
<legend class="screen-reader-text"><span>Enable Audio</span></legend>
|
230 |
-
<label for="audio_enabled"><input name="bp_media_options[audio_enabled]" type="checkbox" id="audio_enabled" value="
|
231 |
</fieldset>
|
232 |
</td>
|
233 |
</tr>
|
234 |
<tr valign="top">
|
235 |
-
<th scope="row"><label for="
|
236 |
<td>
|
237 |
<fieldset>
|
238 |
<legend class="screen-reader-text"><span>Enable Images</span></legend>
|
239 |
-
<label for="images_enabled"><input name="bp_media_options[images_enabled]" type="checkbox" id="images_enabled" value="
|
240 |
</fieldset>
|
241 |
</td>
|
242 |
</tr>
|
@@ -245,7 +281,7 @@ function bp_media_admin_menu() {
|
|
245 |
<td>
|
246 |
<fieldset>
|
247 |
<legend class="screen-reader-text"><span>Enable Download</span></legend>
|
248 |
-
<label for="download_enabled"><input name="bp_media_options[download_enabled]" type="checkbox" id="download_enabled" value="
|
249 |
</fieldset>
|
250 |
</td>
|
251 |
</tr>
|
@@ -276,7 +312,14 @@ function bp_media_settings_other_options(){ ?>
|
|
276 |
<?php }
|
277 |
|
278 |
function bp_media_settings_options(){
|
279 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
280 |
?>
|
281 |
<table class="form-table ">
|
282 |
<tbody>
|
@@ -456,8 +499,6 @@ add_action('admin_enqueue_scripts', 'bp_media_admin_enqueue');
|
|
456 |
|
457 |
/**
|
458 |
* Adds a tab for Media settings in the BuddyPress settings page
|
459 |
-
*
|
460 |
-
*
|
461 |
*/
|
462 |
function bp_media_admin_tab() {
|
463 |
|
@@ -486,147 +527,4 @@ function bp_media_admin_tab() {
|
|
486 |
|
487 |
add_action('bp_admin_tabs','bp_media_admin_tab');
|
488 |
|
489 |
-
|
490 |
-
/**
|
491 |
-
* Registers BP Media Settings options
|
492 |
-
*
|
493 |
-
*
|
494 |
-
*/
|
495 |
-
function bp_media_admin_init_settings() {
|
496 |
-
register_setting( 'bp_media_options_settings', 'bp_media_options', 'bp_media_validate' );
|
497 |
-
}
|
498 |
-
add_action( 'admin_init', 'bp_media_admin_init_settings',1 );
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
/**
|
503 |
-
* Validate bp_media_settings options
|
504 |
-
*
|
505 |
-
* @param type $input Validate
|
506 |
-
*/
|
507 |
-
|
508 |
-
function bp_media_validate( $input ){
|
509 |
-
|
510 |
-
if(isset($_REQUEST['premium_form_submit'])){
|
511 |
-
$input = get_option('bp_media_options');
|
512 |
-
if(empty($_REQUEST['premium_support']['ur_name'])){
|
513 |
-
add_settings_error( 'enquire_name', 'enquire_name', __( 'Please enter your name', 'rtPanel' ), 'error' );
|
514 |
-
}
|
515 |
-
else if(empty($_REQUEST['premium_support']['ur_email']) || !is_email($_REQUEST['premium_support']['ur_email'])){
|
516 |
-
add_settings_error( 'enquire_name', 'enquire_name', __( 'Please enter valid email-Id', 'rtPanel' ), 'error' );
|
517 |
-
}
|
518 |
-
else{
|
519 |
-
$send_array = array();
|
520 |
-
$body = '';
|
521 |
-
$body = '<p>Name : '. esc_attr(trim($_REQUEST['premium_support']['ur_name'])).'</p>';
|
522 |
-
$body .= '<p>Email Id : '.esc_attr(trim($_REQUEST['premium_support']['ur_email'])).'</p>';
|
523 |
-
if(!empty($_REQUEST['premium_support']['ur_query'])) $body .= '<p>Query : '.esc_attr(trim($_REQUEST['premium_support']['ur_query'])).'</p>';
|
524 |
-
if(!empty($_REQUEST['premium_support']['ur_budget'])) $body .= '<p>Budget : '.esc_attr(trim($_REQUEST['premium_support']['ur_budget'])).'</p>';
|
525 |
-
if(!empty($_REQUEST['premium_support']['ur_delivery_date'])) $body .= '<p>Expected Delivery Date : '.esc_attr(trim($_REQUEST['premium_support']['ur_delivery_date'])).'</p>';
|
526 |
-
$send_array['task[body]'] = $body;
|
527 |
-
$send_array['ur_name'] = $_REQUEST['premium_support']['ur_name'];
|
528 |
-
|
529 |
-
$return = bp_media_send_enquiry($send_array);
|
530 |
-
|
531 |
-
if(!empty($return))
|
532 |
-
add_settings_error( 'form_submitted', 'form_submitted', __( 'Thanks for contacting us. We will get in touch with you soon.', 'rtPanel' ), 'updated' );
|
533 |
-
else
|
534 |
-
add_settings_error( 'form_submitted', 'form_submitted', __( 'Sorry, your enquiry is not submitted', 'rtPanel' ), 'error' );
|
535 |
-
}
|
536 |
-
|
537 |
-
}else if(isset($_REQUEST['submit'])){
|
538 |
-
|
539 |
-
if(array_key_exists('remove_linkback', $_POST)){
|
540 |
-
if($input['remove_linkback']=='2'){
|
541 |
-
update_option('bp_media_remove_linkback', '2');
|
542 |
-
}
|
543 |
-
else {
|
544 |
-
update_option('bp_media_remove_linkback', '1');
|
545 |
-
}
|
546 |
-
}
|
547 |
-
|
548 |
-
if(isset($input['videos_enabled'])){
|
549 |
-
$input['videos_enabled'] = true;}
|
550 |
-
else{
|
551 |
-
$input['videos_enabled'] = false;}
|
552 |
-
if(isset($input['audio_enabled'])){
|
553 |
-
$input['audio_enabled'] = true;}
|
554 |
-
else{
|
555 |
-
$input['audio_enabled'] = false;}
|
556 |
-
if(isset($input['images_enabled'])){
|
557 |
-
$input['images_enabled'] = true;}
|
558 |
-
else{
|
559 |
-
$input['images_enabled'] = false;}
|
560 |
-
|
561 |
-
if(isset($input['download_enabled'])){
|
562 |
-
$input['download_enabled'] = true;}
|
563 |
-
else{
|
564 |
-
$input['download_enabled'] = false;}
|
565 |
-
}
|
566 |
-
|
567 |
-
return $input;
|
568 |
-
}
|
569 |
-
|
570 |
-
|
571 |
-
function bp_media_send_enquiry($new_ticket){
|
572 |
-
|
573 |
-
$bp_media_request_activecollab = new bp_media_request_activecollab();
|
574 |
-
|
575 |
-
/* Set Enquiry Name */
|
576 |
-
$task_name = !empty($new_ticket['ur_name']) ? __('New Premium Request from','bp-media').' '. $new_ticket['ur_name'] : __('New Premium Request','bp-media');
|
577 |
-
|
578 |
-
$defaults = array( 'task[name]' => $task_name,
|
579 |
-
'task[body]' => '',
|
580 |
-
'task[label_id]' => BP_MEDIA_AC_API_LABEL_ID,
|
581 |
-
'task[priority]' => BP_MEDIA_AC_API_PRIORITY,
|
582 |
-
'task[assignee_id]' => BP_MEDIA_AC_API_ASSIGNEE_ID,
|
583 |
-
'task[category_id]' => BP_MEDIA_AC_API_CATEGORY_ID,
|
584 |
-
'submitted' => 'submitted' );
|
585 |
-
/* merge default array */
|
586 |
-
$new_ticket = wp_parse_args( $new_ticket, $defaults );
|
587 |
-
|
588 |
-
/* send form submit request to active collabe */
|
589 |
-
$result = $bp_media_request_activecollab->send_ticket($new_ticket);
|
590 |
-
|
591 |
-
return $result;
|
592 |
-
}
|
593 |
-
|
594 |
-
|
595 |
-
class bp_media_request_activecollab{
|
596 |
-
|
597 |
-
//ActiveCollab API variables
|
598 |
-
|
599 |
-
var $acollab_projid = BP_MEDIA_AC_API_PROJECT_ID; //The project ID we want to add a ticket to. You can find this in the URL of the project when you enter it. ex: /projects/16/ - 16 is the ID
|
600 |
-
var $acollab_token = BP_MEDIA_AC_API_AUTH_TOKEN; // API token. Different for each ActiveCollab user. Create a user fo the API, then grab the API Token under User Profile > Settings
|
601 |
-
var $acollab_url = BP_MEDIA_AC_API_URL; // Find it in the same place you find your API token.
|
602 |
-
|
603 |
-
// Errors
|
604 |
-
var $errorMsg = "";
|
605 |
-
|
606 |
-
|
607 |
-
function send_ticket($request){
|
608 |
-
|
609 |
-
$api_url = $this->acollab_url . '?path_info=projects/buddypress-media/tasks/add&auth_api_token='.$this->acollab_token;
|
610 |
-
/* Send it */
|
611 |
-
|
612 |
-
$ch = curl_init();
|
613 |
-
|
614 |
-
// ActivCollab wants the pathinfo and token in the URL, not in the POST info.
|
615 |
-
|
616 |
-
curl_setopt($ch, CURLOPT_URL, $api_url);
|
617 |
-
curl_setopt($ch, CURLOPT_POST,1);
|
618 |
-
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
619 |
-
|
620 |
-
// The POST data
|
621 |
-
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
|
622 |
-
|
623 |
-
$result = curl_exec($ch);
|
624 |
-
|
625 |
-
curl_close($ch);
|
626 |
-
|
627 |
-
return $result;
|
628 |
-
|
629 |
-
}
|
630 |
-
}
|
631 |
-
|
632 |
-
?>
|
1 |
<?php
|
2 |
+
if(version_compare(BP_MEDIA_DB_VERSION,get_site_option('bp_media_db_version','1.0'),'>')){
|
3 |
add_action('admin_notices', 'bp_media_upgrade_db_notice');
|
4 |
}
|
5 |
|
8 |
if(isset($_GET['bp_media_upgrade_db']) && empty($_REQUEST['settings-updated'])){
|
9 |
check_admin_referer('bp_media_upgrade_db','wp_nonce');
|
10 |
require_once('bp-media-upgrade-script.php');
|
11 |
+
$current_version = get_site_option('bp_media_db_version','1.0');
|
12 |
if($current_version == '2.0')
|
13 |
bp_media_upgrade_from_2_0_to_2_1();
|
14 |
else
|
24 |
function bp_media_upgrade_db_notice() {
|
25 |
?>
|
26 |
<div class="error"><p>
|
27 |
+
Please click upgrade to upgrade the database of BuddyPress Media <a class="button" id="refresh_media_count" href ="?<?php bp_media_get_admin_url( add_query_arg( array( 'page' => 'bp-media-settings', 'bp_media_upgrade_db' => 1 ,'wp_nonce' => wp_create_nonce( 'bp_media_upgrade_db' ) ), 'admin.php' ) ) ?>" class="button" title="<?php printf(__('It will migrate your BuddyPress Media\'s earlier database to new database.')); ?>">Upgrade</a>
|
28 |
</p></div>
|
29 |
<?php
|
30 |
}
|
36 |
*/
|
37 |
function bp_media_add_admin_menu() {
|
38 |
|
39 |
+
global $bp,$bp_media_errors,$bp_media_messages;
|
40 |
if (!is_super_admin())
|
41 |
return false;
|
42 |
+
$bp_media_errors=array();
|
43 |
+
$bp_media_messages=array();
|
44 |
+
global $bp_media_options;
|
45 |
+
$bp_media_options = get_site_option('bp_media_options',array(
|
46 |
+
'videos_enabled' => true,
|
47 |
+
'audio_enabled' => true,
|
48 |
+
'images_enabled' => true,
|
49 |
+
'download_enabled' => true,
|
50 |
+
'remove_linkback' => 1,
|
51 |
+
));
|
52 |
+
if(isset($_POST['submit'])){
|
53 |
+
if(isset($_POST['bp_media_options'])){
|
54 |
+
foreach($bp_media_options as $option=>$value){
|
55 |
+
if(isset($_POST['bp_media_options'][$option])){
|
56 |
+
switch($_POST['bp_media_options'][$option]){
|
57 |
+
case 'true' :
|
58 |
+
$bp_media_options[$option] = true;
|
59 |
+
break;
|
60 |
+
case '1' :
|
61 |
+
$bp_media_options[$option] = 1;
|
62 |
+
break;
|
63 |
+
case '2' :
|
64 |
+
$bp_media_options[$option] = 2;
|
65 |
+
break;
|
66 |
+
default :
|
67 |
+
$bp_media_options[$option] = false;
|
68 |
+
}
|
69 |
+
}
|
70 |
+
else{
|
71 |
+
$bp_media_options[$option] = false;
|
72 |
+
}
|
73 |
+
}
|
74 |
+
if(update_site_option('bp_media_options', $bp_media_options)){
|
75 |
+
$bp_media_messages[0]="<b>Settings saved.</b>";
|
76 |
+
}
|
77 |
+
}
|
78 |
+
do_action('bp_media_save_options');
|
79 |
+
$bp_media_messages = apply_filters('bp_media_settings_messages',$bp_media_messages);
|
80 |
+
$bp_media_errors = apply_filters('bp_media_settings_errors',$bp_media_errors);
|
81 |
+
}
|
82 |
+
else if(isset($_GET['bp_media_refresh_count'])){
|
83 |
+
check_admin_referer('bp_media_refresh_count','wp_nonce');
|
84 |
+
if(!bp_media_update_count())
|
85 |
+
$bp_media_errors[]="<b>Recounting Failed</b>";
|
86 |
+
else
|
87 |
+
$bp_media_messages[]="<b>Recounting of media files done successfully</b>";
|
88 |
+
}
|
89 |
+
|
90 |
+
if(isset($bp_media_errors) && count($bp_media_errors)) { ?>
|
91 |
+
<div class="error"><p><?php foreach($bp_media_errors as $error) echo $error.'<br/>'; ?></p></div><?php
|
92 |
+
} if(isset($bp_media_messages) && count($bp_media_messages)){ ?>
|
93 |
+
<div class="updated"><p><?php foreach($bp_media_messages as $message) echo $message.'<br/>'; ?></p></div><?php
|
94 |
+
}
|
95 |
|
96 |
add_menu_page( 'BP Media Component', 'BP Media', 'manage_options', 'bp-media-settings', 'bp_media_settings_page' );
|
97 |
add_submenu_page( 'bp-media-settings', __( 'BP-Media Settings', 'bp-media' ), __( 'Settings', 'bp-media' ), 'manage_options', 'bp-media-settings', "bp_media_settings_page" );
|
141 |
|
142 |
|
143 |
function bp_media_settings_page(){
|
144 |
+
global $bp_media_errors,$bp_media_messages;
|
145 |
$tab = isset( $_GET['page'] ) ? $_GET['page'] : "bp-media-settings";
|
146 |
|
147 |
?>
|
149 |
<?php //screen_icon( 'buddypress' ); ?>
|
150 |
<div id="icon-buddypress" class="icon32"><br></div>
|
151 |
<h2 class="nav-tab-wrapper"><?php bp_core_admin_tabs( __( 'Media', 'bp-media' ) ); ?></h2>
|
152 |
+
<div class="metabox-holder columns-2">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
<div class="bp-media-settings-tabs"><?php
|
154 |
// Check to see which tab we are on
|
155 |
if(current_user_can('manage_options')){
|
195 |
|
196 |
<div id="bp-media-settings-boxes">
|
197 |
|
198 |
+
<form id="bp_media_settings_form" name="bp_media_settings_form" action="" method="post" enctype="multipart/form-data">
|
199 |
<?php
|
200 |
|
201 |
settings_fields( 'bp_media_options_settings');
|
233 |
$bp_media_messages=array();
|
234 |
|
235 |
global $bp_media_options;
|
236 |
+
$bp_media_options = get_site_option('bp_media_options',array(
|
237 |
'videos_enabled' => true,
|
238 |
'audio_enabled' => true,
|
239 |
'images_enabled' => true,
|
240 |
+
'download_enabled' => true,
|
241 |
+
'remove_linkback' => 1,
|
242 |
));
|
243 |
+
?>
|
|
|
244 |
|
245 |
<?php if(count($bp_media_errors)) { ?>
|
246 |
<div class="error"><p><?php foreach($bp_media_errors as $error) echo $error.'<br/>'; ?></p></div>
|
250 |
<table class="form-table ">
|
251 |
<tbody>
|
252 |
<tr valign="top">
|
253 |
+
<th scope="row"><label for="videos_enabled">Videos</label></th>
|
254 |
<td>
|
255 |
<fieldset>
|
256 |
<legend class="screen-reader-text"><span>Enable Videos</span></legend>
|
257 |
+
<label for="videos_enabled"><input name="bp_media_options[videos_enabled]" type="checkbox" id="videos_enabled" value="true" <?php global $bp_media_options;checked($bp_media_options['videos_enabled'],true) ?>> (Check to enable video upload functionality)</label>
|
258 |
</fieldset>
|
259 |
</td>
|
260 |
</tr>
|
261 |
<tr valign="top">
|
262 |
+
<th scope="row"><label for="audio_enabled">Audio</label></th>
|
263 |
<td>
|
264 |
<fieldset>
|
265 |
<legend class="screen-reader-text"><span>Enable Audio</span></legend>
|
266 |
+
<label for="audio_enabled"><input name="bp_media_options[audio_enabled]" type="checkbox" id="audio_enabled" value="true" <?php checked($bp_media_options['audio_enabled'],true) ?>> (Check to enable audio upload functionality)</label>
|
267 |
</fieldset>
|
268 |
</td>
|
269 |
</tr>
|
270 |
<tr valign="top">
|
271 |
+
<th scope="row"><label for="images_enabled">Images</label></th>
|
272 |
<td>
|
273 |
<fieldset>
|
274 |
<legend class="screen-reader-text"><span>Enable Images</span></legend>
|
275 |
+
<label for="images_enabled"><input name="bp_media_options[images_enabled]" type="checkbox" id="images_enabled" value="true" <?php checked($bp_media_options['images_enabled'],true) ?>> (Check to enable images upload functionality)</label>
|
276 |
</fieldset>
|
277 |
</td>
|
278 |
</tr>
|
281 |
<td>
|
282 |
<fieldset>
|
283 |
<legend class="screen-reader-text"><span>Enable Download</span></legend>
|
284 |
+
<label for="download_enabled"><input name="bp_media_options[download_enabled]" type="checkbox" id="download_enabled" value="true" <?php checked($bp_media_options['download_enabled'],true) ?>> (Check to enable download functionality)</label>
|
285 |
</fieldset>
|
286 |
</td>
|
287 |
</tr>
|
312 |
<?php }
|
313 |
|
314 |
function bp_media_settings_options(){
|
315 |
+
global $bp_media_options;
|
316 |
+
$bp_media_options = get_site_option('bp_media_options',array(
|
317 |
+
'videos_enabled' => true,
|
318 |
+
'audio_enabled' => true,
|
319 |
+
'images_enabled' => true,
|
320 |
+
'download_enabled' => true,
|
321 |
+
'remove_linkback' => 1,
|
322 |
+
));
|
323 |
?>
|
324 |
<table class="form-table ">
|
325 |
<tbody>
|
499 |
|
500 |
/**
|
501 |
* Adds a tab for Media settings in the BuddyPress settings page
|
|
|
|
|
502 |
*/
|
503 |
function bp_media_admin_tab() {
|
504 |
|
527 |
|
528 |
add_action('bp_admin_tabs','bp_media_admin_tab');
|
529 |
|
530 |
+
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/bp-media-class-wordpress.php
CHANGED
@@ -83,7 +83,7 @@ class BP_Media_Host_Wordpress {
|
|
83 |
*
|
84 |
* @since BP Media 2.0
|
85 |
*/
|
86 |
-
function add_media($name, $description, $album_id = 0, $group = 0) {
|
87 |
do_action('bp_media_before_add_media');
|
88 |
global $bp, $wpdb, $bp_media_count;
|
89 |
include_once(ABSPATH . 'wp-admin/includes/file.php');
|
@@ -242,7 +242,7 @@ class BP_Media_Host_Wordpress {
|
|
242 |
else
|
243 |
update_post_meta($attachment_id, 'bp-media-key', (-$group));
|
244 |
bp_update_user_meta(bp_loggedin_user_id(), 'bp_media_count', $bp_media_count);
|
245 |
-
do_action('bp_media_after_add_media',$this);
|
246 |
}
|
247 |
|
248 |
/**
|
@@ -302,29 +302,27 @@ class BP_Media_Host_Wordpress {
|
|
302 |
}
|
303 |
|
304 |
/**
|
305 |
-
* Returns the content of the single entry page of the Media Entry
|
306 |
*/
|
307 |
function get_media_single_content() {
|
308 |
global $bp_media_default_sizes, $bp_media_default_excerpts;
|
309 |
-
$content = '<div class="
|
310 |
switch ($this->type) {
|
311 |
case 'video' :
|
312 |
if($this->thumbnail_id){
|
313 |
$image_array = image_downsize($this->thumbnail_id, 'bp_media_single_image');
|
314 |
-
$content.='<video poster="'.$image_array[0].'" src="' . wp_get_attachment_url($this->id) . '" width="' . $bp_media_default_sizes['single_video']['width'] . '" height="' . ($bp_media_default_sizes['single_video']['height'] == 0 ? 'auto' : $bp_media_default_sizes['single_video']['height']) . '" type="video/mp4" id="bp_media_video_' . $this->id . '" controls="controls" preload="none"></video><script>bp_media_create_element("bp_media_video_' . $this->id . '");</script>';
|
315 |
}
|
316 |
else{
|
317 |
-
$content.='<video src="' . wp_get_attachment_url($this->id) . '" width="' . $bp_media_default_sizes['single_video']['width'] . '" height="' . ($bp_media_default_sizes['single_video']['height'] == 0 ? 'auto' : $bp_media_default_sizes['single_video']['height']) . '" type="video/mp4" id="bp_media_video_' . $this->id . '" controls="controls" preload="none"></video><script>bp_media_create_element("bp_media_video_' . $this->id . '");</script>';
|
318 |
}
|
319 |
break;
|
320 |
case 'audio' :
|
321 |
-
$content.='<audio src="' . wp_get_attachment_url($this->id) . '" width="' . $bp_media_default_sizes['single_audio']['width'] . '" type="audio/mp3" id="bp_media_audio_' . $this->id . '" controls="controls" preload="none" ></audio><script>bp_media_create_element("bp_media_audio_' . $this->id . '");</script>';
|
322 |
-
$type = 'audio';
|
323 |
break;
|
324 |
case 'image' :
|
325 |
$image_array = image_downsize($this->id, 'bp_media_single_image');
|
326 |
-
$content.='<img src="' . $image_array[0] . '" id="bp_media_image_' . $this->id . '" />';
|
327 |
-
$type = 'image';
|
328 |
break;
|
329 |
default :
|
330 |
return false;
|
@@ -334,6 +332,14 @@ class BP_Media_Host_Wordpress {
|
|
334 |
return $content;
|
335 |
}
|
336 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
337 |
/**
|
338 |
* Returns the HTML for a media entry to be shown in the listing/gallery page
|
339 |
*/
|
@@ -647,5 +653,12 @@ class BP_Media_Host_Wordpress {
|
|
647 |
function get_title(){
|
648 |
return $this->name;
|
649 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
650 |
}
|
651 |
?>
|
83 |
*
|
84 |
* @since BP Media 2.0
|
85 |
*/
|
86 |
+
function add_media($name, $description, $album_id = 0, $group = 0, $is_multiple = false) {
|
87 |
do_action('bp_media_before_add_media');
|
88 |
global $bp, $wpdb, $bp_media_count;
|
89 |
include_once(ABSPATH . 'wp-admin/includes/file.php');
|
242 |
else
|
243 |
update_post_meta($attachment_id, 'bp-media-key', (-$group));
|
244 |
bp_update_user_meta(bp_loggedin_user_id(), 'bp_media_count', $bp_media_count);
|
245 |
+
do_action('bp_media_after_add_media',$this,$is_multiple);
|
246 |
}
|
247 |
|
248 |
/**
|
302 |
}
|
303 |
|
304 |
/**
|
305 |
+
* Returns the HTML for content of the single entry page of the Media Entry
|
306 |
*/
|
307 |
function get_media_single_content() {
|
308 |
global $bp_media_default_sizes, $bp_media_default_excerpts;
|
309 |
+
$content = '<div class="bp_media_content">';
|
310 |
switch ($this->type) {
|
311 |
case 'video' :
|
312 |
if($this->thumbnail_id){
|
313 |
$image_array = image_downsize($this->thumbnail_id, 'bp_media_single_image');
|
314 |
+
$content.=apply_filters('bp_media_single_content_filter', '<video poster="'.$image_array[0].'" src="' . wp_get_attachment_url($this->id) . '" width="' . $bp_media_default_sizes['single_video']['width'] . '" height="' . ($bp_media_default_sizes['single_video']['height'] == 0 ? 'auto' : $bp_media_default_sizes['single_video']['height']) . '" type="video/mp4" id="bp_media_video_' . $this->id . '" controls="controls" preload="none"></video><script>bp_media_create_element("bp_media_video_' . $this->id . '");</script>',$this);
|
315 |
}
|
316 |
else{
|
317 |
+
$content.=apply_filters('bp_media_single_content_filter', '<video src="' . wp_get_attachment_url($this->id) . '" width="' . $bp_media_default_sizes['single_video']['width'] . '" height="' . ($bp_media_default_sizes['single_video']['height'] == 0 ? 'auto' : $bp_media_default_sizes['single_video']['height']) . '" type="video/mp4" id="bp_media_video_' . $this->id . '" controls="controls" preload="none"></video><script>bp_media_create_element("bp_media_video_' . $this->id . '");</script>',$this);
|
318 |
}
|
319 |
break;
|
320 |
case 'audio' :
|
321 |
+
$content.=apply_filters('bp_media_single_content_filter', '<audio src="' . wp_get_attachment_url($this->id) . '" width="' . $bp_media_default_sizes['single_audio']['width'] . '" type="audio/mp3" id="bp_media_audio_' . $this->id . '" controls="controls" preload="none" ></audio><script>bp_media_create_element("bp_media_audio_' . $this->id . '");</script>',$this);
|
|
|
322 |
break;
|
323 |
case 'image' :
|
324 |
$image_array = image_downsize($this->id, 'bp_media_single_image');
|
325 |
+
$content.=apply_filters('bp_media_single_content_filter', '<img src="' . $image_array[0] . '" id="bp_media_image_' . $this->id . '" />',$this);
|
|
|
326 |
break;
|
327 |
default :
|
328 |
return false;
|
332 |
return $content;
|
333 |
}
|
334 |
|
335 |
+
/**
|
336 |
+
* Returns the HTML for title of the single entry page of the Media Entry
|
337 |
+
*/
|
338 |
+
function get_media_single_title(){
|
339 |
+
$content = '<div class="bp_media_title">' . wp_html_excerpt($this->name, $bp_media_default_excerpts['single_entry_title']) . '</div>;';
|
340 |
+
return $content;
|
341 |
+
}
|
342 |
+
|
343 |
/**
|
344 |
* Returns the HTML for a media entry to be shown in the listing/gallery page
|
345 |
*/
|
653 |
function get_title(){
|
654 |
return $this->name;
|
655 |
}
|
656 |
+
|
657 |
+
/**
|
658 |
+
* Returns the type of media
|
659 |
+
*/
|
660 |
+
function get_type(){
|
661 |
+
return $this->type;
|
662 |
+
}
|
663 |
}
|
664 |
?>
|
includes/bp-media-filters.php
CHANGED
@@ -69,16 +69,6 @@ function bp_media_activity_parent_content_filter($activity_content) {
|
|
69 |
}
|
70 |
//add_filter('bp_get_activity_parent_content', 'bp_media_activity_parent_content_filter', 1);
|
71 |
|
72 |
-
//function bp_media_activity_parent__content_filter($content) {
|
73 |
-
// add_shortcode('bp_media_action', 'bp_media_shortcode_action');
|
74 |
-
// add_shortcode('bp_media_content', 'bp_media_shortcode_content');
|
75 |
-
// $content=do_shortcode($content);
|
76 |
-
// remove_shortcode('bp_media_action');
|
77 |
-
// remove_shortcode('bp_media_content');
|
78 |
-
// return $content;
|
79 |
-
//}
|
80 |
-
//add_filter('bp_get_activity_parent_content', 'bp_media_activity_parent_content_filter');
|
81 |
-
|
82 |
function bp_media_delete_button_handler($link) {
|
83 |
if(bp_current_component()=='media')
|
84 |
$link=str_replace('delete-activity ', 'delete-activity-single ', $link);
|
@@ -203,7 +193,7 @@ add_action( 'admin_bar_menu', 'bp_media_my_account_menu', 1 );
|
|
203 |
function bp_media_adminbar_settings_menu() {
|
204 |
global $wp_admin_bar;
|
205 |
|
206 |
-
if( current_user_can('manage_options') ){
|
207 |
|
208 |
$bp_media_admin_nav = array();
|
209 |
$title = '<span class="ab-icon"></span><span class="ab-label">' . _x( 'BP Media', 'admin bar menu group label' ) . '</span>';
|
69 |
}
|
70 |
//add_filter('bp_get_activity_parent_content', 'bp_media_activity_parent_content_filter', 1);
|
71 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
function bp_media_delete_button_handler($link) {
|
73 |
if(bp_current_component()=='media')
|
74 |
$link=str_replace('delete-activity ', 'delete-activity-single ', $link);
|
193 |
function bp_media_adminbar_settings_menu() {
|
194 |
global $wp_admin_bar;
|
195 |
|
196 |
+
if( current_user_can('manage_options') && is_super_admin() ){
|
197 |
|
198 |
$bp_media_admin_nav = array();
|
199 |
$title = '<span class="ab-icon"></span><span class="ab-label">' . _x( 'BP Media', 'admin bar menu group label' ) . '</span>';
|
includes/bp-media-loader.php
CHANGED
@@ -92,13 +92,16 @@ $bp_media_default_excerpts=array(
|
|
92 |
);
|
93 |
|
94 |
global $bp_media_options;
|
95 |
-
$bp_media_options =
|
96 |
'videos_enabled' => true,
|
97 |
'audio_enabled' => true,
|
98 |
'images_enabled' => true,
|
99 |
'download_enabled' => true
|
100 |
));
|
101 |
|
|
|
|
|
|
|
102 |
global $bp_media_activity_types;
|
103 |
$bp_media_activity_types = array('media_upload','album_updated','album_created');
|
104 |
|
92 |
);
|
93 |
|
94 |
global $bp_media_options;
|
95 |
+
$bp_media_options = get_site_option('bp_media_options',array(
|
96 |
'videos_enabled' => true,
|
97 |
'audio_enabled' => true,
|
98 |
'images_enabled' => true,
|
99 |
'download_enabled' => true
|
100 |
));
|
101 |
|
102 |
+
global $bp_media_posts_per_page;
|
103 |
+
$bp_media_posts_per_page = 10;
|
104 |
+
|
105 |
global $bp_media_activity_types;
|
106 |
$bp_media_activity_types = array('media_upload','album_updated','album_created');
|
107 |
|
includes/bp-media-screens.php
CHANGED
@@ -67,6 +67,7 @@ function bp_media_images_screen() {
|
|
67 |
wp_redirect(trailingslashit(bp_displayed_user_domain() . BP_MEDIA_IMAGES_SLUG));
|
68 |
exit;
|
69 |
}
|
|
|
70 |
add_action('bp_template_content', 'bp_media_images_entry_screen_content');
|
71 |
break;
|
72 |
case BP_MEDIA_DELETE_SLUG :
|
@@ -173,6 +174,10 @@ function bp_media_images_entry_screen() {
|
|
173 |
}
|
174 |
|
175 |
function bp_media_images_entry_screen_title() {
|
|
|
|
|
|
|
|
|
176 |
_e('Images Entry Page');
|
177 |
}
|
178 |
|
@@ -183,16 +188,6 @@ function bp_media_images_entry_screen_content() {
|
|
183 |
do_action('bp_media_before_content');
|
184 |
echo '<div class="bp-media-single bp-media-image">';
|
185 |
echo $bp_media_current_entry->get_media_single_content();
|
186 |
-
// echo '<div class="bp-media-actions">';
|
187 |
-
// echo '<a href="#comment" class="button acomment-reply bp-primary-action">Comment</a>';
|
188 |
-
// if(bp_loggedin_user_id()== bp_displayed_user_id()){
|
189 |
-
// echo '<a href="'.$bp_media_current_entry->get_edit_url().'" class="button item-button bp-secondary-action edit-media">Edit</a>';
|
190 |
-
// echo '<a href="'.$bp_media_current_entry->get_delete_url().'" class="button item-button bp-secondary-action delete-media confirm">Delete</a>';
|
191 |
-
// }
|
192 |
-
// if(isset($bp_media_options['download_enabled'])&&$bp_media_options['download_enabled']==true){
|
193 |
-
// echo '<a href="'.$bp_media_current_entry->get_attachment_url().'" class="button item-button bp-secondary-action download-media">Download</a>';
|
194 |
-
// }
|
195 |
-
// echo '</div>';
|
196 |
echo $bp_media_current_entry->show_comment_form();
|
197 |
echo '</div>';
|
198 |
do_action('bp_media_after_content');
|
67 |
wp_redirect(trailingslashit(bp_displayed_user_domain() . BP_MEDIA_IMAGES_SLUG));
|
68 |
exit;
|
69 |
}
|
70 |
+
add_action('bp_template_title', 'bp_media_images_entry_screen_title');
|
71 |
add_action('bp_template_content', 'bp_media_images_entry_screen_content');
|
72 |
break;
|
73 |
case BP_MEDIA_DELETE_SLUG :
|
174 |
}
|
175 |
|
176 |
function bp_media_images_entry_screen_title() {
|
177 |
+
global $bp_media_current_entry;
|
178 |
+
/** @var $bp_media_current_entry BP_Media_Host_Wordpress */
|
179 |
+
if(is_object($bp_media_current_entry))
|
180 |
+
echo $bp_media_current_entry->get_media_single_title();
|
181 |
_e('Images Entry Page');
|
182 |
}
|
183 |
|
188 |
do_action('bp_media_before_content');
|
189 |
echo '<div class="bp-media-single bp-media-image">';
|
190 |
echo $bp_media_current_entry->get_media_single_content();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
echo $bp_media_current_entry->show_comment_form();
|
192 |
echo '</div>';
|
193 |
do_action('bp_media_after_content');
|
includes/bp-media-upgrade-script.php
CHANGED
@@ -38,7 +38,12 @@ function bp_media_upgrade_from_1_0_to_2_1(){
|
|
38 |
$activity = bp_activity_get(array('in'=>intval($child_activity)));
|
39 |
if(isset($activity['activities'][0]->id))
|
40 |
$activity = $activity['activities'][0];
|
41 |
-
|
|
|
|
|
|
|
|
|
|
|
42 |
$args = array(
|
43 |
'content' => $bp_media->get_media_activity_content(),
|
44 |
'id' => $child_activity,
|
@@ -58,7 +63,7 @@ function bp_media_upgrade_from_1_0_to_2_1(){
|
|
58 |
break;
|
59 |
}
|
60 |
}while(1);
|
61 |
-
|
62 |
add_action('admin_notices','bp_media_database_updated_notice');
|
63 |
wp_cache_flush();
|
64 |
}
|
@@ -103,7 +108,7 @@ function bp_media_upgrade_from_2_0_to_2_1(){
|
|
103 |
}
|
104 |
}
|
105 |
}
|
106 |
-
|
107 |
add_action('admin_notices','bp_media_database_updated_notice');
|
108 |
wp_cache_flush();
|
109 |
}
|
38 |
$activity = bp_activity_get(array('in'=>intval($child_activity)));
|
39 |
if(isset($activity['activities'][0]->id))
|
40 |
$activity = $activity['activities'][0];
|
41 |
+
try{
|
42 |
+
$bp_media = new BP_Media_Host_Wordpress($attachment_id);
|
43 |
+
}
|
44 |
+
catch(exception $e){
|
45 |
+
continue;
|
46 |
+
}
|
47 |
$args = array(
|
48 |
'content' => $bp_media->get_media_activity_content(),
|
49 |
'id' => $child_activity,
|
63 |
break;
|
64 |
}
|
65 |
}while(1);
|
66 |
+
update_site_option('bp_media_db_version',BP_MEDIA_DB_VERSION);
|
67 |
add_action('admin_notices','bp_media_database_updated_notice');
|
68 |
wp_cache_flush();
|
69 |
}
|
108 |
}
|
109 |
}
|
110 |
}
|
111 |
+
update_site_option('bp_media_db_version',BP_MEDIA_DB_VERSION);
|
112 |
add_action('admin_notices','bp_media_database_updated_notice');
|
113 |
wp_cache_flush();
|
114 |
}
|
includes/bp-media-upload-handler.php
CHANGED
@@ -3,15 +3,10 @@ ignore_user_abort(true);
|
|
3 |
|
4 |
require_once('lib/bootstrap.php');
|
5 |
|
6 |
-
// Disable error reporting or else AJAX Requests might give different data format
|
7 |
-
error_reporting(E_ALL);
|
8 |
-
|
9 |
// Check for rights
|
10 |
if ( !is_user_logged_in() )
|
11 |
wp_die(__("You are not allowed to be here"));
|
12 |
|
13 |
-
//set_time_limit(0);
|
14 |
-
|
15 |
bp_media_handle_uploads();
|
16 |
|
17 |
?>
|
3 |
|
4 |
require_once('lib/bootstrap.php');
|
5 |
|
|
|
|
|
|
|
6 |
// Check for rights
|
7 |
if ( !is_user_logged_in() )
|
8 |
wp_die(__("You are not allowed to be here"));
|
9 |
|
|
|
|
|
10 |
bp_media_handle_uploads();
|
11 |
|
12 |
?>
|
includes/css/bp-media-style.css
CHANGED
@@ -131,6 +131,7 @@ ul.products li.product .add_to_cart_button:hover{background: none repeat scroll
|
|
131 |
.bp-media-form .bp-media-input{background-color: #FFFFFF;border: 1px solid #DFDFDF;border-radius: 3px 3px 3px 3px;color: #333333;line-height: 16px;padding: 5px;width: 220px;}
|
132 |
.bp-media-form .bp-media-textarea{background-color: #FFFFFF;border: 1px solid #DFDFDF;border-radius: 3px 3px 3px 3px;color: #333333;line-height: 16px;padding: 5px;width: 220px;}
|
133 |
#normal-sortables .postbox .bp-media-form .submit{float: none; margin-left: 150px}
|
134 |
-
|
|
|
135 |
img.bp-media-donation-image{display:block;margin: 10px auto;}
|
136 |
|
131 |
.bp-media-form .bp-media-input{background-color: #FFFFFF;border: 1px solid #DFDFDF;border-radius: 3px 3px 3px 3px;color: #333333;line-height: 16px;padding: 5px;width: 220px;}
|
132 |
.bp-media-form .bp-media-textarea{background-color: #FFFFFF;border: 1px solid #DFDFDF;border-radius: 3px 3px 3px 3px;color: #333333;line-height: 16px;padding: 5px;width: 220px;}
|
133 |
#normal-sortables .postbox .bp-media-form .submit{float: none; margin-left: 150px}
|
134 |
+
.rt-success{background-color: #E1FFDF;border-color: #2ACF2A;}
|
135 |
+
.rt-update{background-color: #FFEAA6;border-color:#E1CA82;}
|
136 |
img.bp-media-donation-image{display:block;margin: 10px auto;}
|
137 |
|
loader.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: BuddyPress Media
|
4 |
Plugin URI: http://rtcamp.com/buddypress-media/
|
5 |
Description: This plugin adds missing media rich features like photos, videos and audios uploading to BuddyPress which are essential if you are building social network, seriously!
|
6 |
-
Version: 2.2.
|
7 |
Author: rtCamp
|
8 |
Author URI: http://rtcamp.com
|
9 |
*/
|
@@ -12,7 +12,7 @@ Author URI: http://rtcamp.com
|
|
12 |
define('BP_MEDIA_IS_INSTALLED', 1);
|
13 |
|
14 |
/* Constant to store the current version of the BP Media Plugin. */
|
15 |
-
define('BP_MEDIA_VERSION', '2.2.
|
16 |
|
17 |
/* A constant to be used as base for other URLs throughout the plugin */
|
18 |
define('BP_MEDIA_PLUGIN_DIR', dirname(__FILE__));
|
@@ -46,6 +46,7 @@ define('BP_MEDIA_AC_API_CATEGORY_ID','224');
|
|
46 |
*/
|
47 |
function bp_media_init() {
|
48 |
if (defined('BP_VERSION')&&version_compare(BP_VERSION, BP_MEDIA_REQUIRED_BP, '>')) {
|
|
|
49 |
require( BP_MEDIA_PLUGIN_DIR . '/includes/bp-media-loader.php' );
|
50 |
}
|
51 |
}
|
@@ -55,32 +56,32 @@ add_action('bp_include', 'bp_media_init');
|
|
55 |
* Function to do the tasks required to be done while activating the plugin
|
56 |
*/
|
57 |
function bp_media_activate() {
|
58 |
-
$bp_media_options =
|
59 |
'videos_enabled' => true,
|
60 |
'audio_enabled' => true,
|
61 |
'images_enabled' => true,
|
62 |
'remove_linkback' => '1',
|
63 |
'download_enabled' => true,
|
64 |
));
|
65 |
-
$previous_linkback_status =
|
66 |
if($previous_linkback_status===false)
|
67 |
$bp_media_options['remove_linkback'] = '1';
|
68 |
else{
|
69 |
$bp_media_options['remove_linkback'] = $previous_linkback_status;
|
70 |
delete_option('bp_media_remove_linkback');
|
71 |
}
|
72 |
-
|
73 |
|
74 |
|
75 |
$bpmquery = new WP_Query(array('post_type'=>'bp_media','posts_per_page'=>1));
|
76 |
if($bpmquery->found_posts > 0){
|
77 |
-
|
78 |
}else{
|
79 |
-
switch(
|
80 |
case '2.0':
|
81 |
break;
|
82 |
default:
|
83 |
-
|
84 |
}
|
85 |
}
|
86 |
}
|
@@ -128,13 +129,26 @@ add_action('admin_notices', 'bp_media_admin_notice');
|
|
128 |
function bp_media_settings_link($links, $file) {
|
129 |
/* create link */
|
130 |
$plugin_name = plugin_basename( __FILE__ );
|
|
|
131 |
if ( $file == $plugin_name ) {
|
132 |
array_unshift(
|
133 |
$links,
|
134 |
-
sprintf( '<a href="
|
135 |
);
|
136 |
}
|
137 |
return $links;
|
138 |
}
|
139 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
?>
|
3 |
Plugin Name: BuddyPress Media
|
4 |
Plugin URI: http://rtcamp.com/buddypress-media/
|
5 |
Description: This plugin adds missing media rich features like photos, videos and audios uploading to BuddyPress which are essential if you are building social network, seriously!
|
6 |
+
Version: 2.2.6
|
7 |
Author: rtCamp
|
8 |
Author URI: http://rtcamp.com
|
9 |
*/
|
12 |
define('BP_MEDIA_IS_INSTALLED', 1);
|
13 |
|
14 |
/* Constant to store the current version of the BP Media Plugin. */
|
15 |
+
define('BP_MEDIA_VERSION', '2.2.6');
|
16 |
|
17 |
/* A constant to be used as base for other URLs throughout the plugin */
|
18 |
define('BP_MEDIA_PLUGIN_DIR', dirname(__FILE__));
|
46 |
*/
|
47 |
function bp_media_init() {
|
48 |
if (defined('BP_VERSION')&&version_compare(BP_VERSION, BP_MEDIA_REQUIRED_BP, '>')) {
|
49 |
+
add_filter( 'plugin_action_links', 'bp_media_settings_link', 10, 2 );
|
50 |
require( BP_MEDIA_PLUGIN_DIR . '/includes/bp-media-loader.php' );
|
51 |
}
|
52 |
}
|
56 |
* Function to do the tasks required to be done while activating the plugin
|
57 |
*/
|
58 |
function bp_media_activate() {
|
59 |
+
$bp_media_options = get_site_option('bp_media_options',array(
|
60 |
'videos_enabled' => true,
|
61 |
'audio_enabled' => true,
|
62 |
'images_enabled' => true,
|
63 |
'remove_linkback' => '1',
|
64 |
'download_enabled' => true,
|
65 |
));
|
66 |
+
$previous_linkback_status = get_site_option('bp_media_remove_linkback');
|
67 |
if($previous_linkback_status===false)
|
68 |
$bp_media_options['remove_linkback'] = '1';
|
69 |
else{
|
70 |
$bp_media_options['remove_linkback'] = $previous_linkback_status;
|
71 |
delete_option('bp_media_remove_linkback');
|
72 |
}
|
73 |
+
update_site_option('bp_media_options',$bp_media_options);
|
74 |
|
75 |
|
76 |
$bpmquery = new WP_Query(array('post_type'=>'bp_media','posts_per_page'=>1));
|
77 |
if($bpmquery->found_posts > 0){
|
78 |
+
update_site_option('bp_media_db_version', '1.0');
|
79 |
}else{
|
80 |
+
switch(get_site_option('bp_media_db_version',false,false)){
|
81 |
case '2.0':
|
82 |
break;
|
83 |
default:
|
84 |
+
update_site_option('bp_media_db_version',BP_MEDIA_DB_VERSION);
|
85 |
}
|
86 |
}
|
87 |
}
|
129 |
function bp_media_settings_link($links, $file) {
|
130 |
/* create link */
|
131 |
$plugin_name = plugin_basename( __FILE__ );
|
132 |
+
$admin_link = bp_media_get_admin_url( add_query_arg( array( 'page' => 'bp-media-settings' ), 'admin.php' ) );
|
133 |
if ( $file == $plugin_name ) {
|
134 |
array_unshift(
|
135 |
$links,
|
136 |
+
sprintf( '<a href="%s">%s</a>', $admin_link, __('Settings') )
|
137 |
);
|
138 |
}
|
139 |
return $links;
|
140 |
}
|
141 |
+
|
142 |
+
function bp_media_get_admin_url( $path = '', $scheme = 'admin' ) {
|
143 |
+
|
144 |
+
// Links belong in network admin
|
145 |
+
if (is_multisite() )
|
146 |
+
$url = network_admin_url( $path, $scheme );
|
147 |
+
|
148 |
+
// Links belong in site admin
|
149 |
+
else
|
150 |
+
$url = admin_url( $path, $scheme );
|
151 |
+
|
152 |
+
return $url;
|
153 |
+
}
|
154 |
?>
|
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: 3.3.2
|
8 |
Tested up to: 3.4.2
|
9 |
-
Stable tag: 2.2.
|
10 |
|
11 |
Adds Photos, Music, Videos & Albums to your BuddyPress. Supports mobile devices (iPhone/iPad, etc) and automatic audio/video conversion.
|
12 |
|
@@ -73,6 +73,9 @@ Please visit [BuddyPress Media's Features page](http://rtcamp.com/buddypress-med
|
|
73 |
|
74 |
Please visit [BuddyPress Media's Roadmap page](http://rtcamp.com/buddypress-media/roadmap/ "Visit BuddyPress Media's Features page") to get some details about future releases.
|
75 |
|
|
|
|
|
|
|
76 |
= 2.2.5 =
|
77 |
* Fixed a bug in upgrade script
|
78 |
|
6 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
7 |
Requires at least: 3.3.2
|
8 |
Tested up to: 3.4.2
|
9 |
+
Stable tag: 2.2.6
|
10 |
|
11 |
Adds Photos, Music, Videos & Albums to your BuddyPress. Supports mobile devices (iPhone/iPad, etc) and automatic audio/video conversion.
|
12 |
|
73 |
|
74 |
Please visit [BuddyPress Media's Roadmap page](http://rtcamp.com/buddypress-media/roadmap/ "Visit BuddyPress Media's Features page") to get some details about future releases.
|
75 |
|
76 |
+
= 2.2.6 =
|
77 |
+
* Fixed the Multisite issue for the options page.
|
78 |
+
|
79 |
= 2.2.5 =
|
80 |
* Fixed a bug in upgrade script
|
81 |
|