Version Description
- [Changed] Display "edit columns" button by default
- [Improved] Improved memory usage by only loading columns for the current screen
- [Changed] Removed floatHead library
- [Updated] Only display ACF placeholder with ACF active.
Download this release
Release Info
Developer | tschutter |
Plugin | Admin Columns |
Version | 2.2.6 |
Comparing to | |
See all releases |
Code changes from version 2.2.5.1 to 2.2.6
- assets/images/addon_sortable_1.png +0 -0
- assets/images/arrows.png +0 -0
- assets/images/checkbox.png +0 -0
- assets/images/checkmark.png +0 -0
- assets/images/checkmark_single.png +0 -0
- assets/images/comment_edit.png +0 -0
- assets/images/cross.png +0 -0
- assets/images/facebook.png +0 -0
- assets/images/icon.png +0 -0
- assets/images/import_export.png +0 -0
- assets/images/information.png +0 -0
- assets/images/loading.gif +0 -0
- assets/images/no.png +0 -0
- assets/images/settings.png +0 -0
- assets/images/sort.png +0 -0
- assets/images/square.png +0 -0
- assets/images/trash.png +0 -0
- assets/images/twitter.png +0 -0
- assets/less/column.less +0 -0
- classes/column.php +87 -1
- classes/column/acf-placeholder.php +2 -2
- classes/column/actions.php +147 -0
- classes/column/custom-field.php +6 -38
- classes/column/default.php +4 -0
- classes/column/post/actions.php +6 -107
- classes/column/post/attachment-count.php +1 -1
- classes/column/post/author-name.php +2 -1
- classes/column/post/comment-count.php +2 -1
- classes/column/post/comment-status.php +2 -1
- classes/column/post/path.php +5 -4
- classes/column/post/permalink.php +1 -1
- classes/column/taxonomy.php +3 -30
- classes/column/used-by-menu.php +11 -9
- classes/settings.php +3 -12
- classes/storage_model.php +24 -23
- classes/storage_model/post.php +1 -1
- codepress-admin-columns.php +8 -6
- external/floatthead/jquery.floatThead.js +0 -757
- languages/cpac.po +214 -130
- readme.txt +8 -2
assets/images/addon_sortable_1.png
CHANGED
File without changes
|
assets/images/arrows.png
CHANGED
File without changes
|
assets/images/checkbox.png
CHANGED
File without changes
|
assets/images/checkmark.png
CHANGED
File without changes
|
assets/images/checkmark_single.png
CHANGED
File without changes
|
assets/images/comment_edit.png
CHANGED
File without changes
|
assets/images/cross.png
CHANGED
File without changes
|
assets/images/facebook.png
CHANGED
File without changes
|
assets/images/icon.png
CHANGED
File without changes
|
assets/images/import_export.png
CHANGED
File without changes
|
assets/images/information.png
CHANGED
File without changes
|
assets/images/loading.gif
CHANGED
File without changes
|
assets/images/no.png
CHANGED
File without changes
|
assets/images/settings.png
CHANGED
File without changes
|
assets/images/sort.png
CHANGED
File without changes
|
assets/images/square.png
CHANGED
File without changes
|
assets/images/trash.png
CHANGED
File without changes
|
assets/images/twitter.png
CHANGED
File without changes
|
assets/less/column.less
CHANGED
File without changes
|
classes/column.php
CHANGED
@@ -514,6 +514,46 @@ class CPAC_Column {
|
|
514 |
return $image_sizes;
|
515 |
}
|
516 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
517 |
/**
|
518 |
* @since 2.0
|
519 |
* @param string $name
|
@@ -564,6 +604,52 @@ class CPAC_Column {
|
|
564 |
return $resized;
|
565 |
}
|
566 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
567 |
/**
|
568 |
* @since 1.0
|
569 |
* @param mixed $meta Image files or Image ID's
|
@@ -578,7 +664,7 @@ class CPAC_Column {
|
|
578 |
}
|
579 |
|
580 |
// turn string to array
|
581 |
-
if ( is_string( $images ) ) {
|
582 |
if ( strpos( $images, ',' ) !== false ) {
|
583 |
$images = array_filter( explode( ',', $this->strip_trim( str_replace( ' ', '', $images ) ) ) );
|
584 |
}
|
514 |
return $image_sizes;
|
515 |
}
|
516 |
|
517 |
+
/**
|
518 |
+
* Get post type
|
519 |
+
*
|
520 |
+
* @since 2.1.1
|
521 |
+
*/
|
522 |
+
function get_post_type() {
|
523 |
+
return isset( $this->storage_model->post_type ) ? $this->storage_model->post_type : false;
|
524 |
+
}
|
525 |
+
|
526 |
+
/**
|
527 |
+
* @since 2.2.6
|
528 |
+
*/
|
529 |
+
public function get_terms_for_display( $term_ids, $taxonomy ) {
|
530 |
+
$values = array();
|
531 |
+
if ( $term_ids && ! is_wp_error( $term_ids ) ) {
|
532 |
+
$post_type = $this->get_post_type();
|
533 |
+
foreach ( $term_ids as $term_id ) {
|
534 |
+
$term = get_term( $term_id, $taxonomy );
|
535 |
+
$title = esc_html( sanitize_term_field( 'name', $term->name, $term->term_id, $term->taxonomy, 'edit' ) );
|
536 |
+
|
537 |
+
$filter_key = $term->taxonomy;
|
538 |
+
if ( 'category' === $term->taxonomy ) {
|
539 |
+
$filter_key = 'category_name';
|
540 |
+
}
|
541 |
+
|
542 |
+
$link = "<a href='edit.php?post_type={$post_type}&{$filter_key}={$term->slug}'>{$title}</a>";
|
543 |
+
if ( $post_type == 'attachment' ) {
|
544 |
+
$link = "<a href='upload.php?taxonomy={$filter_key}&term={$term->slug}'>{$title}</a>";
|
545 |
+
}
|
546 |
+
|
547 |
+
$values[] = $link;
|
548 |
+
}
|
549 |
+
}
|
550 |
+
if ( ! $values ) {
|
551 |
+
return false;
|
552 |
+
}
|
553 |
+
|
554 |
+
return implode( ', ', $values );
|
555 |
+
}
|
556 |
+
|
557 |
/**
|
558 |
* @since 2.0
|
559 |
* @param string $name
|
604 |
return $resized;
|
605 |
}
|
606 |
|
607 |
+
/**
|
608 |
+
* @since: 2.2.6
|
609 |
+
*
|
610 |
+
*/
|
611 |
+
function get_color_for_display( $color_hex ) {
|
612 |
+
if ( ! $color_hex ) {
|
613 |
+
return false;
|
614 |
+
}
|
615 |
+
$text_color = $this->get_text_color( $color_hex );
|
616 |
+
return "<div class='cpac-color'><span style='background-color:{$color_hex};color:{$text_color}'>{$color_hex}</span></div>";
|
617 |
+
}
|
618 |
+
|
619 |
+
/**
|
620 |
+
* Determines text color absed on bakground coloring.
|
621 |
+
*
|
622 |
+
* @since 1.0
|
623 |
+
*/
|
624 |
+
function get_text_color( $bg_color ) {
|
625 |
+
|
626 |
+
$rgb = $this->hex2rgb( $bg_color );
|
627 |
+
|
628 |
+
return $rgb && ( ( $rgb[0]*0.299 + $rgb[1]*0.587 + $rgb[2]*0.114 ) < 186 ) ? '#ffffff' : '#333333';
|
629 |
+
}
|
630 |
+
|
631 |
+
/**
|
632 |
+
* Convert hex to rgb
|
633 |
+
*
|
634 |
+
* @since 1.0
|
635 |
+
*/
|
636 |
+
function hex2rgb( $hex ) {
|
637 |
+
$hex = str_replace( "#", "", $hex );
|
638 |
+
|
639 |
+
if(strlen($hex) == 3) {
|
640 |
+
$r = hexdec(substr($hex,0,1).substr($hex,0,1));
|
641 |
+
$g = hexdec(substr($hex,1,1).substr($hex,1,1));
|
642 |
+
$b = hexdec(substr($hex,2,1).substr($hex,2,1));
|
643 |
+
} else {
|
644 |
+
$r = hexdec(substr($hex,0,2));
|
645 |
+
$g = hexdec(substr($hex,2,2));
|
646 |
+
$b = hexdec(substr($hex,4,2));
|
647 |
+
}
|
648 |
+
$rgb = array($r, $g, $b);
|
649 |
+
|
650 |
+
return $rgb;
|
651 |
+
}
|
652 |
+
|
653 |
/**
|
654 |
* @since 1.0
|
655 |
* @param mixed $meta Image files or Image ID's
|
664 |
}
|
665 |
|
666 |
// turn string to array
|
667 |
+
if ( is_string( $images ) || is_numeric( $images ) ) {
|
668 |
if ( strpos( $images, ',' ) !== false ) {
|
669 |
$images = array_filter( explode( ',', $this->strip_trim( str_replace( ' ', '', $images ) ) ) );
|
670 |
}
|
classes/column/acf-placeholder.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* @since 2.2
|
6 |
*/
|
@@ -46,4 +46,4 @@ class CPAC_Column_ACF_Placeholder extends CPAC_Column {
|
|
46 |
<?php
|
47 |
}
|
48 |
|
49 |
-
}
|
1 |
<?php
|
2 |
/**
|
3 |
+
* ACF Placeholder column, holding a CTA for Admin Columns Pro.
|
4 |
*
|
5 |
* @since 2.2
|
6 |
*/
|
46 |
<?php
|
47 |
}
|
48 |
|
49 |
+
}
|
classes/column/actions.php
ADDED
@@ -0,0 +1,147 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Base class for columns containing action links for items.
|
4 |
+
*
|
5 |
+
* @since 2.2.6
|
6 |
+
*/
|
7 |
+
abstract class CPAC_Column_Actions extends CPAC_Column {
|
8 |
+
|
9 |
+
/**
|
10 |
+
* Get a list of action links for an item (e.g. post) ID.
|
11 |
+
*
|
12 |
+
* @since 2.2.6
|
13 |
+
*
|
14 |
+
* @param int $item_id Item ID to get the list of actions for.
|
15 |
+
* @return array List of actions ([action name] => [action link]).
|
16 |
+
*/
|
17 |
+
abstract public function get_actions( $item_id );
|
18 |
+
|
19 |
+
/**
|
20 |
+
* @see CPAC_Column::init()
|
21 |
+
* @since 2.2.6
|
22 |
+
*/
|
23 |
+
public function init() {
|
24 |
+
|
25 |
+
parent::init();
|
26 |
+
|
27 |
+
// Properties
|
28 |
+
$this->properties['type'] = 'column-actions';
|
29 |
+
$this->properties['label'] = __( 'Actions', 'cpac' );
|
30 |
+
|
31 |
+
// Options
|
32 |
+
$this->options['use_icons'] = false;
|
33 |
+
}
|
34 |
+
|
35 |
+
/**
|
36 |
+
* @see CPAC_Column::get_value()
|
37 |
+
* @since 2.2.6
|
38 |
+
*/
|
39 |
+
public function get_value( $post_id ) {
|
40 |
+
|
41 |
+
$actions = $this->get_raw_value( $post_id );
|
42 |
+
|
43 |
+
if ( ! empty( $this->options->use_icons ) ) {
|
44 |
+
return implode( '', $this->convert_actions_to_icons( $actions ) );
|
45 |
+
}
|
46 |
+
|
47 |
+
return implode( ' | ', $actions );
|
48 |
+
}
|
49 |
+
|
50 |
+
/**
|
51 |
+
* @see CPAC_Column::get_value()
|
52 |
+
* @since 2.2.6
|
53 |
+
*/
|
54 |
+
public function get_raw_value( $post_id ) {
|
55 |
+
|
56 |
+
return $this->get_actions( $post_id );
|
57 |
+
}
|
58 |
+
|
59 |
+
/**
|
60 |
+
* @see CPAC_Column::display_settings()
|
61 |
+
* @since 2.2.6
|
62 |
+
*/
|
63 |
+
public function display_settings() {
|
64 |
+
|
65 |
+
parent::display_settings();
|
66 |
+
|
67 |
+
$this->display_field_use_icons();
|
68 |
+
}
|
69 |
+
|
70 |
+
/**
|
71 |
+
* Display the settings field for using icons instead of text links.
|
72 |
+
*
|
73 |
+
* @since 2.2.6
|
74 |
+
*/
|
75 |
+
public function display_field_use_icons() {
|
76 |
+
|
77 |
+
?>
|
78 |
+
<tr class="column_editing">
|
79 |
+
<?php $this->label_view( __( 'Use icons?', 'cpac' ), __( 'Use icons instead of text for displaying the actions.', 'cpac' ), 'use_icons' ); ?>
|
80 |
+
<td class="input">
|
81 |
+
<label for="<?php $this->attr_id( 'use_icons' ); ?>-yes">
|
82 |
+
<input type="radio" value="1" name="<?php $this->attr_name( 'use_icons' ); ?>" id="<?php $this->attr_id( 'use_icons' ); ?>-yes"<?php checked( $this->options->use_icons, '1' ); ?> />
|
83 |
+
<?php _e( 'Yes'); ?>
|
84 |
+
</label>
|
85 |
+
<label for="<?php $this->attr_id( 'use_icons' ); ?>-no">
|
86 |
+
<input type="radio" value="" name="<?php $this->attr_name( 'use_icons' ); ?>" id="<?php $this->attr_id( 'use_icons' ); ?>-no"<?php checked( $this->options->use_icons, '' ); ?> />
|
87 |
+
<?php _e( 'No'); ?>
|
88 |
+
</label>
|
89 |
+
</td>
|
90 |
+
</tr>
|
91 |
+
<?php
|
92 |
+
}
|
93 |
+
|
94 |
+
/**
|
95 |
+
* Convert items from a list of action links to icons (if they have an icon).
|
96 |
+
*
|
97 |
+
* @since 2.2.6
|
98 |
+
*
|
99 |
+
* @param array $actions List of actions ([action name] => [action link]).
|
100 |
+
* @return array List of actions ([action name] => [action icon link]).
|
101 |
+
*/
|
102 |
+
public function convert_actions_to_icons( $actions ) {
|
103 |
+
|
104 |
+
$icons = $this->get_actions_icons();
|
105 |
+
|
106 |
+
foreach ( $actions as $action => $link ) {
|
107 |
+
if ( isset( $icons[ $action ] ) ) {
|
108 |
+
// Add mandatory "class" HTML attribute
|
109 |
+
if ( strpos( $link, 'class=' ) === false ) {
|
110 |
+
$link = str_replace( '<a ', '<a class="" ', $link );
|
111 |
+
}
|
112 |
+
|
113 |
+
// Add icon and tooltip classes
|
114 |
+
$link = preg_replace( '/class=["\'](.*?)["\']/', 'class="$1 cpac-tip button cpac-button-action dashicons hide-content dashicons-' . $icons[ $action ] . '"', $link, 1 );
|
115 |
+
|
116 |
+
// Add tooltip title
|
117 |
+
$link = preg_replace_callback( '/>(.*?)<\/a>/', function( $matches ) {
|
118 |
+
return ' data-tip="' . esc_attr( $matches[1] ) . '">' . $matches[1] . '</a>';
|
119 |
+
}, $link );
|
120 |
+
|
121 |
+
$actions[ $action ] = $link;
|
122 |
+
}
|
123 |
+
}
|
124 |
+
|
125 |
+
return $actions;
|
126 |
+
}
|
127 |
+
|
128 |
+
/**
|
129 |
+
* Get a list of action names and their corresponding dashicons.
|
130 |
+
*
|
131 |
+
* @since 2.2.6
|
132 |
+
*
|
133 |
+
* @return array List of actions and icons ([action] => [dashicon]).
|
134 |
+
*/
|
135 |
+
public function get_actions_icons() {
|
136 |
+
|
137 |
+
return array(
|
138 |
+
'edit' => 'edit',
|
139 |
+
'trash' => 'trash',
|
140 |
+
'delete' => 'trash',
|
141 |
+
'untrash' => 'undo',
|
142 |
+
'view' => 'visibility',
|
143 |
+
'inline hide-if-no-js' => 'welcome-write-blog'
|
144 |
+
);
|
145 |
+
}
|
146 |
+
|
147 |
+
}
|
classes/column/custom-field.php
CHANGED
@@ -1,7 +1,10 @@
|
|
1 |
<?php
|
2 |
-
|
3 |
/**
|
4 |
-
*
|
|
|
|
|
|
|
|
|
5 |
*
|
6 |
* @since 1.0
|
7 |
*/
|
@@ -222,8 +225,7 @@ class CPAC_Column_Custom_Field extends CPAC_Column {
|
|
222 |
|
223 |
case "color" :
|
224 |
if ( ! empty( $meta ) ) {
|
225 |
-
$
|
226 |
-
$meta = "<div class='cpac-color'><span style='background-color:{$meta};color:{$text_color}'>{$meta}</span></div>";
|
227 |
}
|
228 |
break;
|
229 |
|
@@ -237,40 +239,6 @@ class CPAC_Column_Custom_Field extends CPAC_Column {
|
|
237 |
return $meta;
|
238 |
}
|
239 |
|
240 |
-
/**
|
241 |
-
* Determines text color absed on bakground coloring.
|
242 |
-
*
|
243 |
-
* @since 1.0
|
244 |
-
*/
|
245 |
-
function get_text_color( $bg_color ) {
|
246 |
-
|
247 |
-
$rgb = $this->hex2rgb( $bg_color );
|
248 |
-
|
249 |
-
return $rgb && ( ( $rgb[0]*0.299 + $rgb[1]*0.587 + $rgb[2]*0.114 ) < 186 ) ? '#ffffff' : '#333333';
|
250 |
-
}
|
251 |
-
|
252 |
-
/**
|
253 |
-
* Convert hex to rgb
|
254 |
-
*
|
255 |
-
* @since 1.0
|
256 |
-
*/
|
257 |
-
function hex2rgb( $hex ) {
|
258 |
-
$hex = str_replace( "#", "", $hex );
|
259 |
-
|
260 |
-
if(strlen($hex) == 3) {
|
261 |
-
$r = hexdec(substr($hex,0,1).substr($hex,0,1));
|
262 |
-
$g = hexdec(substr($hex,1,1).substr($hex,1,1));
|
263 |
-
$b = hexdec(substr($hex,2,1).substr($hex,2,1));
|
264 |
-
} else {
|
265 |
-
$r = hexdec(substr($hex,0,2));
|
266 |
-
$g = hexdec(substr($hex,2,2));
|
267 |
-
$b = hexdec(substr($hex,4,2));
|
268 |
-
}
|
269 |
-
$rgb = array($r, $g, $b);
|
270 |
-
|
271 |
-
return $rgb;
|
272 |
-
}
|
273 |
-
|
274 |
/**
|
275 |
* Get Field key
|
276 |
*
|
1 |
<?php
|
|
|
2 |
/**
|
3 |
+
* Custom field column, displaying the contents of meta fields.
|
4 |
+
* Suited for all storage models supporting WordPress' default way of handling meta data.
|
5 |
+
*
|
6 |
+
* Supports different types of meta fields, including dates, serialized data, linked content,
|
7 |
+
* and boolean values.
|
8 |
*
|
9 |
* @since 1.0
|
10 |
*/
|
225 |
|
226 |
case "color" :
|
227 |
if ( ! empty( $meta ) ) {
|
228 |
+
$meta = $this->get_color_for_display( $meta );
|
|
|
229 |
}
|
230 |
break;
|
231 |
|
239 |
return $meta;
|
240 |
}
|
241 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
242 |
/**
|
243 |
* Get Field key
|
244 |
*
|
classes/column/default.php
CHANGED
@@ -1,5 +1,9 @@
|
|
1 |
<?php
|
2 |
/**
|
|
|
|
|
|
|
|
|
3 |
* @since 2.2.1
|
4 |
*/
|
5 |
class CPAC_Column_Default extends CPAC_Column {
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Column class for default columns (i.e. columns not added by Admin Columns).
|
4 |
+
* Allows additional properties, such as editability and filterability, to be
|
5 |
+
* added to defeault column types.
|
6 |
+
*
|
7 |
* @since 2.2.1
|
8 |
*/
|
9 |
class CPAC_Column_Default extends CPAC_Column {
|
classes/column/post/actions.php
CHANGED
@@ -4,54 +4,16 @@
|
|
4 |
*
|
5 |
* @since 2.0
|
6 |
*/
|
7 |
-
class CPAC_Column_Post_Actions extends
|
8 |
|
9 |
/**
|
10 |
-
* @see
|
11 |
-
* @since 2.2.
|
12 |
*/
|
13 |
-
public function
|
14 |
-
|
15 |
-
parent::init();
|
16 |
-
|
17 |
-
// Properties
|
18 |
-
$this->properties['type'] = 'column-actions';
|
19 |
-
$this->properties['label'] = __( 'Actions', 'cpac' );
|
20 |
-
|
21 |
-
// Options
|
22 |
-
$this->options['use_icons'] = false;
|
23 |
-
}
|
24 |
-
|
25 |
-
/**
|
26 |
-
* @see CPAC_Column::get_value()
|
27 |
-
* @since 2.0
|
28 |
-
*/
|
29 |
-
function get_value( $post_id ) {
|
30 |
-
return $this->get_raw_value( $post_id );
|
31 |
-
}
|
32 |
-
|
33 |
-
/**
|
34 |
-
* @see CPAC_Column::get_value()
|
35 |
-
* @since 2.0
|
36 |
-
*/
|
37 |
-
function get_raw_value( $post_id ) {
|
38 |
-
return $this->get_column_value_actions( $post_id );
|
39 |
-
}
|
40 |
-
|
41 |
-
/**
|
42 |
-
* Get column value of post actions
|
43 |
-
*
|
44 |
-
* This part is copied from the Posts List Table class
|
45 |
-
*
|
46 |
-
* @since 1.4.2
|
47 |
-
*
|
48 |
-
* @param int $post_id
|
49 |
-
* @return string Actions
|
50 |
-
*/
|
51 |
-
private function get_column_value_actions( $post_id ) {
|
52 |
$actions = array();
|
53 |
|
54 |
-
$post = get_post($
|
55 |
$title = _draft_or_post_title();
|
56 |
$post_type_object = get_post_type_object( $post->post_type );
|
57 |
$can_edit_post = current_user_can( $post_type_object->cap->edit_post, $post->ID );
|
@@ -89,70 +51,7 @@ class CPAC_Column_Post_Actions extends CPAC_Column {
|
|
89 |
}
|
90 |
}
|
91 |
|
92 |
-
|
93 |
-
/*
|
94 |
-
@todo: debug first
|
95 |
-
if ( ! empty( $this->options->use_icons ) ) {
|
96 |
-
$icons = array(
|
97 |
-
'edit' => 'edit',
|
98 |
-
'trash' => 'trash',
|
99 |
-
'delete' => 'trash',
|
100 |
-
'untrash' => 'undo',
|
101 |
-
'view' => 'visibility',
|
102 |
-
'inline hide-if-no-js' => 'welcome-write-blog'
|
103 |
-
);
|
104 |
-
|
105 |
-
foreach ( $actions as $action => $link ) {
|
106 |
-
if ( isset( $icons[ $action ] ) ) {
|
107 |
-
if ( strpos( $link, 'class=' ) === false ) {
|
108 |
-
$link = str_replace( '<a ', '<a class="" ', $link );
|
109 |
-
}
|
110 |
-
|
111 |
-
$link = preg_replace( '/class=["\'](.*?)["\']/', 'class="$1 cpac-tip button cpac-button-action dashicons hide-content dashicons-' . $icons[ $action ] . '"', $link, 1 );
|
112 |
-
$link = preg_replace_callback( '/>(.*?)<\/a>/', function( $matches ) {
|
113 |
-
return ' data-tip="' . esc_attr( $matches[1] ) . '">' . $matches[1] . '</a>';
|
114 |
-
}, $link );
|
115 |
-
|
116 |
-
$actions[ $action ] = $link;
|
117 |
-
}
|
118 |
-
}
|
119 |
-
|
120 |
-
return implode( '', $actions );
|
121 |
-
}
|
122 |
-
*/
|
123 |
-
|
124 |
-
return implode(' | ', $actions);
|
125 |
}
|
126 |
|
127 |
-
/**
|
128 |
-
* @see CPAC_Column::display_settings()
|
129 |
-
* @since 2.2.4
|
130 |
-
*/
|
131 |
-
public function display_settings() {
|
132 |
-
|
133 |
-
parent::display_settings();
|
134 |
-
|
135 |
-
//$this->display_field_use_icons();
|
136 |
-
}
|
137 |
-
|
138 |
-
/**
|
139 |
-
* @since 2.2.4
|
140 |
-
*/
|
141 |
-
public function display_field_use_icons() {
|
142 |
-
?>
|
143 |
-
<tr class="column_editing">
|
144 |
-
<?php $this->label_view( __( 'Use icons?', 'cpac' ), __( 'Use icons instead of text for displaying the actions.', 'cpac' ), 'use_icons' ); ?>
|
145 |
-
<td class="input">
|
146 |
-
<label for="<?php $this->attr_id( 'use_icons' ); ?>-yes">
|
147 |
-
<input type="radio" value="1" name="<?php $this->attr_name( 'use_icons' ); ?>" id="<?php $this->attr_id( 'use_icons' ); ?>-yes"<?php checked( $this->options->use_icons, '1' ); ?> />
|
148 |
-
<?php _e( 'Yes'); ?>
|
149 |
-
</label>
|
150 |
-
<label for="<?php $this->attr_id( 'use_icons' ); ?>-no">
|
151 |
-
<input type="radio" value="" name="<?php $this->attr_name( 'use_icons' ); ?>" id="<?php $this->attr_id( 'use_icons' ); ?>-no"<?php checked( $this->options->use_icons, '' ); ?> />
|
152 |
-
<?php _e( 'No'); ?>
|
153 |
-
</label>
|
154 |
-
</td>
|
155 |
-
</tr>
|
156 |
-
<?php
|
157 |
-
}
|
158 |
}
|
4 |
*
|
5 |
* @since 2.0
|
6 |
*/
|
7 |
+
class CPAC_Column_Post_Actions extends CPAC_Column_Actions {
|
8 |
|
9 |
/**
|
10 |
+
* @see CPAC_Column_Actions::get_actions()
|
11 |
+
* @since 2.2.6
|
12 |
*/
|
13 |
+
public function get_actions( $item_id ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
$actions = array();
|
15 |
|
16 |
+
$post = get_post( $item_id );
|
17 |
$title = _draft_or_post_title();
|
18 |
$post_type_object = get_post_type_object( $post->post_type );
|
19 |
$can_edit_post = current_user_can( $post_type_object->cap->edit_post, $post->ID );
|
51 |
}
|
52 |
}
|
53 |
|
54 |
+
return $actions;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
}
|
56 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
57 |
}
|
classes/column/post/attachment-count.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* @since 2.0
|
6 |
*/
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Column displaying number of attachment for an item.
|
4 |
*
|
5 |
* @since 2.0
|
6 |
*/
|
classes/column/post/author-name.php
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
|
|
4 |
*
|
5 |
* @since 2.0
|
6 |
*/
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Column displaying information about the author of a post, such as the
|
4 |
+
* author's display name, user ID and email address.
|
5 |
*
|
6 |
* @since 2.0
|
7 |
*/
|
classes/column/post/comment-count.php
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
|
|
4 |
*
|
5 |
* @since 2.0
|
6 |
*/
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Column displaying the number of comments for an item, displaying either the total
|
4 |
+
* amount of comments, or the amount per status (e.g. "Approved", "Pending").
|
5 |
*
|
6 |
* @since 2.0
|
7 |
*/
|
classes/column/post/comment-status.php
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
|
|
4 |
*
|
5 |
* @since 2.0
|
6 |
*/
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Column displaying whether an item is open for comments, i.e. whether users can
|
4 |
+
* comment on this item.
|
5 |
*
|
6 |
* @since 2.0
|
7 |
*/
|
classes/column/post/path.php
CHANGED
@@ -1,13 +1,14 @@
|
|
1 |
<?php
|
2 |
/**
|
|
|
3 |
*
|
4 |
-
* @since 2.
|
5 |
*/
|
6 |
class CPAC_Column_Post_Path extends CPAC_Column {
|
7 |
|
8 |
/**
|
9 |
* @see CPAC_Column::init()
|
10 |
-
* @since 2.3
|
11 |
*/
|
12 |
public function init() {
|
13 |
|
@@ -20,7 +21,7 @@ class CPAC_Column_Post_Path extends CPAC_Column {
|
|
20 |
|
21 |
/**
|
22 |
* @see CPAC_Column::get_value()
|
23 |
-
* @since 2.
|
24 |
*/
|
25 |
public function get_value( $post_id ) {
|
26 |
|
@@ -29,7 +30,7 @@ class CPAC_Column_Post_Path extends CPAC_Column {
|
|
29 |
|
30 |
/**
|
31 |
* @see CPAC_Column::get_value()
|
32 |
-
* @since 2.
|
33 |
*/
|
34 |
public function get_raw_value( $post_id ) {
|
35 |
return str_replace( home_url(), '', get_permalink( $post_id ) );
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Column displaying path (without URL, e.g. "/my-category/sample-post/") to the front-end location of this item.
|
4 |
*
|
5 |
+
* @since 2.2.3
|
6 |
*/
|
7 |
class CPAC_Column_Post_Path extends CPAC_Column {
|
8 |
|
9 |
/**
|
10 |
* @see CPAC_Column::init()
|
11 |
+
* @since 2.2.3
|
12 |
*/
|
13 |
public function init() {
|
14 |
|
21 |
|
22 |
/**
|
23 |
* @see CPAC_Column::get_value()
|
24 |
+
* @since 2.2.3
|
25 |
*/
|
26 |
public function get_value( $post_id ) {
|
27 |
|
30 |
|
31 |
/**
|
32 |
* @see CPAC_Column::get_value()
|
33 |
+
* @since 2.2.3
|
34 |
*/
|
35 |
public function get_raw_value( $post_id ) {
|
36 |
return str_replace( home_url(), '', get_permalink( $post_id ) );
|
classes/column/post/permalink.php
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
4 |
*
|
5 |
* @since 2.0
|
6 |
*/
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Columng displaying full item permalink (including URL).
|
4 |
*
|
5 |
* @since 2.0
|
6 |
*/
|
classes/column/taxonomy.php
CHANGED
@@ -1,6 +1,7 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
|
|
4 |
*
|
5 |
* @since 2.0
|
6 |
*/
|
@@ -28,27 +29,9 @@ class CPAC_Column_Taxonomy extends CPAC_Column {
|
|
28 |
* @since 2.0
|
29 |
*/
|
30 |
function get_value( $post_id ) {
|
31 |
-
|
32 |
-
$values = array();
|
33 |
-
|
34 |
$term_ids = $this->get_raw_value( $post_id );
|
35 |
|
36 |
-
$
|
37 |
-
|
38 |
-
if ( $term_ids && ! is_wp_error( $term_ids ) ) {
|
39 |
-
foreach ( $term_ids as $term_id ) {
|
40 |
-
$term = get_term( $term_id, $this->options->taxonomy );
|
41 |
-
$title = esc_html( sanitize_term_field( 'name', $term->name, $term->term_id, $term->taxonomy, 'edit' ) );
|
42 |
-
|
43 |
-
$link = "<a href='edit.php?post_type={$post_type}&{$term->taxonomy}={$term->slug}'>{$title}</a>";
|
44 |
-
if ( $post_type == 'attachment' )
|
45 |
-
$link = "<a href='upload.php?taxonomy={$term->taxonomy}&term={$term->slug}'>{$title}</a>";
|
46 |
-
|
47 |
-
$values[] = $link;
|
48 |
-
}
|
49 |
-
}
|
50 |
-
|
51 |
-
return implode( ', ', $values );
|
52 |
}
|
53 |
|
54 |
/**
|
@@ -60,16 +43,6 @@ class CPAC_Column_Taxonomy extends CPAC_Column {
|
|
60 |
return wp_get_post_terms( $post_id, $this->options->taxonomy, array( 'fields' => 'ids' ) );
|
61 |
}
|
62 |
|
63 |
-
/**
|
64 |
-
* Get post type
|
65 |
-
*
|
66 |
-
* @since 2.1.1
|
67 |
-
*/
|
68 |
-
function get_post_type() {
|
69 |
-
|
70 |
-
return isset( $this->storage_model->post_type ) ? $this->storage_model->post_type : false;
|
71 |
-
}
|
72 |
-
|
73 |
/**
|
74 |
* @see CPAC_Column::apply_conditional()
|
75 |
* @since 2.0
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Taxonomy column, displaying terms from a taxonomy for any object type (i.e. posts)
|
4 |
+
* supporting WordPress' native way of handling terms.
|
5 |
*
|
6 |
* @since 2.0
|
7 |
*/
|
29 |
* @since 2.0
|
30 |
*/
|
31 |
function get_value( $post_id ) {
|
|
|
|
|
|
|
32 |
$term_ids = $this->get_raw_value( $post_id );
|
33 |
|
34 |
+
return $this->get_terms_for_display( $term_ids, $this->options->taxonomy );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
}
|
36 |
|
37 |
/**
|
43 |
return wp_get_post_terms( $post_id, $this->options->taxonomy, array( 'fields' => 'ids' ) );
|
44 |
}
|
45 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
/**
|
47 |
* @see CPAC_Column::apply_conditional()
|
48 |
* @since 2.0
|
classes/column/used-by-menu.php
CHANGED
@@ -1,14 +1,15 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
*
|
|
|
4 |
*
|
5 |
-
* @since 2.
|
6 |
*/
|
7 |
class CPAC_Column_Used_By_Menu extends CPAC_Column {
|
8 |
|
9 |
/**
|
10 |
* @see CPAC_Column::init()
|
11 |
-
* @since 2.2.
|
12 |
*/
|
13 |
public function init() {
|
14 |
|
@@ -24,7 +25,7 @@ class CPAC_Column_Used_By_Menu extends CPAC_Column {
|
|
24 |
|
25 |
/**
|
26 |
* @see CPAC_Column::apply_conditional()
|
27 |
-
* @since 2.
|
28 |
*/
|
29 |
function apply_conditional() {
|
30 |
if ( ! $this->get_meta_type() ) {
|
@@ -35,7 +36,7 @@ class CPAC_Column_Used_By_Menu extends CPAC_Column {
|
|
35 |
|
36 |
/**
|
37 |
* @see CPAC_Column::get_value()
|
38 |
-
* @since 2.
|
39 |
*/
|
40 |
function get_value( $object_id ) {
|
41 |
|
@@ -59,7 +60,7 @@ class CPAC_Column_Used_By_Menu extends CPAC_Column {
|
|
59 |
/**
|
60 |
* Get object metatype of the storage model
|
61 |
*
|
62 |
-
* @since 2.
|
63 |
*/
|
64 |
function get_meta_type() {
|
65 |
$object_type = false;
|
@@ -74,7 +75,7 @@ class CPAC_Column_Used_By_Menu extends CPAC_Column {
|
|
74 |
|
75 |
/**
|
76 |
* @see CPAC_Column::get_raw_value()
|
77 |
-
* @since 2.
|
78 |
*/
|
79 |
function get_raw_value( $object_id ) {
|
80 |
|
@@ -112,7 +113,7 @@ class CPAC_Column_Used_By_Menu extends CPAC_Column {
|
|
112 |
|
113 |
/**
|
114 |
* @see CPAC_Column::display_settings()
|
115 |
-
* @since 2.2.
|
116 |
*/
|
117 |
public function display_settings() {
|
118 |
|
@@ -122,7 +123,7 @@ class CPAC_Column_Used_By_Menu extends CPAC_Column {
|
|
122 |
/**
|
123 |
* Display the settings field for selecting whether the column value should link to the corresponding post
|
124 |
*
|
125 |
-
* @since 2.2.
|
126 |
*/
|
127 |
public function display_field_link_to_menu() {
|
128 |
|
@@ -143,4 +144,5 @@ class CPAC_Column_Used_By_Menu extends CPAC_Column {
|
|
143 |
</tr>
|
144 |
<?php
|
145 |
}
|
|
|
146 |
}
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Column displaying the menus the item is used in. Supported by all object types that
|
4 |
+
* can be referenced in menus (i.e. posts).
|
5 |
*
|
6 |
+
* @since 2.2.5
|
7 |
*/
|
8 |
class CPAC_Column_Used_By_Menu extends CPAC_Column {
|
9 |
|
10 |
/**
|
11 |
* @see CPAC_Column::init()
|
12 |
+
* @since 2.2.5
|
13 |
*/
|
14 |
public function init() {
|
15 |
|
25 |
|
26 |
/**
|
27 |
* @see CPAC_Column::apply_conditional()
|
28 |
+
* @since 2.2.5
|
29 |
*/
|
30 |
function apply_conditional() {
|
31 |
if ( ! $this->get_meta_type() ) {
|
36 |
|
37 |
/**
|
38 |
* @see CPAC_Column::get_value()
|
39 |
+
* @since 2.2.5
|
40 |
*/
|
41 |
function get_value( $object_id ) {
|
42 |
|
60 |
/**
|
61 |
* Get object metatype of the storage model
|
62 |
*
|
63 |
+
* @since 2.2.5
|
64 |
*/
|
65 |
function get_meta_type() {
|
66 |
$object_type = false;
|
75 |
|
76 |
/**
|
77 |
* @see CPAC_Column::get_raw_value()
|
78 |
+
* @since 2.2.5
|
79 |
*/
|
80 |
function get_raw_value( $object_id ) {
|
81 |
|
113 |
|
114 |
/**
|
115 |
* @see CPAC_Column::display_settings()
|
116 |
+
* @since 2.2.5
|
117 |
*/
|
118 |
public function display_settings() {
|
119 |
|
123 |
/**
|
124 |
* Display the settings field for selecting whether the column value should link to the corresponding post
|
125 |
*
|
126 |
+
* @since 2.2.5
|
127 |
*/
|
128 |
public function display_field_link_to_menu() {
|
129 |
|
144 |
</tr>
|
145 |
<?php
|
146 |
}
|
147 |
+
|
148 |
}
|
classes/settings.php
CHANGED
@@ -530,20 +530,11 @@ class CPAC_Settings {
|
|
530 |
<p>
|
531 |
<br/>
|
532 |
</p>
|
533 |
-
<?php
|
534 |
-
/*
|
535 |
-
<p>
|
536 |
-
<label for="show_hidden">
|
537 |
-
<input name="cpac_general_options[show_hidden]" id="show_hidden" type="checkbox" value="1" <?php checked( isset( $options['show_hidden'] ) ? $options['show_hidden'] : '', '1' ); ?>>
|
538 |
-
<?php _e( 'Show hidden custom fields. Default is <code>off</code>.', 'cpac' ); ?>
|
539 |
-
</label>
|
540 |
-
</p>
|
541 |
-
*/
|
542 |
-
?>
|
543 |
<p>
|
544 |
<label for="show_edit_button">
|
545 |
-
<input name="cpac_general_options[show_edit_button]"
|
546 |
-
|
|
|
547 |
</label>
|
548 |
</p>
|
549 |
|
530 |
<p>
|
531 |
<br/>
|
532 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
533 |
<p>
|
534 |
<label for="show_edit_button">
|
535 |
+
<input name="cpac_general_options[show_edit_button]" type="hidden" value="0" >
|
536 |
+
<input name="cpac_general_options[show_edit_button]" id="show_edit_button" type="checkbox" value="1" <?php checked( ! isset( $options['show_edit_button'] ) || ( '1' == $options['show_edit_button'] ) ); ?>>
|
537 |
+
<?php _e( 'Show "Edit Columns" button on admin screens. Default is <code>on</code>.', 'cpac' ); ?>
|
538 |
</label>
|
539 |
</p>
|
540 |
|
classes/storage_model.php
CHANGED
@@ -96,9 +96,8 @@ abstract class CPAC_Storage_Model {
|
|
96 |
// set columns paths
|
97 |
$this->set_columns_filepath();
|
98 |
|
99 |
-
// Populate columns
|
100 |
-
|
101 |
-
add_action( 'admin_init', array( $this, 'set_columns' ) );
|
102 |
}
|
103 |
|
104 |
/**
|
@@ -214,7 +213,7 @@ abstract class CPAC_Storage_Model {
|
|
214 |
cpac_admin_message( "<strong>{$this->label}</strong> " . __( 'settings succesfully restored.', 'cpac' ), 'updated' );
|
215 |
|
216 |
// refresh columns otherwise the removed columns will still display
|
217 |
-
$this->
|
218 |
}
|
219 |
|
220 |
/**
|
@@ -255,7 +254,7 @@ abstract class CPAC_Storage_Model {
|
|
255 |
cpac_admin_message( sprintf( __( 'Settings for %s updated succesfully.', 'cpac' ), "<strong>{$this->label}</strong>" ), 'updated' );
|
256 |
|
257 |
// refresh columns otherwise the newly added columns will not be displayed
|
258 |
-
$this->
|
259 |
|
260 |
return true;
|
261 |
}
|
@@ -270,11 +269,15 @@ abstract class CPAC_Storage_Model {
|
|
270 |
|
271 |
$columns = array(
|
272 |
'CPAC_Column_Custom_Field' => CPAC_DIR . 'classes/column/custom-field.php',
|
273 |
-
'CPAC_Column_ACF_Placeholder' => CPAC_DIR . 'classes/column/acf-placeholder.php',
|
274 |
'CPAC_Column_Taxonomy' => CPAC_DIR . 'classes/column/taxonomy.php',
|
275 |
'CPAC_Column_Used_By_Menu' => CPAC_DIR . 'classes/column/used-by-menu.php'
|
276 |
);
|
277 |
|
|
|
|
|
|
|
|
|
|
|
278 |
// Directory to iterate
|
279 |
$columns_dir = CPAC_DIR . 'classes/column/' . $this->type;
|
280 |
if ( is_dir( $columns_dir ) ) {
|
@@ -462,21 +465,28 @@ abstract class CPAC_Storage_Model {
|
|
462 |
}
|
463 |
|
464 |
/**
|
465 |
-
*
|
466 |
-
*
|
|
|
467 |
*/
|
468 |
-
public function
|
469 |
|
470 |
-
|
471 |
-
if ( ! $ignore_screen_check && ! $this->is_doing_ajax() && ! $this->is_columns_screen() && ! $this->is_settings_page() ) {
|
472 |
return;
|
473 |
}
|
474 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
475 |
$this->custom_columns = $this->get_custom_registered_columns();
|
476 |
$this->default_columns = $this->get_default_registered_columns();
|
477 |
-
|
478 |
$this->column_types = $this->get_grouped_column_types();
|
479 |
-
|
480 |
$this->columns = $this->get_columns();
|
481 |
}
|
482 |
|
@@ -728,6 +738,7 @@ abstract class CPAC_Storage_Model {
|
|
728 |
|
729 |
/**
|
730 |
* Whether this request is an AJAX request and marked as admin-column-ajax request.
|
|
|
731 |
*
|
732 |
* @since 2.0.5
|
733 |
* @return boolean
|
@@ -744,16 +755,6 @@ abstract class CPAC_Storage_Model {
|
|
744 |
return false;
|
745 |
}
|
746 |
|
747 |
-
/**
|
748 |
-
* @since 2.0.5
|
749 |
-
* @return boolean
|
750 |
-
*/
|
751 |
-
/*
|
752 |
-
function is_doing_quick_edit() {
|
753 |
-
return $this->is_doing_ajax() && isset( $_REQUEST['action'] ) && 'inline-save' == $_REQUEST['action'];
|
754 |
-
}
|
755 |
-
*/
|
756 |
-
|
757 |
/**
|
758 |
* @since 2.0.3
|
759 |
* @global string $pagenow
|
96 |
// set columns paths
|
97 |
$this->set_columns_filepath();
|
98 |
|
99 |
+
// Populate columns for this screen.
|
100 |
+
add_action( 'admin_init', array( $this, 'set_columns_on_current_screen' ) );
|
|
|
101 |
}
|
102 |
|
103 |
/**
|
213 |
cpac_admin_message( "<strong>{$this->label}</strong> " . __( 'settings succesfully restored.', 'cpac' ), 'updated' );
|
214 |
|
215 |
// refresh columns otherwise the removed columns will still display
|
216 |
+
$this->set_columns_on_current_screen();
|
217 |
}
|
218 |
|
219 |
/**
|
254 |
cpac_admin_message( sprintf( __( 'Settings for %s updated succesfully.', 'cpac' ), "<strong>{$this->label}</strong>" ), 'updated' );
|
255 |
|
256 |
// refresh columns otherwise the newly added columns will not be displayed
|
257 |
+
$this->set_columns_on_current_screen();
|
258 |
|
259 |
return true;
|
260 |
}
|
269 |
|
270 |
$columns = array(
|
271 |
'CPAC_Column_Custom_Field' => CPAC_DIR . 'classes/column/custom-field.php',
|
|
|
272 |
'CPAC_Column_Taxonomy' => CPAC_DIR . 'classes/column/taxonomy.php',
|
273 |
'CPAC_Column_Used_By_Menu' => CPAC_DIR . 'classes/column/used-by-menu.php'
|
274 |
);
|
275 |
|
276 |
+
// Display ACF placeholder
|
277 |
+
if ( class_exists('acf') && ! class_exists( 'CAC_Addon_Pro' ) ) {
|
278 |
+
$columns[ 'CPAC_Column_ACF_Placeholder' ] = CPAC_DIR . 'classes/column/acf-placeholder.php';
|
279 |
+
}
|
280 |
+
|
281 |
// Directory to iterate
|
282 |
$columns_dir = CPAC_DIR . 'classes/column/' . $this->type;
|
283 |
if ( is_dir( $columns_dir ) ) {
|
465 |
}
|
466 |
|
467 |
/**
|
468 |
+
* Only set columns on current screens
|
469 |
+
*
|
470 |
+
* @since 2.2.6
|
471 |
*/
|
472 |
+
public function set_columns_on_current_screen() {
|
473 |
|
474 |
+
if ( ! $this->is_doing_ajax() && ! $this->is_columns_screen() && ! $this->is_settings_page() ) {
|
|
|
475 |
return;
|
476 |
}
|
477 |
|
478 |
+
$this->set_columns();
|
479 |
+
}
|
480 |
+
|
481 |
+
/**
|
482 |
+
* @since 2.0.2
|
483 |
+
* @param bool $ignore_check This will allow (3rd party plugins) to populate columns outside the approved screens.
|
484 |
+
*/
|
485 |
+
public function set_columns() {
|
486 |
+
|
487 |
$this->custom_columns = $this->get_custom_registered_columns();
|
488 |
$this->default_columns = $this->get_default_registered_columns();
|
|
|
489 |
$this->column_types = $this->get_grouped_column_types();
|
|
|
490 |
$this->columns = $this->get_columns();
|
491 |
}
|
492 |
|
738 |
|
739 |
/**
|
740 |
* Whether this request is an AJAX request and marked as admin-column-ajax request.
|
741 |
+
* Mark your admin columns ajax request with plugin_id : 'cpac'.
|
742 |
*
|
743 |
* @since 2.0.5
|
744 |
* @return boolean
|
755 |
return false;
|
756 |
}
|
757 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
758 |
/**
|
759 |
* @since 2.0.3
|
760 |
* @global string $pagenow
|
classes/storage_model/post.php
CHANGED
@@ -31,7 +31,7 @@ class CPAC_Storage_Model_Post extends CPAC_Storage_Model {
|
|
31 |
add_action( "manage_{$this->post_type}_posts_custom_column", array( $this, 'manage_value' ), 100, 2 );
|
32 |
|
33 |
// @todo: description
|
34 |
-
add_action( 'load-edit.php', array( $this, '
|
35 |
|
36 |
parent::__construct();
|
37 |
}
|
31 |
add_action( "manage_{$this->post_type}_posts_custom_column", array( $this, 'manage_value' ), 100, 2 );
|
32 |
|
33 |
// @todo: description
|
34 |
+
add_action( 'load-edit.php', array( $this, 'set_columns_on_current_screen' ), 1000 );
|
35 |
|
36 |
parent::__construct();
|
37 |
}
|
codepress-admin-columns.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
|
4 |
Plugin Name: Codepress Admin Columns
|
5 |
-
Version: 2.2.
|
6 |
Description: Customize columns on the administration screens for post(types), pages, media, comments, links and users with an easy to use drag-and-drop interface.
|
7 |
Author: Codepress
|
8 |
Author URI: http://www.codepresshq.com
|
@@ -33,7 +33,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
33 |
}
|
34 |
|
35 |
// Plugin information
|
36 |
-
define( 'CPAC_VERSION', '2.2.
|
37 |
define( 'CPAC_UPGRADE_VERSION', '2.0.0' ); // this is the latest version which requires an upgrade
|
38 |
define( 'CPAC_URL', plugin_dir_url( __FILE__ ) );
|
39 |
define( 'CPAC_DIR', plugin_dir_path( __FILE__ ) );
|
@@ -233,7 +233,6 @@ class CPAC {
|
|
233 |
add_action( 'admin_head', array( $this, 'global_head_scripts') );
|
234 |
|
235 |
wp_register_script( 'cpac-admin-columns', CPAC_URL . 'assets/js/admin-columns.js', array( 'jquery', 'jquery-qtip2' ), CPAC_VERSION );
|
236 |
-
wp_register_script( 'jquery-floatthead', CPAC_URL . 'external/floatthead/jquery.floatThead.js', array( 'jquery' ), CPAC_VERSION );
|
237 |
|
238 |
if ( $this->is_columns_screen() ) {
|
239 |
add_filter( 'admin_body_class', array( $this, 'admin_class' ) );
|
@@ -282,6 +281,7 @@ class CPAC {
|
|
282 |
// include parent and childs
|
283 |
require_once CPAC_DIR . 'classes/column.php';
|
284 |
require_once CPAC_DIR . 'classes/column/default.php';
|
|
|
285 |
require_once CPAC_DIR . 'classes/storage_model.php';
|
286 |
require_once CPAC_DIR . 'classes/storage_model/post.php';
|
287 |
require_once CPAC_DIR . 'classes/storage_model/user.php';
|
@@ -353,11 +353,13 @@ class CPAC {
|
|
353 |
|
354 |
$post_types = array();
|
355 |
|
356 |
-
if ( post_type_exists( 'post' ) )
|
357 |
$post_types['post'] = 'post';
|
|
|
358 |
|
359 |
-
if ( post_type_exists( 'page' ) )
|
360 |
$post_types['page'] = 'page';
|
|
|
361 |
|
362 |
$post_types = array_merge( $post_types, get_post_types( array(
|
363 |
'_builtin' => false,
|
@@ -455,7 +457,7 @@ class CPAC {
|
|
455 |
|
456 |
// JS: edit button
|
457 |
$general_options = get_option( 'cpac_general_options' );
|
458 |
-
if ( current_user_can( 'manage_admin_columns' ) && isset( $general_options['show_edit_button'] )
|
459 |
$edit_link = $storage_model->get_edit_link();
|
460 |
}
|
461 |
}
|
2 |
/*
|
3 |
|
4 |
Plugin Name: Codepress Admin Columns
|
5 |
+
Version: 2.2.6
|
6 |
Description: Customize columns on the administration screens for post(types), pages, media, comments, links and users with an easy to use drag-and-drop interface.
|
7 |
Author: Codepress
|
8 |
Author URI: http://www.codepresshq.com
|
33 |
}
|
34 |
|
35 |
// Plugin information
|
36 |
+
define( 'CPAC_VERSION', '2.2.6' ); // current plugin version
|
37 |
define( 'CPAC_UPGRADE_VERSION', '2.0.0' ); // this is the latest version which requires an upgrade
|
38 |
define( 'CPAC_URL', plugin_dir_url( __FILE__ ) );
|
39 |
define( 'CPAC_DIR', plugin_dir_path( __FILE__ ) );
|
233 |
add_action( 'admin_head', array( $this, 'global_head_scripts') );
|
234 |
|
235 |
wp_register_script( 'cpac-admin-columns', CPAC_URL . 'assets/js/admin-columns.js', array( 'jquery', 'jquery-qtip2' ), CPAC_VERSION );
|
|
|
236 |
|
237 |
if ( $this->is_columns_screen() ) {
|
238 |
add_filter( 'admin_body_class', array( $this, 'admin_class' ) );
|
281 |
// include parent and childs
|
282 |
require_once CPAC_DIR . 'classes/column.php';
|
283 |
require_once CPAC_DIR . 'classes/column/default.php';
|
284 |
+
require_once CPAC_DIR . 'classes/column/actions.php';
|
285 |
require_once CPAC_DIR . 'classes/storage_model.php';
|
286 |
require_once CPAC_DIR . 'classes/storage_model/post.php';
|
287 |
require_once CPAC_DIR . 'classes/storage_model/user.php';
|
353 |
|
354 |
$post_types = array();
|
355 |
|
356 |
+
if ( post_type_exists( 'post' ) ) {
|
357 |
$post_types['post'] = 'post';
|
358 |
+
}
|
359 |
|
360 |
+
if ( post_type_exists( 'page' ) ) {
|
361 |
$post_types['page'] = 'page';
|
362 |
+
}
|
363 |
|
364 |
$post_types = array_merge( $post_types, get_post_types( array(
|
365 |
'_builtin' => false,
|
457 |
|
458 |
// JS: edit button
|
459 |
$general_options = get_option( 'cpac_general_options' );
|
460 |
+
if ( current_user_can( 'manage_admin_columns' ) && ! isset( $general_options['show_edit_button'] ) || ( '1' === $general_options['show_edit_button'] ) ) {
|
461 |
$edit_link = $storage_model->get_edit_link();
|
462 |
}
|
463 |
}
|
external/floatthead/jquery.floatThead.js
DELETED
@@ -1,757 +0,0 @@
|
|
1 |
-
// @preserve jQuery.floatThead 1.2.8 - http://mkoryak.github.io/floatThead/ - Copyright (c) 2012 - 2014 Misha Koryak
|
2 |
-
// @license MIT
|
3 |
-
|
4 |
-
/* @author Misha Koryak
|
5 |
-
* @projectDescription lock a table header in place while scrolling - without breaking styles or events bound to the header
|
6 |
-
*
|
7 |
-
* Dependencies:
|
8 |
-
* jquery 1.9.0 + [required] OR jquery 1.7.0 + jquery UI core
|
9 |
-
*
|
10 |
-
* http://mkoryak.github.io/floatThead/
|
11 |
-
*
|
12 |
-
* Tested on FF13+, Chrome 21+, IE8, IE9, IE10, IE11
|
13 |
-
*
|
14 |
-
*/
|
15 |
-
(function( $ ) {
|
16 |
-
/**
|
17 |
-
* provides a default config object. You can modify this after including this script if you want to change the init defaults
|
18 |
-
* @type {Object}
|
19 |
-
*/
|
20 |
-
$.floatThead = $.floatThead || {};
|
21 |
-
$.floatThead.defaults = {
|
22 |
-
cellTag: 'th:visible', //thead cells are this
|
23 |
-
zIndex: 1001, //zindex of the floating thead (actually a container div)
|
24 |
-
debounceResizeMs: 10,
|
25 |
-
useAbsolutePositioning: true, //if set to NULL - defaults: has scrollContainer=true, doesn't have scrollContainer=false
|
26 |
-
scrollingTop: 0, //String or function($table) - offset from top of window where the header should not pass above
|
27 |
-
scrollingBottom: 0, //String or function($table) - offset from the bottom of the table where the header should stop scrolling
|
28 |
-
scrollContainer: function($table){
|
29 |
-
return $([]); //if the table has horizontal scroll bars then this is the container that has overflow:auto and causes those scroll bars
|
30 |
-
},
|
31 |
-
getSizingRow: function($table, $cols, $fthCells){ // this is only called when using IE,
|
32 |
-
// override it if the first row of the table is going to contain colgroups (any cell spans greater then one col)
|
33 |
-
// it should return a jquery object containing a wrapped set of table cells comprising a row that contains no col spans and is visible
|
34 |
-
return $table.find('tbody tr:visible:first>*');
|
35 |
-
},
|
36 |
-
floatTableClass: 'floatThead-table',
|
37 |
-
floatWrapperClass: 'floatThead-wrapper',
|
38 |
-
floatContainerClass: 'floatThead-container',
|
39 |
-
copyTableClass: true, //copy 'class' attribute from table into the floated table so that the styles match.
|
40 |
-
debug: false //print possible issues (that don't prevent script loading) to console, if console exists.
|
41 |
-
};
|
42 |
-
|
43 |
-
var util = window._;
|
44 |
-
|
45 |
-
//browser stuff
|
46 |
-
var ieVersion = function(){for(var a=3,b=document.createElement("b"),c=b.all||[];a = 1+a,b.innerHTML="<!--[if gt IE "+ a +"]><i><![endif]-->",c[0];);return 4<a?a:document.documentMode}();
|
47 |
-
var isChrome = null;
|
48 |
-
var isChromeCheck = function(){
|
49 |
-
if(ieVersion){
|
50 |
-
return false;
|
51 |
-
}
|
52 |
-
var $table = $("<table><colgroup><col></colgroup><tbody><tr><td style='width:10px'></td></tbody></table>");
|
53 |
-
$('body').append($table);
|
54 |
-
var width = $table.find('col').width();
|
55 |
-
$table.remove();
|
56 |
-
return width == 0;
|
57 |
-
};
|
58 |
-
|
59 |
-
var $window = $(window);
|
60 |
-
var floatTheadCreated = 0;
|
61 |
-
|
62 |
-
|
63 |
-
/**
|
64 |
-
* @param debounceMs
|
65 |
-
* @param cb
|
66 |
-
*/
|
67 |
-
|
68 |
-
function windowResize(debounceMs, eventName, cb){
|
69 |
-
if(ieVersion == 8){ //ie8 is crap: https://github.com/mkoryak/floatThead/issues/65
|
70 |
-
var winWidth = $window.width();
|
71 |
-
var debouncedCb = util.debounce(function(){
|
72 |
-
var winWidthNew = $window.width();
|
73 |
-
if(winWidth != winWidthNew){
|
74 |
-
winWidth = winWidthNew;
|
75 |
-
cb();
|
76 |
-
}
|
77 |
-
}, debounceMs);
|
78 |
-
$window.on(eventName, debouncedCb);
|
79 |
-
} else {
|
80 |
-
$window.on(eventName, util.debounce(cb, debounceMs));
|
81 |
-
}
|
82 |
-
}
|
83 |
-
|
84 |
-
|
85 |
-
function debug(str){
|
86 |
-
window.console && window.console && window.console.log && window.console.log(str);
|
87 |
-
}
|
88 |
-
|
89 |
-
/**
|
90 |
-
* try to calculate the scrollbar width for your browser/os
|
91 |
-
* @return {Number}
|
92 |
-
*/
|
93 |
-
function scrollbarWidth() {
|
94 |
-
var $div = $( //borrowed from anti-scroll
|
95 |
-
'<div style="width:50px;height:50px;overflow-y:scroll;'
|
96 |
-
+ 'position:absolute;top:-200px;left:-200px;"><div style="height:100px;width:100%">'
|
97 |
-
+ '</div>'
|
98 |
-
);
|
99 |
-
$('body').append($div);
|
100 |
-
var w1 = $div.innerWidth();
|
101 |
-
var w2 = $('div', $div).innerWidth();
|
102 |
-
$div.remove();
|
103 |
-
return w1 - w2;
|
104 |
-
}
|
105 |
-
/**
|
106 |
-
* Check if a given table has been datatableized (http://datatables.net)
|
107 |
-
* @param $table
|
108 |
-
* @return {Boolean}
|
109 |
-
*/
|
110 |
-
function isDatatable($table){
|
111 |
-
if($table.dataTableSettings){
|
112 |
-
for(var i = 0; i < $table.dataTableSettings.length; i++){
|
113 |
-
var table = $table.dataTableSettings[i].nTable;
|
114 |
-
if($table[0] == table){
|
115 |
-
return true;
|
116 |
-
}
|
117 |
-
}
|
118 |
-
}
|
119 |
-
return false;
|
120 |
-
}
|
121 |
-
$.fn.floatThead = function(map){
|
122 |
-
map = map || {};
|
123 |
-
if(!util){ //may have been included after the script? lets try to grab it again.
|
124 |
-
util = window._ || $.floatThead._;
|
125 |
-
if(!util){
|
126 |
-
throw new Error("jquery.floatThead-slim.js requires underscore. You should use the non-lite version since you do not have underscore.");
|
127 |
-
}
|
128 |
-
}
|
129 |
-
|
130 |
-
if(ieVersion < 8){
|
131 |
-
return this; //no more crappy browser support.
|
132 |
-
}
|
133 |
-
|
134 |
-
if(isChrome == null){ //make sure this is done only once no matter how many times you call the plugin fn
|
135 |
-
isChrome = isChromeCheck(); //need to call this after dom ready, and now it is.
|
136 |
-
if(isChrome){
|
137 |
-
//because chrome cant read <col> width, these elements are used for sizing the table. Need to create new elements because they must be unstyled by user's css.
|
138 |
-
document.createElement('fthtr'); //tr
|
139 |
-
document.createElement('fthtd'); //td
|
140 |
-
document.createElement('fthfoot'); //tfoot
|
141 |
-
}
|
142 |
-
}
|
143 |
-
if(util.isString(map)){
|
144 |
-
var command = map;
|
145 |
-
var ret = this;
|
146 |
-
this.filter('table').each(function(){
|
147 |
-
var obj = $(this).data('floatThead-attached');
|
148 |
-
if(obj && util.isFunction(obj[command])){
|
149 |
-
var r = obj[command]();
|
150 |
-
if(typeof r !== 'undefined'){
|
151 |
-
ret = r;
|
152 |
-
}
|
153 |
-
}
|
154 |
-
});
|
155 |
-
return ret;
|
156 |
-
}
|
157 |
-
var opts = $.extend({}, $.floatThead.defaults || {}, map);
|
158 |
-
|
159 |
-
$.each(map, function(key, val){
|
160 |
-
if((!(key in $.floatThead.defaults)) && opts.debug){
|
161 |
-
debug("jQuery.floatThead: used ["+key+"] key to init plugin, but that param is not an option for the plugin. Valid options are: "+ (util.keys($.floatThead.defaults)).join(', '));
|
162 |
-
}
|
163 |
-
});
|
164 |
-
|
165 |
-
this.filter(':not(.'+opts.floatTableClass+')').each(function(){
|
166 |
-
var floatTheadId = floatTheadCreated;
|
167 |
-
var $table = $(this);
|
168 |
-
if($table.data('floatThead-attached')){
|
169 |
-
return true; //continue the each loop
|
170 |
-
}
|
171 |
-
if(!$table.is('table')){
|
172 |
-
throw new Error('jQuery.floatThead must be run on a table element. ex: $("table").floatThead();');
|
173 |
-
}
|
174 |
-
var $header = $table.find('thead:first');
|
175 |
-
var $tbody = $table.find('tbody:first');
|
176 |
-
if($header.length == 0){
|
177 |
-
throw new Error('jQuery.floatThead must be run on a table that contains a <thead> element');
|
178 |
-
}
|
179 |
-
var headerFloated = false;
|
180 |
-
var scrollingTop, scrollingBottom;
|
181 |
-
var scrollbarOffset = {vertical: 0, horizontal: 0};
|
182 |
-
var scWidth = scrollbarWidth();
|
183 |
-
var lastColumnCount = 0; //used by columnNum()
|
184 |
-
var $scrollContainer = opts.scrollContainer($table) || $([]); //guard against returned nulls
|
185 |
-
|
186 |
-
var useAbsolutePositioning = opts.useAbsolutePositioning;
|
187 |
-
if(useAbsolutePositioning == null){ //defaults: locked=true, !locked=false
|
188 |
-
useAbsolutePositioning = opts.scrollContainer($table).length;
|
189 |
-
}
|
190 |
-
var $caption = $table.find("caption");
|
191 |
-
var haveCaption = $caption.length == 1;
|
192 |
-
if(haveCaption){
|
193 |
-
var captionAlignTop = ($caption.css("caption-side") || $caption.attr("align") || "top") === "top";
|
194 |
-
}
|
195 |
-
|
196 |
-
var $fthGrp = $('<fthfoot style="display:table-footer-group;"/>');
|
197 |
-
|
198 |
-
var locked = $scrollContainer.length > 0;
|
199 |
-
var wrappedContainer = false; //used with absolute positioning enabled. did we need to wrap the scrollContainer/table with a relative div?
|
200 |
-
var $wrapper = $([]); //used when absolute positioning enabled - wraps the table and the float container
|
201 |
-
var absoluteToFixedOnScroll = ieVersion <= 9 && !locked && useAbsolutePositioning; //on ie using absolute positioning doesnt look good with window scrolling, so we change positon to fixed on scroll, and then change it back to absolute when done.
|
202 |
-
var $floatTable = $("<table/>");
|
203 |
-
var $floatColGroup = $("<colgroup/>");
|
204 |
-
var $tableColGroup = $table.find('colgroup:first');
|
205 |
-
var existingColGroup = true;
|
206 |
-
if($tableColGroup.length == 0){
|
207 |
-
$tableColGroup = $("<colgroup/>");
|
208 |
-
existingColGroup = false;
|
209 |
-
}
|
210 |
-
var $fthRow = $('<fthrow style="display:table-row;height:0;"/>'); //created unstyled elements
|
211 |
-
var $floatContainer = $('<div style="overflow: hidden;"></div>');
|
212 |
-
var $newHeader = $("<thead/>");
|
213 |
-
var $sizerRow = $('<tr class="size-row"/>');
|
214 |
-
var $sizerCells = $([]);
|
215 |
-
var $tableCells = $([]); //used for sizing - either $sizerCells or $tableColGroup cols. $tableColGroup cols are only created in chrome for borderCollapse:collapse because of a chrome bug.
|
216 |
-
var $headerCells = $([]);
|
217 |
-
var $fthCells = $([]); //created elements
|
218 |
-
|
219 |
-
$newHeader.append($sizerRow);
|
220 |
-
$table.prepend($tableColGroup);
|
221 |
-
if(isChrome){
|
222 |
-
$fthGrp.append($fthRow);
|
223 |
-
$table.append($fthGrp);
|
224 |
-
}
|
225 |
-
|
226 |
-
$floatTable.append($floatColGroup);
|
227 |
-
$floatContainer.append($floatTable);
|
228 |
-
if(opts.copyTableClass){
|
229 |
-
$floatTable.attr('class', $table.attr('class'));
|
230 |
-
}
|
231 |
-
$floatTable.attr({ //copy over some deprecated table attributes that people still like to use. Good thing poeple dont use colgroups...
|
232 |
-
'cellpadding': $table.attr('cellpadding'),
|
233 |
-
'cellspacing': $table.attr('cellspacing'),
|
234 |
-
'border': $table.attr('border')
|
235 |
-
});
|
236 |
-
|
237 |
-
$floatTable.addClass(opts.floatTableClass).css('margin', 0); //must have no margins or you wont be able to click on things under floating table
|
238 |
-
|
239 |
-
if(useAbsolutePositioning){
|
240 |
-
var makeRelative = function($container, alwaysWrap){
|
241 |
-
var positionCss = $container.css('position');
|
242 |
-
var relativeToScrollContainer = (positionCss == "relative" || positionCss == "absolute");
|
243 |
-
if(!relativeToScrollContainer || alwaysWrap){
|
244 |
-
var css = {"paddingLeft": $container.css('paddingLeft'), "paddingRight": $container.css('paddingRight')};
|
245 |
-
$floatContainer.css(css);
|
246 |
-
$container = $container.wrap("<div class='"+opts.floatWrapperClass+"' style='position: relative; clear:both;'></div>").parent();
|
247 |
-
wrappedContainer = true;
|
248 |
-
}
|
249 |
-
return $container;
|
250 |
-
};
|
251 |
-
if(locked){
|
252 |
-
$wrapper = makeRelative($scrollContainer, true);
|
253 |
-
$wrapper.append($floatContainer);
|
254 |
-
} else {
|
255 |
-
$wrapper = makeRelative($table);
|
256 |
-
$table.after($floatContainer);
|
257 |
-
}
|
258 |
-
} else {
|
259 |
-
$table.after($floatContainer);
|
260 |
-
}
|
261 |
-
|
262 |
-
|
263 |
-
$floatContainer.css({
|
264 |
-
position: useAbsolutePositioning ? 'absolute' : 'fixed',
|
265 |
-
marginTop: 0,
|
266 |
-
top: useAbsolutePositioning ? 0 : 'auto',
|
267 |
-
zIndex: opts.zIndex
|
268 |
-
});
|
269 |
-
$floatContainer.addClass(opts.floatContainerClass);
|
270 |
-
updateScrollingOffsets();
|
271 |
-
|
272 |
-
var layoutFixed = {'table-layout': 'fixed'};
|
273 |
-
var layoutAuto = {'table-layout': $table.css('tableLayout') || 'auto'};
|
274 |
-
var originalTableWidth = $table[0].style.width || ""; //setting this to auto is bad: #70
|
275 |
-
|
276 |
-
function eventName(name){
|
277 |
-
return name+'.fth-'+floatTheadId+'.floatTHead'
|
278 |
-
}
|
279 |
-
|
280 |
-
function setHeaderHeight(){
|
281 |
-
var headerHeight = 0;
|
282 |
-
$header.find("tr:visible").each(function(){
|
283 |
-
headerHeight += $(this).outerHeight(true);
|
284 |
-
});
|
285 |
-
$sizerRow.outerHeight(headerHeight);
|
286 |
-
$sizerCells.outerHeight(headerHeight);
|
287 |
-
}
|
288 |
-
|
289 |
-
|
290 |
-
function setFloatWidth(){
|
291 |
-
var tableWidth = $table.outerWidth();
|
292 |
-
var width = $scrollContainer.width() || tableWidth;
|
293 |
-
$floatContainer.width(width - scrollbarOffset.vertical);
|
294 |
-
if(locked){
|
295 |
-
var percent = 100 * tableWidth / (width - scrollbarOffset.vertical);
|
296 |
-
$floatTable.css('width', percent+'%');
|
297 |
-
} else {
|
298 |
-
$floatTable.outerWidth(tableWidth);
|
299 |
-
}
|
300 |
-
}
|
301 |
-
|
302 |
-
function updateScrollingOffsets(){
|
303 |
-
scrollingTop = (util.isFunction(opts.scrollingTop) ? opts.scrollingTop($table) : opts.scrollingTop) || 0;
|
304 |
-
scrollingBottom = (util.isFunction(opts.scrollingBottom) ? opts.scrollingBottom($table) : opts.scrollingBottom) || 0;
|
305 |
-
}
|
306 |
-
|
307 |
-
/**
|
308 |
-
* get the number of columns and also rebuild resizer rows if the count is different then the last count
|
309 |
-
*/
|
310 |
-
function columnNum(){
|
311 |
-
var count, $headerColumns;
|
312 |
-
if(existingColGroup){
|
313 |
-
count = $tableColGroup.find('col').length;
|
314 |
-
} else {
|
315 |
-
$headerColumns = $header.find('tr:first>'+opts.cellTag);
|
316 |
-
count = 0;
|
317 |
-
$headerColumns.each(function(){
|
318 |
-
count += parseInt(($(this).attr('colspan') || 1), 10);
|
319 |
-
});
|
320 |
-
}
|
321 |
-
if(count != lastColumnCount){
|
322 |
-
lastColumnCount = count;
|
323 |
-
var cells = [], cols = [], psuedo = [];
|
324 |
-
for(var x = 0; x < count; x++){
|
325 |
-
cells.push('<th class="floatThead-col"/>');
|
326 |
-
cols.push('<col/>');
|
327 |
-
psuedo.push("<fthtd style='display:table-cell;height:0;width:auto;'/>");
|
328 |
-
}
|
329 |
-
|
330 |
-
cols = cols.join('');
|
331 |
-
cells = cells.join('');
|
332 |
-
|
333 |
-
if(isChrome){
|
334 |
-
psuedo = psuedo.join('');
|
335 |
-
$fthRow.html(psuedo);
|
336 |
-
$fthCells = $fthRow.find('fthtd');
|
337 |
-
}
|
338 |
-
|
339 |
-
$sizerRow.html(cells);
|
340 |
-
$sizerCells = $sizerRow.find("th");
|
341 |
-
if(!existingColGroup){
|
342 |
-
$tableColGroup.html(cols);
|
343 |
-
}
|
344 |
-
$tableCells = $tableColGroup.find('col');
|
345 |
-
$floatColGroup.html(cols);
|
346 |
-
$headerCells = $floatColGroup.find("col");
|
347 |
-
|
348 |
-
}
|
349 |
-
return count;
|
350 |
-
}
|
351 |
-
|
352 |
-
function refloat(){ //make the thing float
|
353 |
-
if(!headerFloated){
|
354 |
-
headerFloated = true;
|
355 |
-
if(useAbsolutePositioning){ //#53, #56
|
356 |
-
var tableWidth = $table.width();
|
357 |
-
var wrapperWidth = $wrapper.width();
|
358 |
-
if(tableWidth > wrapperWidth){
|
359 |
-
$table.css('minWidth', tableWidth);
|
360 |
-
}
|
361 |
-
}
|
362 |
-
$table.css(layoutFixed);
|
363 |
-
$floatTable.css(layoutFixed);
|
364 |
-
$floatTable.append($header); //append because colgroup must go first in chrome
|
365 |
-
$tbody.before($newHeader);
|
366 |
-
setHeaderHeight();
|
367 |
-
}
|
368 |
-
}
|
369 |
-
function unfloat(){ //put the header back into the table
|
370 |
-
if(headerFloated){
|
371 |
-
headerFloated = false;
|
372 |
-
if(useAbsolutePositioning){ //#53, #56
|
373 |
-
$table.width(originalTableWidth);
|
374 |
-
}
|
375 |
-
$newHeader.detach();
|
376 |
-
$table.prepend($header);
|
377 |
-
$table.css(layoutAuto);
|
378 |
-
$floatTable.css(layoutAuto);
|
379 |
-
}
|
380 |
-
}
|
381 |
-
function changePositioning(isAbsolute){
|
382 |
-
if(useAbsolutePositioning != isAbsolute){
|
383 |
-
useAbsolutePositioning = isAbsolute;
|
384 |
-
$floatContainer.css({
|
385 |
-
position: useAbsolutePositioning ? 'absolute' : 'fixed'
|
386 |
-
});
|
387 |
-
}
|
388 |
-
}
|
389 |
-
function getSizingRow($table, $cols, $fthCells, ieVersion){
|
390 |
-
if(isChrome){
|
391 |
-
return $fthCells;
|
392 |
-
} else if(ieVersion) {
|
393 |
-
return opts.getSizingRow($table, $cols, $fthCells);
|
394 |
-
} else {
|
395 |
-
return $cols;
|
396 |
-
}
|
397 |
-
}
|
398 |
-
|
399 |
-
/**
|
400 |
-
* returns a function that updates the floating header's cell widths.
|
401 |
-
* @return {Function}
|
402 |
-
*/
|
403 |
-
function reflow(){
|
404 |
-
var i;
|
405 |
-
var numCols = columnNum(); //if the tables columns change dynamically since last time (datatables) we need to rebuild the sizer rows and get new count
|
406 |
-
return function(){
|
407 |
-
var $rowCells = getSizingRow($table, $tableCells, $fthCells, ieVersion);
|
408 |
-
if($rowCells.length == numCols && numCols > 0){
|
409 |
-
if(!existingColGroup){
|
410 |
-
for(i=0; i < numCols; i++){
|
411 |
-
$tableCells.eq(i).css('width', '');
|
412 |
-
}
|
413 |
-
}
|
414 |
-
unfloat();
|
415 |
-
for(i=0; i < numCols; i++){
|
416 |
-
var _rowcell = $rowCells.get(i);
|
417 |
-
var rowWidth = _rowcell.offsetWidth;
|
418 |
-
$headerCells.eq(i).width(rowWidth);
|
419 |
-
$tableCells.eq(i).width(rowWidth);
|
420 |
-
}
|
421 |
-
refloat();
|
422 |
-
} else {
|
423 |
-
$floatTable.append($header);
|
424 |
-
$table.css(layoutAuto);
|
425 |
-
$floatTable.css(layoutAuto);
|
426 |
-
setHeaderHeight();
|
427 |
-
}
|
428 |
-
};
|
429 |
-
}
|
430 |
-
|
431 |
-
/**
|
432 |
-
* first performs initial calculations that we expect to not change when the table, window, or scrolling container are scrolled.
|
433 |
-
* returns a function that calculates the floating container's top and left coords. takes into account if we are using page scrolling or inner scrolling
|
434 |
-
* @return {Function}
|
435 |
-
*/
|
436 |
-
function calculateFloatContainerPosFn(){
|
437 |
-
var scrollingContainerTop = $scrollContainer.scrollTop();
|
438 |
-
|
439 |
-
//this floatEnd calc was moved out of the returned function because we assume the table height doesnt change (otherwise we must reinit by calling calculateFloatContainerPosFn)
|
440 |
-
var floatEnd;
|
441 |
-
var tableContainerGap = 0;
|
442 |
-
var captionHeight = haveCaption ? $caption.outerHeight(true) : 0;
|
443 |
-
var captionScrollOffset = captionAlignTop ? captionHeight : -captionHeight;
|
444 |
-
|
445 |
-
var floatContainerHeight = $floatContainer.height();
|
446 |
-
var tableOffset = $table.offset();
|
447 |
-
if(locked){
|
448 |
-
var containerOffset = $scrollContainer.offset();
|
449 |
-
tableContainerGap = tableOffset.top - containerOffset.top + scrollingContainerTop;
|
450 |
-
if(haveCaption && captionAlignTop){
|
451 |
-
tableContainerGap += captionHeight;
|
452 |
-
}
|
453 |
-
} else {
|
454 |
-
floatEnd = tableOffset.top - scrollingTop - floatContainerHeight + scrollingBottom + scrollbarOffset.horizontal;
|
455 |
-
}
|
456 |
-
var windowTop = $window.scrollTop();
|
457 |
-
var windowLeft = $window.scrollLeft();
|
458 |
-
var scrollContainerLeft = $scrollContainer.scrollLeft();
|
459 |
-
scrollingContainerTop = $scrollContainer.scrollTop();
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
return function(eventType){
|
464 |
-
if(eventType == 'windowScroll'){
|
465 |
-
windowTop = $window.scrollTop();
|
466 |
-
windowLeft = $window.scrollLeft();
|
467 |
-
} else if(eventType == 'containerScroll'){
|
468 |
-
scrollingContainerTop = $scrollContainer.scrollTop();
|
469 |
-
scrollContainerLeft = $scrollContainer.scrollLeft();
|
470 |
-
} else if(eventType != 'init') {
|
471 |
-
windowTop = $window.scrollTop();
|
472 |
-
windowLeft = $window.scrollLeft();
|
473 |
-
scrollingContainerTop = $scrollContainer.scrollTop();
|
474 |
-
scrollContainerLeft = $scrollContainer.scrollLeft();
|
475 |
-
}
|
476 |
-
if(isChrome && (windowTop < 0 || windowLeft < 0)){ //chrome overscroll effect at the top of the page - breaks fixed positioned floated headers
|
477 |
-
return;
|
478 |
-
}
|
479 |
-
|
480 |
-
if(absoluteToFixedOnScroll){
|
481 |
-
if(eventType == 'windowScrollDone'){
|
482 |
-
changePositioning(true); //change to absolute
|
483 |
-
} else {
|
484 |
-
changePositioning(false); //change to fixed
|
485 |
-
}
|
486 |
-
} else if(eventType == 'windowScrollDone'){
|
487 |
-
return null; //event is fired when they stop scrolling. ignore it if not 'absoluteToFixedOnScroll'
|
488 |
-
}
|
489 |
-
|
490 |
-
tableOffset = $table.offset();
|
491 |
-
if(haveCaption && captionAlignTop){
|
492 |
-
tableOffset.top += captionHeight;
|
493 |
-
}
|
494 |
-
var top, left;
|
495 |
-
var tableHeight = $table.outerHeight();
|
496 |
-
|
497 |
-
if(locked && useAbsolutePositioning){ //inner scrolling, absolute positioning
|
498 |
-
if (tableContainerGap >= scrollingContainerTop) {
|
499 |
-
var gap = tableContainerGap - scrollingContainerTop;
|
500 |
-
gap = gap > 0 ? gap : 0;
|
501 |
-
top = gap;
|
502 |
-
} else {
|
503 |
-
top = wrappedContainer ? 0 : scrollingContainerTop;
|
504 |
-
//headers stop at the top of the viewport
|
505 |
-
}
|
506 |
-
left = 0;
|
507 |
-
} else if(!locked && useAbsolutePositioning) { //window scrolling, absolute positioning
|
508 |
-
if(windowTop > floatEnd + tableHeight + captionScrollOffset){
|
509 |
-
top = tableHeight - floatContainerHeight + captionScrollOffset; //scrolled past table
|
510 |
-
} else if (tableOffset.top > windowTop + scrollingTop) {
|
511 |
-
top = 0; //scrolling to table
|
512 |
-
unfloat();
|
513 |
-
} else {
|
514 |
-
top = scrollingTop + windowTop - tableOffset.top + tableContainerGap + (captionAlignTop ? captionHeight : 0);
|
515 |
-
refloat(); //scrolling within table. header floated
|
516 |
-
}
|
517 |
-
left = 0;
|
518 |
-
} else if(locked && !useAbsolutePositioning){ //inner scrolling, fixed positioning
|
519 |
-
if (tableContainerGap > scrollingContainerTop || scrollingContainerTop - tableContainerGap > tableHeight) {
|
520 |
-
top = tableOffset.top - windowTop;
|
521 |
-
unfloat();
|
522 |
-
} else {
|
523 |
-
top = tableOffset.top + scrollingContainerTop - windowTop - tableContainerGap;
|
524 |
-
refloat();
|
525 |
-
//headers stop at the top of the viewport
|
526 |
-
}
|
527 |
-
left = tableOffset.left + scrollContainerLeft - windowLeft;
|
528 |
-
} else if(!locked && !useAbsolutePositioning) { //window scrolling, fixed positioning
|
529 |
-
if(windowTop > floatEnd + tableHeight + captionScrollOffset){
|
530 |
-
top = tableHeight + scrollingTop - windowTop + floatEnd + captionScrollOffset;
|
531 |
-
//scrolled past the bottom of the table
|
532 |
-
} else if (tableOffset.top > windowTop + scrollingTop) {
|
533 |
-
top = tableOffset.top - windowTop;
|
534 |
-
refloat();
|
535 |
-
//scrolled past the top of the table
|
536 |
-
} else {
|
537 |
-
//scrolling within the table
|
538 |
-
top = scrollingTop;
|
539 |
-
}
|
540 |
-
left = tableOffset.left - windowLeft;
|
541 |
-
}
|
542 |
-
return {top: top, left: left};
|
543 |
-
};
|
544 |
-
}
|
545 |
-
/**
|
546 |
-
* returns a function that caches old floating container position and only updates css when the position changes
|
547 |
-
* @return {Function}
|
548 |
-
*/
|
549 |
-
function repositionFloatContainerFn(){
|
550 |
-
var oldTop = null;
|
551 |
-
var oldLeft = null;
|
552 |
-
var oldScrollLeft = null;
|
553 |
-
return function(pos, setWidth, setHeight){
|
554 |
-
if(pos != null && (oldTop != pos.top || oldLeft != pos.left)){
|
555 |
-
$floatContainer.css({
|
556 |
-
top: pos.top,
|
557 |
-
left: pos.left
|
558 |
-
});
|
559 |
-
oldTop = pos.top;
|
560 |
-
oldLeft = pos.left;
|
561 |
-
}
|
562 |
-
if(setWidth){
|
563 |
-
setFloatWidth();
|
564 |
-
}
|
565 |
-
if(setHeight){
|
566 |
-
setHeaderHeight();
|
567 |
-
}
|
568 |
-
var scrollLeft = $scrollContainer.scrollLeft();
|
569 |
-
if(oldScrollLeft != scrollLeft){
|
570 |
-
$floatContainer.scrollLeft(scrollLeft);
|
571 |
-
oldScrollLeft = scrollLeft;
|
572 |
-
}
|
573 |
-
}
|
574 |
-
}
|
575 |
-
|
576 |
-
/**
|
577 |
-
* checks if THIS table has scrollbars, and finds their widths
|
578 |
-
*/
|
579 |
-
function calculateScrollBarSize(){ //this should happen after the floating table has been positioned
|
580 |
-
if($scrollContainer.length){
|
581 |
-
var sw = $scrollContainer.width(), sh = $scrollContainer.height(), th = $table.height(), tw = $table.width();
|
582 |
-
var offseth = sw < tw ? scWidth : 0;
|
583 |
-
var offsetv = sh < th ? scWidth : 0;
|
584 |
-
scrollbarOffset.horizontal = sw - offsetv < tw ? scWidth : 0;
|
585 |
-
scrollbarOffset.vertical = sh - offseth < th ? scWidth: 0;
|
586 |
-
}
|
587 |
-
}
|
588 |
-
//finish up. create all calculation functions and bind them to events
|
589 |
-
calculateScrollBarSize();
|
590 |
-
|
591 |
-
var flow;
|
592 |
-
|
593 |
-
var ensureReflow = function(){
|
594 |
-
flow = reflow();
|
595 |
-
flow();
|
596 |
-
};
|
597 |
-
|
598 |
-
ensureReflow();
|
599 |
-
|
600 |
-
var calculateFloatContainerPos = calculateFloatContainerPosFn();
|
601 |
-
var repositionFloatContainer = repositionFloatContainerFn();
|
602 |
-
|
603 |
-
repositionFloatContainer(calculateFloatContainerPos('init'), true); //this must come after reflow because reflow changes scrollLeft back to 0 when it rips out the thead
|
604 |
-
|
605 |
-
var windowScrollDoneEvent = util.debounce(function(){
|
606 |
-
repositionFloatContainer(calculateFloatContainerPos('windowScrollDone'), false);
|
607 |
-
}, 300);
|
608 |
-
|
609 |
-
var windowScrollEvent = function(){
|
610 |
-
repositionFloatContainer(calculateFloatContainerPos('windowScroll'), false);
|
611 |
-
windowScrollDoneEvent();
|
612 |
-
};
|
613 |
-
var containerScrollEvent = function(){
|
614 |
-
repositionFloatContainer(calculateFloatContainerPos('containerScroll'), false);
|
615 |
-
};
|
616 |
-
|
617 |
-
|
618 |
-
var windowResizeEvent = function(){
|
619 |
-
updateScrollingOffsets();
|
620 |
-
calculateScrollBarSize();
|
621 |
-
ensureReflow();
|
622 |
-
calculateFloatContainerPos = calculateFloatContainerPosFn();
|
623 |
-
repositionFloatContainer = repositionFloatContainerFn();
|
624 |
-
repositionFloatContainer(calculateFloatContainerPos('resize'), true, true);
|
625 |
-
};
|
626 |
-
var reflowEvent = util.debounce(function(){
|
627 |
-
calculateScrollBarSize();
|
628 |
-
updateScrollingOffsets();
|
629 |
-
ensureReflow();
|
630 |
-
calculateFloatContainerPos = calculateFloatContainerPosFn();
|
631 |
-
repositionFloatContainer(calculateFloatContainerPos('reflow'), true);
|
632 |
-
}, 1);
|
633 |
-
if(locked){ //internal scrolling
|
634 |
-
if(useAbsolutePositioning){
|
635 |
-
$scrollContainer.on(eventName('scroll'), containerScrollEvent);
|
636 |
-
} else {
|
637 |
-
$scrollContainer.on(eventName('scroll'), containerScrollEvent);
|
638 |
-
$window.on(eventName('scroll'), windowScrollEvent);
|
639 |
-
}
|
640 |
-
} else { //window scrolling
|
641 |
-
$window.on(eventName('scroll'), windowScrollEvent);
|
642 |
-
}
|
643 |
-
|
644 |
-
$window.on(eventName('load'), reflowEvent); //for tables with images
|
645 |
-
|
646 |
-
windowResize(opts.debounceResizeMs, eventName('resize'), windowResizeEvent);
|
647 |
-
$table.on('reflow', reflowEvent);
|
648 |
-
if(isDatatable($table)){
|
649 |
-
$table
|
650 |
-
.on('filter', reflowEvent)
|
651 |
-
.on('sort', reflowEvent)
|
652 |
-
.on('page', reflowEvent);
|
653 |
-
}
|
654 |
-
|
655 |
-
//attach some useful functions to the table.
|
656 |
-
$table.data('floatThead-attached', {
|
657 |
-
destroy: function(){
|
658 |
-
var ns = '.fth-'+floatTheadId;
|
659 |
-
unfloat();
|
660 |
-
$table.css(layoutAuto);
|
661 |
-
$tableColGroup.remove();
|
662 |
-
isChrome && $fthGrp.remove();
|
663 |
-
if($newHeader.parent().length){ //only if its in the dom
|
664 |
-
$newHeader.replaceWith($header);
|
665 |
-
}
|
666 |
-
$table.off('reflow');
|
667 |
-
$scrollContainer.off(ns);
|
668 |
-
if (wrappedContainer) {
|
669 |
-
$scrollContainer.unwrap();
|
670 |
-
}
|
671 |
-
$floatContainer.remove();
|
672 |
-
$table.data('floatThead-attached', false);
|
673 |
-
|
674 |
-
$window.off(ns);
|
675 |
-
},
|
676 |
-
reflow: function(){
|
677 |
-
reflowEvent();
|
678 |
-
},
|
679 |
-
setHeaderHeight: function(){
|
680 |
-
setHeaderHeight();
|
681 |
-
},
|
682 |
-
getFloatContainer: function(){
|
683 |
-
return $floatContainer;
|
684 |
-
},
|
685 |
-
getRowGroups: function(){
|
686 |
-
if(headerFloated){
|
687 |
-
return $floatContainer.find("thead").add($table.find("tbody,tfoot"));
|
688 |
-
} else {
|
689 |
-
return $table.find("thead,tbody,tfoot");
|
690 |
-
}
|
691 |
-
}
|
692 |
-
});
|
693 |
-
floatTheadCreated++;
|
694 |
-
});
|
695 |
-
return this;
|
696 |
-
};
|
697 |
-
})(jQuery);
|
698 |
-
|
699 |
-
/* jQuery.floatThead.utils - http://mkoryak.github.io/floatThead/ - Copyright (c) 2012 - 2014 Misha Koryak
|
700 |
-
* License: MIT
|
701 |
-
*
|
702 |
-
* This file is required if you do not use underscore in your project and you want to use floatThead.
|
703 |
-
* It contains functions from underscore that the plugin uses.
|
704 |
-
*
|
705 |
-
* YOU DON'T NEED TO INCLUDE THIS IF YOU ALREADY INCLUDE UNDERSCORE!
|
706 |
-
*
|
707 |
-
*/
|
708 |
-
|
709 |
-
(function($){
|
710 |
-
|
711 |
-
$.floatThead = $.floatThead || {};
|
712 |
-
|
713 |
-
$.floatThead._ = window._ || (function(){
|
714 |
-
var that = {};
|
715 |
-
var hasOwnProperty = Object.prototype.hasOwnProperty, isThings = ['Arguments', 'Function', 'String', 'Number', 'Date', 'RegExp'];
|
716 |
-
that.has = function(obj, key) {
|
717 |
-
return hasOwnProperty.call(obj, key);
|
718 |
-
};
|
719 |
-
that.keys = function(obj) {
|
720 |
-
if (obj !== Object(obj)) throw new TypeError('Invalid object');
|
721 |
-
var keys = [];
|
722 |
-
for (var key in obj) if (that.has(obj, key)) keys.push(key);
|
723 |
-
return keys;
|
724 |
-
};
|
725 |
-
$.each(isThings, function(){
|
726 |
-
var name = this;
|
727 |
-
that['is' + name] = function(obj) {
|
728 |
-
return Object.prototype.toString.call(obj) == '[object ' + name + ']';
|
729 |
-
};
|
730 |
-
});
|
731 |
-
that.debounce = function(func, wait, immediate) {
|
732 |
-
var timeout, args, context, timestamp, result;
|
733 |
-
return function() {
|
734 |
-
context = this;
|
735 |
-
args = arguments;
|
736 |
-
timestamp = new Date();
|
737 |
-
var later = function() {
|
738 |
-
var last = (new Date()) - timestamp;
|
739 |
-
if (last < wait) {
|
740 |
-
timeout = setTimeout(later, wait - last);
|
741 |
-
} else {
|
742 |
-
timeout = null;
|
743 |
-
if (!immediate) result = func.apply(context, args);
|
744 |
-
}
|
745 |
-
};
|
746 |
-
var callNow = immediate && !timeout;
|
747 |
-
if (!timeout) {
|
748 |
-
timeout = setTimeout(later, wait);
|
749 |
-
}
|
750 |
-
if (callNow) result = func.apply(context, args);
|
751 |
-
return result;
|
752 |
-
};
|
753 |
-
};
|
754 |
-
return that;
|
755 |
-
})();
|
756 |
-
})(jQuery);
|
757 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
languages/cpac.po
CHANGED
@@ -2,8 +2,8 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Codepress Admin Columns\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date: 2014-
|
6 |
-
"PO-Revision-Date: 2014-
|
7 |
"Last-Translator: Codepress <info@codepress.nl>\n"
|
8 |
"Language-Team: Codepress <info@codepress.nl>\n"
|
9 |
"Language: en_GB\n"
|
@@ -13,7 +13,7 @@ msgstr ""
|
|
13 |
"X-Poedit-KeywordsList: __;_e\n"
|
14 |
"X-Poedit-Basepath: .\n"
|
15 |
"X-Poedit-SourceCharset: UTF-8\n"
|
16 |
-
"X-Generator: Poedit 1.6.
|
17 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
18 |
"X-Poedit-SearchPath-0: .\n"
|
19 |
"X-Poedit-SearchPath-1: ..\n"
|
@@ -32,123 +32,133 @@ msgid ""
|
|
32 |
"seconds!"
|
33 |
msgstr ""
|
34 |
|
35 |
-
#: ../classes/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
msgid "Thumbnail"
|
37 |
msgstr ""
|
38 |
|
39 |
-
#: ../classes/column.php:
|
40 |
msgid "Medium"
|
41 |
msgstr ""
|
42 |
|
43 |
-
#: ../classes/column.php:
|
44 |
msgid "Large"
|
45 |
msgstr ""
|
46 |
|
47 |
-
#: ../classes/column.php:
|
48 |
msgid "Full"
|
49 |
msgstr ""
|
50 |
|
51 |
-
#: ../classes/column.php:
|
52 |
msgid "Date Format"
|
53 |
msgstr ""
|
54 |
|
55 |
-
#: ../classes/column.php:
|
56 |
msgid "This will determine how the date will be displayed."
|
57 |
msgstr ""
|
58 |
|
59 |
-
#: ../classes/column.php:
|
60 |
msgid "Example:"
|
61 |
msgstr ""
|
62 |
|
63 |
-
#: ../classes/column.php:
|
64 |
#, php-format
|
65 |
msgid ""
|
66 |
"Leave empty for WordPress date format, change your <a href=\"%s\">default "
|
67 |
"date format here</a>."
|
68 |
msgstr ""
|
69 |
|
70 |
-
#: ../classes/column.php:
|
71 |
msgid "Documentation on date and time formatting."
|
72 |
msgstr ""
|
73 |
|
74 |
-
#: ../classes/column.php:
|
75 |
msgid "Excerpt length"
|
76 |
msgstr ""
|
77 |
|
78 |
-
#: ../classes/column.php:
|
79 |
msgid "Number of words"
|
80 |
msgstr ""
|
81 |
|
82 |
-
#: ../classes/column.php:
|
83 |
msgid "Preview size"
|
84 |
msgstr ""
|
85 |
|
86 |
-
#: ../classes/column.php:
|
87 |
msgid "Custom"
|
88 |
msgstr ""
|
89 |
|
90 |
-
#: ../classes/column.php:
|
91 |
msgid "width"
|
92 |
msgstr ""
|
93 |
|
94 |
-
#: ../classes/column.php:
|
95 |
msgid "height"
|
96 |
msgstr ""
|
97 |
|
98 |
-
#: ../classes/column.php:
|
99 |
msgid "Before"
|
100 |
msgstr ""
|
101 |
|
102 |
-
#: ../classes/column.php:
|
103 |
msgid "This text will appear before the custom field value."
|
104 |
msgstr ""
|
105 |
|
106 |
-
#: ../classes/column.php:
|
107 |
msgid "After"
|
108 |
msgstr ""
|
109 |
|
110 |
-
#: ../classes/column.php:
|
111 |
msgid "This text will appear after the custom field value."
|
112 |
msgstr ""
|
113 |
|
114 |
-
#: ../classes/column.php:
|
115 |
-
#: ../classes/column/link/actions.php:48 ../classes/column/post/actions.php:
|
116 |
#: ../classes/column/user/actions.php:69
|
117 |
msgid "Edit"
|
118 |
msgstr ""
|
119 |
|
120 |
-
#: ../classes/column.php:
|
121 |
#: ../classes/column/user/actions.php:77
|
122 |
msgid "Remove"
|
123 |
msgstr ""
|
124 |
|
125 |
-
#: ../classes/column.php:
|
126 |
msgid "Type"
|
127 |
msgstr ""
|
128 |
|
129 |
-
#: ../classes/column.php:
|
130 |
msgid "Choose a column type."
|
131 |
msgstr ""
|
132 |
|
133 |
-
#: ../classes/column.php:
|
134 |
#: ../classes/column/link/ID.php:19 ../classes/column/media/ID.php:19
|
135 |
#: ../classes/column/post/ID.php:19
|
136 |
msgid "ID"
|
137 |
msgstr ""
|
138 |
|
139 |
-
#: ../classes/column.php:
|
140 |
msgid "Label"
|
141 |
msgstr ""
|
142 |
|
143 |
-
#: ../classes/column.php:
|
144 |
msgid "This is the name which will appear as the column header."
|
145 |
msgstr ""
|
146 |
|
147 |
-
#: ../classes/column.php:
|
148 |
msgid "Width"
|
149 |
msgstr ""
|
150 |
|
151 |
-
#: ../classes/column.php:
|
152 |
msgid "default"
|
153 |
msgstr ""
|
154 |
|
@@ -178,13 +188,31 @@ msgstr ""
|
|
178 |
msgid "Find out more"
|
179 |
msgstr ""
|
180 |
|
181 |
-
#: ../classes/column/comment/actions.php:19
|
182 |
#: ../classes/column/link/actions.php:19
|
183 |
#: ../classes/column/media/actions.php:20
|
184 |
-
#: ../classes/column/
|
185 |
msgid "Actions"
|
186 |
msgstr ""
|
187 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
#: ../classes/column/comment/actions.php:76
|
189 |
#: ../classes/column/comment/actions.php:81
|
190 |
msgid "Unapprove"
|
@@ -196,17 +224,17 @@ msgid "Approve"
|
|
196 |
msgstr ""
|
197 |
|
198 |
#: ../classes/column/comment/actions.php:89
|
199 |
-
#: ../classes/column/post/actions.php:
|
200 |
msgid "Restore"
|
201 |
msgstr ""
|
202 |
|
203 |
#: ../classes/column/comment/actions.php:93
|
204 |
-
#: ../classes/column/post/actions.php:
|
205 |
msgid "Delete Permanently"
|
206 |
msgstr ""
|
207 |
|
208 |
#: ../classes/column/comment/actions.php:100
|
209 |
-
#: ../classes/column/post/actions.php:
|
210 |
msgid "Quick Edit"
|
211 |
msgstr ""
|
212 |
|
@@ -219,7 +247,7 @@ msgid "Agent"
|
|
219 |
msgstr ""
|
220 |
|
221 |
#: ../classes/column/comment/approved.php:19
|
222 |
-
#: ../classes/column/post/comment-count.php:
|
223 |
msgid "Approved"
|
224 |
msgstr ""
|
225 |
|
@@ -253,13 +281,13 @@ msgstr ""
|
|
253 |
msgid "Submitted on <a href=\"%1$s\">%2$s at %3$s</a>"
|
254 |
msgstr ""
|
255 |
|
256 |
-
#: ../classes/column/comment/date.php:19 ../classes/column/custom-field.php:
|
257 |
#: ../classes/settings.php:300
|
258 |
msgid "Date"
|
259 |
msgstr ""
|
260 |
|
261 |
#: ../classes/column/comment/excerpt.php:19
|
262 |
-
#: ../classes/column/custom-field.php:
|
263 |
#: ../classes/settings.php:297
|
264 |
msgid "Excerpt"
|
265 |
msgstr ""
|
@@ -273,66 +301,66 @@ msgstr ""
|
|
273 |
msgid "Word count"
|
274 |
msgstr ""
|
275 |
|
276 |
-
#: ../classes/column/custom-field.php:
|
277 |
-
#: ../classes/column/custom-field.php:
|
278 |
msgid "Custom Field"
|
279 |
msgstr ""
|
280 |
|
281 |
-
#: ../classes/column/custom-field.php:
|
282 |
-
#: ../classes/storage_model.php:
|
283 |
msgid "Default"
|
284 |
msgstr ""
|
285 |
|
286 |
-
#: ../classes/column/custom-field.php:
|
287 |
msgid "Checkmark (true/false)"
|
288 |
msgstr ""
|
289 |
|
290 |
-
#: ../classes/column/custom-field.php:
|
291 |
msgid "Color"
|
292 |
msgstr ""
|
293 |
|
294 |
-
#: ../classes/column/custom-field.php:
|
295 |
msgid "Counter"
|
296 |
msgstr ""
|
297 |
|
298 |
-
#: ../classes/column/custom-field.php:
|
299 |
#: ../classes/settings.php:296
|
300 |
msgid "Image"
|
301 |
msgstr ""
|
302 |
|
303 |
-
#: ../classes/column/custom-field.php:
|
304 |
msgid "Media Library"
|
305 |
msgstr ""
|
306 |
|
307 |
-
#: ../classes/column/custom-field.php:
|
308 |
msgid "Multiple Values"
|
309 |
msgstr ""
|
310 |
|
311 |
-
#: ../classes/column/custom-field.php:
|
312 |
msgid "Numeric"
|
313 |
msgstr ""
|
314 |
|
315 |
-
#: ../classes/column/custom-field.php:
|
316 |
msgid "Post Title (Post ID's)"
|
317 |
msgstr ""
|
318 |
|
319 |
-
#: ../classes/column/custom-field.php:
|
320 |
msgid "Username (User ID's)"
|
321 |
msgstr ""
|
322 |
|
323 |
-
#: ../classes/column/custom-field.php:
|
324 |
msgid "Select your custom field."
|
325 |
msgstr ""
|
326 |
|
327 |
-
#: ../classes/column/custom-field.php:
|
328 |
msgid "No custom fields available."
|
329 |
msgstr ""
|
330 |
|
331 |
-
#: ../classes/column/custom-field.php:
|
332 |
msgid "Field Type"
|
333 |
msgstr ""
|
334 |
|
335 |
-
#: ../classes/column/custom-field.php:
|
336 |
msgid "This will determine how the value will be displayed."
|
337 |
msgstr ""
|
338 |
|
@@ -454,47 +482,47 @@ msgstr ""
|
|
454 |
msgid "Mime type"
|
455 |
msgstr ""
|
456 |
|
457 |
-
#: ../classes/column/post/actions.php:
|
458 |
msgid "Edit this item"
|
459 |
msgstr ""
|
460 |
|
461 |
-
#: ../classes/column/post/actions.php:
|
462 |
msgid "Edit this item inline"
|
463 |
msgstr ""
|
464 |
|
465 |
-
#: ../classes/column/post/actions.php:
|
466 |
msgid "Restore this item from the Trash"
|
467 |
msgstr ""
|
468 |
|
469 |
-
#: ../classes/column/post/actions.php:
|
470 |
msgid "Move this item to the Trash"
|
471 |
msgstr ""
|
472 |
|
473 |
-
#: ../classes/column/post/actions.php:
|
474 |
-
#: ../classes/column/post/comment-count.php:
|
475 |
#: ../classes/column/post/status.php:41
|
476 |
msgid "Trash"
|
477 |
msgstr ""
|
478 |
|
479 |
-
#: ../classes/column/post/actions.php:
|
480 |
msgid "Delete this item permanently"
|
481 |
msgstr ""
|
482 |
|
483 |
-
#: ../classes/column/post/actions.php:
|
484 |
#, php-format
|
485 |
msgid "Preview “%s”"
|
486 |
msgstr ""
|
487 |
|
488 |
-
#: ../classes/column/post/actions.php:
|
489 |
msgid "Preview"
|
490 |
msgstr ""
|
491 |
|
492 |
-
#: ../classes/column/post/actions.php:
|
493 |
#, php-format
|
494 |
msgid "View “%s”"
|
495 |
msgstr ""
|
496 |
|
497 |
-
#: ../classes/column/post/actions.php:
|
498 |
msgid "View"
|
499 |
msgstr ""
|
500 |
|
@@ -506,44 +534,44 @@ msgstr ""
|
|
506 |
msgid "Attachment"
|
507 |
msgstr ""
|
508 |
|
509 |
-
#: ../classes/column/post/author-name.php:
|
510 |
msgid "Display Author As"
|
511 |
msgstr ""
|
512 |
|
513 |
-
#: ../classes/column/post/author-name.php:
|
514 |
msgid "Display Name"
|
515 |
msgstr ""
|
516 |
|
517 |
-
#: ../classes/column/post/author-name.php:
|
518 |
msgid "First Name"
|
519 |
msgstr ""
|
520 |
|
521 |
-
#: ../classes/column/post/author-name.php:
|
522 |
msgid "Last Name"
|
523 |
msgstr ""
|
524 |
|
525 |
-
#: ../classes/column/post/author-name.php:
|
526 |
#: ../classes/column/user/nickname.php:19
|
527 |
msgid "Nickname"
|
528 |
msgstr ""
|
529 |
|
530 |
-
#: ../classes/column/post/author-name.php:
|
531 |
msgid "User Login"
|
532 |
msgstr ""
|
533 |
|
534 |
-
#: ../classes/column/post/author-name.php:
|
535 |
msgid "User Email"
|
536 |
msgstr ""
|
537 |
|
538 |
-
#: ../classes/column/post/author-name.php:
|
539 |
msgid "User ID"
|
540 |
msgstr ""
|
541 |
|
542 |
-
#: ../classes/column/post/author-name.php:
|
543 |
msgid "First and Last Name"
|
544 |
msgstr ""
|
545 |
|
546 |
-
#: ../classes/column/post/author-name.php:
|
547 |
msgid "This is the format of the author name."
|
548 |
msgstr ""
|
549 |
|
@@ -551,28 +579,28 @@ msgstr ""
|
|
551 |
msgid "Before More Tag"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: ../classes/column/post/comment-count.php:
|
555 |
msgid "Comment count"
|
556 |
msgstr ""
|
557 |
|
558 |
-
#: ../classes/column/post/comment-count.php:
|
559 |
msgid "Total"
|
560 |
msgstr ""
|
561 |
|
562 |
-
#: ../classes/column/post/comment-count.php:
|
563 |
msgid "Pending"
|
564 |
msgstr ""
|
565 |
|
566 |
-
#: ../classes/column/post/comment-count.php:
|
567 |
msgid "Spam"
|
568 |
msgstr ""
|
569 |
|
570 |
-
#: ../classes/column/post/comment-count.php:
|
571 |
-
#: ../classes/column/post/comment-status.php:
|
572 |
msgid "Comment status"
|
573 |
msgstr ""
|
574 |
|
575 |
-
#: ../classes/column/post/comment-count.php:
|
576 |
msgid "Select which comment status you like to display."
|
577 |
msgstr ""
|
578 |
|
@@ -600,6 +628,10 @@ msgstr ""
|
|
600 |
msgid "Parent"
|
601 |
msgstr ""
|
602 |
|
|
|
|
|
|
|
|
|
603 |
#: ../classes/column/post/permalink.php:19
|
604 |
msgid "Permalink"
|
605 |
msgstr ""
|
@@ -612,14 +644,6 @@ msgstr ""
|
|
612 |
msgid "This will make the permalink clickable."
|
613 |
msgstr ""
|
614 |
|
615 |
-
#: ../classes/column/post/permalink.php:72
|
616 |
-
msgid "Yes"
|
617 |
-
msgstr ""
|
618 |
-
|
619 |
-
#: ../classes/column/post/permalink.php:76
|
620 |
-
msgid "No"
|
621 |
-
msgstr ""
|
622 |
-
|
623 |
#: ../classes/column/post/ping-status.php:19
|
624 |
msgid "Ping status"
|
625 |
msgstr ""
|
@@ -664,10 +688,26 @@ msgstr ""
|
|
664 |
msgid "Sticky"
|
665 |
msgstr ""
|
666 |
|
667 |
-
#: ../classes/column/
|
|
|
|
|
|
|
|
|
668 |
msgid "Taxonomy"
|
669 |
msgstr ""
|
670 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
671 |
#: ../classes/column/user/comment-count.php:19
|
672 |
msgid "Comment Count"
|
673 |
msgstr ""
|
@@ -708,7 +748,7 @@ msgstr ""
|
|
708 |
msgid "Admin Columns Settings"
|
709 |
msgstr ""
|
710 |
|
711 |
-
#: ../classes/settings.php:155 ../classes/settings.php:
|
712 |
#: ../classes/upgrade.php:121
|
713 |
msgid "Admin Columns"
|
714 |
msgstr ""
|
@@ -985,152 +1025,196 @@ msgstr ""
|
|
985 |
msgid "Customize your Admin Columns settings."
|
986 |
msgstr ""
|
987 |
|
988 |
-
#: ../classes/settings.php:
|
989 |
msgid ""
|
990 |
-
"Show \"Edit Columns\" button on admin screens. Default is <code>
|
991 |
msgstr ""
|
992 |
|
993 |
-
#: ../classes/settings.php:
|
994 |
msgid "Save"
|
995 |
msgstr ""
|
996 |
|
997 |
-
#: ../classes/settings.php:
|
998 |
msgid "Restore Settings"
|
999 |
msgstr ""
|
1000 |
|
1001 |
-
#: ../classes/settings.php:
|
1002 |
msgid "This will delete all column settings and restore the default settings."
|
1003 |
msgstr ""
|
1004 |
|
1005 |
-
#: ../classes/settings.php:
|
1006 |
msgid "Restore default settings"
|
1007 |
msgstr ""
|
1008 |
|
1009 |
-
#: ../classes/settings.php:
|
1010 |
msgid ""
|
1011 |
"Warning! ALL saved admin columns data will be deleted. This cannot be "
|
1012 |
"undone. \\'OK\\' to delete, \\'Cancel\\' to stop"
|
1013 |
msgstr ""
|
1014 |
|
1015 |
-
#: ../classes/settings.php:
|
1016 |
msgid "Settings"
|
1017 |
msgstr ""
|
1018 |
|
1019 |
-
#: ../classes/settings.php:
|
1020 |
msgid "Add-ons"
|
1021 |
msgstr ""
|
1022 |
|
1023 |
-
#: ../classes/settings.php:
|
1024 |
msgid "Posttypes"
|
1025 |
msgstr ""
|
1026 |
|
1027 |
-
#: ../classes/settings.php:
|
1028 |
msgid "Others"
|
1029 |
msgstr ""
|
1030 |
|
1031 |
-
#: ../classes/settings.php:
|
1032 |
msgid "Taxonomies"
|
1033 |
msgstr ""
|
1034 |
|
1035 |
-
#: ../classes/settings.php:
|
1036 |
#, php-format
|
1037 |
msgid ""
|
1038 |
"The columns for <strong>%s</strong> are set up via PHP and can therefore not "
|
1039 |
"be edited in the admin panel."
|
1040 |
msgstr ""
|
1041 |
|
1042 |
-
#: ../classes/settings.php:
|
1043 |
msgid "Store settings"
|
1044 |
msgstr ""
|
1045 |
|
1046 |
-
#: ../classes/settings.php:
|
1047 |
msgid "Update"
|
1048 |
msgstr ""
|
1049 |
|
1050 |
-
#: ../classes/settings.php:
|
1051 |
#, php-format
|
1052 |
msgid ""
|
1053 |
"Warning! The %s columns data will be deleted. This cannot be undone. \\'OK"
|
1054 |
"\\' to delete, \\'Cancel\\' to stop"
|
1055 |
msgstr ""
|
1056 |
|
1057 |
-
#: ../classes/settings.php:
|
1058 |
msgid "columns"
|
1059 |
msgstr ""
|
1060 |
|
1061 |
-
#: ../classes/settings.php:
|
1062 |
msgid "Get Admin Columns Pro"
|
1063 |
msgstr ""
|
1064 |
|
1065 |
-
#: ../classes/settings.php:
|
1066 |
msgid "Add Sorting"
|
1067 |
msgstr ""
|
1068 |
|
1069 |
-
#: ../classes/settings.php:
|
1070 |
msgid "Add Filtering"
|
1071 |
msgstr ""
|
1072 |
|
1073 |
-
#: ../classes/settings.php:
|
1074 |
msgid "Add Import/Export"
|
1075 |
msgstr ""
|
1076 |
|
1077 |
-
#: ../classes/settings.php:
|
1078 |
msgid "Add Direct Editing"
|
1079 |
msgstr ""
|
1080 |
|
1081 |
-
#: ../classes/settings.php:
|
1082 |
#, php-format
|
1083 |
msgid "Check out <a href=\"%s\">Admin Columns Pro</a> for more details!"
|
1084 |
msgstr ""
|
1085 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1086 |
#: ../classes/settings.php:747
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1087 |
msgid "Support"
|
1088 |
msgstr ""
|
1089 |
|
1090 |
-
#: ../classes/settings.php:
|
1091 |
msgid "Check the <strong>Help</strong> section in the top-right screen."
|
1092 |
msgstr ""
|
1093 |
|
1094 |
-
#: ../classes/settings.php:
|
1095 |
#, php-format
|
1096 |
msgid ""
|
1097 |
"For full documentation, bug reports, feature suggestions and other tips <a "
|
1098 |
"href='%s'>visit the Admin Columns website</a>"
|
1099 |
msgstr ""
|
1100 |
|
1101 |
-
#: ../classes/settings.php:
|
1102 |
msgid "Drag and drop to reorder"
|
1103 |
msgstr ""
|
1104 |
|
1105 |
-
#: ../classes/settings.php:
|
1106 |
msgid "Add Column"
|
1107 |
msgstr ""
|
1108 |
|
1109 |
-
#: ../classes/settings.php:
|
1110 |
msgid "Active"
|
1111 |
msgstr ""
|
1112 |
|
1113 |
-
#: ../classes/settings.php:
|
1114 |
msgid "Deactivate"
|
1115 |
msgstr ""
|
1116 |
|
1117 |
-
#: ../classes/settings.php:
|
1118 |
msgid "Installed"
|
1119 |
msgstr ""
|
1120 |
|
1121 |
-
#: ../classes/settings.php:
|
1122 |
msgid "Activate"
|
1123 |
msgstr ""
|
1124 |
|
1125 |
-
#: ../classes/settings.php:
|
1126 |
msgid "Download & Install"
|
1127 |
msgstr ""
|
1128 |
|
1129 |
-
#: ../classes/settings.php:
|
1130 |
msgid "Get this add-on"
|
1131 |
msgstr ""
|
1132 |
|
1133 |
-
#: ../classes/storage_model.php:
|
1134 |
msgid "settings succesfully restored."
|
1135 |
msgstr ""
|
1136 |
|
@@ -1224,6 +1308,6 @@ msgid ""
|
|
1224 |
"on the support forum."
|
1225 |
msgstr ""
|
1226 |
|
1227 |
-
#: ../codepress-admin-columns.php:
|
1228 |
msgid "Edit columns"
|
1229 |
msgstr ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Codepress Admin Columns\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2014-08-15 09:02+0100\n"
|
6 |
+
"PO-Revision-Date: 2014-08-15 09:02+0100\n"
|
7 |
"Last-Translator: Codepress <info@codepress.nl>\n"
|
8 |
"Language-Team: Codepress <info@codepress.nl>\n"
|
9 |
"Language: en_GB\n"
|
13 |
"X-Poedit-KeywordsList: __;_e\n"
|
14 |
"X-Poedit-Basepath: .\n"
|
15 |
"X-Poedit-SourceCharset: UTF-8\n"
|
16 |
+
"X-Generator: Poedit 1.6.7\n"
|
17 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
18 |
"X-Poedit-SearchPath-0: .\n"
|
19 |
"X-Poedit-SearchPath-1: ..\n"
|
32 |
"seconds!"
|
33 |
msgstr ""
|
34 |
|
35 |
+
#: ../classes/addons.php:141
|
36 |
+
msgid "WooCommerce"
|
37 |
+
msgstr ""
|
38 |
+
|
39 |
+
#: ../classes/addons.php:142
|
40 |
+
msgid ""
|
41 |
+
"Enhance the products, orders and coupons overviews with new columns and "
|
42 |
+
"inline editing."
|
43 |
+
msgstr ""
|
44 |
+
|
45 |
+
#: ../classes/column.php:502
|
46 |
msgid "Thumbnail"
|
47 |
msgstr ""
|
48 |
|
49 |
+
#: ../classes/column.php:503
|
50 |
msgid "Medium"
|
51 |
msgstr ""
|
52 |
|
53 |
+
#: ../classes/column.php:504
|
54 |
msgid "Large"
|
55 |
msgstr ""
|
56 |
|
57 |
+
#: ../classes/column.php:505
|
58 |
msgid "Full"
|
59 |
msgstr ""
|
60 |
|
61 |
+
#: ../classes/column.php:858
|
62 |
msgid "Date Format"
|
63 |
msgstr ""
|
64 |
|
65 |
+
#: ../classes/column.php:859
|
66 |
msgid "This will determine how the date will be displayed."
|
67 |
msgstr ""
|
68 |
|
69 |
+
#: ../classes/column.php:865
|
70 |
msgid "Example:"
|
71 |
msgstr ""
|
72 |
|
73 |
+
#: ../classes/column.php:867
|
74 |
#, php-format
|
75 |
msgid ""
|
76 |
"Leave empty for WordPress date format, change your <a href=\"%s\">default "
|
77 |
"date format here</a>."
|
78 |
msgstr ""
|
79 |
|
80 |
+
#: ../classes/column.php:868
|
81 |
msgid "Documentation on date and time formatting."
|
82 |
msgstr ""
|
83 |
|
84 |
+
#: ../classes/column.php:882
|
85 |
msgid "Excerpt length"
|
86 |
msgstr ""
|
87 |
|
88 |
+
#: ../classes/column.php:883
|
89 |
msgid "Number of words"
|
90 |
msgstr ""
|
91 |
|
92 |
+
#: ../classes/column.php:901
|
93 |
msgid "Preview size"
|
94 |
msgstr ""
|
95 |
|
96 |
+
#: ../classes/column.php:918 ../classes/storage_model.php:515
|
97 |
msgid "Custom"
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: ../classes/column.php:921
|
101 |
msgid "width"
|
102 |
msgstr ""
|
103 |
|
104 |
+
#: ../classes/column.php:924
|
105 |
msgid "height"
|
106 |
msgstr ""
|
107 |
|
108 |
+
#: ../classes/column.php:938
|
109 |
msgid "Before"
|
110 |
msgstr ""
|
111 |
|
112 |
+
#: ../classes/column.php:938
|
113 |
msgid "This text will appear before the custom field value."
|
114 |
msgstr ""
|
115 |
|
116 |
+
#: ../classes/column.php:944
|
117 |
msgid "After"
|
118 |
msgstr ""
|
119 |
|
120 |
+
#: ../classes/column.php:944
|
121 |
msgid "This text will appear after the custom field value."
|
122 |
msgstr ""
|
123 |
|
124 |
+
#: ../classes/column.php:1038 ../classes/column/comment/actions.php:99
|
125 |
+
#: ../classes/column/link/actions.php:48 ../classes/column/post/actions.php:31
|
126 |
#: ../classes/column/user/actions.php:69
|
127 |
msgid "Edit"
|
128 |
msgstr ""
|
129 |
|
130 |
+
#: ../classes/column.php:1039 ../classes/column.php:1117
|
131 |
#: ../classes/column/user/actions.php:77
|
132 |
msgid "Remove"
|
133 |
msgstr ""
|
134 |
|
135 |
+
#: ../classes/column.php:1057
|
136 |
msgid "Type"
|
137 |
msgstr ""
|
138 |
|
139 |
+
#: ../classes/column.php:1057
|
140 |
msgid "Choose a column type."
|
141 |
msgstr ""
|
142 |
|
143 |
+
#: ../classes/column.php:1057 ../classes/column/comment/ID.php:19
|
144 |
#: ../classes/column/link/ID.php:19 ../classes/column/media/ID.php:19
|
145 |
#: ../classes/column/post/ID.php:19
|
146 |
msgid "ID"
|
147 |
msgstr ""
|
148 |
|
149 |
+
#: ../classes/column.php:1067
|
150 |
msgid "Label"
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: ../classes/column.php:1067
|
154 |
msgid "This is the name which will appear as the column header."
|
155 |
msgstr ""
|
156 |
|
157 |
+
#: ../classes/column.php:1074 ../classes/column/media/width.php:19
|
158 |
msgid "Width"
|
159 |
msgstr ""
|
160 |
|
161 |
+
#: ../classes/column.php:1076 ../classes/column.php:1077
|
162 |
msgid "default"
|
163 |
msgstr ""
|
164 |
|
188 |
msgid "Find out more"
|
189 |
msgstr ""
|
190 |
|
191 |
+
#: ../classes/column/actions.php:29 ../classes/column/comment/actions.php:19
|
192 |
#: ../classes/column/link/actions.php:19
|
193 |
#: ../classes/column/media/actions.php:20
|
194 |
+
#: ../classes/column/user/actions.php:19
|
195 |
msgid "Actions"
|
196 |
msgstr ""
|
197 |
|
198 |
+
#: ../classes/column/actions.php:79
|
199 |
+
msgid "Use icons?"
|
200 |
+
msgstr ""
|
201 |
+
|
202 |
+
#: ../classes/column/actions.php:79
|
203 |
+
msgid "Use icons instead of text for displaying the actions."
|
204 |
+
msgstr ""
|
205 |
+
|
206 |
+
#: ../classes/column/actions.php:83 ../classes/column/post/permalink.php:72
|
207 |
+
#: ../classes/column/used-by-menu.php:137
|
208 |
+
msgid "Yes"
|
209 |
+
msgstr ""
|
210 |
+
|
211 |
+
#: ../classes/column/actions.php:87 ../classes/column/post/permalink.php:76
|
212 |
+
#: ../classes/column/used-by-menu.php:141
|
213 |
+
msgid "No"
|
214 |
+
msgstr ""
|
215 |
+
|
216 |
#: ../classes/column/comment/actions.php:76
|
217 |
#: ../classes/column/comment/actions.php:81
|
218 |
msgid "Unapprove"
|
224 |
msgstr ""
|
225 |
|
226 |
#: ../classes/column/comment/actions.php:89
|
227 |
+
#: ../classes/column/post/actions.php:39 ../classes/settings.php:678
|
228 |
msgid "Restore"
|
229 |
msgstr ""
|
230 |
|
231 |
#: ../classes/column/comment/actions.php:93
|
232 |
+
#: ../classes/column/post/actions.php:43
|
233 |
msgid "Delete Permanently"
|
234 |
msgstr ""
|
235 |
|
236 |
#: ../classes/column/comment/actions.php:100
|
237 |
+
#: ../classes/column/post/actions.php:34
|
238 |
msgid "Quick Edit"
|
239 |
msgstr ""
|
240 |
|
247 |
msgstr ""
|
248 |
|
249 |
#: ../classes/column/comment/approved.php:19
|
250 |
+
#: ../classes/column/post/comment-count.php:35
|
251 |
msgid "Approved"
|
252 |
msgstr ""
|
253 |
|
281 |
msgid "Submitted on <a href=\"%1$s\">%2$s at %3$s</a>"
|
282 |
msgstr ""
|
283 |
|
284 |
+
#: ../classes/column/comment/date.php:19 ../classes/column/custom-field.php:70
|
285 |
#: ../classes/settings.php:300
|
286 |
msgid "Date"
|
287 |
msgstr ""
|
288 |
|
289 |
#: ../classes/column/comment/excerpt.php:19
|
290 |
+
#: ../classes/column/custom-field.php:71 ../classes/column/post/excerpt.php:19
|
291 |
#: ../classes/settings.php:297
|
292 |
msgid "Excerpt"
|
293 |
msgstr ""
|
301 |
msgid "Word count"
|
302 |
msgstr ""
|
303 |
|
304 |
+
#: ../classes/column/custom-field.php:23
|
305 |
+
#: ../classes/column/custom-field.php:348 ../classes/settings.php:290
|
306 |
msgid "Custom Field"
|
307 |
msgstr ""
|
308 |
|
309 |
+
#: ../classes/column/custom-field.php:66 ../classes/settings.php:295
|
310 |
+
#: ../classes/storage_model.php:516
|
311 |
msgid "Default"
|
312 |
msgstr ""
|
313 |
|
314 |
+
#: ../classes/column/custom-field.php:67
|
315 |
msgid "Checkmark (true/false)"
|
316 |
msgstr ""
|
317 |
|
318 |
+
#: ../classes/column/custom-field.php:68 ../classes/settings.php:304
|
319 |
msgid "Color"
|
320 |
msgstr ""
|
321 |
|
322 |
+
#: ../classes/column/custom-field.php:69 ../classes/settings.php:305
|
323 |
msgid "Counter"
|
324 |
msgstr ""
|
325 |
|
326 |
+
#: ../classes/column/custom-field.php:72 ../classes/column/link/image.php:19
|
327 |
#: ../classes/settings.php:296
|
328 |
msgid "Image"
|
329 |
msgstr ""
|
330 |
|
331 |
+
#: ../classes/column/custom-field.php:73 ../classes/storage_model/media.php:13
|
332 |
msgid "Media Library"
|
333 |
msgstr ""
|
334 |
|
335 |
+
#: ../classes/column/custom-field.php:74 ../classes/settings.php:298
|
336 |
msgid "Multiple Values"
|
337 |
msgstr ""
|
338 |
|
339 |
+
#: ../classes/column/custom-field.php:75 ../classes/settings.php:299
|
340 |
msgid "Numeric"
|
341 |
msgstr ""
|
342 |
|
343 |
+
#: ../classes/column/custom-field.php:76
|
344 |
msgid "Post Title (Post ID's)"
|
345 |
msgstr ""
|
346 |
|
347 |
+
#: ../classes/column/custom-field.php:77
|
348 |
msgid "Username (User ID's)"
|
349 |
msgstr ""
|
350 |
|
351 |
+
#: ../classes/column/custom-field.php:348
|
352 |
msgid "Select your custom field."
|
353 |
msgstr ""
|
354 |
|
355 |
+
#: ../classes/column/custom-field.php:358
|
356 |
msgid "No custom fields available."
|
357 |
msgstr ""
|
358 |
|
359 |
+
#: ../classes/column/custom-field.php:365
|
360 |
msgid "Field Type"
|
361 |
msgstr ""
|
362 |
|
363 |
+
#: ../classes/column/custom-field.php:365
|
364 |
msgid "This will determine how the value will be displayed."
|
365 |
msgstr ""
|
366 |
|
482 |
msgid "Mime type"
|
483 |
msgstr ""
|
484 |
|
485 |
+
#: ../classes/column/post/actions.php:31
|
486 |
msgid "Edit this item"
|
487 |
msgstr ""
|
488 |
|
489 |
+
#: ../classes/column/post/actions.php:34
|
490 |
msgid "Edit this item inline"
|
491 |
msgstr ""
|
492 |
|
493 |
+
#: ../classes/column/post/actions.php:39
|
494 |
msgid "Restore this item from the Trash"
|
495 |
msgstr ""
|
496 |
|
497 |
+
#: ../classes/column/post/actions.php:41
|
498 |
msgid "Move this item to the Trash"
|
499 |
msgstr ""
|
500 |
|
501 |
+
#: ../classes/column/post/actions.php:41
|
502 |
+
#: ../classes/column/post/comment-count.php:38
|
503 |
#: ../classes/column/post/status.php:41
|
504 |
msgid "Trash"
|
505 |
msgstr ""
|
506 |
|
507 |
+
#: ../classes/column/post/actions.php:43
|
508 |
msgid "Delete this item permanently"
|
509 |
msgstr ""
|
510 |
|
511 |
+
#: ../classes/column/post/actions.php:48
|
512 |
#, php-format
|
513 |
msgid "Preview “%s”"
|
514 |
msgstr ""
|
515 |
|
516 |
+
#: ../classes/column/post/actions.php:48
|
517 |
msgid "Preview"
|
518 |
msgstr ""
|
519 |
|
520 |
+
#: ../classes/column/post/actions.php:50
|
521 |
#, php-format
|
522 |
msgid "View “%s”"
|
523 |
msgstr ""
|
524 |
|
525 |
+
#: ../classes/column/post/actions.php:50 ../classes/storage_model.php:724
|
526 |
msgid "View"
|
527 |
msgstr ""
|
528 |
|
534 |
msgid "Attachment"
|
535 |
msgstr ""
|
536 |
|
537 |
+
#: ../classes/column/post/author-name.php:20
|
538 |
msgid "Display Author As"
|
539 |
msgstr ""
|
540 |
|
541 |
+
#: ../classes/column/post/author-name.php:40
|
542 |
msgid "Display Name"
|
543 |
msgstr ""
|
544 |
|
545 |
+
#: ../classes/column/post/author-name.php:41
|
546 |
msgid "First Name"
|
547 |
msgstr ""
|
548 |
|
549 |
+
#: ../classes/column/post/author-name.php:42
|
550 |
msgid "Last Name"
|
551 |
msgstr ""
|
552 |
|
553 |
+
#: ../classes/column/post/author-name.php:43
|
554 |
#: ../classes/column/user/nickname.php:19
|
555 |
msgid "Nickname"
|
556 |
msgstr ""
|
557 |
|
558 |
+
#: ../classes/column/post/author-name.php:44
|
559 |
msgid "User Login"
|
560 |
msgstr ""
|
561 |
|
562 |
+
#: ../classes/column/post/author-name.php:45
|
563 |
msgid "User Email"
|
564 |
msgstr ""
|
565 |
|
566 |
+
#: ../classes/column/post/author-name.php:46 ../classes/column/user/ID.php:19
|
567 |
msgid "User ID"
|
568 |
msgstr ""
|
569 |
|
570 |
+
#: ../classes/column/post/author-name.php:47
|
571 |
msgid "First and Last Name"
|
572 |
msgstr ""
|
573 |
|
574 |
+
#: ../classes/column/post/author-name.php:124
|
575 |
msgid "This is the format of the author name."
|
576 |
msgstr ""
|
577 |
|
579 |
msgid "Before More Tag"
|
580 |
msgstr ""
|
581 |
|
582 |
+
#: ../classes/column/post/comment-count.php:20
|
583 |
msgid "Comment count"
|
584 |
msgstr ""
|
585 |
|
586 |
+
#: ../classes/column/post/comment-count.php:34
|
587 |
msgid "Total"
|
588 |
msgstr ""
|
589 |
|
590 |
+
#: ../classes/column/post/comment-count.php:36
|
591 |
msgid "Pending"
|
592 |
msgstr ""
|
593 |
|
594 |
+
#: ../classes/column/post/comment-count.php:37
|
595 |
msgid "Spam"
|
596 |
msgstr ""
|
597 |
|
598 |
+
#: ../classes/column/post/comment-count.php:99
|
599 |
+
#: ../classes/column/post/comment-status.php:20
|
600 |
msgid "Comment status"
|
601 |
msgstr ""
|
602 |
|
603 |
+
#: ../classes/column/post/comment-count.php:99
|
604 |
msgid "Select which comment status you like to display."
|
605 |
msgstr ""
|
606 |
|
628 |
msgid "Parent"
|
629 |
msgstr ""
|
630 |
|
631 |
+
#: ../classes/column/post/path.php:19
|
632 |
+
msgid "Path"
|
633 |
+
msgstr ""
|
634 |
+
|
635 |
#: ../classes/column/post/permalink.php:19
|
636 |
msgid "Permalink"
|
637 |
msgstr ""
|
644 |
msgid "This will make the permalink clickable."
|
645 |
msgstr ""
|
646 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
647 |
#: ../classes/column/post/ping-status.php:19
|
648 |
msgid "Ping status"
|
649 |
msgstr ""
|
688 |
msgid "Sticky"
|
689 |
msgstr ""
|
690 |
|
691 |
+
#: ../classes/column/post/title-raw.php:19
|
692 |
+
msgid "Title without actions"
|
693 |
+
msgstr ""
|
694 |
+
|
695 |
+
#: ../classes/column/taxonomy.php:20 ../classes/column/taxonomy.php:79
|
696 |
msgid "Taxonomy"
|
697 |
msgstr ""
|
698 |
|
699 |
+
#: ../classes/column/used-by-menu.php:20
|
700 |
+
msgid "Used by Menu"
|
701 |
+
msgstr ""
|
702 |
+
|
703 |
+
#: ../classes/column/used-by-menu.php:133
|
704 |
+
msgid "Link to menu"
|
705 |
+
msgstr ""
|
706 |
+
|
707 |
+
#: ../classes/column/used-by-menu.php:133
|
708 |
+
msgid "This will make the title link to the menu."
|
709 |
+
msgstr ""
|
710 |
+
|
711 |
#: ../classes/column/user/comment-count.php:19
|
712 |
msgid "Comment Count"
|
713 |
msgstr ""
|
748 |
msgid "Admin Columns Settings"
|
749 |
msgstr ""
|
750 |
|
751 |
+
#: ../classes/settings.php:155 ../classes/settings.php:610
|
752 |
#: ../classes/upgrade.php:121
|
753 |
msgid "Admin Columns"
|
754 |
msgstr ""
|
1025 |
msgid "Customize your Admin Columns settings."
|
1026 |
msgstr ""
|
1027 |
|
1028 |
+
#: ../classes/settings.php:537
|
1029 |
msgid ""
|
1030 |
+
"Show \"Edit Columns\" button on admin screens. Default is <code>on</code>."
|
1031 |
msgstr ""
|
1032 |
|
1033 |
+
#: ../classes/settings.php:544 ../classes/settings.php:673
|
1034 |
msgid "Save"
|
1035 |
msgstr ""
|
1036 |
|
1037 |
+
#: ../classes/settings.php:584
|
1038 |
msgid "Restore Settings"
|
1039 |
msgstr ""
|
1040 |
|
1041 |
+
#: ../classes/settings.php:585
|
1042 |
msgid "This will delete all column settings and restore the default settings."
|
1043 |
msgstr ""
|
1044 |
|
1045 |
+
#: ../classes/settings.php:591
|
1046 |
msgid "Restore default settings"
|
1047 |
msgstr ""
|
1048 |
|
1049 |
+
#: ../classes/settings.php:591
|
1050 |
msgid ""
|
1051 |
"Warning! ALL saved admin columns data will be deleted. This cannot be "
|
1052 |
"undone. \\'OK\\' to delete, \\'Cancel\\' to stop"
|
1053 |
msgstr ""
|
1054 |
|
1055 |
+
#: ../classes/settings.php:611 ../codepress-admin-columns.php:387
|
1056 |
msgid "Settings"
|
1057 |
msgstr ""
|
1058 |
|
1059 |
+
#: ../classes/settings.php:612
|
1060 |
msgid "Add-ons"
|
1061 |
msgstr ""
|
1062 |
|
1063 |
+
#: ../classes/settings.php:638
|
1064 |
msgid "Posttypes"
|
1065 |
msgstr ""
|
1066 |
|
1067 |
+
#: ../classes/settings.php:639
|
1068 |
msgid "Others"
|
1069 |
msgstr ""
|
1070 |
|
1071 |
+
#: ../classes/settings.php:640
|
1072 |
msgid "Taxonomies"
|
1073 |
msgstr ""
|
1074 |
|
1075 |
+
#: ../classes/settings.php:659
|
1076 |
#, php-format
|
1077 |
msgid ""
|
1078 |
"The columns for <strong>%s</strong> are set up via PHP and can therefore not "
|
1079 |
"be edited in the admin panel."
|
1080 |
msgstr ""
|
1081 |
|
1082 |
+
#: ../classes/settings.php:669
|
1083 |
msgid "Store settings"
|
1084 |
msgstr ""
|
1085 |
|
1086 |
+
#: ../classes/settings.php:673
|
1087 |
msgid "Update"
|
1088 |
msgstr ""
|
1089 |
|
1090 |
+
#: ../classes/settings.php:677
|
1091 |
#, php-format
|
1092 |
msgid ""
|
1093 |
"Warning! The %s columns data will be deleted. This cannot be undone. \\'OK"
|
1094 |
"\\' to delete, \\'Cancel\\' to stop"
|
1095 |
msgstr ""
|
1096 |
|
1097 |
+
#: ../classes/settings.php:678
|
1098 |
msgid "columns"
|
1099 |
msgstr ""
|
1100 |
|
1101 |
+
#: ../classes/settings.php:697
|
1102 |
msgid "Get Admin Columns Pro"
|
1103 |
msgstr ""
|
1104 |
|
1105 |
+
#: ../classes/settings.php:701
|
1106 |
msgid "Add Sorting"
|
1107 |
msgstr ""
|
1108 |
|
1109 |
+
#: ../classes/settings.php:702
|
1110 |
msgid "Add Filtering"
|
1111 |
msgstr ""
|
1112 |
|
1113 |
+
#: ../classes/settings.php:703
|
1114 |
msgid "Add Import/Export"
|
1115 |
msgstr ""
|
1116 |
|
1117 |
+
#: ../classes/settings.php:704
|
1118 |
msgid "Add Direct Editing"
|
1119 |
msgstr ""
|
1120 |
|
1121 |
+
#: ../classes/settings.php:707
|
1122 |
#, php-format
|
1123 |
msgid "Check out <a href=\"%s\">Admin Columns Pro</a> for more details!"
|
1124 |
msgstr ""
|
1125 |
|
1126 |
+
#: ../classes/settings.php:738
|
1127 |
+
msgid "Are you happy with Admin Columns?"
|
1128 |
+
msgstr ""
|
1129 |
+
|
1130 |
+
#: ../classes/settings.php:746
|
1131 |
+
msgid "What's wrong? Need help? Let us know!"
|
1132 |
+
msgstr ""
|
1133 |
+
|
1134 |
#: ../classes/settings.php:747
|
1135 |
+
msgid ""
|
1136 |
+
"Check out our extensive documentation, or you can open a support topic on "
|
1137 |
+
"WordPress.org!"
|
1138 |
+
msgstr ""
|
1139 |
+
|
1140 |
+
#: ../classes/settings.php:755
|
1141 |
+
msgid "Docs"
|
1142 |
+
msgstr ""
|
1143 |
+
|
1144 |
+
#: ../classes/settings.php:760
|
1145 |
+
msgid "Forums"
|
1146 |
+
msgstr ""
|
1147 |
+
|
1148 |
+
#: ../classes/settings.php:769
|
1149 |
+
msgid "Woohoo! We're glad to hear that!"
|
1150 |
+
msgstr ""
|
1151 |
+
|
1152 |
+
#: ../classes/settings.php:770
|
1153 |
+
msgid ""
|
1154 |
+
"We would really love it if you could show your appreciation by giving us a "
|
1155 |
+
"rating on WordPress.org or tweet about Admin Columns!"
|
1156 |
+
msgstr ""
|
1157 |
+
|
1158 |
+
#: ../classes/settings.php:774
|
1159 |
+
msgid "Rate"
|
1160 |
+
msgstr ""
|
1161 |
+
|
1162 |
+
#: ../classes/settings.php:785
|
1163 |
+
msgid "Tweet"
|
1164 |
+
msgstr ""
|
1165 |
+
|
1166 |
+
#: ../classes/settings.php:795
|
1167 |
+
msgid "Buy Pro"
|
1168 |
+
msgstr ""
|
1169 |
+
|
1170 |
+
#: ../classes/settings.php:807
|
1171 |
msgid "Support"
|
1172 |
msgstr ""
|
1173 |
|
1174 |
+
#: ../classes/settings.php:810
|
1175 |
msgid "Check the <strong>Help</strong> section in the top-right screen."
|
1176 |
msgstr ""
|
1177 |
|
1178 |
+
#: ../classes/settings.php:813
|
1179 |
#, php-format
|
1180 |
msgid ""
|
1181 |
"For full documentation, bug reports, feature suggestions and other tips <a "
|
1182 |
"href='%s'>visit the Admin Columns website</a>"
|
1183 |
msgstr ""
|
1184 |
|
1185 |
+
#: ../classes/settings.php:842
|
1186 |
msgid "Drag and drop to reorder"
|
1187 |
msgstr ""
|
1188 |
|
1189 |
+
#: ../classes/settings.php:845
|
1190 |
msgid "Add Column"
|
1191 |
msgstr ""
|
1192 |
|
1193 |
+
#: ../classes/settings.php:921
|
1194 |
msgid "Active"
|
1195 |
msgstr ""
|
1196 |
|
1197 |
+
#: ../classes/settings.php:922
|
1198 |
msgid "Deactivate"
|
1199 |
msgstr ""
|
1200 |
|
1201 |
+
#: ../classes/settings.php:929
|
1202 |
msgid "Installed"
|
1203 |
msgstr ""
|
1204 |
|
1205 |
+
#: ../classes/settings.php:930
|
1206 |
msgid "Activate"
|
1207 |
msgstr ""
|
1208 |
|
1209 |
+
#: ../classes/settings.php:944
|
1210 |
msgid "Download & Install"
|
1211 |
msgstr ""
|
1212 |
|
1213 |
+
#: ../classes/settings.php:949
|
1214 |
msgid "Get this add-on"
|
1215 |
msgstr ""
|
1216 |
|
1217 |
+
#: ../classes/storage_model.php:213
|
1218 |
msgid "settings succesfully restored."
|
1219 |
msgstr ""
|
1220 |
|
1308 |
"on the support forum."
|
1309 |
msgstr ""
|
1310 |
|
1311 |
+
#: ../codepress-admin-columns.php:474
|
1312 |
msgid "Edit columns"
|
1313 |
msgstr ""
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: codepress, tschutter, davidmosterd, engelen
|
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ZDZRSYLQ4Z76J
|
4 |
Tags: plugins, wordpress, admin, column, columns, custom columns, custom fields, image, dashboard, sortable, filters, posts, media, users, pages, posttypes, manage columns, wp-admin
|
5 |
Requires at least: 3.5
|
6 |
-
Tested up to: 3.9.
|
7 |
-
Stable tag: 2.2.
|
8 |
|
9 |
Customise columns on the administration screens for post(types), pages, media, comments, links and users with an easy to use drag-and-drop interface.
|
10 |
|
@@ -248,6 +248,12 @@ You can find a list of the available actions and filters (and examples on how to
|
|
248 |
|
249 |
== Changelog ==
|
250 |
|
|
|
|
|
|
|
|
|
|
|
|
|
251 |
= 2.2.5.1 =
|
252 |
* [Fixed] Unavailable included JS-file on editing pages
|
253 |
|
3 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ZDZRSYLQ4Z76J
|
4 |
Tags: plugins, wordpress, admin, column, columns, custom columns, custom fields, image, dashboard, sortable, filters, posts, media, users, pages, posttypes, manage columns, wp-admin
|
5 |
Requires at least: 3.5
|
6 |
+
Tested up to: 3.9.2
|
7 |
+
Stable tag: 2.2.6
|
8 |
|
9 |
Customise columns on the administration screens for post(types), pages, media, comments, links and users with an easy to use drag-and-drop interface.
|
10 |
|
248 |
|
249 |
== Changelog ==
|
250 |
|
251 |
+
= 2.2.6 =
|
252 |
+
* [Changed] Display "edit columns" button by default
|
253 |
+
* [Improved] Improved memory usage by only loading columns for the current screen
|
254 |
+
* [Changed] Removed floatHead library
|
255 |
+
* [Updated] Only display ACF placeholder with ACF active.
|
256 |
+
|
257 |
= 2.2.5.1 =
|
258 |
* [Fixed] Unavailable included JS-file on editing pages
|
259 |
|