rtMedia for WordPress, BuddyPress and bbPress - Version 2.13

Version Description

  • Adds support for audio/video conversion via rtCamp's Encoding Service
Download this release

Release Info

Developer saurabhshukla
Plugin Icon 128x128 rtMedia for WordPress, BuddyPress and bbPress
Version 2.13
Comparing to
See all releases

Code changes from version 2.15.4 to 2.13

Files changed (81) hide show
  1. app/admin/BPMediaAdmin.php +466 -580
  2. app/admin/BPMediaFormHandler.php +0 -513
  3. app/assets/css/admin.css +121 -66
  4. app/assets/css/bootstrap-switch.css +0 -184
  5. app/assets/css/font-awesome.min.css +0 -24
  6. app/assets/css/grid-foundation.css +0 -217
  7. app/assets/css/image-edit.css +0 -0
  8. app/assets/css/jquery.powertip.min.css +0 -1
  9. app/assets/css/jquery.sliderTabs.min.css +0 -1
  10. app/assets/css/main.css +13 -19
  11. app/assets/font/FontAwesome.otf +0 -0
  12. app/assets/font/fontawesome-webfont.eot +0 -0
  13. app/assets/font/fontawesome-webfont.svg +0 -339
  14. app/assets/font/fontawesome-webfont.ttf +0 -0
  15. app/assets/font/fontawesome-webfont.woff +0 -0
  16. app/assets/img/boxspinner.gif +0 -0
  17. app/assets/img/bpm-contest-banner.jpg +0 -0
  18. app/assets/img/indicator.png +0 -0
  19. app/assets/img/indicatorActive.png +0 -0
  20. app/assets/img/leftArrow.png +0 -0
  21. app/assets/img/leftPanelArrow.png +0 -0
  22. app/assets/img/mask-square.png +0 -0
  23. app/assets/img/mask.png +0 -0
  24. app/assets/img/private.png +0 -0
  25. app/assets/img/rightArrow.png +0 -0
  26. app/assets/img/rightPanelArrow.png +0 -0
  27. app/assets/img/wpmini-grey.png +0 -0
  28. app/assets/js/admin.js +60 -138
  29. app/assets/js/bootstrap-switch.js +0 -255
  30. app/assets/js/jquery.powertip.min.js +0 -8
  31. app/assets/js/jquery.sliderTabs.min.js +0 -1
  32. app/assets/js/main.js +1 -2
  33. app/helper/BPMediaAddon.php +11 -96
  34. app/helper/BPMediaFeed.php +1 -2
  35. app/helper/BPMediaSettings.php +24 -25
  36. app/helper/BPMediaSupport.php +2 -3
  37. app/helper/rtDimensions.php +0 -142
  38. app/helper/rtForm.php +0 -633
  39. app/helper/rtFormInvalidArgumentsException.php +0 -29
  40. app/helper/rtPluginInfo.php +0 -0
  41. app/helper/rtPluginUpdate.php +0 -0
  42. app/helper/rtPluginUpdateChecker.php +0 -0
  43. app/main/BPMediaLoader.php +2 -2
  44. app/main/includes/BPMediaActions.php +5 -19
  45. app/main/includes/BPMediaFunction.php +3 -0
  46. app/main/includes/BPMediaHostWordpress.php +21 -27
  47. app/main/includes/BPMediaImage.php +0 -0
  48. app/main/privacy/BPMediaPrivacy.php +0 -0
  49. app/main/privacy/BPMediaPrivacySettings.php +2 -2
  50. app/main/profile/BPMediaAlbumScreen.php +1 -1
  51. app/main/profile/BPMediaScreen.php +2 -2
  52. app/services/BPMediaEncoding.php +65 -99
  53. app/services/BPMediaEncodingTranscoder.php +5 -3
  54. index.php +1 -1
  55. languages/buddypress-media-ar_AR.mo +0 -0
  56. languages/buddypress-media-ar_AR.po +0 -0
  57. languages/buddypress-media-de_DE.mo +0 -0
  58. languages/buddypress-media-de_DE.po +0 -0
  59. languages/buddypress-media-es_ES.mo +0 -0
  60. languages/buddypress-media-es_ES.po +0 -0
  61. languages/buddypress-media-fa_IR.mo +0 -0
  62. languages/buddypress-media-fa_IR.po +0 -0
  63. languages/buddypress-media-fr_FR.mo +0 -0
  64. languages/buddypress-media-fr_FR.po +0 -0
  65. languages/buddypress-media-it_IT.mo +0 -0
  66. languages/buddypress-media-it_IT.po +0 -0
  67. languages/buddypress-media-ja_JA.mo +0 -0
  68. languages/buddypress-media-ja_JA.po +0 -0
  69. languages/buddypress-media-nl_NL.mo +0 -0
  70. languages/buddypress-media-nl_NL.po +0 -0
  71. languages/buddypress-media-pl_PL.mo +0 -0
  72. languages/buddypress-media-pl_PL.po +0 -0
  73. languages/buddypress-media-pt_BR.mo +0 -0
  74. languages/buddypress-media-pt_BR.po +0 -0
  75. languages/buddypress-media-ro_RO.mo +0 -0
  76. languages/buddypress-media-ro_RO.po +0 -0
  77. languages/buddypress-media-sr_SR.mo +0 -0
  78. languages/buddypress-media-sr_SR.po +0 -0
  79. languages/buddypress-media.mo +0 -0
  80. languages/buddypress-media.po +747 -892
  81. readme.txt +3 -69
