Version Description
- Disable PHP error reporting on update.php file
Download this release
Release Info
Developer | pasyuk |
Plugin | Gmedia Photo Gallery |
Version | 1.2.6 |
Comparing to | |
See all releases |
Code changes from version 1.1.1 to 1.2.6
- access.php +471 -95
- admin/addmedia.php +308 -225
- admin/admin.php +177 -126
- admin/ajax.php +801 -476
- admin/css/grand-media.css +44 -19
- admin/galleries.php +458 -341
- admin/gmedia.php +534 -178
- admin/import.php +173 -131
- admin/js/grand-media.js +58 -48
- admin/modules.php +129 -115
- admin/processor.php +436 -164
- admin/settings.php +147 -19
- admin/terms.php +866 -606
- admin/upload.php +8 -218
- admin/wpmedia.php +87 -73
- assets/bootstrap/css/bootstrap-theme.css +210 -165
- assets/bootstrap/css/bootstrap-theme.min.css +2 -4
- assets/bootstrap/css/bootstrap.css +2837 -2465
- assets/bootstrap/css/bootstrap.min.css +4 -4
- assets/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
- assets/bootstrap/fonts/glyphicons-halflings-regular.svg +47 -47
- assets/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
- assets/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
- assets/bootstrap/js/bootstrap.js +390 -227
- assets/bootstrap/js/bootstrap.min.js +2 -2
access.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
<?php
|
2 |
-
ini_set(
|
3 |
-
ini_set(
|
4 |
|
5 |
-
if
|
6 |
die(0);
|
7 |
//@require_once(dirname(__FILE__) . '/config.php');
|
8 |
}
|
@@ -16,15 +16,28 @@ if(!$gmedia_app){
|
|
16 |
global $gmCore;
|
17 |
$out = array();
|
18 |
|
19 |
-
if(isset($
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
|
21 |
-
|
22 |
|
23 |
-
|
|
|
|
|
24 |
global $gmAuth;
|
25 |
$gmAuth = new Gmedia_JSON_API_Auth_Controller();
|
26 |
|
27 |
-
|
|
|
|
|
|
|
|
|
28 |
$user_id = $gmAuth->validate_auth_cookie($json->cookie);
|
29 |
if($user_id){
|
30 |
$user = wp_set_current_user($user_id);
|
@@ -32,27 +45,55 @@ if(isset($GLOBALS['HTTP_RAW_POST_DATA'])){
|
|
32 |
$out = gmedia_ios_app_processor('add_term', $json->add_term);
|
33 |
} elseif(isset($json->delete_term)){
|
34 |
$out = gmedia_ios_app_processor('delete_term', $json->delete_term);
|
35 |
-
}
|
36 |
-
|
|
|
|
|
|
|
37 |
$out = gmedia_ios_app_processor('library', $json->library);
|
38 |
}
|
39 |
|
40 |
|
41 |
} else{
|
42 |
-
$out['error'] = array('code' => '
|
43 |
}
|
44 |
} elseif(isset($json->login)){
|
45 |
$out = gmedia_ios_app_login($json);
|
46 |
if(!isset($out['error'])){
|
47 |
$user = wp_set_current_user($out['user']['id']);
|
48 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
49 |
$out = $out + $data;
|
50 |
}
|
51 |
} else{
|
52 |
-
|
|
|
|
|
|
|
|
|
53 |
}
|
54 |
|
55 |
-
} elseif(
|
56 |
if(function_exists('wp_lostpassword_url')){
|
57 |
$url = wp_lostpassword_url();
|
58 |
} else{
|
@@ -80,15 +121,15 @@ function gmedia_ios_app_login($json){
|
|
80 |
$out['error'] = array('code' => 'nopassword', 'title' => 'No Password', 'message' => 'No Password');
|
81 |
break;
|
82 |
}
|
83 |
-
if(!
|
84 |
$out['error'] = array('code' => 'nouser', 'title' => 'No User', 'message' => 'No User');
|
85 |
break;
|
86 |
}
|
87 |
|
88 |
$args = array(
|
89 |
-
'username' => $json->login
|
90 |
-
|
91 |
-
|
92 |
);
|
93 |
$out = $gmAuth->generate_auth_cookie($args);
|
94 |
|
@@ -102,26 +143,46 @@ function gmedia_ios_app_login($json){
|
|
102 |
*
|
103 |
* @return array
|
104 |
*/
|
105 |
-
function gmedia_ios_app_library_data($data = array('site','filter','gmedia_category','gmedia_album','gmedia_tag')){
|
106 |
global $user_ID, $gmCore, $gmDB, $gmGallery;
|
107 |
|
108 |
$out = array();
|
109 |
|
110 |
-
if
|
111 |
$ep = $gmGallery->options['endpoint'];
|
112 |
-
$share_link = home_url($ep.'/$2/$1');
|
113 |
} else{
|
114 |
$share_link = home_url('index.php?gmedia=$1&type=$2');
|
115 |
}
|
116 |
|
117 |
if(in_array('site', $data)){
|
118 |
$out['site'] = array(
|
119 |
-
'title' => get_bloginfo('name')
|
120 |
-
|
121 |
);
|
122 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
123 |
if(in_array('filter', $data)){
|
124 |
$out['filter'] = $gmDB->count_gmedia();
|
|
|
125 |
}
|
126 |
if(in_array('gmedia_category', $data)){
|
127 |
/*
|
@@ -132,7 +193,7 @@ function gmedia_ios_app_library_data($data = array('site','filter','gmedia_categ
|
|
132 |
}
|
133 |
*/
|
134 |
$gmediaTerms = $gmDB->get_terms('gmedia_category', array('fields' => 'name=>all'));
|
135 |
-
$terms = $gmGallery->options['taxonomies']['gmedia_category'];
|
136 |
$out['categories'] = array(
|
137 |
'list' => $terms,
|
138 |
'cap' => 0,
|
@@ -140,15 +201,12 @@ function gmedia_ios_app_library_data($data = array('site','filter','gmedia_categ
|
|
140 |
);
|
141 |
if(!empty($gmediaTerms)){
|
142 |
foreach($gmediaTerms as $name => $term){
|
143 |
-
unset(
|
144 |
-
$gmediaTerms[$name]->description,
|
145 |
-
$gmediaTerms[$name]->global,
|
146 |
-
$gmediaTerms[$name]->status
|
147 |
-
);
|
148 |
$gmediaTerms[$name]->title = $terms[$name];
|
149 |
-
$gmediaTerms[$name]->sharelink = str_replace(array('$1','$2'), array($term->term_id, 'category'), $share_link);
|
150 |
$gmediaTerms[$name]->cap = 0;
|
151 |
}
|
|
|
152 |
$out['categories']['data'] = array_values($gmediaTerms);
|
153 |
}
|
154 |
}
|
@@ -160,9 +218,18 @@ function gmedia_ios_app_library_data($data = array('site','filter','gmedia_categ
|
|
160 |
}
|
161 |
$gmediaTerms = $gmDB->get_terms('gmedia_album');
|
162 |
foreach($gmediaTerms as $i => $term){
|
163 |
-
|
164 |
-
|
165 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
if($term->count){
|
167 |
$args = array('no_found_rows' => true, 'per_page' => 1, 'album__in' => array($term->term_id));
|
168 |
$termItems = $gmDB->get_gmedias($args);
|
@@ -170,9 +237,9 @@ function gmedia_ios_app_library_data($data = array('site','filter','gmedia_categ
|
|
170 |
}
|
171 |
$term_meta = $gmDB->get_metadata('gmedia_term', $term->term_id);
|
172 |
$term_meta = array_map('reset', $term_meta);
|
173 |
-
$term_meta = array_merge(
|
174 |
$gmediaTerms[$i]->meta = $term_meta;
|
175 |
-
$gmediaTerms[$i]->sharelink = str_replace(array('$1','$2'), array($term->term_id, 'album'), $share_link);
|
176 |
$gmediaTerms[$i]->cap = (4 == $cap)? 4 : 0;
|
177 |
}
|
178 |
$out['albums'] = array(
|
@@ -188,12 +255,8 @@ function gmedia_ios_app_library_data($data = array('site','filter','gmedia_categ
|
|
188 |
}
|
189 |
$gmediaTerms = $gmDB->get_terms('gmedia_tag');
|
190 |
foreach($gmediaTerms as $i => $term){
|
191 |
-
unset(
|
192 |
-
$gmediaTerms[$i]->
|
193 |
-
$gmediaTerms[$i]->global,
|
194 |
-
$gmediaTerms[$i]->status
|
195 |
-
);
|
196 |
-
$gmediaTerms[$i]->sharelink = str_replace(array('$1','$2'), array($term->term_id, 'tag'), $share_link);
|
197 |
$gmediaTerms[$i]->cap = (4 == $cap)? 4 : 0;
|
198 |
}
|
199 |
$out['tags'] = array(
|
@@ -206,42 +269,303 @@ function gmedia_ios_app_library_data($data = array('site','filter','gmedia_categ
|
|
206 |
}
|
207 |
|
208 |
/**
|
209 |
-
* @param
|
210 |
-
* @param
|
|
|
|
|
211 |
*
|
212 |
* @return array
|
213 |
*/
|
214 |
-
function gmedia_ios_app_processor($action, $data){
|
215 |
global $gmCore, $gmDB, $gmGallery;
|
216 |
|
217 |
$out = array();
|
218 |
-
if ( !current_user_can('edit_posts') ){
|
219 |
-
$out['error'] = array('code' => 'nocapability', 'title' => "You can't do this", 'message' => 'You have no permission to do this operation');
|
220 |
-
return $out;
|
221 |
-
}
|
222 |
|
223 |
$error = array();
|
224 |
$alert = array();
|
225 |
-
$data = (array)
|
226 |
switch($action){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
227 |
case 'library':
|
228 |
-
if
|
229 |
$ep = $gmGallery->options['endpoint'];
|
230 |
-
$share_link = home_url($ep.'/single/');
|
231 |
} else{
|
232 |
$share_link = home_url('index.php?type=single&gmedia=');
|
233 |
}
|
|
|
|
|
|
|
|
|
234 |
$gmedias = $gmDB->get_gmedias($data);
|
235 |
foreach($gmedias as $i => $item){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
236 |
$meta = $gmDB->get_metadata('gmedia', $item->ID);
|
237 |
-
$_metadata =
|
238 |
$type = explode('/', $item->mime_type);
|
239 |
$item_url = $gmCore->upload['url'] . '/' . $gmGallery->options['folder'][$type[0]] . '/' . $item->gmuid;
|
240 |
$gmedias[$i]->url = $item_url;
|
241 |
$terms = $gmDB->get_the_gmedia_terms($item->ID, 'gmedia_tag');
|
242 |
$tags = array();
|
243 |
if($terms){
|
244 |
-
$terms = array_values((array)
|
245 |
foreach($terms as $term){
|
246 |
$tags[] = array('term_id' => $term->term_id, 'name' => $term->name);
|
247 |
}
|
@@ -251,7 +575,7 @@ function gmedia_ios_app_processor($action, $data){
|
|
251 |
$terms = $gmDB->get_the_gmedia_terms($item->ID, 'gmedia_album');
|
252 |
$albums = array();
|
253 |
if($terms){
|
254 |
-
$terms = array_values((array)
|
255 |
foreach($terms as $term){
|
256 |
$albums[] = array('term_id' => $term->term_id, 'name' => $term->name, 'status' => $term->status);
|
257 |
}
|
@@ -262,7 +586,7 @@ function gmedia_ios_app_processor($action, $data){
|
|
262 |
$terms = $gmDB->get_the_gmedia_terms($item->ID, 'gmedia_category');
|
263 |
$categories = array();
|
264 |
if($terms){
|
265 |
-
$terms = array_values((array)
|
266 |
foreach($terms as $term){
|
267 |
$categories[] = array('term_id' => $term->term_id, 'name' => $term->name);
|
268 |
}
|
@@ -270,13 +594,15 @@ function gmedia_ios_app_processor($action, $data){
|
|
270 |
$gmedias[$i]->categories = $categories;
|
271 |
|
272 |
$gmedias[$i]->meta = array(
|
273 |
-
'thumb' => $_metadata['thumb']
|
274 |
-
|
275 |
-
|
276 |
);
|
277 |
$gmedias[$i]->meta['thumb']['link'] = "{$gmCore->upload['url']}/{$gmGallery->options['folder']['image_thumb']}/{$item->gmuid}";
|
278 |
$gmedias[$i]->meta['web']['link'] = "{$gmCore->upload['url']}/{$gmGallery->options['folder']['image']}/{$item->gmuid}";
|
279 |
$gmedias[$i]->meta['original']['link'] = "{$gmCore->upload['url']}/{$gmGallery->options['folder']['image_original']}/{$item->gmuid}";
|
|
|
|
|
280 |
if(isset($meta['views'][0])){
|
281 |
$gmedias[$i]->meta['views'] = $meta['views'][0];
|
282 |
}
|
@@ -289,35 +615,36 @@ function gmedia_ios_app_processor($action, $data){
|
|
289 |
} else{
|
290 |
$gmedias[$i]->meta = array(
|
291 |
'thumb' => array(
|
292 |
-
'link' => $gmCore->gm_get_media_image($item, 'thumb')
|
293 |
-
|
294 |
-
|
295 |
)
|
296 |
);
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
}
|
301 |
if(isset($meta['rating'][0])){
|
302 |
-
$gmedias[$i]->meta['rating'] =
|
303 |
}
|
|
|
304 |
}
|
305 |
-
$out = array(
|
306 |
'properties' => array(
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
)
|
312 |
-
|
313 |
-
);
|
314 |
break;
|
315 |
case 'delete_term':
|
316 |
$taxonomy = $data['taxonomy'];
|
317 |
if(!empty($data['items'])){
|
318 |
if(!current_user_can('delete_posts')){
|
319 |
-
$
|
320 |
-
|
321 |
}
|
322 |
$count = count($data['items']);
|
323 |
foreach($data['items'] as $item){
|
@@ -331,11 +658,16 @@ function gmedia_ios_app_processor($action, $data){
|
|
331 |
$alert[] = sprintf(__('%d items deleted successfuly', 'gmLang'), $count);
|
332 |
}
|
333 |
}
|
334 |
-
$out = gmedia_ios_app_library_data(array('filter'
|
335 |
break;
|
336 |
case 'add_term':
|
337 |
-
|
338 |
-
|
|
|
|
|
|
|
|
|
|
|
339 |
$term = $data;
|
340 |
if('gmedia_album' == $taxonomy){
|
341 |
do{
|
@@ -349,7 +681,7 @@ function gmedia_ios_app_processor($action, $data){
|
|
349 |
break;
|
350 |
}
|
351 |
if($edit_term && !$gmDB->term_exists($edit_term, $taxonomy)){
|
352 |
-
$
|
353 |
$edit_term = false;
|
354 |
}
|
355 |
if(($term_id = $gmDB->term_exists($term['name'], $taxonomy))){
|
@@ -369,8 +701,8 @@ function gmedia_ios_app_processor($action, $data){
|
|
369 |
}
|
370 |
|
371 |
$term_meta = array(
|
372 |
-
'orderby' => $term['orderby']
|
373 |
-
|
374 |
);
|
375 |
foreach($term_meta as $key => $value){
|
376 |
if($edit_term){
|
@@ -383,31 +715,37 @@ function gmedia_ios_app_processor($action, $data){
|
|
383 |
$alert[] = sprintf(__('Album `%s` successfuly saved', 'gmLang'), $term['name']);
|
384 |
|
385 |
} while(0);
|
386 |
-
$out = gmedia_ios_app_library_data(array('filter'
|
387 |
-
}
|
388 |
-
elseif('gmedia_tag' == $taxonomy){
|
389 |
if($edit_term){
|
390 |
$term['name'] = trim($term['name']);
|
391 |
$term['term_id'] = intval($term['term_id']);
|
392 |
-
if(
|
393 |
-
if
|
394 |
-
|
395 |
-
|
396 |
-
$
|
|
|
|
|
|
|
|
|
397 |
} else{
|
398 |
-
$
|
399 |
}
|
400 |
} else{
|
401 |
-
$error[] = __(
|
402 |
}
|
403 |
} else{
|
404 |
-
$error[] = __(
|
405 |
}
|
406 |
} else{
|
407 |
$terms = array_filter(array_map('trim', explode(',', $term['name'])));
|
408 |
-
$terms_added = 0;
|
|
|
409 |
foreach($terms as $term_name){
|
410 |
-
if($gmCore->is_digit($term_name)){
|
|
|
|
|
411 |
|
412 |
if(!$gmDB->term_exists($term_name, $taxonomy)){
|
413 |
$term_id = $gmDB->insert_term($term_name, $taxonomy);
|
@@ -421,7 +759,7 @@ function gmedia_ios_app_processor($action, $data){
|
|
421 |
}
|
422 |
}
|
423 |
}
|
424 |
-
$out = gmedia_ios_app_library_data(array('filter'
|
425 |
}
|
426 |
|
427 |
break;
|
@@ -440,7 +778,45 @@ function gmedia_ios_app_processor($action, $data){
|
|
440 |
}
|
441 |
|
442 |
|
443 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
444 |
echo json_encode($out);
|
445 |
|
446 |
/*if(isset($_GET['test'])){
|
1 |
<?php
|
2 |
+
//ini_set('display_errors', '1');
|
3 |
+
//ini_set('error_reporting', E_ALL);
|
4 |
|
5 |
+
if(!defined('ABSPATH')){
|
6 |
die(0);
|
7 |
//@require_once(dirname(__FILE__) . '/config.php');
|
8 |
}
|
16 |
global $gmCore;
|
17 |
$out = array();
|
18 |
|
19 |
+
if(isset($_FILES['userfile']['name'])){
|
20 |
+
$globaldata = isset($_POST['account'])? $_POST['account'] : false;
|
21 |
+
if($globaldata){
|
22 |
+
$globaldata = stripslashes($globaldata);
|
23 |
+
}
|
24 |
+
} else{
|
25 |
+
$globaldata = isset($GLOBALS['HTTP_RAW_POST_DATA'])? $GLOBALS['HTTP_RAW_POST_DATA'] : false;
|
26 |
+
}
|
27 |
|
28 |
+
if($globaldata){
|
29 |
|
30 |
+
$json = json_decode($globaldata);
|
31 |
+
|
32 |
+
require_once(dirname(__FILE__) . '/inc/json.auth.php');
|
33 |
global $gmAuth;
|
34 |
$gmAuth = new Gmedia_JSON_API_Auth_Controller();
|
35 |
|
36 |
+
if(isset($json->counter)){
|
37 |
+
gmedia_ios_app_counters($json->counter);
|
38 |
+
}
|
39 |
+
|
40 |
+
if(isset($json->cookie) && !empty($json->cookie)){
|
41 |
$user_id = $gmAuth->validate_auth_cookie($json->cookie);
|
42 |
if($user_id){
|
43 |
$user = wp_set_current_user($user_id);
|
45 |
$out = gmedia_ios_app_processor('add_term', $json->add_term);
|
46 |
} elseif(isset($json->delete_term)){
|
47 |
$out = gmedia_ios_app_processor('delete_term', $json->delete_term);
|
48 |
+
} elseif(isset($json->doLibrary)){
|
49 |
+
$job = gmedia_ios_app_processor('do_library', $json->doLibrary);
|
50 |
+
$out = gmedia_ios_app_processor('library', $json->library, false);
|
51 |
+
$out = array_merge($out, $job);
|
52 |
+
} elseif(isset($json->library)){
|
53 |
$out = gmedia_ios_app_processor('library', $json->library);
|
54 |
}
|
55 |
|
56 |
|
57 |
} else{
|
58 |
+
$out['error'] = array('code' => 'wrongcookie', 'message' => 'Not Valid User');
|
59 |
}
|
60 |
} elseif(isset($json->login)){
|
61 |
$out = gmedia_ios_app_login($json);
|
62 |
if(!isset($out['error'])){
|
63 |
$user = wp_set_current_user($out['user']['id']);
|
64 |
+
|
65 |
+
$gmedia_capabilities_list = array(
|
66 |
+
'gmedia_library'
|
67 |
+
, 'gmedia_show_others_media'
|
68 |
+
, 'gmedia_edit_media'
|
69 |
+
, 'gmedia_edit_others_media'
|
70 |
+
, 'gmedia_delete_media'
|
71 |
+
, 'gmedia_delete_others_media'
|
72 |
+
,'gmedia_upload'
|
73 |
+
,'gmedia_terms'
|
74 |
+
, 'gmedia_album_manage'
|
75 |
+
, 'gmedia_tag_manage'
|
76 |
+
, 'gmedia_terms_delete'
|
77 |
+
);
|
78 |
+
$gmedia_capabilities = array();
|
79 |
+
foreach($gmedia_capabilities_list as $cap){
|
80 |
+
$gmedia_capabilities[$cap] = current_user_can($cap);
|
81 |
+
}
|
82 |
+
|
83 |
+
$out['user']['gmedia_capabilities'] = $gmedia_capabilities;
|
84 |
+
|
85 |
+
$data = gmedia_ios_app_library_data();
|
86 |
$out = $out + $data;
|
87 |
}
|
88 |
} else{
|
89 |
+
if(isset($json->library)){
|
90 |
+
$out = gmedia_ios_app_processor('library', $json->library);
|
91 |
+
} else{
|
92 |
+
$out = gmedia_ios_app_library_data();
|
93 |
+
}
|
94 |
}
|
95 |
|
96 |
+
} elseif('lostpassword' == $gmCore->_get('action')){
|
97 |
if(function_exists('wp_lostpassword_url')){
|
98 |
$url = wp_lostpassword_url();
|
99 |
} else{
|
121 |
$out['error'] = array('code' => 'nopassword', 'title' => 'No Password', 'message' => 'No Password');
|
122 |
break;
|
123 |
}
|
124 |
+
if(!($uid = username_exists($json->login))){
|
125 |
$out['error'] = array('code' => 'nouser', 'title' => 'No User', 'message' => 'No User');
|
126 |
break;
|
127 |
}
|
128 |
|
129 |
$args = array(
|
130 |
+
'username' => $json->login,
|
131 |
+
'password' => $json->password,
|
132 |
+
'nonce' => wp_create_nonce('auth_gmapp')
|
133 |
);
|
134 |
$out = $gmAuth->generate_auth_cookie($args);
|
135 |
|
143 |
*
|
144 |
* @return array
|
145 |
*/
|
146 |
+
function gmedia_ios_app_library_data($data = array('site', 'authors', 'filter', 'gmedia_category', 'gmedia_album', 'gmedia_tag')){
|
147 |
global $user_ID, $gmCore, $gmDB, $gmGallery;
|
148 |
|
149 |
$out = array();
|
150 |
|
151 |
+
if(get_option('permalink_structure')){
|
152 |
$ep = $gmGallery->options['endpoint'];
|
153 |
+
$share_link = home_url($ep . '/$2/$1');
|
154 |
} else{
|
155 |
$share_link = home_url('index.php?gmedia=$1&type=$2');
|
156 |
}
|
157 |
|
158 |
if(in_array('site', $data)){
|
159 |
$out['site'] = array(
|
160 |
+
'title' => get_bloginfo('name'),
|
161 |
+
'description' => get_bloginfo('description')
|
162 |
);
|
163 |
}
|
164 |
+
if(in_array('authors', $data)){
|
165 |
+
$out['authors'] = array(
|
166 |
+
'data' => array()
|
167 |
+
);
|
168 |
+
//if(current_user_can('gmedia_show_others_media') || current_user_can('gmedia_edit_others_media')){
|
169 |
+
$authors = get_users(array('who' => 'authors', 'orderby' => 'display_name'));
|
170 |
+
if($authors){
|
171 |
+
foreach($authors as $author){
|
172 |
+
$out['authors']['data'][] = array('id' => $author->ID, 'displayname' => $author->display_name, 'firstname' => $author->first_name, 'lastname' => $author->last_name);
|
173 |
+
}
|
174 |
+
}
|
175 |
+
/*} else{
|
176 |
+
$authordata = get_userdata( $user_ID );
|
177 |
+
$display_name = $authordata->display_name;
|
178 |
+
$first_name = $authordata->first_name;
|
179 |
+
$last_name = $authordata->last_name;
|
180 |
+
$out['authors']['data'][] = array('id' => $user_ID, 'displayname' => $display_name, 'firstname' => $first_name, 'lastname' => $last_name);
|
181 |
+
}*/
|
182 |
+
}
|
183 |
if(in_array('filter', $data)){
|
184 |
$out['filter'] = $gmDB->count_gmedia();
|
185 |
+
$out['filter'] = array_map('intval', $out['filter']);
|
186 |
}
|
187 |
if(in_array('gmedia_category', $data)){
|
188 |
/*
|
193 |
}
|
194 |
*/
|
195 |
$gmediaTerms = $gmDB->get_terms('gmedia_category', array('fields' => 'name=>all'));
|
196 |
+
$terms = array_merge(array('0' => __('Uncategorized', 'gmLang')), $gmGallery->options['taxonomies']['gmedia_category']);
|
197 |
$out['categories'] = array(
|
198 |
'list' => $terms,
|
199 |
'cap' => 0,
|
201 |
);
|
202 |
if(!empty($gmediaTerms)){
|
203 |
foreach($gmediaTerms as $name => $term){
|
204 |
+
unset($gmediaTerms[$name]->description, $gmediaTerms[$name]->global, $gmediaTerms[$name]->status);
|
|
|
|
|
|
|
|
|
205 |
$gmediaTerms[$name]->title = $terms[$name];
|
206 |
+
$gmediaTerms[$name]->sharelink = str_replace(array('$1', '$2'), array($term->term_id, 'category'), $share_link);
|
207 |
$gmediaTerms[$name]->cap = 0;
|
208 |
}
|
209 |
+
|
210 |
$out['categories']['data'] = array_values($gmediaTerms);
|
211 |
}
|
212 |
}
|
218 |
}
|
219 |
$gmediaTerms = $gmDB->get_terms('gmedia_album');
|
220 |
foreach($gmediaTerms as $i => $term){
|
221 |
+
$author_id = $term->global;
|
222 |
+
if($author_id) {
|
223 |
+
$authordata = get_userdata( $author_id );
|
224 |
+
$display_name = $authordata->display_name;
|
225 |
+
$first_name = $authordata->first_name;
|
226 |
+
$last_name = $authordata->last_name;
|
227 |
+
} else{
|
228 |
+
$display_name = __('Shared', 'gmLang');
|
229 |
+
$first_name = $last_name = '';
|
230 |
+
}
|
231 |
+
$gmediaTerms[$i]->user = array('id' => $author_id, 'displayname' => $display_name, 'firstname' => $first_name, 'lastname' => $last_name);
|
232 |
+
|
233 |
if($term->count){
|
234 |
$args = array('no_found_rows' => true, 'per_page' => 1, 'album__in' => array($term->term_id));
|
235 |
$termItems = $gmDB->get_gmedias($args);
|
237 |
}
|
238 |
$term_meta = $gmDB->get_metadata('gmedia_term', $term->term_id);
|
239 |
$term_meta = array_map('reset', $term_meta);
|
240 |
+
$term_meta = array_merge(array('orderby' => 'ID', 'order' => 'DESC'), $term_meta);
|
241 |
$gmediaTerms[$i]->meta = $term_meta;
|
242 |
+
$gmediaTerms[$i]->sharelink = str_replace(array('$1', '$2'), array($term->term_id, 'album'), $share_link);
|
243 |
$gmediaTerms[$i]->cap = (4 == $cap)? 4 : 0;
|
244 |
}
|
245 |
$out['albums'] = array(
|
255 |
}
|
256 |
$gmediaTerms = $gmDB->get_terms('gmedia_tag');
|
257 |
foreach($gmediaTerms as $i => $term){
|
258 |
+
unset($gmediaTerms[$i]->description, $gmediaTerms[$i]->global, $gmediaTerms[$i]->status);
|
259 |
+
$gmediaTerms[$i]->sharelink = str_replace(array('$1', '$2'), array($term->term_id, 'tag'), $share_link);
|
|
|
|
|
|
|
|
|
260 |
$gmediaTerms[$i]->cap = (4 == $cap)? 4 : 0;
|
261 |
}
|
262 |
$out['tags'] = array(
|
269 |
}
|
270 |
|
271 |
/**
|
272 |
+
* @param $action
|
273 |
+
* @param $data
|
274 |
+
*
|
275 |
+
* @param bool $filter
|
276 |
*
|
277 |
* @return array
|
278 |
*/
|
279 |
+
function gmedia_ios_app_processor($action, $data, $filter = true){
|
280 |
global $gmCore, $gmDB, $gmGallery;
|
281 |
|
282 |
$out = array();
|
|
|
|
|
|
|
|
|
283 |
|
284 |
$error = array();
|
285 |
$alert = array();
|
286 |
+
$data = (array)$data;
|
287 |
switch($action){
|
288 |
+
case 'do_library':
|
289 |
+
|
290 |
+
if(!current_user_can('edit_posts')){
|
291 |
+
$out['error'] = array('code' => 'nocapability', 'title' => "You can't do this", 'message' => 'You have no permission to do this operation');
|
292 |
+
|
293 |
+
return $out;
|
294 |
+
}
|
295 |
+
|
296 |
+
if(!isset($data['action'])){
|
297 |
+
return $out;
|
298 |
+
}
|
299 |
+
switch($data['action']){
|
300 |
+
|
301 |
+
case 'add_media':
|
302 |
+
usleep(10);
|
303 |
+
|
304 |
+
if(is_uploaded_file($_FILES['userfile']['tmp_name'])){
|
305 |
+
$file_name = $_FILES['userfile']['name'];
|
306 |
+
$file_tmp = $_FILES['userfile']['tmp_name'];
|
307 |
+
} else{
|
308 |
+
$error[] = __("Failed to move uploaded file.", 'gmLang');
|
309 |
+
break;
|
310 |
+
}
|
311 |
+
|
312 |
+
$fileinfo = $gmCore->fileinfo($file_name);
|
313 |
+
|
314 |
+
$gmedia = (array)$data['item'];
|
315 |
+
if(!current_user_can('gmedia_terms')){
|
316 |
+
unset($gmedia['categories'], $gmedia['albums'], $gmedia['tags']);
|
317 |
+
} else{
|
318 |
+
if(!empty($gmedia['categories'])){
|
319 |
+
$cat = $gmedia['categories'][0]->name;
|
320 |
+
$gmedia['terms']['gmedia_category'] = $cat;
|
321 |
+
}
|
322 |
+
if(empty($gmedia['albums'])){
|
323 |
+
$gmedia['terms']['gmedia_album'] = '';
|
324 |
+
} else{
|
325 |
+
$alb = isset($gmedia['albums'][0]->term_id)? $gmedia['albums'][0]->term_id : $gmedia['albums'][0]->name;
|
326 |
+
$gmedia['terms']['gmedia_album'] = $alb;
|
327 |
+
}
|
328 |
+
if(empty($gmedia['tags'])){
|
329 |
+
$gmedia['terms']['gmedia_tag'] = '';
|
330 |
+
} else{
|
331 |
+
$tags = array();
|
332 |
+
foreach($gmedia['tags'] as $tag){
|
333 |
+
$tags[] = isset($tag->term_id)? $tag->term_id : $tag->name;
|
334 |
+
}
|
335 |
+
$gmedia['terms']['gmedia_tag'] = implode(',', $tags);
|
336 |
+
}
|
337 |
+
unset($gmedia['categories'], $gmedia['albums'], $gmedia['tags']);
|
338 |
+
}
|
339 |
+
/*if(isset($gmedia['terms'])){
|
340 |
+
$post_data = array('terms' => $gmedia['terms']);
|
341 |
+
} else{
|
342 |
+
$post_data = array();
|
343 |
+
}*/
|
344 |
+
|
345 |
+
$return = $gmCore->gmedia_upload_handler($file_tmp, $fileinfo, 'multipart', $gmedia);
|
346 |
+
if(isset($return['error'])){
|
347 |
+
$error[] = $return['error']['message'];
|
348 |
+
} else{
|
349 |
+
$alert[] = $return['success']['message'];
|
350 |
+
}
|
351 |
+
break;
|
352 |
+
|
353 |
+
case 'update_media':
|
354 |
+
if(!current_user_can('gmedia_edit_media')){
|
355 |
+
$error[] = __('You are not allowed to edit media', 'gmLang');
|
356 |
+
break;
|
357 |
+
}
|
358 |
+
$gmedia = (array)$data['item'];
|
359 |
+
if(!empty($gmedia['ID'])){
|
360 |
+
$item = $gmDB->get_gmedia($gmedia['ID']);
|
361 |
+
if((int)$item->author != get_current_user_id()){
|
362 |
+
if(!current_user_can('gmedia_edit_others_media')){
|
363 |
+
$error[] = __('You are not allowed to edit others media', 'gmLang');
|
364 |
+
break;
|
365 |
+
}
|
366 |
+
}
|
367 |
+
|
368 |
+
$gmedia['modified'] = current_time('mysql');
|
369 |
+
$gmedia['mime_type'] = $item->mime_type;
|
370 |
+
$gmedia['gmuid'] = $item->gmuid;
|
371 |
+
|
372 |
+
if(!current_user_can('gmedia_terms')){
|
373 |
+
unset($gmedia['categories'], $gmedia['albums'], $gmedia['tags']);
|
374 |
+
} else{
|
375 |
+
if(!empty($gmedia['categories'])){
|
376 |
+
$cat = $gmedia['categories'][0]->name;
|
377 |
+
$gmedia['terms']['gmedia_category'] = $cat;
|
378 |
+
}
|
379 |
+
if(empty($gmedia['albums'])){
|
380 |
+
$gmedia['terms']['gmedia_album'] = '';
|
381 |
+
} else{
|
382 |
+
$alb = isset($gmedia['albums'][0]->term_id)? $gmedia['albums'][0]->term_id : $gmedia['albums'][0]->name;
|
383 |
+
$gmedia['terms']['gmedia_album'] = $alb;
|
384 |
+
}
|
385 |
+
if(empty($gmedia['tags'])){
|
386 |
+
$gmedia['terms']['gmedia_tag'] = '';
|
387 |
+
} else{
|
388 |
+
$tags = array();
|
389 |
+
foreach($gmedia['tags'] as $tag){
|
390 |
+
$tags[] = isset($tag->term_id)? $tag->term_id : $tag->name;
|
391 |
+
}
|
392 |
+
$gmedia['terms']['gmedia_tag'] = implode(',', $tags);
|
393 |
+
}
|
394 |
+
unset($gmedia['categories'], $gmedia['albums'], $gmedia['tags']);
|
395 |
+
}
|
396 |
+
|
397 |
+
$gmDB->insert_gmedia($gmedia);
|
398 |
+
}
|
399 |
+
break;
|
400 |
+
|
401 |
+
case 'assign_category':
|
402 |
+
if(!current_user_can('gmedia_terms')){
|
403 |
+
$error[] = __('You are not allowed to manage categories', 'gmLang');
|
404 |
+
break;
|
405 |
+
}
|
406 |
+
$term = $data['assign_category'][0];
|
407 |
+
if(false === $term){
|
408 |
+
break;
|
409 |
+
}
|
410 |
+
$count = count($data['selected']);
|
411 |
+
if('0' == $term){
|
412 |
+
foreach($data['selected'] as $item){
|
413 |
+
$gmDB->delete_gmedia_term_relationships($item, 'gmedia_category');
|
414 |
+
}
|
415 |
+
$alert[] = sprintf(__('%d items updated with "Uncategorized"', 'gmLang'), $count);
|
416 |
+
} else{
|
417 |
+
foreach($data['selected'] as $item){
|
418 |
+
$result = $gmDB->set_gmedia_terms($item, $term, 'gmedia_category', $append = 0);
|
419 |
+
if(is_wp_error($result)){
|
420 |
+
$error[] = $result;
|
421 |
+
$count--;
|
422 |
+
} elseif(!$result){
|
423 |
+
$count--;
|
424 |
+
}
|
425 |
+
}
|
426 |
+
if(isset($gmGallery->options['taxonomies']['gmedia_category'][$term])){
|
427 |
+
$cat_name = $gmGallery->options['taxonomies']['gmedia_category'][$term];
|
428 |
+
$alert[] = sprintf(__("Category `%s` assigned to %d images.", 'gmLang'), esc_html($cat_name), $count);
|
429 |
+
} else{
|
430 |
+
$error[] = sprintf(__("Category `%s` can't be assigned.", 'gmLang'), $term);
|
431 |
+
}
|
432 |
+
}
|
433 |
+
break;
|
434 |
+
|
435 |
+
case 'assign_album':
|
436 |
+
if(!current_user_can('gmedia_terms')){
|
437 |
+
$error[] = __('You are not allowed to manage albums', 'gmLang');
|
438 |
+
}
|
439 |
+
$term = $data['assign_album'][0];
|
440 |
+
$count = count($data['selected']);
|
441 |
+
if('0' == $term){
|
442 |
+
foreach($data['selected'] as $item){
|
443 |
+
$gmDB->delete_gmedia_term_relationships($item, 'gmedia_album');
|
444 |
+
}
|
445 |
+
$alert[] = sprintf(__('%d items updated with "No Album"', 'gmLang'), $count);
|
446 |
+
} else{
|
447 |
+
foreach($data['selected'] as $item){
|
448 |
+
$result = $gmDB->set_gmedia_terms($item, $term, 'gmedia_album', $append = 0);
|
449 |
+
if(is_wp_error($result)){
|
450 |
+
$error[] = $result;
|
451 |
+
$count--;
|
452 |
+
} elseif(!$result){
|
453 |
+
$count--;
|
454 |
+
}
|
455 |
+
}
|
456 |
+
if($gmCore->is_digit($term)){
|
457 |
+
$alb_name = $gmDB->get_alb_name($term);
|
458 |
+
} else{
|
459 |
+
$alb_name = $term;
|
460 |
+
}
|
461 |
+
$alert[] = sprintf(__('Album `%s` assigned to %d items', 'gmLang'), esc_html($alb_name), $count);
|
462 |
+
}
|
463 |
+
break;
|
464 |
+
|
465 |
+
case 'add_tags':
|
466 |
+
if(!current_user_can('gmedia_terms')){
|
467 |
+
$error[] = __('You are not allowed manage tags', 'gmLang');
|
468 |
+
break;
|
469 |
+
}
|
470 |
+
if(empty($data['add_tags'])){
|
471 |
+
$error[] = __('No tags provided', 'gmLang');
|
472 |
+
break;
|
473 |
+
}
|
474 |
+
$term = $data['add_tags'];
|
475 |
+
$count = count($data['selected']);
|
476 |
+
foreach($data['selected'] as $item){
|
477 |
+
$result = $gmDB->set_gmedia_terms($item, $term, 'gmedia_tag', $append = 1);
|
478 |
+
if(is_wp_error($result)){
|
479 |
+
$error[] = $result;
|
480 |
+
$count--;
|
481 |
+
} elseif(!$result){
|
482 |
+
$count--;
|
483 |
+
}
|
484 |
+
}
|
485 |
+
$alert[] = sprintf(__('%d tags added to %d items', 'gmLang'), count($term), $count);
|
486 |
+
break;
|
487 |
+
|
488 |
+
case 'delete_tags':
|
489 |
+
if(!current_user_can('gmedia_delete_others_media')){
|
490 |
+
$error[] = __('You are not allowed to delete others media', 'gmLang');
|
491 |
+
break;
|
492 |
+
}
|
493 |
+
if(empty($data['delete_tags'])){
|
494 |
+
$error[] = __('No tags provided', 'gmLang');
|
495 |
+
break;
|
496 |
+
}
|
497 |
+
$term = array_map('intval', $data['delete_tags']);
|
498 |
+
$count = count($data['selected']);
|
499 |
+
foreach($data['selected'] as $item){
|
500 |
+
$result = $gmDB->set_gmedia_terms($item, $term, 'gmedia_tag', $append = -1);
|
501 |
+
if(is_wp_error($result)){
|
502 |
+
$error[] = $result;
|
503 |
+
$count--;
|
504 |
+
} elseif(!$result){
|
505 |
+
$count--;
|
506 |
+
}
|
507 |
+
}
|
508 |
+
$alert[] = sprintf(__('%d tags deleted from %d items', 'gmLang'), count($term), $count);
|
509 |
+
break;
|
510 |
+
|
511 |
+
case 'delete':
|
512 |
+
global $user_ID;
|
513 |
+
if(!current_user_can('gmedia_delete_media')){
|
514 |
+
$error[] = __('You are not allowed to delete this post.');
|
515 |
+
break;
|
516 |
+
}
|
517 |
+
$count = count($data['selected']);
|
518 |
+
foreach($data['selected'] as $item){
|
519 |
+
$gm_item = $gmDB->get_gmedia($item);
|
520 |
+
if(((int)$gm_item->author != $user_ID) && !current_user_can('gmedia_delete_others_media')){
|
521 |
+
$error[] = "#{$item}: " . __('You are not allowed to delete media others media', 'gmLang');
|
522 |
+
continue;
|
523 |
+
}
|
524 |
+
if(!$gmDB->delete_gmedia((int)$item)){
|
525 |
+
$error[] = "#{$item}: " . __('Error in deleting...', 'gmLang');
|
526 |
+
$count--;
|
527 |
+
}
|
528 |
+
}
|
529 |
+
if($count){
|
530 |
+
$alert[] = sprintf(__('%d items deleted successfuly', 'gmLang'), $count);
|
531 |
+
}
|
532 |
+
break;
|
533 |
+
}
|
534 |
+
|
535 |
+
$filter = gmedia_ios_app_library_data(array('filter', 'gmedia_category', 'gmedia_album', 'gmedia_tag'));
|
536 |
+
$out = array_merge($out, $filter);
|
537 |
+
break;
|
538 |
+
|
539 |
case 'library':
|
540 |
+
if(get_option('permalink_structure')){
|
541 |
$ep = $gmGallery->options['endpoint'];
|
542 |
+
$share_link = home_url($ep . '/single/');
|
543 |
} else{
|
544 |
$share_link = home_url('index.php?type=single&gmedia=');
|
545 |
}
|
546 |
+
$filter = $filter? gmedia_ios_app_library_data(array('filter')) : array();
|
547 |
+
if(!is_user_logged_in()){
|
548 |
+
$data['status'] = array('public');
|
549 |
+
}
|
550 |
$gmedias = $gmDB->get_gmedias($data);
|
551 |
foreach($gmedias as $i => $item){
|
552 |
+
|
553 |
+
$author_id = $item->author;
|
554 |
+
$authordata = get_userdata( $author_id );
|
555 |
+
$display_name = $authordata->display_name;
|
556 |
+
$first_name = $authordata->first_name;
|
557 |
+
$last_name = $authordata->last_name;
|
558 |
+
$gmedias[$i]->user = array('id' => $author_id, 'displayname' => $display_name, 'firstname' => $first_name, 'last_name' => $last_name);
|
559 |
+
|
560 |
$meta = $gmDB->get_metadata('gmedia', $item->ID);
|
561 |
+
$_metadata = maybe_unserialize($meta['_metadata'][0]);
|
562 |
$type = explode('/', $item->mime_type);
|
563 |
$item_url = $gmCore->upload['url'] . '/' . $gmGallery->options['folder'][$type[0]] . '/' . $item->gmuid;
|
564 |
$gmedias[$i]->url = $item_url;
|
565 |
$terms = $gmDB->get_the_gmedia_terms($item->ID, 'gmedia_tag');
|
566 |
$tags = array();
|
567 |
if($terms){
|
568 |
+
$terms = array_values((array)$terms);
|
569 |
foreach($terms as $term){
|
570 |
$tags[] = array('term_id' => $term->term_id, 'name' => $term->name);
|
571 |
}
|
575 |
$terms = $gmDB->get_the_gmedia_terms($item->ID, 'gmedia_album');
|
576 |
$albums = array();
|
577 |
if($terms){
|
578 |
+
$terms = array_values((array)$terms);
|
579 |
foreach($terms as $term){
|
580 |
$albums[] = array('term_id' => $term->term_id, 'name' => $term->name, 'status' => $term->status);
|
581 |
}
|
586 |
$terms = $gmDB->get_the_gmedia_terms($item->ID, 'gmedia_category');
|
587 |
$categories = array();
|
588 |
if($terms){
|
589 |
+
$terms = array_values((array)$terms);
|
590 |
foreach($terms as $term){
|
591 |
$categories[] = array('term_id' => $term->term_id, 'name' => $term->name);
|
592 |
}
|
594 |
$gmedias[$i]->categories = $categories;
|
595 |
|
596 |
$gmedias[$i]->meta = array(
|
597 |
+
'thumb' => $_metadata['thumb'],
|
598 |
+
'web' => $_metadata['web'],
|
599 |
+
'original' => $_metadata['original']
|
600 |
);
|
601 |
$gmedias[$i]->meta['thumb']['link'] = "{$gmCore->upload['url']}/{$gmGallery->options['folder']['image_thumb']}/{$item->gmuid}";
|
602 |
$gmedias[$i]->meta['web']['link'] = "{$gmCore->upload['url']}/{$gmGallery->options['folder']['image']}/{$item->gmuid}";
|
603 |
$gmedias[$i]->meta['original']['link'] = "{$gmCore->upload['url']}/{$gmGallery->options['folder']['image_original']}/{$item->gmuid}";
|
604 |
+
$gmedias[$i]->meta['views'] = 0;
|
605 |
+
$gmedias[$i]->meta['likes'] = 0;
|
606 |
if(isset($meta['views'][0])){
|
607 |
$gmedias[$i]->meta['views'] = $meta['views'][0];
|
608 |
}
|
615 |
} else{
|
616 |
$gmedias[$i]->meta = array(
|
617 |
'thumb' => array(
|
618 |
+
'link' => $gmCore->gm_get_media_image($item, 'thumb'),
|
619 |
+
'width' => 300,
|
620 |
+
'height' => 300
|
621 |
)
|
622 |
);
|
623 |
+
if(!empty($_metadata)){
|
624 |
+
$gmedias[$i]->meta['data'] = $_metadata;
|
625 |
+
}
|
626 |
}
|
627 |
if(isset($meta['rating'][0])){
|
628 |
+
$gmedias[$i]->meta['rating'] = maybe_unserialize($meta['rating'][0]);
|
629 |
}
|
630 |
+
$gmedias[$i]->sharelink = $share_link . $item->ID;
|
631 |
}
|
632 |
+
$out = array_merge($filter, array(
|
633 |
'properties' => array(
|
634 |
+
'request' => isset($data['request'])? $data['request'] : null,
|
635 |
+
'total_pages' => $gmDB->pages,
|
636 |
+
'current_page' => $gmDB->openPage,
|
637 |
+
'items_count' => $gmDB->gmediaCount
|
638 |
+
),
|
639 |
+
'data' => $gmedias
|
640 |
+
));
|
641 |
break;
|
642 |
case 'delete_term':
|
643 |
$taxonomy = $data['taxonomy'];
|
644 |
if(!empty($data['items'])){
|
645 |
if(!current_user_can('delete_posts')){
|
646 |
+
$error[] = __('You are not allowed to delete this post.');
|
647 |
+
break;
|
648 |
}
|
649 |
$count = count($data['items']);
|
650 |
foreach($data['items'] as $item){
|
658 |
$alert[] = sprintf(__('%d items deleted successfuly', 'gmLang'), $count);
|
659 |
}
|
660 |
}
|
661 |
+
$out = gmedia_ios_app_library_data(array('filter', $taxonomy));
|
662 |
break;
|
663 |
case 'add_term':
|
664 |
+
if(!current_user_can('edit_posts')){
|
665 |
+
$out['error'] = array('code' => 'nocapability', 'title' => "You can't do this", 'message' => 'You have no permission to do this operation');
|
666 |
+
|
667 |
+
return $out;
|
668 |
+
}
|
669 |
+
$taxonomy = $data['taxonomy'];
|
670 |
+
$edit_term = isset($data['term_id'])? (int)$data['term_id'] : 0;
|
671 |
$term = $data;
|
672 |
if('gmedia_album' == $taxonomy){
|
673 |
do{
|
681 |
break;
|
682 |
}
|
683 |
if($edit_term && !$gmDB->term_exists($edit_term, $taxonomy)){
|
684 |
+
$error[] = __('A term with the id provided do not exists', 'gmLang');
|
685 |
$edit_term = false;
|
686 |
}
|
687 |
if(($term_id = $gmDB->term_exists($term['name'], $taxonomy))){
|
701 |
}
|
702 |
|
703 |
$term_meta = array(
|
704 |
+
'orderby' => $term['orderby'],
|
705 |
+
'order' => $term['order']
|
706 |
);
|
707 |
foreach($term_meta as $key => $value){
|
708 |
if($edit_term){
|
715 |
$alert[] = sprintf(__('Album `%s` successfuly saved', 'gmLang'), $term['name']);
|
716 |
|
717 |
} while(0);
|
718 |
+
$out = gmedia_ios_app_library_data(array('filter', $taxonomy));
|
719 |
+
} elseif('gmedia_tag' == $taxonomy){
|
|
|
720 |
if($edit_term){
|
721 |
$term['name'] = trim($term['name']);
|
722 |
$term['term_id'] = intval($term['term_id']);
|
723 |
+
if($term['name'] && !$gmCore->is_digit($term['name'])){
|
724 |
+
if(($term_id = $gmDB->term_exists($term['term_id'], $taxonomy))){
|
725 |
+
if(!$gmDB->term_exists($term['name'], $taxonomy)){
|
726 |
+
$term_id = $gmDB->update_term($term['term_id'], $taxonomy, $term);
|
727 |
+
if(is_wp_error($term_id)){
|
728 |
+
$error[] = $term_id->get_error_message();
|
729 |
+
} else{
|
730 |
+
$alert[] = sprintf(__("Tag %d successfuly updated", 'gmLang'), $term_id);
|
731 |
+
}
|
732 |
} else{
|
733 |
+
$error[] = __('A term with the name provided already exists', 'gmLang');
|
734 |
}
|
735 |
} else{
|
736 |
+
$error[] = __("A term with the id provided do not exists", 'gmLang');
|
737 |
}
|
738 |
} else{
|
739 |
+
$error[] = __("Term name can't be only digits or empty", 'gmLang');
|
740 |
}
|
741 |
} else{
|
742 |
$terms = array_filter(array_map('trim', explode(',', $term['name'])));
|
743 |
+
$terms_added = 0;
|
744 |
+
$terms_qty = count($terms);
|
745 |
foreach($terms as $term_name){
|
746 |
+
if($gmCore->is_digit($term_name)){
|
747 |
+
continue;
|
748 |
+
}
|
749 |
|
750 |
if(!$gmDB->term_exists($term_name, $taxonomy)){
|
751 |
$term_id = $gmDB->insert_term($term_name, $taxonomy);
|
759 |
}
|
760 |
}
|
761 |
}
|
762 |
+
$out = gmedia_ios_app_library_data(array('filter', $taxonomy));
|
763 |
}
|
764 |
|
765 |
break;
|
778 |
}
|
779 |
|
780 |
|
781 |
+
/**
|
782 |
+
* @param $data
|
783 |
+
*/
|
784 |
+
function gmedia_ios_app_counters($data){
|
785 |
+
global $gmDB;
|
786 |
+
|
787 |
+
$data = (array)$data;
|
788 |
+
$items_counter = array();
|
789 |
+
if(!empty($data['views'])) {
|
790 |
+
foreach ($data['views'] as $gmID) {
|
791 |
+
$items_counter[$gmID]['views'] = 1;
|
792 |
+
}
|
793 |
+
if (!empty($data['likes'])) {
|
794 |
+
foreach ($data['likes'] as $gmID) {
|
795 |
+
$items_counter[$gmID]['likes'] = 1;
|
796 |
+
}
|
797 |
+
}
|
798 |
+
}
|
799 |
+
|
800 |
+
if(!empty($items_counter)) {
|
801 |
+
foreach($items_counter as $gmID => $counters){
|
802 |
+
if (null === $gmDB->get_gmedia($gmID)) {
|
803 |
+
continue;
|
804 |
+
}
|
805 |
+
$counters['views'] = $gmDB->get_metadata('gmedia', $gmID, 'views', true);
|
806 |
+
$counters['views'] +=1;
|
807 |
+
$gmDB->update_metadata('gmedia', $gmID, 'views', $counters['views']);
|
808 |
+
if(isset($counters['likes'])) {
|
809 |
+
$counters['likes'] = $gmDB->get_metadata('gmedia', $gmID, 'likes', true);
|
810 |
+
$counters['likes'] +=1;
|
811 |
+
$gmDB->update_metadata('gmedia', $gmID, 'likes', $counters['likes']);
|
812 |
+
}
|
813 |
+
|
814 |
+
}
|
815 |
+
}
|
816 |
+
|
817 |
+
}
|
818 |
+
|
819 |
+
header('Content-Type: application/json; charset=' . get_option('blog_charset'), true);
|
820 |
echo json_encode($out);
|
821 |
|
822 |
/*if(isset($_GET['test'])){
|
admin/addmedia.php
CHANGED
@@ -19,7 +19,8 @@ function gmedia_AddMedia(){
|
|
19 |
<div class="btn-toolbar pull-left">
|
20 |
<div class="btn-group">
|
21 |
<a class="btn btn<?php echo ($tab == 'upload')? '-primary active' : '-default'; ?>" href="<?php echo $gmCore->get_admin_url(array(), array('tab'));; ?>"><?php _e('Upload Files', 'gmLang'); ?></a>
|
22 |
-
|
|
|
23 |
</div>
|
24 |
</div>
|
25 |
<?php } ?>
|
@@ -56,7 +57,13 @@ function gmedia_AddMedia(){
|
|
56 |
|
57 |
|
58 |
function gmedia_upload_files(){
|
59 |
-
global $gmCore, $gmDB, $gmProcessor, $gmGallery;
|
|
|
|
|
|
|
|
|
|
|
|
|
60 |
|
61 |
$maxupsize = wp_max_upload_size();
|
62 |
$maxupsize = floor($maxupsize * 0.99);
|
@@ -66,18 +73,38 @@ function gmedia_upload_files(){
|
|
66 |
|
67 |
?>
|
68 |
<form class="row" id="gmUpload" name="upload_form" method="POST" accept-charset="utf-8" onsubmit="return false;">
|
69 |
-
|
70 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
|
|
|
81 |
<div class="form-group">
|
82 |
<?php
|
83 |
$term_type = 'gmedia_category';
|
@@ -90,22 +117,23 @@ function gmedia_upload_files(){
|
|
90 |
}
|
91 |
}
|
92 |
?>
|
93 |
-
<label><?php _e('Assign Category', 'gmLang'); ?>
|
|
|
|
|
94 |
<select id="gmedia_category" name="terms[gmedia_category]" class="form-control input-sm">
|
95 |
<option value=""><?php _e('Uncategorized', 'gmLang'); ?></option>
|
96 |
<?php echo $terms_category; ?>
|
97 |
</select>
|
98 |
</div>
|
99 |
-
|
100 |
<div class="form-group">
|
101 |
<?php
|
102 |
$term_type = 'gmedia_album';
|
103 |
-
$gm_terms = $gmDB->get_terms($term_type);
|
104 |
|
105 |
$terms_album = '';
|
106 |
if(count($gm_terms)){
|
107 |
foreach($gm_terms as $term){
|
108 |
-
$terms_album .= '<option value="' . esc_attr($term->
|
109 |
}
|
110 |
}
|
111 |
?>
|
@@ -115,148 +143,180 @@ function gmedia_upload_files(){
|
|
115 |
<?php echo $terms_album; ?>
|
116 |
</select>
|
117 |
</div>
|
118 |
-
|
119 |
<div class="form-group">
|
120 |
<?php
|
121 |
$term_type = 'gmedia_tag';
|
122 |
$gm_terms = $gmDB->get_terms($term_type, array('fields' => 'names'));
|
123 |
?>
|
124 |
<label><?php _e('Add Tags', 'gmLang'); ?> </label>
|
125 |
-
<input id="combobox_gmedia_tag" name="terms[gmedia_tag]" class="form-control input-sm" value="" placeholder="<?php _e('Add Tags...', 'gmLang'); ?>"
|
126 |
</div>
|
|
|
|
|
|
|
127 |
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
$('#combobox_gmedia_tag').selectize({
|
140 |
-
delimiter: ',',
|
141 |
-
maxItems: null,
|
142 |
-
createOnBlur: true,
|
143 |
-
openOnFocus: false,
|
144 |
-
persist: false,
|
145 |
-
options: items,
|
146 |
-
labelField: 'item',
|
147 |
-
valueField: 'item',
|
148 |
-
hideSelected: true,
|
149 |
-
create: function(input){
|
150 |
-
return {
|
151 |
-
item: input
|
152 |
-
}
|
153 |
-
}
|
154 |
-
});
|
155 |
-
$('#uploader_runtime select').change(function(){
|
156 |
-
if('html4' == $(this).val()){
|
157 |
-
$('#uploader_chunking').addClass('hide');
|
158 |
-
$('#uploader_urlstream_upload').addClass('hide');
|
159 |
-
} else {
|
160 |
-
$('#uploader_chunking').removeClass('hide');
|
161 |
-
$('#uploader_urlstream_upload').removeClass('hide');
|
162 |
-
}
|
163 |
-
});
|
164 |
});
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
runtimes: '<?php echo $gm_screen_options['uploader_runtime']; ?>',
|
175 |
-
<?php } ?>
|
176 |
-
url: '<?php echo wp_nonce_url($gmCore->gmedia_url . '/admin/upload.php', 'grandMedia' ); ?>',
|
177 |
-
<?php if(('true' == $gm_screen_options['uploader_urlstream_upload']) && ('html4' != $gm_screen_options['uploader_runtime'])){ ?>
|
178 |
-
urlstream_upload: true,
|
179 |
-
multipart: false,
|
180 |
-
<?php } else{ ?>
|
181 |
-
multipart: true,
|
182 |
-
<?php } ?>
|
183 |
-
multipart_params: { params: ''},
|
184 |
-
<?php if('true' == $gm_screen_options['uploader_chunking'] && ('html4' != $gm_screen_options['uploader_runtime'])){ ?>
|
185 |
-
max_file_size: '2000Mb',
|
186 |
-
chunk_size: 200000<?php //echo min($maxupsize, $gm_screen_options['uploader_chunk_size']*1024*1024); ?>,
|
187 |
-
<?php } else{ ?>
|
188 |
-
max_file_size: <?php echo $maxupsize; ?>,
|
189 |
-
<?php } ?>
|
190 |
-
max_retries: 2,
|
191 |
-
unique_names: false,
|
192 |
-
rename: true,
|
193 |
-
sortable: true,
|
194 |
-
dragdrop: true,
|
195 |
-
views: {
|
196 |
-
list: true,
|
197 |
-
thumbs: true,
|
198 |
-
active: 'thumbs'
|
199 |
-
},
|
200 |
-
filters: [
|
201 |
-
{title: "All files", extensions: "*"}
|
202 |
-
],
|
203 |
-
flash_swf_url: '<?php echo $gmCore->gmedia_url; ?>/assets/plupload/Moxie.swf',
|
204 |
-
silverlight_xap_url: '<?php echo $gmCore->gmedia_url; ?>/assets/plupload/Moxie.xap'
|
205 |
-
|
206 |
-
});
|
207 |
-
var closebtn = '<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>';
|
208 |
-
var uploader = $("#pluploadUploader").plupload('getUploader');
|
209 |
-
uploader.bind('StateChanged', function(up){
|
210 |
-
if(up.state == plupload.STARTED){
|
211 |
-
up.settings.multipart_params = { params: jQuery('#uploader_multipart_params :input').serialize() };
|
212 |
-
}
|
213 |
-
console.log('[StateChanged]', up.state, up.settings.multipart_params);
|
214 |
-
});
|
215 |
-
uploader.bind('ChunkUploaded', function(up, file, info){
|
216 |
-
console.log('[ChunkUploaded] File:', file, "Info:", info);
|
217 |
-
var response = jQuery.parseJSON(info.response);
|
218 |
-
if(response && response.error){
|
219 |
-
up.stop();
|
220 |
-
file.status = plupload.FAILED;
|
221 |
-
jQuery('<div/>').addClass('alert alert-danger alert-dismissable').html(closebtn + '<strong>' + response.id + ':</strong> ' + response.error.message).appendTo('#gmedia-msg-panel');
|
222 |
-
console.log(response.error);
|
223 |
-
up.trigger('QueueChanged StateChanged');
|
224 |
-
up.trigger('UploadProgress', file);
|
225 |
-
up.start();
|
226 |
-
}
|
227 |
-
});
|
228 |
-
uploader.bind('FileUploaded', function(up, file, info){
|
229 |
-
console.log('[FileUploaded] File:', file, "Info:", info);
|
230 |
-
var response = jQuery.parseJSON(info.response);
|
231 |
-
if(response && response.error){
|
232 |
-
file.status = plupload.FAILED;
|
233 |
-
jQuery('<div/>').addClass('alert alert-danger alert-dismissable').html(closebtn + '<strong>' + response.id + ':</strong> ' + response.error.message).appendTo('#gmedia-msg-panel');
|
234 |
-
console.log(response.error);
|
235 |
}
|
236 |
-
}
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
}
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
249 |
|
250 |
});
|
251 |
-
|
252 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
253 |
</form>
|
254 |
<?php
|
255 |
}
|
256 |
|
257 |
|
258 |
function gmedia_import(){
|
259 |
-
global $wpdb, $gmCore, $gmGallery, $gmDB;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
260 |
$gmediaURL = plugins_url(GMEDIA_FOLDER);
|
261 |
?>
|
262 |
<form class="row" id="import_form" name="import_form" target="import_window" action="<?php echo $gmCore->gmedia_url; ?>/admin/import.php" method="POST" accept-charset="utf-8" style="padding:20px 0 10px;">
|
@@ -264,80 +324,94 @@ function gmedia_import(){
|
|
264 |
<fieldset id="import_params" class="import-params">
|
265 |
<?php wp_nonce_field('GmediaImport'); ?>
|
266 |
<input type="hidden" id="import-action" name="import" value=""/>
|
267 |
-
<div class="form-group">
|
268 |
-
<?php
|
269 |
-
$term_type = 'gmedia_category';
|
270 |
-
$gm_terms = $gmGallery->options['taxonomies'][$term_type];
|
271 |
-
|
272 |
-
$terms_category = '';
|
273 |
-
if(count($gm_terms)){
|
274 |
-
foreach($gm_terms as $term_name => $term_title){
|
275 |
-
$terms_category .= '<option value="' . $term_name . '">' . esc_html($term_title) . '</option>' . "\n";
|
276 |
-
}
|
277 |
-
}
|
278 |
-
?>
|
279 |
-
<label><?php _e('Assign Category', 'gmLang'); ?> <small><?php _e('(for images only)') ?></small></label>
|
280 |
-
<select id="gmedia_category" name="terms[gmedia_category]" class="form-control input-sm">
|
281 |
-
<option value=""><?php _e('Uncategorized', 'gmLang'); ?></option>
|
282 |
-
<?php echo $terms_category; ?>
|
283 |
-
</select>
|
284 |
-
</div>
|
285 |
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
|
|
290 |
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
|
|
295 |
}
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
<
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
?>
|
310 |
-
<label><?php _e('Add Tags', 'gmLang'); ?> </label>
|
311 |
-
<input id="combobox_gmedia_tag" name="terms[gmedia_tag]" class="form-control input-sm" value="" placeholder="<?php _e('Add Tags...', 'gmLang'); ?>" />
|
312 |
-
</div>
|
313 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
314 |
<script type="text/javascript">
|
315 |
jQuery(function($){
|
|
|
316 |
$('#combobox_gmedia_album').selectize({
|
|
|
317 |
create: true,
|
318 |
createOnBlur: true,
|
|
|
|
|
|
|
319 |
persist: false
|
320 |
});
|
321 |
var gm_terms = <?php echo json_encode($gm_terms); ?>;
|
322 |
var items = gm_terms.map(function(x){
|
323 |
-
|
324 |
-
|
325 |
$('#combobox_gmedia_tag').selectize({
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
326 |
delimiter: ',',
|
327 |
maxItems: null,
|
328 |
-
createOnBlur: true,
|
329 |
openOnFocus: false,
|
330 |
persist: false,
|
331 |
options: items,
|
332 |
labelField: 'item',
|
333 |
valueField: 'item',
|
334 |
-
hideSelected: true
|
335 |
-
create: function(input){
|
336 |
-
return {
|
337 |
-
item: input
|
338 |
-
}
|
339 |
-
}
|
340 |
});
|
|
|
341 |
});
|
342 |
</script>
|
343 |
</fieldset>
|
@@ -363,10 +437,12 @@ function gmedia_import(){
|
|
363 |
|
364 |
<div class="tab-inside">
|
365 |
<h5><?php _e('Sever folders') ?>:</h5>
|
|
|
366 |
<div id="file_browser"></div>
|
367 |
</div>
|
368 |
<div class="tab-footer">
|
369 |
-
<div class="checkbox pull-left"><label><input type="checkbox" name="delete_source" value="1"/> <?php _e('delete source files after importing')
|
|
|
370 |
<button class="pull-right btn btn-info gmedia-import" type="button" name="import-folder"><?php _e('Import folder', 'gmLang'); ?></button>
|
371 |
</div>
|
372 |
<script type="text/javascript">
|
@@ -390,23 +466,26 @@ function gmedia_import(){
|
|
390 |
$import['flagallery'] = $wpdb->get_results("SELECT gid, title, galdesc FROM `{$wpdb->prefix}flag_gallery`");
|
391 |
if(!empty($import['flagallery'])){
|
392 |
?>
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
|
|
|
|
401 |
echo '<div class="help-block"> ' . stripslashes($gallery->galdesc) . '</div>';
|
402 |
-
} */
|
403 |
-
|
404 |
-
|
|
|
|
|
|
|
|
|
|
|
405 |
</div>
|
406 |
-
</div>
|
407 |
-
<div class="tab-footer">
|
408 |
-
<button class="pull-right btn btn-info gmedia-import" type="button" name="import-flagallery"><?php _e('Import', 'gmLang'); ?></button>
|
409 |
-
</div>
|
410 |
<?php } else{ ?>
|
411 |
<p class="tab-inside"><?php _e('There are no created galleries in this plugin.', 'gmLang') ?></p>
|
412 |
<?php } ?>
|
@@ -419,23 +498,26 @@ function gmedia_import(){
|
|
419 |
$import['nextgen'] = $wpdb->get_results("SELECT gid, title, galdesc FROM `{$wpdb->prefix}ngg_gallery`");
|
420 |
if(!empty($import['nextgen'])){
|
421 |
?>
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
|
|
|
|
430 |
echo '<div class="help-block"> ' . stripslashes($gallery->galdesc) . '</div>';
|
431 |
-
} */
|
432 |
-
|
433 |
-
|
|
|
|
|
|
|
|
|
|
|
434 |
</div>
|
435 |
-
</div>
|
436 |
-
<div class="tab-footer">
|
437 |
-
<button class="pull-right btn btn-info gmedia-import" type="button" name="import-nextgen"><?php _e('Import', 'gmLang'); ?></button>
|
438 |
-
</div>
|
439 |
<?php } else{ ?>
|
440 |
<p class="tab-inside"><?php _e('There are no created galleries in this plugin.', 'gmLang') ?></p>
|
441 |
<?php } ?>
|
@@ -464,9 +546,10 @@ function gmedia_import(){
|
|
464 |
<iframe name="import_window" id="import_window" src="about:blank" width="100%" height="300" onload="gmedia_import_done()"></iframe>
|
465 |
</div>
|
466 |
<div class="modal-footer">
|
467 |
-
<button type="button" id="import-done" class="btn btn-primary" data-dismiss="modal" data-complete-text="<?php _e(
|
468 |
</div>
|
469 |
-
</div
|
|
|
470 |
</div>
|
471 |
</div>
|
472 |
<?php
|
19 |
<div class="btn-toolbar pull-left">
|
20 |
<div class="btn-group">
|
21 |
<a class="btn btn<?php echo ($tab == 'upload')? '-primary active' : '-default'; ?>" href="<?php echo $gmCore->get_admin_url(array(), array('tab'));; ?>"><?php _e('Upload Files', 'gmLang'); ?></a>
|
22 |
+
<?php if($gmCore->caps['gmedia_import']){ ?>
|
23 |
+
<a class="btn btn<?php echo ($tab == 'import')? '-primary active' : '-default'; ?>" href="<?php echo $gmCore->get_admin_url(array('tab' => 'import')); ?>"><?php _e('Import', 'gmLang'); ?></a><?php } ?>
|
24 |
</div>
|
25 |
</div>
|
26 |
<?php } ?>
|
57 |
|
58 |
|
59 |
function gmedia_upload_files(){
|
60 |
+
global $gmCore, $gmDB, $gmProcessor, $gmGallery, $user_ID;
|
61 |
+
|
62 |
+
if(!$gmCore->caps['gmedia_upload']){
|
63 |
+
_e('You do not have permissions to upload media', 'gmLang');
|
64 |
+
|
65 |
+
return;
|
66 |
+
}
|
67 |
|
68 |
$maxupsize = wp_max_upload_size();
|
69 |
$maxupsize = floor($maxupsize * 0.99);
|
73 |
|
74 |
?>
|
75 |
<form class="row" id="gmUpload" name="upload_form" method="POST" accept-charset="utf-8" onsubmit="return false;">
|
76 |
+
<div class="col-md-4" id="uploader_multipart_params">
|
77 |
+
<br/>
|
78 |
+
<?php if('false' == $gm_screen_options['uploader_chunking'] || ('html4' == $gm_screen_options['uploader_runtime'])){ ?>
|
79 |
+
<p class="clearfix text-right"><span class="label label-default"><?php echo __('Maximum file size', 'gmLang') . ": {$maxupsize_mb}Mb"; ?></span></p>
|
80 |
+
<?php } else{ ?>
|
81 |
+
<p class="clearfix text-right hidden">
|
82 |
+
<span class="label label-default"><?php echo __('Maximum $_POST size', 'gmLang') . ": {$maxupsize_mb}Mb"; ?></span>
|
83 |
+
<span class="label label-default"><?php echo __('Chunk size', 'gmLang') . ': ' . min($maxupsize_mb, $gm_screen_options['uploader_chunk_size']) . 'Mb'; ?></span>
|
84 |
+
</p>
|
85 |
+
<?php } ?>
|
86 |
|
87 |
+
<div class="form-group">
|
88 |
+
<label><?php _e('Title', 'gmLang'); ?></label>
|
89 |
+
<select name="set_title" class="form-control input-sm">
|
90 |
+
<option value="exif"><?php _e('EXIF or File Name', 'gmLang'); ?></option>
|
91 |
+
<option value="filename"><?php _e('File Name', 'gmLang'); ?></option>
|
92 |
+
<option value="empty"><?php _e('Empty', 'gmLang'); ?></option>
|
93 |
+
</select>
|
94 |
+
</div>
|
95 |
+
<div class="form-group">
|
96 |
+
<label><?php _e('Status', 'gmLang'); ?></label>
|
97 |
+
<select name="set_status" class="form-control input-sm">
|
98 |
+
<option value="inherit"><?php _e('Same as Album or Public', 'gmLang'); ?></option>
|
99 |
+
<option value="public"><?php _e('Public', 'gmLang'); ?></option>
|
100 |
+
<option value="private"><?php _e('Private', 'gmLang'); ?></option>
|
101 |
+
<option value="draft"><?php _e('Draft', 'gmLang'); ?></option>
|
102 |
+
</select>
|
103 |
+
</div>
|
104 |
+
|
105 |
+
<hr />
|
106 |
|
107 |
+
<?php if($gmCore->caps['gmedia_terms']){ ?>
|
108 |
<div class="form-group">
|
109 |
<?php
|
110 |
$term_type = 'gmedia_category';
|
117 |
}
|
118 |
}
|
119 |
?>
|
120 |
+
<label><?php _e('Assign Category', 'gmLang'); ?>
|
121 |
+
<small><?php _e('(for images only)') ?></small>
|
122 |
+
</label>
|
123 |
<select id="gmedia_category" name="terms[gmedia_category]" class="form-control input-sm">
|
124 |
<option value=""><?php _e('Uncategorized', 'gmLang'); ?></option>
|
125 |
<?php echo $terms_category; ?>
|
126 |
</select>
|
127 |
</div>
|
|
|
128 |
<div class="form-group">
|
129 |
<?php
|
130 |
$term_type = 'gmedia_album';
|
131 |
+
$gm_terms = $gmDB->get_terms($term_type, array('global' => array(0, $user_ID), 'orderby' => 'global_desc_name'));
|
132 |
|
133 |
$terms_album = '';
|
134 |
if(count($gm_terms)){
|
135 |
foreach($gm_terms as $term){
|
136 |
+
$terms_album .= '<option value="' . esc_attr($term->term_id) . '">' . esc_html($term->name) . ($term->global? '' : __(' (shared)', 'gmLang')) . ('public' == $term->status? '' : " [{$term->status}]") . '</option>' . "\n";
|
137 |
}
|
138 |
}
|
139 |
?>
|
143 |
<?php echo $terms_album; ?>
|
144 |
</select>
|
145 |
</div>
|
|
|
146 |
<div class="form-group">
|
147 |
<?php
|
148 |
$term_type = 'gmedia_tag';
|
149 |
$gm_terms = $gmDB->get_terms($term_type, array('fields' => 'names'));
|
150 |
?>
|
151 |
<label><?php _e('Add Tags', 'gmLang'); ?> </label>
|
152 |
+
<input id="combobox_gmedia_tag" name="terms[gmedia_tag]" class="form-control input-sm" value="" placeholder="<?php _e('Add Tags...', 'gmLang'); ?>"/>
|
153 |
</div>
|
154 |
+
<?php } else{ ?>
|
155 |
+
<p><?php _e('You are not allowed to assign terms', 'gmLang') ?></p>
|
156 |
+
<?php } ?>
|
157 |
|
158 |
+
<script type="text/javascript">
|
159 |
+
jQuery(function($){
|
160 |
+
<?php if($gmCore->caps['gmedia_terms']){ ?>
|
161 |
+
$('#combobox_gmedia_album').selectize({
|
162 |
+
<?php if($gmCore->caps['gmedia_album_manage']){ ?>
|
163 |
+
create: true,
|
164 |
+
createOnBlur: true,
|
165 |
+
<?php } else{ ?>
|
166 |
+
create: false,
|
167 |
+
<?php } ?>
|
168 |
+
persist: false
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
169 |
});
|
170 |
+
var gm_terms = <?php echo json_encode($gm_terms); ?>;
|
171 |
+
var items = gm_terms.map(function(x){
|
172 |
+
return { item: x };
|
173 |
+
});
|
174 |
+
$('#combobox_gmedia_tag').selectize({
|
175 |
+
<?php if($gmCore->caps['gmedia_tag_manage']){ ?>
|
176 |
+
create: function(input){
|
177 |
+
return {
|
178 |
+
item: input
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
}
|
180 |
+
},
|
181 |
+
createOnBlur: true,
|
182 |
+
<?php } else{ ?>
|
183 |
+
create: false,
|
184 |
+
<?php } ?>
|
185 |
+
delimiter: ',',
|
186 |
+
maxItems: null,
|
187 |
+
openOnFocus: false,
|
188 |
+
persist: false,
|
189 |
+
options: items,
|
190 |
+
labelField: 'item',
|
191 |
+
valueField: 'item',
|
192 |
+
hideSelected: true
|
193 |
+
});
|
194 |
+
<?php } ?>
|
195 |
+
$('#uploader_runtime select').change(function(){
|
196 |
+
if('html4' == $(this).val()){
|
197 |
+
$('#uploader_chunking').addClass('hide');
|
198 |
+
$('#uploader_urlstream_upload').addClass('hide');
|
199 |
+
} else{
|
200 |
+
$('#uploader_chunking').removeClass('hide');
|
201 |
+
$('#uploader_urlstream_upload').removeClass('hide');
|
202 |
+
}
|
203 |
+
});
|
204 |
+
});
|
205 |
+
</script>
|
206 |
+
</div>
|
207 |
+
<div class="col-md-8" id="pluploadUploader">
|
208 |
+
<p><?php _e("You browser doesn't have Flash or HTML5 support. Check also if page have no JavaScript errors.", 'gmLang'); ?></p>
|
209 |
+
<?php
|
210 |
+
$mime_types = get_allowed_mime_types($user_ID);
|
211 |
+
$type_ext = array();
|
212 |
+
$filters = array();
|
213 |
+
foreach($mime_types as $ext => $mime){
|
214 |
+
$type = strtok($mime, '/');
|
215 |
+
$type_ext[$type][] = $ext;
|
216 |
+
}
|
217 |
+
foreach($type_ext as $filter => $ext){
|
218 |
+
$filters[] = array(
|
219 |
+
'title' => $filter,
|
220 |
+
'extensions' => str_replace('|', ',', implode(',', $ext))
|
221 |
+
);
|
222 |
+
}
|
223 |
+
?>
|
224 |
+
<script type="text/javascript">
|
225 |
+
// Convert divs to queue widgets when the DOM is ready
|
226 |
+
jQuery(function($){
|
227 |
+
$("#pluploadUploader").plupload({
|
228 |
+
<?php if('auto' != $gm_screen_options['uploader_runtime']){ ?>
|
229 |
+
runtimes: '<?php echo $gm_screen_options['uploader_runtime']; ?>',
|
230 |
+
<?php } ?>
|
231 |
+
url: '<?php echo wp_nonce_url($gmCore->gmedia_url . '/admin/upload.php', 'grandMedia' ); ?>',
|
232 |
+
<?php if(('true' == $gm_screen_options['uploader_urlstream_upload']) && ('html4' != $gm_screen_options['uploader_runtime'])){ ?>
|
233 |
+
urlstream_upload: true,
|
234 |
+
multipart: false,
|
235 |
+
<?php } else{ ?>
|
236 |
+
multipart: true,
|
237 |
+
<?php } ?>
|
238 |
+
multipart_params: { params: ''},
|
239 |
+
<?php if('true' == $gm_screen_options['uploader_chunking'] && ('html4' != $gm_screen_options['uploader_runtime'])){ ?>
|
240 |
+
max_file_size: '2000Mb',
|
241 |
+
chunk_size: 200000<?php //echo min($maxupsize, $gm_screen_options['uploader_chunk_size']*1024*1024); ?>,
|
242 |
+
<?php } else{ ?>
|
243 |
+
max_file_size: <?php echo $maxupsize; ?>,
|
244 |
+
<?php } ?>
|
245 |
+
max_retries: 2,
|
246 |
+
unique_names: false,
|
247 |
+
rename: true,
|
248 |
+
sortable: true,
|
249 |
+
dragdrop: true,
|
250 |
+
views: {
|
251 |
+
list: true,
|
252 |
+
thumbs: true,
|
253 |
+
active: 'thumbs'
|
254 |
+
},
|
255 |
+
filters: <?php echo json_encode($filters); ?>,
|
256 |
+
flash_swf_url: '<?php echo $gmCore->gmedia_url; ?>/assets/plupload/Moxie.swf',
|
257 |
+
silverlight_xap_url: '<?php echo $gmCore->gmedia_url; ?>/assets/plupload/Moxie.xap'
|
258 |
|
259 |
});
|
260 |
+
var closebtn = '<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>';
|
261 |
+
var uploader = $("#pluploadUploader").plupload('getUploader');
|
262 |
+
uploader.bind('StateChanged', function(up){
|
263 |
+
if(up.state == plupload.STARTED){
|
264 |
+
up.settings.multipart_params = { params: jQuery('#uploader_multipart_params :input').serialize() };
|
265 |
+
}
|
266 |
+
console.log('[StateChanged]', up.state, up.settings.multipart_params);
|
267 |
+
});
|
268 |
+
uploader.bind('ChunkUploaded', function(up, file, info){
|
269 |
+
console.log('[ChunkUploaded] File:', file, "Info:", info);
|
270 |
+
var response = jQuery.parseJSON(info.response);
|
271 |
+
if(response && response.error){
|
272 |
+
up.stop();
|
273 |
+
file.status = plupload.FAILED;
|
274 |
+
jQuery('<div/>').addClass('alert alert-danger alert-dismissable').html(closebtn + '<strong>' + response.id + ':</strong> ' + response.error.message).appendTo('#gmedia-msg-panel');
|
275 |
+
console.log(response.error);
|
276 |
+
up.trigger('QueueChanged StateChanged');
|
277 |
+
up.trigger('UploadProgress', file);
|
278 |
+
up.start();
|
279 |
+
}
|
280 |
+
});
|
281 |
+
uploader.bind('FileUploaded', function(up, file, info){
|
282 |
+
console.log('[FileUploaded] File:', file, "Info:", info);
|
283 |
+
var response = jQuery.parseJSON(info.response);
|
284 |
+
if(response && response.error){
|
285 |
+
file.status = plupload.FAILED;
|
286 |
+
jQuery('<div/>').addClass('alert alert-danger alert-dismissable').html(closebtn + '<strong>' + response.id + ':</strong> ' + response.error.message).appendTo('#gmedia-msg-panel');
|
287 |
+
console.log(response.error);
|
288 |
+
}
|
289 |
+
});
|
290 |
+
uploader.bind('UploadProgress', function(up, file){
|
291 |
+
var percent = uploader.total.percent;
|
292 |
+
$('#total-progress-info .progress-bar').css('width', percent + "%").attr('aria-valuenow', percent);
|
293 |
+
});
|
294 |
+
uploader.bind('Error', function(up, args){
|
295 |
+
console.log('[Error] ', args);
|
296 |
+
jQuery('<div/>').addClass('alert alert-danger alert-dismissable').html(closebtn + '<strong>' + args.file.name + ':</strong> ' + args.message + ' ' + args.status).appendTo('#gmedia-msg-panel');
|
297 |
+
});
|
298 |
+
uploader.bind('UploadComplete', function(up, files){
|
299 |
+
console.log('[UploadComplete]', files);
|
300 |
+
$('#total-progress-info .progress-bar').css('width', '0').attr('aria-valuenow', '0');
|
301 |
+
});
|
302 |
+
|
303 |
+
});
|
304 |
+
</script>
|
305 |
+
</div>
|
306 |
</form>
|
307 |
<?php
|
308 |
}
|
309 |
|
310 |
|
311 |
function gmedia_import(){
|
312 |
+
global $wpdb, $gmCore, $gmGallery, $gmDB, $user_ID;
|
313 |
+
|
314 |
+
if(!$gmCore->caps['gmedia_import']){
|
315 |
+
_e('You do not have permissions to import media', 'gmLang');
|
316 |
+
|
317 |
+
return;
|
318 |
+
}
|
319 |
+
|
320 |
$gmediaURL = plugins_url(GMEDIA_FOLDER);
|
321 |
?>
|
322 |
<form class="row" id="import_form" name="import_form" target="import_window" action="<?php echo $gmCore->gmedia_url; ?>/admin/import.php" method="POST" accept-charset="utf-8" style="padding:20px 0 10px;">
|
324 |
<fieldset id="import_params" class="import-params">
|
325 |
<?php wp_nonce_field('GmediaImport'); ?>
|
326 |
<input type="hidden" id="import-action" name="import" value=""/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
327 |
|
328 |
+
<?php if($gmCore->caps['gmedia_terms']){ ?>
|
329 |
+
<div class="form-group">
|
330 |
+
<?php
|
331 |
+
$term_type = 'gmedia_category';
|
332 |
+
$gm_terms = $gmGallery->options['taxonomies'][$term_type];
|
333 |
|
334 |
+
$terms_category = '';
|
335 |
+
if(count($gm_terms)){
|
336 |
+
foreach($gm_terms as $term_name => $term_title){
|
337 |
+
$terms_category .= '<option value="' . $term_name . '">' . esc_html($term_title) . '</option>' . "\n";
|
338 |
+
}
|
339 |
}
|
340 |
+
?>
|
341 |
+
<label><?php _e('Assign Category', 'gmLang'); ?>
|
342 |
+
<small><?php _e('(for images only)') ?></small>
|
343 |
+
</label>
|
344 |
+
<select id="gmedia_category" name="terms[gmedia_category]" class="form-control input-sm">
|
345 |
+
<option value=""><?php _e('Uncategorized', 'gmLang'); ?></option>
|
346 |
+
<?php echo $terms_category; ?>
|
347 |
+
</select>
|
348 |
+
</div>
|
349 |
+
<div class="form-group">
|
350 |
+
<?php
|
351 |
+
$term_type = 'gmedia_album';
|
352 |
+
$gm_terms = $gmDB->get_terms($term_type, array('global' => array(0, $user_ID), 'orderby' => 'global_desc_name'));
|
|
|
|
|
|
|
|
|
353 |
|
354 |
+
$terms_album = '';
|
355 |
+
if(count($gm_terms)){
|
356 |
+
foreach($gm_terms as $term){
|
357 |
+
$terms_album .= '<option value="' . esc_attr($term->term_id) . '">' . esc_html($term->name) . ($term->global? '' : __(' (shared)', 'gmLang')) . ('public' == $term->status? '' : " [{$term->status}]") . '</option>' . "\n";
|
358 |
+
}
|
359 |
+
}
|
360 |
+
?>
|
361 |
+
<label><?php _e('Add to Album', 'gmLang'); ?> </label>
|
362 |
+
<select id="combobox_gmedia_album" name="terms[gmedia_album]" class="form-control input-sm" placeholder="<?php _e('Album Name...', 'gmLang'); ?>">
|
363 |
+
<option value=""></option>
|
364 |
+
<?php echo $terms_album; ?>
|
365 |
+
</select>
|
366 |
+
</div>
|
367 |
+
<div class="form-group">
|
368 |
+
<?php
|
369 |
+
$term_type = 'gmedia_tag';
|
370 |
+
$gm_terms = $gmDB->get_terms($term_type, array('fields' => 'names'));
|
371 |
+
?>
|
372 |
+
<label><?php _e('Add Tags', 'gmLang'); ?> </label>
|
373 |
+
<input id="combobox_gmedia_tag" name="terms[gmedia_tag]" class="form-control input-sm" value="" placeholder="<?php _e('Add Tags...', 'gmLang'); ?>"/>
|
374 |
+
</div>
|
375 |
+
<?php } else{ ?>
|
376 |
+
<p><?php _e('You are not allowed to assign terms', 'gmLang') ?></p>
|
377 |
+
<?php } ?>
|
378 |
<script type="text/javascript">
|
379 |
jQuery(function($){
|
380 |
+
<?php if($gmCore->caps['gmedia_terms']){ ?>
|
381 |
$('#combobox_gmedia_album').selectize({
|
382 |
+
<?php if($gmCore->caps['gmedia_album_manage']){ ?>
|
383 |
create: true,
|
384 |
createOnBlur: true,
|
385 |
+
<?php } else{ ?>
|
386 |
+
create: false,
|
387 |
+
<?php } ?>
|
388 |
persist: false
|
389 |
});
|
390 |
var gm_terms = <?php echo json_encode($gm_terms); ?>;
|
391 |
var items = gm_terms.map(function(x){
|
392 |
+
return { item: x };
|
393 |
+
});
|
394 |
$('#combobox_gmedia_tag').selectize({
|
395 |
+
<?php if($gmCore->caps['gmedia_tag_manage']){ ?>
|
396 |
+
create: function(input){
|
397 |
+
return {
|
398 |
+
item: input
|
399 |
+
}
|
400 |
+
},
|
401 |
+
createOnBlur: true,
|
402 |
+
<?php } else{ ?>
|
403 |
+
create: false,
|
404 |
+
<?php } ?>
|
405 |
delimiter: ',',
|
406 |
maxItems: null,
|
|
|
407 |
openOnFocus: false,
|
408 |
persist: false,
|
409 |
options: items,
|
410 |
labelField: 'item',
|
411 |
valueField: 'item',
|
412 |
+
hideSelected: true
|
|
|
|
|
|
|
|
|
|
|
413 |
});
|
414 |
+
<?php } ?>
|
415 |
});
|
416 |
</script>
|
417 |
</fieldset>
|
437 |
|
438 |
<div class="tab-inside">
|
439 |
<h5><?php _e('Sever folders') ?>:</h5>
|
440 |
+
|
441 |
<div id="file_browser"></div>
|
442 |
</div>
|
443 |
<div class="tab-footer">
|
444 |
+
<div class="checkbox pull-left"><label><input type="checkbox" name="delete_source" value="1"/> <?php _e('delete source files after importing') ?>
|
445 |
+
</label></div>
|
446 |
<button class="pull-right btn btn-info gmedia-import" type="button" name="import-folder"><?php _e('Import folder', 'gmLang'); ?></button>
|
447 |
</div>
|
448 |
<script type="text/javascript">
|
466 |
$import['flagallery'] = $wpdb->get_results("SELECT gid, title, galdesc FROM `{$wpdb->prefix}flag_gallery`");
|
467 |
if(!empty($import['flagallery'])){
|
468 |
?>
|
469 |
+
<div class="tab-inside">
|
470 |
+
<p><?php _e('If Album is not specified, then gallery name will be used as Album') ?></p>
|
471 |
+
<h5><?php _e('Flagallery Galleries') ?>:
|
472 |
+
<small>(<a href="#toggle-flaggalery" class="gm-toggle-cb"><?php _e('Toggle checkboxes', 'gmLang') ?></a>)</small>
|
473 |
+
</h5>
|
474 |
+
<div id="toggle-flaggalery">
|
475 |
+
<?php foreach($import['flagallery'] as $gallery){ ?>
|
476 |
+
<div class="checkbox">
|
477 |
+
<label><input type="checkbox" name="gallery[]" value="<?php echo $gallery->gid ?>"/> <span><?php echo esc_html($gallery->title); ?></span></label>
|
478 |
+
<?php /* if(!empty($gallery->galdesc)){
|
479 |
echo '<div class="help-block"> ' . stripslashes($gallery->galdesc) . '</div>';
|
480 |
+
} */
|
481 |
+
?>
|
482 |
+
</div>
|
483 |
+
<?php } ?>
|
484 |
+
</div>
|
485 |
+
</div>
|
486 |
+
<div class="tab-footer">
|
487 |
+
<button class="pull-right btn btn-info gmedia-import" type="button" name="import-flagallery"><?php _e('Import', 'gmLang'); ?></button>
|
488 |
</div>
|
|
|
|
|
|
|
|
|
489 |
<?php } else{ ?>
|
490 |
<p class="tab-inside"><?php _e('There are no created galleries in this plugin.', 'gmLang') ?></p>
|
491 |
<?php } ?>
|
498 |
$import['nextgen'] = $wpdb->get_results("SELECT gid, title, galdesc FROM `{$wpdb->prefix}ngg_gallery`");
|
499 |
if(!empty($import['nextgen'])){
|
500 |
?>
|
501 |
+
<div class="tab-inside">
|
502 |
+
<p><?php _e('If Album is not specified, then gallery name will be used as Album') ?></p>
|
503 |
+
<h5><?php _e('Flagallery Galleries') ?>:
|
504 |
+
<small>(<a href="#toggle-nextgen" class="gm-toggle-cb"><?php _e('Toggle checkboxes', 'gmLang') ?></a>)</small>
|
505 |
+
</h5>
|
506 |
+
<div id="toggle-nextgen">
|
507 |
+
<?php foreach($import['nextgen'] as $gallery){ ?>
|
508 |
+
<div class="checkbox">
|
509 |
+
<label><input type="checkbox" name="gallery[]" value="<?php echo $gallery->gid ?>"/> <span><?php echo esc_html($gallery->title); ?></span></label>
|
510 |
+
<?php /* if(!empty($gallery->galdesc)){
|
511 |
echo '<div class="help-block"> ' . stripslashes($gallery->galdesc) . '</div>';
|
512 |
+
} */
|
513 |
+
?>
|
514 |
+
</div>
|
515 |
+
<?php } ?>
|
516 |
+
</div>
|
517 |
+
</div>
|
518 |
+
<div class="tab-footer">
|
519 |
+
<button class="pull-right btn btn-info gmedia-import" type="button" name="import-nextgen"><?php _e('Import', 'gmLang'); ?></button>
|
520 |
</div>
|
|
|
|
|
|
|
|
|
521 |
<?php } else{ ?>
|
522 |
<p class="tab-inside"><?php _e('There are no created galleries in this plugin.', 'gmLang') ?></p>
|
523 |
<?php } ?>
|
546 |
<iframe name="import_window" id="import_window" src="about:blank" width="100%" height="300" onload="gmedia_import_done()"></iframe>
|
547 |
</div>
|
548 |
<div class="modal-footer">
|
549 |
+
<button type="button" id="import-done" class="btn btn-primary" data-dismiss="modal" data-complete-text="<?php _e('Close', 'gmLang'); ?>" disabled="disabled"><?php _e('Working...', 'gmLang'); ?></button>
|
550 |
</div>
|
551 |
+
</div>
|
552 |
+
<!-- /.modal-content -->
|
553 |
</div>
|
554 |
</div>
|
555 |
<?php
|
admin/admin.php
CHANGED
@@ -1,31 +1,29 @@
|
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
* GmediaAdmin - Admin Section for GRAND Media
|
4 |
*
|
5 |
*/
|
6 |
-
class GmediaAdmin
|
7 |
var $pages = array();
|
8 |
|
9 |
/**
|
10 |
* constructor
|
11 |
*/
|
12 |
-
function __construct()
|
13 |
global $pagenow;
|
14 |
|
15 |
// Add the admin menu
|
16 |
-
add_action(
|
17 |
|
18 |
// Add the script and style files
|
19 |
-
add_action(
|
20 |
|
21 |
-
add_filter(
|
22 |
-
add_filter(
|
23 |
|
24 |
-
if
|
25 |
-
|
26 |
-
&& (false !== strpos( $_GET['page'], 'GrandMedia' ))
|
27 |
-
&& isset($_GET['gmediablank']) ) {
|
28 |
-
add_action( 'admin_init', array( &$this, 'gmedia_blank_page' ) );
|
29 |
}
|
30 |
|
31 |
}
|
@@ -33,7 +31,7 @@ class GmediaAdmin {
|
|
33 |
/**
|
34 |
* Load gmedia pages in wpless interface
|
35 |
*/
|
36 |
-
function gmedia_blank_page()
|
37 |
set_current_screen('GrandMedia_Settings');
|
38 |
|
39 |
global $gmCore;
|
@@ -43,18 +41,18 @@ class GmediaAdmin {
|
|
43 |
$gmediablank = isset($_GET['gmediablank'])? $_GET['gmediablank'] : '';
|
44 |
return "gmedia-blank $gmediablank"; });
|
45 |
*/
|
46 |
-
add_filter('admin_body_class', create_function(
|
47 |
define('IFRAME_REQUEST', true);
|
48 |
|
49 |
iframe_header('GmediaGallery');
|
50 |
|
51 |
switch($gmediablank){
|
52 |
case 'update_plugin':
|
53 |
-
require_once(
|
54 |
gmedia_do_update();
|
55 |
break;
|
56 |
case 'image_editor':
|
57 |
-
require_once(
|
58 |
gmedia_image_editor();
|
59 |
break;
|
60 |
}
|
@@ -71,21 +69,46 @@ class GmediaAdmin {
|
|
71 |
}
|
72 |
|
73 |
// integrate the menu
|
74 |
-
function add_menu()
|
75 |
-
$gmediaURL = plugins_url(
|
76 |
-
$this->pages = array(
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
86 |
|
87 |
foreach($this->pages as $page){
|
88 |
-
add_action("load-$page", array(
|
89 |
}
|
90 |
}
|
91 |
|
@@ -93,13 +116,13 @@ class GmediaAdmin {
|
|
93 |
* Load the script for the defined page and load only this code
|
94 |
* Display shell of plugin
|
95 |
*/
|
96 |
-
function shell()
|
97 |
global $gmProcessor;
|
98 |
|
99 |
// check for upgrade
|
100 |
-
if
|
101 |
if(isset($_GET['do_update']) && ('gmedia' == $_GET['do_update'])){
|
102 |
-
$update_frame = '<iframe name="gmedia_update" id="gmedia_update" width="100%" height="500" src="'.admin_url('admin.php?page=GrandMedia&gmediablank=update_plugin').'"></iframe>';
|
103 |
$gmProcessor->page = 'GrandMedia_Update';
|
104 |
} else{
|
105 |
return;
|
@@ -114,7 +137,9 @@ class GmediaAdmin {
|
|
114 |
?>
|
115 |
<div id="gmedia-container">
|
116 |
<div id="gmedia-header" class="clearfix">
|
117 |
-
<div id="gmedia-logo">Gmedia
|
|
|
|
|
118 |
<h2><?php echo $sideLinks['grandTitle']; ?></h2>
|
119 |
</div>
|
120 |
<div id="gm-message"></div>
|
@@ -128,7 +153,8 @@ class GmediaAdmin {
|
|
128 |
echo $gmProcessor->alert('success', $gmProcessor->msg);
|
129 |
echo $gmProcessor->alert('danger', $gmProcessor->error);
|
130 |
|
131 |
-
if(isset($update_frame)){
|
|
|
132 |
<div class="panel panel-default">
|
133 |
<div class="panel-body"><?php echo $update_frame; ?></div>
|
134 |
</div>
|
@@ -144,22 +170,21 @@ class GmediaAdmin {
|
|
144 |
<?php
|
145 |
}
|
146 |
|
147 |
-
function sideLinks()
|
148 |
global $submenu, $gmProcessor;
|
149 |
$content['sideLinks'] = '
|
150 |
<div id="gmedia-navbar">
|
151 |
<div class="row">
|
152 |
<ul class="list-group">';
|
153 |
-
foreach
|
154 |
-
if
|
155 |
-
$iscur
|
156 |
$content['grandTitle'] = $submenu['GrandMedia'][$menuKey][3];
|
157 |
-
}
|
158 |
-
else {
|
159 |
$iscur = '';
|
160 |
}
|
161 |
|
162 |
-
$content['sideLinks'] .= "\n".'<a class="list-group-item' . $iscur . '" href="' . admin_url(
|
163 |
}
|
164 |
$content['sideLinks'] .= '
|
165 |
</ul>
|
@@ -169,17 +194,17 @@ class GmediaAdmin {
|
|
169 |
return $content;
|
170 |
}
|
171 |
|
172 |
-
function controller()
|
173 |
|
174 |
global $gmProcessor;
|
175 |
-
switch
|
176 |
case 'GrandMedia_AddMedia':
|
177 |
-
include_once
|
178 |
gmedia_AddMedia();
|
179 |
break;
|
180 |
case 'GrandMedia_Terms':
|
181 |
include_once(dirname(__FILE__) . '/terms.php');
|
182 |
-
if
|
183 |
gmediaAlbumEdit();
|
184 |
} else{
|
185 |
gmediaTerms();
|
@@ -198,16 +223,16 @@ class GmediaAdmin {
|
|
198 |
gmediaModules();
|
199 |
break;
|
200 |
case 'GrandMedia_Settings':
|
201 |
-
include_once
|
202 |
gmSettings();
|
203 |
break;
|
204 |
case 'GrandMedia_WordpressLibrary':
|
205 |
-
include_once
|
206 |
grandWPMedia();
|
207 |
break;
|
208 |
case 'GrandMedia':
|
209 |
default:
|
210 |
-
include_once
|
211 |
gmediaLib();
|
212 |
break;
|
213 |
}
|
@@ -216,54 +241,59 @@ class GmediaAdmin {
|
|
216 |
/**
|
217 |
* @param $hook
|
218 |
*/
|
219 |
-
function load_scripts(
|
220 |
global $gmCore, $gmProcessor;
|
221 |
|
222 |
// no need to go on if it's not a plugin page
|
223 |
-
if
|
224 |
return;
|
|
|
225 |
|
226 |
-
wp_enqueue_style(
|
227 |
//wp_enqueue_style( 'gmedia-bootstrap-theme' );
|
228 |
-
wp_enqueue_script(
|
229 |
|
230 |
//wp_enqueue_script( 'outside-events' );
|
231 |
|
232 |
-
if
|
233 |
-
switch
|
234 |
case "GrandMedia" :
|
235 |
-
if($gmCore->
|
236 |
-
|
|
|
237 |
|
238 |
-
|
239 |
-
|
240 |
|
241 |
-
|
242 |
-
|
243 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
244 |
}
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
if($gmProcessor->mode){
|
249 |
-
wp_enqueue_script( 'alphanum', $gmCore->gmedia_url . '/assets/jq-plugins/jquery.alphanum.js', array( 'jquery' ), '1.0.16' );
|
250 |
-
|
251 |
-
wp_enqueue_script( 'moment', $gmCore->gmedia_url . '/assets/bootstrap-datetimepicker/moment.min.js', array( 'jquery' ), '2.5.1' );
|
252 |
-
wp_enqueue_style( 'datetimepicker', $gmCore->gmedia_url . '/assets/bootstrap-datetimepicker/bootstrap-datetimepicker.min.css', array('gmedia-bootstrap'), '2.1.32' );
|
253 |
-
wp_enqueue_script( 'datetimepicker', $gmCore->gmedia_url . '/assets/bootstrap-datetimepicker/bootstrap-datetimepicker.min.js', array( 'jquery', 'moment', 'gmedia-bootstrap' ), '2.1.32' );
|
254 |
-
|
255 |
-
//wp_enqueue_style( 'thickbox' );
|
256 |
-
//wp_enqueue_script( 'thickbox' );
|
257 |
}
|
258 |
-
//wp_enqueue_style( 'mediaelement' );
|
259 |
-
//wp_enqueue_script( 'mediaelement' );
|
260 |
break;
|
261 |
case "GrandMedia_WordpressLibrary" :
|
262 |
-
|
263 |
-
|
|
|
|
|
264 |
break;
|
265 |
case "GrandMedia_Terms" :
|
266 |
-
if($gmCore->_get('edit_album')){
|
267 |
wp_enqueue_style('jquery-ui-smoothness', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/themes/smoothness/jquery-ui.min.css', array(), '1.10.2', 'screen');
|
268 |
wp_enqueue_script('jquery-ui-full', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js', array(), '1.10.2');
|
269 |
|
@@ -272,42 +302,48 @@ class GmediaAdmin {
|
|
272 |
|
273 |
break;
|
274 |
case "GrandMedia_AddMedia" :
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
if($
|
280 |
-
|
281 |
-
|
|
|
|
|
282 |
|
283 |
-
|
284 |
|
285 |
-
|
286 |
-
|
|
|
|
|
|
|
287 |
|
|
|
288 |
}
|
289 |
break;
|
290 |
case "GrandMedia_Settings" :
|
291 |
// enqueue jscolor
|
292 |
break;
|
293 |
case "GrandMedia_Galleries" :
|
294 |
-
if(isset($_GET['gallery_module']) || isset($_GET['edit_gallery'])){
|
295 |
-
wp_enqueue_style(
|
296 |
-
wp_enqueue_script('selectize', $gmCore->gmedia_url . '/assets/selectize/selectize.min.js', array('jquery','jquery-ui-sortable'), '0.8.5');
|
297 |
|
298 |
-
wp_enqueue_style(
|
299 |
-
wp_enqueue_script(
|
300 |
}
|
301 |
break;
|
302 |
}
|
303 |
}
|
304 |
|
305 |
-
wp_enqueue_style(
|
306 |
-
wp_enqueue_script(
|
307 |
|
308 |
}
|
309 |
|
310 |
-
function screen_help()
|
311 |
$screen = get_current_screen();
|
312 |
$screen_id = explode('page_', $screen->id, 2);
|
313 |
$screen_id = $screen_id[1];
|
@@ -321,22 +357,22 @@ class GmediaAdmin {
|
|
321 |
}
|
322 |
*/
|
323 |
|
324 |
-
$screen->add_help_tab(
|
325 |
-
'id'
|
326 |
-
'title'
|
327 |
-
'content'
|
328 |
<p>If you have any problems with displaying Gmedia Gallery in admin or on website. Before posting to the Forum try next:</p>
|
329 |
<ul>
|
330 |
<li>Exclude plugin conflicts: Disable other plugins one by one and check if it resolve problem</li>
|
331 |
<li>Exclude theme conflict: Temporary switch to one of default themes and check if gallery works</li>
|
332 |
</ul>
|
333 |
<h4>Links</h4>
|
334 |
-
<p><a href="http://codeasily.com/community/forum/gmedia-gallery-wordpress-plugin/" target="_blank">'.__('Support Forum', 'gmLang').'</a>
|
335 |
-
| <a href="http://codeasily.com/contact/" target="_blank">'.__('Contact', 'gmLang').'</a>
|
336 |
-
| <a href="http://codeasily.com/portfolio/gmedia-gallery-modules/" target="_blank">'.__('Demo', 'gmLang').'</a>
|
337 |
-
| <a href="http://codeasily.com/product/one-site-license/" target="_blank">'.__('Premium', 'gmLang').'</a>
|
338 |
</p>',
|
339 |
-
)
|
340 |
|
341 |
}
|
342 |
|
@@ -346,48 +382,60 @@ class GmediaAdmin {
|
|
346 |
*
|
347 |
* @return string
|
348 |
*/
|
349 |
-
function screen_settings(
|
350 |
global $gmProcessor, $gmCore;
|
351 |
-
if
|
352 |
|
353 |
$gm_screen_options = $gmProcessor->user_options();
|
354 |
|
355 |
-
$title = '<h5><strong>' . __(
|
356 |
-
$wp_screen_options = '<input type="hidden" name="wp_screen_options[option]" value="gm_screen_options" /><input type="hidden" name="wp_screen_options[value]" value="'
|
357 |
-
$button = get_submit_button(
|
358 |
|
359 |
$settings = false;
|
360 |
|
361 |
$screen_id = explode('page_', $screen->id, 2);
|
362 |
|
363 |
-
switch
|
364 |
case 'GrandMedia' :
|
365 |
$settings = '
|
366 |
<div class="form-inline pull-left">
|
367 |
<div class="form-group">
|
368 |
-
<input type="number" max="999" min="0" step="5" size="3" name="gm_screen_options[per_page_gmedia]" class="form-control input-sm" style="width: auto;" value="'
|
369 |
</div>
|
370 |
<div class="form-group">
|
371 |
<select name="gm_screen_options[orderby_gmedia]" class="form-control input-sm">
|
372 |
-
<option'.selected($gm_screen_options['orderby_gmedia'], 'ID', false).' value="ID">'.__('ID','gmLang').'</option>
|
373 |
-
<option'.selected($gm_screen_options['orderby_gmedia'], 'title', false).' value="title">'.__('Title','gmLang').'</option>
|
374 |
-
<option'.selected($gm_screen_options['orderby_gmedia'], 'date', false).' value="date">'.__('Date','gmLang').'</option>
|
375 |
-
<option'.selected($gm_screen_options['orderby_gmedia'], 'modified', false).' value="modified">'.__('Last Modified','gmLang').'</option>
|
376 |
-
<option'.selected($gm_screen_options['orderby_gmedia'], 'mime_type', false).' value="mime_type">'.__('MIME Type','gmLang').'</option>
|
377 |
-
<option'.selected($gm_screen_options['orderby_gmedia'], 'author', false).' value="author">'.__('Author','gmLang').'</option>
|
378 |
-
</select> <span>'.__(
|
379 |
</div>
|
380 |
<div class="form-group">
|
381 |
<select name="gm_screen_options[sortorder_gmedia]" class="form-control input-sm">
|
382 |
-
<option'.selected($gm_screen_options['sortorder_gmedia'], 'DESC', false).' value="DESC">'.__('DESC','gmLang').'</option>
|
383 |
-
<option'.selected($gm_screen_options['sortorder_gmedia'], 'ASC', false).' value="ASC">'.__('ASC','gmLang').'</option>
|
384 |
-
</select> <span>'.__(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
385 |
</div>
|
|
|
|
|
|
|
386 |
</div>
|
387 |
';
|
388 |
break;
|
389 |
case 'GrandMedia_WordpressLibrary' :
|
390 |
-
$settings = '<p>'.__('Set query options for this page to be loaded by default.', 'gmLang').'</p>
|
391 |
<div class="form-inline pull-left">
|
392 |
<div class="form-group">
|
393 |
<input type="number" max="999" min="0" step="5" size="3" name="gm_screen_options[per_page_wpmedia]" class="form-control input-sm" style="width: auto;" value="' . $gm_screen_options['per_page_wpmedia'] . '" /> <span>' . __('items per page', 'gmLang') . '</span>
|
@@ -444,10 +492,11 @@ class GmediaAdmin {
|
|
444 |
}
|
445 |
|
446 |
if($settings){
|
447 |
-
$current = $title
|
448 |
}
|
449 |
|
450 |
}
|
|
|
451 |
return $current;
|
452 |
}
|
453 |
|
@@ -458,9 +507,9 @@ class GmediaAdmin {
|
|
458 |
*
|
459 |
* @return array
|
460 |
*/
|
461 |
-
function screen_settings_save(
|
462 |
global $user_ID;
|
463 |
-
if
|
464 |
/*
|
465 |
global $gmGallery;
|
466 |
foreach ( $_POST['gm_screen_options'] as $key => $val ) {
|
@@ -469,9 +518,11 @@ class GmediaAdmin {
|
|
469 |
update_option( 'gmediaOptions', $gmGallery->options );
|
470 |
*/
|
471 |
$gm_screen_options = get_user_meta($user_ID, 'gm_screen_options', true);
|
472 |
-
if(!is_array($gm_screen_options))
|
473 |
$gm_screen_options = array();
|
|
|
474 |
$value = array_merge($gm_screen_options, $_POST['gm_screen_options']);
|
|
|
475 |
return $value;
|
476 |
}
|
477 |
|
1 |
<?php
|
2 |
+
|
3 |
/**
|
4 |
* GmediaAdmin - Admin Section for GRAND Media
|
5 |
*
|
6 |
*/
|
7 |
+
class GmediaAdmin{
|
8 |
var $pages = array();
|
9 |
|
10 |
/**
|
11 |
* constructor
|
12 |
*/
|
13 |
+
function __construct(){
|
14 |
global $pagenow;
|
15 |
|
16 |
// Add the admin menu
|
17 |
+
add_action('admin_menu', array(&$this, 'add_menu'));
|
18 |
|
19 |
// Add the script and style files
|
20 |
+
add_action('admin_enqueue_scripts', array(&$this, 'load_scripts'));
|
21 |
|
22 |
+
add_filter('screen_settings', array(&$this, 'screen_settings'), 10, 2);
|
23 |
+
add_filter('set-screen-option', array(&$this, 'screen_settings_save'), 11, 3);
|
24 |
|
25 |
+
if(('admin.php' == $pagenow) && isset($_GET['page']) && (false !== strpos($_GET['page'], 'GrandMedia')) && isset($_GET['gmediablank'])){
|
26 |
+
add_action('admin_init', array(&$this, 'gmedia_blank_page'));
|
|
|
|
|
|
|
27 |
}
|
28 |
|
29 |
}
|
31 |
/**
|
32 |
* Load gmedia pages in wpless interface
|
33 |
*/
|
34 |
+
function gmedia_blank_page(){
|
35 |
set_current_screen('GrandMedia_Settings');
|
36 |
|
37 |
global $gmCore;
|
41 |
$gmediablank = isset($_GET['gmediablank'])? $_GET['gmediablank'] : '';
|
42 |
return "gmedia-blank $gmediablank"; });
|
43 |
*/
|
44 |
+
add_filter('admin_body_class', create_function('', '$gmediablank = isset($_GET["gmediablank"])? $_GET["gmediablank"] : ""; return "gmedia-blank $gmediablank";'));
|
45 |
define('IFRAME_REQUEST', true);
|
46 |
|
47 |
iframe_header('GmediaGallery');
|
48 |
|
49 |
switch($gmediablank){
|
50 |
case 'update_plugin':
|
51 |
+
require_once(dirname(dirname(__FILE__)) . '/update.php');
|
52 |
gmedia_do_update();
|
53 |
break;
|
54 |
case 'image_editor':
|
55 |
+
require_once(dirname(dirname(__FILE__)) . '/inc/image-editor.php');
|
56 |
gmedia_image_editor();
|
57 |
break;
|
58 |
}
|
69 |
}
|
70 |
|
71 |
// integrate the menu
|
72 |
+
function add_menu(){
|
73 |
+
$gmediaURL = plugins_url(GMEDIA_FOLDER);
|
74 |
+
$this->pages = array();
|
75 |
+
$this->pages[] = add_object_page(__('Gmedia Library', 'gmLang'), 'Gmedia Gallery', 'gmedia_library', 'GrandMedia', array(
|
76 |
+
&$this,
|
77 |
+
'shell'
|
78 |
+
), $gmediaURL . '/admin/images/gm-icon.png');
|
79 |
+
$this->pages[] = add_submenu_page('GrandMedia', __('Gmedia Library', 'gmLang'), __('Gmedia Library', 'gmLang'), 'gmedia_library', 'GrandMedia', array(
|
80 |
+
&$this,
|
81 |
+
'shell'
|
82 |
+
));
|
83 |
+
if(current_user_can('gmedia_library')){
|
84 |
+
$this->pages[] = add_submenu_page('GrandMedia', __('Add Media Files', 'gmLang'), __('Add/Import Files', 'gmLang'), 'gmedia_upload', 'GrandMedia_AddMedia', array(
|
85 |
+
&$this,
|
86 |
+
'shell'
|
87 |
+
));
|
88 |
+
$this->pages[] = add_submenu_page('GrandMedia', __('Albums, Tags...', 'gmLang'), __('Albums, Tags...', 'gmLang'), 'gmedia_library', 'GrandMedia_Terms', array(
|
89 |
+
&$this,
|
90 |
+
'shell'
|
91 |
+
));
|
92 |
+
$this->pages[] = add_submenu_page('GrandMedia', __('Gmedia Galleries', 'gmLang'), __('Create/Manage Galleries...', 'gmLang'), 'gmedia_gallery_manage', 'GrandMedia_Galleries', array(
|
93 |
+
&$this,
|
94 |
+
'shell'
|
95 |
+
));
|
96 |
+
$this->pages[] = add_submenu_page('GrandMedia', __('Modules', 'gmLang'), __('Modules', 'gmLang'), 'gmedia_gallery_manage', 'GrandMedia_Modules', array(
|
97 |
+
&$this,
|
98 |
+
'shell'
|
99 |
+
));
|
100 |
+
$this->pages[] = add_submenu_page('GrandMedia', __('Gmedia Settings', 'gmLang'), __('Settings', 'gmLang'), 'gmedia_settings', 'GrandMedia_Settings', array(
|
101 |
+
&$this,
|
102 |
+
'shell'
|
103 |
+
));
|
104 |
+
$this->pages[] = add_submenu_page('GrandMedia', __('Wordpress Media Library', 'gmLang'), __('WP Media Library', 'gmLang'), 'gmedia_import', 'GrandMedia_WordpressLibrary', array(
|
105 |
+
&$this,
|
106 |
+
'shell'
|
107 |
+
));
|
108 |
+
}
|
109 |
|
110 |
foreach($this->pages as $page){
|
111 |
+
add_action("load-$page", array(&$this, 'screen_help'));
|
112 |
}
|
113 |
}
|
114 |
|
116 |
* Load the script for the defined page and load only this code
|
117 |
* Display shell of plugin
|
118 |
*/
|
119 |
+
function shell(){
|
120 |
global $gmProcessor;
|
121 |
|
122 |
// check for upgrade
|
123 |
+
if(get_option('gmediaDbVersion') != GMEDIA_DBVERSION){
|
124 |
if(isset($_GET['do_update']) && ('gmedia' == $_GET['do_update'])){
|
125 |
+
$update_frame = '<iframe name="gmedia_update" id="gmedia_update" width="100%" height="500" src="' . admin_url('admin.php?page=GrandMedia&gmediablank=update_plugin') . '"></iframe>';
|
126 |
$gmProcessor->page = 'GrandMedia_Update';
|
127 |
} else{
|
128 |
return;
|
137 |
?>
|
138 |
<div id="gmedia-container">
|
139 |
<div id="gmedia-header" class="clearfix">
|
140 |
+
<div id="gmedia-logo">Gmedia
|
141 |
+
<small> by CodEasily.com</small>
|
142 |
+
</div>
|
143 |
<h2><?php echo $sideLinks['grandTitle']; ?></h2>
|
144 |
</div>
|
145 |
<div id="gm-message"></div>
|
153 |
echo $gmProcessor->alert('success', $gmProcessor->msg);
|
154 |
echo $gmProcessor->alert('danger', $gmProcessor->error);
|
155 |
|
156 |
+
if(isset($update_frame)){
|
157 |
+
?>
|
158 |
<div class="panel panel-default">
|
159 |
<div class="panel-body"><?php echo $update_frame; ?></div>
|
160 |
</div>
|
170 |
<?php
|
171 |
}
|
172 |
|
173 |
+
function sideLinks(){
|
174 |
global $submenu, $gmProcessor;
|
175 |
$content['sideLinks'] = '
|
176 |
<div id="gmedia-navbar">
|
177 |
<div class="row">
|
178 |
<ul class="list-group">';
|
179 |
+
foreach($submenu['GrandMedia'] as $menuKey => $menuItem){
|
180 |
+
if($submenu['GrandMedia'][$menuKey][2] == $gmProcessor->page){
|
181 |
+
$iscur = ' active';
|
182 |
$content['grandTitle'] = $submenu['GrandMedia'][$menuKey][3];
|
183 |
+
} else{
|
|
|
184 |
$iscur = '';
|
185 |
}
|
186 |
|
187 |
+
$content['sideLinks'] .= "\n" . '<a class="list-group-item' . $iscur . '" href="' . admin_url('admin.php?page=' . $submenu['GrandMedia'][$menuKey][2]) . '">' . $submenu['GrandMedia'][$menuKey][0] . '</a>';
|
188 |
}
|
189 |
$content['sideLinks'] .= '
|
190 |
</ul>
|
194 |
return $content;
|
195 |
}
|
196 |
|
197 |
+
function controller(){
|
198 |
|
199 |
global $gmProcessor;
|
200 |
+
switch($gmProcessor->page){
|
201 |
case 'GrandMedia_AddMedia':
|
202 |
+
include_once(dirname(__FILE__) . '/addmedia.php');
|
203 |
gmedia_AddMedia();
|
204 |
break;
|
205 |
case 'GrandMedia_Terms':
|
206 |
include_once(dirname(__FILE__) . '/terms.php');
|
207 |
+
if(isset($_GET['edit_album'])){
|
208 |
gmediaAlbumEdit();
|
209 |
} else{
|
210 |
gmediaTerms();
|
223 |
gmediaModules();
|
224 |
break;
|
225 |
case 'GrandMedia_Settings':
|
226 |
+
include_once(dirname(__FILE__) . '/settings.php');
|
227 |
gmSettings();
|
228 |
break;
|
229 |
case 'GrandMedia_WordpressLibrary':
|
230 |
+
include_once(dirname(__FILE__) . '/wpmedia.php');
|
231 |
grandWPMedia();
|
232 |
break;
|
233 |
case 'GrandMedia':
|
234 |
default:
|
235 |
+
include_once(dirname(__FILE__) . '/gmedia.php');
|
236 |
gmediaLib();
|
237 |
break;
|
238 |
}
|
241 |
/**
|
242 |
* @param $hook
|
243 |
*/
|
244 |
+
function load_scripts($hook){
|
245 |
global $gmCore, $gmProcessor;
|
246 |
|
247 |
// no need to go on if it's not a plugin page
|
248 |
+
if('admin.php' != $hook && strpos($gmCore->_get('page'), 'GrandMedia') === false){
|
249 |
return;
|
250 |
+
}
|
251 |
|
252 |
+
wp_enqueue_style('gmedia-bootstrap');
|
253 |
//wp_enqueue_style( 'gmedia-bootstrap-theme' );
|
254 |
+
wp_enqueue_script('gmedia-bootstrap');
|
255 |
|
256 |
//wp_enqueue_script( 'outside-events' );
|
257 |
|
258 |
+
if(isset($_GET['page'])){
|
259 |
+
switch($_GET['page']){
|
260 |
case "GrandMedia" :
|
261 |
+
if($gmCore->caps['gmedia_edit_media']){
|
262 |
+
if($gmCore->_get('gmediablank') == 'image_editor'){
|
263 |
+
wp_enqueue_script('camanjs', $gmCore->gmedia_url . '/assets/image-editor/camanjs/caman.full.min.js', array(), '4.1.1');
|
264 |
|
265 |
+
wp_enqueue_style('nouislider', $gmCore->gmedia_url . '/assets/image-editor/js/jquery.nouislider.css', array('gmedia-bootstrap'), '6.1.0');
|
266 |
+
wp_enqueue_script('nouislider', $gmCore->gmedia_url . '/assets/image-editor/js/jquery.nouislider.min.js', array('jquery'), '6.1.0');
|
267 |
|
268 |
+
wp_enqueue_style('gmedia-image-editor', $gmCore->gmedia_url . '/assets/image-editor/style.css', array('gmedia-bootstrap'), '0.9.16', 'screen');
|
269 |
+
wp_enqueue_script('gmedia-image-editor', $gmCore->gmedia_url . '/assets/image-editor/image-editor.js', array('jquery', 'camanjs'), '0.9.16');
|
270 |
+
break;
|
271 |
+
}
|
272 |
+
if($gmProcessor->mode){
|
273 |
+
wp_enqueue_script('alphanum', $gmCore->gmedia_url . '/assets/jq-plugins/jquery.alphanum.js', array('jquery'), '1.0.16');
|
274 |
+
|
275 |
+
wp_enqueue_script('moment', $gmCore->gmedia_url . '/assets/bootstrap-datetimepicker/moment.min.js', array('jquery'), '2.5.1');
|
276 |
+
wp_enqueue_style('datetimepicker', $gmCore->gmedia_url . '/assets/bootstrap-datetimepicker/bootstrap-datetimepicker.min.css', array('gmedia-bootstrap'), '2.1.32');
|
277 |
+
wp_enqueue_script('datetimepicker', $gmCore->gmedia_url . '/assets/bootstrap-datetimepicker/bootstrap-datetimepicker.min.js', array(
|
278 |
+
'jquery',
|
279 |
+
'moment',
|
280 |
+
'gmedia-bootstrap'
|
281 |
+
), '2.1.32');
|
282 |
+
}
|
283 |
}
|
284 |
+
if($gmCore->caps['gmedia_terms']){
|
285 |
+
wp_enqueue_style('selectize', $gmCore->gmedia_url . '/assets/selectize/selectize.bootstrap3.css', array('gmedia-bootstrap'), '0.8.5', 'screen');
|
286 |
+
wp_enqueue_script('selectize', $gmCore->gmedia_url . '/assets/selectize/selectize.min.js', array('jquery'), '0.8.5');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
287 |
}
|
|
|
|
|
288 |
break;
|
289 |
case "GrandMedia_WordpressLibrary" :
|
290 |
+
if($gmCore->caps['gmedia_import']){
|
291 |
+
wp_enqueue_style('selectize', $gmCore->gmedia_url . '/assets/selectize/selectize.bootstrap3.css', array('gmedia-bootstrap'), '0.8.5', 'screen');
|
292 |
+
wp_enqueue_script('selectize', $gmCore->gmedia_url . '/assets/selectize/selectize.min.js', array('jquery'), '0.8.5');
|
293 |
+
}
|
294 |
break;
|
295 |
case "GrandMedia_Terms" :
|
296 |
+
if($gmCore->_get('edit_album') && $gmCore->caps['gmedia_album_manage']){
|
297 |
wp_enqueue_style('jquery-ui-smoothness', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/themes/smoothness/jquery-ui.min.css', array(), '1.10.2', 'screen');
|
298 |
wp_enqueue_script('jquery-ui-full', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js', array(), '1.10.2');
|
299 |
|
302 |
|
303 |
break;
|
304 |
case "GrandMedia_AddMedia" :
|
305 |
+
if($gmCore->caps['gmedia_terms']){
|
306 |
+
wp_enqueue_style('selectize', $gmCore->gmedia_url . '/assets/selectize/selectize.bootstrap3.css', array('gmedia-bootstrap'), '0.8.5', 'screen');
|
307 |
+
wp_enqueue_script('selectize', $gmCore->gmedia_url . '/assets/selectize/selectize.min.js', array('jquery'), '0.8.5');
|
308 |
+
}
|
309 |
+
if($gmCore->caps['gmedia_upload']){
|
310 |
+
$tab = $gmCore->_get('tab', 'upload');
|
311 |
+
if($tab == 'upload'){
|
312 |
+
wp_enqueue_style('jquery-ui-smoothness', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/themes/smoothness/jquery-ui.min.css', array(), '1.10.2', 'screen');
|
313 |
+
wp_enqueue_script('jquery-ui-full', 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js', array(), '1.10.2');
|
314 |
|
315 |
+
wp_enqueue_script('gmedia-plupload', $gmCore->gmedia_url . '/assets/plupload/plupload.full.min.js', array('jquery', 'jquery-ui-full'), '2.1.2');
|
316 |
|
317 |
+
wp_enqueue_style('jquery.ui.plupload', $gmCore->gmedia_url . '/assets/plupload/jquery.ui.plupload/css/jquery.ui.plupload.css', array('jquery-ui-smoothness'), '2.1.2', 'screen');
|
318 |
+
wp_enqueue_script('jquery.ui.plupload', $gmCore->gmedia_url . '/assets/plupload/jquery.ui.plupload/jquery.ui.plupload.min.js', array(
|
319 |
+
'gmedia-plupload',
|
320 |
+
'jquery-ui-full'
|
321 |
+
), '2.1.2');
|
322 |
|
323 |
+
}
|
324 |
}
|
325 |
break;
|
326 |
case "GrandMedia_Settings" :
|
327 |
// enqueue jscolor
|
328 |
break;
|
329 |
case "GrandMedia_Galleries" :
|
330 |
+
if($gmCore->caps['gmedia_gallery_manage'] && (isset($_GET['gallery_module']) || isset($_GET['edit_gallery']))){
|
331 |
+
wp_enqueue_style('selectize', $gmCore->gmedia_url . '/assets/selectize/selectize.bootstrap3.css', array('gmedia-bootstrap'), '0.8.5', 'screen');
|
332 |
+
wp_enqueue_script('selectize', $gmCore->gmedia_url . '/assets/selectize/selectize.min.js', array('jquery', 'jquery-ui-sortable'), '0.8.5');
|
333 |
|
334 |
+
wp_enqueue_style('jquery.minicolors', $gmCore->gmedia_url . '/assets/minicolors/jquery.minicolors.css', array('gmedia-bootstrap'), '0.9.13');
|
335 |
+
wp_enqueue_script('jquery.minicolors', $gmCore->gmedia_url . '/assets/minicolors/jquery.minicolors.js', array('jquery'), '0.9.13');
|
336 |
}
|
337 |
break;
|
338 |
}
|
339 |
}
|
340 |
|
341 |
+
wp_enqueue_style('grand-media');
|
342 |
+
wp_enqueue_script('grand-media');
|
343 |
|
344 |
}
|
345 |
|
346 |
+
function screen_help(){
|
347 |
$screen = get_current_screen();
|
348 |
$screen_id = explode('page_', $screen->id, 2);
|
349 |
$screen_id = $screen_id[1];
|
357 |
}
|
358 |
*/
|
359 |
|
360 |
+
$screen->add_help_tab(array(
|
361 |
+
'id' => 'help_' . $screen_id . '_support',
|
362 |
+
'title' => __('Support'),
|
363 |
+
'content' => '<h4>First steps</h4>
|
364 |
<p>If you have any problems with displaying Gmedia Gallery in admin or on website. Before posting to the Forum try next:</p>
|
365 |
<ul>
|
366 |
<li>Exclude plugin conflicts: Disable other plugins one by one and check if it resolve problem</li>
|
367 |
<li>Exclude theme conflict: Temporary switch to one of default themes and check if gallery works</li>
|
368 |
</ul>
|
369 |
<h4>Links</h4>
|
370 |
+
<p><a href="http://codeasily.com/community/forum/gmedia-gallery-wordpress-plugin/" target="_blank">' . __('Support Forum', 'gmLang') . '</a>
|
371 |
+
| <a href="http://codeasily.com/contact/" target="_blank">' . __('Contact', 'gmLang') . '</a>
|
372 |
+
| <a href="http://codeasily.com/portfolio/gmedia-gallery-modules/" target="_blank">' . __('Demo', 'gmLang') . '</a>
|
373 |
+
| <a href="http://codeasily.com/product/one-site-license/" target="_blank">' . __('Premium', 'gmLang') . '</a>
|
374 |
</p>',
|
375 |
+
));
|
376 |
|
377 |
}
|
378 |
|
382 |
*
|
383 |
* @return string
|
384 |
*/
|
385 |
+
function screen_settings($current, $screen){
|
386 |
global $gmProcessor, $gmCore;
|
387 |
+
if(in_array($screen->id, $this->pages)){
|
388 |
|
389 |
$gm_screen_options = $gmProcessor->user_options();
|
390 |
|
391 |
+
$title = '<h5><strong>' . __('Settings', 'gmLang') . '</strong></h5>';
|
392 |
+
$wp_screen_options = '<input type="hidden" name="wp_screen_options[option]" value="gm_screen_options" /><input type="hidden" name="wp_screen_options[value]" value="' . $screen->id . '" />';
|
393 |
+
$button = get_submit_button(__('Apply', 'gmLang'), 'button', 'screen-options-apply', false);
|
394 |
|
395 |
$settings = false;
|
396 |
|
397 |
$screen_id = explode('page_', $screen->id, 2);
|
398 |
|
399 |
+
switch($screen_id[1]){
|
400 |
case 'GrandMedia' :
|
401 |
$settings = '
|
402 |
<div class="form-inline pull-left">
|
403 |
<div class="form-group">
|
404 |
+
<input type="number" max="999" min="0" step="5" size="3" name="gm_screen_options[per_page_gmedia]" class="form-control input-sm" style="width: auto;" value="' . $gm_screen_options['per_page_gmedia'] . '" /> <span>' . __('items per page', 'gmLang') . '</span>
|
405 |
</div>
|
406 |
<div class="form-group">
|
407 |
<select name="gm_screen_options[orderby_gmedia]" class="form-control input-sm">
|
408 |
+
<option' . selected($gm_screen_options['orderby_gmedia'], 'ID', false) . ' value="ID">' . __('ID', 'gmLang') . '</option>
|
409 |
+
<option' . selected($gm_screen_options['orderby_gmedia'], 'title', false) . ' value="title">' . __('Title', 'gmLang') . '</option>
|
410 |
+
<option' . selected($gm_screen_options['orderby_gmedia'], 'date', false) . ' value="date">' . __('Date', 'gmLang') . '</option>
|
411 |
+
<option' . selected($gm_screen_options['orderby_gmedia'], 'modified', false) . ' value="modified">' . __('Last Modified', 'gmLang') . '</option>
|
412 |
+
<option' . selected($gm_screen_options['orderby_gmedia'], 'mime_type', false) . ' value="mime_type">' . __('MIME Type', 'gmLang') . '</option>
|
413 |
+
<option' . selected($gm_screen_options['orderby_gmedia'], 'author', false) . ' value="author">' . __('Author', 'gmLang') . '</option>
|
414 |
+
</select> <span>' . __('order items', 'gmLang') . '</span>
|
415 |
</div>
|
416 |
<div class="form-group">
|
417 |
<select name="gm_screen_options[sortorder_gmedia]" class="form-control input-sm">
|
418 |
+
<option' . selected($gm_screen_options['sortorder_gmedia'], 'DESC', false) . ' value="DESC">' . __('DESC', 'gmLang') . '</option>
|
419 |
+
<option' . selected($gm_screen_options['sortorder_gmedia'], 'ASC', false) . ' value="ASC">' . __('ASC', 'gmLang') . '</option>
|
420 |
+
</select> <span>' . __('sort order', 'gmLang') . '</span>
|
421 |
+
</div>
|
422 |
+
';
|
423 |
+
if('edit' == $gmCore->_get('mode')){
|
424 |
+
$settings .= '
|
425 |
+
<div class="form-group">
|
426 |
+
<select name="gm_screen_options[library_edit_quicktags]" class="form-control input-sm">
|
427 |
+
<option' . selected($gm_screen_options['library_edit_quicktags'], 'false', false) . ' value="false">' . __('FALSE', 'gmLang') . '</option>
|
428 |
+
<option' . selected($gm_screen_options['library_edit_quicktags'], 'true', false) . ' value="true">' . __('TRUE', 'gmLang') . '</option>
|
429 |
+
</select> <span>' . __('Quick Tags panel for Description field', 'gmLang') . '</span>
|
430 |
</div>
|
431 |
+
';
|
432 |
+
}
|
433 |
+
$settings .= '
|
434 |
</div>
|
435 |
';
|
436 |
break;
|
437 |
case 'GrandMedia_WordpressLibrary' :
|
438 |
+
$settings = '<p>' . __('Set query options for this page to be loaded by default.', 'gmLang') . '</p>
|
439 |
<div class="form-inline pull-left">
|
440 |
<div class="form-group">
|
441 |
<input type="number" max="999" min="0" step="5" size="3" name="gm_screen_options[per_page_wpmedia]" class="form-control input-sm" style="width: auto;" value="' . $gm_screen_options['per_page_wpmedia'] . '" /> <span>' . __('items per page', 'gmLang') . '</span>
|
492 |
}
|
493 |
|
494 |
if($settings){
|
495 |
+
$current = $title . $settings . $wp_screen_options . $button;
|
496 |
}
|
497 |
|
498 |
}
|
499 |
+
|
500 |
return $current;
|
501 |
}
|
502 |
|
507 |
*
|
508 |
* @return array
|
509 |
*/
|
510 |
+
function screen_settings_save($status, $option, $value){
|
511 |
global $user_ID;
|
512 |
+
if('gm_screen_options' == $option){
|
513 |
/*
|
514 |
global $gmGallery;
|
515 |
foreach ( $_POST['gm_screen_options'] as $key => $val ) {
|
518 |
update_option( 'gmediaOptions', $gmGallery->options );
|
519 |
*/
|
520 |
$gm_screen_options = get_user_meta($user_ID, 'gm_screen_options', true);
|
521 |
+
if(!is_array($gm_screen_options)){
|
522 |
$gm_screen_options = array();
|
523 |
+
}
|
524 |
$value = array_merge($gm_screen_options, $_POST['gm_screen_options']);
|
525 |
+
|
526 |
return $value;
|
527 |
}
|
528 |
|
admin/ajax.php
CHANGED
@@ -1,62 +1,92 @@
|
|
1 |
<?php
|
2 |
-
add_action(
|
3 |
function gmedia_update_data(){
|
4 |
global $gmDB, $gmCore;
|
5 |
-
check_ajax_referer(
|
6 |
-
if
|
7 |
-
die(
|
|
|
8 |
|
9 |
$data = $gmCore->_post('data');
|
10 |
|
11 |
wp_parse_str($data, $gmedia);
|
12 |
|
13 |
-
if
|
14 |
-
$item = $gmDB->get_gmedia(
|
|
|
|
|
|
|
|
|
|
|
15 |
|
16 |
-
$gmedia['modified'] = current_time(
|
17 |
$gmedia['mime_type'] = $item->mime_type;
|
18 |
$gmedia['gmuid'] = $item->gmuid;
|
19 |
|
20 |
$gmuid = pathinfo($item->gmuid);
|
21 |
|
22 |
-
$gmedia['filename'] = preg_replace(
|
23 |
-
if($gmedia['filename'] != $gmuid['filename']){
|
24 |
-
$fileinfo = $gmCore->fileinfo($gmedia['filename'].'.'
|
25 |
-
if
|
26 |
-
@rename($fileinfo['dirpath_original'].'/'
|
27 |
-
@rename($fileinfo['dirpath_thumb'].'/'
|
28 |
}
|
29 |
-
if(@rename($fileinfo['dirpath'].'/'
|
30 |
$gmedia['gmuid'] = $fileinfo['basename'];
|
31 |
}
|
32 |
}
|
|
|
|
|
|
|
33 |
|
34 |
-
$id = $gmDB->insert_gmedia(
|
35 |
-
if
|
36 |
// Meta Stuff
|
37 |
-
if
|
38 |
-
foreach
|
39 |
-
|
|
|
|
|
|
|
40 |
}
|
41 |
}
|
42 |
-
$result = $gmDB->get_gmedia(
|
|
|
|
|
43 |
}
|
44 |
-
|
45 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
}
|
47 |
-
|
48 |
-
|
|
|
49 |
}
|
50 |
|
51 |
die();
|
52 |
}
|
53 |
|
54 |
-
add_action(
|
55 |
function gmedit_save(){
|
56 |
global $gmDB, $gmCore, $gmGallery, $gmProcessor;
|
57 |
-
check_ajax_referer(
|
58 |
-
if
|
59 |
-
die(
|
|
|
60 |
|
61 |
$gmedia = array();
|
62 |
$fail = '';
|
@@ -65,12 +95,17 @@ function gmedit_save(){
|
|
65 |
$image = $gmCore->_post('image');
|
66 |
$applyto = $gmCore->_post('applyto', 'web');
|
67 |
|
68 |
-
$item = $gmDB->get_gmedia(
|
69 |
-
if
|
|
|
|
|
|
|
|
|
|
|
70 |
$meta = $gmDB->get_metadata('gmedia', $item->ID, '_metadata', true);
|
71 |
$gmedia['ID'] = $gmid;
|
72 |
$gmedia['date'] = $item->date;
|
73 |
-
$gmedia['modified'] = current_time(
|
74 |
$gmedia['author'] = $item->author;
|
75 |
|
76 |
$webimg = $gmGallery->options['image'];
|
@@ -80,10 +115,10 @@ function gmedit_save(){
|
|
80 |
|
81 |
$fileinfo = $gmCore->fileinfo($item->gmuid, false);
|
82 |
|
83 |
-
if(!file_exists($fileinfo['filepath_original'].'_backup')){
|
84 |
-
@copy($fileinfo['filepath_original'], $fileinfo['filepath_original'].'_backup');
|
85 |
}
|
86 |
-
rename($fileinfo['filepath_original'], $fileinfo['filepath_original'].'.tmp');
|
87 |
file_put_contents($fileinfo['filepath_original'], $image['data']);
|
88 |
$size = @getimagesize($fileinfo['filepath_original']);
|
89 |
|
@@ -91,31 +126,37 @@ function gmedit_save(){
|
|
91 |
$editor = wp_get_image_editor($fileinfo['filepath_original']);
|
92 |
if(is_wp_error($editor)){
|
93 |
@unlink($fileinfo['filepath_original']);
|
94 |
-
rename($fileinfo['filepath_original'].'.tmp', $fileinfo['filepath_original']);
|
95 |
-
$fail = $fileinfo['basename']. " (wp_get_image_editor): ". $editor->get_error_message();
|
96 |
break;
|
97 |
}
|
98 |
|
|
|
|
|
99 |
// Web-image
|
100 |
-
if(
|
101 |
$webimg['resize'] = (($webimg['width'] < $size[0]) || ($webimg['height'] < $size[1]))? true : false;
|
102 |
if($webimg['resize']){
|
103 |
$editor->set_quality($webimg['quality']);
|
104 |
$resized = $editor->resize($webimg['width'], $webimg['height'], $webimg['crop']);
|
105 |
if(is_wp_error($resized)){
|
106 |
@unlink($fileinfo['filepath_original']);
|
107 |
-
rename($fileinfo['filepath_original'].'.tmp', $fileinfo['filepath_original']);
|
108 |
-
$fail = $fileinfo['basename']. " ("
|
109 |
break;
|
110 |
}
|
111 |
-
|
112 |
-
|
|
|
|
|
113 |
$saved = $editor->save($fileinfo['filepath']);
|
114 |
if(is_wp_error($saved)){
|
115 |
@unlink($fileinfo['filepath_original']);
|
116 |
-
rename($fileinfo['filepath_original'].'.tmp', $fileinfo['filepath_original']);
|
117 |
-
|
118 |
-
|
|
|
|
|
119 |
break;
|
120 |
}
|
121 |
} else{
|
@@ -130,22 +171,31 @@ function gmedit_save(){
|
|
130 |
$resized = $editor->resize($thumbimg['width'], $thumbimg['height'], $thumbimg['crop']);
|
131 |
if(is_wp_error($resized)){
|
132 |
@unlink($fileinfo['filepath_original']);
|
133 |
-
rename($fileinfo['filepath_original'].'.tmp', $fileinfo['filepath_original']);
|
134 |
-
|
135 |
-
|
136 |
-
|
|
|
|
|
137 |
break;
|
138 |
}
|
139 |
|
140 |
-
|
|
|
|
|
|
|
141 |
$saved = $editor->save($fileinfo['filepath_thumb']);
|
142 |
if(is_wp_error($saved)){
|
143 |
@unlink($fileinfo['filepath_original']);
|
144 |
-
rename($fileinfo['filepath_original'].'.tmp', $fileinfo['filepath_original']);
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
|
|
|
|
|
|
|
|
149 |
break;
|
150 |
}
|
151 |
|
@@ -154,24 +204,24 @@ function gmedit_save(){
|
|
154 |
@copy($fileinfo['filepath_original'], $fileinfo['filepath_thumb']);
|
155 |
}
|
156 |
|
157 |
-
if(
|
158 |
@unlink($fileinfo['filepath_original']);
|
159 |
-
rename($fileinfo['filepath_original'].'.tmp', $fileinfo['filepath_original']);
|
160 |
-
if(filesize($fileinfo['filepath_original']) === filesize($fileinfo['filepath_original'].'_backup')){
|
161 |
-
@unlink($fileinfo['filepath_original'].'_backup');
|
162 |
}
|
163 |
}
|
164 |
-
if(file_exists($fileinfo['filepath'].'.tmp')){
|
165 |
-
@unlink($fileinfo['filepath'].'.tmp');
|
166 |
}
|
167 |
-
if(file_exists($fileinfo['filepath_original'].'.tmp')){
|
168 |
-
@unlink($fileinfo['filepath_original'].'.tmp');
|
169 |
}
|
170 |
-
if(file_exists($fileinfo['filepath_thumb'].'.tmp')){
|
171 |
-
@unlink($fileinfo['filepath_thumb'].'.tmp');
|
172 |
}
|
173 |
|
174 |
-
$id = $gmDB->insert_gmedia(
|
175 |
|
176 |
$metadata = $gmDB->generate_gmedia_metadata($id, $fileinfo);
|
177 |
$meta['web'] = $metadata['web'];
|
@@ -189,31 +239,37 @@ function gmedit_save(){
|
|
189 |
$out = array('error' => $gmProcessor->alert('danger', $fail));
|
190 |
}
|
191 |
|
192 |
-
header(
|
193 |
-
echo json_encode(
|
194 |
}
|
195 |
|
196 |
die();
|
197 |
}
|
198 |
|
199 |
-
add_action(
|
200 |
function gmedit_restore(){
|
201 |
global $gmDB, $gmCore, $gmGallery, $gmProcessor;
|
202 |
-
check_ajax_referer(
|
203 |
-
if
|
204 |
-
die(
|
|
|
205 |
|
206 |
$gmedia = array();
|
207 |
$fail = '';
|
208 |
$success = '';
|
209 |
$gmid = $gmCore->_post('id');
|
210 |
|
211 |
-
$item = $gmDB->get_gmedia(
|
212 |
-
if
|
|
|
|
|
|
|
|
|
|
|
213 |
$meta = $gmDB->get_metadata('gmedia', $item->ID, '_metadata', true);
|
214 |
$gmedia['ID'] = $gmid;
|
215 |
$gmedia['date'] = $item->date;
|
216 |
-
$gmedia['modified'] = current_time(
|
217 |
$gmedia['author'] = $item->author;
|
218 |
|
219 |
$webimg = $gmGallery->options['image'];
|
@@ -221,15 +277,15 @@ function gmedit_restore(){
|
|
221 |
|
222 |
$fileinfo = $gmCore->fileinfo($item->gmuid, false);
|
223 |
|
224 |
-
if(file_exists($fileinfo['filepath_original'].'_backup')){
|
225 |
-
rename($fileinfo['filepath_original'].'_backup', $fileinfo['filepath_original']);
|
226 |
}
|
227 |
$size = @getimagesize($fileinfo['filepath_original']);
|
228 |
|
229 |
do{
|
230 |
$editor = wp_get_image_editor($fileinfo['filepath_original']);
|
231 |
if(is_wp_error($editor)){
|
232 |
-
$fail = $fileinfo['basename']. " (wp_get_image_editor): ". $editor->get_error_message();
|
233 |
break;
|
234 |
}
|
235 |
|
@@ -242,13 +298,13 @@ function gmedit_restore(){
|
|
242 |
$editor->set_quality($webimg['quality']);
|
243 |
$resized = $editor->resize($webimg['width'], $webimg['height'], $webimg['crop']);
|
244 |
if(is_wp_error($resized)){
|
245 |
-
$fail = $fileinfo['basename']. " ("
|
246 |
break;
|
247 |
}
|
248 |
|
249 |
$saved = $editor->save($fileinfo['filepath']);
|
250 |
if(is_wp_error($saved)){
|
251 |
-
$fail = $fileinfo['basename']. " ("
|
252 |
break;
|
253 |
}
|
254 |
} else{
|
@@ -259,13 +315,13 @@ function gmedit_restore(){
|
|
259 |
$editor->set_quality($thumbimg['quality']);
|
260 |
$resized = $editor->resize($thumbimg['width'], $thumbimg['height'], $thumbimg['crop']);
|
261 |
if(is_wp_error($resized)){
|
262 |
-
$fail = $fileinfo['basename']. " ("
|
263 |
break;
|
264 |
}
|
265 |
|
266 |
$saved = $editor->save($fileinfo['filepath_thumb']);
|
267 |
if(is_wp_error($saved)){
|
268 |
-
$fail = $fileinfo['basename'] . " ("
|
269 |
break;
|
270 |
}
|
271 |
|
@@ -274,7 +330,7 @@ function gmedit_restore(){
|
|
274 |
@copy($fileinfo['filepath_original'], $fileinfo['filepath_thumb']);
|
275 |
}
|
276 |
|
277 |
-
$id = $gmDB->insert_gmedia(
|
278 |
|
279 |
$metadata = $gmDB->generate_gmedia_metadata($id, $fileinfo);
|
280 |
$meta['web'] = $metadata['web'];
|
@@ -292,367 +348,606 @@ function gmedit_restore(){
|
|
292 |
$out = array('error' => $gmProcessor->alert('danger', $fail));
|
293 |
}
|
294 |
|
295 |
-
header(
|
296 |
-
echo json_encode(
|
297 |
}
|
298 |
|
299 |
die();
|
300 |
}
|
301 |
|
302 |
-
add_action(
|
303 |
-
function
|
304 |
global $gmDB, $gmCore, $gmGallery;
|
305 |
-
check_ajax_referer(
|
306 |
-
|
307 |
-
die( '-1' );
|
308 |
-
|
309 |
$button_class = 'btn-primary';
|
310 |
$gm_terms = array();
|
311 |
$modal = $gmCore->_post('modal');
|
312 |
-
switch
|
313 |
case 'quick_gallery':
|
314 |
-
|
315 |
-
|
|
|
|
|
|
|
316 |
break;
|
317 |
case 'filter_categories':
|
318 |
-
$modal_title = __(
|
319 |
-
$modal_button = __(
|
320 |
break;
|
321 |
case 'assign_category':
|
|
|
|
|
|
|
322 |
$modal_title = __('Assign Category for Selected Images', 'gmLang');
|
323 |
$modal_button = __('Assign Category', 'gmLang');
|
324 |
break;
|
325 |
case 'filter_albums':
|
326 |
-
$modal_title = __(
|
327 |
-
$modal_button = __(
|
328 |
break;
|
329 |
case 'assign_album':
|
330 |
-
|
331 |
-
|
|
|
|
|
|
|
332 |
break;
|
333 |
case 'filter_tags':
|
334 |
-
$modal_title = __(
|
335 |
-
$modal_button = __(
|
336 |
break;
|
337 |
case 'add_tags':
|
338 |
-
|
339 |
-
|
|
|
|
|
|
|
340 |
break;
|
341 |
case 'delete_tags':
|
|
|
|
|
|
|
342 |
$button_class = 'btn-danger';
|
343 |
-
$modal_title = __(
|
344 |
-
$modal_button = __(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
345 |
break;
|
346 |
default:
|
347 |
$modal_title = ' ';
|
348 |
$modal_button = false;
|
349 |
break;
|
350 |
}
|
351 |
-
?>
|
352 |
-
<form class="modal-content" autocomplete="off" method="post">
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
}
|
416 |
-
?>
|
417 |
-
<option value="<?php echo $module_name; ?>"><?php echo $module_info['title']; ?></option>
|
418 |
-
<?php
|
419 |
-
}
|
420 |
}
|
421 |
?>
|
422 |
-
|
423 |
-
|
424 |
-
<div class="form-group">
|
425 |
-
<label><?php _e('Selected IDs', 'gmLang'); ?></label>
|
426 |
-
<input type="text" name="gallery[query][gmedia__in][]" class="form-control input-sm" value="<?php echo $selected; ?>" required="required" />
|
427 |
-
</div>
|
428 |
-
<?php
|
429 |
-
break;
|
430 |
-
case 'filter_categories':
|
431 |
-
$gm_terms = $gmDB->get_terms( 'gmedia_category' );
|
432 |
-
?>
|
433 |
-
<div class="checkbox"><label><input type="checkbox" name="cat[]" value="0"> <?php _e( 'Uncategorized', 'gmLang' ); ?></label></div>
|
434 |
-
<?php if ( count( $gm_terms ) ) {
|
435 |
-
foreach ($gm_terms as $term ) {
|
436 |
-
if($term->count){ ?>
|
437 |
-
<div class="checkbox">
|
438 |
-
<label><input type="checkbox" name="cat[]" value="<?php echo $term->term_id; ?>"> <?php echo esc_html($term->name); ?></label>
|
439 |
-
<span class="badge pull-right"><?php echo $term->count; ?></span>
|
440 |
-
</div>
|
441 |
-
<?php }
|
442 |
}
|
443 |
}
|
444 |
-
break;
|
445 |
-
case 'assign_category':
|
446 |
-
$term_type = 'gmedia_category';
|
447 |
-
$gm_terms = $gmGallery->options['taxonomies'][$term_type];
|
448 |
?>
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
458 |
?>
|
459 |
-
<div class="checkbox"
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
469 |
}
|
470 |
-
|
471 |
-
|
472 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
473 |
?>
|
474 |
-
<div class="
|
475 |
-
<label><input type="
|
476 |
-
<
|
477 |
</div>
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
<div class="form-group"><input id="combobox_gmedia_tag" name="tag_ids" class="form-control input-sm" value="" placeholder="<?php _e('Filter Tags...', 'gmLang'); ?>" /></div>
|
492 |
-
<script type="text/javascript">
|
493 |
-
jQuery(function($){
|
494 |
-
var gm_terms = <?php echo json_encode($gm_terms); ?>;
|
495 |
-
var items = gm_terms.map(function(x){
|
496 |
-
return { id: x.term_id, name: x.name, count: x.count };
|
497 |
-
});
|
498 |
-
$('#combobox_gmedia_tag').selectize({
|
499 |
-
delimiter: ',',
|
500 |
-
maxItems: null,
|
501 |
-
openOnFocus: false,
|
502 |
-
labelField: 'name',
|
503 |
-
hideSelected: true,
|
504 |
-
options: items,
|
505 |
-
searchField: ['name'],
|
506 |
-
valueField: 'id',
|
507 |
-
create: false,
|
508 |
-
render: {
|
509 |
-
item: function(item, escape) {
|
510 |
-
return '<div>' + escape(item.name) + '</div>';
|
511 |
-
},
|
512 |
-
option: function(item, escape) {
|
513 |
-
return '<div>' + escape(item.name) + ' <span class="badge">' + escape(item.count) + '</span></div>';
|
514 |
-
}
|
515 |
-
}
|
516 |
-
});
|
517 |
-
});
|
518 |
-
</script>
|
519 |
-
<?php } else {
|
520 |
-
$modal_button = false; ?>
|
521 |
-
<p class="notags"><?php _e( 'No tags', 'gmLang' ); ?></p>
|
522 |
-
<?php
|
523 |
-
}
|
524 |
-
break;
|
525 |
-
case 'add_tags':
|
526 |
-
$gm_terms = $gmDB->get_terms( 'gmedia_tag', array('fields' => 'names_count') );
|
527 |
-
$gm_terms = array_values($gm_terms);
|
528 |
-
if ( count( $gm_terms ) ) { ?>
|
529 |
-
<div class="form-group"><input id="combobox_gmedia_tag" name="tag_names" class="form-control input-sm" value="" placeholder="<?php _e('Add Tags...', 'gmLang'); ?>" /></div>
|
530 |
-
<script type="text/javascript">
|
531 |
-
jQuery(function($){
|
532 |
-
var gm_terms = <?php echo json_encode($gm_terms); ?>;
|
533 |
-
var items = gm_terms.map(function(x){
|
534 |
-
return { id: x.term_id, name: x.name, count: x.count };
|
535 |
-
});
|
536 |
-
$('#combobox_gmedia_tag').selectize({
|
537 |
-
delimiter: ',',
|
538 |
-
maxItems: null,
|
539 |
-
openOnFocus: false,
|
540 |
-
labelField: 'name',
|
541 |
-
hideSelected: true,
|
542 |
-
options: items,
|
543 |
-
searchField: ['name'],
|
544 |
-
valueField: 'name',
|
545 |
-
createOnBlur: true,
|
546 |
-
persist: false,
|
547 |
-
create: function(input){
|
548 |
-
return {
|
549 |
-
name: input
|
550 |
-
}
|
551 |
-
},
|
552 |
-
render: {
|
553 |
-
item: function(item, escape) {
|
554 |
-
return '<div>' + escape(item.name) + '</div>';
|
555 |
-
},
|
556 |
-
option: function(item, escape) {
|
557 |
-
return '<div>' + escape(item.name) + ' <span class="badge">' + escape(item.count) + '</span></div>';
|
558 |
-
}
|
559 |
-
}
|
560 |
-
});
|
561 |
-
});
|
562 |
-
</script>
|
563 |
-
<?php } else {
|
564 |
-
$modal_button = false; ?>
|
565 |
-
<p class="notags"><?php _e( 'No tags', 'gmLang' ); ?></p>
|
566 |
-
<?php
|
567 |
-
}
|
568 |
-
break;
|
569 |
-
case 'delete_tags':
|
570 |
-
global $gmProcessor;
|
571 |
-
if(!empty($gmProcessor->selected_items)){
|
572 |
-
$gm_terms = $gmDB->get_gmedia_terms($gmProcessor->selected_items, 'gmedia_tag');
|
573 |
-
}
|
574 |
-
if ( count( $gm_terms ) ) {
|
575 |
-
foreach ( $gm_terms as $term ) { ?>
|
576 |
-
<div class="checkbox">
|
577 |
-
<label><input type="checkbox" name="tag_id[]" value="<?php echo $term->term_id; ?>"> <?php echo esc_html($term->name); ?></label>
|
578 |
-
<span class="badge pull-right"><?php echo $term->count; ?></span>
|
579 |
-
</div>
|
580 |
-
<?php }
|
581 |
-
} else {
|
582 |
-
$modal_button = false; ?>
|
583 |
-
<p class="notags"><?php _e( 'No tags', 'gmLang' ); ?></p>
|
584 |
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
585 |
}
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
|
|
|
|
590 |
}
|
|
|
|
|
591 |
?>
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
597 |
<?php } ?>
|
598 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
599 |
</form><!-- /.modal-content -->
|
600 |
-
<?php
|
601 |
die();
|
602 |
}
|
603 |
|
604 |
-
add_action(
|
605 |
function gmedia_tag_edit(){
|
606 |
-
global $gmCore, $gmDB;
|
607 |
|
608 |
-
check_ajax_referer(
|
609 |
-
if
|
610 |
-
die(
|
|
|
611 |
|
612 |
$term = array('taxonomy' => 'gmedia_tag');
|
613 |
$term['name'] = trim($gmCore->_post('tag_name', ''));
|
614 |
$term['term_id'] = intval($gmCore->_post('tag_id', 0));
|
615 |
-
if(
|
616 |
-
if
|
617 |
-
|
618 |
-
|
619 |
-
$
|
|
|
|
|
|
|
|
|
620 |
} else{
|
621 |
-
$out['
|
622 |
}
|
623 |
} else{
|
624 |
-
$out['error'] = __(
|
625 |
}
|
626 |
} else{
|
627 |
-
$out['error'] = __(
|
628 |
}
|
629 |
|
630 |
-
header(
|
631 |
-
echo json_encode(
|
632 |
|
633 |
die();
|
634 |
|
635 |
}
|
636 |
|
637 |
-
add_action(
|
638 |
function gmedia_module_install(){
|
639 |
global $gmCore, $gmProcessor, $gmGallery;
|
640 |
|
641 |
-
check_ajax_referer(
|
642 |
-
if
|
643 |
echo $gmProcessor->alert('danger', __('You are not allowed to install modules'));
|
644 |
die();
|
645 |
}
|
646 |
|
647 |
if(($download = $gmCore->_post('download'))){
|
648 |
$module = $gmCore->_post('module');
|
649 |
-
$mzip = download_url(
|
650 |
if(is_wp_error($mzip)){
|
651 |
echo $gmProcessor->alert('danger', $mzip->get_error_message());
|
652 |
die();
|
653 |
}
|
654 |
|
655 |
-
$mzip = str_replace(
|
656 |
$to_folder = $gmCore->upload['path'] . '/' . $gmGallery->options['folder']['module'] . '/';
|
657 |
|
658 |
global $wp_filesystem;
|
@@ -682,18 +977,19 @@ function gmedia_module_install(){
|
|
682 |
echo $gmProcessor->alert('danger', __('No file specified', 'gmLang'));
|
683 |
}
|
684 |
|
685 |
-
die();
|
686 |
|
687 |
}
|
688 |
|
689 |
|
690 |
-
add_action(
|
691 |
function gmedia_import_modal(){
|
692 |
global $user_ID, $gmDB, $gmCore, $gmGallery;
|
693 |
|
694 |
-
check_ajax_referer(
|
695 |
-
if
|
696 |
-
die(
|
|
|
697 |
|
698 |
?>
|
699 |
<div class="modal-content">
|
@@ -701,87 +997,112 @@ function gmedia_import_modal(){
|
|
701 |
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
702 |
<h4 class="modal-title"><?php _e('Import from WP Media Library'); ?></h4>
|
703 |
</div>
|
704 |
-
<div class="modal-body" style="position:relative;">
|
705 |
<form id="import_form" name="import_form" target="import_window" action="<?php echo $gmCore->gmedia_url; ?>/admin/import.php" method="POST" accept-charset="utf-8">
|
706 |
<?php wp_nonce_field('GmediaImport'); ?>
|
707 |
-
<input type="hidden" id="import-action" name="import" value="<?php echo esc_attr($gmCore->_post('modal','')); ?>"/>
|
708 |
-
<input type="hidden" name="selected" value="<?php $ckey = "
|
709 |
-
|
710 |
-
|
711 |
-
|
712 |
-
|
|
|
|
|
|
|
|
|
713 |
|
714 |
-
|
715 |
-
|
716 |
-
|
717 |
-
|
|
|
718 |
}
|
719 |
-
|
720 |
-
|
721 |
-
|
722 |
-
|
723 |
-
<
|
724 |
-
|
725 |
-
|
726 |
-
|
|
|
727 |
|
728 |
-
|
729 |
-
|
730 |
-
|
731 |
-
|
732 |
|
733 |
-
|
734 |
-
|
735 |
-
|
736 |
-
|
|
|
737 |
}
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
742 |
-
|
743 |
-
|
744 |
-
</
|
745 |
-
</div>
|
746 |
|
747 |
-
|
748 |
-
|
749 |
-
|
750 |
-
|
751 |
-
|
752 |
-
|
753 |
-
|
754 |
-
|
|
|
|
|
|
|
755 |
|
756 |
<script type="text/javascript">
|
757 |
jQuery(function($){
|
|
|
758 |
$('#combobox_gmedia_album').selectize({
|
|
|
759 |
create: true,
|
|
|
|
|
|
|
|
|
760 |
persist: false
|
761 |
});
|
762 |
-
var gm_terms = <?php echo json_encode($gm_terms);
|
763 |
-
|
764 |
-
|
765 |
-
|
766 |
$('#combobox_gmedia_tag').selectize({
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
767 |
delimiter: ',',
|
768 |
maxItems: null,
|
|
|
769 |
persist: false,
|
770 |
options: items,
|
771 |
labelField: 'item',
|
772 |
valueField: 'item',
|
773 |
-
|
774 |
-
return {
|
775 |
-
item: input
|
776 |
-
}
|
777 |
-
}
|
778 |
});
|
|
|
779 |
|
780 |
$('#import-done').one('click', function(e){
|
781 |
$('#import_form').submit();
|
782 |
$(this).button('loading').prop('disabled', true);
|
783 |
$('#import_window').show();
|
784 |
-
$(this).one('click', function(e){
|
|
|
|
|
785 |
});
|
786 |
|
787 |
});
|
@@ -790,146 +1111,150 @@ function gmedia_import_modal(){
|
|
790 |
<iframe name="import_window" id="import_window" src="about:blank" style="display:none; position:absolute; left:0; top:0; width:100%; height:100%; z-index:1000; background-color:#ffffff; padding:20px 20px 0 20px;" onload="gmedia_import_done()"></iframe>
|
791 |
</div>
|
792 |
<div class="modal-footer">
|
793 |
-
<button type="button" class="btn btn-default" data-dismiss="modal"><?php _e(
|
794 |
-
<button type="button" id="import-done" class="btn btn-primary" data-complete-text="<?php _e(
|
795 |
</div>
|
796 |
</div><!-- /.modal-content -->
|
797 |
<?php
|
798 |
die();
|
799 |
}
|
800 |
|
801 |
-
add_action(
|
802 |
/**
|
803 |
* Do Actions via Ajax
|
|
|
|
|
804 |
*
|
805 |
* @return void
|
806 |
*/
|
807 |
-
function gmedia_relimage()
|
808 |
/** @var $wpdb wpdb */
|
809 |
global $wpdb, $gmCore, $gmDB;
|
810 |
|
811 |
-
check_ajax_referer(
|
812 |
|
813 |
// check for correct capability
|
814 |
-
if
|
815 |
-
die(
|
|
|
816 |
|
817 |
-
$post_tags = array_filter(array_map(
|
818 |
-
$paged = (int)
|
819 |
$per_page = 20;
|
820 |
-
$s = trim(
|
821 |
-
if
|
822 |
$post_tags = array();
|
823 |
-
} else
|
824 |
$s = '';
|
825 |
}
|
826 |
|
827 |
$gmediaLib = array();
|
828 |
-
$relative = (int)
|
829 |
$continue = true;
|
830 |
$content = '';
|
831 |
|
832 |
if($relative == 1){
|
833 |
$arg = array(
|
834 |
-
'mime_type'
|
835 |
-
|
836 |
-
|
837 |
-
|
838 |
-
|
839 |
-
|
840 |
-
|
841 |
-
|
842 |
);
|
843 |
-
$gmediaLib = $gmDB->get_gmedias(
|
844 |
}
|
845 |
|
846 |
-
if(
|
847 |
|
848 |
if($relative == 1){
|
849 |
$relative = 0;
|
850 |
$paged = 1;
|
851 |
-
$content .= '<li class="emptydb">' . __(
|
852 |
}
|
853 |
|
854 |
-
$tag__not_in = "'" . implode(
|
855 |
-
$tag__not_in = $wpdb->get_col(
|
856 |
SELECT term_id
|
857 |
FROM {$wpdb->prefix}gmedia_term
|
858 |
WHERE taxonomy = 'gmedia_tag'
|
859 |
AND name IN ({$tag__not_in})
|
860 |
-
"
|
861 |
|
862 |
$arg = array(
|
863 |
-
'mime_type'
|
864 |
-
|
865 |
-
|
866 |
-
|
867 |
-
|
868 |
-
|
869 |
);
|
870 |
-
$gmediaLib = $gmDB->get_gmedias(
|
871 |
}
|
872 |
|
873 |
-
if(
|
874 |
-
foreach
|
875 |
$content .= "<li class='gmedia-image-li' id='gm-img-{$item->ID}'>\n";
|
876 |
-
$content .= " <a target='_blank' class='gm-img' data-gmid='{$item->ID}' href='"
|
877 |
-
$content .= " <div style='display: none;' class='gm-img-description'>".esc_html($item->description)."</div>\n";
|
878 |
$content .= "</li>\n";
|
879 |
}
|
880 |
if(($count < $per_page) && ($relative == 0 || !empty($s))){
|
881 |
$continue = false;
|
882 |
}
|
883 |
-
}
|
884 |
-
else {
|
885 |
if($s){
|
886 |
-
$content .= '<li class="emptydb">' . __(
|
887 |
-
} else
|
888 |
-
$content .= '<li class="emptydb">' . __(
|
889 |
}
|
890 |
$continue = false;
|
891 |
}
|
892 |
-
$result = array(
|
893 |
-
header(
|
894 |
-
echo json_encode(
|
895 |
|
896 |
die();
|
897 |
|
898 |
}
|
899 |
|
900 |
-
add_action(
|
901 |
/**
|
902 |
* jQuery File Tree PHP Connector
|
903 |
-
* @author
|
904 |
* @version 1.0.1
|
905 |
*
|
906 |
* @return string folder content
|
907 |
*/
|
908 |
-
function gmedia_ftp_browser()
|
909 |
-
if
|
910 |
die('No access');
|
|
|
911 |
|
912 |
// if nonce is not correct it returns -1
|
913 |
-
check_ajax_referer(
|
914 |
|
915 |
// start from the default path
|
916 |
-
$root = trailingslashit
|
917 |
// get the current directory
|
918 |
-
$dir = trailingslashit
|
919 |
|
920 |
-
if(
|
921 |
$files = scandir($root . $dir);
|
922 |
natcasesort($files);
|
923 |
|
924 |
// The 2 counts for . and ..
|
925 |
-
if(
|
926 |
echo "<ul class=\"jqueryDirTree\" style=\"display: none;\">";
|
927 |
// return only directories
|
928 |
-
foreach(
|
929 |
-
if
|
930 |
continue;
|
|
|
931 |
|
932 |
-
if
|
933 |
echo "<li class=\"directory collapsed\"><a href=\"#\" rel=\"" . esc_attr($dir . $file) . "/\">" . esc_html($file) . "</a></li>";
|
934 |
}
|
935 |
}
|
1 |
<?php
|
2 |
+
add_action('wp_ajax_gmedia_update_data', 'gmedia_update_data');
|
3 |
function gmedia_update_data(){
|
4 |
global $gmDB, $gmCore;
|
5 |
+
check_ajax_referer("GmediaGallery");
|
6 |
+
if(!current_user_can('gmedia_edit_media')){
|
7 |
+
die('-1');
|
8 |
+
}
|
9 |
|
10 |
$data = $gmCore->_post('data');
|
11 |
|
12 |
wp_parse_str($data, $gmedia);
|
13 |
|
14 |
+
if(!empty($gmedia['ID'])){
|
15 |
+
$item = $gmDB->get_gmedia($gmedia['ID']);
|
16 |
+
if((int)$item->author != get_current_user_id()){
|
17 |
+
if(!current_user_can('gmedia_edit_others_media')){
|
18 |
+
die('-2');
|
19 |
+
}
|
20 |
+
}
|
21 |
|
22 |
+
$gmedia['modified'] = current_time('mysql');
|
23 |
$gmedia['mime_type'] = $item->mime_type;
|
24 |
$gmedia['gmuid'] = $item->gmuid;
|
25 |
|
26 |
$gmuid = pathinfo($item->gmuid);
|
27 |
|
28 |
+
$gmedia['filename'] = preg_replace('/[^a-z0-9_\.-]+/i', '_', $gmedia['filename']);
|
29 |
+
if(($gmedia['filename'] != $gmuid['filename']) && ((int)$item->author == get_current_user_id())){
|
30 |
+
$fileinfo = $gmCore->fileinfo($gmedia['filename'] . '.' . $gmuid['extension']);
|
31 |
+
if('image' == $fileinfo['dirname'] && file_is_displayable_image($fileinfo['dirpath'] . '/' . $item->gmuid)){
|
32 |
+
@rename($fileinfo['dirpath_original'] . '/' . $item->gmuid, $fileinfo['filepath_original']);
|
33 |
+
@rename($fileinfo['dirpath_thumb'] . '/' . $item->gmuid, $fileinfo['filepath_thumb']);
|
34 |
}
|
35 |
+
if(@rename($fileinfo['dirpath'] . '/' . $item->gmuid, $fileinfo['filepath'])){
|
36 |
$gmedia['gmuid'] = $fileinfo['basename'];
|
37 |
}
|
38 |
}
|
39 |
+
if(!current_user_can('gmedia_terms')){
|
40 |
+
unset($gmedia['terms']);
|
41 |
+
}
|
42 |
|
43 |
+
$id = $gmDB->insert_gmedia($gmedia);
|
44 |
+
if(!is_wp_error($id)){
|
45 |
// Meta Stuff
|
46 |
+
if(isset($gmedia['meta']) && is_array($gmedia['meta'])){
|
47 |
+
foreach($gmedia['meta'] as $key => $value){
|
48 |
+
if('cover' == $key){
|
49 |
+
$value = ltrim($value, '#');
|
50 |
+
}
|
51 |
+
$gmDB->update_metadata('gmedia', $id, $key, $value);
|
52 |
}
|
53 |
}
|
54 |
+
$result = $gmDB->get_gmedia($id);
|
55 |
+
} else{
|
56 |
+
$result = $gmDB->get_gmedia($id);
|
57 |
}
|
58 |
+
if(current_user_can('gmedia_terms')){
|
59 |
+
$tags = $gmDB->get_the_gmedia_terms($id, 'gmedia_tag');
|
60 |
+
if($tags){
|
61 |
+
$tags_list = array();
|
62 |
+
foreach($tags as $tag){
|
63 |
+
$tags_list[] = $tag->name;
|
64 |
+
}
|
65 |
+
$result->tags = implode(', ', $tags_list);
|
66 |
+
}
|
67 |
+
if(!empty($gmedia['terms']['gmedia_album'])){
|
68 |
+
$alb_id = (int) $gmedia['terms']['gmedia_album'];
|
69 |
+
$alb = $gmDB->get_term($alb_id, 'gmedia_album');
|
70 |
+
$result->album_status = $alb->status;
|
71 |
+
} else{
|
72 |
+
$result->album_status = 'none';
|
73 |
+
}
|
74 |
}
|
75 |
+
|
76 |
+
header('Content-Type: application/json; charset=' . get_option('blog_charset'), true);
|
77 |
+
echo json_encode($result);
|
78 |
}
|
79 |
|
80 |
die();
|
81 |
}
|
82 |
|
83 |
+
add_action('wp_ajax_gmedit_save', 'gmedit_save');
|
84 |
function gmedit_save(){
|
85 |
global $gmDB, $gmCore, $gmGallery, $gmProcessor;
|
86 |
+
check_ajax_referer("gmedit-save");
|
87 |
+
if(!current_user_can('gmedia_edit_media')){
|
88 |
+
die('-1');
|
89 |
+
}
|
90 |
|
91 |
$gmedia = array();
|
92 |
$fail = '';
|
95 |
$image = $gmCore->_post('image');
|
96 |
$applyto = $gmCore->_post('applyto', 'web');
|
97 |
|
98 |
+
$item = $gmDB->get_gmedia($gmid);
|
99 |
+
if(!empty($item)){
|
100 |
+
if((int)$item->author != get_current_user_id()){
|
101 |
+
if(!current_user_can('gmedia_edit_others_media')){
|
102 |
+
die('-2');
|
103 |
+
}
|
104 |
+
}
|
105 |
$meta = $gmDB->get_metadata('gmedia', $item->ID, '_metadata', true);
|
106 |
$gmedia['ID'] = $gmid;
|
107 |
$gmedia['date'] = $item->date;
|
108 |
+
$gmedia['modified'] = current_time('mysql');
|
109 |
$gmedia['author'] = $item->author;
|
110 |
|
111 |
$webimg = $gmGallery->options['image'];
|
115 |
|
116 |
$fileinfo = $gmCore->fileinfo($item->gmuid, false);
|
117 |
|
118 |
+
if(!file_exists($fileinfo['filepath_original'] . '_backup')){
|
119 |
+
@copy($fileinfo['filepath_original'], $fileinfo['filepath_original'] . '_backup');
|
120 |
}
|
121 |
+
rename($fileinfo['filepath_original'], $fileinfo['filepath_original'] . '.tmp');
|
122 |
file_put_contents($fileinfo['filepath_original'], $image['data']);
|
123 |
$size = @getimagesize($fileinfo['filepath_original']);
|
124 |
|
126 |
$editor = wp_get_image_editor($fileinfo['filepath_original']);
|
127 |
if(is_wp_error($editor)){
|
128 |
@unlink($fileinfo['filepath_original']);
|
129 |
+
rename($fileinfo['filepath_original'] . '.tmp', $fileinfo['filepath_original']);
|
130 |
+
$fail = $fileinfo['basename'] . " (wp_get_image_editor): " . $editor->get_error_message();
|
131 |
break;
|
132 |
}
|
133 |
|
134 |
+
$webis = false;
|
135 |
+
$thumbis = false;
|
136 |
// Web-image
|
137 |
+
if('web' == $applyto || 'original' == $applyto){
|
138 |
$webimg['resize'] = (($webimg['width'] < $size[0]) || ($webimg['height'] < $size[1]))? true : false;
|
139 |
if($webimg['resize']){
|
140 |
$editor->set_quality($webimg['quality']);
|
141 |
$resized = $editor->resize($webimg['width'], $webimg['height'], $webimg['crop']);
|
142 |
if(is_wp_error($resized)){
|
143 |
@unlink($fileinfo['filepath_original']);
|
144 |
+
rename($fileinfo['filepath_original'] . '.tmp', $fileinfo['filepath_original']);
|
145 |
+
$fail = $fileinfo['basename'] . " (" . $resized->get_error_code() . " | editor->resize->webimage({$webimg['width']}, {$webimg['height']}, {$webimg['crop']})): " . $resized->get_error_message();
|
146 |
break;
|
147 |
}
|
148 |
+
if(file_exists($fileinfo['filepath'])){
|
149 |
+
$webis = true;
|
150 |
+
rename($fileinfo['filepath'], $fileinfo['filepath'] . '.tmp');
|
151 |
+
}
|
152 |
$saved = $editor->save($fileinfo['filepath']);
|
153 |
if(is_wp_error($saved)){
|
154 |
@unlink($fileinfo['filepath_original']);
|
155 |
+
rename($fileinfo['filepath_original'] . '.tmp', $fileinfo['filepath_original']);
|
156 |
+
if($webis){
|
157 |
+
rename($fileinfo['filepath'] . '.tmp', $fileinfo['filepath']);
|
158 |
+
}
|
159 |
+
$fail = $fileinfo['basename'] . " (" . $saved->get_error_code() . " | editor->save->webimage): " . $saved->get_error_message();
|
160 |
break;
|
161 |
}
|
162 |
} else{
|
171 |
$resized = $editor->resize($thumbimg['width'], $thumbimg['height'], $thumbimg['crop']);
|
172 |
if(is_wp_error($resized)){
|
173 |
@unlink($fileinfo['filepath_original']);
|
174 |
+
rename($fileinfo['filepath_original'] . '.tmp', $fileinfo['filepath_original']);
|
175 |
+
if($webis){
|
176 |
+
@unlink($fileinfo['filepath']);
|
177 |
+
rename($fileinfo['filepath'] . '.tmp', $fileinfo['filepath']);
|
178 |
+
}
|
179 |
+
$fail = $fileinfo['basename'] . " (" . $resized->get_error_code() . " | editor->resize->thumb({$thumbimg['width']}, {$thumbimg['height']}, {$thumbimg['crop']})): " . $resized->get_error_message();
|
180 |
break;
|
181 |
}
|
182 |
|
183 |
+
if(file_exists($fileinfo['filepath_thumb'])){
|
184 |
+
$thumbis = true;
|
185 |
+
rename($fileinfo['filepath_thumb'], $fileinfo['filepath_thumb'] . '.tmp');
|
186 |
+
}
|
187 |
$saved = $editor->save($fileinfo['filepath_thumb']);
|
188 |
if(is_wp_error($saved)){
|
189 |
@unlink($fileinfo['filepath_original']);
|
190 |
+
rename($fileinfo['filepath_original'] . '.tmp', $fileinfo['filepath_original']);
|
191 |
+
if($webis){
|
192 |
+
@unlink($fileinfo['filepath']);
|
193 |
+
rename($fileinfo['filepath'] . '.tmp', $fileinfo['filepath']);
|
194 |
+
}
|
195 |
+
if($thumbis){
|
196 |
+
rename($fileinfo['filepath_thumb'] . '.tmp', $fileinfo['filepath_thumb']);
|
197 |
+
}
|
198 |
+
$fail = $fileinfo['basename'] . " (" . $saved->get_error_code() . " | editor->save->thumb): " . $saved->get_error_message();
|
199 |
break;
|
200 |
}
|
201 |
|
204 |
@copy($fileinfo['filepath_original'], $fileinfo['filepath_thumb']);
|
205 |
}
|
206 |
|
207 |
+
if('original' !== $applyto){
|
208 |
@unlink($fileinfo['filepath_original']);
|
209 |
+
rename($fileinfo['filepath_original'] . '.tmp', $fileinfo['filepath_original']);
|
210 |
+
if(filesize($fileinfo['filepath_original']) === filesize($fileinfo['filepath_original'] . '_backup')){
|
211 |
+
@unlink($fileinfo['filepath_original'] . '_backup');
|
212 |
}
|
213 |
}
|
214 |
+
if(file_exists($fileinfo['filepath'] . '.tmp')){
|
215 |
+
@unlink($fileinfo['filepath'] . '.tmp');
|
216 |
}
|
217 |
+
if(file_exists($fileinfo['filepath_original'] . '.tmp')){
|
218 |
+
@unlink($fileinfo['filepath_original'] . '.tmp');
|
219 |
}
|
220 |
+
if(file_exists($fileinfo['filepath_thumb'] . '.tmp')){
|
221 |
+
@unlink($fileinfo['filepath_thumb'] . '.tmp');
|
222 |
}
|
223 |
|
224 |
+
$id = $gmDB->insert_gmedia($gmedia);
|
225 |
|
226 |
$metadata = $gmDB->generate_gmedia_metadata($id, $fileinfo);
|
227 |
$meta['web'] = $metadata['web'];
|
239 |
$out = array('error' => $gmProcessor->alert('danger', $fail));
|
240 |
}
|
241 |
|
242 |
+
header('Content-Type: application/json; charset=' . get_option('blog_charset'), true);
|
243 |
+
echo json_encode($out);
|
244 |
}
|
245 |
|
246 |
die();
|
247 |
}
|
248 |
|
249 |
+
add_action('wp_ajax_gmedit_restore', 'gmedit_restore');
|
250 |
function gmedit_restore(){
|
251 |
global $gmDB, $gmCore, $gmGallery, $gmProcessor;
|
252 |
+
check_ajax_referer("gmedit-save");
|
253 |
+
if(!current_user_can('gmedia_edit_media')){
|
254 |
+
die('-1');
|
255 |
+
}
|
256 |
|
257 |
$gmedia = array();
|
258 |
$fail = '';
|
259 |
$success = '';
|
260 |
$gmid = $gmCore->_post('id');
|
261 |
|
262 |
+
$item = $gmDB->get_gmedia($gmid);
|
263 |
+
if(!empty($item)){
|
264 |
+
if((int)$item->author != get_current_user_id()){
|
265 |
+
if(!current_user_can('gmedia_edit_others_media')){
|
266 |
+
die('-2');
|
267 |
+
}
|
268 |
+
}
|
269 |
$meta = $gmDB->get_metadata('gmedia', $item->ID, '_metadata', true);
|
270 |
$gmedia['ID'] = $gmid;
|
271 |
$gmedia['date'] = $item->date;
|
272 |
+
$gmedia['modified'] = current_time('mysql');
|
273 |
$gmedia['author'] = $item->author;
|
274 |
|
275 |
$webimg = $gmGallery->options['image'];
|
277 |
|
278 |
$fileinfo = $gmCore->fileinfo($item->gmuid, false);
|
279 |
|
280 |
+
if(file_exists($fileinfo['filepath_original'] . '_backup')){
|
281 |
+
rename($fileinfo['filepath_original'] . '_backup', $fileinfo['filepath_original']);
|
282 |
}
|
283 |
$size = @getimagesize($fileinfo['filepath_original']);
|
284 |
|
285 |
do{
|
286 |
$editor = wp_get_image_editor($fileinfo['filepath_original']);
|
287 |
if(is_wp_error($editor)){
|
288 |
+
$fail = $fileinfo['basename'] . " (wp_get_image_editor): " . $editor->get_error_message();
|
289 |
break;
|
290 |
}
|
291 |
|
298 |
$editor->set_quality($webimg['quality']);
|
299 |
$resized = $editor->resize($webimg['width'], $webimg['height'], $webimg['crop']);
|
300 |
if(is_wp_error($resized)){
|
301 |
+
$fail = $fileinfo['basename'] . " (" . $resized->get_error_code() . " | editor->resize->webimage({$webimg['width']}, {$webimg['height']}, {$webimg['crop']})): " . $resized->get_error_message();
|
302 |
break;
|
303 |
}
|
304 |
|
305 |
$saved = $editor->save($fileinfo['filepath']);
|
306 |
if(is_wp_error($saved)){
|
307 |
+
$fail = $fileinfo['basename'] . " (" . $saved->get_error_code() . " | editor->save->webimage): " . $saved->get_error_message();
|
308 |
break;
|
309 |
}
|
310 |
} else{
|
315 |
$editor->set_quality($thumbimg['quality']);
|
316 |
$resized = $editor->resize($thumbimg['width'], $thumbimg['height'], $thumbimg['crop']);
|
317 |
if(is_wp_error($resized)){
|
318 |
+
$fail = $fileinfo['basename'] . " (" . $resized->get_error_code() . " | editor->resize->thumb({$thumbimg['width']}, {$thumbimg['height']}, {$thumbimg['crop']})): " . $resized->get_error_message();
|
319 |
break;
|
320 |
}
|
321 |
|
322 |
$saved = $editor->save($fileinfo['filepath_thumb']);
|
323 |
if(is_wp_error($saved)){
|
324 |
+
$fail = $fileinfo['basename'] . " (" . $saved->get_error_code() . " | editor->save->thumb): " . $saved->get_error_message();
|
325 |
break;
|
326 |
}
|
327 |
|
330 |
@copy($fileinfo['filepath_original'], $fileinfo['filepath_thumb']);
|
331 |
}
|
332 |
|
333 |
+
$id = $gmDB->insert_gmedia($gmedia);
|
334 |
|
335 |
$metadata = $gmDB->generate_gmedia_metadata($id, $fileinfo);
|
336 |
$meta['web'] = $metadata['web'];
|
348 |
$out = array('error' => $gmProcessor->alert('danger', $fail));
|
349 |
}
|
350 |
|
351 |
+
header('Content-Type: application/json; charset=' . get_option('blog_charset'), true);
|
352 |
+
echo json_encode($out);
|
353 |
}
|
354 |
|
355 |
die();
|
356 |
}
|
357 |
|
358 |
+
add_action('wp_ajax_gmedia_get_modal', 'gmedia_get_modal');
|
359 |
+
function gmedia_get_modal(){
|
360 |
global $gmDB, $gmCore, $gmGallery;
|
361 |
+
check_ajax_referer("GmediaGallery");
|
362 |
+
$user_ID = get_current_user_id();
|
|
|
|
|
363 |
$button_class = 'btn-primary';
|
364 |
$gm_terms = array();
|
365 |
$modal = $gmCore->_post('modal');
|
366 |
+
switch($modal){
|
367 |
case 'quick_gallery':
|
368 |
+
if(!current_user_can('gmedia_gallery_manage')){
|
369 |
+
die('-1');
|
370 |
+
}
|
371 |
+
$modal_title = __('Quick Gallery from selected items', 'gmLang');
|
372 |
+
$modal_button = __('Create Quick Gallery', 'gmLang');
|
373 |
break;
|
374 |
case 'filter_categories':
|
375 |
+
$modal_title = __('Show Images from Categories', 'gmLang');
|
376 |
+
$modal_button = __('Show Selected', 'gmLang');
|
377 |
break;
|
378 |
case 'assign_category':
|
379 |
+
if(!current_user_can('gmedia_terms')){
|
380 |
+
die('-1');
|
381 |
+
}
|
382 |
$modal_title = __('Assign Category for Selected Images', 'gmLang');
|
383 |
$modal_button = __('Assign Category', 'gmLang');
|
384 |
break;
|
385 |
case 'filter_albums':
|
386 |
+
$modal_title = __('Filter Albums', 'gmLang');
|
387 |
+
$modal_button = __('Show Selected', 'gmLang');
|
388 |
break;
|
389 |
case 'assign_album':
|
390 |
+
if(!current_user_can('gmedia_terms')){
|
391 |
+
die('-1');
|
392 |
+
}
|
393 |
+
$modal_title = __('Assign Album for Selected Items', 'gmLang');
|
394 |
+
$modal_button = __('Assign Album', 'gmLang');
|
395 |
break;
|
396 |
case 'filter_tags':
|
397 |
+
$modal_title = __('Filter by Tags', 'gmLang');
|
398 |
+
$modal_button = __('Show Selected', 'gmLang');
|
399 |
break;
|
400 |
case 'add_tags':
|
401 |
+
if(!current_user_can('gmedia_terms')){
|
402 |
+
die('-1');
|
403 |
+
}
|
404 |
+
$modal_title = __('Add Tags to Selected Items', 'gmLang');
|
405 |
+
$modal_button = __('Add Tags', 'gmLang');
|
406 |
break;
|
407 |
case 'delete_tags':
|
408 |
+
if(!current_user_can('gmedia_terms')){
|
409 |
+
die('-1');
|
410 |
+
}
|
411 |
$button_class = 'btn-danger';
|
412 |
+
$modal_title = __('Delete Tags from Selected Items', 'gmLang');
|
413 |
+
$modal_button = __('Delete Tags', 'gmLang');
|
414 |
+
break;
|
415 |
+
case 'filter_authors':
|
416 |
+
$modal_title = __('Filter by Author', 'gmLang');
|
417 |
+
if($gmCore->caps['gmedia_show_others_media']){
|
418 |
+
$modal_button = __('Show Selected', 'gmLang');
|
419 |
+
} else{
|
420 |
+
$modal_button = false;
|
421 |
+
}
|
422 |
+
break;
|
423 |
+
case 'batch_edit':
|
424 |
+
if(!current_user_can('gmedia_edit_media')){
|
425 |
+
die('-1');
|
426 |
+
}
|
427 |
+
$modal_title = __('Batch Edit', 'gmLang');
|
428 |
+
$modal_button = __('Batch Save', 'gmLang');
|
429 |
break;
|
430 |
default:
|
431 |
$modal_title = ' ';
|
432 |
$modal_button = false;
|
433 |
break;
|
434 |
}
|
435 |
+
?>
|
436 |
+
<form class="modal-content" id="ajax-modal-form" autocomplete="off" method="post">
|
437 |
+
<div class="modal-header">
|
438 |
+
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
439 |
+
<h4 class="modal-title"><?php echo $modal_title; ?></h4>
|
440 |
+
</div>
|
441 |
+
<div class="modal-body">
|
442 |
+
<?php
|
443 |
+
switch($modal){
|
444 |
+
case 'quick_gallery':
|
445 |
+
global $user_ID;
|
446 |
+
$ckey = "gmuser_{$user_ID}_library";
|
447 |
+
$selected = isset($_COOKIE[$ckey])? $_COOKIE[$ckey] : '';
|
448 |
+
if(empty($selected)){
|
449 |
+
_e('No selected Gmedia. Select at least one item in library.', 'gmLang');
|
450 |
+
break;
|
451 |
+
}
|
452 |
+
$modules = array();
|
453 |
+
if(($plugin_modules = glob(GMEDIA_ABSPATH . 'module/*', GLOB_ONLYDIR | GLOB_NOSORT))){
|
454 |
+
foreach($plugin_modules as $path){
|
455 |
+
$mfold = basename($path);
|
456 |
+
$modules[$mfold] = array(
|
457 |
+
'place' => 'plugin',
|
458 |
+
'module_name' => $mfold,
|
459 |
+
'module_url' => "{$gmCore->gmedia_url}/module/{$mfold}",
|
460 |
+
'module_path' => $path
|
461 |
+
);
|
462 |
+
}
|
463 |
+
}
|
464 |
+
if(($upload_modules = glob($gmCore->upload['path'] . '/' . $gmGallery->options['folder']['module'] . '/*', GLOB_ONLYDIR | GLOB_NOSORT))){
|
465 |
+
foreach($upload_modules as $path){
|
466 |
+
$mfold = basename($path);
|
467 |
+
$modules[$mfold] = array(
|
468 |
+
'place' => 'upload',
|
469 |
+
'module_name' => $mfold,
|
470 |
+
'module_url' => "{$gmCore->upload['url']}/{$gmGallery->options['folder']['module']}/{$mfold}",
|
471 |
+
'module_path' => $path
|
472 |
+
);
|
473 |
+
}
|
474 |
+
}
|
475 |
+
?>
|
476 |
+
<div class="form-group">
|
477 |
+
<label><?php _e('Gallery Name', 'gmLang'); ?></label>
|
478 |
+
<input type="text" class="form-control input-sm" name="gallery[name]" placeholder="<?php echo esc_attr(__('Gallery Name', 'gmLang')); ?>" value="" required="required"/>
|
479 |
+
</div>
|
480 |
+
<div class="form-group">
|
481 |
+
<label><?php _e('Modue', 'gmLang'); ?></label>
|
482 |
+
<select class="form-control input-sm" name="gallery[module]">
|
483 |
+
<?php
|
484 |
+
if(!empty($modules)){
|
485 |
+
foreach($modules as $m){
|
486 |
+
/**
|
487 |
+
* @var $module_name
|
488 |
+
* @var $module_url
|
489 |
+
* @var $module_path
|
490 |
+
*/
|
491 |
+
extract($m);
|
492 |
+
if(!file_exists($module_path . '/index.php')){
|
493 |
+
continue;
|
494 |
+
}
|
495 |
+
$module_info = array();
|
496 |
+
include($module_path . '/index.php');
|
497 |
+
if(empty($module_info)){
|
498 |
+
continue;
|
|
|
|
|
|
|
|
|
|
|
499 |
}
|
500 |
?>
|
501 |
+
<option value="<?php echo $module_name; ?>"><?php echo $module_info['title']; ?></option>
|
502 |
+
<?php
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
503 |
}
|
504 |
}
|
|
|
|
|
|
|
|
|
505 |
?>
|
506 |
+
</select>
|
507 |
+
</div>
|
508 |
+
<div class="form-group">
|
509 |
+
<label><?php _e('Selected IDs', 'gmLang'); ?></label>
|
510 |
+
<input type="text" name="gallery[query][gmedia__in][]" class="form-control input-sm" value="<?php echo $selected; ?>" required="required"/>
|
511 |
+
</div>
|
512 |
+
<?php
|
513 |
+
break;
|
514 |
+
case 'filter_categories':
|
515 |
+
$gm_terms = $gmDB->get_terms('gmedia_category');
|
516 |
+
?>
|
517 |
+
<div class="checkbox"><label><input type="checkbox" name="cat[]" value="0"> <?php _e('Uncategorized', 'gmLang'); ?></label></div>
|
518 |
+
<?php if(count($gm_terms)){
|
519 |
+
foreach($gm_terms as $term){
|
520 |
+
if($term->count){
|
521 |
?>
|
522 |
+
<div class="checkbox">
|
523 |
+
<label><input type="checkbox" name="cat[]" value="<?php echo $term->term_id; ?>"> <?php echo esc_html($term->name); ?></label>
|
524 |
+
<span class="badge pull-right"><?php echo $term->count; ?></span>
|
525 |
+
</div>
|
526 |
+
<?php
|
527 |
+
}
|
528 |
+
}
|
529 |
+
}
|
530 |
+
break;
|
531 |
+
case 'assign_category':
|
532 |
+
$term_type = 'gmedia_category';
|
533 |
+
$gm_terms = $gmGallery->options['taxonomies'][$term_type];
|
534 |
+
?>
|
535 |
+
<div class="radio"><label><input type="radio" name="cat" value="0"> <?php _e('Uncategorized', 'gmLang'); ?></label></div>
|
536 |
+
<?php if(count($gm_terms)){
|
537 |
+
foreach($gm_terms as $term_name => $term_title){
|
538 |
+
echo '<div class="radio"><label><input type="radio" name="cat" value="' . $term_name . '"> ' . esc_html($term_title) . '</label></div>';
|
539 |
+
}
|
540 |
+
}
|
541 |
+
break;
|
542 |
+
case 'filter_albums':
|
543 |
+
if($gmCore->caps['gmedia_show_others_media']){
|
544 |
+
$args = array();
|
545 |
+
} else{
|
546 |
+
$args = array(
|
547 |
+
'global' => array(0, $user_ID),
|
548 |
+
'orderby' => 'global_desc_name'
|
549 |
+
);
|
550 |
+
}
|
551 |
+
$gm_terms = $gmDB->get_terms('gmedia_album', $args);
|
552 |
+
?>
|
553 |
+
<div class="checkbox"><label><input type="checkbox" name="alb[]" value="0"> <?php _e('No Album', 'gmLang'); ?></label></div>
|
554 |
+
<hr/>
|
555 |
+
<?php if(count($gm_terms)){
|
556 |
+
foreach($gm_terms as $term){
|
557 |
+
$author_name = '';
|
558 |
+
if($term->global){
|
559 |
+
if($gmCore->caps['gmedia_show_others_media']){
|
560 |
+
$author_name .= sprintf(__('by %s', 'gmLang'), get_the_author_meta('display_name', $term->global));
|
561 |
}
|
562 |
+
} else{
|
563 |
+
$author_name .= '(' . __('shared', 'gmLang') . ')';
|
564 |
+
}
|
565 |
+
if ('public' != $term->status) {
|
566 |
+
$author_name .= ' [' . $term->status . ']';
|
567 |
+
}
|
568 |
+
if($author_name){
|
569 |
+
$author_name = " <small>{$author_name}</small>";
|
570 |
+
}
|
571 |
+
?>
|
572 |
+
<div class="checkbox">
|
573 |
+
<label><input type="checkbox" name="alb[]" value="<?php echo $term->term_id; ?>"> <?php echo esc_html($term->name) . $author_name; ?></label>
|
574 |
+
<span class="badge pull-right"><?php echo $term->count; ?></span>
|
575 |
+
</div>
|
576 |
+
<?php
|
577 |
+
}
|
578 |
+
} else{
|
579 |
+
$modal_button = false;
|
580 |
+
}
|
581 |
+
break;
|
582 |
+
case 'assign_album':
|
583 |
+
if($gmCore->caps['gmedia_edit_others_media']){
|
584 |
+
$args = array();
|
585 |
+
} else{
|
586 |
+
$args = array(
|
587 |
+
'global' => array(0, $user_ID),
|
588 |
+
'orderby' => 'global_desc_name'
|
589 |
+
);
|
590 |
+
}
|
591 |
+
$gm_terms = $gmDB->get_terms('gmedia_album', $args);
|
592 |
+
|
593 |
+
$terms_album = '';
|
594 |
+
if(count($gm_terms)){
|
595 |
+
foreach($gm_terms as $term){
|
596 |
+
$author_name = '';
|
597 |
+
if($term->global){
|
598 |
+
if($gmCore->caps['gmedia_edit_others_media']){
|
599 |
+
$author_name .= ' ' . sprintf(__('by %s', 'gmLang'), get_the_author_meta('display_name', $term->global));
|
600 |
+
}
|
601 |
+
} else{
|
602 |
+
$author_name .= ' (' . __('shared', 'gmLang') . ')';
|
603 |
+
}
|
604 |
+
if ('public' != $term->status) {
|
605 |
+
$author_name .= ' [' . $term->status . ']';
|
606 |
+
}
|
607 |
+
$terms_album .= '<option value="' . $term->term_id . '" data-count="' . $term->count . '" data-name="' . esc_html($term->name) . '" data-meta="' . $author_name . '">' . esc_html($term->name) . $author_name . '</option>' . "\n";
|
608 |
+
}
|
609 |
+
}
|
610 |
+
?>
|
611 |
+
<div class="form-group">
|
612 |
+
<label><?php _e('Move to Album', 'gmLang'); ?> </label>
|
613 |
+
<select id="combobox_gmedia_album" name="alb" class="form-control" placeholder="<?php _e('Album Name...', 'gmLang'); ?>">
|
614 |
+
<option></option>
|
615 |
+
<option value="0"><?php _e('No Album', 'gmLang'); ?></option>
|
616 |
+
<?php echo $terms_album; ?>
|
617 |
+
</select>
|
618 |
+
</div>
|
619 |
+
<div class="form-group">
|
620 |
+
<div class="checkbox"><label><input type="checkbox" name="status_global" value="1" checked> <?php _e('Make status of selected items be the same as Album status', 'gmLang'); ?></label></div>
|
621 |
+
</div>
|
622 |
+
<script type="text/javascript">
|
623 |
+
jQuery(function($){
|
624 |
+
var albums = $('#combobox_gmedia_album');
|
625 |
+
var albums_data = $('option', albums);
|
626 |
+
albums.selectize({
|
627 |
+
<?php if($gmCore->caps['gmedia_album_manage']){ ?>
|
628 |
+
create: function(input){
|
629 |
+
return {
|
630 |
+
value: input,
|
631 |
+
text: input
|
632 |
+
}
|
633 |
+
},
|
634 |
+
createOnBlur: true,
|
635 |
+
<?php } else{ ?>
|
636 |
+
create: false,
|
637 |
+
<?php } ?>
|
638 |
+
persist: false,
|
639 |
+
render: {
|
640 |
+
item: function(item, escape){
|
641 |
+
if(0 === (parseInt(item.value, 10) || 0)){
|
642 |
+
return '<div>' + escape(item.text) + '</div>';
|
643 |
+
}
|
644 |
+
if(item.$order) {
|
645 |
+
var data = $(albums_data[item.$order]).data();
|
646 |
+
return '<div>' + escape(data.name) + ' <small>' + escape(data.meta) + '</small></div>';
|
647 |
+
}
|
648 |
+
},
|
649 |
+
option: function(item, escape){
|
650 |
+
if(0 === (parseInt(item.value) || 0)){
|
651 |
+
return '<div>' + escape(item.text) + '</div>';
|
652 |
+
}
|
653 |
+
if(item.$order) {
|
654 |
+
var data = $(albums_data[item.$order]).data();
|
655 |
+
return '<div>' + escape(data.name) + ' <small>' + escape(data.meta) + '</small>' + ' <span class="badge pull-right">' + escape(data.count) + '</span></div>';
|
656 |
+
}
|
657 |
+
}
|
658 |
+
}
|
659 |
+
|
660 |
+
});
|
661 |
+
});
|
662 |
+
</script>
|
663 |
+
<?php
|
664 |
+
break;
|
665 |
+
case 'filter_tags':
|
666 |
+
$gm_terms = $gmDB->get_terms('gmedia_tag', array('fields' => 'names_count'));
|
667 |
+
$gm_terms = array_values($gm_terms);
|
668 |
+
if(count($gm_terms)){
|
669 |
+
?>
|
670 |
+
<div class="form-group">
|
671 |
+
<input id="combobox_gmedia_tag" name="tag_ids" class="form-control input-sm" value="" placeholder="<?php _e('Filter Tags...', 'gmLang'); ?>"/></div>
|
672 |
+
<script type="text/javascript">
|
673 |
+
jQuery(function($){
|
674 |
+
var gm_terms = <?php echo json_encode($gm_terms); ?>;
|
675 |
+
var items = gm_terms.map(function(x){
|
676 |
+
return { id: x.term_id, name: x.name, count: x.count };
|
677 |
+
});
|
678 |
+
$('#combobox_gmedia_tag').selectize({
|
679 |
+
delimiter: ',',
|
680 |
+
maxItems: null,
|
681 |
+
openOnFocus: true,
|
682 |
+
labelField: 'name',
|
683 |
+
hideSelected: true,
|
684 |
+
options: items,
|
685 |
+
searchField: ['name'],
|
686 |
+
valueField: 'id',
|
687 |
+
create: false,
|
688 |
+
render: {
|
689 |
+
item: function(item, escape){
|
690 |
+
return '<div>' + escape(item.name) + '</div>';
|
691 |
+
},
|
692 |
+
option: function(item, escape){
|
693 |
+
return '<div>' + escape(item.name) + ' <span class="badge">' + escape(item.count) + '</span></div>';
|
694 |
+
}
|
695 |
+
}
|
696 |
+
});
|
697 |
+
});
|
698 |
+
</script>
|
699 |
+
<?php
|
700 |
+
} else{
|
701 |
+
$modal_button = false; ?>
|
702 |
+
<p class="notags"><?php _e('No tags', 'gmLang'); ?></p>
|
703 |
+
<?php
|
704 |
+
}
|
705 |
+
break;
|
706 |
+
case 'add_tags':
|
707 |
+
$gm_terms = $gmDB->get_terms('gmedia_tag', array('fields' => 'names_count'));
|
708 |
+
$gm_terms = array_values($gm_terms);
|
709 |
+
if(count($gm_terms)){
|
710 |
+
?>
|
711 |
+
<div class="form-group">
|
712 |
+
<input id="combobox_gmedia_tag" name="tag_names" class="form-control input-sm" value="" placeholder="<?php _e('Add Tags...', 'gmLang'); ?>"/></div>
|
713 |
+
<script type="text/javascript">
|
714 |
+
jQuery(function($){
|
715 |
+
var gm_terms = <?php echo json_encode($gm_terms); ?>;
|
716 |
+
var items = gm_terms.map(function(x){
|
717 |
+
return { id: x.term_id, name: x.name, count: x.count };
|
718 |
+
});
|
719 |
+
$('#combobox_gmedia_tag').selectize({
|
720 |
+
delimiter: ',',
|
721 |
+
maxItems: null,
|
722 |
+
openOnFocus: false,
|
723 |
+
labelField: 'name',
|
724 |
+
hideSelected: true,
|
725 |
+
options: items,
|
726 |
+
searchField: ['name'],
|
727 |
+
valueField: 'name',
|
728 |
+
persist: false,
|
729 |
+
<?php if($gmCore->caps['gmedia_tag_manage']){ ?>
|
730 |
+
createOnBlur: true,
|
731 |
+
create: function(input){
|
732 |
+
return {
|
733 |
+
name: input
|
734 |
+
}
|
735 |
+
},
|
736 |
+
<?php } else{ ?>
|
737 |
+
create: false,
|
738 |
+
<?php } ?>
|
739 |
+
render: {
|
740 |
+
item: function(item, escape){
|
741 |
+
return '<div>' + escape(item.name) + '</div>';
|
742 |
+
},
|
743 |
+
option: function(item, escape){
|
744 |
+
return '<div>' + escape(item.name) + ' <span class="badge">' + escape(item.count) + '</span></div>';
|
745 |
+
}
|
746 |
+
}
|
747 |
+
});
|
748 |
+
});
|
749 |
+
</script>
|
750 |
+
<?php
|
751 |
+
} else{
|
752 |
+
$modal_button = false; ?>
|
753 |
+
<p class="notags"><?php _e('No tags', 'gmLang'); ?></p>
|
754 |
+
<?php
|
755 |
+
}
|
756 |
+
break;
|
757 |
+
case 'delete_tags':
|
758 |
+
global $gmProcessor;
|
759 |
+
if(!empty($gmProcessor->selected_items)){
|
760 |
+
$gm_terms = $gmDB->get_gmedia_terms($gmProcessor->selected_items, 'gmedia_tag');
|
761 |
+
}
|
762 |
+
if(count($gm_terms)){
|
763 |
+
foreach($gm_terms as $term){
|
764 |
?>
|
765 |
+
<div class="checkbox">
|
766 |
+
<label><input type="checkbox" name="tag_id[]" value="<?php echo $term->term_id; ?>"> <?php echo esc_html($term->name); ?></label>
|
767 |
+
<span class="badge pull-right"><?php echo $term->count; ?></span>
|
768 |
</div>
|
769 |
+
<?php
|
770 |
+
}
|
771 |
+
} else{
|
772 |
+
$modal_button = false; ?>
|
773 |
+
<p class="notags"><?php _e('No tags', 'gmLang'); ?></p>
|
774 |
+
<?php
|
775 |
+
}
|
776 |
+
break;
|
777 |
+
case 'filter_authors':
|
778 |
+
if($gmCore->caps['gmedia_show_others_media']){
|
779 |
+
?>
|
780 |
+
<div class="form-group">
|
781 |
+
<label><?php _e('Choose Author', 'gmLang'); ?></label>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
782 |
<?php
|
783 |
+
$user_ids = $gmCore->get_editable_user_ids();
|
784 |
+
if($user_ids){
|
785 |
+
wp_dropdown_users(array(
|
786 |
+
'show_option_all' => ' — ',
|
787 |
+
'include' => $user_ids,
|
788 |
+
'include_selected' => true,
|
789 |
+
'name' => 'author_ids',
|
790 |
+
'selected' => $user_ID,
|
791 |
+
'class' => 'form-control'
|
792 |
+
));
|
793 |
+
} else{
|
794 |
+
echo '<div>' . get_the_author_meta('display_name', $user_ID) . '</div>';
|
795 |
}
|
796 |
+
?>
|
797 |
+
</div>
|
798 |
+
<?php
|
799 |
+
} else{
|
800 |
+
echo '<p>' . __('You are not allowed to see others media') . '</p>';
|
801 |
+
echo '<p><strong>' . get_the_author_meta('display_name', $user_ID) . '</strong></p>';
|
802 |
}
|
803 |
+
break;
|
804 |
+
case 'batch_edit':
|
805 |
?>
|
806 |
+
<p><?php _e('Note, data will be saved to all selected items in Gmedia Library.') ?></p>
|
807 |
+
<div class="form-group">
|
808 |
+
<label><?php _e('Title', 'gmLang'); ?></label>
|
809 |
+
<select class="form-control input-sm batch_set" name="batch_title">
|
810 |
+
<option value=""><?php _e('Skip. Do not change', 'gmLang'); ?></option>
|
811 |
+
<option value="empty"><?php _e('Empty Title', 'gmLang'); ?></option>
|
812 |
+
<option value="filename"><?php _e('From Filename', 'gmLang'); ?></option>
|
813 |
+
<option value="custom"><?php _e('Custom', 'gmLang'); ?></option>
|
814 |
+
</select>
|
815 |
+
<input class="form-control input-sm batch_set_custom" style="margin-top:5px;display:none;" name="batch_title_custom" value="" placeholder="<?php _e('Enter custom title here'); ?>" />
|
816 |
+
</div>
|
817 |
+
<div class="form-group">
|
818 |
+
<label><?php _e('Description', 'gmLang'); ?></label>
|
819 |
+
<select class="form-control input-sm batch_set" name="batch_description">
|
820 |
+
<option value=""><?php _e('Skip. Do not change', 'gmLang'); ?></option>
|
821 |
+
<option value="empty"><?php _e('Empty Description', 'gmLang'); ?></option>
|
822 |
+
<option value="custom"><?php _e('Custom', 'gmLang'); ?></option>
|
823 |
+
</select>
|
824 |
+
<textarea class="form-control input-sm batch_set_custom" style="margin-top:5px;display:none;" cols="30" rows="3" name="batch_description_custom" placeholder="<?php _e('Enter description here'); ?>"></textarea>
|
825 |
+
</div>
|
826 |
+
<div class="form-group">
|
827 |
+
<label><?php _e('Link', 'gmLang'); ?></label>
|
828 |
+
<select class="form-control input-sm batch_set" name="batch_link">
|
829 |
+
<option value=""><?php _e('Skip. Do not change', 'gmLang'); ?></option>
|
830 |
+
<option value="empty"><?php _e('Empty Link', 'gmLang'); ?></option>
|
831 |
+
<option value="self"><?php _e('Link to original file', 'gmLang'); ?></option>
|
832 |
+
<option value="custom"><?php _e('Custom', 'gmLang'); ?></option>
|
833 |
+
</select>
|
834 |
+
<input class="form-control input-sm batch_set_custom" style="margin-top:5px;display:none;" name="batch_link_custom" value="" placeholder="<?php _e('Enter url here'); ?>" />
|
835 |
+
</div>
|
836 |
+
<div class="form-group">
|
837 |
+
<label><?php _e('Status', 'gmLang'); ?></label>
|
838 |
+
<select class="form-control input-sm batch_set" name="batch_status">
|
839 |
+
<option value=""><?php _e('Skip. Do not change', 'gmLang'); ?></option>
|
840 |
+
<option value="public"><?php _e('Public', 'gmLang'); ?></option>
|
841 |
+
<option value="private"><?php _e('Private', 'gmLang'); ?></option>
|
842 |
+
<option value="draft"><?php _e('Draft', 'gmLang'); ?></option>
|
843 |
+
</select>
|
844 |
+
</div>
|
845 |
+
<?php $user_ids = $gmCore->get_editable_user_ids();
|
846 |
+
if($user_ids){
|
847 |
+
?>
|
848 |
+
<div class="form-group">
|
849 |
+
<label><?php _e('Author', 'gmLang'); ?></label>
|
850 |
+
<?php wp_dropdown_users(array(
|
851 |
+
'show_option_none' => __('Skip. Do not change', 'gmLang'),
|
852 |
+
'include' => $user_ids,
|
853 |
+
'include_selected' => true,
|
854 |
+
'name' => 'batch_author',
|
855 |
+
'selected' => -1,
|
856 |
+
'class' => 'input-sm form-control'
|
857 |
+
));
|
858 |
+
?>
|
859 |
+
</div>
|
860 |
<?php } ?>
|
861 |
+
<script type="text/javascript">
|
862 |
+
jQuery(function($){
|
863 |
+
$('select.batch_set').change(function(){
|
864 |
+
if('custom' == $(this).val()){
|
865 |
+
$(this).next().css({display:'block'});
|
866 |
+
} else{
|
867 |
+
$(this).next().css({display:'none'});
|
868 |
+
}
|
869 |
+
});
|
870 |
+
});
|
871 |
+
</script>
|
872 |
+
<?php
|
873 |
+
break;
|
874 |
+
default:
|
875 |
+
_e('Ops! Something wrong.', 'gmLang');
|
876 |
+
break;
|
877 |
+
}
|
878 |
+
?>
|
879 |
+
</div>
|
880 |
+
<div class="modal-footer">
|
881 |
+
<button type="button" class="btn btn-default" data-dismiss="modal"><?php _e('Cancel', 'gmLang'); ?></button>
|
882 |
+
<?php if($modal_button){ ?>
|
883 |
+
<input type="hidden" name="<?php echo $modal; ?>" />
|
884 |
+
<button type="button" onclick="jQuery('#ajax-modal-form').submit()" name="<?php echo $modal; ?>" class="btn <?php echo $button_class; ?>"><?php echo $modal_button; ?></button>
|
885 |
+
<?php }
|
886 |
+
wp_nonce_field('gmedia_modal');
|
887 |
+
?>
|
888 |
+
</div>
|
889 |
</form><!-- /.modal-content -->
|
890 |
+
<?php
|
891 |
die();
|
892 |
}
|
893 |
|
894 |
+
add_action('wp_ajax_gmedia_tag_edit', 'gmedia_tag_edit');
|
895 |
function gmedia_tag_edit(){
|
896 |
+
global $gmCore, $gmDB, $gmProcessor;
|
897 |
|
898 |
+
check_ajax_referer('GmediaTerms');
|
899 |
+
if(!current_user_can('gmedia_tag_manage')){
|
900 |
+
die('-1');
|
901 |
+
}
|
902 |
|
903 |
$term = array('taxonomy' => 'gmedia_tag');
|
904 |
$term['name'] = trim($gmCore->_post('tag_name', ''));
|
905 |
$term['term_id'] = intval($gmCore->_post('tag_id', 0));
|
906 |
+
if($term['name'] && !$gmCore->is_digit($term['name'])){
|
907 |
+
if(($term_id = $gmDB->term_exists($term['term_id'], $term['taxonomy']))){
|
908 |
+
if(!$gmDB->term_exists($term['name'], $term['taxonomy'])){
|
909 |
+
$term_id = $gmDB->update_term($term['term_id'], $term['taxonomy'], $term);
|
910 |
+
if(is_wp_error($term_id)){
|
911 |
+
$out['error'] = $gmProcessor->alert('danger', $term_id->get_error_message());
|
912 |
+
} else{
|
913 |
+
$out['msg'] = $gmProcessor->alert('info', sprintf(__("Tag #%d successfuly updated", 'gmLang'), $term_id));
|
914 |
+
}
|
915 |
} else{
|
916 |
+
$out['error'] = $gmProcessor->alert('danger', __("A term with the name provided already exists", 'gmLang'));
|
917 |
}
|
918 |
} else{
|
919 |
+
$out['error'] = $gmProcessor->alert('danger', __("A term with the id provided do not exists", 'gmLang'));
|
920 |
}
|
921 |
} else{
|
922 |
+
$out['error'] = $gmProcessor->alert('danger', __("Term name can't be only digits or empty", 'gmLang'));
|
923 |
}
|
924 |
|
925 |
+
header('Content-Type: application/json; charset=' . get_option('blog_charset'), true);
|
926 |
+
echo json_encode($out);
|
927 |
|
928 |
die();
|
929 |
|
930 |
}
|
931 |
|
932 |
+
add_action('wp_ajax_gmedia_module_install', 'gmedia_module_install');
|
933 |
function gmedia_module_install(){
|
934 |
global $gmCore, $gmProcessor, $gmGallery;
|
935 |
|
936 |
+
check_ajax_referer('GmediaModule');
|
937 |
+
if(!current_user_can('gmedia_module_manage')){
|
938 |
echo $gmProcessor->alert('danger', __('You are not allowed to install modules'));
|
939 |
die();
|
940 |
}
|
941 |
|
942 |
if(($download = $gmCore->_post('download'))){
|
943 |
$module = $gmCore->_post('module');
|
944 |
+
$mzip = download_url($download);
|
945 |
if(is_wp_error($mzip)){
|
946 |
echo $gmProcessor->alert('danger', $mzip->get_error_message());
|
947 |
die();
|
948 |
}
|
949 |
|
950 |
+
$mzip = str_replace("\\", "/", $mzip);
|
951 |
$to_folder = $gmCore->upload['path'] . '/' . $gmGallery->options['folder']['module'] . '/';
|
952 |
|
953 |
global $wp_filesystem;
|
977 |
echo $gmProcessor->alert('danger', __('No file specified', 'gmLang'));
|
978 |
}
|
979 |
|
980 |
+
die();
|
981 |
|
982 |
}
|
983 |
|
984 |
|
985 |
+
add_action('wp_ajax_gmedia_import_modal', 'gmedia_import_modal');
|
986 |
function gmedia_import_modal(){
|
987 |
global $user_ID, $gmDB, $gmCore, $gmGallery;
|
988 |
|
989 |
+
check_ajax_referer('GmediaGallery');
|
990 |
+
if(!current_user_can('gmedia_import')){
|
991 |
+
die('-1');
|
992 |
+
}
|
993 |
|
994 |
?>
|
995 |
<div class="modal-content">
|
997 |
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
998 |
<h4 class="modal-title"><?php _e('Import from WP Media Library'); ?></h4>
|
999 |
</div>
|
1000 |
+
<div class="modal-body" style="position:relative; min-height:270px;">
|
1001 |
<form id="import_form" name="import_form" target="import_window" action="<?php echo $gmCore->gmedia_url; ?>/admin/import.php" method="POST" accept-charset="utf-8">
|
1002 |
<?php wp_nonce_field('GmediaImport'); ?>
|
1003 |
+
<input type="hidden" id="import-action" name="import" value="<?php echo esc_attr($gmCore->_post('modal', '')); ?>"/>
|
1004 |
+
<input type="hidden" name="selected" value="<?php $ckey = "gmuser_{$user_ID}_wpmedia";
|
1005 |
+
if(isset($_COOKIE[$ckey])){
|
1006 |
+
echo $_COOKIE[$ckey];
|
1007 |
+
} ?>"/>
|
1008 |
+
<?php if($gmCore->caps['gmedia_terms']){ ?>
|
1009 |
+
<div class="form-group">
|
1010 |
+
<?php
|
1011 |
+
$term_type = 'gmedia_category';
|
1012 |
+
$gm_terms = $gmGallery->options['taxonomies'][$term_type];
|
1013 |
|
1014 |
+
$terms_category = '';
|
1015 |
+
if(count($gm_terms)){
|
1016 |
+
foreach($gm_terms as $term_name => $term_title){
|
1017 |
+
$terms_category .= '<option value="' . $term_name . '">' . esc_html($term_title) . '</option>' . "\n";
|
1018 |
+
}
|
1019 |
}
|
1020 |
+
?>
|
1021 |
+
<label><?php _e('Assign Category', 'gmLang'); ?>
|
1022 |
+
<small><?php _e('(for images only)') ?></small>
|
1023 |
+
</label>
|
1024 |
+
<select id="gmedia_category" name="terms[gmedia_category]" class="form-control input-sm">
|
1025 |
+
<option value=""><?php _e('Uncategorized', 'gmLang'); ?></option>
|
1026 |
+
<?php echo $terms_category; ?>
|
1027 |
+
</select>
|
1028 |
+
</div>
|
1029 |
|
1030 |
+
<div class="form-group">
|
1031 |
+
<?php
|
1032 |
+
$term_type = 'gmedia_album';
|
1033 |
+
$gm_terms = $gmDB->get_terms($term_type, array('global' => array(0, $user_ID), 'orderby' => 'global_desc_name'));
|
1034 |
|
1035 |
+
$terms_album = '';
|
1036 |
+
if(count($gm_terms)){
|
1037 |
+
foreach($gm_terms as $term){
|
1038 |
+
$terms_album .= '<option value="' . esc_attr($term->term_id) . '">' . esc_html($term->name) . ($term->global? '' : __(' (shared)', 'gmLang')) . ('public' == $term->status? '' : " [{$term->status}]") . '</option>' . "\n";
|
1039 |
+
}
|
1040 |
}
|
1041 |
+
?>
|
1042 |
+
<label><?php _e('Add to Album', 'gmLang'); ?> </label>
|
1043 |
+
<select id="combobox_gmedia_album" name="terms[gmedia_album]" class="form-control input-sm" placeholder="<?php _e('Album Name...', 'gmLang'); ?>">
|
1044 |
+
<option value=""></option>
|
1045 |
+
<?php echo $terms_album; ?>
|
1046 |
+
</select>
|
1047 |
+
</div>
|
|
|
1048 |
|
1049 |
+
<div class="form-group">
|
1050 |
+
<?php
|
1051 |
+
$term_type = 'gmedia_tag';
|
1052 |
+
$gm_terms = $gmDB->get_terms($term_type, array('fields' => 'names'));
|
1053 |
+
?>
|
1054 |
+
<label><?php _e('Add Tags', 'gmLang'); ?> </label>
|
1055 |
+
<input id="combobox_gmedia_tag" name="terms[gmedia_tag]" class="form-control input-sm" value="" placeholder="<?php _e('Add Tags...', 'gmLang'); ?>"/>
|
1056 |
+
</div>
|
1057 |
+
<?php } else{ ?>
|
1058 |
+
<p><?php _e('You are not allowed to assign terms', 'gmLang') ?></p>
|
1059 |
+
<?php } ?>
|
1060 |
|
1061 |
<script type="text/javascript">
|
1062 |
jQuery(function($){
|
1063 |
+
<?php if($gmCore->caps['gmedia_terms']){ ?>
|
1064 |
$('#combobox_gmedia_album').selectize({
|
1065 |
+
<?php if($gmCore->caps['gmedia_album_manage']){ ?>
|
1066 |
create: true,
|
1067 |
+
createOnBlur: true,
|
1068 |
+
<?php } else{ ?>
|
1069 |
+
create: false,
|
1070 |
+
<?php } ?>
|
1071 |
persist: false
|
1072 |
});
|
1073 |
+
var gm_terms = <?php echo json_encode($gm_terms); ?>;
|
1074 |
+
var items = gm_terms.map(function(x){
|
1075 |
+
return { item: x };
|
1076 |
+
});
|
1077 |
$('#combobox_gmedia_tag').selectize({
|
1078 |
+
<?php if($gmCore->caps['gmedia_tag_manage']){ ?>
|
1079 |
+
create: function(input){
|
1080 |
+
return {
|
1081 |
+
item: input
|
1082 |
+
}
|
1083 |
+
},
|
1084 |
+
createOnBlur: true,
|
1085 |
+
<?php } else{ ?>
|
1086 |
+
create: false,
|
1087 |
+
<?php } ?>
|
1088 |
delimiter: ',',
|
1089 |
maxItems: null,
|
1090 |
+
openOnFocus: false,
|
1091 |
persist: false,
|
1092 |
options: items,
|
1093 |
labelField: 'item',
|
1094 |
valueField: 'item',
|
1095 |
+
hideSelected: true
|
|
|
|
|
|
|
|
|
1096 |
});
|
1097 |
+
<?php } ?>
|
1098 |
|
1099 |
$('#import-done').one('click', function(e){
|
1100 |
$('#import_form').submit();
|
1101 |
$(this).button('loading').prop('disabled', true);
|
1102 |
$('#import_window').show();
|
1103 |
+
$(this).one('click', function(e){
|
1104 |
+
$('#importModal').modal('hide');
|
1105 |
+
});
|
1106 |
});
|
1107 |
|
1108 |
});
|
1111 |
<iframe name="import_window" id="import_window" src="about:blank" style="display:none; position:absolute; left:0; top:0; width:100%; height:100%; z-index:1000; background-color:#ffffff; padding:20px 20px 0 20px;" onload="gmedia_import_done()"></iframe>
|
1112 |
</div>
|
1113 |
<div class="modal-footer">
|
1114 |
+
<button type="button" class="btn btn-default" data-dismiss="modal"><?php _e('Cancel', 'gmLang'); ?></button>
|
1115 |
+
<button type="button" id="import-done" class="btn btn-primary" data-complete-text="<?php _e('Close', 'gmLang'); ?>" data-loading-text="<?php _e('Working...', 'gmLang'); ?>"><?php _e('Import', 'gmLang'); ?></button>
|
1116 |
</div>
|
1117 |
</div><!-- /.modal-content -->
|
1118 |
<?php
|
1119 |
die();
|
1120 |
}
|
1121 |
|
1122 |
+
add_action('wp_ajax_gmedia_relimage', 'gmedia_relimage');
|
1123 |
/**
|
1124 |
* Do Actions via Ajax
|
1125 |
+
* TODO add related images to post
|
1126 |
+
* TODO check author for related images
|
1127 |
*
|
1128 |
* @return void
|
1129 |
*/
|
1130 |
+
function gmedia_relimage(){
|
1131 |
/** @var $wpdb wpdb */
|
1132 |
global $wpdb, $gmCore, $gmDB;
|
1133 |
|
1134 |
+
check_ajax_referer("grandMedia");
|
1135 |
|
1136 |
// check for correct capability
|
1137 |
+
if(!current_user_can('gmedia_library')){
|
1138 |
+
die('-1');
|
1139 |
+
}
|
1140 |
|
1141 |
+
$post_tags = array_filter(array_map('trim', explode(',', stripslashes(urldecode($gmCore->_get('tags', ''))))));
|
1142 |
+
$paged = (int)$gmCore->_get('paged', 1);
|
1143 |
$per_page = 20;
|
1144 |
+
$s = trim(stripslashes(urldecode($gmCore->_get('search'))));
|
1145 |
+
if($s && strlen($s) > 2){
|
1146 |
$post_tags = array();
|
1147 |
+
} else{
|
1148 |
$s = '';
|
1149 |
}
|
1150 |
|
1151 |
$gmediaLib = array();
|
1152 |
+
$relative = (int)$gmCore->_get('rel', 1);
|
1153 |
$continue = true;
|
1154 |
$content = '';
|
1155 |
|
1156 |
if($relative == 1){
|
1157 |
$arg = array(
|
1158 |
+
'mime_type' => 'image/*',
|
1159 |
+
'orderby' => 'ID',
|
1160 |
+
'order' => 'DESC',
|
1161 |
+
'per_page' => $per_page,
|
1162 |
+
'page' => $paged,
|
1163 |
+
's' => $s,
|
1164 |
+
'tag_name__in' => $post_tags,
|
1165 |
+
'null_tags' => true
|
1166 |
);
|
1167 |
+
$gmediaLib = $gmDB->get_gmedias($arg);
|
1168 |
}
|
1169 |
|
1170 |
+
if(empty($gmediaLib) && count($post_tags)){
|
1171 |
|
1172 |
if($relative == 1){
|
1173 |
$relative = 0;
|
1174 |
$paged = 1;
|
1175 |
+
$content .= '<li class="emptydb">' . __('No items related by tags.', 'gmLang') . '</li>' . "\n";
|
1176 |
}
|
1177 |
|
1178 |
+
$tag__not_in = "'" . implode("','", array_map('esc_sql', array_unique((array)$post_tags))) . "'";
|
1179 |
+
$tag__not_in = $wpdb->get_col("
|
1180 |
SELECT term_id
|
1181 |
FROM {$wpdb->prefix}gmedia_term
|
1182 |
WHERE taxonomy = 'gmedia_tag'
|
1183 |
AND name IN ({$tag__not_in})
|
1184 |
+
");
|
1185 |
|
1186 |
$arg = array(
|
1187 |
+
'mime_type' => 'image/*',
|
1188 |
+
'orderby' => 'ID',
|
1189 |
+
'order' => 'DESC',
|
1190 |
+
'per_page' => $per_page,
|
1191 |
+
'page' => $paged,
|
1192 |
+
'tag__not_in' => $tag__not_in
|
1193 |
);
|
1194 |
+
$gmediaLib = $gmDB->get_gmedias($arg);
|
1195 |
}
|
1196 |
|
1197 |
+
if(($count = count($gmediaLib))){
|
1198 |
+
foreach($gmediaLib as $item){
|
1199 |
$content .= "<li class='gmedia-image-li' id='gm-img-{$item->ID}'>\n";
|
1200 |
+
$content .= " <a target='_blank' class='gm-img' data-gmid='{$item->ID}' href='" . $gmCore->gm_get_media_image($item) . "'><img src='" . $gmCore->gm_get_media_image($item, 'thumb') . "' height='50' style='width:auto;' alt='' title='" . esc_attr($item->title) . "' /></a>\n";
|
1201 |
+
$content .= " <div style='display: none;' class='gm-img-description'>" . esc_html($item->description) . "</div>\n";
|
1202 |
$content .= "</li>\n";
|
1203 |
}
|
1204 |
if(($count < $per_page) && ($relative == 0 || !empty($s))){
|
1205 |
$continue = false;
|
1206 |
}
|
1207 |
+
} else{
|
|
|
1208 |
if($s){
|
1209 |
+
$content .= '<li class="emptydb">' . __('No items matching the search query.', 'gmLang') . '</li>' . "\n";
|
1210 |
+
} else{
|
1211 |
+
$content .= '<li class="emptydb">' . __('No items to show', 'gmLang') . '</li>' . "\n";
|
1212 |
}
|
1213 |
$continue = false;
|
1214 |
}
|
1215 |
+
$result = array('paged' => $paged, 'rel' => $relative, 'continue' => $continue, 'content' => $content, 'data' => $post_tags);
|
1216 |
+
header('Content-Type: application/json; charset=' . get_option('blog_charset'), true);
|
1217 |
+
echo json_encode($result);
|
1218 |
|
1219 |
die();
|
1220 |
|
1221 |
}
|
1222 |
|
1223 |
+
add_action('wp_ajax_gmedia_ftp_browser', 'gmedia_ftp_browser');
|
1224 |
/**
|
1225 |
* jQuery File Tree PHP Connector
|
1226 |
+
* @author Cory S.N. LaViska - A Beautiful Site (http://abeautifulsite.net/)
|
1227 |
* @version 1.0.1
|
1228 |
*
|
1229 |
* @return string folder content
|
1230 |
*/
|
1231 |
+
function gmedia_ftp_browser(){
|
1232 |
+
if(!current_user_can('gmedia_import')){
|
1233 |
die('No access');
|
1234 |
+
}
|
1235 |
|
1236 |
// if nonce is not correct it returns -1
|
1237 |
+
check_ajax_referer('grandMedia');
|
1238 |
|
1239 |
// start from the default path
|
1240 |
+
$root = trailingslashit(ABSPATH);
|
1241 |
// get the current directory
|
1242 |
+
$dir = trailingslashit(urldecode($_POST['dir']));
|
1243 |
|
1244 |
+
if(file_exists($root . $dir)){
|
1245 |
$files = scandir($root . $dir);
|
1246 |
natcasesort($files);
|
1247 |
|
1248 |
// The 2 counts for . and ..
|
1249 |
+
if(count($files) > 2){
|
1250 |
echo "<ul class=\"jqueryDirTree\" style=\"display: none;\">";
|
1251 |
// return only directories
|
1252 |
+
foreach($files as $file){
|
1253 |
+
if(in_array($file, array('wp-admin', 'wp-includes', 'plugins', 'themes', 'thumb', 'thumbs'))){
|
1254 |
continue;
|
1255 |
+
}
|
1256 |
|
1257 |
+
if(file_exists($root . $dir . $file) && $file != '.' && $file != '..' && is_dir($root . $dir . $file)){
|
1258 |
echo "<li class=\"directory collapsed\"><a href=\"#\" rel=\"" . esc_attr($dir . $file) . "/\">" . esc_html($file) . "</a></li>";
|
1259 |
}
|
1260 |
}
|
admin/css/grand-media.css
CHANGED
@@ -5,6 +5,12 @@ html { background:#708090; }
|
|
5 |
#TB_caption { height:auto; }
|
6 |
a { color:#0074a2; }
|
7 |
input[type="checkbox"] { margin-top:2px; margin-right:2px }
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
form {margin:0;}
|
9 |
body.gmedia-busy { cursor:wait !important; }
|
10 |
iframe, iframe html { background-color:#ffffff; }
|
@@ -62,6 +68,8 @@ div#gmedia-header h2 {
|
|
62 |
|
63 |
div#gmedia-navbar { font-size:14px; }
|
64 |
|
|
|
|
|
65 |
form.gmedia-search-form {
|
66 |
float:right;
|
67 |
margin-left:10px;
|
@@ -79,22 +87,30 @@ input.pager_current_page {
|
|
79 |
}
|
80 |
|
81 |
.txt-lg { font-size:120%; line-height:50%; }
|
82 |
-
|
83 |
.btn > input[type="checkbox"] { margin-top:0; width:16px; height:16px; }
|
84 |
|
85 |
.gm-checkgroup { margin-right:20px; }
|
86 |
|
87 |
.gm-backfade { background-color:rgba(0, 0, 0, 0.1); }
|
88 |
|
|
|
|
|
|
|
89 |
div#gm-list-table { font-size:13px; }
|
90 |
.list-group-item.row { position:relative; margin-left:0; margin-right:0; padding-left:0; padding-right:0; }
|
91 |
-
.list-group-item.d-row { position:relative; }
|
92 |
-
div.list-group-item.d-row:hover { background-color:#fafafa; }
|
93 |
-
form.list-group-item.d-row:hover { background-color:#fcfcfc; }
|
94 |
-
.list-group-item.d-row.active { background-color:rgb(250, 255, 245); box-shadow:inset -1px 0 0 2px rgb(250, 255, 245), inset 7px 0 0 0 #1e8cbe; }
|
95 |
-
.list-group-item.d-row.active:hover { background-color:rgb(245, 255, 240); box-shadow:inset -1px 0 0 2px rgb(245, 255, 240), inset 7px 0 0 0 #1e8cbe; }
|
|
|
|
|
|
|
|
|
96 |
|
97 |
label.cb_media-object { margin-right:15px; float:left; width:310px; max-width: 100%; }
|
|
|
98 |
.d-row .thumbnail { margin-bottom:0; }
|
99 |
.active .thumbnail { border-color:#428bca; }
|
100 |
.thumbnail { position:relative; display:inline-block; max-width:100%; }
|
@@ -104,10 +120,12 @@ label.cb_media-object { margin-right:15px; float:left; width:310px; max-width: 1
|
|
104 |
.media-meta { width:100%; overflow:hidden; text-overflow:ellipsis; /*white-space:nowrap;*/ }
|
105 |
.media-meta .label-default { background-color:#eeeeee; color:#444444; }
|
106 |
|
107 |
-
.gmedia_id
|
|
|
|
|
108 |
.term_id { position:absolute; right:0; top:0; padding: 10px 10px 0 0px; background-color:#fff; display:none; height:100%; box-shadow: -10px 0 5px -2px #fff; z-index:100; }
|
109 |
-
#gm-list-table .list-group-item:hover .gmedia_id,
|
110 |
-
#gm-list-table .list-group-item:hover .term_id { display:block; }
|
111 |
|
112 |
#gm-list-table .hidden { display:none !important; visibility:hidden !important; }
|
113 |
|
@@ -116,13 +134,14 @@ form#adv-settings .form-inline .form-group { margin-right:20px; }
|
|
116 |
form.changed { }
|
117 |
form.changed.saved { }
|
118 |
form.changed .gm-last-edited { text-decoration:line-through; }
|
|
|
119 |
|
120 |
.rel-selected-hide { display:none; }
|
121 |
|
122 |
div#pluploadUploader { padding:0; }
|
123 |
div#pluploadUploader * { box-sizing:content-box; }
|
124 |
.plupload_container { padding:0; }
|
125 |
-
div#pluploadUploader_container { border-bottom-right-radius: 4px; }
|
126 |
div#pluploadUploader_container .plupload_filelist_footer { border-bottom-right-radius: 4px; }
|
127 |
div.panel-body, div#gmedia-msg-panel { -webkit-transition:all .2s ease-in-out; transition:all .2s ease-in-out; }
|
128 |
div.panel-body:empty, div#gmedia-msg-panel:empty { padding:0; }
|
@@ -139,17 +158,20 @@ div#gmedia-msg-panel .alert { padding:2px 35px 2px 12px; margin-bottom:5px; }
|
|
139 |
.selectize-control.input-sm .selectize-input:after { right: 10px; }
|
140 |
|
141 |
.term-list-item {padding-top:0; padding-bottom:0;}
|
|
|
|
|
142 |
.term-list-item .checkbox input {margin-top:0; margin-right:15px;}
|
143 |
-
.term-list-item .term-description {padding:1px 0 4px; white-space:nowrap; overflow:hidden;}
|
144 |
.term-list-item .term-description:empty {padding:0;}
|
145 |
.term-list-item .term-images {padding-top:5px; padding-bottom:2px; overflow:hidden; white-space:nowrap;}
|
146 |
.term-list-item .term-images img {position:relative; height:30px; width:auto; background-color:#ffffff;}
|
147 |
-
.term-list-item .
|
|
|
148 |
|
149 |
-
.edit_tag_form {display:inline-block; margin-left:-5px;}
|
150 |
.edit_tag_form input.edit_tag_input {padding:0 5px;border-width:0 0 1px 0;margin:0;}
|
151 |
a.edit_tag_save.btn {padding-top:0;padding-bottom:0;}
|
152 |
-
a.edit_tag_save.btn-link:hover {text-decoration:none;}
|
153 |
|
154 |
.gm-img-thumbnail {
|
155 |
display: inline-block;
|
@@ -176,7 +198,7 @@ a.edit_tag_save.btn-link:hover {text-decoration:none;}
|
|
176 |
.termItems .gm-img-thumbnail img {height:auto;width:auto;max-width:100%;max-height:100%;display:inline-block;vertical-align:middle;}
|
177 |
|
178 |
.choose-module {padding:10px;cursor:pointer;}
|
179 |
-
.choose-module:hover {background-color:#d0e9c6;}
|
180 |
.choose-module .thumbnail {margin-bottom:0;}
|
181 |
|
182 |
|
@@ -218,6 +240,9 @@ body.gmedia-blank .media-edit-sidebar .panel-footer {position:absolute; left:0;
|
|
218 |
}
|
219 |
#gallery_preview {width:100%; height:600px; border: solid #ccc 1px; overflow:auto;}
|
220 |
|
|
|
|
|
|
|
221 |
@media (min-width:782px) {
|
222 |
div.modal { top:32px; }
|
223 |
|
@@ -275,13 +300,13 @@ body.gmedia-blank .media-edit-sidebar .panel-footer {position:absolute; left:0;
|
|
275 |
border-radius: 4px 0 0 4px;
|
276 |
}
|
277 |
|
278 |
-
.tabs-left > .nav-tabs > li > a:hover,
|
279 |
.tabs-left > .nav-tabs > li > a:focus {
|
280 |
border-color: #eeeeee #dddddd #eeeeee #eeeeee;
|
281 |
}
|
282 |
|
283 |
.tabs-left > .nav-tabs .active > a,
|
284 |
-
.tabs-left > .nav-tabs .active > a:hover,
|
285 |
.tabs-left > .nav-tabs .active > a:focus {
|
286 |
border-color: #ddd transparent #ddd #ddd;
|
287 |
*border-right-color: #ffffff;
|
@@ -300,13 +325,13 @@ body.gmedia-blank .media-edit-sidebar .panel-footer {position:absolute; left:0;
|
|
300 |
border-radius: 0 4px 4px 0;
|
301 |
}
|
302 |
|
303 |
-
.tabs-right > .nav-tabs > li > a:hover,
|
304 |
.tabs-right > .nav-tabs > li > a:focus {
|
305 |
border-color: #eeeeee #eeeeee #eeeeee #dddddd;
|
306 |
}
|
307 |
|
308 |
.tabs-right > .nav-tabs .active > a,
|
309 |
-
.tabs-right > .nav-tabs .active > a:hover,
|
310 |
.tabs-right > .nav-tabs .active > a:focus {
|
311 |
border-color: #ddd #ddd #ddd transparent;
|
312 |
*border-left-color: #ffffff;
|
5 |
#TB_caption { height:auto; }
|
6 |
a { color:#0074a2; }
|
7 |
input[type="checkbox"] { margin-top:2px; margin-right:2px }
|
8 |
+
input::-moz-focus-inner {
|
9 |
+
border: 0;
|
10 |
+
padding: 0;
|
11 |
+
margin-top:-2px;
|
12 |
+
margin-bottom: -2px;
|
13 |
+
}
|
14 |
form {margin:0;}
|
15 |
body.gmedia-busy { cursor:wait !important; }
|
16 |
iframe, iframe html { background-color:#ffffff; }
|
68 |
|
69 |
div#gmedia-navbar { font-size:14px; }
|
70 |
|
71 |
+
div.library-author {position:absolute; right:15px; top:-35px; padding: 5px 10px; margin:0}
|
72 |
+
|
73 |
form.gmedia-search-form {
|
74 |
float:right;
|
75 |
margin-left:10px;
|
87 |
}
|
88 |
|
89 |
.txt-lg { font-size:120%; line-height:50%; }
|
90 |
+
a.text-danger{ color:#a94442; }
|
91 |
.btn > input[type="checkbox"] { margin-top:0; width:16px; height:16px; }
|
92 |
|
93 |
.gm-checkgroup { margin-right:20px; }
|
94 |
|
95 |
.gm-backfade { background-color:rgba(0, 0, 0, 0.1); }
|
96 |
|
97 |
+
.dropdown-menu > .disabled{ cursor: not-allowed; }
|
98 |
+
.dropdown-menu > .disabled > a{ pointer-events: none; }
|
99 |
+
|
100 |
div#gm-list-table { font-size:13px; }
|
101 |
.list-group-item.row { position:relative; margin-left:0; margin-right:0; padding-left:0; padding-right:0; }
|
102 |
+
.list-group-item.d-row { position:relative; color: inherit; }
|
103 |
+
.no-touch div.list-group-item.d-row:hover { background-color:#fafafa; }
|
104 |
+
.no-touch form.list-group-item.d-row:hover { background-color:#fcfcfc; }
|
105 |
+
.list-group-item.d-row.active { color:#444; border-color: #ddd; background-color:rgb(250, 255, 245); box-shadow:inset -1px 0 0 2px rgb(250, 255, 245), inset 7px 0 0 0 #1e8cbe; }
|
106 |
+
.no-touch .list-group-item.d-row.active:hover { color:#444; border-color: #ddd; background-color:rgb(245, 255, 240); box-shadow:inset -1px 0 0 2px rgb(245, 255, 240), inset 7px 0 0 0 #1e8cbe; }
|
107 |
+
.list-group-item-info { background-color: #d9edf7 !important; }
|
108 |
+
.list-group-item-warning { background-color: #fcf8e3 !important; }
|
109 |
+
.bg-status-private { background-color: #d9edf7; box-shadow:3px 0 0 5px #d9edf7, -2px 0 0 5px #6fbfff; }
|
110 |
+
.bg-status-draft { background-color: #fcf8e3; box-shadow:3px 0 0 5px #fcf8e3, -2px 0 0 5px #ffd87c; }
|
111 |
|
112 |
label.cb_media-object { margin-right:15px; float:left; width:310px; max-width: 100%; }
|
113 |
+
div.li_media-object { margin-right:15px; padding-left:15px; float:left; width:310px; max-width: 100%; }
|
114 |
.d-row .thumbnail { margin-bottom:0; }
|
115 |
.active .thumbnail { border-color:#428bca; }
|
116 |
.thumbnail { position:relative; display:inline-block; max-width:100%; }
|
120 |
.media-meta { width:100%; overflow:hidden; text-overflow:ellipsis; /*white-space:nowrap;*/ }
|
121 |
.media-meta .label-default { background-color:#eeeeee; color:#444444; }
|
122 |
|
123 |
+
.gmedia_id { position:absolute; right:10px; top:10px; }
|
124 |
+
.no-touch .gmedia_id,
|
125 |
+
.no-touch .term_id { display:none; }
|
126 |
.term_id { position:absolute; right:0; top:0; padding: 10px 10px 0 0px; background-color:#fff; display:none; height:100%; box-shadow: -10px 0 5px -2px #fff; z-index:100; }
|
127 |
+
.no-touch #gm-list-table .list-group-item:hover .gmedia_id,
|
128 |
+
.no-touch #gm-list-table .list-group-item:hover .term_id { display:block; }
|
129 |
|
130 |
#gm-list-table .hidden { display:none !important; visibility:hidden !important; }
|
131 |
|
134 |
form.changed { }
|
135 |
form.changed.saved { }
|
136 |
form.changed .gm-last-edited { text-decoration:line-through; }
|
137 |
+
.selectize-input.full input { width: 4px !important; }
|
138 |
|
139 |
.rel-selected-hide { display:none; }
|
140 |
|
141 |
div#pluploadUploader { padding:0; }
|
142 |
div#pluploadUploader * { box-sizing:content-box; }
|
143 |
.plupload_container { padding:0; }
|
144 |
+
div#pluploadUploader_container { min-height: 450px; border-bottom-right-radius: 4px; }
|
145 |
div#pluploadUploader_container .plupload_filelist_footer { border-bottom-right-radius: 4px; }
|
146 |
div.panel-body, div#gmedia-msg-panel { -webkit-transition:all .2s ease-in-out; transition:all .2s ease-in-out; }
|
147 |
div.panel-body:empty, div#gmedia-msg-panel:empty { padding:0; }
|
158 |
.selectize-control.input-sm .selectize-input:after { right: 10px; }
|
159 |
|
160 |
.term-list-item {padding-top:0; padding-bottom:0;}
|
161 |
+
.term-list-item .term-label .checkbox {padding-left:35px;}
|
162 |
+
.term-list-item .term-label .checkbox > input {margin-left:-35px;}
|
163 |
.term-list-item .checkbox input {margin-top:0; margin-right:15px;}
|
164 |
+
.term-list-item .term-description {padding:1px 0 4px; white-space:nowrap; overflow:hidden; color:#444444;}
|
165 |
.term-list-item .term-description:empty {padding:0;}
|
166 |
.term-list-item .term-images {padding-top:5px; padding-bottom:2px; overflow:hidden; white-space:nowrap;}
|
167 |
.term-list-item .term-images img {position:relative; height:30px; width:auto; background-color:#ffffff;}
|
168 |
+
.term-list-item .term_info_author {font-size:80%; margin-left:10px;}
|
169 |
+
.no-touch .term-list-item .term-images img:hover {z-index:100 !important;}
|
170 |
|
171 |
+
.edit_tag_form {display:inline-block; margin-left:-5px; margin-bottom:-1px; margin-top:-1px;}
|
172 |
.edit_tag_form input.edit_tag_input {padding:0 5px;border-width:0 0 1px 0;margin:0;}
|
173 |
a.edit_tag_save.btn {padding-top:0;padding-bottom:0;}
|
174 |
+
.no-touch a.edit_tag_save.btn-link:hover {text-decoration:none;}
|
175 |
|
176 |
.gm-img-thumbnail {
|
177 |
display: inline-block;
|
198 |
.termItems .gm-img-thumbnail img {height:auto;width:auto;max-width:100%;max-height:100%;display:inline-block;vertical-align:middle;}
|
199 |
|
200 |
.choose-module {padding:10px;cursor:pointer;}
|
201 |
+
.no-touch .choose-module:hover {background-color:#d0e9c6;}
|
202 |
.choose-module .thumbnail {margin-bottom:0;}
|
203 |
|
204 |
|
240 |
}
|
241 |
#gallery_preview {width:100%; height:600px; border: solid #ccc 1px; overflow:auto;}
|
242 |
|
243 |
+
#adv-settings { overflow:hidden; }
|
244 |
+
#screen-meta .form-group { padding-bottom: 10px; }
|
245 |
+
|
246 |
@media (min-width:782px) {
|
247 |
div.modal { top:32px; }
|
248 |
|
300 |
border-radius: 4px 0 0 4px;
|
301 |
}
|
302 |
|
303 |
+
.no-touch .tabs-left > .nav-tabs > li > a:hover,
|
304 |
.tabs-left > .nav-tabs > li > a:focus {
|
305 |
border-color: #eeeeee #dddddd #eeeeee #eeeeee;
|
306 |
}
|
307 |
|
308 |
.tabs-left > .nav-tabs .active > a,
|
309 |
+
.no-touch .tabs-left > .nav-tabs .active > a:hover,
|
310 |
.tabs-left > .nav-tabs .active > a:focus {
|
311 |
border-color: #ddd transparent #ddd #ddd;
|
312 |
*border-right-color: #ffffff;
|
325 |
border-radius: 0 4px 4px 0;
|
326 |
}
|
327 |
|
328 |
+
.no-touch .tabs-right > .nav-tabs > li > a:hover,
|
329 |
.tabs-right > .nav-tabs > li > a:focus {
|
330 |
border-color: #eeeeee #eeeeee #eeeeee #dddddd;
|
331 |
}
|
332 |
|
333 |
.tabs-right > .nav-tabs .active > a,
|
334 |
+
.no-touch .tabs-right > .nav-tabs .active > a:hover,
|
335 |
.tabs-right > .nav-tabs .active > a:focus {
|
336 |
border-color: #ddd #ddd #ddd transparent;
|
337 |
*border-left-color: #ffffff;
|
admin/galleries.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
-
if
|
3 |
-
die(
|
4 |
}
|
5 |
|
6 |
/**
|
@@ -8,7 +8,7 @@ if ( preg_match( '#' . basename( __FILE__ ) . '#', $_SERVER['PHP_SELF'] ) ) {
|
|
8 |
*
|
9 |
* @return mixed content
|
10 |
*/
|
11 |
-
function gmediaGalleries()
|
12 |
global $user_ID, $gmDB, $gmCore, $gmGallery, $gmProcessor;
|
13 |
|
14 |
$url = add_query_arg(array('page' => $gmProcessor->page), admin_url('admin.php'));
|
@@ -22,11 +22,23 @@ function gmediaGalleries() {
|
|
22 |
*/
|
23 |
|
24 |
$filter = ('selected' == $gmCore->_req('filter'))? $gmProcessor->selected_items : null;
|
25 |
-
$args = array(
|
26 |
-
|
27 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
$args['offset'] = ($args['page'] - 1) * $args['number'];
|
29 |
|
|
|
|
|
|
|
|
|
|
|
|
|
30 |
$taxonomy = 'gmedia_gallery';
|
31 |
$gmediaTerms = $gmDB->get_terms($taxonomy, $args);
|
32 |
if(is_wp_error($gmediaTerms)){
|
@@ -45,7 +57,7 @@ function gmediaGalleries() {
|
|
45 |
);
|
46 |
}
|
47 |
}
|
48 |
-
if(($upload_modules = glob($gmCore->upload['path'].'/'
|
49 |
foreach($upload_modules as $path){
|
50 |
$mfold = basename($path);
|
51 |
$modules[$mfold] = array(
|
@@ -100,14 +112,17 @@ function gmediaGalleries() {
|
|
100 |
?>
|
101 |
<ul class="dropdown-menu" role="menu">
|
102 |
<li class="dropdown-header <?php echo $rel_selected_hide; ?>"><span><?php _e("Select items to see more actions", "gmLang"); ?></span></li>
|
103 |
-
<li class="<?php echo $rel_selected_show; ?>"
|
|
|
|
|
104 |
<?php do_action('gmedia_term_action_list'); ?>
|
105 |
</ul>
|
106 |
</div>
|
107 |
|
108 |
<form class="btn-group" id="gm-selected-btn" name="gm-selected-form" action="<?php echo add_query_arg(array('filter' => 'selected'), $url); ?>" method="post">
|
109 |
<button type="submit" class="btn btn<?php echo ('selected' == $gmCore->_req('filter'))? '-success' : '-info' ?>"><?php printf(__('%s selected', 'gmLang'), '<span id="gm-selected-qty">' . count($gmProcessor->selected_items) . '</span>'); ?></button>
|
110 |
-
<button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown"><span class="caret"></span>
|
|
|
111 |
<input type="hidden" id="gm-selected" data-userid="<?php echo $user_ID; ?>" data-key="<?php echo $taxonomy; ?>" name="selected_items" value="<?php echo implode(',', $gmProcessor->selected_items); ?>"/>
|
112 |
<ul class="dropdown-menu" role="menu">
|
113 |
<li><a id="gm-selected-show" href="#show"><?php _e('Show only selected items', 'gmLang'); ?></a></li>
|
@@ -129,7 +144,7 @@ function gmediaGalleries() {
|
|
129 |
$term_meta = array_map('reset', $term_meta);
|
130 |
$term_meta = array_map('maybe_unserialize', $term_meta);
|
131 |
|
132 |
-
$module = $gmCore->get_module_path(
|
133 |
$module_info = array('type' => '—');
|
134 |
if(file_exists($module['path'] . '/index.php')){
|
135 |
$broken = false;
|
@@ -138,6 +153,11 @@ function gmediaGalleries() {
|
|
138 |
$broken = true;
|
139 |
}
|
140 |
|
|
|
|
|
|
|
|
|
|
|
141 |
|
142 |
$is_selected = in_array($term->term_id, $gmProcessor->selected_items)? true : false;
|
143 |
?>
|
@@ -147,16 +167,28 @@ function gmediaGalleries() {
|
|
147 |
<label class="cb_media-object" style="width:130px;">
|
148 |
<input name="doaction[]" type="checkbox"<?php echo $is_selected? ' checked="checked"' : ''; ?> data-type="<?php echo $term_meta['module']; ?>" class="hidden" value="<?php echo $term->term_id; ?>"/>
|
149 |
<?php if(!$broken){ ?>
|
150 |
-
<span class="thumbnail"><img src="<?php echo $module['url'].'/screenshot.png'; ?>" alt="<?php echo esc_attr($term->name); ?>"/></span>
|
151 |
<?php } else{ ?>
|
152 |
<div class="bg-danger text-center"><?php _e('Module broken <br>Reinstall module', 'gmLang') ?></div>
|
153 |
<?php } ?>
|
154 |
</label>
|
|
|
155 |
<div class="media-body" style="margin-left:145px;">
|
156 |
<p class="media-title">
|
157 |
-
|
|
|
|
|
|
|
|
|
158 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
<p class="media-caption"><?php echo esc_html($term->description); ?></p>
|
|
|
160 |
<p class="media-meta" title="<?php _e('Shortcode', 'gmLang'); ?>" style="font-weight:bold">
|
161 |
<span class="label label-default"><?php _e('Shortcode', 'gmLang'); ?>:</span> [gmedia id=<?php echo $term->term_id; ?>]
|
162 |
</p>
|
@@ -165,17 +197,17 @@ function gmediaGalleries() {
|
|
165 |
<div class="col-xs-5">
|
166 |
<p class="media-meta">
|
167 |
<span class="label label-default"><?php _e('Module', 'gmLang'); ?>:</span> <?php echo $term_meta['module']; ?>
|
168 |
-
<br><span class="label label-default"><?php _e('Type','gmLang'); ?>:</span> <?php echo $module_info['type']; ?>
|
169 |
-
<br><span class="label label-default"><?php _e('Last Edited','gmLang'); ?>:</span> <?php echo $term_meta['edited']; ?>
|
170 |
-
<br><span class="label label-default"><?php _e('Status','gmLang'); ?>:</span> <?php echo $term->status; ?>
|
171 |
-
<br><span class="label label-default"><?php _e('Source','gmLang'); ?>:</span>
|
172 |
<?php
|
173 |
$gallery_tabs = reset($term_meta['query']);
|
174 |
$tax_tabs = key($term_meta['query']);
|
175 |
if('gmedia__in' == $tax_tabs){
|
176 |
_e('Selected Gmedia', 'gmLang');
|
177 |
$gmedia_ids = wp_parse_id_list($gallery_tabs[0]);
|
178 |
-
$gal_source = sprintf('<a class="selected__in" href="%s">'.__('Show %d items in Gmedia Library','gmLang').'</a>', esc_url(add_query_arg(array('gmedia__in' => implode(',', $gmedia_ids)), $lib_url)), count($gmedia_ids));
|
179 |
echo " ($gal_source)";
|
180 |
} else{
|
181 |
$tabs = $gmDB->get_terms($tax_tabs, array('include' => $gallery_tabs));
|
@@ -202,7 +234,7 @@ function gmediaGalleries() {
|
|
202 |
}
|
203 |
}
|
204 |
if(!empty($terms_source)){
|
205 |
-
echo ' ('.join(', ', $terms_source).')';
|
206 |
}
|
207 |
}
|
208 |
?>
|
@@ -252,15 +284,18 @@ function gmediaGalleries() {
|
|
252 |
if(empty($module_info)){
|
253 |
continue;
|
254 |
}
|
255 |
-
$mclass = ' module-'
|
256 |
?>
|
257 |
<div data-href="<?php echo add_query_arg(array('gallery_module' => $module_name), $url); ?>" class="choose-module media<?php echo $mclass; ?>">
|
258 |
<a href="<?php echo add_query_arg(array('gallery_module' => $module_name), $url); ?>" class="thumbnail pull-left">
|
259 |
-
<img class="media-object" src="<?php echo $module_url.'/screenshot.png'; ?>" alt="<?php echo esc_attr($module_info['title']); ?>" width="160" height="120"/>
|
260 |
</a>
|
|
|
261 |
<div class="media-body" style="margin-left:180px;">
|
262 |
<h4 class="media-heading"><?php echo $module_info['title']; ?></h4>
|
|
|
263 |
<p class="version"><?php echo __('Version', 'gmLang') . ': ' . $module_info['version']; ?></p>
|
|
|
264 |
<div class="description"><?php echo str_replace("\n", '<br />', $module_info['description']); ?></div>
|
265 |
</div>
|
266 |
</div>
|
@@ -277,7 +312,7 @@ function gmediaGalleries() {
|
|
277 |
</div>
|
278 |
</div>
|
279 |
</div>
|
280 |
-
|
281 |
}
|
282 |
|
283 |
/**
|
@@ -285,19 +320,26 @@ function gmediaGalleries() {
|
|
285 |
*
|
286 |
* @return mixed content
|
287 |
*/
|
288 |
-
function gmediaGalleryEdit()
|
289 |
-
global $gmDB, $gmCore, $gmGallery, $gmProcessor;
|
290 |
|
291 |
$alert = array();
|
292 |
|
293 |
$module_name = $gmCore->_get('gallery_module');
|
294 |
$gallery_id = $gmCore->_get('edit_gallery');
|
|
|
|
|
|
|
|
|
|
|
|
|
295 |
|
296 |
-
$url = add_query_arg(array('page' => $gmProcessor->page, 'edit_gallery' => $gallery_id
|
297 |
|
298 |
$gallery = array(
|
299 |
-
'name'=>'',
|
300 |
-
'description'=>'',
|
|
|
301 |
'status' => 'public',
|
302 |
'edited' => '—',
|
303 |
'module' => '',
|
@@ -306,23 +348,32 @@ function gmediaGalleryEdit() {
|
|
306 |
);
|
307 |
$taxonomy = 'gmedia_gallery';
|
308 |
if($gallery_id){
|
309 |
-
$url = add_query_arg(array('page' => $gmProcessor->page, 'edit_gallery' => $gallery_id
|
310 |
$gallery = $gmDB->get_term($gallery_id, $taxonomy, ARRAY_A);
|
311 |
if(is_wp_error($gallery)){
|
312 |
$alert[] = $gallery->get_error_message();
|
313 |
} elseif(empty($gallery)){
|
314 |
$alert[] = sprintf(__('No gallery with ID #%s in database'), $gallery_id);
|
315 |
} else{
|
316 |
-
$
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
322 |
}
|
323 |
}
|
324 |
} elseif($module_name){
|
325 |
-
$url = add_query_arg(array('page' => $gmProcessor->page, 'gallery_module' => $module_name
|
326 |
$error_post = $gmCore->_post('gallery');
|
327 |
if($error_post){
|
328 |
$gallery = $gmCore->array_replace_recursive($gallery, $error_post);
|
@@ -333,6 +384,7 @@ function gmediaGalleryEdit() {
|
|
333 |
if(!empty($alert)){
|
334 |
echo $gmProcessor->alert('danger', $alert);
|
335 |
gmediaGalleries();
|
|
|
336 |
return;
|
337 |
}
|
338 |
|
@@ -348,7 +400,7 @@ function gmediaGalleryEdit() {
|
|
348 |
);
|
349 |
}
|
350 |
}
|
351 |
-
if(($upload_modules = glob($gmCore->upload['path'].'/'
|
352 |
foreach($upload_modules as $path){
|
353 |
$mfold = basename($path);
|
354 |
$modules[$mfold] = array(
|
@@ -405,343 +457,399 @@ function gmediaGalleryEdit() {
|
|
405 |
?>
|
406 |
|
407 |
<form class="panel panel-default" id="gallerySettingsForm" method="post" action="<?php echo $url; ?>">
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
</
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
<button type="submit" name="
|
423 |
<?php } ?>
|
424 |
-
|
|
|
425 |
</div>
|
426 |
</div>
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
<
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
444 |
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
<?php
|
454 |
-
<input type="hidden" name="gallery[module]" value="<?php echo esc_attr($module_name); ?>">
|
455 |
-
<div class="form-group">
|
456 |
-
<label><?php _e('Gallery Name', 'gmLang'); ?></label>
|
457 |
-
<input type="text" class="form-control input-sm" name="gallery[name]" placeholder="<?php echo empty($gallery['name'])? esc_attr(__('Gallery Name', 'gmLang')) : esc_attr($gallery['name']); ?>" value="<?php echo esc_attr($gallery['name']); ?>" required="required" />
|
458 |
-
</div>
|
459 |
-
<div class="form-group">
|
460 |
-
<label><?php _e('Status', 'gmLang'); ?></label>
|
461 |
-
<select name="gallery[status]" class="form-control input-sm">
|
462 |
-
<option value="public"<?php selected($gallery['status'], 'public'); ?>><?php _e('Public', 'gmLang'); ?></option>
|
463 |
-
<?php /* ?>
|
464 |
<option value="private"<?php selected($gallery['status'], 'private'); ?>><?php _e('Private', 'gmLang'); ?></option>
|
465 |
<option value="draft"<?php selected($gallery['status'], 'draft'); ?>><?php _e('Draft', 'gmLang'); ?></option>
|
466 |
-
<?php */
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
|
|
|
|
|
|
481 |
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
}
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
</
|
|
|
503 |
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
$terms_items = '';
|
510 |
-
if(count($gm_terms)){
|
511 |
-
foreach($gm_terms as $id => $term){
|
512 |
-
$selected = (isset($gallery['query'][$term_type]) && in_array($id, $gallery['query'][$term_type]))? ' selected="selected"' : '';
|
513 |
-
$terms_items .= '<option value="' . $id . '"'.$selected.'>' . esc_html($term['name']) . ' (' . $term['count'] . ')</option>' . "\n";
|
514 |
-
}
|
515 |
-
}
|
516 |
-
$setvalue = isset($gallery['query'][$term_type])? 'data-setvalue="'.implode(',',$gallery['query'][$term_type]).'"' : '';
|
517 |
-
?>
|
518 |
-
<label><?php _e('Choose Tags', 'gmLang'); ?> </label>
|
519 |
-
<select data-gmedia_query="is:gmedia_tag" <?php echo $setvalue; ?> id="gmedia_tag" name="gallery[query][gmedia_tag][]" class="gmedia-combobox form-control input-sm" multiple="multiple" placeholder="<?php echo esc_attr(__('Choose Tags...', 'gmLang')); ?>">
|
520 |
-
<option value=""><?php echo __('Choose Tags...', 'gmLang'); ?></option>
|
521 |
-
<?php echo $terms_items; ?>
|
522 |
-
</select>
|
523 |
-
</div>
|
524 |
|
525 |
-
|
526 |
-
|
527 |
-
$
|
528 |
-
|
529 |
-
|
530 |
-
$terms_items = '';
|
531 |
-
if(count($gm_terms)){
|
532 |
-
foreach($gm_terms as $id => $term){
|
533 |
-
//if(!$term->count){ continue; }
|
534 |
-
$selected = (isset($gallery['query'][$term_type]) && in_array($id, $gallery['query'][$term_type]))? ' selected="selected"' : '';
|
535 |
-
$terms_items .= '<option value="' . $id . '"'.$selected.'>' . esc_html($term['name']) . ' (' . $term['count'] . ')</option>' . "\n";
|
536 |
-
}
|
537 |
}
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
</
|
|
|
546 |
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
552 |
|
553 |
-
<
|
554 |
-
|
555 |
-
|
556 |
-
</div>
|
557 |
|
558 |
-
|
|
|
|
|
|
|
|
|
559 |
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
}
|
564 |
-
?>
|
565 |
</div>
|
566 |
|
567 |
-
</
|
568 |
-
<div class="col-lg-6" style="padding-top:20px;">
|
569 |
-
<p><b><?php _e('Last edited:'); ?></b> <?php echo $gallery['edited']; ?></p>
|
570 |
-
<?php if($gallery_id){
|
571 |
-
$params = array();
|
572 |
-
$params['preview'] = ($gallery['module'] != $module_name)? $module_name : false;
|
573 |
-
$params['iframe'] = 1;
|
574 |
-
?>
|
575 |
-
<p><b><?php _e('Gallery ID:'); ?></b> #<?php echo $gallery_id; ?></p>
|
576 |
-
<p><b><?php _e('Gallery URL:'); ?></b> <?php
|
577 |
-
$gallery_link_default = home_url('index.php?gmedia='.$gallery_id);
|
578 |
-
if ( get_option('permalink_structure') ) {
|
579 |
-
$ep = $gmGallery->options['endpoint'];
|
580 |
-
$gallery_link = home_url($ep.'/'.$gallery_id);
|
581 |
-
} else{
|
582 |
-
$gallery_link = $gallery_link_default;
|
583 |
-
} ?>
|
584 |
-
<a target="_blank" href="<?php echo $gallery_link; ?>"><?php echo $gallery_link; ?></a>
|
585 |
-
<br /><?php _e('update <a href="options-permalink.php">Permalink Settings</a> if above link not working', 'gmLang'); ?>
|
586 |
-
</p>
|
587 |
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
</div>
|
594 |
</div>
|
595 |
-
<script type="text/javascript">
|
596 |
-
jQuery(function($){
|
597 |
-
<?php if(!empty($alert)){ ?>
|
598 |
-
$('#chooseModuleModal').modal('show');
|
599 |
-
<?php } ?>
|
600 |
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
$
|
625 |
-
|
626 |
-
|
627 |
-
|
628 |
-
|
629 |
-
|
630 |
-
|
631 |
-
|
632 |
-
|
633 |
-
|
634 |
-
letterCase: 'lowercase',
|
635 |
-
opacity: false,
|
636 |
-
position: 'bottom left',
|
637 |
-
show: null,
|
638 |
-
showSpeed: 100,
|
639 |
-
theme: 'bootstrap'
|
640 |
-
});
|
641 |
|
642 |
-
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
|
649 |
-
|
650 |
-
|
651 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
652 |
|
653 |
-
|
654 |
-
|
655 |
-
|
656 |
-
|
657 |
-
|
658 |
-
|
659 |
-
|
660 |
-
|
661 |
-
|
662 |
-
|
663 |
-
|
664 |
-
|
665 |
-
|
666 |
-
|
667 |
-
|
668 |
-
|
669 |
-
|
670 |
-
|
671 |
-
|
672 |
-
|
673 |
-
|
674 |
-
|
675 |
-
|
676 |
-
|
677 |
-
|
678 |
-
|
679 |
-
|
680 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
681 |
} else{
|
682 |
-
|
683 |
-
if(key[2]){
|
684 |
-
$(this).closest('.form-group').stop().slideUp(slide, function(){ $(this).css({display:'none'}); });
|
685 |
-
} else{
|
686 |
-
$(this).prop('disabled',true).closest('.form-group').stop().slideUp(slide, function(){ $(this).css({display:'none'}); });
|
687 |
-
}
|
688 |
-
} else{
|
689 |
-
ch = false;
|
690 |
-
}
|
691 |
-
$(this).data('hidden', ++hidden);
|
692 |
}
|
693 |
-
|
694 |
-
|
695 |
-
|
696 |
-
|
697 |
-
|
698 |
-
|
699 |
-
|
700 |
-
|
701 |
-
|
702 |
-
|
703 |
-
} else{
|
704 |
-
ch = false;
|
705 |
-
}
|
706 |
-
$(this).data('hidden', ++hidden);
|
707 |
} else{
|
708 |
-
|
709 |
-
$(this).
|
710 |
-
|
711 |
-
if(key[2] && slide){
|
712 |
-
key[2] = $(this).data('value');
|
713 |
-
} else{
|
714 |
-
ch = false;
|
715 |
-
}
|
716 |
-
} else{
|
717 |
-
$(this).data('hidden', 0 < hidden? hidden : 0 );
|
718 |
-
ch = false;
|
719 |
-
}
|
720 |
}
|
721 |
-
|
|
|
|
|
|
|
|
|
722 |
}
|
723 |
-
|
724 |
-
|
725 |
-
|
726 |
-
|
727 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
728 |
}
|
729 |
} else{
|
730 |
-
|
731 |
-
|
732 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
733 |
}
|
|
|
|
|
734 |
}
|
|
|
735 |
}
|
736 |
-
|
737 |
}
|
738 |
-
|
739 |
-
|
740 |
-
|
741 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
742 |
</form>
|
743 |
|
744 |
<!-- Modal -->
|
|
|
|
|
|
|
|
|
|
|
|
|
745 |
<div class="modal fade gmedia-modal" id="chooseModuleModal" tabindex="-1" role="dialog" aria-hidden="true">
|
746 |
<div class="modal-dialog">
|
747 |
<div class="modal-content">
|
@@ -772,15 +880,24 @@ function gmediaGalleryEdit() {
|
|
772 |
if(empty($module_info)){
|
773 |
continue;
|
774 |
}
|
775 |
-
$mclass = ' module-'
|
776 |
?>
|
777 |
-
<div data-href="<?php echo add_query_arg(array(
|
778 |
-
|
779 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
780 |
</a>
|
|
|
781 |
<div class="media-body" style="margin-left:180px;">
|
782 |
<h4 class="media-heading"><?php echo $module_info['title']; ?></h4>
|
|
|
783 |
<p class="version"><?php echo __('Version', 'gmLang') . ': ' . $module_info['version']; ?></p>
|
|
|
784 |
<div class="description"><?php echo str_replace("\n", '<br />', $module_info['description']); ?></div>
|
785 |
</div>
|
786 |
</div>
|
@@ -798,6 +915,6 @@ function gmediaGalleryEdit() {
|
|
798 |
</div>
|
799 |
</div>
|
800 |
|
801 |
-
|
802 |
}
|
803 |
|
1 |
<?php
|
2 |
+
if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])){
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
}
|
5 |
|
6 |
/**
|
8 |
*
|
9 |
* @return mixed content
|
10 |
*/
|
11 |
+
function gmediaGalleries(){
|
12 |
global $user_ID, $gmDB, $gmCore, $gmGallery, $gmProcessor;
|
13 |
|
14 |
$url = add_query_arg(array('page' => $gmProcessor->page), admin_url('admin.php'));
|
22 |
*/
|
23 |
|
24 |
$filter = ('selected' == $gmCore->_req('filter'))? $gmProcessor->selected_items : null;
|
25 |
+
$args = array(
|
26 |
+
'orderby' => $gmCore->_get('orderby', 'name'),
|
27 |
+
'order' => $gmCore->_get('order', 'ASC'),
|
28 |
+
'search' => $gmCore->_get('s', ''),
|
29 |
+
'number' => $gmCore->_get('number', 30),
|
30 |
+
'hide_empty' => 0,
|
31 |
+
'page' => $gmCore->_get('pager', 1),
|
32 |
+
'include' => $filter
|
33 |
+
);
|
34 |
$args['offset'] = ($args['page'] - 1) * $args['number'];
|
35 |
|
36 |
+
if($gmCore->caps['gmedia_edit_others_media']){
|
37 |
+
$args['global'] = $gmCore->_get('author', '');
|
38 |
+
} else{
|
39 |
+
$args['global'] = array($user_ID);
|
40 |
+
}
|
41 |
+
|
42 |
$taxonomy = 'gmedia_gallery';
|
43 |
$gmediaTerms = $gmDB->get_terms($taxonomy, $args);
|
44 |
if(is_wp_error($gmediaTerms)){
|
57 |
);
|
58 |
}
|
59 |
}
|
60 |
+
if(($upload_modules = glob($gmCore->upload['path'] . '/' . $gmGallery->options['folder']['module'] . '/*', GLOB_ONLYDIR | GLOB_NOSORT))){
|
61 |
foreach($upload_modules as $path){
|
62 |
$mfold = basename($path);
|
63 |
$modules[$mfold] = array(
|
112 |
?>
|
113 |
<ul class="dropdown-menu" role="menu">
|
114 |
<li class="dropdown-header <?php echo $rel_selected_hide; ?>"><span><?php _e("Select items to see more actions", "gmLang"); ?></span></li>
|
115 |
+
<li class="<?php echo $rel_selected_show; ?>">
|
116 |
+
<a href="<?php echo wp_nonce_url($gmCore->get_admin_url(array('delete' => 'selected'), array('filter')), 'gmedia_delete') ?>" class="gmedia-delete" data-confirm="<?php _e("You are about to permanently delete the selected items.\n\r'Cancel' to stop, 'OK' to delete.", "gmLang"); ?>"><?php _e('Delete Selected Items', 'gmLang'); ?></a>
|
117 |
+
</li>
|
118 |
<?php do_action('gmedia_term_action_list'); ?>
|
119 |
</ul>
|
120 |
</div>
|
121 |
|
122 |
<form class="btn-group" id="gm-selected-btn" name="gm-selected-form" action="<?php echo add_query_arg(array('filter' => 'selected'), $url); ?>" method="post">
|
123 |
<button type="submit" class="btn btn<?php echo ('selected' == $gmCore->_req('filter'))? '-success' : '-info' ?>"><?php printf(__('%s selected', 'gmLang'), '<span id="gm-selected-qty">' . count($gmProcessor->selected_items) . '</span>'); ?></button>
|
124 |
+
<button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown"><span class="caret"></span>
|
125 |
+
<span class="sr-only"><?php _e('Toggle Dropdown', 'gmLang'); ?></span></button>
|
126 |
<input type="hidden" id="gm-selected" data-userid="<?php echo $user_ID; ?>" data-key="<?php echo $taxonomy; ?>" name="selected_items" value="<?php echo implode(',', $gmProcessor->selected_items); ?>"/>
|
127 |
<ul class="dropdown-menu" role="menu">
|
128 |
<li><a id="gm-selected-show" href="#show"><?php _e('Show only selected items', 'gmLang'); ?></a></li>
|
144 |
$term_meta = array_map('reset', $term_meta);
|
145 |
$term_meta = array_map('maybe_unserialize', $term_meta);
|
146 |
|
147 |
+
$module = $gmCore->get_module_path($term_meta['module']);
|
148 |
$module_info = array('type' => '—');
|
149 |
if(file_exists($module['path'] . '/index.php')){
|
150 |
$broken = false;
|
153 |
$broken = true;
|
154 |
}
|
155 |
|
156 |
+
if($term->global == $user_ID){
|
157 |
+
$allow_edit = true;
|
158 |
+
} else{
|
159 |
+
$allow_edit = $gmCore->caps['gmedia_edit_others_media'];
|
160 |
+
}
|
161 |
|
162 |
$is_selected = in_array($term->term_id, $gmProcessor->selected_items)? true : false;
|
163 |
?>
|
167 |
<label class="cb_media-object" style="width:130px;">
|
168 |
<input name="doaction[]" type="checkbox"<?php echo $is_selected? ' checked="checked"' : ''; ?> data-type="<?php echo $term_meta['module']; ?>" class="hidden" value="<?php echo $term->term_id; ?>"/>
|
169 |
<?php if(!$broken){ ?>
|
170 |
+
<span class="thumbnail"><img src="<?php echo $module['url'] . '/screenshot.png'; ?>" alt="<?php echo esc_attr($term->name); ?>"/></span>
|
171 |
<?php } else{ ?>
|
172 |
<div class="bg-danger text-center"><?php _e('Module broken <br>Reinstall module', 'gmLang') ?></div>
|
173 |
<?php } ?>
|
174 |
</label>
|
175 |
+
|
176 |
<div class="media-body" style="margin-left:145px;">
|
177 |
<p class="media-title">
|
178 |
+
<?php if($allow_edit){ ?>
|
179 |
+
<a href="<?php echo add_query_arg(array('edit_gallery' => $term->term_id), $url); ?>"><?php echo esc_html($term->name); ?></a>
|
180 |
+
<?php } else{ ?>
|
181 |
+
<span><?php echo esc_html($term->name); ?></span>
|
182 |
+
<?php } ?>
|
183 |
</p>
|
184 |
+
|
185 |
+
<p class="media-meta">
|
186 |
+
<span class="label label-default"><?php _e('Author', 'gmLang'); ?>
|
187 |
+
:</span> <?php echo $term->global? get_the_author_meta('display_name', $term->global) : '—'; ?>
|
188 |
+
</p>
|
189 |
+
|
190 |
<p class="media-caption"><?php echo esc_html($term->description); ?></p>
|
191 |
+
|
192 |
<p class="media-meta" title="<?php _e('Shortcode', 'gmLang'); ?>" style="font-weight:bold">
|
193 |
<span class="label label-default"><?php _e('Shortcode', 'gmLang'); ?>:</span> [gmedia id=<?php echo $term->term_id; ?>]
|
194 |
</p>
|
197 |
<div class="col-xs-5">
|
198 |
<p class="media-meta">
|
199 |
<span class="label label-default"><?php _e('Module', 'gmLang'); ?>:</span> <?php echo $term_meta['module']; ?>
|
200 |
+
<br><span class="label label-default"><?php _e('Type', 'gmLang'); ?>:</span> <?php echo $module_info['type']; ?>
|
201 |
+
<br><span class="label label-default"><?php _e('Last Edited', 'gmLang'); ?>:</span> <?php echo $term_meta['edited']; ?>
|
202 |
+
<br><span class="label label-default"><?php _e('Status', 'gmLang'); ?>:</span> <?php echo $term->status; ?>
|
203 |
+
<br><span class="label label-default"><?php _e('Source', 'gmLang'); ?>:</span>
|
204 |
<?php
|
205 |
$gallery_tabs = reset($term_meta['query']);
|
206 |
$tax_tabs = key($term_meta['query']);
|
207 |
if('gmedia__in' == $tax_tabs){
|
208 |
_e('Selected Gmedia', 'gmLang');
|
209 |
$gmedia_ids = wp_parse_id_list($gallery_tabs[0]);
|
210 |
+
$gal_source = sprintf('<a class="selected__in" href="%s">' . __('Show %d items in Gmedia Library', 'gmLang') . '</a>', esc_url(add_query_arg(array('gmedia__in' => implode(',', $gmedia_ids)), $lib_url)), count($gmedia_ids));
|
211 |
echo " ($gal_source)";
|
212 |
} else{
|
213 |
$tabs = $gmDB->get_terms($tax_tabs, array('include' => $gallery_tabs));
|
234 |
}
|
235 |
}
|
236 |
if(!empty($terms_source)){
|
237 |
+
echo ' (' . join(', ', $terms_source) . ')';
|
238 |
}
|
239 |
}
|
240 |
?>
|
284 |
if(empty($module_info)){
|
285 |
continue;
|
286 |
}
|
287 |
+
$mclass = ' module-' . $module_info['type'] . ' module-' . $module_info['status'];
|
288 |
?>
|
289 |
<div data-href="<?php echo add_query_arg(array('gallery_module' => $module_name), $url); ?>" class="choose-module media<?php echo $mclass; ?>">
|
290 |
<a href="<?php echo add_query_arg(array('gallery_module' => $module_name), $url); ?>" class="thumbnail pull-left">
|
291 |
+
<img class="media-object" src="<?php echo $module_url . '/screenshot.png'; ?>" alt="<?php echo esc_attr($module_info['title']); ?>" width="160" height="120"/>
|
292 |
</a>
|
293 |
+
|
294 |
<div class="media-body" style="margin-left:180px;">
|
295 |
<h4 class="media-heading"><?php echo $module_info['title']; ?></h4>
|
296 |
+
|
297 |
<p class="version"><?php echo __('Version', 'gmLang') . ': ' . $module_info['version']; ?></p>
|
298 |
+
|
299 |
<div class="description"><?php echo str_replace("\n", '<br />', $module_info['description']); ?></div>
|
300 |
</div>
|
301 |
</div>
|
312 |
</div>
|
313 |
</div>
|
314 |
</div>
|
315 |
+
<?php
|
316 |
}
|
317 |
|
318 |
/**
|
320 |
*
|
321 |
* @return mixed content
|
322 |
*/
|
323 |
+
function gmediaGalleryEdit(){
|
324 |
+
global $gmDB, $gmCore, $gmGallery, $gmProcessor, $user_ID;
|
325 |
|
326 |
$alert = array();
|
327 |
|
328 |
$module_name = $gmCore->_get('gallery_module');
|
329 |
$gallery_id = $gmCore->_get('edit_gallery');
|
330 |
+
$author_new = false;
|
331 |
+
if($gmCore->caps['gmedia_edit_others_media']){
|
332 |
+
$author = (int)$gmCore->_get('author', $user_ID);
|
333 |
+
} else{
|
334 |
+
$author = $user_ID;
|
335 |
+
}
|
336 |
|
337 |
+
$url = add_query_arg(array('page' => $gmProcessor->page, 'edit_gallery' => $gallery_id), admin_url('admin.php'));
|
338 |
|
339 |
$gallery = array(
|
340 |
+
'name' => '',
|
341 |
+
'description' => '',
|
342 |
+
'global' => $author,
|
343 |
'status' => 'public',
|
344 |
'edited' => '—',
|
345 |
'module' => '',
|
348 |
);
|
349 |
$taxonomy = 'gmedia_gallery';
|
350 |
if($gallery_id){
|
351 |
+
$url = add_query_arg(array('page' => $gmProcessor->page, 'edit_gallery' => $gallery_id), admin_url('admin.php'));
|
352 |
$gallery = $gmDB->get_term($gallery_id, $taxonomy, ARRAY_A);
|
353 |
if(is_wp_error($gallery)){
|
354 |
$alert[] = $gallery->get_error_message();
|
355 |
} elseif(empty($gallery)){
|
356 |
$alert[] = sprintf(__('No gallery with ID #%s in database'), $gallery_id);
|
357 |
} else{
|
358 |
+
if(($gallery['global'] == $author) || $gmCore->caps['gmedia_edit_others_media']){
|
359 |
+
$gallery_meta = $gmDB->get_metadata('gmedia_term', $gallery_id);
|
360 |
+
$gallery_meta = array_map('reset', $gallery_meta);
|
361 |
+
$gallery_meta = array_map('maybe_unserialize', $gallery_meta);
|
362 |
+
$gallery = array_merge($gallery, $gallery_meta);
|
363 |
+
if(isset($_GET['author']) && ($gallery['global'] != $author)){
|
364 |
+
unset($gallery['query']['gmedia_album']);
|
365 |
+
$gallery['global'] = $author;
|
366 |
+
$author_new = true;
|
367 |
+
}
|
368 |
+
if(!$module_name){
|
369 |
+
$module_name = $gallery['module'];
|
370 |
+
}
|
371 |
+
} else{
|
372 |
+
$alert[] = __('You are not allowed to edit others media');
|
373 |
}
|
374 |
}
|
375 |
} elseif($module_name){
|
376 |
+
$url = add_query_arg(array('page' => $gmProcessor->page, 'gallery_module' => $module_name), admin_url('admin.php'));
|
377 |
$error_post = $gmCore->_post('gallery');
|
378 |
if($error_post){
|
379 |
$gallery = $gmCore->array_replace_recursive($gallery, $error_post);
|
384 |
if(!empty($alert)){
|
385 |
echo $gmProcessor->alert('danger', $alert);
|
386 |
gmediaGalleries();
|
387 |
+
|
388 |
return;
|
389 |
}
|
390 |
|
400 |
);
|
401 |
}
|
402 |
}
|
403 |
+
if(($upload_modules = glob($gmCore->upload['path'] . '/' . $gmGallery->options['folder']['module'] . '/*', GLOB_ONLYDIR | GLOB_NOSORT))){
|
404 |
foreach($upload_modules as $path){
|
405 |
$mfold = basename($path);
|
406 |
$modules[$mfold] = array(
|
457 |
?>
|
458 |
|
459 |
<form class="panel panel-default" id="gallerySettingsForm" method="post" action="<?php echo $url; ?>">
|
460 |
+
<div class="panel-heading clearfix">
|
461 |
+
<div class="btn-toolbar pull-left">
|
462 |
+
<div class="btn-group">
|
463 |
+
<a href="<?php echo add_query_arg(array('page' => 'GrandMedia_Galleries'), admin_url('admin.php')); ?>" class="btn btn-default"><span class="glyphicon glyphicon-arrow-left"></span> <?php _e('Manage Galleries', 'gmLang'); ?>
|
464 |
+
</a>
|
465 |
+
</div>
|
466 |
+
<div class="btn-group">
|
467 |
+
<?php if($gallery['module'] != $module_name){ ?>
|
468 |
+
<a href="<?php echo $url; ?>" class="btn btn-default"><?php _e('Cancel preview module', 'gmLang'); ?></a>
|
469 |
+
<button type="submit" name="gmedia_gallery_save" class="btn btn-primary"><?php _e('Save with new module', 'gmLang'); ?></button>
|
470 |
+
<?php } else{ ?>
|
471 |
+
<?php $reset_settings = $gmCore->array_diff_keyval_recursive($default_options, $gallery_settings, true);
|
472 |
+
if(!empty($reset_settings)){
|
473 |
+
?>
|
474 |
+
<button type="submit" name="gmedia_gallery_reset" class="btn btn-default" data-confirm="<?php _e('Confirm reset gallery options') ?>"><?php _e('Reset to default', 'gmLang'); ?></button>
|
475 |
<?php } ?>
|
476 |
+
<button type="submit" name="gmedia_gallery_save" class="btn btn-primary"><?php _e('Save', 'gmLang'); ?></button>
|
477 |
+
<?php } ?>
|
478 |
</div>
|
479 |
</div>
|
480 |
+
</div>
|
481 |
+
<div class="panel-body" id="gmedia-msg-panel"></div>
|
482 |
+
<div class="panel-body" id="gmedia-edit-gallery" style="margin-bottom:4px; padding-top:0;">
|
483 |
+
<div class="row">
|
484 |
+
<div class="col-lg-6 tabable tabs-left">
|
485 |
+
<ul class="nav nav-tabs" id="galleryTabs" style="padding:10px 0;">
|
486 |
+
<?php if(isset($module_info)){ ?>
|
487 |
+
<li class="text-center">
|
488 |
+
<strong><?php echo $module_info['title']; ?></strong><a href="#chooseModuleModal" data-toggle="modal" style="padding:5px 0;"><img src="<?php echo $module_url . '/screenshot.png'; ?>" alt="<?php echo esc_attr($module_info['title']); ?>" width="100" style="height:auto;"/></a>
|
489 |
+
</li>
|
490 |
+
<?php } else{ ?>
|
491 |
+
<li class="text-center"><strong><?php echo $gallery['module']; ?></strong>
|
492 |
+
|
493 |
+
<p><?php _e('This module is broken or outdated. Please, go to Modules page and update/install module.', 'gmLang'); ?></p>
|
494 |
+
<a href="#chooseModuleModal" data-toggle="modal" style="padding:5px 0;"><img src="<?php echo $module_url . '/screenshot.png'; ?>" alt="<?php echo esc_attr($gallery['module']); ?>" width="100" style="height:auto;"/></a>
|
495 |
+
</li>
|
496 |
+
<?php } ?>
|
497 |
+
<li class="active"><a href="#general_settings" data-toggle="tab"><?php _e('General Settings', 'gmLang'); ?></a></li>
|
498 |
+
<?php
|
499 |
+
if(isset($options_tree)){
|
500 |
+
gmedia_gallery_options_nav($options_tree);
|
501 |
+
}
|
502 |
+
?>
|
503 |
+
</ul>
|
504 |
+
|
505 |
+
<div id="gallery_options_block" class="tab-content" style="padding-top:20px;">
|
506 |
+
|
507 |
+
<fieldset id="general_settings" class="tab-pane active">
|
508 |
+
<p><?php echo '<b>' . __('Gallery module:') . '</b> ' . $gallery['module'];
|
509 |
+
if($gallery['module'] != $module_name){
|
510 |
+
echo '<br /><b>' . __('Preview module:') . '</b> ' . $module_name;
|
511 |
+
echo '<br /><span class="text-muted">' . sprintf(__('Note: Module changed to %s, but not saved yet'), $module_name) . '</span>';
|
512 |
+
} ?></p>
|
513 |
+
|
514 |
+
<p><b><?php _e('Gallery author:', 'gmLang'); ?></b>
|
515 |
+
<?php if($gmCore->caps['gmedia_edit_others_media']){ ?>
|
516 |
+
<a href="#gallModal" data-modal="filter_authors" data-action="gmedia_get_modal" class="gmedia-modal" title="<?php _e('Click to choose author for gallery', 'gmLang'); ?>"><?php echo $gallery['global']? get_the_author_meta('display_name', $gallery['global']) : __('(no author / shared albums)'); ?></a>
|
517 |
+
<?php if($author_new){
|
518 |
+
echo '<br /><span class="text-danger">' . __('Note: Author changed but not saved yet. You can see Albums list only of chosen author') . '</span>';
|
519 |
+
} ?>
|
520 |
+
<?php } else{
|
521 |
+
echo $gallery['global']? get_the_author_meta('display_name', $gallery['global']) : '—';
|
522 |
+
} ?>
|
523 |
+
<input type="hidden" name="gallery[global]" value="<?php echo $gallery['global']; ?>"/></p>
|
524 |
+
<?php if($gallery_id){ ?>
|
525 |
+
<p><b><?php _e('Shortcode:'); ?></b> [gmedia id=<?php echo $gallery_id; ?>]</p>
|
526 |
+
<?php } ?>
|
527 |
+
<input type="hidden" name="gallery[module]" value="<?php echo esc_attr($module_name); ?>">
|
528 |
|
529 |
+
<div class="form-group">
|
530 |
+
<label><?php _e('Gallery Name', 'gmLang'); ?></label>
|
531 |
+
<input type="text" class="form-control input-sm" name="gallery[name]" placeholder="<?php echo empty($gallery['name'])? esc_attr(__('Gallery Name', 'gmLang')) : esc_attr($gallery['name']); ?>" value="<?php echo esc_attr($gallery['name']); ?>" required="required"/>
|
532 |
+
</div>
|
533 |
+
<div class="form-group">
|
534 |
+
<label><?php _e('Status', 'gmLang'); ?></label>
|
535 |
+
<select name="gallery[status]" class="form-control input-sm">
|
536 |
+
<option value="public"<?php selected($gallery['status'], 'public'); ?>><?php _e('Public', 'gmLang'); ?></option>
|
537 |
+
<?php /* ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
538 |
<option value="private"<?php selected($gallery['status'], 'private'); ?>><?php _e('Private', 'gmLang'); ?></option>
|
539 |
<option value="draft"<?php selected($gallery['status'], 'draft'); ?>><?php _e('Draft', 'gmLang'); ?></option>
|
540 |
+
<?php */
|
541 |
+
?>
|
542 |
+
</select>
|
543 |
+
</div>
|
544 |
+
<div class="form-group">
|
545 |
+
<label><?php _e('Show supported files from', 'gmLang'); ?></label>
|
546 |
+
<select data-watch="change" id="gmedia_query" class="form-control input-sm" name="gallery[term]">
|
547 |
+
<?php reset($gallery['query']);
|
548 |
+
$gallery['term'] = key($gallery['query']); ?>
|
549 |
+
<?php if($gmCore->caps['gmedia_terms']){ ?>
|
550 |
+
<option value="gmedia_album"<?php selected($gallery['term'], 'gmedia_album'); ?>><?php _e('Albums', 'gmLang'); ?></option>
|
551 |
+
<option value="gmedia_tag"<?php selected($gallery['term'], 'gmedia_tag'); ?>><?php _e('Tags', 'gmLang'); ?></option>
|
552 |
+
<option value="gmedia_category"<?php selected($gallery['term'], 'gmedia_category'); ?>><?php _e('Categories', 'gmLang'); ?></option>
|
553 |
+
<?php } ?>
|
554 |
+
<option value="gmedia__in"<?php selected($gallery['term'], 'gmedia__in'); ?>><?php _e('Selected Gmedia', 'gmLang'); ?></option>
|
555 |
+
<!-- <option value="gmedia_filter"<?php selected($gallery['term'], 'gmedia_filter'); ?>><?php _e('Filter', 'gmLang'); ?></option> -->
|
556 |
+
</select>
|
557 |
+
</div>
|
558 |
|
559 |
+
<?php if($gmCore->caps['gmedia_terms']){ ?>
|
560 |
+
<div class="form-group" id="div_gmedia_category">
|
561 |
+
<?php
|
562 |
+
$term_type = 'gmedia_category';
|
563 |
+
$gm_terms_all = $gmGallery->options['taxonomies'][$term_type];
|
564 |
+
$gm_terms = $gmDB->get_terms($term_type, array('fields' => 'names_count'));
|
565 |
+
|
566 |
+
$terms_items = '';
|
567 |
+
if(count($gm_terms)){
|
568 |
+
foreach($gm_terms as $id => $term){
|
569 |
+
$selected = (isset($gallery['query'][$term_type]) && in_array($id, $gallery['query'][$term_type]))? ' selected="selected"' : '';
|
570 |
+
$terms_items .= '<option value="' . $id . '"' . $selected . '>' . esc_html($gm_terms_all[$term['name']]) . ' (' . $term['count'] . ')</option>' . "\n";
|
571 |
}
|
572 |
+
}
|
573 |
+
$setvalue = isset($gallery['query'][$term_type])? 'data-setvalue="' . implode(',', $gallery['query'][$term_type]) . '"' : '';
|
574 |
+
?>
|
575 |
+
<label><?php _e('Choose Categories', 'gmLang'); ?></label>
|
576 |
+
<select data-gmedia_query="is:gmedia_category" <?php echo $setvalue; ?> id="gmedia_category" name="gallery[query][gmedia_category][]" class="gmedia-combobox form-control input-sm" multiple="multiple" placeholder="<?php echo esc_attr(__('Choose Categories...', 'gmLang')); ?>">
|
577 |
+
<option value=""><?php _e('Choose Categories...', 'gmLang'); ?></option>
|
578 |
+
<?php echo $terms_items; ?>
|
579 |
+
</select>
|
580 |
+
</div>
|
581 |
|
582 |
+
<div class="form-group" id="div_gmedia_tag">
|
583 |
+
<?php
|
584 |
+
$term_type = 'gmedia_tag';
|
585 |
+
$gm_terms = $gmDB->get_terms($term_type, array('fields' => 'names_count'));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
586 |
|
587 |
+
$terms_items = '';
|
588 |
+
if(count($gm_terms)){
|
589 |
+
foreach($gm_terms as $id => $term){
|
590 |
+
$selected = (isset($gallery['query'][$term_type]) && in_array($id, $gallery['query'][$term_type]))? ' selected="selected"' : '';
|
591 |
+
$terms_items .= '<option value="' . $id . '"' . $selected . '>' . esc_html($term['name']) . ' (' . $term['count'] . ')</option>' . "\n";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
592 |
}
|
593 |
+
}
|
594 |
+
$setvalue = isset($gallery['query'][$term_type])? 'data-setvalue="' . implode(',', $gallery['query'][$term_type]) . '"' : '';
|
595 |
+
?>
|
596 |
+
<label><?php _e('Choose Tags', 'gmLang'); ?> </label>
|
597 |
+
<select data-gmedia_query="is:gmedia_tag" <?php echo $setvalue; ?> id="gmedia_tag" name="gallery[query][gmedia_tag][]" class="gmedia-combobox form-control input-sm" multiple="multiple" placeholder="<?php echo esc_attr(__('Choose Tags...', 'gmLang')); ?>">
|
598 |
+
<option value=""><?php echo __('Choose Tags...', 'gmLang'); ?></option>
|
599 |
+
<?php echo $terms_items; ?>
|
600 |
+
</select>
|
601 |
+
</div>
|
602 |
|
603 |
+
<div class="form-group" id="div_gmedia_album">
|
604 |
+
<?php
|
605 |
+
$term_type = 'gmedia_album';
|
606 |
+
$args = array();
|
607 |
+
$args['global'] = $gallery['global']? array(0, $gallery['global']) : 0;
|
608 |
+
$gm_terms = $gmDB->get_terms($term_type, $args);
|
609 |
+
|
610 |
+
$terms_items = '';
|
611 |
+
if(count($gm_terms)){
|
612 |
+
foreach($gm_terms as $term){
|
613 |
+
$selected = (isset($gallery['query'][$term_type]) && in_array($term->term_id, $gallery['query'][$term_type]))? ' selected="selected"' : '';
|
614 |
+
$terms_items .= '<option value="' . $term->term_id . '"' . $selected . '>' . esc_html($term->name) . ('public' == $term->status? '' : " [{$term->status}]") . ' (' . $term->count . ')</option>' . "\n";
|
615 |
+
}
|
616 |
+
}
|
617 |
+
$setvalue = isset($gallery['query'][$term_type])? 'data-setvalue="' . implode(',', $gallery['query'][$term_type]) . '"' : '';
|
618 |
+
?>
|
619 |
+
<label><?php _e('Choose Albums', 'gmLang'); ?> </label>
|
620 |
+
<select data-gmedia_query="is:gmedia_album" <?php echo $setvalue; ?> id="gmedia_album" name="gallery[query][gmedia_album][]" class="gmedia-combobox form-control input-sm" multiple="multiple" placeholder="<?php echo esc_attr(__('Choose Albums...', 'gmLang')); ?>">
|
621 |
+
<option value=""><?php echo __('Choose Albums...', 'gmLang'); ?></option>
|
622 |
+
<?php echo $terms_items; ?>
|
623 |
+
</select>
|
624 |
|
625 |
+
<p class="help-block"><?php _e('You can choose Albums from the same author as Gallery author or Albums without author', 'gmLang'); ?></p>
|
626 |
+
</div>
|
627 |
+
<?php } ?>
|
|
|
628 |
|
629 |
+
<div class="form-group" id="div_gmedia__in">
|
630 |
+
<label><?php _e('Selected Gmedia IDs <small class="text-muted">separated by comma</small>', 'gmLang'); ?> </label>
|
631 |
+
<?php $value = isset($gallery['query']['gmedia__in'][0])? implode(',', wp_parse_id_list($gallery['query']['gmedia__in'][0])) : ''; ?>
|
632 |
+
<textarea data-gmedia_query="is:gmedia__in" id="gmedia__in" name="gallery[query][gmedia__in][]" rows="1" class="form-control input-sm" style="resize:vertical;" placeholder="<?php echo esc_attr(__('Gmedia IDs...', 'gmLang')); ?>"><?php echo $value; ?></textarea>
|
633 |
+
</div>
|
634 |
|
635 |
+
<div class="form-group">
|
636 |
+
<label><?php _e('Description', 'gmLang'); ?></label>
|
637 |
+
<textarea class="form-control input-sm" rows="5" name="gallery[description]"><?php echo esc_html($gallery['description']) ?></textarea>
|
|
|
|
|
638 |
</div>
|
639 |
|
640 |
+
</fieldset>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
641 |
|
642 |
+
<?php
|
643 |
+
if(isset($options_tree)){
|
644 |
+
gmedia_gallery_options_fieldset($options_tree, $default_options, $gallery_settings);
|
645 |
+
}
|
646 |
+
?>
|
|
|
647 |
</div>
|
|
|
|
|
|
|
|
|
|
|
648 |
|
649 |
+
</div>
|
650 |
+
<div class="col-lg-6" style="padding-top:20px;">
|
651 |
+
<p><b><?php _e('Last edited:'); ?></b> <?php echo $gallery['edited']; ?></p>
|
652 |
+
<?php if($gallery_id){
|
653 |
+
$params = array();
|
654 |
+
$params['preview'] = ($gallery['module'] != $module_name)? $module_name : false;
|
655 |
+
$params['iframe'] = 1;
|
656 |
+
?>
|
657 |
+
<p><b><?php _e('Gallery ID:'); ?></b> #<?php echo $gallery_id; ?></p>
|
658 |
+
<p><b><?php _e('Gallery URL:'); ?></b> <?php
|
659 |
+
$gallery_link_default = home_url('index.php?gmedia=' . $gallery_id);
|
660 |
+
if(get_option('permalink_structure')){
|
661 |
+
$ep = $gmGallery->options['endpoint'];
|
662 |
+
$gallery_link = home_url($ep . '/' . $gallery_id);
|
663 |
+
} else{
|
664 |
+
$gallery_link = $gallery_link_default;
|
665 |
+
} ?>
|
666 |
+
<a target="_blank" href="<?php echo $gallery_link; ?>"><?php echo $gallery_link; ?></a>
|
667 |
+
<br/><?php _e('update <a href="options-permalink.php">Permalink Settings</a> if above link not working', 'gmLang'); ?>
|
668 |
+
</p>
|
669 |
+
|
670 |
+
<div><b><?php _e('Gallery Preview:'); ?></b></div>
|
671 |
+
<div class="gallery_preview" style="overflow:hidden;">
|
672 |
+
<iframe id="gallery_preview" name="gallery_preview" src="<?php echo add_query_arg($params, $gallery_link_default); ?>"></iframe>
|
673 |
+
</div>
|
674 |
+
<?php } ?>
|
675 |
+
</div>
|
676 |
+
</div>
|
677 |
+
<script type="text/javascript">
|
678 |
+
jQuery(function($){
|
679 |
+
<?php if(!empty($alert)){ ?>
|
680 |
+
$('#chooseModuleModal').modal('show');
|
681 |
+
<?php } ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
682 |
|
683 |
+
var hash = window.location.hash;
|
684 |
+
if(hash){
|
685 |
+
$('#galleryTabs a').eq(hash.replace('#tab-', '')).tab('show');
|
686 |
+
}
|
687 |
+
$('#gallerySettingsForm').on('submit', function(){
|
688 |
+
$(this).attr('action', $(this).attr('action') + '#tab-' + $('#galleryTabs li.active').index());
|
689 |
+
});
|
690 |
+
|
691 |
+
<?php if($gmCore->caps['gmedia_terms']){ ?>
|
692 |
+
$('.gmedia-combobox').each(function(){
|
693 |
+
var select = $(this).selectize({
|
694 |
+
plugins: ['drag_drop'],
|
695 |
+
create: false,
|
696 |
+
hideSelected: true
|
697 |
+
});
|
698 |
+
var val = $(this).data('setvalue');
|
699 |
+
if(val){
|
700 |
+
val = val.toString().split(',');
|
701 |
+
select[0].selectize.setValue(val);
|
702 |
+
}
|
703 |
+
});
|
704 |
+
<?php } ?>
|
705 |
|
706 |
+
var main = $('#gallery_options_block');
|
707 |
+
|
708 |
+
$('input', main).filter('[data-type="color"]').minicolors({
|
709 |
+
animationSpeed: 50,
|
710 |
+
animationEasing: 'swing',
|
711 |
+
change: null,
|
712 |
+
changeDelay: 0,
|
713 |
+
control: 'hue',
|
714 |
+
//defaultValue: '',
|
715 |
+
hide: null,
|
716 |
+
hideSpeed: 100,
|
717 |
+
inline: false,
|
718 |
+
letterCase: 'lowercase',
|
719 |
+
opacity: false,
|
720 |
+
position: 'bottom left',
|
721 |
+
show: null,
|
722 |
+
showSpeed: 100,
|
723 |
+
theme: 'bootstrap'
|
724 |
+
});
|
725 |
+
|
726 |
+
$('[data-watch]', main).each(function(){
|
727 |
+
var el = $(this);
|
728 |
+
gmedia_options_conditional_logic(el, 0);
|
729 |
+
el.on(el.data('watch'), function(){
|
730 |
+
if('change' == el.data('watch')){
|
731 |
+
$(this).blur().focus();
|
732 |
+
}
|
733 |
+
gmedia_options_conditional_logic($(this), 400);
|
734 |
+
});
|
735 |
+
});
|
736 |
+
|
737 |
+
function gmedia_options_conditional_logic(el, slide){
|
738 |
+
if(el.is(':input')){
|
739 |
+
var val = el.val();
|
740 |
+
var id = el.attr('id').toLowerCase();
|
741 |
+
if(el.is(':checkbox') && !el[0].checked){
|
742 |
+
val = '0';
|
743 |
+
}
|
744 |
+
$('[data-' + id + ']', main).each(function(){
|
745 |
+
var key = $(this).data(id);
|
746 |
+
key = key.split(':');
|
747 |
+
//var hidden = $(this).data('hidden')? parseInt($(this).data('hidden')) : 0;
|
748 |
+
var hidden = $(this).data('hidden')? $(this).data('hidden') : {};
|
749 |
+
var ch = true;
|
750 |
+
switch(key[0]){
|
751 |
+
case '=':
|
752 |
+
case 'is':
|
753 |
+
if(val == key[1]){
|
754 |
+
delete hidden[id];
|
755 |
+
if(slide && $.isEmptyObject(hidden)){
|
756 |
+
$(this).prop('disabled', false).closest('.form-group').stop().slideDown(slide, function(){
|
757 |
+
$(this).css({display: 'block'});
|
758 |
+
});
|
759 |
+
if(key[2]){
|
760 |
+
key[2] = $(this).data('value');
|
761 |
} else{
|
762 |
+
ch = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
763 |
}
|
764 |
+
} else{
|
765 |
+
ch = false;
|
766 |
+
}
|
767 |
+
$(this).data('hidden', hidden);
|
768 |
+
} else{
|
769 |
+
if($.isEmptyObject(hidden)){
|
770 |
+
if(key[2]){
|
771 |
+
$(this).closest('.form-group').stop().slideUp(slide, function(){
|
772 |
+
$(this).css({display: 'none'});
|
773 |
+
});
|
|
|
|
|
|
|
|
|
774 |
} else{
|
775 |
+
$(this).prop('disabled', true).closest('.form-group').stop().slideUp(slide, function(){
|
776 |
+
$(this).css({display: 'none'});
|
777 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
778 |
}
|
779 |
+
} else{
|
780 |
+
ch = false;
|
781 |
+
}
|
782 |
+
hidden[id] = 1;
|
783 |
+
$(this).data('hidden', hidden);
|
784 |
}
|
785 |
+
break;
|
786 |
+
case '!=':
|
787 |
+
case 'not':
|
788 |
+
if(val == key[1]){
|
789 |
+
if($.isEmptyObject(hidden)){
|
790 |
+
if(key[2]){
|
791 |
+
$(this).closest('.form-group').stop().slideUp(slide, function(){
|
792 |
+
$(this).css({display: 'none'});
|
793 |
+
});
|
794 |
+
} else{
|
795 |
+
$(this).prop('disabled', true).closest('.form-group').stop().slideUp(slide, function(){
|
796 |
+
$(this).css({display: 'none'});
|
797 |
+
});
|
798 |
}
|
799 |
} else{
|
800 |
+
ch = false;
|
801 |
+
}
|
802 |
+
hidden[id] = 1;
|
803 |
+
$(this).data('hidden', hidden);
|
804 |
+
} else{
|
805 |
+
delete hidden[id];
|
806 |
+
if(slide && $.isEmptyObject(hidden)){
|
807 |
+
$(this).prop('disabled', false).closest('.form-group').stop().slideDown(slide, function(){
|
808 |
+
$(this).css({display: 'block'});
|
809 |
+
});
|
810 |
+
if(key[2] && slide){
|
811 |
+
key[2] = $(this).data('value');
|
812 |
+
} else{
|
813 |
+
ch = false;
|
814 |
}
|
815 |
+
} else{
|
816 |
+
ch = false;
|
817 |
}
|
818 |
+
$(this).data('hidden', hidden);
|
819 |
}
|
820 |
+
break;
|
821 |
}
|
822 |
+
if(key[2] && ch){
|
823 |
+
if($(this).is(':checkbox')){
|
824 |
+
if(+($(this).prop('checked')) != parseInt(key[2])){
|
825 |
+
$(this).data('value', ($(this).prop('checked')? '1' : '0'));
|
826 |
+
$(this).prop('checked', ('0' != key[2])).trigger('change');
|
827 |
+
}
|
828 |
+
} else{
|
829 |
+
if($(this).val() != key[2]){
|
830 |
+
$(this).data('value', $(this).val());
|
831 |
+
$(this).val(key[2]).trigger('change');
|
832 |
+
}
|
833 |
+
}
|
834 |
+
}
|
835 |
+
});
|
836 |
+
}
|
837 |
+
}
|
838 |
+
});
|
839 |
+
</script>
|
840 |
+
</div>
|
841 |
+
<?php
|
842 |
+
wp_nonce_field('GmediaGallery');
|
843 |
+
?>
|
844 |
</form>
|
845 |
|
846 |
<!-- Modal -->
|
847 |
+
<?php if($gmCore->caps['gmedia_edit_others_media']){ ?>
|
848 |
+
<div class="modal fade gmedia-modal" id="gallModal" tabindex="-1" role="dialog" aria-hidden="true">
|
849 |
+
<div class="modal-dialog"></div>
|
850 |
+
</div>
|
851 |
+
<?php } ?>
|
852 |
+
|
853 |
<div class="modal fade gmedia-modal" id="chooseModuleModal" tabindex="-1" role="dialog" aria-hidden="true">
|
854 |
<div class="modal-dialog">
|
855 |
<div class="modal-content">
|
880 |
if(empty($module_info)){
|
881 |
continue;
|
882 |
}
|
883 |
+
$mclass = ' module-' . $module_info['type'] . ' module-' . $module_info['status'];
|
884 |
?>
|
885 |
+
<div data-href="<?php echo add_query_arg(array(
|
886 |
+
'edit_gallery' => $gallery_id,
|
887 |
+
'gallery_module' => $module_name
|
888 |
+
), $url); ?>" class="choose-module media<?php echo $mclass; ?>">
|
889 |
+
<a href="<?php echo add_query_arg(array(
|
890 |
+
'edit_gallery' => $gallery_id,
|
891 |
+
'gallery_module' => $module_name
|
892 |
+
), $url); ?>" class="thumbnail pull-left">
|
893 |
+
<img class="media-object" src="<?php echo $module_url . '/screenshot.png'; ?>" alt="<?php echo esc_attr($module_info['title']); ?>" width="160" height="120"/>
|
894 |
</a>
|
895 |
+
|
896 |
<div class="media-body" style="margin-left:180px;">
|
897 |
<h4 class="media-heading"><?php echo $module_info['title']; ?></h4>
|
898 |
+
|
899 |
<p class="version"><?php echo __('Version', 'gmLang') . ': ' . $module_info['version']; ?></p>
|
900 |
+
|
901 |
<div class="description"><?php echo str_replace("\n", '<br />', $module_info['description']); ?></div>
|
902 |
</div>
|
903 |
</div>
|
915 |
</div>
|
916 |
</div>
|
917 |
|
918 |
+
<?php
|
919 |
}
|
920 |
|
admin/gmedia.php
CHANGED
@@ -19,40 +19,73 @@ function gmediaLib(){
|
|
19 |
}
|
20 |
$gm_screen_options = array_merge($gmGallery->options['gm_screen_options'], $gm_screen_options);
|
21 |
|
|
|
|
|
|
|
|
|
|
|
22 |
$gmedia__in = $gmCore->_get('gmedia__in', null);
|
|
|
|
|
|
|
|
|
|
|
23 |
$orderby = $gm_screen_options['orderby_gmedia'];
|
24 |
$order = $gm_screen_options['sortorder_gmedia'];
|
25 |
-
if('selected' == $gmCore->_req('filter')){
|
26 |
$gmedia__in = $gmProcessor->selected_items;
|
27 |
$orderby = 'gmedia__in';
|
28 |
$order = 'ASC';
|
29 |
}
|
30 |
-
$args = array(
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
$gmediaQuery = $gmDB->get_gmedias($args);
|
38 |
|
39 |
-
$gm_qty = array(
|
40 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
41 |
|
42 |
$gmDbCount = $gmDB->count_gmedia();
|
43 |
foreach($gmDbCount as $key => $value){
|
44 |
$gm_qty[$key] = '<span class="badge pull-right">' . (int)$value . '</span>';
|
45 |
}
|
46 |
-
|
47 |
?>
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
<div class="panel panel-default" id="gmedia-panel">
|
49 |
<div class="panel-heading clearfix">
|
50 |
<form class="form-inline gmedia-search-form" role="search">
|
51 |
<div class="form-group">
|
52 |
<?php foreach($_GET as $key => $value){
|
53 |
-
if(in_array($key, array('page', 'mime_type', 'tag_id', 'tag__in', 'cat', 'category__in', 'alb', 'album__in'))){
|
54 |
-
|
55 |
-
|
|
|
|
|
56 |
} ?>
|
57 |
<input id="gmedia-search" class="form-control input-sm" type="text" name="s" placeholder="<?php _e('Search...', 'gmLang'); ?>" value="<?php echo $gmCore->_get('s', ''); ?>"/>
|
58 |
</div>
|
@@ -64,7 +97,8 @@ function gmediaLib(){
|
|
64 |
<?php if(!$gmProcessor->mode){ ?>
|
65 |
<div class="btn-group gm-checkgroup" id="cb_global-btn">
|
66 |
<span class="btn btn-default active"><input class="doaction" id="cb_global" data-group="cb_media-object" type="checkbox"/></span>
|
67 |
-
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span>
|
|
|
68 |
<ul class="dropdown-menu" role="menu">
|
69 |
<li><a data-select="total" href="#"><?php _e('All', 'gmLang'); ?></a></li>
|
70 |
<li><a data-select="none" href="#"><?php _e('None', 'gmLang'); ?></a></li>
|
@@ -90,16 +124,59 @@ function gmediaLib(){
|
|
90 |
<span class="sr-only"><?php _e('Toggle Dropdown', 'gmLang'); ?></span>
|
91 |
</button>
|
92 |
<ul class="dropdown-menu" role="menu">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
<li role="presentation" class="dropdown-header"><?php _e('TYPE', 'gmLang'); ?></li>
|
94 |
-
<li class="total<?php if(in_array('total', $curr_mime)){
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
<li class="
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
<li role="presentation" class="dropdown-header"><?php _e('COLLECTIONS', 'gmLang'); ?></li>
|
100 |
-
<li class="filter_categories<?php if(isset($gmDB->filter_tax['gmedia_category'])){
|
101 |
-
|
102 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
<?php do_action('gmedia_filter_list'); ?>
|
104 |
</ul>
|
105 |
</div>
|
@@ -108,37 +185,86 @@ function gmediaLib(){
|
|
108 |
<?php if(!$gmProcessor->mode){
|
109 |
$args = array('mode' => 'edit');
|
110 |
$edit_mode_href = $gmCore->get_admin_url($args);
|
111 |
-
$args2 = array('mode' => 'edit', 'filter' => 'selected', 'pager' => false);
|
112 |
-
$edit_mode_data = 'data-href="'
|
113 |
} else{
|
114 |
$edit_mode_href = $gmCore->get_admin_url(array(), array('mode'));
|
115 |
$edit_mode_data = '';
|
116 |
} ?>
|
117 |
-
|
118 |
-
|
|
|
|
|
|
|
|
|
|
|
119 |
<?php
|
120 |
$rel_selected_show = 'rel-selected-show';
|
121 |
$rel_selected_hide = 'rel-selected-hide';
|
122 |
?>
|
123 |
<ul class="dropdown-menu" role="menu">
|
124 |
<?php if(!$gmProcessor->mode){ ?>
|
125 |
-
<li
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
126 |
|
127 |
<li class="divider"></li>
|
128 |
-
<li class="<?php echo $rel_selected_show;
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
134 |
|
135 |
<li class="divider <?php echo $rel_selected_show; ?>"></li>
|
136 |
-
<li class="<?php echo $rel_selected_show;
|
|
|
|
|
|
|
|
|
|
|
137 |
|
138 |
<li class="dropdown-header <?php echo $rel_selected_hide; ?>"><span><?php _e("Select items to see more actions", "gmLang"); ?></span></li>
|
139 |
<?php } else{ ?>
|
140 |
<li><a href="<?php echo $edit_mode_href; ?>"><?php _e('Exit Edit Mode', 'gmLang'); ?></a></li>
|
141 |
-
<?php
|
|
|
142 |
do_action('gmedia_action_list');
|
143 |
?>
|
144 |
</ul>
|
@@ -150,7 +276,8 @@ function gmediaLib(){
|
|
150 |
?>
|
151 |
<form class="btn-group" id="gm-selected-btn" name="gm-selected-form" action="<?php echo add_query_arg(array('filter' => $filter_selected_arg), $url); ?>" method="post">
|
152 |
<button type="submit" class="btn btn<?php echo ('selected' == $filter_selected)? '-success' : '-info' ?>"><?php printf(__('%s selected', 'gmLang'), '<span id="gm-selected-qty">' . count($gmProcessor->selected_items) . '</span>'); ?></button>
|
153 |
-
<button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown"><span class="caret"></span>
|
|
|
154 |
<input type="hidden" id="gm-selected" data-userid="<?php echo $user_ID; ?>" data-key="library" name="selected_items" value="<?php echo implode(',', $gmProcessor->selected_items); ?>"/>
|
155 |
<ul class="dropdown-menu" role="menu">
|
156 |
<li><a id="gm-selected-show" href="#show"><?php
|
@@ -161,7 +288,11 @@ function gmediaLib(){
|
|
161 |
}
|
162 |
?></a></li>
|
163 |
<li><a id="gm-selected-clear" href="#clear"><?php _e('Clear selected items', 'gmLang'); ?></a></li>
|
164 |
-
<li
|
|
|
|
|
|
|
|
|
165 |
</ul>
|
166 |
</form>
|
167 |
|
@@ -172,27 +303,50 @@ function gmediaLib(){
|
|
172 |
<div class="list-group" id="gm-list-table">
|
173 |
<?php
|
174 |
if(count($gmediaQuery)){
|
175 |
-
|
176 |
-
$meta = $gmDB->get_metadata('gmedia', $item->ID);
|
177 |
-
$type = explode('/', $item->mime_type);
|
178 |
-
$item_url = $gmCore->upload['url'] . '/' . $gmGallery->options['folder'][$type[0]] . '/' . $item->gmuid;
|
179 |
-
$item_path = $gmCore->upload['path'] . '/' . $gmGallery->options['folder'][$type[0]] . '/' . $item->gmuid;
|
180 |
-
|
181 |
-
if (function_exists('exif_imagetype')) {
|
182 |
-
$is_webimage = (('image' == $type[0]) && in_array(exif_imagetype($item_path), array(IMAGETYPE_GIF,
|
183 |
-
IMAGETYPE_JPEG,
|
184 |
-
IMAGETYPE_PNG)))? true : false;
|
185 |
-
} else{
|
186 |
-
$is_webimage = (('image' == $type[0]) && in_array($type[1], array('jpeg', 'png', 'gif')))? true : false;
|
187 |
-
}
|
188 |
-
|
189 |
-
$tags = $gmDB->get_the_gmedia_terms($item->ID, 'gmedia_tag');
|
190 |
-
$albs = $gmDB->get_the_gmedia_terms($item->ID, 'gmedia_album');
|
191 |
-
$cats = $gmDB->get_the_gmedia_terms($item->ID, 'gmedia_category');
|
192 |
?>
|
193 |
-
|
194 |
-
|
195 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
196 |
<div class="gmedia_id">#<?php echo $item->ID; ?></div>
|
197 |
<label class="cb_media-object">
|
198 |
<input name="doaction[]" type="checkbox"<?php echo $is_selected? ' checked="checked"' : ''; ?> data-type="<?php echo $type[0]; ?>" class="hidden" value="<?php echo $item->ID; ?>"/>
|
@@ -234,7 +388,7 @@ function gmediaLib(){
|
|
234 |
}
|
235 |
$terms_category = join(', ', $terms_category);
|
236 |
} else{
|
237 |
-
$terms_category = sprintf('<a class="category" href="%s">%s</a>', esc_url(add_query_arg(array('cat' => 0), $url)), __('Uncategorized'));
|
238 |
}
|
239 |
echo $terms_category;
|
240 |
} ?>
|
@@ -255,46 +409,165 @@ function gmediaLib(){
|
|
255 |
</div>
|
256 |
<div class="col-md-6">
|
257 |
<div class="media-meta">
|
258 |
-
<span class="label label-default"><?php _e('
|
|
|
|
|
|
|
259 |
</div>
|
260 |
<?php if('image' == $type[0]){
|
261 |
$_metadata = unserialize($meta['_metadata'][0]);
|
262 |
?>
|
263 |
<div class="media-meta">
|
264 |
-
<span class="label label-default"><?php _e('Size','gmLang');
|
|
|
265 |
</div>
|
266 |
<?php } ?>
|
267 |
-
<div class="media-meta"><span class="label label-default"><?php _e('Filename','gmLang'); ?>:</span>
|
268 |
<a href="<?php echo $item_url; ?>"><?php echo $item->gmuid; ?></a></div>
|
269 |
<div class="media-meta">
|
270 |
-
<span class="label label-default"><?php _e('Author','gmLang');
|
|
|
271 |
</div>
|
272 |
<div class="media-meta"><span class="label label-default"><?php _e('Date', 'gmLang'); ?>:</span> <?php echo $item->date;
|
273 |
-
|
274 |
?></div>
|
275 |
-
<div class="media-meta"><span class="label label-default"><?php _e('Link','gmLang'); ?>:</span>
|
276 |
<?php if(!empty($item->link)){ ?>
|
277 |
<a href="<?php echo $item->link; ?>"><?php echo $item->link; ?></a>
|
278 |
<?php
|
279 |
} else{
|
280 |
echo '—';
|
281 |
} ?></div>
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
292 |
</div>
|
293 |
</div>
|
294 |
</div>
|
295 |
|
296 |
-
<?php }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
297 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
298 |
<form class="list-group-item row d-row edit-gmedia" id="list-item-<?php echo $item->ID; ?>" data-id="<?php echo $item->ID; ?>" data-type="<?php echo $type[0]; ?>" role="form">
|
299 |
<div class="col-sm-4" style="max-width:350px;">
|
300 |
<input name="ID" type="hidden" value="<?php echo $item->ID; ?>"/>
|
@@ -303,12 +576,18 @@ function gmediaLib(){
|
|
303 |
<img class="gmedia-thumb" src="<?php echo $gmCore->gm_get_media_image($item, 'thumb'); ?>" alt=""/>
|
304 |
</a>
|
305 |
<p>
|
306 |
-
<a href="<?php echo admin_url("admin.php?page=GrandMedia&gmediablank=image_editor&id={$item->ID}"); ?>" data-target="#gmeditModal" class="btn btn-link btn-sm gmedit-modal"
|
307 |
<?php _e('Edit Image', 'gmLang'); ?>
|
308 |
</a> |
|
309 |
-
<a href="<?php echo $gmCore->gm_get_media_image($item, 'original'); ?>" data-target="#previewModal" class="btn btn-link btn-sm preview-modal"
|
310 |
<?php _e('View Original', 'gmLang'); ?>
|
311 |
</a>
|
|
|
|
|
|
|
|
|
|
|
|
|
312 |
</p>
|
313 |
<?php } else{ ?>
|
314 |
<a href="<?php echo $item_url; ?>" data-target="#previewModal" class="thumbnail preview-modal" title="<?php echo esc_attr($item->title); ?>">
|
@@ -333,86 +612,120 @@ function gmediaLib(){
|
|
333 |
<div class="row">
|
334 |
<div class="form-group col-lg-6">
|
335 |
<label><?php _e('Description', 'gmLang'); ?></label>
|
336 |
-
<?php
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
344 |
</div>
|
345 |
<div class="col-lg-6">
|
346 |
-
<?php if($
|
347 |
-
<div class="form-group">
|
348 |
-
<?php
|
349 |
-
$cat_name = empty($cats)? 0 : reset($cats)->name;
|
350 |
-
$term_type = 'gmedia_category';
|
351 |
-
$gm_terms = $gmGallery->options['taxonomies'][$term_type];
|
352 |
-
|
353 |
-
$terms_category = '';
|
354 |
-
if(count($gm_terms)){
|
355 |
-
foreach($gm_terms as $term_name => $term_title){
|
356 |
-
$selected_option = ($cat_name === $term_name)? ' selected="selected"' : '';
|
357 |
-
$terms_category .= '<option' . $selected_option . ' value="' . $term_name . '">' . esc_html($term_title) . '</option>' . "\n";
|
358 |
-
}
|
359 |
-
}
|
360 |
-
?>
|
361 |
-
<label><?php _e('Category', 'gmLang'); ?> </label>
|
362 |
-
<select name="terms[gmedia_category]" class="gmedia_category form-control input-sm">
|
363 |
-
<option<?php echo $cat_name? '' : ' selected="selected"'; ?> value=""><?php _e('Uncategorized', 'gmLang'); ?></option>
|
364 |
-
<?php echo $terms_category; ?>
|
365 |
-
</select>
|
366 |
-
</div>
|
367 |
-
<?php } elseif(('image' != $type[0])){ ?>
|
368 |
<div class="form-group">
|
369 |
<label><?php _e('Cover', 'gmLang'); ?></label>
|
370 |
-
<input name="meta[cover]" type="text" class="form-control input-sm gmedia-cover" value="<?php if(isset($meta['cover'][0])){
|
|
|
|
|
371 |
</div>
|
372 |
<?php } ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
373 |
|
374 |
-
<div class="form-group">
|
375 |
<?php
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
409 |
</div>
|
410 |
</div>
|
411 |
<div class="row">
|
412 |
<div class="col-lg-6">
|
413 |
<div class="form-group">
|
414 |
<label><?php _e('Filename', 'gmLang'); ?></label>
|
415 |
-
<input name="filename" type="text" class="form-control input-sm gmedia-filename"
|
|
|
|
|
416 |
</div>
|
417 |
<div class="form-group">
|
418 |
<label><?php _e('Date', 'gmLang'); ?></label>
|
@@ -423,24 +736,47 @@ function gmediaLib(){
|
|
423 |
<span class="glyphicon glyphicon-calendar"></span></button></span>
|
424 |
</div>
|
425 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
426 |
</div>
|
427 |
<div class="col-lg-6">
|
428 |
-
<div class="form-group
|
429 |
<label><?php _e('Author', 'gmLang'); ?></label>
|
430 |
-
<?php $user_ids = $gmCore->get_editable_user_ids(
|
431 |
-
|
432 |
-
|
433 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
434 |
?>
|
435 |
</div>
|
436 |
<div class="media-meta"><span class="label label-default"><?php _e('ID', 'gmLang') ?>:</span> <strong><?php echo $item->ID; ?></strong></div>
|
437 |
-
<div class="media-meta"><span class="label label-default"><?php _e('Type', 'gmLang')
|
438 |
-
|
|
|
|
|
439 |
<?php if('image' == $type[0]){
|
440 |
$_metadata = unserialize($meta['_metadata'][0]); ?>
|
441 |
-
<div class="media-meta"
|
|
|
442 |
<?php } ?>
|
443 |
-
<div class="media-meta"><span class="label label-default"><?php _e('
|
|
|
|
|
444 |
</div>
|
445 |
</div>
|
446 |
<?php do_action('gmedia_edit_form'); ?>
|
@@ -451,7 +787,7 @@ function gmediaLib(){
|
|
451 |
<script type="text/javascript">
|
452 |
jQuery(function($){
|
453 |
<?php if(!$gmProcessor->mode){ ?>
|
454 |
-
$('#gm-selected').on('change',
|
455 |
var val = $(this).val();
|
456 |
$('.edit-mode-link').each(function(){
|
457 |
if(val){
|
@@ -463,62 +799,82 @@ function gmediaLib(){
|
|
463 |
}).trigger('change');
|
464 |
|
465 |
<?php } else { ?>
|
|
|
466 |
$('.combobox_gmedia_album').selectize({
|
467 |
-
create: true
|
468 |
persist: false
|
469 |
});
|
|
|
470 |
|
471 |
var gmedia_date_temp;
|
472 |
-
$('.input-group.date').datetimepicker({useSeconds: true}).on('show
|
473 |
gmedia_date_temp = $('input', this).val();
|
474 |
-
}).on('hide
|
475 |
if(gmedia_date_temp != $('input', this).val()){
|
476 |
-
$('input', this).change
|
477 |
}
|
478 |
});
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
|
|
|
|
|
|
|
|
493 |
|
494 |
<?php } ?>
|
495 |
});
|
496 |
window.closeModal = function(id){
|
497 |
-
jQuery('#'+id).modal('hide');
|
498 |
};
|
499 |
</script>
|
500 |
<?php } else{ ?>
|
501 |
<div class="list-group-item">
|
502 |
<div class="well well-lg text-center">
|
503 |
<h4><?php _e('No items to show.', 'gmLang'); ?></h4>
|
504 |
-
|
|
|
|
|
|
|
|
|
505 |
</div>
|
506 |
</div>
|
507 |
<?php } ?>
|
508 |
</div>
|
509 |
|
|
|
|
|
|
|
|
|
|
|
|
|
510 |
<?php
|
511 |
wp_original_referer_field(true, 'previous');
|
512 |
wp_nonce_field('GmediaGallery');
|
513 |
?>
|
514 |
</div>
|
515 |
|
516 |
-
<div class="modal fade gmedia-modal" id="
|
517 |
<div class="modal-dialog"></div>
|
518 |
</div>
|
519 |
-
|
520 |
-
<div class="modal-
|
521 |
-
|
|
|
|
|
|
|
|
|
522 |
<div class="modal fade gmedia-modal" id="previewModal" tabindex="-1" role="dialog" aria-hidden="true">
|
523 |
<div class="modal-dialog modal-lg">
|
524 |
<div class="modal-content">
|
19 |
}
|
20 |
$gm_screen_options = array_merge($gmGallery->options['gm_screen_options'], $gm_screen_options);
|
21 |
|
22 |
+
if($gmCore->caps['gmedia_show_others_media']){
|
23 |
+
$author = $gmCore->_get('author', 0);
|
24 |
+
} else{
|
25 |
+
$author = $user_ID;
|
26 |
+
}
|
27 |
$gmedia__in = $gmCore->_get('gmedia__in', null);
|
28 |
+
$search_string = $gmCore->_get('s', null);
|
29 |
+
if('#' == substr($search_string, 0, 1)){
|
30 |
+
$gmedia__in = substr($search_string, 1);
|
31 |
+
$search_string = null;
|
32 |
+
}
|
33 |
$orderby = $gm_screen_options['orderby_gmedia'];
|
34 |
$order = $gm_screen_options['sortorder_gmedia'];
|
35 |
+
if(('selected' == $gmCore->_req('filter')) && !empty($gmProcessor->selected_items)){
|
36 |
$gmedia__in = $gmProcessor->selected_items;
|
37 |
$orderby = 'gmedia__in';
|
38 |
$order = 'ASC';
|
39 |
}
|
40 |
+
$args = array(
|
41 |
+
'mime_type' => $gmCore->_get('mime_type', null),
|
42 |
+
'orderby' => $orderby,
|
43 |
+
'order' => $order,
|
44 |
+
'per_page' => $gm_screen_options['per_page_gmedia'],
|
45 |
+
'page' => $gmCore->_get('pager', 1),
|
46 |
+
'tag_id' => $gmCore->_get('tag_id', null),
|
47 |
+
'tag__in' => $gmCore->_get('tag__in', null),
|
48 |
+
'cat' => $gmCore->_get('cat', null),
|
49 |
+
'category__in' => $gmCore->_get('category__in', null),
|
50 |
+
'alb' => $gmCore->_get('alb', null),
|
51 |
+
'album__in' => $gmCore->_get('album__in', null),
|
52 |
+
'author' => $author,
|
53 |
+
'gmedia__in' => $gmedia__in,
|
54 |
+
's' => $search_string
|
55 |
+
);
|
56 |
$gmediaQuery = $gmDB->get_gmedias($args);
|
57 |
|
58 |
+
$gm_qty = array(
|
59 |
+
'total' => '',
|
60 |
+
'image' => '',
|
61 |
+
'audio' => '',
|
62 |
+
'video' => '',
|
63 |
+
'text' => '',
|
64 |
+
'application' => '',
|
65 |
+
'other' => ''
|
66 |
+
);
|
67 |
|
68 |
$gmDbCount = $gmDB->count_gmedia();
|
69 |
foreach($gmDbCount as $key => $value){
|
70 |
$gm_qty[$key] = '<span class="badge pull-right">' . (int)$value . '</span>';
|
71 |
}
|
|
|
72 |
?>
|
73 |
+
<?php if(!empty($author)){ ?>
|
74 |
+
<div class="library-author alert alert-info">
|
75 |
+
<strong><?php _e('Selected Author:', 'gmLang'); ?></strong>
|
76 |
+
<a href="#libModal" data-modal="filter_authors" data-action="gmedia_get_modal" class="gmedia-modal"><?php echo get_the_author_meta('display_name', $author); ?></a>
|
77 |
+
</div>
|
78 |
+
<?php } ?>
|
79 |
<div class="panel panel-default" id="gmedia-panel">
|
80 |
<div class="panel-heading clearfix">
|
81 |
<form class="form-inline gmedia-search-form" role="search">
|
82 |
<div class="form-group">
|
83 |
<?php foreach($_GET as $key => $value){
|
84 |
+
if(in_array($key, array('page', 'mode', 'author', 'mime_type', 'tag_id', 'tag__in', 'cat', 'category__in', 'alb', 'album__in'))){
|
85 |
+
?>
|
86 |
+
<input type="hidden" name="<?php echo $key; ?>" value="<?php echo $value; ?>"/>
|
87 |
+
<?php
|
88 |
+
}
|
89 |
} ?>
|
90 |
<input id="gmedia-search" class="form-control input-sm" type="text" name="s" placeholder="<?php _e('Search...', 'gmLang'); ?>" value="<?php echo $gmCore->_get('s', ''); ?>"/>
|
91 |
</div>
|
97 |
<?php if(!$gmProcessor->mode){ ?>
|
98 |
<div class="btn-group gm-checkgroup" id="cb_global-btn">
|
99 |
<span class="btn btn-default active"><input class="doaction" id="cb_global" data-group="cb_media-object" type="checkbox"/></span>
|
100 |
+
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span>
|
101 |
+
<span class="sr-only"><?php _e('Toggle Dropdown', 'gmLang'); ?></span></button>
|
102 |
<ul class="dropdown-menu" role="menu">
|
103 |
<li><a data-select="total" href="#"><?php _e('All', 'gmLang'); ?></a></li>
|
104 |
<li><a data-select="none" href="#"><?php _e('None', 'gmLang'); ?></a></li>
|
124 |
<span class="sr-only"><?php _e('Toggle Dropdown', 'gmLang'); ?></span>
|
125 |
</button>
|
126 |
<ul class="dropdown-menu" role="menu">
|
127 |
+
<li role="presentation" class="dropdown-header"><?php _e('FILTER BY AUTHOR', 'gmLang'); ?></li>
|
128 |
+
<li class="gmedia_author">
|
129 |
+
<a href="#libModal" data-modal="filter_authors" data-action="gmedia_get_modal" class="gmedia-modal"><?php if(!empty($author)){
|
130 |
+
echo get_the_author_meta('display_name', $author);
|
131 |
+
} else{
|
132 |
+
_e('Show all authors', 'gmLang');
|
133 |
+
} ?></a></li>
|
134 |
<li role="presentation" class="dropdown-header"><?php _e('TYPE', 'gmLang'); ?></li>
|
135 |
+
<li class="total<?php if(in_array('total', $curr_mime)){
|
136 |
+
echo ' active';
|
137 |
+
} ?>"><a rel="total" href="<?php echo $gmCore->get_admin_url(array(), array('mime_type', 'pager')); ?>"><?php echo $gm_qty['total'];
|
138 |
+
_e('All', 'gmLang'); ?></a></li>
|
139 |
+
<li class="image<?php if(in_array('image', $curr_mime)){
|
140 |
+
echo ' active';
|
141 |
+
}
|
142 |
+
if(!$gmDbCount['image']){
|
143 |
+
echo ' disabled';
|
144 |
+
} ?>"><a rel="image" href="<?php echo $gmCore->get_admin_url(array('mime_type' => 'image'), array('pager')); ?>"><?php echo $gm_qty['image'];
|
145 |
+
_e('Images', 'gmLang'); ?></a></li>
|
146 |
+
<li class="audio<?php if(in_array('audio', $curr_mime)){
|
147 |
+
echo ' active';
|
148 |
+
}
|
149 |
+
if(!$gmDbCount['audio']){
|
150 |
+
echo ' disabled';
|
151 |
+
} ?>"><a rel="audio" href="<?php echo $gmCore->get_admin_url(array('mime_type' => 'audio'), array('pager')); ?>"><?php echo $gm_qty['audio'];
|
152 |
+
_e('Audio', 'gmLang'); ?></a></li>
|
153 |
+
<li class="video<?php if(in_array('video', $curr_mime)){
|
154 |
+
echo ' active';
|
155 |
+
}
|
156 |
+
if(!$gmDbCount['video']){
|
157 |
+
echo ' disabled';
|
158 |
+
} ?>"><a rel="video" href="<?php echo $gmCore->get_admin_url(array('mime_type' => 'video'), array('pager')); ?>"><?php echo $gm_qty['video'];
|
159 |
+
_e('Video', 'gmLang'); ?></a></li>
|
160 |
+
<li class="application<?php if(in_array('application', $curr_mime) || in_array('text', $curr_mime)){
|
161 |
+
echo ' active';
|
162 |
+
}
|
163 |
+
if(!$gmDbCount['application']){
|
164 |
+
echo ' disabled';
|
165 |
+
} ?>">
|
166 |
+
<a rel="application" href="<?php echo $gmCore->get_admin_url(array('mime_type' => 'application,text'), array('pager')); ?>"><?php echo $gm_qty['other'];
|
167 |
+
_e('Other', 'gmLang'); ?></a></li>
|
168 |
<li role="presentation" class="dropdown-header"><?php _e('COLLECTIONS', 'gmLang'); ?></li>
|
169 |
+
<li class="filter_categories<?php if(isset($gmDB->filter_tax['gmedia_category'])){
|
170 |
+
echo ' active';
|
171 |
+
} ?>">
|
172 |
+
<a href="#libModal" data-modal="filter_categories" data-action="gmedia_get_modal" class="gmedia-modal"><?php _e('Categories', 'gmLang'); ?></a>
|
173 |
+
</li>
|
174 |
+
<li class="filter_albums<?php if(isset($gmDB->filter_tax['gmedia_album'])){
|
175 |
+
echo ' active';
|
176 |
+
} ?>"><a href="#libModal" data-modal="filter_albums" data-action="gmedia_get_modal" class="gmedia-modal"><?php _e('Albums', 'gmLang'); ?></a></li>
|
177 |
+
<li class="filter_tags<?php if(isset($gmDB->filter_tax['gmedia_tag'])){
|
178 |
+
echo ' active';
|
179 |
+
} ?>"><a href="#libModal" data-modal="filter_tags" data-action="gmedia_get_modal" class="gmedia-modal"><?php _e('Tags', 'gmLang'); ?></a></li>
|
180 |
<?php do_action('gmedia_filter_list'); ?>
|
181 |
</ul>
|
182 |
</div>
|
185 |
<?php if(!$gmProcessor->mode){
|
186 |
$args = array('mode' => 'edit');
|
187 |
$edit_mode_href = $gmCore->get_admin_url($args);
|
188 |
+
$args2 = array('mode' => 'edit', 'filter' => 'selected', 'pager' => false, 's' => false);
|
189 |
+
$edit_mode_data = 'data-href="' . $edit_mode_href . '" data-href_sel="' . $gmCore->get_admin_url($args2) . '"';
|
190 |
} else{
|
191 |
$edit_mode_href = $gmCore->get_admin_url(array(), array('mode'));
|
192 |
$edit_mode_data = '';
|
193 |
} ?>
|
194 |
+
<?php if($gmCore->caps['gmedia_edit_media']){ ?>
|
195 |
+
<a class="btn btn-default edit-mode-link" title="<?php _e('Toggle Edit Mode', 'gmLang'); ?>" href="<?php echo $edit_mode_href; ?>" <?php echo $edit_mode_data; ?>><?php _e('Action', 'gmLang'); ?></a>
|
196 |
+
<?php } else{ ?>
|
197 |
+
<button type="button" class="btn btn-default"><?php _e('Action', 'gmLang'); ?></button>
|
198 |
+
<?php } ?>
|
199 |
+
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span>
|
200 |
+
<span class="sr-only"><?php _e('Toggle Dropdown', 'gmLang'); ?></span></button>
|
201 |
<?php
|
202 |
$rel_selected_show = 'rel-selected-show';
|
203 |
$rel_selected_hide = 'rel-selected-hide';
|
204 |
?>
|
205 |
<ul class="dropdown-menu" role="menu">
|
206 |
<?php if(!$gmProcessor->mode){ ?>
|
207 |
+
<li class="<?php if(!$gmCore->caps['gmedia_edit_media']){
|
208 |
+
echo 'disabled';
|
209 |
+
} ?>"><a class="edit-mode-link" href="<?php echo $edit_mode_href; ?>" <?php echo $edit_mode_data; ?>><?php _e('Enter Edit Mode', 'gmLang'); ?></a>
|
210 |
+
</li>
|
211 |
+
<li class="<?php echo $rel_selected_show;
|
212 |
+
if(!$gmCore->caps['gmedia_edit_media']){
|
213 |
+
echo ' disabled';
|
214 |
+
} ?>">
|
215 |
+
<a href="#libModal" data-modal="batch_edit" data-action="gmedia_get_modal" class="gmedia-modal"><?php _e('Batch Edit', 'gmLang'); ?></a>
|
216 |
+
</li>
|
217 |
|
218 |
<li class="divider"></li>
|
219 |
+
<li class="<?php echo $rel_selected_show;
|
220 |
+
if(!$gmCore->caps['gmedia_gallery_manage']){
|
221 |
+
echo ' disabled';
|
222 |
+
} ?>">
|
223 |
+
<a href="#libModal" data-modal="quick_gallery" data-action="gmedia_get_modal" class="gmedia-modal"><?php _e('Quick Gallery from Selected', 'gmLang'); ?></a>
|
224 |
+
</li>
|
225 |
+
<li class="<?php echo $rel_selected_show;
|
226 |
+
if(!$gmCore->caps['gmedia_terms']){
|
227 |
+
echo ' disabled';
|
228 |
+
} ?>">
|
229 |
+
<a href="#libModal" data-modal="assign_category" data-action="gmedia_get_modal" class="gmedia-modal"><?php _e('Assign Category...', 'gmLang'); ?></a>
|
230 |
+
</li>
|
231 |
+
<li class="<?php echo $rel_selected_show;
|
232 |
+
if(!$gmCore->caps['gmedia_terms']){
|
233 |
+
echo ' disabled';
|
234 |
+
} ?>">
|
235 |
+
<a href="#libModal" data-modal="assign_album" data-action="gmedia_get_modal" class="gmedia-modal"><?php _e('Move to Album...', 'gmLang'); ?></a>
|
236 |
+
</li>
|
237 |
+
<li class="<?php echo $rel_selected_show;
|
238 |
+
if(!$gmCore->caps['gmedia_terms']){
|
239 |
+
echo ' disabled';
|
240 |
+
} ?>"><a href="#libModal" data-modal="add_tags" data-action="gmedia_get_modal" class="gmedia-modal"><?php _e('Add Tags...', 'gmLang'); ?></a>
|
241 |
+
</li>
|
242 |
+
<li class="<?php echo $rel_selected_show;
|
243 |
+
if(!$gmCore->caps['gmedia_terms']){
|
244 |
+
echo ' disabled';
|
245 |
+
} ?>">
|
246 |
+
<a href="#libModal" data-modal="delete_tags" data-action="gmedia_get_modal" class="gmedia-modal"><?php _e('Delete Tags...', 'gmLang'); ?></a>
|
247 |
+
</li>
|
248 |
+
<li class="<?php echo $rel_selected_show;
|
249 |
+
if(!$gmCore->caps['gmedia_delete_media']){
|
250 |
+
echo ' disabled';
|
251 |
+
} ?>">
|
252 |
+
<a href="<?php echo wp_nonce_url($gmCore->get_admin_url(array('delete' => 'selected'), array('filter')), 'gmedia_delete') ?>" class="gmedia-delete" data-confirm="<?php _e("You are about to permanently delete the selected items.\n\r'Cancel' to stop, 'OK' to delete.", "gmLang"); ?>"><?php _e('Delete Selected Items', 'gmLang'); ?></a>
|
253 |
+
</li>
|
254 |
|
255 |
<li class="divider <?php echo $rel_selected_show; ?>"></li>
|
256 |
+
<li class="<?php echo $rel_selected_show;
|
257 |
+
if(!$gmCore->caps['gmedia_edit_media']){
|
258 |
+
echo ' disabled';
|
259 |
+
} ?>">
|
260 |
+
<a href="<?php echo wp_nonce_url($gmCore->get_admin_url(array('update_meta' => 'selected'), array()), 'gmedia_update_meta') ?>" class="gmedia-update"><?php _e('Update Metadata in Database', 'gmLang'); ?></a>
|
261 |
+
</li>
|
262 |
|
263 |
<li class="dropdown-header <?php echo $rel_selected_hide; ?>"><span><?php _e("Select items to see more actions", "gmLang"); ?></span></li>
|
264 |
<?php } else{ ?>
|
265 |
<li><a href="<?php echo $edit_mode_href; ?>"><?php _e('Exit Edit Mode', 'gmLang'); ?></a></li>
|
266 |
+
<?php
|
267 |
+
}
|
268 |
do_action('gmedia_action_list');
|
269 |
?>
|
270 |
</ul>
|
276 |
?>
|
277 |
<form class="btn-group" id="gm-selected-btn" name="gm-selected-form" action="<?php echo add_query_arg(array('filter' => $filter_selected_arg), $url); ?>" method="post">
|
278 |
<button type="submit" class="btn btn<?php echo ('selected' == $filter_selected)? '-success' : '-info' ?>"><?php printf(__('%s selected', 'gmLang'), '<span id="gm-selected-qty">' . count($gmProcessor->selected_items) . '</span>'); ?></button>
|
279 |
+
<button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown"><span class="caret"></span>
|
280 |
+
<span class="sr-only"><?php _e('Toggle Dropdown', 'gmLang'); ?></span></button>
|
281 |
<input type="hidden" id="gm-selected" data-userid="<?php echo $user_ID; ?>" data-key="library" name="selected_items" value="<?php echo implode(',', $gmProcessor->selected_items); ?>"/>
|
282 |
<ul class="dropdown-menu" role="menu">
|
283 |
<li><a id="gm-selected-show" href="#show"><?php
|
288 |
}
|
289 |
?></a></li>
|
290 |
<li><a id="gm-selected-clear" href="#clear"><?php _e('Clear selected items', 'gmLang'); ?></a></li>
|
291 |
+
<li class="<?php if(!$gmCore->caps['gmedia_gallery_manage']){
|
292 |
+
echo 'disabled';
|
293 |
+
} ?>">
|
294 |
+
<a href="#libModal" data-modal="quick_gallery" data-action="gmedia_get_modal" class="gmedia-modal"><?php _e('Quick Gallery from Selected', 'gmLang'); ?></a>
|
295 |
+
</li>
|
296 |
</ul>
|
297 |
</form>
|
298 |
|
303 |
<div class="list-group" id="gm-list-table">
|
304 |
<?php
|
305 |
if(count($gmediaQuery)){
|
306 |
+
if($gmProcessor->mode && $gmCore->caps['gmedia_show_others_media'] && !$gmCore->caps['gmedia_edit_others_media']){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
307 |
?>
|
308 |
+
<div class="alert alert-warning alert-dismissible" role="alert" style="margin-bottom:0">
|
309 |
+
<button type="button" class="close" data-dismiss="alert">
|
310 |
+
<span aria-hidden="true">×</span><span class="sr-only"><?php _e('Close', 'gmLang'); ?></span></button>
|
311 |
+
<strong><?php _e('Info:', 'gmLang'); ?></strong> <?php _e('You are not allowed to edit others media', 'gmLang'); ?>
|
312 |
+
</div>
|
313 |
+
<?php
|
314 |
+
}
|
315 |
+
|
316 |
+
foreach ($gmediaQuery as $item) {
|
317 |
+
|
318 |
+
$meta = $gmDB->get_metadata('gmedia', $item->ID);
|
319 |
+
$type = explode('/', $item->mime_type);
|
320 |
+
$item_url = $gmCore->upload['url'] . '/' . $gmGallery->options['folder'][$type[0]] . '/' . $item->gmuid;
|
321 |
+
$item_path = $gmCore->upload['path'] . '/' . $gmGallery->options['folder'][$type[0]] . '/' . $item->gmuid;
|
322 |
+
|
323 |
+
if(function_exists('exif_imagetype')){
|
324 |
+
$is_webimage = (('image' == $type[0]) && in_array(exif_imagetype($item_path), array(
|
325 |
+
IMAGETYPE_GIF,
|
326 |
+
IMAGETYPE_JPEG,
|
327 |
+
IMAGETYPE_PNG
|
328 |
+
)))? true : false;
|
329 |
+
} else{
|
330 |
+
$is_webimage = (('image' == $type[0]) && in_array($type[1], array('jpeg', 'png', 'gif')))? true : false;
|
331 |
+
}
|
332 |
+
|
333 |
+
$tags = $gmDB->get_the_gmedia_terms($item->ID, 'gmedia_tag');
|
334 |
+
$albs = $gmDB->get_the_gmedia_terms($item->ID, 'gmedia_album');
|
335 |
+
$cats = $gmDB->get_the_gmedia_terms($item->ID, 'gmedia_category');
|
336 |
+
|
337 |
+
$list_row_class = '';
|
338 |
+
if ('public' != $item->status) {
|
339 |
+
if('private' == $item->status){
|
340 |
+
$list_row_class = ' list-group-item-info';
|
341 |
+
} elseif('draft' == $item->status){
|
342 |
+
$list_row_class = ' list-group-item-warning';
|
343 |
+
}
|
344 |
+
}
|
345 |
+
|
346 |
+
?>
|
347 |
+
<?php if (!$gmProcessor->mode){
|
348 |
+
$is_selected = in_array($item->ID, $gmProcessor->selected_items)? true : false; ?>
|
349 |
+
<div class="list-group-item d-row clearfix<?php echo ($is_selected? ' active' : '') . $list_row_class; ?>" id="list-item-<?php echo $item->ID; ?>" data-id="<?php echo $item->ID; ?>" data-type="<?php echo $type[0]; ?>">
|
350 |
<div class="gmedia_id">#<?php echo $item->ID; ?></div>
|
351 |
<label class="cb_media-object">
|
352 |
<input name="doaction[]" type="checkbox"<?php echo $is_selected? ' checked="checked"' : ''; ?> data-type="<?php echo $type[0]; ?>" class="hidden" value="<?php echo $item->ID; ?>"/>
|
388 |
}
|
389 |
$terms_category = join(', ', $terms_category);
|
390 |
} else{
|
391 |
+
$terms_category = sprintf('<a class="category" href="%s">%s</a>', esc_url(add_query_arg(array('cat' => 0), $url)), __('Uncategorized', 'gmLang'));
|
392 |
}
|
393 |
echo $terms_category;
|
394 |
} ?>
|
409 |
</div>
|
410 |
<div class="col-md-6">
|
411 |
<div class="media-meta">
|
412 |
+
<span class="label label-default"><?php _e('Status', 'gmLang'); ?>:</span> <?php echo $item->status; ?>
|
413 |
+
</div>
|
414 |
+
<div class="media-meta">
|
415 |
+
<span class="label label-default"><?php _e('Type', 'gmLang'); ?>:</span> <?php echo $item->mime_type; ?>
|
416 |
</div>
|
417 |
<?php if('image' == $type[0]){
|
418 |
$_metadata = unserialize($meta['_metadata'][0]);
|
419 |
?>
|
420 |
<div class="media-meta">
|
421 |
+
<span class="label label-default"><?php _e('Size', 'gmLang'); ?>
|
422 |
+
:</span> <?php echo $_metadata['original']['width'] . ' × ' . $_metadata['original']['height']; ?>
|
423 |
</div>
|
424 |
<?php } ?>
|
425 |
+
<div class="media-meta"><span class="label label-default"><?php _e('Filename', 'gmLang'); ?>:</span>
|
426 |
<a href="<?php echo $item_url; ?>"><?php echo $item->gmuid; ?></a></div>
|
427 |
<div class="media-meta">
|
428 |
+
<span class="label label-default"><?php _e('Author', 'gmLang'); ?>
|
429 |
+
:</span> <?php printf('<a class="gmedia-author" href="%s">%s</a>', esc_url(add_query_arg(array('author' => $item->author), $url)), get_user_option('display_name', $item->author)); ?>
|
430 |
</div>
|
431 |
<div class="media-meta"><span class="label label-default"><?php _e('Date', 'gmLang'); ?>:</span> <?php echo $item->date;
|
432 |
+
echo ' <small class="modified" title="' . __('Last Modified Date', 'gmLang') . '">' . (($item->modified != $item->date)? $item->modified : '') . '</small>';
|
433 |
?></div>
|
434 |
+
<div class="media-meta"><span class="label label-default"><?php _e('Link', 'gmLang'); ?>:</span>
|
435 |
<?php if(!empty($item->link)){ ?>
|
436 |
<a href="<?php echo $item->link; ?>"><?php echo $item->link; ?></a>
|
437 |
<?php
|
438 |
} else{
|
439 |
echo '—';
|
440 |
} ?></div>
|
441 |
+
<p class="media-meta" style="margin:5px 4px;">
|
442 |
+
<?php $media_action_links = array();
|
443 |
+
if(($gmCore->caps['gmedia_edit_media'] && ((int)$item->author == get_current_user_id())) || $gmCore->caps['gmedia_edit_others_media']){
|
444 |
+
$media_action_links[] = '<a href="' . admin_url("admin.php?page=GrandMedia&mode=edit&gmedia__in={$item->ID}") . '">' . __('Edit Data', 'gmLang') . '</a>';
|
445 |
+
}
|
446 |
+
if('image' == $type[0]){
|
447 |
+
if(($gmCore->caps['gmedia_edit_media'] && ((int)$item->author == get_current_user_id())) || $gmCore->caps['gmedia_edit_others_media']){
|
448 |
+
$media_action_links[] = '<a href="' . admin_url("admin.php?page=GrandMedia&gmediablank=image_editor&id={$item->ID}") . '" data-target="#gmeditModal" class="gmedit-modal">' . __('Edit Image', 'gmLang') . '</a>';
|
449 |
+
}
|
450 |
+
$media_action_links[] = '<a href="' . $gmCore->gm_get_media_image($item, 'original') . '" data-target="#previewModal" class="preview-modal">' . __('View Original', 'gmLang') . '</a>';
|
451 |
+
|
452 |
+
}
|
453 |
+
if(($gmCore->caps['gmedia_delete_media'] && ((int)$item->author == get_current_user_id())) || $gmCore->caps['gmedia_delete_others_media']){
|
454 |
+
$media_action_links[] = '<a class="text-danger" href="' . wp_nonce_url($gmCore->get_admin_url(array('delete' => $item->ID)), 'gmedia_delete') . '" data-confirm="' . sprintf(__("You are about to permanently delete %s file.\n\r'Cancel' to stop, 'OK' to delete.", "gmLang"), $item->gmuid) . '">' . __('Delete', 'gmLang') . '</a>';
|
455 |
+
$media_action_links[] = '<a class="text-danger" href="' . wp_nonce_url($gmCore->get_admin_url(array('delete' => $item->ID, 'save_original_file' => 1)), 'gmedia_delete') . '" data-confirm="' . sprintf(__("You are about to delete record from DB for %s file.\n\r'Cancel' to stop, 'OK' to delete.", "gmLang"), $item->gmuid) . '">' . __('Delete DB record (leave file on the server)', 'gmLang') . '</a>';
|
456 |
+
}
|
457 |
+
echo implode(' | ', $media_action_links);
|
458 |
+
?>
|
459 |
+
</p>
|
460 |
</div>
|
461 |
</div>
|
462 |
</div>
|
463 |
|
464 |
+
<?php } elseif($gmCore->caps['gmedia_edit_media']){ ?>
|
465 |
+
<?php if(((int)$item->author != $user_ID) && !$gmCore->caps['gmedia_edit_others_media']){ ?>
|
466 |
+
<div class="list-group-item row d-row" id="list-item-<?php echo $item->ID; ?>" data-id="<?php echo $item->ID; ?>" data-type="<?php echo $type[0]; ?>">
|
467 |
+
<div class="gmedia_id">#<?php echo $item->ID; ?></div>
|
468 |
+
<div class="li_media-object">
|
469 |
+
<span data-target="<?php echo $item_url; ?>" class="thumbnail">
|
470 |
+
<img class="gmedia-thumb" src="<?php echo $gmCore->gm_get_media_image($item, 'thumb'); ?>" alt=""/>
|
471 |
+
<?php if(('image' != $type[0]) && isset($meta['cover'][0]) && !empty($meta['cover'][0])){ ?>
|
472 |
+
<img class="gmedia-typethumb" src="<?php echo $gmCore->gm_get_media_image($item, 'thumb', false); ?>" alt=""/>
|
473 |
+
<?php } ?>
|
474 |
+
</span>
|
475 |
+
</div>
|
476 |
|
477 |
+
<div class="media-body">
|
478 |
+
<div class="col-md-6">
|
479 |
+
<p class="media-title"><?php echo esc_html($item->title); ?> </p>
|
480 |
+
|
481 |
+
<p class="media-caption"><?php echo esc_html($item->description); ?></p>
|
482 |
+
|
483 |
+
<p class="media-meta"><span class="label label-default"><?php _e('Album', 'gmLang'); ?>:</span>
|
484 |
+
<?php
|
485 |
+
if($albs){
|
486 |
+
$terms_album = array();
|
487 |
+
foreach($albs as $c){
|
488 |
+
$terms_album[] = sprintf('<span class="album">%s</span>', esc_html($c->name));
|
489 |
+
}
|
490 |
+
$terms_album = join(', ', $terms_album);
|
491 |
+
} else{
|
492 |
+
$terms_album = '<span class="album">—</span>';
|
493 |
+
}
|
494 |
+
echo $terms_album;
|
495 |
+
|
496 |
+
if($is_webimage){
|
497 |
+
?>
|
498 |
+
<br/><span class="label label-default"><?php _e('Category', 'gmLang'); ?>:</span>
|
499 |
+
<?php
|
500 |
+
if($cats){
|
501 |
+
$terms_category = array();
|
502 |
+
foreach($cats as $c){
|
503 |
+
$terms_category[] = sprintf('<span class="category">%s</span>', esc_html($gmGallery->options['taxonomies']['gmedia_category'][$c->name]));
|
504 |
+
}
|
505 |
+
$terms_category = join(', ', $terms_category);
|
506 |
+
} else{
|
507 |
+
$terms_category = sprintf('<span class="category">%s</span>', __('Uncategorized'));
|
508 |
+
}
|
509 |
+
echo $terms_category;
|
510 |
+
} ?>
|
511 |
+
<br/><span class="label label-default"><?php _e('Tags', 'gmLang'); ?>:</span>
|
512 |
+
<?php
|
513 |
+
if($tags){
|
514 |
+
$terms_tag = array();
|
515 |
+
foreach($tags as $c){
|
516 |
+
$terms_tag[] = sprintf('<span class="tag">%s</span>', esc_html($c->name));
|
517 |
+
}
|
518 |
+
$terms_tag = join(', ', $terms_tag);
|
519 |
+
} else{
|
520 |
+
$terms_tag = '—';
|
521 |
+
}
|
522 |
+
echo $terms_tag;
|
523 |
+
?>
|
524 |
+
</p>
|
525 |
+
</div>
|
526 |
+
<div class="col-md-6">
|
527 |
+
<div class="media-meta">
|
528 |
+
<span class="label label-default"><?php _e('Status', 'gmLang'); ?>:</span> <?php echo $item->status; ?>
|
529 |
+
</div>
|
530 |
+
<div class="media-meta">
|
531 |
+
<span class="label label-default"><?php _e('Type', 'gmLang'); ?>:</span> <?php echo $item->mime_type; ?>
|
532 |
+
</div>
|
533 |
+
<?php if('image' == $type[0]){
|
534 |
+
$_metadata = unserialize($meta['_metadata'][0]);
|
535 |
+
?>
|
536 |
+
<div class="media-meta">
|
537 |
+
<span class="label label-default"><?php _e('Size', 'gmLang'); ?>
|
538 |
+
:</span> <?php echo $_metadata['original']['width'] . ' × ' . $_metadata['original']['height']; ?>
|
539 |
+
</div>
|
540 |
+
<?php } ?>
|
541 |
+
<div class="media-meta"><span class="label label-default"><?php _e('Filename', 'gmLang'); ?>:</span>
|
542 |
+
<a href="<?php echo $item_url; ?>"><?php echo $item->gmuid; ?></a></div>
|
543 |
+
<div class="media-meta">
|
544 |
+
<span class="label label-default"><?php _e('Author', 'gmLang'); ?>
|
545 |
+
:</span> <?php printf('<span class="gmedia-author">%s</a>', get_user_option('display_name', $item->author)); ?>
|
546 |
+
</div>
|
547 |
+
<div class="media-meta"><span class="label label-default"><?php _e('Date', 'gmLang'); ?>:</span> <?php echo $item->date;
|
548 |
+
echo ' <small class="modified" title="' . __('Last Modified Date', 'gmLang') . '">' . (($item->modified != $item->date)? $item->modified : '') . '</small>';
|
549 |
+
?></div>
|
550 |
+
<div class="media-meta"><span class="label label-default"><?php _e('Link', 'gmLang'); ?>:</span>
|
551 |
+
<?php if(!empty($item->link)){ ?>
|
552 |
+
<a href="<?php echo $item->link; ?>"><?php echo $item->link; ?></a>
|
553 |
+
<?php
|
554 |
+
} else{
|
555 |
+
echo '—';
|
556 |
+
} ?></div>
|
557 |
+
<?php if('image' == $type[0]){ ?>
|
558 |
+
<p class="media-meta" style="margin:5px 4px;">
|
559 |
+
<a href="<?php echo $gmCore->gm_get_media_image($item, 'original'); ?>" data-target="#previewModal" class="preview-modal" title="<?php echo esc_attr($item->title); ?>">
|
560 |
+
<?php _e('View Original', 'gmLang'); ?>
|
561 |
+
</a>
|
562 |
+
</p>
|
563 |
+
<?php } ?>
|
564 |
+
</div>
|
565 |
+
</div>
|
566 |
+
</div>
|
567 |
+
<?php
|
568 |
+
continue;
|
569 |
+
}
|
570 |
+
?>
|
571 |
<form class="list-group-item row d-row edit-gmedia" id="list-item-<?php echo $item->ID; ?>" data-id="<?php echo $item->ID; ?>" data-type="<?php echo $type[0]; ?>" role="form">
|
572 |
<div class="col-sm-4" style="max-width:350px;">
|
573 |
<input name="ID" type="hidden" value="<?php echo $item->ID; ?>"/>
|
576 |
<img class="gmedia-thumb" src="<?php echo $gmCore->gm_get_media_image($item, 'thumb'); ?>" alt=""/>
|
577 |
</a>
|
578 |
<p>
|
579 |
+
<a href="<?php echo admin_url("admin.php?page=GrandMedia&gmediablank=image_editor&id={$item->ID}"); ?>" data-target="#gmeditModal" class="btn btn-link btn-sm gmedit-modal">
|
580 |
<?php _e('Edit Image', 'gmLang'); ?>
|
581 |
</a> |
|
582 |
+
<a href="<?php echo $gmCore->gm_get_media_image($item, 'original'); ?>" data-target="#previewModal" class="btn btn-link btn-sm preview-modal">
|
583 |
<?php _e('View Original', 'gmLang'); ?>
|
584 |
</a>
|
585 |
+
<?php if(($gmCore->caps['gmedia_delete_media'] && ((int)$item->author == get_current_user_id())) || $gmCore->caps['gmedia_delete_others_media']){ ?>
|
586 |
+
|
|
587 |
+
<a class="btn btn-link btn-sm text-danger" href="<?php echo wp_nonce_url($gmCore->get_admin_url(array('delete' => $item->ID)), 'gmedia_delete') ?>" data-confirm="<?php printf(__("You are about to permanently delete %s file.\n\r'Cancel' to stop, 'OK' to delete.", "gmLang"), $item->gmuid); ?>">
|
588 |
+
<?php _e('Delete', 'gmLang'); ?>
|
589 |
+
</a>
|
590 |
+
<?php } ?>
|
591 |
</p>
|
592 |
<?php } else{ ?>
|
593 |
<a href="<?php echo $item_url; ?>" data-target="#previewModal" class="thumbnail preview-modal" title="<?php echo esc_attr($item->title); ?>">
|
612 |
<div class="row">
|
613 |
<div class="form-group col-lg-6">
|
614 |
<label><?php _e('Description', 'gmLang'); ?></label>
|
615 |
+
<?php if('false' == $gm_screen_options['library_edit_quicktags']){
|
616 |
+
echo "<textarea id='gm{$item->ID}_description' class='form-control input-sm' name='description' cols='20' rows='4' style='height:174px'>" . esc_html($item->description) . '</textarea>';
|
617 |
+
} else{
|
618 |
+
wp_editor(esc_html($item->description), "gm{$item->ID}_description", array(
|
619 |
+
'editor_class' => 'form-control input-sm',
|
620 |
+
'editor_height' => 140,
|
621 |
+
'wpautop' => false,
|
622 |
+
'media_buttons' => false,
|
623 |
+
'textarea_name' => 'description',
|
624 |
+
'textarea_rows' => '4',
|
625 |
+
'tinymce' => false,
|
626 |
+
'quicktags' => array('buttons' => apply_filters('gmedia_editor_quicktags', 'strong,em,link,ul,li,close'))
|
627 |
+
));
|
628 |
+
} ?>
|
629 |
</div>
|
630 |
<div class="col-lg-6">
|
631 |
+
<?php if(('image' != $type[0])){ ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
632 |
<div class="form-group">
|
633 |
<label><?php _e('Cover', 'gmLang'); ?></label>
|
634 |
+
<input name="meta[cover]" type="text" class="form-control input-sm gmedia-cover" value="<?php if(isset($meta['cover'][0])){
|
635 |
+
echo $meta['cover'][0];
|
636 |
+
} ?>" placeholder="<?php _e('Gmedia ID or Image URL', 'gmLang'); ?>"/>
|
637 |
</div>
|
638 |
<?php } ?>
|
639 |
+
<?php if($gmCore->caps['gmedia_terms']){ ?>
|
640 |
+
<?php if($is_webimage){ ?>
|
641 |
+
<?php
|
642 |
+
$cat_name = empty($cats)? 0 : reset($cats)->name;
|
643 |
+
$term_type = 'gmedia_category';
|
644 |
+
$gm_terms = $gmGallery->options['taxonomies'][$term_type];
|
645 |
+
|
646 |
+
$terms_category = '';
|
647 |
+
if(count($gm_terms)){
|
648 |
+
foreach($gm_terms as $term_name => $term_title){
|
649 |
+
$selected_option = ($cat_name === $term_name)? ' selected="selected"' : '';
|
650 |
+
$terms_category .= '<option' . $selected_option . ' value="' . $term_name . '">' . esc_html($term_title) . '</option>' . "\n";
|
651 |
+
}
|
652 |
+
}
|
653 |
+
?>
|
654 |
+
<div class="form-group">
|
655 |
+
<label><?php _e('Category', 'gmLang'); ?> </label>
|
656 |
+
<select name="terms[gmedia_category]" class="gmedia_category form-control input-sm">
|
657 |
+
<option<?php echo $cat_name? '' : ' selected="selected"'; ?> value=""><?php _e('Uncategorized', 'gmLang'); ?></option>
|
658 |
+
<?php echo $terms_category; ?>
|
659 |
+
</select>
|
660 |
+
</div>
|
661 |
+
<?php } ?>
|
662 |
|
|
|
663 |
<?php
|
664 |
+
$alb_id = empty($albs)? 0 : reset($albs)->term_id;
|
665 |
+
$term_type = 'gmedia_album';
|
666 |
+
$args = array();
|
667 |
+
if(!$gmCore->caps['gmedia_edit_others_media']){
|
668 |
+
$args = array('global' => array(0, $user_ID), 'orderby' => 'global_desc_name');
|
669 |
+
}
|
670 |
+
$gm_terms = $gmDB->get_terms($term_type, $args);
|
671 |
+
|
672 |
+
$terms_album = '';
|
673 |
+
$album_status = 'none';
|
674 |
+
if(count($gm_terms)){
|
675 |
+
foreach($gm_terms as $term){
|
676 |
+
$author_name = '';
|
677 |
+
if($term->global){
|
678 |
+
if($gmCore->caps['gmedia_edit_others_media']){
|
679 |
+
$author_name .= ' ' . sprintf(__('by %s', 'gmLang'), get_the_author_meta('display_name', $term->global));
|
680 |
+
}
|
681 |
+
} else{
|
682 |
+
$author_name .= ' (' . __('shared', 'gmLang') . ')';
|
683 |
+
}
|
684 |
+
if ('public' != $term->status) {
|
685 |
+
$author_name .= ' [' . $term->status . ']';
|
686 |
+
}
|
687 |
+
|
688 |
+
$selected_option = '';
|
689 |
+
if($alb_id == $term->term_id) {
|
690 |
+
$selected_option = ' selected="selected"';
|
691 |
+
$album_status = $term->status;
|
692 |
+
}
|
693 |
+
$terms_album .= '<option' . $selected_option . ' value="' . $term->term_id . '">' . esc_html($term->name) . $author_name . '</option>' . "\n";
|
694 |
+
}
|
695 |
+
}
|
696 |
+
?>
|
697 |
+
<div class="form-group status-album bg-status-<?php echo $album_status; ?>">
|
698 |
+
<label><?php _e('Album ', 'gmLang'); ?></label>
|
699 |
+
<select name="terms[gmedia_album]" class="combobox_gmedia_album form-control input-sm" placeholder="<?php _e('Album Name...', 'gmLang'); ?>">
|
700 |
+
<option<?php echo $alb_id? '' : ' selected="selected"'; ?> value=""></option>
|
701 |
+
<?php echo $terms_album; ?>
|
702 |
+
</select>
|
703 |
+
</div>
|
704 |
+
<?php
|
705 |
+
if(!empty($tags)){
|
706 |
+
$terms_tag = array();
|
707 |
+
foreach($tags as $c){
|
708 |
+
$terms_tag[] = esc_html($c->name);
|
709 |
+
}
|
710 |
+
$terms_tag = join(', ', $terms_tag);
|
711 |
+
} else{
|
712 |
+
$terms_tag = '';
|
713 |
+
}
|
714 |
+
?>
|
715 |
+
<div class="form-group">
|
716 |
+
<label><?php _e('Tags ', 'gmLang'); ?></label>
|
717 |
+
<textarea name="terms[gmedia_tag]" class="gmedia_tags_input form-control input-sm" rows="1" cols="50"><?php echo $terms_tag; ?></textarea>
|
718 |
+
</div>
|
719 |
+
<?php } ?>
|
720 |
</div>
|
721 |
</div>
|
722 |
<div class="row">
|
723 |
<div class="col-lg-6">
|
724 |
<div class="form-group">
|
725 |
<label><?php _e('Filename', 'gmLang'); ?></label>
|
726 |
+
<input name="filename" type="text" class="form-control input-sm gmedia-filename" <?php if((int)$item->author !== $user_ID){
|
727 |
+
echo 'readonly';
|
728 |
+
} ?> value="<?php echo pathinfo($item->gmuid, PATHINFO_FILENAME); ?>"/>
|
729 |
</div>
|
730 |
<div class="form-group">
|
731 |
<label><?php _e('Date', 'gmLang'); ?></label>
|
736 |
<span class="glyphicon glyphicon-calendar"></span></button></span>
|
737 |
</div>
|
738 |
</div>
|
739 |
+
<div class="form-group status-item bg-status-<?php echo $item->status; ?>">
|
740 |
+
<label><?php _e('Status', 'gmLang'); ?></label>
|
741 |
+
<select name="status" class="form-control input-sm">
|
742 |
+
<option <?php selected($item->status, 'public'); ?> value="public"><?php _e('Public', 'gmLang'); ?></option>
|
743 |
+
<option <?php selected($item->status, 'private'); ?> value="private"><?php _e('Private', 'gmLang'); ?></option>
|
744 |
+
<option <?php selected($item->status, 'draft'); ?> value="draft"><?php _e('Draft', 'gmLang'); ?></option>
|
745 |
+
</select>
|
746 |
+
</div>
|
747 |
</div>
|
748 |
<div class="col-lg-6">
|
749 |
+
<div class="form-group">
|
750 |
<label><?php _e('Author', 'gmLang'); ?></label>
|
751 |
+
<?php $user_ids = $gmCore->caps['gmedia_edit_others_media']? $gmCore->get_editable_user_ids() : false;
|
752 |
+
if($user_ids){
|
753 |
+
wp_dropdown_users(array(
|
754 |
+
'include' => $user_ids,
|
755 |
+
'include_selected' => true,
|
756 |
+
'name' => 'author',
|
757 |
+
'selected' => $item->author,
|
758 |
+
'class' => 'form-control',
|
759 |
+
'multi' => true
|
760 |
+
));
|
761 |
+
} else{
|
762 |
+
echo '<input type="hidden" name="author" value="' . $item->author . '"/>';
|
763 |
+
echo '<div>' . get_the_author_meta('display_name', $item->author) . '</div>';
|
764 |
+
}
|
765 |
?>
|
766 |
</div>
|
767 |
<div class="media-meta"><span class="label label-default"><?php _e('ID', 'gmLang') ?>:</span> <strong><?php echo $item->ID; ?></strong></div>
|
768 |
+
<div class="media-meta"><span class="label label-default"><?php _e('Type', 'gmLang') ?>
|
769 |
+
:</span> <?php echo $item->mime_type; ?></div>
|
770 |
+
<div class="media-meta"><span class="label label-default"><?php _e('File Size', 'gmLang') ?> :</span> <?php echo $gmCore->filesize($item_path); ?>
|
771 |
+
</div>
|
772 |
<?php if('image' == $type[0]){
|
773 |
$_metadata = unserialize($meta['_metadata'][0]); ?>
|
774 |
+
<div class="media-meta"><span class="label label-default"><?php _e('Dimensions', 'gmLang') ?>
|
775 |
+
:</span> <span title="<?php echo $_metadata['web']['width'] . ' × ' . $_metadata['web']['height'] . ', ' . $_metadata['thumb']['width'] . ' × ' . $_metadata['thumb']['height']; ?>"><?php echo $_metadata['original']['width'] . ' × ' . $_metadata['original']['height']; ?></span></div>
|
776 |
<?php } ?>
|
777 |
+
<div class="media-meta"><span class="label label-default"><?php _e('Uploaded', 'gmLang') ?>:</span><?php echo $item->date; ?></div>
|
778 |
+
<div class="media-meta"><span class="label label-default"><?php _e('Last Edited', 'gmLang') ?>:</span>
|
779 |
+
<span class="gm-last-edited modified"><?php echo $item->modified; ?></span></div>
|
780 |
</div>
|
781 |
</div>
|
782 |
<?php do_action('gmedia_edit_form'); ?>
|
787 |
<script type="text/javascript">
|
788 |
jQuery(function($){
|
789 |
<?php if(!$gmProcessor->mode){ ?>
|
790 |
+
$('#gm-selected').on('change',function(){
|
791 |
var val = $(this).val();
|
792 |
$('.edit-mode-link').each(function(){
|
793 |
if(val){
|
799 |
}).trigger('change');
|
800 |
|
801 |
<?php } else { ?>
|
802 |
+
<?php if($gmCore->caps['gmedia_terms']){ ?>
|
803 |
$('.combobox_gmedia_album').selectize({
|
804 |
+
create: <?php echo $gmCore->caps['gmedia_album_manage']? 'true' : 'false' ?>,
|
805 |
persist: false
|
806 |
});
|
807 |
+
<?php } ?>
|
808 |
|
809 |
var gmedia_date_temp;
|
810 |
+
$('.input-group.date').datetimepicker({useSeconds: true}).on('dp.show',function(){
|
811 |
gmedia_date_temp = $('input', this).val();
|
812 |
+
}).on('dp.hide', function(){
|
813 |
if(gmedia_date_temp != $('input', this).val()){
|
814 |
+
$('input', this).trigger('change');
|
815 |
}
|
816 |
});
|
817 |
+
|
818 |
+
var inp_filename = $('input.gmedia-filename').not('[readonly]');
|
819 |
+
if(inp_filename.length){
|
820 |
+
inp_filename.alphanum({
|
821 |
+
allow: '-_',
|
822 |
+
disallow: '',
|
823 |
+
allowSpace: false,
|
824 |
+
allowNumeric: true,
|
825 |
+
allowUpper: true,
|
826 |
+
allowLower: true,
|
827 |
+
allowCaseless: true,
|
828 |
+
allowLatin: true,
|
829 |
+
allowOtherCharSets: false,
|
830 |
+
forceUpper: false,
|
831 |
+
forceLower: false,
|
832 |
+
maxLength: NaN
|
833 |
+
});
|
834 |
+
}
|
835 |
|
836 |
<?php } ?>
|
837 |
});
|
838 |
window.closeModal = function(id){
|
839 |
+
jQuery('#' + id).modal('hide');
|
840 |
};
|
841 |
</script>
|
842 |
<?php } else{ ?>
|
843 |
<div class="list-group-item">
|
844 |
<div class="well well-lg text-center">
|
845 |
<h4><?php _e('No items to show.', 'gmLang'); ?></h4>
|
846 |
+
<?php if($gmCore->caps['gmedia_upload']){ ?>
|
847 |
+
<p>
|
848 |
+
<a href="<?php echo admin_url('admin.php?page=GrandMedia_AddMedia') ?>" class="btn btn-success"><span class="glyphicon glyphicon-plus"></span> <?php _e('Add Media', 'gmLang'); ?>
|
849 |
+
</a></p>
|
850 |
+
<?php } ?>
|
851 |
</div>
|
852 |
</div>
|
853 |
<?php } ?>
|
854 |
</div>
|
855 |
|
856 |
+
<div class="panel-footer clearfix">
|
857 |
+
<?php echo $gmDB->query_pager(); ?>
|
858 |
+
|
859 |
+
<a href="#top" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-arrow-up"></span> <?php _e('Back to top', 'gmLang'); ?></a>
|
860 |
+
</div>
|
861 |
+
|
862 |
<?php
|
863 |
wp_original_referer_field(true, 'previous');
|
864 |
wp_nonce_field('GmediaGallery');
|
865 |
?>
|
866 |
</div>
|
867 |
|
868 |
+
<div class="modal fade gmedia-modal" id="libModal" tabindex="-1" role="dialog" aria-hidden="true">
|
869 |
<div class="modal-dialog"></div>
|
870 |
</div>
|
871 |
+
<?php if($gmCore->caps['gmedia_edit_media']){ ?>
|
872 |
+
<div class="modal fade gmedia-modal" id="gmeditModal" tabindex="-1" role="dialog" aria-hidden="true">
|
873 |
+
<div class="modal-dialog modal-lg">
|
874 |
+
<div class="modal-content"></div>
|
875 |
+
</div>
|
876 |
+
</div>
|
877 |
+
<?php } ?>
|
878 |
<div class="modal fade gmedia-modal" id="previewModal" tabindex="-1" role="dialog" aria-hidden="true">
|
879 |
<div class="modal-dialog modal-lg">
|
880 |
<div class="modal-content">
|
admin/import.php
CHANGED
@@ -19,12 +19,11 @@ require_once(ABSPATH . 'wp-admin/includes/image.php');
|
|
19 |
// HTTP headers for no cache etc
|
20 |
nocache_headers();
|
21 |
|
22 |
-
|
|
|
23 |
wp_die(__('You do not have permission to upload files.'));
|
24 |
}
|
25 |
|
26 |
-
check_admin_referer('GmediaImport');
|
27 |
-
|
28 |
// 10 minutes execution time
|
29 |
@set_time_limit(10 * 60);
|
30 |
|
@@ -34,7 +33,7 @@ usleep(10);
|
|
34 |
global $gmCore, $gmGallery;
|
35 |
|
36 |
$import = $gmCore->_post('import');
|
37 |
-
$terms = $gmCore->_post('terms');
|
38 |
|
39 |
/**
|
40 |
* @param $files
|
@@ -45,10 +44,10 @@ $terms = $gmCore->_post('terms');
|
|
45 |
function gmedia_import_files($files, $terms, $move, $exists = 0){
|
46 |
global $gmCore, $gmGallery;
|
47 |
|
48 |
-
if
|
49 |
ob_start();
|
50 |
}
|
51 |
-
$eol = '</pre>'.PHP_EOL;
|
52 |
$c = count($files);
|
53 |
$i = 0;
|
54 |
foreach($files as $file){
|
@@ -144,7 +143,7 @@ function gmedia_import_files($files, $terms, $move, $exists = 0){
|
|
144 |
$editor = wp_get_image_editor($fileinfo['filepath_original']);
|
145 |
if(is_wp_error($editor)){
|
146 |
@unlink($fileinfo['filepath_original']);
|
147 |
-
echo $prefix_ko . $fileinfo['basename']. " (wp_get_image_editor): ". $editor->get_error_message() . $eol;
|
148 |
continue;
|
149 |
}
|
150 |
|
@@ -154,14 +153,14 @@ function gmedia_import_files($files, $terms, $move, $exists = 0){
|
|
154 |
$resized = $editor->resize($webimg['width'], $webimg['height'], $webimg['crop']);
|
155 |
if(is_wp_error($resized)){
|
156 |
@unlink($fileinfo['filepath_original']);
|
157 |
-
echo $prefix_ko . $fileinfo['basename']. " ("
|
158 |
continue;
|
159 |
}
|
160 |
|
161 |
$saved = $editor->save($fileinfo['filepath']);
|
162 |
if(is_wp_error($saved)){
|
163 |
@unlink($fileinfo['filepath_original']);
|
164 |
-
echo $prefix_ko . $fileinfo['basename']. " ("
|
165 |
continue;
|
166 |
}
|
167 |
}
|
@@ -173,7 +172,7 @@ function gmedia_import_files($files, $terms, $move, $exists = 0){
|
|
173 |
if(is_wp_error($resized)){
|
174 |
@unlink($fileinfo['filepath']);
|
175 |
@unlink($fileinfo['filepath_original']);
|
176 |
-
echo $prefix_ko . $fileinfo['basename']. " ("
|
177 |
continue;
|
178 |
}
|
179 |
|
@@ -181,7 +180,7 @@ function gmedia_import_files($files, $terms, $move, $exists = 0){
|
|
181 |
if(is_wp_error($saved)){
|
182 |
@unlink($fileinfo['filepath']);
|
183 |
@unlink($fileinfo['filepath_original']);
|
184 |
-
echo $prefix_ko . $fileinfo['basename'] . " ("
|
185 |
continue;
|
186 |
}
|
187 |
} else{
|
@@ -190,11 +189,13 @@ function gmedia_import_files($files, $terms, $move, $exists = 0){
|
|
190 |
$is_webimage = true;
|
191 |
} else{
|
192 |
@unlink($fileinfo['filepath']);
|
193 |
-
echo $prefix_ko . $fileinfo['basename']. ": " . __("Could not read image size. Invalid image was deleted.", 'gmLang') . $eol;
|
194 |
continue;
|
195 |
}
|
196 |
}
|
197 |
|
|
|
|
|
198 |
// Write media data to DB
|
199 |
// TODO Option to set title empty string or from metadata or from filename or both
|
200 |
// use image exif/iptc data for title and caption defaults if possible
|
@@ -207,26 +208,52 @@ function gmedia_import_files($files, $terms, $move, $exists = 0){
|
|
207 |
$description = $image_meta['caption'];
|
208 |
}
|
209 |
}
|
210 |
-
if(!isset($title) || empty($title)){
|
211 |
-
|
212 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
213 |
|
214 |
$_terms = $terms;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
215 |
if(!$is_webimage){
|
216 |
unset($_terms['gmedia_category']);
|
217 |
}
|
218 |
|
219 |
// Construct the media_data array
|
220 |
-
$media_data = array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
221 |
|
222 |
unset($title, $description);
|
223 |
|
224 |
-
global $gmDB;
|
225 |
// Save the data
|
226 |
$id = $gmDB->insert_gmedia($media_data);
|
227 |
$gmDB->update_metadata($meta_type = 'gmedia', $id, $meta_key = '_metadata', $gmDB->generate_gmedia_metadata($id, $fileinfo));
|
228 |
|
229 |
-
echo $prefix . $fileinfo['basename']. ': <span class="ok">' . sprintf(__('success (ID #%s)', 'gmLang'), $id) . '</span>' . $eol;
|
230 |
|
231 |
if($move){
|
232 |
@unlink($file);
|
@@ -234,162 +261,177 @@ function gmedia_import_files($files, $terms, $move, $exists = 0){
|
|
234 |
|
235 |
}
|
236 |
|
237 |
-
echo '<p><b>'.__('Category').':</b> '. (!empty($terms['gmedia_category'])? esc_html($gmGallery->options['taxonomies']['gmedia_category'][$terms['gmedia_category']]) : '-') . PHP_EOL;
|
238 |
-
echo '<br /><b>'.__('Album').':</b> '. esc_html($terms['gmedia_album']) . PHP_EOL;
|
239 |
-
echo '<br /><b>'.__('Tags').':</b> '. esc_html(str_replace(',', ', ', $terms['gmedia_tag'])) .'</p>' . PHP_EOL;
|
240 |
|
241 |
wp_ob_end_flush_all();
|
242 |
flush();
|
243 |
}
|
244 |
|
245 |
-
if
|
246 |
ob_start();
|
247 |
}
|
248 |
-
echo str_pad(' ',4096) . PHP_EOL;
|
249 |
wp_ob_end_flush_all();
|
250 |
flush();
|
251 |
?>
|
252 |
-
<html>
|
253 |
-
<style type="text/css">
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
</style>
|
260 |
-
<body>
|
261 |
-
<?php
|
262 |
-
if('import-folder' == $import){
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
276 |
foreach($files as $i => $filepath){
|
277 |
-
$
|
278 |
-
if(in_array($
|
279 |
unset($files[$i]);
|
280 |
}
|
281 |
}
|
282 |
-
$move
|
283 |
-
$exists = false;
|
284 |
} else{
|
285 |
-
|
286 |
-
$exists = 0;
|
287 |
}
|
288 |
-
|
289 |
-
|
290 |
-
echo sprintf( __( 'Folder `%s` is empty', 'gmLang' ), $path ) . PHP_EOL;
|
291 |
}
|
292 |
-
} else {
|
293 |
-
echo __( 'No folder chosen', 'gmLang' ) . PHP_EOL;
|
294 |
}
|
295 |
-
}
|
296 |
-
} elseif('import-flagallery' == $import){
|
297 |
|
298 |
-
|
299 |
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
|
|
309 |
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
|
|
314 |
}
|
315 |
-
}
|
316 |
|
317 |
-
|
318 |
|
319 |
-
|
320 |
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
|
|
|
|
|
|
325 |
}
|
326 |
-
|
327 |
-
|
328 |
}
|
329 |
-
}
|
330 |
-
echo __( 'No gallery chosen', 'gmLang' ) . PHP_EOL;
|
331 |
-
}
|
332 |
-
} elseif('import-nextgen' == $import){
|
333 |
|
334 |
-
|
335 |
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
|
|
345 |
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
|
|
350 |
}
|
351 |
-
}
|
352 |
|
353 |
-
|
354 |
|
355 |
-
|
356 |
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
|
|
|
|
361 |
}
|
362 |
-
|
|
|
363 |
}
|
364 |
-
}
|
365 |
-
|
366 |
-
}
|
367 |
-
} elseif('import-wpmedia' == $import){
|
368 |
-
global $user_ID, $gmDB;
|
369 |
|
370 |
-
|
371 |
|
372 |
-
|
373 |
|
374 |
-
|
375 |
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
|
387 |
-
|
388 |
-
|
|
|
389 |
}
|
390 |
-
|
391 |
-
|
392 |
-
</
|
393 |
-
</html>
|
394 |
<?php
|
395 |
wp_ob_end_flush_all();
|
19 |
// HTTP headers for no cache etc
|
20 |
nocache_headers();
|
21 |
|
22 |
+
check_admin_referer('GmediaImport');
|
23 |
+
if(!current_user_can('gmedia_import')){
|
24 |
wp_die(__('You do not have permission to upload files.'));
|
25 |
}
|
26 |
|
|
|
|
|
27 |
// 10 minutes execution time
|
28 |
@set_time_limit(10 * 60);
|
29 |
|
33 |
global $gmCore, $gmGallery;
|
34 |
|
35 |
$import = $gmCore->_post('import');
|
36 |
+
$terms = $gmCore->_post('terms', array());
|
37 |
|
38 |
/**
|
39 |
* @param $files
|
44 |
function gmedia_import_files($files, $terms, $move, $exists = 0){
|
45 |
global $gmCore, $gmGallery;
|
46 |
|
47 |
+
if(ob_get_level() == 0){
|
48 |
ob_start();
|
49 |
}
|
50 |
+
$eol = '</pre>' . PHP_EOL;
|
51 |
$c = count($files);
|
52 |
$i = 0;
|
53 |
foreach($files as $file){
|
143 |
$editor = wp_get_image_editor($fileinfo['filepath_original']);
|
144 |
if(is_wp_error($editor)){
|
145 |
@unlink($fileinfo['filepath_original']);
|
146 |
+
echo $prefix_ko . $fileinfo['basename'] . " (wp_get_image_editor): " . $editor->get_error_message() . $eol;
|
147 |
continue;
|
148 |
}
|
149 |
|
153 |
$resized = $editor->resize($webimg['width'], $webimg['height'], $webimg['crop']);
|
154 |
if(is_wp_error($resized)){
|
155 |
@unlink($fileinfo['filepath_original']);
|
156 |
+
echo $prefix_ko . $fileinfo['basename'] . " (" . $resized->get_error_code() . " | editor->resize->webimage({$webimg['width']}, {$webimg['height']}, {$webimg['crop']})): " . $resized->get_error_message() . $eol;
|
157 |
continue;
|
158 |
}
|
159 |
|
160 |
$saved = $editor->save($fileinfo['filepath']);
|
161 |
if(is_wp_error($saved)){
|
162 |
@unlink($fileinfo['filepath_original']);
|
163 |
+
echo $prefix_ko . $fileinfo['basename'] . " (" . $saved->get_error_code() . " | editor->save->webimage): " . $saved->get_error_message() . $eol;
|
164 |
continue;
|
165 |
}
|
166 |
}
|
172 |
if(is_wp_error($resized)){
|
173 |
@unlink($fileinfo['filepath']);
|
174 |
@unlink($fileinfo['filepath_original']);
|
175 |
+
echo $prefix_ko . $fileinfo['basename'] . " (" . $resized->get_error_code() . " | editor->resize->thumb({$thumbimg['width']}, {$thumbimg['height']}, {$thumbimg['crop']})): " . $resized->get_error_message() . $eol;
|
176 |
continue;
|
177 |
}
|
178 |
|
180 |
if(is_wp_error($saved)){
|
181 |
@unlink($fileinfo['filepath']);
|
182 |
@unlink($fileinfo['filepath_original']);
|
183 |
+
echo $prefix_ko . $fileinfo['basename'] . " (" . $saved->get_error_code() . " | editor->save->thumb): " . $saved->get_error_message() . $eol;
|
184 |
continue;
|
185 |
}
|
186 |
} else{
|
189 |
$is_webimage = true;
|
190 |
} else{
|
191 |
@unlink($fileinfo['filepath']);
|
192 |
+
echo $prefix_ko . $fileinfo['basename'] . ": " . __("Could not read image size. Invalid image was deleted.", 'gmLang') . $eol;
|
193 |
continue;
|
194 |
}
|
195 |
}
|
196 |
|
197 |
+
global $gmDB;
|
198 |
+
|
199 |
// Write media data to DB
|
200 |
// TODO Option to set title empty string or from metadata or from filename or both
|
201 |
// use image exif/iptc data for title and caption defaults if possible
|
208 |
$description = $image_meta['caption'];
|
209 |
}
|
210 |
}
|
211 |
+
if(!isset($title) || empty($title)){
|
212 |
+
$title = $fileinfo['title'];
|
213 |
+
}
|
214 |
+
if(!isset($description)){
|
215 |
+
$description = '';
|
216 |
+
}
|
217 |
+
if(!isset($link)){
|
218 |
+
$link = '';
|
219 |
+
}
|
220 |
|
221 |
$_terms = $terms;
|
222 |
+
|
223 |
+
$gmedia_album = isset($_terms['gmedia_album'])? $_terms['gmedia_album'] : false;
|
224 |
+
if($gmedia_album && $this->is_digit($gmedia_album)){
|
225 |
+
$album = $gmDB->get_term($gmedia_album, 'gmedia_album');
|
226 |
+
if(empty($album) || is_wp_error($album)){
|
227 |
+
$status = 'public';
|
228 |
+
} else{
|
229 |
+
$status = $album->status;
|
230 |
+
}
|
231 |
+
} else{
|
232 |
+
$status = 'public';
|
233 |
+
}
|
234 |
+
|
235 |
if(!$is_webimage){
|
236 |
unset($_terms['gmedia_category']);
|
237 |
}
|
238 |
|
239 |
// Construct the media_data array
|
240 |
+
$media_data = array(
|
241 |
+
'mime_type' => $fileinfo['mime_type'],
|
242 |
+
'gmuid' => $fileinfo['basename'],
|
243 |
+
'title' => $title,
|
244 |
+
'link' => $link,
|
245 |
+
'description' => $description,
|
246 |
+
'status' => $status,
|
247 |
+
'terms' => $_terms
|
248 |
+
);
|
249 |
|
250 |
unset($title, $description);
|
251 |
|
|
|
252 |
// Save the data
|
253 |
$id = $gmDB->insert_gmedia($media_data);
|
254 |
$gmDB->update_metadata($meta_type = 'gmedia', $id, $meta_key = '_metadata', $gmDB->generate_gmedia_metadata($id, $fileinfo));
|
255 |
|
256 |
+
echo $prefix . $fileinfo['basename'] . ': <span class="ok">' . sprintf(__('success (ID #%s)', 'gmLang'), $id) . '</span>' . $eol;
|
257 |
|
258 |
if($move){
|
259 |
@unlink($file);
|
261 |
|
262 |
}
|
263 |
|
264 |
+
echo '<p><b>' . __('Category') . ':</b> ' . ((isset($terms['gmedia_category']) && !empty($terms['gmedia_category']))? esc_html($gmGallery->options['taxonomies']['gmedia_category'][$terms['gmedia_category']]) : '-') . PHP_EOL;
|
265 |
+
echo '<br /><b>' . __('Album') . ':</b> ' . ((isset($terms['gmedia_album']) && !empty($terms['gmedia_album']))? esc_html($terms['gmedia_album']) : '-') . PHP_EOL;
|
266 |
+
echo '<br /><b>' . __('Tags') . ':</b> ' . ((isset($terms['gmedia_tag']) && !empty($terms['gmedia_tag']))? esc_html(str_replace(',', ', ', $terms['gmedia_tag'])) : '-') . '</p>' . PHP_EOL;
|
267 |
|
268 |
wp_ob_end_flush_all();
|
269 |
flush();
|
270 |
}
|
271 |
|
272 |
+
if(ob_get_level() == 0){
|
273 |
ob_start();
|
274 |
}
|
275 |
+
echo str_pad(' ', 4096) . PHP_EOL;
|
276 |
wp_ob_end_flush_all();
|
277 |
flush();
|
278 |
?>
|
279 |
+
<html>
|
280 |
+
<style type="text/css">
|
281 |
+
* { margin:0; padding:0; }
|
282 |
+
pre { display:block; }
|
283 |
+
p { padding:10px 0; font-size:14px; }
|
284 |
+
.ok { color:darkgreen; }
|
285 |
+
.ko { color:darkred; }
|
286 |
+
</style>
|
287 |
+
<body>
|
288 |
+
<?php
|
289 |
+
if('import-folder' == $import){
|
290 |
+
|
291 |
+
$path = $gmCore->_post('path');
|
292 |
+
echo '<h4 style="margin: 0 0 10px">' . __('Import Server Folder') . " `$path`:</h4>" . PHP_EOL;
|
293 |
+
|
294 |
+
if($path){
|
295 |
+
$path = trim(urldecode($path), '/');
|
296 |
+
if(!empty($path)){
|
297 |
+
$fullpath = ABSPATH . trailingslashit($path);
|
298 |
+
$files = glob($fullpath . '?*.?*', GLOB_NOSORT);
|
299 |
+
if(!empty($files)){
|
300 |
+
$allowed_ext = get_allowed_mime_types();
|
301 |
+
$allowed_ext = array_keys($allowed_ext);
|
302 |
+
$allowed_ext = implode('|', $allowed_ext);
|
303 |
+
$allowed_ext = explode('|', $allowed_ext);
|
304 |
+
if((GMEDIA_UPLOAD_FOLDER == basename(dirname(dirname($path)))) || (GMEDIA_UPLOAD_FOLDER == basename(dirname($path)))){
|
305 |
+
global $wpdb;
|
306 |
+
$gmedias = $wpdb->get_col("SELECT gmuid FROM {$wpdb->prefix}gmedia");
|
307 |
+
foreach($files as $i => $filepath){
|
308 |
+
$gmuid = basename($filepath);
|
309 |
+
if(in_array($gmuid, $gmedias)){
|
310 |
+
$fileinfo = $gmCore->fileinfo($gmuid, false);
|
311 |
+
if(!(('image' == $fileinfo['dirname']) && !file_exists($fileinfo['filepath']))){
|
312 |
+
unset($files[$i]);
|
313 |
+
}
|
314 |
+
}
|
315 |
+
}
|
316 |
+
$move = false;
|
317 |
+
$exists = false;
|
318 |
+
} else{
|
319 |
+
$move = $gmCore->_post('delete_source');
|
320 |
+
$exists = 0;
|
321 |
+
}
|
322 |
foreach($files as $i => $filepath){
|
323 |
+
$ext = pathinfo($filepath, PATHINFO_EXTENSION);
|
324 |
+
if(!in_array($ext, $allowed_ext)){
|
325 |
unset($files[$i]);
|
326 |
}
|
327 |
}
|
328 |
+
gmedia_import_files($files, $terms, $move, $exists);
|
|
|
329 |
} else{
|
330 |
+
echo sprintf(__('Folder `%s` is empty', 'gmLang'), $path) . PHP_EOL;
|
|
|
331 |
}
|
332 |
+
} else{
|
333 |
+
echo __('No folder chosen', 'gmLang') . PHP_EOL;
|
|
|
334 |
}
|
|
|
|
|
335 |
}
|
336 |
+
} elseif('import-flagallery' == $import){
|
|
|
337 |
|
338 |
+
echo '<h4 style="margin: 0 0 10px">' . __('Import from Flagallery plugin') . ":</h4>" . PHP_EOL;
|
339 |
|
340 |
+
$gallery = $gmCore->_post('gallery');
|
341 |
+
if(!empty($gallery)){
|
342 |
+
global $wpdb, $gmDB;
|
343 |
|
344 |
+
$album = (!isset($terms['gmedia_album']) || empty($terms['gmedia_album']))? false : true;
|
345 |
+
foreach($gallery as $gid){
|
346 |
+
$flag_gallery = $wpdb->get_row($wpdb->prepare("SELECT gid, path, title, galdesc FROM `{$wpdb->prefix}flag_gallery` WHERE gid = %d", $gid), ARRAY_A);
|
347 |
+
if(empty($flag_gallery)){
|
348 |
+
continue;
|
349 |
+
}
|
350 |
|
351 |
+
if(!$album){
|
352 |
+
$terms['gmedia_album'] = $flag_gallery['title'];
|
353 |
+
if(!$gmDB->term_exists($flag_gallery['title'], 'gmedia_album')){
|
354 |
+
$term_id = $gmDB->insert_term($flag_gallery['title'], 'gmedia_album', array('description' => htmlspecialchars_decode(stripslashes($flag_gallery['galdesc']))));
|
355 |
+
}
|
356 |
}
|
|
|
357 |
|
358 |
+
$path = ABSPATH . trailingslashit($flag_gallery['path']);
|
359 |
|
360 |
+
echo '<h5 style="margin: 10px 0 5px">' . sprintf(__('Import `%s` gallery', 'gmLang'), $flag_gallery['title']) . ":</h5>" . PHP_EOL;
|
361 |
|
362 |
+
$flag_pictures = $wpdb->get_results($wpdb->prepare("SELECT CONCAT('%s', filename) AS file, description, alttext AS title, link FROM `{$wpdb->prefix}flag_pictures` WHERE galleryid = %d", $path, $flag_gallery['gid']), ARRAY_A);
|
363 |
+
if(empty($flag_pictures)){
|
364 |
+
echo '<pre>' . __('gallery contains 0 images', 'gmLang') . '</pre>';
|
365 |
+
continue;
|
366 |
+
}
|
367 |
+
//echo '<pre>'.print_r($flag_pictures, true).'</pre>';
|
368 |
+
gmedia_import_files($flag_pictures, $terms, false);
|
369 |
}
|
370 |
+
} else{
|
371 |
+
echo __('No gallery chosen', 'gmLang') . PHP_EOL;
|
372 |
}
|
373 |
+
} elseif('import-nextgen' == $import){
|
|
|
|
|
|
|
374 |
|
375 |
+
echo '<h4 style="margin: 0 0 10px">' . __('Import from NextGen plugin') . ":</h4>" . PHP_EOL;
|
376 |
|
377 |
+
$gallery = $gmCore->_post('gallery');
|
378 |
+
if(!empty($gallery)){
|
379 |
+
global $wpdb, $gmDB;
|
380 |
|
381 |
+
$album = (!isset($terms['gmedia_album']) || empty($terms['gmedia_album']))? false : true;
|
382 |
+
foreach($gallery as $gid){
|
383 |
+
$ngg_gallery = $wpdb->get_row($wpdb->prepare("SELECT gid, path, title, galdesc FROM `{$wpdb->prefix}ngg_gallery` WHERE gid = %d", $gid), ARRAY_A);
|
384 |
+
if(empty($ngg_gallery)){
|
385 |
+
continue;
|
386 |
+
}
|
387 |
|
388 |
+
if(!$album){
|
389 |
+
$terms['gmedia_album'] = $ngg_gallery['title'];
|
390 |
+
if(!$gmDB->term_exists($ngg_gallery['title'], 'gmedia_album')){
|
391 |
+
$term_id = $gmDB->insert_term($ngg_gallery['title'], 'gmedia_album', array('description' => htmlspecialchars_decode(stripslashes($ngg_gallery['galdesc']))));
|
392 |
+
}
|
393 |
}
|
|
|
394 |
|
395 |
+
$path = ABSPATH . trailingslashit($ngg_gallery['path']);
|
396 |
|
397 |
+
echo '<h5 style="margin: 10px 0 5px">' . sprintf(__('Import `%s` gallery', 'gmLang'), $ngg_gallery['title']) . ":</h5>" . PHP_EOL;
|
398 |
|
399 |
+
$ngg_pictures = $wpdb->get_results($wpdb->prepare("SELECT CONCAT('%s', filename) AS file, description, alttext AS title FROM `{$wpdb->prefix}ngg_pictures` WHERE galleryid = %d", $path, $ngg_gallery['gid']), ARRAY_A);
|
400 |
+
if(empty($ngg_pictures)){
|
401 |
+
echo '<pre>' . __('gallery contains 0 images', 'gmLang') . '</pre>';
|
402 |
+
continue;
|
403 |
+
}
|
404 |
+
gmedia_import_files($ngg_pictures, $terms, false);
|
405 |
}
|
406 |
+
} else{
|
407 |
+
echo __('No gallery chosen', 'gmLang') . PHP_EOL;
|
408 |
}
|
409 |
+
} elseif('import-wpmedia' == $import){
|
410 |
+
global $user_ID, $gmDB;
|
|
|
|
|
|
|
411 |
|
412 |
+
echo '<h4 style="margin: 0 0 10px">' . __('Import from WP Media Library') . ":</h4>" . PHP_EOL;
|
413 |
|
414 |
+
$wpMediaLib = $gmDB->get_wp_media_lib(array('filter' => 'selected', 'selected' => $gmCore->_post('selected')));
|
415 |
|
416 |
+
if(!empty($wpMediaLib)){
|
417 |
|
418 |
+
$wp_media = array();
|
419 |
+
foreach($wpMediaLib as $item){
|
420 |
+
$wp_media[] = array(
|
421 |
+
'file' => get_attached_file($item->ID),
|
422 |
+
'title' => $item->post_title,
|
423 |
+
'description' => $item->post_content
|
424 |
+
);
|
425 |
+
}
|
426 |
+
//echo '<pre>' . print_r($wp_media, true) . '</pre>';
|
427 |
+
gmedia_import_files($wp_media, $terms, false);
|
428 |
|
429 |
+
} else{
|
430 |
+
echo __('No items chosen', 'gmLang') . PHP_EOL;
|
431 |
+
}
|
432 |
}
|
433 |
+
?>
|
434 |
+
</body>
|
435 |
+
</html>
|
|
|
436 |
<?php
|
437 |
wp_ob_end_flush_all();
|
admin/js/grand-media.js
CHANGED
@@ -8,7 +8,7 @@ jQuery(function($){
|
|
8 |
|
9 |
GmediaSelect = {
|
10 |
msg_selected: function(obj, global){
|
11 |
-
var gm_cb = $('.'+obj+' input'),
|
12 |
qty_v = gm_cb.length,
|
13 |
sel_v = gm_cb.filter(':checked').length,
|
14 |
c = $('#cb_global');
|
@@ -20,7 +20,9 @@ jQuery(function($){
|
|
20 |
c.css('opacity', '1').prop('checked', false);
|
21 |
}
|
22 |
|
23 |
-
if(!$('#gm-selected').length){
|
|
|
|
|
24 |
|
25 |
var sel = $('#gm-selected'),
|
26 |
arr = sel.val().split(','),
|
@@ -45,7 +47,7 @@ jQuery(function($){
|
|
45 |
}
|
46 |
|
47 |
if(sel.data('userid')){
|
48 |
-
var storedData = getStorage('
|
49 |
storedData.set(sel.data('key'), arr);
|
50 |
}
|
51 |
$('#gm-selected-qty').text(arr.length);
|
@@ -62,18 +64,18 @@ jQuery(function($){
|
|
62 |
sel.trigger('change');
|
63 |
},
|
64 |
chk_all: function(type, obj){
|
65 |
-
$('.'+obj+' input').filter(function(){
|
66 |
return type? $(this).data('type') == type : true;
|
67 |
}).prop('checked', true).closest('div.list-group-item').addClass('active');
|
68 |
},
|
69 |
chk_none: function(type, obj){
|
70 |
-
$('.'+obj+' input').filter(function(){
|
71 |
return type? $(this).data('type') == type : true;
|
72 |
}).prop('checked', false).closest('div.list-group-item').removeClass('active');
|
73 |
},
|
74 |
chk_toggle: function(type, obj){
|
75 |
if(type){
|
76 |
-
if($('.'+obj+' input:checked').filter(function(){
|
77 |
return $(this).data('type') == type;
|
78 |
}).length){
|
79 |
GmediaSelect.chk_none(type, obj);
|
@@ -81,7 +83,7 @@ jQuery(function($){
|
|
81 |
GmediaSelect.chk_all(type, obj);
|
82 |
}
|
83 |
} else{
|
84 |
-
$('.'+obj+' input').each(function(){
|
85 |
$(this).prop("checked", !$(this).prop("checked")).closest('div.list-group-item').toggleClass('active');
|
86 |
});
|
87 |
}
|
@@ -179,14 +181,17 @@ jQuery(function($){
|
|
179 |
},
|
180 |
init: function(){
|
181 |
$('#toplevel_page_GrandMedia').addClass('current').removeClass('wp-not-current-submenu');
|
|
|
|
|
|
|
182 |
|
183 |
/*
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
|
191 |
$('[data-confirm]').click(function(){
|
192 |
return GmediaFunction.confirm($(this).data('confirm'));
|
@@ -218,7 +223,7 @@ jQuery(function($){
|
|
218 |
$('.modal-content', modal_div).html(
|
219 |
$('<iframe />', {
|
220 |
name: 'gmeditFrame',
|
221 |
-
id:
|
222 |
width: '100%',
|
223 |
height: '500',
|
224 |
src: $(this).attr('href')
|
@@ -239,7 +244,7 @@ jQuery(function($){
|
|
239 |
$('.modal-body', modal_div).html(
|
240 |
$('<iframe />', {
|
241 |
name: 'previewFrame',
|
242 |
-
id:
|
243 |
width: '100%',
|
244 |
src: $(this).attr('href'),
|
245 |
load: function(){
|
@@ -263,8 +268,13 @@ jQuery(function($){
|
|
263 |
};
|
264 |
$.post(ajaxurl, post_data, function(data, textStatus, jqXHR){
|
265 |
console.log(data);
|
266 |
-
var
|
267 |
-
|
|
|
|
|
|
|
|
|
|
|
268 |
$('body').removeClass('gmedia-busy');
|
269 |
});
|
270 |
});
|
@@ -285,7 +295,7 @@ jQuery(function($){
|
|
285 |
$('#importModal').modal({
|
286 |
backdrop: 'static',
|
287 |
show: true
|
288 |
-
}).on('shown.bs.modal',
|
289 |
$('#import_form').submit();
|
290 |
}).on('hidden.bs.modal', function(){
|
291 |
$('#import-done').button('reset').prop('disabled', true);
|
@@ -297,7 +307,7 @@ jQuery(function($){
|
|
297 |
e.preventDefault();
|
298 |
$('body').addClass('gmedia-busy');
|
299 |
var module = $(this).data('module');
|
300 |
-
$('.module_install').filter('[data-module="'+module+'"]').button('loading');
|
301 |
var post_data = {
|
302 |
action: 'gmedia_module_install', download: $(this).attr('href'), module: module, _wpnonce: $('#_wpnonce').val()
|
303 |
};
|
@@ -317,46 +327,46 @@ jQuery(function($){
|
|
317 |
});
|
318 |
|
319 |
|
320 |
-
function getStorage(
|
321 |
// use document.cookie:
|
322 |
return {
|
323 |
set: function(id, data){
|
324 |
-
document.cookie =
|
325 |
},
|
326 |
get: function(id, data){
|
327 |
var cookies = document.cookie, parsed = {};
|
328 |
cookies.replace(/([^=]+)=([^;]*);?\s*/g, function(whole, key, value){
|
329 |
parsed[key] = decodeURIComponent(value);
|
330 |
});
|
331 |
-
return parsed[
|
332 |
}
|
333 |
};
|
334 |
}
|
335 |
|
336 |
/*
|
337 |
-
function gmHashCode(str){
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
}
|
345 |
-
function gmCreateKey(site, lic, uuid){
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
}
|
362 |
-
*/
|
8 |
|
9 |
GmediaSelect = {
|
10 |
msg_selected: function(obj, global){
|
11 |
+
var gm_cb = $('.' + obj + ' input'),
|
12 |
qty_v = gm_cb.length,
|
13 |
sel_v = gm_cb.filter(':checked').length,
|
14 |
c = $('#cb_global');
|
20 |
c.css('opacity', '1').prop('checked', false);
|
21 |
}
|
22 |
|
23 |
+
if(!$('#gm-selected').length){
|
24 |
+
return;
|
25 |
+
}
|
26 |
|
27 |
var sel = $('#gm-selected'),
|
28 |
arr = sel.val().split(','),
|
47 |
}
|
48 |
|
49 |
if(sel.data('userid')){
|
50 |
+
var storedData = getStorage('gmuser_' + sel.data('userid') + '_');
|
51 |
storedData.set(sel.data('key'), arr);
|
52 |
}
|
53 |
$('#gm-selected-qty').text(arr.length);
|
64 |
sel.trigger('change');
|
65 |
},
|
66 |
chk_all: function(type, obj){
|
67 |
+
$('.' + obj + ' input').filter(function(){
|
68 |
return type? $(this).data('type') == type : true;
|
69 |
}).prop('checked', true).closest('div.list-group-item').addClass('active');
|
70 |
},
|
71 |
chk_none: function(type, obj){
|
72 |
+
$('.' + obj + ' input').filter(function(){
|
73 |
return type? $(this).data('type') == type : true;
|
74 |
}).prop('checked', false).closest('div.list-group-item').removeClass('active');
|
75 |
},
|
76 |
chk_toggle: function(type, obj){
|
77 |
if(type){
|
78 |
+
if($('.' + obj + ' input:checked').filter(function(){
|
79 |
return $(this).data('type') == type;
|
80 |
}).length){
|
81 |
GmediaSelect.chk_none(type, obj);
|
83 |
GmediaSelect.chk_all(type, obj);
|
84 |
}
|
85 |
} else{
|
86 |
+
$('.' + obj + ' input').each(function(){
|
87 |
$(this).prop("checked", !$(this).prop("checked")).closest('div.list-group-item').toggleClass('active');
|
88 |
});
|
89 |
}
|
181 |
},
|
182 |
init: function(){
|
183 |
$('#toplevel_page_GrandMedia').addClass('current').removeClass('wp-not-current-submenu');
|
184 |
+
if(!("ontouchstart" in document.documentElement)){
|
185 |
+
$('html').addClass('no-touch');
|
186 |
+
}
|
187 |
|
188 |
/*
|
189 |
+
$(document).ajaxStart(function(){
|
190 |
+
$('body').addClass('gmedia-busy');
|
191 |
+
}).ajaxStop(function(){
|
192 |
+
$('body').removeClass('gmedia-busy');
|
193 |
+
});
|
194 |
+
*/
|
195 |
|
196 |
$('[data-confirm]').click(function(){
|
197 |
return GmediaFunction.confirm($(this).data('confirm'));
|
223 |
$('.modal-content', modal_div).html(
|
224 |
$('<iframe />', {
|
225 |
name: 'gmeditFrame',
|
226 |
+
id: 'gmeditFrame',
|
227 |
width: '100%',
|
228 |
height: '500',
|
229 |
src: $(this).attr('href')
|
244 |
$('.modal-body', modal_div).html(
|
245 |
$('<iframe />', {
|
246 |
name: 'previewFrame',
|
247 |
+
id: 'previewFrame',
|
248 |
width: '100%',
|
249 |
src: $(this).attr('href'),
|
250 |
load: function(){
|
268 |
};
|
269 |
$.post(ajaxurl, post_data, function(data, textStatus, jqXHR){
|
270 |
console.log(data);
|
271 |
+
var item = $('#list-item-' + data.ID);
|
272 |
+
item.find('.modified').text(data.modified);
|
273 |
+
item.find('.status-album').attr('class', 'form-group status-album bg-status-' + data.album_status);
|
274 |
+
item.find('.status-item').attr('class', 'form-group status-item bg-status-' + data.status);
|
275 |
+
if(data.tags){
|
276 |
+
item.find('.gmedia_tags_input').val(data.tags);
|
277 |
+
}
|
278 |
$('body').removeClass('gmedia-busy');
|
279 |
});
|
280 |
});
|
295 |
$('#importModal').modal({
|
296 |
backdrop: 'static',
|
297 |
show: true
|
298 |
+
}).on('shown.bs.modal',function(){
|
299 |
$('#import_form').submit();
|
300 |
}).on('hidden.bs.modal', function(){
|
301 |
$('#import-done').button('reset').prop('disabled', true);
|
307 |
e.preventDefault();
|
308 |
$('body').addClass('gmedia-busy');
|
309 |
var module = $(this).data('module');
|
310 |
+
$('.module_install').filter('[data-module="' + module + '"]').button('loading');
|
311 |
var post_data = {
|
312 |
action: 'gmedia_module_install', download: $(this).attr('href'), module: module, _wpnonce: $('#_wpnonce').val()
|
313 |
};
|
327 |
});
|
328 |
|
329 |
|
330 |
+
function getStorage(keyPprefix){
|
331 |
// use document.cookie:
|
332 |
return {
|
333 |
set: function(id, data){
|
334 |
+
document.cookie = keyPprefix + id + '=' + encodeURIComponent(data);
|
335 |
},
|
336 |
get: function(id, data){
|
337 |
var cookies = document.cookie, parsed = {};
|
338 |
cookies.replace(/([^=]+)=([^;]*);?\s*/g, function(whole, key, value){
|
339 |
parsed[key] = decodeURIComponent(value);
|
340 |
});
|
341 |
+
return parsed[keyPprefix + id];
|
342 |
}
|
343 |
};
|
344 |
}
|
345 |
|
346 |
/*
|
347 |
+
function gmHashCode(str){
|
348 |
+
var l = str.length,
|
349 |
+
hash = 5381 * l * (str.charCodeAt(0) + l);
|
350 |
+
for(var i = 0; i < str.length; i++){
|
351 |
+
hash += Math.floor((str.charCodeAt(i) + i + 0.33) / (str.charCodeAt(l - i - 1) + l) + (str.charCodeAt(i) + l) * (str.charCodeAt(l - i - 1) + i + 0.33));
|
352 |
+
}
|
353 |
+
return hash;
|
354 |
+
}
|
355 |
+
function gmCreateKey(site, lic, uuid){
|
356 |
+
if(!lic){
|
357 |
+
lic = '0:lk';
|
358 |
+
}
|
359 |
+
if(!uuid){
|
360 |
+
uuid = 'xyxx-xxyx-xxxy';
|
361 |
+
}
|
362 |
+
var d = gmHashCode((site + ':' + lic).toLowerCase());
|
363 |
+
var p = d;
|
364 |
+
uuid = uuid.replace(/[xy]/g, function(c){
|
365 |
+
var r = d % 16 | 0, v = c == 'x'? r : (r & 0x7 | 0x8);
|
366 |
+
d = Math.floor(d * 15 / 16);
|
367 |
+
return v.toString(16);
|
368 |
+
});
|
369 |
+
var key = p + ': ' + lic + '-' + uuid;
|
370 |
+
return key.toLowerCase();
|
371 |
+
}
|
372 |
+
*/
|
admin/modules.php
CHANGED
@@ -25,7 +25,7 @@ function gmediaModules(){
|
|
25 |
);
|
26 |
}
|
27 |
}
|
28 |
-
if(($upload_modules = glob($gmCore->upload['path'].'/'
|
29 |
foreach($upload_modules as $path){
|
30 |
$mfold = basename($path);
|
31 |
$modules[$mfold] = array(
|
@@ -57,133 +57,147 @@ function gmediaModules(){
|
|
57 |
}
|
58 |
|
59 |
?>
|
60 |
-
<div id="gmedia_modules">
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
<div class="panel-body" id="gmedia-msg-panel"></div>
|
67 |
-
<div class="panel-body">
|
68 |
-
<?php
|
69 |
-
// installed modules
|
70 |
-
if(!empty($modules)){
|
71 |
-
foreach($modules as $m){
|
72 |
-
/**
|
73 |
-
* @var $place
|
74 |
-
* @var $module_name
|
75 |
-
* @var $module_url
|
76 |
-
* @var $module_path
|
77 |
-
*/
|
78 |
-
extract($m);
|
79 |
-
|
80 |
-
// todo: get broken modules folders and delete them with files in modules root
|
81 |
-
if(!file_exists($module_path . '/index.php')){
|
82 |
-
continue;
|
83 |
-
}
|
84 |
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
|
91 |
-
|
92 |
-
|
|
|
|
|
93 |
|
94 |
-
|
95 |
-
|
96 |
-
if(
|
97 |
-
|
98 |
-
$mclass .= ' module-update';
|
99 |
-
} else{
|
100 |
-
unset($xml_modules[$module_name]);
|
101 |
}
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
<?php echo $
|
119 |
-
</
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
120 |
</div>
|
121 |
-
|
122 |
-
|
123 |
}
|
124 |
-
|
125 |
-
|
126 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
127 |
</div>
|
128 |
|
129 |
-
<?php if(
|
130 |
-
|
131 |
-
<div class="
|
132 |
-
<
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
$xml_dirpath = dirname($gmGallery->options['modules_xml']);
|
138 |
-
foreach($xml_modules as $m){
|
139 |
-
if(empty($m)){
|
140 |
-
continue;
|
141 |
-
}
|
142 |
-
$mclass = ' module-'.$m['type'].' module-'.$m['status'];
|
143 |
-
?>
|
144 |
-
<div class="media<?php echo $mclass; ?>">
|
145 |
-
<div class="thumbnail pull-left">
|
146 |
-
<img class="media-object" src="<?php echo $xml_dirpath.'/'.$m['name']; ?>.png" alt="<?php echo esc_attr($m['title']); ?>" width="320" height="240"/>
|
147 |
</div>
|
148 |
-
<div class="
|
149 |
-
<
|
150 |
-
|
151 |
-
<
|
152 |
-
<
|
153 |
-
<p class="buttons">
|
154 |
-
<?php if(!empty($m['demo']) && $m['demo'] != '#'){ ?>
|
155 |
-
<a class="btn btn-default" target="_blank" href="<?php echo $m['demo']; ?>"><?php _e('View Demo', 'gmLang') ?></a>
|
156 |
-
<?php } ?>
|
157 |
-
<a class="btn btn-primary module_install" data-module="<?php echo $m['name']; ?>" data-loading-text="<?php _e('Loading...', 'gmLang'); ?>" href="<?php echo $m['download']; ?>"><?php _e('Install Module', 'gmLang'); ?></a>
|
158 |
-
</p>
|
159 |
</div>
|
160 |
-
|
161 |
-
|
|
|
|
|
|
|
|
|
162 |
</div>
|
163 |
-
</div>
|
164 |
<?php } ?>
|
165 |
-
|
166 |
-
<!-- Modal -->
|
167 |
-
<div class="modal fade gmedia-modal" id="installModuleModal" tabindex="-1" role="dialog" aria-hidden="true">
|
168 |
-
<div class="modal-dialog">
|
169 |
-
<form class="modal-content" method="post" enctype="multipart/form-data" action="<?php echo $url; ?>">
|
170 |
-
<div class="modal-header">
|
171 |
-
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
172 |
-
<h4 class="modal-title"><?php _e('Install a plugin in .zip format'); ?></h4>
|
173 |
-
</div>
|
174 |
-
<div class="modal-body">
|
175 |
-
<p class="install-help"><?php _e('If you have a module in a .zip format, you may install it by uploading it here.'); ?></p>
|
176 |
-
<?php wp_nonce_field( 'GmediaModule'); ?>
|
177 |
-
<label class="screen-reader-text" for="modulezip"><?php _e('Module zip file'); ?></label>
|
178 |
-
<input type="file" id="modulezip" name="modulezip" />
|
179 |
-
</div>
|
180 |
-
<div class="modal-footer">
|
181 |
-
<button type="button" class="btn btn-default" data-dismiss="modal"><?php _e('Cancel', 'gmLang'); ?></button>
|
182 |
-
<button type="submit" class="btn btn-primary"><?php _e('Install', 'gmLang'); ?></button>
|
183 |
-
</div>
|
184 |
-
</form>
|
185 |
-
</div>
|
186 |
-
</div>
|
187 |
<?php
|
188 |
}
|
189 |
|
25 |
);
|
26 |
}
|
27 |
}
|
28 |
+
if(($upload_modules = glob($gmCore->upload['path'] . '/' . $gmGallery->options['folder']['module'] . '/*', GLOB_ONLYDIR | GLOB_NOSORT))){
|
29 |
foreach($upload_modules as $path){
|
30 |
$mfold = basename($path);
|
31 |
$modules[$mfold] = array(
|
57 |
}
|
58 |
|
59 |
?>
|
60 |
+
<div id="gmedia_modules">
|
61 |
+
<div class="panel panel-default">
|
62 |
+
<div class="panel-heading clearfix">
|
63 |
+
<a href="#installModuleModal" class="btn btn-primary pull-right<?php if(!$gmCore->caps['gmedia_module_manage']){
|
64 |
+
echo ' disabled';
|
65 |
+
} ?>" data-toggle="modal"><?php _e('Install Module ZIP'); ?></a>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
|
67 |
+
<h3 class="panel-title"><?php _e('Installed Modules', 'gmLang'); ?></h3>
|
68 |
+
</div>
|
69 |
+
<div class="panel-body" id="gmedia-msg-panel"></div>
|
70 |
+
<div class="panel-body">
|
71 |
+
<?php
|
72 |
+
// installed modules
|
73 |
+
if(!empty($modules)){
|
74 |
+
foreach($modules as $m){
|
75 |
+
/**
|
76 |
+
* @var $place
|
77 |
+
* @var $module_name
|
78 |
+
* @var $module_url
|
79 |
+
* @var $module_path
|
80 |
+
*/
|
81 |
+
extract($m);
|
82 |
|
83 |
+
// todo: get broken modules folders and delete them with files in modules root
|
84 |
+
if(!file_exists($module_path . '/index.php')){
|
85 |
+
continue;
|
86 |
+
}
|
87 |
|
88 |
+
$module_info = array();
|
89 |
+
include($module_path . '/index.php');
|
90 |
+
if(empty($module_info)){
|
91 |
+
continue;
|
|
|
|
|
|
|
92 |
}
|
93 |
+
|
94 |
+
$m = isset($xml_modules[$module_name])? array_merge($module_info, $xml_modules[$module_name]) : $module_info;
|
95 |
+
$mclass = ' module-' . $m['type'] . ' module-' . $m['status'];
|
96 |
+
|
97 |
+
$update_button = '';
|
98 |
+
if(isset($xml_modules[$module_name])){
|
99 |
+
if(version_compare((float)$xml_modules[$module_name]['version'], (float)$module_info['version'], '>')){
|
100 |
+
$update_button = '<a class="btn btn-warning module_install" data-module="' . $module_name . '" data-loading-text="' . __('Loading...', 'gmLang') . '" href="' . esc_url($xml_modules[$module_name]['download']) . '">' . __('Update Module', 'gmLang') . " (v{$xml_modules[$module_name]['version']})</a>";
|
101 |
+
$mclass .= ' module-update';
|
102 |
+
} else{
|
103 |
+
unset($xml_modules[$module_name]);
|
104 |
+
}
|
105 |
+
}
|
106 |
+
?>
|
107 |
+
<div class="media<?php echo $mclass; ?>">
|
108 |
+
<div class="thumbnail pull-left">
|
109 |
+
<img class="media-object" src="<?php echo $module_url . '/screenshot.png'; ?>" alt="<?php echo esc_attr($m['title']); ?>" width="320" height="240"/>
|
110 |
+
</div>
|
111 |
+
<div class="media-body" style="margin-left:340px;">
|
112 |
+
<h4 class="media-heading"><?php echo $m['title']; ?></h4>
|
113 |
+
|
114 |
+
<p class="version"><?php echo __('Version', 'gmLang') . ': ' . $module_info['version']; ?></p>
|
115 |
+
|
116 |
+
<div class="description"><?php echo str_replace("\n", '<br />', (string)$m['description']); ?></div>
|
117 |
+
<hr/>
|
118 |
+
<p class="buttons">
|
119 |
+
<?php if(!empty($m['demo']) && $m['demo'] != '#'){ ?>
|
120 |
+
<a class="btn btn-default" target="_blank" href="<?php echo $m['demo']; ?>"><?php _e('View Demo', 'gmLang') ?></a>
|
121 |
+
<?php } ?>
|
122 |
+
<a class="btn btn-success" href="<?php echo $gmCore->get_admin_url(array(
|
123 |
+
'page' => 'GrandMedia_Galleries',
|
124 |
+
'gallery_module' => $module_name
|
125 |
+
), array(), true); ?>"><?php _e('Create Gallery', 'gmLang'); ?></a>
|
126 |
+
<?php echo $update_button; ?>
|
127 |
+
</p>
|
128 |
+
</div>
|
129 |
</div>
|
130 |
+
<?php
|
131 |
+
}
|
132 |
}
|
133 |
+
?>
|
134 |
+
</div>
|
135 |
</div>
|
136 |
+
|
137 |
+
<?php if(!empty($xml_modules)){ ?>
|
138 |
+
<div class="panel panel-default">
|
139 |
+
<div class="panel-heading clearfix">
|
140 |
+
<h3 class="panel-title"><?php _e('Not Installed Modules', 'gmLang'); ?></h3>
|
141 |
+
</div>
|
142 |
+
<div class="panel-body" id="gmedia-msg-panel"></div>
|
143 |
+
<div class="panel-body">
|
144 |
+
<?php
|
145 |
+
$xml_dirpath = dirname($gmGallery->options['modules_xml']);
|
146 |
+
foreach($xml_modules as $m){
|
147 |
+
if(empty($m)){
|
148 |
+
continue;
|
149 |
+
}
|
150 |
+
$mclass = ' module-' . $m['type'] . ' module-' . $m['status'];
|
151 |
+
?>
|
152 |
+
<div class="media<?php echo $mclass; ?>">
|
153 |
+
<div class="thumbnail pull-left">
|
154 |
+
<img class="media-object" src="<?php echo $xml_dirpath . '/' . $m['name']; ?>.png" alt="<?php echo esc_attr($m['title']); ?>" width="320" height="240"/>
|
155 |
+
</div>
|
156 |
+
<div class="media-body" style="margin-left:340px;">
|
157 |
+
<h4 class="media-heading"><?php echo $m['title']; ?></h4>
|
158 |
+
|
159 |
+
<p class="version"><?php echo __('Version', 'gmLang') . ': ' . $m['version']; ?></p>
|
160 |
+
|
161 |
+
<div class="description"><?php echo str_replace("\n", '<br />', (string)$m['description']); ?></div>
|
162 |
+
<hr/>
|
163 |
+
<p class="buttons">
|
164 |
+
<?php if(!empty($m['demo']) && $m['demo'] != '#'){ ?>
|
165 |
+
<a class="btn btn-default" target="_blank" href="<?php echo $m['demo']; ?>"><?php _e('View Demo', 'gmLang') ?></a>
|
166 |
+
<?php } ?>
|
167 |
+
<a class="btn btn-primary <?php echo $gmCore->caps['gmedia_module_manage']? 'module_install' : 'disabled'; ?>" data-module="<?php echo $m['name']; ?>" data-loading-text="<?php _e('Loading...', 'gmLang'); ?>" href="<?php echo $m['download']; ?>"><?php _e('Install Module', 'gmLang'); ?></a>
|
168 |
+
</p>
|
169 |
+
</div>
|
170 |
+
</div>
|
171 |
+
<?php } ?>
|
172 |
+
</div>
|
173 |
+
</div>
|
174 |
+
<?php } ?>
|
175 |
</div>
|
176 |
|
177 |
+
<?php if($gmCore->caps['gmedia_module_manage']){ ?>
|
178 |
+
<!-- Modal -->
|
179 |
+
<div class="modal fade gmedia-modal" id="installModuleModal" tabindex="-1" role="dialog" aria-hidden="true">
|
180 |
+
<div class="modal-dialog">
|
181 |
+
<form class="modal-content" method="post" enctype="multipart/form-data" action="<?php echo $url; ?>">
|
182 |
+
<div class="modal-header">
|
183 |
+
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
184 |
+
<h4 class="modal-title"><?php _e('Install a plugin in .zip format'); ?></h4>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
</div>
|
186 |
+
<div class="modal-body">
|
187 |
+
<p class="install-help"><?php _e('If you have a module in a .zip format, you may install it by uploading it here.'); ?></p>
|
188 |
+
<?php wp_nonce_field('GmediaModule'); ?>
|
189 |
+
<label class="screen-reader-text" for="modulezip"><?php _e('Module zip file'); ?></label>
|
190 |
+
<input type="file" id="modulezip" name="modulezip"/>
|
|
|
|
|
|
|
|
|
|
|
|
|
191 |
</div>
|
192 |
+
<div class="modal-footer">
|
193 |
+
<button type="button" class="btn btn-default" data-dismiss="modal"><?php _e('Cancel', 'gmLang'); ?></button>
|
194 |
+
<button type="submit" class="btn btn-primary"><?php _e('Install', 'gmLang'); ?></button>
|
195 |
+
</div>
|
196 |
+
</form>
|
197 |
+
</div>
|
198 |
</div>
|
|
|
199 |
<?php } ?>
|
200 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
201 |
<?php
|
202 |
}
|
203 |
|
admin/processor.php
CHANGED
@@ -20,7 +20,7 @@ class GmediaProcessor{
|
|
20 |
global $pagenow, $gmCore;
|
21 |
// GET variables
|
22 |
$this->mode = $gmCore->_get('mode');
|
23 |
-
$this->page = $gmCore->_get('page'
|
24 |
|
25 |
if('media.php' === $pagenow){
|
26 |
add_filter('wp_redirect', array(&$this, 'redirect'), 10, 2);
|
@@ -31,22 +31,22 @@ class GmediaProcessor{
|
|
31 |
|
32 |
}
|
33 |
|
34 |
-
function
|
35 |
global $user_ID, $gmCore;
|
36 |
switch($this->page){
|
37 |
case 'GrandMedia':
|
38 |
-
$ckey = "
|
39 |
break;
|
40 |
case 'GrandMedia_Terms':
|
41 |
$taxonomy = $gmCore->_get('term', 'gmedia_album');
|
42 |
-
$ckey = "
|
43 |
break;
|
44 |
case 'GrandMedia_Galleries':
|
45 |
$taxonomy = $gmCore->_get('term', 'gmedia_gallery');
|
46 |
-
$ckey = "
|
47 |
break;
|
48 |
case 'GrandMedia_WordpressLibrary':
|
49 |
-
$ckey = "
|
50 |
break;
|
51 |
default:
|
52 |
$ckey = false;
|
@@ -79,16 +79,24 @@ class GmediaProcessor{
|
|
79 |
|
80 |
// Do diff process before lib shell
|
81 |
function processor(){
|
82 |
-
global $gmCore, $gmDB, $gmGallery;
|
83 |
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
|
88 |
switch($this->page){
|
89 |
case 'GrandMedia':
|
|
|
|
|
|
|
90 |
if(isset($_POST['quick_gallery'])){
|
|
|
91 |
do{
|
|
|
|
|
|
|
|
|
92 |
$gallery = $gmCore->_post('gallery');
|
93 |
$gallery['name'] = trim($gallery['name']);
|
94 |
if(empty($gallery['name'])){
|
@@ -115,10 +123,10 @@ class GmediaProcessor{
|
|
115 |
}
|
116 |
|
117 |
$gallery_meta = array(
|
118 |
-
'edited' => gmdate('Y-m-d H:i:s')
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
);
|
123 |
foreach($gallery_meta as $key => $value){
|
124 |
$gmDB->add_metadata('gmedia_term', $term_id, $key, $value);
|
@@ -145,163 +153,358 @@ class GmediaProcessor{
|
|
145 |
wp_redirect($location);
|
146 |
}
|
147 |
}
|
|
|
|
|
|
|
|
|
|
|
148 |
if(!empty($this->selected_items)){
|
149 |
if(isset($_POST['assign_category'])){
|
150 |
-
|
151 |
-
if(
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
$
|
156 |
}
|
157 |
-
$this->msg[] = sprintf(__('%d items updated with "Uncategorized"', 'gmLang'), $count);
|
158 |
} else{
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
$
|
166 |
}
|
167 |
-
|
168 |
-
if(isset($gmGallery->options['taxonomies']['gmedia_category'][$term])){
|
169 |
-
$cat_name = $gmGallery->options['taxonomies']['gmedia_category'][$term];
|
170 |
-
$this->msg[] = sprintf(__("Category `%s` assigned to %d images.", 'gmLang'), esc_html($cat_name), $count);
|
171 |
} else{
|
172 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
}
|
174 |
}
|
|
|
|
|
175 |
}
|
176 |
}
|
177 |
if(isset($_POST['assign_album'])){
|
178 |
-
|
179 |
-
if(
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
$
|
184 |
}
|
185 |
-
$this->msg[] = sprintf(__('%d items updated with "No Album"', 'gmLang'), $count);
|
186 |
} else{
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
$
|
194 |
}
|
195 |
-
|
196 |
-
if($gmCore->is_digit($term)){
|
197 |
-
$alb_name = $gmDB->get_alb_name($term);
|
198 |
} else{
|
199 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
200 |
}
|
201 |
-
$this->msg[] = sprintf(__('Album `%s` assigned to %d items', 'gmLang'), esc_html($alb_name), $count);
|
202 |
}
|
|
|
|
|
203 |
}
|
204 |
-
|
205 |
}
|
206 |
if(isset($_POST['add_tags'])){
|
207 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
208 |
$term = explode(',', $term);
|
209 |
-
$count = count($
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
|
|
217 |
}
|
|
|
218 |
}
|
219 |
-
|
|
|
220 |
}
|
221 |
}
|
222 |
if(isset($_POST['delete_tags'])){
|
223 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
224 |
$term = array_map('intval', $term);
|
225 |
-
$count = count($
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
|
|
233 |
}
|
|
|
234 |
}
|
235 |
-
|
|
|
236 |
}
|
237 |
}
|
238 |
-
if(
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
$
|
248 |
-
$count--;
|
249 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
250 |
}
|
251 |
-
if($count){
|
252 |
-
$this->msg[] = sprintf(__('%d items deleted successfuly', 'gmLang'), $count);
|
253 |
-
}
|
254 |
-
unset($_COOKIE["gmedia_u{$user_ID}_library"]);
|
255 |
-
setcookie($_COOKIE["gmedia_u{$user_ID}_library"], '', time() - 3600);
|
256 |
-
$this->selected_items = array();
|
257 |
}
|
258 |
if('selected' == $gmCore->_get('update_meta')){
|
259 |
check_admin_referer('gmedia_update_meta');
|
260 |
-
if(
|
261 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
262 |
}
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
270 |
}
|
|
|
|
|
271 |
}
|
272 |
}
|
|
|
273 |
break;
|
274 |
case 'GrandMedia_AddMedia':
|
|
|
|
|
|
|
275 |
break;
|
276 |
case 'GrandMedia_Terms':
|
|
|
|
|
|
|
277 |
$taxonomy = $gmCore->_get('term', 'gmedia_album');
|
278 |
if(!empty($this->selected_items)){
|
279 |
if('selected' == $gmCore->_get('delete')){
|
280 |
-
global $user_ID;
|
281 |
check_admin_referer('gmedia_delete');
|
282 |
-
if(
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
$
|
290 |
-
|
|
|
291 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
292 |
}
|
293 |
-
if($count){
|
294 |
-
$this->msg[] = sprintf(__('%d items deleted successfuly', 'gmLang'), $count);
|
295 |
-
}
|
296 |
-
unset($_COOKIE["gmedia_u{$user_ID}_{$taxonomy}"]);
|
297 |
-
setcookie($_COOKIE["gmedia_u{$user_ID}_{$taxonomy}"], '', time() - 3600);
|
298 |
-
$this->selected_items = array();
|
299 |
}
|
300 |
}
|
301 |
if(isset($_POST['gmedia_album_save'])){
|
302 |
check_admin_referer('GmediaTerms', 'term_save_wpnonce');
|
303 |
-
$edit_term = (int)
|
304 |
do{
|
|
|
|
|
|
|
|
|
305 |
$term = $gmCore->_post('term');
|
306 |
$term['name'] = trim($term['name']);
|
307 |
if(empty($term['name'])){
|
@@ -317,7 +520,7 @@ class GmediaProcessor{
|
|
317 |
$this->error[] = __('A term with the id provided do not exists', 'gmLang');
|
318 |
$edit_term = false;
|
319 |
}
|
320 |
-
if(($term_id = $gmDB->term_exists($term['name'], $taxonomy))){
|
321 |
if($term_id != $edit_term){
|
322 |
$this->error[] = __('A term with the name provided already exists', 'gmLang');
|
323 |
break;
|
@@ -326,7 +529,7 @@ class GmediaProcessor{
|
|
326 |
if($edit_term){
|
327 |
$term_id = $gmDB->update_term($edit_term, $term['taxonomy'], $term);
|
328 |
} else{
|
329 |
-
$term_id = $gmDB->insert_term($term['name'], $term['taxonomy'],
|
330 |
}
|
331 |
if(is_wp_error($term_id)){
|
332 |
$this->error[] = $term_id->get_error_message();
|
@@ -334,8 +537,8 @@ class GmediaProcessor{
|
|
334 |
}
|
335 |
|
336 |
$term_meta = array(
|
337 |
-
|
338 |
-
|
339 |
);
|
340 |
foreach($term_meta as $key => $value){
|
341 |
if($edit_term){
|
@@ -350,31 +553,52 @@ class GmediaProcessor{
|
|
350 |
} while(0);
|
351 |
}
|
352 |
if(isset($_POST['gmedia_tag_add'])){
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
364 |
} else{
|
365 |
-
$this->
|
366 |
}
|
367 |
-
} else{
|
368 |
-
$this->error['tag_add'] = __('Some of provided tags are already exists', 'gmLang');
|
369 |
}
|
|
|
|
|
370 |
}
|
371 |
}
|
372 |
break;
|
373 |
case 'GrandMedia_Galleries':
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
374 |
if(isset($_POST['gmedia_gallery_save'])){
|
375 |
-
|
|
|
376 |
do{
|
377 |
$gallery = $gmCore->_post('gallery');
|
|
|
|
|
|
|
|
|
378 |
$gallery['name'] = trim($gallery['name']);
|
379 |
if(empty($gallery['name'])){
|
380 |
$this->error[] = __('Gallery Name is not specified', 'gmLang');
|
@@ -398,16 +622,16 @@ class GmediaProcessor{
|
|
398 |
$this->error[] = __('A term with the id provided do not exists', 'gmLang');
|
399 |
$edit_gallery = false;
|
400 |
}
|
401 |
-
if(($term_id = $gmDB->term_exists($gallery['name'], $taxonomy))){
|
402 |
if($term_id != $edit_gallery){
|
403 |
$this->error[] = __('A term with the name provided already exists', 'gmLang');
|
404 |
break;
|
405 |
}
|
406 |
}
|
407 |
if($edit_gallery){
|
408 |
-
$term_id = $gmDB->update_term($edit_gallery, $taxonomy,
|
409 |
} else{
|
410 |
-
$term_id = $gmDB->insert_term($gallery['name'], $taxonomy,
|
411 |
}
|
412 |
if(is_wp_error($term_id)){
|
413 |
$this->error[] = $term_id->get_error_message();
|
@@ -425,10 +649,10 @@ class GmediaProcessor{
|
|
425 |
}
|
426 |
$module_settings = $gmCore->array_replace_recursive($default_options, $module_settings);
|
427 |
$gallery_meta = array(
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
);
|
433 |
foreach($gallery_meta as $key => $value){
|
434 |
if($edit_gallery){
|
@@ -441,22 +665,35 @@ class GmediaProcessor{
|
|
441 |
$this->msg[] = sprintf(__('Gallery #%d successfuly saved', 'gmLang'), $term_id);
|
442 |
} else{
|
443 |
$location = add_query_arg(array('page' => $this->page, 'edit_gallery' => $term_id, 'message' => 'save'), admin_url('admin.php'));
|
|
|
444 |
wp_redirect($location);
|
445 |
}
|
446 |
} while(0);
|
447 |
}
|
448 |
if(('save' == $gmCore->_get('message')) && ($term_id = $gmCore->_get('edit_gallery'))){
|
449 |
-
$
|
|
|
|
|
|
|
|
|
450 |
}
|
451 |
|
452 |
if(isset($_POST['gmedia_gallery_reset'])){
|
453 |
-
|
|
|
454 |
do{
|
455 |
$taxonomy = 'gmedia_gallery';
|
456 |
if(!$gmDB->term_exists($edit_gallery, $taxonomy)){
|
457 |
$this->error[] = __('A term with the id provided do not exists', 'gmLang');
|
458 |
break;
|
459 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
460 |
$gallery_settings = $gmDB->get_metadata('gmedia_term', $edit_gallery, 'settings', true);
|
461 |
reset($gallery_settings);
|
462 |
$gallery_module = key($gallery_settings);
|
@@ -472,8 +709,8 @@ class GmediaProcessor{
|
|
472 |
}
|
473 |
|
474 |
$gallery_meta = array(
|
475 |
-
|
476 |
-
|
477 |
);
|
478 |
foreach($gallery_meta as $key => $value){
|
479 |
$gmDB->update_metadata('gmedia_term', $edit_gallery, $key, $value);
|
@@ -486,14 +723,22 @@ class GmediaProcessor{
|
|
486 |
|
487 |
if(!empty($this->selected_items)){
|
488 |
if('selected' == $gmCore->_get('delete')){
|
489 |
-
global $user_ID;
|
490 |
check_admin_referer('gmedia_delete');
|
491 |
-
if(!current_user_can('delete_posts')){
|
492 |
-
wp_die(__('You are not allowed to delete this post.'));
|
493 |
-
}
|
494 |
$taxonomy = 'gmedia_gallery';
|
495 |
$count = count($this->selected_items);
|
496 |
foreach($this->selected_items as $item){
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
497 |
$delete = $gmDB->delete_term($item, $taxonomy);
|
498 |
if(is_wp_error($delete)){
|
499 |
$this->error[] = $delete->get_error_message();
|
@@ -503,21 +748,23 @@ class GmediaProcessor{
|
|
503 |
if($count){
|
504 |
$this->msg[] = sprintf(__('%d items deleted successfuly', 'gmLang'), $count);
|
505 |
}
|
506 |
-
|
507 |
-
|
508 |
$this->selected_items = array();
|
509 |
}
|
510 |
}
|
511 |
|
512 |
break;
|
513 |
case 'GrandMedia_Modules':
|
|
|
|
|
|
|
514 |
if(isset($_FILES['modulezip']['tmp_name'])){
|
515 |
if(!empty($_FILES['modulezip']['tmp_name'])){
|
516 |
check_admin_referer('GmediaModule');
|
517 |
-
if(
|
518 |
-
wp_die(__('You are not allowed to
|
519 |
}
|
520 |
-
|
521 |
$to_folder = $gmCore->upload['path'] . '/' . $gmGallery->options['folder']['module'] . '/';
|
522 |
$filename = wp_unique_filename($to_folder, $_FILES['modulezip']['name']);
|
523 |
|
@@ -552,9 +799,13 @@ class GmediaProcessor{
|
|
552 |
}
|
553 |
break;
|
554 |
case 'GrandMedia_Settings':
|
|
|
|
|
|
|
555 |
$lk_check = isset($_POST['license-key-activate']);
|
556 |
if(isset($_POST['gmedia_settings_save'])){
|
557 |
check_admin_referer('GmediaSettings');
|
|
|
558 |
$set = $gmCore->_post('set', array());
|
559 |
if(!empty($set['license_key']) && empty($set['license_key2'])){
|
560 |
$lk_check = true;
|
@@ -568,6 +819,14 @@ class GmediaProcessor{
|
|
568 |
foreach($set as $key => $val){
|
569 |
$gmGallery->options[$key] = $val;
|
570 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
571 |
update_option('gmediaOptions', $gmGallery->options);
|
572 |
$this->msg[] .= __('Settings saved', 'gmLang');
|
573 |
}
|
@@ -581,15 +840,15 @@ class GmediaProcessor{
|
|
581 |
$gmedia_ua .= 'Gmedia/' . constant('GMEDIA_VERSION');
|
582 |
|
583 |
$response = wp_remote_post('http://codeasily.com/rest/gmedia-key.php', array(
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
|
594 |
if(is_wp_error($response)){
|
595 |
$this->error[] = $response->get_error_message();
|
@@ -623,10 +882,22 @@ class GmediaProcessor{
|
|
623 |
$gmGallery->options['license_key2'] = $_temp_options['license_key2'];
|
624 |
delete_metadata('user', 0, 'gm_screen_options', '', true);
|
625 |
update_option('gmediaOptions', $gmGallery->options);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
626 |
$this->msg[] .= __('All settings set to default', 'gmLang');
|
627 |
}
|
628 |
break;
|
629 |
case 'GrandMedia_WordpressLibrary':
|
|
|
|
|
|
|
630 |
break;
|
631 |
default:
|
632 |
break;
|
@@ -652,6 +923,7 @@ class GmediaProcessor{
|
|
652 |
|
653 |
/**
|
654 |
* redirect to original referer after update
|
|
|
655 |
* @param $location
|
656 |
* @param $status
|
657 |
*
|
20 |
global $pagenow, $gmCore;
|
21 |
// GET variables
|
22 |
$this->mode = $gmCore->_get('mode');
|
23 |
+
$this->page = $gmCore->_get('page');
|
24 |
|
25 |
if('media.php' === $pagenow){
|
26 |
add_filter('wp_redirect', array(&$this, 'redirect'), 10, 2);
|
31 |
|
32 |
}
|
33 |
|
34 |
+
function selected_items(){
|
35 |
global $user_ID, $gmCore;
|
36 |
switch($this->page){
|
37 |
case 'GrandMedia':
|
38 |
+
$ckey = "gmuser_{$user_ID}_library";
|
39 |
break;
|
40 |
case 'GrandMedia_Terms':
|
41 |
$taxonomy = $gmCore->_get('term', 'gmedia_album');
|
42 |
+
$ckey = "gmuser_{$user_ID}_{$taxonomy}";
|
43 |
break;
|
44 |
case 'GrandMedia_Galleries':
|
45 |
$taxonomy = $gmCore->_get('term', 'gmedia_gallery');
|
46 |
+
$ckey = "gmuser_{$user_ID}_{$taxonomy}";
|
47 |
break;
|
48 |
case 'GrandMedia_WordpressLibrary':
|
49 |
+
$ckey = "gmuser_{$user_ID}_wpmedia";
|
50 |
break;
|
51 |
default:
|
52 |
$ckey = false;
|
79 |
|
80 |
// Do diff process before lib shell
|
81 |
function processor(){
|
82 |
+
global $gmCore, $gmDB, $gmGallery, $user_ID;
|
83 |
|
84 |
+
if(!$this->page || strpos($this->page, 'GrandMedia') === false){
|
85 |
+
return;
|
86 |
+
}
|
87 |
|
88 |
switch($this->page){
|
89 |
case 'GrandMedia':
|
90 |
+
if(!$gmCore->caps['gmedia_library']){
|
91 |
+
wp_die(__('You are not allowed to be here', 'gmLang'));
|
92 |
+
}
|
93 |
if(isset($_POST['quick_gallery'])){
|
94 |
+
check_admin_referer('gmedia_modal');
|
95 |
do{
|
96 |
+
if(!$gmCore->caps['gmedia_gallery_manage']){
|
97 |
+
$this->error[] = __('You are not allowed to manage galleries', 'gmLang');
|
98 |
+
break;
|
99 |
+
}
|
100 |
$gallery = $gmCore->_post('gallery');
|
101 |
$gallery['name'] = trim($gallery['name']);
|
102 |
if(empty($gallery['name'])){
|
123 |
}
|
124 |
|
125 |
$gallery_meta = array(
|
126 |
+
'edited' => gmdate('Y-m-d H:i:s'),
|
127 |
+
'module' => $gallery['module'],
|
128 |
+
'query' => array('gmedia__in' => $gallery['query']['gmedia__in']),
|
129 |
+
'settings' => array($gallery['module'] => array())
|
130 |
);
|
131 |
foreach($gallery_meta as $key => $value){
|
132 |
$gmDB->add_metadata('gmedia_term', $term_id, $key, $value);
|
153 |
wp_redirect($location);
|
154 |
}
|
155 |
}
|
156 |
+
if(isset($_POST['filter_authors'])){
|
157 |
+
$authors = $gmCore->_post('author_ids');
|
158 |
+
$location = add_query_arg(array('page' => $this->page, 'mode' => $this->mode, 'author' => (int)$authors), admin_url('admin.php'));
|
159 |
+
wp_redirect($location);
|
160 |
+
}
|
161 |
if(!empty($this->selected_items)){
|
162 |
if(isset($_POST['assign_category'])){
|
163 |
+
check_admin_referer('gmedia_modal');
|
164 |
+
if($gmCore->caps['gmedia_terms']){
|
165 |
+
if(!$gmCore->caps['gmedia_edit_others_media']){
|
166 |
+
$selected_items = $gmDB->get_gmedias(array('fields' => 'ids', 'author' => $user_ID, 'gmedia__in' => $this->selected_items));
|
167 |
+
if(count($selected_items) < count($this->selected_items)){
|
168 |
+
$this->error[] = __('You are not allowed to edit others media', 'gmLang');
|
169 |
}
|
|
|
170 |
} else{
|
171 |
+
$selected_items = $this->selected_items;
|
172 |
+
}
|
173 |
+
$term = $gmCore->_post('cat');
|
174 |
+
if((false !== $term) && ($count = count($selected_items))){
|
175 |
+
if('0' == $term){
|
176 |
+
foreach($selected_items as $item){
|
177 |
+
$gmDB->delete_gmedia_term_relationships($item, 'gmedia_category');
|
178 |
}
|
179 |
+
$this->msg[] = sprintf(__('%d items now uncategorized', 'gmLang'), $count);
|
|
|
|
|
|
|
180 |
} else{
|
181 |
+
foreach($selected_items as $item){
|
182 |
+
$result = $gmDB->set_gmedia_terms($item, $term, 'gmedia_category', $append = 0);
|
183 |
+
if(is_wp_error($result)){
|
184 |
+
$this->error[] = $result;
|
185 |
+
$count--;
|
186 |
+
} elseif(!$result){
|
187 |
+
$count--;
|
188 |
+
}
|
189 |
+
}
|
190 |
+
if(isset($gmGallery->options['taxonomies']['gmedia_category'][$term])){
|
191 |
+
$cat_name = $gmGallery->options['taxonomies']['gmedia_category'][$term];
|
192 |
+
$this->msg[] = sprintf(__("Category `%s` assigned to %d images.", 'gmLang'), esc_html($cat_name), $count);
|
193 |
+
} else{
|
194 |
+
$this->error[] = sprintf(__("Category `%s` can't be assigned.", 'gmLang'), $term);
|
195 |
+
}
|
196 |
}
|
197 |
}
|
198 |
+
} else{
|
199 |
+
$this->error[] = __('You are not allowed to assign terms', 'gmLang');
|
200 |
}
|
201 |
}
|
202 |
if(isset($_POST['assign_album'])){
|
203 |
+
check_admin_referer('gmedia_modal');
|
204 |
+
if($gmCore->caps['gmedia_terms']){
|
205 |
+
if(!$gmCore->caps['gmedia_edit_others_media']){
|
206 |
+
$selected_items = $gmDB->get_gmedias(array('fields' => 'ids', 'author' => $user_ID, 'gmedia__in' => $this->selected_items));
|
207 |
+
if(count($selected_items) < count($this->selected_items)){
|
208 |
+
$this->error[] = __('You are not allowed to edit others media', 'gmLang');
|
209 |
}
|
|
|
210 |
} else{
|
211 |
+
$selected_items = $this->selected_items;
|
212 |
+
}
|
213 |
+
$term = $gmCore->_post('alb');
|
214 |
+
if((false !== $term) && ($count = count($selected_items))){
|
215 |
+
if(empty($term)){
|
216 |
+
foreach($selected_items as $item){
|
217 |
+
$gmDB->delete_gmedia_term_relationships($item, 'gmedia_album');
|
218 |
}
|
219 |
+
$this->msg[] = sprintf(__('%d items updated with "No Album"', 'gmLang'), $count);
|
|
|
|
|
220 |
} else{
|
221 |
+
$term_ids = array();
|
222 |
+
foreach($selected_items as $item){
|
223 |
+
$result = $gmDB->set_gmedia_terms($item, $term, 'gmedia_album', $append = 0);
|
224 |
+
if(is_wp_error($result)){
|
225 |
+
$this->error[] = $result;
|
226 |
+
} elseif($result){
|
227 |
+
foreach($result as $t_id) {
|
228 |
+
$term_ids[$t_id][] = $item;
|
229 |
+
}
|
230 |
+
}
|
231 |
+
}
|
232 |
+
if(!empty($term_ids)){
|
233 |
+
global $wpdb;
|
234 |
+
|
235 |
+
foreach($term_ids as $term_id => $item_ids){
|
236 |
+
$term = $gmDB->get_term($term_id, 'gmedia_album');
|
237 |
+
if(isset($_POST['status_global'])){
|
238 |
+
$values = array();
|
239 |
+
foreach ($selected_items as $item) {
|
240 |
+
$values[] = $wpdb->prepare("%d", $item);
|
241 |
+
}
|
242 |
+
if ($values) {
|
243 |
+
$status = esc_sql($term->status);
|
244 |
+
if (false === $wpdb->query("UPDATE {$wpdb->prefix}gmedia SET status = '{$status}' WHERE ID IN (" . join(',', $values) . ")")) {
|
245 |
+
$this->error[] = __('Could not update statuses for gmedia items in the database');
|
246 |
+
}
|
247 |
+
}
|
248 |
+
}
|
249 |
+
$this->msg[] = sprintf(__('Album `%s` assigned to %d items', 'gmLang'), esc_html($term->name), count($item_ids));
|
250 |
+
}
|
251 |
+
}
|
252 |
}
|
|
|
253 |
}
|
254 |
+
} else{
|
255 |
+
$this->error[] = __('You are not allowed to assign terms', 'gmLang');
|
256 |
}
|
|
|
257 |
}
|
258 |
if(isset($_POST['add_tags'])){
|
259 |
+
check_admin_referer('gmedia_modal');
|
260 |
+
if(($term = $gmCore->_post('tag_names')) && $gmCore->caps['gmedia_terms']){
|
261 |
+
if(!$gmCore->caps['gmedia_edit_others_media']){
|
262 |
+
$selected_items = $gmDB->get_gmedias(array('fields' => 'ids', 'author' => $user_ID, 'gmedia__in' => $this->selected_items));
|
263 |
+
if(count($selected_items) < count($this->selected_items)){
|
264 |
+
$this->error[] = __('You are not allowed to edit others media', 'gmLang');
|
265 |
+
}
|
266 |
+
} else{
|
267 |
+
$selected_items = $this->selected_items;
|
268 |
+
}
|
269 |
$term = explode(',', $term);
|
270 |
+
if(($count = count($selected_items))){
|
271 |
+
foreach($selected_items as $item){
|
272 |
+
$result = $gmDB->set_gmedia_terms($item, $term, 'gmedia_tag', $append = 1);
|
273 |
+
if(is_wp_error($result)){
|
274 |
+
$this->error[] = $result;
|
275 |
+
$count--;
|
276 |
+
} elseif(!$result){
|
277 |
+
$count--;
|
278 |
+
}
|
279 |
}
|
280 |
+
$this->msg[] = sprintf(__('%d tags added to %d items', 'gmLang'), count($term), $count);
|
281 |
}
|
282 |
+
} else{
|
283 |
+
$this->error[] = __('You are not allowed to assign terms', 'gmLang');
|
284 |
}
|
285 |
}
|
286 |
if(isset($_POST['delete_tags'])){
|
287 |
+
check_admin_referer('gmedia_modal');
|
288 |
+
if(($term = $gmCore->_post('tag_id')) && $gmCore->caps['gmedia_terms']){
|
289 |
+
if(!$gmCore->caps['gmedia_edit_others_media']){
|
290 |
+
$selected_items = $gmDB->get_gmedias(array('fields' => 'ids', 'author' => $user_ID, 'gmedia__in' => $this->selected_items));
|
291 |
+
if(count($selected_items) < count($this->selected_items)){
|
292 |
+
$this->error[] = __('You are not allowed to edit others media', 'gmLang');
|
293 |
+
}
|
294 |
+
} else{
|
295 |
+
$selected_items = $this->selected_items;
|
296 |
+
}
|
297 |
$term = array_map('intval', $term);
|
298 |
+
if(($count = count($selected_items))){
|
299 |
+
foreach($selected_items as $item){
|
300 |
+
$result = $gmDB->set_gmedia_terms($item, $term, 'gmedia_tag', $append = -1);
|
301 |
+
if(is_wp_error($result)){
|
302 |
+
$this->error[] = $result;
|
303 |
+
$count--;
|
304 |
+
} elseif(!$result){
|
305 |
+
$count--;
|
306 |
+
}
|
307 |
}
|
308 |
+
$this->msg[] = sprintf(__('%d tags deleted from %d items', 'gmLang'), count($term), $count);
|
309 |
}
|
310 |
+
} else{
|
311 |
+
$this->error[] = __('You are not allowed to assign terms', 'gmLang');
|
312 |
}
|
313 |
}
|
314 |
+
if(isset($_POST['batch_edit'])){
|
315 |
+
check_admin_referer('gmedia_modal');
|
316 |
+
if($gmCore->caps['gmedia_edit_media']){
|
317 |
+
if(!$gmCore->caps['gmedia_edit_others_media']){
|
318 |
+
$selected_items = $gmDB->get_gmedias(array('fields' => 'ids', 'author' => $user_ID, 'gmedia__in' => $this->selected_items));
|
319 |
+
if(count($selected_items) < count($this->selected_items)){
|
320 |
+
$this->error[] = __('You are not allowed to edit others media', 'gmLang');
|
321 |
+
}
|
322 |
+
} else{
|
323 |
+
$selected_items = $this->selected_items;
|
|
|
324 |
}
|
325 |
+
if(($count = count($selected_items))){
|
326 |
+
$batch_data = array();
|
327 |
+
$batch_data['modified'] = current_time('mysql');
|
328 |
+
$b_title = $gmCore->_post('batch_title');
|
329 |
+
$b_description = $gmCore->_post('batch_description');
|
330 |
+
$b_link = $gmCore->_post('batch_link');
|
331 |
+
$b_status = $gmCore->_post('batch_status');
|
332 |
+
if($b_status){
|
333 |
+
$batch_data['status'] = $b_status;
|
334 |
+
}
|
335 |
+
$b_author = $gmCore->_post('batch_author');
|
336 |
+
if($b_author){
|
337 |
+
$batch_data['author'] = $b_author;
|
338 |
+
}
|
339 |
+
foreach($selected_items as $item){
|
340 |
+
$id = (int)$item;
|
341 |
+
$gmedia = $gmDB->get_gmedia($id, ARRAY_A);
|
342 |
+
switch($b_title){
|
343 |
+
case 'empty':
|
344 |
+
$batch_data['title'] = '';
|
345 |
+
break;
|
346 |
+
case 'filename':
|
347 |
+
$title = pathinfo($gmedia['gmuid'], PATHINFO_FILENAME);
|
348 |
+
$batch_data['title'] = ucwords(str_replace('_', ' ', $title));
|
349 |
+
break;
|
350 |
+
case 'custom':
|
351 |
+
$title_custom = $gmCore->_post('batch_title_custom');
|
352 |
+
if(false !== $title_custom){
|
353 |
+
$batch_data['title'] = $title_custom;
|
354 |
+
}
|
355 |
+
break;
|
356 |
+
}
|
357 |
+
switch($b_description){
|
358 |
+
case 'empty':
|
359 |
+
$batch_data['description'] = '';
|
360 |
+
break;
|
361 |
+
case 'custom':
|
362 |
+
$description_custom = $gmCore->_post('batch_description_custom');
|
363 |
+
if(false !== $description_custom){
|
364 |
+
$batch_data['description'] = $description_custom;
|
365 |
+
}
|
366 |
+
break;
|
367 |
+
}
|
368 |
+
switch($b_link){
|
369 |
+
case 'empty':
|
370 |
+
$batch_data['link'] = '';
|
371 |
+
break;
|
372 |
+
case 'self':
|
373 |
+
$fileinfo = $gmCore->fileinfo($gmedia['gmuid'], false);
|
374 |
+
$batch_data['link'] = $fileinfo['fileurl_original'];
|
375 |
+
break;
|
376 |
+
case 'custom':
|
377 |
+
$link_custom = $gmCore->_post('batch_title_custom');
|
378 |
+
if(false !== $link_custom){
|
379 |
+
$batch_data['link'] = $link_custom;
|
380 |
+
}
|
381 |
+
break;
|
382 |
+
}
|
383 |
+
$gmedia_data = array_replace($gmedia, $batch_data);
|
384 |
+
$gmDB->insert_gmedia($gmedia_data);
|
385 |
+
}
|
386 |
+
$this->msg[] = sprintf(__('%d items updated successfuly', 'gmLang'), $count);
|
387 |
+
}
|
388 |
+
} else{
|
389 |
+
$this->error[] = __('You are not allowed to edit media', 'gmLang');
|
390 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
391 |
}
|
392 |
if('selected' == $gmCore->_get('update_meta')){
|
393 |
check_admin_referer('gmedia_update_meta');
|
394 |
+
if($gmCore->caps['gmedia_edit_media']){
|
395 |
+
$count = count($this->selected_items);
|
396 |
+
if($count){
|
397 |
+
foreach($this->selected_items as $item){
|
398 |
+
$id = (int)$item;
|
399 |
+
$gmDB->update_metadata($meta_type = 'gmedia', $id, $meta_key = '_metadata', $gmDB->generate_gmedia_metadata($id));
|
400 |
+
}
|
401 |
+
$this->msg[] = sprintf(__('%d items updated successfuly', 'gmLang'), $count);
|
402 |
+
}
|
403 |
+
} else{
|
404 |
+
$this->error[] = __('You are not allowed to edit media', 'gmLang');
|
405 |
}
|
406 |
+
}
|
407 |
+
}
|
408 |
+
if(($delete_gmedia = $gmCore->_get('delete'))){
|
409 |
+
check_admin_referer('gmedia_delete');
|
410 |
+
if($gmCore->caps['gmedia_delete_media']){
|
411 |
+
if('selected' == $delete_gmedia){
|
412 |
+
$selected_items = $this->selected_items;
|
413 |
+
} else{
|
414 |
+
$selected_items = wp_parse_id_list($delete_gmedia);
|
415 |
+
}
|
416 |
+
if(!empty($selected_items)){
|
417 |
+
if(!$gmCore->caps['gmedia_delete_others_media']){
|
418 |
+
$delete_items = $gmDB->get_gmedias(array('fields' => 'ids', 'author' => $user_ID, 'gmedia__in' => $selected_items));
|
419 |
+
if(count($delete_items) < count($selected_items)){
|
420 |
+
$this->error[] = __('You are not allowed to delete others media', 'gmLang');
|
421 |
+
}
|
422 |
+
$selected_items = $delete_items;
|
423 |
+
}
|
424 |
+
if(($count = count($selected_items))){
|
425 |
+
$delete_original_file = intval($gmCore->_get('save_original_file'))? false : true;
|
426 |
+
foreach($selected_items as $item){
|
427 |
+
if(!$gmDB->delete_gmedia((int)$item, $delete_original_file)){
|
428 |
+
$this->error[] = "#{$item}: " . __('Error in deleting...', 'gmLang');
|
429 |
+
$count--;
|
430 |
+
}
|
431 |
+
}
|
432 |
+
if($count){
|
433 |
+
if($delete_original_file){
|
434 |
+
$this->msg[] = sprintf(__('%d item(s) deleted successfuly', 'gmLang'), $count);
|
435 |
+
} else{
|
436 |
+
$this->msg[] = sprintf(__('%d record(s) deleted from database successfuly. Original file(s) safe', 'gmLang'), $count);
|
437 |
+
}
|
438 |
+
}
|
439 |
+
$this->selected_items = array_diff($this->selected_items, $selected_items);
|
440 |
+
if(empty($this->selected_items)){
|
441 |
+
setcookie("gmuser_{$user_ID}_library", '', time() - 3600);
|
442 |
+
unset($_COOKIE["gmuser_{$user_ID}_library"]);
|
443 |
+
$this->selected_items = array();
|
444 |
+
} else{
|
445 |
+
setcookie("gmuser_{$user_ID}_library", implode(',', $this->selected_items));
|
446 |
+
}
|
447 |
+
}
|
448 |
}
|
449 |
+
} else{
|
450 |
+
$this->error[] = __('You are not allowed to delete files', 'gmLang');
|
451 |
}
|
452 |
}
|
453 |
+
|
454 |
break;
|
455 |
case 'GrandMedia_AddMedia':
|
456 |
+
if(!$gmCore->caps['gmedia_upload']){
|
457 |
+
wp_die(__('You are not allowed to be here', 'gmLang'));
|
458 |
+
}
|
459 |
break;
|
460 |
case 'GrandMedia_Terms':
|
461 |
+
if(!$gmCore->caps['gmedia_library']){
|
462 |
+
wp_die(__('You are not allowed to be here', 'gmLang'));
|
463 |
+
}
|
464 |
$taxonomy = $gmCore->_get('term', 'gmedia_album');
|
465 |
if(!empty($this->selected_items)){
|
466 |
if('selected' == $gmCore->_get('delete')){
|
|
|
467 |
check_admin_referer('gmedia_delete');
|
468 |
+
if($gmCore->caps['gmedia_terms_delete']){
|
469 |
+
$selected_items = $this->selected_items;
|
470 |
+
if(!$gmCore->caps['gmedia_delete_others_media']){
|
471 |
+
$selected_items = array();
|
472 |
+
if('gmedia_album' == $taxonomy){
|
473 |
+
$selected_items = $gmDB->get_terms($taxonomy, array('fields' => 'ids', 'global' => $user_ID, 'include' => $this->selected_items));
|
474 |
+
}
|
475 |
+
if(count($selected_items) < count($this->selected_items)){
|
476 |
+
$this->error[] = __('You are not allowed to delete others media', 'gmLang');
|
477 |
+
}
|
478 |
}
|
479 |
+
if(($count = count($selected_items))){
|
480 |
+
;
|
481 |
+
foreach($selected_items as $item){
|
482 |
+
$delete = $gmDB->delete_term($item, $taxonomy);
|
483 |
+
if(is_wp_error($delete)){
|
484 |
+
$this->error[] = $delete->get_error_message();
|
485 |
+
$count--;
|
486 |
+
}
|
487 |
+
}
|
488 |
+
if($count){
|
489 |
+
$this->msg[] = sprintf(__('%d items deleted successfuly', 'gmLang'), $count);
|
490 |
+
}
|
491 |
+
setcookie("gmuser_{$user_ID}_{$taxonomy}", '', time() - 3600);
|
492 |
+
unset($_COOKIE["gmuser_{$user_ID}_{$taxonomy}"]);
|
493 |
+
$this->selected_items = array();
|
494 |
+
}
|
495 |
+
} else{
|
496 |
+
$this->error[] = __('You are not allowed to delete terms', 'gmLang');
|
497 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
498 |
}
|
499 |
}
|
500 |
if(isset($_POST['gmedia_album_save'])){
|
501 |
check_admin_referer('GmediaTerms', 'term_save_wpnonce');
|
502 |
+
$edit_term = (int)$gmCore->_get('edit_album');
|
503 |
do{
|
504 |
+
if(!$gmCore->caps['gmedia_album_manage']){
|
505 |
+
$this->error[] = __('You are not allowed to manage albums', 'gmLang');
|
506 |
+
break;
|
507 |
+
}
|
508 |
$term = $gmCore->_post('term');
|
509 |
$term['name'] = trim($term['name']);
|
510 |
if(empty($term['name'])){
|
520 |
$this->error[] = __('A term with the id provided do not exists', 'gmLang');
|
521 |
$edit_term = false;
|
522 |
}
|
523 |
+
if(($term_id = $gmDB->term_exists($term['name'], $taxonomy, $term['global']))){
|
524 |
if($term_id != $edit_term){
|
525 |
$this->error[] = __('A term with the name provided already exists', 'gmLang');
|
526 |
break;
|
529 |
if($edit_term){
|
530 |
$term_id = $gmDB->update_term($edit_term, $term['taxonomy'], $term);
|
531 |
} else{
|
532 |
+
$term_id = $gmDB->insert_term($term['name'], $term['taxonomy'], $term);
|
533 |
}
|
534 |
if(is_wp_error($term_id)){
|
535 |
$this->error[] = $term_id->get_error_message();
|
537 |
}
|
538 |
|
539 |
$term_meta = array(
|
540 |
+
'orderby' => $term['orderby'],
|
541 |
+
'order' => $term['order']
|
542 |
);
|
543 |
foreach($term_meta as $key => $value){
|
544 |
if($edit_term){
|
553 |
} while(0);
|
554 |
}
|
555 |
if(isset($_POST['gmedia_tag_add'])){
|
556 |
+
if($gmCore->caps['gmedia_tag_manage']){
|
557 |
+
check_admin_referer('GmediaTerms', 'term_save_wpnonce');
|
558 |
+
$term = $gmCore->_post('term');
|
559 |
+
$terms = array_filter(array_map('trim', explode(',', $term['name'])));
|
560 |
+
$terms_added = 0;
|
561 |
+
$terms_qty = count($terms);
|
562 |
+
foreach($terms as $term_name){
|
563 |
+
if($gmCore->is_digit($term_name)){
|
564 |
+
$this->error['tag_name_digit'] = __("Term Name can't be only digits", 'gmLang');
|
565 |
+
continue;
|
566 |
+
}
|
567 |
+
|
568 |
+
if(!$gmDB->term_exists($term_name, $term['taxonomy'])){
|
569 |
+
$term_id = $gmDB->insert_term($term_name, $term['taxonomy']);
|
570 |
+
if(is_wp_error($term_id)){
|
571 |
+
$this->error[] = $term_id->get_error_message();
|
572 |
+
} else{
|
573 |
+
$this->msg['tag_add'] = sprintf(__('%d of %d tags successfuly added', 'gmLang'), ++$terms_added, $terms_qty);
|
574 |
+
}
|
575 |
} else{
|
576 |
+
$this->error['tag_add'] = __('Some of provided tags are already exists', 'gmLang');
|
577 |
}
|
|
|
|
|
578 |
}
|
579 |
+
} else{
|
580 |
+
$this->error[] = __('You are not allowed to manage tags', 'gmLang');
|
581 |
}
|
582 |
}
|
583 |
break;
|
584 |
case 'GrandMedia_Galleries':
|
585 |
+
if(!$gmCore->caps['gmedia_gallery_manage']){
|
586 |
+
wp_die(__('You are not allowed to manage gmedia galleries', 'gmLang'));
|
587 |
+
}
|
588 |
+
if(isset($_POST['filter_authors'])){
|
589 |
+
$authors = $gmCore->_post('author_ids');
|
590 |
+
$location = $gmCore->get_admin_url(array('author' => (int)$authors));
|
591 |
+
wp_redirect($location);
|
592 |
+
}
|
593 |
if(isset($_POST['gmedia_gallery_save'])){
|
594 |
+
check_admin_referer('GmediaGallery');
|
595 |
+
$edit_gallery = (int)$gmCore->_get('edit_gallery');
|
596 |
do{
|
597 |
$gallery = $gmCore->_post('gallery');
|
598 |
+
if(((int)$gallery['global'] != $user_ID) && !$gmCore->caps['gmedia_edit_others_media']){
|
599 |
+
$this->error[] = __('You are not allowed to edit others media', 'gmLang');
|
600 |
+
break;
|
601 |
+
}
|
602 |
$gallery['name'] = trim($gallery['name']);
|
603 |
if(empty($gallery['name'])){
|
604 |
$this->error[] = __('Gallery Name is not specified', 'gmLang');
|
622 |
$this->error[] = __('A term with the id provided do not exists', 'gmLang');
|
623 |
$edit_gallery = false;
|
624 |
}
|
625 |
+
if(($term_id = $gmDB->term_exists($gallery['name'], $taxonomy, $gallery['global']))){
|
626 |
if($term_id != $edit_gallery){
|
627 |
$this->error[] = __('A term with the name provided already exists', 'gmLang');
|
628 |
break;
|
629 |
}
|
630 |
}
|
631 |
if($edit_gallery){
|
632 |
+
$term_id = $gmDB->update_term($edit_gallery, $taxonomy, $gallery);
|
633 |
} else{
|
634 |
+
$term_id = $gmDB->insert_term($gallery['name'], $taxonomy, $gallery);
|
635 |
}
|
636 |
if(is_wp_error($term_id)){
|
637 |
$this->error[] = $term_id->get_error_message();
|
649 |
}
|
650 |
$module_settings = $gmCore->array_replace_recursive($default_options, $module_settings);
|
651 |
$gallery_meta = array(
|
652 |
+
'edited' => gmdate('Y-m-d H:i:s'),
|
653 |
+
'module' => $gallery['module'],
|
654 |
+
'query' => array($term => $gallery['query'][$term]),
|
655 |
+
'settings' => array($gallery['module'] => $module_settings)
|
656 |
);
|
657 |
foreach($gallery_meta as $key => $value){
|
658 |
if($edit_gallery){
|
665 |
$this->msg[] = sprintf(__('Gallery #%d successfuly saved', 'gmLang'), $term_id);
|
666 |
} else{
|
667 |
$location = add_query_arg(array('page' => $this->page, 'edit_gallery' => $term_id, 'message' => 'save'), admin_url('admin.php'));
|
668 |
+
set_transient('gmedia_new_gallery_id', $term_id, 60);
|
669 |
wp_redirect($location);
|
670 |
}
|
671 |
} while(0);
|
672 |
}
|
673 |
if(('save' == $gmCore->_get('message')) && ($term_id = $gmCore->_get('edit_gallery'))){
|
674 |
+
$gmedia_new_gallery_id = get_transient('gmedia_new_gallery_id');
|
675 |
+
if($gmedia_new_gallery_id){
|
676 |
+
delete_transient('gmedia_new_gallery_id');
|
677 |
+
$this->msg[] = sprintf(__('Gallery #%d successfuly saved', 'gmLang'), $term_id);
|
678 |
+
}
|
679 |
}
|
680 |
|
681 |
if(isset($_POST['gmedia_gallery_reset'])){
|
682 |
+
check_admin_referer('GmediaGallery');
|
683 |
+
$edit_gallery = (int)$gmCore->_get('edit_gallery');
|
684 |
do{
|
685 |
$taxonomy = 'gmedia_gallery';
|
686 |
if(!$gmDB->term_exists($edit_gallery, $taxonomy)){
|
687 |
$this->error[] = __('A term with the id provided do not exists', 'gmLang');
|
688 |
break;
|
689 |
}
|
690 |
+
if(!$gmCore->caps['gmedia_edit_others_media']){
|
691 |
+
$gallery = $gmDB->get_term($edit_gallery, $taxonomy);
|
692 |
+
if($gallery->global != $user_ID){
|
693 |
+
$this->error[] = __('You are not allowed to edit others media', 'gmLang');
|
694 |
+
break;
|
695 |
+
}
|
696 |
+
}
|
697 |
$gallery_settings = $gmDB->get_metadata('gmedia_term', $edit_gallery, 'settings', true);
|
698 |
reset($gallery_settings);
|
699 |
$gallery_module = key($gallery_settings);
|
709 |
}
|
710 |
|
711 |
$gallery_meta = array(
|
712 |
+
'edited' => gmdate('Y-m-d H:i:s'),
|
713 |
+
'settings' => array($gallery_module => $default_options)
|
714 |
);
|
715 |
foreach($gallery_meta as $key => $value){
|
716 |
$gmDB->update_metadata('gmedia_term', $edit_gallery, $key, $value);
|
723 |
|
724 |
if(!empty($this->selected_items)){
|
725 |
if('selected' == $gmCore->_get('delete')){
|
|
|
726 |
check_admin_referer('gmedia_delete');
|
|
|
|
|
|
|
727 |
$taxonomy = 'gmedia_gallery';
|
728 |
$count = count($this->selected_items);
|
729 |
foreach($this->selected_items as $item){
|
730 |
+
if(!$gmCore->caps['gmedia_delete_others_media']){
|
731 |
+
$gallery = $gmDB->get_term($item, $taxonomy);
|
732 |
+
if(is_wp_error($gallery) || empty($gallery)){
|
733 |
+
$this->error[] = sprintf(__('Error while delete gallery #%d', 'gmLang'), $item);
|
734 |
+
$count--;
|
735 |
+
continue;
|
736 |
+
} elseif($gallery->global != $user_ID){
|
737 |
+
$this->error['others_gallery_delete'] = __('You are not allowed to delete others media', 'gmLang');
|
738 |
+
$count--;
|
739 |
+
continue;
|
740 |
+
}
|
741 |
+
}
|
742 |
$delete = $gmDB->delete_term($item, $taxonomy);
|
743 |
if(is_wp_error($delete)){
|
744 |
$this->error[] = $delete->get_error_message();
|
748 |
if($count){
|
749 |
$this->msg[] = sprintf(__('%d items deleted successfuly', 'gmLang'), $count);
|
750 |
}
|
751 |
+
setcookie("gmuser_{$user_ID}_{$taxonomy}", '', time() - 3600);
|
752 |
+
unset($_COOKIE["gmuser_{$user_ID}_{$taxonomy}"]);
|
753 |
$this->selected_items = array();
|
754 |
}
|
755 |
}
|
756 |
|
757 |
break;
|
758 |
case 'GrandMedia_Modules':
|
759 |
+
if(!$gmCore->caps['gmedia_gallery_manage']){
|
760 |
+
wp_die(__('You are not allowed to manage gmedia galleries', 'gmLang'));
|
761 |
+
}
|
762 |
if(isset($_FILES['modulezip']['tmp_name'])){
|
763 |
if(!empty($_FILES['modulezip']['tmp_name'])){
|
764 |
check_admin_referer('GmediaModule');
|
765 |
+
if(!$gmCore->caps['gmedia_module_manage']){
|
766 |
+
wp_die(__('You are not allowed to manage gmedia modules', 'gmLang'));
|
767 |
}
|
|
|
768 |
$to_folder = $gmCore->upload['path'] . '/' . $gmGallery->options['folder']['module'] . '/';
|
769 |
$filename = wp_unique_filename($to_folder, $_FILES['modulezip']['name']);
|
770 |
|
799 |
}
|
800 |
break;
|
801 |
case 'GrandMedia_Settings':
|
802 |
+
if(!$gmCore->caps['gmedia_settings']){
|
803 |
+
wp_die(__('You are not allowed to change gmedia settings', 'gmLang'));
|
804 |
+
}
|
805 |
$lk_check = isset($_POST['license-key-activate']);
|
806 |
if(isset($_POST['gmedia_settings_save'])){
|
807 |
check_admin_referer('GmediaSettings');
|
808 |
+
|
809 |
$set = $gmCore->_post('set', array());
|
810 |
if(!empty($set['license_key']) && empty($set['license_key2'])){
|
811 |
$lk_check = true;
|
819 |
foreach($set as $key => $val){
|
820 |
$gmGallery->options[$key] = $val;
|
821 |
}
|
822 |
+
|
823 |
+
$capabilities = $gmCore->_post('capability', array());
|
824 |
+
if(!empty($capabilities) && current_user_can('manage_options')){
|
825 |
+
foreach($capabilities as $key => $val){
|
826 |
+
$gmDB->set_capability($val, $key);
|
827 |
+
}
|
828 |
+
}
|
829 |
+
|
830 |
update_option('gmediaOptions', $gmGallery->options);
|
831 |
$this->msg[] .= __('Settings saved', 'gmLang');
|
832 |
}
|
840 |
$gmedia_ua .= 'Gmedia/' . constant('GMEDIA_VERSION');
|
841 |
|
842 |
$response = wp_remote_post('http://codeasily.com/rest/gmedia-key.php', array(
|
843 |
+
'body' => array('key' => $license_key['license_key'], 'site' => site_url()),
|
844 |
+
'headers' => array(
|
845 |
+
'Content-Type' => 'application/x-www-form-urlencoded; ' . 'charset=' . get_option('blog_charset'),
|
846 |
+
'Host' => 'codeasily.com',
|
847 |
+
'User-Agent' => $gmedia_ua
|
848 |
+
),
|
849 |
+
'httpversion' => '1.0',
|
850 |
+
'timeout' => 10
|
851 |
+
));
|
852 |
|
853 |
if(is_wp_error($response)){
|
854 |
$this->error[] = $response->get_error_message();
|
882 |
$gmGallery->options['license_key2'] = $_temp_options['license_key2'];
|
883 |
delete_metadata('user', 0, 'gm_screen_options', '', true);
|
884 |
update_option('gmediaOptions', $gmGallery->options);
|
885 |
+
|
886 |
+
if($gmCore->_post('capability') && current_user_can('manage_options')){
|
887 |
+
$capabilities = gmedia_plugin_capabilities();
|
888 |
+
$capabilities = apply_filters('gmedia_capabilities', $capabilities);
|
889 |
+
//$role = get_role('administrator');
|
890 |
+
foreach($capabilities as $cap){
|
891 |
+
$gmDB->set_capability('administrator', $cap);
|
892 |
+
}
|
893 |
+
}
|
894 |
$this->msg[] .= __('All settings set to default', 'gmLang');
|
895 |
}
|
896 |
break;
|
897 |
case 'GrandMedia_WordpressLibrary':
|
898 |
+
if(!$gmCore->caps['gmedia_import']){
|
899 |
+
wp_die(__('You are not allowed to import media in Gmedia Library', 'gmLang'));
|
900 |
+
}
|
901 |
break;
|
902 |
default:
|
903 |
break;
|
923 |
|
924 |
/**
|
925 |
* redirect to original referer after update
|
926 |
+
*
|
927 |
* @param $location
|
928 |
* @param $status
|
929 |
*
|
admin/settings.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
-
if
|
3 |
-
die(
|
4 |
}
|
5 |
|
6 |
/**
|
@@ -8,8 +8,8 @@ if ( preg_match( '#' . basename( __FILE__ ) . '#', $_SERVER['PHP_SELF'] ) ) {
|
|
8 |
*
|
9 |
* @return mixed content
|
10 |
*/
|
11 |
-
function gmSettings()
|
12 |
-
global $gmCore, $gmGallery;
|
13 |
|
14 |
?>
|
15 |
|
@@ -30,15 +30,22 @@ function gmSettings() {
|
|
30 |
<div class="tabable tabs-left">
|
31 |
<ul class="nav nav-tabs" style="padding:10px 0;">
|
32 |
<li class="active"><a href="#gmedia_premium" data-toggle="tab"><?php _e('Premium Settings', 'gmLang'); ?></a></li>
|
33 |
-
|
|
|
|
|
34 |
</ul>
|
35 |
<div class="tab-content" style="padding-top:21px;">
|
36 |
<fieldset id="gmedia_premium" class="tab-pane active">
|
37 |
<p><?php _e('Enter License Key to remove backlink label from premium gallery modules.') ?></p>
|
|
|
38 |
<div class="row">
|
39 |
<div class="form-group col-xs-5">
|
40 |
-
<label><?php _e(
|
41 |
-
|
|
|
|
|
|
|
|
|
42 |
<input type="hidden" name="set[license_name]" id="license_name" value="<?php echo $gmGallery->options['license_name']; ?>"/>
|
43 |
<input type="hidden" name="set[license_key2]" id="license_key2" value="<?php echo $gmGallery->options['license_key2']; ?>"/>
|
44 |
</div>
|
@@ -48,23 +55,144 @@ function gmSettings() {
|
|
48 |
</div>
|
49 |
</div>
|
50 |
</fieldset>
|
51 |
-
|
52 |
-
<
|
53 |
-
<
|
54 |
-
|
55 |
-
|
56 |
-
<label
|
57 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
58 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
</div>
|
60 |
<div class="form-group">
|
61 |
-
<label><?php _e(
|
|
|
62 |
<div class="checkbox" style="margin:0;">
|
63 |
<input type="hidden" name="set[shortcode_raw]" value="0"/>
|
64 |
-
<label><input type="checkbox" name="set[shortcode_raw]" value="1" <?php checked($gmGallery->options['shortcode_raw'], '1'); ?> /> <?php _e('Raw output for Gmedia Shortcode', 'gmLang');
|
|
|
|
|
65 |
<p class="help-block"><?php _e('Some themes reformat shortcodes and break it functionality (mostly when you add description to images). Turning this on should solve this problem.', 'gmLang'); ?></p>
|
66 |
</div>
|
67 |
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
68 |
<p><?php _e('Under constraction...') ?></p>
|
69 |
|
70 |
<?php
|
@@ -73,9 +201,9 @@ function gmSettings() {
|
|
73 |
$gmedia = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}gmedia");
|
74 |
$terms = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}gmedia_term");
|
75 |
$relation = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}gmedia_term_relationships");
|
76 |
-
$images['grand-media'] = glob($gmCore->upload['path'].'/*', GLOB_NOSORT);
|
77 |
-
$images['images'] = glob($gmCore->upload['path'].'/image/*', GLOB_NOSORT);
|
78 |
-
$images['thumbs'] = glob($gmCore->upload['path'].'/thumb/*', GLOB_NOSORT);
|
79 |
echo '<pre style="max-height:400px; overflow:auto;">' . print_r($gmedia, true) . '</pre>';
|
80 |
echo '<pre style="max-height:400px; overflow:auto;">' . print_r($images, true) . '</pre>';
|
81 |
echo '<pre style="max-height:400px; overflow:auto;">' . print_r($terms, true) . '</pre>';
|
1 |
<?php
|
2 |
+
if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])){
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
}
|
5 |
|
6 |
/**
|
8 |
*
|
9 |
* @return mixed content
|
10 |
*/
|
11 |
+
function gmSettings(){
|
12 |
+
global $gmDB, $gmCore, $gmGallery;
|
13 |
|
14 |
?>
|
15 |
|
30 |
<div class="tabable tabs-left">
|
31 |
<ul class="nav nav-tabs" style="padding:10px 0;">
|
32 |
<li class="active"><a href="#gmedia_premium" data-toggle="tab"><?php _e('Premium Settings', 'gmLang'); ?></a></li>
|
33 |
+
<?php if(current_user_can('manage_options')){ ?><li>
|
34 |
+
<a href="#gmedia_settings1" data-toggle="tab"><?php _e('Roles/Capabilities Manager', 'gmLang'); ?></a></li><?php } ?>
|
35 |
+
<li><a href="#gmedia_settings2" data-toggle="tab"><?php _e('Other Settings', 'gmLang'); ?></a></li>
|
36 |
</ul>
|
37 |
<div class="tab-content" style="padding-top:21px;">
|
38 |
<fieldset id="gmedia_premium" class="tab-pane active">
|
39 |
<p><?php _e('Enter License Key to remove backlink label from premium gallery modules.') ?></p>
|
40 |
+
|
41 |
<div class="row">
|
42 |
<div class="form-group col-xs-5">
|
43 |
+
<label><?php _e('License Key', 'gmLang') ?>: <?php if(isset($gmGallery->options['license_name'])){
|
44 |
+
echo '<em>' . $gmGallery->options['license_name'] . '</em>';
|
45 |
+
} ?></label>
|
46 |
+
<input type="text" name="set[license_key]" id="license_key" class="form-control input-sm" value="<?php if(isset($gmGallery->options['license_key'])){
|
47 |
+
echo $gmGallery->options['license_key'];
|
48 |
+
} ?>"/>
|
49 |
<input type="hidden" name="set[license_name]" id="license_name" value="<?php echo $gmGallery->options['license_name']; ?>"/>
|
50 |
<input type="hidden" name="set[license_key2]" id="license_key2" value="<?php echo $gmGallery->options['license_key2']; ?>"/>
|
51 |
</div>
|
55 |
</div>
|
56 |
</div>
|
57 |
</fieldset>
|
58 |
+
<?php if(current_user_can('manage_options')){ ?>
|
59 |
+
<fieldset id="gmedia_settings1" class="tab-pane">
|
60 |
+
<p><?php _e('Select the lowest role which should be able to access the follow capabilities. Gmedia Gallery supports the standard roles from WordPress.', 'gmLang'); ?></p>
|
61 |
+
|
62 |
+
<div class="form-group">
|
63 |
+
<label><?php _e('Gmedia Library', 'gmLang') ?>:</label>
|
64 |
+
<select name="capability[gmedia_library]" class="form-control input-sm"><?php wp_dropdown_roles($gmDB->get_role('gmedia_library')); ?></select>
|
65 |
+
|
66 |
+
<p class="help-block"><?php _e('Who can view Gmedia Gallery admin pages', 'gmLang'); ?></p>
|
67 |
+
</div>
|
68 |
+
<hr/>
|
69 |
+
|
70 |
+
<div class="form-group">
|
71 |
+
<label><?php _e('Edit Media', 'gmLang') ?>:</label>
|
72 |
+
<select name="capability[gmedia_edit_media]" class="form-control input-sm"><?php wp_dropdown_roles($gmDB->get_role('gmedia_edit_media')); ?></select>
|
73 |
+
|
74 |
+
<p class="help-block"><?php _e('Who can edit media title, description and other properties of uploaded files', 'gmLang'); ?></p>
|
75 |
+
</div>
|
76 |
+
<div class="form-group">
|
77 |
+
<label><?php _e('Delete Media', 'gmLang') ?>:</label>
|
78 |
+
<select name="capability[gmedia_delete_media]" class="form-control input-sm"><?php wp_dropdown_roles($gmDB->get_role('gmedia_delete_media')); ?></select>
|
79 |
+
|
80 |
+
<p class="help-block"><?php _e('Who can delete uploaded files from Gmedia Library', 'gmLang'); ?></p>
|
81 |
+
</div>
|
82 |
+
<div class="form-group">
|
83 |
+
<label><?php _e('Show Others Media', 'gmLang') ?>:</label>
|
84 |
+
<select name="capability[gmedia_show_others_media]" class="form-control input-sm"><?php wp_dropdown_roles($gmDB->get_role('gmedia_show_others_media')); ?></select>
|
85 |
+
|
86 |
+
<p class="help-block"><?php _e('Who can see files uploaded by other users', 'gmLang'); ?></p>
|
87 |
+
</div>
|
88 |
+
<div class="col-xs-offset-1">
|
89 |
+
<div class="form-group">
|
90 |
+
<label><?php _e('Edit Others Media', 'gmLang') ?>:</label>
|
91 |
+
<select name="capability[gmedia_edit_others_media]" class="form-control input-sm"><?php wp_dropdown_roles($gmDB->get_role('gmedia_edit_others_media')); ?></select>
|
92 |
+
|
93 |
+
<p class="help-block"><?php _e('Who can edit files, albums/tags and galleries of other users', 'gmLang'); ?></p>
|
94 |
+
</div>
|
95 |
+
<div class="form-group">
|
96 |
+
<label><?php _e('Delete Others Media', 'gmLang') ?>:</label>
|
97 |
+
<select name="capability[gmedia_delete_others_media]" class="form-control input-sm"><?php wp_dropdown_roles($gmDB->get_role('gmedia_delete_others_media')); ?></select>
|
98 |
+
|
99 |
+
<p class="help-block"><?php _e('Who can delete files, albums/tags and galleries of other users', 'gmLang'); ?></p>
|
100 |
+
</div>
|
101 |
+
</div>
|
102 |
+
|
103 |
+
<div class="form-group">
|
104 |
+
<label><?php _e('Upload Media Files', 'gmLang') ?>:</label>
|
105 |
+
<select name="capability[gmedia_upload]" class="form-control input-sm"><?php wp_dropdown_roles($gmDB->get_role('gmedia_upload')); ?></select>
|
106 |
+
|
107 |
+
<p class="help-block"><?php _e('Who can upload files to Gmedia Library', 'gmLang'); ?></p>
|
108 |
+
</div>
|
109 |
+
<div class="col-xs-offset-1">
|
110 |
+
<div class="form-group">
|
111 |
+
<label><?php _e('Import Media Files', 'gmLang') ?>:</label>
|
112 |
+
<select name="capability[gmedia_import]" class="form-control input-sm"><?php wp_dropdown_roles($gmDB->get_role('gmedia_import')); ?></select>
|
113 |
+
|
114 |
+
<p class="help-block"><?php _e('Who can import files to Gmedia Library', 'gmLang'); ?></p>
|
115 |
+
</div>
|
116 |
</div>
|
117 |
+
|
118 |
+
<div class="form-group">
|
119 |
+
<label><?php _e('Albums, Tags...', 'gmLang') ?>:</label>
|
120 |
+
<select name="capability[gmedia_terms]" class="form-control input-sm"><?php wp_dropdown_roles($gmDB->get_role('gmedia_terms')); ?></select>
|
121 |
+
|
122 |
+
<p class="help-block"><?php _e('Who can assign available terms to media files', 'gmLang'); ?></p>
|
123 |
+
</div>
|
124 |
+
<div class="col-xs-offset-1">
|
125 |
+
<div class="form-group">
|
126 |
+
<label><?php _e('Manage Albums', 'gmLang') ?>:</label>
|
127 |
+
<select name="capability[gmedia_album_manage]" class="form-control input-sm"><?php wp_dropdown_roles($gmDB->get_role('gmedia_album_manage')); ?></select>
|
128 |
+
|
129 |
+
<p class="help-block"><?php _e('Who can add and edit own albums', 'gmLang'); ?></p>
|
130 |
+
</div>
|
131 |
+
<div class="form-group">
|
132 |
+
<label><?php _e('Manage Tags', 'gmLang') ?>:</label>
|
133 |
+
<select name="capability[gmedia_tag_manage]" class="form-control input-sm"><?php wp_dropdown_roles($gmDB->get_role('gmedia_tag_manage')); ?></select>
|
134 |
+
|
135 |
+
<p class="help-block"><?php _e('Who can add and edit tags', 'gmLang'); ?></p>
|
136 |
+
</div>
|
137 |
+
<div class="form-group">
|
138 |
+
<label><?php _e('Delete Terms', 'gmLang') ?>:</label>
|
139 |
+
<select name="capability[gmedia_terms_delete]" class="form-control input-sm"><?php wp_dropdown_roles($gmDB->get_role('gmedia_terms_delete')); ?></select>
|
140 |
+
|
141 |
+
<p class="help-block"><?php _e('Who can delete own albums or all terms if allowed "Delete Others Media"', 'gmLang'); ?></p>
|
142 |
+
</div>
|
143 |
+
</div>
|
144 |
+
|
145 |
+
<div class="form-group">
|
146 |
+
<label><?php _e('Galleries', 'gmLang') ?>:</label>
|
147 |
+
<select name="capability[gmedia_gallery_manage]" class="form-control input-sm"><?php wp_dropdown_roles($gmDB->get_role('gmedia_gallery_manage')); ?></select>
|
148 |
+
|
149 |
+
<p class="help-block"><?php _e('Who can add, edit and delete own galleries', 'gmLang'); ?></p>
|
150 |
+
</div>
|
151 |
+
|
152 |
+
<div class="form-group">
|
153 |
+
<label><?php _e('Modules', 'gmLang') ?>:</label>
|
154 |
+
<select name="capability[gmedia_module_manage]" class="form-control input-sm"><?php wp_dropdown_roles($gmDB->get_role('gmedia_module_manage')); ?></select>
|
155 |
+
|
156 |
+
<p class="help-block"><?php _e('Who can manage modules', 'gmLang'); ?></p>
|
157 |
+
</div>
|
158 |
+
|
159 |
+
<div class="form-group">
|
160 |
+
<label><?php _e('Settings', 'gmLang') ?>:</label>
|
161 |
+
<select name="capability[gmedia_settings]" class="form-control input-sm"><?php wp_dropdown_roles($gmDB->get_role('gmedia_settings')); ?></select>
|
162 |
+
|
163 |
+
<p class="help-block"><?php _e('Who can change settings. Note: Capabilites can be changed only by administrator', 'gmLang'); ?></p>
|
164 |
+
</div>
|
165 |
+
|
166 |
+
</fieldset>
|
167 |
+
<?php } ?>
|
168 |
+
<fieldset id="gmedia_settings2" class="tab-pane">
|
169 |
+
<div class="form-group">
|
170 |
+
<label><?php _e('When delete (uninstall) plugin', 'gmLang') ?>:</label>
|
171 |
+
<select name="set[uninstall_dropdata]" class="form-control input-sm">
|
172 |
+
<option value="all" <?php selected($gmGallery->options['uninstall_dropdata'], 'all'); ?>><?php _e('Delete database and all uploaded files', 'gmLang'); ?></option>
|
173 |
+
<option value="db" <?php selected($gmGallery->options['uninstall_dropdata'], 'db'); ?>><?php _e('Delete database only and leave uploaded files', 'gmLang'); ?></option>
|
174 |
+
<option value="none" <?php selected($gmGallery->options['uninstall_dropdata'], 'none'); ?>><?php _e('Do not delete database and uploaded files', 'gmLang'); ?></option>
|
175 |
+
</select>
|
176 |
</div>
|
177 |
<div class="form-group">
|
178 |
+
<label><?php _e('Forbid theme to format Gmedia shortcode\'s content', 'gmLang') ?>:</label>
|
179 |
+
|
180 |
<div class="checkbox" style="margin:0;">
|
181 |
<input type="hidden" name="set[shortcode_raw]" value="0"/>
|
182 |
+
<label><input type="checkbox" name="set[shortcode_raw]" value="1" <?php checked($gmGallery->options['shortcode_raw'], '1'); ?> /> <?php _e('Raw output for Gmedia Shortcode', 'gmLang'); ?>
|
183 |
+
</label>
|
184 |
+
|
185 |
<p class="help-block"><?php _e('Some themes reformat shortcodes and break it functionality (mostly when you add description to images). Turning this on should solve this problem.', 'gmLang'); ?></p>
|
186 |
</div>
|
187 |
</div>
|
188 |
+
<?php
|
189 |
+
if ( (function_exists('memory_get_usage')) && (ini_get('memory_limit')) ) {
|
190 |
+
$memory_limit = ini_get('memory_limit');
|
191 |
+
$memory_usage = memory_get_usage();
|
192 |
+
echo '<p>' . __('Memory Limit: ', 'gmLang') . $memory_limit . '</p>';
|
193 |
+
echo '<p>' . __('Memory Used: ', 'gmLang') . $memory_usage . '</p>';
|
194 |
+
}
|
195 |
+
?>
|
196 |
<p><?php _e('Under constraction...') ?></p>
|
197 |
|
198 |
<?php
|
201 |
$gmedia = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}gmedia");
|
202 |
$terms = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}gmedia_term");
|
203 |
$relation = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}gmedia_term_relationships");
|
204 |
+
$images['grand-media'] = glob($gmCore->upload['path'] . '/*', GLOB_NOSORT);
|
205 |
+
$images['images'] = glob($gmCore->upload['path'] . '/image/*', GLOB_NOSORT);
|
206 |
+
$images['thumbs'] = glob($gmCore->upload['path'] . '/thumb/*', GLOB_NOSORT);
|
207 |
echo '<pre style="max-height:400px; overflow:auto;">' . print_r($gmedia, true) . '</pre>';
|
208 |
echo '<pre style="max-height:400px; overflow:auto;">' . print_r($images, true) . '</pre>';
|
209 |
echo '<pre style="max-height:400px; overflow:auto;">' . print_r($terms, true) . '</pre>';
|
admin/terms.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
-
if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])){
|
3 |
-
|
4 |
}
|
5 |
|
6 |
/**
|
@@ -8,405 +8,591 @@ if(preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])){
|
|
8 |
*
|
9 |
* @return mixed content
|
10 |
*/
|
11 |
-
function gmediaTerms()
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
-
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
|
214 |
-
|
215 |
-
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
410 |
|
411 |
<?php
|
412 |
}
|
@@ -417,209 +603,283 @@ function gmediaTerms(){
|
|
417 |
*
|
418 |
* @return mixed content
|
419 |
*/
|
420 |
-
function gmediaAlbumEdit()
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
|
477 |
-
|
478 |
-
|
479 |
-
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
603 |
-
|
604 |
-
|
605 |
-
|
606 |
-
|
607 |
-
|
608 |
-
|
609 |
-
|
610 |
-
|
611 |
-
|
612 |
-
|
613 |
-
|
614 |
-
|
615 |
-
|
616 |
-
|
617 |
-
|
618 |
-
|
619 |
-
|
620 |
-
|
621 |
-
|
622 |
-
|
623 |
-
|
624 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
625 |
}
|
1 |
<?php
|
2 |
+
if (preg_match('#' . basename(__FILE__) . '#', $_SERVER['PHP_SELF'])) {
|
3 |
+
die('You are not allowed to call this page directly.');
|
4 |
}
|
5 |
|
6 |
/**
|
8 |
*
|
9 |
* @return mixed content
|
10 |
*/
|
11 |
+
function gmediaTerms()
|
12 |
+
{
|
13 |
+
global $user_ID, $gmDB, $gmCore, $gmGallery, $gmProcessor;
|
14 |
+
|
15 |
+
$url = add_query_arg(array('page' => $gmProcessor->page), admin_url('admin.php'));
|
16 |
+
|
17 |
+
/* todo: per_page options for gmedia_terms
|
18 |
+
$gm_screen_options = get_user_meta($user_ID, 'gm_screen_options', true);
|
19 |
+
if(!is_array($gm_screen_options)){
|
20 |
+
$gm_screen_options = array();
|
21 |
+
}
|
22 |
+
$gm_screen_options = array_merge($gmGallery->options['gm_screen_options'], $gm_screen_options);
|
23 |
+
*/
|
24 |
+
|
25 |
+
$author = $gmCore->caps['gmedia_show_others_media'] ? 0 : $user_ID;
|
26 |
+
|
27 |
+
$filter = ('selected' == $gmCore->_req('filter')) ? $gmProcessor->selected_items : null;
|
28 |
+
$args = array(
|
29 |
+
'orderby' => $gmCore->_get('orderby', 'name'),
|
30 |
+
'order' => $gmCore->_get('order', 'ASC'),
|
31 |
+
'search' => $gmCore->_get('s', ''),
|
32 |
+
'number' => $gmCore->_get('number', 30),
|
33 |
+
'hide_empty' => $gmCore->_get('hide_empty', 0),
|
34 |
+
'page' => $gmCore->_get('pager', 1),
|
35 |
+
'include' => $filter
|
36 |
+
);
|
37 |
+
$args['offset'] = ($args['page'] - 1) * $args['number'];
|
38 |
+
|
39 |
+
$taxonomy = $gmCore->_get('term', 'gmedia_album');
|
40 |
+
|
41 |
+
$allow_edit = 0;
|
42 |
+
switch ($taxonomy) {
|
43 |
+
case 'gmedia_album':
|
44 |
+
$allow_edit = $gmCore->caps['gmedia_album_manage'];
|
45 |
+
$args['global'] = $gmCore->_get('author', $gmCore->caps['gmedia_edit_others_media'] ? '' : array(0, $user_ID));
|
46 |
+
if (!$gmCore->caps['gmedia_show_others_media']) {
|
47 |
+
$args['global'] = wp_parse_id_list($args['global']);
|
48 |
+
$args['global'] = array_intersect(array(0, $user_ID), $args['global']);
|
49 |
+
if (empty($args['global'])) {
|
50 |
+
$args['global'] = array(0, $user_ID);
|
51 |
+
}
|
52 |
+
}
|
53 |
+
if (!$gmCore->caps['gmedia_edit_others_media']) {
|
54 |
+
$args['orderby'] = $gmCore->_get('orderby', 'global_desc_name');
|
55 |
+
}
|
56 |
+
break;
|
57 |
+
case 'gmedia_tag':
|
58 |
+
$allow_edit = $gmCore->caps['gmedia_tag_manage'];
|
59 |
+
break;
|
60 |
+
case 'gmedia_category':
|
61 |
+
$args['number'] = '';
|
62 |
+
$args['offset'] = '';
|
63 |
+
$args['search'] = '';
|
64 |
+
$args['include'] = null;
|
65 |
+
break;
|
66 |
+
}
|
67 |
+
|
68 |
+
$gmediaTerms = $gmDB->get_terms($taxonomy, $args);
|
69 |
+
|
70 |
+
?>
|
71 |
+
<div class="panel panel-default" id="gmedia-panel">
|
72 |
+
<div class="panel-heading clearfix">
|
73 |
+
|
74 |
+
<?php if ('gmedia_category' != $taxonomy) { ?>
|
75 |
+
<form class="form-inline gmedia-search-form" role="search" method="get">
|
76 |
+
<div class="form-group">
|
77 |
+
<input type="hidden" name="page" value="<?php echo $gmProcessor->page; ?>"/>
|
78 |
+
<input type="hidden" name="term" value="<?php echo $taxonomy; ?>"/>
|
79 |
+
<input id="gmedia-search" class="form-control input-sm" type="text" name="s"
|
80 |
+
placeholder="<?php _e('Search...', 'gmLang'); ?>"
|
81 |
+
value="<?php echo $gmCore->_get('s', ''); ?>"/>
|
82 |
+
</div>
|
83 |
+
<button type="submit" class="btn btn-default input-sm"><span class="glyphicon glyphicon-search"></span>
|
84 |
+
</button>
|
85 |
+
</form>
|
86 |
+
<?php echo $gmDB->query_pager(); ?>
|
87 |
+
<?php } ?>
|
88 |
+
|
89 |
+
<div class="btn-toolbar pull-left">
|
90 |
+
<?php if ('gmedia_category' != $taxonomy) { ?>
|
91 |
+
<div class="btn-group gm-checkgroup" id="cb_global-btn">
|
92 |
+
<span class="btn btn-default active"><input class="doaction" id="cb_global"
|
93 |
+
data-group="cb_term-object" type="checkbox"/></span>
|
94 |
+
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
95 |
+
<span class="caret"></span>
|
96 |
+
<span class="sr-only"><?php _e('Toggle Dropdown', 'gmLang'); ?></span>
|
97 |
+
</button>
|
98 |
+
<ul class="dropdown-menu" role="menu">
|
99 |
+
<li><a data-select="total" href="#"><?php _e('All', 'gmLang'); ?></a></li>
|
100 |
+
<li><a data-select="none" href="#"><?php _e('None', 'gmLang'); ?></a></li>
|
101 |
+
<li class="divider"></li>
|
102 |
+
<li><a data-select="reverse" href="#"
|
103 |
+
title="<?php _e('Reverse only visible items', 'gmLang'); ?>"><?php _e('Reverse', 'gmLang'); ?></a>
|
104 |
+
</li>
|
105 |
+
</ul>
|
106 |
+
</div>
|
107 |
+
<?php } ?>
|
108 |
+
|
109 |
+
<div class="btn-group" style="margin-right:20px;">
|
110 |
+
<a class="btn btn<?php echo ('gmedia_album' == $taxonomy) ? "-primary active" : '-default'; ?>"
|
111 |
+
href="<?php echo add_query_arg(array('term' => 'gmedia_album'), $url); ?>"><?php _e('Albums', 'gmLang'); ?></a>
|
112 |
+
<a class="btn btn<?php echo ('gmedia_tag' == $taxonomy) ? "-primary active" : '-default'; ?>"
|
113 |
+
href="<?php echo add_query_arg(array('term' => 'gmedia_tag'), $url); ?>"><?php _e('Tags', 'gmLang'); ?></a>
|
114 |
+
<a class="btn btn<?php echo ('gmedia_category' == $taxonomy) ? "-primary active" : '-default'; ?>"
|
115 |
+
href="<?php echo add_query_arg(array('term' => 'gmedia_category'), $url); ?>"><?php _e('Categories', 'gmLang'); ?></a>
|
116 |
+
</div>
|
117 |
+
|
118 |
+
<?php if (('gmedia_category' != $taxonomy)) { ?>
|
119 |
+
<div class="btn-group">
|
120 |
+
<a class="btn btn-default" href="#"><?php _e('Action', 'gmLang'); ?></a>
|
121 |
+
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
122 |
+
<span class="caret"></span>
|
123 |
+
<span class="sr-only"><?php _e('Toggle Dropdown', 'gmLang'); ?></span>
|
124 |
+
</button>
|
125 |
+
<?php
|
126 |
+
$rel_selected_show = 'rel-selected-show';
|
127 |
+
$rel_selected_hide = 'rel-selected-hide';
|
128 |
+
?>
|
129 |
+
<ul class="dropdown-menu" role="menu">
|
130 |
+
<li class="dropdown-header <?php echo $rel_selected_hide; ?>">
|
131 |
+
<span><?php _e("Select items to see more actions", "gmLang"); ?></span></li>
|
132 |
+
<li class="<?php echo $rel_selected_show;
|
133 |
+
if (!$gmCore->caps['gmedia_terms_delete']) {
|
134 |
+
echo ' disabled';
|
135 |
+
} ?>">
|
136 |
+
<a href="<?php echo wp_nonce_url($gmCore->get_admin_url(array('delete' => 'selected'), array('filter')), 'gmedia_delete') ?>"
|
137 |
+
class="gmedia-delete"
|
138 |
+
data-confirm="<?php _e("You are about to permanently delete the selected items.\n\r'Cancel' to stop, 'OK' to delete.", "gmLang"); ?>"><?php _e('Delete Selected Items', 'gmLang'); ?></a>
|
139 |
+
</li>
|
140 |
+
<?php do_action('gmedia_term_action_list'); ?>
|
141 |
+
</ul>
|
142 |
+
</div>
|
143 |
+
|
144 |
+
<form class="btn-group" id="gm-selected-btn" name="gm-selected-form"
|
145 |
+
action="<?php echo add_query_arg(array(
|
146 |
+
'term' => $taxonomy,
|
147 |
+
'filter' => 'selected'
|
148 |
+
), $url); ?>" method="post">
|
149 |
+
<button type="submit"
|
150 |
+
class="btn btn<?php echo ('selected' == $gmCore->_req('filter')) ? '-success' : '-info' ?>"><?php printf(__('%s selected', 'gmLang'), '<span id="gm-selected-qty">' . count($gmProcessor->selected_items) . '</span>'); ?></button>
|
151 |
+
<button type="button" class="btn btn-info dropdown-toggle" data-toggle="dropdown"><span
|
152 |
+
class="caret"></span>
|
153 |
+
<span class="sr-only"><?php _e('Toggle Dropdown', 'gmLang'); ?></span></button>
|
154 |
+
<input type="hidden" id="gm-selected" data-userid="<?php echo $user_ID; ?>"
|
155 |
+
data-key="<?php echo $taxonomy; ?>" name="selected_items"
|
156 |
+
value="<?php echo implode(',', $gmProcessor->selected_items); ?>"/>
|
157 |
+
<ul class="dropdown-menu" role="menu">
|
158 |
+
<li><a id="gm-selected-show" href="#show"><?php _e('Show only selected items', 'gmLang'); ?></a>
|
159 |
+
</li>
|
160 |
+
<li><a id="gm-selected-clear" href="#clear"><?php _e('Clear selected items', 'gmLang'); ?></a>
|
161 |
+
</li>
|
162 |
+
</ul>
|
163 |
+
</form>
|
164 |
+
<?php } ?>
|
165 |
+
|
166 |
+
</div>
|
167 |
+
</div>
|
168 |
+
|
169 |
+
|
170 |
+
<?php if ('gmedia_album' == $taxonomy) { ?>
|
171 |
+
<?php if ($allow_edit) { ?>
|
172 |
+
<form method="post" id="gmedia-edit-term" name="gmAddTerms" class="panel-body"
|
173 |
+
style="padding-bottom:0; border-bottom:1px solid #ddd;">
|
174 |
+
<div class="row">
|
175 |
+
<div class="col-xs-6">
|
176 |
+
<div class="form-group">
|
177 |
+
<label><?php _e('Name', 'gmLang'); ?></label>
|
178 |
+
<input type="text" class="form-control input-sm" name="term[name]"
|
179 |
+
placeholder="<?php _e('Album Name', 'gmLang'); ?>" required/>
|
180 |
+
</div>
|
181 |
+
<div class="form-group">
|
182 |
+
<label><?php _e('Description', 'gmLang'); ?></label>
|
183 |
+
<textarea class="form-control input-sm" style="height:75px;" rows="2"
|
184 |
+
name="term[description]"></textarea>
|
185 |
+
</div>
|
186 |
+
</div>
|
187 |
+
<div class="col-xs-6">
|
188 |
+
<div class="form-group row">
|
189 |
+
<div class="col-xs-6">
|
190 |
+
<label><?php _e('Order gmedia', 'gmLang'); ?></label>
|
191 |
+
<select name="term[orderby]" class="form-control input-sm">
|
192 |
+
<option value="custom"><?php _e('user defined', 'gmLang'); ?></option>
|
193 |
+
<option selected="selected" value="ID"><?php _e('by ID', 'gmLang'); ?></option>
|
194 |
+
<option value="title"><?php _e('by title', 'gmLang'); ?></option>
|
195 |
+
<option value="date"><?php _e('by date', 'gmLang'); ?></option>
|
196 |
+
<option value="modified"><?php _e('by last modified date', 'gmLang'); ?></option>
|
197 |
+
<option value="rand"><?php _e('Random', 'gmLang'); ?></option>
|
198 |
+
</select>
|
199 |
+
</div>
|
200 |
+
<div class="col-xs-6">
|
201 |
+
<label><?php _e('Sort order', 'gmLang'); ?></label>
|
202 |
+
<select name="term[order]" class="form-control input-sm">
|
203 |
+
<option value="ASC"><?php _e('ASC', 'gmLang'); ?></option>
|
204 |
+
<option selected="selected" value="DESC"><?php _e('DESC', 'gmLang'); ?></option>
|
205 |
+
</select>
|
206 |
+
</div>
|
207 |
+
</div>
|
208 |
+
<div class="row">
|
209 |
+
<div class="form-group col-xs-6">
|
210 |
+
<label><?php _e('Status', 'gmLang'); ?></label>
|
211 |
+
<select name="term[status]" class="form-control input-sm">
|
212 |
+
<option selected="selected" value="public"><?php _e('Public', 'gmLang'); ?></option>
|
213 |
+
<option value="private"><?php _e('Private', 'gmLang'); ?></option>
|
214 |
+
<option value="draft"><?php _e('Draft', 'gmLang'); ?></option>
|
215 |
+
</select>
|
216 |
+
</div>
|
217 |
+
<div class="col-xs-6">
|
218 |
+
<div class="form-group">
|
219 |
+
<label><?php _e('Author', 'gmLang'); ?></label>
|
220 |
+
<?php $user_ids = $gmCore->get_editable_user_ids();
|
221 |
+
if ($user_ids && $gmCore->caps['gmedia_edit_others_media']) {
|
222 |
+
$shared_option = current_user_can('manage_options') ? __('Shared', 'gmLang') : '';
|
223 |
+
wp_dropdown_users(array(
|
224 |
+
'include' => $user_ids,
|
225 |
+
'include_selected' => true,
|
226 |
+
'name' => 'term[global]',
|
227 |
+
'selected' => $user_ID,
|
228 |
+
'class' => 'form-control input-sm',
|
229 |
+
'multi' => true,
|
230 |
+
'show_option_all' => $shared_option
|
231 |
+
));
|
232 |
+
} else {
|
233 |
+
echo '<input type="hidden" name="term[global]" value="' . $user_ID . '"/>';
|
234 |
+
echo '<div>' . get_the_author_meta('display_name', $user_ID) . '</div>';
|
235 |
+
}
|
236 |
+
?>
|
237 |
+
</div>
|
238 |
+
<div class="form-group">
|
239 |
+
<?php
|
240 |
+
wp_original_referer_field(true, 'previous');
|
241 |
+
wp_nonce_field('GmediaTerms', 'term_save_wpnonce');
|
242 |
+
?>
|
243 |
+
<input type="hidden" name="term[taxonomy]" value="gmedia_album"/>
|
244 |
+
<button style="display:block" type="submit" class="btn btn-primary btn-sm"
|
245 |
+
name="gmedia_album_save"><?php _e('Add New Album', 'gmLang'); ?></button>
|
246 |
+
</div>
|
247 |
+
</div>
|
248 |
+
</div>
|
249 |
+
</div>
|
250 |
+
</div>
|
251 |
+
</form>
|
252 |
+
<?php } else { ?>
|
253 |
+
<div class="alert alert-warning alert-dismissible" role="alert" style="margin-bottom:0">
|
254 |
+
<button type="button" class="close" data-dismiss="alert">
|
255 |
+
<span aria-hidden="true">×</span><span class="sr-only"><?php _e('Close', 'gmLang'); ?></span>
|
256 |
+
</button>
|
257 |
+
<strong><?php _e('Info:', 'gmLang'); ?></strong> <?php _e('You are not allowed to add new terms', 'gmLang'); ?>
|
258 |
+
</div>
|
259 |
+
<?php } ?>
|
260 |
+
<form class="list-group" id="gm-list-table" style="margin-bottom:4px;">
|
261 |
+
<?php
|
262 |
+
if (count($gmediaTerms)) {
|
263 |
+
foreach ($gmediaTerms as $item) {
|
264 |
+
$termItems = array();
|
265 |
+
$per_page = 10;
|
266 |
+
if ($item->count) {
|
267 |
+
$args = array('no_found_rows' => true, 'per_page' => $per_page, 'album__in' => array($item->term_id), 'author' => $author);
|
268 |
+
$termItems = $gmDB->get_gmedias($args);
|
269 |
+
}
|
270 |
+
$is_selected = in_array($item->term_id, $gmProcessor->selected_items) ? true : false;
|
271 |
+
$author_name = '';
|
272 |
+
$list_row_class = $row_class = '';
|
273 |
+
if ($item->global) {
|
274 |
+
$author_name .= sprintf(__('by %s', 'gmLang'), get_the_author_meta('display_name', $item->global));
|
275 |
+
if ($item->global == $user_ID) {
|
276 |
+
$row_class .= ' current_user';
|
277 |
+
$allow_edit = $gmCore->caps['gmedia_album_manage'];
|
278 |
+
} else {
|
279 |
+
$row_class .= ' other_user';
|
280 |
+
$allow_edit = $gmCore->caps['gmedia_edit_others_media'];
|
281 |
+
}
|
282 |
+
} else {
|
283 |
+
$author_name .= '(' . __('shared', 'gmLang') . ')';
|
284 |
+
$row_class .= ' shared';
|
285 |
+
$allow_edit = $gmCore->caps['gmedia_edit_others_media'];
|
286 |
+
}
|
287 |
+
if ('public' != $item->status) {
|
288 |
+
$author_name .= ' [' . $item->status . ']';
|
289 |
+
if('private' == $item->status){
|
290 |
+
$list_row_class = ' list-group-item-info';
|
291 |
+
} elseif('draft' == $item->status){
|
292 |
+
$list_row_class = ' list-group-item-warning';
|
293 |
+
}
|
294 |
+
}
|
295 |
+
?>
|
296 |
+
<div class="list-group-item term-list-item<?php echo $list_row_class; ?>">
|
297 |
+
<div class="row cb_term-object<?php echo $row_class; ?>">
|
298 |
+
<div class="term_id">#<?php echo $item->term_id; ?></div>
|
299 |
+
<div class="col-xs-5 term-label">
|
300 |
+
<div class="checkbox">
|
301 |
+
<input name="doaction[]"
|
302 |
+
type="checkbox"<?php echo $is_selected ? ' checked="checked"' : ''; ?>
|
303 |
+
value="<?php echo $item->term_id; ?>"/>
|
304 |
+
<?php if ($allow_edit) { ?>
|
305 |
+
<a href="<?php echo add_query_arg(array('edit_album' => $item->term_id), $url); ?>"><?php echo esc_html($item->name); ?></a>
|
306 |
+
<?php } else { ?>
|
307 |
+
<span><?php echo esc_html($item->name); ?></span>
|
308 |
+
<?php } ?>
|
309 |
+
<span class="term_info_author"><?php echo $author_name; ?></span>
|
310 |
+
<?php if ($item->count) { ?>
|
311 |
+
<a href="<?php echo $gmCore->get_admin_url(array(
|
312 |
+
'page' => 'GrandMedia',
|
313 |
+
'alb' => $item->term_id
|
314 |
+
), array(), true); ?>" class="badge pull-right"><?php echo $item->count; ?></a>
|
315 |
+
<?php } else { ?>
|
316 |
+
<span class="badge pull-right"><?php echo $item->count; ?></span>
|
317 |
+
<?php } ?>
|
318 |
+
</div>
|
319 |
+
</div>
|
320 |
+
<div class="col-xs-7">
|
321 |
+
<div class="term-images">
|
322 |
+
<?php if (!empty($termItems)) {
|
323 |
+
foreach ($termItems as $i) {
|
324 |
+
?>
|
325 |
+
<img style="z-index:<?php echo $per_page--; ?>;"
|
326 |
+
src="<?php echo $gmCore->gm_get_media_image($i, 'thumb', false); ?>"
|
327 |
+
alt="<?php echo $i->ID; ?>"
|
328 |
+
title="<?php echo esc_attr($i->title); ?>"/>
|
329 |
+
<?php
|
330 |
+
}
|
331 |
+
}
|
332 |
+
if (count($termItems) < $item->count) {
|
333 |
+
echo '...';
|
334 |
+
}
|
335 |
+
?>
|
336 |
+
</div>
|
337 |
+
</div>
|
338 |
+
</div>
|
339 |
+
<?php if (!empty($item->description)) { ?>
|
340 |
+
<div class="term-description"><?php echo esc_html($item->description); ?></div>
|
341 |
+
<?php } ?>
|
342 |
+
</div>
|
343 |
+
<?php
|
344 |
+
}
|
345 |
+
} else {
|
346 |
+
?>
|
347 |
+
<div class="list-group-item">
|
348 |
+
<div class="well well-lg text-center">
|
349 |
+
<h4><?php _e('No items to show.', 'gmLang'); ?></h4>
|
350 |
+
</div>
|
351 |
+
</div>
|
352 |
+
<?php } ?>
|
353 |
+
<?php
|
354 |
+
wp_original_referer_field(true, 'previous');
|
355 |
+
wp_nonce_field('GmediaTerms');
|
356 |
+
?>
|
357 |
+
</form>
|
358 |
+
|
359 |
+
|
360 |
+
<?php } elseif ('gmedia_tag' == $taxonomy) { ?>
|
361 |
+
<?php if ($allow_edit) { ?>
|
362 |
+
<form method="post" id="gmedia-edit-term" name="gmAddTerms" class="panel-body"
|
363 |
+
style="padding-bottom:0; border-bottom:1px solid #ddd;">
|
364 |
+
<div class="row">
|
365 |
+
<div class="form-group col-xs-9">
|
366 |
+
<label><?php _e('Tags', 'gmLang'); ?>
|
367 |
+
<small class="text-muted">(<?php _e('you can type multiple tags separated by comma') ?>)
|
368 |
+
</small>
|
369 |
+
</label>
|
370 |
+
<input type="text" class="form-control input-sm" name="term[name]"
|
371 |
+
placeholder="<?php _e('Tag Names', 'gmLang'); ?>" required/>
|
372 |
+
</div>
|
373 |
+
<div class="col-xs-3" style="padding-top:24px;">
|
374 |
+
<?php
|
375 |
+
wp_original_referer_field(true, 'previous');
|
376 |
+
wp_nonce_field('GmediaTerms', 'term_save_wpnonce');
|
377 |
+
?>
|
378 |
+
<input type="hidden" name="term[taxonomy]" value="gmedia_tag"/>
|
379 |
+
<button type="submit" class="btn btn-primary btn-sm"
|
380 |
+
name="gmedia_tag_add"><?php _e('Add New Tags', 'gmLang'); ?></button>
|
381 |
+
</div>
|
382 |
+
</div>
|
383 |
+
</form>
|
384 |
+
<?php } else { ?>
|
385 |
+
<div class="alert alert-warning alert-dismissible" role="alert" style="margin-bottom:0">
|
386 |
+
<button type="button" class="close" data-dismiss="alert">
|
387 |
+
<span aria-hidden="true">×</span><span class="sr-only"><?php _e('Close', 'gmLang'); ?></span>
|
388 |
+
</button>
|
389 |
+
<strong><?php _e('Info:', 'gmLang'); ?></strong> <?php _e('You are not allowed to add new terms', 'gmLang'); ?>
|
390 |
+
</div>
|
391 |
+
<?php } ?>
|
392 |
+
<form class="list-group" id="gm-list-table" style="margin-bottom:4px;">
|
393 |
+
<?php
|
394 |
+
if (count($gmediaTerms)) {
|
395 |
+
if ($gmCore->caps['gmedia_edit_others_media']) {
|
396 |
+
$allow_edit = true;
|
397 |
+
} else {
|
398 |
+
$allow_edit = false;
|
399 |
+
}
|
400 |
+
foreach ($gmediaTerms as $item){
|
401 |
+
$termItems = array();
|
402 |
+
$per_page = 5;
|
403 |
+
if ($item->count) {
|
404 |
+
$args = array('no_found_rows' => true, 'per_page' => $per_page, 'tag_id' => $item->term_id, 'author' => $author);
|
405 |
+
$termItems = $gmDB->get_gmedias($args);
|
406 |
+
}
|
407 |
+
$is_selected = in_array($item->term_id, $gmProcessor->selected_items) ? true : false;
|
408 |
+
?>
|
409 |
+
<div class="list-group-item term-list-item">
|
410 |
+
<div class="row cb_term-object" id="tag_<?php echo $item->term_id; ?>">
|
411 |
+
<div class="term_id">#<?php echo $item->term_id; ?></div>
|
412 |
+
<div class="col-xs-5 term-label">
|
413 |
+
<div class="checkbox">
|
414 |
+
<input name="doaction[]"
|
415 |
+
type="checkbox"<?php echo $is_selected ? ' checked="checked"' : ''; ?>
|
416 |
+
value="<?php echo $item->term_id; ?>"/>
|
417 |
+
<?php if ($allow_edit) { ?>
|
418 |
+
<a class="edit_tag_link"
|
419 |
+
href="#tag_<?php echo $item->term_id; ?>"><?php echo esc_html($item->name); ?></a>
|
420 |
+
<span class="edit_tag_form" style="display:none;"><input class="edit_tag_input"
|
421 |
+
type="text"
|
422 |
+
data-tag_id="<?php echo $item->term_id; ?>"
|
423 |
+
name="gmedia_tag_name[<?php echo $item->term_id; ?>]"
|
424 |
+
value="<?php echo esc_attr($item->name); ?>"
|
425 |
+
placeholder="<?php echo esc_attr($item->name); ?>"/><a
|
426 |
+
href="#tag_<?php echo $item->term_id; ?>"
|
427 |
+
class="edit_tag_save btn btn-link glyphicon glyphicon-pencil"></a></span>
|
428 |
+
<?php } else { ?>
|
429 |
+
<span><?php echo esc_html($item->name); ?></span>
|
430 |
+
<?php } ?>
|
431 |
+
<?php if ($item->count) { ?>
|
432 |
+
<a href="<?php echo $gmCore->get_admin_url(array(
|
433 |
+
'page' => 'GrandMedia',
|
434 |
+
'tag_id' => $item->term_id
|
435 |
+
), array(), true); ?>" class="badge pull-right"><?php echo $item->count; ?></a>
|
436 |
+
<?php } else { ?>
|
437 |
+
<span class="badge pull-right"><?php echo $item->count; ?></span>
|
438 |
+
<?php } ?>
|
439 |
+
</div>
|
440 |
+
</div>
|
441 |
+
<div class="col-xs-7 term-images">
|
442 |
+
<?php if (!empty($termItems)) {
|
443 |
+
foreach ($termItems as $i) {
|
444 |
+
?>
|
445 |
+
<img style="z-index:<?php echo $per_page--; ?>;"
|
446 |
+
src="<?php echo $gmCore->gm_get_media_image($i, 'thumb', false); ?>"
|
447 |
+
alt="<?php echo $i->ID; ?>" title="<?php echo esc_attr($i->title); ?>"/>
|
448 |
+
<?php
|
449 |
+
}
|
450 |
+
}
|
451 |
+
if (count($termItems) < $item->count) {
|
452 |
+
echo '...';
|
453 |
+
}
|
454 |
+
?>
|
455 |
+
</div>
|
456 |
+
</div>
|
457 |
+
</div>
|
458 |
+
<?php } ?>
|
459 |
+
<?php if ($allow_edit){ ?>
|
460 |
+
<script type="text/javascript">
|
461 |
+
jQuery(function ($) {
|
462 |
+
$('#gm-list-table').data('edit', false);
|
463 |
+
$('input.edit_tag_input').keypress(function (e) {
|
464 |
+
var tagdiv = $('#tag_' + $(this).data('tag_id'));
|
465 |
+
var charCode = e.charCode || e.keyCode || e.which;
|
466 |
+
if (charCode == 13) {
|
467 |
+
e.preventDefault();
|
468 |
+
edit_tag(tagdiv);
|
469 |
+
}
|
470 |
+
}).blur(function (e) {
|
471 |
+
var tagdiv = $('#tag_' + $(this).data('tag_id'));
|
472 |
+
edit_tag(tagdiv);
|
473 |
+
});
|
474 |
+
|
475 |
+
$('.edit_tag_link').click(function (e) {
|
476 |
+
e.preventDefault();
|
477 |
+
var id = $(this).attr('href');
|
478 |
+
$(this).hide();
|
479 |
+
$(id).find('.edit_tag_form').show().find('input').focus();
|
480 |
+
$('#gm-list-table').data('edit', true);
|
481 |
+
});
|
482 |
+
$('.edit_tag_save').click(function (e) {
|
483 |
+
e.preventDefault();
|
484 |
+
});
|
485 |
+
|
486 |
+
function edit_tag(tagdiv) {
|
487 |
+
var inp = tagdiv.find('.edit_tag_form input');
|
488 |
+
var new_tag_name = $.trim(inp.val());
|
489 |
+
var old_tag_name = inp.attr('placeholder');
|
490 |
+
if ((old_tag_name == new_tag_name) || ('' === new_tag_name) || $.isNumeric()) {
|
491 |
+
inp.val(old_tag_name);
|
492 |
+
tagdiv.find('.edit_tag_form').hide();
|
493 |
+
tagdiv.find('.edit_tag_link').show();
|
494 |
+
return;
|
495 |
+
}
|
496 |
+
var post_data = {
|
497 |
+
action: 'gmedia_tag_edit',
|
498 |
+
tag_id: inp.data('tag_id'),
|
499 |
+
tag_name: new_tag_name,
|
500 |
+
_wpnonce: $('#_wpnonce').val()
|
501 |
+
};
|
502 |
+
$.post(ajaxurl, post_data, function (data, textStatus, jqXHR) {
|
503 |
+
console.log(data);
|
504 |
+
if (data.error) {
|
505 |
+
//inp.val(inp.attr('placeholder'));
|
506 |
+
$('#gmedia-panel').before(data.error);
|
507 |
+
} else {
|
508 |
+
//new_tag_name = new_tag_name.replace(/&/g, '&').replace(/"/g, '"').replace(/</g, '<').replace(/>/g, '>');
|
509 |
+
inp.attr('placeholder', new_tag_name);
|
510 |
+
tagdiv.find('.edit_tag_link').text(new_tag_name).show();
|
511 |
+
$('#gmedia-panel').before(data.msg);
|
512 |
+
tagdiv.find('.edit_tag_form').hide();
|
513 |
+
}
|
514 |
+
});
|
515 |
+
}
|
516 |
+
});
|
517 |
+
</script>
|
518 |
+
<?php } ?>
|
519 |
+
<?php
|
520 |
+
} else {
|
521 |
+
?>
|
522 |
+
<div class="list-group-item">
|
523 |
+
<div class="well well-lg text-center">
|
524 |
+
<h4><?php _e('No items to show.', 'gmLang'); ?></h4>
|
525 |
+
</div>
|
526 |
+
</div>
|
527 |
+
<?php } ?>
|
528 |
+
<?php
|
529 |
+
wp_original_referer_field(true, 'previous');
|
530 |
+
wp_nonce_field('GmediaTerms');
|
531 |
+
?>
|
532 |
+
</form>
|
533 |
+
|
534 |
+
|
535 |
+
<?php } elseif ('gmedia_category' == $taxonomy) { ?>
|
536 |
+
<div class="panel-body"></div>
|
537 |
+
<div class="list-group" id="gm-list-table" style="margin-bottom:4px;">
|
538 |
+
<?php
|
539 |
+
$gmediaCategories = $gmGallery->options['taxonomies']['gmedia_category'];
|
540 |
+
foreach ($gmediaTerms as $item) {
|
541 |
+
$cat[$item->name] = $item;
|
542 |
+
}
|
543 |
+
unset($gmediaTerms);
|
544 |
+
|
545 |
+
foreach ($gmediaCategories as $name => $title) {
|
546 |
+
$termItems = array();
|
547 |
+
$per_page = 10;
|
548 |
+
if (isset($cat[$name])) {
|
549 |
+
$count = $cat[$name]->count;
|
550 |
+
$term_id = $cat[$name]->term_id;
|
551 |
+
if ($count) {
|
552 |
+
$args = array('no_found_rows' => true, 'per_page' => $per_page, 'category__in' => array($term_id), 'author' => $author);
|
553 |
+
$termItems = $gmDB->get_gmedias($args);
|
554 |
+
}
|
555 |
+
} else {
|
556 |
+
$count = 0;
|
557 |
+
$term_id = '##';
|
558 |
+
}
|
559 |
+
?>
|
560 |
+
<div class="list-group-item term-list-item">
|
561 |
+
<div class="row cb_term-object">
|
562 |
+
<div class="term_id">#<?php echo $term_id; ?></div>
|
563 |
+
<div class="col-xs-5" style="padding-top:10px; padding-bottom:10px;">
|
564 |
+
<?php echo esc_html($title); ?>
|
565 |
+
<?php if ($count) { ?>
|
566 |
+
<a href="<?php echo $gmCore->get_admin_url(array(
|
567 |
+
'page' => 'GrandMedia',
|
568 |
+
'cat' => $term_id
|
569 |
+
), array(), true); ?>" class="badge pull-right"><?php echo $count; ?></a>
|
570 |
+
<?php } else { ?>
|
571 |
+
<span class="badge pull-right"><?php echo $count; ?></span>
|
572 |
+
<?php } ?>
|
573 |
+
</div>
|
574 |
+
<div class="col-xs-7 term-images">
|
575 |
+
<?php if (!empty($termItems)) {
|
576 |
+
foreach ($termItems as $i) {
|
577 |
+
?>
|
578 |
+
<img style="z-index:<?php echo $per_page--; ?>;"
|
579 |
+
src="<?php echo $gmCore->gm_get_media_image($i, 'thumb', false); ?>"
|
580 |
+
alt="<?php echo $i->ID; ?>" title="<?php echo esc_attr($i->title); ?>"/>
|
581 |
+
<?php
|
582 |
+
}
|
583 |
+
}
|
584 |
+
if (count($termItems) < $count) {
|
585 |
+
echo '...';
|
586 |
+
}
|
587 |
+
?>
|
588 |
+
</div>
|
589 |
+
</div>
|
590 |
+
</div>
|
591 |
+
<?php } ?>
|
592 |
+
</div>
|
593 |
+
<?php } ?>
|
594 |
+
|
595 |
+
</div>
|
596 |
|
597 |
<?php
|
598 |
}
|
603 |
*
|
604 |
* @return mixed content
|
605 |
*/
|
606 |
+
function gmediaAlbumEdit()
|
607 |
+
{
|
608 |
+
global $gmDB, $gmCore, $gmProcessor, $user_ID;
|
609 |
+
|
610 |
+
if (!$gmCore->caps['gmedia_album_manage']) {
|
611 |
+
die('-1');
|
612 |
+
}
|
613 |
+
|
614 |
+
$url = add_query_arg(array('page' => $gmProcessor->page), admin_url('admin.php'));
|
615 |
+
|
616 |
+
$taxonomy = 'gmedia_album';
|
617 |
+
$term_id = $gmCore->_get('edit_album');
|
618 |
+
|
619 |
+
$term = $gmDB->get_term($term_id, $taxonomy);
|
620 |
+
|
621 |
+
if (!empty($term) && !is_wp_error($term)) {
|
622 |
+
|
623 |
+
$term_meta = $gmDB->get_metadata('gmedia_term', $term->term_id);
|
624 |
+
$term_meta = array_map('reset', $term_meta);
|
625 |
+
$term_meta = array_merge(array('orderby' => 'ID', 'order' => 'DESC'), $term_meta);
|
626 |
+
$per_page = 30;
|
627 |
+
$pager = '';
|
628 |
+
$mousesort = ('drag-n-drop' === $gmCore->_get('sort')) ? true : false;
|
629 |
+
|
630 |
+
$termItems = array();
|
631 |
+
if ($term->count) {
|
632 |
+
$args = array('album__in' => $term->term_id, 'orderby' => $term_meta['orderby'], 'order' => $term_meta['order']);
|
633 |
+
if ($mousesort) {
|
634 |
+
$args = array_merge($args, array('nopaging' => 1));
|
635 |
+
} else {
|
636 |
+
$args = array_merge($args, array('per_page' => $per_page, 'page' => $gmCore->_get('pager', 1)));
|
637 |
+
}
|
638 |
+
$termItems = $gmDB->get_gmedias($args);
|
639 |
+
|
640 |
+
if (!$mousesort) {
|
641 |
+
$pager = $gmDB->query_pager();
|
642 |
+
}
|
643 |
+
}
|
644 |
+
|
645 |
+
?>
|
646 |
+
<div class="panel panel-default">
|
647 |
+
<div class="panel-heading clearfix">
|
648 |
+
<div class="btn-toolbar pull-left">
|
649 |
+
<div class="btn-group" style="margin-right:20px;">
|
650 |
+
<a class="btn btn-primary active"
|
651 |
+
href="<?php echo add_query_arg(array('term' => 'gmedia_album'), $url); ?>"><?php _e('Albums', 'gmLang'); ?></a>
|
652 |
+
<a class="btn btn-default"
|
653 |
+
href="<?php echo add_query_arg(array('term' => 'gmedia_tag'), $url); ?>"><?php _e('Tags', 'gmLang'); ?></a>
|
654 |
+
<a class="btn btn-default"
|
655 |
+
href="<?php echo add_query_arg(array('term' => 'gmedia_category'), $url); ?>"><?php _e('Categories', 'gmLang'); ?></a>
|
656 |
+
</div>
|
657 |
+
|
658 |
+
<div class="btn-group">
|
659 |
+
<a class="btn btn-default" href="#"><?php _e('Action', 'gmLang'); ?></a>
|
660 |
+
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
|
661 |
+
<span class="caret"></span>
|
662 |
+
<span class="sr-only"><?php _e('Toggle Dropdown', 'gmLang'); ?></span>
|
663 |
+
</button>
|
664 |
+
<ul class="dropdown-menu" role="menu">
|
665 |
+
<?php if ($mousesort) { ?>
|
666 |
+
<li>
|
667 |
+
<a href="<?php echo $gmCore->get_admin_url(array(), array('sort')); ?>"><?php _e('Disable Drag and Drop Sorting', 'gmLang'); ?></a>
|
668 |
+
</li>
|
669 |
+
<?php } else { ?>
|
670 |
+
<li>
|
671 |
+
<a href="<?php echo $gmCore->get_admin_url(array('sort' => 'drag-n-drop'), array('pager')); ?>"><?php _e('Enable Drag and Drop Sorting', 'gmLang'); ?></a>
|
672 |
+
</li>
|
673 |
+
<?php } ?>
|
674 |
+
<li><a href="<?php echo add_query_arg(array(
|
675 |
+
'page' => 'GrandMedia',
|
676 |
+
'alb' => $term->term_id
|
677 |
+
), admin_url('admin.php')); ?>"><?php _e('Show Album in Gmedia Library', 'gmLang'); ?></a>
|
678 |
+
</li>
|
679 |
+
</ul>
|
680 |
+
</div>
|
681 |
+
</div>
|
682 |
+
|
683 |
+
<?php echo $pager; ?>
|
684 |
+
|
685 |
+
</div>
|
686 |
+
|
687 |
+
<form method="post" id="gmedia-edit-term" name="gmEditTerm" class="panel-body">
|
688 |
+
<h4 style="margin-top:0;">
|
689 |
+
<span class="pull-right"><?php echo __('ID', 'gmLang') . ": {$term->term_id}"; ?></span>
|
690 |
+
<?php _e('Edit Album'); ?>: <em><?php echo esc_html($term->name); ?></em>
|
691 |
+
</h4>
|
692 |
+
|
693 |
+
<div class="row" style="border-bottom:1px solid #ddd; margin-bottom:15px;">
|
694 |
+
<div class="col-xs-6">
|
695 |
+
<div class="form-group">
|
696 |
+
<label><?php _e('Name', 'gmLang'); ?></label>
|
697 |
+
<input type="text" class="form-control input-sm" name="term[name]"
|
698 |
+
value="<?php echo esc_attr($term->name); ?>"
|
699 |
+
placeholder="<?php _e('Album Name', 'gmLang'); ?>" required/>
|
700 |
+
</div>
|
701 |
+
<div class="form-group">
|
702 |
+
<label><?php _e('Description', 'gmLang'); ?></label>
|
703 |
+
<textarea class="form-control input-sm" style="height:53px;" rows="2"
|
704 |
+
name="term[description]"><?php echo $term->description; ?></textarea>
|
705 |
+
</div>
|
706 |
+
</div>
|
707 |
+
<div class="col-xs-6">
|
708 |
+
<div class="form-group row">
|
709 |
+
<div class="col-xs-6">
|
710 |
+
<label><?php _e('Order gmedia', 'gmLang'); ?></label>
|
711 |
+
<select name="term[orderby]" class="form-control input-sm">
|
712 |
+
<option
|
713 |
+
value="custom"<?php selected($term_meta['orderby'], 'custom'); ?>><?php _e('user defined', 'gmLang'); ?></option>
|
714 |
+
<option
|
715 |
+
value="ID"<?php selected($term_meta['orderby'], 'ID'); ?>><?php _e('by ID', 'gmLang'); ?></option>
|
716 |
+
<option
|
717 |
+
value="title"<?php selected($term_meta['orderby'], 'title'); ?>><?php _e('by title', 'gmLang'); ?></option>
|
718 |
+
<option
|
719 |
+
value="date"<?php selected($term_meta['orderby'], 'date'); ?>><?php _e('by date', 'gmLang'); ?></option>
|
720 |
+
<option
|
721 |
+
value="modified"<?php selected($term_meta['orderby'], 'modified'); ?>><?php _e('by last modified date', 'gmLang'); ?></option>
|
722 |
+
<option
|
723 |
+
value="rand"<?php selected($term_meta['orderby'], 'rand'); ?>><?php _e('Random', 'gmLang'); ?></option>
|
724 |
+
</select>
|
725 |
+
</div>
|
726 |
+
<div class="col-xs-6">
|
727 |
+
<label><?php _e('Sort order', 'gmLang'); ?></label>
|
728 |
+
<select name="term[order]" class="form-control input-sm">
|
729 |
+
<option
|
730 |
+
value="ASC"<?php selected($term_meta['order'], 'ASC'); ?>><?php _e('ASC', 'gmLang'); ?></option>
|
731 |
+
<option
|
732 |
+
value="DESC"<?php selected($term_meta['order'], 'DESC'); ?>><?php _e('DESC', 'gmLang'); ?></option>
|
733 |
+
</select>
|
734 |
+
</div>
|
735 |
+
</div>
|
736 |
+
<div class="row">
|
737 |
+
<div class="col-xs-6">
|
738 |
+
<div class="form-group">
|
739 |
+
<label><?php _e('Status', 'gmLang'); ?></label>
|
740 |
+
<select name="term[status]" class="form-control input-sm">
|
741 |
+
<option
|
742 |
+
value="public"<?php selected($term->status, 'public'); ?>><?php _e('Public', 'gmLang'); ?></option>
|
743 |
+
<option
|
744 |
+
value="private"<?php selected($term->status, 'private'); ?>><?php _e('Private', 'gmLang'); ?></option>
|
745 |
+
<option
|
746 |
+
value="draft"<?php selected($term->status, 'draft'); ?>><?php _e('Draft', 'gmLang'); ?></option>
|
747 |
+
</select>
|
748 |
+
</div>
|
749 |
+
<div class="form-group">
|
750 |
+
<div class="checkbox"><label><input type="checkbox" name="term[status_global]" value="1"> <?php _e('Apply Status for all items in album', 'gmLang'); ?></label></div>
|
751 |
+
</div>
|
752 |
+
</div>
|
753 |
+
<div class="col-xs-6">
|
754 |
+
<div class="form-group">
|
755 |
+
<label><?php _e('Author', 'gmLang'); ?></label>
|
756 |
+
<?php $user_ids = $gmCore->caps['gmedia_edit_others_media'] ? $gmCore->get_editable_user_ids() : false;
|
757 |
+
if ($user_ids) {
|
758 |
+
$shared_option = current_user_can('manage_options') ? __('Shared', 'gmLang') : '';
|
759 |
+
wp_dropdown_users(array(
|
760 |
+
'include' => $user_ids,
|
761 |
+
'include_selected' => true,
|
762 |
+
'name' => 'term[global]',
|
763 |
+
'selected' => $term->global,
|
764 |
+
'class' => 'form-control input-sm',
|
765 |
+
'multi' => true,
|
766 |
+
'show_option_all' => $shared_option
|
767 |
+
));
|
768 |
+
} else {
|
769 |
+
echo '<input type="hidden" name="term[global]" value="' . $user_ID . '"/>';
|
770 |
+
echo '<div>' . get_the_author_meta('display_name', $user_ID) . '</div>';
|
771 |
+
}
|
772 |
+
?>
|
773 |
+
</div>
|
774 |
+
<div class="form-group">
|
775 |
+
<?php wp_nonce_field('GmediaTerms', 'term_save_wpnonce'); ?>
|
776 |
+
<input type="hidden" name="term[term_id]" value="<?php echo $term->term_id; ?>"/>
|
777 |
+
<input type="hidden" name="term[taxonomy]" value="gmedia_album"/>
|
778 |
+
<button style="display:block" type="submit" class="btn btn-primary btn-sm"
|
779 |
+
name="gmedia_album_save"><?php _e('Update', 'gmLang'); ?></button>
|
780 |
+
</div>
|
781 |
+
</div>
|
782 |
+
</div>
|
783 |
+
</div>
|
784 |
+
</div>
|
785 |
+
|
786 |
+
<div class="termItems clearfix" id="termItems">
|
787 |
+
<?php if (!empty($termItems)) {
|
788 |
+
foreach ($termItems as $item) {
|
789 |
+
?>
|
790 |
+
<div class="gm-img-thumbnail" data-gmid="<?php echo $item->ID; ?>"><?php
|
791 |
+
?>
|
792 |
+
<img src="<?php echo $gmCore->gm_get_media_image($item, 'thumb', false); ?>"
|
793 |
+
alt="<?php echo $item->ID; ?>" title="<?php echo esc_attr($item->title); ?>"/><?php
|
794 |
+
?>
|
795 |
+
<input type="text" name="term[gmedia_ids][<?php echo $item->ID; ?>]"
|
796 |
+
value="<?php echo isset($item->gmedia_order) ? $item->gmedia_order : '0'; ?>"/><?php
|
797 |
+
?><span class="label label-default">ID: <?php echo $item->ID; ?></span></div>
|
798 |
+
<?php
|
799 |
+
}
|
800 |
+
} ?>
|
801 |
+
|
802 |
+
</div>
|
803 |
+
<script type="text/javascript">
|
804 |
+
jQuery(function ($) {
|
805 |
+
var inputs = $('#gmedia-edit-term').find('input, select').keypress(function (e) {
|
806 |
+
var charCode = e.charCode || e.keyCode || e.which;
|
807 |
+
if (13 == charCode) {
|
808 |
+
e.preventDefault();
|
809 |
+
var nextInput = inputs.get(inputs.index(this) + 1);
|
810 |
+
if (nextInput) {
|
811 |
+
nextInput.focus();
|
812 |
+
} else {
|
813 |
+
$(this).blur();
|
814 |
+
}
|
815 |
+
}
|
816 |
+
});
|
817 |
+
|
818 |
+
var img_order_asc = <?php echo ('ASC' == $term_meta['order'])? 'true' : 'false'; ?>;
|
819 |
+
var sortdiv = $('#termItems');
|
820 |
+
var items = $('.gm-img-thumbnail', sortdiv);
|
821 |
+
|
822 |
+
<?php if($mousesort){ ?>
|
823 |
+
sortdiv.sortable({
|
824 |
+
items: '.gm-img-thumbnail',
|
825 |
+
handle: 'img',
|
826 |
+
placeholder: 'gm-img-thumbnail ui-highlight-placeholder',
|
827 |
+
forcePlaceholderSize: true,
|
828 |
+
//revert: true,
|
829 |
+
stop: function (event, ui) {
|
830 |
+
items = $('.gm-img-thumbnail', this);
|
831 |
+
var qty = items.length - 1;
|
832 |
+
items.each(function (i) {
|
833 |
+
var order = img_order_asc ? i : (qty - i);
|
834 |
+
$(this).find('input').val(order);
|
835 |
+
});
|
836 |
+
}
|
837 |
+
});
|
838 |
+
|
839 |
+
<?php } ?>
|
840 |
+
|
841 |
+
$('input', items).on('change', function () {
|
842 |
+
sortdiv.css({height: sortdiv.height()});
|
843 |
+
var items = $('.gm-img-thumbnail', sortdiv);
|
844 |
+
|
845 |
+
var new_order = $.isNumeric($(this).val()) ? parseInt($(this).val()) : -1;
|
846 |
+
$(this).val(new_order).closest('.gm-img-thumbnail').css({zIndex: 1000});
|
847 |
+
|
848 |
+
var ipos = [];
|
849 |
+
items.each(function (i, el) {
|
850 |
+
var pos = $(el).position();
|
851 |
+
$.data(el, 'pos', pos);
|
852 |
+
ipos[i] = pos;
|
853 |
+
});
|
854 |
+
|
855 |
+
var order = img_order_asc ? 'asc' : 'desc';
|
856 |
+
items.tsort('input', {
|
857 |
+
useVal: true,
|
858 |
+
order: order
|
859 |
+
}, 'span.label', {order: order}).each(function (i, el) {
|
860 |
+
var from = $.data(el, 'pos');
|
861 |
+
var to = ipos[i];
|
862 |
+
$(el).css({position: 'absolute', top: from.top, left: from.left}).animate({
|
863 |
+
top: to.top,
|
864 |
+
left: to.left
|
865 |
+
}, 500);
|
866 |
+
}).promise().done(function () {
|
867 |
+
items.removeAttr('style');
|
868 |
+
sortdiv.removeAttr('style');
|
869 |
+
});
|
870 |
+
|
871 |
+
$(this).val(((0 > new_order) ? 0 : new_order)).focus();
|
872 |
+
});
|
873 |
+
});
|
874 |
+
</script>
|
875 |
+
</form>
|
876 |
+
<div class="panel-body"><?php echo $pager; ?>
|
877 |
+
<div class="well well-sm pull-left"
|
878 |
+
style="margin:0;"><?php printf(__('Total items: %d'), $term->count); ?></div>
|
879 |
+
</div>
|
880 |
+
</div>
|
881 |
+
<?php
|
882 |
+
} else {
|
883 |
+
|
884 |
+
}
|
885 |
}
|
admin/upload.php
CHANGED
@@ -12,14 +12,11 @@ ini_set('error_reporting', 0);
|
|
12 |
|
13 |
require_once(dirname(dirname(__FILE__)) . '/config.php');
|
14 |
|
15 |
-
/** WordPress Image Administration API */
|
16 |
-
require_once(ABSPATH . 'wp-admin/includes/image.php');
|
17 |
-
|
18 |
// HTTP headers for no cache etc
|
19 |
nocache_headers();
|
20 |
|
21 |
-
if(!current_user_can('
|
22 |
-
wp_die(__('You do not have permission to upload files.'));
|
23 |
}
|
24 |
|
25 |
check_admin_referer('grandMedia');
|
@@ -63,219 +60,12 @@ if(strpos($contentType, "multipart") !== false){
|
|
63 |
$file_tmp = "php://input";
|
64 |
}
|
65 |
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
*
|
70 |
-
* @param string $file_tmp
|
71 |
-
* @param array $fileinfo
|
72 |
-
* @param string $content_type
|
73 |
-
*/
|
74 |
-
function gmedia_upload_handler($file_tmp, $fileinfo, $content_type){
|
75 |
-
global $gmGallery, $gmCore;
|
76 |
-
$cleanup_dir = true; // Remove old files
|
77 |
-
$file_age = 5 * 3600; // Temp file age in seconds
|
78 |
-
$chunk = (int) $gmCore->_req('chunk', 0);
|
79 |
-
$chunks = (int) $gmCore->_req('chunks', 0);
|
80 |
-
|
81 |
-
// try to make grand-media dir if not exists
|
82 |
-
if(!wp_mkdir_p($fileinfo['dirpath'])){
|
83 |
-
$return = json_encode(array("error" => array("code" => 100, "message" => sprintf(__('Unable to create directory %s. Is its parent directory writable by the server?', 'gmLang'), $fileinfo['dirpath'])), "id" => $fileinfo['basename']));
|
84 |
-
die($return);
|
85 |
-
}
|
86 |
-
// Check if grand-media dir is writable
|
87 |
-
if(!is_writable($fileinfo['dirpath'])){
|
88 |
-
@chmod($fileinfo['dirpath'], 0755);
|
89 |
-
if(!is_writable($fileinfo['dirpath'])){
|
90 |
-
$return = json_encode(array("error" => array("code" => 100, "message" => sprintf(__('Directory %s or its subfolders are not writable by the server.', 'gmLang'), dirname($fileinfo['dirpath']))), "id" => $fileinfo['basename']));
|
91 |
-
die($return);
|
92 |
-
}
|
93 |
-
}
|
94 |
-
// Remove old temp files
|
95 |
-
if($cleanup_dir && is_dir($fileinfo['dirpath']) && ($_dir = opendir($fileinfo['dirpath']))){
|
96 |
-
while(($_file = readdir($_dir)) !== false){
|
97 |
-
$tmpfilePath = $fileinfo['dirpath'] . DIRECTORY_SEPARATOR . $_file;
|
98 |
-
|
99 |
-
// Remove temp file if it is older than the max age and is not the current file
|
100 |
-
if(preg_match('/\.part$/', $_file) && (filemtime($tmpfilePath) < time() - $file_age) && ($tmpfilePath != $fileinfo['filepath'] . '.part')){
|
101 |
-
@unlink($tmpfilePath);
|
102 |
-
}
|
103 |
-
}
|
104 |
-
|
105 |
-
closedir($_dir);
|
106 |
-
} else{
|
107 |
-
$return = json_encode(array("error" => array("code" => 100, "message" => sprintf(__('Failed to open directory: %s', 'gmLang'), $fileinfo['dirpath'])), "id" => $fileinfo['basename']));
|
108 |
-
die($return);
|
109 |
-
}
|
110 |
-
|
111 |
-
// Open temp file
|
112 |
-
$out = fopen($fileinfo['filepath'] . '.part', $chunk == 0? "wb" : "ab");
|
113 |
-
if($out){
|
114 |
-
// Read binary input stream and append it to temp file
|
115 |
-
$in = fopen($file_tmp, "rb");
|
116 |
-
|
117 |
-
if($in){
|
118 |
-
while(($buff = fread($in, 4096))){
|
119 |
-
fwrite($out, $buff);
|
120 |
-
}
|
121 |
-
} else{
|
122 |
-
$return = json_encode(array("error" => array("code" => 101, "message" => __("Failed to open input stream.", 'gmLang')), "id" => $fileinfo['basename']));
|
123 |
-
die($return);
|
124 |
-
}
|
125 |
-
fclose($in);
|
126 |
-
fclose($out);
|
127 |
-
if(strpos($content_type, "multipart") !== false){
|
128 |
-
@unlink($file_tmp);
|
129 |
-
}
|
130 |
-
if(!$chunks || $chunk == ($chunks - 1)){
|
131 |
-
sleep(1);
|
132 |
-
// Strip the temp .part suffix off
|
133 |
-
rename($fileinfo['filepath'] . '.part', $fileinfo['filepath']);
|
134 |
-
|
135 |
-
$gmCore->file_chmod($fileinfo['filepath']);
|
136 |
-
|
137 |
-
$size = false;
|
138 |
-
$is_webimage = false;
|
139 |
-
if('image' == $fileinfo['dirname']){
|
140 |
-
$size = @getimagesize($fileinfo['filepath']);
|
141 |
-
if($size && file_is_displayable_image($fileinfo['filepath'])){
|
142 |
-
if(!wp_mkdir_p($fileinfo['dirpath_thumb'])){
|
143 |
-
$return = json_encode(array("error" => array("code" => 100, "message" => sprintf(__('Unable to create directory %s. Is its parent directory writable by the server?', 'gmLang'), $fileinfo['dirpath_thumb'])), "id" => $fileinfo['basename']));
|
144 |
-
die($return);
|
145 |
-
}
|
146 |
-
if(!is_writable($fileinfo['dirpath_thumb'])){
|
147 |
-
@chmod($fileinfo['dirpath_thumb'], 0755);
|
148 |
-
if(!is_writable($fileinfo['dirpath_thumb'])){
|
149 |
-
@unlink($fileinfo['filepath']);
|
150 |
-
$return = json_encode(array("error" => array("code" => 100, "message" => sprintf(__('Directory %s is not writable by the server.', 'gmLang'), $fileinfo['dirpath_thumb'])), "id" => $fileinfo['basename']));
|
151 |
-
die($return);
|
152 |
-
}
|
153 |
-
}
|
154 |
-
if(!wp_mkdir_p($fileinfo['dirpath_original'])){
|
155 |
-
$return = json_encode(array("error" => array("code" => 100, "message" => sprintf(__('Unable to create directory %s. Is its parent directory writable by the server?', 'gmLang'), $fileinfo['dirpath_original'])), "id" => $fileinfo['basename']));
|
156 |
-
die($return);
|
157 |
-
}
|
158 |
-
if(!is_writable($fileinfo['dirpath_original'])){
|
159 |
-
@chmod($fileinfo['dirpath_original'], 0755);
|
160 |
-
if(!is_writable($fileinfo['dirpath_original'])){
|
161 |
-
@unlink($fileinfo['filepath']);
|
162 |
-
$return = json_encode(array("error" => array("code" => 100, "message" => sprintf(__('Directory %s is not writable by the server.', 'gmLang'), $fileinfo['dirpath_original'])), "id" => $fileinfo['basename']));
|
163 |
-
die($return);
|
164 |
-
}
|
165 |
-
}
|
166 |
-
|
167 |
-
// Optimized image
|
168 |
-
$webimg = $gmGallery->options['image'];
|
169 |
-
$thumbimg = $gmGallery->options['thumb'];
|
170 |
-
|
171 |
-
$webimg['resize'] = (($webimg['width'] < $size[0]) || ($webimg['height'] < $size[1]))? true : false;
|
172 |
-
$thumbimg['resize'] = (($thumbimg['width'] < $size[0]) || ($thumbimg['height'] < $size[1]))? true : false;
|
173 |
-
|
174 |
-
if($webimg['resize']){
|
175 |
-
rename($fileinfo['filepath'], $fileinfo['filepath_original']);
|
176 |
-
} else{
|
177 |
-
copy($fileinfo['filepath'], $fileinfo['filepath_original']);
|
178 |
-
}
|
179 |
-
|
180 |
-
if($webimg['resize'] || $thumbimg['resize']){
|
181 |
-
$editor = wp_get_image_editor($fileinfo['filepath_original']);
|
182 |
-
if(is_wp_error($editor)){
|
183 |
-
@unlink($fileinfo['filepath_original']);
|
184 |
-
$return = json_encode(array("error" => array("code" => $editor->get_error_code(), "message" => $editor->get_error_message()), "id" => $fileinfo['basename'], "tip" => 'wp_get_image_editor'));
|
185 |
-
die($return);
|
186 |
-
}
|
187 |
-
|
188 |
-
if($webimg['resize']){
|
189 |
-
$editor->set_quality($webimg['quality']);
|
190 |
-
|
191 |
-
$resized = $editor->resize($webimg['width'], $webimg['height'], $webimg['crop']);
|
192 |
-
if(is_wp_error($resized)){
|
193 |
-
@unlink($fileinfo['filepath_original']);
|
194 |
-
$return = json_encode(array("error" => array("code" => $resized->get_error_code(), "message" => $resized->get_error_message()), "id" => $fileinfo['basename'], "tip" => "editor->resize->webimage({$webimg['width']}, {$webimg['height']}, {$webimg['crop']})"));
|
195 |
-
die($return);
|
196 |
-
}
|
197 |
-
|
198 |
-
$saved = $editor->save($fileinfo['filepath']);
|
199 |
-
if(is_wp_error($saved)){
|
200 |
-
@unlink($fileinfo['filepath_original']);
|
201 |
-
$return = json_encode(array("error" => array("code" => $saved->get_error_code(), "message" => $saved->get_error_message()), "id" => $fileinfo['basename'], "tip" => 'editor->save->webimage'));
|
202 |
-
die($return);
|
203 |
-
}
|
204 |
-
}
|
205 |
-
|
206 |
-
// Thumbnail
|
207 |
-
$editor->set_quality($thumbimg['quality']);
|
208 |
-
|
209 |
-
$resized = $editor->resize($thumbimg['width'], $thumbimg['height'], $thumbimg['crop']);
|
210 |
-
if(is_wp_error($resized)){
|
211 |
-
@unlink($fileinfo['filepath']);
|
212 |
-
@unlink($fileinfo['filepath_original']);
|
213 |
-
$return = json_encode(array("error" => array("code" => $resized->get_error_code(), "message" => $resized->get_error_message()), "id" => $fileinfo['basename'], "tip" => "editor->resize->thumb({$thumbimg['width']}, {$thumbimg['height']}, {$thumbimg['crop']})"));
|
214 |
-
die($return);
|
215 |
-
}
|
216 |
-
|
217 |
-
$saved = $editor->save($fileinfo['filepath_thumb']);
|
218 |
-
if(is_wp_error($saved)){
|
219 |
-
@unlink($fileinfo['filepath']);
|
220 |
-
@unlink($fileinfo['filepath_original']);
|
221 |
-
$return = json_encode(array("error" => array("code" => $saved->get_error_code(), "message" => $saved->get_error_message()), "id" => $fileinfo['basename'], "tip" => 'editor->save->thumb'));
|
222 |
-
die($return);
|
223 |
-
}
|
224 |
-
} else{
|
225 |
-
copy($fileinfo['filepath'], $fileinfo['filepath_thumb']);
|
226 |
-
}
|
227 |
-
$is_webimage = true;
|
228 |
-
} else{
|
229 |
-
@unlink($fileinfo['filepath']);
|
230 |
-
$return = json_encode(array("error" => array("code" => 104, "message" => __("Could not read image size. Invalid image was deleted.", 'gmLang')), "id" => $fileinfo['basename']));
|
231 |
-
die($return);
|
232 |
-
}
|
233 |
-
}
|
234 |
-
|
235 |
-
// Write media data to DB
|
236 |
-
$link = '';
|
237 |
-
$description = '';
|
238 |
-
// TODO Option to set title empty string or from metadata or from filename or both
|
239 |
-
$title = $fileinfo['title'];
|
240 |
-
// use image exif/iptc data for title and caption defaults if possible
|
241 |
-
if($size){
|
242 |
-
$image_meta = @wp_read_image_metadata($fileinfo['filepath_original']);
|
243 |
-
if(trim($image_meta['caption'])){
|
244 |
-
$description = $image_meta['caption'];
|
245 |
-
}
|
246 |
-
if(trim($image_meta['title']) && !is_numeric(sanitize_title($image_meta['title']))){
|
247 |
-
$title = $image_meta['title'];
|
248 |
-
}
|
249 |
-
}
|
250 |
-
|
251 |
-
$post_data = array();
|
252 |
-
if(isset($_REQUEST['params'])){
|
253 |
-
parse_str($_REQUEST['params'], $post_data);
|
254 |
-
|
255 |
-
if(!$is_webimage){
|
256 |
-
unset($post_data['terms']['gmedia_category']);
|
257 |
-
}
|
258 |
-
}
|
259 |
-
|
260 |
-
// Construct the media array
|
261 |
-
$media_data = array('mime_type' => $fileinfo['mime_type'], 'gmuid' => $fileinfo['basename'], 'title' => $title, 'link' => $link, 'description' => $description);
|
262 |
-
$media_data = wp_parse_args($media_data, $post_data);
|
263 |
-
|
264 |
-
global $gmDB;
|
265 |
-
// Save the data
|
266 |
-
$id = $gmDB->insert_gmedia($media_data);
|
267 |
-
$gmDB->update_metadata($meta_type = 'gmedia', $id, $meta_key = '_metadata', $gmDB->generate_gmedia_metadata($id, $fileinfo));
|
268 |
-
|
269 |
-
$return = json_encode(array("success" => array("code" => 200, "message" => sprintf(__('File uploaded successful. Assigned ID: %s', 'gmLang'), $id)), "id" => $fileinfo['basename']));
|
270 |
-
die($return);
|
271 |
-
} else{
|
272 |
-
$return = json_encode(array("success" => array("code" => 199, "message" => $chunk . '/' . $chunks), "id" => $fileinfo['basename']));
|
273 |
-
die($return);
|
274 |
-
}
|
275 |
-
} else{
|
276 |
-
$return = json_encode(array("error" => array("code" => 102, "message" => __("Failed to open output stream.", 'gmLang')), "id" => $fileinfo['basename']));
|
277 |
-
die($return);
|
278 |
-
}
|
279 |
}
|
280 |
|
|
|
|
|
|
|
281 |
die($return);
|
12 |
|
13 |
require_once(dirname(dirname(__FILE__)) . '/config.php');
|
14 |
|
|
|
|
|
|
|
15 |
// HTTP headers for no cache etc
|
16 |
nocache_headers();
|
17 |
|
18 |
+
if(!current_user_can('gmedia_upload')){
|
19 |
+
wp_die(__('You do not have permission to upload files in Gmedia Library.'));
|
20 |
}
|
21 |
|
22 |
check_admin_referer('grandMedia');
|
60 |
$file_tmp = "php://input";
|
61 |
}
|
62 |
|
63 |
+
$post_data = array();
|
64 |
+
if(isset($_REQUEST['params'])){
|
65 |
+
parse_str($_REQUEST['params'], $post_data);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
}
|
67 |
|
68 |
+
$return = $gmCore->gmedia_upload_handler($file_tmp, $fileinfo, $contentType, $post_data);
|
69 |
+
$return = json_encode($return);
|
70 |
+
|
71 |
die($return);
|
admin/wpmedia.php
CHANGED
@@ -19,9 +19,14 @@ function grandWPMedia(){
|
|
19 |
}
|
20 |
$gm_screen_options = array_merge($gmGallery->options['gm_screen_options'], $gm_screen_options);
|
21 |
|
22 |
-
$arg = array(
|
23 |
-
|
24 |
-
|
|
|
|
|
|
|
|
|
|
|
25 |
$wpMediaLib = $gmDB->get_wp_media_lib($arg);
|
26 |
|
27 |
$gm_qty = array('total' => '', 'image' => '', 'audio' => '', 'video' => '', 'text' => '', 'application' => '', 'other' => '');
|
@@ -86,40 +91,40 @@ function grandWPMedia(){
|
|
86 |
<li role="presentation" class="dropdown-header"><?php _e('TYPE', 'gmLang'); ?></li>
|
87 |
<li class="total<?php if(in_array('total', $curr_mime)){
|
88 |
echo ' active';
|
89 |
-
} ?>"><a rel="total" href="<?php echo $gmCore->get_admin_url(array(), array('mime_type', 'pager')); ?>"><?php
|
90 |
-
|
91 |
<li class="image<?php if(in_array('image', $curr_mime)){
|
92 |
echo ' active';
|
93 |
}
|
94 |
if(!$gmDbCount['image']){
|
95 |
echo ' disabled';
|
96 |
} ?>">
|
97 |
-
<a rel="image" href="<?php echo $gmCore->get_admin_url(array('mime_type' => 'image'), array('pager')); ?>"><?php
|
98 |
-
|
99 |
<li class="audio<?php if(in_array('audio', $curr_mime)){
|
100 |
echo ' active';
|
101 |
}
|
102 |
if(!$gmDbCount['audio']){
|
103 |
echo ' disabled';
|
104 |
} ?>">
|
105 |
-
<a rel="audio" href="<?php echo $gmCore->get_admin_url(array('mime_type' => 'audio'), array('pager')); ?>"><?php
|
106 |
-
|
107 |
<li class="video<?php if(in_array('video', $curr_mime)){
|
108 |
echo ' active';
|
109 |
}
|
110 |
if(!$gmDbCount['video']){
|
111 |
echo ' disabled';
|
112 |
} ?>">
|
113 |
-
<a rel="video" href="<?php echo $gmCore->get_admin_url(array('mime_type' => 'video'), array('pager')); ?>"><?php
|
114 |
-
|
115 |
<li class="application<?php if(in_array('application', $curr_mime) || in_array('text', $curr_mime)){
|
116 |
echo ' active';
|
117 |
}
|
118 |
if(!$gmDbCount['application']){
|
119 |
echo ' disabled';
|
120 |
} ?>">
|
121 |
-
<a rel="application" href="<?php echo $gmCore->get_admin_url(array('mime_type' => 'application,text'), array('pager')); ?>"><?php
|
122 |
-
|
123 |
<?php do_action('gmedia_wp_filter_list'); ?>
|
124 |
</ul>
|
125 |
</div>
|
@@ -134,7 +139,12 @@ function grandWPMedia(){
|
|
134 |
$rel_selected_hide = 'rel-selected-hide';
|
135 |
?>
|
136 |
<ul class="dropdown-menu" role="menu">
|
137 |
-
<li class="<?php echo $rel_selected_show;
|
|
|
|
|
|
|
|
|
|
|
138 |
<!-- <li class="divider <?php echo $rel_selected_hide; ?>"></li> -->
|
139 |
<li class="dropdown-header <?php echo $rel_selected_hide; ?>"><span><?php _e("Select items to see more actions", "gmLang"); ?></span></li>
|
140 |
<?php do_action('gmedia_action_list'); ?>
|
@@ -158,68 +168,72 @@ function grandWPMedia(){
|
|
158 |
</div>
|
159 |
<div class="panel-body"></div>
|
160 |
<?php if(!empty($wpMediaLib)){ ?>
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
<
|
184 |
-
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
<tbody>
|
189 |
-
<?php foreach($wpMediaLib as $item){
|
190 |
-
$is_selected = in_array($item->ID, $gmProcessor->selected_items)? true : false;
|
191 |
-
$image = wp_get_attachment_image( $item->ID, array( 50, 50 ), false );
|
192 |
-
if ( ! $image ) {
|
193 |
-
if ( ($src = wp_mime_type_icon( $item->ID )) ) {
|
194 |
-
$src_image = $gmCore->gmedia_url . '/admin/images/' . wp_basename( $src );
|
195 |
-
$image = '<img src="' . $src_image . '" width="50" height="50" alt="icon" title="' . esc_attr($item->post_title) . '"/>';
|
196 |
-
}
|
197 |
-
}
|
198 |
-
$item_url = wp_get_attachment_url( $item->ID );
|
199 |
-
$file_info = pathinfo( $item_url );
|
200 |
-
$type = explode( '/', $item->post_mime_type );
|
201 |
-
?>
|
202 |
-
<tr data-id="<?php echo $item->ID; ?>">
|
203 |
-
<td class="cb">
|
204 |
-
<span class="cb_media-object"><input name="doaction[]" type="checkbox" data-type="<?php echo $type[0]; ?>" value="<?php echo $item->ID; ?>"<?php echo $is_selected? ' checked="checked"' : ''; ?>/></span>
|
205 |
-
</td>
|
206 |
-
<td class="id"><span><?php echo $item->ID; ?></span></td>
|
207 |
-
<td class="file"><span><a href="<?php echo admin_url( 'media.php?action=edit&attachment_id=' . $item->ID ); ?>"><?php echo $image; ?></a></span></td>
|
208 |
-
<td class="type"><span><?php echo $file_info['extension']; ?></span></td>
|
209 |
-
<td class="title"><span><?php echo esc_html($item->post_title); ?></span></td>
|
210 |
-
<td class="descr hidden-xs">
|
211 |
-
<div><?php echo esc_html($item->post_content); ?></div>
|
212 |
-
</td>
|
213 |
</tr>
|
214 |
-
|
215 |
-
|
216 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
217 |
<?php } else{ ?>
|
218 |
-
|
219 |
-
|
220 |
-
|
|
|
221 |
</div>
|
222 |
-
</div>
|
223 |
<?php } ?>
|
224 |
<?php
|
225 |
wp_original_referer_field(true, 'previous');
|
19 |
}
|
20 |
$gm_screen_options = array_merge($gmGallery->options['gm_screen_options'], $gm_screen_options);
|
21 |
|
22 |
+
$arg = array(
|
23 |
+
'mime_type' => $gmCore->_get('mime_type', ''),
|
24 |
+
'orderby' => $gmCore->_get('orderby', $gm_screen_options['orderby_wpmedia']),
|
25 |
+
'order' => $gmCore->_get('order', $gm_screen_options['sortorder_wpmedia']),
|
26 |
+
'limit' => $gm_screen_options['per_page_wpmedia'],
|
27 |
+
'filter' => $gmCore->_get('filter', ''),
|
28 |
+
's' => $gmCore->_get('s', '')
|
29 |
+
);
|
30 |
$wpMediaLib = $gmDB->get_wp_media_lib($arg);
|
31 |
|
32 |
$gm_qty = array('total' => '', 'image' => '', 'audio' => '', 'video' => '', 'text' => '', 'application' => '', 'other' => '');
|
91 |
<li role="presentation" class="dropdown-header"><?php _e('TYPE', 'gmLang'); ?></li>
|
92 |
<li class="total<?php if(in_array('total', $curr_mime)){
|
93 |
echo ' active';
|
94 |
+
} ?>"><a rel="total" href="<?php echo $gmCore->get_admin_url(array(), array('mime_type', 'pager')); ?>"><?php echo $gm_qty['total'];
|
95 |
+
_e('All', 'gmLang'); ?></a></li>
|
96 |
<li class="image<?php if(in_array('image', $curr_mime)){
|
97 |
echo ' active';
|
98 |
}
|
99 |
if(!$gmDbCount['image']){
|
100 |
echo ' disabled';
|
101 |
} ?>">
|
102 |
+
<a rel="image" href="<?php echo $gmCore->get_admin_url(array('mime_type' => 'image'), array('pager')); ?>"><?php echo $gm_qty['image'];
|
103 |
+
_e('Images', 'gmLang'); ?></a></li>
|
104 |
<li class="audio<?php if(in_array('audio', $curr_mime)){
|
105 |
echo ' active';
|
106 |
}
|
107 |
if(!$gmDbCount['audio']){
|
108 |
echo ' disabled';
|
109 |
} ?>">
|
110 |
+
<a rel="audio" href="<?php echo $gmCore->get_admin_url(array('mime_type' => 'audio'), array('pager')); ?>"><?php echo $gm_qty['audio'];
|
111 |
+
_e('Audio', 'gmLang'); ?></a></li>
|
112 |
<li class="video<?php if(in_array('video', $curr_mime)){
|
113 |
echo ' active';
|
114 |
}
|
115 |
if(!$gmDbCount['video']){
|
116 |
echo ' disabled';
|
117 |
} ?>">
|
118 |
+
<a rel="video" href="<?php echo $gmCore->get_admin_url(array('mime_type' => 'video'), array('pager')); ?>"><?php echo $gm_qty['video'];
|
119 |
+
_e('Video', 'gmLang'); ?></a></li>
|
120 |
<li class="application<?php if(in_array('application', $curr_mime) || in_array('text', $curr_mime)){
|
121 |
echo ' active';
|
122 |
}
|
123 |
if(!$gmDbCount['application']){
|
124 |
echo ' disabled';
|
125 |
} ?>">
|
126 |
+
<a rel="application" href="<?php echo $gmCore->get_admin_url(array('mime_type' => 'application,text'), array('pager')); ?>"><?php echo $gm_qty['other'];
|
127 |
+
_e('Other', 'gmLang'); ?></a></li>
|
128 |
<?php do_action('gmedia_wp_filter_list'); ?>
|
129 |
</ul>
|
130 |
</div>
|
139 |
$rel_selected_hide = 'rel-selected-hide';
|
140 |
?>
|
141 |
<ul class="dropdown-menu" role="menu">
|
142 |
+
<li class="<?php echo $rel_selected_show;
|
143 |
+
if(!$gmCore->caps['gmedia_import']){
|
144 |
+
echo ' disabled';
|
145 |
+
} ?>">
|
146 |
+
<a href="#importModal" data-modal="import-wpmedia" data-action="gmedia_import_modal" class="gmedia-modal"><?php _e('Import to Gmedia Library...', 'gmLang'); ?></a>
|
147 |
+
</li>
|
148 |
<!-- <li class="divider <?php echo $rel_selected_hide; ?>"></li> -->
|
149 |
<li class="dropdown-header <?php echo $rel_selected_hide; ?>"><span><?php _e("Select items to see more actions", "gmLang"); ?></span></li>
|
150 |
<?php do_action('gmedia_action_list'); ?>
|
168 |
</div>
|
169 |
<div class="panel-body"></div>
|
170 |
<?php if(!empty($wpMediaLib)){ ?>
|
171 |
+
<table class="table table-striped table-hover table-condenced" cellspacing="0">
|
172 |
+
<col class="cb" style="width:40px;"/>
|
173 |
+
<col class="id" style="width:80px;"/>
|
174 |
+
<col class="file" style="width:100px;"/>
|
175 |
+
<col class="type" style="width:80px;"/>
|
176 |
+
<col class="title"/>
|
177 |
+
<col class="descr hidden-xs"/>
|
178 |
+
<thead>
|
179 |
+
<tr>
|
180 |
+
<th class="cb"><span>#</span></th>
|
181 |
+
<th class="id">
|
182 |
+
<?php $new_order = ('ID' == $arg['orderby'])? (('DESC' == $arg['order'])? 'ASC' : 'DESC') : 'DESC'; ?>
|
183 |
+
<a href="<?php echo $gmCore->get_admin_url(array('orderby' => 'ID', 'order' => $new_order)); ?>"><?php _e('ID', 'gmLang'); ?></a>
|
184 |
+
</th>
|
185 |
+
<th class="file" title="<?php _e('Sort by filename', 'gmLang'); ?>">
|
186 |
+
<?php $new_order = ('filename' == $arg['orderby'])? (('DESC' == $arg['order'])? 'ASC' : 'DESC') : 'DESC'; ?>
|
187 |
+
<a href="<?php echo $gmCore->get_admin_url(array(
|
188 |
+
'orderby' => 'filename',
|
189 |
+
'order' => $new_order
|
190 |
+
)); ?>"><?php _e('File', 'gmLang'); ?></a>
|
191 |
+
</th>
|
192 |
+
<th class="type"><span><?php _e('Type', 'gmLang'); ?></span></th>
|
193 |
+
<th class="title">
|
194 |
+
<?php $new_order = ('title' == $arg['orderby'])? (('DESC' == $arg['order'])? 'ASC' : 'DESC') : 'DESC'; ?>
|
195 |
+
<a href="<?php echo $gmCore->get_admin_url(array('orderby' => 'title', 'order' => $new_order)); ?>"><?php _e('Title', 'gmLang'); ?></a>
|
196 |
+
</th>
|
197 |
+
<th class="descr hidden-xs"><span><?php _e('Description', 'gmLang'); ?></span></th>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
198 |
</tr>
|
199 |
+
</thead>
|
200 |
+
<tbody>
|
201 |
+
<?php foreach($wpMediaLib as $item){
|
202 |
+
$is_selected = in_array($item->ID, $gmProcessor->selected_items)? true : false;
|
203 |
+
$image = wp_get_attachment_image($item->ID, array(50, 50), false);
|
204 |
+
if(!$image){
|
205 |
+
if(($src = wp_mime_type_icon($item->ID))){
|
206 |
+
$src_image = $gmCore->gmedia_url . '/admin/images/' . wp_basename($src);
|
207 |
+
$image = '<img src="' . $src_image . '" width="50" height="50" alt="icon" title="' . esc_attr($item->post_title) . '"/>';
|
208 |
+
}
|
209 |
+
}
|
210 |
+
$item_url = wp_get_attachment_url($item->ID);
|
211 |
+
$file_info = pathinfo($item_url);
|
212 |
+
$type = explode('/', $item->post_mime_type);
|
213 |
+
?>
|
214 |
+
<tr data-id="<?php echo $item->ID; ?>">
|
215 |
+
<td class="cb">
|
216 |
+
<span class="cb_media-object"><input name="doaction[]" type="checkbox" data-type="<?php echo $type[0]; ?>" value="<?php echo $item->ID; ?>"<?php echo $is_selected? ' checked="checked"' : ''; ?>/></span>
|
217 |
+
</td>
|
218 |
+
<td class="id"><span><?php echo $item->ID; ?></span></td>
|
219 |
+
<td class="file">
|
220 |
+
<span><a href="<?php echo admin_url('media.php?action=edit&attachment_id=' . $item->ID); ?>"><?php echo $image; ?></a></span>
|
221 |
+
</td>
|
222 |
+
<td class="type"><span><?php echo $file_info['extension']; ?></span></td>
|
223 |
+
<td class="title"><span><?php echo esc_html($item->post_title); ?></span></td>
|
224 |
+
<td class="descr hidden-xs">
|
225 |
+
<div><?php echo esc_html($item->post_content); ?></div>
|
226 |
+
</td>
|
227 |
+
</tr>
|
228 |
+
<?php } ?>
|
229 |
+
</tbody>
|
230 |
+
</table>
|
231 |
<?php } else{ ?>
|
232 |
+
<div class="panel-body">
|
233 |
+
<div class="well well-lg text-center">
|
234 |
+
<h4><?php _e('No items to show.', 'gmLang'); ?></h4>
|
235 |
+
</div>
|
236 |
</div>
|
|
|
237 |
<?php } ?>
|
238 |
<?php
|
239 |
wp_original_referer_field(true, 'previous');
|
assets/bootstrap/css/bootstrap-theme.css
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap v3.0
|
3 |
-
* Copyright
|
4 |
-
* Licensed under
|
5 |
*/
|
6 |
|
7 |
.btn-default,
|
@@ -10,11 +10,10 @@
|
|
10 |
.btn-info,
|
11 |
.btn-warning,
|
12 |
.btn-danger {
|
13 |
-
text-shadow: 0 -1px 0 rgba(0, 0, 0,
|
14 |
-
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255,
|
15 |
-
box-shadow: inset 0 1px 0 rgba(255, 255, 255,
|
16 |
}
|
17 |
-
|
18 |
.btn-default:active,
|
19 |
.btn-primary:active,
|
20 |
.btn-success:active,
|
@@ -27,371 +26,417 @@
|
|
27 |
.btn-info.active,
|
28 |
.btn-warning.active,
|
29 |
.btn-danger.active {
|
30 |
-
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0,
|
31 |
-
box-shadow: inset 0 3px 5px rgba(0, 0, 0,
|
32 |
}
|
33 |
-
|
34 |
.btn:active,
|
35 |
.btn.active {
|
36 |
background-image: none;
|
37 |
}
|
38 |
-
|
39 |
.btn-default {
|
40 |
text-shadow: 0 1px 0 #fff;
|
41 |
-
background-image: -webkit-linear-gradient(top, #
|
42 |
-
background-image:
|
|
|
|
|
|
|
|
|
43 |
background-repeat: repeat-x;
|
44 |
border-color: #dbdbdb;
|
45 |
border-color: #ccc;
|
46 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
|
47 |
-
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
48 |
}
|
49 |
-
|
50 |
.btn-default:hover,
|
51 |
.btn-default:focus {
|
52 |
background-color: #e0e0e0;
|
53 |
background-position: 0 -15px;
|
54 |
}
|
55 |
-
|
56 |
.btn-default:active,
|
57 |
.btn-default.active {
|
58 |
background-color: #e0e0e0;
|
59 |
border-color: #dbdbdb;
|
60 |
}
|
61 |
-
|
|
|
|
|
|
|
|
|
62 |
.btn-primary {
|
63 |
background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
|
64 |
-
background-image:
|
|
|
|
|
|
|
|
|
65 |
background-repeat: repeat-x;
|
66 |
border-color: #2b669a;
|
67 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);
|
68 |
-
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
69 |
}
|
70 |
-
|
71 |
.btn-primary:hover,
|
72 |
.btn-primary:focus {
|
73 |
background-color: #2d6ca2;
|
74 |
background-position: 0 -15px;
|
75 |
}
|
76 |
-
|
77 |
.btn-primary:active,
|
78 |
.btn-primary.active {
|
79 |
background-color: #2d6ca2;
|
80 |
border-color: #2b669a;
|
81 |
}
|
82 |
-
|
|
|
|
|
|
|
|
|
83 |
.btn-success {
|
84 |
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
|
85 |
-
background-image:
|
|
|
|
|
|
|
|
|
86 |
background-repeat: repeat-x;
|
87 |
border-color: #3e8f3e;
|
88 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
|
89 |
-
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
90 |
}
|
91 |
-
|
92 |
.btn-success:hover,
|
93 |
.btn-success:focus {
|
94 |
background-color: #419641;
|
95 |
background-position: 0 -15px;
|
96 |
}
|
97 |
-
|
98 |
.btn-success:active,
|
99 |
.btn-success.active {
|
100 |
background-color: #419641;
|
101 |
border-color: #3e8f3e;
|
102 |
}
|
103 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
.btn-warning {
|
105 |
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
|
106 |
-
background-image:
|
|
|
|
|
|
|
|
|
107 |
background-repeat: repeat-x;
|
108 |
border-color: #e38d13;
|
109 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
|
110 |
-
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
111 |
}
|
112 |
-
|
113 |
.btn-warning:hover,
|
114 |
.btn-warning:focus {
|
115 |
background-color: #eb9316;
|
116 |
background-position: 0 -15px;
|
117 |
}
|
118 |
-
|
119 |
.btn-warning:active,
|
120 |
.btn-warning.active {
|
121 |
background-color: #eb9316;
|
122 |
border-color: #e38d13;
|
123 |
}
|
124 |
-
|
|
|
|
|
|
|
|
|
125 |
.btn-danger {
|
126 |
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
|
127 |
-
background-image:
|
|
|
|
|
|
|
|
|
128 |
background-repeat: repeat-x;
|
129 |
border-color: #b92c28;
|
130 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
|
131 |
-
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
132 |
}
|
133 |
-
|
134 |
.btn-danger:hover,
|
135 |
.btn-danger:focus {
|
136 |
background-color: #c12e2a;
|
137 |
background-position: 0 -15px;
|
138 |
}
|
139 |
-
|
140 |
.btn-danger:active,
|
141 |
.btn-danger.active {
|
142 |
background-color: #c12e2a;
|
143 |
border-color: #b92c28;
|
144 |
}
|
145 |
-
|
146 |
-
.btn-
|
147 |
-
background-
|
148 |
-
background-image:
|
149 |
-
background-repeat: repeat-x;
|
150 |
-
border-color: #28a4c9;
|
151 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
|
152 |
-
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
153 |
-
}
|
154 |
-
|
155 |
-
.btn-info:hover,
|
156 |
-
.btn-info:focus {
|
157 |
-
background-color: #2aabd2;
|
158 |
-
background-position: 0 -15px;
|
159 |
-
}
|
160 |
-
|
161 |
-
.btn-info:active,
|
162 |
-
.btn-info.active {
|
163 |
-
background-color: #2aabd2;
|
164 |
-
border-color: #28a4c9;
|
165 |
}
|
166 |
-
|
167 |
.thumbnail,
|
168 |
.img-thumbnail {
|
169 |
-
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0,
|
170 |
-
box-shadow: 0 1px 2px rgba(0, 0, 0,
|
171 |
}
|
172 |
-
|
173 |
.dropdown-menu > li > a:hover,
|
174 |
.dropdown-menu > li > a:focus {
|
175 |
background-color: #e8e8e8;
|
176 |
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
177 |
-
background-image:
|
178 |
-
background-
|
|
|
179 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
|
|
180 |
}
|
181 |
-
|
182 |
.dropdown-menu > .active > a,
|
183 |
.dropdown-menu > .active > a:hover,
|
184 |
.dropdown-menu > .active > a:focus {
|
185 |
background-color: #357ebd;
|
186 |
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
|
187 |
-
background-image:
|
188 |
-
background-
|
|
|
189 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
|
|
|
190 |
}
|
191 |
-
|
192 |
.navbar-default {
|
193 |
-
background-image: -webkit-linear-gradient(top, #
|
194 |
-
background-image:
|
|
|
|
|
|
|
|
|
195 |
background-repeat: repeat-x;
|
196 |
border-radius: 4px;
|
197 |
-
|
198 |
-
|
199 |
-
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
|
200 |
-
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);
|
201 |
}
|
202 |
-
|
203 |
.navbar-default .navbar-nav > .active > a {
|
204 |
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
|
205 |
-
background-image:
|
206 |
-
background-
|
|
|
207 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);
|
208 |
-
-
|
209 |
-
|
|
|
210 |
}
|
211 |
-
|
212 |
.navbar-brand,
|
213 |
.navbar-nav > li > a {
|
214 |
-
text-shadow: 0 1px 0 rgba(255, 255, 255,
|
215 |
}
|
216 |
-
|
217 |
.navbar-inverse {
|
218 |
-
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #
|
219 |
-
background-image:
|
220 |
-
background-
|
|
|
221 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
|
222 |
-
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
|
|
|
223 |
}
|
224 |
-
|
225 |
.navbar-inverse .navbar-nav > .active > a {
|
226 |
-
background-image: -webkit-linear-gradient(top, #
|
227 |
-
background-image:
|
228 |
-
background-
|
|
|
229 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);
|
230 |
-
-
|
231 |
-
|
|
|
232 |
}
|
233 |
-
|
234 |
.navbar-inverse .navbar-brand,
|
235 |
.navbar-inverse .navbar-nav > li > a {
|
236 |
-
text-shadow: 0 -1px 0 rgba(0, 0, 0,
|
237 |
}
|
238 |
-
|
239 |
.navbar-static-top,
|
240 |
.navbar-fixed-top,
|
241 |
.navbar-fixed-bottom {
|
242 |
border-radius: 0;
|
243 |
}
|
244 |
-
|
245 |
.alert {
|
246 |
-
text-shadow: 0 1px 0 rgba(255, 255, 255,
|
247 |
-
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255,
|
248 |
-
box-shadow: inset 0 1px 0 rgba(255, 255, 255,
|
249 |
}
|
250 |
-
|
251 |
.alert-success {
|
252 |
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
253 |
-
background-image:
|
|
|
|
|
|
|
254 |
background-repeat: repeat-x;
|
255 |
border-color: #b2dba1;
|
256 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
|
257 |
}
|
258 |
-
|
259 |
.alert-info {
|
260 |
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
261 |
-
background-image:
|
|
|
|
|
|
|
262 |
background-repeat: repeat-x;
|
263 |
border-color: #9acfea;
|
264 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
|
265 |
}
|
266 |
-
|
267 |
.alert-warning {
|
268 |
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
269 |
-
background-image:
|
|
|
|
|
|
|
270 |
background-repeat: repeat-x;
|
271 |
border-color: #f5e79e;
|
272 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
|
273 |
}
|
274 |
-
|
275 |
.alert-danger {
|
276 |
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
277 |
-
background-image:
|
|
|
|
|
|
|
278 |
background-repeat: repeat-x;
|
279 |
border-color: #dca7a7;
|
280 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
|
281 |
}
|
282 |
-
|
283 |
.progress {
|
284 |
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
285 |
-
background-image:
|
286 |
-
background-
|
|
|
287 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
|
|
|
288 |
}
|
289 |
-
|
290 |
.progress-bar {
|
291 |
background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);
|
292 |
-
background-image:
|
293 |
-
background-
|
|
|
294 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
|
|
|
295 |
}
|
296 |
-
|
297 |
.progress-bar-success {
|
298 |
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
299 |
-
background-image:
|
300 |
-
background-
|
|
|
301 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
|
|
|
302 |
}
|
303 |
-
|
304 |
.progress-bar-info {
|
305 |
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
306 |
-
background-image:
|
307 |
-
background-
|
|
|
308 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
|
|
|
309 |
}
|
310 |
-
|
311 |
.progress-bar-warning {
|
312 |
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
313 |
-
background-image:
|
314 |
-
background-
|
|
|
315 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
|
|
|
316 |
}
|
317 |
-
|
318 |
.progress-bar-danger {
|
319 |
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
320 |
-
background-image:
|
321 |
-
background-
|
|
|
322 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
|
|
|
|
|
|
|
|
|
|
|
|
|
323 |
}
|
324 |
-
|
325 |
.list-group {
|
326 |
border-radius: 4px;
|
327 |
-
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0,
|
328 |
-
box-shadow: 0 1px 2px rgba(0, 0, 0,
|
329 |
}
|
330 |
-
|
331 |
.list-group-item.active,
|
332 |
.list-group-item.active:hover,
|
333 |
.list-group-item.active:focus {
|
334 |
text-shadow: 0 -1px 0 #3071a9;
|
335 |
background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);
|
336 |
-
background-image:
|
|
|
|
|
|
|
337 |
background-repeat: repeat-x;
|
338 |
border-color: #3278b3;
|
339 |
-
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
|
340 |
}
|
341 |
-
|
342 |
.panel {
|
343 |
-
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0,
|
344 |
-
box-shadow: 0 1px 2px rgba(0, 0, 0,
|
345 |
}
|
346 |
-
|
347 |
.panel-default > .panel-heading {
|
348 |
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
349 |
-
background-image:
|
350 |
-
background-
|
|
|
351 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
|
|
352 |
}
|
353 |
-
|
354 |
.panel-primary > .panel-heading {
|
355 |
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
|
356 |
-
background-image:
|
357 |
-
background-
|
|
|
358 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
|
|
|
359 |
}
|
360 |
-
|
361 |
.panel-success > .panel-heading {
|
362 |
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
363 |
-
background-image:
|
364 |
-
background-
|
|
|
365 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
|
|
|
366 |
}
|
367 |
-
|
368 |
.panel-info > .panel-heading {
|
369 |
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
370 |
-
background-image:
|
371 |
-
background-
|
|
|
372 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
|
|
|
373 |
}
|
374 |
-
|
375 |
.panel-warning > .panel-heading {
|
376 |
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
377 |
-
background-image:
|
378 |
-
background-
|
|
|
379 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
|
|
|
380 |
}
|
381 |
-
|
382 |
.panel-danger > .panel-heading {
|
383 |
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
384 |
-
background-image:
|
385 |
-
background-
|
|
|
386 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
|
|
|
387 |
}
|
388 |
-
|
389 |
.well {
|
390 |
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
391 |
-
background-image:
|
|
|
|
|
|
|
392 |
background-repeat: repeat-x;
|
393 |
border-color: #dcdcdc;
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
1 |
/*!
|
2 |
+
* Bootstrap v3.2.0 (http://getbootstrap.com)
|
3 |
+
* Copyright 2011-2014 Twitter, Inc.
|
4 |
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
*/
|
6 |
|
7 |
.btn-default,
|
10 |
.btn-info,
|
11 |
.btn-warning,
|
12 |
.btn-danger {
|
13 |
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, .2);
|
14 |
+
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
|
15 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075);
|
16 |
}
|
|
|
17 |
.btn-default:active,
|
18 |
.btn-primary:active,
|
19 |
.btn-success:active,
|
26 |
.btn-info.active,
|
27 |
.btn-warning.active,
|
28 |
.btn-danger.active {
|
29 |
+
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
30 |
+
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
31 |
}
|
|
|
32 |
.btn:active,
|
33 |
.btn.active {
|
34 |
background-image: none;
|
35 |
}
|
|
|
36 |
.btn-default {
|
37 |
text-shadow: 0 1px 0 #fff;
|
38 |
+
background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);
|
39 |
+
background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);
|
40 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0));
|
41 |
+
background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);
|
42 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);
|
43 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
44 |
background-repeat: repeat-x;
|
45 |
border-color: #dbdbdb;
|
46 |
border-color: #ccc;
|
|
|
|
|
47 |
}
|
|
|
48 |
.btn-default:hover,
|
49 |
.btn-default:focus {
|
50 |
background-color: #e0e0e0;
|
51 |
background-position: 0 -15px;
|
52 |
}
|
|
|
53 |
.btn-default:active,
|
54 |
.btn-default.active {
|
55 |
background-color: #e0e0e0;
|
56 |
border-color: #dbdbdb;
|
57 |
}
|
58 |
+
.btn-default:disabled,
|
59 |
+
.btn-default[disabled] {
|
60 |
+
background-color: #e0e0e0;
|
61 |
+
background-image: none;
|
62 |
+
}
|
63 |
.btn-primary {
|
64 |
background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
|
65 |
+
background-image: -o-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
|
66 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#2d6ca2));
|
67 |
+
background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%);
|
68 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);
|
69 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
70 |
background-repeat: repeat-x;
|
71 |
border-color: #2b669a;
|
|
|
|
|
72 |
}
|
|
|
73 |
.btn-primary:hover,
|
74 |
.btn-primary:focus {
|
75 |
background-color: #2d6ca2;
|
76 |
background-position: 0 -15px;
|
77 |
}
|
|
|
78 |
.btn-primary:active,
|
79 |
.btn-primary.active {
|
80 |
background-color: #2d6ca2;
|
81 |
border-color: #2b669a;
|
82 |
}
|
83 |
+
.btn-primary:disabled,
|
84 |
+
.btn-primary[disabled] {
|
85 |
+
background-color: #2d6ca2;
|
86 |
+
background-image: none;
|
87 |
+
}
|
88 |
.btn-success {
|
89 |
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
|
90 |
+
background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);
|
91 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641));
|
92 |
+
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
|
93 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);
|
94 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
95 |
background-repeat: repeat-x;
|
96 |
border-color: #3e8f3e;
|
|
|
|
|
97 |
}
|
|
|
98 |
.btn-success:hover,
|
99 |
.btn-success:focus {
|
100 |
background-color: #419641;
|
101 |
background-position: 0 -15px;
|
102 |
}
|
|
|
103 |
.btn-success:active,
|
104 |
.btn-success.active {
|
105 |
background-color: #419641;
|
106 |
border-color: #3e8f3e;
|
107 |
}
|
108 |
+
.btn-success:disabled,
|
109 |
+
.btn-success[disabled] {
|
110 |
+
background-color: #419641;
|
111 |
+
background-image: none;
|
112 |
+
}
|
113 |
+
.btn-info {
|
114 |
+
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
|
115 |
+
background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
|
116 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2));
|
117 |
+
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
|
118 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);
|
119 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
120 |
+
background-repeat: repeat-x;
|
121 |
+
border-color: #28a4c9;
|
122 |
+
}
|
123 |
+
.btn-info:hover,
|
124 |
+
.btn-info:focus {
|
125 |
+
background-color: #2aabd2;
|
126 |
+
background-position: 0 -15px;
|
127 |
+
}
|
128 |
+
.btn-info:active,
|
129 |
+
.btn-info.active {
|
130 |
+
background-color: #2aabd2;
|
131 |
+
border-color: #28a4c9;
|
132 |
+
}
|
133 |
+
.btn-info:disabled,
|
134 |
+
.btn-info[disabled] {
|
135 |
+
background-color: #2aabd2;
|
136 |
+
background-image: none;
|
137 |
+
}
|
138 |
.btn-warning {
|
139 |
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
|
140 |
+
background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
|
141 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316));
|
142 |
+
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
|
143 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);
|
144 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
145 |
background-repeat: repeat-x;
|
146 |
border-color: #e38d13;
|
|
|
|
|
147 |
}
|
|
|
148 |
.btn-warning:hover,
|
149 |
.btn-warning:focus {
|
150 |
background-color: #eb9316;
|
151 |
background-position: 0 -15px;
|
152 |
}
|
|
|
153 |
.btn-warning:active,
|
154 |
.btn-warning.active {
|
155 |
background-color: #eb9316;
|
156 |
border-color: #e38d13;
|
157 |
}
|
158 |
+
.btn-warning:disabled,
|
159 |
+
.btn-warning[disabled] {
|
160 |
+
background-color: #eb9316;
|
161 |
+
background-image: none;
|
162 |
+
}
|
163 |
.btn-danger {
|
164 |
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
|
165 |
+
background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
|
166 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a));
|
167 |
+
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
|
168 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);
|
169 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
170 |
background-repeat: repeat-x;
|
171 |
border-color: #b92c28;
|
|
|
|
|
172 |
}
|
|
|
173 |
.btn-danger:hover,
|
174 |
.btn-danger:focus {
|
175 |
background-color: #c12e2a;
|
176 |
background-position: 0 -15px;
|
177 |
}
|
|
|
178 |
.btn-danger:active,
|
179 |
.btn-danger.active {
|
180 |
background-color: #c12e2a;
|
181 |
border-color: #b92c28;
|
182 |
}
|
183 |
+
.btn-danger:disabled,
|
184 |
+
.btn-danger[disabled] {
|
185 |
+
background-color: #c12e2a;
|
186 |
+
background-image: none;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
187 |
}
|
|
|
188 |
.thumbnail,
|
189 |
.img-thumbnail {
|
190 |
+
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
191 |
+
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
192 |
}
|
|
|
193 |
.dropdown-menu > li > a:hover,
|
194 |
.dropdown-menu > li > a:focus {
|
195 |
background-color: #e8e8e8;
|
196 |
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
197 |
+
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
198 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
|
199 |
+
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
200 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
201 |
+
background-repeat: repeat-x;
|
202 |
}
|
|
|
203 |
.dropdown-menu > .active > a,
|
204 |
.dropdown-menu > .active > a:hover,
|
205 |
.dropdown-menu > .active > a:focus {
|
206 |
background-color: #357ebd;
|
207 |
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
|
208 |
+
background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%);
|
209 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#357ebd));
|
210 |
+
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
|
211 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
|
212 |
+
background-repeat: repeat-x;
|
213 |
}
|
|
|
214 |
.navbar-default {
|
215 |
+
background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%);
|
216 |
+
background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%);
|
217 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8));
|
218 |
+
background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%);
|
219 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);
|
220 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
221 |
background-repeat: repeat-x;
|
222 |
border-radius: 4px;
|
223 |
+
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
|
224 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075);
|
|
|
|
|
225 |
}
|
|
|
226 |
.navbar-default .navbar-nav > .active > a {
|
227 |
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
|
228 |
+
background-image: -o-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
|
229 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f3f3f3));
|
230 |
+
background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%);
|
231 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);
|
232 |
+
background-repeat: repeat-x;
|
233 |
+
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
|
234 |
+
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075);
|
235 |
}
|
|
|
236 |
.navbar-brand,
|
237 |
.navbar-nav > li > a {
|
238 |
+
text-shadow: 0 1px 0 rgba(255, 255, 255, .25);
|
239 |
}
|
|
|
240 |
.navbar-inverse {
|
241 |
+
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);
|
242 |
+
background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);
|
243 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222));
|
244 |
+
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);
|
245 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
|
246 |
+
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
247 |
+
background-repeat: repeat-x;
|
248 |
}
|
|
|
249 |
.navbar-inverse .navbar-nav > .active > a {
|
250 |
+
background-image: -webkit-linear-gradient(top, #222 0%, #282828 100%);
|
251 |
+
background-image: -o-linear-gradient(top, #222 0%, #282828 100%);
|
252 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#222), to(#282828));
|
253 |
+
background-image: linear-gradient(to bottom, #222 0%, #282828 100%);
|
254 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);
|
255 |
+
background-repeat: repeat-x;
|
256 |
+
-webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
|
257 |
+
box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25);
|
258 |
}
|
|
|
259 |
.navbar-inverse .navbar-brand,
|
260 |
.navbar-inverse .navbar-nav > li > a {
|
261 |
+
text-shadow: 0 -1px 0 rgba(0, 0, 0, .25);
|
262 |
}
|
|
|
263 |
.navbar-static-top,
|
264 |
.navbar-fixed-top,
|
265 |
.navbar-fixed-bottom {
|
266 |
border-radius: 0;
|
267 |
}
|
|
|
268 |
.alert {
|
269 |
+
text-shadow: 0 1px 0 rgba(255, 255, 255, .2);
|
270 |
+
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
|
271 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05);
|
272 |
}
|
|
|
273 |
.alert-success {
|
274 |
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
275 |
+
background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
|
276 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc));
|
277 |
+
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
|
278 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
|
279 |
background-repeat: repeat-x;
|
280 |
border-color: #b2dba1;
|
|
|
281 |
}
|
|
|
282 |
.alert-info {
|
283 |
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
284 |
+
background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
|
285 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0));
|
286 |
+
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
|
287 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
|
288 |
background-repeat: repeat-x;
|
289 |
border-color: #9acfea;
|
|
|
290 |
}
|
|
|
291 |
.alert-warning {
|
292 |
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
293 |
+
background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
|
294 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0));
|
295 |
+
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
|
296 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
|
297 |
background-repeat: repeat-x;
|
298 |
border-color: #f5e79e;
|
|
|
299 |
}
|
|
|
300 |
.alert-danger {
|
301 |
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
302 |
+
background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
|
303 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3));
|
304 |
+
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
|
305 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
|
306 |
background-repeat: repeat-x;
|
307 |
border-color: #dca7a7;
|
|
|
308 |
}
|
|
|
309 |
.progress {
|
310 |
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
311 |
+
background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
|
312 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5));
|
313 |
+
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
|
314 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
|
315 |
+
background-repeat: repeat-x;
|
316 |
}
|
|
|
317 |
.progress-bar {
|
318 |
background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);
|
319 |
+
background-image: -o-linear-gradient(top, #428bca 0%, #3071a9 100%);
|
320 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#3071a9));
|
321 |
+
background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
|
322 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
|
323 |
+
background-repeat: repeat-x;
|
324 |
}
|
|
|
325 |
.progress-bar-success {
|
326 |
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
327 |
+
background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);
|
328 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44));
|
329 |
+
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
|
330 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
|
331 |
+
background-repeat: repeat-x;
|
332 |
}
|
|
|
333 |
.progress-bar-info {
|
334 |
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
335 |
+
background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
|
336 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5));
|
337 |
+
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
|
338 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
|
339 |
+
background-repeat: repeat-x;
|
340 |
}
|
|
|
341 |
.progress-bar-warning {
|
342 |
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
343 |
+
background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
|
344 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f));
|
345 |
+
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
|
346 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
|
347 |
+
background-repeat: repeat-x;
|
348 |
}
|
|
|
349 |
.progress-bar-danger {
|
350 |
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
351 |
+
background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);
|
352 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c));
|
353 |
+
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
|
354 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
|
355 |
+
background-repeat: repeat-x;
|
356 |
+
}
|
357 |
+
.progress-bar-striped {
|
358 |
+
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
359 |
+
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
360 |
+
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
361 |
}
|
|
|
362 |
.list-group {
|
363 |
border-radius: 4px;
|
364 |
+
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
365 |
+
box-shadow: 0 1px 2px rgba(0, 0, 0, .075);
|
366 |
}
|
|
|
367 |
.list-group-item.active,
|
368 |
.list-group-item.active:hover,
|
369 |
.list-group-item.active:focus {
|
370 |
text-shadow: 0 -1px 0 #3071a9;
|
371 |
background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);
|
372 |
+
background-image: -o-linear-gradient(top, #428bca 0%, #3278b3 100%);
|
373 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#3278b3));
|
374 |
+
background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
|
375 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);
|
376 |
background-repeat: repeat-x;
|
377 |
border-color: #3278b3;
|
|
|
378 |
}
|
|
|
379 |
.panel {
|
380 |
+
-webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
|
381 |
+
box-shadow: 0 1px 2px rgba(0, 0, 0, .05);
|
382 |
}
|
|
|
383 |
.panel-default > .panel-heading {
|
384 |
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
385 |
+
background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
|
386 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
|
387 |
+
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
|
388 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
|
389 |
+
background-repeat: repeat-x;
|
390 |
}
|
|
|
391 |
.panel-primary > .panel-heading {
|
392 |
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
|
393 |
+
background-image: -o-linear-gradient(top, #428bca 0%, #357ebd 100%);
|
394 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#428bca), to(#357ebd));
|
395 |
+
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
|
396 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
|
397 |
+
background-repeat: repeat-x;
|
398 |
}
|
|
|
399 |
.panel-success > .panel-heading {
|
400 |
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
401 |
+
background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
|
402 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6));
|
403 |
+
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
|
404 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
|
405 |
+
background-repeat: repeat-x;
|
406 |
}
|
|
|
407 |
.panel-info > .panel-heading {
|
408 |
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
409 |
+
background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
|
410 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3));
|
411 |
+
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
|
412 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
|
413 |
+
background-repeat: repeat-x;
|
414 |
}
|
|
|
415 |
.panel-warning > .panel-heading {
|
416 |
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
417 |
+
background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
|
418 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc));
|
419 |
+
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
|
420 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
|
421 |
+
background-repeat: repeat-x;
|
422 |
}
|
|
|
423 |
.panel-danger > .panel-heading {
|
424 |
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
425 |
+
background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
|
426 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc));
|
427 |
+
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
|
428 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
|
429 |
+
background-repeat: repeat-x;
|
430 |
}
|
|
|
431 |
.well {
|
432 |
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
433 |
+
background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
|
434 |
+
background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5));
|
435 |
+
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
|
436 |
+
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);
|
437 |
background-repeat: repeat-x;
|
438 |
border-color: #dcdcdc;
|
439 |
+
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
|
440 |
+
box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1);
|
441 |
+
}
|
442 |
+
/*# sourceMappingURL=bootstrap-theme.css.map */
|
assets/bootstrap/css/bootstrap-theme.min.css
CHANGED
@@ -1,7 +1,5 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap v3.
|
3 |
* Copyright 2011-2014 Twitter, Inc.
|
4 |
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
-
*/
|
6 |
-
|
7 |
-
.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn:active,.btn.active{background-image:none}.btn-default{background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;text-shadow:0 1px 0 #fff;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-primary{background-image:-webkit-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:linear-gradient(to bottom,#428bca 0,#2d6ca2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#2b669a}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-color:#e8e8e8}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-color:#357ebd}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:linear-gradient(to bottom,#222 0,#282828 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0)}.progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0)}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0)}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0)}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0)}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);border-color:#3278b3}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0)}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0)}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0)}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0)}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0)}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0)}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}
|
1 |
/*!
|
2 |
+
* Bootstrap v3.2.0 (http://getbootstrap.com)
|
3 |
* Copyright 2011-2014 Twitter, Inc.
|
4 |
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
+
*/.btn-default,.btn-primary,.btn-success,.btn-info,.btn-warning,.btn-danger{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-default:active,.btn-primary:active,.btn-success:active,.btn-info:active,.btn-warning:active,.btn-danger:active,.btn-default.active,.btn-primary.active,.btn-success.active,.btn-info.active,.btn-warning.active,.btn-danger.active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn:active,.btn.active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:hover,.btn-default:focus{background-color:#e0e0e0;background-position:0 -15px}.btn-default:active,.btn-default.active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default:disabled,.btn-default[disabled]{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:-o-linear-gradient(top,#428bca 0,#2d6ca2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#2d6ca2));background-image:linear-gradient(to bottom,#428bca 0,#2d6ca2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff2d6ca2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#2b669a}.btn-primary:hover,.btn-primary:focus{background-color:#2d6ca2;background-position:0 -15px}.btn-primary:active,.btn-primary.active{background-color:#2d6ca2;border-color:#2b669a}.btn-primary:disabled,.btn-primary[disabled]{background-color:#2d6ca2;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:hover,.btn-success:focus{background-color:#419641;background-position:0 -15px}.btn-success:active,.btn-success.active{background-color:#419641;border-color:#3e8f3e}.btn-success:disabled,.btn-success[disabled]{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:hover,.btn-info:focus{background-color:#2aabd2;background-position:0 -15px}.btn-info:active,.btn-info.active{background-color:#2aabd2;border-color:#28a4c9}.btn-info:disabled,.btn-info[disabled]{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:hover,.btn-warning:focus{background-color:#eb9316;background-position:0 -15px}.btn-warning:active,.btn-warning.active{background-color:#eb9316;border-color:#e38d13}.btn-warning:disabled,.btn-warning[disabled]{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:hover,.btn-danger:focus{background-color:#c12e2a;background-position:0 -15px}.btn-danger:active,.btn-danger.active{background-color:#c12e2a;border-color:#b92c28}.btn-danger:disabled,.btn-danger[disabled]{background-color:#c12e2a;background-image:none}.thumbnail,.img-thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{background-color:#357ebd;background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-o-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#357ebd));background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f3f3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f3f3f3));background-image:linear-gradient(to bottom,#ebebeb 0,#f3f3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x}.navbar-inverse .navbar-nav>.active>a{background-image:-webkit-linear-gradient(top,#222 0,#282828 100%);background-image:-o-linear-gradient(top,#222 0,#282828 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#222),to(#282828));background-image:linear-gradient(to bottom,#222 0,#282828 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-static-top,.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:-o-linear-gradient(top,#428bca 0,#3071a9 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#3071a9));background-image:linear-gradient(to bottom,#428bca 0,#3071a9 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{text-shadow:0 -1px 0 #3071a9;background-image:-webkit-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:-o-linear-gradient(top,#428bca 0,#3278b3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#3278b3));background-image:linear-gradient(to bottom,#428bca 0,#3278b3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3278b3', GradientType=0);background-repeat:repeat-x;border-color:#3278b3}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-o-linear-gradient(top,#428bca 0,#357ebd 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#428bca),to(#357ebd));background-image:linear-gradient(to bottom,#428bca 0,#357ebd 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)}
|
|
|
|
assets/bootstrap/css/bootstrap.css
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap v3.
|
3 |
* Copyright 2011-2014 Twitter, Inc.
|
4 |
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
*/
|
6 |
|
7 |
-
/*! normalize.css v3.0.
|
8 |
html {
|
9 |
font-family: sans-serif;
|
10 |
-webkit-text-size-adjust: 100%;
|
@@ -94,8 +94,9 @@ figure {
|
|
94 |
}
|
95 |
hr {
|
96 |
height: 0;
|
97 |
-
-
|
98 |
-
|
|
|
99 |
}
|
100 |
pre {
|
101 |
overflow: auto;
|
@@ -144,7 +145,9 @@ input {
|
|
144 |
}
|
145 |
input[type="checkbox"],
|
146 |
input[type="radio"] {
|
147 |
-
box-sizing: border-box;
|
|
|
|
|
148 |
padding: 0;
|
149 |
}
|
150 |
input[type="number"]::-webkit-inner-spin-button,
|
@@ -189,7 +192,8 @@ th {
|
|
189 |
color: #000 !important;
|
190 |
text-shadow: none !important;
|
191 |
background: transparent !important;
|
192 |
-
box-shadow: none !important;
|
|
|
193 |
}
|
194 |
a,
|
195 |
a:visited {
|
@@ -256,2731 +260,2854 @@ th {
|
|
256 |
border: 1px solid #ddd !important;
|
257 |
}
|
258 |
}
|
259 |
-
|
260 |
-
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
*:before,
|
265 |
-
*:after {
|
266 |
-
-webkit-box-sizing: border-box;
|
267 |
-
-moz-box-sizing: border-box;
|
268 |
-
box-sizing: border-box;
|
269 |
}
|
270 |
-
|
271 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
272 |
|
273 |
-
-webkit-
|
|
|
274 |
}
|
275 |
-
|
276 |
-
|
277 |
-
font-size: 14px;
|
278 |
-
line-height: 1.428571429;
|
279 |
-
color: #333;
|
280 |
-
background-color: #fff;
|
281 |
}
|
282 |
-
|
283 |
-
|
284 |
-
select,
|
285 |
-
textarea {
|
286 |
-
font-family: inherit;
|
287 |
-
font-size: inherit;
|
288 |
-
line-height: inherit;
|
289 |
}
|
290 |
-
|
291 |
-
|
292 |
-
text-decoration: none;
|
293 |
}
|
294 |
-
|
295 |
-
|
296 |
-
color: #2a6496;
|
297 |
-
text-decoration: underline;
|
298 |
}
|
299 |
-
|
300 |
-
|
301 |
-
outline: 5px auto -webkit-focus-ring-color;
|
302 |
-
outline-offset: -2px;
|
303 |
}
|
304 |
-
|
305 |
-
|
306 |
}
|
307 |
-
|
308 |
-
|
309 |
}
|
310 |
-
.
|
311 |
-
|
312 |
-
max-width: 100%;
|
313 |
-
height: auto;
|
314 |
}
|
315 |
-
.
|
316 |
-
|
317 |
}
|
318 |
-
.
|
319 |
-
|
320 |
-
max-width: 100%;
|
321 |
-
height: auto;
|
322 |
-
padding: 4px;
|
323 |
-
line-height: 1.428571429;
|
324 |
-
background-color: #fff;
|
325 |
-
border: 1px solid #ddd;
|
326 |
-
border-radius: 4px;
|
327 |
-
-webkit-transition: all .2s ease-in-out;
|
328 |
-
transition: all .2s ease-in-out;
|
329 |
}
|
330 |
-
.
|
331 |
-
|
332 |
}
|
333 |
-
|
334 |
-
|
335 |
-
margin-bottom: 20px;
|
336 |
-
border: 0;
|
337 |
-
border-top: 1px solid #eee;
|
338 |
}
|
339 |
-
.
|
340 |
-
|
341 |
-
width: 1px;
|
342 |
-
height: 1px;
|
343 |
-
padding: 0;
|
344 |
-
margin: -1px;
|
345 |
-
overflow: hidden;
|
346 |
-
clip: rect(0, 0, 0, 0);
|
347 |
-
border: 0;
|
348 |
}
|
349 |
-
|
350 |
-
|
351 |
-
h3,
|
352 |
-
h4,
|
353 |
-
h5,
|
354 |
-
h6,
|
355 |
-
.h1,
|
356 |
-
.h2,
|
357 |
-
.h3,
|
358 |
-
.h4,
|
359 |
-
.h5,
|
360 |
-
.h6 {
|
361 |
-
font-family: inherit;
|
362 |
-
font-weight: 500;
|
363 |
-
line-height: 1.1;
|
364 |
-
color: inherit;
|
365 |
}
|
366 |
-
|
367 |
-
|
368 |
-
h3 small,
|
369 |
-
h4 small,
|
370 |
-
h5 small,
|
371 |
-
h6 small,
|
372 |
-
.h1 small,
|
373 |
-
.h2 small,
|
374 |
-
.h3 small,
|
375 |
-
.h4 small,
|
376 |
-
.h5 small,
|
377 |
-
.h6 small,
|
378 |
-
h1 .small,
|
379 |
-
h2 .small,
|
380 |
-
h3 .small,
|
381 |
-
h4 .small,
|
382 |
-
h5 .small,
|
383 |
-
h6 .small,
|
384 |
-
.h1 .small,
|
385 |
-
.h2 .small,
|
386 |
-
.h3 .small,
|
387 |
-
.h4 .small,
|
388 |
-
.h5 .small,
|
389 |
-
.h6 .small {
|
390 |
-
font-weight: normal;
|
391 |
-
line-height: 1;
|
392 |
-
color: #999;
|
393 |
}
|
394 |
-
|
395 |
-
|
396 |
-
h2,
|
397 |
-
.h2,
|
398 |
-
h3,
|
399 |
-
.h3 {
|
400 |
-
margin-top: 20px;
|
401 |
-
margin-bottom: 10px;
|
402 |
}
|
403 |
-
|
404 |
-
|
405 |
-
h2 small,
|
406 |
-
.h2 small,
|
407 |
-
h3 small,
|
408 |
-
.h3 small,
|
409 |
-
h1 .small,
|
410 |
-
.h1 .small,
|
411 |
-
h2 .small,
|
412 |
-
.h2 .small,
|
413 |
-
h3 .small,
|
414 |
-
.h3 .small {
|
415 |
-
font-size: 65%;
|
416 |
}
|
417 |
-
|
418 |
-
|
419 |
-
h5,
|
420 |
-
.h5,
|
421 |
-
h6,
|
422 |
-
.h6 {
|
423 |
-
margin-top: 10px;
|
424 |
-
margin-bottom: 10px;
|
425 |
}
|
426 |
-
|
427 |
-
|
428 |
-
h5 small,
|
429 |
-
.h5 small,
|
430 |
-
h6 small,
|
431 |
-
.h6 small,
|
432 |
-
h4 .small,
|
433 |
-
.h4 .small,
|
434 |
-
h5 .small,
|
435 |
-
.h5 .small,
|
436 |
-
h6 .small,
|
437 |
-
.h6 .small {
|
438 |
-
font-size: 75%;
|
439 |
}
|
440 |
-
|
441 |
-
|
442 |
-
font-size: 36px;
|
443 |
}
|
444 |
-
|
445 |
-
|
446 |
-
font-size: 30px;
|
447 |
}
|
448 |
-
|
449 |
-
|
450 |
-
font-size: 24px;
|
451 |
}
|
452 |
-
|
453 |
-
|
454 |
-
font-size: 18px;
|
455 |
}
|
456 |
-
|
457 |
-
|
458 |
-
font-size: 14px;
|
459 |
}
|
460 |
-
|
461 |
-
|
462 |
-
font-size: 12px;
|
463 |
}
|
464 |
-
|
465 |
-
|
466 |
}
|
467 |
-
.
|
468 |
-
|
469 |
-
font-size: 16px;
|
470 |
-
font-weight: 200;
|
471 |
-
line-height: 1.4;
|
472 |
}
|
473 |
-
|
474 |
-
|
475 |
-
font-size: 21px;
|
476 |
-
}
|
477 |
}
|
478 |
-
|
479 |
-
|
480 |
-
font-size: 85%;
|
481 |
}
|
482 |
-
|
483 |
-
|
484 |
}
|
485 |
-
.
|
486 |
-
|
487 |
}
|
488 |
-
.
|
489 |
-
|
490 |
}
|
491 |
-
.
|
492 |
-
|
493 |
}
|
494 |
-
.
|
495 |
-
|
496 |
}
|
497 |
-
.
|
498 |
-
|
499 |
}
|
500 |
-
.
|
501 |
-
|
502 |
}
|
503 |
-
|
504 |
-
|
505 |
}
|
506 |
-
.
|
507 |
-
|
508 |
}
|
509 |
-
|
510 |
-
|
511 |
}
|
512 |
-
.
|
513 |
-
|
514 |
}
|
515 |
-
|
516 |
-
|
517 |
}
|
518 |
-
.
|
519 |
-
|
520 |
}
|
521 |
-
|
522 |
-
|
523 |
}
|
524 |
-
.
|
525 |
-
|
526 |
}
|
527 |
-
|
528 |
-
|
529 |
}
|
530 |
-
.
|
531 |
-
|
532 |
-
background-color: #428bca;
|
533 |
}
|
534 |
-
|
535 |
-
|
536 |
}
|
537 |
-
.
|
538 |
-
|
539 |
}
|
540 |
-
|
541 |
-
|
542 |
}
|
543 |
-
.
|
544 |
-
|
545 |
}
|
546 |
-
|
547 |
-
|
548 |
}
|
549 |
-
.
|
550 |
-
|
551 |
}
|
552 |
-
|
553 |
-
|
554 |
}
|
555 |
-
.
|
556 |
-
|
557 |
}
|
558 |
-
|
559 |
-
|
560 |
}
|
561 |
-
.
|
562 |
-
|
563 |
-
margin: 40px 0 20px;
|
564 |
-
border-bottom: 1px solid #eee;
|
565 |
}
|
566 |
-
|
567 |
-
|
568 |
-
margin-top: 0;
|
569 |
-
margin-bottom: 10px;
|
570 |
}
|
571 |
-
|
572 |
-
|
573 |
-
ul ol,
|
574 |
-
ol ol {
|
575 |
-
margin-bottom: 0;
|
576 |
}
|
577 |
-
.
|
578 |
-
|
579 |
-
list-style: none;
|
580 |
}
|
581 |
-
.
|
582 |
-
|
583 |
-
list-style: none;
|
584 |
}
|
585 |
-
.
|
586 |
-
|
587 |
-
padding-right: 5px;
|
588 |
-
padding-left: 5px;
|
589 |
}
|
590 |
-
.list
|
591 |
-
|
592 |
}
|
593 |
-
|
594 |
-
|
595 |
-
margin-bottom: 20px;
|
596 |
}
|
597 |
-
|
598 |
-
|
599 |
-
line-height: 1.428571429;
|
600 |
}
|
601 |
-
|
602 |
-
|
603 |
}
|
604 |
-
|
605 |
-
|
606 |
}
|
607 |
-
|
608 |
-
|
609 |
-
float: left;
|
610 |
-
width: 160px;
|
611 |
-
overflow: hidden;
|
612 |
-
clear: left;
|
613 |
-
text-align: right;
|
614 |
-
text-overflow: ellipsis;
|
615 |
-
white-space: nowrap;
|
616 |
-
}
|
617 |
-
.dl-horizontal dd {
|
618 |
-
margin-left: 180px;
|
619 |
-
}
|
620 |
}
|
621 |
-
|
622 |
-
|
623 |
-
cursor: help;
|
624 |
-
border-bottom: 1px dotted #999;
|
625 |
}
|
626 |
-
.
|
627 |
-
|
628 |
-
text-transform: uppercase;
|
629 |
}
|
630 |
-
|
631 |
-
|
632 |
-
margin: 0 0 20px;
|
633 |
-
font-size: 17.5px;
|
634 |
-
border-left: 5px solid #eee;
|
635 |
}
|
636 |
-
|
637 |
-
|
638 |
-
blockquote ol:last-child {
|
639 |
-
margin-bottom: 0;
|
640 |
}
|
641 |
-
|
642 |
-
|
643 |
-
blockquote .small {
|
644 |
-
display: block;
|
645 |
-
font-size: 80%;
|
646 |
-
line-height: 1.428571429;
|
647 |
-
color: #999;
|
648 |
}
|
649 |
-
|
650 |
-
|
651 |
-
blockquote .small:before {
|
652 |
-
content: '\2014 \00A0';
|
653 |
}
|
654 |
-
.
|
655 |
-
|
656 |
-
padding-right: 15px;
|
657 |
-
padding-left: 0;
|
658 |
-
text-align: right;
|
659 |
-
border-right: 5px solid #eee;
|
660 |
-
border-left: 0;
|
661 |
}
|
662 |
-
.
|
663 |
-
|
664 |
-
.blockquote-reverse small:before,
|
665 |
-
blockquote.pull-right small:before,
|
666 |
-
.blockquote-reverse .small:before,
|
667 |
-
blockquote.pull-right .small:before {
|
668 |
-
content: '';
|
669 |
}
|
670 |
-
.
|
671 |
-
|
672 |
-
.blockquote-reverse small:after,
|
673 |
-
blockquote.pull-right small:after,
|
674 |
-
.blockquote-reverse .small:after,
|
675 |
-
blockquote.pull-right .small:after {
|
676 |
-
content: '\00A0 \2014';
|
677 |
}
|
678 |
-
|
679 |
-
|
680 |
-
content: "";
|
681 |
}
|
682 |
-
|
683 |
-
|
684 |
-
font-style: normal;
|
685 |
-
line-height: 1.428571429;
|
686 |
}
|
687 |
-
|
688 |
-
|
689 |
-
pre,
|
690 |
-
samp {
|
691 |
-
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
692 |
-
}
|
693 |
-
code {
|
694 |
-
padding: 2px 4px;
|
695 |
-
font-size: 90%;
|
696 |
-
color: #c7254e;
|
697 |
-
white-space: nowrap;
|
698 |
-
background-color: #f9f2f4;
|
699 |
-
border-radius: 4px;
|
700 |
}
|
701 |
-
|
702 |
-
|
703 |
-
font-size: 90%;
|
704 |
-
color: #fff;
|
705 |
-
background-color: #333;
|
706 |
-
border-radius: 3px;
|
707 |
-
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
|
708 |
}
|
709 |
-
|
710 |
-
|
711 |
-
padding: 9.5px;
|
712 |
-
margin: 0 0 10px;
|
713 |
-
font-size: 13px;
|
714 |
-
line-height: 1.428571429;
|
715 |
-
color: #333;
|
716 |
-
word-break: break-all;
|
717 |
-
word-wrap: break-word;
|
718 |
-
background-color: #f5f5f5;
|
719 |
-
border: 1px solid #ccc;
|
720 |
-
border-radius: 4px;
|
721 |
}
|
722 |
-
|
723 |
-
|
724 |
-
font-size: inherit;
|
725 |
-
color: inherit;
|
726 |
-
white-space: pre-wrap;
|
727 |
-
background-color: transparent;
|
728 |
-
border-radius: 0;
|
729 |
}
|
730 |
-
.
|
731 |
-
|
732 |
-
overflow-y: scroll;
|
733 |
}
|
734 |
-
.
|
735 |
-
|
736 |
-
padding-left: 15px;
|
737 |
-
margin-right: auto;
|
738 |
-
margin-left: auto;
|
739 |
}
|
740 |
-
|
741 |
-
|
742 |
-
width: 750px;
|
743 |
-
}
|
744 |
}
|
745 |
-
|
746 |
-
|
747 |
-
width: 970px;
|
748 |
-
}
|
749 |
}
|
750 |
-
|
751 |
-
|
752 |
-
width: 1170px;
|
753 |
-
}
|
754 |
}
|
755 |
-
.
|
756 |
-
|
757 |
-
padding-left: 15px;
|
758 |
-
margin-right: auto;
|
759 |
-
margin-left: auto;
|
760 |
}
|
761 |
-
.
|
762 |
-
|
763 |
-
margin-left: -15px;
|
764 |
}
|
765 |
-
.
|
766 |
-
|
767 |
-
min-height: 1px;
|
768 |
-
padding-right: 15px;
|
769 |
-
padding-left: 15px;
|
770 |
}
|
771 |
-
.
|
772 |
-
|
773 |
}
|
774 |
-
.
|
775 |
-
|
776 |
}
|
777 |
-
.
|
778 |
-
|
779 |
}
|
780 |
-
.
|
781 |
-
|
782 |
}
|
783 |
-
.
|
784 |
-
|
785 |
}
|
786 |
-
.
|
787 |
-
|
788 |
}
|
789 |
-
.
|
790 |
-
|
791 |
}
|
792 |
-
.
|
793 |
-
|
794 |
}
|
795 |
-
.
|
796 |
-
|
797 |
}
|
798 |
-
.
|
799 |
-
|
800 |
}
|
801 |
-
.
|
802 |
-
|
803 |
}
|
804 |
-
.
|
805 |
-
|
806 |
}
|
807 |
-
.
|
808 |
-
|
809 |
}
|
810 |
-
.
|
811 |
-
|
812 |
}
|
813 |
-
.
|
814 |
-
|
815 |
}
|
816 |
-
.
|
817 |
-
|
818 |
}
|
819 |
-
.
|
820 |
-
|
821 |
}
|
822 |
-
.
|
823 |
-
|
824 |
}
|
825 |
-
.
|
826 |
-
|
827 |
}
|
828 |
-
.
|
829 |
-
|
830 |
}
|
831 |
-
.
|
832 |
-
|
833 |
}
|
834 |
-
.
|
835 |
-
|
836 |
}
|
837 |
-
.
|
838 |
-
|
839 |
}
|
840 |
-
.
|
841 |
-
|
842 |
}
|
843 |
-
.
|
844 |
-
|
845 |
}
|
846 |
-
.
|
847 |
-
|
848 |
}
|
849 |
-
.
|
850 |
-
|
851 |
}
|
852 |
-
.
|
853 |
-
|
854 |
}
|
855 |
-
.
|
856 |
-
|
857 |
}
|
858 |
-
.
|
859 |
-
|
860 |
}
|
861 |
-
.
|
862 |
-
|
863 |
}
|
864 |
-
.
|
865 |
-
|
866 |
}
|
867 |
-
.
|
868 |
-
|
869 |
}
|
870 |
-
.
|
871 |
-
|
872 |
}
|
873 |
-
.
|
874 |
-
|
875 |
}
|
876 |
-
.
|
877 |
-
|
878 |
}
|
879 |
-
.
|
880 |
-
|
881 |
}
|
882 |
-
.
|
883 |
-
|
884 |
}
|
885 |
-
.
|
886 |
-
|
887 |
}
|
888 |
-
.
|
889 |
-
|
890 |
}
|
891 |
-
.
|
892 |
-
|
893 |
}
|
894 |
-
.
|
895 |
-
|
896 |
}
|
897 |
-
.
|
898 |
-
|
899 |
}
|
900 |
-
.
|
901 |
-
|
902 |
}
|
903 |
-
.
|
904 |
-
|
905 |
}
|
906 |
-
.
|
907 |
-
|
908 |
}
|
909 |
-
.
|
910 |
-
|
911 |
}
|
912 |
-
.
|
913 |
-
|
914 |
}
|
915 |
-
.
|
916 |
-
|
917 |
}
|
918 |
-
.
|
919 |
-
|
920 |
}
|
921 |
-
.
|
922 |
-
|
923 |
}
|
924 |
-
.
|
925 |
-
|
926 |
}
|
927 |
-
|
928 |
-
|
929 |
-
float: left;
|
930 |
-
}
|
931 |
-
.col-sm-12 {
|
932 |
-
width: 100%;
|
933 |
-
}
|
934 |
-
.col-sm-11 {
|
935 |
-
width: 91.66666666666666%;
|
936 |
-
}
|
937 |
-
.col-sm-10 {
|
938 |
-
width: 83.33333333333334%;
|
939 |
-
}
|
940 |
-
.col-sm-9 {
|
941 |
-
width: 75%;
|
942 |
-
}
|
943 |
-
.col-sm-8 {
|
944 |
-
width: 66.66666666666666%;
|
945 |
-
}
|
946 |
-
.col-sm-7 {
|
947 |
-
width: 58.333333333333336%;
|
948 |
-
}
|
949 |
-
.col-sm-6 {
|
950 |
-
width: 50%;
|
951 |
-
}
|
952 |
-
.col-sm-5 {
|
953 |
-
width: 41.66666666666667%;
|
954 |
-
}
|
955 |
-
.col-sm-4 {
|
956 |
-
width: 33.33333333333333%;
|
957 |
-
}
|
958 |
-
.col-sm-3 {
|
959 |
-
width: 25%;
|
960 |
-
}
|
961 |
-
.col-sm-2 {
|
962 |
-
width: 16.666666666666664%;
|
963 |
-
}
|
964 |
-
.col-sm-1 {
|
965 |
-
width: 8.333333333333332%;
|
966 |
-
}
|
967 |
-
.col-sm-pull-12 {
|
968 |
-
right: 100%;
|
969 |
-
}
|
970 |
-
.col-sm-pull-11 {
|
971 |
-
right: 91.66666666666666%;
|
972 |
-
}
|
973 |
-
.col-sm-pull-10 {
|
974 |
-
right: 83.33333333333334%;
|
975 |
-
}
|
976 |
-
.col-sm-pull-9 {
|
977 |
-
right: 75%;
|
978 |
-
}
|
979 |
-
.col-sm-pull-8 {
|
980 |
-
right: 66.66666666666666%;
|
981 |
-
}
|
982 |
-
.col-sm-pull-7 {
|
983 |
-
right: 58.333333333333336%;
|
984 |
-
}
|
985 |
-
.col-sm-pull-6 {
|
986 |
-
right: 50%;
|
987 |
-
}
|
988 |
-
.col-sm-pull-5 {
|
989 |
-
right: 41.66666666666667%;
|
990 |
-
}
|
991 |
-
.col-sm-pull-4 {
|
992 |
-
right: 33.33333333333333%;
|
993 |
-
}
|
994 |
-
.col-sm-pull-3 {
|
995 |
-
right: 25%;
|
996 |
-
}
|
997 |
-
.col-sm-pull-2 {
|
998 |
-
right: 16.666666666666664%;
|
999 |
-
}
|
1000 |
-
.col-sm-pull-1 {
|
1001 |
-
right: 8.333333333333332%;
|
1002 |
-
}
|
1003 |
-
.col-sm-pull-0 {
|
1004 |
-
right: 0;
|
1005 |
-
}
|
1006 |
-
.col-sm-push-12 {
|
1007 |
-
left: 100%;
|
1008 |
-
}
|
1009 |
-
.col-sm-push-11 {
|
1010 |
-
left: 91.66666666666666%;
|
1011 |
-
}
|
1012 |
-
.col-sm-push-10 {
|
1013 |
-
left: 83.33333333333334%;
|
1014 |
-
}
|
1015 |
-
.col-sm-push-9 {
|
1016 |
-
left: 75%;
|
1017 |
-
}
|
1018 |
-
.col-sm-push-8 {
|
1019 |
-
left: 66.66666666666666%;
|
1020 |
-
}
|
1021 |
-
.col-sm-push-7 {
|
1022 |
-
left: 58.333333333333336%;
|
1023 |
-
}
|
1024 |
-
.col-sm-push-6 {
|
1025 |
-
left: 50%;
|
1026 |
-
}
|
1027 |
-
.col-sm-push-5 {
|
1028 |
-
left: 41.66666666666667%;
|
1029 |
-
}
|
1030 |
-
.col-sm-push-4 {
|
1031 |
-
left: 33.33333333333333%;
|
1032 |
-
}
|
1033 |
-
.col-sm-push-3 {
|
1034 |
-
left: 25%;
|
1035 |
-
}
|
1036 |
-
.col-sm-push-2 {
|
1037 |
-
left: 16.666666666666664%;
|
1038 |
-
}
|
1039 |
-
.col-sm-push-1 {
|
1040 |
-
left: 8.333333333333332%;
|
1041 |
-
}
|
1042 |
-
.col-sm-push-0 {
|
1043 |
-
left: 0;
|
1044 |
-
}
|
1045 |
-
.col-sm-offset-12 {
|
1046 |
-
margin-left: 100%;
|
1047 |
-
}
|
1048 |
-
.col-sm-offset-11 {
|
1049 |
-
margin-left: 91.66666666666666%;
|
1050 |
-
}
|
1051 |
-
.col-sm-offset-10 {
|
1052 |
-
margin-left: 83.33333333333334%;
|
1053 |
-
}
|
1054 |
-
.col-sm-offset-9 {
|
1055 |
-
margin-left: 75%;
|
1056 |
-
}
|
1057 |
-
.col-sm-offset-8 {
|
1058 |
-
margin-left: 66.66666666666666%;
|
1059 |
-
}
|
1060 |
-
.col-sm-offset-7 {
|
1061 |
-
margin-left: 58.333333333333336%;
|
1062 |
-
}
|
1063 |
-
.col-sm-offset-6 {
|
1064 |
-
margin-left: 50%;
|
1065 |
-
}
|
1066 |
-
.col-sm-offset-5 {
|
1067 |
-
margin-left: 41.66666666666667%;
|
1068 |
-
}
|
1069 |
-
.col-sm-offset-4 {
|
1070 |
-
margin-left: 33.33333333333333%;
|
1071 |
-
}
|
1072 |
-
.col-sm-offset-3 {
|
1073 |
-
margin-left: 25%;
|
1074 |
-
}
|
1075 |
-
.col-sm-offset-2 {
|
1076 |
-
margin-left: 16.666666666666664%;
|
1077 |
-
}
|
1078 |
-
.col-sm-offset-1 {
|
1079 |
-
margin-left: 8.333333333333332%;
|
1080 |
-
}
|
1081 |
-
.col-sm-offset-0 {
|
1082 |
-
margin-left: 0;
|
1083 |
-
}
|
1084 |
}
|
1085 |
-
|
1086 |
-
|
1087 |
-
float: left;
|
1088 |
-
}
|
1089 |
-
.col-md-12 {
|
1090 |
-
width: 100%;
|
1091 |
-
}
|
1092 |
-
.col-md-11 {
|
1093 |
-
width: 91.66666666666666%;
|
1094 |
-
}
|
1095 |
-
.col-md-10 {
|
1096 |
-
width: 83.33333333333334%;
|
1097 |
-
}
|
1098 |
-
.col-md-9 {
|
1099 |
-
width: 75%;
|
1100 |
-
}
|
1101 |
-
.col-md-8 {
|
1102 |
-
width: 66.66666666666666%;
|
1103 |
-
}
|
1104 |
-
.col-md-7 {
|
1105 |
-
width: 58.333333333333336%;
|
1106 |
-
}
|
1107 |
-
.col-md-6 {
|
1108 |
-
width: 50%;
|
1109 |
-
}
|
1110 |
-
.col-md-5 {
|
1111 |
-
width: 41.66666666666667%;
|
1112 |
-
}
|
1113 |
-
.col-md-4 {
|
1114 |
-
width: 33.33333333333333%;
|
1115 |
-
}
|
1116 |
-
.col-md-3 {
|
1117 |
-
width: 25%;
|
1118 |
-
}
|
1119 |
-
.col-md-2 {
|
1120 |
-
width: 16.666666666666664%;
|
1121 |
-
}
|
1122 |
-
.col-md-1 {
|
1123 |
-
width: 8.333333333333332%;
|
1124 |
-
}
|
1125 |
-
.col-md-pull-12 {
|
1126 |
-
right: 100%;
|
1127 |
-
}
|
1128 |
-
.col-md-pull-11 {
|
1129 |
-
right: 91.66666666666666%;
|
1130 |
-
}
|
1131 |
-
.col-md-pull-10 {
|
1132 |
-
right: 83.33333333333334%;
|
1133 |
-
}
|
1134 |
-
.col-md-pull-9 {
|
1135 |
-
right: 75%;
|
1136 |
-
}
|
1137 |
-
.col-md-pull-8 {
|
1138 |
-
right: 66.66666666666666%;
|
1139 |
-
}
|
1140 |
-
.col-md-pull-7 {
|
1141 |
-
right: 58.333333333333336%;
|
1142 |
-
}
|
1143 |
-
.col-md-pull-6 {
|
1144 |
-
right: 50%;
|
1145 |
-
}
|
1146 |
-
.col-md-pull-5 {
|
1147 |
-
right: 41.66666666666667%;
|
1148 |
-
}
|
1149 |
-
.col-md-pull-4 {
|
1150 |
-
right: 33.33333333333333%;
|
1151 |
-
}
|
1152 |
-
.col-md-pull-3 {
|
1153 |
-
right: 25%;
|
1154 |
-
}
|
1155 |
-
.col-md-pull-2 {
|
1156 |
-
right: 16.666666666666664%;
|
1157 |
-
}
|
1158 |
-
.col-md-pull-1 {
|
1159 |
-
right: 8.333333333333332%;
|
1160 |
-
}
|
1161 |
-
.col-md-pull-0 {
|
1162 |
-
right: 0;
|
1163 |
-
}
|
1164 |
-
.col-md-push-12 {
|
1165 |
-
left: 100%;
|
1166 |
-
}
|
1167 |
-
.col-md-push-11 {
|
1168 |
-
left: 91.66666666666666%;
|
1169 |
-
}
|
1170 |
-
.col-md-push-10 {
|
1171 |
-
left: 83.33333333333334%;
|
1172 |
-
}
|
1173 |
-
.col-md-push-9 {
|
1174 |
-
left: 75%;
|
1175 |
-
}
|
1176 |
-
.col-md-push-8 {
|
1177 |
-
left: 66.66666666666666%;
|
1178 |
-
}
|
1179 |
-
.col-md-push-7 {
|
1180 |
-
left: 58.333333333333336%;
|
1181 |
-
}
|
1182 |
-
.col-md-push-6 {
|
1183 |
-
left: 50%;
|
1184 |
-
}
|
1185 |
-
.col-md-push-5 {
|
1186 |
-
left: 41.66666666666667%;
|
1187 |
-
}
|
1188 |
-
.col-md-push-4 {
|
1189 |
-
left: 33.33333333333333%;
|
1190 |
-
}
|
1191 |
-
.col-md-push-3 {
|
1192 |
-
left: 25%;
|
1193 |
-
}
|
1194 |
-
.col-md-push-2 {
|
1195 |
-
left: 16.666666666666664%;
|
1196 |
-
}
|
1197 |
-
.col-md-push-1 {
|
1198 |
-
left: 8.333333333333332%;
|
1199 |
-
}
|
1200 |
-
.col-md-push-0 {
|
1201 |
-
left: 0;
|
1202 |
-
}
|
1203 |
-
.col-md-offset-12 {
|
1204 |
-
margin-left: 100%;
|
1205 |
-
}
|
1206 |
-
.col-md-offset-11 {
|
1207 |
-
margin-left: 91.66666666666666%;
|
1208 |
-
}
|
1209 |
-
.col-md-offset-10 {
|
1210 |
-
margin-left: 83.33333333333334%;
|
1211 |
-
}
|
1212 |
-
.col-md-offset-9 {
|
1213 |
-
margin-left: 75%;
|
1214 |
-
}
|
1215 |
-
.col-md-offset-8 {
|
1216 |
-
margin-left: 66.66666666666666%;
|
1217 |
-
}
|
1218 |
-
.col-md-offset-7 {
|
1219 |
-
margin-left: 58.333333333333336%;
|
1220 |
-
}
|
1221 |
-
.col-md-offset-6 {
|
1222 |
-
margin-left: 50%;
|
1223 |
-
}
|
1224 |
-
.col-md-offset-5 {
|
1225 |
-
margin-left: 41.66666666666667%;
|
1226 |
-
}
|
1227 |
-
.col-md-offset-4 {
|
1228 |
-
margin-left: 33.33333333333333%;
|
1229 |
-
}
|
1230 |
-
.col-md-offset-3 {
|
1231 |
-
margin-left: 25%;
|
1232 |
-
}
|
1233 |
-
.col-md-offset-2 {
|
1234 |
-
margin-left: 16.666666666666664%;
|
1235 |
-
}
|
1236 |
-
.col-md-offset-1 {
|
1237 |
-
margin-left: 8.333333333333332%;
|
1238 |
-
}
|
1239 |
-
.col-md-offset-0 {
|
1240 |
-
margin-left: 0;
|
1241 |
-
}
|
1242 |
}
|
1243 |
-
|
1244 |
-
|
1245 |
-
float: left;
|
1246 |
-
}
|
1247 |
-
.col-lg-12 {
|
1248 |
-
width: 100%;
|
1249 |
-
}
|
1250 |
-
.col-lg-11 {
|
1251 |
-
width: 91.66666666666666%;
|
1252 |
-
}
|
1253 |
-
.col-lg-10 {
|
1254 |
-
width: 83.33333333333334%;
|
1255 |
-
}
|
1256 |
-
.col-lg-9 {
|
1257 |
-
width: 75%;
|
1258 |
-
}
|
1259 |
-
.col-lg-8 {
|
1260 |
-
width: 66.66666666666666%;
|
1261 |
-
}
|
1262 |
-
.col-lg-7 {
|
1263 |
-
width: 58.333333333333336%;
|
1264 |
-
}
|
1265 |
-
.col-lg-6 {
|
1266 |
-
width: 50%;
|
1267 |
-
}
|
1268 |
-
.col-lg-5 {
|
1269 |
-
width: 41.66666666666667%;
|
1270 |
-
}
|
1271 |
-
.col-lg-4 {
|
1272 |
-
width: 33.33333333333333%;
|
1273 |
-
}
|
1274 |
-
.col-lg-3 {
|
1275 |
-
width: 25%;
|
1276 |
-
}
|
1277 |
-
.col-lg-2 {
|
1278 |
-
width: 16.666666666666664%;
|
1279 |
-
}
|
1280 |
-
.col-lg-1 {
|
1281 |
-
width: 8.333333333333332%;
|
1282 |
-
}
|
1283 |
-
.col-lg-pull-12 {
|
1284 |
-
right: 100%;
|
1285 |
-
}
|
1286 |
-
.col-lg-pull-11 {
|
1287 |
-
right: 91.66666666666666%;
|
1288 |
-
}
|
1289 |
-
.col-lg-pull-10 {
|
1290 |
-
right: 83.33333333333334%;
|
1291 |
-
}
|
1292 |
-
.col-lg-pull-9 {
|
1293 |
-
right: 75%;
|
1294 |
-
}
|
1295 |
-
.col-lg-pull-8 {
|
1296 |
-
right: 66.66666666666666%;
|
1297 |
-
}
|
1298 |
-
.col-lg-pull-7 {
|
1299 |
-
right: 58.333333333333336%;
|
1300 |
-
}
|
1301 |
-
.col-lg-pull-6 {
|
1302 |
-
right: 50%;
|
1303 |
-
}
|
1304 |
-
.col-lg-pull-5 {
|
1305 |
-
right: 41.66666666666667%;
|
1306 |
-
}
|
1307 |
-
.col-lg-pull-4 {
|
1308 |
-
right: 33.33333333333333%;
|
1309 |
-
}
|
1310 |
-
.col-lg-pull-3 {
|
1311 |
-
right: 25%;
|
1312 |
-
}
|
1313 |
-
.col-lg-pull-2 {
|
1314 |
-
right: 16.666666666666664%;
|
1315 |
-
}
|
1316 |
-
.col-lg-pull-1 {
|
1317 |
-
right: 8.333333333333332%;
|
1318 |
-
}
|
1319 |
-
.col-lg-pull-0 {
|
1320 |
-
right: 0;
|
1321 |
-
}
|
1322 |
-
.col-lg-push-12 {
|
1323 |
-
left: 100%;
|
1324 |
-
}
|
1325 |
-
.col-lg-push-11 {
|
1326 |
-
left: 91.66666666666666%;
|
1327 |
-
}
|
1328 |
-
.col-lg-push-10 {
|
1329 |
-
left: 83.33333333333334%;
|
1330 |
-
}
|
1331 |
-
.col-lg-push-9 {
|
1332 |
-
left: 75%;
|
1333 |
-
}
|
1334 |
-
.col-lg-push-8 {
|
1335 |
-
left: 66.66666666666666%;
|
1336 |
-
}
|
1337 |
-
.col-lg-push-7 {
|
1338 |
-
left: 58.333333333333336%;
|
1339 |
-
}
|
1340 |
-
.col-lg-push-6 {
|
1341 |
-
left: 50%;
|
1342 |
-
}
|
1343 |
-
.col-lg-push-5 {
|
1344 |
-
left: 41.66666666666667%;
|
1345 |
-
}
|
1346 |
-
.col-lg-push-4 {
|
1347 |
-
left: 33.33333333333333%;
|
1348 |
-
}
|
1349 |
-
.col-lg-push-3 {
|
1350 |
-
left: 25%;
|
1351 |
-
}
|
1352 |
-
.col-lg-push-2 {
|
1353 |
-
left: 16.666666666666664%;
|
1354 |
-
}
|
1355 |
-
.col-lg-push-1 {
|
1356 |
-
left: 8.333333333333332%;
|
1357 |
-
}
|
1358 |
-
.col-lg-push-0 {
|
1359 |
-
left: 0;
|
1360 |
-
}
|
1361 |
-
.col-lg-offset-12 {
|
1362 |
-
margin-left: 100%;
|
1363 |
-
}
|
1364 |
-
.col-lg-offset-11 {
|
1365 |
-
margin-left: 91.66666666666666%;
|
1366 |
-
}
|
1367 |
-
.col-lg-offset-10 {
|
1368 |
-
margin-left: 83.33333333333334%;
|
1369 |
-
}
|
1370 |
-
.col-lg-offset-9 {
|
1371 |
-
margin-left: 75%;
|
1372 |
-
}
|
1373 |
-
.col-lg-offset-8 {
|
1374 |
-
margin-left: 66.66666666666666%;
|
1375 |
-
}
|
1376 |
-
.col-lg-offset-7 {
|
1377 |
-
margin-left: 58.333333333333336%;
|
1378 |
-
}
|
1379 |
-
.col-lg-offset-6 {
|
1380 |
-
margin-left: 50%;
|
1381 |
-
}
|
1382 |
-
.col-lg-offset-5 {
|
1383 |
-
margin-left: 41.66666666666667%;
|
1384 |
-
}
|
1385 |
-
.col-lg-offset-4 {
|
1386 |
-
margin-left: 33.33333333333333%;
|
1387 |
-
}
|
1388 |
-
.col-lg-offset-3 {
|
1389 |
-
margin-left: 25%;
|
1390 |
-
}
|
1391 |
-
.col-lg-offset-2 {
|
1392 |
-
margin-left: 16.666666666666664%;
|
1393 |
-
}
|
1394 |
-
.col-lg-offset-1 {
|
1395 |
-
margin-left: 8.333333333333332%;
|
1396 |
-
}
|
1397 |
-
.col-lg-offset-0 {
|
1398 |
-
margin-left: 0;
|
1399 |
-
}
|
1400 |
}
|
1401 |
-
|
1402 |
-
|
1403 |
-
background-color: transparent;
|
1404 |
}
|
1405 |
-
|
1406 |
-
|
1407 |
}
|
1408 |
-
.
|
1409 |
-
|
1410 |
-
margin-bottom: 20px;
|
1411 |
}
|
1412 |
-
.
|
1413 |
-
|
1414 |
-
.table > tfoot > tr > th,
|
1415 |
-
.table > thead > tr > td,
|
1416 |
-
.table > tbody > tr > td,
|
1417 |
-
.table > tfoot > tr > td {
|
1418 |
-
padding: 8px;
|
1419 |
-
line-height: 1.428571429;
|
1420 |
-
vertical-align: top;
|
1421 |
-
border-top: 1px solid #ddd;
|
1422 |
}
|
1423 |
-
.
|
1424 |
-
|
1425 |
-
border-bottom: 2px solid #ddd;
|
1426 |
}
|
1427 |
-
.
|
1428 |
-
|
1429 |
-
.table > thead:first-child > tr:first-child > th,
|
1430 |
-
.table > caption + thead > tr:first-child > td,
|
1431 |
-
.table > colgroup + thead > tr:first-child > td,
|
1432 |
-
.table > thead:first-child > tr:first-child > td {
|
1433 |
-
border-top: 0;
|
1434 |
}
|
1435 |
-
.
|
1436 |
-
|
1437 |
}
|
1438 |
-
.
|
1439 |
-
|
1440 |
}
|
1441 |
-
.
|
1442 |
-
|
1443 |
-
.table-condensed > tfoot > tr > th,
|
1444 |
-
.table-condensed > thead > tr > td,
|
1445 |
-
.table-condensed > tbody > tr > td,
|
1446 |
-
.table-condensed > tfoot > tr > td {
|
1447 |
-
padding: 5px;
|
1448 |
}
|
1449 |
-
.
|
1450 |
-
|
1451 |
}
|
1452 |
-
.
|
1453 |
-
|
1454 |
-
.table-bordered > tfoot > tr > th,
|
1455 |
-
.table-bordered > thead > tr > td,
|
1456 |
-
.table-bordered > tbody > tr > td,
|
1457 |
-
.table-bordered > tfoot > tr > td {
|
1458 |
-
border: 1px solid #ddd;
|
1459 |
}
|
1460 |
-
.
|
1461 |
-
|
1462 |
-
border-bottom-width: 2px;
|
1463 |
}
|
1464 |
-
.
|
1465 |
-
|
1466 |
-
background-color: #f9f9f9;
|
1467 |
}
|
1468 |
-
.
|
1469 |
-
|
1470 |
-
background-color: #f5f5f5;
|
1471 |
}
|
1472 |
-
|
1473 |
-
|
1474 |
-
display: table-column;
|
1475 |
-
float: none;
|
1476 |
}
|
1477 |
-
|
1478 |
-
|
1479 |
-
position: static;
|
1480 |
-
display: table-cell;
|
1481 |
-
float: none;
|
1482 |
}
|
1483 |
-
.
|
1484 |
-
|
1485 |
-
.table > tfoot > tr > td.active,
|
1486 |
-
.table > thead > tr > th.active,
|
1487 |
-
.table > tbody > tr > th.active,
|
1488 |
-
.table > tfoot > tr > th.active,
|
1489 |
-
.table > thead > tr.active > td,
|
1490 |
-
.table > tbody > tr.active > td,
|
1491 |
-
.table > tfoot > tr.active > td,
|
1492 |
-
.table > thead > tr.active > th,
|
1493 |
-
.table > tbody > tr.active > th,
|
1494 |
-
.table > tfoot > tr.active > th {
|
1495 |
-
background-color: #f5f5f5;
|
1496 |
}
|
1497 |
-
.
|
1498 |
-
|
1499 |
-
.table-hover > tbody > tr.active:hover > td,
|
1500 |
-
.table-hover > tbody > tr.active:hover > th {
|
1501 |
-
background-color: #e8e8e8;
|
1502 |
}
|
1503 |
-
.
|
1504 |
-
|
1505 |
-
.table > tfoot > tr > td.success,
|
1506 |
-
.table > thead > tr > th.success,
|
1507 |
-
.table > tbody > tr > th.success,
|
1508 |
-
.table > tfoot > tr > th.success,
|
1509 |
-
.table > thead > tr.success > td,
|
1510 |
-
.table > tbody > tr.success > td,
|
1511 |
-
.table > tfoot > tr.success > td,
|
1512 |
-
.table > thead > tr.success > th,
|
1513 |
-
.table > tbody > tr.success > th,
|
1514 |
-
.table > tfoot > tr.success > th {
|
1515 |
-
background-color: #dff0d8;
|
1516 |
}
|
1517 |
-
.
|
1518 |
-
|
1519 |
-
.table-hover > tbody > tr.success:hover > td,
|
1520 |
-
.table-hover > tbody > tr.success:hover > th {
|
1521 |
-
background-color: #d0e9c6;
|
1522 |
}
|
1523 |
-
.
|
1524 |
-
|
1525 |
-
.table > tfoot > tr > td.info,
|
1526 |
-
.table > thead > tr > th.info,
|
1527 |
-
.table > tbody > tr > th.info,
|
1528 |
-
.table > tfoot > tr > th.info,
|
1529 |
-
.table > thead > tr.info > td,
|
1530 |
-
.table > tbody > tr.info > td,
|
1531 |
-
.table > tfoot > tr.info > td,
|
1532 |
-
.table > thead > tr.info > th,
|
1533 |
-
.table > tbody > tr.info > th,
|
1534 |
-
.table > tfoot > tr.info > th {
|
1535 |
-
background-color: #d9edf7;
|
1536 |
}
|
1537 |
-
.
|
1538 |
-
|
1539 |
-
.table-hover > tbody > tr.info:hover > td,
|
1540 |
-
.table-hover > tbody > tr.info:hover > th {
|
1541 |
-
background-color: #c4e3f3;
|
1542 |
}
|
1543 |
-
.
|
1544 |
-
|
1545 |
-
.table > tfoot > tr > td.warning,
|
1546 |
-
.table > thead > tr > th.warning,
|
1547 |
-
.table > tbody > tr > th.warning,
|
1548 |
-
.table > tfoot > tr > th.warning,
|
1549 |
-
.table > thead > tr.warning > td,
|
1550 |
-
.table > tbody > tr.warning > td,
|
1551 |
-
.table > tfoot > tr.warning > td,
|
1552 |
-
.table > thead > tr.warning > th,
|
1553 |
-
.table > tbody > tr.warning > th,
|
1554 |
-
.table > tfoot > tr.warning > th {
|
1555 |
-
background-color: #fcf8e3;
|
1556 |
}
|
1557 |
-
.
|
1558 |
-
|
1559 |
-
.table-hover > tbody > tr.warning:hover > td,
|
1560 |
-
.table-hover > tbody > tr.warning:hover > th {
|
1561 |
-
background-color: #faf2cc;
|
1562 |
}
|
1563 |
-
.
|
1564 |
-
|
1565 |
-
.table > tfoot > tr > td.danger,
|
1566 |
-
.table > thead > tr > th.danger,
|
1567 |
-
.table > tbody > tr > th.danger,
|
1568 |
-
.table > tfoot > tr > th.danger,
|
1569 |
-
.table > thead > tr.danger > td,
|
1570 |
-
.table > tbody > tr.danger > td,
|
1571 |
-
.table > tfoot > tr.danger > td,
|
1572 |
-
.table > thead > tr.danger > th,
|
1573 |
-
.table > tbody > tr.danger > th,
|
1574 |
-
.table > tfoot > tr.danger > th {
|
1575 |
-
background-color: #f2dede;
|
1576 |
}
|
1577 |
-
.
|
1578 |
-
|
1579 |
-
.table-hover > tbody > tr.danger:hover > td,
|
1580 |
-
.table-hover > tbody > tr.danger:hover > th {
|
1581 |
-
background-color: #ebcccc;
|
1582 |
}
|
1583 |
-
|
1584 |
-
|
1585 |
-
width: 100%;
|
1586 |
-
margin-bottom: 15px;
|
1587 |
-
overflow-x: scroll;
|
1588 |
-
overflow-y: hidden;
|
1589 |
-
-webkit-overflow-scrolling: touch;
|
1590 |
-
-ms-overflow-style: -ms-autohiding-scrollbar;
|
1591 |
-
border: 1px solid #ddd;
|
1592 |
-
}
|
1593 |
-
.table-responsive > .table {
|
1594 |
-
margin-bottom: 0;
|
1595 |
-
}
|
1596 |
-
.table-responsive > .table > thead > tr > th,
|
1597 |
-
.table-responsive > .table > tbody > tr > th,
|
1598 |
-
.table-responsive > .table > tfoot > tr > th,
|
1599 |
-
.table-responsive > .table > thead > tr > td,
|
1600 |
-
.table-responsive > .table > tbody > tr > td,
|
1601 |
-
.table-responsive > .table > tfoot > tr > td {
|
1602 |
-
white-space: nowrap;
|
1603 |
-
}
|
1604 |
-
.table-responsive > .table-bordered {
|
1605 |
-
border: 0;
|
1606 |
-
}
|
1607 |
-
.table-responsive > .table-bordered > thead > tr > th:first-child,
|
1608 |
-
.table-responsive > .table-bordered > tbody > tr > th:first-child,
|
1609 |
-
.table-responsive > .table-bordered > tfoot > tr > th:first-child,
|
1610 |
-
.table-responsive > .table-bordered > thead > tr > td:first-child,
|
1611 |
-
.table-responsive > .table-bordered > tbody > tr > td:first-child,
|
1612 |
-
.table-responsive > .table-bordered > tfoot > tr > td:first-child {
|
1613 |
-
border-left: 0;
|
1614 |
-
}
|
1615 |
-
.table-responsive > .table-bordered > thead > tr > th:last-child,
|
1616 |
-
.table-responsive > .table-bordered > tbody > tr > th:last-child,
|
1617 |
-
.table-responsive > .table-bordered > tfoot > tr > th:last-child,
|
1618 |
-
.table-responsive > .table-bordered > thead > tr > td:last-child,
|
1619 |
-
.table-responsive > .table-bordered > tbody > tr > td:last-child,
|
1620 |
-
.table-responsive > .table-bordered > tfoot > tr > td:last-child {
|
1621 |
-
border-right: 0;
|
1622 |
-
}
|
1623 |
-
.table-responsive > .table-bordered > tbody > tr:last-child > th,
|
1624 |
-
.table-responsive > .table-bordered > tfoot > tr:last-child > th,
|
1625 |
-
.table-responsive > .table-bordered > tbody > tr:last-child > td,
|
1626 |
-
.table-responsive > .table-bordered > tfoot > tr:last-child > td {
|
1627 |
-
border-bottom: 0;
|
1628 |
-
}
|
1629 |
}
|
1630 |
-
|
1631 |
-
|
1632 |
-
padding: 0;
|
1633 |
-
margin: 0;
|
1634 |
-
border: 0;
|
1635 |
}
|
1636 |
-
|
1637 |
-
|
1638 |
-
width: 100%;
|
1639 |
-
padding: 0;
|
1640 |
-
margin-bottom: 20px;
|
1641 |
-
font-size: 21px;
|
1642 |
-
line-height: inherit;
|
1643 |
-
color: #333;
|
1644 |
-
border: 0;
|
1645 |
-
border-bottom: 1px solid #e5e5e5;
|
1646 |
}
|
1647 |
-
|
1648 |
-
|
1649 |
-
margin-bottom: 5px;
|
1650 |
-
font-weight: bold;
|
1651 |
}
|
1652 |
-
|
1653 |
-
|
1654 |
-
-moz-box-sizing: border-box;
|
1655 |
-
box-sizing: border-box;
|
1656 |
}
|
1657 |
-
|
1658 |
-
|
1659 |
-
margin: 4px 0 0;
|
1660 |
-
margin-top: 1px \9;
|
1661 |
-
/* IE8-9 */
|
1662 |
-
line-height: normal;
|
1663 |
}
|
1664 |
-
|
1665 |
-
|
1666 |
}
|
1667 |
-
|
1668 |
-
|
1669 |
-
width: 100%;
|
1670 |
}
|
1671 |
-
|
1672 |
-
|
1673 |
-
height: auto;
|
1674 |
}
|
1675 |
-
|
1676 |
-
|
1677 |
-
input[type="checkbox"]:focus {
|
1678 |
-
outline: thin dotted;
|
1679 |
-
outline: 5px auto -webkit-focus-ring-color;
|
1680 |
-
outline-offset: -2px;
|
1681 |
}
|
1682 |
-
|
1683 |
-
|
1684 |
-
padding-top: 7px;
|
1685 |
-
font-size: 14px;
|
1686 |
-
line-height: 1.428571429;
|
1687 |
-
color: #555;
|
1688 |
}
|
1689 |
-
.
|
1690 |
-
|
1691 |
-
width: 100%;
|
1692 |
-
height: 34px;
|
1693 |
-
padding: 6px 12px;
|
1694 |
-
font-size: 14px;
|
1695 |
-
line-height: 1.428571429;
|
1696 |
-
color: #555;
|
1697 |
-
background-color: #fff;
|
1698 |
-
background-image: none;
|
1699 |
-
border: 1px solid #ccc;
|
1700 |
-
border-radius: 4px;
|
1701 |
-
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
1702 |
-
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
1703 |
-
-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
1704 |
-
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
1705 |
}
|
1706 |
-
.
|
1707 |
-
|
1708 |
-
outline: 0;
|
1709 |
-
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
|
1710 |
-
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
|
1711 |
}
|
1712 |
-
.
|
1713 |
-
|
1714 |
}
|
1715 |
-
.
|
1716 |
-
|
1717 |
-
opacity: 1;
|
1718 |
}
|
1719 |
-
.
|
1720 |
-
|
1721 |
}
|
1722 |
-
.
|
1723 |
-
|
1724 |
}
|
1725 |
-
.
|
1726 |
-
|
1727 |
-
fieldset[disabled] .form-control {
|
1728 |
-
cursor: not-allowed;
|
1729 |
-
background-color: #eee;
|
1730 |
-
opacity: 1;
|
1731 |
}
|
1732 |
-
|
1733 |
-
|
1734 |
}
|
1735 |
-
|
1736 |
-
|
1737 |
}
|
1738 |
-
.
|
1739 |
-
|
1740 |
-
}
|
1741 |
-
.radio,
|
1742 |
-
.checkbox {
|
1743 |
-
display: block;
|
1744 |
-
min-height: 20px;
|
1745 |
-
padding-left: 20px;
|
1746 |
-
margin-top: 10px;
|
1747 |
-
margin-bottom: 10px;
|
1748 |
-
}
|
1749 |
-
.radio label,
|
1750 |
-
.checkbox label {
|
1751 |
-
display: inline;
|
1752 |
-
font-weight: normal;
|
1753 |
-
cursor: pointer;
|
1754 |
-
}
|
1755 |
-
.radio input[type="radio"],
|
1756 |
-
.radio-inline input[type="radio"],
|
1757 |
-
.checkbox input[type="checkbox"],
|
1758 |
-
.checkbox-inline input[type="checkbox"] {
|
1759 |
-
float: left;
|
1760 |
-
margin-left: -20px;
|
1761 |
-
}
|
1762 |
-
.radio + .radio,
|
1763 |
-
.checkbox + .checkbox {
|
1764 |
-
margin-top: -5px;
|
1765 |
-
}
|
1766 |
-
.radio-inline,
|
1767 |
-
.checkbox-inline {
|
1768 |
-
display: inline-block;
|
1769 |
-
padding-left: 20px;
|
1770 |
-
margin-bottom: 0;
|
1771 |
-
font-weight: normal;
|
1772 |
-
vertical-align: middle;
|
1773 |
-
cursor: pointer;
|
1774 |
-
}
|
1775 |
-
.radio-inline + .radio-inline,
|
1776 |
-
.checkbox-inline + .checkbox-inline {
|
1777 |
-
margin-top: 0;
|
1778 |
-
margin-left: 10px;
|
1779 |
}
|
1780 |
-
|
1781 |
-
|
1782 |
-
.radio[disabled],
|
1783 |
-
.radio-inline[disabled],
|
1784 |
-
.checkbox[disabled],
|
1785 |
-
.checkbox-inline[disabled],
|
1786 |
-
fieldset[disabled] input[type="radio"],
|
1787 |
-
fieldset[disabled] input[type="checkbox"],
|
1788 |
-
fieldset[disabled] .radio,
|
1789 |
-
fieldset[disabled] .radio-inline,
|
1790 |
-
fieldset[disabled] .checkbox,
|
1791 |
-
fieldset[disabled] .checkbox-inline {
|
1792 |
-
cursor: not-allowed;
|
1793 |
}
|
1794 |
-
.
|
1795 |
-
|
1796 |
-
padding: 5px 10px;
|
1797 |
-
font-size: 12px;
|
1798 |
-
line-height: 1.5;
|
1799 |
-
border-radius: 3px;
|
1800 |
}
|
1801 |
-
|
1802 |
-
|
1803 |
-
line-height: 30px;
|
1804 |
}
|
1805 |
-
|
1806 |
-
|
1807 |
-
height: auto;
|
1808 |
}
|
1809 |
-
.
|
1810 |
-
|
1811 |
-
padding: 10px 16px;
|
1812 |
-
font-size: 18px;
|
1813 |
-
line-height: 1.33;
|
1814 |
-
border-radius: 6px;
|
1815 |
}
|
1816 |
-
|
1817 |
-
|
1818 |
-
line-height: 46px;
|
1819 |
}
|
1820 |
-
|
1821 |
-
|
1822 |
-
height: auto;
|
1823 |
}
|
1824 |
-
.
|
1825 |
-
|
1826 |
}
|
1827 |
-
|
1828 |
-
|
|
|
|
|
1829 |
}
|
1830 |
-
|
1831 |
-
|
1832 |
-
|
1833 |
-
|
1834 |
-
|
1835 |
-
width: 34px;
|
1836 |
-
height: 34px;
|
1837 |
-
line-height: 34px;
|
1838 |
-
text-align: center;
|
1839 |
}
|
1840 |
-
|
1841 |
-
|
1842 |
-
|
1843 |
-
|
1844 |
-
.has-success .radio-inline,
|
1845 |
-
.has-success .checkbox-inline {
|
1846 |
-
color: #3c763d;
|
1847 |
}
|
1848 |
-
|
1849 |
-
|
1850 |
-
-
|
1851 |
-
|
|
|
|
|
1852 |
}
|
1853 |
-
|
1854 |
-
|
1855 |
-
|
1856 |
-
|
|
|
|
|
|
|
1857 |
}
|
1858 |
-
|
1859 |
-
color: #
|
1860 |
-
|
1861 |
-
border-color: #3c763d;
|
1862 |
}
|
1863 |
-
|
1864 |
-
|
|
|
|
|
1865 |
}
|
1866 |
-
|
1867 |
-
|
1868 |
-
|
1869 |
-
|
1870 |
-
.has-warning .radio-inline,
|
1871 |
-
.has-warning .checkbox-inline {
|
1872 |
-
color: #8a6d3b;
|
1873 |
}
|
1874 |
-
|
1875 |
-
|
1876 |
-
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
1877 |
-
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
1878 |
}
|
1879 |
-
|
1880 |
-
|
1881 |
-
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
|
1882 |
-
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
|
1883 |
}
|
1884 |
-
.
|
1885 |
-
|
1886 |
-
|
1887 |
-
|
|
|
|
|
|
|
|
|
|
|
1888 |
}
|
1889 |
-
.
|
1890 |
-
|
1891 |
}
|
1892 |
-
.
|
1893 |
-
|
1894 |
-
|
1895 |
-
|
1896 |
-
|
1897 |
-
|
1898 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1899 |
}
|
1900 |
-
.
|
1901 |
-
border-
|
1902 |
-
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
1903 |
-
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
1904 |
}
|
1905 |
-
|
1906 |
-
|
1907 |
-
-
|
1908 |
-
|
|
|
1909 |
}
|
1910 |
-
.
|
1911 |
-
|
1912 |
-
|
1913 |
-
|
|
|
|
|
|
|
|
|
|
|
1914 |
}
|
1915 |
-
.
|
1916 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1917 |
}
|
1918 |
-
|
1919 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1920 |
}
|
1921 |
-
|
1922 |
-
|
1923 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1924 |
margin-bottom: 10px;
|
1925 |
-
color: #737373;
|
1926 |
}
|
1927 |
-
|
1928 |
-
|
1929 |
-
|
1930 |
-
|
1931 |
-
|
1932 |
-
|
1933 |
-
|
1934 |
-
|
1935 |
-
|
1936 |
-
|
1937 |
-
|
1938 |
-
|
1939 |
-
|
1940 |
-
vertical-align: middle;
|
1941 |
-
}
|
1942 |
-
.form-inline .radio,
|
1943 |
-
.form-inline .checkbox {
|
1944 |
-
display: inline-block;
|
1945 |
-
padding-left: 0;
|
1946 |
-
margin-top: 0;
|
1947 |
-
margin-bottom: 0;
|
1948 |
-
vertical-align: middle;
|
1949 |
-
}
|
1950 |
-
.form-inline .radio input[type="radio"],
|
1951 |
-
.form-inline .checkbox input[type="checkbox"] {
|
1952 |
-
float: none;
|
1953 |
-
margin-left: 0;
|
1954 |
-
}
|
1955 |
-
.form-inline .has-feedback .form-control-feedback {
|
1956 |
-
top: 0;
|
1957 |
-
}
|
1958 |
}
|
1959 |
-
|
1960 |
-
.
|
1961 |
-
|
1962 |
-
.
|
1963 |
-
|
1964 |
-
|
1965 |
-
margin-top:
|
1966 |
-
margin-bottom:
|
1967 |
}
|
1968 |
-
|
1969 |
-
.
|
1970 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1971 |
}
|
1972 |
-
|
1973 |
-
|
1974 |
-
|
1975 |
}
|
1976 |
-
|
1977 |
-
|
|
|
1978 |
}
|
1979 |
-
|
1980 |
-
|
1981 |
-
|
1982 |
-
}
|
1983 |
}
|
1984 |
-
|
1985 |
-
|
1986 |
-
|
1987 |
}
|
1988 |
-
|
1989 |
-
|
1990 |
-
padding: 6px 12px;
|
1991 |
-
margin-bottom: 0;
|
1992 |
font-size: 14px;
|
1993 |
-
font-weight: normal;
|
1994 |
-
line-height: 1.428571429;
|
1995 |
-
text-align: center;
|
1996 |
-
white-space: nowrap;
|
1997 |
-
vertical-align: middle;
|
1998 |
-
cursor: pointer;
|
1999 |
-
-webkit-user-select: none;
|
2000 |
-
-moz-user-select: none;
|
2001 |
-
-ms-user-select: none;
|
2002 |
-
-o-user-select: none;
|
2003 |
-
user-select: none;
|
2004 |
-
background-image: none;
|
2005 |
-
border: 1px solid transparent;
|
2006 |
-
border-radius: 4px;
|
2007 |
}
|
2008 |
-
|
2009 |
-
|
2010 |
-
|
2011 |
-
outline-offset: -2px;
|
2012 |
}
|
2013 |
-
|
2014 |
-
|
2015 |
-
color: #333;
|
2016 |
-
text-decoration: none;
|
2017 |
}
|
2018 |
-
.
|
2019 |
-
|
2020 |
-
|
2021 |
-
|
2022 |
-
-
|
2023 |
-
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
2024 |
}
|
2025 |
-
|
2026 |
-
.
|
2027 |
-
|
2028 |
-
|
2029 |
-
cursor: not-allowed;
|
2030 |
-
filter: alpha(opacity=65);
|
2031 |
-
-webkit-box-shadow: none;
|
2032 |
-
box-shadow: none;
|
2033 |
-
opacity: .65;
|
2034 |
}
|
2035 |
-
|
2036 |
-
|
2037 |
-
|
2038 |
-
border-color: #ccc;
|
2039 |
}
|
2040 |
-
|
2041 |
-
|
2042 |
-
.btn-default:active,
|
2043 |
-
.btn-default.active,
|
2044 |
-
.open .dropdown-toggle.btn-default {
|
2045 |
-
color: #333;
|
2046 |
-
background-color: #ebebeb;
|
2047 |
-
border-color: #adadad;
|
2048 |
}
|
2049 |
-
|
2050 |
-
.
|
2051 |
-
|
2052 |
-
background-
|
2053 |
}
|
2054 |
-
.
|
2055 |
-
|
2056 |
-
fieldset[disabled] .btn-default,
|
2057 |
-
.btn-default.disabled:hover,
|
2058 |
-
.btn-default[disabled]:hover,
|
2059 |
-
fieldset[disabled] .btn-default:hover,
|
2060 |
-
.btn-default.disabled:focus,
|
2061 |
-
.btn-default[disabled]:focus,
|
2062 |
-
fieldset[disabled] .btn-default:focus,
|
2063 |
-
.btn-default.disabled:active,
|
2064 |
-
.btn-default[disabled]:active,
|
2065 |
-
fieldset[disabled] .btn-default:active,
|
2066 |
-
.btn-default.disabled.active,
|
2067 |
-
.btn-default[disabled].active,
|
2068 |
-
fieldset[disabled] .btn-default.active {
|
2069 |
-
background-color: #fff;
|
2070 |
-
border-color: #ccc;
|
2071 |
}
|
2072 |
-
.
|
2073 |
-
|
2074 |
-
background-color: #333;
|
2075 |
}
|
2076 |
-
.
|
2077 |
-
|
2078 |
-
background-color: #428bca;
|
2079 |
-
border-color: #357ebd;
|
2080 |
}
|
2081 |
-
.
|
2082 |
-
|
2083 |
-
.btn-primary:active,
|
2084 |
-
.btn-primary.active,
|
2085 |
-
.open .dropdown-toggle.btn-primary {
|
2086 |
-
color: #fff;
|
2087 |
-
background-color: #3276b1;
|
2088 |
-
border-color: #285e8e;
|
2089 |
}
|
2090 |
-
.
|
2091 |
-
|
2092 |
-
.open .dropdown-toggle.btn-primary {
|
2093 |
-
background-image: none;
|
2094 |
}
|
2095 |
-
.
|
2096 |
-
|
2097 |
-
fieldset[disabled] .btn-primary,
|
2098 |
-
.btn-primary.disabled:hover,
|
2099 |
-
.btn-primary[disabled]:hover,
|
2100 |
-
fieldset[disabled] .btn-primary:hover,
|
2101 |
-
.btn-primary.disabled:focus,
|
2102 |
-
.btn-primary[disabled]:focus,
|
2103 |
-
fieldset[disabled] .btn-primary:focus,
|
2104 |
-
.btn-primary.disabled:active,
|
2105 |
-
.btn-primary[disabled]:active,
|
2106 |
-
fieldset[disabled] .btn-primary:active,
|
2107 |
-
.btn-primary.disabled.active,
|
2108 |
-
.btn-primary[disabled].active,
|
2109 |
-
fieldset[disabled] .btn-primary.active {
|
2110 |
-
background-color: #428bca;
|
2111 |
-
border-color: #357ebd;
|
2112 |
-
}
|
2113 |
-
.btn-primary .badge {
|
2114 |
-
color: #428bca;
|
2115 |
-
background-color: #fff;
|
2116 |
-
}
|
2117 |
-
.btn-success {
|
2118 |
-
color: #fff;
|
2119 |
-
background-color: #5cb85c;
|
2120 |
-
border-color: #4cae4c;
|
2121 |
-
}
|
2122 |
-
.btn-success:hover,
|
2123 |
-
.btn-success:focus,
|
2124 |
-
.btn-success:active,
|
2125 |
-
.btn-success.active,
|
2126 |
-
.open .dropdown-toggle.btn-success {
|
2127 |
-
color: #fff;
|
2128 |
-
background-color: #47a447;
|
2129 |
-
border-color: #398439;
|
2130 |
}
|
2131 |
-
.
|
2132 |
-
|
2133 |
-
.open .dropdown-toggle.btn-success {
|
2134 |
-
background-image: none;
|
2135 |
}
|
2136 |
-
.
|
2137 |
-
|
2138 |
-
fieldset[disabled] .btn-success,
|
2139 |
-
.btn-success.disabled:hover,
|
2140 |
-
.btn-success[disabled]:hover,
|
2141 |
-
fieldset[disabled] .btn-success:hover,
|
2142 |
-
.btn-success.disabled:focus,
|
2143 |
-
.btn-success[disabled]:focus,
|
2144 |
-
fieldset[disabled] .btn-success:focus,
|
2145 |
-
.btn-success.disabled:active,
|
2146 |
-
.btn-success[disabled]:active,
|
2147 |
-
fieldset[disabled] .btn-success:active,
|
2148 |
-
.btn-success.disabled.active,
|
2149 |
-
.btn-success[disabled].active,
|
2150 |
-
fieldset[disabled] .btn-success.active {
|
2151 |
-
background-color: #5cb85c;
|
2152 |
-
border-color: #4cae4c;
|
2153 |
}
|
2154 |
-
.
|
2155 |
-
color: #
|
2156 |
-
background-color: #fff;
|
2157 |
}
|
2158 |
-
.
|
2159 |
-
color: #
|
2160 |
-
background-color: #5bc0de;
|
2161 |
-
border-color: #46b8da;
|
2162 |
}
|
2163 |
-
.
|
2164 |
-
|
2165 |
-
.btn-info:active,
|
2166 |
-
.btn-info.active,
|
2167 |
-
.open .dropdown-toggle.btn-info {
|
2168 |
-
color: #fff;
|
2169 |
-
background-color: #39b3d7;
|
2170 |
-
border-color: #269abc;
|
2171 |
}
|
2172 |
-
.
|
2173 |
-
|
2174 |
-
.open .dropdown-toggle.btn-info {
|
2175 |
-
background-image: none;
|
2176 |
}
|
2177 |
-
.
|
2178 |
-
|
2179 |
-
fieldset[disabled] .btn-info,
|
2180 |
-
.btn-info.disabled:hover,
|
2181 |
-
.btn-info[disabled]:hover,
|
2182 |
-
fieldset[disabled] .btn-info:hover,
|
2183 |
-
.btn-info.disabled:focus,
|
2184 |
-
.btn-info[disabled]:focus,
|
2185 |
-
fieldset[disabled] .btn-info:focus,
|
2186 |
-
.btn-info.disabled:active,
|
2187 |
-
.btn-info[disabled]:active,
|
2188 |
-
fieldset[disabled] .btn-info:active,
|
2189 |
-
.btn-info.disabled.active,
|
2190 |
-
.btn-info[disabled].active,
|
2191 |
-
fieldset[disabled] .btn-info.active {
|
2192 |
-
background-color: #5bc0de;
|
2193 |
-
border-color: #46b8da;
|
2194 |
}
|
2195 |
-
.
|
2196 |
-
color: #
|
2197 |
-
background-color: #fff;
|
2198 |
}
|
2199 |
-
.
|
2200 |
-
color: #
|
2201 |
-
background-color: #f0ad4e;
|
2202 |
-
border-color: #eea236;
|
2203 |
}
|
2204 |
-
.
|
2205 |
-
|
2206 |
-
.btn-warning:active,
|
2207 |
-
.btn-warning.active,
|
2208 |
-
.open .dropdown-toggle.btn-warning {
|
2209 |
-
color: #fff;
|
2210 |
-
background-color: #ed9c28;
|
2211 |
-
border-color: #d58512;
|
2212 |
}
|
2213 |
-
.
|
2214 |
-
|
2215 |
-
.open .dropdown-toggle.btn-warning {
|
2216 |
-
background-image: none;
|
2217 |
}
|
2218 |
-
.
|
2219 |
-
|
2220 |
-
fieldset[disabled] .btn-warning,
|
2221 |
-
.btn-warning.disabled:hover,
|
2222 |
-
.btn-warning[disabled]:hover,
|
2223 |
-
fieldset[disabled] .btn-warning:hover,
|
2224 |
-
.btn-warning.disabled:focus,
|
2225 |
-
.btn-warning[disabled]:focus,
|
2226 |
-
fieldset[disabled] .btn-warning:focus,
|
2227 |
-
.btn-warning.disabled:active,
|
2228 |
-
.btn-warning[disabled]:active,
|
2229 |
-
fieldset[disabled] .btn-warning:active,
|
2230 |
-
.btn-warning.disabled.active,
|
2231 |
-
.btn-warning[disabled].active,
|
2232 |
-
fieldset[disabled] .btn-warning.active {
|
2233 |
-
background-color: #f0ad4e;
|
2234 |
-
border-color: #eea236;
|
2235 |
}
|
2236 |
-
.
|
2237 |
-
color: #
|
2238 |
-
background-color: #fff;
|
2239 |
}
|
2240 |
-
.
|
2241 |
color: #fff;
|
2242 |
-
background-color: #
|
2243 |
-
border-color: #d43f3a;
|
2244 |
}
|
2245 |
-
.
|
2246 |
-
|
2247 |
-
.btn-danger:active,
|
2248 |
-
.btn-danger.active,
|
2249 |
-
.open .dropdown-toggle.btn-danger {
|
2250 |
-
color: #fff;
|
2251 |
-
background-color: #d2322d;
|
2252 |
-
border-color: #ac2925;
|
2253 |
}
|
2254 |
-
.
|
2255 |
-
|
2256 |
-
.open .dropdown-toggle.btn-danger {
|
2257 |
-
background-image: none;
|
2258 |
}
|
2259 |
-
.
|
2260 |
-
|
2261 |
-
fieldset[disabled] .btn-danger,
|
2262 |
-
.btn-danger.disabled:hover,
|
2263 |
-
.btn-danger[disabled]:hover,
|
2264 |
-
fieldset[disabled] .btn-danger:hover,
|
2265 |
-
.btn-danger.disabled:focus,
|
2266 |
-
.btn-danger[disabled]:focus,
|
2267 |
-
fieldset[disabled] .btn-danger:focus,
|
2268 |
-
.btn-danger.disabled:active,
|
2269 |
-
.btn-danger[disabled]:active,
|
2270 |
-
fieldset[disabled] .btn-danger:active,
|
2271 |
-
.btn-danger.disabled.active,
|
2272 |
-
.btn-danger[disabled].active,
|
2273 |
-
fieldset[disabled] .btn-danger.active {
|
2274 |
-
background-color: #d9534f;
|
2275 |
-
border-color: #d43f3a;
|
2276 |
}
|
2277 |
-
.
|
2278 |
-
color: #
|
2279 |
-
background-color: #fff;
|
2280 |
}
|
2281 |
-
.
|
2282 |
-
|
2283 |
-
color: #428bca;
|
2284 |
-
cursor: pointer;
|
2285 |
-
border-radius: 0;
|
2286 |
}
|
2287 |
-
.
|
2288 |
-
|
2289 |
-
.btn-link[disabled],
|
2290 |
-
fieldset[disabled] .btn-link {
|
2291 |
-
background-color: transparent;
|
2292 |
-
-webkit-box-shadow: none;
|
2293 |
-
box-shadow: none;
|
2294 |
}
|
2295 |
-
.
|
2296 |
-
|
2297 |
-
.btn-link:focus,
|
2298 |
-
.btn-link:active {
|
2299 |
-
border-color: transparent;
|
2300 |
}
|
2301 |
-
.
|
2302 |
-
|
2303 |
-
color: #2a6496;
|
2304 |
-
text-decoration: underline;
|
2305 |
-
background-color: transparent;
|
2306 |
}
|
2307 |
-
.
|
2308 |
-
|
2309 |
-
.btn-link[disabled]:focus,
|
2310 |
-
fieldset[disabled] .btn-link:focus {
|
2311 |
-
color: #999;
|
2312 |
-
text-decoration: none;
|
2313 |
}
|
2314 |
-
.
|
2315 |
-
padding:
|
2316 |
-
|
2317 |
-
|
2318 |
-
border-radius: 6px;
|
2319 |
}
|
2320 |
-
|
2321 |
-
|
2322 |
-
|
2323 |
-
|
2324 |
-
border-radius: 3px;
|
2325 |
}
|
2326 |
-
|
2327 |
-
|
2328 |
-
|
2329 |
-
|
2330 |
-
|
2331 |
}
|
2332 |
-
.
|
2333 |
-
display: block;
|
2334 |
-
width: 100%;
|
2335 |
-
padding-right: 0;
|
2336 |
padding-left: 0;
|
|
|
2337 |
}
|
2338 |
-
.
|
2339 |
-
|
2340 |
-
|
2341 |
-
|
2342 |
-
input[type="reset"].btn-block,
|
2343 |
-
input[type="button"].btn-block {
|
2344 |
-
width: 100%;
|
2345 |
}
|
2346 |
-
.
|
2347 |
-
|
2348 |
-
-
|
2349 |
-
|
2350 |
}
|
2351 |
-
|
2352 |
-
|
|
|
2353 |
}
|
2354 |
-
|
2355 |
-
|
|
|
2356 |
}
|
2357 |
-
|
2358 |
-
|
2359 |
}
|
2360 |
-
|
2361 |
-
|
2362 |
-
height: 0;
|
2363 |
-
overflow: hidden;
|
2364 |
-
-webkit-transition: height .35s ease;
|
2365 |
-
transition: height .35s ease;
|
2366 |
}
|
2367 |
-
@
|
2368 |
-
|
2369 |
-
|
2370 |
-
|
2371 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2372 |
}
|
2373 |
-
|
2374 |
-
|
2375 |
-
|
2376 |
-
|
2377 |
-
font-family: 'Glyphicons Halflings';
|
2378 |
-
font-style: normal;
|
2379 |
-
font-weight: normal;
|
2380 |
-
line-height: 1;
|
2381 |
-
|
2382 |
-
-webkit-font-smoothing: antialiased;
|
2383 |
-
-moz-osx-font-smoothing: grayscale;
|
2384 |
}
|
2385 |
-
.
|
2386 |
-
|
|
|
2387 |
}
|
2388 |
-
|
2389 |
-
|
|
|
|
|
|
|
2390 |
}
|
2391 |
-
|
2392 |
-
|
|
|
|
|
2393 |
}
|
2394 |
-
|
2395 |
-
|
|
|
|
|
|
|
|
|
|
|
2396 |
}
|
2397 |
-
|
2398 |
-
|
|
|
|
|
2399 |
}
|
2400 |
-
.
|
2401 |
-
|
|
|
|
|
|
|
|
|
|
|
2402 |
}
|
2403 |
-
.
|
2404 |
-
|
|
|
|
|
|
|
|
|
|
|
2405 |
}
|
2406 |
-
.
|
2407 |
-
|
|
|
|
|
|
|
|
|
|
|
2408 |
}
|
2409 |
-
|
2410 |
-
|
|
|
2411 |
}
|
2412 |
-
|
2413 |
-
|
|
|
|
|
2414 |
}
|
2415 |
-
|
2416 |
-
|
|
|
|
|
|
|
2417 |
}
|
2418 |
-
|
2419 |
-
|
|
|
|
|
|
|
|
|
2420 |
}
|
2421 |
-
|
2422 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
2423 |
}
|
2424 |
-
|
2425 |
-
|
|
|
|
|
|
|
2426 |
}
|
2427 |
-
|
2428 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2429 |
}
|
2430 |
-
|
2431 |
-
|
|
|
|
|
|
|
|
|
|
|
2432 |
}
|
2433 |
-
.
|
2434 |
-
|
|
|
2435 |
}
|
2436 |
-
.
|
2437 |
-
|
|
|
|
|
|
|
2438 |
}
|
2439 |
-
|
2440 |
-
|
|
|
|
|
2441 |
}
|
2442 |
-
|
2443 |
-
|
|
|
|
|
2444 |
}
|
2445 |
-
|
2446 |
-
|
|
|
|
|
2447 |
}
|
2448 |
-
.
|
2449 |
-
|
|
|
|
|
|
|
2450 |
}
|
2451 |
-
.
|
2452 |
-
|
|
|
2453 |
}
|
2454 |
-
.
|
2455 |
-
|
|
|
|
|
|
|
2456 |
}
|
2457 |
-
.
|
2458 |
-
|
2459 |
}
|
2460 |
-
.
|
2461 |
-
|
2462 |
}
|
2463 |
-
.
|
2464 |
-
|
2465 |
}
|
2466 |
-
.
|
2467 |
-
|
2468 |
}
|
2469 |
-
.
|
2470 |
-
|
2471 |
}
|
2472 |
-
.
|
2473 |
-
|
2474 |
}
|
2475 |
-
.
|
2476 |
-
|
2477 |
}
|
2478 |
-
.
|
2479 |
-
|
2480 |
}
|
2481 |
-
.
|
2482 |
-
|
2483 |
}
|
2484 |
-
.
|
2485 |
-
|
2486 |
}
|
2487 |
-
.
|
2488 |
-
|
2489 |
}
|
2490 |
-
.
|
2491 |
-
|
2492 |
}
|
2493 |
-
.
|
2494 |
-
|
2495 |
}
|
2496 |
-
.
|
2497 |
-
|
2498 |
}
|
2499 |
-
.
|
2500 |
-
|
2501 |
}
|
2502 |
-
.
|
2503 |
-
|
2504 |
}
|
2505 |
-
.
|
2506 |
-
|
2507 |
}
|
2508 |
-
.
|
2509 |
-
|
2510 |
}
|
2511 |
-
.
|
2512 |
-
|
2513 |
}
|
2514 |
-
.
|
2515 |
-
|
2516 |
}
|
2517 |
-
.
|
2518 |
-
|
2519 |
}
|
2520 |
-
.
|
2521 |
-
|
2522 |
}
|
2523 |
-
.
|
2524 |
-
|
2525 |
}
|
2526 |
-
.
|
2527 |
-
|
2528 |
}
|
2529 |
-
.
|
2530 |
-
|
2531 |
}
|
2532 |
-
.
|
2533 |
-
|
2534 |
}
|
2535 |
-
.
|
2536 |
-
|
2537 |
}
|
2538 |
-
.
|
2539 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2540 |
}
|
2541 |
-
|
2542 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2543 |
}
|
2544 |
-
|
2545 |
-
|
2546 |
}
|
2547 |
-
|
2548 |
-
|
2549 |
}
|
2550 |
-
.
|
2551 |
-
|
|
|
|
|
2552 |
}
|
2553 |
-
.
|
2554 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2555 |
}
|
2556 |
-
.
|
2557 |
-
|
|
|
2558 |
}
|
2559 |
-
.
|
2560 |
-
|
|
|
|
|
|
|
|
|
|
|
2561 |
}
|
2562 |
-
.
|
2563 |
-
|
2564 |
}
|
2565 |
-
.
|
2566 |
-
|
2567 |
}
|
2568 |
-
.
|
2569 |
-
|
|
|
|
|
|
|
|
|
|
|
2570 |
}
|
2571 |
-
.
|
2572 |
-
|
2573 |
}
|
2574 |
-
.
|
2575 |
-
|
|
|
|
|
|
|
|
|
|
|
2576 |
}
|
2577 |
-
.
|
2578 |
-
|
|
|
2579 |
}
|
2580 |
-
.
|
2581 |
-
|
|
|
2582 |
}
|
2583 |
-
.
|
2584 |
-
|
|
|
2585 |
}
|
2586 |
-
|
2587 |
-
|
|
|
|
|
2588 |
}
|
2589 |
-
|
2590 |
-
|
|
|
|
|
|
|
2591 |
}
|
2592 |
-
.
|
2593 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2594 |
}
|
2595 |
-
.
|
2596 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2597 |
}
|
2598 |
-
.
|
2599 |
-
|
|
|
|
|
|
|
|
|
2600 |
}
|
2601 |
-
.
|
2602 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2603 |
}
|
2604 |
-
.
|
2605 |
-
|
|
|
|
|
|
|
|
|
2606 |
}
|
2607 |
-
.
|
2608 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2609 |
}
|
2610 |
-
.
|
2611 |
-
|
|
|
|
|
|
|
|
|
2612 |
}
|
2613 |
-
.
|
2614 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2615 |
}
|
2616 |
-
.
|
2617 |
-
|
|
|
|
|
|
|
|
|
2618 |
}
|
2619 |
-
|
2620 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2621 |
}
|
2622 |
-
|
2623 |
-
|
|
|
|
|
|
|
2624 |
}
|
2625 |
-
|
2626 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2627 |
}
|
2628 |
-
|
2629 |
-
|
|
|
|
|
|
|
2630 |
}
|
2631 |
-
|
2632 |
-
|
|
|
|
|
2633 |
}
|
2634 |
-
|
2635 |
-
|
|
|
|
|
|
|
2636 |
}
|
2637 |
-
|
2638 |
-
|
2639 |
}
|
2640 |
-
|
2641 |
-
|
|
|
2642 |
}
|
2643 |
-
|
2644 |
-
|
|
|
2645 |
}
|
2646 |
-
|
2647 |
-
|
|
|
|
|
|
|
|
|
2648 |
}
|
2649 |
-
|
2650 |
-
|
|
|
|
|
|
|
|
|
2651 |
}
|
2652 |
-
.
|
2653 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2654 |
}
|
2655 |
-
.
|
2656 |
-
|
|
|
|
|
|
|
2657 |
}
|
2658 |
-
.
|
2659 |
-
|
|
|
2660 |
}
|
2661 |
-
.
|
2662 |
-
|
2663 |
}
|
2664 |
-
.
|
2665 |
-
|
2666 |
}
|
2667 |
-
.
|
2668 |
-
|
|
|
|
|
|
|
|
|
2669 |
}
|
2670 |
-
.
|
2671 |
-
|
2672 |
}
|
2673 |
-
|
2674 |
-
|
2675 |
}
|
2676 |
-
|
2677 |
-
|
|
|
|
|
|
|
|
|
2678 |
}
|
2679 |
-
.
|
2680 |
-
|
|
|
|
|
|
|
2681 |
}
|
2682 |
-
.
|
2683 |
-
|
|
|
|
|
|
|
2684 |
}
|
2685 |
-
.
|
2686 |
-
|
2687 |
}
|
2688 |
-
.
|
2689 |
-
|
|
|
|
|
|
|
|
|
|
|
2690 |
}
|
2691 |
-
.
|
2692 |
-
|
|
|
|
|
|
|
|
|
2693 |
}
|
2694 |
-
.
|
2695 |
-
|
|
|
|
|
|
|
|
|
|
|
2696 |
}
|
2697 |
-
.
|
2698 |
-
|
|
|
2699 |
}
|
2700 |
-
.
|
2701 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
2702 |
}
|
2703 |
-
.
|
2704 |
-
|
|
|
|
|
2705 |
}
|
2706 |
-
|
2707 |
-
|
|
|
|
|
|
|
|
|
|
|
2708 |
}
|
2709 |
-
.
|
2710 |
-
|
|
|
|
|
|
|
2711 |
}
|
2712 |
-
.
|
2713 |
-
|
|
|
|
|
|
|
2714 |
}
|
2715 |
-
.
|
2716 |
-
|
|
|
|
|
2717 |
}
|
2718 |
-
.
|
2719 |
-
|
|
|
|
|
2720 |
}
|
2721 |
-
.
|
2722 |
-
|
|
|
|
|
|
|
|
|
|
|
2723 |
}
|
2724 |
-
.
|
2725 |
-
|
|
|
2726 |
}
|
2727 |
-
.
|
2728 |
-
|
|
|
2729 |
}
|
2730 |
-
.
|
2731 |
-
|
|
|
|
|
|
|
|
|
|
|
2732 |
}
|
2733 |
-
.
|
2734 |
-
|
|
|
2735 |
}
|
2736 |
-
.
|
2737 |
-
|
|
|
2738 |
}
|
2739 |
-
.
|
2740 |
-
|
2741 |
}
|
2742 |
-
.
|
2743 |
-
|
2744 |
}
|
2745 |
-
.
|
2746 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2747 |
}
|
2748 |
-
.
|
2749 |
-
|
|
|
|
|
2750 |
}
|
2751 |
-
.
|
2752 |
-
|
|
|
|
|
2753 |
}
|
2754 |
-
.
|
2755 |
-
|
|
|
|
|
|
|
|
|
|
|
2756 |
}
|
2757 |
-
.
|
2758 |
-
|
|
|
|
|
2759 |
}
|
2760 |
-
.
|
2761 |
-
|
|
|
|
|
2762 |
}
|
2763 |
-
.
|
2764 |
-
|
|
|
|
|
2765 |
}
|
2766 |
-
.
|
2767 |
-
|
2768 |
}
|
2769 |
-
.
|
2770 |
-
|
|
|
|
|
|
|
|
|
|
|
2771 |
}
|
2772 |
-
.
|
2773 |
-
|
|
|
|
|
2774 |
}
|
2775 |
-
.
|
2776 |
-
|
|
|
|
|
2777 |
}
|
2778 |
-
.
|
2779 |
-
|
|
|
|
|
2780 |
}
|
2781 |
-
.
|
2782 |
-
|
2783 |
}
|
2784 |
-
.
|
2785 |
-
|
|
|
|
|
|
|
|
|
|
|
2786 |
}
|
2787 |
-
.
|
2788 |
-
|
|
|
|
|
2789 |
}
|
2790 |
-
.
|
2791 |
-
|
|
|
|
|
2792 |
}
|
2793 |
-
.
|
2794 |
-
|
|
|
|
|
2795 |
}
|
2796 |
-
.
|
2797 |
-
|
2798 |
}
|
2799 |
-
.
|
2800 |
-
|
2801 |
}
|
2802 |
-
.
|
2803 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2804 |
}
|
2805 |
-
.
|
2806 |
-
|
|
|
|
|
|
|
|
|
|
|
2807 |
}
|
2808 |
-
.
|
2809 |
-
|
|
|
2810 |
}
|
2811 |
-
.
|
2812 |
-
|
|
|
2813 |
}
|
2814 |
-
|
2815 |
-
|
|
|
|
|
|
|
|
|
2816 |
}
|
2817 |
-
.
|
2818 |
-
|
|
|
2819 |
}
|
2820 |
-
|
2821 |
-
|
|
|
|
|
2822 |
}
|
2823 |
-
|
2824 |
-
|
|
|
|
|
2825 |
}
|
2826 |
-
.
|
2827 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2828 |
}
|
2829 |
-
.
|
2830 |
-
|
|
|
|
|
|
|
|
|
2831 |
}
|
2832 |
-
.
|
2833 |
-
|
|
|
|
|
2834 |
}
|
2835 |
-
.
|
2836 |
-
|
|
|
|
|
|
|
|
|
2837 |
}
|
2838 |
-
.
|
2839 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2840 |
}
|
2841 |
-
.
|
2842 |
-
|
|
|
|
|
2843 |
}
|
2844 |
-
.
|
2845 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
2846 |
}
|
2847 |
-
.
|
2848 |
-
|
|
|
|
|
2849 |
}
|
2850 |
-
.
|
2851 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2852 |
}
|
2853 |
-
.
|
2854 |
-
|
|
|
2855 |
}
|
2856 |
-
.
|
2857 |
-
|
|
|
|
|
2858 |
}
|
2859 |
-
.
|
2860 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
2861 |
}
|
2862 |
-
.
|
2863 |
-
|
|
|
|
|
2864 |
}
|
2865 |
-
.
|
2866 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2867 |
}
|
2868 |
-
.
|
2869 |
-
|
|
|
2870 |
}
|
2871 |
-
.
|
2872 |
-
|
|
|
|
|
2873 |
}
|
2874 |
-
.
|
2875 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
2876 |
}
|
2877 |
-
.
|
2878 |
-
|
|
|
|
|
2879 |
}
|
2880 |
-
.
|
2881 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2882 |
}
|
2883 |
-
.
|
2884 |
-
|
|
|
2885 |
}
|
2886 |
-
.
|
2887 |
-
|
|
|
|
|
2888 |
}
|
2889 |
-
.
|
2890 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
2891 |
}
|
2892 |
-
.
|
2893 |
-
|
|
|
|
|
2894 |
}
|
2895 |
-
.
|
2896 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2897 |
}
|
2898 |
-
.
|
2899 |
-
|
|
|
2900 |
}
|
2901 |
-
.
|
2902 |
-
|
|
|
|
|
2903 |
}
|
2904 |
-
.
|
2905 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
2906 |
}
|
2907 |
-
.
|
2908 |
-
|
|
|
|
|
2909 |
}
|
2910 |
-
.
|
2911 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2912 |
}
|
2913 |
-
.
|
2914 |
-
|
|
|
2915 |
}
|
2916 |
-
.
|
2917 |
-
|
|
|
|
|
2918 |
}
|
2919 |
-
.
|
2920 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
2921 |
}
|
2922 |
-
.
|
2923 |
-
|
|
|
|
|
2924 |
}
|
2925 |
-
.
|
2926 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2927 |
}
|
2928 |
-
.
|
2929 |
-
|
|
|
2930 |
}
|
2931 |
-
.
|
2932 |
-
|
|
|
|
|
|
|
2933 |
}
|
2934 |
-
.
|
2935 |
-
|
|
|
|
|
|
|
|
|
|
|
2936 |
}
|
2937 |
-
.
|
2938 |
-
|
|
|
|
|
|
|
2939 |
}
|
2940 |
-
.
|
2941 |
-
|
|
|
|
|
|
|
2942 |
}
|
2943 |
-
.
|
2944 |
-
|
|
|
|
|
|
|
|
|
2945 |
}
|
2946 |
-
.
|
2947 |
-
|
|
|
|
|
|
|
|
|
2948 |
}
|
2949 |
-
.
|
2950 |
-
|
|
|
|
|
|
|
|
|
2951 |
}
|
2952 |
-
.
|
2953 |
-
|
|
|
|
|
|
|
|
|
2954 |
}
|
2955 |
-
.
|
2956 |
-
|
|
|
2957 |
}
|
2958 |
-
.
|
2959 |
-
|
2960 |
}
|
2961 |
-
.
|
2962 |
-
|
|
|
|
|
2963 |
}
|
2964 |
-
.
|
2965 |
-
|
|
|
|
|
|
|
2966 |
}
|
2967 |
-
.
|
2968 |
-
|
2969 |
}
|
2970 |
-
.
|
2971 |
-
|
2972 |
}
|
2973 |
-
.
|
2974 |
-
|
2975 |
}
|
2976 |
-
.
|
2977 |
-
|
2978 |
}
|
2979 |
-
.
|
2980 |
-
|
2981 |
}
|
2982 |
-
.
|
2983 |
-
|
|
|
|
|
|
|
|
|
|
|
2984 |
}
|
2985 |
.caret {
|
2986 |
display: inline-block;
|
@@ -3009,9 +3136,11 @@ input[type="button"].btn-block {
|
|
3009 |
padding: 5px 0;
|
3010 |
margin: 2px 0 0;
|
3011 |
font-size: 14px;
|
|
|
3012 |
list-style: none;
|
3013 |
background-color: #fff;
|
3014 |
-
background-clip: padding-box;
|
|
|
3015 |
border: 1px solid #ccc;
|
3016 |
border: 1px solid rgba(0, 0, 0, .15);
|
3017 |
border-radius: 4px;
|
@@ -3033,7 +3162,7 @@ input[type="button"].btn-block {
|
|
3033 |
padding: 3px 20px;
|
3034 |
clear: both;
|
3035 |
font-weight: normal;
|
3036 |
-
line-height: 1.
|
3037 |
color: #333;
|
3038 |
white-space: nowrap;
|
3039 |
}
|
@@ -3054,7 +3183,7 @@ input[type="button"].btn-block {
|
|
3054 |
.dropdown-menu > .disabled > a,
|
3055 |
.dropdown-menu > .disabled > a:hover,
|
3056 |
.dropdown-menu > .disabled > a:focus {
|
3057 |
-
color: #
|
3058 |
}
|
3059 |
.dropdown-menu > .disabled > a:hover,
|
3060 |
.dropdown-menu > .disabled > a:focus {
|
@@ -3082,8 +3211,9 @@ input[type="button"].btn-block {
|
|
3082 |
display: block;
|
3083 |
padding: 3px 20px;
|
3084 |
font-size: 12px;
|
3085 |
-
line-height: 1.
|
3086 |
-
color: #
|
|
|
3087 |
}
|
3088 |
.dropdown-backdrop {
|
3089 |
position: fixed;
|
@@ -3142,7 +3272,7 @@ input[type="button"].btn-block {
|
|
3142 |
}
|
3143 |
.btn-group > .btn:focus,
|
3144 |
.btn-group-vertical > .btn:focus {
|
3145 |
-
outline:
|
3146 |
}
|
3147 |
.btn-group .btn + .btn,
|
3148 |
.btn-group .btn + .btn-group,
|
@@ -3196,24 +3326,6 @@ input[type="button"].btn-block {
|
|
3196 |
.btn-group.open .dropdown-toggle {
|
3197 |
outline: 0;
|
3198 |
}
|
3199 |
-
.btn-group-xs > .btn {
|
3200 |
-
padding: 1px 5px;
|
3201 |
-
font-size: 12px;
|
3202 |
-
line-height: 1.5;
|
3203 |
-
border-radius: 3px;
|
3204 |
-
}
|
3205 |
-
.btn-group-sm > .btn {
|
3206 |
-
padding: 5px 10px;
|
3207 |
-
font-size: 12px;
|
3208 |
-
line-height: 1.5;
|
3209 |
-
border-radius: 3px;
|
3210 |
-
}
|
3211 |
-
.btn-group-lg > .btn {
|
3212 |
-
padding: 10px 16px;
|
3213 |
-
font-size: 18px;
|
3214 |
-
line-height: 1.33;
|
3215 |
-
border-radius: 6px;
|
3216 |
-
}
|
3217 |
.btn-group > .btn + .dropdown-toggle {
|
3218 |
padding-right: 8px;
|
3219 |
padding-left: 8px;
|
@@ -3298,9 +3410,15 @@ input[type="button"].btn-block {
|
|
3298 |
.btn-group-justified > .btn-group .btn {
|
3299 |
width: 100%;
|
3300 |
}
|
|
|
|
|
|
|
3301 |
[data-toggle="buttons"] > .btn > input[type="radio"],
|
3302 |
[data-toggle="buttons"] > .btn > input[type="checkbox"] {
|
3303 |
-
|
|
|
|
|
|
|
3304 |
}
|
3305 |
.input-group {
|
3306 |
position: relative;
|
@@ -3313,6 +3431,8 @@ input[type="button"].btn-block {
|
|
3313 |
padding-left: 0;
|
3314 |
}
|
3315 |
.input-group .form-control {
|
|
|
|
|
3316 |
float: left;
|
3317 |
width: 100%;
|
3318 |
margin-bottom: 0;
|
@@ -3474,11 +3594,11 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
3474 |
background-color: #eee;
|
3475 |
}
|
3476 |
.nav > li.disabled > a {
|
3477 |
-
color: #
|
3478 |
}
|
3479 |
.nav > li.disabled > a:hover,
|
3480 |
.nav > li.disabled > a:focus {
|
3481 |
-
color: #
|
3482 |
text-decoration: none;
|
3483 |
cursor: not-allowed;
|
3484 |
background-color: transparent;
|
@@ -3507,7 +3627,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
3507 |
}
|
3508 |
.nav-tabs > li > a {
|
3509 |
margin-right: 2px;
|
3510 |
-
line-height: 1.
|
3511 |
border: 1px solid transparent;
|
3512 |
border-radius: 4px 4px 0 0;
|
3513 |
}
|
@@ -3663,13 +3783,13 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
3663 |
}
|
3664 |
}
|
3665 |
.navbar-collapse {
|
3666 |
-
max-height: 340px;
|
3667 |
padding-right: 15px;
|
3668 |
padding-left: 15px;
|
3669 |
overflow-x: visible;
|
3670 |
-webkit-overflow-scrolling: touch;
|
3671 |
border-top: 1px solid transparent;
|
3672 |
-
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
|
|
|
3673 |
}
|
3674 |
.navbar-collapse.in {
|
3675 |
overflow-y: auto;
|
@@ -3678,7 +3798,8 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
3678 |
.navbar-collapse {
|
3679 |
width: auto;
|
3680 |
border-top: 0;
|
3681 |
-
box-shadow: none;
|
|
|
3682 |
}
|
3683 |
.navbar-collapse.collapse {
|
3684 |
display: block !important;
|
@@ -3696,6 +3817,16 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
3696 |
padding-left: 0;
|
3697 |
}
|
3698 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3699 |
.container > .navbar-header,
|
3700 |
.container-fluid > .navbar-header,
|
3701 |
.container > .navbar-collapse,
|
@@ -3727,6 +3858,9 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
3727 |
right: 0;
|
3728 |
left: 0;
|
3729 |
z-index: 1030;
|
|
|
|
|
|
|
3730 |
}
|
3731 |
@media (min-width: 768px) {
|
3732 |
.navbar-fixed-top,
|
@@ -3745,7 +3879,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
3745 |
}
|
3746 |
.navbar-brand {
|
3747 |
float: left;
|
3748 |
-
height:
|
3749 |
padding: 15px 15px;
|
3750 |
font-size: 18px;
|
3751 |
line-height: 20px;
|
@@ -3773,7 +3907,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
3773 |
border-radius: 4px;
|
3774 |
}
|
3775 |
.navbar-toggle:focus {
|
3776 |
-
outline:
|
3777 |
}
|
3778 |
.navbar-toggle .icon-bar {
|
3779 |
display: block;
|
@@ -3805,7 +3939,8 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
3805 |
margin-top: 0;
|
3806 |
background-color: transparent;
|
3807 |
border: 0;
|
3808 |
-
box-shadow: none;
|
|
|
3809 |
}
|
3810 |
.navbar-nav .open .dropdown-menu > li > a,
|
3811 |
.navbar-nav .open .dropdown-menu .dropdown-header {
|
@@ -3865,6 +4000,18 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
3865 |
width: auto;
|
3866 |
vertical-align: middle;
|
3867 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3868 |
.navbar-form .control-label {
|
3869 |
margin-bottom: 0;
|
3870 |
vertical-align: middle;
|
@@ -3872,14 +4019,17 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
3872 |
.navbar-form .radio,
|
3873 |
.navbar-form .checkbox {
|
3874 |
display: inline-block;
|
3875 |
-
padding-left: 0;
|
3876 |
margin-top: 0;
|
3877 |
margin-bottom: 0;
|
3878 |
vertical-align: middle;
|
3879 |
}
|
|
|
|
|
|
|
|
|
3880 |
.navbar-form .radio input[type="radio"],
|
3881 |
.navbar-form .checkbox input[type="checkbox"] {
|
3882 |
-
|
3883 |
margin-left: 0;
|
3884 |
}
|
3885 |
.navbar-form .has-feedback .form-control-feedback {
|
@@ -4024,12 +4174,25 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
4024 |
.navbar-default .navbar-link:hover {
|
4025 |
color: #333;
|
4026 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4027 |
.navbar-inverse {
|
4028 |
background-color: #222;
|
4029 |
border-color: #080808;
|
4030 |
}
|
4031 |
.navbar-inverse .navbar-brand {
|
4032 |
-
color: #
|
4033 |
}
|
4034 |
.navbar-inverse .navbar-brand:hover,
|
4035 |
.navbar-inverse .navbar-brand:focus {
|
@@ -4037,10 +4200,10 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
4037 |
background-color: transparent;
|
4038 |
}
|
4039 |
.navbar-inverse .navbar-text {
|
4040 |
-
color: #
|
4041 |
}
|
4042 |
.navbar-inverse .navbar-nav > li > a {
|
4043 |
-
color: #
|
4044 |
}
|
4045 |
.navbar-inverse .navbar-nav > li > a:hover,
|
4046 |
.navbar-inverse .navbar-nav > li > a:focus {
|
@@ -4087,7 +4250,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
4087 |
background-color: #080808;
|
4088 |
}
|
4089 |
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
|
4090 |
-
color: #
|
4091 |
}
|
4092 |
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
|
4093 |
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
|
@@ -4108,11 +4271,24 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
4108 |
}
|
4109 |
}
|
4110 |
.navbar-inverse .navbar-link {
|
4111 |
-
color: #
|
4112 |
}
|
4113 |
.navbar-inverse .navbar-link:hover {
|
4114 |
color: #fff;
|
4115 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4116 |
.breadcrumb {
|
4117 |
padding: 8px 15px;
|
4118 |
margin-bottom: 20px;
|
@@ -4129,7 +4305,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
4129 |
content: "/\00a0";
|
4130 |
}
|
4131 |
.breadcrumb > .active {
|
4132 |
-
color: #
|
4133 |
}
|
4134 |
.pagination {
|
4135 |
display: inline-block;
|
@@ -4146,7 +4322,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
4146 |
float: left;
|
4147 |
padding: 6px 12px;
|
4148 |
margin-left: -1px;
|
4149 |
-
line-height: 1.
|
4150 |
color: #428bca;
|
4151 |
text-decoration: none;
|
4152 |
background-color: #fff;
|
@@ -4189,7 +4365,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
4189 |
.pagination > .disabled > a,
|
4190 |
.pagination > .disabled > a:hover,
|
4191 |
.pagination > .disabled > a:focus {
|
4192 |
-
color: #
|
4193 |
cursor: not-allowed;
|
4194 |
background-color: #fff;
|
4195 |
border-color: #ddd;
|
@@ -4258,7 +4434,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
4258 |
.pager .disabled > a:hover,
|
4259 |
.pager .disabled > a:focus,
|
4260 |
.pager .disabled > span {
|
4261 |
-
color: #
|
4262 |
cursor: not-allowed;
|
4263 |
background-color: #fff;
|
4264 |
}
|
@@ -4274,8 +4450,8 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
4274 |
vertical-align: baseline;
|
4275 |
border-radius: .25em;
|
4276 |
}
|
4277 |
-
.label
|
4278 |
-
.label
|
4279 |
color: #fff;
|
4280 |
text-decoration: none;
|
4281 |
cursor: pointer;
|
@@ -4288,11 +4464,11 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
4288 |
top: -1px;
|
4289 |
}
|
4290 |
.label-default {
|
4291 |
-
background-color: #
|
4292 |
}
|
4293 |
.label-default[href]:hover,
|
4294 |
.label-default[href]:focus {
|
4295 |
-
background-color: #
|
4296 |
}
|
4297 |
.label-primary {
|
4298 |
background-color: #428bca;
|
@@ -4340,7 +4516,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
|
|
4340 |
text-align: center;
|
4341 |
white-space: nowrap;
|
4342 |
vertical-align: baseline;
|
4343 |
-
background-color: #
|
4344 |
border-radius: 10px;
|
4345 |
}
|
4346 |
.badge:empty {
|
@@ -4383,6 +4559,9 @@ a.list-group-item.active > .badge,
|
|
4383 |
font-size: 21px;
|
4384 |
font-weight: 200;
|
4385 |
}
|
|
|
|
|
|
|
4386 |
.container .jumbotron {
|
4387 |
border-radius: 6px;
|
4388 |
}
|
@@ -4407,18 +4586,16 @@ a.list-group-item.active > .badge,
|
|
4407 |
display: block;
|
4408 |
padding: 4px;
|
4409 |
margin-bottom: 20px;
|
4410 |
-
line-height: 1.
|
4411 |
background-color: #fff;
|
4412 |
border: 1px solid #ddd;
|
4413 |
border-radius: 4px;
|
4414 |
-webkit-transition: all .2s ease-in-out;
|
|
|
4415 |
transition: all .2s ease-in-out;
|
4416 |
}
|
4417 |
.thumbnail > img,
|
4418 |
.thumbnail a > img {
|
4419 |
-
display: block;
|
4420 |
-
max-width: 100%;
|
4421 |
-
height: auto;
|
4422 |
margin-right: auto;
|
4423 |
margin-left: auto;
|
4424 |
}
|
@@ -4451,10 +4628,12 @@ a.thumbnail.active {
|
|
4451 |
.alert > p + p {
|
4452 |
margin-top: 5px;
|
4453 |
}
|
4454 |
-
.alert-dismissable
|
|
|
4455 |
padding-right: 35px;
|
4456 |
}
|
4457 |
-
.alert-dismissable .close
|
|
|
4458 |
position: relative;
|
4459 |
top: -2px;
|
4460 |
right: -21px;
|
@@ -4512,6 +4691,14 @@ a.thumbnail.active {
|
|
4512 |
background-position: 0 0;
|
4513 |
}
|
4514 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4515 |
@keyframes progress-bar-stripes {
|
4516 |
from {
|
4517 |
background-position: 40px 0;
|
@@ -4541,22 +4728,41 @@ a.thumbnail.active {
|
|
4541 |
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
|
4542 |
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
|
4543 |
-webkit-transition: width .6s ease;
|
|
|
4544 |
transition: width .6s ease;
|
4545 |
}
|
4546 |
-
.progress-striped .progress-bar
|
|
|
4547 |
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
|
|
4548 |
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4549 |
-
background-size: 40px 40px;
|
|
|
4550 |
}
|
4551 |
-
.progress.active .progress-bar
|
|
|
4552 |
-webkit-animation: progress-bar-stripes 2s linear infinite;
|
|
|
4553 |
animation: progress-bar-stripes 2s linear infinite;
|
4554 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4555 |
.progress-bar-success {
|
4556 |
background-color: #5cb85c;
|
4557 |
}
|
4558 |
.progress-striped .progress-bar-success {
|
4559 |
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
|
|
4560 |
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4561 |
}
|
4562 |
.progress-bar-info {
|
@@ -4564,6 +4770,7 @@ a.thumbnail.active {
|
|
4564 |
}
|
4565 |
.progress-striped .progress-bar-info {
|
4566 |
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
|
|
4567 |
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4568 |
}
|
4569 |
.progress-bar-warning {
|
@@ -4571,6 +4778,7 @@ a.thumbnail.active {
|
|
4571 |
}
|
4572 |
.progress-striped .progress-bar-warning {
|
4573 |
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
|
|
4574 |
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4575 |
}
|
4576 |
.progress-bar-danger {
|
@@ -4578,6 +4786,7 @@ a.thumbnail.active {
|
|
4578 |
}
|
4579 |
.progress-striped .progress-bar-danger {
|
4580 |
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
|
|
4581 |
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4582 |
}
|
4583 |
.media,
|
@@ -4643,25 +4852,48 @@ a.list-group-item .list-group-item-heading {
|
|
4643 |
}
|
4644 |
a.list-group-item:hover,
|
4645 |
a.list-group-item:focus {
|
|
|
4646 |
text-decoration: none;
|
4647 |
background-color: #f5f5f5;
|
4648 |
}
|
4649 |
-
|
4650 |
-
|
4651 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4652 |
z-index: 2;
|
4653 |
color: #fff;
|
4654 |
background-color: #428bca;
|
4655 |
border-color: #428bca;
|
4656 |
}
|
4657 |
-
|
4658 |
-
|
4659 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
4660 |
color: inherit;
|
4661 |
}
|
4662 |
-
|
4663 |
-
|
4664 |
-
|
4665 |
color: #e1edf7;
|
4666 |
}
|
4667 |
.list-group-item-success {
|
@@ -4771,6 +5003,31 @@ a.list-group-item-danger.active:focus {
|
|
4771 |
.panel-body {
|
4772 |
padding: 15px;
|
4773 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4774 |
.panel > .list-group {
|
4775 |
margin-bottom: 0;
|
4776 |
}
|
@@ -4778,27 +5035,32 @@ a.list-group-item-danger.active:focus {
|
|
4778 |
border-width: 1px 0;
|
4779 |
border-radius: 0;
|
4780 |
}
|
4781 |
-
.panel > .list-group .list-group-item:first-child {
|
4782 |
-
border-top: 0;
|
4783 |
-
}
|
4784 |
-
.panel > .list-group .list-group-item:last-child {
|
4785 |
-
border-bottom: 0;
|
4786 |
-
}
|
4787 |
.panel > .list-group:first-child .list-group-item:first-child {
|
|
|
4788 |
border-top-left-radius: 3px;
|
4789 |
border-top-right-radius: 3px;
|
4790 |
}
|
4791 |
.panel > .list-group:last-child .list-group-item:last-child {
|
|
|
4792 |
border-bottom-right-radius: 3px;
|
4793 |
border-bottom-left-radius: 3px;
|
4794 |
}
|
4795 |
.panel-heading + .list-group .list-group-item:first-child {
|
4796 |
border-top-width: 0;
|
4797 |
}
|
|
|
|
|
|
|
4798 |
.panel > .table,
|
4799 |
-
.panel > .table-responsive > .table
|
|
|
4800 |
margin-bottom: 0;
|
4801 |
}
|
|
|
|
|
|
|
|
|
|
|
4802 |
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
|
4803 |
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
|
4804 |
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
|
@@ -4819,6 +5081,11 @@ a.list-group-item-danger.active:focus {
|
|
4819 |
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
|
4820 |
border-top-right-radius: 3px;
|
4821 |
}
|
|
|
|
|
|
|
|
|
|
|
4822 |
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
|
4823 |
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
|
4824 |
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
|
@@ -4879,69 +5146,35 @@ a.list-group-item-danger.active:focus {
|
|
4879 |
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
|
4880 |
border-right: 0;
|
4881 |
}
|
4882 |
-
.panel > .table-bordered > thead > tr:first-child > th,
|
4883 |
-
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
|
4884 |
-
.panel > .table-bordered > tbody > tr:first-child > th,
|
4885 |
-
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th,
|
4886 |
-
.panel > .table-bordered > tfoot > tr:first-child > th,
|
4887 |
-
.panel > .table-responsive > .table-bordered > tfoot > tr:first-child > th,
|
4888 |
.panel > .table-bordered > thead > tr:first-child > td,
|
4889 |
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
|
4890 |
.panel > .table-bordered > tbody > tr:first-child > td,
|
4891 |
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
|
4892 |
-
.panel > .table-bordered >
|
4893 |
-
.panel > .table-responsive > .table-bordered >
|
4894 |
-
|
|
|
|
|
4895 |
}
|
4896 |
-
.panel > .table-bordered > thead > tr:last-child > th,
|
4897 |
-
.panel > .table-responsive > .table-bordered > thead > tr:last-child > th,
|
4898 |
-
.panel > .table-bordered > tbody > tr:last-child > th,
|
4899 |
-
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
|
4900 |
-
.panel > .table-bordered > tfoot > tr:last-child > th,
|
4901 |
-
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th,
|
4902 |
-
.panel > .table-bordered > thead > tr:last-child > td,
|
4903 |
-
.panel > .table-responsive > .table-bordered > thead > tr:last-child > td,
|
4904 |
.panel > .table-bordered > tbody > tr:last-child > td,
|
4905 |
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
|
4906 |
.panel > .table-bordered > tfoot > tr:last-child > td,
|
4907 |
-
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td
|
|
|
|
|
|
|
|
|
4908 |
border-bottom: 0;
|
4909 |
}
|
4910 |
.panel > .table-responsive {
|
4911 |
margin-bottom: 0;
|
4912 |
border: 0;
|
4913 |
}
|
4914 |
-
.panel-heading {
|
4915 |
-
padding: 10px 15px;
|
4916 |
-
border-bottom: 1px solid transparent;
|
4917 |
-
border-top-left-radius: 3px;
|
4918 |
-
border-top-right-radius: 3px;
|
4919 |
-
}
|
4920 |
-
.panel-heading > .dropdown .dropdown-toggle {
|
4921 |
-
color: inherit;
|
4922 |
-
}
|
4923 |
-
.panel-title {
|
4924 |
-
margin-top: 0;
|
4925 |
-
margin-bottom: 0;
|
4926 |
-
font-size: 16px;
|
4927 |
-
color: inherit;
|
4928 |
-
}
|
4929 |
-
.panel-title > a {
|
4930 |
-
color: inherit;
|
4931 |
-
}
|
4932 |
-
.panel-footer {
|
4933 |
-
padding: 10px 15px;
|
4934 |
-
background-color: #f5f5f5;
|
4935 |
-
border-top: 1px solid #ddd;
|
4936 |
-
border-bottom-right-radius: 3px;
|
4937 |
-
border-bottom-left-radius: 3px;
|
4938 |
-
}
|
4939 |
.panel-group {
|
4940 |
margin-bottom: 20px;
|
4941 |
}
|
4942 |
.panel-group .panel {
|
4943 |
margin-bottom: 0;
|
4944 |
-
overflow: hidden;
|
4945 |
border-radius: 4px;
|
4946 |
}
|
4947 |
.panel-group .panel + .panel {
|
@@ -4950,7 +5183,7 @@ a.list-group-item-danger.active:focus {
|
|
4950 |
.panel-group .panel-heading {
|
4951 |
border-bottom: 0;
|
4952 |
}
|
4953 |
-
.panel-group .panel-heading + .panel-collapse .panel-body {
|
4954 |
border-top: 1px solid #ddd;
|
4955 |
}
|
4956 |
.panel-group .panel-footer {
|
@@ -4967,10 +5200,14 @@ a.list-group-item-danger.active:focus {
|
|
4967 |
background-color: #f5f5f5;
|
4968 |
border-color: #ddd;
|
4969 |
}
|
4970 |
-
.panel-default > .panel-heading + .panel-collapse .panel-body {
|
4971 |
border-top-color: #ddd;
|
4972 |
}
|
4973 |
-
.panel-default > .panel-
|
|
|
|
|
|
|
|
|
4974 |
border-bottom-color: #ddd;
|
4975 |
}
|
4976 |
.panel-primary {
|
@@ -4981,10 +5218,14 @@ a.list-group-item-danger.active:focus {
|
|
4981 |
background-color: #428bca;
|
4982 |
border-color: #428bca;
|
4983 |
}
|
4984 |
-
.panel-primary > .panel-heading + .panel-collapse .panel-body {
|
4985 |
border-top-color: #428bca;
|
4986 |
}
|
4987 |
-
.panel-primary > .panel-
|
|
|
|
|
|
|
|
|
4988 |
border-bottom-color: #428bca;
|
4989 |
}
|
4990 |
.panel-success {
|
@@ -4995,10 +5236,14 @@ a.list-group-item-danger.active:focus {
|
|
4995 |
background-color: #dff0d8;
|
4996 |
border-color: #d6e9c6;
|
4997 |
}
|
4998 |
-
.panel-success > .panel-heading + .panel-collapse .panel-body {
|
4999 |
border-top-color: #d6e9c6;
|
5000 |
}
|
5001 |
-
.panel-success > .panel-
|
|
|
|
|
|
|
|
|
5002 |
border-bottom-color: #d6e9c6;
|
5003 |
}
|
5004 |
.panel-info {
|
@@ -5009,10 +5254,14 @@ a.list-group-item-danger.active:focus {
|
|
5009 |
background-color: #d9edf7;
|
5010 |
border-color: #bce8f1;
|
5011 |
}
|
5012 |
-
.panel-info > .panel-heading + .panel-collapse .panel-body {
|
5013 |
border-top-color: #bce8f1;
|
5014 |
}
|
5015 |
-
.panel-info > .panel-
|
|
|
|
|
|
|
|
|
5016 |
border-bottom-color: #bce8f1;
|
5017 |
}
|
5018 |
.panel-warning {
|
@@ -5023,10 +5272,14 @@ a.list-group-item-danger.active:focus {
|
|
5023 |
background-color: #fcf8e3;
|
5024 |
border-color: #faebcc;
|
5025 |
}
|
5026 |
-
.panel-warning > .panel-heading + .panel-collapse .panel-body {
|
5027 |
border-top-color: #faebcc;
|
5028 |
}
|
5029 |
-
.panel-warning > .panel-
|
|
|
|
|
|
|
|
|
5030 |
border-bottom-color: #faebcc;
|
5031 |
}
|
5032 |
.panel-danger {
|
@@ -5037,12 +5290,41 @@ a.list-group-item-danger.active:focus {
|
|
5037 |
background-color: #f2dede;
|
5038 |
border-color: #ebccd1;
|
5039 |
}
|
5040 |
-
.panel-danger > .panel-heading + .panel-collapse .panel-body {
|
5041 |
border-top-color: #ebccd1;
|
5042 |
}
|
5043 |
-
.panel-danger > .panel-
|
|
|
|
|
|
|
|
|
5044 |
border-bottom-color: #ebccd1;
|
5045 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5046 |
.well {
|
5047 |
min-height: 20px;
|
5048 |
padding: 19px;
|
@@ -5101,24 +5383,26 @@ button.close {
|
|
5101 |
left: 0;
|
5102 |
z-index: 1050;
|
5103 |
display: none;
|
5104 |
-
overflow:
|
5105 |
-
overflow-y: scroll;
|
5106 |
-webkit-overflow-scrolling: touch;
|
5107 |
outline: 0;
|
5108 |
}
|
5109 |
.modal.fade .modal-dialog {
|
5110 |
-webkit-transition: -webkit-transform .3s ease-out;
|
5111 |
-
-moz-transition: -moz-transform .3s ease-out;
|
5112 |
-o-transition: -o-transform .3s ease-out;
|
5113 |
transition: transform .3s ease-out;
|
5114 |
-
-webkit-transform:
|
5115 |
-
|
5116 |
-
transform:
|
5117 |
}
|
5118 |
.modal.in .modal-dialog {
|
5119 |
-
-webkit-transform:
|
5120 |
-
|
5121 |
-
transform:
|
|
|
|
|
|
|
|
|
5122 |
}
|
5123 |
.modal-dialog {
|
5124 |
position: relative;
|
@@ -5128,11 +5412,12 @@ button.close {
|
|
5128 |
.modal-content {
|
5129 |
position: relative;
|
5130 |
background-color: #fff;
|
5131 |
-
background-clip: padding-box;
|
|
|
5132 |
border: 1px solid #999;
|
5133 |
border: 1px solid rgba(0, 0, 0, .2);
|
5134 |
border-radius: 6px;
|
5135 |
-
outline:
|
5136 |
-webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
|
5137 |
box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
|
5138 |
}
|
@@ -5154,7 +5439,7 @@ button.close {
|
|
5154 |
opacity: .5;
|
5155 |
}
|
5156 |
.modal-header {
|
5157 |
-
min-height: 16.
|
5158 |
padding: 15px;
|
5159 |
border-bottom: 1px solid #e5e5e5;
|
5160 |
}
|
@@ -5163,15 +5448,14 @@ button.close {
|
|
5163 |
}
|
5164 |
.modal-title {
|
5165 |
margin: 0;
|
5166 |
-
line-height: 1.
|
5167 |
}
|
5168 |
.modal-body {
|
5169 |
position: relative;
|
5170 |
-
padding:
|
5171 |
}
|
5172 |
.modal-footer {
|
5173 |
-
padding:
|
5174 |
-
margin-top: 15px;
|
5175 |
text-align: right;
|
5176 |
border-top: 1px solid #e5e5e5;
|
5177 |
}
|
@@ -5185,6 +5469,13 @@ button.close {
|
|
5185 |
.modal-footer .btn-block + .btn-block {
|
5186 |
margin-left: 0;
|
5187 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5188 |
@media (min-width: 768px) {
|
5189 |
.modal-dialog {
|
5190 |
width: 600px;
|
@@ -5197,13 +5488,15 @@ button.close {
|
|
5197 |
.modal-sm {
|
5198 |
width: 300px;
|
5199 |
}
|
|
|
|
|
5200 |
.modal-lg {
|
5201 |
width: 900px;
|
5202 |
}
|
5203 |
}
|
5204 |
.tooltip {
|
5205 |
position: absolute;
|
5206 |
-
z-index:
|
5207 |
display: block;
|
5208 |
font-size: 12px;
|
5209 |
line-height: 1.4;
|
@@ -5303,14 +5596,15 @@ button.close {
|
|
5303 |
position: absolute;
|
5304 |
top: 0;
|
5305 |
left: 0;
|
5306 |
-
z-index:
|
5307 |
display: none;
|
5308 |
max-width: 276px;
|
5309 |
padding: 1px;
|
5310 |
text-align: left;
|
5311 |
white-space: normal;
|
5312 |
background-color: #fff;
|
5313 |
-
background-clip: padding-box;
|
|
|
5314 |
border: 1px solid #ccc;
|
5315 |
border: 1px solid rgba(0, 0, 0, .2);
|
5316 |
border-radius: 6px;
|
@@ -5342,8 +5636,8 @@ button.close {
|
|
5342 |
.popover-content {
|
5343 |
padding: 9px 14px;
|
5344 |
}
|
5345 |
-
.popover .arrow,
|
5346 |
-
.popover .arrow:after {
|
5347 |
position: absolute;
|
5348 |
display: block;
|
5349 |
width: 0;
|
@@ -5351,14 +5645,14 @@ button.close {
|
|
5351 |
border-color: transparent;
|
5352 |
border-style: solid;
|
5353 |
}
|
5354 |
-
.popover .arrow {
|
5355 |
border-width: 11px;
|
5356 |
}
|
5357 |
-
.popover .arrow:after {
|
5358 |
content: "";
|
5359 |
border-width: 10px;
|
5360 |
}
|
5361 |
-
.popover.top .arrow {
|
5362 |
bottom: -11px;
|
5363 |
left: 50%;
|
5364 |
margin-left: -11px;
|
@@ -5366,14 +5660,14 @@ button.close {
|
|
5366 |
border-top-color: rgba(0, 0, 0, .25);
|
5367 |
border-bottom-width: 0;
|
5368 |
}
|
5369 |
-
.popover.top .arrow:after {
|
5370 |
bottom: 1px;
|
5371 |
margin-left: -10px;
|
5372 |
content: " ";
|
5373 |
border-top-color: #fff;
|
5374 |
border-bottom-width: 0;
|
5375 |
}
|
5376 |
-
.popover.right .arrow {
|
5377 |
top: 50%;
|
5378 |
left: -11px;
|
5379 |
margin-top: -11px;
|
@@ -5381,14 +5675,14 @@ button.close {
|
|
5381 |
border-right-color: rgba(0, 0, 0, .25);
|
5382 |
border-left-width: 0;
|
5383 |
}
|
5384 |
-
.popover.right .arrow:after {
|
5385 |
bottom: -10px;
|
5386 |
left: 1px;
|
5387 |
content: " ";
|
5388 |
border-right-color: #fff;
|
5389 |
border-left-width: 0;
|
5390 |
}
|
5391 |
-
.popover.bottom .arrow {
|
5392 |
top: -11px;
|
5393 |
left: 50%;
|
5394 |
margin-left: -11px;
|
@@ -5396,14 +5690,14 @@ button.close {
|
|
5396 |
border-bottom-color: #999;
|
5397 |
border-bottom-color: rgba(0, 0, 0, .25);
|
5398 |
}
|
5399 |
-
.popover.bottom .arrow:after {
|
5400 |
top: 1px;
|
5401 |
margin-left: -10px;
|
5402 |
content: " ";
|
5403 |
border-top-width: 0;
|
5404 |
border-bottom-color: #fff;
|
5405 |
}
|
5406 |
-
.popover.left .arrow {
|
5407 |
top: 50%;
|
5408 |
right: -11px;
|
5409 |
margin-top: -11px;
|
@@ -5411,7 +5705,7 @@ button.close {
|
|
5411 |
border-left-color: #999;
|
5412 |
border-left-color: rgba(0, 0, 0, .25);
|
5413 |
}
|
5414 |
-
.popover.left .arrow:after {
|
5415 |
right: 1px;
|
5416 |
bottom: -10px;
|
5417 |
content: " ";
|
@@ -5430,13 +5724,11 @@ button.close {
|
|
5430 |
position: relative;
|
5431 |
display: none;
|
5432 |
-webkit-transition: .6s ease-in-out left;
|
|
|
5433 |
transition: .6s ease-in-out left;
|
5434 |
}
|
5435 |
.carousel-inner > .item > img,
|
5436 |
.carousel-inner > .item > a > img {
|
5437 |
-
display: block;
|
5438 |
-
max-width: 100%;
|
5439 |
-
height: auto;
|
5440 |
line-height: 1;
|
5441 |
}
|
5442 |
.carousel-inner > .active,
|
@@ -5483,7 +5775,9 @@ button.close {
|
|
5483 |
opacity: .5;
|
5484 |
}
|
5485 |
.carousel-control.left {
|
5486 |
-
background-image: -webkit-linear-gradient(left,
|
|
|
|
|
5487 |
background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
|
5488 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
|
5489 |
background-repeat: repeat-x;
|
@@ -5491,7 +5785,9 @@ button.close {
|
|
5491 |
.carousel-control.right {
|
5492 |
right: 0;
|
5493 |
left: auto;
|
5494 |
-
background-image: -webkit-linear-gradient(left,
|
|
|
|
|
5495 |
background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
|
5496 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
|
5497 |
background-repeat: repeat-x;
|
@@ -5501,7 +5797,7 @@ button.close {
|
|
5501 |
color: #fff;
|
5502 |
text-decoration: none;
|
5503 |
filter: alpha(opacity=90);
|
5504 |
-
outline:
|
5505 |
opacity: .9;
|
5506 |
}
|
5507 |
.carousel-control .icon-prev,
|
@@ -5516,17 +5812,18 @@ button.close {
|
|
5516 |
.carousel-control .icon-prev,
|
5517 |
.carousel-control .glyphicon-chevron-left {
|
5518 |
left: 50%;
|
|
|
5519 |
}
|
5520 |
.carousel-control .icon-next,
|
5521 |
.carousel-control .glyphicon-chevron-right {
|
5522 |
right: 50%;
|
|
|
5523 |
}
|
5524 |
.carousel-control .icon-prev,
|
5525 |
.carousel-control .icon-next {
|
5526 |
width: 20px;
|
5527 |
height: 20px;
|
5528 |
margin-top: -10px;
|
5529 |
-
margin-left: -10px;
|
5530 |
font-family: serif;
|
5531 |
}
|
5532 |
.carousel-control .icon-prev:before {
|
@@ -5580,16 +5877,23 @@ button.close {
|
|
5580 |
text-shadow: none;
|
5581 |
}
|
5582 |
@media screen and (min-width: 768px) {
|
5583 |
-
.carousel-control .
|
5584 |
-
.carousel-control .
|
5585 |
.carousel-control .icon-prev,
|
5586 |
.carousel-control .icon-next {
|
5587 |
width: 30px;
|
5588 |
height: 30px;
|
5589 |
margin-top: -15px;
|
5590 |
-
margin-left: -15px;
|
5591 |
font-size: 30px;
|
5592 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5593 |
.carousel-caption {
|
5594 |
right: 20%;
|
5595 |
left: 20%;
|
@@ -5601,6 +5905,8 @@ button.close {
|
|
5601 |
}
|
5602 |
.clearfix:before,
|
5603 |
.clearfix:after,
|
|
|
|
|
5604 |
.container:before,
|
5605 |
.container:after,
|
5606 |
.container-fluid:before,
|
@@ -5631,6 +5937,7 @@ button.close {
|
|
5631 |
content: " ";
|
5632 |
}
|
5633 |
.clearfix:after,
|
|
|
5634 |
.container:after,
|
5635 |
.container-fluid:after,
|
5636 |
.row:after,
|
@@ -5679,14 +5986,31 @@ button.close {
|
|
5679 |
}
|
5680 |
.affix {
|
5681 |
position: fixed;
|
|
|
|
|
|
|
5682 |
}
|
5683 |
@-ms-viewport {
|
5684 |
width: device-width;
|
5685 |
}
|
5686 |
.visible-xs,
|
5687 |
-
|
5688 |
-
|
5689 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5690 |
display: none !important;
|
5691 |
}
|
5692 |
@media (max-width: 767px) {
|
@@ -5704,11 +6028,20 @@ td.visible-xs {
|
|
5704 |
display: table-cell !important;
|
5705 |
}
|
5706 |
}
|
5707 |
-
|
5708 |
-
|
5709 |
-
|
5710 |
-
|
5711 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5712 |
}
|
5713 |
@media (min-width: 768px) and (max-width: 991px) {
|
5714 |
.visible-sm {
|
@@ -5725,11 +6058,20 @@ td.visible-sm {
|
|
5725 |
display: table-cell !important;
|
5726 |
}
|
5727 |
}
|
5728 |
-
|
5729 |
-
|
5730 |
-
|
5731 |
-
|
5732 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5733 |
}
|
5734 |
@media (min-width: 992px) and (max-width: 1199px) {
|
5735 |
.visible-md {
|
@@ -5746,11 +6088,20 @@ td.visible-md {
|
|
5746 |
display: table-cell !important;
|
5747 |
}
|
5748 |
}
|
5749 |
-
|
5750 |
-
|
5751 |
-
|
5752 |
-
|
5753 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5754 |
}
|
5755 |
@media (min-width: 1200px) {
|
5756 |
.visible-lg {
|
@@ -5767,42 +6118,42 @@ td.visible-lg {
|
|
5767 |
display: table-cell !important;
|
5768 |
}
|
5769 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5770 |
@media (max-width: 767px) {
|
5771 |
-
.hidden-xs
|
5772 |
-
tr.hidden-xs,
|
5773 |
-
th.hidden-xs,
|
5774 |
-
td.hidden-xs {
|
5775 |
display: none !important;
|
5776 |
}
|
5777 |
}
|
5778 |
@media (min-width: 768px) and (max-width: 991px) {
|
5779 |
-
.hidden-sm
|
5780 |
-
tr.hidden-sm,
|
5781 |
-
th.hidden-sm,
|
5782 |
-
td.hidden-sm {
|
5783 |
display: none !important;
|
5784 |
}
|
5785 |
}
|
5786 |
@media (min-width: 992px) and (max-width: 1199px) {
|
5787 |
-
.hidden-md
|
5788 |
-
tr.hidden-md,
|
5789 |
-
th.hidden-md,
|
5790 |
-
td.hidden-md {
|
5791 |
display: none !important;
|
5792 |
}
|
5793 |
}
|
5794 |
@media (min-width: 1200px) {
|
5795 |
-
.hidden-lg
|
5796 |
-
tr.hidden-lg,
|
5797 |
-
th.hidden-lg,
|
5798 |
-
td.hidden-lg {
|
5799 |
display: none !important;
|
5800 |
}
|
5801 |
}
|
5802 |
-
.visible-print
|
5803 |
-
tr.visible-print,
|
5804 |
-
th.visible-print,
|
5805 |
-
td.visible-print {
|
5806 |
display: none !important;
|
5807 |
}
|
5808 |
@media print {
|
@@ -5820,11 +6171,32 @@ td.visible-print {
|
|
5820 |
display: table-cell !important;
|
5821 |
}
|
5822 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5823 |
@media print {
|
5824 |
-
.hidden-print
|
5825 |
-
tr.hidden-print,
|
5826 |
-
th.hidden-print,
|
5827 |
-
td.hidden-print {
|
5828 |
display: none !important;
|
5829 |
}
|
5830 |
}
|
1 |
/*!
|
2 |
+
* Bootstrap v3.2.0 (http://getbootstrap.com)
|
3 |
* Copyright 2011-2014 Twitter, Inc.
|
4 |
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
*/
|
6 |
|
7 |
+
/*! normalize.css v3.0.1 | MIT License | git.io/normalize */
|
8 |
html {
|
9 |
font-family: sans-serif;
|
10 |
-webkit-text-size-adjust: 100%;
|
94 |
}
|
95 |
hr {
|
96 |
height: 0;
|
97 |
+
-webkit-box-sizing: content-box;
|
98 |
+
-moz-box-sizing: content-box;
|
99 |
+
box-sizing: content-box;
|
100 |
}
|
101 |
pre {
|
102 |
overflow: auto;
|
145 |
}
|
146 |
input[type="checkbox"],
|
147 |
input[type="radio"] {
|
148 |
+
-webkit-box-sizing: border-box;
|
149 |
+
-moz-box-sizing: border-box;
|
150 |
+
box-sizing: border-box;
|
151 |
padding: 0;
|
152 |
}
|
153 |
input[type="number"]::-webkit-inner-spin-button,
|
192 |
color: #000 !important;
|
193 |
text-shadow: none !important;
|
194 |
background: transparent !important;
|
195 |
+
-webkit-box-shadow: none !important;
|
196 |
+
box-shadow: none !important;
|
197 |
}
|
198 |
a,
|
199 |
a:visited {
|
260 |
border: 1px solid #ddd !important;
|
261 |
}
|
262 |
}
|
263 |
+
@font-face {
|
264 |
+
font-family: 'Glyphicons Halflings';
|
265 |
+
|
266 |
+
src: url('../fonts/glyphicons-halflings-regular.eot');
|
267 |
+
src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
|
|
|
|
|
|
|
|
|
|
|
268 |
}
|
269 |
+
.glyphicon {
|
270 |
+
position: relative;
|
271 |
+
top: 1px;
|
272 |
+
display: inline-block;
|
273 |
+
font-family: 'Glyphicons Halflings';
|
274 |
+
font-style: normal;
|
275 |
+
font-weight: normal;
|
276 |
+
line-height: 1;
|
277 |
|
278 |
+
-webkit-font-smoothing: antialiased;
|
279 |
+
-moz-osx-font-smoothing: grayscale;
|
280 |
}
|
281 |
+
.glyphicon-asterisk:before {
|
282 |
+
content: "\2a";
|
|
|
|
|
|
|
|
|
283 |
}
|
284 |
+
.glyphicon-plus:before {
|
285 |
+
content: "\2b";
|
|
|
|
|
|
|
|
|
|
|
286 |
}
|
287 |
+
.glyphicon-euro:before {
|
288 |
+
content: "\20ac";
|
|
|
289 |
}
|
290 |
+
.glyphicon-minus:before {
|
291 |
+
content: "\2212";
|
|
|
|
|
292 |
}
|
293 |
+
.glyphicon-cloud:before {
|
294 |
+
content: "\2601";
|
|
|
|
|
295 |
}
|
296 |
+
.glyphicon-envelope:before {
|
297 |
+
content: "\2709";
|
298 |
}
|
299 |
+
.glyphicon-pencil:before {
|
300 |
+
content: "\270f";
|
301 |
}
|
302 |
+
.glyphicon-glass:before {
|
303 |
+
content: "\e001";
|
|
|
|
|
304 |
}
|
305 |
+
.glyphicon-music:before {
|
306 |
+
content: "\e002";
|
307 |
}
|
308 |
+
.glyphicon-search:before {
|
309 |
+
content: "\e003";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
310 |
}
|
311 |
+
.glyphicon-heart:before {
|
312 |
+
content: "\e005";
|
313 |
}
|
314 |
+
.glyphicon-star:before {
|
315 |
+
content: "\e006";
|
|
|
|
|
|
|
316 |
}
|
317 |
+
.glyphicon-star-empty:before {
|
318 |
+
content: "\e007";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
319 |
}
|
320 |
+
.glyphicon-user:before {
|
321 |
+
content: "\e008";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
322 |
}
|
323 |
+
.glyphicon-film:before {
|
324 |
+
content: "\e009";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
325 |
}
|
326 |
+
.glyphicon-th-large:before {
|
327 |
+
content: "\e010";
|
|
|
|
|
|
|
|
|
|
|
|
|
328 |
}
|
329 |
+
.glyphicon-th:before {
|
330 |
+
content: "\e011";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
331 |
}
|
332 |
+
.glyphicon-th-list:before {
|
333 |
+
content: "\e012";
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
}
|
335 |
+
.glyphicon-ok:before {
|
336 |
+
content: "\e013";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
337 |
}
|
338 |
+
.glyphicon-remove:before {
|
339 |
+
content: "\e014";
|
|
|
340 |
}
|
341 |
+
.glyphicon-zoom-in:before {
|
342 |
+
content: "\e015";
|
|
|
343 |
}
|
344 |
+
.glyphicon-zoom-out:before {
|
345 |
+
content: "\e016";
|
|
|
346 |
}
|
347 |
+
.glyphicon-off:before {
|
348 |
+
content: "\e017";
|
|
|
349 |
}
|
350 |
+
.glyphicon-signal:before {
|
351 |
+
content: "\e018";
|
|
|
352 |
}
|
353 |
+
.glyphicon-cog:before {
|
354 |
+
content: "\e019";
|
|
|
355 |
}
|
356 |
+
.glyphicon-trash:before {
|
357 |
+
content: "\e020";
|
358 |
}
|
359 |
+
.glyphicon-home:before {
|
360 |
+
content: "\e021";
|
|
|
|
|
|
|
361 |
}
|
362 |
+
.glyphicon-file:before {
|
363 |
+
content: "\e022";
|
|
|
|
|
364 |
}
|
365 |
+
.glyphicon-time:before {
|
366 |
+
content: "\e023";
|
|
|
367 |
}
|
368 |
+
.glyphicon-road:before {
|
369 |
+
content: "\e024";
|
370 |
}
|
371 |
+
.glyphicon-download-alt:before {
|
372 |
+
content: "\e025";
|
373 |
}
|
374 |
+
.glyphicon-download:before {
|
375 |
+
content: "\e026";
|
376 |
}
|
377 |
+
.glyphicon-upload:before {
|
378 |
+
content: "\e027";
|
379 |
}
|
380 |
+
.glyphicon-inbox:before {
|
381 |
+
content: "\e028";
|
382 |
}
|
383 |
+
.glyphicon-play-circle:before {
|
384 |
+
content: "\e029";
|
385 |
}
|
386 |
+
.glyphicon-repeat:before {
|
387 |
+
content: "\e030";
|
388 |
}
|
389 |
+
.glyphicon-refresh:before {
|
390 |
+
content: "\e031";
|
391 |
}
|
392 |
+
.glyphicon-list-alt:before {
|
393 |
+
content: "\e032";
|
394 |
}
|
395 |
+
.glyphicon-lock:before {
|
396 |
+
content: "\e033";
|
397 |
}
|
398 |
+
.glyphicon-flag:before {
|
399 |
+
content: "\e034";
|
400 |
}
|
401 |
+
.glyphicon-headphones:before {
|
402 |
+
content: "\e035";
|
403 |
}
|
404 |
+
.glyphicon-volume-off:before {
|
405 |
+
content: "\e036";
|
406 |
}
|
407 |
+
.glyphicon-volume-down:before {
|
408 |
+
content: "\e037";
|
409 |
}
|
410 |
+
.glyphicon-volume-up:before {
|
411 |
+
content: "\e038";
|
412 |
}
|
413 |
+
.glyphicon-qrcode:before {
|
414 |
+
content: "\e039";
|
415 |
}
|
416 |
+
.glyphicon-barcode:before {
|
417 |
+
content: "\e040";
|
|
|
418 |
}
|
419 |
+
.glyphicon-tag:before {
|
420 |
+
content: "\e041";
|
421 |
}
|
422 |
+
.glyphicon-tags:before {
|
423 |
+
content: "\e042";
|
424 |
}
|
425 |
+
.glyphicon-book:before {
|
426 |
+
content: "\e043";
|
427 |
}
|
428 |
+
.glyphicon-bookmark:before {
|
429 |
+
content: "\e044";
|
430 |
}
|
431 |
+
.glyphicon-print:before {
|
432 |
+
content: "\e045";
|
433 |
}
|
434 |
+
.glyphicon-camera:before {
|
435 |
+
content: "\e046";
|
436 |
}
|
437 |
+
.glyphicon-font:before {
|
438 |
+
content: "\e047";
|
439 |
}
|
440 |
+
.glyphicon-bold:before {
|
441 |
+
content: "\e048";
|
442 |
}
|
443 |
+
.glyphicon-italic:before {
|
444 |
+
content: "\e049";
|
445 |
}
|
446 |
+
.glyphicon-text-height:before {
|
447 |
+
content: "\e050";
|
|
|
|
|
448 |
}
|
449 |
+
.glyphicon-text-width:before {
|
450 |
+
content: "\e051";
|
|
|
|
|
451 |
}
|
452 |
+
.glyphicon-align-left:before {
|
453 |
+
content: "\e052";
|
|
|
|
|
|
|
454 |
}
|
455 |
+
.glyphicon-align-center:before {
|
456 |
+
content: "\e053";
|
|
|
457 |
}
|
458 |
+
.glyphicon-align-right:before {
|
459 |
+
content: "\e054";
|
|
|
460 |
}
|
461 |
+
.glyphicon-align-justify:before {
|
462 |
+
content: "\e055";
|
|
|
|
|
463 |
}
|
464 |
+
.glyphicon-list:before {
|
465 |
+
content: "\e056";
|
466 |
}
|
467 |
+
.glyphicon-indent-left:before {
|
468 |
+
content: "\e057";
|
|
|
469 |
}
|
470 |
+
.glyphicon-indent-right:before {
|
471 |
+
content: "\e058";
|
|
|
472 |
}
|
473 |
+
.glyphicon-facetime-video:before {
|
474 |
+
content: "\e059";
|
475 |
}
|
476 |
+
.glyphicon-picture:before {
|
477 |
+
content: "\e060";
|
478 |
}
|
479 |
+
.glyphicon-map-marker:before {
|
480 |
+
content: "\e062";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
481 |
}
|
482 |
+
.glyphicon-adjust:before {
|
483 |
+
content: "\e063";
|
|
|
|
|
484 |
}
|
485 |
+
.glyphicon-tint:before {
|
486 |
+
content: "\e064";
|
|
|
487 |
}
|
488 |
+
.glyphicon-edit:before {
|
489 |
+
content: "\e065";
|
|
|
|
|
|
|
490 |
}
|
491 |
+
.glyphicon-share:before {
|
492 |
+
content: "\e066";
|
|
|
|
|
493 |
}
|
494 |
+
.glyphicon-check:before {
|
495 |
+
content: "\e067";
|
|
|
|
|
|
|
|
|
|
|
496 |
}
|
497 |
+
.glyphicon-move:before {
|
498 |
+
content: "\e068";
|
|
|
|
|
499 |
}
|
500 |
+
.glyphicon-step-backward:before {
|
501 |
+
content: "\e069";
|
|
|
|
|
|
|
|
|
|
|
502 |
}
|
503 |
+
.glyphicon-fast-backward:before {
|
504 |
+
content: "\e070";
|
|
|
|
|
|
|
|
|
|
|
505 |
}
|
506 |
+
.glyphicon-backward:before {
|
507 |
+
content: "\e071";
|
|
|
|
|
|
|
|
|
|
|
508 |
}
|
509 |
+
.glyphicon-play:before {
|
510 |
+
content: "\e072";
|
|
|
511 |
}
|
512 |
+
.glyphicon-pause:before {
|
513 |
+
content: "\e073";
|
|
|
|
|
514 |
}
|
515 |
+
.glyphicon-stop:before {
|
516 |
+
content: "\e074";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
517 |
}
|
518 |
+
.glyphicon-forward:before {
|
519 |
+
content: "\e075";
|
|
|
|
|
|
|
|
|
|
|
520 |
}
|
521 |
+
.glyphicon-fast-forward:before {
|
522 |
+
content: "\e076";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
523 |
}
|
524 |
+
.glyphicon-step-forward:before {
|
525 |
+
content: "\e077";
|
|
|
|
|
|
|
|
|
|
|
526 |
}
|
527 |
+
.glyphicon-eject:before {
|
528 |
+
content: "\e078";
|
|
|
529 |
}
|
530 |
+
.glyphicon-chevron-left:before {
|
531 |
+
content: "\e079";
|
|
|
|
|
|
|
532 |
}
|
533 |
+
.glyphicon-chevron-right:before {
|
534 |
+
content: "\e080";
|
|
|
|
|
535 |
}
|
536 |
+
.glyphicon-plus-sign:before {
|
537 |
+
content: "\e081";
|
|
|
|
|
538 |
}
|
539 |
+
.glyphicon-minus-sign:before {
|
540 |
+
content: "\e082";
|
|
|
|
|
541 |
}
|
542 |
+
.glyphicon-remove-sign:before {
|
543 |
+
content: "\e083";
|
|
|
|
|
|
|
544 |
}
|
545 |
+
.glyphicon-ok-sign:before {
|
546 |
+
content: "\e084";
|
|
|
547 |
}
|
548 |
+
.glyphicon-question-sign:before {
|
549 |
+
content: "\e085";
|
|
|
|
|
|
|
550 |
}
|
551 |
+
.glyphicon-info-sign:before {
|
552 |
+
content: "\e086";
|
553 |
}
|
554 |
+
.glyphicon-screenshot:before {
|
555 |
+
content: "\e087";
|
556 |
}
|
557 |
+
.glyphicon-remove-circle:before {
|
558 |
+
content: "\e088";
|
559 |
}
|
560 |
+
.glyphicon-ok-circle:before {
|
561 |
+
content: "\e089";
|
562 |
}
|
563 |
+
.glyphicon-ban-circle:before {
|
564 |
+
content: "\e090";
|
565 |
}
|
566 |
+
.glyphicon-arrow-left:before {
|
567 |
+
content: "\e091";
|
568 |
}
|
569 |
+
.glyphicon-arrow-right:before {
|
570 |
+
content: "\e092";
|
571 |
}
|
572 |
+
.glyphicon-arrow-up:before {
|
573 |
+
content: "\e093";
|
574 |
}
|
575 |
+
.glyphicon-arrow-down:before {
|
576 |
+
content: "\e094";
|
577 |
}
|
578 |
+
.glyphicon-share-alt:before {
|
579 |
+
content: "\e095";
|
580 |
}
|
581 |
+
.glyphicon-resize-full:before {
|
582 |
+
content: "\e096";
|
583 |
}
|
584 |
+
.glyphicon-resize-small:before {
|
585 |
+
content: "\e097";
|
586 |
}
|
587 |
+
.glyphicon-exclamation-sign:before {
|
588 |
+
content: "\e101";
|
589 |
}
|
590 |
+
.glyphicon-gift:before {
|
591 |
+
content: "\e102";
|
592 |
}
|
593 |
+
.glyphicon-leaf:before {
|
594 |
+
content: "\e103";
|
595 |
}
|
596 |
+
.glyphicon-fire:before {
|
597 |
+
content: "\e104";
|
598 |
}
|
599 |
+
.glyphicon-eye-open:before {
|
600 |
+
content: "\e105";
|
601 |
}
|
602 |
+
.glyphicon-eye-close:before {
|
603 |
+
content: "\e106";
|
604 |
}
|
605 |
+
.glyphicon-warning-sign:before {
|
606 |
+
content: "\e107";
|
607 |
}
|
608 |
+
.glyphicon-plane:before {
|
609 |
+
content: "\e108";
|
610 |
}
|
611 |
+
.glyphicon-calendar:before {
|
612 |
+
content: "\e109";
|
613 |
}
|
614 |
+
.glyphicon-random:before {
|
615 |
+
content: "\e110";
|
616 |
}
|
617 |
+
.glyphicon-comment:before {
|
618 |
+
content: "\e111";
|
619 |
}
|
620 |
+
.glyphicon-magnet:before {
|
621 |
+
content: "\e112";
|
622 |
}
|
623 |
+
.glyphicon-chevron-up:before {
|
624 |
+
content: "\e113";
|
625 |
}
|
626 |
+
.glyphicon-chevron-down:before {
|
627 |
+
content: "\e114";
|
628 |
}
|
629 |
+
.glyphicon-retweet:before {
|
630 |
+
content: "\e115";
|
631 |
}
|
632 |
+
.glyphicon-shopping-cart:before {
|
633 |
+
content: "\e116";
|
634 |
}
|
635 |
+
.glyphicon-folder-close:before {
|
636 |
+
content: "\e117";
|
637 |
}
|
638 |
+
.glyphicon-folder-open:before {
|
639 |
+
content: "\e118";
|
640 |
}
|
641 |
+
.glyphicon-resize-vertical:before {
|
642 |
+
content: "\e119";
|
643 |
}
|
644 |
+
.glyphicon-resize-horizontal:before {
|
645 |
+
content: "\e120";
|
646 |
}
|
647 |
+
.glyphicon-hdd:before {
|
648 |
+
content: "\e121";
|
649 |
}
|
650 |
+
.glyphicon-bullhorn:before {
|
651 |
+
content: "\e122";
|
652 |
}
|
653 |
+
.glyphicon-bell:before {
|
654 |
+
content: "\e123";
|
655 |
}
|
656 |
+
.glyphicon-certificate:before {
|
657 |
+
content: "\e124";
|
658 |
}
|
659 |
+
.glyphicon-thumbs-up:before {
|
660 |
+
content: "\e125";
|
661 |
}
|
662 |
+
.glyphicon-thumbs-down:before {
|
663 |
+
content: "\e126";
|
664 |
}
|
665 |
+
.glyphicon-hand-right:before {
|
666 |
+
content: "\e127";
|
667 |
}
|
668 |
+
.glyphicon-hand-left:before {
|
669 |
+
content: "\e128";
|
670 |
}
|
671 |
+
.glyphicon-hand-up:before {
|
672 |
+
content: "\e129";
|
673 |
}
|
674 |
+
.glyphicon-hand-down:before {
|
675 |
+
content: "\e130";
|
676 |
}
|
677 |
+
.glyphicon-circle-arrow-right:before {
|
678 |
+
content: "\e131";
|
679 |
}
|
680 |
+
.glyphicon-circle-arrow-left:before {
|
681 |
+
content: "\e132";
|
682 |
}
|
683 |
+
.glyphicon-circle-arrow-up:before {
|
684 |
+
content: "\e133";
|
685 |
}
|
686 |
+
.glyphicon-circle-arrow-down:before {
|
687 |
+
content: "\e134";
|
688 |
}
|
689 |
+
.glyphicon-globe:before {
|
690 |
+
content: "\e135";
|
691 |
}
|
692 |
+
.glyphicon-wrench:before {
|
693 |
+
content: "\e136";
|
694 |
}
|
695 |
+
.glyphicon-tasks:before {
|
696 |
+
content: "\e137";
|
697 |
}
|
698 |
+
.glyphicon-filter:before {
|
699 |
+
content: "\e138";
|
700 |
}
|
701 |
+
.glyphicon-briefcase:before {
|
702 |
+
content: "\e139";
|
703 |
}
|
704 |
+
.glyphicon-fullscreen:before {
|
705 |
+
content: "\e140";
|
706 |
}
|
707 |
+
.glyphicon-dashboard:before {
|
708 |
+
content: "\e141";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
709 |
}
|
710 |
+
.glyphicon-paperclip:before {
|
711 |
+
content: "\e142";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
712 |
}
|
713 |
+
.glyphicon-heart-empty:before {
|
714 |
+
content: "\e143";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
715 |
}
|
716 |
+
.glyphicon-link:before {
|
717 |
+
content: "\e144";
|
|
|
718 |
}
|
719 |
+
.glyphicon-phone:before {
|
720 |
+
content: "\e145";
|
721 |
}
|
722 |
+
.glyphicon-pushpin:before {
|
723 |
+
content: "\e146";
|
|
|
724 |
}
|
725 |
+
.glyphicon-usd:before {
|
726 |
+
content: "\e148";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
727 |
}
|
728 |
+
.glyphicon-gbp:before {
|
729 |
+
content: "\e149";
|
|
|
730 |
}
|
731 |
+
.glyphicon-sort:before {
|
732 |
+
content: "\e150";
|
|
|
|
|
|
|
|
|
|
|
733 |
}
|
734 |
+
.glyphicon-sort-by-alphabet:before {
|
735 |
+
content: "\e151";
|
736 |
}
|
737 |
+
.glyphicon-sort-by-alphabet-alt:before {
|
738 |
+
content: "\e152";
|
739 |
}
|
740 |
+
.glyphicon-sort-by-order:before {
|
741 |
+
content: "\e153";
|
|
|
|
|
|
|
|
|
|
|
742 |
}
|
743 |
+
.glyphicon-sort-by-order-alt:before {
|
744 |
+
content: "\e154";
|
745 |
}
|
746 |
+
.glyphicon-sort-by-attributes:before {
|
747 |
+
content: "\e155";
|
|
|
|
|
|
|
|
|
|
|
748 |
}
|
749 |
+
.glyphicon-sort-by-attributes-alt:before {
|
750 |
+
content: "\e156";
|
|
|
751 |
}
|
752 |
+
.glyphicon-unchecked:before {
|
753 |
+
content: "\e157";
|
|
|
754 |
}
|
755 |
+
.glyphicon-expand:before {
|
756 |
+
content: "\e158";
|
|
|
757 |
}
|
758 |
+
.glyphicon-collapse-down:before {
|
759 |
+
content: "\e159";
|
|
|
|
|
760 |
}
|
761 |
+
.glyphicon-collapse-up:before {
|
762 |
+
content: "\e160";
|
|
|
|
|
|
|
763 |
}
|
764 |
+
.glyphicon-log-in:before {
|
765 |
+
content: "\e161";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
766 |
}
|
767 |
+
.glyphicon-flash:before {
|
768 |
+
content: "\e162";
|
|
|
|
|
|
|
769 |
}
|
770 |
+
.glyphicon-log-out:before {
|
771 |
+
content: "\e163";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
772 |
}
|
773 |
+
.glyphicon-new-window:before {
|
774 |
+
content: "\e164";
|
|
|
|
|
|
|
775 |
}
|
776 |
+
.glyphicon-record:before {
|
777 |
+
content: "\e165";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
778 |
}
|
779 |
+
.glyphicon-save:before {
|
780 |
+
content: "\e166";
|
|
|
|
|
|
|
781 |
}
|
782 |
+
.glyphicon-open:before {
|
783 |
+
content: "\e167";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
784 |
}
|
785 |
+
.glyphicon-saved:before {
|
786 |
+
content: "\e168";
|
|
|
|
|
|
|
787 |
}
|
788 |
+
.glyphicon-import:before {
|
789 |
+
content: "\e169";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
790 |
}
|
791 |
+
.glyphicon-export:before {
|
792 |
+
content: "\e170";
|
|
|
|
|
|
|
793 |
}
|
794 |
+
.glyphicon-send:before {
|
795 |
+
content: "\e171";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
796 |
}
|
797 |
+
.glyphicon-floppy-disk:before {
|
798 |
+
content: "\e172";
|
|
|
|
|
|
|
799 |
}
|
800 |
+
.glyphicon-floppy-saved:before {
|
801 |
+
content: "\e173";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
802 |
}
|
803 |
+
.glyphicon-floppy-remove:before {
|
804 |
+
content: "\e174";
|
|
|
|
|
805 |
}
|
806 |
+
.glyphicon-floppy-save:before {
|
807 |
+
content: "\e175";
|
|
|
|
|
808 |
}
|
809 |
+
.glyphicon-floppy-open:before {
|
810 |
+
content: "\e176";
|
|
|
|
|
|
|
|
|
811 |
}
|
812 |
+
.glyphicon-credit-card:before {
|
813 |
+
content: "\e177";
|
814 |
}
|
815 |
+
.glyphicon-transfer:before {
|
816 |
+
content: "\e178";
|
|
|
817 |
}
|
818 |
+
.glyphicon-cutlery:before {
|
819 |
+
content: "\e179";
|
|
|
820 |
}
|
821 |
+
.glyphicon-header:before {
|
822 |
+
content: "\e180";
|
|
|
|
|
|
|
|
|
823 |
}
|
824 |
+
.glyphicon-compressed:before {
|
825 |
+
content: "\e181";
|
|
|
|
|
|
|
|
|
826 |
}
|
827 |
+
.glyphicon-earphone:before {
|
828 |
+
content: "\e182";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
829 |
}
|
830 |
+
.glyphicon-phone-alt:before {
|
831 |
+
content: "\e183";
|
|
|
|
|
|
|
832 |
}
|
833 |
+
.glyphicon-tower:before {
|
834 |
+
content: "\e184";
|
835 |
}
|
836 |
+
.glyphicon-stats:before {
|
837 |
+
content: "\e185";
|
|
|
838 |
}
|
839 |
+
.glyphicon-sd-video:before {
|
840 |
+
content: "\e186";
|
841 |
}
|
842 |
+
.glyphicon-hd-video:before {
|
843 |
+
content: "\e187";
|
844 |
}
|
845 |
+
.glyphicon-subtitles:before {
|
846 |
+
content: "\e188";
|
|
|
|
|
|
|
|
|
847 |
}
|
848 |
+
.glyphicon-sound-stereo:before {
|
849 |
+
content: "\e189";
|
850 |
}
|
851 |
+
.glyphicon-sound-dolby:before {
|
852 |
+
content: "\e190";
|
853 |
}
|
854 |
+
.glyphicon-sound-5-1:before {
|
855 |
+
content: "\e191";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
856 |
}
|
857 |
+
.glyphicon-sound-6-1:before {
|
858 |
+
content: "\e192";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
859 |
}
|
860 |
+
.glyphicon-sound-7-1:before {
|
861 |
+
content: "\e193";
|
|
|
|
|
|
|
|
|
862 |
}
|
863 |
+
.glyphicon-copyright-mark:before {
|
864 |
+
content: "\e194";
|
|
|
865 |
}
|
866 |
+
.glyphicon-registration-mark:before {
|
867 |
+
content: "\e195";
|
|
|
868 |
}
|
869 |
+
.glyphicon-cloud-download:before {
|
870 |
+
content: "\e197";
|
|
|
|
|
|
|
|
|
871 |
}
|
872 |
+
.glyphicon-cloud-upload:before {
|
873 |
+
content: "\e198";
|
|
|
874 |
}
|
875 |
+
.glyphicon-tree-conifer:before {
|
876 |
+
content: "\e199";
|
|
|
877 |
}
|
878 |
+
.glyphicon-tree-deciduous:before {
|
879 |
+
content: "\e200";
|
880 |
}
|
881 |
+
* {
|
882 |
+
-webkit-box-sizing: border-box;
|
883 |
+
-moz-box-sizing: border-box;
|
884 |
+
box-sizing: border-box;
|
885 |
}
|
886 |
+
*:before,
|
887 |
+
*:after {
|
888 |
+
-webkit-box-sizing: border-box;
|
889 |
+
-moz-box-sizing: border-box;
|
890 |
+
box-sizing: border-box;
|
|
|
|
|
|
|
|
|
891 |
}
|
892 |
+
html {
|
893 |
+
font-size: 10px;
|
894 |
+
|
895 |
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
|
|
|
|
|
|
896 |
}
|
897 |
+
body {
|
898 |
+
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
899 |
+
font-size: 14px;
|
900 |
+
line-height: 1.42857143;
|
901 |
+
color: #333;
|
902 |
+
background-color: #fff;
|
903 |
}
|
904 |
+
input,
|
905 |
+
button,
|
906 |
+
select,
|
907 |
+
textarea {
|
908 |
+
font-family: inherit;
|
909 |
+
font-size: inherit;
|
910 |
+
line-height: inherit;
|
911 |
}
|
912 |
+
a {
|
913 |
+
color: #428bca;
|
914 |
+
text-decoration: none;
|
|
|
915 |
}
|
916 |
+
a:hover,
|
917 |
+
a:focus {
|
918 |
+
color: #2a6496;
|
919 |
+
text-decoration: underline;
|
920 |
}
|
921 |
+
a:focus {
|
922 |
+
outline: thin dotted;
|
923 |
+
outline: 5px auto -webkit-focus-ring-color;
|
924 |
+
outline-offset: -2px;
|
|
|
|
|
|
|
925 |
}
|
926 |
+
figure {
|
927 |
+
margin: 0;
|
|
|
|
|
928 |
}
|
929 |
+
img {
|
930 |
+
vertical-align: middle;
|
|
|
|
|
931 |
}
|
932 |
+
.img-responsive,
|
933 |
+
.thumbnail > img,
|
934 |
+
.thumbnail a > img,
|
935 |
+
.carousel-inner > .item > img,
|
936 |
+
.carousel-inner > .item > a > img {
|
937 |
+
display: block;
|
938 |
+
width: 100% \9;
|
939 |
+
max-width: 100%;
|
940 |
+
height: auto;
|
941 |
}
|
942 |
+
.img-rounded {
|
943 |
+
border-radius: 6px;
|
944 |
}
|
945 |
+
.img-thumbnail {
|
946 |
+
display: inline-block;
|
947 |
+
width: 100% \9;
|
948 |
+
max-width: 100%;
|
949 |
+
height: auto;
|
950 |
+
padding: 4px;
|
951 |
+
line-height: 1.42857143;
|
952 |
+
background-color: #fff;
|
953 |
+
border: 1px solid #ddd;
|
954 |
+
border-radius: 4px;
|
955 |
+
-webkit-transition: all .2s ease-in-out;
|
956 |
+
-o-transition: all .2s ease-in-out;
|
957 |
+
transition: all .2s ease-in-out;
|
958 |
}
|
959 |
+
.img-circle {
|
960 |
+
border-radius: 50%;
|
|
|
|
|
961 |
}
|
962 |
+
hr {
|
963 |
+
margin-top: 20px;
|
964 |
+
margin-bottom: 20px;
|
965 |
+
border: 0;
|
966 |
+
border-top: 1px solid #eee;
|
967 |
}
|
968 |
+
.sr-only {
|
969 |
+
position: absolute;
|
970 |
+
width: 1px;
|
971 |
+
height: 1px;
|
972 |
+
padding: 0;
|
973 |
+
margin: -1px;
|
974 |
+
overflow: hidden;
|
975 |
+
clip: rect(0, 0, 0, 0);
|
976 |
+
border: 0;
|
977 |
}
|
978 |
+
.sr-only-focusable:active,
|
979 |
+
.sr-only-focusable:focus {
|
980 |
+
position: static;
|
981 |
+
width: auto;
|
982 |
+
height: auto;
|
983 |
+
margin: 0;
|
984 |
+
overflow: visible;
|
985 |
+
clip: auto;
|
986 |
}
|
987 |
+
h1,
|
988 |
+
h2,
|
989 |
+
h3,
|
990 |
+
h4,
|
991 |
+
h5,
|
992 |
+
h6,
|
993 |
+
.h1,
|
994 |
+
.h2,
|
995 |
+
.h3,
|
996 |
+
.h4,
|
997 |
+
.h5,
|
998 |
+
.h6 {
|
999 |
+
font-family: inherit;
|
1000 |
+
font-weight: 500;
|
1001 |
+
line-height: 1.1;
|
1002 |
+
color: inherit;
|
1003 |
}
|
1004 |
+
h1 small,
|
1005 |
+
h2 small,
|
1006 |
+
h3 small,
|
1007 |
+
h4 small,
|
1008 |
+
h5 small,
|
1009 |
+
h6 small,
|
1010 |
+
.h1 small,
|
1011 |
+
.h2 small,
|
1012 |
+
.h3 small,
|
1013 |
+
.h4 small,
|
1014 |
+
.h5 small,
|
1015 |
+
.h6 small,
|
1016 |
+
h1 .small,
|
1017 |
+
h2 .small,
|
1018 |
+
h3 .small,
|
1019 |
+
h4 .small,
|
1020 |
+
h5 .small,
|
1021 |
+
h6 .small,
|
1022 |
+
.h1 .small,
|
1023 |
+
.h2 .small,
|
1024 |
+
.h3 .small,
|
1025 |
+
.h4 .small,
|
1026 |
+
.h5 .small,
|
1027 |
+
.h6 .small {
|
1028 |
+
font-weight: normal;
|
1029 |
+
line-height: 1;
|
1030 |
+
color: #777;
|
1031 |
+
}
|
1032 |
+
h1,
|
1033 |
+
.h1,
|
1034 |
+
h2,
|
1035 |
+
.h2,
|
1036 |
+
h3,
|
1037 |
+
.h3 {
|
1038 |
+
margin-top: 20px;
|
1039 |
margin-bottom: 10px;
|
|
|
1040 |
}
|
1041 |
+
h1 small,
|
1042 |
+
.h1 small,
|
1043 |
+
h2 small,
|
1044 |
+
.h2 small,
|
1045 |
+
h3 small,
|
1046 |
+
.h3 small,
|
1047 |
+
h1 .small,
|
1048 |
+
.h1 .small,
|
1049 |
+
h2 .small,
|
1050 |
+
.h2 .small,
|
1051 |
+
h3 .small,
|
1052 |
+
.h3 .small {
|
1053 |
+
font-size: 65%;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1054 |
}
|
1055 |
+
h4,
|
1056 |
+
.h4,
|
1057 |
+
h5,
|
1058 |
+
.h5,
|
1059 |
+
h6,
|
1060 |
+
.h6 {
|
1061 |
+
margin-top: 10px;
|
1062 |
+
margin-bottom: 10px;
|
1063 |
}
|
1064 |
+
h4 small,
|
1065 |
+
.h4 small,
|
1066 |
+
h5 small,
|
1067 |
+
.h5 small,
|
1068 |
+
h6 small,
|
1069 |
+
.h6 small,
|
1070 |
+
h4 .small,
|
1071 |
+
.h4 .small,
|
1072 |
+
h5 .small,
|
1073 |
+
.h5 .small,
|
1074 |
+
h6 .small,
|
1075 |
+
.h6 .small {
|
1076 |
+
font-size: 75%;
|
1077 |
}
|
1078 |
+
h1,
|
1079 |
+
.h1 {
|
1080 |
+
font-size: 36px;
|
1081 |
}
|
1082 |
+
h2,
|
1083 |
+
.h2 {
|
1084 |
+
font-size: 30px;
|
1085 |
}
|
1086 |
+
h3,
|
1087 |
+
.h3 {
|
1088 |
+
font-size: 24px;
|
|
|
1089 |
}
|
1090 |
+
h4,
|
1091 |
+
.h4 {
|
1092 |
+
font-size: 18px;
|
1093 |
}
|
1094 |
+
h5,
|
1095 |
+
.h5 {
|
|
|
|
|
1096 |
font-size: 14px;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1097 |
}
|
1098 |
+
h6,
|
1099 |
+
.h6 {
|
1100 |
+
font-size: 12px;
|
|
|
1101 |
}
|
1102 |
+
p {
|
1103 |
+
margin: 0 0 10px;
|
|
|
|
|
1104 |
}
|
1105 |
+
.lead {
|
1106 |
+
margin-bottom: 20px;
|
1107 |
+
font-size: 16px;
|
1108 |
+
font-weight: 300;
|
1109 |
+
line-height: 1.4;
|
|
|
1110 |
}
|
1111 |
+
@media (min-width: 768px) {
|
1112 |
+
.lead {
|
1113 |
+
font-size: 21px;
|
1114 |
+
}
|
|
|
|
|
|
|
|
|
|
|
1115 |
}
|
1116 |
+
small,
|
1117 |
+
.small {
|
1118 |
+
font-size: 85%;
|
|
|
1119 |
}
|
1120 |
+
cite {
|
1121 |
+
font-style: normal;
|
|
|
|
|
|
|
|
|
|
|
|
|
1122 |
}
|
1123 |
+
mark,
|
1124 |
+
.mark {
|
1125 |
+
padding: .2em;
|
1126 |
+
background-color: #fcf8e3;
|
1127 |
}
|
1128 |
+
.text-left {
|
1129 |
+
text-align: left;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1130 |
}
|
1131 |
+
.text-right {
|
1132 |
+
text-align: right;
|
|
|
1133 |
}
|
1134 |
+
.text-center {
|
1135 |
+
text-align: center;
|
|
|
|
|
1136 |
}
|
1137 |
+
.text-justify {
|
1138 |
+
text-align: justify;
|
|
|
|
|
|
|
|
|
|
|
|
|
1139 |
}
|
1140 |
+
.text-nowrap {
|
1141 |
+
white-space: nowrap;
|
|
|
|
|
1142 |
}
|
1143 |
+
.text-lowercase {
|
1144 |
+
text-transform: lowercase;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1145 |
}
|
1146 |
+
.text-uppercase {
|
1147 |
+
text-transform: uppercase;
|
|
|
|
|
1148 |
}
|
1149 |
+
.text-capitalize {
|
1150 |
+
text-transform: capitalize;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1151 |
}
|
1152 |
+
.text-muted {
|
1153 |
+
color: #777;
|
|
|
1154 |
}
|
1155 |
+
.text-primary {
|
1156 |
+
color: #428bca;
|
|
|
|
|
1157 |
}
|
1158 |
+
a.text-primary:hover {
|
1159 |
+
color: #3071a9;
|
|
|
|
|
|
|
|
|
|
|
|
|
1160 |
}
|
1161 |
+
.text-success {
|
1162 |
+
color: #3c763d;
|
|
|
|
|
1163 |
}
|
1164 |
+
a.text-success:hover {
|
1165 |
+
color: #2b542c;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1166 |
}
|
1167 |
+
.text-info {
|
1168 |
+
color: #31708f;
|
|
|
1169 |
}
|
1170 |
+
a.text-info:hover {
|
1171 |
+
color: #245269;
|
|
|
|
|
1172 |
}
|
1173 |
+
.text-warning {
|
1174 |
+
color: #8a6d3b;
|
|
|
|
|
|
|
|
|
|
|
|
|
1175 |
}
|
1176 |
+
a.text-warning:hover {
|
1177 |
+
color: #66512c;
|
|
|
|
|
1178 |
}
|
1179 |
+
.text-danger {
|
1180 |
+
color: #a94442;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1181 |
}
|
1182 |
+
a.text-danger:hover {
|
1183 |
+
color: #843534;
|
|
|
1184 |
}
|
1185 |
+
.bg-primary {
|
1186 |
color: #fff;
|
1187 |
+
background-color: #428bca;
|
|
|
1188 |
}
|
1189 |
+
a.bg-primary:hover {
|
1190 |
+
background-color: #3071a9;
|
|
|
|
|
|
|
|
|
|
|
|
|
1191 |
}
|
1192 |
+
.bg-success {
|
1193 |
+
background-color: #dff0d8;
|
|
|
|
|
1194 |
}
|
1195 |
+
a.bg-success:hover {
|
1196 |
+
background-color: #c1e2b3;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1197 |
}
|
1198 |
+
.bg-info {
|
1199 |
+
background-color: #d9edf7;
|
|
|
1200 |
}
|
1201 |
+
a.bg-info:hover {
|
1202 |
+
background-color: #afd9ee;
|
|
|
|
|
|
|
1203 |
}
|
1204 |
+
.bg-warning {
|
1205 |
+
background-color: #fcf8e3;
|
|
|
|
|
|
|
|
|
|
|
1206 |
}
|
1207 |
+
a.bg-warning:hover {
|
1208 |
+
background-color: #f7ecb5;
|
|
|
|
|
|
|
1209 |
}
|
1210 |
+
.bg-danger {
|
1211 |
+
background-color: #f2dede;
|
|
|
|
|
|
|
1212 |
}
|
1213 |
+
a.bg-danger:hover {
|
1214 |
+
background-color: #e4b9b9;
|
|
|
|
|
|
|
|
|
1215 |
}
|
1216 |
+
.page-header {
|
1217 |
+
padding-bottom: 9px;
|
1218 |
+
margin: 40px 0 20px;
|
1219 |
+
border-bottom: 1px solid #eee;
|
|
|
1220 |
}
|
1221 |
+
ul,
|
1222 |
+
ol {
|
1223 |
+
margin-top: 0;
|
1224 |
+
margin-bottom: 10px;
|
|
|
1225 |
}
|
1226 |
+
ul ul,
|
1227 |
+
ol ul,
|
1228 |
+
ul ol,
|
1229 |
+
ol ol {
|
1230 |
+
margin-bottom: 0;
|
1231 |
}
|
1232 |
+
.list-unstyled {
|
|
|
|
|
|
|
1233 |
padding-left: 0;
|
1234 |
+
list-style: none;
|
1235 |
}
|
1236 |
+
.list-inline {
|
1237 |
+
padding-left: 0;
|
1238 |
+
margin-left: -5px;
|
1239 |
+
list-style: none;
|
|
|
|
|
|
|
1240 |
}
|
1241 |
+
.list-inline > li {
|
1242 |
+
display: inline-block;
|
1243 |
+
padding-right: 5px;
|
1244 |
+
padding-left: 5px;
|
1245 |
}
|
1246 |
+
dl {
|
1247 |
+
margin-top: 0;
|
1248 |
+
margin-bottom: 20px;
|
1249 |
}
|
1250 |
+
dt,
|
1251 |
+
dd {
|
1252 |
+
line-height: 1.42857143;
|
1253 |
}
|
1254 |
+
dt {
|
1255 |
+
font-weight: bold;
|
1256 |
}
|
1257 |
+
dd {
|
1258 |
+
margin-left: 0;
|
|
|
|
|
|
|
|
|
1259 |
}
|
1260 |
+
@media (min-width: 768px) {
|
1261 |
+
.dl-horizontal dt {
|
1262 |
+
float: left;
|
1263 |
+
width: 160px;
|
1264 |
+
overflow: hidden;
|
1265 |
+
clear: left;
|
1266 |
+
text-align: right;
|
1267 |
+
text-overflow: ellipsis;
|
1268 |
+
white-space: nowrap;
|
1269 |
+
}
|
1270 |
+
.dl-horizontal dd {
|
1271 |
+
margin-left: 180px;
|
1272 |
+
}
|
1273 |
}
|
1274 |
+
abbr[title],
|
1275 |
+
abbr[data-original-title] {
|
1276 |
+
cursor: help;
|
1277 |
+
border-bottom: 1px dotted #777;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1278 |
}
|
1279 |
+
.initialism {
|
1280 |
+
font-size: 90%;
|
1281 |
+
text-transform: uppercase;
|
1282 |
}
|
1283 |
+
blockquote {
|
1284 |
+
padding: 10px 20px;
|
1285 |
+
margin: 0 0 20px;
|
1286 |
+
font-size: 17.5px;
|
1287 |
+
border-left: 5px solid #eee;
|
1288 |
}
|
1289 |
+
blockquote p:last-child,
|
1290 |
+
blockquote ul:last-child,
|
1291 |
+
blockquote ol:last-child {
|
1292 |
+
margin-bottom: 0;
|
1293 |
}
|
1294 |
+
blockquote footer,
|
1295 |
+
blockquote small,
|
1296 |
+
blockquote .small {
|
1297 |
+
display: block;
|
1298 |
+
font-size: 80%;
|
1299 |
+
line-height: 1.42857143;
|
1300 |
+
color: #777;
|
1301 |
}
|
1302 |
+
blockquote footer:before,
|
1303 |
+
blockquote small:before,
|
1304 |
+
blockquote .small:before {
|
1305 |
+
content: '\2014 \00A0';
|
1306 |
}
|
1307 |
+
.blockquote-reverse,
|
1308 |
+
blockquote.pull-right {
|
1309 |
+
padding-right: 15px;
|
1310 |
+
padding-left: 0;
|
1311 |
+
text-align: right;
|
1312 |
+
border-right: 5px solid #eee;
|
1313 |
+
border-left: 0;
|
1314 |
}
|
1315 |
+
.blockquote-reverse footer:before,
|
1316 |
+
blockquote.pull-right footer:before,
|
1317 |
+
.blockquote-reverse small:before,
|
1318 |
+
blockquote.pull-right small:before,
|
1319 |
+
.blockquote-reverse .small:before,
|
1320 |
+
blockquote.pull-right .small:before {
|
1321 |
+
content: '';
|
1322 |
}
|
1323 |
+
.blockquote-reverse footer:after,
|
1324 |
+
blockquote.pull-right footer:after,
|
1325 |
+
.blockquote-reverse small:after,
|
1326 |
+
blockquote.pull-right small:after,
|
1327 |
+
.blockquote-reverse .small:after,
|
1328 |
+
blockquote.pull-right .small:after {
|
1329 |
+
content: '\00A0 \2014';
|
1330 |
}
|
1331 |
+
blockquote:before,
|
1332 |
+
blockquote:after {
|
1333 |
+
content: "";
|
1334 |
}
|
1335 |
+
address {
|
1336 |
+
margin-bottom: 20px;
|
1337 |
+
font-style: normal;
|
1338 |
+
line-height: 1.42857143;
|
1339 |
}
|
1340 |
+
code,
|
1341 |
+
kbd,
|
1342 |
+
pre,
|
1343 |
+
samp {
|
1344 |
+
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
|
1345 |
}
|
1346 |
+
code {
|
1347 |
+
padding: 2px 4px;
|
1348 |
+
font-size: 90%;
|
1349 |
+
color: #c7254e;
|
1350 |
+
background-color: #f9f2f4;
|
1351 |
+
border-radius: 4px;
|
1352 |
}
|
1353 |
+
kbd {
|
1354 |
+
padding: 2px 4px;
|
1355 |
+
font-size: 90%;
|
1356 |
+
color: #fff;
|
1357 |
+
background-color: #333;
|
1358 |
+
border-radius: 3px;
|
1359 |
+
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
|
1360 |
+
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);
|
1361 |
}
|
1362 |
+
kbd kbd {
|
1363 |
+
padding: 0;
|
1364 |
+
font-size: 100%;
|
1365 |
+
-webkit-box-shadow: none;
|
1366 |
+
box-shadow: none;
|
1367 |
}
|
1368 |
+
pre {
|
1369 |
+
display: block;
|
1370 |
+
padding: 9.5px;
|
1371 |
+
margin: 0 0 10px;
|
1372 |
+
font-size: 13px;
|
1373 |
+
line-height: 1.42857143;
|
1374 |
+
color: #333;
|
1375 |
+
word-break: break-all;
|
1376 |
+
word-wrap: break-word;
|
1377 |
+
background-color: #f5f5f5;
|
1378 |
+
border: 1px solid #ccc;
|
1379 |
+
border-radius: 4px;
|
1380 |
}
|
1381 |
+
pre code {
|
1382 |
+
padding: 0;
|
1383 |
+
font-size: inherit;
|
1384 |
+
color: inherit;
|
1385 |
+
white-space: pre-wrap;
|
1386 |
+
background-color: transparent;
|
1387 |
+
border-radius: 0;
|
1388 |
}
|
1389 |
+
.pre-scrollable {
|
1390 |
+
max-height: 340px;
|
1391 |
+
overflow-y: scroll;
|
1392 |
}
|
1393 |
+
.container {
|
1394 |
+
padding-right: 15px;
|
1395 |
+
padding-left: 15px;
|
1396 |
+
margin-right: auto;
|
1397 |
+
margin-left: auto;
|
1398 |
}
|
1399 |
+
@media (min-width: 768px) {
|
1400 |
+
.container {
|
1401 |
+
width: 750px;
|
1402 |
+
}
|
1403 |
}
|
1404 |
+
@media (min-width: 992px) {
|
1405 |
+
.container {
|
1406 |
+
width: 970px;
|
1407 |
+
}
|
1408 |
}
|
1409 |
+
@media (min-width: 1200px) {
|
1410 |
+
.container {
|
1411 |
+
width: 1170px;
|
1412 |
+
}
|
1413 |
}
|
1414 |
+
.container-fluid {
|
1415 |
+
padding-right: 15px;
|
1416 |
+
padding-left: 15px;
|
1417 |
+
margin-right: auto;
|
1418 |
+
margin-left: auto;
|
1419 |
}
|
1420 |
+
.row {
|
1421 |
+
margin-right: -15px;
|
1422 |
+
margin-left: -15px;
|
1423 |
}
|
1424 |
+
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
|
1425 |
+
position: relative;
|
1426 |
+
min-height: 1px;
|
1427 |
+
padding-right: 15px;
|
1428 |
+
padding-left: 15px;
|
1429 |
}
|
1430 |
+
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
|
1431 |
+
float: left;
|
1432 |
}
|
1433 |
+
.col-xs-12 {
|
1434 |
+
width: 100%;
|
1435 |
}
|
1436 |
+
.col-xs-11 {
|
1437 |
+
width: 91.66666667%;
|
1438 |
}
|
1439 |
+
.col-xs-10 {
|
1440 |
+
width: 83.33333333%;
|
1441 |
}
|
1442 |
+
.col-xs-9 {
|
1443 |
+
width: 75%;
|
1444 |
}
|
1445 |
+
.col-xs-8 {
|
1446 |
+
width: 66.66666667%;
|
1447 |
}
|
1448 |
+
.col-xs-7 {
|
1449 |
+
width: 58.33333333%;
|
1450 |
}
|
1451 |
+
.col-xs-6 {
|
1452 |
+
width: 50%;
|
1453 |
}
|
1454 |
+
.col-xs-5 {
|
1455 |
+
width: 41.66666667%;
|
1456 |
}
|
1457 |
+
.col-xs-4 {
|
1458 |
+
width: 33.33333333%;
|
1459 |
}
|
1460 |
+
.col-xs-3 {
|
1461 |
+
width: 25%;
|
1462 |
}
|
1463 |
+
.col-xs-2 {
|
1464 |
+
width: 16.66666667%;
|
1465 |
}
|
1466 |
+
.col-xs-1 {
|
1467 |
+
width: 8.33333333%;
|
1468 |
}
|
1469 |
+
.col-xs-pull-12 {
|
1470 |
+
right: 100%;
|
1471 |
}
|
1472 |
+
.col-xs-pull-11 {
|
1473 |
+
right: 91.66666667%;
|
1474 |
}
|
1475 |
+
.col-xs-pull-10 {
|
1476 |
+
right: 83.33333333%;
|
1477 |
}
|
1478 |
+
.col-xs-pull-9 {
|
1479 |
+
right: 75%;
|
1480 |
}
|
1481 |
+
.col-xs-pull-8 {
|
1482 |
+
right: 66.66666667%;
|
1483 |
}
|
1484 |
+
.col-xs-pull-7 {
|
1485 |
+
right: 58.33333333%;
|
1486 |
}
|
1487 |
+
.col-xs-pull-6 {
|
1488 |
+
right: 50%;
|
1489 |
}
|
1490 |
+
.col-xs-pull-5 {
|
1491 |
+
right: 41.66666667%;
|
1492 |
}
|
1493 |
+
.col-xs-pull-4 {
|
1494 |
+
right: 33.33333333%;
|
1495 |
}
|
1496 |
+
.col-xs-pull-3 {
|
1497 |
+
right: 25%;
|
1498 |
}
|
1499 |
+
.col-xs-pull-2 {
|
1500 |
+
right: 16.66666667%;
|
1501 |
}
|
1502 |
+
.col-xs-pull-1 {
|
1503 |
+
right: 8.33333333%;
|
1504 |
}
|
1505 |
+
.col-xs-pull-0 {
|
1506 |
+
right: auto;
|
1507 |
}
|
1508 |
+
.col-xs-push-12 {
|
1509 |
+
left: 100%;
|
1510 |
}
|
1511 |
+
.col-xs-push-11 {
|
1512 |
+
left: 91.66666667%;
|
1513 |
+
}
|
1514 |
+
.col-xs-push-10 {
|
1515 |
+
left: 83.33333333%;
|
1516 |
+
}
|
1517 |
+
.col-xs-push-9 {
|
1518 |
+
left: 75%;
|
1519 |
+
}
|
1520 |
+
.col-xs-push-8 {
|
1521 |
+
left: 66.66666667%;
|
1522 |
+
}
|
1523 |
+
.col-xs-push-7 {
|
1524 |
+
left: 58.33333333%;
|
1525 |
+
}
|
1526 |
+
.col-xs-push-6 {
|
1527 |
+
left: 50%;
|
1528 |
+
}
|
1529 |
+
.col-xs-push-5 {
|
1530 |
+
left: 41.66666667%;
|
1531 |
+
}
|
1532 |
+
.col-xs-push-4 {
|
1533 |
+
left: 33.33333333%;
|
1534 |
+
}
|
1535 |
+
.col-xs-push-3 {
|
1536 |
+
left: 25%;
|
1537 |
+
}
|
1538 |
+
.col-xs-push-2 {
|
1539 |
+
left: 16.66666667%;
|
1540 |
+
}
|
1541 |
+
.col-xs-push-1 {
|
1542 |
+
left: 8.33333333%;
|
1543 |
+
}
|
1544 |
+
.col-xs-push-0 {
|
1545 |
+
left: auto;
|
1546 |
+
}
|
1547 |
+
.col-xs-offset-12 {
|
1548 |
+
margin-left: 100%;
|
1549 |
+
}
|
1550 |
+
.col-xs-offset-11 {
|
1551 |
+
margin-left: 91.66666667%;
|
1552 |
+
}
|
1553 |
+
.col-xs-offset-10 {
|
1554 |
+
margin-left: 83.33333333%;
|
1555 |
+
}
|
1556 |
+
.col-xs-offset-9 {
|
1557 |
+
margin-left: 75%;
|
1558 |
+
}
|
1559 |
+
.col-xs-offset-8 {
|
1560 |
+
margin-left: 66.66666667%;
|
1561 |
+
}
|
1562 |
+
.col-xs-offset-7 {
|
1563 |
+
margin-left: 58.33333333%;
|
1564 |
+
}
|
1565 |
+
.col-xs-offset-6 {
|
1566 |
+
margin-left: 50%;
|
1567 |
+
}
|
1568 |
+
.col-xs-offset-5 {
|
1569 |
+
margin-left: 41.66666667%;
|
1570 |
+
}
|
1571 |
+
.col-xs-offset-4 {
|
1572 |
+
margin-left: 33.33333333%;
|
1573 |
+
}
|
1574 |
+
.col-xs-offset-3 {
|
1575 |
+
margin-left: 25%;
|
1576 |
+
}
|
1577 |
+
.col-xs-offset-2 {
|
1578 |
+
margin-left: 16.66666667%;
|
1579 |
+
}
|
1580 |
+
.col-xs-offset-1 {
|
1581 |
+
margin-left: 8.33333333%;
|
1582 |
+
}
|
1583 |
+
.col-xs-offset-0 {
|
1584 |
+
margin-left: 0;
|
1585 |
+
}
|
1586 |
+
@media (min-width: 768px) {
|
1587 |
+
.col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
|
1588 |
+
float: left;
|
1589 |
+
}
|
1590 |
+
.col-sm-12 {
|
1591 |
+
width: 100%;
|
1592 |
+
}
|
1593 |
+
.col-sm-11 {
|
1594 |
+
width: 91.66666667%;
|
1595 |
+
}
|
1596 |
+
.col-sm-10 {
|
1597 |
+
width: 83.33333333%;
|
1598 |
+
}
|
1599 |
+
.col-sm-9 {
|
1600 |
+
width: 75%;
|
1601 |
+
}
|
1602 |
+
.col-sm-8 {
|
1603 |
+
width: 66.66666667%;
|
1604 |
+
}
|
1605 |
+
.col-sm-7 {
|
1606 |
+
width: 58.33333333%;
|
1607 |
+
}
|
1608 |
+
.col-sm-6 {
|
1609 |
+
width: 50%;
|
1610 |
+
}
|
1611 |
+
.col-sm-5 {
|
1612 |
+
width: 41.66666667%;
|
1613 |
+
}
|
1614 |
+
.col-sm-4 {
|
1615 |
+
width: 33.33333333%;
|
1616 |
+
}
|
1617 |
+
.col-sm-3 {
|
1618 |
+
width: 25%;
|
1619 |
+
}
|
1620 |
+
.col-sm-2 {
|
1621 |
+
width: 16.66666667%;
|
1622 |
+
}
|
1623 |
+
.col-sm-1 {
|
1624 |
+
width: 8.33333333%;
|
1625 |
+
}
|
1626 |
+
.col-sm-pull-12 {
|
1627 |
+
right: 100%;
|
1628 |
+
}
|
1629 |
+
.col-sm-pull-11 {
|
1630 |
+
right: 91.66666667%;
|
1631 |
+
}
|
1632 |
+
.col-sm-pull-10 {
|
1633 |
+
right: 83.33333333%;
|
1634 |
+
}
|
1635 |
+
.col-sm-pull-9 {
|
1636 |
+
right: 75%;
|
1637 |
+
}
|
1638 |
+
.col-sm-pull-8 {
|
1639 |
+
right: 66.66666667%;
|
1640 |
+
}
|
1641 |
+
.col-sm-pull-7 {
|
1642 |
+
right: 58.33333333%;
|
1643 |
+
}
|
1644 |
+
.col-sm-pull-6 {
|
1645 |
+
right: 50%;
|
1646 |
+
}
|
1647 |
+
.col-sm-pull-5 {
|
1648 |
+
right: 41.66666667%;
|
1649 |
+
}
|
1650 |
+
.col-sm-pull-4 {
|
1651 |
+
right: 33.33333333%;
|
1652 |
+
}
|
1653 |
+
.col-sm-pull-3 {
|
1654 |
+
right: 25%;
|
1655 |
+
}
|
1656 |
+
.col-sm-pull-2 {
|
1657 |
+
right: 16.66666667%;
|
1658 |
+
}
|
1659 |
+
.col-sm-pull-1 {
|
1660 |
+
right: 8.33333333%;
|
1661 |
+
}
|
1662 |
+
.col-sm-pull-0 {
|
1663 |
+
right: auto;
|
1664 |
+
}
|
1665 |
+
.col-sm-push-12 {
|
1666 |
+
left: 100%;
|
1667 |
+
}
|
1668 |
+
.col-sm-push-11 {
|
1669 |
+
left: 91.66666667%;
|
1670 |
+
}
|
1671 |
+
.col-sm-push-10 {
|
1672 |
+
left: 83.33333333%;
|
1673 |
+
}
|
1674 |
+
.col-sm-push-9 {
|
1675 |
+
left: 75%;
|
1676 |
+
}
|
1677 |
+
.col-sm-push-8 {
|
1678 |
+
left: 66.66666667%;
|
1679 |
+
}
|
1680 |
+
.col-sm-push-7 {
|
1681 |
+
left: 58.33333333%;
|
1682 |
+
}
|
1683 |
+
.col-sm-push-6 {
|
1684 |
+
left: 50%;
|
1685 |
+
}
|
1686 |
+
.col-sm-push-5 {
|
1687 |
+
left: 41.66666667%;
|
1688 |
+
}
|
1689 |
+
.col-sm-push-4 {
|
1690 |
+
left: 33.33333333%;
|
1691 |
+
}
|
1692 |
+
.col-sm-push-3 {
|
1693 |
+
left: 25%;
|
1694 |
+
}
|
1695 |
+
.col-sm-push-2 {
|
1696 |
+
left: 16.66666667%;
|
1697 |
+
}
|
1698 |
+
.col-sm-push-1 {
|
1699 |
+
left: 8.33333333%;
|
1700 |
+
}
|
1701 |
+
.col-sm-push-0 {
|
1702 |
+
left: auto;
|
1703 |
+
}
|
1704 |
+
.col-sm-offset-12 {
|
1705 |
+
margin-left: 100%;
|
1706 |
+
}
|
1707 |
+
.col-sm-offset-11 {
|
1708 |
+
margin-left: 91.66666667%;
|
1709 |
+
}
|
1710 |
+
.col-sm-offset-10 {
|
1711 |
+
margin-left: 83.33333333%;
|
1712 |
+
}
|
1713 |
+
.col-sm-offset-9 {
|
1714 |
+
margin-left: 75%;
|
1715 |
+
}
|
1716 |
+
.col-sm-offset-8 {
|
1717 |
+
margin-left: 66.66666667%;
|
1718 |
+
}
|
1719 |
+
.col-sm-offset-7 {
|
1720 |
+
margin-left: 58.33333333%;
|
1721 |
+
}
|
1722 |
+
.col-sm-offset-6 {
|
1723 |
+
margin-left: 50%;
|
1724 |
+
}
|
1725 |
+
.col-sm-offset-5 {
|
1726 |
+
margin-left: 41.66666667%;
|
1727 |
+
}
|
1728 |
+
.col-sm-offset-4 {
|
1729 |
+
margin-left: 33.33333333%;
|
1730 |
+
}
|
1731 |
+
.col-sm-offset-3 {
|
1732 |
+
margin-left: 25%;
|
1733 |
+
}
|
1734 |
+
.col-sm-offset-2 {
|
1735 |
+
margin-left: 16.66666667%;
|
1736 |
+
}
|
1737 |
+
.col-sm-offset-1 {
|
1738 |
+
margin-left: 8.33333333%;
|
1739 |
+
}
|
1740 |
+
.col-sm-offset-0 {
|
1741 |
+
margin-left: 0;
|
1742 |
+
}
|
1743 |
+
}
|
1744 |
+
@media (min-width: 992px) {
|
1745 |
+
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
|
1746 |
+
float: left;
|
1747 |
+
}
|
1748 |
+
.col-md-12 {
|
1749 |
+
width: 100%;
|
1750 |
+
}
|
1751 |
+
.col-md-11 {
|
1752 |
+
width: 91.66666667%;
|
1753 |
+
}
|
1754 |
+
.col-md-10 {
|
1755 |
+
width: 83.33333333%;
|
1756 |
+
}
|
1757 |
+
.col-md-9 {
|
1758 |
+
width: 75%;
|
1759 |
+
}
|
1760 |
+
.col-md-8 {
|
1761 |
+
width: 66.66666667%;
|
1762 |
+
}
|
1763 |
+
.col-md-7 {
|
1764 |
+
width: 58.33333333%;
|
1765 |
+
}
|
1766 |
+
.col-md-6 {
|
1767 |
+
width: 50%;
|
1768 |
+
}
|
1769 |
+
.col-md-5 {
|
1770 |
+
width: 41.66666667%;
|
1771 |
+
}
|
1772 |
+
.col-md-4 {
|
1773 |
+
width: 33.33333333%;
|
1774 |
+
}
|
1775 |
+
.col-md-3 {
|
1776 |
+
width: 25%;
|
1777 |
+
}
|
1778 |
+
.col-md-2 {
|
1779 |
+
width: 16.66666667%;
|
1780 |
+
}
|
1781 |
+
.col-md-1 {
|
1782 |
+
width: 8.33333333%;
|
1783 |
+
}
|
1784 |
+
.col-md-pull-12 {
|
1785 |
+
right: 100%;
|
1786 |
+
}
|
1787 |
+
.col-md-pull-11 {
|
1788 |
+
right: 91.66666667%;
|
1789 |
+
}
|
1790 |
+
.col-md-pull-10 {
|
1791 |
+
right: 83.33333333%;
|
1792 |
+
}
|
1793 |
+
.col-md-pull-9 {
|
1794 |
+
right: 75%;
|
1795 |
+
}
|
1796 |
+
.col-md-pull-8 {
|
1797 |
+
right: 66.66666667%;
|
1798 |
+
}
|
1799 |
+
.col-md-pull-7 {
|
1800 |
+
right: 58.33333333%;
|
1801 |
+
}
|
1802 |
+
.col-md-pull-6 {
|
1803 |
+
right: 50%;
|
1804 |
+
}
|
1805 |
+
.col-md-pull-5 {
|
1806 |
+
right: 41.66666667%;
|
1807 |
+
}
|
1808 |
+
.col-md-pull-4 {
|
1809 |
+
right: 33.33333333%;
|
1810 |
+
}
|
1811 |
+
.col-md-pull-3 {
|
1812 |
+
right: 25%;
|
1813 |
+
}
|
1814 |
+
.col-md-pull-2 {
|
1815 |
+
right: 16.66666667%;
|
1816 |
+
}
|
1817 |
+
.col-md-pull-1 {
|
1818 |
+
right: 8.33333333%;
|
1819 |
+
}
|
1820 |
+
.col-md-pull-0 {
|
1821 |
+
right: auto;
|
1822 |
+
}
|
1823 |
+
.col-md-push-12 {
|
1824 |
+
left: 100%;
|
1825 |
+
}
|
1826 |
+
.col-md-push-11 {
|
1827 |
+
left: 91.66666667%;
|
1828 |
+
}
|
1829 |
+
.col-md-push-10 {
|
1830 |
+
left: 83.33333333%;
|
1831 |
+
}
|
1832 |
+
.col-md-push-9 {
|
1833 |
+
left: 75%;
|
1834 |
+
}
|
1835 |
+
.col-md-push-8 {
|
1836 |
+
left: 66.66666667%;
|
1837 |
+
}
|
1838 |
+
.col-md-push-7 {
|
1839 |
+
left: 58.33333333%;
|
1840 |
+
}
|
1841 |
+
.col-md-push-6 {
|
1842 |
+
left: 50%;
|
1843 |
+
}
|
1844 |
+
.col-md-push-5 {
|
1845 |
+
left: 41.66666667%;
|
1846 |
+
}
|
1847 |
+
.col-md-push-4 {
|
1848 |
+
left: 33.33333333%;
|
1849 |
+
}
|
1850 |
+
.col-md-push-3 {
|
1851 |
+
left: 25%;
|
1852 |
+
}
|
1853 |
+
.col-md-push-2 {
|
1854 |
+
left: 16.66666667%;
|
1855 |
+
}
|
1856 |
+
.col-md-push-1 {
|
1857 |
+
left: 8.33333333%;
|
1858 |
+
}
|
1859 |
+
.col-md-push-0 {
|
1860 |
+
left: auto;
|
1861 |
+
}
|
1862 |
+
.col-md-offset-12 {
|
1863 |
+
margin-left: 100%;
|
1864 |
+
}
|
1865 |
+
.col-md-offset-11 {
|
1866 |
+
margin-left: 91.66666667%;
|
1867 |
+
}
|
1868 |
+
.col-md-offset-10 {
|
1869 |
+
margin-left: 83.33333333%;
|
1870 |
+
}
|
1871 |
+
.col-md-offset-9 {
|
1872 |
+
margin-left: 75%;
|
1873 |
+
}
|
1874 |
+
.col-md-offset-8 {
|
1875 |
+
margin-left: 66.66666667%;
|
1876 |
+
}
|
1877 |
+
.col-md-offset-7 {
|
1878 |
+
margin-left: 58.33333333%;
|
1879 |
+
}
|
1880 |
+
.col-md-offset-6 {
|
1881 |
+
margin-left: 50%;
|
1882 |
+
}
|
1883 |
+
.col-md-offset-5 {
|
1884 |
+
margin-left: 41.66666667%;
|
1885 |
+
}
|
1886 |
+
.col-md-offset-4 {
|
1887 |
+
margin-left: 33.33333333%;
|
1888 |
+
}
|
1889 |
+
.col-md-offset-3 {
|
1890 |
+
margin-left: 25%;
|
1891 |
+
}
|
1892 |
+
.col-md-offset-2 {
|
1893 |
+
margin-left: 16.66666667%;
|
1894 |
+
}
|
1895 |
+
.col-md-offset-1 {
|
1896 |
+
margin-left: 8.33333333%;
|
1897 |
+
}
|
1898 |
+
.col-md-offset-0 {
|
1899 |
+
margin-left: 0;
|
1900 |
+
}
|
1901 |
}
|
1902 |
+
@media (min-width: 1200px) {
|
1903 |
+
.col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
|
1904 |
+
float: left;
|
1905 |
+
}
|
1906 |
+
.col-lg-12 {
|
1907 |
+
width: 100%;
|
1908 |
+
}
|
1909 |
+
.col-lg-11 {
|
1910 |
+
width: 91.66666667%;
|
1911 |
+
}
|
1912 |
+
.col-lg-10 {
|
1913 |
+
width: 83.33333333%;
|
1914 |
+
}
|
1915 |
+
.col-lg-9 {
|
1916 |
+
width: 75%;
|
1917 |
+
}
|
1918 |
+
.col-lg-8 {
|
1919 |
+
width: 66.66666667%;
|
1920 |
+
}
|
1921 |
+
.col-lg-7 {
|
1922 |
+
width: 58.33333333%;
|
1923 |
+
}
|
1924 |
+
.col-lg-6 {
|
1925 |
+
width: 50%;
|
1926 |
+
}
|
1927 |
+
.col-lg-5 {
|
1928 |
+
width: 41.66666667%;
|
1929 |
+
}
|
1930 |
+
.col-lg-4 {
|
1931 |
+
width: 33.33333333%;
|
1932 |
+
}
|
1933 |
+
.col-lg-3 {
|
1934 |
+
width: 25%;
|
1935 |
+
}
|
1936 |
+
.col-lg-2 {
|
1937 |
+
width: 16.66666667%;
|
1938 |
+
}
|
1939 |
+
.col-lg-1 {
|
1940 |
+
width: 8.33333333%;
|
1941 |
+
}
|
1942 |
+
.col-lg-pull-12 {
|
1943 |
+
right: 100%;
|
1944 |
+
}
|
1945 |
+
.col-lg-pull-11 {
|
1946 |
+
right: 91.66666667%;
|
1947 |
+
}
|
1948 |
+
.col-lg-pull-10 {
|
1949 |
+
right: 83.33333333%;
|
1950 |
+
}
|
1951 |
+
.col-lg-pull-9 {
|
1952 |
+
right: 75%;
|
1953 |
+
}
|
1954 |
+
.col-lg-pull-8 {
|
1955 |
+
right: 66.66666667%;
|
1956 |
+
}
|
1957 |
+
.col-lg-pull-7 {
|
1958 |
+
right: 58.33333333%;
|
1959 |
+
}
|
1960 |
+
.col-lg-pull-6 {
|
1961 |
+
right: 50%;
|
1962 |
+
}
|
1963 |
+
.col-lg-pull-5 {
|
1964 |
+
right: 41.66666667%;
|
1965 |
+
}
|
1966 |
+
.col-lg-pull-4 {
|
1967 |
+
right: 33.33333333%;
|
1968 |
+
}
|
1969 |
+
.col-lg-pull-3 {
|
1970 |
+
right: 25%;
|
1971 |
+
}
|
1972 |
+
.col-lg-pull-2 {
|
1973 |
+
right: 16.66666667%;
|
1974 |
+
}
|
1975 |
+
.col-lg-pull-1 {
|
1976 |
+
right: 8.33333333%;
|
1977 |
+
}
|
1978 |
+
.col-lg-pull-0 {
|
1979 |
+
right: auto;
|
1980 |
+
}
|
1981 |
+
.col-lg-push-12 {
|
1982 |
+
left: 100%;
|
1983 |
+
}
|
1984 |
+
.col-lg-push-11 {
|
1985 |
+
left: 91.66666667%;
|
1986 |
+
}
|
1987 |
+
.col-lg-push-10 {
|
1988 |
+
left: 83.33333333%;
|
1989 |
+
}
|
1990 |
+
.col-lg-push-9 {
|
1991 |
+
left: 75%;
|
1992 |
+
}
|
1993 |
+
.col-lg-push-8 {
|
1994 |
+
left: 66.66666667%;
|
1995 |
+
}
|
1996 |
+
.col-lg-push-7 {
|
1997 |
+
left: 58.33333333%;
|
1998 |
+
}
|
1999 |
+
.col-lg-push-6 {
|
2000 |
+
left: 50%;
|
2001 |
+
}
|
2002 |
+
.col-lg-push-5 {
|
2003 |
+
left: 41.66666667%;
|
2004 |
+
}
|
2005 |
+
.col-lg-push-4 {
|
2006 |
+
left: 33.33333333%;
|
2007 |
+
}
|
2008 |
+
.col-lg-push-3 {
|
2009 |
+
left: 25%;
|
2010 |
+
}
|
2011 |
+
.col-lg-push-2 {
|
2012 |
+
left: 16.66666667%;
|
2013 |
+
}
|
2014 |
+
.col-lg-push-1 {
|
2015 |
+
left: 8.33333333%;
|
2016 |
+
}
|
2017 |
+
.col-lg-push-0 {
|
2018 |
+
left: auto;
|
2019 |
+
}
|
2020 |
+
.col-lg-offset-12 {
|
2021 |
+
margin-left: 100%;
|
2022 |
+
}
|
2023 |
+
.col-lg-offset-11 {
|
2024 |
+
margin-left: 91.66666667%;
|
2025 |
+
}
|
2026 |
+
.col-lg-offset-10 {
|
2027 |
+
margin-left: 83.33333333%;
|
2028 |
+
}
|
2029 |
+
.col-lg-offset-9 {
|
2030 |
+
margin-left: 75%;
|
2031 |
+
}
|
2032 |
+
.col-lg-offset-8 {
|
2033 |
+
margin-left: 66.66666667%;
|
2034 |
+
}
|
2035 |
+
.col-lg-offset-7 {
|
2036 |
+
margin-left: 58.33333333%;
|
2037 |
+
}
|
2038 |
+
.col-lg-offset-6 {
|
2039 |
+
margin-left: 50%;
|
2040 |
+
}
|
2041 |
+
.col-lg-offset-5 {
|
2042 |
+
margin-left: 41.66666667%;
|
2043 |
+
}
|
2044 |
+
.col-lg-offset-4 {
|
2045 |
+
margin-left: 33.33333333%;
|
2046 |
+
}
|
2047 |
+
.col-lg-offset-3 {
|
2048 |
+
margin-left: 25%;
|
2049 |
+
}
|
2050 |
+
.col-lg-offset-2 {
|
2051 |
+
margin-left: 16.66666667%;
|
2052 |
+
}
|
2053 |
+
.col-lg-offset-1 {
|
2054 |
+
margin-left: 8.33333333%;
|
2055 |
+
}
|
2056 |
+
.col-lg-offset-0 {
|
2057 |
+
margin-left: 0;
|
2058 |
+
}
|
2059 |
}
|
2060 |
+
table {
|
2061 |
+
background-color: transparent;
|
2062 |
}
|
2063 |
+
th {
|
2064 |
+
text-align: left;
|
2065 |
}
|
2066 |
+
.table {
|
2067 |
+
width: 100%;
|
2068 |
+
max-width: 100%;
|
2069 |
+
margin-bottom: 20px;
|
2070 |
}
|
2071 |
+
.table > thead > tr > th,
|
2072 |
+
.table > tbody > tr > th,
|
2073 |
+
.table > tfoot > tr > th,
|
2074 |
+
.table > thead > tr > td,
|
2075 |
+
.table > tbody > tr > td,
|
2076 |
+
.table > tfoot > tr > td {
|
2077 |
+
padding: 8px;
|
2078 |
+
line-height: 1.42857143;
|
2079 |
+
vertical-align: top;
|
2080 |
+
border-top: 1px solid #ddd;
|
2081 |
}
|
2082 |
+
.table > thead > tr > th {
|
2083 |
+
vertical-align: bottom;
|
2084 |
+
border-bottom: 2px solid #ddd;
|
2085 |
}
|
2086 |
+
.table > caption + thead > tr:first-child > th,
|
2087 |
+
.table > colgroup + thead > tr:first-child > th,
|
2088 |
+
.table > thead:first-child > tr:first-child > th,
|
2089 |
+
.table > caption + thead > tr:first-child > td,
|
2090 |
+
.table > colgroup + thead > tr:first-child > td,
|
2091 |
+
.table > thead:first-child > tr:first-child > td {
|
2092 |
+
border-top: 0;
|
2093 |
}
|
2094 |
+
.table > tbody + tbody {
|
2095 |
+
border-top: 2px solid #ddd;
|
2096 |
}
|
2097 |
+
.table .table {
|
2098 |
+
background-color: #fff;
|
2099 |
}
|
2100 |
+
.table-condensed > thead > tr > th,
|
2101 |
+
.table-condensed > tbody > tr > th,
|
2102 |
+
.table-condensed > tfoot > tr > th,
|
2103 |
+
.table-condensed > thead > tr > td,
|
2104 |
+
.table-condensed > tbody > tr > td,
|
2105 |
+
.table-condensed > tfoot > tr > td {
|
2106 |
+
padding: 5px;
|
2107 |
}
|
2108 |
+
.table-bordered {
|
2109 |
+
border: 1px solid #ddd;
|
2110 |
}
|
2111 |
+
.table-bordered > thead > tr > th,
|
2112 |
+
.table-bordered > tbody > tr > th,
|
2113 |
+
.table-bordered > tfoot > tr > th,
|
2114 |
+
.table-bordered > thead > tr > td,
|
2115 |
+
.table-bordered > tbody > tr > td,
|
2116 |
+
.table-bordered > tfoot > tr > td {
|
2117 |
+
border: 1px solid #ddd;
|
2118 |
}
|
2119 |
+
.table-bordered > thead > tr > th,
|
2120 |
+
.table-bordered > thead > tr > td {
|
2121 |
+
border-bottom-width: 2px;
|
2122 |
}
|
2123 |
+
.table-striped > tbody > tr:nth-child(odd) > td,
|
2124 |
+
.table-striped > tbody > tr:nth-child(odd) > th {
|
2125 |
+
background-color: #f9f9f9;
|
2126 |
}
|
2127 |
+
.table-hover > tbody > tr:hover > td,
|
2128 |
+
.table-hover > tbody > tr:hover > th {
|
2129 |
+
background-color: #f5f5f5;
|
2130 |
}
|
2131 |
+
table col[class*="col-"] {
|
2132 |
+
position: static;
|
2133 |
+
display: table-column;
|
2134 |
+
float: none;
|
2135 |
}
|
2136 |
+
table td[class*="col-"],
|
2137 |
+
table th[class*="col-"] {
|
2138 |
+
position: static;
|
2139 |
+
display: table-cell;
|
2140 |
+
float: none;
|
2141 |
}
|
2142 |
+
.table > thead > tr > td.active,
|
2143 |
+
.table > tbody > tr > td.active,
|
2144 |
+
.table > tfoot > tr > td.active,
|
2145 |
+
.table > thead > tr > th.active,
|
2146 |
+
.table > tbody > tr > th.active,
|
2147 |
+
.table > tfoot > tr > th.active,
|
2148 |
+
.table > thead > tr.active > td,
|
2149 |
+
.table > tbody > tr.active > td,
|
2150 |
+
.table > tfoot > tr.active > td,
|
2151 |
+
.table > thead > tr.active > th,
|
2152 |
+
.table > tbody > tr.active > th,
|
2153 |
+
.table > tfoot > tr.active > th {
|
2154 |
+
background-color: #f5f5f5;
|
2155 |
}
|
2156 |
+
.table-hover > tbody > tr > td.active:hover,
|
2157 |
+
.table-hover > tbody > tr > th.active:hover,
|
2158 |
+
.table-hover > tbody > tr.active:hover > td,
|
2159 |
+
.table-hover > tbody > tr:hover > .active,
|
2160 |
+
.table-hover > tbody > tr.active:hover > th {
|
2161 |
+
background-color: #e8e8e8;
|
2162 |
+
}
|
2163 |
+
.table > thead > tr > td.success,
|
2164 |
+
.table > tbody > tr > td.success,
|
2165 |
+
.table > tfoot > tr > td.success,
|
2166 |
+
.table > thead > tr > th.success,
|
2167 |
+
.table > tbody > tr > th.success,
|
2168 |
+
.table > tfoot > tr > th.success,
|
2169 |
+
.table > thead > tr.success > td,
|
2170 |
+
.table > tbody > tr.success > td,
|
2171 |
+
.table > tfoot > tr.success > td,
|
2172 |
+
.table > thead > tr.success > th,
|
2173 |
+
.table > tbody > tr.success > th,
|
2174 |
+
.table > tfoot > tr.success > th {
|
2175 |
+
background-color: #dff0d8;
|
2176 |
}
|
2177 |
+
.table-hover > tbody > tr > td.success:hover,
|
2178 |
+
.table-hover > tbody > tr > th.success:hover,
|
2179 |
+
.table-hover > tbody > tr.success:hover > td,
|
2180 |
+
.table-hover > tbody > tr:hover > .success,
|
2181 |
+
.table-hover > tbody > tr.success:hover > th {
|
2182 |
+
background-color: #d0e9c6;
|
2183 |
}
|
2184 |
+
.table > thead > tr > td.info,
|
2185 |
+
.table > tbody > tr > td.info,
|
2186 |
+
.table > tfoot > tr > td.info,
|
2187 |
+
.table > thead > tr > th.info,
|
2188 |
+
.table > tbody > tr > th.info,
|
2189 |
+
.table > tfoot > tr > th.info,
|
2190 |
+
.table > thead > tr.info > td,
|
2191 |
+
.table > tbody > tr.info > td,
|
2192 |
+
.table > tfoot > tr.info > td,
|
2193 |
+
.table > thead > tr.info > th,
|
2194 |
+
.table > tbody > tr.info > th,
|
2195 |
+
.table > tfoot > tr.info > th {
|
2196 |
+
background-color: #d9edf7;
|
2197 |
}
|
2198 |
+
.table-hover > tbody > tr > td.info:hover,
|
2199 |
+
.table-hover > tbody > tr > th.info:hover,
|
2200 |
+
.table-hover > tbody > tr.info:hover > td,
|
2201 |
+
.table-hover > tbody > tr:hover > .info,
|
2202 |
+
.table-hover > tbody > tr.info:hover > th {
|
2203 |
+
background-color: #c4e3f3;
|
2204 |
}
|
2205 |
+
.table > thead > tr > td.warning,
|
2206 |
+
.table > tbody > tr > td.warning,
|
2207 |
+
.table > tfoot > tr > td.warning,
|
2208 |
+
.table > thead > tr > th.warning,
|
2209 |
+
.table > tbody > tr > th.warning,
|
2210 |
+
.table > tfoot > tr > th.warning,
|
2211 |
+
.table > thead > tr.warning > td,
|
2212 |
+
.table > tbody > tr.warning > td,
|
2213 |
+
.table > tfoot > tr.warning > td,
|
2214 |
+
.table > thead > tr.warning > th,
|
2215 |
+
.table > tbody > tr.warning > th,
|
2216 |
+
.table > tfoot > tr.warning > th {
|
2217 |
+
background-color: #fcf8e3;
|
2218 |
}
|
2219 |
+
.table-hover > tbody > tr > td.warning:hover,
|
2220 |
+
.table-hover > tbody > tr > th.warning:hover,
|
2221 |
+
.table-hover > tbody > tr.warning:hover > td,
|
2222 |
+
.table-hover > tbody > tr:hover > .warning,
|
2223 |
+
.table-hover > tbody > tr.warning:hover > th {
|
2224 |
+
background-color: #faf2cc;
|
2225 |
}
|
2226 |
+
.table > thead > tr > td.danger,
|
2227 |
+
.table > tbody > tr > td.danger,
|
2228 |
+
.table > tfoot > tr > td.danger,
|
2229 |
+
.table > thead > tr > th.danger,
|
2230 |
+
.table > tbody > tr > th.danger,
|
2231 |
+
.table > tfoot > tr > th.danger,
|
2232 |
+
.table > thead > tr.danger > td,
|
2233 |
+
.table > tbody > tr.danger > td,
|
2234 |
+
.table > tfoot > tr.danger > td,
|
2235 |
+
.table > thead > tr.danger > th,
|
2236 |
+
.table > tbody > tr.danger > th,
|
2237 |
+
.table > tfoot > tr.danger > th {
|
2238 |
+
background-color: #f2dede;
|
2239 |
}
|
2240 |
+
.table-hover > tbody > tr > td.danger:hover,
|
2241 |
+
.table-hover > tbody > tr > th.danger:hover,
|
2242 |
+
.table-hover > tbody > tr.danger:hover > td,
|
2243 |
+
.table-hover > tbody > tr:hover > .danger,
|
2244 |
+
.table-hover > tbody > tr.danger:hover > th {
|
2245 |
+
background-color: #ebcccc;
|
2246 |
}
|
2247 |
+
@media screen and (max-width: 767px) {
|
2248 |
+
.table-responsive {
|
2249 |
+
width: 100%;
|
2250 |
+
margin-bottom: 15px;
|
2251 |
+
overflow-x: auto;
|
2252 |
+
overflow-y: hidden;
|
2253 |
+
-webkit-overflow-scrolling: touch;
|
2254 |
+
-ms-overflow-style: -ms-autohiding-scrollbar;
|
2255 |
+
border: 1px solid #ddd;
|
2256 |
+
}
|
2257 |
+
.table-responsive > .table {
|
2258 |
+
margin-bottom: 0;
|
2259 |
+
}
|
2260 |
+
.table-responsive > .table > thead > tr > th,
|
2261 |
+
.table-responsive > .table > tbody > tr > th,
|
2262 |
+
.table-responsive > .table > tfoot > tr > th,
|
2263 |
+
.table-responsive > .table > thead > tr > td,
|
2264 |
+
.table-responsive > .table > tbody > tr > td,
|
2265 |
+
.table-responsive > .table > tfoot > tr > td {
|
2266 |
+
white-space: nowrap;
|
2267 |
+
}
|
2268 |
+
.table-responsive > .table-bordered {
|
2269 |
+
border: 0;
|
2270 |
+
}
|
2271 |
+
.table-responsive > .table-bordered > thead > tr > th:first-child,
|
2272 |
+
.table-responsive > .table-bordered > tbody > tr > th:first-child,
|
2273 |
+
.table-responsive > .table-bordered > tfoot > tr > th:first-child,
|
2274 |
+
.table-responsive > .table-bordered > thead > tr > td:first-child,
|
2275 |
+
.table-responsive > .table-bordered > tbody > tr > td:first-child,
|
2276 |
+
.table-responsive > .table-bordered > tfoot > tr > td:first-child {
|
2277 |
+
border-left: 0;
|
2278 |
+
}
|
2279 |
+
.table-responsive > .table-bordered > thead > tr > th:last-child,
|
2280 |
+
.table-responsive > .table-bordered > tbody > tr > th:last-child,
|
2281 |
+
.table-responsive > .table-bordered > tfoot > tr > th:last-child,
|
2282 |
+
.table-responsive > .table-bordered > thead > tr > td:last-child,
|
2283 |
+
.table-responsive > .table-bordered > tbody > tr > td:last-child,
|
2284 |
+
.table-responsive > .table-bordered > tfoot > tr > td:last-child {
|
2285 |
+
border-right: 0;
|
2286 |
+
}
|
2287 |
+
.table-responsive > .table-bordered > tbody > tr:last-child > th,
|
2288 |
+
.table-responsive > .table-bordered > tfoot > tr:last-child > th,
|
2289 |
+
.table-responsive > .table-bordered > tbody > tr:last-child > td,
|
2290 |
+
.table-responsive > .table-bordered > tfoot > tr:last-child > td {
|
2291 |
+
border-bottom: 0;
|
2292 |
+
}
|
2293 |
}
|
2294 |
+
fieldset {
|
2295 |
+
min-width: 0;
|
2296 |
+
padding: 0;
|
2297 |
+
margin: 0;
|
2298 |
+
border: 0;
|
2299 |
}
|
2300 |
+
legend {
|
2301 |
+
display: block;
|
2302 |
+
width: 100%;
|
2303 |
+
padding: 0;
|
2304 |
+
margin-bottom: 20px;
|
2305 |
+
font-size: 21px;
|
2306 |
+
line-height: inherit;
|
2307 |
+
color: #333;
|
2308 |
+
border: 0;
|
2309 |
+
border-bottom: 1px solid #e5e5e5;
|
2310 |
}
|
2311 |
+
label {
|
2312 |
+
display: inline-block;
|
2313 |
+
max-width: 100%;
|
2314 |
+
margin-bottom: 5px;
|
2315 |
+
font-weight: bold;
|
2316 |
}
|
2317 |
+
input[type="search"] {
|
2318 |
+
-webkit-box-sizing: border-box;
|
2319 |
+
-moz-box-sizing: border-box;
|
2320 |
+
box-sizing: border-box;
|
2321 |
}
|
2322 |
+
input[type="radio"],
|
2323 |
+
input[type="checkbox"] {
|
2324 |
+
margin: 4px 0 0;
|
2325 |
+
margin-top: 1px \9;
|
2326 |
+
line-height: normal;
|
2327 |
}
|
2328 |
+
input[type="file"] {
|
2329 |
+
display: block;
|
2330 |
}
|
2331 |
+
input[type="range"] {
|
2332 |
+
display: block;
|
2333 |
+
width: 100%;
|
2334 |
}
|
2335 |
+
select[multiple],
|
2336 |
+
select[size] {
|
2337 |
+
height: auto;
|
2338 |
}
|
2339 |
+
input[type="file"]:focus,
|
2340 |
+
input[type="radio"]:focus,
|
2341 |
+
input[type="checkbox"]:focus {
|
2342 |
+
outline: thin dotted;
|
2343 |
+
outline: 5px auto -webkit-focus-ring-color;
|
2344 |
+
outline-offset: -2px;
|
2345 |
}
|
2346 |
+
output {
|
2347 |
+
display: block;
|
2348 |
+
padding-top: 7px;
|
2349 |
+
font-size: 14px;
|
2350 |
+
line-height: 1.42857143;
|
2351 |
+
color: #555;
|
2352 |
}
|
2353 |
+
.form-control {
|
2354 |
+
display: block;
|
2355 |
+
width: 100%;
|
2356 |
+
height: 34px;
|
2357 |
+
padding: 6px 12px;
|
2358 |
+
font-size: 14px;
|
2359 |
+
line-height: 1.42857143;
|
2360 |
+
color: #555;
|
2361 |
+
background-color: #fff;
|
2362 |
+
background-image: none;
|
2363 |
+
border: 1px solid #ccc;
|
2364 |
+
border-radius: 4px;
|
2365 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
2366 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
2367 |
+
-webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
|
2368 |
+
-o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
2369 |
+
transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
|
2370 |
}
|
2371 |
+
.form-control:focus {
|
2372 |
+
border-color: #66afe9;
|
2373 |
+
outline: 0;
|
2374 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
|
2375 |
+
box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);
|
2376 |
}
|
2377 |
+
.form-control::-moz-placeholder {
|
2378 |
+
color: #777;
|
2379 |
+
opacity: 1;
|
2380 |
}
|
2381 |
+
.form-control:-ms-input-placeholder {
|
2382 |
+
color: #777;
|
2383 |
}
|
2384 |
+
.form-control::-webkit-input-placeholder {
|
2385 |
+
color: #777;
|
2386 |
}
|
2387 |
+
.form-control[disabled],
|
2388 |
+
.form-control[readonly],
|
2389 |
+
fieldset[disabled] .form-control {
|
2390 |
+
cursor: not-allowed;
|
2391 |
+
background-color: #eee;
|
2392 |
+
opacity: 1;
|
2393 |
}
|
2394 |
+
textarea.form-control {
|
2395 |
+
height: auto;
|
2396 |
}
|
2397 |
+
input[type="search"] {
|
2398 |
+
-webkit-appearance: none;
|
2399 |
}
|
2400 |
+
input[type="date"],
|
2401 |
+
input[type="time"],
|
2402 |
+
input[type="datetime-local"],
|
2403 |
+
input[type="month"] {
|
2404 |
+
line-height: 34px;
|
2405 |
+
line-height: 1.42857143 \0;
|
2406 |
}
|
2407 |
+
input[type="date"].input-sm,
|
2408 |
+
input[type="time"].input-sm,
|
2409 |
+
input[type="datetime-local"].input-sm,
|
2410 |
+
input[type="month"].input-sm {
|
2411 |
+
line-height: 30px;
|
2412 |
}
|
2413 |
+
input[type="date"].input-lg,
|
2414 |
+
input[type="time"].input-lg,
|
2415 |
+
input[type="datetime-local"].input-lg,
|
2416 |
+
input[type="month"].input-lg {
|
2417 |
+
line-height: 46px;
|
2418 |
}
|
2419 |
+
.form-group {
|
2420 |
+
margin-bottom: 15px;
|
2421 |
}
|
2422 |
+
.radio,
|
2423 |
+
.checkbox {
|
2424 |
+
position: relative;
|
2425 |
+
display: block;
|
2426 |
+
min-height: 20px;
|
2427 |
+
margin-top: 10px;
|
2428 |
+
margin-bottom: 10px;
|
2429 |
}
|
2430 |
+
.radio label,
|
2431 |
+
.checkbox label {
|
2432 |
+
padding-left: 20px;
|
2433 |
+
margin-bottom: 0;
|
2434 |
+
font-weight: normal;
|
2435 |
+
cursor: pointer;
|
2436 |
}
|
2437 |
+
.radio input[type="radio"],
|
2438 |
+
.radio-inline input[type="radio"],
|
2439 |
+
.checkbox input[type="checkbox"],
|
2440 |
+
.checkbox-inline input[type="checkbox"] {
|
2441 |
+
position: absolute;
|
2442 |
+
margin-top: 4px \9;
|
2443 |
+
margin-left: -20px;
|
2444 |
}
|
2445 |
+
.radio + .radio,
|
2446 |
+
.checkbox + .checkbox {
|
2447 |
+
margin-top: -5px;
|
2448 |
}
|
2449 |
+
.radio-inline,
|
2450 |
+
.checkbox-inline {
|
2451 |
+
display: inline-block;
|
2452 |
+
padding-left: 20px;
|
2453 |
+
margin-bottom: 0;
|
2454 |
+
font-weight: normal;
|
2455 |
+
vertical-align: middle;
|
2456 |
+
cursor: pointer;
|
2457 |
}
|
2458 |
+
.radio-inline + .radio-inline,
|
2459 |
+
.checkbox-inline + .checkbox-inline {
|
2460 |
+
margin-top: 0;
|
2461 |
+
margin-left: 10px;
|
2462 |
}
|
2463 |
+
input[type="radio"][disabled],
|
2464 |
+
input[type="checkbox"][disabled],
|
2465 |
+
input[type="radio"].disabled,
|
2466 |
+
input[type="checkbox"].disabled,
|
2467 |
+
fieldset[disabled] input[type="radio"],
|
2468 |
+
fieldset[disabled] input[type="checkbox"] {
|
2469 |
+
cursor: not-allowed;
|
2470 |
}
|
2471 |
+
.radio-inline.disabled,
|
2472 |
+
.checkbox-inline.disabled,
|
2473 |
+
fieldset[disabled] .radio-inline,
|
2474 |
+
fieldset[disabled] .checkbox-inline {
|
2475 |
+
cursor: not-allowed;
|
2476 |
}
|
2477 |
+
.radio.disabled label,
|
2478 |
+
.checkbox.disabled label,
|
2479 |
+
fieldset[disabled] .radio label,
|
2480 |
+
fieldset[disabled] .checkbox label {
|
2481 |
+
cursor: not-allowed;
|
2482 |
}
|
2483 |
+
.form-control-static {
|
2484 |
+
padding-top: 7px;
|
2485 |
+
padding-bottom: 7px;
|
2486 |
+
margin-bottom: 0;
|
2487 |
}
|
2488 |
+
.form-control-static.input-lg,
|
2489 |
+
.form-control-static.input-sm {
|
2490 |
+
padding-right: 0;
|
2491 |
+
padding-left: 0;
|
2492 |
}
|
2493 |
+
.input-sm,
|
2494 |
+
.form-horizontal .form-group-sm .form-control {
|
2495 |
+
height: 30px;
|
2496 |
+
padding: 5px 10px;
|
2497 |
+
font-size: 12px;
|
2498 |
+
line-height: 1.5;
|
2499 |
+
border-radius: 3px;
|
2500 |
}
|
2501 |
+
select.input-sm {
|
2502 |
+
height: 30px;
|
2503 |
+
line-height: 30px;
|
2504 |
}
|
2505 |
+
textarea.input-sm,
|
2506 |
+
select[multiple].input-sm {
|
2507 |
+
height: auto;
|
2508 |
}
|
2509 |
+
.input-lg,
|
2510 |
+
.form-horizontal .form-group-lg .form-control {
|
2511 |
+
height: 46px;
|
2512 |
+
padding: 10px 16px;
|
2513 |
+
font-size: 18px;
|
2514 |
+
line-height: 1.33;
|
2515 |
+
border-radius: 6px;
|
2516 |
}
|
2517 |
+
select.input-lg {
|
2518 |
+
height: 46px;
|
2519 |
+
line-height: 46px;
|
2520 |
}
|
2521 |
+
textarea.input-lg,
|
2522 |
+
select[multiple].input-lg {
|
2523 |
+
height: auto;
|
2524 |
}
|
2525 |
+
.has-feedback {
|
2526 |
+
position: relative;
|
2527 |
}
|
2528 |
+
.has-feedback .form-control {
|
2529 |
+
padding-right: 42.5px;
|
2530 |
}
|
2531 |
+
.form-control-feedback {
|
2532 |
+
position: absolute;
|
2533 |
+
top: 25px;
|
2534 |
+
right: 0;
|
2535 |
+
z-index: 2;
|
2536 |
+
display: block;
|
2537 |
+
width: 34px;
|
2538 |
+
height: 34px;
|
2539 |
+
line-height: 34px;
|
2540 |
+
text-align: center;
|
2541 |
}
|
2542 |
+
.input-lg + .form-control-feedback {
|
2543 |
+
width: 46px;
|
2544 |
+
height: 46px;
|
2545 |
+
line-height: 46px;
|
2546 |
}
|
2547 |
+
.input-sm + .form-control-feedback {
|
2548 |
+
width: 30px;
|
2549 |
+
height: 30px;
|
2550 |
+
line-height: 30px;
|
2551 |
}
|
2552 |
+
.has-success .help-block,
|
2553 |
+
.has-success .control-label,
|
2554 |
+
.has-success .radio,
|
2555 |
+
.has-success .checkbox,
|
2556 |
+
.has-success .radio-inline,
|
2557 |
+
.has-success .checkbox-inline {
|
2558 |
+
color: #3c763d;
|
2559 |
}
|
2560 |
+
.has-success .form-control {
|
2561 |
+
border-color: #3c763d;
|
2562 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
2563 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
2564 |
}
|
2565 |
+
.has-success .form-control:focus {
|
2566 |
+
border-color: #2b542c;
|
2567 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
|
2568 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;
|
2569 |
}
|
2570 |
+
.has-success .input-group-addon {
|
2571 |
+
color: #3c763d;
|
2572 |
+
background-color: #dff0d8;
|
2573 |
+
border-color: #3c763d;
|
2574 |
}
|
2575 |
+
.has-success .form-control-feedback {
|
2576 |
+
color: #3c763d;
|
2577 |
}
|
2578 |
+
.has-warning .help-block,
|
2579 |
+
.has-warning .control-label,
|
2580 |
+
.has-warning .radio,
|
2581 |
+
.has-warning .checkbox,
|
2582 |
+
.has-warning .radio-inline,
|
2583 |
+
.has-warning .checkbox-inline {
|
2584 |
+
color: #8a6d3b;
|
2585 |
}
|
2586 |
+
.has-warning .form-control {
|
2587 |
+
border-color: #8a6d3b;
|
2588 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
2589 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
2590 |
}
|
2591 |
+
.has-warning .form-control:focus {
|
2592 |
+
border-color: #66512c;
|
2593 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
|
2594 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;
|
2595 |
}
|
2596 |
+
.has-warning .input-group-addon {
|
2597 |
+
color: #8a6d3b;
|
2598 |
+
background-color: #fcf8e3;
|
2599 |
+
border-color: #8a6d3b;
|
2600 |
}
|
2601 |
+
.has-warning .form-control-feedback {
|
2602 |
+
color: #8a6d3b;
|
2603 |
}
|
2604 |
+
.has-error .help-block,
|
2605 |
+
.has-error .control-label,
|
2606 |
+
.has-error .radio,
|
2607 |
+
.has-error .checkbox,
|
2608 |
+
.has-error .radio-inline,
|
2609 |
+
.has-error .checkbox-inline {
|
2610 |
+
color: #a94442;
|
2611 |
}
|
2612 |
+
.has-error .form-control {
|
2613 |
+
border-color: #a94442;
|
2614 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
2615 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
|
2616 |
}
|
2617 |
+
.has-error .form-control:focus {
|
2618 |
+
border-color: #843534;
|
2619 |
+
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
|
2620 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;
|
2621 |
}
|
2622 |
+
.has-error .input-group-addon {
|
2623 |
+
color: #a94442;
|
2624 |
+
background-color: #f2dede;
|
2625 |
+
border-color: #a94442;
|
2626 |
}
|
2627 |
+
.has-error .form-control-feedback {
|
2628 |
+
color: #a94442;
|
2629 |
}
|
2630 |
+
.has-feedback label.sr-only ~ .form-control-feedback {
|
2631 |
+
top: 0;
|
2632 |
}
|
2633 |
+
.help-block {
|
2634 |
+
display: block;
|
2635 |
+
margin-top: 5px;
|
2636 |
+
margin-bottom: 10px;
|
2637 |
+
color: #737373;
|
2638 |
+
}
|
2639 |
+
@media (min-width: 768px) {
|
2640 |
+
.form-inline .form-group {
|
2641 |
+
display: inline-block;
|
2642 |
+
margin-bottom: 0;
|
2643 |
+
vertical-align: middle;
|
2644 |
+
}
|
2645 |
+
.form-inline .form-control {
|
2646 |
+
display: inline-block;
|
2647 |
+
width: auto;
|
2648 |
+
vertical-align: middle;
|
2649 |
+
}
|
2650 |
+
.form-inline .input-group {
|
2651 |
+
display: inline-table;
|
2652 |
+
vertical-align: middle;
|
2653 |
+
}
|
2654 |
+
.form-inline .input-group .input-group-addon,
|
2655 |
+
.form-inline .input-group .input-group-btn,
|
2656 |
+
.form-inline .input-group .form-control {
|
2657 |
+
width: auto;
|
2658 |
+
}
|
2659 |
+
.form-inline .input-group > .form-control {
|
2660 |
+
width: 100%;
|
2661 |
+
}
|
2662 |
+
.form-inline .control-label {
|
2663 |
+
margin-bottom: 0;
|
2664 |
+
vertical-align: middle;
|
2665 |
+
}
|
2666 |
+
.form-inline .radio,
|
2667 |
+
.form-inline .checkbox {
|
2668 |
+
display: inline-block;
|
2669 |
+
margin-top: 0;
|
2670 |
+
margin-bottom: 0;
|
2671 |
+
vertical-align: middle;
|
2672 |
+
}
|
2673 |
+
.form-inline .radio label,
|
2674 |
+
.form-inline .checkbox label {
|
2675 |
+
padding-left: 0;
|
2676 |
+
}
|
2677 |
+
.form-inline .radio input[type="radio"],
|
2678 |
+
.form-inline .checkbox input[type="checkbox"] {
|
2679 |
+
position: relative;
|
2680 |
+
margin-left: 0;
|
2681 |
+
}
|
2682 |
+
.form-inline .has-feedback .form-control-feedback {
|
2683 |
+
top: 0;
|
2684 |
+
}
|
2685 |
}
|
2686 |
+
.form-horizontal .radio,
|
2687 |
+
.form-horizontal .checkbox,
|
2688 |
+
.form-horizontal .radio-inline,
|
2689 |
+
.form-horizontal .checkbox-inline {
|
2690 |
+
padding-top: 7px;
|
2691 |
+
margin-top: 0;
|
2692 |
+
margin-bottom: 0;
|
2693 |
}
|
2694 |
+
.form-horizontal .radio,
|
2695 |
+
.form-horizontal .checkbox {
|
2696 |
+
min-height: 27px;
|
2697 |
}
|
2698 |
+
.form-horizontal .form-group {
|
2699 |
+
margin-right: -15px;
|
2700 |
+
margin-left: -15px;
|
2701 |
}
|
2702 |
+
@media (min-width: 768px) {
|
2703 |
+
.form-horizontal .control-label {
|
2704 |
+
padding-top: 7px;
|
2705 |
+
margin-bottom: 0;
|
2706 |
+
text-align: right;
|
2707 |
+
}
|
2708 |
}
|
2709 |
+
.form-horizontal .has-feedback .form-control-feedback {
|
2710 |
+
top: 0;
|
2711 |
+
right: 15px;
|
2712 |
}
|
2713 |
+
@media (min-width: 768px) {
|
2714 |
+
.form-horizontal .form-group-lg .control-label {
|
2715 |
+
padding-top: 14.3px;
|
2716 |
+
}
|
2717 |
}
|
2718 |
+
@media (min-width: 768px) {
|
2719 |
+
.form-horizontal .form-group-sm .control-label {
|
2720 |
+
padding-top: 6px;
|
2721 |
+
}
|
2722 |
}
|
2723 |
+
.btn {
|
2724 |
+
display: inline-block;
|
2725 |
+
padding: 6px 12px;
|
2726 |
+
margin-bottom: 0;
|
2727 |
+
font-size: 14px;
|
2728 |
+
font-weight: normal;
|
2729 |
+
line-height: 1.42857143;
|
2730 |
+
text-align: center;
|
2731 |
+
white-space: nowrap;
|
2732 |
+
vertical-align: middle;
|
2733 |
+
cursor: pointer;
|
2734 |
+
-webkit-user-select: none;
|
2735 |
+
-moz-user-select: none;
|
2736 |
+
-ms-user-select: none;
|
2737 |
+
user-select: none;
|
2738 |
+
background-image: none;
|
2739 |
+
border: 1px solid transparent;
|
2740 |
+
border-radius: 4px;
|
2741 |
}
|
2742 |
+
.btn:focus,
|
2743 |
+
.btn:active:focus,
|
2744 |
+
.btn.active:focus {
|
2745 |
+
outline: thin dotted;
|
2746 |
+
outline: 5px auto -webkit-focus-ring-color;
|
2747 |
+
outline-offset: -2px;
|
2748 |
}
|
2749 |
+
.btn:hover,
|
2750 |
+
.btn:focus {
|
2751 |
+
color: #333;
|
2752 |
+
text-decoration: none;
|
2753 |
}
|
2754 |
+
.btn:active,
|
2755 |
+
.btn.active {
|
2756 |
+
background-image: none;
|
2757 |
+
outline: 0;
|
2758 |
+
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
2759 |
+
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
2760 |
}
|
2761 |
+
.btn.disabled,
|
2762 |
+
.btn[disabled],
|
2763 |
+
fieldset[disabled] .btn {
|
2764 |
+
pointer-events: none;
|
2765 |
+
cursor: not-allowed;
|
2766 |
+
filter: alpha(opacity=65);
|
2767 |
+
-webkit-box-shadow: none;
|
2768 |
+
box-shadow: none;
|
2769 |
+
opacity: .65;
|
2770 |
}
|
2771 |
+
.btn-default {
|
2772 |
+
color: #333;
|
2773 |
+
background-color: #fff;
|
2774 |
+
border-color: #ccc;
|
2775 |
}
|
2776 |
+
.btn-default:hover,
|
2777 |
+
.btn-default:focus,
|
2778 |
+
.btn-default:active,
|
2779 |
+
.btn-default.active,
|
2780 |
+
.open > .dropdown-toggle.btn-default {
|
2781 |
+
color: #333;
|
2782 |
+
background-color: #e6e6e6;
|
2783 |
+
border-color: #adadad;
|
2784 |
}
|
2785 |
+
.btn-default:active,
|
2786 |
+
.btn-default.active,
|
2787 |
+
.open > .dropdown-toggle.btn-default {
|
2788 |
+
background-image: none;
|
2789 |
}
|
2790 |
+
.btn-default.disabled,
|
2791 |
+
.btn-default[disabled],
|
2792 |
+
fieldset[disabled] .btn-default,
|
2793 |
+
.btn-default.disabled:hover,
|
2794 |
+
.btn-default[disabled]:hover,
|
2795 |
+
fieldset[disabled] .btn-default:hover,
|
2796 |
+
.btn-default.disabled:focus,
|
2797 |
+
.btn-default[disabled]:focus,
|
2798 |
+
fieldset[disabled] .btn-default:focus,
|
2799 |
+
.btn-default.disabled:active,
|
2800 |
+
.btn-default[disabled]:active,
|
2801 |
+
fieldset[disabled] .btn-default:active,
|
2802 |
+
.btn-default.disabled.active,
|
2803 |
+
.btn-default[disabled].active,
|
2804 |
+
fieldset[disabled] .btn-default.active {
|
2805 |
+
background-color: #fff;
|
2806 |
+
border-color: #ccc;
|
2807 |
}
|
2808 |
+
.btn-default .badge {
|
2809 |
+
color: #fff;
|
2810 |
+
background-color: #333;
|
2811 |
}
|
2812 |
+
.btn-primary {
|
2813 |
+
color: #fff;
|
2814 |
+
background-color: #428bca;
|
2815 |
+
border-color: #357ebd;
|
2816 |
}
|
2817 |
+
.btn-primary:hover,
|
2818 |
+
.btn-primary:focus,
|
2819 |
+
.btn-primary:active,
|
2820 |
+
.btn-primary.active,
|
2821 |
+
.open > .dropdown-toggle.btn-primary {
|
2822 |
+
color: #fff;
|
2823 |
+
background-color: #3071a9;
|
2824 |
+
border-color: #285e8e;
|
2825 |
}
|
2826 |
+
.btn-primary:active,
|
2827 |
+
.btn-primary.active,
|
2828 |
+
.open > .dropdown-toggle.btn-primary {
|
2829 |
+
background-image: none;
|
2830 |
}
|
2831 |
+
.btn-primary.disabled,
|
2832 |
+
.btn-primary[disabled],
|
2833 |
+
fieldset[disabled] .btn-primary,
|
2834 |
+
.btn-primary.disabled:hover,
|
2835 |
+
.btn-primary[disabled]:hover,
|
2836 |
+
fieldset[disabled] .btn-primary:hover,
|
2837 |
+
.btn-primary.disabled:focus,
|
2838 |
+
.btn-primary[disabled]:focus,
|
2839 |
+
fieldset[disabled] .btn-primary:focus,
|
2840 |
+
.btn-primary.disabled:active,
|
2841 |
+
.btn-primary[disabled]:active,
|
2842 |
+
fieldset[disabled] .btn-primary:active,
|
2843 |
+
.btn-primary.disabled.active,
|
2844 |
+
.btn-primary[disabled].active,
|
2845 |
+
fieldset[disabled] .btn-primary.active {
|
2846 |
+
background-color: #428bca;
|
2847 |
+
border-color: #357ebd;
|
2848 |
}
|
2849 |
+
.btn-primary .badge {
|
2850 |
+
color: #428bca;
|
2851 |
+
background-color: #fff;
|
2852 |
}
|
2853 |
+
.btn-success {
|
2854 |
+
color: #fff;
|
2855 |
+
background-color: #5cb85c;
|
2856 |
+
border-color: #4cae4c;
|
2857 |
}
|
2858 |
+
.btn-success:hover,
|
2859 |
+
.btn-success:focus,
|
2860 |
+
.btn-success:active,
|
2861 |
+
.btn-success.active,
|
2862 |
+
.open > .dropdown-toggle.btn-success {
|
2863 |
+
color: #fff;
|
2864 |
+
background-color: #449d44;
|
2865 |
+
border-color: #398439;
|
2866 |
}
|
2867 |
+
.btn-success:active,
|
2868 |
+
.btn-success.active,
|
2869 |
+
.open > .dropdown-toggle.btn-success {
|
2870 |
+
background-image: none;
|
2871 |
}
|
2872 |
+
.btn-success.disabled,
|
2873 |
+
.btn-success[disabled],
|
2874 |
+
fieldset[disabled] .btn-success,
|
2875 |
+
.btn-success.disabled:hover,
|
2876 |
+
.btn-success[disabled]:hover,
|
2877 |
+
fieldset[disabled] .btn-success:hover,
|
2878 |
+
.btn-success.disabled:focus,
|
2879 |
+
.btn-success[disabled]:focus,
|
2880 |
+
fieldset[disabled] .btn-success:focus,
|
2881 |
+
.btn-success.disabled:active,
|
2882 |
+
.btn-success[disabled]:active,
|
2883 |
+
fieldset[disabled] .btn-success:active,
|
2884 |
+
.btn-success.disabled.active,
|
2885 |
+
.btn-success[disabled].active,
|
2886 |
+
fieldset[disabled] .btn-success.active {
|
2887 |
+
background-color: #5cb85c;
|
2888 |
+
border-color: #4cae4c;
|
2889 |
}
|
2890 |
+
.btn-success .badge {
|
2891 |
+
color: #5cb85c;
|
2892 |
+
background-color: #fff;
|
2893 |
}
|
2894 |
+
.btn-info {
|
2895 |
+
color: #fff;
|
2896 |
+
background-color: #5bc0de;
|
2897 |
+
border-color: #46b8da;
|
2898 |
}
|
2899 |
+
.btn-info:hover,
|
2900 |
+
.btn-info:focus,
|
2901 |
+
.btn-info:active,
|
2902 |
+
.btn-info.active,
|
2903 |
+
.open > .dropdown-toggle.btn-info {
|
2904 |
+
color: #fff;
|
2905 |
+
background-color: #31b0d5;
|
2906 |
+
border-color: #269abc;
|
2907 |
}
|
2908 |
+
.btn-info:active,
|
2909 |
+
.btn-info.active,
|
2910 |
+
.open > .dropdown-toggle.btn-info {
|
2911 |
+
background-image: none;
|
2912 |
}
|
2913 |
+
.btn-info.disabled,
|
2914 |
+
.btn-info[disabled],
|
2915 |
+
fieldset[disabled] .btn-info,
|
2916 |
+
.btn-info.disabled:hover,
|
2917 |
+
.btn-info[disabled]:hover,
|
2918 |
+
fieldset[disabled] .btn-info:hover,
|
2919 |
+
.btn-info.disabled:focus,
|
2920 |
+
.btn-info[disabled]:focus,
|
2921 |
+
fieldset[disabled] .btn-info:focus,
|
2922 |
+
.btn-info.disabled:active,
|
2923 |
+
.btn-info[disabled]:active,
|
2924 |
+
fieldset[disabled] .btn-info:active,
|
2925 |
+
.btn-info.disabled.active,
|
2926 |
+
.btn-info[disabled].active,
|
2927 |
+
fieldset[disabled] .btn-info.active {
|
2928 |
+
background-color: #5bc0de;
|
2929 |
+
border-color: #46b8da;
|
2930 |
}
|
2931 |
+
.btn-info .badge {
|
2932 |
+
color: #5bc0de;
|
2933 |
+
background-color: #fff;
|
2934 |
}
|
2935 |
+
.btn-warning {
|
2936 |
+
color: #fff;
|
2937 |
+
background-color: #f0ad4e;
|
2938 |
+
border-color: #eea236;
|
2939 |
}
|
2940 |
+
.btn-warning:hover,
|
2941 |
+
.btn-warning:focus,
|
2942 |
+
.btn-warning:active,
|
2943 |
+
.btn-warning.active,
|
2944 |
+
.open > .dropdown-toggle.btn-warning {
|
2945 |
+
color: #fff;
|
2946 |
+
background-color: #ec971f;
|
2947 |
+
border-color: #d58512;
|
2948 |
}
|
2949 |
+
.btn-warning:active,
|
2950 |
+
.btn-warning.active,
|
2951 |
+
.open > .dropdown-toggle.btn-warning {
|
2952 |
+
background-image: none;
|
2953 |
}
|
2954 |
+
.btn-warning.disabled,
|
2955 |
+
.btn-warning[disabled],
|
2956 |
+
fieldset[disabled] .btn-warning,
|
2957 |
+
.btn-warning.disabled:hover,
|
2958 |
+
.btn-warning[disabled]:hover,
|
2959 |
+
fieldset[disabled] .btn-warning:hover,
|
2960 |
+
.btn-warning.disabled:focus,
|
2961 |
+
.btn-warning[disabled]:focus,
|
2962 |
+
fieldset[disabled] .btn-warning:focus,
|
2963 |
+
.btn-warning.disabled:active,
|
2964 |
+
.btn-warning[disabled]:active,
|
2965 |
+
fieldset[disabled] .btn-warning:active,
|
2966 |
+
.btn-warning.disabled.active,
|
2967 |
+
.btn-warning[disabled].active,
|
2968 |
+
fieldset[disabled] .btn-warning.active {
|
2969 |
+
background-color: #f0ad4e;
|
2970 |
+
border-color: #eea236;
|
2971 |
}
|
2972 |
+
.btn-warning .badge {
|
2973 |
+
color: #f0ad4e;
|
2974 |
+
background-color: #fff;
|
2975 |
}
|
2976 |
+
.btn-danger {
|
2977 |
+
color: #fff;
|
2978 |
+
background-color: #d9534f;
|
2979 |
+
border-color: #d43f3a;
|
2980 |
}
|
2981 |
+
.btn-danger:hover,
|
2982 |
+
.btn-danger:focus,
|
2983 |
+
.btn-danger:active,
|
2984 |
+
.btn-danger.active,
|
2985 |
+
.open > .dropdown-toggle.btn-danger {
|
2986 |
+
color: #fff;
|
2987 |
+
background-color: #c9302c;
|
2988 |
+
border-color: #ac2925;
|
2989 |
}
|
2990 |
+
.btn-danger:active,
|
2991 |
+
.btn-danger.active,
|
2992 |
+
.open > .dropdown-toggle.btn-danger {
|
2993 |
+
background-image: none;
|
2994 |
}
|
2995 |
+
.btn-danger.disabled,
|
2996 |
+
.btn-danger[disabled],
|
2997 |
+
fieldset[disabled] .btn-danger,
|
2998 |
+
.btn-danger.disabled:hover,
|
2999 |
+
.btn-danger[disabled]:hover,
|
3000 |
+
fieldset[disabled] .btn-danger:hover,
|
3001 |
+
.btn-danger.disabled:focus,
|
3002 |
+
.btn-danger[disabled]:focus,
|
3003 |
+
fieldset[disabled] .btn-danger:focus,
|
3004 |
+
.btn-danger.disabled:active,
|
3005 |
+
.btn-danger[disabled]:active,
|
3006 |
+
fieldset[disabled] .btn-danger:active,
|
3007 |
+
.btn-danger.disabled.active,
|
3008 |
+
.btn-danger[disabled].active,
|
3009 |
+
fieldset[disabled] .btn-danger.active {
|
3010 |
+
background-color: #d9534f;
|
3011 |
+
border-color: #d43f3a;
|
3012 |
}
|
3013 |
+
.btn-danger .badge {
|
3014 |
+
color: #d9534f;
|
3015 |
+
background-color: #fff;
|
3016 |
}
|
3017 |
+
.btn-link {
|
3018 |
+
font-weight: normal;
|
3019 |
+
color: #428bca;
|
3020 |
+
cursor: pointer;
|
3021 |
+
border-radius: 0;
|
3022 |
}
|
3023 |
+
.btn-link,
|
3024 |
+
.btn-link:active,
|
3025 |
+
.btn-link[disabled],
|
3026 |
+
fieldset[disabled] .btn-link {
|
3027 |
+
background-color: transparent;
|
3028 |
+
-webkit-box-shadow: none;
|
3029 |
+
box-shadow: none;
|
3030 |
}
|
3031 |
+
.btn-link,
|
3032 |
+
.btn-link:hover,
|
3033 |
+
.btn-link:focus,
|
3034 |
+
.btn-link:active {
|
3035 |
+
border-color: transparent;
|
3036 |
}
|
3037 |
+
.btn-link:hover,
|
3038 |
+
.btn-link:focus {
|
3039 |
+
color: #2a6496;
|
3040 |
+
text-decoration: underline;
|
3041 |
+
background-color: transparent;
|
3042 |
}
|
3043 |
+
.btn-link[disabled]:hover,
|
3044 |
+
fieldset[disabled] .btn-link:hover,
|
3045 |
+
.btn-link[disabled]:focus,
|
3046 |
+
fieldset[disabled] .btn-link:focus {
|
3047 |
+
color: #777;
|
3048 |
+
text-decoration: none;
|
3049 |
}
|
3050 |
+
.btn-lg,
|
3051 |
+
.btn-group-lg > .btn {
|
3052 |
+
padding: 10px 16px;
|
3053 |
+
font-size: 18px;
|
3054 |
+
line-height: 1.33;
|
3055 |
+
border-radius: 6px;
|
3056 |
}
|
3057 |
+
.btn-sm,
|
3058 |
+
.btn-group-sm > .btn {
|
3059 |
+
padding: 5px 10px;
|
3060 |
+
font-size: 12px;
|
3061 |
+
line-height: 1.5;
|
3062 |
+
border-radius: 3px;
|
3063 |
}
|
3064 |
+
.btn-xs,
|
3065 |
+
.btn-group-xs > .btn {
|
3066 |
+
padding: 1px 5px;
|
3067 |
+
font-size: 12px;
|
3068 |
+
line-height: 1.5;
|
3069 |
+
border-radius: 3px;
|
3070 |
}
|
3071 |
+
.btn-block {
|
3072 |
+
display: block;
|
3073 |
+
width: 100%;
|
3074 |
}
|
3075 |
+
.btn-block + .btn-block {
|
3076 |
+
margin-top: 5px;
|
3077 |
}
|
3078 |
+
input[type="submit"].btn-block,
|
3079 |
+
input[type="reset"].btn-block,
|
3080 |
+
input[type="button"].btn-block {
|
3081 |
+
width: 100%;
|
3082 |
}
|
3083 |
+
.fade {
|
3084 |
+
opacity: 0;
|
3085 |
+
-webkit-transition: opacity .15s linear;
|
3086 |
+
-o-transition: opacity .15s linear;
|
3087 |
+
transition: opacity .15s linear;
|
3088 |
}
|
3089 |
+
.fade.in {
|
3090 |
+
opacity: 1;
|
3091 |
}
|
3092 |
+
.collapse {
|
3093 |
+
display: none;
|
3094 |
}
|
3095 |
+
.collapse.in {
|
3096 |
+
display: block;
|
3097 |
}
|
3098 |
+
tr.collapse.in {
|
3099 |
+
display: table-row;
|
3100 |
}
|
3101 |
+
tbody.collapse.in {
|
3102 |
+
display: table-row-group;
|
3103 |
}
|
3104 |
+
.collapsing {
|
3105 |
+
position: relative;
|
3106 |
+
height: 0;
|
3107 |
+
overflow: hidden;
|
3108 |
+
-webkit-transition: height .35s ease;
|
3109 |
+
-o-transition: height .35s ease;
|
3110 |
+
transition: height .35s ease;
|
3111 |
}
|
3112 |
.caret {
|
3113 |
display: inline-block;
|
3136 |
padding: 5px 0;
|
3137 |
margin: 2px 0 0;
|
3138 |
font-size: 14px;
|
3139 |
+
text-align: left;
|
3140 |
list-style: none;
|
3141 |
background-color: #fff;
|
3142 |
+
-webkit-background-clip: padding-box;
|
3143 |
+
background-clip: padding-box;
|
3144 |
border: 1px solid #ccc;
|
3145 |
border: 1px solid rgba(0, 0, 0, .15);
|
3146 |
border-radius: 4px;
|
3162 |
padding: 3px 20px;
|
3163 |
clear: both;
|
3164 |
font-weight: normal;
|
3165 |
+
line-height: 1.42857143;
|
3166 |
color: #333;
|
3167 |
white-space: nowrap;
|
3168 |
}
|
3183 |
.dropdown-menu > .disabled > a,
|
3184 |
.dropdown-menu > .disabled > a:hover,
|
3185 |
.dropdown-menu > .disabled > a:focus {
|
3186 |
+
color: #777;
|
3187 |
}
|
3188 |
.dropdown-menu > .disabled > a:hover,
|
3189 |
.dropdown-menu > .disabled > a:focus {
|
3211 |
display: block;
|
3212 |
padding: 3px 20px;
|
3213 |
font-size: 12px;
|
3214 |
+
line-height: 1.42857143;
|
3215 |
+
color: #777;
|
3216 |
+
white-space: nowrap;
|
3217 |
}
|
3218 |
.dropdown-backdrop {
|
3219 |
position: fixed;
|
3272 |
}
|
3273 |
.btn-group > .btn:focus,
|
3274 |
.btn-group-vertical > .btn:focus {
|
3275 |
+
outline: 0;
|
3276 |
}
|
3277 |
.btn-group .btn + .btn,
|
3278 |
.btn-group .btn + .btn-group,
|
3326 |
.btn-group.open .dropdown-toggle {
|
3327 |
outline: 0;
|
3328 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3329 |
.btn-group > .btn + .dropdown-toggle {
|
3330 |
padding-right: 8px;
|
3331 |
padding-left: 8px;
|
3410 |
.btn-group-justified > .btn-group .btn {
|
3411 |
width: 100%;
|
3412 |
}
|
3413 |
+
.btn-group-justified > .btn-group .dropdown-menu {
|
3414 |
+
left: auto;
|
3415 |
+
}
|
3416 |
[data-toggle="buttons"] > .btn > input[type="radio"],
|
3417 |
[data-toggle="buttons"] > .btn > input[type="checkbox"] {
|
3418 |
+
position: absolute;
|
3419 |
+
z-index: -1;
|
3420 |
+
filter: alpha(opacity=0);
|
3421 |
+
opacity: 0;
|
3422 |
}
|
3423 |
.input-group {
|
3424 |
position: relative;
|
3431 |
padding-left: 0;
|
3432 |
}
|
3433 |
.input-group .form-control {
|
3434 |
+
position: relative;
|
3435 |
+
z-index: 2;
|
3436 |
float: left;
|
3437 |
width: 100%;
|
3438 |
margin-bottom: 0;
|
3594 |
background-color: #eee;
|
3595 |
}
|
3596 |
.nav > li.disabled > a {
|
3597 |
+
color: #777;
|
3598 |
}
|
3599 |
.nav > li.disabled > a:hover,
|
3600 |
.nav > li.disabled > a:focus {
|
3601 |
+
color: #777;
|
3602 |
text-decoration: none;
|
3603 |
cursor: not-allowed;
|
3604 |
background-color: transparent;
|
3627 |
}
|
3628 |
.nav-tabs > li > a {
|
3629 |
margin-right: 2px;
|
3630 |
+
line-height: 1.42857143;
|
3631 |
border: 1px solid transparent;
|
3632 |
border-radius: 4px 4px 0 0;
|
3633 |
}
|
3783 |
}
|
3784 |
}
|
3785 |
.navbar-collapse {
|
|
|
3786 |
padding-right: 15px;
|
3787 |
padding-left: 15px;
|
3788 |
overflow-x: visible;
|
3789 |
-webkit-overflow-scrolling: touch;
|
3790 |
border-top: 1px solid transparent;
|
3791 |
+
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
|
3792 |
+
box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);
|
3793 |
}
|
3794 |
.navbar-collapse.in {
|
3795 |
overflow-y: auto;
|
3798 |
.navbar-collapse {
|
3799 |
width: auto;
|
3800 |
border-top: 0;
|
3801 |
+
-webkit-box-shadow: none;
|
3802 |
+
box-shadow: none;
|
3803 |
}
|
3804 |
.navbar-collapse.collapse {
|
3805 |
display: block !important;
|
3817 |
padding-left: 0;
|
3818 |
}
|
3819 |
}
|
3820 |
+
.navbar-fixed-top .navbar-collapse,
|
3821 |
+
.navbar-fixed-bottom .navbar-collapse {
|
3822 |
+
max-height: 340px;
|
3823 |
+
}
|
3824 |
+
@media (max-width: 480px) and (orientation: landscape) {
|
3825 |
+
.navbar-fixed-top .navbar-collapse,
|
3826 |
+
.navbar-fixed-bottom .navbar-collapse {
|
3827 |
+
max-height: 200px;
|
3828 |
+
}
|
3829 |
+
}
|
3830 |
.container > .navbar-header,
|
3831 |
.container-fluid > .navbar-header,
|
3832 |
.container > .navbar-collapse,
|
3858 |
right: 0;
|
3859 |
left: 0;
|
3860 |
z-index: 1030;
|
3861 |
+
-webkit-transform: translate3d(0, 0, 0);
|
3862 |
+
-o-transform: translate3d(0, 0, 0);
|
3863 |
+
transform: translate3d(0, 0, 0);
|
3864 |
}
|
3865 |
@media (min-width: 768px) {
|
3866 |
.navbar-fixed-top,
|
3879 |
}
|
3880 |
.navbar-brand {
|
3881 |
float: left;
|
3882 |
+
height: 50px;
|
3883 |
padding: 15px 15px;
|
3884 |
font-size: 18px;
|
3885 |
line-height: 20px;
|
3907 |
border-radius: 4px;
|
3908 |
}
|
3909 |
.navbar-toggle:focus {
|
3910 |
+
outline: 0;
|
3911 |
}
|
3912 |
.navbar-toggle .icon-bar {
|
3913 |
display: block;
|
3939 |
margin-top: 0;
|
3940 |
background-color: transparent;
|
3941 |
border: 0;
|
3942 |
+
-webkit-box-shadow: none;
|
3943 |
+
box-shadow: none;
|
3944 |
}
|
3945 |
.navbar-nav .open .dropdown-menu > li > a,
|
3946 |
.navbar-nav .open .dropdown-menu .dropdown-header {
|
4000 |
width: auto;
|
4001 |
vertical-align: middle;
|
4002 |
}
|
4003 |
+
.navbar-form .input-group {
|
4004 |
+
display: inline-table;
|
4005 |
+
vertical-align: middle;
|
4006 |
+
}
|
4007 |
+
.navbar-form .input-group .input-group-addon,
|
4008 |
+
.navbar-form .input-group .input-group-btn,
|
4009 |
+
.navbar-form .input-group .form-control {
|
4010 |
+
width: auto;
|
4011 |
+
}
|
4012 |
+
.navbar-form .input-group > .form-control {
|
4013 |
+
width: 100%;
|
4014 |
+
}
|
4015 |
.navbar-form .control-label {
|
4016 |
margin-bottom: 0;
|
4017 |
vertical-align: middle;
|
4019 |
.navbar-form .radio,
|
4020 |
.navbar-form .checkbox {
|
4021 |
display: inline-block;
|
|
|
4022 |
margin-top: 0;
|
4023 |
margin-bottom: 0;
|
4024 |
vertical-align: middle;
|
4025 |
}
|
4026 |
+
.navbar-form .radio label,
|
4027 |
+
.navbar-form .checkbox label {
|
4028 |
+
padding-left: 0;
|
4029 |
+
}
|
4030 |
.navbar-form .radio input[type="radio"],
|
4031 |
.navbar-form .checkbox input[type="checkbox"] {
|
4032 |
+
position: relative;
|
4033 |
margin-left: 0;
|
4034 |
}
|
4035 |
.navbar-form .has-feedback .form-control-feedback {
|
4174 |
.navbar-default .navbar-link:hover {
|
4175 |
color: #333;
|
4176 |
}
|
4177 |
+
.navbar-default .btn-link {
|
4178 |
+
color: #777;
|
4179 |
+
}
|
4180 |
+
.navbar-default .btn-link:hover,
|
4181 |
+
.navbar-default .btn-link:focus {
|
4182 |
+
color: #333;
|
4183 |
+
}
|
4184 |
+
.navbar-default .btn-link[disabled]:hover,
|
4185 |
+
fieldset[disabled] .navbar-default .btn-link:hover,
|
4186 |
+
.navbar-default .btn-link[disabled]:focus,
|
4187 |
+
fieldset[disabled] .navbar-default .btn-link:focus {
|
4188 |
+
color: #ccc;
|
4189 |
+
}
|
4190 |
.navbar-inverse {
|
4191 |
background-color: #222;
|
4192 |
border-color: #080808;
|
4193 |
}
|
4194 |
.navbar-inverse .navbar-brand {
|
4195 |
+
color: #777;
|
4196 |
}
|
4197 |
.navbar-inverse .navbar-brand:hover,
|
4198 |
.navbar-inverse .navbar-brand:focus {
|
4200 |
background-color: transparent;
|
4201 |
}
|
4202 |
.navbar-inverse .navbar-text {
|
4203 |
+
color: #777;
|
4204 |
}
|
4205 |
.navbar-inverse .navbar-nav > li > a {
|
4206 |
+
color: #777;
|
4207 |
}
|
4208 |
.navbar-inverse .navbar-nav > li > a:hover,
|
4209 |
.navbar-inverse .navbar-nav > li > a:focus {
|
4250 |
background-color: #080808;
|
4251 |
}
|
4252 |
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
|
4253 |
+
color: #777;
|
4254 |
}
|
4255 |
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
|
4256 |
.navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
|
4271 |
}
|
4272 |
}
|
4273 |
.navbar-inverse .navbar-link {
|
4274 |
+
color: #777;
|
4275 |
}
|
4276 |
.navbar-inverse .navbar-link:hover {
|
4277 |
color: #fff;
|
4278 |
}
|
4279 |
+
.navbar-inverse .btn-link {
|
4280 |
+
color: #777;
|
4281 |
+
}
|
4282 |
+
.navbar-inverse .btn-link:hover,
|
4283 |
+
.navbar-inverse .btn-link:focus {
|
4284 |
+
color: #fff;
|
4285 |
+
}
|
4286 |
+
.navbar-inverse .btn-link[disabled]:hover,
|
4287 |
+
fieldset[disabled] .navbar-inverse .btn-link:hover,
|
4288 |
+
.navbar-inverse .btn-link[disabled]:focus,
|
4289 |
+
fieldset[disabled] .navbar-inverse .btn-link:focus {
|
4290 |
+
color: #444;
|
4291 |
+
}
|
4292 |
.breadcrumb {
|
4293 |
padding: 8px 15px;
|
4294 |
margin-bottom: 20px;
|
4305 |
content: "/\00a0";
|
4306 |
}
|
4307 |
.breadcrumb > .active {
|
4308 |
+
color: #777;
|
4309 |
}
|
4310 |
.pagination {
|
4311 |
display: inline-block;
|
4322 |
float: left;
|
4323 |
padding: 6px 12px;
|
4324 |
margin-left: -1px;
|
4325 |
+
line-height: 1.42857143;
|
4326 |
color: #428bca;
|
4327 |
text-decoration: none;
|
4328 |
background-color: #fff;
|
4365 |
.pagination > .disabled > a,
|
4366 |
.pagination > .disabled > a:hover,
|
4367 |
.pagination > .disabled > a:focus {
|
4368 |
+
color: #777;
|
4369 |
cursor: not-allowed;
|
4370 |
background-color: #fff;
|
4371 |
border-color: #ddd;
|
4434 |
.pager .disabled > a:hover,
|
4435 |
.pager .disabled > a:focus,
|
4436 |
.pager .disabled > span {
|
4437 |
+
color: #777;
|
4438 |
cursor: not-allowed;
|
4439 |
background-color: #fff;
|
4440 |
}
|
4450 |
vertical-align: baseline;
|
4451 |
border-radius: .25em;
|
4452 |
}
|
4453 |
+
a.label:hover,
|
4454 |
+
a.label:focus {
|
4455 |
color: #fff;
|
4456 |
text-decoration: none;
|
4457 |
cursor: pointer;
|
4464 |
top: -1px;
|
4465 |
}
|
4466 |
.label-default {
|
4467 |
+
background-color: #777;
|
4468 |
}
|
4469 |
.label-default[href]:hover,
|
4470 |
.label-default[href]:focus {
|
4471 |
+
background-color: #5e5e5e;
|
4472 |
}
|
4473 |
.label-primary {
|
4474 |
background-color: #428bca;
|
4516 |
text-align: center;
|
4517 |
white-space: nowrap;
|
4518 |
vertical-align: baseline;
|
4519 |
+
background-color: #777;
|
4520 |
border-radius: 10px;
|
4521 |
}
|
4522 |
.badge:empty {
|
4559 |
font-size: 21px;
|
4560 |
font-weight: 200;
|
4561 |
}
|
4562 |
+
.jumbotron > hr {
|
4563 |
+
border-top-color: #d5d5d5;
|
4564 |
+
}
|
4565 |
.container .jumbotron {
|
4566 |
border-radius: 6px;
|
4567 |
}
|
4586 |
display: block;
|
4587 |
padding: 4px;
|
4588 |
margin-bottom: 20px;
|
4589 |
+
line-height: 1.42857143;
|
4590 |
background-color: #fff;
|
4591 |
border: 1px solid #ddd;
|
4592 |
border-radius: 4px;
|
4593 |
-webkit-transition: all .2s ease-in-out;
|
4594 |
+
-o-transition: all .2s ease-in-out;
|
4595 |
transition: all .2s ease-in-out;
|
4596 |
}
|
4597 |
.thumbnail > img,
|
4598 |
.thumbnail a > img {
|
|
|
|
|
|
|
4599 |
margin-right: auto;
|
4600 |
margin-left: auto;
|
4601 |
}
|
4628 |
.alert > p + p {
|
4629 |
margin-top: 5px;
|
4630 |
}
|
4631 |
+
.alert-dismissable,
|
4632 |
+
.alert-dismissible {
|
4633 |
padding-right: 35px;
|
4634 |
}
|
4635 |
+
.alert-dismissable .close,
|
4636 |
+
.alert-dismissible .close {
|
4637 |
position: relative;
|
4638 |
top: -2px;
|
4639 |
right: -21px;
|
4691 |
background-position: 0 0;
|
4692 |
}
|
4693 |
}
|
4694 |
+
@-o-keyframes progress-bar-stripes {
|
4695 |
+
from {
|
4696 |
+
background-position: 40px 0;
|
4697 |
+
}
|
4698 |
+
to {
|
4699 |
+
background-position: 0 0;
|
4700 |
+
}
|
4701 |
+
}
|
4702 |
@keyframes progress-bar-stripes {
|
4703 |
from {
|
4704 |
background-position: 40px 0;
|
4728 |
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
|
4729 |
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);
|
4730 |
-webkit-transition: width .6s ease;
|
4731 |
+
-o-transition: width .6s ease;
|
4732 |
transition: width .6s ease;
|
4733 |
}
|
4734 |
+
.progress-striped .progress-bar,
|
4735 |
+
.progress-bar-striped {
|
4736 |
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4737 |
+
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4738 |
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4739 |
+
-webkit-background-size: 40px 40px;
|
4740 |
+
background-size: 40px 40px;
|
4741 |
}
|
4742 |
+
.progress.active .progress-bar,
|
4743 |
+
.progress-bar.active {
|
4744 |
-webkit-animation: progress-bar-stripes 2s linear infinite;
|
4745 |
+
-o-animation: progress-bar-stripes 2s linear infinite;
|
4746 |
animation: progress-bar-stripes 2s linear infinite;
|
4747 |
}
|
4748 |
+
.progress-bar[aria-valuenow="1"],
|
4749 |
+
.progress-bar[aria-valuenow="2"] {
|
4750 |
+
min-width: 30px;
|
4751 |
+
}
|
4752 |
+
.progress-bar[aria-valuenow="0"] {
|
4753 |
+
min-width: 30px;
|
4754 |
+
color: #777;
|
4755 |
+
background-color: transparent;
|
4756 |
+
background-image: none;
|
4757 |
+
-webkit-box-shadow: none;
|
4758 |
+
box-shadow: none;
|
4759 |
+
}
|
4760 |
.progress-bar-success {
|
4761 |
background-color: #5cb85c;
|
4762 |
}
|
4763 |
.progress-striped .progress-bar-success {
|
4764 |
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4765 |
+
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4766 |
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4767 |
}
|
4768 |
.progress-bar-info {
|
4770 |
}
|
4771 |
.progress-striped .progress-bar-info {
|
4772 |
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4773 |
+
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4774 |
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4775 |
}
|
4776 |
.progress-bar-warning {
|
4778 |
}
|
4779 |
.progress-striped .progress-bar-warning {
|
4780 |
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4781 |
+
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4782 |
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4783 |
}
|
4784 |
.progress-bar-danger {
|
4786 |
}
|
4787 |
.progress-striped .progress-bar-danger {
|
4788 |
background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4789 |
+
background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4790 |
background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);
|
4791 |
}
|
4792 |
.media,
|
4852 |
}
|
4853 |
a.list-group-item:hover,
|
4854 |
a.list-group-item:focus {
|
4855 |
+
color: #555;
|
4856 |
text-decoration: none;
|
4857 |
background-color: #f5f5f5;
|
4858 |
}
|
4859 |
+
.list-group-item.disabled,
|
4860 |
+
.list-group-item.disabled:hover,
|
4861 |
+
.list-group-item.disabled:focus {
|
4862 |
+
color: #777;
|
4863 |
+
background-color: #eee;
|
4864 |
+
}
|
4865 |
+
.list-group-item.disabled .list-group-item-heading,
|
4866 |
+
.list-group-item.disabled:hover .list-group-item-heading,
|
4867 |
+
.list-group-item.disabled:focus .list-group-item-heading {
|
4868 |
+
color: inherit;
|
4869 |
+
}
|
4870 |
+
.list-group-item.disabled .list-group-item-text,
|
4871 |
+
.list-group-item.disabled:hover .list-group-item-text,
|
4872 |
+
.list-group-item.disabled:focus .list-group-item-text {
|
4873 |
+
color: #777;
|
4874 |
+
}
|
4875 |
+
.list-group-item.active,
|
4876 |
+
.list-group-item.active:hover,
|
4877 |
+
.list-group-item.active:focus {
|
4878 |
z-index: 2;
|
4879 |
color: #fff;
|
4880 |
background-color: #428bca;
|
4881 |
border-color: #428bca;
|
4882 |
}
|
4883 |
+
.list-group-item.active .list-group-item-heading,
|
4884 |
+
.list-group-item.active:hover .list-group-item-heading,
|
4885 |
+
.list-group-item.active:focus .list-group-item-heading,
|
4886 |
+
.list-group-item.active .list-group-item-heading > small,
|
4887 |
+
.list-group-item.active:hover .list-group-item-heading > small,
|
4888 |
+
.list-group-item.active:focus .list-group-item-heading > small,
|
4889 |
+
.list-group-item.active .list-group-item-heading > .small,
|
4890 |
+
.list-group-item.active:hover .list-group-item-heading > .small,
|
4891 |
+
.list-group-item.active:focus .list-group-item-heading > .small {
|
4892 |
color: inherit;
|
4893 |
}
|
4894 |
+
.list-group-item.active .list-group-item-text,
|
4895 |
+
.list-group-item.active:hover .list-group-item-text,
|
4896 |
+
.list-group-item.active:focus .list-group-item-text {
|
4897 |
color: #e1edf7;
|
4898 |
}
|
4899 |
.list-group-item-success {
|
5003 |
.panel-body {
|
5004 |
padding: 15px;
|
5005 |
}
|
5006 |
+
.panel-heading {
|
5007 |
+
padding: 10px 15px;
|
5008 |
+
border-bottom: 1px solid transparent;
|
5009 |
+
border-top-left-radius: 3px;
|
5010 |
+
border-top-right-radius: 3px;
|
5011 |
+
}
|
5012 |
+
.panel-heading > .dropdown .dropdown-toggle {
|
5013 |
+
color: inherit;
|
5014 |
+
}
|
5015 |
+
.panel-title {
|
5016 |
+
margin-top: 0;
|
5017 |
+
margin-bottom: 0;
|
5018 |
+
font-size: 16px;
|
5019 |
+
color: inherit;
|
5020 |
+
}
|
5021 |
+
.panel-title > a {
|
5022 |
+
color: inherit;
|
5023 |
+
}
|
5024 |
+
.panel-footer {
|
5025 |
+
padding: 10px 15px;
|
5026 |
+
background-color: #f5f5f5;
|
5027 |
+
border-top: 1px solid #ddd;
|
5028 |
+
border-bottom-right-radius: 3px;
|
5029 |
+
border-bottom-left-radius: 3px;
|
5030 |
+
}
|
5031 |
.panel > .list-group {
|
5032 |
margin-bottom: 0;
|
5033 |
}
|
5035 |
border-width: 1px 0;
|
5036 |
border-radius: 0;
|
5037 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
5038 |
.panel > .list-group:first-child .list-group-item:first-child {
|
5039 |
+
border-top: 0;
|
5040 |
border-top-left-radius: 3px;
|
5041 |
border-top-right-radius: 3px;
|
5042 |
}
|
5043 |
.panel > .list-group:last-child .list-group-item:last-child {
|
5044 |
+
border-bottom: 0;
|
5045 |
border-bottom-right-radius: 3px;
|
5046 |
border-bottom-left-radius: 3px;
|
5047 |
}
|
5048 |
.panel-heading + .list-group .list-group-item:first-child {
|
5049 |
border-top-width: 0;
|
5050 |
}
|
5051 |
+
.list-group + .panel-footer {
|
5052 |
+
border-top-width: 0;
|
5053 |
+
}
|
5054 |
.panel > .table,
|
5055 |
+
.panel > .table-responsive > .table,
|
5056 |
+
.panel > .panel-collapse > .table {
|
5057 |
margin-bottom: 0;
|
5058 |
}
|
5059 |
+
.panel > .table:first-child,
|
5060 |
+
.panel > .table-responsive:first-child > .table:first-child {
|
5061 |
+
border-top-left-radius: 3px;
|
5062 |
+
border-top-right-radius: 3px;
|
5063 |
+
}
|
5064 |
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
|
5065 |
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
|
5066 |
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
|
5081 |
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
|
5082 |
border-top-right-radius: 3px;
|
5083 |
}
|
5084 |
+
.panel > .table:last-child,
|
5085 |
+
.panel > .table-responsive:last-child > .table:last-child {
|
5086 |
+
border-bottom-right-radius: 3px;
|
5087 |
+
border-bottom-left-radius: 3px;
|
5088 |
+
}
|
5089 |
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
|
5090 |
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
|
5091 |
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
|
5146 |
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
|
5147 |
border-right: 0;
|
5148 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
5149 |
.panel > .table-bordered > thead > tr:first-child > td,
|
5150 |
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
|
5151 |
.panel > .table-bordered > tbody > tr:first-child > td,
|
5152 |
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
|
5153 |
+
.panel > .table-bordered > thead > tr:first-child > th,
|
5154 |
+
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
|
5155 |
+
.panel > .table-bordered > tbody > tr:first-child > th,
|
5156 |
+
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
|
5157 |
+
border-bottom: 0;
|
5158 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5159 |
.panel > .table-bordered > tbody > tr:last-child > td,
|
5160 |
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
|
5161 |
.panel > .table-bordered > tfoot > tr:last-child > td,
|
5162 |
+
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
|
5163 |
+
.panel > .table-bordered > tbody > tr:last-child > th,
|
5164 |
+
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
|
5165 |
+
.panel > .table-bordered > tfoot > tr:last-child > th,
|
5166 |
+
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
|
5167 |
border-bottom: 0;
|
5168 |
}
|
5169 |
.panel > .table-responsive {
|
5170 |
margin-bottom: 0;
|
5171 |
border: 0;
|
5172 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5173 |
.panel-group {
|
5174 |
margin-bottom: 20px;
|
5175 |
}
|
5176 |
.panel-group .panel {
|
5177 |
margin-bottom: 0;
|
|
|
5178 |
border-radius: 4px;
|
5179 |
}
|
5180 |
.panel-group .panel + .panel {
|
5183 |
.panel-group .panel-heading {
|
5184 |
border-bottom: 0;
|
5185 |
}
|
5186 |
+
.panel-group .panel-heading + .panel-collapse > .panel-body {
|
5187 |
border-top: 1px solid #ddd;
|
5188 |
}
|
5189 |
.panel-group .panel-footer {
|
5200 |
background-color: #f5f5f5;
|
5201 |
border-color: #ddd;
|
5202 |
}
|
5203 |
+
.panel-default > .panel-heading + .panel-collapse > .panel-body {
|
5204 |
border-top-color: #ddd;
|
5205 |
}
|
5206 |
+
.panel-default > .panel-heading .badge {
|
5207 |
+
color: #f5f5f5;
|
5208 |
+
background-color: #333;
|
5209 |
+
}
|
5210 |
+
.panel-default > .panel-footer + .panel-collapse > .panel-body {
|
5211 |
border-bottom-color: #ddd;
|
5212 |
}
|
5213 |
.panel-primary {
|
5218 |
background-color: #428bca;
|
5219 |
border-color: #428bca;
|
5220 |
}
|
5221 |
+
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
|
5222 |
border-top-color: #428bca;
|
5223 |
}
|
5224 |
+
.panel-primary > .panel-heading .badge {
|
5225 |
+
color: #428bca;
|
5226 |
+
background-color: #fff;
|
5227 |
+
}
|
5228 |
+
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
|
5229 |
border-bottom-color: #428bca;
|
5230 |
}
|
5231 |
.panel-success {
|
5236 |
background-color: #dff0d8;
|
5237 |
border-color: #d6e9c6;
|
5238 |
}
|
5239 |
+
.panel-success > .panel-heading + .panel-collapse > .panel-body {
|
5240 |
border-top-color: #d6e9c6;
|
5241 |
}
|
5242 |
+
.panel-success > .panel-heading .badge {
|
5243 |
+
color: #dff0d8;
|
5244 |
+
background-color: #3c763d;
|
5245 |
+
}
|
5246 |
+
.panel-success > .panel-footer + .panel-collapse > .panel-body {
|
5247 |
border-bottom-color: #d6e9c6;
|
5248 |
}
|
5249 |
.panel-info {
|
5254 |
background-color: #d9edf7;
|
5255 |
border-color: #bce8f1;
|
5256 |
}
|
5257 |
+
.panel-info > .panel-heading + .panel-collapse > .panel-body {
|
5258 |
border-top-color: #bce8f1;
|
5259 |
}
|
5260 |
+
.panel-info > .panel-heading .badge {
|
5261 |
+
color: #d9edf7;
|
5262 |
+
background-color: #31708f;
|
5263 |
+
}
|
5264 |
+
.panel-info > .panel-footer + .panel-collapse > .panel-body {
|
5265 |
border-bottom-color: #bce8f1;
|
5266 |
}
|
5267 |
.panel-warning {
|
5272 |
background-color: #fcf8e3;
|
5273 |
border-color: #faebcc;
|
5274 |
}
|
5275 |
+
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
|
5276 |
border-top-color: #faebcc;
|
5277 |
}
|
5278 |
+
.panel-warning > .panel-heading .badge {
|
5279 |
+
color: #fcf8e3;
|
5280 |
+
background-color: #8a6d3b;
|
5281 |
+
}
|
5282 |
+
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
|
5283 |
border-bottom-color: #faebcc;
|
5284 |
}
|
5285 |
.panel-danger {
|
5290 |
background-color: #f2dede;
|
5291 |
border-color: #ebccd1;
|
5292 |
}
|
5293 |
+
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
|
5294 |
border-top-color: #ebccd1;
|
5295 |
}
|
5296 |
+
.panel-danger > .panel-heading .badge {
|
5297 |
+
color: #f2dede;
|
5298 |
+
background-color: #a94442;
|
5299 |
+
}
|
5300 |
+
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
|
5301 |
border-bottom-color: #ebccd1;
|
5302 |
}
|
5303 |
+
.embed-responsive {
|
5304 |
+
position: relative;
|
5305 |
+
display: block;
|
5306 |
+
height: 0;
|
5307 |
+
padding: 0;
|
5308 |
+
overflow: hidden;
|
5309 |
+
}
|
5310 |
+
.embed-responsive .embed-responsive-item,
|
5311 |
+
.embed-responsive iframe,
|
5312 |
+
.embed-responsive embed,
|
5313 |
+
.embed-responsive object {
|
5314 |
+
position: absolute;
|
5315 |
+
top: 0;
|
5316 |
+
bottom: 0;
|
5317 |
+
left: 0;
|
5318 |
+
width: 100%;
|
5319 |
+
height: 100%;
|
5320 |
+
border: 0;
|
5321 |
+
}
|
5322 |
+
.embed-responsive.embed-responsive-16by9 {
|
5323 |
+
padding-bottom: 56.25%;
|
5324 |
+
}
|
5325 |
+
.embed-responsive.embed-responsive-4by3 {
|
5326 |
+
padding-bottom: 75%;
|
5327 |
+
}
|
5328 |
.well {
|
5329 |
min-height: 20px;
|
5330 |
padding: 19px;
|
5383 |
left: 0;
|
5384 |
z-index: 1050;
|
5385 |
display: none;
|
5386 |
+
overflow: hidden;
|
|
|
5387 |
-webkit-overflow-scrolling: touch;
|
5388 |
outline: 0;
|
5389 |
}
|
5390 |
.modal.fade .modal-dialog {
|
5391 |
-webkit-transition: -webkit-transform .3s ease-out;
|
|
|
5392 |
-o-transition: -o-transform .3s ease-out;
|
5393 |
transition: transform .3s ease-out;
|
5394 |
+
-webkit-transform: translate3d(0, -25%, 0);
|
5395 |
+
-o-transform: translate3d(0, -25%, 0);
|
5396 |
+
transform: translate3d(0, -25%, 0);
|
5397 |
}
|
5398 |
.modal.in .modal-dialog {
|
5399 |
+
-webkit-transform: translate3d(0, 0, 0);
|
5400 |
+
-o-transform: translate3d(0, 0, 0);
|
5401 |
+
transform: translate3d(0, 0, 0);
|
5402 |
+
}
|
5403 |
+
.modal-open .modal {
|
5404 |
+
overflow-x: hidden;
|
5405 |
+
overflow-y: auto;
|
5406 |
}
|
5407 |
.modal-dialog {
|
5408 |
position: relative;
|
5412 |
.modal-content {
|
5413 |
position: relative;
|
5414 |
background-color: #fff;
|
5415 |
+
-webkit-background-clip: padding-box;
|
5416 |
+
background-clip: padding-box;
|
5417 |
border: 1px solid #999;
|
5418 |
border: 1px solid rgba(0, 0, 0, .2);
|
5419 |
border-radius: 6px;
|
5420 |
+
outline: 0;
|
5421 |
-webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
|
5422 |
box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
|
5423 |
}
|
5439 |
opacity: .5;
|
5440 |
}
|
5441 |
.modal-header {
|
5442 |
+
min-height: 16.42857143px;
|
5443 |
padding: 15px;
|
5444 |
border-bottom: 1px solid #e5e5e5;
|
5445 |
}
|
5448 |
}
|
5449 |
.modal-title {
|
5450 |
margin: 0;
|
5451 |
+
line-height: 1.42857143;
|
5452 |
}
|
5453 |
.modal-body {
|
5454 |
position: relative;
|
5455 |
+
padding: 15px;
|
5456 |
}
|
5457 |
.modal-footer {
|
5458 |
+
padding: 15px;
|
|
|
5459 |
text-align: right;
|
5460 |
border-top: 1px solid #e5e5e5;
|
5461 |
}
|
5469 |
.modal-footer .btn-block + .btn-block {
|
5470 |
margin-left: 0;
|
5471 |
}
|
5472 |
+
.modal-scrollbar-measure {
|
5473 |
+
position: absolute;
|
5474 |
+
top: -9999px;
|
5475 |
+
width: 50px;
|
5476 |
+
height: 50px;
|
5477 |
+
overflow: scroll;
|
5478 |
+
}
|
5479 |
@media (min-width: 768px) {
|
5480 |
.modal-dialog {
|
5481 |
width: 600px;
|
5488 |
.modal-sm {
|
5489 |
width: 300px;
|
5490 |
}
|
5491 |
+
}
|
5492 |
+
@media (min-width: 992px) {
|
5493 |
.modal-lg {
|
5494 |
width: 900px;
|
5495 |
}
|
5496 |
}
|
5497 |
.tooltip {
|
5498 |
position: absolute;
|
5499 |
+
z-index: 1070;
|
5500 |
display: block;
|
5501 |
font-size: 12px;
|
5502 |
line-height: 1.4;
|
5596 |
position: absolute;
|
5597 |
top: 0;
|
5598 |
left: 0;
|
5599 |
+
z-index: 1060;
|
5600 |
display: none;
|
5601 |
max-width: 276px;
|
5602 |
padding: 1px;
|
5603 |
text-align: left;
|
5604 |
white-space: normal;
|
5605 |
background-color: #fff;
|
5606 |
+
-webkit-background-clip: padding-box;
|
5607 |
+
background-clip: padding-box;
|
5608 |
border: 1px solid #ccc;
|
5609 |
border: 1px solid rgba(0, 0, 0, .2);
|
5610 |
border-radius: 6px;
|
5636 |
.popover-content {
|
5637 |
padding: 9px 14px;
|
5638 |
}
|
5639 |
+
.popover > .arrow,
|
5640 |
+
.popover > .arrow:after {
|
5641 |
position: absolute;
|
5642 |
display: block;
|
5643 |
width: 0;
|
5645 |
border-color: transparent;
|
5646 |
border-style: solid;
|
5647 |
}
|
5648 |
+
.popover > .arrow {
|
5649 |
border-width: 11px;
|
5650 |
}
|
5651 |
+
.popover > .arrow:after {
|
5652 |
content: "";
|
5653 |
border-width: 10px;
|
5654 |
}
|
5655 |
+
.popover.top > .arrow {
|
5656 |
bottom: -11px;
|
5657 |
left: 50%;
|
5658 |
margin-left: -11px;
|
5660 |
border-top-color: rgba(0, 0, 0, .25);
|
5661 |
border-bottom-width: 0;
|
5662 |
}
|
5663 |
+
.popover.top > .arrow:after {
|
5664 |
bottom: 1px;
|
5665 |
margin-left: -10px;
|
5666 |
content: " ";
|
5667 |
border-top-color: #fff;
|
5668 |
border-bottom-width: 0;
|
5669 |
}
|
5670 |
+
.popover.right > .arrow {
|
5671 |
top: 50%;
|
5672 |
left: -11px;
|
5673 |
margin-top: -11px;
|
5675 |
border-right-color: rgba(0, 0, 0, .25);
|
5676 |
border-left-width: 0;
|
5677 |
}
|
5678 |
+
.popover.right > .arrow:after {
|
5679 |
bottom: -10px;
|
5680 |
left: 1px;
|
5681 |
content: " ";
|
5682 |
border-right-color: #fff;
|
5683 |
border-left-width: 0;
|
5684 |
}
|
5685 |
+
.popover.bottom > .arrow {
|
5686 |
top: -11px;
|
5687 |
left: 50%;
|
5688 |
margin-left: -11px;
|
5690 |
border-bottom-color: #999;
|
5691 |
border-bottom-color: rgba(0, 0, 0, .25);
|
5692 |
}
|
5693 |
+
.popover.bottom > .arrow:after {
|
5694 |
top: 1px;
|
5695 |
margin-left: -10px;
|
5696 |
content: " ";
|
5697 |
border-top-width: 0;
|
5698 |
border-bottom-color: #fff;
|
5699 |
}
|
5700 |
+
.popover.left > .arrow {
|
5701 |
top: 50%;
|
5702 |
right: -11px;
|
5703 |
margin-top: -11px;
|
5705 |
border-left-color: #999;
|
5706 |
border-left-color: rgba(0, 0, 0, .25);
|
5707 |
}
|
5708 |
+
.popover.left > .arrow:after {
|
5709 |
right: 1px;
|
5710 |
bottom: -10px;
|
5711 |
content: " ";
|
5724 |
position: relative;
|
5725 |
display: none;
|
5726 |
-webkit-transition: .6s ease-in-out left;
|
5727 |
+
-o-transition: .6s ease-in-out left;
|
5728 |
transition: .6s ease-in-out left;
|
5729 |
}
|
5730 |
.carousel-inner > .item > img,
|
5731 |
.carousel-inner > .item > a > img {
|
|
|
|
|
|
|
5732 |
line-height: 1;
|
5733 |
}
|
5734 |
.carousel-inner > .active,
|
5775 |
opacity: .5;
|
5776 |
}
|
5777 |
.carousel-control.left {
|
5778 |
+
background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
|
5779 |
+
background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
|
5780 |
+
background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));
|
5781 |
background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);
|
5782 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
|
5783 |
background-repeat: repeat-x;
|
5785 |
.carousel-control.right {
|
5786 |
right: 0;
|
5787 |
left: auto;
|
5788 |
+
background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
|
5789 |
+
background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
|
5790 |
+
background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));
|
5791 |
background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);
|
5792 |
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
|
5793 |
background-repeat: repeat-x;
|
5797 |
color: #fff;
|
5798 |
text-decoration: none;
|
5799 |
filter: alpha(opacity=90);
|
5800 |
+
outline: 0;
|
5801 |
opacity: .9;
|
5802 |
}
|
5803 |
.carousel-control .icon-prev,
|
5812 |
.carousel-control .icon-prev,
|
5813 |
.carousel-control .glyphicon-chevron-left {
|
5814 |
left: 50%;
|
5815 |
+
margin-left: -10px;
|
5816 |
}
|
5817 |
.carousel-control .icon-next,
|
5818 |
.carousel-control .glyphicon-chevron-right {
|
5819 |
right: 50%;
|
5820 |
+
margin-right: -10px;
|
5821 |
}
|
5822 |
.carousel-control .icon-prev,
|
5823 |
.carousel-control .icon-next {
|
5824 |
width: 20px;
|
5825 |
height: 20px;
|
5826 |
margin-top: -10px;
|
|
|
5827 |
font-family: serif;
|
5828 |
}
|
5829 |
.carousel-control .icon-prev:before {
|
5877 |
text-shadow: none;
|
5878 |
}
|
5879 |
@media screen and (min-width: 768px) {
|
5880 |
+
.carousel-control .glyphicon-chevron-left,
|
5881 |
+
.carousel-control .glyphicon-chevron-right,
|
5882 |
.carousel-control .icon-prev,
|
5883 |
.carousel-control .icon-next {
|
5884 |
width: 30px;
|
5885 |
height: 30px;
|
5886 |
margin-top: -15px;
|
|
|
5887 |
font-size: 30px;
|
5888 |
}
|
5889 |
+
.carousel-control .glyphicon-chevron-left,
|
5890 |
+
.carousel-control .icon-prev {
|
5891 |
+
margin-left: -15px;
|
5892 |
+
}
|
5893 |
+
.carousel-control .glyphicon-chevron-right,
|
5894 |
+
.carousel-control .icon-next {
|
5895 |
+
margin-right: -15px;
|
5896 |
+
}
|
5897 |
.carousel-caption {
|
5898 |
right: 20%;
|
5899 |
left: 20%;
|
5905 |
}
|
5906 |
.clearfix:before,
|
5907 |
.clearfix:after,
|
5908 |
+
.dl-horizontal dd:before,
|
5909 |
+
.dl-horizontal dd:after,
|
5910 |
.container:before,
|
5911 |
.container:after,
|
5912 |
.container-fluid:before,
|
5937 |
content: " ";
|
5938 |
}
|
5939 |
.clearfix:after,
|
5940 |
+
.dl-horizontal dd:after,
|
5941 |
.container:after,
|
5942 |
.container-fluid:after,
|
5943 |
.row:after,
|
5986 |
}
|
5987 |
.affix {
|
5988 |
position: fixed;
|
5989 |
+
-webkit-transform: translate3d(0, 0, 0);
|
5990 |
+
-o-transform: translate3d(0, 0, 0);
|
5991 |
+
transform: translate3d(0, 0, 0);
|
5992 |
}
|
5993 |
@-ms-viewport {
|
5994 |
width: device-width;
|
5995 |
}
|
5996 |
.visible-xs,
|
5997 |
+
.visible-sm,
|
5998 |
+
.visible-md,
|
5999 |
+
.visible-lg {
|
6000 |
+
display: none !important;
|
6001 |
+
}
|
6002 |
+
.visible-xs-block,
|
6003 |
+
.visible-xs-inline,
|
6004 |
+
.visible-xs-inline-block,
|
6005 |
+
.visible-sm-block,
|
6006 |
+
.visible-sm-inline,
|
6007 |
+
.visible-sm-inline-block,
|
6008 |
+
.visible-md-block,
|
6009 |
+
.visible-md-inline,
|
6010 |
+
.visible-md-inline-block,
|
6011 |
+
.visible-lg-block,
|
6012 |
+
.visible-lg-inline,
|
6013 |
+
.visible-lg-inline-block {
|
6014 |
display: none !important;
|
6015 |
}
|
6016 |
@media (max-width: 767px) {
|
6028 |
display: table-cell !important;
|
6029 |
}
|
6030 |
}
|
6031 |
+
@media (max-width: 767px) {
|
6032 |
+
.visible-xs-block {
|
6033 |
+
display: block !important;
|
6034 |
+
}
|
6035 |
+
}
|
6036 |
+
@media (max-width: 767px) {
|
6037 |
+
.visible-xs-inline {
|
6038 |
+
display: inline !important;
|
6039 |
+
}
|
6040 |
+
}
|
6041 |
+
@media (max-width: 767px) {
|
6042 |
+
.visible-xs-inline-block {
|
6043 |
+
display: inline-block !important;
|
6044 |
+
}
|
6045 |
}
|
6046 |
@media (min-width: 768px) and (max-width: 991px) {
|
6047 |
.visible-sm {
|
6058 |
display: table-cell !important;
|
6059 |
}
|
6060 |
}
|
6061 |
+
@media (min-width: 768px) and (max-width: 991px) {
|
6062 |
+
.visible-sm-block {
|
6063 |
+
display: block !important;
|
6064 |
+
}
|
6065 |
+
}
|
6066 |
+
@media (min-width: 768px) and (max-width: 991px) {
|
6067 |
+
.visible-sm-inline {
|
6068 |
+
display: inline !important;
|
6069 |
+
}
|
6070 |
+
}
|
6071 |
+
@media (min-width: 768px) and (max-width: 991px) {
|
6072 |
+
.visible-sm-inline-block {
|
6073 |
+
display: inline-block !important;
|
6074 |
+
}
|
6075 |
}
|
6076 |
@media (min-width: 992px) and (max-width: 1199px) {
|
6077 |
.visible-md {
|
6088 |
display: table-cell !important;
|
6089 |
}
|
6090 |
}
|
6091 |
+
@media (min-width: 992px) and (max-width: 1199px) {
|
6092 |
+
.visible-md-block {
|
6093 |
+
display: block !important;
|
6094 |
+
}
|
6095 |
+
}
|
6096 |
+
@media (min-width: 992px) and (max-width: 1199px) {
|
6097 |
+
.visible-md-inline {
|
6098 |
+
display: inline !important;
|
6099 |
+
}
|
6100 |
+
}
|
6101 |
+
@media (min-width: 992px) and (max-width: 1199px) {
|
6102 |
+
.visible-md-inline-block {
|
6103 |
+
display: inline-block !important;
|
6104 |
+
}
|
6105 |
}
|
6106 |
@media (min-width: 1200px) {
|
6107 |
.visible-lg {
|
6118 |
display: table-cell !important;
|
6119 |
}
|
6120 |
}
|
6121 |
+
@media (min-width: 1200px) {
|
6122 |
+
.visible-lg-block {
|
6123 |
+
display: block !important;
|
6124 |
+
}
|
6125 |
+
}
|
6126 |
+
@media (min-width: 1200px) {
|
6127 |
+
.visible-lg-inline {
|
6128 |
+
display: inline !important;
|
6129 |
+
}
|
6130 |
+
}
|
6131 |
+
@media (min-width: 1200px) {
|
6132 |
+
.visible-lg-inline-block {
|
6133 |
+
display: inline-block !important;
|
6134 |
+
}
|
6135 |
+
}
|
6136 |
@media (max-width: 767px) {
|
6137 |
+
.hidden-xs {
|
|
|
|
|
|
|
6138 |
display: none !important;
|
6139 |
}
|
6140 |
}
|
6141 |
@media (min-width: 768px) and (max-width: 991px) {
|
6142 |
+
.hidden-sm {
|
|
|
|
|
|
|
6143 |
display: none !important;
|
6144 |
}
|
6145 |
}
|
6146 |
@media (min-width: 992px) and (max-width: 1199px) {
|
6147 |
+
.hidden-md {
|
|
|
|
|
|
|
6148 |
display: none !important;
|
6149 |
}
|
6150 |
}
|
6151 |
@media (min-width: 1200px) {
|
6152 |
+
.hidden-lg {
|
|
|
|
|
|
|
6153 |
display: none !important;
|
6154 |
}
|
6155 |
}
|
6156 |
+
.visible-print {
|
|
|
|
|
|
|
6157 |
display: none !important;
|
6158 |
}
|
6159 |
@media print {
|
6171 |
display: table-cell !important;
|
6172 |
}
|
6173 |
}
|
6174 |
+
.visible-print-block {
|
6175 |
+
display: none !important;
|
6176 |
+
}
|
6177 |
+
@media print {
|
6178 |
+
.visible-print-block {
|
6179 |
+
display: block !important;
|
6180 |
+
}
|
6181 |
+
}
|
6182 |
+
.visible-print-inline {
|
6183 |
+
display: none !important;
|
6184 |
+
}
|
6185 |
+
@media print {
|
6186 |
+
.visible-print-inline {
|
6187 |
+
display: inline !important;
|
6188 |
+
}
|
6189 |
+
}
|
6190 |
+
.visible-print-inline-block {
|
6191 |
+
display: none !important;
|
6192 |
+
}
|
6193 |
+
@media print {
|
6194 |
+
.visible-print-inline-block {
|
6195 |
+
display: inline-block !important;
|
6196 |
+
}
|
6197 |
+
}
|
6198 |
@media print {
|
6199 |
+
.hidden-print {
|
|
|
|
|
|
|
6200 |
display: none !important;
|
6201 |
}
|
6202 |
}
|
assets/bootstrap/css/bootstrap.min.css
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap v3.
|
3 |
* Copyright 2011-2014 Twitter, Inc.
|
4 |
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
-
|
6 |
-
|
7 |
-
/*! normalize.css v3.0.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@media print{*{text-shadow:none!important;color:#000!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#999}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-muted{color:#999}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}.list-inline>li:first-child{padding-left:0}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.428571429;color:#999}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.428571429}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;white-space:nowrap;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666666666666%}.col-xs-10{width:83.33333333333334%}.col-xs-9{width:75%}.col-xs-8{width:66.66666666666666%}.col-xs-7{width:58.333333333333336%}.col-xs-6{width:50%}.col-xs-5{width:41.66666666666667%}.col-xs-4{width:33.33333333333333%}.col-xs-3{width:25%}.col-xs-2{width:16.666666666666664%}.col-xs-1{width:8.333333333333332%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666666666666%}.col-xs-pull-10{right:83.33333333333334%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666666666666%}.col-xs-pull-7{right:58.333333333333336%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666666666667%}.col-xs-pull-4{right:33.33333333333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.666666666666664%}.col-xs-pull-1{right:8.333333333333332%}.col-xs-pull-0{right:0}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666666666666%}.col-xs-push-10{left:83.33333333333334%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666666666666%}.col-xs-push-7{left:58.333333333333336%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666666666667%}.col-xs-push-4{left:33.33333333333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.666666666666664%}.col-xs-push-1{left:8.333333333333332%}.col-xs-push-0{left:0}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666666666666%}.col-xs-offset-10{margin-left:83.33333333333334%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666666666666%}.col-xs-offset-7{margin-left:58.333333333333336%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666666666667%}.col-xs-offset-4{margin-left:33.33333333333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.666666666666664%}.col-xs-offset-1{margin-left:8.333333333333332%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666666666666%}.col-sm-10{width:83.33333333333334%}.col-sm-9{width:75%}.col-sm-8{width:66.66666666666666%}.col-sm-7{width:58.333333333333336%}.col-sm-6{width:50%}.col-sm-5{width:41.66666666666667%}.col-sm-4{width:33.33333333333333%}.col-sm-3{width:25%}.col-sm-2{width:16.666666666666664%}.col-sm-1{width:8.333333333333332%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-0{right:0}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666666666666%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-0{left:0}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666666666666%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666666666666%}.col-md-10{width:83.33333333333334%}.col-md-9{width:75%}.col-md-8{width:66.66666666666666%}.col-md-7{width:58.333333333333336%}.col-md-6{width:50%}.col-md-5{width:41.66666666666667%}.col-md-4{width:33.33333333333333%}.col-md-3{width:25%}.col-md-2{width:16.666666666666664%}.col-md-1{width:8.333333333333332%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666666666666%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-0{right:0}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666666666666%}.col-md-push-10{left:83.33333333333334%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666666666666%}.col-md-push-7{left:58.333333333333336%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666666666667%}.col-md-push-4{left:33.33333333333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.666666666666664%}.col-md-push-1{left:8.333333333333332%}.col-md-push-0{left:0}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666666666666%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666666666666%}.col-lg-10{width:83.33333333333334%}.col-lg-9{width:75%}.col-lg-8{width:66.66666666666666%}.col-lg-7{width:58.333333333333336%}.col-lg-6{width:50%}.col-lg-5{width:41.66666666666667%}.col-lg-4{width:33.33333333333333%}.col-lg-3{width:25%}.col-lg-2{width:16.666666666666664%}.col-lg-1{width:8.333333333333332%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-0{right:0}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666666666666%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-0{left:0}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666666666666%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-0{margin-left:0}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.428571429;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control:-moz-placeholder{color:#999}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=date]{line-height:34px}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:20px;margin-top:10px;margin-bottom:10px;padding-left:20px}.radio label,.checkbox label{display:inline;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.has-feedback .form-control-feedback{position:absolute;top:25px;right:0;display:block;width:34px;height:34px;line-height:34px;text-align:center}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{float:none;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-control-static{padding-top:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.428571429;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#428bca;font-weight:400;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px;height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{float:none;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.428571429;text-decoration:none;color:#428bca;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:gray}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#999;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}a.list-group-item.active,a.list-group-item.active:hover,a.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}a.list-group-item.active .list-group-item-heading,a.list-group-item.active:hover .list-group-item-heading,a.list-group-item.active:focus .list-group-item-heading{color:inherit}a.list-group-item.active .list-group-item-text,a.list-group-item.active:hover .list-group-item-text,a.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group .list-group-item:first-child{border-top:0}.panel>.list-group .list-group-item:last-child{border-bottom:0}.panel>.list-group:first-child .list-group-item:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tfoot>tr:first-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tfoot>tr:first-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:first-child>td{border-top:0}.panel>.table-bordered>thead>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:last-child>th,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:last-child>td,.panel>.table-responsive>.table-bordered>thead>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px;overflow:hidden}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#faebcc}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#ebccd1}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ebccd1}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:auto;overflow-y:scroll;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.428571429px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:20px}.modal-footer{margin-top:15px;padding:19px 20px 20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top .arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right .arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom .arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left .arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(rgba(0,0,0,.0001) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(rgba(0,0,0,.5) 100%));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicons-chevron-left,.carousel-control .glyphicons-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,tr.visible-xs,th.visible-xs,td.visible-xs{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}.visible-sm,tr.visible-sm,th.visible-sm,td.visible-sm{display:none!important}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}.visible-md,tr.visible-md,th.visible-md,td.visible-md{display:none!important}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}.visible-lg,tr.visible-lg,th.visible-lg,td.visible-lg{display:none!important}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (max-width:767px){.hidden-xs,tr.hidden-xs,th.hidden-xs,td.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm,tr.hidden-sm,th.hidden-sm,td.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md,tr.hidden-md,th.hidden-md,td.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg,tr.hidden-lg,th.hidden-lg,td.hidden-lg{display:none!important}}.visible-print,tr.visible-print,th.visible-print,td.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}@media print{.hidden-print,tr.hidden-print,th.hidden-print,td.hidden-print{display:none!important}}
|
1 |
/*!
|
2 |
+
* Bootstrap v3.2.0 (http://getbootstrap.com)
|
3 |
* Copyright 2011-2014 Twitter, Inc.
|
4 |
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
+
*!!!!! deleted: html,body
|
6 |
+
*!!!!! modified: .hidden
|
7 |
+
*//*! normalize.css v3.0.1 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;width:100% \9;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;width:100% \9;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}cite{font-style:normal}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}blockquote:before,blockquote:after{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#777;opacity:1}.form-control:-ms-input-placeholder{color:#777}.form-control::-webkit-input-placeholder{color:#777}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px;line-height:1.42857143 \0}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm,.form-horizontal .form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.input-lg,.form-horizontal .form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn>input[type=radio],[data-toggle=buttons]>.btn>input[type=checkbox]{position:absolute;z-index:-1;filter:alpha(opacity=0);opacity:0}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}.navbar-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#777}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#777}.navbar-inverse .navbar-nav>li>a{color:#777}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#777}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#777}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#428bca;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{min-width:30px;color:#777;background-color:transparent;background-image:none;-webkit-box-shadow:none;box-shadow:none}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate3d(0,-25%,0);-o-transform:translate3d(0,-25%,0);transform:translate3d(0,-25%,0)}.modal.in .modal-dialog{-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none}.affix{position:fixed;-webkit-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
|
assets/bootstrap/fonts/glyphicons-halflings-regular.eot
CHANGED
Binary file
|
assets/bootstrap/fonts/glyphicons-halflings-regular.svg
CHANGED
@@ -28,12 +28,12 @@
|
|
28 |
<glyph unicode=" " horiz-adv-x="326" />
|
29 |
<glyph unicode="€" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
|
30 |
<glyph unicode="−" d="M200 400h900v300h-900v-300z" />
|
31 |
-
<glyph unicode="&#
|
|
|
32 |
<glyph unicode="✉" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
|
33 |
<glyph unicode="✏" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
|
34 |
-
<glyph unicode="" horiz-adv-x="500" d="M0 0z" />
|
35 |
<glyph unicode="" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
|
36 |
-
<glyph unicode="" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -
|
37 |
<glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
|
38 |
<glyph unicode="" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
|
39 |
<glyph unicode="" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
|
@@ -46,7 +46,7 @@
|
|
46 |
<glyph unicode="" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
|
47 |
<glyph unicode="" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
|
48 |
<glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
|
49 |
-
<glyph unicode="" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300
|
50 |
<glyph unicode="" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
|
51 |
<glyph unicode="" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
|
52 |
<glyph unicode="" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
|
@@ -58,7 +58,7 @@
|
|
58 |
<glyph unicode="" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
|
59 |
<glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" />
|
60 |
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" />
|
61 |
-
<glyph unicode="" d="M0 25v475l200
|
62 |
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" />
|
63 |
<glyph unicode="" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
|
64 |
<glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
|
@@ -71,14 +71,14 @@
|
|
71 |
<glyph unicode="" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
|
72 |
<glyph unicode="" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
|
73 |
<glyph unicode="" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
|
74 |
-
<glyph unicode="" d="
|
75 |
-
<glyph unicode="" d="
|
76 |
<glyph unicode="" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
|
77 |
<glyph unicode="" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
|
78 |
<glyph unicode="" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
|
79 |
<glyph unicode="" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
|
80 |
<glyph unicode="" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" />
|
81 |
-
<glyph unicode="" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.
|
82 |
<glyph unicode="" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
|
83 |
<glyph unicode="" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
|
84 |
<glyph unicode="" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
|
@@ -93,10 +93,10 @@
|
|
93 |
<glyph unicode="" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
|
94 |
<glyph unicode="" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" />
|
95 |
<glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" />
|
96 |
-
<glyph unicode="" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5
|
97 |
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" />
|
98 |
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
|
99 |
-
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.
|
100 |
<glyph unicode="" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
|
101 |
<glyph unicode="" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
102 |
<glyph unicode="" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
@@ -110,13 +110,13 @@
|
|
110 |
<glyph unicode="" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
|
111 |
<glyph unicode="" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" />
|
112 |
<glyph unicode="" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" />
|
113 |
-
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -
|
114 |
-
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -
|
115 |
-
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -
|
116 |
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
|
117 |
-
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -
|
118 |
-
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -
|
119 |
-
<glyph unicode="" d="M0
|
120 |
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" />
|
121 |
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" />
|
122 |
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" />
|
@@ -127,14 +127,14 @@
|
|
127 |
<glyph unicode="" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" />
|
128 |
<glyph unicode="" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
|
129 |
<glyph unicode="" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" />
|
130 |
-
<glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-
|
131 |
-
<glyph unicode="" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-
|
132 |
<glyph unicode="" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
|
133 |
<glyph unicode="" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
|
134 |
<glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
|
135 |
<glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
|
136 |
-
<glyph unicode="" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20
|
137 |
-
<glyph unicode="" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -
|
138 |
<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
|
139 |
<glyph unicode="" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
|
140 |
<glyph unicode="" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
|
@@ -148,33 +148,33 @@
|
|
148 |
<glyph unicode="" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
|
149 |
<glyph unicode="" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
|
150 |
<glyph unicode="" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
|
151 |
-
<glyph unicode="" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.
|
152 |
-
<glyph unicode="" d="M74 350q0 21 13.5 35.5t33.5 14.
|
153 |
<glyph unicode="" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
|
154 |
-
<glyph unicode="" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -
|
155 |
-
<glyph unicode="" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100
|
156 |
<glyph unicode="" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" />
|
157 |
-
<glyph unicode="" d="M-101 651q0 72 54 110t139
|
158 |
-
<glyph unicode="" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5
|
159 |
-
<glyph unicode="" d="
|
160 |
-
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.
|
161 |
-
<glyph unicode="" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200
|
162 |
-
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.
|
163 |
-
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.
|
164 |
-
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -
|
165 |
<glyph unicode="" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
|
166 |
<glyph unicode="" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
|
167 |
<glyph unicode="" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
|
168 |
<glyph unicode="" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
|
169 |
<glyph unicode="" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
|
170 |
-
<glyph unicode="" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.
|
171 |
-
<glyph unicode="" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -
|
172 |
-
<glyph unicode="" d="
|
173 |
-
<glyph unicode="" d="M57 353q0 -
|
174 |
<glyph unicode="" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
|
175 |
<glyph unicode="" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
|
176 |
-
<glyph unicode="" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.
|
177 |
-
<glyph unicode="" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -
|
178 |
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
|
179 |
<glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
|
180 |
<glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
|
@@ -187,15 +187,15 @@
|
|
187 |
<glyph unicode="" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
|
188 |
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
|
189 |
<glyph unicode="" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" />
|
190 |
-
<glyph unicode="" d="
|
191 |
<glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " />
|
192 |
<glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" />
|
193 |
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" />
|
194 |
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" />
|
195 |
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" />
|
196 |
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" />
|
197 |
-
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200
|
198 |
-
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149
|
199 |
<glyph unicode="" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" />
|
200 |
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" />
|
201 |
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" />
|
@@ -204,11 +204,11 @@
|
|
204 |
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" />
|
205 |
<glyph unicode="" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" />
|
206 |
<glyph unicode="" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" />
|
207 |
-
<glyph unicode="" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -
|
208 |
<glyph unicode="" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" />
|
209 |
<glyph unicode="" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" />
|
210 |
-
<glyph unicode="" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163
|
211 |
-
<glyph unicode="" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -
|
212 |
<glyph unicode="" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" />
|
213 |
<glyph unicode="" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" />
|
214 |
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
|
@@ -221,9 +221,9 @@
|
|
221 |
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" />
|
222 |
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" />
|
223 |
<glyph unicode="" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" />
|
224 |
-
<glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205
|
225 |
-
<glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5
|
226 |
<glyph unicode="" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" />
|
227 |
-
<glyph unicode="" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -
|
228 |
</font>
|
229 |
</defs></svg>
|
28 |
<glyph unicode=" " horiz-adv-x="326" />
|
29 |
<glyph unicode="€" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
|
30 |
<glyph unicode="−" d="M200 400h900v300h-900v-300z" />
|
31 |
+
<glyph unicode="◼" horiz-adv-x="500" d="M0 0z" />
|
32 |
+
<glyph unicode="☁" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
|
33 |
<glyph unicode="✉" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
|
34 |
<glyph unicode="✏" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
|
|
|
35 |
<glyph unicode="" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
|
36 |
+
<glyph unicode="" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
|
37 |
<glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
|
38 |
<glyph unicode="" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
|
39 |
<glyph unicode="" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
|
46 |
<glyph unicode="" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
|
47 |
<glyph unicode="" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
|
48 |
<glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
|
49 |
+
<glyph unicode="" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
|
50 |
<glyph unicode="" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
|
51 |
<glyph unicode="" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
|
52 |
<glyph unicode="" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
|
58 |
<glyph unicode="" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
|
59 |
<glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" />
|
60 |
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" />
|
61 |
+
<glyph unicode="" d="M0 25v475l200 700h800l199 -700l1 -475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
|
62 |
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" />
|
63 |
<glyph unicode="" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
|
64 |
<glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
|
71 |
<glyph unicode="" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
|
72 |
<glyph unicode="" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
|
73 |
<glyph unicode="" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
|
74 |
+
<glyph unicode="" d="M0 700l1 475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
|
75 |
+
<glyph unicode="" d="M1 700l1 475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
|
76 |
<glyph unicode="" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
|
77 |
<glyph unicode="" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
|
78 |
<glyph unicode="" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
|
79 |
<glyph unicode="" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
|
80 |
<glyph unicode="" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" />
|
81 |
+
<glyph unicode="" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.5v71l471 -1q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111 t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
|
82 |
<glyph unicode="" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
|
83 |
<glyph unicode="" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
|
84 |
<glyph unicode="" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
|
93 |
<glyph unicode="" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
|
94 |
<glyph unicode="" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" />
|
95 |
<glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" />
|
96 |
+
<glyph unicode="" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 139t-64 210zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
|
97 |
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" />
|
98 |
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
|
99 |
+
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q61 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l567 567l-137 137l-430 -431l-146 147z" />
|
100 |
<glyph unicode="" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
|
101 |
<glyph unicode="" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
102 |
<glyph unicode="" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
110 |
<glyph unicode="" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
|
111 |
<glyph unicode="" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" />
|
112 |
<glyph unicode="" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" />
|
113 |
+
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
|
114 |
+
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h600v200h-600v-200z" />
|
115 |
+
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM246 459l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141l-141 142l-212 -213l141 -141 z" />
|
116 |
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
|
117 |
+
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM364 700h143q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5 q19 0 30 -10t11 -26q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-50 0 -90.5 -12t-75 -38.5t-53.5 -74.5t-19 -114zM500 300h200v100h-200 v-100z" />
|
118 |
+
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200v100h-200v-100z" />
|
119 |
+
<glyph unicode="" d="M0 500v200h195q31 125 98.5 199.5t206.5 100.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206h200v-206 q149 48 201 206h-201v200h200q-25 74 -75.5 127t-124.5 77v-204h-200v203q-75 -23 -130 -77t-79 -126h209v-200h-210z" />
|
120 |
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" />
|
121 |
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" />
|
122 |
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" />
|
127 |
<glyph unicode="" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" />
|
128 |
<glyph unicode="" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
|
129 |
<glyph unicode="" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" />
|
130 |
+
<glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5h-207q-21 0 -33 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
|
131 |
+
<glyph unicode="" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111q1 1 1 6.5t-1.5 15t-3.5 17.5l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6 h-111v-100zM100 0h400v400h-400v-400zM200 900q-3 0 14 48t36 96l18 47l213 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
|
132 |
<glyph unicode="" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
|
133 |
<glyph unicode="" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
|
134 |
<glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
|
135 |
<glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
|
136 |
+
<glyph unicode="" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 34 -48 36.5t-48 -29.5l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
|
137 |
+
<glyph unicode="" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -20 -13 -28.5t-32 0.5l-94 78h-222l-94 -78q-19 -9 -32 -0.5t-13 28.5 v64q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
|
138 |
<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
|
139 |
<glyph unicode="" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
|
140 |
<glyph unicode="" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
|
148 |
<glyph unicode="" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
|
149 |
<glyph unicode="" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
|
150 |
<glyph unicode="" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
|
151 |
+
<glyph unicode="" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM100 500v250v8v8v7t0.5 7t1.5 5.5t2 5t3 4t4.5 3.5t6 1.5t7.5 0.5h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35 q-55 337 -55 351zM1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
|
152 |
+
<glyph unicode="" d="M74 350q0 21 13.5 35.5t33.5 14.5h18l117 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5q-18 -36 -18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-8 -3 -23 -8.5 t-65 -20t-103 -25t-132.5 -19.5t-158.5 -9q-125 0 -245.5 20.5t-178.5 40.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
|
153 |
<glyph unicode="" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
|
154 |
+
<glyph unicode="" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -75h61q124 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400z M400 300v375l150 213l100 212h50v-175l-50 -225h450v-125l-250 -375h-214l-136 100h-100z" />
|
155 |
+
<glyph unicode="" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q124 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63zM400 525l150 -212l100 -213h50v175l-50 225h450v125l-250 375h-214l-136 -100h-100v-375z" />
|
156 |
<glyph unicode="" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" />
|
157 |
+
<glyph unicode="" d="M-101 651q0 72 54 110t139 38l302 -1l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6l365 -230q7 -4 17 -10.5t26.5 -26t16.5 -36.5v-526q0 -13 -86 -93.5t-94 -80.5h-341q-16 0 -29.5 20t-19.5 41l-130 339h-107q-84 0 -139 39t-55 111zM-1 601h222 q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l107 89v502l-343 237l-87 -83l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100zM1000 201v600h200v-600h-200z" />
|
158 |
+
<glyph unicode="" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6.5v7.5v6.5v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294l-89 -100h-503zM400 0v200h600v-200h-600z" />
|
159 |
+
<glyph unicode="" d="M2 585q-16 -31 6 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85q0 -51 -0.5 -153.5t-0.5 -148.5q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM77 565l236 339h503 l89 -100v-294l-340 -130q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
|
160 |
+
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM298 701l2 -201h300l-2 -194l402 294l-402 298v-197h-300z" />
|
161 |
+
<glyph unicode="" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200 600l402 -294l-2 194h300l2 201h-300v197z" />
|
162 |
+
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600h200v-300h200v300h200l-300 400z" />
|
163 |
+
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600l300 -400l300 400h-200v300h-200v-300h-200z" />
|
164 |
+
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -33 5.5 -92.5t7.5 -87.5q0 -9 17 -44t16 -60 q12 0 23 -5.5t23 -15t20 -13.5q24 -12 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55t-20 -57q42 -71 87 -80q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q104 -3 221 112q30 29 47 47t34.5 49t20.5 62q-14 9 -37 9.5t-36 7.5q-14 7 -49 15t-52 19q-9 0 -39.5 -0.5 t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5t5.5 57.5 q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 39 2 44q31 -13 58 -14.5t39 3.5l11 4q7 36 -16.5 53.5t-64.5 28.5t-56 23q-19 -3 -37 0 q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6q-15 -3 -45.5 0.5t-45.5 -2.5q-21 -7 -52 -26.5t-34 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -90.5t-29.5 -79.5zM518 916q3 12 16 30t16 25q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -24 17 -66.5t17 -43.5 q-9 2 -31 5t-36 5t-32 8t-30 14zM692 1003h1h-1z" />
|
165 |
<glyph unicode="" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
|
166 |
<glyph unicode="" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
|
167 |
<glyph unicode="" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
|
168 |
<glyph unicode="" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
|
169 |
<glyph unicode="" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
|
170 |
+
<glyph unicode="" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM514 609q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5 q22 0 38 -16t16 -39t-16 -39t-38 -16q-14 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5zM800 655q0 22 16 38t39 16t38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39z" />
|
171 |
+
<glyph unicode="" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -78.5 -16.5t-67.5 -51.5l-389 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23 q38 0 53 -36q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60 l517 511q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163z" />
|
172 |
+
<glyph unicode="" d="M80 784q0 131 98.5 229.5t230.5 98.5q143 0 241 -129q103 129 246 129q129 0 226 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-197 -191 -293 -322l-17 -23l-16 23q-43 58 -100 122.5t-92 99.5t-101 100q-71 70 -104.5 105.5t-77 89.5t-61 99 t-17.5 91zM250 784q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203l12 12q64 62 97.5 97t64.5 79t31 72q0 71 -48 119.5t-105 48.5q-74 0 -132 -83l-118 -171l-114 174q-51 80 -123 80q-60 0 -109.5 -49.5t-49.5 -118.5z" />
|
173 |
+
<glyph unicode="" d="M57 353q0 -95 66 -159l141 -142q68 -66 159 -66q93 0 159 66l283 283q66 66 66 159t-66 159l-141 141q-8 9 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141q7 -7 19 -17l105 105 l-212 212l389 389l247 -247l-95 -96l18 -17q47 -49 77 -100l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
|
174 |
<glyph unicode="" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
|
175 |
<glyph unicode="" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
|
176 |
+
<glyph unicode="" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335q-6 1 -15.5 4t-11.5 3q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5 v-307l64 -14q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5 zM700 237q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
|
177 |
+
<glyph unicode="" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -28 16.5 -69.5t28 -62.5t41.5 -72h241v-100h-197q8 -50 -2.5 -115 t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q33 1 103 -16t103 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221z" />
|
178 |
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
|
179 |
<glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
|
180 |
<glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
|
187 |
<glyph unicode="" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
|
188 |
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
|
189 |
<glyph unicode="" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" />
|
190 |
+
<glyph unicode="" d="M217 519q8 -19 31 -19h302q-155 -438 -160 -458q-5 -21 4 -32l9 -8h9q14 0 26 15q11 13 274.5 321.5t264.5 308.5q14 19 5 36q-8 17 -31 17l-301 -1q1 4 78 219.5t79 227.5q2 15 -5 27l-9 9h-9q-15 0 -25 -16q-4 -6 -98 -111.5t-228.5 -257t-209.5 -237.5q-16 -19 -6 -41 z" />
|
191 |
<glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " />
|
192 |
<glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" />
|
193 |
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" />
|
194 |
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" />
|
195 |
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" />
|
196 |
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" />
|
197 |
+
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200 400l697 1l3 699l-250 -239l-149 149l-212 -212l149 -149zM900 150h100v50h-100v-50z" />
|
198 |
+
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149 148l249 -237l-1 697zM900 150h100v50h-100v-50z" />
|
199 |
<glyph unicode="" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" />
|
200 |
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" />
|
201 |
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" />
|
204 |
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" />
|
205 |
<glyph unicode="" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" />
|
206 |
<glyph unicode="" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" />
|
207 |
+
<glyph unicode="" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -116q-25 -17 -43.5 -51.5t-18.5 -65.5v-359z" />
|
208 |
<glyph unicode="" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" />
|
209 |
<glyph unicode="" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" />
|
210 |
+
<glyph unicode="" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q17 18 13.5 41t-22.5 37l-192 136q-19 14 -45 12t-42 -19l-118 -118q-142 101 -268 227t-227 268l118 118q17 17 20 41.5t-11 44.5 l-139 194q-14 19 -36.5 22t-40.5 -14l-162 -162q-1 -11 -0.5 -32.5z" />
|
211 |
+
<glyph unicode="" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-20 0 -35 14.5t-15 35.5zM0 712 q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40 t-53.5 -36.5t-31 -27.5l-9 -10v-200z" />
|
212 |
<glyph unicode="" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" />
|
213 |
<glyph unicode="" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" />
|
214 |
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
|
221 |
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" />
|
222 |
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" />
|
223 |
<glyph unicode="" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" />
|
224 |
+
<glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200h200v300h200v-300h200 l-300 -300z" />
|
225 |
+
<glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5 104.5t60.5 178.5q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200l300 300 l300 -300h-200v-300h-200v300h-200z" />
|
226 |
<glyph unicode="" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" />
|
227 |
+
<glyph unicode="" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -11.5t1 -11.5q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" />
|
228 |
</font>
|
229 |
</defs></svg>
|
assets/bootstrap/fonts/glyphicons-halflings-regular.ttf
CHANGED
Binary file
|
assets/bootstrap/fonts/glyphicons-halflings-regular.woff
CHANGED
Binary file
|
assets/bootstrap/js/bootstrap.js
CHANGED
@@ -1,13 +1,13 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap v3.
|
3 |
* Copyright 2011-2014 Twitter, Inc.
|
4 |
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
*/
|
6 |
|
7 |
-
if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery') }
|
8 |
|
9 |
/* ========================================================================
|
10 |
-
* Bootstrap: transition.js v3.
|
11 |
* http://getbootstrap.com/javascript/#transitions
|
12 |
* ========================================================================
|
13 |
* Copyright 2011-2014 Twitter, Inc.
|
@@ -25,10 +25,10 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
25 |
var el = document.createElement('bootstrap')
|
26 |
|
27 |
var transEndEventNames = {
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
}
|
33 |
|
34 |
for (var name in transEndEventNames) {
|
@@ -42,8 +42,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
42 |
|
43 |
// http://blog.alexmaccaw.com/css-transitions
|
44 |
$.fn.emulateTransitionEnd = function (duration) {
|
45 |
-
var called = false
|
46 |
-
$
|
|
|
47 |
var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
|
48 |
setTimeout(callback, duration)
|
49 |
return this
|
@@ -51,12 +52,22 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
51 |
|
52 |
$(function () {
|
53 |
$.support.transition = transitionEnd()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
54 |
})
|
55 |
|
56 |
}(jQuery);
|
57 |
|
58 |
/* ========================================================================
|
59 |
-
* Bootstrap: alert.js v3.
|
60 |
* http://getbootstrap.com/javascript/#alerts
|
61 |
* ========================================================================
|
62 |
* Copyright 2011-2014 Twitter, Inc.
|
@@ -75,6 +86,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
75 |
$(el).on('click', dismiss, this.close)
|
76 |
}
|
77 |
|
|
|
|
|
78 |
Alert.prototype.close = function (e) {
|
79 |
var $this = $(this)
|
80 |
var selector = $this.attr('data-target')
|
@@ -99,12 +112,13 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
99 |
$parent.removeClass('in')
|
100 |
|
101 |
function removeElement() {
|
102 |
-
|
|
|
103 |
}
|
104 |
|
105 |
$.support.transition && $parent.hasClass('fade') ?
|
106 |
$parent
|
107 |
-
.one(
|
108 |
.emulateTransitionEnd(150) :
|
109 |
removeElement()
|
110 |
}
|
@@ -113,9 +127,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
113 |
// ALERT PLUGIN DEFINITION
|
114 |
// =======================
|
115 |
|
116 |
-
|
117 |
-
|
118 |
-
$.fn.alert = function (option) {
|
119 |
return this.each(function () {
|
120 |
var $this = $(this)
|
121 |
var data = $this.data('bs.alert')
|
@@ -125,6 +137,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
125 |
})
|
126 |
}
|
127 |
|
|
|
|
|
|
|
128 |
$.fn.alert.Constructor = Alert
|
129 |
|
130 |
|
@@ -145,7 +160,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
145 |
}(jQuery);
|
146 |
|
147 |
/* ========================================================================
|
148 |
-
* Bootstrap: button.js v3.
|
149 |
* http://getbootstrap.com/javascript/#buttons
|
150 |
* ========================================================================
|
151 |
* Copyright 2011-2014 Twitter, Inc.
|
@@ -165,6 +180,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
165 |
this.isLoading = false
|
166 |
}
|
167 |
|
|
|
|
|
168 |
Button.DEFAULTS = {
|
169 |
loadingText: 'loading...'
|
170 |
}
|
@@ -177,9 +194,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
177 |
|
178 |
state = state + 'Text'
|
179 |
|
180 |
-
if (
|
181 |
|
182 |
-
$el[val](data[state]
|
183 |
|
184 |
// push to event loop to allow forms to submit
|
185 |
setTimeout($.proxy(function () {
|
@@ -213,9 +230,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
213 |
// BUTTON PLUGIN DEFINITION
|
214 |
// ========================
|
215 |
|
216 |
-
|
217 |
-
|
218 |
-
$.fn.button = function (option) {
|
219 |
return this.each(function () {
|
220 |
var $this = $(this)
|
221 |
var data = $this.data('bs.button')
|
@@ -228,6 +243,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
228 |
})
|
229 |
}
|
230 |
|
|
|
|
|
|
|
231 |
$.fn.button.Constructor = Button
|
232 |
|
233 |
|
@@ -243,17 +261,17 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
243 |
// BUTTON DATA-API
|
244 |
// ===============
|
245 |
|
246 |
-
$(document).on('click.bs.button.data-api', '[data-toggle^=button]', function (e) {
|
247 |
var $btn = $(e.target)
|
248 |
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
|
249 |
-
$btn
|
250 |
e.preventDefault()
|
251 |
})
|
252 |
|
253 |
}(jQuery);
|
254 |
|
255 |
/* ========================================================================
|
256 |
-
* Bootstrap: carousel.js v3.
|
257 |
* http://getbootstrap.com/javascript/#carousel
|
258 |
* ========================================================================
|
259 |
* Copyright 2011-2014 Twitter, Inc.
|
@@ -268,7 +286,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
268 |
// =========================
|
269 |
|
270 |
var Carousel = function (element, options) {
|
271 |
-
this.$element = $(element)
|
272 |
this.$indicators = this.$element.find('.carousel-indicators')
|
273 |
this.options = options
|
274 |
this.paused =
|
@@ -278,17 +296,29 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
278 |
this.$items = null
|
279 |
|
280 |
this.options.pause == 'hover' && this.$element
|
281 |
-
.on('mouseenter', $.proxy(this.pause, this))
|
282 |
-
.on('mouseleave', $.proxy(this.cycle, this))
|
283 |
}
|
284 |
|
|
|
|
|
285 |
Carousel.DEFAULTS = {
|
286 |
interval: 5000,
|
287 |
pause: 'hover',
|
288 |
wrap: true
|
289 |
}
|
290 |
|
291 |
-
Carousel.prototype.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
292 |
e || (this.paused = false)
|
293 |
|
294 |
this.interval && clearInterval(this.interval)
|
@@ -300,20 +330,18 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
300 |
return this
|
301 |
}
|
302 |
|
303 |
-
Carousel.prototype.
|
304 |
-
this.$
|
305 |
-
this.$items
|
306 |
-
|
307 |
-
return this.$items.index(this.$active)
|
308 |
}
|
309 |
|
310 |
Carousel.prototype.to = function (pos) {
|
311 |
var that = this
|
312 |
-
var activeIndex = this.
|
313 |
|
314 |
if (pos > (this.$items.length - 1) || pos < 0) return
|
315 |
|
316 |
-
if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) })
|
317 |
if (activeIndex == pos) return this.pause().cycle()
|
318 |
|
319 |
return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
|
@@ -355,11 +383,15 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
355 |
$next = this.$element.find('.item')[fallback]()
|
356 |
}
|
357 |
|
358 |
-
if ($next.hasClass('active')) return this.sliding = false
|
359 |
|
360 |
-
var
|
361 |
-
|
362 |
-
|
|
|
|
|
|
|
|
|
363 |
|
364 |
this.sliding = true
|
365 |
|
@@ -367,30 +399,31 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
367 |
|
368 |
if (this.$indicators.length) {
|
369 |
this.$indicators.find('.active').removeClass('active')
|
370 |
-
this.$
|
371 |
-
|
372 |
-
$nextIndicator && $nextIndicator.addClass('active')
|
373 |
-
})
|
374 |
}
|
375 |
|
|
|
376 |
if ($.support.transition && this.$element.hasClass('slide')) {
|
377 |
$next.addClass(type)
|
378 |
$next[0].offsetWidth // force reflow
|
379 |
$active.addClass(direction)
|
380 |
$next.addClass(direction)
|
381 |
$active
|
382 |
-
.one(
|
383 |
$next.removeClass([type, direction].join(' ')).addClass('active')
|
384 |
$active.removeClass(['active', direction].join(' '))
|
385 |
that.sliding = false
|
386 |
-
setTimeout(function () {
|
|
|
|
|
387 |
})
|
388 |
.emulateTransitionEnd($active.css('transition-duration').slice(0, -1) * 1000)
|
389 |
} else {
|
390 |
$active.removeClass('active')
|
391 |
$next.addClass('active')
|
392 |
this.sliding = false
|
393 |
-
this.$element.trigger(
|
394 |
}
|
395 |
|
396 |
isCycling && this.cycle()
|
@@ -402,9 +435,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
402 |
// CAROUSEL PLUGIN DEFINITION
|
403 |
// ==========================
|
404 |
|
405 |
-
|
406 |
-
|
407 |
-
$.fn.carousel = function (option) {
|
408 |
return this.each(function () {
|
409 |
var $this = $(this)
|
410 |
var data = $this.data('bs.carousel')
|
@@ -418,6 +449,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
418 |
})
|
419 |
}
|
420 |
|
|
|
|
|
|
|
421 |
$.fn.carousel.Constructor = Carousel
|
422 |
|
423 |
|
@@ -434,15 +468,17 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
434 |
// =================
|
435 |
|
436 |
$(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
|
437 |
-
var
|
438 |
-
var $
|
|
|
|
|
439 |
var options = $.extend({}, $target.data(), $this.data())
|
440 |
var slideIndex = $this.attr('data-slide-to')
|
441 |
if (slideIndex) options.interval = false
|
442 |
|
443 |
-
$target
|
444 |
|
445 |
-
if (slideIndex
|
446 |
$target.data('bs.carousel').to(slideIndex)
|
447 |
}
|
448 |
|
@@ -452,14 +488,14 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
452 |
$(window).on('load', function () {
|
453 |
$('[data-ride="carousel"]').each(function () {
|
454 |
var $carousel = $(this)
|
455 |
-
|
456 |
})
|
457 |
})
|
458 |
|
459 |
}(jQuery);
|
460 |
|
461 |
/* ========================================================================
|
462 |
-
* Bootstrap: collapse.js v3.
|
463 |
* http://getbootstrap.com/javascript/#collapse
|
464 |
* ========================================================================
|
465 |
* Copyright 2011-2014 Twitter, Inc.
|
@@ -482,6 +518,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
482 |
if (this.options.toggle) this.toggle()
|
483 |
}
|
484 |
|
|
|
|
|
485 |
Collapse.DEFAULTS = {
|
486 |
toggle: true
|
487 |
}
|
@@ -503,7 +541,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
503 |
if (actives && actives.length) {
|
504 |
var hasData = actives.data('bs.collapse')
|
505 |
if (hasData && hasData.transitioning) return
|
506 |
-
|
507 |
hasData || actives.data('bs.collapse', null)
|
508 |
}
|
509 |
|
@@ -511,18 +549,17 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
511 |
|
512 |
this.$element
|
513 |
.removeClass('collapse')
|
514 |
-
.addClass('collapsing')
|
515 |
-
[dimension](0)
|
516 |
|
517 |
this.transitioning = 1
|
518 |
|
519 |
var complete = function () {
|
520 |
this.$element
|
521 |
.removeClass('collapsing')
|
522 |
-
.addClass('collapse in')
|
523 |
-
[dimension]('auto')
|
524 |
this.transitioning = 0
|
525 |
-
this.$element
|
|
|
526 |
}
|
527 |
|
528 |
if (!$.support.transition) return complete.call(this)
|
@@ -530,9 +567,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
530 |
var scrollSize = $.camelCase(['scroll', dimension].join('-'))
|
531 |
|
532 |
this.$element
|
533 |
-
.one(
|
534 |
-
.emulateTransitionEnd(350)
|
535 |
-
[dimension](this.$element[0][scrollSize])
|
536 |
}
|
537 |
|
538 |
Collapse.prototype.hide = function () {
|
@@ -544,9 +580,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
544 |
|
545 |
var dimension = this.dimension()
|
546 |
|
547 |
-
this.$element
|
548 |
-
[dimension](this.$element[dimension]())
|
549 |
-
[0].offsetHeight
|
550 |
|
551 |
this.$element
|
552 |
.addClass('collapsing')
|
@@ -567,7 +601,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
567 |
|
568 |
this.$element
|
569 |
[dimension](0)
|
570 |
-
.one(
|
571 |
.emulateTransitionEnd(350)
|
572 |
}
|
573 |
|
@@ -579,9 +613,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
579 |
// COLLAPSE PLUGIN DEFINITION
|
580 |
// ==========================
|
581 |
|
582 |
-
|
583 |
-
|
584 |
-
$.fn.collapse = function (option) {
|
585 |
return this.each(function () {
|
586 |
var $this = $(this)
|
587 |
var data = $this.data('bs.collapse')
|
@@ -593,6 +625,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
593 |
})
|
594 |
}
|
595 |
|
|
|
|
|
|
|
596 |
$.fn.collapse.Constructor = Collapse
|
597 |
|
598 |
|
@@ -608,11 +643,12 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
608 |
// COLLAPSE DATA-API
|
609 |
// =================
|
610 |
|
611 |
-
$(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) {
|
612 |
-
var
|
|
|
613 |
var target = $this.attr('data-target')
|
614 |
|| e.preventDefault()
|
615 |
-
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
|
616 |
var $target = $(target)
|
617 |
var data = $target.data('bs.collapse')
|
618 |
var option = data ? 'toggle' : $this.data()
|
@@ -620,17 +656,17 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
620 |
var $parent = parent && $(parent)
|
621 |
|
622 |
if (!data || !data.transitioning) {
|
623 |
-
if ($parent) $parent.find('[data-toggle=collapse][data-parent="' + parent + '"]').not($this).addClass('collapsed')
|
624 |
$this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
|
625 |
}
|
626 |
|
627 |
-
$target
|
628 |
})
|
629 |
|
630 |
}(jQuery);
|
631 |
|
632 |
/* ========================================================================
|
633 |
-
* Bootstrap: dropdown.js v3.
|
634 |
* http://getbootstrap.com/javascript/#dropdowns
|
635 |
* ========================================================================
|
636 |
* Copyright 2011-2014 Twitter, Inc.
|
@@ -645,11 +681,13 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
645 |
// =========================
|
646 |
|
647 |
var backdrop = '.dropdown-backdrop'
|
648 |
-
var toggle = '[data-toggle=dropdown]'
|
649 |
var Dropdown = function (element) {
|
650 |
$(element).on('click.bs.dropdown', this.toggle)
|
651 |
}
|
652 |
|
|
|
|
|
653 |
Dropdown.prototype.toggle = function (e) {
|
654 |
var $this = $(this)
|
655 |
|
@@ -671,11 +709,11 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
671 |
|
672 |
if (e.isDefaultPrevented()) return
|
673 |
|
|
|
|
|
674 |
$parent
|
675 |
.toggleClass('open')
|
676 |
.trigger('shown.bs.dropdown', relatedTarget)
|
677 |
-
|
678 |
-
$this.focus()
|
679 |
}
|
680 |
|
681 |
return false
|
@@ -695,12 +733,12 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
695 |
var isActive = $parent.hasClass('open')
|
696 |
|
697 |
if (!isActive || (isActive && e.keyCode == 27)) {
|
698 |
-
if (e.which == 27) $parent.find(toggle).focus
|
699 |
-
return $this.click
|
700 |
}
|
701 |
|
702 |
var desc = ' li:not(.divider):visible a'
|
703 |
-
var $items = $parent.find('[role=menu]' + desc + ', [role=listbox]' + desc)
|
704 |
|
705 |
if (!$items.length) return
|
706 |
|
@@ -710,10 +748,11 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
710 |
if (e.keyCode == 40 && index < $items.length - 1) index++ // down
|
711 |
if (!~index) index = 0
|
712 |
|
713 |
-
$items.eq(index).focus
|
714 |
}
|
715 |
|
716 |
function clearMenus(e) {
|
|
|
717 |
$(backdrop).remove()
|
718 |
$(toggle).each(function () {
|
719 |
var $parent = getParent($(this))
|
@@ -730,7 +769,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
730 |
|
731 |
if (!selector) {
|
732 |
selector = $this.attr('href')
|
733 |
-
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
734 |
}
|
735 |
|
736 |
var $parent = selector && $(selector)
|
@@ -742,9 +781,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
742 |
// DROPDOWN PLUGIN DEFINITION
|
743 |
// ==========================
|
744 |
|
745 |
-
|
746 |
-
|
747 |
-
$.fn.dropdown = function (option) {
|
748 |
return this.each(function () {
|
749 |
var $this = $(this)
|
750 |
var data = $this.data('bs.dropdown')
|
@@ -754,6 +791,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
754 |
})
|
755 |
}
|
756 |
|
|
|
|
|
|
|
757 |
$.fn.dropdown.Constructor = Dropdown
|
758 |
|
759 |
|
@@ -773,12 +813,12 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
773 |
.on('click.bs.dropdown.data-api', clearMenus)
|
774 |
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
775 |
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
776 |
-
.on('keydown.bs.dropdown.data-api', toggle + ', [role=menu], [role=listbox]', Dropdown.prototype.keydown)
|
777 |
|
778 |
}(jQuery);
|
779 |
|
780 |
/* ========================================================================
|
781 |
-
* Bootstrap: modal.js v3.
|
782 |
* http://getbootstrap.com/javascript/#modals
|
783 |
* ========================================================================
|
784 |
* Copyright 2011-2014 Twitter, Inc.
|
@@ -793,10 +833,12 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
793 |
// ======================
|
794 |
|
795 |
var Modal = function (element, options) {
|
796 |
-
this.options
|
797 |
-
this.$
|
798 |
-
this.$
|
799 |
-
this
|
|
|
|
|
800 |
|
801 |
if (this.options.remote) {
|
802 |
this.$element
|
@@ -807,6 +849,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
807 |
}
|
808 |
}
|
809 |
|
|
|
|
|
810 |
Modal.DEFAULTS = {
|
811 |
backdrop: true,
|
812 |
keyboard: true,
|
@@ -814,7 +858,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
814 |
}
|
815 |
|
816 |
Modal.prototype.toggle = function (_relatedTarget) {
|
817 |
-
return this
|
818 |
}
|
819 |
|
820 |
Modal.prototype.show = function (_relatedTarget) {
|
@@ -827,6 +871,10 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
827 |
|
828 |
this.isShown = true
|
829 |
|
|
|
|
|
|
|
|
|
830 |
this.escape()
|
831 |
|
832 |
this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
|
@@ -835,7 +883,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
835 |
var transition = $.support.transition && that.$element.hasClass('fade')
|
836 |
|
837 |
if (!that.$element.parent().length) {
|
838 |
-
that.$element.appendTo(
|
839 |
}
|
840 |
|
841 |
that.$element
|
@@ -856,11 +904,11 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
856 |
|
857 |
transition ?
|
858 |
that.$element.find('.modal-dialog') // wait for modal to slide in
|
859 |
-
.one(
|
860 |
-
that.$element.focus
|
861 |
})
|
862 |
.emulateTransitionEnd(300) :
|
863 |
-
that.$element.focus
|
864 |
})
|
865 |
}
|
866 |
|
@@ -875,6 +923,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
875 |
|
876 |
this.isShown = false
|
877 |
|
|
|
|
|
|
|
878 |
this.escape()
|
879 |
|
880 |
$(document).off('focusin.bs.modal')
|
@@ -886,7 +937,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
886 |
|
887 |
$.support.transition && this.$element.hasClass('fade') ?
|
888 |
this.$element
|
889 |
-
.one(
|
890 |
.emulateTransitionEnd(300) :
|
891 |
this.hideModal()
|
892 |
}
|
@@ -896,7 +947,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
896 |
.off('focusin.bs.modal') // guard against infinite focus loop
|
897 |
.on('focusin.bs.modal', $.proxy(function (e) {
|
898 |
if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
|
899 |
-
this.$element.focus
|
900 |
}
|
901 |
}, this))
|
902 |
}
|
@@ -915,7 +966,6 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
915 |
var that = this
|
916 |
this.$element.hide()
|
917 |
this.backdrop(function () {
|
918 |
-
that.removeBackdrop()
|
919 |
that.$element.trigger('hidden.bs.modal')
|
920 |
})
|
921 |
}
|
@@ -926,13 +976,14 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
926 |
}
|
927 |
|
928 |
Modal.prototype.backdrop = function (callback) {
|
|
|
929 |
var animate = this.$element.hasClass('fade') ? 'fade' : ''
|
930 |
|
931 |
if (this.isShown && this.options.backdrop) {
|
932 |
var doAnimate = $.support.transition && animate
|
933 |
|
934 |
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
|
935 |
-
.appendTo(
|
936 |
|
937 |
this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
|
938 |
if (e.target !== e.currentTarget) return
|
@@ -949,31 +1000,56 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
949 |
|
950 |
doAnimate ?
|
951 |
this.$backdrop
|
952 |
-
.one(
|
953 |
.emulateTransitionEnd(150) :
|
954 |
callback()
|
955 |
|
956 |
} else if (!this.isShown && this.$backdrop) {
|
957 |
this.$backdrop.removeClass('in')
|
958 |
|
|
|
|
|
|
|
|
|
959 |
$.support.transition && this.$element.hasClass('fade') ?
|
960 |
this.$backdrop
|
961 |
-
.one(
|
962 |
.emulateTransitionEnd(150) :
|
963 |
-
|
964 |
|
965 |
} else if (callback) {
|
966 |
callback()
|
967 |
}
|
968 |
}
|
969 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
970 |
|
971 |
// MODAL PLUGIN DEFINITION
|
972 |
// =======================
|
973 |
|
974 |
-
|
975 |
-
|
976 |
-
$.fn.modal = function (option, _relatedTarget) {
|
977 |
return this.each(function () {
|
978 |
var $this = $(this)
|
979 |
var data = $this.data('bs.modal')
|
@@ -985,6 +1061,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
985 |
})
|
986 |
}
|
987 |
|
|
|
|
|
|
|
988 |
$.fn.modal.Constructor = Modal
|
989 |
|
990 |
|
@@ -1003,26 +1082,24 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1003 |
$(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
|
1004 |
var $this = $(this)
|
1005 |
var href = $this.attr('href')
|
1006 |
-
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
|
1007 |
var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
|
1008 |
|
1009 |
if ($this.is('a')) e.preventDefault()
|
1010 |
|
1011 |
-
$target
|
1012 |
-
.
|
1013 |
-
.one('
|
1014 |
-
$this.is(':visible') && $this.focus
|
1015 |
})
|
|
|
|
|
1016 |
})
|
1017 |
|
1018 |
-
$(document)
|
1019 |
-
.on('show.bs.modal', '.modal', function () { $(document.body).addClass('modal-open') })
|
1020 |
-
.on('hidden.bs.modal', '.modal', function () { $(document.body).removeClass('modal-open') })
|
1021 |
-
|
1022 |
}(jQuery);
|
1023 |
|
1024 |
/* ========================================================================
|
1025 |
-
* Bootstrap: tooltip.js v3.
|
1026 |
* http://getbootstrap.com/javascript/#tooltip
|
1027 |
* Inspired by the original jQuery.tipsy by Jason Frame
|
1028 |
* ========================================================================
|
@@ -1048,23 +1125,30 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1048 |
this.init('tooltip', element, options)
|
1049 |
}
|
1050 |
|
|
|
|
|
1051 |
Tooltip.DEFAULTS = {
|
1052 |
animation: true,
|
1053 |
placement: 'top',
|
1054 |
selector: false,
|
1055 |
-
template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
|
1056 |
trigger: 'hover focus',
|
1057 |
title: '',
|
1058 |
delay: 0,
|
1059 |
html: false,
|
1060 |
-
container: false
|
|
|
|
|
|
|
|
|
1061 |
}
|
1062 |
|
1063 |
Tooltip.prototype.init = function (type, element, options) {
|
1064 |
-
this.enabled
|
1065 |
-
this.type
|
1066 |
-
this.$element
|
1067 |
-
this.options
|
|
|
1068 |
|
1069 |
var triggers = this.options.trigger.split(' ')
|
1070 |
|
@@ -1117,7 +1201,12 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1117 |
|
1118 |
Tooltip.prototype.enter = function (obj) {
|
1119 |
var self = obj instanceof this.constructor ?
|
1120 |
-
obj : $(obj.currentTarget)
|
|
|
|
|
|
|
|
|
|
|
1121 |
|
1122 |
clearTimeout(self.timeout)
|
1123 |
|
@@ -1132,7 +1221,12 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1132 |
|
1133 |
Tooltip.prototype.leave = function (obj) {
|
1134 |
var self = obj instanceof this.constructor ?
|
1135 |
-
obj : $(obj.currentTarget)
|
|
|
|
|
|
|
|
|
|
|
1136 |
|
1137 |
clearTimeout(self.timeout)
|
1138 |
|
@@ -1151,12 +1245,17 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1151 |
if (this.hasContent() && this.enabled) {
|
1152 |
this.$element.trigger(e)
|
1153 |
|
1154 |
-
|
1155 |
-
|
|
|
1156 |
|
1157 |
var $tip = this.tip()
|
1158 |
|
|
|
|
|
1159 |
this.setContent()
|
|
|
|
|
1160 |
|
1161 |
if (this.options.animation) $tip.addClass('fade')
|
1162 |
|
@@ -1172,6 +1271,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1172 |
.detach()
|
1173 |
.css({ top: 0, left: 0, display: 'block' })
|
1174 |
.addClass(placement)
|
|
|
1175 |
|
1176 |
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
|
1177 |
|
@@ -1180,18 +1280,14 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1180 |
var actualHeight = $tip[0].offsetHeight
|
1181 |
|
1182 |
if (autoPlace) {
|
1183 |
-
var $parent = this.$element.parent()
|
1184 |
-
|
1185 |
var orgPlacement = placement
|
1186 |
-
var
|
1187 |
-
var
|
1188 |
-
|
1189 |
-
|
1190 |
-
|
1191 |
-
|
1192 |
-
placement == '
|
1193 |
-
placement == 'right' && pos.right + actualWidth > parentWidth ? 'left' :
|
1194 |
-
placement == 'left' && pos.left - actualWidth < parentLeft ? 'right' :
|
1195 |
placement
|
1196 |
|
1197 |
$tip
|
@@ -1202,22 +1298,21 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1202 |
var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
|
1203 |
|
1204 |
this.applyPlacement(calculatedOffset, placement)
|
1205 |
-
this.hoverState = null
|
1206 |
|
1207 |
-
var complete = function() {
|
1208 |
that.$element.trigger('shown.bs.' + that.type)
|
|
|
1209 |
}
|
1210 |
|
1211 |
$.support.transition && this.$tip.hasClass('fade') ?
|
1212 |
$tip
|
1213 |
-
.one(
|
1214 |
.emulateTransitionEnd(150) :
|
1215 |
complete()
|
1216 |
}
|
1217 |
}
|
1218 |
|
1219 |
Tooltip.prototype.applyPlacement = function (offset, placement) {
|
1220 |
-
var replace
|
1221 |
var $tip = this.tip()
|
1222 |
var width = $tip[0].offsetWidth
|
1223 |
var height = $tip[0].offsetHeight
|
@@ -1251,29 +1346,20 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1251 |
var actualHeight = $tip[0].offsetHeight
|
1252 |
|
1253 |
if (placement == 'top' && actualHeight != height) {
|
1254 |
-
replace = true
|
1255 |
offset.top = offset.top + height - actualHeight
|
1256 |
}
|
1257 |
|
1258 |
-
|
1259 |
-
var delta = 0
|
1260 |
|
1261 |
-
|
1262 |
-
|
1263 |
-
offset.left = 0
|
1264 |
|
1265 |
-
|
1266 |
-
|
1267 |
-
|
1268 |
-
actualHeight = $tip[0].offsetHeight
|
1269 |
-
}
|
1270 |
|
1271 |
-
|
1272 |
-
|
1273 |
-
this.replaceArrow(actualHeight - height, actualHeight, 'top')
|
1274 |
-
}
|
1275 |
-
|
1276 |
-
if (replace) $tip.offset(offset)
|
1277 |
}
|
1278 |
|
1279 |
Tooltip.prototype.replaceArrow = function (delta, dimension, position) {
|
@@ -1293,6 +1379,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1293 |
var $tip = this.tip()
|
1294 |
var e = $.Event('hide.bs.' + this.type)
|
1295 |
|
|
|
|
|
1296 |
function complete() {
|
1297 |
if (that.hoverState != 'in') $tip.detach()
|
1298 |
that.$element.trigger('hidden.bs.' + that.type)
|
@@ -1306,7 +1394,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1306 |
|
1307 |
$.support.transition && this.$tip.hasClass('fade') ?
|
1308 |
$tip
|
1309 |
-
.one(
|
1310 |
.emulateTransitionEnd(150) :
|
1311 |
complete()
|
1312 |
|
@@ -1317,7 +1405,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1317 |
|
1318 |
Tooltip.prototype.fixTitle = function () {
|
1319 |
var $e = this.$element
|
1320 |
-
if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
|
1321 |
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
|
1322 |
}
|
1323 |
}
|
@@ -1326,12 +1414,15 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1326 |
return this.getTitle()
|
1327 |
}
|
1328 |
|
1329 |
-
Tooltip.prototype.getPosition = function () {
|
1330 |
-
|
1331 |
-
|
1332 |
-
|
1333 |
-
|
1334 |
-
|
|
|
|
|
|
|
1335 |
}
|
1336 |
|
1337 |
Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
|
@@ -1339,6 +1430,35 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1339 |
placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
|
1340 |
placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
|
1341 |
/* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1342 |
}
|
1343 |
|
1344 |
Tooltip.prototype.getTitle = function () {
|
@@ -1352,12 +1472,18 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1352 |
return title
|
1353 |
}
|
1354 |
|
|
|
|
|
|
|
|
|
|
|
|
|
1355 |
Tooltip.prototype.tip = function () {
|
1356 |
-
return this.$tip = this.$tip || $(this.options.template)
|
1357 |
}
|
1358 |
|
1359 |
Tooltip.prototype.arrow = function () {
|
1360 |
-
return this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow')
|
1361 |
}
|
1362 |
|
1363 |
Tooltip.prototype.validate = function () {
|
@@ -1381,7 +1507,15 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1381 |
}
|
1382 |
|
1383 |
Tooltip.prototype.toggle = function (e) {
|
1384 |
-
var self =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1385 |
self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
|
1386 |
}
|
1387 |
|
@@ -1394,9 +1528,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1394 |
// TOOLTIP PLUGIN DEFINITION
|
1395 |
// =========================
|
1396 |
|
1397 |
-
|
1398 |
-
|
1399 |
-
$.fn.tooltip = function (option) {
|
1400 |
return this.each(function () {
|
1401 |
var $this = $(this)
|
1402 |
var data = $this.data('bs.tooltip')
|
@@ -1408,6 +1540,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1408 |
})
|
1409 |
}
|
1410 |
|
|
|
|
|
|
|
1411 |
$.fn.tooltip.Constructor = Tooltip
|
1412 |
|
1413 |
|
@@ -1422,7 +1557,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1422 |
}(jQuery);
|
1423 |
|
1424 |
/* ========================================================================
|
1425 |
-
* Bootstrap: popover.js v3.
|
1426 |
* http://getbootstrap.com/javascript/#popovers
|
1427 |
* ========================================================================
|
1428 |
* Copyright 2011-2014 Twitter, Inc.
|
@@ -1442,11 +1577,13 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1442 |
|
1443 |
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
|
1444 |
|
|
|
|
|
1445 |
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
|
1446 |
placement: 'right',
|
1447 |
trigger: 'click',
|
1448 |
content: '',
|
1449 |
-
template: '<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
|
1450 |
})
|
1451 |
|
1452 |
|
@@ -1467,7 +1604,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1467 |
var content = this.getContent()
|
1468 |
|
1469 |
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
|
1470 |
-
$tip.find('.popover-content')[ // we use append for html objects to maintain js events
|
1471 |
this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
|
1472 |
](content)
|
1473 |
|
@@ -1493,7 +1630,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1493 |
}
|
1494 |
|
1495 |
Popover.prototype.arrow = function () {
|
1496 |
-
return this.$arrow = this.$arrow || this.tip().find('.arrow')
|
1497 |
}
|
1498 |
|
1499 |
Popover.prototype.tip = function () {
|
@@ -1505,9 +1642,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1505 |
// POPOVER PLUGIN DEFINITION
|
1506 |
// =========================
|
1507 |
|
1508 |
-
|
1509 |
-
|
1510 |
-
$.fn.popover = function (option) {
|
1511 |
return this.each(function () {
|
1512 |
var $this = $(this)
|
1513 |
var data = $this.data('bs.popover')
|
@@ -1519,6 +1654,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1519 |
})
|
1520 |
}
|
1521 |
|
|
|
|
|
|
|
1522 |
$.fn.popover.Constructor = Popover
|
1523 |
|
1524 |
|
@@ -1533,7 +1671,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1533 |
}(jQuery);
|
1534 |
|
1535 |
/* ========================================================================
|
1536 |
-
* Bootstrap: scrollspy.js v3.
|
1537 |
* http://getbootstrap.com/javascript/#scrollspy
|
1538 |
* ========================================================================
|
1539 |
* Copyright 2011-2014 Twitter, Inc.
|
@@ -1548,36 +1686,48 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1548 |
// ==========================
|
1549 |
|
1550 |
function ScrollSpy(element, options) {
|
1551 |
-
var href
|
1552 |
var process = $.proxy(this.process, this)
|
1553 |
|
1554 |
-
this.$element = $(element).is('body') ? $(window) : $(element)
|
1555 |
this.$body = $('body')
|
1556 |
-
this.$scrollElement =
|
1557 |
this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
|
1558 |
-
this.selector = (this.options.target
|
1559 |
-
|
1560 |
-
|
1561 |
-
this.offsets = $([])
|
1562 |
-
this.targets = $([])
|
1563 |
this.activeTarget = null
|
|
|
1564 |
|
|
|
1565 |
this.refresh()
|
1566 |
this.process()
|
1567 |
}
|
1568 |
|
|
|
|
|
1569 |
ScrollSpy.DEFAULTS = {
|
1570 |
offset: 10
|
1571 |
}
|
1572 |
|
|
|
|
|
|
|
|
|
1573 |
ScrollSpy.prototype.refresh = function () {
|
1574 |
-
var offsetMethod =
|
|
|
1575 |
|
1576 |
-
|
1577 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1578 |
|
1579 |
var self = this
|
1580 |
-
|
|
|
1581 |
.find(this.selector)
|
1582 |
.map(function () {
|
1583 |
var $el = $(this)
|
@@ -1587,7 +1737,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1587 |
return ($href
|
1588 |
&& $href.length
|
1589 |
&& $href.is(':visible')
|
1590 |
-
&& [[
|
1591 |
})
|
1592 |
.sort(function (a, b) { return a[0] - b[0] })
|
1593 |
.each(function () {
|
@@ -1598,15 +1748,19 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1598 |
|
1599 |
ScrollSpy.prototype.process = function () {
|
1600 |
var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
|
1601 |
-
var scrollHeight = this
|
1602 |
-
var maxScroll = scrollHeight - this.$scrollElement.height()
|
1603 |
var offsets = this.offsets
|
1604 |
var targets = this.targets
|
1605 |
var activeTarget = this.activeTarget
|
1606 |
var i
|
1607 |
|
|
|
|
|
|
|
|
|
1608 |
if (scrollTop >= maxScroll) {
|
1609 |
-
return activeTarget != (i = targets.
|
1610 |
}
|
1611 |
|
1612 |
if (activeTarget && scrollTop <= offsets[0]) {
|
@@ -1617,7 +1771,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1617 |
activeTarget != targets[i]
|
1618 |
&& scrollTop >= offsets[i]
|
1619 |
&& (!offsets[i + 1] || scrollTop <= offsets[i + 1])
|
1620 |
-
&& this.activate(
|
1621 |
}
|
1622 |
}
|
1623 |
|
@@ -1649,9 +1803,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1649 |
// SCROLLSPY PLUGIN DEFINITION
|
1650 |
// ===========================
|
1651 |
|
1652 |
-
|
1653 |
-
|
1654 |
-
$.fn.scrollspy = function (option) {
|
1655 |
return this.each(function () {
|
1656 |
var $this = $(this)
|
1657 |
var data = $this.data('bs.scrollspy')
|
@@ -1662,6 +1814,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1662 |
})
|
1663 |
}
|
1664 |
|
|
|
|
|
|
|
1665 |
$.fn.scrollspy.Constructor = ScrollSpy
|
1666 |
|
1667 |
|
@@ -1677,17 +1832,17 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1677 |
// SCROLLSPY DATA-API
|
1678 |
// ==================
|
1679 |
|
1680 |
-
$(window).on('load', function () {
|
1681 |
$('[data-spy="scroll"]').each(function () {
|
1682 |
var $spy = $(this)
|
1683 |
-
|
1684 |
})
|
1685 |
})
|
1686 |
|
1687 |
}(jQuery);
|
1688 |
|
1689 |
/* ========================================================================
|
1690 |
-
* Bootstrap: tab.js v3.
|
1691 |
* http://getbootstrap.com/javascript/#tabs
|
1692 |
* ========================================================================
|
1693 |
* Copyright 2011-2014 Twitter, Inc.
|
@@ -1705,6 +1860,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1705 |
this.element = $(element)
|
1706 |
}
|
1707 |
|
|
|
|
|
1708 |
Tab.prototype.show = function () {
|
1709 |
var $this = this.element
|
1710 |
var $ul = $this.closest('ul:not(.dropdown-menu)')
|
@@ -1712,7 +1869,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1712 |
|
1713 |
if (!selector) {
|
1714 |
selector = $this.attr('href')
|
1715 |
-
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
|
1716 |
}
|
1717 |
|
1718 |
if ($this.parent('li').hasClass('active')) return
|
@@ -1728,7 +1885,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1728 |
|
1729 |
var $target = $(selector)
|
1730 |
|
1731 |
-
this.activate($this.
|
1732 |
this.activate($target, $target.parent(), function () {
|
1733 |
$this.trigger({
|
1734 |
type: 'shown.bs.tab',
|
@@ -1767,7 +1924,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1767 |
|
1768 |
transition ?
|
1769 |
$active
|
1770 |
-
.one(
|
1771 |
.emulateTransitionEnd(150) :
|
1772 |
next()
|
1773 |
|
@@ -1778,9 +1935,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1778 |
// TAB PLUGIN DEFINITION
|
1779 |
// =====================
|
1780 |
|
1781 |
-
|
1782 |
-
|
1783 |
-
$.fn.tab = function ( option ) {
|
1784 |
return this.each(function () {
|
1785 |
var $this = $(this)
|
1786 |
var data = $this.data('bs.tab')
|
@@ -1790,6 +1945,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1790 |
})
|
1791 |
}
|
1792 |
|
|
|
|
|
|
|
1793 |
$.fn.tab.Constructor = Tab
|
1794 |
|
1795 |
|
@@ -1807,13 +1965,13 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1807 |
|
1808 |
$(document).on('click.bs.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
|
1809 |
e.preventDefault()
|
1810 |
-
$(this)
|
1811 |
})
|
1812 |
|
1813 |
}(jQuery);
|
1814 |
|
1815 |
/* ========================================================================
|
1816 |
-
* Bootstrap: affix.js v3.
|
1817 |
* http://getbootstrap.com/javascript/#affix
|
1818 |
* ========================================================================
|
1819 |
* Copyright 2011-2014 Twitter, Inc.
|
@@ -1829,7 +1987,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1829 |
|
1830 |
var Affix = function (element, options) {
|
1831 |
this.options = $.extend({}, Affix.DEFAULTS, options)
|
1832 |
-
|
|
|
1833 |
.on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
|
1834 |
.on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
|
1835 |
|
@@ -1841,16 +2000,19 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1841 |
this.checkPosition()
|
1842 |
}
|
1843 |
|
1844 |
-
Affix.
|
|
|
|
|
1845 |
|
1846 |
Affix.DEFAULTS = {
|
1847 |
-
offset: 0
|
|
|
1848 |
}
|
1849 |
|
1850 |
Affix.prototype.getPinnedOffset = function () {
|
1851 |
if (this.pinnedOffset) return this.pinnedOffset
|
1852 |
this.$element.removeClass(Affix.RESET).addClass('affix')
|
1853 |
-
var scrollTop = this.$
|
1854 |
var position = this.$element.offset()
|
1855 |
return (this.pinnedOffset = position.top - scrollTop)
|
1856 |
}
|
@@ -1863,14 +2025,12 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1863 |
if (!this.$element.is(':visible')) return
|
1864 |
|
1865 |
var scrollHeight = $(document).height()
|
1866 |
-
var scrollTop = this.$
|
1867 |
var position = this.$element.offset()
|
1868 |
var offset = this.options.offset
|
1869 |
var offsetTop = offset.top
|
1870 |
var offsetBottom = offset.bottom
|
1871 |
|
1872 |
-
if (this.affixed == 'top') position.top += scrollTop
|
1873 |
-
|
1874 |
if (typeof offset != 'object') offsetBottom = offsetTop = offset
|
1875 |
if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
|
1876 |
if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
|
@@ -1880,7 +2040,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1880 |
offsetTop != null && (scrollTop <= offsetTop) ? 'top' : false
|
1881 |
|
1882 |
if (this.affixed === affix) return
|
1883 |
-
if (this.unpin) this.$element.css('top', '')
|
1884 |
|
1885 |
var affixType = 'affix' + (affix ? '-' + affix : '')
|
1886 |
var e = $.Event(affixType + '.bs.affix')
|
@@ -1898,7 +2058,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1898 |
.trigger($.Event(affixType.replace('affix', 'affixed')))
|
1899 |
|
1900 |
if (affix == 'bottom') {
|
1901 |
-
this.$element.offset({
|
|
|
|
|
1902 |
}
|
1903 |
}
|
1904 |
|
@@ -1906,9 +2068,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1906 |
// AFFIX PLUGIN DEFINITION
|
1907 |
// =======================
|
1908 |
|
1909 |
-
|
1910 |
-
|
1911 |
-
$.fn.affix = function (option) {
|
1912 |
return this.each(function () {
|
1913 |
var $this = $(this)
|
1914 |
var data = $this.data('bs.affix')
|
@@ -1919,6 +2079,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1919 |
})
|
1920 |
}
|
1921 |
|
|
|
|
|
|
|
1922 |
$.fn.affix.Constructor = Affix
|
1923 |
|
1924 |
|
@@ -1944,7 +2107,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap requires jQuery'
|
|
1944 |
if (data.offsetBottom) data.offset.bottom = data.offsetBottom
|
1945 |
if (data.offsetTop) data.offset.top = data.offsetTop
|
1946 |
|
1947 |
-
$spy
|
1948 |
})
|
1949 |
})
|
1950 |
|
1 |
/*!
|
2 |
+
* Bootstrap v3.2.0 (http://getbootstrap.com)
|
3 |
* Copyright 2011-2014 Twitter, Inc.
|
4 |
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
*/
|
6 |
|
7 |
+
if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript requires jQuery') }
|
8 |
|
9 |
/* ========================================================================
|
10 |
+
* Bootstrap: transition.js v3.2.0
|
11 |
* http://getbootstrap.com/javascript/#transitions
|
12 |
* ========================================================================
|
13 |
* Copyright 2011-2014 Twitter, Inc.
|
25 |
var el = document.createElement('bootstrap')
|
26 |
|
27 |
var transEndEventNames = {
|
28 |
+
WebkitTransition : 'webkitTransitionEnd',
|
29 |
+
MozTransition : 'transitionend',
|
30 |
+
OTransition : 'oTransitionEnd otransitionend',
|
31 |
+
transition : 'transitionend'
|
32 |
}
|
33 |
|
34 |
for (var name in transEndEventNames) {
|
42 |
|
43 |
// http://blog.alexmaccaw.com/css-transitions
|
44 |
$.fn.emulateTransitionEnd = function (duration) {
|
45 |
+
var called = false
|
46 |
+
var $el = this
|
47 |
+
$(this).one('bsTransitionEnd', function () { called = true })
|
48 |
var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
|
49 |
setTimeout(callback, duration)
|
50 |
return this
|
52 |
|
53 |
$(function () {
|
54 |
$.support.transition = transitionEnd()
|
55 |
+
|
56 |
+
if (!$.support.transition) return
|
57 |
+
|
58 |
+
$.event.special.bsTransitionEnd = {
|
59 |
+
bindType: $.support.transition.end,
|
60 |
+
delegateType: $.support.transition.end,
|
61 |
+
handle: function (e) {
|
62 |
+
if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
|
63 |
+
}
|
64 |
+
}
|
65 |
})
|
66 |
|
67 |
}(jQuery);
|
68 |
|
69 |
/* ========================================================================
|
70 |
+
* Bootstrap: alert.js v3.2.0
|
71 |
* http://getbootstrap.com/javascript/#alerts
|
72 |
* ========================================================================
|
73 |
* Copyright 2011-2014 Twitter, Inc.
|
86 |
$(el).on('click', dismiss, this.close)
|
87 |
}
|
88 |
|
89 |
+
Alert.VERSION = '3.2.0'
|
90 |
+
|
91 |
Alert.prototype.close = function (e) {
|
92 |
var $this = $(this)
|
93 |
var selector = $this.attr('data-target')
|
112 |
$parent.removeClass('in')
|
113 |
|
114 |
function removeElement() {
|
115 |
+
// detach from parent, fire event then clean up data
|
116 |
+
$parent.detach().trigger('closed.bs.alert').remove()
|
117 |
}
|
118 |
|
119 |
$.support.transition && $parent.hasClass('fade') ?
|
120 |
$parent
|
121 |
+
.one('bsTransitionEnd', removeElement)
|
122 |
.emulateTransitionEnd(150) :
|
123 |
removeElement()
|
124 |
}
|
127 |
// ALERT PLUGIN DEFINITION
|
128 |
// =======================
|
129 |
|
130 |
+
function Plugin(option) {
|
|
|
|
|
131 |
return this.each(function () {
|
132 |
var $this = $(this)
|
133 |
var data = $this.data('bs.alert')
|
137 |
})
|
138 |
}
|
139 |
|
140 |
+
var old = $.fn.alert
|
141 |
+
|
142 |
+
$.fn.alert = Plugin
|
143 |
$.fn.alert.Constructor = Alert
|
144 |
|
145 |
|
160 |
}(jQuery);
|
161 |
|
162 |
/* ========================================================================
|
163 |
+
* Bootstrap: button.js v3.2.0
|
164 |
* http://getbootstrap.com/javascript/#buttons
|
165 |
* ========================================================================
|
166 |
* Copyright 2011-2014 Twitter, Inc.
|
180 |
this.isLoading = false
|
181 |
}
|
182 |
|
183 |
+
Button.VERSION = '3.2.0'
|
184 |
+
|
185 |
Button.DEFAULTS = {
|
186 |
loadingText: 'loading...'
|
187 |
}
|
194 |
|
195 |
state = state + 'Text'
|
196 |
|
197 |
+
if (data.resetText == null) $el.data('resetText', $el[val]())
|
198 |
|
199 |
+
$el[val](data[state] == null ? this.options[state] : data[state])
|
200 |
|
201 |
// push to event loop to allow forms to submit
|
202 |
setTimeout($.proxy(function () {
|
230 |
// BUTTON PLUGIN DEFINITION
|
231 |
// ========================
|
232 |
|
233 |
+
function Plugin(option) {
|
|
|
|
|
234 |
return this.each(function () {
|
235 |
var $this = $(this)
|
236 |
var data = $this.data('bs.button')
|
243 |
})
|
244 |
}
|
245 |
|
246 |
+
var old = $.fn.button
|
247 |
+
|
248 |
+
$.fn.button = Plugin
|
249 |
$.fn.button.Constructor = Button
|
250 |
|
251 |
|
261 |
// BUTTON DATA-API
|
262 |
// ===============
|
263 |
|
264 |
+
$(document).on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
|
265 |
var $btn = $(e.target)
|
266 |
if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
|
267 |
+
Plugin.call($btn, 'toggle')
|
268 |
e.preventDefault()
|
269 |
})
|
270 |
|
271 |
}(jQuery);
|
272 |
|
273 |
/* ========================================================================
|
274 |
+
* Bootstrap: carousel.js v3.2.0
|
275 |
* http://getbootstrap.com/javascript/#carousel
|
276 |
* ========================================================================
|
277 |
* Copyright 2011-2014 Twitter, Inc.
|
286 |
// =========================
|
287 |
|
288 |
var Carousel = function (element, options) {
|
289 |
+
this.$element = $(element).on('keydown.bs.carousel', $.proxy(this.keydown, this))
|
290 |
this.$indicators = this.$element.find('.carousel-indicators')
|
291 |
this.options = options
|
292 |
this.paused =
|
296 |
this.$items = null
|
297 |
|
298 |
this.options.pause == 'hover' && this.$element
|
299 |
+
.on('mouseenter.bs.carousel', $.proxy(this.pause, this))
|
300 |
+
.on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
|
301 |
}
|
302 |
|
303 |
+
Carousel.VERSION = '3.2.0'
|
304 |
+
|
305 |
Carousel.DEFAULTS = {
|
306 |
interval: 5000,
|
307 |
pause: 'hover',
|
308 |
wrap: true
|
309 |
}
|
310 |
|
311 |
+
Carousel.prototype.keydown = function (e) {
|
312 |
+
switch (e.which) {
|
313 |
+
case 37: this.prev(); break
|
314 |
+
case 39: this.next(); break
|
315 |
+
default: return
|
316 |
+
}
|
317 |
+
|
318 |
+
e.preventDefault()
|
319 |
+
}
|
320 |
+
|
321 |
+
Carousel.prototype.cycle = function (e) {
|
322 |
e || (this.paused = false)
|
323 |
|
324 |
this.interval && clearInterval(this.interval)
|
330 |
return this
|
331 |
}
|
332 |
|
333 |
+
Carousel.prototype.getItemIndex = function (item) {
|
334 |
+
this.$items = item.parent().children('.item')
|
335 |
+
return this.$items.index(item || this.$active)
|
|
|
|
|
336 |
}
|
337 |
|
338 |
Carousel.prototype.to = function (pos) {
|
339 |
var that = this
|
340 |
+
var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
|
341 |
|
342 |
if (pos > (this.$items.length - 1) || pos < 0) return
|
343 |
|
344 |
+
if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
|
345 |
if (activeIndex == pos) return this.pause().cycle()
|
346 |
|
347 |
return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
|
383 |
$next = this.$element.find('.item')[fallback]()
|
384 |
}
|
385 |
|
386 |
+
if ($next.hasClass('active')) return (this.sliding = false)
|
387 |
|
388 |
+
var relatedTarget = $next[0]
|
389 |
+
var slideEvent = $.Event('slide.bs.carousel', {
|
390 |
+
relatedTarget: relatedTarget,
|
391 |
+
direction: direction
|
392 |
+
})
|
393 |
+
this.$element.trigger(slideEvent)
|
394 |
+
if (slideEvent.isDefaultPrevented()) return
|
395 |
|
396 |
this.sliding = true
|
397 |
|
399 |
|
400 |
if (this.$indicators.length) {
|
401 |
this.$indicators.find('.active').removeClass('active')
|
402 |
+
var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
|
403 |
+
$nextIndicator && $nextIndicator.addClass('active')
|
|
|
|
|
404 |
}
|
405 |
|
406 |
+
var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
|
407 |
if ($.support.transition && this.$element.hasClass('slide')) {
|
408 |
$next.addClass(type)
|
409 |
$next[0].offsetWidth // force reflow
|
410 |
$active.addClass(direction)
|
411 |
$next.addClass(direction)
|
412 |
$active
|
413 |
+
.one('bsTransitionEnd', function () {
|
414 |
$next.removeClass([type, direction].join(' ')).addClass('active')
|
415 |
$active.removeClass(['active', direction].join(' '))
|
416 |
that.sliding = false
|
417 |
+
setTimeout(function () {
|
418 |
+
that.$element.trigger(slidEvent)
|
419 |
+
}, 0)
|
420 |
})
|
421 |
.emulateTransitionEnd($active.css('transition-duration').slice(0, -1) * 1000)
|
422 |
} else {
|
423 |
$active.removeClass('active')
|
424 |
$next.addClass('active')
|
425 |
this.sliding = false
|
426 |
+
this.$element.trigger(slidEvent)
|
427 |
}
|
428 |
|
429 |
isCycling && this.cycle()
|
435 |
// CAROUSEL PLUGIN DEFINITION
|
436 |
// ==========================
|
437 |
|
438 |
+
function Plugin(option) {
|
|
|
|
|
439 |
return this.each(function () {
|
440 |
var $this = $(this)
|
441 |
var data = $this.data('bs.carousel')
|
449 |
})
|
450 |
}
|
451 |
|
452 |
+
var old = $.fn.carousel
|
453 |
+
|
454 |
+
$.fn.carousel = Plugin
|
455 |
$.fn.carousel.Constructor = Carousel
|
456 |
|
457 |
|
468 |
// =================
|
469 |
|
470 |
$(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) {
|
471 |
+
var href
|
472 |
+
var $this = $(this)
|
473 |
+
var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
|
474 |
+
if (!$target.hasClass('carousel')) return
|
475 |
var options = $.extend({}, $target.data(), $this.data())
|
476 |
var slideIndex = $this.attr('data-slide-to')
|
477 |
if (slideIndex) options.interval = false
|
478 |
|
479 |
+
Plugin.call($target, options)
|
480 |
|
481 |
+
if (slideIndex) {
|
482 |
$target.data('bs.carousel').to(slideIndex)
|
483 |
}
|
484 |
|
488 |
$(window).on('load', function () {
|
489 |
$('[data-ride="carousel"]').each(function () {
|
490 |
var $carousel = $(this)
|
491 |
+
Plugin.call($carousel, $carousel.data())
|
492 |
})
|
493 |
})
|
494 |
|
495 |
}(jQuery);
|
496 |
|
497 |
/* ========================================================================
|
498 |
+
* Bootstrap: collapse.js v3.2.0
|
499 |
* http://getbootstrap.com/javascript/#collapse
|
500 |
* ========================================================================
|
501 |
* Copyright 2011-2014 Twitter, Inc.
|
518 |
if (this.options.toggle) this.toggle()
|
519 |
}
|
520 |
|
521 |
+
Collapse.VERSION = '3.2.0'
|
522 |
+
|
523 |
Collapse.DEFAULTS = {
|
524 |
toggle: true
|
525 |
}
|
541 |
if (actives && actives.length) {
|
542 |
var hasData = actives.data('bs.collapse')
|
543 |
if (hasData && hasData.transitioning) return
|
544 |
+
Plugin.call(actives, 'hide')
|
545 |
hasData || actives.data('bs.collapse', null)
|
546 |
}
|
547 |
|
549 |
|
550 |
this.$element
|
551 |
.removeClass('collapse')
|
552 |
+
.addClass('collapsing')[dimension](0)
|
|
|
553 |
|
554 |
this.transitioning = 1
|
555 |
|
556 |
var complete = function () {
|
557 |
this.$element
|
558 |
.removeClass('collapsing')
|
559 |
+
.addClass('collapse in')[dimension]('')
|
|
|
560 |
this.transitioning = 0
|
561 |
+
this.$element
|
562 |
+
.trigger('shown.bs.collapse')
|
563 |
}
|
564 |
|
565 |
if (!$.support.transition) return complete.call(this)
|
567 |
var scrollSize = $.camelCase(['scroll', dimension].join('-'))
|
568 |
|
569 |
this.$element
|
570 |
+
.one('bsTransitionEnd', $.proxy(complete, this))
|
571 |
+
.emulateTransitionEnd(350)[dimension](this.$element[0][scrollSize])
|
|
|
572 |
}
|
573 |
|
574 |
Collapse.prototype.hide = function () {
|
580 |
|
581 |
var dimension = this.dimension()
|
582 |
|
583 |
+
this.$element[dimension](this.$element[dimension]())[0].offsetHeight
|
|
|
|
|
584 |
|
585 |
this.$element
|
586 |
.addClass('collapsing')
|
601 |
|
602 |
this.$element
|
603 |
[dimension](0)
|
604 |
+
.one('bsTransitionEnd', $.proxy(complete, this))
|
605 |
.emulateTransitionEnd(350)
|
606 |
}
|
607 |
|
613 |
// COLLAPSE PLUGIN DEFINITION
|
614 |
// ==========================
|
615 |
|
616 |
+
function Plugin(option) {
|
|
|
|
|
617 |
return this.each(function () {
|
618 |
var $this = $(this)
|
619 |
var data = $this.data('bs.collapse')
|
625 |
})
|
626 |
}
|
627 |
|
628 |
+
var old = $.fn.collapse
|
629 |
+
|
630 |
+
$.fn.collapse = Plugin
|
631 |
$.fn.collapse.Constructor = Collapse
|
632 |
|
633 |
|
643 |
// COLLAPSE DATA-API
|
644 |
// =================
|
645 |
|
646 |
+
$(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
|
647 |
+
var href
|
648 |
+
var $this = $(this)
|
649 |
var target = $this.attr('data-target')
|
650 |
|| e.preventDefault()
|
651 |
+
|| (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
|
652 |
var $target = $(target)
|
653 |
var data = $target.data('bs.collapse')
|
654 |
var option = data ? 'toggle' : $this.data()
|
656 |
var $parent = parent && $(parent)
|
657 |
|
658 |
if (!data || !data.transitioning) {
|
659 |
+
if ($parent) $parent.find('[data-toggle="collapse"][data-parent="' + parent + '"]').not($this).addClass('collapsed')
|
660 |
$this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
|
661 |
}
|
662 |
|
663 |
+
Plugin.call($target, option)
|
664 |
})
|
665 |
|
666 |
}(jQuery);
|
667 |
|
668 |
/* ========================================================================
|
669 |
+
* Bootstrap: dropdown.js v3.2.0
|
670 |
* http://getbootstrap.com/javascript/#dropdowns
|
671 |
* ========================================================================
|
672 |
* Copyright 2011-2014 Twitter, Inc.
|
681 |
// =========================
|
682 |
|
683 |
var backdrop = '.dropdown-backdrop'
|
684 |
+
var toggle = '[data-toggle="dropdown"]'
|
685 |
var Dropdown = function (element) {
|
686 |
$(element).on('click.bs.dropdown', this.toggle)
|
687 |
}
|
688 |
|
689 |
+
Dropdown.VERSION = '3.2.0'
|
690 |
+
|
691 |
Dropdown.prototype.toggle = function (e) {
|
692 |
var $this = $(this)
|
693 |
|
709 |
|
710 |
if (e.isDefaultPrevented()) return
|
711 |
|
712 |
+
$this.trigger('focus')
|
713 |
+
|
714 |
$parent
|
715 |
.toggleClass('open')
|
716 |
.trigger('shown.bs.dropdown', relatedTarget)
|
|
|
|
|
717 |
}
|
718 |
|
719 |
return false
|
733 |
var isActive = $parent.hasClass('open')
|
734 |
|
735 |
if (!isActive || (isActive && e.keyCode == 27)) {
|
736 |
+
if (e.which == 27) $parent.find(toggle).trigger('focus')
|
737 |
+
return $this.trigger('click')
|
738 |
}
|
739 |
|
740 |
var desc = ' li:not(.divider):visible a'
|
741 |
+
var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc)
|
742 |
|
743 |
if (!$items.length) return
|
744 |
|
748 |
if (e.keyCode == 40 && index < $items.length - 1) index++ // down
|
749 |
if (!~index) index = 0
|
750 |
|
751 |
+
$items.eq(index).trigger('focus')
|
752 |
}
|
753 |
|
754 |
function clearMenus(e) {
|
755 |
+
if (e && e.which === 3) return
|
756 |
$(backdrop).remove()
|
757 |
$(toggle).each(function () {
|
758 |
var $parent = getParent($(this))
|
769 |
|
770 |
if (!selector) {
|
771 |
selector = $this.attr('href')
|
772 |
+
selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
773 |
}
|
774 |
|
775 |
var $parent = selector && $(selector)
|
781 |
// DROPDOWN PLUGIN DEFINITION
|
782 |
// ==========================
|
783 |
|
784 |
+
function Plugin(option) {
|
|
|
|
|
785 |
return this.each(function () {
|
786 |
var $this = $(this)
|
787 |
var data = $this.data('bs.dropdown')
|
791 |
})
|
792 |
}
|
793 |
|
794 |
+
var old = $.fn.dropdown
|
795 |
+
|
796 |
+
$.fn.dropdown = Plugin
|
797 |
$.fn.dropdown.Constructor = Dropdown
|
798 |
|
799 |
|
813 |
.on('click.bs.dropdown.data-api', clearMenus)
|
814 |
.on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
|
815 |
.on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
|
816 |
+
.on('keydown.bs.dropdown.data-api', toggle + ', [role="menu"], [role="listbox"]', Dropdown.prototype.keydown)
|
817 |
|
818 |
}(jQuery);
|
819 |
|
820 |
/* ========================================================================
|
821 |
+
* Bootstrap: modal.js v3.2.0
|
822 |
* http://getbootstrap.com/javascript/#modals
|
823 |
* ========================================================================
|
824 |
* Copyright 2011-2014 Twitter, Inc.
|
833 |
// ======================
|
834 |
|
835 |
var Modal = function (element, options) {
|
836 |
+
this.options = options
|
837 |
+
this.$body = $(document.body)
|
838 |
+
this.$element = $(element)
|
839 |
+
this.$backdrop =
|
840 |
+
this.isShown = null
|
841 |
+
this.scrollbarWidth = 0
|
842 |
|
843 |
if (this.options.remote) {
|
844 |
this.$element
|
849 |
}
|
850 |
}
|
851 |
|
852 |
+
Modal.VERSION = '3.2.0'
|
853 |
+
|
854 |
Modal.DEFAULTS = {
|
855 |
backdrop: true,
|
856 |
keyboard: true,
|
858 |
}
|
859 |
|
860 |
Modal.prototype.toggle = function (_relatedTarget) {
|
861 |
+
return this.isShown ? this.hide() : this.show(_relatedTarget)
|
862 |
}
|
863 |
|
864 |
Modal.prototype.show = function (_relatedTarget) {
|
871 |
|
872 |
this.isShown = true
|
873 |
|
874 |
+
this.checkScrollbar()
|
875 |
+
this.$body.addClass('modal-open')
|
876 |
+
|
877 |
+
this.setScrollbar()
|
878 |
this.escape()
|
879 |
|
880 |
this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
|
883 |
var transition = $.support.transition && that.$element.hasClass('fade')
|
884 |
|
885 |
if (!that.$element.parent().length) {
|
886 |
+
that.$element.appendTo(that.$body) // don't move modals dom position
|
887 |
}
|
888 |
|
889 |
that.$element
|
904 |
|
905 |
transition ?
|
906 |
that.$element.find('.modal-dialog') // wait for modal to slide in
|
907 |
+
.one('bsTransitionEnd', function () {
|
908 |
+
that.$element.trigger('focus').trigger(e)
|
909 |
})
|
910 |
.emulateTransitionEnd(300) :
|
911 |
+
that.$element.trigger('focus').trigger(e)
|
912 |
})
|
913 |
}
|
914 |
|
923 |
|
924 |
this.isShown = false
|
925 |
|
926 |
+
this.$body.removeClass('modal-open')
|
927 |
+
|
928 |
+
this.resetScrollbar()
|
929 |
this.escape()
|
930 |
|
931 |
$(document).off('focusin.bs.modal')
|
937 |
|
938 |
$.support.transition && this.$element.hasClass('fade') ?
|
939 |
this.$element
|
940 |
+
.one('bsTransitionEnd', $.proxy(this.hideModal, this))
|
941 |
.emulateTransitionEnd(300) :
|
942 |
this.hideModal()
|
943 |
}
|
947 |
.off('focusin.bs.modal') // guard against infinite focus loop
|
948 |
.on('focusin.bs.modal', $.proxy(function (e) {
|
949 |
if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
|
950 |
+
this.$element.trigger('focus')
|
951 |
}
|
952 |
}, this))
|
953 |
}
|
966 |
var that = this
|
967 |
this.$element.hide()
|
968 |
this.backdrop(function () {
|
|
|
969 |
that.$element.trigger('hidden.bs.modal')
|
970 |
})
|
971 |
}
|
976 |
}
|
977 |
|
978 |
Modal.prototype.backdrop = function (callback) {
|
979 |
+
var that = this
|
980 |
var animate = this.$element.hasClass('fade') ? 'fade' : ''
|
981 |
|
982 |
if (this.isShown && this.options.backdrop) {
|
983 |
var doAnimate = $.support.transition && animate
|
984 |
|
985 |
this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
|
986 |
+
.appendTo(this.$body)
|
987 |
|
988 |
this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
|
989 |
if (e.target !== e.currentTarget) return
|
1000 |
|
1001 |
doAnimate ?
|
1002 |
this.$backdrop
|
1003 |
+
.one('bsTransitionEnd', callback)
|
1004 |
.emulateTransitionEnd(150) :
|
1005 |
callback()
|
1006 |
|
1007 |
} else if (!this.isShown && this.$backdrop) {
|
1008 |
this.$backdrop.removeClass('in')
|
1009 |
|
1010 |
+
var callbackRemove = function () {
|
1011 |
+
that.removeBackdrop()
|
1012 |
+
callback && callback()
|
1013 |
+
}
|
1014 |
$.support.transition && this.$element.hasClass('fade') ?
|
1015 |
this.$backdrop
|
1016 |
+
.one('bsTransitionEnd', callbackRemove)
|
1017 |
.emulateTransitionEnd(150) :
|
1018 |
+
callbackRemove()
|
1019 |
|
1020 |
} else if (callback) {
|
1021 |
callback()
|
1022 |
}
|
1023 |
}
|
1024 |
|
1025 |
+
Modal.prototype.checkScrollbar = function () {
|
1026 |
+
if (document.body.clientWidth >= window.innerWidth) return
|
1027 |
+
this.scrollbarWidth = this.scrollbarWidth || this.measureScrollbar()
|
1028 |
+
}
|
1029 |
+
|
1030 |
+
Modal.prototype.setScrollbar = function () {
|
1031 |
+
var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
|
1032 |
+
if (this.scrollbarWidth) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
|
1033 |
+
}
|
1034 |
+
|
1035 |
+
Modal.prototype.resetScrollbar = function () {
|
1036 |
+
this.$body.css('padding-right', '')
|
1037 |
+
}
|
1038 |
+
|
1039 |
+
Modal.prototype.measureScrollbar = function () { // thx walsh
|
1040 |
+
var scrollDiv = document.createElement('div')
|
1041 |
+
scrollDiv.className = 'modal-scrollbar-measure'
|
1042 |
+
this.$body.append(scrollDiv)
|
1043 |
+
var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
|
1044 |
+
this.$body[0].removeChild(scrollDiv)
|
1045 |
+
return scrollbarWidth
|
1046 |
+
}
|
1047 |
+
|
1048 |
|
1049 |
// MODAL PLUGIN DEFINITION
|
1050 |
// =======================
|
1051 |
|
1052 |
+
function Plugin(option, _relatedTarget) {
|
|
|
|
|
1053 |
return this.each(function () {
|
1054 |
var $this = $(this)
|
1055 |
var data = $this.data('bs.modal')
|
1061 |
})
|
1062 |
}
|
1063 |
|
1064 |
+
var old = $.fn.modal
|
1065 |
+
|
1066 |
+
$.fn.modal = Plugin
|
1067 |
$.fn.modal.Constructor = Modal
|
1068 |
|
1069 |
|
1082 |
$(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
|
1083 |
var $this = $(this)
|
1084 |
var href = $this.attr('href')
|
1085 |
+
var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
|
1086 |
var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
|
1087 |
|
1088 |
if ($this.is('a')) e.preventDefault()
|
1089 |
|
1090 |
+
$target.one('show.bs.modal', function (showEvent) {
|
1091 |
+
if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
|
1092 |
+
$target.one('hidden.bs.modal', function () {
|
1093 |
+
$this.is(':visible') && $this.trigger('focus')
|
1094 |
})
|
1095 |
+
})
|
1096 |
+
Plugin.call($target, option, this)
|
1097 |
})
|
1098 |
|
|
|
|
|
|
|
|
|
1099 |
}(jQuery);
|
1100 |
|
1101 |
/* ========================================================================
|
1102 |
+
* Bootstrap: tooltip.js v3.2.0
|
1103 |
* http://getbootstrap.com/javascript/#tooltip
|
1104 |
* Inspired by the original jQuery.tipsy by Jason Frame
|
1105 |
* ========================================================================
|
1125 |
this.init('tooltip', element, options)
|
1126 |
}
|
1127 |
|
1128 |
+
Tooltip.VERSION = '3.2.0'
|
1129 |
+
|
1130 |
Tooltip.DEFAULTS = {
|
1131 |
animation: true,
|
1132 |
placement: 'top',
|
1133 |
selector: false,
|
1134 |
+
template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
|
1135 |
trigger: 'hover focus',
|
1136 |
title: '',
|
1137 |
delay: 0,
|
1138 |
html: false,
|
1139 |
+
container: false,
|
1140 |
+
viewport: {
|
1141 |
+
selector: 'body',
|
1142 |
+
padding: 0
|
1143 |
+
}
|
1144 |
}
|
1145 |
|
1146 |
Tooltip.prototype.init = function (type, element, options) {
|
1147 |
+
this.enabled = true
|
1148 |
+
this.type = type
|
1149 |
+
this.$element = $(element)
|
1150 |
+
this.options = this.getOptions(options)
|
1151 |
+
this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)
|
1152 |
|
1153 |
var triggers = this.options.trigger.split(' ')
|
1154 |
|
1201 |
|
1202 |
Tooltip.prototype.enter = function (obj) {
|
1203 |
var self = obj instanceof this.constructor ?
|
1204 |
+
obj : $(obj.currentTarget).data('bs.' + this.type)
|
1205 |
+
|
1206 |
+
if (!self) {
|
1207 |
+
self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
|
1208 |
+
$(obj.currentTarget).data('bs.' + this.type, self)
|
1209 |
+
}
|
1210 |
|
1211 |
clearTimeout(self.timeout)
|
1212 |
|
1221 |
|
1222 |
Tooltip.prototype.leave = function (obj) {
|
1223 |
var self = obj instanceof this.constructor ?
|
1224 |
+
obj : $(obj.currentTarget).data('bs.' + this.type)
|
1225 |
+
|
1226 |
+
if (!self) {
|
1227 |
+
self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
|
1228 |
+
$(obj.currentTarget).data('bs.' + this.type, self)
|
1229 |
+
}
|
1230 |
|
1231 |
clearTimeout(self.timeout)
|
1232 |
|
1245 |
if (this.hasContent() && this.enabled) {
|
1246 |
this.$element.trigger(e)
|
1247 |
|
1248 |
+
var inDom = $.contains(document.documentElement, this.$element[0])
|
1249 |
+
if (e.isDefaultPrevented() || !inDom) return
|
1250 |
+
var that = this
|
1251 |
|
1252 |
var $tip = this.tip()
|
1253 |
|
1254 |
+
var tipId = this.getUID(this.type)
|
1255 |
+
|
1256 |
this.setContent()
|
1257 |
+
$tip.attr('id', tipId)
|
1258 |
+
this.$element.attr('aria-describedby', tipId)
|
1259 |
|
1260 |
if (this.options.animation) $tip.addClass('fade')
|
1261 |
|
1271 |
.detach()
|
1272 |
.css({ top: 0, left: 0, display: 'block' })
|
1273 |
.addClass(placement)
|
1274 |
+
.data('bs.' + this.type, this)
|
1275 |
|
1276 |
this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
|
1277 |
|
1280 |
var actualHeight = $tip[0].offsetHeight
|
1281 |
|
1282 |
if (autoPlace) {
|
|
|
|
|
1283 |
var orgPlacement = placement
|
1284 |
+
var $parent = this.$element.parent()
|
1285 |
+
var parentDim = this.getPosition($parent)
|
1286 |
+
|
1287 |
+
placement = placement == 'bottom' && pos.top + pos.height + actualHeight - parentDim.scroll > parentDim.height ? 'top' :
|
1288 |
+
placement == 'top' && pos.top - parentDim.scroll - actualHeight < 0 ? 'bottom' :
|
1289 |
+
placement == 'right' && pos.right + actualWidth > parentDim.width ? 'left' :
|
1290 |
+
placement == 'left' && pos.left - actualWidth < parentDim.left ? 'right' :
|
|
|
|
|
1291 |
placement
|
1292 |
|
1293 |
$tip
|
1298 |
var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
|
1299 |
|
1300 |
this.applyPlacement(calculatedOffset, placement)
|
|
|
1301 |
|
1302 |
+
var complete = function () {
|
1303 |
that.$element.trigger('shown.bs.' + that.type)
|
1304 |
+
that.hoverState = null
|
1305 |
}
|
1306 |
|
1307 |
$.support.transition && this.$tip.hasClass('fade') ?
|
1308 |
$tip
|
1309 |
+
.one('bsTransitionEnd', complete)
|
1310 |
.emulateTransitionEnd(150) :
|
1311 |
complete()
|
1312 |
}
|
1313 |
}
|
1314 |
|
1315 |
Tooltip.prototype.applyPlacement = function (offset, placement) {
|
|
|
1316 |
var $tip = this.tip()
|
1317 |
var width = $tip[0].offsetWidth
|
1318 |
var height = $tip[0].offsetHeight
|
1346 |
var actualHeight = $tip[0].offsetHeight
|
1347 |
|
1348 |
if (placement == 'top' && actualHeight != height) {
|
|
|
1349 |
offset.top = offset.top + height - actualHeight
|
1350 |
}
|
1351 |
|
1352 |
+
var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
|
|
|
1353 |
|
1354 |
+
if (delta.left) offset.left += delta.left
|
1355 |
+
else offset.top += delta.top
|
|
|
1356 |
|
1357 |
+
var arrowDelta = delta.left ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
|
1358 |
+
var arrowPosition = delta.left ? 'left' : 'top'
|
1359 |
+
var arrowOffsetPosition = delta.left ? 'offsetWidth' : 'offsetHeight'
|
|
|
|
|
1360 |
|
1361 |
+
$tip.offset(offset)
|
1362 |
+
this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], arrowPosition)
|
|
|
|
|
|
|
|
|
1363 |
}
|
1364 |
|
1365 |
Tooltip.prototype.replaceArrow = function (delta, dimension, position) {
|
1379 |
var $tip = this.tip()
|
1380 |
var e = $.Event('hide.bs.' + this.type)
|
1381 |
|
1382 |
+
this.$element.removeAttr('aria-describedby')
|
1383 |
+
|
1384 |
function complete() {
|
1385 |
if (that.hoverState != 'in') $tip.detach()
|
1386 |
that.$element.trigger('hidden.bs.' + that.type)
|
1394 |
|
1395 |
$.support.transition && this.$tip.hasClass('fade') ?
|
1396 |
$tip
|
1397 |
+
.one('bsTransitionEnd', complete)
|
1398 |
.emulateTransitionEnd(150) :
|
1399 |
complete()
|
1400 |
|
1405 |
|
1406 |
Tooltip.prototype.fixTitle = function () {
|
1407 |
var $e = this.$element
|
1408 |
+
if ($e.attr('title') || typeof ($e.attr('data-original-title')) != 'string') {
|
1409 |
$e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
|
1410 |
}
|
1411 |
}
|
1414 |
return this.getTitle()
|
1415 |
}
|
1416 |
|
1417 |
+
Tooltip.prototype.getPosition = function ($element) {
|
1418 |
+
$element = $element || this.$element
|
1419 |
+
var el = $element[0]
|
1420 |
+
var isBody = el.tagName == 'BODY'
|
1421 |
+
return $.extend({}, (typeof el.getBoundingClientRect == 'function') ? el.getBoundingClientRect() : null, {
|
1422 |
+
scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop(),
|
1423 |
+
width: isBody ? $(window).width() : $element.outerWidth(),
|
1424 |
+
height: isBody ? $(window).height() : $element.outerHeight()
|
1425 |
+
}, isBody ? { top: 0, left: 0 } : $element.offset())
|
1426 |
}
|
1427 |
|
1428 |
Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
|
1430 |
placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
|
1431 |
placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
|
1432 |
/* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
|
1433 |
+
|
1434 |
+
}
|
1435 |
+
|
1436 |
+
Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
|
1437 |
+
var delta = { top: 0, left: 0 }
|
1438 |
+
if (!this.$viewport) return delta
|
1439 |
+
|
1440 |
+
var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
|
1441 |
+
var viewportDimensions = this.getPosition(this.$viewport)
|
1442 |
+
|
1443 |
+
if (/right|left/.test(placement)) {
|
1444 |
+
var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll
|
1445 |
+
var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
|
1446 |
+
if (topEdgeOffset < viewportDimensions.top) { // top overflow
|
1447 |
+
delta.top = viewportDimensions.top - topEdgeOffset
|
1448 |
+
} else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
|
1449 |
+
delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
|
1450 |
+
}
|
1451 |
+
} else {
|
1452 |
+
var leftEdgeOffset = pos.left - viewportPadding
|
1453 |
+
var rightEdgeOffset = pos.left + viewportPadding + actualWidth
|
1454 |
+
if (leftEdgeOffset < viewportDimensions.left) { // left overflow
|
1455 |
+
delta.left = viewportDimensions.left - leftEdgeOffset
|
1456 |
+
} else if (rightEdgeOffset > viewportDimensions.width) { // right overflow
|
1457 |
+
delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
|
1458 |
+
}
|
1459 |
+
}
|
1460 |
+
|
1461 |
+
return delta
|
1462 |
}
|
1463 |
|
1464 |
Tooltip.prototype.getTitle = function () {
|
1472 |
return title
|
1473 |
}
|
1474 |
|
1475 |
+
Tooltip.prototype.getUID = function (prefix) {
|
1476 |
+
do prefix += ~~(Math.random() * 1000000)
|
1477 |
+
while (document.getElementById(prefix))
|
1478 |
+
return prefix
|
1479 |
+
}
|
1480 |
+
|
1481 |
Tooltip.prototype.tip = function () {
|
1482 |
+
return (this.$tip = this.$tip || $(this.options.template))
|
1483 |
}
|
1484 |
|
1485 |
Tooltip.prototype.arrow = function () {
|
1486 |
+
return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
|
1487 |
}
|
1488 |
|
1489 |
Tooltip.prototype.validate = function () {
|
1507 |
}
|
1508 |
|
1509 |
Tooltip.prototype.toggle = function (e) {
|
1510 |
+
var self = this
|
1511 |
+
if (e) {
|
1512 |
+
self = $(e.currentTarget).data('bs.' + this.type)
|
1513 |
+
if (!self) {
|
1514 |
+
self = new this.constructor(e.currentTarget, this.getDelegateOptions())
|
1515 |
+
$(e.currentTarget).data('bs.' + this.type, self)
|
1516 |
+
}
|
1517 |
+
}
|
1518 |
+
|
1519 |
self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
|
1520 |
}
|
1521 |
|
1528 |
// TOOLTIP PLUGIN DEFINITION
|
1529 |
// =========================
|
1530 |
|
1531 |
+
function Plugin(option) {
|
|
|
|
|
1532 |
return this.each(function () {
|
1533 |
var $this = $(this)
|
1534 |
var data = $this.data('bs.tooltip')
|
1540 |
})
|
1541 |
}
|
1542 |
|
1543 |
+
var old = $.fn.tooltip
|
1544 |
+
|
1545 |
+
$.fn.tooltip = Plugin
|
1546 |
$.fn.tooltip.Constructor = Tooltip
|
1547 |
|
1548 |
|
1557 |
}(jQuery);
|
1558 |
|
1559 |
/* ========================================================================
|
1560 |
+
* Bootstrap: popover.js v3.2.0
|
1561 |
* http://getbootstrap.com/javascript/#popovers
|
1562 |
* ========================================================================
|
1563 |
* Copyright 2011-2014 Twitter, Inc.
|
1577 |
|
1578 |
if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
|
1579 |
|
1580 |
+
Popover.VERSION = '3.2.0'
|
1581 |
+
|
1582 |
Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
|
1583 |
placement: 'right',
|
1584 |
trigger: 'click',
|
1585 |
content: '',
|
1586 |
+
template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
|
1587 |
})
|
1588 |
|
1589 |
|
1604 |
var content = this.getContent()
|
1605 |
|
1606 |
$tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
|
1607 |
+
$tip.find('.popover-content').empty()[ // we use append for html objects to maintain js events
|
1608 |
this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
|
1609 |
](content)
|
1610 |
|
1630 |
}
|
1631 |
|
1632 |
Popover.prototype.arrow = function () {
|
1633 |
+
return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
|
1634 |
}
|
1635 |
|
1636 |
Popover.prototype.tip = function () {
|
1642 |
// POPOVER PLUGIN DEFINITION
|
1643 |
// =========================
|
1644 |
|
1645 |
+
function Plugin(option) {
|
|
|
|
|
1646 |
return this.each(function () {
|
1647 |
var $this = $(this)
|
1648 |
var data = $this.data('bs.popover')
|
1654 |
})
|
1655 |
}
|
1656 |
|
1657 |
+
var old = $.fn.popover
|
1658 |
+
|
1659 |
+
$.fn.popover = Plugin
|
1660 |
$.fn.popover.Constructor = Popover
|
1661 |
|
1662 |
|
1671 |
}(jQuery);
|
1672 |
|
1673 |
/* ========================================================================
|
1674 |
+
* Bootstrap: scrollspy.js v3.2.0
|
1675 |
* http://getbootstrap.com/javascript/#scrollspy
|
1676 |
* ========================================================================
|
1677 |
* Copyright 2011-2014 Twitter, Inc.
|
1686 |
// ==========================
|
1687 |
|
1688 |
function ScrollSpy(element, options) {
|
|
|
1689 |
var process = $.proxy(this.process, this)
|
1690 |
|
|
|
1691 |
this.$body = $('body')
|
1692 |
+
this.$scrollElement = $(element).is('body') ? $(window) : $(element)
|
1693 |
this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
|
1694 |
+
this.selector = (this.options.target || '') + ' .nav li > a'
|
1695 |
+
this.offsets = []
|
1696 |
+
this.targets = []
|
|
|
|
|
1697 |
this.activeTarget = null
|
1698 |
+
this.scrollHeight = 0
|
1699 |
|
1700 |
+
this.$scrollElement.on('scroll.bs.scrollspy', process)
|
1701 |
this.refresh()
|
1702 |
this.process()
|
1703 |
}
|
1704 |
|
1705 |
+
ScrollSpy.VERSION = '3.2.0'
|
1706 |
+
|
1707 |
ScrollSpy.DEFAULTS = {
|
1708 |
offset: 10
|
1709 |
}
|
1710 |
|
1711 |
+
ScrollSpy.prototype.getScrollHeight = function () {
|
1712 |
+
return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
|
1713 |
+
}
|
1714 |
+
|
1715 |
ScrollSpy.prototype.refresh = function () {
|
1716 |
+
var offsetMethod = 'offset'
|
1717 |
+
var offsetBase = 0
|
1718 |
|
1719 |
+
if (!$.isWindow(this.$scrollElement[0])) {
|
1720 |
+
offsetMethod = 'position'
|
1721 |
+
offsetBase = this.$scrollElement.scrollTop()
|
1722 |
+
}
|
1723 |
+
|
1724 |
+
this.offsets = []
|
1725 |
+
this.targets = []
|
1726 |
+
this.scrollHeight = this.getScrollHeight()
|
1727 |
|
1728 |
var self = this
|
1729 |
+
|
1730 |
+
this.$body
|
1731 |
.find(this.selector)
|
1732 |
.map(function () {
|
1733 |
var $el = $(this)
|
1737 |
return ($href
|
1738 |
&& $href.length
|
1739 |
&& $href.is(':visible')
|
1740 |
+
&& [[$href[offsetMethod]().top + offsetBase, href]]) || null
|
1741 |
})
|
1742 |
.sort(function (a, b) { return a[0] - b[0] })
|
1743 |
.each(function () {
|
1748 |
|
1749 |
ScrollSpy.prototype.process = function () {
|
1750 |
var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
|
1751 |
+
var scrollHeight = this.getScrollHeight()
|
1752 |
+
var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height()
|
1753 |
var offsets = this.offsets
|
1754 |
var targets = this.targets
|
1755 |
var activeTarget = this.activeTarget
|
1756 |
var i
|
1757 |
|
1758 |
+
if (this.scrollHeight != scrollHeight) {
|
1759 |
+
this.refresh()
|
1760 |
+
}
|
1761 |
+
|
1762 |
if (scrollTop >= maxScroll) {
|
1763 |
+
return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
|
1764 |
}
|
1765 |
|
1766 |
if (activeTarget && scrollTop <= offsets[0]) {
|
1771 |
activeTarget != targets[i]
|
1772 |
&& scrollTop >= offsets[i]
|
1773 |
&& (!offsets[i + 1] || scrollTop <= offsets[i + 1])
|
1774 |
+
&& this.activate(targets[i])
|
1775 |
}
|
1776 |
}
|
1777 |
|
1803 |
// SCROLLSPY PLUGIN DEFINITION
|
1804 |
// ===========================
|
1805 |
|
1806 |
+
function Plugin(option) {
|
|
|
|
|
1807 |
return this.each(function () {
|
1808 |
var $this = $(this)
|
1809 |
var data = $this.data('bs.scrollspy')
|
1814 |
})
|
1815 |
}
|
1816 |
|
1817 |
+
var old = $.fn.scrollspy
|
1818 |
+
|
1819 |
+
$.fn.scrollspy = Plugin
|
1820 |
$.fn.scrollspy.Constructor = ScrollSpy
|
1821 |
|
1822 |
|
1832 |
// SCROLLSPY DATA-API
|
1833 |
// ==================
|
1834 |
|
1835 |
+
$(window).on('load.bs.scrollspy.data-api', function () {
|
1836 |
$('[data-spy="scroll"]').each(function () {
|
1837 |
var $spy = $(this)
|
1838 |
+
Plugin.call($spy, $spy.data())
|
1839 |
})
|
1840 |
})
|
1841 |
|
1842 |
}(jQuery);
|
1843 |
|
1844 |
/* ========================================================================
|
1845 |
+
* Bootstrap: tab.js v3.2.0
|
1846 |
* http://getbootstrap.com/javascript/#tabs
|
1847 |
* ========================================================================
|
1848 |
* Copyright 2011-2014 Twitter, Inc.
|
1860 |
this.element = $(element)
|
1861 |
}
|
1862 |
|
1863 |
+
Tab.VERSION = '3.2.0'
|
1864 |
+
|
1865 |
Tab.prototype.show = function () {
|
1866 |
var $this = this.element
|
1867 |
var $ul = $this.closest('ul:not(.dropdown-menu)')
|
1869 |
|
1870 |
if (!selector) {
|
1871 |
selector = $this.attr('href')
|
1872 |
+
selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
|
1873 |
}
|
1874 |
|
1875 |
if ($this.parent('li').hasClass('active')) return
|
1885 |
|
1886 |
var $target = $(selector)
|
1887 |
|
1888 |
+
this.activate($this.closest('li'), $ul)
|
1889 |
this.activate($target, $target.parent(), function () {
|
1890 |
$this.trigger({
|
1891 |
type: 'shown.bs.tab',
|
1924 |
|
1925 |
transition ?
|
1926 |
$active
|
1927 |
+
.one('bsTransitionEnd', next)
|
1928 |
.emulateTransitionEnd(150) :
|
1929 |
next()
|
1930 |
|
1935 |
// TAB PLUGIN DEFINITION
|
1936 |
// =====================
|
1937 |
|
1938 |
+
function Plugin(option) {
|
|
|
|
|
1939 |
return this.each(function () {
|
1940 |
var $this = $(this)
|
1941 |
var data = $this.data('bs.tab')
|
1945 |
})
|
1946 |
}
|
1947 |
|
1948 |
+
var old = $.fn.tab
|
1949 |
+
|
1950 |
+
$.fn.tab = Plugin
|
1951 |
$.fn.tab.Constructor = Tab
|
1952 |
|
1953 |
|
1965 |
|
1966 |
$(document).on('click.bs.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
|
1967 |
e.preventDefault()
|
1968 |
+
Plugin.call($(this), 'show')
|
1969 |
})
|
1970 |
|
1971 |
}(jQuery);
|
1972 |
|
1973 |
/* ========================================================================
|
1974 |
+
* Bootstrap: affix.js v3.2.0
|
1975 |
* http://getbootstrap.com/javascript/#affix
|
1976 |
* ========================================================================
|
1977 |
* Copyright 2011-2014 Twitter, Inc.
|
1987 |
|
1988 |
var Affix = function (element, options) {
|
1989 |
this.options = $.extend({}, Affix.DEFAULTS, options)
|
1990 |
+
|
1991 |
+
this.$target = $(this.options.target)
|
1992 |
.on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
|
1993 |
.on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
|
1994 |
|
2000 |
this.checkPosition()
|
2001 |
}
|
2002 |
|
2003 |
+
Affix.VERSION = '3.2.0'
|
2004 |
+
|
2005 |
+
Affix.RESET = 'affix affix-top affix-bottom'
|
2006 |
|
2007 |
Affix.DEFAULTS = {
|
2008 |
+
offset: 0,
|
2009 |
+
target: window
|
2010 |
}
|
2011 |
|
2012 |
Affix.prototype.getPinnedOffset = function () {
|
2013 |
if (this.pinnedOffset) return this.pinnedOffset
|
2014 |
this.$element.removeClass(Affix.RESET).addClass('affix')
|
2015 |
+
var scrollTop = this.$target.scrollTop()
|
2016 |
var position = this.$element.offset()
|
2017 |
return (this.pinnedOffset = position.top - scrollTop)
|
2018 |
}
|
2025 |
if (!this.$element.is(':visible')) return
|
2026 |
|
2027 |
var scrollHeight = $(document).height()
|
2028 |
+
var scrollTop = this.$target.scrollTop()
|
2029 |
var position = this.$element.offset()
|
2030 |
var offset = this.options.offset
|
2031 |
var offsetTop = offset.top
|
2032 |
var offsetBottom = offset.bottom
|
2033 |
|
|
|
|
|
2034 |
if (typeof offset != 'object') offsetBottom = offsetTop = offset
|
2035 |
if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
|
2036 |
if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
|
2040 |
offsetTop != null && (scrollTop <= offsetTop) ? 'top' : false
|
2041 |
|
2042 |
if (this.affixed === affix) return
|
2043 |
+
if (this.unpin != null) this.$element.css('top', '')
|
2044 |
|
2045 |
var affixType = 'affix' + (affix ? '-' + affix : '')
|
2046 |
var e = $.Event(affixType + '.bs.affix')
|
2058 |
.trigger($.Event(affixType.replace('affix', 'affixed')))
|
2059 |
|
2060 |
if (affix == 'bottom') {
|
2061 |
+
this.$element.offset({
|
2062 |
+
top: scrollHeight - this.$element.height() - offsetBottom
|
2063 |
+
})
|
2064 |
}
|
2065 |
}
|
2066 |
|
2068 |
// AFFIX PLUGIN DEFINITION
|
2069 |
// =======================
|
2070 |
|
2071 |
+
function Plugin(option) {
|
|
|
|
|
2072 |
return this.each(function () {
|
2073 |
var $this = $(this)
|
2074 |
var data = $this.data('bs.affix')
|
2079 |
})
|
2080 |
}
|
2081 |
|
2082 |
+
var old = $.fn.affix
|
2083 |
+
|
2084 |
+
$.fn.affix = Plugin
|
2085 |
$.fn.affix.Constructor = Affix
|
2086 |
|
2087 |
|
2107 |
if (data.offsetBottom) data.offset.bottom = data.offsetBottom
|
2108 |
if (data.offsetTop) data.offset.top = data.offsetTop
|
2109 |
|
2110 |
+
Plugin.call($spy, data)
|
2111 |
})
|
2112 |
})
|
2113 |
|
assets/bootstrap/js/bootstrap.min.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*!
|
2 |
-
* Bootstrap v3.
|
3 |
* Copyright 2011-2014 Twitter, Inc.
|
4 |
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
*/
|
6 |
-
if("undefined"==typeof jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.isLoading=!1};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",f.resetText||d.data("resetText",d[e]()),d[e](f[b]||this.options[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},b.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});return this.$element.trigger(j),j.isDefaultPrevented()?void 0:(this.sliding=!0,f&&this.pause(),this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")),f&&this.cycle(),this)};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("collapse in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);!e&&f.toggle&&"show"==c&&(c=!c),e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery),+function(a){"use strict";function b(b){a(d).remove(),a(e).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown",h),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=" li:not(.divider):visible a",i=f.find("[role=menu]"+h+", [role=listbox]"+h);if(i.length){var j=i.index(i.filter(":focus"));38==b.keyCode&&j>0&&j--,40==b.keyCode&&j<i.length-1&&j++,~j||(j=0),i.eq(j).focus()}}}};var g=a.fn.dropdown;a.fn.dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.dropdown.Constructor=f,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=g,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu], [role=listbox]",f.prototype.keydown)}(jQuery),+function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return this[this.isShown?"hide":"show"](a)},b.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show().scrollTop(0),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)}))},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},b.prototype.backdrop=function(b){var c=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var d=a.support.transition&&c;if(this.$backdrop=a('<div class="modal-backdrop '+c+'" />').appendTo(document.body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof c&&c);f||e.data("bs.modal",f=new b(this,g)),"string"==typeof c?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){return a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());c.is("a")&&b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(document).on("show.bs.modal",".modal",function(){a(document.body).addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){a(document.body).removeClass("modal-open")})}(jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},b.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type);return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this,d=this.tip();this.setContent(),this.options.animation&&d.addClass("fade");var e="function"==typeof this.options.placement?this.options.placement.call(this,d[0],this.$element[0]):this.options.placement,f=/\s?auto?\s?/i,g=f.test(e);g&&(e=e.replace(f,"")||"top"),d.detach().css({top:0,left:0,display:"block"}).addClass(e),this.options.container?d.appendTo(this.options.container):d.insertAfter(this.$element);var h=this.getPosition(),i=d[0].offsetWidth,j=d[0].offsetHeight;if(g){var k=this.$element.parent(),l=e,m=document.documentElement.scrollTop||document.body.scrollTop,n="body"==this.options.container?window.innerWidth:k.outerWidth(),o="body"==this.options.container?window.innerHeight:k.outerHeight(),p="body"==this.options.container?0:k.offset().left;e="bottom"==e&&h.top+h.height+j-m>o?"top":"top"==e&&h.top-m-j<0?"bottom":"right"==e&&h.right+i>n?"left":"left"==e&&h.left-i<p?"right":e,d.removeClass(l).addClass(e)}var q=this.getCalculatedOffset(e,h,i,j);this.applyPlacement(q,e),this.hoverState=null;var r=function(){c.$element.trigger("shown.bs."+c.type)};a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,r).emulateTransitionEnd(150):r()}},b.prototype.applyPlacement=function(b,c){var d,e=this.tip(),f=e[0].offsetWidth,g=e[0].offsetHeight,h=parseInt(e.css("margin-top"),10),i=parseInt(e.css("margin-left"),10);isNaN(h)&&(h=0),isNaN(i)&&(i=0),b.top=b.top+h,b.left=b.left+i,a.offset.setOffset(e[0],a.extend({using:function(a){e.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),e.addClass("in");var j=e[0].offsetWidth,k=e[0].offsetHeight;if("top"==c&&k!=g&&(d=!0,b.top=b.top+g-k),/bottom|top/.test(c)){var l=0;b.left<0&&(l=-2*b.left,b.left=0,e.offset(b),j=e[0].offsetWidth,k=e[0].offsetHeight),this.replaceArrow(l-f+j,j,"left")}else this.replaceArrow(k-g,k,"top");d&&e.offset(b)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach(),c.$element.trigger("hidden.bs."+c.type)}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one(a.support.transition.end,b).emulateTransitionEnd(150):b(),this.hoverState=null,this)},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},"function"==typeof b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this.getDelegateOptions()).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){clearTimeout(this.timeout),this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof c&&c;(e||"destroy"!=c)&&(e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof c&&e[c]())})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this}}(jQuery),+function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");b.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;(e||"destroy"!=c)&&(e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]())})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(a(c).is("body")?window:c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);{var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})}},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);if(g&&b<=e[0])return g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(b.RESET).addClass("affix");var a=this.$window.scrollTop(),c=this.$element.offset();return this.pinnedOffset=c.top-a},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"top"==this.affixed&&(e.top+=d),"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top(this.$element)),"function"==typeof h&&(h=f.bottom(this.$element));var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;if(this.affixed!==i){this.unpin&&this.$element.css("top","");var j="affix"+(i?"-"+i:""),k=a.Event(j+".bs.affix");this.$element.trigger(k),k.isDefaultPrevented()||(this.affixed=i,this.unpin="bottom"==i?this.getPinnedOffset():null,this.$element.removeClass(b.RESET).addClass(j).trigger(a.Event(j.replace("affix","affixed"))),"bottom"==i&&this.$element.offset({top:c-h-this.$element.height()}))}}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(jQuery);
|
1 |
/*!
|
2 |
+
* Bootstrap v3.2.0 (http://getbootstrap.com)
|
3 |
* Copyright 2011-2014 Twitter, Inc.
|
4 |
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
5 |
*/
|
6 |
+
if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.2.0",d.prototype.close=function(b){function c(){f.detach().trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",c).emulateTransitionEnd(150):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.2.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),d[e](null==f[b]?this.options[b]:f[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b).on("keydown.bs.carousel",a.proxy(this.keydown,this)),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.2.0",c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.to=function(b){var c=this,d=this.getItemIndex(this.$active=this.$element.find(".item.active"));return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=e[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:g});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,f&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(e)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:g});return a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one("bsTransitionEnd",function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger(m)),f&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(b=!b),e||d.data("bs.collapse",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};c.VERSION="3.2.0",c.DEFAULTS={toggle:!0},c.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},c.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var c=a.Event("show.bs.collapse");if(this.$element.trigger(c),!c.isDefaultPrevented()){var d=this.$parent&&this.$parent.find("> .panel > .in");if(d&&d.length){var e=d.data("bs.collapse");if(e&&e.transitioning)return;b.call(d,"hide"),e||d.data("bs.collapse",null)}var f=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[f](0),this.transitioning=1;var g=function(){this.$element.removeClass("collapsing").addClass("collapse in")[f](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return g.call(this);var h=a.camelCase(["scroll",f].join("-"));this.$element.one("bsTransitionEnd",a.proxy(g,this)).emulateTransitionEnd(350)[f](this.$element[0][h])}}},c.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},c.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var d=a.fn.collapse;a.fn.collapse=b,a.fn.collapse.Constructor=c,a.fn.collapse.noConflict=function(){return a.fn.collapse=d,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(c){var d,e=a(this),f=e.attr("data-target")||c.preventDefault()||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""),g=a(f),h=g.data("bs.collapse"),i=h?"toggle":e.data(),j=e.attr("data-parent"),k=j&&a(j);h&&h.transitioning||(k&&k.find('[data-toggle="collapse"][data-parent="'+j+'"]').not(e).addClass("collapsed"),e[g.hasClass("in")?"addClass":"removeClass"]("collapsed")),b.call(g,i)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.2.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(i.filter(":focus"));38==b.keyCode&&j>0&&j--,40==b.keyCode&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f+', [role="menu"], [role="listbox"]',g.prototype.keydown)}(jQuery),+function(a){"use strict";function b(b,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?f[b](d):g.show&&f.show(d)})}var c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$backdrop=this.isShown=null,this.scrollbarWidth=0,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.2.0",c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.$body.addClass("modal-open"),this.setScrollbar(),this.escape(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(c.$body),c.$element.show().scrollTop(0),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.find(".modal-dialog").one("bsTransitionEnd",function(){c.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(300):c.$element.trigger("focus").trigger(e)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.$body.removeClass("modal-open"),this.resetScrollbar(),this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},c.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.$element.trigger("hidden.bs.modal")})},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var c=this,d=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var e=a.support.transition&&d;if(this.$backdrop=a('<div class="modal-backdrop '+d+'" />').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),e&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;e?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(150):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var f=function(){c.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",f).emulateTransitionEnd(150):f()}else b&&b()},c.prototype.checkScrollbar=function(){document.body.clientWidth>=window.innerWidth||(this.scrollbarWidth=this.scrollbarWidth||this.measureScrollbar())},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.scrollbarWidth&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.2.0",c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show()},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var c=a.contains(document.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!c)return;var d=this,e=this.tip(),f=this.getUID(this.type);this.setContent(),e.attr("id",f),this.$element.attr("aria-describedby",f),this.options.animation&&e.addClass("fade");var g="function"==typeof this.options.placement?this.options.placement.call(this,e[0],this.$element[0]):this.options.placement,h=/\s?auto?\s?/i,i=h.test(g);i&&(g=g.replace(h,"")||"top"),e.detach().css({top:0,left:0,display:"block"}).addClass(g).data("bs."+this.type,this),this.options.container?e.appendTo(this.options.container):e.insertAfter(this.$element);var j=this.getPosition(),k=e[0].offsetWidth,l=e[0].offsetHeight;if(i){var m=g,n=this.$element.parent(),o=this.getPosition(n);g="bottom"==g&&j.top+j.height+l-o.scroll>o.height?"top":"top"==g&&j.top-o.scroll-l<0?"bottom":"right"==g&&j.right+k>o.width?"left":"left"==g&&j.left-k<o.left?"right":g,e.removeClass(m).addClass(g)}var p=this.getCalculatedOffset(g,j,k,l);this.applyPlacement(p,g);var q=function(){d.$element.trigger("shown.bs."+d.type),d.hoverState=null};a.support.transition&&this.$tip.hasClass("fade")?e.one("bsTransitionEnd",q).emulateTransitionEnd(150):q()}},c.prototype.applyPlacement=function(b,c){var d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top=b.top+g,b.left=b.left+h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var k=this.getViewportAdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var l=k.left?2*k.left-e+i:2*k.top-f+j,m=k.left?"left":"top",n=k.left?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(l,d[0][n],m)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},c.prototype.hide=function(){function b(){"in"!=c.hoverState&&d.detach(),c.$element.trigger("hidden.bs."+c.type)}var c=this,d=this.tip(),e=a.Event("hide.bs."+this.type);return this.$element.removeAttr("aria-describedby"),this.$element.trigger(e),e.isDefaultPrevented()?void 0:(d.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?d.one("bsTransitionEnd",b).emulateTransitionEnd(150):b(),this.hoverState=null,this)},c.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var c=b[0],d="BODY"==c.tagName;return a.extend({},"function"==typeof c.getBoundingClientRect?c.getBoundingClientRect():null,{scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop(),width:d?a(window).width():b.outerWidth(),height:d?a(window).height():b.outerHeight()},d?{top:0,left:0}:b.offset())},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var e={top:0,left:0};if(!this.$viewport)return e;var f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){clearTimeout(this.timeout),this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||"destroy"!=b)&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.2.0",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").empty()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.2.0",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<=e[0])return g!=(a=f[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parentsUntil(this.options.target,".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.2.0",c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.closest("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})
|