app/admin/BPMediaAdmin.php CHANGED
@@ -10,392 +10,286 @@
10
*/
11
if (!class_exists('BPMediaAdmin')) {
12
13
- class BPMediaAdmin {
14
-
15
- public $bp_media_upgrade;
16
- public $bp_media_settings;
17
- public $bp_media_encoding;
18
- public $bp_media_support;
19
- public $bp_media_feed;
20
-
21
- public function __construct() {
22
- add_action('init', array($this, 'video_transcoding_survey_response'));
23
- if (is_multisite()) {
24
- add_action('network_admin_notices', array($this, 'upload_filetypes_error'));
25
- add_action('admin_notices', array($this, 'upload_filetypes_error'));
26
- }
27
- $bp_media_feed = new BPMediaFeed();
28
- add_action('wp_ajax_bp_media_fetch_feed', array($bp_media_feed, 'fetch_feed'), 1);
29
- $this->bp_media_support = new BPMediaSupport();
30
- add_action('wp_ajax_bp_media_select_request', array($this->bp_media_support, 'get_form'), 1);
31
- add_action('wp_ajax_bp_media_cancel_request', create_function('', 'do_settings_sections("bp-media-support"); die();'), 1);
32
- add_action('wp_ajax_bp_media_submit_request', array($this->bp_media_support, 'submit_request'), 1);
33
- add_action('wp_ajax_bp_media_fetch_feed', array($bp_media_feed, 'fetch_feed'), 1);
34
- add_action('wp_ajax_bp_media_linkback', array($this, 'linkback'), 1);
35
- add_action('wp_ajax_bp_media_bp_album_deactivate', 'BPMediaAlbumimporter::bp_album_deactivate', 1);
36
- add_action('wp_ajax_bp_media_bp_album_import', 'BPMediaAlbumimporter::bpmedia_ajax_import_callback', 1);
37
- add_action('wp_ajax_bp_media_bp_album_import_favorites', 'BPMediaAlbumimporter::bpmedia_ajax_import_favorites', 1);
38
- add_action('wp_ajax_bp_media_bp_album_import_step_favorites', 'BPMediaAlbumimporter::bpmedia_ajax_import_step_favorites', 1);
39
- add_action('wp_ajax_bp_media_bp_album_cleanup', 'BPMediaAlbumimporter::cleanup_after_install');
40
- add_action('wp_ajax_bp_media_convert_videos_form', array($this, 'convert_videos_mailchimp_send'), 1);
41
- add_action('wp_ajax_bp_media_correct_upload_filetypes', array($this, 'correct_upload_filetypes'), 1);
42
- add_filter('plugin_row_meta', array($this, 'plugin_meta_premium_addon_link'), 1, 4);
43
- if (is_admin()) {
44
- add_action('admin_enqueue_scripts', array($this, 'ui'));
45
- add_action(bp_core_admin_hook(), array($this, 'menu'), 9);
46
- // if (current_user_can('manage_options'))
47
- // add_action('bp_admin_tabs', array($this, 'tab'));
48
- if (is_multisite())
49
- add_action('network_admin_edit_bp_media', array($this, 'save_multisite_options'));
50
- }
51
- $this->bp_media_settings = new BPMediaSettings();
52
- $this->bp_media_encoding = new BPMediaEncoding();
53
- }
54
-
55
- /**
56
- * Generates the Admin UI.
57
- *
58
- * @param string $hook
59
- */
60
-
61
- /**
62
- *
63
- * @param type $hook
64
- */
65
- public function ui($hook) {
66
- $admin_pages = array('buddypress-media_page_bp-media-kaltura-settings','buddypress-media_page_bp-media-ffmpeg-settings','toplevel_page_bp-media-settings', 'buddypress-media_page_bp-media-addons', 'buddypress-media_page_bp-media-support', 'buddypress-media_page_bp-media-importer');
67
-
68
- if(in_array($hook, $admin_pages)) {
69
- $admin_ajax = admin_url('admin-ajax.php');
70
-
71
- wp_enqueue_script('bootstrap-switch', BP_MEDIA_URL . 'app/assets/js/bootstrap-switch.js', array('jquery'), BP_MEDIA_VERSION);
72
- wp_enqueue_script('slider-tabs', BP_MEDIA_URL . 'app/assets/js/jquery.sliderTabs.min.js', array('jquery', 'jquery-effects-core'), BP_MEDIA_VERSION);
73
- wp_enqueue_script('power-tip', BP_MEDIA_URL . 'app/assets/js/jquery.powertip.min.js', array('jquery'), BP_MEDIA_VERSION);
74
- wp_enqueue_script('bp-media-admin', BP_MEDIA_URL . 'app/assets/js/admin.js', array('jquery-ui-dialog'), BP_MEDIA_VERSION);
75
- wp_localize_script('bp-media-admin', 'bp_media_admin_ajax', $admin_ajax);
76
- wp_localize_script('bp-media-admin', 'bp_media_admin_url', admin_url());
77
- wp_localize_script('bp-media-admin', 'bp_media_admin_url', admin_url());
78
- $bp_media_admin_strings = array(
79
- 'no_refresh' => __('Please do not refresh this page.', 'buddypress-media'),
80
- 'something_went_wrong' => __('Something went wronng. Please <a href onclick="location.reload();">refresh</a> page.', 'buddypress-media'),
81
- 'are_you_sure' => __('This will subscribe you to the free plan.', 'buddypress-media'),
82
- 'disable_encoding' => __('Are you sure you want to disable the encoding service? Make sure you note your api key before disabling it incase you want to activate it in future.', 'buddypress-media')
83
- );
84
- wp_localize_script('bp-media-admin', 'bp_media_admin_strings', $bp_media_admin_strings);
85
- wp_localize_script('bp-media-admin', 'settings_url', add_query_arg(
86
- array('page' => 'bp-media-settings'), (is_multisite() ? network_admin_url('admin.php') : admin_url('admin.php'))
87
- ) . '#privacy_enabled');
88
- wp_localize_script('bp-media-admin', 'settings_bp_album_import_url', add_query_arg(
89
- array('page' => 'bp-media-settings'), (is_multisite() ? network_admin_url('admin.php') : admin_url('admin.php'))
90
- ));
91
- wp_enqueue_style('font-awesome', BP_MEDIA_URL . 'app/assets/css/font-awesome.min.css', '', BP_MEDIA_VERSION);
92
- wp_enqueue_style('bootstrap-switch', BP_MEDIA_URL . 'app/assets/css/bootstrap-switch.css', '', BP_MEDIA_VERSION);
93
- wp_enqueue_style('slider-tabs', BP_MEDIA_URL . 'app/assets/css/jquery.sliderTabs.min.css', '', BP_MEDIA_VERSION);
94
- wp_enqueue_style('power-tip', BP_MEDIA_URL . 'app/assets/css/jquery.powertip.min.css', '', BP_MEDIA_VERSION);
95
- wp_enqueue_style('grid-foundation', BP_MEDIA_URL . 'app/assets/css/grid-foundation.css', '', BP_MEDIA_VERSION);
96
- wp_enqueue_style('bp-media-main', BP_MEDIA_URL . 'app/assets/css/main.css', '', BP_MEDIA_VERSION);
97
- wp_enqueue_style('bp-media-admin', BP_MEDIA_URL . 'app/assets/css/admin.css', '', BP_MEDIA_VERSION);
98
- wp_enqueue_style('wp-jquery-ui-dialog');
99
- }
100
- }
101
-
102
- /**
103
- * Admin Menu
104
- *
105
- * @global string 'buddypress-media'
106
- */
107
- public function menu() {
108
- global $wpdb;
109
- add_menu_page(__('BuddyPress Media Component', 'buddypress-media'), __('BuddyPress Media', 'buddypress-media'), 'manage_options', 'bp-media-settings', array($this, 'settings_page'));
110
- add_submenu_page('bp-media-settings', __('BuddyPress Media Settings', 'buddypress-media'), __('Settings', 'buddypress-media'), 'manage_options', 'bp-media-settings', array($this, 'settings_page'));
111
- add_submenu_page('bp-media-settings', __('BuddyPress Media Addons', 'buddypress-media'), __('Addons', 'buddypress-media'), 'manage_options', 'bp-media-addons', array($this, 'addons_page'));
112
- add_submenu_page('bp-media-settings', __('BuddyPress Media Support', 'buddypress-media'), __('Support ', 'buddypress-media'), 'manage_options', 'bp-media-support', array($this, 'support_page'));
113
- add_submenu_page('bp-media-settings', __('Importer', 'buddypress-media'), __('Importer', 'buddypress-media'), 'manage_options', 'bp-media-importer', array($this, 'bp_importer_page'));
114
- if (!BPMediaPrivacy::is_installed()) {
115
- add_submenu_page('bp-media-settings', __('BuddyPress Media Database Update', 'buddypress-media'), __('Update Database', 'buddypress-media'), 'manage_options', 'bp-media-privacy', array($this, 'privacy_page'));
116
- }
117
- }
118
-
119
- /**
120
- * Render the BuddyPress Media Settings page
121
- */
122
- public function settings_page() {
123
- $this->render_page('bp-media-settings', 'bp_media');
124
- }
125
-
126
- public function privacy_page() {
127
- $this->render_page('bp-media-privacy');
128
- }
129
-
130
- public function bp_importer_page() {
131
- $this->render_page('bp-media-importer');
132
- }
133
-
134
- public function convert_videos_page() {
135
- $this->render_page('bp-media-convert-videos');
136
- }
137
-
138
- /**
139
- * Render the BuddyPress Media Addons page
140
- */
141
- public function addons_page() {
142
- $this->render_page('bp-media-addons');
143
- }
144
-
145
- /**
146
- * Render the BuddyPress Media Support page
147
- */
148
- public function support_page() {
149
- $this->render_page('bp-media-support');
150
- }
151
-
152
- /**
153
- *
154
- * @return type
155
- */
156
- static function get_current_tab() {
157
- return isset($_GET['page']) ? $_GET['page'] : "bp-media-settings";
158
- }
159
-
160
- /**
161
- * Render BPMedia Settings
162
- *
163
- * @global string 'buddypress-media'
164
- */
165
-
166
- /**
167
- *
168
- * @param type $page
169
- * @param type $option_group
170
- */
171
- public function render_page($page, $option_group = NULL) {
172
- ?>
173
-
174
- <div class="wrap bp-media-admin <?php echo $this->get_current_tab(); ?>">
175
- <div id="icon-buddypress-media" class="icon32"><br></div>
176
- <h2 class="nav-tab-wrapper"><?php $this->bp_media_tabs(); ?></h2>
177
- <?php settings_errors(); ?>
178
- <div class="row">
179
- <div id="bp-media-settings-boxes" class="columns large-7">
180
- <?php
181
- $settings_url = ( is_multisite() ) ? network_admin_url('edit.php?action=' . $option_group) : 'options.php';
182
- ?>
183
- <?php if ($option_group) { //$option_group if ($page == "bp-media-settings") ?>
184
- <form id="bp_media_settings_form" name="bp_media_settings_form" action="<?php echo $settings_url; ?>" method="post" enctype="multipart/form-data">
185
- <div class="bp-media-metabox-holder"><?php
186
- settings_fields($option_group);
187
- if ($page == "bp-media-settings") {
188
-
189
-
190
- echo '<div id="bpm-settings-tabs">';
191
- $sub_tabs = $this->settings_sub_tabs();
192
- BPMediaFormHandler::rtForm_settings_tabs_content($page, $sub_tabs);
193
- echo '</div>';
194
- }else{
195
- do_settings_sections($page);
196
- }
197
- submit_button();
198
-
199
- ?><div class="rt-link alignright"><?php _e('By', 'buddypress-media'); ?> <a href="http://rtcamp.com/?utm_source=dashboard&utm_medium=plugin&utm_campaign=buddypress-media" title="<?php _e('Empowering The Web With WordPress', 'buddypress-media'); ?>"><img src="<?php echo BP_MEDIA_URL; ?>app/assets/img/rtcamp-logo.png"></a></div>
200
- </div>
201
- </form><?php } else {
202
- ?>
203
- <div class="bp-media-metabox-holder">
204
-
205
- <?php
206
- if( $page == 'bp-media-addons' )
207
- BPMediaAddon::render_addons ($page);
208
- else
209
- do_settings_sections($page);
210
- ?>
211
- <?php
212
- do_action('bp_media_admin_page_insert', $page);
213
- ?>
214
- <div class="rt-link alignright"><?php _e('By', 'buddypress-media'); ?> <a href="http://rtcamp.com/?utm_source=dashboard&utm_medium=plugin&utm_campaign=buddypress-media" title="<?php _e('Empowering The Web With WordPress', 'buddypress-media'); ?>"><img src="<?php echo BP_MEDIA_URL; ?>app/assets/img/rtcamp-logo.png"></a></div>
215
- </div><?php
216
- do_action('bp_media_admin_page_append', $page);
217
- }
218
- ?>
219
-
220
-
221
- </div><!-- .bp-media-settings-boxes -->
222
- <div class="metabox-holder bp-media-metabox-holder columns large-3">
223
- <?php $this->admin_sidebar(); ?>
224
- </div>
225
- </div><!-- .metabox-holder -->
226
- </div><!-- .bp-media-admin --><?php
227
- }
228
-
229
- /**
230
- * Adds a tab for Media settings in the BuddyPress settings page
231
- *
232
- * @global type $bp_media
233
- */
234
- public function tab() {
235
-
236
- $tabs_html = '';
237
- $idle_class = 'nav-tab';
238
- $active_class = 'nav-tab nav-tab-active';
239
- $tabs = array();
240
241
// Check to see which tab we are on
242
- $tab = $this->get_current_tab();
243
- /* BuddyPress Media */
244
- $tabs[] = array(
245
- 'href' => bp_get_admin_url(add_query_arg(array('page' => 'bp-media-settings'), 'admin.php')),
246
- 'title' => __('BuddyPress Media', 'buddypress-media'),
247
- 'name' => __('BuddyPress Media', 'buddypress-media'),
248
- 'class' => ($tab == 'bp-media-settings' || $tab == 'bp-media-addons' || $tab == 'bp-media-support') ? $active_class : $idle_class
249
- );
250
-
251
-
252
- foreach ($tabs as $tab) {
253
- $tabs_html.= '<a id="bp-media" title= "' . $tab['title'] . '" href="' . $tab['href'] . '" class="' . $tab['class'] . '">' . $tab['name'] . '</a>';
254
- }
255
- echo $tabs_html;
256
- }
257
-
258
- public function bp_media_tabs($active_tab = '') {
259
- // Declare local variables
260
- $tabs_html = '';
261
- $idle_class = 'nav-tab';
262
- $active_class = 'nav-tab nav-tab-active';
263
-
264
- // Setup core admin tabs
265
- $tabs = array(
266
- array(
267
- 'href' => bp_get_admin_url(add_query_arg(array('page' => 'bp-media-settings'), 'admin.php')),
268
- 'name' => __('Settings', 'buddypress-media'),
269
- 'slug' => 'bp-media-settings'
270
- ),
271
- array(
272
- 'href' => bp_get_admin_url(add_query_arg(array('page' => 'bp-media-addons'), 'admin.php')),
273
- 'name' => __('Addons', 'buddypress-media'),
274
- 'slug' => 'bp-media-addons'
275
- ),
276
- array(
277
- 'href' => bp_get_admin_url(add_query_arg(array('page' => 'bp-media-support'), 'admin.php')),
278
- 'name' => __('Support', 'buddypress-media'),
279
- 'slug' => 'bp-media-support'
280
- ),
281
- array(
282
- 'href' => bp_get_admin_url(add_query_arg(array('page' => 'bp-media-importer'), 'admin.php')),
283
- 'name' => __('Importer', 'buddypress-media'),
284
- 'slug' => 'bp-media-importer'
285
- )
286
- );
287
-
288
- $tabs = apply_filters('bp_media_add_tabs', $tabs);
289
-
290
- // Loop through tabs and build navigation
291
- foreach (array_values($tabs) as $tab_data) {
292
- $is_current = (bool) ( $tab_data['slug'] == $this->get_current_tab() );
293
- $tab_class = $is_current ? $active_class : $idle_class;
294
- $tabs_html .= '<a href="' . $tab_data['href'] . '" class="' . $tab_class . '">' . $tab_data['name'] . '</a>';
295
- }
296
-
297
- // Output the tabs
298
- echo $tabs_html;
299
-
300
- // // Do other fun things
301
- // do_action('bp_media_admin_tabs');
302
- }
303
-
304
- public function settings_content_tabs($page) {
305
- global $wp_settings_sections, $wp_settings_fields;
306
-
307
- if (!isset($wp_settings_sections) || !isset($wp_settings_sections[$page]))
308
- return;
309
-
310
- foreach ((array) $wp_settings_sections[$page] as $section) {
311
- if ($section['title'])
312
- echo "<h3>{$section['title']}</h3>\n";
313
-
314
- if ($section['callback'])
315
- call_user_func($section['callback'], $section);
316
-
317
- if (!isset($wp_settings_fields) || !isset($wp_settings_fields[$page]) || !isset($wp_settings_fields[$page][$section['id']]))
318
- continue;
319
- echo '<table class="form-table">';
320
- do_settings_fields($page, $section['id']);
321
- echo '</table>';
322
- }
323
- }
324
-
325
- /**
326
- * Adds a sub tabs to the BuddyPress Media settings page
327
- *
328
- * @global type $bp_media
329
- */
330
- public function settings_sub_tabs() {
331
- $tabs_html = '';
332
- $tabs = array();
333
-
334
- // Check to see which tab we are on
335
- $tab = $this->get_current_tab();
336
- /* BuddyPress Media */
337
- $tabs[] = array(
338
- 'href' => '#bp-media-types',
339
- 'icon' => 'icon-film',
340
- 'title' => __('BuddyPress Media Types', 'buddypress-media'),
341
- 'name' => __('Types', 'buddypress-media'),
342
- 'callback' => array('BPMediaFormHandler', 'types_content')
343
- );
344
-
345
- $tabs[] = array(
346
- 'href' => '#bp-media-sizes',
347
- 'icon' => 'icon-resize-full',
348
- 'title' => __('BuddyPress Media Sizes', 'buddypress-media'),
349
- 'name' => __('Sizes', 'buddypress-media'),
350
- 'callback' => array('BPMediaFormHandler', 'sizes_content')
351
- );
352
-
353
- $tabs[] = array(
354
- 'href' => '#bp-media-privacy',
355
- 'icon' => 'icon-lock',
356
- 'title' => __('BuddyPress Media Privacy', 'buddypress-media'),
357
- 'name' => __('Privacy', 'buddypress-media'),
358
- 'callback' => array('BPMediaFormHandler', 'privacy_content')
359
- );
360
-
361
- $tabs[] = array(
362
- 'href' => '#bp-media-misc',
363
- 'icon' => 'icon-cog',
364
- 'title' => __('BuddyPress Media Miscellaneous', 'buddypress-media'),
365
- 'name' => __('Miscellaneous', 'buddypress-media'),
366
- 'callback' => array('BPMediaFormHandler', 'misc_content')
367
- );
368
-
369
- $tabs = apply_filters('bp_media_add_settings_sub_tabs', $tabs, $tab);
370
- $tabs_html .= '<ul>';
371
- foreach ($tabs as $tab) {
372
-
373
- $icon = '';
374
- if (isset($tab['icon']) && !empty($tab['icon']))
375
- $icon = '<i class="' . $tab['icon'] . '"></i>';
376
-
377
- $tabs_html.= '<li><a title="' . $tab['title'] . '" href="' . $tab['href'] . '" class="' . sanitize_title($tab['name']) . '">' . $icon . ' ' . $tab['name'] . '</a></li>';
378
- }
379
- $tabs_html .= '</ul>';
380
-
381
- echo $tabs_html;
382
- return $tabs;
383
- }
384
-
385
- /*
386
- * Updates the media count of all users.
387
- */
388
-
389
- /**
390
- *
391
- * @global type $wpdb
392
- * @return boolean
393
- */
394
- public function update_count() {
395
- global $wpdb;
396
-
397
- $query =
398
- "SELECT
399
p.post_author,pmp.meta_value,
400
SUM(CASE WHEN post_mime_type LIKE 'image%' THEN 1 ELSE 0 END) as Images,
401
SUM(CASE WHEN post_mime_type LIKE 'audio%' THEN 1 ELSE 0 END) as Audio,
@@ -409,79 +303,66 @@ if (!class_exists('BPMediaAdmin')) {
409
pmp.meta_key = 'bp_media_privacy' AND
410
( post_mime_type LIKE 'image%' OR post_mime_type LIKE 'audio%' OR post_mime_type LIKE 'video%' OR post_type LIKE 'bp_media_album')
411
GROUP BY p.post_author,pmp.meta_value order by p.post_author";
412
- $result = $wpdb->get_results($query);
413
- if (!is_array($result))
414
- return false;
415
- $formatted = array();
416
- foreach ($result as $obj) {
417
- $formatted[$obj->post_author][$obj->meta_value] = array(
418
- 'image' => $obj->Images,
419
- 'video' => $obj->Videos,
420
- 'audio' => $obj->Audio,
421
- 'album' => $obj->Albums,
422
- );
423
- }
424
-
425
- foreach ($formatted as $user => $obj) {
426
- bp_update_user_meta($user, 'bp_media_count', $obj);
427
- }
428
- return true;
429
- }
430
-
431
- /* Multisite Save Options - http://wordpress.stackexchange.com/questions/64968/settings-api-in-multisite-missing-update-message#answer-72503 */
432
-
433
- /**
434
- *
435
- * @global type $bp_media_admin
436
- */
437
- public function save_multisite_options() {
438
- global $bp_media_admin;
439
- if (isset($_POST['refresh-count'])) {
440
- $bp_media_admin->update_count();
441
- }
442
- do_action('bp_media_sanitize_settings', $_POST);
443
-
444
- if (isset($_POST['bp_media_options'])) {
445
- bp_update_option('bp_media_options', $_POST['bp_media_options']);
446
//
447
// // redirect to settings page in network
448
- wp_redirect(
449
- add_query_arg(
450
- array('page' => 'bp-media-settings', 'updated' => 'true'), (is_multisite() ? network_admin_url('admin.php') : admin_url('admin.php'))
451
- )
452
- );
453
- exit;
454
- }
455
- }
456
-
457
- /* Admin Sidebar */
458
-
459
- /**
460
- *
461
- * @global type $bp_media
462
- */
463
- public function admin_sidebar() {
464
- do_action('bp_media_before_default_admin_widgets');
465
- $current_user = wp_get_current_user();
466
- // echo '<p><a target="_blank" href="http://rtcamp.com/news/buddypress-media-review-contest/?utm_source=dashboard&#038;utm_medium=plugin&#038;utm_campaign=buddypress-media"><img src="' . BP_MEDIA_URL . 'app/assets/img/bpm-contest-banner.jpg" alt="BuddyPress Media Review Contest" /></a></p>';
467
- // $contest = '<a target="_blank" href="http://rtcamp.com/news/buddypress-media-review-contest/?utm_source=dashboard&#038;utm_medium=plugin&#038;utm_campaign=buddypress-media"><img src="'.BP_MEDIA_URL.'app/assets/img/bpm-contest-banner.jpg" alt="BuddyPress Media Review Contest" /></a>';
468
- // new BPMediaAdminWidget('bpm-contest', __('', 'buddypress-media'), $contest);
469
-
470
- $message = sprintf(__('I use @buddypressmedia http://goo.gl/8Upmv on %s', 'buddypress-media'), home_url());
471
- $addons = '<div id="social" class="row">
472
- <label class="columns large-6 large-offset-3" for="bp-media-add-linkback"><input' . checked(bp_get_option('bp_media_add_linkback', false), true, false) . ' type="checkbox" name="bp-media-add-linkback" value="1" id="bp-media-add-linkback"/> ' . __('Add link to footer', 'buddypress-media') . '</label>
473
- <div class="row">
474
- <div class="columns large-6"><iframe src="//www.facebook.com/plugins/like.php?href=http%3A%2F%2Frtcamp.com%2Fbuddypress-media%2F&amp;send=false&amp;layout=button_count&amp;width=72&amp;show_faces=false&amp;font&amp;colorscheme=light&amp;action=like&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:76px; height:21px; margin-top: 5px;" allowTransparency="true"></iframe></div>
475
- <div class="columns large-6"><a href="https://www.facebook.com/sharer/sharer.php?u=http://rtcamp.com/buddypress-media/" class="button" target="_blank"> <i class="icon-facebook"></i> ' . __('Share', 'buddypress-media') . '</a></div>
476
- <div class="columns large-6"><iframe allowtransparency="true" frameborder="0" scrolling="no" src="//platform.twitter.com/widgets/follow_button.html?screen_name=buddypressmedia&show_count=false" style="width:62px; height:21px; margin-top: 5px;"></iframe></div>
477
- <div class="columns large-6"><a href="http://twitter.com/home/?status=' . $message . '" class="button button-tweet" target= "_blank"><i class="icon-twitter"></i> ' . __('Tweet', 'buddypress-media') . '</a></div>
478
- <div class="columns large-6"><a href="http://wordpress.org/support/view/plugin-reviews/buddypress-media?rate=5#postform" class="button bpm-wp-button" target= "_blank"><span class="bpm-wp-icon">&nbsp;</span> ' . __('Review', 'buddypress-media') . '</a></div>
479
- <div class="columns large-6"><a href="' . sprintf('%s', 'http://feeds.feedburner.com/rtcamp/') . '" title="' . __('Subscribe to our feeds', 'buddypress-media') . '" class="button"><i class="bp-media-rss icon-rss"></i> ' . __('Feeds', 'buddypress-media') . '</a></div>
480
- </div>
481
- </div>';
482
- //<li><a href="' . sprintf('%s', 'http://www.facebook.com/rtCamp.solutions/') . '" title="' . __('Become a fan on Facebook', 'buddypress-media') . '" class="bp-media-facebook bp-media-social">' . __('Facebook', 'buddypress-media') . '</a></li>
483
- //<li><a href="' . sprintf('%s', 'https://twitter.com/rtcamp/') . '" title="' . __('Follow us on Twitter', 'buddypress-media') . '" class="bp-media-twitter bp-media-social">' . __('Twitter', 'buddypress-media') . '</a></li> ;
484
- new BPMediaAdminWidget('spread-the-word', __('Spread the Word', 'buddypress-media'), $addons);
485
486
// $donate = '<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
487
// <!-- Identify your business so that you can collect the payments. -->
@@ -505,143 +386,148 @@ if (!class_exists('BPMediaAdmin')) {
505
// ;
506
// new BPMediaAdminWidget('donate', __('Donate', 'buddypress-media'), $donate);
507
508
- $branding = '<form action="http://rtcamp.us1.list-manage1.com/subscribe/post?u=85b65c9c71e2ba3fab8cb1950&amp;id=9e8ded4470" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
509
- <div class="mc-field-group">
510
- <input type="email" value="' . $current_user->user_email . '" name="EMAIL" placeholder="Email" class="required email" id="mce-EMAIL">
511
- <input style="display:none;" type="checkbox" checked="checked" value="1" name="group[1721][1]" id="mce-group[1721]-1721-0"><label for="mce-group[1721]-1721-0">
512
- <div id="mce-responses" class="clear">
513
- <div class="response" id="mce-error-response" style="display:none"></div>
514
- <div class="response" id="mce-success-response" style="display:none"></div>
515
- </div>
516
- <input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button">
517
- </div>
518
- </form>';
519
- new BPMediaAdminWidget('branding', __('Subscribe', 'buddypress-media'), $branding);
520
-
521
- $news = '<img src ="' . admin_url('/images/wpspin_light.gif') . '" /> Loading...';
522
- new BPMediaAdminWidget('latest-news', __('Latest News', 'buddypress-media'), $news);
523
- do_action('bp_media_after_default_admin_widgets');
524
- }
525
-
526
- public function linkback() {
527
- if (isset($_POST['linkback']) && $_POST['linkback']) {
528
- return bp_update_option('bp_media_add_linkback', true);
529
- } else {
530
- return bp_update_option('bp_media_add_linkback', false);
531
- }
532
- die;
533
- }
534
-
535
- public function convert_videos_mailchimp_send() {
536
- if ($_POST['interested'] == 'Yes' && !empty($_POST['choice'])) {
537
- wp_remote_get(add_query_arg(array('bp-media-convert-videos-form' => 1, 'choice' => $_POST['choice'], 'url' => urlencode($_POST['url']), 'email' => $_POST['email']), 'http://rtcamp.com/'));
538
- } else {
539
- bp_update_option('bp-media-survey', 0);
540
- }
541
- echo 'Thank you for your time.';
542
- die;
543
- }
544
-
545
- public function video_transcoding_survey_response() {
546
- if (isset($_GET['survey-done']) && ($_GET['survey-done'] == md5('survey-done'))) {
547
- bp_update_option('bp-media-survey', 0);
548
- }
549
- }
550
-
551
- public function plugin_meta_premium_addon_link($plugin_meta, $plugin_file, $plugin_data, $status) {
552
- if (plugin_basename(BP_MEDIA_PATH . 'index.php') == $plugin_file)
553
- $plugin_meta[] = '<a href="https://rtcamp.com/store/product-category/buddypress/?utm_source=dashboard&#038;utm_medium=plugin&#038;utm_campaign=buddypress-media" title="Premium Add-ons">Premium Add-ons</a>';
554
- return $plugin_meta;
555
- }
556
-
557
- public function upload_filetypes_error() {
558
- global $bp_media;
559
- $upload_filetypes = get_site_option('upload_filetypes', 'jpg jpeg png gif');
560
- $upload_filetypes = explode(' ', $upload_filetypes);
561
- $flag = false;
562
- if (isset($bp_media->options['images_enabled']) && $bp_media->options['images_enabled']) {
563
- $not_supported_image = array_diff(array('jpg', 'jpeg', 'png', 'gif'), $upload_filetypes);
564
- if (!empty($not_supported_image)) {
565
- echo '<div class="error upload-filetype-network-settings-error">
566
<p>
567
' . sprintf(__('You have images enabled on BuddyPress Media but your network allowed filetypes does not allow uploading of %s. Click <a href="%s">here</a> to change your settings manually.', 'buddypress-media'), implode(', ', $not_supported_image), network_admin_url('settings.php#upload_filetypes')) . '
568
<br /><strong>' . __('Recommended', 'buddypress-media') . ':</strong> <input type="button" class="button update-network-settings-upload-filetypes" class="button" value="' . __('Update Network Settings Automatically', 'buddypress-media') . '"> <img style="display:none;" src="' . admin_url('images/wpspin_light.gif') . '" />
569
</p>
570
</div>';
571
- $flag = true;
572
- }
573
- }
574
- if (isset($bp_media->options['videos_enabled']) && $bp_media->options['videos_enabled']) {
575
- if (!in_array('mp4', $upload_filetypes)) {
576
- echo '<div class="error upload-filetype-network-settings-error">
577
<p>
578
' . sprintf(__('You have video enabled on BuddyPress Media but your network allowed filetypes does not allow uploading of mp4. Click <a href="%s">here</a> to change your settings manually.', 'buddypress-media'), network_admin_url('settings.php#upload_filetypes')) . '
579
<br /><strong>' . __('Recommended', 'buddypress-media') . ':</strong> <input type="button" class="button update-network-settings-upload-filetypes" class="button" value="' . __('Update Network Settings Automatically', 'buddypress-media') . '"> <img style="display:none;" src="' . admin_url('images/wpspin_light.gif') . '" />
580
</p>
581
</div>';
582
- $flag = true;
583
- }
584
- }
585
- if (isset($bp_media->options['audio_enabled']) && $bp_media->options['audio_enabled']) {
586
- if (!in_array('mp3', $upload_filetypes)) {
587
- echo '<div class="error upload-filetype-network-settings-error"><p>' . sprintf(__('You have audio enabled on BuddyPress Media but your network allowed filetypes does not allow uploading of mp3. Click <a href="%s">here</a> to change your settings manually.', 'buddypress-media'), network_admin_url('settings.php#upload_filetypes')) . '
588
<br /><strong>' . __('Recommended', 'buddypress-media') . ':</strong> <input type="button" class="button update-network-settings-upload-filetypes" class="button" value="' . __('Update Network Settings Automatically', 'buddypress-media') . '"> <img style="display:none;" src="' . admin_url('images/wpspin_light.gif') . '" />
589
</p>
590
</div>';
591
- $flag = true;
592
- }
593
- }
594
- if ($flag) {
595
- ?>
596
- <script type="text/javascript">
597
- jQuery('.upload-filetype-network-settings-error').on('click', '.update-network-settings-upload-filetypes', function() {
598
- jQuery('.update-network-settings-upload-filetypes').siblings('img').show();
599
- jQuery('.update-network-settings-upload-filetypes').prop('disabled', true);
600
- jQuery.post(ajaxurl, {action: 'bp_media_correct_upload_filetypes'}, function(response) {
601
- if (response) {
602
- jQuery('.upload-filetype-network-settings-error:first').after('<div style="display: none;" class="updated bp-media-network-settings-updated-successfully"><p><?php _e('Network settings updated successfully.', 'buddypress-media'); ?></p></div>')
603
- jQuery('.upload-filetype-network-settings-error').remove();
604
- jQuery('.bp-media-network-settings-updated-successfully').show();
605
- }
606
- });
607
- });</script><?php
608
- }
609
- }
610
-
611
- public function correct_upload_filetypes() {
612
- global $bp_media;
613
- $upload_filetypes_orig = $upload_filetypes = get_site_option('upload_filetypes', 'jpg jpeg png gif');
614
- $upload_filetypes = explode(' ', $upload_filetypes);
615
- if (isset($bp_media->options['images_enabled']) && $bp_media->options['images_enabled']) {
616
- $not_supported_image = array_diff(array('jpg', 'jpeg', 'png', 'gif'), $upload_filetypes);
617
- if (!empty($not_supported_image)) {
618
- $update_image_support = NULL;
619
- foreach ($not_supported_image as $ns) {
620
- $update_image_support .= ' ' . $ns;
621
- }
622
- if ($update_image_support) {
623
- $upload_filetypes_orig .= $update_image_support;
624
- update_site_option('upload_filetypes', $upload_filetypes_orig);
625
- }
626
- }
627
- }
628
- if (isset($bp_media->options['videos_enabled']) && $bp_media->options['videos_enabled']) {
629
- if (!in_array('mp4', $upload_filetypes)) {
630
- $upload_filetypes_orig .= ' mp4';
631
- update_site_option('upload_filetypes', $upload_filetypes_orig);
632
- }
633
- }
634
- if (isset($bp_media->options['audio_enabled']) && $bp_media->options['audio_enabled']) {
635
- if (!in_array('mp3', $upload_filetypes)) {
636
- $upload_filetypes_orig .= ' mp3';
637
- update_site_option('upload_filetypes', $upload_filetypes_orig);
638
- }
639
- }
640
- echo true;
641
- die();
642
- }
643
-
644
- }
645
646
}
647
- ?>
10
*/
11
if (!class_exists('BPMediaAdmin')) {
12
13
+ class BPMediaAdmin {
14
+
15
+ public $bp_media_upgrade;
16
+ public $bp_media_settings;
17
+ public $bp_media_encoding;
18
+ public $bp_media_support;
19
+ public $bp_media_feed;
20
+
21
+ public function __construct() {
22
+ add_action('init', array($this, 'video_transcoding_survey_response'));
23
+ if (is_multisite()) {
24
+ add_action('network_admin_notices', array($this, 'upload_filetypes_error'));
25
+ add_action('admin_notices', array($this, 'upload_filetypes_error'));
26
+ }
27
+ $bp_media_feed = new BPMediaFeed();
28
+ add_action('wp_ajax_bp_media_fetch_feed', array($bp_media_feed, 'fetch_feed'), 1);
29
+ $this->bp_media_support = new BPMediaSupport();
30
+ add_action('wp_ajax_bp_media_select_request', array($this->bp_media_support, 'get_form'), 1);
31
+ add_action('wp_ajax_bp_media_cancel_request', create_function('', 'do_settings_sections("bp-media-support"); die();'), 1);
32
+ add_action('wp_ajax_bp_media_submit_request', array($this->bp_media_support, 'submit_request'), 1);
33
+ add_action('wp_ajax_bp_media_fetch_feed', array($bp_media_feed, 'fetch_feed'), 1);
34
+ add_action('wp_ajax_bp_media_linkback', array($this, 'linkback'), 1);
35
+ add_action('wp_ajax_bp_media_bp_album_deactivate', 'BPMediaAlbumimporter::bp_album_deactivate', 1);
36
+ add_action('wp_ajax_bp_media_bp_album_import', 'BPMediaAlbumimporter::bpmedia_ajax_import_callback', 1);
37
+ add_action('wp_ajax_bp_media_bp_album_import_favorites', 'BPMediaAlbumimporter::bpmedia_ajax_import_favorites', 1);
38
+ add_action('wp_ajax_bp_media_bp_album_import_step_favorites', 'BPMediaAlbumimporter::bpmedia_ajax_import_step_favorites', 1);
39
+ add_action('wp_ajax_bp_media_bp_album_cleanup', 'BPMediaAlbumimporter::cleanup_after_install');
40
+ add_action('wp_ajax_bp_media_convert_videos_form', array($this, 'convert_videos_mailchimp_send'), 1);
41
+ add_action('wp_ajax_bp_media_correct_upload_filetypes', array($this, 'correct_upload_filetypes'), 1);
42
+ add_filter('plugin_row_meta', array($this, 'plugin_meta_premium_addon_link'), 1, 4);
43
+ if (is_admin()) {
44
+ add_action('admin_enqueue_scripts', array($this, 'ui'));
45
+ add_action(bp_core_admin_hook(), array($this, 'menu'));
46
+ if (current_user_can('manage_options'))
47
+ add_action('bp_admin_tabs', array($this, 'tab'));
48
+ if (is_multisite())
49
+ add_action('network_admin_edit_bp_media', array($this, 'save_multisite_options'));
50
+ }
51
+ $this->bp_media_settings = new BPMediaSettings();
52
+ if ( !class_exists('BPMediaFFMPEG') && !class_exists('BPMediaKaltura') )
53
+ $this->bp_media_encoding = new BPMediaEncoding();
54
+ }
55
+
56
+ /**
57
+ * Generates the Admin UI.
58
+ *
59
+ * @param string $hook
60
+ */
61
+
62
+ /**
63
+ *
64
+ * @param type $hook
65
+ */
66
+ public function ui($hook) {
67
+ $admin_ajax = admin_url('admin-ajax.php');
68
+
69
+ wp_enqueue_script('bp-media-admin', BP_MEDIA_URL . 'app/assets/js/admin.js', array('jquery-ui-dialog'), BP_MEDIA_VERSION);
70
+ wp_enqueue_style ( 'wp-jquery-ui-dialog');
71
+ wp_localize_script('bp-media-admin', 'bp_media_admin_ajax', $admin_ajax);
72
+ wp_localize_script('bp-media-admin', 'bp_media_admin_admin_url', admin_url());
73
+ $bp_media_admin_strings = array(
74
+ 'no_refresh' => __('Please do not refresh this page.', 'buddypress-media'),
75
+ 'something_went_wrong' => __('Something went wronng. Please <a href onclick="location.reload();">refresh</a> page.', 'buddypress-media'),
76
+ 'are_you_sure' => __('This will subscribe you to the free plan.', 'buddypress-media'),
77
+ 'reason_for_unsubscribe' => __('Just to improve our service we would like to know the reason for you to leave us.', 'buddypress-media')
78
+ );
79
+ wp_localize_script('bp-media-admin', 'bp_media_admin_strings', $bp_media_admin_strings);
80
+ wp_localize_script('bp-media-admin', 'settings_url', add_query_arg(
81
+ array('page' => 'bp-media-settings'), (is_multisite() ? network_admin_url('admin.php') : admin_url('admin.php'))
82
+ ) . '#privacy_enabled');
83
+ wp_localize_script('bp-media-admin', 'settings_bp_album_import_url', add_query_arg(
84
+ array('page' => 'bp-media-settings'), (is_multisite() ? network_admin_url('admin.php') : admin_url('admin.php'))
85
+ ));
86
+ wp_enqueue_style('bp-media-admin', BP_MEDIA_URL . 'app/assets/css/main.css', '', BP_MEDIA_VERSION);
87
+ }
88
+
89
+ /**
90
+ * Admin Menu
91
+ *
92
+ * @global string 'buddypress-media'
93
+ */
94
+ public function menu() {
95
+ global $wpdb;
96
+ add_menu_page(__('BuddyPress Media Component', 'buddypress-media'), __('BuddyPress Media', 'buddypress-media'), 'manage_options', 'bp-media-settings', array($this, 'settings_page'));
97
+ add_submenu_page('bp-media-settings', __('BuddyPress Media Settings', 'buddypress-media'), __('Settings', 'buddypress-media'), 'manage_options', 'bp-media-settings', array($this, 'settings_page'));
98
+ add_submenu_page('bp-media-settings', __('BuddyPress Media Addons', 'buddypress-media'), __('Addons', 'buddypress-media'), 'manage_options', 'bp-media-addons', array($this, 'addons_page'));
99
+ add_submenu_page('bp-media-settings', __('BuddyPress Media Support', 'buddypress-media'), __('Support ', 'buddypress-media'), 'manage_options', 'bp-media-support', array($this, 'support_page'));
100
+ add_submenu_page('bp-media-settings', __('Importer', 'buddypress-media'), __('Importer', 'buddypress-media'), 'manage_options', 'bp-media-importer', array($this, 'bp_importer_page'));
101
+ if (!BPMediaPrivacy::is_installed()) {
102
+ add_submenu_page('bp-media-settings', __('BuddyPress Media Database Update', 'buddypress-media'), __('Update Database', 'buddypress-media'), 'manage_options', 'bp-media-privacy', array($this, 'privacy_page'));
103
+ }
104
+ }
105
+
106
+ /**
107
+ * Render the BuddyPress Media Settings page
108
+ */
109
+ public function settings_page() {
110
+ $this->render_page('bp-media-settings', 'bp_media');
111
+ }
112
+
113
+ public function privacy_page() {
114
+ $this->render_page('bp-media-privacy');
115
+ }
116
+
117
+ public function bp_importer_page() {
118
+ $this->render_page('bp-media-importer');
119
+ }
120
+
121
+ public function convert_videos_page() {
122
+ $this->render_page('bp-media-convert-videos');
123
+ }
124
+
125
+ /**
126
+ * Render the BuddyPress Media Addons page
127
+ */
128
+ public function addons_page() {
129
+ $this->render_page('bp-media-addons');
130
+ }
131
+
132
+ /**
133
+ * Render the BuddyPress Media Support page
134
+ */
135
+ public function support_page() {
136
+ $this->render_page('bp-media-support');
137
+ }
138
+
139
+ /**
140
+ *
141
+ * @return type
142
+ */
143
+ static function get_current_tab() {
144
+ return isset($_GET['page']) ? $_GET['page'] : "bp-media-settings";
145
+ }
146
+
147
+ /**
148
+ * Render BPMedia Settings
149
+ *
150
+ * @global string 'buddypress-media'
151
+ */
152
+
153
+ /**
154
+ *
155
+ * @param type $page
156
+ * @param type $option_group
157
+ */
158
+ public function render_page($page, $option_group = NULL) {
159
+ ?>
160
+
161
+ <div class="wrap bp-media-admin <?php echo $this->get_current_tab(); ?>">
162
+ <div id="icon-buddypress" class="icon32"><br></div>
163
+ <h2 class="nav-tab-wrapper"><?php bp_core_admin_tabs(__('Media', 'buddypress-media')); ?></h2>
164
+ <?php settings_errors(); ?>
165
+ <div class="columns-2">
166
+ <h3 class="bp-media-settings-tabs"><?php
167
+ $this->sub_tabs();
168
+ ?>
169
+ </h3>
170
+
171
+ <div id="bp-media-settings-boxes">
172
+ <?php
173
+ $settings_url = ( is_multisite() ) ? network_admin_url('edit.php?action=' . $option_group) : 'options.php';
174
+ ?>
175
+ <?php if ($option_group) { ?>
176
+ <form id="bp_media_settings_form" name="bp_media_settings_form" action="<?php echo $settings_url; ?>" method="post" enctype="multipart/form-data">
177
+ <div class="bp-media-metabox-holder"><?php
178
+ settings_fields($option_group);
179
+ do_settings_sections($page);
180
+ submit_button();
181
+ ?><div class="rt-link alignright"><?php _e('By', 'buddypress-media'); ?> <a href="http://rtcamp.com/?utm_source=dashboard&utm_medium=plugin&utm_campaign=buddypress-media" title="<?php _e('Empowering The Web With WordPress', 'buddypress-media'); ?>"><img src="<?php echo BP_MEDIA_URL; ?>app/assets/img/rtcamp-logo.png"></a></div>
182
+ </div>
183
+ </form><?php } else {
184
+ ?>
185
+ <div class="bp-media-metabox-holder"><?php do_settings_sections($page); ?>
186
+ <div class="rt-link alignright"><?php _e('By', 'buddypress-media'); ?> <a href="http://rtcamp.com/?utm_source=dashboard&utm_medium=plugin&utm_campaign=buddypress-media" title="<?php _e('Empowering The Web With WordPress', 'buddypress-media'); ?>"><img src="<?php echo BP_MEDIA_URL; ?>app/assets/img/rtcamp-logo.png"></a></div>
187
+ </div><?php
188
+ }
189
+ ?>
190
+
191
+
192
+ </div><!-- .bp-media-settings-boxes -->
193
+ <div class="metabox-fixed metabox-holder alignright bp-media-metabox-holder">
194
+ <?php $this->admin_sidebar(); ?>
195
+ </div>
196
+ </div><!-- .metabox-holder -->
197
+ </div><!-- .bp-media-admin --><?php
198
+ do_action('bp_media_admin_page_append', $page);
199
+ }
200
+
201
+ /**
202
+ * Adds a tab for Media settings in the BuddyPress settings page
203
+ *
204
+ * @global type $bp_media
205
+ */
206
+ public function tab() {
207
+
208
+ $tabs_html = '';
209
+ $idle_class = 'nav-tab';
210
+ $active_class = 'nav-tab nav-tab-active';
211
+ $tabs = array();
212
213
// Check to see which tab we are on
214
+ $tab = $this->get_current_tab();
215
+ /* BuddyPress Media */
216
+ $tabs[] = array(
217
+ 'href' => bp_get_admin_url(add_query_arg(array('page' => 'bp-media-settings'), 'admin.php')),
218
+ 'title' => __('BuddyPress Media', 'buddypress-media'),
219
+ 'name' => __('BuddyPress Media', 'buddypress-media'),
220
+ 'class' => ($tab == 'bp-media-settings' || $tab == 'bp-media-addons' || $tab == 'bp-media-support') ? $active_class : $idle_class
221
+ );
222
+
223
+
224
+ foreach ($tabs as $tab) {
225
+ $tabs_html.= '<a id="bp-media" title= "' . $tab['title'] . '" href="' . $tab['href'] . '" class="' . $tab['class'] . '">' . $tab['name'] . '</a>';
226
+ }
227
+ echo $tabs_html;
228
+ }
229
+
230
+ /**
231
+ * Adds a sub tabs to the BuddyPress Media settings page
232
+ *
233
+ * @global type $bp_media
234
+ */
235
+ public function sub_tabs() {
236
+ $tabs_html = '';
237
+ $idle_class = 'nav-tab';
238
+ $active_class = 'nav-tab nav-tab-active';
239
+ $tabs = array();
240
+
241
+ // Check to see which tab we are on
242
+ $tab = $this->get_current_tab();
243
+ /* BuddyPress Media */
244
+ $tabs[] = array(
245
+ 'href' => bp_get_admin_url(add_query_arg(array('page' => 'bp-media-settings'), 'admin.php')),
246
+ 'title' => __('BuddyPress Media Settings', 'buddypress-media'),
247
+ 'name' => __('Settings', 'buddypress-media'),
248
+ 'class' => ($tab == 'bp-media-settings') ? $active_class : $idle_class . ' first_tab'
249
+ );
250
+
251
+ $tabs[] = array(
252
+ 'href' => bp_get_admin_url(add_query_arg(array('page' => 'bp-media-addons'), 'admin.php')),
253
+ 'title' => __('BuddyPress Media Addons', 'buddypress-media'),
254
+ 'name' => __('Addons', 'buddypress-media'),
255
+ 'class' => ($tab == 'bp-media-addons') ? $active_class : $idle_class
256
+ );
257
+
258
+ $tabs[] = array(
259
+ 'href' => bp_get_admin_url(add_query_arg(array('page' => 'bp-media-support'), 'admin.php')),
260
+ 'title' => __('BuddyPress Media Support', 'buddypress-media'),
261
+ 'name' => __('Support', 'buddypress-media'),
262
+ 'class' => ($tab == 'bp-media-support') ? $active_class : $idle_class . ' last_tab'
263
+ );
264
+
265
+ $tabs[] = array(
266
+ 'href' => bp_get_admin_url(add_query_arg(array('page' => 'bp-media-importer'), 'admin.php')),
267
+ 'title' => __('Importer', 'buddypress-media'),
268
+ 'name' => __('Importer', 'buddypress-media'),
269
+ 'class' => ($tab == 'bp-media-importer') ? $active_class : $idle_class
270
+ );
271
+
272
+ $tabs = apply_filters('bp_media_add_sub_tabs', $tabs, $tab);
273
+ foreach ($tabs as $tab) {
274
+ $tabs_html.= '<a title="' . $tab['title'] . '" href="' . $tab['href'] . '" class="' . $tab['class'] . ' ' . sanitize_title($tab['name']) . '">' . $tab['name'] . '</a>';
275
+ }
276
+ echo $tabs_html;
277
+ }
278
+
279
+ /*
280
+ * Updates the media count of all users.
281
+ */
282
+
283
+ /**
284
+ *
285
+ * @global type $wpdb
286
+ * @return boolean
287
+ */
288
+ public function update_count() {
289
+ global $wpdb;
290
+
291
+ $query =
292
+ "SELECT
293
p.post_author,pmp.meta_value,
294
SUM(CASE WHEN post_mime_type LIKE 'image%' THEN 1 ELSE 0 END) as Images,
295
SUM(CASE WHEN post_mime_type LIKE 'audio%' THEN 1 ELSE 0 END) as Audio,
303
pmp.meta_key = 'bp_media_privacy' AND
304
( post_mime_type LIKE 'image%' OR post_mime_type LIKE 'audio%' OR post_mime_type LIKE 'video%' OR post_type LIKE 'bp_media_album')
305
GROUP BY p.post_author,pmp.meta_value order by p.post_author";
306
+ $result = $wpdb->get_results($query);
307
+ if (!is_array($result))
308
+ return false;
309
+ $formatted = array();
310
+ foreach ($result as $obj) {
311
+ $formatted[$obj->post_author][$obj->meta_value] = array(
312
+ 'image' => $obj->Images,
313
+ 'video' => $obj->Videos,
314
+ 'audio' => $obj->Audio,
315
+ 'album' => $obj->Albums,
316
+ );
317
+ }
318
+
319
+ foreach ($formatted as $user => $obj) {
320
+ bp_update_user_meta($user, 'bp_media_count', $obj);
321
+ }
322
+ return true;
323
+ }
324
+
325
+ /* Multisite Save Options - http://wordpress.stackexchange.com/questions/64968/settings-api-in-multisite-missing-update-message#answer-72503 */
326
+
327
+ /**
328
+ *
329
+ * @global type $bp_media_admin
330
+ */
331
+ public function save_multisite_options() {
332
+ global $bp_media_admin;
333
+ if (isset($_POST['refresh-count'])) {
334
+ $bp_media_admin->update_count();
335
+ }
336
+ do_action('bp_media_sanitize_settings', $_POST);
337
+
338
+ if (isset($_POST['bp_media_options'])) {
339
+ bp_update_option('bp_media_options', $_POST['bp_media_options']);
340
//
341
// // redirect to settings page in network
342
+ wp_redirect(
343
+ add_query_arg(
344
+ array('page' => 'bp-media-settings', 'updated' => 'true'), (is_multisite() ? network_admin_url('admin.php') : admin_url('admin.php'))
345
+ )
346
+ );
347
+ exit;
348
+ }
349
+ }
350
+
351
+ /* Admin Sidebar */
352
+
353
+ /**
354
+ *
355
+ * @global type $bp_media
356
+ */
357
+ public function admin_sidebar() {
358
+ do_action('bp_media_before_default_admin_widgets');
359
+ $current_user = wp_get_current_user();
360
+
361
+ $message = sprintf(__('I use @buddypressmedia http://goo.gl/8Upmv on %s', 'buddypress-media'), home_url());
362
+ $addons = '<label for="bp-media-add-linkback"><input' . checked(bp_get_option('bp_media_add_linkback', false), true, false) . ' type="checkbox" name="bp-media-add-linkback" value="1" id="bp-media-add-linkback"/> ' . __('Add link to footer', 'buddypress-media') . '</label>
363
+ <a href="http://twitter.com/home/?status=' . $message . '" class="button button-tweet" target= "_blank">' . __('Tweet', 'buddypress-media') . '</a>
364
+ <a href="http://wordpress.org/support/view/plugin-reviews/buddypress-media?rate=5#postform" class="button button-rating" target= "_blank">' . __('Rate on WordPress.org', 'buddypress-media') . '</a>';
365
+ new BPMediaAdminWidget('spread-the-word', __('Spread the Word', 'buddypress-media'), $addons);
366
367
// $donate = '<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
368
// <!-- Identify your business so that you can collect the payments. -->
386
// ;
387
// new BPMediaAdminWidget('donate', __('Donate', 'buddypress-media'), $donate);
388
389
+ $branding = '<form action="http://rtcamp.us1.list-manage1.com/subscribe/post?u=85b65c9c71e2ba3fab8cb1950&amp;id=9e8ded4470" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
390
+ <div class="mc-field-group">
391
+ <input type="email" value="' . $current_user->user_email . '" name="EMAIL" placeholder="Email" class="required email" id="mce-EMAIL">
392
+ <input style="display:none;" type="checkbox" checked="checked" value="1" name="group[1721][1]" id="mce-group[1721]-1721-0"><label for="mce-group[1721]-1721-0">
393
+ <div id="mce-responses" class="clear">
394
+ <div class="response" id="mce-error-response" style="display:none"></div>
395
+ <div class="response" id="mce-success-response" style="display:none"></div>
396
+ </div>
397
+ <input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button">
398
+ </div>
399
+ </form>
400
+ <ul id="social">
401
+ <li><a href="' . sprintf('%s', 'http://www.facebook.com/rtCamp.solutions/') . '" title="' . __('Become a fan on Facebook', 'buddypress-media') . '" class="bp-media-facebook bp-media-social">' . __('Facebook', 'buddypress-media') . '</a></li>
402
+ <li><a href="' . sprintf('%s', 'https://twitter.com/rtcamp/') . '" title="' . __('Follow us on Twitter', 'buddypress-media') . '" class="bp-media-twitter bp-media-social">' . __('Twitter', 'buddypress-media') . '</a></li>
403
+ <li><a href="' . sprintf('%s', 'http://feeds.feedburner.com/rtcamp/') . '" title="' . __('Subscribe to our feeds', 'buddypress-media') . '" class="bp-media-rss bp-media-social">' . __('RSS Feed', 'buddypress-media') . '</a></li>
404
+ </ul>';
405
+ new BPMediaAdminWidget('branding', __('Subscribe', 'buddypress-media'), $branding);
406
+
407
+ $news = '<img src ="' . admin_url('/images/wpspin_light.gif') . '" /> Loading...';
408
+ new BPMediaAdminWidget('latest-news', __('Latest News', 'buddypress-media'), $news);
409
+ do_action('bp_media_after_default_admin_widgets');
410
+ }
411
+
412
+ public function linkback() {
413
+ if (isset($_POST['linkback']) && $_POST['linkback']) {
414
+ return bp_update_option('bp_media_add_linkback', true);
415
+ } else {
416
+ return bp_update_option('bp_media_add_linkback', false);
417
+ }
418
+ die;
419
+ }
420
+
421
+ public function convert_videos_mailchimp_send() {
422
+ if ($_POST['interested'] == 'Yes' && !empty($_POST['choice'])) {
423
+ wp_remote_get(add_query_arg(array('bp-media-convert-videos-form' => 1, 'choice' => $_POST['choice'], 'url' => urlencode($_POST['url']), 'email' => $_POST['email']), 'http://rtcamp.com/'));
424
+ } else {
425
+ bp_update_option('bp-media-survey', 0);
426
+ }
427
+ echo 'Thank you for your time.';
428
+ die;
429
+ }
430
+
431
+ public function video_transcoding_survey_response() {
432
+ if (isset($_GET['survey-done']) && ($_GET['survey-done'] == md5('survey-done'))) {
433
+ bp_update_option('bp-media-survey', 0);
434
+ }
435
+ }
436
+
437
+ public function plugin_meta_premium_addon_link($plugin_meta, $plugin_file, $plugin_data, $status) {
438
+ if (plugin_basename(BP_MEDIA_PATH . 'index.php') == $plugin_file)
439
+ $plugin_meta[] = '<a href="https://rtcamp.com/store/product-category/buddypress/?utm_source=dashboard&#038;utm_medium=plugin&#038;utm_campaign=buddypress-media" title="Premium Add-ons">Premium Add-ons</a>';
440
+ return $plugin_meta;
441
+ }
442
+
443
+ public function upload_filetypes_error() {
444
+ global $bp_media;
445
+ $upload_filetypes = get_site_option('upload_filetypes', 'jpg jpeg png gif');
446
+ $upload_filetypes = explode(' ', $upload_filetypes);
447
+ $flag = false;
448
+ if (isset($bp_media->options['images_enabled']) && $bp_media->options['images_enabled']) {
449
+ $not_supported_image = array_diff(array('jpg', 'jpeg', 'png', 'gif'), $upload_filetypes);
450
+ if (!empty($not_supported_image)) {
451
+ echo '<div class="error upload-filetype-network-settings-error">
452
<p>
453
' . sprintf(__('You have images enabled on BuddyPress Media but your network allowed filetypes does not allow uploading of %s. Click <a href="%s">here</a> to change your settings manually.', 'buddypress-media'), implode(', ', $not_supported_image), network_admin_url('settings.php#upload_filetypes')) . '
454
<br /><strong>' . __('Recommended', 'buddypress-media') . ':</strong> <input type="button" class="button update-network-settings-upload-filetypes" class="button" value="' . __('Update Network Settings Automatically', 'buddypress-media') . '"> <img style="display:none;" src="' . admin_url('images/wpspin_light.gif') . '" />
455
</p>
456
</div>';
457
+ $flag = true;
458
+ }
459
+ }
460
+ if (isset($bp_media->options['videos_enabled']) && $bp_media->options['videos_enabled']) {
461
+ if (!in_array('mp4', $upload_filetypes)) {
462
+ echo '<div class="error upload-filetype-network-settings-error">
463
<p>
464
' . sprintf(__('You have video enabled on BuddyPress Media but your network allowed filetypes does not allow uploading of mp4. Click <a href="%s">here</a> to change your settings manually.', 'buddypress-media'), network_admin_url('settings.php#upload_filetypes')) . '
465
<br /><strong>' . __('Recommended', 'buddypress-media') . ':</strong> <input type="button" class="button update-network-settings-upload-filetypes" class="button" value="' . __('Update Network Settings Automatically', 'buddypress-media') . '"> <img style="display:none;" src="' . admin_url('images/wpspin_light.gif') . '" />
466
</p>
467
</div>';
468
+ $flag = true;
469
+ }
470
+ }
471
+ if (isset($bp_media->options['audio_enabled']) && $bp_media->options['audio_enabled']) {
472
+ if (!in_array('mp3', $upload_filetypes)) {
473
+ echo '<div class="error upload-filetype-network-settings-error"><p>' . sprintf(__('You have audio enabled on BuddyPress Media but your network allowed filetypes does not allow uploading of mp3. Click <a href="%s">here</a> to change your settings manually.', 'buddypress-media'), network_admin_url('settings.php#upload_filetypes')) . '
474
<br /><strong>' . __('Recommended', 'buddypress-media') . ':</strong> <input type="button" class="button update-network-settings-upload-filetypes" class="button" value="' . __('Update Network Settings Automatically', 'buddypress-media') . '"> <img style="display:none;" src="' . admin_url('images/wpspin_light.gif') . '" />
475
</p>
476
</div>';
477
+ $flag = true;
478
+ }
479
+ }
480
+ if ($flag) {
481
+ ?>
482
+ <script type="text/javascript">
483
+ jQuery('.upload-filetype-network-settings-error').on('click','.update-network-settings-upload-filetypes', function(){
484
+ jQuery('.update-network-settings-upload-filetypes').siblings('img').show();
485
+ jQuery('.update-network-settings-upload-filetypes').prop('disabled',true);
486
+ jQuery.post(ajaxurl,{action: 'bp_media_correct_upload_filetypes'}, function(response){
487
+ if(response){
488
+ jQuery('.upload-filetype-network-settings-error:first').after('<div style="display: none;" class="updated bp-media-network-settings-updated-successfully"><p><?php _e('Network settings updated successfully.', 'buddypress-media'); ?></p></div>')
489
+ jQuery('.upload-filetype-network-settings-error').remove();
490
+ jQuery('.bp-media-network-settings-updated-successfully').show();
491
+ }
492
+ });
493
+ }); </script><?php
494
+ }
495
+ }
496
+
497
+ public function correct_upload_filetypes() {
498
+ global $bp_media;
499
+ $upload_filetypes_orig = $upload_filetypes = get_site_option('upload_filetypes', 'jpg jpeg png gif');
500
+ $upload_filetypes = explode(' ', $upload_filetypes);
501
+ if (isset($bp_media->options['images_enabled']) && $bp_media->options['images_enabled']) {
502
+ $not_supported_image = array_diff(array('jpg', 'jpeg', 'png', 'gif'), $upload_filetypes);
503
+ if (!empty($not_supported_image)) {
504
+ $update_image_support = NULL;
505
+ foreach ($not_supported_image as $ns) {
506
+ $update_image_support .= ' ' . $ns;
507
+ }
508
+ if ($update_image_support) {
509
+ $upload_filetypes_orig .= $update_image_support;
510
+ update_site_option('upload_filetypes', $upload_filetypes_orig);
511
+ }
512
+ }
513
+ }
514
+ if (isset($bp_media->options['videos_enabled']) && $bp_media->options['videos_enabled']) {
515
+ if (!in_array('mp4', $upload_filetypes)) {
516
+ $upload_filetypes_orig .= ' mp4';
517
+ update_site_option('upload_filetypes', $upload_filetypes_orig);
518
+ }
519
+ }
520
+ if (isset($bp_media->options['audio_enabled']) && $bp_media->options['audio_enabled']) {
521
+ if (!in_array('mp3', $upload_filetypes)) {
522
+ $upload_filetypes_orig .= ' mp3';
523
+ update_site_option('upload_filetypes', $upload_filetypes_orig);
524
+ }
525
+ }
526
+ echo true;
527
+ die();
528
+ }
529
+
530
+ }
531
532
}
533
+ ?>
app/admin/BPMediaFormHandler.php DELETED
@@ -1,513 +0,0 @@
1
- <?php
2
-
3
- /*
4
- * To change this template, choose Tools | Templates
5
- * and open the template in the editor.
6
- */
7
-
8
- /**
9
- * Description of BPMediaFormHandler
10
- *
11
- * @author udit
12
- */
13
- class BPMediaFormHandler {
14
-
15
- public static function checkbox($args) {
16
-
17
- global $bp_media;
18
- $options = $bp_media->options;
19
- $defaults = array(
20
- 'setting' => '',
21
- 'option' => '',
22
- 'desc' => '',
23
- 'show_desc' => false
24
- );
25
- $args = wp_parse_args($args, $defaults);
26
- extract($args);
27
-
28
- if (empty($option)) {
29
- trigger_error(__('Please provide "option" value ( required ) in the argument. Pass argument to add_settings_field in the following format array( \'option\' => \'option_name\' ) ', 'buddypress-media'));
30
- return;
31
- }
32
-
33
- if (!empty($setting)) {
34
- $args['name'] = $setting . '[' . $option . ']';
35
- $options = bp_get_option($setting);
36
- }
37
- else
38
- $args['name'] = $option;
39
-
40
- if (!isset($options[$option]))
41
- $options[$option] = '';
42
-
43
- $args['rtForm_options'] = array(array('id' => $option, '' => 1, 'checked' => $options[$option]));
44
-
45
- $chkObj = new rtForm();
46
- // echo $chkObj->get_checkbox($args);
47
- echo $chkObj->get_switch($args);
48
- // echo $chkObj->get_switch_square($args);
49
- }
50
-
51
- public static function radio($args) {
52
-
53
- global $bp_media;
54
- $options = $bp_media->options;
55
- $defaults = array(
56
- 'setting' => '',
57
- 'option' => '',
58
- 'radios' => array(),
59
- 'default' => '',
60
- 'show_desc' => false
61
- );
62
- $args = wp_parse_args($args, $defaults);
63
- extract($args);
64
- if (empty($option) || ( 2 > count($radios) )) {
65
- if (empty($option))
66
- trigger_error(__('Please provide "option" value ( required ) in the argument. Pass argument to add_settings_field in the following format array( \'option\' => \'option_name\' )', 'buddypress-media'));
67
- if (2 > count($radios))
68
- trigger_error(__('Need to specify atleast to radios else use a checkbox instead', 'buddypress-media'));
69
- return;
70
- }
71
-
72
- if (!empty($setting)) {
73
- $args['name'] = $setting . '[' . $option . ']';
74
- $options = bp_get_option($setting);
75
- }
76
- else
77
- $args['name'] = $option;
78
-
79
- if ((isset($options[$option]) && empty($options[$option])) || !isset($options[$option])) {
80
- $options[$option] = $default;
81
- }
82
-
83
- $args['rtForm_options'] = array();
84
- foreach ($radios as $value => $key) {
85
- $args['rtForm_options'][] = array(
86
- 'id' => sanitize_title($key),
87
- $key => $value,
88
- 'checked' => ($options[$option] == $value) ? true : false
89
- );
90
- }
91
-
92
- $objRad = new rtForm();
93
- echo $objRad->get_radio($args);
94
- }
95
-
96
- public static function dimensions($args) {
97
-
98
- $dmnObj = new rtDimensions();
99
- echo $dmnObj->get_dimensions($args);
100
- }
101
-
102
- public static function number($args) {
103
- global $bp_media;
104
- $options = $bp_media->options;
105
- $defaults = array(
106
- 'setting' => '',
107
- 'option' => '',
108
- 'desc' => '',
109
- 'password' => false,
110
- 'hidden' => false,
111
- 'number' => false,
112
- );
113
- $args = wp_parse_args($args, $defaults);
114
- extract($args);
115
-
116
- if (empty($option)) {
117
- trigger_error(__('Please provide "option" value ( required ) in the argument. Pass argument to add_settings_field in the following format array( \'option\' => \'option_name\' )', 'buddypress-media'));
118
- return;
119
- }
120
-
121
- if (!empty($setting)) {
122
- $args['name'] = $setting . '[' . $option . ']';
123
- $options = bp_get_option($setting);
124
- }
125
- else
126
- $args['name'] = $option;
127
-
128
- if ((isset($options[$option]) && empty($options[$option])) || !isset($options[$option])) {
129
- $options[$option] = '';
130
- }
131
-
132
- $args['id'] = sanitize_title($option);
133
- $args['value'] = $options[$option];
134
-
135
- $numObj = new rtForm();
136
- echo $numObj->get_number($args);
137
- }
138
-
139
- public static function types_content($page = '') {
140
-
141
- global $wp_settings_sections, $wp_settings_fields;
142
-
143
- if (!isset($wp_settings_fields) ||
144
- !isset($wp_settings_fields[$page]) ||
145
- !isset($wp_settings_fields[$page]['bpm-settings']) ||
146
- !isset($wp_settings_fields[$page]['bpm-featured']))
147
- return;
148
-
149
- $bpm_settings = $wp_settings_fields[$page]['bpm-settings'];
150
- $bpm_featured = $wp_settings_fields[$page]['bpm-featured'];
151
- $headers = array(
152
- array(
153
- 'id' => 'bpm-media-type',
154
- 'title' => "Media Type",
155
- 'class' => 'large-2',
156
- 'desc' => ''
157
- ),
158
- array(
159
- 'id' => 'bpm-allow-upload',
160
- 'title' => "Allow Upload",
161
- 'class' => 'large-2',
162
- 'desc' => 'Allows you to upload a particular media type on your post.'
163
- ),
164
- array(
165
- 'id' => 'bpm-set-feature',
166
- 'title' => "Set Featured",
167
- 'class' => 'large-2',
168
- 'desc' => 'Put a specific media as a featured content on the post.'
169
- ),
170
- array(
171
- 'id' => 'bpm-file-extn',
172
- 'title' => "File Extensions",
173
- 'class' => 'large-3',
174
- 'desc' => 'File extensions that can be uploaded on the website.'
175
- )
176
- );
177
-
178
- $image = array(
179
- array(
180
- 'class' => 'large-2',
181
- 'content' => $bpm_settings['bpm-image']['title']
182
- ),
183
- array(
184
- 'class' => 'large-2',
185
- 'callback' => $bpm_settings['bpm-image']['callback'],
186
- 'args' => $bpm_settings['bpm-image']['args']
187
- ),
188
- array(
189
- 'class' => 'large-2',
190
- 'callback' => $bpm_featured['bpm-featured-image']['callback'],
191
- 'args' => $bpm_featured['bpm-featured-image']['args']
192
- ),
193
- array(
194
- 'class' => 'large-3',
195
- 'content' => "gif,jpeg,png"
196
- ),
197
- );
198
-
199
- $video = array(
200
- array(
201
- 'class' => 'large-2',
202
- 'content' => $bpm_settings['bpm-video']['title']
203
- ),
204
- array(
205
- 'class' => 'large-2',
206
- 'callback' => $bpm_settings['bpm-video']['callback'],
207
- 'args' => $bpm_settings['bpm-video']['args']
208
- ),
209
- array(
210
- 'class' => 'large-2',
211
- 'callback' => $bpm_featured['bpm-featured-video']['callback'],
212
- 'args' => $bpm_featured['bpm-featured-video']['args']
213
- ),
214
- array(
215
- 'class' => 'large-3',
216
- 'content' => "avi,mp4,mpeg"
217
- ),
218
- );
219
-
220
- $audio = array(
221
- array(
222
- 'class' => 'large-2',
223
- 'content' => $bpm_settings['bpm-audio']['title']
224
- ),
225
- array(
226
- 'class' => 'large-2',
227
- 'callback' => $bpm_settings['bpm-audio']['callback'],
228
- 'args' => $bpm_settings['bpm-audio']['args']
229
- ),
230
- array(
231
- 'class' => 'large-2',
232
- 'callback' => $bpm_featured['bpm-featured-audio']['callback'],
233
- 'args' => $bpm_featured['bpm-featured-audio']['args']
234
- ),
235
- array(
236
- 'class' => 'large-3',
237
- 'content' => "mp3,wav"
238
- ),
239
- );
240
-
241
- $body = array($image, $video, $audio);
242
-
243
- //container
244
- echo '<div class="rt-table large-12">';
245
-
246
- //header
247
- echo '<div class="row rt-header">';
248
- foreach ($headers as $val) {
249
- if( isset($val['desc']) && !empty($val['desc']) ) {
250
- echo '<h4 id="' . $val['id'] . '" class="bpm-show-tooltip columns ' . $val['class'] . '" title="' . $val['desc'] . '"><abbr>' . $val['title'] . '</abbr></h4>';
251
- }
252
- else
253
- echo '<h4 " class="columns ' . $val['class'] . '">' . $val['title'] . '</h4>';
254
- }
255
- echo '</div>';
256
-
257
- //body
258
- $even = 0;
259
- foreach ($body as $section) {
260
- if( ++$even%2 )
261
- echo '<div class="row rt-odd">';
262
- else
263
- echo '<div class="row rt-even">';
264
-
265
- foreach ($section as $value) { ?>
266
- <div class="columns<?php echo ' ' . $value['class']; ?>">
267
- <?php
268
- if (isset($value['content']))
269
- echo $value['content'];
270
- else
271
- call_user_func($value['callback'], $value['args']);
272
- ?>
273
- </div>
274
- <?php
275
- } ?>
276
- </div>
277
- <?php
278
- }
279
- ?>
280
- </div>
281
- <?php
282
- }
283
-
284
- public static function sizes_content($page = '') {
285
-
286
- global $wp_settings_sections, $wp_settings_fields;
287
-
288
- if (!isset($wp_settings_fields) ||
289
- !isset($wp_settings_fields[$page]) ||
290
- !isset($wp_settings_fields[$page]['bpm-image-settings']) ||
291
- !isset($wp_settings_fields[$page]['bpm-video-settings']) ||
292
- !isset($wp_settings_fields[$page]['bpm-audio-settings']) ||
293
- !isset($wp_settings_fields[$page]['bpm-featured']))
294
- return;
295
-
296
- $dimension = '<span class="large-offset-1">Width</span>
297
- <span class="large-offset-2">Height</span>
298
- <span class="large-offset-2">Crop</span>';
299
- $headers = array(
300
- array('title' => 'Category', 'class' => 'large-3'),
301
- array('title' => 'Entity', 'class' => 'large-3'),
302
- array('title' => $dimension, 'class' => 'large-4')
303
- );
304
-
305
- $sections = array("bpm-image-settings", "bpm-video-settings", "bpm-audio-settings", "bpm-featured");
306
-
307
- $contents = array();
308
- $body = array();
309
- foreach ($sections as $section) {
310
-
311
- $contents[$section] = array(
312
- 'entity_names' => array(),
313
- 'callbacks' => array(),
314
- 'args' => array()
315
- );
316
-
317
- if ($section == "bpm-featured") {
318
- $contents[$section]['entity_names'][] = $wp_settings_fields[$page][$section]['bpm-featured-media-dimensions']['title'];
319
- $contents[$section]['callbacks'][] = $wp_settings_fields[$page][$section]['bpm-featured-media-dimensions']['callback'];
320
- $contents[$section]['args'][] = $wp_settings_fields[$page][$section]['bpm-featured-media-dimensions']['args'];
321
- } else {
322
- foreach ($wp_settings_fields[$page][$section] as $value) {
323
- $contents[$section]['entity_names'][] = $value['title'];
324
- $contents[$section]['callbacks'][] = $value['callback'];
325
- $contents[$section]['args'][] = $value['args'];
326
- }
327
- }
328
-
329
- $body[$section] = array(
330
- //title
331
- array(
332
- 'class' => 'large-3',
333
- 'content' => ( $section == "bpm-featured" ) ? "Featured Media" : $wp_settings_sections[$page][$section]['title']
334
- ),
335
- //entity names
336
- array(
337
- 'class' => 'large-3',
338
- 'content' => ( $section == "bpm-featured" ) ? $wp_settings_fields[$page][$section]['bpm-featured-media-dimensions']['title'] : $contents[$section]['entity_names']
339
- ),
340
- //dimensions
341
- array(
342
- 'class' => 'large-4',
343
- 'callbacks' => $contents[$section]['callbacks'],
344
- 'args' => $contents[$section]['args']
345
- )
346
- );
347
- }
348
-
349
-
350
- //container
351
- echo '<div class="rt-table large-12">';
352
-
353
- //header
354
- echo '<div class="rt-header row">';
355
- foreach ($headers as $value) {
356
- echo '<h4 class="columns ' . $value['class'] . '">' . $value['title'] . '</h4>';
357
- }
358
- echo'</div>';
359
-
360
- //body
361
- $even = 0;
362
- foreach ($body as $section) {
363
- if( ++$even%2 )
364
- echo '<div class="row rt-odd">';
365
- else
366
- echo '<div class="row rt-even">';
367
-
368
- foreach ($section as $value) {
369
- echo '<div class="columns ' . $value['class'] . '">';
370
- if (isset($value['content'])) {
371
- if (is_array($value['content'])) {
372
- foreach ($value['content'] as $entity) {
373
- echo '<div class="entity section">';
374
- echo $entity;
375
- echo '</div>';
376
- }
377
- }
378
- else
379
- echo $value['content'];
380
- } else {
381
- for ($i = 0; $i < count($value['callbacks']); $i++) {
382
- echo '<div class="section">';
383
- call_user_func($value['callbacks'][$i], $value['args'][$i]);
384
- echo '</div>';
385
- }
386
- }
387
- echo '</div>';
388
- }
389
- echo '</div>';
390
- }
391
-
392
- echo '</div>';
393
- }
394
-
395
- public static function privacy_content($page = '') {
396
-
397
- global $wp_settings_fields;
398
-
399
- if (!isset($wp_settings_fields) ||
400
- !isset($wp_settings_fields[$page]) ||
401
- !isset($wp_settings_fields[$page]['bpm-privacy']))
402
- return;
403
-
404
- echo '<div class="large-12">';
405
- foreach ($wp_settings_fields[$page]['bpm-privacy'] as $key => $value) {
406
- echo '<div class="row section" id="' . $key . '">';
407
- echo '<div class="columns large-2">' . $value['title'] . '</div>';
408
- echo '<div class="columns large-5">';
409
- if($key != "bpm-privacy-enabled")
410
- call_user_func($value['callback'], array_merge_recursive($value['args'], array('class' => array("privacy-driven-disable"))));
411
- else
412
- call_user_func($value['callback'], $value['args']);
413
- echo '</div>';
414
- echo '</div>';
415
- }
416
- echo '</div>';
417
- }
418
-
419
- public static function misc_content($page = '') {
420
-
421
- global $wp_settings_sections, $wp_settings_fields;
422
-
423
- if (!isset($wp_settings_fields) ||
424
- !isset($wp_settings_fields[$page]) )
425
- return;
426
-
427
- $sections = array();
428
-
429
- if( isset($wp_settings_fields[$page]['bpm-media-type']) )
430
- $sections[] = "bpm-media-type";
431
- if( isset($wp_settings_fields[$page]['bpm-activity-upload']) )
432
- $sections[] = "bpm-activity-upload";
433
- if( isset($wp_settings_fields[$page]['bpm-media-lightbox']) )
434
- $sections[] = "bpm-media-lightbox";
435
- if( isset($wp_settings_fields[$page]['bpm-media-fine']) )
436
- $sections[] = "bpm-media-fine";
437
- if( isset($wp_settings_fields[$page]['bpm-miscellaneous']) )
438
- $sections[] = "bpm-miscellaneous";
439
-
440
- echo '<div class="large-12">';
441
- foreach ($sections as $section) {
442
- echo '<h3>' . $wp_settings_sections[$page][$section]['title'] . '</h3>';
443
- foreach ($wp_settings_fields[$page][$section] as $value) { ?>
444
- <div class="row section">
445
- <div class="columns large-2"> <?php echo $value['title']; ?> </div>
446
- <div class="columns large-4">
447
- <?php call_user_func($value['callback'], $value['args']); ?>
448
- </div>
449
- </div>
450
- <?php }
451
- echo '<div class="clearfix">&nbsp;</div>';
452
- }
453
- echo '</div>';
454
- }
455
-
456
- public static function rtForm_settings_tabs_content($page, $sub_tabs) {
457
-
458
- global $wp_settings_sections, $wp_settings_fields;
459
-
460
- if (!isset($wp_settings_sections) || !isset($wp_settings_sections[$page]))
461
- return;
462
-
463
- foreach ($sub_tabs as $tab) {
464
- echo '<div id="' . substr($tab['href'], 1) . '">';
465
- call_user_func($tab['callback'], $page);
466
- echo '</div>';
467
- }
468
-
469
- // echo "<pre>";
470
- // print_r($wp_settings_sections);
471
- // echo "<br>---------------------------------------------------------------------------<br><br>";
472
- // print_r($wp_settings_fields);
473
- // echo "</pre>";
474
-
475
- // echo '<div class="small-11 small-centered columns">';
476
- // foreach ( (array) $wp_settings_sections[$page] as $section ) {
477
- // if ( $section['title'] )
478
- // echo "<div><h3>{$section['title']}</h3>";
479
- //
480
- // if ( $section['callback'] )
481
- // call_user_func( $section['callback'], $section );
482
- //
483
- // if ( ! isset( $wp_settings_fields ) || !isset( $wp_settings_fields[$page] ) || !isset( $wp_settings_fields[$page][$section['id']] ) )
484
- // continue;
485
- // echo '<div class="row small-11 small-centered columns">';
486
- // self::rtForm_do_settings_fields( $page, $section['id'] );
487
- // echo '</div></div>';
488
- // }
489
- // echo '</div>';
490
- }
491
-
492
- public static function rtForm_do_settings_fields($page, $section) {
493
- global $wp_settings_fields;
494
-
495
- if (!isset($wp_settings_fields) || !isset($wp_settings_fields[$page]) || !isset($wp_settings_fields[$page][$section]))
496
- return;
497
-
498
- foreach ((array) $wp_settings_fields[$page][$section] as $field) {
499
- echo '<div class="row">';
500
- echo '<div class="large-11 columns">';
501
-
502
- if (isset($field['args']['label_for']) && !empty($field['args']['label_for']))
503
- call_user_func($field['callback'], array_merge($field['args'], array('label' => $field['args']['label_for'])));
504
- else if (isset($field['title']) && !empty($field['title']))
505
- call_user_func($field['callback'], array_merge($field['args'], array('label' => $field['title'])));
506
- else
507
- call_user_func($field['callback'], $field['args']);
508
- echo '</div>';
509
- echo '</div>';
510
- }
511
- }
512
- }
513
- ?>
app/assets/css/admin.css CHANGED
@@ -1,79 +1,134 @@
1
- /*------ custom CSS ------*/
2
- /* line 5, ../sass/admin.scss */
3
- .clearfix {
4
- overflow: hidden;
5
- *zoom: 1;
6
- }
7
8
- /* line 9, ../sass/admin.scss */
9
- .pull-right {
10
- float: right;
11
- }
12
13
- /* line 13, ../sass/admin.scss */
14
- .pull-left {
15
- float: left;
16
- }
17
18
- /* line 17, ../sass/admin.scss */
19
- .inline {
20
- display: inline;
21
}
22
23
- /* line 21, ../sass/admin.scss */
24
- .entity {
25
- min-height: 25px !important;
26
}
27
-
28
- /* line 25, ../sass/admin.scss */
29
- .section {
30
- margin-top: 5px !important;
31
- margin-bottom: 5px !important;
32
}
33
34
- /* line 32, ../sass/admin.scss */
35
- .rt-table div.rt-header {
36
- border-bottom-color: #F3F3F3;
37
- border-bottom-width: 1px;
38
- border-bottom-style: solid;
39
- margin-bottom: 5px !important;
40
- padding-bottom: 5px !important;
41
- }
42
- /* line 39, ../sass/admin.scss */
43
- .rt-table div.rt-header h4 {
44
- margin: 0;
45
- }
46
- /* line 44, ../sass/admin.scss */
47
- .rt-table div.row {
48
- margin: 2px;
49
- padding: 2px;
50
- }
51
- /* line 48, ../sass/admin.scss */
52
- .rt-table div.row.rt-odd {
53
- background-color: #F3F3F3;
54
- }
55
- /* line 52, ../sass/admin.scss */
56
- .rt-table div.row.rt-even {
57
- background-color: #FFFFFF;
58
- }
59
60
- /* line 58, ../sass/admin.scss */
61
- abbr {
62
- border-bottom: dotted 1px;
63
- }
64
65
- /* line 62, ../sass/admin.scss */
66
- .rt-description {
67
- color: #666666;
68
- font-style: italic;
69
}
70
71
- /* line 69, ../sass/admin.scss */
72
- .bpm-wp-button .bpm-wp-icon {
73
- background-image: url(../img/wpmini-grey.png);
74
- width: 20px;
75
- height: 24px;
76
- font-size: 14px;
77
- background-repeat: no-repeat;
78
- padding: 0 6px;
79
}
1
+ #wpbody-content div.metabox-fixed{width: 280px;margin-right: -300px;float: right;}
2
+ #wpbody-content div.wrap.bp-media-admin .columns-2{margin-right:300px;padding-top: 0;margin-top: 15px;width: 600px}
3
+ #wpbody-content .bp-media-settings-tabs{margin-bottom: 0; }
4
+ #wpbody-content .bp-media-settings-tabs .media-nav-tab{margin: 0 10px; text-decoration: underline; text-transform: capitalize}
5
+ #wpbody-content .bp-media-settings-tabs .media-nav-tab.media-nav-tab-active{font-weight: bold}
6
7
+ #wpbody-content .wrap div.bp-media-metabox-holder{padding-top: 0}
8
+ .bp-media-social{background: url('../img/bp_media_social.png');height: 35px;width: 35px;display: inline-block;font-size: 0px;margin-right:5px;}
9
+ .bp-media-facebook{background-position: 0px 0px;}
10
+ .bp-media-facebook:hover{background-position: 0px 36px;}
11
+ .bp-media-twitter{background-position: 80px 0px;}
12
+ .bp-media-twitter:hover{background-position: 80px 36px;}
13
+ .bp-media-rss{background-position: 35px 0px;}
14
+ .bp-media-rss:hover{background-position: 35px 36px;}
15
+ .bp-media-support .support_list{ margin-left: 25px}
16
+ .bp-media-support .support_list li{list-style: disc;margin-bottom: 10px}
17
18
+ #adminmenu li.toplevel_page_bp-media-settings .wp-menu-image a{background:url('../img/bpm-icon-16.png') center 1px no-repeat;}
19
+ #adminmenu li.toplevel_page_bp-media-settings:hover .wp-menu-image a,
20
+ #adminmenu li.current.toplevel_page_bp-media-settings .wp-menu-image a{background-position: center 1px;}
21
+ #adminmenu li.toplevel_page_bp-media-settings .wp-menu-image a img{display:none;}
22
+ #bp-media-settings-boxes{border:1px solid #CCC; overflow: hidden; padding: 10px; -webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px; float: left; width: 98%;}
23
+ #debug-info{border:1px solid #CCC; overflow: hidden; padding: 10px; margin-top: 10px; -webkit-border-bottom-left-radius:3px;border-bottom-left-radius:3px;-webkit-border-top-right-radius:3px;border-top-right-radius:3px;-webkit-border-bottom-right-radius:3px;border-bottom-right-radius:3px; float: left; width: 588px;}
24
+ .nav-tab-wrapper a#bp-media{background:url('../img/bpm-icon-32.png') transparent no-repeat; padding-left:32px;}
25
+ .nav-tab-wrapper a#bp-media:hover,.nav-tab-wrapper a#bp-media.nav-tab-active{background-position:left -96px;}
26
+ .metabox-holder .postbox#latest-news .inside ul li{background: transparent url('../img/bpm-icon-32.png') -5px 0px no-repeat; padding-left: 32px;}
27
+ .metabox-holder .postbox#latest-news .inside ul li:hover{background-position-y: -96px;}
28
+ #branding #logo{text-align:center;padding: 10px 0;display:block;}
29
+ ul#social{display:block;text-align:center;margin:0;clear: both;}
30
+ #branding #mc-embedded-subscribe-form{float: left;width: 100%;}
31
+ #branding label{float: right;}
32
+ #branding #mc-embedded-subscribe{float: right;padding: 0 3px;}
33
+ #branding #mce-EMAIL{float: left;}
34
+ ul#social li{display:inline;}
35
+ #spread-the-word .button{display:inline-block; margin: 9px 5px 0 5px;}
36
+ #spread-the-word label{display:block;}
37
+ #spread-the-word .inside{text-align: center;}
38
+ #spread-the-word .button-tweet{background: #33ACE6; border-color: #3399DD #3399DD #2288CC; color: #FFFFFF !important; text-shadow: -1px -1px 0 #3399DD;}
39
+ #spread-the-word .button-tweet:hover{background: #3399DD;border-color: #2288CC;box-shadow: 0 0 4px rgba(82, 168, 236, 0.75);}
40
+ #spread-the-word .button-rating{background: #8A8A8A; border-color: #222; color: #FFFFFF !important; text-shadow: -1px -1px 0 #444;}
41
+ #spread-the-word .button-rating:hover{background: #7E7E7E;border-color: #444;box-shadow: 0 0 4px rgba(128,128,128, 0.75);}
42
+ .wrap.bp-media-admin .bp-media-settings-tabs a.nav-tab{padding-left:20px;background:url('../img/tab-icon.png') 3px -4px no-repeat;}
43
+ .wrap.bp-media-admin .bp-media-settings-tabs a.nav-tab.addons{background-position-y:-34px;}
44
+ .wrap.bp-media-admin .bp-media-settings-tabs a.nav-tab.support{background-position-y:-64px;}
45
+ .wrap.bp-media-admin .bp-media-settings-tabs a.nav-tab.update-database{background-position-y:-94px;}
46
+ .wrap.bp-media-admin .bp-media-settings-tabs a.nav-tab.ffmpeg{background-position-y:-154px;}
47
+ .wrap.bp-media-admin .bp-media-settings-tabs a.nav-tab.kaltura{background-position-y:-184px;}
48
+ .wrap.bp-media-admin .bp-media-settings-tabs a.nav-tab.convert-videos{background-position-y:-214px;}
49
+ .wrap.bp-media-admin .bp-media-settings-tabs a.nav-tab.insta{background-position-y:-244px;}
50
+ .wrap.bp-media-admin .bp-media-settings-tabs a.nav-tab.watermark{background-position-y:-274px;}
51
+ /* Addons page Styling */
52
53
+ a.toplevel_page_bp-media-settings div.wp-menu-image{
54
+ background:url('../img/admin-menu.png') 0 -32px no-repeat;
55
}
56
57
+ #rt-donate-button, .rt-link img{vertical-align: middle;}
58
+ #adminmenu .menu-icon-generic.toplevel_page_bp-media-settings div.wp-menu-image{
59
+ background-position: 0 -32px;
60
}
61
+ #adminmenu .menu-icon-generic.wp-has-current-submenu.toplevel_page_bp-media-settings div.wp-menu-image,
62
+ #adminmenu .menu-icon-generic.toplevel_page_bp-media-settings:hover div.wp-menu-image{
63
+ background-position-y:0;
64
}
65
66
+ #bp-media-addons-list_metabox {background: #ffffff}
67
+ .products ul:after, ul.products:after {clear: both;content: "";display: block;}
68
+ .products ul, ul.products {clear: both;list-style: none outside none;margin: 0 0 14px;padding: 0;}
69
+ .bp-media-addon {margin: 0;}
70
+ .bp-media-addon.first { }
71
+ .bp-media-addon {margin: 20px 10px 30px;padding: 5px;position: relative;border: 1px solid #ccc;}
72
+ .bp-media-addon h4 {background: none repeat scroll 0 0 transparent;border: 0 none;color: #006999;cursor: pointer;font-family: "HelveticaNeue-Light","Helvetica Neue Light","Helvetica Neue",sans-serif;font-size: 20px;font-weight: normal;line-height: 26px;margin: 0 0 10px;}
73
+ .bp-media-addon a {text-decoration: none;}
74
+ .bp-media-addon a img, div.product div.images img {box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.4);}
75
+ .bp-media-addon a img {display: block;height: auto;margin: 5px 15px 5px 5px;transition: all 0.2s ease-in-out 0s;float: left; width: 200px}
76
77
+ .bp-media-addon .price, .bp-media-addon .price .amount, .bp-media-addon .price ins {color: #85AD74;font-size: 25px;font-weight: bold;}
78
+ .bp-media-addon .price {line-height: 1.4em;color: #85AD74;display: block;font-weight: normal;margin-bottom: 0.5em;}
79
+ .coming-soon { background: url("../img/coming-soon.png"); z-index: 5; position:absolute;height:191px; opacity:0.9;}
80
+ .coming-soon.coming-soon-l { background-position: 0 0; width:250px; top:-12px; left:-18px;}
81
+ .coming-soon.coming-soon-r { background-position: 347px 0; width:174px; bottom:-14px; right:-12px;}
82
+ .coming-soon.coming-soon-r:hover{background-position: 175px 0;}
83
+
84
+ .bp-media-addon .product_footer{margin: 20px 0 0;overflow: hidden;}
85
+ .bp-media-addon .add_to_cart_button{background: #C45200; color: #FFFFFF;display: inline-block;font-size: 18px;font-weight: bold; line-height: 1.4em; margin: 0 20px; padding: 4px 15px;text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.6)}
86
+ .bp-media-addon .product_footer .product_demo_link{font-size: 16px;margin: 8px 20px; font-weight: bold}
87
+
88
+ .bp-media-addon .add_to_cart_button:hover{background: none repeat scroll 0 0 #D75A00;
89
+ box-shadow: 0 1px rgba(0, 0, 0, 0.2), 0 0 1px rgba(0, 0, 0, 0.4) inset;
90
+ color: #FFFFFF;}
91
+
92
+ /* Admin bar Menu */
93
+ #wpadminbar .bp-media-settings-menu > .ab-item .ab-icon{background: url("../img/bpm-icon-16.png") no-repeat scroll -8px -7px transparent}
94
+ #wpadminbar .bp-media-settings-menu:hover .ab-icon{background-position: -8px -41px}
95
96
+ /* BuddyPress media admin support form styling */
97
+ .bp-media-updated, .bp-media-error{border-radius: 3px; padding: 0 7px; margin: 5px 0 15px; border: 1px solid}
98
+ .bp-media-updated p, .bp-media-error p{margin: 0.5em 0;padding: 2px;}
99
+ .bp-media-updated{background-color: #FFFFE0;border-color: #E6DB55;}
100
+ .bp-media-error{background-color: #FFEBE8;border-color: #CC0000;}
101
+ .bp-media-form li{margin-bottom: 10px}
102
+ .bp-media-form .bp-media-label{display: inline-block;margin-right: 10px;width: 150px;vertical-align: top; }
103
+ .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;}
104
+ .bp-media-form .bp-media-checkbox{margin-right: 10px; margin-left: 160px}
105
+ .bp-media-form .bp-media-textarea{background-color: #FFFFFF;border: 1px solid #DFDFDF;border-radius: 3px 3px 3px 3px;color: #333333;height: 175px;line-height: 16px;padding: 5px;width: 400px;}
106
+ .bp-media-form .bp-media-select{margin: 0;max-width: 400px;}
107
+ .bp-media-support-attachment label{float: left}
108
+ .bp-media-support-attachment .more-attachment{margin-left: 160px; margin-top: 10px}
109
+ .bp-media-support-attachment .more-attachment:first-child{margin-top: 0px}
110
+ .bp-media-support-attachment .add-more-attachment-btn{clear: both;display: inline-block;margin-left: 160px;margin-top: 10px;}
111
+ .template_select_label{float: left}
112
+ .template_select_container{overflow-x:scroll; width:405px;float: left}
113
+ #bp_media_settings_form .support_form_laoder{height: 100px; width: 200px; background: url("../img/loader.gif") no-repeat }
114
+ /* Miscellaneous */
115
+ #normal-sortables .postbox .bp-media-form .submit{float: none; margin-left: 150px}
116
+ .rt-success{background-color: #E1FFDF;border-color: #2ACF2A;}
117
+ .rt-update{background-color: #FFEAA6;border-color:#E1CA82;}
118
+ img.bp-media-donation-image{display:block;margin: 10px auto;}
119
+ #donate form{text-align: center;}
120
+ /*Transcoding Teaser*/
121
+ .para-blockquote { background: #E5E5E5; padding: 10px; font-style: italic; }
122
+ #latest-update img, #members-list .update img, #members-list .update {display:block; overflow: hidden;}
123
+ #rtprogressbar {
124
+ background-color: #444;
125
+ border-radius: 13px;
126
+ padding: 3px;
127
}
128
129
+ #rtprogressbar div {
130
+ background-color: #fb6003;
131
+ width: 0;
132
+ height: 20px;
133
+ border-radius: 10px;
134
}
app/assets/css/bootstrap-switch.css DELETED
@@ -1,184 +0,0 @@
1
- /* line 9, ../sass/bootstrap-switch.scss */
2
- .fui-cross,
3
- .fui-check {
4
- display: inline-block;
5
- speak: none;
6
- font-style: normal;
7
- font-weight: normal;
8
- font-variant: normal;
9
- text-transform: none;
10
- -webkit-font-smoothing: antialiased;
11
- }
12
-
13
- /* line 18, ../sass/bootstrap-switch.scss */
14
- .fui-cross:before {
15
- content: "\2716";
16
- }
17
-
18
- /* line 21, ../sass/bootstrap-switch.scss */
19
- .fui-check:before {
20
- content: "\2714";
21
- }
22
-
23
- /* Switch checkbox */
24
- /* line 44, ../sass/bootstrap-switch.scss */
25
- .has-switch {
26
- border-radius: 30px;
27
- display: inline-block;
28
- cursor: pointer;
29
- line-height: 1.231;
30
- overflow: hidden;
31
- position: relative;
32
- text-align: left;
33
- width: 55px;
34
- height: 20px;
35
- -webkit-mask: url("../img/mask.png") 0 0 no-repeat;
36
- mask: url("../img/mask.png") 0 0 no-repeat;
37
- -webkit-user-select: none;
38
- -moz-user-select: none;
39
- user-select: none;
40
- }
41
- /* line 58, ../sass/bootstrap-switch.scss */
42
- .has-switch.deactivate {
43
- filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=5000);
44
- opacity: 50;
45
- cursor: default !important;
46
- }
47
- /* line 61, ../sass/bootstrap-switch.scss */
48
- .has-switch.deactivate label, .has-switch.deactivate span {
49
- cursor: default !important;
50
- }
51
- /* line 66, ../sass/bootstrap-switch.scss */
52
- .has-switch > div {
53
- width: 162%;
54
- position: relative;
55
- top: 0;
56
- }
57
- /* line 71, ../sass/bootstrap-switch.scss */
58
- .has-switch > div.switch-animate {
59
- -webkit-transition: left 0.25s ease-out;
60
- -moz-transition: left 0.25s ease-out;
61
- -o-transition: left 0.25s ease-out;
62
- transition: left 0.25s ease-out;
63
- }
64
- /* line 75, ../sass/bootstrap-switch.scss */
65
- .has-switch > div.switch-off {
66
- left: -63%;
67
- }
68
- /* line 78, ../sass/bootstrap-switch.scss */
69
- .has-switch > div.switch-off label {
70
- background-color: #2a95c5;
71
- border-color: #bdc3c7;
72
- -webkit-box-shadow: -1px 0 0 rgba(255, 255, 255, 0.5);
73
- -moz-box-shadow: -1px 0 0 rgba(255, 255, 255, 0.5);
74
- box-shadow: -1px 0 0 rgba(255, 255, 255, 0.5);
75
- }
76
- /* line 85, ../sass/bootstrap-switch.scss */
77
- .has-switch > div.switch-on {
78
- left: 0%;
79
- }
80
- /* line 88, ../sass/bootstrap-switch.scss */
81
- .has-switch > div.switch-on label {
82
- background-color: #bdc3c7;
83
- }
84
- /* line 94, ../sass/bootstrap-switch.scss */
85
- .has-switch input[type=checkbox] {
86
- display: none;
87
- }
88
- /* line 98, ../sass/bootstrap-switch.scss */
89
- .has-switch span {
90
- cursor: pointer;
91
- font-size: 10.71px;
92
- font-weight: 700;
93
- float: left;
94
- height: 20px;
95
- line-height: 19px;
96
- margin: 0;
97
- padding-top: 1px;
98
- position: relative;
99
- text-align: center;
100
- width: 50%;
101
- z-index: 1;
102
- -webkit-box-sizing: border-box;
103
- -moz-box-sizing: border-box;
104
- box-sizing: border-box;
105
- -webkit-transition: 0.25s ease-out;
106
- -moz-transition: 0.25s ease-out;
107
- -o-transition: 0.25s ease-out;
108
- transition: 0.25s ease-out;
109
- }
110
- /* line 114, ../sass/bootstrap-switch.scss */
111
- .has-switch span.switch-left {
112
- border-radius: 30px 0 0 30px;
113
- background-color: #2a95c5;
114
- color: white;
115
- border-left: 1px solid transparent;
116
- }
117
- /* line 121, ../sass/bootstrap-switch.scss */
118
- .has-switch span.switch-right {
119
- border-radius: 0 30px 30px 0;
120
- background-color: #bdc3c7;
121
- color: white;
122
- text-indent: 7px;
123
- }
124
- /* line 127, ../sass/bootstrap-switch.scss */
125
- .has-switch span.switch-right [class*="fui-"] {
126
- text-indent: 0;
127
- }
128
- /* line 133, ../sass/bootstrap-switch.scss */
129
- .has-switch label {
130
- border: 4px solid #2a95c5;
131
- border-radius: 50%;
132
- float: left;
133
- height: 12px;
134
- margin: 0 -12px 0 -10px;
135
- padding: 0;
136
- position: relative;
137
- vertical-align: middle;
138
- width: 12px;
139
- z-index: 100;
140
- -webkit-transition: 0.25s ease-out;
141
- -moz-transition: 0.25s ease-out;
142
- -o-transition: 0.25s ease-out;
143
- transition: 0.25s ease-out;
144
- }
145
-
146
- /* line 150, ../sass/bootstrap-switch.scss */
147
- .switch-square {
148
- border-radius: 6px;
149
- -webkit-mask: url("../img/mask.png") 0 0 no-repeat;
150
- mask: url("../img/mask.png") 0 0 no-repeat;
151
- }
152
- /* line 157, ../sass/bootstrap-switch.scss */
153
- .switch-square > div.switch-off label {
154
- border-color: #2a95c5;
155
- border-radius: 6px 0 0 6px;
156
- }
157
- /* line 164, ../sass/bootstrap-switch.scss */
158
- .switch-square span {
159
- -webkit-transition: 0.25s ease-out;
160
- -moz-transition: 0.25s ease-out;
161
- -o-transition: 0.25s ease-out;
162
- transition: 0.25s ease-out;
163
- }
164
- /* line 168, ../sass/bootstrap-switch.scss */
165
- .switch-square span.switch-left {
166
- border-radius: 6px 0 0 6px;
167
- }
168
- /* line 170, ../sass/bootstrap-switch.scss */
169
- .switch-square span.switch-left [class*="fui-"] {
170
- text-indent: -10px;
171
- }
172
- /* line 175, ../sass/bootstrap-switch.scss */
173
- .switch-square span.switch-right {
174
- border-radius: 0 6px 6px 0;
175
- }
176
- /* line 177, ../sass/bootstrap-switch.scss */
177
- .switch-square span.switch-right [class*="fui-"] {
178
- text-indent: 5px;
179
- }
180
- /* line 183, ../sass/bootstrap-switch.scss */
181
- .switch-square label {
182
- border-radius: 0 6px 6px 0;
183
- border-color: #bdc3c7;
184
- }
app/assets/css/font-awesome.min.css DELETED
@@ -1,24 +0,0 @@
1
- /*!
2
- * Font Awesome 3.1.0
3
- * the iconic font designed for Bootstrap
4
- * -------------------------------------------------------
5
- * The full suite of pictographic icons, examples, and documentation
6
- * can be found at: http://fontawesome.io
7
- *
8
- * License
9
- * -------------------------------------------------------
10
- * - The Font Awesome font is licensed under the SIL Open Font License v1.1 -
11
- * http://scripts.sil.org/OFL
12
- * - Font Awesome CSS, LESS, and SASS files are licensed under the MIT License -
13
- * http://opensource.org/licenses/mit-license.html
14
- * - Font Awesome documentation licensed under CC BY 3.0 License -
15
- * http://creativecommons.org/licenses/by/3.0/
16
- * - Attribution is no longer required in Font Awesome 3.0, but much appreciated:
17
- * "Font Awesome by Dave Gandy - http://fontawesome.io"
18
-
19
- * Contact
20
- * -------------------------------------------------------
21
- * Email: dave@fontawesome.io
22
- * Twitter: http://twitter.com/fortaweso_me
23
- * Work: Lead Product Designer @ http://kyruus.com
24
- */@font-face{font-family:'FontAwesome';src:url('../font/fontawesome-webfont.eot?v=3.1.0');src:url('../font/fontawesome-webfont.eot?#iefix&v=3.1.0') format('embedded-opentype'),url('../font/fontawesome-webfont.woff?v=3.1.0') format('woff'),url('../font/fontawesome-webfont.ttf?v=3.1.0') format('truetype'),url('../font/fontawesome-webfont.svg#fontawesomeregular?v=3.1.0') format('svg');font-weight:normal;font-style:normal}[class^="icon-"],[class*=" icon-"]{font-family:FontAwesome;font-weight:normal;font-style:normal;text-decoration:inherit;-webkit-font-smoothing:antialiased;*margin-right:.3em}[class^="icon-"]:before,[class*=" icon-"]:before{text-decoration:inherit;display:inline-block;speak:none}.icon-large:before{vertical-align:-10%;font-size:1.3333333333333333em}a [class^="icon-"],a [class*=" icon-"],a [class^="icon-"]:before,a [class*=" icon-"]:before{display:inline}[class^="icon-"].icon-fixed-width,[class*=" icon-"].icon-fixed-width{display:inline-block;width:1.2857142857142858em;text-align:center}[class^="icon-"].icon-fixed-width.icon-large,[class*=" icon-"].icon-fixed-width.icon-large{width:1.5714285714285714em}ul.icons-ul{list-style-type:none;text-indent:-0.7142857142857143em;margin-left:2.142857142857143em}ul.icons-ul>li .icon-li{width:.7142857142857143em;display:inline-block;text-align:center}[class^="icon-"].hide,[class*=" icon-"].hide{display:none}.icon-muted{color:#eee}.icon-light{color:#fff}.icon-dark{color:#333}.icon-border{border:solid 1px #eee;padding:.2em .25em .15em;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.icon-2x{font-size:2em}.icon-2x.icon-border{border-width:2px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.icon-3x{font-size:3em}.icon-3x.icon-border{border-width:3px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.icon-4x{font-size:4em}.icon-4x.icon-border{border-width:4px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px}.icon-5x{font-size:5em}.icon-5x.icon-border{border-width:5px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px}.pull-right{float:right}.pull-left{float:left}[class^="icon-"].pull-left,[class*=" icon-"].pull-left{margin-right:.3em}[class^="icon-"].pull-right,[class*=" icon-"].pull-right{margin-left:.3em}[class^="icon-"],[class*=" icon-"]{display:inline;width:auto;height:auto;line-height:normal;vertical-align:baseline;background-image:none;background-position:0 0;background-repeat:repeat;margin-top:0}.icon-white,.nav-pills>.active>a>[class^="icon-"],.nav-pills>.active>a>[class*=" icon-"],.nav-list>.active>a>[class^="icon-"],.nav-list>.active>a>[class*=" icon-"],.navbar-inverse .nav>.active>a>[class^="icon-"],.navbar-inverse .nav>.active>a>[class*=" icon-"],.dropdown-menu>li>a:hover>[class^="icon-"],.dropdown-menu>li>a:hover>[class*=" icon-"],.dropdown-menu>.active>a>[class^="icon-"],.dropdown-menu>.active>a>[class*=" icon-"],.dropdown-submenu:hover>a>[class^="icon-"],.dropdown-submenu:hover>a>[class*=" icon-"]{background-image:none}.btn [class^="icon-"].icon-large,.nav [class^="icon-"].icon-large,.btn [class*=" icon-"].icon-large,.nav [class*=" icon-"].icon-large{line-height:.9em}.btn [class^="icon-"].icon-spin,.nav [class^="icon-"].icon-spin,.btn [class*=" icon-"].icon-spin,.nav [class*=" icon-"].icon-spin{display:inline-block}.nav-tabs [class^="icon-"],.nav-pills [class^="icon-"],.nav-tabs [class*=" icon-"],.nav-pills [class*=" icon-"],.nav-tabs [class^="icon-"].icon-large,.nav-pills [class^="icon-"].icon-large,.nav-tabs [class*=" icon-"].icon-large,.nav-pills [class*=" icon-"].icon-large{line-height:.9em}.btn [class^="icon-"].pull-left.icon-2x,.btn [class*=" icon-"].pull-left.icon-2x,.btn [class^="icon-"].pull-right.icon-2x,.btn [class*=" icon-"].pull-right.icon-2x{margin-top:.18em}.btn [class^="icon-"].icon-spin.icon-large,.btn [class*=" icon-"].icon-spin.icon-large{line-height:.8em}.btn.btn-small [class^="icon-"].pull-left.icon-2x,.btn.btn-small [class*=" icon-"].pull-left.icon-2x,.btn.btn-small [class^="icon-"].pull-right.icon-2x,.btn.btn-small [class*=" icon-"].pull-right.icon-2x{margin-top:.25em}.btn.btn-large [class^="icon-"],.btn.btn-large [class*=" icon-"]{margin-top:0}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x,.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-top:.05em}.btn.btn-large [class^="icon-"].pull-left.icon-2x,.btn.btn-large [class*=" icon-"].pull-left.icon-2x{margin-right:.2em}.btn.btn-large [class^="icon-"].pull-right.icon-2x,.btn.btn-large [class*=" icon-"].pull-right.icon-2x{margin-left:.2em}.icon-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:-35%}.icon-stack [class^="icon-"],.icon-stack [class*=" icon-"]{display:block;text-align:center;position:absolute;width:100%;height:100%;font-size:1em;line-height:inherit;*line-height:2em}.icon-stack .icon-stack-base{font-size:2em;*line-height:1em}.icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}.icon-rotate-90:before{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1)}.icon-rotate-180:before{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2)}.icon-rotate-270:before{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg);filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3)}.icon-flip-horizontal:before{-webkit-transform:scale(-1,1);-moz-transform:scale(-1,1);-ms-transform:scale(-1,1);-o-transform:scale(-1,1);transform:scale(-1,1)}.icon-flip-vertical:before{-webkit-transform:scale(1,-1);-moz-transform:scale(1,-1);-ms-transform:scale(1,-1);-o-transform:scale(1,-1);transform:scale(1,-1)}.icon-glass:before{content:"\f000"}.icon-music:before{content:"\f001"}.icon-search:before{content:"\f002"}.icon-envelope:before{content:"\f003"}.icon-heart:before{content:"\f004"}.icon-star:before{content:"\f005"}.icon-star-empty:before{content:"\f006"}.icon-user:before{content:"\f007"}.icon-film:before{content:"\f008"}.icon-th-large:before{content:"\f009"}.icon-th:before{content:"\f00a"}.icon-th-list:before{content:"\f00b"}.icon-ok:before{content:"\f00c"}.icon-remove:before{content:"\f00d"}.icon-zoom-in:before{content:"\f00e"}.icon-zoom-out:before{content:"\f010"}.icon-off:before{content:"\f011"}.icon-signal:before{content:"\f012"}.icon-cog:before{content:"\f013"}.icon-trash:before{content:"\f014"}.icon-home:before{content:"\f015"}.icon-file:before{content:"\f016"}.icon-time:before{content:"\f017"}.icon-road:before{content:"\f018"}.icon-download-alt:before{content:"\f019"}.icon-download:before{content:"\f01a"}.icon-upload:before{content:"\f01b"}.icon-inbox:before{content:"\f01c"}.icon-play-circle:before{content:"\f01d"}.icon-repeat:before,.icon-rotate-right:before{content:"\f01e"}.icon-refresh:before{content:"\f021"}.icon-list-alt:before{content:"\f022"}.icon-lock:before{content:"\f023"}.icon-flag:before{content:"\f024"}.icon-headphones:before{content:"\f025"}.icon-volume-off:before{content:"\f026"}.icon-volume-down:before{content:"\f027"}.icon-volume-up:before{content:"\f028"}.icon-qrcode:before{content:"\f029"}.icon-barcode:before{content:"\f02a"}.icon-tag:before{content:"\f02b"}.icon-tags:before{content:"\f02c"}.icon-book:before{content:"\f02d"}.icon-bookmark:before{content:"\f02e"}.icon-print:before{content:"\f02f"}.icon-camera:before{content:"\f030"}.icon-font:before{content:"\f031"}.icon-bold:before{content:"\f032"}.icon-italic:before{content:"\f033"}.icon-text-height:before{content:"\f034"}.icon-text-width:before{content:"\f035"}.icon-align-left:before{content:"\f036"}.icon-align-center:before{content:"\f037"}.icon-align-right:before{content:"\f038"}.icon-align-justify:before{content:"\f039"}.icon-list:before{content:"\f03a"}.icon-indent-left:before{content:"\f03b"}.icon-indent-right:before{content:"\f03c"}.icon-facetime-video:before{content:"\f03d"}.icon-picture:before{content:"\f03e"}.icon-pencil:before{content:"\f040"}.icon-map-marker:before{content:"\f041"}.icon-adjust:before{content:"\f042"}.icon-tint:before{content:"\f043"}.icon-edit:before{content:"\f044"}.icon-share:before{content:"\f045"}.icon-check:before{content:"\f046"}.icon-move:before{content:"\f047"}.icon-step-backward:before{content:"\f048"}.icon-fast-backward:before{content:"\f049"}.icon-backward:before{content:"\f04a"}.icon-play:before{content:"\f04b"}.icon-pause:before{content:"\f04c"}.icon-stop:before{content:"\f04d"}.icon-forward:before{content:"\f04e"}.icon-fast-forward:before{content:"\f050"}.icon-step-forward:before{content:"\f051"}.icon-eject:before{content:"\f052"}.icon-chevron-left:before{content:"\f053"}.icon-chevron-right:before{content:"\f054"}.icon-plus-sign:before{content:"\f055"}.icon-minus-sign:before{content:"\f056"}.icon-remove-sign:before{content:"\f057"}.icon-ok-sign:before{content:"\f058"}.icon-question-sign:before{content:"\f059"}.icon-info-sign:before{content:"\f05a"}.icon-screenshot:before{content:"\f05b"}.icon-remove-circle:before{content:"\f05c"}.icon-ok-circle:before{content:"\f05d"}.icon-ban-circle:before{content:"\f05e"}.icon-arrow-left:before{content:"\f060"}.icon-arrow-right:before{content:"\f061"}.icon-arrow-up:before{content:"\f062"}.icon-arrow-down:before{content:"\f063"}.icon-share-alt:before,.icon-mail-forward:before{content:"\f064"}.icon-resize-full:before{content:"\f065"}.icon-resize-small:before{content:"\f066"}.icon-plus:before{content:"\f067"}.icon-minus:before{content:"\f068"}.icon-asterisk:before{content:"\f069"}.icon-exclamation-sign:before{content:"\f06a"}.icon-gift:before{content:"\f06b"}.icon-leaf:before{content:"\f06c"}.icon-fire:before{content:"\f06d"}.icon-eye-open:before{content:"\f06e"}.icon-eye-close:before{content:"\f070"}.icon-warning-sign:before{content:"\f071"}.icon-plane:before{content:"\f072"}.icon-calendar:before{content:"\f073"}.icon-random:before{content:"\f074"}.icon-comment:before{content:"\f075"}.icon-magnet:before{content:"\f076"}.icon-chevron-up:before{content:"\f077"}.icon-chevron-down:before{content:"\f078"}.icon-retweet:before{content:"\f079"}.icon-shopping-cart:before{content:"\f07a"}.icon-folder-close:before{content:"\f07b"}.icon-folder-open:before{content:"\f07c"}.icon-resize-vertical:before{content:"\f07d"}.icon-resize-horizontal:before{content:"\f07e"}.icon-bar-chart:before{content:"\f080"}.icon-twitter-sign:before{content:"\f081"}.icon-facebook-sign:before{content:"\f082"}.icon-camera-retro:before{content:"\f083"}.icon-key:before{content:"\f084"}.icon-cogs:before{content:"\f085"}.icon-comments:before{content:"\f086"}.icon-thumbs-up:before{content:"\f087"}.icon-thumbs-down:before{content:"\f088"}.icon-star-half:before{content:"\f089"}.icon-heart-empty:before{content:"\f08a"}.icon-signout:before{content:"\f08b"}.icon-linkedin-sign:before{content:"\f08c"}.icon-pushpin:before{content:"\f08d"}.icon-external-link:before{content:"\f08e"}.icon-signin:before{content:"\f090"}.icon-trophy:before{content:"\f091"}.icon-github-sign:before{content:"\f092"}.icon-upload-alt:before{content:"\f093"}.icon-lemon:before{content:"\f094"}.icon-phone:before{content:"\f095"}.icon-check-empty:before{content:"\f096"}.icon-bookmark-empty:before{content:"\f097"}.icon-phone-sign:before{content:"\f098"}.icon-twitter:before{content:"\f099"}.icon-facebook:before{content:"\f09a"}.icon-github:before{content:"\f09b"}.icon-unlock:before{content:"\f09c"}.icon-credit-card:before{content:"\f09d"}.icon-rss:before{content:"\f09e"}.icon-hdd:before{content:"\f0a0"}.icon-bullhorn:before{content:"\f0a1"}.icon-bell:before{content:"\f0a2"}.icon-certificate:before{content:"\f0a3"}.icon-hand-right:before{content:"\f0a4"}.icon-hand-left:before{content:"\f0a5"}.icon-hand-up:before{content:"\f0a6"}.icon-hand-down:before{content:"\f0a7"}.icon-circle-arrow-left:before{content:"\f0a8"}.icon-circle-arrow-right:before{content:"\f0a9"}.icon-circle-arrow-up:before{content:"\f0aa"}.icon-circle-arrow-down:before{content:"\f0ab"}.icon-globe:before{content:"\f0ac"}.icon-wrench:before{content:"\f0ad"}.icon-tasks:before{content:"\f0ae"}.icon-filter:before{content:"\f0b0"}.icon-briefcase:before{content:"\f0b1"}.icon-fullscreen:before{content:"\f0b2"}.icon-group:before{content:"\f0c0"}.icon-link:before{content:"\f0c1"}.icon-cloud:before{content:"\f0c2"}.icon-beaker:before{content:"\f0c3"}.icon-cut:before{content:"\f0c4"}.icon-copy:before{content:"\f0c5"}.icon-paper-clip:before{content:"\f0c6"}.icon-save:before{content:"\f0c7"}.icon-sign-blank:before{content:"\f0c8"}.icon-reorder:before{content:"\f0c9"}.icon-list-ul:before{content:"\f0ca"}.icon-list-ol:before{content:"\f0cb"}.icon-strikethrough:before{content:"\f0cc"}.icon-underline:before{content:"\f0cd"}.icon-table:before{content:"\f0ce"}.icon-magic:before{content:"\f0d0"}.icon-truck:before{content:"\f0d1"}.icon-pinterest:before{content:"\f0d2"}.icon-pinterest-sign:before{content:"\f0d3"}.icon-google-plus-sign:before{content:"\f0d4"}.icon-google-plus:before{content:"\f0d5"}.icon-money:before{content:"\f0d6"}.icon-caret-down:before{content:"\f0d7"}.icon-caret-up:before{content:"\f0d8"}.icon-caret-left:before{content:"\f0d9"}.icon-caret-right:before{content:"\f0da"}.icon-columns:before{content:"\f0db"}.icon-sort:before{content:"\f0dc"}.icon-sort-down:before{content:"\f0dd"}.icon-sort-up:before{content:"\f0de"}.icon-envelope-alt:before{content:"\f0e0"}.icon-linkedin:before{content:"\f0e1"}.icon-undo:before,.icon-rotate-left:before{content:"\f0e2"}.icon-legal:before{content:"\f0e3"}.icon-dashboard:before{content:"\f0e4"}.icon-comment-alt:before{content:"\f0e5"}.icon-comments-alt:before{content:"\f0e6"}.icon-bolt:before{content:"\f0e7"}.icon-sitemap:before{content:"\f0e8"}.icon-umbrella:before{content:"\f0e9"}.icon-paste:before{content:"\f0ea"}.icon-lightbulb:before{content:"\f0eb"}.icon-exchange:before{content:"\f0ec"}.icon-cloud-download:before{content:"\f0ed"}.icon-cloud-upload:before{content:"\f0ee"}.icon-user-md:before{content:"\f0f0"}.icon-stethoscope:before{content:"\f0f1"}.icon-suitcase:before{content:"\f0f2"}.icon-bell-alt:before{content:"\f0f3"}.icon-coffee:before{content:"\f0f4"}.icon-food:before{content:"\f0f5"}.icon-file-alt:before{content:"\f0f6"}.icon-building:before{content:"\f0f7"}.icon-hospital:before{content:"\f0f8"}.icon-ambulance:before{content:"\f0f9"}.icon-medkit:before{content:"\f0fa"}.icon-fighter-jet:before{content:"\f0fb"}.icon-beer:before{content:"\f0fc"}.icon-h-sign:before{content:"\f0fd"}.icon-plus-sign-alt:before{content:"\f0fe"}.icon-double-angle-left:before{content:"\f100"}.icon-double-angle-right:before{content:"\f101"}.icon-double-angle-up:before{content:"\f102"}.icon-double-angle-down:before{content:"\f103"}.icon-angle-left:before{content:"\f104"}.icon-angle-right:before{content:"\f105"}.icon-angle-up:before{content:"\f106"}.icon-angle-down:before{content:"\f107"}.icon-desktop:before{content:"\f108"}.icon-laptop:before{content:"\f109"}.icon-tablet:before{content:"\f10a"}.icon-mobile-phone:before{content:"\f10b"}.icon-circle-blank:before{content:"\f10c"}.icon-quote-left:before{content:"\f10d"}.icon-quote-right:before{content:"\f10e"}.icon-spinner:before{content:"\f110"}.icon-circle:before{content:"\f111"}.icon-reply:before,.icon-mail-reply:before{content:"\f112"}.icon-folder-close-alt:before{content:"\f114"}.icon-folder-open-alt:before{content:"\f115"}.icon-expand-alt:before{content:"\f116"}.icon-collapse-alt:before{content:"\f117"}.icon-smile:before{content:"\f118"}.icon-frown:before{content:"\f119"}.icon-meh:before{content:"\f11a"}.icon-gamepad:before{content:"\f11b"}.icon-keyboard:before{content:"\f11c"}.icon-flag-alt:before{content:"\f11d"}.icon-flag-checkered:before{content:"\f11e"}.icon-terminal:before{content:"\f120"}.icon-code:before{content:"\f121"}.icon-reply-all:before{content:"\f122"}.icon-mail-reply-all:before{content:"\f122"}.icon-star-half-full:before,.icon-star-half-empty:before{content:"\f123"}.icon-location-arrow:before{content:"\f124"}.icon-crop:before{content:"\f125"}.icon-code-fork:before{content:"\f126"}.icon-unlink:before{content:"\f127"}.icon-question:before{content:"\f128"}.icon-info:before{content:"\f129"}.icon-exclamation:before{content:"\f12a"}.icon-superscript:before{content:"\f12b"}.icon-subscript:before{content:"\f12c"}.icon-eraser:before{content:"\f12d"}.icon-puzzle-piece:before{content:"\f12e"}.icon-microphone:before{content:"\f130"}.icon-microphone-off:before{content:"\f131"}.icon-shield:before{content:"\f132"}.icon-calendar-empty:before{content:"\f133"}.icon-fire-extinguisher:before{content:"\f134"}.icon-rocket:before{content:"\f135"}.icon-maxcdn:before{content:"\f136"}.icon-chevron-sign-left:before{content:"\f137"}.icon-chevron-sign-right:before{content:"\f138"}.icon-chevron-sign-up:before{content:"\f139"}.icon-chevron-sign-down:before{content:"\f13a"}.icon-html5:before{content:"\f13b"}.icon-css3:before{content:"\f13c"}.icon-anchor:before{content:"\f13d"}.icon-unlock-alt:before{content:"\f13e"}.icon-bullseye:before{content:"\f140"}.icon-ellipsis-horizontal:before{content:"\f141"}.icon-ellipsis-vertical:before{content:"\f142"}.icon-rss-sign:before{content:"\f143"}.icon-play-sign:before{content:"\f144"}.icon-ticket:before{content:"\f145"}.icon-minus-sign-alt:before{content:"\f146"}.icon-check-minus:before{content:"\f147"}.icon-level-up:before{content:"\f148"}.icon-level-down:before{content:"\f149"}.icon-check-sign:before{content:"\f14a"}.icon-edit-sign:before{content:"\f14b"}.icon-external-link-sign:before{content:"\f14c"}.icon-share-sign:before{content:"\f14d"}
app/assets/css/grid-foundation.css DELETED
@@ -1,217 +0,0 @@
1
- * Grid HTML Classes */
2
- /* line 116, ../../../../../../../usr/lib/ruby/gems/1.8/gems/zurb-foundation-4.1.6/scss/foundation/components/_grid.scss */
3
- .row {
4
- width: 100%;
5
- margin-left: auto;
6
- margin-right: auto;
7
- margin-top: 0;
8
- margin-bottom: 0;
9
- max-width: 62.5em;
10
- *zoom: 1;
11
- }
12
- /* line 101, ../../../../../../../usr/lib/ruby/gems/1.8/gems/zurb-foundation-4.1.6/scss/foundation/components/_global.scss */
13
- .row:before, .row:after {
14
- content: " ";
15
- display: table;
16
- }
17
- /* line 102, ../../../../../../../usr/lib/ruby/gems/1.8/gems/zurb-foundation-4.1.6/scss/foundation/components/_global.scss */
18
- .row:after {
19
- clear: both;
20
- }
21
- /* line 121, ../../../../../../../usr/lib/ruby/gems/1.8/gems/zurb-foundation-4.1.6/scss/foundation/components/_grid.scss */
22
- .row.collapse .column,
23
- .row.collapse .columns {
24
- position: relative;
25
- padding-left: 0;
26
- padding-right: 0;
27
- float: left;
28
- }
29
-
30
- /* line 130, ../../../../../../../usr/lib/ruby/gems/1.8/gems/zurb-foundation-4.1.6/scss/foundation/components/_grid.scss */
31
- .column,
32
- .columns {
33
- position: relative;
34
- padding-left: 0.9375em;
35
- padding-right: 0.9375em;
36
- width: 100%;
37
- float: left;
38
- }
39
-
40
- @media only screen {
41
- /* line 135, ../../../../../../../usr/lib/ruby/gems/1.8/gems/zurb-foundation-4.1.6/scss/foundation/components/_grid.scss */
42
- .column,
43
- .columns {
44
- position: relative;
45
- padding-left: 0.9375em;
46
- padding-right: 0.9375em;
47
- float: left;
48
- }
49
-
50
- /* line 149, ../../../../../../../usr/lib/ruby/gems/1.8/gems/zurb-foundation-4.1.6/scss/foundation/components/_grid.scss */
51
- .column.small-centered,
52
- .columns.small-centered {
53
- position: relative;
54
- margin-left: auto;
55
- margin-right: auto;
56
- float: none !important;
57
- }
58
- }
59
- /* Styles for screens that are atleast 768px; */
60
- @media only screen and (min-width: 48em) {
61
- /* line 156, ../../../../../../../usr/lib/ruby/gems/1.8/gems/zurb-foundation-4.1.6/scss/foundation/components/_grid.scss */
62
- .large-1 {
63
- position: relative;
64
- width: 8.33333%;
65
- }
66
-
67
- /* line 156, ../../../../../../../usr/lib/ruby/gems/1.8/gems/zurb-foundation-4.1.6/scss/foundation/components/_grid.scss */
68
- .large-2 {
69
- position: relative;
70
- width: 16.66667%;
71
- }
72
-
73
- /* line 156, ../../../../../../../usr/lib/ruby/gems/1.8/gems/zurb-foundation-4.1.6/scss/foundation/components/_grid.scss */
74
- .large-3 {
75
- position: relative;
76
- width: 25%;
77
- }
78
-
79
- /* line 156, ../../../../../../../usr/lib/ruby/gems/1.8/gems/zurb-foundation-4.1.6/scss/foundation/components/_grid.scss */
80
- .large-4 {
81
- position: relative;
82
- width: 33.33333%;
83
- }
84
-
85
- /* line 156, ../../../../../../../usr/lib/ruby/gems/1.8/gems/zurb-foundation-4.1.6/scss/foundation/components/_grid.scss */
86
- .large-5 {
87
- position: relative;
88
- width: 41.66667%;
89
- }
90
-
91
- /* line 156, ../../../../../../../usr/lib/ruby/gems/1.8/gems/zurb-foundation-4.1.6/scss/foundation/components/_grid.scss */
92
- .large-6 {
93
- position: relative;
94
- width: 50%;
95
- }
96
-
97
- /* line 156, ../../../../../../../usr/lib/ruby/gems/1.8/gems/zurb-foundation-4.1.6/scss/foundation/components/_grid.scss */
98
- .large-7 {
99
- position: relative;
100
- width: 58.33333%;
101
- }
102
-
103
- /* line 156, ../../../../../../../usr/lib/ruby/gems/1.8/gems/zurb-foundation-4.1.6/scss/foundation/components/_grid.scss */
104
- .large-8 {
105
- position: relative;
106
- width: 66.66667%;
107
- }
108
-
109
- /* line 156, ../../../../../../../usr/lib/ruby/gems/1.8/gems/zurb-foundation-4.1.6/scss/foundation/components/_grid.scss */
110
- .large-9 {
111
- position: relative;
112
- width: 75%;
113
- }
114